/* ============================================================================
   EpochCore — Creator Tools design system
   Audience: content creators + devs. Zero-COGS in-browser microservices.
   Warm-paper editorial · Newsreader serif · JetBrains Mono · violet accent.
   Cohesive with app-primitives + provenance-suite; punchier hero rhythm.
   ============================================================================ */
:root{
  --bg:#f4f0e7; --surface:#efe9db; --surface2:#eae3d3; --field:#fffdf8; --hi:#e4dcc9;
  --line:rgba(34,27,18,0.12); --line2:rgba(34,27,18,0.22); --line3:rgba(34,27,18,0.34);
  --ink:#1b1712; --dim:rgba(27,23,18,0.74); --mute:rgba(27,23,18,0.50); --faint:rgba(27,23,18,0.32);
  --accent:#6a3df0; --accent-deep:#5a2fe0; --accent-soft:rgba(106,61,240,0.09);
  --accent-line:rgba(106,61,240,0.30); --accent-glow:rgba(106,61,240,0.18);
  --ok:#1f9d61; --ok-soft:rgba(31,157,97,0.10); --warn:#f5a623; --hot:#e7444e;
  --grad:linear-gradient(100deg,#5a2fe0 0%,#7d5bf4 52%,#a896f7 100%);
  --serif:"Newsreader",Georgia,serif; --mono:"JetBrains Mono",ui-monospace,monospace;
  --wrap:1120px;
}
*{box-sizing:border-box;} html,body{margin:0;padding:0;}
html{scroll-behavior:smooth;}
body{background:radial-gradient(125% 60% at 100% -8%,var(--accent-glow),transparent 52%),var(--bg);
  color:var(--ink);font-family:var(--serif);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;}
a{color:inherit;text-decoration:none;}
::selection{background:var(--accent);color:#fff;}
.wrap{max-width:var(--wrap);margin:0 auto;padding:0 32px;}
.mono{font-family:var(--mono);}
@media(max-width:680px){.wrap{padding:0 20px;}}

/* ── nav ─────────────────────────────────────────────────────────────── */
.nav{position:sticky;top:0;z-index:60;display:flex;align-items:center;justify-content:space-between;
  padding:15px 0;border-bottom:1px solid var(--line);background:rgba(244,240,231,0.86);backdrop-filter:blur(12px);}
.brand{font-family:var(--mono);font-weight:700;font-size:13px;letter-spacing:1.5px;text-transform:uppercase;display:inline-flex;align-items:center;gap:9px;}
.brand .dot{width:9px;height:9px;border-radius:2px;background:var(--accent);transform:rotate(45deg);}
.brand .v{color:var(--accent);}
.nav-links{display:flex;gap:22px;align-items:center;flex-wrap:wrap;}
.nav-links a{font-family:var(--mono);font-size:11px;letter-spacing:0.8px;text-transform:uppercase;color:var(--dim);transition:color .15s;}
.nav-links a:hover{color:var(--accent);}
.nav-cta{font-family:var(--mono);font-size:11px;font-weight:600;letter-spacing:0.8px;text-transform:uppercase;
  background:var(--ink);color:#f6f2ea;padding:9px 16px;}
.nav-cta:hover{background:#332b20;}

/* ── hero ────────────────────────────────────────────────────────────── */
.hero{padding:74px 0 12px;}
.eyebrow{display:inline-flex;align-items:center;gap:12px;font-family:var(--mono);font-size:11px;letter-spacing:1.7px;
  text-transform:uppercase;color:var(--accent);flex-wrap:wrap;}
.pulse{width:7px;height:7px;border-radius:50%;background:var(--ok);box-shadow:0 0 9px rgba(31,157,97,0.55);}
h1{font-weight:800;font-size:clamp(38px,6vw,72px);line-height:0.98;letter-spacing:-2.2px;margin:20px 0 0;max-width:16ch;}
h1 .ac{background:var(--grad);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;}
.lede{margin:22px 0 0;max-width:58ch;font-size:18px;line-height:1.55;color:var(--dim);}
.lede b{color:var(--ink);font-weight:600;}
.cta-row{display:flex;gap:12px;flex-wrap:wrap;margin-top:30px;align-items:center;}
.btn{display:inline-flex;align-items:center;gap:9px;font-family:var(--mono);font-size:12px;font-weight:700;
  letter-spacing:1px;text-transform:uppercase;padding:14px 24px;cursor:pointer;border:1px solid transparent;transition:.15s;}
.btn.primary{background:var(--accent);color:#fff;border-color:var(--accent);}
.btn.primary:hover{background:var(--accent-deep);}
.btn.ghost{background:transparent;color:var(--ink);border-color:var(--line2);}
.btn.ghost:hover{border-color:var(--accent);color:var(--accent);}
.cta-note{font-family:var(--mono);font-size:10.5px;letter-spacing:0.5px;color:var(--mute);text-transform:uppercase;}

/* ── trust strip ─────────────────────────────────────────────────────── */
.trust{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--line);border:1px solid var(--line2);margin-top:40px;}
@media(max-width:680px){.trust{grid-template-columns:1fr 1fr;}}
.trust .t{background:var(--surface);padding:18px 20px;}
.trust .tv{font-family:var(--serif);font-weight:800;font-size:26px;letter-spacing:-1px;line-height:1;}
.trust .tv.ac{color:var(--accent);} .trust .tv.ok{color:var(--ok);}
.trust .tk{font-family:var(--mono);font-size:9.5px;letter-spacing:0.7px;text-transform:uppercase;color:var(--mute);margin-top:7px;}

/* ── sections ────────────────────────────────────────────────────────── */
.sec{padding:64px 0;border-top:1px solid var(--line);}
.sec-k{font-family:var(--mono);font-size:11px;letter-spacing:1.5px;text-transform:uppercase;color:var(--accent);margin-bottom:14px;}
.sec h2{font-weight:800;font-size:clamp(28px,3.6vw,46px);line-height:1.04;letter-spacing:-1.2px;margin:0 0 8px;max-width:20ch;}
.sec h2 em{font-style:italic;color:var(--accent);font-weight:700;}
.sec .intro{max-width:62ch;font-size:16px;line-height:1.55;color:var(--dim);margin:10px 0 26px;}
.sec .intro b{color:var(--ink);font-weight:600;}

/* ── tool grid ───────────────────────────────────────────────────────── */
.toolgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line);border:1px solid var(--line2);}
@media(max-width:880px){.toolgrid{grid-template-columns:1fr 1fr;}}
@media(max-width:560px){.toolgrid{grid-template-columns:1fr;}}
a.tool{display:flex;flex-direction:column;background:var(--surface);padding:24px 24px 20px;transition:background .15s;position:relative;min-height:236px;}
a.tool:hover{background:var(--hi);}
a.tool .ico{width:30px;height:30px;color:var(--accent);margin-bottom:15px;}
a.tool .badge{position:absolute;top:18px;right:18px;font-family:var(--mono);font-size:8.5px;letter-spacing:0.6px;
  text-transform:uppercase;color:var(--ok);border:1px solid var(--ok-soft);background:var(--ok-soft);padding:3px 7px;}
a.tool h3{font-family:var(--serif);font-size:21px;font-weight:700;letter-spacing:-0.4px;margin:0 0 6px;}
a.tool p{font-size:13.5px;line-height:1.5;color:var(--dim);margin:0 0 14px;}
a.tool .val{margin-top:auto;border-top:1px solid var(--line);padding-top:12px;display:flex;justify-content:space-between;align-items:baseline;gap:10px;}
a.tool .val .vg{font-family:var(--mono);font-size:9.5px;letter-spacing:0.4px;text-transform:uppercase;color:var(--mute);}
a.tool .val .go{font-family:var(--mono);font-size:10px;letter-spacing:0.6px;text-transform:uppercase;color:var(--mute);}
a.tool:hover .val .go{color:var(--accent);}

/* ── value-gap band ──────────────────────────────────────────────────── */
.gap{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:var(--line);border:1px solid var(--line2);margin-top:8px;}
@media(max-width:680px){.gap{grid-template-columns:1fr;}}
.gap .col{padding:24px 26px;background:var(--surface);}
.gap .col.us{background:var(--field);box-shadow:inset 3px 0 0 var(--accent);}
.gap .ch{font-family:var(--mono);font-size:10px;letter-spacing:1px;text-transform:uppercase;margin-bottom:14px;}
.gap .col.them .ch{color:var(--mute);} .gap .col.us .ch{color:var(--accent);}
.gap ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:11px;}
.gap li{font-size:14px;line-height:1.45;color:var(--dim);display:flex;gap:10px;}
.gap .them li::before{content:"\2715";color:var(--hot);font-weight:700;font-size:12px;}
.gap .us li::before{content:"\2713";color:var(--ok);font-weight:700;}
.gap li b{color:var(--ink);font-weight:600;}

/* ── how it works ────────────────────────────────────────────────────── */
.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line);border:1px solid var(--line2);}
@media(max-width:680px){.steps{grid-template-columns:1fr;}}
.step{background:var(--surface);padding:22px 24px;}
.step .si{width:32px;height:32px;display:flex;align-items:center;justify-content:center;font-family:var(--mono);
  font-size:13px;font-weight:600;color:var(--accent);border:1px solid var(--accent-line);background:var(--accent-soft);}
