/* ============================================================
   ONE METER FOR ZVERNEC — stylesheet (vanilla, deployable)
   Identity: Albanian red + warm black + evergreen, on bone.
   Type: Newsreader · Hanken Grotesk · JetBrains Mono
   ============================================================ */
@import url('https://fonts.googleapis.com/css2?family=Newsreader:ital,opsz,wght@0,6..72,300;0,6..72,400;0,6..72,500;0,6..72,600;1,6..72,300;1,6..72,400;1,6..72,500&family=Hanken+Grotesk:wght@400;500;600;700&family=JetBrains+Mono:wght@400;500;700&display=swap');

:root{
  --paper:#F2EDE3; --paper-2:#ECE5D7; --paper-raise:#FBF9F4; --stone:#D7CDBA; --stone-2:#C4B89F;
  --ink:#15130F; --ink-2:#2C281F; --ink-soft:#5A5346; --ink-faint:#8A8170;
  --on-dark:#EDE7DA; --on-dark-soft:#B7AE9B;
  --red:#A8161B; --red-bright:#C8232A; --red-deep:#6E1116; --red-wash:#F3DCD7;
  --green:#22402F; --green-2:#2F5740; --green-soft:#5C7E62; --green-wash:#DDE5DA;
  --flamingo:#E0617A;
  --hair:#DBD3C4; --hair-strong:#C7BCA6; --hair-dark:rgba(237,231,218,0.16);

  --serif:'Newsreader',Georgia,'Times New Roman',serif;
  --sans:'Hanken Grotesk',system-ui,-apple-system,sans-serif;
  --mono:'JetBrains Mono',ui-monospace,Menlo,monospace;

  --s1:4px;--s2:8px;--s3:12px;--s4:16px;--s5:24px;--s6:32px;--s7:48px;--s8:64px;--s9:96px;--s10:128px;
  --gutter:clamp(22px,5vw,72px); --max:1240px; --prose:680px;
  --r-xs:2px;--r-sm:4px;--r-pill:999px;
  --ease:cubic-bezier(.2,.7,.2,1); --ease-io:cubic-bezier(.65,0,.35,1);
  --focus:0 0 0 2px var(--paper),0 0 0 4px var(--red);
}

*{box-sizing:border-box;}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;}
body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:17px;line-height:1.65;font-weight:400;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;}
img{max-width:100%;display:block;}
a{color:inherit;text-decoration:none;}
button{font-family:inherit;}
::selection{background:var(--red);color:var(--paper);}
:focus-visible{outline:none;box-shadow:var(--focus);border-radius:var(--r-xs);}
[hidden]{display:none !important;}

.wrap{max-width:var(--max);margin:0 auto;padding-inline:var(--gutter);}
.section{padding-block:clamp(64px,9vw,112px);}
.section--tight{padding-block:clamp(40px,6vw,72px);}

