:root{--paper:#f1f0f5;--ink:#0b0b0c;--purple:#2c1e46;--accent:#9162a8;--lilac:#d1bbdf;--rule:rgba(11,11,12,.19);--sans:"Helvetica Neue",Helvetica,Arial,sans-serif;--jp:"Zen Kaku Gothic New",sans-serif;--serif:"Shippori Mincho",serif}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--jp);font-size:15px;line-height:1.9;-webkit-font-smoothing:antialiased}body.dialog-open{overflow:hidden}a{color:inherit;text-decoration:none}button{color:inherit;font:inherit;cursor:pointer;border:0}img,video{max-width:100%;display:block}button,a{-webkit-tap-highlight-color:transparent}button:focus-visible,a:focus-visible{outline:3px solid var(--accent);outline-offset:6px}h1,h2,h3,p{margin:0}em,i{font-style:normal}::selection{background:var(--purple);color:#fff}.section{padding:110px 6.5vw}.section-label{display:flex;align-items:center;justify-content:space-between;font-size:12px;letter-spacing:.04em;margin-bottom:70px}.section-label>span{font-family:var(--sans);font-weight:700}.section-label>b{font-weight:500}.display-heading{font-family:var(--sans);font-weight:700;font-size:clamp(90px,13.7vw,220px);letter-spacing:-.075em;line-height:.85}.skip-link{position:fixed;top:-100px;left:20px;padding:12px 22px;background:#fff;z-index:100}.skip-link:focus{top:15px}
.header{height:105px;position:absolute;top:0;left:0;width:100%;display:flex;align-items:center;gap:38px;padding:16px 3vw;z-index:20}.logo{flex-shrink:0;display:block;width:132px}.logo img{width:100%;height:auto;mix-blend-mode:multiply}.header nav{margin-left:auto;display:flex;gap:30px}.header nav a,.header-contact,.menu-toggle{font:700 12px/1 var(--sans);letter-spacing:.02em}.header nav a{position:relative;padding:15px 0}.header nav a:after{content:"";position:absolute;left:0;bottom:5px;height:2px;width:0;background:var(--accent);transition:width .3s}.header nav a:hover:after{width:100%}.header-contact{display:flex;align-items:center;gap:20px;border-left:1px solid var(--rule);padding-left:30px}.header-contact span{font-size:25px;color:var(--accent)}.menu-toggle{display:flex;align-items:center;gap:10px;background:transparent;padding:10px 0}.menu-toggle i{width:24px;height:9px;border-block:2px solid;transition:transform .3s}.menu-toggle:hover i{transform:rotate(-15deg)}.header.scrolled{position:fixed;height:78px;background:#f1f0f5ee;backdrop-filter:blur(15px);border-bottom:1px solid var(--rule);animation:header-down .35s both}.header.scrolled .logo{width:100px}@keyframes header-down{from{transform:translateY(-100%)}to{transform:translateY(0)}}
.hero{padding:145px 6.5vw 30px;min-height:100svh;position:relative;overflow:hidden}.hero-meta{display:flex;justify-content:space-between;font:700 10px/1.5 var(--sans);letter-spacing:.07em;border-top:1px solid var(--rule);padding-top:13px}.make-it{font:700 clamp(15px,1.7vw,26px)/1 var(--sans);letter-spacing:-.03em;margin:42px 0 0 5px}.kinetic-word{display:grid;grid-template-columns:28% 28% 22% 20% 2%;align-items:center;position:relative;height:clamp(260px,29vw,490px);margin:-12px 0 0 -5px;font:700 clamp(280px,30vw,510px)/.8 var(--sans);letter-spacing:-.09em;isolation:isolate}.letter{height:100%;min-width:0;display:flex;align-items:center;position:relative;transform-origin:center}.letter>span:not(.orbit-label){display:block;will-change:transform}.letter-o{z-index:2;letter-spacing:0}.letter-v{transform:translateX(-2%)}.letter-e{transform:translateX(-3%)}.letter-dot{color:var(--accent);transform:translate(-50%,9%)}#motion-object{position:absolute;inset:auto;left:50%;top:50%;width:1.01em;height:1.01em;transform:translate(-50%,-50%);touch-action:pan-y;cursor:grab}#motion-object:active{cursor:grabbing}#motion-object canvas{width:100%;height:100%;display:block;outline:0}.fallback-o{display:grid;place-items:center;height:100%;color:var(--accent);font:700 clamp(260px,29vw,490px)/1 var(--sans)}.orbit-label{position:absolute;bottom:-6px;width:100%;text-align:center;pointer-events:none;font:700 9px/1 var(--sans);letter-spacing:.08em;z-index:3;color:var(--purple)}.hero-caption{display:flex;align-items:center;justify-content:space-between;gap:50px;margin-top:26px}.hero-message{padding:0 4vw 0 0}.hero-message h1{font:500 clamp(24px,2.4vw,39px)/1.5 var(--serif);letter-spacing:.08em}.hero-message p{font-size:12px;margin-top:12px;letter-spacing:.04em}.reel-teaser{display:flex;align-items:center;gap:18px}.reel-teaser button{width:175px;aspect-ratio:1.65;position:relative;overflow:hidden;padding:0;background:var(--ink)}.reel-teaser video{width:100%;height:100%;object-fit:cover;filter:grayscale(1);transition:filter .5s,transform .6s}.reel-teaser button:hover video{transform:scale(1.1);filter:none}.play-arrow{position:absolute;inset:0;display:grid;place-items:center;color:white;font-size:18px;text-shadow:0 1px 10px #000}.reel-teaser>div{display:flex;flex-direction:column;gap:7px;font-family:var(--sans)}.reel-teaser>div>span{font-size:9px;letter-spacing:.08em}.reel-teaser b{font-size:12px}.reel-teaser small{font-size:9px;color:#5d5963}.hero-foot{display:flex;align-items:center;justify-content:space-between;gap:45px;margin-top:48px}.scroll-cue{font:700 9px/1 var(--sans);letter-spacing:.07em;display:flex;align-items:center;gap:16px;white-space:nowrap}.scroll-cue span{font-size:24px;animation:nudge 2s infinite}@keyframes nudge{0%,100%{transform:translateY(-4px)}50%{transform:translateY(4px)}}.news-ticker{display:flex;align-items:center;gap:20px;padding:17px 25px;border-radius:35px;background:var(--ink);color:#fff;font-size:11px;width:min(630px,68%)}.news-ticker>span,.news-ticker time{font:700 10px/1 var(--sans)}.news-ticker>span{color:var(--lilac);padding-right:18px;border-right:1px solid #ffffff55}.news-ticker b{font-weight:400;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.news-ticker i{font-size:20px;margin-left:auto}.side-label{position:absolute;left:21px;bottom:33px;writing-mode:vertical-rl;transform:rotate(180deg);font:700 9px/1 var(--sans);letter-spacing:.04em}
.perspective{padding-bottom:0;overflow:hidden;position:relative;border-top:1px solid var(--rule)}.perspective-grid{display:grid;grid-template-columns:1fr 1.4fr;gap:6vw;max-width:1350px;margin:auto}.perspective-art{position:relative;display:flex;flex-direction:column;align-items:center;padding-top:20px}.perspective-art svg{width:90%;max-width:360px;height:470px;overflow:visible}.shape-route{stroke:var(--accent);stroke-width:.8;fill:none;stroke-dasharray:4 7;opacity:.5}.shape-one{fill:var(--purple)}.shape-two{fill:var(--accent)}.shape-three{fill:var(--lilac)}.perspective-art>span{font:700 12px/1.4 var(--sans);letter-spacing:-.02em;position:absolute;bottom:25px;left:10%}.perspective-copy h2,.about-copy h2{font:500 clamp(38px,4.3vw,66px)/1.6 var(--serif);letter-spacing:.04em}.perspective-copy .lead{font-size:20px;font-weight:500;line-height:2;margin:38px 0 30px}.lead em{border-bottom:2px solid var(--accent);padding-bottom:6px}.perspective-copy>p:not(.lead){line-height:2.3;margin-bottom:25px}.text-link{display:inline-flex;align-items:center;justify-content:space-between;gap:60px;border-bottom:1px solid currentColor;padding:14px 0;min-width:225px;font-size:13px;transition:color .3s}.text-link>span{font:400 25px/1 var(--sans);transition:transform .3s}.text-link:hover{color:var(--accent)}.text-link:hover>span{transform:translate(3px,-3px)}.outline-runner{width:100%;margin-top:85px;line-height:1;font-family:var(--sans);font-size:clamp(90px,15vw,230px);font-weight:700;letter-spacing:-.06em;color:transparent;-webkit-text-stroke:1px #c3b9cd;white-space:nowrap;user-select:none}.outline-runner>span{display:inline-block;transform:translateX(-40px)}
.services{background:#e8e2ed;overflow:clip;position:relative}.service-intro{padding-bottom:45px}.service-intro .section-label{margin-bottom:65px}.service-intro .display-heading{display:flex;align-items:center;justify-content:space-between}.asterisk{font-size:.78em;color:var(--accent);line-height:1;display:inline-block}.service-intro>p{margin:35px 0 0 42%;font-size:15px;line-height:2}.service-stage{position:relative;overflow:hidden;padding-bottom:50px}.service-track{display:flex;flex-direction:column}.service-stage.is-horizontal .service-track{flex-direction:row;width:200%}.primary-service{display:grid;grid-template-columns:1fr 1.15fr;align-items:center;gap:7vw;width:100%;padding:40px 6.5vw 75px;min-height:650px}.service-stage.is-horizontal .primary-service{width:50%;flex-shrink:0;min-height:min(700px,calc(100svh - 140px));padding-top:35px;padding-bottom:65px}.service-number{display:block;font:700 53px/1 var(--sans);letter-spacing:-.06em;margin-bottom:25px}.service-number small{font-size:14px;letter-spacing:0;font-weight:400;margin-left:18px;color:#66616b}.service-copy h3{font:700 clamp(70px,8vw,132px)/.9 var(--sans);letter-spacing:-.07em}.service-copy h3>span{display:inline-block;font:500 12px/1.5 var(--jp);letter-spacing:0;vertical-align:middle;margin-left:25px}.service-copy .service-lead{font:500 clamp(23px,2.5vw,38px)/1.6 var(--serif);margin:35px 0 24px}.service-copy>p:not(.service-lead){font-size:13px;line-height:2.1}.round-link{display:inline-flex;align-items:center;justify-content:space-between;min-width:280px;gap:45px;border:1px solid currentColor;padding:16px 17px 16px 25px;border-radius:40px;font-size:13px;margin-top:32px;transition:background .3s,color .3s}.round-link>span{background:var(--purple);color:#fff;width:30px;height:30px;display:grid;place-items:center;border-radius:50%;font-size:22px;line-height:1;transition:transform .3s}.round-link:hover{background:var(--purple);color:#fff}.round-link:hover>span{background:var(--lilac);color:var(--purple);transform:rotate(45deg)}.service-visual{aspect-ratio:1.15;position:relative;min-width:0}.film-visual{background:var(--ink);border-radius:50% 50% 2px 2px;overflow:hidden;transform:rotate(3deg)}.film-visual video{width:100%;height:100%;object-fit:cover;filter:grayscale(.45)}.film-edges{position:absolute;inset:0;pointer-events:none;border:16px solid #0000005c}.visual-note{position:absolute;left:24px;bottom:24px;font:700 9px/1.5 var(--sans);letter-spacing:.05em;color:white}.play-small{position:absolute;right:18px;top:50%;background:var(--lilac);color:var(--purple);border-radius:50%;width:105px;height:105px;font:700 11px/1 var(--sans);transform:translateY(-50%);transition:scale .3s}.play-small:hover{scale:1.1}.web-visual{display:flex;align-items:center;justify-content:center;background:#d5c5e2;border-radius:50%;transform:rotate(-4deg)}.web-visual .visual-note{left:0;right:0;text-align:center;bottom:16px;color:var(--purple)}.browser-shape{background:var(--paper);border:1px solid var(--purple);width:100%;transform:translateX(-1%) rotate(10deg);box-shadow:12px 14px 0 var(--purple)}.browser-head{padding:15px;display:flex;align-items:center;gap:5px;border-bottom:1px solid var(--purple)}.browser-head i{width:4px;height:4px;border-radius:50%;background:var(--purple)}.browser-head span{font:700 7px/1 var(--sans);margin-left:auto}.browser-content{display:grid;grid-template-columns:1fr 1fr;align-items:center;padding:32px 23px;gap:12px}.browser-content>span{font:700 clamp(35px,4.5vw,76px)/.85 var(--sans);letter-spacing:-.07em;color:var(--purple)}.browser-content img{width:100%;aspect-ratio:1;object-fit:cover;border-radius:50%}.browser-bottom{padding:0 24px 20px;display:flex;gap:10px}.browser-bottom i{height:4px;background:#c8c1cf;width:33%}.floating-play{font:700 70px/1 var(--sans);color:var(--accent);position:absolute;bottom:12%;right:-4%;transform:rotate(12deg)}.service-progress{position:absolute;bottom:10px;left:6.5vw;right:6.5vw;display:none;align-items:center;gap:18px;font:700 10px/1 var(--sans)}.is-horizontal .service-progress{display:flex}.service-progress>div{height:1px;background:#bdb0c6;flex:1;position:relative}.service-progress i{position:absolute;height:3px;top:-1px;background:var(--purple);width:100%;transform:scaleX(0);transform-origin:left}.secondary-services{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));padding-top:70px;padding-bottom:100px;gap:0}.secondary-services>a{padding:0 34px;position:relative;border-left:1px solid #bdb0c6;transition:color .3s}.secondary-services>a:first-child{padding-left:0;border:0}.secondary-services>a:last-child{padding-right:0}.small-number{font:700 12px/1 var(--sans)}.small-shape{width:62px;height:62px;margin:30px 0 35px;transition:transform .5s}.photo-shape{border:15px solid var(--purple);border-radius:50%}.design-shape{background:var(--accent);transform:rotate(15deg)}.sns-shape{background:var(--purple);border-radius:30px 30px 30px 0;position:relative}.sns-shape:after{content:"•••";color:var(--lilac);font:700 32px/1 var(--sans);position:absolute;top:7px;left:13px;letter-spacing:-3px}.secondary-services h3{font:700 clamp(27px,3.5vw,58px)/1 var(--sans);letter-spacing:-.06em;display:flex;justify-content:space-between}.secondary-services h3 i{font-size:.65em;font-weight:400}.secondary-services b{font-weight:500;font-size:12px;margin-top:13px;display:block}.secondary-services p{font-size:12px;line-height:2;margin-top:20px}.secondary-services>a:hover{color:var(--accent)}.secondary-services>a:hover .small-shape{transform:rotate(100deg)}
.works{background:var(--paper)}.works-head{display:flex;align-items:flex-end;justify-content:space-between;gap:30px}.works-head .display-heading{font-size:clamp(80px,12vw,190px)}.works-head h2 span{color:var(--accent)}.works-head p{font-size:13px;line-height:2.2;margin-bottom:10px}.works-stage{display:grid;grid-template-columns:1.1fr 1fr;gap:5vw;margin-top:85px;align-items:center}.work-preview{aspect-ratio:1.1;position:relative;overflow:hidden;background:var(--purple);clip-path:polygon(0 0,100% 0,100% 88%,88% 100%,0 100%)}.work-preview img{width:100%;height:100%;object-fit:cover;transition:opacity .25s,scale .7s}.work-preview span{position:absolute;bottom:25px;left:25px;color:white;font:700 10px/1 var(--sans);text-shadow:1px 1px 8px #000}.work-row{display:flex;align-items:center;gap:25px;background:none;text-align:left;border-bottom:1px solid var(--rule);width:100%;padding:28px 0;transition:padding .4s,color .3s}.work-row:first-child{border-top:1px solid var(--rule)}.work-row small{font:700 11px/1 var(--sans);align-self:flex-start;margin-top:8px}.work-row h3{font:700 clamp(18px,2vw,33px)/1.1 var(--sans);letter-spacing:-.05em}.work-row p{font-size:11px;margin-top:10px}.work-row i{font:400 28px/1 var(--sans);margin-left:auto}.work-row.active,.work-row:hover{color:var(--accent);padding-left:14px}.work-row:focus-visible{outline-offset:-3px}
.purpose{background:#111013;color:#fff;position:relative;overflow:hidden}.purpose>*:not(canvas){position:relative;z-index:1}.purpose canvas{position:absolute;right:0;top:0;width:100%;height:100%;opacity:.6;pointer-events:none}.purpose h2{font:500 clamp(38px,4.8vw,76px)/1.6 var(--serif);letter-spacing:.04em}.purpose h2 em{color:var(--lilac)}.purpose-description{font-size:13px;line-height:2.2;margin:30px 0 70px;color:#d8d4de}.purpose-links{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid #ffffff40;border-bottom:1px solid #ffffff40}.purpose-links>a{padding:40px 40px 40px 0;display:flex;justify-content:space-between;align-items:center}.purpose-links>a+a{border-left:1px solid #ffffff40;padding-left:40px;padding-right:0}.purpose-links small{font:700 12px/1 var(--sans);letter-spacing:.06em;color:var(--lilac)}.purpose-links h3{font:500 clamp(24px,2.7vw,43px)/1.4 var(--serif);margin:25px 0 20px}.purpose-links p{font-size:12px;color:#d8d4de}.purpose-links>a>span{font:400 55px/1 var(--sans);color:var(--lilac);transition:transform .4s}.purpose-links>a:hover>span{transform:translate(10px,-10px)}
.about-grid{display:grid;grid-template-columns:1.05fr 1fr;gap:10vw;align-items:center}.about-copy{position:relative}.about-eyebrow{font:700 clamp(40px,5.5vw,90px)/.9 var(--sans);letter-spacing:-.065em;display:block;color:var(--accent);margin-bottom:40px}.about-copy h2{font-size:clamp(34px,3.5vw,55px);margin-bottom:30px}.about-copy>p{font-size:13px;line-height:2.2;margin-bottom:25px}.signature{display:flex;align-items:baseline;flex-wrap:wrap;gap:10px 16px;margin:33px 0 20px}.signature small{width:100%;font-size:11px}.signature strong{font:500 25px/1.5 var(--serif);letter-spacing:.1em}.signature>span{font:700 10px/1 var(--sans)}.portrait{position:relative;margin-top:20px;aspect-ratio:.65}.portrait>img{width:100%;height:100%;object-fit:cover;object-position:48% 43%;clip-path:polygon(12% 0,100% 0,100% 88%,88% 100%,0 100%,0 12%)}.portrait-note{position:absolute;bottom:32px;left:30px;color:white;font:700 clamp(28px,3.4vw,56px)/.9 var(--sans);letter-spacing:-.06em}.portrait-orbit{position:absolute;top:-25px;right:-30px;width:100px;height:100px;background:var(--purple);color:var(--lilac);font:200 85px/100px var(--sans);border-radius:50%;text-align:center}
.activities{border-top:1px solid var(--rule);background:#e6dfeb}.activity-links{display:grid;grid-template-columns:1fr 1fr;gap:7vw}.activity-links>a{position:relative;padding-top:20px}.activity-icon{font:400 95px/1 var(--sans);color:var(--accent);display:block;margin-bottom:40px;transition:transform .5s;transform-origin:left}.activity-links a:hover .activity-icon{transform:translate(12px,-10px) rotate(15deg)}.activity-links small{font:700 11px/1 var(--sans);display:block;margin-bottom:15px}.activity-links h2{font:700 clamp(22px,3vw,46px)/1 var(--sans);letter-spacing:-.045em}.activity-links p{font-size:12px;line-height:2.2;margin:25px 0 30px}.activity-cta{display:block;border-bottom:1px solid var(--rule);padding-bottom:20px;font-size:12px}
.journal-grid{display:grid;grid-template-columns:1fr 1.35fr;gap:9vw}.journal .display-heading{font-size:clamp(60px,9vw,145px);display:flex;flex-direction:column;gap:40px}.journal .display-heading span{color:var(--accent);font-weight:400;font-size:1.1em}.news-row{border-top:1px solid var(--rule);padding:27px 40px 30px 0;position:relative;display:block}.news-row>div{display:flex;gap:25px;font-size:10px}.news-row time{font-family:var(--sans);font-weight:700}.news-row h3{font-size:13px;font-weight:500;margin-top:15px;line-height:1.8}.news-row i{position:absolute;top:50%;right:0;font-size:23px;transition:transform .3s}.news-row:hover i{transform:translate(3px,-3px)}.journal .text-link{margin-top:15px;float:right}
.contact{background:var(--purple);color:#fff;overflow:hidden}.contact .section-label{margin-bottom:70px}.contact-main{display:flex;align-items:center;justify-content:space-between;gap:5vw}.contact-main h2{font:700 clamp(90px,18vw,290px)/.8 var(--sans);letter-spacing:-.075em}.contact-main h2>span{color:var(--lilac)}.contact-arrow{width:24vw;height:24vw;stroke:var(--lilac);stroke-width:3;fill:none;transition:transform .6s}.contact-main:hover .contact-arrow{transform:translate(20px,-20px)}.contact-foot{display:flex;justify-content:space-between;align-items:flex-end;gap:50px;margin-top:70px}.contact-foot p{font-size:14px;line-height:2.2}.contact-foot>div{display:flex;flex-direction:column;gap:7px;min-width:300px}.contact .round-link{margin:0}.contact .round-link>span{background:var(--lilac);color:var(--purple)}.contact .round-link:hover{background:var(--lilac);color:var(--purple)}.contact .text-link{min-width:280px;justify-content:space-between;color:#fff}.footer{padding-top:60px;padding-bottom:40px}.footer-top{display:flex;align-items:center;gap:6vw}.footer-top p{font-size:11px;line-height:2}.top-link{margin-left:auto;font:700 10px/1 var(--sans)}.footer-nav{display:flex;gap:30px;flex-wrap:wrap;font-size:11px;margin:40px 0;padding:25px 0;border-block:1px solid var(--rule)}.footer-bottom{display:flex;justify-content:space-between;font:700 9px/1.5 var(--sans);letter-spacing:.03em;gap:20px}.footer-bottom>div{display:flex;gap:25px}
.motion-toggle{position:fixed;left:15px;bottom:15px;z-index:25;background:#f1f0f5e6;border:1px solid #b5a7be;backdrop-filter:blur(8px);border-radius:20px;padding:9px 12px;font:700 9px/1 var(--sans);letter-spacing:.03em}.cursor{position:fixed;top:0;left:0;width:50px;height:50px;background:rgba(145,98,168,.65);border-radius:50%;pointer-events:none;z-index:80;display:none;align-items:center;justify-content:center;color:#fff;font:700 10px/1 var(--sans);text-align:center;transition:width .25s,height .25s,opacity .25s,background .25s}.cursor.active{width:82px;height:82px;background:rgba(44,30,70,.78)}.cursor.hidden{opacity:0}@media(pointer:fine){.cursor{display:flex}}dialog{border:0;padding:0;background:var(--paper);color:var(--ink);max-width:calc(100% - 40px);max-height:90svh}dialog::backdrop{background:#14101ccf;backdrop-filter:blur(12px)}.dialog-close{position:absolute;top:22px;right:25px;background:transparent;font:700 12px/1 var(--sans);padding:13px;z-index:2}.dialog-close:hover{color:var(--accent)}#menu-dialog{width:900px;padding:60px 6vw 45px}#menu-dialog .menu-note{font:700 10px/1 var(--sans);color:var(--accent)}#menu-dialog nav{display:flex;flex-direction:column;margin-top:45px}#menu-dialog nav a{font:700 clamp(28px,4vw,52px)/1.15 var(--sans);letter-spacing:-.05em;border-bottom:1px solid var(--rule);padding:11px 0;display:flex;align-items:center;justify-content:space-between;gap:20px}#menu-dialog nav a:hover{color:var(--accent)}#menu-dialog nav small{font:400 12px/1.5 var(--jp);letter-spacing:0}.comparison{display:flex;align-items:center;gap:20px;font:700 13px/1 var(--sans);margin-top:30px}.comparison>span:first-child{font-size:9px;margin-right:auto;color:#6c6274}.comparison a,.comparison [aria-current]{border:1px solid var(--rule);border-radius:50%;width:32px;height:32px;display:grid;place-items:center}.comparison [aria-current]{background:var(--purple);color:#fff}#reel-dialog{width:1100px;padding:65px 24px 16px;background:#111013;color:#fff}#reel-dialog video{width:100%;max-height:70svh;background:#000}#reel-dialog>p{font:700 10px/1.6 var(--sans);margin-top:16px}
.motion-off{scroll-behavior:auto!important}.motion-off .cursor{display:none}.motion-off *, .motion-off *:before,.motion-off *:after{animation:none!important;transition:none!important}.motion-off .loader{display:none}
@media(min-width:1700px){.hero{padding-inline:max(6.5vw,calc((100vw - 1500px)/2));min-height:960px}.kinetic-word{font-size:510px;height:490px}.hero-meta{font-size:12px}}
@media(max-width:1100px){.header{gap:24px}.header nav{gap:20px}.header-contact{padding-left:20px}.hero{padding-top:140px}.hero-message{padding-right:0}.hero-message h1{font-size:25px}.hero-message p{font-size:11px}.reel-teaser button{width:140px}.reel-teaser>div{gap:5px}.reel-teaser b{font-size:10px}.hero-caption{gap:25px}.hero-foot{gap:24px}.news-ticker{gap:14px;padding-inline:20px}.section{padding-top:90px;padding-bottom:90px}.perspective{padding-bottom:0}.perspective-grid{grid-template-columns:.75fr 1.3fr;gap:5vw}.perspective-art svg{height:400px}.perspective-copy .lead{font-size:17px}.perspective-copy>p:not(.lead){font-size:13px}.primary-service{gap:5vw;min-height:610px;padding-block:40px}.service-copy .service-lead{font-size:27px}.service-copy h3>span{display:block;margin:12px 0 0}.service-copy>p:not(.service-lead) br{display:none}.service-copy>p:not(.service-lead){max-width:300px}.service-number{font-size:42px}.round-link{min-width:245px}.secondary-services>a{padding-inline:24px}.works-head{align-items:flex-start}.works-head>div{padding-top:15px;max-width:35%}.works-stage{gap:35px}.work-row{gap:15px;padding-block:23px}.work-row h3{font-size:20px}.portrait-orbit{width:75px;height:75px;line-height:75px;font-size:62px;right:-20px}.about-grid{gap:8vw}.journal-grid{gap:6vw}}
@media(max-width:800px){.section{padding:75px 6vw}.section-label{margin-bottom:45px;font-size:10px;gap:20px;align-items:flex-start}.header{height:90px;padding-inline:6vw;gap:24px}.header nav{display:none}.header-contact{margin-left:auto;border:0;padding:0;font-size:10px;gap:10px}.logo{width:110px}.menu-toggle{font-size:10px;gap:9px}.hero{padding:125px 6vw 28px;min-height:auto}.hero-meta{font-size:8px}.hero-meta>span:last-child{display:none}.make-it{margin-top:50px;font-size:17px}.kinetic-word{font-size:30vw;height:30vw;min-height:0;margin-top:8px}.fallback-o{font-size:30vw}.orbit-label{font-size:7px;bottom:-10px}.hero-caption{margin-top:50px;gap:30px;align-items:flex-start}.hero-message h1{font-size:23px;letter-spacing:0}.hero-message p{font-size:10px}.reel-teaser{display:block}.reel-teaser button{width:145px}.reel-teaser>div{margin-top:13px;gap:5px}.reel-teaser>div>span{display:none}.hero-foot{margin-top:35px}.news-ticker{width:68%;font-size:10px;gap:10px;padding:16px}.news-ticker>span{font-size:8px;padding-right:10px}.news-ticker time{display:none}.side-label{display:none}.perspective-grid{grid-template-columns:.7fr 1.5fr;gap:4vw}.perspective-art svg{height:360px}.perspective-art>span{bottom:20%;font-size:9px}.perspective-copy h2{font-size:34px}.perspective-copy .lead{font-size:16px}.perspective-copy p br{display:none}.perspective-copy h2 br,.perspective-copy .lead br{display:block}.outline-runner{font-size:110px;margin-top:50px}.perspective{padding-bottom:0}.display-heading{font-size:12.5vw}.service-intro{padding-bottom:40px}.service-intro>p{margin-left:25%;font-size:13px}.primary-service{padding-inline:6vw;gap:6vw;min-height:570px}.service-number{font-size:34px;margin-bottom:20px}.service-copy h3{font-size:65px}.service-copy .service-lead{font-size:23px;margin-top:25px}.service-copy>p:not(.service-lead){font-size:12px}.round-link{min-width:215px;gap:20px;padding:12px 12px 12px 20px;font-size:12px}.film-edges{border-width:9px}.visual-note{font-size:7px;left:15px;bottom:15px}.play-small{width:75px;height:75px;font-size:9px}.browser-content{padding:22px 15px}.browser-content>span{font-size:32px}.floating-play{font-size:50px}.browser-head{padding:10px}.browser-head span{font-size:6px}.secondary-services{padding-top:40px;gap:0}.secondary-services>a{padding-inline:18px}.secondary-services h3{font-size:27px}.secondary-services p{font-size:10px}.small-shape{width:48px;height:48px;margin-block:25px}.photo-shape{border-width:12px}.sns-shape:after{font-size:25px;top:7px;left:9px}.secondary-services b{font-size:11px}.works-head .display-heading{font-size:12.5vw}.works-head>div{padding-top:0;max-width:40%}.works-head p{font-size:11px}.works-head .text-link{min-width:0;width:100%;font-size:11px;gap:15px}.works-stage{grid-template-columns:1fr;gap:30px;margin-top:55px}.work-preview{aspect-ratio:1.8}.work-row h3{font-size:28px}.work-row{padding:25px 0}.purpose h2{font-size:38px}.purpose-description{font-size:12px;margin-bottom:45px}.purpose-links>a{padding:30px 20px 30px 0}.purpose-links>a+a{padding-left:25px}.purpose-links h3{font-size:25px;margin-block:20px 15px}.purpose-links p{font-size:10px}.purpose-links>a>span{font-size:35px}.purpose-links small{font-size:10px}.about-grid{gap:7vw}.about-eyebrow{font-size:45px;margin-bottom:28px}.about-copy h2{font-size:30px}.about-copy>p{font-size:11px}.about-copy>p br{display:none}.signature>span{font-size:8px}.signature strong{font-size:23px}.portrait{aspect-ratio:.59}.portrait-note{left:20px;bottom:20px;font-size:30px}.portrait-orbit{width:60px;height:60px;font-size:50px;line-height:60px;right:-10px}.activity-links{gap:6vw}.activity-links h2{font-size:26px;line-height:1.1}.activity-links p{font-size:11px}.activity-icon{font-size:65px;margin-bottom:30px}.journal-grid{grid-template-columns:1fr 1.5fr;gap:40px}.journal .display-heading{font-size:9vw}.news-row h3{font-size:12px}.contact-main h2{font-size:20vw}.contact-foot{gap:25px;margin-top:45px}.contact-foot p{font-size:12px}.contact-foot>div{min-width:240px}.contact .text-link{min-width:0;font-size:12px}.footer{padding-top:45px;padding-bottom:35px}.footer-top{gap:30px}.footer-top p{font-size:10px}.footer .logo{width:100px}.top-link{font-size:9px}.footer-nav{gap:15px 25px;font-size:10px}.footer-bottom{font-size:8px}.footer-bottom>div{gap:18px}}
@media(max-width:540px){.section{padding:65px 6vw}.header{height:90px;padding-block:15px;gap:20px}.logo{width:105px}.header-contact{font-size:9px;gap:7px}.header-contact>span{font-size:22px}.menu-toggle{padding-left:0}.menu-toggle>span{display:none}.menu-toggle i{width:24px;height:10px}.hero{padding-top:120px;min-height:760px}.hero-meta{font-size:7px;letter-spacing:.05em}.make-it{margin-top:63px;font-size:17px}.kinetic-word{margin-top:12px;height:31vw;font-size:31vw;grid-template-columns:28% 28% 22% 20% 2%}.orbit-label{bottom:-22px;font-size:7px;white-space:nowrap}.hero-caption{margin-top:70px;flex-direction:column-reverse;gap:35px}.hero-message h1{font-size:27px;letter-spacing:.03em}.hero-message p{font-size:11px;margin-top:10px}.reel-teaser{display:flex;gap:20px}.reel-teaser button{width:139px}.reel-teaser>div{margin:0;gap:8px}.reel-teaser>div>span{display:block;font-size:8px}.reel-teaser b{font-size:10px}.reel-teaser small{font-size:8px}.hero-foot{flex-direction:column;align-items:stretch;gap:26px;margin-top:35px}.scroll-cue{font-size:8px;gap:12px}.scroll-cue span{font-size:20px}.news-ticker{width:100%;padding:13px 16px;font-size:9px;gap:9px}.news-ticker i{font-size:17px}.section-label{font-size:8px;gap:12px;letter-spacing:0;margin-bottom:40px}.section-label>b{font-size:9px}.perspective{padding-bottom:0}.perspective-grid{display:flex;flex-direction:column;gap:30px}.perspective-art{height:160px;padding:0;display:block}.perspective-art svg{position:absolute;width:145px;height:200px;right:10px;top:-20px;transform:rotate(-65deg)}.perspective-art>span{bottom:30px;left:0;font-size:11px}.perspective-copy h2{font-size:39px;line-height:1.6}.perspective-copy .lead{font-size:16px;margin:28px 0 25px}.perspective-copy>p:not(.lead){font-size:12px}.outline-runner{font-size:85px;margin-top:55px}.text-link{font-size:12px;min-width:230px}.display-heading{font-size:14.5vw}.service-intro{padding-bottom:20px}.service-intro .section-label{margin-bottom:40px}.service-intro .asterisk{font-size:.7em}.service-intro>p{margin:25px 0 0;font-size:12px}.primary-service{grid-template-columns:1fr;padding:35px 6vw 65px;gap:40px;min-height:0}.service-number{font-size:34px;margin-bottom:22px}.service-copy h3{font-size:82px;display:flex;align-items:center;gap:22px}.service-copy h3>span{margin:0;font-size:11px}.service-copy .service-lead{font-size:28px;margin-top:25px;line-height:1.5}.service-copy>p:not(.service-lead){max-width:100%;font-size:12px}.service-copy .round-link{min-width:250px;margin-top:25px}.service-visual{width:88%;margin-left:9%;aspect-ratio:1.15}.film-visual{transform:rotate(3deg)}.web-panel{border-top:1px solid #c4b6cd;padding-top:50px}.web-visual{width:85%;margin-inline:auto}.browser-content>span{font-size:40px}.browser-content{padding:24px 18px}.visual-note{font-size:7px}.play-small{width:85px;height:85px}.service-stage{padding-bottom:0}.secondary-services{grid-template-columns:1fr;padding-top:0;padding-bottom:60px}.secondary-services>a{display:grid;grid-template-columns:68px 1fr;column-gap:20px;position:relative;border-left:0;border-top:1px solid #bdb0c6;padding:32px 0!important}.secondary-services>a:first-child{border-top:1px solid #bdb0c6}.small-number{grid-column:1;grid-row:1;font-size:10px}.small-shape{grid-column:1;grid-row:2 / span 3;margin:18px 0 0;width:45px;height:45px}.secondary-services h3{grid-column:2;grid-row:1;font-size:34px;align-items:center}.secondary-services h3 i{font-size:25px}.secondary-services b{grid-column:2;font-size:11px;margin-top:10px}.secondary-services p{grid-column:2;font-size:11px;margin-top:10px}.works-head{display:block}.works-head .display-heading{font-size:22vw}.works-head>div{max-width:none;padding-top:30px}.works-head p{font-size:12px}.works-head .text-link{width:auto;min-width:250px;font-size:12px}.works-stage{margin-top:35px;gap:10px}.work-preview{aspect-ratio:1.35}.work-preview span{font-size:8px;bottom:20px;left:20px}.work-row{padding:23px 0;gap:17px}.work-row h3{font-size:23px}.work-row small{font-size:9px}.work-row p{font-size:10px}.work-row i{font-size:24px}.work-row.active{padding-left:10px}.purpose h2{font-size:32px;letter-spacing:0}.purpose-description{font-size:12px;margin-bottom:35px}.purpose-description br{display:none}.purpose-links{display:block}.purpose-links>a,.purpose-links>a+a{padding:30px 0;border-left:0}.purpose-links>a+a{border-top:1px solid #ffffff40}.purpose-links h3{font-size:29px;margin-block:20px 12px}.purpose-links p{font-size:11px}.purpose-links>a>span{font-size:42px}.about-grid{display:flex;flex-direction:column-reverse;gap:45px;align-items:stretch}.portrait{width:82%;align-self:flex-end;aspect-ratio:.78;margin:0}.portrait-note{font-size:34px}.portrait-orbit{top:-20px}.about-eyebrow{font-size:50px;margin-bottom:25px}.about-copy h2{font-size:37px}.about-copy>p{font-size:12px}.about-copy>p br{display:block}.signature{margin-top:27px}.activity-links{grid-template-columns:1fr;gap:40px}.activity-links>a{padding:0 0 0 65px}.activity-icon{position:absolute;top:0;left:0;font-size:45px;margin:0}.activity-links small{font-size:9px}.activity-links h2{font-size:25px}.activity-links p{font-size:11px;margin:20px 0}.activity-cta{font-size:11px}.journal-grid{grid-template-columns:1fr;gap:38px}.journal .display-heading{font-size:24vw;flex-direction:row;justify-content:space-between;gap:10px}.journal .display-heading span{font-size:.8em}.news-row{padding:23px 30px 25px 0}.news-row>div{font-size:9px}.news-row h3{font-size:12px;margin-top:12px}.journal .text-link{float:none;margin-top:10px}.contact .section-label{margin-bottom:55px}.contact-main{gap:3vw}.contact-main h2{font-size:23.5vw}.contact-arrow{width:20vw;height:20vw}.contact-foot{flex-direction:column;align-items:stretch;gap:35px;margin-top:42px}.contact-foot p{font-size:12px}.contact-foot>div{max-width:100%;gap:10px}.contact-foot .round-link{min-width:100%;padding:14px 16px 14px 25px}.contact .text-link{padding-block:15px}.footer{padding-top:40px;padding-bottom:60px}.footer-top{display:grid;grid-template-columns:100px 1fr;gap:25px 20px}.footer-top .logo{width:100px}.footer-top p{font-size:9px}.top-link{grid-column:2;font-size:8px;margin:0}.footer-nav{gap:16px 23px;font-size:10px;margin:30px 0}.footer-bottom{flex-direction:column;gap:16px;font-size:8px}.motion-toggle{font-size:8px;left:10px;bottom:10px;padding:8px 10px}#menu-dialog{padding:70px 24px 30px;max-width:calc(100% - 24px)}#menu-dialog nav{margin-top:27px}#menu-dialog nav a{font-size:33px;padding-block:14px}#menu-dialog nav small{font-size:10px}.dialog-close{top:16px;right:12px}.comparison{gap:12px;font-size:11px}.comparison>span:first-child{font-size:8px}#reel-dialog{max-width:calc(100% - 20px);padding:60px 10px 15px}#reel-dialog>p{font-size:8px}}
@media(max-width:360px){.hero{min-height:730px}.hero-message h1{font-size:24px}.header{gap:15px}.header .logo{width:90px}.hero-caption{margin-top:60px}.reel-teaser button{width:125px}.reel-teaser{gap:15px}.service-copy h3{font-size:70px;gap:18px}.service-copy .service-lead{font-size:25px}.perspective-copy h2{font-size:35px}.perspective-copy .lead{font-size:14px}.purpose h2{font-size:28px}.activity-links h2{font-size:22px}.work-row h3{font-size:20px}.section-label{font-size:7px}.section-label>b{font-size:8px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}.loader{display:none}.cursor{display:none}}

/* Keep the complete opening composition within a typical desktop viewport. */
@media(min-width:801px){
 .hero{height:100svh;min-height:760px;max-height:1100px;display:flex;flex-direction:column;padding-top:125px;padding-bottom:25px}
 .make-it{margin-top:24px}
 .kinetic-word{flex:1;min-height:235px;max-height:440px;height:auto;font-size:min(28vw,480px)}
 .letter>span:not(.orbit-label){scale:1 .83}
 .hero-caption{margin-top:22px}
 .hero-foot{margin-top:30px}
}

@media(min-width:1001px) and (min-height:640px){
 .service-pin.has-horizontal{height:calc(100svh + 95vw)}
 .has-horizontal .service-stage{position:sticky;top:78px;height:calc(100svh - 78px);padding-bottom:40px}
 .has-horizontal .service-track{height:100%}
 .has-horizontal .service-stage.is-horizontal .primary-service{height:100%;min-height:0;padding-top:20px;padding-bottom:45px}
 .has-horizontal .service-visual{max-height:calc(100svh - 200px)}
}

/* Film-first opening: retain MOVE and the interactive O, give the work its own stage. */
.hero-heading{display:flex;justify-content:space-between;align-items:center;gap:24px;margin-top:16px;position:relative;z-index:3}.hero-heading h1{font:500 clamp(26px,2.65vw,42px)/1.5 var(--serif);letter-spacing:.045em}.hero-heading h1 em{color:var(--purple)}.hero-heading>span{font:700 11px/1 var(--sans);letter-spacing:.07em;color:#6d6379}.hero-meta>span:last-child{font-family:var(--jp);font-size:10px;font-weight:500;letter-spacing:.05em}.hero-caption{display:grid;grid-template-columns:1.1fr 1fr;gap:4vw;align-items:center}.hero-showreel{display:block;width:100%;height:clamp(160px,15vw,230px);padding:0;position:relative;overflow:hidden;background:var(--ink);color:#fff;text-align:left;border-radius:2px}.hero-showreel:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,#0007,transparent 42%,#000a);pointer-events:none}.hero-showreel video{width:100%;height:100%;object-fit:cover;transition:transform .8s}.hero-showreel:hover video{transform:scale(1.045)}.reel-eyebrow{position:absolute;left:22px;top:17px;z-index:2;display:flex;align-items:center;gap:8px;font:700 8px/1.4 var(--sans);letter-spacing:.08em}.reel-eyebrow i{width:5px;height:5px;background:var(--lilac);border-radius:50%}.reel-play{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:48px;height:48px;display:grid;place-items:center;border:1px solid #fff9;border-radius:50%;font-size:12px;padding-left:2px;z-index:2;backdrop-filter:blur(3px);background:#0002;transition:background .2s,scale .2s}.hero-showreel:hover .reel-play{background:var(--purple);scale:1.08}.reel-caption{position:absolute;bottom:16px;left:22px;right:22px;display:flex;justify-content:space-between;align-items:center;z-index:2}.reel-caption b{font-size:12px;letter-spacing:.07em;font-weight:500}.reel-caption>span{font:500 9px/1 var(--sans);display:flex;gap:18px;align-items:center}.reel-caption i{font-size:20px}.viewfinder{position:absolute;z-index:2;width:10px;height:10px;border:solid #fff9}.viewfinder-tl{top:8px;left:8px;border-width:1px 0 0 1px}.viewfinder-br{bottom:8px;right:8px;border-width:0 1px 1px 0}.hero-message{padding:0}.hero-specialty{display:block;font-size:10px;letter-spacing:.045em;color:#6d6379}.hero-message h2{font:500 clamp(22px,2.1vw,32px)/1.6 var(--serif);letter-spacing:.045em;margin-top:8px}.hero-message p{font-size:11px;line-height:1.9;letter-spacing:.015em;margin-top:9px}.hero-actions{display:flex;gap:26px;align-items:center;margin-top:19px}.hero-actions a{display:flex;align-items:center;justify-content:space-between;gap:16px;border-bottom:1px solid var(--rule);padding-bottom:6px;font-size:11px;transition:color .2s}.hero-actions a:first-child{border-color:var(--purple);font-weight:600;color:var(--purple)}.hero-actions a:hover{color:var(--accent)}.hero-actions a>span{font-size:18px;line-height:1}.hero .news-ticker{padding-block:11px}.hero .scroll-cue span{font-size:18px}
@media(min-width:801px){.hero{height:100svh;min-height:770px;max-height:1100px;padding-top:115px;padding-bottom:22px}.hero-heading{flex-shrink:0;margin-top:13px}.hero-meta{flex-shrink:0}.kinetic-word{min-height:200px;max-height:400px;font-size:min(26vw,450px);margin-top:0}.hero-caption{flex-shrink:0;margin-top:18px}.hero-foot{margin-top:22px;flex-shrink:0}.orbit-label{bottom:2px;font-size:8px}}
@media(min-width:801px) and (max-height:800px){.hero{min-height:720px;padding-top:106px;padding-bottom:18px}.hero-heading{margin-top:10px}.hero-heading h1{font-size:30px}.kinetic-word{min-height:190px;font-size:25vw}.hero-showreel{height:165px}.hero-caption{margin-top:16px}.hero-foot{margin-top:18px}.hero-message h2{font-size:25px}.hero-specialty{font-size:9px}.hero-message p{font-size:10px}.hero-actions{margin-top:13px}}
@media(max-width:800px){.hero{min-height:0;max-height:none;height:auto;padding-top:114px}.hero-meta{font-size:9px}.hero-heading{margin-top:22px}.hero-heading h1{font-size:31px}.hero-heading>span{font-size:9px}.kinetic-word{margin-top:20px}.hero-caption{margin-top:40px;grid-template-columns:1fr 1fr;gap:26px}.hero-showreel{height:200px}.hero-message h2{font-size:23px}.hero-specialty{font-size:9px}.hero-message p{font-size:10px}.hero-message p br{display:none}.hero-actions{gap:15px;flex-wrap:wrap;margin-top:14px}.hero-actions a{font-size:10px}.hero-foot{margin-top:26px}}
@media(max-width:540px){.hero{padding-top:103px;padding-bottom:30px}.hero-meta{font-size:8px;letter-spacing:.03em;padding-top:12px}.hero-heading{margin-top:20px;align-items:flex-end}.hero-heading h1{font-size:29px;line-height:1.55;letter-spacing:.03em}.hero-heading h1 em{display:block}.hero-heading>span{font-size:8px;padding-bottom:8px}.kinetic-word{height:31vw;font-size:31vw;margin-top:12px}.orbit-label{bottom:-15px}.hero-caption{display:flex;flex-direction:column;align-items:stretch;gap:22px;margin-top:37px}.hero-showreel{height:auto;aspect-ratio:2.15}.hero-specialty{font-size:10px}.hero-message h2{font-size:24px;margin-top:5px}.hero-message p{font-size:11px;margin-top:8px}.hero-actions{flex-wrap:nowrap;justify-content:space-between;gap:20px;margin-top:17px}.hero-actions a{font-size:11px;flex:1;gap:10px}.reel-eyebrow{left:18px;top:14px;font-size:7px}.reel-caption{left:18px;right:18px;bottom:12px}.reel-caption b{font-size:11px}.reel-play{width:42px;height:42px;font-size:11px}.hero-foot{gap:20px;margin-top:28px}.hero .news-ticker{padding-block:12px}}
@media(max-width:360px){.hero-heading h1{font-size:26px}.hero-heading>span{font-size:7px}.hero-message h2{font-size:22px}.hero-actions{gap:15px}.hero-actions a{font-size:10px}.hero-caption{gap:18px}.hero-showreel{aspect-ratio:2}.hero-meta{font-size:7px}}
.kinetic-word{grid-template-rows:minmax(0,1fr)}.letter{min-height:0}.hero .news-ticker i{line-height:1}

/* Film-led hero: white type over the full-contrast montage. */
.hero{isolation:isolate;background:#111013;color:#fff}
.hero-background{position:absolute;inset:0;z-index:0;overflow:hidden;pointer-events:none;background:#111013 url('/wp-content/im-static/assets/hero.jpg') center/cover no-repeat}
.hero-background video{width:100%;height:100%;object-fit:cover}
.hero-background:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(10,8,15,.82) 0%,rgba(10,8,15,.7) 23%,rgba(10,8,15,.16) 36%,rgba(10,8,15,.16) 60%,rgba(10,8,15,.76) 81%,rgba(10,8,15,.87) 100%)}
.hero-meta,.hero-caption,.hero-foot{position:relative;z-index:2}.hero .kinetic-word,.hero .side-label{z-index:2}
.hero-reel-link{display:flex;align-items:center;gap:19px;padding:19px 25px;max-width:100%;width:max-content;background:rgba(241,240,245,.6);border:1px solid rgba(44,30,70,.3);border-radius:60px;backdrop-filter:blur(5px);text-align:left;transition:background .3s,border-color .3s}
.hero-reel-icon{display:grid;place-items:center;width:47px;height:47px;flex-shrink:0;border:1px solid var(--purple);color:var(--purple);border-radius:50%;font-size:12px;padding-left:3px;transition:background .3s,color .3s}
.hero-reel-label{display:flex;flex-direction:column;gap:7px}.hero-reel-label small{font:700 9px/1 var(--sans);letter-spacing:.08em}.hero-reel-label b{font-size:12px;font-weight:500;letter-spacing:.04em}.hero-reel-link>i{font-size:24px;line-height:1;margin-left:12px;color:var(--purple)}
.hero-reel-link:hover{background:var(--paper);border-color:var(--purple)}.hero-reel-link:hover .hero-reel-icon{background:var(--purple);color:#fff}
.hero .hero-specialty{color:#51475d}.hero .hero-heading>span{color:#51475d}
@media(min-width:801px){.hero-caption{min-height:152px}.kinetic-word{max-height:430px}}
@media(min-width:801px) and (max-height:800px){.hero-caption{min-height:142px}}
@media(max-width:800px){.hero-caption{min-height:0}.hero-reel-link{padding:16px 19px;gap:13px}.hero-reel-link>i{margin-left:5px}}
@media(max-width:540px){.hero-background:after{background:linear-gradient(180deg,rgba(10,8,15,.8) 0%,rgba(10,8,15,.72) 28%,rgba(10,8,15,.18) 38%,rgba(10,8,15,.18) 50%,rgba(10,8,15,.76) 67%,rgba(10,8,15,.88) 100%)}.hero-caption{gap:25px}.hero-reel-link{width:100%;padding:15px 22px;border-radius:50px;gap:17px}.hero-reel-link>i{margin-left:auto}.hero-reel-icon{width:43px;height:43px}.hero-reel-label b{font-size:11px}.hero-reel-label small{font-size:8px}}

/* Flat white type with contrast supplied by a soft backdrop, not its edges. */
.header:not(.scrolled){background:var(--paper)}
.kinetic-word .letter-m>span,.kinetic-word .letter-v>span,.kinetic-word .letter-e>span{color:#fff;-webkit-text-stroke:0;text-shadow:none}
.hero #motion-object canvas{filter:drop-shadow(0 5px 12px rgba(0,0,0,.42))}
.hero .hero-meta{border-color:rgba(255,255,255,.32)}.hero .hero-heading h1 em{color:#dfc6ef}.hero .hero-heading>span,.hero .hero-specialty{color:#e4dce9}.hero .hero-message h2,.hero .hero-heading h1{text-shadow:0 2px 10px rgba(0,0,0,.4)}
.hero .orbit-label{color:#fff;text-shadow:0 1px 4px #000,0 0 10px #000}.hero .letter-dot{color:#b58acb}
.hero-reel-link{background:rgba(18,13,25,.45);border-color:rgba(255,255,255,.6);color:#fff}.hero-reel-icon{border-color:rgba(255,255,255,.75);color:#fff}.hero-reel-link>i{color:#dfc6ef}.hero-reel-link:hover{background:var(--purple);border-color:#dfc6ef}.hero-reel-link:hover .hero-reel-icon{background:#dfc6ef;color:var(--purple)}
.hero-actions a,.hero-actions a:first-child{color:#fff;border-color:rgba(255,255,255,.6)}.hero-actions a:hover{color:#dfc6ef;border-color:#dfc6ef}.hero .news-ticker{background:rgba(12,10,16,.7);border:1px solid rgba(255,255,255,.22)}

.kinetic-word:before{content:"";position:absolute;inset:-18% -9vw;z-index:-1;pointer-events:none;background:linear-gradient(180deg,transparent 0%,rgba(12,8,20,.38) 27%,rgba(12,8,20,.38) 73%,transparent 100%);filter:blur(18px)}
@media(max-width:540px){.kinetic-word:before{inset:-35% -12vw;filter:blur(14px)}}

/* The 3D O follows the MOVE font size, independent of the hero height. */
@media(max-width:800px){#motion-object{width:1.17em;height:1.17em}}

/* Keep the first-view message focused on the idea and one next step. */
.hero-message h2{margin-top:0}.hero-actions{justify-content:flex-start;margin-top:20px}.hero-actions a{flex:0 0 auto;gap:32px}

/* Brand opening: halftone ink, a dotted O and staggered signal slices into the film. */
.loader{position:fixed;inset:0;z-index:110;display:none;background:radial-gradient(ellipse at 50% 48%,#251532 0%,#100c16 52%,#08070b 100%);color:#fff;overflow:hidden}
.intro-pending,.intro-pending body{overflow:hidden}.intro-pending .loader{display:block}.intro-pending .cursor{visibility:hidden}
.loader canvas{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}
.opening-logo{position:absolute;inset:0;display:grid;place-items:center;opacity:0;pointer-events:none;will-change:opacity,transform}
.opening-logo img{width:190px;height:auto;filter:brightness(0) invert(1)}
.opening-skip{position:absolute;right:4vw;bottom:32px;display:flex;align-items:center;gap:15px;padding:12px 0;background:transparent;color:#d6c4e3;font:500 10px/1 var(--sans);letter-spacing:.12em}
.opening-skip span{font-size:17px}.opening-skip:hover{color:#fff}.opening-skip:focus-visible{outline-color:#fff}
@media(max-width:540px){.opening-logo img{width:160px}.opening-skip{right:24px;bottom:24px}}
@media(prefers-reduced-motion:reduce){.intro-pending,.intro-pending body{overflow:visible}.intro-pending .loader{display:none}}

/* Enlarge the word optically; tighten cell spacing without clipping individual glyphs. */
.kinetic-word{grid-template-columns:27.5% 28% 21.5% 19% 4%}
@media(min-width:801px){.kinetic-word{font-size:min(28vw,486px)}}
@media(min-width:801px) and (max-height:800px){.kinetic-word{font-size:27vw}}
@media(max-width:800px){
 .kinetic-word{font-size:33vw;height:33vw;grid-template-columns:26% 29% 21% 19% 5%}
 .letter>span:not(.orbit-label){scale:.86 1;transform-origin:left center}
 #motion-object{width:1em;height:1em}
 .letter-dot{transform:translate(-10%,9%)}
}

/* A restrained film-title frame around the printed light. */
.loader:before{content:"";position:absolute;inset:0;pointer-events:none;background:repeating-linear-gradient(0deg,transparent 0 3px,#ffffff05 3px 4px);opacity:.32}
.opening-frame{position:absolute;inset:35px 4vw auto;display:flex;align-items:center;justify-content:space-between;gap:20px;color:#beafc9;font:500 9px/1.3 var(--sans);letter-spacing:.14em;pointer-events:none}
.opening-frame span:first-child{color:#eee6f2;font-weight:700}.opening-frame span:last-child:before{content:"";display:inline-block;width:4px;height:4px;border-radius:50%;background:#b58acb;margin-right:9px;vertical-align:middle}
.opening-bottom{position:absolute;left:4vw;bottom:48px;width:min(220px,45vw);pointer-events:none}
.opening-bottom>span{font:500 9px/1 var(--sans);letter-spacing:.13em;color:#b9a9c7}
.opening-meter{height:1px;margin-top:16px;background:#9162a830;overflow:hidden}
.opening-meter i{display:block;width:100%;height:100%;background:#c5a2d6;transform:scaleX(0);transform-origin:left}
@media(max-width:540px){.opening-frame{inset:27px 24px auto;font-size:7px;letter-spacing:.08em}.opening-bottom{left:24px;bottom:40px}.opening-bottom>span{font-size:8px}}

/* The final signal tear sits above the disappearing loader for less than one second. */
.opening-signal{position:fixed;inset:0;width:100%;height:100%;z-index:111;pointer-events:none;display:none}
.intro-pending .opening-signal{display:block}
@media(prefers-reduced-motion:reduce){.intro-pending .opening-signal{display:none}}

/* The original dot torus travels above the signal cut only during the handoff. */
.opening-bridge{position:fixed;inset:0;width:100%;height:100%;z-index:111;pointer-events:none;display:none}
.intro-pending .opening-bridge{display:block}
.opening-ring-linked .orbit-label{visibility:hidden}
@media(prefers-reduced-motion:reduce){.intro-pending .opening-bridge{display:none}}

/* Connect MOVE with the offer: video and web, from making to reaching people. */
.hero-heading h1>span,.hero-heading h1>em{display:inline-block}
.hero .hero-meta>span:last-child{font-size:12px;letter-spacing:.08em}
.hero-message{position:relative;isolation:isolate}
.hero-message:before{content:"";position:absolute;inset:-14px -24px;z-index:-1;pointer-events:none;background:linear-gradient(90deg,rgba(10,8,15,.68),rgba(10,8,15,.58) 85%,transparent);filter:blur(16px)}
.hero-message h2{font-size:clamp(23px,2.1vw,31px);letter-spacing:.025em}
.hero-message h2>span{display:inline-block}
.hero-message .hero-scope{font-size:13px;line-height:1.9;color:#e9e2ee;margin-top:8px;letter-spacing:0}
.hero-scope>span{display:block}
.hero-actions{margin-top:17px}
.hero .hero-actions a,.hero .hero-actions a:first-child{min-height:44px;padding:10px 20px;border:1px solid #dfc6ef;border-radius:999px;background:#dfc6ef;color:#2c1e46;font-size:12px;font-weight:600;gap:28px}
.hero .hero-actions a:hover{background:#f4eaf9;color:#2c1e46;border-color:#f4eaf9}
@media(min-width:801px){
 .hero-caption{grid-template-columns:1fr 1.15fr;gap:4vw;min-height:172px}
 .hero-message{justify-self:start}
}
@media(min-width:801px) and (max-height:800px){
 .hero-message h2{font-size:clamp(22px,2vw,28px)}
 .hero-message .hero-scope{font-size:12px;line-height:1.8}
 .hero-caption{min-height:157px}
 .hero-actions{margin-top:12px}
}
@media(max-width:800px){
 .hero-heading h1{font-size:clamp(26px,4vw,31px);line-height:1.6;letter-spacing:.025em}
 .hero-heading h1>em{display:block}
 .hero-message h2{font-size:clamp(20px,2.8vw,22px)}
 .hero-message .hero-scope{font-size:12px;line-height:1.85}
 .hero-actions{margin-top:16px}
}
@media(max-width:540px){
 .hero-caption{flex-direction:column-reverse;gap:24px}
 .hero-message h2{font-size:clamp(20px,6.1vw,26px);letter-spacing:.01em}
 .hero-message .hero-scope{font-size:12px;line-height:1.9;margin-top:9px}
 .hero-heading h1{font-size:clamp(23px,6.45vw,28px)}
 .hero .hero-actions a{font-size:12px;gap:32px}
}

/* Keep the consultation beside its explanation when there is room. */
.hero-message-details{display:flex;align-items:center;flex-wrap:wrap;gap:16px 30px;margin-top:10px}
.hero-message-details .hero-scope{flex:0 1 auto;margin:0}
.hero-message-details .hero-actions{flex:0 0 auto;margin:0 0 0 auto}
.hero-message-details .hero-actions a{white-space:nowrap}
@media(min-width:1000px){
 .hero-caption{grid-template-columns:minmax(230px,1fr) minmax(0,560px);gap:3vw}
 .hero-message{width:100%;max-width:560px;justify-self:end}
}
@media(max-width:540px){
 .hero-message-details{display:block;margin-top:9px}
 .hero-message-details .hero-scope{margin:0}
 .hero-message-details .hero-actions{margin-top:17px;justify-content:flex-end;width:100%}
 .hero-message-details .hero-actions a{flex:1 1 100%;width:100%}
}
/* A temporary, overscanned surface lets the O tear outside its normal silhouette. */
#motion-object canvas.ring-burst{position:absolute;left:-12%;top:-12%;width:124%;height:124%;pointer-events:none}
#motion-object canvas.ring-burst[hidden]{display:none}

/* The copy waits for the loading transition; its layout stays reserved throughout. */
.hero-copy-pending .hero-heading,.hero-copy-pending .hero-message{opacity:0;visibility:hidden}
@media(prefers-reduced-motion:reduce){.hero-copy-pending .hero-heading,.hero-copy-pending .hero-message{opacity:1;visibility:visible}}

/* Give the headline a little more space above the O. */
.kinetic-word{top:32px}
@media(max-width:800px){.kinetic-word{top:18px}}

/* Keep the wide showreel legible on portrait phones without stretching it to the hero height. */
@media(max-width:540px){
 .hero-background{background:#111013}
 .hero-background video{
  position:absolute;left:0;top:134px;width:100%;height:clamp(290px,82vw,390px);
  object-fit:cover;object-position:center;
  -webkit-mask-image:linear-gradient(180deg,transparent,#000 14%,#000 84%,transparent);
  mask-image:linear-gradient(180deg,transparent,#000 14%,#000 84%,transparent);
 }
 .hero-background:after{
  background:linear-gradient(180deg,rgba(10,8,15,.65) 0,rgba(10,8,15,.48) 215px,rgba(10,8,15,.1) 275px,rgba(10,8,15,.1) 390px,rgba(10,8,15,.65) 480px,rgba(10,8,15,.82) 100%);
 }
}

/* The message and NEWS share one grid so their left and right edges stay aligned. */
@media(min-width:541px){
 .hero-caption,.hero-foot{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);column-gap:4vw}
 .hero .hero-message{width:100%;min-width:0}
 .hero .news-ticker{grid-column:2;width:100%;min-width:0}
 .hero-foot .scroll-cue{justify-self:start}
}
@media(min-width:801px){
 .hero-caption,.hero-foot{grid-template-columns:minmax(0,1fr) minmax(0,1.15fr)}
}
@media(min-width:1000px){
 .hero-caption,.hero-foot{grid-template-columns:minmax(230px,1fr) minmax(0,560px);column-gap:3vw}
}

/* Proximity: group the caption/reel with NEWS in normal flow, not visual offsets.
   Alignment: retain their shared columns. Contrast: MOVE scales into the remaining space. */
@media(min-width:541px) and (max-width:800px){
 .hero-caption{margin-top:50px}
 .hero-foot{margin-top:16px}
 .kinetic-word{top:28px;font-size:34vw}
}
@media(min-width:801px){
 .hero{height:100svh;min-height:0;max-height:none}
 .hero-caption{min-height:0;margin-top:42px}
 .hero-foot{margin-top:24px}
 .kinetic-word{min-height:0;max-height:none;top:32px;font-size:min(29vw,503px)}
}
@media(min-width:801px) and (max-height:800px){
 .kinetic-word{font-size:28vw}
}
@media(min-width:801px) and (max-height:720px){
 .kinetic-word{top:24px;font-size:min(28vw,calc((100svh - 390px)*1.1));width:min(100%,3.12em);align-self:center;margin-left:0}
}
@media(min-width:801px) and (max-width:999px) and (max-height:720px){
 .kinetic-word{font-size:min(28vw,calc((100svh - 440px)*1.1))}
}

/* Repetition: one directional response for every arrow, with labels kept still. */
:where([data-arrow]){display:inline-block}
[data-arrow]{--arrow-x:1;--arrow-y:-1;--arrow-distance:clamp(5px,.18em,16px);translate:0 0;transition:translate .32s cubic-bezier(.22,1,.36,1)}
[data-arrow="se"]{--arrow-y:1}
[data-arrow="sw"]{--arrow-x:-1;--arrow-y:1}
[data-arrow="s"]{--arrow-x:0;--arrow-y:1}
[data-arrow="n"]{--arrow-x:0}
[data-arrow="ew"]{--arrow-y:0}
.inline-arrow{font:inherit;font-style:normal}
.contact-arrow[data-arrow]{--arrow-distance:18px}
.scroll-cue>[data-arrow]{animation:none}
.text-link:hover>[data-arrow],.round-link:hover>[data-arrow],.purpose-links>a:hover>[data-arrow],.activity-links a:hover .activity-icon[data-arrow],.news-row:hover [data-arrow],.contact-main:hover .contact-arrow{transform:none}
@media(hover:hover){
 :is(a,button,[data-arrow-trigger]):hover [data-arrow]{translate:calc(var(--arrow-x)*var(--arrow-distance)) calc(var(--arrow-y)*var(--arrow-distance))}
}
:is(a,button):focus-visible [data-arrow],.letter-o:focus-within [data-arrow]{translate:calc(var(--arrow-x)*var(--arrow-distance)) calc(var(--arrow-y)*var(--arrow-distance))}
.motion-off [data-arrow]{translate:0 0!important;animation:none!important;transition:none!important}
@media(prefers-reduced-motion:reduce){[data-arrow]{translate:0 0!important;animation:none!important;transition:none!important}}
