/* Cultivera Living Signature · closing-band refinement · Home + MAVH only.
   The Colour Transfer itself runs on every footer page (footer-signature.css);
   this sheet keeps the CD-approved closing band, footer layout and 260px mark.
   Never broaden these selectors until visual acceptance and sitewide QA. */
body[data-cv-closing-prototype="living-signature-r1"] {
  --cv-closing-forest:#10291c;
  --cv-closing-ink:#080f0b;
  --cv-closing-paper:#f4efe4;
  --cv-closing-sage:#b4cba9;
  /* Whole-pixel 416:120 steps (52n × 15n): fractional sizes make the
     snapped <img> and the live SVG anti-alias differently at rest. */
  --cv-footer-mark-w:208px;
}
@media(min-width:761px){
  body[data-cv-closing-prototype] {--cv-footer-mark-w:260px;}
}
/* The footer is a quiet editorial sign-off, not another hero. */
body[data-cv-closing-prototype] .cv-footer-v3 {
  background:var(--cv-closing-ink);
  /* Clean forest-to-ink cut: no separator rule or gradient band. */
  border-top:0;
}
body[data-cv-closing-prototype] .cv-footer-v3__inner {
  width:min(calc(100% - 64px),1280px);
  grid-template-columns:minmax(250px,.88fr) minmax(0,1.12fr);
  gap:clamp(28px,3vw,42px) clamp(48px,7vw,112px);
  padding:clamp(64px,6.2vw,90px) 0 34px;
}
/* The SVG viewBox already carries air below the leaves; keep the tagline close. */
body[data-cv-closing-prototype] .cv-footer-v3__mast {gap:7px;}
body[data-cv-closing-prototype] .cv-footer-v3__brand {
  width:var(--cv-footer-mark-w);
  min-height:0;
  align-items:center;
}
body[data-cv-closing-prototype] .cv-footer-v3__brand :is(img,svg) {
  display:block;
  width:100%;
  height:auto;
  max-width:100%;
  overflow:visible;
  object-fit:contain;
}
body[data-cv-closing-prototype] .cv-footer-v3__brand img[hidden] {
  display:none!important;
}
body[data-cv-closing-prototype] .cv-footer-v3__mast p {
  font:400 clamp(14px,1.2vw,16px)/1.5 var(--sans,Inter,system-ui,sans-serif);
  color:rgba(244,239,228,.71);
}
body[data-cv-closing-prototype] .cv-footer-v3__nav {
  justify-content:flex-end;
  gap:0 clamp(18px,2.35vw,34px);
  align-content:start;
  /* Centre the link row on the wordmark (mark height = .2885 × width). */
  padding-top:max(0px,calc(var(--cv-footer-mark-w) * .1442 - 23px));
}
body[data-cv-closing-prototype] .cv-footer-v3__nav a {
  position:relative;
  min-height:46px;
  color:rgba(244,239,228,.79);
  font:500 13px/1.3 var(--sans,Inter,system-ui,sans-serif);
  letter-spacing:0;
  text-transform:none;
}
body[data-cv-closing-prototype] .cv-footer-v3__nav a::after {
  content:"";
  position:absolute;
  left:0;
  right:0;
  bottom:8px;
  border-bottom:1px solid currentColor;
  transform:scaleX(0);
  transform-origin:left;
  transition:transform 200ms ease;
}
body[data-cv-closing-prototype] .cv-footer-v3__nav a:is(:hover,:focus-visible)::after {
  transform:scaleX(1);
}
body[data-cv-closing-prototype] .cv-footer-v3__contact {
  padding-top:22px;
  border-top:1px solid rgba(244,239,228,.17);
  gap:10px 24px;
}
body[data-cv-closing-prototype] .cv-footer-v3__contact > a:first-child {
  font:500 clamp(13px,1.14vw,15px)/1.5 var(--sans,Inter,system-ui,sans-serif);
  color:var(--cv-closing-paper);
}
body[data-cv-closing-prototype] .cv-footer-v3__credit {
  font:400 12px/1.5 var(--sans,Inter,system-ui,sans-serif)!important;
  color:rgba(244,239,228,.55)!important;
  letter-spacing:0!important;
}
body[data-cv-closing-prototype] .cv-footer-v3__brand:focus-visible {
  outline:2px solid var(--cv-closing-paper);
  outline-offset:7px;
  border-radius:2px;
}
/* Home: larger typographic measure; no floating panel or secondary ornament. */
body.page-home[data-cv-closing-prototype] .global-closing.global-closing {
  background:var(--cv-closing-forest);
  padding:clamp(94px,10vw,150px) 0 clamp(84px,9vw,130px);
  border-top:0;
}
body.page-home[data-cv-closing-prototype] .global-cta-band.global-cta-band {
  grid-template-columns:minmax(0,1.05fr) minmax(280px,.58fr);
  gap:clamp(38px,8vw,118px);
  align-items:end;
}
body.page-home[data-cv-closing-prototype] .global-cta-kicker.global-cta-kicker {
  margin-bottom:18px;
  color:var(--cv-closing-sage);
  font-size:12px;
  letter-spacing:.075em;
}
body.page-home[data-cv-closing-prototype] .global-cta-title.global-cta-title {
  max-width:13ch;
  font-size:clamp(3.4rem,6.25vw,6.7rem);
  line-height:.97;
  letter-spacing:-.052em;
  color:var(--cv-closing-paper);
}
body.page-home[data-cv-closing-prototype] .global-cta-copy.global-cta-copy {
  max-width:31ch;
  font-size:clamp(16px,1.35vw,19px);
  line-height:1.55;
  color:rgba(244,239,228,.78);
}
body.page-home[data-cv-closing-prototype] .global-cta-actions.global-cta-actions {margin-top:28px;}
/* Buttons: controlled arrow travel, no scale/lift or delayed navigation. */
body[data-cv-closing-prototype] :is(.global-closing .shell-primary-button,.global-closing .cv-primary-cta,.mavh-decision__inner .r42-page-action) {
  display:inline-flex;
  justify-content:center;
  align-items:center;
  gap:24px;
  min-height:52px;
  padding:0 24px;
  border-radius:999px;
  text-decoration:none;
  transition:background-color 200ms ease,border-color 200ms ease,color 200ms ease;
}
body[data-cv-closing-prototype] :is(.global-closing .shell-primary-button,.global-closing .cv-primary-cta,.mavh-decision__inner .r42-page-action)::after {
  content:"↗";
  display:inline-block;
  font:500 20px/1 var(--sans,Inter,system-ui,sans-serif);
  transition:transform 200ms cubic-bezier(.2,.72,.2,1);
}
body[data-cv-closing-prototype] :is(.global-closing .shell-primary-button,.global-closing .cv-primary-cta,.mavh-decision__inner .r42-page-action):is(:hover,:focus-visible)::after {
  transform:translate(3px,-3px);
}
/* MAVH keeps its documentary photo and decision language. */
body.donor-mavh[data-cv-closing-prototype] .mavh-decision__frame {
  min-height:clamp(570px,62vw,750px);
}
body.donor-mavh[data-cv-closing-prototype] .mavh-decision__inner {
  gap:clamp(30px,7vw,105px);
  padding-top:clamp(100px,14vw,180px);
  padding-bottom:clamp(82px,9vw,124px);
}
body.donor-mavh[data-cv-closing-prototype] .mavh-decision__inner h2 {
  max-width:14ch;
  text-wrap:balance;
}
body.donor-mavh[data-cv-closing-prototype] main#main-content .mavh-decision__inner a.r42-page-action {
  min-height:52px!important;
  padding-inline:24px!important;
  border-radius:999px!important;
  background:var(--cv-closing-paper)!important;
  border:1px solid var(--cv-closing-paper)!important;
  color:#10291c!important;
  font:600 13px/1.3 Inter,system-ui,sans-serif!important;
  letter-spacing:0!important;
  white-space:normal;
  box-shadow:none!important;
}
/* Below 900px: preserve reading order and allow nav to breathe. */
@media(max-width:900px) {
  body[data-cv-closing-prototype] .cv-footer-v3__inner {
    grid-template-columns:1fr;
    grid-template-areas:"mast" "nav" "contact";
    gap:25px;
  }
  body[data-cv-closing-prototype] .cv-footer-v3__nav {justify-content:flex-start;padding-top:0;}
  body.page-home[data-cv-closing-prototype] .global-cta-band.global-cta-band {
    grid-template-columns:1fr!important;
    gap:28px!important;
  }
}
@media(max-width:620px) {
  body[data-cv-closing-prototype] .cv-footer-v3__inner {
    width:calc(100% - 40px);
    padding:50px 0 30px;
    gap:20px;
  }
  body[data-cv-closing-prototype] .cv-footer-v3__nav {
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:0 16px;
  }
  body[data-cv-closing-prototype] .cv-footer-v3__nav a {min-height:44px;font-size:13px;}
  body[data-cv-closing-prototype] .cv-footer-v3__contact {display:grid;gap:14px;}
  body.page-home[data-cv-closing-prototype] .global-closing.global-closing {
    padding:74px 0 78px;
  }
  body.page-home[data-cv-closing-prototype] .global-cta-title.global-cta-title {
    font-size:clamp(2.85rem,11.1vw,4.15rem);
    max-width:13ch;
    line-height:.98;
  }
  body.donor-mavh[data-cv-closing-prototype] .mavh-decision__inner {
    padding-top:100px;
    padding-bottom:104px;
  }
}
@media(prefers-reduced-motion:reduce) {
  body[data-cv-closing-prototype] .cv-footer-v3__nav a::after,
  body[data-cv-closing-prototype] :is(.global-closing .shell-primary-button,.global-closing .cv-primary-cta,.mavh-decision__inner .r42-page-action)::after {
    transition:none;
  }
}
