:root{
  --ink:#0A0B0E;
  --ink-2:#131519;
  --paper:#F5F1E8;
  --paper-2:#EDE7D6;
  --dim-on-dark:#A4ABB6;
  --dim-on-light:#4E4A3D;
  --line-dark:#2C3038;
  --line-light:#DCD5BF;

  --kill-1:#FF4433; --kill-2:#C41E3A;
  --scale-1:#00E28A; --scale-2:#00B36F;
  --fix-1:#FFC24D; --fix-2:#FF8A1E;
  --wait-1:#8C6BFF; --wait-2:#5B3DF0;

  --font-display:'Bricolage Grotesque', sans-serif;
  --font-mono:'IBM Plex Mono', monospace;
  --font-body:'IBM Plex Sans', sans-serif;
  --ease-out: cubic-bezier(.16,1,.3,1);
  --chrome-h: 108px;
}
*{ box-sizing:border-box; margin:0; padding:0; }
html{ background:var(--ink); }
html, body{ overflow-x:hidden; }
body{
  font-family:var(--font-body);
  background:var(--ink);
  color:var(--paper);
  -webkit-font-smoothing:antialiased;
}
a{ color:inherit; }
::selection{ background:var(--fix-1); color:var(--ink); }
.grad-text{
  background:linear-gradient(100deg, var(--scale-1), var(--wait-1) 55%, var(--kill-1));
  -webkit-background-clip:text; background-clip:text; color:transparent;
}

/* ================= chrome: header + ticker ================= */
.site-chrome{
  position:fixed; top:0; left:0; right:0; z-index:90;
  -webkit-transform:translateZ(0); transform:translateZ(0);
  backface-visibility:hidden; -webkit-backface-visibility:hidden;
}
.site-header{
  display:flex; align-items:center; justify-content:space-between;
  padding:16px 28px;
  font-family:var(--font-mono);
  background:var(--ink);
  border-bottom:1px solid var(--line-dark);
}
.site-header .mark{ font-weight:700; letter-spacing:.02em; color:var(--paper); font-size:15px; }
.site-header .mark span{ color:var(--scale-1); text-shadow:0 0 16px rgba(0,226,138,.6); }
.nav-links{ display:flex; align-items:center; gap:26px; }
.nav-links a{
  text-decoration:none; font-size:13px; letter-spacing:.03em; font-weight:600;
  color:var(--dim-on-dark); transition:color .2s;
}
.nav-links a:hover{ color:var(--paper); }
.apply-btn{
  text-decoration:none; font-size:13px; letter-spacing:.03em; font-weight:700;
  padding:9px 18px; border-radius:999px; color:#0A0B0E;
  background:linear-gradient(120deg, var(--scale-1), var(--wait-1));
  box-shadow:0 0 20px rgba(0,226,138,.6), 0 0 34px rgba(140,107,255,.4);
  transition:transform .25s var(--ease-out), box-shadow .25s var(--ease-out);
}
.apply-btn:hover{ transform:translateY(-2px); box-shadow:0 4px 32px rgba(0,226,138,.75), 0 0 40px rgba(140,107,255,.5); }

.nav-toggle{
  display:none; width:44px; height:44px; border-radius:10px; flex:none;
  border:1px solid var(--line-dark); background:transparent; cursor:pointer;
  align-items:center; justify-content:center;
}
.nav-toggle svg{ width:18px; height:18px; color:var(--paper); }

.mobile-nav{
  position:fixed; inset:0; z-index:95; background:var(--ink);
  display:flex; flex-direction:column; align-items:center; justify-content:center; gap:26px;
  transform:translateY(-100%); transition:transform .3s var(--ease-out);
}
.mobile-nav.open{ transform:translateY(0); }
.mobile-nav a{
  font-family:var(--font-display); font-weight:700; font-size:1.7rem;
  color:var(--paper); text-decoration:none;
}
.mobile-nav .apply-btn{ margin-top:14px; font-size:15px; padding:12px 26px; }
.mobile-nav-close{
  position:absolute; top:18px; right:20px; width:44px; height:44px; border-radius:10px;
  border:1px solid var(--line-dark); background:transparent; display:flex;
  align-items:center; justify-content:center; cursor:pointer;
}
.mobile-nav-close svg{ width:18px; height:18px; color:var(--paper); }

