/* ===================================================================
   Nitropolis.co.uk — shared design system
   Industrial / dystopian slot affiliate. No gradients (performance).
   Palette: gunmetal dark, toxic nitro green, gold, off-white.
   =================================================================== */

:root{
  --bg:#14181a;          /* gunmetal base            */
  --bg-2:#1b2124;        /* raised panel             */
  --bg-3:#232b2f;        /* card / hover             */
  --line:#333f45;        /* hairline borders         */
  --line-2:#41525a;      /* stronger border          */
  --ink:#eef2f1;         /* primary text             */
  --ink-2:#aab7bb;       /* secondary text           */
  --ink-3:#7c8b90;       /* muted / captions         */
  --nitro:#7ac70c;       /* toxic nitro green accent */
  --nitro-d:#5c9a06;     /* darker green             */
  --gold:#e8b33b;        /* brand gold               */
  --gold-d:#b98a1e;
  --danger:#e5484d;
  --star:#f2b01e;
  --radius:6px;
  --radius-lg:12px;
  --wrap:1120px;
  --shadow:0 1px 0 #000, 0 8px 22px rgba(0,0,0,.35);
  --ff-display:"Oswald","Arial Narrow",system-ui,sans-serif;
  --ff-body:"Inter",system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;
}

*{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{
  margin:0;background:var(--bg);color:var(--ink);
  font-family:var(--ff-body);font-size:17px;line-height:1.65;
  font-weight:400;letter-spacing:.005em;
  text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;
}
img{max-width:100%;display:block;height:auto}
a{color:var(--nitro);text-decoration:none}
a:hover{text-decoration:underline}
h1,h2,h3,h4{font-family:var(--ff-display);font-weight:600;line-height:1.12;
  letter-spacing:.01em;margin:0 0 .5em;text-transform:uppercase}
h1{font-size:clamp(2rem,5vw,3.1rem)}
h2{font-size:clamp(1.55rem,3.4vw,2.25rem)}
h3{font-size:1.28rem}
h4{font-size:1.05rem;letter-spacing:.03em}
p{margin:0 0 1rem}
strong{color:var(--ink);font-weight:600}
.wrap{max-width:var(--wrap);margin:0 auto;padding:0 20px}

/* focus visibility (a11y) */
:focus-visible{outline:3px solid var(--nitro);outline-offset:2px}

/* ---------- skip link ---------- */
.skip{position:absolute;left:-999px;top:0;background:var(--nitro);color:#0c0f10;
  padding:10px 16px;font-weight:700;z-index:200;border-radius:0 0 6px 0}
.skip:focus{left:0}

/* =====================  HEADER  ===================== */
.site-head{position:sticky;top:0;z-index:100;background:rgba(20,24,26,.92);
  backdrop-filter:saturate(140%) blur(6px);border-bottom:1px solid var(--line)}
.head-row{display:flex;align-items:center;gap:18px;min-height:66px}
.brand{display:flex;align-items:center;gap:10px;flex-shrink:0}
.brand img{height:46px;width:auto}
.brand b{font-family:var(--ff-display);font-size:1.15rem;color:var(--gold);
  text-transform:uppercase;letter-spacing:.02em}
.brand span{color:var(--ink-3);font-size:.72rem;display:block;letter-spacing:.16em;
  margin-top:-3px;font-weight:600}
.nav{flex:1;display:flex;gap:2px;align-items:center;justify-content:flex-end}
.nav a{color:var(--ink-2);font-family:var(--ff-display);text-transform:uppercase;
  font-size:.82rem;letter-spacing:.05em;padding:8px 11px;border-radius:5px}
.nav a:hover{color:var(--ink);background:var(--bg-3);text-decoration:none}
.nav a[aria-current="page"]{color:var(--nitro)}
.head-cta{margin-left:8px;flex-shrink:0}
.nav-toggle{display:none;margin-left:6px;background:var(--bg-3);border:1px solid var(--line-2);
  color:var(--ink);width:44px;height:44px;border-radius:6px;font-size:1.2rem;cursor:pointer}

/* =====================  BUTTONS  ===================== */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5em;
  font-family:var(--ff-display);text-transform:uppercase;font-weight:600;
  letter-spacing:.04em;font-size:.95rem;padding:13px 22px;border-radius:var(--radius);
  border:1px solid transparent;cursor:pointer;transition:transform .08s,background .15s;
  min-height:46px;text-decoration:none}
