/* Additive prototype. Removing the module restores the original hero. */
.louder-enabled .hero-content { z-index: 2; }
.louder-images {
  position: absolute; inset: 0; z-index: 1; overflow: hidden;
  opacity: 0; pointer-events: none; isolation: isolate;
  transition: opacity var(--louder-exit) ease;
}
.louder-frame { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; opacity: 0; }
.louder-images::after { content: ''; position: absolute; inset: 0; z-index: 2; background: #000; mix-blend-mode: multiply; opacity: var(--louder-image-shade, .25); }
.louder-enabled .hero-color-loop-layer { transition: opacity var(--louder-exit) ease; }
.is-louder .louder-images { opacity: 1; transition-duration: var(--louder-entry); }
.is-louder .hero-color-loop-layer { opacity: 0; transition-duration: var(--louder-entry); }
.home-page .hero-line { position: relative; top: -12px; }
.home-page .hero-explore-label {
  position: relative;
  display: inline-flex; align-items: center; justify-content: center;
  min-width: 146.556px; min-height: 49.68px; padding: 12.42px 32.292px;
  font-size: calc(16.146px * var(--density-scale));
  cursor: pointer; pointer-events: auto;
  background: rgb(0 0 0 / 30%);
  border: 1px solid currentColor; border-radius: 999px;
}
.explore-trigger-rings {
  position: absolute; z-index: 11;
  width: var(--trigger-diameter); height: var(--trigger-diameter);
  transform: translate(-50%, -50%); pointer-events: none;
}
.explore-trigger-rings > span {
  position: absolute; inset: -4%; border: 1px solid rgb(255 255 255 / 16%);
  border-radius: 50%; pointer-events: none;
  animation: explore-orbit-inner 9s ease-in-out infinite alternate;
}
.explore-trigger-rings > span + span {
  inset: -8%; border-color: rgb(255 255 255 / 11%);
  animation: explore-orbit-outer 12s ease-in-out -5s infinite alternate;
}
@keyframes explore-orbit-inner {
  from { transform: translate(-3px, 2px) rotate(-8deg) scale(1, 1.015); }
  to { transform: translate(4px, -3px) rotate(10deg) scale(1.015, 1); }
}
@keyframes explore-orbit-outer {
  from { transform: translate(4px, 3px) rotate(12deg) scale(1.015, 1); }
  to { transform: translate(-4px, -2px) rotate(-10deg) scale(1, 1.02); }
}
@media (prefers-reduced-motion: reduce) {
  .explore-trigger-rings > span { animation: none; }
}
.home-page .hero-explore-label::after { content: none; }
.explore-outline-echo {
  position: absolute; inset: -1px; border: 1px solid #fff;
  border-radius: inherit; background: transparent; opacity: 0;
  pointer-events: none; transform-origin: center;
}
.home-page .hero-explore { gap: 8px; margin-top: 0; cursor: default; pointer-events: none; }
.home-page .hero-explore-dot-bottom { background: #fff; }
.home-page .hero-bottom-group {
  top: calc(100% + clamp(32px, 5vh, 64px)); bottom: auto;
  width: 100%; transform: translateX(-50%);
}
.hero-explore:focus-visible { outline: none; }
.hero-explore:focus-visible .hero-explore-label { outline: 2px solid white; outline-offset: 4px; }
.hero-scroll-down {
  position: absolute; left: 50%; bottom: calc(12px + env(safe-area-inset-bottom, 0px));
  z-index: 14; transform: translateX(-50%); width: 44px; height: 44px;
  display: grid; place-items: center; color: rgb(255 255 255 / 45%);
  transition: color 180ms ease; text-decoration: none;
}
.hero-scroll-down svg { width: 18px; height: 11px; }
.hero-scroll-down:hover, .hero-scroll-down:focus-visible { color: rgb(255 255 255 / 85%); }
.hero-scroll-down:focus-visible { outline: 1px solid currentColor; outline-offset: 2px; border-radius: 50%; }
.home-page .hero-line > p,
.louder-tagline { font-size: clamp(18px, 2.65vw, 68px); line-height: 1.15; }
.home-page .hero-line > p { font-weight: 400; }
.louder-tagline {
  position: absolute; top: calc(100% - 12px); left: 0; width: 100%; margin-top: -1.15em;
  display: flex; flex-wrap: wrap; justify-content: center; gap: 0 .24em;
  font-weight: 700;
  letter-spacing: -.035em; color: var(--louder-tagline-color);
  mix-blend-mode: var(--louder-text-blend); filter: var(--louder-text-filter);
  text-shadow: var(--louder-text-shadow); pointer-events: none;
}
.home-page .hero-line .louder-letter, .louder-tagline .louder-letter {
  display: inline; margin: 0; font: inherit; letter-spacing: inherit;
}
.home-page .hero-line .louder-sr-only, .louder-tagline .louder-sr-only {
  position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px;
  overflow: hidden; clip-path: inset(50%); white-space: nowrap;
}
.is-louder .hero-title { color: var(--louder-title-color); mix-blend-mode: var(--louder-text-blend); filter: var(--louder-text-filter); text-shadow: var(--louder-text-shadow); }
.is-louder .hero-spread-layer, .is-louder .hero-title::after { opacity: 0 !important; }
.has-louder .lumen-field, .has-louder .lumen-field-line { visibility: hidden; }
.lumen-edge-particles.is-explore-attracted { --hero-loop-color: #fff; }
.lumen-edge-particles.is-explore-attracted .lumen-edge-particle { transition: opacity 120ms ease; }
.hero-title-exiting .louder-tagline { opacity: 0; transition: opacity 650ms ease; }
@media (max-width: 900px) {
  .home-page .hero-explore-label { font-size: 16.146px; }
}
@media (max-width: 600px) {
  .home-page .hero-line > p,
  .louder-tagline { font-size: clamp(17px, 4.3vw, 25px); }
}
@media (max-width: 640px) {
  .home-page .hero-bottom-group {
    top: auto;
    bottom: calc(clamp(84px, 12svh, 120px) + env(safe-area-inset-bottom, 0px));
  }
  .home-page .hero-line { top: -4px; }
  .louder-tagline { top: calc(100% - 4px); }
}
@media (prefers-reduced-motion: reduce) {
  .louder-images, .louder-tagline, .louder-enabled .hero-line > p,
  .louder-enabled .hero-color-loop-layer { transition-duration: 0ms !important; transition-delay: 0ms !important; }
}
