/* AIM site v3.1. Colors and type follow the AIM BRAND SHEET (locked 2026-10-08, logo updated 2026-11-01).
   One color per job: headlines camel, body fog, numbers and callouts steel, background charcoal. No white text.
   Spacing runs on a 4px scale (--s1 to --s9). Type runs on a 1.25 scale (--t0 to --t7). */
:root{
  --camel:#D89942;
  --camel-dk:#B97F33;
  --fog:#A8A9AD;
  --fog-dim:#7E8086;
  --steel:#3E82C7;
  --steel-dk:#2F6AA6;
  --char:#1C1F24;
  --char-2:#171A1E;
  --char-3:#22262D;
  --char-4:#2A2F37;
  --line:#2C313A;
  --line-2:#394049;
  --ink:#1A1408;            /* text on camel buttons: dark, not white */

  --head:"Oswald","Arial Narrow",Arial,sans-serif;
  --body:"Inter",system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;

  --s1:4px;--s2:8px;--s3:16px;--s4:24px;--s5:32px;--s6:48px;--s7:64px;--s8:96px;--s9:128px;
  --t0:13px;--t1:15px;--t2:17px;--t3:20px;--t4:24px;--t5:30px;--t6:38px;--t7:48px;--t8:60px;

  --wrap:1120px;
  --gut:16px;
  --r-sm:6px;--r:10px;--r-lg:16px;
  --shadow:0 24px 60px rgba(0,0,0,.45);
  --top-h:64px;
  color-scheme:dark;
}
@media (min-width:700px){:root{--gut:32px;--top-h:72px}}

*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%;scroll-padding-top:calc(var(--top-h) + 12px)}
body{margin:0;background:var(--char);color:var(--fog);font:400 var(--t2)/1.6 var(--body);overflow-x:hidden}
img{max-width:100%;height:auto;display:block}
svg{display:block}
[hidden]{display:none !important}
a{color:inherit}
ul,ol{margin:0;padding:0}
.wrap{max-width:var(--wrap);margin:0 auto;padding-left:max(var(--gut),env(safe-area-inset-left,0px));padding-right:max(var(--gut),env(safe-area-inset-right,0px))}
.skip{position:absolute;left:-999px;top:8px;background:var(--camel);color:var(--ink);padding:8px 14px;border-radius:var(--r-sm);z-index:50;font-weight:600}
.skip:focus{left:12px}
:focus-visible{outline:3px solid var(--steel);outline-offset:3px}

/* Type */
h1,h2,h3{font-family:var(--head);font-weight:600;color:var(--camel);text-transform:uppercase;letter-spacing:.02em;line-height:1.06;margin:0;overflow-wrap:anywhere}
h1{font-size:clamp(var(--t6),8.6vw,var(--t8));letter-spacing:.015em;max-width:16ch;margin:0 auto var(--s3)}
h2{font-size:clamp(var(--t5),5.2vw,var(--t7));max-width:30ch;margin-bottom:var(--s3)}
h3{font-size:var(--t4)}
p{margin:0 0 1em}
p:last-child{margin-bottom:0}
.c-a{color:var(--camel)}.c-i{color:var(--fog)}.c-m{color:var(--steel)}
.stat,.num{color:var(--steel);font-family:var(--head);font-weight:600}
.stat{font-size:1.25em;line-height:1}
.intro{max-width:62ch;font-size:clamp(var(--t2),2vw,var(--t3));line-height:1.55}
.sec-head{margin-bottom:var(--s6)}
@media (min-width:900px){.sec-head{margin-bottom:var(--s7)}}

/* Tricolor accent bar: the one brand device that repeats */
.bar{display:flex;height:3px}
.bar i{flex:1}
.bar i:nth-child(1){background:var(--camel)}
.bar i:nth-child(2){background:var(--fog)}
.bar i:nth-child(3){background:var(--steel)}

/* Buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:52px;padding:0 28px;
  font:600 var(--t1)/1 var(--head);letter-spacing:.14em;text-transform:uppercase;text-decoration:none;color:var(--ink);
  background:var(--camel);border:2px solid var(--camel);border-radius:var(--r-sm);cursor:pointer;white-space:nowrap;
  transition:background .15s,border-color .15s,color .15s,transform .08s}
.btn:hover{background:#E2A95A;border-color:#E2A95A}
.btn:active{transform:translateY(1px)}
.btn-ghost{color:var(--camel);background:transparent}
.btn-ghost:hover{background:rgba(216,153,66,.12);border-color:var(--camel)}
.btn-sm{min-height:40px;padding:0 16px;font-size:var(--t0);letter-spacing:.12em}
.btn svg{width:18px;height:18px;fill:currentColor}

/* Header */
.top{position:sticky;top:env(safe-area-inset-top,0px);z-index:30;background:rgba(23,26,30,.92);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}
.top-in{display:flex;align-items:center;justify-content:space-between;min-height:var(--top-h);gap:var(--s3)}
.brand{display:flex;align-items:center;gap:10px;text-decoration:none;font:600 var(--t4)/1 var(--head);letter-spacing:.14em;color:var(--camel)}
.brand img{width:48px;flex:none}
.nav{display:none;align-items:center;gap:var(--s1)}
.nav a{white-space:nowrap;padding:10px 12px;font:600 var(--t1)/1 var(--head);letter-spacing:.12em;text-transform:uppercase;text-decoration:none;color:var(--fog);border-radius:var(--r-sm);transition:color .15s}
.nav a:hover{color:var(--camel)}
.nav .nav-support{color:var(--steel)}
.nav .nav-support:hover{color:var(--camel)}
.nav .nav-tree{position:relative;padding-left:22px}
.nav .nav-tree::before{content:"";position:absolute;left:8px;top:50%;width:7px;height:7px;margin-top:-4px;transform:rotate(45deg);background:var(--camel)}
.top.open .nav .nav-tree{padding-left:22px}
.top.open .nav .nav-tree::before{left:6px}
.top-actions{display:flex;align-items:center;gap:var(--s2)}
.btn-coffee span{display:none}
@media (min-width:480px){.btn-coffee span{display:inline}}
.menu{all:unset;display:grid;gap:5px;padding:10px;border-radius:var(--r-sm);cursor:pointer}
.menu i{display:block;width:22px;height:2px;background:var(--fog);transition:transform .2s,opacity .2s}
.menu[aria-expanded="true"] i:nth-child(1){transform:translateY(7px) rotate(45deg)}
.menu[aria-expanded="true"] i:nth-child(2){opacity:0}
.menu[aria-expanded="true"] i:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
.menu:focus-visible{outline:3px solid var(--steel)}
/* Phone menu: nav drops under the bar */
.top.open .nav{display:grid;position:absolute;left:0;right:0;top:100%;background:var(--char-2);border-bottom:1px solid var(--line);padding:var(--s2) var(--gut) var(--s3);gap:0}
.top.open .nav a{padding:14px 8px;border-bottom:1px solid var(--line);border-radius:0;font-size:var(--t2)}
.top.open .nav a:last-child{border-bottom:0}
@media (min-width:1160px){
  .nav{display:flex}
  .nav .nav-more{display:none}
  .menu{display:none}
  .top.open .nav{position:static;display:flex;background:none;border:0;padding:0;gap:var(--s1)}
  .top.open .nav a{white-space:nowrap;padding:10px 12px;border:0;font-size:var(--t1)}
}

