/* ==========================================================================
   GameVending showroom: shared visual system. Loaded last on every page.
   Colors stay in the accepted POS family: slate, teal, mint, sage and gold.

   How the system works
   - First screens are dark and cinematic. Reading sections stay light.
   - Logos and game art live in dark "cabinets"; pale backgrounds turn them
     into stickers, and a lit cabinet is the idea GameVending is named after.
   - Gold means "act". It is reserved for actions and one band per page.
   - The catalog's jade gallery and flame shader are owner-approved. Keep them.
   Rollback: remove this file's <link> and restore the Google Fonts link
   from backups/showroom-20261031.
   ========================================================================== */
/* Headlines keep their line breaks while the web font loads, so the page does not jump. */
@font-face{font-family:'GV Display Fallback';src:local('Impact');size-adjust:92.7%}
:root{
  --gv-slate:#132b34;
  --gv-slate-deep:#0c1f27;
  --gv-slate-raise:#1a3843;
  --gv-teal-ink:#0f6a61;
  --gv-mint:#8ddac6;
  --gv-sage:#edf2f1;
  --gv-sage-deep:#dfe9e5;
  --gv-paper:#f8faf9;
  --gv-gold:#f0c36b;
  --gv-gold-hi:#f9e0a6;
  --gv-gold-lo:#c08f3a;
  --gv-ink:#132b34;
  --gv-ink-soft:#3d555c;
  --gv-line:#c7d5d1;
  --gv-on-dark:#f4f8f6;
  --gv-on-dark-soft:#bdd0d2;
  --gv-line-dark:#ffffff1f;
  --gv-focus:#0f6a61;
  --gv-display:'Big Shoulders','GV Display Fallback','Arial Narrow',Impact,sans-serif;
  --gv-text:'DM Sans',system-ui,-apple-system,'Segoe UI',Arial,sans-serif;
  --gv-mono:'DM Mono',ui-monospace,SFMono-Regular,Menlo,monospace;
  --gv-header:76px;
  --gv-gutter:clamp(20px,5vw,72px);
  --gv-pad:max(var(--gv-gutter),calc((100vw - 1360px)/2));
  --gv-section:clamp(64px,8.4vw,120px);
}
@media(max-width:700px){:root{--gv-header:64px}}

/* --------------------------------------------------------------- Base ---- */
html,html:has(.brand-page),html:has(.catalog-page){scroll-padding-top:calc(var(--gv-header) + 20px)}
.gv{
  font-family:var(--gv-text);font-size:17px;line-height:1.6;
  color:var(--gv-ink);background:var(--gv-sage);
  -webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;
}
::selection{background:var(--gv-gold);color:var(--gv-slate)}
.gv :focus-visible{outline:3px solid var(--gv-focus);outline-offset:3px;border-radius:4px}
:is(.site-header,.gv-home-hero,.gv-platform-hero,.film-hero,.feature-hero,.world-film,.operator-story,.contact-copy,footer,.gv-platform-grid,.gv-other-grid){--gv-focus:var(--gv-gold)}
.skip{background:var(--gv-gold);color:var(--gv-slate);font-weight:700;border-radius:8px;padding:10px 16px}
.gv em{font-style:normal;color:var(--gv-teal-ink)}

/* --------------------------------------------------------------- Type ---- */
.gv :is(h1,h2){
  font-family:var(--gv-display);font-weight:800;text-transform:uppercase;
  letter-spacing:.004em;line-height:.93;text-wrap:balance;
}
.gv h1{font-size:clamp(56px,8vw,124px)}
.gv h2{font-size:clamp(44px,5.8vw,86px);color:inherit}
.gv h3{font-family:var(--gv-text);font-weight:700;letter-spacing:-.015em;line-height:1.2}

/* Every small label on the site, at a size people can read. */
.gv :is(.eyebrow,.contact-status,.gv-hero-footnote,.gv-cinema-label,.gv-cinema-caption>span,.spotlight-number,.feature-index,.chapter-number,.signature-caption,.film-footer>a,.feature-poster figcaption,.gv-platform-identity>span,.gd-showcase>p,.orion-showcase>p,.river-showcase>p,.fk-grid figcaption span,.gd-game-copy span,.related-game small,.gv-distribution-steps article>span){
  font-family:var(--gv-mono);font-size:12.5px;font-weight:500;letter-spacing:.05em;
  text-transform:uppercase;line-height:1.45;
}
.gv .eyebrow{color:var(--gv-teal-ink);margin:0 0 18px;display:block}

/* ---------------------------------------------------- Links and buttons ---- */
.gv .text-link{
  display:inline-flex;align-items:center;gap:8px;min-height:44px;
  font-size:16px;font-weight:600;color:var(--gv-teal-ink);
  text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:6px;
  transition:color .18s ease,text-decoration-color .18s ease;
}
.gv .text-link span{margin:0}
.gv :is(.gv-home-hero,.gv-platform-hero,.film-hero,.feature-hero,.world-film,.operator-story) .text-link{color:var(--gv-on-dark)}
.gv :is(.gv-home-hero,.gv-platform-hero,.film-hero,.feature-hero,.world-film,.operator-story) .text-link:hover{color:var(--gv-gold)}
.gv .text-link:hover{color:var(--gv-slate)}

