/* skarn-web shared stylesheet (GEO net-new pages).
   Extracted from the brand tokens in the existing index.html so /compare/, /about/, and /research/
   share one self-hosted stylesheet. Using an external /style.css (style-src 'self') keeps the strict
   CSP simple across multiple pages - no per-page inline-<style> hash to maintain.

   NOTE for the site-opt session: populate the @font-face block below with the self-hosted woff2 paths
   you create under /fonts/. Until then the pages fall back to system fonts gracefully. */

:root{
  --obsidian:#0B0F14; --slate:#11161D; --slate-2:#161D26; --line:#212a35;
  --mist:#E8EDF2; --ash:#6B7785; --signal:#2FE3B0; --signal-dim:#143b33;
  --coral:#FF6B6B; --amber:#F5B743; --signal-ink:#06120E;
  --maxw:1080px;
  --sans:"Inter",ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,sans-serif;
  --mono:"IBM Plex Mono",ui-monospace,SFMono-Regular,Menlo,monospace;
  --serif:"Instrument Serif",Georgia,"Times New Roman",serif;
}

/* Self-hosted fonts - paths and weights match skarn-web/fonts/ exactly (font-src 'self'). */
@font-face{font-family:"Inter";font-style:normal;font-weight:100 900;font-display:swap;
  src:url("/fonts/InterVariable.woff2") format("woff2")}
@font-face{font-family:"IBM Plex Mono";font-style:normal;font-weight:400;font-display:swap;
  src:url("/fonts/IBMPlexMono-Regular.woff2") format("woff2")}
@font-face{font-family:"IBM Plex Mono";font-style:normal;font-weight:500;font-display:swap;
  src:url("/fonts/IBMPlexMono-Medium.woff2") format("woff2")}
@font-face{font-family:"Instrument Serif";font-style:normal;font-weight:400;font-display:swap;
  src:url("/fonts/InstrumentSerif-Regular.woff2") format("woff2")}
@font-face{font-family:"Instrument Serif";font-style:italic;font-weight:400;font-display:swap;
  src:url("/fonts/InstrumentSerif-Italic.woff2") format("woff2")}

