/* Antaeus waitlist — landing page. Mirrors src/theme (dark palette) +
   marketing/screenshots/shots.css. Dark-first, single deliberate theme. */

@font-face { font-family:'Barlow SC'; font-weight:500; font-display:swap;
  src:url('fonts/BarlowSemiCondensed-Medium.ttf') format('truetype'); }
@font-face { font-family:'Barlow SC'; font-weight:600; font-display:swap;
  src:url('fonts/BarlowSemiCondensed-SemiBold.ttf') format('truetype'); }
@font-face { font-family:'Plex Mono'; font-weight:400; font-display:swap;
  src:url('fonts/IBMPlexMono-Regular.ttf') format('truetype'); }
@font-face { font-family:'Plex Mono'; font-weight:500; font-display:swap;
  src:url('fonts/IBMPlexMono-Medium.ttf') format('truetype'); }

:root {
  --bg:#09090B; --surface:#0F0F12; --card:#141417; --cardEl:#1A1A1E;
  --border:#222226; --borderSub:#1A1A1E;
  --t1:#F2F2F4; --t2:#A1A1A8; --t3:#6E6E76;
  --accent:#86E07B; --accentSoft:rgba(134,224,123,0.10);
  --danger:#D14545; --ghost:rgba(242,242,244,0.42);
  --sys:-apple-system,'SF Pro Text','Helvetica Neue',Segoe UI,Roboto,sans-serif;
  --maxw:1080px;
}

* { margin:0; padding:0; box-sizing:border-box; }
html { -webkit-text-size-adjust:100%; scroll-behavior:smooth; }
body {
  background:var(--bg); color:var(--t1); font-family:var(--sys);
  line-height:1.5; -webkit-font-smoothing:antialiased; overflow-x:hidden;
  position:relative;
}

/* faint machinist ruler down the left edge — the brand signature */
body::before { content:''; position:fixed; left:22px; top:0; bottom:0; width:1px;
  background:rgba(242,242,244,0.06); z-index:0; pointer-events:none; }
body::after { content:''; position:fixed; left:22px; top:0; bottom:0; width:8px;
  background:repeating-linear-gradient(to bottom,
    rgba(242,242,244,0.09) 0 1px, transparent 1px 72px); z-index:0; pointer-events:none; }
@media (max-width:640px){ body::before,body::after{ display:none; } }

.wrap { max-width:var(--maxw); margin:0 auto; padding:0 32px; position:relative; z-index:1; }
@media (max-width:640px){ .wrap{ padding:0 22px; } }

/* type registers */
.mono { font-family:'Plex Mono'; font-weight:500; letter-spacing:0.32em;
  text-transform:uppercase; font-size:13px; }
.display { font-family:'Barlow SC'; font-weight:600; text-transform:uppercase;
  letter-spacing:0.004em; line-height:1.0; }

/* ---------- nav ---------- */
nav { display:flex; align-items:center; justify-content:space-between;
  padding:26px 0; }
.brand { display:flex; align-items:center; gap:14px; }
.brand svg { width:34px; height:34px; display:block; }
.brand .name { font-family:'Barlow SC'; font-weight:600; font-size:24px;
  letter-spacing:0.03em; text-transform:uppercase; color:var(--t1); }
.brand .name .app { color:var(--t3); }
nav .handle { font-family:'Plex Mono'; font-weight:400; font-size:13px;
  color:var(--t3); letter-spacing:0.06em; text-decoration:none; }
nav .handle:hover { color:var(--t2); }

/* ---------- hero ---------- */
.hero { padding:70px 0 40px; max-width:820px; }
.kick { color:var(--accent); margin-bottom:34px; }
.kick .idx { color:var(--t3); }
h1 { font-family:'Barlow SC'; font-weight:600; text-transform:uppercase;
  font-size:clamp(52px,9vw,110px); line-height:0.98; letter-spacing:0.004em;
  color:var(--t1); }
h1 .dim { color:var(--t3); }
.tagline { font-family:'Plex Mono'; font-weight:500; font-size:15px;
  letter-spacing:0.34em; text-transform:uppercase; color:var(--t2);
  margin-top:26px; }
.lede { font-size:clamp(18px,2.4vw,22px); color:var(--t2); margin-top:34px;
  max-width:640px; line-height:1.55; }
.lede strong { color:var(--t1); font-weight:600; }

