/* Full-viewport film treatment. The source footage remains replaceable. */
.cinema-stage{padding:0;min-height:560px;isolation:isolate;background:#101612}
.cinema-layout{position:absolute;inset:0;padding:0;display:block}
.cinema-visual{position:absolute;inset:0;width:100%;height:100%;max-height:none;min-height:0;margin:0;z-index:-2}
.cinema-poster,.cinema-visual canvas{object-fit:cover;object-position:50% 50%;width:100%;height:100%}
.cinema-layout:after{content:'';position:absolute;inset:0;z-index:-1;pointer-events:none;background:linear-gradient(180deg,#101612a6,transparent 31%,transparent 56%,#09100bc4),linear-gradient(90deg,#0d140b55,transparent 60%)}
.cinema-top{position:absolute;top:118px;left:var(--studio-gutter);right:var(--studio-gutter);z-index:4;border:0;padding:0;color:#fff;font-size:13px;text-shadow:0 1px 8px #0008}
.cinema-top>span{color:#e1ecd8}.cinema-top>a:last-child{padding:9px 14px;border:1px solid #ffffff55;border-radius:30px;background:#0d140b40;backdrop-filter:blur(10px)}
.cinema-copy{position:absolute;inset:0;display:block;padding:0;pointer-events:none}
.cinema-copy>.section-number{position:absolute;left:var(--studio-gutter);top:26%;font-size:13px;opacity:var(--intro-opacity,1);color:#d4e7c2}
.cinema-copy h1{position:absolute;top:30%;left:var(--studio-gutter);max-width:830px;font-size:clamp(52px,7.1vw,112px);line-height:1.04!important;letter-spacing:-.04em;margin:0;opacity:var(--intro-opacity,1);text-shadow:0 3px 25px #0d140b40;transform:translateY(calc((1 - var(--intro-opacity,1))* -18px))}
.cinema-lead{position:absolute;left:var(--studio-gutter);top:62%;font-size:17px;line-height:1.6;max-width:420px;color:#e0e5db;opacity:var(--intro-opacity,1);text-shadow:0 2px 10px #0008}
.gebaeudeservice-story .cinema-lead{max-width:720px;font-size:16px}
.cinema-chapters{position:absolute;left:var(--studio-gutter);bottom:125px;min-height:0;margin:0;padding:0;max-width:530px;opacity:var(--chapter-opacity,0);transform:translateY(calc((1 - var(--chapter-opacity,0))*18px))}
.cinema-chapters article{animation:chapterEnter .45s cubic-bezier(.2,.7,.3,1) both}.cinema-chapters h2{font-size:clamp(32px,3.8vw,62px);line-height:1.07!important;margin-bottom:16px;letter-spacing:-.025em;text-shadow:0 2px 18px #0005}.cinema-chapters article>p:last-child{font-size:16px;color:#dce4d7;max-width:390px;line-height:1.6}.chapter-label{font-size:13px;color:#bdd5a8;margin-bottom:14px}.cinema-cta{display:none}
.cinema-bottom{position:absolute;bottom:26px;left:var(--studio-gutter);right:var(--studio-gutter);padding-top:16px;border-color:#ffffff3d;z-index:4}.cinema-nav{gap:28px}.cinema-nav button{color:#d2dace;font-size:13px}.cinema-nav button[aria-current]{color:#e8f8d9;border-color:#e8f8d9}.cinema-hint{color:#dae2d4}.motion-toggle{color:#e0e7db}.cinema-visual figcaption{bottom:110px;left:auto;right:var(--studio-gutter);font-size:12px;background:transparent;color:#d4dfce;z-index:3}.cinema-progress{z-index:5;height:2px;bottom:0}
.cinema-story.is-static .cinema-chapters{opacity:1;transform:none}.cinema-story.is-static .cinema-copy h1,.cinema-story.is-static .cinema-lead,.cinema-story.is-static .cinema-copy>.section-number{opacity:0}.cinema-story.is-static .cinema-stage{min-height:660px}
@keyframes chapterEnter{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}
@media(max-width:1100px){.cinema-nav button span{display:inline}.cinema-hint{display:none}.cinema-nav{gap:22px}}
@media(max-width:850px){.cinema-stage{min-height:0}.cinema-top{top:105px;left:24px;right:24px;font-size:12px}.cinema-top>span{display:none}.cinema-top>a:last-child{padding:7px 11px}.cinema-copy{display:block}.cinema-copy>.section-number{display:block;top:24%;left:24px;font-size:12px}.cinema-copy h1{top:29%;left:24px;right:24px;font-size:clamp(42px,11vw,74px);max-width:600px}.cinema-copy h1 br{display:block}.cinema-lead{display:block;top:auto;bottom:185px;left:24px;right:24px;max-width:360px;font-size:16px}.cinema-chapters{left:24px;right:24px;bottom:160px;max-width:470px;min-height:0}.cinema-chapters h2{font-size:clamp(32px,8vw,49px);margin-bottom:12px}.cinema-chapters h2 br{display:block}.cinema-chapters article>p:last-child{font-size:15px;max-width:340px}.cinema-bottom{bottom:76px;left:24px;right:24px;gap:15px}.cinema-nav{gap:20px}.cinema-nav button span{display:none}.motion-toggle{font-size:12px}.cinema-visual figcaption{bottom:132px;left:24px;right:auto;font-size:11px}.cinema-progress{bottom:56px}.cinema-layout:after{background:linear-gradient(180deg,#0b120a88,transparent 35%,#0b120a55 56%,#0b120be8)}.cinema-story.is-static .cinema-stage{min-height:100svh}}
@media(max-height:600px) and (min-width:851px){.cinema-stage{min-height:0}.cinema-top{top:106px}.cinema-copy>.section-number{top:30%}.cinema-copy h1{top:37%;font-size:54px}.cinema-lead{display:none}.cinema-chapters{bottom:95px}.cinema-chapters h2{font-size:34px}.cinema-chapters article>p:last-child{font-size:14px}.cinema-visual figcaption{bottom:88px}.cinema-bottom{bottom:16px}}
@media(prefers-reduced-motion:reduce){.cinema-chapters article{animation:none}}

/* Raumsysteme: full-bleed Higgsfield film scrubbed by scroll progress. */
.room-story{height:430svh;background:#0c110e}
.room-story .cinema-stage{height:100svh;min-height:0}
.room-story .cinema-visual{z-index:-2;background:#0c110e}
.room-story .room-video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;display:block}
.room-story .cinema-layout:after{background:linear-gradient(180deg,#08100aaa 0,transparent 32%,transparent 58%,#07100bce 100%),linear-gradient(90deg,#08110bd6 0,#08110b70 37%,transparent 70%)}
.room-story .cinema-copy h1{max-width:900px}
.room-story .cinema-chapters{max-width:560px}
.room-story .cinema-chapters article>p:last-child{max-width:440px}
.room-story.is-static{height:auto}
.room-story.is-static .cinema-stage{height:100svh;min-height:660px}

@media(max-width:850px){
  .room-story{height:390svh}
  .room-story .room-video{object-position:58% center}
  .room-story .cinema-layout:after{background:linear-gradient(180deg,#08100ac7 0,#08100a35 37%,#08100a35 52%,#07100bed 100%)}
  .room-story .cinema-copy h1{font-size:clamp(40px,10.8vw,70px)}
  .room-story .cinema-lead{bottom:188px}
  .room-story .cinema-chapters{bottom:158px}
  .room-story.is-static .cinema-stage{min-height:100svh}
}

/* Montage & Ausbau: full-bleed frame sequence, matching the other scroll stories. */
.montage-story{height:430svh;background:#0d1110}
.montage-story .cinema-stage{height:100svh;min-height:0}
.montage-story .cinema-visual{z-index:-2;background:#0d1110}
.montage-story .cinema-layout:after{background:linear-gradient(180deg,#08100aaa 0,transparent 32%,transparent 58%,#07100bd4 100%),linear-gradient(90deg,#08110bd6 0,#08110b70 38%,transparent 72%)}
.montage-story .cinema-copy h1{max-width:900px}
.montage-story .cinema-chapters{max-width:570px}
.montage-story .cinema-chapters article>p:last-child{max-width:450px}
.montage-story.is-static{height:auto}
.montage-story.is-static .cinema-stage{height:100svh;min-height:660px}

.gebaeudeservice-story{height:410svh;background:#0c100e}
.gebaeudeservice-story .cinema-stage{height:100svh;min-height:0}
.gebaeudeservice-story .cinema-visual{z-index:-2;background:#0c100e}
.gebaeudeservice-story .cinema-layout:after{background:linear-gradient(180deg,#07100aa8 0,transparent 30%,transparent 60%,#07100bd6 100%),linear-gradient(90deg,#07100be8 0,#07100b87 32%,transparent 68%)}
.gebaeudeservice-story .cinema-copy h1{max-width:900px}
.gebaeudeservice-story .cinema-chapters{max-width:570px}
.gebaeudeservice-story .cinema-chapters article>p:last-child{max-width:460px}
.gebaeudeservice-story.is-static{height:auto}
.gebaeudeservice-story.is-static .cinema-stage{height:100svh;min-height:660px}

@media(max-width:850px){
  .montage-story{height:390svh}
  .montage-story .cinema-layout:after{background:linear-gradient(180deg,#08100ac7 0,#08100a35 37%,#08100a35 52%,#07100bed 100%)}
  .montage-story .cinema-copy h1{font-size:clamp(40px,10.8vw,70px)}
  .montage-story .cinema-lead{bottom:188px}
  .montage-story .cinema-chapters{bottom:158px}
  .montage-story.is-static .cinema-stage{min-height:100svh}
  .gebaeudeservice-story{height:380svh}
  .gebaeudeservice-story .cinema-layout:after{background:linear-gradient(180deg,#07100ad4 0,#07100a45 38%,#07100a45 52%,#07100bf0 100%)}
  .gebaeudeservice-story .cinema-copy h1{font-size:clamp(40px,10.8vw,70px)}
  .gebaeudeservice-story .cinema-lead{bottom:170px;max-width:520px;font-size:13px;line-height:1.5}
  .gebaeudeservice-story .cinema-chapters{bottom:158px}
  .gebaeudeservice-story.is-static .cinema-stage{min-height:100svh}
}

/* Furniture film: a full 16:9 frame, with controls outside the picture. */
.furniture-story{height:250svh;background:#111713}
.furniture-story .cinema-stage{height:100svh;min-height:0}
.furniture-story .cinema-visual{inset:164px 0 110px;width:100%;height:auto;z-index:0}
.furniture-story .cinema-poster{object-fit:contain}
.furniture-story .cinema-top{font-size:14px}
.furniture-story .cinema-bottom{gap:24px;bottom:26px}
.furniture-story .cinema-nav{gap:clamp(12px,2vw,30px);overflow-x:auto;max-width:100%;scrollbar-width:thin}
.furniture-story .cinema-nav button{font-size:14px;white-space:nowrap;min-height:44px;flex-shrink:0}
.furniture-story .motion-toggle{font-size:14px;min-width:140px;min-height:44px}
.furniture-final{position:absolute;z-index:3;left:var(--studio-gutter);top:28%;max-width:34%;color:white;text-shadow:0 2px 14px #000}
.furniture-final[hidden]{display:none}
.furniture-final h1{font-size:clamp(34px,4.5vw,70px);line-height:1.08;margin-bottom:26px;letter-spacing:-.035em}
.furniture-final .button{font-size:16px;pointer-events:auto;background:#111713dd;border:1px solid #b7c7a9;padding:14px 20px;display:inline-block}
.furniture-story.is-static{height:auto}.furniture-story.is-static .cinema-stage{height:100svh;min-height:660px}
@media(max-width:1100px){.furniture-story .cinema-nav button span{display:none}}
@media(max-width:850px){.furniture-story{height:250svh}.furniture-story .cinema-top{top:110px;font-size:14px}.furniture-story .cinema-visual{inset:154px 0 170px;max-height:none;min-height:0}.furniture-story .cinema-bottom{left:24px;right:24px;bottom:66px;display:flex;flex-direction:column;align-items:stretch;gap:8px}.furniture-story .cinema-nav{gap:22px}.furniture-story .motion-toggle{text-align:left}.furniture-story .cinema-progress{bottom:0}.furniture-final{left:24px;right:24px;top:auto;bottom:190px;max-width:none}.furniture-final h1{font-size:32px;margin-bottom:14px}.furniture-final .button{font-size:14px;padding:10px 15px}.furniture-story.is-static .cinema-stage{min-height:100svh}}
