/* Plumee — Landing A (launch mode, App Store CTA). 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;}
[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;}
.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;}
/* App Store CTA — the official "Download on the App Store" badge, held in a
   gated "coming soon" state until the app is approved (see main.js). */
.cta-block{display:flex;align-items:center;gap:14px;margin-top:30px;flex-wrap:wrap;}
.cta-block-center{margin:28px auto 0;justify-content:center;}
.appstore-cta{display:inline-flex;align-items:center;gap:12px;cursor:pointer;
  transition:transform .12s ease,filter .12s ease;}
.appstore-cta:hover{transform:translateY(-1px);}
.appstore-badge{display:block;width:172px;height:auto;border-radius:9px;
  box-shadow:0 6px 18px rgba(20,15,10,.18);}
/* Gated state: the badge doesn't navigate yet, so soften it and flag it. */
.appstore-cta.is-coming-soon{cursor:default;}
.appstore-cta.is-coming-soon:hover{transform:none;}
.appstore-cta.is-coming-soon .appstore-badge{filter:grayscale(.15) opacity(.9);box-shadow:none;}
.coming-soon-tag{display:inline-flex;align-items:center;height:26px;padding:0 12px;border-radius:13px;
  font-size:12px;font-weight:800;letter-spacing:.3px;background:color-mix(in srgb,var(--gold) 15%,#fff);
  color:#8A6418;border:1px solid color-mix(in srgb,var(--gold) 32%,transparent);}
.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
   baked into the asset, 1400×2948 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 (1400×2948) 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:1400/2948;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;}
  .cta-block{margin-top:26px;}
}
