/* ==========================================================================
   Gizbo Canada — design system. Single stylesheet, no JavaScript anywhere.
   Palette: white / blue (structure, trust) / red (action only).
   ========================================================================== */

:root{
  /* colour */
  --paper:#FFFFFF;
  --ink:#0B1B33;
  --ink-2:#31435F;
  --muted:#5E6E8A;
  --blue-900:#071F49;
  --blue-800:#0E3577;
  --blue-600:#1D51C4;
  --blue-400:#5583E8;
  --blue-100:#D8E4FF;
  --blue-50:#EFF4FF;
  --red-600:#D8102F;
  --red-700:#B70C26;
  --red-800:#96091F;
  --red-50:#FFF0F2;
  --line:#D9E1F0;
  --line-2:#B9C7E0;
  --amber:#9A6400;
  --amber-50:#FFF7E6;
  --green:#0A7A52;
  --green-50:#E9F7F1;

  /* type */
  --f-display:"Bai Jamjuree",system-ui,sans-serif;
  --f-body:"Cabin",system-ui,-apple-system,sans-serif;
  --f-data:"Lekton",ui-monospace,monospace;

  /* scale */
  --s-1:4px; --s-2:8px; --s-3:12px; --s-4:16px; --s-5:24px;
  --s-6:32px; --s-7:48px; --s-8:64px; --s-9:88px;

  --t-xs:.75rem; --t-sm:.875rem; --t-base:1rem; --t-md:1.0625rem;
  --t-lg:1.25rem; --t-xl:1.5rem; --t-2xl:1.875rem; --t-3xl:2.375rem; --t-4xl:3rem;

  --r-sm:4px; --r-md:8px; --r-lg:14px;
  --wrap:780px; --wrap-wide:1180px;
  --shadow:0 1px 2px rgba(11,27,51,.06),0 8px 24px rgba(11,27,51,.07);
  --shadow-lift:0 4px 8px rgba(11,27,51,.09),0 18px 40px rgba(11,27,51,.14);
  --ring:3px solid var(--blue-600);
  --bar-h:76px;
}

*,*::before,*::after{box-sizing:border-box}
html,body{overflow-x:clip}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{
  margin:0;background:var(--paper);color:var(--ink);
  font:400 var(--t-md)/1.7 var(--f-body);
  padding-bottom:0;
}
img{max-width:100%;height:auto;display:block}
h1,h2,h3,h4,p,li,td,th,summary,figcaption{overflow-wrap:break-word;word-break:normal}
a{color:var(--blue-600);text-underline-offset:3px}
a:focus-visible,button:focus-visible,summary:focus-visible,label:focus-visible,
input:focus-visible{outline:var(--ring);outline-offset:3px;border-radius:var(--r-sm)}

