/* ==========================================================================
   duel5-casino-kuwait.com — global stylesheet
   Graphite + amber. Display: Changa. Text: Cairo. Mono: system.
   ========================================================================== */

:root{
  /* --- surface --------------------------------------------------------- */
  --bg:#17181c;
  --bg-2:#1f2127;
  --bg-3:#262931;
  --bg-inset:#131418;
  --line:#33363f;
  --line-soft:#2a2d35;

  /* --- ink ------------------------------------------------------------- */
  --ink:#eceef2;
  --ink-2:#b6bac4;
  --ink-3:#8b8f9a;
  --ink-invert:#17181c;

  /* --- accent ---------------------------------------------------------- */
  --amber:#f5c518;
  --amber-deep:#d9a800;
  --amber-soft:rgba(245,197,24,.12);
  --action-a:#ffb300;
  --action-b:#f59e0b;

  /* --- signal ---------------------------------------------------------- */
  --good:#3ecf8e;
  --warn:#ffb020;
  --bad:#f0526d;
  --good-bg:rgba(62,207,142,.10);
  --warn-bg:rgba(255,176,32,.10);
  --bad-bg:rgba(240,82,109,.10);

  /* --- type ------------------------------------------------------------ */
  --f-display:"Changa","Segoe UI",Tahoma,sans-serif;
  --f-text:"Cairo","Segoe UI",Tahoma,sans-serif;
  --f-mono:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;

  --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;

  /* --- space ----------------------------------------------------------- */
  --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:96px;

  /* --- geometry -------------------------------------------------------- */
  --r-sm:4px; --r-md:8px; --r-lg:14px;
  --wrap:1080px;
  --measure:760px;
  --head-h:64px;
  --bar-h:66px;

  --shadow-lift:0 10px 30px rgba(0,0,0,.45);
  --shadow-btn:0 4px 0 var(--amber-deep),0 10px 22px rgba(245,197,24,.22);
  --ease:cubic-bezier(.2,.7,.3,1);
}

/* ==========================================================================
   Reset & base
   ========================================================================== */

*,*::before,*::after{box-sizing:border-box}

html,body{overflow-x:clip}

html{
  -webkit-text-size-adjust:100%;
  scroll-behavior:smooth;
  scroll-padding-top:calc(var(--head-h) + var(--s-4));
}

body{
  margin:0;
  background:var(--bg);
  color:var(--ink);
  font-family:var(--f-text);
  font-size:var(--t-md);
  line-height:1.85;
  font-weight:400;
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
}

img{max-width:100%;height:auto;display:block}

h1,h2,h3,h4{
  font-family:var(--f-display);
  font-weight:700;
  line-height:1.25;
  margin:0;
  overflow-wrap:break-word;
}

p,li,td,th,summary,dd,dt{overflow-wrap:break-word}
p{margin:0 0 var(--s-4)}

a{color:var(--amber);text-decoration:none}
a:hover{text-decoration:underline;text-underline-offset:3px}

:focus-visible{
  outline:3px solid var(--amber);
  outline-offset:2px;
  border-radius:2px;
}

code,.mono{
  font-family:var(--f-mono);
  font-size:.9em;
  direction:ltr;
  display:inline-block;
  unicode-bidi:isolate;
  background:var(--bg-inset);
  border:1px solid var(--line-soft);
  border-radius:var(--r-sm);
  padding:1px 6px;
  color:var(--amber);
}

hr{border:0;border-top:1px solid var(--line);margin:var(--s-6) 0}

/* skip link */
.skip{
  position:absolute;
  inset-inline-start:-9999px;
  top:0;
  z-index:1000;
  background:var(--amber);
  color:var(--ink-invert);
  font-family:var(--f-display);
  font-weight:700;
  padding:var(--s-3) var(--s-5);
  border-radius:0 0 var(--r-md) var(--r-md);
}
.skip:focus{inset-inline-start:var(--s-4)}

/* ==========================================================================
   Layout primitives
   ========================================================================== */

.wrap{
  width:100%;
  max-width:var(--wrap);
  margin-inline:auto;
  padding-inline:var(--s-5);
}

