/* Veltrion Laboratories: shared stylesheet
   Brand palette per 06_Brand/Veltrion-Brand-Spec.md §1. Do not alias one brand colour to another. */

:root{
  --ink:#14213D; --ink-2:#0E1730; --ink-3:#1B2B4D;
  --blue:#C0392B; --blue-l:#D4674F; --blue-d:#9C2E22;
  --red:#C0392B; --gold:#E2A72E;
  --cream:#F4EFE3; --cream-2:#EAE3D2; --paper:#FBF8F2;
  --muted:#5A6573; --muted-l:#9BA6B8;
  --line:rgba(255,255,255,.13); --line-d:#DED6C4;
  --maxw:1220px; --r:12px;
}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{font-family:'Inter',-apple-system,Helvetica,Arial,sans-serif;color:var(--ink);
     background:var(--paper);line-height:1.62;font-size:16.5px;-webkit-font-smoothing:antialiased}
.wrap{max-width:var(--maxw);margin:0 auto;padding:0 34px}
h1,h2,h3,h4,
a{color:inherit}

.eyebrow{font-size:11px;font-weight:600;letter-spacing:.17em;text-transform:uppercase;
         color:var(--blue);margin-bottom:18px}
.eyebrow.g{color:var(--gold)}


/* ---------------- shared header ---------------- */
header{background:rgba(251,248,242,.92);backdrop-filter:saturate(160%) blur(12px);border-bottom:1px solid #E4DCCB;position:sticky;top:0;z-index:80}
header .wrap{display:flex;align-items:center;justify-content:space-between;height:64px;gap:18px}
header a{text-decoration:none}
.brand{display:flex;align-items:center;gap:10px;text-decoration:none}
.brand img{width:34px;height:34px;display:block;flex:0 0 34px}
.brand span{display:block;line-height:1}
.brand b{font-family:'Poppins',sans-serif;font-weight:600;font-size:16px;line-height:1;
         display:block;color:#14213D;text-decoration:none}
.brand i{display:block;font-style:normal;font-size:7.5px;letter-spacing:.24em;color:#C0392B;
         font-weight:600;margin-top:3px;text-decoration:none}
.hnav{display:flex;gap:22px}
.hnav a{font-size:14px;color:rgba(20,33,61,.62);text-decoration:none;font-weight:500;transition:color .18s}
.hnav a:hover{color:#14213D}
.cta{display:inline-block;background:#C0392B;color:#fff;text-decoration:none;padding:10px 20px;
     border-radius:999px;font-weight:600;font-size:13.5px;white-space:nowrap;transition:background .18s}
.cta:hover{background:#9C2E22}
@media(max-width:820px){.hnav{display:none}}

/* ---------------- legacy header ---------------- */
header{position:sticky;top:0;z-index:70;background:rgba(14,23,48,.92);
       backdrop-filter:saturate(160%) blur(14px);border-bottom:1px solid var(--line)}
header .wrap{display:flex;align-items:center;justify-content:space-between;height:68px}


nav{display:flex;gap:26px}
nav a{color:#C4CCDA;font-size:14px;text-decoration:none;transition:color .18s;font-weight:500}
nav a:hover{color:#fff}

.btn{display:inline-flex;align-items:center;gap:9px;background:var(--blue);color:#fff;
     text-decoration:none;padding:12px 22px;border-radius:8px;font-weight:600;font-size:14.5px;
     border:1px solid transparent;transition:background .18s,transform .18s;
     box-shadow:0 8px 20px -10px rgba(192,57,43,.8)}
.btn:hover{background:var(--blue-d);transform:translateY(-1px)}
.btn.ghost{background:transparent;border-color:rgba(255,255,255,.3);box-shadow:none;color:#fff}
.btn.ghost:hover{background:rgba(255,255,255,.08)}
.btn-sm{padding:9px 17px;font-size:13.5px}

/* ---------------- sections ---------------- */
section{padding:100px 0}
.on-ink{background:var(--ink-2);color:#fff}
.on-cream{background:var(--cream)}
.on-paper{background:var(--paper)}
.sec-head{max-width:720px;margin-bottom:54px}
.on-ink .eyebrow{color:var(--gold)}
h2{font-size:clamp(28px,3.2vw,40px);font-weight:600}
.on-ink h2{color:#fff}
.sec-head p{margin-top:16px;font-size:17.5px;color:var(--muted);line-height:1.62}
.on-ink .sec-head p{color:#B9C4D6}

/* ---------------- footer ---------------- */
footer{background:#0A1226;color:#8A97AC;padding:58px 0 38px;font-size:13px;line-height:1.7}
.fgrid{display:grid;grid-template-columns:1.5fr 1fr 1fr;gap:40px;padding-bottom:28px;
       border-bottom:1px solid rgba(255,255,255,.09)}
.fcol h5{font-family:'Poppins',sans-serif;color:#D8DFEA;font-size:12px;font-weight:600;
         letter-spacing:.12em;text-transform:uppercase;margin-bottom:12px}
.fcol a{display:block;color:#A9B5C8;text-decoration:none;padding:3px 0}
.fcol a:hover{color:#fff}
.disclosure{background:rgba(255,255,255,.04);border-left:3px solid var(--gold);padding:15px 19px;
            border-radius:0 9px 9px 0;color:#A9B5C8;max-width:64ch;margin-top:16px}
.fbot{padding-top:20px;display:flex;justify-content:space-between;gap:18px;flex-wrap:wrap;font-size:12px}
footer a{color:#A9B5C8;text-decoration:none}
footer a:hover{color:#fff}

/* ---------------- policy pages ---------------- */
.policy-hero{background:linear-gradient(160deg,#16264A,var(--ink-2) 60%,#0A1226);color:#fff;
             padding:66px 0 54px}
.policy-hero h1{font-size:clamp(30px,3.6vw,42px);color:#fff;font-weight:600;max-width:24ch}
.policy-hero .meta{margin-top:18px;display:flex;gap:26px;flex-wrap:wrap;font-size:13px;color:var(--muted-l)}
.policy-hero .meta b{color:#E4EAF4;font-weight:600}

.policy-body{padding:66px 0 90px;background:var(--paper)}
.policy-grid{display:grid;grid-template-columns:230px 1fr;gap:56px;align-items:start}
.toc{position:sticky;top:100px;font-size:13.5px}
.toc h6{font-family:'Poppins',sans-serif;font-size:11px;letter-spacing:.14em;text-transform:uppercase;
        color:var(--muted);margin-bottom:12px;font-weight:600}
.toc a{display:block;color:var(--muted);text-decoration:none;padding:6px 0 6px 13px;
       border-left:2px solid var(--line-d);transition:all .16s}
.toc a:hover{color:var(--blue);border-left-color:var(--blue)}

.prose{max-width:76ch}
.prose h2{font-size:21px;font-weight:600;margin:38px 0 12px;scroll-margin-top:96px}
.prose h2:first-child{margin-top:0}
.prose h3{font-size:17px;font-weight:600;margin:24px 0 8px}
.prose p{margin-bottom:14px;color:#2B3645;font-size:16px;line-height:1.7}
.prose ul,.prose ol{margin:0 0 16px 22px}
.prose li{margin-bottom:8px;color:#2B3645;line-height:1.65}
.prose table{width:100%;border-collapse:collapse;margin:18px 0;font-size:14.5px}
.prose th,.prose td{text-align:left;padding:11px 14px;border:1px solid var(--line-d);vertical-align:top}
.prose th{background:var(--cream);font-weight:600;font-family:'Poppins',sans-serif;font-size:13px}
.prose a{color:var(--blue);text-decoration:underline;text-underline-offset:2px}

.callout{background:var(--cream);border-left:3px solid var(--gold);padding:18px 22px;
         border-radius:0 10px 10px 0;margin:22px 0;font-size:15px;line-height:1.65}
.callout.urgent{background:#FCEEEC;border-left-color:var(--red)}
.callout strong{font-weight:600}

.draft-banner{background:var(--red);color:#fff;padding:12px 0;font-size:13.5px;font-weight:500}
.draft-banner .wrap{display:flex;gap:10px;align-items:baseline}

@media(max-width:980px){
  .policy-grid{grid-template-columns:1fr;gap:30px}
  .toc{position:static}
  .fgrid{grid-template-columns:1fr;gap:26px}
}
@media(max-width:680px){
  body{font-size:16px}.wrap{padding:0 20px}section{padding:70px 0}nav{display:none}
}
@media(prefers-reduced-motion:reduce){
  *{animation:none!important;transition:none!important}html{scroll-behavior:auto}
}