/* ---------- waitlist form ---------- */
.signup { margin-top:44px; max-width:560px; }
.field { display:flex; gap:10px; }
@media (max-width:520px){ .field{ flex-direction:column; } }
input[type=email] {
  flex:1; min-width:0; background:var(--card); color:var(--t1);
  border:1px solid var(--border); border-radius:6px; padding:16px 18px;
  font-family:'Plex Mono'; font-weight:400; font-size:15px; letter-spacing:0.02em;
  outline:none; transition:border-color .15s;
}
input[type=email]::placeholder { color:var(--t3); }
input[type=email]:focus { border-color:var(--t3); }
button.cta {
  flex:none; background:var(--accent); color:#0B0B0D; border:none; border-radius:6px;
  padding:16px 26px; font-family:'Barlow SC'; font-weight:600; font-size:17px;
  text-transform:uppercase; letter-spacing:0.05em; cursor:pointer;
  transition:filter .15s, opacity .15s;
}
button.cta:hover { filter:brightness(1.06); }
button.cta:disabled { opacity:0.5; cursor:default; }
/* honeypot — visually hidden, off-screen, not display:none (bots skip those) */
.hp { position:absolute; left:-9999px; width:1px; height:1px; overflow:hidden; }

.formnote { font-family:'Plex Mono'; font-weight:400; font-size:12px;
  letter-spacing:0.04em; color:var(--t3); margin-top:16px; min-height:18px; }
.formnote.err { color:var(--danger); }
.formnote.ok { color:var(--accent); }
.privnote { font-size:12px; line-height:1.5; color:var(--t3); margin-top:8px; max-width:520px; }

/* success state */
.success { display:none; margin-top:44px; max-width:560px;
  border:1px solid var(--accent); border-radius:8px; padding:26px 28px;
  background:var(--accentSoft); }
.success.show { display:block; }
.success .pos { font-family:'Barlow SC'; font-weight:600; font-size:56px;
  line-height:1; color:var(--accent); font-variant-numeric:tabular-nums; }
.success .pos .hash { color:var(--t3); font-size:34px; }
.success .msg { color:var(--t1); font-size:16px; margin-top:14px; line-height:1.5; }
.success .msg span { color:var(--t2); }

/* live count line */
.count { margin-top:30px; font-family:'Plex Mono'; font-weight:500; font-size:13px;
  letter-spacing:0.14em; text-transform:uppercase; color:var(--t3); min-height:18px; }
.count b { color:var(--t1); font-family:'Barlow SC'; font-weight:600; font-size:17px;
  letter-spacing:0.02em; font-variant-numeric:tabular-nums; margin:0 4px; }

/* ---------- proof strip (screenshots) ---------- */
.shots { margin:96px 0 40px; }
.sectionhd { display:flex; align-items:flex-end; justify-content:space-between;
  border-bottom:1px solid var(--border); padding-bottom:12px; margin-bottom:40px; }
.sectionhd .mono { color:var(--t3); }
.shotrow { display:flex; gap:22px; overflow-x:auto; padding-bottom:14px;
  scroll-snap-type:x mandatory; -webkit-overflow-scrolling:touch; }
.shotrow::-webkit-scrollbar { height:6px; }
.shotrow::-webkit-scrollbar-thumb { background:var(--border); border-radius:3px; }
.shotrow figure { flex:none; width:232px; scroll-snap-align:start; }
.shotrow img { width:100%; height:auto; display:block; border-radius:22px;
  border:1px solid var(--border); background:var(--card); }
.shotrow figcaption { font-family:'Plex Mono'; font-weight:500; font-size:11px;
  letter-spacing:0.24em; text-transform:uppercase; color:var(--t3); margin-top:14px; }
.shotrow figcaption b { color:var(--accent); font-weight:500; }

/* ---------- pillars ---------- */
.pillars { margin:80px 0; display:grid; grid-template-columns:repeat(2,1fr); gap:1px;
  background:var(--border); border:1px solid var(--border); border-radius:8px; overflow:hidden; }
@media (max-width:640px){ .pillars{ grid-template-columns:1fr; } }
.pillar { background:var(--bg); padding:30px 30px 34px; }
.pillar .n { font-family:'Plex Mono'; font-weight:500; font-size:12px;
  letter-spacing:0.24em; color:var(--accent); margin-bottom:16px; }
.pillar .n .idx { color:var(--t3); }
.pillar h3 { font-family:'Barlow SC'; font-weight:600; text-transform:uppercase;
  font-size:26px; letter-spacing:0.01em; color:var(--t1); margin-bottom:12px; }
.pillar p { color:var(--t2); font-size:15px; line-height:1.55; }

/* ---------- closing CTA ---------- */
.closer { margin:90px 0 60px; text-align:center; }
.closer h2 { font-family:'Barlow SC'; font-weight:600; text-transform:uppercase;
  font-size:clamp(34px,6vw,64px); line-height:1.02; letter-spacing:0.006em; }
