/* ============================================================
   NIGHT CASHIER — extreme-casino.us.com
   Single stylesheet. Tokens → shell → content → components.
   ============================================================ */

/* ---------- 1. TOKENS ---------- */
:root{
  /* surface */
  --bg:#0E1320;
  --surface:#161C2D;
  --surface-2:#1F2739;
  --surface-3:#28324A;
  --line:#2C3549;
  --line-soft:#222A3C;

  /* type */
  --text:#E4E8F2;
  --text-dim:#94A0BA;
  --text-mute:#6C7893;

  /* accent + semantics */
  --brass:#E0A93C;
  --brass-deep:#B8862A;
  --brass-glow:rgba(224,169,60,.14);
  --mint:#3FD09A;
  --mint-bg:rgba(63,208,154,.11);
  --rose:#F2647A;
  --rose-bg:rgba(242,100,122,.11);
  --sun:#F5C451;
  --sun-bg:rgba(245,196,81,.11);

  /* type scale */
  --f-display:'Syne',system-ui,sans-serif;
  --f-body:'Epilogue',system-ui,-apple-system,sans-serif;
  --f-mono:'DM Mono',ui-monospace,SFMono-Regular,monospace;

  --t-xs:.75rem;
  --t-sm:.85rem;
  --t-base:1rem;
  --t-md:1.0625rem;
  --t-lg:1.25rem;
  --t-xl:1.5rem;
  --t-2xl:1.9rem;
  --t-3xl:2.5rem;
  --t-4xl:3.4rem;

  /* space scale */
  --s-1:.25rem; --s-2:.5rem; --s-3:.75rem; --s-4:1rem;
  --s-5:1.5rem; --s-6:2rem; --s-7:3rem; --s-8:4rem; --s-9:6rem;

  --col:68ch;
  --wide:1300px;
  --shell:1360px;
  --radius:4px;
  --radius-lg:8px;
  --ease:cubic-bezier(.22,.61,.36,1);
}

/* ---------- 2. RESET + BASE ---------- */
*,*::before,*::after{box-sizing:border-box}
html,body{overflow-x:clip}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{
  margin:0;background:var(--bg);color:var(--text);
  font-family:var(--f-body);font-size:var(--t-md);line-height:1.65;
  font-feature-settings:"ss01","cv01";
  -webkit-font-smoothing:antialiased;
}
img{max-width:100%;display:block}
a{color:var(--brass);text-decoration:none}
a:hover{color:var(--brass-deep)}
h1,h2,h3,h4,p,li,td,th,summary,figcaption{overflow-wrap:break-word;word-break:normal;hyphens:none}
:focus-visible{outline:2px solid var(--brass);outline-offset:3px;border-radius:2px}
::selection{background:var(--brass);color:var(--bg)}

.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.skip{position:absolute;left:var(--s-4);top:-100px;z-index:200;background:var(--brass);color:var(--bg);
  padding:var(--s-3) var(--s-4);border-radius:var(--radius);font-weight:600;transition:top .2s var(--ease)}
.skip:focus{top:var(--s-4)}

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

/* perforation rule — signature divider */
.perf{border:0;height:1px;margin:var(--s-7) 0;
  background-image:repeating-linear-gradient(90deg,var(--line) 0 6px,transparent 6px 12px)}

/* ---------- 3. HEADER / NAV ---------- */
.site-head{
  position:sticky;top:0;z-index:100;
  background:rgba(14,19,32,.94);
  backdrop-filter:saturate(140%) blur(10px);
  border-bottom:1px solid var(--line-soft);
}
.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);font-family:var(--f-display);
  font-weight:800;font-size:1.05rem;letter-spacing:-.01em;color:var(--text);flex:0 0 auto}
.brand:hover{color:var(--text)}
.brand-mark{width:26px;height:26px;border-radius:50%;flex:0 0 auto;
  background:conic-gradient(from 210deg,var(--brass) 0 25%,var(--surface-3) 25% 50%,var(--brass) 50% 75%,var(--surface-3) 75%);
  border:2px solid var(--brass-deep)}
.brand span{color:var(--brass)}

.nav{margin-left:auto;min-width:0}
.nav ul{display:flex;gap:var(--s-1);list-style:none;margin:0;padding:0;flex-wrap:wrap}
.nav a{display:block;padding:var(--s-2) var(--s-3);font-size:var(--t-sm);font-weight:500;
  color:var(--text-dim);border-radius:var(--radius);transition:color .16s var(--ease),background .16s var(--ease)}
