/* Velocity Presales — restrained, readable, print-friendly */
:root{
  --ink:#14213d; --ink-2:#33415c; --muted:#5c677d; --line:#dde2ea; --bg:#f7f8fa; --card:#fff;
  --accent:#0f766e; --accent-2:#115e59; --accent-soft:#e6f4f2;
  --warn:#9a3412; --warn-soft:#fff3e8; --bad:#991b1b; --bad-soft:#fdecec; --good:#166534; --good-soft:#eaf6ee;
  --radius:10px; --maxw:1120px;
  --font:"Inter","Segoe UI",system-ui,-apple-system,Roboto,"Helvetica Neue",Arial,sans-serif;
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;font-family:var(--font);color:var(--ink);background:var(--bg);line-height:1.6;font-size:16px}
a{color:var(--accent-2)}
a:hover{color:var(--accent)}
.wrap{max-width:var(--maxw);margin:0 auto;padding:0 20px}
.skip{position:absolute;left:-999px}.skip:focus{left:10px;top:10px;background:#fff;padding:8px;z-index:10}
h1,h2,h3,h4{line-height:1.25;margin:1.6em 0 .5em}
h1{font-size:2.1rem;margin-top:.4em;letter-spacing:-.01em}
h2{font-size:1.45rem}
h3{font-size:1.12rem}
p{margin:.4em 0 1em}
.small{font-size:.88rem;color:var(--muted)}
.muted{color:var(--muted)}
ul.plain{list-style:none;padding:0;margin:.4em 0}

/* Header */
.site-header{background:var(--ink);color:#fff;position:sticky;top:0;z-index:5}
.header-inner{display:flex;align-items:center;justify-content:space-between;gap:16px;padding-top:12px;padding-bottom:12px;flex-wrap:wrap}
.brand{display:flex;align-items:center;gap:10px;color:#fff;text-decoration:none}
.brand-mark{background:var(--accent);color:#fff;font-weight:800;border-radius:8px;width:38px;height:38px;display:grid;place-items:center;font-size:.95rem}
.brand-text{display:flex;flex-direction:column;line-height:1.15}
.brand-text small{color:#b8c1d1;font-size:.75rem}
.site-nav{display:flex;flex-wrap:wrap;gap:4px}
.site-nav a{color:#d7dce6;text-decoration:none;font-size:.88rem;padding:6px 10px;border-radius:6px}
.site-nav a:hover{background:rgba(255,255,255,.08);color:#fff}
.site-nav a[aria-current=page]{background:rgba(255,255,255,.14);color:#fff}

/* Hero */
.hero{background:linear-gradient(180deg,var(--ink) 0,#1d2d50 100%);color:#fff;padding:56px 0 64px}
.hero h1{font-size:2.5rem;max-width:780px;margin:0 0 .4em}
.hero p{max-width:720px;color:#d4dae5;font-size:1.1rem}
.hero .btn{margin-top:10px;margin-right:8px}
.eyebrow{text-transform:uppercase;letter-spacing:.09em;font-size:.76rem;color:#8fd3c9;font-weight:700}

/* Buttons */
.btn{display:inline-block;background:var(--accent);color:#fff;text-decoration:none;padding:11px 18px;border-radius:8px;font-weight:600;border:0;cursor:pointer;font:inherit;font-weight:600}
.btn:hover{background:var(--accent-2);color:#fff}
.btn-ghost{background:transparent;border:1px solid rgba(255,255,255,.4)}
.btn-ghost:hover{background:rgba(255,255,255,.1)}
.btn-light{background:#fff;color:var(--ink)}
.btn-light:hover{background:#eef1f5;color:var(--ink)}
.btn-outline{background:#fff;color:var(--accent-2);border:1px solid var(--accent)}
.btn-outline:hover{background:var(--accent-soft);color:var(--accent-2)}

/* Sections & cards */
.section{padding:44px 0}
.grid{display:grid;gap:18px}
.grid-2{grid-template-columns:repeat(auto-fit,minmax(300px,1fr))}
.grid-3{grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}
.card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:22px}
.card h3{margin-top:0}
.card .covers{font-size:.9rem;color:var(--muted)}
.card a.more{font-weight:600;text-decoration:none}
.pill{display:inline-block;background:var(--accent-soft);color:var(--accent-2);border-radius:999px;font-size:.75rem;font-weight:700;padding:3px 10px;margin-bottom:8px}

/* Article / playbook layout */
.doc{display:grid;grid-template-columns:240px 1fr;gap:36px;padding:36px 0 56px}
.toc{position:sticky;top:84px;align-self:start;font-size:.9rem;background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:16px}
.toc strong{display:block;margin-bottom:6px}
.toc ol{margin:0;padding-left:18px}
.toc li{margin:4px 0}
.toc a{text-decoration:none;color:var(--ink-2)}
.toc a:hover{color:var(--accent)}
article.playbook{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:32px 40px;min-width:0}
article.playbook > header p.lead{font-size:1.1rem;color:var(--ink-2)}
article.playbook h2{border-top:1px solid var(--line);padding-top:1.1em}
article.playbook h2:first-of-type{border-top:0}
article.playbook li{margin:.25em 0}
.callout{border-left:4px solid var(--accent);background:var(--accent-soft);padding:12px 16px;border-radius:0 8px 8px 0;margin:1em 0}
.callout.warn{border-color:var(--warn);background:var(--warn-soft)}
.callout strong:first-child{display:block;margin-bottom:2px}
.checklist{list-style:none;padding-left:0}
.checklist li{padding-left:28px;position:relative}
.checklist li::before{content:"";position:absolute;left:2px;top:.35em;width:14px;height:14px;border:2px solid var(--accent);border-radius:3px}
.pager{display:flex;justify-content:space-between;gap:12px;margin-top:36px;border-top:1px solid var(--line);padding-top:18px;flex-wrap:wrap}
.meta{font-size:.88rem;color:var(--muted)}

/* Tables */
.table-wrap{overflow-x:auto;margin:1em 0}
table{border-collapse:collapse;width:100%;font-size:.93rem;background:#fff}
th,td{border:1px solid var(--line);padding:8px 10px;text-align:left;vertical-align:top}
th{background:#f1f4f8;font-weight:700}
td.num,th.num{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}
tr.total td{font-weight:700;background:#f7f9fb}

/* Calculator */
.calc{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);gap:24px;padding:28px 0 56px;align-items:start}
.calc form .card{margin-bottom:16px}
.calc h2{margin-top:0;font-size:1.15rem}
.fields{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:12px 14px}
label{display:block;font-size:.84rem;font-weight:600;color:var(--ink-2);margin-bottom:3px}
.hint{font-weight:400;color:var(--muted);font-size:.78rem}
input[type=text],input[type=number],select{width:100%;padding:8px 10px;border:1px solid #c7cfdb;border-radius:7px;font:inherit;font-size:.93rem;background:#fff;color:var(--ink)}
input:focus,select:focus{outline:2px solid var(--accent);outline-offset:0;border-color:var(--accent)}
.roles td{padding:4px}
.roles input{padding:6px 7px;font-size:.88rem}
.roles th{font-size:.78rem}
.roles td:first-child input{min-width:160px}
.roles td:nth-child(4) input,.roles td:nth-child(5) input{min-width:80px}
.radio-row{display:flex;gap:16px;flex-wrap:wrap}
.radio-row label{font-weight:500;display:flex;align-items:center;gap:6px;font-size:.93rem}
.actions{display:flex;gap:10px;flex-wrap:wrap}
.results{position:sticky;top:84px}
.kpis{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;margin-bottom:14px}
.kpi{background:#fff;border:1px solid var(--line);border-radius:8px;padding:12px 14px}
.kpi span{display:block;font-size:.78rem;color:var(--muted);font-weight:600;text-transform:uppercase;letter-spacing:.04em}
.kpi b{font-size:1.35rem;font-variant-numeric:tabular-nums}
.kpi.good{border-color:#b7dfc4;background:var(--good-soft)}
.kpi.warn{border-color:#f5c9a3;background:var(--warn-soft)}
.kpi.bad{border-color:#f1b5b5;background:var(--bad-soft)}
.flags{list-style:none;padding:0;margin:0 0 14px}
.flags li{padding:9px 12px;border-radius:7px;margin-bottom:6px;font-size:.9rem}
.flags .bad{background:var(--bad-soft);color:var(--bad)}
.flags .warn{background:var(--warn-soft);color:var(--warn)}
.flags .good{background:var(--good-soft);color:var(--good)}
.errors{background:var(--bad-soft);color:var(--bad);border-radius:8px;padding:10px 14px;margin-bottom:14px}
.empty{color:var(--muted);text-align:center;padding:40px 20px}

/* CTA + footer */
.cta-band{background:var(--accent-2);color:#fff;padding:34px 0}
.cta-inner{display:flex;align-items:center;justify-content:space-between;gap:24px;flex-wrap:wrap}
.cta-inner h2{margin:0 0 .3em;font-size:1.35rem}
.cta-inner p{margin:0;color:#d5efeb;max-width:680px}
.site-footer{background:var(--ink);color:#c9d0dc;padding:36px 0 18px;font-size:.92rem}
.site-footer a{color:#fff}
.site-footer strong{color:#fff}
.site-footer .small{color:#9aa5b8}
.footer-grid{display:grid;grid-template-columns:2fr 1fr 1.4fr;gap:28px}
.copyright{border-top:1px solid rgba(255,255,255,.1);margin-top:24px;padding-top:14px;font-size:.82rem;color:#8b96a9}

@media (max-width:900px){
  .doc,.calc{grid-template-columns:minmax(0,1fr)}
  .toc,.results,.site-header{position:static}
  .site-nav a{padding:5px 8px;font-size:.84rem}
  article.playbook{padding:22px}
  .footer-grid{grid-template-columns:1fr}
  .hero h1{font-size:1.9rem}
}
@media print{
  .site-header,.site-footer,.cta-band,.no-print,.toc,.calc form{display:none!important}
  body{background:#fff;font-size:11pt}
  .doc,.calc{display:block;padding:0}
  article.playbook,.card,.kpi{border:0;padding:0}
  .results{position:static}
  a{color:inherit;text-decoration:none}
  h2{break-after:avoid}
  table,.callout{break-inside:avoid}
}
