/* =====================================================================
   ENXO Foundation Light — design tokens
   ===================================================================== */
:root{
  /* foundation light palette */
  --color-bg:#fbf6ec;
  --color-surface:#ffffff;
  --color-surface-warm:#f5ecd9;
  --color-text:#1c1812;
  --color-muted:#6b5d4a;
  --color-accent:#d96343;
  --color-accent-soft:#f0a98e;
  --color-sage:#7ba185;
  --color-sky:#7aa6c2;
  --color-sun:#e3b341;
  --radius-sm:8px;
  --radius-md:14px;
  --radius-lg:20px;

  /* legacy aliases — keep existing components rendering correctly */
  --color-accent-2:var(--color-sun);
  --color-meta:var(--color-muted);
  --color-line:rgba(28,24,18,.12);
  --color-surface-2:var(--color-surface-warm);
  --color-ink:var(--color-text);

  /* type */
  --font-display:'Fraunces',Georgia,serif;
  --font-body:'Inter Tight',system-ui,sans-serif;
  --text-xs:.75rem;
  --text-sm:.875rem;
  --text-base:1rem;
  --text-lg:clamp(1.125rem,.95rem + .6vw,1.375rem);
  --text-xl:clamp(1.5rem,1.1rem + 1.4vw,2rem);
  --text-2xl:clamp(2rem,1.4rem + 2.4vw,3.5rem);
  --text-3xl:clamp(2.75rem,1.5rem + 5vw,5.5rem);
  --text-hero:clamp(3rem,1rem + 11vw,11rem);

  /* space */
  --space-1:.25rem;
  --space-2:.5rem;
  --space-3:.75rem;
  --space-4:1rem;
  --space-6:1.5rem;
  --space-8:2rem;
  --space-12:3rem;
  --space-16:4rem;
  --space-20:5rem;
  --space-section:clamp(5rem,4rem + 6vw,10rem);
  --gutter:clamp(1.5rem,5vw,6rem);

  /* misc */
  --radius:2px;
  --duration-fast:160ms;
  --duration-base:320ms;
  --ease-expo:cubic-bezier(.16,1,.3,1);
}

/* =====================================================================
   reset + base
   ===================================================================== */
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%;overflow-x:hidden}
body{
  margin:0;
  background:var(--color-bg);
  color:var(--color-text);
  font-family:var(--font-body);
  font-size:var(--text-base);
  line-height:1.6;
  font-feature-settings:"ss01","cv11";
  text-rendering:optimizeLegibility;
  overflow-x:hidden;
  min-height:100vh;
}
section{scroll-margin-top:64px}
img,svg{display:block;max-width:100%}
h1,h2,h3,h4{font-family:var(--font-display);font-weight:600;letter-spacing:-.02em;line-height:1.05;margin:0}
p{margin:0}
ul{margin:0;padding:0;list-style:none}
a{color:inherit;text-decoration:none}
a:focus-visible,button:focus-visible{outline:2px solid var(--color-accent);outline-offset:3px;border-radius:var(--radius)}
em{font-style:italic;color:var(--color-accent)}
strong{font-weight:600}
::selection{background:var(--color-accent);color:var(--color-bg)}

.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}

/* =====================================================================
   topbar
   ===================================================================== */
.topbar{
  position:fixed;
  top:0;left:0;right:0;
  z-index:50;
  backdrop-filter:blur(18px);
  -webkit-backdrop-filter:blur(18px);
  background:rgba(250,246,239,.78);
  border-bottom:1px solid var(--color-line);
}
.topbar__inner{
  display:flex;align-items:center;justify-content:space-between;
  padding:var(--space-4) var(--gutter);
  max-width:1600px;margin:0 auto;
}
.brand{display:inline-flex;align-items:center;gap:.65rem;font-weight:700;letter-spacing:.18em;font-size:var(--text-xs)}
.brand__mark{color:var(--color-accent);font-size:.75rem;animation:pulse 2.4s ease-in-out infinite}
.nav{display:flex;align-items:center;gap:clamp(1rem,2.5vw,2.5rem);font-size:var(--text-sm);font-weight:500}
.nav a{color:var(--color-meta);transition:color var(--duration-fast) var(--ease-expo)}
.nav a:hover{color:var(--color-text)}
.nav__cta{
  color:var(--color-bg)!important;
  background:var(--color-accent);
  padding:.65rem 1rem;
  border-radius:var(--radius);
  font-weight:600;
  min-height:44px;
  display:inline-flex;align-items:center;
}
.nav__cta:hover{background:var(--color-text)}
@media (max-width:640px){
  .nav a:not(.nav__cta){display:none}
}