.step .st{font-family:var(--serif);font-weight:700;font-size:18px;letter-spacing:-0.3px;margin:13px 0 5px;}
.step .sd{font-size:13.5px;line-height:1.5;color:var(--dim);}
.step .sd b{color:var(--ink);}

/* ── pricing ─────────────────────────────────────────────────────────── */
.price-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line);border:1px solid var(--line2);margin-top:8px;}
@media(max-width:860px){.price-grid{grid-template-columns:1fr;}}
.pc{background:var(--surface);padding:28px 26px;display:flex;flex-direction:column;gap:16px;position:relative;}
.pc.featured{background:var(--field);box-shadow:inset 0 0 0 2px var(--accent);}
.pc .flag{position:absolute;top:0;right:0;background:var(--accent);color:#fff;font-family:var(--mono);font-size:9px;
  font-weight:700;letter-spacing:1px;text-transform:uppercase;padding:5px 11px;}
.pc .pn{font-family:var(--mono);font-size:12px;letter-spacing:1.4px;text-transform:uppercase;font-weight:600;color:var(--dim);}
.pc .who{font-size:13px;color:var(--mute);margin-top:-8px;}
.pc .amt{font-family:var(--serif);font-weight:800;font-size:48px;letter-spacing:-2px;line-height:1;}
.pc .amt .per{font-family:var(--mono);font-size:13px;font-weight:400;color:var(--mute);letter-spacing:0;margin-left:4px;}
.pc .amt.ac{color:var(--accent);}
.pc ul{list-style:none;margin:0;padding:16px 0 0;border-top:1px solid var(--line);display:flex;flex-direction:column;gap:10px;flex:1;}
.pc li{font-size:13.5px;line-height:1.4;color:var(--dim);display:flex;gap:9px;}
.pc li::before{content:"\2713";color:var(--ok);font-weight:700;flex:none;}
.pc li b{color:var(--ink);font-weight:600;}
.pc .pcta{font-family:var(--mono);font-size:12px;font-weight:700;letter-spacing:1px;text-transform:uppercase;
  text-align:center;padding:13px;border:1px solid var(--line2);transition:.15s;}
