/* ============================================================
   BEVP V13 BASELINE STYLES (provisional working baseline)
   Copied verbatim from references/approved-homepage/styles.css (?v=13),
   minus the :root token block, which now lives in css/tokens.css.
   Do not edit casually: shell additions go in css/components.css.
   Will be split into base / typography / layout / components /
   responsive files as each section is approved.
   ============================================================ */


*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
body{
  font-family:var(--ff-body);font-weight:400;font-size:16px;line-height:1.55;
  color:var(--ink);background:var(--bone);
  background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 240 240' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='1.1' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 0.05 0 0 0 0 0.05 0 0 0 0 0.04 0 0 0 0.55 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
  background-size:240px 240px;
  background-blend-mode:multiply;
  overflow-x:hidden;
}
a{color:inherit;text-decoration:none}
img{display:block;max-width:100%;height:auto}
button,input,textarea,select{font:inherit;color:inherit}

/* === TYPE === */
.dpy{font-family:var(--ff-display);font-weight:900;letter-spacing:-.005em;line-height:.86;text-transform:uppercase}
.dpy-2{font-family:var(--ff-display);font-weight:800;letter-spacing:0;line-height:.92;text-transform:uppercase}
.lbl{font-family:var(--ff-mono);font-weight:500;font-size:11px;letter-spacing:.18em;text-transform:uppercase}
.lbl-sm{font-family:var(--ff-mono);font-weight:500;font-size:10px;letter-spacing:.22em;text-transform:uppercase}
.eyebrow{font-family:var(--ff-display);font-weight:700;font-size:12px;letter-spacing:.28em;text-transform:uppercase}
.edit{font-family:var(--ff-edit);font-style:italic;font-weight:400}
.num{font-family:var(--ff-display);font-weight:900;font-feature-settings:"tnum"}

/* === LAYOUT === */
.wrap{max-width:var(--max);margin-inline:auto;padding-inline:var(--pad-x)}
.wrap-wide{max-width:1480px;margin-inline:auto;padding-inline:var(--pad-x)}
.wrap-tight{max-width:920px;margin-inline:auto;padding-inline:var(--pad-x)}
.gutter{display:grid;gap:clamp(20px,3vw,40px)}

/* === HEADER === */
.bar{
  position:sticky;top:0;z-index:50;
  background:var(--bone);
  border-bottom:1px solid var(--rule);
  backdrop-filter:saturate(140%);
}
.bar-inner{
  display:flex;align-items:center;justify-content:space-between;
  padding:18px var(--pad-x);
}
.brand{display:flex;align-items:center;gap:12px}
/* Global header uses supplied BEVP horizontal feather/logo (360 x 169).
   Scoped to the navigation header. Footer asset and size stay intact. */
.bar .brand-logo{height:58px;width:auto;display:block;flex:none}
@media (max-width:1200px) and (min-width:981px){.bar .brand-logo{height:49px}}
@media (max-width:520px){.bar .brand-logo{height:53px}}
/* Footer keeps the full Horizontal lockup (icon + wordmark) at larger scale
   for brand presence at the bottom of the page. Aspect ~1.65:1. */
.foot .brand--foot{margin-bottom:18px}
.foot .brand--foot .brand-logo{height:62px}
@media (max-width:520px){.foot .brand--foot .brand-logo{height:48px}}

/* Icon-only feather+eye mark (still used in hero poster + orange band as a corner mark).
   Path classes: .bevp-feather (orange top) and .bevp-eye (dark wing/eye).
   Default (light bg): feather = orange, eye = ink. */
.brand-mark{width:34px;height:42px;flex:none;display:block}
/* Fill the icon via CSS custom properties so the values inherit through
   the <use href="#feather"> shadow tree in ALL browsers. Descendant
   class selectors (.band .bevp-feather) don't reliably penetrate the
   shadow DOM created by <use> in Firefox — custom properties do.
   Fallbacks (the second arg to var()) give us the default light-bg
   palette: orange feather + ink eye. */
.bevp-feather{fill:var(--feather-fill, var(--orange))}
.bevp-eye{fill:var(--eye-fill, var(--ink))}
/* On dark surfaces — eye becomes bone so it stays visible against ink.
   Feather stays orange (visible on dark). */
.section.dark,
.foot,
.imghero,
.final{--eye-fill:var(--bone)}
/* On orange surfaces (band, poster) — both feather AND eye become ink
   (single-color black) so the full icon reads cleanly against the
   brand orange background. Without this, the orange feather paths
   disappear into the bg and only the eye reads. */
.band,
.poster{--feather-fill:var(--ink);--eye-fill:var(--ink)}
/* === NAV (dropdowns) === */
.nav{display:flex;align-items:center}
.nav-list{display:flex;align-items:center;gap:clamp(12px,1.6vw,22px);list-style:none;margin:0;padding:0}
.nav-item{position:relative}
.nav-item > a{font-family:var(--ff-mono);font-weight:500;font-size:11px;letter-spacing:.22em;text-transform:uppercase;color:var(--ink);position:relative;padding:6px 0;display:inline-flex;align-items:center;gap:6px;text-decoration:none;white-space:nowrap}
.nav-item > a::after{content:"";position:absolute;left:0;right:100%;bottom:0;height:2px;background:var(--orange);transition:right .24s ease}
.nav-item:hover > a::after,
.nav-item.is-active > a::after,
.nav-item:focus-within > a::after{right:0}
.nav-item .caret{font-size:9px;color:var(--ink-soft);transition:transform .2s}
.nav-item.has-dropdown:hover .caret,
.nav-item.has-dropdown:focus-within .caret{transform:rotate(180deg);color:var(--orange-deep)}

/* Dropdown panel */
.nav-dropdown{
  position:absolute;top:100%;left:-12px;
  min-width:240px;list-style:none;margin:0;padding:8px 0;
  background:var(--bone);border:1px solid var(--ink);
  opacity:0;visibility:hidden;transform:translateY(6px);
  transition:opacity .15s ease,visibility .15s ease,transform .15s ease;
  z-index:60;
  box-shadow:0 12px 28px rgba(14,13,11,.08);
}
.has-dropdown:hover > .nav-dropdown,
.has-dropdown:focus-within > .nav-dropdown{opacity:1;visibility:visible;transform:translateY(0)}
.nav-dropdown > li{margin:0}
.nav-dropdown a{
  display:block;padding:10px 18px;
  font-family:var(--ff-mono);font-size:11px;letter-spacing:.16em;
  text-transform:uppercase;color:var(--ink);text-decoration:none;
}
.nav-dropdown a:hover,.nav-dropdown a:focus{background:var(--bone-2);color:var(--orange-deep);outline:none}

/* Crisis nav item special treatment */
.nav-item--crisis > a{color:var(--orange-deep);font-weight:600}
.nav-item--crisis > a::after{background:var(--orange-deep)}

/* Apply / Donate CTA buttons in nav */
.nav-item--cta{margin-left:6px}
.nav-item--cta > a,
.nav .apply{background:var(--ink);color:var(--bone);padding:10px 16px;letter-spacing:.18em}
.nav-item--cta > a::after,
.nav .apply::after{display:none}
.nav-item--cta > a:hover,
.nav .apply:hover{background:var(--orange);color:var(--bone)}

/* Mobile hamburger toggle */
.nav-toggle-checkbox{display:none}
.nav-toggle-label{
  display:none;flex-direction:column;justify-content:center;gap:5px;
  width:44px;height:44px;padding:0;
  cursor:pointer;border:1px solid transparent;margin-left:auto;
  align-items:center;
  transition:background .2s ease, border-color .2s ease;
}
.nav-toggle-label span{display:block;width:24px;height:2px;background:var(--ink);transition:transform .2s,opacity .2s,background .2s,width .2s}

/* Mobile breakpoint */
@media (max-width:1080px){
  .nav-toggle-label{display:flex;position:relative;z-index:60}
  .nav{
    position:fixed;top:0;left:0;right:0;height:100vh;height:100dvh;
    background:var(--bone);
    transform:translateY(-100%);transition:transform .28s ease;
    padding:0 24px max(120px,env(safe-area-inset-bottom,0px) + 96px);
    overflow-y:auto;-webkit-overflow-scrolling:touch;
    z-index:55;
    display:flex;flex-direction:column;align-items:stretch;
  }
  .nav-toggle-checkbox:checked ~ .nav{transform:translateY(0)}

  /* When open: lift the toggle into a fixed, prominent close pill above the nav */
  .nav-toggle-checkbox:checked + .nav-toggle-label{
    position:fixed;top:14px;right:14px;z-index:70;
    width:48px;height:48px;
    background:var(--ink);border-color:var(--ink);border-radius:999px;
    box-shadow:0 4px 16px rgba(14,13,11,.25);
  }
  .nav-toggle-checkbox:checked + .nav-toggle-label span{background:var(--bone);width:22px}
  .nav-toggle-checkbox:checked + .nav-toggle-label span:nth-child(1){transform:translateY(7px) rotate(45deg)}
  .nav-toggle-checkbox:checked + .nav-toggle-label span:nth-child(2){opacity:0}
  .nav-toggle-checkbox:checked + .nav-toggle-label span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
  .nav-toggle-label:hover,
  .nav-toggle-label:focus-visible{background:rgba(14,13,11,.06);border-color:rgba(14,13,11,.18);outline:none}
  .nav-toggle-checkbox:checked + .nav-toggle-label:hover,
  .nav-toggle-checkbox:checked + .nav-toggle-label:focus-visible{background:var(--orange);border-color:var(--orange)}

  /* Lock body scroll when nav is open (modern browsers) */
  html:has(#nav-toggle:checked),
  body:has(#nav-toggle:checked){overflow:hidden;height:100%}
  /* Body scroll lock fallback class for older browsers (set by JS) */
  body.nav-open{overflow:hidden;height:100%;position:fixed;width:100%}

  /* Sticky "Menu" header strip inside the open drawer — sits above the scrolling list */
  .nav::before{
    content:"Menu";
    position:sticky;top:0;
    flex:none;align-self:stretch;
    margin:0 -24px 16px;
    padding:24px 80px 18px 24px;
    background:var(--bone);
    border-bottom:1px solid rgba(14,13,11,.12);
    font-family:var(--ff-mono);font-weight:500;font-size:11px;letter-spacing:.28em;
    text-transform:uppercase;color:var(--ink-soft);
    z-index:1;
  }

  .nav-list{flex-direction:column;align-items:stretch;gap:0;width:100%}
  .nav-item{width:100%;border-bottom:1px solid rgba(14,13,11,.08)}
  .nav-item > a{padding:18px 0;font-size:13px}
  .nav-item > a::after{display:none}
  .has-dropdown .caret{margin-left:auto}
  .nav-dropdown{
    position:static;opacity:1;visibility:visible;transform:none;
    border:none;box-shadow:none;background:transparent;
    padding:0 0 14px 16px;min-width:0;
    border-left:2px solid var(--orange);margin-left:8px;
  }
  .nav-dropdown a{padding:8px 0;letter-spacing:.12em}
  .nav-item--cta{margin:0}
  .nav-item--cta > a,
  .nav .apply{display:block;padding:18px 0;background:transparent;color:var(--ink)}
  .nav-item--cta > a:hover{background:transparent;color:var(--orange-deep)}
}

/* === STICKY MOBILE CTA BAR === */
.mobile-cta-bar{display:none}
@media (max-width:760px){
  .mobile-cta-bar{
    display:grid;grid-template-columns:1fr 1fr .55fr;
    position:fixed;bottom:0;left:0;right:0;z-index:54;
    background:var(--ink);border-top:1px solid var(--orange);
    box-shadow:0 -4px 16px rgba(14,13,11,.18);
  }
  .mobile-cta-bar .m-cta{
    padding:14px 8px;text-align:center;text-decoration:none;
    font-family:var(--ff-display);font-weight:800;font-size:13px;
    letter-spacing:.06em;text-transform:uppercase;color:var(--bone);
    line-height:1;
  }
  .mobile-cta-bar .m-cta--donate{background:var(--orange-deep);color:var(--bone)}
  .mobile-cta-bar .m-cta--donate:hover{background:var(--orange)}
  .mobile-cta-bar .m-cta--crisis{color:var(--orange);border-left:1px solid rgba(236,227,208,.2);font-size:14px}
  body{padding-bottom:54px}
}

/* === HERO === */
.hero{padding:clamp(40px,7vw,96px) 0 clamp(60px,9vw,128px);position:relative}
.hero-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:clamp(24px,4vw,72px);align-items:end}
@media (max-width:980px){.hero-grid{grid-template-columns:1fr}}
.hero-head{font-size:var(--fs-display-xl)}
.hero-head .ln{display:block}
.hero-head .ln em{font-style:normal;color:var(--orange)}
.hero-cite{display:flex;align-items:center;gap:14px;margin-top:14px;color:var(--ink-soft)}
.hero-cite__rule{flex:1;height:1px;background:var(--rule)}
.hero-sub{
  margin-top:14px;font-family:var(--ff-edit);font-style:italic;font-weight:400;
  font-size:var(--fs-edit);line-height:1.2;color:var(--ink-soft);max-width:24ch;
}
.hero-sub em{font-style:normal;color:var(--orange);font-family:inherit}
.hero-meta{display:flex;align-items:baseline;gap:18px;margin-bottom:20px}
.hero-meta .vol{font-family:var(--ff-display);font-weight:800;font-size:14px;letter-spacing:.24em;text-transform:uppercase;color:var(--orange)}
.hero-meta .div{flex:1;height:1px;background:var(--rule);transform:translateY(-3px)}
.hero-lead{margin-top:clamp(18px,2.5vw,28px);max-width:46ch;font-size:var(--fs-lead);line-height:1.6;color:var(--ink-soft)}
.hero-quote{margin-top:22px;padding:14px 16px 14px 18px;border-left:3px solid var(--orange);background:rgba(183,44,37,.06)}
.hero-quote .lbl{color:var(--orange-deep)}
.hero-quote p{margin-top:6px;font-family:var(--ff-display);font-weight:700;font-size:14px;letter-spacing:.04em;text-transform:uppercase;line-height:1.35}
.hero-cta{display:flex;gap:14px;margin-top:30px;flex-wrap:wrap}

/* compact hero (secondary pages) — full width, no poster */
.hero--simple{padding:clamp(56px,8vw,112px) 0 var(--fs-display)}
.hero--simple .hero-head{font-size:var(--fs-display-xl)}
.hero--simple .hero-grid{grid-template-columns:1fr;gap:30px}

/* === HERO — PULSE variant (cycling words + supporting imagery) === */
.hero--pulse{
  background:var(--ink);color:var(--bone);
  position:relative;overflow:hidden;
  border-bottom:1px solid rgba(236,227,208,.08);
}
.hero--pulse::before{
  content:"";position:absolute;inset:0;pointer-events:none;
  background:radial-gradient(circle at 30% 28%, rgba(183,44,37,.10), transparent 55%);
  /* Per client revision: stop header movement. Glow stays as a static accent. */
}
.hero--pulse .wrap{position:relative;z-index:1}
.hero--pulse .hero-meta .vol{color:var(--orange)}
.hero--pulse .hero-meta .div{background:rgba(236,227,208,.18)}
.hero--pulse .hero-meta .lbl-sm{color:rgba(236,227,208,.7)}
.hero--pulse .hero-pre{
  font-family:var(--ff-edit);font-style:italic;
  font-size:var(--fs-lead);color:rgba(236,227,208,.78);
  max-width:38ch;line-height:1.3;
}
.hero--pulse .hero-tag{
  font-family:var(--ff-display);font-weight:900;
  font-size:var(--fs-edit);line-height:1.02;letter-spacing:-.005em;
  text-transform:uppercase;color:var(--bone);margin-top:12px;
}
.hero--pulse .hero-tag em{
  font-style:normal;color:var(--orange);
}
.hero--pulse .hero-antipitch{
  margin-top:14px;font-family:var(--ff-display);font-weight:800;
  font-size:clamp(13px,1.35vw,16px);letter-spacing:.06em;
  text-transform:uppercase;color:var(--orange);max-width:48ch;
}
.hero--pulse .hero-cite{margin-top:28px;color:rgba(236,227,208,.7)}
.hero--pulse .hero-cite__rule{background:rgba(236,227,208,.18)}

/* Pulse stage in the hero — sit where the headline used to live, slightly larger word.
   Long cycling phrases ("Do you love yourself?") were blowing out the left column and
   squashing the poster. Fix is THREE rules together — drop any one and the bug returns:
     1. minmax(0, fr) on hero-grid: hard column constraint, can't expand past fr ratio
     2. min-width:0 on grid items:  belt-and-suspenders for browser quirks
     3. overflow:hidden on hero-copy: visually contains anything that still escapes
     4. white-space:normal on pulse-word: lets long phrases wrap onto two lines */
.hero--pulse .hero-grid{
  grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);
  align-items:start;             /* anchor poster top, don't reflow on left-col changes */
}
.hero--pulse .hero-copy{min-width:0;overflow:hidden}
.hero--pulse .poster{min-width:0}
.pulse-stage--hero{
  position:relative;display:flex;align-items:center;justify-content:flex-start;
  /* FIXED height (not min-height) so the stage box stays the same size as the
     cycling word changes — prevents the hero from breathing vertically when a
     1-line word like "Lost." is replaced by a 2-line phrase like "Where's my
     tribe?" Stage is tall enough for two lines at max font; overflow hidden
     handles edge cases without pushing layout below. */
  height:clamp(150px,16vw,200px);
  overflow:hidden;
  margin-top:10px;
  text-align:left;flex-wrap:wrap;gap:14px;
  width:100%;
}
.pulse-stage--hero .pulse-word{
  text-align:left;
  /* Max capped at ~96px so the longest single word in the sequence ("Hypervigilant.",
     ~13 chars × ~0.5em average in Big Shoulders heavy) fits one line in the ~608px
     left column on desktop. Short words still feel hero-sized at 96px. */
  font-size:var(--fs-display);
  line-height:0.95;
  white-space:normal;            /* override the base nowrap so phrases can wrap */
  max-width:100%;
  overflow-wrap:anywhere;        /* belt-and-suspenders for narrower viewports */
}
@media (prefers-reduced-motion: reduce){
  .pulse-stage--hero{min-height:auto;flex-direction:column;align-items:flex-start;gap:10px}
  .pulse-stage--hero .pulse-word{font-size:var(--fs-ttl)}
}

/* Two-door CTA inside the hero column — more compact than the standalone */
.two-door--hero{margin-top:28px;max-width:580px}
.two-door--hero .door{padding:var(--fs-h4) clamp(20px,2.4vw,30px)}
.two-door--hero .door__verb{font-size:var(--fs-ttl-sm)}
.two-door--hero .door__arrow{font-size:var(--fs-h4)}