.measure{max-width:var(--measure);margin-inline:auto}

.grid,.flex{min-width:0}
.grid>*,.flex>*{min-width:0}

/* ==========================================================================
   Header
   ========================================================================== */

.site-head{
  position:sticky;
  top:0;
  z-index:80;
  background:rgba(23,24,28,.92);
  backdrop-filter:blur(10px);
  border-bottom:1px solid var(--line);
}

.head-in{
  display:flex;
  align-items:center;
  gap:var(--s-4);
  min-height:var(--head-h);
}

.brand{
  display:flex;
  align-items:center;
  gap:var(--s-2);
  font-family:var(--f-display);
  font-weight:800;
  font-size:var(--t-lg);
  color:var(--ink);
  letter-spacing:.01em;
  white-space:nowrap;
}
.brand:hover{text-decoration:none;color:var(--amber)}
.brand .mark{
  display:inline-grid;
  place-items:center;
  width:30px;height:30px;
  background:var(--amber);
  color:var(--ink-invert);
  border-radius:var(--r-sm);
  font-size:.95rem;
  font-weight:800;
  flex:0 0 auto;
}

.nav{margin-inline-start:auto}
.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);
  color:var(--ink-2);
  font-size:var(--t-sm);
  font-weight:600;
  border-radius:var(--r-sm);
  border:1px solid transparent;
}
.nav a:hover{color:var(--ink);background:var(--bg-2);text-decoration:none}
.nav a[aria-current="page"]{
  color:var(--amber);
  background:var(--amber-soft);
  border-color:rgba(245,197,24,.3);
}

.lang{
  display:flex;
  gap:2px;
  border:1px solid var(--line);
  border-radius:var(--r-sm);
  padding:2px;
  flex:0 0 auto;
}
.lang a{
  padding:var(--s-1) var(--s-3);
  font-family:var(--f-display);
  font-size:var(--t-xs);
  font-weight:700;
  color:var(--ink-3);
  border-radius:2px;
  letter-spacing:.06em;
}
.lang a:hover{color:var(--ink);text-decoration:none}
.lang a[aria-current="true"]{background:var(--amber);color:var(--ink-invert)}

/* burger — checkbox only, no JS */
.nav-toggle{position:absolute;opacity:0;pointer-events:none;width:1px;height:1px}
.burger{
  display:none;
  align-items:center;
  justify-content:center;
  width:44px;height:44px;
  border:1px solid var(--line);
  border-radius:var(--r-sm);
  background:var(--bg-2);
  cursor:pointer;
  flex:0 0 auto;
  margin-inline-start:auto;
}
.burger span{
  display:block;
  width:20px;height:2px;
  background:var(--ink);
  position:relative;
}
.burger span::before,.burger span::after{
  content:"";position:absolute;left:0;
  width:20px;height:2px;background:var(--ink);
}
.burger span::before{top:-6px}
.burger span::after{top:6px}
.nav-toggle:focus-visible+.burger{outline:3px solid var(--amber);outline-offset:2px}

/* ==========================================================================
   Hero / CTA
   ========================================================================== */