.btn:hover{text-decoration:none;transform:translateY(-1px)}
.btn:active{transform:translateY(0)}
.btn-primary{background:var(--nitro);color:#0c1204;border-color:var(--nitro-d);
  box-shadow:0 3px 0 var(--nitro-d)}
.btn-primary:hover{background:#89dc14}
.btn-gold{background:var(--gold);color:#241a04;border-color:var(--gold-d);
  box-shadow:0 3px 0 var(--gold-d)}
.btn-gold:hover{background:#f2c256}
.btn-ghost{background:transparent;color:var(--ink);border-color:var(--line-2)}
.btn-ghost:hover{background:var(--bg-3);border-color:var(--ink-3)}
.btn-sm{padding:9px 15px;font-size:.82rem;min-height:38px}
.btn-lg{padding:16px 30px;font-size:1.08rem}
.btn-block{display:flex;width:100%}

/* small legal tag under CTAs */
.cta-legal{font-size:.74rem;color:var(--ink-3);margin:.5rem 0 0}

/* =====================  HERO  ===================== */
.hero{position:relative;padding:46px 0 34px;border-bottom:1px solid var(--line);
  background:var(--bg-2)}
.hero-grid{display:grid;grid-template-columns:1.35fr .9fr;gap:40px;align-items:center}
.hero h1{margin-bottom:.35em}
.hook{color:var(--nitro);font-family:var(--ff-display);text-transform:uppercase;
  font-size:.95rem;letter-spacing:.05em;font-weight:600;margin-bottom:.7rem;
  border-left:3px solid var(--nitro);padding-left:12px}
.hero-lead{font-size:1.1rem;color:var(--ink-2);max-width:56ch}
.hero-art{position:relative}
.hero-art img{border-radius:var(--radius-lg);border:1px solid var(--line-2);
  box-shadow:var(--shadow);width:100%}
.hero-cta{display:flex;gap:12px;flex-wrap:wrap;margin-top:22px}

/* stat ribbon — our "not-a-table" way of surfacing RTP/max win fast */
.spec-strip{display:flex;flex-wrap:wrap;gap:0;margin-top:26px;
  border:1px solid var(--line-2);border-radius:var(--radius);overflow:hidden;background:var(--bg-3)}
.spec-strip .spec{flex:1 1 33%;min-width:120px;padding:12px 16px;
  border-right:1px solid var(--line)}
.spec-strip .spec:last-child{border-right:0}
.spec .k{display:block;font-size:.7rem;letter-spacing:.13em;color:var(--ink-3);
  text-transform:uppercase;font-weight:700;margin-bottom:2px}
.spec .v{font-family:var(--ff-display);font-size:1.35rem;color:var(--ink);line-height:1}
.spec .v.hot{color:var(--nitro)}
.spec .v.gold{color:var(--gold)}

/* =====================  SECTIONS  ===================== */
section{padding:44px 0}
section.tight{padding:30px 0}
.sec-head{max-width:64ch;margin-bottom:26px}
.sec-head p{color:var(--ink-2)}
.divider{height:1px;background:var(--line);border:0;margin:0}

/* two-column prose + aside */
.split{display:grid;grid-template-columns:1.5fr 1fr;gap:40px;align-items:start}
.split>*{min-width:0}
.prose p{margin-bottom:1.05rem}
.prose h3{margin-top:1.6em}
.prose ul{margin:0 0 1.1rem;padding-left:0;list-style:none}
.prose ul li{position:relative;padding-left:26px;margin-bottom:.6rem;color:var(--ink-2)}
.prose ul li::before{content:"";position:absolute;left:4px;top:.62em;width:8px;height:8px;
  background:var(--nitro);transform:rotate(45deg)}
.prose ul li strong{color:var(--ink)}

/* =====================  TABLE OF CONTENTS  ===================== */
.toc{background:var(--bg-2);border:1px solid var(--line-2);border-radius:var(--radius);
  margin:22px 0 0}
.toc summary{cursor:pointer;list-style:none;padding:14px 18px;display:flex;
  align-items:center;gap:10px;font-family:var(--ff-display);text-transform:uppercase;
  letter-spacing:.04em;font-weight:600;color:var(--ink);user-select:none}
.toc summary::-webkit-details-marker{display:none}
.toc summary .chev{margin-left:auto;transition:transform .2s;color:var(--nitro)}
.toc[open] summary .chev{transform:rotate(180deg)}
.toc summary .lbl{color:var(--ink-3);font-size:.78rem;font-weight:600}
.toc-nav{border-top:1px solid var(--line);padding:8px;
  display:grid;grid-template-columns:1fr 1fr;gap:2px}
.toc-nav a{color:var(--ink-2);padding:9px 12px;border-radius:5px;font-size:.92rem;
  display:flex;gap:9px;align-items:baseline}
.toc-nav a:hover{background:var(--bg-3);color:var(--ink);text-decoration:none}
.toc-nav a i{color:var(--nitro);font-style:normal;font-family:var(--ff-display);
  font-size:.82rem;min-width:20px}

/* =====================  CARDS / GRIDS  ===================== */
.grid{display:grid;gap:18px}
.g-2{grid-template-columns:repeat(2,1fr)}
.g-3{grid-template-columns:repeat(3,1fr)}
.g-4{grid-template-columns:repeat(4,1fr)}
.card{background:var(--bg-2);border:1px solid var(--line);border-radius:var(--radius-lg);
  padding:22px}
.card h3{font-size:1.12rem}
.card p{color:var(--ink-2);margin-bottom:0;font-size:.96rem}
.card .ic{width:38px;height:38px;border-radius:8px;background:var(--bg-3);
  border:1px solid var(--line-2);display:flex;align-items:center;justify-content:center;
  margin-bottom:14px;color:var(--nitro);font-family:var(--ff-display);font-size:1.05rem}

/* feature list card (mechanics) */
.feat{display:flex;gap:14px;padding:18px 0;border-bottom:1px solid var(--line)}
.feat:last-child{border-bottom:0}
.feat .tag{flex-shrink:0;font-family:var(--ff-display);font-size:.72rem;font-weight:700;
  letter-spacing:.05em;text-transform:uppercase;color:#0c1204;background:var(--nitro);
  padding:4px 9px;border-radius:4px;height:fit-content;white-space:nowrap}
.feat .tag.gold{background:var(--gold);color:#241a04}
.feat div h4{margin-bottom:.25em}
.feat div p{margin:0;color:var(--ink-2);font-size:.96rem}

/* =====================  GAME TILES (hub)  ===================== */
.tiles{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.tile{background:var(--bg-2);border:1px solid var(--line);border-radius:var(--radius-lg);
  overflow:hidden;display:flex;flex-direction:column;transition:border-color .15s,transform .1s}
.tile:hover{border-color:var(--line-2);transform:translateY(-3px)}
.tile-art{position:relative;aspect-ratio:1/1;overflow:hidden;background:#0d1112}
.tile-art img{width:100%;height:100%;object-fit:cover}
.tile-badge{position:absolute;top:10px;left:10px;background:rgba(12,15,16,.85);
  color:var(--nitro);font-family:var(--ff-display);font-size:.7rem;font-weight:700;
  letter-spacing:.06em;padding:4px 9px;border-radius:4px;text-transform:uppercase;
  border:1px solid var(--line-2)}
.tile-body{padding:16px 16px 18px;display:flex;flex-direction:column;flex:1}
.tile-body h3{font-size:1.12rem;margin-bottom:.3em}
.tile-body p{color:var(--ink-2);font-size:.9rem;margin-bottom:14px;flex:1}
.tile-meta{display:flex;gap:14px;margin-bottom:14px;font-size:.78rem;color:var(--ink-3)}
.tile-meta b{color:var(--ink);font-family:var(--ff-display);font-weight:600}
.tile-btns{display:flex;gap:8px}
.tile-btns .btn{flex:1}

/* =====================  TABLES  ===================== */
.table-scroll{overflow-x:auto;max-width:100%;min-width:0;border:1px solid var(--line-2);border-radius:var(--radius);
  -webkit-overflow-scrolling:touch}
table{width:100%;border-collapse:collapse;font-size:.94rem;min-width:520px}
/* key-value spec tables inside cards/asides wrap instead of forcing a scroll width */
.card table,.card .table-scroll table{min-width:0}
.card .table-scroll{overflow-x:visible}
caption{text-align:left;color:var(--ink-3);font-size:.82rem;padding:0 0 8px}
th,td{padding:12px 15px;text-align:left;border-bottom:1px solid var(--line);
  overflow-wrap:break-word;word-break:normal}
.card th[scope=row]{white-space:nowrap;width:1%;color:var(--ink-2)}
thead th{background:var(--bg-3);color:var(--ink);font-family:var(--ff-display);
  text-transform:uppercase;letter-spacing:.03em;font-size:.8rem;font-weight:600;
  border-bottom:1px solid var(--line-2);position:sticky;top:0}
tbody tr:hover{background:var(--bg-2)}
tbody tr:last-child td{border-bottom:0}
td b,th b{color:var(--gold);font-weight:600}
.chip{display:inline-block;font-size:.72rem;font-weight:700;padding:2px 8px;border-radius:4px;
  font-family:var(--ff-display);letter-spacing:.03em;text-transform:uppercase}
.chip.hi{background:rgba(122,199,12,.16);color:var(--nitro)}
.chip.md{background:rgba(232,179,59,.16);color:var(--gold)}
.chip.lo{background:rgba(229,72,77,.16);color:#f0888b}
.row-hi td{background:rgba(122,199,12,.05)}

/* =====================  DEMO IFRAME  ===================== */
.demo-wrap{border:1px solid var(--line-2);border-radius:var(--radius-lg);overflow:hidden;
  background:#0b0e0f}
.demo-frame{position:relative;width:100%;aspect-ratio:16/9;background:#0b0e0f}
.demo-frame.demo-has-preview{aspect-ratio:unset;min-height:360px}
.demo-frame iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.demo-poster{position:absolute;inset:0;display:flex;flex-direction:column;
  align-items:center;justify-content:center;gap:16px;cursor:pointer;text-align:center;
  padding:24px;background:var(--bg-2)}
.demo-poster .play{width:70px;height:70px;border-radius:50%;background:var(--nitro);
  display:flex;align-items:center;justify-content:center;box-shadow:0 4px 0 var(--nitro-d)}
.demo-poster .play svg{width:26px;height:26px;fill:#0c1204;margin-left:4px}
.demo-poster h3{margin:0}
.demo-poster p{color:var(--ink-2);margin:0;font-size:.92rem;max-width:44ch}
.demo-bar{display:flex;align-items:center;gap:12px;flex-wrap:wrap;padding:12px 16px;
  background:var(--bg-3);border-top:1px solid var(--line)}
.demo-bar .lbl{font-size:.82rem;color:var(--ink-3)}
.demo-bar .lbl b{color:var(--ink)}
.demo-bar .btn{margin-left:auto}

/* =====================  BONUS BANNERS  ===================== */
.offer{display:flex;align-items:center;gap:18px;background:var(--bg-2);
  border:1px solid var(--line-2);border-left:4px solid var(--nitro);
  border-radius:var(--radius);padding:16px 20px}
.offer.gold{border-left-color:var(--gold)}
.offer.alt{border-left-color:var(--gold)}
.offer .mark{flex-shrink:0;width:52px;height:52px;border-radius:8px;background:var(--bg-3);
  border:1px solid var(--line-2);display:flex;align-items:center;justify-content:center;
  font-family:var(--ff-display);font-size:1.5rem;color:var(--gold)}
.offer .body{flex:1;min-width:0}
.offer .body b{display:block;font-family:var(--ff-display);font-size:1.15rem;color:var(--ink);
  text-transform:uppercase;letter-spacing:.02em;line-height:1.15}
.offer .body span{font-size:.85rem;color:var(--ink-2)}
.offer .body .terms{font-size:.72rem;color:var(--ink-3);display:block;margin-top:3px}
.offers-stack{display:grid;gap:14px}

/* =====================  REVIEWS / STARS  ===================== */
.stars{display:inline-flex;gap:1px;vertical-align:middle}
.stars svg{width:16px;height:16px}
.stars .on{fill:var(--star)}
.stars .off{fill:#3a464b}
.score-head{display:flex;align-items:center;gap:16px;flex-wrap:wrap;margin-bottom:6px}
.score-num{font-family:var(--ff-display);font-size:2.6rem;color:var(--gold);line-height:1}
.score-head .out{color:var(--ink-3);font-size:.9rem}
.reviews{display:grid;grid-template-columns:repeat(2,1fr);gap:16px;margin-top:22px}
.review{background:var(--bg-2);border:1px solid var(--line);border-radius:var(--radius);
  padding:18px}
.review .rv-top{display:flex;align-items:center;gap:10px;margin-bottom:8px}
.review .av{width:38px;height:38px;border-radius:50%;background:var(--bg-3);
  border:1px solid var(--line-2);display:flex;align-items:center;justify-content:center;
  font-family:var(--ff-display);color:var(--nitro);font-size:1rem}
.review .who{font-weight:600;font-size:.92rem;color:var(--ink);line-height:1.1}
.review .who small{display:block;color:var(--ink-3);font-weight:400;font-size:.76rem}
.review p{margin:0;color:var(--ink-2);font-size:.94rem}
.review .verified{margin-left:auto;font-size:.7rem;color:var(--nitro);font-weight:600;
  letter-spacing:.03em;text-transform:uppercase}

/* pros / cons */
.pc{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.pc .box{background:var(--bg-2);border:1px solid var(--line);border-radius:var(--radius);padding:18px 20px}
.pc .box h4{display:flex;align-items:center;gap:8px}
.pc ul{list-style:none;margin:0;padding:0}
.pc ul li{padding:6px 0 6px 24px;position:relative;color:var(--ink-2);font-size:.94rem;
  border-bottom:1px solid var(--line)}
.pc ul li:last-child{border-bottom:0}
.pc .pros li::before{content:"+";position:absolute;left:2px;color:var(--nitro);font-weight:700}
.pc .cons li::before{content:"–";position:absolute;left:2px;color:#f0888b;font-weight:700}

/* =====================  FAQ  ===================== */
.faq details{border:1px solid var(--line);border-radius:var(--radius);margin-bottom:10px;
  background:var(--bg-2)}
.faq details[open]{border-color:var(--line-2)}
.faq summary{cursor:pointer;list-style:none;padding:16px 20px;font-weight:600;
  font-family:var(--ff-display);text-transform:uppercase;letter-spacing:.02em;
  color:var(--ink);display:flex;gap:12px;align-items:center;font-size:1rem}
.faq summary::-webkit-details-marker{display:none}
.faq summary .q{margin-left:auto;color:var(--nitro);font-size:1.3rem;line-height:1;
  transition:transform .2s}
.faq details[open] summary .q{transform:rotate(45deg)}
.faq .a{padding:0 20px 18px;color:var(--ink-2)}
.faq .a p:last-child{margin-bottom:0}

/* =====================  FLOATING CTA  ===================== */
.float-cta{position:fixed;right:20px;bottom:20px;z-index:90}
.float-cta .btn{box-shadow:0 4px 0 var(--nitro-d),0 10px 24px rgba(0,0,0,.4)}

/* =====================  FOOTER  ===================== */
.site-foot{background:#0f1315;border-top:1px solid var(--line);margin-top:20px;
  padding:40px 0 26px;font-size:.9rem}
.foot-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:30px;margin-bottom:26px}
.foot-grid h3.foot-nav-head{color:var(--ink);font-size:.85rem;letter-spacing:.06em;
  font-family:var(--ff-display);text-transform:uppercase;margin:0 0 10px}
.foot-grid a{color:var(--ink-2);display:block;padding:3px 0}
.foot-grid a:hover{color:var(--nitro)}
.foot-brand p{color:var(--ink-3);font-size:.86rem;max-width:38ch}
.foot-brand img{height:120px;width:auto;margin-bottom:12px}
.foot-legal{border-top:1px solid var(--line);padding-top:20px;color:var(--ink-3);
  font-size:.78rem;line-height:1.6;display:flex;flex-direction:column;gap:10px}
.foot-badges{display:flex;gap:12px;align-items:center;flex-wrap:wrap}
.foot-badges span{border:1px solid var(--line-2);border-radius:5px;padding:5px 10px;
  font-size:.72rem;color:var(--ink-2);font-weight:600;letter-spacing:.04em}
.age{background:#0c0f10;border:2px solid var(--danger);color:#fff;width:34px;height:34px;
  border-radius:50%;display:inline-flex;align-items:center;justify-content:center;
  font-family:var(--ff-display);font-weight:700;font-size:.85rem;flex-shrink:0}

/* helper */
.mt0{margin-top:0}.mb0{margin-bottom:0}
.muted{color:var(--ink-3)}
.center{text-align:center}
.note{background:var(--bg-2);border:1px solid var(--line-2);border-left:3px solid var(--gold);
  border-radius:var(--radius);padding:14px 18px;font-size:.92rem;color:var(--ink-2)}
.note b{color:var(--ink)}

/* =====================  RESPONSIVE  ===================== */
@media(max-width:900px){
  .hero-grid{grid-template-columns:1fr;gap:26px}
  .hero-art{order:-1;max-width:420px}
  .split{grid-template-columns:1fr;gap:26px}
  .g-4{grid-template-columns:repeat(2,1fr)}
  .tiles{grid-template-columns:repeat(2,1fr)}
  .foot-grid{grid-template-columns:1fr 1fr}
  .reviews,.pc{grid-template-columns:1fr}
}
@media(max-width:680px){
  body{font-size:16px}
  .nav{display:none;position:absolute;top:66px;left:0;right:0;flex-direction:column;
    background:var(--bg-2);border-bottom:1px solid var(--line);padding:8px;gap:0}
  .nav.open{display:flex}
  .nav a{padding:12px 14px;border-radius:0}
  .head-cta{
    display:flex !important;
    padding:8px 13px;
    font-size:.78rem;
    white-space:nowrap;
    margin-left:auto}
  .nav-toggle{
    display:flex;align-items:center;justify-content:center;
    margin-left:6px}
  .head-row{flex-wrap:nowrap}
  .g-3,.g-2{grid-template-columns:1fr}
  .g-4{grid-template-columns:1fr 1fr}
  .toc-nav{grid-template-columns:1fr}
  .foot-grid{grid-template-columns:1fr}
  .spec-strip .spec{flex:1 1 100%;border-right:0;border-bottom:1px solid var(--line)}
  .spec-strip .spec:last-child{border-bottom:0}
  .float-cta{right:12px;bottom:12px}
  .float-cta .btn{padding:12px 16px;font-size:.9rem}
  .demo-bar .btn{margin-left:0;width:100%}
}
@media(prefers-reduced-motion:reduce){
  *{scroll-behavior:auto!important;transition:none!important;animation:none!important}
}

/* =====================  CLAN / CHARACTER ROSTER  ===================== */
.clan-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(215px,1fr));gap:18px}
.clan-card{background:var(--bg-2);border:1px solid var(--line);border-radius:var(--radius-lg);
  overflow:hidden;display:flex;flex-direction:column;transition:border-color .15s,transform .1s}
.clan-card:hover{border-color:var(--line-2);transform:translateY(-3px)}
.clan-art{position:relative;aspect-ratio:1/1;display:flex;align-items:flex-end;justify-content:center;
  background:radial-gradient(circle at 50% 42%,rgba(122,199,12,.10),transparent 62%),#0d1112;
  overflow:hidden}
.clan-art img{height:96%;width:auto;max-width:none;object-fit:contain;
  filter:drop-shadow(0 6px 14px rgba(0,0,0,.5))}
.clan-art.boss{background:radial-gradient(circle at 50% 42%,rgba(229,72,77,.16),transparent 62%),#0d1112}
.clan-body{padding:16px 17px 18px}
.clan-body h3{margin:0 0 4px;font-size:1.12rem}
.clan-role{display:inline-block;font-family:var(--ff-display);font-size:.72rem;font-weight:600;
  text-transform:uppercase;letter-spacing:.05em;color:var(--nitro);
  background:rgba(122,199,12,.12);border-radius:4px;padding:2px 8px;margin-bottom:9px}
.clan-role.boss{color:#f0888b;background:rgba(229,72,77,.14)}
.clan-body p{margin:0;color:var(--ink-2);font-size:.9rem;line-height:1.55}
/* wide group art (Nitropolis 2 gang groups) keeps taller frame */
.clan-grid.groups .clan-art img{height:100%}

/* =====================  TRUST / LICENCE BADGES (footer)  ===================== */
.trust-badges{display:flex;flex-wrap:wrap;align-items:center;gap:14px;
  padding:22px 0 20px;border-top:1px solid var(--line);margin-top:6px}
.trust-badges a,.trust-badges span.tb{display:inline-flex;align-items:center;justify-content:center;
  height:40px;padding:6px 12px;background:#fff;border-radius:6px;
  transition:transform .1s,opacity .15s;opacity:.9}
.trust-badges a:hover{transform:translateY(-2px);opacity:1}
.trust-badges img{height:100%;width:auto;max-width:none;display:block}
.trust-badges .tb-note{color:var(--ink-3);font-size:.78rem;background:none;height:auto;padding:0;opacity:1}
@media(max-width:680px){
  .trust-badges{gap:10px}
  .trust-badges a,.trust-badges span.tb{height:34px;padding:5px 9px}
}

/* =====================  HEADING HIERARCHY FIXES  ===================== */
/* card-head: h2 inside a card aside — visually looks like h3 but is h2
   so it fits the document outline (verdict section has no other h2)     */
h2.card-head{font-size:1.1rem;margin:0 0 14px;font-weight:600;
  font-family:var(--ff-display);text-transform:uppercase;letter-spacing:.04em;color:var(--ink)}
/* feature names: were h4 (skipped h3), now h3 — style to match old h4 */
h3.feat-name{font-size:1rem;margin:0 0 4px;font-weight:600;
  font-family:var(--ff-body);text-transform:none;letter-spacing:0}
/* pros/cons headings: were h4, now h3 */
h3.pc-head{font-size:.85rem;font-family:var(--ff-display);text-transform:uppercase;
  letter-spacing:.06em;font-weight:700;margin:0 0 10px;color:var(--ink)}

/* =====================  DEMO POSTER WITH PREVIEW IMAGE  ===================== */
.demo-has-preview{min-height:300px;position:relative;background-size:cover;background-position:center top}
/* dark overlay so text stays readable over any background image */
.demo-has-preview::before{
  content:"";position:absolute;inset:0;border-radius:inherit;
  background:rgba(10,14,16,.62);
  z-index:0;pointer-events:none}
/* poster must fill the whole frame */
.demo-has-preview .demo-poster{
  position:absolute;inset:0;z-index:1;
  background:transparent;
  display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px}
/* poster button inherits transparent bg — override for non-preview */
.demo-frame:not(.demo-has-preview) .demo-poster{background:var(--bg-2)}
/* stronger text shadow on the play label when there's a bg image */
.demo-has-preview .demo-poster h3{
  color:#fff;font-size:1.35rem;
  text-shadow:0 2px 10px rgba(0,0,0,.95),0 0 2px rgba(0,0,0,1);margin:0}
.demo-has-preview .demo-poster p.demo-note{
  color:rgba(255,255,255,.90);
  text-shadow:0 1px 6px rgba(0,0,0,.95);margin:0;font-size:.95rem;max-width:42ch;text-align:center}
/* play button circle over preview */
.demo-has-preview .play{
  background:rgba(0,0,0,.55);
  border:2px solid var(--nitro);
  box-shadow:0 0 0 6px rgba(122,199,12,.15),0 4px 18px rgba(0,0,0,.6)}
.demo-has-preview .play svg{fill:var(--nitro)}

/* =====================  RELATED GAMES GRID  ===================== */
.related-grid{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:14px}
.rel-card{
  display:block;text-decoration:none;
  background:var(--bg-2);border:1px solid var(--line);
  border-radius:var(--radius-lg);overflow:hidden;
  transition:border-color .15s,transform .1s}
.rel-card:hover{border-color:var(--nitro);transform:translateY(-3px)}
.rel-card-art{aspect-ratio:1/1;overflow:hidden;background:#0d1112}
.rel-card-art img{width:100%;height:100%;object-fit:cover;display:block}
.rel-card-body{padding:10px 12px 12px}
.rel-card-name{font-family:var(--ff-display);font-size:.9rem;font-weight:600;
  text-transform:uppercase;letter-spacing:.04em;color:var(--ink);
  display:block;margin-bottom:3px;
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.rel-card-meta{font-size:.78rem;color:var(--ink-3)}
.rel-card-meta b{color:var(--gold)}
@media(max-width:900px){.related-grid{grid-template-columns:repeat(3,1fr)}}
@media(max-width:680px){.related-grid{grid-template-columns:repeat(2,1fr);gap:10px}
  .rel-card-body{padding:8px 10px 10px}}
