/* The desktop menu is anchored to the header container so it fits the viewport. */
.site-header .nav{position:relative}.nav-services{position:static}.nav-dropdown.has-current>summary,.links>a[aria-current=page]:not(.button){color:#ffac84}.links>a[aria-current=page]:not(.button){position:relative}.links>a[aria-current=page]:not(.button):after{content:'';position:absolute;left:0;right:0;height:2px;background:#ffac84;bottom:-10px;border-radius:2px}
.service-menu.service-mega-menu{width:auto;left:32px;right:32px;top:100%;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr) minmax(220px,.83fr);gap:26px;padding:27px 30px 30px;border-radius:0 0 16px 16px;border-top:3px solid var(--orange);box-shadow:0 24px 60px #071a2938}
.mega-menu-heading{grid-column:1/-1;display:flex;justify-content:space-between;align-items:center;gap:24px;padding:0 0 20px;border-bottom:1px solid var(--design-border)}.service-menu .mega-menu-heading .menu-hub{padding:0;margin:0;border:0;border-radius:0;font-size:16px;color:var(--ink);line-height:1.5;display:flex;align-items:center;gap:12px}.mega-menu-heading .menu-hub>span{color:#b13d11;margin:0;font-size:20px}.mega-menu-heading p{margin:0;font-size:12px;font-weight:400;color:var(--muted);max-width:440px;line-height:1.65}
.mega-service-group{min-width:0}.mega-group-label{font-size:10px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);margin:0 0 10px;padding-left:12px}.service-menu .mega-service-link{display:block;padding:13px 12px;border:1px solid transparent;margin:0 0 5px}.mega-service-link strong{font-size:13px;font-weight:600;line-height:1.5}.service-menu .mega-service-link span{font-size:11px;line-height:1.6;margin-top:4px;letter-spacing:0}.service-menu .mega-service-link:hover,.service-menu .mega-service-link[aria-current=page]{background:var(--soft);border-color:var(--design-border)}.service-menu .mega-service-link[aria-current=page] strong{color:#b13d11}
.mega-planning-card{padding:25px 23px;background:var(--soft);border:1px solid var(--design-border);border-radius:12px;align-self:stretch}.mega-planning-card .eyebrow{margin-bottom:13px;font-size:9px;color:#a23a12}.mega-planning-card h2{font-size:23px;margin:0 0 15px;line-height:1.25}.mega-planning-card p{font-size:12px;font-weight:400;color:var(--muted);margin:0 0 22px;line-height:1.75}.service-menu .mega-planning-card .button{padding:11px 13px;min-height:43px;width:100%;gap:10px;border-radius:5px;font-size:11px;line-height:1.6;color:white}.service-menu .mega-planning-card .button:hover{background:#b93b0b}.service-menu .mega-planning-card .button>span{color:inherit;margin:0;font-size:15px}.service-menu .mega-planner-link{display:block;font-size:11px;font-weight:500;line-height:1.7;padding:0;border-radius:0;margin-top:20px;color:var(--ink)}.service-menu .mega-planner-link>span{display:inline;font-size:13px;margin-left:5px;color:#a23a12}.service-menu .mega-planner-link:hover{background:transparent;color:#a23a12}
.nav-resources{position:static}.links>a.has-current:not(.button){color:#ffac84}
.resource-menu.resource-mega-menu{width:auto;left:32px;right:32px;top:100%;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr) minmax(220px,.83fr);gap:26px;padding:27px 30px 30px;border-top:3px solid var(--orange);border-radius:0 0 16px 16px;box-shadow:0 24px 60px #071a2938}
.resource-menu .mega-menu-heading .menu-hub{padding:0;margin:0;border:0;border-radius:0;font-size:16px;font-weight:600;color:var(--ink);line-height:1.5;display:flex;align-items:center;gap:12px}.resource-menu .mega-menu-heading .menu-hub>span{font-size:20px;color:#b13d11;margin:0}
.mega-resource-group{min-width:0}.resource-menu .mega-resource-link{padding:13px 12px;border:1px solid transparent;margin:0 0 5px}.mega-resource-link strong,.mega-resource-link span{display:block}.mega-resource-link strong{font-size:13px;font-weight:600;line-height:1.5}.mega-resource-link span{font-size:11px;line-height:1.6;color:var(--muted);margin-top:4px}.resource-menu .mega-resource-link:hover,.resource-menu .mega-resource-link[aria-current=page]{background:var(--soft);border-color:var(--design-border)}.mega-resource-link[aria-current=page] strong{color:#b13d11}
.mega-resource-card{padding:25px 23px;background:var(--soft);border:1px solid var(--design-border);border-radius:12px;align-self:stretch}.mega-resource-card .eyebrow{margin-bottom:13px;font-size:9px;color:#a23a12}.mega-resource-card h2{font-size:23px;margin:0 0 15px;line-height:1.25}.mega-resource-card p{font-size:12px;font-weight:400;color:var(--muted);margin:0 0 22px;line-height:1.75}.resource-menu .mega-resource-card .button{display:flex;padding:11px 13px;min-height:43px;gap:10px;font-size:11px;line-height:1.6;font-weight:600;color:white}.resource-menu .mega-resource-card .button:hover{background:#b93b0b}.mega-resource-card .button>span{font-size:15px}.resource-menu .mega-resource-contact{font-size:11px;font-weight:500;line-height:1.7;padding:0;margin-top:20px;border-radius:0;color:var(--ink)}.resource-menu .mega-resource-contact>span{color:#a23a12;margin-left:5px}.resource-menu .mega-resource-contact:hover{background:transparent;color:#a23a12}
.header-chat-links{display:none}
@media(min-width:1101px){.service-menu.service-mega-menu,.resource-menu.resource-mega-menu{max-height:calc(100dvh - 118px);overflow-y:auto;overscroll-behavior:contain;scroll-padding-block:18px;scrollbar-gutter:stable}.nav-dropdown summary:focus-visible{outline:3px solid var(--orange);outline-offset:5px;border-radius:3px}}
.skip-link:focus{position:fixed;clip:auto;overflow:visible;width:auto;height:auto;top:12px;left:12px;padding:10px 16px;background:white;color:var(--ink);z-index:200;border-radius:5px;box-shadow:var(--design-shadow)}
@media(min-width:1101px) and (max-width:1200px){.links{gap:15px;font-size:11px}.nav-dropdown summary{font-size:11px}.site-header .brand{font-size:13px}.links .button{font-size:11px;padding-inline:13px}.service-menu.service-mega-menu,.resource-menu.resource-mega-menu{gap:20px;padding:24px}.mega-planning-card,.mega-resource-card{padding:22px 19px}}
@media(max-width:1100px){.mobile-nav .mobile-service-links{display:block;padding:16px 0 0}.mobile-service-group{margin:22px 0}.mobile-service-group>p{font-size:10px;letter-spacing:.12em;text-transform:uppercase;font-weight:600;color:#ffac84;margin:0 0 12px;padding-inline:14px}.mobile-service-group a{display:block;margin:6px 0;padding:12px 14px;border:1px solid transparent}.mobile-service-group strong{font-size:12px;font-weight:500;line-height:1.6}.mobile-service-group span{display:block;font-size:10px;line-height:1.6;color:#aebfce;margin-top:3px}.mobile-service-links .mobile-services-hub{display:flex;justify-content:space-between;align-items:center;font-size:12px;background:transparent;border:1px solid #ffffff25;color:white;padding:12px 14px}.mobile-service-links .mobile-service-finder{display:flex;justify-content:space-between;font-size:12px;background:#ffac8412;color:#ffac84;border:1px solid #ffac8430;padding:12px 14px}.mobile-nav a[aria-current=page]:not(.button){color:#ffac84}.mobile-service-group a[aria-current=page]{border-color:#ffac8460;background:#ffac8412}.mobile-service-group a[aria-current=page] span{color:#d2dfea}.mobile-services[open]>summary{color:#ffac84}}
@media print{.skip-link{display:none}}
@media(max-width:1100px){.mobile-nav.open{scroll-padding-top:90px}.mobile-nav.open .mobile-nav-top{position:sticky;top:0;z-index:2;background:var(--navy)}}
@media(max-width:1100px){
    .header-chat-links{display:flex;align-items:center;gap:6px;margin-left:auto;flex-shrink:0}.header-chat-links .button{min-height:38px;padding:8px 10px;font-size:10px;gap:4px;white-space:nowrap}.site-header:has(.mobile-nav.open) .header-chat-links{visibility:hidden}
    .mobile-resource-links{padding:16px 0 0}.mobile-resource-group{margin:22px 0}.mobile-resource-group>p{font-size:10px;letter-spacing:.12em;text-transform:uppercase;font-weight:600;color:#ffac84;margin:0 0 12px;padding-inline:14px}.mobile-resource-group a{display:block;margin:6px 0;padding:12px 14px;border:1px solid transparent;border-radius:6px;background:#ffffff08}.mobile-resource-group strong{font-size:12px;font-weight:500;line-height:1.6}.mobile-resource-group span{display:block;font-size:10px;line-height:1.6;color:#aebfce;margin-top:3px}.mobile-resource-group a[aria-current=page]{color:#ffac84;border-color:#ffac8460;background:#ffac8412}.mobile-resource-group a[aria-current=page] span{color:#d2dfea}.mobile-resources.has-current>summary,.mobile-resources[open]>summary,.mobile-nav>a.has-current{color:#ffac84}.mobile-chat-links{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:24px}.mobile-chat-links .button{font-size:12px;padding:14px 10px;min-width:0}.mobile-services>summary:focus-visible,.mobile-resources>summary:focus-visible{outline:3px solid var(--orange);outline-offset:5px;border-radius:3px}
}
@media(max-width:760px){
    html{scroll-padding-top:128px}.site-header .nav{flex-wrap:wrap;row-gap:10px;padding-block:12px}.site-header .brand{max-width:none;flex:1;font-size:12px}.menu-button{order:2;min-height:40px;font-size:12px;padding-inline:12px}.header-chat-links{order:3;width:100%;margin:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.header-chat-links .button{min-height:40px;padding:9px 12px;font-size:12px;gap:6px}
}
@media print{.header-chat-links{display:none!important}}

/* Coordinate the smile identity with the site's navy palette. */
.topbar{background:#0b2035;color:#cedbe5}
.site-header{background:var(--navy);color:#fff;border-bottom:1px solid #ffffff18}
.site-header .brand small{color:#c6d5e1}
.site-header .menu-button{color:#fff;border-color:#ffffff45}
.site-header .header-chat-links .button.secondary,.site-header .links .button.secondary{color:#fff;border-color:#aebfce}

/* Use actual sticky-header geometry for anchors and desktop reading rails. */
html{scroll-padding-top:calc(var(--mcw-header-height,90px) + 16px)}
#main:focus-visible{outline:3px solid var(--orange);outline-offset:-3px}
@media(min-width:901px){
 body .reading-sidebar,body.planning-page .planning-sidebar-inner{top:calc(var(--mcw-header-height,90px) + 16px);max-height:calc(100dvh - var(--mcw-header-height,90px) - 40px)}
}
@media(max-width:1100px){
 .site-header .header-chat-links .button{min-height:48px}
 .mobile-nav .mobile-close{min-height:48px;min-width:48px}
}

/* Consistent navigation rhythm and compact, balanced footer groups. */
.site-header .nav{column-gap:24px}
.links{margin-left:auto;gap:18px}
.links>a:not(.button),.links>.nav-dropdown>summary{min-height:44px;display:flex;align-items:center;white-space:nowrap;position:relative}
.links>.nav-dropdown>summary{gap:7px}
.links .button{min-width:100px;justify-content:center;border-radius:6px}
.links>a[aria-current=page]:not(.button):after,.links>a.has-current:not(.button):after,.links>.has-current>summary:before{content:'';position:absolute;left:0;right:0;bottom:2px;height:2px;background:#ffac84;border-radius:2px}
.links>.nav-dropdown>summary:after{color:#bdccda;transition:transform .2s}
.links>.nav-dropdown[open]>summary:after{transform:rotate(180deg)}
.site-header a:focus-visible,.footer a:focus-visible,.menu-button:focus-visible,.mobile-close:focus-visible{outline:2px solid #ffac84;outline-offset:4px;border-radius:4px}
.service-menu.service-mega-menu,.resource-menu.resource-mega-menu{border-top-width:2px;padding:24px;gap:22px;max-height:calc(100dvh - var(--mcw-header-height,90px) - 28px)}
.footer{background:var(--navy);padding-block:48px 22px}
.footer-grid{grid-template-columns:minmax(220px,1.4fr) minmax(130px,.85fr) minmax(165px,1.1fr) minmax(130px,.85fr) minmax(155px,1fr);gap:28px}
.footer .footer-brand-name{font-size:16px;white-space:normal}
.footer .footer-brand .mark{width:44px;height:44px}
.footer .footer-brand p{font-size:13px;line-height:1.8;color:#bdccda;max-width:285px;margin:18px 0 14px}
.footer .footer-location{display:block;font-size:12px;color:#bdccda}
.footer .footer-service-hub{display:inline-block;margin:12px 0 0;font-size:12px;color:#ffac84;text-decoration:underline;text-underline-offset:4px}
.footer .footer-nav h3{font-size:12px;line-height:1.5;letter-spacing:.04em;margin:3px 0 14px;color:#fff}
.footer-nav ul{gap:4px}
.footer .footer-nav a{display:inline-block;padding-block:5px;margin:0;font-size:13px;line-height:1.65;color:#bdccda}
.footer .footer-nav a:hover,.footer .footer-nav a[aria-current=page],.footer .footer-legal-nav a[aria-current=page]{color:#ffac84}
.footer .footer-nav a[aria-current=page]{text-decoration:underline;text-underline-offset:5px}
.footer-contact{margin-top:32px;padding-block:26px;gap:32px}
.footer .footer-contact-intro h3{font-size:24px;line-height:1.35;letter-spacing:-.025em}
.footer .footer-contact-intro p{font-size:13px;line-height:1.8;color:#bdccda;max-width:440px}
.footer-qr-links{grid-template-columns:repeat(2,148px);gap:16px}
.footer .footer-qr-card{border-radius:10px;padding:10px 10px 12px;gap:6px;background:#ffffff04}
.footer-qr-card img{object-fit:contain;margin-bottom:4px}
.footer .footer-qr-card>small{font-size:10px;line-height:1.5;color:#bdccda;font-weight:400;letter-spacing:0}
.footer .footer-legal-nav{display:flex;flex-wrap:wrap;gap:8px 24px;margin:0;padding:18px 0 8px;border:0}
.footer .footer-legal-nav a{font-size:11px;line-height:1.6;color:#bdccda;padding-block:4px;margin:0}
.footer .footer-bottom{padding-top:8px;margin-top:0;gap:12px}
.footer .footer-bottom,.footer .footer-bottom a{font-size:10px;line-height:1.7;color:#bdccda}
.footer .footer-bottom a{margin:0;padding-block:4px}
.footer .footer-bottom a:hover,.footer .footer-legal-nav a:hover{color:#fff}
@media(min-width:1101px) and (max-width:1300px){
 .site-header .nav{column-gap:16px}.links{gap:13px}.links .button{min-width:88px;padding-inline:12px}.site-header .brand-wordmark{font-size:16px}
 .footer-grid{gap:22px;grid-template-columns:minmax(190px,1.2fr) minmax(120px,.9fr) minmax(145px,1.1fr) minmax(120px,.9fr) minmax(145px,1fr)}
}
@media(max-width:1100px){
 .footer-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:28px 24px}
 .footer-grid>.footer-brand{grid-column:1/-1;display:grid;grid-template-columns:1.1fr 1.7fr;column-gap:36px;align-items:start}
 .footer .footer-brand p{grid-column:2;grid-row:1/4;margin:0;max-width:400px}
 .footer .footer-brand .footer-location{margin-top:14px}
 .footer .footer-brand .footer-service-hub{justify-self:start}
 .mobile-services.has-current>summary{color:#ffac84}
 .mobile-nav .mobile-nav-top{letter-spacing:0;font-size:13px;gap:16px}
 .mobile-nav-top strong{line-height:1.5}
 .mobile-service-group strong,.mobile-resource-group strong{font-size:13px}
 .header-chat-links .button,.mobile-chat-links .button{border-radius:6px;justify-content:center}
 .mobile-nav a:focus-visible{outline-offset:-2px}
}
@media(max-width:760px){
 .site-header .nav{column-gap:12px;row-gap:8px;padding-block:10px}
 .site-header .header-chat-links .button{min-height:44px}
 .footer{padding-top:36px}
 .footer-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px 20px}
 .footer-grid>.footer-brand{display:block;padding-bottom:20px;border-bottom:1px solid #ffffff1a}
 .footer .footer-brand p{max-width:440px;margin:16px 0 12px}
 .footer .footer-brand .footer-location{margin-top:0}
 .footer .footer-nav a{font-size:12px;overflow-wrap:break-word;min-height:38px;display:flex;align-items:center}
 .footer .footer-nav h3{margin-bottom:10px}
 .footer-contact{flex-direction:column;align-items:flex-start;gap:22px;margin-top:24px}
 .footer .footer-contact-intro h3{font-size:21px}
 .footer-qr-links{width:100%;grid-template-columns:repeat(2,minmax(0,148px));gap:16px}
 .footer .footer-legal-nav{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px 20px;padding-block:16px 10px}
 .footer .footer-legal-nav a{min-height:36px;display:flex;align-items:center}
 .footer-bottom{display:flex;flex-direction:column;align-items:flex-start;gap:4px}
}
@media(prefers-reduced-motion:reduce){.footer a,.links>.nav-dropdown>summary:after{transition:none}}

/* Faster menu scanning and persistent direct chat access on mobile. */
.links>.nav-dropdown>summary:after{content:'+';font-family:Arial,sans-serif;font-size:17px;font-weight:400;line-height:1;width:12px;text-align:center;transform:none;transition:none}
.links>.nav-dropdown[open]>summary:after{content:'−';transform:none}
.mega-menu-heading{padding-bottom:16px;align-items:baseline}
.service-menu .mega-service-link,.resource-menu .mega-resource-link{padding:11px 12px;margin-bottom:3px;border-radius:7px}
.mega-service-link strong,.mega-resource-link strong{font-size:13px;line-height:1.55}
.service-menu .mega-service-link span,.resource-menu .mega-resource-link span{font-size:11px;line-height:1.65;letter-spacing:0;text-transform:none;font-weight:400}
.mega-planning-card,.mega-resource-card{align-self:start;padding:22px;border-radius:10px}
.mega-planning-card h2,.mega-resource-card h2{font-size:22px;margin-bottom:12px}
.mega-planning-card p,.mega-resource-card p{margin-bottom:18px}
.service-menu .mega-planner-link,.resource-menu .mega-resource-contact{margin-top:14px;padding-block:4px}
.service-menu .mega-service-link:focus-visible,.resource-menu .mega-resource-link:focus-visible{outline:2px solid #b13d11;outline-offset:1px;background:var(--soft)}
@media(max-width:1100px){
 .mobile-nav.open{padding:0 22px 28px;scroll-padding-block:156px 20px}
 .mobile-menu-head{position:sticky;top:0;z-index:3;padding:16px 0 14px;background:var(--navy);border-bottom:1px solid #ffffff25}
 .mobile-nav.open .mobile-nav-top{position:static;padding:0;margin:0;border:0}
 .mobile-nav .mobile-nav-top{font-size:15px}
 .mobile-close{flex-shrink:0}
 .mobile-menu-head .mobile-chat-links{margin-top:12px;gap:10px}
 .mobile-menu-head .mobile-chat-links .button{min-height:44px;padding:10px;font-size:12px}
 .mobile-nav>a,.mobile-nav>details{padding:14px 0}
 .mobile-nav>details>summary{display:flex;align-items:center;justify-content:space-between;gap:16px;list-style:none;font-weight:600;min-height:28px}
 .mobile-nav>details>summary::-webkit-details-marker{display:none}
 .mobile-nav>details>summary:after{content:'+';font-family:Arial,sans-serif;font-size:22px;line-height:1;font-weight:400;color:#bdccda}
 .mobile-nav>details[open]>summary:after{content:'−'}
 .mobile-nav .mobile-service-links,.mobile-resource-links{padding-top:12px}
 .mobile-service-group,.mobile-resource-group{margin:18px 0}
 .mobile-service-group>p,.mobile-resource-group>p{margin-bottom:8px;font-size:10px}
 .mobile-service-group a{min-height:44px;padding:11px 14px;margin:3px 0;background:transparent;border-radius:6px;display:flex;align-items:center}
 .mobile-service-group strong{font-size:13px;font-weight:500}
 .mobile-resource-group a{padding:11px 14px;margin:3px 0;background:transparent}
 .mobile-resource-group span{font-size:11px}
 .mobile-nav .mobile-service-finder,.mobile-nav .mobile-services-hub{min-height:44px;align-items:center}
 .mobile-nav>details>summary:focus-visible{outline-offset:2px}
}

/* Match section feedback and keyboard focus across both navigation areas. */
.site-header .service-menu a:focus-visible,.site-header .resource-menu a:focus-visible{outline:2px solid #a23a12;outline-offset:3px}
.footer a[data-current-section],.footer .footer-service-hub[aria-current=page]{color:#ffac84;text-decoration:underline;text-underline-offset:5px}
.footer-planning-links{display:flex;flex-wrap:wrap;gap:8px 22px;margin-top:14px}
.footer .footer-planning-links a{display:inline-block;font-size:12px;line-height:1.6;padding-block:5px;margin:0;color:#d7e1ea;text-decoration:underline;text-underline-offset:4px}
.footer .footer-planning-links a:hover{color:#ffac84}
@media(max-width:760px){
 /* Keep the reserved mobile toolbar space within the navy footer. */
 body{padding-bottom:0}
 .footer{padding-bottom:calc(87px + env(safe-area-inset-bottom))}
 .footer .footer-bottom{padding-right:60px}
 .footer .footer-planning-links a{min-height:40px;display:flex;align-items:center}
 .mcw-contact-rail.is-footer-contact-visible{inset:auto 12px calc(14px + env(safe-area-inset-bottom)) auto;width:48px;flex-direction:column;gap:0;padding:0;border:0;background:transparent;box-shadow:none}
 .mcw-contact-rail.is-footer-contact-visible .mcw-contact-wa,.mcw-contact-rail.is-footer-contact-visible .mcw-contact-tg{display:none}
}

/* Keep direct chat targets comfortable across all navigation layouts. */
.site-header .header-chat-links .button,.site-header .links .button,.mobile-menu-head .mobile-chat-links .button{min-height:48px}