/* present-mode toggle (kept compact, keyboard reachable) */
.present-toggle{
  display:inline-flex;align-items:center;gap:.45rem;
  background:transparent;
  color:var(--color-meta);
  border:1px solid var(--color-line);
  border-radius:var(--radius);
  padding:.55rem .8rem;
  min-height:44px;
  font:inherit;font-size:var(--text-xs);font-weight:600;
  letter-spacing:.18em;text-transform:uppercase;
  cursor:pointer;
  margin-left:var(--space-3);
  transition:color var(--duration-fast) var(--ease-expo), border-color var(--duration-fast) var(--ease-expo);
}
.present-toggle:hover,.present-toggle[aria-pressed="true"]{color:var(--color-text);border-color:var(--color-accent)}
.present-toggle__icon{color:var(--color-accent);font-size:.7rem}
@media (max-width:640px){
  .present-toggle__label{display:none}
  .present-toggle{padding:.5rem .65rem;margin-left:var(--space-2)}
}

/* =====================================================================
   hero
   ===================================================================== */
.hero{
  position:relative;
  min-height:100vh;
  display:grid;
  grid-template-rows:1fr auto;
  align-content:end;
  padding:calc(var(--space-section) + 4rem) var(--gutter) var(--space-section);
  background:
    radial-gradient(ellipse at 80% 18%, rgba(217,99,67,.16), transparent 55%),
    radial-gradient(ellipse at 0% 100%, rgba(227,179,65,.10), transparent 55%),
    linear-gradient(180deg, #fdf9f0 0%, var(--color-surface-warm) 100%);
  overflow:hidden;
}
.hero::before{
  content:"";
  position:absolute;inset:0;
  background-image:
    linear-gradient(var(--color-line) 1px,transparent 1px),
    linear-gradient(90deg,var(--color-line) 1px,transparent 1px);
  background-size:120px 120px;
  -webkit-mask-image:radial-gradient(ellipse at 60% 60%, black 30%, transparent 75%);
          mask-image:radial-gradient(ellipse at 60% 60%, black 30%, transparent 75%);
  pointer-events:none;
  opacity:.6;
}
.hero > *{position:relative;z-index:1}
.hero__eyebrow{
  display:inline-flex;align-items:center;gap:.6rem;
  font-size:var(--text-xs);
  letter-spacing:.22em;text-transform:uppercase;
  color:var(--color-meta);
  margin:0 0 var(--space-8);
  padding:.4rem .8rem;
  border:1px solid var(--color-line);
  border-radius:999px;
  width:fit-content;
}
.hero h1{
  font-size:var(--text-hero);
  font-weight:800;
  line-height:.92;
  letter-spacing:-.045em;
  font-variation-settings:"opsz" 144;
  margin:0 0 var(--space-8);
  max-width:18ch;
}
.hero__tag{
  font-size:var(--text-lg);
  color:var(--color-text);
  max-width:46ch;
  margin:0 0 var(--space-12);
  line-height:1.45;
}
@media (min-width:1024px){
  .hero{grid-template-columns:1.4fr 1fr;align-items:end;column-gap:var(--gutter)}
  .hero__eyebrow{grid-column:1/2}
  .hero h1{grid-column:1/2}
  .hero__tag{grid-column:2/3;align-self:end;margin-bottom:.6rem}
  .hero__ctas{grid-column:1/2}
}

/* CTA — 44px min touch target */
.cta{
  display:inline-flex;align-items:center;gap:.6rem;
  padding:.95rem 1.6rem;
  background:var(--color-accent);
  color:var(--color-bg);
  font-weight:600;
  font-size:var(--text-base);
  border-radius:var(--radius);
  min-height:44px;
  min-width:44px;
  width:fit-content;
  transition:transform var(--duration-fast) var(--ease-expo), background var(--duration-fast) var(--ease-expo);
}
.cta:hover{background:var(--color-text);transform:translateY(-2px)}
.cta--lg{padding:1.1rem 2rem;font-size:var(--text-lg);min-height:52px}
.cta--ghost{background:transparent;color:var(--color-text);border:1px solid var(--color-line)}
.cta--ghost:hover{background:transparent;color:var(--color-accent);border-color:var(--color-accent)}
.hero__ctas{display:flex;flex-wrap:wrap;gap:var(--space-3) var(--space-4)}

/* =====================================================================
   section primitives
   ===================================================================== */
section{padding:var(--space-section) var(--gutter);position:relative}
.section-label{
  font-size:var(--text-xs);
  letter-spacing:.28em;
  text-transform:uppercase;
  color:var(--color-meta);
  margin:0 0 var(--space-6);
}
.section-h{
  font-size:var(--text-3xl);
  font-weight:600;
  letter-spacing:-.025em;
  font-variation-settings:"opsz" 110;
  max-width:18ch;
  margin:0 0 var(--space-16);
}
.accent{color:var(--color-accent)}

/* =====================================================================
   manifesto
   ===================================================================== */
.manifesto__grid{
  display:grid;
  grid-template-columns:1fr;
  gap:var(--space-12);
  max-width:1500px;margin:0 auto;
}
.manifesto__statement{
  font-family:var(--font-display);
  font-size:clamp(2rem,1.2rem + 4.2vw,5rem);
  font-weight:400;
  line-height:1.05;
  letter-spacing:-.025em;
  font-variation-settings:"opsz" 144;
  max-width:22ch;
}
.manifesto__aside{color:var(--color-meta);font-size:var(--text-base);max-width:38ch;display:flex;flex-direction:column;gap:var(--space-4)}
@media (min-width:900px){
  .manifesto__grid{grid-template-columns:1.6fr 1fr;gap:var(--space-20)}
  .manifesto__aside{padding-top:var(--space-12)}
}

/* =====================================================================
   portfolio bento
   ===================================================================== */
.bento{
  display:grid;
  grid-template-columns:repeat(6,1fr);
  gap:var(--space-4);
  max-width:1500px;margin:0 auto;
}
.bento__card{
  grid-column:span 6;
  position:relative;
  background:var(--color-surface);
  border:1px solid var(--color-line);
  padding:clamp(1.5rem,2.5vw,2.25rem);
  border-radius:var(--radius);
  display:flex;flex-direction:column;justify-content:space-between;
  min-height:240px;
  transition:border-color var(--duration-base) var(--ease-expo), background var(--duration-base) var(--ease-expo), transform var(--duration-base) var(--ease-expo);
  overflow:hidden;
}
.bento__card::after{
  content:"";
  position:absolute;left:0;right:0;bottom:0;height:2px;
  background:var(--color-accent);
  transform:scaleX(0);transform-origin:left;
  transition:transform var(--duration-base) var(--ease-expo);
}
.bento__card:hover{border-color:rgba(26,26,26,.28);background:var(--color-surface-2);transform:translateY(-2px)}
.bento__card:hover::after{transform:scaleX(1)}
.bento__card header{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-3);margin-bottom:var(--space-6)}
.bento__card h3{font-size:var(--text-2xl);font-weight:600;font-variation-settings:"opsz" 120}
.stage{
  font-size:var(--text-xs);letter-spacing:.18em;text-transform:uppercase;
  color:var(--color-meta);
  border:1px solid var(--color-line);
  padding:.3rem .55rem;border-radius:999px;
  white-space:nowrap;flex-shrink:0;
}
.bento__card .thesis{color:var(--color-text);font-size:var(--text-base);max-width:30ch;line-height:1.5}
.bento__card .metric{color:var(--color-meta);font-size:var(--text-sm);margin-top:var(--space-6)}
.bento__card .metric strong{color:var(--color-accent);font-size:var(--text-xl);font-family:var(--font-display);font-variation-settings:"opsz" 96;font-weight:600;display:inline-block;margin-right:.4rem}