.nav a:hover{color:var(--text);background:var(--surface-2)}
.nav a[aria-current="page"]{color:var(--brass);background:var(--brass-glow)}

.burger{display:none}
.burger-btn{display:none;margin-left:auto;cursor:pointer;padding:var(--s-2) var(--s-3);
  border:1px solid var(--line);border-radius:var(--radius);color:var(--text-dim);font-size:var(--t-sm);
  font-family:var(--f-mono);letter-spacing:.06em;text-transform:uppercase;user-select:none}
.burger-btn:hover{color:var(--text);border-color:var(--brass)}
.burger:focus-visible+.burger-btn{outline:2px solid var(--brass);outline-offset:3px}

/* ---------- 4. HERO ---------- */
.hero{padding:var(--s-8) 0 var(--s-7);border-bottom:1px solid var(--line-soft);
  background:
    radial-gradient(900px 380px at 82% -12%,var(--brass-glow),transparent 62%),
    linear-gradient(180deg,var(--surface) 0%,var(--bg) 100%)}
.kicker{font-family:var(--f-mono);font-size:var(--t-xs);letter-spacing:.14em;text-transform:uppercase;
  color:var(--text-mute);display:flex;flex-wrap:wrap;gap:var(--s-2) var(--s-4);margin-bottom:var(--s-4)}
.kicker b{color:var(--brass);font-weight:500}
.hero h1{font-family:var(--f-display);font-weight:800;font-size:clamp(2rem,6vw,var(--t-4xl));
  line-height:1.04;letter-spacing:-.025em;margin:0 0 var(--s-4);max-width:19ch}
.deck{font-size:var(--t-lg);color:var(--text-dim);max-width:62ch;margin:0 0 var(--s-6);line-height:1.5}

/* primary CTA — whole block is the link */
.cta-main{display:block;background:linear-gradient(155deg,var(--surface-2),var(--surface));
  border:1px solid var(--line);border-left:4px solid var(--brass);border-radius:var(--radius-lg);
  padding:var(--s-5);color:var(--text);transition:border-color .18s var(--ease),transform .18s var(--ease),background .18s var(--ease)}
.cta-main:hover{color:var(--text);border-color:var(--brass-deep);border-left-color:var(--brass);
  background:linear-gradient(155deg,var(--surface-3),var(--surface-2));transform:translateY(-2px)}
.cta-main .ck{font-family:var(--f-mono);font-size:var(--t-xs);letter-spacing:.12em;text-transform:uppercase;color:var(--brass);display:block;margin-bottom:var(--s-3)}
.cta-main .ct{font-family:var(--f-display);font-weight:700;font-size:clamp(1.35rem,3.6vw,var(--t-2xl));
  line-height:1.15;letter-spacing:-.018em;margin:0 0 var(--s-2)}
.cta-main .cs{color:var(--text-dim);font-size:var(--t-base);margin:0 0 var(--s-5);max-width:56ch}
.cta-btn{display:flex;align-items:center;justify-content:center;gap:var(--s-3);width:100%;min-height:56px;
  background:linear-gradient(180deg,#F0C264 0%,var(--brass) 58%,var(--brass-deep) 100%);color:#14100A;
  font-family:var(--f-display);font-weight:800;font-size:clamp(1.05rem,2.5vw,1.3rem);
  letter-spacing:.005em;text-transform:uppercase;text-align:center;
  padding:var(--s-4) var(--s-5);border-radius:var(--radius);
  box-shadow:0 4px 0 #8F6718,0 12px 26px -10px rgba(224,169,60,.5);
  transition:filter .16s var(--ease),transform .12s var(--ease),box-shadow .12s var(--ease)}
.cta-main:hover .cta-btn{filter:brightness(1.07);transform:translateY(-1px);box-shadow:0 5px 0 #8F6718,0 16px 32px -10px rgba(224,169,60,.6)}
.cta-main:active .cta-btn{transform:translateY(3px);box-shadow:0 1px 0 #8F6718}
.cta-main:focus-visible{outline:2px solid var(--brass);outline-offset:3px}
.cta-btn .arw{font-family:var(--f-mono);transition:transform .18s var(--ease)}
.cta-main:hover .cta-btn .arw{transform:translateX(4px)}

/* fact rail — receipt strip */
.rail{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,150px),1fr));
  gap:0;margin-top:var(--s-5);border-top:1px dashed var(--line);padding-top:var(--s-4)}