.hero{
  position:relative;
  border-bottom:1px solid var(--line);
  background:
    radial-gradient(900px 420px at 88% -12%,rgba(245,197,24,.16),transparent 62%),
    linear-gradient(200deg,#1c1e24 0%,#17181c 55%,#141519 100%);
  padding-block:var(--s-7) var(--s-8);
}

.eyebrow{
  display:flex;
  flex-wrap:wrap;
  gap:var(--s-2) var(--s-4);
  font-family:var(--f-display);
  font-size:var(--t-xs);
  font-weight:700;
  letter-spacing:.14em;
  text-transform:uppercase;
  color:var(--ink-3);
  margin-bottom:var(--s-4);
}
.eyebrow span{display:inline-flex;align-items:center;gap:6px}
.eyebrow .dot{width:6px;height:6px;border-radius:50%;background:var(--amber);flex:0 0 auto}
.eyebrow .restrict{color:var(--bad)}

.hero h1{
  font-size:clamp(1.9rem,5.2vw,var(--t-4xl));
  font-weight:800;
  letter-spacing:-.01em;
  margin-bottom:var(--s-4);
  max-width:20ch;
}
.hero h1 em{font-style:normal;color:var(--amber)}

.hero .lede{
  font-size:var(--t-lg);
  color:var(--ink-2);
  max-width:62ch;
  margin-bottom:var(--s-6);
}

/* main CTA — whole card is the link */
.cta-main{
  display:block;
  position:relative;
  background:linear-gradient(165deg,var(--bg-3),var(--bg-2));
  border:1px solid var(--line);
  border-radius:var(--r-lg);
  padding:var(--s-5);
  color:var(--ink);
  transition:transform .18s var(--ease),border-color .18s var(--ease),box-shadow .18s var(--ease);
}
.cta-main:hover{
  transform:translateY(-3px);
  border-color:var(--amber);
  box-shadow:var(--shadow-lift);
  text-decoration:none;
}
.cta-main:focus-visible{outline:3px solid var(--amber);outline-offset:3px}

.cta-kicker{
  display:flex;
  align-items:center;
  gap:var(--s-2);
  font-family:var(--f-display);
  font-size:var(--t-xs);
  font-weight:700;
  letter-spacing:.1em;
  text-transform:uppercase;
  color:var(--amber);
  margin-bottom:var(--s-3);
}
.cta-kicker .ext{
  font-family:var(--f-mono);
  border:1px solid rgba(245,197,24,.45);
  border-radius:3px;
  padding:0 5px;
  font-size:.7rem;
  letter-spacing:0;
}

.cta-main h2{
  font-size:clamp(1.35rem,3.6vw,var(--t-2xl));
  font-weight:800;
  margin-bottom:var(--s-2);
}
.cta-note{color:var(--ink-2);font-size:var(--t-base);margin-bottom:var(--s-5)}

.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-family:var(--f-display);
  font-size:1.15rem;
  font-weight:800;
  letter-spacing:.04em;
  text-transform:uppercase;
  color:var(--ink-invert);
  background:linear-gradient(180deg,var(--action-a),var(--action-b));
  border:0;
  border-radius:var(--r-md);
  box-shadow:var(--shadow-btn);
  transition:transform .12s var(--ease),box-shadow .12s var(--ease);
}
.cta-main:active .btn,.cta-tile:active .btn,.cta-bar:active .btn-sm{
  transform:translateY(3px);
  box-shadow:0 1px 0 var(--amber-deep);
}

.cta-facts{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(min(100%,120px),1fr));
  gap:var(--s-2);
  margin-top:var(--s-5);
  padding-top:var(--s-4);
  border-top:1px solid var(--line);
}
.cta-facts div{min-width:0}
.cta-facts b{
  display:block;
  font-family:var(--f-display);
  font-size:var(--t-lg);
  font-weight:800;
  color:var(--amber);
  line-height:1.2;
}
.cta-facts span{font-size:var(--t-xs);color:var(--ink-3);line-height:1.5;display:block}

/* secondary tiles */
.cta-tiles{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(min(100%,230px),1fr));
  gap:var(--s-3);
  margin-top:var(--s-4);
}
.cta-tile{
  display:flex;
  flex-direction:column;
  gap:var(--s-2);
  background:var(--bg-2);
  border:1px solid var(--line);
  border-radius:var(--r-md);
  padding:var(--s-4);
  color:var(--ink);
  min-width:0;
  transition:transform .18s var(--ease),border-color .18s var(--ease);
}
.cta-tile:hover{transform:translateY(-2px);border-color:var(--amber);text-decoration:none}
.cta-tile:focus-visible{outline:3px solid var(--amber);outline-offset:3px}
.cta-tile h3{font-size:var(--t-base);font-weight:700}
.cta-tile p{flex:1;margin:0;font-size:var(--t-sm);color:var(--ink-3);line-height:1.65}
.btn-sm{
  display:flex;
  align-items:center;
  justify-content:center;
  min-height:44px;
  padding:var(--s-2) var(--s-4);
  font-family:var(--f-display);
  font-size:.95rem;
  font-weight:700;
  letter-spacing:.03em;
  text-transform:uppercase;
  color:var(--amber);
  background:var(--amber-soft);
  border:1px solid rgba(245,197,24,.42);
  border-radius:var(--r-sm);
}
.cta-tile:hover .btn-sm{background:var(--amber);color:var(--ink-invert);border-color:var(--amber)}