@media (min-width:720px){
  .bento__card{grid-column:span 3}
  .bento__card--lg{grid-column:span 4;grid-row:span 2;min-height:520px}
  .bento__card--wide{grid-column:span 4}
}
@media (min-width:1100px){
  .bento__card{grid-column:span 2}
  .bento__card--lg{grid-column:span 3;grid-row:span 2;min-height:560px}
  .bento__card--wide{grid-column:span 3}
}
.bento__card--lg h3{font-size:var(--text-3xl)}
.bento__card--lg .thesis{font-size:var(--text-lg);max-width:24ch}

/* =====================================================================
   traction
   ===================================================================== */
.traction{padding-block:var(--space-16);background:var(--color-bg);border-top:1px solid var(--color-line);border-bottom:1px solid var(--color-line)}
.traction__strip{
  display:grid;
  grid-template-columns:1fr;
  gap:var(--space-8);
  max-width:1500px;margin:0 auto;
}
.traction__cell{display:flex;flex-direction:column;gap:.4rem;min-width:0}
.traction__num{
  font-family:var(--font-display);
  font-weight:600;
  font-size:clamp(2.25rem,1.2rem + 4.6vw,5rem);
  line-height:.95;letter-spacing:-.04em;
  font-variation-settings:"opsz" 144;
  color:var(--color-text);
  font-feature-settings:"tnum";
  word-break:keep-all;
}
.traction__label{font-size:var(--text-xs);letter-spacing:.22em;text-transform:uppercase;color:var(--color-meta);line-height:1.4}
@media (min-width:600px){
  .traction__strip{grid-template-columns:repeat(2,1fr);gap:var(--space-10,2.25rem)}
}
@media (min-width:1024px){
  .traction__strip{grid-template-columns:repeat(4,1fr);gap:var(--space-8)}
}

