/* EntiGuard shared design tokens + base components — used by /guides/ pages */
:root{
  --ink:#17231E; --ink-soft:#3C4A43; --paper:#F5F1E8; --paper-raised:#FFFFFF;
  --line:rgba(23,35,30,0.13); --brand:#1F3D33; --brand-ink:#0F211B;
  --accent:#2B6E8F; --accent-ink:#194B62; --gold:#B8892B;
  --ok:#3F8F5F; --ok-bg:#E4F1E8; --warn:#B7791F; --warn-bg:#FBF0DA;
  --danger:#B23A2E; --danger-bg:#FBE7E4; --none:#6B6357; --none-bg:#EFEAE0;
  --shadow: 0 1px 2px rgba(23,35,30,0.06), 0 8px 24px -12px rgba(23,35,30,0.18);
  --radius: 14px;
}
@media (prefers-color-scheme: dark){
  :root:not([data-theme="light"]){
    --ink:#EDEAE0; --ink-soft:#B9C2BC; --paper:#121A16; --paper-raised:#182019;
    --line:rgba(237,234,224,0.14); --brand:#7FB9A3; --brand-ink:#CFE8DC;
    --accent:#6FB6DA; --accent-ink:#BFE1F2; --gold:#D9AE5C;
    --ok:#6FBE8C; --ok-bg:rgba(63,143,95,0.16); --warn:#E0A83E; --warn-bg:rgba(183,121,31,0.18);
    --danger:#E17A6C; --danger-bg:rgba(178,58,46,0.2); --none:#9B9384; --none-bg:rgba(107,99,87,0.22);
    --shadow: 0 1px 2px rgba(0,0,0,0.3), 0 8px 24px -12px rgba(0,0,0,0.5);
  }
}
:root[data-theme="dark"]{
  --ink:#EDEAE0; --ink-soft:#B9C2BC; --paper:#121A16; --paper-raised:#182019;
  --line:rgba(237,234,224,0.14); --brand:#7FB9A3; --brand-ink:#CFE8DC;
  --accent:#6FB6DA; --accent-ink:#BFE1F2; --gold:#D9AE5C;
  --ok:#6FBE8C; --ok-bg:rgba(63,143,95,0.16); --warn:#E0A83E; --warn-bg:rgba(183,121,31,0.18);
  --danger:#E17A6C; --danger-bg:rgba(178,58,46,0.2); --none:#9B9384; --none-bg:rgba(107,99,87,0.22);
  --shadow: 0 1px 2px rgba(0,0,0,0.3), 0 8px 24px -12px rgba(0,0,0,0.5);
}
*{box-sizing:border-box;}
html,body{margin:0;padding:0;}
body{background:var(--paper);color:var(--ink);font-family:'Archivo',system-ui,sans-serif;line-height:1.6;-webkit-font-smoothing:antialiased;}
img{max-width:100%;}
a{color:var(--accent);}
.wrap{max-width:1080px;margin:0 auto;padding-inline:24px;}
.prose{max-width:720px;margin:0 auto;padding-inline:24px;}
h1,h2,h3{font-family:'Fraunces',Georgia,serif;font-weight:600;text-wrap:balance;margin:0;color:var(--brand);}
:root[data-theme="dark"] h1, :root[data-theme="dark"] h2, :root[data-theme="dark"] h3{color:var(--brand-ink);}
@media (prefers-color-scheme:dark){ :root:not([data-theme="light"]) h1, :root:not([data-theme="light"]) h2, :root:not([data-theme="light"]) h3{color:var(--brand-ink);} }
.mono{font-family:'IBM Plex Mono',monospace;font-variant-numeric:tabular-nums;}
.eyebrow{font-family:'IBM Plex Mono',monospace;text-transform:uppercase;letter-spacing:0.12em;font-size:12px;color:var(--accent);font-weight:600;}

header{position:sticky;top:env(safe-area-inset-top,0px);z-index:40;background:color-mix(in srgb, var(--paper) 88%, transparent);backdrop-filter:blur(8px);border-bottom:1px solid var(--line);}
.nav{display:flex;align-items:center;justify-content:space-between;gap:16px;padding-block:14px;}
.wordmark{display:flex;align-items:center;gap:9px;font-family:'Fraunces',serif;font-weight:900;font-size:19px;color:var(--brand);text-decoration:none;}
:root[data-theme="dark"] .wordmark{color:var(--brand-ink);}
@media (prefers-color-scheme:dark){ :root:not([data-theme="light"]) .wordmark{color:var(--brand-ink);} }
.navlinks{display:flex;gap:26px;font-size:14px;font-weight:500;}
.navlinks a{text-decoration:none;color:var(--ink-soft);}
.navlinks a:hover{color:var(--ink);}
@media (max-width:720px){.navlinks{display:none;}}