.cta-disclosure{
  margin-top:var(--s-5);
  font-size:var(--t-xs);
  color:var(--ink-3);
  line-height:1.7;
}
.cta-disclosure a{color:var(--ink-2);text-decoration:underline;text-underline-offset:3px}

/* ==========================================================================
   Sticky mobile CTA bar
   ========================================================================== */

.cta-bar{display:none}

/* ==========================================================================
   Breadcrumbs
   ========================================================================== */

.crumbs{
  padding-block:var(--s-4);
  border-bottom:1px solid var(--line-soft);
  font-size:var(--t-sm);
  color:var(--ink-3);
}
.crumbs ol{
  display:flex;flex-wrap:wrap;gap:var(--s-2);
  list-style:none;margin:0;padding:0;
}
.crumbs li::after{content:"›";margin-inline-start:var(--s-2);color:var(--line)}
.crumbs li:last-child::after{content:""}
.crumbs a{color:var(--ink-3)}
.crumbs a:hover{color:var(--amber)}

/* ==========================================================================
   Article body
   ========================================================================== */

.page{padding-block:var(--s-7) var(--s-8)}

.article{max-width:var(--measure);margin-inline:auto}

.article h2{
  font-size:clamp(1.4rem,4vw,var(--t-2xl));
  font-weight:800;
  margin:var(--s-8) 0 var(--s-4);
  padding-inline-start:var(--s-4);
  border-inline-start:3px solid var(--amber);
}
.article h2:first-of-type{margin-top:var(--s-5)}
.article h3{
  font-size:var(--t-lg);
  font-weight:700;
  color:var(--ink);
  margin:var(--s-6) 0 var(--s-3);
}
.article h4{font-size:var(--t-base);margin:var(--s-5) 0 var(--s-2);color:var(--ink-2)}

.article ul,.article ol{margin:0 0 var(--s-5);padding-inline-start:1.4em}
.article li{margin-bottom:var(--s-2)}
.article li::marker{color:var(--amber)}

