/* Shared navigation, including independently styled landing pages. */
.site-header{box-sizing:border-box;position:sticky;top:0;z-index:70;display:flex;align-items:center;justify-content:space-between;gap:22px;height:88px;padding:0 32px;background:#f5f8f7;border-bottom:1px solid #d6e1e780;color:#152942;font-family:'Montserrat',Arial,sans-serif}
.site-header a,.menu-drawer a{text-decoration:none;color:inherit}.site-header .brand{display:block;width:170px;flex-shrink:0}.site-header .brand img{display:block;width:100%;height:auto}.site-header svg,.menu-drawer svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}
.site-header .desktop-nav{display:flex;align-items:center;gap:22px;margin:auto}.desktop-nav>.nav-link,.desktop-nav>.nav-dropdown>summary.nav-link{position:relative;display:flex;align-items:center;gap:7px;padding:17px 0;font:600 12px/1.35 'Montserrat',Arial,sans-serif;white-space:nowrap;color:inherit;cursor:pointer;list-style:none}
.nav-dropdown{position:relative}.nav-dropdown summary::-webkit-details-marker{display:none}.nav-roll{display:block;height:1.35em;overflow:hidden}.nav-roll>span{display:block;height:1.35em;transition:transform .4s cubic-bezier(.22,1,.36,1)}.nav-roll>span:last-child{color:#2874b8}.nav-link:hover .nav-roll>span,.nav-link:focus-visible .nav-roll>span{transform:translateY(-100%)}
.desktop-nav>.nav-link::after,.desktop-nav>.nav-dropdown>summary::after{content:'';position:absolute;left:0;right:0;bottom:6px;height:3px;border-radius:3px;background:linear-gradient(90deg,#c2dd2b,#67af69,#2874b8);transform:scaleX(0);transform-origin:left;transition:transform .35s}.desktop-nav>.nav-link:hover::after,.desktop-nav>.nav-link:focus-visible::after,.desktop-nav>.nav-dropdown:hover>summary::after,.desktop-nav>.nav-dropdown[open]>summary::after{transform:scaleX(1)}
.site-header .nav-submenu{position:absolute;top:100%;left:-18px;min-width:285px;box-sizing:border-box;padding:10px;background:#f5f8f7;border:1px solid #d6e1e7;border-radius:12px;box-shadow:0 20px 45px #092c5020}.site-header .nav-submenu a{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 12px;font:500 13px/1.5 'Montserrat',Arial,sans-serif;border-radius:6px}.site-header .nav-submenu a::after{display:none}.site-header .nav-submenu a:hover{background:#c2dd2b30;color:#092c50}
.site-header .header-actions{display:flex;align-items:center;gap:10px}.site-header .nav-phone{display:flex;align-items:center;gap:7px;font-size:12px;font-weight:600;white-space:nowrap}.site-header .nav-phone svg{color:#3c854c}.site-header .nav-quote,.menu-drawer .button-brand{display:inline-flex;align-items:center;justify-content:center;gap:12px;box-sizing:border-box;background:linear-gradient(115deg,#c2dd2b,#acd934 55%,#64b8ca);color:#092c50;border:0;border-radius:10px;padding:14px 17px;min-height:46px;font:600 12px/1.4 'Montserrat',Arial,sans-serif;white-space:nowrap;cursor:pointer}
.site-header .menu-toggle{display:none;width:42px;height:44px;border:0;background:none;padding:8px;color:inherit;cursor:pointer}.menu-toggle span{display:block;height:1px;background:currentColor;margin:7px 0}
.menu-drawer{box-sizing:border-box;position:fixed;inset:0 0 0 auto;margin:0;width:min(450px,100vw);max-width:100vw;height:100dvh;max-height:none;padding:30px;border:0;border-radius:0;background:linear-gradient(145deg,#062644,#103f6d);color:#f1f7fc;overflow:auto;transform:translateX(102%);transition:transform .4s;z-index:100;font-family:'Montserrat',Arial,sans-serif}.menu-drawer.is-open{transform:translateX(0)}.menu-drawer::backdrop{background:#041a339e;backdrop-filter:blur(5px)}.drawer-heading{display:flex;justify-content:space-between;align-items:center;gap:15px;border-bottom:1px solid #c2dd2b50;padding-bottom:25px;margin-bottom:20px}.drawer-heading>span{font-size:13px;font-weight:700;letter-spacing:2px;color:#c2dd2b}.drawer-heading>span>span{display:block;font-size:10px;letter-spacing:0;font-weight:400;color:#b1c6dc;margin-top:6px}.drawer-heading button{width:41px;height:41px;border:1px solid #ffffff29;border-radius:12px;background:#ffffff0e;color:white;cursor:pointer}
.menu-drawer .mobile-nav{position:static;padding:0;background:none;box-shadow:none}.menu-drawer .mobile-nav>a,.menu-drawer .mobile-nav summary{display:flex;align-items:center;justify-content:space-between;font:600 22px/1.35 'Montserrat',Arial,sans-serif;padding:16px 0;color:#e7f1fa;border-bottom:1px solid #ffffff23;letter-spacing:-.6px;list-style:none;cursor:pointer;opacity:1;transform:none}.menu-drawer .nav-dropdown{border:0}.menu-drawer .nav-submenu{position:static;min-width:0;background:#ffffff07;border:0;border-radius:8px;padding:5px 10px;margin-bottom:8px;box-shadow:none}.menu-drawer .nav-submenu a{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:13px 4px;font-size:14px;line-height:1.5;color:#e7f1fa}.menu-drawer .nav-submenu a:hover{color:#c2dd2b}.menu-drawer .nav-roll>span:last-child{color:#c2dd2b}.drawer-contact{display:flex;flex-direction:column;gap:20px;margin-top:30px}.drawer-contact>a{display:flex;align-items:center;gap:12px;font-size:19px;font-weight:600}.drawer-contact>span{font-size:10px;color:#a3bdd2;text-align:center}body.menu-open{overflow:hidden}
.site-header :focus-visible,.menu-drawer :focus-visible{outline:2px solid #71a440;outline-offset:5px}
:root[data-theme=dark] .site-header{background:#0b223a;color:#deebf7}:root[data-theme=dark] .site-header .nav-submenu{background:#132e49;border-color:#294763}:root[data-theme=dark] .nav-roll>span:last-child{color:#c2dd2b}
@media(max-width:1400px){.site-header .nav-phone span{display:none}.site-header .desktop-nav{gap:18px}}
@media(max-width:1100px){.site-header .desktop-nav{display:none}.site-header .menu-toggle{display:block}.site-header{height:76px;padding:0 24px}.site-header .brand{width:155px}.site-header .header-actions{margin-left:auto}}
@media(max-width:600px){.site-header{height:72px;padding:0 16px;gap:10px}.site-header .brand{width:124px}.site-header .nav-phone,.site-header .theme-toggle{display:none}.site-header .nav-quote{font-size:10px;padding:11px;min-height:40px}.site-header .nav-quote svg{display:none}.site-header .header-actions{gap:5px}}
@media(prefers-reduced-motion:reduce){.nav-roll>span,.menu-drawer,.desktop-nav .nav-link::after{transition:none}.nav-link:hover .nav-roll>span,.nav-link:focus-visible .nav-roll>span{transform:none}}

html{scroll-padding-top:108px}@media(max-width:1100px){html{scroll-padding-top:90px}}

/* Mobile labels have one text layer, with identical typography for links and summaries. */
.menu-drawer .mobile-nav>a.nav-link,.menu-drawer .mobile-nav .nav-dropdown>summary.nav-link{font:600 22px/1.4 'Montserrat',Arial,sans-serif;letter-spacing:-.4px;min-height:64px;box-sizing:border-box;gap:16px}
.menu-drawer .mobile-nav .mobile-nav-label{display:block;position:static;font:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;height:auto;overflow:visible;transform:none;white-space:normal;margin:0;min-width:0}
.menu-drawer .mobile-nav summary>span[aria-hidden]{font:400 18px/1 'Montserrat',Arial,sans-serif;flex-shrink:0}
.menu-drawer .mobile-nav>a:hover,.menu-drawer .mobile-nav summary:hover,.menu-drawer .mobile-nav>a:focus-visible,.menu-drawer .mobile-nav summary:focus-visible{color:#c2dd2b}
.menu-drawer .mobile-nav .nav-submenu a{font:500 15px/1.6 'Montserrat',Arial,sans-serif;letter-spacing:0;white-space:normal}
/* More readable desktop navigation and contact actions. */
@media(min-width:1201px){.site-header{padding-inline:26px;gap:18px}.site-header .brand{width:155px}.site-header .desktop-nav{display:flex;gap:20px}.desktop-nav>.nav-link,.desktop-nav>.nav-dropdown>summary.nav-link{font-size:15px}.site-header .nav-phone{font-size:15px;gap:6px}.site-header .nav-phone span{display:inline}.site-header .nav-quote{font-size:14px;padding:15px 18px}.site-header .theme-toggle{display:none}.site-header .menu-toggle{display:none}}
@media(min-width:1101px) and (max-width:1200px){.site-header .desktop-nav{display:none}.site-header .menu-toggle{display:block}.site-header .nav-phone span{display:inline}.site-header .nav-phone{font-size:15px}.site-header .nav-quote{font-size:14px}}
@media(min-width:1500px){.site-header .brand{width:180px}.site-header{padding-inline:40px}.site-header .desktop-nav{gap:28px}.site-header .theme-toggle{display:grid}.desktop-nav>.nav-link,.desktop-nav>.nav-dropdown>summary.nav-link{font-size:16px}.site-header .nav-phone{font-size:16px}.site-header .nav-quote{font-size:15px}}