/* Hero: the mountain is the one bold thing on the page */
.hero{position:relative;overflow:hidden;padding:var(--s6) 0 var(--s7);text-align:center;isolation:isolate}
.hero::before{content:"";position:absolute;left:50%;top:0;width:min(1400px,160vw);height:720px;transform:translateX(-50%);z-index:-1;
  background:radial-gradient(ellipse 50% 60% at 50% 32%,rgba(62,130,199,.22) 0%,rgba(62,130,199,.07) 40%,transparent 70%)}
.hero::after{content:"";position:absolute;left:50%;bottom:0;width:min(900px,100vw);height:1px;transform:translateX(-50%);
  background:linear-gradient(90deg,transparent,var(--line-2) 30%,var(--line-2) 70%,transparent)}
.hero-logo{width:min(80vw,520px);margin:0 auto var(--s4);filter:drop-shadow(0 26px 34px rgba(0,0,0,.6))}
.pillars{display:inline-flex;align-items:center;gap:var(--s2);font:600 clamp(13px,3.4vw,17px)/1 var(--head);letter-spacing:.24em;margin:0 0 var(--s4);white-space:nowrap}
.pillars .dot{color:var(--fog-dim)}
.lede{font-size:clamp(var(--t2),4vw,var(--t3));margin:0 auto var(--s5);max-width:34ch;line-height:1.5}
.cta{display:flex;flex-wrap:wrap;gap:var(--s3);justify-content:center}
@media (max-width:480px){.cta .btn{width:100%;max-width:340px}}
@media (min-width:700px){.hero{padding:var(--s7) 0 var(--s7)}.hero-logo{margin-bottom:var(--s5)}}

/* Social rows: icon above the name, fog at rest, camel on hover */
.hero-social{margin-top:var(--s7);padding-top:var(--s5);border-top:1px solid var(--line)}
.hero-social-label{font:600 var(--t0)/1 var(--head);letter-spacing:.2em;text-transform:uppercase;color:var(--fog-dim);margin:0 0 var(--s3)}
.social{list-style:none;display:flex;flex-wrap:wrap;justify-content:center;gap:var(--s2) var(--s3)}
.social a,.social .soon{display:flex;flex-direction:column;align-items:center;gap:8px;min-width:76px;padding:12px 8px 10px;border-radius:var(--r);text-decoration:none;color:var(--fog);font:600 var(--t0)/1 var(--head);letter-spacing:.1em;text-transform:uppercase;transition:color .15s,background .15s}
.social svg{width:28px;height:28px;fill:currentColor;transition:transform .15s}
.social a:hover{color:var(--camel);background:rgba(216,153,66,.06)}
.social a:hover svg{transform:translateY(-2px)}
.social .soon{color:var(--fog-dim);cursor:default;position:relative}
.social .soon small{font:400 10px/1 var(--body);letter-spacing:.08em;color:var(--steel);text-transform:uppercase;margin-top:-4px}
@media (min-width:700px){.social{gap:var(--s2) var(--s4)}.social a,.social .soon{min-width:92px}}

/* Sections */
.sec{padding:80px 0}
@media (min-width:900px){.sec{padding:var(--s9) 0}}
.sec-deep{background:var(--char-2);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.sec + .sec-deep,.sec-deep + .sec{border-top:0}

/* The code: a ledger, not ten boxes */
.code{list-style:none;display:grid;border-top:1px solid var(--line-2)}
.code li{display:grid;grid-template-columns:52px 1fr;gap:var(--s3);padding:var(--s4) 0;border-bottom:1px solid var(--line)}
.code .num{font-size:var(--t5);line-height:1;padding-top:2px}
.code h3{font-size:var(--t4);margin:0 0 6px}
.code p{margin:0;max-width:52ch;font-size:var(--t2)}
@media (min-width:800px){
  .code{grid-template-columns:1fr 1fr;column-gap:var(--s7)}
  .code li{grid-template-columns:64px 1fr;padding:var(--s5) 0}
  .code .num{font-size:var(--t6)}
  .code li.wide{grid-column:1 / -1;grid-template-columns:64px 1fr}
  .code li.wide p{max-width:62ch}
}
.target-line{margin:var(--s6) 0 0;font:600 clamp(var(--t3),3.2vw,var(--t5))/1.3 var(--head);text-transform:uppercase;letter-spacing:.06em;color:var(--steel);max-width:30ch}

/* Posters */
.series{padding-top:var(--s6);margin-top:var(--s6);border-top:1px solid var(--line)}
.series:first-of-type{padding-top:0;margin-top:0;border-top:0}
.series-head{display:grid;gap:var(--s2);margin-bottom:var(--s4)}
.series-head h3{font-size:clamp(var(--t5),4vw,var(--t6));display:flex;flex-wrap:wrap;align-items:baseline;gap:var(--s2) var(--s3)}
.series-n{font-size:var(--t0);letter-spacing:.22em;color:var(--steel);padding:5px 9px 4px;border:1px solid var(--steel);border-radius:var(--r-sm);align-self:center}
.series-head p{max-width:62ch;margin:0}
@media (min-width:900px){
  .series-head{grid-template-columns:minmax(0,1fr) minmax(0,1.4fr);align-items:end;gap:var(--s5)}
  .series{padding-top:var(--s7);margin-top:var(--s7)}
}
.poster-grid{list-style:none;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--s3)}
@media (min-width:600px){.poster-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--s4)}}
@media (min-width:1000px){.poster-grid.cols-5{grid-template-columns:repeat(5,minmax(0,1fr));gap:var(--s4)}}
.poster{all:unset;display:block;width:100%;box-sizing:border-box;cursor:zoom-in;border-radius:var(--r-sm);overflow:hidden;background:var(--char-3);
  box-shadow:0 1px 0 rgba(255,255,255,.03) inset,0 10px 30px rgba(0,0,0,.35);transition:transform .2s ease,box-shadow .2s ease}