.article strong{color:#fff;font-weight:700}

.meta{font-size:var(--t-sm);color:var(--ink-3);line-height:1.7}

/* signal words */
.ok{color:var(--good);font-weight:700}
.no{color:var(--bad);font-weight:700}
.mid{color:var(--warn);font-weight:700}

/* ==========================================================================
   Figure
   ========================================================================== */

figure{
  margin:var(--s-6) 0;
  border:1px solid var(--line);
  border-radius:var(--r-lg);
  overflow:hidden;
  background:var(--bg-2);
}
figure img{width:100%;height:auto}
figcaption{
  padding:var(--s-3) var(--s-4);
  font-size:var(--t-sm);
  color:var(--ink-3);
  border-top:1px solid var(--line);
  line-height:1.6;
}

/* ==========================================================================
   Tables
   ========================================================================== */

.table-wrap{
  overflow-x:auto;
  -webkit-overflow-scrolling:touch;
  border:1px solid var(--line);
  border-radius:var(--r-md);
  margin:var(--s-5) 0;
  background:var(--bg-2);
}
table{
  width:100%;
  border-collapse:collapse;
  font-size:var(--t-sm);
  min-width:0;
}
th,td{
  padding:var(--s-3) var(--s-4);
  text-align:start;
  vertical-align:top;
  border-bottom:1px solid var(--line-soft);
  line-height:1.7;
}
thead th{
  background:var(--bg-3);
  font-family:var(--f-display);
  font-weight:700;
  font-size:var(--t-xs);
  letter-spacing:.08em;
  text-transform:uppercase;
  color:var(--ink-2);
  white-space:nowrap;
}
tbody tr:last-child td,tbody tr:last-child th{border-bottom:0}
tbody tr:hover{background:rgba(255,255,255,.02)}
tbody th{font-weight:700;color:var(--ink-2);background:rgba(255,255,255,.015)}
caption{
  caption-side:bottom;
  padding:var(--s-3) var(--s-4);
  font-size:var(--t-xs);
  color:var(--ink-3);
  text-align:start;
  border-top:1px solid var(--line-soft);
}

/* ==========================================================================
   Callouts
   ========================================================================== */

.note,.alert,.answer,.verdict{
  border-radius:var(--r-md);
  padding:var(--s-4) var(--s-5);
  margin:var(--s-5) 0;
}
.note p:last-child,.alert p:last-child,.answer p:last-child,.verdict p:last-child{margin-bottom:0}

.note{
  background:var(--bg-2);
  border:1px solid var(--line);
  border-inline-start:3px solid var(--ink-3);
}
.alert{
  background:var(--bad-bg);
  border:1px solid rgba(240,82,109,.4);
  border-inline-start:3px solid var(--bad);
}
.answer{
  background:linear-gradient(160deg,var(--bg-3),var(--bg-2));
  border:1px solid var(--amber);
  border-inline-start:5px solid var(--amber);
}
.answer b{
  display:block;
  font-family:var(--f-display);
  font-size:var(--t-3xl);
  font-weight:800;
  color:var(--amber);
  line-height:1.15;
  margin-bottom:var(--s-2);
}

/* verdict / rating block */
.verdict{
  background:linear-gradient(160deg,var(--bg-3),var(--bg-2));
  border:1px solid var(--line);
  border-top:3px solid var(--amber);
}
.score{
  font-family:var(--f-display);
  font-size:var(--t-4xl);
  font-weight:800;
  color:var(--amber);
  line-height:1;
}
.verdict table{font-size:var(--t-sm)}
.verdict .table-wrap{background:transparent;border-color:var(--line-soft)}

/* ==========================================================================
   Cards, stats, grids
   ========================================================================== */

.card{
  background:var(--bg-2);
  border:1px solid var(--line);
  border-radius:var(--r-md);
  padding:var(--s-4);
  min-width:0;
}
.card h3,.card h4{margin-top:0}
.card p:last-child,.card ul:last-child{margin-bottom:0}

.two,.cards,.hub,.stats,.summary,.fork,.three,.grid-auto{
  display:grid;
  gap:var(--s-3);
  margin:var(--s-5) 0;
}
.two,.fork{grid-template-columns:repeat(auto-fit,minmax(min(100%,270px),1fr))}
.cards,.hub{grid-template-columns:repeat(auto-fit,minmax(min(100%,230px),1fr))}
.three{grid-template-columns:repeat(auto-fit,minmax(min(100%,210px),1fr))}
.stats,.summary{grid-template-columns:repeat(auto-fit,minmax(min(100%,160px),1fr))}

.two>div,.fork>div,.cards article,.stats div,.summary div,.hub a,.three .card{
  background:var(--bg-2);
  border:1px solid var(--line);
  border-radius:var(--r-md);
  padding:var(--s-4);
  min-width:0;
}
.two>div>h3,.fork>div>h3,.cards article h3{margin-top:0}
.two>div>p:last-child,.fork>div>p:last-child,.cards article p:last-child{margin-bottom:0}

.stats b,.summary b,.hub b{
  display:block;
  font-family:var(--f-display);
  font-size:var(--t-2xl);
  font-weight:800;
  color:var(--amber);
  line-height:1.15;
}
.stats div,.summary div,.hub a{font-size:var(--t-sm);color:var(--ink-2);line-height:1.6}
.hub a{color:var(--ink-2);transition:border-color .18s var(--ease),transform .18s var(--ease)}
.hub a:hover{border-color:var(--amber);transform:translateY(-2px);text-decoration:none}

.kpi{
  display:block;
  font-family:var(--f-display);
  font-size:var(--t-2xl);
  font-weight:800;
  color:var(--amber);
  line-height:1.15;
}
.kpi+span{font-size:var(--t-sm);color:var(--ink-3);line-height:1.6;display:block}
.card b.big{
  display:block;
  font-family:var(--f-display);
  font-size:var(--t-3xl);
  font-weight:800;
  color:var(--amber);
  line-height:1.15;
  margin-bottom:var(--s-2);
}

/* pros / cons */
ul.pros,ul.cons,ul.check,ul.cross{list-style:none;padding-inline-start:0}
ul.pros li,ul.check li{padding-inline-start:1.7em;position:relative}
ul.cons li,ul.cross li{padding-inline-start:1.7em;position:relative}
ul.pros li::before,ul.check li::before{
  content:"✔";position:absolute;inset-inline-start:0;color:var(--good);font-weight:700;
}
ul.cons li::before,ul.cross li::before{
  content:"✘";position:absolute;inset-inline-start:0;color:var(--bad);font-weight:700;
}

/* numbered steps / timeline */
ol.steps{list-style:none;padding-inline-start:0;counter-reset:step;margin:var(--s-5) 0}
ol.steps>li{
  counter-increment:step;
  position:relative;
  padding-inline-start:52px;
  padding-bottom:var(--s-5);
  margin-bottom:0;
}
ol.steps>li::before{
  content:counter(step);
  position:absolute;
  inset-inline-start:0;
  top:0;
  width:34px;height:34px;
  display:grid;place-items:center;
  background:var(--amber);
  color:var(--ink-invert);
  border-radius:50%;
  font-family:var(--f-display);
  font-weight:800;
  font-size:var(--t-base);
}
ol.steps>li::after{
  content:"";
  position:absolute;
  inset-inline-start:17px;
  top:38px;bottom:6px;
  width:1px;
  background:var(--line);
}
ol.steps>li:last-child{padding-bottom:0}
ol.steps>li:last-child::after{display:none}
ol.steps b{display:block;font-family:var(--f-display);font-size:var(--t-base);color:#fff;margin-bottom:var(--s-1)}

/* flow */
.flow{
  display:flex;
  flex-wrap:wrap;
  gap:var(--s-2);
  align-items:center;
  margin:var(--s-5) 0;
}
.flow span{
  border:1px solid var(--line);
  border-radius:var(--r-sm);
  padding:var(--s-2) var(--s-3);
  background:var(--bg-2);
  font-size:var(--t-sm);
  min-width:0;
}
.flow i{color:var(--amber);font-style:normal;font-weight:800}

/* tags & code plates */
.tag{
  display:inline-block;
  font-family:var(--f-display);
  font-size:var(--t-xs);
  font-weight:700;
  letter-spacing:.06em;
  border:1px solid var(--line);
  background:var(--bg-3);
  color:var(--ink-2);
  border-radius:3px;
  padding:1px 7px;
  margin-inline-start:var(--s-1);
}
.domain{
  display:inline-block;
  font-family:var(--f-mono);
  font-size:var(--t-xl);
  font-weight:700;
  color:var(--amber);
  direction:ltr;
  unicode-bidi:isolate;
  background:var(--bg-inset);
  border:1px solid rgba(245,197,24,.4);
  border-radius:var(--r-sm);
  padding:var(--s-1) var(--s-3);
}

/* static replacement for the former calculator */
.calc{
  background:linear-gradient(160deg,var(--bg-3),var(--bg-2));
  border:1px solid var(--amber);
  border-radius:var(--r-md);
  padding:var(--s-5);
  margin:var(--s-5) 0;
}
.calc h3{margin-top:0}
.calc .table-wrap{background:transparent}

/* details / FAQ */
details{
  background:var(--bg-2);
  border:1px solid var(--line);
  border-radius:var(--r-md);
  margin-bottom:var(--s-2);
  overflow:hidden;
}
details[open]{border-color:rgba(245,197,24,.42)}
summary{
  cursor:pointer;
  list-style:none;
  padding:var(--s-4) var(--s-5);
  font-family:var(--f-display);
  font-weight:700;
  font-size:var(--t-base);
  color:var(--ink);
  display:flex;
  align-items:flex-start;
  gap:var(--s-3);
}
summary::-webkit-details-marker{display:none}
summary::before{
  content:"+";
  flex:0 0 auto;
  font-size:var(--t-lg);
  line-height:1.2;
  color:var(--amber);
}
details[open] summary::before{content:"–"}
summary:hover{background:var(--bg-3)}
summary:focus-visible{outline:3px solid var(--amber);outline-offset:-3px}
details>*:not(summary){padding-inline:var(--s-5);margin-block:0 var(--s-4)}
details>p:not(:last-child){margin-bottom:var(--s-3)}

.faq{margin-top:var(--s-7)}

/* ==========================================================================
   Author
   ========================================================================== */

.author-mini{
  display:flex;
  align-items:center;
  gap:var(--s-4);
  background:var(--bg-2);
  border:1px solid var(--line);
  border-radius:var(--r-md);
  padding:var(--s-3) var(--s-4);
  margin-bottom:var(--s-6);
  flex-wrap:wrap;
}
.author-mini img,.author-full img{
  border-radius:50%;
  object-fit:cover;
  border:2px solid var(--amber);
  flex:0 0 auto;
}
.author-mini img{width:52px;height:52px}
.author-full img{width:88px;height:88px}
.author-mini .who{min-width:0}
.author-mini .name{
  font-family:var(--f-display);
  font-weight:700;
  font-size:var(--t-base);
  color:var(--ink);
  display:block;
  line-height:1.4;
}
.author-mini .role{font-size:var(--t-xs);color:var(--ink-3);display:block;line-height:1.5}
.author-mini time{font-size:var(--t-xs);color:var(--ink-3)}

.author-full{
  display:flex;
  gap:var(--s-5);
  background:var(--bg-2);
  border:1px solid var(--line);
  border-top:3px solid var(--amber);
  border-radius:var(--r-md);
  padding:var(--s-5);
  margin-top:var(--s-7);
  flex-wrap:wrap;
}
.author-full .bio{flex:1;min-width:min(100%,240px)}
.author-full .name{
  font-family:var(--f-display);
  font-weight:800;
  font-size:var(--t-lg);
  color:var(--ink);
  display:block;
}
.author-full .role{
  font-size:var(--t-sm);
  color:var(--amber);
  display:block;
  margin-bottom:var(--s-3);
}
.author-full p{font-size:var(--t-sm);color:var(--ink-2);line-height:1.8}
.author-full p:last-child{margin-bottom:0}

/* ==========================================================================
   Read next
   ========================================================================== */

.read-next{margin-top:var(--s-7)}
.read-next h2{
  font-size:var(--t-xl);
  padding-inline-start:var(--s-4);
  border-inline-start:3px solid var(--amber);
  margin-bottom:var(--s-4);
}
.read-next ul{list-style:none;margin:0;padding:0;display:grid;gap:var(--s-3);
  grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),1fr))}
