:root{--ink:#1f4f24;--ink-deep:#006859;--clay:#4a8163;--sand:#eaf2ef;--paper:#fff;--muted:#37695b;--line:rgba(31,79,36,.22);--sans:"Zarbal", "DM Sans", Arial, sans-serif}.brand{gap:0}.brand-logo{display:block;width:138px;height:52px;object-fit:contain;object-position:left center}.site-header{position:relative;background:rgba(255,255,255,.96);color:var(--ink);border-bottom:1px solid var(--line)}.main-nav .nav-cta{border-color:var(--ink)}.menu-toggle{color:var(--ink);border-color:var(--ink)}.site-footer .brand-logo{filter:brightness(0) invert(1);width:145px}.site-footer .social-link{text-decoration:underline;text-underline-offset:4px}.hero{height:calc(100svh - 85px)}.hero .hero-shade{background:linear-gradient(90deg,rgba(0,57,43,.66),rgba(0,57,43,.12) 70%),linear-gradient(0deg,rgba(0,57,43,.33),transparent 48%)}.button-dark{background:#1f4f24;border-color:#1f4f24}.button-dark:hover{background:#006859;border-color:#006859}@media(max-width:800px){.site-header{position:relative}.main-nav{background:var(--ink);color:#fff}.menu-toggle.is-open{color:#fff;border-color:#fff}.hero{height:calc(100svh - 73px)}}

/* Ensure the photo heroes use the actual browser viewport instead of the older 72vh cap above. */
body .page-hero--image {
  align-items: center;
  min-height: 100vh;
  min-height: 100dvh;
  padding-block: clamp(7rem, 16dvh, 12rem) clamp(3.5rem, 8dvh, 6rem);
}

body .page-hero--image h1 {
  font-size: clamp(3.5rem, min(8vw, 12dvh), 7.75rem);
}

body .detail-hero {
  align-items: center;
  min-height: 100vh;
  min-height: 100dvh;
  padding-block: clamp(6rem, 14dvh, 10rem);
}

@media (max-width: 800px) {
  body .page-hero--image {
    min-height: 100vh;
    min-height: 100dvh;
    padding-block: clamp(7rem, 15dvh, 9rem) clamp(3rem, 7dvh, 4rem);
  }

  body .page-hero--image h1 {
    font-size: 65px;
  }
}

/* Compact overlay header: transparent at the top and solid after scrolling. */
.site-header.site-header-solid{position:fixed;top:0;left:0;right:0;z-index:20;isolation:isolate;width:min(calc(100% - 96px),1320px);margin:0 auto;padding:18px 0;color:var(--ink);background:transparent;border:0;box-shadow:none;transition:padding .35s cubic-bezier(.22,1,.36,1),color .45s cubic-bezier(.22,1,.36,1)}
.site-header.site-header-solid::before{content:"";position:absolute;z-index:-1;top:0;bottom:0;left:50%;width:100vw;transform:translateX(-50%);background:rgba(255,255,255,.97);border-bottom:1px solid var(--line);box-shadow:0 5px 20px rgba(21,54,40,.08);backdrop-filter:blur(12px);opacity:0;pointer-events:none;transition:opacity .5s cubic-bezier(.22,1,.36,1)}
.site-header.site-header-solid .brand-logo{transition:filter .35s ease,width .35s cubic-bezier(.22,1,.36,1),height .35s cubic-bezier(.22,1,.36,1)}
.site-header.site-header-solid .brand-logo{width:124px;height:46px}
.site-header.site-header-solid .main-nav{background:transparent;color:inherit}
.site-header.site-header-solid .main-nav .nav-cta{border-color:currentColor}
.site-header.site-header-solid .menu-toggle{color:currentColor;border-color:currentColor}
.site-header.site-header-solid.is-scrolled{padding:9px 0;background:transparent;color:var(--ink);border:0;box-shadow:none}
.site-header.site-header-solid.is-scrolled::before{opacity:1}
.site-header.site-header-solid.is-scrolled .brand-logo{width:112px;height:42px}
.site-header.site-header-solid.header-over-dark:not(.is-scrolled){color:#fff}
.site-header.site-header-solid.header-over-dark:not(.is-scrolled) .main-nav .nav-cta{border-color:rgba(255,255,255,.8)}
.site-header.site-header-solid.header-over-dark:not(.is-scrolled) .brand-logo{filter:brightness(0) invert(1)}
.arrow-motion{display:inline-block;transition:transform 180ms cubic-bezier(.2,.8,.2,1)}
a:hover .arrow-motion--right,a:focus-visible .arrow-motion--right,button:hover .arrow-motion--right,button:focus-visible .arrow-motion--right{transform:translateX(3px)}
a:hover .arrow-motion--up-right,a:focus-visible .arrow-motion--up-right,button:hover .arrow-motion--up-right,button:focus-visible .arrow-motion--up-right{transform:translate(3px,-3px)}
a:hover .arrow-motion--down,a:focus-visible .arrow-motion--down,button:hover .arrow-motion--down,button:focus-visible .arrow-motion--down{transform:translateY(3px)}
.manifesto .button-light{background:#fff;border-color:#fff;color:var(--ink);transform:none}
.manifesto .button-light:hover,.manifesto .button-light:focus-visible{background:#fff;border-color:#fff;color:var(--ink);transform:none}
.page-hero--image{position:relative;display:flex;align-items:flex-end;min-height:clamp(600px,72vh,790px);padding:150px 0 82px;isolation:isolate;overflow:hidden;background:var(--ink);color:#fff}
.page-hero--image>img{position:absolute;inset:0;z-index:-2;width:100%;height:100%;object-fit:cover}
.page-hero--image::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(9,45,34,.77),rgba(9,45,34,.31) 64%,rgba(9,45,34,.13)),linear-gradient(0deg,rgba(9,45,34,.38),transparent 58%)}
.page-hero--image .page-hero-content{width:min(100% - 96px,1320px);margin:0 auto}
.page-hero--image h1{color:#fff}
.page-hero--image .lede{color:rgba(255,255,255,.9)}
.page-hero--image .eyebrow{color:rgba(255,255,255,.8)}
.hero{height:100svh}
@media(max-width:800px){
  .site-header.site-header-solid{width:calc(100% - 42px);padding:15px 0}
  .site-header.site-header-solid .brand-logo{width:115px;height:42px}
  .site-header.site-header-solid.is-scrolled{width:calc(100% - 42px);padding:10px 0}
  .site-header.site-header-solid.is-scrolled .brand-logo{width:108px;height:40px}
  .site-header.site-header-solid .main-nav{background:var(--ink);color:#fff}
  .site-header.site-header-solid.header-over-dark:not(.is-scrolled) .menu-toggle{color:#fff;border-color:rgba(255,255,255,.8)}
  .page-hero--image{min-height:560px;padding:130px 0 58px}
  .page-hero--image .page-hero-content{width:calc(100% - 42px)}
  .hero{height:100svh}
}