.rail div{padding:var(--s-2) var(--s-4);border-left:1px solid var(--line-soft);min-width:0}
.rail div:first-child{border-left:0;padding-left:0}
.rail b{display:block;font-family:var(--f-mono);font-size:var(--t-lg);font-weight:500;
  color:var(--brass);font-variant-numeric:tabular-nums;letter-spacing:-.02em;line-height:1.2}
.rail span{font-size:var(--t-xs);color:var(--text-mute);text-transform:uppercase;letter-spacing:.08em}

/* secondary CTA tiles */
.cta-tiles{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),1fr));
  gap:var(--s-3);margin-top:var(--s-4)}
.tile{display:flex;flex-direction:column;background:var(--surface);border:1px solid var(--line-soft);border-radius:var(--radius);
  padding:var(--s-4);color:var(--text);min-width:0;transition:border-color .16s var(--ease),background .16s var(--ease),transform .16s var(--ease)}
.tile:hover{color:var(--text);border-color:var(--brass-deep);background:var(--surface-2);transform:translateY(-2px)}
.tile:focus-visible{outline:2px solid var(--brass);outline-offset:3px}
.tile .tk{font-family:var(--f-mono);font-size:var(--t-xs);letter-spacing:.1em;text-transform:uppercase;color:var(--text-mute);display:block;margin-bottom:var(--s-2)}
.tile strong{display:block;font-weight:600;font-size:var(--t-base);margin-bottom:var(--s-1);letter-spacing:-.01em}
.tile em{font-style:normal;color:var(--text-dim);font-size:var(--t-sm);line-height:1.45;display:block;flex:1 1 auto;margin-bottom:var(--s-4)}
.tile:hover strong{color:var(--brass)}

.aff-note{margin-top:var(--s-4);font-size:var(--t-xs);color:var(--text-mute);line-height:1.55;max-width:74ch}
.aff-note a{color:var(--text-dim);text-decoration:underline;text-underline-offset:2px}
.aff-note a:hover{color:var(--brass)}

.tile-btn{display:flex;align-items:center;justify-content:center;gap:var(--s-2);margin-top:auto;min-height:44px;
  background:var(--brass-deep);border:1px solid var(--brass);color:#14100A;
  font-family:var(--f-mono);font-size:var(--t-xs);font-weight:500;letter-spacing:.1em;text-transform:uppercase;
  padding:var(--s-3) var(--s-4);border-radius:var(--radius);text-align:center;
  transition:background .16s var(--ease),filter .16s var(--ease)}
.tile:hover .tile-btn{background:var(--brass);filter:brightness(1.05)}

/* sticky mobile CTA bar — switched on at the 900px breakpoint below */
.sticky-cta{display:none}

/* ---------- 5. BREADCRUMBS ---------- */
.crumbs{padding:var(--s-4) 0 0;font-family:var(--f-mono);font-size:var(--t-xs);color:var(--text-mute);letter-spacing:.04em}
.crumbs ol{list-style:none;display:flex;flex-wrap:wrap;gap:var(--s-2);margin:0;padding:0}
.crumbs li+li::before{content:"/";margin-right:var(--s-2);color:var(--line)}
.crumbs a{color:var(--text-dim)}
.crumbs a:hover{color:var(--brass)}
.crumbs [aria-current]{color:var(--text)}

/* ---------- 6. ARTICLE FLOW ---------- */
.layout{padding:var(--s-6) 0 var(--s-8)}
.article{
  display:grid;
  grid-template-columns:
    [full-start] minmax(0,1fr)
    [content-start] min(var(--col),100%) [content-end]
    minmax(0,1fr) [full-end];
  align-content:start;
}
.article>*{grid-column:content;min-width:0}
.article>.bleed{grid-column:full;width:min(var(--wide),100%);justify-self:center}
.article>figure{grid-column:full;width:min(920px,100%);justify-self:center}
.article h2{font-family:var(--f-display);font-weight:700;font-size:clamp(1.45rem,4vw,var(--t-2xl));
  line-height:1.2;letter-spacing:-.02em;margin:var(--s-7) 0 var(--s-4);padding-top:var(--s-2)}
