/* Shared layouts are fluid; phone and tablet controls remain easy to reach. */
:root{--gutter:clamp(20px,4.4vw,80px)}
main{min-width:0}
.orbit-mark{overflow:clip}
button,input,textarea,summary{-webkit-tap-highlight-color:transparent}
.button,.text-link,.menu,.close{touch-action:manipulation}
.close{width:44px;height:44px;flex-shrink:0}
.contact-form input:not([type=checkbox]),.contact-form textarea,.search input{font-size:16px}
.contact-form textarea{min-height:160px}
.checkbox{min-height:44px;font-size:13px;gap:12px}
.checkbox input{width:22px;height:22px;margin:2px 0 0}
.contact-email>a{overflow-wrap:anywhere}
.collection-actions{display:flex;justify-content:space-between;align-items:center;margin-top:15px;gap:16px}
.collection-actions .text-link{min-height:44px}
.collection-actions>span{display:none}
.portfolio-top{padding-top:38px;padding-bottom:38px}
.portfolio-top h1{font-size:clamp(44px,5.5vw,76px);margin:18px 0}
.portfolio-art{height:250px}
.portfolio-top p:not(.eyebrow){font-size:15px;line-height:1.65}
.catalogue-tools{display:flex;flex-direction:column;align-items:stretch;gap:15px;padding:22px 0;border-top:1px solid var(--border)}
.catalogue-search-row{display:flex;align-items:stretch;gap:12px}
.catalogue-tools .search{max-width:none;min-width:0;flex:1;min-height:50px}
.filter-tabs{display:flex;flex-wrap:wrap;gap:8px}
.filter-tabs button,.demo-filter{min-height:46px;font-size:12px;padding:10px 15px}
.demo-filter{display:flex;align-items:center;justify-content:center;gap:11px;border:1px solid var(--border);background:#111216;border-radius:3px;color:#d9d7d1;white-space:nowrap}
.demo-filter.active{border-color:var(--gold);color:var(--gold);background:#dfbb7310}
.demo-filter>span:first-child{color:var(--gold);font-size:18px}
.demo-filter>span:last-child{font-size:11px;color:#bdb8ae}
.results-meta{font-size:12px;padding:18px 0 22px}
.card-bottom{min-height:85px}
.card-bottom .text-link{min-height:44px}
.game-facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 24px;margin:28px 0 0;border-top:1px solid var(--border)}
.game-facts>div{padding:18px 0;border-bottom:1px solid var(--border);min-width:0}
.game-facts dt{font-size:11px;color:var(--muted);margin-bottom:5px}
.game-facts dd{margin:0;font-size:15px;color:var(--text);line-height:1.5}
.game-mechanics{padding-top:20px}
.game-mechanics h2{font-size:clamp(32px,3.5vw,52px);margin:17px 0 34px}
.partners-top{background:radial-gradient(ellipse at 85% 10%,#dfbb7315,transparent 65%)}
.partners-top .hero-actions{margin-top:28px;flex-wrap:wrap}
.partner-steps{border-top:1px solid var(--border)}
.partner-questions{display:grid;grid-template-columns:1fr 1.3fr;gap:8%;padding-top:25px}
.partner-questions h2{font-size:clamp(36px,4vw,58px);margin-top:18px}
.partner-questions details{border-top:1px solid var(--border);padding:0}
.partner-questions details:last-child{border-bottom:1px solid var(--border)}
.partner-questions summary{padding:21px 8px 21px 0;cursor:pointer;min-height:54px;color:var(--text);font-size:16px;line-height:1.5}
.partner-questions details p{font-size:14px;padding:0 25px 22px 0}
#reel-dialog{max-height:calc(100dvh - 24px);overscroll-behavior:contain;margin:auto}
#reel-dialog video{max-height:calc(100dvh - 160px);object-fit:contain}
.hero-motion-toggle{min-height:44px}

@media(min-width:600px) and (max-width:1100px){
  .game-grid,.catalogue .game-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .feature-list{gap:22px}
  .feature-list h3{font-size:21px}
}

@media(max-width:960px){
  html{scroll-padding-top:86px}
  .header{height:72px;padding:0 max(20px,env(safe-area-inset-right)) 0 max(20px,env(safe-area-inset-left));gap:16px}
  .header .brand img{width:43px;height:45px}
  .header .brand span{font-size:24px}
  .header .brand small{font-size:8px;margin-top:6px}
  .header-cta{display:none}
  .menu{display:block;background:transparent;border:0;padding:10px;min-width:48px;min-height:48px}
  .header nav{display:none;position:absolute;top:71px;left:0;right:0;flex-direction:column;gap:4px;background:#0b0c10fa;backdrop-filter:blur(20px);padding:18px 20px 24px;border-bottom:1px solid var(--border);max-height:calc(100dvh - 72px);overflow-y:auto;overscroll-behavior:contain}
  .header nav a{font-size:15px;padding:14px 12px;min-height:48px}
  .header.menu-open nav{display:flex}
  .hero h1{font-size:clamp(64px,10.5vw,96px)}
  .hero-content{max-width:720px}
}

@media(max-width:760px){
  :root{--gutter:20px}
  .hero{min-height:0;height:auto}
  .hero-content{padding:155px var(--gutter) 126px;max-width:none}
  .hero h1{font-size:clamp(55px,14vw,88px);margin:20px 0 22px;line-height:.94}
  .hero-copy{font-size:clamp(16px,4.25vw,19px);line-height:1.5}
  .hero-actions{margin-top:24px;gap:12px}
  .hero-actions .button{min-height:52px;padding:14px 20px}
  .hero-image{background-position:79% 0;background-size:auto 560px}
  .hero-image video{height:560px;object-position:79% top}
  .hero-shade{background:linear-gradient(90deg,#090a0d9e,#090a0d10),linear-gradient(0deg,var(--bg) 2%,#090a0df7 18%,#090a0d35 65%,transparent)}
  .hero-motion-toggle{right:var(--gutter);bottom:65px;min-height:44px;font-size:10px;padding:10px 14px}
  .hero-bottom{left:var(--gutter);right:var(--gutter);bottom:19px;gap:14px;line-height:1.6;font-size:7px;letter-spacing:.1em}
  .section{padding:44px var(--gutter)}
  .collection{padding-top:30px;padding-bottom:36px}
  .section-intro{align-items:flex-end;gap:16px;margin-bottom:22px}
  .section-intro h2{font-size:clamp(29px,8vw,40px)}
  .section-intro .text-link{font-size:10px;min-height:44px;line-height:1.4;text-align:right}
  .text-link{min-height:44px;font-size:11px}
  .collection .game-grid{display:grid;grid-auto-flow:column;grid-auto-columns:min(84vw,390px);grid-template-columns:none;gap:16px;overflow-x:auto;overscroll-behavior-x:contain;scroll-snap-type:x mandatory;scroll-padding-inline:var(--gutter);margin-inline:calc(-1 * var(--gutter));padding:4px var(--gutter) 14px;scrollbar-width:thin;scrollbar-color:#6e5a32 transparent}
  .collection .game-card{scroll-snap-align:start}
  .collection-actions{margin-top:6px}
  .collection-actions>span{display:block;font-size:10px;color:#a7a7ab;text-align:right}
  .collection-note{font-size:12px;line-height:1.65;margin-top:16px}
  .card-bottom{padding:13px 15px;gap:12px;min-height:82px}
  .card-bottom h3{font-size:16px}
  .card-bottom div>span{font-size:12px;line-height:1.5}
  .card-bottom .text-link{font-size:10px;gap:8px}
  .badge{top:12px;left:12px}
  .portfolio-top{padding:28px var(--gutter) 26px;display:block}
  .portfolio-top h1{font-size:clamp(39px,10vw,62px);margin:15px 0}
  .portfolio-top p:not(.eyebrow){font-size:14px;line-height:1.6}
  .portfolio-art{display:none}
  .catalogue{padding-top:0}
  .catalogue-tools{padding:15px 0;gap:12px}
  .catalogue-search-row{flex-wrap:wrap;gap:10px}
  .catalogue-tools .search{flex:1 0 100%;min-height:50px;padding:5px 12px}
  .search input{padding:8px 3px}
  .demo-filter{min-height:44px;font-size:12px;padding:8px 13px;gap:10px}
  .filter-tabs{display:flex;flex-wrap:nowrap;overflow-x:auto;max-width:100%;width:100%;padding:3px 1px 9px;scrollbar-width:thin;scrollbar-color:#6e5a32 transparent;overscroll-behavior-x:contain}
  .filter-tabs button{flex:0 0 auto;min-height:44px;padding:10px 13px;font-size:12px}
  .filter-tabs button span{font-size:10px;margin-left:8px}
  .results-meta,.catalogue .results-meta{font-size:11px;align-items:center;gap:14px;padding:16px 0 20px}
  .results-meta>span:last-child{max-width:180px}
  .catalogue .game-grid{gap:20px}
  .game-detail-hero{padding:24px var(--gutter) 32px;gap:22px}
  .game-detail-hero .back-link{min-height:44px;display:flex;align-items:center;margin-bottom:16px;font-size:12px}
  .game-detail-hero h1{font-size:clamp(38px,10vw,64px);margin:16px 0;line-height:1.04}
  .game-tagline{font-size:19px}
  .game-detail-hero .hero-actions{margin-top:22px}
  .game-detail-hero .button{min-height:50px;font-size:11px}
  .game-detail-intro{display:contents}
  .game-detail-hero .back-link{grid-row:1;margin:0}
  .game-detail-hero .eyebrow{grid-row:2}
  .game-detail-hero h1{grid-row:3;margin:0}
  .game-detail-hero .game-tagline{grid-row:4}
  .game-detail-hero .detail-key-art{grid-row:5}
  .game-detail-hero .hero-actions{grid-row:6;margin-top:0}
  .game-detail-hero .demo-note{grid-row:7;margin-top:-8px;font-size:11px!important}
  .game-detail-hero{row-gap:14px}
  .game-film-poster .film-play{min-height:44px;font-size:11px;bottom:12px;left:12px}
  .detail-body{gap:22px}
  .detail-body h2{font-size:36px}
  .detail-body p+p{font-size:15px;line-height:1.7}
  .lead{font-size:18px!important;line-height:1.65}
  .game-facts{gap:0 18px;margin-top:24px}
  .game-facts dt{font-size:11px}
  .game-facts dd{font-size:14px}
  .specs{gap:0 16px}
  .specs strong{font-size:13px;overflow-wrap:anywhere}
  .game-mechanics{padding-top:14px}
  .game-mechanics h2{font-size:32px;margin:16px 0 26px}
  .game-mechanics .feature-list p,.feature-list p{font-size:14px;line-height:1.7}
  .feature-section{padding-top:10px}
  .b2b-intro{padding-top:38px;padding-bottom:40px}
  .b2b-heading{margin-bottom:26px}
  .b2b-heading p+p{font-size:15px}
  .page-top{padding:36px var(--gutter) 32px}
  .page-top h1{font-size:clamp(35px,9.7vw,62px);overflow-wrap:normal;hyphens:none}
  .partners-top .hero-actions{display:grid;grid-template-columns:1fr}
  .partner-questions{grid-template-columns:1fr;gap:28px;padding-top:10px}
  .partner-questions h2{font-size:36px}
  .partner-questions summary{font-size:15px;min-height:52px}
  .partner-questions details p{font-size:14px}
  .contact-layout{padding-top:34px;gap:32px}
  .contact-heading h1{font-size:clamp(38px,10.4vw,64px);margin:19px 0 22px}
  .contact-heading>p{font-size:15px}
  .contact-email{margin-top:23px}
  .contact-email>a{font-size:clamp(17px,4.9vw,24px);min-height:44px}
  .contact-aside{margin-top:21px}
  .contact-form{gap:21px}
  .contact-form label:not(.checkbox){font-size:12px}
  .contact-form input:not([type=checkbox]),.contact-form textarea{padding:14px;min-height:50px;font-size:16px}
  .form-row{gap:21px}
  .contact-form .button{min-height:52px}
  .checkbox{font-size:13px;line-height:1.6}
  .footer{padding:32px var(--gutter) max(24px,env(safe-area-inset-bottom))}
  .footer-top{gap:22px}
  .footer-top p{font-size:12px}
  .footer-contact{font-size:14px;min-height:44px;overflow-wrap:anywhere}
  .footer-links{gap:2px 20px;font-size:12px}
  .footer-links a{display:inline-flex;align-items:center;min-height:44px}
  .footer-bottom{flex-wrap:wrap;align-items:center;gap:13px;font-size:11px}
  .footer-bottom>div{gap:18px}
  .footer-bottom a{display:inline-flex;align-items:center;min-height:44px}
  .preview-note{font-size:11px;line-height:1.6;margin-top:14px}
  .format-directory a{min-height:60px;font-size:12px}
  #reel-dialog{width:calc(100vw - 20px);padding:14px;border-radius:8px}
  .dialog-head{gap:12px;margin-bottom:12px}
  .dialog-head h2{font-size:14px;line-height:1.5}
  #reel-dialog video{max-height:calc(100dvh - 160px)}
  dialog.age-gate{padding:26px 22px;max-height:calc(100dvh - 24px);width:calc(100vw - 24px)}
  .age-gate .age-brand{margin-bottom:27px}
}

@media(max-width:359px){
  .hero-content{padding-top:128px}
  .hero h1{font-size:53px}
  .hero-content>.eyebrow{font-size:8px;letter-spacing:.12em}
  .hero-bottom{font-size:6px}
  .game-facts{grid-template-columns:1fr}
  .section-intro{align-items:flex-start}
  .collection-actions{align-items:flex-start}
  .collection-actions>span{max-width:100px}
  .age-gate .age-brand{gap:8px}
  .age-gate .age-brand>span:not(.age-badge){font-size:22px}
  .age-gate .age-badge{width:40px;height:40px}
}

@media(max-height:500px){
  #reel-dialog{padding:10px;max-height:calc(100dvh - 16px)}
  #reel-dialog .dialog-head{margin-bottom:8px}
  #reel-dialog video{max-height:calc(100dvh - 110px)}
  #reel-dialog .film-caption{margin-top:6px;font-size:10px}
  dialog.age-gate{padding:20px 24px}
  .age-gate .age-brand{margin-bottom:16px}
  .age-gate h2{font-size:32px;margin-bottom:16px}
  .age-gate .age-actions{margin-top:18px}
}

@media(hover:none){
  .game-card:hover,.button:hover{transform:none}
  .game-card:hover img{transform:none}
  .card-art .film-badge{display:none}
}

/* Company identity and a readable privacy notice on every screen. */
.company-footer{font-size:11px;line-height:1.7;margin-top:20px;color:#a7a7ab}
.company-footer a,.privacy-content a:not(.text-link){text-decoration:underline;text-underline-offset:3px}
.company-footer a:hover,.privacy-content a:hover{color:var(--gold)}
.privacy-top{padding-bottom:36px}
.privacy-top .notice-updated{font-size:12px!important;color:var(--gold);margin-top:20px}
.privacy-content{max-width:1000px;font-size:15px;line-height:1.85}
.company-card{padding:28px;border:1px solid var(--border);background:linear-gradient(110deg,#191710,#101115);border-radius:6px;margin-bottom:42px}
.company-card h2{font-family:var(--display);font-size:32px;margin:16px 0}
.company-card dl{margin:22px 0 10px}
.company-card dl>div{display:grid;grid-template-columns:150px 1fr;gap:20px;padding:12px 0;border-top:1px solid var(--border)}
.company-card dt{font-size:12px;color:var(--muted)}
.company-card dd{margin:0;font-size:14px;overflow-wrap:anywhere}
@media(max-width:760px){.company-footer{font-size:11px}.company-card{padding:22px 18px}.company-card h2{font-size:28px}.company-card dl>div{grid-template-columns:1fr;gap:4px}.privacy-content p{font-size:15px}.privacy-content h2{line-height:1.25}.privacy-content a{overflow-wrap:anywhere}}
