/* Veritor — Shared Styles for Subpages
 * Editorial typography (Newsreader serif + Inter Tight sans + JetBrains Mono)
 * Ink / Paper / Signal palette
 */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
:root{
  --ink:#0d1117;--ink-2:#131922;--ink-3:#1a212c;
  --paper:#f5f3ee;--paper-2:#ebe7df;--paper-3:#ddd6cb;
  --rule:#cfc8bb;--rule-2:#e3ddd1;
  --rule-dark:rgba(245,243,238,0.1);--rule-dark-2:rgba(245,243,238,0.18);
  --signal:oklch(0.74 0.16 170);--signal-2:oklch(0.74 0.16 170 / 0.18);
  --signal-hex:#3dd9b8;
  --white:#fff;
}
html{scroll-behavior:smooth}
body{margin:0;background:var(--paper);color:var(--ink);font-family:'Inter Tight',system-ui,sans-serif;-webkit-font-smoothing:antialiased;text-rendering:geometricPrecision;font-feature-settings:"ss01","cv11";font-size:15px;line-height:1.7}
::selection{background:var(--signal);color:var(--ink)}
::-webkit-scrollbar{width:3px}::-webkit-scrollbar-track{background:var(--paper)}::-webkit-scrollbar-thumb{background:var(--rule)}
a{text-decoration:none;color:inherit}

/* NAV */
.nav{position:sticky;top:0;z-index:100;background:var(--paper);border-bottom:1px solid var(--rule);padding:0 48px;display:flex;align-items:center;height:60px}
.nav-inner{max-width:1200px;width:100%;margin:0 auto;display:flex;align-items:center}
.nav-brand{display:flex;align-items:center;gap:10px;margin-right:auto}
.nav-wm{font-family:'Newsreader',serif;font-size:20px;font-weight:500;letter-spacing:-0.014em}
.nav-links{display:flex;align-items:center;gap:4px;flex-wrap:wrap}
.nav-links a{padding:8px 16px;font-size:14px;font-weight:500;color:var(--ink);opacity:0.6;border-radius:2px;transition:all 0.15s;letter-spacing:-0.004em}
.nav-links a:hover{opacity:1;background:var(--paper-2)}
.nav-links a.active{opacity:1;color:var(--ink)}
.nav-cta{opacity:1!important;color:var(--signal-hex)!important;font-family:'JetBrains Mono',monospace!important;font-size:12px!important;letter-spacing:0.1em!important;text-transform:uppercase!important}

/* SECTIONS */
section{padding:88px 0;border-bottom:1px solid var(--rule);scroll-margin-top:80px}
section:last-of-type{border-bottom:none}
.wrap{max-width:1200px;margin:0 auto;padding:0 48px}
.wrap-tight{max-width:900px;margin:0 auto;padding:0 48px}
.s-num{font-family:'JetBrains Mono',monospace;font-size:12px;letter-spacing:0.12em;text-transform:uppercase;opacity:0.5;margin-bottom:16px}
.s-title{font-family:'Newsreader',serif;font-weight:500;font-size:clamp(36px,4.5vw,52px);line-height:1.08;letter-spacing:-0.02em;margin:0 0 20px;text-wrap:balance}
.s-lead{font-family:'Newsreader',serif;font-weight:400;font-size:clamp(18px,1.6vw,22px);line-height:1.6;letter-spacing:-0.006em;max-width:720px;opacity:0.82;margin:0 0 44px;text-wrap:pretty}
.s-body{font-size:16px;line-height:1.75;max-width:720px;opacity:0.85}
.s-body p{margin:0 0 16px}.s-body p:last-child{margin-bottom:0}
.s-body strong{font-weight:600;opacity:1;color:var(--ink)}
.s-body ul{padding-left:20px;margin:0 0 16px}
.s-body li{margin-bottom:6px}

