/* Homepage foundation and shared shell. Keep breakpoint-specific rules at their original cascade position. */

:root {
  --paper: #f4f3ed;
  --paper-2: #faf9f5;
  --ink: #131713;
  --muted: #545c55;
  --forest: #0d3424;
  --forest-deep: #071b12;
  --hero: #07100a;
  --line: rgba(19,23,19,.13);
  --line-dark: rgba(255,255,255,.14);
  --accent: #b9d7b4;
  --serif: "Playfair Display","Iowan Old Style",Georgia,serif;
  --sans: Inter,Arial,sans-serif;
  --mono: "JetBrains Mono",ui-monospace,monospace;
  --gutter: clamp(24px,4.35vw,70px);
  --container: 1400px;
  --mark-w: clamp(900px,88vw,1400px);
  --mark-right: -31vw;
  --mark-bottom: -18vh;
  --ease: cubic-bezier(.16,.82,.18,1);
  --ease-soft: cubic-bezier(.2,.72,.22,1);
}

* {
  box-sizing: border-box;
}

html {
  scroll-behavior: smooth;
}

body {
  margin: 0;
  font-family: var(--sans);
  -webkit-font-smoothing: antialiased;
}

a {
  color: inherit;
  text-decoration: none;
}

button,
a {
  -webkit-tap-highlight-color: transparent;
}

img {
  display: block;
  max-width: 100%;
}

button {
  font: inherit;
}

/* Home's sections share the shell measure, so nav, sections, closing band and footer
   all start on one edge. */
.container {
  width: min(calc(100% - 44px),var(--cv-shell-max,1280px));
  margin-inline: auto;
  padding-inline: 0;
}

@media (max-width:720px) {
  .container {
    width: calc(100% - 40px);
  }
}

@media (max-width:900px) {
  :root {
    --mark-w: 108vw;
    --mark-right: -37vw;
    --mark-bottom: -10vh;
  }
}

@media (max-width: 760px) {
  @media (max-width:760px) {
    :root {
      --mark-w: 134vw;
      --mark-right: -54vw;
      --mark-bottom: -2vh;
    }
  }
}

.kicker {
  display: block;
  margin-bottom: 18px;
  color: #315d48;
  font: 600 10.5px/1.2 var(--mono);
  text-transform: uppercase;
}

.display-title {
  margin: 0;
  font: 400 clamp(44px,5.5vw,78px)/.94 var(--serif);
  letter-spacing: -.045em;
}

.editorial-link {
  gap: 12px;
  font: 600 11.5px/1.35 var(--mono);
  letter-spacing: .012em;
}

.editorial-link b {
  font-size: 14px;
  font-weight: 500;
  transition: transform 180ms ease;
}

.editorial-link:hover b {
  transform: translate(2px,-2px);
}

.editorial-link {
  padding-bottom: 5px;
}

.reveal {
  transition: opacity 700ms var(--ease),transform 700ms var(--ease);
}

.reveal.is-visible {
  opacity: 1;
  transform: none;
}

@media (max-width: 760px) {
  @media (max-width:620px) {
    .display-title {
      font-size: clamp(42px,13vw,60px);
    }
  }
}

.kicker {
  font-size: 11px;
}

.editorial-link {
  font-size: 12px;
}

:root {
  --shell-paper: #f4f1e9;
  --shell-paper-2: #eee9df;
  --shell-paper-hi: #faf8f2;
  --shell-ink: #151a15;
  --shell-line: rgba(20,37,27,.16);
  --shell-line-soft: rgba(20,37,27,.085);
  --shell-moss: #9ab391;
  --shell-forest: #09251a;
  --shell-soil: #1b130d;
}

body {
  background: var(--shell-paper);
  color: var(--shell-ink);
}

main {
  position: relative;
  overflow: hidden;
}

main>section {
  scroll-margin-top: var(--nav-h);
}

.kicker {
  letter-spacing: .145em;
}

.display-title {
  text-wrap: balance;
}

.reveal {
  transition-duration: 640ms;
}

@media (prefers-reduced-motion:reduce) {
  html {
    scroll-behavior: auto;
  }

  .reveal {
    opacity: 1;
    transform: none;
  }
}

.page-home .shell-primary-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 46px;
  padding: 0 21px;
  border: 1px solid #141714;
  border-radius: 999px;
  background: #141714;
  color: #fff;
  font-size: .86rem;
  transition: transform 220ms var(--ease),background 220ms var(--ease);
}

.page-home .shell-primary-button:is(:hover,:focus-visible) {
  transform: translateY(-1px);
  background: #0d2f20;
}

.page-home .home-mavh,
.page-home .home-publication {
  position: relative;
  scroll-margin-top: var(--nav-h);
  overflow: hidden;
}

.page-home .home-mavh__media {
  min-width: 0;
}

.page-home .home-mavh__media img {
  height: clamp(500px,52vw,690px);
}

.page-home .home-mavh__media figcaption {
  justify-content: space-between;
  gap: 18px;
  padding-top: 10px;
  border-top: 1px solid rgba(19,23,19,.16);
}

.page-home .home-publication {
  color: var(--ink);
}

.page-home .home-publication__spread {
  grid-template-columns: minmax(0,.92fr) minmax(420px,1.08fr);
  gap: clamp(42px,6vw,92px);
  align-items: start;
}

.page-home .home-publication__lede {
  font: 400 clamp(24px,2.25vw,33px)/1.25 var(--serif);
  letter-spacing: -.025em;
}

.page-home .home-publication__record div {
  grid-template-columns: 118px 1fr;
  gap: 22px;
}

.page-home .home-publication__media figcaption {
  border-top: 1px solid rgba(19,23,19,.16);
  font: 500 10.5px/1.45 var(--mono);
}

@media (max-width:980px) {
  .page-home .home-mavh__grid {
    grid-template-columns: 1.05fr .95fr;
    gap: 36px;
  }

  .page-home .home-mavh__media img {
    height: 560px;
  }

  .page-home .home-publication__spread {
    grid-template-columns: 1fr 1fr;
    gap: 36px;
  }

  .page-home .home-publication__media img {
    height: 600px;
  }
}

@media (min-width: 761px) {
  @media (min-width:981px) {
    .page-home .home-mavh {
      padding-top: clamp(56px,5vw,72px);
      padding-bottom: clamp(56px,5vw,72px);
    }

    .page-home .home-mavh__grid {
      grid-template-columns: minmax(0,1.06fr) minmax(390px,.94fr);
      gap: clamp(42px,5vw,72px);
    }

    .page-home .home-mavh__media img {
      height: clamp(470px,43vw,590px);
    }

    .page-home .home-mavh__copy .display-title {
      font-size: clamp(50px,4.8vw,70px);
    }

    .page-home .home-mavh__dek {
      margin-top: 22px;
    }

    .page-home .home-publication {
      padding-top: clamp(56px,5vw,74px);
      padding-bottom: clamp(58px,5.2vw,76px);
    }

    .page-home .home-publication__spread {
      grid-template-columns: minmax(0,.96fr) minmax(420px,1.04fr);
      gap: clamp(44px,5.2vw,78px);
      align-items: center;
    }

    .page-home .home-publication__copy .display-title {
      max-width: 10.2ch;
      font-size: clamp(50px,4.9vw,70px);
    }

    .page-home .home-publication__lede {
      margin-top: 20px;
      font-size: clamp(23px,2vw,29px);
    }

    .page-home .home-publication__record {
      border-bottom: 1px solid rgba(19,23,19,.14);
    }

    .page-home .home-publication__record strong {
      line-height: 1.18;
    }

    .page-home .home-publication__media img {
      height: clamp(500px,43vw,600px);
    }
  }

  @media (min-width:981px) {
    .page-home .home-mavh__copy .display-title {
      max-width: 8em;
    }
  }
}

@media (max-width: 760px) {
  @media (max-width:760px) {
    .page-home .home-mavh__grid,
    .page-home .home-publication__spread {
      grid-template-columns: 1fr;
    }

    .page-home .home-mavh__copy {
      max-width: none;
    }
  }

  @media (max-width:760px) {
    .page-home .home-mavh__grid,
    .page-home .home-publication__spread {
      gap: 24px;
    }

    .page-home .home-mavh__media img {
      height: min(78vw,360px);
    }

    .page-home .home-publication__lede {
      margin-top: 18px;
    }

    .page-home .home-publication__record {
      margin: 22px 0 22px;
    }
  }

  @media (max-width:390px) {
    .page-home .home-publication__record div {
      padding: 11px 0;
    }
  }
}

.page-home .home-publication__masthead {
  padding-top: 2px;
  border-top: 1px solid rgba(19,23,19,.18);
}

.page-home .home-publication__copy {
  padding-top: 28px;
  max-width: none;
}

.page-home .home-publication__copy .display-title {
  margin-top: 18px;
}

.page-home .home-publication__intro {
  padding: 28px 0 6px;
}

.page-home .home-publication__media {
  margin-top: clamp(42px,4.2vw,62px);
}

.page-home .home-publication__media figcaption {
  justify-content: flex-end;
  padding-top: 9px;
}

.page-home .home-publication__record {
  grid-template-columns: repeat(3,minmax(0,1fr));
  gap: 0;
  border-top: 1px solid rgba(19,23,19,.2);
  border-bottom: 0;
}

.page-home .home-publication__record div {
  display: block;
  padding: 18px 24px 0 0;
  border-bottom: 0;
}

.page-home .home-publication__record dt {
  margin-bottom: 9px;
}

.page-home .home-publication__record span {
  max-width: 30ch;
}

@media (min-width: 761px) {
  @media (max-width:1180px) and (min-width:981px) {
    .page-home .home-publication__masthead {
      gap: 54px;
    }
  }
}

@media (max-width:980px) {
  .page-home .home-publication__masthead {
    grid-template-columns: 1.1fr .9fr;
    gap: 38px;
  }

  .page-home .home-publication__copy .display-title {
    font-size: clamp(56px,7.4vw,76px);
  }

  .page-home .home-publication__media img {
    aspect-ratio: 1.9/1;
  }
}

@media (max-width: 760px) {
  @media (max-width:760px) {
    .page-home .home-publication__masthead {
      padding-top: 0;
      border-top: 0;
    }

    .page-home .home-publication__intro {
      padding: 24px 0 0;
      max-width: none;
      border-top: 1px solid rgba(19,23,19,.16);
    }

    .page-home .home-publication__record div+div {
      padding-left: 0;
      border-left: 0;
    }
  }

  @media (max-width:760px) {
    .page-home .home-publication__record {
      display: grid;
      grid-template-columns: 1fr;
    }

    .page-home .home-publication__record div,
    .page-home .home-publication__record div+div {
      border-bottom: 1px solid rgba(19,23,19,.11);
    }
  }

  @media (max-width:760px) {
    .page-home .home-publication__record {
      padding-top: 16px;
    }

    .page-home .home-publication__record div,
    .page-home .home-publication__record div+div {
      padding: 0;
      border: 0;
    }
  }
}

.page-home .home-ci-depth {
  position: relative;
  scroll-margin-top: var(--nav-h);
  overflow: hidden;
  padding: clamp(60px,6vw,86px) 0 clamp(58px,5.5vw,80px);
  color: var(--ink);
  border-top: 1px solid rgba(19,23,19,.11);
  border-bottom: 1px solid rgba(19,23,19,.11);
}

@media (max-width: 760px) {
  @media (max-width:760px) {
    body.page-home .cv-global-nav[data-cv-tone="overlay"]:not(.is-scrolled) .cv-global-menu {
      width: 44px;
      height: 44px;
      min-width: 44px;
      min-height: 44px;
      border: 1px solid rgba(255,255,255,.68);
      background: rgba(5,12,8,.24);
      box-shadow: 0 2px 14px rgba(0,0,0,.13),inset 0 0 0 1px rgba(0,0,0,.06);
      backdrop-filter: blur(5px);
      -webkit-backdrop-filter: blur(5px);
      filter: drop-shadow(0 1px 2px rgba(0,0,0,.32));
    }

    body.page-home .cv-global-menu::before,
    body.page-home .cv-global-menu::after {
      width: 15px;
      height: 1.75px;
    }
  }
}

@media (prefers-reduced-motion:reduce) {
  body.page-home .cv-global-menu {
    backdrop-filter: none;
    -webkit-backdrop-filter: none;
  }
}

.page-home .home-ci-depth {
  background: #edf1e9;
}

@media (max-width: 760px) {
  @media (max-width:380px) {
    .page-home .home-ci-depth {
      padding-top: 34px;
      padding-bottom: 36px;
    }
  }
}

@media (max-width: 760px) {
  @media (min-width:401px) and (max-width:760px) {
    .page-home .home-ci-depth {
      padding-top: 32px;
      padding-bottom: 34px;
    }
  }
}

.page-home .home-mavh__media figcaption {
  font-size: 11px;
  line-height: 1.5;
}

.page-home .home-mavh__copy>.editorial-link {
  display: inline-flex;
  min-height: 46px;
  align-items: center;
  gap: 8px;
  color: #173e2b;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: .01em;
}

.page-home .home-publication__record dt {
  font-size: 11.5px;
  font-weight: 600;
}

.page-home .home-publication__record strong {
  font-size: clamp(22px,1.85vw,27px);
  line-height: 1.08;
}

@media (min-width: 761px) {
  @media (min-width:761px) and (max-width:820px) {
    .page-home .home-mavh__grid {
      grid-template-columns: 1fr;
      gap: 26px;
    }

    .page-home .home-mavh__media img {
      height: min(62vw,460px);
    }

    .page-home .home-mavh__copy .display-title {
      max-width: 12.5ch;
      font-size: clamp(44px,6vw,50px);
      line-height: .96;
    }
  }
}

@media (max-width: 760px) {
  @media (max-width:760px) {
    .page-home .home-mavh__grid {
      gap: 20px;
    }

    .page-home .home-mavh__media figcaption,
    .page-home .home-publication__media figcaption {
      padding-top: 8px;
      font-size: 11.5px;
      line-height: 1.45;
    }

    .page-home .home-mavh__copy .display-title {
      margin-top: 10px;
    }

    .page-home .home-mavh__dek {
      margin-top: 14px;
    }

    .page-home .home-mavh__copy>.editorial-link {
      width: 100%;
      min-height: 48px;
      padding: 0 2px;
      justify-content: space-between;
      border-bottom: 1px solid rgba(23,62,43,.28);
      font-size: 12.5px;
    }

    .page-home .home-publication__masthead {
      display: block;
    }

    .page-home .home-publication__lede {
      line-height: 1.18;
    }

    .page-home .home-publication__intro .editorial-link {
      display: inline-flex;
      min-height: 46px;
      align-items: center;
      margin-top: 14px;
      font-size: 11px;
      font-weight: 600;
    }

    .page-home .home-publication__plate {
      display: flex;
      flex-direction: column;
    }

    .page-home .home-publication__media {
      order: 1;
      margin-top: 0;
    }

    .page-home .home-publication__record {
      order: 2;
      border-top: 1px solid rgba(19,23,19,.22);
    }

    .page-home .home-publication__record div {
      position: relative;
      display: grid;
      align-items: start;
    }

    .page-home .home-publication__record dt {
      padding-top: 3px;
      color: #3f5146;
      font-size: 11.5px;
      font-weight: 600;
      line-height: 1.3;
      letter-spacing: .025em;
    }

    .page-home .home-publication__record strong {
      line-height: 1.02;
    }

    .page-home .home-publication__record span {
      color: #526158;
    }
  }

  @media (max-width:390px) {
    .page-home .home-publication__record div {
      grid-template-columns: 1fr;
      gap: 6px;
    }

    .page-home .home-publication__record dt {
      padding-top: 0;
    }

    .page-home .home-publication__record strong {
      max-width: 12ch;
    }
  }

  @media (max-width:760px) {
    .page-home .home-mavh__copy .display-title {
      font-size: clamp(38px,10.4vw,46px);
      line-height: .96;
    }
  }
}

:root {
  --cv-nav-height: 64px;
  --global-nav-height: var(--cv-nav-height);
  --nav-height: var(--cv-nav-height);
  --nav-h: var(--cv-nav-height);
  --cv-shell-max: 1280px;
  --cv-shell-gutter: clamp(22px,3.5vw,42px);
  --cv-shell-paper: rgba(249,249,245,.975);
  --cv-shell-ink: #171b17;
  --cv-shell-muted: #656b65;
  --cv-shell-line: rgba(23,27,23,.12);
  --cv-shell-ease: cubic-bezier(.16,1,.3,1);
}

