/* Native, reversible scroll choreography. No scroll hijacking or section snapping. */
html { scroll-snap-type: none; scroll-padding-top: 24px; }
.contact-scene { width: 100%; }
#brand-intro { width: 100%; height: 100svh; background: #080e17; display: grid; place-items: center; overflow: clip; }
.brand-intro-link { display: block; width: min(100%, 1200px); height: 100%; }
.brand-intro-link:hover { opacity: 1; }
.brand-intro-image { display: block; width: 100%; height: 100%; object-fit: contain; }
.scroll-stage--intro { width: 100%; position: relative; flex: none; background: transparent; z-index: 10; pointer-events: none; }
.scroll-stage--intro .brand-intro-link { pointer-events: auto; }
.scroll-stage--intro > #brand-intro { position: sticky; top: 0; }
@media (min-width: 761px) and (min-height: 650px) {
  #home { height: calc(100svh - 95px); min-height: 600px; }
  [data-pencil-name='첫 화면 · 사용자 촬영 도시 전경 / 하단 크롭'] { height: calc(100% - 70px); transform-origin: 60% 50%; }
  [data-pencil-name='Image edge blend'] { height: 100%; }
  [data-pencil-name='Hero copy'] { top: clamp(60px,11vh,150px); }
  [data-pencil-name='Hero bottom'] { top: auto; bottom: 0; }
  #about, #vision { min-height: 100svh; justify-content: center; padding-top: clamp(48px,7vh,88px); padding-bottom: clamp(48px,7vh,96px); }
  [data-pencil-name='확정 E안 · 한옥과 도심 블루아워'] { height: clamp(260px,42vh,480px); }
  .contact-scene { min-height: 100svh; display: flex; flex-direction: column; }
  .contact-scene #contact { flex: 1; justify-content: center; }
  .scroll-stage { width: 100%; position: relative; flex: none; }
  .scroll-stage--hero { background: #080e17; }
  .scroll-stage--hero > #home, .scroll-stage--intro > #brand-intro { position: sticky; top: 0; }
  .scroll-stage--image > [data-pencil-name] { position: sticky; top: var(--pin-top, 120px); }
}
/* Logo-only opening scene. All original story sections follow unchanged. */
#home.logo-intro { height: 100svh; min-height: 440px; }
#home.logo-intro [data-pencil-name='첫 화면 · 사용자 촬영 도시 전경 / 하단 크롭'] {
  position: absolute; inset: 0; width: 100%; height: 100%;
  background-size: contain; background-position: center;
  transform-origin: center; filter: none;
}
#home.logo-intro [data-pencil-name='Hero copy'],
#home.logo-intro [data-pencil-name='Hero bottom'],
#home.logo-intro [data-pencil-name='첫 화면 · 은은한 네이비 디밍'],
#home.logo-intro [data-pencil-name='Image edge blend'] { display: none; }
.visually-hidden { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; border: 0; }
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; scroll-snap-type: none; }
}
@media print {
  .scroll-stage { height: auto !important; }
  .scroll-stage > * { position: static !important; }
}