/* Poster — Pulse variant: 3 layered images crossfade based on [data-beat] */
.poster--pulse{background:var(--ink)}
.poster--pulse .poster__img{opacity:0;transition:opacity .8s ease}
.poster--pulse[data-beat="symptom"] .poster__img--symptom{opacity:1}
.poster--pulse[data-beat="ask"]     .poster__img--ask{opacity:1}
.poster--pulse[data-beat="answer"]  .poster__img--answer{opacity:1}
@media (prefers-reduced-motion: reduce){
  .hero--pulse::before{animation:none;opacity:.7}
  .poster--pulse .poster__img{transition:none}
}

.btn{
  font-family:var(--ff-display);font-weight:800;font-size:14px;letter-spacing:.16em;text-transform:uppercase;
  padding:18px 26px;display:inline-flex;align-items:center;gap:10px;
  border:2px solid var(--ink);background:var(--ink);color:var(--bone);
  transition:transform .2s ease, background .2s ease, color .2s ease;
  cursor:pointer;
}
.btn:hover{background:var(--orange);border-color:var(--orange);color:var(--bone)}
.btn--ghost{background:transparent;color:var(--ink)}
.btn--ghost:hover{background:var(--ink);color:var(--bone)}
.btn--orange{background:var(--orange);border-color:var(--orange)}
.btn--orange:hover{background:var(--ink);border-color:var(--ink)}
.btn--inverse{background:var(--bone);border-color:var(--bone);color:var(--ink)}
.btn--inverse:hover{background:var(--orange);border-color:var(--orange);color:var(--bone)}
.btn--sm{padding:13px 18px;font-size:12px;letter-spacing:.14em}

/* Crisis callout banner — Apply for War Feather page top.
   Brief, ink-on-bone-page, with 988 link as primary action. */
.crisis-banner{background:var(--ink);color:var(--bone);padding:14px 0;border-bottom:1px solid var(--orange-deep)}
.crisis-banner a{color:var(--orange);text-decoration:underline;text-underline-offset:3px}
.crisis-banner a:hover,.crisis-banner a:focus-visible{color:var(--bone)}

/* Event flyer cards — events.html.
   Each event is a card with a "flyer" header (colored block + title) and
   a body with date/time/location dl + teaser + CTA. */
.event-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:clamp(20px,2.5vw,32px);margin-top:clamp(20px,3vw,40px)}
.event-card{display:flex;flex-direction:column;border:1px solid var(--rule);background:var(--bone-2)}
.event-card__flyer{padding:clamp(28px,4vw,44px) clamp(24px,3vw,36px);aspect-ratio:4/3;display:flex;flex-direction:column;justify-content:flex-end;color:var(--bone);position:relative}
.event-card__flyer h3{font-family:var(--ff-display);font-weight:900;font-size:var(--fs-ttl);letter-spacing:-.005em;text-transform:uppercase;line-height:.94;margin-top:10px}
.event-card__tag{font-family:var(--ff-mono);font-size:11px;letter-spacing:.22em;text-transform:uppercase;color:rgba(236,227,208,.75)}
.event-card__body{padding:24px 26px 28px;display:flex;flex-direction:column;gap:14px;flex:1}
.event-card__body dl{display:grid;grid-template-columns:auto 1fr;gap:4px 14px;margin:0;font-size:13px;line-height:1.4}
.event-card__body dt{font-family:var(--ff-mono);font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:var(--ink-soft);align-self:center}
.event-card__body dd{margin:0;font-family:var(--ff-display);font-weight:700;color:var(--ink);text-transform:uppercase;font-size:13px;letter-spacing:.02em;align-self:center}
.event-card__body p{color:var(--ink-soft);font-size:14px;line-height:1.5;margin:0}
.event-card__body .btn{margin-top:auto;align-self:flex-start}
/* Big buttons for the simplified homepage final CTA. Per client revision:
   "Replace with two larger buttons: Apply for Support / Fund a Year." */
.btn--xl{padding:var(--fs-h4) var(--fs-ttl);font-size:var(--fs-h4);letter-spacing:.12em;min-width:280px;justify-content:center}
.final-doors{display:flex;gap:clamp(14px,2vw,24px);justify-content:center;flex-wrap:wrap;margin-top:0}
@media (max-width:640px){.final-doors{flex-direction:column}.btn--xl{min-width:0;width:100%}}
.btn .arrow{display:inline-block;transition:transform .25s ease}
.btn:hover .arrow{transform:translateX(4px)}

/* HERO POSTER */
.poster{position:relative;aspect-ratio:3/4;background:var(--orange);overflow:hidden;isolation:isolate}
.poster__img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:grayscale(1) contrast(1.45) brightness(1.05);mix-blend-mode:multiply;transition:opacity .8s ease}
.poster__img.is-out{opacity:0}
.poster__feather{position:absolute;top:20px;left:20px;width:52px;height:64px;z-index:2}
.poster__title{
  position:absolute;left:22px;right:22px;bottom:84px;z-index:2;
  font-family:var(--ff-display);font-weight:900;letter-spacing:-.005em;line-height:.86;text-transform:uppercase;
  font-size:var(--fs-ttl);color:var(--bone)
}
.poster__cap{
  position:absolute;left:22px;right:22px;bottom:22px;z-index:2;
  font-family:var(--ff-mono);font-weight:500;font-size:10px;letter-spacing:.22em;text-transform:uppercase;color:var(--bone);
  display:flex;justify-content:space-between;align-items:flex-end;gap:14px;
}
.poster__cap .edit{font-family:var(--ff-edit);font-style:italic;font-weight:400;font-size:13px;letter-spacing:0;text-transform:none;color:rgba(236,227,208,.85)}
.poster__counter{position:absolute;top:18px;right:18px;z-index:2;display:flex;gap:6px;align-items:center;color:var(--bone);font-family:var(--ff-mono);font-size:10px;letter-spacing:.22em}
.poster__counter b{font-weight:500}
.poster__crop{position:absolute;width:14px;height:14px;border-color:var(--bone);z-index:2}
.poster__crop.tl{top:8px;left:8px;border-top:1px solid;border-left:1px solid}
.poster__crop.tr{top:8px;right:8px;border-top:1px solid;border-right:1px solid}
.poster__crop.bl{bottom:8px;left:8px;border-bottom:1px solid;border-left:1px solid}
.poster__crop.br{bottom:8px;right:8px;border-bottom:1px solid;border-right:1px solid}

/* === ORANGE BAND === */
.band{
  background:var(--orange);
  color:var(--bone);
  padding:var(--fs-display) 0;
  position:relative;
  border-block:1px solid var(--ink);
}
.band-inner{display:grid;grid-template-columns:auto 1fr auto;gap:clamp(24px,4vw,56px);align-items:center}
.band-inner .feather{width:72px;height:88px;flex:none;opacity:.95}
.band-quote{font-family:var(--ff-display);font-weight:900;font-size:var(--fs-display);line-height:.9;letter-spacing:-.005em;text-transform:uppercase}
.band-quote em{font-family:var(--ff-edit);font-style:italic;font-weight:500;text-transform:none;letter-spacing:0;color:var(--bone)}
.band-tag{font-family:var(--ff-mono);font-size:10px;letter-spacing:.28em;text-transform:uppercase;writing-mode:vertical-rl;transform:rotate(180deg);color:rgba(236,227,208,.85);align-self:stretch;display:flex;align-items:center}
@media (max-width:760px){
  .band-inner{grid-template-columns:1fr}
  .band-tag{writing-mode:horizontal-tb;transform:none;align-self:start}
}

/* === SECTION FRAME === */
.section{padding:clamp(64px,9vw,144px) 0;position:relative}
.section.bone{background:var(--bone)}
.section.dark{background:var(--ink);color:var(--bone)}
.section.dark .lbl{color:rgba(236,227,208,.65)}
.section.dark .rule{background:var(--rule-bone)}
/* === SECTION ART (halftone image banners under section heads) === */
.section-art{
  position:relative;aspect-ratio:21/8;
  background:var(--ink);overflow:hidden;
  margin-bottom:clamp(36px,5vw,64px);
  border:1px solid var(--ink);isolation:isolate;
}
.section-art img{
  width:100%;height:100%;object-fit:cover;display:block;
  filter:grayscale(1) contrast(1.42) brightness(1.04);
}
.section-art::after{
  content:"";position:absolute;inset:0;pointer-events:none;
  background-image:radial-gradient(circle at center, var(--ink) 32%, transparent 33%);
  background-size:3.2px 3.2px;
  mix-blend-mode:lighten;opacity:.55;
}
.section-art__cap{
  position:absolute;bottom:14px;left:18px;right:18px;z-index:2;
  display:flex;justify-content:space-between;align-items:flex-end;gap:18px;
  font-family:var(--ff-mono);font-size:10px;letter-spacing:.22em;
  text-transform:uppercase;color:var(--bone);
  text-shadow:0 1px 14px rgba(0,0,0,.45);
}
.section-art__cap b{font-family:var(--ff-display);font-weight:800;font-size:14px;letter-spacing:.18em;color:var(--bone)}
.section-art--orange::after{background-image:radial-gradient(circle at center, var(--orange) 32%, transparent 33%);opacity:.35}
.section.dark .section-art{border-color:var(--rule-bone)}

.section-head{display:grid;grid-template-columns:1fr auto;gap:clamp(20px,3vw,40px);align-items:end;margin-bottom:clamp(36px,5vw,72px);border-bottom:1px solid var(--rule);padding-bottom:24px}
.section.dark .section-head{border-color:var(--rule-bone)}
/* .section-head .no rules retained as no-op safety net in case any page still emits one */
.section-head .no{display:none}
.section-head .ttl{font-family:var(--ff-display);font-weight:900;font-size:var(--fs-display);line-height:.88;letter-spacing:-.005em;text-transform:uppercase}
.section-head .meta{font-family:var(--ff-mono);font-size:10px;letter-spacing:.22em;text-transform:uppercase;text-align:right;color:var(--ink-soft)}
.section.dark .section-head .meta{color:rgba(236,227,208,.65)}
.section-head .meta b{display:block;font-family:var(--ff-display);font-weight:800;font-size:14px;letter-spacing:.18em;color:var(--ink);margin-top:4px}
.section.dark .section-head .meta b{color:var(--bone)}
@media (max-width:760px){
  .section-head{grid-template-columns:1fr;gap:14px}
  .section-head .meta{text-align:left}
}

/* compact section head — without big numeral */
.section-head--small{grid-template-columns:1fr auto}
.section-head--small .ttl{font-size:var(--fs-ttl)}

/* === MISSION BLOCK === */
.mission-grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(28px,5vw,80px);align-items:start}
.mission-grid p{font-size:18px;line-height:1.6;color:var(--ink)}
.section.dark .mission-grid p{color:rgba(236,227,208,.85)}
.mission-grid p+p{margin-top:18px}
.mission-grid .lead{font-family:var(--ff-edit);font-style:italic;font-weight:400;font-size:var(--fs-ttl-sm);line-height:1.18;color:var(--ink)}
.section.dark .mission-grid .lead{color:var(--bone)}
.mission-grid .lead b{font-family:var(--ff-display);font-weight:900;font-style:normal;letter-spacing:0;text-transform:uppercase;color:var(--orange);font-size:.98em}
.mission-grid .pull{margin-top:32px;border-top:1px solid var(--rule);padding-top:18px}
.section.dark .mission-grid .pull{border-top-color:var(--rule-bone)}
@media (max-width:880px){.mission-grid{grid-template-columns:1fr}}

/* === ROSTER CARD === */
.roster{
  background:var(--bone-2);
  border:1px solid var(--ink);
  position:relative;
  overflow:hidden;
}
.roster__head{
  display:flex;align-items:center;justify-content:space-between;
  padding:18px 22px;border-bottom:1px solid var(--ink);background:var(--ink);color:var(--bone);
  flex-wrap:wrap;gap:14px;
}
.roster__head h3{font-family:var(--ff-display);font-weight:900;font-size:var(--fs-h4);letter-spacing:.02em;text-transform:uppercase;line-height:1}
.roster__head .meta{display:flex;gap:18px;flex-wrap:wrap}
.roster__head .meta span{font-family:var(--ff-mono);font-size:10px;letter-spacing:.22em;text-transform:uppercase;color:rgba(236,227,208,.85)}
.roster__sub{
  padding:14px 22px;border-bottom:1px solid var(--ink);
  display:flex;justify-content:space-between;align-items:center;gap:14px;flex-wrap:wrap;
  font-family:var(--ff-mono);font-size:10px;letter-spacing:.22em;text-transform:uppercase;color:var(--ink-soft)
}
.roster__sub b{font-family:var(--ff-display);font-weight:800;color:var(--ink);letter-spacing:.16em}
.roster__row{
  display:grid;grid-template-columns:repeat(5,1fr);
  border-bottom:1px solid var(--ink);
}
.roster__row:last-child{border-bottom:0}
.roster__cell{
  padding:24px 22px;border-right:1px solid var(--ink);
  /* Fixed-row grid: pos / figure (1fr, bottom-aligned) / name (fixed 64px).
     Locking row 3 to a fixed height anchors the figure baseline across
     every cell — even when one cell's description text is longer. */
  display:grid;grid-template-rows:auto 1fr 64px;gap:0;min-height:220px;
}
.roster__cell:last-child{border-right:0}
.roster__cell .pos{font-family:var(--ff-mono);font-size:10px;letter-spacing:.22em;text-transform:uppercase;color:var(--ink-soft);line-height:1.2;align-self:start}
.roster__cell .fig{font-family:var(--ff-display);font-weight:900;font-size:var(--fs-ttl);line-height:.85;letter-spacing:-.01em;color:var(--ink);align-self:end;margin-bottom:14px}
.roster__cell .fig .unit{font-size:.34em;color:var(--orange);letter-spacing:.06em;text-transform:uppercase;display:inline-block;margin-left:.1em;vertical-align:.45em}
.roster__cell .name{
  font-family:var(--ff-display);font-weight:800;font-size:13px;letter-spacing:.16em;text-transform:uppercase;color:var(--ink);
  line-height:1.2;
  /* nested grid: title (top, 36px slot — fits up to 2 lines), small (28px below) */
  display:grid;grid-template-rows:36px 28px;align-self:end;
}
.roster__cell .name small{display:block;font-family:var(--ff-mono);font-size:9px;letter-spacing:.22em;color:var(--ink-soft);font-weight:400;line-height:1.3;align-self:start}
@media (max-width:980px){.roster__row{grid-template-columns:repeat(2,1fr)}.roster__cell{border-bottom:1px solid var(--ink)}.roster__cell:nth-child(2){border-right:0}}
@media (max-width:520px){.roster__row{grid-template-columns:1fr}.roster__cell{border-right:0}}

.roster__row--3{grid-template-columns:repeat(3,1fr)}
.roster__row--4{grid-template-columns:repeat(4,1fr)}
@media (max-width:980px){.roster__row--3,.roster__row--4{grid-template-columns:repeat(2,1fr)}}
@media (max-width:520px){.roster__row--3,.roster__row--4{grid-template-columns:1fr}}

/* === KPI GRID (DARK) === */
.scale-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:clamp(28px,4vw,56px);align-items:start}
@media (max-width:980px){.scale-grid{grid-template-columns:1fr}}
.kpis{
  display:grid;grid-template-columns:repeat(2,1fr);gap:0;
  border:1px solid var(--rule-bone);
}
.kpi{padding:28px 24px;border-right:1px solid var(--rule-bone);border-bottom:1px solid var(--rule-bone)}
.kpi:nth-child(2n){border-right:0}
.kpi:nth-last-child(-n+2){border-bottom:0}
.kpi .lbl{color:rgba(236,227,208,.65);margin-bottom:14px}
.kpi .fig{font-family:var(--ff-display);font-weight:900;font-size:var(--fs-display);line-height:.85;color:var(--bone)}
.kpi .fig em{font-family:var(--ff-edit);font-style:italic;font-weight:500;color:var(--orange);font-size:.6em;letter-spacing:0;text-transform:none}
.kpi .desc{margin-top:10px;font-family:var(--ff-mono);font-size:10px;letter-spacing:.18em;text-transform:uppercase;color:rgba(236,227,208,.7)}

.section.bone .kpis{border-color:var(--rule)}
.section.bone .kpi{border-right-color:var(--rule);border-bottom-color:var(--rule)}
.section.bone .kpi .lbl{color:var(--ink-soft)}
.section.bone .kpi .fig{color:var(--ink)}
.section.bone .kpi .desc{color:var(--ink-soft)}

.scale-copy p{font-size:17px;line-height:1.6;color:rgba(236,227,208,.85)}
.section.bone .scale-copy p{color:var(--ink-soft)}
.scale-copy p+p{margin-top:18px}
.scale-copy .em{font-family:var(--ff-display);font-weight:800;font-size:24px;letter-spacing:.02em;text-transform:uppercase;color:var(--bone);line-height:1.15;margin-top:24px;display:block}
.section.bone .scale-copy .em{color:var(--ink)}
.scale-copy .em em{font-family:var(--ff-edit);font-style:italic;font-weight:500;color:var(--orange);text-transform:none;letter-spacing:0}
.scale-copy .btn{margin-top:32px}

/* === DUOTONE GALLERY === */
.gallery{
  display:grid;grid-template-columns:repeat(3,1fr);gap:6px;margin-top:clamp(28px,4vw,48px);
}
.gallery .duo{aspect-ratio:1/1;background:var(--orange);overflow:hidden;position:relative}
.gallery .duo img{width:100%;height:100%;object-fit:cover;filter:grayscale(1) contrast(1.4) brightness(1.05);mix-blend-mode:multiply}
.gallery .duo:nth-child(2){background:var(--ink);}
.gallery .duo:nth-child(2) img{mix-blend-mode:screen;filter:grayscale(1) contrast(1.6) brightness(.85)}
.gallery .duo .caption{position:absolute;left:10px;bottom:10px;font-family:var(--ff-mono);font-size:9px;letter-spacing:.22em;text-transform:uppercase;color:var(--bone);z-index:2;mix-blend-mode:difference}
@media (max-width:760px){.gallery{grid-template-columns:repeat(2,1fr)}}

/* gallery 4-up */
.gallery--4{grid-template-columns:repeat(4,1fr)}
.gallery--4 .duo:nth-child(2),
.gallery--4 .duo:nth-child(4){background:var(--ink)}
.gallery--4 .duo:nth-child(2) img,
.gallery--4 .duo:nth-child(4) img{mix-blend-mode:screen;filter:grayscale(1) contrast(1.6) brightness(.85)}
@media (max-width:760px){.gallery--4{grid-template-columns:repeat(2,1fr)}}

