/* FiercePitch marketing site — brand tokens from docs/00-CANON.md */
:root{
  --bg-900:#0B0E13; --bg-800:#11151C; --surface-700:#161B22; --surface-600:#1E2530;
  --border:#2A3340; --text-hi:#F5F7FA; --text-mid:#AEB9C7; --text-lo:#6B7686;
  --optic:#C5FF2E; --optic-press:#A8E01E; --teal:#00E0C6; --coral:#FF4D6D;
  --gold:#FFC83D; --violet:#8B7BFF;
  --radius:20px; --radius-sm:14px; --max:1080px;
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{
  background:var(--bg-900); color:var(--text-hi);
  font-family:'Inter',-apple-system,system-ui,sans-serif; line-height:1.6;
  -webkit-font-smoothing:antialiased;
}
.wrap{max-width:var(--max); margin:0 auto; padding:0 24px}
a{color:inherit; text-decoration:none}
h1,h2,h3{font-family:'Sora',sans-serif; letter-spacing:-0.02em; line-height:1.08}

/* Nav */
nav{position:sticky; top:0; z-index:10; background:rgba(11,14,19,.8); backdrop-filter:blur(12px); border-bottom:1px solid var(--border)}
nav .wrap{display:flex; align-items:center; justify-content:space-between; height:64px}
.brand{display:flex; align-items:center; gap:10px; font-family:'Sora'; font-weight:800; font-size:18px}
.brand .seam{width:26px;height:26px;border-radius:50%;background:var(--optic);position:relative;display:inline-block}
.brand .seam::after{content:'';position:absolute;inset:5px;border-radius:50%;border:2px solid var(--bg-900);border-left-color:transparent;border-right-color:transparent}
.nav-links{display:flex; gap:28px; font-size:15px; color:var(--text-mid)}
.nav-links a{white-space:nowrap}
.nav-links a:hover{color:var(--text-hi)}
@media(max-width:680px){.nav-links{display:none}}
.btn{display:inline-block; background:var(--optic); color:#0B0E13; font-weight:600; padding:12px 22px; border-radius:var(--radius-sm); font-size:15px; transition:background .15s}
.btn:hover{background:var(--optic-press)}
.btn-ghost{background:transparent; border:1px solid var(--border); color:var(--text-hi)}
.btn-ghost:hover{border-color:var(--text-mid)}

/* Hero */
.hero{padding:96px 0 72px; text-align:center}
.eyebrow{color:var(--optic); font-weight:600; letter-spacing:.12em; text-transform:uppercase; font-size:13px}
.hero h1{font-size:clamp(40px,7vw,76px); font-weight:800; margin:18px 0 20px}
.hero p.lead{font-size:clamp(17px,2.4vw,21px); color:var(--text-mid); max-width:620px; margin:0 auto 32px}
.cta-row{display:flex; gap:14px; justify-content:center; flex-wrap:wrap}
.badge-soon{display:inline-flex;align-items:center;gap:8px;color:var(--text-lo);font-size:14px;margin-top:18px}

/* Sections */
section.block{padding:64px 0; border-top:1px solid var(--border)}
.section-head{text-align:center; max-width:640px; margin:0 auto 44px}
.section-head h2{font-size:clamp(28px,4vw,40px); font-weight:700; margin-bottom:12px}
.section-head p{color:var(--text-mid); font-size:17px}
.grid{display:grid; grid-template-columns:repeat(auto-fit,minmax(260px,1fr)); gap:18px}
.card{background:var(--surface-700); border:1px solid var(--border); border-radius:var(--radius); padding:26px}
.card .ico{font-size:28px; margin-bottom:14px; display:block}
.card h3{font-size:19px; font-weight:700; margin-bottom:8px}
.card p{color:var(--text-mid); font-size:15px}
.accent-optic{color:var(--optic)} .accent-teal{color:var(--teal)} .accent-coral{color:var(--coral)} .accent-violet{color:var(--violet)} .accent-gold{color:var(--gold)}

/* Two-up audience */
.two{display:grid; grid-template-columns:1fr 1fr; gap:18px}
@media(max-width:720px){.two{grid-template-columns:1fr}}
.panel{background:var(--surface-700); border:1px solid var(--border); border-radius:var(--radius); padding:32px}
.panel h3{font-size:24px; margin-bottom:10px}
.panel ul{list-style:none; margin-top:16px}
.panel li{color:var(--text-mid); padding:7px 0 7px 26px; position:relative; font-size:15px}
.panel li::before{content:'✓'; position:absolute; left:0; color:var(--optic); font-weight:700}

/* CTA */
.cta-block{text-align:center; padding:80px 0}
.cta-block h2{font-size:clamp(30px,5vw,48px); font-weight:800; margin-bottom:16px}
.cta-block p{color:var(--text-mid); margin-bottom:28px; font-size:18px}

/* Footer */
footer{border-top:1px solid var(--border); padding:48px 0; color:var(--text-lo); font-size:14px}
footer .wrap{display:flex; justify-content:space-between; flex-wrap:wrap; gap:20px}
footer a{color:var(--text-mid)} footer a:hover{color:var(--text-hi)}
.foot-links{display:flex; gap:22px; flex-wrap:wrap}

/* Legal/doc pages */
.doc{max-width:760px; margin:0 auto; padding:56px 24px 80px}
.doc h1{font-size:40px; font-weight:800; margin-bottom:8px}
.doc .updated{color:var(--text-lo); font-size:14px; margin-bottom:36px}
.doc h2{font-size:22px; font-weight:700; margin:34px 0 12px; color:var(--text-hi)}
.doc p,.doc li{color:var(--text-mid); font-size:16px; margin-bottom:12px}
.doc ul{padding-left:22px; margin-bottom:12px}
.doc a{color:var(--teal)}
.back{display:inline-block; color:var(--text-mid); margin-bottom:28px; font-size:14px}
.back:hover{color:var(--text-hi)}