.gv .button{
  min-height:52px;padding:14px 22px;gap:12px;justify-content:center;
  border-radius:12px;font-size:16px;font-weight:700;line-height:1.2;
}
/* Primary action: a lit selection key. */
.gv :is(.contact-cta,.button.gold){
  background:linear-gradient(180deg,var(--gv-gold-hi),var(--gv-gold) 62%);
  color:var(--gv-slate);border:0;border-radius:12px;font-weight:700;
  box-shadow:inset 0 1px 0 #ffffff99,inset 0 -2px 0 var(--gv-gold-lo),0 14px 26px -16px #0b1d24cc;
  transition:transform .16s ease,box-shadow .16s ease,filter .16s ease;
}
.gv :is(.contact-cta,.button.gold):hover{
  background:linear-gradient(180deg,#fdeabd,#f5cc7b 62%);color:var(--gv-slate);
  box-shadow:inset 0 1px 0 #ffffffb3,inset 0 -2px 0 var(--gv-gold-lo),0 18px 30px -14px #0b1d24e6;
  transform:translateY(-1px);
}
.gv :is(.contact-cta,.button.gold):active{
  transform:translateY(1px);
  box-shadow:inset 0 1px 0 #ffffff66,inset 0 1px 3px #a8791f80;
}
.gv .film-button{
  background:#0c1f2799;color:#fff;border:1px solid #ffffff57;
  -webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);
}
.gv .film-button:hover{background:#0c1f27d9;border-color:var(--gv-gold)}
.gv .film-time{border-left:1px solid #ffffff59;padding-left:12px;color:#dbe7e6;font-family:var(--gv-mono);font-size:13px;font-weight:400}

/* ------------------------------------------------------------- Header ---- */
.gv .site-header{
  position:sticky;top:0;z-index:30;height:var(--gv-header);
  padding:0 var(--gv-pad);gap:clamp(12px,2.2vw,32px);
  background:var(--gv-slate);color:var(--gv-on-dark);
  border-bottom:1px solid #ffffff14;box-shadow:none;
}
.site-header .brand.gv-brand,footer .brand.gv-brand{gap:11px}
.gv-brand .gv-symbol{
  display:flex;align-items:center;justify-content:center;flex-shrink:0;
  width:38px;height:38px;padding:0;border:0;border-radius:9px;
  background:linear-gradient(180deg,var(--gv-gold-hi),var(--gv-gold) 62%);
  color:var(--gv-slate);font-family:var(--gv-display);font-size:24px;font-weight:900;letter-spacing:.005em;line-height:1;
  box-shadow:inset 0 1px 0 #ffffff99,inset 0 -2px 0 var(--gv-gold-lo);
}
.gv-symbol span{color:inherit!important}
.site-header .brand.gv-brand .gv-wordmark,footer .brand.gv-brand .gv-wordmark{
  font-family:var(--gv-display);font-size:28px!important;font-weight:800;letter-spacing:.012em!important;
  line-height:1;text-transform:uppercase;color:var(--gv-on-dark);
}
.site-header .gv-brand .gv-wordmark>span,footer .gv-brand .gv-wordmark>span{color:var(--gv-gold)}
.site-header .gv-brand small{display:none}
.gv .site-header nav{gap:clamp(14px,2vw,28px);font-size:15px;font-weight:500;margin-left:auto}
.site-header nav a,.gv-games-menu summary{color:#dfe9e8;transition:color .15s ease}
.site-header nav a:hover,.gv-games-menu summary:hover{color:var(--gv-gold)}
.gv .site-header nav a[aria-current=page]{color:var(--gv-gold)}
.gv-games-menu summary{gap:6px;line-height:1}
.gv-games-menu summary>span{display:inline-block;color:inherit;width:7px;height:7px;margin:-3px 2px 0 2px;font-size:0;line-height:0;border-right:1.6px solid currentColor;border-bottom:1.6px solid currentColor;transform:rotate(45deg);transition:transform .18s ease}
.gv-games-menu[open] summary>span{transform:translateY(4px) rotate(225deg)}
.gv .site-header .contact-cta{min-height:44px;padding:9px 16px;font-size:15px;gap:8px}
.gv .site-header .nav-cta span{margin:0}

/* Platforms dropdown */
.gv .site-header .gv-games-dropdown{
  position:absolute;top:calc(100% + 16px);left:-20px;min-width:390px;padding:10px;gap:2px;
  background:var(--gv-slate-deep);border:1px solid #ffffff24;border-radius:14px;
  box-shadow:0 30px 60px -18px #000c;
}
.gv .site-header .gv-platform-menu a{
  display:flex;align-items:center;min-height:44px;padding:10px 12px;border-radius:9px;
  color:var(--gv-on-dark);font-size:15px;font-weight:500;
}
.gv .site-header .gv-platform-menu a:hover{background:#ffffff14;color:var(--gv-gold)}
.gv .site-header .gv-platform-menu a[aria-current=page]{background:#f0c36b1f;color:var(--gv-gold);font-weight:600;box-shadow:inset 3px 0 var(--gv-gold)}

/* ---------------------------------------------------- Section scaffolds ---- */
.gv .section{padding:var(--gv-section) var(--gv-pad)}
.gv .section-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:clamp(24px,5vw,80px);margin-bottom:clamp(28px,3.4vw,48px)}
.gv .section-heading>p{max-width:42ch;margin:0 0 6px;font-size:18px;line-height:1.55;color:var(--gv-ink-soft)}

/* Numbered rows: audiences on the home page, next steps on platform pages. */
.gv .gv-distribution-steps{display:block;margin-top:clamp(24px,3vw,44px);border-top:2px solid var(--gv-slate)}
.gv .gv-distribution-steps article{
  display:grid;grid-template-columns:190px minmax(0,1.1fr) minmax(0,1.2fr) 170px;
  gap:clamp(16px,3vw,44px);align-items:baseline;
  padding:clamp(26px,3vw,38px) 0;margin:0;
  background:none;border:0;border-bottom:1px solid var(--gv-line);border-radius:0;
}
.gv .gv-distribution-steps article>span{color:var(--gv-teal-ink)}
.gv .gv-distribution-steps h3{
  margin:0;font-family:var(--gv-display);font-size:clamp(32px,3.4vw,50px);font-weight:800;
  letter-spacing:.004em;line-height:.98;text-transform:uppercase;color:var(--gv-ink);
}
.gv .gv-distribution-steps p{margin:0;font-size:17px;line-height:1.6;color:var(--gv-ink-soft)}
.gv .gv-distribution-steps .text-link{margin:0;white-space:nowrap;justify-self:end}
.gv .gv-distribution-steps article>p:last-child{grid-column:3/-1}

/* The one loud band on a page. */
.gv :is(.gv-connect-strip,.gv-platform-cta,.feature-contact,.catalog-contact,.gv-flagship-contact){
  --gv-focus:var(--gv-slate);
  position:relative;background:var(--gv-gold);color:var(--gv-ink);border:0;
}
.gv :is(.gv-connect-strip,.gv-platform-cta,.feature-contact,.catalog-contact,.gv-flagship-contact) :is(.eyebrow,h2,em){color:var(--gv-ink)}
.gv :is(.gv-connect-strip,.gv-platform-cta,.feature-contact,.catalog-contact,.gv-flagship-contact) :is(.contact-cta,.button.gold){
  background:var(--gv-slate);color:var(--gv-on-dark);
  box-shadow:inset 0 1px 0 #ffffff26,inset 0 -2px 0 #06141a,0 16px 26px -16px #132b34cc;
}
.gv :is(.gv-connect-strip,.gv-platform-cta,.feature-contact,.catalog-contact,.gv-flagship-contact) :is(.contact-cta,.button.gold):hover{background:#1c3f4c;color:#fff}

.gv :is(.gv-connect-strip,.gv-platform-cta,.feature-contact,.catalog-contact,.gv-flagship-contact)::before,
.gv :is(.gv-connect-strip,.gv-platform-cta,.feature-contact,.catalog-contact,.gv-flagship-contact)::after{
  content:'';position:absolute;left:0;right:0;height:12px;pointer-events:none;
  background:radial-gradient(circle at 50% 50%,#fff8e4 0 2.1px,#fff8e400 3.2px) 0 0/24px 12px repeat-x;
}
.gv :is(.gv-connect-strip,.gv-platform-cta,.feature-contact,.catalog-contact,.gv-flagship-contact)::before{top:3px}
.gv :is(.gv-connect-strip,.gv-platform-cta,.feature-contact,.catalog-contact,.gv-flagship-contact)::after{bottom:3px}

/* -------------------------------------------------------- FAQ, everywhere ---- */
.gv .faq{
  display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:clamp(24px,6vw,96px);
  background:var(--gv-sage);padding-top:var(--gv-section);padding-bottom:var(--gv-section);
}
.gv .faq h2{font-size:clamp(44px,5vw,76px)}
.gv .faq-list{border-top:2px solid var(--gv-slate)}
.gv .faq-list details{border-bottom:1px solid var(--gv-line)}
.gv .faq-list summary,.operator-questions summary{min-height:66px;padding:18px 0;font-size:18px;font-weight:600;line-height:1.35;gap:24px}
.gv .faq-list summary span,.operator-questions summary span{color:var(--gv-teal-ink);font-size:26px;line-height:1;transition:transform .2s ease}
.gv .faq-list details p,.operator-questions details p{padding:0 44px 24px 0;font-size:17px;line-height:1.65;color:var(--gv-ink-soft)}
.gv .faq details[open]{border-bottom-color:var(--gv-line)}

/* ------------------------------------------------------------- Footer ---- */
.gv footer{
  display:grid;grid-template-columns:minmax(0,1fr) auto;
  grid-template-areas:"brand links" "tag links" "bottom bottom" "mark mark";
  grid-template-rows:auto 1fr auto auto;gap:14px clamp(32px,6vw,96px);align-items:start;
  padding:clamp(48px,6vw,72px) var(--gv-pad) 0;overflow:hidden;
  background:var(--gv-slate-deep);color:var(--gv-on-dark);border:0;
}
footer .brand.gv-brand{grid-area:brand;width:auto}
footer .gv-brand small{display:block;margin-top:7px;font-family:var(--gv-mono);font-size:12px;font-weight:400;letter-spacing:.05em;line-height:1.3;color:var(--gv-on-dark-soft)}
footer .brand.gv-brand .gv-wordmark{font-size:34px!important}
footer .gv-brand .gv-symbol{width:50px;height:50px;font-size:31px;border-radius:12px}
.gv footer>p{grid-area:tag;max-width:46ch;font-size:17px;line-height:1.5;color:var(--gv-on-dark-soft)}
.gv footer .footer-links{
  grid-area:links;display:grid;grid-template-rows:repeat(4,auto);grid-auto-flow:column;
  grid-auto-columns:max-content;column-gap:clamp(28px,4vw,64px);row-gap:0;align-items:start;justify-content:end;
  font-size:15px;
}
.gv footer .footer-links :is(a,button){display:inline-flex;align-items:center;min-height:40px;font-size:15px;color:#dfe9e8;text-align:left}
.gv footer .footer-links :is(a,button):hover{color:var(--gv-gold);text-decoration:none}
.gv footer .footer-bottom{
  grid-area:bottom;display:flex;justify-content:space-between;gap:12px 24px;flex-wrap:wrap;
  margin-top:clamp(24px,3vw,40px);padding-top:18px;border-top:1px solid var(--gv-line-dark);
  font-size:13.5px;color:var(--gv-on-dark-soft);
}

.gv footer::after{
  grid-area:mark;display:block;margin-top:clamp(6px,1.4vw,20px);margin-bottom:-.05em;
  content:'GAMEVENDING';content:'GAMEVENDING'/'';
  font-family:var(--gv-display);font-weight:800;line-height:.92;letter-spacing:.004em;white-space:nowrap;
  font-size:calc((100vw - 2*var(--gv-pad))/5.16);
  color:transparent;background:linear-gradient(180deg,#ffffff24,#ffffff05 94%);-webkit-background-clip:text;background-clip:text;
  pointer-events:none;user-select:none;-webkit-user-select:none;
}

/* ----------------------------------------------------------------- Home ---- */
.gv-distribution-home .gv-home-hero{
  position:relative;isolation:isolate;overflow:hidden;
  display:grid;grid-template-columns:minmax(0,.86fr) minmax(0,1.14fr);gap:clamp(28px,4vw,64px);align-items:center;
  min-height:min(calc(100svh - var(--gv-header)),920px);
  padding:clamp(28px,4vw,56px) var(--gv-pad);
  background-color:var(--gv-slate);
  background-image:
    radial-gradient(55% 75% at 78% 28%,#17796f73,transparent 72%),
    radial-gradient(34% 46% at 100% 100%,#f0c36b14,transparent 72%),
    linear-gradient(180deg,var(--gv-slate),var(--gv-slate-deep));
  color:var(--gv-on-dark);
}
.gv-distribution-home .gv-home-hero .eyebrow{color:var(--gv-mint)}
.gv-distribution-home .gv-home-hero h1{font-size:clamp(76px,min(9vw,15.2svh),142px);line-height:.87;font-weight:800;margin:0 0 clamp(20px,2.2vw,30px);color:#fff}
.gv-distribution-home .gv-home-hero h1 em{color:var(--gv-gold)}
.gv-distribution-home .gv-home-lead{font-size:clamp(20px,1.7vw,24px);line-height:1.3;letter-spacing:-.01em;font-weight:500;color:#fff}
.gv-distribution-home .gv-home-description{max-width:42ch;margin-top:14px;font-size:17px;line-height:1.6;color:var(--gv-on-dark-soft)}
.gv-distribution-home .gv-home-copy .actions{gap:14px 24px;margin-top:clamp(22px,2.4vw,32px);flex-wrap:wrap}
.gv-distribution-home .gv-hero-footnote{margin-top:clamp(22px,2.6vw,36px);color:var(--gv-on-dark-soft)}
.gv-distribution-home .gv-hero-footnote span{padding:0 8px;color:var(--gv-gold)}
@media(max-height:800px) and (min-width:901px){.gv-distribution-home .gv-hero-footnote{display:none}}

.gv-distribution-home .gv-cinema-main{
  min-height:clamp(300px,33vw,500px);border-radius:18px;transform:none;
  border:1px solid #ffffff2e;background:#0c1f27;
  box-shadow:0 0 0 1px #0006,0 44px 80px -36px #000,0 0 130px -24px #39b6c466;
  transition:transform .35s ease,box-shadow .35s ease;
}
.gv-distribution-home .gv-cinema-shade{background:linear-gradient(180deg,#0c1f2766,transparent 28%,transparent 52%,#0c1f27f0)}
.gv-distribution-home .gv-cinema-label{
  align-self:flex-start;margin:18px;padding:7px 11px;border-radius:7px;
  background:#0c1f27b3;border:1px solid #ffffff29;color:#fff;
  -webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);
}
.gv-distribution-home .gv-cinema-logo{width:min(70%,620px);margin:0 0 clamp(20px,2.4vw,34px);transition:transform .45s cubic-bezier(.2,.7,.2,1)}
.gv-distribution-home .gv-cinema-bottom{margin:0 18px 18px 22px;font-size:clamp(17px,1.5vw,21px);font-weight:600;letter-spacing:-.01em}
.gv-distribution-home .gv-cinema-bottom b{
  width:46px;height:46px;border:0;border-radius:11px;font-size:21px;font-weight:600;color:var(--gv-slate);
  background:linear-gradient(180deg,var(--gv-gold-hi),var(--gv-gold) 62%);
  box-shadow:inset 0 1px 0 #ffffff99,inset 0 -2px 0 var(--gv-gold-lo);
}
.gv-distribution-home .gv-cinema-platforms{margin:12px 0 0;gap:12px}
.gv-distribution-home .gv-cinema-platforms a{
  flex-direction:row;align-items:center;gap:12px;min-height:76px;padding:10px 14px 10px 10px;
  background:#0f2730;border:1px solid #ffffff1c;border-radius:14px;box-shadow:none;
  transition:transform .2s ease,border-color .2s ease,background .2s ease;
}
.gv-distribution-home .gv-cinema-platforms img{width:56px;height:56px;flex-shrink:0;object-fit:contain;border-radius:9px;filter:none}
.gv-distribution-home .gv-cinema-platforms span{font-size:16px;font-weight:600;line-height:1.2;color:var(--gv-on-dark)}
.gv-distribution-home .gv-cinema-platforms b{position:static;margin-left:auto;font-size:15px;color:var(--gv-on-dark-soft)}
.gv-distribution-home .gv-cinema-caption{margin:12px 2px 0;color:var(--gv-on-dark-soft)}
.gv-distribution-home .gv-cinema-caption a{font-size:16px;font-weight:600;color:var(--gv-gold);gap:8px}
@media(hover:hover){
  .gv-distribution-home .gv-cinema-main:hover{transform:translateY(-3px);box-shadow:0 0 0 1px #f0c36b66,0 52px 90px -36px #000,0 0 150px -20px #39b6c499}
  .gv-distribution-home .gv-cinema-main:hover .gv-cinema-logo{transform:scale(1.03)}
  .gv-distribution-home .gv-cinema-platforms a:hover{transform:translateY(-2px);background:#14323d;border-color:#f0c36b80;box-shadow:none}
  .gv-distribution-home .gv-cinema-platforms a:hover b{color:var(--gv-gold)}
}

/* The lineup cabinet: a lit machine standing in a bright room. */
.gv-distribution-home .gv-lineup{background:var(--gv-sage);border:0}
.gv-distribution-home .gv-lineup .section-heading>p{color:var(--gv-ink-soft)}
.gv-platform-grid{
  position:relative;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(6px,.7vw,10px);
  margin-top:clamp(28px,3.4vw,44px)!important;padding:clamp(6px,.9vw,12px);padding-top:clamp(14px,1.5vw,20px);
  background:var(--gv-slate-deep);border-radius:clamp(18px,2vw,28px);
  box-shadow:inset 0 0 0 1px #ffffff14,0 50px 80px -44px #0b1d24b3,0 16px 30px -22px #0b1d2480;
}
/* Light strip along the top of the cabinet. */
.gv-platform-grid::before{
  content:'';position:absolute;top:6px;left:clamp(20px,3vw,44px);right:clamp(20px,3vw,44px);height:3px;border-radius:3px;
  background:linear-gradient(90deg,transparent,var(--gv-gold) 18%,var(--gv-gold-hi) 50%,var(--gv-gold) 82%,transparent);
  box-shadow:0 0 22px 2px #f0c36b8c;
}
.gv-platform-card{--bay:#2aa198}
#platform-firekirin{--bay:#3fae57;--code:'A1';--logo:url(assets/platforms/web/firekirin-s.webp)}
#platform-gdc{--bay:#d9722a;--code:'A2';--logo:url(assets/platforms/web/gdc-s.webp)}
#platform-juwa{--bay:#d9a53a;--code:'A3';--logo:url(assets/platforms/web/juwa-s.webp)}
#platform-juwa2{--bay:#b98a2e;--code:'A4';--logo:url(assets/platforms/web/juwa2-s.webp)}
#platform-ultrathunder{--bay:#3f7fe0;--code:'B1';--logo:url(assets/platforms/web/ultrathunder-s.webp)}
#platform-orion{--bay:#7f52df;--code:'B2';--logo:url(assets/platforms/web/orion-s.webp)}
#platform-pandamaster{--bay:#c98a2f;--code:'B3';--logo:url(assets/platforms/web/pandamaster-s.webp)}
#platform-magiccity{--bay:#c94fb0;--code:'B4';--logo:url(assets/platforms/web/magiccity-s.webp)}
#platform-firestorm{--bay:#e4572a;--code:'C1';--logo:url(assets/platforms/web/firestorm-s.webp)}
#platform-firephoenix{--bay:#d9382a;--code:'C2';--logo:url(assets/platforms/web/firephoenix-s.webp)}
#platform-noble{--bay:#c2303a;--code:'C3';--logo:url(assets/platforms/web/noble-s.webp)}
#platform-riverpay{--bay:#2a8fe0;--code:'C4';--logo:url(assets/platforms/web/riverpay-s.webp)}
.gv .gv-platform-card{
  position:relative;display:flex;flex-direction:column;min-width:0;overflow:hidden;
  border:0;border-radius:clamp(10px,1.1vw,16px);
  background-color:#10272f;
  box-shadow:inset 0 0 0 1px #ffffff12,inset 0 1px 0 #ffffff14;
  transition:box-shadow .22s ease,background-color .22s ease;
}
.gv-platform-card::before{
  content:var(--code);position:absolute;top:11px;left:13px;z-index:1;
  font-family:var(--gv-mono);font-size:12px;font-weight:500;line-height:1;letter-spacing:.04em;color:#ffffffa8;
}
.gv .gv-platform-art{
  position:relative;isolation:isolate;flex:1;display:grid;place-items:center;height:auto;min-height:clamp(136px,14.5vw,208px);
  padding:clamp(20px,2.2vw,30px) clamp(14px,1.6vw,24px) clamp(10px,1.2vw,16px);
  background:none;border:0;
}
/* Each logo lights its own bay: a blurred copy of the logo stands behind it. */
.gv .gv-platform-art::before{
  content:'';position:absolute;inset:4% 4% -4%;z-index:-1;
  background:var(--logo) center/contain no-repeat;
  filter:blur(26px) saturate(1.5) brightness(1.05);opacity:.72;
  transition:opacity .25s ease;
}
.gv .gv-platform-card:hover .gv-platform-art::before{opacity:1}
.gv .gv-platform-art img{
  width:auto;height:auto;max-width:min(100%,214px);max-height:clamp(96px,10.4vw,150px);border-radius:clamp(9px,1vw,14px);
  filter:drop-shadow(0 14px 16px #000000a6);
  transition:transform .28s cubic-bezier(.2,.7,.2,1),filter .28s ease;
}
.gv .gv-platform-bottom{
  display:flex;align-items:center;justify-content:space-between;gap:10px;
  min-height:56px;padding:8px clamp(12px,1.2vw,18px);
  border-top:1px solid #ffffff14;
}
.gv .gv-platform-bottom h3{font-size:clamp(16px,1.3vw,18px);font-weight:600;letter-spacing:-.01em;line-height:1.2;color:var(--gv-on-dark)}
/* The arrow carries the action; the accessible name stays on the link. */
.gv .gv-platform-bottom>a{
  flex-shrink:0;min-height:0;margin:0;padding:0;font-size:0;color:var(--gv-on-dark-soft);
  transition:color .2s ease;
}
.gv .gv-platform-bottom>a span{display:inline-block;font-size:17px;line-height:1;transition:transform .2s ease}
.gv .gv-platform-bottom>a::after{border-radius:inherit}
.gv .gv-platform-card:focus-within{outline:3px solid var(--gv-gold);outline-offset:2px;box-shadow:inset 0 0 0 1px #ffffff12}
@media(hover:hover) and (pointer:fine){
  .gv .gv-platform-card:hover{
    transform:none;border-color:transparent;
    background-color:#14323c;
    box-shadow:inset 0 0 0 1px #f0c36b8c,inset 0 1px 0 #ffffff26,0 0 34px -10px color-mix(in srgb,var(--bay) 80%,transparent);
  }
  .gv .gv-platform-card:hover .gv-platform-art img{
    transform:perspective(600px) rotateX(var(--tilt-x)) rotateY(var(--tilt-y)) scale(1.07);
    filter:drop-shadow(0 22px 22px #000000bf);
  }
  .gv .gv-platform-card:hover .gv-platform-bottom>a{color:var(--gv-gold)}
  .gv .gv-platform-card:hover .gv-platform-bottom>a span{transform:translate(2px,-2px)}
}
.gv-distribution-home .gv-lineup-note{margin-top:clamp(20px,2.4vw,30px);font-size:15px;color:var(--gv-ink-soft)}

.gv-distribution-home .gv-audiences{background:var(--gv-paper)}
.gv-distribution-home .gv-audiences .section-heading{margin-bottom:0}
@media(min-width:1101px){
  .gv-distribution-home .gv-distribution-steps article{position:relative;isolation:isolate}
  .gv-distribution-home .gv-distribution-steps article::before{
    content:'';position:absolute;inset:-1px calc(-1*clamp(14px,1.6vw,24px));z-index:-1;
    background:var(--gv-slate);border-radius:14px;opacity:0;transition:opacity .2s ease;
  }
  .gv-distribution-home .gv-distribution-steps :is(span,h3,p,.text-link){transition:color .2s ease}
  .gv-distribution-home .gv-distribution-steps .text-link{position:static}
  .gv-distribution-home .gv-distribution-steps .text-link::after{content:'';position:absolute;inset:0}
}
@media(min-width:1101px) and (hover:hover) and (pointer:fine){
  .gv-distribution-home .gv-distribution-steps article:hover::before{opacity:1}
  .gv-distribution-home .gv-distribution-steps article:hover>span{color:var(--gv-mint)}
  .gv-distribution-home .gv-distribution-steps article:hover h3{color:#fff}
  .gv-distribution-home .gv-distribution-steps article:hover p{color:var(--gv-on-dark-soft)}
  .gv-distribution-home .gv-distribution-steps article:hover .text-link{color:var(--gv-gold)}
}

.gv-distribution-home .gv-connect-strip{
  display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,.8fr);column-gap:clamp(24px,5vw,80px);align-items:end;
  padding-top:clamp(40px,4.6vw,64px);padding-bottom:clamp(40px,4.6vw,64px);text-align:left;
}
.gv-distribution-home .gv-connect-strip .eyebrow{grid-column:1/-1}
.gv-distribution-home .gv-connect-strip h2{font-size:clamp(46px,5.6vw,86px);line-height:.9}
.gv-distribution-home .gv-connect-strip p:last-child{margin:0 0 4px;font-size:18px;line-height:1.5;color:#223c44}
@media(max-width:900px){
  .gv-distribution-home .gv-connect-strip{display:block}
  .gv-distribution-home .gv-connect-strip p:last-child{margin-top:14px}
}

/* ---------------------------------------------------------- Contact form ---- */
.gv .contact{
  position:relative;grid-template-columns:minmax(0,.82fr) minmax(0,1.18fr);gap:clamp(32px,6vw,96px);align-items:start;
  background-color:var(--gv-slate);
  background-image:radial-gradient(50% 40% at 0% 0%,#17796f59,transparent 72%);
  color:var(--gv-on-dark);border:0;
}
.gv .contact .contact-copy{position:sticky;top:calc(var(--gv-header) + 36px)}
.gv .contact .eyebrow{color:var(--gv-mint)}
.gv .contact h2{font-size:clamp(58px,6.6vw,104px);line-height:.88;letter-spacing:.004em;color:#fff}
.gv .contact h2 em{display:block;margin-top:.16em;font-size:.62em;line-height:.94;color:var(--gv-gold)}
.gv .contact-copy>p:not(.eyebrow){max-width:40ch;margin-top:clamp(18px,2vw,26px);font-size:18px;line-height:1.55;color:var(--gv-on-dark-soft)}
.gv .contact-copy .contact-form-link{margin-top:14px;color:var(--gv-gold)}
.gv .contact-copy .contact-channel{display:none}
.gv-picker{margin-top:clamp(20px,2.4vw,32px)}
.gv-picker-label{margin:0 0 10px;font-family:var(--gv-mono);font-size:12.5px;font-weight:500;letter-spacing:.05em;text-transform:uppercase;line-height:1.45;color:var(--gv-mint)}
.gv-picker-label b{font-weight:500;color:#fff}
.gv-picker-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:7px;max-width:540px}
.gv-picker button{
  display:grid;place-items:center;aspect-ratio:1/.9;padding:7px;cursor:pointer;
  background:#0f2730;border:0;border-radius:11px;box-shadow:inset 0 0 0 1px #ffffff1c;
  transition:background-color .16s ease,box-shadow .16s ease,transform .16s ease;
}
.gv-picker img{width:100%;height:100%;object-fit:contain;border-radius:6px;filter:saturate(.9) brightness(.9);transition:filter .16s ease}
.gv-picker button:hover{background:#14323d;box-shadow:inset 0 0 0 1px #f0c36b80}
.gv-picker button:hover img{filter:none}
.gv-picker button[aria-pressed=true]{background:#1a3e49;box-shadow:inset 0 0 0 2px var(--gv-gold),0 0 28px -6px #f0c36bb3}
.gv-picker button[aria-pressed=true] img{filter:none}
.gv-picker button:focus-visible{outline:3px solid var(--gv-gold);outline-offset:2px}
@media(max-width:900px){.gv-picker{display:none}}
.gv #contact-form{
  --gv-focus:var(--gv-teal-ink);
  padding:clamp(22px,3vw,40px);background:var(--gv-paper);color:var(--gv-ink);
  border:0;border-radius:clamp(14px,1.6vw,20px);
  box-shadow:0 0 0 1px #ffffff29,0 50px 90px -46px #000;
}
.gv .form-heading{margin-bottom:26px}
.gv .contact-status{display:block;margin:0 0 12px;padding:0;background:none;border:0;border-radius:0;color:var(--gv-teal-ink)}
.gv .form-heading h3{font-family:var(--gv-display);font-size:clamp(34px,3.4vw,48px);font-weight:800;letter-spacing:.004em;line-height:.96;text-transform:uppercase;color:var(--gv-ink)}
.gv .form-heading p{margin-top:10px;font-size:16px;line-height:1.5;color:var(--gv-ink-soft)}
.gv #contact-form .form-row{gap:0 16px}
.gv #contact-form .form-row>label:only-child{grid-column:1/-1}
.gv #contact-form label{margin-bottom:18px;font-size:14px;font-weight:600;letter-spacing:0;color:var(--gv-ink)}
.gv #contact-form :is(input,select,textarea){
  min-height:50px;margin-top:7px;padding:12px 14px;
  background:#fff;color:var(--gv-ink);border:1px solid #a9bcb7;border-radius:10px;
  font-size:16px;font-weight:400;transition:border-color .15s ease,box-shadow .15s ease;
}
.gv #contact-form input::placeholder,.gv #contact-form textarea::placeholder{color:#5a7076}
.gv #contact-form :is(input,select,textarea):hover{border-color:#6d8a85}
.gv #contact-form :is(input,select,textarea):focus{border-color:var(--gv-teal-ink);box-shadow:0 0 0 3px #0f6a6133}
.gv #contact-form textarea{min-height:112px}
.gv #contact-form #reply-help{display:block;margin-top:7px;font-size:13.5px;font-weight:400;line-height:1.45;color:var(--gv-ink-soft)}
.gv #contact-form .contact-consent{display:flex;gap:11px;margin:4px 0 16px;font-size:14.5px;font-weight:400;line-height:1.5}
.gv #contact-form .contact-consent input{min-height:0;width:20px;height:20px;flex:0 0 20px;margin:1px 0 0;accent-color:var(--gv-teal-ink)}
.gv #contact-form .form-note{margin-bottom:12px;font-size:14px;line-height:1.55;color:var(--gv-ink-soft)}
.gv #contact-result{margin:12px 0;font-size:15px;color:var(--gv-ink)}
.gv #contact-form .submit{min-height:56px;font-size:17px}
.gv #contact-form .submit:disabled{background:var(--gv-sage-deep);color:var(--gv-ink-soft);border:1px solid #b7c8c3;box-shadow:none;opacity:1;transform:none}

/* ----------------------------------------------------- Responsive: shared ---- */
@media(max-width:1100px){
  .gv .gv-distribution-steps article{grid-template-columns:minmax(0,1fr) minmax(0,1.2fr);row-gap:10px}
  .gv .gv-distribution-steps article>span{grid-column:1/-1}
  .gv .gv-distribution-steps .text-link{grid-column:2;justify-self:start}
  .gv .gv-distribution-steps article>p:last-child{grid-column:2}
  .gv-platform-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media(max-width:900px){
  .gv-distribution-home .gv-home-hero{grid-template-columns:1fr;min-height:0}
  .gv-distribution-home .gv-home-hero h1{font-size:clamp(76px,17vw,140px)}
  .gv-distribution-home .gv-cinema-main{min-height:clamp(280px,52vw,460px)}
  .gv .contact{grid-template-columns:1fr}
  .gv .contact .contact-copy{position:static}
  .gv .faq{grid-template-columns:1fr;gap:24px}
}
@media(min-width:901px){
  .gv .contact-copy .contact-form-link{display:none}
}
@media(max-width:700px){
  .gv{font-size:16px}
  .gv .site-header{padding:0 var(--gv-pad);gap:10px}
  .site-header .brand.gv-brand .gv-wordmark{font-size:24px!important}
  .gv .site-header .contact-cta{margin-left:auto;order:2;min-height:44px;padding:8px 13px;font-size:14px}
  .gv .site-header .menu-toggle{
    order:3;display:flex;align-items:center;justify-content:center;width:44px;min-width:44px;height:44px;padding:0;gap:0;
    font-size:0;color:var(--gv-on-dark);background:#ffffff0f;border:1px solid #ffffff2e;border-radius:11px;
  }
  .gv .site-header .menu-toggle span{font-size:18px;line-height:1}
  .gv .site-header nav{
    top:calc(var(--gv-header) - 1px);margin:0;padding:12px var(--gv-pad) 20px;gap:2px;
    font-size:16px;background:var(--gv-slate);border-bottom:1px solid #ffffff24;box-shadow:0 30px 50px -20px #000a;
    max-height:calc(100dvh - var(--gv-header));overflow-y:auto;overscroll-behavior:contain;
  }
  .gv .site-header .gv-games-dropdown{position:static;min-width:0;margin:6px 0 8px;box-shadow:none}
  .gv .site-header .gv-platform-menu{max-height:none}
  .gv-platform-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .gv .gv-platform-art{min-height:138px}
  .gv .gv-platform-art img{max-height:96px}
  .gv .section-heading{display:block}
  .gv .section-heading>p{margin:16px 0 0;font-size:17px}
  .gv .gv-distribution-steps article{display:block;padding:24px 0}
  .gv .gv-distribution-steps h3{margin:10px 0 10px}
  .gv .gv-distribution-steps .text-link{margin-top:6px}
  .gv-distribution-home .gv-cinema-platforms a{flex-direction:column;align-items:center;gap:8px;min-height:0;padding:12px 6px 10px;text-align:center}
  .gv-distribution-home .gv-cinema-platforms img{width:52px;height:52px}
  .gv-distribution-home .gv-cinema-platforms span{font-size:13.5px}
  .gv-distribution-home .gv-cinema-platforms b{display:none}
  .gv-distribution-home .gv-cinema-caption{flex-wrap:wrap}
  .gv-distribution-home .gv-home-copy .actions{flex-direction:column;align-items:stretch;gap:6px}
  .gv-distribution-home .gv-home-copy .actions a{justify-content:center;text-align:center}
  .gv-distribution-home .gv-hero-footnote{display:none}
  .gv #contact-form .form-row{grid-template-columns:1fr}
  .gv footer{grid-template-columns:1fr;grid-template-areas:"brand" "tag" "links" "bottom" "mark"}
  .gv footer .footer-links{grid-template-rows:none;grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-flow:row;justify-content:stretch;column-gap:16px;margin-top:10px}
  .gv footer .footer-links :is(a,button){min-height:44px;font-size:15px}
}
@media(max-width:379px){.site-header .gv-symbol{display:none}}
@media(min-width:380px){.site-header .gv-symbol{display:flex}}
@media(prefers-reduced-motion:reduce){
  .gv .gv-platform-card:hover .gv-platform-art img,.gv-distribution-home .gv-cinema-main:hover .gv-cinema-logo{transform:none}
  .gv-distribution-home .gv-cinema-main:hover{transform:none}
}

/* ------------------------------------------------------- Platform pages ---- */
/* Each platform keeps its own color world from header to footer.
   --gv-teal-ink is re-pointed here, so labels, links and icons in the light
   sections pick up the platform's color at a strength that passes AA on paper. */
[data-stage]{--stage:#132b34;--glow-a:#17796f;--glow-b:#f0c36b;--accent:#f0c36b}
[data-stage=firekirin]{--stage:#0e1f29;--glow-a:#d9541e;--glow-b:#1f7fb0;--accent:#ffbd8a;--gv-teal-ink:#b23e18}
[data-stage=gdc]{--stage:#1c1330;--glow-a:#9a4fc0;--glow-b:#d89a2e;--accent:#f3c969;--gv-teal-ink:#7b3aa6}
[data-stage=juwa]{--stage:#231510;--glow-a:#c9842f;--glow-b:#8a3f22;--accent:#f4c77f;--gv-teal-ink:#875815;--art-1:url(assets/juwa-1/screen-7.webp);--art-2:url(assets/juwa-1/screen-1.webp);--art-ratio:2.22}
[data-stage=juwa2]{--stage:#25111b;--glow-a:#c8552f;--glow-b:#8f2f5a;--accent:#f5b48f;--gv-teal-ink:#a33a2c;--art-1:url(assets/juwa-2/screen-2.webp);--art-2:url(assets/juwa-2/screen-1.webp);--art-ratio:2.22}
[data-stage=ultrathunder]{--stage:#10173a;--glow-a:#4c5fe0;--glow-b:#8f52e0;--accent:#bcc7ff;--gv-teal-ink:#3b49cc;--art-1:url(assets/ultra-thunder/reference-1.webp);--art-2:url(assets/ultra-thunder/reference-3.webp);--art-3:url(assets/ultra-thunder/reference-2.webp)}
[data-stage=orion]{--stage:#1a1238;--glow-a:#7b4fe0;--glow-b:#d6a83a;--accent:#d9c6ff;--gv-teal-ink:#6238c9}
[data-stage=pandamaster]{--stage:#13231a;--glow-a:#5f9e3a;--glow-b:#c08a2f;--accent:#cfe59a;--gv-teal-ink:#3f7720;--art-1:url(assets/panda-master/reference-3.webp);--art-2:url(assets/panda-master/reference-1.webp);--art-ratio:2.18}
[data-stage=magiccity]{--stage:#1d1238;--glow-a:#b640c8;--glow-b:#3f7fe0;--accent:#efb8ff;--gv-teal-ink:#9a2db3;--art-1:url(assets/magic-city/reference-1-web.webp);--art-2:url(assets/magic-city/reference-3-web.webp);--art-ratio:2.06}
[data-stage=firestorm]{--stage:#1f1008;--glow-a:#e2561e;--glow-b:#a33a12;--accent:#ffb98a;--gv-teal-ink:#b23e0e}
[data-stage=firephoenix]{--stage:#230c0c;--glow-a:#d43a22;--glow-b:#d98a2a;--accent:#ffc48a;--gv-teal-ink:#b52c19;--art-1:url(assets/fire-phoenix/reference-1-web.webp);--art-2:url(assets/fire-phoenix/reference-3-web.webp);--art-ratio:1.74}
[data-stage=noble]{--stage:#1e0b12;--glow-a:#b3232f;--glow-b:#c89a3a;--accent:#f0cf86;--gv-teal-ink:#a31d2b}
[data-stage=riverpay]{--stage:#08223a;--glow-a:#1f8fe0;--glow-b:#2fc9b0;--accent:#9fe3f5;--gv-teal-ink:#0d6eb0}

/* The header and footer join the platform's world instead of clashing with it. */
.gv[data-stage] .site-header{background:color-mix(in srgb,var(--stage) 78%,#000)}
.gv[data-stage] .site-header .gv-games-dropdown{background:color-mix(in srgb,var(--stage) 72%,#000)}
.gv[data-stage] footer{background:color-mix(in srgb,var(--stage) 72%,#000)}
@media(max-width:700px){.gv[data-stage] .site-header nav{background:color-mix(in srgb,var(--stage) 78%,#000)}}

.gv-platform-detail .gv-platform-hero{
  position:relative;isolation:isolate;overflow:hidden;
  grid-template-columns:minmax(0,1fr) minmax(0,1.02fr);gap:clamp(28px,4.6vw,72px);align-items:center;
  min-height:min(calc(100svh - var(--gv-header) - 72px),760px);
  padding:clamp(28px,4vw,56px) var(--gv-pad) clamp(36px,4.4vw,64px);
  background-color:var(--stage);
  background-image:
    linear-gradient(180deg,transparent 64%,var(--stage) 100%),
    radial-gradient(62% 80% at 84% 34%,color-mix(in srgb,var(--glow-a) 62%,transparent),transparent 72%),
    radial-gradient(44% 58% at 56% 86%,color-mix(in srgb,var(--glow-b) 24%,transparent),transparent 72%);
  color:var(--gv-on-dark);
}
.gv .gv-breadcrumb{display:inline-flex;align-items:center;min-height:32px;margin-bottom:clamp(14px,2vw,28px);font-family:var(--gv-mono);font-size:13px;letter-spacing:.02em;color:var(--gv-on-dark-soft);text-decoration:underline;text-decoration-color:#ffffff40;text-underline-offset:5px}
.gv .gv-breadcrumb:hover{color:var(--gv-gold)}
.gv-platform-detail .gv-platform-intro .eyebrow{color:var(--accent)}
.gv-platform-detail .gv-platform-intro h1{margin:0 0 clamp(14px,1.8vw,24px);font-size:clamp(64px,min(8.6vw,17svh),136px);line-height:.88;color:#fff}
.gv-platform-detail .gv-platform-intro h1 span{display:block;margin-top:.2em;font-family:var(--gv-text);font-size:clamp(21px,2.1vw,30px);font-weight:500;letter-spacing:-.012em;line-height:1.2;text-transform:none;color:var(--accent)}
.gv-platform-detail .gv-platform-intro .gv-platform-lead{margin-bottom:8px;color:#fff;font-weight:500}
.gv-platform-detail .gv-platform-intro p:not(.eyebrow):not(.gv-platform-lead){max-width:48ch;font-size:17px;line-height:1.6;color:var(--gv-on-dark-soft)}
.gv-platform-detail .gv-platform-intro .actions{gap:12px 24px;margin-top:clamp(20px,2.2vw,30px);flex-wrap:wrap}

/* Logo-led heroes: the logo stands on the lit stage, in front of art from the page's own gallery. */
.gv-platform-detail .gv-platform-identity{min-height:clamp(340px,37vw,560px);width:100%;max-width:none;margin:0}
.gv-platform-detail .gv-platform-identity .gv-platform-halo{
  width:min(108%,640px);border:0;box-shadow:none;
  background:radial-gradient(circle,color-mix(in srgb,var(--glow-a) 48%,transparent),transparent 68%);
}
.gv-platform-detail .gv-platform-identity .gv-platform-logo-panel{
  z-index:3;width:min(74%,400px);aspect-ratio:auto;padding:0;background:none;border:0;border-radius:0;box-shadow:none;transform:none;overflow:visible;
}
.gv-platform-detail .gv-platform-identity .gv-platform-logo-panel img{width:100%;height:auto;max-height:440px;filter:drop-shadow(0 24px 28px #000000bf)}
.gv-platform-detail .gv-platform-identity>span{position:relative;z-index:3;margin-top:clamp(20px,2.4vw,34px);color:var(--gv-on-dark-soft)}

/* Screens: two real screens in perspective, the logo in front. */
:is([data-stage=juwa],[data-stage=juwa2],[data-stage=pandamaster],[data-stage=magiccity],[data-stage=firephoenix]) .gv-platform-identity{display:block}
:is([data-stage=juwa],[data-stage=juwa2],[data-stage=pandamaster],[data-stage=magiccity],[data-stage=firephoenix]) .gv-platform-identity::before,
:is([data-stage=juwa],[data-stage=juwa2],[data-stage=pandamaster],[data-stage=magiccity],[data-stage=firephoenix]) .gv-platform-identity::after{
  content:'';position:absolute;aspect-ratio:var(--art-ratio);background:#000 center/cover no-repeat;border-radius:clamp(10px,1.2vw,16px);
}
:is([data-stage=juwa],[data-stage=juwa2],[data-stage=pandamaster],[data-stage=magiccity],[data-stage=firephoenix]) .gv-platform-identity::before{
  z-index:1;top:4%;left:6%;width:118%;background-image:var(--art-1);
  box-shadow:0 0 0 1px #ffffff33,0 46px 70px -28px #000,0 0 120px -16px color-mix(in srgb,var(--glow-a) 90%,transparent);
  transform:perspective(1500px) rotateY(-13deg) rotateX(3deg);transform-origin:0 50%;
}
:is([data-stage=juwa],[data-stage=juwa2],[data-stage=pandamaster],[data-stage=magiccity],[data-stage=firephoenix]) .gv-platform-identity::after{
  z-index:2;bottom:9%;left:-4%;width:60%;background-image:var(--art-2);
  box-shadow:0 0 0 1px #ffffff40,0 34px 50px -18px #000;
  transform:perspective(1200px) rotateY(9deg) rotateX(2deg) rotate(-2deg);
}
.gv-platform-detail:is([data-stage=juwa],[data-stage=juwa2],[data-stage=pandamaster],[data-stage=magiccity],[data-stage=firephoenix]) .gv-platform-identity .gv-platform-logo-panel{
  position:absolute;right:3%;bottom:5%;width:clamp(170px,20vw,280px);
}
.gv-platform-detail:is([data-stage=juwa],[data-stage=juwa2],[data-stage=pandamaster],[data-stage=magiccity],[data-stage=firephoenix],[data-stage=ultrathunder]) .gv-platform-identity>span{position:absolute;left:0;bottom:0;margin:0}
[data-stage=juwa] .gv-platform-identity::after{background-size:104.1% auto;background-position:100% 50%}
[data-stage=pandamaster] .gv-platform-identity::after{background-size:128% auto;background-position:50% 30%}
[data-stage=magiccity] .gv-platform-identity::before{background-size:150% auto;background-position:62% 42%}
[data-stage=firephoenix] .gv-platform-identity::before{background-size:136% auto;background-position:22% 18%}
/* Square lobby icons sit a little smaller than wide logos. */
.gv-platform-detail[data-stage=pandamaster] .gv-platform-identity .gv-platform-logo-panel{width:clamp(140px,15vw,210px)}

/* Cards: three tall game cards in a fan beneath the logo. */
[data-stage=ultrathunder] .gv-platform-identity{display:block;min-height:clamp(420px,42vw,600px)}
[data-stage=ultrathunder] .gv-platform-identity::before,
[data-stage=ultrathunder] .gv-platform-identity::after,
.gv-platform-detail[data-stage=ultrathunder] .gv-platform-identity .gv-platform-halo{
  content:'';position:absolute;top:27%;width:36%;aspect-ratio:278/488;border:0;border-radius:0;box-shadow:none;
  background:center/contain no-repeat;filter:drop-shadow(0 28px 30px #000000bf);
}
[data-stage=ultrathunder] .gv-platform-identity::before{z-index:1;left:-4%;background-image:var(--art-1);transform:rotate(-7deg);transform-origin:50% 100%}
[data-stage=ultrathunder] .gv-platform-identity::after{z-index:1;right:-4%;background-image:var(--art-3);transform:rotate(7deg);transform-origin:50% 100%}
.gv-platform-detail[data-stage=ultrathunder] .gv-platform-identity .gv-platform-halo{z-index:2;top:22%;left:32%;background-image:var(--art-2)}
.gv-platform-detail[data-stage=ultrathunder] .gv-platform-identity .gv-platform-logo-panel{position:absolute;top:0;left:0;right:0;margin-inline:auto;width:clamp(190px,21vw,300px)}

/* Marquee: logo-only platforms get a working sign. Noble's bulbs chase; Fire Storm's embers rise. */
.gv-platform-detail:is([data-stage=firestorm],[data-stage=noble]) .gv-platform-identity .gv-platform-logo-panel{width:min(80%,450px)}
.gv-platform-detail:is([data-stage=firestorm],[data-stage=noble]) .gv-platform-identity>span{position:absolute;left:0;right:0;bottom:-30px;margin:0;text-align:center}
.gv-platform-detail[data-stage=noble] .gv-platform-identity .gv-platform-halo{
  width:min(128%,800px);
  background:repeating-conic-gradient(from 0deg,color-mix(in srgb,var(--glow-b) 34%,transparent) 0 6deg,transparent 6deg 18deg);
  -webkit-mask:radial-gradient(closest-side,#000 22%,transparent 80%);mask:radial-gradient(closest-side,#000 22%,transparent 80%);
  animation:gv-turn 140s linear infinite;
}
[data-stage=noble] .gv-platform-identity::before,
[data-stage=noble] .gv-platform-identity::after{
  content:'';position:absolute;z-index:1;width:min(98%,540px);aspect-ratio:1;background:center/contain no-repeat;pointer-events:none;
}
[data-stage=noble] .gv-platform-identity::before{
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 400 400'%3E%3Ccircle cx='200' cy='200' r='192' fill='none' stroke='%23f0cf8655' stroke-width='5' stroke-linecap='round' stroke-dasharray='0 25.133'/%3E%3C/svg%3E");
}
[data-stage=noble] .gv-platform-identity::after{
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 400 400'%3E%3Ccircle cx='200' cy='200' r='192' fill='none' stroke='%23ffeec2' stroke-width='5.5' stroke-linecap='round' stroke-dasharray='0 75.398'/%3E%3C/svg%3E");
  filter:drop-shadow(0 0 5px #f0cf86);animation:gv-chase 1.8s steps(3) infinite;
}
[data-stage=firestorm] .gv-platform-identity::before,
[data-stage=firestorm] .gv-platform-identity::after{
  content:'';position:absolute;z-index:1;inset:-14% -8%;pointer-events:none;
  background-repeat:repeat;
  -webkit-mask:linear-gradient(0deg,transparent,#000 22%,#000 62%,transparent);mask:linear-gradient(0deg,transparent,#000 22%,#000 62%,transparent);
}
[data-stage=firestorm] .gv-platform-identity::before{
  background-size:420px 460px;
  background-image:radial-gradient(1.5px 1.5px at 40px 60px,#ffb066,transparent),radial-gradient(1.5px 1.5px at 130px 220px,#ffd08a,transparent),radial-gradient(1px 1px at 210px 90px,#ff9a4a,transparent),radial-gradient(1.5px 1.5px at 300px 310px,#ffc27a,transparent),radial-gradient(1px 1px at 370px 150px,#ffb066,transparent),radial-gradient(1.5px 1.5px at 90px 400px,#ff9a4a,transparent),radial-gradient(1px 1px at 250px 420px,#ffd08a,transparent);
  animation:gv-ember 20s linear infinite;
}
[data-stage=firestorm] .gv-platform-identity::after{
  z-index:4;background-size:560px 620px;
  background-image:radial-gradient(2.5px 2.5px at 70px 130px,#ffd08a,transparent),radial-gradient(2px 2px at 240px 40px,#ffb066,transparent),radial-gradient(3px 3px at 420px 300px,#ffc27a,transparent),radial-gradient(2px 2px at 160px 480px,#ff9a4a,transparent),radial-gradient(2.5px 2.5px at 500px 560px,#ffd08a,transparent);
  animation:gv-ember-near 13s linear infinite;
}
@keyframes gv-turn{to{rotate:360deg}}
@keyframes gv-chase{to{transform:rotate(22.5deg)}}
@keyframes gv-ember{to{background-position:0 -460px}}
@keyframes gv-ember-near{to{background-position:0 -620px}}
@media(prefers-reduced-motion:reduce){
  [data-stage=noble] .gv-platform-identity::after,[data-stage=firestorm] .gv-platform-identity::before,[data-stage=firestorm] .gv-platform-identity::after{animation:none}
}
@media(max-width:900px){
  .gv-platform-detail .gv-platform-identity{min-height:0;padding-block:clamp(20px,6vw,40px)}
  .gv-platform-detail:is([data-stage=juwa],[data-stage=juwa2],[data-stage=pandamaster],[data-stage=magiccity],[data-stage=firephoenix]) .gv-platform-identity{padding:0;aspect-ratio:1.2;max-width:560px;margin-inline:auto}
  :is([data-stage=juwa],[data-stage=juwa2],[data-stage=pandamaster],[data-stage=magiccity],[data-stage=firephoenix]) .gv-platform-identity::before{top:0;left:0;width:100%;transform:none}
  :is([data-stage=juwa],[data-stage=juwa2],[data-stage=pandamaster],[data-stage=magiccity],[data-stage=firephoenix]) .gv-platform-identity::after{left:0;bottom:15%;width:60%;transform:rotate(-2deg)}
  .gv-platform-detail:is([data-stage=juwa],[data-stage=juwa2],[data-stage=pandamaster],[data-stage=magiccity],[data-stage=firephoenix]) .gv-platform-identity .gv-platform-logo-panel{right:0;bottom:12%;width:46%}
  .gv-platform-detail[data-stage=pandamaster] .gv-platform-identity .gv-platform-logo-panel{width:34%}
  .gv-platform-detail[data-stage=ultrathunder] .gv-platform-identity{padding:0;aspect-ratio:1/1.1;min-height:0;max-width:480px;margin-inline:auto}
  .gv-platform-detail[data-stage=ultrathunder] .gv-platform-identity .gv-platform-logo-panel{width:50%}
  [data-stage=ultrathunder] .gv-platform-identity::before{left:1%}
  [data-stage=ultrathunder] .gv-platform-identity::after{right:1%}
  .gv-platform-detail:is([data-stage=firestorm],[data-stage=noble]) .gv-platform-identity{min-height:clamp(340px,92vw,520px);padding-block:0;margin-bottom:30px}
  [data-stage=noble] .gv-platform-identity::before,[data-stage=noble] .gv-platform-identity::after{width:min(100%,500px)}
}

/* Art-led heroes keep their accepted compositions; only the surfaces change. */
.fk-detail .fk-feature{border:1px solid #ffffff3d;border-radius:18px;transform:rotate(-2.5deg);box-shadow:0 44px 70px -30px #000}
.fk-detail .fk-inset{transform:rotate(3.5deg)}
.fk-detail .fk-inset img{border:1px solid #ffffff4d;border-radius:12px;box-shadow:0 28px 40px -14px #000}
.fk-detail .fk-inset span{margin-top:12px;font-size:14px;color:var(--gv-on-dark-soft)}
.fk-detail .fk-logo{filter:drop-shadow(0 12px 16px #000a)}
/* Short laptops: Fire Kirin's tall art must not push the main button below the fold. */
@media(min-width:901px) and (max-height:820px){.fk-detail .gv-platform-hero{align-items:start}}
.gd-detail .gd-glow{background:radial-gradient(ellipse,#d89a2e4d,transparent 66%)}
.gd-detail .gd-logo{border-color:#ffffff33;box-shadow:0 18px 34px -10px #000c}
.gd-detail .gd-portraits img{border:1px solid #f3c96980;box-shadow:0 40px 60px -24px #000}
.gd-detail .gd-portraits figcaption{font-size:14px;font-weight:600;color:var(--gv-on-dark)}
.gv .gd-showcase>p,.gv .orion-showcase>p,.gv .river-showcase>p{color:var(--gv-on-dark-soft);margin-top:clamp(16px,2vw,26px)}
:is(.orion-orbit,.river-orbit){border-color:#ffffff33!important;box-shadow:0 0 0 25px #ffffff08,0 0 0 60px #ffffff05!important}
:is(.orion-fan,.river-fan) img{border:1px solid #ffffff59!important;box-shadow:0 34px 44px -14px #000d!important}
:is(.orion-fan,.river-fan) img:nth-child(2){border-color:#f0c36bb3!important}
:is(.orion-logo,.river-logo){filter:drop-shadow(0 8px 14px #000a)}

/* Game galleries: the stage continues from the hero, so the art stands on the platform's own color. */
.gv :is(.fk-games,.gd-games,.orion-games,.river-games,.platform-showcase,.juwa-showcase){
  --gv-focus:var(--gv-gold);
  background:var(--stage) linear-gradient(180deg,var(--stage),color-mix(in srgb,var(--stage) 74%,#000));
  color:var(--gv-on-dark);padding-top:clamp(36px,4.4vw,64px);
}
.gv :is(.fk-games,.gd-games,.orion-games,.river-games,.platform-showcase,.juwa-showcase) .eyebrow{color:var(--accent)}
.gv :is(.fk-games,.gd-games,.orion-games,.river-games,.platform-showcase,.juwa-showcase) h2{color:#fff}
.gv :is(.fk-games,.gd-games,.orion-games,.river-games,.platform-showcase,.juwa-showcase) .section-heading>p{color:var(--gv-on-dark-soft)}
.gv :is(.fk-grid,.gd-game-grid,.orion-game-grid,.river-game-grid,.showcase-grid,.juwa-screen-grid){
  margin-top:clamp(20px,2.6vw,36px);padding:0;gap:clamp(8px,1vw,16px);background:none;box-shadow:none;border-radius:0;
}
.gv :is(.fk-grid figure,.gd-game-grid article,.showcase-screen,.juwa-screen){
  margin:0;padding:0;overflow:hidden;background:#ffffff0d;border:0;border-radius:clamp(10px,1.1vw,16px);
  box-shadow:inset 0 0 0 1px #ffffff17;transition:box-shadow .22s ease,background .22s ease,transform .22s ease;
}
.gv :is(.showcase-screen,.juwa-screen) img{border-radius:0}
.gv :is(.fk-grid figcaption,.gd-game-copy,.showcase-screen figcaption,.juwa-screen figcaption){padding:13px 15px 15px;color:var(--gv-on-dark);font-size:16px;font-weight:600;line-height:1.3}
.gv :is(.fk-grid figcaption span,.gd-game-copy span){display:block;margin-bottom:5px;font-size:12px;color:var(--gv-on-dark-soft)}
.gv :is(.fk-grid h3,.gd-game-copy h3){margin:0;font-size:17px;font-weight:600;letter-spacing:-.01em;line-height:1.25;color:var(--gv-on-dark)}
.gv .juwa-screen figcaption span{font-family:var(--gv-mono);font-size:13px;font-weight:400;opacity:1;color:var(--gv-on-dark-soft)}
.gv :is(.orion-game-grid,.river-game-grid) figure{padding:0 0 12px;border-radius:clamp(10px,1.1vw,16px);background:#ffffff0d;box-shadow:inset 0 0 0 1px #ffffff17;overflow:hidden;transition:box-shadow .22s ease,background .22s ease}
.gv :is(.orion-game-grid,.river-game-grid) figure>div{border:0;border-radius:0;box-shadow:none;transform:none!important}
.gv :is(.orion-game-grid,.river-game-grid) figcaption{margin:11px 13px 0;font-size:15px;font-weight:600;line-height:1.3;color:var(--gv-on-dark)}
.gv .showcase-art .showcase-screen{padding:0;background:#ffffff0d}
.gv .showcase-art img{padding:14px 14px 0;height:clamp(220px,24vw,340px);filter:drop-shadow(0 16px 16px #000000a6)}
@media(hover:hover){
  .gv :is(.fk-grid figure,.gd-game-grid article,.showcase-screen,.juwa-screen,.orion-game-grid figure,.river-game-grid figure):hover{transform:none;background:#ffffff17;box-shadow:inset 0 0 0 1px #f0c36b99}
}
.gv :is(.fk-gallery-foot,.gd-gallery-foot,.orion-gallery-foot,.river-gallery-foot){margin-top:clamp(18px,2.2vw,28px)}
.gv :is(.fk-gallery-foot,.gd-gallery-foot,.orion-gallery-foot,.river-gallery-foot) .text-link{color:var(--accent)}
.gv :is(.fk-gallery-foot,.gd-gallery-foot,.orion-gallery-foot,.river-gallery-foot) .text-link:hover{color:#fff}
.gv :is(.fk-gallery-foot,.gd-gallery-foot,.orion-gallery-foot,.river-gallery-foot) p,.gv :is(.showcase-reference,.juwa-reference){font-size:15px;line-height:1.55;color:var(--gv-on-dark-soft)}
.gv :is(.showcase-reference,.juwa-reference){margin-top:clamp(18px,2.2vw,28px)}
.gv .juwa-pair{margin-top:clamp(20px,3vw,36px);padding:clamp(20px,2.6vw,32px);background:#ffffff0d;border:0;border-radius:16px;box-shadow:inset 0 0 0 1px #ffffff1f}
.gv .juwa-pair h3{font-family:var(--gv-display);font-size:clamp(30px,3vw,44px);font-weight:800;letter-spacing:.004em;line-height:1;text-transform:uppercase;margin:6px 0;color:#fff}
.gv .juwa-pair .text-link{color:var(--accent)}
.gv .juwa-pair .text-link:hover{color:#fff}

/* Reading sections */
.gv.gv-platform-detail .gv-platform-fit{
  grid-template-columns:minmax(0,.92fr) minmax(0,1.08fr);gap:clamp(20px,6vw,96px);background:var(--gv-paper);
  padding-bottom:clamp(36px,4vw,60px);
}
.gv .gv-platform-fit .gv-fit-lead{margin-bottom:14px;font-size:clamp(23px,2.3vw,30px);font-weight:500;letter-spacing:-.015em;line-height:1.25;color:var(--gv-ink)}
.gv .gv-platform-fit p:not(.eyebrow):not(.gv-fit-lead){margin-bottom:14px;font-size:17px;line-height:1.65;color:var(--gv-ink-soft)}
.gv .gv-platform-next{background:var(--gv-paper);padding-top:0}
.gv .gv-platform-next .section-heading{margin-bottom:0}
.gv .gv-platform-next h2{font-size:clamp(32px,3.5vw,52px);line-height:.96}
.gv .gv-platform-next .gv-distribution-steps{
  display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(10px,1.3vw,18px);margin-top:clamp(18px,2.2vw,30px);border:0;
}
.gv .gv-platform-next .gv-distribution-steps article{
  display:flex;flex-direction:column;gap:10px;padding:clamp(20px,2.2vw,30px);
  background:#fff;border:0;border-radius:clamp(12px,1.3vw,18px);
  box-shadow:inset 0 0 0 1px var(--gv-line);
}
.gv .gv-platform-next .gv-distribution-steps article::before{content:'';width:34px;height:4px;margin-bottom:4px;border-radius:2px;background:var(--gv-teal-ink)}
.gv .gv-platform-next .gv-distribution-steps h3{font-family:var(--gv-text);font-size:clamp(22px,2vw,27px);font-weight:600;letter-spacing:-.018em;line-height:1.18;text-transform:none}
.gv .gv-platform-next .gv-distribution-steps p{font-size:16.5px}
@media(max-width:800px){.gv .gv-platform-next .gv-distribution-steps{grid-template-columns:1fr}}
.gv.gv-platform-detail .faq{background:var(--gv-paper)}

.gv .gv-platform-cta{display:flex;align-items:center;justify-content:space-between;gap:clamp(20px,4vw,64px);padding-top:clamp(44px,5.4vw,76px);padding-bottom:clamp(44px,5.4vw,76px)}
.gv .gv-platform-cta h2{font-size:clamp(46px,5.3vw,84px);line-height:.9;color:var(--gv-ink)}
.gv .gv-platform-cta p:last-child{margin-top:clamp(12px,1.4vw,18px);font-size:18px;color:#223c44}
.gv .gv-platform-cta .button{flex-shrink:0;margin:0;min-height:64px;font-size:18px;padding:16px 30px;border-radius:14px}

.gv .gv-platform-others{background:var(--gv-sage)}
.gv .gv-other-grid{
  grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(6px,.7vw,10px);margin-top:0;padding:clamp(6px,.9vw,12px);
  background:var(--gv-slate-deep);border-radius:clamp(16px,1.8vw,24px);
  box-shadow:inset 0 0 0 1px #ffffff14,0 40px 70px -44px #0b1d24b3;
}
.gv .gv-other-platform{
  flex-direction:row;justify-content:flex-start;gap:12px;min-height:76px;padding:9px 14px 9px 9px;
  background:#10272f;color:var(--gv-on-dark);border:0;border-radius:clamp(9px,1vw,13px);
  font-size:16px;font-weight:600;line-height:1.2;text-align:left;
  box-shadow:inset 0 0 0 1px #ffffff12;
}
.gv .gv-other-platform img{width:58px;height:58px;flex-shrink:0;object-fit:contain;border-radius:8px}
.gv .gv-other-platform>span:last-child{margin-left:auto;font-size:15px;color:var(--gv-on-dark-soft)}
@media(hover:hover){
  .gv .gv-other-platform:hover{transform:none;background:#14323c;box-shadow:inset 0 0 0 1px #f0c36b8c}
  .gv .gv-other-platform:hover>span:last-child{color:var(--gv-gold)}
}
@media(max-width:1100px){.gv .gv-other-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:900px){
  .gv-platform-detail .gv-platform-hero{grid-template-columns:1fr;min-height:0}
  .gv .gv-platform-cta{display:block}
  .gv .gv-platform-cta .button{margin-top:22px}
  .gv :is(.fk-grid,.gd-game-grid){grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:700px){
  .gv.gv-platform-detail .gv-platform-fit{grid-template-columns:1fr}
  .gv-platform-detail .gv-platform-intro .actions{display:flex;flex-direction:column;align-items:stretch;gap:6px}
  .gv-platform-detail .gv-platform-intro .actions :is(.button,.text-link){justify-content:center;text-align:center}
  .gv .gv-other-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .gv .gv-other-platform{gap:10px;min-height:66px;padding:7px 10px 7px 7px;font-size:14.5px}
  .gv .gv-other-platform img{width:50px;height:50px}
  .gv .gv-other-platform>span[aria-hidden]{display:none}
  .gv .gv-platform-cta .button{display:flex;justify-content:center;width:100%;text-align:center;white-space:normal}
  .gv .showcase-art{grid-template-columns:repeat(2,minmax(0,1fr))}
  .gv .showcase-art img{height:210px;padding:8px 8px 0}
  .gv .showcase-grid:not(.showcase-art),.gv .juwa-screen-grid{grid-template-columns:1fr}
  .gv :is(.orion-game-grid,.river-game-grid){grid-template-columns:repeat(2,minmax(0,1fr))}
}

/* --------------------------------------------- Film and feature first screens ---- */
.gv .film-hero,.gv .feature-hero{height:calc(100svh - var(--gv-header));min-height:560px;max-height:940px;background:var(--gv-slate);color:#fff}
.gv .film-shade{background:linear-gradient(180deg,#0c1f2700 22%,#0c1f2733 42%,#0c1f27c4 82%,#0c1f27f0)}
.gv .feature-shade{background:linear-gradient(180deg,#0c1f2766,transparent 22%),linear-gradient(0deg,#0c1f27f7 0%,#0c1f27c2 30%,#0c1f2759 54%,transparent 76%)}
.gv .operator-hero .feature-shade{background:linear-gradient(90deg,#0c1f27e0 0%,#0c1f2780 46%,transparent 76%),linear-gradient(0deg,#0c1f27eb 0%,#0c1f2773 42%,transparent 72%)}
.gv .film-hero-copy{left:var(--gv-pad);right:var(--gv-pad);bottom:clamp(76px,9svh,104px)}
.gv .feature-hero-copy{left:var(--gv-pad);right:var(--gv-pad);bottom:clamp(32px,5.6svh,60px);max-width:none}
.gv :is(.film-hero,.feature-hero) .eyebrow{color:var(--gv-mint);margin-bottom:14px}
.gv :is(.film-hero,.feature-hero) h1{font-size:clamp(60px,min(9.2vw,17svh),148px);font-weight:800;line-height:.88;letter-spacing:.004em;max-width:none;color:#fff;text-shadow:0 4px 40px #0c1f2780}
.gv :is(.film-hero,.feature-hero) h1 em{color:var(--gv-gold)}
.gv .hero-wordmark{width:clamp(220px,min(30vw,42svh),460px);top:clamp(20px,6.5svh,64px)}
.gv .hero-contact-line,.gv .operator-hero-intro{margin-top:clamp(12px,1.6vw,20px);font-size:clamp(18px,1.6vw,22px);line-height:1.4;color:#f4f8f6}
.gv :is(.film-hero,.feature-hero) .actions{gap:12px 20px;margin-top:clamp(16px,2vw,26px)}
.gv .film-hero .actions>.contact-cta{min-width:0;padding:14px 22px}
.gv .film-footer{left:var(--gv-pad);right:var(--gv-pad);bottom:22px;padding-top:14px;border-top-color:#ffffff33}
.gv .film-footer>a{display:inline-flex;align-items:center;gap:10px;min-height:32px;color:#e8f0ef}
.gv .film-footer>a span{margin:0}
.gv .feature-tagline{margin:clamp(10px,1.2vw,16px) 0 0;font-size:clamp(20px,2.2vw,30px);font-weight:500;line-height:1.2;letter-spacing:-.012em;color:#f4f8f6}
.gv.feature-page .breadcrumbs{left:var(--gv-pad);right:auto;top:clamp(12px,2.2svh,22px);max-width:calc(100% - 2*var(--gv-pad));padding:5px 12px;gap:10px;font-size:14px;color:#fff;background:#0c1f27c7;border:1px solid #ffffff26;border-radius:8px;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}
/* Game art that already carries its title gets a quieter headline. */
.gv.game-feature .feature-hero h1{font-size:clamp(46px,min(5.6vw,11svh),92px)}

/* ------------------------------------------------------------ Kraken page ---- */
.gv .signature{background:var(--gv-sage);grid-template-columns:minmax(0,.86fr) minmax(0,1.14fr);min-height:0}
.gv .signature h2{font-size:clamp(56px,7vw,108px);line-height:.9}
.gv .signature-head>p:last-child{margin-top:clamp(14px,1.8vw,22px);font-size:18px;line-height:1.55;color:var(--gv-ink-soft)}
.gv .signature-word{font-family:var(--gv-display);font-weight:900;letter-spacing:.01em;font-size:clamp(110px,17vw,260px);top:0;color:#132b3417}
.gv .signature-caption{bottom:0;color:var(--gv-ink-soft)}
.gv .world-film{height:min(86svh,860px);min-height:560px;background:var(--gv-slate);color:#fff}
.gv .world-film .film-shade{background:linear-gradient(90deg,#0c1f27e6 0%,#0c1f2780 48%,transparent 78%),linear-gradient(0deg,#0c1f27cc 0%,#0c1f2759 40%,transparent 68%)}
.gv .world-copy{left:var(--gv-pad);right:var(--gv-pad);bottom:clamp(40px,8svh,80px)}
.gv .world-film .eyebrow{color:var(--gv-mint)}
.gv .world-copy h2{max-width:none;font-size:clamp(54px,7.8vw,124px);line-height:.88;color:#fff}
.gv .world-copy>p:not(.eyebrow){margin:clamp(14px,1.8vw,22px) 0 clamp(18px,2.2vw,28px);font-size:18px;line-height:1.55;color:#eef4f2}

.gv .brand-collection{background:var(--gv-paper)}
.gv .spotlight-collection{gap:clamp(14px,1.6vw,22px);margin-top:0}
.gv .spotlight-pair{gap:clamp(14px,1.6vw,22px)}
.gv .spotlight{--gv-focus:var(--gv-gold);background:var(--gv-slate);color:var(--gv-on-dark);border:0;border-radius:clamp(16px,1.8vw,24px);box-shadow:0 40px 70px -44px #0b1d24b3}
.gv .spotlight-number{top:clamp(12px,1.5vw,20px);left:clamp(12px,1.5vw,20px);padding:6px 10px;color:#fff;background:#0c1f27b3;border:1px solid #ffffff29;border-radius:7px;text-shadow:none}
.gv .spotlight-copy{padding:clamp(18px,2.4vw,32px);gap:clamp(16px,3vw,40px)}
.gv .spotlight-copy .eyebrow{margin:0 0 8px;color:var(--gv-mint)}
.gv .spotlight-copy h3,.gv .spotlight-pair .spotlight-copy h3{font-family:var(--gv-display);font-size:clamp(36px,4.2vw,64px);font-weight:800;letter-spacing:.004em;line-height:.94;text-transform:uppercase;color:#fff}
.gv .spotlight-pair .spotlight-copy h3{font-size:clamp(34px,3.2vw,50px)}
.gv .spotlight-copy p:not(.eyebrow){margin-top:8px;font-size:16px;line-height:1.5;color:var(--gv-on-dark-soft)}
.gv .spotlight .text-link{min-height:44px;font-size:16px;color:var(--gv-on-dark)}
.gv .spotlight .text-link:hover{color:var(--gv-gold)}
.gv .spotlight .text-link span{margin:0}
.gv .spotlight-actions{gap:6px}
.gv .spotlight-watch{background:#ffffff14;color:#fff;border:1px solid #ffffff4d;font-size:15px;min-height:48px;padding:10px 16px}
.gv .spotlight-watch:hover{background:#ffffff26;border-color:var(--gv-gold)}
.gv .brand-collection .catalog-invite{margin-top:clamp(28px,3.4vw,48px);padding:clamp(20px,2.6vw,32px) 0 0;border-top:2px solid var(--gv-slate)}
.gv .catalog-invite h3{font-family:var(--gv-display);font-size:clamp(38px,4.4vw,68px);font-weight:800;letter-spacing:.004em;line-height:.94;text-transform:uppercase;color:var(--gv-ink)}
.gv .catalog-invite .eyebrow{margin:0 0 8px}
.gv .gv-flagship-contact{padding-top:clamp(44px,5.4vw,76px);padding-bottom:clamp(44px,5.4vw,76px)}
.gv .gv-flagship-contact h2{font-size:clamp(50px,7vw,108px);line-height:.9}
.gv .gv-flagship-contact p:not(.eyebrow){font-size:18px;color:#223c44}
.gv .operator-story{background:var(--gv-slate-deep);color:var(--gv-on-dark)}
.gv .operator-story .eyebrow{color:var(--gv-mint)}
.gv .operator-story h2{color:#fff}
.gv .operator-story h2 em{color:var(--gv-gold)}
.gv .operator-bottom{gap:clamp(24px,6vw,96px);margin-top:clamp(24px,3vw,44px)}
.gv .operator-bottom>p{max-width:44ch;font-size:18px;line-height:1.6;color:var(--gv-on-dark-soft)}
.gv .operator-accordions details{border-bottom:1px solid var(--gv-line-dark)}
.gv .operator-accordions summary{min-height:62px;padding:16px 0;font-size:18px;font-weight:600;color:var(--gv-on-dark)}
.gv .operator-accordions summary span{color:var(--gv-gold);font-size:26px;line-height:1}
.gv .operator-accordions details p{padding-bottom:22px;font-size:16.5px;line-height:1.65;color:var(--gv-on-dark-soft)}
.gv .operator-accordions .distributor-contact{font-size:16.5px;color:var(--gv-on-dark)}

/* --------------------------------------------- Operators and game feature pages ---- */
.feature-page{background:var(--gv-sage)}
.gv .feature-story{grid-template-columns:minmax(0,1.3fr) minmax(0,.7fr);gap:clamp(24px,6vw,96px);background:var(--gv-sage)}
.gv .feature-story h2{font-size:clamp(50px,6vw,92px)}
.gv .feature-story-copy>p:not(.eyebrow){max-width:62ch;margin-top:16px;font-size:17px;line-height:1.65;color:var(--gv-ink-soft)}
.gv :is(.feature-story-copy,.operator-intro) .feature-lead{margin-top:clamp(16px,2vw,24px);font-size:clamp(22px,2.2vw,28px)!important;font-weight:500;letter-spacing:-.012em;line-height:1.3!important;color:var(--gv-ink)!important}
.gv .feature-poster{
  --gv-focus:var(--gv-gold);align-self:center;margin:0;
  padding:clamp(22px,2.8vw,40px) clamp(20px,2.6vw,36px) clamp(18px,2vw,26px);
  background:radial-gradient(80% 62% at 50% 40%,#2c7d7480,transparent 78%),var(--gv-slate-deep);
  border-radius:clamp(18px,2vw,28px);
  box-shadow:inset 0 0 0 1px #ffffff14,0 50px 80px -44px #0b1d24b3,0 16px 30px -22px #0b1d2480;
}
.gv .feature-poster img{filter:drop-shadow(0 20px 22px #000000a6)}
.gv .feature-poster figcaption{margin-top:16px;color:var(--gv-on-dark-soft);text-align:center}
.gv .feature-details{gap:clamp(24px,5vw,72px);background:var(--gv-slate);color:var(--gv-on-dark);border:0;padding-top:clamp(44px,5vw,68px)!important;padding-bottom:clamp(44px,5vw,68px)!important}
.gv .feature-index{color:var(--gv-mint)}
.gv .feature-details h3{margin:10px 0 8px;font-family:var(--gv-display);font-size:clamp(32px,3.2vw,46px);font-weight:800;letter-spacing:.004em;line-height:1;text-transform:uppercase;color:#fff}
.gv .feature-details p{font-size:17px;line-height:1.55;color:var(--gv-on-dark-soft)}
.gv .feature-availability{max-width:none;margin:0;padding-inline:max(var(--gv-pad),calc((100% - 880px)/2));background:var(--gv-paper);text-align:center}
.gv .feature-availability .eyebrow{justify-content:center}
.gv .feature-availability h2{font-size:clamp(46px,5.4vw,84px)}
.gv .feature-availability>p:not(.eyebrow){margin:18px auto;max-width:66ch;font-size:17px;line-height:1.65;color:var(--gv-ink-soft)}
.gv .related-section{background:var(--gv-sage)}
.gv .related-section h2{font-size:clamp(46px,5.4vw,84px)}
.gv .related-grid{
  --gv-focus:var(--gv-gold);
  gap:clamp(6px,.7vw,10px);margin-top:0;padding:clamp(6px,.9vw,12px);
  background:var(--gv-slate-deep);border-radius:clamp(18px,2vw,28px);
  box-shadow:inset 0 0 0 1px #ffffff14,0 50px 80px -44px #0b1d24b3;
}
.gv .related-game{
  position:relative;padding:clamp(14px,1.6vw,22px) clamp(12px,1.4vw,18px) clamp(12px,1.2vw,16px);
  background:#10272f;color:var(--gv-on-dark);border:0;border-radius:clamp(10px,1.1vw,16px);
  box-shadow:inset 0 0 0 1px #ffffff12;transition:background .22s ease,box-shadow .22s ease;
}
.gv .related-game img{height:clamp(190px,23vw,330px);filter:drop-shadow(0 16px 16px #000000a6);transition:transform .28s cubic-bezier(.2,.7,.2,1)}
.gv .related-game>div{margin-top:clamp(10px,1.2vw,16px);padding-right:22px}
.gv .related-game small{display:block;color:var(--gv-on-dark-soft);font-size:12px}
.gv .related-game h3{margin-top:3px;font-size:clamp(15px,1.3vw,18px);font-weight:600;letter-spacing:-.01em;line-height:1.25;color:var(--gv-on-dark)}
.gv .related-game span{top:auto;bottom:2px;color:var(--gv-on-dark-soft)}
@media(hover:hover){
  .gv .related-game:hover{transform:none;background:#14323c;box-shadow:inset 0 0 0 1px #f0c36b8c}
  .gv .related-game:hover img{transform:scale(1.04)}
  .gv .related-game:hover span{color:var(--gv-gold)}
}
.gv .feature-contact{grid-template-columns:minmax(0,1.5fr) minmax(0,.7fr);gap:clamp(20px,5vw,80px);align-items:end;padding-top:clamp(44px,5.4vw,76px);padding-bottom:clamp(44px,5.4vw,76px)}
.gv .feature-contact h2{font-size:clamp(50px,6.6vw,104px);line-height:.9}
.gv .feature-contact p:not(.eyebrow){margin-top:clamp(12px,1.6vw,20px);max-width:56ch;font-size:18px;line-height:1.5;color:#223c44}
.gv .feature-contact-action{gap:6px}
.gv .feature-contact-action .button{min-height:56px;padding:14px 24px;font-size:17px}
.gv .feature-contact .text-link{color:var(--gv-ink)}
.gv .feature-contact-action small{font-size:14px;color:#223c44}

.gv .operator-intro{gap:0 clamp(24px,6vw,96px);background:var(--gv-sage)}
.gv .operator-intro h2{font-size:clamp(52px,6.4vw,100px)}
.gv .operator-intro p:not(.eyebrow):not(.feature-lead){margin-bottom:14px;font-size:17px;line-height:1.65;color:var(--gv-ink-soft)}
.gv .operator-intro .feature-lead{margin-top:0;margin-bottom:14px}
.gv .platform-chapters{
  display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(10px,1.3vw,18px);background:var(--gv-paper);
}
.gv .platform-chapters .section-heading{grid-column:1/-1;margin-bottom:clamp(10px,1.4vw,20px)}
.gv .platform-chapters article,.gv .platform-chapters article:first-of-type{
  display:flex;flex-direction:column;gap:10px;margin:0;padding:clamp(20px,2.2vw,30px);
  background:#fff;border:0;border-radius:clamp(12px,1.3vw,18px);box-shadow:inset 0 0 0 1px var(--gv-line);
}
.gv .platform-chapters article::before{content:'';width:34px;height:4px;margin-bottom:4px;border-radius:2px;background:var(--gv-teal-ink)}
.gv .platform-chapters .chapter-number{display:none}
.gv .platform-chapters .eyebrow{margin:0 0 8px}
.gv .platform-chapters h3{max-width:none;font-family:var(--gv-text);font-size:clamp(22px,2vw,27px);font-weight:600;letter-spacing:-.018em;line-height:1.18;text-transform:none}
.gv .platform-chapters article>p{font-size:16.5px;line-height:1.6;color:var(--gv-ink-soft)}
@media(max-width:800px){.gv .platform-chapters{grid-template-columns:1fr}}
.gv .operator-next{gap:clamp(24px,6vw,96px);background:var(--gv-sage);border:0}
.gv .operator-next h2{font-size:clamp(50px,6vw,92px)}
.gv .operator-next>div>p:not(.eyebrow){margin:18px 0;font-size:17px;line-height:1.65;color:var(--gv-ink-soft)}
.gv .operator-next small{margin-top:12px;font-size:14px;color:var(--gv-ink-soft)}
.gv .operator-questions h3{margin-bottom:12px;font-family:var(--gv-display);font-size:clamp(32px,3.2vw,46px);font-weight:800;letter-spacing:.004em;line-height:1;text-transform:uppercase}
.gv .operator-questions details{border-bottom:1px solid var(--gv-line)}
.gv .operator-questions .availability-note{margin-top:14px;font-size:14px!important;color:var(--gv-ink-soft)}
@media(max-width:900px){
  .gv .feature-contact{grid-template-columns:1fr}
  .gv .signature{grid-template-columns:1fr}
}
@media(max-width:700px){
  .gv .operator-hero-intro br{display:inline}
  .gv .operator-intro h2{margin-bottom:18px}
  .gv .film-hero,.gv .feature-hero{min-height:600px}
  .gv :is(.film-hero,.feature-hero) h1{font-size:clamp(54px,15.4vw,84px)}
  .gv.game-feature .feature-hero h1{font-size:clamp(44px,12.6vw,66px)}
  .gv .world-copy h2{font-size:clamp(50px,14vw,80px)}
  .gv .film-hero .actions{gap:8px 12px}
  .gv .spotlight-copy{display:block}
  .gv .spotlight-actions{margin-top:14px;align-items:flex-start}
  .gv .feature-story{grid-template-columns:1fr}
  .gv .feature-details{grid-template-columns:1fr;gap:22px}
  .gv .feature-details>div+div{padding-top:22px;border-top:1px solid var(--gv-line-dark)}
  .gv .related-game img{height:190px}
  .gv .operator-intro,.gv .operator-next{grid-template-columns:1fr}
  .gv .brand-collection .catalog-invite{flex-direction:column;align-items:flex-start;gap:14px}
}

/* ---------------------------------------------------------------- Catalog ---- */
.catalog-page .games{background:var(--gv-sage);padding-top:clamp(36px,4.6vw,64px);padding-bottom:0}
.catalog-page h1{font-size:clamp(56px,min(7vw,13.5svh),108px);line-height:.88}
.catalog-page h1 em{color:var(--gv-teal-ink)}
.catalog-page .catalog-search{margin-top:clamp(18px,2.2vw,28px);font-size:15px;font-weight:600;color:var(--gv-ink)}
.catalog-page .catalog-search input{min-height:52px;margin-top:7px;padding:12px 16px;background:#fff;color:var(--gv-ink);border:1px solid #a9bcb7;border-radius:12px;font-size:16px}
.catalog-page .catalog-search input:focus{border-color:var(--gv-teal-ink);box-shadow:0 0 0 3px #0f6a6133}
.catalog-page .catalog-search input::placeholder{color:#5a7076}
.catalog-page .lobby-filters{border-bottom:0;margin-bottom:10px}
.catalog-page .lobby-filters .lobby-filter{color:var(--gv-ink);font-size:15px}
.catalog-page .lobby-filter .filter-label{color:var(--gv-ink);font-weight:600}
.catalog-page .lobby-filter .filter-count{font-family:var(--gv-mono);font-size:13px;background:var(--gv-sage-deep);color:var(--gv-ink)}
.catalog-page .lobby-filter.active .filter-label{color:var(--gv-teal-ink);font-weight:700}
.catalog-page .lobby-filter.active .filter-count{background:var(--gv-slate);color:var(--gv-on-dark)}
.catalog-page .lobby-filter::after{background:var(--gv-teal-ink)}
.catalog-page .filter-swipe-hint{color:var(--gv-ink-soft);font-size:13.5px}
/* The approved jade gallery stays; only its bleed follows the new page gutter. */
.catalog-page .catalog-gallery{margin:clamp(18px,2.4vw,30px) calc(-1*var(--gv-pad)) 0;padding:clamp(24px,3vw,36px) var(--gv-pad) clamp(40px,5vw,64px)}
.catalog-page .catalog-gallery .catalog-results{font-size:15.5px;font-weight:500}
.catalog-page .catalog-gallery .game-caption h3{font-size:clamp(14px,1.2vw,17px);font-weight:700;letter-spacing:-.01em;line-height:1.25}
.catalog-page .catalog-gallery .game-caption small{font-family:var(--gv-mono);font-size:12px;font-weight:500;letter-spacing:.04em}
.catalog-page .catalog-gallery .catalog-source-note{font-size:14.5px;line-height:1.5}
.catalog-page .catalog-contact{padding-top:clamp(32px,4vw,52px);padding-bottom:clamp(32px,4vw,52px);padding-left:var(--gv-pad);padding-right:var(--gv-pad)}
.catalog-page .catalog-contact p{font-family:var(--gv-display);font-size:clamp(34px,4.4vw,68px);font-weight:800;letter-spacing:.004em;line-height:.94;text-transform:uppercase;color:var(--gv-ink)}
.catalog-page .faq,.catalog-page .catalog-guide{background:var(--gv-paper)}

/* ---------------------------------------------------------------- Dialogs ---- */
.gv dialog::backdrop{background:#0c1f27e6;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}
.gv .site-disclaimer{
  width:min(640px,calc(100% - 24px));padding:0;background:var(--gv-paper);color:var(--gv-ink);
  border:0;border-radius:18px;box-shadow:0 40px 120px #000000a6;
}
.gv .disclaimer-brand{padding:12px 26px;background:var(--gv-slate);border:0}
.gv .gv-notice-brand{font-family:var(--gv-display);font-size:30px;font-weight:800;letter-spacing:.012em;line-height:1;text-transform:uppercase;color:var(--gv-on-dark)}
.gv .age-badge{
  width:46px;height:46px;border:0;border-radius:11px;font-family:var(--gv-display);font-size:23px;font-weight:900;color:var(--gv-slate);
  background:linear-gradient(180deg,var(--gv-gold-hi),var(--gv-gold) 62%);box-shadow:inset 0 1px 0 #ffffff99,inset 0 -2px 0 var(--gv-gold-lo);
}
.gv .disclaimer-body{padding:clamp(18px,2.6vh,26px) 26px clamp(16px,2.4vh,22px)}
.gv .site-disclaimer .eyebrow{margin-bottom:8px;font-size:12.5px;letter-spacing:.05em}
.gv .site-disclaimer h2{margin-bottom:10px;font-size:clamp(40px,6vw,54px)!important;letter-spacing:.004em;line-height:.94;color:var(--gv-ink)}
.gv .site-disclaimer #disclaimer-intro{font-size:15.5px;line-height:1.5;color:var(--gv-ink-soft)}
.gv .disclaimer-terms{margin:14px 0;padding:14px 16px;background:var(--gv-sage);border:1px solid var(--gv-line);border-radius:12px}
.gv .disclaimer-terms h3{margin-bottom:3px;font-size:15px;letter-spacing:-.005em;line-height:1.3;color:var(--gv-ink)}
.gv .disclaimer-terms h3:not(:first-child){margin-top:12px}
.gv .disclaimer-terms p{font-size:14px;line-height:1.5;color:var(--gv-ink-soft)}
.gv .disclaimer-terms .rules-pending{margin-top:10px;padding-top:10px;border-top:1px solid var(--gv-line);color:var(--gv-ink-soft)}
.gv .age-confirm{gap:11px;align-items:center;min-height:44px;margin:0 0 10px;font-size:15px;font-weight:500;line-height:1.35;color:var(--gv-ink)}
.gv .age-confirm input{flex:0 0 22px;width:22px;height:22px;min-height:0;margin:0;accent-color:var(--gv-teal-ink)}
.gv .disclaimer-actions{gap:20px}
.gv .disclaimer-actions .button{min-height:52px;font-size:16px;padding:12px 20px}
.gv .disclaimer-actions .button:disabled{opacity:1;background:var(--gv-sage-deep);color:#5a7076;box-shadow:inset 0 0 0 1px #b7c8c3;transform:none}
.gv .disclaimer-leave{display:inline-flex;align-items:center;min-height:44px;font-size:15px;color:var(--gv-ink-soft)}
.gv .disclaimer-session{margin-top:10px;font-size:13px;line-height:1.45;color:var(--gv-ink-soft)}

.gv #privacy-dialog{background:var(--gv-paper);color:var(--gv-ink);border:0;border-radius:18px;box-shadow:0 40px 120px #000000a6}
.gv #privacy-dialog .privacy-heading{--gv-focus:var(--gv-gold);padding:20px 28px 16px;background:var(--gv-slate);color:var(--gv-on-dark);border:0}
.gv #privacy-dialog .privacy-heading .eyebrow{margin:0 50px 8px 0;color:var(--gv-mint)}
.gv #privacy-dialog h2{margin:0 42px 6px 0;font-size:clamp(38px,5vw,50px);letter-spacing:.004em;line-height:.96;color:#fff}
.gv #privacy-dialog .notice-date{font-size:14px;color:var(--gv-on-dark-soft)}
.gv #privacy-dialog .close-dialog{color:var(--gv-on-dark);background:none}
.gv #privacy-dialog .privacy-copy{padding:20px 28px 28px}
.gv #privacy-dialog .privacy-copy h3{margin:24px 0 6px;font-size:17px;color:var(--gv-ink)}
.gv #privacy-dialog .privacy-copy p{margin:0 0 12px;font-size:15.5px;line-height:1.6;color:var(--gv-ink-soft)}
.gv #privacy-dialog a:not(.text-link),.privacy-inline-link{color:var(--gv-teal-ink)}

.gv #game-dialog{background:var(--gv-paper);color:var(--gv-ink);border:0;border-radius:18px;box-shadow:0 40px 120px #000000a6}
.gv #game-dialog .dialog-copy h2{margin-bottom:12px;font-size:clamp(40px,4.6vw,60px);color:var(--gv-ink)}
.gv #game-dialog .dialog-copy .eyebrow{margin-bottom:8px;font-size:12.5px}
.gv #game-dialog .dialog-copy>p:not(.eyebrow){margin-bottom:14px;font-size:16px;line-height:1.55;color:var(--gv-ink-soft)}
.gv #game-dialog .dialog-copy .dialog-note{font-size:14px!important}
.gv #game-dialog .close-dialog{color:var(--gv-slate);width:44px;height:44px;display:grid;place-items:center;padding:0;right:8px;top:8px}
.gv #film-dialog{--gv-focus:var(--gv-gold);background:var(--gv-slate-deep);color:var(--gv-on-dark);border:0;border-radius:16px;box-shadow:0 40px 120px #000000a6}
.gv .film-dialog-header h2{font-size:clamp(26px,3vw,36px)!important;letter-spacing:.004em;line-height:1;color:#fff}
.gv .film-caption{font-family:var(--gv-mono);font-size:13px;letter-spacing:.02em;color:var(--gv-on-dark-soft)}
.gv #film-dialog .close-dialog{color:var(--gv-on-dark)}
@media(max-width:700px){
  .gv .site-disclaimer h2{font-size:42px!important}
  .gv .disclaimer-actions .button{font-size:15px}
}

/* ------------------------------------------------------------ Asset repairs ---- */
/* juwa-1/screen-1 has a 47px black bar burned into its left edge. */
[data-stage=juwa] .juwa-screen:first-child img{width:104.1%;max-width:none;margin-left:-4.1%}
/* Smallest phones: keep the header inside the screen. */
@media(max-width:360px){
  .site-header .brand.gv-brand .gv-wordmark{font-size:22px!important}
  .gv .site-header .contact-cta{padding:8px 11px;font-size:13.5px}
  .gv .site-header .nav-cta span{display:none}
  .gv .site-header{gap:8px}
}

/* Short laptop screens: lay the notice terms in two columns so Continue stays in view. */
@media(min-width:901px) and (max-height:860px){
  .gv .site-disclaimer{width:min(860px,calc(100% - 48px))}
  .gv .disclaimer-terms{column-count:2;column-gap:28px}
  .gv .disclaimer-terms p{break-inside:avoid}
  .gv .disclaimer-terms h3{break-after:avoid}
  .gv .disclaimer-terms .rules-pending{margin-top:8px;padding-top:0;border-top:0}
}
#brand-film{background:#06141a}

/* Small screens stack text over the first screen, so glows move behind the art
   and scrims reach higher. Keeps text at AA against the actual rendered pixels. */
@media(max-width:900px){
  .gv-distribution-home .gv-home-hero{
    background-image:radial-gradient(110% 36% at 60% 82%,#17796f73,transparent 72%),linear-gradient(180deg,var(--gv-slate),var(--gv-slate-deep));
  }
  .gv-distribution-home .gv-home-hero::before{display:none}
  .gv-platform-detail .gv-platform-hero{
    background-image:
      radial-gradient(110% 40% at 62% 84%,color-mix(in srgb,var(--glow-a) 62%,transparent),transparent 74%),
      radial-gradient(70% 22% at 18% 104%,color-mix(in srgb,var(--glow-b) 30%,transparent),transparent 72%);
  }
}
@media(max-width:700px){
  .gv .film-shade{background:linear-gradient(180deg,#0c1f2700 12%,#0c1f27a6 38%,#0c1f27eb 62%,#0c1f27fa)}
  .gv .feature-shade{background:linear-gradient(180deg,#0c1f2766,transparent 20%),linear-gradient(0deg,#0c1f27fa 0%,#0c1f27e6 42%,#0c1f27a6 62%,transparent 84%)}
  .gv .operator-hero .feature-shade{background:linear-gradient(0deg,#0c1f27fa 0%,#0c1f27eb 54%,#0c1f27b3 74%,transparent 94%)}
  .gv.zombie-feature .feature-shade{background:linear-gradient(0deg,#0c1f27f7 0%,#0c1f27f7 40%,transparent 58%)}
  .gv .world-film .film-shade{background:linear-gradient(0deg,#0c1f27f5 0%,#0c1f27d9 50%,#0c1f27a6 72%,transparent 94%)}
}
/* Availability and source notes stay close to full strength; they carry qualifiers. */
.gv :is(.fk-gallery-foot,.gd-gallery-foot,.orion-gallery-foot,.river-gallery-foot) p,
.gv :is(.showcase-reference,.juwa-reference),
.gv :is(.showcase-reference,.juwa-reference) a{color:#e2eaea}
.gv-distribution-home .gv-lineup-note{color:#2b444c}

@media(min-width:701px) and (max-width:1100px){
  .gv .site-header .gv-games-menu{position:static}
  .gv .site-header .gv-games-dropdown{top:calc(100% + 8px);left:auto;right:var(--gv-pad)}
}

/* Narrow tablets: keep nav labels on one line. */
.gv .site-header nav>a,.gv .gv-games-menu summary{white-space:nowrap}
@media(min-width:701px) and (max-width:900px){
  .gv .site-header nav{gap:14px;font-size:14px}
}
@media(min-width:701px) and (max-width:820px){
  .site-header .gv-symbol{display:none}
}

/* Tablets and below: headings get the full width; their side notes drop underneath. */
@media(max-width:900px){
  .gv .section-heading{display:block}
  .gv .section-heading>p{margin:16px 0 0}
  .gv .section-heading>.text-link{margin-top:10px}
  .gv-distribution-home .gv-cinema-caption>span{max-width:none}
}