/* ---- type ---- */
.eyebrow{font-family:var(--sans);font-weight:600;font-size:12px;letter-spacing:.22em;text-transform:uppercase;color:var(--red);display:inline-flex;align-items:center;gap:10px;margin:0;}
.eyebrow::before{content:"";width:26px;height:1px;background:var(--red);}
.eyebrow.green{color:var(--green-2);}
.eyebrow.green::before{background:var(--green-2);}
.eyebrow.on-dark{color:#F1C3BD;}
.eyebrow.on-dark::before{background:#F1C3BD;}
.eyebrow.plain::before{display:none;}

h1,h2,h3{font-family:var(--serif);font-weight:400;letter-spacing:-.01em;margin:0;text-wrap:balance;}
.display{font-family:var(--serif);font-weight:400;font-size:clamp(44px,7vw,92px);line-height:.98;letter-spacing:-.022em;}
.title{font-family:var(--serif);font-weight:400;font-size:clamp(32px,4.4vw,56px);line-height:1.04;letter-spacing:-.018em;}
.subtitle{font-family:var(--serif);font-weight:400;font-size:clamp(23px,2.8vw,34px);line-height:1.14;letter-spacing:-.012em;}
em,.it{font-style:italic;}
.display em,.title em,.subtitle em,h1 em,h2 em,h3 em{font-style:italic;color:var(--red);}
.lede{font-family:var(--serif);font-size:clamp(19px,2.1vw,24px);line-height:1.5;color:var(--ink-soft);font-weight:300;}
.body{font-size:17px;line-height:1.7;color:var(--ink-soft);max-width:var(--prose);text-wrap:pretty;}
.muted{color:var(--ink-faint);}
.sec-head{display:flex;flex-direction:column;gap:var(--s5);max-width:760px;}

/* ---- buttons ---- */
.btn{font-family:var(--sans);font-weight:600;font-size:13px;letter-spacing:.14em;text-transform:uppercase;padding:16px 30px;border:1px solid transparent;border-radius:var(--r-xs);cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:10px;line-height:1;transition:background .16s var(--ease),color .16s var(--ease),border-color .16s var(--ease),transform .08s var(--ease);white-space:nowrap;}
.btn:active{transform:scale(.98);}
.btn-red{background:var(--red);color:var(--paper);}
.btn-red:hover{background:var(--red-bright);}
.btn-ink{background:var(--ink);color:var(--on-dark);}
.btn-ink:hover{background:var(--ink-2);}
.btn-line{background:transparent;color:var(--ink);border-color:var(--hair-strong);}
.btn-line:hover{border-color:var(--ink);}
.btn-line.on-dark{color:var(--on-dark);border-color:rgba(237,231,218,.3);}
.btn-line.on-dark:hover{border-color:var(--on-dark);background:rgba(237,231,218,.05);}
.btn-lg{padding:19px 38px;font-size:14px;}
.btn-sm{padding:16px 32px;font-size:14px;}
.btn-block{width:100%;}
.btn-ghost{background:transparent;border:0;color:var(--ink);text-transform:none;letter-spacing:0;font-size:14px;padding:8px 4px;cursor:pointer;}
.btn-ghost:hover{color:var(--red);}

.tag{display:inline-flex;align-items:center;gap:7px;font-family:var(--sans);font-weight:600;font-size:11px;letter-spacing:.12em;text-transform:uppercase;padding:7px 13px;border-radius:var(--r-pill);border:1px solid var(--hair-strong);color:var(--ink-soft);}
.ico{display:inline-flex;}

/* ---- brand mark + wordmark ---- */
.brand{display:inline-flex;align-items:center;gap:13px;}
.mark .cell{fill:none;stroke:currentColor;stroke-width:6;opacity:.55;}
.mark .fill{fill:var(--red);stroke:none;}
.brand .mark{color:var(--ink);}
.brand-word{display:flex;flex-direction:column;line-height:1;}
.brand-word .l1{font-family:var(--sans);font-weight:700;font-size:15px;letter-spacing:.2em;text-transform:uppercase;color:var(--ink);white-space:nowrap;}
.brand-word .l2{font-family:var(--sans);font-weight:500;font-size:10px;letter-spacing:.3em;text-transform:uppercase;color:var(--red);margin-top:4px;white-space:nowrap;}

/* ============================================================ HEADER */
.header{position:sticky;top:0;z-index:60;background:rgba(242,237,227,.86);backdrop-filter:blur(12px) saturate(1.1);-webkit-backdrop-filter:blur(12px) saturate(1.1);border-bottom:1px solid var(--hair);}
.header-in{max-width:var(--max);margin:0 auto;padding:14px var(--gutter);display:flex;align-items:center;justify-content:space-between;gap:24px;}
.nav{display:flex;gap:30px;align-items:center;}
.nav a{font-family:var(--sans);font-size:14px;font-weight:500;color:var(--ink-soft);transition:color .14s var(--ease);padding:4px 0;}
.nav a:hover{color:var(--red);}
.header-actions{display:flex;align-items:center;gap:14px;}
.lang{display:inline-flex;border:1px solid var(--hair-strong);border-radius:var(--r-pill);overflow:hidden;background:var(--paper-raise);}
.lang button{font-family:var(--sans);font-weight:600;font-size:12px;letter-spacing:.08em;padding:7px 13px;border:0;cursor:pointer;background:transparent;color:var(--ink-faint);transition:all .14s var(--ease);}
.lang button.active{background:var(--ink);color:var(--paper);}

/* ============================================================ HERO */
.hero{position:relative;overflow:hidden;background:var(--ink);color:var(--on-dark);isolation:isolate;}
.hero__media{position:absolute;inset:0;z-index:-3;background:
  repeating-linear-gradient(115deg,rgba(255,255,255,.04) 0 1px,transparent 1px 30px),
  repeating-linear-gradient(155deg,rgba(0,0,0,.07) 0 1px,transparent 1px 40px),
  radial-gradient(130% 110% at 22% 4%,var(--green-2) 0%,var(--green) 44%,var(--ink) 100%);
  background-size:cover;background-position:center;}
.hero__media.has-img{background-image:var(--hero-img);}
.hero__scrim{position:absolute;inset:0;z-index:-2;pointer-events:none;background:
  linear-gradient(to top,rgba(21,19,15,.92) 0%,rgba(21,19,15,.5) 42%,rgba(21,19,15,.3) 100%),
  linear-gradient(to right,rgba(21,19,15,.7) 0%,rgba(21,19,15,.15) 60%,rgba(21,19,15,0) 85%);}
.hero__grain{position:absolute;inset:0;z-index:-1;pointer-events:none;opacity:.5;background-image:radial-gradient(rgba(255,255,255,.05) .5px,transparent .5px);background-size:3px 3px;}
.hero-in{max-width:var(--max);margin:0 auto;padding:clamp(96px,14vh,170px) var(--gutter) clamp(40px,7vh,72px);}
.hero-text{max-width:760px;display:flex;flex-direction:column;gap:clamp(18px,2.4vh,28px);}
.hero .display{color:var(--paper);}
.hero .display em{color:#F3A39C;}
.hero .lede{color:rgba(237,231,218,.92);font-weight:300;max-width:52ch;}
.hero-cta{display:flex;flex-wrap:wrap;gap:14px;align-items:center;margin-top:var(--s2);}
.hero-note{font-size:13px;color:rgba(237,231,218,.72);display:inline-flex;align-items:center;gap:8px;}
.hero-invite{font-size:14px;line-height:1.55;color:rgba(237,231,218,.86);max-width:54ch;margin:6px 0 0;padding-top:14px;border-top:1px solid rgba(237,231,218,.14);}
.hero-invite .req{color:var(--red-bright);font-weight:700;margin-right:3px;}
/* live strip */
.hero-strip{margin-top:clamp(28px,5vh,56px);border-top:1px solid var(--hair-dark);padding-top:var(--s5);display:flex;flex-wrap:wrap;gap:clamp(20px,5vw,64px);align-items:baseline;}
.hstat{display:flex;flex-direction:column;gap:4px;}
.hstat__n{font-family:var(--mono);font-weight:500;font-size:clamp(26px,3.2vw,40px);color:var(--paper);line-height:1;font-variant-numeric:tabular-nums;}
.hstat__n .pre,.hstat__n .suf{color:var(--red-bright);font-size:.6em;}
.hstat__l{font-family:var(--sans);font-weight:600;font-size:12px;letter-spacing:.04em;color:var(--on-dark-soft);}
.hero-live-dot{width:8px;height:8px;border-radius:50%;background:var(--red-bright);box-shadow:0 0 0 0 rgba(200,35,42,.55);animation:pulse 2s var(--ease) infinite;}

@keyframes pulse{0%{box-shadow:0 0 0 0 rgba(200,35,42,.55);}70%{box-shadow:0 0 0 12px rgba(200,35,42,0);}100%{box-shadow:0 0 0 0 rgba(200,35,42,0);}}

/* ---- compact mission strip (below header) ---- */
.mprog-mini{display:block;background:var(--paper);border-bottom:1px solid var(--hair);transition:background .15s var(--ease);}
.mprog-mini:hover{background:var(--paper-2);}
.mprog-mini__in{display:flex;align-items:center;gap:clamp(14px,3vw,30px);padding:11px var(--gutter);}
.mprog-mini__label{display:inline-flex;align-items:center;gap:9px;font-family:var(--sans);font-weight:600;font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--red);white-space:nowrap;}
.mprog-mini__label .dot{width:7px;height:7px;border-radius:50%;background:var(--red-bright);animation:pulse 2s var(--ease) infinite;}
.mprog-mini__dots{list-style:none;display:flex;align-items:center;gap:9px;margin:0;padding:0;}
.mprog-mini__dots li{width:10px;height:10px;border-radius:50%;background:var(--paper-raise);border:2px solid var(--hair-strong);}
.mprog-mini__dots li.is-done{background:var(--red);border-color:var(--red);}
.mprog-mini__dots li.is-active{background:var(--red);border-color:var(--red);box-shadow:0 0 0 3px var(--red-wash);}
.mprog-mini__now{font-family:var(--sans);font-size:13px;color:var(--ink-soft);white-space:nowrap;margin-left:auto;}
.mprog-mini__now b{color:var(--ink);font-weight:600;}
.mprog-mini__arrow{color:var(--ink-faint);display:flex;flex:0 0 auto;}

/* ---- prestigious live stats board (in hero) ---- */
.hero-board{position:relative;margin-top:clamp(28px,5vh,52px);background:rgba(16,14,10,.5);backdrop-filter:blur(12px) saturate(1.1);-webkit-backdrop-filter:blur(12px) saturate(1.1);border:1px solid rgba(237,231,218,.18);border-radius:var(--r-sm);box-shadow:0 34px 80px -40px rgba(0,0,0,.7);overflow:hidden;}
.hero-board::before{content:"";position:absolute;top:0;left:0;right:0;height:2px;background:linear-gradient(90deg,var(--red),var(--flamingo),var(--red));}
.hero-board__head{display:flex;justify-content:space-between;align-items:center;padding:13px 22px 0;}
.hero-board__cap{font-family:var(--sans);font-weight:600;font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:var(--on-dark-soft);}
.live-badge{display:inline-flex;align-items:center;gap:8px;font-family:var(--mono);font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--flamingo);}
.live-badge .dot{width:7px;height:7px;border-radius:50%;background:var(--red-bright);box-shadow:0 0 0 0 rgba(200,35,42,.55);animation:pulse 2s var(--ease) infinite;}
.hero-board__grid{display:grid;grid-template-columns:repeat(5,1fr);}
.hero-board .hstat{padding:15px 16px 18px;border-left:1px solid rgba(237,231,218,.12);gap:6px;}
.hero-board .hstat:first-child{border-left:0;}
.hero-board .hstat__n{font-size:clamp(21px,2.3vw,32px);}
.hero-board .hstat__l{font-size:12px;color:var(--on-dark-soft);letter-spacing:.02em;}
.hero-board__goal{display:flex;align-items:baseline;justify-content:space-between;gap:12px;padding:13px 22px 16px;border-top:1px solid rgba(237,231,218,.12);}
.hero-board__goal-l{font-family:var(--sans);font-weight:600;font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--on-dark-soft);}
.hero-board__goal-v{font-family:var(--serif);font-size:clamp(20px,2.2vw,28px);color:var(--paper);letter-spacing:-.01em;}
.hero-board__goal-sub{font-family:var(--mono);font-size:12px;color:var(--on-dark-soft);letter-spacing:0;}