/* =====================================================================
   thesis
   ===================================================================== */
.thesis__cols{
  display:grid;
  grid-template-columns:1fr;
  gap:var(--space-8);
  max-width:1500px;margin:0 auto;
}
.thesis__cols article{
  position:relative;
  padding:var(--space-8) var(--space-6);
  border-top:1px solid var(--color-line);
}
.thesis__num{
  font-family:var(--font-display);
  font-size:var(--text-sm);
  color:var(--color-accent);
  font-variation-settings:"opsz" 60;
  letter-spacing:.1em;
  display:block;
  margin-bottom:var(--space-6);
}
.thesis__cols h3{font-size:var(--text-2xl);margin-bottom:var(--space-4);font-variation-settings:"opsz" 96}
.thesis__cols p{color:var(--color-meta);font-size:var(--text-base);max-width:38ch;line-height:1.6}
@media (min-width:900px){
  .thesis__cols{grid-template-columns:repeat(3,1fr);gap:var(--space-12)}
}

/* =====================================================================
   team
   ===================================================================== */
.team__grid{
  display:grid;
  grid-template-columns:repeat(2,1fr);
  gap:var(--space-8);
  max-width:1500px;margin:0 auto;
}
.team__card{display:flex;flex-direction:column;gap:var(--space-4)}
.team__portrait{
  aspect-ratio:4/5;
  background:linear-gradient(150deg,var(--color-surface),var(--color-surface-2));
  border:1px solid var(--color-line);
  border-radius:var(--radius);
  display:flex;align-items:center;justify-content:center;
  font-family:var(--font-display);
  font-size:clamp(2rem,3vw,3rem);
  font-weight:600;
  color:var(--color-meta);
  letter-spacing:.04em;
  font-variation-settings:"opsz" 144;
  transition:color var(--duration-base) var(--ease-expo), border-color var(--duration-base) var(--ease-expo);
}
.team__card:hover .team__portrait{color:var(--color-accent);border-color:var(--color-accent)}
.team__name{font-family:var(--font-display);font-size:var(--text-lg);font-weight:600;font-variation-settings:"opsz" 96}
.team__role{font-size:var(--text-sm);color:var(--color-meta)}
@media (min-width:720px){
  .team__grid{grid-template-columns:repeat(4,1fr);gap:var(--space-6)}
}

/* =====================================================================
   invest CTA (full-bleed dark)
   ===================================================================== */
.invest{
  background:linear-gradient(160deg,#fdf6e6 0%,#f5ecd9 60%,#f0a98e 100%);
  border-top:1px solid var(--color-accent);
  position:relative;
  overflow:hidden;
}
.invest::before{
  content:"";
  position:absolute;inset:0;
  background:radial-gradient(ellipse at 80% 50%, rgba(217,99,67,.22), transparent 55%);
  pointer-events:none;
}
.invest__inner{position:relative;max-width:1500px;margin:0 auto}
.invest__label{color:var(--color-accent)}
.invest__h{
  font-size:var(--text-3xl);
  font-weight:600;
  font-variation-settings:"opsz" 144;
  margin:0 0 var(--space-8);
  letter-spacing:-.025em;
  max-width:16ch;
}
.invest__copy{font-size:var(--text-lg);color:var(--color-meta);max-width:42ch;margin:0 0 var(--space-12)}

/* =====================================================================
   footer
   ===================================================================== */
.footer{
  border-top:1px solid var(--color-line);
  padding:var(--space-12) var(--gutter);
}
.footer__inner{
  max-width:1500px;margin:0 auto;
  display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--space-6);
  font-size:var(--text-sm);
  color:var(--color-meta);
}
.footer__brand{font-weight:700;letter-spacing:.2em;color:var(--color-text);font-size:var(--text-xs)}
.footer__live{display:inline-flex;align-items:center;gap:.55rem}

