/* Editorial acts: each scene holds briefly, changes, then releases naturally. */
.perspective-steps,.portal-caption,.portal-veil,.journal-timeline,.journal-wayfinding,.journal-orbit-lines,.venture-ambient-title{display:none}
.scroll-cinema .about{height:220svh;padding:0;position:relative}
.scroll-cinema .about-pin{position:sticky;top:0;height:100svh;padding:110px var(--gutter) 90px;z-index:5;overflow:clip}
.scroll-cinema .about-pin .section-kicker{margin-bottom:40px}
.scroll-cinema .about-grid{min-height:0;height:calc(100svh - 270px);align-items:center;transform:translate3d(0,var(--perspective-lift,0px),0);opacity:var(--perspective-opacity,1);transition:none}
.scroll-cinema .about-heading{position:relative;top:auto;align-self:center}
.scroll-cinema .about-heading h2{font-size:clamp(60px,6.1vw,90px)}
.scroll-cinema .about-copy{padding:0;position:relative;min-height:240px;display:flex;align-items:center}
.scroll-cinema .about-copy .lead{font:400 clamp(27px,2.6vw,38px)/1.25 var(--serif);max-width:400px;margin:0;opacity:var(--lead-opacity,1);transform:translateY(var(--lead-lift,0px));transition:none}
.scroll-cinema .perspective-details{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:center;opacity:var(--detail-opacity,0);transform:translateY(var(--detail-lift,25px));pointer-events:none}
.scroll-cinema .perspective-details.is-active{pointer-events:auto}
.scroll-cinema .perspective-details p{font-size:15px;line-height:1.75;margin-bottom:15px}
.scroll-cinema .perspective-details .text-link{align-self:flex-start;font-size:13px}
.scroll-cinema .about-pin .credentials{position:absolute;left:var(--gutter);right:var(--gutter);top:50%;translate:0 -50%;margin:0;border:0;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:26px;transform:perspective(1800px) translate3d(0,var(--credentials-lift,70px),var(--credentials-z,-100px)) rotateX(var(--credentials-turn,12deg));opacity:var(--credentials-opacity,0);transition:none}
.scroll-cinema .credentials-intro{grid-column:1/3;display:flex;justify-content:space-between;align-items:flex-end;gap:24px;margin-bottom:5px}
.scroll-cinema .credentials-intro p{font-size:14px;margin:0;line-height:1.6}
.scroll-cinema .credential{grid-template-columns:30px 1fr;gap:5px 18px;padding:30px 35px 35px;border-top:1px solid #b9aa8c;border-bottom:1px solid #d9d0be;background:linear-gradient(135deg,#ffffff30,#b4a27e0a);box-shadow:0 20px 45px #5c4b2c06}
.scroll-cinema .credential-title{font-size:clamp(100px,12vw,175px);line-height:1;letter-spacing:-.065em}
.scroll-cinema .credential-no{font-size:22px;margin-top:12px}
.scroll-cinema .credential-label{font-size:12px;margin-top:14px}
.scroll-cinema .about-pin .foundation-mark{display:none}
.scroll-cinema .perspective-steps{display:grid;grid-template-columns:repeat(3,1fr);gap:25px;position:absolute;left:var(--gutter);right:var(--gutter);bottom:80px}
.perspective-steps button{position:relative;display:flex;gap:14px;align-items:center;text-align:left;min-height:44px;padding:15px 0 4px;border:0;border-top:1px solid #b8b19f;background:transparent;color:#7c7868;font-size:10px;font-variant-numeric:tabular-nums}
.perspective-steps button span{font-size:11px;color:#76725f}
.perspective-steps button:before{content:'';position:absolute;top:-1px;left:0;right:0;height:2px;background:#887047;transform-origin:left;scale:var(--beat-fill,0) 1}
.perspective-steps button.active span{color:#292b22}
.scroll-cinema .about-pin .reveal.pending{opacity:1;translate:none}
/* Each venture becomes a small cinematic set, with separately moving planes. */
.scroll-cinema .venture-pin:before{content:'';position:absolute;inset:0;z-index:-1;background:radial-gradient(ellipse at 60% 50%,#d6c1960c,transparent 65%),var(--venture-set,#1e211a);transition:background-color .8s var(--cinema-ease);pointer-events:none}
.scroll-cinema .venture-ambient-title{display:block;position:absolute;left:3%;top:25%;white-space:nowrap;font:italic 30vw/.8 var(--serif);letter-spacing:-.06em;color:#dfd6bd09;z-index:-1;pointer-events:none;transform:translateX(var(--wall-drift,0px))}
.scroll-cinema .venture-art:before{content:'';position:absolute;inset:-25%;background:linear-gradient(112deg,transparent 38%,#f1e3bc12 48%,transparent 57%);translate:var(--light-sweep,0px) 0;z-index:4;pointer-events:none}
.scroll-cinema .wire-sphere{transform:rotateZ(-25deg) rotateY(var(--art-turn,25deg)) scale(var(--art-scale,1));animation:none}
.scroll-cinema .glass-stack{transform:perspective(900px) translate3d(0,var(--art-drift,0px),0) rotateZ(var(--glass-turn,-18deg)) scale(var(--art-scale,1));animation:none}
.scroll-cinema .ribbon{transform:translateY(var(--art-drift,0px)) rotate(var(--ribbon-turn,-36deg));animation:none}
.scroll-cinema .lens{transform:perspective(600px) rotateY(var(--lens-turn,-19deg)) rotateX(14deg) scale(var(--art-scale,1));animation:none}
.scroll-cinema .venture-art-type{translate:0 var(--type-drift,0px)}
.scroll-cinema .venture-info{transform:perspective(1700px) translate3d(var(--info-shift,0px),0,var(--info-depth,0px));opacity:var(--info-opacity,1);transition:none}
/* A real metallic aperture crosses the camera, then the paper world resolves. */
.scroll-cinema .manifesto-track{height:270svh;background:#151712;transition:none}
.scroll-cinema .manifesto{height:100svh;min-height:0;overflow:clip}
.scroll-cinema .portal-veil{display:block;position:absolute;inset:0;z-index:1;background:radial-gradient(ellipse at center,transparent 25%,#0006);opacity:var(--portal-vignette,1);pointer-events:none}
.scroll-cinema .portal-caption{display:flex;position:absolute;inset:0;z-index:7;flex-direction:column;align-items:center;justify-content:center;gap:24px;color:#e6dcca;text-align:center;opacity:var(--portal-caption-opacity,1);transform:translateY(var(--portal-caption-y,0px)) scale(var(--portal-caption-scale,1));pointer-events:none}
.portal-caption .eyebrow{font-size:10px;color:#c9b58e}
.portal-word{font:italic clamp(80px,14vw,210px)/1 var(--serif);letter-spacing:-.05em;text-shadow:0 4px 40px #0009}
.portal-hint{font-size:11px;letter-spacing:.03em;color:#bfb8a6}
.scroll-cinema .manifesto>p,.scroll-cinema .manifesto>.eyebrow,.scroll-cinema .manifesto-signoff{opacity:var(--statement-opacity,0);transform:translateY(var(--statement-lift,50px));transition:none}
.scroll-cinema .manifesto-orbit{opacity:var(--statement-opacity,0)}
/* The notebook's covers travel through an orbit, settle, and become readable. */
.scroll-cinema .notebook{padding-bottom:45px}
.scroll-cinema .journal-track{height:220svh;position:relative;margin-left:calc(-1 * var(--gutter));margin-right:calc(-1 * var(--gutter))}
.scroll-cinema .journal-pin{position:sticky;top:0;height:100svh;padding:120px var(--gutter) 85px;display:flex;flex-direction:column;justify-content:center;z-index:5;overflow:clip}
.scroll-cinema .journal-timeline{display:flex;justify-content:space-between;gap:20px;position:absolute;top:100px;left:var(--gutter);right:var(--gutter);font-size:9px;color:#80755e}
.scroll-cinema .journal-grid{perspective:1600px;transform-style:preserve-3d;gap:7%;width:100%;position:relative;z-index:6}
.scroll-cinema .journal-entry{min-width:0;transform:perspective(1600px) translate3d(var(--note-x,0px),var(--note-y,0px),var(--note-z,0px)) rotateX(var(--note-tilt,0deg)) rotateY(var(--note-turn,0deg)) rotateZ(var(--note-roll,0deg)) scale(var(--note-scale,1));opacity:var(--note-opacity,1);transform-origin:50% 55%;transition:none;will-change:transform;filter:blur(var(--note-blur,0px))}
.scroll-cinema .journal-entry.reveal.pending{opacity:var(--note-opacity,1);translate:none}
.scroll-cinema .journal-cover{height:min(36svh,300px);aspect-ratio:auto;box-shadow:0 24px 45px #5c4b2c1a;transform:none}
.scroll-cinema .journal-cover>span{font-size:clamp(48px,5vw,76px)}
.scroll-cinema .journal-entry h3{font-size:31px;line-height:1.1;margin-bottom:16px}
.scroll-cinema .journal-meta{font-size:10px;margin:20px 0 14px}
.scroll-cinema .journal-entry .text-link{min-height:40px;font-size:12px;padding-top:2px;padding-bottom:2px}
.scroll-cinema .journal-orbit-lines{display:block;position:absolute;inset:15% 6%;border:1px solid #b7a37d33;border-radius:50%;transform:perspective(1200px) rotateX(35deg) rotateZ(var(--journal-orbit,-20deg));z-index:-1;pointer-events:none}
.journal-orbit-lines:after{content:'';position:absolute;inset:-15% 12%;border:1px solid #b7a37d22;border-radius:50%;rotate:35deg}
.scroll-cinema .journal-wayfinding{display:grid;grid-template-columns:1fr 1fr;gap:7%;margin-top:24px;z-index:7}
.journal-wayfinding button{display:flex;align-items:center;gap:14px;font-size:11px;text-align:left;min-height:44px;border:0;border-top:1px solid #c3b79e;background:transparent;color:#706b5a;position:relative;padding:12px 0 0}
.journal-wayfinding button span{font-size:9px;color:#887047}
.journal-wayfinding button:before{content:'';position:absolute;top:-1px;left:0;right:0;height:2px;background:#887047;transform-origin:left;scale:var(--note-fill,0) 1}
.journal-wayfinding button.active{color:#30352a}
/* A final held composition gives the contact action space to land. */
.scroll-cinema .contact{height:175svh;padding:0;min-height:0;background:radial-gradient(ellipse at 85% 50%,#41362330,transparent 65%),#151712}
.scroll-cinema .contact-pin{position:sticky;top:0;height:100svh;padding:110px var(--gutter) 100px;z-index:5;display:flex;flex-direction:column;justify-content:center;overflow:clip}
.scroll-cinema .contact-pin .section-kicker{margin-bottom:35px;flex-shrink:0}
.scroll-cinema .contact-content{transform:perspective(1700px) translate3d(0,var(--closing-lift,40px),0) rotateX(var(--closing-turn,4deg));transform-origin:50% 80%;opacity:var(--closing-opacity,1);transition:none}
.scroll-cinema .contact h2{font-size:clamp(76px,9vw,125px);line-height:.93}
.scroll-cinema .contact-bottom{margin-top:24px}
.scroll-cinema .contact .email-link{margin-top:20px;min-height:40px}
.scroll-cinema .contact-arrow{width:76px;height:76px;font-size:38px}
.scroll-cinema .contact-watermark{position:absolute;bottom:15%;right:8%;transform:translateY(var(--closing-watermark,0px)) scale(var(--closing-watermark-scale,1));font-size:350px}
@media(max-height:740px) and (min-width:761px){.scroll-cinema .about-pin{padding-top:105px}.scroll-cinema .about-pin .section-kicker{margin-bottom:20px}.scroll-cinema .about-heading h2{font-size:66px}.scroll-cinema .signature{font-size:32px}.scroll-cinema .about-copy{min-height:220px}.scroll-cinema .journal-cover{height:28svh}.scroll-cinema .journal-entry h3{font-size:27px}.scroll-cinema .journal-timeline{top:92px}.scroll-cinema .contact h2{font-size:100px}.scroll-cinema .contact-pin{padding-top:105px;padding-bottom:90px}}
@media(max-width:760px){
 .scroll-cinema .about{height:230svh}
 .scroll-cinema .about-pin{padding:105px var(--gutter) 90px}
 .scroll-cinema .about-pin .section-kicker{margin-bottom:0}
 .scroll-cinema .about-grid{position:absolute;top:180px;left:var(--gutter);right:var(--gutter);width:auto;height:auto;display:block}
 .scroll-cinema .about-heading h2{font-size:clamp(40px,10.8vw,55px)}
 .scroll-cinema .about-heading .signature{display:none}
 .scroll-cinema .about-copy{margin-top:32px;min-height:230px;display:block}
 .scroll-cinema .about-copy .lead{font-size:25px;line-height:1.25;max-width:300px}
 .scroll-cinema .perspective-details{justify-content:flex-start}
 .scroll-cinema .perspective-details p{font-size:14px;line-height:1.65;margin-bottom:14px}
 .scroll-cinema .perspective-details .text-link{font-size:12px}
 .scroll-cinema .about-pin .credentials{gap:20px}
 .scroll-cinema .credentials-intro{display:block;grid-column:1/3}
 .scroll-cinema .credentials-intro p{font-size:12px;margin-top:16px}
 .scroll-cinema .credential{grid-template-columns:17px 1fr;gap:0 7px;padding:20px 10px 23px}
 .scroll-cinema .credential-title{font-size:clamp(55px,17vw,95px)}
 .scroll-cinema .credential-no{font-size:15px;margin-top:8px}
 .scroll-cinema .credential-label{grid-column:1/3;font-size:10px;margin-top:16px}
 .scroll-cinema .perspective-steps{gap:12px;bottom:85px}
 .perspective-steps button{gap:7px;font-size:8px;align-items:flex-start;padding-top:13px;line-height:1.5}
 .perspective-steps button span{font-size:9px}
 .scroll-cinema .manifesto-track{height:240svh}
 .portal-caption .eyebrow{font-size:9px}.portal-word{font-size:clamp(65px,18vw,110px)}.portal-hint{font-size:10px;max-width:230px;line-height:1.6}
 .scroll-cinema .journal-track{height:220svh}
 .scroll-cinema .journal-pin{padding:120px var(--gutter) 85px;justify-content:center}
 .scroll-cinema .journal-timeline{top:100px;font-size:8px}.journal-timeline>span:last-child{display:none}
 .scroll-cinema .journal-grid{height:calc(100svh - 280px);display:block;perspective:1100px}
 .scroll-cinema .journal-entry{position:absolute;top:0;left:0;right:0;width:100%;transform:perspective(1100px) translate3d(var(--note-x,0px),var(--note-y,0px),var(--note-z,0px)) rotateX(var(--note-tilt,0deg)) rotateY(var(--note-turn,0deg)) rotateZ(var(--note-roll,0deg)) scale(var(--note-scale,1));opacity:var(--note-opacity,1)}
 .scroll-cinema .journal-cover{height:clamp(160px,calc(100svh - 470px),300px)}
 .scroll-cinema .journal-cover>span{font-size:58px}
 .scroll-cinema .journal-meta{font-size:9px;margin:17px 0 12px}
 .scroll-cinema .journal-entry h3{font-size:29px;line-height:1.08;margin-bottom:12px}
 .scroll-cinema .journal-entry .text-link{min-height:40px;font-size:12px}
 .scroll-cinema .journal-wayfinding{gap:18px;margin-top:20px}
 .journal-wayfinding button{font-size:9px;line-height:1.4;gap:8px;align-items:flex-start;min-height:44px;padding-top:12px}
 .journal-wayfinding button span{font-size:8px}
 .scroll-cinema .contact{height:165svh}
 .scroll-cinema .contact-pin{padding:105px var(--gutter) 95px}
 .scroll-cinema .contact-pin .section-kicker{margin-bottom:35px}
 .scroll-cinema .contact h2{font-size:clamp(58px,12.5vw,90px)}
 .scroll-cinema .contact-bottom{margin-top:25px}.scroll-cinema .contact-arrow{height:62px;width:62px;font-size:30px}
 .scroll-cinema .contact-watermark{font-size:260px;right:12%;bottom:10%}
}
@media(max-width:370px){.scroll-cinema .about-grid{top:163px}.scroll-cinema .about-copy{margin-top:24px}.scroll-cinema .about-copy .lead{font-size:23px}.scroll-cinema .perspective-details p{font-size:13px;line-height:1.6}.scroll-cinema .perspective-steps{gap:9px}.perspective-steps button{gap:4px}.perspective-steps button span{font-size:8px}.scroll-cinema .journal-entry h3{font-size:26px}.scroll-cinema .journal-cover>span{font-size:52px}.scroll-cinema .journal-meta{font-size:8px}.scroll-cinema .contact h2{font-size:57px}}
/* Reset all cinematic-only content when motion is off or the viewport is short. */
.immersive:not(.scroll-cinema) .journal-entry{inset:auto;opacity:1;filter:none;transform:none}
.immersive:not(.scroll-cinema) .perspective-details{opacity:1;transform:none;pointer-events:auto}
/* Clip decoration without creating a scrolling ancestor for the final pin. */
.scroll-cinema .contact{overflow:clip}
/* Scroll timelines take precedence over the older one-time reveal classes. */
.scroll-cinema .about-pin .credentials.reveal{opacity:var(--credentials-opacity,0)}
.scroll-cinema .manifesto>p.reveal{opacity:var(--statement-opacity,0)}
.scroll-cinema .journal-entry.reveal{opacity:var(--note-opacity,1)}
.scroll-cinema .manifesto-signoff.reveal{opacity:var(--statement-opacity,0)}