/* ============================================================ IDEA */
.idea{background:var(--paper);}
.idea-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:clamp(40px,6vw,84px);align-items:center;}
.idea-body{display:flex;flex-direction:column;gap:var(--s5);}
.idea-body .body{margin:0;}
.idea-onevote{display:flex;gap:12px;align-items:flex-start;padding:var(--s5);border:1px solid var(--hair);border-left:3px solid var(--red);border-radius:var(--r-xs);background:var(--paper-raise);}
.idea-onevote .ico{color:var(--red);flex:0 0 auto;margin-top:1px;}
.idea-onevote p{margin:0;font-size:15px;line-height:1.6;color:var(--ink-soft);}
.idea-onevote b{color:var(--ink);}

/* meter card (€70 = 1 m², €68 -> €70) */
.meter-card{background:var(--ink);color:var(--on-dark);border-radius:var(--r-sm);padding:clamp(26px,3.2vw,42px);box-shadow:0 30px 70px -34px rgba(21,19,15,.5);}
.meter-card__eq{font-family:var(--serif);font-size:clamp(38px,4.6vw,58px);letter-spacing:-.02em;line-height:1;}
.meter-card__eq .a{color:var(--red-bright);}.meter-card__eq .b{color:var(--paper);}
.meter-card__sub{font-size:14px;color:var(--on-dark-soft);margin-top:10px;}
.meter-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:6px;margin:var(--s6) 0 var(--s3);}
.mtile{aspect-ratio:1/1;border-radius:2px;background:rgba(237,231,218,.09);border:1px solid var(--hair-dark);}
.mtile--you{background:var(--red);border-color:var(--red);box-shadow:0 0 0 0 rgba(200,35,42,.5);animation:pulse 2.2s var(--ease) infinite;}
.meter-legend{display:inline-flex;align-items:center;gap:8px;font-family:var(--sans);font-size:12px;font-weight:600;color:var(--on-dark-soft);}
.meter-legend .mtile{width:13px;height:13px;aspect-ratio:auto;}
.meter-compare{display:flex;align-items:center;gap:clamp(14px,3vw,28px);margin:var(--s6) 0 var(--s4);padding-top:var(--s5);border-top:1px solid var(--hair-dark);}
.mcol{display:flex;flex-direction:column;gap:5px;}
.mcol__l{font-family:var(--sans);font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--on-dark-soft);}
.mcol__v{font-family:var(--serif);font-size:clamp(26px,3vw,34px);color:var(--paper);letter-spacing:-.01em;}
.mcol__v.muted{color:var(--on-dark-soft);text-decoration:line-through;text-decoration-color:rgba(183,174,155,.55);}
.mcol__arrow{color:var(--red-bright);display:flex;}
.meter-note{font-size:13px;color:var(--on-dark-soft);line-height:1.6;margin:var(--s2) 0 0;}
.idea-sources{margin-top:var(--s6);}
.idea-sources__l{font-family:var(--sans);font-weight:600;font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--ink-faint);display:block;margin-bottom:var(--s3);}
.idea-sources__chips{display:flex;flex-wrap:wrap;gap:8px;}
.src-chip{font-family:var(--sans);font-size:12px;font-weight:600;color:var(--ink-soft);border:1px solid var(--hair-strong);border-radius:var(--r-pill);padding:6px 12px;background:var(--paper-raise);}

