/* Entirely scoped: previous Hero studies and all following sections unchanged. */
.scroll-twin-v1 #hero { height: auto; padding: 0; overflow: visible; }
.scroll-twin-v1 #hero #hero-frame {
  position: relative; top: 0; height: 100svh; width: 100%;
  border-radius: 0; box-shadow: none; will-change: auto;
  background: #f6f4ed;
}
.scroll-twin-v1 #hero #hero-frame .hero-immersive-module {
  position: absolute; inset: 0; width: 100%; height: 100%;
  overflow: hidden; isolation: isolate;
  border-radius: var(--hero-module-radius,0px);
  box-shadow: var(--hero-module-shadow,none);
  background: linear-gradient(100deg,#913e2f,#e8a76c 55%,#a1d8cb);
  transform: scale(var(--hero-module-scale,1)); transform-origin: center;
  will-change: transform, border-radius;
}
.scroll-twin-v1 #hero #hero-frame .film {
  background: url('hero-media/scroll-twin-v1/human-poster.webp') center/contain no-repeat,
    linear-gradient(100deg,#913e2f,#e8a76c 55%,#a1d8cb);
}
.scroll-twin-v1 #hero #hero-frame .scene {
  object-fit: contain; object-position: center; mask: none; -webkit-mask: none;
  transform: none; filter: none; opacity: 1; will-change: auto;
}
.scroll-twin-v1 #hero .twin-sequence {
  position: absolute; inset: 0; width: 100%; height: 100%; z-index: 1;
  pointer-events: none;
}
.scroll-twin-v1 #hero .hero-atmosphere,
.scroll-twin-v1 #hero .hero-light-canvas,
.scroll-twin-v1 #hero .film-veil,
.scroll-twin-v1 #hero .film-toggle { display: none !important; }
.scroll-twin-v1 #hero #hero-frame .hero-eyebrow { display: none; }
.scroll-twin-v1 #hero #hero-frame .hero-copy { scale: 1; opacity: 1; }
.scroll-twin-booting #hero #hero-title { visibility: hidden; }
.scroll-twin-v1 #hero #hero-frame #hero-title { margin-bottom: clamp(22px,3vh,30px); }
.scroll-twin-v1 #hero #hero-title .hero-title-reveal-line { display: block; overflow: visible; }
.scroll-twin-v1 #hero #hero-title .hero-title-reveal-inner { display: block; width: fit-content; }
.scroll-twin-v1 #hero #hero-title.is-pending .hero-title-reveal-inner {
  opacity: 0; transform: translateY(8px); filter: blur(1.3px);
  transition: opacity 1s ease, transform 1.05s cubic-bezier(.22,1,.36,1), filter 1s ease;
}
.scroll-twin-v1 #hero #hero-title.is-entered .hero-title-reveal-inner { opacity: 1; transform: none; filter: none; }
.scroll-twin-v1 #hero #hero-title .hero-title-reveal-line:nth-child(2) .hero-title-reveal-inner { transition-delay: .22s; }
.scroll-twin-v1 #hero #hero-frame .hero-subtitle-rotator {
  display: grid; grid-template-columns: minmax(0,1fr);
  align-items: center; min-height: 1.45em;
  margin-bottom: 17px; font-family: "DM Sans Hero",Arial,sans-serif;
  font-size: clamp(23px,2vw,29px); font-weight: 450;
  letter-spacing: -.035em; line-height: 1.2;
}
.scroll-twin-v1 #hero #hero-frame .hero-subtitle-rotator > span {
  grid-area: 1 / 1; display: block; font: inherit; letter-spacing: inherit;
  color: #fff2e1; opacity: 0; transform: translateY(7px);
  transition: opacity .2s ease, transform .3s cubic-bezier(.22,1,.36,1);
  pointer-events: none;
}
.scroll-twin-v1 #hero #hero-frame .hero-subtitle-rotator[data-active="first"] .hero-subtitle-kicker,
.scroll-twin-v1 #hero #hero-frame .hero-subtitle-rotator[data-active="second"] .hero-subtitle-main { opacity: 1; transform: none; }
.scroll-twin-v1 #hero #hero-frame .hero-intro { font-size: clamp(18px,1.35vw,20px); }
.scroll-twin-v1 #hero .hero-scroll-cue { opacity: 1; }
.scroll-twin-reduced #hero .scene { visibility: hidden; }
.scroll-twin-reduced #hero #hero-frame .film {
  background: url('hero-media/scroll-twin-v1/human-poster.webp') center/contain no-repeat,
    linear-gradient(100deg,#913e2f,#e8a76c 55%,#a1d8cb);
}
.scroll-twin-v1 #hero .twin-debug {
  position: absolute; z-index: 6; right: 12px; bottom: 12px;
  padding: 10px 14px; color: white; background: #15272bed;
  font: 12px/1.55 ui-monospace,monospace; border-radius: 8px;
  pointer-events: none; white-space: pre;
}
@media (min-width: 981px) {
  .scroll-twin-v1 #hero #hero-frame .hero-copy { top: 47%; transform: translateY(-44%); }
}
@media (max-width: 980px) {
  .scroll-twin-v1 #hero #hero-frame { height: max(690px,100svh); }
  .scroll-twin-v1 #hero #hero-frame .film { bottom: auto; height: 46%; }
  .scroll-twin-v1 #hero #hero-frame .scene { object-fit: contain; object-position: right center; }
  .scroll-twin-v1 #hero #hero-frame .hero-copy {
    top: 47%; left: 6%; right: 6%; bottom: auto; max-width: 600px;
    transform: none; color: #fff5e9; font-family: 'DM Sans Hero',Arial,sans-serif;
  }
  .scroll-twin-v1 #hero #hero-title { font-size: clamp(36px,6vw,55px); margin-bottom: 12px; }
  .scroll-twin-v1 #hero .hero-eyebrow { font-size: 9px; margin-bottom: 12px; }
  .scroll-twin-v1 #hero #hero-frame .hero-intro { max-width: 550px; font-size: 16.5px; margin-bottom: 16px; }
  .scroll-twin-v1 #hero #hero-frame .hero-subtitle-rotator { font-size: clamp(19px,4vw,25px); }
  .scroll-twin-v1 #hero .free-note { color: #fff0dd; margin-top: 12px; }
  .scroll-twin-v1 #hero .hero-actions a { font-size: 12px; min-height: 44px; padding: 12px 18px; }
  .scroll-twin-v1 #hero .primary-cta { background: #fff5e9; color: #713e2d; }
  .scroll-twin-v1 #hero .secondary-cta { color: #713e2d; }
  .scroll-twin-v1 #hero .hero-awards-sequential { margin-top: 10px; }
  .scroll-twin-v1 #hero .hero-award { color: #fff2df; }
  .scroll-twin-v1 #hero .hero-scroll-cue { bottom: 16px; color: #fff5e9; }
}
@media (max-width: 600px) {
  .scroll-twin-v1 .nc-header-bar .nc-login { display: none; }
  .scroll-twin-v1 #hero #hero-frame .film { top: 76px; height: 28%; }
  .scroll-twin-v1 #hero #hero-frame .hero-copy { top: 40%; }
  .scroll-twin-v1 #hero .hero-awards-sequential { height: 68px; }
  .scroll-twin-v1 #hero #hero-frame .hero-award > svg { height: 52px; }
  .scroll-twin-v1 #hero .twin-debug { font-size: 10px; bottom: 8px; right: 6px; }
}
@media (prefers-reduced-motion: reduce) {
  .scroll-twin-v1 #hero #hero-title .hero-title-reveal-inner { opacity: 1 !important; transform: none !important; filter: none !important; transition: none !important; }
  .scroll-twin-v1 #hero #hero-frame .hero-subtitle-rotator { display: flex; flex-direction: column; align-items: flex-start; gap: 2px; }
  .scroll-twin-v1 #hero #hero-frame .hero-subtitle-rotator > span { position: static; opacity: 1; transform: none; transition: none; }
  .scroll-twin-v1 #hero .scene { visibility: hidden; }
  .scroll-twin-v1 #hero #hero-frame .film {
    background: url('hero-media/scroll-twin-v1/human-poster.webp') center/contain no-repeat,
      linear-gradient(100deg,#913e2f,#e8a76c 55%,#a1d8cb);
  }
  .scroll-twin-v1 #hero .twin-sequence { display: none; }
}