/* =====================================================================
   pulse + reveal animations
   ===================================================================== */
.pulse{
  display:inline-block;
  width:.55rem;height:.55rem;
  border-radius:50%;
  background:var(--color-accent);
  box-shadow:0 0 0 0 var(--color-accent);
  animation:pulse 2.4s cubic-bezier(.66,0,.34,1) infinite;
}
@keyframes pulse{
  0%{box-shadow:0 0 0 0 rgba(217,99,67,.55)}
  70%{box-shadow:0 0 0 12px rgba(217,99,67,0)}
  100%{box-shadow:0 0 0 0 rgba(217,99,67,0)}
}

.reveal{opacity:0;transform:translateY(28px);transition:opacity .9s var(--ease-expo),transform .9s var(--ease-expo)}
.reveal.is-visible{opacity:1;transform:none}

/* =====================================================================
   reduced motion
   ===================================================================== */
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important}
  html{scroll-behavior:auto}
  .reveal{opacity:1;transform:none}
  .pulse{animation:none;box-shadow:none}
}

/* =====================================================================
   small-viewport (320–375): tighten gutter + shrink hero hero
   ===================================================================== */
@media (max-width:375px){
  :root{--gutter:1.25rem}
  .hero{padding-top:calc(var(--space-section) + 3rem)}
  .hero h1{font-size:clamp(2.625rem,15vw,3.5rem);max-width:14ch}
  .hero__tag{font-size:var(--text-base)}
  .topbar__inner{padding:.6rem var(--gutter)}
  .brand__word{font-size:.7rem}
  .invest__h{font-size:clamp(2.25rem,9vw,3rem)}
}

/* =====================================================================
   present mode (?present=1 or P keypress)
   Larger type, no hover-only reveals, hide cursor, hide topbar
   ===================================================================== */
body.is-present{
  cursor:none;
  --gutter:clamp(2.5rem,7vw,8rem);
  --text-hero:clamp(3.5rem,1rem + 13vw,13rem);
  --text-3xl:clamp(3rem,2rem + 5.5vw,6.5rem);
  --text-lg:clamp(1.25rem,1rem + .8vw,1.6rem);
}
body.is-present .topbar,
body.is-present .skip{display:none}
body.is-present .reveal{opacity:1;transform:none}
body.is-present .bento__card::after{transform:scaleX(1)}
body.is-present .bento__card{border-color:rgba(26,26,26,.22)}
body.is-present main{padding-top:0}
body.is-present a,body.is-present button{cursor:none}
body.is-present .present-toggle__icon{transform:rotate(90deg)}

/* =====================================================================
   print (one-pager pitch PDF)
   ===================================================================== */
