/* ============================================================
   Mannette Play · style.css
   Palette translated from DESIGN.md (Darkroom Editorial):
   warm-dark canvas, ember accent, warm-cream type.
   ============================================================ */

:root {
  --dk9r-bg: #100904;   /* walnut-shadow canvas   */
  --dk9r-c1: #dc5000;   /* ember — primary accent */
  --dk9r-c2: #cf9235;   /* warm gold — secondary  */
  --dk9r-c3: #ffedd7;   /* warm cream — highlight  */
  --dk9r-ct: #17100a;   /* dark text on light chips */
  --dk9r-tx: #ede0cd;   /* warm cream body text   */
  --dk9r-cd: #1e140c;   /* elevated card surface  */
  --dk9r-br: rgba(255,237,215,.13);
  --dk9r-r:  12px;
}

* { margin:0; padding:0; box-sizing:border-box; }

html { scroll-behavior:smooth; }
html, body { overflow-x:hidden; }   /* clip decorative glows at the viewport edge, never mid-page */

body {
  font-family:'Inter', ui-sans-serif, system-ui, -apple-system, sans-serif;
  background:var(--dk9r-bg);
  color:var(--dk9r-tx);
  line-height:1.6;
  -webkit-font-smoothing:antialiased;
  padding-top:64px;
}

/* offset the whole scrolling column past the fixed left sidebar;
   header, sidebar and mobile-nav are fixed and ignore this padding */
@media (min-width:1025px) { body { padding-left:220px; } }

h1,h2,h3,h4,.dk9r-lg b {
  font-family:'Archivo', 'Inter', sans-serif;
  letter-spacing:-.01em;
}

img { max-width:100%; display:block; }
a { color:inherit; }

/* ---------------- HEADER ---------------- */
.dk9r-hdr    { position:fixed; top:0; left:0; right:0; height:64px; z-index:100;
               background:var(--dk9r-bg); border-bottom:1px solid var(--dk9r-br); }
.dk9r-hdr-in { display:flex; align-items:center; gap:1rem; padding:0 1.5rem; height:100%; }

.dk9r-lg     { display:flex; align-items:center; gap:.6rem; text-decoration:none; color:var(--dk9r-tx); }
.dk9r-lg svg { width:30px; height:30px; flex-shrink:0; }
.dk9r-lg b   { font-size:1.02rem; font-weight:800; letter-spacing:.14em; text-transform:uppercase; }
.dk9r-lg b span { color:var(--dk9r-c1); }

.dk9r-nav    { display:flex; gap:.25rem; margin-left:auto; }
.dk9r-nl     { padding:.45rem .7rem; font-size:.82rem; font-weight:600; text-decoration:none;
               color:var(--dk9r-tx); opacity:.72; border-radius:8px; transition:all .18s; }
.dk9r-nl:hover { opacity:1; background:rgba(255,237,215,.05); }
.dk9r-nl.active { opacity:1; color:var(--dk9r-c1); }

.dk9r-act    { display:flex; gap:.5rem; align-items:center; }

/* economy pill */
.dk9r-eco     { display:flex; align-items:center; gap:.5rem; text-decoration:none;
                padding:.3rem .75rem .3rem .35rem; border-radius:50px;
                border:1px solid var(--dk9r-br); background:var(--dk9r-cd); transition:border-color .2s; }
.dk9r-eco:hover { border-color:var(--dk9r-c1); }
.dk9r-eco-lvl { font-size:.6rem; font-weight:900; letter-spacing:.06em; text-transform:uppercase;
                padding:.2rem .5rem; border-radius:50px; color:var(--dk9r-c1);
                background:color-mix(in srgb, var(--dk9r-c1) 14%, transparent); }
.dk9r-eco-cr  { font-size:.74rem; color:var(--dk9r-tx); opacity:.75; white-space:nowrap; }
.dk9r-eco-cr b{ color:var(--dk9r-c3); font-weight:900; font-variant-numeric:tabular-nums; opacity:1; }