/* ============================================================ HOW IT WORKS / MISSION PROGRESS */
.how{background:var(--paper-2);}
.mprog{margin-top:var(--s8);}
.mprog__head{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:var(--s4);}
.mprog__live{display:inline-flex;align-items:center;gap:9px;font-family:var(--sans);font-weight:600;font-size:12px;letter-spacing:.18em;text-transform:uppercase;color:var(--red);}
.mprog__live .pulse{width:8px;height:8px;border-radius:50%;background:var(--red-bright);box-shadow:0 0 0 0 rgba(200,35,42,.55);animation:pulse 2s var(--ease) infinite;}
.mprog__phase{font-family:var(--mono);font-size:13px;letter-spacing:.04em;color:var(--ink-faint);}
.mprog__phase b{color:var(--red);font-weight:700;}
.mprog__steps{list-style:none;margin:0;padding:62px 0 0;display:grid;grid-template-columns:repeat(5,1fr);}
.mstep{position:relative;display:flex;flex-direction:column;align-items:center;text-align:center;gap:14px;padding:0 var(--s3);}
.mstep__rail{position:absolute;top:23px;left:-50%;width:100%;height:3px;background:var(--hair-strong);z-index:0;border-radius:2px;}
.mstep:first-child .mstep__rail{display:none;}
.mstep.is-done .mstep__rail,.mstep.is-active .mstep__rail{background:linear-gradient(90deg,var(--red-deep),var(--red));}
.mstep__node{position:relative;z-index:1;width:46px;height:46px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-family:var(--mono);font-size:14px;font-weight:600;background:var(--paper-raise);border:2px solid var(--hair-strong);color:var(--ink-faint);box-shadow:0 2px 0 rgba(21,19,15,.04);transition:all .2s var(--ease);}
.mstep__ring{position:absolute;inset:-6px;border-radius:50%;border:1px solid transparent;}
.mstep.is-done .mstep__node{background:var(--red);border-color:var(--red);color:var(--paper);box-shadow:0 6px 16px -6px rgba(168,22,27,.6);}
.mstep.is-active .mstep__node{width:54px;height:54px;border:2.5px solid var(--red);color:var(--red);box-shadow:0 10px 24px -8px rgba(168,22,27,.45);}
.mstep.is-active .mstep__ring{inset:-7px;border-color:var(--red);opacity:.45;animation:ringExpand 2.4s var(--ease) infinite;}
@keyframes ringExpand{0%{transform:scale(.85);opacity:.5;}70%{transform:scale(1.25);opacity:0;}100%{transform:scale(1.25);opacity:0;}}
.mstep__flamingo{position:absolute;left:50%;bottom:calc(100% + 7px);transform:translateX(-50%);width:42px;pointer-events:none;z-index:4;filter:drop-shadow(0 6px 7px rgba(21,19,15,.22));animation:flamBob 3s var(--ease-io) infinite;}
.mstep__flamingo svg{width:100%;height:auto;display:block;}
@keyframes flamBob{0%,100%{transform:translateX(-50%) translateY(0) rotate(0);}50%{transform:translateX(-50%) translateY(-5px) rotate(-2deg);}}
.mstep__body{display:flex;flex-direction:column;align-items:center;gap:7px;}
.mstep__tag{font-family:var(--mono);font-size:10px;font-weight:500;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-faint);}
.mstep.is-done .mstep__tag,.mstep.is-active .mstep__tag{color:var(--red);}
.mstep__t{font-family:var(--sans);font-weight:600;font-size:13.5px;line-height:1.3;color:var(--ink);max-width:18ch;}
.mstep.is-todo .mstep__t{color:var(--ink-faint);}
.mstep.is-active .mstep__t{font-weight:700;}
.mstep__d{font-size:12.5px;line-height:1.45;color:var(--ink-faint);max-width:20ch;}
.mstep__s{display:inline-block;padding:3px 10px;border-radius:var(--r-pill);font-family:var(--sans);font-size:10px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;background:var(--paper-2);color:var(--ink-faint);border:1px solid var(--hair);}
.mstep.is-done .mstep__s{background:var(--red-wash);color:var(--red);border-color:transparent;}
.mstep.is-active .mstep__s{background:var(--red);color:var(--paper);border-color:transparent;}

