/* R7 motion architecture. This file is last after hardware/app styling.
   One stable stage carries both the real interactive section and the film. */
#s04tech.tech-cinema-r7{
  --tech-viewport-height:100svh;--tech-stage-height:100svh;--tech-travel:260svh;
  --tech-section-height:360svh;--tech-film-opacity:1;
  --tech-heading-top:80px;--tech-controls-opacity:1;
  height:var(--tech-section-height)!important;
  position:relative;overflow:visible;background:#f6f6f6;overflow-anchor:none;
}
#s04tech.tech-cinema-r7 .tech-stage{
  position:sticky;top:0;display:flow-root;overflow:clip;
  height:var(--tech-stage-height);min-height:0!important;
  background:radial-gradient(ellipse at 77% 53%,#e4e4e580,transparent 40%),#f7f7f7;
}
#s04tech.tech-cinema-r7 .tech-experience{
  position:relative;z-index:1;opacity:1!important;transform:none!important;
  will-change:auto;padding-top:84px;padding-bottom:24px;
}
#s04tech.tech-cinema-r7 .tech-cinema{
  display:block;position:absolute;inset:0 0 auto;top:0;
  width:100%;height:var(--tech-viewport-height);min-height:0;margin:0!important;
  z-index:5;opacity:var(--tech-film-opacity,1);visibility:visible;pointer-events:none;
  background:radial-gradient(ellipse at 50% 52%,#f8f8f8 0,#f5f5f5 55%,#f6f6f6 85%);
  overflow:hidden;perspective:none;
  -webkit-mask-image:none;mask-image:none;
}
#s04tech.tech-cinema-r7 .tech-duo-scene{
  position:absolute;inset:0;perspective:1800px;perspective-origin:50% 50%;
}
#s04tech.tech-cinema-r7 .tech-duo{
  position:absolute;left:50%;top:50%;display:block;aspect-ratio:auto;
  width:var(--fold-width);height:calc(var(--fold-width) / 1.3972835314);
  transform-style:preserve-3d;transform-origin:50% 50%;filter:none;
  transition:none;will-change:transform;
}
#s04tech.tech-cinema-r7 .tech-fold-left{
  left:0;transform-origin:right center;
  transform:rotateY(calc((1 - var(--tech-opening))*180deg));
}
#s04tech.tech-cinema-r7 .tech-fold-right{left:50%;transform:translateZ(-.2px)}
#s04tech.tech-cinema-r7 .tech-film-heading{
  position:absolute;z-index:1;left:3%;right:3%;top:var(--tech-heading-top);
  opacity:var(--tech-heading-opacity,1);text-align:center;
  transform:translateY(var(--tech-heading-rise,0px));
  pointer-events:none;transition:none;
}
#s04tech.tech-cinema-r7 .tech-film-heading>.eyebrow{
  font-size:9px;font-weight:600;letter-spacing:.16em;line-height:1.3;
  color:#8a8588;margin:0 0 10px;
}
#s04tech.tech-cinema-r7 .tech-film-heading h2{
  font-size:clamp(40px,min(8.2vw,calc(22vh - 72px)),112px);font-weight:600;line-height:1.04;
  letter-spacing:-.057em;word-spacing:var(--tech-word-separation,0em);
  color:#29272a;text-wrap:nowrap;
}
#s04tech.tech-cinema-r7 .tech-film-heading h2 span{
  background:linear-gradient(120deg,#e22737 8%,#b3273a 55%,#6f6670);
  background-clip:text;-webkit-background-clip:text;-webkit-text-fill-color:transparent;
}
#s04tech.tech-cinema-r7 .tech-cinema-floor{bottom:17%;opacity:calc((1 - var(--tech-zoom)) * .55)}
#s04tech.tech-cinema-r7 .tech-film-controls{
  position:absolute;left:6.5%;right:6.5%;top:calc(var(--tech-viewport-height) - 67px);
  bottom:auto;z-index:6;display:flex;flex-direction:row;align-items:center;gap:14px;
  transform:none!important;opacity:var(--tech-controls-opacity);transition:none;
}
#s04tech.tech-cinema-r7[data-tech-phase=experience] .tech-cinema,
#s04tech.tech-cinema-r7[data-tech-phase=experience] .tech-film-controls{visibility:hidden}
/* No motion: show the original accessible experience directly, without travel. */
#s04tech.tech-cinema-r7.tech-static-r7{height:auto!important}
#s04tech.tech-cinema-r7.tech-static-r7 .tech-stage{position:relative;height:auto}
#s04tech.tech-cinema-r7.tech-static-r7 .tech-cinema,
#s04tech.tech-cinema-r7.tech-static-r7 .tech-film-controls{display:none!important}
#s04tech.tech-cinema-r7.tech-static-r7 .tech-experience{padding-top:84px}
@media(max-width:760px){
  #s04tech.tech-cinema-r7 .tech-experience{padding-top:78px;padding-bottom:24px}
  #s04tech.tech-cinema-r7 .tech-film-heading{left:2%;right:2%}
  #s04tech.tech-cinema-r7 .tech-film-heading h2{font-size:clamp(36px,min(10.3vw,calc(22vh - 72px)),70px);line-height:1.06;letter-spacing:-.052em}
  #s04tech.tech-cinema-r7 .tech-film-heading>.eyebrow{font-size:8px;margin-bottom:9px}
  #s04tech.tech-cinema-r7 .tech-film-controls{left:6%;right:6%;gap:9px;flex-wrap:nowrap;top:calc(var(--tech-viewport-height) - 64px)}
  #s04tech.tech-cinema-r7 .tech-film-controls>span{font-size:8px;line-height:1.4}
  #s04tech.tech-cinema-r7 .tech-film-controls button{font-size:9px;min-height:38px;padding:10px 12px;gap:6px;white-space:nowrap}
  #s04tech.tech-cinema-r7 .tech-film-progress{width:28px;flex:none}
  #s04tech.tech-cinema-r7.tech-static-r7 .tech-experience{padding-top:78px}
}
@media(prefers-reduced-motion:reduce){
  #s04tech.tech-cinema-r7{height:auto!important}
  #s04tech.tech-cinema-r7 .tech-stage{position:relative;height:auto}
  #s04tech.tech-cinema-r7 .tech-cinema,#s04tech.tech-cinema-r7 .tech-film-controls{display:none!important}
}

/* Move through the display glass, not through an enlarged double exposure of
   two app interfaces. Details recede only after the fully open reading hold. */
#s04tech.tech-cinema-r7 .tech-fold-canvas{opacity:var(--tech-screen-content,1)}
#s04tech.tech-cinema-r7 .tech-fold-unified{background:#f7f7f7}

/* At the endpoint these coordinates are identical to the pinned stage. A real
   normal-flow stage also prevents browser focus from rewinding the scroll film. */
#s04tech.tech-cinema-r7.tech-flow-r7{box-sizing:border-box;padding-top:var(--tech-travel)}
#s04tech.tech-cinema-r7.tech-flow-r7 .tech-stage{position:relative;top:0}
#s04tech.tech-cinema-r7.tech-static-r7{padding-top:0}
#s04tech.tech-cinema-r7.tech-static-r7 .tech-stage{top:0}
