/* esteem — Landing A (waitlist). Warm-cream palette matching the app design system. */
:root{
  --bg:#F4EFEA; --surface:#FCF9F6; --raised:#FFFFFF; --border:#E8DFD6;
  --ink:#2E2622; --muted:#7A6E66; --faint:#A89C92;
  --accent:#8B6F5C; --accent-deep:#5E4738;
  --gold:#BC8A2E; --gold-soft:#E5C99A; --success:#5E8C61; --danger:#C36B6B;
  --font:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
}
*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{margin:0;font-family:var(--font);-webkit-font-smoothing:antialiased;
  background:var(--bg);color:var(--ink);}
h1,h2,h3,p{margin:0;}
a{text-decoration:none;color:inherit;}
/* The capture form is display:flex, which would override the [hidden] attribute's
   default display:none — force it so `form.hidden = true` (post-submit) hides it. */
[hidden]{display:none !important;}
.wrap{max-width:1180px;margin:0 auto;padding:0 48px;}

/* nav */
.nav{position:sticky;top:0;z-index:40;background:color-mix(in srgb,var(--bg) 86%,transparent);
  backdrop-filter:saturate(1.4) blur(14px);border-bottom:1px solid var(--border);}
.nav-in{display:flex;align-items:center;justify-content:space-between;height:72px;}
.wordmark{display:flex;align-items:center;gap:10px;font-size:22px;font-weight:800;letter-spacing:-.5px;}
.wm-badge{width:32px;height:32px;border-radius:9px;display:flex;align-items:center;justify-content:center;
  background:#fff;box-shadow:0 2px 8px rgba(40,30,22,.1);flex:none;}
.wm-badge-sm{width:26px;height:26px;border-radius:7px;}
.nav-links{display:flex;align-items:center;gap:32px;font-size:14.5px;font-weight:600;color:var(--muted);}
.nav-right{display:flex;align-items:center;gap:18px;}
.link-btn{background:none;border:none;font-family:var(--font);font-size:14.5px;font-weight:600;cursor:pointer;color:var(--accent-deep);}
.btn{height:44px;padding:0 22px;border-radius:13px;border:none;font-family:var(--font);font-size:14.5px;
  font-weight:700;cursor:pointer;display:inline-flex;align-items:center;gap:8px;background:var(--accent);color:#fff;
  transition:transform .12s ease,box-shadow .12s ease;}
.btn:hover{transform:translateY(-1px);box-shadow:0 8px 20px color-mix(in srgb,var(--accent) 38%,transparent);}

.eyebrow{font-size:12.5px;font-weight:800;letter-spacing:1.8px;text-transform:uppercase;color:var(--accent);}

/* hero */
.hero{display:grid;grid-template-columns:1fr 360px;gap:56px;align-items:center;padding:72px 0 64px;}
.hero h1{font-size:60px;line-height:1.02;font-weight:800;letter-spacing:-2.2px;margin-top:20px;}
.hero .sub{font-size:18.5px;line-height:1.55;color:var(--muted);margin-top:22px;max-width:520px;}
.capture{display:flex;gap:10px;margin-top:30px;max-width:460px;}
.capture input{flex:1;min-width:0;height:54px;border-radius:14px;padding:0 18px;font-family:var(--font);
  font-size:15px;outline:none;background:#fff;border:1.5px solid var(--border);color:var(--ink);}
.capture input:focus{border-color:var(--accent);}
.capture button{height:54px;padding:0 24px;border-radius:14px;border:none;font-family:var(--font);font-size:15px;
  font-weight:700;cursor:pointer;white-space:nowrap;background:var(--accent);color:#fff;
  transition:transform .12s ease,box-shadow .12s ease;}
.capture button:hover{transform:translateY(-1px);box-shadow:0 8px 20px color-mix(in srgb,var(--accent) 38%,transparent);}
.capture button:disabled{opacity:.6;cursor:default;transform:none;box-shadow:none;}
.capture-center{margin:28px auto 0;justify-content:center;}
.capture-success{font-size:15px;font-weight:600;color:var(--success);margin-top:18px;}
.micro{font-size:13px;margin-top:16px;display:flex;align-items:center;gap:8px;color:var(--faint);}

/* device — the screenshot PNGs are pre-framed (iPhone body + Dynamic Island +
   drop shadow baked into the asset, 1474×2890 with a transparent margin), so
   the page just sizes the image; it must NOT draw a second frame. */
.device{position:relative;display:inline-block;width:340px;}
/* aspect-ratio matches the framed asset (1474×2890) so space is reserved before
   the lazy-loaded images paint (no CLS), while height stays fluid. */
.device img{display:block;width:100%;height:auto;aspect-ratio:1474/2890;border:0;background:transparent;}

.wing-chip{display:inline-flex;align-items:center;gap:7px;height:32px;padding:0 14px;border-radius:16px;
  font-size:13px;font-weight:800;background:color-mix(in srgb,var(--gold) 13%,#fff);color:#8A6418;}

/* trust strip */
.trust{display:flex;align-items:center;justify-content:center;gap:18px;padding:8px 0 4px;}
.trust-label{font-size:14px;color:var(--muted);}
.avstack{display:flex;}
.avstack .av{width:40px;height:40px;border-radius:50%;margin-left:-12px;border:3px solid var(--bg);
  display:flex;align-items:center;justify-content:center;font-weight:800;font-size:13px;color:#fff;}
.avstack .av:first-child{margin-left:0;}

/* wings band */
.band{background:var(--surface);border-top:1px solid var(--border);border-bottom:1px solid var(--border);}
#wings{margin-top:48px;}
.band-in{text-align:center;padding:64px 0;}
.band-in h2{font-size:36px;font-weight:800;letter-spacing:-1.1px;margin-top:18px;}
.band-in p{font-size:16.5px;line-height:1.6;color:var(--muted);margin:14px auto 0;max-width:620px;}

/* feature rows */
.feature{display:grid;grid-template-columns:360px 1fr;gap:64px;align-items:center;padding:84px 0;}
.feature.flip{grid-template-columns:1fr 360px;}
.feature.flip .copy{order:1;} .feature.flip .shot{order:2;}
.shot{display:flex;justify-content:center;}
.copy .step{font-size:13px;font-weight:800;letter-spacing:1.4px;text-transform:uppercase;color:var(--accent);
  display:flex;align-items:center;gap:9px;}
.copy .step .n{width:26px;height:26px;border-radius:50%;background:color-mix(in srgb,var(--accent) 13%,#fff);
  display:flex;align-items:center;justify-content:center;font-size:13px;}
.copy h2{font-size:34px;font-weight:800;letter-spacing:-1px;margin-top:16px;line-height:1.08;}
.copy p{font-size:16.5px;line-height:1.6;color:var(--muted);margin-top:14px;max-width:480px;}
.bullets{margin-top:22px;display:flex;flex-direction:column;gap:13px;}
.bullet{display:flex;align-items:flex-start;gap:11px;font-size:15px;font-weight:600;color:var(--ink);}
.bullet .ck{width:22px;height:22px;border-radius:50%;flex:none;display:flex;align-items:center;justify-content:center;
  background:color-mix(in srgb,var(--success) 16%,#fff);margin-top:1px;}

/* proof */
.proof{padding:54px 0 84px;}
.proof h2{font-size:32px;font-weight:800;letter-spacing:-.9px;text-align:center;}
.proof .grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:34px;}
.gcard{display:flex;align-items:center;gap:13px;padding:18px;border-radius:18px;background:#fff;border:1px solid var(--border);}
.gcard .gi{width:40px;height:40px;border-radius:50%;flex:none;display:flex;align-items:center;justify-content:center;
  font-weight:800;font-size:14px;color:#fff;}
.gcard .gt{font-size:14.5px;font-weight:700;}
.gcard .gm{font-size:12px;color:var(--muted);margin-top:2px;}

/* final cta */
.final{background:var(--surface);border-top:1px solid var(--border);text-align:center;padding:80px 0 88px;}
.final h2{font-size:42px;font-weight:800;letter-spacing:-1.4px;}
.final p{font-size:17px;color:var(--muted);margin-top:14px;}
.foot{border-top:1px solid var(--border);}
.foot-in{display:flex;align-items:center;justify-content:space-between;padding:28px 0;font-size:13px;color:var(--faint);}
.foot-wm{font-size:17px;}
.foot a{color:var(--accent-deep);font-weight:600;}

/* responsive — collapse the two-column hero/feature rows on narrow viewports */
@media (max-width:860px){
  .wrap{padding:0 24px;}
  .nav-links{display:none;}
  .hero{grid-template-columns:1fr;gap:36px;padding:48px 0;}
  .hero h1{font-size:42px;letter-spacing:-1.4px;}
  .hero .shot{order:-1;}
  .feature,.feature.flip{grid-template-columns:1fr;gap:32px;padding:56px 0;}
  .feature.flip .copy{order:2;} .feature.flip .shot{order:1;}
  .proof .grid{grid-template-columns:1fr;}
  .final h2{font-size:32px;}
  .capture{max-width:none;}
}
