@font-face{font-family:Gotham;src:url(assets/gotham.woff?v=2) format('woff');font-display:swap}@font-face{font-family:Thick;src:url(assets/display.woff?v=2) format('woff');font-display:swap}@font-face{font-family:Marker;src:url(assets/marker.woff?v=2) format('woff');font-display:swap}@font-face{font-family:BrandText;src:url(assets/text.woff?v=2) format('woff');font-display:swap}
:root{--purple:#8e43d8;--yellow:#ffce00;--blue:#2954f8;--white:#fff;--ink:#472073;--pad:5.2vw}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:95px}body{margin:0;background:var(--purple);color:white;font-family:Gotham,BrandText,Arial,sans-serif;font-size:15px;line-height:1.6}button,a{-webkit-tap-highlight-color:transparent}a{color:inherit;text-decoration:none}button{font:inherit;cursor:pointer;color:inherit}button:focus-visible,a:focus-visible{outline:3px solid var(--yellow);outline-offset:6px}button{border:0}img{max-width:100%;height:auto;display:block}h1,h2,h3,p{margin:0}h1,h2{font-family:Thick,Arial,sans-serif;font-weight:normal;line-height:.96;letter-spacing:-.035em}h3{font-weight:normal}p{line-height:1.75}header{height:112px;padding:16px var(--pad);display:flex;align-items:center;justify-content:space-between;position:absolute;z-index:20;inset:0 0 auto}.brand{width:135px}.brand img{width:100%}header nav{display:flex;gap:34px;font-size:13px}header nav a{position:relative}header nav a:after{content:'';position:absolute;bottom:-5px;left:0;width:0;height:1px;background:var(--yellow);transition:width .25s}header nav a:hover:after{width:100%}.nav-cta{border:1px solid #ffffff75;border-radius:99px;padding:12px 21px;font-size:13px;display:flex;gap:30px}.nav-cta:hover{background:var(--yellow);color:var(--ink)}.menu{display:none}.mobile-nav{background:#6529ba;position:absolute;top:90px;z-index:22;width:100%;padding:25px var(--pad)}.mobile-nav a{display:block;padding:12px;font-size:20px}.skip{position:fixed;top:-70px;left:10px;z-index:100;background:white;color:var(--ink);padding:10px}.skip:focus{top:10px}.hero,.playground,.contact{background:#8e43d8 url(assets/purple.webp) center/cover}.hero{min-height:850px;height:100svh;max-height:1250px;padding:135px var(--pad) 25px;position:relative;overflow:hidden}.hero-meta,.hero-bottom,.section-top{display:flex;justify-content:space-between;font-size:10px;letter-spacing:.09em;line-height:1.4}.hero-meta{padding-top:10px;border-top:1px solid #ffffff40}.hero-content{height:calc(100% - 85px);display:grid;grid-template-columns:56% 44%;align-items:center;position:relative}.hero-type{z-index:2;position:relative;padding-top:28px;pointer-events:none}.hero-type a{pointer-events:auto}h1{font-size:clamp(80px,9.15vw,160px);line-height:.89}h1>span{display:block}h1 .we{font-family:Marker;color:var(--yellow);font-size:.67em;line-height:.7;transform:rotate(-9deg);margin:0 0 5px 7px;letter-spacing:0}.period{color:var(--yellow)}.hero-description{display:flex;gap:55px;align-items:center;margin-top:29px;font-size:16px}.circle-link{border:1px solid #ffffff80;border-radius:50%;width:54px;height:54px;display:grid;place-items:center;font-family:Arial;font-size:25px;transition:background .3s,transform .3s}.circle-link:hover{background:var(--yellow);color:var(--ink);transform:rotate(45deg)}.hero-world{position:relative;align-self:center;margin-left:-20%;width:125%;text-align:center;z-index:3;perspective:1000px}.mascot-button{padding:0;background:transparent;width:100%;position:relative;transition:transform .15s ease-out;touch-action:pan-y}.mascot-float{display:block;animation:float 5s ease-in-out infinite}.mascot-button img{width:100%;height:clamp(310px,36vw,610px);object-fit:contain;filter:drop-shadow(0 30px 22px #39137540);transition:opacity .15s}.orbit-label{font-size:9px;letter-spacing:.13em;margin-bottom:8px;display:flex;align-items:center;justify-content:center;gap:9px}.status-dot{width:5px;height:5px;border-radius:50%;background:var(--yellow);box-shadow:0 0 0 4px #ffce0020}.mascot-hint{font-size:9px;letter-spacing:.07em;margin-top:8px}.mascot-hint span{font:26px Marker;color:var(--yellow);display:inline-block;transform:rotate(10deg);margin-right:10px}.hero-expressions{display:flex;justify-content:center;gap:8px;margin-top:22px}.hero-expressions button,#mood-options button{background:transparent;border:1px solid #ffffff50;border-radius:99px;padding:8px 18px;font-size:11px;transition:.25s}.hero-expressions button.active,.hero-expressions button:hover,#mood-options button.active,#mood-options button:hover{background:var(--yellow);color:var(--ink);border-color:var(--yellow)}.hero-bottom{position:absolute;bottom:25px;left:var(--pad);right:var(--pad);border-top:1px solid #ffffff40;padding-top:20px;font-size:9px}.hero-bottom a span{margin-left:20px}.marquee{overflow:hidden;background:var(--yellow);color:var(--ink);padding:14px 0;font-family:Thick;font-size:23px;line-height:1.2}.marquee div{display:flex;gap:38px;width:max-content;animation:marquee 30s linear infinite}.marquee b{font-family:Arial;font-weight:normal}.section{padding:45px var(--pad) 100px;scroll-margin-top:0}.section-top{border-bottom:1px solid #ffffff40;padding-bottom:23px}.about{background:var(--blue) url(assets/blue.webp) center/cover}.about-grid{display:grid;grid-template-columns:1fr 1fr;gap:12%;align-items:center;padding-top:80px}.about-art{position:relative;min-height:370px}.about-art h2{font-size:clamp(64px,6.4vw,115px);position:relative;z-index:2;padding-top:110px}.marker{font-family:Marker;color:var(--yellow);font-weight:normal;letter-spacing:0}.about-art .marker{line-height:.6;display:inline-block;transform:rotate(-8deg)}.about-art img{position:absolute;width:58%;right:0;top:0;transform:rotate(8deg)}.about-copy h3{font-family:Arial;font-size:clamp(22px,2.1vw,32px);line-height:1.35;color:var(--yellow);font-weight:600}.about-copy p{margin-top:26px;font-size:15px}.about-copy .closing{font-weight:bold}.text-link{display:inline-flex;gap:35px;border-bottom:1px solid #ffffff80;padding:20px 0 7px;font-size:12px}.services{background:#eee url(assets/paper.webp) center/cover;color:var(--ink)}.services .section-top,.work .section-top{border-color:#47207340}.services-heading{display:flex;align-items:end;justify-content:space-between;margin:70px 0 50px;gap:30px}.services-heading h2{font-size:clamp(48px,6.7vw,105px);color:#833cff}.services-heading .marker{display:inline-block;color:#ffa901;transform:rotate(-9deg);margin-right:14px}.services-heading p{font-size:13px;min-width:185px}.services-grid{display:grid;grid-template-columns:1fr 1fr;gap:10%}.service-list{display:flex;flex-direction:column}.service-list button{background:none;border-top:1px solid #47207330;padding:17px 0;display:flex;align-items:center;gap:20px;text-align:left;transition:.2s}.service-list button:last-child{border-bottom:1px solid #47207330}.service-list button span:first-child{font-size:10px;opacity:.5}.service-list button strong{font-family:Arial;font-weight:500;font-size:clamp(17px,1.7vw,25px)}.service-list button .arrow{margin-left:auto;transition:transform .3s}.service-list button[aria-pressed=true]{color:#833cff;padding-left:14px}.service-list button:hover .arrow{transform:translate(4px,-4px)}.service-stage{border:1px solid #47207325;padding:24px 30px;background:#ffffff25;display:flex;flex-direction:column;justify-content:space-between}.service-stage>span{font-size:10px}.service-stage img{max-height:330px;object-fit:contain;align-self:center;transition:transform .35s}.service-stage:hover img{transform:translateY(-10px) rotate(-3deg)}.service-stage h3{font-family:Gotham,Arial;font-size:31px;line-height:1.15}.service-stage p{font-size:13px;margin-top:12px;max-width:340px}.work{background:#f5f3ee;color:var(--ink)}.work-heading{display:flex;align-items:end;justify-content:space-between;padding:65px 0 40px;gap:40px}.work h2{font-size:clamp(45px,6vw,95px)}.work-heading p{font-size:13px}.work-placeholder{padding:40px;border:1px solid #47207340;min-height:250px;display:flex;flex-direction:column;justify-content:space-between;transition:background .3s}.work-placeholder:hover{background:#8e43d80c}.work-placeholder>span{font-size:9px;letter-spacing:.12em}.work-placeholder>div{font-family:Thick;font-size:clamp(24px,4vw,66px);display:flex;justify-content:space-between}.work-placeholder>div span{font-family:Arial;color:var(--purple)}.play-heading{display:flex;justify-content:space-between;align-items:end;padding-top:65px;gap:30px}.play-heading h2{font-size:clamp(40px,5.3vw,86px)}.play-heading .marker{font-size:1.1em;display:inline-block;transform:rotate(-8deg)}.play-heading p{font-size:12px}.play-stage{display:grid;grid-template-columns:1fr 1.5fr 1fr;align-items:center;margin:25px auto 0;max-width:1050px}.play-caption{font-size:9px;letter-spacing:.1em;line-height:1.7}.play-caption.right{text-align:right}#play-mascot{background:none;animation:float 5s ease-in-out infinite;padding:0}#play-image{height:360px;width:100%;object-fit:contain}#mood-options{display:flex;justify-content:center;flex-wrap:wrap;gap:9px;margin:20px auto}#mood-options button{padding:10px 19px}.mood-status{text-align:center;font-size:12px;min-height:24px}.section-top button{font-size:10px;letter-spacing:.05em;background:none;padding:0}.contact{padding-bottom:80px;border-top:1px solid #ffffff40}.contact-inner{text-align:center;padding-top:70px;position:relative}.contact-logo{width:145px;margin:0 auto 30px}.contact h2{font-size:clamp(51px,7.5vw,125px)}.contact h2 .marker{font-size:.88em;display:inline-block;transform:rotate(-10deg);margin-right:15px}.contact-inner>p{font-size:14px;margin:25px auto 0}.contact-button{background:var(--yellow);color:var(--ink);border-radius:99px;padding:17px 24px;display:inline-flex;gap:45px;align-items:center;font-size:13px;margin-top:30px;transition:transform .3s}.contact-button:hover{transform:translateY(-4px)}.contact-inner .contact-note{max-width:420px;border:1px solid #ffffff50;padding:18px;font-size:12px}footer{padding:28px var(--pad);display:flex;justify-content:space-between;align-items:center;background:#622bb0;gap:20px}footer p,footer>a:last-child{font-size:8px;letter-spacing:.06em}footer p{margin-right:auto;margin-left:25px}.reveal{opacity:1}.js-motion .reveal{opacity:0;transform:translateY(25px);transition:opacity .75s,transform .75s}.js-motion .reveal.visible{opacity:1;transform:none}@keyframes float{0%,100%{transform:translateY(0) rotate(-2deg)}50%{transform:translateY(-14px) rotate(2deg)}}@keyframes marquee{to{transform:translateX(-50%)}}.paused *{animation-play-state:paused!important;scroll-behavior:auto!important}.paused .mascot-button{transform:none!important}
@media(min-width:1700px){.hero{min-height:1000px}.hero-content{max-width:1600px;margin:auto}.hero-type{padding-top:55px}}
@media(max-width:900px){header{height:95px}header nav{gap:18px;font-size:11px}.hero{min-height:730px;height:90svh}.hero-type{padding-top:0}h1{font-size:10vw}.hero-world{margin-left:-18%;width:125%}.hero-description{font-size:13px;gap:25px}.hero-bottom span:nth-child(2){display:none}.about-grid{gap:7%}.about-copy h3{font-size:22px}.about-copy p{font-size:13px}.about-art{min-height:300px}.about-art h2{font-size:7vw}.services-grid{gap:5%}.service-stage{padding:20px}.play-heading{display:block}.play-heading p{margin-top:25px}}
@media(max-width:600px){:root{--pad:6vw}header{height:90px;padding-top:10px}.brand{width:105px}header nav,.nav-cta{display:none}.menu{display:block;background:none;border:1px solid #ffffff60;border-radius:50px;font-size:12px;padding:10px 18px}.hero{min-height:920px;height:auto;padding-top:113px;padding-bottom:80px;max-height:none}.hero-meta{font-size:8px;gap:20px}.hero-meta span:last-child{max-width:130px;text-align:right}.hero-content{display:flex;flex-direction:column;align-items:stretch;height:auto}.hero-type{padding-top:50px}h1{font-size:17.7vw;line-height:.88;position:relative}h1 .we{position:absolute;right:4vw;top:1.6vw;font-size:.8em;transform:rotate(9deg)}.hero-description{margin-top:23px;justify-content:space-between;font-size:13px}.circle-link{height:45px;width:45px}.hero-world{margin:30px auto 0;width:90%;padding-bottom:20px}.mascot-button img{height:280px}.orbit-label{font-size:8px}.mascot-hint{font-size:8px;margin-top:0}.hero-expressions{margin-top:15px}.hero-expressions button{font-size:10px;padding:7px 17px}.hero-bottom{font-size:7px;bottom:23px;gap:20px}.hero-bottom>span:last-child{text-align:right}.marquee{font-size:18px;padding:13px 0}.section{padding-top:28px;padding-bottom:65px}.section-top{font-size:8px;gap:15px;padding-bottom:20px}.section-top span:last-child{text-align:right}.about-grid{grid-template-columns:1fr;gap:25px;padding-top:38px}.about-art{min-height:270px}.about-art h2{font-size:18vw;padding-top:95px}.about-art img{width:56%;right:0;top:0}.about-copy h3{font-size:23px;max-width:370px}.about-copy p{font-size:14px}.services-heading{margin:45px 0 35px;display:block}.services-heading h2{font-size:11vw}.services-heading p{margin-top:22px;font-size:12px}.services-grid{grid-template-columns:1fr;gap:30px}.service-list button{padding:15px 0}.service-list button strong{font-size:19px}.service-stage{min-height:340px}.service-stage img{height:240px;width:100%}.service-stage h3{font-size:29px}.work-heading{padding-top:45px;display:block}.work h2{font-size:13vw}.work-heading p{margin-top:23px}.work-placeholder{min-height:210px;padding:22px}.work-placeholder>span{font-size:8px}.work-placeholder>div{font-size:7vw;gap:10px}.play-heading{padding-top:45px}.play-heading h2{font-size:10vw}.play-heading p{font-size:12px}.play-stage{grid-template-columns:1fr;margin-top:15px}.play-caption{display:none}#play-image{height:300px}#mood-options{gap:7px}#mood-options button{font-size:10px;padding:9px 14px}.mood-status{font-size:11px}.contact-inner{padding-top:45px}.contact-logo{width:115px}.contact h2{font-size:12.5vw}.contact h2 .marker{margin-right:5px}.contact-inner>p{font-size:12px}.contact-inner>p br{display:none}footer{flex-wrap:wrap;padding-top:25px;padding-bottom:25px}footer img{width:85px}footer p{margin-left:0;font-size:7px}footer>a:last-child{width:100%;text-align:right;font-size:8px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}.js-motion .reveal{opacity:1;transform:none}.mascot-button{transform:none!important}}
/* v2 — original artwork, independent gaze, richer depth and large reaction cards. */
.hero{height:auto;min-height:100svh;max-height:none;padding-bottom:25px}.hero-content{height:auto;min-height:610px;max-width:1600px;margin:auto}.hero-type{padding-top:20px}.hero-world{perspective:1100px}.mascot-button{transform-style:preserve-3d;transition:none;will-change:transform}.mascot-float{position:relative}.gaze-canvas{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;pointer-events:none}.gaze-canvas[hidden]{display:none}.hero-bottom{position:static;margin-top:30px}.hero-reactions{position:relative;z-index:4;padding-top:15px;max-width:1400px;margin:10px auto 0}.reaction-label{display:flex;justify-content:space-between;align-items:center;font-size:9px;letter-spacing:.1em;margin:0 0 16px}.reaction-label span:last-child{letter-spacing:.02em;text-align:right;font-size:10px;color:#fff9cf}.hero-expressions{display:grid;grid-template-columns:repeat(8,minmax(0,1fr));gap:12px;margin:0}.hero-expressions .reaction-card,#mood-options .reaction-card,#angle-options .reaction-card{position:relative;background:#ffffff09;border:1px solid #ffffff50;border-radius:18px;padding:10px 8px 12px;color:white;display:flex;flex-direction:column;align-items:center;gap:5px;transform-style:preserve-3d;transition:transform .3s,background .3s,border-color .3s,box-shadow .3s;min-width:0}.reaction-card img{width:100%;height:78px;object-fit:contain;filter:drop-shadow(0 10px 6px #33135530);transition:transform .35s;pointer-events:none}.reaction-card span{font-size:11px;line-height:1.3}.hero-expressions .reaction-card:hover,#mood-options .reaction-card:hover,#angle-options .reaction-card:hover{background:#ffffff19;border-color:#ffe44d;transform:perspective(600px) translateY(-8px) rotateX(7deg)}.reaction-card:hover img{transform:translateY(-6px) scale(1.12)}.hero-expressions .reaction-card.active,#mood-options .reaction-card.active,#angle-options .reaction-card.active{background:var(--yellow);color:var(--ink);border-color:var(--yellow);box-shadow:0 12px 30px #3a15632b}.hero-expressions .reaction-card.active:after,#mood-options .reaction-card.active:after,#angle-options .reaction-card.active:after{content:'•';position:absolute;top:2px;right:10px;font-family:Arial;font-size:20px;line-height:1;color:var(--ink)}.play-tabs{display:flex;justify-content:center;gap:8px;margin:48px auto 5px;padding:7px;border:1px solid #ffffff45;border-radius:99px;width:max-content;max-width:100%}.play-tabs button{background:none;border-radius:99px;padding:12px 23px;font-size:12px;display:flex;gap:18px;align-items:center}.play-tabs button[aria-pressed=true]{background:white;color:var(--ink)}.play-tabs button span{font-size:9px;opacity:.7}.play-stage{max-width:1250px;grid-template-columns:1fr 2.2fr 1fr;min-height:490px;perspective:1200px;transform-style:preserve-3d}.play-stage #play-image{height:470px}.play-stage #play-mascot{position:relative;transform-style:preserve-3d;touch-action:pan-y;cursor:grab;filter:drop-shadow(0 20px 25px #30104930)}.play-stage #play-mascot:active{cursor:grabbing}#mood-options{display:grid;grid-template-columns:repeat(9,minmax(0,1fr));gap:12px;margin:35px auto 24px;max-width:1450px}#mood-options .reaction-card{padding:13px 8px 15px}#mood-options .reaction-card img{height:90px}#mood-options[hidden],#angle-controls[hidden]{display:none}#angle-controls{max-width:700px;text-align:center;margin:20px auto 30px}#angle-controls>label{display:block;font-size:9px;letter-spacing:.12em}#view-angle{width:80%;display:block;margin:25px auto 30px;accent-color:var(--yellow);cursor:ew-resize}#angle-options{display:grid;grid-template-columns:repeat(4,1fr);gap:15px}#angle-options .reaction-card img{height:105px}.angle-note{font-size:10px;opacity:.8;margin-top:25px}.mood-status{font-size:14px;min-height:28px}.play-caption{transform:translateZ(25px)}[data-depth]{transform-style:preserve-3d;transform:perspective(1100px) rotateX(var(--rx,0deg)) rotateY(var(--ry,0deg));will-change:transform;transition:box-shadow .3s}.js-motion [data-depth].reveal.visible{transform:perspective(1100px) rotateX(var(--rx,0deg)) rotateY(var(--ry,0deg))}.service-stage{overflow:visible;position:relative;box-shadow:0 16px 45px #47207308}.service-stage>img{transform:translateZ(65px);transition:transform .35s}.service-stage:hover>img{transform:translateZ(95px) translateY(-12px) rotate(-4deg)}.service-stage>div{transform:translateZ(35px)}.about-art img{transform:translateZ(75px) rotate(8deg)}.about-art h2{transform:translateZ(35px)}.contact-inner h2{transform:translateZ(45px)}.contact-inner .contact-logo{transform:translateZ(65px)}.contact-button{transform:translateZ(50px)}.work-placeholder>div{font-family:Gotham,Arial,sans-serif;font-weight:700}.play-stage #play-mascot{transform:translateZ(75px)}.paused [data-depth],.paused [data-depth].reveal.visible{transform:none!important}
@media(min-width:1700px){.hero{min-height:100svh}.hero-content{min-height:720px}}
@media(max-width:1000px){.hero-content{min-height:560px}.reaction-card img{height:65px}.reaction-card span{font-size:10px}.hero-expressions{gap:7px}#mood-options{grid-template-columns:repeat(6,minmax(0,1fr));gap:10px}.play-stage{min-height:420px}.play-stage #play-image{height:400px}}
@media(max-width:600px){.hero{height:auto;min-height:0;padding-bottom:25px}.hero-content{min-height:0}.hero-type{padding-top:50px}.hero-world{padding-bottom:0;margin-top:30px;width:95%}.hero-world .mascot-button img{height:310px}.hero-reactions{margin-top:28px;padding:0}.reaction-label{gap:12px;margin-bottom:15px}.reaction-label>span:first-child{white-space:nowrap;font-size:8px}.reaction-label>span:last-child{font-size:9px;line-height:1.6;max-width:195px}.hero-expressions{grid-template-columns:repeat(4,minmax(0,1fr));gap:9px}.hero-expressions .reaction-card{padding:8px 4px 11px;border-radius:13px}.hero-expressions .reaction-card img{height:64px}.hero-expressions .reaction-card span{font-size:9px}.hero-bottom{margin-top:26px;padding-top:18px}.play-tabs{margin-top:32px;gap:0;padding:5px}.play-tabs button{font-size:10px;padding:11px 14px;gap:10px}.play-stage{min-height:340px;grid-template-columns:1fr;margin-top:20px}.play-stage #play-image{height:340px}#mood-options{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:25px}#mood-options .reaction-card{padding:10px 4px 13px;border-radius:14px}#mood-options .reaction-card img{height:82px}#mood-options .reaction-card span{font-size:10px}#angle-options{gap:7px}#angle-options .reaction-card{padding:8px 3px 10px;border-radius:12px}#angle-options .reaction-card img{height:65px}#angle-options .reaction-card span{font-size:8px}.mood-status{font-size:11px}.about-art img{transform:rotate(8deg)}}
@media(prefers-reduced-motion:reduce){[data-depth],[data-depth].reveal.visible{transform:none!important;will-change:auto}.mascot-button{will-change:auto}.gaze-canvas{display:none}.mascot-float #hero-image,#play-image{opacity:1!important}}

/* One complete font per marquee item; two exact groups form a seamless loop. */
@font-face{font-family:StripSans;src:url(assets/strip-sans-bold.woff) format('woff');font-weight:700;font-style:normal;font-display:swap}
.marquee{font-family:StripSans,Arial,sans-serif;font-weight:700;font-size:26px;line-height:1.2;padding:16px 0;letter-spacing:-.035em}
.marquee .marquee-track{display:flex;gap:0;width:max-content;animation:marquee-loop 36s linear infinite;will-change:transform}
.marquee .marquee-group{display:flex;align-items:center;justify-content:space-around;gap:42px;flex-shrink:0;min-width:100vw;width:auto;padding-right:42px;animation:none}
.marquee-group span{display:block;white-space:nowrap;font:inherit}
.marquee-group b{font-family:Arial,sans-serif;font-size:18px;line-height:1;font-weight:400}
@keyframes marquee-loop{from{transform:translate3d(0,0,0)}to{transform:translate3d(-50%,0,0)}}
@media(max-width:600px){.marquee{font-size:22px;padding:14px 0}.marquee .marquee-group{gap:28px;padding-right:28px}}
@media(prefers-reduced-motion:reduce){.marquee .marquee-track{animation:none;will-change:auto}}
/* About mascot: visible idle motion, layered over the existing cursor response. */
.about-art img{animation:about-mascot-float 5s ease-in-out infinite;transform-origin:50% 60%;filter:drop-shadow(0 18px 18px #09146825)}
.about-art .marker{animation:about-word-sway 6s ease-in-out infinite;transform-origin:30% 80%}
@keyframes about-mascot-float{0%,100%{transform:translate3d(0,0,75px) rotate(6deg)}45%{transform:translate3d(5px,-22px,90px) rotate(-3deg)}75%{transform:translate3d(-4px,-9px,80px) rotate(2deg)}}
@keyframes about-word-sway{0%,100%{transform:rotate(-8deg)}50%{transform:rotate(-4deg)}}
@media(max-width:600px){@keyframes about-mascot-float{0%,100%{transform:translateY(0) rotate(6deg)}45%{transform:translateY(-15px) rotate(-3deg)}75%{transform:translateY(-6px) rotate(2deg)}}}
@media(prefers-reduced-motion:reduce){.about-art img,.about-art .marker{animation:none}}
@font-face{font-family:UI;src:url(assets/ui-regular.woff) format('woff');font-weight:400;font-display:swap}@font-face{font-family:UI;src:url(assets/ui-bold.woff) format('woff');font-weight:700;font-display:swap}
body{font-family:UI,Arial,sans-serif}.about-copy h3{font-family:UI,Arial;font-weight:700;font-size:clamp(24px,2.4vw,37px)}.about-grid{align-items:start}.about-art{position:sticky;top:80px;min-height:450px}.about-art h2{padding-top:280px;font-size:5.8vw;white-space:nowrap}.about-art img{width:72%;max-width:350px;right:3%;top:-10px}.about-copy p{font-size:16px}.about-copy .closing{font-weight:400;color:var(--yellow)}.model-lab-link{display:table;margin:12px auto 0;font-size:11px;border-bottom:1px solid #fff8}.service-card-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.service-card{min-height:410px;padding:26px 28px 30px;border-radius:30px;background:#833cff;color:white;transform-style:preserve-3d;transform:perspective(1000px) rotateX(var(--rx,0deg)) rotateY(var(--ry,0deg));transition:box-shadow .3s}.service-card:nth-child(3n+2){background:var(--yellow);color:var(--ink)}.service-card:nth-child(3n){background:var(--blue)}.service-card:nth-child(2),.service-card:nth-child(8){rotate:2deg}.service-card:nth-child(4){rotate:-2deg}.service-card:hover{box-shadow:0 25px 40px #49247630;z-index:2}.service-card-top{display:flex;justify-content:space-between;font-size:9px;letter-spacing:.08em;align-items:center}.service-arrow{font-size:25px;line-height:1}.service-card>img{height:200px;width:100%;object-fit:contain;margin:10px auto 16px;transform:translateZ(30px);transition:transform .4s;filter:drop-shadow(0 18px 12px #32125230)}.service-card:hover>img{transform:translateZ(70px) translateY(-8px) rotate(-4deg)}.service-card h3{font-family:UI,Arial;font-size:27px;line-height:1.08;font-weight:700;letter-spacing:-.035em;max-width:95%}.service-card>p{font-size:13px;line-height:1.55;margin-top:14px;max-width:270px}.service-instruction{margin-top:34px;font-size:12px;text-align:center;opacity:.8}.clients{background:#f6f4ef;color:var(--ink)}.clients .section-label{font-size:10px;letter-spacing:.1em;border-bottom:1px solid #47207330;padding-bottom:22px}.clients-intro{padding:60px 0 30px;display:flex;justify-content:space-between;align-items:end;gap:40px}.clients-intro h2{font-family:UI,Arial;font-size:clamp(45px,5.4vw,84px);font-weight:700;letter-spacing:-.06em;line-height:1}.clients-intro p{max-width:360px;font-size:14px}.country-controls,.owner-filters{display:flex;flex-wrap:wrap;gap:10px;margin:20px 0 35px}.country-controls button,.owner-filters button{border:1px solid #47207345;border-radius:99px;background:none;color:var(--ink);padding:12px 23px;font-size:11px;transition:.25s}.country-controls button[aria-pressed=true],.owner-filters button[aria-pressed=true]{background:var(--purple);color:white;border-color:var(--purple)}.logo-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));border-top:1px solid #47207320;border-left:1px solid #47207320}.client-logo{background:white;display:grid;place-items:center;min-height:130px;padding:20px;border-right:1px solid #47207320;border-bottom:1px solid #47207320}.client-logo img{height:80px;width:100%;max-width:150px;object-fit:contain;transition:transform .3s}.client-logo:hover img{transform:scale(1.07)}.client-logo img[src*="ksa-14"]{max-width:100px}.country-panel[hidden]{display:none}.game-layout{display:grid;grid-template-columns:.85fr 1.15fr;gap:8%;align-items:center;padding-top:65px}.eyebrow{font-size:9px;letter-spacing:.12em}.game-intro h2{font-size:clamp(70px,9vw,135px);margin:38px 0 20px}.game-intro h3{font-family:UI;font-size:25px;font-weight:700}.game-intro>p{max-width:370px;font-size:14px;margin:14px 0}.game-stats{display:flex;gap:35px;margin:28px 0 0}.game-stats>div{display:flex;flex-direction:column}.game-stats span{font-size:8px;letter-spacing:.1em}.game-stats strong{font:700 32px UI}.game-best{display:block;font-size:9px;margin-top:20px;letter-spacing:.08em}.game-table{padding:24px;background:#ffffff0a;border:1px solid #ffffff45;border-radius:28px}.game-table>p{font-size:8px;letter-spacing:.12em;text-align:center;margin-top:20px}#memory-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.memory-card{position:relative;aspect-ratio:1;border:1px solid #ffffff40;border-radius:18px;padding:0;background:white;transform-style:preserve-3d;transition:transform .35s,background .35s;overflow:hidden}.memory-card:disabled{cursor:default;opacity:1}.card-cover{position:absolute;inset:0;background:#6b2cc1;display:grid;place-items:center;font-family:Arial;color:var(--yellow);font-size:40px;transition:opacity .25s,transform .35s;backface-visibility:hidden}.card-face{display:grid;place-items:center;position:absolute;inset:5px;opacity:0;transform:rotateY(-90deg);transition:opacity .25s,transform .35s}.card-face img{width:100%;height:100%;object-fit:contain}.memory-card.flipped .card-cover,.memory-card.matched .card-cover{opacity:0;transform:rotateY(90deg)}.memory-card.flipped .card-face,.memory-card.matched .card-face{opacity:1;transform:rotateY(0)}.memory-card.matched{background:var(--yellow);border-color:var(--yellow)}.memory-card:not(:disabled):hover{transform:translateY(-5px);border-color:var(--yellow)}.featured-grid,.portfolio-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px 22px}.portfolio-card{display:block;min-width:0}.portfolio-image{position:relative;aspect-ratio:1.25;background:#e8e3ef;border-radius:24px;overflow:hidden}.portfolio-image img{width:100%;height:100%;object-fit:cover;transition:transform .6s}.portfolio-card:hover .portfolio-image img{transform:scale(1.055)}.portfolio-image>span{position:absolute;top:15px;right:15px;background:white;color:var(--ink);border-radius:50%;height:35px;width:35px;display:grid;place-items:center;font-family:Arial}.portfolio-caption{display:flex;justify-content:space-between;gap:10px;margin-top:16px}.portfolio-caption h3{font:700 21px/1.2 UI}.portfolio-owner{font-size:10px;white-space:nowrap}.portfolio-card>p{font-size:11px;margin-top:6px;opacity:.7}.work-more{margin-top:36px;display:inline-flex;background:var(--purple);color:white;padding:15px 23px;border-radius:99px;gap:45px;font-size:13px}.page-main{padding:170px var(--pad) 90px;min-height:80vh;background:#f6f4ef;color:var(--ink)}.page-body header{background:var(--purple)}.page-title{font-family:UI,Arial;font-size:clamp(50px,8vw,125px);font-weight:700;line-height:.95;letter-spacing:-.065em;margin:30px 0}.page-lede{font-size:17px;max-width:670px}.owner-filters{margin:40px 0}.portfolio-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:40px 28px}.portfolio-card[hidden]{display:none}.case-hero{width:100%;max-height:680px;object-fit:contain;border-radius:26px;background:#ece7f5;margin:40px 0}.case-meta{display:flex;gap:30px;font-size:12px}.case-copy{max-width:800px;margin:30px 0}.case-copy h2{font:700 30px UI;margin:30px 0 15px}.case-copy p{font-size:17px}.case-metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin:30px 0}.metric-tile{background:white;border:1px solid #47207320;border-radius:18px;padding:20px}.metric-tile strong{font-size:30px;color:var(--purple);display:block;line-height:1.2}.metric-tile span{font-size:11px}.source-note{font-size:11px!important;opacity:.7;margin:18px 0!important}.back-link{font-size:12px}.case-gallery{display:grid;grid-template-columns:1fr 1fr;gap:20px}.case-gallery img{width:100%;height:auto;border-radius:18px}.empty-case{padding:35px;border:1px solid #47207330;border-radius:20px}
@media(max-width:1000px){.service-card{padding:23px 20px;min-height:380px}.service-card>img{height:170px}.service-card h3{font-size:23px}.logo-grid{grid-template-columns:repeat(4,1fr)}.game-layout{gap:5%}.game-table{padding:16px}.clients-intro{display:block}.clients-intro p{margin-top:20px}}
@media(max-width:600px){.about-art{position:relative;top:auto;min-height:330px}.about-art h2{padding-top:225px;font-size:17.5vw}.about-art img{width:70%;right:0;max-width:270px;top:-5px}.about-copy p{font-size:14px}.service-card-grid{grid-template-columns:1fr;gap:23px}.service-card{min-height:330px;border-radius:25px;padding:23px 25px;rotate:0deg!important}.service-card>img{height:175px;margin:0 auto 12px}.service-card h3{font-size:28px;max-width:90%}.service-card>p{max-width:none;font-size:14px}.clients-intro{padding-top:40px}.clients-intro h2{font-size:12vw}.clients-intro p{font-size:12px}.country-controls{gap:7px;margin-top:10px}.country-controls button{font-size:9px;padding:10px 13px}.logo-grid{grid-template-columns:repeat(3,1fr)}.client-logo{min-height:100px;padding:12px}.client-logo img{height:65px}.game-layout{grid-template-columns:1fr;padding-top:40px;gap:35px}.game-intro h2{font-size:23vw;margin:27px 0 16px}.game-intro>p{font-size:13px}.game-stats{justify-content:space-between;gap:15px;max-width:340px}.game-table{padding:13px}#memory-grid{gap:9px}.memory-card{border-radius:12px}.card-cover{font-size:30px}.featured-grid,.portfolio-grid{grid-template-columns:1fr;gap:28px}.portfolio-caption h3{font-size:23px}.page-main{padding-top:125px}.page-title{font-size:16vw;margin-top:22px}.page-lede{font-size:14px}.owner-filters{margin:30px 0}.owner-filters button{font-size:10px;padding:10px 15px}.case-meta{flex-direction:column;gap:5px}.case-copy p{font-size:15px}.case-metrics{grid-template-columns:1fr}.case-gallery{grid-template-columns:1fr}.case-hero{margin:25px 0}}
.study-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px;margin:45px 0 25px}.study-pane{background:#8e43d8 url(assets/purple.webp) center/cover;border-radius:28px;overflow:hidden;color:white;padding:24px 15px 0;text-align:center}.study-pane>span{font-size:10px;letter-spacing:.12em}.study-pane>img,.study-pane>canvas{display:block;width:100%;height:460px;object-fit:contain}.study-controls{display:flex;gap:10px;flex-wrap:wrap;align-items:center}.study-controls button{border:1px solid #47207350;background:white;color:var(--ink);border-radius:99px;font-size:12px;padding:12px 20px}.study-controls button[aria-pressed=true]{background:var(--purple);color:white}.study-controls label{display:flex;gap:15px;font-size:12px;align-items:center;margin-left:auto}.study-controls input{accent-color:var(--purple)}@media(max-width:600px){.study-grid{grid-template-columns:1fr}.study-pane>img,.study-pane>canvas{height:330px}.study-controls label{width:100%;margin-top:15px}}

.game-intro h2{font-family:UI,Arial,sans-serif;font-weight:700;letter-spacing:-.06em}.game-intro h2 .marker{font-weight:400}
.amr-cover{display:flex;flex-direction:column;justify-content:center;padding:35px;background:var(--blue);color:white;gap:20px}.amr-cover small{font-size:9px;letter-spacing:.12em}.amr-cover strong{font-family:UI;font-weight:700;font-size:clamp(28px,4vw,65px);letter-spacing:-.05em;line-height:1}.amr-cover em{font-style:normal;font-size:15px;border-top:1px solid #ffffff60;padding-top:18px}.amr-cover.tone-1{background:var(--yellow);color:var(--ink)}.amr-cover.tone-2{background:var(--purple)}.amr-cover.tone-3{background:#5729c1}.featured-grid .amr-cover{padding:25px;gap:14px}.featured-grid .amr-cover strong{font-size:38px}.featured-grid .amr-cover em{font-size:12px}@media(max-width:600px){.amr-cover{padding:26px}.amr-cover strong{font-size:44px}}
/* Approved identity, consistent section rhythm, and a three-card service carousel. */
h1 .we{font-size:.84em;margin-bottom:-.035em;position:relative;z-index:3}
.about-art .marker{font-size:1.38em;line-height:.66;position:relative;z-index:3;margin-left:2%}
.services-heading{align-items:center;margin:85px 0 45px}
.services-heading h2{position:relative;padding-top:.55em;isolation:isolate;font-size:clamp(58px,7.6vw,124px)}
.services-heading .marker{position:absolute;top:-.1em;left:14%;font-size:1.2em;line-height:.8;color:var(--yellow);z-index:2;transform:rotate(-9deg);transition:transform .5s}
.service-title{display:block;transition:transform .5s}
.services-heading:hover .marker{transform:translate(7px,-4px) rotate(-5deg)}
.services-heading:hover .service-title{transform:translateX(-4px)}
.services-slider{min-width:0}
.service-card-grid{display:flex;gap:24px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;padding:16px 0 24px;overscroll-behavior-x:contain;scroll-behavior:smooth}
.service-card-grid::-webkit-scrollbar{display:none}
.service-card{flex:0 0 calc((100% - 48px)/3);min-width:0;min-height:410px;rotate:0deg!important;scroll-snap-align:start;scroll-snap-stop:always}
.slider-controls{display:flex;justify-content:space-between;align-items:center;gap:25px;margin-top:12px}
.service-instruction{margin:0;text-align:left;opacity:1}
.slider-actions{display:flex;align-items:center;gap:16px;flex-shrink:0}
.slider-actions button{border:1px solid #47207350;width:44px;height:44px;border-radius:50%;background:transparent;color:var(--ink);font-family:UI,Arial;font-size:22px;line-height:1;transition:background .2s}
.slider-actions button:hover{background:var(--yellow)}
#services-count{font-size:11px;min-width:44px;text-align:center;font-variant-numeric:tabular-nums}
#services-pause{font-size:16px}
.brand-heading{position:relative;font-family:Thick,Arial,sans-serif!important;font-weight:400!important;font-size:clamp(60px,8vw,125px)!important;line-height:.95!important;letter-spacing:-.035em!important;padding-top:.65em;isolation:isolate}
.brand-heading>span{display:block}
.brand-heading .marker{position:absolute;top:0;left:.12em;line-height:.75;font-size:.86em;transform:rotate(-9deg);z-index:2}
.clients{background:var(--purple) url(assets/purple.webp) center/cover;color:white}
.clients .section-label{border-color:#ffffff50}
.clients-intro{padding-top:70px;padding-bottom:40px;gap:70px}
.clients-intro p{font-size:14px;max-width:350px;color:white}
.country-controls button,.owner-filters button{color:white;border:1px solid #ffffff70;font-size:12px;padding:13px 24px}
.country-controls button[aria-pressed=true],.owner-filters button[aria-pressed=true]{background:var(--yellow);color:var(--ink);border-color:var(--yellow)}
.country-controls button:hover,.owner-filters button:hover{border-color:var(--yellow)}
.logo-grid{grid-template-columns:repeat(4,minmax(0,1fr));border:0;gap:1px;background:#ffffff30;border:1px solid #ffffff30;border-radius:24px;overflow:hidden}
.client-logo{background:#6529ba;border:0;min-height:155px;padding:25px}
.client-logo img{height:90px;max-width:165px;filter:brightness(0) invert(1);opacity:1}
.client-logo:hover{background:#7130c9}
.work{background:var(--blue) url(assets/blue.webp) center/cover;color:white}
.work .section-top{border-color:#ffffff50}
.work-heading{align-items:center;padding:65px 0 50px}
.work-heading p{max-width:340px;font-size:14px}
.portfolio-image{border:1px solid #ffffff40;border-radius:20px}
.portfolio-caption{align-items:start;flex-direction:column;gap:5px}
.portfolio-caption h3{font-size:25px;letter-spacing:-.025em}
.portfolio-owner{font-size:11px;opacity:.85}
.portfolio-card>p{opacity:.9;font-size:12px}
.work-more{background:var(--yellow);color:var(--ink);font-weight:700}
.page-body{background:var(--purple) url(assets/purple.webp) center/cover}
.page-body header{background:transparent}
.page-main{background:transparent;color:white;max-width:1800px;margin:auto;padding-top:160px}
.portfolio-masthead{display:grid;grid-template-columns:1.3fr .7fr;align-items:center;gap:30px;margin:35px 0 25px}
.portfolio-masthead .brand-heading{font-size:clamp(70px,12vw,180px)!important}
.portfolio-masthead img{width:100%;height:300px;object-fit:contain;animation:float 6s ease-in-out infinite}
.page-lede{font-size:17px;max-width:650px;line-height:1.65}
.page-title{font-family:UI,Arial,sans-serif;font-size:clamp(42px,6vw,92px);letter-spacing:-.045em;overflow-wrap:anywhere}
.case-kicker{font:400 clamp(45px,7vw,100px)/1 Thick;margin:35px 0 0;color:var(--yellow)}
.case-meta{flex-wrap:wrap;gap:12px 30px;opacity:.9}
.case-hero{background:#6225ad;border:1px solid #ffffff40;border-radius:20px}
.case-copy{max-width:900px}
.case-copy h2{font-family:Thick,Arial;font-weight:400;font-size:clamp(35px,4vw,54px);text-transform:uppercase}
.case-copy li{margin:12px 0;font-size:16px;line-height:1.65}
.case-metrics{grid-template-columns:repeat(auto-fit,minmax(170px,1fr))}
.metric-tile{background:#6225ad;border:1px solid #ffffff50;border-radius:18px;padding:24px}
.metric-tile strong{color:var(--yellow);font-size:32px}
.source-note{opacity:.85;font-size:12px!important;line-height:1.7}
.amr-cover,.amr-cover.tone-0,.amr-cover.tone-2,.amr-cover.tone-3{background:var(--purple) url(assets/purple.webp) center/cover}
.amr-cover.tone-1{background:var(--blue) url(assets/blue.webp) center/cover;color:white}
.amr-cover em{color:var(--yellow)}
.contact-details{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;max-width:1000px;margin:55px auto 0;padding:30px 0;border-top:1px solid #ffffff50;border-bottom:1px solid #ffffff50;text-align:left}
.contact-details>div{display:flex;flex-direction:column;gap:13px;min-width:0}
.contact-details span:first-child{font-size:9px;letter-spacing:.1em;color:var(--yellow)}
.contact-details span:last-child{font-size:17px;overflow-wrap:anywhere}
.contact-inner>.placeholder-note{font-size:11px;max-width:600px;opacity:.9;margin-top:15px}
.social-links{display:flex;justify-content:center;gap:35px;margin-top:28px}
.social-links a{border-bottom:1px solid #ffffff70;padding-bottom:7px;font-size:17px}
.social-links a:hover,.footer-social a:hover{color:var(--yellow)}
.footer-social{display:flex;gap:18px;font-size:11px}
footer{flex-wrap:wrap}
footer p{margin-left:0}
.game-intro h2{font-family:Thick,Arial;font-weight:400}
@media(max-width:1000px){.service-card{flex-basis:calc((100% - 24px)/2)}.clients-intro{display:flex;gap:40px}.brand-heading{font-size:8vw!important}.clients-intro p{max-width:300px}.portfolio-masthead img{height:260px}.contact-details span:last-child{font-size:14px}}
@media(max-width:600px){h1 .we{position:absolute;font-size:.98em;right:0;top:0}.about-art .marker{font-size:1.4em}.services-heading{margin-top:65px}.services-heading h2{font-size:13vw;padding-top:.62em}.services-heading .marker{font-size:1.3em;left:19%;top:-.05em}.services-heading p{margin-top:25px}.service-card{flex-basis:100%;min-height:370px}.service-card-grid{gap:18px}.service-card>img{height:200px}.slider-controls{align-items:start;flex-direction:column;gap:18px}.slider-actions{width:100%;justify-content:space-between}.service-instruction{font-size:12px}.clients-intro{display:block;padding-top:45px;padding-bottom:20px}.brand-heading{font-size:16vw!important}.clients-intro p{margin-top:28px;max-width:100%;font-size:13px}.country-controls{gap:8px;margin-bottom:28px}.country-controls button{font-size:10px;padding:10px 13px}.logo-grid{grid-template-columns:repeat(2,minmax(0,1fr));border-radius:18px}.client-logo{min-height:120px;padding:20px}.client-logo img{height:75px}.work-heading{display:block;padding-top:45px}.work-heading p{font-size:13px;margin-top:27px}.portfolio-masthead{gap:0;grid-template-columns:1fr;margin:30px 0 20px;position:relative;padding-top:115px}.portfolio-masthead .brand-heading{font-size:20vw!important;z-index:2}.portfolio-masthead img{position:absolute;width:49%;height:175px;right:-5px;top:-30px}.page-main{padding-top:130px;padding-bottom:65px}.page-lede{font-size:14px}.owner-filters{gap:8px}.owner-filters button{padding:10px 12px;font-size:11px}.portfolio-grid{gap:35px}.case-copy h2{font-size:35px}.case-copy li{font-size:14px}.contact-details{grid-template-columns:1fr;gap:28px;margin-top:40px;text-align:center}.contact-details span:last-child{font-size:18px}.social-links{gap:30px}.footer-social{order:4;width:100%;justify-content:center;padding:15px 0;border-top:1px solid #ffffff40}footer>a:last-child{width:auto;margin-left:auto}footer p{font-size:8px}.game-intro h2{font-size:25vw}}
@media(prefers-reduced-motion:reduce){.service-card-grid{scroll-behavior:auto}.portfolio-masthead img{animation:none}}

.case-copy h2{font-family:UI,Arial;font-size:30px;text-transform:none;font-weight:700}.game-intro h2{font-size:clamp(40px,5.2vw,80px)}@media(max-width:600px){.game-intro h2{font-size:12vw}}
.page-body{background-size:1400px auto;background-repeat:repeat-y;background-position:top center}
/* v6: readable navigation, side controls, and a compact client preview. */
header nav{gap:10px;font-size:14px;font-weight:700}
header nav a{display:flex;align-items:center;justify-content:center;gap:8px;min-height:46px;padding:10px 17px;background:#57209b;border:1px solid #ffffff30;border-radius:99px;text-transform:uppercase;letter-spacing:.025em;transition:background .2s,color .2s,transform .2s}
header nav a:after{display:none}
header nav a:hover{background:var(--yellow);color:var(--ink);transform:translateY(-2px)}
.nav-cta{font-size:14px;text-transform:uppercase;font-weight:700;background:var(--yellow);color:var(--ink);border-color:var(--yellow);gap:20px;min-height:46px}
.mobile-nav{background:#57209b}
.mobile-nav a{font-size:17px;font-weight:700;text-transform:uppercase;border:1px solid #ffffff40;background:#ffffff0d;border-radius:14px;margin-bottom:9px;padding:15px}
.menu{font-size:14px!important;text-transform:uppercase;font-weight:700;background:#57209b!important}
.hero-meta,.section-top,.clients .section-label,.eyebrow{font-size:13px;line-height:1.5;letter-spacing:.06em}
.hero-bottom{font-size:12px;line-height:1.5}
.orbit-label,.mascot-hint{font-size:12px;line-height:1.6}
.reaction-label,.reaction-label span:last-child{font-size:14px;line-height:1.5}
.reaction-card span{font-size:13px!important}
.hero-description{font-size:20px}.about-copy p{font-size:18px}
.services-heading p,.clients-intro p,.work-heading p{font-size:17px;line-height:1.6}
.service-card-top{font-size:12px;letter-spacing:.04em}
.service-card>p{font-size:16px;line-height:1.6;max-width:100%}
.service-card{min-height:445px}
.service-card h3{font-size:27px;line-height:1.15}
.service-heading-aside{display:flex;flex-direction:column;gap:20px;align-items:flex-start}
.service-playback{display:flex;align-items:center;gap:20px}
#services-count{font-size:14px;min-width:54px;line-height:1.5}
#services-pause{font-size:13px;background:transparent;color:var(--ink);border:1px solid #47207360;border-radius:99px;padding:9px 16px;line-height:1.4}
.services-slider{position:relative;padding:0 56px}
.services-slider>button{position:absolute;top:50%;transform:translateY(-50%);z-index:3;width:44px;height:44px;display:grid;place-items:center;padding:0;border-radius:50%;background:var(--purple);color:white;font:24px/1 UI,Arial;border:1px solid var(--purple);transition:background .2s,color .2s}
.services-slider>button:hover{background:var(--yellow);color:var(--ink)}
#services-prev{left:0}#services-next{right:0}
.country-controls button,.owner-filters button{font-size:16px;line-height:1.4;padding:14px 25px}
.portfolio-owner,.portfolio-card>p,.source-note{font-size:14px!important;line-height:1.6}
.work-more,.contact-button{font-size:16px;line-height:1.5;min-height:50px}
.back-link{font-size:14px;line-height:1.5}
.game-intro>p,.contact-inner>p{font-size:17px}
.game-stats span,.game-best,.game-table>p{font-size:12px;line-height:1.6}
.section-top button{font-size:13px;line-height:1.5}
.contact-details span:first-child{font-size:12px}
.contact-inner>.placeholder-note{font-size:13px}
footer p,footer>a:last-child,.footer-social{font-size:12px;line-height:1.5}
.amr-cover small{font-size:12px;line-height:1.5}
.featured-grid .amr-cover em{font-size:15px}
.clients-preview .clients-intro{align-items:end;padding-bottom:40px}
.clients-preview .work-more{margin-top:0;text-transform:uppercase;font-weight:700;flex-shrink:0}
.client-strip{overflow:hidden;border-top:1px solid #ffffff40;border-bottom:1px solid #ffffff40;padding:24px 0}
.client-strip-track{display:flex;width:max-content;animation:client-logo-loop 140s linear infinite;will-change:transform}
.client-strip-group{display:flex;flex:none;gap:18px;padding-right:18px}
.client-strip-logo{width:180px;height:132px;padding:24px;display:grid;place-items:center;background:#6326ae;border:1px solid #ffffff30;border-radius:18px;flex:none}
.client-strip-logo img{width:100%;height:85px;object-fit:contain;filter:brightness(0) invert(1)}
.client-strip:hover .client-strip-track,.client-strip.is-paused .client-strip-track{animation-play-state:paused}
@keyframes client-logo-loop{to{transform:translateX(-50%)}}
.client-strip-controls{display:flex;justify-content:flex-end;margin-top:20px}
.client-strip-controls button{background:transparent;border:1px solid #ffffff70;border-radius:99px;padding:9px 17px;font-size:13px;line-height:1.4}
.clients-page-heading{padding:40px 0 25px}
.clients-page-heading .brand-heading{margin-top:35px}
.clients-page .country-controls{margin:40px 0}
.clients-page .logo-grid{margin-bottom:30px}
@media(max-width:1100px){header nav a{font-size:12px;padding:10px 12px}.nav-cta{font-size:12px;padding:11px 17px;gap:15px}}
@media(max-width:1000px){header nav,.nav-cta{display:none}.menu{display:block;border:1px solid #ffffff60;border-radius:99px;padding:11px 20px}.service-card h3{font-size:25px}}
@media(max-width:600px){.hero-meta,.section-top,.clients .section-label,.eyebrow{font-size:11px;letter-spacing:.035em}.hero-meta span:last-child{max-width:150px}.hero-bottom{font-size:10px}.orbit-label,.mascot-hint{font-size:11px;letter-spacing:.035em}.hero-description{font-size:16px;gap:18px}.reaction-label>span:first-child,.reaction-label>span:last-child{font-size:12px}.reaction-label>span:last-child{max-width:190px}.hero-expressions .reaction-card span{font-size:12px!important}.hero-expressions{gap:7px}.about-copy p{font-size:16px}.services-heading p,.clients-intro p,.work-heading p{font-size:16px}.services-heading{margin-bottom:30px}.service-heading-aside{gap:15px}.services-heading .service-heading-aside>p{margin-top:25px}.service-card h3{font-size:27px}.service-card>p{font-size:16px}.service-card-top{font-size:11px}.service-card{min-height:450px;padding:22px 20px}.services-slider{padding:0 24px}#services-prev{left:-16px}#services-next{right:-16px}.services-slider>button{width:40px;height:40px;font-size:23px}.country-controls button,.owner-filters button{font-size:14px;padding:12px 17px}.country-controls,.owner-filters{gap:9px}.portfolio-owner,.portfolio-card>p,.source-note{font-size:14px!important}.work-more,.contact-button{font-size:15px;gap:20px}.back-link{font-size:13px}.section-top button{font-size:12px}.game-intro>p,.contact-inner>p{font-size:16px}.contact-inner>.placeholder-note{font-size:13px}footer p,footer>a:last-child,.footer-social{font-size:11px}.clients-preview .clients-intro{display:flex;flex-direction:column;align-items:start;gap:30px}.clients-preview .work-more{margin-top:0}.client-strip{padding:18px 0}.client-strip-logo{width:140px;height:110px;padding:19px}.client-strip-logo img{height:70px}.client-strip-group{gap:12px;padding-right:12px}.clients-page-heading{padding:30px 0 10px}.clients-page .country-controls{margin:30px 0}.clients-page .brand-heading{margin-top:30px}}
@media(prefers-reduced-motion:reduce){.client-strip-track{animation:none;will-change:auto}.client-strip{overflow-x:auto}}
.text-link{font-size:16px}.hero-meta,.section-top,.clients .section-label,.eyebrow{font-size:14px}.orbit-label,.mascot-hint,.hero-bottom,.service-card-top,.game-stats span,.game-best,.game-table>p,.contact-details span:first-child,.amr-cover small{font-size:14px}.section-top button,#services-pause,.client-strip-controls button{font-size:14px}
@media(max-width:600px){.text-link{font-size:15px}.hero-meta,.section-top,.clients .section-label,.eyebrow,.orbit-label,.mascot-hint,.hero-bottom,.service-card-top,.game-stats span,.game-best,.game-table>p,.contact-details span:first-child,.amr-cover small{font-size:12px}.page-lede{font-size:16px}.reaction-label>span:first-child,.reaction-label>span:last-child{font-size:13px}.hero-meta{gap:12px}.section-top{gap:12px}.hero-meta span:last-child{max-width:150px}.hero-bottom{gap:15px}.hero-bottom>span:last-child{max-width:130px}}
/* Service categories share the existing brand controls on both work surfaces. */
.category-filters{display:flex;gap:10px;flex-wrap:wrap;align-items:center;margin:0 0 32px}
.page-main>.category-filters{margin-top:38px;margin-bottom:20px}
.category-filters button{background:#57209b;color:white;border:1px solid #ffffff65;border-radius:99px;padding:14px 22px;font:700 14px/1.4 UI,Arial;letter-spacing:.025em;min-height:48px;transition:background .2s,color .2s,transform .2s}
.category-filters button:hover{border-color:var(--yellow);transform:translateY(-2px)}
.category-filters button[aria-pressed=true]{background:var(--yellow);color:var(--ink);border-color:var(--yellow)}
.work-results{font-size:13px;letter-spacing:.06em;margin-bottom:28px;opacity:.85}
.portfolio-empty{border:1px solid #ffffff60;border-radius:24px;min-height:280px;padding:40px;display:flex;flex-direction:column;justify-content:center;align-items:flex-start;background:#57209b40}
.portfolio-empty[hidden],.featured-grid[hidden],.portfolio-grid[hidden],#work-category-link[hidden]{display:none}
.empty-symbol{font-size:40px;color:var(--yellow);line-height:1;margin-bottom:25px}
.portfolio-empty h3{font:400 clamp(30px,4vw,55px)/1.05 Thick;color:white;letter-spacing:-.02em}
.portfolio-empty p{font-size:17px;margin-top:18px}
@media(max-width:600px){.category-filters{gap:8px;margin-bottom:26px}.category-filters button{font-size:12px;padding:12px 15px;min-height:44px}.portfolio-empty{padding:28px;min-height:250px}.portfolio-empty p{font-size:16px}.page-main>.category-filters{margin-top:28px}}
/* Live website links use project title covers, not fabricated site screenshots. */
.featured-grid.website-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
.website-cover{background:var(--purple) url(assets/purple.webp) center/cover;color:white;display:flex;flex-direction:column;padding:0;aspect-ratio:1.5}
.website-bar{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid #ffffff45;padding:17px 25px;gap:20px}
.website-bar>span{font:10px/1 Arial;color:var(--yellow);letter-spacing:3px}
.website-bar small{font-size:11px;letter-spacing:.08em;line-height:1.3;padding-right:40px}
.website-cover-content{display:flex;flex:1;flex-direction:column;justify-content:center;align-items:flex-start;padding:28px;gap:22px}
.website-number{font-size:11px;letter-spacing:.06em;color:var(--yellow)}
.website-cover-content strong{font:700 clamp(27px,3.5vw,58px)/1.04 UI,Arial;letter-spacing:-.04em;max-width:95%}
.website-domain{font-size:13px;line-height:1.6;border-top:1px solid #ffffff50;padding-top:14px;width:100%;overflow-wrap:anywhere}
.website-tone-02,.website-tone-04{background:var(--blue) url(assets/blue.webp) center/cover}
.website-card .portfolio-image>span{height:30px;width:30px;top:12px;right:16px}
.website-card:hover .website-cover-content strong{transform:translateX(6px)}
.website-cover-content strong{transition:transform .3s}
/* White playground with the original purple, blue and yellow accents. */
.game-section{background:#fff;color:var(--ink)}
.game-section .section-top{border-color:#47207345}
.game-section h2{color:var(--purple)}
.game-section h2 .marker{color:var(--blue)}
.game-table{background:#f6f2fc;border-color:#8e43d850}
.memory-card{border-color:#8e43d870}
.card-cover{background:#6b2cc1}
.game-section .contact-button{background:var(--purple);color:white}
.game-section button:focus-visible{outline-color:var(--blue)}
@media(max-width:600px){.featured-grid.website-grid{grid-template-columns:1fr}.website-cover{aspect-ratio:1.25}.website-bar{padding:16px 20px}.website-cover-content{padding:23px;gap:18px}.website-cover-content strong{font-size:35px}.website-domain{font-size:12px}.website-number{font-size:10px}}

/* Real project imagery, with color revealed through pointer and keyboard interaction. */
.portfolio-image img{filter:grayscale(1);transition:filter .4s ease,transform .6s ease}
.portfolio-card:is(:hover,:focus-visible,:active,.is-color) .portfolio-image img{filter:grayscale(0)}
.portfolio-card:focus-visible{outline:3px solid var(--yellow);outline-offset:7px;border-radius:20px}
.website-screenshot{aspect-ratio:1.5;background:#fff}
.website-screenshot img{object-position:top center}
.game-intro .game-title{font-family:Thick,Arial,sans-serif;font-weight:400;letter-spacing:0;line-height:1;margin:40px 0 28px;font-size:clamp(40px,4.7vw,72px)}
.game-title .marker{display:block;line-height:1.2;font-size:.9em;font-weight:400;letter-spacing:0;transform:rotate(-6deg);transform-origin:left center;margin:0 0 18px}
.game-title-main{display:block;white-space:nowrap}
@media(max-width:600px){.game-intro .game-title{font-size:11.7vw;margin:32px 0 24px}.game-title .marker{margin-bottom:14px}}
@media(prefers-reduced-motion:reduce){.portfolio-image img{transition:none}}

/* Featured work and the approved paper background on inner pages. */
.page-body{background:#f6f4ef url(assets/paper.webp) repeat;color:var(--ink)}
.page-body .page-main{background:transparent;color:var(--ink);max-width:none}
.page-body header{background:var(--purple) url(assets/purple.webp) center/cover}
.page-body .brand-heading .marker,.page-body .case-kicker{color:var(--purple)}
.page-body .case-hero{background:#fff;border-color:#47207320}
.page-body .metric-tile{background:#fff;border-color:#47207325}
.page-body .metric-tile strong{color:var(--purple)}
.page-body .country-controls button{color:var(--ink);border-color:#47207350}
.page-body .country-controls button[aria-pressed=true]{background:var(--purple);color:white}
.page-body .client-logo{background:white;border-color:#47207320}
.page-body .client-logo img{filter:none}
.page-body footer{color:white}

.page-body header,.page-body .mobile-nav{color:white}

/* Keep the about composition stable while scrolling and enlarge the game marker. */
.about-art{position:relative;top:auto}
.about-art img{animation:none;transform:rotate(8deg)}
.about-art .marker{animation:none;transform:rotate(-8deg)}
.about-art h2{transform:none}
.game-title .marker{font-size:1.45em;line-height:1.1;margin-bottom:24px}
@media(max-width:600px){.game-title .marker{font-size:1.45em;margin-bottom:20px}}

/* Smaller hero artwork and a restrained idle loop for the original about render. */
.hero-world .mascot-button{width:85%;margin-inline:auto;display:block}
.about-art img{animation:about-idle-gentle 6.5s ease-in-out infinite;transform-origin:50% 60%}
@keyframes about-idle-gentle{0%,100%{transform:translateY(0) rotate(6deg)}50%{transform:translateY(-10px) rotate(3deg)}}
@media(prefers-reduced-motion:reduce){.about-art img{animation:none;transform:rotate(6deg)}}

.hero-world .mascot-button img{height:clamp(264px,30.6vw,519px)}
@media(max-width:600px){.hero-world .mascot-button img{height:264px}}
/* Self-contained project galleries and image viewer. */
.case-introduction{margin:22px 0 32px}.project-gallery{display:grid;gap:24px;margin:36px 0 48px;max-width:1440px}
.case-image-button{display:block;width:100%;padding:0;background:#fff;position:relative;border:1px solid #47207320;border-radius:16px;overflow:hidden;cursor:zoom-in}
.case-image-button img{display:block;width:100%;height:auto}.case-image-button>span{position:absolute;right:16px;top:16px;background:var(--purple);color:white;border-radius:50%;width:38px;height:38px;display:grid;place-items:center;font-size:25px}
.case-end{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:24px;margin:35px 0}.case-end .work-more{margin:0}.social-handle{display:inline-block}.social-links{flex-wrap:wrap}
.project-lightbox{border:0;padding:20px;background:#171020;color:white;width:calc(100vw - 32px);max-width:1600px;height:calc(100dvh - 32px);max-height:none;border-radius:18px}.project-lightbox::backdrop{background:#171020e8}.project-lightbox[open]{display:flex;flex-direction:column}.lightbox-toolbar{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:0 0 15px}.lightbox-close,.lightbox-prev,.lightbox-next{background:#fff;color:var(--ink);border-radius:99px;min-width:44px;min-height:44px;padding:10px 18px;font:700 14px UI}.lightbox-stage{display:grid;grid-template-columns:48px minmax(0,1fr) 48px;gap:14px;align-items:center;min-height:0;flex:1}.lightbox-stage img{width:100%;height:100%;object-fit:contain;min-height:0;max-height:100%;background:#100a18}.lightbox-stage button{padding:0;font-size:24px}.lightbox-stage button[hidden]{visibility:hidden;display:block}.viewing-project{overflow:hidden}
@media(max-width:600px){.project-gallery{gap:14px;margin:25px 0 32px}.case-image-button{border-radius:10px}.case-image-button>span{width:32px;height:32px;font-size:20px;top:10px;right:10px}.project-lightbox{width:100vw;height:100dvh;border-radius:0;padding:14px}.lightbox-stage{grid-template-columns:36px minmax(0,1fr) 36px;gap:5px}.lightbox-stage button{min-width:36px}.case-end{align-items:start;flex-direction:column}}
/* Mobile layout: compact first screen, swipeable controls and uncropped project imagery. */
@media(max-width:600px){
 :root{--pad:22px}html{scroll-padding-top:24px}
 header{height:86px;padding:12px var(--pad)}.brand{width:104px}.menu{min-height:44px;padding:10px 18px;font-size:13px}
 .mobile-nav{position:fixed;inset:86px 0 0;overflow-y:auto;padding:22px;background:#622bb0;z-index:30}.mobile-nav a{font-size:19px;padding:16px;border-radius:14px}.menu-open{overflow:hidden}
 .hero{min-height:0;height:auto;max-height:none;padding:108px var(--pad) 24px}
 .hero-meta{font-size:10px;line-height:1.5;gap:20px}.hero-meta span:last-child{max-width:145px}
 .hero-type{padding-top:32px}.hero h1{font-size:18.1vw;line-height:.91;letter-spacing:-.035em}.hero h1 .we{right:0;top:0;font-size:.9em}
 .hero-description{gap:16px;justify-content:space-between;margin-top:24px;font-size:16px;line-height:1.5;align-items:center}.hero-description p{max-width:240px;line-height:1.5}.hero-description p br{display:none}.circle-link{flex:0 0 44px;width:44px;height:44px}
 .hero-world{width:100%;margin:18px auto 0;padding:0}.hero-world .mascot-button{width:85%}.hero-world .mascot-button img{height:230px}.mascot-hint{font-size:10px;line-height:1.5;margin:0 auto;max-width:100%}
 .hero-reactions{margin:22px 0 0;padding-top:0}.reaction-label{align-items:start;gap:12px;line-height:1.4}.reaction-label>span:first-child{font-size:12px;white-space:nowrap}.reaction-label>span:last-child{font-size:11px;max-width:165px;text-align:right;line-height:1.5}
 .hero-expressions{display:flex;flex-wrap:nowrap;justify-content:flex-start;overflow-x:auto;gap:9px;padding:4px 2px 12px;scroll-snap-type:x proximity;scrollbar-width:thin}.hero-expressions .reaction-card{flex:0 0 76px;min-width:76px;min-height:99px;padding:8px 4px;border-radius:16px;scroll-snap-align:start}.hero-expressions .reaction-card img{width:58px;height:60px;margin:auto;object-fit:contain}.hero-expressions .reaction-card span{font-size:11px!important}
 .hero-bottom{position:relative;inset:auto;margin-top:18px;padding-top:14px;gap:16px;font-size:10px;line-height:1.5}.hero-bottom>span:last-child{max-width:145px}
 .section{padding:25px var(--pad) 52px}.section-top{font-size:10px;line-height:1.5;align-items:start;gap:20px}.section-top span:last-child{max-width:150px}.section-top button{font-size:11px;min-height:32px}
 .about-grid{gap:30px;padding-top:32px}.about-art{min-height:0;display:flex;flex-direction:column;position:relative;top:auto}.about-art img{position:relative;top:auto;right:auto;order:0;width:66%;max-width:240px;margin:0 auto 24px}.about-art h2{order:1;padding-top:0;white-space:normal;font-size:17.8vw;line-height:1.05}.about-art .marker{font-size:1.3em;line-height:.9;margin:0 0 7px;display:inline-block}.about-copy h3{font-size:24px;line-height:1.2}.about-copy p{font-size:16px;line-height:1.7}
 .services-heading{margin-top:44px}.services-heading h2{font-size:14vw;padding-top:.7em;line-height:1.1}.services-heading .marker{top:0;left:12%;font-size:1.1em}.service-heading-aside{margin-top:18px;align-items:center;justify-content:space-between;gap:14px}.services-heading .service-heading-aside>p{margin:0;font-size:14px}.service-playback{gap:9px}.service-card{min-height:380px;padding:24px 20px}.service-card>img{height:165px}.service-card h3{font-size:26px;line-height:1.12}.service-card>p{font-size:15px;line-height:1.6}
 .category-filters{display:flex;flex-wrap:nowrap;overflow-x:auto;gap:8px;max-width:100%;padding:4px 2px 12px;scrollbar-width:thin}.category-filters button{flex:0 0 auto;padding:12px 17px;min-height:44px;font-size:12px}.work-heading{padding:32px 0 24px}.featured-grid,.portfolio-grid{gap:30px}.portfolio-caption{margin-top:12px;gap:10px}.portfolio-caption h3{font-size:22px;line-height:1.2}.portfolio-card>p{margin-top:5px;font-size:14px!important}.portfolio-owner{white-space:normal;font-size:11px!important}.portfolio-image{border-radius:16px}.work-more{min-height:46px;max-width:100%;font-size:14px;padding:13px 18px;gap:18px}
 .page-main{padding:118px var(--pad) 52px}.portfolio-masthead{padding-top:0;margin:30px 0 24px;display:flex;flex-direction:column;align-items:start;gap:15px}.portfolio-masthead img{position:relative;order:0;inset:auto;width:52%;height:155px;align-self:center}.portfolio-masthead .brand-heading{order:1;font-size:19vw!important}.page-lede{font-size:16px;line-height:1.65}.page-title{font-size:clamp(34px,10.5vw,48px);line-height:1.06;letter-spacing:-.035em;margin:20px 0}.case-kicker{font-size:13vw;margin-top:24px}.case-meta{gap:7px;font-size:13px}.case-copy{margin:24px 0}.case-copy p,.case-copy li{font-size:16px;line-height:1.7}.case-copy h2{font-size:27px;line-height:1.2}.case-metrics{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.metric-tile{padding:16px 12px}.metric-tile strong{font-size:24px;overflow-wrap:anywhere}.metric-tile span{font-size:12px}
 .game-layout{padding-top:32px;gap:28px}.game-intro .eyebrow{font-size:11px}.game-intro .game-title{margin-top:28px;margin-bottom:24px;font-size:11.7vw}.game-intro h3{font-size:23px}.game-intro>p{font-size:16px;line-height:1.65}.game-table{padding:12px;border-radius:18px}#memory-grid{gap:8px}.game-table>p{font-size:10px;line-height:1.5}.game-stats strong{font-size:29px}
 .contact-inner{padding-top:32px}.contact h2{font-size:12vw;line-height:1.05}.contact h2 .marker{display:block;margin:0 0 20px;font-size:1.1em}.contact-inner>p{font-size:16px;line-height:1.65}.contact-details{margin-top:32px;gap:22px;padding:24px 0}.contact-details span:last-child{font-size:17px;overflow-wrap:anywhere}.social-links{flex-direction:column;gap:13px}.social-handle{font-size:14px;overflow-wrap:anywhere}
 footer{padding:26px var(--pad);gap:20px;align-items:center}footer p{font-size:10px;line-height:1.6;margin:0;flex:1}footer .footer-social{flex-direction:column;gap:12px;align-items:start;padding:16px 0 0}.footer-social .social-handle{font-size:12px}footer>a:last-child{font-size:11px}
}
@media(max-width:359px){:root{--pad:18px}.hero-meta{font-size:9px}.hero-description{font-size:15px}.hero-description p{max-width:210px}.case-metrics{grid-template-columns:1fr}.reaction-label>span:last-child{max-width:145px}}
.enquiry-form{max-width:920px;margin:44px auto;text-align:left}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}.enquiry-form label{display:flex;flex-direction:column;gap:10px;font-size:15px;line-height:1.5}.enquiry-form input,.enquiry-form textarea,.enquiry-form select{width:100%;min-width:0;color:#241235;background:#fff;border:2px solid transparent;border-radius:12px;padding:16px;font:16px Arial,sans-serif}.enquiry-form input:focus,.enquiry-form textarea:focus,.enquiry-form select:focus{outline:3px solid #e9f764;outline-offset:3px}.enquiry-form textarea{resize:vertical}.form-wide{grid-column:1/-1}.form-privacy{font-size:13px;line-height:1.7;margin:24px 0 18px}.enquiry-form .contact-button{margin:0;border:0;cursor:pointer}.enquiry-form button:disabled{opacity:.6;cursor:wait}.form-trap{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}#form-status{min-height:30px;margin:16px 0;font-size:16px;line-height:1.6}.form-error{background:#fff;color:#a21835;padding:12px;border-radius:8px}.form-success{background:#e9f764;color:#241235;padding:16px;border-radius:8px}@media(max-width:600px){.form-grid{grid-template-columns:1fr;gap:18px}.enquiry-form{margin:32px 0}.enquiry-form input,.enquiry-form select,.enquiry-form textarea{padding:14px}.enquiry-form .contact-button{width:100%;justify-content:space-between}}
/* Vector controls render identically on iOS, Android and desktop. */
.ui-arrow{display:inline-block;width:1em;height:1em;vertical-align:-.13em;flex-shrink:0;pointer-events:none}.circle-link .ui-arrow{width:24px;height:24px}.mascot-hint span .ui-arrow{width:26px;height:26px}.service-arrow .ui-arrow{width:24px;height:24px}.portfolio-image>span .ui-arrow{width:22px;height:22px}
@media(max-width:600px){
 html{-webkit-text-size-adjust:100%;text-size-adjust:100%}
 .hero-type{padding-top:34px}.hero h1{font-size:clamp(58px,17.2vw,103px);line-height:1;letter-spacing:-.025em;position:relative}
 .hero h1 .we{position:relative;inset:auto;display:block;width:max-content;margin:0 0 20px 3px;font-size:1.1em;line-height:1.05;transform:rotate(-7deg);transform-origin:left bottom}
 .hero h1>span:not(.we){white-space:nowrap}.hero-description{margin-top:22px;align-items:center}.hero-description p{max-width:255px;font-size:15px;line-height:1.65}
 .hero-world{margin-top:24px}.hero-meta{gap:18px;font-size:9px;letter-spacing:.035em}.hero-meta span{flex:1;max-width:155px}.hero-meta span:last-child{text-align:right;max-width:145px}
 .hero-reactions .reaction-label{flex-direction:column;gap:7px}.reaction-label>span:last-child{text-align:left;max-width:none;font-size:12px}.hero-reactions{margin-top:24px}.mascot-hint{display:flex;align-items:center;justify-content:center;gap:10px;font-size:9px;letter-spacing:.02em}.mascot-hint span{margin:0;line-height:1}
 .about-art h2{font-size:clamp(53px,16vw,90px);line-height:1.08}.about-copy h3{font-size:22px}.section-top{font-size:10px;letter-spacing:.025em}.service-card h3{font-size:25px;line-height:1.2}.service-card>p{line-height:1.65}
 .brand-heading{line-height:1.08!important}.page-title{line-height:1.15}.contact h2{line-height:1.12}
 .social-links a{font-size:14px}.circle-link .ui-arrow{width:22px;height:22px}
}

.social-links,.footer-social{display:flex;flex-direction:row;align-items:center;gap:14px}
a.social-icon,.social-links a.social-icon{display:inline-flex;align-items:center;justify-content:center;width:52px;height:52px;padding:13px;border:1px solid #ffffff70;border-radius:50%;transition:color .2s,background .2s,border-color .2s;flex:none}
a.social-icon svg{display:block;width:24px;height:24px}a.social-icon:hover,a.social-icon:focus-visible{background:var(--yellow);border-color:var(--yellow);color:var(--ink)}
@media(max-width:600px){.social-links{flex-direction:row;justify-content:center;gap:14px}footer .footer-social{flex-direction:row;justify-content:center;align-items:center;gap:14px}a.social-icon,.social-links a.social-icon{width:48px;height:48px;padding:11px}}
/* Project reading uses the complete UI font, including every letter and number. */
#case-content{font-family:UI,Arial,sans-serif;min-width:0}
#case-content .case-kicker{font-family:UI,Arial,sans-serif;font-size:14px;font-weight:700;line-height:1.5;letter-spacing:.14em;margin:32px 0 12px;text-transform:uppercase}
#case-content .page-title{font-family:UI,Arial,sans-serif;word-break:normal;overflow-wrap:break-word}
#case-content .case-copy h2,#case-content .metric-tile{font-family:UI,Arial,sans-serif}
@media(max-width:600px){
 #case-content{padding-top:4px}
 #case-content .case-kicker{font-size:12px;line-height:1.5;letter-spacing:.12em;margin:24px 0 10px}
 #case-content .page-title{font-size:clamp(30px,8.7vw,42px);line-height:1.14;letter-spacing:-.03em;margin:0 0 20px;max-width:100%;text-wrap:balance}
 #case-content .case-meta{display:flex;flex-direction:row;flex-wrap:wrap;align-items:center;gap:6px 16px;font-size:12px;line-height:1.6;margin:0 0 24px}
 #case-content .case-meta>span:first-child{flex-basis:100%}
 #case-content .case-copy{margin:24px 0;max-width:100%}
 #case-content .case-copy p,#case-content .case-copy li{font-size:15px;line-height:1.75;letter-spacing:0;word-break:normal;overflow-wrap:break-word}
 #case-content .case-copy .source-note{font-size:12px;line-height:1.7;margin:0 0 20px}
 #case-content .case-copy h2{font-size:24px;line-height:1.25;letter-spacing:-.02em;margin:28px 0 14px}
 #case-content .case-copy ul{padding-left:21px;margin:14px 0}
 #case-content .case-copy li{padding-left:3px;margin:10px 0}
 #case-content .case-metrics{display:grid;grid-template-columns:minmax(0,1fr);gap:12px;margin:20px 0 28px}
 #case-content .metric-tile{min-width:0;padding:20px;border-radius:16px}
 #case-content .metric-tile strong{display:block;font-size:clamp(24px,6.3vw,29px);line-height:1.2;letter-spacing:-.025em;font-variant-numeric:tabular-nums;word-break:normal;overflow-wrap:normal;margin:0 0 8px}
 #case-content .metric-tile span{display:block;font-size:12px;line-height:1.6}
 #case-content .case-end{gap:18px;margin:28px 0 0}
 #case-content .case-end a{font-size:14px;line-height:1.5}
}
.project-carousel{max-width:1200px;margin:32px 0 40px;min-width:0}.project-track{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;overscroll-behavior-x:contain;scrollbar-width:none;border-radius:18px;background:#e9e4ec;align-items:stretch;outline-offset:4px}.project-track::-webkit-scrollbar{display:none}.project-slide{flex:0 0 100%;width:100%;min-width:0;scroll-snap-align:start;scroll-snap-stop:always;position:relative;display:flex;align-items:center;justify-content:center;flex-direction:column}.project-slide .case-image-button{border:0;margin:0;border-radius:0;width:100%;height:100%;background:transparent}.project-slide .case-image-button img{width:100%;height:clamp(240px,53vw,640px);object-fit:contain;max-height:none}.project-slide video{display:block;width:100%;height:clamp(240px,53vw,640px);object-fit:contain;background:#17131d}.video-enlarge{position:absolute;right:12px;top:12px;background:#472073;color:white;border:1px solid #ffffff60;padding:9px 12px;border-radius:20px;font:12px UI,Arial,sans-serif}.project-carousel-controls{display:flex;align-items:center;gap:14px;margin-top:16px;min-width:0}.project-carousel-controls>button{width:46px;height:46px;flex:none;border-radius:50%;background:var(--ink);color:white;display:grid;place-items:center;font-size:22px}.project-thumbnails{display:flex;gap:9px;min-width:0;overflow-x:auto;scrollbar-width:thin;padding:5px;align-items:center;flex:1}.project-thumbnails button{border:2px solid transparent;border-radius:8px;flex:0 0 58px;width:58px;height:50px;background:#e5dced;padding:2px;position:relative;opacity:.65}.project-thumbnails button[aria-pressed=true]{opacity:1;border-color:var(--purple)}.project-thumbnails img{width:100%;height:100%;object-fit:cover;border-radius:4px}.project-thumbnails span{position:absolute;inset:0;display:grid;place-items:center;color:white;text-shadow:0 1px 4px black;font-size:22px}.lightbox-toolbar{justify-content:flex-end}.lightbox-media{min-width:0;max-height:85vh;overflow:auto;overscroll-behavior:contain}.lightbox-media img{width:100%;height:auto;max-height:none;object-fit:contain}.lightbox-media video{width:100%;max-height:78vh;display:block}.lightbox-stage{align-items:center}
@media(max-width:600px){.project-carousel{margin:24px 0 30px}.project-track{border-radius:12px}.project-slide .case-image-button img,.project-slide video{height:clamp(230px,78vw,390px)}.project-carousel-controls{gap:8px;margin-top:10px}.project-carousel-controls>button{width:38px;height:38px;font-size:20px}.project-thumbnails{gap:7px}.project-thumbnails button{flex-basis:46px;width:46px;height:42px}.lightbox-media{max-height:82dvh}.lightbox-stage{grid-template-columns:30px minmax(0,1fr) 30px;gap:3px}.lightbox-stage>button{min-width:30px;width:30px}.video-enlarge{font-size:10px;padding:8px 10px;right:8px;top:8px}}
.lightbox-zoom{border:1px solid #ffffff60;background:#472073;color:white;padding:10px 16px;border-radius:22px;font:13px UI,Arial,sans-serif}.lightbox-media.is-zoomed img{width:1200px;max-width:none;height:auto}.lightbox-toolbar{display:flex;gap:12px}.project-lightbox .lightbox-media{width:100%}
