:root{
  --bg:#0a0d12;--bg-alt:#0f131a;--panel:#141922;--panel-2:#181f2a;
  --text:#e7ebf0;--muted:#98a3b0;--faint:#5c6774;
  --accent:#22d3ee;--accent-2:#0e93ac;--accent-glow:rgba(34,211,238,0.14);
  --border:#232b36;--border-soft:#1a212b;
  --mono:'IBM Plex Mono',ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;
  --sans:'Inter',-apple-system,BlinkMacSystemFont,system-ui,sans-serif;
  --max-w:720px;--radius:10px;
}
*,*::before,*::after{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:76px}
body{
  font-family:var(--sans);background:var(--bg);color:var(--text);
  line-height:1.65;font-size:16px;-webkit-font-smoothing:antialiased;
  background-image:radial-gradient(var(--border-soft) 1px,transparent 1px);
  background-size:26px 26px;background-position:-6px -6px;
}
a{color:inherit;text-decoration:none}
.wrap{max-width:var(--max-w);margin:0 auto}

/* NAV */
.nav{position:fixed;top:0;left:0;right:0;z-index:100;padding:0 1.5rem;background:rgba(10,13,18,0.85);backdrop-filter:blur(10px);border-bottom:1px solid var(--border-soft)}
.nav-inner{max-width:var(--max-w);margin:0 auto;display:flex;align-items:center;justify-content:space-between;height:64px}
.brand{font-family:var(--sans);font-weight:800;font-size:1.02rem;letter-spacing:-0.01em;color:var(--text)}
.brand .accent{color:var(--accent)}
.nav-cta{font-family:var(--mono);font-size:0.78rem;font-weight:600;padding:0.5rem 0.95rem;border:1px solid var(--border);border-radius:999px;color:var(--muted);transition:border-color 0.2s,color 0.2s}
.nav-cta:hover{border-color:var(--accent);color:var(--accent)}

/* HERO */
.hero{padding:8.5rem 1.5rem 4.5rem;position:relative}
.hero-inner{position:relative;z-index:1;max-width:var(--max-w);margin:0 auto}
.eyebrow{font-family:var(--mono);font-size:0.74rem;font-weight:600;letter-spacing:0.14em;text-transform:uppercase;color:var(--accent);margin-bottom:1.4rem}
.hero h1{font-weight:800;font-size:clamp(2.1rem,5.6vw,3.4rem);line-height:1.14;letter-spacing:-0.02em;margin-bottom:1.3rem;text-wrap:balance}
.hero-sub{font-size:clamp(1.02rem,2vw,1.15rem);color:var(--muted);max-width:56ch;line-height:1.65;margin-bottom:2.2rem}

/* EEC SIGN-UP BLOCK (shared: hero + closing CTA) */
.eec-block{max-width:520px}
.eec-form{display:flex;gap:0.6rem;flex-wrap:wrap}
.eec-form input{
  flex:1 1 220px;background:var(--panel);border:1px solid var(--border);border-radius:8px;
  padding:0.85rem 1rem;font-family:var(--sans);font-size:0.98rem;color:var(--text);outline:none;
  transition:border-color 0.2s,box-shadow 0.2s;
}
.eec-form input::placeholder{color:var(--faint)}
.eec-form input:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-glow)}
.eec-form button{flex:0 0 auto}
.eec-note{font-size:0.92rem;margin-top:0.9rem;min-height:0}
.eec-note-success{color:var(--accent)}
.eec-note-error{color:#f3a1a1}
.eec-microcopy{margin-top:0.9rem;font-size:0.82rem;color:var(--faint);line-height:1.55}

.btn{
  display:inline-block;font-family:var(--sans);font-weight:700;font-size:0.95rem;
  padding:0.85rem 1.5rem;border-radius:8px;cursor:pointer;border:1px solid transparent;
  transition:transform 0.15s,box-shadow 0.2s,background 0.2s,opacity 0.2s;
}
.btn-primary{background:var(--accent);color:#04181c}
.btn-primary:hover{transform:translateY(-1px);box-shadow:0 8px 24px rgba(34,211,238,0.22)}
.btn-primary:disabled{opacity:0.6;cursor:default;transform:none;box-shadow:none}

/* SECTIONS */
.section{padding:4.5rem 1.5rem}
.bg-alt{background:var(--bg-alt);border-top:1px solid var(--border-soft);border-bottom:1px solid var(--border-soft)}
.section-label{font-family:var(--mono);font-size:0.74rem;font-weight:600;letter-spacing:0.12em;text-transform:uppercase;color:var(--accent);margin-bottom:0.9rem}
.section h2{font-weight:800;font-size:clamp(1.55rem,3.4vw,2.15rem);line-height:1.2;letter-spacing:-0.015em;margin-bottom:0.9rem;text-wrap:balance}
.lead{font-size:1.02rem;color:var(--muted);max-width:60ch;line-height:1.65}

/* MISTAKES LIST */
.mistakes-list{list-style:none;margin-top:2.4rem;display:flex;flex-direction:column;gap:1rem}
.mistake-item{
  display:flex;gap:1.1rem;align-items:flex-start;padding:1.4rem 1.5rem;
  background:var(--panel);border:1px solid var(--border);border-left:3px solid var(--accent);
  border-radius:var(--radius);
}
.mistake-num{font-family:var(--mono);font-size:0.85rem;font-weight:600;color:var(--accent);padding-top:0.15rem;flex:0 0 auto}
.mistake-body h3{font-size:1.05rem;font-weight:700;margin-bottom:0.4rem}
.mistake-body p{color:var(--muted);font-size:0.95rem;line-height:1.6}

/* REASSURANCE */
.reassure{max-width:60ch}
.reassure-line{font-size:1.08rem;color:var(--text);line-height:1.65;margin-bottom:0.8rem}
.reassure-line:last-child{margin-bottom:0;color:var(--muted)}

/* CLOSING CTA */
.cta-band h2{margin-bottom:1.6rem}

/* FOOTER */
.footer{padding:2.6rem 1.5rem;text-align:center;border-top:1px solid var(--border-soft)}
.footer-copy{color:var(--faint);font-size:0.8rem}

@media(max-width:640px){
  .hero{padding:7rem 1.25rem 3.5rem}
  .section{padding:3.25rem 1.25rem}
  .nav{padding:0 1.25rem}
  /* Stacked: kill the wrap and the 220px flex-basis, which becomes a HEIGHT once the
     main axis is vertical (a 220px-tall input otherwise). */
  .eec-form{flex-direction:column;flex-wrap:nowrap}
  .eec-form input{flex:0 0 auto;width:100%}
  .eec-form button{flex:0 0 auto;width:100%}
  /* iOS Safari zooms the page when a focused input is under 16px. */
  .eec-form input{font-size:16px}
  .mistake-item{padding:1.15rem 1.2rem;gap:0.85rem}
}


/* --- single-screen opt-in: sneak-peek list + byline --- */
.optin-page .hero { min-height: 100vh; display: flex; align-items: center; }
.peek { list-style: none; margin: 1.6rem 0 2rem; padding: 0; max-width: 34rem; }
.peek li { position: relative; padding: .3rem 0 .3rem 1.4rem; font-size: .98rem; opacity: .85; }
.peek li::before { content: ""; position: absolute; left: 0; top: .95em; width: .5rem; height: 1px; background: currentColor; opacity: .6; }
.byline { margin-top: 2rem; font-size: .9rem; opacity: .6; }
