/* The scene is a spatial journey controlled entirely by native scroll. */
html{scroll-behavior:auto}.cinema-scene{height:265svh;background:#0b0705}.cinema-sticky{height:100svh;min-height:560px;position:sticky;top:0;overflow:hidden;display:block;isolation:isolate}
#cinema-canvas{position:absolute;inset:0;width:100%;height:100%;display:block;opacity:0}.cinema-ready #cinema-canvas{opacity:1}.cinema-shade{position:absolute;inset:0;pointer-events:none;background:linear-gradient(180deg,#0b070550 0%,transparent 25%,transparent 68%,#0b0705e8 100%);z-index:1}.cinema-brand{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;z-index:2;pointer-events:none}.cinema-brand .brand-image{width:40%;max-width:670px;min-width:260px;filter:drop-shadow(0 3px 20px #0b0705)}.cinema-brand p{font-size:clamp(14px,1.5vw,20px);letter-spacing:.01em;color:#e3dcd2;margin-top:27px;text-shadow:0 2px 16px #0b0705}.cinema-message{position:absolute;top:27%;left:max(7%,calc((100vw - 1180px)/2));z-index:2;font-size:clamp(45px,5.3vw,86px);font-weight:500;line-height:1.09;letter-spacing:-.055em;pointer-events:none;opacity:0;text-shadow:0 2px 24px #0b0705}.cinema-message span{display:block}.cinema-message span:nth-child(2){color:#d2c5b5}.cinema-message span:nth-child(3){color:#aca096}.cinema-overview{position:absolute;inset:16% 7% 20%;z-index:3;pointer-events:none;opacity:0}.overview-kicker{text-align:center;color:#b7a997;font-size:13px;letter-spacing:.08em;margin:0 0 18px}.cinema-overview h2{text-align:center;font-weight:500;font-size:clamp(35px,4vw,62px);line-height:1.12;letter-spacing:-.045em;margin:0;text-shadow:0 2px 20px #0b0705}.overview-labels{position:absolute;inset:33% 7% 0;display:grid;grid-template-columns:1fr 1fr;grid-template-rows:1fr 1fr;gap:24px 13%}.overview-labels a{align-self:center;text-align:center;font-size:clamp(18px,1.6vw,25px);line-height:1.3;letter-spacing:-.025em;text-shadow:0 2px 20px #0b0705,0 2px 4px #0b0705;pointer-events:none}.overview-labels span{display:block;font-size:12px;letter-spacing:.08em;color:#d8ccbc;margin-bottom:9px}.cinema-footer{position:absolute;bottom:35px;left:6%;right:6%;z-index:5;display:flex;align-items:center;gap:30px;font-size:13px}.cinema-phase{display:flex;gap:16px;margin:0;color:#c1b4a4;min-width:140px}.phase-index{font-variant-numeric:tabular-nums}.cinema-contact{margin-left:auto;border:1px solid #d7cbbb77;border-radius:30px;padding:14px 20px;background:#130d08aa;color:#f5eee5;backdrop-filter:blur(12px)}.cinema-contact:hover{background:#eee7dd;color:#130d08}.cinema-skip{margin-left:auto;color:#b5aaa0;border-bottom:1px solid #75695e;padding:6px 0}.cinema-progress{position:absolute;left:0;right:0;bottom:0;height:2px;background:#52403066;z-index:5}.cinema-progress span{display:block;width:100%;height:100%;background:#d6c7b3;transform:scaleX(0);transform-origin:left}.cinema-sticky[data-phase="overview"] .overview-labels a{pointer-events:auto}
/* Existing sections keep their content; scroll text no longer runs on timers. */
.motion-ready .reveal{opacity:1!important;transform:none!important;transition:none!important}.scroll-cue>span:after{animation:none}.service-content{animation:none}.connection-line,.connection-subline{transition:none}
.cinema-fallback .cinema-scene{height:auto}.cinema-fallback .cinema-sticky{height:auto;min-height:790px}.cinema-fallback #cinema-canvas{display:none}.cinema-fallback .cinema-brand{inset:125px 0 auto;display:flex}.cinema-fallback .cinema-brand .brand-image{width:38%}.cinema-fallback .cinema-brand p{margin-top:20px}.cinema-fallback .cinema-message{display:none}.cinema-fallback .cinema-overview{position:relative;inset:auto;margin:380px 6% 145px;opacity:1;pointer-events:auto}.cinema-fallback .overview-labels{position:relative;inset:auto;gap:30px;margin-top:40px}.cinema-fallback .overview-labels a{pointer-events:auto}.cinema-fallback .cinema-phase,.cinema-fallback .cinema-progress{display:none}
@media(max-width:700px){.cinema-scene{height:215svh}.cinema-sticky{min-height:520px}.cinema-brand .brand-image{width:69%;min-width:0;max-width:370px}.cinema-brand p{font-size:14px;margin-top:22px}.cinema-message{top:30%;left:8%;font-size:clamp(39px,10vw,65px)}.cinema-overview{inset:20% 5% 20%}.cinema-overview h2{font-size:36px}.overview-labels{inset:30% 0 0;gap:16px 14px}.overview-labels a{font-size:clamp(15px,3.9vw,21px);line-height:1.35}.overview-labels span{font-size:12px}.cinema-footer{bottom:25px;left:6%;right:6%;gap:18px;flex-wrap:wrap;font-size:12px}.cinema-phase{min-width:0;gap:9px}.cinema-contact{font-size:12px;padding:11px 15px}.cinema-skip{margin-left:auto}.cinema-fallback .cinema-sticky{min-height:760px}.cinema-fallback .cinema-brand{top:135px}.cinema-fallback .cinema-brand .brand-image{width:67%}.cinema-fallback .cinema-overview{margin:320px 6% 160px}.cinema-fallback .overview-labels{margin-top:30px}}
@media(prefers-reduced-motion:reduce){.cinema-scene{height:auto}.cinema-sticky{position:relative;height:auto;min-height:790px}#cinema-canvas{display:none}.cinema-message{display:none}.cinema-brand{inset:135px 0 auto}.cinema-brand .brand-image{width:42%}.cinema-overview{position:relative;inset:auto;margin:375px 6% 145px;opacity:1;pointer-events:auto}.overview-labels{position:relative;inset:auto;margin-top:40px;gap:30px}.overview-labels a{pointer-events:auto}.cinema-phase,.cinema-progress{display:none}@media(max-width:700px){.cinema-sticky{min-height:760px}.cinema-brand .brand-image{width:67%}.cinema-overview{margin:320px 6% 155px}}}
.cinema-ready .overview-labels{inset:0;display:block}.cinema-ready .overview-labels a{position:absolute;width:250px;transform:translate(-50%,-50%)}@media(max-width:700px){.cinema-ready .overview-labels a{width:150px;font-size:15px}}.cinema-overview[aria-hidden=true]{visibility:hidden}
.cinema-message{left:50%;top:29%;width:max-content;font-size:clamp(45px,5vw,78px);padding:24px 35px;background:radial-gradient(ellipse,#0b0705b0,transparent 72%)}.cinema-message span:nth-child(3){color:#e4dacd}@media(max-width:700px){.cinema-message{left:50%;top:32%;font-size:36px;padding:20px 12px}}
@media(max-width:700px){.cinema-message{font-size:32px}}
@media(max-width:700px){.cinema-ready .overview-labels a{font-size:14px}}
.cinema-ready .cinema-sticky{min-height:0}
.cinema-message{font-size:clamp(45px,4vw,68px)}@media(max-width:700px){.cinema-message{font-size:32px}}
/* The existing paper scene finishes in one composed, screen-aligned network. */
.cinema-brand{padding-bottom:7svh}
.overview-node{width:250px;height:108px;margin:34px auto 0;border:1px solid #8c7b6366;border-radius:20px;display:flex;align-items:center;justify-content:center;background:#0b0705}
.overview-node img{display:block;width:78%;height:auto}
.overview-network{display:none;pointer-events:none}
:is(.cinema-ready,.cinema-fallback) .cinema-overview{inset:0}
:is(.cinema-ready,.cinema-fallback) .overview-kicker{position:absolute;top:16%;left:0;right:0;margin:0}
:is(.cinema-ready,.cinema-fallback) .cinema-overview h2{position:absolute;top:20%;left:0;right:0}
:is(.cinema-ready,.cinema-fallback) .overview-node{position:absolute;margin:0;transform:translate(-50%,-50%);z-index:2}
:is(.cinema-ready,.cinema-fallback) .overview-network{display:block;position:absolute;inset:0;width:100%;height:100%;z-index:1;overflow:visible}
.overview-network path{fill:none;stroke:#aa967b;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:100;stroke-dashoffset:100;vector-effect:non-scaling-stroke;opacity:.7}
:is(.cinema-ready,.cinema-fallback) .overview-labels{z-index:2}
:is(.cinema-ready,.cinema-fallback) .overview-labels a{font-size:clamp(18px,1.6vw,25px);line-height:1.35}
.cinema-fallback .cinema-brand{padding-bottom:0}
.cinema-fallback .cinema-sticky{height:100svh;min-height:790px;position:relative}
.cinema-fallback .cinema-brand{display:none}
.cinema-fallback .cinema-overview{position:absolute;margin:0;inset:0}
.cinema-fallback .overview-labels{position:absolute;inset:0;display:block;margin:0}
.cinema-fallback .overview-labels a{position:absolute;transform:translate(-50%,-50%)}
@media(max-width:700px){.cinema-brand{padding-bottom:0}:is(.cinema-ready,.cinema-fallback) .overview-kicker{top:16%}:is(.cinema-ready,.cinema-fallback) .cinema-overview h2{top:20%;font-size:32px}:is(.cinema-ready,.cinema-fallback) .overview-labels a{font-size:14px;line-height:1.4;letter-spacing:-.015em}.overview-node{width:180px;height:82px;border-radius:16px}.cinema-fallback .cinema-sticky{min-height:760px}}
@media(max-width:700px){:is(.cinema-ready,.cinema-fallback) .overview-labels a:nth-child(3) br{display:none}}


/* Clear folder covers: one prominent title, one separate symbol. */
.overview-paper-stacks{display:block;position:absolute;inset:0;z-index:2;pointer-events:none;opacity:0}.cinema-fallback .overview-paper-stacks{opacity:1}
.overview-paper-stack{position:absolute;aspect-ratio:1.35;transform:translate(-50%,-50%);color:#342b22;container-type:inline-size}
.overview-paper-stack>i,.overview-paper-stack>.folder-cover{position:absolute;inset:0;background:#e6dccb;border:1px solid #c7b495;border-radius:6px;box-shadow:0 5px 14px #0003}
.overview-paper-stack>i:first-child{transform:translate(4px,6px);background:#cbbba2}.overview-paper-stack>i:nth-child(2){transform:translate(2px,3px);background:#e9dfcf}
.overview-paper-stack>.folder-cover{padding:8cqw 9cqw 9cqw 12cqw;background:linear-gradient(90deg,#bfa98a 0 5px,#f0e7d7 5px 100%);border-color:#d8c7ab;box-shadow:inset 0 1px 0 #fff8,0 2px 5px #0002;display:grid;grid-template-rows:22cqw 1fr;align-items:start}
.folder-topline{font-size:clamp(8px,5cqw,11px);line-height:1.2;font-weight:600;letter-spacing:.04em;color:#73614a}
.folder-symbol{position:absolute;top:7cqw;right:8cqw;width:20cqw;height:20cqw;color:#71583b;stroke-width:2}
.folder-cover b{align-self:end;color:#71583b;font-size:clamp(14px,11cqw,23px);font-weight:400;letter-spacing:-.035em;line-height:1.12}.overview-paper-stack:nth-child(3) b{font-size:clamp(13px,9.5cqw,20px)}.overview-paper-stack:first-child b{font-size:clamp(13px,9.5cqw,20px)}
.overview-paper-stack::before{content:'';position:absolute;top:-6px;left:9px;width:38%;height:12px;background:#e8decd;border:1px solid #c7b495;border-radius:5px 5px 0 0}
@media(max-width:700px){.overview-paper-stack>i:first-child{transform:translate(3px,4px)}.overview-paper-stack>i:nth-child(2){transform:translate(1px,2px)}}

.cinema-footer .cinema-skip{margin-left:auto}

/* Phone end frame: captions stay outside the folder/logo connection area. */
@media(max-width:700px){.cinema-ready .cinema-sticky{min-height:660px}:is(.cinema-ready,.cinema-fallback) .cinema-overview h2{top:98px;font-size:30px}.overview-node{border-radius:12px}}
