:root{
--bg:#05070d;
--card:#0f172a;
--primary:#7c7cff;
--text:#e5e7eb;
--muted:#94a3b8;
}
*{margin:0;padding:0;box-sizing:border-box}
body{
font-family:'JetBrains Mono',monospace;
background:var(--bg);
color:var(--text);
}
/* GRID BG */
.grid-bg{
position:fixed;inset:0;
background:
linear-gradient(rgba(124,124,255,.08) 1px,transparent 1px),
linear-gradient(90deg,rgba(124,124,255,.08) 1px,transparent 1px);
background-size:80px 80px;
z-index:-1;
}
/* NAV */
.nav{
position:sticky;top:0;
background:rgba(5,7,13,.85);
padding:20px 60px;
z-index: 9999999999999999;
}
.nav-inner{
display:flex;
justify-content:space-between;
align-items:center;
}
.logo{
  all: unset;         
  display: inline-flex; 
  align-items: center;
  cursor: pointer;
}
.logo{font-weight:600}
.logo span{color:var(--primary)}
.nav-actions{display:flex;gap:12px}
.nav-link,.nav-cta{
padding:8px 18px;
border-radius:20px;
font-size:13px;
}
.nav-link{
border:1px solid rgba(124,124,255,.3);
color:var(--muted);
}
.nav-cta{
background:var(--primary);
color:#fff;
}
/* SECTIONS */
section{padding:120px 60px}
/* HERO */
.hero{
padding:300px 60px 120px;
}
.hero h1{
font-size:56px;
margin:30px 0;
}
.hero-desc{max-width:720px;color:var(--muted)}
.tag{
font-size:12px;
letter-spacing:2px;
color:var(--muted);
}
/* PLATFORM SHOWCASE */
.platform-showcase{
padding:160px 60px;
background:
radial-gradient(800px 400px at 80% 30%, rgba(124,124,255,.15), transparent 60%);
}
.platform-grid{
display:grid;
grid-template-columns:1fr 1.2fr;
gap:80px;
align-items:center;
}
.platform-desc{color:var(--muted)}
.platform-points{
list-style:none;
margin:30px 0;
}
.platform-points li{
padding-left:20px;
margin-bottom:12px;
position:relative;
color:var(--muted);
}
.platform-points li::before{
content:"▶";
position:absolute;
left:0;
color:var(--primary);
}
.platform-status{
display:flex;
gap:12px;
font-size:13px;
}
.platform-status .online{
color:#22c55e;
}
/* UI CARDS */
.platform-visual{position:relative}
.ui-card{
background:linear-gradient(180deg,#0f172a,#020617);
border:1px solid rgba(124,124,255,.35);
border-radius:20px;
box-shadow:0 40px 120px rgba(0,0,0,.6);
}
.main-ui{
height:320px;
padding:20px;
}
.ui-header{
font-size:14px;
color:var(--primary);
margin-bottom:10px;
}
/* SYNTHETIC PRICE LINE */
.ui-chart{
height:240px;
border-radius:12px;
overflow:hidden;
background:
linear-gradient(180deg,rgba(124,124,255,.12),transparent),
repeating-linear-gradient(
to right,
rgba(255,255,255,.05),
rgba(255,255,255,.05) 1px,
transparent 1px,
transparent 12px
);
}
.price-sim svg{
width:100%;
height:100%;
}
.price-sim polyline{
fill:none;
stroke:var(--primary);
stroke-width:2;
stroke-linecap:round;
stroke-linejoin:round;
stroke-dasharray:600;
stroke-dashoffset:600;
animation:drawLine 7s linear infinite;
opacity:.9;
}
@keyframes drawLine{
to{stroke-dashoffset:0}
}
/* FLOATING STATS */
.stat-card{
position:absolute;
width:160px;
padding:14px;
font-size:12px;
backdrop-filter:blur(8px);
}
.stat-card.top{top:-30px;right:-30px}
.stat-card.bottom{bottom:-30px;left:-30px}
.stat-value.safe{color:#22c55e}
/* FLOAT ANIMATION */
@keyframes floatSlow{
0%,100%{transform:translateY(0)}
50%{transform:translateY(-12px)}
}
@keyframes floatMedium{
0%,100%{transform:translateY(0)}
50%{transform:translateY(-18px)}
}
@keyframes floatFast{
0%,100%{transform:translateY(0)}
50%{transform:translateY(-24px)}
}
.float-slow{animation:floatSlow 10s ease-in-out infinite}
.float-medium{animation:floatMedium 7s ease-in-out infinite}
.float-fast{animation:floatFast 5s ease-in-out infinite}
/* PROBLEM */
.problem ul{
list-style:none;
max-width:720px;
}
.problem li{
padding:12px 0;
border-bottom:1px dashed rgba(124,124,255,.3);
color:var(--muted);
}
/* CONTACT */
.contact-wrapper{
max-width:640px;
margin:auto;
background:var(--card);
padding:60px;
border-radius:22px;
}
.contact input,
.contact textarea{
width:100%;
padding:16px;
margin-bottom:16px;
background:transparent;
border:1px solid rgba(124,124,255,.4);
color:var(--text);
}
.contact button{
width:100%;
padding:14px;
background:var(--primary);
border:none;
color:#fff;
border-radius:30px;
}
/* FOOTER */
.footer{
text-align:center;
padding:40px;
color:var(--muted);
}
/* RESPONSIVE */
@media(max-width:1000px){
.platform-grid{
grid-template-columns:1fr;
}
}
.hero-title{
font-size:56px;
line-height:1.15;
letter-spacing:-0.02em;
}
.hero-title span{
display:block;
}
.infra-word{
color:var(--primary);
}
@media(max-width:600px){
.platform-visual {
margin: 30px;
}
.hero, .platform-showcase{
padding:250px 24px 80px;
}
.nav {
    padding: 20px 24px;
}
.hero-title{
font-size:32px;
line-height:1.25;
letter-spacing:-0.01em;
}
.infra-word{
font-size:34px;
}
.rest-text{
font-size:22px;
margin-top:8px;
max-width:18ch;
}
}
.platform-copy h2 {
margin: 0 0 30px 0;
}
.status-online{
display:flex;
align-items:center;
gap:8px;
color:#22c55e;
font-weight:600;
}
.status-dot{
width:8px;
height:8px;
border-radius:50%;
background:#22c55e;
box-shadow:0 0 6px rgba(34,211,238,.6);
animation:statusPulse 3s ease-in-out infinite;
}
@keyframes statusPulse{
0%,100%{
opacity:1;
transform:scale(1);
}
50%{
opacity:.6;
transform:scale(1.15);
}
}
/* ============================= */
/* RETAIL STRUGGLE SECTION */
/* ============================= */
.retail-struggle{
position:relative;
padding:160px 60px;
overflow:hidden;
/* independent infra background */
background:
radial-gradient(
600px 300px at 20% 20%,
rgba(124,124,255,.12),
transparent 60%
),
radial-gradient(
500px 260px at 80% 80%,
rgba(34,211,238,.08),
transparent 65%
);
}
/* subtle system texture */
.retail-struggle::before{
content:"";
position:absolute;
inset:0;
background:
repeating-linear-gradient(
135deg,
rgba(255,255,255,.025),
rgba(255,255,255,.025) 1px,
transparent 1px,
transparent 14px
);
opacity:.4;
pointer-events:none;
}
/* content always above background */
.retail-inner{
position:relative;
z-index:1;
}
/* headings */
.section-title{
margin-bottom:18px;
}
.retail-inner h2, .retail-inner p {
text-align: center;
}
.section-desc{
margin-bottom:70px;
color:var(--muted);
line-height:1.6;
}
/* grid */
.struggle-grid{
display:grid;
grid-template-columns:repeat(5,1fr);
gap:26px;
}
/* card */
.struggle-card{
background:rgba(15,23,42,.65);
border:1px solid rgba(124,124,255,.28);
border-radius:20px;
padding:32px 22px;
text-align:center;
backdrop-filter:blur(6px);
transition:
transform .35s ease,
border-color .35s ease;
}
.struggle-card:hover{
transform:translateY(-6px);
border-color:rgba(124,124,255,.55);
}
/* icon */
.icon-wrap{
width:48px;
height:48px;
margin:0 auto 18px;
display:flex;
align-items:center;
justify-content:center;
}
.sys-icon{
width:32px;
height:32px;
stroke:var(--primary);
stroke-width:1.5;
fill:none;
stroke-linecap:round;
stroke-linejoin:round;
opacity:.9;
}
/* subtle glow on hover */
.struggle-card:hover .sys-icon{
filter:drop-shadow(0 0 6px rgba(124,124,255,.45));
}
/* text */
.struggle-card h4{
font-size:15px;
margin-bottom:12px;
}
.struggle-card p{
font-size:13px;
line-height:1.6;
color:var(--muted);
}
/* ============================= */
/* RESPONSIVE */
/* ============================= */
@media(max-width:1200px){
.struggle-grid{
grid-template-columns:repeat(3,1fr);
}
}
@media(max-width:700px){
.retail-struggle{
padding:120px 30px;
}
.struggle-grid{
grid-template-columns:1fr;
}
.struggle-card{
text-align:center;
}
.icon-wrap {
margin: 0 0 14px;
justify-self: center;
}
}
/* ============================= */
/* ALGO LAYER BASE */
/* ============================= */
.algo-layer.network{
padding:140px 60px;
}
.algo-inner{
max-width:1200px;
margin:auto;
}
/* ============================= */
/* CENTERED HEADER */
/* ============================= */
.algo-header.center{
text-align:center;
margin-bottom:50px;
}
.section-title{
font-size:40px;
margin-bottom:6px;
}
.section-desc{
max-width:520px;
margin:0 auto;
font-size:14px;
line-height:1.45;
color:var(--muted);
}
.section-desc-full{
max-width:unset;
margin: 0px 0 30px 0;
font-size:14px;
line-height:1.45;
color:var(--muted);
}
.section-explain{
max-width:640px;
margin:22px auto 0;
font-size:14px;
line-height:1.6;
color:rgba(229,231,235,.85);
}
/* ============================= */
/* DESKTOP NETWORK */
/* ============================= */
.platform-network{
position:relative;
height:450px;
margin-bottom:50px;
}
/* PLATFORM NODES */
.platform-node{
position:absolute;
width:300px;
height:100px;
padding:18px 22px;
background:rgba(15,23,42,.75);
border:1px solid rgba(124,124,255,.4);
border-radius:22px;
display:flex;
align-items:center;
gap:18px;
backdrop-filter:blur(6px);
z-index:999;
}
.platform-node img{
width:48px;
}
.platform-meta strong{
display:block;
font-size:15px;
}
.platform-meta small{
font-size:12px;
color:var(--muted);
}
/* POSITIONS */
.platform-node.mt4{ top:20%; left:4%; }
.platform-node.mt5{ top:60%; left:8%; }
.platform-node.tv { top:45%; right:4%; }
/* ============================= */
/* CORE ENGINE */
/* ============================= */
.core-node{
position:absolute;
top:50%;
left:50%;
transform:translate(-50%,-50%);
width:220px;
height:220px;
border-radius:50%;
background:
radial-gradient(circle,
rgba(124,124,255,.28),
rgba(15,23,42,.95) 65%);
border:1px solid rgba(124,124,255,.6);
overflow:hidden;
animation:engineIdle 6s ease-in-out infinite;
}
@keyframes engineIdle{
0%,100%{box-shadow:0 0 22px rgba(124,124,255,.35)}
50%{box-shadow:0 0 40px rgba(124,124,255,.55)}
}
/* Inner core */
.engine-core{
position:absolute;
inset:48px;
border-radius:50%;
border:1px solid rgba(124,124,255,.45);
background:rgba(124,124,255,.12);
display:flex;
align-items:center;
justify-content:center;
text-align:center;
}
.engine-core{
animation: corePulse 6s ease-in-out infinite;
}
@keyframes corePulse{
0%,100%{
box-shadow:
inset 0 0 12px rgba(124,124,255,.35);
}
50%{
box-shadow:
inset 0 0 28px rgba(124,124,255,.6);
}
}
.engine-label{
font-size:13px;
letter-spacing:1px;
font-weight:600;
}
/* Rings */
.ring{
position:absolute;
inset:12px;
border-radius:50%;
border:1px dashed rgba(124,124,255,.25);
animation:spin 18s linear infinite;
}
.ring.r2{
inset:30px;
animation-direction:reverse;
animation-duration:30s;
}
@keyframes spin{
from{transform:rotate(0deg)}
to{transform:rotate(360deg)}
}
/* Dots */
.core-dot{
position:absolute;
width:6px;
height:6px;
border-radius:50%;
background:#7c7cff;
box-shadow:0 0 8px rgba(124,124,255,.7);
animation:dotPulse 3s ease-in-out infinite;
}
.core-dot.d1{top:26%; left:52%}
.core-dot.d2{top:54%; left:74%}
.core-dot.d3{top:76%; left:42%}
@keyframes dotPulse{
0%,100%{opacity:.4}
50%{opacity:1}
}
/* ============================= */
/* CONNECTION LINES (DESKTOP) */
/* ============================= */
.link{
position:absolute;
height:2px;
background:linear-gradient(
90deg,
transparent,
rgba(124,124,255,.9),
transparent
);
opacity:.8;
animation:linkFlow 4s linear infinite;
}
.l-mt4{
top:calc(20% + 48px);
left:50%;
width:calc(50% - 240px);
transform:translateX(-100%);
}
.l-mt5{
top:calc(60% + 48px);
left:50%;
width:calc(50% - 240px);
transform:translateX(-100%);
animation-duration:6s;
}
.l-tv{
top:calc(45% + 48px);
left:50%;
width:calc(50% - 240px);
animation-duration:5s;
}
@keyframes linkFlow{
from{background-position:-120%}
to{background-position:120%}
}
/* ============================= */
/* CTA */
/* ============================= */
.algo-cta{
text-align:center;
}
.cta-btn{
padding:14px 38px;
border-radius:30px;
background:linear-gradient(135deg,#7c7cff,#22d3ee);
color:#fff;
font-weight:600;
text-decoration:none;
}
.cta-note{
margin-top:30px;
font-size:12px;
color:var(--muted);
max-width:520px;
margin-left:auto;
margin-right:auto;
}
/* ============================= */
/* MOBILE: EXECUTION FLOW MODE */
/* ============================= */
@media(max-width:1024px){
.platform-network{
height:auto;
display:flex;
flex-direction:column;
align-items:center;
gap:28px;
}
.platform-node,
.core-node,
.link{
position:relative !important;
top:auto !important;
left:auto !important;
right:auto !important;
transform:none !important;
}
.platform-node{
width:100%;
max-width:360px;
justify-content:center;
}
/* order */
.platform-node.mt4{ order:1; }
.l-mt4{ order:2; }
.core-node{ order:3; }
.l-mt5{ order:4; }
.platform-node.mt5{ order:5; }
.l-tv{ order:6; }
.platform-node.tv{ order:7; }
/* vertical links */
.link{
width:2px;
height:26px;
background:linear-gradient(
180deg,
transparent,
rgba(124,124,255,.85),
transparent
);
animation:linkFlowVertical 3s linear infinite;
}
@keyframes linkFlowVertical{
from{background-position:0 -100%}
to{background-position:0 100%}
}
/* mobile engine heartbeat */
.core-node{
animation:engineMobile 2.2s ease-in-out infinite;
}
@keyframes engineMobile{
0%,100%{
box-shadow:0 0 24px rgba(124,124,255,.45);
transform:scale(1);
}
50%{
box-shadow:0 0 70px rgba(124,124,255,.85);
transform:scale(1.06);
}
}
/* sequential reveal */
.platform-node,
.link{
opacity:0;
animation:flowReveal .6s ease forwards;
}
.platform-node.mt4{ animation-delay:.1s; }
.l-mt4{ animation-delay:.3s; }
.core-node{ animation-delay:.5s; }
.l-mt5{ animation-delay:.7s; }
.platform-node.mt5{ animation-delay:.9s; }
.l-tv{ animation-delay:1.1s; }
.platform-node.tv{ animation-delay:1.3s; }
@keyframes flowReveal{
from{opacity:0; transform:translateY(10px)}
to{opacity:1; transform:none}
}
}
@media(max-width:700px){
.algo-layer.network{
padding:110px 30px;
}
}
/* ============================= */
/* EXECUTION ZONE */
/* ============================= */
.execution-zone{
position:relative;
padding:160px 60px;
overflow:hidden;
background:
linear-gradient(
rgba(5,7,13,.85),
rgba(5,7,13,.95)
),
url("/assets/bg/datacenter.jpg") center / cover no-repeat;
}
/* subtle motion overlay */
.zone-overlay{
position:absolute;
inset:0;
background:
linear-gradient(
90deg,
transparent,
rgba(124,124,255,.06),
transparent
);
animation:zoneFlow 12s linear infinite;
pointer-events:none;
}
@keyframes zoneFlow{
from{transform:translateX(-20%)}
to{transform:translateX(20%)}
}
.zone-inner{
position:relative;
z-index:1;
max-width:1200px;
margin:auto;
text-align:center;
}
/* Header */
.zone-header h2{
font-size:36px;
margin-bottom:14px;
}
.zone-header p{
max-width:620px;
margin:0 auto 80px;
font-size:14px;
color:var(--muted);
line-height:1.6;
}
/* Logos */
.execution-logos{
display:flex;
justify-content:center;
align-items:center;
gap:60px;
flex-wrap:wrap;
}
.execution-logos img{
max-height:120px;
opacity:.7;
filter:grayscale(100%);
transition:opacity .4s ease, filter .4s ease, transform .4s ease;
}
/* interaction: system awareness */
.execution-logos img:hover{
opacity:1;
filter:none;
transform:translateY(-2px);
}
/* Note */
.zone-note{
margin-top:70px;
font-size:12px;
color:var(--muted);
max-width:720px;
margin-left:auto;
margin-right:auto;
}
/* Mobile */
@media(max-width:700px){
.execution-zone{
padding:120px 30px;
}
.execution-logos{
gap:36px;
}
.execution-logos img{
max-height:60px;
}
}
/* ============================= */
/* FULL WIDTH MOBILE MENU */
/* ============================= */

.mobile-menu-full{
  position:fixed;
  inset:0;
  background:
    radial-gradient(
      600px 300px at 30% 20%,
      rgba(124,124,255,.12),
      transparent 60%
    ),
    #05070d;
  transform:translateX(100%);
  transition:transform .45s cubic-bezier(.4,0,.2,1);
  z-index:2000;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
}

/* Active */
.mobile-menu-full.active{
  transform:translateX(0);
  z-index: 9999999999;
}

/* Close */
.mobile-close{
  position:absolute;
  top:24px;
  right:24px;
  background:none;
  border:none;
  font-size:32px;
  color:var(--text);
  cursor:pointer;
}

/* Nav links */
.mobile-nav{
  display:flex;
  flex-direction:column;
  gap:32px;
  text-align:center;
}

.mobile-nav a{
  font-size:28px;
  color:var(--text);
  text-decoration:none;
  letter-spacing:.5px;
  transition:color .3s ease;
}

.mobile-nav a:hover{
  color:var(--primary);
}

/* Toggle button */
.nav-toggle{
  display:none;
  background:none;
  border:none;
  cursor:pointer;
  flex-direction:column;
  gap:6px;
}

.nav-toggle span{
  width:22px;
  height:2px;
  background:var(--text);
}

/* ============================= */
/* BREAKPOINT */
/* ============================= */

@media(max-width:768px){

  .desktop-menu{
    display:none;
  }

  .nav-toggle{
    display:flex;
  }

}



/* ============================= */
/* ALGO HERO */
/* ============================= */
.algo-hero{
  padding:180px 60px 120px;
  text-align:center;
}
.algo-badge{
  font-size:12px;
  letter-spacing:2px;
  color:#7c7cff;
}
.algo-hero h1{
  font-size:56px;
  margin:24px 0;
}
.algo-hero p{
  max-width:640px;
  margin:auto;
  color:var(--muted);
}

/* ============================= */
/* SPEC PANEL */
/* ============================= */
.algo-spec{
  display:flex;
  justify-content:center;
  padding:80px 60px;
}
.spec-panel{
  background:linear-gradient(180deg,#0f172a,#020617);
  border:1px solid rgba(124,124,255,.35);
  border-radius:24px;
  padding:40px 50px;
  width:100%;
  max-width:820px;
}
.spec-panel ul{
  list-style:none;
}
.spec-panel li{
  display:flex;
  justify-content:space-between;
  padding:10px 0;
  border-bottom:1px dashed rgba(124,124,255,.25);
  font-size:14px;
}

/* ============================= */
/* PERFORMANCE */
/* ============================= */
.algo-performance{
  padding:140px 60px;
}
.performance-grid{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:28px;
}
.perf-node{
  background:#020617;
  border:1px solid rgba(124,124,255,.3);
  border-radius:20px;
  padding:28px;
  text-align:center;
}
.perf-node .value{
  font-size:34px;
  font-weight:600;
}
.perf-node .label{
  font-size:13px;
  color:var(--muted);
}
.perf-node small{
  font-size:12px;
  color:var(--muted);
}
.perf-node.primary{border-color:#7c7cff}
.perf-node.success{border-color:#22c55e}
.perf-node.warning{border-color:#f59e0b}
.perf-node.info{border-color:#38bdf8}

/* ============================= */
/* RISK */
/* ============================= */
.algo-risk{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:80px;
  padding:120px 60px;
}
.algo-risk ul{
  list-style:none;
}
.algo-risk li{
  margin-bottom:12px;
  color:var(--muted);
}

/* ============================= */
/* TABLE */
/* ============================= */
.algo-table{
  padding:120px 60px;
}
.algo-table table{
  width:100%;
  border-collapse:collapse;
  font-size:13px;
}
.algo-table th,
.algo-table td{
  padding:14px;
  border-bottom:1px solid rgba(124,124,255,.25);
}
.algo-table th{
  color:#c7d2fe;
  text-align:left;
}

/* ============================= */
/* DISCLAIMER */
/* ============================= */
.algo-disclaimer{
  padding:80px 60px;
  text-align:center;
  font-size:12px;
  color:var(--muted);
}

/* ============================= */
/* RESPONSIVE */
/* ============================= */
@media(max-width:900px){
  .performance-grid{grid-template-columns:1fr 1fr}
  .algo-risk{grid-template-columns:1fr}
}
@media(max-width:600px){
  .performance-grid{grid-template-columns:1fr}
  .algo-hero h1{font-size:36px}
}
/* ============================= */
/* TOP NAV - DARK INFRA PILL */
/* ============================= */

.top-nav{
  position:fixed;
  top:24px;
  left:0;
  width:100%;
  display:flex;
  justify-content:center;
  z-index:2000;
  pointer-events:none;
}

.nav-pill{
  pointer-events:auto;
  background:rgba(15,23,42,.85);
  backdrop-filter:blur(12px);
  border-radius:999px;
  padding:14px 26px;
  display:flex;
  align-items:center;
  gap:28px;
  max-width:none;
  width:calc(100% - 100px);

  border:1px solid rgba(124,124,255,.25);
  box-shadow:
    0 30px 80px rgba(0,0,0,.55),
    inset 0 0 0 1px rgba(124,124,255,.08);
}

/* ============================= */
/* BRAND */
/* ============================= */

.brand{
  all:unset;
  font-weight:700;
  letter-spacing:.5px;
  cursor:pointer;
  display:flex;
  align-items:center;
  gap:2px;
  color:#e5e7eb;
}

.brand span{
  color:var(--primary);
}

/* ============================= */
/* CENTER LINKS */
/* ============================= */

.nav-links{
  display:flex;
  gap:22px;
  flex:1;
  justify-content:center;
}

.nav-links a{
  text-decoration:none;
  font-size:13px;
  color:var(--muted);
  font-weight:500;
  position:relative;
  transition:color .25s ease;
}

.nav-links a:hover{
  color:#e5e7eb;
}

/* subtle infra underline */
.nav-links a::after{
  content:"";
  position:absolute;
  left:0;
  bottom:-6px;
  width:100%;
  height:1px;
  background:linear-gradient(
    90deg,
    transparent,
    var(--primary),
    transparent
  );
  opacity:0;
  transition:opacity .25s ease;
}

.nav-links a:hover::after{
  opacity:.7;
}

/* ============================= */
/* ACTIONS */
/* ============================= */

.nav-actions{
  display:flex;
  align-items:center;
  gap:18px;
}

.nav-login{
  font-size:13px;
  color:var(--muted);
  text-decoration:none;
}

.nav-login:hover{
  color:#e5e7eb;
}

.nav-cta{
  padding:8px 18px;
  border-radius:999px;
  background:linear-gradient(
    135deg,
    #7c7cff,
    #22d3ee
  );
  color:#fff;
  font-size:13px;
  font-weight:600;
  text-decoration:none;
  box-shadow:0 0 0 rgba(124,124,255,0);
  transition:box-shadow .3s ease, transform .3s ease;
}

.nav-cta:hover{
  box-shadow:0 0 20px rgba(124,124,255,.45);
  transform:translateY(-1px);
}

/* ============================= */
/* MOBILE TOGGLE */
/* ============================= */

.nav-toggle{
  display:none;
  background:none;
  border:none;
  cursor:pointer;
  flex-direction:column;
  gap:5px;
}

.nav-toggle span{
  width:22px;
  height:2px;
  background:#e5e7eb;
}

/* ============================= */
/* RESPONSIVE */
/* ============================= */

@media(max-width:900px){

  .nav-links,
  .nav-actions{
    display:none;
  }

  .nav-toggle{
    display:flex;
  }

}
@media(max-width:900px){

  .nav-links,
  .nav-actions{
    display:none;
  }

  .nav-toggle{
    display:flex;
    margin-left:auto;     /* ✅ 强制靠右 */
  }
  .nav-pill{
      pointer-events:auto;
      background:rgba(15,23,42,.85);
      backdrop-filter:blur(12px);
      border-radius:999px;
      padding:14px 26px;
      display:flex;
      align-items:center;
      gap:28px;
      max-width:1200px;
      width:calc(100% - 40px);
    
      border:1px solid rgba(124,124,255,.25);
      box-shadow:
        0 30px 80px rgba(0,0,0,.55),
        inset 0 0 0 1px rgba(124,124,255,.08);
    }

}
/* ============================= */
/* CONTACT HERO — SYSTEM ACCESS */
/* ============================= */
.contact-hero{
  position:relative;
  padding:200px 60px 140px;
  text-align:center;
  overflow:hidden;
}

/* system badge */
.contact-hero::before{
  content:"SYSTEM ACCESS";
  position:absolute;
  top:120px;
  left:50%;
  transform:translateX(-50%);
  font-size:11px;
  letter-spacing:3px;
  color:rgba(124,124,255,.8);
}

/* depth grid glow */
.contact-hero::after{
  content:"";
  position:absolute;
  inset:0;
  background:
    radial-gradient(
      600px 240px at 50% 20%,
      rgba(124,124,255,.18),
      transparent 60%
    );
  pointer-events:none;
}

.contact-hero h1{
  font-size:56px;
  margin-bottom:18px;
}

.contact-hero p{
  max-width:620px;
  margin:auto;
  color:var(--muted);
}

/* ============================= */
/* CONTACT FORM — COMMAND PANEL */
/* ============================= */
.contact-form-section{
  padding:120px 60px;
  display:flex;
  justify-content:center;
}

.form-panel{
  position:relative;
  max-width:760px;
  width:100%;
  background:
    linear-gradient(180deg,#0f172a,#020617);
  border-radius:28px;
  padding:70px 70px 60px;
  border:1px solid rgba(124,124,255,.45);
  box-shadow:
    0 40px 120px rgba(0,0,0,.6),
    inset 0 0 0 1px rgba(124,124,255,.08);
}

/* subtle system header line */
.form-panel::before{
  content:"";
  position:absolute;
  top:0;
  left:0;
  right:0;
  height:2px;
  background:linear-gradient(
    90deg,
    transparent,
    var(--primary),
    transparent
  );
}

.form-panel h2{
  margin-bottom:8px;
}

.form-desc{
  font-size:14px;
  color:var(--muted);
  margin-bottom:50px;
}

/* form layout */
.contact-form{
  display:flex;
  flex-direction:column;
  gap:22px;
}

.contact-form input,
.contact-form textarea{
  background:rgba(2,6,23,.6);
  border:1px solid rgba(124,124,255,.35);
  border-radius:14px;
  padding:16px 18px;
  color:var(--text);
  font-family:inherit;
  transition:
    border-color .3s ease,
    box-shadow .3s ease;
}

/* active / focus = system engaged */
.contact-form input:focus,
.contact-form textarea:focus{
  outline:none;
  border-color:var(--primary);
  box-shadow:0 0 0 3px rgba(124,124,255,.15);
}

/* CTA */
.contact-form button{
  margin-top:24px;
  align-self:flex-start;
  padding:14px 40px;
  border-radius:999px;
  border:none;
  background:linear-gradient(135deg,#7c7cff,#22d3ee);
  color:#fff;
  font-weight:600;
  cursor:pointer;
  box-shadow:0 0 0 rgba(124,124,255,0);
  transition:box-shadow .3s ease, transform .3s ease;
}

.contact-form button:hover{
  box-shadow:0 0 28px rgba(124,124,255,.45);
  transform:translateY(-1px);
}

/* ============================= */
/* HAVE A QUESTION — ENDPOINTS */
/* ============================= */
.contact-questions{
  padding:160px 60px;
  text-align:center;
  position:relative;
}

.contact-questions h2{
  margin-bottom:10px;
}

.questions-desc{
  max-width:620px;
  margin:0 auto 80px;
  color:var(--muted);
}

/* endpoint layout */
.question-grid{
  max-width:900px;
  margin:auto;
  display:grid;
  grid-template-columns:1fr;
  gap:28px;
}

/* not cards — endpoints */
.question-item{
  display:flex;
  justify-content:space-between;
  align-items:center;
  padding:28px 32px;
  border-bottom:1px dashed rgba(124,124,255,.35);
}

.question-item h4{
  margin-bottom:6px;
}

.question-item p{
  font-size:14px;
  color:var(--muted);
}

.question-item span{
  font-size:13px;
  color:var(--primary);
  white-space:nowrap;
}

/* ============================= */
/* RESPONSIVE */
/* ============================= */
@media(max-width:700px){

  .contact-hero{
    padding:160px 30px 120px;
  }

  .form-panel{
    padding:50px 36px;
  }

  .question-item{
    flex-direction:column;
    align-items:flex-start;
    gap:10px;
  }

}


/* ============================= */
/* FAQ HERO */
/* ============================= */
.faq-hero{
  text-align:center;
  padding:160px 60px 120px;
}
.faq-hero h1{
  font-size:48px;
  margin-bottom:12px;
}
.faq-hero p{
  max-width:720px;
  margin:auto;
  color:var(--muted);
}

/* ============================= */
/* FAQ SEARCH */
/* ============================= */
.faq-search{
  padding:60px 60px;
  text-align:center;
}
.faq-search input{
  width:100%;
  max-width:680px;
  padding:16px 22px;
  background:rgba(15,23,42,.75);
  border:1px solid rgba(124,124,255,.35);
  border-radius:999px;
  color:var(--text);
  font-size:14px;
}

/* ============================= */
/* FAQ LIST */
/* ============================= */
.faq-list{
  padding:80px 60px;
  max-width:1000px;
  margin:auto;
}

.faq-category + .faq-category{
  margin-top:48px;
}

.faq-category h3{
  font-size:20px;
  margin-bottom:18px;
  color:var(--primary);
}

/* Accordion items */
.faq-item{
  border-top:1px solid rgba(124,124,255,.25);
  padding:18px 0;
}

.faq-item .question{
  font-size:15px;
  font-weight:600;
  cursor:pointer;
  display:flex;
  justify-content:space-between;
  align-items:center;
  color:#e5e7eb;
}

.faq-item .answer{
  margin-top:10px;
  font-size:14px;
  line-height:1.6;
  color:var(--muted);
  display:none; /* hidden until click */
}

/* ============================= */
/* FAQ CTA */
/* ============================= */
.faq-cta{
  text-align:center;
  padding:100px 60px;
  border-top:1px solid rgba(124,124,255,.2);
}
.faq-cta p{
  font-size:16px;
  color:var(--muted);
  margin-bottom:18px;
}
.faq-cta .btn-glow{
  padding:14px 38px;
  border-radius:30px;
  background:linear-gradient(135deg,var(--primary),var(--accent));
  color:#fff;
}

/* ============================= */
/* RESPONSIVE */
/* ============================= */
@media(max-width:900px){
  .faq-search{padding:60px 36px;}
  .faq-list{padding:60px 36px;}
  .faq-cta{padding:80px 36px;}
}
