.has-portal .site-header{position:fixed;inset:0 0 auto;width:100%;transition:background .6s,color .6s,border-color .6s}.has-portal.intro-active .site-header{background:transparent;border-bottom-color:#e9e0d31a;color:#f4f0e8}.intro-active .wordmark>span{color:#cbaa94}.intro-active .desktop-nav a:after{background:#cbaa94}.intro-active .status-dot{background:#cbaa94}.intro-active .menu-toggle>span{background:#f4f0e8}.intro-active.menu-open .site-header{background:var(--paper);color:var(--ink)}.intro-active.menu-open .menu-toggle>span{background:var(--ink)}.cinema-portal{height:155svh;position:relative;background:#202620;color:#f4f0e8}.portal-scene{height:100svh;position:sticky;top:0;overflow:hidden;isolation:isolate;background:radial-gradient(ellipse at 80% 45%,#56504555 0,transparent 50%),linear-gradient(110deg,#1c241f 10%,#30362e 58%,#222920);transform:scale(var(--portal-scale,1));transform-origin:50% 100%;border-radius:var(--portal-radius,0px);will-change:transform}.portal-scene:after{content:'';position:absolute;inset:0;pointer-events:none;background:linear-gradient(0deg,#101b1599,transparent 30%,transparent 75%,#111a1533);z-index:1}.portal-scene canvas{position:absolute;inset:0;width:100%;height:100%;opacity:.92;z-index:0}.portal-light{position:absolute;inset:-20%;z-index:0;background:linear-gradient(125deg,transparent 40%,#c4b49f08 48%,transparent 55%);transform:rotate(-8deg)}.portal-topnote{position:absolute;top:130px;left:56px;right:56px;display:flex;justify-content:space-between;color:#c2c6b9;font-size:7px;letter-spacing:2px;z-index:2}.portal-title{position:absolute;left:7%;top:27%;z-index:3;opacity:var(--portal-title-opacity,1);translate:0 var(--portal-title-shift,0px);will-change:translate}.portal-title .eyebrow{color:#bbbcb0;font-size:8px;letter-spacing:2px}.portal-title h2{font-family:var(--serif);font-size:clamp(80px,9vw,145px);line-height:.83;letter-spacing:-4px;margin:28px 0 32px}.portal-title h2 em{color:#c7aa92}.portal-title p{font-size:12px;line-height:1.9;color:#c9cabc}.portal-second{position:absolute;left:7%;right:7%;bottom:24%;font-family:var(--serif);font-size:clamp(43px,6.3vw,94px);line-height:1.02;letter-spacing:-2px;z-index:3;opacity:var(--portal-second-opacity,0);translate:0 var(--portal-second-shift,40px);pointer-events:none}.portal-second em{color:#c7aa92}.portal-bottom{position:absolute;bottom:49px;left:7%;right:7%;z-index:3;display:flex;align-items:center;justify-content:space-between;gap:30px}.portal-enter{display:flex;align-items:center;gap:18px;font-size:9px;letter-spacing:2px;color:#f4f0e8}.portal-enter small{display:block;color:#c4c7ba;font-size:9px;letter-spacing:0;margin-top:5px}.enter-orbit{display:flex;align-items:center;justify-content:center;width:57px;height:57px;border:1px solid #d7cab680;border-radius:50%;font-size:27px;line-height:1;transition:background .4s,color .4s,transform .4s}.portal-enter:hover .enter-orbit{background:#e6dac6;color:#263026;transform:rotate(-45deg)}.portal-scroll{font-size:7px;letter-spacing:1.7px;color:#cacbbd;display:flex;align-items:center;gap:20px}.portal-scroll i{font-size:21px;font-style:normal;animation:scroll-breathe 2s ease-in-out infinite}.portal-coordinate{font-size:7px;letter-spacing:1.2px;line-height:1.8;color:#b2b9a8;text-align:right}.has-portal .hero{padding-top:44px}.has-portal .project-grid{grid-template-columns:minmax(0,1fr);row-gap:44px}.has-portal .project-unfiltered{margin-top:0}.has-portal .project-cover{min-height:560px;padding:31px 36px}.has-portal .build-lab{font-size:clamp(110px,13.7vw,205px);line-height:.8;letter-spacing:-10px;margin-top:57px}.has-portal .lab-pill{top:165px;right:36px;font-size:8px}.has-portal .rod-art{width:73%;left:auto;right:-3%;bottom:21px;transform:rotate(-7deg)}.has-portal .yash-cover:hover .rod-art{transform:rotate(-1deg) translate(-6px,-15px)}.has-portal .cover-topline{font-size:8px;letter-spacing:1.3px}.has-portal .cover-bottomline{left:36px;right:36px;bottom:25px;font-size:8px}.has-portal .project-unfiltered .unfiltered-cover{min-height:510px;padding:31px 36px}.has-portal .project-unfiltered .unfiltered-wordmark{font-size:clamp(105px,13vw,185px);margin-top:60px;line-height:.76}.has-portal .project-unfiltered .unfiltered-aside{left:51%;top:46%;bottom:auto;font-size:28px}.has-portal .project-unfiltered .editorial-orbit{width:440px;height:440px;right:4%;top:30px;opacity:.7}.has-portal .project-unfiltered .cover-bottomline{left:36px;right:36px}.has-portal .project-caption h3{font-size:19px}.has-portal .project-caption p{font-size:12px}.has-portal .project-caption>span{font-size:8px}.motion-ready .portal-title{animation:portal-copy-in 1.4s cubic-bezier(.16,1,.3,1) .4s both}.motion-ready .portal-bottom{animation:portal-copy-in 1.3s cubic-bezier(.16,1,.3,1) .7s both}.motion-paused .portal-scene{transform:none;border-radius:0;will-change:auto}.motion-paused .portal-title{opacity:1;translate:0 0;animation:none}.motion-paused .portal-second{display:none}.motion-paused .portal-bottom{animation:none}.motion-paused .cinema-portal{height:100svh}.motion-paused .portal-scene{position:relative}@keyframes portal-copy-in{from{opacity:0;transform:translateY(35px)}to{opacity:1;transform:translateY(0)}}@keyframes scroll-breathe{50%{transform:translateY(6px)}}
@media(max-width:1150px){.portal-topnote{left:36px;right:36px;top:120px}.portal-title{left:6%;top:30%}.portal-title h2{font-size:10vw}.portal-bottom{left:6%;right:6%}.portal-second{left:6%;right:6%;font-size:7vw}.has-portal .project-cover{min-height:500px}.has-portal .project-unfiltered .unfiltered-cover{min-height:460px}.has-portal .project-unfiltered .unfiltered-wordmark{font-size:14vw}.has-portal .project-unfiltered .editorial-orbit{width:380px;height:380px}.has-portal .project-unfiltered .unfiltered-aside{font-size:24px;left:52%}.has-portal .cover-topline{font-size:7px}.has-portal .cover-bottomline{font-size:7px}}
@media(max-width:900px){.portal-title h2{font-size:11vw;letter-spacing:-3px}.portal-title p{font-size:11px}.portal-coordinate{display:none}.portal-bottom{bottom:37px}.portal-topnote{font-size:6px;letter-spacing:1.4px}.has-portal .project-cover{min-height:460px;padding:25px 28px}.has-portal .build-lab{font-size:16vw;letter-spacing:-7px}.has-portal .rod-art{width:82%;right:-10%}.has-portal .project-unfiltered .unfiltered-cover{min-height:430px;padding:25px 28px}.has-portal .project-unfiltered .unfiltered-wordmark{font-size:15vw}.has-portal .project-unfiltered .unfiltered-aside{left:51%;font-size:22px}.has-portal .project-unfiltered .editorial-orbit{width:340px;height:340px;right:0}.has-portal .cover-bottomline,.has-portal .project-unfiltered .cover-bottomline{left:28px;right:28px}.has-portal .lab-pill{right:27px}.has-portal .project-caption h3{font-size:17px}.has-portal .project-caption>span{font-size:7px}}
@media(max-width:700px){.cinema-portal{height:140svh}.portal-topnote{top:102px;left:21px;right:21px;font-size:6px;letter-spacing:1.1px}.portal-topnote>span:last-child{display:none}.portal-title{left:25px;right:20px;top:24%}.portal-title .eyebrow{font-size:6px;letter-spacing:1.3px}.portal-title h2{font-size:clamp(77px,20vw,120px);letter-spacing:-3px;margin:24px 0 27px;line-height:.83}.portal-title p{font-size:11px;line-height:1.8}.portal-scene canvas{opacity:.72}.portal-bottom{left:25px;right:25px;bottom:32px;align-items:flex-end;gap:20px}.portal-enter{font-size:7px;letter-spacing:1.5px;gap:12px}.enter-orbit{width:45px;height:45px;font-size:25px}.portal-enter small{font-size:7px;margin-top:6px;max-width:150px}.portal-scroll{font-size:5px;letter-spacing:1px;gap:10px;max-width:55px;line-height:1.6;flex-direction:column;align-items:flex-end}.portal-scroll i{font-size:18px}.portal-second{left:25px;right:25px;bottom:27%;font-size:11vw;letter-spacing:-1px}.has-portal .hero{padding-top:29px}.has-portal .project-cover{min-height:440px;padding:22px}.has-portal .build-lab{font-size:105px;letter-spacing:-6px;margin-top:55px}.has-portal .rod-art{width:112%;right:auto;left:-2%;bottom:25px;transform:rotate(-3deg)}.has-portal .cover-topline{font-size:6px;letter-spacing:.6px}.has-portal .cover-bottomline,.has-portal .project-unfiltered .cover-bottomline{left:22px;right:22px;bottom:20px;font-size:6px;letter-spacing:.6px}.has-portal .lab-pill{top:162px;right:24px;font-size:6px}.has-portal .project-unfiltered .unfiltered-cover{min-height:440px;padding:22px}.has-portal .project-unfiltered .unfiltered-wordmark{font-size:94px;margin-top:53px}.has-portal .project-unfiltered .unfiltered-aside{left:22px;top:auto;bottom:86px;font-size:20px}.has-portal .project-unfiltered .editorial-orbit{width:250px;height:250px;right:-57px;top:151px}.has-portal .project-caption h3{font-size:16px}.has-portal .project-caption p{font-size:10px}.has-portal .project-caption>span{font-size:6px}.has-portal .project-grid{row-gap:35px}}
@media(max-width:370px){.portal-title h2{font-size:22vw}.portal-enter{font-size:6px;gap:10px}.portal-enter small{font-size:6px}.has-portal .project-cover{min-height:395px}.has-portal .build-lab{font-size:90px}.has-portal .project-unfiltered .unfiltered-cover{min-height:395px}.has-portal .project-unfiltered .unfiltered-wordmark{font-size:82px}}
@media(prefers-reduced-motion:reduce){.cinema-portal{height:100svh}.portal-scene{position:relative;transform:none!important;border-radius:0!important}.portal-title,.portal-bottom{animation:none!important;opacity:1!important;translate:0 0!important}.portal-second{display:none}}
/* The wrapper follows scroll; only its children carry the opening animation. */
.motion-ready .portal-title{animation:none}.motion-ready .portal-title>span,.motion-ready .portal-title>h2,.motion-ready .portal-title>p{animation:portal-copy-in 1.4s cubic-bezier(.16,1,.3,1) .4s both}.motion-ready .portal-title>p{animation-delay:.55s}.motion-paused .portal-title>*{animation:none}
@media(prefers-reduced-motion:reduce){.motion-ready .portal-title>*{animation:none!important}}
.has-portal.motion-ready .hero-visual{animation:none}.has-portal .hero-copy:not(.is-in) .hero-line{animation:none}.has-portal.motion-ready .hero-copy.is-in .hero-line{animation:line-entrance 1.1s cubic-bezier(.16,1,.3,1) .08s both}.has-portal.motion-ready .hero-copy.is-in .hero-line:nth-child(2){animation-delay:.17s}.has-portal.motion-ready .hero-copy.is-in .hero-line:nth-child(3){animation-delay:.26s}