.article h2:first-of-type{margin-top:var(--s-6)}
.article h3{font-family:var(--f-display);font-weight:600;font-size:var(--t-lg);
  letter-spacing:-.012em;margin:var(--s-5) 0 var(--s-3);color:var(--text)}
.article p{margin:0 0 var(--s-4)}
.article p strong,.article li strong{color:var(--text);font-weight:600}
.article ul,.article ol{margin:0 0 var(--s-4);padding-left:var(--s-5)}
.article li{margin-bottom:var(--s-2)}
.article ul li::marker{color:var(--brass)}
.article ol li::marker{color:var(--brass);font-family:var(--f-mono);font-weight:500}
.article em{color:var(--text-dim)}
.meta{font-family:var(--f-mono);font-size:var(--t-xs);color:var(--text-mute);letter-spacing:.05em;margin:calc(var(--s-3) * -1) 0 var(--s-5)}

/* wide breakout for tables & figures */
/* .bleed позиционируется гридом выше — вьюпортная математика убрана */

/* ---------- 7. TABLES ---------- */
.tw{overflow-x:auto;max-width:100%;border:1px solid var(--line);border-radius:var(--radius);
  background:var(--surface);margin:var(--s-5) 0;-webkit-overflow-scrolling:touch;
  background-image:
    linear-gradient(90deg,var(--surface),rgba(22,28,45,0)),
    linear-gradient(90deg,rgba(22,28,45,0),var(--surface)),
    linear-gradient(90deg,rgba(0,0,0,.45),rgba(0,0,0,0)),
    linear-gradient(90deg,rgba(0,0,0,0),rgba(0,0,0,.45));
  background-position:left center,right center,left center,right center;
  background-size:26px 100%,26px 100%,12px 100%,12px 100%;
  background-repeat:no-repeat;
  background-attachment:local,local,scroll,scroll}
table{width:100%;border-collapse:collapse;font-size:var(--t-sm);
  table-layout:auto;min-width:100%}
caption{text-align:left;padding:var(--s-3) var(--s-4);color:var(--text-mute);font-size:var(--t-xs);
  font-family:var(--f-mono);letter-spacing:.08em;text-transform:uppercase}
th{background:var(--surface-2);color:var(--text);text-align:left;font-weight:600;
  font-family:var(--f-mono);font-size:var(--t-xs);letter-spacing:.04em;text-transform:uppercase;
  padding:var(--s-3);border-bottom:1px solid var(--line);
  white-space:normal;line-height:1.35;vertical-align:bottom}
td{padding:var(--s-3);border-top:1px solid var(--line-soft);vertical-align:top;line-height:1.5;
  hyphens:none;text-wrap:pretty}
/* первая колонка — опора строки, ей запас ширины и полужирный */
.tw table td:first-child{font-weight:500;color:var(--text)}
/* длинные перечисления не должны раздувать колонку */
.tw table td{max-width:34ch}
.tw table td:first-child{max-width:22ch}
tbody tr:nth-child(even){background:rgba(255,255,255,.017)}
tbody tr:hover{background:var(--brass-glow)}
td[colspan] strong{font-family:var(--f-mono);font-size:var(--t-xs);letter-spacing:.1em;
  text-transform:uppercase;color:var(--brass)}
.num{font-family:var(--f-mono);text-align:right;white-space:nowrap;
  font-variant-numeric:tabular-nums;color:var(--text);max-width:none}
.tw table td.num{max-width:none}
th.num{text-align:right}
.yes{color:var(--mint);font-weight:600}
.no{color:var(--rose);font-weight:600}

/* ---------- 8. STAT ROW ---------- */
.stat-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,160px),1fr));
  gap:var(--s-3);margin:var(--s-5) 0}
.stat{background:var(--surface);border:1px solid var(--line-soft);border-top:2px solid var(--brass);
  border-radius:var(--radius);padding:var(--s-4);min-width:0}
.stat b{display:block;font-family:var(--f-mono);font-size:var(--t-xl);font-weight:500;color:var(--brass);
  font-variant-numeric:tabular-nums;letter-spacing:-.02em;line-height:1.15;margin-bottom:var(--s-2)}
.stat span{display:block;font-size:var(--t-xs);color:var(--text-mute);text-transform:uppercase;letter-spacing:.07em;line-height:1.4}

/* ---------- 9. NOTICES ---------- */
.notice{border:1px solid var(--line);border-left:3px solid var(--brass);background:var(--surface);
  border-radius:0 var(--radius) var(--radius) 0;padding:var(--s-4) var(--s-5);margin:var(--s-5) 0;font-size:var(--t-base)}