/* === FOUR PARTS / PILLARS === */
.pillars{display:grid;grid-template-columns:repeat(4,1fr);border:1px solid var(--ink)}
.section.dark .pillars{border-color:var(--rule-bone)}
.pillar{padding:32px 24px 28px;border-right:1px solid var(--ink);position:relative;background:var(--bone-2);min-height:280px;display:flex;flex-direction:column;gap:14px}
.section.dark .pillar{background:transparent;border-right-color:var(--rule-bone);color:var(--bone)}
.pillar:last-child{border-right:0}
/* .pillar .num rules dropped — client revision removed pillar numbers sitewide */
.pillar .num{display:none}
.pillar h4{font-family:var(--ff-display);font-weight:900;font-size:var(--fs-ttl-sm);letter-spacing:0;text-transform:uppercase;line-height:1.02;margin-top:8px}
.pillar p{font-size:15px;line-height:1.55;color:var(--ink-soft);margin-top:auto}
.section.dark .pillar p{color:rgba(236,227,208,.78)}
.pillar .tag{font-family:var(--ff-mono);font-size:9px;letter-spacing:.22em;text-transform:uppercase;color:var(--ink-soft)}
.section.dark .pillar .tag{color:rgba(236,227,208,.6)}
@media (max-width:980px){.pillars{grid-template-columns:repeat(2,1fr)}.pillar:nth-child(2){border-right:0}.pillar:nth-child(-n+2){border-bottom:1px solid var(--ink)}.section.dark .pillar:nth-child(-n+2){border-bottom-color:var(--rule-bone)}}
@media (max-width:520px){.pillars{grid-template-columns:1fr}.pillar{border-right:0!important;border-bottom:1px solid var(--ink)}.section.dark .pillar{border-bottom-color:var(--rule-bone)}}

.pillars--3{grid-template-columns:repeat(3,1fr)}
@media (max-width:760px){.pillars--3{grid-template-columns:1fr}.pillars--3 .pillar{border-right:0;border-bottom:1px solid var(--ink)}.section.dark .pillars--3 .pillar{border-bottom-color:var(--rule-bone)}}
.pillars--2{grid-template-columns:repeat(2,1fr)}
.pillars--2 .pillar{padding:clamp(24px,3vw,40px)}
@media (max-width:760px){.pillars--2{grid-template-columns:1fr}.pillars--2 .pillar{border-right:0;border-bottom:1px solid var(--ink)}.section.dark .pillars--2 .pillar{border-bottom-color:var(--rule-bone)}}
/* War Feather "How it works" phase flow — six numbered cards laid out in
   one row on desktop, three across on tablet, single column on mobile.
   Each card carries its phase number as the visual anchor, then title +
   short description + partner attribution where it matters. Used on
   programs.html and apply.html. Strips down Landon's reference diagram
   to the BEVP ink/bone/orange palette. */
.phases-flow{display:grid;grid-template-columns:repeat(6,1fr);gap:clamp(8px,1vw,14px);margin-top:clamp(28px,4vw,48px)}
.phase{display:flex;flex-direction:column;gap:12px;padding:clamp(20px,2.2vw,26px) clamp(16px,1.6vw,20px);background:var(--bone-2);border:1px solid var(--rule);position:relative}
.section.dark .phase{background:transparent;border-color:rgba(236,227,208,.18)}
.phase__num{font-family:var(--ff-display);font-weight:900;font-size:var(--fs-display);line-height:.85;color:var(--orange);letter-spacing:-.02em}
.phase__title{font-family:var(--ff-display);font-weight:900;font-size:var(--fs-lead);line-height:1.05;text-transform:uppercase;letter-spacing:0;color:var(--ink);margin:0}
.section.dark .phase__title{color:var(--bone)}
.phase__desc{font-size:14px;line-height:1.4;color:var(--ink-soft);margin:0}
.section.dark .phase__desc{color:rgba(236,227,208,.75)}
.phase__steps{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:6px;font-size:13px;line-height:1.35;color:var(--ink)}
.section.dark .phase__steps{color:var(--bone)}
.phase__steps li{padding-left:14px;position:relative}
.phase__steps li::before{content:"";position:absolute;left:0;top:9px;width:7px;height:1px;background:var(--orange-deep)}
.section.dark .phase__steps li::before{background:var(--orange)}
.phase__partner{font-family:var(--ff-mono);font-size:10px;letter-spacing:.18em;text-transform:uppercase;color:var(--orange-deep);margin:auto 0 0;line-height:1.4}
.section.dark .phase__partner{color:var(--orange)}
@media (max-width:1180px){.phases-flow{grid-template-columns:repeat(3,1fr);gap:12px}}
@media (max-width:640px){.phases-flow{grid-template-columns:1fr;gap:12px}.phase__num{font-size:var(--fs-display)}}

/* 5-column variant for the War Feather phase layout (Selection · Therapy · Biomarkers · Human Performance · Annual Gathering). Tighter padding + shorter min-height so the cells don't leave huge gaps below short descriptions. Stacks to 1 col on tablet/mobile to avoid orphan rows. */
.pillars--5{grid-template-columns:repeat(5,1fr)}
.pillars--5 .pillar{padding:24px 20px;min-height:auto;gap:10px}
.pillars--5 .pillar h4{font-size:var(--fs-h4)}
.pillars--5 .pillar p{font-size:14px;line-height:1.5;margin-top:auto}
@media (max-width:1080px){
  .pillars--5{grid-template-columns:1fr}
  .pillars--5 .pillar{border-right:0!important;border-bottom:1px solid var(--ink)}
  .pillars--5 .pillar:last-child{border-bottom:0}
  .section.dark .pillars--5 .pillar{border-bottom-color:var(--rule-bone)}
}

/* === STEPS / PROCESS === */
.steps{display:grid;grid-template-columns:1fr;border:1px solid var(--ink)}
.section.dark .steps{border-color:var(--rule-bone)}
.step{
  display:grid;grid-template-columns:140px 80px 1fr auto;gap:20px;align-items:center;
  padding:28px 28px;border-bottom:1px solid var(--ink);transition:background .2s ease;
}
.section.dark .step{border-bottom-color:var(--rule-bone)}
.step:last-child{border-bottom:0}
.step:hover{background:rgba(183,44,37,.08)}
.step .ph{font-family:var(--ff-display);font-weight:900;font-size:48px;line-height:.85;color:var(--orange)}
.step .ph sup{font-family:var(--ff-edit);font-style:italic;font-weight:500;font-size:.36em;color:var(--ink);vertical-align:1.6em;margin-right:.1em}
.section.dark .step .ph sup{color:var(--bone)}

/* Steps inside a form (bone card) — always use ink-on-bone styling regardless of section */
.form .steps{border-color:var(--ink)}
.form .step{border-bottom-color:var(--ink)}
.form .step h4{color:var(--ink)}
.form .step p{color:var(--ink-soft)}
.form .step .ph sup{color:var(--ink)}
.form .step .arr{color:var(--ink-soft)}
.form .step:hover{background:rgba(183,44,37,.06)}

/* Neon CRM form embed container (apply, donate, contact) */
.neon-embed{max-width:820px;margin-inline:auto;padding:clamp(28px,4vw,48px);background:var(--bone);border:1px solid var(--rule);color:var(--ink);scroll-margin-top:120px}
.neon-embed iframe{max-width:100%;border:0;display:block}
.neon-embed a{color:var(--orange-deep)}
.section.dark .neon-embed{background:var(--bone);color:var(--ink)}
@media (max-width:640px){.neon-embed{padding:22px}}
.neon-fallback{margin-top:4px;padding:28px 8px 8px;text-align:center;border-top:1px dashed var(--rule)}
.neon-fallback[hidden]{display:none}
.neon-embed--failed iframe,
.neon-embed--failed [id^="neon-form-embed-"]{display:none!important}
.neon-embed--failed .neon-fallback{margin-top:0;padding-top:0;border-top:0}
.neon-fallback__lbl{display:block;font-family:var(--ff-mono);font-size:11px;letter-spacing:.22em;text-transform:uppercase;color:var(--orange-deep);margin-bottom:12px}
.neon-fallback__body{font-family:var(--ff-body);font-size:14px;line-height:1.5;color:var(--ink-soft);max-width:44ch;margin:0 auto 18px}
.neon-fallback .btn{margin-inline:auto}
.step .stamp{
  border:1.5px solid var(--orange);color:var(--orange);
  font-family:var(--ff-mono);font-weight:500;font-size:9px;letter-spacing:.22em;text-transform:uppercase;
  padding:10px 8px;text-align:center;line-height:1.1;
}
.step h4{font-family:var(--ff-display);font-weight:900;font-size:22px;letter-spacing:.02em;text-transform:uppercase;line-height:1.1;color:var(--ink)}
.section.dark .step h4{color:var(--bone)}
.step p{font-size:14px;line-height:1.55;color:var(--ink-soft);margin-top:6px;max-width:60ch}
.section.dark .step p{color:rgba(236,227,208,.8)}
.step .arr{font-family:var(--ff-mono);font-size:14px;color:var(--ink-soft);transition:transform .25s ease,color .25s ease}
.section.dark .step .arr{color:rgba(236,227,208,.5)}
.step:hover .arr{color:var(--orange);transform:translateX(4px)}
@media (max-width:880px){.step{grid-template-columns:auto 1fr;gap:14px}.step .stamp,.step .arr{display:none}}

/* === FLIGHT BOARD === */
.board{border:1px solid var(--ink)}
.section.dark .board{border-color:var(--rule-bone)}
.brd-row{
  display:grid;grid-template-columns:60px 1fr auto auto;gap:24px;align-items:center;
  padding:22px 24px;border-bottom:1px solid var(--ink);transition:background .2s ease;
}
.section.dark .brd-row{border-bottom-color:var(--rule-bone)}
.brd-row:last-child{border-bottom:0}
.brd-row:hover{background:var(--orange);color:var(--bone)}
.brd-row:hover .row-status{border-color:var(--bone);color:var(--bone)}
.brd-row:hover .row-arr{color:var(--bone)}
.brd-row .row-no{font-family:var(--ff-mono);font-size:11px;letter-spacing:.22em;color:var(--ink-soft)}
.section.dark .brd-row .row-no{color:rgba(236,227,208,.6)}
.brd-row:hover .row-no{color:rgba(236,227,208,.85)}
.brd-row h4{font-family:var(--ff-display);font-weight:900;font-size:var(--fs-h4);letter-spacing:.01em;text-transform:uppercase;line-height:1}
.section.dark .brd-row h4{color:var(--bone)}
.brd-row .row-status{
  font-family:var(--ff-mono);font-weight:500;font-size:10px;letter-spacing:.22em;text-transform:uppercase;
  border:1.5px solid var(--ink);padding:8px 12px;color:var(--ink);transition:all .2s ease;
}
.section.dark .brd-row .row-status{border-color:var(--rule-bone);color:rgba(236,227,208,.7)}
.brd-row .row-status.live{border-color:var(--orange);color:var(--orange)}
.brd-row:hover .row-status.live{border-color:var(--bone);color:var(--bone);background:rgba(0,0,0,.18)}
.brd-row .row-arr{font-family:var(--ff-display);font-weight:800;font-size:22px;color:var(--ink-soft);transition:color .2s ease}
.section.dark .brd-row .row-arr{color:rgba(236,227,208,.5)}
@media (max-width:680px){.brd-row{grid-template-columns:auto 1fr;gap:14px}.brd-row .row-status{display:none}}

/* === FUND === */
.fund-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:clamp(28px,4vw,72px);align-items:start}
@media (max-width:980px){.fund-grid{grid-template-columns:1fr}}
.tiers{border:1px solid var(--ink);background:var(--bone-2);margin-top:24px}
.tier{display:flex;align-items:center;justify-content:space-between;padding:18px 22px;border-bottom:1px solid var(--ink);gap:18px}
.tier:last-child{border-bottom:0}
.tier .amt{font-family:var(--ff-display);font-weight:900;font-size:32px;letter-spacing:.005em;line-height:1;color:var(--ink)}
.tier .amt .small{font-family:var(--ff-mono);font-size:10px;letter-spacing:.22em;color:var(--orange);font-weight:500;text-transform:uppercase;margin-left:6px}
.tier .desc{font-family:var(--ff-mono);font-size:10px;letter-spacing:.22em;text-transform:uppercase;color:var(--ink-soft);text-align:right}
.fund-side{display:grid;gap:20px}
.fund-side .card{border:1px solid var(--ink);padding:26px 24px;background:var(--bone-2)}
.fund-side .card h5{font-family:var(--ff-display);font-weight:900;font-size:18px;letter-spacing:.06em;text-transform:uppercase;margin-bottom:16px;color:var(--ink)}
.fund-side .card ul{list-style:none;display:grid;gap:10px}
.fund-side .card li{display:flex;justify-content:space-between;align-items:baseline;font-family:var(--ff-mono);font-size:12px;letter-spacing:.06em;color:var(--ink-soft);border-bottom:1px dashed var(--rule);padding-bottom:8px}
.fund-side .card li:last-child{border-bottom:0;padding-bottom:0}
.fund-side .card li b{font-family:var(--ff-display);font-weight:800;letter-spacing:.04em;color:var(--ink);font-size:13px}
.fund-side .card.poster{padding:0;background:var(--orange);color:var(--bone);border-color:var(--ink);position:relative;overflow:hidden;min-height:180px;display:flex;align-items:flex-end}
.fund-side .card.poster .inner{padding:24px 24px 22px;position:relative;z-index:2}
.fund-side .card.poster h5{color:var(--bone);font-size:24px;letter-spacing:.02em;margin-bottom:6px}
.fund-side .card.poster p{font-family:var(--ff-edit);font-style:italic;font-size:15px;line-height:1.3;color:rgba(236,227,208,.92)}
.fund-side .card.poster::after{
  content:"$";position:absolute;top:-30px;right:-20px;font-family:var(--ff-display);font-weight:900;
  font-size:300px;line-height:1;color:rgba(236,227,208,.18);letter-spacing:0;
}

/* === PARTNER GRID === */
.partners{display:grid;grid-template-columns:repeat(4,1fr);border:1px solid var(--ink);background:var(--bone-2)}
.section.dark .partners{border-color:var(--rule-bone);background:transparent}
.partner{
  padding:36px 22px;border-right:1px solid var(--ink);border-bottom:1px solid var(--ink);
  font-family:var(--ff-mono);font-size:10px;letter-spacing:.22em;text-transform:uppercase;color:var(--ink-soft);
  text-align:center;display:flex;flex-direction:column;gap:10px;align-items:center;justify-content:center;min-height:140px;
  transition:background .2s ease, color .2s ease;
}
.section.dark .partner{border-color:var(--rule-bone);color:rgba(236,227,208,.7)}
.partner:hover{background:var(--orange);color:var(--bone)}
.partner:nth-child(4n){border-right:0}
.partner:nth-last-child(-n+4){border-bottom:0}
.partner b{font-family:var(--ff-display);font-weight:800;font-size:18px;letter-spacing:.04em;color:var(--ink)}
.section.dark .partner b{color:var(--bone)}
.partner:hover b{color:var(--bone)}
@media (max-width:760px){.partners{grid-template-columns:repeat(2,1fr)}.partner:nth-child(2n){border-right:0}.partner:nth-child(2n+1){border-right:1px solid var(--ink)}.partner:nth-last-child(-n+2){border-bottom:0}.section.dark .partner:nth-child(2n+1){border-right-color:var(--rule-bone)}}

