:root{
  --paper: #F1EFE7;
  --paper-raised: #FBFAF6;
  --ink: #1E2A1E;
  --forest: #1F5A3A;
  --forest-deep: #163F29;
  --rust: #8A2D1F;
  --line: #D9D4C7;
  --muted: #6B7266;
  --serif: "Source Serif 4", Georgia, serif;
  --sans: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  --mono: "IBM Plex Mono", ui-monospace, monospace;
}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  background:var(--paper);
  color:var(--ink);
  font-family:var(--sans);
  font-size:17px;
  line-height:1.55;
  -webkit-font-smoothing:antialiased;
}
.wrap{max-width:1080px;margin:0 auto;padding:0 28px}
h1,h2{font-family:var(--serif);font-weight:600;line-height:1.08;margin:0}
h1{font-size:clamp(2.4rem,4.4vw,3.6rem);letter-spacing:-0.01em}
h2{font-size:clamp(1.6rem,2.6vw,2.1rem);margin-bottom:20px}
p{margin:0 0 1em 0;max-width:60ch}
a{color:inherit}

.num{font-family:var(--mono);font-weight:500}

/* Buttons */
.btn{
  display:inline-block;
  padding:13px 22px;
  border-radius:3px;
  font-weight:600;
  font-size:0.98rem;
  text-decoration:none;
  border:1px solid transparent;
  transition:transform .12s ease, background .12s ease;
}
.btn:hover{transform:translateY(-1px)}
.btn-primary{background:var(--forest);color:var(--paper-raised);border-color:var(--forest)}
.btn-primary:hover{background:var(--forest-deep)}
.btn-ghost{color:var(--ink);border-color:var(--ink)}
.btn-wide{width:100%;text-align:center;margin-top:8px}

/* Topbar */
.topbar{padding:22px 0}
.topbar-row{display:flex;align-items:center;justify-content:space-between}
.mark{font-family:var(--serif);font-weight:600;font-size:1.15rem}
.topbar-cta{font-size:0.92rem;font-weight:600;text-decoration:none;border-bottom:1px solid var(--ink)}

/* Hero */
.hero{padding:36px 0 76px}
.hero-grid{display:grid;grid-template-columns:1.05fr 1fr;gap:56px;align-items:center}
.kicker{font-size:0.95rem;color:var(--muted);margin-bottom:14px}
.hero-actions{display:flex;gap:14px;flex-wrap:wrap;margin:26px 0 14px}
.hero-note{font-size:0.88rem;color:var(--muted);max-width:40ch}
.lede{font-size:1.08rem;color:#39412f;max-width:46ch}

.hero-mock{perspective:1200px}
.mock-window{
  background:var(--paper-raised);
  border:1px solid var(--line);
  border-radius:6px;
  box-shadow:0 24px 60px -30px rgba(30,42,30,.35);
  overflow:hidden;
  transform:rotate(0.6deg);
}
.mock-topline{display:flex;gap:6px;padding:12px 16px;border-bottom:1px solid var(--line)}
.mock-dot{width:9px;height:9px;border-radius:50%;background:var(--line)}
.mock-thread-head{padding:14px 18px 10px;font-family:var(--serif);font-size:1.02rem;color:var(--ink)}
.mock-bar{
  display:flex;align-items:center;gap:12px;flex-wrap:wrap;
  margin:0 16px 14px;padding:9px 12px;
  background:var(--paper);border:1px solid var(--line);border-radius:4px;
  font-size:0.86rem;
}
.mock-bar label{color:var(--muted)}
.mock-select{padding:3px 8px;border:1px solid var(--line);border-radius:3px;background:#fff}
.mock-select small{color:var(--muted)}
.mock-btn{margin-left:auto;background:var(--forest);color:#fff;padding:6px 12px;border-radius:3px;font-weight:600}
.mock-body{padding:4px 20px 22px;font-size:0.94rem}
.mock-body p{margin:0 0 0.85em}
.mock-fade{color:var(--muted)}

/* Ledger table */
.ledger{padding:64px 0;border-top:1px solid var(--line)}
.ledger-table{border-top:1px solid var(--line)}
.ledger-row{
  display:grid;grid-template-columns:130px 190px 1fr;gap:24px;
  padding:16px 0;border-bottom:1px solid var(--line);
  align-items:baseline;
}
.ledger-head{font-size:0.82rem;color:var(--muted);padding-bottom:10px}
.ledger-day{font-family:var(--mono);font-size:0.92rem;color:var(--muted)}
.ledger-stage{font-weight:600}
.stage-friendly{color:var(--forest)}
.stage-firm{color:#8a6a1f}
.stage-final{color:var(--rust)}

/* Explain */
.explain{padding:64px 0;border-top:1px solid var(--line)}
.explain-grid{display:grid;grid-template-columns:1fr 1fr;gap:56px}
.explain p{color:#39412f}

/* Pricing */
.pricing{padding:64px 0 88px;border-top:1px solid var(--line)}
.price-list{border-top:1px solid var(--line);margin-bottom:26px}
.price-row{
  display:flex;justify-content:space-between;align-items:center;
  padding:20px 0;border-bottom:1px solid var(--line);gap:20px;
}
.price-name{font-family:var(--serif);font-size:1.15rem;display:block}
.price-desc{color:var(--muted);font-size:0.92rem}
.price-amount{font-family:var(--mono);font-size:1.3rem;white-space:nowrap}
.price-amount small{font-size:0.7rem;color:var(--muted)}
.price-note{font-size:0.85rem;color:var(--muted);margin-top:12px}

/* Footer */
.footer{padding:48px 0 60px;border-top:1px solid var(--line)}
.footer-grid{display:grid;grid-template-columns:2fr 1fr;gap:40px}
.footer-desc{color:var(--muted);font-size:0.9rem;max-width:56ch}
.footer-links{display:flex;flex-direction:column;gap:8px;font-size:0.9rem}
.footer-links a{text-decoration:none;border-bottom:1px solid var(--line)}

@media (max-width:820px){
  .hero-grid,.explain-grid,.footer-grid{grid-template-columns:1fr}
  .ledger-row{grid-template-columns:1fr;gap:4px;padding:14px 0}
  .ledger-head{display:none}
  .mock-window{transform:none}
}

@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  .btn{transition:none}
}
