/* We think in straight lines — simonberg.ai brand (dark, Anton, red accent). */
:root{
  --red:#FF1200; --dark:#16181B; --light:#F5F5FC; --blue:#016FC1; --lime:#C8EE32;
  --bg:var(--dark); --fg:var(--light);
  --fg-muted:rgba(245,245,252,0.55); --fg-subtle:rgba(245,245,252,0.28);
  --surface:rgba(245,245,252,0.04); --surface-2:rgba(245,245,252,0.06); --surface-hover:rgba(245,245,252,0.10);
  --border:rgba(245,245,252,0.12);
  --display:'Anton','Impact','Arial Narrow',sans-serif; --body:Arial,Helvetica,sans-serif;
  --nav-h:64px; --gutter:clamp(24px,5vw,80px); --maxw:1120px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--bg);color:var(--fg);font-family:var(--body);font-size:17px;line-height:1.65;-webkit-font-smoothing:antialiased}
img{max-width:100%;display:block}
h1,h2,h3{font-family:var(--display);font-weight:400;text-transform:uppercase;line-height:.94;letter-spacing:.01em;margin:0}
em{font-style:normal;color:var(--red)}
.eyebrow{font-weight:700;font-size:12px;letter-spacing:.22em;text-transform:uppercase;color:var(--red);margin-bottom:16px}
.red{color:var(--red)}

/* nav (site standard) */
.nav{position:fixed;top:0;left:0;right:0;z-index:100;height:var(--nav-h);display:flex;align-items:center;padding:0 var(--gutter);background:rgba(22,24,27,.82);backdrop-filter:saturate(140%) blur(12px);border-bottom:1px solid var(--border)}
.nav-inner{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;width:100%;max-width:1280px;margin:0 auto}
.nav-inner>a:first-child{grid-column:1;justify-self:start;display:inline-flex}
.nav-logo{height:26px;width:auto;opacity:.95}
.nav-links{grid-column:2;display:flex;align-items:center;justify-content:center;gap:32px}
.nav-links a{font-family:var(--body);font-size:12px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--fg-muted);text-decoration:none;transition:color .2s}
.nav-links a:hover{color:var(--fg)}
.nav-links a.active{color:var(--red)}
.nav-right{grid-column:3;justify-self:end;display:flex;align-items:center;justify-content:flex-end;gap:20px}
.burger{display:none;background:none;border:none;cursor:pointer;padding:6px;z-index:201;-webkit-tap-highlight-color:transparent}
.burger span{display:block;width:22px;height:2px;background:var(--fg);border-radius:2px;transition:transform .3s ease,opacity .2s ease}
.burger span+span{margin-top:6px}
.burger.open span:nth-child(1){transform:translateY(8px) rotate(45deg)}
.burger.open span:nth-child(2){opacity:0}
.burger.open span:nth-child(3){transform:translateY(-8px) rotate(-45deg)}
.mobile-menu{position:fixed;inset:0;z-index:200;background:rgba(22,24,27,.97);backdrop-filter:blur(30px);display:flex;flex-direction:column;align-items:center;justify-content:center;opacity:0;pointer-events:none;transition:opacity .35s ease}
.mobile-menu.open{opacity:1;pointer-events:auto}
.mobile-menu a{font-family:var(--display);font-size:clamp(28px,8vw,42px);text-transform:uppercase;color:var(--fg);text-decoration:none;padding:12px 0}
.mobile-menu a.active{color:var(--red)}
.mobile-menu-close{position:absolute;top:18px;right:var(--gutter);background:none;border:none;cursor:pointer;color:var(--fg);padding:8px;opacity:.6}
@media(max-width:900px){.nav-links{display:none}.burger{display:flex;flex-direction:column;align-items:center;justify-content:center}}