/* ============================================================ PRINCIPLES */
.principles{background:var(--ink);color:var(--on-dark);}
.principles .eyebrow{color:#F1C3BD;}.principles .eyebrow::before{background:#F1C3BD;}
.principles .title{color:var(--on-dark);}
.principles .body{color:var(--on-dark-soft);}
.prin-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--hair-dark);border:1px solid var(--hair-dark);border-radius:var(--r-xs);overflow:hidden;margin-top:var(--s7);}
.prin{background:var(--ink);padding:var(--s6) var(--s5);display:flex;flex-direction:column;gap:var(--s3);transition:background .18s var(--ease);}
.prin:hover{background:var(--ink-2);}
.prin .ico{color:var(--red-bright);}
.prin__t{font-family:var(--sans);font-weight:600;font-size:16px;color:var(--on-dark);}
.prin__d{font-size:14px;color:var(--on-dark-soft);line-height:1.6;}
.prin-note{margin-top:var(--s6);padding:var(--s5) var(--s6);border:1px solid var(--hair-dark);border-left:3px solid var(--red-bright);border-radius:var(--r-xs);background:rgba(237,231,218,.03);color:var(--on-dark);font-size:clamp(15px,1.7vw,18px);line-height:1.6;max-width:none;}

/* ============================================================ COUNTER + GOAL */
.counter{background:var(--paper);}
.objective{margin-top:var(--s8);display:grid;grid-template-columns:auto 1fr;gap:clamp(24px,4vw,56px);align-items:center;padding:clamp(24px,3vw,40px);border:1px solid var(--hair-strong);border-left:3px solid var(--red);border-radius:var(--r-xs);background:var(--paper-raise);}
.objective__main{display:flex;flex-direction:column;gap:7px;}
.objective__l{font-family:var(--sans);font-weight:600;font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--ink-faint);}
.objective__v{font-family:var(--serif);font-size:clamp(40px,5.5vw,68px);line-height:1;letter-spacing:-.02em;color:var(--red);}
.objective__break{font-family:var(--mono);font-size:13px;color:var(--ink-soft);}
.objective__desc{margin:0;font-size:15px;line-height:1.65;color:var(--ink-soft);max-width:48ch;}
.counter-head{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;flex-wrap:wrap;margin-bottom:var(--s7);}
.ctr-grid{display:grid;grid-template-columns:repeat(5,1fr);}
.ctr-cell{padding-left:var(--s5);border-left:1px solid var(--hair);}
.ctr-cell:first-child{border-left:0;padding-left:0;}
.ctr-num{font-family:var(--mono);font-weight:500;font-size:clamp(32px,4.2vw,56px);line-height:1;letter-spacing:-.02em;color:var(--ink);font-variant-numeric:tabular-nums;display:flex;align-items:baseline;gap:3px;}
.ctr-num .pre,.ctr-num .suf{color:var(--red);font-size:.5em;}
.ctr-label{margin-top:var(--s4);font-family:var(--sans);font-weight:600;font-size:13px;color:var(--ink-soft);}
.goalbar{margin-top:var(--s8);border-top:1px solid var(--hair);padding-top:var(--s6);}
.goalbar__top{display:flex;align-items:baseline;justify-content:space-between;gap:16px;margin-bottom:var(--s3);}
.goalbar__label{font-family:var(--sans);font-weight:600;font-size:13px;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-soft);}
.goalbar__pct{font-family:var(--mono);font-weight:500;font-size:clamp(22px,2.6vw,30px);color:var(--red);font-variant-numeric:tabular-nums;}
.goalbar__track{height:14px;background:var(--paper-2);border:1px solid var(--hair);border-radius:var(--r-pill);overflow:hidden;}
.goalbar__fill{height:100%;min-width:14px;background:linear-gradient(90deg,var(--red-deep),var(--red));border-radius:var(--r-pill);transform-origin:left center;}
.goalbar__fill.grow{animation:goalGrow 1.4s var(--ease) both;}
@keyframes goalGrow{from{transform:scaleX(0);}to{transform:scaleX(1);}}
.goalbar__nums{display:flex;align-items:baseline;justify-content:space-between;gap:16px;margin-top:var(--s3);font-family:var(--mono);font-size:13px;color:var(--ink-faint);}
.goalbar__cur{color:var(--ink);}

