@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;450;500;550;600;650;700&family=Manrope:wght@400;500;600;650;700;750;800&display=swap');
:root{--ink:#090c14;--paper:#f3f4f6;--blue:#365dff;--muted:#a4a8b4;--line:#272a33;--font:'DM Sans',Arial,sans-serif;--display:'Manrope',Arial,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:95px}body{margin:0;background:var(--ink);color:#fff;font:1rem/1.6 var(--font);-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button{font:inherit}a,button{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible{outline:3px solid #9bb1ff;outline-offset:6px}::selection{background:#365dff;color:#fff}.skip-link{position:fixed;top:-80px;left:20px;padding:12px 20px;background:white;color:var(--ink);z-index:20}.skip-link:focus{top:12px}.header{height:104px;max-width:1600px;margin:auto;padding:0 5%;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line)}.brand{display:inline-flex;align-items:center;gap:10px;font-family:var(--display);font-weight:800;font-size:1.65rem;letter-spacing:-1.2px;line-height:1.2}.brand-soft{font-weight:500}.brand-period,.blue{color:var(--blue)}.brand-icon{display:grid;place-items:center;background:var(--blue);width:31px;height:33px;color:white;font-size:1.5rem;letter-spacing:0;clip-path:polygon(0 0,100% 0,100% 73%,73% 100%,0 100%)}nav{display:flex;align-items:center;gap:38px;font-size:.875rem}nav>a{transition:color .2s}nav>a:hover{color:#9cb0ff}.nav-contact{border:1px solid #50525b;padding:10px 17px}.nav-contact span{margin-left:24px;font-size:1.15rem}.menu-toggle{display:none}.hero{max-width:1600px;margin:auto;display:grid;grid-template-columns:1.05fr 1fr;min-height:655px;padding:0 5%;overflow:hidden}.hero-copy{padding:67px 0 0;position:relative;z-index:1}.eyebrow{font-size:.75rem;font-weight:600;letter-spacing:1.7px;line-height:1.6;margin:0}.hero .eyebrow{display:flex;align-items:center;gap:11px;color:#bcc1d0}.small-line{width:21px;height:2px;background:var(--blue)}h1,h2,h3,p{margin-top:0}h1,h2,h3{font-family:var(--display)}h1{font-size:clamp(4.5rem,6.9vw,7.25rem);font-weight:650;line-height:1.04;letter-spacing:-.065em;margin:27px 0 29px}h1 .blue{margin-left:4px}.hero-description{font-size:1.125rem;color:#b0b4c0;line-height:1.7;margin-bottom:29px}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:36px;min-height:56px;padding:15px 24px;font-size:.94rem;font-weight:600;transition:background .2s,transform .2s}.button:hover{transform:translateY(-2px)}.button-primary{background:var(--blue);color:white}.button-primary:hover{background:#4b6fff}.button span{font-size:1.25rem}.hero-bottom{display:flex;justify-content:space-between;align-items:center;padding:43px 9% 25px 0;color:#777f92;font-size:.7rem;letter-spacing:1.1px}.hero-bottom a{color:#bdc2d0;font-size:.75rem}.hero-bottom a span{margin-left:16px;font-size:1.2rem}.hero-visual{position:relative;min-width:0;display:flex;flex-direction:column;justify-content:space-between;margin:27px -1px 27px 25px;padding:22px 24px;background:#101729;overflow:hidden;border:1px solid #242c41}.hero-visual::after{content:'';position:absolute;inset:0;pointer-events:none;background:linear-gradient(180deg,rgba(9,12,20,.2),transparent 20%,transparent 70%,rgba(9,12,20,.8));z-index:1}.hero-art{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:0}.visual-top,.visual-bottom{position:relative;display:flex;justify-content:space-between;z-index:2;font: .65rem/1.6 var(--font);letter-spacing:1.1px;color:#b0bbd1}.visual-type{position:relative;z-index:2;font-family:var(--display);font-weight:750;font-size:clamp(3rem,6vw,6rem);letter-spacing:-.07em;line-height:1.05;display:flex;flex-direction:column;padding:20px 0;color:#cdd8ff}.has-art .visual-type{display:none}.visual-bottom{align-items:end}.visual-plus{font-size:2.5rem;font-weight:400;line-height:1}.discipline-strip{background:var(--blue);padding:20px 5%;display:flex;align-items:center;justify-content:space-between;gap:25px;overflow:hidden;font-size:.8rem;font-weight:600;letter-spacing:1.4px;white-space:nowrap}.strip-star{font-size:1.6rem;line-height:1}.section-light{background:var(--paper);color:var(--ink)}.expertise{padding:91px 5% 94px}.section-heading{max-width:1440px;margin:0 auto 49px;display:grid;grid-template-columns:1fr 1.5fr 1fr;gap:25px;align-items:start}.section-heading .eyebrow{margin-top:8px;color:#566073}.section-heading h2{font-size:clamp(2rem,3.2vw,3.25rem);font-weight:600;line-height:1.2;letter-spacing:-.045em;margin:0}.section-heading>p:last-child{align-self:end;font-size:.94rem;color:#616875;line-height:1.7;margin:0}.service-grid{display:grid;grid-template-columns:repeat(3,1fr);max-width:1440px;margin:auto;border-top:1px solid #cdd0d7}.service{padding:32px 33px 0 0}.service+.service{border-left:1px solid #cdd0d7;padding-left:33px}.service:last-child{padding-right:0}.service-top{display:flex;align-items:center;justify-content:space-between;height:43px;margin-bottom:28px}.service-number{color:#7a8390;font-size:.8rem}.service-symbol{color:var(--blue);font-family:monospace;font-size:2.1rem;letter-spacing:-4px;margin-right:5px}.game-symbol{font-size:2.5rem;letter-spacing:0}.service h3{font-size:1.65rem;letter-spacing:-.04em;font-weight:650;margin:0 0 15px}.service>p{color:#5c6370;font-size:1rem;line-height:1.8;max-width:350px;margin-bottom:25px}.tags{display:flex;flex-wrap:wrap;gap:7px;list-style:none;padding:0;margin:0}.tags li{padding:4px 9px;border:1px solid #d2d5dc;font-size:.75rem;color:#626a77}.approach{padding:101px 8%;max-width:1600px;margin:auto;display:grid;grid-template-columns:1fr 1fr;gap:11%}.approach .eyebrow{color:#868ea3;margin-bottom:31px}.approach h2{font-size:clamp(2.9rem,4.2vw,4.5rem);font-weight:550;letter-spacing:-.05em;line-height:1.12;margin-bottom:25px}.approach-intro>p:last-child{max-width:400px;color:#9da4b4;font-size:1rem;line-height:1.8}.steps{list-style:none;margin:15px 0 0;padding:0}.steps li{display:flex;gap:27px;padding:29px 0;border-top:1px solid #343944}.steps li:last-child{border-bottom:1px solid #343944}.step-number{color:#7489db;font-size:.8rem;padding-top:7px}.steps h3{font-size:1.45rem;letter-spacing:-.03em;font-weight:550;margin-bottom:12px}.steps p{font-size:.95rem;line-height:1.8;color:#9da4b4;margin-bottom:0}.contact{background:var(--blue);padding:65px 8% 69px;display:flex;justify-content:space-between;align-items:center;gap:45px}.contact .eyebrow{color:#d5ddff;margin-bottom:23px}.contact h2{font-size:clamp(4.5rem,7.8vw,8rem);font-weight:550;line-height:1.05;letter-spacing:-.06em;margin:0}.contact h2 span{color:#9fb2ff}.contact-details{padding-top:44px;width:40%;max-width:480px}.contact-details>p{color:#e1e6ff;line-height:1.8;font-size:1rem;margin-bottom:29px}.email-link{display:flex;justify-content:space-between;align-items:center;gap:16px;border-bottom:1px solid #94a9ff;padding-bottom:13px;font-size:clamp(1rem,1.55vw,1.55rem);font-weight:500;letter-spacing:-.02em}.email-link span{font-size:1.65rem}.copy-email{color:#e1e7ff;background:none;border:0;padding:13px 0;cursor:pointer;font-size:.8rem;display:flex;gap:12px;align-items:center}.copy-email:hover{color:white}.copy-status{display:block;font-size:.8rem;min-height:21px;color:white}.footer{padding:35px 5%;max-width:1600px;margin:auto;display:flex;align-items:center;justify-content:space-between;gap:25px}.footer .brand{font-size:1.4rem}.footer p,.footer>span,.back-top{color:#959cad;font-size:.8rem;margin:0}.back-top span{margin-left:12px;color:#fff}
@media(min-width:1601px){.expertise,.contact{padding-left:max(5%,calc((100vw - 1440px)/2));padding-right:max(5%,calc((100vw - 1440px)/2))}}
@media(max-width:1050px){.hero{min-height:600px}.hero-copy{padding-top:51px}h1{font-size:5.2rem}.hero-visual{margin-left:15px}.hero-bottom{font-size:.65rem;padding-top:35px}.section-heading{grid-template-columns:1fr 2fr}.section-heading>p:last-child{grid-column:2}.service{padding-right:22px}.service+.service{padding-left:22px}.service h3{font-size:1.4rem}.approach{padding:80px 5%;gap:7%}.contact{padding-left:5%;padding-right:5%}.contact-details{width:45%}.footer p{display:none}}
@media(max-width:760px){html{scroll-padding-top:25px}.header{height:80px;padding:0 6%;position:relative}.brand{font-size:1.45rem}.brand-icon{width:27px;height:29px;font-size:1.3rem}.menu-toggle{display:flex;flex-direction:column;justify-content:center;gap:6px;background:none;border:1px solid #3a4051;width:43px;height:42px;padding:10px;cursor:pointer}.menu-toggle span{display:block;background:white;height:1px;width:21px;transition:transform .2s}.menu-toggle[aria-expanded=true] span:first-child{transform:translateY(3.5px) rotate(45deg)}.menu-toggle[aria-expanded=true] span:last-child{transform:translateY(-3.5px) rotate(-45deg)}nav{display:none;position:absolute;top:79px;left:0;right:0;background:#101522;border-bottom:1px solid #3a4051;padding:24px 6%;z-index:10;align-items:stretch;gap:22px}nav.open{display:flex;flex-direction:column}.nav-contact{align-self:start}.hero{padding:0 6%;grid-template-columns:1fr;min-height:0}.hero-copy{padding-top:43px}.hero .eyebrow{font-size:.65rem;letter-spacing:1.3px}h1{font-size:clamp(4rem,13vw,6rem);margin:24px 0;line-height:1.08}.hero-description{font-size:1rem}.hero-bottom{padding:33px 0 21px}.hero-bottom>span{font-size:.6rem;letter-spacing:1px}.hero-visual{margin:0 0 28px;min-height:345px;padding:19px 20px}.visual-type{font-size:3.5rem;padding:25px 0}.hero-art{object-position:center 47%}.discipline-strip{padding:17px 6%;gap:22px;font-size:.65rem}.discipline-strip>span:last-child,.discipline-strip>span:nth-last-child(2){display:none}.strip-star{font-size:1.2rem}.expertise{padding:54px 6% 59px}.section-heading{display:block;margin-bottom:30px}.section-heading .eyebrow{font-size:.65rem;margin-bottom:22px}.section-heading h2{font-size:2.25rem;margin-bottom:20px}.section-heading>p:last-child{font-size:.9rem}.service-grid{grid-template-columns:1fr}.service,.service+.service{padding:27px 0 29px;border-left:0;border-bottom:1px solid #cdd0d7}.service-top{margin-bottom:16px}.service h3{font-size:1.6rem}.service>p{max-width:100%;margin-bottom:19px}.approach{padding:58px 6%;grid-template-columns:1fr;gap:25px}.approach .eyebrow{font-size:.65rem;margin-bottom:23px}.approach h2{font-size:3rem}.approach-intro>p:last-child{max-width:100%}.steps{margin-top:0}.steps li{gap:23px;padding:25px 0}.steps h3{font-size:1.4rem}.contact{padding:48px 6% 36px;display:block}.contact .eyebrow{font-size:.65rem}.contact h2{font-size:4.9rem}.contact-details{padding-top:31px;width:100%;max-width:100%}.contact-details>p{font-size:.95rem;margin-bottom:21px}.email-link{font-size:clamp(1rem,5vw,1.45rem)}.footer{padding:28px 6%;flex-wrap:wrap;gap:22px 15px}.footer .brand{width:100%;font-size:1.45rem}.footer>span{font-size:.75rem}.back-top{font-size:.75rem}}
.brand-logo{width:72px;height:72px;object-fit:contain;margin:-15px -11px -15px -15px;filter:grayscale(1) invert(1) contrast(1.5);mix-blend-mode:screen}.tags li,.copy-email{font-size:.875rem}.copy-status{font-size:.875rem}.hero-art{object-fit:contain;background:#030915}.hero-visual{background:#030915}.footer .brand-logo{width:62px;height:62px}@media(max-width:760px){.header .brand-logo{width:62px;height:62px}.hero-art{object-fit:cover}.footer .brand{width:auto}.footer{justify-content:space-between}.footer>span{width:100%;order:3}.footer .back-top{margin-left:auto}}
@media(max-width:760px){h1{font-size:clamp(3.2rem,16.4vw,6rem)}.contact h2{font-size:clamp(3.9rem,20vw,4.9rem)}}
.language-switch{display:flex;gap:9px;align-items:center;font-size:.875rem;letter-spacing:.04em}.language-switch span{color:#6c7384}.language-switch a{color:#a4a8b4;min-height:36px;display:flex;align-items:center}.language-switch a[aria-current=page]{color:#fff;text-decoration:underline;text-underline-offset:6px;text-decoration-color:#7792ff}.language-switch a:hover{color:#fff}.geo-credit{max-width:1600px;margin:0 auto;padding:0 5% 18px;text-align:right;color:#a4a8b4;font-size:.75rem}html[lang=en] h1{font-size:clamp(3.2rem,5.5vw,6.1rem)}html[lang=en] .contact h2{font-size:clamp(3.5rem,6.6vw,6.5rem)}@media(max-width:1050px) and (min-width:761px){nav{gap:20px}.nav-contact{padding:9px 12px}.nav-contact span{margin-left:12px}}@media(max-width:760px){html[lang=en] h1{font-size:clamp(2.7rem,12.9vw,5.5rem)}html[lang=en] .contact h2{font-size:clamp(3.2rem,16vw,4.5rem)}.geo-credit{padding-right:6%;text-align:left;padding-left:6%}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important;animation:none!important}}
