/* The whole homepage follows the scroll. All content stays usable without JS. */
.cinema-home main > section { position:relative; }
.cinema-home #services { background:var(--paper); }
.cinema-home .workshop-feature { display:block; }
.workshop-stage { display:grid; grid-template-columns:1fr 1fr; }
.cinema-home .process-section { background:var(--forest); color:var(--paper); }
.cinema-home .process-steps { grid-template-columns:1fr; gap:0; }
.cinema-home .process-steps li {
  position:relative; display:grid; grid-template-columns:1fr;
  gap:12px 20px; padding:30px 0; border-color:#ffffff2b;
}
.cinema-home .process-steps h3 { margin:0; font-size:27px; }
.cinema-home .process-steps p { grid-column:1; max-width:500px; color:#c4cec4; }
.cinema-home .process-steps li::before {
  content:''; position:absolute; top:-1px; left:0; width:100%; height:1px;
  background:#ff9b65; transform:scaleX(0); transform-origin:left;
}
.cinema-home .partners-section { padding-top:100px; padding-bottom:55px; }
.cinema-home .documents-section { background:#e7ece5; padding-block:100px; }
.cinema-home .documents-section .document-paper { background:#d9e1d5; }
.cinema-home .faq-section { border:0; }
.cinema-home .cinema-contact { position:relative; isolation:isolate; overflow:hidden; }
.cinema-home .cinema-contact::before {
  content:''; position:absolute; z-index:-1; top:-140px; right:-180px;
  width:650px; height:650px; border:1px solid #c8d4c323; border-radius:50%;
  pointer-events:none;
}
.cinema-home .cinema-contact::after {
  content:''; position:absolute; z-index:-1; top:-210px; right:-250px;
  width:790px; height:790px; border:1px solid #c8d4c316; border-radius:50%;
  pointer-events:none;
}
.journey-progress {
  position:fixed; top:calc(var(--header) - 2px); inset-inline:0; height:2px;
  z-index:45; background:var(--orange); transform:scaleX(0);
  transform-origin:left; pointer-events:none;
}

/* Entry choreography is one-shot. A keyboard focus reveals its target at once. */
.journey-ready [data-reveal] {
  opacity:0; transform:translate3d(0,28px,0);
  transition:opacity .65s ease, transform .8s cubic-bezier(.2,.65,.25,1);
  transition-delay:var(--reveal-delay,0ms);
}
.journey-ready [data-reveal="heading"] { transform:translate3d(0,38px,0); }
.journey-ready [data-reveal="paper"] {
  transform:translate3d(0,65px,0) rotate(var(--paper-angle,0deg));
  transform-origin:50% 100%;
}
.journey-ready [data-reveal].is-revealed { opacity:1; transform:none; }
.journey-ready [data-reveal]:focus-within {
  opacity:1; transform:none; transition:none;
}
.journey-ready .equipment-photo { clip-path:inset(9% 0 9% 0); transition:clip-path 1s cubic-bezier(.2,.65,.25,1); }
.journey-ready .is-revealed .equipment-photo { clip-path:inset(0); }
.journey-ready [data-camera] > img {
  transform:translate3d(0,var(--camera-y,0px),0) scale(var(--camera-scale,1.08));
}
.journey-ready [data-camera].journey-active > img { will-change:transform; }
.journey-ready .cabinet-preview {
  transform:perspective(1400px) rotateY(var(--cabinet-turn,0deg)) translateY(var(--cabinet-lift,0px));
  transform-origin:50% 50%;
}
.journey-ready .cabinet-preview:focus-within { transform:none; }
.journey-ready .cabinet-preview li {
  position:relative; background:linear-gradient(90deg,#e3e9df88,transparent);
  background-size:var(--row-fill,0%) 100%; background-repeat:no-repeat;
}
.journey-ready .process-steps li::before { transform:scaleX(var(--step-fill,0)); }
.journey-ready .partner-grid li.is-revealed { transition-duration:.7s, .8s; }
.journey-ready .cinema-contact::before {
  transform:translateY(var(--contact-drift,0px)) scale(var(--contact-scale,1));
}
.journey-ready .cinema-contact::after { transform:translateY(var(--contact-drift,0px)); }

/* A second full-frame scene after the opening film. Pin only when the copy fits. */
.journey-ready .workshop-feature[data-pinned] { height:calc(var(--stage-h) * 1.8); }
.journey-ready .workshop-feature[data-pinned] .workshop-stage {
  position:sticky; top:var(--header); height:var(--stage-h);
  display:flex; align-items:center; overflow:hidden; isolation:isolate;
}
.journey-ready .workshop-feature[data-pinned] .workshop-photo {
  position:absolute; inset:0; height:100%; min-height:0; z-index:-1;
}
.journey-ready .workshop-feature[data-pinned] .workshop-photo::after {
  background:linear-gradient(90deg,#101d16f5 0%,#101d16d9 34%,#101d1640 100%),linear-gradient(0deg,#101d16d9,transparent 70%);
}
.journey-ready .workshop-feature[data-pinned] .workshop-photo > span {
  left:auto; right:var(--gutter); font-size:10px; letter-spacing:.03em;
}
.journey-ready .workshop-feature[data-pinned] .workshop-copy {
  width:680px; max-width:64%; padding:42px var(--gutter); box-sizing:content-box;
}
.journey-ready .workshop-feature[data-pinned] .workshop-copy h2 {
  font-size:clamp(45px,4.8vw,76px); margin:25px 0;
}
.journey-ready .workshop-feature[data-pinned] .workshop-copy > div { max-width:450px; }
.journey-ready .workshop-feature[data-pinned] .workshop-copy .workshop-location { max-width:450px; }
.journey-ready .workshop-feature[data-pinned] .workshop-copy em { color:#ff9b65; }
.journey-ready .workshop-feature[data-pinned] .workshop-photo > img {
  transform:translate3d(var(--workshop-x,0px),0,0) scale(var(--workshop-scale,1.1));
  object-position:63% center;
}

@media(min-width:1001px) {
  .cinema-home .process-section { display:grid; grid-template-columns:1fr 1fr; gap:80px; align-items:start; }
  .cinema-home .process-section .editorial-heading { display:block; position:sticky; top:calc(var(--header) + 65px); margin:0; }
  .cinema-home .process-section h2 { font-size:clamp(40px,4.25vw,65px); }
  .cinema-home .process-steps li { min-height:225px; align-content:center; }
  .cinema-home .process-section .editorial-heading > p:empty { display:none; }
  .cinema-home .faq-section { display:grid; grid-template-columns:1fr 1.2fr; gap:75px; align-items:start; }
  .cinema-home .faq-section .editorial-heading { display:block; position:sticky; top:calc(var(--header) + 55px); }
  .cinema-home .faq-section h2 { font-size:clamp(38px,4vw,60px); }
  .cinema-home .faq-list { width:100%; }
}
@media(max-width:1000px) {
  .cinema-home .process-steps { grid-template-columns:1fr; }
  .cinema-home .partners-section { padding-top:75px; }
  .journey-ready .workshop-feature[data-pinned] .workshop-copy { max-width:70%; }
}
@media(max-width:650px) {
  .workshop-stage { grid-template-columns:1fr; }
  .cinema-home .process-steps li { grid-template-columns:1fr; gap:10px 14px; }
  .cinema-home .process-steps h3 { font-size:23px; }
  .cinema-home .partners-section { padding-top:60px; padding-bottom:50px; }
  .cinema-home .documents-section { padding-block:60px; }
  .journey-ready [data-reveal] { transform:translate3d(0,21px,0); }
  .journey-ready [data-reveal="heading"] { transform:translate3d(0,27px,0); }
  .journey-ready [data-reveal="paper"] { transform:translate3d(0,34px,0); }
  .journey-ready [data-reveal].is-revealed { transform:none; }
  .journey-ready .cabinet-preview { transform:translateY(var(--cabinet-lift,0px)); }
  .journey-ready .workshop-feature[data-pinned] { height:calc(var(--stage-h) * 1.45); }
  .journey-ready .workshop-feature[data-pinned] .workshop-copy {
    padding:35px var(--gutter); width:auto; max-width:100%; box-sizing:border-box;
  }
  .journey-ready .workshop-feature[data-pinned] .workshop-copy h2 { font-size:43px; margin:23px 0; }
  .journey-ready .workshop-feature[data-pinned] .workshop-copy > p:not(.eyebrow) { font-size:13px; }
  .journey-ready .workshop-feature[data-pinned] .workshop-photo > span { display:none; }
  .journey-ready .workshop-feature[data-pinned] .workshop-photo::after {
    background:linear-gradient(90deg,#101d16ed,#101d16b8),linear-gradient(0deg,#101d16e6,transparent 80%);
  }
}
@media(prefers-reduced-motion:reduce) {
  .journey-progress { display:none; }
}
@media print {
  .journey-ready [data-reveal] { opacity:1!important; transform:none!important; }
  .journey-ready .workshop-feature[data-pinned] { height:auto; }
  .journey-ready .workshop-feature[data-pinned] .workshop-stage { position:relative; height:auto; }
  .journey-progress { display:none; }
}