/* ============================================================ WHY NOW BAND */
.whyband{background:var(--ink);color:var(--on-dark);text-align:center;position:relative;overflow:hidden;}
.whyband::before{content:"";position:absolute;inset:0;background:radial-gradient(62% 80% at 50% 0%,rgba(200,35,42,.16),transparent 62%);pointer-events:none;}
.whyband__in{position:relative;max-width:940px;margin:0 auto;display:flex;flex-direction:column;align-items:center;gap:var(--s6);}
.whyband .title{color:var(--paper);max-width:20ch;}
.why-reasons{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(20px,3vw,40px);width:100%;text-align:left;margin-top:var(--s2);}
.why-r{display:flex;flex-direction:column;gap:var(--s3);padding-top:var(--s4);border-top:1px solid var(--hair-dark);}
.why-r__n{font-family:var(--mono);font-size:13px;font-weight:500;color:var(--red-bright);letter-spacing:.12em;}
.why-r p{margin:0;font-family:var(--serif);font-size:clamp(17px,1.9vw,21px);line-height:1.32;color:var(--on-dark);}

/* why-now manifesto block */
.manifesto{position:relative;width:100%;margin:var(--s3) 0 0;padding:clamp(28px,4vw,48px) clamp(26px,4vw,52px);text-align:left;border:1px solid rgba(237,231,218,.16);border-left:3px solid var(--red);border-radius:var(--r-sm);background:linear-gradient(180deg,rgba(200,35,42,.10),rgba(237,231,218,.02));box-shadow:0 30px 70px -42px rgba(0,0,0,.7);overflow:hidden;}
.manifesto::after{content:"";position:absolute;top:-40%;right:-10%;width:55%;height:180%;background:radial-gradient(closest-side,rgba(200,35,42,.18),transparent);pointer-events:none;}
.manifesto__mark{position:absolute;top:6px;left:18px;font-family:var(--serif);font-style:italic;font-size:120px;line-height:1;color:rgba(224,97,122,.22);pointer-events:none;}
.manifesto__label{position:relative;font-family:var(--sans);font-weight:700;font-size:12px;letter-spacing:.18em;text-transform:uppercase;color:var(--red-bright);margin:0 0 var(--s4);}
.manifesto__quote{position:relative;margin:0;font-family:var(--serif);font-size:clamp(20px,2.5vw,30px);line-height:1.34;letter-spacing:-.01em;color:var(--paper);max-width:40ch;}
.manifesto__quote em{font-style:italic;color:#F3A39C;}

/* ============================================================ PLEDGE */
.pledge{background:var(--paper-2);}
.pledge-grid{display:grid;grid-template-columns:1fr 1.02fr;gap:clamp(40px,6vw,80px);align-items:start;}
.pledge-aside{display:flex;flex-direction:column;gap:var(--s6);position:sticky;top:96px;}
.symbolic{border:1px solid var(--hair-strong);border-radius:var(--r-xs);background:var(--paper-raise);padding:var(--s6);display:flex;flex-direction:column;gap:var(--s2);}
.symbolic .eq{font-family:var(--serif);font-size:clamp(30px,3.6vw,46px);letter-spacing:-.02em;line-height:1;}
.symbolic .eq b{color:var(--red);font-weight:400;}
.symbolic .sub{font-size:14px;color:var(--ink-faint);}
.sym-tag{align-self:flex-start;font-family:var(--sans);font-weight:700;font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--green-2);background:var(--green-wash);border-radius:var(--r-pill);padding:5px 11px;margin-top:8px;}
.cta-sub{font-size:13px;color:var(--ink-faint);}
.cta-sub.on-dark{color:var(--on-dark-soft);}
.pledge-clarify{font-size:13px;line-height:1.5;color:var(--ink-soft);margin:0 0 var(--s4);padding:11px 14px;background:var(--green-wash);border:1px solid var(--green-soft);border-radius:var(--r-xs);}
.pledge-clarify b{color:var(--green-2);}
.pledge-voice{font-family:var(--serif);font-style:italic;font-size:clamp(22px,2.6vw,30px);line-height:1.25;color:var(--green);}
.pl-open{display:inline-flex;align-items:center;gap:9px;align-self:flex-start;margin-top:var(--s4);font-family:var(--sans);font-weight:600;font-size:13px;letter-spacing:.01em;color:var(--green-2);background:var(--green-wash);border:1px solid var(--green-soft);border-radius:var(--r-pill);padding:8px 14px;}
.pl-open svg{flex:0 0 auto;}
.pledge-purpose{display:flex;flex-direction:column;gap:var(--s3);}
.pledge-purpose .row{display:flex;gap:12px;font-size:15px;color:var(--ink-soft);align-items:flex-start;}
.pledge-purpose .row .x{color:var(--red);font-family:var(--mono);flex:0 0 auto;}
.pledge-purpose .row.yes .x{color:var(--green-2);}

