/* Ring Dynasty pages (overview, features, fighters).
   Layout: the studio shell (black, 12-col grid, hairlines) carrying one game. The game's gold
   replaces the studio's orange/blue as the only accent. */
:root{
  --ink:#0a0b0d;
  --line:#22252b;
  --bone:#f1f2f4;
  --mute:#878d98;
  --orange:#ff6b1f;
  --blue:#1f8fff;
  --gold:#d4a95b;
  --f-head:"Archivo","Helvetica Neue",Arial,sans-serif;
  --f-mark:"Michroma","Eurostile","Arial Black",sans-serif;
  color-scheme:dark;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--ink);color:var(--bone);font:400 17px/1.65 var(--f-head);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
img{max-width:100%;height:auto;display:block}
a{color:inherit}
:focus-visible{outline:2px solid var(--bone);outline-offset:4px}
h1,h2,h3,p,figure{margin:0}
h1,h2{text-wrap:balance}
.wrap{max-width:1120px;margin:0 auto;padding-left:max(24px,env(safe-area-inset-left,0px));padding-right:max(24px,env(safe-area-inset-right,0px))}
.label{font:600 11px/1 var(--f-head);letter-spacing:.22em;text-transform:uppercase;color:var(--mute)}
section{border-top:1px solid var(--line)}
.head{padding-block:28px 48px}

/* nav (same as studio home) */
.nav .wrap{display:flex;align-items:center;justify-content:space-between;gap:16px;padding-block:28px}
.brand{display:flex;align-items:center;gap:12px;text-decoration:none}
.brand img{width:26px}
.brand span{font:11px/1 var(--f-mark);letter-spacing:.2em}
.nav ul{display:flex;gap:32px;list-style:none;margin:0;padding:0}
.nav ul a{font:500 12px/1 var(--f-head);letter-spacing:.18em;text-transform:uppercase;text-decoration:none;color:var(--mute);transition:color .2s}
.nav ul a:hover,.nav ul a[aria-current]{color:var(--bone)}

