/* ============================================================
   VegasHero Canada — single stylesheet
   Tokens → shell → hero/CTA → content components → responsive
   ============================================================ */

/* ---------- 1. TOKENS ---------- */
:root{
  /* colour */
  --red:#C8102E;
  --red-deep:#8A0B20;
  --red-tint:#FCEEF0;
  --ink:#141416;
  --ink-2:#2A2A2E;
  --paper:#F7F6F5;
  --card:#FFFFFF;
  --grey:#6B6B70;
  --grey-2:#8E8E94;
  --rule:#E3E1DF;
  --rule-2:#EFEDEB;
  --good:#1B6B45;
  --good-tint:#E4F1EA;
  --warn:#8A5A00;
  --warn-tint:#FBF0DA;

  /* type */
  --f-display:"Bebas Neue",Impact,sans-serif;
  --f-head:"Geologica","Segoe UI",sans-serif;
  --f-body:"Libre Franklin",system-ui,-apple-system,sans-serif;
  --f-mono:"Reddit Mono",ui-monospace,Menlo,monospace;

  --t-xs:0.75rem;
  --t-sm:0.875rem;
  --t-base:1.0625rem;
  --t-md:1.1875rem;
  --t-lg:1.375rem;
  --t-xl:1.75rem;
  --t-2xl:2.125rem;
  --t-3xl:2.75rem;
  --t-4xl:3.5rem;

  /* space */
  --s-1:0.25rem; --s-2:0.5rem; --s-3:0.75rem; --s-4:1rem;
  --s-5:1.5rem; --s-6:2rem; --s-7:3rem; --s-8:4rem; --s-9:6rem;

  --wrap:1180px;
  --col:74ch;
  --r:4px;
  --r-lg:8px;

  --shadow:0 1px 2px rgba(20,20,22,.06),0 8px 24px rgba(20,20,22,.07);
  --shadow-lift:0 4px 8px rgba(20,20,22,.08),0 16px 40px rgba(20,20,22,.12);
  --hatch:repeating-linear-gradient(135deg,transparent 0 8px,rgba(200,16,46,.09) 8px 16px);
}

