/* Landing v2 — a living basket, built entirely from vector shapes. */
.home-intro.hero {
  min-height: 750px;
  overflow: hidden;
  background: radial-gradient(ellipse at 78% 45%, #171a202e, transparent 52%);
}
.home-intro .hero-layout {
  width: min(1280px, calc(100% - 96px));
  margin: 0 auto;
  display: grid;
  grid-template-columns: 1fr 1fr;
  grid-template-areas: 'copy art' 'proof art';
  grid-template-rows: 1fr auto;
  align-items: center;
  gap: 34px 12px;
  padding: 60px 0 64px;
}
.home-intro .hero-content { grid-area: copy; align-self: end; width: 100%; margin: 0; padding: 0; min-width: 0; }
.home-intro .eyebrow { margin: 0; color: #b3b5bb; font-size: .6875rem; letter-spacing: .14em; }
.home-intro h1 { font-size: clamp(3rem, 4.9vw, 4.65rem); margin: 26px 0 24px; line-height: 1.055; letter-spacing: -.065em; }
.home-intro h1 em { color: #f1f0ec; }
/* One color sweep with a left-to-right ripple through the emphasized line. */
@media (prefers-reduced-motion: no-preference) {
  @supports (background-clip: text) or (-webkit-background-clip: text) {
    .home-intro h1.hero-headline-wave {
      background-image: linear-gradient(105deg, #f1f0ec 34%, var(--hero-wave-colors), #f1f0ec 66%);
      background-size: 350% 100%;
      background-repeat: no-repeat;
      background-clip: text;
      -webkit-background-clip: text;
      color: transparent;
      animation: hero-headline-wave 2.4s .25s cubic-bezier(.35, 0, .25, 1) 1 both;
    }
    .home-intro h1.hero-headline-wave em { color: #f1f0ec; }
    .hero-ripple-word { display: inline-block; white-space: nowrap; }
    .hero-ripple-letter {
      display: inline-block;
      animation: hero-letter-ripple 1s var(--letter-delay) ease-in-out 1 both;
    }
    .home-intro h1.hero-headline-wave.is-paused,
    .hero-headline-wave.is-paused .hero-ripple-letter { animation-play-state: paused; }
  }
}
@keyframes hero-headline-wave {
  from { background-position: 100% 50%; }
  to { background-position: 0% 50%; }
}
@keyframes hero-letter-ripple {
  0%, 100% { transform: translateY(0); color: #f1f0ec; }
  40% { transform: translateY(-.16em); color: var(--letter-color); }
  70% { transform: translateY(.045em); color: var(--letter-color); }
}
.home-intro .hero-content > p { max-width: 470px; font-size: 1rem; line-height: 1.75; color: #969ba6; margin-top: 0; }
.home-intro .hero-actions { margin-top: 28px; gap: 12px; }
.home-intro .hero-actions .button { min-height: 50px; padding: 14px 22px; font-size: .9375rem; }

/* Keep the existing trader carousel as a quiet proof point below the CTA. */
.home-intro .hero-trader-carousel { grid-area: proof; align-self: start; position: relative; inset: auto; width: min(360px, 100%); margin: 0 0 55px; }
.home-intro .hero-slide-pane { padding: 18px 0 0; border: 0; border-top: 1px solid #ffffff15; border-radius: 0; background: transparent; backdrop-filter: none; box-shadow: none; transform: none; }
.home-intro .hero-slide-incoming { animation: orbit-profile-in .35s .12s ease-out both; }
.home-intro .hero-slide-outgoing { animation: orbit-profile-out .12s ease-in both; }
.home-intro .floating-head .avatar { width: 34px; height: 34px; font-size: .8rem; }
.home-intro .floating-spark { display: none; }
.home-intro .hero-trader-identity strong { font-size: .8125rem; color: #dedfe1; }
.home-intro .hero-trader-identity > span { font-size: .6875rem; }
.home-intro .hero-trader-pnl { position: absolute; right: 0; top: 18px; margin: 0; flex-direction: column; gap: 3px; align-items: flex-end; }
.home-intro .hero-trader-pnl > span { font-size: .625rem; }
.home-intro .hero-trader-pnl strong { font-size: .875rem; }
.home-intro .hero-trader-identity { padding-right: 120px; }
.home-intro .hero-trader-footer { margin-top: 13px; font-size: .6875rem; }
.home-intro .hero-trader-footer a { color: #b7bbc2; }
.home-intro .hero-trader-footer .icon { width: 13px; height: 13px; }

.hero-orbit { grid-area: art; position: relative; width: calc(100% + 56px); margin: -12px -28px 0; aspect-ratio: 1; isolation: isolate; }
.hero-orbit::before { content: ''; position: absolute; inset: 16%; z-index: -1; border-radius: 50%; background: radial-gradient(circle, #94908407 25%, #9254ff08 47%, transparent 69%); }
.hero-orbit-art { display: block; width: 100%; height: auto; overflow: visible; }
.orbit-guide { stroke: #a8afb0; stroke-opacity: .11; stroke-width: 1; stroke-dasharray: 2 8; }
.orbit-inner-guide { stroke: #acb5b5; stroke-opacity: .12; stroke-width: .8; }
.orbit-wheel { animation: orbit-turn 24s cubic-bezier(.45, 0, .25, 1) infinite; }
.orbit-segment { animation: orbit-assemble 12s cubic-bezier(.45, 0, .2, 1) var(--piece-delay) infinite; }
.orbit-core { animation: orbit-core-float 8s ease-in-out infinite; }
.orbit-core-shadow { fill: #000; opacity: .25; }
.orbit-core-face { animation: orbit-blink 7.6s ease-in-out infinite; }
.orbit-satellite { animation: orbit-float 7s ease-in-out var(--satellite-delay) infinite; }
.orbit-satellite-track { stroke: #fff; stroke-opacity: .075; stroke-width: 1; }
.orbit-satellite-arc { stroke-width: 2.5; stroke-linecap: round; stroke-dasharray: 24 76; animation: orbit-share 12s ease-in-out var(--satellite-delay) infinite; }
.orbit-particle { opacity: 0; animation: orbit-distribute 4.8s cubic-bezier(.2, .65, .35, 1) var(--particle-delay) infinite; }
.hero-motion-toggle { position: absolute; right: 26px; bottom: 13px; width: 40px; height: 40px; display: grid; place-items: center; padding: 0; color: #8b919b; background: #101216; border: 1px solid #ffffff16; border-radius: 50%; cursor: pointer; transition: color .2s, border-color .2s; }
.hero-motion-toggle:hover { color: #fff; border-color: #ffffff45; }
.hero-motion-toggle svg { width: 16px; height: 16px; fill: none; stroke: currentColor; stroke-width: 1.5; stroke-linecap: round; stroke-linejoin: round; }
.hero-motion-toggle .hero-play-icon { display: none; }
.hero-motion-toggle[aria-pressed='true'] .hero-play-icon { display: block; }
.hero-motion-toggle[aria-pressed='true'] .hero-pause-icon { display: none; }
.hero-orbit.is-paused *, .hero-orbit.is-paused::before { animation-play-state: paused; }

@keyframes orbit-turn {
  0%, 8% { transform: rotate(-18deg); }
  38%, 50% { transform: rotate(162deg); }
  88%, 100% { transform: rotate(342deg); }
}
@keyframes orbit-assemble {
  0%, 13%, 88%, 100% { transform: translate(0, 0); }
  38%, 55% { transform: translate(var(--piece-x), var(--piece-y)); }
  68% { transform: translate(0, 0); }
}
@keyframes orbit-float {
  0%, 100% { transform: translateY(0) rotate(0); }
  50% { transform: translateY(-9px) rotate(var(--satellite-turn)); }
}
@keyframes orbit-share {
  0%, 100% { stroke-dasharray: 24 76; stroke-dashoffset: 0; opacity: .5; }
  48%, 62% { stroke-dasharray: 68 32; stroke-dashoffset: -18; opacity: 1; }
}
@keyframes orbit-distribute {
  0% { transform: translate(72px, 0); opacity: 0; }
  3% { opacity: .95; }
  32% { transform: translate(252px, var(--particle-spread)); opacity: .95; }
  38%, 100% { transform: translate(267px, var(--particle-spread)); opacity: 0; }
}
@keyframes orbit-core-float {
  0%, 100% { transform: rotate(-8deg) translateY(0); }
  50% { transform: rotate(6deg) translateY(-5px); }
}
@keyframes orbit-blink {
  0%, 43%, 47%, 100% { transform: scaleY(1); }
  45% { transform: scaleY(.12); }
}
@keyframes orbit-profile-in {
  from { transform: translateY(8px); opacity: 0; }
  to { transform: translateY(0); opacity: 1; }
}
@keyframes orbit-profile-out {
  from { transform: translateY(0); opacity: 1; }
  to { transform: translateY(-6px); opacity: 0; }
}
@media (min-width: 1500px) {
  .home-intro.hero { min-height: 800px; }
}
@media (max-width: 1200px) {
  .home-intro .hero-layout { width: calc(100% - 64px); }
  .home-intro.hero { min-height: 690px; }
  .home-intro h1 { font-size: clamp(2.8rem, 4.9vw, 3.8rem); }
  .home-intro .hero-content > p { max-width: 410px; font-size: .9375rem; }
  .hero-orbit { width: calc(100% + 34px); margin-inline: -17px; }
}
@media (max-width: 900px) {
  .home-intro .hero-layout { grid-template-columns: 1fr; grid-template-areas: 'copy' 'art' 'proof'; grid-template-rows: auto; padding: 48px 0 28px; gap: 24px; }
  .home-intro.hero { min-height: 0; }
  .home-intro .hero-content { padding: 0; max-width: 620px; }
  .home-intro h1 { font-size: clamp(2.6rem, 7.6vw, 4.25rem); }
  .home-intro .hero-content > p { max-width: 540px; font-size: 1rem; }
  .hero-orbit { width: min(600px, 100%); margin: 0 auto; }
  .home-intro .hero-trader-carousel { margin: 0 auto; }
}
@media (max-width: 600px) {
  .home-intro .hero-layout { width: calc(100% - 40px); padding-top: 40px; gap: 25px; }
  .home-intro h1 { font-size: clamp(2.3rem, 9.3vw, 3.4rem); margin-block: 22px; }
  .home-intro .eyebrow { font-size: .625rem; letter-spacing: .12em; }
  .home-intro .hero-content > p { font-size: .9375rem; line-height: 1.7; }
  .home-intro .hero-actions { margin-top: 25px; gap: 10px; }
  .home-intro .hero-actions .button { font-size: .875rem; padding: 13px 18px; }
  .hero-orbit { width: calc(100% + 12px); margin: -3px -6px 0; }
  .hero-motion-toggle { bottom: 0; right: 6px; }
}
@media (max-width: 360px) {
  .home-intro .hero-layout { width: calc(100% - 32px); }
  .home-intro .hero-actions .button { padding-inline: 14px; font-size: .8125rem; }
  .home-intro .hero-trader-pnl strong { font-size: .8rem; }
  .home-intro .hero-trader-identity { padding-right: 110px; }
}
@media (prefers-reduced-motion: reduce) {
  .hero-orbit *, .hero-orbit::before { animation: none !important; }
  .hero-motion-toggle, .orbit-particle { display: none; }
  .orbit-wheel { transform: rotate(-18deg); }
}
