:root{--bg:#080d14;--bg2:#0d121b;--panel:#131b27;--surface:#101823;--line:#293443;--text:#f6f6f8;--muted:#a4afbf;--dim:#738096;--accent:#dd4c55;--accent2:#f16a72;--max:1280px;--display:'Space Grotesk','Segoe UI',Arial,sans-serif;--body:'Manrope','Segoe UI',Arial,sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:88px}body{margin:0;color:var(--text);background:var(--bg);font-family:var(--body);font-size:15px;-webkit-font-smoothing:antialiased;overflow-x:hidden}button,input,select,textarea{font:inherit}button{cursor:pointer}a{color:inherit;text-decoration:none}img{max-width:100%;display:block}h1,h2,h3,p{margin-top:0}::selection{background:#ed747a;color:#100c0e}:focus-visible{outline:2px solid #ff8990;outline-offset:4px}.container{width:min(var(--max),calc(100% - 96px));margin-inline:auto}.skip-link{position:absolute;top:-90px;left:14px;z-index:1000;background:var(--accent);padding:11px 18px;color:white}.skip-link:focus{top:10px}
.site-header{position:absolute;left:0;top:0;width:100%;z-index:50;border-bottom:1px solid #ffffff22;background:linear-gradient(180deg,rgba(6,10,17,.77),rgba(8,12,18,.34));backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px)}.header-inner{height:92px;display:flex;align-items:center;gap:44px}.brand{display:flex;align-items:center;gap:8px;flex-shrink:0}.brand img{width:64px;height:64px;object-fit:contain;filter:drop-shadow(0 4px 7px #0007)}.brand-wordmark{display:flex;flex-direction:column;gap:1px;align-items:start;line-height:1}.brand-wordmark strong{font:700 22px/1 var(--display);letter-spacing:.035em}.brand-wordmark>span{display:flex;align-items:center;gap:6px;font:700 10px/1.5 var(--body);letter-spacing:.45em;color:#e3a2a4}.brand-wordmark b{width:12px;height:1px;background:var(--accent);display:block}.site-nav{display:flex;align-items:center;gap:32px;margin:auto;font:700 12px/1 var(--body)}.site-nav a{color:#dce0e8;transition:color .2s}.site-nav a:hover,.site-nav a:focus-visible{color:#fff}.header-cta{display:inline-flex;align-items:center;gap:23px;padding:13px 18px;background:linear-gradient(120deg,#c63a46,#e75763);border:1px solid #ed6771;border-radius:6px;white-space:nowrap;font-size:12px;font-weight:800;transition:filter .2s,transform .2s}.header-cta:hover{filter:brightness(1.12);transform:translateY(-1px)}.header-cta span{font-size:18px}.menu-toggle{display:none;width:44px;height:44px;border:1px solid #65718166;border-radius:5px;background:#0c121dd9;color:#fff;align-items:center;justify-content:center;flex-direction:column;gap:5px}.menu-toggle span{width:21px;height:2px;background:currentColor;display:block;transition:transform .2s,opacity .2s}
.hero{position:relative;min-height:690px;overflow:hidden;background:#090d15}.hero-image{position:absolute;inset:0 0 0 36%;background-image:url('assets/cinematic-hero.webp');background-position:60% center;background-size:cover;filter:saturate(.87)}.hero-fade{position:absolute;inset:0;pointer-events:none;background:linear-gradient(90deg,#080c13 0%,#080c13f5 24%,#080c13c9 43%,#080c1333 74%,#090d146b 100%),linear-gradient(0deg,#080d14ef 0%,transparent 28%,transparent 70%,#080c1466 100%)}.hero:after{content:'';position:absolute;pointer-events:none;inset:0;background:radial-gradient(circle at 81% 36%,transparent 15%,#0b0d121a 62%)}.hero-body{position:relative;z-index:2;min-height:638px;display:flex;align-items:center;padding-top:120px;padding-bottom:74px;justify-content:space-between}.hero-copy{position:relative;z-index:2;max-width:720px}.eyebrow{font-size:11px;letter-spacing:2.15px;font-weight:800;color:#e2e6eb;display:flex;align-items:center;gap:11px;white-space:normal;margin-bottom:24px}.eyebrow span{width:22px;height:2px;background:var(--accent);flex-shrink:0}.eyebrow i{font-style:normal;color:#df616c}.hero h1{font:700 clamp(56px,6.3vw,90px)/1.04 var(--display);letter-spacing:-.052em;margin:0 0 26px;text-shadow:0 4px 24px #0005}.hero-count{letter-spacing:-.065em}.hero .plus{color:var(--accent2)}.hero h1 em{font-style:normal;color:#f36a73}.hero-copy>p{max-width:540px;font-size:16px;line-height:1.8;color:#d2d7e0;margin:0 0 27px}.hero-copy>p strong{color:#f9f9fa;font-weight:800}.hero-actions{display:flex;gap:12px;flex-wrap:wrap}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:22px;min-height:53px;padding:0 20px;border-radius:5px;font-weight:800;font-size:12px;border:1px solid transparent;transition:filter .18s,border-color .18s,transform .18s;white-space:nowrap}.button span{font-size:18px}.button:hover{transform:translateY(-2px)}.button-primary{color:white;background:linear-gradient(110deg,#c63645,#e65e68);border-color:#f07179}.button-primary:hover{filter:brightness(1.12)}.button-ghost{background:#09101ab5;border-color:#a4afbb80;color:#f5f6f8}.button-ghost:hover{background:#151c2a;border-color:#eff1f4}.hero-side-note{writing-mode:vertical-rl;transform:rotate(180deg);letter-spacing:2.4px;color:#f4f5f3a8;font-size:10px;font-weight:800;display:flex;align-items:center;gap:20px;align-self:end;margin-bottom:20px}.hero-side-note .line{width:1px;height:55px;background:var(--accent)}.hero-bottom{position:relative;z-index:3;display:flex;align-items:center;justify-content:space-between;height:52px;color:#d0d5df;font-size:10px;font-weight:800;letter-spacing:1.8px;border-top:1px solid #cdd2df3a}.hero-bottom>span:first-child{display:flex;align-items:center;gap:9px}.hero-bottom a{color:#f0d4d6}.hero-bottom a span{font-size:16px;padding-left:9px}.pulse{display:block;width:6px;height:6px;background:#ec6670;border-radius:50%;box-shadow:0 0 0 4px #ed657020}
.proof-section{background:#0d121b;border-top:1px solid #293443;border-bottom:1px solid #293443}.proof-row{display:grid;grid-template-columns:repeat(4,minmax(0,1fr))}.proof-item{display:flex;align-items:center;gap:16px;min-height:122px;padding:20px 25px;border-right:1px solid #2e3848}.proof-item:first-child{padding-left:0}.proof-item:last-child{border-right:0;padding-right:0}.proof-icon{width:41px;height:41px;display:grid;place-items:center;border:1px solid #58617166;border-radius:11px;flex:0 0 auto;font:500 24px var(--display);color:#f3f3f5}.proof-item>div{min-width:0}.proof-item strong{font:700 21px/1.2 var(--display);letter-spacing:-.03em;display:block;margin-bottom:7px}.proof-numeric strong{color:#fff;font-size:29px}.proof-item small{display:block;color:#9faabb;font-size:11px;line-height:1.55;letter-spacing:.02em}
.section{padding:110px 0}.kicker{color:var(--accent2);font-size:11px;font-weight:850;letter-spacing:2.2px;margin:0 0 18px}.section-head{display:flex;justify-content:space-between;align-items:end;gap:45px;margin-bottom:39px}.section-head h2,.technology-copy h2,.studio-inner h2,.contact-copy h2{font:700 clamp(43px,4.5vw,67px)/1.1 var(--display);letter-spacing:-.055em;margin:0}.section-head h2 em,.technology-copy h2 em,.studio-inner h2 em,.contact-copy h2 em{font-style:normal;color:#ed6b73}.section-head-side{max-width:372px}.section-head-side p,.service-heading-copy{color:#a4afc0;font-size:14px;line-height:1.8;margin:0}.gallery-controls{display:flex;gap:10px;justify-content:flex-end;margin-top:24px}.gallery-arrow{background:#141e2a;border:1px solid #3b4656;border-radius:5px;width:42px;height:42px;color:white;font-size:20px;transition:background .2s}.gallery-arrow:hover{background:#263346}.gallery-arrow:disabled{opacity:.35;cursor:not-allowed}
.games-section{padding-bottom:99px;background:#090f17}.game-gallery{display:grid;grid-auto-flow:column;grid-auto-columns:calc((100% - 42px) / 3);gap:21px;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;scrollbar-width:none;scroll-behavior:smooth;padding:2px 1px 17px;margin:-2px -1px -17px}.game-gallery::-webkit-scrollbar{display:none}.game-card{min-width:0;scroll-snap-align:start;border:1px solid #303a4a;background:#0f1824;border-radius:9px;overflow:hidden;transition:transform .2s,border-color .2s}.game-card:hover{transform:translateY(-4px);border-color:#677184}.game-image{position:relative;display:block;overflow:hidden;aspect-ratio:1.55;background:#1b2935}.game-image img{width:100%;height:100%;object-fit:cover;transition:transform .35s}.game-card:hover .game-image img{transform:scale(1.04)}.game-image:after{content:'';position:absolute;inset:40% 0 0;pointer-events:none;background:linear-gradient(transparent,#0c141c9a)}.game-badge{position:absolute;z-index:2;top:15px;left:15px;display:inline-flex;background:#070d15cf;border:1px solid #b5c1d659;color:white;padding:8px 10px;font-size:9px;letter-spacing:1.2px;font-weight:850;border-radius:3px}.game-open{position:absolute;z-index:2;right:14px;top:14px;background:#eb6570;color:#fff;width:36px;height:36px;border-radius:4px;display:grid;place-items:center;font-size:17px}.game-card-content{padding:21px 21px 20px}.game-kind{font-size:10px;letter-spacing:1.35px;color:#ed9296;font-weight:850}.game-card h3{font:700 21px/1.27 var(--display);letter-spacing:-.035em;margin:10px 0 17px;min-height:54px}.game-platforms{display:flex;gap:14px;flex-wrap:wrap;border-top:1px solid #2c3848;padding-top:14px}.game-platforms a{color:#d7dce5;font-size:11px;font-weight:800}.game-platforms a:hover{color:#ff969d}.portfolio-bottom{display:flex;align-items:center;justify-content:space-between;gap:26px;margin-top:35px;padding-top:25px;border-top:1px solid #303c4b}.portfolio-bottom>p{color:#8997a9;max-width:490px;font-size:11px;line-height:1.7;margin:0}.store-links{display:flex;flex-wrap:wrap;gap:12px}.store-links a{border:1px solid #465466;border-radius:5px;padding:12px 15px;font-size:12px;font-weight:850;white-space:nowrap}.store-links a:hover{border-color:#f38189}.store-links a span{padding-left:10px;color:var(--accent2)}
.services-section{background:#111923;border-block:1px solid #293544}.service-heading-copy{max-width:330px}.service-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.service-card{position:relative;background:linear-gradient(155deg,#182332,#101a26);border:1px solid #344050;border-radius:7px;min-height:333px;padding:24px 22px 22px;display:flex;flex-direction:column;align-items:start;transition:transform .2s,border-color .2s}.service-card:hover{transform:translateY(-5px);border-color:#8a6674}.service-index{font-size:10px;letter-spacing:2px;color:#a6b0bf;font-weight:850}.service-symbol{font:400 37px/1 var(--display);color:#f08a92;margin:22px 0}.service-card h3{font:700 23px/1.16 var(--display);letter-spacing:-.035em;margin:0 0 14px}.service-card p{color:#acb7c7;font-size:12px;line-height:1.7;margin:0 0 21px}.chips{display:flex;gap:6px;flex-wrap:wrap;margin-top:auto}.chips span{border:1px solid #445263;border-radius:3px;color:#d3d9e1;font-size:10px;padding:6px 8px}
.technology-section{position:relative;overflow:hidden;background:linear-gradient(122deg,#090f18,#151824 57%,#101722);border-bottom:1px solid #2b3744;padding:95px 0}.technology-section:before{content:'';position:absolute;border:1px solid #cf64792a;width:550px;height:550px;border-radius:50%;right:-140px;top:-240px}.technology-inner{display:grid;grid-template-columns:1fr .85fr;gap:55px;align-items:center;position:relative}.technology-copy>p:not(.kicker){max-width:560px;color:#b4becc;line-height:1.85;font-size:14px;margin:24px 0 26px}.inline-link{font-size:13px;font-weight:850;color:#f199a0}.inline-link:hover{text-decoration:underline;text-underline-offset:5px}.inline-link span{padding-left:8px}.engine-panels{display:grid;grid-template-columns:1fr 1fr;gap:12px}.engine-panel{border:1px solid #3f4756;background:linear-gradient(145deg,#222636,#121a28);border-radius:7px;min-height:251px;padding:27px 24px;display:flex;flex-direction:column;justify-content:end}.engine-mark{font:700 72px/.9 var(--display);letter-spacing:-.1em;color:#f3f3f5;margin-bottom:auto}.engine-mark span{color:#ef707b}.engine-mark.unreal{font-size:59px}.engine-panel strong{font:700 22px var(--display);letter-spacing:-.035em;margin-bottom:8px}.engine-panel small{color:#a5afbf;line-height:1.6;font-size:11px}
.studio-section{background:#0b111b}.studio-inner{display:grid;grid-template-columns:1fr .75fr;gap:100px}.studio-copy{padding-top:27px}.studio-copy p{font-size:15px;line-height:1.85;color:#aebac9}.studio-copy p:first-child{color:#e0e4e9;font-size:17px}.studio-tags{display:flex;flex-wrap:wrap;gap:8px;margin-top:25px}.studio-tags span{border-radius:100px;border:1px solid #445265;padding:9px 13px;color:#c6ceda;font-size:11px;font-weight:750}
.contact-section{background:#121a25;border-top:1px solid #2e3c4e}.contact-inner{display:grid;grid-template-columns:.88fr 1.12fr;gap:85px}.contact-copy{position:relative}.contact-copy>p:not(.kicker){font-size:15px;color:#b6c0ce;line-height:1.8;max-width:380px;margin:24px 0 29px}.contact-email{color:#fff;display:inline-block;border-bottom:1px solid var(--accent2);font-weight:800;padding-bottom:8px;max-width:100%;overflow-wrap:anywhere}.contact-email:hover{color:#ffacb1}.contact-email span{color:var(--accent2);margin-left:8px}.contact-signature{margin-top:75px;color:#748399;letter-spacing:1px;font-size:10px;font-weight:850}.contact-signature span{color:#ed707a;margin:0 8px}.contact-panel{background:#0c131d;border:1px solid #3b4759;border-radius:8px;padding:32px;box-shadow:13px 13px 0 #070c12}.form-top{display:flex;align-items:center;justify-content:space-between;gap:10px;border-bottom:1px solid #303d4d;padding-bottom:22px;margin-bottom:22px}.form-top strong{font-size:11px;letter-spacing:2px}.form-top>span{font-size:9px;font-weight:800;letter-spacing:.65px;color:#afbece;white-space:nowrap}.form-top i{display:inline-block;width:6px;height:6px;border-radius:50%;background:#7dcc9a;margin-right:5px}.contact-panel form>label,.field-row>label{display:block;font-size:11px;font-weight:850;color:#cfd7e1;margin-bottom:19px}.field-row{display:grid;grid-template-columns:1fr 1fr;gap:14px}.contact-panel input,.contact-panel select,.contact-panel textarea{display:block;width:100%;min-width:0;border:1px solid #3f4d5f;background:#161f2d;color:#fff;padding:13px 14px;border-radius:4px;font-size:13px;font-weight:500;margin-top:9px;outline:none}.contact-panel input,.contact-panel select{height:48px}.contact-panel textarea{resize:vertical;min-height:123px}.contact-panel input:focus,.contact-panel select:focus,.contact-panel textarea:focus{border-color:#f0838a;box-shadow:0 0 0 2px #ee72751c}.contact-panel input::placeholder,.contact-panel textarea::placeholder{color:#7f8da2}.form-bottom{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-top:25px}.form-bottom p{color:#8f9cb0;font-size:10px;line-height:1.7;max-width:250px;margin:0}.form-bottom p a{text-decoration:underline;text-underline-offset:3px}.form-feedback{font-size:12px;line-height:1.5;margin:15px 0 0}.form-feedback:empty{display:none}.form-feedback.success{color:#a7e4b7}.form-feedback.error{color:#ffa9af}.trap-field{position:absolute!important;width:1px!important;height:1px!important;clip-path:inset(50%)!important;overflow:hidden!important;white-space:nowrap!important}
.site-footer{background:#070c13;border-top:1px solid #253142}.footer-upper{display:flex;align-items:center;justify-content:space-between;gap:30px;padding:38px 0;border-bottom:1px solid #263241}.footer-upper p{margin:0;color:#99a5b5;line-height:1.7;font-size:12px}.back-to-top{width:44px;height:44px;border:1px solid #445264;border-radius:5px;display:grid;place-items:center;font-size:20px}.back-to-top:hover{border-color:#f27f85}.footer-bottom{display:flex;align-items:flex-start;justify-content:space-between;gap:35px;padding:30px 0 42px}.legal p{font-size:11px;line-height:1.7;color:#8090a4;margin:0 0 5px}.legal strong{color:#b3bccb}.legal a{color:#ed9ea3;font-weight:800}.footer-links{display:flex;flex-wrap:wrap;gap:20px}.footer-links a{font-size:11px;color:#b6c1cf;font-weight:800;white-space:nowrap}.footer-links a:hover{color:#ff98a0}
.legal-page .site-header{position:relative;background:#0b111b}.legal-hero{padding:70px 0 40px;background:#111925}.legal-hero h1{font:700 clamp(45px,6vw,74px)/1.15 var(--display);letter-spacing:-.05em}.legal-hero p:last-child{color:#a9b5c4}.legal-article{max-width:840px;padding:60px 0 90px}.legal-article h2{font:700 23px var(--display);margin:30px 0 14px}.legal-article p,.legal-article li{font-size:14px;line-height:1.8;color:#b3bdcb}.legal-article a{color:#e88e95;text-decoration:underline}.legal-article ul{padding-left:22px}.legal-note{border-left:3px solid #e6737d;background:#141f2b;padding:16px 19px}
@media(max-width:1150px){.container{width:calc(100% - 68px)}.header-inner{gap:26px}.site-nav{gap:20px}.hero h1{font-size:clamp(59px,7vw,81px)}.hero-image{inset-inline-start:29%}.proof-item{padding-inline:14px}.proof-item strong{font-size:17px}.proof-numeric strong{font-size:26px}.proof-icon{width:34px;height:34px;font-size:21px}.contact-inner{gap:50px}.service-card{padding:21px 18px}.service-card h3{font-size:21px}}
@media(max-width:900px){.site-nav{gap:15px}.site-nav a{font-size:11px}.header-cta{gap:11px;padding:12px}.brand-wordmark strong{font-size:19px}.brand img{width:53px;height:53px}.hero-copy{max-width:590px}.hero-image{inset-inline-start:20%}.hero-fade{background:linear-gradient(90deg,#080c13 0%,#080c13f0 25%,#080c13a9 58%,#090c124c 100%),linear-gradient(0deg,#080d14e8,transparent 43%)}.hero h1{font-size:clamp(54px,7.9vw,69px)}.proof-row{grid-template-columns:repeat(2,1fr)}.proof-item{min-height:104px;border-bottom:1px solid #2f3b4b}.proof-item:nth-child(2){border-right:0}.proof-item:nth-child(n+3){border-bottom:0}.service-grid{grid-template-columns:repeat(2,1fr)}.service-card{min-height:280px}.game-gallery{grid-auto-columns:calc((100% - 20px) / 2)}.technology-inner{gap:25px}.studio-inner{gap:35px}.contact-inner{grid-template-columns:1fr}.contact-copy{max-width:600px}.contact-signature{margin-top:32px}.contact-panel{max-width:700px}}
@media(max-width:700px){.container{width:calc(100% - 40px)}.header-inner{height:76px}.site-header{background:#090e17dc}.brand img{height:54px;width:54px}.brand-wordmark strong{font-size:18px}.brand-wordmark>span{font-size:9px}.header-cta{margin-left:auto}.menu-toggle{display:flex}.site-nav{display:none;position:absolute;top:76px;left:0;right:0;background:#0d1420;box-shadow:0 18px 30px #0008;padding:13px 20px 22px;flex-direction:column;align-items:stretch;gap:0;border-bottom:1px solid #374252}.site-nav.is-open{display:flex}.site-nav a{display:block;padding:16px 10px;border-bottom:1px solid #2b3645;font-size:15px}.menu-toggle[aria-expanded='true'] span:first-child{transform:translateY(7px) rotate(45deg)}.menu-toggle[aria-expanded='true'] span:nth-child(2){opacity:0}.menu-toggle[aria-expanded='true'] span:last-child{transform:translateY(-7px) rotate(-45deg)}.hero{min-height:675px}.hero-image{inset:0;background-position:59% 20%}.hero-fade{background:linear-gradient(90deg,#090d17eb 0%,#090d17ba 48%,#090d1785 100%),linear-gradient(0deg,#090e17 0%,#090d1780 65%,#090e175c 100%)}.hero-body{min-height:623px;padding-top:130px;padding-bottom:75px}.hero-side-note{display:none}.hero h1{font-size:clamp(52px,10vw,76px)}.hero-copy>p{font-size:14px;max-width:500px}.hero-bottom{font-size:9px}.hero-bottom>span:nth-child(2){display:none}.section{padding:80px 0}.section-head{align-items:start;display:block}.section-head h2,.technology-copy h2,.studio-inner h2,.contact-copy h2{font-size:clamp(43px,7.6vw,58px)}.section-head-side{margin-top:20px;max-width:520px;display:flex;gap:20px;justify-content:space-between;align-items:end}.gallery-controls{margin:0;flex-shrink:0}.technology-inner{grid-template-columns:1fr}.engine-panels{margin-top:20px}.studio-inner{grid-template-columns:1fr}.studio-copy{padding-top:0}.portfolio-bottom{flex-direction:column;align-items:start}.footer-bottom{flex-direction:column}.footer-upper{flex-wrap:wrap}.footer-upper p{flex:1}}
@media(max-width:500px){.container{width:calc(100% - 34px)}.header-inner{gap:7px;height:70px}.site-nav{top:70px}.brand{gap:3px}.brand img{width:45px;height:45px}.brand-wordmark strong{font-size:16px;letter-spacing:.015em}.brand-wordmark>span{font-size:8px;letter-spacing:.31em;gap:4px}.brand-wordmark b{width:8px}.header-cta{font-size:10px;gap:7px;padding:11px 10px}.header-cta span{font-size:12px}.menu-toggle{width:39px;height:40px;gap:4px}.menu-toggle span{width:17px}.menu-toggle[aria-expanded='true'] span:first-child{transform:translateY(6px) rotate(45deg)}.menu-toggle[aria-expanded='true'] span:last-child{transform:translateY(-6px) rotate(-45deg)}.hero{min-height:690px}.hero-body{min-height:643px;padding-top:121px;padding-bottom:48px;align-items:center}.eyebrow{font-size:9px;letter-spacing:1.25px;margin-bottom:23px;gap:7px}.eyebrow span{width:15px}.hero h1{font-size:clamp(43px,11.2vw,57px);letter-spacing:-.05em;line-height:1.08;margin-bottom:23px}.hero-copy>p{font-size:14px;line-height:1.75}.hero-actions{align-items:stretch;flex-direction:column;max-width:310px}.hero-actions .button{width:100%;min-height:49px}.hero-bottom{height:47px;font-size:8px;letter-spacing:.7px}.proof-row{grid-template-columns:1fr 1fr}.proof-item{gap:9px;padding:17px 8px;min-height:110px}.proof-item:first-child{padding-left:0}.proof-icon{width:30px;height:30px;border-radius:6px;font-size:17px}.proof-item strong{font-size:15px}.proof-numeric strong{font-size:22px}.proof-item small{font-size:10px}.section{padding:72px 0}.section-head{margin-bottom:25px}.section-head h2,.technology-copy h2,.studio-inner h2,.contact-copy h2{font-size:clamp(39px,9.8vw,54px)}.section-head-side{flex-wrap:wrap;gap:12px}.section-head-side p{font-size:12px}.gallery-controls{margin-left:auto}.game-gallery{grid-auto-columns:calc(100% - 35px);gap:13px}.game-card-content{padding:18px}.game-card h3{font-size:20px;min-height:0}.portfolio-bottom{margin-top:25px}.portfolio-bottom>p{font-size:10px}.store-links a{font-size:11px}.service-grid{grid-template-columns:1fr}.service-card{min-height:235px}.service-symbol{font-size:30px;margin:12px 0}.service-card h3{font-size:23px}.engine-panels{gap:8px}.engine-panel{min-height:210px;padding:17px 13px}.engine-mark{font-size:50px}.engine-mark.unreal{font-size:44px}.engine-panel strong{font-size:17px}.engine-panel small{font-size:10px}.studio-copy p{font-size:14px}.contact-inner{gap:34px}.contact-copy>p:not(.kicker){font-size:14px}.contact-panel{padding:20px 16px;box-shadow:5px 5px 0 #070c12}.field-row{grid-template-columns:1fr;gap:0}.form-bottom{flex-direction:column-reverse;align-items:stretch}.form-bottom .button{width:100%}.form-bottom p{max-width:none}.footer-upper{display:grid;grid-template-columns:1fr auto;gap:22px}.footer-upper p{grid-column:1;grid-row:2}.back-to-top{grid-column:2;grid-row:1}.footer-links{gap:15px}}
@media(max-width:355px){.header-cta{font-size:0;padding:10px}.header-cta span{font-size:17px}.brand img{width:43px;height:43px}.brand-wordmark strong{font-size:15px}.hero h1{font-size:41px}.eyebrow{font-size:8px}.proof-item strong{font-size:14px}.game-gallery{grid-auto-columns:100%}}
@media(prefers-reduced-motion:reduce){html,.game-gallery{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}}

/* Contact form: clear, accessible inline submission feedback. */
.contact-panel .button[disabled] { opacity: .65; cursor: wait; transform: none; }
.contact-panel .form-feedback { font-size: 13px; line-height: 1.55; margin: 15px 0 0; min-height: 0; }
.contact-panel .form-feedback:empty { display: none; }
.contact-panel .form-feedback.success { color: #afe5bb; }
.contact-panel .form-feedback.error { color: #ffb3b7; }

/* 26 Oct 2026: only the game cards may pan horizontally, never the entire page.
   Root overflow:clip prevents a trackpad, browser focus, or card scrolling
   from pulling the section heading and surrounding content off-screen. */
html { overflow-x: clip; max-width: 100%; }
body { overflow-x: clip; max-width: 100%; }
main, .games-section { min-width: 0; max-width: 100%; }
.games-section > .container { min-width: 0; }
.section-head { min-width: 0; }
.section-head > div { min-width: 0; }
.section-head h2 { overflow-wrap: normal; text-wrap: balance; }
.game-gallery {
  box-sizing: border-box;
  max-width: 100%;
  min-width: 0;
  overscroll-behavior-inline: contain;
  scrollbar-gutter: auto;
  scroll-padding-inline: 2px;
  touch-action: pan-x pan-y;
}
@media (max-width: 700px) {
  .section-head h2 { max-width: 100%; }
}

/* 2026-10-26 — Typography and responsive containment pass.
   A section title must never cross into its description or another column. */
.section-head > * ,
.technology-inner > *,
.studio-inner > *,
.contact-inner > *,
.contact-panel,
.service-card,
.game-card,
.footer-upper > *,
.footer-bottom > * { min-width: 0; }

/* The portfolio title needs an entire line, not the shrinking half-width
   of the previous two-column header. Description and controls sit below. */
.games-section .section-head {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  align-items: start;
  gap: 21px;
  margin-bottom: 32px;
}
.games-section .section-head > :first-child { width: 100%; min-width: 0; }
.games-section .section-head h2 {
  max-width: 100%;
  font-size: clamp(40px, 4.35vw, 65px);
  line-height: 1.14;
  letter-spacing: -0.045em;
  text-wrap: balance;
  overflow-wrap: break-word;
}
.games-section .section-head-side {
  width: 100%;
  max-width: none;
  min-width: 0;
  margin: 0;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
}
.games-section .section-head-side > p {
  flex: 1 1 520px;
  max-width: 650px;
  min-width: 0;
  line-height: 1.75;
}
.games-section .gallery-controls { margin: 0; flex: 0 0 auto; }

/* Other two-column headings are sized to the actual grid track instead of
   allowing min-content growth to push nearby copy off its own space. */
.services-section .section-head { display: grid; grid-template-columns: minmax(0, 1fr) minmax(220px, 320px); }
.services-section .section-head h2 { overflow-wrap: break-word; text-wrap: balance; }
.technology-inner { grid-template-columns: minmax(0, 1fr) minmax(0, .85fr); }
.studio-inner { grid-template-columns: minmax(0, 1fr) minmax(0, .75fr); }
.contact-inner { grid-template-columns: minmax(0, .88fr) minmax(0, 1.12fr); }
.technology-copy h2, .studio-inner h2, .contact-copy h2 {
  max-width: 100%;
  overflow-wrap: break-word;
}

/* Long addresses, cards and buttons should wrap instead of leaving the page. */
.contact-email, .contact-signature, .legal, .service-card h3,
.game-card h3, .engine-panel strong { overflow-wrap: anywhere; }
.footer-upper p, .legal { min-width: 0; }

@media (max-width: 900px) {
  .services-section .section-head { grid-template-columns: minmax(0, 1fr) minmax(210px, 270px); gap: 24px; }
  .studio-inner { gap: 40px; }
  .technology-inner { gap: 28px; }
}
@media (max-width: 700px) {
  .games-section .section-head { gap: 20px; }
  .games-section .section-head h2 { font-size: clamp(39px, 8vw, 56px); }
  .games-section .section-head-side { align-items: center; gap: 15px; }
  .services-section .section-head { display: block; }
  .services-section .section-head .service-heading-copy { margin-top: 18px; max-width: 550px; }
  .technology-inner, .studio-inner, .contact-inner { grid-template-columns: minmax(0, 1fr); }
}
@media (max-width: 500px) {
  .games-section .section-head h2 { font-size: clamp(37px, 9.8vw, 50px); line-height: 1.15; }
  .games-section .section-head-side { display: grid; grid-template-columns: minmax(0,1fr) auto; align-items: end; gap: 10px; }
  .games-section .section-head-side > p { font-size: 12px; max-width: none; }
  .games-section .gallery-controls { align-self: end; }
  .gallery-arrow { width: 38px; height: 38px; }
  .hero-copy, .hero h1 { min-width: 0; max-width: 100%; }
  .hero h1 { overflow-wrap: break-word; }
}
@media (max-width: 370px) {
  .games-section .section-head-side { grid-template-columns: minmax(0,1fr); }
  .games-section .gallery-controls { justify-self: end; }
}


/* 2026-10-26: Curated three-game portfolio, no horizontal gallery or arrows. */
.games-section .section-head-side {
  display: flex;
  justify-content: space-between;
  align-items: end;
  gap: 28px;
}
.games-section .section-head-side > p {
  flex: 1 1 490px;
  max-width: 635px;
}
.portfolio-milestone {
  display: flex;
  align-items: baseline;
  justify-content: flex-end;
  flex-wrap: wrap;
  gap: 8px 12px;
  flex: 0 0 auto;
  text-align: right;
}
.portfolio-milestone strong {
  font: 700 clamp(25px,3.2vw,40px)/1 var(--display);
  letter-spacing: -.035em;
  color: #ed6b73;
}
.portfolio-milestone span {
  display: block;
  font-size: 12px;
  color: #a4afc0;
  max-width: 158px;
  line-height: 1.45;
}
.games-section .featured-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  grid-auto-flow: row;
  grid-auto-columns: auto;
  gap: 21px;
  width: 100%;
  max-width: 100%;
  margin: 0;
  padding: 0;
  overflow: visible;
  touch-action: auto;
  scroll-snap-type: none;
}
.featured-grid > .game-card { min-width: 0; scroll-snap-align: none; }
@media (max-width: 900px) {
  .games-section .featured-grid { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 16px; }
  .games-section .featured-grid > .game-card:last-child { grid-column: span 2; }
  .games-section .featured-grid > .game-card:last-child .game-image { aspect-ratio: 2.4; }
  .games-section .section-head-side { flex-wrap: wrap; }
  .portfolio-milestone { text-align: left; justify-content: start; }
}
@media (max-width: 600px) {
  .games-section .featured-grid { grid-template-columns: 1fr; gap: 19px; }
  .games-section .featured-grid > .game-card:last-child { grid-column: auto; }
  .games-section .featured-grid > .game-card:last-child .game-image { aspect-ratio: 1.55; }
  .games-section .section-head-side { display: flex; flex-direction: column; align-items: flex-start; gap: 15px; }
  .games-section .section-head-side > p { flex: 0 1 auto; }
  .portfolio-milestone { gap: 10px; align-items: center; }
  .portfolio-milestone strong { font-size: 28px; }
  .portfolio-milestone span { max-width: none; }
}