/* ---------- 2. RESET ---------- */
*,*::before,*::after{box-sizing:border-box}
html{overflow-x:clip;scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{
  overflow-x:clip;margin:0;background:var(--paper);color:var(--ink);
  font-family:var(--f-body);font-size:var(--t-base);line-height:1.62;
  -webkit-font-smoothing:antialiased;
}
img{max-width:100%;height:auto;display:block}
h1,h2,h3,h4{font-family:var(--f-head);margin:0;line-height:1.14;letter-spacing:-.015em;overflow-wrap:break-word}
p,li,td,th,summary{overflow-wrap:break-word}
p{margin:0 0 var(--s-4)}
a{color:var(--red-deep);text-underline-offset:3px}
a:hover{color:var(--red)}
:focus-visible{outline:3px solid var(--red);outline-offset:2px;border-radius:2px}
ul,ol{margin:0 0 var(--s-4);padding-left:1.35rem}
li{margin-bottom:var(--s-2)}
strong{font-weight:700}
.skip{position:absolute;left:-9999px;top:0;background:var(--red);color:#fff;padding:var(--s-3) var(--s-4);z-index:200;font-weight:700}
.skip:focus{left:0}
.wrap{width:100%;max-width:var(--wrap);margin:0 auto;padding:0 var(--s-5);min-width:0}

/* ---------- 3. HEADER / NAV ---------- */
.site-head{
  position:sticky;top:0;z-index:120;background:var(--ink);
  border-bottom:2px solid var(--red);
}
.head-in{display:flex;align-items:center;gap:var(--s-5);min-height:64px;min-width:0}
.brand{display:flex;align-items:center;gap:var(--s-3);text-decoration:none;flex:0 0 auto}
.brand-mark{
  width:34px;height:34px;background:var(--red);border-radius:var(--r);
  display:grid;place-items:center;font-family:var(--f-display);font-size:1.35rem;color:#fff;line-height:1;padding-top:3px;
}
.brand-txt{font-family:var(--f-display);font-size:1.3rem;letter-spacing:.04em;color:#fff;line-height:1}
.brand-txt span{color:var(--red);}
.nav-toggle{position:absolute;opacity:0;width:1px;height:1px}
.burger{display:none;margin-left:auto;cursor:pointer;padding:10px;min-height:44px;min-width:44px;align-items:center;justify-content:center}
.burger span{display:block;width:24px;height:2px;background:#fff;position:relative}
.burger span::before,.burger span::after{content:"";position:absolute;left:0;width:24px;height:2px;background:#fff}
.burger span::before{top:-7px}.burger span::after{top:7px}
.nav-toggle:focus-visible + .burger{outline:3px solid var(--red);outline-offset:-3px}
.site-nav{margin-left:auto;min-width:0}
.site-nav ul{display:flex;flex-wrap:wrap;gap:var(--s-1);list-style:none;margin:0;padding:0}
.site-nav a{
  display:block;padding:var(--s-2) var(--s-3);color:#D8D6D4;text-decoration:none;
  font-size:var(--t-sm);font-weight:500;border-radius:var(--r);min-height:38px;line-height:1.6;
}
.site-nav a:hover{background:#26262B;color:#fff}
.site-nav a[aria-current="page"]{color:#fff;background:var(--red)}

/* ---------- 4. HERO / CTA ---------- */
.hero{
  background:var(--ink);color:#EDEBE9;position:relative;
  padding:var(--s-7) 0 var(--s-8);
  border-bottom:1px solid #000;
}
.hero::after{content:"";position:absolute;inset:0;background:var(--hatch);opacity:.5;pointer-events:none}
.hero-in{position:relative;z-index:1;max-width:900px}
.eyebrow{
  font-family:var(--f-display);font-size:0.95rem;letter-spacing:.16em;text-transform:uppercase;
  color:var(--red);margin-bottom:var(--s-4);display:flex;flex-wrap:wrap;gap:var(--s-3);align-items:center;
}
.eyebrow i{font-style:normal;color:#7A7A80}
.hero h1{font-size:var(--t-3xl);font-weight:700;color:#fff;margin-bottom:var(--s-4)}
.hero-lead{font-size:var(--t-md);color:#BFBDBB;max-width:62ch;margin-bottom:var(--s-6)}

/* main CTA card — whole block is the link */
.cta-main{
  display:block;text-decoration:none;color:inherit;background:#1D1D22;
  border:1px solid #34343B;border-radius:var(--r-lg);padding:var(--s-5);
  transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease;
}
.cta-main:hover{transform:translateY(-3px);border-color:var(--red);box-shadow:var(--shadow-lift)}
.cta-main:focus-visible{outline:3px solid var(--red);outline-offset:3px}
.cta-kicker{
  font-family:var(--f-mono);font-size:var(--t-xs);letter-spacing:.08em;text-transform:uppercase;
  color:#9A9AA2;display:flex;flex-wrap:wrap;gap:var(--s-2);align-items:center;margin-bottom:var(--s-3);
}
.cta-kicker .ext{color:var(--red);font-weight:600}
.cta-main h2{font-size:var(--t-xl);color:#fff;font-weight:700;margin-bottom:var(--s-2)}
.cta-sub{font-size:var(--t-sm);color:#B4B2B0;margin-bottom:var(--s-4)}
.btn{
  display:flex;align-items:center;justify-content:center;gap:var(--s-2);
  width:100%;min-height:56px;padding:0 var(--s-5);
  font-family:var(--f-display);font-size:1.35rem;letter-spacing:.08em;text-transform:uppercase;
  color:#fff;background:linear-gradient(180deg,var(--red) 0%,var(--red-deep) 100%);
  border:0;border-radius:var(--r);box-shadow:0 4px 0 #5C0715,0 8px 18px rgba(200,16,46,.34);
  transition:transform .12s ease,box-shadow .12s ease;padding-top:5px;
}
.cta-main:hover .btn{box-shadow:0 5px 0 #5C0715,0 12px 26px rgba(200,16,46,.42)}
.cta-main:active .btn{transform:translateY(4px);box-shadow:0 0 0 #5C0715,0 4px 10px rgba(200,16,46,.3)}
.cta-facts{
  display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,140px),1fr));
  gap:1px;background:#34343B;border:1px solid #34343B;border-radius:var(--r);margin-top:var(--s-4);overflow:hidden;
}
.cta-facts div{background:#1D1D22;padding:var(--s-3);min-width:0}
.cta-facts b{display:block;font-family:var(--f-mono);font-size:var(--t-sm);color:#fff;font-weight:600;margin-bottom:2px}
.cta-facts span{display:block;font-size:var(--t-xs);color:#8E8E96;line-height:1.4}

/* secondary tiles */
.cta-tiles{
  display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),1fr));
  gap:var(--s-4);margin-top:var(--s-4);
}
.tile{
  display:flex;flex-direction:column;min-width:0;text-decoration:none;color:inherit;
  background:#1D1D22;border:1px solid #34343B;border-radius:var(--r-lg);padding:var(--s-4);
  transition:transform .18s ease,border-color .18s ease;
}
.tile:hover{transform:translateY(-2px);border-color:var(--red)}
.tile:focus-visible{outline:3px solid var(--red);outline-offset:3px}
.tile h3{font-size:var(--t-base);color:#fff;font-weight:600;margin-bottom:var(--s-2)}
.tile p{font-size:var(--t-sm);color:#A8A6A4;flex:1;margin-bottom:var(--s-4)}
.btn-sm{
  display:flex;align-items:center;justify-content:center;min-height:44px;width:100%;
  font-family:var(--f-display);font-size:1.05rem;letter-spacing:.07em;text-transform:uppercase;color:#fff;
  background:linear-gradient(180deg,#3A3A42 0%,#26262B 100%);border:1px solid #4A4A54;border-radius:var(--r);padding-top:4px;
  transition:background .16s ease,border-color .16s ease;
}
.tile:hover .btn-sm{background:linear-gradient(180deg,var(--red) 0%,var(--red-deep) 100%);border-color:var(--red-deep)}
.cta-note{margin-top:var(--s-5);font-size:var(--t-xs);color:#8E8E96;max-width:70ch}
.cta-note a{color:#C9C7C5}

/* ---------- 5. BREADCRUMBS ---------- */
.crumbs{background:var(--card);border-bottom:1px solid var(--rule)}
.crumbs ol{display:flex;flex-wrap:wrap;gap:var(--s-2);list-style:none;margin:0;padding:var(--s-3) 0;font-size:var(--t-xs);color:var(--grey)}
.crumbs li+li::before{content:"›";margin-right:var(--s-2);color:var(--grey-2)}
.crumbs a{color:var(--grey);text-decoration:none}
.crumbs a:hover{color:var(--red)}

/* ---------- 6. LAYOUT / ARTICLE ---------- */
main{display:block;padding:var(--s-7) 0 var(--s-8)}
.col{max-width:var(--col);min-width:0}
article{min-width:0}
article > section{margin-bottom:var(--s-7);position:relative;min-width:0}
article > section > h2{
  font-size:var(--t-2xl);font-weight:700;margin:0 0 var(--s-4);padding-left:var(--s-5);
  border-left:3px solid var(--red);
}
article h3{font-size:var(--t-lg);font-weight:600;margin:var(--s-6) 0 var(--s-3)}
article h4{font-size:var(--t-base);font-weight:700;margin:var(--s-5) 0 var(--s-2)}
article > header{margin-bottom:var(--s-6)}
.vh-lede{font-size:var(--t-md);color:var(--ink-2);border-left:3px solid var(--rule);padding-left:var(--s-4)}
.vh-byline{display:flex;flex-wrap:wrap;gap:var(--s-2);font-size:var(--t-xs);color:var(--grey);margin-bottom:var(--s-4)}
.vh-byline__sep{color:var(--rule)}

/* ---------- 7. AUTHOR ---------- */
.author-card{
  display:flex;gap:var(--s-4);align-items:center;background:var(--card);border:1px solid var(--rule);
  border-left:3px solid var(--red);border-radius:var(--r);padding:var(--s-4);margin-bottom:var(--s-6);min-width:0;
}
.author-card img{width:56px;height:56px;border-radius:50%;object-fit:cover;flex:0 0 56px}
.author-card__meta{min-width:0}
.author-card__name{font-family:var(--f-head);font-weight:700;font-size:var(--t-base);display:block}
.author-card__role{font-size:var(--t-xs);color:var(--grey);display:block}
.author-card__dates{font-family:var(--f-mono);font-size:var(--t-xs);color:var(--grey-2);display:block;margin-top:2px}

.author-bio{
  background:var(--card);border:1px solid var(--rule);border-radius:var(--r-lg);padding:var(--s-6);margin:var(--s-7) 0;min-width:0;
}
.author-bio__top{display:flex;gap:var(--s-5);align-items:center;margin-bottom:var(--s-4);min-width:0}
.author-bio img{width:104px;height:104px;border-radius:50%;object-fit:cover;flex:0 0 104px}
.author-bio h2{font-size:var(--t-lg);font-weight:700;margin-bottom:var(--s-1);padding:0;border:0}
.author-bio__role{font-family:var(--f-display);font-size:1rem;letter-spacing:.1em;text-transform:uppercase;color:var(--red)}
.author-bio p{font-size:var(--t-sm);color:var(--ink-2)}
.author-bio p:last-child{margin-bottom:0}

/* ---------- 8. TABLES ---------- */
.tbl-wrap{overflow-x:auto;background:var(--card);border:1px solid var(--rule);border-radius:var(--r);margin:var(--s-5) 0;min-width:0}
table{border-collapse:collapse;width:100%;font-size:var(--t-sm)}
caption{
  text-align:left;padding:var(--s-3) var(--s-4);font-family:var(--f-display);font-size:1rem;
  letter-spacing:.09em;text-transform:uppercase;color:var(--grey);border-bottom:1px solid var(--rule);
}
th{
  text-align:left;background:#FAF9F8;font-family:var(--f-mono);font-size:var(--t-xs);font-weight:600;
  letter-spacing:.04em;text-transform:uppercase;color:var(--ink-2);padding:var(--s-3) var(--s-4);
  border-bottom:1px solid var(--rule);vertical-align:bottom;
}
td{padding:var(--s-3) var(--s-4);border-bottom:1px solid var(--rule-2);vertical-align:top}
tbody th[scope="row"]{background:#FCFBFA;text-transform:none;font-family:var(--f-body);font-size:var(--t-sm);letter-spacing:0;white-space:normal}
tr:last-child td,tr:last-child th{border-bottom:0}
tbody tr:hover{background:#FBFAF9}
.vh-neg{color:var(--red);font-family:var(--f-mono);font-weight:600}
.vh-pos{color:var(--good);font-family:var(--f-mono);font-weight:600}

/* ---------- 9. CALLOUTS ---------- */
.vh-callout{background:var(--card);border:1px solid var(--rule);border-left:4px solid var(--grey-2);border-radius:var(--r);padding:var(--s-5);margin:var(--s-5) 0;min-width:0}
.vh-callout h3,.vh-callout h4{margin-top:0;font-size:var(--t-base);font-weight:700}
.vh-callout p:last-child,.vh-callout ul:last-child,.vh-callout ol:last-child{margin-bottom:0}
.vh-callout--neutral{border-left-color:var(--ink)}
.vh-callout--warning{border-left-color:var(--red);background:var(--red-tint);background-image:var(--hatch)}
.vh-callout--warning h3,.vh-callout--warning h4{color:var(--red-deep)}
.vh-answer-box{background:var(--ink);color:#EDEBE9;border-radius:var(--r-lg);padding:var(--s-6);margin:var(--s-5) 0}
.vh-answer-box__lead{font-family:var(--f-head);font-size:var(--t-lg);font-weight:700;color:#fff}
.vh-answer-box p:last-child{margin-bottom:0}
.vh-answer-box a{color:#fff}
.vh-disclosure{
  font-size:var(--t-xs);color:var(--ink-2);background:var(--warn-tint);
  border:1px solid #E8D6AC;border-radius:var(--r);padding:var(--s-3) var(--s-4);
}
.vh-footer-rg{
  font-size:var(--t-xs);color:var(--ink-2);background:var(--card);
  border:1px solid var(--rule);border-left:4px solid var(--warn);border-radius:var(--r);padding:var(--s-4);
}
.vh-help{background:var(--good-tint);border:1px solid #C4DFD1;border-radius:var(--r);padding:var(--s-5);margin:var(--s-5) 0}
.vh-help h3{margin-top:0;color:var(--good);font-size:var(--t-base)}
.vh-help p:last-child,.vh-help ul:last-child{margin-bottom:0}

/* ---------- 10. PROS & CONS ---------- */
.vh-proscons{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr));gap:var(--s-4);margin:var(--s-5) 0}
.vh-proscons__col{background:var(--card);border:1px solid var(--rule);border-radius:var(--r);padding:var(--s-5);min-width:0}
.vh-proscons__col h3{margin-top:0;font-size:var(--t-base)}
.vh-proscons__col--pro{border-top:3px solid var(--good)}
.vh-proscons__col--pro h3{color:var(--good)}
.vh-proscons__col--con{border-top:3px solid var(--red)}
.vh-proscons__col--con h3{color:var(--red-deep)}
.vh-two-col{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr));gap:var(--s-4);margin:var(--s-5) 0}
.vh-two-col__panel{background:var(--card);border:1px solid var(--rule);border-radius:var(--r);padding:var(--s-5);min-width:0}
.vh-two-col__panel h3{margin-top:0;font-size:var(--t-base)}
.vh-two-col__panel--pro{border-top:3px solid var(--good)}
.vh-two-col__panel--con{border-top:3px solid var(--red)}

/* ---------- 11. STEPS & TIMELINE ---------- */
.vh-stepper,.vh-checklist,.vh-diagnostic,.vh-reasoning,.vh-criteria{list-style:none;padding:0;counter-reset:step;margin:var(--s-5) 0}
.vh-stepper > li,.vh-checklist > li,.vh-diagnostic > li,.vh-reasoning > li,.vh-criteria > li{
  position:relative;padding-left:3.25rem;margin-bottom:var(--s-5);counter-increment:step;min-width:0;
}
.vh-stepper > li::before,.vh-checklist > li::before,.vh-diagnostic > li::before,
.vh-reasoning > li::before,.vh-criteria > li::before{
  content:counter(step,decimal-leading-zero);position:absolute;left:0;top:-2px;
  font-family:var(--f-display);font-size:1.35rem;color:var(--red);letter-spacing:.04em;
  width:2.25rem;text-align:right;
}
.vh-stepper h3{margin:0 0 var(--s-2);font-size:var(--t-base)}
.vh-stepper p:last-child{margin-bottom:0}
.vh-stepper--compact > li{margin-bottom:var(--s-4)}
.vh-timeline{list-style:none;padding:0;margin:var(--s-5) 0;border-left:2px solid var(--rule)}
.vh-timeline li{display:flex;flex-wrap:wrap;gap:var(--s-4);padding:var(--s-3) 0 var(--s-3) var(--s-5);position:relative;min-width:0}
.vh-timeline li::before{content:"";position:absolute;left:-7px;top:1.35rem;width:12px;height:12px;border-radius:50%;background:var(--red)}
.vh-timeline__year{font-family:var(--f-display);font-size:1.25rem;color:var(--red);letter-spacing:.05em;flex:0 0 4rem}
.vh-timeline__event{flex:1;min-width:0}
.vh-flow{list-style:none;padding:0;margin:var(--s-5) 0;display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,170px),1fr));gap:1px;background:var(--rule);border:1px solid var(--rule);border-radius:var(--r);overflow:hidden}
.vh-flow li{background:var(--card);padding:var(--s-4);margin:0;font-size:var(--t-sm);min-width:0}
.vh-flow__stage{display:block;font-weight:700;margin-bottom:2px}
.vh-flow__note{display:block;font-size:var(--t-xs);color:var(--grey)}
.vh-daygrid{list-style:none;padding:0;margin:0 0 var(--s-4);display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,92px),1fr));gap:var(--s-2)}
.vh-daygrid li{background:var(--card);border:1px solid var(--rule);border-radius:var(--r);padding:var(--s-2);font-family:var(--f-mono);font-size:var(--t-xs);text-align:center;margin:0}

/* ---------- 12. SCORE / FIGURES / TILES ---------- */
.vh-score-card{background:var(--card);border:1px solid var(--rule);border-radius:var(--r-lg);padding:var(--s-5);margin:var(--s-5) 0;min-width:0}
.vh-score-card__headline{display:flex;flex-wrap:wrap;align-items:baseline;gap:var(--s-3);margin-bottom:var(--s-4)}
.vh-score-card__value{font-family:var(--f-display);font-size:var(--t-4xl);color:var(--red);line-height:.9;letter-spacing:.02em}
.vh-score-card__scale{font-family:var(--f-mono);font-size:var(--t-sm);color:var(--grey)}
.vh-score-card__method{font-size:var(--t-xs);margin-left:auto}
.vh-score-table{font-size:var(--t-sm)}
.vh-score-table td{font-family:var(--f-mono);font-weight:600;text-align:right;white-space:nowrap}
.vh-figures{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,150px),1fr));gap:1px;background:var(--rule);border:1px solid var(--rule);border-radius:var(--r);margin:var(--s-5) 0;overflow:hidden}
.vh-figure{background:var(--card);padding:var(--s-4);min-width:0}
.vh-figure__num{display:block;font-family:var(--f-display);font-size:var(--t-2xl);color:var(--red);letter-spacing:.02em;line-height:1}
.vh-figure__label{display:block;font-size:var(--t-xs);color:var(--grey);margin-top:var(--s-2)}
.vh-tiles{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,160px),1fr));gap:var(--s-3);margin:var(--s-5) 0}
.vh-tile{display:block;background:var(--card);border:1px solid var(--rule);border-radius:var(--r);padding:var(--s-4);text-decoration:none;color:inherit;min-width:0;transition:border-color .16s ease}
.vh-tile:hover{border-color:var(--red)}
.vh-tile__name{display:block;font-family:var(--f-head);font-weight:600}
.vh-tile__count{display:block;font-family:var(--f-mono);font-size:var(--t-xs);color:var(--grey);margin-top:2px}
.vh-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr));gap:var(--s-4);margin:var(--s-5) 0}
.vh-card{background:var(--card);border:1px solid var(--rule);border-top:3px solid var(--ink);border-radius:var(--r);padding:var(--s-4);min-width:0}
.vh-card h3{margin-top:0;font-size:var(--t-base)}
.vh-card p:last-child{margin-bottom:0}
.vh-card--warn{border-top-color:var(--red)}
.vh-summary-strip{display:flex;flex-wrap:wrap;gap:var(--s-2);list-style:none;padding:0;margin:var(--s-4) 0}
.vh-summary-strip li{
  font-family:var(--f-mono);font-size:var(--t-xs);background:var(--card);border:1px solid var(--rule);
  border-radius:100px;padding:var(--s-2) var(--s-4);margin:0;
}

/* ---------- 13. FAQ ---------- */
.vh-faq{margin:var(--s-5) 0}
.vh-faq details{background:var(--card);border:1px solid var(--rule);border-radius:var(--r);margin-bottom:var(--s-3);min-width:0}
.vh-faq summary{
  cursor:pointer;padding:var(--s-4);font-family:var(--f-head);font-weight:600;font-size:var(--t-base);
  list-style:none;display:flex;gap:var(--s-3);align-items:flex-start;min-height:44px;
}
.vh-faq summary::-webkit-details-marker{display:none}
.vh-faq summary::before{content:"+";font-family:var(--f-display);font-size:1.5rem;color:var(--red);line-height:1;flex:0 0 1rem}
.vh-faq details[open] summary::before{content:"–"}
.vh-faq details[open] summary{border-bottom:1px solid var(--rule-2)}
.vh-faq summary:focus-visible{outline:3px solid var(--red);outline-offset:-3px}
.vh-faq details > p,.vh-faq details > ul,.vh-faq details > ol{padding:0 var(--s-4);margin-top:var(--s-4)}
.vh-faq details > *:last-child{padding-bottom:var(--s-4)}

/* ---------- 14. FIGURE / MISC CONTENT ---------- */
figure.in-body{margin:var(--s-5) 0}
figure.in-body img{width:100%;height:auto;border-radius:var(--r-lg);border:1px solid var(--rule)}
figure.in-body figcaption{font-size:var(--t-xs);color:var(--grey);margin-top:var(--s-2);font-family:var(--f-mono)}
.vh-method-list,.vh-caveats,.vh-doclist,.vh-about__links,.vh-related{list-style:none;padding:0}
.vh-method-list li,.vh-caveats li,.vh-doclist li{padding-left:var(--s-5);position:relative;margin-bottom:var(--s-3)}
.vh-method-list li::before,.vh-caveats li::before,.vh-doclist li::before{content:"";position:absolute;left:0;top:.62em;width:8px;height:2px;background:var(--red)}
.vh-about{background:var(--card);border-top:3px solid var(--ink);border-radius:var(--r);padding:var(--s-6);margin-top:var(--s-7)}
.vh-about h2{padding:0;border:0;font-size:var(--t-lg)}
.vh-about__links{display:flex;flex-wrap:wrap;gap:var(--s-4);font-size:var(--t-sm);margin-bottom:var(--s-5)}
.vh-page-footer{margin-top:var(--s-7)}
.vh-page-footer .vh-related{display:none}

/* read next */
.read-next{margin:var(--s-7) 0 0}
.read-next h2{font-size:var(--t-lg);font-weight:700;padding-left:var(--s-5);border-left:3px solid var(--red);margin-bottom:var(--s-4)}
.read-next ul{list-style:none;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),1fr));gap:var(--s-4)}
.read-next li{margin:0;min-width:0}
.read-next a{
  display:block;background:var(--card);border:1px solid var(--rule);border-radius:var(--r);
  padding:var(--s-4);text-decoration:none;color:inherit;height:100%;transition:border-color .16s ease,transform .16s ease;
}
.read-next a:hover{border-color:var(--red);transform:translateY(-2px)}
.read-next b{display:block;font-family:var(--f-head);font-weight:600;margin-bottom:var(--s-2)}
.read-next span{display:block;font-size:var(--t-xs);color:var(--grey);line-height:1.5}

