/* One navigation and footer across the flagship and original reference pages. */
.skip-link,.family-home .skip-link{color:#082239;background:#fff}
.site-header{position:sticky;top:0;z-index:50;background:var(--shell-bg);color:var(--shell-text);border-bottom:1px solid var(--shell-line)}
.site-header .nav-row{height:88px;display:flex;align-items:center;gap:30px;position:relative}
.site-header .brand,.site-footer .brand{display:inline-block;background:#fff;padding:6px 8px;line-height:0;flex-shrink:0}
.site-header .brand img,.site-footer .brand img{display:block;width:150px;height:49px;object-fit:contain}
.desktop-nav{display:flex;align-items:center;gap:24px;margin-left:auto;font-size:13px;font-weight:600;line-height:1.4}
.desktop-nav>a,.desktop-services summary{display:flex;align-items:center;min-height:44px;gap:8px;color:var(--shell-muted)}
.desktop-services summary{list-style:none;cursor:pointer}.desktop-services summary::-webkit-details-marker{display:none}
.site-header .desktop-services[open]>summary{color:var(--shell-accent)}
.desktop-services summary>span{color:var(--shell-accent);font-size:20px;font-weight:400}.desktop-services[open] summary>span{transform:rotate(45deg)}
.desktop-nav a:hover,.desktop-nav summary:hover,.desktop-nav [aria-current=page]{color:var(--shell-accent)}
.site-header .header-cta{display:flex;align-items:center;gap:16px;flex-shrink:0;min-height:46px;padding:12px 18px;background:var(--shell-accent);color:#0A131E;font-size:12px;font-weight:700;border:1px solid var(--shell-accent);border-radius:0;line-height:1.35}
.site-header .header-cta:hover{background:#F1A36B;border-color:#F1A36B}.site-header .header-cta span{font-size:18px}
.service-menu{position:absolute;top:100%;left:0;right:0;display:grid;grid-template-columns:1fr 2fr;gap:44px;padding:36px;background:var(--shell-panel);border:1px solid var(--shell-line);box-shadow:0 14px 30px #0004}
.service-menu .kicker{color:var(--shell-accent);font-size:12px}.menu-intro h2{color:var(--shell-text);font-size:27px;line-height:1.2;margin:10px 0 20px}.service-menu .text-link{color:var(--shell-text);border-color:var(--shell-accent)}
.menu-services{display:grid;grid-template-columns:1fr 1fr;gap:0 28px}.menu-services>a{position:relative;display:block;padding:14px 25px 14px 0;border-bottom:1px solid var(--shell-line);font-size:14px}.menu-services small{display:block;color:#8B9EA8;font-size:12px;font-weight:400;margin-bottom:5px}.menu-services>a>span{position:absolute;right:0;top:32px;color:var(--shell-accent)}
.company-menu{position:absolute;top:100%;background:var(--shell-panel);border:1px solid var(--shell-line);padding:12px;min-width:220px}.company-menu>a{display:block;padding:12px;font-size:14px}
.site-header .mobile-menu{display:none;background:none;border:1px solid var(--shell-line);color:var(--shell-text);width:48px;height:48px;padding:13px;margin-left:auto;align-items:center;justify-content:center;flex-direction:column;gap:6px;border-radius:0}.site-header .mobile-menu span{height:2px;width:22px;background:var(--shell-text);display:block}
#mobile-navigation{background:var(--shell-bg);color:var(--shell-text);border:1px solid var(--shell-line);padding:24px;width:min(92vw,520px);max-height:90dvh;max-width:520px;overflow:auto}
#mobile-navigation::backdrop{background:#030A13C9}.mobile-top{display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--shell-line);padding-bottom:16px;margin-bottom:12px}.mobile-top h2{color:var(--shell-text);font-size:18px;letter-spacing:0}.close-menu{border:1px solid var(--shell-line);background:transparent;color:var(--shell-text);width:44px;height:44px;font-size:28px;padding:0}
#mobile-navigation nav{display:grid}#mobile-navigation nav a{color:var(--shell-text);padding:13px 0;border-bottom:1px solid var(--shell-line);font-size:15px;line-height:1.4}#mobile-navigation nav a:hover{color:var(--shell-accent)}
.site-header :focus-visible,.site-footer :focus-visible,#mobile-navigation :focus-visible{outline:3px solid var(--shell-accent);outline-offset:4px}
.nojs-navigation{background:var(--shell-bg);color:var(--shell-text);padding:16px 24px}.nojs-navigation nav{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;padding-top:20px}.nojs-navigation summary{cursor:pointer}
.site-footer{background:#050E17;color:var(--shell-muted);border-top:1px solid var(--shell-line);padding:64px 0 28px;font-size:14px}
.site-footer .footer-top{display:grid;grid-template-columns:1fr 1.5fr;gap:72px;margin-bottom:48px}.footer-statement>p{font-size:18px;line-height:1.7;color:var(--shell-text);max-width:350px;margin-top:24px}.foot-note{display:block;color:#8B9EA8;margin-top:12px}.footer-links{display:grid;grid-template-columns:1fr 1fr;gap:44px}.footer-links section{margin:0}.footer-links h2{color:var(--shell-accent);font-size:13px;letter-spacing:.1em;text-transform:uppercase;margin-bottom:16px}.footer-links a{display:block;color:var(--shell-muted);padding:6px 0;line-height:1.5}.footer-links a:hover{color:var(--shell-accent)}
.site-footer .footer-base{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:22px;border-top:1px solid var(--shell-line);padding-top:24px;font-size:12px}.footer-base>p{margin:0}.footer-base nav{display:flex;flex-wrap:wrap;gap:24px}.footer-base .legal-line{flex-basis:100%;color:#8B9EA8;font-size:12px}.noscript{background:#081B2C;color:#D2DCE6;padding:20px;text-align:center;font-size:14px}
.site-footer .footer-base,.site-footer .footer-base p,.site-footer .footer-base a{color:#8B9EA8}
@media(max-width:1190px){.site-header .nav-row{gap:20px}.desktop-nav{gap:18px}.site-header .header-cta{padding:10px 13px;font-size:11px}}
@media(max-width:1000px){.desktop-nav{display:none}.site-header .mobile-menu{display:flex}.site-header .header-cta{margin-left:auto}.site-header .mobile-menu{margin-left:0}.site-header .nav-row{height:80px;gap:16px}.site-footer .footer-top{gap:44px}}
@media(max-width:760px){.site-header .nav-row{height:76px}.site-header .header-cta{display:none}.site-header .mobile-menu{margin-left:auto}.site-footer{padding-top:48px}.site-footer .footer-top{grid-template-columns:1fr;gap:32px}.footer-links{gap:24px}.site-footer .footer-base{align-items:flex-start;gap:18px}.footer-base nav{gap:12px 20px}.nojs-navigation nav{grid-template-columns:1fr}}
@media(max-width:400px){.site-header .brand{padding:5px 6px}.footer-links{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){.site-header *,#mobile-navigation *{transition:none}}
@media print{.site-header,.site-footer,.nojs-navigation,.noscript,#mobile-navigation{display:none!important}}