.notice strong:first-child{display:block;font-family:var(--f-mono);font-size:var(--t-xs);letter-spacing:.1em;
  text-transform:uppercase;color:var(--brass);margin-bottom:var(--s-2);font-weight:500}
.notice.warn{border-left-color:var(--rose);background:linear-gradient(90deg,var(--rose-bg),var(--surface) 42%)}
.notice.warn strong:first-child{color:var(--rose)}
.notice.good{border-left-color:var(--mint);background:linear-gradient(90deg,var(--mint-bg),var(--surface) 42%)}
.notice.good strong:first-child{color:var(--mint)}
.notice.caution{border-left-color:var(--sun);background:linear-gradient(90deg,var(--sun-bg),var(--surface) 42%)}
.notice.caution strong:first-child{color:var(--sun)}
.notice p{margin:0 0 var(--s-3)}
.notice p:last-child{margin-bottom:0}

/* disclaimer plate */
.plate{border:1px dashed var(--line);border-radius:var(--radius);padding:var(--s-4) var(--s-5);
  margin:var(--s-6) 0;background:rgba(0,0,0,.16);font-size:var(--t-sm);color:var(--text-dim);line-height:1.6}
.plate strong{color:var(--text);display:block;font-family:var(--f-mono);font-size:var(--t-xs);
  letter-spacing:.1em;text-transform:uppercase;margin-bottom:var(--s-2)}
.plate .age{display:inline-block;font-family:var(--f-mono);font-weight:500;color:var(--rose);
  border:1px solid var(--rose);border-radius:2px;padding:0 var(--s-2);margin-right:var(--s-2)}

/* ---------- 10. JACKPOT / HIGHLIGHT PANEL ---------- */
.jackpot{background:linear-gradient(140deg,var(--surface-2),var(--surface));border:1px solid var(--line);
  border-radius:var(--radius-lg);padding:var(--s-5);margin:var(--s-5) 0;text-align:left;position:relative;overflow:hidden}
.jackpot::after{content:"";position:absolute;right:-40px;top:-40px;width:170px;height:170px;border-radius:50%;
  background:radial-gradient(circle,var(--brass-glow),transparent 68%)}
.jackpot span{display:block;font-family:var(--f-mono);font-size:var(--t-xs);letter-spacing:.1em;
  text-transform:uppercase;color:var(--text-mute)}
.jackpot b{display:block;font-family:var(--f-mono);font-weight:500;font-size:clamp(1.8rem,6vw,3rem);
  color:var(--brass);font-variant-numeric:tabular-nums;letter-spacing:-.03em;line-height:1.1;margin:var(--s-2) 0}

/* ---------- 11. CODE CHIPS ---------- */
.code{display:inline-block;font-family:var(--f-mono);font-size:.88em;font-weight:500;
  background:var(--surface-3);color:var(--brass);border:1px solid var(--line);
  padding:.05em .5em;border-radius:2px;letter-spacing:.03em;white-space:nowrap;
  overflow-wrap:break-word;word-break:break-all}

/* seal row → static text badges */
.seals{display:flex;flex-wrap:wrap;gap:var(--s-2);margin:var(--s-5) 0;padding:0;list-style:none}
.seals li,.seals .seal{font-family:var(--f-mono);font-size:var(--t-xs);letter-spacing:.05em;
  border:1px solid var(--line);border-radius:var(--radius);padding:var(--s-2) var(--s-3);
  color:var(--text-dim);background:var(--surface);min-width:0}

/* ---------- 12. PROS & CONS ---------- */
.proscons{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr));
  gap:var(--s-4);margin:var(--s-5) 0}
.pc{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);padding:var(--s-4) var(--s-5);min-width:0}
.pc h4{font-family:var(--f-mono);font-size:var(--t-xs);letter-spacing:.1em;text-transform:uppercase;
  margin:0 0 var(--s-3);font-weight:500}
.pc.pro{border-top:2px solid var(--mint)}
.pc.pro h4{color:var(--mint)}
.pc.con{border-top:2px solid var(--rose)}
.pc.con h4{color:var(--rose)}
.pc ul{list-style:none;margin:0;padding:0;font-size:var(--t-sm)}
.pc li{position:relative;padding-left:var(--s-5);margin-bottom:var(--s-3);line-height:1.5}
.pc li::before{position:absolute;left:0;top:0;font-family:var(--f-mono);font-weight:600}
.pc.pro li::before{content:"+";color:var(--mint)}
.pc.con li::before{content:"−";color:var(--rose)}