.cv-global-nav {
  --cv-nav-cta: #141814;
  position: fixed;
  inset: 0 0 auto;
  z-index: 1000;
  height: var(--cv-nav-height);
  color: var(--cv-shell-ink);
  background: var(--cv-shell-paper);
  border-bottom: 1px solid var(--cv-shell-line);
  box-shadow: none;
  backdrop-filter: blur(18px) saturate(1.04);
  -webkit-backdrop-filter: blur(18px) saturate(1.04);
  transition: background .28s var(--cv-shell-ease),color .28s var(--cv-shell-ease),border-color .28s var(--cv-shell-ease),backdrop-filter .28s var(--cv-shell-ease);
}

.cv-global-nav[data-cv-page="advisory"] {
  --cv-nav-cta: #0b4936;
}

.cv-global-nav[data-cv-page="farms"] {
  --cv-nav-cta: #315541;
}

.cv-global-nav[data-cv-page="insights"] {
  --cv-nav-cta: #554a38;
}

.cv-global-nav[data-cv-page="about"] {
  --cv-nav-cta: #294638;
}

.cv-global-nav[data-cv-page="contact"] {
  --cv-nav-cta: #18362c;
}

.cv-global-nav[data-cv-page="field-systems"] {
  --cv-nav-cta: #141814;
}

.cv-global-nav__inner {
  width: min(calc(100% - 44px),var(--cv-shell-max));
  height: 100%;
  margin-inline: auto;
  display: grid;
  grid-template-columns: 136px 1fr auto;
  align-items: center;
  gap: clamp(24px,2.8vw,44px);
}

.cv-global-brand {
  position: relative;
  display: inline-flex;
  align-items: center;
  align-self: center;
  width: 136px;
  height: 44px;
  min-height: 44px;
}

.cv-global-logo {
  position: absolute;
  left: 0;
  top: 50%;
  width: 136px;
  height: auto;
  transform: translateY(calc(-50% + 1px));
  transition: opacity .22s ease;
  pointer-events: none;
  filter: none;
  box-shadow: none;
  object-fit: contain;
  object-position: left center;
}

.cv-global-logo--primary {
  opacity: 1;
}

.cv-global-logo--reverse {
  opacity: 0;
}

.cv-global-links {
  justify-self: center;
  display: flex;
  align-items: center;
  gap: clamp(20px,1.65vw,30px);
  font-family: var(--mono,"JetBrains Mono",ui-monospace,monospace);
  font-size: 10.5px;
  font-weight: 500;
  line-height: 1;
  letter-spacing: .085em;
  text-transform: uppercase;
  color: var(--cv-shell-muted);
}

.cv-global-links a {
  position: relative;
  display: inline-flex;
  align-items: center;
  min-height: 44px;
  white-space: nowrap;
  color: inherit;
  text-decoration: none;
  transition: color .18s ease,opacity .18s ease;
}

.cv-global-links a::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: 7px;
  height: 1px;
  background: currentColor;
  opacity: 0;
  transform: scaleX(.62);
  transform-origin: center;
  transition: opacity .18s ease,transform .2s var(--cv-shell-ease);
}

.cv-global-links a:is(:hover,:focus-visible,[aria-current="page"]) {
  color: var(--cv-shell-ink);
}

.cv-global-links a:is(:hover,:focus-visible,[aria-current="page"])::after {
  opacity: .64;
  transform: scaleX(1);
}

.cv-global-cta {
  display: inline-flex;
}

.cv-global-menu {
  display: none;
  position: relative;
  justify-self: end;
  align-items: center;
  justify-content: center;
  width: 44px;
  height: 44px;
  min-width: 44px;
  min-height: 44px;
  padding: 0;
  border: 0;
  border-radius: 50%;
  background: radial-gradient(circle at center,transparent 0 18px,currentColor 18px 19px,transparent 19px);
  color: inherit;
  font-size: 0;
  line-height: 0;
  cursor: pointer;
  transition: color .16s ease,opacity .16s ease,filter .16s ease;
}

.cv-global-menu::before,
.cv-global-menu::after {
  content: "";
  position: absolute;
  left: 50%;
  top: 50%;
  width: 14px;
  height: 1.5px;
  border-radius: 999px;
  background: currentColor;
  transform-origin: center;
  transition: transform 140ms var(--cv-shell-ease);
}

.cv-global-menu::before {
  transform: translate(-50%,-50%) rotate(0deg);
}

.cv-global-menu::after {
  transform: translate(-50%,-50%) rotate(90deg);
}

.cv-global-menu[aria-expanded="true"]::before {
  transform: translate(-50%,-50%) rotate(45deg);
}

.cv-global-menu[aria-expanded="true"]::after {
  transform: translate(-50%,-50%) rotate(135deg);
}

.cv-global-menu:is(:hover,:focus-visible) {
  opacity: 1;
}

.cv-global-menu:focus-visible {
  outline: 2px solid currentColor;
  outline-offset: 2px;
}

.cv-global-mobile {
  display: none;
  position: fixed;
  top: var(--cv-nav-height);
  left: 0;
  right: 0;
  z-index: 999;
  padding: 10px 22px max(24px,env(safe-area-inset-bottom));
  border-bottom: 1px solid var(--cv-shell-line);
  background: rgba(249,249,245,.992);
  box-shadow: 0 20px 48px rgba(10,24,16,.12);
}

.cv-global-mobile.is-open {
  display: grid;
}

.cv-global-mobile a {
  display: flex;
  align-items: center;
  min-height: 48px;
  border-bottom: 1px solid rgba(23,27,23,.09);
  color: var(--cv-shell-ink);
  font-family: var(--mono,"JetBrains Mono",ui-monospace,monospace);
  font-size: 11.5px;
  font-weight: 500;
  letter-spacing: .06em;
  text-transform: uppercase;
  text-decoration: none;
}

.cv-global-mobile a[aria-current="page"] {
  font-weight: 600;
}

.cv-global-mobile .cv-global-mobile__cta {
  justify-content: center;
  margin-top: 12px;
  border: 0;
  border-radius: 999px;
  background: #151a15;
  color: #fff;
}

body.mobile-menu-open,
body.global-menu-open {
  overflow: hidden;
}

.cv-global-nav[data-cv-tone="overlay"]:not(.is-scrolled) {
  color: #fff;
  background: transparent;
  border-bottom-color: transparent;
  backdrop-filter: none;
  -webkit-backdrop-filter: none;
}

.cv-global-nav[data-cv-tone="overlay"]:not(.is-scrolled) .cv-global-logo--primary {
  opacity: 0;
}

.cv-global-nav[data-cv-tone="overlay"]:not(.is-scrolled) .cv-global-logo--reverse {
  opacity: 1;
}

.cv-global-nav[data-cv-tone="overlay"]:not(.is-scrolled) .cv-global-links {
  color: rgba(255,255,255,.84);
}

.cv-global-nav[data-cv-tone="overlay"]:not(.is-scrolled) .cv-global-links a:is(:hover,:focus-visible,[aria-current="page"]) {
  color: #fff;
}

.cv-global-nav[data-cv-tone="overlay"]:not(.is-scrolled) .cv-global-cta {
  background: rgba(10,18,12,.34);
  color: #fff;
  box-shadow: none;
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
}

.cv-global-nav[data-cv-tone="overlay"]:not(.is-scrolled) .cv-global-menu {
  color: #fff;
  filter: drop-shadow(0 1px 2px rgba(0,0,0,.42));
}

.cv-global-nav[data-cv-entry="transparent"][data-cv-tone="light"]:not(.is-scrolled) {
  color: var(--cv-shell-ink);
  background: transparent;
  border-bottom-color: transparent;
  backdrop-filter: none;
  -webkit-backdrop-filter: none;
}

.cv-global-nav[data-cv-entry="transparent"][data-cv-tone="light"]:not(.is-scrolled) .cv-global-cta {
  background: var(--cv-nav-cta);
  color: #fff;
  box-shadow: none;
}

.cv-footer-v3 {
  position: relative;
  margin: 0;
  background: #070d09;
  color: #f3f5ef;
  border-top: 1px solid rgba(169,202,156,.22);
}

.cv-footer-v3::before {
  content: "";
  position: absolute;
  top: 0;
  left: 50%;
  width: min(calc(100% - 44px),var(--cv-shell-max));
  height: 1px;
  transform: translateX(-50%);
  background: linear-gradient(90deg,rgba(183,218,161,.58),rgba(183,218,161,.08) 58%,transparent);
}

.cv-footer-v3__inner {
  width: min(calc(100% - 44px),var(--cv-shell-max));
  margin-inline: auto;
  padding: clamp(34px,3.5vw,48px) 0 clamp(25px,2.6vw,34px);
  display: grid;
  grid-template-columns: minmax(210px,.62fr) minmax(0,1.38fr);
  gap: clamp(38px,6vw,86px);
  align-items: end;
}

.cv-footer-v3__mast {
  display: grid;
  gap: 13px;
}

.cv-footer-v3__brand {
  display: inline-flex;
  width: 140px;
  min-height: 44px;
  align-items: center;
}

.cv-footer-v3__brand img {
  display: block;
  width: 140px;
  height: auto;
}

.cv-footer-v3__mast p {
  margin: 0;
  color: rgba(243,245,239,.76);
  font-family: var(--sans,Inter,system-ui,sans-serif);
  font-size: .94rem;
  line-height: 1.45;
}

.cv-footer-v3__utility {
  display: grid;
  gap: 21px;
}

.cv-footer-v3__nav {
  display: flex;
  flex-wrap: wrap;
  gap: 4px clamp(18px,2vw,30px);
}

.cv-footer-v3__nav a,
.cv-footer-v3__contact a {
  display: inline-flex;
  align-items: center;
  min-height: 44px;
  color: rgba(243,245,239,.82);
  text-decoration: none;
  font-family: var(--mono,"JetBrains Mono",ui-monospace,monospace);
  font-size: 11px;
  font-weight: 550;
  line-height: 1.3;
  letter-spacing: .045em;
  text-transform: uppercase;
  transition: color .18s ease;
}

.cv-footer-v3__nav a:is(:hover,:focus-visible),
.cv-footer-v3__contact a:is(:hover,:focus-visible) {
  color: #fff;
}

.cv-footer-v3__contact {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 4px 28px;
  padding-top: 14px;
  border-top: 1px solid rgba(255,255,255,.14);
}

.cv-footer-v3__contact>a:first-child {
  color: rgba(243,245,239,.94);
  text-transform: none;
  letter-spacing: .02em;
}

.cv-footer-v3__credit {
  color: rgba(243,245,239,.68) !important;
  font-size: 10.5px !important;
  text-transform: none !important;
  letter-spacing: .025em !important;
}

@media (max-width:1180px) {
  .cv-global-nav__inner {
    grid-template-columns: 128px 1fr auto;
  }

  .cv-global-links,
  .cv-global-cta {
    display: none;
  }

  .cv-global-menu {
    display: inline-flex;
    align-items: center;
  }

  .cv-global-brand,
  .cv-global-logo {
    width: 128px;
  }
}

@media (max-width: 760px) {
  @media (max-width:720px) {
    :root {
      --cv-nav-height: 58px;
      --global-nav-height: 58px;
      --nav-height: 58px;
      --nav-h: 58px;
    }

    .cv-global-nav__inner {
      width: calc(100% - 40px);
      grid-template-columns: clamp(116px,30.5vw,124px) 1fr auto;
    }

    .cv-global-brand,
    .cv-global-logo {
      width: clamp(116px,30.5vw,124px);
    }

    .cv-global-mobile {
      padding-inline: 18px;
    }

    .cv-footer-v3__inner {
      width: calc(100% - 40px);
      grid-template-columns: 1fr;
      gap: 28px;
      padding-top: 34px;
    }

    .cv-footer-v3__utility {
      gap: 18px;
    }

    .cv-footer-v3__nav {
      display: grid;
      grid-template-columns: 1fr 1fr;
      gap: 0 20px;
    }

    .cv-footer-v3__nav a {
      min-height: 44px;
      display: flex;
      align-items: center;
    }

    .cv-footer-v3__contact {
      display: grid;
      justify-content: start;
    }
  }
}

@media (max-width:767px) {
  body.page-home .cv-global-nav[data-cv-tone="overlay"]:not(.is-scrolled) .cv-global-menu {
    color: #fff;
  }
}

@media (prefers-reduced-motion:reduce) {
  .cv-global-nav,
  .cv-global-logo,
  .cv-global-links a,
  .cv-global-links a::after,
  .cv-global-cta,
  .cv-global-menu,
  .cv-global-menu::before,
  .cv-global-menu::after {
    transition: none;
  }
}

body.page-home {
  --cv-page-cta: #141814;
  --cv-page-cta-hover: #263128;
}

.cv-global-links a,
.cv-global-links a:is(:hover,:focus-visible,[aria-current="page"]) {
  background: transparent;
  box-shadow: none;
  transform: none;
}

body .cv-primary-cta {
  display: inline-flex;
}