/* === FORM === */
.form{display:grid;gap:24px;border:1px solid var(--ink);padding:clamp(24px,4vw,48px);background:var(--bone-2);position:relative;color:var(--ink)}
/* Form is a bone-paper card — explicit ink colors that override any parent .section.dark cascade */
.form .form-group{display:grid;gap:18px;padding-bottom:24px;border-bottom:1px solid var(--rule)}
.form .form-group:last-of-type{border-bottom:0;padding-bottom:0}
.form .form-group__head{display:flex;align-items:center;justify-content:space-between;gap:12px}
.form .form-group__head h3{font-family:var(--ff-display);font-weight:900;font-size:20px;letter-spacing:.06em;text-transform:uppercase;line-height:1;color:var(--ink)}
.form .form-group__head .lbl{color:var(--orange-deep)}
.form .field-help{color:var(--ink-soft)}
.form .checkbox{color:var(--ink)}
.form .lbl{color:var(--ink-soft)}
.field{display:grid;gap:6px}
.field-row{display:grid;grid-template-columns:1fr 1fr;gap:18px}
@media (max-width:680px){.field-row{grid-template-columns:1fr}}
.field label{font-family:var(--ff-mono);font-weight:500;font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--ink);display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.field label .req{color:var(--orange);font-size:9px;font-weight:600;letter-spacing:.18em}
.field input[type=text],
.field input[type=email],
.field input[type=tel],
.field input[type=number],
.field select,
.field textarea{
  border:1.5px solid var(--ink);background:var(--bone);color:var(--ink);
  padding:14px 16px;font-family:var(--ff-body);font-size:16px;line-height:1.45;
  border-radius:0;-webkit-appearance:none;appearance:none;
  transition:border-color .2s ease, background .2s ease;
}
.field input:focus,
.field select:focus,
.field textarea:focus{outline:none;border-color:var(--orange);background:#fff;box-shadow:inset 0 0 0 1px var(--orange),0 0 0 3px rgba(183,44,37,.18)}
.field textarea{resize:vertical;min-height:140px}
.field select{
  background-image:url("data:image/svg+xml,%3Csvg width='12' height='8' viewBox='0 0 12 8' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%230E0D0B' stroke-width='1.6' fill='none' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  background-repeat:no-repeat;background-position:right 16px center;padding-right:40px;
}
.field-help{font-family:var(--ff-mono);font-size:12px;letter-spacing:.04em;color:var(--ink-soft);line-height:1.5}
.checkbox{display:flex;gap:12px;align-items:flex-start;font-size:13px;line-height:1.5;cursor:pointer}
.checkbox input{appearance:none;-webkit-appearance:none;width:20px;height:20px;border:1.5px solid var(--ink);background:var(--bone);flex:none;display:grid;place-items:center;cursor:pointer;position:relative;margin-top:1px}
.checkbox input:checked{background:var(--orange);border-color:var(--orange)}
.checkbox input:checked::after{content:"";width:10px;height:6px;border-left:2px solid var(--bone);border-bottom:2px solid var(--bone);transform:rotate(-45deg) translate(1px,-1px)}
.radios{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:8px}
.radio{display:flex;align-items:center;gap:10px;border:1px solid var(--ink);padding:12px 14px;background:var(--bone);cursor:pointer;font-family:var(--ff-display);font-weight:800;font-size:13px;letter-spacing:.08em;text-transform:uppercase;transition:background .15s ease, color .15s ease}
.radio input{appearance:none;-webkit-appearance:none;width:14px;height:14px;border:1.5px solid var(--ink);border-radius:50%;flex:none;position:relative;cursor:pointer}
.radio input:checked{border-color:var(--orange)}
.radio input:checked::after{content:"";position:absolute;inset:2px;background:var(--orange);border-radius:50%}
.radio:has(input:checked){background:var(--orange);color:var(--bone);border-color:var(--orange)}
.radio:has(input:checked) input{border-color:var(--bone)}
.radio:has(input:checked) input::after{background:var(--bone)}

/* === TIMELINE === */
.timeline{display:grid;gap:0;border-left:2px solid var(--ink);padding-left:0;margin-left:32px;position:relative}
.section.dark .timeline{border-left-color:var(--orange)}
.tline{
  display:grid;grid-template-columns:120px 1fr;gap:28px;padding:24px 0 32px 28px;
  position:relative;border-bottom:1px dashed var(--rule)
}
.section.dark .tline{border-bottom-color:var(--rule-bone)}
.tline:last-child{border-bottom:0}
.tline::before{
  content:"";position:absolute;left:-9px;top:32px;width:16px;height:16px;
  background:var(--orange);border:3px solid var(--bone);border-radius:50%;z-index:2;
}
.section.dark .tline::before{border-color:var(--ink)}
.tline .when{font-family:var(--ff-mono);font-size:10px;letter-spacing:.22em;text-transform:uppercase;color:var(--orange);padding-top:30px;font-weight:500}
.tline h4{font-family:var(--ff-display);font-weight:900;font-size:22px;letter-spacing:.02em;text-transform:uppercase;line-height:1.1;margin-bottom:8px}
.section.dark .tline h4{color:var(--bone)}
.tline p{font-size:14px;line-height:1.55;color:var(--ink-soft);max-width:60ch}
.section.dark .tline p{color:rgba(236,227,208,.8)}
@media (max-width:680px){
  .tline{grid-template-columns:1fr;gap:8px;padding-top:36px}
  .tline .when{padding-top:0}
}

/* === TESTIMONIALS === */
.testimonials{display:grid;grid-template-columns:repeat(3,1fr);gap:0;border:1px solid var(--ink)}
.testimonial{padding:32px 28px;border-right:1px solid var(--ink);border-bottom:1px solid var(--ink);background:var(--bone-2);display:flex;flex-direction:column;gap:18px}
.testimonial:nth-child(3n){border-right:0}
.testimonial:nth-last-child(-n+3){border-bottom:0}
.testimonial blockquote{font-family:var(--ff-edit);font-style:italic;font-weight:400;font-size:18px;line-height:1.4;color:var(--ink);position:relative;padding-left:14px;border-left:2px solid var(--orange)}
.testimonial cite{font-style:normal;font-family:var(--ff-mono);font-size:10px;letter-spacing:.22em;text-transform:uppercase;color:var(--ink-soft);margin-top:auto}
.testimonial cite b{display:block;font-family:var(--ff-display);font-weight:800;font-size:13px;letter-spacing:.06em;color:var(--ink);margin-bottom:4px}
@media (max-width:980px){.testimonials{grid-template-columns:repeat(2,1fr)}.testimonial:nth-child(3n){border-right:1px solid var(--ink)}.testimonial:nth-child(2n){border-right:0}.testimonial:nth-last-child(-n+2){border-bottom:0}.testimonial:nth-last-child(3){border-bottom:1px solid var(--ink)}}
@media (max-width:600px){.testimonials{grid-template-columns:1fr}.testimonial{border-right:0!important;border-bottom:1px solid var(--ink)!important}.testimonial:last-child{border-bottom:0!important}}

/* === IMAGE HERO === */
.imghero{
  position:relative;background:var(--ink);color:var(--bone);overflow:hidden;
  min-height:clamp(480px,72vh,820px);display:flex;align-items:flex-end;
  border-bottom:1px solid var(--ink);
}
.imghero__img{
  position:absolute;inset:0;width:100%;height:100%;object-fit:cover;
  filter:grayscale(1) contrast(1.4) brightness(.85);
  mix-blend-mode:multiply;
  z-index:1;
}
.imghero__overlay{
  position:absolute;inset:0;z-index:2;pointer-events:none;
  background:
    linear-gradient(180deg,rgba(14,13,11,.0) 0%,rgba(14,13,11,.0) 35%,rgba(14,13,11,.55) 75%,rgba(14,13,11,.9) 100%),
    linear-gradient(90deg,rgba(14,13,11,.55) 0%,rgba(14,13,11,.0) 60%);
}
.imghero::before{
  content:"";position:absolute;inset:0;z-index:0;background:#3a1a10;
}
.imghero__inner{position:relative;z-index:2;width:100%;padding:0 var(--pad-x) var(--fs-display);max-width:var(--max);margin-inline:auto}
.imghero__inner .hero-meta .vol{color:var(--orange)}
.imghero__inner .hero-meta .div{background:var(--rule-bone)}
.imghero__inner .hero-cite__rule{background:var(--rule-bone)}
.imghero__inner .hero-cite{color:rgba(236,227,208,.7)}
.imghero h1{font-family:var(--ff-display);font-weight:900;font-size:var(--fs-display-xl);line-height:.86;letter-spacing:-.005em;text-transform:uppercase;color:var(--bone);max-width:14ch}
.imghero h1 em{font-style:normal;color:var(--orange)}
.imghero p{margin-top:18px;font-family:var(--ff-body);font-weight:400;font-size:var(--fs-lead);max-width:60ch;color:rgba(236,227,208,.85);line-height:1.5;letter-spacing:.005em}

/* === TRAILER CARDS (documentary.html · self-hosted <video> with paywall CTA) === */
.trailer-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(min(340px,100%),1fr));
  gap:clamp(24px,3vw,40px);
  margin-top:clamp(28px,4vw,48px);
}
.trailer-card{
  display:flex;flex-direction:column;
  background:rgba(236,227,208,.04);
  border:1px solid rgba(236,227,208,.18);
}
.trailer-card__video{
  position:relative;width:100%;aspect-ratio:16/9;background:var(--ink);overflow:hidden;
}
.trailer-card__video video{
  position:absolute;inset:0;width:100%;height:100%;
  object-fit:cover;background:var(--ink);display:block;
}
.trailer-card__body{
  padding:24px 24px 28px;
  display:flex;flex-direction:column;gap:6px;
  flex:1;
}
.trailer-card__num{
  font-family:var(--ff-mono);font-size:11px;font-weight:500;
  letter-spacing:.22em;text-transform:uppercase;color:var(--orange);
}
.trailer-card__title{
  font-family:var(--ff-display);font-weight:900;
  font-size:var(--fs-ttl-sm);line-height:1.1;
  letter-spacing:-.005em;text-transform:uppercase;color:var(--bone);
  margin:4px 0 6px;
}
.trailer-card__desc{
  color:rgba(236,227,208,.78);font-size:15px;line-height:1.5;
  margin:0 0 16px;
}
.trailer-card__cta{
  display:inline-flex;align-items:center;gap:8px;
  align-self:flex-start;margin-top:auto;
  padding:14px 22px;
  background:var(--orange);color:var(--bone);
  font-family:var(--ff-display);font-weight:800;font-size:14px;
  letter-spacing:.14em;text-transform:uppercase;
  text-decoration:none;
  transition:background .18s ease,transform .18s ease;
}
.trailer-card__cta:hover,.trailer-card__cta:focus-visible{
  background:var(--orange-deep);outline:none;
}
.trailer-card__paywall{
  font-family:var(--ff-mono);font-size:11px;
  letter-spacing:.22em;text-transform:uppercase;
  color:rgba(236,227,208,.55);margin-top:10px;
}

/* === VIDEO LIBRARY GRID (about-7x/strength-training-videos, about-7x/prehab-rehab-videos) === */
.video-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(300px,1fr));
  gap:clamp(20px,2.5vw,36px);
  margin-top:clamp(20px,3vw,40px);
}
.video-card{
  display:flex;flex-direction:column;
  background:var(--bone);
  border:1px solid var(--rule);
}
.video-card__frame{
  position:relative;width:100%;aspect-ratio:16/9;background:var(--ink);overflow:hidden;
}
.video-card__frame iframe{
  position:absolute;inset:0;width:100%;height:100%;border:0;
}
.video-card__body{
  padding:18px 20px 22px;
  display:flex;flex-direction:column;gap:6px;
  flex:1;
}
.video-card__num{
  font-family:var(--ff-mono);font-size:11px;font-weight:500;
  letter-spacing:.22em;text-transform:uppercase;color:var(--orange);
}
.video-card__title{
  font-family:var(--ff-display);font-weight:800;
  font-size:var(--fs-lead);line-height:1.18;
  letter-spacing:-.005em;text-transform:none;color:var(--ink);
  margin:0;
}

/* === VIDEO BLOCK (legacy single-feature treatment used on resources.html) === */
.video-block{
  position:relative;aspect-ratio:16/9;background:var(--ink);border:1px solid var(--ink);
  display:grid;place-items:center;overflow:hidden;
}
.video-block iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.video-block .placeholder{
  position:relative;z-index:2;text-align:center;color:rgba(236,227,208,.85);
}
.video-block .placeholder .lbl{color:var(--orange);margin-bottom:12px}
.video-block .placeholder h3{font-family:var(--ff-display);font-weight:900;font-size:var(--fs-display);letter-spacing:.01em;text-transform:uppercase;line-height:1;color:var(--bone)}
.video-block .scanlines{position:absolute;inset:0;background:repeating-linear-gradient(0deg,transparent 0,transparent 3px,rgba(236,227,208,.04) 3px,rgba(236,227,208,.04) 4px);pointer-events:none;z-index:1}
.video-block .crops{position:absolute;inset:14px;border:1px dashed rgba(183,44,37,.45);pointer-events:none;z-index:1}
.video-block::before,
.video-block::after{content:"";position:absolute;width:18px;height:18px;border-color:var(--orange);z-index:3}
.video-block::before{top:14px;left:14px;border-top:2px solid;border-left:2px solid}
.video-block::after{bottom:14px;right:14px;border-bottom:2px solid;border-right:2px solid}

/* === FINAL CTA === */
.final{
  background:var(--ink);color:var(--bone);
  padding:clamp(80px,12vw,180px) 0 clamp(80px,10vw,140px);
  position:relative;overflow:hidden;
  border-top:1px solid var(--ink);
}
.final::before{
  content:"";position:absolute;left:0;right:0;top:0;height:1px;
  background:var(--rule-bone);
}
.final-inner{position:relative;z-index:2;text-align:center;max-width:1100px;margin-inline:auto;padding-inline:var(--pad-x)}
.final h2{font-family:var(--ff-display);font-weight:900;font-size:var(--fs-display-xl);line-height:.86;letter-spacing:-.01em;text-transform:uppercase;color:var(--bone)}
.final h2 em{font-family:var(--ff-edit);font-style:italic;font-weight:500;color:var(--orange);text-transform:none;letter-spacing:0;font-size:.85em;display:inline-block;transform:translateY(-.1em)}
.final p{margin-top:28px;font-family:var(--ff-edit);font-style:italic;font-size:var(--fs-h4);color:rgba(236,227,208,.85);max-width:60ch;margin-inline:auto;line-height:1.4}
.final .hero-cta{justify-content:center;margin-top:42px}

/* === FOOTER === */
.foot{background:var(--ink);color:var(--bone);border-top:1px solid var(--rule-bone);padding:64px var(--pad-x) 36px}
.foot-inner{max-width:var(--max);margin-inline:auto;margin-top:112px;display:grid;grid-template-columns:1.5fr 1fr 1fr 1fr;gap:36px;align-items:start}
.foot .brand-name{color:var(--bone);font-size:22px}
.foot .brand-name small{color:rgba(236,227,208,.6)}
.foot h6{font-family:var(--ff-display);font-weight:900;font-size:13px;letter-spacing:.18em;text-transform:uppercase;margin-bottom:14px;color:var(--bone)}
.foot ul{list-style:none;display:grid;gap:8px}
.foot a{font-family:var(--ff-mono);font-size:12px;letter-spacing:.06em;color:rgba(236,227,208,.7);text-transform:uppercase}
.foot a:hover{color:var(--orange)}
.foot-tag{margin-top:14px;font-family:var(--ff-edit);font-style:italic;font-size:15px;color:rgba(236,227,208,.7);max-width:34ch;line-height:1.4}
.foot-base{
  max-width:var(--max);margin:48px auto 0;border-top:1px solid var(--rule-bone);padding-top:24px;
  display:flex;justify-content:space-between;align-items:center;gap:20px;flex-wrap:wrap;
  font-family:var(--ff-mono);font-size:10px;letter-spacing:.22em;text-transform:uppercase;color:rgba(236,227,208,.55)
}
.foot-base .stamp{
  border:1.5px solid var(--orange);color:var(--orange);padding:8px 14px;letter-spacing:.22em;
  font-family:var(--ff-mono);font-weight:500;font-size:10px;text-transform:uppercase;
}
@media (max-width:880px){.foot-inner{grid-template-columns:1fr 1fr;gap:28px}}
@media (max-width:520px){.foot-inner{grid-template-columns:1fr}}

/* === FOOTER · NEWSLETTER === */
.foot-news{
  max-width:var(--max);margin:48px auto 0;padding:28px 0;
  border-top:1px solid var(--rule-bone);border-bottom:1px solid var(--rule-bone);
  display:grid;grid-template-columns:1fr 1.4fr;gap:36px;align-items:center;
}
@media (max-width:760px){.foot-news{grid-template-columns:1fr;gap:18px}}
.foot-news__head h6{font-family:var(--ff-display);font-weight:900;font-size:22px;letter-spacing:.04em;text-transform:uppercase;color:var(--bone);line-height:1;margin-bottom:8px}
.foot-news__head p{font-family:var(--ff-edit);font-style:italic;font-size:15px;color:rgba(236,227,208,.7);max-width:36ch;line-height:1.4}
.foot-news__form{display:flex;gap:10px;flex-wrap:wrap}
.foot-news__form input{
  flex:1;min-width:0;
  border:1.5px solid rgba(236,227,208,.4);background:transparent;color:var(--bone);
  padding:14px 16px;font-family:var(--ff-body);font-size:15px;line-height:1.4;
  border-radius:0;-webkit-appearance:none;appearance:none;
  transition:border-color .2s ease;
}
.foot-news__form input::placeholder{color:rgba(236,227,208,.5)}
.foot-news__form input:focus{outline:none;border-color:var(--orange);box-shadow:0 0 0 3px rgba(183,44,37,.18)}
.foot-news__form button{
  font-family:var(--ff-display);font-weight:800;font-size:13px;letter-spacing:.16em;text-transform:uppercase;
  padding:14px 22px;border:1.5px solid var(--orange);background:var(--orange);color:var(--bone);
  cursor:pointer;transition:background .2s ease, color .2s ease;
}
.foot-news__form button:hover{background:transparent;color:var(--orange)}
.foot-news__form input:invalid:not(:placeholder-shown){border-color:var(--orange);box-shadow:0 0 0 3px rgba(183,44,37,.18)}
.foot-news__form .news-msg{flex:1 1 100%;margin-top:6px;font-family:var(--ff-mono);font-size:11px;letter-spacing:.06em;color:rgba(236,227,208,.7);line-height:1.45}

/* === FOOTER · SOCIAL === */
.foot-social{
  display:flex;gap:10px;align-items:center;
}
.foot-social a{
  width:38px;height:38px;display:grid;place-items:center;
  border:1.5px solid rgba(236,227,208,.4);color:rgba(236,227,208,.75);
  transition:all .2s ease;
}
.foot-social a:hover{
  border-color:var(--orange);color:var(--orange);background:rgba(183,44,37,.06);
}
.foot-social svg{width:16px;height:16px;display:block;fill:currentColor}

/* tighten foot-base layout when many items */
.foot-base{flex-wrap:wrap}
.foot-base .stamp{white-space:nowrap}

/* === HALFTONE IMAGE TREATMENT (for board photos / archive) === */
.halftone{
  position:relative;background:var(--bone-2);overflow:hidden;
  isolation:isolate;
}
.halftone img{
  width:100%;height:100%;object-fit:cover;display:block;
  filter:grayscale(1) contrast(1.55) brightness(1.05);
}
.halftone::after{
  content:"";position:absolute;inset:0;pointer-events:none;
  background-image:radial-gradient(circle at center, var(--ink) 32%, transparent 33%);
  background-size:3.2px 3.2px;
  mix-blend-mode:lighten;
  opacity:.7;
}
.halftone.is-red::after{background-image:radial-gradient(circle at center, var(--orange) 32%, transparent 33%)}