/* HERO */
.hero{padding:120px 0 88px}
.hero-dark{background:var(--ink);color:var(--paper);border-bottom:none;padding:120px 0 96px}
.hero-dark .s-title{color:var(--paper)}
.hero-dark .s-lead{color:var(--paper);opacity:0.7}
.hero-dark .nav{background:var(--ink);border-color:var(--rule-dark)}
.hero h1{font-family:'Newsreader',serif;font-weight:500;font-size:clamp(40px,5vw,60px);line-height:1.04;letter-spacing:-0.022em;margin:0 0 24px;text-wrap:balance;max-width:900px}
.hero-lead{font-family:'Newsreader',serif;font-weight:400;font-size:clamp(19px,1.7vw,24px);line-height:1.55;letter-spacing:-0.006em;max-width:780px;opacity:0.85;margin:0 0 36px;text-wrap:pretty}

/* helpers */
.mono{font-family:'JetBrains Mono',monospace;font-size:12px;letter-spacing:0.06em;text-transform:uppercase;opacity:0.6}
.caption{font-family:'JetBrains Mono',monospace;font-size:11px;letter-spacing:0.1em;text-transform:uppercase;opacity:0.5}
.eyebrow{font-family:'JetBrains Mono',monospace;font-size:12px;letter-spacing:0.12em;text-transform:uppercase;color:var(--signal-hex);margin-bottom:18px;display:inline-block}

/* surfaces */
.surface{background:var(--paper);border:1px solid var(--rule-2);padding:32px;position:relative}
.surface.dark{background:var(--ink);color:var(--paper);border-color:var(--rule-dark)}
.surface.signal{border-color:var(--signal-hex);background:rgba(61,217,184,0.04)}