*{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{margin:0;background:var(--obsidian);color:var(--mist);font-family:var(--sans);
  line-height:1.6;font-size:17px;-webkit-font-smoothing:antialiased;overflow-x:hidden}
a{color:var(--signal);text-decoration:none}
.wrap{max-width:var(--maxw);margin:0 auto;padding:0 clamp(18px,5vw,28px)}
img,svg{max-width:100%}

/* header */
header{position:sticky;top:0;z-index:20;background:rgba(11,15,20,.78);
  backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}
.nav{display:flex;align-items:center;justify-content:space-between;height:64px;gap:14px}
.brand{display:flex;align-items:center;gap:11px}
.brand .logo{width:26px;height:26px;flex:none}
.brand .word{font-family:var(--mono);font-weight:500;letter-spacing:.34em;font-size:15px;
  padding-left:.34em;color:var(--mist)}
.nav a.word-link{display:flex;align-items:center;gap:11px}
.nav .cta{background:var(--signal);color:var(--signal-ink);padding:9px 17px;border-radius:10px;
  font-weight:600;font-size:14px;font-family:var(--sans);white-space:nowrap}
.nav .cta:hover{filter:brightness(1.06)}
.nav .links{display:flex;gap:18px;align-items:center}
.nav .links a:not(.cta){color:var(--ash);font-size:14px}
.nav .links a:not(.cta):hover{color:var(--mist)}
@media(max-width:640px){.nav .links{display:none}}

/* page head */
.page-head{padding:clamp(44px,7vw,76px) 0 clamp(20px,3vw,30px)}
.eyebrow{font-family:var(--mono);font-size:12.5px;letter-spacing:.04em;color:var(--signal);
  border:1px solid var(--line);background:var(--slate);padding:6px 13px;border-radius:999px;
  display:inline-block;margin-bottom:22px}
h1{font-family:var(--serif);font-weight:400;font-size:clamp(36px,6.5vw,64px);line-height:1.02;
  letter-spacing:-.005em;margin:0 0 16px}
h1 em{font-style:italic;color:var(--signal)}
.lead{max-width:720px;color:var(--mist);opacity:.92;font-size:clamp(16px,2.2vw,18.5px);margin:0 0 8px}
.updated{font-family:var(--mono);font-size:12px;color:var(--ash);margin-top:14px}

/* quick-answer block (GEO: definition-first, extractable) */
.answer{background:var(--slate-2);border:1px solid var(--line);border-left:3px solid var(--signal);
  border-radius:12px;padding:20px 22px;margin:24px 0 8px;max-width:780px}
.answer p{margin:0;color:var(--mist);font-size:16.5px;line-height:1.6}
.answer p strong{color:var(--mist)}

/* sections */
section{padding:clamp(36px,6vw,60px) 0;border-top:1px solid var(--line)}
h2{font-family:var(--serif);font-weight:400;font-size:clamp(26px,4.5vw,40px);line-height:1.06;
  margin:0 0 14px;letter-spacing:-.005em}
h2 em{font-style:italic;color:var(--signal)}
h3{font-size:20px;font-weight:600;margin:30px 0 8px;color:var(--mist)}
.sec-lead{color:var(--ash);max-width:720px;margin:0 0 22px;font-size:clamp(15.5px,2.2vw,17px)}
p{color:var(--mist)}
.muted{color:var(--ash)}

/* comparison table */
.table-scroll{overflow:auto;border:1px solid var(--line);border-radius:14px;margin:8px 0 0}
table{border-collapse:collapse;width:100%;min-width:720px;font-size:14.5px}
th,td{text-align:left;padding:12px 14px;border-right:1px solid var(--line);
  border-bottom:1px solid var(--line);vertical-align:top}
th:last-child,td:last-child{border-right:none}
tbody tr:last-child td{border-bottom:none}
thead th{background:var(--slate-2);color:var(--mist);font-weight:600;font-size:13px;
  font-family:var(--mono);letter-spacing:.02em}
td.tname{font-weight:600;color:var(--mist);white-space:nowrap;background:var(--slate-2)}
.yes{color:var(--signal)} .no{color:var(--ash)} .partial{color:var(--amber)}
.table-note{color:var(--ash);font-size:12.5px;margin:10px 0 0}

/* tool cards */
.tool{background:var(--slate-2);border:1px solid var(--line);border-radius:15px;padding:22px 24px;
  margin:18px 0}
.tool h3{margin-top:0;display:flex;align-items:baseline;gap:10px;flex-wrap:wrap}
.tool .bestfor{font-family:var(--mono);font-size:12px;color:var(--signal);background:var(--signal-dim);
  border-radius:999px;padding:3px 11px}
.tool p{color:var(--ash);font-size:15px;line-height:1.62;margin:10px 0}
.pc{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:12px}
@media(max-width:620px){.pc{grid-template-columns:1fr}}
.pc h4{margin:0 0 6px;font-size:13px;font-family:var(--mono);letter-spacing:.03em;color:var(--mist)}
.pc ul{margin:0;padding-left:18px}
.pc li{color:var(--ash);font-size:14.5px;line-height:1.55;margin-bottom:4px}
.pc .pros li::marker{color:var(--signal)}
.pc .cons li::marker{color:var(--coral)}

/* faq */
.faq dt{font-weight:600;color:var(--mist);margin-top:20px;font-size:16.5px}
.faq dd{margin:6px 0 0;color:var(--ash);font-size:15px;line-height:1.62;max-width:760px}

/* cta band */
.cta-band{text-align:center}
.cta-band h2{margin-bottom:14px}
.cta-band .sec-lead{margin-left:auto;margin-right:auto}
.row{display:flex;gap:13px;justify-content:center;flex-wrap:wrap;margin-top:20px}
.btn{padding:14px 24px;border-radius:12px;font-weight:600;font-size:15.5px;display:inline-block;
  font-family:var(--sans)}
.btn.primary{background:var(--signal);color:var(--signal-ink)}
.btn.primary:hover{filter:brightness(1.06)}
.btn.ghost{border:1px solid var(--line);color:var(--mist);background:var(--slate)}
.btn.ghost:hover{border-color:var(--ash)}
.note{margin-top:18px;font-size:13.5px;color:var(--ash)}

footer{border-top:1px solid var(--line);padding:34px 0;color:var(--ash);font-size:13.5px}
.foot{display:flex;justify-content:space-between;gap:14px;flex-wrap:wrap;align-items:center}
.foot .word{font-family:var(--mono);letter-spacing:.2em}

/* synthetic-data banner (research) */
.synthetic{background:var(--signal-dim);border:1px solid var(--signal);border-radius:10px;
  padding:12px 16px;color:var(--mist);font-size:14px;margin:18px 0}
.draft{background:#2a1d10;border:1px solid var(--amber);border-radius:10px;padding:12px 16px;
  color:var(--amber);font-size:13.5px;margin:18px 0;font-family:var(--mono)}
.statgrid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin:20px 0}
@media(max-width:680px){.statgrid{grid-template-columns:1fr 1fr}}
.stat{background:var(--slate-2);border:1px solid var(--line);border-radius:12px;padding:18px}
.stat .n{font-family:var(--serif);font-size:34px;color:var(--signal);line-height:1}
.stat .l{color:var(--ash);font-size:13px;margin-top:6px}
