/* Site header: floating white bar (2026-11-06).
   Loaded on every page. Selectors start with header.site-header so they win over the
   per-page inline header rules wherever this file lands in the load order.
   Heroes pull up under the header with margin-top:-77px / -65px, so the total height must
   stay 77px (12 gap + 64 bar + 1 border) and 65px at 720px and below (8 + 56 + 1). */

header.site-header{
  --hdr-side:max(16px,calc((100% - 1400px)/2));
  --focus:#357318;
  padding-top:12px;
  color:var(--ink-800);
  pointer-events:none; /* the transparent gap around the bar must not block clicks on the page */
}
header.site-header.scrolled{background:none;-webkit-backdrop-filter:none;backdrop-filter:none;border-bottom-color:transparent;box-shadow:none}

/* the bar */
header.site-header .hdr{
  max-width:1400px;
  width:calc(100% - 32px);
  height:64px;
  padding:0 7px; /* equal sides keep the nav centred; the logo takes its extra inset below */
  border:1px solid var(--slate-200);
  border-radius:22px;
  background:#fff;
  pointer-events:auto;
  transition:box-shadow .25s var(--ease);
}
header.site-header.scrolled .hdr{box-shadow:0 10px 30px -18px rgba(15,20,25,.35)}

header.site-header .logo{margin-left:13px}

/* reading progress: sits on the bar's bottom edge, clear of the rounded corners */
header.site-header .progress{left:calc(var(--hdr-side) + 22px);right:calc(var(--hdr-side) + 22px);bottom:0}

/* nav */
header.site-header .nav-link{color:var(--ink-800)}
header.site-header .nav-link:hover,
header.site-header .has-menu:focus-within>.nav-link,
header.site-header .has-menu.open>.nav-link{color:var(--ink-800);background:rgba(33,42,51,.06)}
header.site-header .nav-link .car{color:var(--slate-500)}
header.site-header .has-menu.open .car{color:var(--green-700)}

/* mega menu opens a clear 8px below the bar; the hover bridge spans that gap */
header.site-header .mega{top:calc(100% + 20px)}
header.site-header .has-menu::after{height:24px}

/* current page: green label, green underline */
header.site-header .nav-link.is-current,
header.site-header .nav-link.is-current:hover{color:var(--green-700)}
header.site-header .nav-link.is-current::before{content:none}
header.site-header .nav-link.is-current::after{content:"";position:absolute;left:14px;right:14px;bottom:0;height:2px;border-radius:2px;background:var(--green-600)}
header.site-header .nav-link.is-current .car{color:var(--green-700)}

/* call to action with an arrow chip */
header.site-header .hdr-cta{height:48px;padding:0 7px 0 18px;gap:12px}
header.site-header .hdr-cta-ic{display:grid;place-items:center;width:34px;height:34px;border-radius:8px;background:rgba(33,42,51,.12);flex:none}
header.site-header .hdr-cta-ic svg{width:16px;height:16px;transform:rotate(-45deg)}
header.site-header .hdr-cta:hover .hdr-cta-ic svg{transform:translate(1px,-1px) rotate(-45deg)}

/* grid button: opens the site menu at every width */
header.site-header .menu-btn{display:grid;width:48px;height:48px;border-color:var(--slate-200);background:#fff;color:var(--ink-800);transition:background-color .2s var(--ease),border-color .2s var(--ease)}
header.site-header .menu-btn:hover{background:var(--slate-50);border-color:var(--slate-300)}

/* on wide screens the menu opens as a panel on the right rather than covering the page */
@media (min-width:1025px){
  body .drawer{left:auto;width:440px;box-shadow:0 0 0 100vmax rgba(15,20,25,.45)}
}

@media (max-width:1180px){
  header.site-header .main-nav .nav-link{padding:0 10px}
  header.site-header .nav-link.is-current::after{left:10px;right:10px}
}

@media (max-width:720px){
  header.site-header{padding-top:8px}
  header.site-header .hdr{height:56px;padding:0 5px;border-radius:18px}
  header.site-header .logo{margin-left:9px}
  header.site-header .menu-btn{width:44px;height:44px}
}