.form-card{background:var(--paper-raise);border:1px solid var(--hair-strong);border-radius:var(--r-sm);padding:clamp(24px,3.2vw,40px);}
.field{display:flex;flex-direction:column;gap:8px;margin-bottom:var(--s5);}
.field label{font-family:var(--sans);font-weight:600;font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-soft);}
.field .req{color:var(--red);}
.inp{font-family:var(--sans);font-size:16px;color:var(--ink);padding:13px 15px;border:1px solid var(--hair-strong);border-radius:var(--r-xs);background:var(--paper);transition:border-color .14s var(--ease),box-shadow .14s var(--ease);width:100%;}
.inp::placeholder{color:var(--ink-faint);}
.inp:focus{outline:none;border-color:var(--red);box-shadow:0 0 0 3px var(--red-wash);}
.field-row{display:grid;grid-template-columns:1fr 1fr;gap:var(--s4);}
.phone-row{display:grid;grid-template-columns:auto 1fr;gap:10px;}
.phone-prefix{-webkit-appearance:none;appearance:none;cursor:pointer;min-width:116px;padding-right:32px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%235A5346' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 11px center;}
textarea.inp{resize:vertical;font-family:var(--sans);}

.tiers{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;}
.tier{border:1px solid var(--hair-strong);border-radius:var(--r-xs);background:var(--paper);padding:16px 18px;cursor:pointer;text-align:left;display:flex;flex-direction:column;gap:4px;transition:all .14s var(--ease);}
.tier:hover{border-color:var(--red);}
.tier.sel{border-color:var(--red);background:var(--red-wash);box-shadow:inset 0 0 0 1px var(--red);}
.tier .amt{font-family:var(--serif);font-size:28px;letter-spacing:-.02em;color:var(--ink);}
.tier .m2{font-family:var(--mono);font-size:12px;color:var(--ink-faint);}
.tier.sel .m2{color:var(--red);}
.tier.custom{grid-column:1/-1;flex-direction:row;align-items:center;justify-content:space-between;}
.tier.custom .lbl{font-family:var(--sans);font-weight:600;font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-soft);}
.tier.custom.sel .lbl{color:var(--red);}
.custom-inp{font-family:var(--serif);font-size:24px;width:80px;border:0;border-bottom:1px solid var(--hair-strong);background:transparent;color:var(--ink);padding:4px 0;text-align:right;}
.custom-inp:focus{outline:none;border-color:var(--red);}
.custom-wrap{display:flex;align-items:center;gap:6px;}
.custom-wrap .cur{font-family:var(--serif);font-size:22px;color:var(--ink-faint);}
.custom-eq{font-family:var(--mono);font-size:15px;font-weight:500;color:var(--red);margin-left:8px;white-space:nowrap;}
.amount-note{margin:10px 0 0;font-size:12.5px;line-height:1.5;color:var(--ink-soft);font-weight:500;}
.amount-note .req{color:var(--red);font-weight:700;margin-right:2px;}
.hp{position:absolute !important;left:-9999px;top:auto;width:1px;height:1px;overflow:hidden;}

.disclaimer{display:flex;gap:12px;align-items:flex-start;margin:var(--s5) 0;padding:var(--s4);background:var(--paper-2);border:1px solid var(--hair);border-radius:var(--r-xs);}
.disclaimer input{margin-top:3px;accent-color:var(--red);width:17px;height:17px;flex:0 0 auto;}
.disclaimer label{font-size:13px;line-height:1.55;color:var(--ink-soft);}
.pledge-total{display:flex;align-items:baseline;justify-content:space-between;gap:16px;padding:var(--s4) 0;border-top:1px solid var(--hair);margin-top:var(--s2);}
.pledge-total .tl{font-family:var(--sans);font-weight:600;font-size:13px;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-faint);}
.pledge-total .tv{font-family:var(--serif);font-size:34px;letter-spacing:-.02em;}
.pledge-total .tv b{color:var(--red);font-weight:400;}
.form-error{color:var(--red);font-size:14px;margin:0 0 var(--s4);}

.success{text-align:center;display:flex;flex-direction:column;align-items:center;gap:var(--s5);padding:var(--s6) 0;}
.success .check{width:64px;height:64px;border-radius:50%;background:var(--green);color:var(--on-dark);display:flex;align-items:center;justify-content:center;}
.success .sv{font-family:var(--serif);font-style:italic;font-size:clamp(22px,2.6vw,30px);color:var(--green);max-width:24ch;}
.share{display:flex;gap:10px;flex-wrap:wrap;justify-content:center;}

/* ============================================================ FAQ */
.faq{background:var(--paper);}
.faq-grid{display:grid;grid-template-columns:.7fr 1.3fr;gap:clamp(32px,5vw,72px);align-items:start;}
.faq-list{border-top:1px solid var(--hair-strong);}
.faq-item{border-bottom:1px solid var(--hair);}
.faq-q{width:100%;background:transparent;border:0;cursor:pointer;display:flex;align-items:flex-start;justify-content:space-between;gap:24px;padding:var(--s5) 0;text-align:left;font-family:var(--serif);font-size:clamp(19px,2.1vw,24px);color:var(--ink);line-height:1.25;}
.faq-q:hover{color:var(--red);}
.faq-ico{flex:0 0 auto;margin-top:6px;color:var(--red);transition:transform .26s var(--ease);}
.faq-item.open .faq-ico{transform:rotate(45deg);}
.faq-a{overflow:hidden;max-height:0;transition:max-height .3s var(--ease);}
.faq-a-in{padding:0 48px var(--s6) 0;color:var(--ink-soft);font-size:17px;line-height:1.7;max-width:60ch;}