/* === CRISIS HERO (get-support) === */
.crisis-hero{
  background:var(--bone);color:var(--ink);
  padding:var(--fs-display) var(--pad-x);
  border-bottom:4px solid var(--orange);
}
.crisis-hero .wrap{display:grid;gap:var(--fs-ttl)}
.crisis-hero__head{max-width:64ch}
.crisis-hero__head .eyebrow{
  display:inline-block;
  font-family:var(--ff-mono);font-size:11px;letter-spacing:.24em;
  text-transform:uppercase;color:var(--orange);
  background:rgba(183,44,37,.08);
  padding:6px 12px;border:1px solid var(--orange);
  margin-bottom:18px;
}
.crisis-hero__title{
  font-family:var(--ff-display);font-weight:900;
  font-size:var(--fs-display);line-height:.95;letter-spacing:-.005em;
  text-transform:uppercase;color:var(--ink);
}
.crisis-hero__title em{font-family:var(--ff-edit);font-style:italic;font-weight:500;text-transform:none;color:var(--orange-deep)}
.crisis-hero__lead{
  margin-top:18px;max-width:60ch;
  font-family:var(--ff-edit);font-style:italic;
  font-size:var(--fs-lead);line-height:1.4;color:var(--ink-soft);
}
.crisis-row{
  display:grid;grid-template-columns:repeat(4,1fr);
  gap:clamp(12px,1.4vw,20px);
}
@media (max-width:980px){.crisis-row{grid-template-columns:repeat(2,1fr)}}
@media (max-width:520px){.crisis-row{grid-template-columns:1fr}}
.crisis-btn{
  display:flex;flex-direction:column;gap:8px;
  background:var(--bone-2);border:1px solid var(--ink);
  padding:clamp(20px,2.4vw,32px) var(--fs-h4);
  text-decoration:none;color:var(--ink);
  transition:background .15s ease,transform .15s ease;
  min-height:140px;
}
.crisis-btn:hover,.crisis-btn:focus{background:var(--ink);color:var(--bone);transform:translateY(-2px);outline:none}
.crisis-btn:hover .desc,.crisis-btn:focus .desc{color:rgba(236,227,208,.7)}
.crisis-btn .lbl{font-family:var(--ff-mono);font-size:10px;letter-spacing:.22em;text-transform:uppercase;color:var(--ink-soft)}
.crisis-btn .num{
  font-family:var(--ff-display);font-weight:900;
  font-size:var(--fs-ttl-sm);letter-spacing:.01em;line-height:1;
  color:var(--orange-deep);
}
.crisis-btn:hover .num,.crisis-btn:focus .num{color:var(--orange)}
.crisis-btn--primary{background:var(--orange-deep);border-color:var(--orange-deep);color:var(--bone)}
.crisis-btn--primary .lbl{color:rgba(236,227,208,.7)}
.crisis-btn--primary .num{color:var(--bone);font-size:var(--fs-ttl)}
.crisis-btn--primary .desc{color:rgba(236,227,208,.85)}
.crisis-btn--primary:hover,.crisis-btn--primary:focus{background:var(--ink);border-color:var(--ink)}
.crisis-btn .desc{font-family:var(--ff-edit);font-style:italic;font-size:14px;color:var(--ink-soft);line-height:1.35}
.crisis-hero__note{
  font-family:var(--ff-mono);font-size:11px;letter-spacing:.06em;
  color:var(--ink-soft);max-width:72ch;line-height:1.5;
}
.crisis-hero__note a{color:var(--orange-deep);text-decoration:underline;font-weight:600}

/* === TRUST STRIP (donate) === */
.trust-strip{background:var(--bone-2);border-top:1px solid var(--ink);border-bottom:1px solid var(--ink);padding:clamp(20px,2.4vw,32px) var(--pad-x)}
.trust-row{max-width:var(--max);margin-inline:auto;display:grid;grid-template-columns:repeat(4,1fr);gap:clamp(20px,2.4vw,36px)}
@media (max-width:880px){.trust-row{grid-template-columns:repeat(2,1fr);gap:24px}}
@media (max-width:480px){.trust-row{grid-template-columns:1fr;gap:18px}}
.trust-cell{display:flex;flex-direction:column;gap:6px;align-items:flex-start}
.trust-cell .lbl{font-family:var(--ff-mono);font-size:10px;letter-spacing:.22em;text-transform:uppercase;color:var(--ink-soft)}
.trust-cell .val{font-family:var(--ff-display);font-weight:900;font-size:var(--fs-ttl-sm);letter-spacing:.01em;color:var(--ink);line-height:1}
.trust-cell .val small{font-size:.55em;font-weight:500;color:var(--ink-soft);margin-left:2px;letter-spacing:.04em}
.trust-cell .desc{font-family:var(--ff-edit);font-style:italic;font-size:14px;color:var(--ink-soft);line-height:1.3}

/* === DONOR FAQ === */
.faq{border-top:1px solid var(--ink)}
.faq details{border-bottom:1px solid var(--ink);padding:0}
.faq summary{padding:22px 0;cursor:pointer;font-family:var(--ff-display);font-weight:800;font-size:var(--fs-edit);letter-spacing:.02em;text-transform:uppercase;list-style:none;display:flex;justify-content:space-between;align-items:center;gap:24px;color:var(--ink)}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:'+';font-family:var(--ff-mono);font-size:24px;font-weight:400;color:var(--orange-deep);transition:transform .2s ease;flex:none}
.faq details[open] summary::after{transform:rotate(45deg)}
.faq details > p,.faq details > div{padding:0 0 24px 0;font-size:15px;line-height:1.55;color:var(--ink-soft);max-width:72ch}
.faq details > p+p{padding-top:10px}

/* === BOARD GRID === */
.board-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:clamp(16px,2vw,28px)}
@media (max-width:980px){.board-grid{grid-template-columns:repeat(2,1fr)}}
@media (max-width:520px){.board-grid{grid-template-columns:1fr}}
/* Lead row — 4-up for Founder / Vice Chair / Chairman / Executive Director */
.lead-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:clamp(16px,2vw,28px);margin-bottom:clamp(36px,4vw,56px)}
@media (max-width:1080px){.lead-grid{grid-template-columns:repeat(2,1fr)}}
@media (max-width:520px){.lead-grid{grid-template-columns:1fr}}
.lead-grid .member__body{padding:22px 22px 26px}
.lead-grid .member__body h4{font-size:20px}
.lead-grid .member__body p{font-size:14px}
.lead-subhead{font-family:var(--ff-mono);font-size:11px;letter-spacing:.22em;text-transform:uppercase;color:var(--ink-soft);margin-bottom:18px;display:block}
.member{
  border:1px solid var(--ink);background:var(--bone-2);
  display:flex;flex-direction:column;
}
.member__photo{aspect-ratio:3/4;background:var(--ink);position:relative;border-bottom:1px solid var(--ink);overflow:hidden;isolation:isolate}
/* Halftone editorial treatment — high-contrast grayscale + dot screen overlay,
   matching the brand .halftone pattern used elsewhere on the site. */
.member__photo img{width:100%;height:100%;object-fit:cover;display:block;filter:grayscale(1) contrast(1.42) brightness(1.06)}
.member__photo::after{
  content:"";position:absolute;inset:0;pointer-events:none;z-index:2;
  background-image:radial-gradient(circle at center, var(--ink) 32%, transparent 33%);
  background-size:3px 3px;
  mix-blend-mode:lighten;
  opacity:.55;
}
.member__photo.placeholder{
  display:grid;place-items:center;color:rgba(236,227,208,.45);
  font-family:var(--ff-display);font-weight:900;font-size:84px;letter-spacing:.02em;
  background:var(--ink);
}
.member__photo.placeholder::after{
  content:"";position:absolute;inset:0;
  background-image:radial-gradient(circle, var(--orange) 32%, transparent 33%);
  background-size:3.2px 3.2px;opacity:.18;pointer-events:none;
}
.member__body{padding:18px 20px 22px;display:grid;gap:6px}
.member__body h4{font-family:var(--ff-display);font-weight:900;font-size:18px;letter-spacing:.04em;text-transform:uppercase;line-height:1;color:var(--ink)}
.member__body .role{font-family:var(--ff-mono);font-size:10px;letter-spacing:.22em;text-transform:uppercase;color:var(--orange-deep)}
.member__body p{font-size:13px;line-height:1.5;color:var(--ink-soft);margin-top:6px}

/* === VERTICAL TIMELINE (DECADE) === */
.tl-v{position:relative;padding:clamp(20px,3vw,32px) 0;margin-left:0}
.tl-v::before{
  content:"";position:absolute;left:30px;top:0;bottom:0;width:2px;background:var(--ink);
}
.section.dark .tl-v::before{background:var(--orange)}
.tl-row{
  display:grid;grid-template-columns:60px 1fr;gap:24px;align-items:start;
  padding:28px 0 32px;position:relative;
}
.tl-row::before{
  content:"";position:absolute;left:22px;top:36px;width:18px;height:18px;
  background:var(--orange);border:3px solid var(--bone);border-radius:0;z-index:2;
  transform:rotate(45deg);
}
.section.dark .tl-row::before{border-color:var(--ink)}
.tl-row .year{
  grid-column:1;font-family:var(--ff-display);font-weight:900;font-size:0;
  position:absolute;left:-90px;top:30px;display:none;
}
.tl-card{
  grid-column:2;padding-left:24px;border-left:1px solid var(--rule);
}
.section.dark .tl-card{border-left-color:var(--rule-bone)}
.tl-card .yr-tag{
  display:inline-block;border:1.5px solid var(--orange);color:var(--orange);
  padding:4px 10px;font-family:var(--ff-mono);font-size:11px;letter-spacing:.18em;text-transform:uppercase;
  margin-bottom:10px;
}
.tl-card h4{font-family:var(--ff-display);font-weight:900;font-size:var(--fs-h4);letter-spacing:.02em;text-transform:uppercase;line-height:1.05;color:var(--ink);margin-bottom:8px}
.section.dark .tl-card h4{color:var(--bone)}
.tl-card p{font-size:15px;line-height:1.55;color:var(--ink-soft);max-width:60ch}
.section.dark .tl-card p{color:rgba(236,227,208,.8)}
.tl-card .stats{
  display:flex;gap:18px;margin-top:12px;flex-wrap:wrap;
  font-family:var(--ff-mono);font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-soft);
}
.section.dark .tl-card .stats{color:rgba(236,227,208,.7)}
.tl-card .stats b{font-family:var(--ff-display);font-weight:800;color:var(--orange);font-size:14px;letter-spacing:.04em}

/* === PROGRAM CARDS (programs.html) === */
.prog-grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(20px,3vw,32px)}
@media (max-width:760px){.prog-grid{grid-template-columns:1fr}}
.prog-card{
  border:1px solid var(--ink);background:var(--bone-2);
  display:flex;flex-direction:column;overflow:hidden;
}
.prog-card__img{aspect-ratio:16/10;background:var(--orange);position:relative;overflow:hidden;border-bottom:1px solid var(--ink)}
.prog-card__img img{width:100%;height:100%;object-fit:cover;filter:grayscale(1) contrast(1.45) brightness(1.05);mix-blend-mode:multiply}
.prog-card__img .corner{
  position:absolute;top:14px;left:14px;color:var(--bone);
  font-family:var(--ff-mono);font-size:10px;letter-spacing:.22em;text-transform:uppercase;
}
.prog-card__img .badge{
  position:absolute;top:14px;right:14px;
  border:1.5px solid var(--bone);color:var(--bone);padding:6px 10px;
  font-family:var(--ff-mono);font-size:10px;letter-spacing:.22em;text-transform:uppercase;
}
.prog-card__img .badge.active{border-color:var(--orange);color:var(--orange);background:rgba(14,13,11,.6)}
.prog-card__body{padding:28px 30px;display:grid;gap:10px}
.prog-card__body .yr-tag{
  display:inline-block;border:1.5px solid var(--orange);color:var(--orange);
  padding:4px 10px;font-family:var(--ff-mono);font-size:10px;letter-spacing:.18em;text-transform:uppercase;
  width:fit-content;
}
.prog-card__body h3{font-family:var(--ff-display);font-weight:900;font-size:var(--fs-ttl-sm);letter-spacing:.005em;text-transform:uppercase;line-height:.95;color:var(--ink)}
.prog-card__body p{font-size:15px;line-height:1.55;color:var(--ink-soft);margin-top:4px}
.prog-card__body .more{
  margin-top:14px;font-family:var(--ff-display);font-weight:800;font-size:13px;letter-spacing:.18em;text-transform:uppercase;color:var(--ink);
  display:inline-flex;align-items:center;gap:6px;border-bottom:2px solid var(--orange);padding-bottom:3px;width:fit-content;
}
.prog-card__body .more:hover{color:var(--orange)}

/* === DONATE · ALLOCATION BARS (tiered: total → programs/ops → breakdown) === */
.alloc-v2{
  border:1px solid var(--rule-bone);background:transparent;
}
.alloc-v2__row{
  display:grid;grid-template-columns:220px 1fr 90px;gap:18px;align-items:center;
  padding:18px 24px;border-bottom:1px solid var(--rule-bone);
}
.alloc-v2__row:last-child{border-bottom:0}
.alloc-v2__row .lab{
  font-family:var(--ff-display);font-weight:900;font-size:15px;letter-spacing:.04em;text-transform:uppercase;color:var(--bone);line-height:1.15;
}
.alloc-v2__row .lab small{
  display:block;font-family:var(--ff-mono);font-size:10px;letter-spacing:.18em;color:rgba(236,227,208,.55);margin-top:4px;font-weight:400;text-transform:uppercase;
}
.alloc-v2__row .bar{
  height:18px;background:rgba(236,227,208,.06);border:1px solid var(--rule-bone);position:relative;overflow:hidden;
}
.alloc-v2__row .bar::after{
  content:"";position:absolute;left:0;top:0;bottom:0;width:0;background:var(--orange);
  transition:width 1.1s cubic-bezier(.2,.7,.2,1);
}
.alloc-v2__row.in .bar::after{width:var(--w,0%)}
.alloc-v2__row .pct{
  display:flex;flex-direction:column;align-items:flex-end;justify-content:center;gap:3px;
}
.alloc-v2__row .pct .num{
  font-family:var(--ff-display);font-weight:900;font-size:24px;color:var(--orange);line-height:1;font-feature-settings:"tnum";
}
.alloc-v2__row .pct .amt{
  font-family:var(--ff-mono);font-weight:500;font-size:11px;color:rgba(236,227,208,.6);letter-spacing:.06em;line-height:1;
}

/* Tier 1 — Total reference row */
.alloc-v2__row--total{
  background:rgba(183,44,37,.08);border-bottom:2px solid var(--orange);
}
.alloc-v2__row--total .lab{font-size:11px;letter-spacing:.22em;font-family:var(--ff-mono);font-weight:500;color:var(--orange)}
.alloc-v2__row--total .bar{height:8px;background:rgba(183,44,37,.15);border-color:var(--orange)}
.alloc-v2__row--total .bar::after{background:var(--orange)}
.alloc-v2__row--total .pct .num{font-size:18px;color:var(--orange)}

/* Tier 2 — Major split (programs vs ops) */
.alloc-v2__row--major{
  background:rgba(236,227,208,.02);
}
.alloc-v2__row--major .lab{font-size:17px}
.alloc-v2__row--major .pct .num{font-size:32px}

/* Section header between major and sub */
.alloc-v2__section{
  padding:14px 24px;border-bottom:1px solid var(--rule-bone);background:rgba(236,227,208,.03);
  font-family:var(--ff-mono);font-size:10px;letter-spacing:.22em;text-transform:uppercase;color:rgba(236,227,208,.65);
}
.alloc-v2__section b{font-family:var(--ff-display);font-weight:800;letter-spacing:.14em;color:var(--bone)}

/* Tier 3 — Sub-rows (program breakdown inside 90%) */
.alloc-v2__row--sub{
  padding-left:48px;position:relative;
}
.alloc-v2__row--sub::before{
  content:"";position:absolute;left:24px;top:50%;width:14px;height:1px;background:var(--rule-bone);
}
.alloc-v2__row--sub .lab{font-size:14px;color:rgba(236,227,208,.92)}
.alloc-v2__row--sub .bar{height:12px}

@media (max-width:760px){
  .alloc-v2__row{grid-template-columns:1fr auto;gap:10px}
  .alloc-v2__row .bar{grid-column:1 / -1;order:3}
  .alloc-v2__row--sub{padding-left:38px}
  .alloc-v2__row--sub::before{left:18px;width:10px}
}

/* === DONATE · BUDGET TABLE (program $ breakdown, line-item style) === */
.budget{
  border:1px solid var(--rule-bone);background:transparent;
}
.budget__head{
  display:flex;align-items:center;justify-content:space-between;gap:14px;
  padding:18px 24px;border-bottom:1px solid var(--rule-bone);
  font-family:var(--ff-mono);font-size:10px;letter-spacing:.22em;text-transform:uppercase;
  color:rgba(236,227,208,.7);
}
.budget__head b{font-family:var(--ff-display);font-weight:800;font-size:14px;letter-spacing:.16em;color:var(--bone)}
.budget__head .total{font-family:var(--ff-display);font-weight:900;font-size:22px;letter-spacing:.04em;color:var(--orange)}
.budget__row{
  display:grid;grid-template-columns:1fr auto auto;gap:24px;align-items:baseline;
  padding:18px 24px;border-bottom:1px dashed var(--rule-bone);
}
.budget__row:last-of-type{border-bottom:0}
.budget__row .name{font-family:var(--ff-display);font-weight:800;font-size:16px;letter-spacing:.04em;text-transform:uppercase;color:var(--bone);line-height:1.2}
.budget__row .name small{display:block;font-family:var(--ff-mono);font-weight:400;font-size:10px;letter-spacing:.18em;color:rgba(236,227,208,.55);margin-top:4px;text-transform:uppercase}
.budget__row .amt{font-family:var(--ff-display);font-weight:900;font-size:22px;letter-spacing:.04em;color:var(--bone);font-feature-settings:"tnum";text-align:right;line-height:1}
.budget__row .pct{font-family:var(--ff-mono);font-weight:500;font-size:12px;letter-spacing:.18em;color:var(--orange);min-width:48px;text-align:right;line-height:1}
.budget__foot{
  display:flex;align-items:center;justify-content:space-between;gap:14px;
  padding:16px 24px;border-top:1px solid var(--rule-bone);background:rgba(236,227,208,.04);
  font-family:var(--ff-mono);font-size:10px;letter-spacing:.22em;text-transform:uppercase;color:rgba(236,227,208,.7);
}
.budget__foot b{font-family:var(--ff-display);font-weight:900;font-size:18px;letter-spacing:.04em;color:var(--bone)}
@media (max-width:640px){
  .budget__row{grid-template-columns:1fr auto;gap:14px}
  .budget__row .pct{grid-column:2;justify-self:end}
  .budget__row .amt{grid-column:1 / -1;text-align:left}
}

/* === DONATE · TOP-LEVEL SPLIT (Programs vs Operations) === */
.split{
  display:grid;grid-template-columns:1fr 1fr;gap:0;
  border:1px solid var(--rule-bone);
}
@media (max-width:680px){.split{grid-template-columns:1fr}}
.split__cell{
  padding:28px 30px;border-right:1px solid var(--rule-bone);
  display:grid;grid-template-rows:auto 1fr auto;gap:18px;min-height:200px;
}
.split__cell:last-child{border-right:0}
@media (max-width:680px){
  .split__cell{border-right:0;border-bottom:1px solid var(--rule-bone)}
  .split__cell:last-child{border-bottom:0}
}
.split__cell .lab{font-family:var(--ff-mono);font-size:11px;letter-spacing:.22em;text-transform:uppercase;color:var(--orange);align-self:start}
.split__cell .figure{font-family:var(--ff-display);font-weight:900;font-size:var(--fs-display-xl);line-height:.85;letter-spacing:-.01em;color:var(--bone);align-self:end}
.split__cell .figure .unit{font-size:.4em;color:var(--orange);letter-spacing:.04em;display:inline-block;margin-left:.05em;vertical-align:.45em}
.split__cell h4{font-family:var(--ff-display);font-weight:900;font-size:20px;letter-spacing:.04em;text-transform:uppercase;line-height:1.15;color:var(--bone);align-self:end}
.split__cell h4 small{display:block;font-family:var(--ff-mono);font-weight:400;font-size:11px;letter-spacing:.16em;color:rgba(236,227,208,.6);margin-top:6px;text-transform:uppercase}
.split__cell.is-programs{background:rgba(183,44,37,.05)}

