/* The original photographic scene: ignition, sparks and smoke. */
.loader[hidden] { display: none !important; }
html { overflow-x: clip; }
body { overflow: visible; }
.hero-story { position: relative; background: #0a0a0a; }
.hero-cinematic { height: 100vh; height: 100svh; min-height: 320px; isolation: isolate; }
.candle-scroll-ready .hero-story { height: 300vh; height: 300svh; }
.candle-scroll-ready .hero-cinematic { position: sticky !important; top: 0 !important; inset-inline: 0 !important; }
.hero-film { position: absolute; inset: 0; width: 100%; height: 100%; max-width: none; display: block; object-fit: cover; object-position: center; pointer-events: none; }
.hero-cinematic .hero-overlay { pointer-events: none; background: linear-gradient(180deg, rgba(0,0,0,.22), transparent 22%, transparent 72%, #0a0a0a 94%); }
.hero-cinematic .hero-title { text-shadow: 0 3px 22px rgba(0,0,0,.6); }
.hero-cinematic .hero-subtitle { color: #d0c8b9; }
.hero-cinematic .hero-offer { color: #c9ad78; }
.hero-cinematic .hero-line { display: none; }
html.candle-scroll-ready .hero-content { opacity: var(--hero-copy, 1) !important; transform: translate3d(0, var(--hero-shift, 0px), 0) !important; }
html.candle-scroll-ready .scroll-indicator { opacity: var(--hero-cue, 1) !important; }
.hero-cinematic .scroll-indicator { width: max-content; max-width: calc(100% - 3rem); text-align: center; }
.hero-cinematic .scroll-indicator span { font-size: .62rem; letter-spacing: .19em; color: #c9ad78; }
.candle-mobile-video { transition: none; background: transparent; }
.candle-film-layer { position: absolute; inset: 0; z-index: 1; opacity: 0; pointer-events: none; transition: opacity .24s ease !important; }
.candle-mobile-stage .hero-film { transform: translate3d(0,var(--candle-y,0px),0) scale(var(--candle-scale,1)); transform-origin: 50% 65%; }
.candle-mobile-stage #heroPoster, .candle-mobile-stage .candle-mobile-video { transition: none !important; }
.candle-entry-light { opacity: 0; z-index: 2; overflow: hidden; transition: opacity .24s ease !important; }
.candle-intro-active .candle-entry-light { opacity: 1; }
.candle-entry-halo { position: absolute; left: 50%; top: 35%; width: min(280px,75vw); height: 210px; margin-top: -80px; background: radial-gradient(ellipse,rgba(214,159,76,.16),rgba(190,129,44,.035) 45%,transparent 70%); animation: candle-light-breath 4s ease-in-out infinite; }
.candle-entry-light i { position: absolute; left: 50%; top: 38%; width: 2px; height: 2px; border-radius: 50%; background: #e8c585; box-shadow: 0 0 5px rgba(222,170,85,.6); opacity: 0; animation: candle-light-rise 3.8s ease-out infinite; }
.candle-entry-light i:nth-child(2) { margin-left: -16px; animation-delay: -1.1s; --ember-x: -22px; }
.candle-entry-light i:nth-child(3) { margin-left: 8px; animation-delay: -2.7s; --ember-x: 27px; }
.candle-entry-light i:nth-child(4) { margin-left: 20px; animation-delay: -.4s; --ember-x: 12px; }
.candle-entry-light i:nth-child(5) { margin-left: -5px; animation-delay: -3.3s; --ember-x: -11px; }
.candle-entry-light i:nth-child(6) { margin-left: -26px; animation-delay: -1.9s; --ember-x: -34px; }
@keyframes candle-light-breath { 0%,100% { opacity: .5; transform: translate3d(-50%,4px,0) scale(.95); } 50% { opacity: 1; transform: translate3d(-50%,-4px,0) scale(1.03); } }
@keyframes candle-light-rise { 0% { opacity: 0; transform: translate3d(0,10px,0) scale(.6); } 18% { opacity: .65; } 100% { opacity: 0; transform: translate3d(var(--ember-x,20px),-115px,0) scale(.2); } }
html:not(.candle-intro-active) .candle-entry-light *, html:not(.candle-in-view) .candle-entry-light *, .menu-is-open .candle-entry-light * { animation-play-state: paused; }
/* Gentle mode keeps the photographic film automatic without zoom or flying particles. */
.candle-gentle .candle-entry-light i { display: none; }
.candle-gentle .candle-entry-halo { animation: candle-gentle-light 6s ease-in-out infinite !important; transform: translateX(-50%); }
@keyframes candle-gentle-light { 0%,100% { opacity: .45; } 50% { opacity: .7; } }
@media (min-aspect-ratio: 6/5) and (pointer: coarse) { .candle-mobile-video, #heroPoster { object-fit: contain; } }
.candle-static .hero-cinematic .scroll-indicator { visibility: hidden; }
/* The source already carries its own texture; no page-wide moving grain. */
.film-grain { display: none; }
.hero-cinematic .hero-title, .hero-cinematic .hero-subtitle, .hero-cinematic .hero-offer { text-shadow: none; }
.nav.scrolled { background: rgba(10,10,10,.97); backdrop-filter: none; -webkit-backdrop-filter: none; }
@media (max-width: 1024px), (pointer: coarse) {
  .candle-scroll-ready .hero-story { height: 270vh; height: 270svh; }
  .hero-cinematic .hero-overlay { background: linear-gradient(180deg, rgba(0,0,0,.25), transparent 30%, transparent 77%, #0a0a0a 95%); }
}
@media (max-aspect-ratio: 4/5) {
  .hero-cinematic { --film-height: min(82svh, 165vw); }
  .hero-film { top: auto; bottom: 0; left: 0; right: auto; height: var(--film-height); width: 100%; transform: none; object-fit: cover; will-change: transform; }
  .hero-cinematic .hero-overlay { background: linear-gradient(180deg, #0a0a0a calc(100% - var(--film-height)), transparent calc(100% - var(--film-height) + 70px), transparent 77%, #0a0a0a 95%); }
  .hero-cinematic .hero-content { justify-content: flex-start; padding-top: max(108px, 15svh); }
  .hero-cinematic .hero-title { margin-bottom: 1.25rem; }
  .hero-cinematic .hero-subtitle { max-width: 32rem; font-size: .66rem; letter-spacing: .2em; }
  .hero-cinematic .hero-offer { max-width: 32rem; font-size: .62rem; margin-top: .8rem; letter-spacing: .12em; }
  .hero-cinematic .hero-offer { display: flex; flex-direction: column; gap: .25rem; }
  .hero-cinematic .hero-offer .dot { display: none; }
  .hero-cinematic .scroll-indicator { bottom: max(24px, env(safe-area-inset-bottom, 0px)); }
}
@media (max-height: 540px) and (pointer: coarse) {
  .hero-cinematic { min-height: 100svh; }
  .hero-cinematic .hero-title { margin-bottom: .5rem; }
  .hero-cinematic .hero-content { padding-top: 60px; padding-bottom: 20px; }
}
@media (prefers-reduced-motion: reduce) {
  .candle-scroll-ready .hero-story { height: 270vh; height: 270svh; }
  .candle-scroll-ready .hero-cinematic { position: sticky !important; }
  .candle-film-layer { transition: opacity .24s ease !important; }
}
