/* Kaiārahi — global navigation (shared across all pages). Colours hardcoded so it
   renders identically even if a page's CSS tokens differ. Fonts are loaded per-page. */
.gnav-skip{position:absolute;left:-9999px;top:0;z-index:300;background:#1A2238;color:#F8F4ED;
  font:600 14px 'DM Sans',system-ui,sans-serif;padding:11px 18px;border-radius:0 0 5px 0}
.gnav-skip:focus{left:0}

.gnav{position:sticky;top:0;z-index:100;background:rgba(248,244,237,.82);
  -webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);
  border-bottom:1px solid transparent;transition:border-color .25s ease,box-shadow .25s ease,background .25s ease;
  font-family:'DM Sans',system-ui,sans-serif}
.gnav.scrolled{border-bottom-color:#D4CFC4;box-shadow:0 8px 24px -20px rgba(45,32,16,.55);background:rgba(248,244,237,.95)}
.gnav .row{display:flex;align-items:center;justify-content:space-between;gap:24px;height:66px;
  max-width:1140px;margin:0 auto;padding:0 clamp(20px,5vw,72px)}
.gnav .brand{display:flex;align-items:center;gap:10px;text-decoration:none;
  font-family:'Cormorant Garamond',Georgia,serif;font-weight:600;font-size:24px;color:#1A2238;letter-spacing:.01em;white-space:nowrap}
.gnav .brand img{height:28px;width:auto;margin-top:-2px}
.gnav .primary{display:flex;align-items:center;gap:clamp(18px,2.4vw,32px)}
.gnav .primary a{position:relative;padding:8px 0;text-decoration:none;color:#67625B;
  font:500 14.5px 'DM Sans',system-ui,sans-serif;transition:color .16s ease}
.gnav .primary a:hover{color:#1A2238}
.gnav .primary a[aria-current="page"]{color:#1A2238}
.gnav .primary a[aria-current="page"]::after{content:"";position:absolute;left:0;right:0;bottom:2px;height:2px;background:#A07D3C;border-radius:2px}
.gnav .actions{display:flex;align-items:center;gap:20px;white-space:nowrap}
.gnav .signin{text-decoration:none;color:#7F6128;font:500 14px 'DM Sans',system-ui,sans-serif}
.gnav .signin:hover{color:#1A2238}
.gnav .cta{text-decoration:none;background:#1A2238;color:#F8F4ED;padding:12px 19px;border-radius:3px;
  font:500 14px 'DM Sans',system-ui,sans-serif;transition:background .18s ease}
.gnav .cta:hover{background:#2F6B4F}
.gnav .burger{display:none;background:none;border:none;cursor:pointer;color:#1A2238;padding:8px;margin:-8px}
.gnav .burger svg{width:26px;height:26px;display:block}

@media(max-width:860px){
  .gnav .primary,.gnav .actions{display:none}
  .gnav .burger{display:block}
}

/* full-screen mobile menu */
.gnav-overlay{position:fixed;inset:0;z-index:200;background:#F8F4ED;display:flex;flex-direction:column;
  padding:0 clamp(20px,6vw,44px) clamp(24px,6vw,44px);opacity:0;visibility:hidden;transform:translateY(-8px);
  transition:opacity .28s ease,transform .28s ease,visibility .28s ease;overscroll-behavior:contain}
.gnav-overlay.open{opacity:1;visibility:visible;transform:none}
.gnav-overlay .otop{display:flex;align-items:center;justify-content:space-between;height:66px;margin-bottom:clamp(18px,5vw,36px)}
.gnav-overlay .obrand{text-decoration:none;font-family:'Cormorant Garamond',serif;font-weight:600;font-size:24px;color:#1A2238}
.gnav-overlay .oclose{background:none;border:none;cursor:pointer;color:#1A2238;padding:8px;margin:-8px}
.gnav-overlay .oclose svg{width:28px;height:28px;display:block}
.gnav-overlay .omenu{display:flex;flex-direction:column}
.gnav-overlay .omenu a{text-decoration:none;font-family:'Cormorant Garamond',serif;font-weight:500;
  font-size:clamp(28px,7.5vw,40px);color:#1A2238;padding:12px 0;border-bottom:1px solid #E5DFD2}
.gnav-overlay .omenu a[aria-current="page"]{color:#7F6128}
.gnav-overlay .osignin{text-decoration:none;color:#7F6128;font:500 16px 'DM Sans',system-ui,sans-serif;margin-top:24px}
.gnav-overlay .octa{margin-top:auto;text-decoration:none;background:#1A2238;color:#F8F4ED;text-align:center;
  padding:16px;border-radius:3px;font:500 16px 'DM Sans',system-ui,sans-serif}

.gnav a:focus-visible,.gnav button:focus-visible,.gnav-overlay a:focus-visible,.gnav-overlay button:focus-visible{outline:2px solid #2F6B4F;outline-offset:3px}
body.gnav-lock{overflow:hidden}