/* === DONATE · ALLOCATION BREAKDOWN (legacy — still used elsewhere) === */
.alloc{
  border:1px solid var(--ink);background:var(--bone-2);
}
.alloc-row{
  display:grid;grid-template-columns:220px 1fr 90px;gap:18px;align-items:center;
  padding:18px 24px;border-bottom:1px solid var(--rule);
}
.alloc-row:last-child{border-bottom:0}
.alloc-row .lab{
  font-family:var(--ff-display);font-weight:900;font-size:15px;letter-spacing:.04em;text-transform:uppercase;color:var(--ink);line-height:1.1;
}
.alloc-row .lab small{
  display:block;font-family:var(--ff-mono);font-size:10px;letter-spacing:.18em;color:var(--ink-soft);margin-top:4px;font-weight:400;
}
.alloc-row .bar{
  height:16px;background:rgba(14,13,11,.06);border:1px solid var(--ink);position:relative;overflow:hidden;
}
.alloc-row .bar::after{
  content:"";position:absolute;left:0;top:0;bottom:0;width:var(--w,0%);background:var(--orange);
  transition:width 1s cubic-bezier(.2,.7,.2,1);
}
.alloc-row.in .bar::after{width:var(--w,0%)}
.alloc-row .pct{
  font-family:var(--ff-display);font-weight:900;font-size:24px;color:var(--orange);text-align:right;line-height:1;
  font-feature-settings:"tnum";
}
@media (max-width:680px){
  .alloc-row{grid-template-columns:1fr 60px;gap:10px}
  .alloc-row .bar{grid-column:1 / -1;order:3}
}

/* === DONATE · IMPACT TIER CARDS === */
.impact-grid{
  display:grid;grid-template-columns:repeat(4,1fr);gap:0;border:1px solid var(--ink);
}
@media (max-width:880px){.impact-grid{grid-template-columns:repeat(2,1fr)}}
@media (max-width:480px){.impact-grid{grid-template-columns:1fr}}
.impact-card{
  padding:28px 24px;border-right:1px solid var(--ink);background:var(--bone-2);
  display:flex;flex-direction:column;gap:10px;position:relative;min-height:200px;
}
.impact-card:last-child{border-right:0}
@media (max-width:880px){
  .impact-card:nth-child(2n){border-right:0}
  .impact-card:nth-child(-n+2){border-bottom:1px solid var(--ink)}
}
@media (max-width:480px){
  .impact-card{border-right:0;border-bottom:1px solid var(--ink)}
  .impact-card:last-child{border-bottom:0}
}
.impact-card .amt{font-family:var(--ff-display);font-weight:900;font-size:var(--fs-ttl);line-height:1;color:var(--ink);letter-spacing:-.005em;}
.impact-card .amt .unit{font-size:.4em;color:var(--orange);letter-spacing:.06em;text-transform:uppercase;display:inline-block;margin-left:.1em;vertical-align:.45em}
.impact-card .what{
  font-family:var(--ff-display);font-weight:800;font-size:14px;letter-spacing:.08em;text-transform:uppercase;color:var(--ink);line-height:1.2;
}
.impact-card p{font-size:13px;line-height:1.5;color:var(--ink-soft);margin-top:auto}
.impact-card.featured{background:var(--ink);color:var(--bone)}
.impact-card.featured .amt{color:var(--bone)}
.impact-card.featured .amt .unit{color:var(--orange)}
.impact-card.featured .what{color:var(--bone)}
.impact-card.featured p{color:rgba(236,227,208,.75)}
.impact-card.featured::before{
  content:"// Most Sponsored";position:absolute;top:14px;right:14px;
  font-family:var(--ff-mono);font-size:9px;letter-spacing:.22em;text-transform:uppercase;color:var(--orange);
}

/* === DONATE · OTHER WAYS GRID === */
.ways-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
@media (max-width:880px){.ways-grid{grid-template-columns:1fr 1fr}}
@media (max-width:520px){.ways-grid{grid-template-columns:1fr}}
.way{
  border:1px solid var(--ink);padding:24px 22px;background:var(--bone-2);
  display:flex;flex-direction:column;gap:8px;transition:background .15s ease;
}
.way:hover{background:rgba(183,44,37,.06)}
.way .ico{font-family:var(--ff-display);font-weight:900;font-size:32px;color:var(--orange);line-height:1}
.way h4{font-family:var(--ff-display);font-weight:800;font-size:18px;letter-spacing:.04em;text-transform:uppercase;color:var(--ink);line-height:1}
.way p{font-size:14px;line-height:1.5;color:var(--ink-soft)}
.way a{color:var(--orange-deep);font-family:var(--ff-mono);font-size:12px;letter-spacing:.12em;text-transform:uppercase;margin-top:auto;display:inline-flex;gap:6px;align-items:center}
.way a:hover{color:var(--orange)}

/* === PULSE HOOK (homepage emotional pulse + two-door) === */
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.pulse{
  background:var(--ink);color:var(--bone);
  padding:clamp(96px,14vw,180px) var(--pad-x);
  position:relative;overflow:hidden;
  border-top:1px solid rgba(236,227,208,.08);
  border-bottom:1px solid rgba(236,227,208,.08);
}
.pulse::before{
  content:"";position:absolute;inset:0;pointer-events:none;
  background:radial-gradient(circle at 50% 35%, rgba(183,44,37,.10), transparent 55%);
  animation:pulseGlow 4s ease-in-out infinite;
}
@keyframes pulseGlow{
  0%, 100% {opacity:.5; transform:scale(1)}
  50% {opacity:.95; transform:scale(1.04)}
}
.pulse-inner{max-width:var(--max);margin-inline:auto;text-align:center;position:relative;z-index:1}
.pulse-stage{
  position:relative;display:flex;align-items:center;justify-content:center;
  min-height:clamp(92px,12vw,168px);margin-bottom:clamp(48px,6vw,80px);
  text-align:center;flex-wrap:wrap;gap:14px;
}
.pulse-word{
  display:inline-block;
  font-family:var(--ff-display);font-weight:900;
  font-size:var(--fs-display-xl);
  line-height:1;text-transform:uppercase;letter-spacing:-.01em;
  white-space:nowrap;color:var(--bone);
  opacity:1;transform:scale(1);
  transition:opacity .35s ease, transform .35s ease;
  will-change:opacity, transform;
}
.pulse-word--out{opacity:0;transform:scale(.96)}
/* One consistent treatment for every beat: white blocky Big Shoulders display,
   uppercase, heavy weight. The cycling sequence carries the meaning — no font
   swap or color flip per beat. */
.pulse-word--symptom,
.pulse-word--ask,
.pulse-word--answer,
.pulse-word--answer-final{color:var(--bone)}
@media (prefers-reduced-motion: reduce){
  .pulse::before{animation:none;opacity:.7}
  .pulse-word{font-size:var(--fs-ttl);transition:none}
  .pulse-stage{min-height:auto;flex-direction:column;gap:14px}
}

/* Two-Door CTA */
.two-door{
  display:grid;grid-template-columns:1fr 1fr;
  gap:clamp(14px,1.6vw,24px);
  max-width:880px;margin:0 auto;
}
@media (max-width:640px){.two-door{grid-template-columns:1fr}}
.door{
  display:flex;flex-direction:column;align-items:flex-start;gap:6px;
  padding:var(--fs-h4) clamp(24px,3vw,40px);
  border:1px solid rgba(236,227,208,.25);
  background:rgba(236,227,208,.03);
  color:var(--bone);text-decoration:none;
  transition:background .18s ease, border-color .18s ease, transform .18s ease;
  position:relative;
}
.door:hover,.door:focus-visible{background:var(--orange-deep);border-color:var(--orange-deep);transform:translateY(-2px);outline:none}
.door__pre{font-family:var(--ff-mono);font-size:11px;letter-spacing:.22em;text-transform:uppercase;color:rgba(236,227,208,.65)}
.door:hover .door__pre,.door:focus-visible .door__pre{color:rgba(255,255,255,.8)}
.door__verb{
  font-family:var(--ff-display);font-weight:900;
  font-size:var(--fs-ttl);letter-spacing:-.005em;
  text-transform:uppercase;line-height:1;color:var(--bone);
}
.door__arrow{
  position:absolute;right:clamp(20px,2vw,28px);top:50%;transform:translateY(-50%);
  font-family:var(--ff-display);font-weight:800;font-size:var(--fs-ttl);color:var(--orange);
  transition:transform .18s ease,color .18s ease;
}
.door:hover .door__arrow,.door:focus-visible .door__arrow{transform:translate(6px,-50%);color:var(--bone)}

/* === HEARTBEAT POP-UP (first-visit modal) === */
.heartbeat{position:fixed;inset:0;z-index:200;display:flex;align-items:center;justify-content:center;padding:24px;animation:heartbeatIn .35s ease both}
.heartbeat[hidden]{display:none}
.heartbeat__backdrop{position:absolute;inset:0;background:rgba(14,13,11,.78);backdrop-filter:blur(4px) saturate(120%);-webkit-backdrop-filter:blur(4px) saturate(120%);cursor:pointer}
.heartbeat__card{
  position:relative;z-index:1;
  max-width:560px;width:100%;
  background:var(--bone);color:var(--ink);
  border:1px solid var(--ink);
  padding:clamp(32px,4vw,52px) clamp(28px,3.2vw,44px) clamp(24px,3vw,36px);
  text-align:center;
  box-shadow:0 24px 64px rgba(14,13,11,.35);
  animation:heartbeatBeat 1.6s ease-in-out 1, heartbeatPop .42s cubic-bezier(.16,1,.3,1) both;
}
@keyframes heartbeatBeat{
  0%, 30%, 100% {transform:scale(1)}
  10% {transform:scale(1.025)}
  20% {transform:scale(.985)}
}
@keyframes heartbeatPop{
  0% {opacity:0; transform:scale(.92)}
  100% {opacity:1; transform:scale(1)}
}
@keyframes heartbeatIn{
  0% {opacity:0}
  100% {opacity:1}
}
.heartbeat__ask{
  font-family:var(--ff-display);font-weight:900;
  font-size:var(--fs-ttl-sm);line-height:1;
  letter-spacing:-.005em;text-transform:uppercase;color:var(--ink);
  margin:0;
}
.heartbeat__ask--second{margin-top:clamp(24px,3vw,32px)}
.heartbeat__words{
  font-family:var(--ff-edit);font-style:italic;
  font-size:var(--fs-lead);line-height:1.4;
  color:var(--ink-soft);margin:14px 0 0;
}
.heartbeat__answer{
  font-family:var(--ff-display);font-weight:800;
  font-size:var(--fs-h4);line-height:1.1;
  text-transform:uppercase;letter-spacing:-.005em;
  color:var(--orange-deep);margin:18px 0 0;
}
.heartbeat__answer em{font-family:var(--ff-edit);font-style:italic;font-weight:500;text-transform:none;color:var(--ink);letter-spacing:0;display:inline-block;margin-top:6px}
.heartbeat__actions{display:flex;flex-direction:column;gap:12px;margin-top:clamp(28px,3vw,36px)}
.heartbeat__actions .btn{justify-content:center;text-align:center}
.heartbeat__close{
  margin-top:18px;background:transparent;border:0;cursor:pointer;
  font-family:var(--ff-mono);font-size:11px;letter-spacing:.18em;text-transform:uppercase;
  color:var(--ink-soft);padding:8px 12px;
}
.heartbeat__close:hover{color:var(--orange-deep)}
body.heartbeat-open{overflow:hidden}
@media (prefers-reduced-motion: reduce){
  .heartbeat{animation:none}
  .heartbeat__card{animation:heartbeatPop .25s ease both}
}

/* === SKIP TO CONTENT (a11y) === */
.skip-link{
  position:absolute;left:-9999px;top:0;z-index:100;
  background:var(--ink);color:var(--bone);padding:12px 18px;
  font-family:var(--ff-mono);font-size:12px;letter-spacing:.14em;text-transform:uppercase;
  border:2px solid var(--orange);
}
.skip-link:focus{left:12px;top:12px}

/* === PRIVACY / LONG-FORM PAGE === */
.longform{padding:clamp(56px,8vw,128px) 0}
.longform h2{font-family:var(--ff-display);font-weight:900;font-size:var(--fs-ttl-sm);letter-spacing:.02em;text-transform:uppercase;line-height:1.05;margin-top:clamp(40px,5vw,64px);margin-bottom:clamp(14px,2vw,22px);color:var(--ink)}
.longform h2:first-child{margin-top:0}
.longform h3{font-family:var(--ff-display);font-weight:800;font-size:var(--fs-lead);letter-spacing:.04em;text-transform:uppercase;line-height:1.1;margin-top:clamp(28px,3vw,36px);margin-bottom:10px;color:var(--ink)}
.longform p{font-size:16px;line-height:1.65;color:var(--ink);margin-bottom:14px;max-width:74ch}
.longform p strong{font-weight:600}
.longform ul,.longform ol{padding-left:1.4em;margin-bottom:16px;max-width:74ch}
.longform li{font-size:16px;line-height:1.6;color:var(--ink);margin-bottom:8px}
.longform a{color:var(--orange-deep);text-decoration:underline}
.longform a:hover{color:var(--orange)}
.longform .toc{
  background:var(--bone-2);border:1px solid var(--ink);padding:24px 28px;margin:24px 0 40px;
}
.longform .toc h4{font-family:var(--ff-display);font-weight:900;font-size:14px;letter-spacing:.18em;text-transform:uppercase;margin-bottom:10px}
.longform .toc ol{padding-left:1.4em;margin-bottom:0}
.longform .toc li{font-size:14px;margin-bottom:4px}
.longform .stamp-meta{
  display:inline-block;border:1.5px solid var(--orange);color:var(--orange);
  padding:6px 12px;font-family:var(--ff-mono);font-size:10px;letter-spacing:.22em;text-transform:uppercase;
  margin-top:16px;
}

/* === REVEAL === */
.reveal{opacity:0;transform:translateY(28px);transition:opacity .9s cubic-bezier(.2,.7,.2,1),transform .9s cubic-bezier(.2,.7,.2,1)}
.reveal.in{opacity:1;transform:none}
.reveal:nth-child(2){transition-delay:.05s}
.reveal:nth-child(3){transition-delay:.10s}
.reveal:nth-child(4){transition-delay:.15s}
@media (prefers-reduced-motion:reduce){
  .reveal{opacity:1;transform:none;transition:none}
}

/* === UTILS === */
.crop-marks{position:relative}
.crop-marks::before,.crop-marks::after{
  content:"";position:absolute;width:18px;height:18px;
  border:1px solid currentColor;opacity:.4;
}
.crop-marks::before{top:0;left:0;border-right:0;border-bottom:0}
.crop-marks::after{bottom:0;right:0;border-left:0;border-top:0}

.rule{height:1px;background:var(--rule);margin:var(--fs-display) 0}
.section.dark .rule{background:var(--rule-bone)}

.tag-pill{
  display:inline-flex;align-items:center;gap:8px;
  font-family:var(--ff-mono);font-weight:500;font-size:10px;letter-spacing:.22em;text-transform:uppercase;
  border:1.5px solid var(--orange);color:var(--orange);padding:6px 12px;
}

::selection{background:var(--orange);color:var(--bone)}

/* ============================================================
   BLACK OPS event landing pages (Legacy + Valkyrie)
   ============================================================ */

/* Three/five pillar rows (Challenge / Tribe / Purpose · feature row) */
.bo-pillars{display:grid;gap:clamp(20px,3vw,40px);margin-top:8px}
.bo-pillars--3{grid-template-columns:repeat(3,minmax(0,1fr))}
.bo-pillars--5{grid-template-columns:repeat(5,minmax(0,1fr))}
.bo-pillar__k{font-family:var(--ff-mono);font-size:11px;letter-spacing:.22em;text-transform:uppercase;color:var(--orange-deep)}
.section.dark .bo-pillar__k{color:var(--orange)}
.bo-pillar__t{font-family:var(--ff-display);font-weight:800;font-size:var(--fs-h4);text-transform:uppercase;letter-spacing:.01em;line-height:1;margin:12px 0 10px;color:var(--ink)}
.section.dark .bo-pillar__t{color:var(--bone)}
.bo-pillar__d{font-size:15px;line-height:1.55;color:var(--ink-soft)}
.section.dark .bo-pillar__d{color:rgba(236,227,208,.72)}
@media(max-width:820px){.bo-pillars--3,.bo-pillars--5{grid-template-columns:1fr 1fr}}
@media(max-width:520px){.bo-pillars--3,.bo-pillars--5{grid-template-columns:1fr}}

/* Experience photo cards */
.bo-exp-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(14px,1.6vw,22px);margin-top:8px}
.bo-exp-card{border:1px solid var(--rule-bone);background:rgba(236,227,208,.03);display:flex;flex-direction:column;min-width:0}
.bo-exp-card__img{position:relative;aspect-ratio:4/3;overflow:hidden}
.bo-exp-card__img img{width:100%;height:100%;object-fit:cover;display:block}
.bo-exp-card__new{position:absolute;top:10px;left:10px;font-family:var(--ff-mono);font-size:9px;letter-spacing:.16em;text-transform:uppercase;color:var(--bone);background:var(--orange-deep);padding:4px 8px}
.bo-exp-card__body{padding:16px 16px 20px}
.bo-exp-card__t{font-family:var(--ff-display);font-weight:800;font-size:18px;text-transform:uppercase;letter-spacing:.01em;line-height:1.05;color:var(--bone)}
.bo-exp-card__d{margin-top:8px;font-size:13px;line-height:1.5;color:rgba(236,227,208,.66)}
@media(max-width:920px){.bo-exp-grid{grid-template-columns:1fr 1fr}}
@media(max-width:520px){.bo-exp-grid{grid-template-columns:1fr}}

/* Additional highlights — tag chips */
.bo-tags{display:flex;flex-wrap:wrap;gap:10px;margin-top:8px}
.bo-tags span{font-family:var(--ff-mono);font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-soft);border:1px solid var(--rule);padding:8px 12px}
.section.dark .bo-tags span{color:rgba(236,227,208,.8);border-color:var(--rule-bone)}

