:root {
  --paper:#F1EEE2;
  --surface:#FCFAF2;
  --surface2:#F6F3E7;
  --surface3:#EBE7D8;
  --rule:#D2CEBA;
  --ruleSoft:#E3DFCE;
  --ruleFirm:#A9A492;
  --ink:#1A1A15;
  --ink2:#55544A;
  --ink3:#857F70;
  --onInk:#FBF9F1;
  --green:#0E7A4E;
  --greenBg:#DAEFE2;
  --onGreen:#F3FBF6;
  --red:#8C2230;
  --redBg:#F1DFDE;
  --onRed:#FFF5F6;
  --amber:#8A5A0F;
  --amberBg:#F3E7CD;
  --shadow:0 16px 45px rgba(44,41,30,.08);
}

html[data-theme="dark"] {
  --paper:#14130E;
  --surface:#1C1B14;
  --surface2:#232118;
  --surface3:#2B2820;
  --rule:#38352A;
  --ruleSoft:#262318;
  --ruleFirm:#4E4A3B;
  --ink:#EFEBDB;
  --ink2:#ADA894;
  --ink3:#7E7969;
  --onInk:#14130E;
  --green:#4FC98D;
  --greenBg:#0F3325;
  --onGreen:#06251A;
  --red:#E4818C;
  --redBg:#331A1D;
  --onRed:#2A0E12;
  --amber:#DDA94F;
  --amberBg:#322710;
  --shadow:0 18px 50px rgba(0,0,0,.24);
}

@media (prefers-color-scheme: dark) {
  html:not([data-theme="light"]) {
    --paper:#14130E;
    --surface:#1C1B14;
    --surface2:#232118;
    --surface3:#2B2820;
    --rule:#38352A;
    --ruleSoft:#262318;
    --ruleFirm:#4E4A3B;
    --ink:#EFEBDB;
    --ink2:#ADA894;
    --ink3:#7E7969;
    --onInk:#14130E;
    --green:#4FC98D;
    --greenBg:#0F3325;
    --onGreen:#06251A;
    --red:#E4818C;
    --redBg:#331A1D;
    --onRed:#2A0E12;
    --amber:#DDA94F;
    --amberBg:#322710;
    --shadow:0 18px 50px rgba(0,0,0,.24);
  }
}

* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body {
  margin:0;
  background:var(--paper);
  color:var(--ink);
  font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  line-height:1.55;
  -webkit-font-smoothing:antialiased;
}
a { color:inherit; }
img,svg { max-width:100%; }

.container { width:min(1120px, calc(100% - 40px)); margin:0 auto; }
.serif { font-family:Georgia,"Times New Roman",serif; }
.mono { font-family:Menlo,Monaco,Consolas,monospace; }
.eyebrow { text-transform:uppercase; letter-spacing:.16em; font-size:.74rem; font-weight:700; color:var(--green); }

.site-header {
  position:sticky;
  top:0;
  z-index:20;
  backdrop-filter:blur(16px);
  background:color-mix(in srgb, var(--paper) 88%, transparent);
  border-bottom:1px solid var(--ruleSoft);
}
.header-inner { min-height:72px; display:flex; align-items:center; justify-content:space-between; gap:24px; }
.brand { display:flex; align-items:center; gap:10px; text-decoration:none; font-family:Georgia,"Times New Roman",serif; font-size:1.28rem; font-weight:700; }
.brand-mark { width:29px; height:34px; border:2px solid var(--green); border-radius:4px; position:relative; background:var(--surface); }
.brand-mark:before { content:""; position:absolute; left:5px; top:0; bottom:0; width:2px; background:var(--green); }
.brand-mark:after { content:"♠"; position:absolute; left:11px; top:4px; font-size:10px; color:var(--green); }
.nav { display:flex; align-items:center; gap:24px; color:var(--ink2); font-size:.93rem; }
.nav a { text-decoration:none; }
.nav a:hover { color:var(--green); }
.theme-toggle { border:1px solid var(--rule); background:var(--surface); color:var(--ink); border-radius:999px; width:38px; height:38px; cursor:pointer; font-size:16px; }

