/* ===== Awwwards elevation layer (additive, effects only) ===== */
/* Signature: the seamless line */
.seam-rail{position:fixed;left:clamp(10px,2.5vw,40px);top:0;bottom:0;width:2px;z-index:40;pointer-events:none}
@media (max-width:1199px){.seam-rail{display:none}}
.seam-rail::before{content:'';position:absolute;inset:0;background:var(--border-dark)}
.seam-fill{position:absolute;top:0;left:0;width:100%;height:0%;background:var(--lime-accent);box-shadow:0 0 12px rgba(166,251,124,.55)}
.seam-drop{position:absolute;left:50%;transform:translate(-50%,-50%);width:9px;height:9px;border-radius:50%;background:var(--lime-accent);box-shadow:0 0 16px rgba(166,251,124,.9);top:0%}
.seam-node{position:absolute;left:50%;transform:translateX(-50%);width:7px;height:7px;border-radius:50%;background:var(--border-dark);transition:background .4s,box-shadow .4s}
.seam-node.lit{background:var(--lime-accent);box-shadow:0 0 10px rgba(166,251,124,.8)}
.seam-outlet{position:absolute;bottom:0;left:50%;transform:translateX(-50%);width:12px;height:18px;background:linear-gradient(180deg,#3f3f3f,#222);border:1px solid #4a4a4a;border-bottom:none;border-radius:3px 3px 0 0}
.seam-splash{position:absolute;bottom:4px;left:50%;width:8px;height:8px;border:2px solid var(--lime-accent);border-radius:50%;transform:translateX(-50%) scale(0);opacity:0;pointer-events:none}
.seam-rail.draining .seam-splash{animation:seamSplash 1.5s ease-out infinite}
@keyframes seamSplash{0%{transform:translateX(-50%) scale(.2);opacity:.95}70%{transform:translateX(-50%) scale(3.4);opacity:0}100%{transform:translateX(-50%) scale(3.4);opacity:0}}

/* Hero load choreography */
@keyframes heroRise{from{opacity:0;transform:translateY(34px)}to{opacity:1;transform:none}}
.hero-inner .hero-eyebrow{opacity:0;animation:heroRise .9s cubic-bezier(.16,1,.3,1) .1s forwards}
.hero-inner h1{opacity:0;animation:heroRise 1s cubic-bezier(.16,1,.3,1) .22s forwards}
.hero-inner .lead{opacity:0;animation:heroRise 1s cubic-bezier(.16,1,.3,1) .38s forwards}
.hero-inner .hero-cta{opacity:0;animation:heroRise 1s cubic-bezier(.16,1,.3,1) .52s forwards}
.hero-inner .hero-trust-mini{opacity:0;animation:heroRise 1.1s cubic-bezier(.16,1,.3,1) .68s forwards}
@media (prefers-reduced-motion: reduce){.hero-inner .hero-eyebrow,.hero-inner h1,.hero-inner .lead,.hero-inner .hero-cta,.hero-inner .hero-trust-mini{opacity:1;animation:none}}

/* Scroll reveal choreography (classes applied by JS) */
.rv{opacity:0;transform:translateY(30px);transition:opacity .9s cubic-bezier(.16,1,.3,1),transform .9s cubic-bezier(.16,1,.3,1)}
.rv.in{opacity:1;transform:none}

/* Animated nav underline */
.main-nav a{position:relative;padding-bottom:4px}
.main-nav a::after{content:'';position:absolute;left:0;bottom:0;height:2px;width:0;background:var(--lime-accent);transition:width .35s cubic-bezier(.16,1,.3,1)}
.main-nav a:hover::after{width:100%}

/* Magnetic buttons get a softer travel */
.btn{will-change:transform}

/* Brushed-aluminum sheen headlines (NOT stat numbers) */
.sheen{-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;background-size:280% 100%;background-position:115% 0;animation:metalSheen 7s cubic-bezier(.4,0,.2,1) infinite}
.sheen-blue{background-image:linear-gradient(108deg,#cdeafc 0%,#cdeafc 40%,#ffffff 47%,#eafff0 50%,#cdeafc 56%,#cdeafc 100%)}
.sheen-lime{background-image:linear-gradient(108deg,#a6fb7c 0%,#a6fb7c 40%,#f3fff0 47%,#ffffff 50%,#a6fb7c 56%,#a6fb7c 100%)}
@keyframes metalSheen{0%{background-position:115% 0}28%{background-position:-15% 0}100%{background-position:-15% 0}}

/* Machined seam dividers between sections */
section.pad,section:not([class]){position:relative}
.seam-divider{position:absolute;top:0;left:0;right:0;height:0;pointer-events:none;z-index:3}
.sd-line{position:absolute;left:max(24px,calc((100% - 1180px)/2 + 24px));right:max(24px,calc((100% - 1180px)/2 + 24px));top:0;height:1px;background:linear-gradient(90deg,transparent,#3a3a3a 12%,#4d4d4d 50%,#3a3a3a 88%,transparent);overflow:visible}
.sd-line::after{content:'';position:absolute;top:-1px;left:-8%;width:90px;height:3px;border-radius:3px;background:linear-gradient(90deg,transparent,rgba(255,255,255,.85),rgba(166,251,124,.9),transparent);opacity:0;filter:blur(.4px)}
.seam-divider.in .sd-line::after{animation:seamGlint 6s cubic-bezier(.4,0,.2,1) .3s infinite}
@keyframes seamGlint{0%{left:-8%;opacity:0}5%{opacity:1}30%{left:94%;opacity:1}36%{left:103%;opacity:0}100%{left:103%;opacity:0}}
.sd-chip{position:absolute;left:50%;top:0;width:34px;height:7px;transform:translate(-50%,-50%) skewX(-24deg);background:linear-gradient(180deg,#6b6b6b,#2e2e2e 55%,#525252);border:1px solid #141414;border-radius:1px}
.sd-chip::after{content:'';position:absolute;inset:1px;background:linear-gradient(90deg,rgba(255,255,255,.18),transparent 60%)}

/* Lime selection + machined scrollbar */
::selection{background:rgba(166,251,124,.85);color:#0d1a07}
html{scrollbar-color:#19440e #141414}
::-webkit-scrollbar{width:11px}
::-webkit-scrollbar-track{background:#141414}
::-webkit-scrollbar-thumb{background:linear-gradient(180deg,#1f5a12,#19440e);border-radius:6px;border:2px solid #141414}
::-webkit-scrollbar-thumb:hover{background:#246b15}

/* Odometer stats */
.stat-num{background:none !important;-webkit-text-fill-color:var(--lime-accent) !important;color:var(--lime-accent) !important;animation:none}
.stat-num .odo-col{display:inline-block;overflow:hidden;height:1em;line-height:1;vertical-align:top}
.stat-num .odo-strip{display:block;transform:translateY(0)}
.stat-num .odo-strip span{display:block;height:1em;line-height:1}
.stat-num .odo-static{display:inline-block;line-height:1;vertical-align:top}

/* Monsoon rain — final CTA */
.final-cta{position:relative;overflow:hidden}
.final-cta .container{position:relative;z-index:2}
.rain-layer{position:absolute;inset:0;z-index:0;pointer-events:none}
.rain-layer i{position:absolute;left:0;right:0;top:-100%;height:200%;display:block;background-image:repeating-linear-gradient(113deg,transparent 0 14px,rgba(205,234,252,.055) 14px 15px,transparent 15px 31px);animation:rainFall 1.15s linear infinite;will-change:transform}
.rain-layer i+i{background-image:repeating-linear-gradient(107deg,transparent 0 23px,rgba(166,251,124,.045) 23px 24px,transparent 24px 49px);animation-duration:1.9s}
@keyframes rainFall{to{transform:translateY(50%)}}
.rain-catcher{position:absolute;left:0;right:0;bottom:0;height:10px;z-index:1;background:linear-gradient(180deg,#565656,#262626 60%,#3a3a3a);border-top:1px solid rgba(166,251,124,.55);box-shadow:0 -8px 22px rgba(166,251,124,.13)}

/* ===== Flow parity (ported from NV network) ===== */
.stat-num.landed{animation:odoLand .7s ease-out}
@keyframes odoLand{0%{text-shadow:0 0 0 rgba(166,251,124,0)}35%{text-shadow:0 0 22px rgba(166,251,124,.85)}100%{text-shadow:0 0 0 rgba(166,251,124,0)}}
.seam-node::after{content:'';position:absolute;inset:-2px;border-radius:50%;background:rgba(166,251,124,.3);opacity:0;pointer-events:none}
.seam-node.lit::after{animation:nodePulse 3.2s ease-out infinite}
@keyframes nodePulse{0%{transform:scale(.4);opacity:.9}70%{transform:scale(1.6);opacity:0}100%{transform:scale(1.6);opacity:0}}
section.hero{transform-origin:50% 0;will-change:transform}
@media (prefers-reduced-motion: reduce){
  .rv{opacity:1;transform:none;transition:none}
  .seam-rail{display:none}
  .seam-divider .sd-line::after{animation:none;opacity:0}
  .hero-inner .hero-eyebrow,.hero-inner h1,.hero-inner .lead,.hero-inner .hero-cta,.hero-inner .hero-trust-mini{opacity:1;animation:none}
  .sheen{animation:none;background-position:115% 0}
  .rain-layer{display:none}
}