@media (max-width:720px){
  .nav-links{ display:none; }
  .nav-toggle{ display:flex; }
  .site-header .apply-btn{ display:none; }
}

.ticker-bar{
  height:44px; overflow:hidden;
  background:#0A0B0E;
  border-bottom:1px solid var(--line-dark);
  display:flex; align-items:center;
}
.ticker-track{
  display:flex; align-items:center; gap:0; white-space:nowrap;
  animation:tickerMove 26s linear infinite;
  animation-play-state:paused;
  will-change:transform;
}
.ticker-track.playing{ animation-play-state:running; }
@keyframes tickerMove{ from{ transform:translateX(0);} to{ transform:translateX(-50%);} }
.chip{
  display:inline-flex; align-items:center; gap:9px;
  font-family:var(--font-mono); font-size:12px; font-weight:600; letter-spacing:.04em;
  padding:0 22px; border-right:1px solid var(--line-dark); color:var(--dim-on-dark);
}
.chip .tag{
  padding:3px 9px; border-radius:5px; color:#0A0B0E; font-weight:700;
}
.chip .tag.KILL{ background:linear-gradient(120deg,var(--kill-1),var(--kill-2)); color:#fff; }
.chip .tag.SCALE{ background:linear-gradient(120deg,var(--scale-1),var(--scale-2)); }
.chip .tag.FIX{ background:linear-gradient(120deg,var(--fix-1),var(--fix-2)); }
.chip .tag.WAIT{ background:linear-gradient(120deg,var(--wait-1),var(--wait-2)); color:#fff; }

/* ================= hero ================= */
.hero-scene{
  position:relative; min-height:100vh; height:100vh;
  display:flex; align-items:center; justify-content:center;
  overflow:hidden; padding-top:var(--chrome-h);
}
.hero-bg{ position:absolute; inset:0; z-index:0; background:var(--ink); overflow:hidden; contain:strict; }
.hero-bg .blob{ position:absolute; border-radius:50%; filter:blur(46px); opacity:.4; }
.hero-bg .b1{ width:42vw; height:42vw; background:radial-gradient(circle, var(--kill-1), transparent 70%); top:-14%; left:-10%; }
.hero-bg .b2{ width:38vw; height:38vw; background:radial-gradient(circle, var(--scale-1), transparent 70%); bottom:-16%; right:-8%; }
.hero-bg .b3{ width:32vw; height:32vw; background:radial-gradient(circle, var(--wait-1), transparent 70%); top:20%; right:8%; }
.hero-bg .b4{ width:28vw; height:28vw; background:radial-gradient(circle, var(--fix-1), transparent 70%); bottom:6%; left:12%; }
.hero-pin{ position:relative; z-index:2; width:min(1040px, 92vw); margin:0 auto; text-align:center; }
.headline{
  font-family:var(--font-display); font-weight:800; letter-spacing:-.02em;
  font-size:clamp(2.8rem, 7.4vw, 6rem); line-height:1.04;
}
.headline .accent{
  background:linear-gradient(120deg, var(--fix-1), var(--fix-2));
  -webkit-background-clip:text; background-clip:text; color:transparent;
}
.hero-sub{
  font-size:clamp(1rem, 1.6vw, 1.2rem); line-height:1.55; color:var(--dim-on-dark);
  max-width:52ch; margin:26px auto 0;
}
.hero-scroll-cue{
  margin-top:40px; font-family:var(--font-mono); font-size:11px;
  letter-spacing:.14em; color:var(--dim-on-dark); text-transform:uppercase;
}
.hero-scroll-cue::after{
  content:''; display:block; width:1px; height:26px; margin:10px auto 0;
  background:linear-gradient(var(--dim-on-dark), transparent);
}

/* ================= chapters ================= */
.chapter{ position:relative; padding:min(13vh,120px) 0; overflow:hidden; }
.chapter.first{ padding-top:calc(var(--chrome-h) + min(13vh,120px)); }
.chapter.light{ background:var(--paper); color:var(--ink); }
.chapter.dark{ background:var(--ink); color:var(--paper); }
.chapter.light .bgpattern{
  position:absolute; inset:0; opacity:.5; pointer-events:none;
  background-image:radial-gradient(rgba(0,0,0,.06) 1.4px, transparent 1.4px);
  background-size:22px 22px;
}
.chapter.dark .bgpattern{
  position:absolute; inset:0; opacity:.7; pointer-events:none;
  background-image:radial-gradient(rgba(255,255,255,.05) 1.4px, transparent 1.4px);
  background-size:22px 22px;
}
.bignum{
  position:absolute; top:-4vh; right:-1vw; z-index:0;
  font-family:var(--font-display); font-weight:800; font-size:min(34vw,420px);
  line-height:1; letter-spacing:-.02em; user-select:none; pointer-events:none;
}
.chapter.light .bignum{ color:rgba(10,11,14,.05); }
.chapter.dark .bignum{ color:rgba(255,255,255,.045); }

.chapter .wrap{
  position:relative; z-index:1;
  width:min(1120px, 90vw); margin:0 auto;
  display:grid; grid-template-columns:1fr; gap:20px;
}
.chapter-time{
  font-family:var(--font-mono); font-size:12px; letter-spacing:.08em;
  color:var(--dim-on-light); display:inline-flex; align-items:center; gap:8px;
}
.chapter.dark .chapter-time{ color:var(--dim-on-dark); }
.chapter-title{
  font-family:var(--font-display); font-weight:800;
  font-size:clamp(2.4rem, 5.2vw, 4.2rem); letter-spacing:-.02em; line-height:1.02;
}
.section-subtitle{
  font-family:var(--font-display); font-weight:700;
  font-size:clamp(1.4rem, 2.4vw, 1.9rem); letter-spacing:-.01em; line-height:1.1;
  margin-top:10px;
}
.chapter-body{
  font-size:clamp(1.04rem, 1.5vw, 1.28rem); line-height:1.6;
  max-width:60ch; color:var(--dim-on-light); font-weight:500;
}
.chapter.dark .chapter-body{ color:var(--dim-on-dark); }

.chapter .wrap > *{ opacity:0; transform:translateY(30px) scale(.98); transition:opacity .9s var(--ease-out), transform .9s var(--ease-out); }
.chapter .wrap.in > *{ opacity:1; transform:none; }
.chapter .wrap.in > *:nth-child(2){ transition-delay:.08s; }
.chapter .wrap.in > *:nth-child(3){ transition-delay:.16s; }
.chapter .wrap.in > *:nth-child(4){ transition-delay:.24s; }

/* threshold rows */
.threshold-table{ border-collapse:collapse; margin-top:10px; max-width:680px; width:100%; }
.threshold-table caption{
  position:absolute; width:1px; height:1px; padding:0; margin:-1px;
  overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0;
}
.threshold-table tbody{ display:flex; flex-direction:column; gap:14px; }
.t-row{
  display:flex; align-items:center; justify-content:space-between;
  padding:20px 26px; border-radius:16px; font-family:var(--font-mono); font-size:15px;
  font-weight:600; color:#fff; box-shadow:0 14px 34px -14px rgba(0,0,0,.35);
  transform-origin:0% 50%;
}
.t-row.scale{ background:linear-gradient(120deg, var(--scale-1), var(--scale-2)); color:#052e1f; }
.t-row.watch{ background:linear-gradient(120deg, var(--wait-1), var(--wait-2)); }
.t-row.fix{ background:linear-gradient(120deg, var(--fix-1), var(--fix-2)); color:#3a1e00; }
.t-verdict{ font-weight:800; letter-spacing:.03em; }

/* rules list */
.rule-list{ display:flex; flex-direction:column; gap:0; max-width:680px; margin-top:8px; }
.rule-item{ display:flex; gap:22px; padding:22px 0; border-top:1px solid var(--line-dark); }
.rule-item:last-child{ border-bottom:1px solid var(--line-dark); }
.rule-num{
  font-family:var(--font-mono); font-weight:800; font-size:15px; flex:none; width:38px; height:38px;
  display:flex; align-items:center; justify-content:center; border-radius:10px; color:#fff;
  background:linear-gradient(120deg, var(--kill-1), var(--kill-2));
}
.rule-num.step{ background:linear-gradient(120deg, var(--scale-1), var(--scale-2)); color:#052e1f; }
.rule-text{ font-size:1.06rem; line-height:1.5; color:var(--dim-on-dark); padding-top:4px; }
.rule-text b{ color:var(--paper); font-weight:700; }
.chapter.light .rule-text{ color:var(--dim-on-light); }
.chapter.light .rule-text b{ color:var(--ink); }
.chapter.light .rule-item{ border-color:var(--line-light); }

/* faq */
.faq-list{ display:flex; flex-direction:column; gap:0; max-width:760px; margin-top:8px; }
.faq-item{ padding:22px 0; border-top:1px solid var(--line-dark); }
.faq-item:last-child{ border-bottom:1px solid var(--line-dark); }
.faq-q{
  font-family:var(--font-display); font-weight:700;
  font-size:1.15rem; letter-spacing:-.005em; color:var(--paper); margin:0 0 8px;
}
.faq-a{ font-size:1.02rem; line-height:1.6; max-width:62ch; color:var(--dim-on-dark); margin:0; }
.chapter.light .faq-item{ border-color:var(--line-light); }
.chapter.light .faq-q{ color:var(--ink); }
.chapter.light .faq-a{ color:var(--dim-on-light); }

/* channels */
.channels{ display:grid; grid-template-columns:repeat(3,1fr); gap:22px; margin-top:14px; }
@media (max-width:820px){ .channels{ grid-template-columns:1fr; } }
.channel{
  border-radius:20px; padding:26px; display:flex; flex-direction:column; gap:14px;
  min-height:190px; color:#fff; box-shadow:0 18px 40px -18px rgba(0,0,0,.4);
}
.channel.c1{ background:linear-gradient(150deg, var(--scale-2), #0A6B4B); }
.channel.c2{ background:linear-gradient(150deg, var(--wait-2), #2E1F8F); }
.channel.c3{ background:linear-gradient(150deg, var(--fix-2), #B34A00); }
.channel-icon{ width:36px; height:36px; }
.channel-name{ font-family:var(--font-mono); font-size:12px; letter-spacing:.08em; text-transform:uppercase; opacity:.85; }
.channel-copy{ font-size:1rem; line-height:1.5; font-weight:500; }

/* services */
.services-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:22px; margin-top:20px; }
@media (max-width:900px){ .services-grid{ grid-template-columns:1fr; } }
.service-card{
  border-radius:20px; padding:30px; border:1px solid var(--line-dark);
  display:flex; flex-direction:column; gap:14px;
}
.chapter.light .service-card{ border-color:var(--line-light); }
.service-icon{
  width:44px; height:44px; border-radius:12px; flex:none;
  display:flex; align-items:center; justify-content:center;
}
.service-icon svg{ width:22px; height:22px; }
.service-icon.svc1{ background:linear-gradient(150deg, var(--scale-1), var(--scale-2)); }
.service-icon.svc2{ background:linear-gradient(150deg, var(--wait-1), var(--wait-2)); }
.service-icon.svc3{ background:linear-gradient(150deg, var(--fix-1), var(--fix-2)); }
.service-title{ font-family:var(--font-display); font-weight:800; font-size:1.3rem; letter-spacing:-.01em; }
.service-body{ font-size:1rem; line-height:1.55; color:var(--dim-on-dark); }
.chapter.light .service-body{ color:var(--dim-on-light); }
.service-list{ display:flex; flex-direction:column; gap:8px; margin-top:2px; list-style:none; padding:0; }
.service-list li{ font-size:.92rem; line-height:1.4; display:flex; gap:10px; align-items:flex-start; color:var(--dim-on-dark); }
.chapter.light .service-list li{ color:var(--dim-on-light); }
.service-list li::before{ content:''; width:6px; height:6px; border-radius:50%; margin-top:6px; flex:none; background:var(--scale-1); }

/* contact */
.contact-rows{ display:flex; flex-direction:column; gap:14px; margin-top:14px; max-width:420px; }
.contact-row{
  display:flex; align-items:center; gap:16px; padding:16px 20px; border-radius:16px;
  border:1px solid var(--line-light); text-decoration:none; color:inherit;
  transition:border-color .2s var(--ease-out), transform .2s var(--ease-out);
}
.contact-row:hover{ border-color:var(--scale-1); transform:translateY(-2px); }
.chapter.dark .contact-row{ border-color:var(--line-dark); }
.contact-icon{
  flex:none; width:42px; height:42px; border-radius:12px;
  display:flex; align-items:center; justify-content:center; color:#fff;
  background:linear-gradient(150deg, var(--scale-1), var(--scale-2));
}
.contact-icon svg{ width:20px; height:20px; }
.contact-text{ display:flex; flex-direction:column; gap:2px; }
.contact-label{
  font-family:var(--font-mono); font-size:11px; letter-spacing:.08em;
  text-transform:uppercase; color:var(--dim-on-light);
}
.chapter.dark .contact-label{ color:var(--dim-on-dark); }
.contact-value{ font-family:var(--font-mono); font-size:15px; font-weight:600; }

.chapter .wrap.contact-wrap{ grid-template-columns:1.15fr .85fr; align-items:center; gap:48px; }
@media (max-width:820px){ .chapter .wrap.contact-wrap{ grid-template-columns:1fr; } }
.contact-left{ display:flex; flex-direction:column; gap:20px; }
.contact-right{ display:flex; align-items:center; justify-content:center; }
.apply-panel{
  width:100%; text-align:center; padding:44px 36px; border-radius:24px;
  border:1px solid var(--line-light); background:rgba(10,11,14,.02);
}
.apply-panel-label{
  font-family:var(--font-display); font-weight:800;
  font-size:clamp(1.3rem, 2vw, 1.6rem); letter-spacing:-.01em;
}
.apply-panel-body{
  margin-top:12px; font-size:.98rem; line-height:1.5; color:var(--dim-on-light);
}
.contact-apply{ margin:28px auto 0; width:fit-content; }

.apply-form{ display:flex; flex-direction:column; gap:16px; text-align:left; margin-top:22px; }
.apply-form .hp{ position:absolute; opacity:0; height:0; width:0; pointer-events:none; }
.form-row{ display:flex; flex-direction:column; gap:6px; }
.form-row label{
  font-family:var(--font-mono); font-size:11px; letter-spacing:.06em;
  text-transform:uppercase; color:var(--dim-on-light);
}
.form-row input, .form-row textarea{
  font-family:var(--font-body); font-size:.98rem; padding:12px 14px; border-radius:10px;
  border:1px solid var(--line-light); background:#fff; color:var(--ink); resize:vertical;
}
.form-row input:focus, .form-row textarea:focus{ outline:none; border-color:var(--scale-1); }
.apply-form .contact-apply{ align-self:center; margin:8px 0 0; }
.form-error{ color:var(--kill-1); font-size:.9rem; margin:0; }
.form-privacy{ font-size:.8rem; color:var(--dim-on-light); margin:0; }
.form-privacy a{ text-decoration:underline; text-underline-offset:2px; }
.apply-success .apply-panel-label{ color:var(--scale-2); }

/* founder */
.founder-row{ display:flex; align-items:center; gap:28px; flex-wrap:wrap; }
.founder-badge{
  font-family:var(--font-mono); font-size:13px; font-weight:700; padding:12px 20px; border-radius:999px;
  color:#0A0B0E; white-space:nowrap;
  background:linear-gradient(120deg, var(--fix-1), var(--kill-1));
}
.pull-quote{
  font-family:var(--font-display); font-weight:700;
  font-size:clamp(1.3rem, 2.4vw, 1.7rem); line-height:1.35;
  margin-top:26px; padding-left:20px; border-left:4px solid var(--fix-1);
  max-width:52ch;
}

/* CTA */
.cta{ background:var(--ink-2); color:var(--paper); padding:min(18vh,190px) 0; text-align:center; position:relative; overflow:hidden; }
.cta.first{ padding-top:calc(var(--chrome-h) + min(18vh,190px)); }
.cta .glow{ position:absolute; inset:auto 0 -30% 0; height:80%; filter:blur(80px); opacity:.5; pointer-events:none;
  background:radial-gradient(50% 80% at 20% 100%, var(--kill-1), transparent 65%),
             radial-gradient(50% 80% at 80% 100%, var(--scale-1), transparent 65%),
             radial-gradient(40% 70% at 50% 100%, var(--wait-1), transparent 70%);
}
.cta .wrap{ width:min(800px,88vw); margin:0 auto; position:relative; z-index:1; }
.cta-title{ font-family:var(--font-display); font-weight:800; font-size:clamp(2.2rem, 5vw, 4rem); line-height:1.05; letter-spacing:-.02em; }
.cta-body{ margin-top:22px; font-size:clamp(1rem,1.6vw,1.18rem); line-height:1.6; color:var(--dim-on-dark); max-width:54ch; margin-left:auto; margin-right:auto; }
.cta-btn{
  display:inline-flex; align-items:center; gap:10px; margin-top:40px; padding:18px 34px; border-radius:999px;
  background:linear-gradient(120deg, var(--scale-1), var(--wait-1)); color:#06110C; text-decoration:none;
  font-weight:800; font-size:1.05rem; box-shadow:0 0 0 0 rgba(0,226,138,.35);
  transition:transform .25s var(--ease-out), box-shadow .25s var(--ease-out);
}
.cta-btn:hover{ transform:translateY(-3px) scale(1.02); box-shadow:0 10px 40px rgba(0,226,138,.4); }
.cta-btn svg{ width:17px; height:17px; transition:transform .25s var(--ease-out); }
.cta-btn:hover svg{ transform:translateX(3px); }
.cta-note{ margin-top:18px; font-family:var(--font-mono); font-size:11px; letter-spacing:.06em; color:var(--dim-on-dark); }

.site-footer{ background:var(--ink); color:var(--dim-on-dark); padding:44px 0 36px; text-align:center; font-family:var(--font-mono); font-size:12px; }
.site-footer .mark{ color:var(--paper); font-weight:700; margin-bottom:14px; }
.site-footer .mark span{ color:var(--scale-1); }
.site-footer .footer-links{ margin-top:10px; display:flex; align-items:center; justify-content:center; gap:16px; }
.site-footer .footer-links a{ text-decoration:underline; text-underline-offset:3px; }
.footer-social{ display:inline-flex; color:var(--dim-on-dark); text-decoration:none !important; transition:color .2s var(--ease-out); }
.footer-social:hover{ color:var(--scale-1); }

@media (max-width:760px){
  :root{ --chrome-h:120px; }
  /* blob sizes are in vw, so on a narrow phone they're small in actual pixels —
     the same fixed blur radius that reads as a soft glow on desktop nearly
     erases a much smaller circle. Bigger blobs, less blur, more opacity. */
  .hero-bg .blob{ filter:blur(24px); opacity:.6; }
  .hero-bg .b1{ width:75vw; height:75vw; }
  .hero-bg .b2{ width:68vw; height:68vw; }
  .hero-bg .b3{ width:58vw; height:58vw; }
  .hero-bg .b4{ width:52vw; height:52vw; }
}

@media (prefers-reduced-motion: reduce){
  .chapter .wrap > *{ transition:none !important; }
  .ticker-track{ animation-duration:60s; }
}