/* ---------- 13. STEPS & TIMELINE ---------- */
.steps{counter-reset:st;list-style:none;margin:var(--s-5) 0;padding:0}
.steps li{counter-increment:st;position:relative;padding-left:var(--s-8);margin-bottom:var(--s-4);min-width:0}
.steps li::before{content:counter(st,decimal-leading-zero);position:absolute;left:0;top:0;
  font-family:var(--f-mono);font-size:var(--t-sm);color:var(--brass);
  border:1px solid var(--line);border-radius:var(--radius);width:2.4rem;height:2.4rem;
  display:grid;place-items:center;background:var(--surface)}
.timeline{list-style:none;margin:var(--s-5) 0;padding:0 0 0 var(--s-5);border-left:1px dashed var(--line)}
.timeline li{position:relative;padding:0 0 var(--s-5) var(--s-4);min-width:0}
.timeline li::before{content:"";position:absolute;left:calc(var(--s-5) * -1 - 4px);top:.55rem;
  width:9px;height:9px;border-radius:50%;background:var(--brass);border:2px solid var(--bg)}
.timeline li:last-child{padding-bottom:0}
.timeline .tl-label{display:block;font-family:var(--f-mono);font-size:var(--t-xs);letter-spacing:.09em;
  text-transform:uppercase;color:var(--brass);margin-bottom:var(--s-1)}

/* ---------- 14. RATING SCALES ---------- */
.scales{margin:var(--s-5) 0;border:1px solid var(--line);border-radius:var(--radius);
  background:var(--surface);padding:var(--s-5);min-width:0}
.scales h4{font-family:var(--f-mono);font-size:var(--t-xs);letter-spacing:.1em;text-transform:uppercase;
  color:var(--text-mute);margin:0 0 var(--s-4);font-weight:500}
.scale{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:var(--s-2) var(--s-4);align-items:baseline;margin-bottom:var(--s-4)}
.scale:last-child{margin-bottom:0}
.scale .sn{font-size:var(--t-sm);color:var(--text-dim);min-width:0}
.scale .sv{font-family:var(--f-mono);font-size:var(--t-sm);color:var(--brass);
  font-variant-numeric:tabular-nums;white-space:nowrap}
.scale .sb{grid-column:1 / -1;height:6px;border-radius:3px;background:var(--surface-3);overflow:hidden}
.scale .sb i{display:block;height:100%;background:linear-gradient(90deg,var(--brass-deep),var(--brass));border-radius:3px}
.w13 i{width:13.3%}.w27 i{width:26.7%}.w40 i{width:40%}.w53 i{width:53.3%}
.w67 i{width:66.7%}.w100 i{width:100%}

/* ---------- 15. FIGURE ---------- */
figure{margin:var(--s-6) 0;min-width:0}
figure img{width:100%;height:auto;border-radius:var(--radius);border:1px solid var(--line);background:var(--surface-2)}
figcaption{font-family:var(--f-mono);font-size:var(--t-xs);color:var(--text-mute);
  letter-spacing:.05em;margin-top:var(--s-3);line-height:1.5;padding-left:var(--s-3);border-left:2px solid var(--line)}

/* ---------- 16. FAQ ACCORDION ---------- */
.faq{margin:var(--s-5) 0;border-top:1px solid var(--line)}
details{border-bottom:1px solid var(--line);min-width:0}
summary{cursor:pointer;list-style:none;padding:var(--s-4) var(--s-6) var(--s-4) 0;position:relative;
  font-weight:600;font-size:var(--t-base);color:var(--text);transition:color .16s var(--ease)}
summary::-webkit-details-marker{display:none}
summary::after{content:"+";position:absolute;right:0;top:50%;transform:translateY(-50%);
  font-family:var(--f-mono);font-size:var(--t-lg);color:var(--brass);transition:transform .2s var(--ease)}
details[open] summary::after{content:"−"}
summary:hover{color:var(--brass)}
details p{margin:0 0 var(--s-4);color:var(--text-dim);font-size:var(--t-base);max-width:66ch}

/* ---------- 17. AUTHOR ---------- */
.author-card{display:flex;align-items:center;gap:var(--s-4);flex-wrap:wrap;
  border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);
  padding:var(--s-4);margin:0 0 var(--s-6);min-width:0}