.dk9r-au { align-items:center; gap:.5rem; }

/* buttons */
.dk9r-btn      { font-family:inherit; font-weight:800; font-size:.8rem; letter-spacing:.02em;
                 padding:.55rem 1.05rem; border-radius:50px; cursor:pointer; border:1px solid transparent;
                 text-decoration:none; display:inline-flex; align-items:center; justify-content:center;
                 transition:transform .15s, background .2s, color .2s, border-color .2s; white-space:nowrap; }
.dk9r-btn:hover { transform:translateY(-1px); }
.dk9r-btn-cta  { background:var(--dk9r-c1); color:#fff; }
.dk9r-btn-cta:hover { background:#ff6317; }
.dk9r-btn-ol   { background:transparent; color:var(--dk9r-tx); border-color:var(--dk9r-br); }
.dk9r-btn-ol:hover { border-color:var(--dk9r-c1); color:var(--dk9r-c1); }

/* HBG-A: three bars → X, drawer from left */
.dk9r-hbg      { display:none; flex-direction:column; gap:5px; cursor:pointer;
                 border:none; background:none; padding:6px; }
.dk9r-hbg span { display:block; width:22px; height:2px; background:var(--dk9r-tx); border-radius:2px;
                 transition:transform .3s, opacity .2s, width .3s; }
.dk9r-hbg.open span:nth-child(1){ transform:translateY(7px) rotate(45deg); }
.dk9r-hbg.open span:nth-child(2){ opacity:0; }
.dk9r-hbg.open span:nth-child(3){ transform:translateY(-7px) rotate(-45deg); }

@media (max-width:768px) {
  .dk9r-hdr-in { justify-content:space-between; }
  .dk9r-hbg    { display:flex; }
  .dk9r-nav    { display:none; }
  .dk9r-act    { display:none; }
}

/* ---------------- SIDEBAR (A: left, border-right) ---------------- */
.dk9r-sb  { position:fixed; top:64px; left:0; width:220px; height:calc(100vh - 64px);
            background:var(--dk9r-cd); border-right:1px solid var(--dk9r-br);
            overflow-y:auto; z-index:90; display:flex; flex-direction:column;
            transition:transform .3s, width .3s; }
.dk9r-sb-nav { padding:.75rem 0; }
.dk9r-sbl { display:flex; align-items:center; gap:.75rem; padding:.65rem 1.25rem;
            color:var(--dk9r-tx); font-weight:600; font-size:.88rem;
            text-decoration:none; border-left:3px solid transparent; transition:all .2s; }
.dk9r-sbl:hover, .dk9r-sbl.active { color:var(--dk9r-c1); background:rgba(255,237,215,.04);
            border-left-color:var(--dk9r-c1); }
.dk9r-sbf { margin-top:auto; padding:1rem; border-top:1px solid var(--dk9r-br);
            display:flex; flex-direction:column; gap:.4rem; }
.dk9r-sbf a { font-size:.75rem; color:var(--dk9r-tx); opacity:.6; text-decoration:none; }
.dk9r-sbf a:hover { opacity:1; color:var(--dk9r-c1); }
.dk9r-sbo { position:fixed; inset:0; background:rgba(0,0,0,.6); z-index:140; display:none; top:64px; }
.dk9r-sbo.show { display:block; }

.dk9r-sb-auth { display:none; padding:.75rem 1rem; border-top:1px solid var(--dk9r-br);
                gap:.5rem; flex-direction:column; }
.dk9r-sb-auth .dk9r-btn { width:100%; }
#sidebar-auth-guest { display:flex; flex-direction:column; gap:.5rem; }
#sidebar-auth-user  { flex-direction:column; gap:.5rem; }

/* main content column (offset handled by body padding on desktop) */
.dk9r-main { min-height:calc(100vh - 64px); }

@media (max-width:1024px) {
  .dk9r-sb      { transform:translateX(-100%); top:64px !important;
                  height:calc(100vh - 64px) !important; z-index:150; }
  .dk9r-sb.open { transform:translateX(0); }
  .dk9r-sb-auth { display:flex; }
  .dk9r-main    { margin-left:0 !important; margin-right:0 !important; }
}

/* ---------------- MOBILE BOTTOM NAV ---------------- */
.dk9r-mn { display:none; position:fixed; bottom:0; left:0; right:0; height:60px;
           background:var(--dk9r-cd); border-top:1px solid var(--dk9r-br); z-index:160; }
.dk9r-mni { flex:1; background:none; border:none; cursor:pointer; text-decoration:none;
            display:flex; align-items:center; justify-content:center; gap:.2rem;
            font-family:inherit; font-size:.72rem; font-weight:700; color:var(--dk9r-tx); opacity:.8; }
.dk9r-mni:hover { opacity:1; color:var(--dk9r-c1); }
@media (max-width:1024px) {
  .dk9r-mn { display:flex; align-items:center; justify-content:space-around; }
  body { padding-bottom:60px; }
}

/* ---------------- SECTION SHELL ---------------- */
.dk9r-sec  { padding:3.5rem 2rem; max-width:1200px; margin:0 auto; }
.dk9r-sec-h { display:flex; align-items:baseline; justify-content:space-between; gap:1rem;
              flex-wrap:wrap; margin-bottom:1.5rem; }
.dk9r-sec-h h2 { font-size:clamp(1.4rem,3vw,2rem); font-weight:800; color:var(--dk9r-tx); }
.dk9r-sec-h p  { font-size:.85rem; opacity:.6; max-width:520px; }
.dk9r-eyebrow  { font-size:.68rem; font-weight:900; letter-spacing:.16em; text-transform:uppercase;
                 color:var(--dk9r-c1); margin-bottom:.7rem; }

/* ---------------- HERO-E (minimal typographic) ---------------- */
.dk9r-hero { position:relative; z-index:0; padding:6rem 2rem 4.5rem; max-width:1100px; margin:0 auto; }
.dk9r-hero::before { content:''; position:absolute; z-index:-1; top:-25%; right:-45%; width:80%; height:135%;
                     background:radial-gradient(circle at 45% 45%, color-mix(in srgb,var(--dk9r-c1) 20%,transparent), transparent 62%);
                     pointer-events:none; }
.dk9r-hero-eyebrow { font-size:.72rem; font-weight:900; letter-spacing:.2em; text-transform:uppercase;
                     color:var(--dk9r-c1); margin-bottom:1.2rem; }
.dk9r-hero h1 { font-size:clamp(2.6rem,9vw,6rem); line-height:.96; font-weight:800; letter-spacing:-.02em;
                color:var(--dk9r-tx); text-transform:uppercase; max-width:15ch; }
.dk9r-hero h1 em { font-style:normal; color:var(--dk9r-c1); }
.dk9r-hero-lede { margin-top:1.6rem; font-size:clamp(1rem,2vw,1.2rem); line-height:1.6; max-width:44ch;
                  opacity:.78; }
.dk9r-hero-cta  { margin-top:2rem; display:flex; gap:.8rem; flex-wrap:wrap; }
.dk9r-hero-cta .dk9r-btn { padding:.8rem 1.6rem; font-size:.9rem; }
.dk9r-hero-note { margin-top:1.4rem; font-size:.72rem; opacity:.45; letter-spacing:.02em; }

/* ---------------- CAROUSEL-E (editorial numbered) + CARD-E ---------------- */
.dk9r-cr    { display:flex; align-items:center; gap:.5rem; }
.dk9r-cr-vp { overflow:hidden; flex:1; }
.dk9r-cr-track { display:flex; gap:16px; transition:transform .45s cubic-bezier(.22,1,.36,1); will-change:transform; }
.dk9r-crb   { flex-shrink:0; width:42px; height:42px; border-radius:50%; cursor:pointer;
              background:var(--dk9r-cd); border:1px solid var(--dk9r-br); color:var(--dk9r-tx);
              font-size:1.1rem; display:grid; place-items:center; transition:all .2s; }
.dk9r-crb:hover { border-color:var(--dk9r-c1); color:var(--dk9r-c1); }

.dk9r-gc   { position:relative; flex:0 0 180px; width:180px; cursor:pointer;
             background:var(--dk9r-cd); border:1px solid var(--dk9r-br); border-radius:var(--dk9r-r);
             overflow:hidden; transition:transform .2s, border-color .2s, box-shadow .2s; }
.dk9r-gc:hover, .dk9r-gc:focus-visible { transform:translateY(-4px); border-color:var(--dk9r-c1);
             box-shadow:0 10px 30px rgba(0,0,0,.4); outline:none; }
.dk9r-gc-num { position:absolute; top:2px; left:8px; z-index:2; font-family:'Archivo',sans-serif;
               font-size:3.4rem; font-weight:800; line-height:1; color:var(--dk9r-c3);
               opacity:.14; pointer-events:none; }
.dk9r-gct  { position:relative; aspect-ratio:3/4; overflow:hidden; background:var(--dk9r-bg); }
.dk9r-gct img { width:100%; height:100%; object-fit:cover; }
.dk9r-gct::after { content:''; position:absolute; inset:0; pointer-events:none;
                   background:linear-gradient(to top, rgba(16,9,4,.85), transparent 45%); }
.dk9r-gco  { position:absolute; inset:0; z-index:3; display:flex; align-items:center; justify-content:center;
             background:rgba(16,9,4,.5); opacity:0; transition:opacity .2s; }
.dk9r-gc:hover .dk9r-gco, .dk9r-gc:focus-within .dk9r-gco { opacity:1; }
.dk9r-gcp  { background:var(--dk9r-c1); color:#fff; border:none; font-family:inherit; font-weight:900;
             font-size:.72rem; letter-spacing:.06em; padding:.55rem 1rem; border-radius:50px; cursor:pointer; }
.dk9r-gci  { padding:.6rem .7rem .75rem; }

/* ---------------- GAMES GRID (games.html) ---------------- */
.dk9r-nb   { background:color-mix(in srgb,var(--dk9r-c1) 10%,var(--dk9r-cd)); border:1px solid var(--dk9r-br);
             border-radius:var(--dk9r-r); padding:.7rem 1rem; font-size:.76rem; font-weight:600;
             text-align:center; margin-bottom:1.25rem; color:var(--dk9r-tx); }
.dk9r-lobby-lede { font-size:.82rem; opacity:.65; margin-bottom:1.25rem; max-width:70ch; }
.dk9r-lobby-lede a { color:var(--dk9r-c1); font-weight:700; }
#gameSearch { width:100%; max-width:340px; padding:.7rem 1rem; margin-bottom:1.25rem;
              background:var(--dk9r-cd); border:1px solid var(--dk9r-br); border-radius:50px;
              color:var(--dk9r-tx); font-family:inherit; font-size:.85rem; }
#gameSearch:focus { outline:none; border-color:var(--dk9r-c1); }

.dk9r-cts  { display:flex; gap:.5rem; flex-wrap:wrap; margin-bottom:1.5rem; }
.dk9r-ct   { background:var(--dk9r-cd); border:1px solid var(--dk9r-br); border-radius:50px;
             padding:.45rem 1rem; font-family:inherit; font-size:.78rem; font-weight:700; cursor:pointer;
             color:var(--dk9r-tx); opacity:.75; transition:all .18s; }
.dk9r-ct:hover { opacity:1; }
.dk9r-ct.active { opacity:1; background:var(--dk9r-c1); color:#fff; border-color:var(--dk9r-c1); }

.dk9r-gg   { display:grid; grid-template-columns:repeat(auto-fill,minmax(170px,1fr)); gap:1rem; }
.dk9r-gg .dk9r-gc { flex:none; width:auto; }

/* ---------------- WORKS-D (big translucent number) ---------------- */
.dk9r-works { display:grid; grid-template-columns:repeat(3,1fr); gap:1.25rem; }
.dk9r-work  { position:relative; background:var(--dk9r-cd); border:1px solid var(--dk9r-br);
              border-radius:var(--dk9r-r); padding:2rem 1.5rem 1.75rem; overflow:hidden; }
.dk9r-work-n{ position:absolute; top:-1.2rem; right:.4rem; font-family:'Archivo',sans-serif;
              font-size:8rem; font-weight:800; line-height:1; color:var(--dk9r-c1); opacity:.08;
              pointer-events:none; }
.dk9r-work h3 { position:relative; font-size:1.1rem; font-weight:800; color:var(--dk9r-tx); margin-bottom:.5rem; }
.dk9r-work p  { position:relative; font-size:.85rem; line-height:1.65; opacity:.68; }
.dk9r-works-note { grid-column:1/-1; margin-top:.5rem; text-align:center; font-size:.72rem;
                   opacity:.5; border:1px dashed var(--dk9r-br); border-radius:var(--dk9r-r); padding:.9rem 1rem; }

/* ---------------- REVIEWS-C (one big + quote, dots) ---------------- */
.dk9r-rev   { position:relative; background:var(--dk9r-cd); border:1px solid var(--dk9r-br);
              border-radius:calc(var(--dk9r-r) * 1.5); padding:3rem 2.5rem 2.25rem; max-width:760px; margin:0 auto;
              overflow:hidden; }
.dk9r-rev::before { content:'\201C'; position:absolute; top:-1.5rem; left:1rem; font-family:'Archivo',serif;
              font-size:9rem; line-height:1; color:var(--dk9r-c1); opacity:.16; }
.dk9r-rev-item { display:none; }
.dk9r-rev-item.active { display:block; }
.dk9r-rev-item p { position:relative; font-size:clamp(1.05rem,2.4vw,1.4rem); line-height:1.6;
              color:var(--dk9r-tx); }
.dk9r-rev-who { margin-top:1.4rem; display:flex; align-items:center; gap:.75rem; }
.dk9r-rev-av  { width:40px; height:40px; border-radius:50%; flex-shrink:0; display:grid; place-items:center;
              background:color-mix(in srgb,var(--dk9r-c1) 20%,transparent); color:var(--dk9r-c1);
              font-weight:900; font-size:.9rem; }
.dk9r-rev-name{ font-weight:800; font-size:.9rem; }
.dk9r-rev-meta{ font-size:.72rem; opacity:.55; }
.dk9r-rev-stars { color:var(--dk9r-c2); letter-spacing:.1em; font-size:.85rem; margin-top:.2rem; }
.dk9r-rev-dots { display:flex; gap:.5rem; justify-content:center; margin-top:2rem; }
.dk9r-rev-dot { width:9px; height:9px; border-radius:50%; border:none; cursor:pointer; padding:0;
              background:var(--dk9r-br); transition:all .2s; }
.dk9r-rev-dot.active { background:var(--dk9r-c1); transform:scale(1.25); }

/* ---------------- BANNER-E (stats + CTA) ---------------- */
.dk9r-banner { background:linear-gradient(120deg, var(--dk9r-cd), color-mix(in srgb,var(--dk9r-c1) 12%,var(--dk9r-cd)));
               border:1px solid var(--dk9r-br); border-radius:calc(var(--dk9r-r) * 1.5);
               padding:2.5rem; display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:2rem; }
.dk9r-banner-txt h2 { font-size:clamp(1.4rem,3vw,2rem); font-weight:800; color:var(--dk9r-tx); }
.dk9r-banner-txt p  { font-size:.88rem; opacity:.7; margin-top:.4rem; max-width:46ch; }
.dk9r-stats  { display:flex; gap:2rem; flex-wrap:wrap; }
.dk9r-stat   { text-align:center; }
.dk9r-stat-v { font-family:'Archivo',sans-serif; font-size:2.2rem; font-weight:800; line-height:1;
               color:var(--dk9r-c3); font-variant-numeric:tabular-nums; }
.dk9r-stat-k { font-size:.68rem; letter-spacing:.1em; text-transform:uppercase; opacity:.55; margin-top:.35rem; }

/* ---------------- SEO TEXT ---------------- */
.dk9r-seo { background:var(--dk9r-cd); border-top:1px solid var(--dk9r-br); border-bottom:1px solid var(--dk9r-br); }
.dk9r-seo .dk9r-sec { padding-top:3rem; padding-bottom:3rem; }
.dk9r-seo h2 { font-size:1.35rem; font-weight:800; margin-bottom:1rem; color:var(--dk9r-tx); }
.dk9r-seo p  { font-size:.88rem; line-height:1.8; opacity:.68; max-width:75ch; margin-bottom:1rem; }
.dk9r-seo a  { color:var(--dk9r-c1); font-weight:700; }

/* ---------------- GENERIC PROSE / LEGAL PAGES ---------------- */
.dk9r-page { max-width:820px; margin:0 auto; padding:3rem 1.5rem 4.5rem; }
.dk9r-page h1 { font-size:clamp(1.9rem,5vw,2.8rem); font-weight:800; line-height:1.1; color:var(--dk9r-tx);
                margin-bottom:.6rem; }
.dk9r-page > p.dk9r-page-lede { font-size:1.02rem; opacity:.72; margin-bottom:2rem; line-height:1.7; }
.dk9r-page h2 { font-size:1.3rem; font-weight:800; margin:2.25rem 0 .75rem; color:var(--dk9r-tx); }
.dk9r-page h3 { font-size:1rem; font-weight:800; margin:1.5rem 0 .5rem; color:var(--dk9r-tx); }
.dk9r-page p  { font-size:.9rem; line-height:1.8; opacity:.78; margin-bottom:1rem; }
.dk9r-page ul { margin:0 0 1.25rem 1.2rem; }
.dk9r-page li { font-size:.9rem; line-height:1.75; opacity:.78; margin-bottom:.5rem; }
.dk9r-page a  { color:var(--dk9r-c1); font-weight:600; }
.dk9r-page strong { color:var(--dk9r-tx); }

.dk9r-callout { border:1px solid var(--dk9r-c1); border-radius:var(--dk9r-r);
                background:color-mix(in srgb,var(--dk9r-c1) 7%,transparent); padding:1.4rem 1.6rem; margin:1.75rem 0; }
.dk9r-callout p { opacity:.9; margin-bottom:.5rem; }
.dk9r-callout p:last-child { margin-bottom:0; }

.dk9r-disc { font-size:.7rem; letter-spacing:.04em; opacity:.5; margin-top:1rem; }

/* FAQ (details) */
.dk9r-faq details { border-bottom:1px solid var(--dk9r-br); }
.dk9r-faq summary { cursor:pointer; padding:1.05rem 0; font-weight:800; font-size:.92rem; color:var(--dk9r-tx);
                    list-style:none; display:flex; justify-content:space-between; gap:1rem; }
.dk9r-faq summary::-webkit-details-marker { display:none; }
.dk9r-faq summary::after { content:'+'; color:var(--dk9r-c1); font-weight:400; font-size:1.3rem; line-height:1; }
.dk9r-faq details[open] summary::after { content:'\2212'; }
.dk9r-faq details > p { padding:0 0 1.15rem; font-size:.87rem; line-height:1.75; opacity:.72; max-width:70ch; }

/* Contact form */
.dk9r-form { display:grid; gap:1rem; max-width:540px; margin-top:1.5rem; }
.dk9r-form label { font-size:.75rem; font-weight:700; letter-spacing:.05em; text-transform:uppercase;
                   opacity:.6; margin-bottom:.35rem; display:block; }
.dk9r-form input, .dk9r-form select, .dk9r-form textarea {
  width:100%; padding:.75rem 1rem; background:var(--dk9r-cd); border:1px solid var(--dk9r-br);
  border-radius:var(--dk9r-r); color:var(--dk9r-tx); font-family:inherit; font-size:.9rem; }
.dk9r-form input:focus, .dk9r-form select:focus, .dk9r-form textarea:focus { outline:none; border-color:var(--dk9r-c1); }
.dk9r-form textarea { min-height:130px; resize:vertical; }
.dk9r-form-success { display:none; margin-top:1rem; padding:.9rem 1.1rem; border-radius:var(--dk9r-r);
                     background:rgba(60,200,100,.12); border:1px solid rgba(60,200,100,.3); color:#4ade80; font-size:.85rem; }

.dk9r-contact-info { margin-top:2rem; font-size:.85rem; }
.dk9r-contact-info a { color:var(--dk9r-c1); font-weight:700; }

/* ---------------- FOOTER-B (3 cols) ---------------- */
.dk9r-ftr { background:var(--dk9r-cd); border-top:1px solid var(--dk9r-br); margin-top:2rem; }
.dk9r-ftr-in { max-width:1200px; margin:0 auto; padding:3rem 2rem 2rem;
               display:grid; grid-template-columns:1.4fr 1fr 1fr 1fr; gap:2rem; }
.dk9r-ftr-brand .dk9r-lg { margin-bottom:.9rem; }
.dk9r-ftr-brand p { font-size:.78rem; line-height:1.7; opacity:.6; max-width:34ch; }
.dk9r-ftr-col h4 { font-size:.72rem; letter-spacing:.12em; text-transform:uppercase; opacity:.55;
                   margin-bottom:.9rem; font-weight:800; }
.dk9r-ftr-col a  { display:block; font-size:.82rem; opacity:.72; text-decoration:none; margin-bottom:.55rem;
                   color:var(--dk9r-tx); }
.dk9r-ftr-col a:hover { opacity:1; color:var(--dk9r-c1); }
.dk9r-ftr-bottom { max-width:1200px; margin:0 auto; padding:1.5rem 2rem 2.5rem; border-top:1px solid var(--dk9r-br);
                   font-size:.72rem; line-height:1.7; opacity:.55; }
.dk9r-ftr-bottom strong { color:var(--dk9r-tx); opacity:.8; }

@media (max-width:860px) {
  .dk9r-ftr-in { grid-template-columns:1fr 1fr; }
  .dk9r-works  { grid-template-columns:1fr; }
  .dk9r-banner { flex-direction:column; align-items:flex-start; }
}

/* ---------------- RESPONSIVE ---------------- */
@media (max-width:1280px) { .dk9r-sec { padding-left:1.5rem; padding-right:1.5rem; } }
@media (max-width:480px) {
  body { font-size:15px; }
  .dk9r-gg { grid-template-columns:repeat(2,1fr); }
  .dk9r-gc { flex-basis:80vw; width:80vw; }
  .dk9r-gg .dk9r-gc { width:auto; flex:none; }
  .dk9r-form input, .dk9r-form select, .dk9r-form textarea, #gameSearch { min-height:48px; }
  .dk9r-ftr-in { grid-template-columns:1fr; }
  .dk9r-sec, .dk9r-hero { padding-left:1.1rem; padding-right:1.1rem; }
}
@media (max-width:375px) {
  .dk9r-hdr-in { padding:0 .75rem; }
  .dk9r-gg { gap:.5rem; }
}
