/* Review refinements: native document flow and tightly packed photo columns. */
.hero-portal-video {
  pointer-events: none;
  -webkit-appearance: none;
}
.hero-portal-video::-webkit-media-controls,
.hero-portal-video::-webkit-media-controls-enclosure,
.hero-portal-video::-webkit-media-controls-panel,
.hero-portal-video::-webkit-media-controls-start-playback-button,
.hero-portal-video::-webkit-media-controls-overlay-play-button {
  display: none !important;
  opacity: 0 !important;
  pointer-events: none !important;
  -webkit-appearance: none;
}
.stills-masonry-grid { display: block; columns: 3; column-gap: 1rem; }
.still-card { break-inside: avoid; -webkit-column-break-inside: avoid; margin: 0 0 1rem; transform: none; aspect-ratio: auto; }
.still-card.span-wide,
.still-card.span-tall { aspect-ratio: auto; }
.still-card picture { display: block; width: 100%; }
.still-card img { display: block; width: 100%; height: auto; aspect-ratio: auto; }
.still-card:hover { transform: none; }
.stills-lightbox-picture {
  display: flex;
  max-width: 100%;
  max-height: 80vh;
  align-items: center;
  justify-content: center;
}
.horizontal-scroll-stage { height: auto; padding: 6rem 0; }
.horizontal-sticky-wrapper { position: relative; height: auto; width: 100%; overflow: visible; }
.horizontal-header { position: static; margin: 0 5vw 2rem; flex-wrap: wrap; }
.horizontal-track { width: auto; padding: 0 5vw; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 2rem; will-change: auto; }
.horizontal-track .card-panoramic { width: 100%; }
.proof-ticker-grid {
  grid-template-columns: none;
  grid-auto-flow: column;
  grid-auto-columns: max-content;
  justify-content: space-between;
  gap: clamp(1.25rem, 2.5vw, 2.5rem);
  overflow-x: auto;
  overscroll-behavior-inline: contain;
  scrollbar-width: none;
  padding-bottom: 0.5rem;
}
.proof-ticker-grid::-webkit-scrollbar { display: none; }
.ticker-metric { min-width: max-content; }
.metric-num {
  font-size: clamp(2rem, 3.4vw, 3.5rem);
  white-space: nowrap;
}
.metric-tag { white-space: nowrap; }
.card-metrics-strip span {
  max-width: 100%;
  flex-wrap: wrap;
  white-space: normal;
  overflow-wrap: anywhere;
  line-height: 1.35;
}
.bts-hud-overlay { pointer-events: none; }
.bts-hud-bottom { margin-bottom: clamp(2.75rem, 4vw, 3.5rem); }
@media (max-width: 900px) {
  .stills-masonry-grid { columns: 2; }
  .horizontal-track { grid-template-columns: 1fr; }
  .horizontal-scroll-stage { padding: 4rem 0; }
  .philosophy-section {
    min-height: 0;
    padding: clamp(4rem, 10vw, 6rem) 0;
  }
  .philosophy-sticky {
    position: relative;
    top: auto;
  }
  .proof-ticker-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    grid-auto-flow: row;
    grid-auto-columns: auto;
    justify-content: stretch;
    overflow-x: visible;
  }
  .ticker-metric { min-width: 0; }
  .metric-tag {
    display: block;
    max-width: 100%;
    white-space: normal;
    overflow-wrap: anywhere;
    line-height: 1.45;
  }
}
@media (max-width: 600px) {
  .stills-masonry-grid { columns: 1; }
  .proof-ticker-grid {
    grid-template-columns: minmax(0, 1fr);
    gap: 1.5rem;
  }
}
@media (max-width: 600px) {
  .bts-hud-overlay { padding: 0.75rem; }
  .bts-hud-top > span,
  .bts-hud-bottom { display: none; }
  .bts-live-indicator {
    max-width: 100%;
    font-size: 0.58rem;
    letter-spacing: 0.08em;
  }
}
@media (pointer: coarse), (prefers-reduced-motion: reduce) {
  .film-grain { display: none; }
  .hero-scroll-stage, .philosophy-section { height: auto; }
  .hero-pinned-wrapper, .philosophy-sticky { position: relative; top: auto; }
  .philosophy-section { min-height: 0; }
  .scrub-word { opacity: 1; color: var(--c-baige); }
}
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { animation: none !important; transition: none !important; scroll-behavior: auto !important; }
  .custom-cursor { display: none; }
  .preloader.hidden { display: none; }
}

/* Let the loader animate fully before removing it from interaction and paint. */
.preloader {
  will-change: transform, opacity;
  transition:
    transform 1.05s var(--ease-cinematic),
    opacity 0.7s ease,
    visibility 0s linear 1.05s;
}

.preloader.hidden {
  transform: translate3d(0, -100%, 0);
  opacity: 0;
  visibility: hidden;
}

.preloader.dismissed {
  display: none;
}