.cv-global-cta,
body .cv-primary-cta {
  align-items: center;
  justify-content: center;
  min-height: 44px;
  padding: 0 20px;
  border: 1px solid var(--cv-page-cta,var(--cv-nav-cta,#141814));
  border-radius: 999px;
  background: var(--cv-page-cta,var(--cv-nav-cta,#141814));
  color: #fff;
  text-decoration: none;
  white-space: nowrap;
  font-family: var(--mono,"JetBrains Mono",ui-monospace,monospace);
  font-size: 11px;
  font-weight: 600;
  line-height: 1;
  letter-spacing: .035em;
  box-shadow: none;
  transition: background .18s ease,border-color .18s ease,color .18s ease;
}

.cv-global-cta:is(:hover,:focus-visible),
body .cv-primary-cta:is(:hover,:focus-visible) {
  background: var(--cv-page-cta-hover,var(--cv-page-cta,#141814));
  border-color: var(--cv-page-cta-hover,var(--cv-page-cta,#141814));
  color: #fff !important;
  transform: none;
  filter: none;
  box-shadow: none;
}

.cv-global-nav[data-cv-tone="overlay"]:not(.is-scrolled) .cv-global-cta {
  --cv-page-cta: rgba(10,18,12,.28);
  --cv-page-cta-hover: rgba(10,18,12,.42);
  border-color: rgba(255,255,255,.56);
}

body .cv-primary-cta:disabled,
body .cv-primary-cta[aria-disabled="true"] {
  background: #e3e7e2;
  border-color: #d7dcd6;
  color: #747d76;
  cursor: not-allowed;
  box-shadow: none;
}

body .cv-footer-v3 {
  margin-top: 0;
}

body .cv-footer-v3__brand img {
  max-width: 100%;
  object-fit: contain;
}

.skip-link {
  position: fixed;
  top: 12px;
  left: 12px;
  z-index: 10000;
  display: inline-flex;
  min-height: 44px;
  align-items: center;
  padding: 10px 16px;
  border-radius: 999px;
  background: #fff;
  color: #102018;
  font: 600 .875rem/1.2 Inter,system-ui,sans-serif;
  text-decoration: none;
  box-shadow: 0 8px 24px rgba(8,24,16,.18);
  transform: translateY(calc(-100% - 24px));
  transition: transform 150ms ease;
}

.skip-link:focus,
.skip-link:focus-visible {
  transform: translateY(0);
}

:root {
  --cv-shell-offset: var(--cv-nav-height);
}

@media (max-width:767px) {
  .cv-global-cta,
  .cv-global-mobile .cv-global-mobile__cta {
    display: none !important;
  }

  .cv-global-mobile a:last-child:not([aria-current="page"]) {
    margin-bottom: 0;
  }
}

body .global-closing.global-closing {
  position: relative;
  isolation: isolate;
  margin: 0;
  padding: clamp(66px,7.5vw,104px) 0 clamp(80px,8.5vw,122px);
  background: #10261a;
  color: #f3f4ee;
  border-top: 1px solid rgba(255,255,255,.12);
  overflow: hidden;
}

body .global-closing.global-closing::after {
  content: none;
}

body .global-closing.global-closing>.container {
  position: relative;
  z-index: 1;
  width: min(calc(100% - 44px),var(--cv-shell-max,1280px));
  max-width: none;
  margin-inline: auto;
  padding-inline: 0;
}

body .global-cta-band.global-cta-band {
  display: grid;
  width: 100%;
  margin: 0;
  grid-template-columns: minmax(0,.98fr) minmax(300px,.62fr);
  gap: clamp(42px,7vw,104px);
  align-items: end;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  color: inherit;
  box-shadow: none;
}

body .global-cta-kicker.global-cta-kicker {
  display: block;
  margin-bottom: 16px;
  color: #a9c49d;
  font-family: var(--mono,"JetBrains Mono",ui-monospace,monospace);
  font-size: 10px;
  font-weight: 600;
  line-height: 1.3;
  letter-spacing: .15em;
  text-transform: uppercase;
}

body .global-cta-title.global-cta-title {
  max-width: 10ch;
  margin: 0;
  color: #f5f4ed;
  font-family: var(--serif,"Playfair Display",Georgia,serif);
  font-size: clamp(3.35rem,5.2vw,5.75rem);
  font-weight: 500;
  line-height: .93;
  letter-spacing: -.048em;
}

body .global-cta-action.global-cta-action {
  display: flex;
  min-width: 0;
  flex-direction: column;
  align-items: flex-start;
  gap: 0;
  padding-bottom: 4px;
}

body .global-cta-copy.global-cta-copy {
  max-width: 31rem;
  margin: 0;
  color: rgba(243,244,238,.72);
  font-family: var(--sans,Inter,system-ui,sans-serif);
  font-size: clamp(1rem,1.15vw,1.08rem);
  font-weight: 400;
  line-height: 1.58;
}

body .global-cta-actions.global-cta-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin-top: 26px;
}

body .global-closing .cv-primary-cta,
body .global-closing .shell-primary-button {
  --cv-page-cta: #eef0e7;
  --cv-page-cta-hover: #ffffff;
  border-color: #eef0e7;
  background: #eef0e7;
  color: #10261a !important;
}

body .global-closing .cv-primary-cta:is(:hover,:focus-visible),
body .global-closing .shell-primary-button:is(:hover,:focus-visible) {
  border-color: #fff;
  background: #fff;
  color: #10261a !important;
}

@media (max-width: 900px) {
  body .global-cta-band.global-cta-band {
    grid-template-columns: 1fr !important;
    gap: 28px !important;
    align-items: start !important;
  }

  body .global-cta-title.global-cta-title {
    max-width: 11ch;
  }
}

@media (max-width: 760px) {
  @media (max-width: 620px) {
    body .global-closing.global-closing {
      padding: 52px 0 54px;
    }

    body .global-closing.global-closing>.container {
      width: calc(100% - 40px);
      padding-inline: 0;
    }

    body .global-cta-band.global-cta-band {
      padding: 0 !important;
      border-radius: 0 !important;
    }

    body .global-cta-title.global-cta-title {
      font-size: clamp(2.7rem,12vw,3.7rem);
    }
  }
}

@media (prefers-reduced-motion:reduce) {
  body.page-home *,
  body.page-home *::before,
  body.page-home *::after {
    transition: none !important;
    animation: none !important;
    scroll-behavior: auto !important;
  }
}

@media (min-width: 761px) {
  @media (min-width:761px) {
    .page-home .home-ci-depth {
      background: #eef1e9;
      padding: 76px 0 82px;
    }
  }

  @media (min-width:761px) and (max-width:1100px) {
    .page-home .home-ci-depth {
      padding: 62px 0 70px;
    }
  }
}

.page-home .home-proof-caption__label {
  display: block;
}

.page-home .home-publication__media figcaption {
  gap: 12px 28px;
  align-items: start;
}

@media (min-width: 761px) {
  @media (min-width:761px) {
    .page-home .home-mavh__media figcaption {
      display: grid;
      grid-template-columns: minmax(190px,.9fr) minmax(220px,1.1fr);
      gap: 10px 24px;
      align-items: start;
    }

    .page-home .home-mavh__media figcaption,
    .page-home .home-publication__media figcaption {
      padding-top: 11px;
      font-size: 10.75px;
      line-height: 1.48;
    }

    .page-home .home-publication__record dt {
      margin-bottom: 7px;
    }

    .page-home .home-publication__record strong {
      font-size: clamp(21px,1.55vw,25px);
      line-height: 1.08;
    }

    .page-home .home-publication__record span {
      max-width: 30ch;
      font-size: 11px;
      line-height: 1.42;
    }
  }
}

@media (max-width: 760px) {
  @media (max-width:760px) {
    .page-home .home-mavh__media img {
      object-position: center 60%;
    }

    .page-home .home-mavh__media figcaption,
    .page-home .home-publication__media figcaption {
      display: block;
    }

    .page-home .home-publication__record div:last-child strong {
      max-width: 10ch;
    }
  }
}

@media (max-width: 760px) {
  @media (max-width:760px) {
    .page-home .home-ci-depth {
      padding: 42px 0 46px;
    }

    .page-home .home-publication {
      overflow: visible;
      scroll-margin-top: calc(var(--cv-nav-height,64px) + 18px);
    }

    .page-home .home-publication__spread {
      display: block;
      transform: none !important;
      overflow: visible;
    }

    .page-home .home-publication__copy {
      padding-top: 0;
      overflow: visible;
    }

    .page-home .home-publication__copy .display-title {
      margin-top: 9px;
      font-size: clamp(39px,10.5vw,46px);
      line-height: .94;
      overflow: visible;
    }

    .page-home .home-publication__intro {
      margin-top: 17px;
      padding-top: 16px;
    }

    .page-home .home-publication__lede {
      font-size: clamp(22px,6.2vw,27px);
    }

    .page-home .home-publication__plate {
      margin-top: 20px;
    }

    .page-home .home-publication__media img {
      height: auto;
      aspect-ratio: 1.24/1;
      object-position: center 55%;
    }

    .page-home .home-publication__media figcaption {
      padding-top: 8px;
      font-size: 11px;
      line-height: 1.42;
    }

    .page-home .home-publication__record {
      margin-top: 16px;
    }

    .page-home .home-publication__record strong {
      max-width: none !important;
    }

    .page-home .home-publication__record span {
      margin-top: 4px;
      font-size: 11px;
      line-height: 1.4;
    }
  }
}

.editorial-arrow {
  display: block;
  flex: 0 0 auto;
  width: 16px;
  height: 16px;
  overflow: visible;
}

.editorial-arrow path {
  fill: none;
  stroke: currentColor;
  stroke-width: 1.4;
  stroke-linecap: square;
  stroke-linejoin: miter;
}

body.page-home .cv-global-nav[data-cv-tone="overlay"]:not(.is-scrolled) .cv-global-cta {
  background: rgba(4,13,8,.7);
  border-color: rgba(255,255,255,.66);
  color: #fff;
}

.page-home .editorial-link {
  position: relative;
  display: inline-flex;
  width: max-content;
  max-width: 100%;
  min-height: 44px;
  align-items: center;
  gap: 8px;
  padding: 0;
  border: 0;
  line-height: 1.35;
}

.page-home .editorial-link::after {
  content: "";
  position: absolute;
  left: 0;
  right: -6px;
  bottom: 5px;
  height: 1px;
  background: currentColor;
  opacity: .3;
  transform-origin: left;
  transition: opacity 180ms ease,transform 220ms var(--ease,cubic-bezier(.22,1,.36,1));
}

.page-home .editorial-link:is(:hover,:focus-visible)::after {
  opacity: .72;
  transform: scaleX(.97);
}

.page-home .editorial-link:is(:hover,:focus-visible) .editorial-arrow {
  transform: translate(2px,-2px);
}

.page-home .editorial-arrow {
  transition: transform 180ms ease;
}

.page-home .home-mavh__media picture,
.page-home .home-mavh__media picture img {
  display: block;
  width: 100%;
}

.page-home .home-mavh__media figcaption,
.page-home .home-publication__media figcaption {
  display: block;
  grid-template-columns: none;
}

.page-home .home-proof-caption__label {
  color: #4b574f;
  font-weight: 500;
}

.page-home .home-publication__record div:last-child strong {
  max-width: 15ch;
}

@media (min-width: 761px) {
  @media (min-width: 761px) {
    .page-home .home-mavh__copy .display-title {
      max-width: 12.5ch;
    }
  }
}

@media (max-width: 760px) {
  @media (max-width: 760px) {
    .page-home .home-mavh,
    .page-home .home-ci-depth,
    .page-home .home-publication {
      padding-top: 42px;
      padding-bottom: 46px;
    }

    .page-home .home-mavh__copy .display-title {
      max-width: 13ch;
    }

    .page-home .home-mavh__dek {
      max-width: 35ch;
      font-size: 14px;
      line-height: 1.48;
    }

    .page-home .home-publication__copy .display-title {
      max-width: 9.5ch;
    }

    .page-home .home-publication__record {
      gap: 0;
    }

    .page-home .home-publication__record div,
    .page-home .home-publication__record div + div {
      grid-template-columns: minmax(0,1fr);
      gap: 8px;
      min-height: 64px;
      padding: 10px 0;
      border-bottom: 1px solid rgba(19,23,19,.11);
    }

    .page-home .home-publication__record strong {
      font-size: clamp(24px,6.8vw,30px);
    }
  }
}

@media (prefers-reduced-motion: reduce) {
  .page-home .editorial-link::after,
  .page-home .editorial-arrow {
    transition: none !important;
  }
}

/* Shared readability and optical rules. */

.reveal {
  opacity: 1 !important;
  transform: none !important;
}

.editorial-link {
  position: relative;
  display: inline-flex;
  width: max-content;
  max-width: 100%;
  align-items: center;
  border-bottom: 0 !important;
  text-decoration: none;
}

.editorial-link::after {
  content: "";
  position: absolute;
  right: 0;
  bottom: 3px;
  left: 0;
  height: 1px;
  background: currentColor;
  opacity: .3;
}

@media (prefers-reduced-motion: reduce) {
  .reveal {
    transition: none !important;
    animation: none !important;
  }
}

@media (scripting: none) and (max-width: 760px) {
  body:not(.page-retained-capital) .cv-global-nav {
    position: relative !important;
    inset: auto !important;
    height: auto !important;
    min-height: 58px !important;
    background: #f9f9f5 !important;
    color: #171b17 !important;
    border-bottom: 1px solid rgba(23,27,23,.12) !important;
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
  }

  body:not(.page-retained-capital) .cv-global-nav__inner {
    height: auto !important;
    min-height: 58px !important;
    grid-template-columns: minmax(116px,128px) 1fr !important;
    gap: 8px 18px !important;
    padding: 7px 0 9px !important;
  }

  body:not(.page-retained-capital) .cv-global-logo--primary {
    opacity: 1 !important;
  }

  body:not(.page-retained-capital) .cv-global-logo--reverse {
    opacity: 0 !important;
  }

  body:not(.page-retained-capital) .cv-global-menu,
  body:not(.page-retained-capital) .cv-global-cta {
    display: none !important;
  }

  body:not(.page-retained-capital) .cv-global-links {
    display: flex !important;
    grid-column: 1 / -1 !important;
    justify-self: start !important;
    flex-wrap: wrap !important;
    gap: 0 16px !important;
    color: #656b65 !important;
  }

  body:not(.page-retained-capital) .cv-global-links a {
    min-height: 44px !important;
    color: inherit !important;
  }

  body:not(.page-retained-capital) .cv-global-mobile {
    display: none !important;
  }

  body:not(.page-retained-capital) .cv-global-mobile + main {
    padding-top: 0 !important;
  }
}

/* Shared media treatment. */

:root {
  --cv-photo-saturation: .86;
  --cv-photo-contrast: 1.035;
  --cv-photo-sepia: .012;
}

/* Projects and publication. */

body.page-home main {
  overflow: clip;
}

.page-home .home-mavh__media picture,
.page-home .home-mavh__media img {
  width: 100%;
}

.page-home .home-mavh__dek {
  margin-top: 18px;
}

.page-home .home-ci-story {
  padding-top: clamp(72px,7vw,102px);
}

@media (min-width:901px) {
  body.page-home .home-ci-story {
    --home-ci-plate-height: min(660px,calc(100svh - var(--nav-h) - 64px));
  }

  body.page-home .home-ci-story__body {
    min-height: calc(var(--home-ci-plate-height) + 42svh);
    margin-top: 44px;
    gap: clamp(48px,6.2vw,92px);
  }

  .page-home .home-ci-story__visual,
  .page-home .home-ci-story__steps {
    min-height: 0;
    height: var(--home-ci-plate-height);
  }
}

.page-home .home-publication {
  padding: clamp(78px,8vw,118px) 0 clamp(64px,6vw,96px);
  background: #e7e2d7;
  border-top: 1px solid rgba(19,23,19,.13);
}

.page-home .home-publication__spread {
  display: block;
}

.page-home .home-publication__masthead {
  display: grid;
  grid-template-columns: minmax(0,1.08fr) minmax(300px,.62fr);
  gap: clamp(42px,7vw,108px);
  align-items: end;
  margin-bottom: clamp(36px,4.5vw,58px);
}

.page-home .home-publication__copy .display-title {
  max-width: 12ch;
  margin: 15px 0 0;
  font-size: clamp(50px,5vw,76px);
  line-height: .93;
  letter-spacing: -.05em;
}

/* The introduction sits on the headline's last line, as one block with it. */
.page-home .home-publication__intro {
  max-width: 390px;
  margin-left: auto;
  padding: 0 0 .35em;
  border-top: 0;
}

.page-home .home-publication__lede {
  max-width: 31ch;
  margin: 0;
  color: #414a43;
  font-family: var(--sans);
  font-size: 16px;
  line-height: 1.55;
}

.page-home .home-publication__intro .editorial-link {
  margin-top: 20px;
}

/* One large photograph, then the record beneath it. */
.page-home .home-publication__plate {
  display: grid;
  grid-template-columns: minmax(0,1fr);
  gap: 0;
}

.page-home .home-publication__media {
  position: relative;
  min-width: 0;
  margin: 0;
  overflow: hidden;
}

.page-home .home-publication__media img {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 16/9;
  object-fit: cover;
  object-position: 50% 62%;
}

.page-home .home-publication__media figcaption {
  position: static;
  padding: 12px 0;
  color: #4f5952;
  font-size: 12px;
  line-height: 1.5;
  text-shadow: none;
}

.page-home .home-publication__media .home-proof-caption__label {
  color: inherit;
}

.page-home .home-publication__record {
  margin: 8px 0 0;
  display: grid;
  grid-template-columns: minmax(0,1fr);
}

/* The record reads as a ledger under the photograph (Record, Change), and what is not
   shown is set apart as the question the page asks. No equal boxes. */
.page-home .home-publication__record>div {
  display: grid;
  grid-template-columns: minmax(0,1fr);
  gap: 6px;
  align-content: start;
  min-height: 0;
  padding: 16px 0;
  border: 0;
  border-bottom: 1px solid rgba(19,23,19,.14);
}

.page-home .home-publication__record>div:last-child {
  padding: 24px 0 0;
  border-bottom: 0;
}

.page-home .home-publication__record dd {
  margin: 0;
}

.page-home .home-publication__record>div:last-child strong {
  font-style: italic;
  font-size: 24px;
  line-height: 1.08;
  letter-spacing: -.02em;
}

.page-home .home-publication__record .editorial-link {
  margin-top: 18px;
}

@media (min-width:901px) {
  .page-home .home-publication__record {
    grid-template-columns: minmax(0,7fr) minmax(0,5fr);
    column-gap: clamp(40px,5vw,88px);
    border-top: 0;
  }

  .page-home .home-publication__record>div:not(:last-child) {
    grid-column: 1;
    grid-template-columns: 112px minmax(0,1fr);
    align-items: start;
    gap: 0 18px;
    padding: 18px 0;
  }

  /* Every label in the record, the question's included, sits on one top line. */
  .page-home .home-publication__record dt {
    padding-top: 8px;
  }

  .page-home .home-publication__record>div:first-child {
    border-top: 1px solid rgba(19,23,19,.14);
  }

  .page-home .home-publication__record>div:not(:last-child) strong {
    font-size: clamp(26px,2.2vw,32px);
  }

  .page-home .home-publication__record>div:not(:last-child) span {
    margin-top: 5px;
  }

  .page-home .home-publication__record>div:last-child {
    grid-column: 2;
    grid-row: 1 / span 2;
    align-self: stretch;
    align-content: start;
    padding: 18px 0 18px clamp(28px,3vw,44px);
    border-left: 1px solid rgba(19,23,19,.24);
  }

  .page-home .home-publication__record>div:last-child strong {
    font-size: clamp(34px,3vw,44px);
  }

  .page-home .home-publication__record>div:last-child span {
    margin-top: 12px;
  }
}

.page-home .home-publication__record dt {
  color: #5a625a;
  font: 600 12px/1.3 var(--mono);
  letter-spacing: .08em;
  text-transform: uppercase;
}

.page-home .home-publication__record dd {
  margin: 10px 0 0;
}

.page-home .home-publication__record strong {
  display: block;
  color: #173a28;
  font: 400 clamp(28px,2.6vw,40px)/1 var(--serif);
  letter-spacing: -.035em;
}

.page-home .home-publication__record>div:last-child strong {
  font-size: clamp(18px,1.8vw,26px);
  line-height: 1.08;
  letter-spacing: -.02em;
}

.page-home .home-publication__record span {
  display: block;
  margin-top: 7px;
  color: #5b655e;
  font-size: 14px;
  line-height: 1.42;
}

@media (max-width:900px) {
  body.page-home .home-ci-story__step {
    min-height: 0;
    padding: 34px 0;
  }

  body.page-home .home-ci-story__step:first-child {
    padding-top: 28px;
  }

  .page-home .home-mavh__grid,
  .page-home .home-publication__masthead {
    grid-template-columns: 1fr;
  }

  .page-home .home-publication__intro {
    margin-left: 0;
    max-width: 520px;
  }

}

@media (max-width:760px) {
  .page-home .home-publication {
    padding: 60px 0 68px;
  }

  .page-home .home-publication__masthead {
    gap: 22px;
    margin-bottom: 30px;
  }

  .page-home .home-publication__copy .display-title {
    font-size: clamp(39px,11.5vw,50px);
    max-width: 100%;
  }

  .page-home .home-publication__media img {
    aspect-ratio: 4/3;
    object-position: 64% 60%;
  }

  .page-home .home-publication__record {
    grid-template-columns: 1fr;
  }

  .page-home .home-publication__record>div {
    display: grid;
    grid-template-columns: minmax(0,1fr);
    gap: 8px;
    padding: 17px 0;
    border-right: 0;
    border-bottom: 1px solid rgba(19,23,19,.14);
  }

  .page-home .home-publication__record>div:last-child {
    border-bottom: 0;
  }

  .page-home .home-publication__record dd {
    margin: 0;
  }

  .page-home .home-publication__record strong {
    font-size: 27px;
  }

  .page-home .home-publication__record>div:last-child strong {
    font-size: 24px;
  }
}

/* Crop Intelligence and responsive evidence. */

body.page-home .home-ci-story {
  position: relative;
  overflow: visible;
  padding: clamp(72px,6.4vw,94px) 0 clamp(48px,4.6vw,66px) !important;
  background: #edf0e8 !important;
  color: var(--ink);
  border-top: 0 !important;
  border-bottom: 0 !important;
}

.page-home .home-ci-story__intro {
  display: grid !important;
  grid-template-columns: minmax(0,1.12fr) minmax(320px,.62fr) !important;
  gap: clamp(42px,6vw,96px) !important;
  align-items: end !important;
}

.page-home .home-ci-story__intro .display-title {
  max-width: 13.6ch !important;
  margin: 14px 0 0 !important;
  font-size: clamp(58px,5.9vw,86px) !important;
  line-height: .91 !important;
  letter-spacing: -.052em !important;
}

/* "district by district" is one phrase: it sets as the second line, never split. */
.page-home .home-ci-story__title-run {
  white-space: nowrap;
}

.page-home .home-ci-story__dek {
  max-width: 42ch !important;
  margin: 0 0 .08em !important;
  color: #3f4b43 !important;
  font-size: clamp(16px,1.18vw,18px) !important;
  line-height: 1.6 !important;
}

.page-home .home-ci-story__body {
  display: grid !important;
  grid-template-columns: minmax(0,1.34fr) minmax(330px,.66fr) !important;
  gap: clamp(44px,5.6vw,86px) !important;
  align-items: start !important;
  min-height: 0 !important;
  margin-top: clamp(42px,4.3vw,62px) !important;
  position: relative;
  isolation: isolate;
}

.page-home .home-ci-story__visual {
  position: sticky !important;
  top: calc(var(--nav-h) + 18px) !important;
  align-self: start !important;
  min-height: 560px !important;
  height: min(72svh,680px) !important;
  margin: 0 !important;
  overflow: hidden !important;
  background: transparent !important;
  border-top: 1px solid rgba(23,58,40,.24) !important;
  border-bottom: 1px solid rgba(23,58,40,.16) !important;
  isolation: isolate;
}

.page-home .home-ci-story__visual::before {
  content: "";
  position: absolute;
  inset: 44px 0 56px;
  pointer-events: none;
  background: linear-gradient(90deg,rgba(23,58,40,.03) 1px,transparent 1px),linear-gradient(0deg,rgba(23,58,40,.023) 1px,transparent 1px);
  background-size: 56px 56px;
  opacity: .58 !important;
}

.page-home .home-ci-story__visual-head {
  position: absolute !important;
  inset: 14px 0 auto !important;
  z-index: 8 !important;
  display: flex !important;
  justify-content: space-between !important;
  gap: 18px !important;
  padding: 0 !important;
  color: #536159 !important;
  font: 600 10px/1.3 var(--mono) !important;
  letter-spacing: .085em !important;
  text-transform: uppercase !important;
}

.page-home .home-ci-story__year {
  position: absolute !important;
  z-index: 1 !important;
  left: -.02em !important;
  top: 66px !important;
  color: #93402f !important;
  font: 400 clamp(132px,14vw,216px)/.82 var(--serif) !important;
  letter-spacing: -.08em !important;
  opacity: 0 !important;
  transform: none !important;
  pointer-events: none !important;
  transition: opacity 420ms ease !important;
}

.page-home .home-ci-story__map-wrap {
  position: absolute !important;
  z-index: 3 !important;
  inset: 50px -2% 62px -3% !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  opacity: 1 !important;
  transform: none !important;
  transition: opacity 360ms ease,transform 520ms var(--ease-soft) !important;
}

.page-home [data-ci-story-state="history"] .home-ci-story__map-wrap {
  opacity: 0 !important;
  transform: scale(.985) !important;
  pointer-events: none !important;
}

.page-home .home-ci-story__map {
  width: 100% !important;
  height: 100% !important;
  max-height: none !important;
  overflow: visible !important;
  transform: scale(1.035) !important;
  transform-origin: 49% 52% !important;
  opacity: 1 !important;
  transition: transform 620ms var(--ease-soft),opacity 360ms ease !important;
}

.page-home [data-ci-story-state="pattern"] .home-ci-story__map {
  transform: scale(1.07) !important;
}

.page-home [data-ci-story-state="resolution"] .home-ci-story__map {
  transform: scale(1.02) !important;
}

.page-home .home-ci-story__district {
  vector-effect: non-scaling-stroke;
  cursor: default;
  outline: none;
  transition: fill 520ms var(--ease-soft) var(--ci-reveal-delay, 0ms),
    fill-opacity 520ms var(--ease-soft) var(--ci-reveal-delay, 0ms),
    stroke 420ms ease var(--ci-reveal-delay, 0ms),
    stroke-width 420ms ease var(--ci-reveal-delay, 0ms),
    opacity 360ms ease var(--ci-reveal-delay, 0ms) !important;
}

.page-home [data-ci-story-state="pattern"] .home-ci-story__district,
.page-home [data-ci-story-state="resolution"] .home-ci-story__district {
  cursor: pointer;
}

.page-home .home-ci-story__district:focus-visible {
  stroke: #101a13 !important;
  stroke-width: 2 !important;
  stroke-opacity: 1 !important;
}

.page-home .home-ci-story__label-layer {
  opacity: 0;
  pointer-events: none;
  transition: opacity 300ms ease 160ms;
}

.page-home [data-ci-story-state="pattern"] .home-ci-story__label-layer {
  opacity: 1;
}

.page-home .home-ci-story__label-line {
  stroke: #8f3b2a;
  stroke-width: 1.25;
  vector-effect: non-scaling-stroke;
}

.page-home .home-ci-story__label-dot {
  fill: #8f3b2a;
  stroke: #edf0e8;
  stroke-width: 1.5;
  vector-effect: non-scaling-stroke;
}

.page-home .home-ci-story__label-text {
  fill: #23362a;
  font: 600 14px/1 var(--sans);
  paint-order: stroke;
  stroke: #edf0e8;
  stroke-width: 4px;
  stroke-linejoin: round;
}

.page-home .home-ci-story__legend {
  position: absolute !important;
  z-index: 8 !important;
  right: 0 !important;
  bottom: 16px !important;
  display: flex !important;
  align-items: center !important;
  gap: 9px !important;
  max-width: 58% !important;
  color: #526058 !important;
  font: 600 9px/1.25 var(--mono) !important;
  letter-spacing: .055em !important;
  text-transform: uppercase !important;
  opacity: 0 !important;
  transform: translateY(6px) !important;
  transition: opacity 240ms ease,transform 320ms var(--ease-soft) !important;
  pointer-events: none !important;
}

.page-home [data-ci-story-state="resolution"] .home-ci-story__legend {
  opacity: 1 !important;
  transform: none !important;
}

.page-home .home-ci-story__legend-scale {
  display: block;
  width: clamp(92px,12vw,168px);
  height: 7px;
  background: linear-gradient(90deg,#d9e1d7 0%,#91ab94 48%,#174a33 100%);
  border: 1px solid rgba(23,58,40,.12);
}

.page-home .home-ci-story__legend b {
  font-weight: 600;
  color: #314239;
  white-space: nowrap;
}

.page-home .home-ci-story__history-wrap {
  position: absolute !important;
  z-index: 4 !important;
  display: flex !important;
  align-items: center !important;
  opacity: 0 !important;
  transform: translateY(10px) !important;
  pointer-events: none !important;
  transition: opacity 380ms ease 60ms,transform 520ms var(--ease-soft) 60ms !important;
}

.page-home [data-ci-story-state="history"] .home-ci-story__history-wrap {
  opacity: 1 !important;
  transform: none !important;
}

.page-home .home-ci-story__history {
  width: 100% !important;
  height: 100% !important;
  overflow: visible !important;
}

.page-home .home-ci-history__grid line {
  stroke: rgba(23,58,40,.11);
  stroke-width: 1;
  vector-effect: non-scaling-stroke;
}

.page-home .home-ci-history__axis-label {
  fill: #647068;
  font: 600 10px/1 var(--mono);
  letter-spacing: .045em;
}

.page-home .home-ci-history__point {
  fill: #184b34;
  stroke: #edf0e8;
  stroke-width: 2;
  vector-effect: non-scaling-stroke;
}

.page-home .home-ci-history__point--fao {
  fill: #93402f;
}

.page-home .home-ci-history__guide {
  stroke-width: 1;
  stroke-dasharray: 4 5;
  vector-effect: non-scaling-stroke;
}

.page-home .home-ci-history__label {
  fill: #273a2e;
  font: 600 11px/1 var(--sans);
  paint-order: stroke;
  stroke: #edf0e8;
  stroke-width: 4px;
  stroke-linejoin: round;
}

.page-home .home-ci-history__value {
  fill: #536159;
  font: 600 9px/1 var(--mono);
  letter-spacing: .035em;
  paint-order: stroke;
  stroke: #edf0e8;
  stroke-width: 4px;
}

.page-home .home-ci-story__reading {
  position: absolute !important;
  z-index: 9 !important;
  left: 0 !important;
  bottom: 13px !important;
  width: min(440px,66%) !important;
  padding: 14px 0 0 !important;
  border: 0 !important;
  border-top: 1px solid rgba(23,58,40,.28) !important;
  background: transparent !important;
  box-shadow: none !important;
  opacity: 1;
  transition: opacity 220ms ease !important;
}

.page-home [data-ci-story-state="pattern"] .home-ci-story__reading:not(.is-district-reading) {
  opacity: 0;
}

.page-home .home-ci-story__reading strong {
  display: block;
  color: #173a28;
  font: 400 clamp(40px,4.2vw,62px)/.9 var(--serif) !important;
  letter-spacing: -.055em !important;
}

.page-home .home-ci-story__reading span {
  display: block;
  max-width: 38ch;
  margin-top: 7px;
  color: #4e5c53;
  font: 600 9.5px/1.45 var(--mono);
  letter-spacing: .055em;
  text-transform: uppercase;
}

.page-home .home-ci-story__reading.is-district-reading strong {
  font-size: clamp(34px,3.6vw,52px) !important;
}

.page-home .home-ci-story__carousel {
  min-width: 0 !important;
  align-self: start !important;
  border: 0 !important;
  margin: 0 !important;
}

.page-home .home-ci-story__steps {
  position: relative !important;
  top: auto !important;
  display: block !important;
  height: auto !important;
  min-height: 0 !important;
  overflow: visible !important;
  border: 0 !important;
}

.page-home .home-ci-story__steps-track {
  display: block !important;
  position: relative !important;
  height: auto !important;
  transform: none !important;
  transition: none !important;
  will-change: auto !important;
}

/* Each step takes about half a screen of scrolling: enough for the map to hold each
   state, without the empty bands a two-thirds-screen box left around short steps. */
.page-home .home-ci-story__step {
  position: relative !important;
  inset: auto !important;
  display: flex !important;
  min-height: 50svh !important;
  padding: clamp(40px,6vh,68px) 0 !important;
  flex-direction: column !important;
  justify-content: center !important;
  border: 0 !important;
  border-top: 1px solid rgba(23,58,40,.14) !important;
  opacity: .92 !important;
  visibility: visible !important;
  transform: none !important;
  pointer-events: auto !important;
  transition: opacity 300ms ease !important;
}

.page-home .home-ci-story__step:last-child {
  border-bottom: 1px solid rgba(23,58,40,.14) !important;
}

.page-home .home-ci-story__step.is-active {
  opacity: 1 !important;
}

.page-home .home-ci-story__step-index {
  display: block;
  margin-bottom: 16px;
  color: #536159;
  font: 600 10px/1.25 var(--mono);
  letter-spacing: .1em;
  text-transform: uppercase;
}

.page-home .home-ci-story__step h3 {
  max-width: 11.5ch !important;
  margin: 0 !important;
  color: #173a28 !important;
  font: 400 clamp(44px,4.1vw,64px)/.96 var(--serif) !important;
  letter-spacing: -.045em !important;
}

.page-home .home-ci-story__step>p {
  max-width: 40ch !important;
  margin: 20px 0 0 !important;
  color: #46534a !important;
  font-size: 15.5px !important;
  line-height: 1.6 !important;
}

/* The figure's line box is tighter than its glyphs (.78), so the clearance below it
   scales with the figure: about .15em of overshoot plus a fixed gap. */
.page-home .home-ci-story__finding strong {
  display: block;
  margin: 14px 0 calc(.15em + 14px) !important;
  color: #8f3b2a;
  font: 400 clamp(88px,8.4vw,128px)/.78 var(--serif) !important;
  letter-spacing: -.07em !important;
}

/* How many districts the figure has added up: "1 of 64" while it counts, "5 of 64" settled. */
.page-home .home-ci-story__finding-count {
  display: block;
  margin: 0 0 12px;
  color: #536159;
  font: 600 11px/1.3 var(--mono);
  letter-spacing: .1em;
  text-transform: uppercase;
}

/* The sentence states the published share, so it waits until the count lands on it. */
.page-home .home-ci-story__finding-text {
  transition: opacity 320ms ease;
}

.page-home .home-ci-story.is-share-counting .home-ci-story__finding-text,
.page-home .home-ci-story.is-reveal-pending .home-ci-story__finding-text {
  opacity: 0;
}

.page-home .home-ci-story__product-proof {
  display: grid !important;
  grid-template-columns: minmax(0,1.18fr) minmax(0,.82fr) !important;
  grid-template-areas: "major secondary" "major history" !important;
  column-gap: clamp(34px,5vw,78px) !important;
  row-gap: 0 !important;
  align-items: start !important;
  margin-top: clamp(24px,2.8vw,38px) !important;
  padding: 20px 0 18px !important;
  border-top: 1px solid rgba(23,58,40,.24) !important;
  border-bottom: 1px solid rgba(23,58,40,.14) !important;
}

.page-home .home-ci-story__product-proof>div,
.page-home .home-ci-story__product-proof>div+div {
  padding: 0 !important;
  border: 0 !important;
}

.page-home .home-ci-story__product-proof>div:first-child {
  grid-area: major;
  align-self: center;
}

.page-home .home-ci-story__product-proof>div:nth-child(2) {
  grid-area: secondary;
  padding-bottom: 14px !important;
}

.page-home .home-ci-story__product-proof>div:nth-child(3) {
  grid-area: history;
  padding-top: 14px !important;
  border-top: 1px solid rgba(23,58,40,.095) !important;
}

.page-home .home-ci-story__product-proof>div:first-child strong {
  display: block;
  color: #173a28;
  font: 400 clamp(40px,4.2vw,64px)/.9 var(--serif) !important;
  letter-spacing: -.05em !important;
}

.page-home .home-ci-story__product-proof>div:not(:first-child) strong {
  display: block;
  color: #173a28;
  font: 500 16px/1.3 var(--sans) !important;
  letter-spacing: -.01em !important;
}

.page-home .home-ci-story__product-proof span {
  display: block;
  margin-top: 6px !important;
  color: #636e65 !important;
  font: 500 10px/1.45 var(--mono) !important;
  letter-spacing: .035em !important;
  text-transform: none !important;
}

.page-home .home-ci-story__footer {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 28px !important;
}

.page-home .home-ci-story__source {
  max-width: 70ch !important;
  margin: 0 !important;
  color: #636e65 !important;
  font-size: 11.5px !important;
  line-height: 1.55 !important;
}

.page-home .home-ci-story__action-wrap {
  display: flex !important;
  flex: 0 0 auto !important;
  align-items: center !important;
  margin: 0 !important;
}

.page-home .home-ci-story__action {
  margin: 0 !important;
}

.page-home .home-ci-story.is-fallback .home-ci-story__body {
  display: block !important;
  min-height: 0 !important;
}

.page-home .home-ci-story.is-fallback .home-ci-story__visual {
  display: none !important;
  height: 0 !important;
  min-height: 0 !important;
  border: 0 !important;
}

.page-home .home-ci-story.is-fallback .home-ci-story__step {
  min-height: 0 !important;
  opacity: 1 !important;
  padding: 24px 0 !important;
}

@media (max-width:900px) {
  body.page-home .home-ci-story {
    padding: 56px 0 48px !important;
  }

  .page-home .home-ci-story__intro {
    display: block !important;
  }

  .page-home .home-ci-story__intro .display-title {
    max-width: 100% !important;
    font-size: clamp(42px,11.5vw,56px) !important;
  }

  .page-home .home-ci-story__dek {
    margin-top: 20px !important;
  }

  .page-home .home-ci-story__body {
    display: block !important;
    margin-top: 30px !important;
  }

  .page-home .home-ci-story__visual {
    position: sticky !important;
    top: var(--nav-h) !important;
    z-index: 1 !important;
    min-height: 0 !important;
    height: 48svh !important;
    max-height: 420px !important;
    background: #edf0e8 !important;
  }

  .page-home .home-ci-story__visual::before {
    inset: 40px 0 48px;
    background-size: 42px 42px;
  }

  .page-home .home-ci-story__map-wrap {
    inset: 46px -6% 54px -6% !important;
  }

  .page-home .home-ci-story__map {
    transform: scale(1.01) !important;
  }

  .page-home [data-ci-story-state="pattern"] .home-ci-story__map {
    transform: scale(1.05) !important;
  }

  .page-home [data-ci-story-state="resolution"] .home-ci-story__map {
    transform: scale(1) !important;
  }

  .page-home .home-ci-story__year {
    top: 56px !important;
    font-size: clamp(86px,27vw,126px) !important;
  }

  .page-home .home-ci-story__legend {
    bottom: 9px !important;
    max-width: 70% !important;
    font-size: 8px !important;
    gap: 6px !important;
  }

  .page-home .home-ci-story__legend-scale {
    width: 84px;
    height: 6px;
  }

  .page-home .home-ci-story__reading {
    width: 76% !important;
    bottom: 8px !important;
    padding-top: 9px !important;
  }

  .page-home .home-ci-story__reading strong {
    font-size: clamp(34px,10vw,48px) !important;
  }

  .page-home .home-ci-story__reading span {
    font-size: 8.5px !important;
  }

  .page-home .home-ci-story__carousel {
    position: relative !important;
    z-index: 2 !important;
    margin-top: 0 !important;
  }

  .page-home .home-ci-story__step {
    min-height: 56svh !important;
    padding: 23svh 0 32px !important;
    justify-content: flex-end !important;
    opacity: 1 !important;
    background: linear-gradient(180deg,rgba(237,240,232,0) 0%,rgba(237,240,232,.94) 38%,#edf0e8 58%) !important;
  }

  .page-home .home-ci-story__step h3 {
    font-size: clamp(37px,10.5vw,48px) !important;
  }

  .page-home .home-ci-story__finding strong {
    font-size: clamp(70px,21vw,94px) !important;
  }

  .page-home .home-ci-story__product-proof {
    grid-template-columns: 1fr !important;
    grid-template-areas: "major" "secondary" "history" !important;
    margin-top: 22px !important;
  }

  .page-home .home-ci-story__product-proof>div:first-child {
    padding-bottom: 18px !important;
  }

  .page-home .home-ci-story__product-proof>div:nth-child(2) {
    padding: 15px 0 !important;
    border-top: 1px solid rgba(23,58,40,.095) !important;
  }

  .page-home .home-ci-story__product-proof>div:nth-child(3) {
    padding: 15px 0 0 !important;
  }

  .page-home .home-ci-story__footer {
    display: block !important;
    margin-top: 14px !important;
  }

  .page-home .home-ci-story__action-wrap {
    margin-top: 16px !important;
  }
}

@media (max-width:560px) {
  .page-home .home-ci-story__label-text {
    font-size: 11px;
    stroke-width: 3px;
  }

  .page-home .home-ci-story__label-line {
    stroke-width: 1;
  }
}

@media (prefers-reduced-motion:reduce) {
  .page-home .home-ci-story__year,
  .page-home .home-ci-story__map-wrap,
  .page-home .home-ci-story__map,
  .page-home .home-ci-story__district,
  .page-home .home-ci-story__label-layer,
  .page-home .home-ci-story__legend,
  .page-home .home-ci-story__history-wrap,
  .page-home .home-ci-story__step {
    transition: none !important;
    animation: none !important;
  }
}

.page-home .home-ci-story__history-wrap {
  inset: 82px 0 90px !important;
}

.page-home .home-ci-history__segment {
  fill: none;
  stroke: #184b34;
  stroke-width: 2.25;
  vector-effect: non-scaling-stroke;
  stroke-linecap: round;
}

.page-home .home-ci-history__stem {
  stroke: rgba(23,58,40,.13);
  stroke-width: 1;
  vector-effect: non-scaling-stroke;
  stroke-dasharray: 2 4;
}

.page-home .home-ci-history__watermark {
  fill: #93402f;
  fill-opacity: .06;
  font-family: var(--serif);
  font-weight: 400;
  letter-spacing: -.06em;
}

.page-home .home-ci-history__regime-label {
  fill: #59675f;
  font: 600 9px/1 var(--mono);
  letter-spacing: .07em;
  text-transform: uppercase;
}

.page-home .home-ci-history__point {
  r: 4.6;
}

.page-home .home-ci-history__point--fao {
  r: 5.4;
}

.page-home [data-ci-story-state="history"] .home-ci-story__reading {
  opacity: 0 !important;
  pointer-events: none !important;
}

.page-home [data-ci-story-step="history"] h3 {
  max-width: 12.5ch !important;
  font-size: clamp(40px,3.7vw,56px) !important;
}

.page-home .home-ci-story__product-proof>div:first-child strong {
  max-width: 13ch !important;
  font-size: clamp(34px,3.5vw,52px) !important;
  line-height: .94 !important;
}

.page-home .home-ci-story__footer {
  margin-top: 22px !important;
  padding-bottom: 4px !important;
}

@media (max-width:900px) {
  .page-home .home-ci-story__history-wrap {
    inset: 64px 0 62px !important;
  }

  .page-home [data-ci-story-step="history"] h3 {
    font-size: clamp(35px,9.5vw,45px) !important;
  }

  .page-home .home-ci-story__product-proof>div:first-child strong {
    font-size: clamp(32px,9.5vw,44px) !important;
  }
}

.page-home .home-ci-story__history-wrap {
  right: clamp(24px,3vw,42px) !important;
}

@media (max-width:640px) {
  .page-home [data-ci-story-state="history"] .home-ci-story__visual {
    height: min(44svh,340px) !important;
  }

  .page-home [data-ci-story-state="history"] .home-ci-story__history-wrap {
    inset: 38px 0 16px !important;
    right: 0 !important;
  }

  .page-home .home-ci-history__label {
    font-size: 13.5px !important;
    stroke-width: 3.5px !important;
  }

  .page-home .home-ci-history__label--primary {
    font-size: 14px !important;
    font-weight: 700 !important;
  }

  .page-home .home-ci-history__value {
    font-size: 12px !important;
    stroke-width: 3px !important;
  }

  .page-home .home-ci-history__axis-label {
    font-size: 11px !important;
  }

  .page-home .home-ci-history__regime-label {
    font-size: 10px !important;
    letter-spacing: .05em !important;
  }

  .page-home .home-ci-history__point--primary {
    stroke-width: 2.5px !important;
  }
}

.page-home .home-mavh {
  padding: clamp(70px,7.4vw,112px) 0;
  background: #eee9df;
  color: var(--ink);
}

.page-home .home-mavh__grid {
  display: grid;
  /* The copy column is wide enough for the headline to set in three lines. */
  grid-template-columns: minmax(0,1.4fr) minmax(310px,1fr);
  gap: clamp(44px,5.6vw,88px);
  /* The text column hangs from the photograph's top edge. */
  align-items: start;
}

.page-home .home-mavh__media {
  margin: 0;
  overflow: hidden;
}

.page-home .home-mavh__media img {
  display: block;
  width: 100%;
  aspect-ratio: 4/3;
  object-fit: cover;
  object-position: 50% 48%;
  filter: saturate(.9) contrast(1.03);
  /* Crops the red sleeve at the left edge; the hand and the produce stay. */
  transform: scale(1.27);
  transform-origin: 100% 30%;
}

.page-home .home-mavh__media figcaption {
  margin-top: 10px;
  color: #626b64;
  font: 500 11px/1.45 var(--mono);
  letter-spacing: .035em;
}

.page-home .home-mavh__copy {
  max-width: none;
  padding-top: 20px;
  border-top: 1px solid rgba(19,23,19,.24);
}

.page-home .home-mavh__copy .display-title {
  margin: 16px 0 0;
  font-size: clamp(49px,4.5vw,72px);
  line-height: .93;
  letter-spacing: -.052em;
}

.page-home .home-mavh__dek {
  max-width: 34ch;
  margin: 20px 0 0;
  color: #414a43;
  font-size: clamp(16px,1.15vw,18px);
  line-height: 1.56;
}

.page-home .home-mavh__proof {
  display: grid;
  grid-template-columns: minmax(0,.9fr) minmax(0,1.4fr);
  align-items: start;
  gap: 0;
  margin-top: 28px;
  padding: 16px 0 15px;
  border-top: 1px solid rgba(19,23,19,.18);
  border-bottom: 1px solid rgba(19,23,19,.18);
}

.page-home .home-mavh__proof span {
  display: block;
  min-width: 0;
  margin: 0;
  padding: 0 18px 0 0;
  color: #566159;
  font-size: 12px;
  line-height: 1.4;
}

.page-home .home-mavh__proof span+span {
  border-left: 1px solid rgba(19,23,19,.16);
  padding: 0 0 0 18px;
}

.page-home .home-mavh__proof strong {
  display: block;
  margin-bottom: 6px;
  color: #173a28;
  font: 400 48px/.95 var(--serif);
  letter-spacing: -.04em;
}

.page-home .home-mavh__proof-label {
  grid-column: 1/-1;
  margin: 0 0 12px;
  color: #536159;
  font: 600 11px/1.3 var(--mono);
  letter-spacing: .1em;
  text-transform: uppercase;
}

.page-home .home-mavh__copy .editorial-link {
  margin-top: 6px;
}

@media (max-width:900px) {
  .page-home .home-mavh__grid {
    grid-template-columns: 1fr;
    gap: 32px;
  }

  .page-home .home-mavh__copy {
    max-width: 590px;
  }

  .page-home .home-mavh__copy .display-title {
    max-width: 12ch;
  }
}

@media (max-width:760px) {
  .page-home .home-mavh {
    padding: 48px 0 66px;
  }

  .page-home .home-mavh__grid {
    gap: 26px;
  }

  .page-home .home-mavh__media img {
    aspect-ratio: 4/3;
    object-position: 50% 46%;
  }

  .page-home .home-mavh__copy {
    padding-top: 17px;
  }

  .page-home .home-mavh__copy .display-title {
    font-size: clamp(40px,11.5vw,50px);
    line-height: .95;
  }

  .page-home .home-mavh__proof {
    grid-template-columns: minmax(0,.9fr) minmax(0,1.1fr);
    margin-top: 24px;
  }

  .page-home .home-mavh__proof span {
    padding-right: 14px;
  }

  .page-home .home-mavh__proof span+span {
    padding-left: 14px;
  }

  .page-home .home-mavh__proof strong {
    font-size: 38px;
  }
}

@media (max-width:390px) {
  .page-home .home-mavh__proof {
    grid-template-columns: 1fr;
  }

  .page-home .home-mavh__proof span+span {
    margin-top: 12px;
    padding: 12px 0 0;
    border-left: 0;
    border-top: 1px solid rgba(19,23,19,.14);
  }
}

.page-home .home-mavh__copy .display-title {
  max-width: 13ch;
}

@media (max-width:760px) {
  .page-home .home-mavh__copy .display-title {
    max-width: 13ch;
  }
}

.page-home .home-ci-story__district-picker {
  display: none;
}

.page-home .home-ci-story__crops {
  margin-top: 26px;
  padding-top: 18px;
  border-top: 1px solid rgba(23,58,40,.2);
}

.page-home .home-ci-story__crops[hidden] {
  display: none;
}

.page-home .home-ci-story__crops-label {
  display: block;
  margin-bottom: 6px;
  color: #536159;
  font: 600 10px/1.3 var(--mono);
  letter-spacing: .1em;
  text-transform: uppercase;
}

.page-home .home-ci-story__crops-list {
  display: flex;
  flex-wrap: wrap;
  gap: 0 20px;
}

.page-home .home-ci-story__crops button {
  position: relative;
  min-height: 40px;
  padding: 0;
  border: 0;
  background: transparent;
  color: #4e5c53;
  font: 500 15px/1.2 var(--sans);
  cursor: pointer;
  transition: color 160ms ease;
}

.page-home .home-ci-story__crops button::after {
  content: "";
  position: absolute;
  right: 0;
  bottom: 6px;
  left: 0;
  height: 1.5px;
  background: currentColor;
  transform: scaleX(0);
  transform-origin: left;
  transition: transform 220ms var(--ease-soft);
}

.page-home .home-ci-story__crops button:hover {
  color: #173a28;
}

.page-home .home-ci-story__crops button[aria-pressed="true"] {
  color: #173a28;
  font-weight: 600;
}

.page-home .home-ci-story__crops button[aria-pressed="true"]::after {
  transform: scaleX(1);
}

.page-home .home-ci-story__crops button:focus-visible {
  outline: 2px solid #173a28;
  outline-offset: 3px;
  border-radius: 1px;
}

.page-home .home-ci-story.is-crop-loading .home-ci-story__crops button {
  cursor: progress;
}

.page-home .home-ci-story__provenance {
  position: absolute;
  z-index: 8;
  top: 34px;
  right: 0;
  max-width: min(56%,520px);
  margin: 0;
  text-align: right;
  color: #56645b;
  font: 500 9.5px/1.45 var(--mono);
  letter-spacing: .04em;
  opacity: 0;
  transition: opacity 240ms ease;
  pointer-events: none;
}

.page-home [data-ci-story-state="resolution"] .home-ci-story__provenance {
  opacity: 1;
}

@media (prefers-reduced-motion:reduce) {
  .page-home .home-ci-story__crops button,
  .page-home .home-ci-story__crops button::after,
  .page-home .home-ci-story__provenance {
    transition: none;
  }
}

@media (max-width:760px) {
  .page-home .home-ci-story {
    padding: 56px 0 44px !important;
  }

  .page-home .home-publication {
    padding-top: 34px !important;
  }

  .page-home .home-ci-story__intro {
    grid-template-columns: 1fr !important;
    gap: 18px !important;
  }

  /* Sized so "Bangladesh's crops," fits one line (about 7.8em) beside the gutters:
     two lines from 375px up; at the narrowest phones it falls back to three. */
  .page-home .home-ci-story__intro .display-title {
    max-width: 100% !important;
    font-size: clamp(36px,calc(12.8vw - 7px),56px) !important;
    text-wrap: balance;
  }

  .page-home .home-ci-story__dek {
    max-width: 34ch !important;
    font-size: 15px !important;
  }

  .page-home .home-ci-story__body {
    display: block !important;
    min-height: 0 !important;
    margin-top: 34px !important;
  }

  /* The pinned stage keeps half the screen for reading, and its paper-coloured
     lower edge lets step text pass beneath it instead of being cut mid-line. */
  .page-home .home-ci-story__visual {
    position: sticky !important;
    top: 0 !important;
    z-index: 3 !important;
    width: 100% !important;
    height: min(50svh,440px) !important;
    max-height: none !important;
    min-height: 0 !important;
    margin: 0 0 10px !important;
    background: #edf0e8 !important;
    box-shadow: 0 18px 14px -4px #edf0e8;
  }

  .page-home .home-ci-story__visual-head {
    font-size: 10px !important;
    line-height: 1.35 !important;
  }

  .page-home .home-ci-story__map-wrap {
    inset: 48px -8% 74px -8% !important;
  }

  .page-home .home-ci-story__map {
    transform: translateX(8px) scale(1.08) !important;
    transform-origin: 50% 52% !important;
  }

  .page-home [data-ci-story-state="pattern"] .home-ci-story__map {
    transform: translateX(8px) scale(1.08) !important;
  }

  .page-home [data-ci-story-state="resolution"] .home-ci-story__map {
    transform: translateX(8px) scale(1.05) !important;
  }

  .page-home .home-ci-story__label-text {
    font-size: 22px !important;
  }

  .page-home [data-ci-story-state="resolution"] .home-ci-story__district.is-picker-selected {
    stroke: #102f20 !important;
    stroke-width: 3 !important;
  }

  .page-home .home-ci-story__legend {
    max-width: 72% !important;
    font-size: 10px !important;
  }

  .page-home .home-ci-story__reading {
    width: min(82%,360px) !important;
  }

  .page-home [data-ci-story-state="history"] .home-ci-story__reading {
    display: none !important;
  }

  .page-home .home-ci-story__steps,
  .page-home .home-ci-story__steps-track {
    height: auto !important;
    min-height: 0 !important;
    overflow: visible !important;
    transform: none !important;
  }

  .page-home .home-ci-story__step {
    position: relative !important;
    inset: auto !important;
    display: block !important;
    min-height: 52svh !important;
    padding: 36px 0 !important;
    opacity: 1 !important;
    justify-content: flex-start !important;
    background: none !important;
  }

  .page-home .home-ci-story.is-r11-ready .home-ci-story__step:not(.is-active) {
    visibility: hidden !important;
  }

  .page-home .home-ci-story__step:first-child {
    padding-top: 28px !important;
  }

  .page-home .home-ci-story__step:nth-child(2) {
    padding-block: 44px !important;
  }

  .page-home .home-ci-story__step h3 {
    max-width: 11ch !important;
    font-size: clamp(38px,10.5vw,50px) !important;
  }

  .page-home .home-ci-story__step>p {
    max-width: 34ch !important;
    margin-top: 18px !important;
    font-size: 15px !important;
    line-height: 1.58 !important;
  }

  .page-home .home-ci-story__crops {
    margin-top: 24px;
    padding-top: 16px;
  }

  .page-home .home-ci-story__crops-list {
    gap: 0 18px;
  }

  .page-home .home-ci-story__crops button {
    min-height: 44px;
    font-size: 16px;
  }

  .page-home .home-ci-story__district-picker {
    display: block;
    margin-top: 24px;
    padding-top: 20px;
    border-top: 1px solid rgba(23,58,40,.2);
  }

  .page-home .home-ci-story__district-picker label {
    display: block;
    margin-bottom: 9px;
    color: #536159;
    font: 600 10px/1.3 var(--mono);
    letter-spacing: .1em;
    text-transform: uppercase;
  }

  .page-home .home-ci-story__district-picker select {
    width: 100%;
    min-height: 48px;
    padding: 10px 14px;
    border: 1px solid rgba(23,58,40,.42);
    border-radius: 2px;
    background: #f6f8f4;
    color: #173a28;
    font: 500 16px/1.3 var(--sans);
  }

  .page-home .home-ci-story__district-picker select:focus-visible {
    outline: 2px solid #173a28;
    outline-offset: 3px;
  }

  .page-home .home-ci-story__finding strong {
    margin: 8px 0 calc(.15em + 12px) !important;
    font-size: clamp(76px,22vw,104px) !important;
    line-height: .8 !important;
  }

  .page-home .home-ci-story__product-proof {
    display: block !important;
    margin-top: 18px !important;
    padding: 0 !important;
    border-bottom: 0 !important;
  }

  .page-home .home-ci-story__product-proof>div,
  .page-home .home-ci-story__product-proof>div+div {
    display: block !important;
    padding: 17px 0 !important;
    border-top: 1px solid rgba(23,58,40,.13) !important;
  }

  .page-home .home-ci-story__product-proof>div:first-child strong,
  .page-home .home-ci-story__product-proof>div:not(:first-child) strong {
    max-width: none !important;
    font-size: 18px !important;
    line-height: 1.28 !important;
  }

  .page-home .home-ci-story__product-proof span {
    margin-top: 6px !important;
    font-size: 10.5px !important;
    line-height: 1.48 !important;
  }

  .page-home .home-ci-story__footer {
    display: block !important;
    margin-top: 18px !important;
  }

  .page-home .home-ci-story__source {
    max-width: 38ch !important;
    font-size: 11px !important;
    line-height: 1.55 !important;
  }

  .page-home .home-ci-story__action-wrap {
    margin-top: 20px !important;
  }
}

@media (min-width:600px) and (max-width:760px) and (min-height:750px) {
  .page-home .home-ci-story__visual {
    height: min(72svh,580px) !important;
  }

  .page-home .home-ci-story__map-wrap {
    inset: 50px -8% 60px -8% !important;
  }

  .page-home .home-ci-story__map,
  .page-home [data-ci-story-state="pattern"] .home-ci-story__map,
  .page-home [data-ci-story-state="resolution"] .home-ci-story__map {
    transform: translateX(8px) scale(1.14) !important;
  }
}

@media (min-width:761px) and (max-width:900px) {
  .page-home .home-ci-story__body {
    display: grid !important;
    grid-template-columns: minmax(0,1fr) minmax(0,1fr) !important;
    gap: 28px !important;
    align-items: start !important;
    min-height: 0 !important;
  }

  .page-home .home-ci-story__visual {
    position: sticky !important;
    top: var(--nav-h) !important;
    z-index: 1 !important;
    width: auto !important;
    height: min(560px,calc(100svh - var(--nav-h) - 24px)) !important;
    max-height: none !important;
    min-height: 0 !important;
    margin: 0 !important;
    background: #edf0e8 !important;
  }

  .page-home .home-ci-story__map-wrap {
    inset: 46px 0 76px !important;
  }

  .page-home .home-ci-story__map,
  .page-home [data-ci-story-state="pattern"] .home-ci-story__map,
  .page-home [data-ci-story-state="resolution"] .home-ci-story__map {
    transform: scale(1.02) !important;
  }

  .page-home .home-ci-story__carousel {
    position: relative !important;
    z-index: 1 !important;
    margin: 0 !important;
  }

  .page-home .home-ci-story__step {
    position: relative !important;
    display: flex !important;
    min-height: 60svh !important;
    padding: 36px 0 !important;
    justify-content: center !important;
    background: none !important;
    opacity: .92 !important;
  }

  .page-home .home-ci-story__step.is-active {
    opacity: 1 !important;
  }

  .page-home .home-ci-story__step h3 {
    font-size: clamp(34px,4.8vw,42px) !important;
  }

  .page-home .home-ci-story__step>p {
    font-size: 14px !important;
  }

  .page-home .home-ci-story__finding strong {
    font-size: clamp(70px,9vw,86px) !important;
  }
}

@media (max-width:599px) {
  .page-home .home-ci-story__provenance {
    top: 44px;
    right: auto;
    left: 0;
    max-width: 100%;
    font-size: 9px;
    text-align: left;
  }

  .page-home [data-ci-story-state="resolution"] .home-ci-story__map {
    transform: translate(8px,16px) scale(1) !important;
  }
}

.page-home .cv-homehero__field {
  background-image: image-set(
    url("rebuild/home-canon/816c7000626a4c81-1920.avif") type("image/avif"),
    url("rebuild/home-canon/816c7000626a4c81-1920.webp") type("image/webp"),
    url("rebuild/home-canon/816c7000626a4c81.jpg") type("image/jpeg")
  ) !important;
}

@media (max-width:760px) {
  .page-home .cv-homehero__field {
    background-image: image-set(
      url("rebuild/home-canon/816c7000626a4c81-960.avif") type("image/avif"),
      url("rebuild/home-canon/816c7000626a4c81-960.webp") type("image/webp"),
      url("rebuild/home-canon/816c7000626a4c81.jpg") type("image/jpeg")
    ) !important;
  }
}

/* One label line per section, keeping the page's argument: project, record, question. */
.page-home .home-method-step {
  display: block;
  margin: 0 0 14px;
  color: #19422e;
  font: 600 11px/1.3 var(--mono);
  letter-spacing: .1em;
  text-transform: uppercase;
}

.page-home .home-mavh__bridge {
  max-width: 40ch;
  margin: 20px 0 6px;
  color: #414a43;
  font: 400 14px/1.5 var(--sans);
}

.page-home .home-mavh__bridge a {
  color: #19422e;
  font-weight: 500;
  white-space: nowrap;
  text-decoration: underline;
  text-decoration-color: rgba(25,66,46,.32);
  text-decoration-thickness: 1px;
  text-underline-offset: 4px;
  transition: text-decoration-color 160ms ease;
}

.page-home .home-mavh__bridge a:hover {
  text-decoration-color: currentColor;
}

.page-home .home-mavh__bridge a:focus-visible {
  outline: 2px solid #19422e;
  outline-offset: 4px;
  border-radius: 2px;
}

.page-home .home-mavh__bridge a span {
  display: inline-block;
  margin-left: 2px;
}

/* The project's name sits with the way into its brief, in plain type: the column's
   monospace is kept for its label and figures heading. */
.page-home .home-mavh__project {
  display: block;
  margin-top: 22px;
  color: #4f5a52;
  font: 500 14px/1.45 var(--sans);
}

.page-home .home-mavh__project span {
  white-space: nowrap;
}

@media (max-width:760px) {
  .page-home .home-method-step {
    margin-bottom: 12px;
  }

  .page-home .home-mavh__bridge {
    margin: 18px 0 4px;
    font-size: 13.5px;
  }
}


.page-home .home-ci-story__label {
  transition: opacity 260ms ease;
}

.page-home .home-ci-story.is-reveal-pending .home-ci-story__label {
  opacity: 0;
}

.page-home .home-ci-story__label-project {
  fill: #19422e;
  font-weight: 500;
  font-size: .82em;
  letter-spacing: .01em;
}

.page-home .home-ci-story__label--project .home-ci-story__label-dot {
  fill: #19422e;
}

.page-home .home-ci-story__finding strong {
  font-variant-numeric: lining-nums !important;
}

.page-home .home-ci-story.is-share-counting .home-ci-story__finding strong {
  font-variant-numeric: lining-nums tabular-nums !important;
}

@media (prefers-reduced-motion:reduce) {
  .page-home .home-ci-story__label {
    transition: none !important;
  }
}

.page-home .home-ci-history__break-label {
  fill: #7a4a3c;
  font: 600 9.5px/1 var(--mono);
  letter-spacing: .07em;
  text-transform: uppercase;
  paint-order: stroke;
  stroke: #edf0e8;
  stroke-width: 5px;
  stroke-linejoin: round;
}

.page-home .home-ci-history__break-label tspan {
  font-weight: 500;
  letter-spacing: .04em;
  text-transform: none;
  fill: #6d6259;
}

.page-home .home-ci-history__guide {
  stroke: rgba(147,64,47,.5);
}

@media (max-width:640px) {
  .page-home .home-ci-history__break-label {
    font-size: 8.5px;
  }
}

@media (prefers-reduced-motion:no-preference) {
  .page-home [data-ci-story-state="history"] .home-ci-story__history [data-seq] {
    animation: homeCiHistoryIn 520ms cubic-bezier(.2,.75,.2,1) both;
    animation-delay: calc(160ms + var(--seq, 0) * 210ms);
  }

  .page-home [data-ci-story-state="history"] .home-ci-story__history .home-ci-history__point[data-seq] {
    transform-box: fill-box;
    transform-origin: center;
    animation-name: homeCiHistoryPoint;
  }

  .page-home [data-ci-story-state="history"] .home-ci-story__history .home-ci-history__stem[data-seq] {
    transform-box: fill-box;
    transform-origin: 50% 100%;
    animation-name: homeCiHistoryStem;
  }
}

@keyframes homeCiHistoryIn {
  from {
    opacity: 0;
    transform: translateY(4px);
  }
  to {
    opacity: 1;
    transform: none;
  }
}

@keyframes homeCiHistoryPoint {
  0% {
    opacity: 0;
    transform: scale(.2);
  }
  70% {
    opacity: 1;
    transform: scale(1.18);
  }
  100% {
    opacity: 1;
    transform: scale(1);
  }
}

@keyframes homeCiHistoryStem {
  from {
    opacity: 0;
    transform: scaleY(0);
  }
  to {
    opacity: 1;
    transform: scaleY(1);
  }
}

/* Hero geometry, media and motion. */

.page-home .cv-homehero {
  --cv-second-act-shift: 10.5svh;
  position: relative;
  height: 100svh;
  min-height: 0;
  overflow: hidden;
  isolation: isolate;
  background: #07100a;
  color: #fff;
}

.page-home .cv-homehero__stage {
  position: absolute;
  inset: 0;
  overflow: hidden;
  background: #07100a;
}

.page-home .cv-homehero__field {
  position: absolute;
  /* Reaches 12% above the frame and is bottom-anchored, so the photo's sky band (its top
     ~10%) sits out of view at any aspect ratio and the headline sits on land. */
  inset: -12% -2% -2%;
  background: url("rebuild/home-canon/816c7000626a4c81.jpg") center 100% / cover no-repeat;
  /* Land, not murk: exposure held, mid-tones separated and the greens warmed. */
  filter: brightness(.64) saturate(.9) contrast(1.12) sepia(.06);
  transform: scale(1.018);
}

.page-home .cv-homehero__veil {
  position: absolute;
  inset: 0;
  z-index: 1;
  pointer-events: none;
  background: radial-gradient(ellipse at 50% 51%,transparent 0%,rgba(3,8,5,.10) 52%,rgba(1,5,3,.28) 100%),linear-gradient(180deg,rgba(1,5,3,.14),rgba(1,5,3,.01) 44%,rgba(1,5,3,.20));
}

.page-home .cv-homehero__grain {
  display: none;
}

.page-home .cv-homehero__brand-lockup {
  display: flex;
  position: absolute;
  z-index: 10;
  left: 50%;
  top: 43.5%;
  width: 100%;
  flex-direction: column;
  align-items: center;
  /* Final place from the first frame: the headline's room is reserved, so nothing
     re-centres when it arrives. */
  transform: translate(-50%,-50%) translateY(var(--cv-second-act-shift));
  pointer-events: none;
}

.page-home .cv-homehero__brand-mark {
  display: block;
  position: relative;
  width: min(92vw,370px);
  aspect-ratio: 119/136;
  margin-bottom: -25px;
}

.page-home .cv-homehero__leaf,
.page-home .cv-homehero__leaf--advisory,
.page-home .cv-homehero__leaf--farms {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  aspect-ratio: auto;
  overflow: hidden;
  background: none;
  opacity: 1;
  filter: none;
  transition: none;
  transform: none;
  mask-repeat: no-repeat;
  -webkit-mask-repeat: no-repeat;
  mask-size: 100% 100%;
  -webkit-mask-size: 100% 100%;
  mask-position: center;
  -webkit-mask-position: center;
}

.page-home .cv-homehero__leaf--mech {
  z-index: 5;
  mask-image: url("home/leaf-mask-field-systems.svg");
  -webkit-mask-image: url("home/leaf-mask-field-systems.svg");
}

.page-home .cv-homehero__leaf--advisory {
  z-index: 7;
  --cv-photo-delay: 35ms;
  mask-image: url("home/leaf-mask-advisory.svg");
  -webkit-mask-image: url("home/leaf-mask-advisory.svg");
}

.page-home .cv-homehero__leaf--farms {
  z-index: 6;
  --cv-photo-delay: 18ms;
  mask-image: url("home/leaf-mask-farms.svg");
  -webkit-mask-image: url("home/leaf-mask-farms.svg");
}

.page-home .cv-homehero__leaf::before,
.page-home .cv-homehero__leaf::after {
  display: none;
}

.page-home .cv-homehero__ghost {
  position: absolute;
  inset: 0;
  z-index: 8;
  pointer-events: none;
  /* The leaves rise out of shadow, never through a milky placeholder. */
  background: #050e08;
  opacity: 0;
  transform-origin: 50% 90%;
  mask-repeat: no-repeat;
  -webkit-mask-repeat: no-repeat;
  mask-size: 100% 100%;
  -webkit-mask-size: 100% 100%;
  mask-position: center;
  -webkit-mask-position: center;
  will-change: transform,opacity;
}

.page-home .cv-homehero__ghost--mech {
  --cv-ghost-opacity: .42;
  --cv-bloom-y: 22px;
  --cv-bloom-scale: .82;
  --cv-bloom-rotate: 5deg;
  --cv-bloom-delay: 430ms;
  mask-image: url("home/leaf-mask-field-systems.svg");
  -webkit-mask-image: url("home/leaf-mask-field-systems.svg");
}

.page-home .cv-homehero__ghost--advisory {
  --cv-ghost-opacity: .42;
  --cv-bloom-y: 26px;
  --cv-bloom-scale: .78;
  --cv-bloom-rotate: -3.5deg;
  --cv-bloom-delay: 470ms;
  mask-image: url("home/leaf-mask-advisory.svg");
  -webkit-mask-image: url("home/leaf-mask-advisory.svg");
}

.page-home .cv-homehero__ghost--farms {
  --cv-ghost-opacity: .42;
  --cv-bloom-y: 23px;
  --cv-bloom-scale: .81;
  --cv-bloom-rotate: -4.5deg;
  --cv-bloom-delay: 450ms;
  mask-image: url("home/leaf-mask-farms.svg");
  -webkit-mask-image: url("home/leaf-mask-farms.svg");
}

.page-home .cv-homehero__media {
  position: absolute;
  display: block;
  overflow: hidden;
  visibility: hidden;
  opacity: 0;
  pointer-events: none;
  transition: none;
  transform: none;
}

.page-home .cv-homehero.is-activated .cv-homehero__media {
  visibility: visible;
}

.page-home .cv-homehero__media img,
.page-home .cv-homehero__media video {
  display: block;
}

.page-home .cv-homehero__media img,
.page-home .cv-homehero__media video {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  max-width: none;
  object-fit: cover;
}

.page-home .cv-homehero__leaf .cv-homehero__media :is(img,video) {
  filter: none;
}

.page-home .cv-homehero__media--mech {
  left: 2%;
  top: 40%;
  width: 54%;
  height: 57%;
  /* The harvester photo is a hazy aerial: contrast, not brightness, gives it presence. */
  filter: brightness(.96) saturate(.98) contrast(1.2) sepia(.03);
}

.page-home .cv-homehero__media--mech img {
  object-position: 78% 52%;
  transform: scale(1.43);
  transform-origin: 78% 52%;
}

.page-home .cv-homehero__media--advisory {
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  background: #cfe2ee url("rebuild/home-leaf-r2/advisory-rest-960.webp") 34% 51% / auto 103% no-repeat;
  /* The cyan sky is pulled toward the field's grey-green; the flower stays warm. */
  filter: brightness(.9) saturate(.76) sepia(.1) contrast(1.05);
}

.page-home .cv-homehero__media--advisory video {
  z-index: 2;
  inset: auto;
  left: 34%;
  top: 51%;
  width: auto;
  height: 103%;
  transform: translate(-34%,-51%);
  object-fit: fill;
  opacity: 0;
  visibility: hidden;
  transition: none;
}

.page-home .cv-homehero.is-video-ready .cv-homehero__media--advisory video {
  opacity: 1;
  visibility: visible;
}

.page-home .cv-homehero__media--farms {
  left: 0;
  top: -5%;
  width: 100%;
  height: 98%;
  filter: brightness(.92) saturate(.82) contrast(1.05);
}

.page-home .cv-homehero__media--farms img {
  object-position: 0 100%;
  transform: none;
}

.page-home .cv-homehero__wordmark {
  display: block;
  width: min(68vw,282px);
  opacity: 0;
  filter: drop-shadow(0 3px 18px rgba(0,0,0,.18));
}

.page-home .cv-homehero__wordmark svg {
  display: block;
  width: 100%;
  height: auto;
}

.page-home .cv-homehero__wordmark {
  position: relative;
}

.page-home .cv-homehero__wordmark path {
  fill: rgba(255,255,255,.7);
}

.page-home .cv-homehero__content {
  position: absolute;
  z-index: 12;
  inset: 0;
  width: 100%;
  height: 100%;
  min-height: 0;
  max-width: none;
  padding: 0;
  margin: 0;
  display: block;
}

.page-home .cv-homehero__title {
  position: absolute;
  left: 50%;
  top: 17svh;
  width: min(90vw,390px);
  margin: 0;
  color: rgba(248,246,238,.93);
  font-family: "Playfair Display",Georgia,"Times New Roman",serif;
  font-size: clamp(29px,9.5vw,40px);
  font-weight: 400;
  line-height: .99;
  letter-spacing: -.025em;
  text-align: center;
  text-wrap: balance;
  text-shadow: 0 2px 18px rgba(0,0,0,.18);
  opacity: 0;
  transform: translate(-50%,10px);
  pointer-events: none;
}

.page-home .cv-homehero__proposition {
  display: block;
}

.page-home .cv-homehero__proposition>span {
  display: block;
  white-space: nowrap;
}

.page-home .cv-homehero__title em {
  font-style: italic;
  font-weight: 400;
}

@media (prefers-reduced-motion:reduce) {
  .page-home .cv-homehero *,
  .page-home .cv-homehero *::before,
  .page-home .cv-homehero *::after,
  .page-home #mainNav {
    scroll-behavior: auto;
    transition: none !important;
  }
}

@media (max-width:760px) {
  .page-home .cv-homehero {
    height: 100vh;
    --cv-second-act-shift: 10.5svh;
  }

  @supports (height:100svh) {
    .page-home .cv-homehero {
      height: 100svh;
    }
  }

  .page-home .cv-homehero__brand-mark {
    width: min(91vw,365px,calc((100svh - 220px)*.76));
    margin-bottom: -18px;
  }

  .page-home .cv-homehero__media--mech {
    filter: brightness(.97) saturate(.98) contrast(1.2) sepia(.03);
  }

  .page-home .cv-homehero__media--mech img {
    object-position: 76% 54%;
    transform: scale(1.61);
    transform-origin: 76% 54%;
  }

  .page-home .cv-homehero__media--advisory {
    background-position: 39% 51%;
    background-size: auto 103%;
    filter: brightness(.9) saturate(.74) sepia(.1) contrast(1.05);
  }

  .page-home .cv-homehero__media--advisory video {
    left: 39%;
    top: 51%;
    height: 103%;
    transform: translate(-39%,-51%);
  }

  .page-home .cv-homehero__media--farms {
    filter: brightness(.92) saturate(.78) contrast(1.05);
  }

  .page-home .cv-homehero__wordmark {
    width: min(52vw,218px);
  }

  .page-home .cv-homehero__brand-lockup {
    top: calc(43.5% - clamp(32px,4.9svh,47px) - 16px);
  }

  .page-home .cv-homehero__wordmark path {
    fill: rgba(255,255,255,.68);
  }

  .page-home .cv-homehero__title {
    top: calc(clamp(38px,calc(14.2svh - max(0px,900px - 100svh)*.38),135px) + 20px);
    width: min(91vw,380px);
    font-size: clamp(26px,8.5vw,36.5px);
  }
}

@media (prefers-reduced-motion:no-preference) {
  .page-home .cv-homehero.is-running .cv-homehero__field {
    animation: cvFinalField 1100ms cubic-bezier(.16,1,.3,1) both;
  }

  .page-home .cv-homehero.is-running .cv-homehero__wordmark {
    animation: cvFinalWordmark 480ms cubic-bezier(.16,1,.3,1) 120ms both;
  }

  .page-home .cv-homehero.is-running .cv-homehero__ghost {
    animation: cvReferenceBloom 800ms cubic-bezier(.16,1,.3,1) var(--cv-bloom-delay) both;
  }

  .page-home .cv-homehero.is-activated .cv-homehero__media {
    animation: cvReferencePhoto 720ms cubic-bezier(.2,.72,.2,1) var(--cv-photo-delay,0ms) both;
  }

  .page-home .cv-homehero.is-activated .cv-homehero__ghost {
    animation: cvReferenceBloom 800ms cubic-bezier(.16,1,.3,1) var(--cv-bloom-delay) both,cvReferenceGhostOut 620ms ease both;
  }

  .page-home .cv-homehero.is-second-act .cv-homehero__title {
    animation: cvFinalHeadline 760ms cubic-bezier(.16,1,.3,1) 420ms both;
  }
}

@keyframes cvFinalField {
  from {
    transform: scale(1.018);
  }
  to {
    transform: scale(1);
  }
}

@keyframes cvFinalWordmark {
  from {
    opacity: 0;
    transform: translateY(6px);
  }
  to {
    opacity: 1;
    transform: none;
  }
}

@keyframes cvReferenceBloom {
  from {
    opacity: 0;
    transform: translateY(var(--cv-bloom-y)) scale(var(--cv-bloom-scale)) rotate(var(--cv-bloom-rotate));
  }
  68% {
    opacity: var(--cv-ghost-opacity);
  }
  88% {
    transform: translateY(-1px) scale(1.009) rotate(0deg);
  }
  to {
    opacity: var(--cv-ghost-opacity);
    transform: none;
  }
}

@keyframes cvReferencePhoto {
  from {
    opacity: .02;
  }
  to {
    opacity: 1;
  }
}

@keyframes cvReferenceGhostOut {
  from {
    opacity: var(--cv-ghost-opacity);
  }
  to {
    opacity: 0;
  }
}

@keyframes cvFinalHeadline {
  from {
    opacity: 0;
    transform: translate(-50%,10px);
  }
  to {
    opacity: 1;
    transform: translate(-50%,0);
  }
}

@media (max-width:760px) and (max-height:730px) and (min-aspect-ratio:1/1) {
  .page-home .cv-homehero__brand-lockup {
    top: 49%;
    --cv-second-act-shift: 10svh;
  }

  .page-home .cv-homehero__brand-mark {
    width: min(84vw,330px,calc((100svh - 230px)*.875));
  }

  .page-home .cv-homehero__wordmark {
    width: min(64vw,255px,calc((100svh - 230px)*.7));
  }
}

@media (min-width:761px) {
  .page-home .cv-homehero {
    --cv-second-act-shift: 5.5svh;
    --cv-mark-width: min(48vw,450px,calc((100svh - 280px)*.875));
  }

  .page-home .cv-homehero__brand-lockup {
    top: 55%;
  }

  .page-home .cv-homehero__brand-mark {
    width: var(--cv-mark-width);
  }

  .page-home .cv-homehero__wordmark {
    width: min(34vw,320px);
  }

  .page-home .cv-homehero__title {
    top: 10svh;
    width: min(92vw,980px);
    font-size: clamp(42px,5.2vw,64px);
  }
}

/* Laptop heights (720–880px): the lockup ends at least 32px above the fold. */
@media (min-width:761px) and (max-height:880px) {
  .page-home .cv-homehero {
    --cv-second-act-shift: 6svh;
    --cv-mark-width: min(48vw,450px,calc((100svh - 330px)*.8));
  }
}

@media (min-width:761px) and (max-height:620px) {
  .page-home .cv-homehero {
    --cv-second-act-shift: 3svh;
    --cv-mark-width: min(38vw,calc((100svh - 280px)*.875));
  }

  .page-home .cv-homehero__brand-lockup {
    top: 56%;
  }

  .page-home .cv-homehero__title {
    top: 10svh;
    font-size: clamp(35px,4vw,50px);
  }
}

@media (prefers-reduced-motion:reduce) {
  .page-home .cv-homehero.is-running .cv-homehero__field,
  .page-home .cv-homehero.is-running .cv-homehero__wordmark,
  .page-home .cv-homehero.is-running .cv-homehero__ghost,
  .page-home .cv-homehero.is-activated .cv-homehero__media,
  .page-home .cv-homehero.is-activated .cv-homehero__ghost,
  .page-home .cv-homehero.is-second-act .cv-homehero__title {
    animation: none !important;
  }

  .page-home .cv-homehero__field {
    transform: none;
  }

  .page-home .cv-homehero__wordmark {
    opacity: 1;
    transform: none;
  }

  .page-home .cv-homehero__ghost {
    display: none;
  }

  .page-home .cv-homehero__media {
    opacity: 1;
  }

  .page-home .cv-homehero__media--advisory video {
    display: block;
  }

  .page-home .cv-homehero__title {
    opacity: 1;
    transform: translate(-50%,0);
  }
}

/* The hero composition hangs a fixed distance below the nav: the headline never sits
   closer than ~28px (desktop) or 22px (phones) to it, and the lockup moves with the
   headline so the space between them holds. Uses the individual translate property, so
   it composes with the intro's transform animations. */
.page-home .cv-homehero {
  --cv-head-drop: max(0px,calc(80px - (clamp(38px,calc(14.2svh - max(0px,900px - 100svh)*.38),135px) + 20px)));
  --cv-lockup-drop: calc(var(--cv-head-drop) + 18px);
}

/* Short phones: a slightly smaller mark keeps the tapped route's panel above the fold. */
@media (max-width:760px) and (max-height:779px) and (max-aspect-ratio:1/1) {
  .page-home .cv-homehero__brand-mark {
    width: min(91vw,365px,calc((100svh - 270px)*.76));
  }
}

/* Taller phones: the lockup settles lower, centring the mark in the frame while
   leaving room under the wordmark for the tapped route's panel. */
@media (max-width:760px) and (min-height:780px) {
  .page-home .cv-homehero {
    --cv-lockup-drop: calc(var(--cv-head-drop) + 12svh - 30px);
  }
}

@media (min-width:761px) {
  .page-home .cv-homehero {
    --cv-head-drop: max(0px,calc(64px + clamp(28px,4.5svh,48px) - 10svh));
    --cv-lockup-drop: var(--cv-head-drop);
  }
}

.page-home .cv-homehero__title {
  translate: 0 var(--cv-head-drop);
}

.page-home .cv-homehero__brand-lockup {
  translate: 0 var(--cv-lockup-drop);
}

/* Returning with Back, or arriving at a section link, shows the intro's final frame at once. */
.page-home .cv-homehero.is-settled :is(.cv-homehero__field,.cv-homehero__wordmark,.cv-homehero__ghost,.cv-homehero__media,.cv-homehero__title) {
  animation: none !important;
}

.page-home .cv-homehero.is-settled .cv-homehero__field {
  transform: none;
}

.page-home .cv-homehero.is-settled :is(.cv-homehero__wordmark,.cv-homehero__media) {
  opacity: 1;
}

.page-home .cv-homehero.is-settled .cv-homehero__ghost {
  opacity: 0;
}

.page-home .cv-homehero.is-settled .cv-homehero__title {
  opacity: 1;
  transform: translate(-50%,0);
}

.page-home #mainNav {
  opacity: 1;
  transition: opacity .34s ease,transform .32s var(--cv-shell-ease,cubic-bezier(.16,1,.3,1)),visibility 0s,background .28s ease,color .28s ease,border-color .28s ease,backdrop-filter .28s ease;
}

/* Desktop opens on the land alone; the nav arrives as the intro settles (~1.8s) or on
   scroll. Phones keep Menu reachable from the first frame. */
@media (min-width:761px) {
  .page-home:has(#cvHomeHero[data-cv-hero-nav="latent"]) #mainNav {
    opacity: 0;
    transform: translate3d(0,0,0);
    visibility: hidden;
    pointer-events: none;
    transition: opacity .34s ease,transform .32s var(--cv-shell-ease,cubic-bezier(.16,1,.3,1)),visibility 0s linear .34s;
  }
}

/* One wordmark at a time, without leaving the bar unanchored: while the hero wordmark is
   in view the nav carries only the leaf mark (the logo's left 28%); the wordmark half
   unfolds once the hero's has scrolled away. */
.page-home #mainNav .cv-global-logo {
  clip-path: inset(-2px -2px -2px -2px);
  transition: opacity .22s ease,clip-path .45s cubic-bezier(.2,.7,.2,1);
}

.page-home:has(#cvHomeHero[data-cv-hero-nav="latent"]) #mainNav .cv-global-logo,
.page-home:has(#cvHomeHero[data-cv-wordmark-in-view]) #mainNav .cv-global-logo {
  clip-path: inset(-2px 71.5% -2px -2px);
}

@media (prefers-reduced-motion:reduce) {
  .page-home #mainNav .cv-global-logo {
    transition: opacity .22s ease;
  }
}

@media (min-width:761px) and (max-width:1180px) {
  .page-home #mainNav .cv-global-nav__inner {
    width: calc(100% - 44px);
    grid-template-columns: 120px minmax(0,1fr) auto;
    gap: 10px;
  }

  .page-home #mainNav .cv-global-brand,
  .page-home #mainNav .cv-global-logo {
    width: 120px;
  }

  .page-home #mainNav .cv-global-links {
    display: flex;
    gap: clamp(12px,1.5vw,18px);
    font-size: clamp(9.5px,1.12vw,10.5px);
    letter-spacing: .1em;
  }

  .page-home #mainNav .cv-global-cta {
    display: inline-flex !important;
    min-height: 36px;
    padding-inline: 10px;
    font-size: 9px;
  }

  .page-home #mainNav .cv-global-menu {
    display: none;
  }
}

.page-home .cv-homehero__hotspots {
  position: absolute;
  inset: 0;
  z-index: 9;
  display: block;
  width: 100%;
  height: 100%;
  overflow: visible;
  pointer-events: none;
}

.page-home .cv-homehero__hotspot {
  pointer-events: auto;
  cursor: pointer;
  outline: none;
  touch-action: manipulation;
}

.page-home .cv-homehero__hotspot path {
  fill: rgba(255,255,255,.001);
  stroke: transparent;
  stroke-width: .8;
  vector-effect: non-scaling-stroke;
  pointer-events: visiblePainted;
}

/* The leaf whose route is showing carries a quiet outline. */
.page-home .cv-homehero[data-active-leaf="mech"] [data-cv-hero-hotspot="mech"]:not(:focus-visible) path,
.page-home .cv-homehero[data-active-leaf="advisory"] [data-cv-hero-hotspot="advisory"]:not(:focus-visible) path,
.page-home .cv-homehero[data-active-leaf="farms"] [data-cv-hero-hotspot="farms"]:not(:focus-visible) path {
  stroke: rgba(255,255,255,.72);
  stroke-width: 1.25;
}

/* A light ring with a dark halo reads on every leaf, including the Advisory sky. */
.page-home .cv-homehero__hotspot:focus-visible path {
  stroke: #fff;
  stroke-width: 2.25;
  filter: drop-shadow(0 0 1px rgba(7,16,10,.95)) drop-shadow(0 0 3px rgba(7,16,10,.7));
}

.page-home .cv-homehero__leaf {
  transition: filter .28s cubic-bezier(.2,.7,.2,1);
}

.page-home .cv-homehero[data-active-leaf="mech"] .cv-homehero__leaf--mech,
.page-home .cv-homehero[data-active-leaf="advisory"] .cv-homehero__leaf--advisory,
.page-home .cv-homehero[data-active-leaf="farms"] .cv-homehero__leaf--farms {
  filter: brightness(1.02) saturate(1.02) contrast(1.01);
}

@media (hover:hover) and (pointer:fine) and (prefers-reduced-motion:no-preference) {
  .page-home .cv-homehero__media {
    transition: transform .30s cubic-bezier(.2,.7,.2,1);
  }

  .page-home .cv-homehero[data-active-leaf="mech"] .cv-homehero__leaf--mech .cv-homehero__media,
  .page-home .cv-homehero[data-active-leaf="advisory"] .cv-homehero__leaf--advisory .cv-homehero__media,
  .page-home .cv-homehero[data-active-leaf="farms"] .cv-homehero__leaf--farms .cv-homehero__media {
    transform: scale(1.013);
  }
}

.page-home .cv-homehero__destination {
  position: absolute;
  z-index: 20;
  top: calc(100% + clamp(16px,2.2svh,22px));
  left: 50%;
  display: grid;
  justify-items: center;
  gap: 6px;
  width: min(340px,calc(100vw - 32px));
  color: #fff;
  text-align: center;
  text-shadow: 0 2px 16px rgba(0,0,0,.55);
  opacity: 0;
  visibility: hidden;
  transform: translate(-50%,5px);
  pointer-events: none;
  transition: opacity .26s ease,transform .26s cubic-bezier(.2,.7,.2,1),visibility 0s linear .26s;
}

.page-home .cv-homehero__destination.is-visible {
  opacity: 1;
  visibility: visible;
  transform: translate(-50%,0);
  pointer-events: auto;
  transition-delay: 0s;
}

.page-home .cv-homehero__destination-kicker {
  font: 600 10px/1.3 var(--mono,"JetBrains Mono",ui-monospace,monospace);
  letter-spacing: .1em;
  text-transform: uppercase;
  color: rgba(223,242,216,.94);
}

.page-home .cv-homehero__destination-title {
  font: 400 clamp(15px,2vw,18px)/1.25 "Playfair Display",Georgia,serif;
}

.page-home .cv-homehero__destination-link {
  display: inline-flex;
  align-items: center;
  gap: .32em;
  margin-top: 7px;
  padding: 6px 4px;
  color: rgba(255,255,255,.96);
  font: 600 11.5px/1.4 var(--mono,"JetBrains Mono",ui-monospace,monospace);
  letter-spacing: .035em;
  text-decoration: none;
  border-bottom: 1px solid rgba(255,255,255,.62);
  pointer-events: auto;
}

.page-home .cv-homehero__destination-link:is(:hover,:focus-visible) {
  color: #fff;
  border-bottom-color: #fff;
  outline: none;
}

@media (max-width:760px) {
  .page-home .cv-homehero__destination {
    padding-bottom: max(10px,env(safe-area-inset-bottom,0px));
  }

  .page-home .cv-homehero__destination-title {
    color: rgba(255,255,255,.98);
    text-shadow: 0 2px 18px rgba(0,0,0,.68);
  }

  .page-home .cv-homehero__destination-link {
    min-height: 44px;
    margin-top: 8px;
    padding: 7px 5px;
    color: #fff;
    font-size: 11.75px;
    font-weight: 600;
    border-bottom-color: rgba(255,255,255,.72);
  }
}

@media (min-width:761px) {
  /* Placed beside its leaf from the leaves' real geometry (assets/home.js, placeRoute),
     22px clear of every leaf at any width. */
  .page-home .cv-homehero__destination {
    left: var(--cv-route-left,50%);
    top: var(--cv-route-top,40%);
    width: max-content;
    max-width: calc(100vw - 32px);
    justify-items: start;
    gap: 4px;
    text-align: left;
    transform: translate(0,6px);
    transition: opacity .22s ease,transform .28s cubic-bezier(.2,.7,.2,1),visibility 0s linear .22s;
  }

  .page-home .cv-homehero__destination.is-visible {
    transform: translate(0,0);
  }

  .page-home .cv-homehero[data-active-leaf="mech"] .cv-homehero__destination {
    justify-items: end;
    text-align: right;
  }

  /* Hover gives what a tap gives on phones: the route, what it is, and the way in. */
  .page-home .cv-homehero__destination-title {
    max-width: 17ch;
    font-size: 17px;
    text-wrap: balance;
  }

  .page-home .cv-homehero__destination-link {
    margin-top: 6px;
    min-height: 30px;
    padding: 4px 2px;
    white-space: nowrap;
  }
}

@media (prefers-reduced-motion:reduce) {
  .page-home .cv-homehero__destination,
  .page-home .cv-homehero__leaf {
    transition: none !important;
  }
}

.page-home .cv-homehero__content {
  pointer-events: none;
}

.page-home .cv-homehero__brand-mark {
  opacity: 1;
  transform: none;
}

.page-home .cv-homehero__leaf {
  opacity: 1;
  transform: none;
}

@media (prefers-reduced-motion:reduce) {
  .page-home .cv-homehero__brand-mark,
  .page-home .cv-homehero__leaf {
    animation: none !important;
    opacity: 1 !important;
    transform: none !important;
  }
}

.page-home .cv-homehero.is-second-act[data-cv-motion-variant="mobile"] .cv-homehero__title {
  animation: cvFinalHeadline 760ms cubic-bezier(.16,1,.3,1) 360ms both;
}

@view-transition {
  navigation: auto;
}

/* POST-AWARD PROSE FINISH: measured local headline measures and state titles. */
.page-home [data-ci-story-step="pattern"] h3{max-width:100%!important;text-wrap:pretty!important;}
.page-home [data-ci-story-step="resolution"] h3{max-width:100%!important;text-wrap:balance!important;}
.page-home #contactTitle{max-width:100%!important;text-wrap:pretty!important;}

/* TYPE FINISH: one scale for Home display type. Section headings, Crop
   Intelligence step headings and proof figures each share one fluid size, so a
   step heading never outsizes its section heading on phones. Tracking loosens
   as type gets smaller: calc(.9px - .06em) is about -.048em at 76px, -.043em
   at 54px and -.034em at 34px. The 52.6% feature figure and the hero lockup
   keep their own settings. */
.page-home {
  --home-type-section: clamp(32px, calc(21px + 3.6vw), 76px);
  --home-type-step: clamp(30px, calc(20px + 2.3vw), 54px);
  --home-type-figure: clamp(34px, calc(22px + 1.8vw), 48px);
  --home-type-track: calc(.9px - .06em);
}

.page-home .home-mavh__copy .display-title,
.page-home .home-ci-story__intro .display-title,
.page-home .home-publication__copy .display-title,
.page-home #contactTitle {
  font-size: var(--home-type-section) !important;
  letter-spacing: var(--home-type-track) !important;
}