.read-next li{
  background:var(--bg-2);
  border:1px solid var(--line);
  border-radius:var(--r-md);
  padding:var(--s-4);
  margin:0;
  min-width:0;
  transition:border-color .18s var(--ease)
}
.read-next li:hover{border-color:var(--amber)}
.read-next a{
  font-family:var(--f-display);
  font-weight:700;
  font-size:var(--t-base);
  display:block;
  margin-bottom:var(--s-1);
}
.read-next span{font-size:var(--t-sm);color:var(--ink-3);line-height:1.6;display:block}

/* ==========================================================================
   Footer
   ========================================================================== */

.site-foot{
  border-top:1px solid var(--line);
  background:var(--bg-inset);
  padding-block:var(--s-7) var(--s-6);
  margin-top:var(--s-8);
}
.foot-cols{
  display:grid;
  gap:var(--s-6);
  grid-template-columns:repeat(auto-fit,minmax(min(100%,200px),1fr));
}
.foot-cols h2{
  font-family:var(--f-display);
  font-size:var(--t-xs);
  font-weight:700;
  letter-spacing:.14em;
  text-transform:uppercase;
  color:var(--ink-3);
  margin-bottom:var(--s-3);
}
.foot-cols ul{list-style:none;margin:0;padding:0}
.foot-cols li{margin-bottom:var(--s-2)}
.foot-cols a{color:var(--ink-2);font-size:var(--t-sm)}
.foot-cols a:hover{color:var(--amber)}
.foot-cols p{font-size:var(--t-sm);color:var(--ink-3);line-height:1.7}

