/* Prompt Profits — Apple-language design system
   Near-white #fbfbfd, ink #1d1d1f, grey #86868b, one accent: brand gold. */

:root{
  --bg:#fbfbfd;
  --ink:#1d1d1f;
  --grey:#86868b;
  --grey-bg:#f5f5f7;
  --dark:#000000;
  --dark-2:#161617;
  --gold:#a87f1f;
  --gold-bright:#c9a227;
  --hairline:rgba(0,0,0,.08);
  --ease:cubic-bezier(.28,.11,.32,1);
}

*{margin:0;padding:0;box-sizing:border-box}

html{scroll-behavior:smooth}

body{
  font-family:-apple-system,BlinkMacSystemFont,"SF Pro Display","SF Pro Text","Helvetica Neue",Helvetica,Arial,sans-serif;
  background:var(--bg);
  color:var(--ink);
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
  overflow-x:hidden;
}

a{color:inherit;text-decoration:none}

/* ---------- Nav ---------- */
.nav{
  position:fixed;inset:0 0 auto 0;z-index:100;height:52px;
  background:rgba(251,251,253,.72);
  -webkit-backdrop-filter:saturate(180%) blur(20px);
  backdrop-filter:saturate(180%) blur(20px);
  border-bottom:1px solid transparent;
  transition:border-color .4s var(--ease),background .4s var(--ease);
}
.nav.scrolled{border-bottom-color:var(--hairline)}
.nav-inner{
  max-width:1024px;margin:0 auto;height:100%;padding:0 22px;
  display:flex;align-items:center;justify-content:space-between;gap:16px;
}
.wordmark{font-size:17px;font-weight:600;letter-spacing:-.01em;white-space:nowrap}
.nav-links{display:flex;gap:28px}
.nav-links a{font-size:13px;color:var(--ink);opacity:.85;transition:opacity .3s}
.nav-links a:hover{opacity:1}
.nav-cta{
  font-size:13px;font-weight:500;color:#fff;background:var(--ink);
  padding:7px 15px;border-radius:980px;white-space:nowrap;
  transition:background .3s,transform .3s;
}
.nav-cta:hover{background:#000}
@media (max-width:640px){.nav-links{display:none}}

/* ---------- Shared ---------- */
main{display:block}
section{padding:110px 22px}
.section-inner{max-width:1024px;margin:0 auto;text-align:center}
.section-inner.narrow{max-width:760px}

.eyebrow{
  font-size:14px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;
  color:var(--grey);margin-bottom:18px;
}
.eyebrow-gold{color:var(--gold-bright)}

h1{
  font-size:clamp(40px,7.2vw,76px);line-height:1.06;font-weight:700;
  letter-spacing:-.028em;max-width:900px;margin:0 auto;
}
h2{
  font-size:clamp(32px,5vw,54px);line-height:1.1;font-weight:700;
  letter-spacing:-.024em;max-width:820px;margin:0 auto;
}
h3{font-size:22px;font-weight:600;letter-spacing:-.015em;line-height:1.25}

.cta-row{
  display:flex;align-items:center;justify-content:center;gap:28px;flex-wrap:wrap;
}
.btn-primary{
  display:inline-block;background:var(--ink);color:#fff;
  font-size:17px;font-weight:500;padding:14px 30px;border-radius:980px;
  transition:background .3s var(--ease),transform .3s var(--ease);
}
.btn-primary:hover{background:#000;transform:scale(1.02)}
.link-arrow{font-size:17px;color:var(--gold);font-weight:500}
.link-arrow::after{content:" ›"}
.link-arrow:hover{text-decoration:underline}

/* ---------- Hero ---------- */
.hero{padding:170px 22px 90px;text-align:center}
.hero-mark{border-radius:18px;margin-bottom:30px;box-shadow:0 8px 30px rgba(0,0,0,.14)}
.hero-sub{
  font-size:clamp(18px,2.4vw,22px);line-height:1.5;color:#424245;
  max-width:640px;margin:28px auto 36px;font-weight:400;letter-spacing:-.01em;
}
.hero-note{margin-top:26px;font-size:15px;color:var(--grey)}
.hero-note a{color:var(--gold);font-weight:500}

.phone{
  margin:84px auto 0;width:300px;max-width:84vw;
  background:var(--dark-2);border-radius:44px;padding:12px;
  box-shadow:0 30px 80px rgba(0,0,0,.22);
}
.phone-notch{width:90px;height:22px;background:var(--dark-2);border-radius:12px;margin:0 auto 6px;position:relative;top:0}
.phone-screen{background:#fff;border-radius:34px;padding:26px 18px 22px;text-align:left;min-height:340px}
.bubble{
  font-size:13.5px;line-height:1.45;padding:9px 13px;border-radius:18px;
  margin-bottom:10px;max-width:86%;letter-spacing:-.01em;
}
.bubble-in{background:#e9e9eb;color:var(--ink);border-bottom-left-radius:5px}
.bubble-out{background:var(--ink);color:#fff;margin-left:auto;border-bottom-right-radius:5px}
.phone-caption{margin-top:16px;font-size:13px;color:var(--grey);text-align:center;letter-spacing:-.01em}

/* ---------- Problem (dark) ---------- */
.dark{background:var(--dark);color:#f5f5f7}
.dark h2{color:#fff}
.problem-lines{margin-top:56px;display:grid;gap:14px}
.problem-lines p{
  font-size:clamp(20px,3vw,27px);line-height:1.4;font-weight:500;
  letter-spacing:-.015em;color:#d6d6da;max-width:700px;margin:0 auto;
}
.problem-lines p:last-child{color:#fff}

/* ---------- How it works ---------- */
.steps{
  margin-top:64px;display:grid;grid-template-columns:repeat(3,1fr);gap:44px;text-align:left;
}
.step-num{
  font-size:52px;font-weight:700;letter-spacing:-.03em;color:var(--gold);
  line-height:1;margin-bottom:16px;
}
.step p{margin-top:10px;font-size:16px;line-height:1.55;color:#424245}
@media (max-width:820px){.steps{grid-template-columns:1fr;max-width:440px;margin-left:auto;margin-right:auto}}

/* ---------- Who it's for ---------- */
.grey{background:var(--grey-bg)}
.quiet-line{
  margin-top:26px;font-size:clamp(18px,2.4vw,21px);line-height:1.55;color:#424245;
  letter-spacing:-.01em;
}

/* ---------- Final CTA ---------- */
.final{padding:130px 22px}
.final-sub{margin:24px auto 38px;font-size:clamp(18px,2.4vw,21px);color:#424245;line-height:1.5;max-width:560px}

/* ---------- Footer ---------- */
footer{background:var(--grey-bg);border-top:1px solid var(--hairline);padding:44px 22px 50px}
.footer-inner{max-width:1024px;margin:0 auto;font-size:13px;color:#6e6e73;line-height:1.6}
.footer-brand{display:flex;align-items:center;gap:10px;font-size:15px;font-weight:600;color:var(--ink);margin-bottom:14px}
.footer-brand img{border-radius:8px}
.footer-line{margin-top:4px}
.footer-line a{color:var(--gold)}
.footer-line a:hover{text-decoration:underline}
.footer-fine{margin-top:20px;padding-top:16px;border-top:1px solid var(--hairline);color:var(--grey);font-size:12px}

/* ---------- Features ---------- */
.features{
  margin-top:64px;display:grid;grid-template-columns:repeat(2,1fr);
  gap:40px 64px;text-align:left;max-width:900px;margin-left:auto;margin-right:auto;
}
.feature h3{font-size:19px;margin-bottom:8px}
.feature p{font-size:16px;line-height:1.55;color:#424245}
@media (max-width:720px){.features{grid-template-columns:1fr;max-width:440px}}

/* ---------- Outcomes trio ---------- */
.trio .step p{margin-top:10px}

/* ---------- FAQ ---------- */
.faq{margin:56px auto 0;max-width:760px;text-align:left}
.faq-item{padding:26px 0;border-top:1px solid var(--hairline)}
.faq-item:first-child{border-top:none;padding-top:6px}
.faq-item h3{font-size:20px;margin-bottom:8px}
.faq-item p{font-size:16px;line-height:1.6;color:#424245}

/* ---------- Legal pages ---------- */
.legal{padding:150px 22px 90px}
.legal-inner{max-width:720px;margin:0 auto;text-align:left}
.legal-inner h1{font-size:clamp(34px,5vw,48px);margin:0 0 14px;text-align:left}
.legal-inner h2{
  font-size:22px;margin:38px 0 10px;text-align:left;letter-spacing:-.015em;max-width:none;
}
.legal-inner p{font-size:16px;line-height:1.65;color:#424245;margin-bottom:12px}
.legal-inner .legal-updated{color:var(--grey);font-size:14px;margin-bottom:8px}
.legal-inner a{color:var(--gold)}
.legal-inner a:hover{text-decoration:underline}

/* ---------- Scroll reveal ---------- */
.reveal{opacity:0;transform:translateY(26px);transition:opacity .9s var(--ease),transform .9s var(--ease)}
.reveal.in{opacity:1;transform:none}

@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  .reveal{opacity:1;transform:none;transition:none}
  .btn-primary,.nav-cta{transition:none}
}