.page-home .home-ci-story__step h3,
.page-home [data-ci-story-step="history"] h3 {
  font-size: var(--home-type-step) !important;
  letter-spacing: var(--home-type-track) !important;
}

/* Balanced breaks: "Five districts / account for over half." rather than
   stranding "for", and "Bring us what / needs to move." rather than "to move." */
.page-home [data-ci-story-step] h3,
.page-home #contactTitle {
  text-wrap: balance !important;
}

.page-home .home-mavh__proof strong {
  font-size: var(--home-type-figure) !important;
  letter-spacing: var(--home-type-track) !important;
}

.page-home .home-publication__record strong {
  letter-spacing: var(--home-type-track) !important;
}

@media (min-width:761px) {
  /* One line where it fits; otherwise two balanced lines, never "districts" alone. */
  .page-home .home-ci-story__product-proof>div:first-child strong {
    max-width: none !important;
    font-size: var(--home-type-figure) !important;
    letter-spacing: var(--home-type-track) !important;
    text-wrap: balance !important;
  }
}

/* Six crops on one row where the column allows; otherwise three over three, so
   no crop is left alone on a row. One row needs about 372-380px. */
.page-home .home-ci-story__crops {
  container: ci-crops / inline-size;
}

@container ci-crops (max-width: 383px) {
  .page-home .home-ci-story__crops-list {
    display: grid;
    grid-template-columns: repeat(3, max-content);
    justify-items: start;
  }
}

