@font-face{font-family:DM;src:url('assets/font.ttf');font-display:swap}:root{--purple:#2a2afc;--paper:#faf9f6;--yellow:#e8d834;--bar:42px}*{box-sizing:border-box}html{scroll-padding-top:var(--bar);scroll-snap-type:y mandatory}body{margin:0;font-family:DM,Arial,sans-serif;background:var(--paper);color:var(--purple)}a{color:inherit}button,input,textarea{font:inherit}a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible{outline:2px solid currentColor;outline-offset:5px}button{cursor:pointer}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}.ink{background:currentColor;mask:var(--art) center/contain no-repeat;-webkit-mask:var(--art) center/contain no-repeat}.eyebrow{font-size:11px;font-weight:500;line-height:1.4;letter-spacing:.02em}.marquee{position:fixed;inset:0 0 auto;height:var(--bar);background:var(--paper);overflow:hidden;display:flex;align-items:center;z-index:40}.marquee-track{display:flex;width:max-content;animation:marquee 35s linear infinite}.marquee-group{display:flex;align-items:center;gap:42px;flex-shrink:0;padding-right:42px}.marquee b{font-size:20px;font-weight:750;letter-spacing:-.04em;white-space:nowrap}.marquee img{width:52px;height:29px;object-fit:contain}.motion-toggle{position:absolute;right:10px;top:10px;width:23px;height:23px;border:0;border-radius:50%;color:var(--purple);background:var(--paper);font-size:11px}.paused .marquee-track{animation-play-state:paused}.corner{position:fixed;right:22px;bottom:20px;mix-blend-mode:difference;z-index:30}.corner img{width:65px;display:block}.position{position:fixed;bottom:25px;left:28px;display:flex;gap:18px;font-size:10px;font-weight:600;z-index:30;color:#fff;mix-blend-mode:difference}.slide{min-height:calc(100svh - var(--bar));height:calc(100svh - var(--bar));padding:5vh 4vw;scroll-snap-align:start;scroll-snap-stop:always;position:relative;overflow:clip}.hero{margin-top:var(--bar);display:flex;flex-direction:column;justify-content:space-between;padding:32px 3vw 55px}.hero-top,.hero-bottom{display:flex;justify-content:space-between;align-items:center;gap:20px;font-size:12px}.availability{display:flex;gap:8px;align-items:center}.availability i{width:6px;height:6px;background:currentColor;border-radius:50%;animation:pulse 3s ease-in-out infinite}.hero nav{display:flex;gap:30px}.hero nav a,.hero-bottom a{text-decoration:none}.hero nav a:hover,.hero-bottom a:hover{text-decoration:underline;text-underline-offset:4px}.hero-centre{flex:1;display:grid;place-items:center;perspective:1500px}.hero-tilt{width:min(72vw,1100px);height:min(60vh,600px);transform:rotateX(var(--rx,0deg)) rotateY(var(--ry,0deg));will-change:transform}.brand{--art:url('assets/full-logo.png');width:100%;height:100%;display:block;animation:enter 1.3s cubic-bezier(.16,1,.3,1) both}.hero-bottom{font-size:11px}.hero-bottom span:last-child{text-align:right}.about{display:grid;grid-template-columns:1.4fr 1fr;gap:7vw;align-items:center;background:#f0eee9}.about-copy{max-width:860px}.about-copy .eyebrow{display:block;margin-bottom:28px}.about p{font-size:clamp(22px,2.5vw,40px);font-weight:650;line-height:1.26;letter-spacing:-.035em;margin:0}.about-art{width:100%;height:45vh;object-fit:contain}.mix{display:flex;flex-direction:column;justify-content:center}.section-heading{display:flex;justify-content:space-between;align-items:end;margin-bottom:4vh;gap:20px}.section-heading h2{font-size:clamp(48px,7vw,110px);font-weight:650;letter-spacing:-.07em;line-height:.95;margin:0}.section-heading .eyebrow{text-align:right}.mix-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.sample{margin:0}.cover{height:clamp(220px,40vh,480px);border-radius:28px;position:relative;display:grid;place-items:center;overflow:hidden;isolation:isolate}.yellow{background:#e8d834}.pale{background:#efede7}.cover img{width:48%;height:62%;object-fit:contain;transition:transform 1s cubic-bezier(.16,1,.3,1)}.sample:hover img{transform:translateY(-8px) rotate(-3deg)}.placeholder{position:absolute;bottom:22px;left:24px;font-size:11px;opacity:.7}.sample figcaption{display:flex;justify-content:space-between;align-items:center;padding:15px 5px;font-size:13px;gap:12px}.sample figcaption span:last-child{font-size:10px;opacity:.7}.portfolio-note{font-size:11px;opacity:.6;margin:4vh 0 0}.production-artists{display:grid;grid-template-columns:1fr 1fr;gap:4vw;align-content:center;background:#f0eee9}.project-column{min-width:0}.column-heading{display:flex;justify-content:space-between;align-items:end;gap:15px;margin-bottom:24px}.column-heading h2{font-size:clamp(35px,5vw,76px);font-weight:650;letter-spacing:-.065em;line-height:1;margin:0}.project-column .cover{height:clamp(230px,46vh,530px)}.project-column .cover img{width:50%}.project-bottom{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-top:20px;font-size:13px}.controls{display:flex;gap:12px}.controls button{background:none;border:0;color:var(--purple);padding:8px;font-size:23px;transition:translate .3s}.controls button:hover{translate:3px 0}.services{display:grid;grid-template-columns:1fr 3.5fr 1fr;gap:3vw;align-items:center;background:var(--purple);color:var(--paper)}.services-label{position:absolute;top:5vh;left:4vw}.service-list{width:100%;text-align:center}.service{transform:perspective(1000px) rotateX(var(--rx,0deg)) rotateY(var(--ry,0deg)) skewX(var(--skew,0deg));will-change:transform}.service button{border:0;background:none;color:inherit;font-weight:600;letter-spacing:-.065em;line-height:1.05;font-size:clamp(35px,5vw,78px);padding:3px 0;width:100%}.service.is-open button{color:var(--yellow)}.service-description{display:grid;grid-template-rows:0fr;opacity:0;filter:blur(5px);transition:grid-template-rows .65s cubic-bezier(.16,1,.3,1),opacity .5s,filter .5s}.service-description>div{overflow:hidden}.service-description p{font-size:14px;line-height:1.5;font-weight:400;max-width:400px;padding:8px 15px 15px;margin:0 auto;letter-spacing:0}.service.is-open .service-description{grid-template-rows:1fr;opacity:1;filter:blur(0)}.sticker-group{display:flex;flex-direction:column;justify-content:space-around;align-items:center;height:68vh;transform:translate(var(--tx,0px),var(--ty,0px)) skewX(var(--skew,0deg));will-change:transform}.sticker-group img{width:clamp(80px,11vw,170px);height:clamp(90px,15vh,175px);object-fit:contain;filter:drop-shadow(0 4px 5px #0003);transform:rotate(-7deg)}.sticker-group.right img{transform:rotate(6deg)}.process{display:grid;grid-template-columns:1.1fr 1fr;gap:7vw;align-items:center}.display-type{font-size:clamp(70px,10vw,155px);font-weight:650;letter-spacing:-.075em;line-height:.82;transform:scaleX(.76);transform-origin:left center;width:131.5%;margin:0}.process-steps{display:flex;flex-direction:column;gap:5vh}.process h3{font-size:24px;letter-spacing:-.04em;font-weight:600;margin:10px 0}.process p{font-size:14px;line-height:1.5;max-width:360px;margin:0}.contact{padding:0;background:#000;color:var(--purple);display:flex;flex-direction:column}.contact-main{display:grid;grid-template-columns:1.25fr 1fr;flex:1;min-height:0}.contact-links{position:relative;display:flex;align-items:center;padding:5vh 3vw;isolation:isolate;overflow:hidden}.contact-star{position:absolute;inset:5% 12%;pointer-events:none;filter:url('#contact-warp')}.contact-star .ink{--art:url('assets/symbol-display.png');display:block;width:100%;height:100%}.contact-addresses{mix-blend-mode:difference;position:relative;z-index:2;color:var(--purple);font-size:clamp(23px,3vw,46px);font-weight:750;letter-spacing:-.045em;line-height:1.15}.contact-addresses a,.contact-addresses>span{display:block;color:inherit;text-underline-offset:5px;text-decoration-thickness:1px}.contact-addresses a:hover{text-decoration:none}.contact-note{position:absolute;left:3vw;bottom:30px;font-size:10px;color:#b2b2ff}.contact-form{padding:5vh 4vw;display:flex;flex-direction:column;justify-content:center;color:#b2b2ff}.contact-form h2{font-size:clamp(35px,4vw,65px);font-weight:600;letter-spacing:-.055em;color:var(--purple);margin:0 0 25px}.contact-form label{font-size:11px;margin-bottom:7px}.contact-form input,.contact-form textarea{width:100%;border:0;border-radius:15px;background:#222;color:white;padding:12px 16px;margin-bottom:17px;min-height:40px}.contact-form textarea{min-height:85px;resize:vertical;max-height:130px}.contact-form button{padding:10px 15px;border:1px solid #6464ff;border-radius:25px;color:#b2b2ff;background:none;font-size:12px}.contact-form button:hover{background:var(--purple);color:white}.contact-form p{font-size:10px;line-height:1.5;margin:12px 0 0}footer{background:var(--paper);display:flex;align-items:center;justify-content:space-between;gap:20px;padding:18px 110px 18px 3vw;min-height:95px;font-size:11px}.footer-brand{--art:url('assets/full-logo.png');width:130px;height:58px}.effects{position:absolute;width:0;height:0;overflow:hidden}.slide.js-motion > :where(.hero-centre,.about-copy,.about-art,.section-heading,.mix-grid,.portfolio-note,.project-column){opacity:var(--visibility,1);filter:blur(var(--blur,0px));translate:0 var(--offset,0px)}.hero-centre{filter:none!important}.hero.js-motion .hero-centre{opacity:var(--visibility,1)}@keyframes marquee{to{transform:translateX(-50%)}}@keyframes pulse{0%,100%{opacity:1}50%{opacity:.25}}@keyframes enter{from{opacity:0;filter:blur(12px);translate:0 20px}to{opacity:1;filter:blur(0);translate:0 0}}
@media(max-height:720px) and (min-width:851px){.slide{padding-top:4vh;padding-bottom:4vh}.contact{padding:0}.hero{padding-bottom:45px}.cover{height:36vh;min-height:180px}.project-column .cover{height:42vh;min-height:190px}.service button{font-size:6.5vh}.service-description p{font-size:12px;max-width:380px;padding-bottom:10px}.about p{font-size:3.5vh}.process-steps{gap:3vh}.contact-form{padding:20px 4vw}.contact-form h2{font-size:36px;margin-bottom:14px}.contact-form input{min-height:34px;padding:8px 12px;margin-bottom:12px}.contact-form textarea{min-height:55px;margin-bottom:12px}footer{min-height:75px;padding-top:8px;padding-bottom:8px}}
@media(max-width:850px){html{scroll-snap-type:y proximity}.slide{height:auto;min-height:calc(100svh - var(--bar));padding:65px 6vw}.hero{height:calc(100svh - var(--bar));padding:28px 5vw 60px}.hero-tilt{width:88vw;height:48vh}.hero nav{gap:15px}.hero-top{font-size:11px}.hero-bottom{font-size:10px}.about{gap:30px;grid-template-columns:1fr}.about-art{height:25vh}.about p{font-size:25px}.mix-grid{gap:12px}.cover{height:30vh;border-radius:22px}.cover img{width:60%;height:65%}.production-artists{gap:25px}.column-heading h2{font-size:36px}.project-column .cover{height:38vh}.services{grid-template-columns:1fr 4fr 1fr;gap:8px;padding-left:15px;padding-right:15px}.sticker-group{height:55vh}.sticker-group img{width:80px;height:110px}.service button{font-size:42px}.service-description p{font-size:12px;padding-left:0;padding-right:0}.process{grid-template-columns:1fr;gap:50px}.display-type{font-size:90px}.contact{padding:0}.contact-main{grid-template-columns:1fr}.contact-links{min-height:55vh;padding:40px 6vw}.contact-addresses{font-size:35px}.contact-form{padding:35px 6vw 50px}.contact-note{left:6vw}.position{left:16px;bottom:18px}.corner{right:16px;bottom:14px}.corner img{width:50px}.slide.js-motion > :where(.hero-centre,.about-copy,.about-art,.section-heading,.mix-grid,.portfolio-note,.project-column){filter:none!important;translate:none!important;opacity:1!important}}
@media(max-width:550px){html{scroll-snap-type:none}.hero-top{align-items:start;gap:20px}.hero nav{gap:12px;font-size:11px}.availability{font-size:10px;white-space:nowrap}.hero-bottom span:last-child{display:none}.hero-tilt{width:92vw;height:45vh}.about{padding:60px 6vw}.about p{font-size:23px}.section-heading h2{font-size:50px}.section-heading .eyebrow{font-size:9px}.mix-grid{grid-template-columns:1fr}.cover{height:36vh}.sample figcaption{font-size:12px}.mix{padding:60px 6vw}.production-artists{grid-template-columns:1fr;gap:50px}.project-column .cover{height:38vh}.services{grid-template-columns:1fr;gap:35px;padding:75px 6vw 65px}.services-label{left:6vw;top:30px}.sticker-group{height:auto;flex-direction:row;justify-content:space-between}.sticker-group img{width:75px;height:80px}.sticker-group.right{display:none}.service button{font-size:45px}.service-description p{font-size:13px;max-width:300px}.process{gap:45px}.display-type{font-size:80px}.contact-addresses{font-size:27px}.contact-note{font-size:9px}footer{padding-left:6vw;font-size:9px;flex-wrap:wrap}.footer-brand{width:110px;height:50px}.position{font-size:9px}.placeholder{font-size:10px;bottom:18px;left:18px}}
@media(prefers-reduced-motion:reduce){html{scroll-snap-type:none}.marquee-track,.availability i,.brand{animation:none}.hero-tilt,.service,.sticker-group{transform:none!important}.cover img{transition:none}.service-description{transition:none}.slide.js-motion > :where(.hero-centre,.about-copy,.about-art,.section-heading,.mix-grid,.portfolio-note,.project-column){opacity:1;filter:none;translate:none}}

@media(max-height:760px) and (min-width:851px){.about p{font-size:min(2.5vw,3.6vh)}.contact-form{padding:20px 4vw}.contact-form h2{font-size:38px;margin-bottom:16px}.contact-form input{min-height:34px;padding:9px 12px;margin-bottom:12px}.contact-form textarea{min-height:65px;height:65px;margin-bottom:12px}.contact-form p{font-size:9px;margin-top:8px}footer{min-height:75px;padding-top:8px;padding-bottom:8px}.footer-brand{height:50px}.service button{font-size:6.3vh}.service-description p{font-size:12px;max-width:350px}.display-type{font-size:15vh}}
/* Revision 06: compressed type, seamless banner and individual contact rows. */
.marquee-track{gap:0;animation:marquee-loop 32s linear infinite;will-change:transform}.marquee-group{gap:0;padding:0;flex:none}.marquee-item{display:flex;align-items:center;gap:18px;padding-right:18px;flex:none}.marquee b{font-size:26px;line-height:1;font-weight:850;letter-spacing:-.05em;transform:scaleY(.72);text-transform:uppercase}.marquee-icon{--art:url('assets/symbol-display.png');width:40px;height:30px;display:block;color:var(--purple);flex:none}@keyframes marquee-loop{to{transform:translateX(var(--loop-distance,-1000px))}}
.availability,.hero nav a,.hero-bottom>*{border:1px solid var(--purple);border-radius:50%;padding:12px 23px;white-space:nowrap}.availability{padding:12px 20px}.hero nav{gap:16px}.hero nav a{font-weight:700;font-size:15px;padding:12px 25px}.hero nav a:hover,.hero-bottom a:hover{background:var(--purple);color:var(--paper);text-decoration:none}.hero-bottom>*{font-size:12px}.hero-bottom a{padding:12px 28px}.hero-bottom{padding-right:45px}
.scramble{position:relative;display:inline-block;white-space:nowrap}.scramble-base{display:block}.scramble-overlay{position:absolute;inset:0;pointer-events:none}.scramble.is-scrambling .scramble-base{visibility:hidden}.squashed{transform:scaleX(.7) scaleY(1.13);transform-origin:left center;letter-spacing:-.055em}.about-title{font-size:clamp(23px,2.7vw,43px);font-weight:850;line-height:1;letter-spacing:-.04em;margin:0 0 35px;max-width:100%}.about-art{height:53vh;width:115%;max-width:none;justify-self:center;filter:url('#about-warp');will-change:filter}.about{grid-template-columns:1.25fr 1fr;gap:6vw}.section-heading h2{font-weight:850;font-size:clamp(56px,8.6vw,140px);line-height:.94;letter-spacing:-.065em}.column-heading h2{font-weight:800;font-size:clamp(42px,6vw,94px);line-height:1.05;min-width:0}.column-heading .squashed{transform:scaleX(.78) scaleY(1.12)}.column-heading .eyebrow{flex:none}.column-heading{margin-bottom:28px}
.services{isolation:isolate;grid-template-columns:1fr 3.4fr 1fr;gap:1vw;padding-top:12vh;padding-bottom:7vh}.services-label{z-index:2;top:5vh;font-size:clamp(25px,3vw,45px);font-weight:850;line-height:1;margin:0}.service-list{position:relative;z-index:3}.service button{font-weight:800;font-size:clamp(40px,5.6vw,88px);line-height:1.14;padding:1px 0}.service button .squashed{transform:scaleX(.72) scaleY(1.15);transform-origin:center center;letter-spacing:-.035em}.service-description p{position:relative;z-index:3}.sticker-group{z-index:2;position:relative;height:68vh;justify-content:space-between}.sticker-group img{width:clamp(110px,14vw,220px);height:clamp(120px,18vh,200px);filter:drop-shadow(0 8px 8px #0003);transform:rotate(-13deg)}.sticker-group.left img:nth-child(1){align-self:flex-start;translate:5px -15px;rotate:-4deg}.sticker-group.left img:nth-child(2){align-self:flex-end;translate:15px 0;rotate:15deg}.sticker-group.left img:nth-child(3){align-self:flex-start;translate:-15px 8px;rotate:-8deg}.sticker-group.right img:nth-child(1){align-self:flex-end;translate:10px 5px;rotate:12deg}.sticker-group.right img:nth-child(2){align-self:flex-start;translate:-15px -8px;rotate:-12deg}.sticker-group.right img:nth-child(3){align-self:flex-end;translate:5px 5px;rotate:7deg}.services-atmosphere{position:absolute;inset:-5%;pointer-events:none;z-index:-1;background:radial-gradient(ellipse at 25% 35%,#efdaff20,transparent 43%),radial-gradient(ellipse at 80% 75%,#10006938,transparent 48%);transform:translate(var(--atmos-x,0px),var(--atmos-y,0px));transition:transform 1.5s ease}.services-atmosphere:after{content:'';position:absolute;inset:0;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.75' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' opacity='.55' filter='url(%23n)'/%3E%3C/svg%3E");opacity:.12;animation:grain-drift 1.2s steps(4) infinite;background-size:180px}@keyframes grain-drift{0%{translate:0 0}25%{translate:8px -6px}50%{translate:-6px 9px}75%{translate:5px 5px}100%{translate:0 0}}.services.js-motion>.services-atmosphere{opacity:1;filter:none;translate:none}
.display-type{font-size:clamp(90px,12vw,190px);font-weight:700;line-height:.86;transform:scaleX(.74) scaleY(1.06);width:135%;letter-spacing:-.065em}.process{grid-template-columns:1.25fr 1fr;gap:5vw}.contact-addresses{width:100%;display:flex;flex-direction:column;gap:clamp(30px,6vh,66px);padding:0 2vw;font-size:clamp(25px,2.6vw,42px);line-height:1.1;font-weight:650;letter-spacing:-.04em}.contact-row{width:100%;display:flex;flex-direction:column;gap:10px}.contact-addresses .channel-label{font-size:11px;font-weight:400;letter-spacing:.03em}.contact-addresses .phone{white-space:nowrap}.contact-addresses .email-address{font-size:clamp(20px,2.1vw,34px);white-space:nowrap}.contact-addresses a{text-decoration:none;width:max-content;max-width:100%}.contact-addresses a:hover{text-decoration:underline;text-decoration-thickness:1px}.contact-star{inset:4% 8%;opacity:1}.contact-note{left:5vw}.position{transition:opacity .3s,visibility .3s}.position.is-hidden{opacity:0;visibility:hidden;pointer-events:none}
@media(max-height:760px) and (min-width:851px){.service button{font-size:6.5vh}.sticker-group img{width:12vw;height:16vh}.services{padding-top:10vh;padding-bottom:6vh}.about-title{font-size:3.8vh;margin-bottom:22px}.display-type{font-size:18vh}.contact-addresses{gap:5vh}.availability,.hero nav a,.hero-bottom>*{padding:9px 18px}}
@media(max-width:850px){.marquee b{font-size:23px}.marquee-item{gap:12px;padding-right:12px}.marquee-icon{width:34px;height:27px}.availability{padding:10px 15px}.hero nav{gap:8px}.hero nav a{font-size:12px;padding:10px 15px}.hero-bottom{padding-right:0;gap:12px}.hero-bottom>*{font-size:10px;padding:10px 16px}.hero-bottom a{padding:10px 18px}.about{grid-template-columns:1fr}.about-art{width:100%;height:30vh}.about-title{font-size:35px;margin-bottom:25px}.section-heading h2{font-size:65px}.column-heading h2{font-size:45px}.services{grid-template-columns:1fr 4fr 1fr;padding:85px 18px 55px}.services-label{left:6vw;font-size:30px}.sticker-group img{width:100px;height:125px}.service button{font-size:46px}.display-type{font-size:110px}.contact-addresses{padding:0;gap:35px;font-size:34px}.contact-addresses .email-address{font-size:28px}.contact-note{left:6vw}}
@media(max-width:550px){.hero-top{flex-wrap:wrap;justify-content:space-between;gap:18px}.availability{font-size:10px;padding:9px 13px}.hero nav{gap:5px}.hero nav a{font-size:10px;padding:9px 12px}.hero-bottom{flex-wrap:wrap;justify-content:center;gap:10px}.hero-bottom span:first-child{font-size:9px}.hero-bottom a{font-size:10px}.hero{padding-bottom:70px}.about-title{font-size:31px}.about-title .squashed{transform:scaleX(.68) scaleY(1.08)}.section-heading h2{font-size:50px}.section-heading{gap:6px}.section-heading .eyebrow{font-size:8px}.column-heading h2{font-size:48px}.services{grid-template-columns:1fr;padding:85px 6vw 55px}.sticker-group{height:100px;flex-direction:row;gap:10px}.sticker-group img{width:90px;height:100px}.sticker-group.left img:nth-child(n){align-self:auto;translate:0 0}.service button{font-size:47px}.display-type{font-size:90px}.contact-addresses{font-size:28px;gap:32px}.contact-addresses .email-address{font-size:clamp(18px,5.4vw,26px)}.contact-row{gap:8px}.contact-addresses .channel-label{font-size:10px}.contact-note{font-size:8px}}
@media(prefers-reduced-motion:reduce){.services-atmosphere:after{animation:none}.scramble-overlay{display:none}.scramble.is-scrambling .scramble-base{visibility:visible}.about-art{filter:none}.marquee-track{animation:none}}
.scramble-overlay{overflow:hidden}.slide.about.js-motion>.about-art{filter:blur(var(--blur,0px)) url('#about-warp')}.slide.services.js-motion>.services-atmosphere{opacity:1;filter:none;translate:none}@media(max-width:550px){.display-type{font-size:80px}}@media(prefers-reduced-motion:reduce){.slide.about.js-motion>.about-art{filter:none}}
/* Revision 07: stronger art motion, animated brand pattern and expanded services. */
.marquee{border-bottom:1px solid var(--purple)}.about-title{font-size:clamp(37px,3.5vw,58px);line-height:1.1;margin-bottom:30px}.about-title .squashed{transform:scaleX(.76) scaleY(1.2)}.contact-form h2{font-size:clamp(45px,4.5vw,74px);font-weight:850;line-height:1;margin-bottom:28px}.contact-form h2 .squashed{transform:scaleX(.72) scaleY(1.15)}
.services-atmosphere{z-index:0;overflow:hidden}.services-pattern{position:absolute;inset:-15%;background:var(--yellow);opacity:.17;mask-image:url('assets/wave.svg');-webkit-mask-image:url('assets/wave.svg');mask-size:250px 190px;-webkit-mask-size:250px 190px;mask-repeat:repeat;-webkit-mask-repeat:repeat;animation:brand-pattern-travel 22s linear infinite;transform:rotate(-12deg);pointer-events:none}.services-atmosphere:after{opacity:.08}.service-list:before{content:'';position:absolute;inset:-9% -12%;z-index:-1;background:radial-gradient(ellipse,#2a2afc 35%,#2a2afccc 62%,transparent 78%);pointer-events:none}.service-list{isolation:isolate}.service button{font-size:clamp(36px,4.8vw,75px);line-height:1.12}.services{padding-top:11vh;padding-bottom:7vh}.service-description p{font-size:13px;max-width:430px;padding-top:7px;padding-bottom:12px}@keyframes brand-pattern-travel{from{mask-position:0 0;-webkit-mask-position:0 0}to{mask-position:500px 380px;-webkit-mask-position:500px 380px}}
@media(max-height:760px) and (min-width:851px){.about-title{font-size:4.6vh;line-height:1.12;margin-bottom:20px}.about p{font-size:3.2vh}.service button{font-size:5.5vh}.service-description p{font-size:11px;max-width:410px;padding-bottom:8px}.contact-form h2{font-size:45px;margin-bottom:18px}}
@media(max-width:850px){.about-title{font-size:40px;line-height:1.15}.contact-form h2{font-size:54px}.service button{font-size:40px}.services-pattern{mask-size:190px 150px;-webkit-mask-size:190px 150px}.service-description p{font-size:12px}}
@media(max-width:550px){.about-title{font-size:37px}.about-title .squashed{transform:scaleX(.74) scaleY(1.15)}.service button{font-size:41px}.contact-form h2{font-size:50px}.services-pattern{opacity:.1}.service-description p{font-size:12px;max-width:300px}}
@media(prefers-reduced-motion:reduce){.services-pattern{animation:none}}
/* Revision 08: restrained brand backgrounds. */
.services{background:var(--purple)}.service-list:before{content:none}.slide{isolation:isolate}.brand-watermark{position:absolute;right:-8vw;bottom:-12vh;width:min(66vw,1050px);height:90%;background:currentColor;mask:url('assets/symbol-display.png') center/contain no-repeat;-webkit-mask:url('assets/symbol-display.png') center/contain no-repeat;opacity:.025;pointer-events:none;z-index:-1}.slide.js-motion>.brand-watermark{opacity:.025;filter:none;translate:none}.services .brand-watermark{color:var(--paper);right:-5vw;bottom:-16vh;width:65vw;opacity:.035}.slide.services.js-motion>.brand-watermark{opacity:.035;filter:none;translate:none}.about .brand-watermark{right:auto;left:-17vw;bottom:-28vh;width:60vw;opacity:.018}.slide.about.js-motion>.brand-watermark{opacity:.018}.production-artists .brand-watermark{width:45vw;right:-10vw;bottom:-30vh;opacity:.02}.slide.production-artists.js-motion>.brand-watermark{opacity:.02}.process .brand-watermark{right:-12vw;bottom:-15vh;width:58vw;opacity:.025}.display-type{font-size:clamp(72px,8.9vw,146px);line-height:1.03;letter-spacing:-.065em;font-weight:800;transform:scaleX(.7) scaleY(1.12);width:142.8%}.display-type .scramble{transform:none}
@media(max-height:760px) and (min-width:851px){.display-type{font-size:min(8.9vw,15vh)}}@media(max-width:850px){.display-type{font-size:clamp(65px,10vw,95px)}.brand-watermark{width:100vw!important;height:65%;right:-30vw!important;bottom:-10vh!important}.about .brand-watermark{left:auto}}@media(max-width:550px){.display-type{font-size:clamp(46px,12.5vw,65px)}.services .brand-watermark{opacity:.025}}@media(prefers-reduced-motion:reduce){.slide.js-motion>.brand-watermark{opacity:.025}}
/* Revision 09: process-only decoration, independent from content reveal. */
.slide.process .brand-watermark,.slide.process.js-motion>.brand-watermark{opacity:.012!important;filter:none!important;translate:none!important;z-index:0;pointer-events:none;color:var(--purple)}.process>.display-type,.process>.process-steps{position:relative;z-index:1;mix-blend-mode:difference;color:#d5d503}.slide.process.js-motion>.display-type,.slide.process.js-motion>.process-steps{filter:none;opacity:1;translate:none}.process .scramble-overlay{color:inherit}@media(max-width:850px){.slide.process .brand-watermark{opacity:.009!important}}
/* Revision 10: original purple, difference restricted to the right-hand copy. */
.process>.display-type{color:var(--purple);mix-blend-mode:normal}.process-right{position:relative;height:100%;min-height:0;display:flex;align-items:center;isolation:isolate}.process-right>.process-steps{position:relative;width:100%;z-index:1;color:var(--purple);mix-blend-mode:difference}.process .process-right>.brand-watermark{color:var(--purple);opacity:.035!important;z-index:0;width:58vw;height:90%;right:-12vw;bottom:-15vh;filter:none!important;translate:none!important}.slide.process.js-motion>.process-right{opacity:1;filter:none;translate:none}@media(max-width:850px){.process-right{min-height:380px}.process .process-right>.brand-watermark{opacity:.03!important;width:100vw!important;right:-30vw!important;bottom:-10vh!important}}
/* Revision 11: pointer-driven sticker bodies and faint brand artwork. */
.underlined .scramble-base,.underlined .scramble-overlay{text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:7px}.hero-mosaic{position:absolute;inset:0;z-index:0;background:#161616;opacity:.014;mask:url('assets/full-logo.png') 0 0/140px 95px repeat;-webkit-mask:url('assets/full-logo.png') 0 0/140px 95px repeat;animation:hero-mosaic-drift 65s linear infinite;pointer-events:none}.hero>:not(.hero-mosaic){position:relative;z-index:1}.slide.hero.js-motion>.hero-mosaic{opacity:.014;filter:none;translate:none}@keyframes hero-mosaic-drift{to{mask-position:280px 190px;-webkit-mask-position:280px 190px}}
.portfolio-backdrop{position:absolute;inset:0;z-index:0;background:#161616;opacity:.023;mask:var(--backdrop) 110% 100%/70vw 80vh no-repeat;-webkit-mask:var(--backdrop) 110% 100%/70vw 80vh no-repeat;pointer-events:none}.eye{--backdrop:url('assets/eye.svg')}.chance{--backdrop:url('assets/chance.svg')}.slide.js-motion>.portfolio-backdrop{opacity:.023;filter:none;translate:none}.mix>:not(.portfolio-backdrop),.production-artists>:not(.portfolio-backdrop){position:relative;z-index:1}
.services .service button{font-size:clamp(42px,5.4vw,84px);line-height:1.1}.service-description p{font-size:15px;line-height:1.4;padding:10px 12px 16px}.sticker-group img{width:clamp(125px,15.5vw,240px);height:clamp(135px,20vh,230px)}.sticker-table{position:absolute;inset:0;z-index:2;pointer-events:none;overflow:hidden}.sticker-table img{position:absolute;left:0;top:0;object-fit:contain;will-change:transform;filter:drop-shadow(0 8px 8px #0003);rotate:none;translate:none}.physics-active .sticker-group{visibility:hidden}.services .service-list{z-index:3}.slide.services.js-motion>.sticker-table{filter:none;translate:none;opacity:1}
.process .process-right>.brand-watermark{opacity:.055!important;filter:url('#process-warp')!important}.process .process-right>.process-echo{opacity:.028!important;right:4vw;bottom:12vh;width:34vw;height:50%;transform:scaleX(-1)}.contact-star{opacity:.65}footer{border-top:1px solid var(--purple)}
@media(max-height:760px) and (min-width:851px){.services .service button{font-size:6.2vh}.service-description p{font-size:13px;padding:6px 10px 12px}.sticker-group img{height:18vh;width:14vw}}
@media(max-width:850px){.services .service button{font-size:45px}.sticker-group img{width:110px;height:130px}.process .process-right>.brand-watermark{opacity:.045!important}.process .process-right>.process-echo{width:60vw!important;height:50%;right:15vw!important;bottom:15vh!important;opacity:.025!important}.portfolio-backdrop{mask-size:110vw 60vh;-webkit-mask-size:110vw 60vh}}
@media(max-width:550px){.services .service button{font-size:43px}.sticker-group img{width:95px;height:110px}.service-description p{font-size:14px}}
@media(prefers-reduced-motion:reduce){.hero-mosaic{animation:none}.process .process-right>.brand-watermark{filter:none!important}.contact-star{filter:none}}

/* Revision 12: decorative layers retain their own opacity during scroll. */
.hero-mosaic{mask-image:url('assets/symbol-display.png');-webkit-mask-image:url('assets/symbol-display.png');mask-size:88px 88px;-webkit-mask-size:88px 88px;opacity:.012}
.slide.hero.js-motion>.hero-mosaic{opacity:.012}
.portfolio-backdrop{opacity:.018;mask-position:center;-webkit-mask-position:center;mask-size:min(65vw,1000px) 72vh;-webkit-mask-size:min(65vw,1000px) 72vh}
.slide.js-motion>.portfolio-backdrop{opacity:.018}
.services .services-label,.services .service-list{position:relative;z-index:5;mix-blend-mode:difference;isolation:auto;color:var(--paper)}
.services .services-label{position:absolute;z-index:6}
.services .sticker-table{z-index:2}
.services .sticker-group{height:72vh}
.services .sticker-group img{width:clamp(125px,14.5vw,230px);height:16vh;flex-shrink:0}
.process-left{position:relative;height:100%;min-height:0;display:flex;align-items:center;isolation:isolate}
.process-left>.display-type{position:relative;z-index:1;color:var(--purple);mix-blend-mode:normal}
.slide.process .process-left>.brand-watermark,.slide.process .process-right>.brand-watermark{width:52vw!important;height:68vh;opacity:.055!important;filter:url('#process-warp')!important;transform:none;translate:none!important;z-index:0;color:var(--purple)}
.slide.process .process-left>.process-echo{left:-10vw;right:auto!important;top:auto;bottom:-20vh!important}
.slide.process .process-right>.brand-watermark{left:auto;right:-8vw!important;top:-7vh;bottom:auto!important}
.process-right>.process-steps{z-index:2;mix-blend-mode:difference;color:var(--purple)}
.contact-star{opacity:1;z-index:0}
.contact-addresses{z-index:3;mix-blend-mode:difference;color:var(--purple);isolation:auto}
.contact-main{filter:none;opacity:1;translate:none}
@media(max-width:850px){.process-left{min-height:260px}.slide.process .process-left>.brand-watermark,.slide.process .process-right>.brand-watermark{width:85vw!important;height:45vh;opacity:.045!important}.slide.process .process-left>.process-echo{left:-15vw;bottom:-10vh!important}.slide.process .process-right>.brand-watermark{right:-20vw!important;top:0}.portfolio-backdrop{mask-size:85vw 55vh;-webkit-mask-size:85vw 55vh}.services .sticker-group img{width:100px;height:12vh}}
@media(max-width:550px){.services .sticker-group{height:100px}.services .sticker-group img{width:65px;height:80px}.process-left{min-height:200px}}
@media(prefers-reduced-motion:reduce){.slide.process .process-left>.brand-watermark,.slide.process .process-right>.brand-watermark{filter:none!important}}

/* Revision 13: restore the brief pencil trace and reduce secondary brand marks. */
.hero-mosaic{mask-size:72px 72px;-webkit-mask-size:72px 72px}
@keyframes hero-mosaic-drift{to{mask-position:288px 288px;-webkit-mask-position:288px 288px}}
.corner img{width:54px}
.pencil-trail{position:fixed;inset:0;width:100%;height:100%;pointer-events:none;z-index:35;mix-blend-mode:difference;overflow:hidden}
.pencil-trail path{fill:none;stroke:#fff;stroke-width:1;stroke-linecap:round;stroke-linejoin:round}
@media(max-width:850px){.corner img{width:42px}}
@media(pointer:coarse),(prefers-reduced-motion:reduce){.pencil-trail{display:none}}

/* Real portfolio media, with the existing purple/paper/yellow palette. */
.audio-cover{display:flex;flex-direction:column;justify-content:space-between;gap:20px;padding:clamp(20px,2vw,32px);color:var(--purple);border:1px solid transparent}
.audio-top{display:flex;justify-content:space-between;gap:12px;font-size:10px;letter-spacing:.025em}
.waveform{position:relative;width:100%;height:clamp(85px,16vh,150px);margin:auto 0}
.waveform svg{display:block;width:100%;height:100%;overflow:visible}
.waveform rect{fill:currentColor;opacity:.35;transition:opacity .12s}
.waveform rect.played{opacity:1}
.audio-seek{position:absolute;inset:0;width:100%;height:100%;margin:0;opacity:0;cursor:ew-resize}
.waveform:focus-within{outline:1px solid currentColor;outline-offset:8px;border-radius:4px}
.audio-transport{display:flex;align-items:center;gap:14px}
.audio-play{width:52px;height:52px;border:1px solid currentColor;border-radius:50%;background:transparent;color:inherit;display:grid;place-items:center;flex-shrink:0;transition:background .2s,color .2s,transform .2s}
.audio-play svg{width:22px;height:22px;fill:currentColor}
.audio-play:hover{background:var(--purple);color:var(--paper);transform:scale(1.04)}
.audio-status{font-size:11px}.audio-time{font-size:11px;margin-left:auto;font-variant-numeric:tabular-nums;white-space:nowrap}
.audio-cover audio{width:100%;height:36px}.audio-cover.audio-enhanced audio{display:none}
.audio-cover:not(.audio-enhanced) .audio-transport,.audio-cover:not(.audio-enhanced) .waveform{display:none}
.audio-sample figcaption>span:first-child{font-weight:650;font-size:15px;letter-spacing:-.025em}
.project-column .video-cover,.project-column .artist-cover{background:#111;border:1px solid #2a2afc22}
.video-cover video{display:block;width:100%;height:100%;object-fit:contain}
.project-column .artist-cover img{display:block;width:100%;height:100%;object-fit:cover;transition:opacity .3s}
.project-caption{display:flex;flex-direction:column;gap:5px}.slot-name{font-weight:600}.slot-credit{font-size:11px;opacity:.7}
.contact-heading{font-size:clamp(35px,4vw,65px);font-weight:600;letter-spacing:-.055em;margin:0;line-height:1.05}
.contact-addresses{gap:clamp(28px,5vh,50px)}
@media(max-width:850px){.audio-cover{padding:20px 15px}.audio-play{width:42px;height:42px}.audio-status{display:none}.audio-top{font-size:9px}.audio-transport{gap:8px}.audio-time{font-size:10px}.contact-heading{font-size:55px}}
@media(max-width:550px){.audio-cover{padding:25px}.audio-status{display:inline}.audio-top{font-size:10px}.audio-play{width:50px;height:50px}.waveform{height:100px}.contact-heading{font-size:48px}.project-bottom{align-items:start}.project-caption{max-width:75%}}

.contact-heading{font-size:clamp(45px,4.5vw,74px);font-weight:850;line-height:1}
.contact-heading .squashed{transform:scaleX(.72) scaleY(1.15)}
@media(max-width:850px){.contact-heading{font-size:54px}}
@media(max-width:550px){.contact-heading{font-size:50px}}

.artist-description{font-size:12px;line-height:1.45;margin:3px 0 0;font-weight:400;max-width:600px}
.project-caption{min-width:0;max-width:calc(100% - 95px)}
.project-column[data-type="artist"] .project-bottom{align-items:flex-start}
.project-column .artist-cover img{object-position:center 58%}
.slot-credit{line-height:1.4}
@media(max-height:760px) and (min-width:851px){.project-column .cover{height:39vh}.artist-description{font-size:11px}}
@media(max-width:550px){.artist-description{font-size:12px}.project-caption{max-width:calc(100% - 75px)}}

/* Revision 16: fixed photo boxes and a more tactile studio player. */
.project-column .artist-cover,.project-column .video-cover{display:block;position:relative;min-height:0}
.project-column .artist-cover img{position:absolute;inset:0;width:100%;height:100%;min-height:0;min-width:0;object-fit:cover;object-position:50% 50%;transform:none}
.video-cover video{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;object-position:center;min-height:0}
.video-controls{display:none;position:absolute;inset:auto 14px 12px;padding:8px 12px;align-items:center;gap:12px;border:1px solid #faf9f644;border-radius:25px;background:#000b;color:var(--paper);z-index:2}
.video-enhanced .video-controls{display:flex}.video-controls button{border:0;background:none;color:inherit;min-width:25px;min-height:28px;padding:0;font-size:17px}
.video-time{font-size:10px;white-space:nowrap;font-variant-numeric:tabular-nums}.video-seek{flex:1;min-width:0;accent-color:var(--yellow);cursor:ew-resize}
.audio-cover{height:44vh;display:grid;grid-template-rows:auto minmax(55px,1fr) auto 50px auto;gap:12px;padding:22px;background:var(--yellow);border:1px solid var(--purple);box-shadow:5px 5px 0 #2a2afc22;isolation:isolate}
.audio-cover:before{content:'';position:absolute;inset:0;background:var(--purple);mask:url('assets/symbol-display.png') center/70px 70px repeat;-webkit-mask:url('assets/symbol-display.png') center/70px 70px repeat;opacity:.055;z-index:-1;pointer-events:none}
.audio-top{font-size:9px}.audio-art{min-height:0;display:grid;place-items:center}.audio-art img{width:45%;height:100%;object-fit:contain;transform:rotate(-7deg);filter:drop-shadow(3px 3px 0 #faf9f666)}
.audio-title{font-size:clamp(23px,2.3vw,38px);letter-spacing:-.065em;font-weight:900;line-height:1;margin:0;text-align:center}
.audio-cover .waveform{height:50px;margin:0;border-top:1px solid #2a2afc44;border-bottom:1px solid #2a2afc44;padding:7px 0}
.audio-cover .waveform rect{opacity:.5}.audio-cover .waveform rect.played{opacity:1}
.audio-seek{opacity:1;appearance:none;-webkit-appearance:none;background:transparent;z-index:2;color:var(--purple)}
.audio-seek::-webkit-slider-runnable-track{background:transparent;height:2px}.audio-seek::-webkit-slider-thumb{appearance:none;-webkit-appearance:none;width:9px;height:44px;margin-top:-21px;border:1px solid var(--purple);border-radius:3px;background:var(--paper);cursor:ew-resize}
.audio-seek::-moz-range-track{background:transparent}.audio-seek::-moz-range-thumb{width:7px;height:40px;border:1px solid var(--purple);border-radius:3px;background:var(--paper)}
.audio-transport{gap:8px}.audio-play{width:46px;height:46px;background:var(--purple);color:var(--paper);box-shadow:2px 2px 0 #2a2afc44}.audio-play:hover{background:var(--paper);color:var(--purple)}
.audio-status{display:none}.audio-skip{background:none;border:1px solid #2a2afc66;border-radius:50%;height:31px;width:31px;color:var(--purple);font-size:10px;font-weight:650;padding:0}.audio-skip:hover{background:#faf9f688}
.audio-sample figcaption>span:first-child{display:none}.audio-sample figcaption{justify-content:flex-end}
.contact-titles{display:grid;grid-template-columns:1.25fr 1fr;padding-top:clamp(40px,10vh,95px);align-items:start}
.contact-titles h2{font-size:clamp(45px,4.5vw,74px);font-weight:850;letter-spacing:-.055em;line-height:1;margin:0;padding-left:5vw;color:var(--purple)}
.contact-titles h2:last-child{padding-left:4vw}.contact-titles .squashed{transform:scaleX(.72) scaleY(1.15)}
.contact-links,.contact-form{align-self:start;padding-top:35px}.contact-links{height:100%;align-items:flex-start}.contact-form{justify-content:flex-start}.contact-addresses{padding-top:0;gap:clamp(28px,5vh,50px)}
.contact-main{min-height:0}.contact-star{inset:-10% 8% 0}.contact-titles{position:relative;z-index:2}
.footer-socials{display:flex;gap:12px;align-items:center}.footer-socials a{width:36px;height:36px;display:grid;place-items:center;border:1px solid #2a2afc55;border-radius:50%;transition:background .2s,color .2s}
.footer-socials a:hover{background:var(--purple);color:var(--paper)}.footer-socials svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:1.7}.footer-socials .filled-icon{fill:currentColor;stroke:none}
@media(max-height:760px) and (min-width:851px){.audio-cover{height:46vh;padding:16px;gap:8px}.audio-art img{width:40%}.audio-cover .waveform{height:42px}.contact-titles{padding-top:6vh}.contact-links,.contact-form{padding-top:25px}.contact-addresses{gap:4vh}}
@media(max-width:850px){.audio-cover{padding:15px;gap:10px}.audio-title{font-size:25px}.audio-skip{width:25px;height:25px;font-size:9px}.audio-play{width:36px;height:36px}.audio-time{font-size:9px}.audio-transport{gap:5px}.contact-titles{grid-template-columns:1fr 1fr;padding-top:50px}.contact-titles h2{font-size:54px}.contact-main{grid-template-columns:1.25fr 1fr}.contact-addresses{font-size:25px}.contact-addresses .email-address{font-size:19px}.contact-links{min-height:0}.contact-form{padding-left:4vw;padding-right:4vw}}
@media(max-width:550px){.audio-cover{height:390px;padding:24px;gap:12px}.audio-art img{width:40%}.audio-title{font-size:36px}.audio-play{width:46px;height:46px}.audio-time{font-size:11px}.audio-skip{width:31px;height:31px;font-size:10px}.contact-titles{display:block;padding:45px 0 0}.contact-titles h2{font-size:50px;padding-left:6vw}.contact-titles h2:last-child{display:none}.contact-main{grid-template-columns:1fr}.contact-links{height:auto;min-height:350px;padding:35px 6vw 60px}.contact-addresses{font-size:28px}.contact-addresses .email-address{font-size:22px}.contact-form:before{content:'LET’S TALK.';font-weight:850;color:var(--purple);font-size:50px;letter-spacing:-.055em;line-height:1;transform:scaleX(.72) scaleY(1.15);transform-origin:left;width:139%;margin-bottom:30px}.contact-form{padding:35px 6vw 50px}.video-controls{gap:7px;padding:6px 9px;inset:auto 8px 8px}.video-time{font-size:9px}.footer-socials{gap:8px}footer{padding-right:70px}.footer-socials a{width:32px;height:32px}}

.mobile-contact-title{display:none}.video-cover:fullscreen{background:#000;border-radius:0}.video-cover:fullscreen video{object-fit:contain}
@media(max-width:550px){.contact-form:before{content:none}.contact-form .mobile-contact-title{display:block;font-size:50px;margin:0 0 30px}.mobile-contact-title .squashed{transform:scaleX(.72) scaleY(1.15)}}

/* Revision 17: give every audio card a single full-width column. */
.mix-grid .audio-cover{grid-template-columns:minmax(0,1fr);grid-template-rows:auto minmax(75px,1fr) auto 76px 58px;justify-items:stretch;align-items:stretch;justify-content:stretch;align-content:stretch;place-items:stretch;height:clamp(350px,44vh,460px);gap:14px;padding:24px}
.audio-cover>*{min-width:0;width:100%}
.audio-cover .audio-top{font-size:11px;align-items:center;justify-content:space-between}
.audio-cover .audio-art{width:100%;height:100%;min-height:0;display:flex;align-items:center;justify-content:center}
.audio-sample .audio-art img,.audio-sample:hover .audio-art img{width:min(44%,170px);height:100%;max-height:165px;object-fit:contain;transform:none;transition:none;filter:none}
.audio-cover .audio-title{font-size:clamp(30px,2.7vw,46px);line-height:1.05;text-align:center;margin:0}
.audio-cover .waveform{width:100%;height:76px;padding:12px 0}
.audio-cover .audio-transport{width:100%;gap:12px;align-items:center;justify-content:flex-start}
.audio-cover .audio-play{width:54px;height:54px;flex:0 0 54px}
.audio-cover .audio-skip{width:36px;height:36px;flex:0 0 36px;font-size:11px}
.audio-cover .audio-time{font-size:13px;line-height:1.2;margin-left:auto}
.audio-cover .audio-seek{width:100%;height:100%}
.audio-cover .audio-seek::-webkit-slider-thumb{height:64px;margin-top:-31px;width:8px}
.audio-cover .audio-seek::-moz-range-thumb{height:60px;width:7px}
.contact-links .contact-star{inset:48px 8%;transform:none;display:grid;place-items:center;pointer-events:none}
.contact-links .contact-star .ink{width:100%;height:100%}
.contact-addresses .phone{pointer-events:auto;cursor:pointer;position:relative;z-index:4}
.hero-top nav .nav-stretched{display:inline-block;font-weight:850;transform:scaleX(.8) scaleY(1.3);transform-origin:center;letter-spacing:-.02em}
.hero-bottom .hero-socials{display:flex;align-items:center;gap:10px;border:0;border-radius:0;padding:0;background:none}
.hero .hero-socials a{width:40px;height:40px;padding:0;border:1px solid var(--purple);border-radius:50%;display:grid;place-items:center}
.hero-socials svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.7}
.hero-socials .filled-icon{fill:currentColor;stroke:none}
@media(max-height:760px) and (min-width:851px){.mix-grid .audio-cover{height:clamp(300px,48vh,380px);grid-template-rows:auto minmax(65px,1fr) auto 60px 50px;gap:10px;padding:20px}.audio-cover .waveform{height:60px;padding:9px 0}.audio-cover .audio-title{font-size:34px}.audio-cover .audio-play{width:48px;height:48px;flex-basis:48px}.audio-cover .audio-seek::-webkit-slider-thumb{height:50px;margin-top:-24px}.contact-links .contact-star{inset:35px 8%}}
@media(max-width:850px){.mix-grid .audio-cover{height:350px;padding:16px;gap:12px;grid-template-rows:auto minmax(65px,1fr) auto 65px 48px}.audio-cover .audio-top{font-size:9px}.audio-cover .audio-title{font-size:28px}.audio-cover .waveform{height:65px}.audio-cover .audio-play{width:42px;height:42px;flex-basis:42px}.audio-cover .audio-skip{width:28px;height:28px;flex-basis:28px;font-size:10px}.audio-cover .audio-time{font-size:10px}.audio-cover .audio-transport{gap:8px}.hero .hero-socials a{width:35px;height:35px;padding:0}.contact-links .contact-star{inset:35px 6%}}
@media(max-width:550px){.mix-grid .audio-cover{height:390px;padding:24px;grid-template-rows:auto minmax(80px,1fr) auto 76px 54px;gap:14px}.audio-cover .audio-top{font-size:10px}.audio-cover .audio-title{font-size:36px}.audio-cover .waveform{height:76px}.audio-cover .audio-play{width:50px;height:50px;flex-basis:50px}.audio-cover .audio-skip{width:34px;height:34px;flex-basis:34px}.audio-cover .audio-time{font-size:12px}.hero-bottom .hero-socials{display:flex}.contact-links .contact-star{inset:30px 6%;height:auto}}

/* Center the contact mark against the whole black panel, including its title. */
.contact-links{overflow:visible}
.contact-links .contact-star{inset:auto;left:50%;top:var(--contact-star-center-y,50%);width:84%;height:calc(100% - 96px);transform:translate(-50%,-50%);pointer-events:none}
@media(max-width:550px){.contact-links .contact-star{width:88%;height:calc(100% - 60px)}}

/* Final hero and portfolio background adjustments. */
.hero-centre{perspective:none}
.hero-tilt{transform:none;will-change:auto}
.hero-mosaic{inset:-108px;mask-image:url('assets/hero-mosaic-tile.png');-webkit-mask-image:url('assets/hero-mosaic-tile.png');mask-size:108px 108px;-webkit-mask-size:108px 108px;mask-position:0 0;-webkit-mask-position:0 0;opacity:.062;animation:hero-mosaic-glide 18s linear infinite;will-change:transform}
.slide.hero.js-motion>.hero-mosaic{opacity:.062}
@keyframes hero-mosaic-glide{from{transform:translate3d(0,0,0)}to{transform:translate3d(108px,108px,0)}}
.portfolio-backdrop,.slide.js-motion>.portfolio-backdrop{background:var(--purple);opacity:.068}
@media(prefers-reduced-motion:reduce){.hero-mosaic{animation:none;will-change:auto}}

/* The hero uses small precolored raster images, avoiding animated CSS masks. */
.hero-mosaic{background:transparent url('assets/hero-mosaic-raster.png') 0 0/108px 108px repeat;mask:none;-webkit-mask:none;contain:strict;animation-play-state:paused}
.hero.hero-visible .hero-mosaic{animation-play-state:running}
.hero .brand{background:transparent url('assets/hero-logo-raster.png') center/contain no-repeat;mask:none;-webkit-mask:none}
.slide.hero.js-motion>.hero-centre{filter:none;translate:none;opacity:1}
@media(prefers-reduced-motion:reduce){.hero.hero-visible .hero-mosaic{animation:none}}

/* Mobile-only layouts: desktop rules remain unchanged. */
@media(max-width:850px){
 .hero{display:grid;grid-template-columns:minmax(0,1fr);grid-template-rows:auto minmax(180px,1fr) auto auto;gap:22px;padding:26px 6vw 64px;height:calc(100svh - var(--bar));min-height:560px}
 .hero-top,.hero-bottom{display:contents}
 .hero-top .availability{grid-row:1;justify-self:center;font-size:11px;padding:10px 18px}
 .hero-centre{grid-row:2;min-width:0;min-height:0}
 .hero .hero-tilt{width:100%;height:100%;max-height:48svh}
 .hero-top nav{grid-row:3;justify-self:center;display:flex;gap:10px;justify-content:center}
 .hero-top nav a{font-size:13px;padding:12px 20px}
 .hero-bottom>span,.hero-bottom>a{display:none}
 .hero-bottom .hero-socials{grid-row:4;justify-self:center;display:flex;gap:16px;padding:0}
 .hero .hero-socials a{width:40px;height:40px}
 .services{height:auto;min-height:calc(100svh - var(--bar));grid-template-columns:minmax(0,1fr);gap:36px;padding:36px 6vw 64px;align-items:center}
 .services .services-label{position:relative;inset:auto;text-align:center;justify-self:center;margin:0;mix-blend-mode:normal}
 .services .sticker-group,.services .sticker-group.right{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px 12px;height:auto;width:100%;transform:none;visibility:visible}
 .services .sticker-group img{width:clamp(120px,34vw,190px);height:clamp(130px,35vw,190px);max-width:100%;justify-self:center;align-self:center;translate:none;filter:none}
 .services .sticker-group.left img:nth-child(n){align-self:center;translate:none}
 .services .sticker-table{display:none}
 .services .service-list{width:100%;min-width:0;text-align:center;mix-blend-mode:normal}
 .services .service{transform:none;will-change:auto}
 .services .service button{font-size:clamp(40px,10.5vw,64px);line-height:1.15;padding:5px 0;text-align:center}
 .services .service-description p{font-size:15px;padding:12px 0 18px;max-width:100%}
 .slide.process{height:auto;min-height:calc(100svh - var(--bar));display:grid;grid-template-columns:minmax(0,1fr);gap:36px;padding:64px 7vw 76px;align-items:start}
 .process-left,.process-right{height:auto;min-height:0;width:100%;display:block;min-width:0}
 .process-left>.display-type{width:100%;transform:none;font-size:clamp(36px,10.5vw,70px);line-height:1.1;margin:0;letter-spacing:-.065em}
 .process-left>.display-type .scramble{display:inline-block;white-space:nowrap;max-width:100%}
 .slide.process .brand-watermark{display:none}
 .process-right>.process-steps{width:100%;display:grid;gap:0;mix-blend-mode:normal}
 .process-steps article{border-top:1px solid #2a2afc44;padding:24px 0}
 .process .process-steps .eyebrow{font-size:12px}
 .process .process-steps h3{font-size:26px;margin:12px 0 10px;line-height:1.15}
 .process .process-steps p{font-size:16px;line-height:1.5;max-width:100%}
}
@media(max-width:360px){.hero-top nav{gap:6px}.hero-top nav a{font-size:12px;padding:11px 16px}.services .service button{font-size:36px}.services .sticker-group img{width:118px;height:126px}}

/* Equal navigation ellipses across screen sizes. */
.hero-top nav a{width:clamp(104px,9vw,150px);height:46px;display:grid;place-items:center;padding:0;flex:none;line-height:1;border-radius:50%}
@media(max-width:850px){
 .hero-top nav{gap:10px;width:100%;max-width:460px}
 .hero-top nav a{width:calc((100% - 20px)/3);height:44px;padding:0;font-size:13px}
 .services{height:auto;min-height:calc(100svh - var(--bar));padding:40px 6vw 64px}
 .services .services-label{width:100%;font-size:clamp(44px,11vw,60px);text-align:center;mix-blend-mode:difference;color:var(--paper);z-index:6}
 .services .services-label .squashed{transform-origin:center;transform:scaleX(.7) scaleY(1.13)}
 .services .service-list{color:var(--paper);mix-blend-mode:difference;isolation:auto;z-index:5}
 .services .service-list .service button{color:inherit}
 .services .service-list .service.is-open button{color:var(--yellow)}
 .services.mobile-rolling{height:max(720px,calc(100svh - var(--bar)));min-height:0;display:flex;flex-direction:column;justify-content:center;gap:36px;overflow:hidden}
 .services.mobile-rolling .services-label{position:absolute;left:0;right:0;top:40px}
 .services.mobile-rolling .sticker-group{display:none}
 .mobile-sticker-table{position:absolute;inset:0;z-index:2;pointer-events:none;overflow:hidden;contain:layout paint}
 .mobile-sticker-table img{position:absolute;left:0;top:0;object-fit:contain;width:clamp(82px,22vw,117px);height:clamp(88px,23.5vw,125px);will-change:transform;filter:none}
 .process-left>.display-type{width:138.888%;transform:scaleX(.72) scaleY(1.15);transform-origin:left center;font-size:clamp(48px,14vw,90px);line-height:1.04}
 .process-left>.display-type .scramble{max-width:none}
}

/* Touch tablets keep their existing layout, with autonomous stickers. */
@media(min-width:851px) and (hover:none) and (pointer:coarse){
 .services.mobile-rolling .sticker-group{visibility:hidden}
 .services.mobile-rolling .sticker-table{display:none}
 .services .mobile-sticker-table{position:absolute;inset:0;z-index:2;pointer-events:none;overflow:hidden;contain:layout paint}
 .services .mobile-sticker-table img{position:absolute;left:0;top:0;object-fit:contain;width:clamp(100px,12vw,140px);height:clamp(110px,16vh,160px);will-change:transform;filter:none}
}

/* WebKit uses native SVG filters instead of CSS filters over masked elements. */
@font-face{font-family:DMWebKit;src:url('assets/font.ttf');font-weight:100 1000;font-style:normal;font-display:swap}
.webkit-compat body{font-family:DMWebKit,DM,Arial,sans-serif}
.webkit-compat .about-art.native-warp-art,.webkit-compat .slide.about.js-motion>.about-art.native-warp-art{filter:none!important;will-change:auto}
.webkit-compat .contact-star.native-warp-art,.webkit-compat .slide.process .brand-watermark.native-warp-art{filter:none!important;mask:none!important;-webkit-mask:none!important;background:transparent}
.native-warp-svg{display:block;width:100%;height:100%;overflow:visible;pointer-events:none}
.native-warp-art{pointer-events:none}
@media(prefers-reduced-motion:reduce){.native-warp-svg image{filter:none}}
/* Larger controls stay usable with fingers without changing their layout. */
.audio-seek,.video-seek{touch-action:pan-y}
@media(pointer:coarse){.video-controls button{min-width:32px;min-height:32px}}

/* Constrain native SVGs to the same box as the original masked art. */
.native-warp-art>.native-warp-svg{position:absolute;inset:0;min-width:0;min-height:0}
.about-art.native-warp-art{position:relative}

.webkit-compat .video-seek{-webkit-appearance:none;appearance:none;background:transparent;height:24px;padding:0;border:0}
.webkit-compat .video-seek::-webkit-slider-runnable-track{height:4px;border:1px solid #faf9f666;border-radius:4px;background:linear-gradient(to right,var(--yellow) 0 var(--seek-progress,0%),#faf9f633 var(--seek-progress,0%) 100%)}
.webkit-compat .video-seek::-webkit-slider-thumb{-webkit-appearance:none;width:12px;height:12px;border:0;border-radius:50%;background:var(--yellow);margin-top:-5px}

/* Native SVG filtering also keeps the process wobble visible in Chromium. */
.slide.process .brand-watermark.native-warp-art{filter:none!important;mask:none!important;-webkit-mask:none!important;background:transparent}
/* WebKit avoids costly full-section blur during page transitions. */
.webkit-compat .slide.js-motion>*{filter:none}

.service>h3{margin:0;font:inherit}
