.hero-headline-visual{
  position:relative!important;
  width:100%!important;
  overflow:hidden!important;
  isolation:isolate;
  background:#07162d!important;
}
.hero-headline-visual .hero-stage-image,
.hero-headline-visual .hero-stage-video-v4,
.hero-headline-visual > video,
.hero-headline-visual > img[data-hero-layer]{
  position:absolute!important;
  inset:0!important;
  width:100%!important;
  height:100%!important;
  max-width:none!important;
  max-height:none!important;
  object-fit:cover!important;
  object-position:50% 50%!important;
  transform-origin:center center!important;
}
/* Never let a portrait/square/small source collapse the cinematic frame. */
.hero-stage .hero-visual{min-width:0!important;}

/* Large desktop / ultrawide: broad editorial frame. */
@media (min-width:1440px){
  .hero-stage{grid-template-columns:minmax(0,1fr)!important;gap:clamp(2.25rem,3vw,3.75rem)!important;}
  .hero-stage .hero-visual{width:100%!important;max-width:none!important;margin-inline:auto!important;}
  .hero-headline-visual{height:clamp(36rem,67vh,52rem)!important;min-height:36rem!important;max-height:52rem!important;aspect-ratio:auto!important;border-radius:clamp(1.25rem,1.6vw,2rem)!important;}
}
/* Standard desktop/laptop: wide cinematic composition without consuming the full page. */
@media (min-width:1024px) and (max-width:1439px){
  .hero-stage{grid-template-columns:minmax(0,1fr)!important;gap:clamp(2rem,3.5vw,3.25rem)!important;}
  .hero-stage .hero-visual{width:100%!important;max-width:none!important;margin-inline:auto!important;}
  .hero-headline-visual{height:clamp(31rem,61vh,42rem)!important;min-height:31rem!important;max-height:42rem!important;aspect-ratio:auto!important;border-radius:1.5rem!important;}
}
/* Tablet landscape / iPad Pro landscape. */
@media (min-width:820px) and (max-width:1023px){
  .hero-stage{gap:2rem!important;}
  .hero-stage .hero-visual{width:100%!important;max-width:none!important;margin-inline:auto!important;}
  .hero-headline-visual{height:clamp(27rem,55vh,36rem)!important;min-height:27rem!important;aspect-ratio:auto!important;border-radius:1.35rem!important;}
}
/* Tablet portrait / large foldables: less panoramic, more vertical room for subject matter. */
@media (min-width:640px) and (max-width:819px){
  .hero-stage{gap:1.75rem!important;}
  .hero-stage .hero-visual{width:100%!important;max-width:none!important;}
  .hero-headline-visual{height:clamp(28rem,58vh,35rem)!important;min-height:28rem!important;aspect-ratio:auto!important;border-radius:1.25rem!important;}
}
/* Phones: portrait-first stage. Media still covers the whole hero; it is not letterboxed. */
@media (max-width:639px){
  .hero-stage{gap:1.25rem!important;}
  .hero-stage .hero-visual{width:100%!important;max-width:none!important;margin-inline:0!important;}
  .hero-headline-visual{height:clamp(27rem,66svh,36rem)!important;min-height:27rem!important;max-height:36rem!important;aspect-ratio:auto!important;border-radius:1.1rem!important;}
  .hero-headline-visual .hero-stage-image,
  .hero-headline-visual .hero-stage-video-v4,
  .hero-headline-visual > video,
  .hero-headline-visual > img[data-hero-layer]{object-position:50% 50%!important;}
}
/* Short landscape phones: prioritize usable viewport height. */
@media (max-width:932px) and (orientation:landscape) and (max-height:520px){
  .hero-headline-visual{height:clamp(19rem,78svh,25rem)!important;min-height:19rem!important;max-height:25rem!important;border-radius:1rem!important;}
}
/* Very narrow phones. */
@media (max-width:374px){
  .hero-headline-visual{height:clamp(25rem,64svh,32rem)!important;min-height:25rem!important;border-radius:.9rem!important;}
}
@media (prefers-reduced-motion:reduce){
  .hero-headline-visual .hero-stage-image,
  .hero-headline-visual .hero-stage-video-v4{animation:none!important;transition-duration:.01ms!important;}
}
.hero-carousel-control{
  transition:color .2s ease,border-color .2s ease,background-color .2s ease,transform .2s ease,box-shadow .2s ease;
}
.hero-carousel-control:hover{
  transform:translateY(-50%) scaleX(1.25) scale(1.12);
  border-color:var(--primary);
  color:var(--primary);
  background:color-mix(in oklab,var(--background) 94%,transparent);
  box-shadow:0 12px 28px color-mix(in oklab,var(--primary) 28%,transparent),0 0 0 4px color-mix(in oklab,var(--primary) 14%,transparent);
}
.hero-carousel-control:focus-visible{
  transform:translateY(-50%) scaleX(1.25) scale(1.12);
}
@media (prefers-reduced-motion:reduce){
  .hero-carousel-control,.hero-carousel-control:hover,.hero-carousel-control:focus-visible{
    transform:translateY(-50%) scaleX(1.25);
    transition:none;
  }
}

body.home-page .hero-section {
  isolation: isolate;
  background: #061225 !important;
}
body.home-page .hero-section .hero-bg {
  z-index: 0 !important;
  background: #061225 !important;
}
body.home-page .hero-section .hero-bg-image {
  opacity: 1 !important;
  filter: saturate(1.08) contrast(1.06) brightness(.72) !important;
}
body.home-page .hero-section .hero-image-overlay {
  z-index: 1 !important;
  background: linear-gradient(90deg,rgba(3,10,22,.90) 0%,rgba(4,13,28,.76) 43%,rgba(4,13,28,.50) 72%,rgba(3,10,22,.64) 100%) !important;
}
body.home-page .hero-section .hero-stage {
  z-index: 2 !important;
}
body.home-page .hero-section .hero-copy,
body.home-page .hero-section .hero-copy h1,
body.home-page .hero-section .hero-copy h2,
body.home-page .hero-section .hero-copy p,
body.home-page .hero-section .hero-copy .text-muted-foreground {
  color: #fff !important;
}
body.home-page .hero-section .hero-copy .text-primary { color: #60a5fa !important; }
body.home-page .hero-section .hero-copy .text-gold { color: #fbbf24 !important; }
body.home-page .hero-section .hero-copy [class*="border-primary"] {
  background: rgba(5,18,38,.46) !important;
  border-color: rgba(96,165,250,.52) !important;
  color: #dbeafe !important;
  backdrop-filter: blur(8px);
}
body.home-page .hero-section .hero-copy a[class*="border-border"] {
  border-color: rgba(255,255,255,.42) !important;
  color: #fff !important;
  background: rgba(3,10,22,.22) !important;
}
body.home-page .hero-section .hero-headline-visual {
  background: #07162d !important;
  border-color: rgba(255,255,255,.16) !important;
}
/* Do not re-lighten the hero when the document theme is light. */
html:not(.dark) body.home-page .hero-section .hero-bg-image,
html:not(.dark) body.home-page .hero-section [data-hero-layer] img,
html:not(.dark) body.home-page .hero-section [data-hero-layer] video {
  opacity: 1 !important;
  filter: saturate(1.08) contrast(1.06) brightness(.72) !important;
}