/* Meet your teammates — badge cloud */
.bo-badges{display:flex;flex-wrap:wrap;gap:10px;margin-top:8px}
.bo-badges span{font-family:var(--ff-display);font-weight:700;font-size:clamp(13px,1.35vw,16px);letter-spacing:.03em;text-transform:uppercase;color:var(--bone);border:1px solid var(--rule-bone);padding:9px 14px}
.bo-badges span b{color:var(--orange);font-weight:700}

/* Instructor bio cards */
.bo-roster{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(16px,2vw,28px);margin-top:8px}
.bo-person{border:1px solid var(--rule);padding:22px 24px;background:var(--bone-2)}
.bo-person__n{font-family:var(--ff-display);font-weight:900;font-size:var(--fs-edit);text-transform:uppercase;letter-spacing:.01em;line-height:1;color:var(--ink)}
.bo-person__r{margin-top:4px;font-family:var(--ff-mono);font-size:10px;letter-spacing:.18em;text-transform:uppercase;color:var(--orange-deep)}
.bo-person__d{margin-top:12px;font-size:14px;line-height:1.55;color:var(--ink-soft)}
@media(max-width:720px){.bo-roster{grid-template-columns:1fr}}

/* Schedule — 4 day columns */
.bo-sched{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(12px,1.5vw,20px);margin-top:8px}
.bo-day{border:1px solid var(--rule-bone);padding:20px 18px;min-width:0}
.bo-day__h{font-family:var(--ff-display);font-weight:900;font-size:20px;text-transform:uppercase;letter-spacing:.02em;color:var(--orange);padding-bottom:12px;border-bottom:1px solid var(--rule-bone);margin-bottom:14px}
.bo-day ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:12px}
.bo-day li{font-family:var(--ff-body);font-size:13px;line-height:1.4;color:rgba(236,227,208,.82)}
.bo-day li b{display:block;font-family:var(--ff-mono);font-size:9px;letter-spacing:.16em;text-transform:uppercase;color:rgba(236,227,208,.45);margin-bottom:3px;font-weight:500}
@media(max-width:820px){.bo-sched{grid-template-columns:1fr 1fr}}
@media(max-width:480px){.bo-sched{grid-template-columns:1fr}}

/* Three-CTA row (Enlist / Volunteer / Sponsor) */
.bo-cta3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-top:8px}
.bo-cta3__btn{display:flex;flex-direction:column;gap:2px;text-decoration:none;border:1px solid var(--orange);padding:20px 22px;transition:background .2s ease,color .2s ease}
.bo-cta3__btn .k{font-family:var(--ff-display);font-weight:900;font-size:var(--fs-h4);text-transform:uppercase;letter-spacing:.02em;color:var(--orange)}
.bo-cta3__btn .s{font-family:var(--ff-mono);font-size:10px;letter-spacing:.2em;text-transform:uppercase;color:rgba(236,227,208,.6)}
.bo-cta3__btn:hover{background:var(--orange)}
.bo-cta3__btn:hover .k{color:var(--bone)}
.bo-cta3__btn:hover .s{color:var(--bone)}
.bo-cta3__btn--solid{background:var(--orange);border-color:var(--orange)}
.bo-cta3__btn--solid .k{color:var(--bone)}
.bo-cta3__btn--solid .s{color:rgba(236,227,208,.8)}
.bo-cta3__btn--solid:hover{background:var(--orange-deep);border-color:var(--orange-deep)}
@media(max-width:640px){.bo-cta3{grid-template-columns:1fr}}

/* QR block */
.bo-qr{display:flex;align-items:center;gap:24px;flex-wrap:wrap;margin-top:32px;border-top:1px solid var(--rule-bone);padding-top:28px}
.bo-qr img{width:120px;height:120px;background:#fff;padding:8px;flex:none}
.bo-qr__t{font-family:var(--ff-display);font-weight:800;font-size:var(--fs-h4);text-transform:uppercase;letter-spacing:.02em;color:var(--bone);line-height:1.05}
.bo-qr__s{margin-top:6px;font-family:var(--ff-mono);font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:rgba(236,227,208,.6)}

/* === War Feather program lockup / emblem (added with brand logo) === */
.imghero__inner .imghero__wf{max-width:none;margin:0}
.imghero__wf img{width:min(560px,86%);height:auto;display:block}
.wf-hero-emblem{width:clamp(64px,7vw,92px);height:auto;display:block;margin:0 0 22px}
.wf-hero-lockup{width:min(380px,74%);height:auto;display:block;margin:0 0 28px}

/* five-across pillars (How It Works five-phase program) */
.pillars--5{grid-template-columns:repeat(5,1fr)}
.pillars--5 .pillar{min-height:250px;padding:28px 20px 24px}
@media (max-width:980px){.pillars--5{grid-template-columns:repeat(2,1fr)}}
.hero-welcome{font-family:var(--ff-edit);font-style:italic;font-size:var(--fs-lead);color:rgba(236,227,208,.85);max-width:54ch;line-height:1.45;margin:14px 0 2px}
.hero-welcome a{color:var(--bone);text-decoration:underline;text-underline-offset:3px;text-decoration-color:var(--orange)}
/* contact lane cards: flow content from the top so all three cards match
   (default .pillar p{margin-top:auto} bottom-aligns and gaps the shortest card) */
.pillar--flow p{margin-top:0}
/* Black Ops Legacy hero: lightened per client (photo read too dark) */
.imghero--lift .imghero__img{filter:grayscale(1) contrast(1.18) brightness(1.06);mix-blend-mode:normal}
/* red overlay (client ask): brand-orange multiply tint over the lifted heroes,
   matching the red duotone the home poster gets from multiplying over --orange */
.imghero--lift::after{content:"";position:absolute;inset:0;background:var(--orange);mix-blend-mode:multiply;opacity:.55;z-index:1;pointer-events:none}
.imghero--lift .imghero__overlay{background:linear-gradient(180deg,rgba(14,13,11,0) 0%,rgba(14,13,11,0) 35%,rgba(14,13,11,.45) 75%,rgba(14,13,11,.82) 100%),linear-gradient(90deg,rgba(14,13,11,.4) 0%,rgba(14,13,11,0) 60%)}
/* cadre roster portraits (About-page headshots) */
.bo-person__ph{width:74px;aspect-ratio:3/4;overflow:hidden;border:1px solid var(--ink);margin-bottom:14px}
.bo-person__ph img{width:100%;height:100%;object-fit:cover;display:block;filter:grayscale(1) contrast(1.42) brightness(1.06)}
.pillars--6{grid-template-columns:repeat(3,1fr)}
.pillars--6 .pillar{min-height:220px}
.pillars--6 .pillar:nth-child(-n+3){border-bottom:1px solid var(--ink)}
.pillars--6 .pillar:nth-child(3n){border-right:0}
@media (max-width:980px){.pillars--6{grid-template-columns:repeat(2,1fr)}.pillars--6 .pillar:nth-child(3n){border-right:1px solid var(--ink)}.pillars--6 .pillar:nth-child(2n){border-right:0}}
/* dark-section checklist (Valkyrie registration includes) */
.bo-checklist{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}
.bo-checklist li{font-family:var(--ff-body);font-size:14px;line-height:1.45;color:rgba(236,227,208,.82);padding-left:22px;position:relative}
.bo-checklist li::before{content:"✓";position:absolute;left:0;color:var(--orange);font-weight:700}
@media (max-width:720px){#register .reveal[style*="grid-template-columns"]{grid-template-columns:1fr!important}}
/* publication cards (Stories That Inspire · READ) */
.book-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:clamp(20px,3vw,36px)}
.book-card{display:flex;gap:clamp(18px,2.4vw,28px);border:1px solid var(--rule-bone);padding:clamp(20px,2.6vw,32px);min-width:0}
.book-card__cover{flex:0 0 clamp(120px,12vw,168px)}
.book-card__cover img{width:100%;height:auto;display:block;border:1px solid var(--rule-bone)}
.book-card__body{min-width:0}
.book-card__body .tag{font-family:var(--ff-mono);font-size:9px;letter-spacing:.22em;text-transform:uppercase;color:rgba(236,227,208,.6)}
.book-card__body h4{font-family:var(--ff-display);font-weight:900;font-size:var(--fs-ttl-sm);text-transform:uppercase;line-height:1;color:var(--bone);margin:10px 0 12px}
.book-card__body p{font-size:14px;line-height:1.55;color:rgba(236,227,208,.78);margin-bottom:18px}
.book-card__body p b{color:rgba(236,227,208,.95)}
@media (max-width:880px){.book-grid{grid-template-columns:1fr}}
@media (max-width:480px){.book-card{flex-direction:column}.book-card__cover{flex-basis:auto;max-width:180px}}
/* Valkyrie experience sub-heads */
.h3-block{font-family:var(--ff-display);font-weight:900;font-size:var(--fs-ttl-sm);text-transform:uppercase;line-height:1;color:var(--ink);letter-spacing:.01em}
/* 7X stats strip: six across on desktop */
.kpis--7x{grid-template-columns:repeat(6,1fr)}
.kpis--7x .kpi{border-bottom:0;border-right:1px solid var(--rule-bone)}
.kpis--7x .kpi:nth-child(2n){border-right:1px solid var(--rule-bone)}
.kpis--7x .kpi:last-child{border-right:0}
@media (max-width:980px){.kpis--7x{grid-template-columns:repeat(3,1fr)}.kpis--7x .kpi:nth-child(3n){border-right:0}.kpis--7x .kpi:nth-child(-n+3){border-bottom:1px solid var(--rule-bone)}}
/* mobile collapse for the six-up pillar grids (base .pillars 520px rule is
   overridden by the later pillars--6 declaration, so restate it here) */
@media (max-width:560px){.pillars--6{grid-template-columns:1fr}.pillars--6 .pillar{border-right:0!important;border-bottom:1px solid var(--ink)}.section.dark .pillars--6 .pillar{border-bottom-color:var(--rule-bone)}}
@media (max-width:480px){.kpis--7x{grid-template-columns:repeat(2,1fr)}}
/* three-across variant of bo-exp-grid with its own mobile collapse */
.bo-exp-grid--3{grid-template-columns:repeat(3,minmax(0,1fr))}
@media(max-width:920px){.bo-exp-grid--3{grid-template-columns:1fr 1fr}}
@media(max-width:520px){.bo-exp-grid--3{grid-template-columns:1fr}}
/* leadership row: collapse like board-grid (previously had no breakpoints) */
@media (max-width:980px){.lead-grid{grid-template-columns:repeat(2,1fr)}}
@media (max-width:520px){.lead-grid{grid-template-columns:1fr}}
/* projects page: two large feature cards */
.proj-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(20px,3vw,44px)}
.proj-card{border:1px solid var(--ink);background:var(--bone-2);display:flex;flex-direction:column}
.proj-card__img{aspect-ratio:16/10;overflow:hidden;border-bottom:1px solid var(--ink)}
.proj-card__img img{width:100%;height:100%;object-fit:cover;display:block}
.proj-card__body{padding:clamp(24px,3vw,44px);display:flex;flex-direction:column;gap:14px;flex:1}
.proj-card__body .tag{font-family:var(--ff-mono);font-size:10px;letter-spacing:.22em;text-transform:uppercase;color:var(--orange-deep)}
.proj-card__body h3{font-family:var(--ff-display);font-weight:900;font-size:var(--fs-ttl-sm);text-transform:uppercase;line-height:1;color:var(--ink)}
.proj-card__body p{font-size:15px;line-height:1.6;color:var(--ink-soft)}
.proj-card__body p b{color:var(--ink)}
.proj-card__body .btn{margin-top:auto;align-self:flex-start}
@media (max-width:880px){.proj-grid{grid-template-columns:1fr}}
/* mobile CTA bar: two actions while applications are closed */
@media (max-width:760px){.mobile-cta-bar{grid-template-columns:1fr .55fr}}
/* share row — event pages + War Feather */
.share-row{margin-top:clamp(28px,3vw,40px);padding-top:22px;border-top:1px solid var(--rule)}
.section.dark .share-row,.final .share-row{border-top-color:var(--rule-bone)}
.share-row__lbl{display:block;font-family:var(--ff-mono);font-size:10px;letter-spacing:.22em;text-transform:uppercase;color:var(--ink-soft)}
.section.dark .share-row__lbl,.final .share-row__lbl{color:rgba(236,227,208,.6)}
.share-row__btns{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}
.share-btn{font-family:var(--ff-mono);font-size:10px;letter-spacing:.16em;text-transform:uppercase;
  padding:9px 14px;border:1px solid var(--rule);background:transparent;color:var(--ink);
  cursor:pointer;text-decoration:none;line-height:1;transition:background .16s,color .16s,border-color .16s}
.share-btn:hover{background:var(--ink);color:var(--bone);border-color:var(--ink)}
.section.dark .share-btn,.final .share-btn{border-color:var(--rule-bone);color:var(--bone)}
.section.dark .share-btn:hover,.final .share-btn:hover{background:var(--orange);border-color:var(--orange);color:var(--bone)}
.share-btn--native{border-color:var(--orange);color:var(--orange-deep)}
.section.dark .share-btn--native,.final .share-btn--native{border-color:var(--orange);color:var(--orange)}
.share-strip{background:var(--ink);padding:clamp(28px,4vw,44px) 0 clamp(20px,3vw,32px);border-top:1px solid var(--rule-bone)}
.share-strip .share-row{margin-top:0;padding-top:0;border-top:0}
.share-strip .share-row__lbl{color:rgba(236,227,208,.6)}
.share-strip .share-btn{border-color:var(--rule-bone);color:var(--bone)}
.share-strip .share-btn:hover{background:var(--orange);border-color:var(--orange);color:var(--bone)}
.share-strip .share-btn--native{border-color:var(--orange);color:var(--orange)}