/* layout */
.section{position:relative;padding:clamp(72px,10vw,140px) 0}
.section>*{max-width:var(--maxw);margin-left:auto;margin-right:auto;padding-left:var(--gutter);padding-right:var(--gutter)}
.band{background:#101215;border-top:1px solid var(--border);border-bottom:1px solid var(--border)}
.section-head{display:grid;grid-template-columns:1fr 1fr;gap:32px;align-items:end;margin-bottom:56px}
.section-head h2{font-size:clamp(34px,5.4vw,68px)}
.section-head p{color:var(--fg-muted);margin:0}
@media(max-width:760px){.section-head{grid-template-columns:1fr;gap:16px}}

/* hero */
.hero{position:relative;min-height:100vh;display:flex;align-items:center;overflow:hidden;border-bottom:1px solid var(--border)}
#heroCurve{position:absolute;inset:0;width:100%;height:100%;z-index:0;opacity:.9}
.hero-inner{position:relative;z-index:1;max-width:var(--maxw);margin:0 auto;padding:calc(var(--nav-h) + 40px) var(--gutter) 40px;width:100%}
.hero h1{font-size:clamp(56px,12vw,168px);margin:8px 0 26px}
.lede{max-width:34ch;font-size:clamp(18px,2.2vw,26px);line-height:1.45;color:rgba(245,245,252,.82)}
.scroll-cue{display:inline-block;margin-top:40px;font-family:var(--body);font-weight:700;font-size:13px;letter-spacing:.14em;text-transform:uppercase;color:var(--red);text-decoration:none}
.scroll-cue:hover{color:var(--fg)}

/* stage + controls */
.stage{max-width:var(--maxw)}
.controls{display:flex;flex-wrap:wrap;gap:12px;margin-top:32px}
.btn{font-family:var(--body);font-weight:700;font-size:14px;letter-spacing:.04em;text-transform:uppercase;padding:14px 26px;border:1px solid var(--border);border-radius:2px;background:var(--surface-2);color:var(--fg);cursor:pointer;transition:background .15s,border-color .15s}
.btn:hover{background:var(--surface-hover);border-color:var(--fg-subtle)}
.btn-primary{background:var(--red);border-color:var(--red);color:#fff}
.btn-primary:hover{background:#e01000}

/* module 1: counter */
.counter-wrap{border:1px solid var(--border);border-radius:4px;background:var(--surface);padding:clamp(28px,5vw,56px);text-align:center}
.counter-meta{display:flex;justify-content:space-between;font-family:var(--body);font-weight:700;font-size:14px;letter-spacing:.14em;text-transform:uppercase;color:var(--fg-subtle)}
.counter{font-family:var(--display);font-size:clamp(40px,9vw,120px);line-height:1;color:var(--fg);margin:24px 0 12px;word-break:break-all;transition:color .1s}
.counter.huge{color:var(--red)}
.counter-compare{font-size:clamp(16px,2vw,22px);color:var(--fg-muted);min-height:1.5em}
.counter-bar{height:8px;background:var(--surface-2);border-radius:4px;overflow:hidden;margin-top:28px}
.counter-bar-fill{height:100%;width:0;background:linear-gradient(90deg,var(--blue),var(--red));transition:width .25s ease}

/* module 2: predict chart */
.chart{position:relative;height:clamp(320px,52vw,520px);border:1px solid var(--border);border-radius:4px;background:var(--surface);overflow:hidden}
.chart canvas{position:absolute;inset:0;width:100%;height:100%}
.chart-guessline{position:absolute;left:0;right:0;bottom:38%;height:2px;background:var(--lime);cursor:ns-resize;z-index:3;touch-action:none}
.chart-handle{position:absolute;right:14px;top:-14px;background:var(--lime);color:#0e0f11;font-family:var(--body);font-weight:700;font-size:12px;letter-spacing:.08em;text-transform:uppercase;padding:4px 10px;border-radius:3px;white-space:nowrap}
.chart-axis-x{position:absolute;left:14px;right:14px;bottom:8px;display:flex;justify-content:space-between;font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--fg-subtle);z-index:2}
.verdict{margin-top:24px;padding:22px 26px;border-left:2px solid var(--red);background:var(--surface);font-size:clamp(16px,2vw,21px);line-height:1.5}
.verdict b{color:var(--red)}

/* module 3: fold */
.fold-wrap{border:1px solid var(--border);border-radius:4px;background:var(--surface);padding:clamp(28px,5vw,56px);text-align:center}
.fold-meta{font-family:var(--body);font-weight:700;font-size:14px;letter-spacing:.14em;text-transform:uppercase;color:var(--fg-subtle)}
.fold-thickness{font-family:var(--display);font-size:clamp(40px,8vw,104px);line-height:1;color:var(--fg);margin:20px 0 12px}
.fold-thickness.huge{color:var(--red)}
.fold-compare{font-size:clamp(16px,2vw,22px);color:var(--fg-muted);min-height:1.5em}

/* closing */
.closing-copy{max-width:44ch;font-size:clamp(18px,2.1vw,23px);line-height:1.55}
.closing-copy p{color:rgba(245,245,252,.8);margin:0 0 22px}
.closing-copy .signoff{font-family:var(--display);text-transform:uppercase;font-size:clamp(26px,4vw,44px);line-height:1.05;color:var(--fg);margin-top:40px}
.closing-copy .sig{font-family:var(--display);color:var(--red);font-size:34px;margin-top:8px}

/* footer */
footer{border-top:1px solid var(--border)}
.footer-inner{max-width:var(--maxw);margin:0 auto;padding:clamp(48px,7vw,88px) var(--gutter);text-align:center}
.footer-logo{height:30px;width:auto;margin:0 auto 20px;opacity:.9}
.footer-tagline{font-family:var(--display);font-size:clamp(22px,3vw,34px);text-transform:uppercase;margin:0 0 12px}
.footer-copy{color:var(--fg-subtle);font-size:13px;margin:0}

@media(max-width:640px){
  body{font-size:16px}
  .section{padding:64px 0}
  .section-head{margin-bottom:32px}
  .controls .btn{flex:1 1 auto}
}

/* ===== v2 module visuals ===== */
/* module 1: rice */
.rice-stage{position:relative;height:clamp(380px,58vw,580px);border:1px solid var(--border);border-radius:4px;overflow:hidden;background:#0e0f11}
.rice-stage canvas{position:absolute;inset:0;width:100%;height:100%}
.rice-overlay{position:absolute;inset:0;padding:clamp(22px,3vw,40px);pointer-events:none;background:linear-gradient(180deg,rgba(14,15,17,.92) 0%,rgba(14,15,17,.62) 34%,rgba(14,15,17,0) 62%)}
.rice-overlay .counter-meta{display:flex;justify-content:space-between;font-weight:700;font-size:13px;letter-spacing:.14em;text-transform:uppercase;color:var(--fg-subtle)}
.counter{font-family:var(--display);font-size:clamp(38px,8vw,104px);line-height:1;color:var(--fg);margin:14px 0 10px;word-break:break-all;text-shadow:0 2px 26px rgba(0,0,0,.85)}
.counter.huge{color:var(--red)}
.counter-compare{font-size:clamp(16px,2vw,22px);color:var(--fg);text-shadow:0 2px 14px rgba(0,0,0,.95);min-height:1.4em}
.rice-screens{margin-top:8px;font-family:var(--body);font-weight:700;font-size:clamp(14px,1.6vw,18px);color:var(--red);text-shadow:0 2px 14px rgba(0,0,0,.95);min-height:1.2em}

/* module 2: chart with axes */
.chart-frame{display:flex;gap:12px}
.chart-yaxis{position:relative;width:56px;flex:0 0 auto;font-size:11px;letter-spacing:.04em;color:var(--fg-subtle);font-weight:700}
.chart-yaxis span{position:absolute;right:6px;transform:translateY(50%);white-space:nowrap}
.chart{position:relative;flex:1;height:clamp(340px,52vw,540px);border:1px solid var(--border);border-radius:4px;background:var(--surface);overflow:visible}
.chart canvas{position:absolute;inset:0;width:100%;height:100%}
.guess-dot{position:absolute;right:-11px;top:50%;width:22px;height:22px;border-radius:50%;background:var(--lime);border:3px solid #0e0f11;box-shadow:0 2px 10px rgba(0,0,0,.55);cursor:ns-resize;z-index:4;touch-action:none;transform:translateY(-50%)}
.guess-label{position:absolute;right:30px;top:50%;transform:translateY(-50%);background:var(--lime);color:#0e0f11;font-weight:700;font-size:12px;letter-spacing:.05em;text-transform:uppercase;padding:5px 10px;border-radius:3px;white-space:nowrap}
.chart-xaxis{display:flex;justify-content:space-between;margin:10px 0 0 68px;font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--fg-subtle)}

/* module 3: fold + altitude */
.fold-layout{display:grid;grid-template-columns:1fr 230px;gap:clamp(20px,3vw,40px);align-items:stretch}
.fold-wrap{border:1px solid var(--border);border-radius:4px;background:var(--surface);padding:clamp(28px,4vw,48px);display:flex;flex-direction:column;justify-content:center;text-align:center}
.fold-thickness{font-family:var(--display);font-size:clamp(40px,7vw,92px);line-height:1;color:var(--fg);margin:18px 0 12px}
.fold-thickness.huge{color:var(--red)}
.fold-compare{font-size:clamp(16px,2vw,22px);color:var(--fg-muted);min-height:1.5em}
.fold-meta{font-weight:700;font-size:13px;letter-spacing:.14em;text-transform:uppercase;color:var(--fg-subtle)}
.altitude{position:relative;border:1px solid var(--border);border-radius:4px;background:var(--surface);overflow:hidden;min-height:400px}
.altitude-fill{position:absolute;left:0;right:0;bottom:0;height:0;background:linear-gradient(0deg,var(--red),rgba(255,18,0,.12));transition:height .3s ease}
.alt-mark{position:absolute;left:0;right:0;border-top:1px dashed var(--border);font-size:10px;letter-spacing:.05em;text-transform:uppercase;color:var(--fg-subtle);padding:3px 10px;line-height:1.2}
.alt-mark.hit{color:var(--fg);border-top-color:var(--red)}
@media(max-width:760px){.fold-layout{grid-template-columns:1fr}.altitude{min-height:300px}}

/* ===== v3: fold landmark illustration ===== */
.fold-progress{height:8px;background:var(--surface-2);border-radius:4px;overflow:hidden;margin-top:26px}
.fold-progress-fill{height:100%;width:0;background:linear-gradient(90deg,var(--blue),var(--red));transition:width .3s ease}
.landmark{border:1px solid var(--border);border-radius:4px;background:var(--surface);display:flex;flex-direction:column;align-items:center;justify-content:center;padding:28px 20px;min-height:400px;text-align:center}
.landmark-art{height:210px;display:flex;align-items:flex-end;justify-content:center}
.landmark-art svg{height:100%;width:auto;max-width:100%}
.landmark-art.pop{animation:lmpop .5s cubic-bezier(.2,.8,.2,1)}
@keyframes lmpop{from{opacity:0;transform:scale(.82) translateY(14px)}to{opacity:1;transform:none}}
.landmark-name{font-family:var(--display);text-transform:uppercase;font-size:clamp(22px,2.6vw,30px);color:var(--fg);margin-top:22px;line-height:1}
.landmark-height{font-family:var(--body);font-size:15px;color:var(--fg-muted);margin-top:8px;letter-spacing:.02em}
@media(max-width:760px){.landmark{min-height:320px}.landmark-art{height:170px}}

/* fold count: grey+small at 0 folds, jumps to 2x + red on first fold and stays */
.fold-meta{transition:font-size .28s cubic-bezier(.2,.8,.2,1),color .25s ease}
.fold-meta.folded{font-size:26px;color:var(--red)}
