  :root {
    --base:#07090F; --surface:#10141E; --raised:#161B27; --line:rgb(255 255 255 / 6%);
    --text:#F2EFE6; --body:#A6AEC4; --muted:#6B7591;
    --gold:#E2B857; --gold-hover:#EBC66F; --gold-tint:#2A2210; --gold-ink:#1C150C;
    --sans:"Geist", system-ui, sans-serif; --mono:"Geist Mono", ui-monospace, monospace;
    --display:"Space Grotesk", system-ui, sans-serif; --serif:"Cormorant Garamond", Georgia, serif;
    color-scheme: dark;
  }
  * { box-sizing:border-box; margin:0; padding:0; }
  html { scroll-behavior:smooth; overflow-x:clip; }
  body { background:var(--base); color:var(--text); font-family:var(--sans); -webkit-font-smoothing:antialiased; -moz-osx-font-smoothing:grayscale; overflow-x:hidden; }
  a { color:inherit; text-decoration:none; }
  img { display:block; max-width:100%; }
  .wrap { max-width:1440px; margin:0 auto; padding-inline:64px; }
  .kicker { font-family:var(--mono); font-size:12px; line-height:16px; letter-spacing:.12em; color:var(--gold); text-transform:uppercase; }
  .serif { font-family:var(--serif); font-style:italic; color:var(--gold); font-weight:400; }
  .h2 { font-family:var(--display); font-weight:500; font-size:52px; line-height:56px; letter-spacing:-.03em; }
  .h2 .serif { font-size:60px; letter-spacing:-.03em; }
  .lead { color:var(--body); font-size:17px; line-height:27px; }
  .btn { display:inline-flex; align-items:center; justify-content:center; border-radius:12px; font-size:17px; line-height:22px; padding:16px 26px; transition:background-color .18s, border-color .18s; white-space:nowrap; }
  .btn-gold { background:var(--gold); color:var(--gold-ink); font-weight:600; }
  .btn-gold:hover { background:var(--gold-hover); }
  .btn-ghost { border:1px solid rgb(255 255 255 / 16%); padding-inline:22px; }
  .btn-ghost:hover { border-color:rgb(255 255 255 / 32%); }
  .btn-plain { padding-inline:22px; }
  .btn-plain:hover { color:var(--gold); }
  :focus-visible { outline:2px solid var(--gold); outline-offset:3px; border-radius:8px; }

  /* Hero */
  .hero { position:relative; height:780px; overflow:hidden; }
  .hero-img { position:absolute; left:calc(50% - 200px); top:-140px; width:1100px; height:1060px; background:url(/img/hero.jpg) 50% / cover no-repeat; }
  .hero-fade { position:absolute; inset:0 0 auto 0; height:860px; background:
    linear-gradient(90deg, #07090F 0%, #07090FEB 38%, #07090F33 62%, #07090F00 80%),
    linear-gradient(180deg, #07090FB3 0%, #07090F00 18%, #07090F00 72%, #07090F 100%); }
  .nav { position:relative; height:80px; display:flex; align-items:center; justify-content:space-between; }
  .logo { display:flex; align-items:center; gap:12px; font-family:var(--display); font-weight:700; font-size:19px; line-height:24px; letter-spacing:.12em; }
  .nav-links { display:flex; gap:36px; font-size:15px; line-height:18px; color:var(--body); }
  .nav-links a:hover { color:var(--text); }
  .nav-cta { display:flex; align-items:center; gap:10px; font-size:15px; line-height:18px; }
  .nav-cta .login { padding:10px 16px; }
  .nav-cta .login:hover { color:var(--gold); }
  .nav-cta .start { background:var(--gold); color:var(--gold-ink); font-weight:600; border-radius:10px; padding:10px 18px; }
  .nav-cta .start:hover { background:var(--gold-hover); }
  .hero-copy { position:relative; width:820px; max-width:100%; padding-top:150px; display:flex; flex-direction:column; gap:28px; }
  .hero h1 { display:flex; flex-direction:column; font-weight:500; }
  .hero h1 .a { font-family:var(--display); font-size:84px; line-height:84px; letter-spacing:-.04em; }
  .hero h1 .serif { font-size:96px; line-height:96px; letter-spacing:-.02em; }
  .hero .sub { color:var(--body); font-size:20px; line-height:30px; width:600px; max-width:100%; }
  .hero .ctas { display:flex; gap:14px; padding-top:6px; flex-wrap:wrap; }
  .hero .fine { color:var(--muted); font-size:14px; line-height:18px; }

  /* Their ad → yours */
  .compare { display:flex; align-items:center; gap:80px; padding-block:120px; }
  .compare-copy { width:440px; flex-shrink:0; display:flex; flex-direction:column; gap:24px; }
  .compare-copy .h2 { display:flex; flex-direction:column; }
  .compare-copy .h2 .serif { line-height:62px; letter-spacing:0; }
  .diff { display:flex; flex-direction:column; gap:10px; padding-top:8px; }
  .diff div { display:flex; gap:12px; }
  .diff dt { width:70px; flex-shrink:0; font-family:var(--mono); font-size:12px; line-height:16px; color:var(--muted); }
  .diff dt.gold { color:var(--gold); }
  .diff dd { color:var(--body); font-size:15px; line-height:18px; }
  .ads { display:flex; align-items:center; gap:28px; }
  .ad { display:flex; flex-direction:column; gap:12px; }
  .ad img { width:340px; height:425px; object-fit:cover; border-radius:10px; }
  .ad.theirs img { opacity:.8; }
  .ad.yours img { box-shadow:0 0 0 1.5px var(--gold), 0 30px 80px #00000080; }
  .ad .cap { font-family:var(--mono); font-size:12px; line-height:16px; letter-spacing:.06em; color:var(--muted); }
  .ad.yours .cap { color:var(--gold); }
  .arrow { flex-shrink:0; }

  /* How it works */
  .how { background:var(--surface); border-block:1px solid var(--line); }
  .how .wrap { display:flex; flex-direction:column; gap:56px; padding-block:120px; }
  .how-head { display:flex; align-items:flex-end; justify-content:space-between; gap:40px; }
  .how-head > div { display:flex; flex-direction:column; gap:20px; }
  .how-head .lead { width:420px; flex-shrink:0; }
  .steps { display:grid; grid-template-columns:repeat(4, 1fr); gap:16px; }
  .step { border-radius:20px; border:1px solid var(--line); background:var(--base); padding:28px; display:flex; flex-direction:column; gap:16px; }
  .step.you { background:var(--raised); border-color:#E2B85747; }
  .step-top { display:flex; align-items:center; justify-content:space-between; }
  .step-num { font-family:var(--display); font-weight:500; font-size:40px; line-height:48px; color:var(--muted); }
  .step.you .step-num { color:var(--gold); }
  .tag { font-family:var(--mono); font-size:11px; line-height:14px; letter-spacing:.08em; color:var(--muted); border:1px solid #FFFFFF1F; border-radius:999px; padding:4px 9px; }
  .step.you .tag { color:var(--gold); background:var(--gold-tint); border-color:transparent; }
  .step h3 { font-family:var(--display); font-weight:500; font-size:24px; line-height:30px; }
  .step p { color:var(--body); font-size:15px; line-height:23px; }

  /* Pricing */
  .pricing { display:flex; flex-direction:column; align-items:center; gap:48px; padding-block:120px; }
  .pricing-head { display:flex; flex-direction:column; align-items:center; gap:20px; text-align:center; }
  .toggle { display:flex; padding:4px; border-radius:12px; border:1px solid var(--line); background:var(--surface); }
  .toggle button { font:inherit; font-size:14px; line-height:18px; padding:8px 18px; border:0; border-radius:9px; background:none; color:var(--muted); cursor:pointer; }
  .toggle button[aria-pressed="true"] { background:var(--raised); color:var(--text); }
  .plans { display:flex; gap:16px; }
  .plan { width:330px; border-radius:20px; border:1px solid var(--line); background:var(--surface); padding:32px; display:flex; flex-direction:column; gap:18px; }
  .plan.best { background:var(--raised); border:1.5px solid var(--gold); box-shadow:0 30px 80px #E2B8571A; }
  .plan-name { display:flex; align-items:center; justify-content:space-between; color:var(--body); font-size:15px; line-height:18px; min-height:22px; }
  .badge { background:var(--gold); color:var(--gold-ink); font-family:var(--mono); font-size:11px; line-height:14px; letter-spacing:.08em; border-radius:999px; padding:4px 9px; }
  .price { display:flex; align-items:baseline; gap:6px; }
  .price b { font-family:var(--display); font-weight:500; font-size:56px; line-height:68px; letter-spacing:-.03em; }
  .price span { color:var(--muted); font-size:15px; line-height:18px; }
  .credits { font-size:16px; line-height:20px; }
  .credits span { color:var(--muted); }
  .plan.best .credits span { color:var(--gold); }
  .choose { border:1px solid #FFFFFF24; border-radius:12px; padding:13px; text-align:center; font-size:15px; line-height:18px; font-weight:500; transition:border-color .18s, background-color .18s; }
  .choose:hover { border-color:rgb(255 255 255 / 36%); }
  .plan.best .choose { background:var(--gold); color:var(--gold-ink); font-weight:600; border-color:var(--gold); }
  .plan.best .choose:hover { background:var(--gold-hover); }
  .pricing .fine { color:var(--muted); font-size:14px; line-height:18px; text-align:center; }

  /* First set */
  .first { display:flex; align-items:center; gap:72px; padding-bottom:120px; }
  .first-img { width:560px; height:460px; flex-shrink:0; border-radius:24px; object-fit:cover; }
  .first-copy { display:flex; flex-direction:column; gap:26px; }
  .first-copy h2 { display:flex; flex-direction:column; font-weight:500; }
  .first-copy h2 .a { font-family:var(--display); font-size:56px; line-height:60px; letter-spacing:-.03em; }
  .first-copy h2 .serif { font-size:64px; line-height:66px; }
  .first-copy .lead { width:500px; max-width:100%; }
  .first-copy .ctas { display:flex; gap:14px; flex-wrap:wrap; }

  footer { border-top:1px solid var(--line); }
  footer .wrap { display:flex; align-items:center; justify-content:space-between; padding-block:28px; gap:20px; }
  footer .mark { font-family:var(--display); font-weight:700; font-size:14px; line-height:18px; letter-spacing:.12em; color:var(--muted); }
  footer nav { display:flex; gap:28px; color:var(--muted); font-size:14px; line-height:18px; }

  /* Narrower screens */
  @media (max-width: 1240px) {
    .compare { flex-direction:column; align-items:flex-start; }
    .compare-copy { width:auto; max-width:620px; }
    .steps { grid-template-columns:repeat(2, 1fr); }
    .first { flex-direction:column; align-items:flex-start; }
  }
  @media (max-width: 1080px) {
    .plans { flex-direction:column; width:100%; max-width:420px; }
    .plan { width:auto; }
    .how-head { flex-direction:column; align-items:flex-start; }
    .how-head .lead { width:auto; }
  }
  @media (max-width: 860px) {
    .wrap { padding-inline:16px; }
    .nav-links { display:none; }
    .hero { height:auto; padding-bottom:64px; }
    .hero-img { left:auto; right:-260px; top:-60px; width:640px; height:760px; opacity:.55; }
    .hero-fade { height:100%; background:linear-gradient(180deg, #07090F99 0%, #07090F33 30%, #07090FCC 70%, #07090F 100%); }
    .hero-copy { padding-top:96px; gap:22px; }
    .hero h1 .a { font-size:48px; line-height:52px; }
    .hero h1 .serif { font-size:54px; line-height:58px; }
    .hero .sub { font-size:17px; line-height:27px; }
    .h2 { font-size:38px; line-height:42px; }
    .h2 .serif, .compare-copy .h2 .serif { font-size:44px; line-height:46px; }
    .compare, .how .wrap, .pricing { padding-block:72px; }
    .compare { gap:40px; }
    .ads { width:100%; gap:12px; }
    .ad { flex:1; min-width:0; }
    .ad img { width:100%; height:auto; aspect-ratio:4/5; }
    .arrow { width:24px; }
    .steps { grid-template-columns:1fr; }
    .first { gap:40px; padding-bottom:72px; }
    .first-img { width:100%; height:auto; aspect-ratio:560/460; }
    .first-copy { width:100%; }
    .first-copy .lead { width:auto; }
    .first-copy h2 .a { font-size:40px; line-height:44px; }
    .first-copy h2 .serif { font-size:46px; line-height:48px; }
    .btn { padding:14px 20px; font-size:16px; }
    footer .wrap { flex-direction:column; align-items:flex-start; }
  }
  @media (max-width: 420px) {
    .nav-cta .login { display:none; }
    .ad .cap { font-size:10px; }
  }
  @media (prefers-reduced-motion: reduce) { html { scroll-behavior:auto; } * { transition:none !important; } }

  /* Footer details */
  footer .foot-left { display:flex; flex-direction:column; gap:8px; }
  footer .legal-line { color:var(--muted); font-size:13px; line-height:18px; }
  footer nav a:hover { color:var(--text); }

  /* Legal pages */
  .legal-nav { height:80px; display:flex; align-items:center; justify-content:space-between; border-bottom:1px solid var(--line); }
  .legal { max-width:760px; margin:0 auto; padding:72px 16px 120px; }
  .legal .kicker { margin-bottom:20px; }
  .legal h1 { font-family:var(--display); font-weight:500; font-size:48px; line-height:52px; letter-spacing:-.03em; }
  .legal .updated { color:var(--muted); font-size:14px; line-height:20px; margin-top:16px; }
  .legal .summary { margin-top:40px; padding:24px; border-radius:20px; background:var(--surface); border:1px solid var(--line); }
  .legal .summary h2 { margin-top:0; font-size:20px; line-height:28px; }
  .legal .toc { margin-top:40px; display:flex; flex-wrap:wrap; gap:8px; }
  .legal .toc a { font-size:13px; line-height:16px; color:var(--body); border:1px solid var(--line); border-radius:999px; padding:6px 12px; }
  .legal .toc a:hover { color:var(--text); border-color:rgb(255 255 255 / 20%); }
  .legal h2 { font-family:var(--display); font-weight:500; font-size:26px; line-height:32px; letter-spacing:-.02em; margin-top:56px; scroll-margin-top:24px; }
  .legal h3 { font-size:17px; line-height:24px; font-weight:600; margin-top:28px; }
  .legal p, .legal li { color:var(--body); font-size:16px; line-height:26px; }
  .legal p { margin-top:14px; }
  .legal ul, .legal ol { margin-top:14px; padding-left:22px; display:flex; flex-direction:column; gap:8px; }
  .legal strong { color:var(--text); font-weight:500; }
  .legal a { color:var(--gold); text-decoration:underline; text-underline-offset:3px; }
  .legal table { width:100%; border-collapse:collapse; margin-top:16px; font-size:14px; line-height:20px; }
  .legal th, .legal td { text-align:left; vertical-align:top; padding:10px 12px 10px 0; border-bottom:1px solid var(--line); color:var(--body); }
  .legal th { color:var(--text); font-weight:500; }
  .legal .table-scroll { overflow-x:auto; }
  @media (max-width: 860px) { .legal { padding-top:48px; } .legal h1 { font-size:36px; line-height:40px; } }
