:root { color-scheme: dark; }
html,body { background:#0A0C0B; }
body { font-family:'Inter',system-ui,sans-serif; -webkit-font-smoothing:antialiased; }
h1,h2,h3,h4,.font-brand { font-family:'Exo 2','Inter',sans-serif; }

/* texture / grid */
.grid-tex{
  background-image:
    linear-gradient(rgba(255,255,255,.035) 1px,transparent 1px),
    linear-gradient(90deg,rgba(255,255,255,.035) 1px,transparent 1px);
  background-size:46px 46px;
}
.noise{ background-image:radial-gradient(rgba(255,255,255,.025) 1px,transparent 1px); background-size:4px 4px; }

/* reveal */
.reveal{ opacity:0; transform:translateY(26px); transition:opacity .8s cubic-bezier(.16,1,.3,1), transform .8s cubic-bezier(.16,1,.3,1); }
.reveal.in{ opacity:1; transform:none; }
.reveal[data-d="1"]{ transition-delay:.08s } .reveal[data-d="2"]{ transition-delay:.16s }
.reveal[data-d="3"]{ transition-delay:.24s } .reveal[data-d="4"]{ transition-delay:.32s }
.reveal[data-d="5"]{ transition-delay:.40s } .reveal[data-d="6"]{ transition-delay:.48s }

/* hero ken-burns */
@keyframes kb { from{ transform:scale(1.08) } to{ transform:scale(1) } }
.kenburns{ animation:kb 14s ease-out forwards; }

@keyframes floaty { 0%,100%{ transform:translateY(0)} 50%{ transform:translateY(8px)} }
.scrollcue{ animation:floaty 1.8s ease-in-out infinite; }

/* marquee */
.marquee{ display:flex; gap:4rem; width:max-content; animation:scrollx 32s linear infinite; }
@keyframes scrollx{ from{ transform:translateX(0)} to{ transform:translateX(-50%)} }
.marquee-wrap:hover .marquee{ animation-play-state:paused }

.lang-active{ background:#116833; color:#fff; }
.gline{ background:linear-gradient(90deg,transparent,#1F9E4A,transparent); }
.text-gradient{ background:linear-gradient(180deg,#fff,#c9ccca); -webkit-background-clip:text; background-clip:text; color:transparent; }

.chart-bar{ transform:scaleY(0); transform-origin:bottom; transition:transform 1.1s cubic-bezier(.16,1,.3,1); }
.chart-bar.in{ transform:scaleY(1); }

::selection{ background:rgba(31,158,74,.35); }
a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible{ outline:2px solid #1F9E4A; outline-offset:2px; border-radius:4px; }

/* nav active link */
.nav-link.active{ color:#fff; }
.nav-link.active::after{ content:""; display:block; height:2px; margin-top:3px; background:#1F9E4A; border-radius:2px; }

.market-chip{ display:inline-flex; align-items:center; gap:.5rem; padding:.6rem 1.1rem; border-radius:9999px; border:1px solid #232A27; background:#101413; color:#C7CBC8; font-weight:500; transition:all .25s; }
.market-chip::before{ content:""; width:.45rem; height:.45rem; border-radius:9999px; background:#1F9E4A; }
.market-chip:hover{ border-color:rgba(31,158,74,.5); color:#fff; }

.w-13{ width:3.25rem } .h-13{ height:3.25rem }

@media (prefers-reduced-motion: reduce){
  .reveal,.chart-bar{ opacity:1!important; transform:none!important; transition:none!important; }
  .kenburns,.scrollcue,.marquee{ animation:none!important; }
  html{ scroll-behavior:auto; }
}
