/* NEXORA — cinematic layer. The base content and controls remain in styles.css. */
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
:root{--cinema-bg:#080a0d;--cinema-white:#f0f0e8}
body{background:var(--cinema-bg)}
.site-header{position:fixed;height:88px;background:linear-gradient(180deg,#080a0de8,#080a0d05);border-bottom-color:#ffffff13;transition:background .3s;backdrop-filter:blur(8px)}
.site-header.scrolled{background:#080a0ddd}
.wordmark{letter-spacing:-.075em}.desktop-nav a{font-size:13px}.header-cta{border:1px solid #ffffff3b;border-radius:30px;padding:8px 19px;font-size:13px;gap:25px}.header-cta:hover{background:var(--text);color:#0a0b0c}.header-cta span{color:inherit;font-size:22px}
.journey{position:relative;height:440svh;background:var(--cinema-bg);isolation:isolate}
.journey-stage{position:sticky;top:0;height:100svh;min-height:570px;overflow:hidden;background:#080a0d}
#journey-canvas{position:absolute;inset:0;width:100%;height:100%;z-index:1;display:block;opacity:0;transition:opacity 1.2s;pointer-events:none}
.webgl-ready #journey-canvas{opacity:1}
.journey-fallback.hero-media{position:absolute;inset:0;z-index:0;opacity:1;animation:none}
.journey-fallback.hero-media::after{background:linear-gradient(0deg,#080a0d 0%,#080a0d05 45%,#080a0d66 100%)}
.journey-fallback img{object-fit:cover;object-position:60% 50%}
.webgl-ready .journey-fallback{opacity:0;transition:opacity 1.5s}
.journey-vignette{position:absolute;inset:0;z-index:2;pointer-events:none;background:linear-gradient(0deg,#080a0dcc 0%,transparent 35%,transparent 75%,#080a0d66 100%),linear-gradient(90deg,#080a0d40,transparent 20%,transparent 80%,#080a0d40)}
.journey-opening{position:absolute;inset:0;z-index:3;pointer-events:none;will-change:transform,opacity}
.journey-kicker{position:absolute;top:20%;left:0;right:0;text-align:center;font-size:13px;letter-spacing:.32em;animation:cinema-intro 1.5s .15s both}
#hero-title{position:absolute;left:3.6%;right:3.6%;bottom:13%;margin:0;font-size:clamp(85px,20.9vw,360px);font-weight:500;line-height:.79;letter-spacing:-.093em;text-align:center;animation:cinema-intro 1.7s .3s both}
.journey-brand{display:block;transform-origin:center bottom;color:var(--cinema-white)}
.journey-intention{position:absolute;bottom:6%;left:var(--gutter);right:var(--gutter);display:flex;justify-content:space-between;align-items:center;font-size:12px;line-height:1.7;letter-spacing:1.4px}
.journey-enter{pointer-events:auto;display:flex;align-items:center;gap:34px;letter-spacing:0;font-size:14px;border-bottom:1px solid #999b98;padding:7px 0}.journey-enter>span{font-size:28px;color:var(--accent);transition:transform .35s}.journey-enter:hover>span{transform:translate(4px,-4px)}
.journey-tools{position:absolute;top:110px;left:var(--gutter);right:var(--gutter);z-index:4;display:flex;justify-content:space-between;align-items:center;color:#bac0c2;font-size:11px;letter-spacing:1.6px}
.scene-label{font-size:12px}.journey-tools button{background:#080a0d44;border:1px solid #ffffff35;border-radius:24px;color:#e4e6e3;min-height:40px;padding:7px 14px;display:flex;align-items:center;gap:9px;font-size:12px;letter-spacing:0;backdrop-filter:blur(8px)}.journey-tools button:hover{border-color:var(--accent)}
.journey-bottom{position:absolute;left:var(--gutter);right:var(--gutter);bottom:21px;z-index:4;display:flex;align-items:center;gap:24px;font-size:10px;letter-spacing:1.2px;color:#b7bec1}
.journey-scroll{font-size:11px;display:flex;align-items:center;gap:17px;white-space:nowrap}.journey-scroll>span{font-size:20px;line-height:1}.journey-track{height:1px;background:#ffffff25;flex:1;position:relative;max-width:200px}.journey-track>span{position:absolute;inset:0;background:var(--accent);transform:scaleX(0);transform-origin:left center}.journey-skip{margin-left:auto;letter-spacing:0;font-size:12px;display:flex;align-items:center;gap:15px;min-height:35px}.journey-skip:hover{color:var(--accent)}
.journey-statement{position:absolute;z-index:3;top:39%;left:var(--gutter);right:var(--gutter);opacity:0;transform:translateY(40px);pointer-events:none;will-change:transform,opacity;text-shadow:0 3px 50px #0008}.journey-statement>span{display:block;font-size:12px;letter-spacing:2px;margin-bottom:25px;color:#e1e5e4}.journey-statement p{font-family:var(--display);font-size:clamp(55px,7.5vw,125px);letter-spacing:-.065em;line-height:1.04;font-weight:500}.statement-two{text-align:right;top:38%}.statement-three{top:auto;bottom:20%;text-align:center}.statement-three p{font-size:clamp(52px,6.8vw,115px)}
.discipline-strip{background:#080a0d;position:relative;z-index:2;border-color:#2b3034}.vision,.method,.explorations{background:#0c0e10}.vision{position:relative;z-index:3;padding-top:140px;padding-bottom:145px}.vision h2{font-size:clamp(55px,6.6vw,112px)}.vision-copy{align-self:center}.vision-foot{padding-top:90px}.muted-word{color:#73797c}.expertise,.lab{background:#111417;border-color:#343a3e}.expertise-name{transition:letter-spacing .5s,color .3s}.expertise-row summary:hover .expertise-name{letter-spacing:-.02em}.expertise-row{border-color:#343a3e}.expertise-body ul{color:#c3c8cb}.expertise-body li::before{color:#737b81}
.explorations{padding-left:0;padding-right:0;padding-bottom:0}.explorations>.section-label,.explorations>.section-intro{padding-left:var(--gutter);padding-right:var(--gutter)}.explorations>.section-intro{margin-bottom:75px}.projects-grid{display:block;isolation:isolate}.project-card{position:sticky;top:88px;display:block;height:calc(100svh - 88px);min-height:600px;overflow:hidden;text-align:left;box-shadow:0 -30px 90px #0008}.project-matter{margin:0}.project-image,.project-matter .project-image{position:absolute;inset:0;aspect-ratio:auto;background:#080a0d}.project-image::after{content:'';position:absolute;inset:0;background:linear-gradient(0deg,#080a0ddd 0%,#080a0d11 65%,#080a0d22)}.project-image img{height:100%;object-fit:cover;transform:scale(1.07);transition:transform 1.1s ease-out,filter 1.1s}.project-card:hover img{transform:scale(1.025);filter:brightness(1.07)}.project-badge{top:35px;left:var(--gutter);font-size:12px;z-index:1;letter-spacing:1.5px;background:#080a0d80;border:1px solid #ffffff30;border-radius:30px;padding:8px 16px}.project-open{width:100px;height:100px;bottom:65px;right:var(--gutter);z-index:2;font-size:45px;background:#080a0d50;color:white;border:1px solid #ffffff70;backdrop-filter:blur(10px)}.project-card:hover .project-open{background:var(--accent);color:#0c0e10;transform:rotate(45deg)}.project-caption{position:absolute;left:var(--gutter);right:calc(var(--gutter) + 140px);bottom:58px;z-index:2;display:block;margin:0;pointer-events:none}.project-title{font-size:clamp(75px,9.8vw,165px);line-height:1;letter-spacing:-.07em}.project-category{font-size:14px;color:#d0d2cd;margin-top:23px}.project-year{position:absolute;right:0;bottom:0;color:#d0d2cd}.projects-note{position:relative;margin:0;padding:28px var(--gutter);max-width:none;font-size:12px;background:#0c0e10;z-index:4;border-bottom:1px solid #30373a}
.method{position:relative;z-index:3;padding-top:130px}.method-step{border-color:#3d464a}.method-number{font-size:clamp(40px,5.4vw,82px);line-height:1;letter-spacing:-.07em;color:transparent;-webkit-text-stroke:1px #919b9f;margin-bottom:45px}.method-number>span{color:var(--accent);-webkit-text-stroke:0;letter-spacing:0}.method-step h3{font-size:31px}.method-output{color:#9ba6a9}.lab{position:relative;z-index:3}.lab-stage{border-color:#394449;background:#0b1115}.lab-stage-top,.lab-stage-bottom{color:#a0aeb3}.motion-toggle{background:#0f191ecc;border-color:#48565c}.shape-controls label>span{border-color:#425057}.contact{position:relative;z-index:3;min-height:85svh;padding-top:75px;display:flex;flex-direction:column;justify-content:space-between}.contact h2{font-size:clamp(72px,10.4vw,175px)}.contact-body{padding-bottom:15px}.contact-bottom{margin-top:60px}.site-footer{position:relative;z-index:3;background:#080a0d}.site-footer .wordmark{font-size:48px}.site-footer .brand-square{margin-top:16px}.footer-bottom{border-color:#31393e}
.no-webgl .journey,.motion-reduced .journey{height:100svh;min-height:640px}.no-webgl .journey-stage,.motion-reduced .journey-stage{position:relative;height:100%;min-height:640px}.no-webgl .journey-statement,.motion-reduced .journey-statement{display:none}.no-webgl .journey-track,.motion-reduced .journey-track{display:none}.no-webgl .journey-opening,.motion-reduced .journey-opening{opacity:1!important;transform:none!important}.no-webgl .journey-scroll{display:none}.motion-reduced .journey-tools button{display:none}.motion-reduced .project-card{position:relative;top:auto}.motion-reduced .project-image img{transform:none!important}
@keyframes cinema-intro{from{opacity:0;transform:translateY(35px);filter:blur(7px)}to{opacity:1;transform:translateY(0);filter:blur(0)}}
@media(max-width:1000px){.journey{height:370svh}.site-header{height:80px}.desktop-nav{gap:21px}.header-cta{font-size:12px;gap:15px}.journey-tools{top:100px}.journey-statement p{font-size:clamp(55px,8.5vw,90px)}.project-card{top:80px;height:calc(100svh - 80px)}.method-number{font-size:60px}.method-step h3{font-size:26px}.project-caption{bottom:55px}}
@media(max-width:700px){.site-header{height:76px}.mobile-nav{inset:76px 0 0;background:#080a0d}.journey{height:330svh}.journey-stage{min-height:620px}.journey-tools{top:94px}.scene-label{font-size:10px;max-width:160px;letter-spacing:1px}.journey-tools button{font-size:12px;min-height:38px;padding:6px 11px}.journey-kicker{top:23%;font-size:11px;letter-spacing:.23em}.journey-fallback.hero-media{inset:0;opacity:1}.journey-fallback img{object-position:61% center}.webgl-ready .journey-fallback.hero-media{opacity:0}#hero-title{font-size:20.4vw;bottom:20%;left:4%;right:4%;letter-spacing:-.095em}.journey-intention{bottom:11%;font-size:10px;letter-spacing:.7px;gap:18px}.journey-enter{font-size:12px;gap:12px;padding:6px 0}.journey-enter>span{font-size:22px}.journey-bottom{bottom:16px;gap:12px}.journey-scroll{font-size:9px;letter-spacing:.5px;gap:8px}.journey-scroll>span{font-size:18px}.journey-track{display:none}.journey-skip{font-size:10px;gap:7px}.journey-statement{top:33%}.journey-statement>span{font-size:11px;letter-spacing:1.5px;margin-bottom:23px}.journey-statement p{font-size:clamp(43px,11.5vw,80px);line-height:1.08}.statement-two{top:42%;text-align:left}.statement-three{top:auto;bottom:23%;text-align:left}.statement-three p{font-size:clamp(43px,11.1vw,80px)}.vision{padding-top:80px;padding-bottom:80px}.vision h2{font-size:clamp(43px,11.3vw,76px)}.vision-foot{padding-top:45px}.explorations>.section-intro{margin-bottom:45px}.explorations{padding-top:80px;padding-bottom:0}.project-card{top:76px;height:calc(100svh - 76px);min-height:550px}.project-image img{object-position:50% center}.project-badge{top:24px;font-size:10px;letter-spacing:1px;padding:7px 12px}.project-caption{left:var(--gutter);right:var(--gutter);bottom:100px}.project-title{font-size:clamp(68px,20vw,95px)}.project-category{font-size:12px;margin-top:18px;max-width:240px}.project-year{display:none}.project-open{right:var(--gutter);bottom:30px;width:53px;height:53px;font-size:26px}.projects-note{padding:25px var(--gutter);font-size:12px}.method{padding-top:80px}.method-number{font-size:60px;margin-bottom:32px}.method-step h3{font-size:25px}.method-step p{font-size:15px}.method-grid{column-gap:25px}.contact{min-height:650px;padding-top:45px}.contact h2{font-size:clamp(52px,13.2vw,95px)}.contact-bottom{margin-top:45px}.site-footer .wordmark{font-size:39px}.site-footer .brand-square{margin-top:12px}.site-footer .footer-top{gap:18px}.journey-opening{animation:none}}
@media(max-height:650px) and (min-width:701px){.journey-stage{min-height:480px}.journey-kicker{top:22%}#hero-title{font-size:18vw;bottom:15%}.journey-intention{bottom:7%}.journey-tools{top:95px}.journey-statement{top:31%}.journey-statement p{font-size:10vh}.journey-bottom{bottom:10px}.scene-label{font-size:10px}}
@media(prefers-reduced-motion:reduce){.journey{height:100svh;min-height:640px}.journey-stage{position:relative;min-height:640px}.journey-statement{display:none}.journey-opening{opacity:1!important;transform:none!important}.journey-track{display:none}.project-card{position:relative;top:auto}.project-image img{transform:none!important}}

html:not(.enhanced-site) .journey{height:100svh;min-height:640px}html:not(.enhanced-site) .journey-stage{min-height:640px}.no-webgl .journey-tools button{display:none}

/* Small supporting text stays readable, including narrow mobile viewports. */
.journey-bottom,.journey-tools,.journey-scroll{font-size:12px}.journey-scroll>span:first-child{font-size:12px;line-height:1.5}.journey-scroll>span:last-child{font-size:19px}
@media(max-width:700px){.journey-kicker,.scene-label,.journey-skip,.journey-statement>span,.project-badge{font-size:12px}.journey-scroll .scroll-extra{display:none}.journey-intention>span{display:none}.journey-intention{justify-content:center}.journey-enter{font-size:14px;gap:25px}.journey-scroll{gap:8px}.method-step p{font-size:16px}}