.closer h2 .dim { color:var(--t3); }
.closer .lede { margin:26px auto 0; text-align:center; }
.closer a.jump { display:inline-block; margin-top:34px; background:var(--accent);
  color:#0B0B0D; text-decoration:none; border-radius:6px; padding:16px 34px;
  font-family:'Barlow SC'; font-weight:600; font-size:17px; text-transform:uppercase;
  letter-spacing:0.05em; }
.closer a.jump:hover { filter:brightness(1.06); }

/* ---------- footer ---------- */
footer { border-top:1px solid var(--border); padding:40px 0 60px; margin-top:40px;
  display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:18px; }
footer .fbrand { font-family:'Barlow SC'; font-weight:600; font-size:18px;
  letter-spacing:0.03em; text-transform:uppercase; color:var(--t2); }
footer .links { display:flex; gap:24px; }
footer a { font-family:'Plex Mono'; font-weight:400; font-size:13px; letter-spacing:0.04em;
  color:var(--t3); text-decoration:none; }
footer a:hover { color:var(--t2); }
footer .fine { font-family:'Plex Mono'; font-weight:400; font-size:11px;
  letter-spacing:0.04em; color:var(--t3); width:100%; }

/* ================================================================
   v2 — beta showcase layer (2026-08-06). Overrides the waitlist-era
   hero and adds the feature tour. Everything below wins the cascade.
   ================================================================ */

/* nav CTA */
.navcta { font-family:'Barlow SC'; font-weight:600; font-size:15px;
  text-transform:uppercase; letter-spacing:0.06em; color:var(--accent);
  text-decoration:none; border:1px solid var(--accent); border-radius:4px;
  padding:9px 18px; transition:background .15s, color .15s; }