/* hero */
.hero{border-top:0}
.hero .wrap{padding-block:clamp(56px,9vw,110px) 64px;display:grid;gap:26px}
.crumb{display:flex;gap:10px;align-items:center}
.crumb a{text-decoration:none}
.crumb a:hover{color:var(--bone)}
.hero h1{font:900 clamp(48px,9.6vw,120px)/.9 var(--f-head);font-stretch:125%;letter-spacing:-.02em;text-transform:uppercase}
.hero h1 span{display:block;margin-top:14px;font:700 clamp(13px,1.6vw,18px)/1 var(--f-head);font-stretch:100%;letter-spacing:.42em;color:var(--gold)}
.hero .tag{font:500 clamp(20px,2.3vw,26px)/1.35 var(--f-head);color:#d9dce1;max-width:30ch}
.facts{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:24px;margin:14px 0 0;padding-top:22px;border-top:1px solid var(--line)}
.facts div{display:grid;gap:8px;min-width:0}
.facts dt{font:600 11px/1 var(--f-head);letter-spacing:.22em;text-transform:uppercase;color:var(--mute)}
.facts dd{margin:0;font-size:16px}
.dot{display:inline-block;width:7px;height:7px;border-radius:50%;background:var(--gold);margin-right:9px;vertical-align:1px}
@media (prefers-reduced-motion:no-preference){
  .dot{animation:ping 2s infinite}
  @keyframes ping{0%{box-shadow:0 0 0 0 rgba(212,169,91,.6)}70%,100%{box-shadow:0 0 0 7px rgba(212,169,91,0)}}
  .hero h1,.hero .tag,.facts{animation:rise .8s cubic-bezier(.2,.7,.2,1) both}
  .hero .tag{animation-delay:.1s}.facts{animation-delay:.18s}
  @keyframes rise{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}
}
.cta{display:flex;flex-wrap:wrap;align-items:center;gap:28px;margin-top:8px}
.btn{display:inline-flex;align-items:center;gap:12px;padding:16px 24px;background:var(--gold);color:#120d07;font:700 12px/1 var(--f-head);letter-spacing:.18em;text-transform:uppercase;text-decoration:none;transition:gap .2s,background .2s}
.btn:hover{gap:18px;background:#e2bb73}
.btn::after{content:"\2192";font-size:14px;letter-spacing:0}
.note{font-size:14px;color:var(--mute)}

/* key art */
.keyart{border-top:0}
.keyart .wrap{padding-block:0 110px}
.keyart img{width:100%;aspect-ratio:1200/630;object-fit:cover;border:1px solid #2b2216}

/* about */
.about .wrap{padding-block:0 110px}
.about .cols{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:24px}
.about .lead{grid-column:1/8;font:500 clamp(21px,2.4vw,28px)/1.4 var(--f-head);color:#d9dce1}
.about .side{grid-column:9/13;display:grid;gap:16px;align-content:start;color:var(--mute);font-size:16px}

/* screens */
.screens .wrap{padding-block:0 110px}
.shots{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:40px 24px}
.shot{display:grid;gap:14px}
.shot.wide{grid-column:1/-1}
.shot img{width:100%;aspect-ratio:16/10;object-fit:cover;object-position:top left;border:1px solid var(--line)}
.shot figcaption{display:flex;gap:14px;align-items:baseline;font-size:15px;color:var(--mute)}
.shot figcaption b{flex:none;font:700 12px/1 var(--f-head);letter-spacing:.18em;text-transform:uppercase;color:var(--bone)}

/* features */
.features .wrap{padding-block:0 110px}
.list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:24px}
.item{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.4fr);gap:24px;padding-block:22px;border-top:1px solid var(--line)}
.item h3{font:700 15px/1.3 var(--f-head);letter-spacing:.06em;text-transform:uppercase}
.item p{font-size:15px;color:var(--mute)}

.more{display:flex;flex-wrap:wrap;gap:32px;padding-top:36px}
.link{display:inline-flex;align-items:center;gap:10px;font:600 12px/1 var(--f-head);letter-spacing:.18em;text-transform:uppercase;text-decoration:none;padding-block:6px;border-bottom:1px solid var(--gold);transition:gap .2s}
.link:hover{gap:16px}
.link::after{content:"\2192";font-size:14px;letter-spacing:0}

/* playtest */
.playtest .wrap{padding-block:90px;display:flex;flex-wrap:wrap;align-items:end;justify-content:space-between;gap:32px}
.playtest h2{font:800 clamp(30px,4vw,48px)/1 var(--f-head);font-stretch:125%;text-transform:uppercase;letter-spacing:-.01em}
.playtest h2{margin-top:14px}
.playtest p{margin-top:16px;max-width:46ch;color:var(--mute)}
.playtest .wrap>div{min-width:0}

footer{border-top:1px solid var(--line)}
footer .wrap{padding-block:26px 34px;display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:14px;font-size:13px;color:var(--mute)}
footer .brand img{width:18px}
footer .brand span{font-size:9px;color:var(--bone)}

@media (max-width:860px){
  .facts{grid-template-columns:repeat(2,minmax(0,1fr));row-gap:22px}
  .about .lead,.about .side{grid-column:1/-1}
  .shots{grid-template-columns:minmax(0,1fr)}
  .list{grid-template-columns:minmax(0,1fr)}
}
@media (max-width:560px){
  .nav ul{display:none}
  .item{grid-template-columns:minmax(0,1fr);gap:6px}
  .keyart .wrap,.about .wrap,.screens .wrap,.features .wrap{padding-block-end:84px}
  .shot figcaption{flex-direction:column;gap:6px}
}

/* game sub-nav */
.subnav{border-block:1px solid var(--line);position:sticky;top:env(safe-area-inset-top,0px);z-index:10;background:color-mix(in srgb,var(--ink) 88%,transparent);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}
.subnav .wrap{display:flex;align-items:center;gap:28px;overflow-x:auto;scrollbar-width:none}
.subnav .wrap::-webkit-scrollbar{display:none}
.subnav .game{margin-right:auto;font:800 13px/1 var(--f-head);font-stretch:118%;letter-spacing:.08em;text-transform:uppercase;text-decoration:none;white-space:nowrap;padding-block:18px}
.subnav .game span{color:var(--gold)}
.subnav a.tab{position:relative;padding-block:18px;font:500 12px/1 var(--f-head);letter-spacing:.16em;text-transform:uppercase;text-decoration:none;color:var(--mute);white-space:nowrap;transition:color .2s}
.subnav a.tab:hover{color:var(--bone)}
.subnav a.tab[aria-current]{color:var(--bone)}
.subnav a.tab[aria-current]::after{content:"";position:absolute;inset:auto 0 -1px;height:2px;background:var(--gold)}
@media (max-width:560px){.subnav .game{display:none}.subnav .wrap{gap:24px}}