.hero { padding:94px 0 70px; }
.hero-grid { display:grid; grid-template-columns:1.08fr .92fr; align-items:center; gap:64px; }
.hero h1 { font-family:Georgia,"Times New Roman",serif; font-size:clamp(3.1rem,7vw,6.4rem); line-height:.92; letter-spacing:-.045em; margin:12px 0 24px; font-weight:500; }
.hero h1 span { color:var(--green); }
.hero-copy { max-width:680px; color:var(--ink2); font-size:1.16rem; }
.hero-actions { display:flex; gap:12px; flex-wrap:wrap; margin-top:28px; }
.button { display:inline-flex; align-items:center; justify-content:center; min-height:46px; padding:0 18px; border-radius:11px; text-decoration:none; font-weight:700; font-size:.94rem; }
.button.primary { background:var(--ink); color:var(--onInk); }
.button.secondary { background:var(--surface); border:1px solid var(--rule); color:var(--ink); }
.button:hover { transform:translateY(-1px); }
.hero-note { margin-top:18px; color:var(--ink3); font-size:.84rem; }

.ledger-card { background:var(--surface); border:1px solid var(--rule); border-radius:14px; box-shadow:var(--shadow); overflow:hidden; }
.ledger-top { padding:22px; display:flex; justify-content:space-between; align-items:flex-start; border-bottom:1px solid var(--ruleSoft); }
.ledger-title { font-family:Georgia,"Times New Roman",serif; font-size:1.36rem; }
.live-pill { display:inline-flex; align-items:center; gap:7px; padding:6px 10px; border-radius:999px; background:var(--greenBg); color:var(--green); font-size:.73rem; font-weight:800; text-transform:uppercase; letter-spacing:.08em; }
.live-dot { width:7px; height:7px; border-radius:50%; background:var(--green); }
.ledger-lines { padding:8px 22px 22px; }
.ledger-row { display:grid; grid-template-columns:1fr auto; gap:20px; padding:14px 0; border-bottom:1px solid var(--ruleSoft); }
.ledger-row:last-child { border-bottom:0; }
.player { font-weight:650; }
.muted { color:var(--ink3); font-size:.82rem; }
.money { font-family:Georgia,"Times New Roman",serif; font-variant-numeric:tabular-nums; font-size:1.02rem; }
.money.in { color:var(--green); }
.money.out { color:var(--red); }
.reconcile { margin:2px 22px 22px; padding:14px 15px; background:var(--greenBg); border:1px solid color-mix(in srgb, var(--green) 30%, var(--rule)); border-radius:11px; color:var(--green); display:flex; justify-content:space-between; gap:14px; font-weight:700; }

.section { padding:78px 0; border-top:1px solid var(--ruleSoft); }
.section-head { max-width:720px; margin-bottom:36px; }
.section h2 { font-family:Georgia,"Times New Roman",serif; font-size:clamp(2.25rem,4vw,3.7rem); line-height:1.05; letter-spacing:-.03em; margin:8px 0 16px; font-weight:500; }
.section-intro { color:var(--ink2); font-size:1.06rem; }
.feature-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:16px; }
.feature { background:var(--surface); border:1px solid var(--rule); border-radius:14px; padding:24px; min-height:220px; }
.feature-number { font-family:Menlo,Monaco,Consolas,monospace; color:var(--green); font-size:.77rem; margin-bottom:36px; }
.feature h3 { font-family:Georgia,"Times New Roman",serif; font-size:1.45rem; margin:0 0 9px; }
.feature p { color:var(--ink2); margin:0; }

.trust-grid { display:grid; grid-template-columns:1fr 1fr; gap:18px; }
.trust-card { padding:30px; background:var(--surface); border:1px solid var(--rule); border-radius:14px; }
.trust-card.green { background:var(--greenBg); border-color:color-mix(in srgb, var(--green) 24%, var(--rule)); }
.trust-card h3 { font-family:Georgia,"Times New Roman",serif; font-size:1.7rem; margin:0 0 10px; }
.trust-card p { color:var(--ink2); margin:0; }
.trust-card.green p, .trust-card.green h3 { color:var(--green); }

.steps { counter-reset:step; display:grid; grid-template-columns:repeat(4,1fr); border:1px solid var(--rule); border-radius:14px; overflow:hidden; background:var(--surface); }
.step { padding:25px; border-right:1px solid var(--rule); }
.step:last-child { border-right:0; }
.step:before { counter-increment:step; content:"0" counter(step); display:block; font-family:Menlo,Monaco,Consolas,monospace; color:var(--green); margin-bottom:36px; font-size:.75rem; }
.step h3 { font-family:Georgia,"Times New Roman",serif; margin:0 0 8px; }
.step p { color:var(--ink2); font-size:.92rem; margin:0; }

.stats-strip { display:grid; grid-template-columns:repeat(4,1fr); gap:1px; background:var(--rule); border:1px solid var(--rule); border-radius:14px; overflow:hidden; }
.stat { background:var(--surface); padding:24px; }
.stat strong { display:block; font-family:Georgia,"Times New Roman",serif; font-size:1.55rem; font-weight:500; }
.stat span { color:var(--ink3); font-size:.82rem; }