/* ============================================================ FINAL + FOOTER */
.final{background:var(--red);color:var(--paper);text-align:center;}
.final .display{color:var(--paper);}
.final .display em{color:var(--ink);}
.final-in{display:flex;flex-direction:column;align-items:center;gap:var(--s6);max-width:900px;margin:0 auto;}
.final .sub{font-family:var(--serif);font-size:clamp(20px,2.3vw,28px);font-style:italic;color:rgba(242,237,227,.92);}
.final .btn-ink{background:var(--ink);color:var(--paper);}
.final .btn-ink:hover{background:var(--ink-2);}
.footer{background:var(--ink);color:var(--on-dark-soft);padding-block:var(--s9) var(--s6);}
.footer-grid{display:grid;grid-template-columns:1.5fr 1fr 1fr 1.2fr;gap:40px;padding-bottom:var(--s7);border-bottom:1px solid var(--hair-dark);}
.footer .brand .mark{color:var(--on-dark);}
.footer .brand-word .l1{color:var(--on-dark);}
.footer-tag{font-family:var(--serif);font-style:italic;font-size:19px;color:var(--on-dark);margin-top:var(--s4);max-width:26ch;line-height:1.4;}
.footer h5{font-family:var(--sans);font-weight:600;font-size:12px;letter-spacing:.18em;text-transform:uppercase;color:var(--on-dark);margin:0 0 var(--s4);}
.footer a{display:block;font-size:14px;color:var(--on-dark-soft);padding:5px 0;transition:color .14s var(--ease);}
.footer a:hover{color:var(--red-bright);}
.footer-base{display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap;padding-top:var(--s5);font-size:12px;color:var(--ink-faint);letter-spacing:.03em;}
.footer .disc{max-width:62ch;font-size:12px;color:var(--ink-faint);line-height:1.6;margin-top:var(--s4);}

/* ============================================================ STICKY CTA */
.stickycta{position:fixed;left:0;right:0;bottom:0;z-index:65;padding:0 12px;transform:translateY(130%);transition:transform .32s var(--ease);pointer-events:none;}
.stickycta.show{transform:none;pointer-events:auto;}
.stickycta__in{max-width:1080px;margin:0 auto 14px;background:var(--ink);color:var(--on-dark);border:1px solid var(--hair-dark);border-radius:var(--r-sm);box-shadow:0 18px 50px -16px rgba(21,19,15,.65);display:flex;align-items:center;justify-content:space-between;gap:16px;padding:12px 14px 12px 22px;}
.stickycta__left{display:flex;flex-direction:column;gap:3px;min-width:0;}
.stickycta__count{display:inline-flex;align-items:center;gap:8px;font-family:var(--mono);font-size:12px;letter-spacing:.05em;color:var(--red-bright);}
.stickycta__dot{width:7px;height:7px;border-radius:50%;background:var(--red-bright);animation:pulse 2s var(--ease) infinite;}
.stickycta__line{font-family:var(--serif);font-size:clamp(15px,2vw,20px);color:var(--paper);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}

/* ============================================================ REVEAL */
@media (prefers-reduced-motion:no-preference){
  .reveal{opacity:0;transform:translateY(18px);}
  .reveal.in{animation:revealIn .7s var(--ease) both;}
}
@keyframes revealIn{from{opacity:0;transform:translateY(18px);}to{opacity:1;transform:none;}}

/* ============================================================ RESPONSIVE */
@media (max-width:1000px){
  .nav{display:none;}
  .idea-grid,.faq-grid,.pledge-grid{grid-template-columns:1fr;}
  .prin-grid{grid-template-columns:1fr 1fr;}
  .ctr-grid{grid-template-columns:1fr 1fr;gap:var(--s6);}
  .objective{grid-template-columns:1fr;gap:var(--s5);}  .ctr-cell{border-left:0;padding-left:0;border-top:1px solid var(--hair);padding-top:var(--s5);}
  .pledge-aside{position:static;}
  .mprog__steps{grid-template-columns:1fr;gap:var(--s5);padding-top:0;}
  .mstep{flex-direction:row;align-items:flex-start;text-align:left;gap:var(--s4);padding:var(--s2) 0;}
  .mstep.is-active{margin-top:54px;}
  .mstep__rail{top:-50%;left:23px;width:3px;height:100%;}
  .mstep__body{align-items:flex-start;gap:6px;padding-top:4px;}
  .mstep__t,.mstep__d{max-width:none;}
  .mstep__flamingo{left:23px;}
}
@media (max-width:620px){
  .ctr-grid,.tiers,.field-row,.prin-grid{grid-template-columns:1fr;}
  .why-reasons{grid-template-columns:1fr;}
  .footer-grid{grid-template-columns:1fr 1fr;}
  .header .nav-cta{display:none;}
  .stickycta__in{padding:11px 12px 11px 16px;}
  .stickycta__line{font-size:14px;}
  .hero-board__grid{grid-template-columns:1fr 1fr;}
  .hero-board .hstat:nth-child(odd){border-left:0;}
  .mprog-mini__label span:last-child{display:none;}
}
