/* Homepage hero v3 - typographic market poster */
html.ns-home-page #root .ns-home-hero-v2 {
  min-height:clamp(760px,calc(100svh - 78px),940px);
}
html.ns-home-page #root .ns-home-hero-v2::after {
  background:linear-gradient(90deg,rgba(2,8,23,.57) 0%,rgba(2,8,23,.18) 52%,rgba(2,8,23,.34) 100%),
             linear-gradient(180deg,rgba(2,8,23,.08),rgba(2,8,23,.52));
}
.ns-hero-v3__frame {
  position:relative; display:grid; grid-template-rows:auto 1fr auto; width:min(1420px,calc(100% - 64px));
  min-height:calc(clamp(760px,calc(100svh - 78px),940px) - 134px); margin:auto;
  padding:34px 0 38px; border-inline:1px solid rgba(255,255,255,.09);
}
.ns-hero-v3__topline {
  display:flex; justify-content:space-between; gap:30px; padding:0 30px 22px;
  color:#9ba6b8; font-size:8px; font-weight:850; letter-spacing:.2em;
  border-bottom:1px solid rgba(255,255,255,.09);
}
.ns-hero-v3__topline span:first-child { color:#e2ad19; }
.ns-hero-v3__title {
  position:relative; z-index:2; align-self:center; padding:52px clamp(26px,5vw,76px) 42px;
}
.ns-hero-v3__title>p {
  display:flex; align-items:center; gap:15px; margin:0 0 26px; color:#dca915;
  font-size:9px; font-weight:850; letter-spacing:.2em;
}
.ns-hero-v3__title>p::before { content:""; width:34px; height:1px; background:#dca915; }
.ns-hero-v3__title h1 {
  max-width:1200px; margin:0; color:#f8f5ef; font-size:clamp(72px,9vw,138px);
  font-weight:650; letter-spacing:-.072em; line-height:.82;
}
.ns-hero-v3__title h1 em {
  color:#efb419; font-style:normal; background:linear-gradient(100deg,#c78000,#ffc526 36%,#fff2a7 50%,#d99400 68%,#ffd24f);
  background-size:220% auto; -webkit-background-clip:text; background-clip:text;
  -webkit-text-fill-color:transparent; animation:nsV3Gold 5s linear infinite;
}
.ns-hero-v3__orbit {
  position:absolute; z-index:1; top:50%; right:clamp(20px,5vw,80px); width:clamp(240px,26vw,390px);
  aspect-ratio:1; transform:translateY(-48%); border:1px solid rgba(239,180,25,.17);
  border-radius:50%; pointer-events:none; animation:nsV3Float 7s ease-in-out infinite;
}
.ns-hero-v3__orbit::before,.ns-hero-v3__orbit::after {
  content:""; position:absolute; border:1px solid rgba(255,255,255,.08); border-radius:50%;
}
.ns-hero-v3__orbit::before { inset:13%; }
.ns-hero-v3__orbit::after { inset:30%; border-color:rgba(239,180,25,.22); }
.ns-hero-v3__orbit span {
  position:absolute; top:8%; left:50%; width:8px; height:8px; background:#efb419;
  border-radius:50%; box-shadow:0 0 22px rgba(239,180,25,.9); animation:nsV3Orbit 10s linear infinite;
  transform-origin:0 calc(clamp(240px,26vw,390px) * .42);
}
.ns-hero-v3__orbit i {
  position:absolute; inset:0; display:grid; place-items:center; color:rgba(255,255,255,.06);
  font-size:clamp(56px,7vw,105px); font-style:normal; font-weight:900; letter-spacing:-.08em;
}
.ns-hero-v3__bottom {
  position:relative; z-index:3; display:grid; grid-template-columns:minmax(260px,.8fr) auto minmax(330px,.8fr);
  gap:clamp(30px,4vw,66px); align-items:end; padding:28px 30px 0;
  border-top:1px solid rgba(255,255,255,.11);
}
.ns-hero-v3__bottom>p {
  max-width:480px; margin:0; color:#b2bccb; font-size:13px; line-height:1.7;
  text-shadow:0 2px 14px rgba(2,8,23,.9);
}
.ns-hero-v3__actions { display:flex; gap:9px; }
.ns-hero-v3__actions a,.ns-hero-v3__actions button {
  display:flex; justify-content:space-between; align-items:center; gap:24px; min-height:50px;
  padding:0 17px; font-size:10px; font-weight:850; text-decoration:none; border-radius:0;
  transition:transform 220ms ease,background 220ms ease,border-color 220ms ease;
}
.ns-hero-v3__actions a { color:#111827; background:#efb419; border:1px solid #efb419; }
.ns-hero-v3__actions button { color:#eef1f5; background:rgba(3,8,20,.42); border:1px solid rgba(255,255,255,.2); }
.ns-hero-v3__actions a:hover,.ns-hero-v3__actions button:hover { transform:translateY(-4px); }
.ns-hero-v3__actions a:hover { background:#ffd34f; }
.ns-hero-v3__actions button:hover { border-color:#efb419; }
.ns-hero-v3__bottom dl { display:grid; grid-template-columns:repeat(3,1fr); margin:0; }
.ns-hero-v3__bottom dl>div { padding:0 18px; border-left:1px solid rgba(255,255,255,.12); }
.ns-hero-v3__bottom dt { color:#778397; font-size:7px; font-weight:850; letter-spacing:.16em; }
.ns-hero-v3__bottom dd { margin:8px 0 0; color:#f2f0eb; font-size:23px; font-weight:700; letter-spacing:-.04em; }
.ns-hero-v3__marquee { overflow:hidden; border-top:1px solid rgba(255,255,255,.1); }
.ns-hero-v3__marquee>div { display:flex; width:max-content; animation:nsV3Marquee 26s linear infinite; }
.ns-hero-v3__marquee span {
  display:flex; align-items:center; min-height:56px; color:#758195; font-size:8px;
  font-weight:850; letter-spacing:.18em; text-transform:uppercase; white-space:nowrap;
}
.ns-hero-v3__marquee span::after { content:""; width:5px; height:5px; margin:0 46px; background:#e1aa13; border-radius:50%; }
@keyframes nsV3Gold { to{background-position:220% center} }
@keyframes nsV3Float { 50%{transform:translateY(-51%) scale(1.025)} }
@keyframes nsV3Orbit { to{transform:rotate(360deg)} }
@keyframes nsV3Marquee { to{transform:translateX(-50%)} }

@media(max-width:1100px) {
  .ns-hero-v3__frame { width:calc(100% - 40px); }
  .ns-hero-v3__bottom { grid-template-columns:1fr auto; }
  .ns-hero-v3__bottom dl { grid-column:1/-1; padding-top:24px; border-top:1px solid rgba(255,255,255,.09); }
  .ns-hero-v3__bottom dl>div:first-child { border-left:0; }
  .ns-hero-v3__orbit { opacity:.62; }
}
@media(max-width:720px) {
  html.ns-home-page #root .ns-home-hero-v2 { min-height:auto; }
  .ns-hero-v3__frame { display:block; min-height:0; width:calc(100% - 26px); padding-top:24px; }
  .ns-hero-v3__topline span:last-child { display:none; }
  .ns-hero-v3__title { padding:70px 18px 62px; }
  .ns-hero-v3__title h1 { font-size:clamp(50px,15vw,78px); line-height:.92; }
  .ns-hero-v3__orbit { top:38%; right:-90px; width:260px; opacity:.45; }
  .ns-hero-v3__bottom { display:grid; grid-template-columns:1fr; padding:28px 18px 0; }
  .ns-hero-v3__actions { display:grid; }
  .ns-hero-v3__actions a,.ns-hero-v3__actions button { width:100%; }
  .ns-hero-v3__bottom dl { grid-column:auto; }
  .ns-hero-v3__bottom dl>div { padding-inline:12px; }
  .ns-hero-v3__bottom dl>div:first-child { padding-left:0; }
  .ns-hero-v3__bottom dd { font-size:19px; }
}
@media(prefers-reduced-motion:reduce) {
  .ns-hero-v3__title h1 em,.ns-hero-v3__orbit,.ns-hero-v3__orbit span,.ns-hero-v3__marquee>div { animation:none; }
}

