:root {
  --bg: #08090b;
  --bg-2: #0d0e10;
  --panel: #121417;
  --panel-2: #17191d;
  --text: #efe8dc;
  --muted: #b9b2a7;
  --ember: #ff6a1a;
  --ember-2: #ff8d3c;
  --bronze: #a65f2f;
  --gold: #d79a59;
  --border: rgba(184, 98, 47, .56);
  --shadow: 0 28px 80px rgba(0,0,0,.44);
  --shell: min(1240px, calc(100% - 48px));
}
* { box-sizing: border-box; }
html { scroll-behavior: smooth; background: var(--bg); }
body { margin:0; color:var(--text); background:var(--bg); font-family:Inter,system-ui,-apple-system,Segoe UI,sans-serif; line-height:1.55; overflow-x:hidden; }
a { color:inherit; }
img { display:block; max-width:100%; }
button, a { -webkit-tap-highlight-color: transparent; }
.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; }
.shell { width:var(--shell); margin-inline:auto; position:relative; z-index:2; }
section[id] { scroll-margin-top:88px; }
.ambient { position:fixed; inset:auto; pointer-events:none; filter:blur(70px); opacity:.13; z-index:0; }
.ambient-a { width:420px; height:420px; top:24vh; left:-180px; background:var(--ember); border-radius:50%; }
.ambient-b { width:520px; height:520px; bottom:15vh; right:-240px; background:#8d2f10; border-radius:50%; }

.site-header { position:sticky; top:0; z-index:50; background:rgba(7,8,10,.92); backdrop-filter:blur(18px); border-bottom:1px solid rgba(189,103,51,.35); transition:background .25s ease, box-shadow .25s ease; padding-top:max(0px, env(safe-area-inset-top)); }
.site-header.is-scrolled { background:rgba(6,7,8,.97); box-shadow:0 10px 30px rgba(0,0,0,.45); }
.site-header::before { content:""; position:absolute; inset:0; background:url('public/assets/decor/stone-noise.svg') center/520px auto; opacity:.20; pointer-events:none; }
.nav-shell { min-height:76px; display:grid; grid-template-columns:210px 1fr auto; gap:16px; align-items:center; }
.brand img { width:200px; height:auto; }
.site-nav { display:flex; align-items:center; justify-content:center; gap:14px; font-family:Cinzel,Georgia,serif; font-size:.68rem; letter-spacing:.04em; text-transform:uppercase; }
.site-nav a { text-decoration:none; color:#d8d1c5; position:relative; padding:28px 0 24px; }
.site-nav a::after { content:""; position:absolute; left:50%; right:50%; bottom:17px; height:2px; background:var(--ember); box-shadow:0 0 14px var(--ember); transition:.2s ease; }
.site-nav a:hover::after,.site-nav a:focus-visible::after,.site-nav a.is-active::after { left:12%; right:12%; }
.site-nav a:hover,.site-nav a:focus-visible { color:#fff3e8; }
.nav-toggle { display:none; background:transparent; border:0; padding:10px 8px; }
.nav-toggle span:not(.sr-only) { display:block; width:24px; height:2px; background:#eadfd2; margin:5px 0; }

.button { display:inline-flex; align-items:center; justify-content:center; gap:10px; min-height:46px; padding:0 24px; border-radius:7px; border:1px solid var(--border); text-decoration:none; text-transform:uppercase; letter-spacing:.08em; font-family:Cinzel,Georgia,serif; font-weight:700; font-size:.82rem; transition:transform .18s ease, border-color .18s ease, box-shadow .18s ease, background .18s ease; }
.button:hover,.button:focus-visible { transform:translateY(-2px); border-color:rgba(255,130,59,.9); }
.button-primary { color:#fff3e8; background:linear-gradient(180deg,#7e2f0f,#43190c); border-color:#da6a2e; box-shadow:inset 0 0 0 1px rgba(255,164,82,.2), 0 0 24px rgba(255,83,17,.24); }
.button-primary:hover,.button-primary:focus-visible { box-shadow:inset 0 0 0 1px rgba(255,190,120,.32), 0 0 36px rgba(255,90,18,.42); }
.button-dark { background:linear-gradient(180deg,#1a1d21,#101215); color:#eee7dc; box-shadow:inset 0 1px 0 rgba(255,255,255,.04); }
.button-large { min-height:54px; padding-inline:30px; }
.button-hero { min-height:68px; min-width:min(100%, 280px); padding-inline:36px; font-size:1.05rem; letter-spacing:.1em; box-shadow:inset 0 0 0 1px rgba(255,164,82,.28), 0 0 36px rgba(255,83,17,.42); }
.button-hero:hover,.button-hero:focus-visible { box-shadow:inset 0 0 0 1px rgba(255,190,120,.4), 0 0 48px rgba(255,90,18,.55); }
.header-cta { min-width:168px; }

.hero { min-height:690px; position:relative; border-bottom:1px solid rgba(181,94,43,.55); overflow:hidden; background:#060708; }
.hero::before { content:""; position:absolute; inset:0; background:linear-gradient(90deg,rgba(5,6,7,.97) 0%,rgba(5,6,7,.91) 24%,rgba(5,6,7,.30) 61%,rgba(5,6,7,.10) 100%); z-index:1; }
.hero::after { content:""; position:absolute; inset:0; background:url('public/assets/decor/ember-specks.svg') center/cover no-repeat; opacity:.42; z-index:1; mix-blend-mode:screen; pointer-events:none; }
.hero-media { position:absolute; inset:0 0 0 0; z-index:0; }
.hero-media img { width:100%; height:100%; object-fit:cover; object-position:center center; filter:saturate(.92) contrast(1.04); }
.hero-grid { min-height:690px; display:grid; grid-template-columns:minmax(0,580px) 1fr; align-items:center; }
.hero-copy { padding:90px 0 96px; position:relative; z-index:3; }
.eyebrow { margin:0 0 14px; color:#d29a67; text-transform:uppercase; letter-spacing:.16em; font-size:.72rem; font-weight:700; }
.hero h1 { margin:0; max-width:650px; font-family:Cinzel,Georgia,serif; font-size:clamp(3rem,5.4vw,5.45rem); line-height:.96; letter-spacing:-.035em; text-wrap:balance; text-shadow:0 4px 30px rgba(0,0,0,.8); }
.hero h1 span { display:block; color:#ff9a45; text-shadow:0 0 24px rgba(255,105,28,.22),0 4px 30px #000; }
.hero-lede { max-width:620px; color:#d8d2c8; font-size:1.07rem; margin:26px 0 30px; }
.hero-actions { display:flex; flex-wrap:wrap; gap:14px; }
.server-card { margin-top:22px; display:inline-flex; align-items:center; gap:13px; min-width:280px; padding:14px 18px; background:rgba(10,12,14,.85); border:1px solid rgba(181,99,48,.6); border-radius:6px; box-shadow:var(--shadow); }
.server-card strong,.server-card small { display:block; }
.server-card strong { font-family:Cinzel,Georgia,serif; font-size:.92rem; }
.server-card small { color:#98938a; margin-top:2px; font-size:.74rem; }
.status-dot { width:11px; height:11px; border-radius:50%; background:#28dd74; box-shadow:0 0 16px rgba(40,221,116,.8); }
/* UAT fix: the decorative pixel character sat flush against the left viewport edge
   and read as an accidental screenshot crop. Hidden at desktop; already hidden ≤820px. */
.hero-character { display:none; }
.hero-character img { width:100%; image-rendering:pixelated; }

.section { position:relative; padding:78px 0; background:#0b0c0e; }
.feature-section::before,.final-cta::before { content:""; position:absolute; inset:0; background:url('public/assets/decor/stone-noise.svg') center/520px auto; opacity:.31; pointer-events:none; }
.section-heading h2 { font-family:Cinzel,Georgia,serif; text-transform:uppercase; letter-spacing:.13em; font-size:clamp(1.8rem,2.8vw,2.8rem); margin:0; }
.section-heading p { color:#aaa398; text-transform:uppercase; letter-spacing:.22em; font-size:.71rem; margin:9px 0 0; }
.centered { text-align:center; }
.divider { display:block; width:min(700px,80vw); height:24px; margin:0 auto 6px; background:url('public/assets/decor/section-divider.svg') center/contain no-repeat; }
.feature-grid { margin-top:34px; display:grid; grid-template-columns:repeat(4,1fr); gap:16px; }
.feature-card { position:relative; background:linear-gradient(180deg,rgba(21,23,26,.98),rgba(14,16,18,.98)); border:1px solid rgba(178,94,43,.62); border-radius:8px; overflow:hidden; box-shadow:0 18px 44px rgba(0,0,0,.28); transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease; }
.feature-card:hover { transform:translateY(-4px); border-color:rgba(231,119,53,.86); box-shadow:0 22px 54px rgba(0,0,0,.38),0 0 22px rgba(255,92,24,.08); }
.feature-title { display:flex; align-items:center; gap:11px; padding:17px 17px 13px; min-height:63px; }
.feature-title h3 { margin:0; font-family:Cinzel,Georgia,serif; font-size:.92rem; letter-spacing:.02em; }
.feature-icon { color:#e08b4a; font-size:1.34rem; }
.feature-image { aspect-ratio:16/10; overflow:hidden; border-top:1px solid rgba(255,255,255,.035); border-bottom:1px solid rgba(161,83,39,.34); background:#08090a; }
.feature-image img { width:100%; height:100%; object-fit:cover; object-position:center; transition:transform .28s ease,filter .28s ease; }
.feature-card:hover .feature-image img { transform:scale(1.025); filter:contrast(1.03) saturate(1.03); }
.feature-card p { margin:0; padding:17px 18px 23px; color:#bdb5aa; font-size:.91rem; }

.news-section { min-height:610px; overflow:hidden; background:#090a0c; }

.showcase-section { padding-top:70px; }
.showcase-frame { position:relative; margin:38px 0 0; border:1px solid rgba(178,94,43,.62); border-radius:8px; overflow:hidden; box-shadow:0 24px 60px rgba(0,0,0,.4); background:#08090a; }
.showcase-frame img { width:100%; height:auto; aspect-ratio:16/7; object-fit:cover; object-position:center 42%; filter:saturate(.95) contrast(1.03); }
.gameplay-lead img { aspect-ratio:16/9; object-position:center 48%; }
.showcase-overlay { position:absolute; inset:0; background:linear-gradient(180deg,rgba(6,7,8,.18) 0%,rgba(6,7,8,.05) 45%,rgba(6,7,8,.88) 100%),linear-gradient(90deg,rgba(6,7,8,.45) 0%,rgba(6,7,8,0) 40%); pointer-events:none; }
.showcase-caption { position:absolute; left:0; right:0; bottom:0; padding:26px 30px; display:flex; align-items:flex-end; justify-content:space-between; gap:24px; flex-wrap:wrap; }
.showcase-caption p { margin:0; max-width:56ch; color:#e4ddd2; font-size:.98rem; text-shadow:0 2px 14px rgba(0,0,0,.9); }
.gameplay-grid { margin-top:16px; display:grid; grid-template-columns:repeat(3,1fr); gap:16px; }
.gameplay-tile { margin:0; background:linear-gradient(180deg,rgba(21,23,26,.98),rgba(14,16,18,.98)); border:1px solid rgba(178,94,43,.62); border-radius:8px; overflow:hidden; box-shadow:0 18px 44px rgba(0,0,0,.28); }
.gameplay-tile img { width:100%; height:auto; aspect-ratio:16/10; object-fit:cover; object-position:center; filter:saturate(.95) contrast(1.03); }
.gameplay-tile figcaption { padding:12px 14px 14px; color:#d8d1c5; font-family:Cinzel,Georgia,serif; font-size:.78rem; letter-spacing:.06em; text-transform:uppercase; }

.news-section { min-height:610px; overflow:hidden; background:#090a0c; }
.story-bg { position:absolute; inset:0; z-index:0; }
.story-bg::after { content:""; position:absolute; inset:0; background:linear-gradient(90deg,rgba(7,8,10,.99) 0%,rgba(7,8,10,.96) 38%,rgba(7,8,10,.66) 67%,rgba(7,8,10,.86) 100%); }
.story-bg img { width:100%; height:100%; object-fit:cover; object-position:center 45%; filter:blur(1px) saturate(.65); transform:scale(1.025); }
.story-grid { display:grid; grid-template-columns:minmax(0,1.12fr) minmax(350px,.88fr); gap:74px; align-items:center; }
.compact h2 { margin-top:3px; }
.news-card { display:grid; grid-template-columns:180px 1fr; gap:18px; padding:10px; margin-top:14px; background:rgba(16,18,21,.91); border:1px solid rgba(161,87,44,.48); border-radius:7px; box-shadow:0 16px 44px rgba(0,0,0,.24); }
.news-card img { width:180px; height:112px; object-fit:cover; border-radius:4px; }
.news-card span { color:#d98a4d; font-size:.72rem; letter-spacing:.08em; text-transform:uppercase; }
.news-card h3 { font-family:Cinzel,Georgia,serif; font-size:1.05rem; margin:4px 0 5px; }
.news-card p { margin:0; color:#aaa59d; font-size:.84rem; }
.studio-note { max-width:500px; justify-self:end; padding:26px 0 22px 26px; border-left:1px solid rgba(196,107,55,.44); }
.quote-mark { display:block; color:#dc8d4d; font-family:Georgia,serif; font-size:4rem; line-height:.65; margin-bottom:14px; }
.studio-note h2 { font-family:Cinzel,Georgia,serif; font-size:clamp(1.55rem,2.5vw,2.5rem); line-height:1.15; margin:10px 0 18px; }
.studio-note p:not(.eyebrow) { color:#b8b1a7; max-width:44ch; }
.studio-note small { color:#d69a64; font-family:Cinzel,Georgia,serif; letter-spacing:.12em; text-transform:uppercase; }

.final-cta { padding:64px 0 58px; border-top:1px solid rgba(170,89,43,.45); border-bottom:1px solid rgba(170,89,43,.38); background:#0b0c0e; }
.cta-grid { max-width:980px; margin:26px auto 0; display:grid; grid-template-columns:repeat(3,1fr); gap:14px; }
.cta-grid-alpha { max-width:1100px; grid-template-columns:repeat(4,1fr); }
.cta-button { min-height:56px; font-size:.8rem; }

.site-footer { position:relative; background:#07080a; padding:20px 0 26px; }
.site-footer::before { content:""; position:absolute; inset:0; background:url('public/assets/decor/stone-noise.svg') center/540px auto; opacity:.18; }
.footer-inner { display:grid; grid-template-columns:1fr 240px 1fr; gap:26px; align-items:center; color:#837e76; font-size:.7rem; }
.footer-inner img { width:220px; justify-self:center; }
.footer-inner p { margin:0; }
.footer-inner p:last-child { text-align:right; text-transform:uppercase; letter-spacing:.17em; }

.reveal { opacity:0; transform:translateY(18px); transition:opacity .6s ease, transform .6s ease; }
.reveal.is-visible { opacity:1; transform:none; }

.guide-shell { max-width:860px; }
.guide-panel { margin-top:28px; padding:28px 30px 32px; background:rgba(16,18,21,.94); border:1px solid rgba(161,87,44,.48); border-radius:7px; }
.guide-panel h2 { font-family:Cinzel,Georgia,serif; font-size:1.35rem; letter-spacing:.06em; text-transform:uppercase; margin:0 0 16px; }
.guide-steps { margin:0 0 22px; padding-left:22px; color:#b9b2a7; }
.guide-steps li { margin:0 0 10px; }
.guide-steps a { color:#e0a06a; }

.footer-links { display:flex; gap:16px; justify-content:center; flex-wrap:wrap; margin-top:16px; position:relative; z-index:2; }
.footer-links a { color:#a49e94; text-decoration:none; text-transform:uppercase; letter-spacing:.1em; font-size:.68rem; font-family:Cinzel,Georgia,serif; transition:color .18s ease; }
.footer-links a:hover,.footer-links a:focus-visible { color:#f0e9de; }

/* Utility pages (wiki coming soon, 404) */
.utility-main { min-height:calc(100vh - 76px - 140px); display:grid; place-items:center; padding:70px 0; position:relative; z-index:2; }
.utility-main::before { content:""; position:fixed; inset:0; z-index:0; background:url('public/assets/decor/stone-noise.svg') center/520px auto; opacity:.22; pointer-events:none; }
.utility-panel { position:relative; z-index:2; max-width:640px; margin-inline:auto; text-align:center; padding:54px 44px 50px; background:linear-gradient(180deg,rgba(19,21,24,.94),rgba(13,15,17,.94)); border:1px solid rgba(178,94,43,.62); border-radius:8px; box-shadow:0 28px 80px rgba(0,0,0,.5); }
.utility-panel .divider { margin-bottom:2px; }
.utility-panel .eyebrow { color:#d98a4d; }
.utility-panel h1 { font-family:Cinzel,Georgia,serif; font-size:clamp(2rem,4.4vw,3.1rem); letter-spacing:.06em; text-transform:uppercase; margin:6px 0 10px; }
.utility-lede { color:#ff9a45; font-family:Cinzel,Georgia,serif; letter-spacing:.08em; margin:0 0 16px; }
.utility-panel > p:not(.eyebrow):not(.utility-lede) { color:#b9b2a7; margin:0 auto 26px; max-width:46ch; }
.utility-actions { justify-content:center; }

.news-viewall { display:inline-flex; align-items:center; gap:6px; margin-top:20px; color:#e0a06a; text-decoration:none; text-transform:uppercase; letter-spacing:.12em; font-family:Cinzel,Georgia,serif; font-size:.76rem; font-weight:700; transition:color .18s ease; }
.news-viewall:hover,.news-viewall:focus-visible { color:#ffd9b3; }
.news-readmore { display:inline-block; margin-top:6px; color:#d98a4d; font-size:.72rem; text-transform:uppercase; letter-spacing:.1em; font-weight:600; text-decoration:none; }
.news-card a.news-card-link { display:contents; text-decoration:none; }
.news-card:hover .news-readmore, .news-card a.news-card-link:focus-visible ~ div .news-readmore { color:#ffb066; }
.news-card a.news-card-link:focus-visible { outline:none; }
.news-card:has(a.news-card-link:focus-visible) { outline:2px solid #ff8c3f; outline-offset:3px; }

.news-main { position:relative; z-index:2; padding:60px 0 70px; min-height:calc(100vh - 76px - 140px); }
.news-main::before { content:""; position:fixed; inset:0; z-index:0; background:url('public/assets/decor/stone-noise.svg') center/520px auto; opacity:.2; pointer-events:none; }
.news-archive { margin-top:30px; display:grid; gap:16px; max-width:860px; }
.news-archive .news-card { margin-top:0; background:rgba(16,18,21,.94); }
.news-error { margin-top:30px; max-width:560px; padding:28px; text-align:center; background:rgba(16,18,21,.94); border:1px solid rgba(161,87,44,.48); border-radius:7px; }
.news-error p { color:#b9b2a7; margin:0 0 16px; }
.news-page-actions { margin-top:44px; display:flex; gap:14px; flex-wrap:wrap; }

.news-article { max-width:860px; margin-top:30px; background:rgba(16,18,21,.94); border:1px solid rgba(161,87,44,.48); border-radius:7px; padding:30px 34px 36px; }
.news-article[hidden] { display:none; }
.news-backlink { display:inline-block; color:#d98a4d; text-decoration:none; font-size:.78rem; text-transform:uppercase; letter-spacing:.1em; margin-bottom:18px; }
.news-backlink:hover,.news-backlink:focus-visible { color:#ffb066; }
.news-article-head time { color:#d98a4d; font-size:.74rem; letter-spacing:.1em; text-transform:uppercase; }
.news-article-head h2 { font-family:Cinzel,Georgia,serif; font-size:clamp(1.5rem,3vw,2.2rem); margin:8px 0 18px; }
.news-article img { width:100%; height:auto; aspect-ratio:16/9; object-fit:cover; border-radius:4px; border:1px solid rgba(255,255,255,.05); }
.news-article-body { margin-top:20px; }
.news-article-body p { color:#b9b2a7; line-height:1.7; margin:0 0 14px; }
.news-article-missing { color:#b9b2a7; margin:10px 0 20px; }

:focus-visible { outline:2px solid #ff8c3f; outline-offset:3px; }
@media (max-width: 1200px) {
  .nav-shell { grid-template-columns:1fr auto auto; min-height:68px; gap:12px; }
  .brand img { width:168px; }
  .nav-toggle { display:block; order:2; }
  .header-cta { order:3; min-width:auto; padding-inline:15px; font-size:.69rem; }
  .site-nav { display:none; position:absolute; top:68px; left:15px; right:15px; padding:12px; background:rgba(8,9,11,.98); border:1px solid rgba(181,96,44,.5); border-radius:8px; flex-direction:column; align-items:stretch; gap:0; box-shadow:0 22px 60px rgba(0,0,0,.56); }
  .site-nav.is-open { display:flex; }
  .site-nav a { padding:13px 10px; font-size:.85rem; }
  .site-nav a::after { display:none; }
  .cta-grid-alpha { grid-template-columns:repeat(2,1fr); }
}
@media (max-width: 1050px) {
  .feature-grid { grid-template-columns:repeat(2,1fr); }
  .gameplay-grid { grid-template-columns:repeat(2,1fr); }
}
@media (max-width: 820px) {
  :root { --shell:min(100% - 30px, 720px); }
  .site-header { position:sticky; }
  .showcase-frame img { aspect-ratio:16/10; }
  .nav-shell { grid-template-columns:1fr auto auto; min-height:68px; }
  .brand img { width:168px; }
  .nav-toggle { display:block; order:2; }
  .header-cta { order:3; min-width:auto; padding-inline:15px; font-size:.69rem; }
  .site-nav { display:none; position:absolute; top:68px; left:15px; right:15px; padding:12px; background:rgba(8,9,11,.98); border:1px solid rgba(181,96,44,.5); border-radius:8px; flex-direction:column; align-items:stretch; gap:0; box-shadow:0 22px 60px rgba(0,0,0,.56); }
  .site-nav.is-open { display:flex; }
  .site-nav a { padding:13px 10px; font-size:.85rem; }
  .site-nav a::after { display:none; }
  .hero,.hero-grid { min-height:650px; }
  .hero::before { background:linear-gradient(180deg,rgba(5,6,7,.75) 0%,rgba(5,6,7,.93) 60%,rgba(5,6,7,.99) 100%); }
  .hero-media img { object-position:55% 50%; }
  .hero-grid { grid-template-columns:1fr; align-items:end; }
  .hero-copy { padding:105px 0 75px; max-width:620px; margin-inline:auto; text-align:center; }
  .hero-actions { justify-content:center; }
  .server-card { margin-inline:auto; }
  .hero h1 { font-size:clamp(2.85rem,10vw,4.7rem); }
  .hero-character { display:none; }
  .story-grid { grid-template-columns:1fr; gap:50px; }
  .studio-note { justify-self:start; }
  .story-bg::after { background:rgba(7,8,10,.90); }
  .cta-grid,.cta-grid-alpha { grid-template-columns:1fr; }
  .footer-inner { display:flex; flex-direction:column; align-items:center; gap:14px; text-align:center; }
  .footer-inner p:last-child { text-align:center; }
  .utility-panel { padding:40px 24px 38px; }
}
@media (max-width: 560px) {
  :root { --shell:min(100% - 24px, 520px); }
  .header-cta { display:none; }
  .nav-shell { grid-template-columns:1fr auto auto; }
  .nav-toggle { order:2; }
  .header-cta { order:3; display:inline-flex; min-width:auto; padding-inline:13px; font-size:.66rem; min-height:38px; }
  .showcase-frame img { aspect-ratio:4/3; object-position:60% center; }
  .showcase-caption { padding:18px; }
  .hero,.hero-grid { min-height:0; }
  .hero-grid { align-items:start; min-width:0; width:100%; max-width:100%; }
  .hero-copy { min-width:0; max-width:100%; }
  .hero-media img { object-position:52% center; }
  .hero-copy { padding:clamp(10px, 1.8svh, 18px) 0 clamp(32px, 6svh, 52px); }
  .hero-copy > *:first-child { margin-top:0; }
  .hero-lede { font-size:.96rem; }
  .hero-actions { display:grid; grid-template-columns:1fr; width:min(100%,320px); max-width:320px; margin-inline:auto; }
  .server-card { min-width:0; width:min(100%,320px); }
  .section { padding:60px 0; }
  .feature-grid { grid-template-columns:1fr; }
  .gameplay-grid { grid-template-columns:repeat(2,1fr); gap:10px; }
  .gameplay-tile figcaption { font-size:.68rem; padding:10px 11px 12px; }
  .news-card { grid-template-columns:110px 1fr; gap:12px; }
  .news-card img { width:110px; height:100%; min-height:110px; }
  .news-card p { font-size:.78rem; }
  .news-article { padding:22px 18px 26px; }
  .news-page-actions { flex-direction:column; align-items:stretch; max-width:320px; }
  .studio-note { padding-left:18px; }
  .section-heading h2 { letter-spacing:.08em; }
}
@media (max-width: 360px) {
  .brand img { width:132px; }
  .header-cta { padding-inline:11px; font-size:.62rem; }
  .hero h1 { font-size:clamp(2.1rem,10.5vw,4.7rem); }
}
@media (max-width: 820px) and (orientation: landscape) {
  .hero,.hero-grid { min-height:0; }
  .hero-copy { padding:96px 0 44px; }
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior:auto; }
  .reveal { opacity:1; transform:none; }
  *,*::before,*::after { transition-duration:.001ms !important; animation-duration:.001ms !important; animation-iteration-count:1 !important; }
}

/* Official Wiki */
.wiki-page { background:#08090b; }
.wiki-main { position:relative; z-index:2; padding:42px 0 72px; min-height:calc(100vh - 76px - 140px); }
.wiki-main::before { content:""; position:fixed; inset:0; z-index:0; background:url('public/assets/decor/stone-noise.svg') center/520px auto; opacity:.18; pointer-events:none; }
.wiki-shell { position:relative; z-index:2; }
.wiki-hero { text-align:center; margin-bottom:28px; }
.wiki-hero h1 { font-family:Cinzel,Georgia,serif; font-size:clamp(2rem,4.4vw,3.2rem); letter-spacing:.06em; text-transform:uppercase; margin:6px 0 10px; }
.wiki-lede { color:#b9b2a7; max-width:52ch; margin:0 auto 22px; }
.wiki-search { max-width:720px; margin:0 auto; }
.wiki-search input { width:100%; min-height:58px; padding:0 20px; border-radius:8px; border:1px solid rgba(178,94,43,.62); background:rgba(16,18,21,.94); color:#efe8dc; font-size:1.02rem; box-shadow:0 18px 44px rgba(0,0,0,.28); }
.wiki-search input::placeholder { color:#8d877d; }
.wiki-search input:focus { outline:2px solid #ff8c3f; outline-offset:3px; }
.wiki-meta { color:#8d877d; font-size:.78rem; margin:12px 0 0; letter-spacing:.04em; }
.wiki-cats { display:grid; grid-template-columns:repeat(4,1fr); gap:14px; margin:28px 0 24px; }
.wiki-cat { display:flex; flex-direction:column; gap:6px; padding:20px 18px 18px; text-decoration:none; background:linear-gradient(180deg,rgba(21,23,26,.98),rgba(14,16,18,.98)); border:1px solid rgba(178,94,43,.62); border-radius:8px; box-shadow:0 18px 44px rgba(0,0,0,.28); transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease; }
.wiki-cat:hover,.wiki-cat:focus-visible,.wiki-cat.is-active { transform:translateY(-3px); border-color:rgba(231,119,53,.86); box-shadow:0 22px 54px rgba(0,0,0,.38),0 0 22px rgba(255,92,24,.08); }
.wiki-cat-icon { color:#e08b4a; font-size:1.4rem; }
.wiki-cat strong { font-family:Cinzel,Georgia,serif; font-size:1rem; letter-spacing:.04em; }
.wiki-cat small { color:#aaa398; }
.wiki-view { background:rgba(16,18,21,.94); border:1px solid rgba(161,87,44,.48); border-radius:8px; padding:24px 24px 28px; min-height:280px; }
.wiki-view h2 { font-family:Cinzel,Georgia,serif; text-transform:uppercase; letter-spacing:.08em; font-size:1.35rem; margin:0 0 8px; }
.wiki-view h3 { font-family:Cinzel,Georgia,serif; font-size:1.08rem; margin:22px 0 10px; }
.wiki-back { display:inline-block; color:#d98a4d; text-decoration:none; font-size:.78rem; text-transform:uppercase; letter-spacing:.1em; margin-bottom:14px; }
.wiki-back:hover,.wiki-back:focus-visible { color:#ffb066; }
.wiki-note { color:#b9b2a7; font-size:.9rem; margin:0 0 16px; }
.wiki-grid { display:grid; gap:10px; }
.wiki-row { display:grid; grid-template-columns:48px 1fr auto; gap:12px; align-items:center; padding:10px 12px; text-decoration:none; background:rgba(10,12,14,.55); border:1px solid rgba(161,87,44,.28); border-radius:6px; color:inherit; }
.wiki-row:hover,.wiki-row:focus-visible { border-color:rgba(231,119,53,.7); background:rgba(18,14,12,.7); }
.wiki-row.no-icon { grid-template-columns:1fr auto; }
.wiki-ico { width:40px; height:40px; object-fit:contain; image-rendering:pixelated; background:#0a0b0d; border-radius:4px; border:1px solid rgba(255,255,255,.04); }
.wiki-ico.placeholder { display:grid; place-items:center; }
.wiki-ico.placeholder::after { content:""; width:14px; height:14px; border:1px solid rgba(184,98,47,.42); border-radius:2px; }
.wiki-detail-head .wiki-ico { width:72px; height:72px; }
.wiki-detail-head .wiki-ico.placeholder::after { width:22px; height:22px; }
.wiki-quality { margin:0 0 10px; padding-left:20px; color:#d8d1c5; }
.wiki-quality li { margin:0 0 6px; }
.wiki-row strong { display:block; }
.wiki-row span,.wiki-muted { color:#aaa398; font-size:.84rem; }
.wiki-table { width:100%; border-collapse:collapse; font-size:.92rem; }
.wiki-table th,.wiki-table td { text-align:left; padding:8px 10px; border-bottom:1px solid rgba(161,87,44,.22); vertical-align:top; }
.wiki-table th { color:#d29a67; font-size:.74rem; letter-spacing:.08em; text-transform:uppercase; }
.wiki-table a { color:#e0a06a; text-decoration:none; }
.wiki-table a:hover,.wiki-table a:focus-visible { color:#ffd9b3; }
.wiki-detail-head { display:grid; grid-template-columns:72px 1fr; gap:16px; align-items:center; margin-bottom:16px; }
.wiki-detail-head img { width:72px; height:72px; object-fit:contain; image-rendering:pixelated; background:#0a0b0d; border:1px solid rgba(178,94,43,.4); border-radius:6px; }
.wiki-pills { display:flex; flex-wrap:wrap; gap:8px; margin:10px 0 16px; }
.wiki-pill { padding:4px 10px; border-radius:999px; border:1px solid rgba(178,94,43,.45); color:#d8d1c5; font-size:.76rem; letter-spacing:.04em; text-transform:uppercase; }
.wiki-empty { color:#b9b2a7; padding:28px 8px; text-align:center; }
.wiki-filters { display:flex; flex-wrap:wrap; gap:8px; margin:0 0 14px; }
.wiki-filters button { min-height:36px; padding:0 12px; border-radius:6px; border:1px solid rgba(178,94,43,.4); background:#121417; color:#efe8dc; cursor:pointer; }
.wiki-filters button.is-on { border-color:#da6a2e; background:linear-gradient(180deg,#7e2f0f,#43190c); }
@media (max-width: 1050px) {
  .wiki-cats { grid-template-columns:repeat(2,1fr); }
}
@media (max-width: 560px) {
  .wiki-view { padding:18px 14px 22px; }
  .wiki-row { grid-template-columns:40px 1fr; }
  .wiki-row.no-icon { grid-template-columns:1fr; }
  .wiki-row > .wiki-muted { display:none; }
  .wiki-detail-head { grid-template-columns:56px 1fr; gap:12px; }
  .wiki-detail-head .wiki-ico { width:56px; height:56px; }
  .wiki-table { display:block; overflow-x:auto; }
}
