:root{--paper:#fff;--ink:#17243e;--muted:#536079;--brand:#2447b2;--mist:#dceeff;--ice:#edf3fb;--line:#dce1eb;--font:"Avenir Next","Trebuchet MS","PingFang TC","Microsoft JhengHei",sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:28px}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--font);line-height:1.6;-webkit-font-smoothing:antialiased}button,input,select,textarea{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button,a{touch-action:manipulation}a{color:inherit;text-decoration:none}button{cursor:pointer}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,[tabindex]:focus-visible{outline:3px solid #bb7400;outline-offset:5px}::selection{background:var(--mist)}.wrap{width:min(1280px,calc(100% - 112px));margin-inline:auto}.skip-link{position:absolute;left:16px;top:-100px;background:var(--ink);color:#fff;padding:12px;z-index:10}.skip-link:focus{top:12px}.site-header{height:112px;display:flex;align-items:center;gap:40px}.brand{display:flex;align-items:center;gap:10px;line-height:.85;font-size:31px;font-weight:750;letter-spacing:-1.8px}.brand svg{width:38px;height:38px;fill:var(--brand)}.brand-sub{display:block;font-size:11px;letter-spacing:1.6px;font-weight:600;margin-top:9px}.site-header nav{margin-left:auto;display:flex;gap:34px;align-items:center;font-size:14px;font-weight:600}.site-header nav a:hover,.text-link:hover{color:var(--brand)}.nav-project{border:1px solid var(--line);padding:11px 20px;border-radius:6px}.hero{display:grid;grid-template-columns:1fr 1fr;min-height:640px;gap:45px;align-items:center;padding:22px 0 55px}.intro{font-size:14px;font-weight:600;margin:0 0 25px;color:var(--muted)}h1,h2,h3,p{margin-top:0}h1{font-size:clamp(70px,7.8vw,116px);line-height:.99;letter-spacing:-6px;font-weight:650;margin-bottom:30px}h2{font-size:clamp(34px,3.5vw,48px);letter-spacing:-1.8px;line-height:1.14;font-weight:600;margin-bottom:0}h3{font-size:24px;letter-spacing:-.6px;line-height:1.3;font-weight:600}.hero-description{font-size:18px;max-width:420px;line-height:1.7;color:var(--muted);margin-bottom:28px}.button{display:inline-flex;align-items:center;justify-content:center;gap:24px;font-size:14px;font-weight:600;min-height:52px;padding:14px 22px;border:0;border-radius:6px}.primary{background:var(--brand);color:white}.primary:hover{background:#19358e}.button svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.7}.hero-location{display:flex;align-items:center;gap:9px;margin:25px 0 0;font-size:12px;color:var(--muted)}.location-dot{width:6px;height:6px;border-radius:50%;background:var(--brand)}.hero-art{background:#eaf4fc;border-radius:130px 12px 12px 12px;position:relative;align-self:stretch;min-height:545px;display:flex;flex-direction:column;justify-content:center;overflow:hidden}.play-sculpture{width:100%;height:auto;display:block;margin-top:-23px}.art-caption{position:absolute;top:32px;left:76px;right:30px;display:flex;justify-content:space-between;align-items:center;color:#49657e;font-size:12px}.art-caption>span:last-child{font-size:24px}.layer-controls{position:absolute;bottom:24px;left:50%;transform:translateX(-50%);display:flex;gap:3px;padding:4px;border:1px solid #c8deef;border-radius:28px;background:#f5faff}.layer-controls button{background:transparent;border:0;border-radius:22px;font-size:12px;padding:9px 19px;color:#49657e;min-height:40px}.layer-controls button[aria-pressed=true]{background:var(--brand);color:white}.art-layer{transition:transform .35s ease,opacity .35s ease}.hero-art[data-selected=engine] [data-layer=game]{transform:translateY(-24px);opacity:.38}.hero-art[data-selected=platform] [data-layer=game]{transform:translateY(-38px);opacity:.25}.hero-art[data-selected=platform] [data-layer=engine]{transform:translateY(-20px);opacity:.45}.positioning{border-block:1px solid var(--line);display:flex;justify-content:space-between;align-items:center;padding-block:30px}.positioning p{font-size:23px;line-height:1.45;letter-spacing:-.5px;margin:0}.positioning>span{font-size:14px;color:var(--muted);text-align:right}.section{padding-block:98px}.section-heading{display:flex;justify-content:space-between;gap:70px;align-items:end;margin-bottom:45px}.section-heading>p{max-width:330px;color:var(--muted);font-size:16px;margin:0}.service-layout{display:grid;grid-template-columns:1fr 1fr;gap:65px}.service-tabs{display:flex;flex-direction:column}.service-tabs button{display:flex;justify-content:space-between;gap:20px;text-align:left;align-items:center;background:transparent;border:0;border-bottom:1px solid var(--line);min-height:75px;font-size:18px;font-weight:500;padding:18px 12px;color:var(--muted)}.service-tabs button>span:last-child{font-size:24px;color:#8390a5}.service-tabs button[aria-selected=true]{color:var(--brand);background:#edf5ff;border-left:3px solid var(--brand);padding-left:20px;font-weight:600}.service-tabs button:hover{color:var(--brand)}.service-panel{background:var(--ice);padding:32px 40px;border-radius:10px;display:flex;flex-direction:column;align-items:flex-start;justify-content:center}.service-symbol{font-size:45px;line-height:1;color:var(--brand);margin-bottom:23px}.service-panel h3{margin-bottom:14px}.service-panel p{color:var(--muted);max-width:42ch;margin-bottom:22px}.service-panel ul{list-style:none;margin:0 0 26px;padding:0;display:flex;gap:9px;flex-wrap:wrap}.service-panel li{font-size:11px;padding:5px 10px;border:1px solid #ccd5e4;border-radius:4px;color:#475675}.text-link{font-size:13px;font-weight:600;text-decoration:underline;text-underline-offset:5px}.company{background:#e7f1fb;padding-block:90px}.company-layout{display:grid;grid-template-columns:1fr 1fr;gap:65px}.small-label{font-size:13px;font-weight:600;color:#456282;margin-bottom:25px}.company h2{font-size:clamp(34px,3.6vw,51px)}.company-copy>p{color:var(--muted);font-size:15px;max-width:48ch}.company-copy>.large-copy{color:var(--ink);font-size:23px;line-height:1.55;margin-bottom:20px;letter-spacing:-.4px}.company-details{border-top:1px solid #c3d7ea;margin-top:30px;padding-top:25px;display:flex;gap:55px}.company-details span{display:block;font-size:12px;color:var(--muted);margin-bottom:6px}.company-details strong{font-size:14px;font-weight:600}.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:50px;list-style:none;margin:0;padding:10px 0 0}.step-number{display:block;font-size:13px;color:var(--brand);padding-bottom:20px;border-bottom:1px solid var(--line);margin-bottom:25px}.steps h3{font-size:21px;margin-bottom:14px}.steps p{color:var(--muted);font-size:15px;max-width:35ch;margin-bottom:0}.project{background:#f0f4fa}.project-layout{display:grid;grid-template-columns:1fr 1fr;gap:90px}.project h2{font-size:clamp(38px,4vw,55px);margin-bottom:25px}.project-intro{font-size:17px;color:var(--muted);max-width:35ch}.form-note{font-size:12px;color:var(--muted);max-width:42ch;margin-top:36px}form{display:flex;flex-direction:column;gap:20px}form label{display:flex;flex-direction:column;gap:8px;font-size:13px;font-weight:600}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:20px}input,select,textarea{width:100%;min-width:0;border:1px solid #bbc6d6;background:#fff;padding:12px 13px;border-radius:5px;color:var(--ink);font-size:15px;font-weight:400;min-height:48px}textarea{resize:vertical}textarea::placeholder{color:#66758a;font-size:14px}form .button{align-self:flex-start}.form-status{font-size:13px;color:#405078;margin:0;min-height:20px}footer{padding-block:45px 25px}.footer-wordmark{display:flex;justify-content:space-between;align-items:center;font-size:clamp(32px,5.4vw,76px);letter-spacing:-3px;line-height:1.3;font-weight:600;padding-bottom:35px;border-bottom:1px solid var(--line)}.footer-wordmark>span{color:var(--brand);font-weight:400}.footer-bottom{display:flex;gap:25px;justify-content:space-between;align-items:center;font-size:11px;color:var(--muted);padding-top:22px}.footer-bottom p{margin:0}
@media(min-width:1500px){.hero{min-height:710px}.hero-art{min-height:600px}}
@media(max-width:1050px){.wrap{width:calc(100% - 64px)}.hero{gap:28px;min-height:570px}.hero-art{min-height:490px}h1{font-size:80px;letter-spacing:-4px}.site-header{gap:20px}.site-header nav{gap:20px}.art-caption{left:55px;top:38px}.service-layout,.company-layout{gap:35px}.service-panel{padding:30px}.project-layout{gap:45px}.service-tabs button{font-size:16px}.layer-controls button{padding-inline:15px}}
@media(max-width:760px){.wrap{width:calc(100% - 40px)}.site-header{height:92px;gap:16px;flex-wrap:wrap}.brand{font-size:27px}.brand svg{width:33px}.site-header nav{gap:15px;font-size:12px}.site-header .nav-project{display:none}.hero{grid-template-columns:1fr;padding:25px 0 35px;gap:35px}.intro{font-size:12px;margin-bottom:20px}h1{font-size:clamp(50px,16vw,80px);letter-spacing:-3px;margin-bottom:24px}.hero-description{font-size:16px;max-width:38ch}.hero-location{margin-top:19px}.hero-art{min-height:0;height:auto;aspect-ratio:1.05;border-top-left-radius:95px}.play-sculpture{height:100%;margin-top:0}.art-caption{top:24px;left:60px;font-size:11px}.layer-controls{bottom:15px}.layer-controls button{font-size:11px;padding:7px 18px}.positioning{padding-block:24px;gap:20px}.positioning p{font-size:18px}.positioning>span{font-size:11px;flex-shrink:0}.section{padding-block:60px}.section-heading{display:block;margin-bottom:30px}h2{font-size:35px;letter-spacing:-1px}.section-heading>p{margin-top:22px;max-width:40ch;font-size:15px}.service-layout,.company-layout,.project-layout{grid-template-columns:1fr;gap:30px}.service-tabs button{min-height:62px;padding-block:14px}.service-panel{min-height:340px;padding:30px}.company{padding-block:60px}.company-copy>.large-copy{font-size:21px}.company-details{gap:40px}.steps{grid-template-columns:1fr;gap:30px}.steps li{position:relative;padding-left:48px}.step-number{position:absolute;left:0;top:1px;border:0}.steps h3{font-size:21px}.steps p{max-width:43ch}.project h2{font-size:38px}.project-intro{max-width:39ch}.form-note{margin-top:24px}.project-layout{gap:20px}.form-row{gap:14px}footer{padding-block:30px 22px}.footer-wordmark{font-size:37px;letter-spacing:-1.8px;padding-bottom:25px}.footer-bottom{flex-wrap:wrap;gap:12px;font-size:10px}.footer-bottom p:nth-child(2){display:none}}
@media(max-width:380px){.wrap{width:calc(100% - 32px)}.site-header{gap:12px}.site-header nav{gap:10px}.brand{font-size:24px}.brand svg{width:29px}.brand-sub{font-size:9px}h1{font-size:16vw}.positioning p{font-size:16px}.hero-art{aspect-ratio:1}.art-caption{left:50px}.footer-wordmark{font-size:32px}.form-row{grid-template-columns:1fr}}
.policy{max-width:820px;padding-block:55px 80px}.policy h1{font-size:clamp(42px,6vw,72px);line-height:1.15;letter-spacing:-2px;margin:34px 0 16px}.policy-date{font-size:13px;color:var(--muted)}.policy-summary{font-size:21px;line-height:1.65;margin-top:28px}.policy-notice{background:var(--ice);border-left:3px solid var(--brand);padding:20px 24px;font-size:14px;color:var(--muted);margin:28px 0 42px}.policy section{margin-top:36px}.policy h2{font-size:25px;line-height:1.3;letter-spacing:-.5px;margin-bottom:16px}.policy section p{color:var(--muted);font-size:16px;line-height:1.8}.policy section a{text-decoration:underline;text-underline-offset:3px;color:var(--brand)}.footer-bottom a{padding-block:8px}.footer-bottom a:hover{color:var(--brand);text-decoration:underline}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.art-layer{transition:none}}

/* Geometric Tyche monogram: a cut top bar and detached descending stem. */
.brand .brand-mark{display:block;width:44px;height:44px;flex-shrink:0}.brand{gap:12px}.footer-wordmark .footer-mark{display:block;width:64px;height:64px;flex-shrink:0;margin-left:20px}@media(max-width:760px){.brand .brand-mark{width:36px;height:36px}.brand{gap:9px}.footer-wordmark .footer-mark{width:40px;height:40px}}@media(max-width:380px){.brand .brand-mark{width:30px;height:30px}.footer-wordmark .footer-mark{width:32px;height:32px;margin-left:12px}}

/* Balanced two-line wordmark, shared with the standalone SVG lockup. */
.brand .brand-lockup{display:block;width:172px;height:auto}.footer-wordmark .footer-lockup{display:block;width:min(400px,100%);height:auto}.footer-wordmark{justify-content:flex-start}@media(max-width:760px){.brand .brand-lockup{width:156px}.footer-wordmark .footer-lockup{width:270px}}@media(max-width:380px){.brand .brand-lockup{width:142px}.footer-wordmark .footer-lockup{width:250px}}
