/* CMM site header (all pages), styled like the CMM Translation theme 1.1.27 */
.cmm-hdr { position: sticky; top: 0; z-index: 45; background: rgba(255,255,255,.98); border-bottom: 1px solid #E4E0D6; transition: box-shadow .35s ease, background .35s ease; font-family: 'Plus Jakarta Sans', system-ui, -apple-system, 'Segoe UI', sans-serif; }
.admin-bar .cmm-hdr { top: 32px; }
.cmm-hdr.scrolled { box-shadow: 0 6px 24px rgba(14,63,95,.12); background: rgba(255,255,255,.94); -webkit-backdrop-filter: saturate(1.4) blur(10px); backdrop-filter: saturate(1.4) blur(10px); }
.cmm-hdr-in { max-width: 1280px; margin: 0 auto; padding: 0 32px; height: 84px; display: flex; align-items: center; justify-content: space-between; gap: 24px; transition: height .35s ease; }
.cmm-hdr.scrolled .cmm-hdr-in { height: 68px; }
.cmm-logo { display: flex; align-items: center; flex-shrink: 0; }
.cmm-logo img { height: 52px; width: auto; display: block; transition: height .35s ease; }
.cmm-hdr.scrolled .cmm-logo img { height: 42px; }
.cmm-nav { flex: 1; display: flex; justify-content: center; }
.cmm-menu { display: flex; align-items: center; gap: 30px; list-style: none; margin: 0; padding: 0; }
.cmm-menu li { position: relative; list-style: none; }
.cmm-menu a { display: block; padding: 8px 0; color: #4A5563; font-size: 15px; font-weight: 500; text-decoration: none; text-transform: none; border-bottom: 2px solid transparent; transition: color .2s, border-color .2s; }
.cmm-menu a:hover { color: #156496; }
.cmm-menu .current-menu-item > a, .cmm-menu .current_page_item > a, .cmm-menu .current-menu-ancestor > a, .cmm-menu .current_page_parent > a { color: #156496; font-weight: 700; border-bottom-color: #156496; }
.cmm-menu .sub-menu { position: absolute; top: 100%; left: -16px; min-width: 220px; list-style: none; margin: 0; padding: 8px; background: #fff; border: 1px solid #E4E0D6; border-radius: 12px; box-shadow: 0 12px 30px rgba(14,63,95,.12); opacity: 0; visibility: hidden; transform: translateY(6px); transition: .2s ease; display: block; }
.cmm-menu li:hover > .sub-menu, .cmm-menu li:focus-within > .sub-menu { opacity: 1; visibility: visible; transform: none; }
.cmm-menu .sub-menu a { padding: 8px 10px; border: 0; border-radius: 8px; }
.cmm-menu .sub-menu a:hover { background: #F7F5F0; }
.cmm-hdr-r { display: flex; align-items: center; gap: 20px; flex-shrink: 0; }
.cmm-menu-r a { font-weight: 600; color: #0B7F6E; }
.cmm-hdr-cta { display: inline-flex; align-items: center; height: 46px; padding: 0 22px; border-radius: 999px; background: #156496; color: #fff !important; font-size: 15px; font-weight: 600; text-decoration: none; white-space: nowrap; transition: background .2s, height .35s ease; }
.cmm-hdr-cta:hover { background: #0E3F5F; }
.cmm-hdr.scrolled .cmm-hdr-cta { height: 40px; }
.cmm-burger { display: none; width: 44px; height: 44px; align-items: center; justify-content: center; border-radius: 10px; color: #17212B; }
.cmm-hdr :focus-visible { outline: 3px solid #FDB72F; outline-offset: 2px; }
@media (max-width: 1180px) {
	.cmm-menu { gap: 20px; }
	.cmm-menu-r { display: none; }
}
@media (max-width: 1023px) {
	.cmm-nav, .cmm-menu-r, .cmm-hdr-cta { display: none; }
	.cmm-burger { display: inline-flex; }
	.cmm-hdr-in { height: 68px; padding: 0 16px; }
	.cmm-logo img { height: 42px; }
}
/* the mobile menu panel of this theme sits above the sticky header */
#mobile-menu { z-index: 60; }

/* Footer, layout like theme 1.1.27 in a light palette */
.cmm-foot { background: #F7F5F0; border-top: 1px solid #E4E0D6; color: #4A5563; font-family: 'Plus Jakarta Sans', system-ui, -apple-system, 'Segoe UI', sans-serif; font-size: 15px; line-height: 1.7; }
.cmm-foot-top, .cmm-foot-bot { max-width: 1280px; margin: 0 auto; padding-left: 32px; padding-right: 32px; }
.cmm-foot-top { display: grid; grid-template-columns: minmax(0, 1.4fr) repeat(3, minmax(0, 1fr)); gap: 48px; padding-top: 64px; padding-bottom: 48px; }
.cmm-foot-top > div { min-width: 0; }
.cmm-foot-h { color: #17212B; font-size: 16px; font-weight: 700; margin: 0 0 12px; }
.cmm-foot a { color: #4A5563; text-decoration: none; display: block; transition: color .2s; }
.cmm-foot a:hover { color: #156496; }
.cmm-foot-menu { list-style: none; margin: 0; padding: 0; }
.cmm-foot-menu li { list-style: none; }
.cmm-foot-logo { display: inline-block !important; margin-bottom: 18px; }
.cmm-foot-logo img { height: 64px; width: auto; display: block; }
.cmm-foot-brand p { margin: 0; max-width: 34ch; }
.cmm-foot-soc { display: flex; flex-wrap: wrap; gap: 16px; margin-top: 14px; }
.cmm-foot-soc a { font-weight: 600; color: #0B7F6E; }
.cmm-foot-addr { display: block; margin-top: 6px; font-size: 14px; }
.cmm-foot-bot { border-top: 1px solid #E4E0D6; padding-top: 20px; padding-bottom: 24px; display: flex; justify-content: space-between; gap: 16px; font-size: 14px; color: #6B7480; }
.cmm-foot-bot { width: calc(100% - 64px); max-width: 1216px; margin: 0 auto; padding-left: 0; padding-right: 0; }
@media (max-width: 1100px) { .cmm-foot-top { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 700px) {
	.cmm-foot-top { grid-template-columns: minmax(0, 1fr); gap: 28px; padding: 40px 16px 32px; }
	.cmm-foot-bot { flex-direction: column; width: calc(100% - 32px); }
}