/* ---------- 15. FOOTER ---------- */
.site-foot{background:var(--ink);color:#B4B2B0;padding:var(--s-7) 0 var(--s-6);margin-top:var(--s-8)}
.foot-cols{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,190px),1fr));gap:var(--s-6);margin-bottom:var(--s-6)}
.foot-cols > div{min-width:0}
.foot-cols h2{
  font-family:var(--f-display);font-size:1.05rem;letter-spacing:.13em;text-transform:uppercase;
  color:var(--red);margin-bottom:var(--s-3);
}
.foot-cols ul{list-style:none;padding:0;margin:0}
.foot-cols li{margin-bottom:var(--s-2)}
.foot-cols a{color:#B4B2B0;text-decoration:none;font-size:var(--t-sm)}
.foot-cols a:hover{color:#fff}
.foot-cols p{font-size:var(--t-sm);color:#8E8E96}
.foot-legal{border-top:1px solid #2E2E34;padding-top:var(--s-5);font-size:var(--t-xs);color:#8E8E96}
.foot-legal p{margin-bottom:var(--s-3)}
.foot-legal strong{color:#D8D6D4}
.foot-age{
  display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:50%;
  border:2px solid var(--red);color:var(--red);font-family:var(--f-display);font-size:1.05rem;margin-right:var(--s-3);
}

/* ---------- 16. STICKY MOBILE CTA ---------- */
.cta-sticky{display:none}
@media (max-width:700px){
  .cta-sticky{
    display:flex;position:fixed;left:0;right:0;bottom:0;z-index:110;
    align-items:center;gap:var(--s-3);padding:var(--s-3) var(--s-4);
    background:#1D1D22;border-top:2px solid var(--red);text-decoration:none;color:inherit;
    box-shadow:0 -6px 20px rgba(0,0,0,.28);min-height:64px;
  }
  .cta-sticky__txt{min-width:0;flex:1}
  .cta-sticky__txt b{display:block;font-size:var(--t-sm);color:#fff;font-weight:600;line-height:1.25}
  .cta-sticky__txt span{display:block;font-family:var(--f-mono);font-size:var(--t-xs);color:#9A9AA2;line-height:1.3}
  .cta-sticky .btn{width:auto;min-width:130px;flex:0 0 auto;min-height:44px;font-size:1.05rem;padding:4px var(--s-4) 0}
  .cta-sticky:focus-visible{outline:3px solid var(--red);outline-offset:-3px}
  body{padding-bottom:78px}
}

/* ---------- 17. RESPONSIVE ---------- */
@media (max-width:900px){
  :root{--t-3xl:2.25rem;--t-2xl:1.75rem;--t-4xl:2.75rem}
  .burger{display:flex}
  .site-nav{
    display:none;position:absolute;left:0;right:0;top:100%;background:var(--ink);
    border-bottom:2px solid var(--red);padding:var(--s-3) var(--s-5) var(--s-5);margin:0;
  }
  .nav-toggle:checked ~ .site-nav{display:block}
  .site-nav ul{flex-direction:column;gap:0}
  .site-nav a{padding:var(--s-3) var(--s-2);min-height:44px;border-bottom:1px solid #26262B}
  .head-in{position:relative}
}
@media (max-width:700px){
  .wrap{padding:0 var(--s-4)}
  main{padding:var(--s-6) 0 var(--s-7)}
  .hero{padding:var(--s-6) 0 var(--s-7)}
  .author-bio__top{flex-direction:column;align-items:flex-start;text-align:left}
  .vh-timeline__year{flex:0 0 100%}
  /* stacked tables on narrow screens */
  .tbl-wrap table.t-stack thead{position:absolute;left:-9999px}
  .tbl-wrap table.t-stack tr{display:block;border-bottom:2px solid var(--rule);padding:var(--s-2) 0}
  .tbl-wrap table.t-stack td{display:block;border:0;padding:var(--s-2) var(--s-4)}
  .tbl-wrap table.t-stack td::before{
    content:attr(data-label);display:block;font-family:var(--f-mono);font-size:var(--t-xs);
    text-transform:uppercase;letter-spacing:.04em;color:var(--grey-2);margin-bottom:2px;
  }
}
@media (max-width:400px){
  :root{--t-base:1rem;--t-3xl:1.85rem;--t-2xl:1.5rem;--t-xl:1.35rem;--s-5:1.15rem;--s-6:1.5rem;--s-7:2.25rem}
  .wrap{padding:0 var(--s-3)}
  .btn{font-size:1.15rem;letter-spacing:.05em}
  .cta-main{padding:var(--s-4)}
  .cta-sticky{padding:var(--s-2) var(--s-3);gap:var(--s-2);min-height:58px}
  .cta-sticky__txt b{font-size:var(--t-xs)}
  .cta-sticky__txt span{font-size:.68rem}
  .cta-sticky .btn{min-width:104px;font-size:.95rem;padding:4px var(--s-3) 0}
  body{padding-bottom:66px}
  .brand-txt{font-size:1.1rem}
}

/* ---------- 18. MOTION ---------- */
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}
  .cta-main:hover,.tile:hover,.read-next a:hover{transform:none}
  .cta-main:active .btn{transform:none}
}

/* ---------- 19. LANGUAGE SWITCH ---------- */
.lang-switch{display:flex;gap:2px;flex:0 0 auto;margin-left:var(--s-4)}
.lang-switch a{
  display:flex;align-items:center;justify-content:center;min-width:44px;min-height:38px;
  font-family:var(--f-display);font-size:1rem;letter-spacing:.09em;color:#8E8E96;
  text-decoration:none;border:1px solid #2E2E34;border-radius:var(--r);padding-top:3px;
  transition:color .16s ease,border-color .16s ease,background .16s ease;
}
.lang-switch a:hover{color:#fff;border-color:var(--red)}
.lang-switch a.lang-on{color:#fff;background:var(--red);border-color:var(--red)}
@media (max-width:900px){
  .lang-switch{order:-1;margin-left:auto;margin-right:var(--s-2)}
}
@media (max-width:400px){
  .lang-switch a{min-width:38px;font-size:.9rem}
}