/* LABEL FINISH: small text on Home reads at its real size. The history chart is
   now laid out in true pixels and the map labels are counter-scaled (home.js sets
   --ci-svg-unit), so these sizes are what the reader sees. Mono labels keep their
   archival voice with an 11px floor and less tracking as they get smaller. */
.page-home .home-ci-history__label {
  font-size: 12px !important;
  stroke-width: 3.5px !important;
}

.page-home .home-ci-history__label--primary {
  font-size: 13px !important;
  font-weight: 650 !important;
}

.page-home .home-ci-history__value,
.page-home .home-ci-history__axis-label,
.page-home .home-ci-history__regime-label,
.page-home .home-ci-history__break-label {
  font-size: 11px !important;
}

.page-home .home-ci-history__axis-label {
  fill: #59675f;
}

.page-home .home-ci-history__regime-label,
.page-home .home-ci-history__break-label {
  letter-spacing: .06em !important;
}

.page-home .home-ci-story__label-text {
  font-size: calc(12px * var(--ci-svg-unit, 1)) !important;
  stroke-width: calc(3.5px * var(--ci-svg-unit, 1)) !important;
}

@media (max-width:760px) {
  .page-home .home-ci-story__label-text {
    font-size: calc(11px * var(--ci-svg-unit, 1)) !important;
    stroke-width: calc(3px * var(--ci-svg-unit, 1)) !important;
  }
}

