﻿*, *::before, *::after { margin: 0; padding: 0; box-sizing: border-box; }
:root {
  --blue:#1E90FF; --blue-glow:#3AA0FF; --blue-deep:#0A5FCC;
  --red:#FF3355; --green:#00CC88; --silver:#667788; --amber:#FFAA33;
  --dark:#050A14; --dark-card:#0B1326; --white:#F0F4FF; --gray:#7A8BAA;
  --font:'Outfit',sans-serif;
}
html{scroll-behavior:smooth}
body{font-family:var(--font);background:var(--dark);color:var(--white);overflow-x:hidden;-webkit-font-smoothing:antialiased}

nav{position:fixed;top:0;left:0;right:0;z-index:100;padding:18px 48px;display:flex;align-items:center;justify-content:space-between;background:rgba(5,10,20,0.75);backdrop-filter:blur(24px);border-bottom:1px solid rgba(30,144,255,0.06)}
.nav-logo{font-weight:900;font-size:1.45rem;letter-spacing:-0.02em;cursor:pointer;transition:transform 0.3s,text-shadow 0.3s;text-decoration:none;color:var(--white)}
.nav-logo:hover{transform:scale(1.04);text-shadow:0 0 20px rgba(30,144,255,0.3)}
.nav-logo span{color:var(--blue)}
.nav-links{display:flex;gap:32px}
.nav-links a{color:var(--gray);text-decoration:none;font-size:0.85rem;font-weight:500;letter-spacing:0.05em;text-transform:uppercase;transition:color 0.3s;position:relative}
.nav-links a::after{content:'';position:absolute;bottom:-4px;left:50%;width:0;height:2px;background:var(--blue);transition:all 0.3s;transform:translateX(-50%)}
.nav-links a:hover{color:var(--white)}
.nav-links a:hover::after{width:100%}

#waveCanvas{position:fixed;bottom:0;left:0;right:0;width:100%;height:220px;pointer-events:none;z-index:1;opacity:0.35}

