/* hailports fx — dark terminal theme, motion-safe */
:root{--hpg:#39d98a;--hpc:#22d3ee;--hpb:#05080d;--hpp:#0a121b;--hpl:#15212f;--hpi:#e6f1ec;--hpm:#8aa0b0;--hpmono:ui-monospace,"SF Mono",SFMono-Regular,Menlo,Consolas,monospace}
.hp-ticker{position:-webkit-sticky;position:sticky;top:0;z-index:150;display:flex;align-items:center;height:40px;overflow:hidden;background:linear-gradient(90deg,rgba(5,8,13,.97),rgba(8,20,16,.97));border-bottom:1px solid rgba(57,217,138,.35);box-shadow:0 2px 18px rgba(57,217,138,.12);font:600 13.5px/40px var(--hpmono);color:var(--hpm);white-space:nowrap;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}
.hp-ticker .lbl{flex:0 0 auto;position:relative;z-index:2;height:40px;padding:0 14px;background:var(--hpb);color:var(--hpg);border-right:1px solid rgba(57,217,138,.35);letter-spacing:.14em;text-transform:uppercase;font-weight:800}
.hp-ticker .vp{flex:1 1 auto;overflow:hidden;min-width:0;-webkit-mask-image:linear-gradient(90deg,transparent,#000 4%,#000 96%,transparent);mask-image:linear-gradient(90deg,transparent,#000 4%,#000 96%,transparent)}
.hp-ticker .trk{display:inline-flex;will-change:transform}
.hp-ticker .trk.run{-webkit-animation:hpscroll 60s linear infinite;animation:hpscroll 60s linear infinite}
.hp-ticker .seq{display:inline-flex;align-items:center;flex:0 0 auto}
.hp-ticker:hover .trk{-webkit-animation-play-state:paused;animation-play-state:paused}
.hp-ticker .it{margin:0 12px}.hp-ticker .it b{color:var(--hpg);font-weight:800;font-variant-numeric:tabular-nums;text-shadow:0 0 10px rgba(57,217,138,.45)}
.hp-ticker .it.go{color:var(--hpc);text-decoration:none}.hp-ticker .sep{color:rgba(57,217,138,.4);font-size:8px}
.hp-ticker .dot{display:inline-block;width:9px;height:9px;border-radius:50%;background:#ff4d4d;margin-right:8px;vertical-align:1px;box-shadow:0 0 0 0 rgba(255,77,77,.7);-webkit-animation:hpring 1.6s ease-out infinite;animation:hpring 1.6s ease-out infinite}
@-webkit-keyframes hpscroll{from{-webkit-transform:translate3d(0,0,0)}to{-webkit-transform:translate3d(-50%,0,0)}}
@keyframes hpscroll{from{transform:translate3d(0,0,0)}to{transform:translate3d(-50%,0,0)}}
@-webkit-keyframes hpring{0%{box-shadow:0 0 0 0 rgba(255,77,77,.7)}70%{box-shadow:0 0 0 9px rgba(255,77,77,0)}100%{box-shadow:0 0 0 0 rgba(255,77,77,0)}}
@keyframes hpring{0%{box-shadow:0 0 0 0 rgba(255,77,77,.7)}70%{box-shadow:0 0 0 9px rgba(255,77,77,0)}100%{box-shadow:0 0 0 0 rgba(255,77,77,0)}}
@keyframes hppulse{50%{opacity:.35}}
.hp-type{font:13px/1.6 var(--hpmono);color:var(--hpg);min-height:1.6em}
.hp-type::after{content:"\2588";margin-left:2px;animation:hpblink 1s steps(1) infinite}
@keyframes hpblink{50%{opacity:0}}
.hp-rv{opacity:0;transform:translateY(14px) scale(.98);transition:opacity .55s ease,transform .55s ease}
.hp-rv.in{opacity:1;transform:none}
a,.btn,.tile,.hp-card{transition:box-shadow .2s,border-color .2s,color .2s,transform .2s}
.tile:hover,.hp-card:hover{border-color:rgba(57,217,138,.55)!important;box-shadow:0 0 0 1px rgba(57,217,138,.25),0 0 22px rgba(57,217,138,.16)}
.btn:hover,.hp-btn:hover{box-shadow:0 0 18px rgba(57,217,138,.35);transform:translateY(-1px)}
.hp-wrap{max-width:1100px;margin:0 auto;padding:0 22px}
.hp-sec{margin:44px auto}
.hp-h{font:700 13px/1 var(--hpmono);letter-spacing:.14em;text-transform:uppercase;color:var(--hpc);margin:0 0 14px}
.hp-grid{display:grid;gap:14px;grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}
.hp-card{display:block;background:var(--hpp);border:1px solid var(--hpl);border-radius:12px;padding:16px 18px;color:var(--hpi);text-decoration:none}
.hp-card .k{font:600 11px/1 var(--hpmono);color:var(--hpg);letter-spacing:.1em;text-transform:uppercase}
.hp-card h3{font:700 17px/1.3 var(--hpmono);margin:8px 0 6px;text-transform:lowercase}
.hp-card p{margin:0;color:var(--hpm);font-size:14px;line-height:1.55}
.hp-card .go{display:inline-block;margin-top:10px;color:var(--hpg);font:600 13px var(--hpmono)}
.hp-feed{list-style:none;margin:0;padding:0;font:13px/1.55 var(--hpmono)}
.hp-feed li{border-left:2px solid var(--hpl);padding:8px 12px;margin:0 0 8px;background:rgba(10,18,27,.6);border-radius:0 8px 8px 0}
.hp-feed li:hover{border-left-color:var(--hpg)}
.hp-feed a{color:var(--hpi);text-decoration:none}.hp-feed a:hover{color:var(--hpg)}
.hp-feed .ts{display:block;color:var(--hpm);font-size:11px;margin-bottom:3px}
.hp-btn{display:inline-block;background:var(--hpg);color:var(--hpb)!important;font:700 14px var(--hpmono);padding:11px 18px;border-radius:10px;text-decoration:none;border:0;cursor:pointer}
.hp-btn.sec{background:transparent;color:var(--hpg)!important;border:1px solid var(--hpg)}
.hp-form{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px}
.hp-form input[type=email]{flex:1 1 220px;min-width:0;background:var(--hpb);color:var(--hpi);border:1px solid var(--hpl);border-radius:10px;padding:11px 12px;font:14px var(--hpmono)}
.hp-form input[type=email]:focus{outline:none;border-color:var(--hpg);box-shadow:0 0 0 3px rgba(57,217,138,.18)}
.hp-hp{position:absolute;left:-9999px;width:1px;height:1px;opacity:0}
.hp-msg{font:13px var(--hpmono);color:var(--hpg);min-height:1.2em;margin:8px 0 0}
.hp-xnav{border-top:1px solid var(--hpl);margin-top:40px;padding:22px 0 8px;font:13px/2 var(--hpmono)}
.hp-xnav .cols{display:grid;gap:10px 24px;grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}
.hp-xnav b{display:block;color:var(--hpc);font-size:11px;letter-spacing:.14em;text-transform:uppercase}
.hp-xnav a{color:var(--hpm);text-decoration:none;display:block}.hp-xnav a:hover{color:var(--hpg);text-shadow:0 0 10px rgba(57,217,138,.5)}
@media (max-width:520px){.hp-ticker{font-size:12px;height:36px;line-height:36px}.hp-ticker .lbl{height:36px;padding:0 10px}.hp-sec{margin:30px auto}}
@media (prefers-reduced-motion:reduce){.hp-ticker .tr{animation:none;padding-left:110px}.hp-ticker .dot,.hp-type::after{animation:none}.hp-rv{opacity:1;transform:none;transition:none}a,.btn,.tile,.hp-card{transition:none}.btn:hover,.hp-btn:hover{transform:none}}

/* v2 motion */
.tile,.hp-card{position:relative;overflow:hidden}
.tile::after,.hp-card::after{content:"";position:absolute;left:0;right:0;top:-40%;height:40%;background:linear-gradient(180deg,transparent,rgba(57,217,138,.10),transparent);opacity:0;pointer-events:none}
.tile:hover::after,.hp-card:hover::after{opacity:1;animation:hpscan 1.3s linear infinite}
@keyframes hpscan{to{transform:translateY(350%)}}
.tile:hover .v{text-shadow:0 0 14px rgba(57,217,138,.6)}
.hp-caret::after{content:"\2588";margin-left:2px;color:var(--hpg);animation:hpblink .8s steps(1) infinite}
.hp-sweep{position:relative;-webkit-clip-path:inset(0 100% 0 0);clip-path:inset(0 100% 0 0);animation:hpsweep 1.1s steps(28) forwards}
@keyframes hpsweep{to{-webkit-clip-path:inset(0 0 0 0);clip-path:inset(0 0 0 0)}}
#feed .row.hp-off{opacity:0;transform:translateX(-8px)}
#feed .row.hp-on{opacity:1;transform:none;transition:opacity .3s,transform .3s;background:linear-gradient(90deg,rgba(57,217,138,.12),transparent 60%);background-size:200% 100%;animation:hprowflash 1.2s ease forwards}
@keyframes hprowflash{from{background-position:0 0}to{background-position:100% 0}}
.hp-cur{font:12.5px/24px var(--hpmono);color:var(--hpg)}.hp-cur i{display:inline-block;width:8px;height:14px;background:var(--hpg);vertical-align:-2px;animation:hpblink 1s steps(1) infinite}
.hp-age{position:relative;padding-left:14px}
.hp-age::before{content:"";position:absolute;left:0;top:50%;width:8px;height:8px;margin-top:-4px;border-radius:50%;background:var(--hpg);animation:hpring2 1.8s ease-out infinite}
.hp-age{animation:hpfade 2.4s ease-in-out infinite}
@keyframes hpring2{0%{box-shadow:0 0 0 0 rgba(57,217,138,.7)}70%{box-shadow:0 0 0 8px rgba(57,217,138,0)}100%{box-shadow:none}}
@keyframes hpfade{50%{opacity:.6}}
.hp-div{height:1px;max-width:1100px;margin:6px auto;background:linear-gradient(90deg,transparent,rgba(57,217,138,.15) 20%,rgba(57,217,138,.15) 80%,transparent);position:relative;overflow:hidden}
.hp-div::after{content:"";position:absolute;top:0;left:-30%;width:30%;height:1px;background:linear-gradient(90deg,transparent,var(--hpg),transparent);box-shadow:0 0 8px var(--hpg);animation:hpdiv 4.5s linear infinite}
@keyframes hpdiv{to{left:100%}}
@media (prefers-reduced-motion:reduce){.hp-ticker .trk.run{animation:none}.hp-ticker .vp{overflow-x:auto}.tile:hover::after,.hp-card:hover::after,.hp-caret::after,.hp-cur i,.hp-age,.hp-age::before,.hp-div::after,#feed .row.hp-on,.hp-ticker .dot{animation:none}.hp-sweep{clip-path:none;-webkit-clip-path:none;animation:none}#feed .row.hp-off{opacity:1;transform:none}}

/* hp-scrollfix: anchored headings clear the sticky ticker + header */
html{scroll-padding-top:120px}
[id],main h1,main h2,section{scroll-margin-top:120px}