.page-home .home-ci-story__visual-head,
.page-home .home-ci-story__step-index,
.page-home .home-ci-story__crops-label,
.page-home .home-ci-story__district-picker label {
  font-size: 11px !important;
  letter-spacing: .075em !important;
}

.page-home .home-ci-story__provenance,
.page-home .home-ci-story__legend,
.page-home .home-ci-story__legend b,
.page-home .home-ci-story__product-proof span {
  font-size: 11px !important;
  line-height: 1.45 !important;
  letter-spacing: .03em !important;
}

.page-home .global-cta-kicker.global-cta-kicker {
  font-size: 11px;
  letter-spacing: .1em;
}

.page-home .home-ci-history__break-label {
  paint-order: stroke;
  stroke: #edf0e8;
  stroke-width: 5px;
  stroke-linejoin: round;
}

/* Two-column tablets (761-900px) give the visual a narrow column; inset the map
   from the left so the Dinajpur and Joypurhat labels stay inside it. */
@media (min-width:761px) and (max-width:900px) {
  .page-home .home-ci-story__map-wrap {
    left: 10% !important;
  }
}

/* Pattern-state map key: rust is the five districts in the finding, the pale
   ground is every other district. */
.page-home [data-ci-story-state="pattern"] .home-ci-story__legend {
  opacity: 1 !important;
  transform: none !important;
}

