/* Shared dropdown navigation, built on the approved floating island. */
.navigation .nav-links{gap:6px}
.nav-group{position:relative}
.navigation .nav-trigger{display:flex;align-items:center;justify-content:space-between;gap:8px;min-height:48px;padding:10px 12px;border:0;border-radius:30px;background:transparent;color:var(--ink);font:500 22px/1.3 var(--sans);white-space:nowrap;text-align:left;transition:background .18s,color .18s}
.navigation .nav-trigger:hover,.navigation .nav-trigger[aria-expanded=true]{background:var(--sky);color:var(--primary)}
.navigation .nav-trigger.is-current{color:var(--primary)}
.nav-chevron{flex-shrink:0;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;transition:transform .18s}
.nav-trigger[aria-expanded=true] .nav-chevron{transform:rotate(180deg)}
.navigation .nav-panel{position:absolute;top:calc(100% + 23px);left:0;z-index:2;width:400px;max-width:calc(100vw - 48px);max-height:calc(100svh - 144px);overflow:auto;overscroll-behavior:contain;padding:24px;background:white;border:1px solid #c9e0f2;border-radius:26px;box-shadow:0 20px 55px #063d722b,0 0 0 4px #ffffff66}
.navigation .nav-panel[hidden]{display:none}
.navigation .nav-panel-wide{width:730px;left:auto;right:0}
.nav-panel-columns{display:grid;grid-template-columns:1fr 1fr;gap:24px}
.nav-panel-columns>.nav-column+.nav-column{border-left:1px solid var(--line);padding-left:24px}
.nav-panel>.nav-column+.nav-column{margin-top:20px;padding-top:18px;border-top:1px solid var(--line)}
.nav-column-label{font-size:14px;font-weight:700;line-height:1.5;letter-spacing:.055em;text-transform:uppercase;color:var(--primary);margin:0 8px 9px}
.nav-page-list{list-style:none;margin:0;padding:0}
.nav-page-list li+li{margin-top:4px}
.navigation .nav-page-link{display:block;min-height:48px;padding:11px 10px;border-radius:13px;line-height:1.35;transition:background .18s,color .18s}
.nav-link-title{display:block;font-size:21px;font-weight:600;line-height:1.3}
.nav-description{display:block;font-size:16px;line-height:1.45;color:var(--muted);margin-top:6px}
.navigation .nav-page-link:hover,.navigation .nav-page-link:focus-visible,.navigation .nav-page-link[aria-current=page]{background:var(--paper);color:var(--primary)}
.navigation .nav-page-link[aria-current=page]{box-shadow:inset 3px 0 var(--primary)}
.navigation .nav-compact-link .nav-link-title{font-size:20px}
.navigation .nav-compact-link .nav-description{font-size:15px;margin-top:3px}
.navigation .nav-section-link{display:flex;align-items:center;justify-content:space-between;gap:18px;min-height:48px;margin-top:20px;padding:17px 8px 0;border-top:1px solid var(--line);font-size:16px;font-weight:500;line-height:1.45;color:var(--primary)}
.navigation .nav-section-link:hover{text-decoration:underline;text-underline-offset:4px}
.nav-section-link>span{font-size:22px}
.nav-panel-intro{padding-bottom:16px;margin-bottom:20px;border-bottom:1px solid var(--line)}
.nav-panel-intro .nav-link-title{font-size:24px}
.navigation .nav-contact{margin-left:6px}
#family{scroll-margin-top:0}
@media(max-width:1400px){
 .navigation .nav-links{gap:0;width:min(560px,100%);padding:18px 24px;max-height:calc(100svh - 135px);overscroll-behavior:contain}
 .navigation .nav-group{border-top:1px solid var(--line)}
 .navigation .nav-trigger{width:100%;font-size:24px;white-space:normal;min-height:64px;padding:16px 3px;border-radius:0;gap:18px}
 .navigation .nav-trigger:hover,.navigation .nav-trigger[aria-expanded=true]{background:transparent;color:var(--primary)}
 .navigation .nav-chevron{width:20px;height:20px}
 .navigation .nav-panel,.navigation .nav-panel-wide{position:static;width:100%;max-width:none;max-height:none;overflow:visible;box-shadow:none;border:0;border-radius:16px;background:var(--paper);padding:19px 14px;margin:0 0 18px}
 .nav-panel-columns{grid-template-columns:1fr;gap:18px}
 .nav-panel-columns>.nav-column+.nav-column{padding-left:0;border-left:0;padding-top:18px;border-top:1px solid var(--line)}
 .navigation .nav-page-link:hover,.navigation .nav-page-link:focus-visible,.navigation .nav-page-link[aria-current=page]{background:white}
 .navigation .nav-page-link{padding:12px 8px}
 .nav-link-title,.navigation .nav-compact-link .nav-link-title{font-size:21px}
 .nav-description{font-size:17px}
 .nav-column-label{font-size:14px}
 .navigation .nav-section-link{font-size:17px;padding-top:16px;margin-top:18px}
 .navigation .nav-contact{margin-left:0;margin-top:14px}
 .navigation .mobile-home{padding-top:10px;padding-bottom:15px}
}
@media(max-width:700px){
 .navigation .nav-links{padding:14px 17px;max-height:calc(100svh - 115px)}
 .navigation .nav-trigger{font-size:24px}
 .navigation .nav-panel{padding:17px 10px}
 .nav-link-title,.navigation .nav-compact-link .nav-link-title{font-size:20px}
 .nav-panel-intro .nav-link-title{font-size:22px}
}
@media(prefers-reduced-motion:reduce){.nav-trigger,.nav-chevron,.nav-page-link{transition:none!important}}