.privacy-list { display:grid; grid-template-columns:1fr 1fr; gap:18px; }
.privacy-box { background:var(--surface); border:1px solid var(--rule); border-radius:14px; padding:26px; }
.privacy-box h3 { margin-top:0; font-family:Georgia,"Times New Roman",serif; }
.privacy-box ul { margin:14px 0 0; padding-left:18px; color:var(--ink2); }
.privacy-box li { margin:8px 0; }

.cta { padding:70px 0 90px; }
.cta-card { background:var(--ink); color:var(--onInk); border-radius:14px; padding:44px; display:flex; justify-content:space-between; align-items:end; gap:30px; }
.cta-card h2 { margin:8px 0 0; font-family:Georgia,"Times New Roman",serif; font-size:clamp(2rem,4vw,3.5rem); line-height:1.05; font-weight:500; max-width:680px; }
.cta-card .eyebrow { color:var(--green); }
.cta-card .button { background:var(--onInk); color:var(--ink); white-space:nowrap; }

.page-hero { padding:80px 0 48px; }
.page-hero h1 { font-family:Georgia,"Times New Roman",serif; font-size:clamp(2.9rem,6vw,5rem); line-height:1; letter-spacing:-.04em; margin:12px 0 18px; font-weight:500; }
.page-hero p { max-width:730px; color:var(--ink2); font-size:1.08rem; }
.prose { max-width:790px; padding-bottom:90px; }
.prose h2 { font-family:Georgia,"Times New Roman",serif; margin:38px 0 12px; font-size:1.7rem; }
.prose h3 { margin:26px 0 8px; font-size:1.05rem; }
.prose p, .prose li { color:var(--ink2); }
.prose ul { padding-left:20px; }
.notice { padding:16px 18px; border-radius:11px; background:var(--surface2); border:1px solid var(--rule); color:var(--ink2); }

.support-grid { display:grid; grid-template-columns:.75fr 1.25fr; gap:18px; padding-bottom:90px; }
.support-card { background:var(--surface); border:1px solid var(--rule); border-radius:14px; padding:28px; }
.support-card h2 { font-family:Georgia,"Times New Roman",serif; margin-top:0; }
.support-card p { color:var(--ink2); }
.email-link { display:inline-block; margin-top:8px; color:var(--green); font-weight:750; text-decoration:none; word-break:break-word; }
.faq { border-top:1px solid var(--ruleSoft); padding:17px 0; }
.faq:first-of-type { border-top:0; padding-top:0; }
.faq h3 { margin:0 0 6px; font-size:1rem; }
.faq p { margin:0; }

footer { border-top:1px solid var(--ruleSoft); padding:28px 0 36px; color:var(--ink3); font-size:.82rem; }
.footer-inner { display:flex; justify-content:space-between; gap:22px; align-items:center; }
.footer-links { display:flex; gap:18px; flex-wrap:wrap; }
.footer-links a { text-decoration:none; }
.footer-links a:hover { color:var(--green); }

@media (max-width:900px) {
  .hero-grid, .trust-grid, .privacy-list, .support-grid { grid-template-columns:1fr; }
  .hero { padding-top:60px; }
  .feature-grid { grid-template-columns:1fr 1fr; }
  .steps { grid-template-columns:1fr 1fr; }
  .step:nth-child(2) { border-right:0; }
  .step:nth-child(-n+2) { border-bottom:1px solid var(--rule); }
  .stats-strip { grid-template-columns:1fr 1fr; }
  .cta-card { align-items:flex-start; flex-direction:column; }
}

@media (max-width:650px) {
  .container { width:min(100% - 26px, 1120px); }
  .header-inner { min-height:64px; }
  .nav a:not(.nav-keep) { display:none; }
  .hero h1 { font-size:3.4rem; }
  .hero-grid { gap:36px; }
  .feature-grid, .steps, .stats-strip { grid-template-columns:1fr; }
  .feature { min-height:0; }
  .step { border-right:0 !important; border-bottom:1px solid var(--rule); }
  .step:last-child { border-bottom:0; }
  .stat { border-bottom:1px solid var(--rule); }
  .stat:last-child { border-bottom:0; }
  .section { padding:58px 0; }
  .cta { padding:50px 0 70px; }
  .cta-card { padding:30px; }
  .footer-inner { flex-direction:column; align-items:flex-start; }
}
