/* ============================================================
   BIRD'S EYE VIEW · WAR FEATHER PROGRAM
   Field manual / editorial design system
   ============================================================ */

:root{
  --bone:#ECE3D0;
  --bone-2:#F4ECD9;
  --ink:#0E0D0B;
  --ink-soft:#262220;
  --orange:#FF2A00;
  --orange-deep:#C81C00;
  --red-tint:rgba(255,42,0,.09);
  --rule:rgba(14,13,11,.18);
  --rule-soft:rgba(14,13,11,.10);
  --rule-bone:rgba(236,227,208,.22);

  --ff-display:"Big Shoulders Display","Bebas Neue","Helvetica Neue",sans-serif;
  --ff-edit:"Spectral","Georgia",serif;
  --ff-body:"Public Sans","Helvetica Neue",sans-serif;
  --ff-mono:"JetBrains Mono",ui-monospace,monospace;

  --max:1280px;
  --pad-x:clamp(20px,4vw,56px);
}

*{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}
/* Header uses wordmark-only (BEVP + tagline, no icon). Aspect ~2.45:1.
   Sizing keyed off height for consistent scaling across breakpoints. */
.brand-logo{height:34px;width:auto;display:block;flex:none}
@media (max-width:520px){.brand-logo{height:28px}}
/* 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:clamp(72px,11.4vw,176px)}
.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:clamp(20px,2.2vw,32px);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:clamp(15px,1.1vw,17px);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(255,42,0,.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 clamp(48px,7vw,96px)}
.hero--simple .hero-head{font-size:clamp(56px,9.4vw,148px)}
.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(255,42,0,.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:clamp(18px,1.8vw,22px);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:clamp(20px,2.6vw,34px);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.3vw,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:clamp(48px,7vw,96px);
  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:clamp(28px,3.6vw,52px)}
}

/* 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:clamp(18px,2vw,24px) clamp(20px,2.4vw,30px)}
.two-door--hero .door__verb{font-size:clamp(28px,3.4vw,44px)}
.two-door--hero .door__arrow{font-size:clamp(22px,2.6vw,32px)}

/* 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:clamp(32px,3.6vw,52px);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:clamp(22px,2.6vw,34px) clamp(28px,3.6vw,52px);font-size:clamp(18px,1.8vw,24px);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:clamp(36px,4.6vw,64px);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:clamp(48px,7vw,96px) 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:clamp(34px,5.6vw,82px);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:clamp(44px,6vw,88px);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:clamp(36px,4.4vw,64px)}

/* === 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:clamp(28px,3vw,40px);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:clamp(22px,2.4vw,32px);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:clamp(36px,4.6vw,72px);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:clamp(48px,5vw,84px);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:clamp(28px,2.8vw,36px);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:clamp(56px,5vw,80px);line-height:.85;color:var(--orange);letter-spacing:-.02em}
.phase__title{font-family:var(--ff-display);font-weight:900;font-size:clamp(18px,1.5vw,22px);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:clamp(40px,8vw,56px)}}

/* 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:clamp(20px,1.8vw,24px)}
.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(255,42,0,.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(255,42,0,.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:clamp(22px,2.6vw,34px);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(255,42,0,.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) clamp(48px,7vw,96px);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:clamp(56px,9.4vw,148px);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:clamp(16px,1.3vw,19px);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(380px,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:clamp(24px,2.4vw,32px);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:clamp(18px,1.6vw,22px);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:clamp(40px,6vw,80px);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(255,42,0,.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:clamp(56px,11vw,180px);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:clamp(18px,1.6vw,24px);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(255,42,0,.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(255,42,0,.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(255,42,0,.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:clamp(48px,7vw,96px) var(--pad-x);
  border-bottom:4px solid var(--orange);
}
.crisis-hero .wrap{display:grid;gap:clamp(32px,4vw,48px)}
.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(255,42,0,.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:clamp(38px,5.6vw,72px);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:clamp(18px,1.8vw,22px);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) clamp(18px,2vw,24px);
  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:clamp(28px,3.6vw,40px);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:clamp(40px,5vw,56px)}
.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:clamp(28px,3.2vw,36px);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:clamp(17px,1.8vw,22px);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:clamp(22px,2.4vw,30px);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:clamp(26px,3vw,38px);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(255,42,0,.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(255,42,0,.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:clamp(72px,8.6vw,128px);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(255,42,0,.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:clamp(40px,3.6vw,52px);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(255,42,0,.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(255,42,0,.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:clamp(40px,7.5vw,128px);
  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:clamp(28px,3.6vw,52px);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:clamp(22px,2.6vw,32px) 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:clamp(40px,5.2vw,72px);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:clamp(32px,4vw,48px);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:clamp(28px,3.6vw,40px);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:clamp(16px,1.8vw,20px);line-height:1.4;
  color:var(--ink-soft);margin:14px 0 0;
}
.heartbeat__answer{
  font-family:var(--ff-display);font-weight:800;
  font-size:clamp(22px,2.6vw,30px);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:clamp(28px,3vw,40px);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:clamp(18px,1.6vw,22px);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:clamp(40px,6vw,80px) 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:clamp(22px,2.4vw,30px);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.4vw,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:clamp(19px,2vw,24px);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:clamp(20px,2.4vw,28px);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:clamp(18px,2vw,24px);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}