.author-card img,.author-bio img{border-radius:50%;object-fit:cover;flex:0 0 auto;
  border:2px solid var(--line);background:var(--surface-2)}
.author-card img{width:52px;height:52px}
.ac-body{min-width:0;flex:1 1 220px}
.ac-body b{display:block;font-weight:600;font-size:var(--t-base);letter-spacing:-.01em}
.ac-body span{display:block;font-size:var(--t-sm);color:var(--text-dim)}
.ac-dates{font-family:var(--f-mono);font-size:var(--t-xs);color:var(--text-mute);
  letter-spacing:.05em;flex:0 0 auto;text-align:right;min-width:0}
.author-bio{display:flex;gap:var(--s-5);flex-wrap:wrap;border:1px solid var(--line);
  border-top:2px solid var(--brass);border-radius:var(--radius);background:var(--surface);
  padding:var(--s-5);margin:var(--s-7) 0;min-width:0}
.author-bio img{width:86px;height:86px}
.ab-body{flex:1 1 min(100%,320px);min-width:0}
.ab-body h3{font-family:var(--f-display);font-weight:700;font-size:var(--t-lg);margin:0 0 var(--s-1)}
.ab-role{font-family:var(--f-mono);font-size:var(--t-xs);letter-spacing:.09em;text-transform:uppercase;
  color:var(--brass);display:block;margin-bottom:var(--s-4)}
.ab-body p{font-size:var(--t-sm);color:var(--text-dim);margin:0 0 var(--s-3);line-height:1.6}
.ab-body p:last-child{margin-bottom:0}

/* ---------- 18. READ NEXT ---------- */
.readnext{margin:var(--s-7) 0 0;border-top:1px dashed var(--line);padding-top:var(--s-5)}
.readnext h2{font-family:var(--f-mono);font-size:var(--t-xs);letter-spacing:.12em;text-transform:uppercase;
  color:var(--text-mute);margin:0 0 var(--s-4);font-weight:500}
.rn-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),1fr));gap:var(--s-3)}
.rn{display:block;border:1px solid var(--line-soft);border-radius:var(--radius);background:var(--surface);
  padding:var(--s-4);color:var(--text);transition:border-color .16s var(--ease),background .16s var(--ease);min-width:0}
.rn:hover{color:var(--text);border-color:var(--brass-deep);background:var(--surface-2)}
.rn strong{display:block;font-weight:600;font-size:var(--t-base);margin-bottom:var(--s-2);letter-spacing:-.01em}
.rn:hover strong{color:var(--brass)}
.rn span{display:block;font-size:var(--t-sm);color:var(--text-dim);line-height:1.45}

/* ---------- 19. FOOTER ---------- */
.site-foot{border-top:1px solid var(--line);background:var(--surface);margin-top:var(--s-8);
  padding:var(--s-7) 0 var(--s-6);font-size:var(--t-sm)}
.foot-cols{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,190px),1fr));gap:var(--s-6)}
.foot-cols h3{font-family:var(--f-mono);font-size:var(--t-xs);letter-spacing:.11em;text-transform:uppercase;
  color:var(--brass);margin:0 0 var(--s-3);font-weight:500}
.foot-cols ul{list-style:none;margin:0;padding:0}
.foot-cols li{margin-bottom:var(--s-2);min-width:0}
.foot-cols a{color:var(--text-dim)}
.foot-cols a:hover{color:var(--brass)}
.foot-cols p{color:var(--text-dim);margin:0 0 var(--s-3);line-height:1.6}
.foot-bottom{border-top:1px solid var(--line-soft);margin-top:var(--s-6);padding-top:var(--s-5);
  color:var(--text-mute);font-size:var(--t-xs);line-height:1.7}
.foot-bottom p{margin:0 0 var(--s-3);max-width:90ch}
#affiliate-disclosure{scroll-margin-top:90px}

