*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;font-size:16px}
body{background:var(--black);color:var(--text-primary);font-family:var(--font-body);line-height:1.6;overflow-x:hidden;-webkit-font-smoothing:antialiased}
img,svg{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
button{font-family:inherit;cursor:pointer;border:none;background:none}
ul,ol{list-style:none}
input,textarea,select{font-family:inherit;font-size:inherit;color:inherit;background:none;border:none;outline:none}
h1,h2,h3,h4,h5,h6{font-family:var(--font-display);font-weight:700;line-height:1.1}
::-webkit-scrollbar{width:4px;height:4px}
::-webkit-scrollbar-track{background:var(--black)}
::-webkit-scrollbar-thumb{background:var(--cyan);border-radius:2px}
::selection{background:var(--cyan-dim);color:var(--cyan-bright)}
:focus-visible{outline:2px solid var(--cyan);outline-offset:3px;border-radius:var(--r-sm)}

/* CONTAINER */
.container{width:100%;max-width:var(--max-w);margin:0 auto;padding:0 5%}

/* SECTION */
.section{padding:100px 0}
.section--navy{background:var(--navy)}
.section--dark{background:var(--black)}
.section--navy2{background:var(--navy2)}

/* SECTION HEADER */
.sh{margin-bottom:56px}
.sh--c{text-align:center}
.sh--c .sh__sub{margin:0 auto}
.sh__eye{display:inline-flex;align-items:center;gap:8px;font-size:.7rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--cyan);margin-bottom:12px}
.sh__eye::before{content:'';width:22px;height:1px;background:var(--cyan)}
.sh--c .sh__eye{justify-content:center}
.sh--c .sh__eye::before,.sh--c .sh__eye::after{content:'';width:22px;height:1px;background:var(--cyan)}
.sh__title{font-size:clamp(1.9rem,4vw,3rem);font-weight:700;letter-spacing:-.025em;margin-bottom:14px;line-height:1.08}
.sh__sub{font-size:1rem;color:var(--text-secondary);max-width:560px;line-height:1.72}

/* GRADIENT TEXT */
.gt{background:linear-gradient(135deg,#00D4FF 0%,#7B2FFF 55%,#00D4FF 100%);background-size:200% auto;-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;animation:gt-anim 4s linear infinite}
@keyframes gt-anim{to{background-position:200% center}}

/* BUTTONS */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:13px 28px;border-radius:var(--r-md);font-family:var(--font-display);font-size:.9rem;font-weight:600;letter-spacing:.02em;transition:all .25s ease;cursor:pointer;border:none;white-space:nowrap}
.btn svg{width:18px;height:18px;stroke:currentColor;fill:none;stroke-width:2;flex-shrink:0}
.btn-p{background:var(--grad-primary);color:#fff;box-shadow:var(--sh-cyan)}
.btn-p:hover{transform:translateY(-2px);box-shadow:var(--sh-cyan-hi)}
.btn-o{background:transparent;color:var(--text-primary);border:1px solid var(--glass-border-md)}
.btn-o:hover{border-color:var(--cyan);color:var(--cyan);background:var(--cyan-dim)}
.btn-sm{padding:8px 18px;font-size:.8rem}
.btn-lg{padding:16px 36px;font-size:1rem}

/* CARD */
.card{background:var(--glass);border:1px solid var(--glass-border);border-radius:var(--r-lg);backdrop-filter:blur(12px);transition:all .25s ease}
.card:hover{border-color:var(--glass-border-md);background:rgba(0,212,255,.04)}

/* BADGES */
.tag{display:inline-flex;align-items:center;gap:5px;padding:3px 11px;border-radius:var(--r-full);font-size:.68rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase}
.tag-c{background:var(--cyan-dim);color:var(--cyan)}
.tag-p{background:var(--purple-dim);color:var(--purple-bright)}
.tag-r{background:var(--red-dim);color:var(--red)}
.tag-g{background:var(--green-dim);color:var(--green)}
.tag-a{background:rgba(255,184,0,.1);color:var(--amber)}

/* ICON BOX */
.ib{display:flex;align-items:center;justify-content:center;border-radius:var(--r-md);flex-shrink:0}
.ib svg{stroke:var(--cyan);fill:none;stroke-width:1.5}
.ib-sm{width:38px;height:38px;background:var(--cyan-dim)}.ib-sm svg{width:18px;height:18px}
.ib-md{width:50px;height:50px;background:var(--cyan-dim)}.ib-md svg{width:24px;height:24px}
.ib-lg{width:64px;height:64px;background:var(--cyan-dim)}.ib-lg svg{width:32px;height:32px}
.ib-p{background:var(--purple-dim)}.ib-p svg{stroke:var(--purple-bright)}
.ib-r{background:var(--red-dim)}.ib-r svg{stroke:var(--red)}
.ib-g{background:var(--green-dim)}.ib-g svg{stroke:var(--green)}

/* PULSE */
.pulse{width:8px;height:8px;border-radius:50%;background:var(--green);flex-shrink:0;animation:pulse-a 2s infinite}
.pulse-r{background:var(--red)}.pulse-c{background:var(--cyan)}
@keyframes pulse-a{0%{box-shadow:0 0 0 0 rgba(0,255,136,.6)}70%{box-shadow:0 0 0 8px rgba(0,255,136,0)}100%{box-shadow:0 0 0 0 rgba(0,255,136,0)}}

/* REVEAL */
.rv,.rv-l,.rv-r{opacity:0;transition:opacity .75s cubic-bezier(.16,1,.3,1),transform .75s cubic-bezier(.16,1,.3,1)}
.rv{transform:translateY(28px)}.rv-l{transform:translateX(-40px)}.rv-r{transform:translateX(40px)}
.rv.in,.rv-l.in,.rv-r.in{opacity:1;transform:none}
.d1{transition-delay:.08s}.d2{transition-delay:.16s}.d3{transition-delay:.24s}.d4{transition-delay:.32s}.d5{transition-delay:.40s}.d6{transition-delay:.48s}

@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.01ms !important;transition-duration:.01ms !important}}
