/* The static poster is the default when motion or video is unavailable. */
@import url('https://fonts.googleapis.com/css2?family=Amatic+SC:wght@400;700&display=swap');
.scroll-intro { padding: 0; position: relative; background: #211d1a; --intro-progress: 0; --intro-opacity: 1; z-index: 2; pointer-events: none; }
.intro-stage { position: relative; height: calc(100svh - var(--header-height, 74px)); min-height: 360px; overflow: hidden; }
.intro-poster, .intro-video, .intro-shade { position: absolute; inset: 0; width: 100%; height: 100%; }
.intro-poster, .intro-video { object-fit: cover; object-position: center; }
.intro-video { opacity: 0; pointer-events: none; }
.intro-shade { background: linear-gradient(180deg, rgba(10,14,22,.08) 40%, rgba(10,14,22,.7)); }
.intro-identity { position: absolute; top: 50%; left: 0; right: 0; display: grid; place-items: center; transform: translateY(-50%); pointer-events: none; }
.intro-signature { margin: 0; max-width: none; text-align: center; font-family: 'Amatic SC', sans-serif; font-weight: 700; letter-spacing: 0.02em; color: var(--paper); text-shadow: 0 6px 34px rgba(0,0,0,0.55), 0 2px 10px rgba(0,0,0,0.4); }
.sig-row { display: block; line-height: 0.92; white-space: nowrap; }
.sig-row--1 { font-size: clamp(2.4rem, 11vw, 10rem); }
.sig-row--2 { font-size: clamp(1.9rem, 9vw, 7.8rem); margin-top: -0.03em; }
.sig-reveal { display: inline-block; clip-path: inset(0 100% 0 0); }
.intro-footer { position: absolute; bottom: 2rem; left: var(--gutter); right: var(--gutter); display: flex; justify-content: space-between; align-items: center; gap: 1rem; color: white; font-size: .9rem; }
.intro-hint { visibility: hidden; }
.intro-skip { pointer-events: auto; padding: .65rem 1rem; border: 1px solid #ffffff80; border-radius: 2px; background: #0003; }
.intro-skip:hover { background: #0008; }
.intro-skip:focus-visible { outline-color: white; }
.intro-progress { position: absolute; bottom: 0; height: 3px; width: 100%; background: var(--yellow); transform-origin: left; transform: scaleX(var(--intro-progress)); }
.scroll-intro.is-active { height: 240svh; }
.has-scroll-intro #afterIntro { margin-top: calc(-100svh + var(--header-height, 74px)); }
.is-active .intro-stage { position: sticky; top: var(--header-height, 74px); opacity: var(--intro-opacity); }
.is-active .intro-video { opacity: 1; }
.is-active .intro-hint { visibility: visible; }
#afterIntro { scroll-margin-top: 80px; }

@media (max-width: 780px) { .intro-footer { bottom: 1.25rem; font-size: .8rem; } }
@media (prefers-reduced-motion: reduce) {
  .scroll-intro.is-active { height: auto; }
  .has-scroll-intro #afterIntro { margin-top: 0; }
  .is-active .intro-stage { position: relative; top: auto; }
  .sig-reveal { clip-path: none; }
  .intro-video, .intro-progress, .intro-hint { display: none; }
  .hero-media img { transform: none !important; }
  .hero { opacity: 1; pointer-events: auto; }
}

.scroll-intro.is-active { background: transparent; }
body { overflow-x: clip; }
@media (max-width: 780px) {
  .footer-grid { grid-template-columns: 1fr; }
  .footer-grid a { overflow-wrap: anywhere; }
  .section-head { flex-wrap: wrap; }
}
