/* ============================================================
   JET ATLAS — theme horizon band (brand word-marquee + glowing
   lime lake-horizon + drifting sparkles). Self-contained port of the
   ht-horizon widget, rendered before the footer on every main page via
   inc/horizon.php with page-adapted content. Sparkles: assets/js/horizon.js.
   ============================================================ */
.ja-horizon { position: relative; background: #0A0A0A; color: #fff; overflow: hidden; isolation: isolate; padding: clamp(90px,12vw,150px) 0 0; }
.ja-horizon *, .ja-horizon *::before, .ja-horizon *::after { box-sizing: border-box; }
.ja-horizon__wrap { width: min(100% - 2*clamp(16px,5vw,56px), 1240px); margin-inline: auto; }

/* Head */
.ja-horizon__head { position: relative; z-index: 4; display: flex; flex-direction: column; align-items: center; text-align: center; gap: 16px; }
.ja-horizon__eyebrow { display: inline-flex; align-items: center; gap: 9px; background: #DCFF00; color: #0A0A0A; padding: 7px 16px; border-radius: 999px; font-family: "Outfit", system-ui, sans-serif; font-size: 11.5px; font-weight: 700; letter-spacing: 2px; text-transform: uppercase; }
.ja-horizon__title { margin: 0; font-family: "Cormorant Garamond", Georgia, serif; font-weight: 500; font-size: clamp(34px,5vw,64px); line-height: 1.03; letter-spacing: -.01em; color: #fff; }
.ja-horizon__title em { font-style: italic; text-decoration: underline; text-decoration-color: #DCFF00; text-decoration-thickness: .1em; text-underline-offset: .08em; }
.ja-horizon__sub { margin: 0; max-width: 56ch; color: rgba(255,255,255,.72); font-size: clamp(15px,1.5vw,18px); line-height: 1.7; }

/* Word marquee */
.ja-horizon__marquee { position: relative; z-index: 4; margin-top: clamp(34px,5vw,54px); overflow: hidden; -webkit-mask-image: linear-gradient(90deg, transparent, #000 12%, #000 88%, transparent); mask-image: linear-gradient(90deg, transparent, #000 12%, #000 88%, transparent); }
.ja-horizon__track { display: flex; align-items: center; width: max-content; animation: ja-horizon-marq 42s linear infinite; }
.ja-horizon__item { display: inline-flex; align-items: center; gap: clamp(24px,3.4vw,48px); padding-right: clamp(24px,3.4vw,48px); font-family: "Cormorant Garamond", Georgia, serif; font-style: italic; font-weight: 500; font-size: clamp(20px,2.6vw,34px); color: rgba(255,255,255,.84); white-space: nowrap; }
.ja-horizon__item::after { content: "\2726"; color: #DCFF00; font-size: .5em; font-style: normal; }
@keyframes ja-horizon-marq { from { transform: translateX(0); } to { transform: translateX(-50%); } }
.ja-horizon__marquee:hover .ja-horizon__track { animation-play-state: paused; }
@media (prefers-reduced-motion: reduce) { .ja-horizon__track { animation: none; } }

/* Glowing horizon stage + sparkles */
.ja-horizon__stage { position: relative; margin-top: clamp(-110px,-8vw,-56px); height: clamp(300px,34vw,400px); overflow: hidden; -webkit-mask-image: radial-gradient(72% 100% at 50% 100%, #000 45%, transparent 90%); mask-image: radial-gradient(72% 100% at 50% 100%, #000 45%, transparent 90%); }
.ja-horizon__glow { position: absolute; inset: 0; z-index: 1; background: radial-gradient(circle at 50% 100%, rgba(220,255,0,.5), transparent 68%); opacity: .6; }
.ja-horizon__planet { position: absolute; left: -50%; top: 50%; width: 200%; aspect-ratio: 1 / 0.7; border-radius: 100%; border-top: 1.5px solid rgba(220,255,0,.55); background: #0A0A0A; z-index: 2; box-shadow: 0 -2px 60px -8px rgba(220,255,0,.3); }
.ja-horizon__sparkles { position: absolute; inset: 0; z-index: 3; width: 100%; height: 100%; -webkit-mask-image: radial-gradient(56% 62% at 50% 52%, #000, transparent 86%); mask-image: radial-gradient(56% 62% at 50% 52%, #000, transparent 86%); }

@media (max-width: 640px) {
  .ja-horizon__stage { margin-top: -36px; height: 250px; }
}