/* signature: chip edge -------------------------------------------------- */
.chip-edge{
  height:6px;flex:0 0 6px;
  background:repeating-linear-gradient(90deg,
    var(--red-600) 0 15px,#fff 15px 21px,
    var(--blue-800) 21px 36px,#fff 36px 42px);
}

.skip{position:absolute;left:-9999px;top:0;background:var(--blue-800);color:#fff;
  padding:var(--s-3) var(--s-4);z-index:200;font-weight:700}
.skip:focus{left:var(--s-3);top:var(--s-3)}

.wrap{width:100%;max-width:var(--wrap);margin-inline:auto;padding-inline:var(--s-4);min-width:0}
.wrap-wide{width:100%;max-width:var(--wrap-wide);margin-inline:auto;padding-inline:var(--s-4);min-width:0}

/* ===== header =========================================================== */
.hdr{position:sticky;top:0;z-index:100;background:var(--paper);
  box-shadow:0 1px 0 var(--line),0 6px 18px rgba(11,27,51,.05)}
.hdr-in{display:flex;align-items:center;gap:var(--s-4);min-height:60px;min-width:0}
.brand{display:flex;align-items:center;gap:var(--s-2);font:700 1.2rem/1 var(--f-display);
  color:var(--blue-800);text-decoration:none;letter-spacing:-.01em;flex:0 0 auto}
.brand-mark{width:26px;height:26px;border-radius:50%;flex:0 0 auto;
  background:conic-gradient(var(--red-600) 0 25%,var(--paper) 25% 50%,var(--blue-800) 50% 75%,var(--paper) 75%);
  border:2px solid var(--blue-800)}
.brand span{white-space:nowrap}

.nav-toggle{position:absolute;opacity:0;pointer-events:none}
.burger{display:none;margin-left:auto;width:44px;height:44px;border:1px solid var(--line-2);
  border-radius:var(--r-sm);cursor:pointer;align-items:center;justify-content:center;flex:0 0 auto;background:var(--paper)}
.burger i{display:block;width:20px;height:2px;background:var(--blue-800);position:relative}
.burger i::before,.burger i::after{content:"";position:absolute;left:0;width:20px;height:2px;background:var(--blue-800)}
.burger i::before{top:-6px}.burger i::after{top:6px}
.nav-toggle:focus-visible+.burger{outline:var(--ring);outline-offset:2px}

.nav{margin-left:auto;min-width:0}
.nav ul{display:flex;flex-wrap:wrap;gap:var(--s-1);list-style:none;margin:0;padding:0}
.nav a{display:block;padding:var(--s-2) var(--s-3);font:600 var(--t-sm)/1.2 var(--f-body);
  color:var(--ink-2);text-decoration:none;border-radius:var(--r-sm);white-space:nowrap}
.nav a:hover{background:var(--blue-50);color:var(--blue-800)}
.nav a[aria-current="page"]{background:var(--blue-800);color:#fff}


/* ===== hero / CTA ======================================================= */
.hero{background:
   radial-gradient(1000px 400px at 12% -10%,rgba(29,81,196,.55),transparent 60%),
   linear-gradient(180deg,var(--blue-900),var(--blue-800));
  color:#fff;padding:var(--s-6) 0 var(--s-7)}
.hero .kicker{font:700 var(--t-xs)/1.5 var(--f-data);text-transform:uppercase;
  letter-spacing:.14em;color:var(--blue-100);margin:0 0 var(--s-3);
  display:flex;flex-wrap:wrap;gap:var(--s-2) var(--s-3)}
.hero .kicker span{display:inline-flex;align-items:center;gap:6px}
.hero .kicker span::before{content:"";width:5px;height:5px;border-radius:50%;background:var(--red-600)}
.hero h1{font:700 clamp(1.9rem,5.2vw,var(--t-4xl))/1.1 var(--f-display);
  letter-spacing:-.025em;margin:0 0 var(--s-4);color:#fff}
.hero .stand{font-size:var(--t-lg);line-height:1.5;color:#D6E2FF;margin:0 0 var(--s-6);max-width:60ch}

.cta-card{display:block;text-decoration:none;color:inherit;background:var(--paper);
  border-radius:var(--r-lg);overflow:hidden;box-shadow:var(--shadow);
  border:2px solid transparent;transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease}
.cta-card:hover{transform:translateY(-3px);box-shadow:var(--shadow-lift);border-color:var(--red-600)}
.cta-card:focus-visible{outline:var(--ring);outline-offset:4px}
.cta-body{padding:var(--s-5)}
.cta-eyebrow{display:flex;align-items:center;gap:var(--s-2);flex-wrap:wrap;
  font:700 var(--t-xs)/1.4 var(--f-data);text-transform:uppercase;letter-spacing:.12em;
  color:var(--red-700);margin-bottom:var(--s-3)}
.cta-eyebrow .ext{display:inline-flex;align-items:center;gap:5px;color:var(--muted)}
.cta-eyebrow .ext::after{content:"↗";font-family:var(--f-body);font-size:1rem;line-height:1}
.cta-card h2{font:700 clamp(1.35rem,3.6vw,var(--t-2xl))/1.15 var(--f-display);
  margin:0 0 var(--s-2);color:var(--ink);letter-spacing:-.02em}
.cta-sub{margin:0 0 var(--s-5);color:var(--ink-2);font-size:var(--t-base)}

.btn{display:flex;align-items:center;justify-content:center;gap:var(--s-2);
  width:100%;min-height:56px;padding:var(--s-3) var(--s-5);
  font:700 1.15rem/1.1 var(--f-display);text-transform:uppercase;letter-spacing:.06em;
  color:#fff;text-align:center;border:0;border-radius:var(--r-md);text-decoration:none;
  background:linear-gradient(180deg,var(--red-600),var(--red-800));
  box-shadow:0 4px 0 #6E0616,0 10px 20px rgba(150,9,31,.32);
  transition:transform .12s ease,box-shadow .12s ease}
.cta-card:hover .btn{box-shadow:0 5px 0 #6E0616,0 14px 26px rgba(150,9,31,.4)}
.cta-card:active .btn,.btn:active{transform:translateY(3px);box-shadow:0 1px 0 #6E0616,0 4px 10px rgba(150,9,31,.3)}

.cta-facts{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));
  border-top:1px solid var(--line);background:var(--blue-50)}
.cta-facts div{padding:var(--s-3) var(--s-2);text-align:center;min-width:0;
  border-right:1px solid var(--line)}
.cta-facts div:last-child{border-right:0}
.cta-facts b{display:block;font:700 var(--t-base)/1.2 var(--f-data);color:var(--blue-800)}
.cta-facts span{display:block;font-size:.68rem;text-transform:uppercase;letter-spacing:.07em;
  color:var(--muted);margin-top:4px;line-height:1.3}

.tiles{display:grid;gap:var(--s-3);margin-top:var(--s-4);
  grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),1fr))}
.tile{display:flex;flex-direction:column;min-width:0;text-decoration:none;color:inherit;
  background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.24);
  border-radius:var(--r-md);padding:var(--s-4);
  transition:transform .18s ease,background .18s ease,border-color .18s ease}
.tile:hover{transform:translateY(-2px);background:rgba(255,255,255,.14);border-color:#fff}
.tile:focus-visible{outline:3px solid #fff;outline-offset:3px}
.tile h3{font:700 var(--t-base)/1.25 var(--f-display);margin:0 0 var(--s-2);color:#fff;letter-spacing:-.01em}
.tile p{flex:1;margin:0 0 var(--s-4);font-size:var(--t-sm);line-height:1.55;color:#C9D8F7}
.btn-sm{display:flex;align-items:center;justify-content:center;min-height:44px;
  padding:var(--s-2) var(--s-3);border-radius:var(--r-sm);
  font:700 .95rem/1.1 var(--f-display);text-transform:uppercase;letter-spacing:.05em;
  color:#fff;background:linear-gradient(180deg,var(--red-600),var(--red-800));
  box-shadow:0 3px 0 #6E0616}
.tile:active .btn-sm{transform:translateY(2px);box-shadow:0 1px 0 #6E0616}

.cta-foot{margin:var(--s-4) 0 0;font-size:var(--t-xs);line-height:1.6;color:#AFC4EC}
.cta-foot a{color:#fff}

/* ===== breadcrumbs ====================================================== */
.crumbs{background:var(--blue-50);border-bottom:1px solid var(--line);padding:var(--s-3) 0}
.crumbs ol{display:flex;flex-wrap:wrap;gap:var(--s-2);list-style:none;margin:0;padding:0;
  font:400 var(--t-sm)/1.5 var(--f-body);color:var(--muted)}
.crumbs li+li::before{content:"/";margin-right:var(--s-2);color:var(--line-2)}
.crumbs a{color:var(--blue-600);text-decoration:none}
.crumbs a:hover{text-decoration:underline}

/* ===== article ========================================================== */
main{display:block}
.art{padding:var(--s-7) 0 var(--s-8)}
.art h2{font:700 clamp(1.4rem,3.4vw,var(--t-2xl))/1.2 var(--f-display);
  letter-spacing:-.02em;margin:var(--s-8) 0 var(--s-4);padding-bottom:var(--s-3);
  position:relative;color:var(--ink)}
.art h2::after{content:"";position:absolute;left:0;bottom:0;width:74px;height:4px;
  background:repeating-linear-gradient(90deg,var(--red-600) 0 10px,#fff 10px 14px,var(--blue-800) 14px 24px,#fff 24px 28px)}
.art h2:first-of-type{margin-top:0}
.art h3{font:600 var(--t-lg)/1.3 var(--f-display);margin:var(--s-6) 0 var(--s-2);color:var(--blue-800)}
.art h4{font:600 var(--t-base)/1.35 var(--f-display);margin:var(--s-5) 0 var(--s-2);color:var(--ink)}
.art p{margin:0 0 var(--s-4)}
.art>ul,.art>ol{margin:0 0 var(--s-4);padding-left:var(--s-5)}
.art li{margin-bottom:var(--s-2)}
.gz-lead{font-size:var(--t-lg);line-height:1.6;color:var(--ink-2);
  border-left:4px solid var(--blue-600);padding-left:var(--s-4);margin:0 0 var(--s-5)}

/* verification stamp */
.gz-stamp{display:inline-flex;align-items:center;gap:var(--s-2);
  font:700 var(--t-xs)/1.3 var(--f-data);text-transform:uppercase;letter-spacing:.09em;
  color:var(--green);background:var(--green-50);border:1px solid #B6E0CE;
  border-radius:999px;padding:7px var(--s-4);margin:0 0 var(--s-5)}
.gz-stamp::before{content:"✓";font-weight:700}

/* key/value chips */
.gz-facts{display:grid;gap:var(--s-3);list-style:none;margin:0 0 var(--s-6);padding:0;
  grid-template-columns:repeat(auto-fit,minmax(min(100%,170px),1fr))}
.gz-facts li{min-width:0;background:var(--paper);border:1px solid var(--line);
  border-top:3px solid var(--blue-800);border-radius:var(--r-md);padding:var(--s-4);box-shadow:var(--shadow)}
.gz-facts b{display:block;font:700 var(--t-xl)/1.1 var(--f-data);color:var(--blue-800);letter-spacing:-.01em}
.gz-facts span{display:block;font-size:var(--t-xs);text-transform:uppercase;letter-spacing:.08em;
  color:var(--muted);margin-top:var(--s-2);line-height:1.4}

/* tables */
.tbl-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch;margin:var(--s-5) 0;
  border:1px solid var(--line);border-radius:var(--r-md);background:var(--paper)}
.gz-tbl{width:100%;border-collapse:collapse;font-size:var(--t-sm);min-width:520px}
.gz-tbl caption{caption-side:top;text-align:left;padding:var(--s-3) var(--s-4);
  font-size:var(--t-xs);color:var(--muted);border-bottom:1px solid var(--line);background:var(--blue-50)}
.gz-tbl th{background:var(--blue-50);text-align:left;padding:var(--s-3) var(--s-4);
  font:700 var(--t-xs)/1.4 var(--f-body);text-transform:uppercase;letter-spacing:.07em;
  color:var(--blue-800);border-bottom:2px solid var(--line-2);vertical-align:top}
.gz-tbl td{padding:var(--s-3) var(--s-4);border-bottom:1px solid var(--line);vertical-align:top}
.gz-tbl tbody tr:last-child td{border-bottom:0}
.gz-tbl tbody tr:nth-child(even){background:#FBFCFF}
.gz-tbl th[scope="row"]{background:var(--blue-50);border-bottom:1px solid var(--line)}
.gz-tbl .ok{color:var(--green);font-weight:700}
.gz-tbl .no{color:var(--red-700);font-weight:700}
.gz-tbl .mid{color:var(--amber);font-weight:700}

/* notes */
.gz-note{border-left:5px solid var(--blue-600);background:var(--blue-50);
  padding:var(--s-4) var(--s-5);border-radius:0 var(--r-md) var(--r-md) 0;margin:var(--s-5) 0;font-size:var(--t-base)}
.gz-note strong{display:block;font:700 var(--t-base)/1.35 var(--f-display);
  color:var(--blue-800);margin-bottom:var(--s-2)}
.gz-note--warn{border-color:#E0A200;background:var(--amber-50)}
.gz-note--warn strong{color:var(--amber)}
.gz-note--bad{border-color:var(--red-600);background:var(--red-50)}
.gz-note--bad strong{color:var(--red-700)}
.gz-note--good{border-color:var(--green);background:var(--green-50)}
.gz-note--good strong{color:var(--green)}

/* numbered steps + timeline */
.gz-steps{counter-reset:st;list-style:none;padding:0;margin:var(--s-5) 0}
.gz-steps li{counter-increment:st;position:relative;padding:0 0 var(--s-5) var(--s-7);
  margin-left:16px;border-left:2px solid var(--line)}
.gz-steps li:last-child{border-left-color:transparent;padding-bottom:0}
.gz-steps li::before{content:counter(st,decimal-leading-zero);position:absolute;left:-17px;top:0;
  width:32px;height:32px;border-radius:50%;background:var(--blue-800);color:#fff;
  font:700 var(--t-xs)/32px var(--f-data);text-align:center}
.gz-steps b{display:block;font:600 var(--t-base)/1.35 var(--f-display);color:var(--blue-800);margin-bottom:var(--s-1)}
.gz-time{display:grid;gap:0;list-style:none;padding:0;margin:var(--s-5) 0;
  grid-template-columns:repeat(auto-fit,minmax(min(100%,160px),1fr))}
.gz-time li{min-width:0;border-top:4px solid var(--blue-600);padding:var(--s-3) var(--s-4) var(--s-4) 0}
.gz-time b{display:block;font:600 var(--t-sm)/1.3 var(--f-display);color:var(--ink)}
.gz-time span{font:700 var(--t-sm)/1.4 var(--f-data);color:var(--red-700)}

/* pros / cons check lists */
.gz-check{list-style:none;padding:0;margin:var(--s-4) 0}
.gz-check li{position:relative;padding:var(--s-2) 0 var(--s-2) var(--s-6);border-bottom:1px dashed var(--line)}
.gz-check li:last-child{border-bottom:0}
.gz-check li::before{content:"✓";position:absolute;left:0;top:var(--s-2);
  width:22px;height:22px;border-radius:50%;background:var(--green-50);color:var(--green);
  font:700 .8rem/22px var(--f-body);text-align:center}
.gz-check--x li::before{content:"✕";background:var(--red-50);color:var(--red-700)}

/* cards grid */
.gz-grid{display:grid;gap:var(--s-4);margin:var(--s-5) 0;
  grid-template-columns:repeat(auto-fit,minmax(min(100%,230px),1fr))}
.gz-card{min-width:0;border:1px solid var(--line);border-radius:var(--r-md);
  padding:var(--s-4) var(--s-5);background:var(--paper);box-shadow:var(--shadow)}
.gz-card h4{margin:0 0 var(--s-2);font:600 var(--t-base)/1.3 var(--f-display);color:var(--blue-800)}
.gz-card p{margin:0;font-size:var(--t-sm);color:var(--ink-2);line-height:1.6}

/* score / output scales */
.gz-out{display:grid;gap:var(--s-3);margin:var(--s-5) 0;
  grid-template-columns:repeat(auto-fit,minmax(min(100%,140px),1fr))}
.gz-out div{min-width:0;background:var(--blue-50);border:1px solid var(--line);
  border-radius:var(--r-md);padding:var(--s-4);text-align:center}
.gz-out b{display:block;font:700 var(--t-xl)/1.1 var(--f-data);color:var(--blue-800)}
.gz-out span{display:block;font-size:.68rem;text-transform:uppercase;letter-spacing:.07em;
  color:var(--muted);margin-top:6px;line-height:1.35}

/* rating block with scales */
.score{border:1px solid var(--line);border-radius:var(--r-md);overflow:hidden;margin:var(--s-5) 0;background:var(--paper)}
.score-hd{display:flex;align-items:center;gap:var(--s-4);flex-wrap:wrap;
  padding:var(--s-4) var(--s-5);background:var(--blue-800);color:#fff}
.score-hd b{font:700 var(--t-3xl)/1 var(--f-data)}
.score-hd span{font:600 var(--t-sm)/1.4 var(--f-body);color:var(--blue-100)}
.score-rows{padding:var(--s-4) var(--s-5)}
.score-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,110px) auto;gap:var(--s-3);
  align-items:center;padding:var(--s-2) 0;font-size:var(--t-sm)}
.score-bar{height:8px;border-radius:99px;background:var(--blue-50);overflow:hidden;min-width:0}
.score-bar i{display:block;height:100%;background:linear-gradient(90deg,var(--blue-600),var(--blue-800))}
.score-row em{font:700 var(--t-sm)/1 var(--f-data);font-style:normal;color:var(--blue-800)}

/* restriction / disclaimer plate */
.gz-rg{border:1px dashed var(--line-2);background:var(--blue-50);border-radius:var(--r-md);
  padding:var(--s-4) var(--s-5);margin:var(--s-6) 0;font-size:var(--t-sm);line-height:1.65;color:var(--ink-2)}
.gz-rg b{display:block;font:700 var(--t-sm)/1.4 var(--f-display);color:var(--blue-800);
  text-transform:uppercase;letter-spacing:.07em;margin-bottom:var(--s-2)}
.gz-src{margin:var(--s-7) 0 0;padding-top:var(--s-4);border-top:2px solid var(--line);
  font-size:var(--t-xs);line-height:1.7;color:var(--muted)}

/* figure */
.fig{margin:var(--s-5) 0;border:1px solid var(--line);border-radius:var(--r-md);overflow:hidden;background:var(--blue-50)}
.fig img{width:100%;height:auto}
.fig figcaption{padding:var(--s-3) var(--s-4);font-size:var(--t-xs);color:var(--muted);
  border-top:1px solid var(--line);background:var(--paper)}

/* FAQ accordion */
.faq{margin:var(--s-4) 0}
.gz-faq{border:1px solid var(--line);border-radius:var(--r-md);margin-bottom:var(--s-2);
  background:var(--paper);overflow:hidden}
.gz-faq[open]{border-color:var(--blue-400);box-shadow:var(--shadow)}
.gz-faq summary{display:flex;gap:var(--s-3);align-items:flex-start;cursor:pointer;
  padding:var(--s-4) var(--s-5);font:600 var(--t-base)/1.4 var(--f-display);color:var(--blue-800);list-style:none}
.gz-faq summary::-webkit-details-marker{display:none}
.gz-faq summary::before{content:"+";flex:0 0 24px;width:24px;height:24px;border-radius:var(--r-sm);
  background:var(--blue-50);color:var(--red-600);font:700 1.1rem/24px var(--f-body);text-align:center}
.gz-faq[open] summary::before{content:"–";background:var(--red-50)}
.gz-faq summary:hover{background:var(--blue-50)}
.gz-faq div{padding:0 var(--s-5) var(--s-5) calc(var(--s-5) + 24px + var(--s-3));
  font-size:var(--t-base);color:var(--ink-2);line-height:1.7}

/* author */
.auth-card{display:flex;gap:var(--s-4);align-items:center;flex-wrap:wrap;
  border:1px solid var(--line);border-left:5px solid var(--red-600);border-radius:var(--r-md);
  padding:var(--s-4);margin:0 0 var(--s-6);background:var(--paper);box-shadow:var(--shadow)}
.auth-card img,.auth-bio img{border-radius:50%;object-fit:cover;flex:0 0 auto;border:3px solid var(--blue-50)}
.auth-card img{width:58px;height:58px}
.auth-meta{min-width:0}
.auth-meta b{display:block;font:700 var(--t-base)/1.3 var(--f-display);color:var(--ink)}
.auth-meta span{display:block;font-size:var(--t-sm);color:var(--muted);line-height:1.5}
.auth-dates{margin-left:auto;font:400 var(--t-xs)/1.6 var(--f-data);color:var(--muted);text-align:right;min-width:0}
.auth-bio{display:flex;gap:var(--s-5);flex-wrap:wrap;background:var(--blue-50);
  border:1px solid var(--line);border-radius:var(--r-lg);padding:var(--s-5);margin:var(--s-7) 0 0}
.auth-bio img{width:96px;height:96px}
.auth-bio-txt{flex:1 1 320px;min-width:0}
.auth-bio-txt b{display:block;font:700 var(--t-lg)/1.25 var(--f-display);color:var(--ink)}
.auth-bio-txt .role{display:block;font:600 var(--t-sm)/1.5 var(--f-body);color:var(--red-700);
  text-transform:uppercase;letter-spacing:.07em;margin-bottom:var(--s-3)}
.auth-bio-txt p{font-size:var(--t-sm);line-height:1.7;color:var(--ink-2);margin:0 0 var(--s-3)}
.auth-bio-txt p:last-child{margin-bottom:0}

/* read next */
.next{background:var(--blue-50);border-top:1px solid var(--line);padding:var(--s-7) 0}
.next h2{font:700 var(--t-xl)/1.25 var(--f-display);margin:0 0 var(--s-5);color:var(--blue-800)}
.next-grid{display:grid;gap:var(--s-4);grid-template-columns:repeat(auto-fit,minmax(min(100%,230px),1fr))}
.next-card{min-width:0;display:block;background:var(--paper);border:1px solid var(--line);
  border-radius:var(--r-md);padding:var(--s-4) var(--s-5);text-decoration:none;color:inherit;
  transition:transform .16s ease,box-shadow .16s ease,border-color .16s ease}
.next-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-lift);border-color:var(--blue-400)}
.next-card b{display:block;font:600 var(--t-base)/1.3 var(--f-display);color:var(--blue-600);margin-bottom:var(--s-2)}
.next-card span{display:block;font-size:var(--t-sm);color:var(--ink-2);line-height:1.6}

/* footer */
.ftr{background:var(--blue-900);color:#C3D3F0;padding:var(--s-7) 0 var(--s-5);font-size:var(--t-sm)}
.ftr-cols{display:grid;gap:var(--s-6);grid-template-columns:repeat(auto-fit,minmax(min(100%,200px),1fr))}
.ftr h3{font:700 var(--t-xs)/1.4 var(--f-display);text-transform:uppercase;letter-spacing:.12em;
  color:#fff;margin:0 0 var(--s-3)}
.ftr ul{list-style:none;margin:0;padding:0}
.ftr li{margin-bottom:var(--s-2)}
.ftr a{color:#C3D3F0;text-decoration:none}
.ftr a:hover{color:#fff;text-decoration:underline}
.ftr p{margin:0 0 var(--s-3);line-height:1.7}
.ftr-note{margin-top:var(--s-6);padding-top:var(--s-5);border-top:1px solid rgba(255,255,255,.16);
  font-size:var(--t-xs);line-height:1.75;color:#93A9CF}
.ftr-age{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;
  border:2px solid var(--red-600);border-radius:50%;color:#fff;
  font:700 .8rem/1 var(--f-data);margin-right:var(--s-3);float:left}

/* sticky mobile CTA bar */
.bar{display:none}

/* ===== responsive ======================================================= */
@media (max-width:900px){
  .burger{display:flex}
  .nav{position:absolute;left:0;right:0;top:100%;background:var(--paper);
    border-top:1px solid var(--line);box-shadow:0 12px 24px rgba(11,27,51,.12);
    max-height:0;overflow:hidden;margin:0}
  .nav ul{flex-direction:column;gap:0;padding:var(--s-2)}
  .nav a{padding:var(--s-3) var(--s-4);border-radius:var(--r-sm)}
  .nav-toggle:checked~.nav{max-height:640px;overflow:auto}
  .hdr-in{position:relative;flex-wrap:wrap}
}
@media (max-width:700px){
  :root{--bar-h:72px}
  body{padding-bottom:calc(var(--bar-h) + 8px)}
  .cta-facts{grid-template-columns:repeat(2,minmax(0,1fr))}
  .cta-facts div:nth-child(2){border-right:0}
  .cta-facts div:nth-child(-n+2){border-bottom:1px solid var(--line)}
  .auth-dates{margin-left:0;text-align:left;width:100%}
  .art{padding:var(--s-6) 0 var(--s-7)}

  /* key-value tables collapse to stacked cards */
  .tbl-wrap--kv{border:0;overflow:visible}
  .tbl-wrap--kv .gz-tbl{min-width:0}
  .tbl-wrap--kv .gz-tbl thead{position:absolute;left:-9999px}
  .tbl-wrap--kv .gz-tbl caption{border:1px solid var(--line);border-radius:var(--r-md) var(--r-md) 0 0}
  .tbl-wrap--kv .gz-tbl tr{display:block;border:1px solid var(--line);border-top:0;padding:var(--s-2)}
  .tbl-wrap--kv .gz-tbl tbody tr:nth-child(even){background:#FBFCFF}
  .tbl-wrap--kv .gz-tbl td,.tbl-wrap--kv .gz-tbl th[scope="row"]{
    display:block;border:0;border-bottom:1px dashed var(--line);padding:var(--s-2) var(--s-3);background:none}
  .tbl-wrap--kv .gz-tbl tr td:last-child{border-bottom:0}
  .tbl-wrap--kv .gz-tbl td::before{content:attr(data-l);display:block;
    font:700 .68rem/1.4 var(--f-body);text-transform:uppercase;letter-spacing:.07em;color:var(--muted)}

  /* sticky CTA bar */
  .bar{display:flex;position:fixed;left:0;right:0;bottom:0;z-index:90;
    align-items:center;gap:var(--s-3);min-height:var(--bar-h);padding:var(--s-2) var(--s-3);
    background:linear-gradient(180deg,var(--blue-800),var(--blue-900));
    border-top:3px solid var(--red-600);box-shadow:0 -6px 20px rgba(7,31,73,.3);
    text-decoration:none;color:#fff}
  .bar-txt{min-width:0;flex:1;line-height:1.3}
  .bar-txt b{display:block;font:600 .9rem/1.25 var(--f-display);color:#fff;
    overflow:hidden;text-overflow:ellipsis}
  .bar-txt span{display:block;font:400 .72rem/1.35 var(--f-data);color:#AFC4EC}
  .bar .btn-sm{flex:0 0 auto;min-width:118px;padding-inline:var(--s-4)}
  .bar:focus-visible{outline:3px solid #fff;outline-offset:-4px}
}
@media (max-width:400px){
  :root{--bar-h:64px;--t-md:1rem}
  .wrap,.wrap-wide{padding-inline:var(--s-3)}
  .hero{padding:var(--s-5) 0 var(--s-6)}
  .cta-body{padding:var(--s-4)}
  .btn{font-size:1.02rem;min-height:56px;letter-spacing:.04em}
  .cta-facts{grid-template-columns:minmax(0,1fr)}
  .cta-facts div{border-right:0;border-bottom:1px solid var(--line)}
  .cta-facts div:last-child{border-bottom:0}
  .gz-faq summary{padding:var(--s-3) var(--s-4);font-size:.95rem}
  .gz-faq div{padding:0 var(--s-4) var(--s-4) var(--s-4)}
  .bar{gap:var(--s-2);padding:6px var(--s-2)}
  .bar-txt b{font-size:.8rem}
  .bar-txt span{font-size:.66rem}
  .bar .btn-sm{min-width:96px;font-size:.82rem;padding-inline:var(--s-3);min-height:44px}
  .score-row{grid-template-columns:minmax(0,1fr) minmax(0,64px) auto}
}
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}
  .cta-card:hover,.tile:hover,.next-card:hover{transform:none}
  .btn:active,.cta-card:active .btn{transform:none}
}
@media print{.hdr,.bar,.next,.hero .tiles{display:none}}