.hero{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;position:relative;overflow:hidden;z-index:2}
.hero::before{content:'';position:absolute;inset:0;background-image:linear-gradient(rgba(30,144,255,0.03) 1px,transparent 1px),linear-gradient(90deg,rgba(30,144,255,0.03) 1px,transparent 1px);background-size:80px 80px;mask-image:radial-gradient(ellipse 60% 50% at 50% 50%,black 10%,transparent 100%);animation:gridDrift 20s linear infinite}
@keyframes gridDrift{0%{transform:translate(0,0)}100%{transform:translate(80px,80px)}}
.orb{position:absolute;border-radius:50%;filter:blur(130px);pointer-events:none}
.orb-1{width:500px;height:500px;background:var(--blue-deep);top:-120px;left:-80px;opacity:0.25;animation:oF1 14s ease-in-out infinite}
.orb-2{width:400px;height:400px;background:var(--blue);bottom:-80px;right:-60px;opacity:0.2;animation:oF2 11s ease-in-out infinite}
.orb-3{width:250px;height:250px;background:#0044CC;top:60%;left:15%;opacity:0.1;animation:oF3 9s ease-in-out infinite}
@keyframes oF1{0%,100%{transform:translate(0,0) scale(1)}33%{transform:translate(60px,30px) scale(1.05)}66%{transform:translate(-20px,50px) scale(0.95)}}
@keyframes oF2{0%,100%{transform:translate(0,0) scale(1)}50%{transform:translate(-40px,-25px) scale(1.1)}}
@keyframes oF3{0%,100%{transform:translate(0,0)}50%{transform:translate(30px,-20px)}}
.particles{position:absolute;inset:0;overflow:hidden;pointer-events:none;mask-image:linear-gradient(to top,black 0%,black 75%,transparent 100%)}
.particle{
  position:absolute;
  bottom:-80px;
  width:var(--bubble-size,10px);
  height:var(--bubble-size,10px);
  border-radius:50%;
  opacity:0;
  background:radial-gradient(circle at 32% 28%,rgba(235,248,255,0.52) 0%,rgba(130,210,255,0.18) 48%,rgba(25,90,170,0.03) 100%);
  border:1px solid rgba(145,214,255,0.34);
  box-shadow:0 0 12px rgba(82,165,255,0.2),inset 0 0 10px rgba(196,233,255,0.18);
  animation:bubbleRise var(--bubble-dur,16s) linear infinite;
}
.particle::after{
  content:'';
  position:absolute;
  top:20%;
  left:22%;
  width:22%;
  height:22%;
  border-radius:50%;
  background:rgba(240,250,255,0.72);
  filter:blur(0.4px);
}
@keyframes bubbleRise{
  0%{opacity:0;transform:translate3d(0,0,0) scale(0.65)}
  14%{opacity:var(--bubble-op,0.35)}
  50%{transform:translate3d(var(--bubble-drift,8px),-54vh,0) scale(0.9)}
  100%{opacity:0;transform:translate3d(calc(var(--bubble-drift,8px)*-0.45),-118vh,0) scale(1.06)}
}
.hero-glyphs{position:absolute;inset:0;pointer-events:none;overflow:hidden}
.hero-glyph{position:absolute;color:rgba(30,144,255,0.06);animation:glyphFloat linear infinite;font-family:monospace}
@keyframes glyphFloat{0%{transform:translateY(110vh) rotate(0deg);opacity:0}5%{opacity:1}95%{opacity:1}100%{transform:translateY(-10vh) rotate(360deg);opacity:0}}
.hero-content{text-align:center;z-index:2;position:relative}
.hero-badge{display:inline-flex;align-items:center;gap:8px;padding:7px 18px;border-radius:100px;background:rgba(30,144,255,0.07);border:1px solid rgba(30,144,255,0.18);font-size:0.78rem;color:var(--blue-glow);font-weight:500;letter-spacing:0.07em;text-transform:uppercase;margin-bottom:28px;opacity:0;animation:fU 0.8s 0.2s forwards}
.badge-dot{width:6px;height:6px;background:var(--blue);border-radius:50%;animation:pulse 2s infinite}
@keyframes pulse{0%,100%{box-shadow:0 0 0 0 rgba(30,144,255,0.4)}50%{box-shadow:0 0 0 8px rgba(30,144,255,0)}}
.hero-title{font-size:clamp(4.5rem,11vw,10rem);font-weight:900;letter-spacing:-0.045em;line-height:0.92;margin-bottom:24px;opacity:0;animation:fU 1s 0.4s forwards}
.hero-title .wave{color:var(--blue);text-shadow:0 0 60px rgba(30,144,255,0.35),0 0 120px rgba(30,144,255,0.12)}
.hero-sub{font-size:clamp(1rem,1.8vw,1.2rem);color:var(--gray);max-width:520px;margin:0 auto 40px;line-height:1.7;font-weight:400;opacity:0;animation:fU 1s 0.6s forwards}
.hero-buttons{display:flex;gap:14px;justify-content:center;opacity:0;animation:fU 1s 0.8s forwards}
.btn-primary{padding:15px 36px;background:var(--blue);color:white;border:none;border-radius:11px;font-family:var(--font);font-size:0.92rem;font-weight:600;cursor:pointer;transition:all 0.35s;text-decoration:none}
.btn-primary:hover{transform:translateY(-2px);box-shadow:0 8px 36px rgba(30,144,255,0.35)}
.btn-secondary{padding:15px 36px;background:transparent;color:var(--white);border:1px solid rgba(30,144,255,0.22);border-radius:11px;font-family:var(--font);font-size:0.92rem;font-weight:600;cursor:pointer;transition:all 0.35s;text-decoration:none}
.btn-secondary:hover{border-color:var(--blue);background:rgba(30,144,255,0.06);transform:translateY(-2px)}
.scroll-indicator{position:absolute;bottom:36px;left:50%;transform:translateX(-50%);display:flex;flex-direction:column;align-items:center;gap:8px;opacity:0;animation:fU 1s 1.2s forwards}
.scroll-indicator span{font-size:0.7rem;color:var(--gray);text-transform:uppercase;letter-spacing:0.15em}
.scroll-line{width:1px;height:36px;background:linear-gradient(to bottom,var(--blue),transparent);animation:sPulse 2s infinite}
@keyframes sPulse{0%,100%{opacity:0.3;transform:scaleY(0.6)}50%{opacity:1;transform:scaleY(1)}}
@keyframes fU{from{opacity:0;transform:translateY(28px)}to{opacity:1;transform:translateY(0)}}

.products-section{padding:110px 0 140px;position:relative;z-index:2;overflow:hidden}
.section-header{text-align:center;margin-bottom:64px}
.section-label{display:inline-flex;align-items:center;gap:10px;font-size:0.76rem;color:var(--blue);text-transform:uppercase;letter-spacing:0.15em;font-weight:600;margin-bottom:14px}
.section-label::before,.section-label::after{content:'';width:28px;height:1px;background:rgba(30,144,255,0.3)}
.section-title{font-size:clamp(2.4rem,5vw,3.6rem);font-weight:800;letter-spacing:-0.03em;margin-bottom:14px}
.section-title em{color:var(--blue);font-style:normal}
.section-desc{color:var(--gray);font-size:1rem;max-width:460px;margin:0 auto;line-height:1.6}

.carousel-stage{position:relative;width:100%;height:600px;perspective:1400px;cursor:grab;user-select:none}
.carousel-stage:active{cursor:grabbing}
.carousel-track{position:absolute;width:100%;height:100%;transform-style:preserve-3d}

.card-ambient{position:absolute;left:50%;top:50%;width:580px;height:580px;margin-left:-290px;margin-top:-290px;border-radius:50%;filter:blur(110px);opacity:0;transition:opacity 0.8s,background 0.8s;pointer-events:none;z-index:0}
.card-ambient.vis{opacity:0.12}

.product-card{position:absolute;width:480px;height:560px;left:50%;top:50%;margin-left:-240px;margin-top:-280px;border-radius:24px;padding:44px 42px;overflow:hidden;display:flex;flex-direction:column;will-change:transform,opacity,filter}

.card-bg{position:absolute;inset:0;border-radius:24px;overflow:hidden;z-index:0;isolation:isolate}
.card-bg-base{position:absolute;inset:0;background:radial-gradient(circle at 18% 14%,rgba(24,50,94,0.5),rgba(11,19,38,0.95) 60%);z-index:0}
.card-bg::before,.card-bg::after{content:'';position:absolute;inset:-30%;pointer-events:none;z-index:1;opacity:0.18;transform-origin:center;transition:opacity 0.45s}
.card-bg canvas{position:absolute;inset:0;width:100%;height:100%;opacity:0.9;z-index:2}
.product-card[data-color="red"] .card-bg-base{background:radial-gradient(circle at 22% 16%,rgba(255,51,85,0.2),rgba(11,19,38,0.96) 58%),linear-gradient(165deg,#0c1324 0%,#180d16 58%,#120b14 100%)}
.product-card[data-color="green"] .card-bg-base{background:radial-gradient(circle at 20% 14%,rgba(0,204,136,0.16),rgba(11,19,38,0.95) 62%),linear-gradient(165deg,#0b1720 0%,#0a1d24 48%,#09141f 100%)}
.product-card[data-color="silver"] .card-bg-base{background:radial-gradient(circle at 50% 0%,rgba(173,187,205,0.14),rgba(11,19,38,0.96) 60%),linear-gradient(165deg,#121b2d 0%,#0f1628 52%,#0a1222 100%)}
.product-card[data-color="amber"] .card-bg-base{background:radial-gradient(circle at 18% 12%,rgba(255,170,51,0.2),rgba(11,19,38,0.95) 62%),linear-gradient(165deg,#111a2d 0%,#1b1826 54%,#101523 100%)}

.product-card[data-color="red"] .card-bg::before{background:radial-gradient(circle at 28% 30%,rgba(255,51,85,0.35) 0%,rgba(255,51,85,0.08) 34%,transparent 62%),radial-gradient(circle at 78% 70%,rgba(255,51,85,0.2) 0%,transparent 52%);animation:redSweep 9s ease-in-out infinite}
.product-card[data-color="red"] .card-bg::after{background:repeating-radial-gradient(circle at center,rgba(255,51,85,0.15) 0 1px,transparent 1px 26px);animation:redPulse 7s ease-in-out infinite}

.product-card[data-color="green"] .card-bg::before{background:radial-gradient(circle at 20% 20%,rgba(0,204,136,0.26) 0%,transparent 56%),linear-gradient(130deg,rgba(0,204,136,0.12) 0%,transparent 45%,rgba(0,204,136,0.16) 100%);animation:greenFlux 11s ease-in-out infinite}
.product-card[data-color="green"] .card-bg::after{background:repeating-linear-gradient(100deg,rgba(0,204,136,0.12) 0 1px,transparent 1px 24px);animation:greenScan 8s linear infinite}

.product-card[data-color="silver"] .card-bg::before{background:radial-gradient(circle at 50% 12%,rgba(102,119,136,0.28) 0%,transparent 50%),linear-gradient(160deg,rgba(102,119,136,0.08) 0%,transparent 100%);animation:silverMist 10s ease-in-out infinite}
.product-card[data-color="silver"] .card-bg::after{background:repeating-linear-gradient(90deg,rgba(102,119,136,0.08) 0 2px,transparent 2px 16px),repeating-linear-gradient(0deg,rgba(102,119,136,0.06) 0 1px,transparent 1px 13px);animation:silverGrid 12s linear infinite}

.product-card[data-color="amber"] .card-bg::before{background:radial-gradient(circle at 16% 26%,rgba(255,170,51,0.3) 0%,transparent 52%),radial-gradient(circle at 82% 72%,rgba(255,170,51,0.26) 0%,transparent 55%);animation:amberNodes 9s ease-in-out infinite}
.product-card[data-color="amber"] .card-bg::after{background:linear-gradient(120deg,transparent 8%,rgba(255,170,51,0.12) 36%,transparent 64%),repeating-linear-gradient(140deg,rgba(255,170,51,0.1) 0 1px,transparent 1px 22px);animation:amberRoute 10s linear infinite}

.product-card.active .card-bg::before,.product-card.active .card-bg::after{opacity:0.45}
.product-card.active.is-hovered .card-bg::before,.product-card.active.is-hovered .card-bg::after{opacity:0.7}

.product-card .border-glow{display:none}
.product-card .static-border{position:absolute;inset:0;border-radius:24px;border:1px solid rgba(30,144,255,0.12);pointer-events:none;transition:border-color 0.35s;z-index:2}
.product-card.active .static-border{border-color:rgba(240,244,255,0.16)}
.product-card.active[data-color="red"] .static-border{border-color:rgba(255,51,85,0.45)}
.product-card.active[data-color="green"] .static-border{border-color:rgba(0,204,136,0.45)}
.product-card.active[data-color="silver"] .static-border{border-color:rgba(136,154,176,0.42)}
.product-card.active[data-color="amber"] .static-border{border-color:rgba(255,170,51,0.45)}

.card-glow{position:absolute;top:0;left:0;width:100%;height:100%;pointer-events:none;opacity:0;transition:opacity 0.25s;z-index:1;border-radius:24px;overflow:hidden}
.card-glow-inner{position:absolute;width:340px;height:340px;border-radius:50%;transform:translate(-50%,-50%);pointer-events:none;opacity:0;transition:opacity 0.25s}
.product-card[data-color="red"] .card-glow-inner{background:radial-gradient(circle,rgba(255,51,85,0.32) 0%,rgba(255,51,85,0.14) 42%,transparent 74%)}
.product-card[data-color="green"] .card-glow-inner{background:radial-gradient(circle,rgba(0,204,136,0.32) 0%,rgba(0,204,136,0.14) 42%,transparent 74%)}
.product-card[data-color="silver"] .card-glow-inner{background:radial-gradient(circle,rgba(102,119,136,0.28) 0%,rgba(102,119,136,0.12) 42%,transparent 74%)}
.product-card[data-color="amber"] .card-glow-inner{background:radial-gradient(circle,rgba(255,170,51,0.32) 0%,rgba(255,170,51,0.14) 42%,transparent 74%)}
.product-card.active.is-hovered .card-glow{opacity:1}
.product-card.active.is-hovered .card-glow-inner{opacity:1}

.card-content{position:relative;z-index:3;flex:1;display:flex;flex-direction:column;transition:transform 0.22s ease-out}
.card-content-centered{justify-content:center;align-items:center;text-align:center}
.coming-btn-wrap{margin-top:28px}
.card-icon-row{display:flex;align-items:center;justify-content:space-between;margin-bottom:22px}
.card-icon{width:56px;height:56px;border-radius:15px;display:flex;align-items:center;justify-content:center;font-size:1.5rem}
.card-icon.red{background:rgba(255,51,85,0.1);border:1px solid rgba(255,51,85,0.2)}
.card-icon.green{background:rgba(0,204,136,0.1);border:1px solid rgba(0,204,136,0.2)}
.card-icon.silver{background:rgba(102,119,136,0.12);border:1px solid rgba(102,119,136,0.25)}
.card-icon.amber{background:rgba(255,170,51,0.1);border:1px solid rgba(255,170,51,0.2)}
.card-tag{padding:5px 14px;border-radius:100px;font-size:0.72rem;font-weight:600;text-transform:uppercase;letter-spacing:0.08em}
.card-tag.hot{background:rgba(255,51,85,0.1);color:var(--red);border:1px solid rgba(255,51,85,0.2)}
.card-tag.new{background:rgba(0,204,136,0.1);color:var(--green);border:1px solid rgba(0,204,136,0.2)}
.card-tag.classified{background:rgba(102,119,136,0.1);color:var(--silver);border:1px solid rgba(102,119,136,0.2)}
.card-tag.soon{background:rgba(255,170,51,0.1);color:var(--amber);border:1px solid rgba(255,170,51,0.2)}
.card-title{font-size:1.85rem;font-weight:700;letter-spacing:-0.02em;margin-bottom:12px}
.card-desc{color:var(--gray);font-size:0.92rem;line-height:1.7;margin-bottom:24px}
.card-features{list-style:none;margin-bottom:auto;display:flex;flex-direction:column;gap:10px}
.card-features li{display:flex;align-items:center;gap:10px;font-size:0.88rem;color:rgba(240,244,255,0.75)}
.card-features li .feat-dot{width:5px;height:5px;border-radius:50%;flex-shrink:0}
.product-card[data-color="red"] .feat-dot{background:var(--red)}
.product-card[data-color="green"] .feat-dot{background:var(--green)}
.product-card[data-color="silver"] .feat-dot{background:var(--silver)}
.product-card[data-color="amber"] .feat-dot{background:var(--amber)}
.card-btn{display:inline-flex;align-items:center;gap:8px;padding:14px 30px;margin-top:28px;border-radius:11px;font-family:var(--font);font-size:0.9rem;font-weight:600;cursor:pointer;transition:all 0.35s;text-decoration:none;align-self:flex-start;border:1px solid}
.card-btn svg{width:15px;height:15px;transition:transform 0.3s}
.card-btn:hover svg{transform:translateX(4px)}
.card-btn.btn-red{background:rgba(255,51,85,0.1);border-color:rgba(255,51,85,0.25);color:var(--red)}
.card-btn.btn-red:hover{background:var(--red);color:white;border-color:var(--red);box-shadow:0 4px 28px rgba(255,51,85,0.3)}
.card-btn.btn-green{background:rgba(0,204,136,0.1);border-color:rgba(0,204,136,0.25);color:var(--green)}
.card-btn.btn-green:hover{background:var(--green);color:white;border-color:var(--green);box-shadow:0 4px 28px rgba(0,204,136,0.3)}
.card-btn.btn-silver{background:rgba(102,119,136,0.1);border-color:rgba(102,119,136,0.25);color:var(--silver);cursor:default}
.card-btn.btn-amber{background:rgba(255,170,51,0.1);border-color:rgba(255,170,51,0.25);color:var(--amber);cursor:default}

.cipher-overlay{position:absolute;inset:0;z-index:1;overflow:hidden;border-radius:24px;pointer-events:none}
.cipher-char{position:absolute;font-family:monospace;font-size:0.85rem;color:rgba(102,119,136,0.1);animation:cipherDrift linear infinite}
@keyframes cipherDrift{0%{transform:translateY(110%) rotate(0deg);opacity:0}10%{opacity:1}90%{opacity:1}100%{transform:translateY(-110%) rotate(180deg);opacity:0}}
.coming-lock{width:76px;height:76px;border-radius:50%;background:rgba(102,119,136,0.06);border:1px solid rgba(102,119,136,0.15);display:flex;align-items:center;justify-content:center;margin:0 auto 24px;font-size:2.2rem;animation:lockPulse 3s ease-in-out infinite}
@keyframes lockPulse{0%,100%{box-shadow:0 0 0 0 rgba(102,119,136,0.15)}50%{box-shadow:0 0 0 18px rgba(102,119,136,0)}}
.coming-title{font-size:2.2rem;font-weight:800;letter-spacing:0.04em;color:var(--silver);text-align:center;margin-bottom:14px;text-transform:uppercase}
.coming-sub{color:rgba(102,119,136,0.6);font-size:0.95rem;text-align:center;line-height:1.6}
.cipher-line{display:block;text-align:center;font-family:monospace;font-size:0.85rem;color:rgba(102,119,136,0.25);letter-spacing:0.15em;margin-top:8px;height:1.2em;overflow:hidden}

.carousel-nav{display:flex;justify-content:center;align-items:center;gap:20px;margin-top:36px}
.carousel-arrow{width:48px;height:48px;border-radius:50%;background:rgba(30,144,255,0.07);border:1px solid rgba(30,144,255,0.18);color:var(--blue);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all 0.3s;font-size:1.1rem}
.carousel-arrow:hover{background:var(--blue);color:white;box-shadow:0 4px 20px rgba(30,144,255,0.3)}
.carousel-dots{display:flex;gap:8px;align-items:center}
.carousel-dot{width:8px;height:8px;border-radius:50%;background:rgba(30,144,255,0.2);transition:all 0.4s;cursor:pointer;border:none}
.carousel-dot.active{width:28px;border-radius:10px;background:var(--blue);box-shadow:0 0 12px rgba(30,144,255,0.4)}

@keyframes redSweep{0%,100%{transform:translate(-3%,-2%) scale(1) rotate(0deg)}50%{transform:translate(4%,3%) scale(1.1) rotate(6deg)}}
@keyframes redPulse{0%,100%{transform:scale(1);opacity:0.18}50%{transform:scale(1.08);opacity:0.35}}
@keyframes greenFlux{0%,100%{transform:translate(0,0) scale(1)}50%{transform:translate(2%,-3%) scale(1.08)}}
@keyframes greenScan{0%{transform:translateX(-8%) translateY(0)}100%{transform:translateX(8%) translateY(-4%)}}
@keyframes silverMist{0%,100%{transform:translate(0,0) scale(1)}50%{transform:translate(0,-3%) scale(1.06)}}
@keyframes silverGrid{0%{transform:translateX(0)}100%{transform:translateX(24px)}}
@keyframes amberNodes{0%,100%{transform:translate(0,0) scale(1)}50%{transform:translate(-3%,2%) scale(1.08)}}
@keyframes amberRoute{0%{transform:translateX(-12%) rotate(0deg)}100%{transform:translateX(12%) rotate(2deg)}}

footer{padding:36px;text-align:center;border-top:1px solid rgba(30,144,255,0.06);color:var(--gray);font-size:0.8rem;position:relative;z-index:2}
footer span{color:var(--blue);font-weight:600}
.reveal{opacity:0;transform:translateY(36px);transition:all 0.8s cubic-bezier(0.25,0.46,0.45,0.94)}
.reveal.visible{opacity:1;transform:translateY(0)}
@media(max-width:768px){nav{padding:14px 20px}.nav-links{gap:16px}.nav-links a{font-size:0.75rem}.product-card{width:340px;margin-left:-170px;height:540px;padding:30px 26px}.carousel-stage{height:570px}.card-ambient{width:400px;height:400px;margin-left:-200px;margin-top:-200px}}