.navcta:hover { background:var(--accent); color:#0B0B0D; }

/* hero — two columns, copy + device */
.hero { padding:64px 0 30px; max-width:none; display:grid;
  grid-template-columns:minmax(0,1.15fr) minmax(0,0.85fr);
  gap:56px; align-items:center; }
@media (max-width:880px){ .hero { grid-template-columns:1fr; } .herophone { display:flex; justify-content:center; } }
.herocopy .lede { max-width:560px; }
.heroctas { margin-top:40px; display:flex; align-items:center; gap:22px; flex-wrap:wrap; }
a.cta { display:inline-block; background:var(--accent); color:#0B0B0D; text-decoration:none;
  border-radius:6px; padding:16px 30px; font-family:'Barlow SC'; font-weight:600;
  font-size:17px; text-transform:uppercase; letter-spacing:0.05em; }
a.cta:hover { filter:brightness(1.06); }
.ctanote { font-size:11px; letter-spacing:0.18em; color:var(--t3); }

/* device frame for raw app captures */
.phone { width:min(320px, 78vw); border-radius:46px; background:#050506;
  border:3px solid #3A3A40; box-shadow:0 0 0 8px #101013, 0 40px 90px rgba(0,0,0,0.65);
  padding:10px; flex:none; }
.phone img { width:100%; height:auto; display:block; border-radius:36px; }

/* section headers reused */
.shd { font-size:clamp(26px,4vw,40px); color:var(--t1); }
.dim2 { color:var(--t3); letter-spacing:0.24em; font-size:12px; }

/* feature tour */
.tour { margin-top:110px; }
.feat { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:64px;
  align-items:center; padding:74px 0; border-bottom:1px solid var(--borderSub); }
.feat:last-child { border-bottom:none; }
.feat.rev .featcopy { order:2; } .feat.rev .featshot { order:1; }
@media (max-width:880px){
  .feat, .feat.rev { grid-template-columns:1fr; gap:40px; padding:56px 0; }
  .feat.rev .featcopy { order:1; } .feat.rev .featshot { order:2; }
  .featshot { display:flex; justify-content:center; }
}
.fkick { font-size:12px; letter-spacing:0.3em; color:var(--accent); margin-bottom:20px; }
.fkick .idx { color:var(--t3); }
.feat h2 { font-family:'Barlow SC'; font-weight:600; text-transform:uppercase;
  font-size:clamp(28px,4.5vw,44px); line-height:1.04; letter-spacing:0.005em;
  color:var(--t1); max-width:520px; text-wrap:balance; }
.featcopy p { color:var(--t2); font-size:17px; line-height:1.6; margin-top:22px; max-width:540px; }
.featcopy p strong { color:var(--t1); font-weight:600; }
.fpoints { list-style:none; margin-top:26px; display:flex; flex-direction:column; gap:0; max-width:540px; }
.fpoints li { padding:12px 2px; border-top:1px solid var(--borderSub);
  color:var(--t2); font-size:15px; line-height:1.5; display:flex; gap:12px; }
.fpoints li::before { content:'—'; color:var(--accent); flex:none; }

/* fuel stat card (no capture exists for Fuel yet) */
.fuelcard { width:min(320px,78vw); border:1px solid var(--border); border-radius:8px;
  background:var(--surface); padding:26px 24px; display:flex; flex-direction:column; gap:14px; }
.fuelcard .frow { display:flex; align-items:baseline; justify-content:space-between; }
.fuelcard .flbl { font-size:11px; letter-spacing:0.24em; color:var(--t3); }
.fuelcard .fval { font-family:'Barlow SC'; font-weight:600; font-size:30px; color:var(--t1);
  font-variant-numeric:tabular-nums; }
.fuelcard .fdim { color:var(--t3); font-size:15px; font-weight:500; }
.fuelcard .fbar { height:6px; background:var(--card); border-radius:3px; overflow:hidden; }
.fuelcard .fbar i { display:block; height:100%; background:var(--accent); border-radius:3px; }
.fuelcard .fnote { font-size:10px; letter-spacing:0.14em; color:var(--t3); margin-top:8px; }

/* privacy */
.priv { margin:110px 0 0; text-align:center; }
.priv h2 { font-size:clamp(30px,5.5vw,58px); color:var(--t1); line-height:1.04; }
.priv h2 .dim { color:var(--t3); }
.lede.center { margin-left:auto; margin-right:auto; text-align:center; }
.privgrid { max-width:640px; margin:44px auto 0; text-align:left; }
.prow { display:flex; gap:26px; padding:16px 4px; border-top:1px solid var(--borderSub);
  font-size:15px; color:var(--t1); align-items:baseline; }
.prow:last-child { border-bottom:1px solid var(--borderSub); }
.plbl { flex:none; width:130px; font-size:11px; letter-spacing:0.22em; color:var(--t3); }

/* also in the box */
.box { margin:110px 0 0; }
.boxgrid { list-style:none; display:grid; grid-template-columns:repeat(3,1fr);
  gap:1px; background:var(--borderSub); border:1px solid var(--borderSub);
  border-radius:8px; overflow:hidden; }
@media (max-width:820px){ .boxgrid{ grid-template-columns:repeat(2,1fr); } }
@media (max-width:520px){ .boxgrid{ grid-template-columns:1fr; } }
.boxgrid li { background:var(--bg); padding:20px 22px; font-size:12px; font-weight:500;
  letter-spacing:0.14em; color:var(--t2); }

/* beta */
.beta { margin:120px 0 40px; }
.beta h2 { font-size:clamp(38px,7vw,84px); color:var(--t1); line-height:1.0; }
.beta h2 .dim { color:var(--t3); }
.beta .lede { max-width:600px; }

/* ledger cards — coach reasons + records (feature visuals without screens) */
.ledgercard { width:min(360px,84vw); border:1px solid var(--border); border-radius:8px;
  background:var(--surface); padding:24px; display:flex; flex-direction:column; gap:0; }
.lhead { font-size:11px; letter-spacing:0.26em; color:var(--t3);
  border-bottom:2px solid var(--t3); padding-bottom:10px; margin-bottom:4px; }
.lrow { display:flex; gap:14px; padding:16px 2px; border-bottom:1px solid var(--borderSub);
  font-size:14.5px; line-height:1.5; color:var(--t2); align-items:flex-start; }
.lrow b { color:var(--t1); font-weight:600; }
.ldot { flex:none; width:8px; height:8px; border-radius:2px; margin-top:7px; background:var(--accent); }
.ldot.hold { background:var(--t3); }
.lnote { font-size:10px; letter-spacing:0.16em; color:var(--accent); padding-top:14px; }
.rrow { display:flex; align-items:baseline; gap:14px; padding:15px 2px;
  border-bottom:1px solid var(--borderSub); }
.rlift { font-family:'Barlow SC'; font-weight:600; font-size:17px; letter-spacing:0.02em;
  text-transform:uppercase; color:var(--t1); flex:1; }
.rval { font-family:'Barlow SC'; font-weight:600; font-size:24px; color:var(--t1);
  font-variant-numeric:tabular-nums; }
.rval i { font-style:normal; font-family:'Plex Mono'; font-size:12px; color:var(--t3); }
.rtag { font-size:10px; letter-spacing:0.2em; color:#0B0B0D; background:var(--accent);
  border-radius:3px; padding:3px 7px; }
.rtag.rtagq { background:transparent; color:var(--t3); border:1px solid var(--border); }

/* pose overlay on the form-check capture (empty panel in the raw screen) */
.posewrap { position:relative; }
.posewrap .pose { position:absolute; left:4.98%; width:89.9%; top:18.54%; height:31.8%; }