/* grids */
.col-2{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.col-3{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.col-4{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}
@media(max-width:900px){.col-2,.col-3,.col-4{grid-template-columns:1fr}}

/* buttons */
.btn{display:inline-flex;align-items:center;gap:10px;padding:13px 26px;font-family:'Inter Tight',sans-serif;font-size:15px;font-weight:500;letter-spacing:-0.004em;border:1px solid var(--rule);background:var(--paper);color:var(--ink);cursor:pointer;transition:all 0.15s}
.btn:hover{background:var(--paper-2);border-color:var(--rule)}
.btn-signal{background:var(--ink);color:var(--paper);border-color:var(--ink)}
.btn-signal:hover{background:var(--ink-2)}
.btn-row{display:flex;gap:12px;flex-wrap:wrap;margin-bottom:48px}

/* spec rows */
.spec-row{display:grid;grid-template-columns:220px 1fr;gap:28px;padding:24px 0;border-top:1px solid var(--rule-2);align-items:baseline}
.spec-row:last-child{border-bottom:1px solid var(--rule-2)}
.spec-label{display:flex;flex-direction:column;gap:4px}
.spec-name{font-size:15px;font-weight:600}
.spec-meta{font-family:'JetBrains Mono',monospace;font-size:11px;opacity:0.55;letter-spacing:0.04em}
.spec-body{font-size:15px;line-height:1.7;opacity:0.85}
@media(max-width:780px){.spec-row{grid-template-columns:1fr;gap:8px}}

/* feature row */
.feat-row{display:grid;grid-template-columns:240px 1fr;gap:36px;padding:28px 0;border-top:1px solid var(--rule-2)}
.feat-row:last-child{border-bottom:1px solid var(--rule-2)}
.feat-name{font-family:'Newsreader',serif;font-weight:500;font-size:22px;letter-spacing:-0.008em}
.feat-tag{font-family:'JetBrains Mono',monospace;font-size:11px;letter-spacing:0.08em;text-transform:uppercase;opacity:0.45;margin-top:6px}
.feat-desc{font-size:15.5px;line-height:1.7;opacity:0.82}
@media(max-width:780px){.feat-row{grid-template-columns:1fr;gap:12px}}

/* code */
pre.code{background:var(--ink);color:var(--paper);padding:24px;font-family:'JetBrains Mono',monospace;font-size:13px;line-height:1.7;overflow-x:auto;border:1px solid var(--rule-dark)}
pre.code .c-dim{opacity:0.4}
pre.code .c-signal{color:var(--signal-hex)}
pre.code .c-comment{opacity:0.5}

/* FAQ accordion */
details.faq{padding:24px 0;border-top:1px solid var(--rule-2);cursor:pointer}
details.faq:last-child{border-bottom:1px solid var(--rule-2)}
details.faq summary{list-style:none;display:flex;justify-content:space-between;align-items:flex-start;gap:16px;font-family:'Newsreader',serif;font-weight:500;font-size:19px;letter-spacing:-0.006em;line-height:1.4}
details.faq summary::-webkit-details-marker{display:none}
details.faq summary::after{content:'+';font-family:'JetBrains Mono',monospace;font-size:20px;color:var(--signal-hex);transition:transform 0.2s;flex-shrink:0}
details.faq[open] summary::after{content:'−'}
details.faq .faq-body{margin-top:16px;font-size:15.5px;line-height:1.75;opacity:0.85;max-width:780px}
details.faq .faq-body p{margin-bottom:12px}details.faq .faq-body p:last-child{margin-bottom:0}

/* breadcrumb */
.crumbs{font-family:'JetBrains Mono',monospace;font-size:12px;letter-spacing:0.06em;text-transform:uppercase;opacity:0.55;margin-bottom:20px}
.crumbs a:hover{opacity:1;color:var(--ink)}
.crumbs .sep{margin:0 8px;opacity:0.5}

/* CTA section */
.cta-section{background:var(--ink);color:var(--paper);padding:88px 0;border-bottom:none}
.cta-section .s-title{color:var(--paper);max-width:780px}
.cta-section .s-lead{color:var(--paper);opacity:0.78}
.cta-section .btn{background:var(--paper);color:var(--ink);border-color:var(--paper)}
.cta-section .btn-signal{background:var(--signal-hex);color:var(--ink);border-color:var(--signal-hex)}

/* footer */
footer{padding:48px;background:var(--paper);border-top:1px solid var(--rule);font-size:13px}
.f-inner{max-width:1200px;margin:0 auto;display:flex;justify-content:space-between;align-items:center;gap:24px;flex-wrap:wrap}
.f-links{display:flex;gap:24px;flex-wrap:wrap}
.f-links a{opacity:0.6;transition:opacity 0.15s}.f-links a:hover{opacity:1}
.f-copy{font-family:'JetBrains Mono',monospace;font-size:11px;letter-spacing:0.04em;opacity:0.5}

/* stats grid */
.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;margin:40px 0}
.stat{padding:24px;border:1px solid var(--rule-2);background:var(--paper)}
.stat-num{font-family:'Newsreader',serif;font-weight:500;font-size:36px;letter-spacing:-0.02em;line-height:1;color:var(--ink);margin-bottom:8px}
.stat-label{font-family:'JetBrains Mono',monospace;font-size:11px;letter-spacing:0.06em;text-transform:uppercase;opacity:0.6}
@media(max-width:780px){.stats{grid-template-columns:1fr 1fr}}

/* tag chips */
.chip{display:inline-block;font-family:'JetBrains Mono',monospace;font-size:11px;letter-spacing:0.04em;text-transform:uppercase;padding:5px 12px;border:1px solid var(--rule-2);margin-right:6px;margin-bottom:6px}
.chip-signal{border-color:var(--signal-hex);color:var(--signal-hex)}

@media(max-width:780px){
  .nav{padding:0 24px}
  .nav-links{display:none}
  .nav-links.show{display:flex;position:absolute;top:60px;left:0;right:0;background:var(--paper);padding:16px;border-bottom:1px solid var(--rule);flex-direction:column;align-items:flex-start}
  .wrap,.wrap-tight{padding:0 24px}
  section{padding:64px 0}
  .hero{padding:80px 0 64px}
}
