.reading-progress{position:fixed;top:0;left:0;right:0;height:2px;background:#d4daba;transform:scaleX(0);transform-origin:left;z-index:30;pointer-events:none}.floating-motion{position:fixed;bottom:22px;right:24px;background:#f1f0e9eb;color:#283026;border:1px solid #b4bdab;padding:11px 16px;z-index:8;border-radius:30px;font-size:11px;box-shadow:0 5px 25px #14221915;backdrop-filter:blur(12px)}.floating-motion span{margin-left:7px}.hero-copy{will-change:transform,opacity}.hero-video{will-change:transform}.hero-copy h1{animation:hero-reveal 1.25s cubic-bezier(.2,.8,.2,1) both;animation-delay:.1s}.hero-copy .eyebrow,.hero-description,.round-link{animation:soft-rise 1s ease both;animation-delay:.3s}@keyframes hero-reveal{from{opacity:0;transform:translateY(35px);filter:blur(8px)}to{opacity:1;transform:none;filter:blur(0)}}@keyframes soft-rise{from{opacity:0;transform:translateY(15px)}to{opacity:1;transform:none}}.spatial-story{height:220vh;position:relative;margin:0 -10%;background:#dfded4}.spatial-stage{height:100svh;min-height:630px;max-height:1100px;position:sticky;top:0;overflow:hidden}.spatial-heading{position:absolute;top:38px;left:7%;right:7%;display:flex;justify-content:space-between;z-index:2;color:#555f50}.spatial-heading .eyebrow{font-size:9px}.scene-wrap{position:absolute;inset:0;overflow:hidden}.scene-wrap canvas,.scene-fallback{width:100%;height:100%;display:block;object-fit:cover}.scene-wrap canvas{position:absolute;inset:0;opacity:0;transition:opacity 1s}.scene-wrap.is-ready canvas{opacity:1}.scene-fallback{object-position:62% 50%}.scene-wrap:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,#dfded4ed 0%,#dfded4c0 22%,transparent 55%);pointer-events:none}.spatial-copy{position:absolute;top:40%;left:7%;max-width:465px;z-index:2;pointer-events:none}.spatial-copy h2{font-size:clamp(45px,4.7vw,72px);font-weight:400;letter-spacing:-.055em;line-height:1.03;margin:22px 0}.spatial-copy h2 em{color:#7d8266}.spatial-copy>p{font-size:13px;line-height:1.8;max-width:250px;color:#62695b}.spatial-copy.copy-transition h2,.spatial-copy.copy-transition>p{animation:soft-rise .55s ease both}.spatial-footer{position:absolute;left:7%;right:7%;bottom:66px;display:flex;justify-content:space-between;align-items:center;gap:20px;z-index:2}.scene-controls{display:flex;gap:22px}.scene-controls button{font-size:9px;display:flex;gap:10px;align-items:center;padding:14px 0;border-top:1px solid #a5ae993f;color:#7b8271;min-width:82px;text-align:left}.scene-controls button span{font-size:12px}.scene-controls button[aria-pressed=true]{border-color:#596647;color:#293126}.scene-instruction{font-size:8px;letter-spacing:.09em;display:flex;align-items:center;gap:20px;color:#69715f}.scene-instruction>span{font-size:18px}.study-credit{position:absolute;left:7%;bottom:28px;z-index:2;font-size:7px;letter-spacing:.1em;color:#7a8171}.kinetic-line{overflow:hidden;white-space:nowrap;border-bottom:1px solid var(--line);margin:0 -10%;padding:34px 0 40px}.kinetic-line>div{font-size:clamp(55px,8vw,130px);letter-spacing:-.055em;font-weight:400;line-height:1.2;color:#a3a893;will-change:transform}.kinetic-line em{color:#303a2a;margin:0 .32em}.studio-intro{border-bottom:0}.project-card{perspective:900px}.project-visual{transform:rotateX(var(--tilt-x,0deg)) rotateY(var(--tilt-y,0deg));transition:transform .45s ease;transform-style:preserve-3d;box-shadow:0 16px 30px -25px #18302177}.project-open{transition:transform .3s,background .3s}.project-card:hover .project-open{transform:rotate(45deg);background:#e9e8de22}.project-card:hover .project-visual img{transform:scale(1.055)}.intro-foot p,.industry-intro p,.section-heading>p{font-size:13px}.project-meta p{font-size:11px}.service-tag{font-size:10px}.contact-copy>p:not(.eyebrow){font-size:14px}.motion-paused .hero-copy{transform:translateY(-42%)!important;opacity:1!important}.motion-paused .hero-video{transform:none!important}.motion-paused .spatial-story{height:auto}.motion-paused .spatial-stage{position:relative;height:800px}.motion-paused .scene-instruction{visibility:hidden}.motion-paused .kinetic-line>div{transform:none!important}.motion-paused .project-visual{transform:none!important}
@media(max-width:1000px){.spatial-story,.kinetic-line{margin-left:-6.82%;margin-right:-6.82%}.spatial-copy{left:6%;max-width:260px}.spatial-copy h2{font-size:55px}.spatial-heading,.spatial-footer{left:6%;right:6%}.spatial-copy>p{max-width:225px}}
@media(max-width:700px){.spatial-story{height:170svh}.spatial-stage{min-height:680px;max-height:900px}.spatial-heading{top:27px}.spatial-heading>.eyebrow{font-size:7px;max-width:130px}.spatial-heading>span{text-align:right}.scene-wrap:after{background:linear-gradient(0deg,#dfded4 4%,#dfded4d0 27%,transparent 53%)}.spatial-copy{top:auto;bottom:145px;max-width:290px}.spatial-copy h2{font-size:42px;margin:12px 0}.spatial-copy h2 br{display:none}.spatial-copy>p{font-size:12px;max-width:285px}.spatial-footer{bottom:64px}.scene-instruction{display:none}.scene-controls{width:100%;gap:20px}.scene-controls button{flex:1;min-width:0}.study-credit{left:6%;font-size:6px}.kinetic-line{padding:25px 0 30px}.kinetic-line>div{font-size:58px}.floating-motion{bottom:15px;right:15px;padding:10px 13px;font-size:10px}.motion-paused .hero-copy{transform:translateY(-31%)!important}.motion-paused .spatial-stage{height:760px}.scene-fallback{object-position:70% 20%}.intro-foot p{font-size:11px}.industry-intro p{font-size:12px}.project-meta p{font-size:10px}.service-tag{font-size:9px}}
@media(prefers-reduced-motion:reduce){.spatial-story{height:auto}.spatial-stage{position:relative;height:800px}.scene-instruction{visibility:hidden}.hero-copy{opacity:1!important}.hero-video,.kinetic-line>div,.project-visual{transform:none!important}}
/* Hold the opening frame while the title expands into the foreground. */
.hero-scroll{position:relative;height:165svh}.hero-scroll .hero{position:sticky;top:0}.hero-copy h1{transform-origin:left center;will-change:scale;text-wrap:nowrap}.hero-description,.hero-copy .round-link{will-change:translate}.motion-paused .hero-scroll{height:auto}.motion-paused .hero-scroll .hero{position:relative}.motion-paused #hero-title{scale:1!important;text-shadow:none!important}.motion-paused .hero-description,.motion-paused .hero-copy .round-link{translate:none!important}
@media(max-width:700px){.hero-scroll{height:155svh}.hero-copy h1{font-size:clamp(34px,10.7vw,70px);text-wrap:nowrap}}
@media(prefers-reduced-motion:reduce){.hero-scroll{height:auto}.hero-scroll .hero{position:relative}#hero-title{scale:1!important;text-shadow:none!important}.hero-description,.hero-copy .round-link{translate:none!important}}

.scene-poster{display:block;width:100%;height:100%}