.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;font-family:'Archivo',sans-serif;font-weight:600;font-size:14.5px;padding:11px 20px;border-radius:999px;border:1px solid transparent;cursor:pointer;text-decoration:none;white-space:nowrap;transition:transform .12s ease, box-shadow .12s ease;}
.btn:active{transform:translateY(1px);}
.btn-primary{background:var(--accent);color:#fff;box-shadow:var(--shadow);}
.btn-primary:hover{box-shadow:0 4px 14px -4px var(--accent);}
.btn-ghost{background:transparent;color:var(--ink);border-color:var(--line);}
.btn-ghost:hover{border-color:var(--ink-soft);}
.btn-sm{padding:8px 14px;font-size:13px;}

footer{border-top:1px solid var(--line);padding-block:36px 48px;margin-top:20px;}
.footer-grid{display:flex;justify-content:space-between;flex-wrap:wrap;gap:20px;font-size:13.5px;color:var(--ink-soft);}
.footer-links{display:flex;gap:18px;flex-wrap:wrap;}
.footer-links a{color:var(--ink-soft);text-decoration:underline;}

/* article/prose typography */
article{padding-block:48px 64px;}
.article-eyebrow{margin-bottom:10px;}
article h1{font-size:clamp(28px,4.4vw,42px);line-height:1.12;margin-bottom:14px;}
article .dek{font-size:17px;color:var(--ink-soft);max-width:60ch;margin-bottom:8px;}
article .meta{font-size:13px;color:var(--ink-soft);margin-bottom:34px;}
article h2{font-size:23px;margin-top:40px;margin-bottom:12px;}
article h3{font-size:18px;margin-top:26px;margin-bottom:8px;color:var(--ink);font-family:'Archivo',sans-serif;font-weight:700;}
article p{font-size:16px;color:var(--ink);margin:0 0 16px;max-width:68ch;}
article ul, article ol{font-size:16px;color:var(--ink);max-width:66ch;padding-left:22px;margin:0 0 16px;}
article li{margin-bottom:8px;}
article strong{color:var(--ink);}
.callout{background:var(--paper-raised);border:1px solid var(--line);border-left:4px solid var(--accent);border-radius:10px;padding:16px 18px;margin:24px 0;font-size:15px;box-shadow:var(--shadow);}
.callout.warn{border-left-color:var(--warn);}
.disclaimer{font-size:13px;color:var(--ink-soft);background:var(--none-bg);border:1px solid var(--line);border-radius:10px;padding:12px 14px;margin:24px 0;}
.table-scroll{overflow-x:auto;margin:20px 0;}
table.deadline-table{width:100%;border-collapse:collapse;font-size:14.5px;min-width:560px;}
table.deadline-table th{text-align:left;font-size:11.5px;text-transform:uppercase;letter-spacing:.06em;color:var(--ink-soft);padding:9px 10px;border-bottom:2px solid var(--line);}
table.deadline-table td{padding:11px 10px;border-bottom:1px solid var(--line);}
.cta-box{background:var(--brand);color:#fff;border-radius:16px;padding:28px;margin:36px 0;text-align:center;}
:root[data-theme="dark"] .cta-box{background:var(--paper-raised);border:1px solid var(--line);}
.cta-box h3{color:#fff;font-size:22px;margin-bottom:8px;}
:root[data-theme="dark"] .cta-box h3{color:var(--brand-ink);}
.cta-box p{color:rgba(255,255,255,0.82);margin-bottom:18px;}
:root[data-theme="dark"] .cta-box p{color:var(--ink-soft);}
.cta-box .btn-primary{background:var(--gold);}
.related{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:16px;}
@media (max-width:640px){.related{grid-template-columns:1fr;}}
.related a{display:block;background:var(--paper-raised);border:1px solid var(--line);border-radius:12px;padding:16px;text-decoration:none;color:var(--ink);font-size:14.5px;font-weight:600;box-shadow:var(--shadow);}
.related a:hover{border-color:var(--accent);}

.guide-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-top:32px;}
@media (max-width:700px){.guide-grid{grid-template-columns:1fr;}}
.guide-card{background:var(--paper-raised);border:1px solid var(--line);border-radius:16px;padding:22px;box-shadow:var(--shadow);text-decoration:none;color:var(--ink);display:block;}
.guide-card:hover{border-color:var(--accent);}
.guide-card h3{font-size:18px;margin-bottom:8px;}
.guide-card p{font-size:14.5px;color:var(--ink-soft);margin:0;}
