/* Scoped to the replacement hero. Existing theme and all other sections remain independent. */
.fh-hero { --fh-scroll-y:0; position:relative; left:50%; margin-left:calc(var(--fh-viewport-width, 100vw) * -.5); isolation:isolate; overflow:hidden; box-sizing:border-box; width:var(--fh-viewport-width, 100vw); min-height:100vh; min-height:100svh; color:#fff; background:#000; text-align:center; font-size:16px; }
.fh-hero *, .fh-hero *::before, .fh-hero *::after { box-sizing:border-box; }
.fh-hero-background { position:absolute; inset:0; z-index:-1; overflow:hidden; }
.fh-hero-background img { display:block; width:100%; height:100%; max-width:none; object-fit:cover; object-position:55% 49%; }
.fh-hero-canvas { display:flex; flex-direction:column; justify-content:center; align-items:center; width:100%; max-width:1920px; min-height:100vh; min-height:100svh; margin:auto; padding:110px 40px 35px; }
.fh-hero-copy { width:100%; max-width:900px; padding:30px 20px 90px; }
.fh-hero h1.fh-hero-title { margin:0; padding:0 0 10px; font-family:'Open Sans',Arial,sans-serif; font-size:16px; font-weight:700; line-height:1; color:#fff; letter-spacing:5px; text-transform:none; text-shadow:0 2px 5px rgb(0 0 0 / 13%); }
.fh-hero p.fh-hero-description { margin:0; padding:0; font-family:Inter,Arial,sans-serif; font-size:40px; font-weight:600; line-height:1.4; color:#fff; text-shadow:0 2px 5px rgb(0 0 0 / 16%); }
.fh-hero-badges { display:flex; flex-wrap:wrap; justify-content:center; gap:16px; padding:20px 10px 10px; }
.fh-hero-badges img { display:block; width:166px; height:48px; max-width:100%; object-fit:contain; }
.fh-hero a.fh-hero-app-store:focus-visible { outline:2px solid #fff; outline-offset:4px; border-radius:6px; }
.fh-hero a.fh-hero-scroll { display:inline-flex; align-items:center; justify-content:center; gap:.6em; padding:14px 35px; font:600 14px/1.5 Inter,Arial,sans-serif; color:rgb(255 255 255 / 86%); letter-spacing:1px; text-decoration:none; border-radius:99px; }
.fh-hero a.fh-hero-scroll:hover, .fh-hero a.fh-hero-scroll:focus { color:#fff; backdrop-filter:blur(2px); }
.fh-hero a.fh-hero-scroll:focus-visible { outline:2px solid #fff; outline-offset:4px; }
.fh-hero-chevron { display:inline-block; width:9px; height:9px; border:solid currentColor; border-width:0 2px 2px 0; transform:rotate(45deg); margin-top:-5px; }
.fh-hero-after { display:block; width:0; height:0; scroll-margin-top:0; }
/* Independent motion: exact historic delays/displacements, intentionally no vendor engine. */
.fh-hero.is-playing .fh-entry-title { animation:fh-hero-enter .8s ease 1s both; --fh-enter-y:-10px; }
.fh-hero.is-playing .fh-entry-description { animation:fh-hero-enter .8s ease 1.4s both; --fh-enter-y:10px; }
.fh-hero.is-playing .fh-entry-badges { animation:fh-hero-enter .8s ease 1.7s both; --fh-enter-y:-50px; }
.fh-hero.is-playing .fh-entry-scroll { animation:fh-hero-enter 1.3s ease 2.6s both; --fh-enter-y:10px; }
.fh-hero.has-parallax .fh-hero-depth { transition:transform 150ms ease-out; }
.fh-hero.has-parallax .fh-depth-4 { transform:translateY(calc(var(--fh-scroll-y) * -4px)); }
.fh-hero.has-parallax .fh-depth-3 { transform:translateY(calc(var(--fh-scroll-y) * -3px)); }
.fh-hero.has-parallax .fh-depth-1 { transform:translateY(calc(var(--fh-scroll-y) * -1px)); }
.fh-hero.is-playing .fh-hero-background img { animation:fh-hero-background 20s ease-out both; }
@keyframes fh-hero-enter { from { opacity:0; transform:translateY(var(--fh-enter-y)); } to { opacity:1; transform:translateY(0); } }
@keyframes fh-hero-background { from { transform:scale(1.5) translateY(0); } to { transform:scale(1.2) translateY(100px); } }
@media (orientation:landscape) and (min-width:901px) and (max-width:1199px), (orientation:portrait) and (min-width:701px) and (max-width:1199px) {
  .fh-hero-canvas { padding-bottom:10px; }
  .fh-hero p.fh-hero-description { font-size:32px; }
}
@media (orientation:landscape) and (max-width:900px), (orientation:portrait) and (max-width:700px) {
  .fh-hero-canvas { padding:20px 10px 30px; }
  .fh-hero-copy { max-width:450px; padding:30px 10px 10px; }
  .fh-hero h1.fh-hero-title { font-size:12.8px; }
  .fh-hero p.fh-hero-description { font-size:24px; }
  .fh-hero-badges { gap:10px; }
  .fh-hero-badges img { width:140px; height:auto; }
  .fh-hero a.fh-hero-scroll { font-size:11.2px; }
  .fh-hero .fh-hero-depth { transform:none; }
}
@media (prefers-reduced-motion:reduce) {
  .fh-hero .fh-hero-entry, .fh-hero .fh-hero-background img { animation:none !important; opacity:1 !important; transform:none !important; }
  .fh-hero .fh-hero-depth { transform:none !important; transition:none !important; }
}
