/* A scroll-directed fashion installation. Content below the stage stays intact. */
.cinema-runway{position:relative;height:145svh;background:#09090d;isolation:isolate}
.cinema-runway>.cinema-stage{position:sticky;top:var(--header-height);height:calc(100svh - var(--header-height));min-height:0;max-height:none;overflow:hidden;background:#09090d;isolation:isolate;clip-path:inset(0 round 0)}
.cinema-stage .hero-collage,.cinema-stage>.hero-shade,.cinema-stage .page-hero-art,.cinema-stage .page-watermark,.cinema-stage .hero-side-label,.cinema-stage .page-hero-lines,.cinema-stage .hero-bottom{display:none!important}
.cinema-stage>.cinema-world{position:absolute;inset:0;z-index:0;perspective:1100px;overflow:hidden;background:radial-gradient(ellipse at 78% 42%,#4b28364d,transparent 48%),radial-gradient(ellipse at 40% 105%,#76364538,transparent 48%),#09090d}
.cinema-canvas{position:absolute;inset:0;width:100%;height:100%;opacity:.9;pointer-events:none}
.cinema-halo{position:absolute;left:40%;top:9%;width:70%;height:85%;border:1px solid #e9b4c134;border-radius:50%;transform:rotate(-24deg) rotateX(52deg);box-shadow:0 0 45px #ed7c9d0d,inset 0 0 45px #ed7c9d0d;pointer-events:none}
.cinema-halo:nth-of-type(2){left:28%;top:10%;height:75%;width:80%;transform:rotate(30deg) rotateX(58deg);border-color:#e9b4c116}
.cinema-backword{position:absolute;left:-1%;bottom:1%;font:500 clamp(110px,19.5vw,370px)/.85 Arial,sans-serif;letter-spacing:-.07em;color:transparent;-webkit-text-stroke:1px #ecd2dc21;white-space:nowrap;user-select:none;pointer-events:none;transform-origin:left bottom}
.cinema-orbit{position:absolute;left:72%;top:48%;width:0;height:0;transform-style:preserve-3d;pointer-events:none}
.cinema-photo{position:absolute;left:0;top:0;width:clamp(185px,19vw,330px);aspect-ratio:.72;margin:0;transform-style:preserve-3d;transform-origin:center;will-change:transform;border:1px solid #fff4;border-radius:3px;background:#24212a;box-shadow:0 25px 70px #0008;overflow:hidden;backface-visibility:hidden}
.cinema-photo img{display:block;width:100%;height:100%;object-fit:cover;object-position:50% 8%;filter:saturate(.78);pointer-events:none}
.cinema-photo:after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(125deg,#fff3,transparent 35%,transparent 65%,#b67a9224);box-shadow:inset 0 0 0 5px #fff1}
.cinema-photo figcaption{position:absolute;left:13px;bottom:12px;font:600 8px/1.4 Arial,sans-serif;letter-spacing:2px;color:#fff;text-shadow:0 1px 9px #000}
.cinema-photo:nth-child(2),.cinema-photo:nth-child(4){width:clamp(135px,14vw,240px)}
.cinema-photo:nth-child(3),.cinema-photo:nth-child(5){width:clamp(150px,16vw,270px)}
.cinema-stage .hero-content,.cinema-stage.page-hero>.wrap{position:relative;z-index:2;pointer-events:none;height:100%;width:89%;max-width:1440px;display:flex;align-items:flex-start;justify-content:center;flex-direction:column;gap:0;padding-top:0;padding-bottom:50px;will-change:transform,opacity}
.cinema-stage .hero-content>*{max-width:49%}
.cinema-stage .hero-content .headline-frame{max-width:57%}
.cinema-stage .hero-content h1,.cinema-stage .page-hero-content h1{font-size:clamp(38px,4.5vw,76px);text-shadow:0 8px 40px #000a;letter-spacing:-.035em;line-height:1.28}
.cinema-stage .hero-content .eyebrow,.cinema-stage .page-hero-content .eyebrow{font-size:10px;letter-spacing:2.3px;color:#e8a2bc;line-height:1.8}
.cinema-stage .hero-content .hero-description,.cinema-stage .page-hero-content .hero-description{font-size:13px;line-height:2.1;color:#c5bdc5;text-shadow:0 2px 15px #000}
.cinema-stage .hero-actions,.cinema-stage .hero-actions a{pointer-events:auto}
.cinema-stage .page-hero-content{max-width:48%;pointer-events:auto}
.cinema-stage .page-hero-content h1 span{color:#f68bad}
.cinema-statement{position:absolute;z-index:3;left:5.5%;top:50%;margin:0;max-width:57%;color:#fff5f9;font:800 italic clamp(42px,6.4vw,108px)/1.22 var(--font);letter-spacing:-.04em;pointer-events:none;opacity:0;transform:translateY(-38%);text-shadow:0 7px 45px #0008}
.cinema-statement small{display:block;margin-bottom:23px;font:500 10px/1.6 Arial,sans-serif;color:#e99bb7;letter-spacing:4px}
.cinema-statement em{color:transparent;-webkit-text-stroke:1px #f1b1c7;font-style:inherit}
.cinema-bottom{position:absolute;bottom:27px;left:5.5%;right:5.5%;z-index:5;display:flex;align-items:center;gap:25px;color:#b6aab7;font:500 9px/1.5 Arial,sans-serif;letter-spacing:2px}
.cinema-scroll{display:flex;align-items:center;gap:12px;letter-spacing:1px;color:#f1d5e2;min-height:34px;font-family:var(--font);text-decoration:none;white-space:nowrap}
.cinema-scroll:before{content:"";display:block;width:30px;height:1px;background:#f4b0ca}
.cinema-chapters{margin-left:auto;display:flex;gap:25px;align-items:center}
.cinema-chapters span{opacity:.45;transition:opacity .35s,color .35s;white-space:nowrap}
.cinema-chapters span.is-current{opacity:1;color:#ffe4ef}
.cinema-chapters b{font-weight:400;color:#f48db2;margin-right:9px}
.cinema-track{width:100px;height:1px;background:#ffffff25}
.cinema-track i{display:block;height:100%;background:#f6a1be;transform:scaleX(0);transform-origin:left}
.cinema-scroll:focus-visible{outline:1px solid #f8bad2;outline-offset:5px}
.cinema-hover{position:relative;transform-style:preserve-3d}
.cinema-hover.reveal.is-visible{transform:perspective(1000px) rotateX(var(--tilt-x,0deg)) rotateY(var(--tilt-y,0deg))}
.cinema-hover:after{content:"";position:absolute;inset:0;z-index:6;pointer-events:none;border-radius:inherit;background:radial-gradient(circle at var(--glare-x,50%) var(--glare-y,50%),#fff1,transparent 60%);opacity:0;transition:opacity .4s}
.cinema-hover.is-hovered:after{opacity:1}
.cinema-wipe{position:fixed;inset:0;z-index:1500;display:flex;pointer-events:none}
.cinema-wipe i{width:calc(100% / 3 + 1px);margin-right:-1px;background:linear-gradient(160deg,#381d2c,#b94c72);animation:cinema-wipe .68s cubic-bezier(.76,0,.24,1) both}
.cinema-wipe i:nth-child(2){animation-delay:.055s}.cinema-wipe i:nth-child(3){animation-delay:.11s}
@keyframes cinema-wipe{0%{transform:translateY(101%)}43%{transform:translateY(0)}100%{transform:translateY(-101%)}}
@media(min-width:1700px){.cinema-orbit{left:69%}}
@media(max-width:1000px) and (min-width:761px){.cinema-stage .hero-content h1,.cinema-stage .page-hero-content h1{font-size:42px}.cinema-chapters{gap:15px}.cinema-track{width:60px}}
@media(max-width:760px){
 .cinema-runway{height:135svh}
 .cinema-orbit{left:55%;top:31%}
 .cinema-photo{width:clamp(140px,40vw,210px)}
 .cinema-photo:nth-child(2),.cinema-photo:nth-child(4){width:clamp(115px,31vw,165px)}
 .cinema-photo:nth-child(3),.cinema-photo:nth-child(5){width:clamp(120px,33vw,175px)}
 .cinema-backword{font-size:31vw;bottom:41%;opacity:.65}
 .cinema-stage .hero-content,.cinema-stage.page-hero>.wrap{justify-content:flex-end;width:89%;padding-bottom:78px}
 .cinema-stage .hero-content>*,.cinema-stage .hero-content .headline-frame{max-width:100%}
 .cinema-stage .hero-content h1,.cinema-stage .page-hero-content h1{font-size:clamp(30px,8.8vw,48px);line-height:1.22;max-width:none}
 .cinema-stage .hero-content .eyebrow,.cinema-stage .page-hero-content .eyebrow{font-size:8px;letter-spacing:1.6px;margin-bottom:14px}
 .cinema-stage .hero-content .hero-description,.cinema-stage .page-hero-content .hero-description{font-size:10px;line-height:1.9;max-width:100%;margin-top:15px}
 .cinema-stage .hero-content .hero-description{margin-top:18px}
 .cinema-stage .hero-actions{margin-top:18px;gap:10px}
 .cinema-stage .hero-actions .fashion-button{font-size:10px;min-height:40px;padding:10px 16px}
 .cinema-stage .page-hero-content{max-width:100%;width:100%;padding:0}
 .cinema-statement{top:auto;bottom:115px;max-width:90%;font-size:clamp(32px,10vw,52px);transform:none}
 .cinema-statement small{font-size:8px;margin-bottom:16px;letter-spacing:2.5px}
 .cinema-bottom{bottom:20px;gap:10px;letter-spacing:1px;font-size:7px}
 .cinema-scroll{font-size:9px;gap:7px}.cinema-scroll:before{width:18px}
 .cinema-chapters{gap:10px}.cinema-chapters span{font-size:0}.cinema-chapters b{font-size:10px;margin:0}
 .cinema-track{width:45px}
 .cinema-halo{left:-10%;top:0;width:140%;height:65%}
 .cinema-halo:nth-of-type(2){left:-20%;width:150%;height:60%;top:5%}
}
@media(prefers-reduced-motion:reduce){.cinema-runway{height:auto}.cinema-wipe{display:none}.cinema-hover.reveal.is-visible{transform:none}}

/* Each plane becomes one of the original edge-to-edge diagonal portrait strips. */
.cinema-stage .cinema-orbit{left:0;top:0;width:100%;height:100%}
.cinema-photo img{position:absolute;max-width:none;object-fit:fill;filter:saturate(.78);mask-image:linear-gradient(#000 calc(78% + var(--piece-glass,1)*22%),transparent 100%)}
.cinema-photo:after{opacity:var(--piece-glass,1)}
.cinema-photo img{transform-origin:0 0;will-change:transform}
.cinema-assembly-shade{position:absolute;inset:0;z-index:1;pointer-events:none;opacity:0;background:linear-gradient(90deg,#0b071452,#08070a38 52%,#6f153c38),linear-gradient(180deg,#0001,#09070d38 42%,#0a080cc7 100%)}

/* Module-specific scroll choreography, keeping all approved content in place. */
.scroll-module{--module-p:0}
.scroll-business .business-panel{transform:perspective(1100px) translateX(calc((1 - var(--module-p))*-48px)) rotateY(calc((1 - var(--module-p))*9deg));transform-origin:left center;transition:transform .18s linear}
.scroll-business:nth-child(even) .business-panel{transform:perspective(1100px) translateX(calc((1 - var(--module-p))*48px)) rotateY(calc((1 - var(--module-p))*-9deg));transform-origin:right center}
.scroll-business .panel-art:not(.panel-art-single){clip-path:inset(0 calc((1 - var(--module-p))*70%) 0 0);transition:clip-path .18s linear}
.scroll-business:nth-child(even) .panel-art:not(.panel-art-single){clip-path:inset(0 0 0 calc((1 - var(--module-p))*70%))}
.scroll-business .panel-art img{scale:calc(1.08 - var(--module-p)*.08);transition:scale .18s linear,transform 1s var(--motion-ease)}
.scroll-business .panel-original{translate:0 calc((1 - var(--module-p))*18px);transition:translate .2s linear}
.scroll-intro .intro-word{display:block;translate:calc((1 - var(--module-p))*45px) 0;transition:translate .2s linear}
.scroll-intro .intro-portraits{translate:0 calc((var(--module-p) - .5)*30px);transition:translate .2s linear}
.scroll-intro .intro-main h3{background:linear-gradient(90deg,#fff2f7 calc(var(--module-p)*100%),#948b99 0);background-clip:text;-webkit-background-clip:text;color:transparent}
.scroll-service .service-art{translate:0 calc((1 - var(--module-p))*25px);transition:translate .25s var(--motion-ease)}
.scroll-brand .brand-image>img{clip-path:inset(0 calc((1 - var(--module-p))*48%) 0 calc((1 - var(--module-p))*48%));scale:calc(1.075 - var(--module-p)*.075);transform-origin:50% 0%;transition:clip-path .22s linear,scale .22s linear,transform 1.2s var(--motion-ease)}
.scroll-brand .brand-copy{translate:0 calc((1 - var(--module-p))*16px);transition:translate .22s linear}
.scroll-capability strong{display:inline-block;scale:calc(.8 + var(--module-p)*.2);transform-origin:left;transition:scale .22s linear}
.scroll-capability span{opacity:calc(.55 + var(--module-p)*.45);transition:opacity .22s linear}
.scroll-visual>img{clip-path:inset(0 calc((1 - var(--module-p))*85%) 0 0);transition:clip-path .2s linear,transform 1.2s var(--motion-ease)}
.scroll-visual figcaption{translate:calc((1 - var(--module-p))*-22px) 0;transition:translate .22s linear}
.workflow .workflow-list article.scroll-workflow:before{content:"";position:absolute;left:0;top:-1px;width:100%;height:2px;background:linear-gradient(90deg,#ec6e9b,#e9b9c7);transform:scaleX(var(--module-p));transform-origin:left;transition:transform .22s linear;pointer-events:none}
.workflow .workflow-list .scroll-workflow .workflow-number{translate:0 calc((1 - var(--module-p))*14px);opacity:calc(.45 + var(--module-p)*.55);transition:translate .22s linear,opacity .22s linear}
.workflow .workflow-list .scroll-workflow h3{background:linear-gradient(90deg,#fff2f7 calc(var(--module-p)*100%),#948b99 0);background-clip:text;-webkit-background-clip:text;color:transparent}
.workflow .workflow-list .scroll-workflow p{opacity:calc(.6 + var(--module-p)*.4);transition:opacity .22s linear}
.scroll-support .support-top{translate:0 calc((1 - var(--module-p))*20px);transition:translate .22s linear}
.scroll-footer .footer-portraits{translate:calc((1 - var(--module-p))*35px) 0;opacity:calc(.4 + var(--module-p)*.6);transition:translate .22s linear,opacity .22s linear}
.scroll-footer .footer-outline{translate:calc((1 - var(--module-p))*-90px) 0;transition:translate .25s linear}
@media(max-width:760px){
 .cinema-assembly-shade{background:linear-gradient(90deg,#8c002922,transparent 50%,#8c002922),linear-gradient(180deg,transparent 15%,#18181833 32%,#181818dd 60%,#09090d 72%)}
 .scroll-business .business-panel,.scroll-business:nth-child(even) .business-panel{transform:translateY(calc((1 - var(--module-p))*20px))}
 .scroll-intro .intro-portraits{translate:0 calc((var(--module-p) - .5)*15px)}
 .scroll-footer .footer-portraits{translate:calc((1 - var(--module-p))*15px) 0}
}
@media(prefers-reduced-motion:reduce){
 .scroll-business .business-panel,.scroll-business:nth-child(even) .business-panel{transform:none}
 .scroll-business .panel-art,.scroll-business:nth-child(even) .panel-art:not(.panel-art-single){clip-path:none}
 .scroll-business .panel-art img,.scroll-brand .brand-image>img,.scroll-capability strong{scale:1}
 .scroll-business .panel-original,.scroll-brand .brand-copy,.scroll-service .service-art,.scroll-support .support-top,.scroll-intro .intro-word,.scroll-intro .intro-portraits,.scroll-visual figcaption,.scroll-footer .footer-portraits,.scroll-footer .footer-outline,.workflow .workflow-list .scroll-workflow .workflow-number{translate:none}
 .scroll-brand .brand-image>img,.scroll-visual>img{clip-path:none}
 .scroll-intro .intro-main h3,.workflow .workflow-list .scroll-workflow h3{background:none;color:#fff2f7}
 .scroll-capability span,.workflow .workflow-list .scroll-workflow .workflow-number,.workflow .workflow-list .scroll-workflow p,.scroll-footer .footer-portraits{opacity:1}
 .workflow .workflow-list article.scroll-workflow:before{transform:scaleX(1)}
}
