/* Homepage-only pieces: cinematic hero, rotating professions, live clocks, marquee.
   Everything else on the homepage comes from immersive.css. */
.hx-hero{position:relative;isolation:isolate;min-height:max(780px,100svh);display:flex;flex-direction:column;justify-content:center;padding:150px 0 150px;overflow:hidden}
.hx-hero-media{position:absolute;inset:-3%;z-index:-3;background:#15252a}
.hx-hero-media img{width:100%;height:100%;object-fit:cover;object-position:70% 55%;filter:saturate(.55) brightness(.92);transform:translate3d(var(--px,0),var(--py,0),0) scale(1.06);transition:transform 1.4s var(--hx-ease)}
.motion .hx-hero-media img{animation:hx-arrive 2.6s var(--hx-ease) both}
.hx-hero::before{content:'';position:absolute;inset:0;z-index:-2;background:linear-gradient(90deg,#070d12f7 0%,#070d12d4 36%,#070d1240 72%,#070d1226),linear-gradient(0deg,#090f13 2%,#090f1300 40%),radial-gradient(ellipse 60% 50% at 78% 30%,#b8f57312,transparent 70%)}
.hx-hero-arc{position:absolute;z-index:-1;right:max(16px,calc((100vw - 1240px)/2 - 70px));top:18%;width:min(36vw,540px);height:auto;overflow:visible;transition:transform 1.2s var(--hx-ease)}
.hx-hero-arc .hx-arc-base path{fill:none;stroke:#ffffff2e;stroke-width:1.1;stroke-dasharray:.006 .01}
.hx-hero-arc .hx-arc-glow{fill:none;stroke:var(--hx-accent);stroke-width:1.4;stroke-opacity:.55;stroke-dasharray:1;stroke-dashoffset:1;filter:drop-shadow(0 0 5px #b8f57388)}
.motion .hx-hero-arc .hx-arc-glow{animation:hx-draw 2.2s var(--hx-ease) calc(.8s + var(--i,0) * .14s) forwards}
.motion-paused .hx-hero-arc .hx-arc-glow,body:not(.motion) .hx-hero-arc .hx-arc-glow{stroke-dashoffset:0}
.hx-arc-end{fill:var(--hx-bg);stroke:var(--hx-accent);stroke-width:1.5}
.hx-arc-dest{fill:var(--hx-accent);stroke:#fff;stroke-width:2;filter:drop-shadow(0 0 10px #b8f573)}
.hx-arc-labels text{fill:#d4dfda;font:600 18px 'DM Sans',sans-serif;letter-spacing:.12em}
.hx-hero-arc.is-hidden{display:none}
.hx-plane path{fill:#fff;filter:drop-shadow(0 0 5px #b8f573cc)}
.hx-hero-inner{position:relative}
.hx-kicker{display:flex;align-items:center;gap:12px;font-size:11px;font-weight:600;letter-spacing:.18em;text-transform:uppercase;color:#d4ded9;margin-bottom:30px}
.hx-pulse{position:relative;width:8px;height:8px;border-radius:50%;background:var(--hx-accent)}
.hx-pulse::after{content:'';position:absolute;inset:-6px;border-radius:50%;border:1px solid var(--hx-accent);opacity:0}
.motion .hx-pulse::after{animation:hx-ping 2.4s ease-out infinite}
.hx-hero h1{font-size:clamp(62px,9.4vw,150px);font-weight:500;line-height:.96;letter-spacing:-.068em;margin:0 0 30px;max-width:1000px}
.hx-hero h1 .line{padding-bottom:.1em;margin-bottom:-.1em}
.hx-rotator{font-family:Manrope,sans-serif;font-size:clamp(20px,2vw,28px);font-weight:500;letter-spacing:-.03em;color:#e8eee9;margin-bottom:18px}
.hx-words{position:relative;display:inline-grid;vertical-align:bottom;overflow:hidden;padding:0 .08em .12em 0;margin-bottom:-.12em}
.hx-words b{grid-area:1/1;font-weight:600;color:var(--hx-accent);opacity:0;transform:translateY(80%);transition:opacity .5s,transform .7s var(--hx-ease);white-space:nowrap}
.hx-words b.is-on{opacity:1;transform:none}
.hx-words b.is-out{opacity:0;transform:translateY(-80%)}
.hx-lede{font-size:17px;line-height:1.7;color:#bfcacb;max-width:500px}
.hx-clock{position:absolute;right:max(56px,calc((100vw - 1240px)/2));bottom:118px;width:268px;padding:20px 22px;border-radius:20px;border:1px solid #ffffff24;background:linear-gradient(150deg,#ffffff14,#ffffff05);backdrop-filter:blur(18px) saturate(140%);-webkit-backdrop-filter:blur(18px) saturate(140%);box-shadow:0 30px 60px -30px #000c}
.hx-clock-row{display:flex;justify-content:space-between;align-items:baseline}
.hx-clock-row span{font-size:11px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:#b7c4c6}
.hx-clock-row b{font-family:Manrope,sans-serif;font-size:30px;font-weight:600;letter-spacing:-.04em;font-variant-numeric:tabular-nums}
.hx-clock-line{position:relative;height:1px;margin:12px 0;background:repeating-linear-gradient(90deg,#ffffff4d 0 4px,transparent 4px 9px)}
.hx-clock-line i{position:absolute;top:-8px;left:0;width:19px;height:16px;color:var(--hx-accent)}
.hx-clock-line svg{display:block;width:100%;height:100%;fill:currentColor;filter:drop-shadow(0 0 6px #b8f57399)}
.motion .hx-clock-line i{animation:hx-fly 4.8s cubic-bezier(.45,0,.3,1) infinite}
.hx-clock p{font-size:12px;color:#aebcbe;margin-top:12px;padding-top:12px;border-top:1px solid #ffffff1a}
.hx-marquee{position:absolute;left:0;right:0;bottom:0;overflow:hidden;border-top:1px solid var(--hx-line);padding:18px 0;mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent)}
.hx-marquee-track{display:flex;width:max-content}
.motion .hx-marquee-track{animation:hx-marquee 48s linear infinite}
.hx-marquee:hover .hx-marquee-track{animation-play-state:paused}
.hx-marquee span{display:flex;align-items:center;gap:32px;padding-right:32px;font-size:12px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:#9fb0b3;white-space:nowrap}
.hx-marquee span::after{content:'';width:5px;height:5px;border-radius:50%;background:#b8f57399}
.hx-belief{padding:140px 0 120px;border-top:1px solid var(--hx-line)}

@keyframes hx-draw{to{stroke-dashoffset:0}}
@keyframes hx-ping{0%{transform:scale(.6);opacity:.9}100%{transform:scale(2.2);opacity:0}}
@keyframes hx-fly{0%{left:0;opacity:0}12%{opacity:1}86%{opacity:1}100%{left:calc(100% - 19px);opacity:0}}
@keyframes hx-marquee{to{transform:translateX(-50%)}}

@media (max-width:1100px){
  .hx-clock{display:none}
}
@media (max-width:900px){
  .hx-hero{min-height:auto;padding:130px 0 120px}
  .hx-hero h1{font-size:clamp(54px,14vw,92px)}
  .hx-belief{padding:90px 0}
}
@media (max-width:600px){
  .hx-hero{padding:116px 0 104px}
  .hx-hero-arc{display:none}
  .hx-rotator{font-size:19px}
  .hx-lede{font-size:16px}
}