.disclaimer{
  margin-top:var(--s-6);
  padding-top:var(--s-5);
  border-top:1px solid var(--line-soft);
  font-size:var(--t-xs);
  color:var(--ink-3);
  line-height:1.8;
}
.disclaimer .age{
  display:inline-grid;
  place-items:center;
  width:34px;height:34px;
  border:2px solid var(--bad);
  color:var(--bad);
  border-radius:50%;
  font-family:var(--f-display);
  font-weight:800;
  font-size:var(--t-sm);
  margin-inline-end:var(--s-3);
  float:inline-start;
}
.disclaimer p{margin-bottom:var(--s-3)}
.disclaimer p:last-child{margin-bottom:0}

/* ==========================================================================
   Responsive
   ========================================================================== */

@media (max-width:900px){
  .nav{
    order:10;
    flex-basis:100%;
    margin-inline-start:0;
    display:none;
  }
  .burger{display:flex}
  .nav-toggle:checked~.nav{display:block;padding-bottom:var(--s-3)}
  .nav ul{flex-direction:column;gap:2px}
  .nav a{padding:var(--s-3) var(--s-3);font-size:var(--t-base)}
  .head-in{flex-wrap:wrap;padding-block:var(--s-2)}
}

@media (max-width:700px){
  :root{--t-md:1rem}
  body{padding-bottom:calc(var(--bar-h) + var(--s-2))}

  .cta-bar{
    display:flex;
    position:fixed;
    left:0;right:0;bottom:0;
    z-index:70;
    align-items:center;
    gap:var(--s-3);
    min-height:var(--bar-h);
    padding:var(--s-2) var(--s-4);
    background:rgba(19,20,24,.97);
    backdrop-filter:blur(10px);
    border-top:1px solid var(--amber);
    color:var(--ink);
  }
  .cta-bar:hover{text-decoration:none}
  .cta-bar .txt{flex:1;min-width:0;line-height:1.35}
  .cta-bar .txt b{
    display:block;
    font-family:var(--f-display);
    font-size:var(--t-sm);
    font-weight:700;
    color:var(--ink);
  }
  .cta-bar .txt span{display:block;font-size:var(--t-xs);color:var(--ink-3)}
  .cta-bar .btn-sm{
    flex:0 0 auto;
    background:linear-gradient(180deg,var(--action-a),var(--action-b));
    color:var(--ink-invert);
    border:0;
    box-shadow:0 3px 0 var(--amber-deep);
    padding-inline:var(--s-4);
  }

  .hero{padding-block:var(--s-6) var(--s-7)}
  .article h2{margin-top:var(--s-7)}
  .author-full{gap:var(--s-4)}

  /* key-value tables collapse to stacked rows */
  table.kv thead{display:none}
  table.kv,table.kv tbody,table.kv tr,table.kv td,table.kv th{display:block;width:100%}
  table.kv tr{border-bottom:1px solid var(--line);padding:var(--s-2) 0}
  table.kv td{border:0;padding:var(--s-1) var(--s-4)}
  table.kv td::before{
    content:attr(data-label);
    display:block;
    font-family:var(--f-display);
    font-size:var(--t-xs);
    letter-spacing:.08em;
    text-transform:uppercase;
    color:var(--ink-3);
  }
}

@media (max-width:400px){
  :root{--bar-h:58px;--s-5:18px}
  .wrap{padding-inline:var(--s-4)}
  .hero h1{font-size:1.6rem}
  .btn{font-size:1.05rem;min-height:56px;padding-inline:var(--s-3)}
  .cta-bar{gap:var(--s-2);padding-inline:var(--s-3)}
  .cta-bar .txt b{font-size:var(--t-xs)}
  .cta-bar .txt span{font-size:.68rem}
  .cta-bar .btn-sm{font-size:.8rem;padding-inline:var(--s-3);min-height:44px}
  .score,.answer b{font-size:var(--t-2xl)}
  .author-full img{width:64px;height:64px}
}

@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{
    animation-duration:.001ms !important;
    transition-duration:.001ms !important;
  }
  .cta-main:hover,.cta-tile:hover,.hub a:hover{transform:none}
}