/* ---------- 20. RESPONSIVE ---------- */
@media (max-width:1180px){
  :root{--col:64ch}
}
@media (max-width:900px){
  body{padding-bottom:74px}
  .sticky-cta{display:flex;position:fixed;left:0;right:0;bottom:0;z-index:90;align-items:center;gap:var(--s-3);
    background:rgba(14,19,32,.97);backdrop-filter:blur(10px);border-top:2px solid var(--brass);
    padding:var(--s-2) var(--s-4);color:var(--text);box-shadow:0 -10px 28px -12px rgba(0,0,0,.85)}
  .sticky-cta:hover{color:var(--text)}
  .sticky-cta:focus-visible{outline:2px solid var(--brass);outline-offset:-4px}
  .sticky-cta .sk{flex:1 1 auto;min-width:0;font-family:var(--f-mono);font-size:.66rem;
    line-height:1.35;color:var(--text-mute);letter-spacing:.04em}
  .sticky-cta .sk b{display:block;font-family:var(--f-display);font-weight:800;font-size:.92rem;color:var(--text);letter-spacing:-.01em}
  .sticky-cta .sb{flex:0 0 auto;display:flex;align-items:center;gap:var(--s-2);min-height:44px;padding:var(--s-3) var(--s-5);
    background:linear-gradient(180deg,#F0C264,var(--brass) 60%);color:#14100A;
    font-family:var(--f-display);font-weight:800;font-size:1rem;text-transform:uppercase;
    border-radius:var(--radius);box-shadow:0 3px 0 #8F6718;transition:transform .12s var(--ease),box-shadow .12s var(--ease)}
  .sticky-cta:active .sb{transform:translateY(2px);box-shadow:0 1px 0 #8F6718}
  .burger-btn{display:block}
  .nav{order:3;flex:1 1 100%;max-height:0;overflow:hidden;transition:max-height .28s var(--ease)}
  .burger:checked~.nav{max-height:640px}
  .nav ul{flex-direction:column;gap:0;padding:var(--s-3) 0 var(--s-4);border-top:1px solid var(--line-soft);margin-top:var(--s-2)}
  .nav a{padding:var(--s-3) var(--s-2);border-radius:0;border-bottom:1px solid var(--line-soft)}
  .head-in{flex-wrap:wrap}
  .article>figure{width:100%}
  th,td{padding:var(--s-2) var(--s-3)}
}
@media (max-width:860px){
  /* «ключ-значение» переходят в стопку задолго до телефона */
  .tw.kv table,.tw.kv thead,.tw.kv tbody,.tw.kv th,.tw.kv td,.tw.kv tr{display:block}
  .tw.kv thead{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}
  .tw.kv tr{border-top:1px solid var(--line);padding:var(--s-3) 0}
  .tw.kv tr:first-child{border-top:0}
  .tw.kv td{border:0;padding:var(--s-2) var(--s-4);display:grid;
    grid-template-columns:minmax(0,14ch) minmax(0,1fr);gap:var(--s-3);max-width:none}
  .tw.kv td::before{content:attr(data-th);font-family:var(--f-mono);font-size:var(--t-xs);
    letter-spacing:.05em;text-transform:uppercase;color:var(--text-mute);line-height:1.4}
  .tw.kv td.num{text-align:left}
  .tw.kv{background-image:none}
}
@media (max-width:640px){
  :root{--t-md:1rem;--s-7:2.25rem;--s-8:3rem}
  .hero{padding:var(--s-6) 0 var(--s-6)}
  .rail div{border-left:0;border-top:1px solid var(--line-soft);padding-left:0}
  .rail div:first-child{border-top:0}
  .author-card{gap:var(--s-3)}
  .ac-dates{text-align:left;flex:1 1 100%}
}
@media (max-width:400px){
  :root{--s-5:1.15rem;--t-lg:1.1rem;--t-xl:1.3rem}
  .shell{padding-inline:var(--s-4)}
  .cta-main{padding:var(--s-4)}
    .cta-btn{font-size:1rem;padding:var(--s-3) var(--s-4)}
  .sticky-cta{padding:var(--s-2) var(--s-3);gap:var(--s-2)}
  .sticky-cta .sk{font-size:.6rem}
  .sticky-cta .sk b{font-size:.82rem}
  .sticky-cta .sb{font-size:.9rem;padding:var(--s-3) var(--s-4)}
  th,td{padding:var(--s-2) var(--s-3)}
  .steps li{padding-left:var(--s-7)}
  .steps li::before{width:2rem;height:2rem}
  .author-bio{padding:var(--s-4)}
}
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;
    transition-duration:.01ms!important;scroll-behavior:auto!important}
  .cta-main:hover,.tile:hover{transform:none}
  .cta-main:active .cta-btn,.sticky-cta:active .sb{transform:none}
}
