/* The footer must paint above the fixed chapter atmosphere. */
.site-footer{position:relative;z-index:3;color:#edf1f5;background:#0a1018}.footer-wordmark{position:relative;color:#edf1f5;visibility:visible;opacity:1}.footer-wordmark .ui-arrow{color:#99c5e6}.footer-wordmark:hover{color:#fff}
/* A product composition gives the studio a tangible center of gravity. */
.about-main{display:block;margin:70px 0 12px}.about .manifesto{max-width:1050px}.studio-lab{display:grid;grid-template-columns:245px minmax(0,1fr);align-items:center;gap:3vw;margin:18px 0 42px;min-height:440px}.lab-copy{position:relative;z-index:2}.lab-copy>.small-label{font-size:8px;letter-spacing:1.4px;margin-bottom:26px}.lab-controls{display:flex;flex-direction:column;gap:0}.lab-controls button{display:flex;align-items:center;gap:16px;width:100%;padding:16px 0;text-align:left;color:var(--surface-muted);border-bottom:1px solid var(--surface-line);font-size:26px;letter-spacing:-.8px;transition:color .3s}.lab-controls button>span{font-size:8px;letter-spacing:.5px;opacity:.6}.lab-controls button svg{width:16px;height:16px;margin-left:auto;opacity:0;transform:translate(-8px,8px);transition:transform .5s,opacity .5s}.lab-controls button[aria-pressed=true]{color:#246381}.lab-controls button[aria-pressed=true] svg{opacity:1;transform:none}.lab-controls button:hover{color:#246381}.lab-description{min-height:48px;margin-top:23px;font-size:12px;line-height:1.8;color:var(--surface-muted)}.product-scene{position:relative;height:440px;perspective:1300px;min-width:0;touch-action:pan-y}.product-world{position:absolute;left:50%;top:46%;width:540px;height:350px;transform-style:preserve-3d;transform:translate(-50%,-50%) rotateX(var(--lab-x,-5deg)) rotateY(var(--lab-y,-9deg));transition:transform 1.1s cubic-bezier(.2,.8,.2,1)}.product-shadow{position:absolute;left:15%;right:4%;height:65px;bottom:24px;border-radius:50%;background:radial-gradient(ellipse,#2f597b35,transparent 67%);filter:blur(13px);transform:rotate(-8deg)}.product-pane{position:absolute;transform-style:preserve-3d;transition:transform 1.25s cubic-bezier(.2,.8,.2,1),filter 1s,opacity .8s;box-shadow:inset 1px 1px 0 #ffffffb0,inset -1px -1px 0 #35576b55,12px 22px 35px #183b5520}.product-browser{left:82px;top:27px;width:370px;height:259px;border:1px solid #9dbbc7;border-radius:10px;background:linear-gradient(140deg,#d8e9edee,#aecbd6ee);transform:translate3d(62px,-9px,-75px) rotateY(-19deg) rotateZ(8deg);filter:saturate(.65)}.mini-browser-bar{display:flex;gap:4px;align-items:center;border-bottom:1px solid #7096aa38;height:25px;padding:0 12px}.mini-browser-bar i{width:4px;height:4px;border-radius:50%;background:#6f8a9a}.mini-browser-bar span{font-size:4px;letter-spacing:1px;margin-left:45px;color:#476779}.mini-browser-content{position:relative;padding:21px 24px;height:232px;overflow:hidden;color:#143b55}.mini-wordmark{font-size:7px;font-weight:800;letter-spacing:2px}.mini-browser-content p{font-size:37px;line-height:1.03;letter-spacing:-2px;margin-top:27px;position:relative;z-index:1}.mini-browser-content em{color:#417c9a;font-style:normal}.mini-browser-link{position:absolute;bottom:22px;left:25px;display:flex;gap:18px;align-items:center;font-size:7px}.mini-browser-link svg{width:11px;height:11px}.mini-orbit{position:absolute;width:130px;height:130px;right:3px;top:25px;transform:rotate(-25deg)}.mini-orbit i{position:absolute;inset:0;border:13px solid #447e9b;border-radius:50%;transform:rotateY(55deg);box-shadow:inset 2px 1px 1px #eaffff,2px 2px 4px #153e5a40}.mini-orbit i:nth-child(2){transform:rotateX(60deg);border-color:#1b4c71}.mini-orbit b{position:absolute;inset:43px;background:linear-gradient(130deg,#eaffff,#5b9fc2 48%,#133e65);clip-path:polygon(50% 0,100% 50%,50% 100%,0 50%)}.product-handset{width:177px;height:354px;left:82px;top:-1px;border-radius:30px;padding:5px;background:linear-gradient(135deg,#edfaff,#7897a9 45%,#e9faff);border:1px solid #a3bccb;transform:translate3d(-26px,5px,80px) rotateY(-10deg) rotateZ(-8deg);box-shadow:inset 2px 1px 0 #ffffff,6px 5px 0 -2px #41667b,16px 25px 30px #1f425a30}.mini-island{position:absolute;width:48px;height:12px;border-radius:15px;left:64px;top:12px;z-index:2;background:#0b1e2a}.mini-time{position:absolute;left:21px;top:17px;font-size:6px;font-weight:600;z-index:2;color:#d6ecf8}.mini-app{height:100%;border-radius:25px;background:linear-gradient(135deg,#103651,#061d35);padding:52px 16px 15px;color:#deeff7;overflow:hidden}.mini-app>span{font-size:4px;letter-spacing:.7px;color:#80b6d1}.mini-app p{font-size:25px;line-height:1.05;letter-spacing:-.9px;margin-top:10px}.mini-app-visual{height:96px;position:relative;margin-top:9px;perspective:500px}.mini-app-visual i{position:absolute;left:31px;top:10px;width:66px;height:66px;border:13px solid #639dc6;border-radius:30%;transform:rotateX(55deg) rotateZ(-20deg);box-shadow:inset 2px 2px 1px #d9faff,3px 4px 0 #123b67}.mini-app-visual i:nth-child(2){top:23px;transform:rotateX(55deg) rotateZ(10deg);border-color:#3885bf}.mini-app-visual i:nth-child(3){top:37px;transform:rotateX(55deg) rotateZ(40deg);border-color:#0b5b98}.mini-app-row{padding:10px 0;border-top:1px solid #c0eaff22;font-size:6px;display:flex;justify-content:space-between}.mini-app-row b{font-weight:400}.mini-app-row i{width:4px;height:4px;border-top:1px solid #aac6db;border-right:1px solid #aac6db;transform:rotate(45deg)}.mini-app-button{display:flex;align-items:center;justify-content:space-between;padding:10px 12px;border-radius:15px;background:#c1e6f7;color:#12334a;font-size:7px;margin-top:7px}.mini-app-button svg{width:9px;height:9px}.mini-home{position:absolute;left:64px;bottom:10px;width:48px;height:2px;background:#adcde1;border-radius:2px}.product-identity{left:360px;top:200px;width:135px;height:144px;border-radius:17px;background:linear-gradient(145deg,#e7f6fb,#b0d1e2 55%,#7ca5bd);transform:translate3d(10px,2px,40px) rotateY(-16deg) rotateZ(13deg);display:flex;flex-direction:column;align-items:center;justify-content:center;box-shadow:inset 1px 1px 1px #fff,4px 4px 0 #7197af,13px 18px 25px #365a7025}.product-identity svg{width:76px;height:58px;filter:drop-shadow(0 5px 5px #20517830)}.product-identity>span{font-size:14px;letter-spacing:4px;font-weight:800;margin-top:9px;color:#143c5a;padding-left:4px}.product-identity small{font-size:4px;letter-spacing:1.3px;margin-top:6px;color:#557e92}.lab-hint{position:absolute;bottom:0;left:0;right:0;text-align:center;font-size:6px;letter-spacing:1.5px;color:var(--surface-muted)}
.studio-lab[data-view=web] .product-browser{transform:translate3d(5px,12px,110px) rotateY(3deg) rotateZ(-3deg);filter:none}.studio-lab[data-view=web] .product-handset{transform:translate3d(-90px,12px,-95px) rotateY(22deg) rotateZ(-13deg);filter:saturate(.6)}.studio-lab[data-view=web] .product-identity{transform:translate3d(29px,8px,-45px) rotateY(-18deg) rotateZ(12deg)}
.studio-lab[data-view=identity] .product-identity{transform:translate3d(-160px,-105px,155px) rotateY(-8deg) rotateZ(-5deg) scale(1.6);filter:none}.studio-lab[data-view=identity] .product-handset{transform:translate3d(-100px,0,-100px) rotateY(20deg) rotateZ(-16deg);filter:saturate(.5)}.studio-lab[data-view=identity] .product-browser{transform:translate3d(70px,-20px,-140px) rotateY(-25deg) rotateZ(12deg);filter:saturate(.4)}
/* Three material states give the process a visual narrative, without cards. */
.process-object{height:128px;position:relative;perspective:600px;margin:12px 0 -8px;overflow:visible}.process-object-rig{position:absolute;left:30px;top:18px;width:90px;height:86px;transform-style:preserve-3d;transform:rotateX(54deg) rotateZ(-28deg);transition:transform .9s cubic-bezier(.2,.8,.2,1)}.process-object-rig i,.process-object-rig b{position:absolute;inset:0;border:1px solid #53839d80;border-radius:15px;transform:translateZ(calc(var(--layer,0)*15px));transition:transform .9s,background .9s,border-color .9s}.process-object-rig i:nth-child(1){--layer:-1}.process-object-rig i:nth-child(2){--layer:0}.process-object-rig i:nth-child(3){--layer:1}.process-object-rig b{transform:translateZ(30px) scale(.5);border-radius:10px}.phase-0 .process-object-rig i{background:linear-gradient(90deg,transparent 49.5%,#6394b450 50%,transparent 50.5%),linear-gradient(transparent 49.5%,#6394b450 50%,transparent 50.5%)}.phase-1 .process-object-rig i{background:linear-gradient(125deg,#effbff95,#8cb9d38a);box-shadow:2px 2px 0 #42688035}.phase-1 .process-object-rig b{background:#3b86b5;border-color:#8bc2dc}.phase-2 .process-object-rig i{background:linear-gradient(130deg,#ceeafb,#3378aa 45%,#164a7b);transform:translateZ(calc(var(--layer,0)*5px));box-shadow:inset 1px 1px 1px #edffff,4px 4px 0 #245d80}.phase-2 .process-object-rig b{background:linear-gradient(135deg,#f4fcff,#89c4e4);border:0;clip-path:polygon(10% 46%,40% 70%,87% 13%,100% 28%,42% 100%,0 60%);transform:translateZ(17px) scale(.45)}.process-grid h3{margin-top:22px}
/* Scroll choreographs full-width gestures; there are no repeated floating tiles. */
.chapter-bridge{height:clamp(210px,34svh,340px);pointer-events:none}
.chapter-bridge .chapter-gesture{height:100%;width:100%;transform:none;opacity:.85;mask-image:linear-gradient(transparent,black 18%,black 82%,transparent)}
.chapter-entry{translate:0 var(--chapter-arrival,0px)}
/* Icon launch: a physical object lifts from its tile and opens into the phone. */
.project-viewer[open],.project-viewer.closing{animation:none;clip-path:none;transform:none}.project-viewer.launching,.project-viewer.returning{background:transparent;overflow:hidden}.project-viewer.launching::backdrop,.project-viewer.returning::backdrop{background:transparent}.project-viewer .demo-background{background:var(--demo-bg)}.project-viewer.launching>.demo-header,.project-viewer.launching>.demo-layout,.project-viewer.launching>.demo-footer{opacity:0;pointer-events:none}.project-viewer.launching>.demo-background{opacity:0}.launch-object{position:fixed;z-index:20;border-radius:25%;background:linear-gradient(140deg,var(--launch-a),var(--launch-b) 48%,var(--launch-c));box-shadow:inset 1px 2px 2px #edffff88,inset -2px -3px 5px #0008,8px 14px 30px #0003;display:grid;place-items:center;overflow:hidden;transform-origin:center;pointer-events:none}.launch-emblem{position:absolute;inset:0;display:grid;place-items:center;z-index:2}.launch-emblem svg{width:55%;height:55%;fill:none;stroke:var(--launch-ink);stroke-width:4;stroke-linecap:square;stroke-linejoin:miter}.launch-shutter{position:absolute;top:0;bottom:0;width:50.5%;background:linear-gradient(145deg,var(--launch-a),var(--launch-b),var(--launch-c));z-index:1}.launch-shutter.left{left:0;transform-origin:0 50%}.launch-shutter.right{right:0;transform-origin:100% 50%}.launch-underlay{position:absolute;inset:5px;border-radius:inherit;background:var(--demo-bg);border:1px solid #d4f2ff6b}.launch-trace{position:absolute;inset:9px;border-radius:inherit;border:1px solid #e1faff70;pointer-events:none}.project-viewer.returning>.demo-header,.project-viewer.returning>.demo-footer{pointer-events:none}.launch-origin .app-icon{visibility:hidden}
@media(max-width:1100px){.studio-lab{grid-template-columns:205px minmax(0,1fr);gap:0}.product-world{scale:.87}.lab-controls button{font-size:23px}.product-scene{height:390px}.studio-lab{min-height:390px}}
@media(max-width:700px){.about-main{margin:45px 0 20px}.studio-lab{display:flex;flex-direction:column-reverse;margin:5px 0 35px;gap:28px;min-height:0}.product-scene{width:100%;height:300px}.product-world{scale:.62;transform-origin:0 0;top:48%}.product-shadow{bottom:8px;left:0;right:0}.lab-hint{font-size:5px;letter-spacing:.7px;bottom:-8px}.lab-copy{width:100%}.lab-copy>.small-label{display:none}.lab-controls{flex-direction:row;gap:17px}.lab-controls button{font-size:17px;gap:6px;padding:12px 0;flex:1}.lab-controls button>span{font-size:6px}.lab-controls button svg{width:10px;height:10px;display:none}.lab-description{font-size:11px;min-height:0;margin-top:15px}.lab-description br{display:none}.process-grid .process-step{display:grid;grid-template-columns:1fr 100px;gap:0 12px}.process-grid .process-step>span{grid-column:1;align-self:end}.process-object{grid-column:2;grid-row:1/4;height:120px;margin:0;align-self:center}.process-object-rig{left:14px;top:22px;width:65px;height:65px}.process-grid .process-step h3{grid-column:1;margin:14px 0 8px}.process-grid .process-step p{grid-column:1;max-width:none}.process-grid{gap:38px}.chapter-bridge{height:190px}}
@media(prefers-reduced-motion:reduce){.product-world,.product-pane,.process-object-rig,.process-object-rig i{transition:none!important}.chapter-entry{translate:none}}
body.motion-paused .product-world,body.motion-paused .product-pane,body.motion-paused .process-object-rig,body.motion-paused .process-object-rig i{transition:none!important}
.project-viewer.launching .phone-orbit{transform:none!important;transition:none}.project-viewer.launching .phone-stage{pointer-events:none}.project-viewer.returning .phone-stage{pointer-events:none}.launch-object .launch-emblem .app-icon{display:none}.launch-emblem:after{display:none}
.site-footer{background:transparent}
.contact:before{mask-image:linear-gradient(black 70%,transparent)}
.contact-grid{mask-image:linear-gradient(black 65%,transparent),radial-gradient(ellipse at 75% 60%,black,transparent 70%);mask-composite:intersect}
@media(min-width:701px) and (max-height:800px){.project-viewer .demo-header{padding-top:20px;padding-bottom:20px}.project-viewer .demo-layout{min-height:0;padding-top:10px;padding-bottom:10px}.project-viewer .demo-copy h2{font-size:clamp(42px,7.4svh,58px);margin-bottom:20px}.project-viewer .demo-copy .eyebrow{margin-bottom:20px}.project-viewer .demo-chapters{margin:22px 0 12px}.project-viewer .demo-copy #demo-disclaimer{margin-top:16px}.project-viewer .phone-stage{height:calc(100svh - 176px);min-height:390px;grid-template-rows:minmax(0,1fr)}.project-viewer .phone-orbit{scale:.76}.project-viewer .phone-caption{bottom:0}.project-viewer .demo-footer{padding-top:16px;padding-bottom:16px}}

/* Contact copy and sculpture occupy separate columns, with no text over the art. */
.contact{min-height:0}
.contact-content{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);align-items:center;gap:4vw;margin:48px 0 65px;pointer-events:auto}
.contact-message{position:relative;min-width:0}
.contact-content h2{font-size:clamp(72px,8.5vw,136px);line-height:.98;letter-spacing:-.06em;margin-bottom:28px}
.contact-copy{width:min(100%,325px);min-width:0;margin:0;padding:0}
.contact-copy p{font-size:14px;line-height:1.8;text-shadow:none;margin:0 0 28px}
.contact-copy .contact-email{margin:0 0 20px;font-size:13px;padding-bottom:16px;max-width:none}
.contact-copy>.pill{width:100%}
.contact-content .contact-sculpture{position:relative;inset:auto;width:100%;height:clamp(420px,44vw,680px);opacity:1;min-width:0}
.contact-grid{opacity:.4}
.mobile-nav>button{font-size:44px;letter-spacing:-2px;border-bottom:1px solid var(--line);padding:19px 0;display:flex;justify-content:space-between;align-items:center;text-align:left}
.mobile-nav>button span{font-size:12px;letter-spacing:0;color:var(--muted)}
@media(max-width:1000px) and (min-width:701px){.contact-content{gap:20px;grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.contact-content .contact-sculpture{height:440px}.contact-content h2{font-size:90px}}
@media(max-width:700px){.contact-content{grid-template-columns:1fr;margin:42px 0 30px;gap:8px}.contact-content h2{font-size:82px;margin-bottom:24px}.contact-copy{width:100%;max-width:350px;margin:0}.contact-copy p{font-size:13px;margin-bottom:24px}.contact-content .contact-sculpture{height:320px;width:100%;margin:8px 0 0}.contact-copy .contact-email{margin-top:0}.contact>.section-label>span:last-child{font-size:6px;letter-spacing:.7px;gap:7px}}
