/* Leaner: continuous light, depth and native scroll-driven scenes. */
.hero-scroll{height:150svh;min-height:1095px;position:relative}
.hero-scroll .hero{position:sticky;top:0;height:100svh;max-height:none;min-height:730px;background:#0a0a0f;overflow:clip;transform:translateZ(0);isolation:isolate}
.hero-art,.studio-art{position:absolute;inset:0;width:100%;height:100%;z-index:0;animation:none;opacity:1;transform:none;pointer-events:none}
.hero-art canvas,.studio-art canvas{width:100%;height:100%;display:block}
.hero:before,.studio-stage:before{content:'';position:absolute;inset:0;z-index:1;pointer-events:none;background:linear-gradient(180deg,#0a0a0f50,transparent 30%,transparent 65%,#0a0a0f50)}
.hero-topline{font-size:9px;letter-spacing:.09em;z-index:3;color:#d2c9df}
.hero-title{z-index:3;left:var(--gutter);right:var(--gutter);top:34%;pointer-events:auto;animation:none;transform:translateY(calc(var(--hero-p,0) * -100px)) scale(calc(1 - var(--hero-p,0) * .07));opacity:calc(1 - var(--hero-p,0) * .75);transform-origin:50% 50%;will-change:transform,opacity}
.hero h1{font-size:clamp(83px,8.6vw,155px);line-height:1.035;font-weight:400;letter-spacing:-.068em;text-align:center}
.hero h1>span,.hero h1 .lens-human>span{display:block}
.hero .line-two{margin-left:12vw}
.hero h1 em{color:#f6f7fb}
.hero-description{bottom:120px;left:var(--gutter);z-index:3;animation:none;opacity:calc(1 - var(--hero-p,0) * .85)}
.hero-description p{font-size:12px;line-height:1.8;color:#e0d9e8;text-shadow:0 2px 25px #0a0a0f}
.hero-description .small-cross{font-size:24px;color:#d8c7fa}
.hero-bottom{z-index:3;bottom:30px}.hero-caption{font-size:8px;letter-spacing:.1em;margin-right:6%;color:#d4cddd}.motion-toggle{color:#cfc6dc}
.hero:after{display:none}
.intro{position:relative;background:#0a0a0f;z-index:3;padding-top:150px;padding-bottom:150px;min-height:80svh;align-items:center}
.intro h2{font-size:clamp(38px,4.6vw,75px);line-height:1.14;font-weight:400;letter-spacing:-.05em}
.read-word{display:inline-block;opacity:var(--word-opacity,.16);transition:opacity .18s linear;color:var(--text)}
.intro-bottom{margin-top:50px}.intro-bottom p{font-size:14px}.intro .tiny-brand{display:none!important}
.services-film{height:calc(100svh + 1250px);position:relative;background:#100c18;--film-p:0}
.film-stage{position:sticky;top:0;height:100svh;min-height:730px;overflow:clip;background:#100c18;color:#f6f7fb;transition:background 1s ease,color 1s ease;transform:translateZ(0);isolation:isolate}
.film-stage:before{content:'';position:absolute;inset:-30%;background:radial-gradient(ellipse at 65% 55%,#7c3aed24,transparent 48%),radial-gradient(ellipse at 85% 80%,#a78bfa14,transparent 36%);transform:translateX(calc(var(--film-p) * -12%));pointer-events:none;transition:opacity .7s}
.film-top{position:absolute;top:40px;left:var(--gutter);right:var(--gutter);display:flex;align-items:center;justify-content:space-between;z-index:10}
.film-top>.eyebrow{font-size:10px;letter-spacing:.1em;color:#b6a9c6}.film-top .text-link{font-size:11px;min-width:150px;border-color:#78638e66}.film-top svg{width:16px}
.film-scenes{position:absolute;inset:0}
.film-scene{position:absolute;inset:0;display:grid;grid-template-columns:52% 48%;align-items:center;padding:125px var(--gutter) 125px;gap:0;opacity:0;pointer-events:none;visibility:hidden;transform:translateY(65px) scale(.98);transition:opacity .75s ease,transform 1.1s cubic-bezier(.16,1,.3,1),visibility .75s}
.film-scene.is-active{opacity:1;pointer-events:auto;visibility:visible;transform:translateY(0) scale(1)}
.film-copy{position:relative;z-index:2;padding-right:20px}
.film-category{font-size:12px;color:#bbaece;letter-spacing:-.02em;display:block;margin-bottom:32px}
.film-copy h2{font-size:clamp(46px,5.7vw,100px);letter-spacing:-.062em;line-height:1.08;font-weight:400;max-width:740px}
.film-copy>p{font-size:14px;line-height:1.85;max-width:420px;color:#b8acc8;margin-top:32px}
.film-copy>.text-link{font-size:12px;margin-top:32px;gap:70px}
.film-giant-number{position:absolute;left:-1.5vw;bottom:3%;font-size:38vw;line-height:.8;font-weight:400;letter-spacing:-.08em;color:#d2c4e706;pointer-events:none;transform:translateY(calc((1 - var(--scene-depth,0)) * 30px))}
.film-visual{height:100%;max-height:550px;display:flex;align-items:center;justify-content:center;position:relative;perspective:900px;transform:translateY(calc(var(--scene-float,0) * -40px)) rotate(calc(var(--scene-float,0) * -5deg));transition:transform .15s linear}
.film-visual .abstract-browser{width:90%;height:310px;padding:24px 35px;box-shadow:20px 50px 90px #03010577;transform:perspective(900px) rotateY(-17deg) rotateX(10deg) rotateZ(-7deg)}
.film-visual .browser-bar{margin-bottom:40px}.film-visual .browser-text{font-size:48px;line-height:1.05}.film-visual .browser-rule{margin:25px 0 20px}.film-visual .browser-columns span{height:25px}
.film-visual .network-orbit{width:340px;height:340px;transform:rotate(-20deg)}.film-visual .network-orbit span{font-size:120px}
.film-visual .abstract-phone{width:185px;height:360px;border-radius:29px;padding:35px 24px;transform:rotate(10deg) rotateY(-14deg);box-shadow:25px 25px 0 #08070c,28px 27px 0 #645074}
.film-visual .abstract-phone>span{font-size:43px;margin-top:48px}.film-visual .phone-camera{left:76px;width:35px}.film-visual .phone-circle{width:65px;height:65px;margin-top:40px;font-size:34px}.film-visual .phone-line{left:73px}
.film-visual .abstract-chat{width:96%;transform:rotate(-6deg)}.film-visual .abstract-chat>div{font-size:23px;padding:24px 29px;margin:20px 0}
.film-visual .abstract-search{width:80%;padding:28px;transform:rotate(-7deg) rotateY(-14deg)}.film-visual .abstract-search>span{font-size:30px}.film-visual .search-graph{height:170px;gap:19px}
.film-visual .abstract-loop{width:290px;height:290px}.film-visual .abstract-loop span{font-size:105px}
.film-bottom{position:absolute;bottom:32px;left:var(--gutter);right:var(--gutter);z-index:10;display:flex;align-items:end;justify-content:space-between;gap:30px}
.film-steps{display:flex;align-items:start;gap:16px;width:75%;justify-content:space-between}
.film-steps button{display:flex;flex-direction:column;align-items:start;gap:13px;padding:12px 0;color:#847391;font-size:11px;transition:color .5s;position:relative}
.film-steps button:before{content:'';width:0;position:absolute;top:0;left:0;height:1px;background:#c2a9e8;transition:width .6s}.film-steps button[aria-pressed=true]{color:#eee4fc}.film-steps button[aria-pressed=true]:before{width:100%}.step-name{font-size:9px;letter-spacing:-.02em}
.film-scroll-note{font-size:8px;color:#9e8dad;letter-spacing:.07em;max-width:115px;line-height:1.7}.film-scroll-note>span{display:block;margin-top:9px;font-size:19px}
.film-progress{position:absolute;bottom:0;left:0;right:0;height:2px;background:#33253e}.film-progress>span{display:block;width:100%;height:100%;background:#bea2f0;transform:scaleX(var(--film-p));transform-origin:left}
.film-stage[data-chapter='1']{background:#20122e}.film-stage[data-chapter='2']{background:#211d29}.film-stage[data-chapter='3']{background:#211036}.film-stage[data-chapter='4']{background:#0f0b17}.film-stage[data-chapter='5']{background:#17131e}
.process{position:relative;z-index:3;padding-top:90px;border:0;background:#ddd9e4}
.process .section-heading h2{font-size:clamp(40px,5.2vw,80px)}.process .section-label{margin-bottom:75px}
.privacy-teaser{position:relative;padding-top:100px;padding-bottom:140px;overflow:hidden}
.privacy-teaser:before{content:'';position:absolute;inset:0;background:radial-gradient(ellipse at 5% 85%,#7c3aed1c,transparent 50%);pointer-events:none}
.privacy-symbol{transform:translateY(calc(var(--privacy-p,0) * -50px)) rotate(calc(var(--privacy-p,0) * 10deg));will-change:transform}
.privacy-symbol img{filter:drop-shadow(25px 30px 70px #a78bfa50);opacity:.9}
.studio-stage{position:relative;min-height:840px;height:100svh;max-height:none;padding:145px var(--gutter) 35px;overflow:hidden}
.stage-topline{display:flex;justify-content:space-between;color:#d8cbe3;position:relative;z-index:3;font-size:9px}
.studio-stage h1{font-size:clamp(100px,9.7vw,174px);font-weight:400;letter-spacing:-.065em;line-height:1.015;position:relative;z-index:3;width:fit-content;min-width:46%;margin:65px 0 0 7vw}
.studio-stage h1>span,.studio-stage h1 .lens-human>span{display:block}
.stroke-word{color:#f6f7fb;-webkit-text-stroke:0}
.studio-stage-copy{position:absolute;right:var(--gutter);bottom:136px;z-index:4;max-width:260px}.studio-stage-copy>p{font-size:13px;line-height:1.75;color:#e1d6eb;margin:0;text-shadow:0 2px 15px #0a0a0f}
.stage-bottom{position:absolute;bottom:30px;left:var(--gutter);right:var(--gutter);display:flex;justify-content:space-between;align-items:center;z-index:3}.stage-bottom .eyebrow{font-size:8px;color:#c4b6d0}
.studio-manifesto{background:#e0dce7;color:var(--bg);--muted:#706b78;--line:#ccc7d3;padding-top:85px}
.studio-manifesto>p{font-size:clamp(36px,5.5vw,90px);line-height:1.1;letter-spacing:-.06em;max-width:1250px;margin-top:65px}.studio-manifesto em{color:var(--purple)}
.manifesto-foot{display:grid;grid-template-columns:1fr 1fr;gap:50px;margin-top:65px;align-items:end}.manifesto-foot>span{font-size:9px;letter-spacing:.1em;color:#797180}.manifesto-foot p{font-size:14px;line-height:1.8;max-width:430px;color:#6b6373}
.service-art{background:radial-gradient(ellipse at 50% 55%,#7c3aed15,transparent 65%);border:0}
.service-detail{min-height:90svh;border:0;position:relative}
.service-detail:after{content:'';position:absolute;bottom:0;left:var(--gutter);right:var(--gutter);height:1px;background:var(--line)}
.service-detail .service-art{transform:translateY(calc(var(--detail-p,0) * -40px)) rotate(calc(var(--detail-p,0) * -4deg));transition:transform .2s linear}
.page-services .page-intro h1{font-weight:400;letter-spacing:-.065em}.page-services .page-intro h1 .muted{color:#aea1bf}
.contact-page h1{font-weight:400}.large-cta span{font-weight:400}.large-cta:hover span{color:#c9b1f0;transition:color .7s}
::view-transition-old(root){animation:cinema-out .65s ease both}::view-transition-new(root){animation:cinema-in .9s cubic-bezier(.16,1,.3,1) both}
@keyframes cinema-in{from{opacity:0;filter:blur(12px);transform:scale(1.035)}to{opacity:1;filter:blur(0);transform:scale(1)}}@keyframes cinema-out{to{opacity:0;filter:blur(8px);transform:scale(.98)}}
@media(max-width:1100px){.hero h1{font-size:9.5vw}.hero .line-two{margin-left:4vw}.film-copy h2{font-size:5.8vw}.film-visual .abstract-chat>div{font-size:18px}.film-visual .network-orbit{width:270px;height:270px}.film-steps{gap:18px;width:100%}.film-scroll-note{display:none}.film-visual .abstract-loop{width:235px;height:235px}.studio-stage h1{font-size:11vw;margin-left:0}}
@media(max-width:760px){.hero-scroll{height:125svh;min-height:950px}.hero-scroll .hero{min-height:760px}.hero{padding-top:120px}.hero-title{left:24px;right:20px;top:35%}.hero h1{font-size:clamp(48px,11.6vw,82px);line-height:1.07;letter-spacing:-.07em;text-align:left}.hero .line-two{margin-left:0}.hero-topline{font-size:8px}.hero-art,.studio-art{inset:0;width:100%;height:100%;transform:none;opacity:1}.hero-description{bottom:110px;max-width:88%}.hero-description p{font-size:11px;line-height:1.7}.hero-description .small-cross{font-size:22px}.hero-bottom{bottom:24px}.hero-bottom .scroll-link{font-size:9px}.hero-bottom .circle-arrow{width:32px;height:32px}.intro{min-height:65svh;padding-top:90px;padding-bottom:95px}.intro h2{font-size:clamp(31px,7.4vw,52px);line-height:1.18}.intro-bottom{margin-top:30px}.intro-bottom p{font-size:12px}.services-film{height:calc(100svh + 1350px)}.film-stage{min-height:720px}.film-top{top:27px;left:24px;right:24px}.film-top .eyebrow{font-size:8px}.film-top .text-link{font-size:10px;gap:20px;min-width:125px}.film-top svg{width:13px}.film-scene{grid-template-columns:1fr;grid-template-rows:1fr 1fr;padding:105px 24px 135px;align-items:start;transform:translateY(35px) scale(.98)}.film-copy{padding-right:0;z-index:3}.film-category{font-size:10px;line-height:1.6;margin-bottom:20px;max-width:255px}.film-copy h2{font-size:clamp(33px,9vw,54px);line-height:1.07;max-width:100%}.film-copy>p{font-size:11px;line-height:1.7;margin-top:22px;max-width:95%}.film-copy>.text-link{font-size:10px;gap:45px;margin-top:13px;padding:9px 0}.film-visual{position:absolute;left:24px;right:24px;bottom:106px;height:260px;max-height:none;opacity:.85;z-index:1;transform:translateY(calc(var(--scene-float,0) * -15px)) rotate(calc(var(--scene-float,0) * -4deg))}.film-visual .abstract-browser{max-width:255px;width:76%;height:175px;padding:16px 21px}.film-visual .browser-bar{margin-bottom:15px}.film-visual .browser-text{font-size:26px}.film-visual .browser-rule{margin:13px 0 10px}.film-visual .browser-columns span{height:14px}.film-visual .network-orbit{width:185px;height:185px}.film-visual .network-orbit span{font-size:65px}.film-visual .abstract-phone{width:113px;height:205px;padding:23px 15px;border-radius:17px;box-shadow:13px 13px 0 #08070c,15px 15px 0 #645074}.film-visual .phone-camera{width:26px;left:43px;top:7px;height:5px}.film-visual .abstract-phone>span{font-size:26px;margin-top:23px}.film-visual .phone-circle{width:37px;height:37px;font-size:20px;margin-top:23px}.film-visual .phone-line{width:28px;left:42px;height:2px;bottom:7px}.film-visual .abstract-chat{width:85%;max-width:285px}.film-visual .abstract-chat>div{font-size:16px;padding:14px 18px;margin:12px 0}.film-visual .abstract-search{max-width:260px;padding:18px;width:75%}.film-visual .abstract-search>span{font-size:21px;padding-bottom:13px}.film-visual .search-graph{height:80px;gap:12px}.film-visual .abstract-loop{width:170px;height:170px}.film-visual .abstract-loop span{font-size:70px}.film-giant-number{font-size:76vw;bottom:17%;left:-5%;color:#d2c4e708}.film-bottom{left:24px;right:24px;bottom:30px}.film-steps{gap:0;width:100%}.film-steps button{font-size:11px;gap:8px;padding:12px 7px 3px}.film-steps button:first-child{padding-left:0}.step-name{display:none}.film-steps button[aria-pressed=true]:before{width:24px}.process{padding-top:60px;padding-bottom:75px}.process .section-label{margin-bottom:45px}.process .section-heading h2{font-size:37px}.privacy-teaser{padding-top:60px;padding-bottom:85px}.privacy-layout{grid-template-columns:1fr}.privacy-symbol{width:125px}.privacy-layout h2{font-size:34px}.studio-stage{height:100svh;min-height:780px;max-height:none;padding:120px 24px 30px}.stage-topline{font-size:8px}.stage-topline span:last-child{display:none}.studio-stage h1{font-size:20vw;line-height:1.06;margin:105px 0 0 0;min-width:90%;letter-spacing:-.065em}.studio-stage-copy{left:24px;right:24px;bottom:120px;max-width:100%}.studio-stage-copy>p{font-size:11px;line-height:1.6}.studio-stage-copy>p br:nth-child(1){display:none}.stage-bottom{left:24px;right:24px;bottom:25px}.stage-bottom .eyebrow{font-size:7px;max-width:43%;line-height:1.7}.stage-bottom .motion-toggle{font-size:8px}.studio-manifesto{padding-top:45px}.studio-manifesto>p{font-size:clamp(31px,8vw,52px);line-height:1.2;margin-top:40px;letter-spacing:-.045em}.manifesto-foot{grid-template-columns:1fr;margin-top:35px;gap:25px}.manifesto-foot p{font-size:12px}.manifesto-foot>span{font-size:8px}.service-detail{min-height:0}.service-detail .service-art{transform:translateY(calc(var(--detail-p,0) * -20px))}}
@media(max-width:760px) and (max-height:780px){.film-copy>p{font-size:10px;margin-top:16px}.film-visual{height:210px;bottom:90px}.film-category{margin-bottom:15px}.film-copy h2{font-size:32px}.film-scene{padding-top:100px}.film-copy>.text-link{margin-top:8px}.film-visual .abstract-phone{transform:scale(.85) rotate(9deg)}.film-visual .abstract-browser{transform:scale(.9) rotate(-7deg)}}
@media(prefers-reduced-motion:reduce){.hero-scroll{height:auto;min-height:0}.hero-scroll .hero{position:relative}.hero-title,.hero-description{transform:none;opacity:1;will-change:auto}.read-word{opacity:1!important}.services-film{height:auto}.film-stage{height:auto;min-height:0;padding:100px var(--gutter) 50px}.film-top{top:25px}.film-scenes{position:relative}.film-scene{position:relative;display:block;padding:40px 0;transform:none!important;opacity:1!important;visibility:visible!important;pointer-events:auto!important;border-top:1px solid var(--line)}.film-copy{padding:0}.film-copy>p{max-width:650px}.film-visual{display:none}.film-giant-number,.film-bottom,.film-progress{display:none}.privacy-symbol,.service-detail .service-art{transform:none;will-change:auto}::view-transition-old(root),::view-transition-new(root){animation:none!important}}

/* Accessible static directions until the cinematic controller is ready. */
html:not(.film-enhanced) .services-film{height:auto}
html:not(.film-enhanced) .film-stage{position:relative;height:auto;min-height:0;padding:100px var(--gutter) 50px}
html:not(.film-enhanced) .film-scenes{position:relative}
html:not(.film-enhanced) .film-scene{position:relative;display:block;padding:40px 0;transform:none;opacity:1;visibility:visible;pointer-events:auto;transition:none}
html:not(.film-enhanced) .film-visual,
html:not(.film-enhanced) .film-giant-number,
html:not(.film-enhanced) .film-bottom,
html:not(.film-enhanced) .film-progress{display:none}