/* ===== Film frame (watch page) ============================================ */
.film-frame{position:relative;width:100%;max-width:1100px;margin-top:clamp(32px,4.5vw,56px);
  aspect-ratio:16/9;background:#000;border:1px solid var(--rule-bone);overflow:hidden}
.film-frame iframe{position:absolute;inset:0;width:100%;height:100%;border:0;display:block}
.film-frame--pending{display:flex;align-items:center;justify-content:center;
  background:linear-gradient(160deg,#15120F 0%,#0E0D0B 62%)}
.film-frame__msg{max-width:46ch;padding:clamp(24px,4vw,44px);text-align:center}
.film-frame__msg .tag{display:inline-block;margin-bottom:14px;color:var(--orange)}
.film-frame__msg h3{font-family:var(--ff-display);font-weight:900;text-transform:uppercase;
  font-size:var(--fs-ttl-sm);line-height:.94;color:var(--bone);letter-spacing:-.01em}
.film-frame__msg p{margin-top:14px;color:rgba(236,227,208,.72);line-height:1.55;font-size:15px}
@media (max-width:600px){.film-frame__msg p{font-size:14px}}

/* ===== Notice strip (schedule changes) ==================================== */
.notice-strip{background:var(--orange);color:var(--bone);padding:15px 0}
.notice-strip .wrap{display:flex;gap:8px 16px;align-items:baseline;flex-wrap:wrap}
.notice-strip__lbl{flex:none;font-family:var(--ff-mono);font-weight:700;font-size:11px;
  letter-spacing:.22em;text-transform:uppercase;color:rgba(236,227,208,.82)}
.notice-strip__txt{margin:0;font-size:15px;line-height:1.5;max-width:80ch}
.notice-strip__txt b{font-family:var(--ff-display);font-weight:900;font-size:1.18em;
  text-transform:uppercase;letter-spacing:.02em}
@media (max-width:640px){.notice-strip__txt{font-size:14px}}


/* ============================================================
   BEVP HOMEPAGE / AUTHORITATIVE HERO LAYOUT
   2026-10-27. Single cascade for desktop, tablet and phone.
   Shared hero-to-story background prevents visible color seams.
   Existing site navigation, forms and unrelated sections unchanged.
   ============================================================ */
.home-experience{
  position:relative;isolation:isolate;overflow:hidden;
  color:#fff;background:linear-gradient(180deg,
    #080808 0%, #080808 21%, #190909 32%, #43100e 45%,
    #801b17 59%, #b72c25 74%, #b72c25 100%);
}
/* Continuous grain; applied once so the photo and story share a surface. */
.home-experience::before{
  content:"";position:absolute;inset:0;z-index:0;pointer-events:none;
  background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.6' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
  background-size:180px 180px;opacity:.045;
}
.home-hero{
  position:relative;z-index:1;isolation:isolate;overflow:hidden;
  display:flex;align-items:center;justify-content:flex-start;
  min-height:calc(100svh - 94px);background:transparent;color:#fff;text-align:left;
}
.home-hero__picture{
  position:absolute;top:0;bottom:0;right:-4.5%;width:89%;height:100%;
  z-index:-2;display:block;overflow:hidden;
  -webkit-mask-image:linear-gradient(to bottom,#000 0%,#000 61%,rgba(0,0,0,.90) 72%,rgba(0,0,0,.45) 87%,transparent 100%);
  mask-image:linear-gradient(to bottom,#000 0%,#000 61%,rgba(0,0,0,.90) 72%,rgba(0,0,0,.45) 87%,transparent 100%);
}
.home-hero__photo{display:block;width:100%;height:100%;object-fit:contain;object-position:center center;max-width:none}
.home-hero::before{
  content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;
  background:linear-gradient(90deg,#080808 0%,rgba(8,8,8,.97) 17%,rgba(8,8,8,.75) 32%,rgba(8,8,8,.04) 54%,transparent 72%);
  -webkit-mask-image:linear-gradient(to bottom,#000 0%,#000 46%,rgba(0,0,0,.72) 68%,transparent 100%);
  mask-image:linear-gradient(to bottom,#000 0%,#000 46%,rgba(0,0,0,.72) 68%,transparent 100%);
}
.home-hero__content{
  position:relative;z-index:2;align-self:center;width:min(46%,660px);
  margin:0 auto 0 5%;padding:30px 0 35px;
}
.home-hero__eyebrow{
  font-family:'Barlow',var(--ff-body),sans-serif;font-size:clamp(11px,1.12vw,14px);
  font-weight:600;letter-spacing:1.2px;line-height:1.4;margin:0 0 18px;
}
.home-hero h1{
  font-family:'Anton',var(--ff-display),Impact,sans-serif;font-weight:400;
  font-size:clamp(70px,7vw,118px);line-height:.99;letter-spacing:-.012em;
  max-width:480px;margin:0;
}
.home-hero__tagline{
  font-family:'Barlow',var(--ff-body),sans-serif;font-size:clamp(22px,2.2vw,30px);
  line-height:1.15;margin:15px 0 0;
}
.home-hero__description{
  font-family:'Barlow',var(--ff-body),sans-serif;font-size:clamp(15px,1.25vw,18px);
  line-height:1.4;max-width:460px;margin:18px 0 21px;
}
.home-hero__actions{display:flex;justify-content:flex-start;align-items:center;gap:14px;flex-wrap:wrap}
.home-hero__button{
  display:flex;align-items:center;justify-content:space-between;gap:14px;
  min-width:0;width:auto;min-height:48px;padding:0 17px;
  border:2px solid #fff;border-radius:100px;background:transparent;
  color:#fff;text-decoration:none;white-space:nowrap;
  font-family:'Russo One',var(--ff-display),sans-serif;font-size:12px;font-weight:400;
  letter-spacing:.015em;transition:background .2s,border-color .2s;
}
.home-hero__button--primary{background:#b72c25;border-color:#b72c25}
.home-hero__button:hover,.home-hero__button:focus-visible{background:#8c201c;border-color:#fff;color:#fff}
.home-hero__icon{display:block;width:18px;height:18px;flex:0 0 18px;fill:currentColor}
.home-hero__helper{display:none}

/* Quote + mission share the exact background pixels with the photo. */
.home-feather-story{position:relative;isolation:isolate;z-index:1;overflow:hidden;background:transparent}
.home-feather-story__feather{
  --feather-fill:#fff;--eye-fill:#fff;
  position:absolute;z-index:-1;top:2.5%;left:50%;width:clamp(420px,66vw,940px);
  height:auto;transform:translateX(-50%);opacity:.11;pointer-events:none;will-change:transform;
}
.band--home{
  border:0;padding:0;margin:0;min-height:62svh;display:flex;align-items:center;
  background:transparent;overflow:visible;
}
.band--home__inner{
  position:relative;min-height:62svh;width:100%;display:flex;
  align-items:center;justify-content:center;text-align:center;padding:80px var(--pad-x);
}
.band--home .band-quote{
  position:relative;z-index:2;max-width:min(1100px,100%);margin-inline:auto;
  color:#fff;text-align:center;font-family:'Anton',var(--ff-display),Impact,sans-serif;
  font-size:clamp(49px,6.9vw,110px);font-weight:400;line-height:1.08;letter-spacing:-.015em;
}
.home-mission{position:relative;z-index:1;background:transparent;color:#fff;padding:clamp(58px,7vw,105px) 0 clamp(70px,8vw,115px)}
.home-mission__inner{width:min(calc(100% - 2 * var(--pad-x)),900px);max-width:none;margin-inline:auto;padding-inline:0}
.home-mission__number{font-family:'Russo One',var(--ff-mono),sans-serif;font-size:13px;letter-spacing:1px;margin:0 0 20px}
.home-mission h2{font-family:'Anton',var(--ff-display),Impact,sans-serif;font-weight:400;font-size:clamp(52px,7vw,100px);line-height:1.03;margin:0 0 25px}
.home-mission h3{font-family:'Barlow',var(--ff-body),sans-serif;font-size:clamp(16px,1.6vw,20px);font-weight:700;line-height:1.3;margin:32px 0 14px}
.home-mission p:not(.home-mission__number){font-family:'Barlow',var(--ff-body),sans-serif;font-size:clamp(18px,2vw,25px);line-height:1.52;max-width:820px;margin:0 0 20px}
.home-mission strong{font-weight:700}
.home-mission p.home-mission__close{font-family:'Russo One',var(--ff-display),sans-serif;font-size:clamp(15px,1.45vw,19px);line-height:1.55;max-width:850px;margin-top:43px}
#help .kpi-fig--word{font-size:clamp(29px,3.2vw,51px);word-break:normal;overflow-wrap:normal}
#science .section-head .ttl,#help .section-head .ttl,#outcomes .section-head .ttl{font-size:clamp(34px,6.15vw,90px);letter-spacing:-.02em;white-space:nowrap}
#science .pillars--3 .pillar p{margin-top:0}
#science .pillars--3 .pillar .tag{min-height:2.6em}

@media(min-width:901px) and (max-width:1100px){
  .home-hero__content{width:43%;margin-left:4%}
  .home-hero h1{font-size:clamp(61px,7.2vw,86px)}
  .home-hero__picture{width:91%;right:-7.5%}
  .home-hero__actions{gap:10px}
  .home-hero__button{font-size:10px;min-height:44px;padding:0 12px;gap:9px}
}

/*
   Tall desktop windows: limit section depth by the image composition,
   rather than the browser's height. The 16:9 desktop remains untouched.
   The image is approximately 16:9 and occupies 89% of the hero width.
*/
@media (min-width:1200px) and (max-aspect-ratio:8/5){
  .home-hero{min-height:0;height:53vw}
  .home-hero__photo{object-position:center top}
  .band--home,.band--home__inner{min-height:max(440px,35vw)}
}

/* Tablet: photograph followed immediately by copy, inside the hero.
   Flow layout replaces conflicting absolute bottom offsets and huge gaps. */
@media(max-width:900px), (min-width:901px) and (max-width:1199px) and (orientation:portrait){
  .home-hero{
    display:flex;flex-direction:column;align-items:center;justify-content:flex-start;
    min-height:0;height:auto;max-height:none;overflow:hidden;text-align:center;
    padding:0 0 18px;
  }
  .home-hero__picture{
    position:relative;inset:auto;width:100%;height:auto;flex:0 0 auto;
    aspect-ratio:1.63;z-index:-2;overflow:hidden;
    -webkit-mask-image:linear-gradient(to bottom,#000 0%,#000 76%,rgba(0,0,0,.72) 88%,transparent 100%);
    mask-image:linear-gradient(to bottom,#000 0%,#000 76%,rgba(0,0,0,.72) 88%,transparent 100%);
  }
  .home-hero__photo{
    position:relative;top:auto;left:auto;right:auto;
    display:block;width:100%;height:100%;transform:none;
    object-fit:cover;object-position:center top;
  }
  .home-hero::before{display:none}
  .home-hero__content{
    position:relative;inset:auto;transform:none;display:block;
    width:min(96%,660px);max-width:none;margin:-34px auto 0;
    padding:0 14px 10px;align-self:auto;z-index:2;
  }
  .home-hero__eyebrow{font-size:clamp(10px,1.35vw,12px);margin:0 0 6px;line-height:1.25}
  .home-hero h1{font-size:clamp(48px,8.2vw,67px);line-height:.98;max-width:none;margin:0 auto}
  .home-hero__tagline{font-size:clamp(18px,2.4vw,22px);margin:7px 0 0}
  .home-hero__description{font-size:clamp(13px,1.8vw,15px);line-height:1.3;max-width:420px;margin:10px auto 14px}
  .home-hero__actions{flex-direction:row;justify-content:center;align-items:center;gap:10px}
  .home-hero__button{min-height:40px;padding:0 13px;font-size:10px;gap:12px}
  .home-hero__icon{width:15px;height:15px;flex-basis:15px}
  .band--home,.band--home__inner{min-height:0}
  .band--home__inner{padding:75px 27px 70px}
  .band--home .band-quote{font-size:clamp(39px,8.5vw,72px);line-height:1.09}
  .home-feather-story__feather{width:90%;top:45px;opacity:.12}
  .home-mission{padding:40px 0 55px}
  .home-mission__inner{width:calc(100% - 54px)}
  .home-mission h2{font-size:clamp(40px,10vw,60px)}
  .home-mission h3{font-size:15px;margin:24px 0 12px}
  .home-mission p:not(.home-mission__number){font-size:17px;line-height:1.45;margin-bottom:17px}
  .home-mission p.home-mission__close{font-size:14px;margin-top:26px}
  #science .section-head .ttl,#help .section-head .ttl,#outcomes .section-head .ttl{font-size:clamp(31px,8.1vw,59px)}
}
@media(min-width:481px) and (max-width:680px){
  .home-hero__picture{aspect-ratio:1.43}
  .home-hero h1{font-size:clamp(43px,8.4vw,57px)}
  .home-hero__actions{flex-direction:column;gap:8px}
  .home-hero__button{width:min(100%,255px);min-height:38px}
}
/* Compact landscape tablets keep both actions above the persistent donation bar. */
@media(min-width:640px) and (max-width:760px) and (max-height:860px){
  .home-hero__picture{aspect-ratio:1.55}
}
/* Phone portrait uses its purpose-built image, with the same content and buttons.
   Photo height adapts to remaining viewport rather than an arbitrary 1050px. */
@media(max-width:480px){
  .home-hero{padding:0 0 10px}
  .home-hero__picture{
    aspect-ratio:auto;
    height:clamp(230px,calc(100svh - 385px),490px);
    -webkit-mask-image:linear-gradient(to bottom,#000 0%,#000 81%,rgba(0,0,0,.7) 91%,transparent 100%);
    mask-image:linear-gradient(to bottom,#000 0%,#000 81%,rgba(0,0,0,.7) 91%,transparent 100%);
  }
  .home-hero__photo{height:100%;width:100%;object-fit:cover;object-position:center top}
  .home-hero__content{width:100%;margin:-20px auto 0;padding:0 15px 4px}
  .home-hero__eyebrow{font-size:9px;letter-spacing:.65px;margin-bottom:5px}
  .home-hero h1{font-size:clamp(41px,11.8vw,52px);max-width:355px;line-height:.99}
  .home-hero__tagline{font-size:16px;margin-top:5px}
  .home-hero__description{font-size:12px;line-height:1.28;max-width:315px;margin:8px auto 12px}
  .home-hero__actions{flex-direction:column;gap:7px}
  .home-hero__button{width:min(100%,255px);min-height:36px;padding:0 11px;font-size:10px}
  .home-hero__icon{width:14px;height:14px;flex-basis:14px}
  .band--home__inner{padding:70px 23px 74px}
  .band--home .band-quote{font-size:clamp(39px,10.6vw,55px)}
}
@media(max-width:375px) and (max-height:760px){
  .home-hero__content{margin-top:5px}
  .home-hero__picture{height:clamp(225px,calc(100svh - 375px),370px)}
  .home-hero h1{font-size:clamp(37px,11vw,42px)}
  .home-hero__tagline{font-size:15px}
  .home-hero__description{font-size:11px;margin:5px auto 8px}
  .home-hero__actions{gap:5px}
  .home-hero__button{min-height:33px}
}
@media(prefers-reduced-motion:reduce){
  .home-hero__button{transition:none}
  .home-feather-story__feather{transform:translateX(-50%)!important;will-change:auto}
}

/* === BEVP V7: MOBILE-REFERENCE FOOTER, SHARED ACROSS PUBLIC PAGES === */
/* Desktop retains the original newsletter, columns, social icons, and copyright. */
.foot-responsive{display:none}
@media (max-width:1024px){
  .foot{
    background:#111313;
    color:#fef7e7;
    border:0;
    padding:0 clamp(22px,5vw,44px) calc(42px + env(safe-area-inset-bottom,0px));
    text-align:center;
  }
  .foot .foot-inner,.foot .foot-base{display:none!important}
  /* Keep the working CRM form above the redesigned public footer. */
  .foot-news{
    width:100%;max-width:680px;margin:0 auto;
    padding:38px 0 36px;
    border:0;border-bottom:1px solid rgba(254,247,231,.16);
    display:grid;grid-template-columns:minmax(0,1fr);
    gap:18px;justify-items:center;align-items:center;text-align:center;
  }
  .foot-news__head h6{font-size:clamp(23px,3.2vw,28px);margin-bottom:8px}
  .foot-news__head p{max-width:430px;margin:0 auto;font-size:15px;text-align:center}
  .foot-news__form{display:flex;justify-content:center;flex-wrap:wrap;width:100%;max-width:490px;gap:10px}
  .foot-news__form input[type="email"]{min-width:0;flex:1 1 215px;width:100%}
  .foot-news__form button{flex:0 0 auto;min-height:50px}
  .foot-responsive{display:block;width:100%;max-width:650px;margin:0 auto;padding-top:43px}
  .foot-responsive__brand{display:inline-flex;align-items:center;justify-content:center;width:190px;max-width:65%;margin:0 auto}
  .foot-responsive__logo{display:block;width:100%;height:auto}
  .foot-responsive__line{font:400 16px/1.45 var(--ff-body,Arial,sans-serif);max-width:340px;margin:19px auto 20px;color:#fef7e7;text-wrap:balance}
  .foot-responsive__social{display:flex;align-items:center;justify-content:center;gap:14px;margin:0 0 27px}
  .foot .foot-responsive__social a{display:flex;align-items:center;justify-content:center;width:44px;height:44px;padding:10px;border:0;color:#fef7e7;opacity:.9;transition:color .2s,opacity .2s}
  .foot .foot-responsive__social a:hover{color:#e6a59d;opacity:1}
  .foot-responsive__social svg{display:block;width:21px;height:21px;fill:currentColor}
  .foot-responsive__links{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(14px,4vw,44px);max-width:510px;margin:0 auto 30px;text-align:center}
  .foot-responsive__links h3{font-family:var(--ff-display,Arial,sans-serif);font-size:15px;line-height:1.2;letter-spacing:.085em;font-weight:800;color:#e6a59d;margin:0 0 12px;text-transform:uppercase}
  .foot-responsive__links nav{display:flex;flex-direction:column;align-items:center;gap:0}
  .foot .foot-responsive__links a{display:flex;align-items:center;justify-content:center;text-align:center;min-height:44px;padding:7px 0;font-family:var(--ff-body,Arial,sans-serif);font-size:14px;line-height:1.4;letter-spacing:0;text-transform:none;color:#fef7e7;text-decoration:none}
  .foot .foot-responsive__links a:hover{color:#e6a59d;text-decoration:underline;text-underline-offset:4px}
  .foot-responsive__legal{border-top:1px solid rgba(254,247,231,.16);padding:22px 0 0;color:rgba(254,247,231,.72);font-size:11px;line-height:1.65}
  .foot-responsive__legal p{margin:0 auto 11px}
  .foot-responsive__legal-links{display:flex;align-items:center;justify-content:center;gap:27px;margin:6px 0 14px}
  .foot .foot-responsive__legal-links a{display:inline-flex;align-items:center;min-height:44px;color:#fef7e7;font:400 12px var(--ff-body,Arial,sans-serif);letter-spacing:0;text-transform:none}
  /* Footer sits above the persistent, two-action mobile/tablet rail. */
  .mobile-cta-bar{
    display:grid!important;grid-template-columns:1.05fr 1fr!important;
    position:fixed;bottom:0;left:0;right:0;z-index:54;
    height:calc(54px + env(safe-area-inset-bottom,0px));
    background:#101010;border-top:0!important;box-shadow:0 -3px 14px rgba(0,0,0,.19);
    align-items:stretch;
  }
  .mobile-cta-bar .m-cta{
    display:flex;align-items:center;justify-content:center;
    padding:0 8px env(safe-area-inset-bottom,0px);min-width:0;
    color:#fef7e7;text-align:center;
    font-family:var(--ff-display,Arial,sans-serif);font-weight:800;
    font-size:clamp(12px,1.55vw,16px);letter-spacing:.035em;
    line-height:1.1;text-transform:uppercase;text-decoration:none;
  }
  .mobile-cta-bar .m-cta--donate{background:#b72c25!important;color:#fff!important}
  .mobile-cta-bar .m-cta--crisis{background:#101010!important;border-left:0!important;color:#fef7e7!important;font-size:clamp(15px,2.1vw,18px)!important;text-transform:none!important}
  .mobile-cta-bar .m-cta:focus-visible{outline:2px solid #fef7e7;outline-offset:-3px}
  body{padding-bottom:calc(54px + env(safe-area-inset-bottom,0px))}
}
@media (max-width:520px){
  .foot{padding-inline:23px}
  .foot-responsive{padding-top:38px}
  .foot-responsive__brand{width:175px}
  .foot-responsive__links{gap:15px}
  .foot-responsive__links h3{font-size:14px}
  .foot .foot-responsive__links a{font-size:13px;min-height:42px}
  .foot-news__form{flex-direction:column;align-items:stretch}
  .foot-news__form input[type="email"]{flex:0 0 auto;min-height:50px}
  .foot-news__form button{min-height:48px}
  .mobile-cta-bar .m-cta{font-size:13px}
  .mobile-cta-bar .m-cta--crisis{font-size:clamp(14px,3.9vw,17px)!important;letter-spacing:0}
}

/* === BEVP V11: desktop hero photograph, continuous image-to-story dissolve ===
   Desktop contain/center-top leaves the actual bitmap shorter than its box.
   End the opacity dissolve before the bitmap ends, so its rectangular image
   edge disappears within the shared hero/story background. All prior layout,
   typography, breakpoint, click and parallax behavior remains unchanged. */
@media (min-width:1200px){
  .home-hero__picture{
    -webkit-mask-image:linear-gradient(to bottom,
      #000 0%, #000 57%,
      rgba(0,0,0,.95) 64%,
      rgba(0,0,0,.72) 72%,
      rgba(0,0,0,.34) 80%,
      rgba(0,0,0,.10) 85%,
      transparent 89%);
    mask-image:linear-gradient(to bottom,
      #000 0%, #000 57%,
      rgba(0,0,0,.95) 64%,
      rgba(0,0,0,.72) 72%,
      rgba(0,0,0,.34) 80%,
      rgba(0,0,0,.10) 85%,
      transparent 89%);
  }
}


/* BEVP V12 | Actual iOS Safari: keep both hero actions clear of fixed Donate/988 rail.
   visualViewport measurement in index.html supplies the optional photo-height override.
   The desktop image, desktop gradient, and every other page remain unchanged. */
@media (max-width:900px) {
  .home-hero__picture {
    height: var(--bevp-adaptive-photo-height, auto);
  }
}
@media (max-width:480px) {
  /* Slight first-paint reserve while Safari calculates its visible viewport. */
  .home-hero__picture {
    height: var(--bevp-adaptive-photo-height,
      clamp(230px, calc(100svh - 401px), 470px));
  }
  /* Trim upper negative space rather than pushing the two women's faces down. */
  .home-hero--viewport-fitted .home-hero__photo {
    object-position: center 7%;
  }
  .home-hero--compact .home-hero__content {
    margin-top: -24px;
    padding-bottom: 0;
  }
  .home-hero--compact .home-hero__eyebrow { margin-bottom: 3px; }
  .home-hero--compact h1 { font-size: clamp(37px, 10.8vw, 47px);line-height:.95; }
  .home-hero--compact .home-hero__tagline { margin-top:3px; }
  .home-hero--compact .home-hero__description { margin:5px auto 7px;line-height:1.2; }
  .home-hero--compact .home-hero__actions { gap:5px; }
  .home-hero--compact .home-hero__button { min-height:35px; }
}