@media print{
  @page{margin:14mm 14mm 16mm}
  :root{
    --color-bg:#ffffff;
    --color-text:#0a0a0a;
    --color-meta:#5b5b5b;
    --color-line:rgba(10,10,10,.18);
    --color-surface:#ffffff;
    --color-surface-2:#f5f1e8;
    --gutter:0;
    --space-section:1.4rem;
  }
  html,body{background:#fff!important;color:#0a0a0a!important}
  body{font-size:11pt;line-height:1.4}
  .topbar,.skip,.present-toggle,.hero__ctas,.cta,.invest::before,.hero::before{display:none!important}
  .reveal{opacity:1!important;transform:none!important}
  .pulse{animation:none;background:#d96343;box-shadow:none}
  main{padding:0}
  section{
    padding:.6rem 0 1rem!important;
    page-break-inside:avoid;
    break-inside:avoid;
    border-bottom:1px solid var(--color-line);
  }
  section + section{page-break-before:auto}
  #portfolio,#thesis,#team,#invest{page-break-before:always;break-before:page}
  .hero{min-height:auto!important;background:none!important;padding:.4rem 0 1.2rem!important;display:block!important}
  .hero__eyebrow{border:none;padding:0;margin-bottom:.5rem;color:#0a0a0a}
  .hero h1{font-size:36pt;margin-bottom:.5rem;color:#0a0a0a}
  .hero__tag{font-size:11pt;color:#3a3a3a;max-width:none}
  .section-h{font-size:22pt;margin-bottom:.8rem;color:#0a0a0a;max-width:none}
  .section-label{color:#7a7a7a;margin-bottom:.4rem}
  .manifesto__statement{font-size:18pt;color:#0a0a0a;max-width:none}
  .manifesto__aside{color:#3a3a3a}
  .manifesto__grid{display:block}
  .manifesto__aside p+p{margin-top:.4rem}
  .bento{display:grid!important;grid-template-columns:repeat(2,1fr)!important;gap:.5rem}
  .bento__card{
    grid-column:auto!important;grid-row:auto!important;
    min-height:0!important;
    padding:.6rem .7rem!important;
    background:#fff!important;border:1px solid var(--color-line)!important;
    color:#0a0a0a;
  }
  .bento__card h3{font-size:13pt;color:#0a0a0a}
  .bento__card .thesis{color:#3a3a3a;font-size:10pt;max-width:none}
  .bento__card .metric{color:#0a0a0a;font-size:9pt;margin-top:.4rem}
  .bento__card .metric strong{color:#d96343;font-size:11pt}
  .stage{color:#0a0a0a;border-color:var(--color-line)}
  .traction__strip{display:grid!important;grid-template-columns:repeat(4,1fr)!important;gap:.5rem}
  .traction__num{font-size:22pt!important;color:#0a0a0a}
  .traction__label{color:#5b5b5b}
  .thesis__cols{display:grid!important;grid-template-columns:repeat(3,1fr)!important;gap:.6rem}
  .thesis__cols article{padding:.4rem 0;border-top:1px solid var(--color-line)}
  .thesis__cols h3{font-size:12pt;color:#0a0a0a}
  .thesis__cols p{color:#3a3a3a;font-size:10pt;max-width:none}
  .thesis__num{color:#d96343}
  .team__grid{display:grid!important;grid-template-columns:repeat(4,1fr)!important;gap:.5rem}
  .team__portrait{display:none}
  .team__name{color:#0a0a0a;font-size:11pt}
  .team__role{color:#3a3a3a;font-size:9pt}
  .invest{background:#fff!important;border-top:1px solid var(--color-accent)}
  .invest__h{font-size:22pt;color:#0a0a0a}
  .invest__copy{color:#3a3a3a;max-width:none}
  .invest::after{content:"donate@enxo.foundation";display:block;font-size:14pt;font-weight:600;color:#d96343;margin-top:.6rem}
  .footer{border-top:1px solid var(--color-line);padding:.6rem 0;color:#5b5b5b}
  .footer__inner{display:flex;justify-content:space-between}
  .footer__nav,.footer__legal{display:none}
  .tiers{display:flex;gap:.5rem;margin:.6rem 0}
  .tier{flex:1;border:1px solid var(--color-line);padding:.5rem;font-size:9pt;color:#0a0a0a;background:#fff}
  .tier__amount{font-family:'Fraunces',serif;font-size:14pt;color:#d96343}
  .donate__ctas,.trust,.bento__media{display:none}
  a{color:inherit;text-decoration:none}
  a[href^="http"]::after,a[href^="mailto"]::after{content:""}
}

/* =====================================================================
   foundation-specific components
   ===================================================================== */

/* program card image (bento__media) */
.bento__media{
  margin:0 calc(clamp(1.5rem,2.5vw,2.25rem) * -1) var(--space-4);
  margin-top:calc(clamp(1.5rem,2.5vw,2.25rem) * -1);
  position:relative;
  overflow:hidden;
}
.bento__media img{
  display:block;
  width:100%;
  height:auto;
  aspect-ratio:4/3;
  object-fit:cover;
  background:linear-gradient(150deg,var(--color-surface),var(--color-surface-2));
  transition:transform var(--duration-base) var(--ease-expo);
}
.bento__card:hover .bento__media img{transform:scale(1.03)}
.bento__media figcaption{
  position:absolute;left:.6rem;bottom:.5rem;
  font-size:.7rem;letter-spacing:.04em;
  color:#fff;
  background:rgba(0,0,0,.55);
  padding:.25rem .55rem;
  border-radius:2px;
  backdrop-filter:blur(4px);
}
.bento__card--lg .bento__media img{aspect-ratio:4/3}
.bento__card--wide .bento__media img{aspect-ratio:16/9}

/* impact section label spacing */
.traction__label--top{margin-bottom:var(--space-12)}

/* donation tiers */
.tiers{
  display:grid;
  grid-template-columns:1fr;
  gap:var(--space-4);
  margin:var(--space-12) 0;
  max-width:900px;
}
.tier{
  position:relative;
  background:rgba(255,255,255,.55);
  border:1px solid var(--color-line);
  border-radius:var(--radius);
  padding:var(--space-6);
  display:flex;flex-direction:column;gap:.4rem;
  transition:border-color var(--duration-base) var(--ease-expo), background var(--duration-base) var(--ease-expo), transform var(--duration-base) var(--ease-expo);
}
.tier:hover{border-color:var(--color-accent);background:rgba(255,255,255,.85);transform:translateY(-2px)}
.tier__amount{
  font-family:var(--font-display);
  font-weight:600;
  font-size:clamp(2rem,1.4rem + 1.6vw,3rem);
  letter-spacing:-.03em;
  font-variation-settings:"opsz" 144;
  color:var(--color-accent);
  line-height:1;
  margin:0;
}
.tier__label{font-size:var(--text-sm);color:var(--color-text);max-width:32ch;line-height:1.45}
.tier__badge{
  position:absolute;top:.85rem;right:.85rem;
  font-size:.65rem;letter-spacing:.18em;text-transform:uppercase;font-weight:600;
  padding:.25rem .55rem;
  background:var(--color-accent);
  color:#fff;
  border-radius:999px;
}
.tier--featured{
  border-color:var(--color-accent);
  background:rgba(217,99,67,.06);
}
@media (min-width:720px){
  .tiers{grid-template-columns:repeat(3,1fr)}
}

/* donate CTA cluster */
.donate__ctas{
  display:flex;flex-wrap:wrap;align-items:center;
  gap:var(--space-3) var(--space-6);
  margin-bottom:var(--space-12);
}
.cta--ghost-light{
  background:transparent;
  color:var(--color-ink);
  border:1px solid var(--color-ink);
}
.cta--ghost-light:hover{background:var(--color-ink);color:var(--color-bg);border-color:var(--color-ink);transform:translateY(-2px)}
.link-tertiary{
  font-weight:500;
  color:var(--color-ink);
  border-bottom:1px solid var(--color-line);
  padding-bottom:.15rem;
  transition:color var(--duration-fast) var(--ease-expo), border-color var(--duration-fast) var(--ease-expo);
  min-height:44px;
  display:inline-flex;align-items:center;
}
.link-tertiary:hover{color:var(--color-accent);border-color:var(--color-accent)}

/* trust / accountability badges */
.trust{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(220px,1fr));
  gap:var(--space-3) var(--space-6);
  margin-top:var(--space-8);
  padding-top:var(--space-8);
  border-top:1px solid var(--color-line);
  max-width:1100px;
}
.trust__item{
  display:inline-flex;align-items:center;gap:.65rem;
  color:var(--color-meta);
  font-size:var(--text-sm);
}
.trust__item svg{color:var(--color-accent);flex-shrink:0}

/* footer extras */
.footer__nav{
  display:inline-flex;flex-wrap:wrap;gap:var(--space-4);
  font-size:var(--text-sm);
}
.footer__nav a{color:var(--color-meta);transition:color var(--duration-fast) var(--ease-expo)}
.footer__nav a:hover{color:var(--color-accent)}
.footer__legal{
  max-width:1500px;margin:var(--space-8) auto 0;
  font-size:var(--text-xs);
  color:var(--color-meta);
  line-height:1.6;
  border-top:1px dashed var(--color-line);
  padding-top:var(--space-6);
}

/* dark-mode fallback removed — site forced to light theme */

/* =====================================================================
   hero image
   ===================================================================== */
.hero__figure{
  margin:var(--space-8) 0 0;
  border-radius:var(--radius-lg);
  overflow:hidden;
  border:1px solid var(--color-line);
  box-shadow:0 30px 60px -30px rgba(28,24,18,.18);
  max-width:1100px;
}
.hero__figure img{
  display:block;
  width:100%;
  height:auto;
  aspect-ratio:3/2;
  object-fit:cover;
}
@media (min-width:1024px){
  .hero__figure{grid-column:1/3;margin-top:var(--space-12)}
}