.pc .pcta.solid{background:var(--accent);color:#fff;border-color:var(--accent);}
.pc .pcta.solid:hover{background:var(--accent-deep);}
.pc .pcta.ghost:hover{border-color:var(--accent);color:var(--accent);}
.pc .cogs{font-family:var(--mono);font-size:9.5px;letter-spacing:0.4px;text-transform:uppercase;color:var(--ok);}

/* ── faq ─────────────────────────────────────────────────────────────── */
.faq{display:flex;flex-direction:column;gap:1px;background:var(--line);border:1px solid var(--line2);margin-top:8px;}
.faq .q{background:var(--surface);padding:20px 24px;}
.faq .q .qt{font-family:var(--serif);font-weight:700;font-size:17px;letter-spacing:-0.3px;}
.faq .q .qa{font-size:14px;line-height:1.55;color:var(--dim);margin-top:8px;max-width:74ch;}
.faq .q .qa b{color:var(--ink);}

/* ── footer ──────────────────────────────────────────────────────────── */
.foot{border-top:1px solid var(--line2);padding:46px 0 34px;margin-top:8px;}
.foot-grid{display:grid;grid-template-columns:2fr 1fr 1fr;gap:40px;}
@media(max-width:680px){.foot-grid{grid-template-columns:1fr;gap:26px;}}
.foot h4{font-family:var(--mono);font-size:11px;letter-spacing:1.2px;text-transform:uppercase;color:var(--accent);margin:0 0 13px;}
.foot p{font-size:14px;line-height:1.55;color:var(--dim);margin:0;max-width:42ch;}
.foot .links{display:flex;flex-direction:column;gap:9px;}
.foot .links a{font-size:14px;color:var(--dim);}
.foot .links a:hover{color:var(--accent);}
.foot-bottom{margin-top:38px;padding-top:20px;border-top:1px solid var(--line);font-family:var(--mono);font-size:10px;
  letter-spacing:0.8px;text-transform:uppercase;color:var(--mute);display:flex;justify-content:space-between;gap:14px;flex-wrap:wrap;}