.page-home .home-ci-story__key {
  display: block;
  flex: none;
  width: 11px;
  height: 11px;
  background: #dfe4dc;
  border: 1px solid rgba(23,58,40,.18);
}

.page-home .home-ci-story__key--top {
  background: #a94734;
  border-color: #a94734;
}

.page-home .home-ci-story__key + b {
  margin-right: 6px;
}

/* Narrow visuals: the caption stops short of the scale beside it (tablets), or
   the scale takes its own row under the caption (phones). */
@media (min-width:761px) and (max-width:900px) {
  .page-home [data-ci-story-state="resolution"] .home-ci-story__reading span {
    display: block;
    max-width: calc(100% - 64px);
  }
}

@media (max-width:760px) {
  .page-home [data-ci-story-state="resolution"] .home-ci-story__reading {
    bottom: 40px !important;
  }

  .page-home .home-ci-story__legend {
    left: 0 !important;
    right: auto !important;
    bottom: 12px !important;
    max-width: 100% !important;
  }

  .page-home .home-ci-story__provenance {
    line-height: 1.25 !important;
  }

  /* The map gives back the row the scale takes, in every state so it never jumps. */
  .page-home .home-ci-story__map-wrap {
    bottom: 81px !important;
  }
}

@media (min-width:600px) and (max-width:760px) and (min-height:750px) {
  .page-home .home-ci-story__map-wrap {
    bottom: 101px !important;
  }
}

/* Smallest phones: the source note runs to three lines; keep the map below it. */
@media (max-width:379px) {
  .page-home .home-ci-story__map-wrap {
    top: 66px !important;
  }
}

/* Phones pin the Crop Intelligence stage at the top of the screen. When the nav
   slides back in on scroll-up, the stage moves down with it instead of losing its
   heading under the nav (same pattern as the potato long view). */
@media (max-width:760px) {
  html.cv-nav-scroll-reveal:not(.cv-global-nav-hidden) .page-home .home-ci-story__visual {
    top: var(--nav-h, 58px) !important;
  }

  html.cv-nav-scroll-reveal .page-home .home-ci-story__visual {
    transition: top .32s var(--cv-shell-ease, cubic-bezier(.16,1,.3,1)) !important;
  }
}

/* One rule closes Crop Intelligence: the full-width line above the proof row.
   The stage frame and last step no longer draw their own bottom rules, and on
   phones the first proof row doesn't repeat the line 1px below it. */
.page-home .home-ci-story__visual,
.page-home [data-ci-story-step]:last-child {
  border-bottom: 0 !important;
}

.page-home .home-ci-story__product-proof>div:first-child {
  border-top: 0 !important;
}