.poster picture,.poster img{aspect-ratio:3/4;width:100%;object-fit:cover}
.poster span{display:block;padding:10px 12px 11px;font:600 var(--t0)/1.3 var(--head);letter-spacing:.08em;text-transform:uppercase;color:var(--fog);border-top:1px solid var(--line)}
.poster span b{color:var(--steel);margin-right:6px}
.poster:hover{transform:translateY(-4px);box-shadow:0 0 0 1px var(--camel),0 20px 40px rgba(0,0,0,.5)}
.poster:hover span{color:var(--camel)}
.poster:focus-visible{outline:3px solid var(--steel);outline-offset:3px}

/* The Wall: nine hung at the real 0.75 in pitch so the ghost mountain lines up */
.wall-stage{display:grid;gap:var(--s4);align-items:end}
@media (min-width:800px){.wall-stage{grid-template-columns:minmax(0,3.2fr) minmax(0,1fr);gap:var(--s5)}}
.wall-room{position:relative;padding:5% 6% 0;background:linear-gradient(180deg,#272B32 0%,#22262D 100%);border-radius:var(--r-lg) var(--r-lg) 0 0;overflow:hidden}
.wall-room::before{content:"";position:absolute;inset:0;background:radial-gradient(ellipse 70% 50% at 50% 0%,rgba(62,130,199,.16),transparent 70%);pointer-events:none}
.wall-room::after{content:"";display:block;height:14px;margin:5% -6% 0;background:linear-gradient(180deg,#30353E,#1D2026);border-top:1px solid var(--line-2)}
.wall-grid{list-style:none;position:relative;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.35%}
.wall-grid .poster{border-radius:0;box-shadow:0 6px 14px rgba(0,0,0,.5)}
.wall-grid .poster span{display:none}
.wall-grid .poster:hover{transform:none;box-shadow:0 0 0 2px var(--camel),0 6px 14px rgba(0,0,0,.5)}
.wall-center{list-style:none;max-width:260px;margin:0 auto}
@media (min-width:800px){.wall-center{max-width:none;margin:0}}
.poster-foot{display:flex;flex-wrap:wrap;align-items:center;gap:var(--s3) var(--s4);margin-top:var(--s7);padding-top:var(--s5);border-top:1px solid var(--line)}
.poster-foot p{margin:0;font-size:var(--t1)}

/* Why */
.why{display:grid;gap:var(--s6)}
@media (min-width:900px){.why{grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);gap:var(--s8);align-items:start}}
.why-text p{max-width:62ch;font-size:clamp(var(--t2),2vw,var(--t3));line-height:1.6}
.stand{padding:var(--s4) 0 0;border-top:3px solid var(--steel)}
.stand h3{font-size:var(--t3);letter-spacing:.08em;margin-bottom:var(--s3)}
.checks{list-style:none}
.checks li{position:relative;padding:12px 0 12px 26px;border-bottom:1px solid var(--line);font-size:var(--t2)}
.checks li:last-child{border-bottom:0}
.checks li::before{content:"";position:absolute;left:2px;top:21px;width:9px;height:9px;transform:rotate(45deg);background:var(--steel)}

/* The app */
.app{display:grid;gap:var(--s6);align-items:center}
@media (min-width:900px){.app{grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);gap:var(--s8)}}
.coming{display:inline-block;font:600 var(--t0)/1 var(--head);letter-spacing:.24em;text-transform:uppercase;color:var(--steel);border:1px solid var(--steel);padding:7px 11px 6px;border-radius:var(--r-sm);margin:0 0 var(--s3)}
.app-list{list-style:none;margin-top:var(--s5);border-top:1px solid var(--line-2)}
.app-list li{padding:14px 0;border-bottom:1px solid var(--line);max-width:58ch}
.app-list b{color:var(--camel);font-family:var(--head);font-weight:600;text-transform:uppercase;letter-spacing:.06em;margin-right:6px}
.app-art{display:flex;justify-content:center}
.phone{width:min(260px,70vw);aspect-ratio:9/18.5;border-radius:34px;background:#0F1114;border:2px solid var(--line-2);box-shadow:var(--shadow),0 0 0 6px #14171B;padding:12px;position:relative}
.phone-top{position:absolute;left:50%;top:14px;width:84px;height:22px;border-radius:12px;background:#0A0B0D;transform:translateX(-50%)}
.phone-screen{height:100%;border-radius:24px;background:linear-gradient(180deg,var(--char-3),var(--char));padding:56px 20px 20px;display:flex;flex-direction:column;align-items:center;text-align:center}
.phone-screen img{width:56%;margin-bottom:auto}
.phone-kicker{font:600 11px/1 var(--head);letter-spacing:.24em;text-transform:uppercase;color:var(--steel);margin:0 0 8px}
.phone-line{font:600 24px/1 var(--head);text-transform:uppercase;letter-spacing:.04em;color:var(--camel);margin:0 0 8px}
.phone-body{font-size:13px;line-height:1.45;margin:0}

/* Daily text */
.form{max-width:720px;display:grid;gap:var(--s3)}
@media (min-width:600px){.form{grid-template-columns:1fr 1fr;align-items:end}.form .btn,.form .form-msg,.form .fine{grid-column:1 / -1}.form .btn{justify-self:start}}
.field{display:grid;gap:6px}
.field label{font:600 var(--t0)/1 var(--head);letter-spacing:.16em;text-transform:uppercase;color:var(--fog)}
.field .opt{letter-spacing:.04em;text-transform:none;font-family:var(--body);font-weight:400;color:var(--fog-dim)}
.field input{width:100%;min-height:52px;padding:0 14px;font:400 var(--t2)/1 var(--body);color:var(--fog);background:var(--char-3);border:1px solid var(--line-2);border-radius:var(--r-sm)}
.field input:focus{outline:none;border-color:var(--steel);box-shadow:0 0 0 3px rgba(62,130,199,.25)}
.field input[aria-invalid="true"]{border-color:var(--camel)}
.hp{position:absolute;left:-9999px;top:-9999px;height:0;overflow:hidden}
.form-msg{margin:0;min-height:1.6em;color:var(--steel);font-weight:600}
.form-msg:empty{display:none}
.fine{margin:0;font-size:var(--t1);color:var(--fog-dim)}
.thanks{max-width:720px;padding:var(--s4);border-left:3px solid var(--steel);background:var(--char-3);border-radius:0 var(--r) var(--r) 0}
.thanks-head{font:600 var(--t5)/1.1 var(--head);text-transform:uppercase;color:var(--camel);margin:0 0 8px}
.thanks-text{margin:0}
.thanks-local{font-size:var(--t1);color:var(--steel);margin:12px 0 0}

/* Support: three choices on one strip */
.support{list-style:none;display:grid;border-top:1px solid var(--line-2);border-bottom:1px solid var(--line-2)}
.support li + li{border-top:1px solid var(--line)}
.support a{display:grid;grid-template-columns:40px 1fr;grid-template-areas:"ic title" "ic text" "ic go";column-gap:var(--s3);row-gap:6px;padding:var(--s4) 0;text-decoration:none;color:var(--fog);transition:background .15s}
.support-ic{grid-area:ic;color:var(--steel)}
.support-ic svg{width:30px;height:30px;fill:currentColor}
.support-title{grid-area:title;font:600 var(--t4)/1.1 var(--head);text-transform:uppercase;letter-spacing:.03em;color:var(--camel)}
.support-text{grid-area:text;font-size:var(--t2);max-width:40ch}
.support-go{grid-area:go;margin-top:6px;font:600 var(--t0)/1 var(--head);letter-spacing:.16em;text-transform:uppercase;color:var(--steel);text-decoration:underline;text-underline-offset:4px;text-decoration-color:transparent;transition:text-decoration-color .15s,color .15s}
.support a:hover .support-go{text-decoration-color:currentColor;color:var(--camel)}
@media (min-width:700px){
  .support{grid-template-columns:repeat(2,1fr)}
  .support li + li{border-top:0}
  .support li:nth-child(n+3){border-top:1px solid var(--line)}
  .support li:nth-child(even){border-left:1px solid var(--line)}
  .support a{grid-template-columns:1fr;grid-template-areas:"ic" "title" "text" "go";padding:var(--s5) var(--s5) var(--s5) 0;row-gap:10px;height:100%}
  .support li:nth-child(even) a{padding-left:var(--s5)}
  .support-ic{margin-bottom:6px}
}
@media (min-width:1100px){
  .support{grid-template-columns:repeat(4,1fr);border-bottom:0}
  .support li:nth-child(n+3){border-top:0}
  .support li + li{border-left:1px solid var(--line)}
  .support li + li a{padding-left:var(--s5)}
  .support-text{max-width:none}
}
/* Donor perk under the four choices */
.perk{margin-top:var(--s6);padding:var(--s4) var(--s4) var(--s4) var(--s5);border-left:3px solid var(--steel);background:var(--char-3);border-radius:0 var(--r) var(--r) 0;max-width:72ch}
.perk-line{margin:0 0 10px;font-size:clamp(var(--t2),2vw,var(--t3));line-height:1.5;color:var(--fog)}
.perk-line .min-gift{color:var(--steel);font-family:var(--head);font-weight:600}
.perk-line .min-gift:empty{display:none}
.perk .fine{font-size:var(--t0);line-height:1.5}

/* What's coming: a short ledger, quarter on the left, state on the right */
.roadmap{list-style:none;display:grid;border-top:1px solid var(--line-2)}
.roadmap li{display:grid;grid-template-columns:1fr auto;grid-template-areas:"q state" "body body";gap:var(--s2) var(--s3);padding:var(--s4) 0;border-bottom:1px solid var(--line)}
.rm-q{grid-area:q;font:600 var(--t0)/1 var(--head);letter-spacing:.22em;text-transform:uppercase;color:var(--steel);align-self:center}
.rm-state{grid-area:state;font:600 10px/1 var(--head);letter-spacing:.2em;text-transform:uppercase;color:var(--steel);border:1px solid var(--steel);padding:6px 9px 5px;border-radius:var(--r-sm);align-self:center;justify-self:end}
.roadmap div{grid-area:body}
.roadmap h3{font-size:var(--t4);margin:0 0 6px}
.roadmap p{margin:0;max-width:58ch;font-size:var(--t2)}
@media (min-width:800px){
  .roadmap li{grid-template-columns:120px 1fr auto;grid-template-areas:"q body state";padding:var(--s5) 0;gap:var(--s4)}
  .rm-q{align-self:start;padding-top:6px;font-size:var(--t1)}
  .rm-state{align-self:start;margin-top:2px}
}

/* Footer */
.foot-give{margin:0;font:600 var(--t1)/1.4 var(--head);letter-spacing:.06em;text-transform:uppercase;color:var(--fog)}
.foot-give .stat{font-size:1.2em}
.foot-in{padding-top:var(--s6);padding-bottom:var(--s6);text-align:center;display:grid;gap:var(--s4);justify-items:center}
.foot-brand{display:grid;gap:var(--s3);justify-items:center}
.pillars-sm{margin:0;font-size:13px}
.foot-nav{display:flex;flex-wrap:wrap;justify-content:center;gap:var(--s2) var(--s4)}
.foot-nav a{font:600 var(--t0)/1 var(--head);letter-spacing:.12em;text-transform:uppercase;text-decoration:none;color:var(--fog)}
.foot-nav a:hover{color:var(--camel)}
.foot-nav a[href^="mailto"]{font:400 var(--t1)/1 var(--body);letter-spacing:0;text-transform:none;color:var(--steel)}
.foot-line{margin:0;font-size:var(--t1);color:var(--fog-dim)}

/* Lightbox */
dialog#viewer{padding:0;border:0;background:transparent;max-width:100vw;max-height:100vh;width:100vw;height:100vh;margin:0;overflow:hidden;color:var(--fog)}
dialog#viewer::backdrop{background:rgba(10,11,13,.94)}
.viewer-in{position:relative;height:100%;display:grid;grid-template-columns:56px 1fr 56px;align-items:center;justify-items:center}
.viewer-in figure{margin:0;display:grid;justify-items:center;gap:12px;max-width:100%}
.viewer-in img{max-height:min(84vh,1000px);max-width:min(88vw,calc(84vh * .75));width:auto;border-radius:var(--r-sm);box-shadow:var(--shadow)}
.viewer-in figcaption{font:600 var(--t1)/1.3 var(--head);letter-spacing:.1em;text-transform:uppercase;color:var(--fog);text-align:center;padding:0 var(--s3)}
.viewer-in figcaption b{color:var(--steel);margin-right:6px}
.v-close,.v-prev,.v-next{all:unset;cursor:pointer;display:grid;place-items:center;width:44px;height:44px;border-radius:50%;color:var(--fog);background:rgba(34,38,45,.9);transition:color .15s,background .15s}
.v-close:hover,.v-prev:hover,.v-next:hover{color:var(--camel);background:var(--char-4)}
.v-close:focus-visible,.v-prev:focus-visible,.v-next:focus-visible{outline:3px solid var(--steel)}
.v-close{position:absolute;right:12px;top:12px;z-index:2}
.v-close svg,.v-prev svg,.v-next svg{width:22px;height:22px}
.v-prev{grid-column:1}.v-next{grid-column:3}
.v-prev[disabled],.v-next[disabled]{opacity:.25;cursor:default}
@media (max-width:600px){
  .viewer-in{grid-template-columns:1fr;grid-template-rows:1fr 60px}
  .viewer-in figure{grid-column:1;grid-row:1;align-self:center;padding-top:60px}
  .viewer-in img{max-height:72vh;max-width:92vw}
  .v-prev,.v-next{grid-row:2;grid-column:1}
  .v-prev{justify-self:start;margin-left:var(--s4)}
  .v-next{justify-self:end;margin-right:var(--s4)}
}

/* ---------- The Giving Tree page ---------- */
.gt-hero{position:relative;overflow:hidden;padding:var(--s6) 0 var(--s7);isolation:isolate}
.gt-hero::before{content:"";position:absolute;left:50%;top:0;width:min(1400px,160vw);height:720px;transform:translateX(-50%);z-index:-1;
  background:radial-gradient(ellipse 50% 60% at 50% 20%,rgba(62,130,199,.18) 0%,rgba(62,130,199,.06) 40%,transparent 70%)}
.gt-hero-in{display:grid;gap:var(--s6)}
.gt-kicker{margin-bottom:var(--s4)}
.gt-hero h1{margin:0 0 var(--s3);max-width:none;text-align:left}
.gt-lede{margin:0 0 var(--s5);max-width:44ch}
.gt-cta{justify-content:flex-start}
.gt-give-note{margin:var(--s3) 0 0;color:var(--steel);max-width:52ch}
.gt-give-note:empty{display:none}
.gt-total{display:grid;justify-items:center;text-align:center;padding:var(--s5) var(--s4);border:1px solid var(--line-2);border-top:3px solid var(--steel);border-radius:0 0 var(--r-lg) var(--r-lg);background:var(--char-2)}
.gt-total-label{font:600 var(--t0)/1 var(--head);letter-spacing:.24em;text-transform:uppercase;color:var(--fog-dim);margin:0 0 var(--s2)}
.gt-total-num{font:600 clamp(var(--t7),10vw,72px)/1 var(--head);color:var(--steel);margin:0 0 var(--s2);font-variant-numeric:tabular-nums}
.gt-total-sub{margin:0 0 var(--s4);font-size:var(--t1)}
.gt-total-sub b{color:var(--steel);font-family:var(--head);font-weight:600}
.gt-tree{width:min(220px,70%);height:auto;aspect-ratio:1}
.gt-tree .lit{fill:var(--camel)}
.gt-tree .lit.first{fill:var(--steel)}
.gt-tree .dim{fill:var(--char-4);stroke:var(--line-2);stroke-width:1}
.gt-tree .gt-topper{fill:var(--steel)}
.gt-tree .gt-trunk{fill:var(--line-2)}
.gt-tree-cap{margin:var(--s2) 0 0;font-size:var(--t0);color:var(--fog-dim)}
@media (min-width:900px){
  .gt-hero{padding:var(--s7) 0 var(--s8)}
  .gt-hero-in{grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);align-items:center;gap:var(--s8)}
  .gt-hero h1{font-size:clamp(var(--t7),6vw,var(--t8))}
}
.gt-why{display:grid;gap:var(--s5)}
@media (min-width:900px){.gt-why{grid-template-columns:minmax(0,1fr) minmax(0,2fr);gap:var(--s8)}}
.gt-quote{margin:0;padding:0 0 0 var(--s4);border-left:3px solid var(--camel);max-width:62ch}
.gt-quote p{font-size:clamp(var(--t2),2vw,var(--t3));line-height:1.6}
.gt-quote footer{margin-top:var(--s3);font:600 var(--t1)/1 var(--head);letter-spacing:.16em;text-transform:uppercase;color:var(--camel)}
.gt-link{color:var(--steel);text-decoration-color:rgba(62,130,199,.5);text-underline-offset:3px}
.gt-link:hover{color:var(--camel)}

/* Pots: three choices on one strip, same bones as Support */
.pots{list-style:none;display:grid;border-top:1px solid var(--line-2);border-bottom:1px solid var(--line-2)}
.pots li{display:grid;gap:10px;padding:var(--s4) 0;border-top:1px solid var(--line)}
.pots li:first-child{border-top:0}
.pot-n{font:600 var(--t0)/1 var(--head);letter-spacing:.22em;text-transform:uppercase;color:var(--steel);padding:5px 9px 4px;border:1px solid var(--steel);border-radius:var(--r-sm);justify-self:start}
.pots h3{font-size:var(--t4)}
.pots p{margin:0;font-size:var(--t2);max-width:44ch}
.pot-link{justify-self:start;font:600 var(--t0)/1 var(--head);letter-spacing:.16em;text-transform:uppercase;color:var(--steel);text-decoration:underline;text-underline-offset:4px;text-decoration-color:transparent;transition:text-decoration-color .15s,color .15s}
.pot-link:hover{color:var(--camel);text-decoration-color:currentColor}
@media (min-width:800px){
  .pots{grid-template-columns:repeat(3,1fr);border-bottom:0}
  .pots li{border-top:0;padding:var(--s5) var(--s5) var(--s5) 0;align-content:start}
  .pots li + li{border-left:1px solid var(--line);padding-left:var(--s5)}
}

/* Ledger */
.ledger-wrap{overflow-x:auto;border-top:1px solid var(--line-2);border-bottom:1px solid var(--line-2)}
.ledger{width:100%;min-width:640px;border-collapse:collapse;font-size:var(--t1)}
.ledger th,.ledger td{text-align:left;vertical-align:top;padding:14px 12px;border-bottom:1px solid var(--line)}
.ledger th{font:600 var(--t0)/1 var(--head);letter-spacing:.16em;text-transform:uppercase;color:var(--fog-dim)}
.ledger th:first-child,.ledger td:first-child{padding-left:0;white-space:nowrap}
.ledger th:last-child,.ledger td:last-child{padding-right:0}
.ledger .num-col{text-align:right;color:var(--steel);font-family:var(--head);font-weight:600;font-size:var(--t2);font-variant-numeric:tabular-nums;white-space:nowrap}
.ledger tbody td:nth-child(2){color:var(--camel);font-family:var(--head);font-weight:600;text-transform:uppercase;letter-spacing:.04em}
.ledger tfoot th{color:var(--camel);font-size:var(--t1);letter-spacing:.12em;border-bottom:0}
.ledger tfoot td{border-bottom:0}
.ledger tfoot .num-col{font-size:var(--t4)}
#ledger-msg{margin-top:var(--s3);color:var(--steel)}
#ledger-msg:empty{display:none}

/* Nominate */
.gt-nominate .form{max-width:820px}
.field textarea,.field select{width:100%;min-height:52px;padding:12px 14px;font:400 var(--t2)/1.4 var(--body);color:var(--fog);background:var(--char-3);border:1px solid var(--line-2);border-radius:var(--r-sm)}
.field select{padding-top:0;padding-bottom:0;line-height:1;appearance:none;-webkit-appearance:none;background-image:linear-gradient(45deg,transparent 50%,var(--fog) 50%),linear-gradient(135deg,var(--fog) 50%,transparent 50%);background-position:calc(100% - 20px) 23px,calc(100% - 14px) 23px;background-size:6px 6px;background-repeat:no-repeat}
.field textarea{resize:vertical}
.field textarea:focus,.field select:focus{outline:none;border-color:var(--steel);box-shadow:0 0 0 3px rgba(62,130,199,.25)}
.field textarea[aria-invalid="true"],.field select[aria-invalid="true"]{border-color:var(--camel)}
@media (min-width:600px){.form .field-wide{grid-column:1 / -1}}

/* Toy drive and handoff */
.gt-two{display:grid;gap:var(--s6)}
@media (min-width:900px){.gt-two{grid-template-columns:1fr 1fr;gap:var(--s8)}}
.gt-block{display:grid;gap:var(--s3);align-content:start;justify-items:start}
.gt-block h2{margin:0;font-size:clamp(var(--t5),4vw,var(--t6))}
.gt-block p{margin:0;max-width:52ch}
.gt-block .stat{font-size:1.15em}
.gt-toys-note{color:var(--steel);max-width:48ch}
.gt-toys-note:empty{display:none}

/* Disclosure */
.gt-disclosure-sec{padding:var(--s6) 0}
.gt-disclosure{margin:0;max-width:72ch;padding-top:var(--s4);border-top:1px solid var(--line-2);font-size:var(--t1);color:var(--fog-dim)}

@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none !important}}

/* ==========================================================================
   v4 "Paper & Purpose" layer (2026-11-01). Charcoal with paper grain, warm
   light, framed prints, The Wall with its ghost mountain drawn on scroll.
   ========================================================================== */
:root{--warm:rgba(216,153,66,.10);--paper-edge:#efe9dd}
body{background-color:var(--char)}
body::before{content:"";position:fixed;inset:0;z-index:0;pointer-events:none;background-image:url("img/grain.png");background-size:128px 128px;opacity:.55;mix-blend-mode:overlay}
.top,.foot,main{position:relative;z-index:1}
.top{z-index:20}
.sec{position:relative}
.sec::before{content:"";position:absolute;inset:0;pointer-events:none;background:radial-gradient(ellipse 60% 40% at 15% 0%,var(--warm),transparent 70%)}
.sec-deep::before{background:radial-gradient(ellipse 55% 45% at 85% 0%,rgba(216,153,66,.08),transparent 70%)}
.sec>.wrap{position:relative}

/* hero: copy left, framed prints right */
.hero{text-align:left}
.hero::before{background:radial-gradient(ellipse 50% 60% at 70% 30%,rgba(216,153,66,.16),transparent 70%)!important}
.hero-in{display:grid;gap:var(--s5);align-items:center}
.hero-copy{text-align:center}
.hero-copy .hero-logo{width:min(70vw,340px)}
.hero-art{margin:0;position:relative}
.hero-art img{width:100%;height:auto;border-radius:var(--r-sm);box-shadow:0 30px 70px rgba(0,0,0,.55),0 0 0 1px rgba(255,255,255,.04)}
.hero-art figcaption,.wall-scene figcaption{margin-top:var(--s2);font:400 var(--t0)/1.4 var(--body);color:var(--fog-dim)}
.hero-social{grid-column:1/-1;text-align:center}
@media (min-width:1000px){
  .hero-in{grid-template-columns:minmax(0,.9fr) minmax(0,1.25fr);gap:var(--s6)}
  .hero-copy{text-align:left}
  .hero-copy .hero-logo{margin-left:0}
  .hero-copy .pillars,.hero-copy .cta{justify-content:flex-start}
  .hero-copy h1{font-size:var(--t6)}
  .hero-copy .cta{flex-wrap:nowrap}
  .hero-art{margin-right:calc(-1*var(--s5))}
}

/* framed print cards: the mockup is the card, caption sits under it like a gallery label */
.poster-grid .poster{background:transparent;border-radius:var(--r-sm);overflow:visible}
.poster-grid .poster img{border-radius:var(--r-sm);aspect-ratio:3/4;object-fit:cover;box-shadow:0 14px 34px rgba(0,0,0,.45)}
.poster-grid .poster span{border-top:0;padding:12px 2px 0}
.poster-grid .poster{position:relative}
.poster-grid .poster::after{content:"";position:absolute;left:0;right:0;top:0;aspect-ratio:3/4;border-radius:var(--r-sm);pointer-events:none;
  background:linear-gradient(115deg,transparent 35%,rgba(255,236,200,.16) 50%,transparent 65%);background-size:250% 100%;background-position:120% 0;opacity:0;transition:background-position .9s ease,opacity .3s}
.poster-grid .poster:hover::after,.poster-grid .poster:focus-visible::after{opacity:1;background-position:-20% 0}
.poster-grid .poster:hover{box-shadow:none}
.poster-grid .poster:hover img{box-shadow:0 0 0 1px var(--camel),0 22px 44px rgba(0,0,0,.55)}

/* The Wall: one room photo, hotspots per poster, ghost mountain stroke */
.wall-scene{position:relative;margin:0}
.wall-scene>img{width:100%;height:auto;border-radius:var(--r-lg);box-shadow:0 30px 70px rgba(0,0,0,.5)}
.wall-scene .ghost{position:absolute;left:0;top:0;width:100%;aspect-ratio:1600/1620;pointer-events:none;overflow:visible}
.wall-scene .ghost path{fill:rgba(216,153,66,0);stroke:var(--camel);stroke-width:3;stroke-linejoin:round;vector-effect:non-scaling-stroke;
  stroke-dasharray:1;stroke-dashoffset:1;opacity:.9;transition:stroke-dashoffset 3.2s cubic-bezier(.4,0,.2,1),opacity 1.6s ease 3.6s,fill 1.6s ease 3.2s}
.wall-scene.drawn .ghost path{stroke-dashoffset:0;opacity:.35;fill:rgba(216,153,66,.06)}
.wall-hot{position:absolute;background:transparent!important;border-radius:2px!important;box-shadow:none}
.wall-hot:hover,.wall-hot:focus-visible{transform:none!important;box-shadow:0 0 0 2px var(--camel)!important;background:rgba(255,236,200,.06)!important}
.sr{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}

/* scroll reveal */
.rv{opacity:0;transform:translateY(12px);transition:opacity .7s ease,transform .7s ease}
.rv.in{opacity:1;transform:none}
.no-js .rv{opacity:1;transform:none}

/* foundation status and disabled Give */
.fdn-status{color:var(--fog)}
.foot-fdn{margin:0;font-size:var(--t0);color:var(--fog-dim)}
.btn.is-off,.btn[disabled]{background:var(--char-4);color:var(--fog-dim);border-color:var(--line-2);cursor:not-allowed;box-shadow:none;transform:none;pointer-events:none}

@media (prefers-reduced-motion:reduce){
  .rv{opacity:1;transform:none;transition:none}
  .wall-scene .ghost path{transition:none;stroke-dashoffset:0;opacity:.35;fill:rgba(216,153,66,.06)}
  .poster-grid .poster::after{display:none}
}

/* v5: membership section and daily line note */
.member-list { max-width: 720px; }
.member-note { margin-top: 18px; max-width: 60ch; }
.daily-next { margin-top: 6px; }

/* v7: pricing (Pro monthly, Pro yearly, Founding Lifetime), promo code, Hardship Pass */
:root{--sale:#E2553F;--sale-dk:#C4412D}
.anchor{position:absolute;top:0}
.plans{display:grid;gap:var(--s4);grid-template-columns:minmax(0,1fr)}
@media (min-width:900px){.plans{grid-template-columns:repeat(3,minmax(0,1fr));align-items:stretch}}
.plan{position:relative;display:flex;flex-direction:column;gap:var(--s2);padding:var(--s5) var(--s4) var(--s4);background:var(--char-3);border:1px solid var(--line-2);border-radius:var(--r-lg);box-shadow:0 18px 44px rgba(0,0,0,.35)}
.plan h3{font-size:var(--t4)}
.plan-price{display:flex;align-items:baseline;flex-wrap:wrap;gap:6px 12px;margin:var(--s2) 0 0}
.plan-price .amt{font:600 var(--t6)/1 var(--head);color:var(--fog);letter-spacing:.01em}
.plan-price .amt-big{font-size:var(--t8);color:var(--camel)}
.plan-price .per{font-size:var(--t1);color:var(--fog-dim)}
.plan-price .was{font:600 var(--t5)/1 var(--head);color:var(--fog-dim);text-decoration:line-through;text-decoration-color:var(--sale);text-decoration-thickness:3px}
.reg-note{margin:4px 0 0;font-size:var(--t0);line-height:1.45;color:var(--fog-dim)}
.plan-tag{margin:var(--s2) 0 0;color:var(--fog);font-weight:600}
.plan-terms{margin:0;font-size:var(--t1);line-height:1.5;color:var(--fog-dim)}
.plan-btn{width:100%;margin-top:auto!important}
.plan-life{border-color:var(--camel);background:linear-gradient(180deg,rgba(216,153,66,.10),rgba(216,153,66,0) 45%),var(--char-3);box-shadow:0 0 0 1px rgba(216,153,66,.35),0 24px 60px rgba(0,0,0,.5)}
.sale-tag{position:absolute;top:-14px;left:var(--s4);margin:0;padding:6px 12px 5px;background:var(--sale);color:#1A0B07;font:600 var(--t0)/1 var(--head);letter-spacing:.2em;text-transform:uppercase;border-radius:var(--r-sm);box-shadow:0 6px 18px rgba(226,85,63,.35)}
.spots{margin:var(--s2) 0 0;font-size:var(--t1);color:var(--fog)}
.spots .num{font-size:1.2em}
.plan-more{display:grid;gap:var(--s5);margin-top:var(--s6)}
@media (min-width:900px){.plan-more{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:var(--s7)}}
.plan-sub{font-size:var(--t3);margin-bottom:0}
.plan-more .app-list{margin-top:var(--s3)}
.fine-list{list-style:none;margin-top:var(--s3);display:grid;gap:10px}
.fine-list li{position:relative;padding-left:18px;font-size:var(--t1);line-height:1.55;color:var(--fog-dim)}
.fine-list li::before{content:"";position:absolute;left:2px;top:.7em;width:6px;height:6px;border-radius:50%;background:var(--line-2)}
.plan-extras{display:grid;gap:var(--s5);margin-top:var(--s6);padding-top:var(--s5);border-top:1px solid var(--line)}
@media (min-width:900px){.plan-extras{grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:var(--s7)}}
.promo{display:grid;gap:10px;max-width:440px;align-content:start;align-self:start}
.promo>label{font:600 var(--t0)/1 var(--head);letter-spacing:.16em;text-transform:uppercase;color:var(--fog)}
.promo-row{display:flex;gap:10px}
.promo-row input{flex:1;min-width:0;min-height:44px;padding:0 12px;font:600 var(--t1)/1 var(--body);letter-spacing:.06em;text-transform:uppercase;color:var(--fog);background:var(--char-3);border:1px solid var(--line-2);border-radius:var(--r-sm)}
.promo-row input::placeholder{text-transform:none;letter-spacing:0;font-weight:400;color:var(--fog-dim)}
.promo-row input:focus{outline:none;border-color:var(--steel);box-shadow:0 0 0 3px rgba(62,130,199,.25)}
.promo-row .btn{min-height:44px}
.promo-msg{font-size:var(--t1)}
.hardship-lead{margin:0 0 var(--s2);color:var(--fog)}
.hardship-lead b{color:var(--camel);font-weight:600}
.hardship details{margin:0 0 var(--s3)}
.hardship summary{cursor:pointer;color:var(--steel);font-weight:600;font-size:var(--t1)}
.hardship details .btn{margin-top:var(--s3)}
.hardship-note{font-size:var(--t0);line-height:1.5}

/* v7: AIM Candidate of the Week */
.cand-h1{font-size:clamp(var(--t5),6vw,var(--t7));max-width:22ch;margin:0 0 var(--s3)}
.cand-form{max-width:820px}
.cand-rule{margin-top:4px;font-size:var(--t0)}
.cand-count{font-size:var(--t0)}
.checks{display:grid;gap:12px}
@media (min-width:600px){.form .checks{grid-column:1 / -1}}
.check{display:flex;gap:12px;align-items:flex-start;cursor:pointer;color:var(--fog);font-size:var(--t1);line-height:1.5}
.check input{flex:0 0 auto;width:22px;height:22px;margin:1px 0 0;accent-color:var(--camel)}
.cand-disclaimer{font-size:var(--t0);line-height:1.5;max-width:70ch}
.form .cand-disclaimer{grid-column:1 / -1}
.cand-teaser .cand-cta{display:flex;flex-wrap:wrap;gap:var(--s2);margin:0 0 var(--s3)}
.rules-in{max-width:820px}
.rules-draft{display:inline-block;margin:0 0 var(--s4);padding:8px 12px;border:1px solid var(--sale);color:var(--sale);border-radius:var(--r-sm);font:600 var(--t0)/1.3 var(--head);letter-spacing:.14em;text-transform:uppercase}
.rules-list{margin:var(--s4) 0 var(--s5);padding-left:1.4em;display:grid;gap:12px}
.rules-list li{line-height:1.6}
.rules-list b{color:var(--camel)}
.rules-flag{color:var(--sale);font-size:var(--t0)}
.rules-in,.rules-list li{overflow-wrap:anywhere}

/* v7: privacy and terms pages */
.legal-in{max-width:780px}
.legal-in h2{font-size:var(--t4);margin:var(--s5) 0 var(--s2)}
.legal-upd{color:var(--fog-dim);font-size:var(--t1);margin:0 0 var(--s4)}
.legal-list{margin:0 0 1em;padding-left:1.2em;display:grid;gap:8px}
.legal-in a{color:var(--camel)}
.cand-soon{font:600 var(--t4)/1.3 var(--head);color:var(--camel);text-transform:uppercase;letter-spacing:.04em;margin:0 0 var(--s4)}
.rules-slot h2{font-size:var(--t4);margin:var(--s5) 0 var(--s2)}
.rules-slot ul{padding-left:1.2em;display:grid;gap:6px;margin:0 0 1em}
.rules-slot a{color:var(--camel)}
