/* ==========================================================================
   Amlog Apps — site stylesheet
   One consolidated pass. Theme: a pixel-art city at dusk. The homepage reads
   as the Amlog building from rooftop to street; inner pages hang content on
   paper posters against brick. Reading text stays in Inter.

   Contents
     1. Tokens            6. Footer + cookie       11. Inner pages
     2. Base              7. Pixel primitives      12. Game pages (dark)
     3. Type              8. Homepage: hero        13. Legal + account docs
     4. Buttons + links   9. Homepage: floors      14. 404
     5. Navigation       10. Homepage: components  15. Motion
   ========================================================================== */

/* ---------------------------------------------------------------- 1. Tokens */
:root{
  /* brand (from the logo) */
  --navy:#1F1B3E;
  --navy-deep:#16132E;
  --maroon:#6B0015;
  --maroon-bright:#CB3450;
  --green:#004721;

  /* neutrals on light surfaces */
  --text:#1A1830;
  --muted:#5B5870;
  --subtle:#86839A;
  --bg:#FFFFFF;
  --surface:#F6F5F1;
  --line:#E4E1DA;
  --line-strong:#CFCBC1;

  /* on dark */
  --on-dark-muted:#B9B6CC;
  --on-dark-line:rgba(255,255,255,.12);
  --pink:#E7B8C0;

  /* type */
  --font:'Inter',-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,Helvetica,Arial,sans-serif;
  --font-display:'Pixelify Sans','Inter',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;
  --font-pixel-label:'Silkscreen',ui-monospace,monospace;

  /* layout */
  --max:1200px;
  --max-text:760px;
  --gutter:clamp(1rem,4vw,2.5rem);
  --radius:8px;
  --radius-lg:14px;
  --nav-h:72px;
  --shadow:0 1px 2px rgba(22,19,46,.06),0 8px 24px -12px rgba(22,19,46,.12);

  /* on dark scenes */
  --on-dark:#FFFFFF;
  --on-dark-soft:#E6E2F5;
  --on-brick:#F2E4E0;
  --warm:#FFD9B0;
  --warm-light:#FFE7C7;
  --link:#B4233F;
  /* posters and panels */
  --paper:#FBF8F3;
  --paper-2:#F3EEE6;
  --paper-3:#E6DED2;
  --frame:#1A1426;

  /* type scale: five display steps */
  --fs-hero:clamp(2.5rem,6.6vw,5rem);
  --fs-1:clamp(2.25rem,4.6vw,3.5rem);
  --fs-2:clamp(1.75rem,3.2vw,2.5rem);
  --fs-3:clamp(1.5rem,2.6vw,2rem);

  /* scene */
  --dusk:linear-gradient(180deg,#16132E 0%,#1E1A45 28%,#34285F 52%,#5A3470 70%,#A2466B 84%,#E0795A 95%,#F2A15F 100%);
  color-scheme:light;
}
/* every page carries body.theme-apple */
.theme-apple{
  --nav-h:52px;--a-ink:#1B1930;--a-muted:#625F75;
    --skyline-h:192px;
  color:var(--a-ink);font-size:17px;letter-spacing:-.011em;
}
@media (max-width:760px){.theme-apple{--skyline-h:128px;}}
/* game pages add body.theme-dark */
.theme-dark{
  --bg:#16132E;--surface:#1F1B3E;
  --text:#F4F3FA;--muted:#B9B6CC;--subtle:#8E8AA6;
  --line:rgba(255,255,255,.10);--line-strong:rgba(255,255,255,.18);
  background:var(--bg);color:var(--text);color-scheme:dark;
}
.theme-apple.theme-dark{color:var(--text);}

/* ------------------------------------------------------------------ 2. Base */
*,*::before,*::after{box-sizing:border-box;}
html{scroll-behavior:smooth;scroll-padding-top:calc(var(--nav-h) + 16px);-webkit-text-size-adjust:100%;}
body{margin:0;background:var(--bg);color:var(--text);font-family:var(--font);font-size:16px;line-height:1.65;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;overflow-x:hidden;}
img{max-width:100%;height:auto;display:block;}
a{color:var(--navy);text-decoration-thickness:1px;text-underline-offset:3px;}
a:hover{color:var(--maroon);}
.theme-dark a{color:#fff;}
.theme-dark a:hover{color:color-mix(in srgb,var(--accent,var(--pink)) 65%,#fff);}
p{margin:0 0 1rem;}
ul,ol{margin:0;padding:0;}
strong{font-weight:600;color:var(--text);}
:focus-visible{outline:2px solid var(--navy);outline-offset:3px;border-radius:2px;}
::selection{background:var(--navy);color:#fff;}
.theme-dark ::selection{background:var(--accent,#fff);color:#16132E;}

.skip-link{position:absolute;left:1rem;top:-100px;z-index:2000;background:var(--navy);color:#fff;padding:.6rem 1rem;border-radius:var(--radius);text-decoration:none;font-weight:600;}
.skip-link:focus{top:1rem;color:#fff;}
.visually-hidden{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;}
.container{width:100%;max-width:var(--max);margin:0 auto;padding:0 var(--gutter);}

/* ------------------------------------------------------------------ 3. Type */
h1,h2,h3,h4{font-family:var(--font-display);color:var(--text);line-height:1.15;letter-spacing:0;margin:0;font-weight:600;}
/* Pixelify Sans only at display sizes; smaller headings read better in Inter */
h3,h4{font-family:var(--font);letter-spacing:-.01em;}
.display{font-size:var(--fs-hero);line-height:1.02;letter-spacing:0;font-weight:700;}
.h3{font-size:1.25rem;letter-spacing:-.015em;}
.lead{font-size:clamp(1.075rem,1.4vw,1.25rem);line-height:1.6;color:var(--muted);max-width:40em;}
.muted{color:var(--muted);}
.prose p{color:var(--muted);font-size:1.05rem;line-height:1.7;}
.prose p strong{color:var(--text);}

/* pixel label (small caps pixel font) */
.eyebrow{display:inline-flex;align-items:center;gap:.65rem;font-family:var(--font-pixel-label);font-size:1rem;font-weight:400;letter-spacing:0;text-transform:uppercase;color:var(--maroon);margin:0 0 1.25rem;}
.eyebrow::before{content:'';width:24px;height:2px;background:currentColor;}
.theme-dark .eyebrow{color:color-mix(in srgb,var(--accent,var(--pink)) 55%,#fff);}

/* homepage type */
.a-kicker{font-family:var(--font-pixel-label);font-weight:400;text-transform:uppercase;letter-spacing:0;font-size:1rem;color:var(--on-dark-muted);margin:0 0 .9rem;text-wrap:balance;}
.a-kicker--brand{color:var(--link);}
.a-tag{font-family:var(--font);font-weight:700;text-transform:uppercase;letter-spacing:.08em;font-size:.72rem;margin:0;color:color-mix(in srgb,var(--accent,var(--maroon)) 62%,#000);}
.a-display{font-family:var(--font-display);font-size:var(--fs-hero);font-weight:700;letter-spacing:0;line-height:1.06;color:#fff;margin:0 0 1.4rem;}
.a-h2{font-family:var(--font-display);font-size:var(--fs-1);font-weight:700;letter-spacing:0;line-height:1.08;margin:0;}
.a-sub{font-size:clamp(1.1rem,1.7vw,1.4rem);line-height:1.45;color:var(--a-muted);max-width:34em;margin:1.2rem auto 0;letter-spacing:-.015em;}
.a-sub strong{color:inherit;}
.a-center{text-align:center;margin-top:2rem;}
.a-head{text-align:center;max-width:860px;margin:0 auto clamp(3rem,6vw,4.5rem);}

/* three-square pixel accent (logo red + green + gold) under section titles */
.a-head .a-h2::after,.page-body h2:not(.h3)::after{content:'';display:block;width:36px;height:8px;margin-top:1rem;
  background:linear-gradient(90deg,#CB3450 0 8px,transparent 8px 14px,#2FA565 14px 22px,transparent 22px 28px,#F2B33D 28px 36px);}
.a-head .a-h2::after{margin-left:auto;margin-right:auto;}
.page-body .card h2::after,.doc h2::after{display:none!important;}

/* --------------------------------------------------------- 4. Buttons + links */
/* notched pixel buttons: a square body; four box-shadows step the corners */
.btn,.a-pill{--pill:var(--navy);display:inline-flex;align-items:center;justify-content:center;border:0;border-radius:0;background:var(--pill);color:#fff;margin:4px;
  font-family:var(--font-pixel-label);font-weight:400;font-size:1rem;letter-spacing:0;text-transform:uppercase;text-decoration:none;cursor:pointer;
  box-shadow:4px 0 0 0 var(--pill),-4px 0 0 0 var(--pill),0 4px 0 0 var(--pill),0 -4px 0 0 var(--pill),inset 0 -4px 0 0 rgba(0,0,0,.18);
  transition:transform .15s,background .15s,box-shadow .15s;}
.btn{gap:.5rem;min-height:48px;padding:.75rem 1.4rem;line-height:1;white-space:nowrap;}
.a-pill{min-height:44px;padding:.65rem 1.35rem;}
.btn:hover,.a-pill:hover{--pill:var(--navy-deep);color:#fff;transform:translateY(-2px);}
.btn--sm{min-height:40px;padding:.55rem 1rem;}
.btn--ghost{--pill:var(--paper-2);color:var(--navy);}
.btn--ghost:hover{--pill:var(--paper-3);color:var(--navy);}
/* white buttons on dark scenes */
.btn--light,.page-header .btn,.error-page .btn,.a-hero .a-pill,.a-section--facade .a-head .a-pill,.a-section--brick .a-head .a-pill,.a-community .a-pill{--pill:#fff;color:#16132E;}
.a-hero .a-pill{color:var(--navy-deep);}
.btn--light:hover,.page-header .btn:hover,.error-page .btn:hover,.a-hero .a-pill:hover,.a-section--facade .a-head .a-pill:hover,.a-section--brick .a-head .a-pill:hover,.a-community .a-pill:hover{--pill:var(--warm-light);color:#16132E;}
.a-hero .a-pill:hover{color:var(--navy-deep);}
.page-header .btn--ghost,.error-page .btn--ghost{--pill:rgba(22,19,46,.62);color:#fff;}
.page-header .btn--ghost:hover,.error-page .btn--ghost:hover{--pill:rgba(22,19,46,.85);color:#fff;}
/* email addresses stay in a normal-case font so they read (and copy) correctly */
.btn[href^="mailto:"],.a-pill[href^="mailto:"]{font-family:var(--font);font-weight:600;text-transform:none;letter-spacing:0;font-size:.9rem;}
.doc a.btn,.doc a.btn:hover{color:#fff;text-decoration:none;}
.btn-row{display:flex;flex-wrap:wrap;gap:.75rem;}

/* text links with a pixel arrow */
.a-more{color:var(--link);font-weight:500;text-decoration:none;font-size:1.02rem;white-space:nowrap;}
.a-more:hover{text-decoration:underline;color:var(--link);}
.a-section--dark .a-more:hover,.a-community .a-more:hover{color:#fff;}
.a-more--light,.a-more--light:hover{color:#fff;}
.link-arrow{display:inline-flex;align-items:center;gap:.4rem;font-weight:600;font-size:.925rem;color:var(--navy);text-decoration:none;}
.link-arrow:hover{color:var(--maroon);}
.theme-dark .link-arrow{color:#fff;}
.theme-dark .link-arrow:hover{color:color-mix(in srgb,var(--accent,var(--pink)) 65%,#fff);}
.a-more::after{font-size:1.15em;line-height:0;}
.a-more::after,.link-arrow::after{content:'';display:inline-block;width:7px;height:6px;margin-left:.4rem;vertical-align:.08em;background:currentColor;
  -webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 7 6' width='28' height='24' shape-rendering='crispEdges'%3E%3Crect x='2' y='0' width='1' height='1' fill='%23000'/%3E%3Crect x='2' y='1' width='1' height='1' fill='%23000'/%3E%3Crect x='3' y='1' width='1' height='1' fill='%23000'/%3E%3Crect x='0' y='2' width='1' height='1' fill='%23000'/%3E%3Crect x='1' y='2' width='1' height='1' fill='%23000'/%3E%3Crect x='2' y='2' width='1' height='1' fill='%23000'/%3E%3Crect x='3' y='2' width='1' height='1' fill='%23000'/%3E%3Crect x='4' y='2' width='1' height='1' fill='%23000'/%3E%3Crect x='5' y='2' width='1' height='1' fill='%23000'/%3E%3Crect x='6' y='2' width='1' height='1' fill='%23000'/%3E%3Crect x='0' y='3' width='1' height='1' fill='%23000'/%3E%3Crect x='1' y='3' width='1' height='1' fill='%23000'/%3E%3Crect x='2' y='3' width='1' height='1' fill='%23000'/%3E%3Crect x='3' y='3' width='1' height='1' fill='%23000'/%3E%3Crect x='4' y='3' width='1' height='1' fill='%23000'/%3E%3Crect x='5' y='3' width='1' height='1' fill='%23000'/%3E%3Crect x='6' y='3' width='1' height='1' fill='%23000'/%3E%3Crect x='2' y='4' width='1' height='1' fill='%23000'/%3E%3Crect x='3' y='4' width='1' height='1' fill='%23000'/%3E%3Crect x='2' y='5' width='1' height='1' fill='%23000'/%3E%3C/svg%3E") center/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 7 6' width='28' height='24' shape-rendering='crispEdges'%3E%3Crect x='2' y='0' width='1' height='1' fill='%23000'/%3E%3Crect x='2' y='1' width='1' height='1' fill='%23000'/%3E%3Crect x='3' y='1' width='1' height='1' fill='%23000'/%3E%3Crect x='0' y='2' width='1' height='1' fill='%23000'/%3E%3Crect x='1' y='2' width='1' height='1' fill='%23000'/%3E%3Crect x='2' y='2' width='1' height='1' fill='%23000'/%3E%3Crect x='3' y='2' width='1' height='1' fill='%23000'/%3E%3Crect x='4' y='2' width='1' height='1' fill='%23000'/%3E%3Crect x='5' y='2' width='1' height='1' fill='%23000'/%3E%3Crect x='6' y='2' width='1' height='1' fill='%23000'/%3E%3Crect x='0' y='3' width='1' height='1' fill='%23000'/%3E%3Crect x='1' y='3' width='1' height='1' fill='%23000'/%3E%3Crect x='2' y='3' width='1' height='1' fill='%23000'/%3E%3Crect x='3' y='3' width='1' height='1' fill='%23000'/%3E%3Crect x='4' y='3' width='1' height='1' fill='%23000'/%3E%3Crect x='5' y='3' width='1' height='1' fill='%23000'/%3E%3Crect x='6' y='3' width='1' height='1' fill='%23000'/%3E%3Crect x='2' y='4' width='1' height='1' fill='%23000'/%3E%3Crect x='3' y='4' width='1' height='1' fill='%23000'/%3E%3Crect x='2' y='5' width='1' height='1' fill='%23000'/%3E%3C/svg%3E") center/contain no-repeat;transition:transform .15s steps(2);}
.a-more:hover::after,.link-arrow:hover::after{transform:translateX(3px);}
.a-actions{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:1rem 1.75rem;margin-top:2rem;}
.a-links{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:.75rem 1.4rem;margin-top:1.6rem;}
.a-soon{font-size:.95rem;color:var(--a-muted);}

/* store badges */
.stores{display:flex;flex-wrap:wrap;gap:.5rem;}
.store{display:inline-flex;align-items:center;gap:.55rem;height:44px;padding:0 1rem 0 .8rem;border-radius:var(--radius);background:#111;color:#fff;text-decoration:none;border:1px solid #111;transition:background .2s;}
.store:hover{background:#2a2a2a;color:#fff;}
.store svg{width:20px;height:20px;flex-shrink:0;}
.store span{display:flex;flex-direction:column;line-height:1.1;font-size:.95rem;font-weight:600;letter-spacing:-.01em;}
.store small{font-size:.7rem;font-weight:500;letter-spacing:.02em;opacity:.8;}
.theme-dark .store{background:#000;border-color:rgba(255,255,255,.22);}
.theme-dark .store:hover{background:#111;}

/* ------------------------------------------------------------ 5. Navigation */
.site-nav{position:sticky;top:0;z-index:1000;height:var(--nav-h);background:rgba(22,19,46,.92);backdrop-filter:saturate(180%) blur(20px);-webkit-backdrop-filter:saturate(180%) blur(20px);border-bottom:1px solid rgba(255,255,255,.08);}
.site-nav .container{height:100%;display:flex;align-items:center;gap:2rem;}
.brand{display:inline-flex;align-items:center;gap:.7rem;text-decoration:none;color:var(--navy);flex-shrink:0;}
.brand img{height:20px;width:auto;}
.brand-name{font-family:var(--font);font-weight:700;font-size:.82rem;letter-spacing:.18em;text-transform:uppercase;color:#fff;line-height:1;}
.brand:hover .brand-name{color:#fff;}
.site-nav nav{margin-left:auto;}
.nav-menu{display:flex;align-items:center;gap:.25rem;list-style:none;margin:0;padding:0;}
.nav-menu a{display:block;padding:.4rem .75rem;font-family:var(--font);font-size:.85rem;font-weight:500;letter-spacing:0;color:var(--on-dark-muted);text-decoration:none;border-radius:6px;transition:color .15s;}
.nav-menu a:hover,.nav-menu a[aria-current="page"],.nav-menu a.is-active{color:#fff;}
.nav-menu a[aria-current="page"],.nav-menu a.is-active{box-shadow:inset 0 -2px 0 var(--maroon-bright);border-radius:0;}
.site-nav .nav-cta{--pill:#fff;background:var(--pill);color:#16132E;min-height:32px;padding:.35rem .8rem;}
.site-nav .nav-cta:hover{--pill:var(--warm-light);color:#16132E;}
.nav-toggle{display:none;margin-left:auto;width:38px;height:38px;border:1px solid rgba(255,255,255,.18);border-radius:var(--radius);background:transparent;cursor:pointer;align-items:center;justify-content:center;}
.nav-toggle span{display:block;width:18px;height:1.5px;background:#fff;position:relative;transition:background .2s;}
.nav-toggle span::before,.nav-toggle span::after{content:'';position:absolute;left:0;width:18px;height:1.5px;background:#fff;transition:transform .2s;}
.nav-toggle span::before{top:-6px;}
.nav-toggle span::after{top:6px;}
.nav-open .nav-toggle span{background:transparent;}
.nav-open .nav-toggle span::before{transform:translateY(6px) rotate(45deg);}
.nav-open .nav-toggle span::after{transform:translateY(-6px) rotate(-45deg);}
@media (min-width:1141px){.nav-menu-cta{display:none;}}
.nav-menu a{white-space:nowrap;}
@media (max-width:1140px){
  .site-nav .container{gap:.75rem;}
  .brand{min-width:0;}
  .nav-toggle{display:inline-flex;flex-shrink:0;}
  .site-nav nav{margin:0;}
  .nav-cta{display:none;}
  .nav-menu{position:fixed;top:var(--nav-h);left:0;right:0;flex-direction:column;align-items:stretch;gap:0;margin:0;padding:.5rem var(--gutter) 1.5rem;background:var(--navy-deep);border-bottom:1px solid rgba(255,255,255,.08);box-shadow:0 24px 40px -20px rgba(0,0,0,.5);display:none;max-height:calc(100vh - var(--nav-h));overflow-y:auto;}
  .nav-open .nav-menu{display:flex;}
  .nav-menu a{font-size:1rem;padding:.85rem 0;border-bottom:1px solid rgba(255,255,255,.08);border-radius:0;}
  .nav-menu a[aria-current="page"],.nav-menu a.is-active{box-shadow:none;color:var(--pink);}
  .nav-menu .nav-menu-cta{border:0;margin-top:1rem;}
  .site-nav .nav-menu .nav-menu-cta a{border:0;text-align:center;background:#fff;color:#16132E;font-weight:600;border-radius:var(--radius);padding:.9rem;}
}
@media (max-width:380px){.brand{gap:.55rem;}}

/* ------------------------------------------------------- 6. Footer + cookie */
.site-footer{position:relative;background:var(--navy-deep);color:var(--on-dark-muted);padding:0 0 2rem;font-size:.925rem;}
.site-footer .px-roof--footer{--roof-h:40px;margin-bottom:clamp(3rem,6vw,4.5rem);background:url(img/px/road.svg) 0 0/128px 40px repeat-x;}
.footer-grid{display:grid;grid-template-columns:1.6fr 1fr 1fr 1.2fr;gap:2.5rem;}
.footer-brand .brand{margin-bottom:1.25rem;}
.footer-brand p{max-width:30em;line-height:1.6;}
.footer-brand address{font-style:normal;line-height:1.7;margin-top:1rem;}
.footer-brand address a{color:#fff;}
.footer-col h2{font-family:var(--font);font-size:.75rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:#fff;margin:0 0 1.1rem;}
.footer-col ul{list-style:none;display:grid;gap:.6rem;}
.footer-col a{color:var(--on-dark-muted);text-decoration:none;transition:color .15s;}
.footer-col a:hover{color:#fff;}
.footer-bottom{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem 2rem;margin-top:clamp(3rem,6vw,4.5rem);padding-top:1.75rem;border-top:1px solid var(--on-dark-line);font-size:.825rem;}
.footer-bottom p{margin:0;}
.footer-legal{display:flex;flex-wrap:wrap;gap:1.5rem;}
.footer-legal a{color:var(--on-dark-muted);text-decoration:none;}
.footer-legal a:hover{color:#fff;}
.social{display:flex;gap:.5rem;margin-top:1.5rem;}
.social a{display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;border-radius:50%;border:1px solid var(--on-dark-line);color:var(--on-dark-muted);transition:color .15s,border-color .15s;}
.social a:hover{color:#fff;border-color:rgba(255,255,255,.4);}
.social svg{width:16px;height:16px;}
@media (max-width:900px){.footer-grid{grid-template-columns:1fr 1fr;}.footer-brand{grid-column:1/-1;}}
@media (max-width:520px){.footer-grid{grid-template-columns:1fr;}}

.cookie{position:fixed;left:1rem;right:1rem;bottom:1rem;z-index:1500;max-width:560px;margin-left:auto;background:#fff;border:1px solid var(--line);border-radius:var(--radius-lg);box-shadow:0 20px 50px -20px rgba(22,19,46,.35);padding:1.25rem 1.25rem 1.1rem;display:none;}
.cookie.is-visible{display:block;}
.cookie p{font-size:.875rem;color:var(--muted);margin:0 0 1rem;}
.cookie .btn-row{justify-content:flex-end;}

/* ----------------------------------------------------- 7. Pixel primitives */
/* stepped "pixel" corners: set --s (step size) on any element in this list */
.px-clip,.a-tile,.a-card,.a-faq,.a-trailers .video-frame,
.a-lineup img,.a-soon-icon,.a-icon,.game-hero-icon,.related img,.press-game img,
.card,.asset,.fields li,.callout,.tp-link,.related a,.band,.stat-callout,.video-embed,.a-shop,
.theme-apple:not(.theme-dark) .page-body > .container{
  --s:6px;border-radius:0;
  clip-path:polygon(0 calc(var(--s)*2),var(--s) calc(var(--s)*2),var(--s) var(--s),calc(var(--s)*2) var(--s),calc(var(--s)*2) 0,
    calc(100% - var(--s)*2) 0,calc(100% - var(--s)*2) var(--s),calc(100% - var(--s)) var(--s),calc(100% - var(--s)) calc(var(--s)*2),100% calc(var(--s)*2),
    100% calc(100% - var(--s)*2),calc(100% - var(--s)) calc(100% - var(--s)*2),calc(100% - var(--s)) calc(100% - var(--s)),calc(100% - var(--s)*2) calc(100% - var(--s)),calc(100% - var(--s)*2) 100%,
    calc(var(--s)*2) 100%,calc(var(--s)*2) calc(100% - var(--s)),var(--s) calc(100% - var(--s)),var(--s) calc(100% - var(--s)*2),0 calc(100% - var(--s)*2));}
.a-tile,.a-faq,.a-icon,.game-hero-icon,.band,.video-embed,.a-shop,.theme-apple:not(.theme-dark) .page-body > .container{--s:8px;}
.related img,.press-game img{--s:4px;}

/* brick rooftop: stone ledge on a brick wall */
.px-roof{--roof-h:64px;position:relative;height:var(--roof-h);image-rendering:pixelated;
  background:url(img/px/ledge.svg) 0 0/64px 16px repeat-x,url(img/px/wall.svg) 0 16px/96px 48px repeat;}
/* drifting pixel clouds + twinkling pixel stars in every dusk sky */
.px-sky{position:absolute;left:0;right:0;top:0;height:70%;z-index:-1;pointer-events:none;image-rendering:pixelated;
  background:url(img/px/clouds-a.svg) 0 22%/1440px 72px repeat-x,url(img/px/clouds-b.svg) 0 58%/1800px 72px repeat-x;}
.px-sky::before{content:'';position:absolute;inset:0;background:url(img/px/twinkle.svg) 120px 0/480px 360px repeat;opacity:.8;}
.a-hero > .container,.page-header > .container,.error-page > .container{position:relative;z-index:1;}
/* pixel icons + glyphs */
.px-icon{width:48px;height:48px;image-rendering:pixelated;display:block;margin:0 0 1.1rem;}
.checklist{list-style:none;display:grid;gap:.7rem;}
.checklist li{position:relative;padding-left:1.6rem;color:var(--muted);font-size:.95rem;line-height:1.5;}
.checklist li::before{content:'';position:absolute;left:0;top:.45em;width:12px;height:8px;background:var(--green);
  -webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 5' width='32' height='20' shape-rendering='crispEdges'%3E%3Crect x='6' y='0' width='1' height='1' fill='%23000'/%3E%3Crect x='7' y='0' width='1' height='1' fill='%23000'/%3E%3Crect x='5' y='1' width='1' height='1' fill='%23000'/%3E%3Crect x='6' y='1' width='1' height='1' fill='%23000'/%3E%3Crect x='0' y='2' width='1' height='1' fill='%23000'/%3E%3Crect x='1' y='2' width='1' height='1' fill='%23000'/%3E%3Crect x='4' y='2' width='1' height='1' fill='%23000'/%3E%3Crect x='5' y='2' width='1' height='1' fill='%23000'/%3E%3Crect x='1' y='3' width='1' height='1' fill='%23000'/%3E%3Crect x='2' y='3' width='1' height='1' fill='%23000'/%3E%3Crect x='3' y='3' width='1' height='1' fill='%23000'/%3E%3Crect x='4' y='3' width='1' height='1' fill='%23000'/%3E%3Crect x='2' y='4' width='1' height='1' fill='%23000'/%3E%3Crect x='3' y='4' width='1' height='1' fill='%23000'/%3E%3C/svg%3E") center/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 5' width='32' height='20' shape-rendering='crispEdges'%3E%3Crect x='6' y='0' width='1' height='1' fill='%23000'/%3E%3Crect x='7' y='0' width='1' height='1' fill='%23000'/%3E%3Crect x='5' y='1' width='1' height='1' fill='%23000'/%3E%3Crect x='6' y='1' width='1' height='1' fill='%23000'/%3E%3Crect x='0' y='2' width='1' height='1' fill='%23000'/%3E%3Crect x='1' y='2' width='1' height='1' fill='%23000'/%3E%3Crect x='4' y='2' width='1' height='1' fill='%23000'/%3E%3Crect x='5' y='2' width='1' height='1' fill='%23000'/%3E%3Crect x='1' y='3' width='1' height='1' fill='%23000'/%3E%3Crect x='2' y='3' width='1' height='1' fill='%23000'/%3E%3Crect x='3' y='3' width='1' height='1' fill='%23000'/%3E%3Crect x='4' y='3' width='1' height='1' fill='%23000'/%3E%3Crect x='2' y='4' width='1' height='1' fill='%23000'/%3E%3Crect x='3' y='4' width='1' height='1' fill='%23000'/%3E%3C/svg%3E") center/contain no-repeat;}
.checklist--dash li::before{width:6px;height:6px;top:.55em;background:var(--maroon-bright);
  -webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 2 2' width='8' height='8' shape-rendering='crispEdges'%3E%3Crect x='0' y='0' width='1' height='1' fill='%23000'/%3E%3Crect x='1' y='0' width='1' height='1' fill='%23000'/%3E%3Crect x='0' y='1' width='1' height='1' fill='%23000'/%3E%3Crect x='1' y='1' width='1' height='1' fill='%23000'/%3E%3C/svg%3E") center/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 2 2' width='8' height='8' shape-rendering='crispEdges'%3E%3Crect x='0' y='0' width='1' height='1' fill='%23000'/%3E%3Crect x='1' y='0' width='1' height='1' fill='%23000'/%3E%3Crect x='0' y='1' width='1' height='1' fill='%23000'/%3E%3Crect x='1' y='1' width='1' height='1' fill='%23000'/%3E%3C/svg%3E") center/contain no-repeat;}

/* ---------------------------------------------------------- 8. Homepage: hero */
.a-hero{position:relative;isolation:isolate;overflow:hidden;text-align:center;
  padding:clamp(5rem,11vw,8.5rem) 0 calc(var(--skyline-h) + 2.5rem);
  background:url(img/px/moon.svg) no-repeat 86% 96px/64px 64px,url(img/stars.svg) top center/480px 360px repeat-x,var(--dusk);}
.a-hero::before{content:'';position:absolute;inset:0;z-index:-1;background:
  radial-gradient(900px 240px at 50% calc(100% - 110px),rgba(255,176,110,.42),transparent 70%),
  radial-gradient(640px 260px at 50% calc(100% - 60px),rgba(255,120,140,.22),transparent 70%);}
.a-hero::after{content:'';position:absolute;left:0;right:0;bottom:0;height:var(--skyline-h);z-index:-1;background:url(img/skyline-hero.svg) bottom center/auto 100% repeat-x;image-rendering:pixelated;}
.a-hero .a-kicker{color:var(--warm);}
.a-hero .a-sub{color:#D2CFE3;}
.px-roof--hero{position:absolute;left:0;right:0;bottom:0;--roof-h:72px;z-index:0;}
.a-lineup{position:relative;z-index:1;display:flex;justify-content:center;gap:clamp(.9rem,2.2vw,1.9rem);list-style:none;margin:clamp(3.5rem,7vw,5rem) 0 0;padding:0;}
.a-lineup a{display:block;text-decoration:none;}
.a-lineup img{width:clamp(64px,9vw,112px);height:auto;aspect-ratio:1;transition:transform .35s cubic-bezier(.2,.7,.2,1);}
.a-lineup a:hover img{transform:translateY(-6px) scale(1.03);}
.a-lineup span{display:inline-block;margin-top:.7rem;padding:.2rem .55rem;font-size:.8rem;font-weight:500;color:#fff;background:rgba(14,11,34,.68);}
/* coming soon: black tiles under the released lineup */
.a-soon-title{position:relative;z-index:1;margin:clamp(2rem,4vw,2.75rem) 0 0;font-size:.75rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--warm);}
.a-lineup--soon{margin-top:1rem;}
.a-soon-icon{width:clamp(64px,9vw,112px);aspect-ratio:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;
  background:#0B0A12;box-shadow:inset 0 0 0 3px #2A2540,inset 0 0 0 6px #0B0A12,inset 0 0 0 7px #1B1830;}
.a-soon-icon b{font-size:.7rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;line-height:1.15;color:#E6E2F5;}
@media (min-width:1100px){.a-soon-icon b{font-family:var(--font-pixel-label);font-size:16px;font-weight:400;letter-spacing:0;}}
@media (max-width:760px){
  .a-hero{background:url(img/px/moon.svg) no-repeat calc(100% - 20px) 18px/32px 32px,url(img/stars.svg) top center/480px 360px repeat-x,var(--dusk);}
  .px-roof--hero{--roof-h:56px;}
}
@media (max-width:560px){
  .a-lineup{flex-wrap:wrap;gap:1.25rem 1rem;}
  .a-lineup li{flex:0 0 calc(33.333% - 1rem);}
  .a-lineup img,.a-soon-icon{width:76px;margin:0 auto;}
}

/* -------------------------------------------------------- 9. Homepage: floors */
/* each section is a floor of the building, capped by a stone cornice */
.a-section{position:relative;padding:clamp(5rem,11vw,9rem) 0;background:#fff;}
.a-section::before{content:'';position:absolute;left:0;right:0;top:0;height:16px;z-index:2;pointer-events:none;image-rendering:pixelated;
  background:url(img/px/ledge.svg) 0 0/64px 16px repeat-x;}
#games::before{display:none;}                     /* continues straight down from the rooftop wall */

.a-section--brick{color:var(--on-brick);background:
  radial-gradient(ellipse 70% 70% at 50% 45%,rgba(24,12,26,.40) 0%,rgba(24,12,26,.55) 60%,rgba(24,12,26,.70) 100%),
  url(img/px/brick.svg) 0 0/288px 144px;}
/* facades: lit window columns at the sides, a calm dark shaft behind the content */
.a-section--facade{color:var(--on-dark-soft);background:
  linear-gradient(90deg,rgba(14,11,34,.18) 0%,rgba(14,11,34,.55) 10%,rgba(14,11,34,.9) 17%,rgba(14,11,34,.9) 83%,rgba(14,11,34,.55) 90%,rgba(14,11,34,.18) 100%),
  url(img/px/facade.svg) 0 0/288px 192px;}
@media (max-width:760px){.a-section--facade{background:linear-gradient(rgba(14,11,34,.86),rgba(14,11,34,.86)),url(img/px/facade.svg) 0 0/288px 192px;}}
@media (min-width:761px) and (max-width:1320px){.a-section--facade{background:linear-gradient(rgba(14,11,34,.84),rgba(14,11,34,.84)),url(img/px/facade.svg) 0 0/288px 192px;}}
.a-section--dark{background:var(--navy-deep);color:var(--on-dark-muted);}

/* light text directly on walls */
.a-section--dark .a-h2,.a-section--dark h3,.a-section--brick .a-h2,.a-section--facade .a-h2{color:#fff;}
.a-section--dark .a-sub,.a-section--dark .a-trailers figcaption{color:var(--on-dark-muted);}
.a-section--dark .a-kicker{color:var(--pink);}
.a-section--dark .a-more{color:var(--warm);}
.a-section--brick .a-head .a-sub{color:var(--on-brick);}
.a-section--facade .a-head .a-sub{color:var(--on-dark-soft);}
.a-section--brick .a-kicker--brand,.a-section--facade .a-kicker--brand{color:var(--warm);}
.a-section--brick .a-head .a-more,.a-section--facade .a-head .a-more,.a-section--brick .a-center .a-more,.a-section--facade .a-center .a-more{color:var(--warm);}

/* warm-lit floor: the studio office with the lights on (Publishing) */
.a-section--facade.a-section--warm{background:
  radial-gradient(ellipse 60% 60% at 50% 35%,rgba(255,176,96,.16),transparent 70%),
  linear-gradient(rgba(40,20,32,.86),rgba(40,20,32,.86)),
  url(img/px/facade-warm.svg) 0 0/288px 192px;}

/* every floor its own pixel material, lit at the edges with a calm shaft behind the content */
.a-section--facade.a-section--led{background:linear-gradient(90deg,rgba(13,10,28,.12) 0%,rgba(13,10,28,.5) 6%,rgba(13,10,28,.72) 11%,rgba(13,10,28,.72) 89%,rgba(13,10,28,.5) 94%,rgba(13,10,28,.12) 100%),url(img/px/led.svg) 0 0/192px 96px;}  /* scoreboard (studio numbers) */
.a-section--dark.a-section--blueprint{background:linear-gradient(90deg,rgba(12,26,60,.12) 0%,rgba(12,26,60,.5) 6%,rgba(12,26,60,.62) 11%,rgba(12,26,60,.62) 89%,rgba(12,26,60,.5) 94%,rgba(12,26,60,.12) 100%),url(img/px/blueprint.svg) 0 0/256px 256px;}  /* drafting table (approach) */
.a-section--facade.a-section--glass{background:linear-gradient(90deg,rgba(12,16,32,.12) 0%,rgba(12,16,32,.5) 6%,rgba(12,16,32,.74) 11%,rgba(12,16,32,.74) 89%,rgba(12,16,32,.5) 94%,rgba(12,16,32,.12) 100%),url(img/px/glass.svg) 0 0/192px 192px;}  /* glass curtain wall (brand solutions) */
.a-section--brick.a-section--stone{background:linear-gradient(90deg,rgba(34,22,12,.12) 0%,rgba(34,22,12,.5) 6%,rgba(34,22,12,.74) 11%,rgba(34,22,12,.74) 89%,rgba(34,22,12,.5) 94%,rgba(34,22,12,.12) 100%),url(img/px/stone.svg) 0 0/256px 128px;}  /* sandstone ashlar (company) */
.a-section--brick.a-section--tiles{background:linear-gradient(90deg,rgba(6,22,16,.12) 0%,rgba(6,22,16,.5) 6%,rgba(6,22,16,.72) 11%,rgba(6,22,16,.72) 89%,rgba(6,22,16,.5) 94%,rgba(6,22,16,.12) 100%),url(img/px/tiles.svg) 0 0/256px 256px;}  /* glazed green tiles (FAQ) */
@media (max-width:1320px){
  .a-section--facade.a-section--led{background:linear-gradient(rgba(13,10,28,.72),rgba(13,10,28,.72)),url(img/px/led.svg) 0 0/192px 96px;}
  .a-section--dark.a-section--blueprint{background:linear-gradient(rgba(12,26,60,.62),rgba(12,26,60,.62)),url(img/px/blueprint.svg) 0 0/256px 256px;}
  .a-section--facade.a-section--glass{background:linear-gradient(rgba(12,16,32,.74),rgba(12,16,32,.74)),url(img/px/glass.svg) 0 0/192px 192px;}
  .a-section--brick.a-section--stone{background:linear-gradient(rgba(34,22,12,.74),rgba(34,22,12,.74)),url(img/px/stone.svg) 0 0/256px 128px;}
  .a-section--brick.a-section--tiles{background:linear-gradient(rgba(6,22,16,.72),rgba(6,22,16,.72)),url(img/px/tiles.svg) 0 0/256px 256px;}
}
.a-section--tiles .a-head .a-sub{color:#D6E6DE;}

/* street level: the building's shopfront, street lamps and the pavement */
.a-section--street{padding-bottom:calc(clamp(5rem,11vw,9rem) + 24px);}
.a-section--street::after{content:'';position:absolute;left:0;right:0;bottom:0;height:24px;z-index:1;image-rendering:pixelated;
  background:url(img/px/pavement.svg) 0 0/64px 24px repeat-x;}
.a-section--street .a-h2{color:#fff;}
.a-shopfront{position:relative;max-width:1080px;margin:0 auto;}
.a-awning{position:relative;z-index:1;height:40px;margin:0 -16px;image-rendering:pixelated;
  background:url(img/px/awning.svg) 0 0/64px 40px repeat-x;filter:drop-shadow(0 6px 0 rgba(0,0,0,.28));}
.a-shop{margin-top:-6px;padding:clamp(2.25rem,4vw,3rem) clamp(1.5rem,4vw,3rem) clamp(1.75rem,3vw,2.5rem);color:var(--on-dark-muted);
  background:linear-gradient(180deg,#4A3040 0%,#2A1E34 30%,#1C162C 100%);box-shadow:inset 0 0 0 6px #4A4466,inset 0 0 0 10px #231F38;}
.a-shop h3{color:#fff;}
.a-shop .directory{border-top:0;margin-top:-1.75rem;}
.a-shop .directory a{font-size:.875rem;word-break:normal;overflow-wrap:anywhere;}
.px-lamp{position:absolute;bottom:24px;width:48px;height:auto;z-index:1;pointer-events:none;image-rendering:pixelated;filter:drop-shadow(0 0 14px rgba(255,210,120,.55));}
.px-lamp--l{left:max(16px,calc(50% - 704px));}
.px-lamp--r{right:max(16px,calc(50% - 704px));}
@media (max-width:1240px){.px-lamp{display:none;}}

/* two sections break the centred rhythm: header beside the content */
.a-split{display:grid;grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr);gap:clamp(2rem,5vw,4.5rem);align-items:start;}
.a-split .a-head{text-align:left;margin:0;max-width:none;}
.a-split .a-head .a-h2::after{margin-left:0;margin-right:0;}
.a-split .a-sub{margin-left:0;margin-right:0;}
.a-split .a-actions{justify-content:flex-start;}
.a-split .a-card--table{max-width:none;margin:0;}
.a-stack{display:grid;gap:14px;}
.a-split + .a-steps{margin-top:clamp(3.5rem,7vw,5rem);}
@media (max-width:900px){.a-split{grid-template-columns:1fr;}}

/* ---------------------------------------------------- 10. Homepage: components */
/* game tiles: framed posters on the brick wall */
.a-tiles{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;}
.a-tile{position:relative;isolation:isolate;overflow:hidden;display:flex;flex-direction:column;align-items:center;text-align:center;min-height:430px;padding:2.25rem 1.5rem 0;background:var(--paper);box-shadow:inset 0 0 0 4px var(--frame);}
.a-tile::before{content:'';position:absolute;inset:0;z-index:-1;background:radial-gradient(420px 300px at 50% 92%,color-mix(in srgb,var(--accent) 26%,transparent),transparent 72%);}
.a-tile h3{font-family:var(--font-display);font-size:var(--fs-3);font-weight:700;letter-spacing:0;line-height:1.05;margin:.35rem 0 .6rem;color:var(--a-ink);}
.a-tile h3 a{color:inherit;text-decoration:none;}
.a-tile h3 a:hover{text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:6px;}
.a-tile .a-line{font-size:1rem;color:var(--a-muted);max-width:22em;margin:0;line-height:1.4;}
.a-tile .stores--tile{justify-content:center;align-items:center;margin:1.25rem 0 1.75rem;}
.stores--tile .store{height:40px;}
.a-tile--dark .store{border-color:rgba(255,255,255,.3);}
.a-tile--dark{background:url(img/stars.svg) top center/480px 360px repeat-x,var(--navy-deep);box-shadow:inset 0 0 0 4px #0C0A1C;}
.a-tile--dark::before{background:
  radial-gradient(460px 320px at 50% 92%,color-mix(in srgb,var(--accent) 34%,transparent),transparent 72%),
  linear-gradient(0deg,rgba(242,161,95,.16) 0%,rgba(162,70,107,.14) 18%,rgba(90,52,112,.10) 34%,transparent 55%);}
.a-tile--dark h3{color:#fff;}
.a-tile--dark .a-line,.a-tile--dark .a-soon{color:var(--on-dark-muted);}
.a-tile--dark .a-tag{color:color-mix(in srgb,var(--accent) 55%,#fff);}
.a-tile--dark .a-more{color:var(--warm);}
.a-stage{margin-top:auto;display:flex;align-items:flex-end;justify-content:center;gap:clamp(.75rem,2vw,1.5rem);position:relative;z-index:1;}
.a-icon{width:clamp(112px,10vw,136px);height:auto;aspect-ratio:1;margin:0 0 12px;transition:transform .5s cubic-bezier(.2,.7,.2,1);}
.a-tile:hover .a-icon{transform:translateY(-8px) scale(1.02);}
.px-roof--tile{--roof-h:32px;align-self:stretch;margin:0 -1.5rem;}
.a-tile--dark .px-roof--tile{filter:brightness(.9);}
.a-tile:not(.a-tile--dark) .px-roof--tile{filter:saturate(.85) brightness(1.08);}

/* stats + player promises (on a lit facade) */
.a-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:2rem;text-align:center;margin:0;}
.a-stats div{display:flex;flex-direction:column-reverse;gap:.4rem;}
.a-stats dd{margin:0;font-family:var(--font-display);font-size:var(--fs-1);font-weight:700;letter-spacing:0;line-height:1;color:#fff;}
.a-stats dt{font-size:.95rem;color:var(--on-dark-soft);font-weight:500;}
.a-promises{display:grid;grid-template-columns:repeat(4,1fr);gap:1.5rem 2.5rem;list-style:none;margin:clamp(3.5rem,7vw,5rem) 0 0;padding:clamp(2.5rem,5vw,3.5rem) 0 0;border-top:1px solid rgba(255,255,255,.18);text-align:center;}
.a-promises .px-icon{margin:0 auto 1rem;}
.a-promises h3{font-size:1.1rem;margin:0 0 .45rem;letter-spacing:-.02em;color:#fff;}
.a-promises p{margin:0;font-size:.95rem;color:var(--on-dark-soft);line-height:1.5;}

/* "Built for mobile players" sits under the stats on the same facade */
.a-promises-title{font-size:var(--fs-2);text-align:center;margin:clamp(3.5rem,7vw,5rem) 0 0;padding-top:clamp(2.5rem,5vw,3.5rem);border-top:1px solid rgba(255,255,255,.18);}
.a-promises-title + .a-promises{margin-top:clamp(2rem,4vw,2.75rem);padding-top:0;border-top:0;}
.a-head--solo{margin-bottom:0;}

/* trailers: a cinema front with chasing marquee bulbs */
.trailers{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.25rem;}
.video{margin:0;}
.video-frame{position:relative;aspect-ratio:16/9;border-radius:var(--radius);overflow:hidden;background:#000;}
.video-frame img,.video-frame iframe{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;border:0;}
.video-frame button{position:absolute;inset:0;width:100%;border:0;padding:0;background:transparent;cursor:pointer;}
.video-frame button::after{content:'';position:absolute;left:50%;top:50%;width:60px;height:60px;margin:-30px 0 0 -30px;border-radius:50%;background:rgba(255,255,255,.95) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M8 5v14l11-7z' fill='%231F1B3E'/%3E%3C/svg%3E") 55% 50%/24px no-repeat;box-shadow:0 8px 24px rgba(0,0,0,.3);transition:transform .2s;}
.video-frame button:hover::after{transform:scale(1.06);}
.video figcaption{font-size:.875rem;color:var(--muted);margin-top:.7rem;}
.video figcaption strong{display:block;color:var(--text);font-size:.95rem;}
.a-trailers figcaption{text-align:center;}
.a-trailers figcaption strong{color:#fff;}
.a-section--cinema .a-trailers{position:relative;padding:30px;background-color:#221938;
  background-image:radial-gradient(circle at 10px 10px,#FFE08A 0 3px,#8A6420 3px 4px,transparent 5px),radial-gradient(circle at 10px 10px,#FFE08A 0 3px,#8A6420 3px 4px,transparent 5px),
                   radial-gradient(circle at 10px 10px,#FFE08A 0 3px,#8A6420 3px 4px,transparent 5px),radial-gradient(circle at 10px 10px,#FFE08A 0 3px,#8A6420 3px 4px,transparent 5px);
  background-size:20px 20px;background-repeat:repeat-x,repeat-x,repeat-y,repeat-y;background-position:0 0,0 100%,0 0,100% 0;}
.a-section--cinema .a-trailers .video{background:#0F0C22;padding:12px;}

/* poster panels (dark text on cream) */
.a-card{background:var(--paper-2);padding:clamp(1.75rem,3vw,2.5rem);color:var(--a-ink);}
.a-card h3{font-size:1.3rem;font-weight:700;letter-spacing:-.025em;margin:0 0 1rem;color:var(--a-ink);}
.a-card p{margin:0;color:var(--a-muted);font-size:1rem;line-height:1.5;}
.a-card .a-tag{margin-bottom:.5rem;color:var(--link);}
.a-grid-2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;max-width:1040px;margin:0 auto;list-style:none;padding:0;}
.a-grid-2--tight{margin-top:14px;max-width:none;}
.a-grid-4{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;list-style:none;padding:0;margin:0;}
.a-grid-4 h3{font-size:1.15rem;margin-bottom:.5rem;}
.a-card--table{max-width:820px;margin:0 auto;}
.facts-table{width:100%;border-collapse:collapse;font-size:.95rem;}
.facts-table th,.facts-table td{text-align:left;padding:1rem 0;border-bottom:1px solid var(--line);vertical-align:top;}
.facts-table th{font-weight:500;color:var(--muted);width:42%;padding-right:1rem;}
.facts-table td{font-weight:600;color:var(--text);}
.facts-table tr:first-child th,.facts-table tr:first-child td{border-top:1px solid var(--line-strong);}
.a-card--table .facts-table tr:first-child th,.a-card--table .facts-table tr:first-child td{border-top:0;}
.a-card--table .facts-table tr:last-child th,.a-card--table .facts-table tr:last-child td{border-bottom:0;}

/* partnership steps (facade) + approach pillars (dark) */
.a-steps{display:grid;grid-template-columns:repeat(4,1fr);gap:2rem;list-style:none;padding:0;margin:clamp(3.5rem,7vw,5rem) 0 0;text-align:center;}
.a-steps span,.a-pillars span{display:block;font-family:var(--font-pixel-label);font-size:1rem;font-weight:400;margin-bottom:.75rem;}
.a-steps span{color:var(--warm);}
.a-steps h3{font-size:1.15rem;margin:0 0 .35rem;letter-spacing:-.02em;color:#fff;}
.a-steps p{margin:0;color:var(--on-dark-soft);font-size:.95rem;}
.a-pillars{display:grid;grid-template-columns:repeat(5,1fr);gap:2rem;list-style:none;padding:0;margin:0;}
.a-pillars span{color:var(--pink);}
.a-pillars h3{font-size:1.15rem;margin:0 0 .5rem;letter-spacing:-.02em;}
.a-pillars p{margin:0;font-size:.95rem;line-height:1.5;}
.a-quote{margin:clamp(4rem,8vw,6rem) auto 0;max-width:22em;text-align:center;font-family:var(--font-display);font-size:var(--fs-2);font-weight:600;letter-spacing:0;line-height:1.2;color:#fff;}
.a-quote cite{display:block;margin-top:1.25rem;font-family:var(--font);font-style:normal;font-size:.9rem;font-weight:500;letter-spacing:0;color:var(--on-dark-muted);}

/* careers */
.roles{list-style:none;}
.role{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1.6fr) auto;gap:1rem 2.5rem;align-items:center;padding:1.85rem 0;border-bottom:1px solid var(--line);}
.role h3{font-family:var(--font);}
.role .role-type{font-size:.825rem;color:var(--muted);}
.role p{margin:0;color:var(--muted);font-size:.95rem;}
.a-roles{max-width:1040px;margin:0 auto;padding-top:.5rem;padding-bottom:.5rem;}
.a-roles .role{border-bottom-color:rgba(0,0,0,.08);}
.a-roles .role:last-child{border-bottom:0;}
.a-roles .role h3{margin:0 0 .2rem;font-size:1.1rem;}
.a-roles .role p{color:var(--a-muted);font-size:1rem;line-height:1.5;}
@media (max-width:820px){.role{grid-template-columns:1fr;gap:.5rem;}}

/* FAQ: a notice board */
.faq{border-top:1px solid var(--line-strong);}
.faq details{border-bottom:1px solid var(--line);}
.faq summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:1.5rem;padding:1.5rem 0;font-family:var(--font);font-weight:600;font-size:1.05rem;letter-spacing:-.01em;color:var(--text);}
.faq summary::-webkit-details-marker{display:none;}
.faq summary::after{content:'';flex-shrink:0;width:12px;height:12px;background:var(--muted);transition:transform .2s;
  -webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 6 6' width='24' height='24' shape-rendering='crispEdges'%3E%3Crect x='2' y='0' width='1' height='1' fill='%23000'/%3E%3Crect x='3' y='0' width='1' height='1' fill='%23000'/%3E%3Crect x='2' y='1' width='1' height='1' fill='%23000'/%3E%3Crect x='3' y='1' width='1' height='1' fill='%23000'/%3E%3Crect x='0' y='2' width='1' height='1' fill='%23000'/%3E%3Crect x='1' y='2' width='1' height='1' fill='%23000'/%3E%3Crect x='2' y='2' width='1' height='1' fill='%23000'/%3E%3Crect x='3' y='2' width='1' height='1' fill='%23000'/%3E%3Crect x='4' y='2' width='1' height='1' fill='%23000'/%3E%3Crect x='5' y='2' width='1' height='1' fill='%23000'/%3E%3Crect x='0' y='3' width='1' height='1' fill='%23000'/%3E%3Crect x='1' y='3' width='1' height='1' fill='%23000'/%3E%3Crect x='2' y='3' width='1' height='1' fill='%23000'/%3E%3Crect x='3' y='3' width='1' height='1' fill='%23000'/%3E%3Crect x='4' y='3' width='1' height='1' fill='%23000'/%3E%3Crect x='5' y='3' width='1' height='1' fill='%23000'/%3E%3Crect x='2' y='4' width='1' height='1' fill='%23000'/%3E%3Crect x='3' y='4' width='1' height='1' fill='%23000'/%3E%3Crect x='2' y='5' width='1' height='1' fill='%23000'/%3E%3Crect x='3' y='5' width='1' height='1' fill='%23000'/%3E%3C/svg%3E") center/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 6 6' width='24' height='24' shape-rendering='crispEdges'%3E%3Crect x='2' y='0' width='1' height='1' fill='%23000'/%3E%3Crect x='3' y='0' width='1' height='1' fill='%23000'/%3E%3Crect x='2' y='1' width='1' height='1' fill='%23000'/%3E%3Crect x='3' y='1' width='1' height='1' fill='%23000'/%3E%3Crect x='0' y='2' width='1' height='1' fill='%23000'/%3E%3Crect x='1' y='2' width='1' height='1' fill='%23000'/%3E%3Crect x='2' y='2' width='1' height='1' fill='%23000'/%3E%3Crect x='3' y='2' width='1' height='1' fill='%23000'/%3E%3Crect x='4' y='2' width='1' height='1' fill='%23000'/%3E%3Crect x='5' y='2' width='1' height='1' fill='%23000'/%3E%3Crect x='0' y='3' width='1' height='1' fill='%23000'/%3E%3Crect x='1' y='3' width='1' height='1' fill='%23000'/%3E%3Crect x='2' y='3' width='1' height='1' fill='%23000'/%3E%3Crect x='3' y='3' width='1' height='1' fill='%23000'/%3E%3Crect x='4' y='3' width='1' height='1' fill='%23000'/%3E%3Crect x='5' y='3' width='1' height='1' fill='%23000'/%3E%3Crect x='2' y='4' width='1' height='1' fill='%23000'/%3E%3Crect x='3' y='4' width='1' height='1' fill='%23000'/%3E%3Crect x='2' y='5' width='1' height='1' fill='%23000'/%3E%3Crect x='3' y='5' width='1' height='1' fill='%23000'/%3E%3C/svg%3E") center/contain no-repeat;}
.faq details[open] summary::after{-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 6 6' width='24' height='24' shape-rendering='crispEdges'%3E%3Crect x='0' y='2' width='1' height='1' fill='%23000'/%3E%3Crect x='1' y='2' width='1' height='1' fill='%23000'/%3E%3Crect x='2' y='2' width='1' height='1' fill='%23000'/%3E%3Crect x='3' y='2' width='1' height='1' fill='%23000'/%3E%3Crect x='4' y='2' width='1' height='1' fill='%23000'/%3E%3Crect x='5' y='2' width='1' height='1' fill='%23000'/%3E%3Crect x='0' y='3' width='1' height='1' fill='%23000'/%3E%3Crect x='1' y='3' width='1' height='1' fill='%23000'/%3E%3Crect x='2' y='3' width='1' height='1' fill='%23000'/%3E%3Crect x='3' y='3' width='1' height='1' fill='%23000'/%3E%3Crect x='4' y='3' width='1' height='1' fill='%23000'/%3E%3Crect x='5' y='3' width='1' height='1' fill='%23000'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 6 6' width='24' height='24' shape-rendering='crispEdges'%3E%3Crect x='0' y='2' width='1' height='1' fill='%23000'/%3E%3Crect x='1' y='2' width='1' height='1' fill='%23000'/%3E%3Crect x='2' y='2' width='1' height='1' fill='%23000'/%3E%3Crect x='3' y='2' width='1' height='1' fill='%23000'/%3E%3Crect x='4' y='2' width='1' height='1' fill='%23000'/%3E%3Crect x='5' y='2' width='1' height='1' fill='%23000'/%3E%3Crect x='0' y='3' width='1' height='1' fill='%23000'/%3E%3Crect x='1' y='3' width='1' height='1' fill='%23000'/%3E%3Crect x='2' y='3' width='1' height='1' fill='%23000'/%3E%3Crect x='3' y='3' width='1' height='1' fill='%23000'/%3E%3Crect x='4' y='3' width='1' height='1' fill='%23000'/%3E%3Crect x='5' y='3' width='1' height='1' fill='%23000'/%3E%3C/svg%3E");}
.faq summary:hover{color:var(--maroon);}
.theme-dark .faq summary:hover{color:color-mix(in srgb,var(--accent,var(--pink)) 65%,#fff);}
.faq .answer{padding:0 3rem 1.5rem 0;color:var(--muted);max-width:52em;}
.faq .answer p{margin:0;}
.a-faq{max-width:820px;margin:0 auto;background:var(--paper-2);padding:.5rem clamp(1.25rem,3vw,2.25rem);border-top:0;}
.a-faq summary{font-size:1.1rem;}
.a-faq details:last-child{border-bottom:0;}

/* contact directory (street level) */
.directory{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0;border-top:1px solid var(--on-dark-line);list-style:none;}
.directory li{padding:1.75rem 1.5rem 0 0;}
.directory li + li{padding-left:1.5rem;border-left:1px solid var(--on-dark-line);}
.directory h3{font-size:1rem;margin-bottom:.5rem;}
.directory p{font-size:.9rem;margin:0 0 1rem;}
.directory a{color:#fff;font-weight:600;font-size:.925rem;text-decoration:underline;text-decoration-color:rgba(255,255,255,.35);word-break:break-word;}
.directory a:hover{text-decoration-color:#fff;color:#fff;}

@media (max-width:1040px){
  .a-tiles{grid-template-columns:repeat(2,minmax(0,1fr));}
  .a-grid-4{grid-template-columns:repeat(2,minmax(0,1fr));}
  .a-pillars{grid-template-columns:repeat(3,1fr);}
}
@media (max-width:960px){.directory{grid-template-columns:1fr 1fr;}.directory li:nth-child(3){padding-left:0;border-left:0;}.directory li:nth-child(n+3){margin-top:1.5rem;border-top:1px solid var(--on-dark-line);}}
@media (max-width:900px){.trailers{grid-template-columns:1fr;max-width:640px;}}
@media (max-width:860px){
  .a-grid-2{grid-template-columns:1fr;}
  .a-stats,.a-steps,.a-promises{grid-template-columns:repeat(2,1fr);}
  .a-pillars{grid-template-columns:1fr 1fr;}
    }

@media (max-width:560px){
  .a-grid-4,.a-promises,.a-pillars{grid-template-columns:1fr;}
  .a-roles{padding-left:1.25rem;padding-right:1.25rem;}
}
@media (max-width:520px){.directory{grid-template-columns:1fr;}.directory li,.directory li + li{padding-left:0;border-left:0;}.directory li + li{margin-top:1.25rem;border-top:1px solid var(--on-dark-line);}}


/* ----------------------------------------------------------- 11. Inner pages */
/* compact dusk band: pixel title, stars, moon, skyline and a brick rooftop */
.page-header{padding:clamp(3.5rem,8vw,6rem) 0 clamp(2.5rem,5vw,3.5rem);border-bottom:1px solid var(--line);}
.page-header h1{font-size:var(--fs-1);font-weight:700;letter-spacing:0;line-height:1.05;margin-bottom:1.25rem;max-width:18em;text-wrap:balance;}
.page-header .lead{margin:0;}
.page-header .btn-row{margin-top:2rem;justify-content:center;}
.page-header .eyebrow{color:var(--warm);justify-content:center;}
.theme-apple:not(.theme-dark) .page-header{position:relative;isolation:isolate;overflow:hidden;text-align:center;border-bottom:0;color:#fff;
  padding:clamp(3.5rem,8vw,5.5rem) 0 190px;
  background:url(img/px/moon.svg) no-repeat 88% 40px/48px 48px,url(img/stars.svg) top center/480px 360px repeat-x,var(--dusk);}
.theme-apple:not(.theme-dark) .page-header::after{content:'';position:absolute;left:0;right:0;bottom:0;height:160px;z-index:-1;image-rendering:pixelated;
  background:url(img/px/ledge.svg) left bottom 40px/64px 16px repeat-x,url(img/px/wall.svg) left bottom/96px 48px repeat-x,url(img/skyline-hero.svg) center bottom 40px/auto 120px repeat-x;}
.theme-apple:not(.theme-dark) .page-header h1{color:#fff;margin-left:auto;margin-right:auto;}
.theme-apple:not(.theme-dark) .page-header .lead{color:var(--on-dark-soft);margin:0 auto;}
.theme-apple:not(.theme-dark) .page-header .lead a{color:#fff;}
@media (max-width:760px){
  .theme-apple:not(.theme-dark) .page-header{padding-bottom:140px;background:url(img/px/moon.svg) no-repeat calc(100% - 18px) 18px/32px 32px,url(img/stars.svg) top center/480px 360px repeat-x,var(--dusk);}
  .theme-apple:not(.theme-dark) .page-header::after{height:112px;background:url(img/px/ledge.svg) left bottom 32px/64px 16px repeat-x,url(img/px/wall.svg) left bottom/96px 48px repeat-x,url(img/skyline-hero.svg) center bottom 32px/auto 80px repeat-x;}
}

/* page trail */
.breadcrumb{display:flex;flex-wrap:wrap;gap:.5rem;list-style:none;font-size:.825rem;font-weight:500;color:var(--muted);margin-bottom:1.75rem;}
.breadcrumb li + li::before{content:'/';margin-right:.5rem;color:var(--line-strong);}
.breadcrumb a{color:var(--muted);text-decoration:none;}
.breadcrumb a:hover{color:var(--text);}
.theme-apple:not(.theme-dark) .page-header .breadcrumb{justify-content:center;color:var(--on-dark-soft);}
.theme-apple:not(.theme-dark) .page-header .breadcrumb a{color:var(--on-dark-soft);}
.theme-apple:not(.theme-dark) .page-header .breadcrumb a:hover{color:#fff;}
.theme-apple:not(.theme-dark) .page-header .breadcrumb li + li::before{color:rgba(255,255,255,.4);}

/* body: brick wall with the content on a paper poster */
.page-body{padding:clamp(3rem,7vw,5rem) 0;}
.theme-apple:not(.theme-dark) .page-body{background:linear-gradient(180deg,rgba(24,12,26,.34),rgba(24,12,26,.52)),url(img/px/brick.svg) 0 0/288px 144px;}
.theme-apple:not(.theme-dark) .page-body > .container{background:var(--paper);padding:clamp(1.5rem,4vw,3.5rem);box-shadow:inset 0 0 0 4px var(--frame);}
@media (min-width:1300px){.theme-apple:not(.theme-dark) .page-body > .container{max-width:calc(var(--max) - 2*var(--gutter));}}
.page-body > .container > section + section{margin-top:clamp(3rem,6vw,4.5rem);padding-top:clamp(3rem,6vw,4.5rem);border-top:1px solid var(--line);}
.page-body h2{font-size:var(--fs-3);letter-spacing:0;margin-bottom:1rem;}
.page-body .prose{max-width:var(--max-text);}
.page-body h2 .muted{font-family:var(--font);}
.split{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(2.5rem,6vw,5.5rem);align-items:start;}
@media (max-width:900px){.split{grid-template-columns:1fr;}}

/* cards on the poster */
.cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.5rem;list-style:none;}
.cards--4{grid-template-columns:repeat(4,minmax(0,1fr));}
.cards--5{grid-template-columns:repeat(5,minmax(0,1fr));}
.card{background:#fff;border:0;padding:1.75rem;}
.theme-apple:not(.theme-dark) .card,.theme-apple:not(.theme-dark) .asset,.theme-apple:not(.theme-dark) .fields li,.theme-apple:not(.theme-dark) .tp-link{background:var(--paper-2);}
.theme-apple:not(.theme-dark) .page-body .card,.theme-apple:not(.theme-dark) .page-body .asset,.theme-apple:not(.theme-dark) .page-body .fields li,
.theme-apple:not(.theme-dark) .page-body .tp-link,.theme-apple:not(.theme-dark) .page-body .callout,.theme-apple:not(.theme-dark) .page-body .stat-callout{background:var(--paper-2);}
.card h3{font-size:1.1rem;margin-bottom:.6rem;}
.card p{font-size:.95rem;color:var(--muted);margin:0;}
.card .kicker{display:block;font-size:.72rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--maroon);margin-bottom:.9rem;}
.page-body .card h2{font-family:var(--font);font-size:1.15rem;letter-spacing:-.015em;margin-bottom:.6rem;}
.cards--2{grid-template-columns:repeat(2,minmax(0,1fr));}
.services-apps-title{margin-top:clamp(3rem,6vw,4.5rem);}
.ind-cards{margin-top:1.5rem;}
.ind-card{position:relative;overflow:hidden;padding-top:calc(1.75rem + 8px);}
.ind-card::before{content:'';position:absolute;left:0;right:0;top:0;height:8px;background:var(--accent);
  box-shadow:inset 0 -2px 0 color-mix(in srgb,var(--accent) 65%,#000);}
.ind-card::after{content:'';position:absolute;right:0;top:8px;width:96px;height:96px;pointer-events:none;
  background:radial-gradient(circle at 100% 0,color-mix(in srgb,var(--accent) 16%,transparent),transparent 70%);}
.ind-top{display:flex;align-items:center;gap:.8rem;}
.ind-icon{width:48px;height:48px;image-rendering:pixelated;flex-shrink:0;padding:6px;box-sizing:content-box;
  background:color-mix(in srgb,var(--accent) 14%,#fff);box-shadow:inset 0 0 0 2px color-mix(in srgb,var(--accent) 45%,#fff);}
.ind-card .kicker{color:color-mix(in srgb,var(--accent) 62%,#000);}
.ind-card h3{margin:.9rem 0 1rem;}
.ind-card .ind-dl dt{color:color-mix(in srgb,var(--accent) 62%,#000);}
.ind-card .ind-svc{border-top-color:color-mix(in srgb,var(--accent) 30%,var(--paper-3));}
.ind-dl{margin:0;display:grid;gap:.75rem;}
.ind-dl dt{font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;}
.ind-dl dd{margin:.15rem 0 0;}
.ind-svc{margin:1rem 0 0;padding-top:.8rem;border-top:1px solid var(--paper-3);font-size:.85rem;font-weight:600;color:var(--a-muted);}
.page-body .roles{border-top:1px solid var(--line-strong);margin-top:1.5rem;}
.page-body .roles .role h3{font-size:1.1rem;margin:0 0 .2rem;}
@media (max-width:1180px){.cards--5{grid-template-columns:repeat(3,minmax(0,1fr));}}
@media (max-width:1040px){.cards,.cards--4{grid-template-columns:repeat(2,minmax(0,1fr));}}
@media (max-width:760px){.cards--5{grid-template-columns:repeat(2,minmax(0,1fr));}}
@media (max-width:640px){.cards,.cards--2,.cards--4{grid-template-columns:1fr;}}
@media (max-width:480px){.cards--5{grid-template-columns:1fr;}}

/* services call-to-action band (a dusk billboard) */
.band{display:flex;justify-content:space-between;align-items:center;gap:2rem;flex-wrap:wrap;border:0;color:var(--on-dark-muted);padding:clamp(1.75rem,4vw,2.75rem);margin-top:clamp(3rem,6vw,4.5rem);
  background:url(img/stars.svg) top center/480px 360px repeat-x,var(--dusk);}
.band h3{color:#fff;font-size:clamp(1.3rem,2.2vw,1.6rem);margin-bottom:.5rem;}
.band p{margin:0;max-width:40em;}

/* press kit */
.press-games{list-style:none;border-top:1px solid var(--line-strong);}
.press-game{display:grid;grid-template-columns:64px minmax(0,1fr) auto;gap:1.5rem;align-items:start;padding:1.5rem 0;border-bottom:1px solid var(--line);}
.press-game img{width:64px;height:64px;}
.press-game h3{font-family:var(--font);font-size:1.1rem;margin-bottom:.25rem;}
.press-game .meta{font-size:.825rem;color:var(--muted);margin-bottom:.6rem;}
.press-game p{margin:0;color:var(--muted);font-size:.95rem;}
.press-game .links{display:grid;gap:.4rem;font-size:.875rem;white-space:nowrap;}
@media (max-width:760px){.press-game{grid-template-columns:56px minmax(0,1fr);}.press-game img{width:56px;height:56px;}.press-game .links{grid-column:2;display:flex;flex-wrap:wrap;gap:.5rem 1.25rem;}}
.asset{display:inline-flex;flex-wrap:wrap;max-width:100%;align-items:center;gap:1rem 1.5rem;padding:1.25rem 1.5rem;border:0;background:var(--surface);margin-top:1rem;}
.asset img{width:96px;height:96px;}

/* ----------------------------------------------------- 12. Game pages (dark) */
.theme-dark .page-header{--skyline-h:150px;position:relative;isolation:isolate;overflow:hidden;border-bottom-color:var(--line);padding-bottom:calc(var(--skyline-h) + 2rem);
  background:url(img/stars.svg) top center/480px 360px repeat-x,linear-gradient(180deg,#16132E 0%,#1E1A45 32%,#34285F 58%,#5A3470 76%,#A2466B 90%,#E0795A 100%);}
.theme-dark .page-header::before{content:'';position:absolute;inset:0;z-index:-1;background:
  radial-gradient(620px 420px at 12% 35%,color-mix(in srgb,var(--accent,#7B6CD9) 26%,transparent),transparent 70%),
  radial-gradient(800px 220px at 50% calc(100% - 90px),rgba(255,176,110,.35),transparent 70%);}
.theme-dark .page-header::after{content:'';position:absolute;left:0;right:0;bottom:0;height:var(--skyline-h);z-index:-1;background:url(img/skyline-hero.svg) bottom center/auto 100% repeat-x;image-rendering:pixelated;}
.theme-dark .page-header .breadcrumb,.theme-dark .page-header .breadcrumb a{color:var(--on-dark-soft);}
.theme-dark .breadcrumb a:hover{color:#fff;}
.theme-dark .page-header .lead{color:var(--on-dark-soft);}
.px-roof--page{position:absolute;left:0;right:0;bottom:0;--roof-h:56px;z-index:0;}
@media (max-width:760px){.theme-dark .page-header{--skyline-h:110px;}}
.theme-dark .page-body{background:linear-gradient(180deg,rgba(22,19,46,.62),rgba(22,19,46,.80)),url(img/px/facade-dim.svg) 0 0/288px 192px;}

.game-hero{display:grid;grid-template-columns:auto minmax(0,1fr);gap:clamp(1.5rem,4vw,3rem);align-items:center;}
.game-hero-icon{width:clamp(112px,14vw,168px);height:auto;aspect-ratio:1;}
.game-hero h1{margin-bottom:.75rem;}
.game-hero .lead{margin-bottom:1.75rem;}
.game-hero .stores{margin-bottom:1.5rem;}
@media (max-width:640px){.game-hero{grid-template-columns:1fr;}}
.pill-row{display:flex;flex-wrap:wrap;gap:.5rem;list-style:none;}
.pill-row li{font-size:.8rem;font-weight:500;color:var(--muted);border:1px solid var(--line);border-radius:999px;padding:.3rem .8rem;background:#fff;}
.pill-row a{color:var(--navy);text-decoration:none;}
.pill-row a:hover{color:var(--maroon);}
.theme-dark .pill-row li{background:rgba(14,11,34,.72);border-color:rgba(255,255,255,.18);color:var(--on-dark-soft);}
.theme-dark .pill-row a{color:#fff;}
.video-embed{position:relative;aspect-ratio:16/9;overflow:hidden;background:#000;max-width:960px;border:0;border-radius:0;}
.video-embed iframe{position:absolute;inset:0;width:100%;height:100%;border:0;}
.features{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;list-style:none;border-top:1px solid var(--line-strong);margin-top:2rem;}
.features li{padding:1.5rem 1.5rem 1.5rem 0;border-bottom:1px solid var(--line);}
.features li:not(:nth-child(3n+1)){padding-left:1.5rem;border-left:1px solid var(--line);}
.features h3{font-size:1.02rem;margin-bottom:.4rem;}
.features p{margin:0;font-size:.925rem;color:var(--muted);}
.theme-dark .features h3::before{content:'';display:block;width:18px;height:2px;background:var(--accent,var(--pink));margin-bottom:.9rem;}
@media (max-width:860px){.features{grid-template-columns:1fr 1fr;}.features li:not(:nth-child(3n+1)){padding-left:0;border-left:0;}.features li:nth-child(even){padding-left:1.5rem;border-left:1px solid var(--line);}}
@media (max-width:560px){.features{grid-template-columns:1fr;}.features li:nth-child(even){padding-left:0;border-left:0;}}
.shots{display:flex;gap:1rem;overflow-x:auto;padding-bottom:1rem;scroll-snap-type:x mandatory;margin-top:1.5rem;}
.shots img{height:clamp(220px,32vw,360px);width:auto;border-radius:var(--radius);border:1px solid var(--line);scroll-snap-align:start;flex-shrink:0;}
.related{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:1rem;list-style:none;margin-top:1.5rem;}
.related a{display:flex;align-items:center;gap:.9rem;padding:1rem;border:0;text-decoration:none;color:var(--text);background:#fff;transition:border-color .2s,box-shadow .2s;}
.related a:hover{border-color:var(--line-strong);box-shadow:var(--shadow);color:var(--text);}
.theme-dark .related a{background:var(--surface);color:var(--text);}
.theme-dark .related a:hover{box-shadow:none;color:var(--text);}
.related img{width:52px;height:52px;flex-shrink:0;}
.related strong{display:block;font-size:.95rem;}
.related span{font-size:.8rem;color:var(--muted);}
@media (max-width:1180px){.related{grid-template-columns:repeat(3,minmax(0,1fr));}}
@media (max-width:960px){.related{grid-template-columns:1fr 1fr;}}
@media (max-width:520px){.related{grid-template-columns:1fr;}}

/* ------------------------------------------------ 13. Legal + account docs */
.doc-meta{display:flex;flex-wrap:wrap;justify-content:center;gap:.5rem 1.5rem;font-size:.875rem;color:var(--muted);margin-top:1.5rem;}
.doc-meta span strong{color:var(--text);}
.theme-apple:not(.theme-dark) .doc-meta{color:var(--on-dark-soft);}
.theme-apple:not(.theme-dark) .doc-meta span{padding:.2rem .6rem;background:rgba(14,11,34,.55);}
.theme-apple:not(.theme-dark) .doc-meta span strong{color:#fff;}
.tabs{position:sticky;top:var(--nav-h);z-index:10;background:rgba(22,19,46,.96);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border-bottom:0;}
.tabs .container{display:flex;gap:2rem;}
.tab-btn{appearance:none;background:none;border:0;border-bottom:2px solid transparent;padding:1.1rem 0 1rem;font-family:var(--font);font-size:.95rem;font-weight:600;letter-spacing:0;line-height:normal;color:var(--on-dark-muted);cursor:pointer;margin-bottom:-1px;}
.tab-btn:hover,.tab-btn.active{color:#fff;}
.tab-btn.active{border-bottom-color:var(--warm);}
.tab-panel{display:none;}
.tab-panel.active{display:block;}
.doc{max-width:var(--max-text);}
.doc .ls{padding:2rem 0;border-bottom:1px solid var(--line);}
.doc .ls:first-of-type{padding-top:0;}
.doc h2{font-family:var(--font);font-size:1.3rem;letter-spacing:-.015em;margin-bottom:1rem;display:flex;gap:.9rem;align-items:baseline;}
.doc .ls-num{order:-1;font-size:.85rem;font-weight:600;color:var(--maroon);font-variant-numeric:tabular-nums;min-width:1.6rem;}
.doc h3{font-family:var(--font);font-size:1.05rem;margin:1.5rem 0 .6rem;}
.doc p,.doc li{color:var(--muted);font-size:.975rem;line-height:1.7;}
.doc ul,.doc ol{padding-left:1.25rem;margin:0 0 1rem;}
.doc li{margin-bottom:.35rem;}
.doc li::marker{color:var(--subtle);}
.doc a{color:var(--navy);}
.doc .fields,.doc .checklist{padding-left:0;}
.callout{display:block;border:0;background:var(--paper-2);box-shadow:inset 4px 0 0 var(--navy);padding:1rem 1.25rem;margin:1rem 0 1.5rem;font-size:.95rem;color:var(--muted);}
.callout-icon{display:none;}
.email-btn{display:inline-flex;align-items:center;gap:.5rem;font-weight:600;color:var(--navy);text-decoration:underline;text-underline-offset:3px;margin:.25rem 0 .5rem;}
.hl-row{display:flex;flex-wrap:wrap;gap:.5rem;margin:1rem 0;}
.hl-chip{font-size:.8rem;font-weight:500;color:var(--muted);border:1px solid var(--line);border-radius:999px;padding:.25rem .75rem;background:#fff;}
.tp-links{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:.5rem;margin:1rem 0;}
.tp-link{display:block;padding:.7rem 1rem;border:0;color:var(--navy);text-decoration:none;font-size:.9rem;font-weight:500;background:#fff;}
.tp-link:hover{border-color:var(--navy);color:var(--navy);}
.sec-divider{margin:3rem 0 2rem;padding-top:2rem;border-top:1px solid var(--line-strong);font-size:.75rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--maroon);}
.doc table{width:100%;border-collapse:collapse;font-size:.9rem;margin:1rem 0 1.5rem;}
.doc th,.doc td{text-align:left;padding:.7rem .75rem;border:1px solid var(--line);vertical-align:top;color:var(--muted);}
.doc th{background:var(--surface);color:var(--text);font-weight:600;}
.fields{list-style:none;display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin:1.25rem 0 0;}
.fields li{border:0;padding:1rem 1.1rem;background:#fff;}
.fields strong{display:block;font-size:.95rem;margin-bottom:.2rem;}
.fields span{font-size:.875rem;color:var(--muted);}
@media (max-width:640px){.fields{grid-template-columns:1fr;}}
.stat-callout{display:inline-flex;flex-direction:column;gap:.1rem;padding:1.1rem 1.4rem;border:0;background:var(--paper-2);box-shadow:inset 4px 0 0 var(--green);}
.stat-callout strong{font-family:var(--font-display);font-size:1.5rem;letter-spacing:-.02em;}
.stat-callout span{font-size:.85rem;color:var(--muted);}

/* ------------------------------------------------------------------ 14. 404 */
.error-page{position:relative;isolation:isolate;overflow:hidden;display:flex;align-items:center;text-align:center;color:#fff;
  padding:clamp(4rem,10vw,7rem) 0 190px;
  background:url(img/px/moon.svg) no-repeat 86% 48px/56px 56px,url(img/stars.svg) top center/480px 360px repeat-x,var(--dusk);}
.error-page::after{content:'';position:absolute;left:0;right:0;bottom:0;height:150px;z-index:-1;background:url(img/skyline-hero.svg) bottom center/auto 100% repeat-x;image-rendering:pixelated;}
.error-page .container{display:flex;flex-direction:column;align-items:center;}
.error-page h1{color:#fff;text-wrap:balance;}
.error-page .lead{color:var(--on-dark-soft);}
.error-page .btn-row{justify-content:center;}
.error-code{font-family:var(--font-pixel-label);font-size:1rem;font-weight:400;letter-spacing:0;text-transform:uppercase;color:var(--warm);margin-bottom:1.25rem;}

/* --------------------------------------------------------------- 15. Motion */
/* scroll reveal (only once JS is running and motion is allowed) */
.reveal-ready [data-reveal]{opacity:0;transform:translateY(28px);transition:opacity .9s cubic-bezier(.2,.7,.2,1),transform .9s cubic-bezier(.2,.7,.2,1);}
.reveal-ready [data-reveal].is-in{opacity:1;transform:none;}
@keyframes px-drift{from{background-position:0 22%,0 58%}to{background-position:-1440px 22%,-1800px 58%}}
@keyframes px-twinkle{0%,100%{opacity:.85}50%{opacity:.15}}
@keyframes px-chase{from{background-position:0 0,0 100%,0 0,100% 0}to{background-position:20px 0,-20px 100%,0 -20px,100% 20px}}
@media (prefers-reduced-motion:no-preference){
  .px-sky{animation:px-drift 180s steps(360) infinite;}
  .px-sky::before{animation:px-twinkle 3.2s steps(2,jump-none) infinite;}
  .a-section--cinema .a-trailers{animation:px-chase 1.2s steps(2) infinite;}
}
/* visitors can pause the looping scenery (WCAG 2.2.2) */
.motion-paused .px-sky,.motion-paused .px-sky::before,.motion-paused .a-section--cinema .a-trailers{animation-play-state:paused!important;}
.motion-toggle{--pill:var(--navy-deep);position:fixed;left:16px;bottom:16px;z-index:1400;width:40px;height:40px;border:0;padding:0;cursor:pointer;background:var(--pill);color:#fff;
  box-shadow:4px 0 0 0 var(--pill),-4px 0 0 0 var(--pill),0 4px 0 0 var(--pill),0 -4px 0 0 var(--pill),0 0 0 6px rgba(255,255,255,.14);}
.motion-toggle::before{content:'';display:block;width:14px;height:14px;margin:auto;background:currentColor;
  -webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 6 7' width='24' height='28' shape-rendering='crispEdges'%3E%3Crect x='0' y='0' width='1' height='1' fill='%23000'/%3E%3Crect x='1' y='0' width='1' height='1' fill='%23000'/%3E%3Crect x='4' y='0' width='1' height='1' fill='%23000'/%3E%3Crect x='5' y='0' width='1' height='1' fill='%23000'/%3E%3Crect x='0' y='1' width='1' height='1' fill='%23000'/%3E%3Crect x='1' y='1' width='1' height='1' fill='%23000'/%3E%3Crect x='4' y='1' width='1' height='1' fill='%23000'/%3E%3Crect x='5' y='1' width='1' height='1' fill='%23000'/%3E%3Crect x='0' y='2' width='1' height='1' fill='%23000'/%3E%3Crect x='1' y='2' width='1' height='1' fill='%23000'/%3E%3Crect x='4' y='2' width='1' height='1' fill='%23000'/%3E%3Crect x='5' y='2' width='1' height='1' fill='%23000'/%3E%3Crect x='0' y='3' width='1' height='1' fill='%23000'/%3E%3Crect x='1' y='3' width='1' height='1' fill='%23000'/%3E%3Crect x='4' y='3' width='1' height='1' fill='%23000'/%3E%3Crect x='5' y='3' width='1' height='1' fill='%23000'/%3E%3Crect x='0' y='4' width='1' height='1' fill='%23000'/%3E%3Crect x='1' y='4' width='1' height='1' fill='%23000'/%3E%3Crect x='4' y='4' width='1' height='1' fill='%23000'/%3E%3Crect x='5' y='4' width='1' height='1' fill='%23000'/%3E%3Crect x='0' y='5' width='1' height='1' fill='%23000'/%3E%3Crect x='1' y='5' width='1' height='1' fill='%23000'/%3E%3Crect x='4' y='5' width='1' height='1' fill='%23000'/%3E%3Crect x='5' y='5' width='1' height='1' fill='%23000'/%3E%3Crect x='0' y='6' width='1' height='1' fill='%23000'/%3E%3Crect x='1' y='6' width='1' height='1' fill='%23000'/%3E%3Crect x='4' y='6' width='1' height='1' fill='%23000'/%3E%3Crect x='5' y='6' width='1' height='1' fill='%23000'/%3E%3C/svg%3E") center/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 6 7' width='24' height='28' shape-rendering='crispEdges'%3E%3Crect x='0' y='0' width='1' height='1' fill='%23000'/%3E%3Crect x='1' y='0' width='1' height='1' fill='%23000'/%3E%3Crect x='4' y='0' width='1' height='1' fill='%23000'/%3E%3Crect x='5' y='0' width='1' height='1' fill='%23000'/%3E%3Crect x='0' y='1' width='1' height='1' fill='%23000'/%3E%3Crect x='1' y='1' width='1' height='1' fill='%23000'/%3E%3Crect x='4' y='1' width='1' height='1' fill='%23000'/%3E%3Crect x='5' y='1' width='1' height='1' fill='%23000'/%3E%3Crect x='0' y='2' width='1' height='1' fill='%23000'/%3E%3Crect x='1' y='2' width='1' height='1' fill='%23000'/%3E%3Crect x='4' y='2' width='1' height='1' fill='%23000'/%3E%3Crect x='5' y='2' width='1' height='1' fill='%23000'/%3E%3Crect x='0' y='3' width='1' height='1' fill='%23000'/%3E%3Crect x='1' y='3' width='1' height='1' fill='%23000'/%3E%3Crect x='4' y='3' width='1' height='1' fill='%23000'/%3E%3Crect x='5' y='3' width='1' height='1' fill='%23000'/%3E%3Crect x='0' y='4' width='1' height='1' fill='%23000'/%3E%3Crect x='1' y='4' width='1' height='1' fill='%23000'/%3E%3Crect x='4' y='4' width='1' height='1' fill='%23000'/%3E%3Crect x='5' y='4' width='1' height='1' fill='%23000'/%3E%3Crect x='0' y='5' width='1' height='1' fill='%23000'/%3E%3Crect x='1' y='5' width='1' height='1' fill='%23000'/%3E%3Crect x='4' y='5' width='1' height='1' fill='%23000'/%3E%3Crect x='5' y='5' width='1' height='1' fill='%23000'/%3E%3Crect x='0' y='6' width='1' height='1' fill='%23000'/%3E%3Crect x='1' y='6' width='1' height='1' fill='%23000'/%3E%3Crect x='4' y='6' width='1' height='1' fill='%23000'/%3E%3Crect x='5' y='6' width='1' height='1' fill='%23000'/%3E%3C/svg%3E") center/contain no-repeat;}
.motion-toggle[aria-pressed="true"]::before{-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 6 7' width='24' height='28' shape-rendering='crispEdges'%3E%3Crect x='0' y='0' width='1' height='1' fill='%23000'/%3E%3Crect x='0' y='1' width='1' height='1' fill='%23000'/%3E%3Crect x='1' y='1' width='1' height='1' fill='%23000'/%3E%3Crect x='0' y='2' width='1' height='1' fill='%23000'/%3E%3Crect x='1' y='2' width='1' height='1' fill='%23000'/%3E%3Crect x='2' y='2' width='1' height='1' fill='%23000'/%3E%3Crect x='0' y='3' width='1' height='1' fill='%23000'/%3E%3Crect x='1' y='3' width='1' height='1' fill='%23000'/%3E%3Crect x='2' y='3' width='1' height='1' fill='%23000'/%3E%3Crect x='3' y='3' width='1' height='1' fill='%23000'/%3E%3Crect x='0' y='4' width='1' height='1' fill='%23000'/%3E%3Crect x='1' y='4' width='1' height='1' fill='%23000'/%3E%3Crect x='2' y='4' width='1' height='1' fill='%23000'/%3E%3Crect x='0' y='5' width='1' height='1' fill='%23000'/%3E%3Crect x='1' y='5' width='1' height='1' fill='%23000'/%3E%3Crect x='0' y='6' width='1' height='1' fill='%23000'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 6 7' width='24' height='28' shape-rendering='crispEdges'%3E%3Crect x='0' y='0' width='1' height='1' fill='%23000'/%3E%3Crect x='0' y='1' width='1' height='1' fill='%23000'/%3E%3Crect x='1' y='1' width='1' height='1' fill='%23000'/%3E%3Crect x='0' y='2' width='1' height='1' fill='%23000'/%3E%3Crect x='1' y='2' width='1' height='1' fill='%23000'/%3E%3Crect x='2' y='2' width='1' height='1' fill='%23000'/%3E%3Crect x='0' y='3' width='1' height='1' fill='%23000'/%3E%3Crect x='1' y='3' width='1' height='1' fill='%23000'/%3E%3Crect x='2' y='3' width='1' height='1' fill='%23000'/%3E%3Crect x='3' y='3' width='1' height='1' fill='%23000'/%3E%3Crect x='0' y='4' width='1' height='1' fill='%23000'/%3E%3Crect x='1' y='4' width='1' height='1' fill='%23000'/%3E%3Crect x='2' y='4' width='1' height='1' fill='%23000'/%3E%3Crect x='0' y='5' width='1' height='1' fill='%23000'/%3E%3Crect x='1' y='5' width='1' height='1' fill='%23000'/%3E%3Crect x='0' y='6' width='1' height='1' fill='%23000'/%3E%3C/svg%3E");}
.motion-toggle:hover{--pill:var(--navy);}
.motion-toggle:focus-visible{outline:2px solid #fff;outline-offset:6px;}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto;}*{transition:none!important;animation:none!important;}.motion-toggle{display:none;}}

/* Game tiles on phones: compact cards, icon left and text right */
@media (max-width:640px){
  .a-tiles{grid-template-columns:1fr;gap:10px;}
  .a-tile{display:grid;grid-template-columns:88px minmax(0,1fr);column-gap:1.1rem;align-items:start;text-align:left;min-height:0;padding:1.4rem 1.25rem 0;}
  .a-tile > *{grid-column:2;}
  .a-tile .a-stage{grid-column:1;grid-row:1/5;margin:0;align-self:start;}
  .a-tile .a-icon{width:88px;margin:0;}
  .a-tile h3{margin:.3rem 0 .35rem;}
  .a-tile .a-line{font-size:.95rem;}
  .a-tile .stores--tile{justify-content:flex-start;gap:.4rem;margin:.8rem 0 1.25rem;}
  .stores--tile .store{height:36px;padding:0 .7rem 0 .55rem;}
  .stores--tile .store span{font-size:.85rem;}
  .a-tile .px-roof--tile{grid-column:1/-1;margin:0 -1.25rem;--roof-h:24px;}
}


/* players' lounge: community call to action on the scoreboard floor */
.a-community{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:1.25rem 2rem;max-width:1080px;margin:clamp(3rem,6vw,4.5rem) auto 0;padding:1.6rem clamp(1.25rem,3vw,2.25rem);
  background:rgba(10,8,24,.78);box-shadow:inset 0 0 0 4px #2E2856,inset 0 0 0 8px #110E24;}
.a-community h3{color:#fff;font-size:1.15rem;margin:0 0 .35rem;}
.a-community p{margin:0;color:var(--on-dark-soft);max-width:38em;}
.a-community .a-actions{margin:0;}
.a-community .a-more{color:var(--warm);}
/* share / challenge a friend (game pages) */
.share-btn{display:inline-flex;align-items:center;gap:.5rem;height:44px;padding:0 1rem;font:600 .95rem var(--font);color:#fff;background:transparent;border:1px solid rgba(255,255,255,.45);border-radius:var(--radius);cursor:pointer;}
.share-btn{background:rgba(14,11,34,.35);}
.share-btn:hover{background:rgba(14,11,34,.7);color:#fff;}
.share-btn svg{width:18px;height:18px;}

/* -------------------------------------------------------- studio one-pager (prints to one A4 sheet) */
.onepager-body{background:url(img/px/brick.svg) 0 0/288px 144px,#2B1C2A;min-height:100vh;padding:0 16px 3rem;}
.onepager-bar{display:flex;justify-content:space-between;align-items:center;gap:1rem;max-width:860px;margin:0 auto;padding:1.25rem 0;}
.onepager-back{color:#fff;font-weight:500;text-decoration:none;}
.onepager-back:hover{text-decoration:underline;color:#fff;}
.onepager{max-width:860px;margin:0 auto;padding:clamp(1.75rem,5vw,3.25rem);background:var(--paper);color:var(--a-ink);box-shadow:inset 0 0 0 4px var(--frame);}
.op-head{display:flex;gap:1.25rem;align-items:flex-start;padding-bottom:1.5rem;border-bottom:2px solid var(--paper-3);}
.op-head img{width:56px;height:56px;flex-shrink:0;}
.op-kicker{font-family:var(--font-pixel-label);font-size:16px;text-transform:uppercase;color:var(--maroon);margin:0 0 .25rem;}
.op-head h1{font-family:var(--font-display);font-size:2.5rem;line-height:1;margin:0 0 .6rem;color:var(--navy-deep);}
.op-lede{margin:0;font-size:1.05rem;color:var(--a-muted);max-width:40em;}
.op-facts{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:1rem;margin:1.5rem 0;padding:0;}
.op-facts div{background:var(--paper-2);padding:.8rem .9rem;}
.op-facts dt{font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--a-muted);}
.op-facts dd{margin:.2rem 0 0;font-weight:700;font-size:1.05rem;color:var(--navy-deep);}
.op-block{margin-top:1.5rem;}
.op-block h2{font-family:var(--font);font-size:1.05rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--maroon);margin:0 0 .75rem;}
.op-games{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:.6rem 1.75rem;}
.op-games li{font-size:.92rem;color:var(--a-muted);line-height:1.45;}
.op-games strong{color:var(--navy-deep);margin-right:.4rem;}
.op-games span{display:inline-block;font-size:.72rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--maroon);margin-right:.4rem;}
.op-games span::after{content:' ·';}
.op-cols{display:grid;grid-template-columns:1fr 1fr;gap:1.75rem;}
.op-list{margin:0;padding-left:1.1rem;font-size:.92rem;color:var(--a-muted);}
.op-list li{margin:.25rem 0;}
.op-steps{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem;counter-reset:op;}
.op-steps li{counter-increment:op;font-size:.9rem;color:var(--a-muted);}
.op-steps li::before{content:'0' counter(op);display:block;font-family:var(--font-pixel-label);font-size:16px;color:var(--maroon);}
.op-steps strong{display:block;color:var(--navy-deep);}
.op-foot{margin-top:2rem;padding-top:1.25rem;border-top:2px solid var(--paper-3);font-size:.9rem;color:var(--a-muted);}
.op-foot p{margin:.2rem 0;}
.op-foot a{color:var(--link);}
@media (max-width:560px){.onepager-bar{flex-wrap:wrap;}.onepager-bar .btn{white-space:normal;}}
@media (max-width:720px){.op-facts{grid-template-columns:repeat(2,minmax(0,1fr));}.op-games,.op-cols{grid-template-columns:1fr;}.op-steps{grid-template-columns:1fr 1fr;}}
@media print{
  @page{size:A4;margin:12mm;}
  .onepager-body{background:#fff;padding:0;}
  .onepager-bar,.motion-toggle,.cookie-notice{display:none!important;}
  .onepager{max-width:none;padding:0;box-shadow:none;background:#fff;}
  .op-facts div{background:#F3EFE6;-webkit-print-color-adjust:exact;print-color-adjust:exact;}
  .op-facts{grid-template-columns:repeat(5,1fr);}.op-games,.op-cols{grid-template-columns:1fr 1fr;}.op-steps{grid-template-columns:repeat(4,1fr);}
  .op-foot a{color:inherit;text-decoration:none;}
}

/* development services page */
.plat-cards{margin-top:1.5rem;}
.plat-list{margin:1rem 0 0;padding-left:1.1rem;color:var(--a-muted);}
.plat-list li{margin:.3rem 0;}
.dev-stages{margin-top:1.5rem;}
.dev-stages .card h3,.cards--4 .card h3{font-size:1.1rem;margin:0 0 .5rem;}
.dev-alt{margin-top:2rem;color:var(--a-muted);}

/* development page: two colour-coded zones — games (orange-red) and apps (teal) */
.zone--games,.btn--games{--z:#E4572E;--z-deep:#B83A18;--z-tint:#FBEDE6;}
.zone--apps,.btn--apps{--z:#1FA39A;--z-deep:#0F766E;--z-tint:#E3F4F1;}
.btn--zone,.page-header .btn--zone{--pill:var(--z-deep);color:#fff;}
.btn--zone:hover,.page-header .btn--zone:hover{--pill:var(--navy-deep);color:#fff;}
.zone-pick{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin-top:1.5rem;}
.zone-tile{position:relative;display:flex;align-items:center;gap:1.1rem;padding:1.5rem 3.25rem 1.5rem 1.5rem;background:var(--z-tint);color:var(--a-muted);text-decoration:none;
  box-shadow:inset 0 6px 0 var(--z),inset 0 0 0 3px color-mix(in srgb,var(--z) 45%,#fff);transition:transform .15s;}
.zone-tile:hover{transform:translateY(-3px);color:var(--a-muted);}
.zone-tile img{width:64px;height:64px;image-rendering:pixelated;flex-shrink:0;}
.zone-tile span{display:block;font-size:.95rem;line-height:1.45;}
.zone-tile small{display:block;font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--z-deep);}
.zone-tile strong{display:block;font-size:1.35rem;color:var(--a-ink);margin:.1rem 0 .3rem;}
.zone-tile b{position:absolute;right:1.25rem;top:50%;transform:translateY(-50%);font-size:1.5rem;color:var(--z-deep);}
.zone,.page-body > .container > section.zone{margin-top:clamp(3.5rem,7vw,5rem);padding:clamp(1rem,2.5vw,1.75rem);border-top:0;background:var(--z-tint);box-shadow:inset 0 0 0 3px color-mix(in srgb,var(--z) 40%,#fff);scroll-margin-top:calc(var(--nav-h) + 16px);}
.zone-head{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:1.25rem 1.5rem;margin:calc(-1 * clamp(1rem,2.5vw,1.75rem)) calc(-1 * clamp(1rem,2.5vw,1.75rem)) 1.75rem;
  padding:calc(clamp(1.5rem,3vw,2.25rem) + 8px) clamp(1.25rem,3vw,2.25rem) clamp(1.5rem,3vw,2.25rem);background:var(--navy-deep);color:var(--on-dark-soft);box-shadow:inset 0 8px 0 var(--z);}
.zone-head img{width:64px;height:64px;image-rendering:pixelated;padding:8px;box-sizing:content-box;background:rgba(255,255,255,.08);box-shadow:inset 0 0 0 2px color-mix(in srgb,var(--z) 70%,#fff);}
.zone-head h2{color:#fff;margin:.2rem 0 .4rem;}
.zone-head h2::after{display:none;}
.zone-head p{margin:0;}
.zone-kicker{font-family:var(--font-pixel-label);font-size:16px;text-transform:uppercase;letter-spacing:.02em;margin:0;color:var(--z-deep);}
.zone-head .zone-kicker{color:color-mix(in srgb,var(--z) 55%,#fff);}
.zone-sub{margin:2.25rem 0 .35rem;font-size:1.2rem;}
.zone .muted{margin-bottom:1.25rem;}
.zone-card{box-shadow:inset 0 5px 0 var(--z);}
.zone .card .kicker{color:var(--z-deep);}
.zone .plat-card .kicker{color:color-mix(in srgb,var(--accent) 62%,#000);}
.zone-brief{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:1.25rem 2rem;margin-top:2rem;padding:1.5rem 1.75rem;background:#fff;box-shadow:inset 6px 0 0 var(--z);}
.zone-brief .plat-list{margin-top:.6rem;}
@media (max-width:760px){
  .zone-pick{grid-template-columns:1fr;}
  .zone-head{grid-template-columns:auto minmax(0,1fr);}
  .zone-head .btn{grid-column:1/-1;justify-self:start;}
}
@media (max-width:420px){.zone-head{grid-template-columns:1fr;}.zone-head img{width:48px;height:48px;}}
/* small phones: long intros reach the brighter lower sky, so lift them to white */
@media (max-width:560px){.theme-apple:not(.theme-dark) .page-header .lead,.theme-dark .page-header .lead{color:#fff;}}

/* hover states that must stay light on dark surfaces */
.store:hover,.theme-dark .store:hover{color:#fff;}
.theme-dark .pill-row a:hover{color:#fff;text-decoration:underline;text-underline-offset:3px;}

/* game page: the core loop in one line */
.prose .cycle{font-family:var(--font-pixel-label);font-size:16px;text-transform:uppercase;color:var(--warm);margin-top:1rem;}

/* share menu (desktop, or anywhere without a native share sheet) */
.stores{position:relative;}
.share-menu{position:absolute;top:calc(100% + 8px);left:0;z-index:20;display:flex;flex-wrap:wrap;gap:.4rem;max-width:min(420px,calc(100vw - 2rem));padding:.6rem;
  background:var(--navy-deep);box-shadow:inset 0 0 0 2px rgba(255,255,255,.18),0 12px 30px rgba(0,0,0,.4);}
.share-menu[hidden]{display:none;}
.share-menu a,.share-menu button{display:inline-flex;align-items:center;height:36px;padding:0 .8rem;font:600 .875rem var(--font);color:#fff;text-decoration:none;
  background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.2);cursor:pointer;}
.share-menu a:hover,.share-menu button:hover,.share-menu a:focus-visible,.share-menu button:focus-visible{background:rgba(255,255,255,.2);color:#fff;}
.share-field{flex:1 1 100%;height:36px;padding:0 .6rem;font:400 .85rem var(--font);color:#16132E;background:#fff;border:0;}
