.elementor-15136 .elementor-element.elementor-element-4e7a363{--display:flex;}/* Start custom CSS for html, class: .elementor-element-3b3dc03 *//* ===== RESET &amp; BASE ===== */
html{scroll-behavior:smooth;font-size:16px}
body{
  background:
    radial-gradient(ellipse at 20% 50%, rgba(0,240,255,.04) 0%, transparent 60%),
    radial-gradient(ellipse at 80% 50%, rgba(0,255,65,.03) 0%, transparent 60%),
    linear-gradient(180deg,#0a0e17 0%,#0d1525 50%,#0a0e17 100%);
  color:#c8d6e5;
  line-height:1.7;
  overflow-x:hidden;
}
a{color:#14b8a6;text-decoration:none;transition:color .3s, text-shadow .3s}
a:hover{color:#5eead4;text-shadow:0 0 8px rgba(20,184,166,.5)}
h1,h2,h3,h4{font-family:'Inter',sans-serif;color:#e8ecf1;font-weight:700;line-height:1.3}
code,.mono{font-family:'Share Tech Mono',monospace}
img{max-width:100%}

/* ===== SCROLLBAR ===== */
::-webkit-scrollbar{width:8px}
::-webkit-scrollbar-track{background:#0a0e17}
::-webkit-scrollbar-thumb{background:linear-gradient(180deg,#14b8a6,#0d9488);border-radius:4px}

/* ===== CONTAINER ===== */
.container{max-width:1100px;margin:0 auto;padding:0 1.5rem}

/* ===== HEADER / HERO ===== */
.hero{
  position:relative;min-height:100vh;
  display:flex;align-items:center;justify-content:center;
  padding:4rem 1.5rem 3rem;overflow:hidden;
}
.grid-lines{
  position:absolute;inset:0;z-index:0;overflow:hidden;opacity:.08;
}
.grid-lines::before,.grid-lines::after{
  content:'';position:absolute;
}
.grid-lines::before{
  top:0;left:0;right:0;bottom:0;
  background-image:
    linear-gradient(rgba(20,184,166,.3) 1px,transparent 1px),
    linear-gradient(90deg,rgba(20,184,166,.3) 1px,transparent 1px);
  background-size:60px 60px;
}

/* ===== SIMULATION WRAPPER ===== */
.sim-wrapper{
  position:relative;z-index:1;
  width:100%;max-width:960px;
  display:flex;flex-direction:column;align-items:center;gap:2rem;
}
.hero-title{text-align:center}
.hero-title .tag{
  display:inline-block;
  font-family:'Share Tech Mono',monospace;
  font-size:.75rem;letter-spacing:3px;text-transform:uppercase;
  color:#14b8a6;
  border:1px solid rgba(20,184,166,.3);
  padding:.3rem 1rem;border-radius:20px;
  margin-bottom:1rem;
  animation:tagPulse 3s ease-in-out infinite;
}
@keyframes tagPulse{
  0%,100%{box-shadow:0 0 8px rgba(20,184,166,.2)}
  50%{box-shadow:0 0 20px rgba(20,184,166,.4)}
}
.hero-title h1{
  font-size:clamp(2rem,5vw,3.5rem);
  background:linear-gradient(135deg,#14b8a6 0%,#0d9488 50%,#14b8a6 100%);
  background-size:200% auto;
  -webkit-background-clip:text;-webkit-text-fill-color:transparent;
  background-clip:text;
  animation:gradientShift 4s linear infinite;
  margin-bottom:.5rem;
}
@keyframes gradientShift{
  0%{background-position:0% center}
  100%{background-position:200% center}
}
.hero-title .subtitle{
  font-family:'Share Tech Mono',monospace;
  font-size:.95rem;color:#5a7a8a;
  overflow:hidden;white-space:nowrap;
  max-width:700px;margin:0 auto;
  border-right:2px solid #14b8a6;
  animation:typing 4s steps(60,end) infinite,blink .6s step-end infinite alternate;
}
@keyframes typing{
  0%{max-width:0}
  50%{max-width:700px}
  90%{max-width:700px}
  100%{max-width:0}
}
@keyframes blink{50%{border-color:transparent}}

/* ===== SERVERLESS ARCHITECTURE SIMULATION ===== */
.serverless-sim{
  position:relative;
  width:100%;max-width:860px;
  height:480px;
  background:rgba(8,12,22,.8);
  border:1px solid rgba(20,184,166,.12);
  border-radius:16px;
  overflow:hidden;
}
.serverless-sim::before{
  content:'';position:absolute;inset:0;
  background-image:
    linear-gradient(rgba(20,184,166,.03) 1px,transparent 1px),
    linear-gradient(90deg,rgba(20,184,166,.03) 1px,transparent 1px);
  background-size:40px 40px;
  border-radius:16px;
}

/* Horizontal scan lines */
.scan-h{
  position:absolute;left:0;width:100%;height:2px;z-index:2;
  background:linear-gradient(90deg,transparent,rgba(20,184,166,.4),transparent);
  box-shadow:0 0 12px rgba(20,184,166,.2);
  animation:scanH 5s ease-in-out infinite;
}
.scan-h:nth-child(1){top:25%;animation-delay:0s}
.scan-h:nth-child(2){top:55%;animation-delay:1.7s}
.scan-h:nth-child(3){top:80%;animation-delay:3.3s}
@keyframes scanH{
  0%{opacity:0;transform:translateX(-40%)}
  20%{opacity:.6}
  50%{opacity:.8;transform:translateX(40%)}
  80%{opacity:.6}
  100%{opacity:0;transform:translateX(140%)}
}

/* Vertical scan line */
.scan-v{
  position:absolute;top:0;height:100%;width:2px;z-index:2;
  background:linear-gradient(180deg,transparent,rgba(20,184,166,.3),transparent);
  box-shadow:0 0 12px rgba(20,184,166,.15);
  animation:scanV 6s ease-in-out infinite;
}
.scan-v:nth-child(4){left:30%;animation-delay:.5s}
.scan-v:nth-child(5){left:70%;animation-delay:3s}
@keyframes scanV{
  0%{opacity:0;transform:translateY(-40%)}
  20%{opacity:.5}
  50%{opacity:.7;transform:translateY(40%)}
  80%{opacity:.5}
  100%{opacity:0;transform:translateY(140%)}
}

/* ===== MAP REGION ===== */
.world-map{
  position:absolute;
  top:50%;left:50%;
  transform:translate(-50%,-50%);
  width:360px;height:200px;
  border:1px solid rgba(20,184,166,.1);
  border-radius:12px;
  background:rgba(20,184,166,.02);
}
.world-map::before{
  content:'WORLD EDGE NETWORK';
  position:absolute;top:6px;left:10px;
  font-family:'Share Tech Mono',monospace;
  font-size:.5rem;color:rgba(20,184,166,.4);
  letter-spacing:2px;
}

/* Edge nodes on map */
.edge-node{
  position:absolute;
  width:14px;height:14px;
  border-radius:50%;
  background:rgba(20,184,166,.15);
  border:2px solid #14b8a6;
  animation:edgePing 2.5s ease-in-out infinite;
  z-index:3;
}
.edge-node::after{
  content:'';position:absolute;inset:-4px;
  border-radius:50%;
  border:1px solid rgba(20,184,166,.3);
  animation:edgeRipple 2.5s ease-out infinite;
}
.edge-node:nth-child(1){top:30%;left:15%;animation-delay:0s}
.edge-node:nth-child(2){top:20%;left:42%;animation-delay:.4s}
.edge-node:nth-child(3){top:45%;left:65%;animation-delay:.8s}
.edge-node:nth-child(4){top:55%;left:30%;animation-delay:1.2s}
.edge-node:nth-child(5){top:35%;left:80%;animation-delay:1.6s}
.edge-node:nth-child(6){top:65%;left:55%;animation-delay:2s}
@keyframes edgePing{
  0%,100%{background:rgba(20,184,166,.15);transform:scale(1)}
  50%{background:rgba(20,184,166,.5);transform:scale(1.3)}
}
@keyframes edgeRipple{
  0%{transform:scale(1);opacity:.6}
  100%{transform:scale(3);opacity:0}
}

/* Edge node labels */
.edge-label{
  position:absolute;
  font-family:'Share Tech Mono',monospace;
  font-size:.4rem;color:rgba(20,184,166,.6);
  white-space:nowrap;
  animation:labelFade 4s ease-in-out infinite;
}
.edge-label:nth-child(1){top:22%;left:10%}
.edge-label:nth-child(2){top:12%;left:36%}
.edge-label:nth-child(3){top:38%;left:60%}
.edge-label:nth-child(4){top:48%;left:24%}
.edge-label:nth-child(5){top:27%;left:75%}
.edge-label:nth-child(6){top:57%;left:50%}
@keyframes labelFade{
  0%,100%{opacity:.3}
  50%{opacity:.9}
}

/* Connection lines between edge nodes */
.conn-line{
  position:absolute;
  height:1px;
  background:linear-gradient(90deg,transparent,rgba(20,184,166,.2),transparent);
  z-index:2;
  animation:connPulse 3s ease-in-out infinite;
  transform-origin:left center;
}
.conn-line:nth-child(1){top:25%;left:18%;width:30%;animation-delay:0s;transform:rotate(5deg)}
.conn-line:nth-child(2){top:35%;left:35%;width:35%;animation-delay:1s;transform:rotate(-10deg)}
.conn-line:nth-child(3){top:50%;left:50%;width:25%;animation-delay:2s;transform:rotate(15deg)}
@keyframes connPulse{
  0%,100%{opacity:.2}
  50%{opacity:.8}
}

/* ===== LAMBDA FUNCTION FLOW ===== */
.lambda-flow{
  position:absolute;
  top:15px;left:15px;
  display:flex;gap:6px;
  align-items:center;
  z-index:4;
}
.flow-step{
  display:flex;flex-direction:column;align-items:center;gap:3px;
  padding:5px 8px;
  background:rgba(20,184,166,.06);
  border:1px solid rgba(20,184,166,.15);
  border-radius:6px;
  animation:flowStepAppear 1s ease-out forwards;
  opacity:0;
  font-family:'Share Tech Mono',monospace;
}
.flow-step .flow-icon{font-size:.9rem}
.flow-step .flow-text{font-size:.35rem;color:#5a7a8a;white-space:nowrap}
.flow-step:nth-child(1){animation-delay:.5s}
.flow-step:nth-child(2){animation-delay:1.5s}
.flow-step:nth-child(3){animation-delay:2.5s}
.flow-step:nth-child(4){animation-delay:3.5s}
.flow-step:nth-child(5){animation-delay:4.5s}
@keyframes flowStepAppear{
  0%{opacity:0;transform:translateY(-10px) scale(.7)}
  60%{opacity:1;transform:translateY(2px) scale(1.05)}
  100%{opacity:1;transform:translateY(0) scale(1)}
}

/* Flow arrows between steps */
.flow-arrow{
  font-size:.7rem;
  color:#14b8a6;
  animation:arrowPulse 1.5s ease-in-out infinite;
  opacity:0;
}
.flow-arrow:nth-child(2){animation-delay:1s}
.flow-arrow:nth-child(4){animation-delay:2s}
.flow-arrow:nth-child(6){animation-delay:3s}
.flow-arrow:nth-child(8){animation-delay:4s}
@keyframes arrowPulse{
  0%,100%{opacity:0}
  50%{opacity:1;transform:translateX(3px)}
}

/* ===== GOOGLE APPS SCRIPT PANEL ===== */
.apps-script-panel{
  position:absolute;
  bottom:15px;left:15px;
  width:220px;
  background:rgba(8,12,22,.9);
  border:1px solid rgba(20,184,166,.15);
  border-radius:8px;
  padding:8px 10px;
  font-family:'Share Tech Mono',monospace;
  z-index:4;
  animation:panelSlideIn 2s ease-out forwards;
  opacity:0;
}
@keyframes panelSlideIn{
  0%{opacity:0;transform:translateX(-20px)}
  100%{opacity:1;transform:translateX(0)}
}
.apps-script-panel .panel-title{
  font-size:.5rem;color:#14b8a6;
  letter-spacing:1px;
  margin-bottom:5px;
  padding-bottom:4px;
  border-bottom:1px solid rgba(20,184,166,.1);
}
.apps-script-panel .code-line{
  font-size:.42rem;
  color:#6a8a9a;
  padding:1px 0;
  animation:codeReveal 5s ease-out infinite;
  opacity:0;
  white-space:nowrap;
  overflow:hidden;
}
.apps-script-panel .code-line:nth-child(2){animation-delay:.5s;color:#14b8a6}
.apps-script-panel .code-line:nth-child(3){animation-delay:1s}
.apps-script-panel .code-line:nth-child(4){animation-delay:1.5s;color:#f59e0b}
.apps-script-panel .code-line:nth-child(5){animation-delay:2s}
.apps-script-panel .code-line:nth-child(6){animation-delay:2.5s;color:#ef4444}
.apps-script-panel .code-line:nth-child(7){animation-delay:3s}
@keyframes codeReveal{
  0%{opacity:0;max-width:0}
  10%{opacity:1;max-width:220px}
  80%{opacity:1;max-width:220px}
  90%{opacity:.5;max-width:220px}
  100%{opacity:0;max-width:0}
}

/* ===== LAMBDA EXECUTION PANEL ===== */
.lambda-panel{
  position:absolute;
  bottom:15px;right:15px;
  width:200px;
  background:rgba(8,12,22,.9);
  border:1px solid rgba(20,184,166,.15);
  border-radius:8px;
  padding:8px 10px;
  font-family:'Share Tech Mono',monospace;
  z-index:4;
  animation:panelSlideIn 2s ease-out .5s forwards;
  opacity:0;
}
.lambda-panel .panel-title{
  font-size:.5rem;color:#14b8a6;
  letter-spacing:1px;
  margin-bottom:5px;
  padding-bottom:4px;
  border-bottom:1px solid rgba(20,184,166,.1);
}
.lambda-log{
  font-size:.42rem;
  padding:1px 0;
  animation:logAppear 3s ease-out infinite;
  opacity:0;
}
.lambda-log:nth-child(2){animation-delay:.3s;color:#5a7a8a}
.lambda-log:nth-child(3){animation-delay:.6s;color:#10b981}
.lambda-log:nth-child(4){animation-delay:.9s;color:#5a7a8a}
.lambda-log:nth-child(5){animation-delay:1.2s;color:#f59e0b}
.lambda-log:nth-child(6){animation-delay:1.5s;color:#ef4444}
.lambda-log:nth-child(7){animation-delay:1.8s;color:#5a7a8a}
@keyframes logAppear{
  0%{opacity:0;transform:translateX(10px)}
  15%{opacity:1;transform:translateX(0)}
  85%{opacity:1}
  100%{opacity:0}
}

/* ===== REQUEST PACKET FLOW ===== */
.req-packet{
  position:absolute;
  width:6px;height:6px;
  border-radius:50%;
  background:#14b8a6;
  box-shadow:0 0 8px #14b8a6;
  z-index:5;
  animation:packetMove 3s linear infinite;
}
.req-packet:nth-child(1){top:70px;left:20%;animation-delay:0s}
.req-packet:nth-child(2){top:90px;left:40%;animation-delay:1s}
.req-packet:nth-child(3){top:100px;left:55%;animation-delay:2s}
.req-packet.red-pkt{background:#ef4444;box-shadow:0 0 8px #ef4444}
.req-packet:nth-child(4){top:350px;left:60%;animation-delay:.5s}
.req-packet:nth-child(5){top:340px;left:40%;animation-delay:1.5s}
.req-packet:nth-child(6){top:330px;left:25%;animation-delay:2.5s}
@keyframes packetMove{
  0%{opacity:0;transform:translate(0,0)}
  10%{opacity:1}
  50%{transform:translate(30px,40px)}
  90%{opacity:.8}
  100%{opacity:0;transform:translate(60px,80px)}
}

/* ===== CLOUD PLATFORM BADGES ===== */
.platform-badges{
  position:absolute;
  top:15px;right:15px;
  display:flex;flex-direction:column;gap:4px;
  z-index:4;
}
.p-badge{
  font-family:'Share Tech Mono',monospace;
  font-size:.42rem;
  padding:3px 8px;
  border-radius:4px;
  border:1px solid rgba(20,184,166,.12);
  background:rgba(20,184,166,.03);
  color:#5a7a8a;
  animation:badgeGlow 4s ease-in-out infinite;
}
.p-badge:nth-child(1){animation-delay:0s}
.p-badge:nth-child(2){animation-delay:.8s}
.p-badge:nth-child(3){animation-delay:1.6s}
.p-badge:nth-child(4){animation-delay:2.4s}
@keyframes badgeGlow{
  0%,100%{border-color:rgba(20,184,166,.08);color:#3a5a6a}
  50%{border-color:rgba(20,184,166,.35);color:#14b8a6}
}

/* ===== MALWARE VICTIM NODE ===== */
.victim-node{
  position:absolute;
  bottom:80px;left:50%;
  transform:translateX(-50%);
  display:flex;align-items:center;gap:6px;
  padding:5px 12px;
  background:rgba(239,68,68,.08);
  border:1px solid rgba(239,68,68,.25);
  border-radius:8px;
  z-index:4;
  animation:victimPulse 3s ease-in-out infinite;
}
.victim-node .v-icon{font-size:.9rem}
.victim-node .v-label{
  font-family:'Share Tech Mono',monospace;
  font-size:.45rem;color:#ef4444;
}
@keyframes victimPulse{
  0%,100%{border-color:rgba(239,68,68,.15);box-shadow:0 0 8px rgba(239,68,68,.05)}
  50%{border-color:rgba(239,68,68,.45);box-shadow:0 0 20px rgba(239,68,68,.15)}
}

/* ===== STATUS BAR ===== */
.status-bar{
  display:flex;gap:1.5rem;justify-content:center;flex-wrap:wrap;
  margin-top:1rem;z-index:2;position:relative;
}
.status-indicator{
  display:flex;align-items:center;gap:.5rem;
  font-family:'Share Tech Mono',monospace;font-size:.72rem;
  color:#5a7a8a;
  padding:.35rem .8rem;
  border:1px solid rgba(20,184,166,.1);
  border-radius:6px;
  background:rgba(20,184,166,.02);
  animation:statusBorder 8s ease-in-out infinite;
}
.status-dot{
  width:8px;height:8px;border-radius:50%;
  animation:statusCycle 6s ease-in-out infinite;
}
.status-indicator:nth-child(1) .status-dot{background:#f59e0b;box-shadow:0 0 8px rgba(245,158,11,.5);animation-delay:0s}
.status-indicator:nth-child(2) .status-dot{background:#14b8a6;box-shadow:0 0 8px rgba(20,184,166,.5);animation-delay:2s}
.status-indicator:nth-child(3) .status-dot{background:#10b981;box-shadow:0 0 8px rgba(16,185,129,.5);animation-delay:4s}
.status-indicator:nth-child(4) .status-dot{background:#ef4444;box-shadow:0 0 8px rgba(239,68,68,.5);animation-delay:1s}
@keyframes statusCycle{
  0%,40%{opacity:.3;transform:scale(.8)}
  10%,30%{opacity:1;transform:scale(1.3)}
  100%{opacity:.3;transform:scale(.8)}
}
@keyframes statusBorder{
  0%,100%{border-color:rgba(20,184,166,.08)}
  50%{border-color:rgba(20,184,166,.2)}
}

/* ===== FLOATING PARTICLES ===== */
.particles{
  position:fixed;inset:0;z-index:0;pointer-events:none;overflow:hidden;
}
.particle{
  position:absolute;width:2px;height:2px;
  background:rgba(20,184,166,.4);border-radius:50%;
  animation:floatUp linear infinite;
}
.particle:nth-child(1){left:5%;width:2px;height:2px;animation-duration:12s;animation-delay:0s;background:rgba(20,184,166,.3)}
.particle:nth-child(2){left:15%;width:1px;height:1px;animation-duration:18s;animation-delay:2s;background:rgba(13,148,136,.2)}
.particle:nth-child(3){left:25%;width:3px;height:3px;animation-duration:14s;animation-delay:4s;background:rgba(20,184,166,.25)}
.particle:nth-child(4){left:35%;width:1px;height:1px;animation-duration:20s;animation-delay:1s;background:rgba(13,148,136,.3)}
.particle:nth-child(5){left:45%;width:2px;height:2px;animation-duration:16s;animation-delay:3s;background:rgba(20,184,166,.2)}
.particle:nth-child(6){left:55%;width:1px;height:1px;animation-duration:22s;animation-delay:5s;background:rgba(13,148,136,.25)}
.particle:nth-child(7){left:65%;width:2px;height:2px;animation-duration:13s;animation-delay:2.5s;background:rgba(20,184,166,.35)}
.particle:nth-child(8){left:75%;width:1px;height:1px;animation-duration:17s;animation-delay:0.5s;background:rgba(13,148,136,.2)}
.particle:nth-child(9){left:85%;width:3px;height:3px;animation-duration:15s;animation-delay:6s;background:rgba(20,184,166,.2)}
.particle:nth-child(10){left:95%;width:1px;height:1px;animation-duration:19s;animation-delay:1.5s;background:rgba(13,148,136,.3)}
.particle:nth-child(11){left:10%;width:2px;height:2px;animation-duration:21s;animation-delay:7s;background:rgba(20,184,166,.15)}
.particle:nth-child(12){left:50%;width:1px;height:1px;animation-duration:16s;animation-delay:8s;background:rgba(13,148,136,.15)}
@keyframes floatUp{
  0%{transform:translateY(100vh) translateX(0);opacity:0}
  10%{opacity:1}
  90%{opacity:1}
  100%{transform:translateY(-10vh) translateX(30px);opacity:0}
}

/* ===== SECTION STYLES ===== */
.section{padding:5rem 0;position:relative;z-index:1}
.section-header{text-align:center;margin-bottom:3rem}
.section-header .section-tag{
  display:inline-block;
  font-family:'Share Tech Mono',monospace;
  font-size:.7rem;letter-spacing:2px;text-transform:uppercase;
  color:#14b8a6;margin-bottom:.5rem;
}
.section-header .section-tit{
  font-size:clamp(1.5rem,3vw,2.2rem);
  background:linear-gradient(90deg,#e8ecf1,#14b8a6);
  -webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;
}
.section-header .divider{
  width:60px;height:3px;margin:1rem auto 0;
  background:linear-gradient(90deg,#14b8a6,#0d9488);border-radius:2px;
  animation:dividerPulse 3s ease-in-out infinite;
}
@keyframes dividerPulse{
  0%,100%{width:60px;opacity:.7}
  50%{width:90px;opacity:1}
}

/* ===== GLASS CARD ===== */
.glass-card{
  background:rgba(15,22,36,.6);
  backdrop-filter:blur(10px);
  border:1px solid rgba(20,184,166,.1);
  border-radius:12px;
  padding:2rem;
  margin-bottom:1.5rem;
  transition:border-color .3s,box-shadow .3s;
}
.glass-card:hover{
  border-color:rgba(20,184,166,.25);
  box-shadow:0 0 30px rgba(20,184,166,.05);
}

/* ===== GLOW BORDER CARD ===== */
.glow-card{
  position:relative;
  background:rgba(10,14,23,.85);
  border-radius:14px;
  padding:2rem;
  margin-bottom:1.5rem;
  overflow:hidden;
}
.glow-card::before{
  content:'';position:absolute;inset:-1px;
  border-radius:14px;
  background:linear-gradient(135deg,rgba(20,184,166,.3),transparent 40%,transparent 60%,rgba(13,148,136,.3));
  z-index:-1;
  animation:borderGlow 4s ease-in-out infinite alternate;
}
@keyframes borderGlow{
  0%{opacity:.4}
  100%{opacity:1}
}
.glow-card::after{
  content:'';position:absolute;inset:1px;
  background:rgba(10,14,23,.95);
  border-radius:13px;z-index:-1;
}
.glow-card h3{color:#14b8a6;margin-bottom:.8rem;font-size:1.15rem}
.glow-card p{margin-bottom:.8rem}

/* ===== STAT BOX ===== */
.stat-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1.2rem;margin:2rem 0}
.stat-box{
  text-align:center;padding:1.5rem;
  background:rgba(20,184,166,.03);
  border:1px solid rgba(20,184,166,.12);
  border-radius:10px;
  transition:transform .3s, box-shadow .3s;
  animation:statFloat 4s ease-in-out infinite;
}
.stat-box:nth-child(2){animation-delay:.5s}
.stat-box:nth-child(3){animation-delay:1s}
.stat-box:nth-child(4){animation-delay:1.5s}
@keyframes statFloat{
  0%,100%{transform:translateY(0)}
  50%{transform:translateY(-4px)}
}
.stat-box:hover{box-shadow:0 8px 30px rgba(20,184,166,.08)}
.stat-number{
  font-family:'Share Tech Mono',monospace;
  font-size:2rem;color:#14b8a6;
  text-shadow:0 0 20px rgba(20,184,166,.3);
  animation:statCount 3s ease-in-out infinite alternate;
}
.stat-number.green{color:#10b981;text-shadow:0 0 20px rgba(16,185,129,.3)}
.stat-number.red{color:#ef4444;text-shadow:0 0 20px rgba(239,68,68,.3)}
.stat-number.amber{color:#f59e0b;text-shadow:0 0 20px rgba(245,158,11,.3)}
@keyframes statCount{0%{opacity:.7}100%{opacity:1}}
.stat-label{font-size:.8rem;color:#5a7a8a;margin-top:.3rem}

/* ===== DEFINITION BOX ===== */
.def-box{
  background:linear-gradient(135deg,rgba(20,184,166,.05),rgba(13,148,136,.03));
  border-left:4px solid #14b8a6;
  padding:1.5rem 2rem;
  border-radius:0 10px 10px 0;
  margin:1.5rem 0;
}
.def-box .def-label{
  font-family:'Share Tech Mono',monospace;
  font-size:.75rem;color:#14b8a6;
  letter-spacing:1px;text-transform:uppercase;
  margin-bottom:.5rem;
}
.def-box p{font-size:.95rem;line-height:1.8}

/* ===== ANALOGY BOX ===== */
.analogy-box{
  background:linear-gradient(135deg,rgba(16,185,129,.05),rgba(20,184,166,.03));
  border-left:4px solid #10b981;
  padding:1.5rem 2rem;
  border-radius:0 10px 10px 0;
  margin:1.5rem 0;
}
.analogy-box .def-label{color:#10b981}

/* ===== SCENARIO ===== */
.scenario-timeline{position:relative;padding-left:2rem}
.scenario-timeline::before{
  content:'';position:absolute;left:8px;top:0;bottom:0;
  width:2px;
  background:linear-gradient(180deg,#14b8a6,#0d9488,rgba(13,148,136,.2));
}
.timeline-item{position:relative;margin-bottom:2rem;padding-left:1.5rem}
.timeline-item::before{
  content:'';position:absolute;left:-2rem;top:4px;
  width:16px;height:16px;border-radius:50%;
  background:#0a0e17;border:2px solid #14b8a6;
  box-shadow:0 0 10px rgba(20,184,166,.3);
}
.timeline-item.bad::before{border-color:#ef4444;box-shadow:0 0 10px rgba(239,68,68,.3)}
.timeline-item.good::before{border-color:#10b981;box-shadow:0 0 10px rgba(16,185,129,.3)}
.timeline-item h4{color:#14b8a6;margin-bottom:.4rem;font-size:1rem}
.timeline-item.bad h4{color:#ef4444}
.timeline-item.good h4{color:#10b981}
.timeline-item p{font-size:.92rem;color:#8fa3b8}

/* ===== STEPS ===== */
.steps-grid{display:flex;flex-direction:column;gap:1.2rem}
.step-card{
  display:flex;gap:1.2rem;align-items:flex-start;
  background:rgba(15,22,36,.5);
  border:1px solid rgba(20,184,166,.08);
  border-radius:10px;
  padding:1.3rem 1.5rem;
  transition:all .3s;
}
.step-card:hover{
  border-color:rgba(20,184,166,.2);
  background:rgba(15,22,36,.7);
  transform:translateX(6px);
}
.step-num{
  flex-shrink:0;
  width:44px;height:44px;
  display:flex;align-items:center;justify-content:center;
  background:linear-gradient(135deg,rgba(20,184,166,.15),rgba(13,148,136,.1));
  border:1px solid rgba(20,184,166,.3);
  border-radius:10px;
  font-family:'Share Tech Mono',monospace;
  font-size:1.1rem;color:#14b8a6;
}
.step-content h4{color:#e8ecf1;margin-bottom:.4rem;font-size:1rem}
.step-content p{font-size:.88rem;color:#8fa3b8;margin-bottom:.4rem}
.step-content ul{list-style:none;padding:0}
.step-content ul li{
  font-size:.84rem;color:#6a8a9a;padding:.2rem 0 .2rem 1.2rem;
  position:relative;
}
.step-content ul li::before{
  content:'›';position:absolute;left:0;color:#14b8a6;font-weight:bold;
}

/* Protection tags */
.protect-tag{
  display:inline-block;
  font-family:'Share Tech Mono',monospace;
  font-size:.62rem;
  padding:.1rem .4rem;
  border-radius:3px;
  margin-left:.3rem;
  vertical-align:middle;
}
.protect-tag.detect{background:rgba(245,158,11,.12);border:1px solid rgba(245,158,11,.3);color:#f59e0b}
.protect-tag.prevent{background:rgba(16,185,129,.12);border:1px solid rgba(16,185,129,.3);color:#10b981}
.protect-tag.respond{background:rgba(20,184,166,.12);border:1px solid rgba(20,184,166,.3);color:#14b8a6}

/* ===== MISTAKES &amp; BEST ===== */
.mb-grid{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem}
@media(max-width:700px){.mb-grid{grid-template-columns:1fr}}
.mb-card{padding:1.5rem}
.mb-card.mistake{border-left:3px solid #ef4444}
.mb-card.best{border-left:3px solid #10b981}
.mb-card h3{font-size:1rem;margin-bottom:1rem}
.mb-card.mistake h3{color:#ef4444}
.mb-card.best h3{color:#10b981}
.mb-card ul{list-style:none;padding:0}
.mb-card ul li{
  padding:.5rem 0 .5rem 1.5rem;
  font-size:.88rem;color:#8fa3b8;
  position:relative;
  border-bottom:1px solid rgba(255,255,255,.03);
}
.mb-card.mistake ul li::before{content:'✕';position:absolute;left:0;color:#ef4444;font-weight:bold;font-size:.9rem}
.mb-card.best ul li::before{content:'✓';position:absolute;left:0;color:#10b981;font-weight:bold;font-size:.9rem}

/* ===== TEAM VIEWS ===== */
.team-grid{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem}
@media(max-width:700px){.team-grid{grid-template-columns:1fr}}
.team-card{position:relative;overflow:hidden}
.team-card .team-label{
  position:absolute;top:1rem;right:1rem;
  font-family:'Share Tech Mono',monospace;
  font-size:.65rem;letter-spacing:2px;text-transform:uppercase;
  padding:.2rem .6rem;border-radius:4px;
}
.team-card.red .team-label{color:#ef4444;border:1px solid rgba(239,68,68,.3);background:rgba(239,68,68,.08)}
.team-card.blue .team-label{color:#14b8a6;border:1px solid rgba(20,184,166,.3);background:rgba(20,184,166,.08)}
.team-card h3{margin-top:.5rem;margin-bottom:.8rem;font-size:1.1rem}
.team-card.red h3{color:#f87171}
.team-card.blue h3{color:#5eead4}
.team-card ul{list-style:none;padding:0}
.team-card ul li{
  padding:.45rem 0 .45rem 1.5rem;
  font-size:.88rem;color:#8fa3b8;
  position:relative;
  border-bottom:1px solid rgba(255,255,255,.03);
}
.team-card.red ul li::before{content:'⚔';position:absolute;left:0;font-size:.75rem}
.team-card.blue ul li::before{content:'🛡';position:absolute;left:0;font-size:.75rem}

/* ===== HUNTER SECTION ===== */
.hunter-card{
  background:linear-gradient(135deg,rgba(245,158,11,.05),rgba(20,184,166,.03));
  border:1px solid rgba(245,158,11,.15);
  border-radius:12px;
  padding:2rem;
}
.hunter-card h3{color:#f59e0b;margin-bottom:.8rem}
.hunter-card ul{list-style:none;padding:0}
.hunter-card ul li{
  padding:.5rem 0 .5rem 1.5rem;
  font-size:.88rem;color:#8fa3b8;
  position:relative;
  border-bottom:1px solid rgba(255,255,255,.03);
}
.hunter-card ul li::before{content:'🔍';position:absolute;left:0;font-size:.7rem}

/* ===== CTA ===== */
.cta-box{
  display:inline-block;
  background:linear-gradient(135deg,rgba(20,184,166,.08),rgba(13,148,136,.05));
  border:1px solid rgba(20,184,166,.2);
  border-radius:16px;
  padding:3rem 2.5rem;
  max-width:800px;
  width:100%;
}
.cta-box h2{margin-bottom:1rem;font-size:1.5rem}

/* ===== SUB-TECHNIQUE LINKS ===== */
.subtech-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(220px,1fr));
  gap:1rem;
  margin-top:2rem;
}
.subtech-link{
  display:flex;align-items:center;gap:.6rem;
  padding:.8rem 1rem;
  background:rgba(20,184,166,.04);
  border:1px solid rgba(20,184,166,.15);
  border-radius:10px;
  font-family:'Share Tech Mono',monospace;
  font-size:.78rem;color:#14b8a6;
  transition:all .3s;
  text-decoration:none;
}
.subtech-link:hover{
  background:rgba(20,184,166,.1);
  border-color:rgba(20,184,166,.4);
  box-shadow:0 0 20px rgba(20,184,166,.1);
  color:#5eead4;
  transform:translateY(-2px);
}
.subtech-link .st-num{
  font-size:.9rem;font-weight:bold;
  color:#0d9488;
  min-width:65px;
}
.subtech-link .st-name{color:#8fa3b8}
.subtech-link:hover .st-name{color:#c8d6e5}

/* ===== REFERENCE BADGE ===== */
.ref-links{
  display:flex;flex-wrap:wrap;gap:.6rem;margin-top:1rem;
}
.ref-links a{
  font-size:.72rem;
  padding:.25rem .6rem;
  border:1px solid rgba(20,184,166,.12);
  border-radius:4px;
  color:#5a8a9a;
  transition:all .3s;
}
.ref-links a:hover{
  border-color:rgba(20,184,166,.4);
  color:#14b8a6;
}

/* ===== KEY TERM TABLE ===== */
.term-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin:1.5rem 0}
@media(max-width:700px){.term-grid{grid-template-columns:1fr}}
.term-item{
  padding:1rem;
  background:rgba(20,184,166,.03);
  border:1px solid rgba(20,184,166,.08);
  border-radius:8px;
  transition:border-color .3s;
}
.term-item:hover{border-color:rgba(20,184,166,.2)}
.term-item .term-name{
  font-family:'Share Tech Mono',monospace;
  font-size:.85rem;color:#14b8a6;
  margin-bottom:.3rem;
}
.term-item .term-def{font-size:.82rem;color:#6a8a9a;line-height:1.6}

/* ===== HELPER CLASSES ===== */
.text-teal{color:#14b8a6}
.text-green{color:#10b981}
.text-red{color:#ef4444}
.text-amber{color:#f59e0b}
.text-muted{color:#5a7a8a}
.mt-1{margin-top:.5rem}
.mt-2{margin-top:1rem}
.mt-3{margin-top:1.5rem}
.mb-1{margin-bottom:.5rem}
.mb-2{margin-bottom:1rem}
.text-center{text-align:center}

/* ===== TOOL TAG ===== */
.tool-tag{
  display:inline-block;
  font-family:'Share Tech Mono',monospace;
  font-size:.72rem;
  padding:.15rem .5rem;
  background:rgba(20,184,166,.06);
  border:1px solid rgba(20,184,166,.15);
  border-radius:4px;
  color:#14b8a6;
  margin:.15rem;
}

/* ===== WARNING BOX ===== */
.warn-box{
  background:linear-gradient(135deg,rgba(239,68,68,.06),rgba(245,158,11,.03));
  border:1px solid rgba(239,68,68,.15);
  border-radius:10px;
  padding:1.5rem;
  margin:1.5rem 0;
}
.warn-box h4{color:#ef4444;margin-bottom:.5rem;font-size:.95rem}

/* ===== PULSE RING ===== */
@keyframes pulseRing{
  0%{transform:scale(.8);opacity:1}
  100%{transform:scale(2.5);opacity:0}
}
.pulse-ring{
  position:absolute;
  width:20px;height:20px;
  border-radius:50%;
  border:2px solid #14b8a6;
  animation:pulseRing 2s ease-out infinite;
}

/* ===== AMBIENT GLOW ===== */
@keyframes ambientGlow{
  0%,100%{opacity:.15}
  50%{opacity:.35}
}

/* ===== ICON FLOAT ===== */
@keyframes iconFloat{
  0%,100%{transform:translateY(0)}
  50%{transform:translateY(-6px)}
}

/* ===== METER FILL ===== */
@keyframes meterFill{
  0%{width:0}
  100%{width:var(--fill)}
}

/* ===== DATA SHIMMER ===== */
@keyframes dataShimmer{
  0%{background-position:-200% 0}
  100%{background-position:200% 0}
}

/* ===== GATEWAY PULSE ===== */
@keyframes gatewayPulse{
  0%,100%{box-shadow:0 0 5px rgba(20,184,166,.1)}
  50%{box-shadow:0 0 25px rgba(20,184,166,.3)}
}

/* ===== FADE SLIDE IN ===== */
@keyframes fadeSlideIn{
  0%{opacity:0;transform:translateY(15px)}
  100%{opacity:1;transform:translateY(0)}
}

/* ===== BORDER ROTATE ===== */
@keyframes borderRotate{
  0%{transform:rotate(0deg)}
  100%{transform:rotate(360deg)}
}

/* ===== HEXAGON PULSE ===== */
@keyframes hexPulse{
  0%,100%{opacity:.5;border-color:rgba(20,184,166,.15)}
  50%{opacity:1;border-color:rgba(20,184,166,.4)}
}

/* ===== DETECTION WAVE ===== */
@keyframes detectionWave{
  0%{transform:scale(.8);opacity:.8}
  100%{transform:scale(2);opacity:0}
}

/* ===== DEPLOY FLASH ===== */
@keyframes deployFlash{
  0%,100%{opacity:0}
  50%{opacity:1;box-shadow:0 0 40px rgba(20,184,166,.3)}
}

/* ===== EXECUTION CHAIN ===== */
@keyframes execChain{
  0%{opacity:0;transform:scale(.5)}
  30%{opacity:1;transform:scale(1.1)}
  50%{opacity:1;transform:scale(1)}
  80%{opacity:.5}
  100%{opacity:0;transform:scale(.5)}
}

/* ===== RESPONSIVE ===== */
@media(max-width:968px){
  .serverless-sim{height:400px}
  .world-map{width:280px;height:160px}
  .apps-script-panel,.lambda-panel{width:180px}
}

@media(max-width:768px){
  .stat-grid{grid-template-columns:1fr 1fr}
  .term-grid{grid-template-columns:1fr}
  .subtech-grid{grid-template-columns:1fr}
  .glass-card,.glow-card{padding:1.3rem}
  .serverless-sim{height:360px}
  .world-map{width:240px;height:130px}
  .lambda-flow{flex-wrap:wrap;gap:4px}
  .flow-step{padding:3px 5px}
  .apps-script-panel,.lambda-panel{width:160px;font-size:.4rem}
  .mb-grid{grid-template-columns:1fr}
  .team-grid{grid-template-columns:1fr}
}

@media(max-width:480px){
  .stat-grid{grid-template-columns:1fr}
  .mb-grid{grid-template-columns:1fr}
  .team-grid{grid-template-columns:1fr}
  .serverless-sim{height:320px}
  .status-bar{gap:.5rem}
  .status-indicator{font-size:.6rem;padding:.2rem .5rem}
  .edge-node:nth-child(5),.edge-node:nth-child(6){display:none}
  .edge-label:nth-child(5),.edge-label:nth-child(6){display:none}
  .platform-badges{display:none}
  .flow-step:nth-child(4),.flow-step:nth-child(5){display:none}
  .flow-arrow:nth-child(4),.flow-arrow:nth-child(6),.flow-arrow:nth-child(8){display:none}
}

/* ===== REDUCED MOTION ===== */
@media(prefers-reduced-motion:reduce){
  *,*::before,*::after{
    animation-duration:.01ms!important;
    animation-iteration-count:1!important;
    transition-duration:.01ms!important;
  }
}/* End custom CSS */