/* Cinematic entrance; kept separate from the existing catalog and series styles. */
.hero--cinematic{background:#030303;min-height:780px;max-height:1080px;height:100svh;isolation:isolate}
.hero--cinematic .hero-photo{position:absolute;inset:0;pointer-events:none;z-index:-1;overflow:hidden}
.hero--cinematic .hero-car-stage{position:absolute;inset:auto;width:max(100%,min(177.68svh,1919px),1386px);height:auto;aspect-ratio:1672/941;left:70%;top:50%;transform:translate(-70%,-50%)}
.hero--cinematic .hero-photo img{position:absolute;inset:0;width:100%;height:100%;max-width:none;object-fit:fill;object-position:center;transform:none;animation:none;will-change:auto}
.hero--cinematic .hero-photo .hero-car-body{opacity:1;filter:grayscale(1) brightness(.45) contrast(1.12)}
/* These masks reveal the actual photographic lamps; no drawn lamp shapes. */
.hero--cinematic .hero-photo .hero-car-lights,.hero--cinematic .hero-photo .hero-car-glow{
  -webkit-mask-image:radial-gradient(ellipse 11% 7% at 49% 47%,#000 35%,transparent 100%),radial-gradient(ellipse 11% 7% at 87% 47%,#000 35%,transparent 100%);
  mask-image:radial-gradient(ellipse 11% 7% at 49% 47%,#000 35%,transparent 100%),radial-gradient(ellipse 11% 7% at 87% 47%,#000 35%,transparent 100%);
  opacity:.75;filter:grayscale(1) brightness(1.4);animation:headlights-breathe 12s ease-in-out infinite;will-change:opacity
}
.hero--cinematic .hero-photo .hero-car-glow{filter:grayscale(1) brightness(1.5) blur(14px);mix-blend-mode:screen;animation-name:headlights-glow}
.hero--cinematic .hero-photo:after{background:linear-gradient(90deg,#030303f5 0%,#030303d9 24%,#03030355 40%,transparent 57%),linear-gradient(0deg,#030303 0%,transparent 28%)}
.hero--cinematic .hero-grid{display:none}
.hero--cinematic .hero-content{padding:0;position:absolute;left:var(--gutter);top:50%;transform:translateY(-47%);width:40%;max-width:660px}
.hero--cinematic .hero-kicker{font-size:.75rem;letter-spacing:.16em;color:#b4b4b4;margin-bottom:30px;line-height:1.8}
.hero--cinematic h1{font-size:clamp(48px,4.15vw,86px);letter-spacing:-.055em;line-height:1.08;font-weight:400}
.hero--cinematic .hero-title-muted{color:#898989}
.hero--cinematic h1 span:last-child{margin-top:.16em}
.hero--cinematic .hero-sub{margin-top:27px}
.hero--cinematic .hero-sub p{font-size:1rem;line-height:1.85;color:#b8b8b8;max-width:390px;margin:0}
.hero--cinematic .hero-ctas{gap:25px;margin-top:30px;flex-wrap:wrap}
.hero--cinematic .hero-ctas .button{font-size:.875rem;min-height:52px;padding:17px 22px}
.hero--cinematic .hero-ctas .text-link{font-size:.875rem;line-height:1.5}
.hero--cinematic .hero-bottom{min-height:92px;border-color:#ffffff1c}
.hero--cinematic .hero-bottom-note{font-size:.75rem;letter-spacing:.1em;color:#8d8d8d}
.hero--cinematic .hero-bottom>div{gap:32px}
.hero--cinematic .hero-bottom>div>span{font-size:.75rem;letter-spacing:.06em;color:#b4b4b4}
.hero--cinematic .hero-bottom b{font-size:1.5rem}
.hero--cinematic .scroll-cue{font-size:.75rem;letter-spacing:.12em}
@keyframes headlights-breathe{0%,100%{opacity:.22}14%,30%{opacity:.95}49%{opacity:.3}68%,83%{opacity:.8}}
@keyframes headlights-glow{0%,100%{opacity:.06}14%,30%{opacity:.34}49%{opacity:.09}68%,83%{opacity:.25}}
.motion-paused .hero--cinematic .hero-photo .hero-car-lights{animation:none!important;opacity:.85}
.motion-paused .hero--cinematic .hero-photo .hero-car-glow{animation:none!important;opacity:.22}
@media(prefers-reduced-motion:reduce){.hero--cinematic .hero-photo .hero-car-lights{animation:none!important;opacity:.85}.hero--cinematic .hero-photo .hero-car-glow{animation:none!important;opacity:.22}}
@media(min-width:2000px){.hero--cinematic .hero-content{left:max(var(--gutter),calc((100vw - 2100px)/2))}}
@media(max-width:1100px){
  .hero--cinematic{height:auto;min-height:940px;max-height:none;padding-top:420px}
  .hero--cinematic .hero-photo{height:490px;bottom:auto}
  .hero--cinematic .hero-car-stage{width:max(900px,120vw);height:auto;aspect-ratio:1672/941;inset:auto;left:50%;top:15px;transform:translateX(-68%)}
  .hero--cinematic .hero-photo img{object-fit:fill;object-position:center}
  .hero--cinematic .hero-photo:after{background:linear-gradient(0deg,#030303 0%,#03030344 15%,transparent 38%),linear-gradient(180deg,#030303 0%,transparent 23%)}
  .hero--cinematic .hero-content{position:relative;left:auto;top:auto;transform:none;width:auto;max-width:none;padding:0 var(--gutter) 145px}
  .hero--cinematic h1{font-size:clamp(44px,5vw,58px)}
  .hero--cinematic .hero-bottom>div{gap:24px}
}
@media(max-width:760px){
  .hero--cinematic{height:auto;min-height:850px;max-height:none;padding-top:340px}
  .hero--cinematic .hero-photo{height:400px;bottom:auto}
  .hero--cinematic .hero-car-stage{width:max(670px,165vw);height:auto;aspect-ratio:1672/941;inset:auto;left:50%;top:48px;transform:translateX(-68%)}
  .hero--cinematic .hero-photo img{object-fit:fill;object-position:center}
  .hero--cinematic .hero-photo:after{background:linear-gradient(0deg,#030303 0%,#03030344 15%,transparent 38%),linear-gradient(180deg,#030303 0%,transparent 23%)}
  .hero--cinematic .hero-content{position:relative;left:auto;top:auto;transform:none;width:auto;max-width:none;padding:0 var(--gutter) 145px}
  .hero--cinematic .hero-kicker{font-size:.75rem;letter-spacing:.09em;margin-bottom:20px}
  .hero--cinematic h1{font-size:clamp(38px,9.3vw,58px);letter-spacing:-.05em;line-height:1.08}
  .hero--cinematic .hero-sub{margin-top:22px}
  .hero--cinematic .hero-sub p{font-size:1rem;line-height:1.7;max-width:400px}
  .hero--cinematic .hero-ctas{gap:22px;margin-top:25px}
  .hero--cinematic .hero-bottom{min-height:92px}
  .hero--cinematic .hero-bottom-note,.hero--cinematic .hero-bottom>div>span:last-child{display:none}
  .hero--cinematic .hero-bottom>div{gap:25px}
  .hero--cinematic .hero-bottom>div>span{font-size:.75rem;gap:4px}
  .hero--cinematic .hero-bottom b{font-size:1.375rem}
}
@media(max-width:360px){.hero--cinematic{padding-top:300px;min-height:850px}.hero--cinematic .hero-photo{height:350px}.hero--cinematic .hero-car-stage{width:580px;top:60px}.hero--cinematic .hero-ctas{gap:20px}.hero--cinematic .hero-ctas .text-link{font-size:.875rem}.hero--cinematic .hero-ctas .button{padding:16px 20px}.hero--cinematic .hero-kicker{font-size:.75rem;letter-spacing:.06em}}
