/* HALMI navigation: readable at desktop distance, with clear interaction states. */
html{scroll-padding-top:126px}
.site-header{height:104px;gap:24px;padding-inline:clamp(24px,4vw,80px);background:#f7f9f3;border-bottom:1px solid #c4d4c8;box-shadow:0 3px 0 #b9e3cb33}
.site-header.has-scrolled{background:#f7f9f3f5;box-shadow:0 12px 32px #102d2520}
.header-brand{display:flex;flex-direction:column;gap:8px;flex-shrink:0}
.site-header .wordmark{font-size:44px;letter-spacing:-.065em}
.brand-caption{font-size:11px;line-height:1;letter-spacing:.15em;text-transform:uppercase;color:#3e654e;font-weight:600}
.desktop-nav{gap:6px;font-size:18px;font-weight:600;line-height:1.2}
.desktop-nav a{display:flex;align-items:center;gap:8px;isolation:isolate;padding:16px 13px;border-radius:12px;transition:color 240ms,transform 350ms var(--ease);white-space:nowrap}
.desktop-nav a:after{display:none}
.desktop-nav a:before{content:"";position:absolute;inset:0;border-radius:inherit;background:#dcecdf;z-index:-1;opacity:0;transform:scale(.9);transition:opacity 240ms,transform 380ms var(--ease),background-color 240ms}
.nav-arrow{font-size:19px;line-height:1;opacity:0;transform:translate(-5px,4px);transition:opacity 250ms,transform 380ms var(--ease)}
.desktop-nav a[aria-current=location]{color:#175944}
.desktop-nav a[aria-current=location]:before{opacity:1;transform:none}
.desktop-nav a[aria-current=location] .nav-arrow{opacity:1;transform:none}
.desktop-nav a:is(:hover,:focus-visible){color:#fff;transform:translateY(-2px)}
.desktop-nav a:is(:hover,:focus-visible):before{opacity:1;transform:none;background:#175944}
.desktop-nav a:is(:hover,:focus-visible) .nav-arrow{opacity:1;transform:translate(1px,-1px)}
.header-cta{position:relative;isolation:isolate;overflow:hidden;margin-left:auto;flex-shrink:0;min-height:54px;padding:13px 18px 13px 22px;gap:18px;font-size:17px;line-height:1.2;background:#175944;color:#fff;border:1px solid #175944;border-radius:12px;box-shadow:0 6px 16px #17594418;transition:background-color 220ms,box-shadow 250ms,transform 300ms var(--ease)}
.header-cta:before{content:"";position:absolute;z-index:-1;inset:0;background:#247451;transform:translateX(-102%);transition:transform 450ms var(--ease)}
.header-cta:is(:hover,:focus-visible){background:#175944;color:white;box-shadow:0 10px 24px #17594430;transform:translateY(-2px)}
.header-cta:is(:hover,:focus-visible):before{transform:none}
.header-cta .cta-arrow{display:grid;place-items:center;flex-shrink:0;width:29px;height:29px;border:1px solid #a7d4b680;border-radius:7px;font-size:22px;transition:transform 300ms var(--ease),background-color 200ms}
.header-cta:hover .cta-arrow{transform:translate(2px,-2px);background:#ffffff14}
.header-cta:active{transform:scale(.97)}
.header-cta .cta-short{display:none}
.header-cta .cta-wide{display:inline}
.reading-progress{height:3px}
.mobile-nav a{display:flex;align-items:center;justify-content:space-between;transition:color 220ms,background-color 220ms,padding 350ms var(--ease)}
.mobile-nav a .nav-arrow{opacity:1;transform:none}
.mobile-nav a:is(:hover,:focus-visible),.mobile-nav a[aria-current=location]{background:#dcecdf;color:#175944;padding-inline:14px;border-radius:9px}
@media(min-width:1600px){.desktop-nav{font-size:19px;gap:12px}.desktop-nav a{padding-inline:18px}.site-header .wordmark{font-size:48px}.brand-caption{font-size:12px}.header-cta{font-size:18px;min-height:58px}}
@media(max-width:1100px){
  .site-header{height:90px;gap:20px}.site-header .wordmark{font-size:40px}.desktop-nav{display:none}.header-cta{font-size:16px;min-height:52px}
  .menu-button{display:flex;flex-direction:column;justify-content:center;align-items:center;gap:7px;width:46px;height:46px;padding:0;border:1px solid #cad9ce;border-radius:10px;background:#e7efe5;color:#175944;flex-shrink:0;transition:background-color 220ms,transform 220ms}
  .menu-button:hover{background:#d9e8da}.menu-button span{width:22px;height:2px;background:currentColor;transition:transform 250ms var(--ease)}
  .menu-button[aria-expanded=true] span:first-child{transform:translateY(4.5px) rotate(45deg)}.menu-button[aria-expanded=true] span:last-child{transform:translateY(-4.5px) rotate(-45deg)}
  .mobile-nav:not([hidden]){display:flex;position:absolute;top:100%;left:0;right:0;flex-direction:column;gap:0;padding:12px 24px 24px;background:#f7f9f3;border-bottom:1px solid #c4d4c8;box-shadow:0 22px 30px #13231922;animation:menu-arrive 380ms var(--ease)}
  .mobile-nav a{font-size:20px;padding-block:17px;border-bottom:1px solid #dce5d9}.mobile-nav a:last-child{border-bottom:0}
  html{scroll-padding-top:112px}
}
@media(max-width:760px){
  .site-header{height:82px;padding-inline:16px;gap:12px}.site-header .wordmark{font-size:34px}.header-brand{gap:6px}.brand-caption{font-size:9px;letter-spacing:.1em}
  .header-cta{min-height:46px;font-size:14px;padding:10px 12px;gap:9px;border-radius:10px}.header-cta .cta-wide{display:none}.header-cta .cta-short{display:inline}.header-cta .cta-arrow{width:24px;height:24px;font-size:19px}
  .menu-button{min-width:44px;width:44px;height:46px}.mobile-nav:not([hidden]){padding-inline:20px}
  html{scroll-padding-top:104px}
}
@media(max-width:380px){.site-header{padding-inline:14px;gap:8px}.site-header .wordmark{font-size:31px}.brand-caption{font-size:8px}.header-cta .cta-arrow{display:none}.header-cta .cta-short{display:inline}.header-cta{font-size:14px;padding-inline:11px}}
@media(prefers-reduced-motion:reduce){.desktop-nav a,.nav-arrow,.header-cta,.header-cta:before{transform:none!important}.mobile-nav:not([hidden]){animation:none}}
@keyframes menu-arrive{from{opacity:0;clip-path:inset(0 0 100%);transform:translateY(-10px)}to{opacity:1;clip-path:inset(0);transform:none}}
