.elementor-14929 .elementor-element.elementor-element-56e6d06{--display:flex;}/* Start custom CSS for html, class: .elementor-element-f25584f *//* ============================================================
   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.75;
  overflow-x:hidden;
}
a{color:#f97316;text-decoration:none;transition:color .3s,text-shadow .3s}
a:hover{color:#fdba74;text-shadow:0 0 10px rgba(249,115,22,.45)}
a:focus-visible{outline:2px solid #f97316;outline-offset:3px;border-radius:3px}
h1,h2,h3,h4{font-family:'Inter',sans-serif;color:#f0f0f5;font-weight:700;line-height:1.3}
code,.mono{font-family:'JetBrains Mono','Share Tech Mono',monospace}
img{max-width:100%;display:block}

/* ============================================================
   SCROLLBAR
   ============================================================ */
::-webkit-scrollbar{width:7px}
::-webkit-scrollbar-track{background:#0a0a0f}
::-webkit-scrollbar-thumb{background:linear-gradient(180deg,#f97316,#fdba74);border-radius:4px}

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

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

/* ============================================================
   HERO SECTION
   ============================================================ */
.hero{
  position:relative;min-height:100vh;
  display:flex;align-items:center;justify-content:center;
  padding:5.5rem 1.5rem 3rem;overflow:hidden;
}
.hero-bg{
  position:absolute;inset:0;z-index:0;
  background:
    radial-gradient(ellipse at 25% 35%,rgba(249,115,22,.07) 0%,transparent 55%),
    radial-gradient(ellipse at 75% 65%,rgba(253,186,116,.04) 0%,transparent 55%),
    radial-gradient(ellipse at 50% 90%,rgba(255,60,60,.03) 0%,transparent 45%),
    linear-gradient(180deg,#0a0a0f 0%,#0e0e18 50%,#0a0a0f 100%);
}

/* ============================================================
   GRID BACKGROUND
   ============================================================ */
.grid-bg{
  position:absolute;inset:0;z-index:0;overflow:hidden;opacity:.05;
}
.grid-bg::before{
  content:'';position:absolute;
  top:0;left:0;right:0;bottom:0;
  background-image:
    linear-gradient(rgba(249,115,22,.3) 1px,transparent 1px),
    linear-gradient(90deg,rgba(249,115,22,.3) 1px,transparent 1px);
  background-size:55px 55px;
}

/* ============================================================
   NOISE OVERLAY
   ============================================================ */
.noise-overlay{
  position:fixed;inset:0;z-index:0;pointer-events:none;opacity:.015;
  background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
}

/* ============================================================
   SIMULATION WRAPPER
   ============================================================ */
.sim-wrapper{
  position:relative;z-index:1;
  width:100%;max-width:960px;
  display:flex;flex-direction:column;align-items:center;gap:1.8rem;
}
.hero-title{text-align:center}
.hero-title .tag{
  display:inline-block;
  font-family:'JetBrains Mono',monospace;
  font-size:.7rem;letter-spacing:3px;text-transform:uppercase;
  color:#f97316;
  border:1px solid rgba(249,115,22,.3);
  padding:.28rem 1rem;border-radius:20px;
  margin-bottom:1rem;
  animation:tagPulse 3s ease-in-out infinite;
}
@keyframes tagPulse{
  0%,100%{box-shadow:0 0 8px rgba(249,115,22,.2)}
  50%{box-shadow:0 0 22px rgba(249,115,22,.45)}
}
.hero-title h1{
  font-size:clamp(2rem,5vw,3.4rem);
  background:linear-gradient(135deg,#f97316 0%,#fdba74 40%,#f97316 80%);
  background-size:200% auto;
  -webkit-background-clip:text;-webkit-text-fill-color:transparent;
  background-clip:text;
  animation:heroGradient 4s linear infinite;
  margin-bottom:.5rem;
}
@keyframes heroGradient{
  0%{background-position:0% center}
  100%{background-position:200% center}
}
.hero-title .subtitle{
  font-family:'JetBrains Mono',monospace;
  font-size:.88rem;color:#5a6a7a;
  overflow:hidden;white-space:nowrap;
  max-width:680px;margin:0 auto;
  border-right:2px solid #f97316;
  animation:heroTyping 7s steps(90,end) infinite,heroBlink .6s step-end infinite alternate;
}
@keyframes heroTyping{
  0%{max-width:0}
  45%{max-width:680px}
  85%{max-width:680px}
  100%{max-width:0}
}
@keyframes heroBlink{50%{border-color:transparent}}

/* ============================================================
   WHOIS TERMINAL SIMULATION
   ============================================================ */
.whois-terminal{
  position:relative;
  width:100%;max-width:920px;
  background:rgba(6,8,14,.92);
  border:1px solid rgba(249,115,22,.14);
  border-radius:16px;
  overflow:hidden;
  box-shadow:0 0 60px rgba(249,115,22,.04),0 20px 60px rgba(0,0,0,.5);
}
.whois-terminal::before{
  content:'';position:absolute;inset:0;
  background-image:
    linear-gradient(rgba(249,115,22,.015) 1px,transparent 1px),
    linear-gradient(90deg,rgba(249,115,22,.015) 1px,transparent 1px);
  background-size:35px 35px;
  border-radius:16px;z-index:0;
}

/* Terminal Title Bar */
.terminal-bar{
  position:relative;z-index:3;
  display:flex;align-items:center;gap:.5rem;
  padding:.65rem 1.1rem;
  background:rgba(15,18,28,.95);
  border-bottom:1px solid rgba(249,115,22,.1);
}
.terminal-dot{
  width:11px;height:11px;border-radius:50%;
  flex-shrink:0;
}
.terminal-dot.red{background:#ff5f57;animation:dotGlow 2s ease-in-out infinite}
.terminal-dot.yellow{background:#febc2e;animation:dotGlow 2s ease-in-out infinite .3s}
.terminal-dot.green{background:#28c840;animation:dotGlow 2s ease-in-out infinite .6s}
@keyframes dotGlow{
  0%,100%{box-shadow:0 0 4px rgba(255,255,255,.1)}
  50%{box-shadow:0 0 10px rgba(255,255,255,.25)}
}
.terminal-title{
  font-family:'JetBrains Mono',monospace;
  font-size:.62rem;color:#5a6a7a;
  letter-spacing:1px;
  margin-left:.5rem;
  flex:1;
}
.terminal-status{
  font-family:'JetBrains Mono',monospace;
  font-size:.55rem;color:#f97316;
  letter-spacing:1px;
  animation:statusFlicker 3s ease-in-out infinite;
}
@keyframes statusFlicker{
  0%,100%{opacity:.5}
  50%{opacity:1}
}

/* Scan Line Overlay */
.scan-line{
  position:absolute;top:0;left:0;right:0;
  height:2px;z-index:10;
  background:linear-gradient(90deg,transparent,rgba(249,115,22,.55),rgba(253,186,116,.55),transparent);
  animation:scanDown 5s linear infinite;
}
@keyframes scanDown{
  0%{top:0;opacity:0}
  5%{opacity:1}
  90%{opacity:1}
  100%{top:100%;opacity:0}
}

/* Terminal Content */
.terminal-body{
  position:relative;z-index:2;
  padding:1.3rem 1.5rem;
  min-height:480px;
}

/* Search Bar */
.search-bar-container{
  margin-bottom:1.3rem;
  position:relative;
}
.search-label{
  font-family:'JetBrains Mono',monospace;
  font-size:.58rem;color:#5a6a7a;
  letter-spacing:1.5px;text-transform:uppercase;
  margin-bottom:.4rem;
  display:block;
}
.search-bar{
  display:flex;align-items:center;
  background:rgba(15,18,28,.95);
  border:1px solid rgba(249,115,22,.2);
  border-radius:8px;
  padding:.5rem .8rem;
  overflow:hidden;
  animation:searchBorderPulse 3s ease-in-out infinite;
}
@keyframes searchBorderPulse{
  0%,100%{border-color:rgba(249,115,22,.2);box-shadow:none}
  50%{border-color:rgba(249,115,22,.45);box-shadow:0 0 15px rgba(249,115,22,.08)}
}
.search-prompt{
  font-family:'JetBrains Mono',monospace;
  font-size:.72rem;color:#f97316;
  margin-right:.5rem;
  flex-shrink:0;
}
.search-domain{
  font-family:'JetBrains Mono',monospace;
  font-size:.72rem;color:#fdba74;
  overflow:hidden;white-space:nowrap;
  max-width:0;
  animation:domainType 12s steps(26,end) infinite;
  display:inline-block;
}
@keyframes domainType{
  0%{max-width:0}
  15%{max-width:260px}
  55%{max-width:260px}
  70%{max-width:0}
  100%{max-width:0}
}
.search-cursor{
  font-family:'JetBrains Mono',monospace;
  font-size:.72rem;color:#f97316;
  margin-left:.15rem;
  animation:cursorBlink .7s step-end infinite;
}
@keyframes cursorBlink{50%{opacity:0}}
.search-cursor::after{content:'\2588'}

/* Domain Typed Output */
.domain-output{
  font-family:'JetBrains Mono',monospace;
  font-size:.65rem;color:#5a6a7a;
  margin-bottom:.6rem;
  opacity:0;
  animation:domainOutputFade 12s ease-out infinite;
}
@keyframes domainOutputFade{
  0%,16%{opacity:0}
  18%{opacity:1}
  55%{opacity:1}
  60%{opacity:0}
  100%{opacity:0}
}
.domain-output .domain-val{color:#fdba74}

/* Query Progress */
.query-progress{
  height:3px;background:rgba(249,115,22,.1);
  border-radius:2px;margin-bottom:1.3rem;overflow:hidden;
  opacity:0;
  animation:queryProgressShow 12s ease-out infinite;
}
@keyframes queryProgressShow{
  0%,17%{opacity:0}
  19%{opacity:1}
  58%{opacity:1}
  62%{opacity:0}
  100%{opacity:0}
}
.query-progress-fill{
  height:100%;width:0%;
  background:linear-gradient(90deg,#f97316,#fdba74);
  border-radius:2px;
  animation:queryFill 4s ease-in-out infinite;
}
@keyframes queryFill{
  0%{width:0%}
  30%{width:40%}
  60%{width:75%}
  100%{width:100%}
}

/* WHOIS Record Card */
.record-card{
  background:rgba(12,15,24,.95);
  border:1px solid rgba(249,115,22,.18);
  border-radius:12px;
  overflow:hidden;
  position:relative;
}
.record-card-header{
  display:flex;align-items:center;justify-content:space-between;
  padding:.7rem 1rem;
  background:rgba(249,115,22,.04);
  border-bottom:1px solid rgba(249,115,22,.1);
}
.record-card-header .record-label{
  font-family:'JetBrains Mono',monospace;
  font-size:.58rem;color:#f97316;
  letter-spacing:2px;text-transform:uppercase;
}
.record-card-header .record-status{
  font-family:'JetBrains Mono',monospace;
  font-size:.52rem;
  padding:.12rem .45rem;border-radius:3px;
  animation:statusBadgePulse 2.5s ease-in-out infinite;
}
.record-status.harvested{
  background:rgba(255,60,60,.1);border:1px solid rgba(255,60,60,.3);color:#ff5f57;
}
@keyframes statusBadgePulse{
  0%,100%{box-shadow:none}
  50%{box-shadow:0 0 8px rgba(255,95,87,.3)}
}

/* Record Fields */
.record-fields{
  padding:.8rem 1rem;
}
.record-field{
  display:flex;align-items:flex-start;gap:.7rem;
  padding:.4rem 0;
  border-bottom:1px solid rgba(255,255,255,.025);
  opacity:0;
}
.record-field:nth-child(1){animation:fieldAppear 12s ease-out infinite 2.2s}
.record-field:nth-child(2){animation:fieldAppear 12s ease-out infinite 2.8s}
.record-field:nth-child(3){animation:fieldAppear 12s ease-out infinite 3.4s}
.record-field:nth-child(4){animation:fieldAppear 12s ease-out infinite 4.0s}
.record-field:nth-child(5){animation:fieldAppear 12s ease-out infinite 4.6s}
.record-field:nth-child(6){animation:fieldAppear 12s ease-out infinite 5.2s}
.record-field:nth-child(7){animation:fieldAppear 12s ease-out infinite 5.8s}
.record-field:nth-child(8){animation:fieldAppear 12s ease-out infinite 6.4s}
@keyframes fieldAppear{
  0%,1%{opacity:0;transform:translateY(6px)}
  4%{opacity:1;transform:translateY(0)}
  52%{opacity:1;transform:translateY(0)}
  58%{opacity:0;transform:translateY(-6px)}
  100%{opacity:0}
}
.field-key{
  font-family:'JetBrains Mono',monospace;
  font-size:.56rem;color:#5a6a7a;
  letter-spacing:.5px;
  min-width:110px;
  flex-shrink:0;
  padding-top:.1rem;
}
.field-value{
  font-family:'JetBrains Mono',monospace;
  font-size:.62rem;
  color:#fdba74;
  flex:1;
}
.field-value.masked{
  color:#ff5f57;
  text-decoration:line-through;
  position:relative;
}
.field-value.unmasked{
  color:#00ff88;
  animation:unmaskGlow 1s ease-out;
}
@keyframes unmaskGlow{
  0%{text-shadow:0 0 15px rgba(0,255,136,.6)}
  100%{text-shadow:none}
}

/* Privacy Mask Dissolve */
.privacy-strip{
  position:relative;
  height:32px;
  margin:.6rem 1rem;
  background:rgba(249,115,22,.06);
  border:1px dashed rgba(249,115,22,.15);
  border-radius:6px;
  overflow:hidden;
  opacity:0;
  animation:privacyReveal 12s ease-out infinite;
}
@keyframes privacyReveal{
  0%,3%{opacity:0;height:32px}
  5%{opacity:1;height:32px}
  30%{opacity:1;height:32px;border-style:dashed}
  32%{opacity:1;height:32px;border-style:solid;border-color:rgba(255,95,87,.3)}
  35%{opacity:1;height:32px;border-color:rgba(0,255,136,.3)}
  55%{opacity:1;height:32px}
  60%{opacity:0}
  100%{opacity:0}
}
.privacy-label{
  position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);
  font-family:'JetBrains Mono',monospace;
  font-size:.5rem;color:#f97316;
  letter-spacing:1.5px;text-transform:uppercase;
  white-space:nowrap;
  animation:privacyTextDissolve 12s ease-out infinite;
}
@keyframes privacyTextDissolve{
  0%,5%{opacity:1;color:#f97316;transform:translate(-50%,-50%) scale(1)}
  20%{opacity:1;color:#f97316;transform:translate(-50%,-50%) scale(1)}
  28%{opacity:1;color:#ff5f57;transform:translate(-50%,-50%) scale(1.1)}
  33%{opacity:0;transform:translate(-50%,-50%) scale(1.2)}
  100%{opacity:0}
}
.privacy-revealed-text{
  position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);
  font-family:'JetBrains Mono',monospace;
  font-size:.48rem;color:#00ff88;
  white-space:nowrap;
  opacity:0;
  animation:revealedTextShow 12s ease-out infinite;
}
@keyframes revealedTextShow{
  0%,30%{opacity:0}
  34%{opacity:1}
  56%{opacity:1}
  60%{opacity:0}
  100%{opacity:0}
}

/* Attacker Data Harvesting Panel */
.harvest-panel{
  display:grid;grid-template-columns:1fr 1fr;gap:1rem;
  margin-top:1.3rem;
}
@media(max-width:680px){.harvest-panel{grid-template-columns:1fr}}

.harvest-section{
  background:rgba(15,18,28,.9);
  border:1px solid rgba(249,115,22,.12);
  border-radius:10px;
  padding:.8rem 1rem;
  position:relative;
  overflow:hidden;
}
.harvest-section-title{
  font-family:'JetBrains Mono',monospace;
  font-size:.52rem;color:#5a6a7a;
  letter-spacing:2px;text-transform:uppercase;
  margin-bottom:.6rem;
  padding-bottom:.35rem;
  border-bottom:1px solid rgba(255,255,255,.04);
  display:flex;align-items:center;gap:.4rem;
}
.harvest-dot{
  width:6px;height:6px;border-radius:50%;
  background:#f97316;
  animation:harvestDotPulse 1.5s ease-in-out infinite;
}
@keyframes harvestDotPulse{
  0%,100%{opacity:.3;transform:scale(.7)}
  50%{opacity:1;transform:scale(1.3)}
}

/* Extracted Data Items */
.extracted-item{
  display:flex;align-items:center;gap:.5rem;
  padding:.3rem 0;
  opacity:0;
}
.extracted-item:nth-child(1){animation:extractItem 12s ease-out infinite 6.6s}
.extracted-item:nth-child(2){animation:extractItem 12s ease-out infinite 7.0s}
.extracted-item:nth-child(3){animation:extractItem 12s ease-out infinite 7.4s}
.extracted-item:nth-child(4){animation:extractItem 12s ease-out infinite 7.8s}
@keyframes extractItem{
  0%,1%{opacity:0;transform:translateX(-8px)}
  3%{opacity:1;transform:translateX(0)}
  52%{opacity:1;transform:translateX(0)}
  58%{opacity:0}
  100%{opacity:0}
}
.extract-icon{
  font-size:.75rem;flex-shrink:0;
  animation:extractIconBounce 1.2s ease-in-out infinite;
}
@keyframes extractIconBounce{
  0%,100%{transform:translateY(0)}
  50%{transform:translateY(-2px)}
}
.extract-label{
  font-family:'JetBrains Mono',monospace;
  font-size:.5rem;color:#5a6a7a;
  min-width:65px;flex-shrink:0;
}
.extract-val{
  font-family:'JetBrains Mono',monospace;
  font-size:.55rem;color:#fdba74;
}

/* Related Domain Chain */
.domain-chain{
  display:flex;flex-wrap:wrap;gap:.4rem;
  align-items:center;
}
.chain-node{
  font-family:'JetBrains Mono',monospace;
  font-size:.52rem;
  padding:.2rem .5rem;
  border-radius:4px;
  opacity:0;
}
.chain-node:nth-child(1){animation:chainAppear 12s ease-out infinite 8.0s}
.chain-node:nth-child(2){animation:chainAppear 12s ease-out infinite 8.5s}
.chain-node:nth-child(3){animation:chainAppear 12s ease-out infinite 9.0s}
.chain-node:nth-child(4){animation:chainAppear 12s ease-out infinite 9.5s}
.chain-node:nth-child(5){animation:chainAppear 12s ease-out infinite 10.0s}
@keyframes chainAppear{
  0%,1%{opacity:0;transform:scale(.8)}
  3%{opacity:1;transform:scale(1)}
  52%{opacity:1;transform:scale(1)}
  58%{opacity:0;transform:scale(.9)}
  100%{opacity:0}
}
.chain-node.domain{
  background:rgba(249,115,22,.08);
  border:1px solid rgba(249,115,22,.2);
  color:#f97316;
}
.chain-node.arrow{
  color:#f97316;opacity:0;animation:chainAppear 12s ease-out infinite 8.25s;
}
.chain-node.arrow:nth-child(4){animation-delay:9.25s}
.chain-node.related{
  background:rgba(253,186,116,.06);
  border:1px solid rgba(253,186,116,.15);
  color:#fdba74;
}

/* Expiry Countdown */
.expiry-countdown{
  margin-top:1rem;
  padding:.7rem 1rem;
  background:rgba(255,95,87,.04);
  border:1px solid rgba(255,95,87,.12);
  border-radius:8px;
  opacity:0;
  animation:expiryReveal 12s ease-out infinite;
}
@keyframes expiryReveal{
  0%,9.5%{opacity:0}
  10%{opacity:1}
  56%{opacity:1}
  60%{opacity:0}
  100%{opacity:0}
}
.expiry-label{
  font-family:'JetBrains Mono',monospace;
  font-size:.5rem;color:#ff5f57;
  letter-spacing:1.5px;text-transform:uppercase;
  margin-bottom:.35rem;
}
.expiry-timer{
  font-family:'JetBrains Mono',monospace;
  font-size:1.1rem;color:#ff5f57;
  text-shadow:0 0 12px rgba(255,95,87,.4);
  animation:timerTick 1s step-end infinite;
}
@keyframes timerTick{
  0%,49%{content:''}
  50%,100%{content:''}
}

/* Attacker Silhouette */
.attacker-icon{
  position:absolute;top:.6rem;right:.6rem;
  font-size:1.2rem;
  opacity:0;
  animation:attackerFade 12s ease-out infinite;
  z-index:5;
}
@keyframes attackerFade{
  0%,6%{opacity:0;transform:scale(.8)}
  8%{opacity:1;transform:scale(1)}
  56%{opacity:1;transform:scale(1)}
  60%{opacity:0}
  100%{opacity:0}
}

/* Registrant Card Scan */
.scan-highlight{
  position:absolute;
  left:0;right:0;
  height:28px;
  background:linear-gradient(180deg,rgba(249,115,22,.08),transparent);
  animation:scanHighlight 12s ease-out infinite;
  z-index:4;
  pointer-events:none;
  border-radius:0 0 4px 4px;
}
@keyframes scanHighlight{
  0%,2.2%{top:40px;opacity:0}
  3%{top:40px;opacity:1}
  4%{top:70px;opacity:1}
  5%{top:100px;opacity:1}
  6%{top:130px;opacity:1}
  7%{top:160px;opacity:1}
  8%{top:190px;opacity:1}
  9%{top:220px;opacity:1}
  10%{top:250px;opacity:1}
  11%{top:250px;opacity:0}
  58%{opacity:0}
  100%{opacity:0}
}

/* Floating Data Particles in Terminal */
.data-particles{
  position:absolute;inset:0;pointer-events:none;z-index:1;overflow:hidden;
}
.data-particle{
  position:absolute;width:1px;height:1px;
  background:rgba(249,115,22,.35);border-radius:50%;
  animation:dataFloat linear infinite;
}
.data-particle:nth-child(1){left:8%;animation-duration:9s;animation-delay:0s}
.data-particle:nth-child(2){left:22%;animation-duration:13s;animation-delay:2s}
.data-particle:nth-child(3){left:38%;animation-duration:11s;animation-delay:4s}
.data-particle:nth-child(4){left:52%;animation-duration:15s;animation-delay:1s}
.data-particle:nth-child(5){left:68%;animation-duration:10s;animation-delay:3s}
.data-particle:nth-child(6){left:82%;animation-duration:14s;animation-delay:5s}
.data-particle:nth-child(7){left:93%;animation-duration:12s;animation-delay:0.5s}
.data-particle:nth-child(8){left:45%;animation-duration:16s;animation-delay:6s}
@keyframes dataFloat{
  0%{transform:translateY(100%) translateX(0);opacity:0}
  10%{opacity:.6}
  50%{opacity:.3}
  90%{opacity:.5}
  100%{transform:translateY(-100%) translateX(15px);opacity:0}
}

/* Sim Badge */
.sim-badge{
  position:absolute;top:.6rem;right:3rem;
  font-family:'JetBrains Mono',monospace;
  font-size:.48rem;letter-spacing:1.5px;
  padding:.12rem .45rem;border-radius:3px;
  z-index:6;
  color:#f97316;
  border:1px solid rgba(249,115,22,.3);
  background:rgba(249,115,22,.06);
  animation:simBadgeGlow 2s ease-in-out infinite;
}
@keyframes simBadgeGlow{
  0%,100%{opacity:.6;box-shadow:none}
  50%{opacity:1;box-shadow:0 0 10px rgba(249,115,22,.2)}
}

/* ============================================================
   FLOATING PARTICLES (PAGE-WIDE)
   ============================================================ */
.particles{
  position:fixed;inset:0;z-index:0;pointer-events:none;overflow:hidden;
}
.particle{
  position:absolute;width:2px;height:2px;
  background:rgba(249,115,22,.35);border-radius:50%;
  animation:particleFloat linear infinite;
}
.particle:nth-child(1){left:3%;width:2px;height:2px;animation-duration:14s;animation-delay:0s}
.particle:nth-child(2){left:12%;width:1px;height:1px;animation-duration:19s;animation-delay:2s;background:rgba(253,186,116,.25)}
.particle:nth-child(3){left:24%;width:3px;height:3px;animation-duration:12s;animation-delay:4s}
.particle:nth-child(4){left:36%;width:1px;height:1px;animation-duration:22s;animation-delay:1s;background:rgba(253,186,116,.3)}
.particle:nth-child(5){left:48%;width:2px;height:2px;animation-duration:17s;animation-delay:3s}
.particle:nth-child(6){left:58%;width:1px;height:1px;animation-duration:20s;animation-delay:5s;background:rgba(255,95,87,.2)}
.particle:nth-child(7){left:67%;width:2px;height:2px;animation-duration:15s;animation-delay:2.5s}
.particle:nth-child(8){left:78%;width:1px;height:1px;animation-duration:18s;animation-delay:0.5s;background:rgba(253,186,116,.2)}
.particle:nth-child(9){left:87%;width:3px;height:3px;animation-duration:13s;animation-delay:6s;background:rgba(255,95,87,.18)}
.particle:nth-child(10){left:95%;width:1px;height:1px;animation-duration:21s;animation-delay:1.5s}
.particle:nth-child(11){left:8%;width:2px;height:2px;animation-duration:23s;animation-delay:7s}
.particle:nth-child(12){left:42%;width:1px;height:1px;animation-duration:16s;animation-delay:8s;background:rgba(253,186,116,.15)}
@keyframes particleFloat{
  0%{transform:translateY(100vh) translateX(0);opacity:0}
  10%{opacity:1}
  90%{opacity:1}
  100%{transform:translateY(-10vh) translateX(25px);opacity:0}
}

/* ============================================================
   STAT COUNTER SECTION
   ============================================================ */
.counter-section{
  margin-top:1.8rem;text-align:center;position:relative;z-index:2;
}
.counter-label{
  font-family:'JetBrains Mono',monospace;
  font-size:.65rem;color:#5a6a7a;letter-spacing:2px;
  text-transform:uppercase;margin-bottom:.5rem;
}
.counter-value{
  font-family:'JetBrains Mono',monospace;
  font-size:clamp(1.6rem,3.5vw,2.6rem);
  color:#fdba74;
  text-shadow:0 0 20px rgba(253,186,116,.35),0 0 40px rgba(249,115,22,.15);
  display:inline-block;
}
.counter-suffix{
  font-size:.75rem;color:#f97316;margin-left:.4rem;
  animation:counterSuffixPulse 2s ease-in-out infinite;
}
@keyframes counterSuffixPulse{
  0%,100%{opacity:.6}
  50%{opacity:1}
}

/* ============================================================
   STATUS BAR
   ============================================================ */
.status-bar{
  display:flex;gap:1.2rem;justify-content:center;flex-wrap:wrap;
  margin-top:1.5rem;z-index:2;position:relative;
}
.status-indicator{
  display:flex;align-items:center;gap:.45rem;
  font-family:'JetBrains Mono',monospace;font-size:.68rem;
  color:#5a6a7a;
  padding:.3rem .7rem;
  border:1px solid rgba(249,115,22,.08);
  border-radius:6px;
  background:rgba(249,115,22,.02);
}
.status-dot{width:7px;height:7px;border-radius:50%}
.status-indicator:nth-child(1) .status-dot{background:#ff5f57;box-shadow:0 0 8px rgba(255,95,87,.5);animation:statDot 2s ease-in-out infinite}
.status-indicator:nth-child(2) .status-dot{background:#f97316;box-shadow:0 0 8px rgba(249,115,22,.5);animation:statDot 2s ease-in-out infinite .6s}
.status-indicator:nth-child(3) .status-dot{background:#fdba74;box-shadow:0 0 8px rgba(253,186,116,.5);animation:statDot 2s ease-in-out infinite 1.2s}
.status-indicator:nth-child(4) .status-dot{background:#28c840;box-shadow:0 0 8px rgba(40,200,64,.5);animation:statDot 2s ease-in-out infinite 1.8s}
@keyframes statDot{
  0%,100%{opacity:.3;transform:scale(.8)}
  50%{opacity:1;transform:scale(1.3)}
}

/* ============================================================
   SECTION STYLES
   ============================================================ */
.section{padding:2rem 0;position:relative;z-index:1}
.section-header{text-align:center;margin-bottom:3rem}
.section-header .section-tag{
  display:inline-block;
  font-family:'JetBrains Mono',monospace;
  font-size:.68rem;letter-spacing:2px;text-transform:uppercase;
  color:#f97316;margin-bottom:.5rem;
}
.section-header h2{
  font-size:clamp(1.4rem,3vw,2.1rem);
  background:linear-gradient(90deg,#f0f0f5,#f97316);
  -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,#f97316,#fdba74);border-radius:2px;
}

/* ============================================================
   GLASS CARD
   ============================================================ */
.glass-card{
  background:rgba(14,17,26,.6);
  backdrop-filter:blur(10px);
  border:1px solid rgba(249,115,22,.08);
  border-radius:12px;
  padding:2rem;
  margin-bottom:1.5rem;
  transition:border-color .3s,box-shadow .3s;
}
.glass-card:hover{
  border-color:rgba(249,115,22,.22);
  box-shadow:0 0 35px rgba(249,115,22,.04);
}

/* ============================================================
   GLOW CARD
   ============================================================ */
.glow-card{
  position:relative;
  background:rgba(10,10,15,.88);
  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(249,115,22,.28),transparent 40%,transparent 60%,rgba(253,186,116,.28));
  z-index:-1;
  animation:glowBorder 4s ease-in-out infinite alternate;
}
@keyframes glowBorder{
  0%{opacity:.4}
  100%{opacity:1}
}
.glow-card::after{
  content:'';position:absolute;inset:1px;
  background:rgba(10,10,15,.96);
  border-radius:13px;z-index:-1;
}
.glow-card h3{color:#f97316;margin-bottom:.8rem;font-size:1.1rem}
.glow-card p{margin-bottom:.8rem}

/* ============================================================
   STAT BOX
   ============================================================ */
.stat-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:1.1rem;margin:2rem 0}
.stat-box{
  text-align:center;padding:1.4rem;
  background:rgba(249,115,22,.025);
  border:1px solid rgba(249,115,22,.1);
  border-radius:10px;
  transition:transform .3s,box-shadow .3s;
}
.stat-box:hover{transform:translateY(-4px);box-shadow:0 8px 30px rgba(249,115,22,.06)}
.stat-number{
  font-family:'JetBrains Mono',monospace;
  font-size:1.9rem;color:#f97316;
  text-shadow:0 0 18px rgba(249,115,22,.3);
}
.stat-number.green{color:#28c840;text-shadow:0 0 18px rgba(40,200,64,.3)}
.stat-number.red{color:#ff5f57;text-shadow:0 0 18px rgba(255,95,87,.3)}
.stat-number.amber{color:#fdba74;text-shadow:0 0 18px rgba(253,186,116,.3)}
.stat-label{font-size:.78rem;color:#5a6a7a;margin-top:.3rem}

/* ============================================================
   DEFINITION BOX
   ============================================================ */
.def-box{
  background:linear-gradient(135deg,rgba(249,115,22,.04),rgba(253,186,116,.02));
  border-left:4px solid #f97316;
  padding:1.4rem 1.8rem;
  border-radius:0 10px 10px 0;
  margin:1.5rem 0;
}
.def-box .def-label{
  font-family:'JetBrains Mono',monospace;
  font-size:.72rem;color:#f97316;
  letter-spacing:1px;text-transform:uppercase;
  margin-bottom:.4rem;
}
.def-box p{font-size:.93rem;line-height:1.8}

/* ============================================================
   ANALOGY BOX
   ============================================================ */
.analogy-box{
  background:linear-gradient(135deg,rgba(253,186,116,.04),rgba(249,115,22,.02));
  border-left:4px solid #fdba74;
  padding:1.4rem 1.8rem;
  border-radius:0 10px 10px 0;
  margin:1.5rem 0;
}
.analogy-box .def-label{color:#fdba74}

/* ============================================================
   WARNING BANNER
   ============================================================ */
.warning-banner{
  background:linear-gradient(135deg,rgba(255,95,87,.06),rgba(249,115,22,.03));
  border:1px solid rgba(255,95,87,.18);
  border-radius:10px;
  padding:1.2rem 1.5rem;
  margin-bottom:1.5rem;
  display:flex;align-items:flex-start;gap:.8rem;
}
.warning-icon{
  font-size:1.3rem;flex-shrink:0;
  animation:warnPulse 2s ease-in-out infinite;
}
@keyframes warnPulse{
  0%,100%{opacity:.7;transform:scale(1)}
  50%{opacity:1;transform:scale(1.12)}
}
.warning-banner p{font-size:.9rem;color:#8a9ab0;line-height:1.7}

/* ============================================================
   SCENARIO TIMELINE
   ============================================================ */
.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,#ff5f57,#f97316,#fdba74,rgba(253,186,116,.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:#0a0a0f;border:2px solid #f97316;
  box-shadow:0 0 10px rgba(249,115,22,.3);
}
.timeline-item.bad::before{border-color:#ff5f57;box-shadow:0 0 10px rgba(255,95,87,.3)}
.timeline-item.good::before{border-color:#28c840;box-shadow:0 0 10px rgba(40,200,64,.3)}
.timeline-item h4{color:#f97316;margin-bottom:.35rem;font-size:.98rem}
.timeline-item.bad h4{color:#ff7777}
.timeline-item.good h4{color:#44dd88}
.timeline-item p{font-size:.9rem;color:#8a9ab0}

/* ============================================================
   STEP CARD
   ============================================================ */
.steps-grid{display:flex;flex-direction:column;gap:1.1rem}
.step-card{
  display:flex;gap:1.1rem;align-items:flex-start;
  background:rgba(14,17,26,.5);
  border:1px solid rgba(249,115,22,.06);
  border-radius:10px;
  padding:1.2rem 1.4rem;
  transition:all .3s;
}
.step-card:hover{
  border-color:rgba(249,115,22,.18);
  background:rgba(14,17,26,.7);
  transform:translateX(5px);
}
.step-num{
  flex-shrink:0;
  width:42px;height:42px;
  display:flex;align-items:center;justify-content:center;
  background:linear-gradient(135deg,rgba(249,115,22,.12),rgba(253,186,116,.08));
  border:1px solid rgba(249,115,22,.25);
  border-radius:10px;
  font-family:'JetBrains Mono',monospace;
  font-size:1.05rem;color:#f97316;
}
.step-content h4{color:#f0f0f5;margin-bottom:.35rem;font-size:.98rem}
.step-content p{font-size:.87rem;color:#8a9ab0;margin-bottom:.35rem}
.step-content ul{list-style:none;padding:0}
.step-content ul li{
  font-size:.82rem;color:#6a8a9a;padding:.18rem 0 .18rem 1.1rem;
  position:relative;
}
.step-content ul li::before{
  content:'\203A';position:absolute;left:0;color:#f97316;font-weight:bold;
}

/* ============================================================
   PROTECTION WORD TAGS
   ============================================================ */
.protection-tag{
  display:inline-block;
  font-family:'JetBrains Mono',monospace;
  font-size:.6rem;
  padding:.1rem .4rem;
  border-radius:3px;
  margin:.15rem .1rem;
  letter-spacing:.5px;
}
.protection-tag.prevent{
  background:rgba(40,200,64,.08);
  border:1px solid rgba(40,200,64,.2);
  color:#28c840;
}
.protection-tag.detect{
  background:rgba(249,115,22,.08);
  border:1px solid rgba(249,115,22,.2);
  color:#f97316;
}
.protection-tag.respond{
  background:rgba(96,165,250,.08);
  border:1px solid rgba(96,165,250,.2);
  color:#60a5fa;
}
.protection-tag.monitor{
  background:rgba(253,186,116,.08);
  border:1px solid rgba(253,186,116,.2);
  color:#fdba74;
}

/* ============================================================
   MISTAKES &amp; BEST PRACTICES GRID
   ============================================================ */
.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 #ff5f57}
.mb-card.best{border-left:3px solid #28c840}
.mb-card h3{font-size:.98rem;margin-bottom:1rem}
.mb-card.mistake h3{color:#ff7777}
.mb-card.best h3{color:#44dd88}
.mb-card ul{list-style:none;padding:0}
.mb-card ul li{
  padding:.45rem 0 .45rem 1.4rem;
  font-size:.87rem;color:#8a9ab0;
  position:relative;
  border-bottom:1px solid rgba(255,255,255,.025);
}
.mb-card.mistake ul li::before{content:'\2715';position:absolute;left:0;color:#ff5f57;font-weight:bold;font-size:.85rem}
.mb-card.best ul li::before{content:'\2713';position:absolute;left:0;color:#28c840;font-weight:bold;font-size:.85rem}

/* ============================================================
   RED TEAM / BLUE TEAM
   ============================================================ */
.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:'JetBrains Mono',monospace;
  font-size:.62rem;letter-spacing:2px;text-transform:uppercase;
  padding:.18rem .55rem;border-radius:4px;
}
.team-card.red .team-label{color:#ff5f57;border:1px solid rgba(255,95,87,.3);background:rgba(255,95,87,.06)}
.team-card.blue .team-label{color:#60a5fa;border:1px solid rgba(96,165,250,.3);background:rgba(96,165,250,.06)}
.team-card h3{margin-top:.5rem;margin-bottom:.8rem;font-size:1.05rem}
.team-card.red h3{color:#ff8888}
.team-card.blue h3{color:#88bbff}
.team-card ul{list-style:none;padding:0}
.team-card ul li{
  padding:.4rem 0 .4rem 1.3rem;
  font-size:.87rem;color:#8a9ab0;
  position:relative;
  border-bottom:1px solid rgba(255,255,255,.025);
}
.team-card.red ul li::before{content:'\25B6';position:absolute;left:0;color:#ff5f57;font-size:.6rem}
.team-card.blue ul li::before{content:'\25B6';position:absolute;left:0;color:#60a5fa;font-size:.6rem}

/* ============================================================
   HUNTER CARD
   ============================================================ */
.hunter-card{
  background:linear-gradient(135deg,rgba(249,115,22,.04),rgba(255,95,87,.02));
  border:1px solid rgba(249,115,22,.12);
  border-radius:12px;
  padding:2rem;
}
.hunter-card h3{color:#f97316;margin-bottom:.8rem}

/* ============================================================
   CTA SECTION
   ============================================================ */
.cta-section{text-align:center;padding:4rem 0}
.cta-box{
  display:inline-block;
  background:linear-gradient(135deg,rgba(249,115,22,.06),rgba(253,186,116,.03));
  border:1px solid rgba(249,115,22,.18);
  border-radius:16px;
  padding:3rem 2.5rem;
  max-width:700px;
}
.cta-box h2{margin-bottom:1rem;font-size:1.5rem}
.cta-box p{margin-bottom:1.5rem;color:#8a9ab0}

/* ============================================================
   DATA TABLE
   ============================================================ */
.data-table{
  width:100%;border-collapse:collapse;margin:1rem 0;
  font-family:'JetBrains Mono',monospace;
  font-size:.78rem;
}
.data-table th{
  text-align:left;
  padding:.55rem .75rem;
  background:rgba(249,115,22,.06);
  border:1px solid rgba(249,115,22,.12);
  color:#f97316;
  font-weight:500;
  letter-spacing:.5px;
  font-size:.68rem;
}
.data-table td{
  padding:.45rem .75rem;
  border:1px solid rgba(255,255,255,.04);
  color:#8a9ab0;
}
.data-table tr:nth-child(even){background:rgba(249,115,22,.015)}

/* ============================================================
   REFERENCE LINKS
   ============================================================ */
.ref-links{
  display:flex;flex-wrap:wrap;gap:.55rem;margin-top:1rem;
}
.ref-links a{
  font-size:.7rem;
  padding:.22rem .55rem;
  border:1px solid rgba(249,115,22,.1);
  border-radius:4px;
  color:#5a8a9a;
  transition:all .3s;
}
.ref-links a:hover{
  border-color:rgba(249,115,22,.35);
  color:#f97316;
}

/* ============================================================
   TOOL TAG
   ============================================================ */
.tool-tag{
  display:inline-block;
  font-family:'JetBrains Mono',monospace;
  font-size:.7rem;
  padding:.12rem .45rem;
  background:rgba(249,115,22,.05);
  border:1px solid rgba(249,115,22,.12);
  border-radius:4px;
  color:#f97316;
  margin:.12rem;
}

/* ============================================================
   ACCENT LINE
   ============================================================ */
.accent-line{
  width:100%;height:1px;margin:2rem 0;
  background:linear-gradient(90deg,transparent,rgba(249,115,22,.25),rgba(253,186,116,.25),transparent);
  animation:accentLineShimmer 3s ease-in-out infinite;
}
@keyframes accentLineShimmer{
  0%,100%{opacity:.3}
  50%{opacity:.8}
}

/* ============================================================
   THREAT ICON
   ============================================================ */
.threat-icon{
  display:inline-block;
  animation:threatIconPulse 2s ease-in-out infinite;
}
@keyframes threatIconPulse{
  0%,100%{transform:scale(1);filter:brightness(1)}
  50%{transform:scale(1.12);filter:brightness(1.3)}
}

/* ============================================================
   DATA STREAM MARQUEE
   ============================================================ */
.data-stream{
  position:relative;height:32px;overflow:hidden;
  font-family:'JetBrains Mono',monospace;
  font-size:.52rem;color:rgba(249,115,22,.12);
  line-height:32px;white-space:nowrap;
  margin:1rem 0;
}
.data-stream::before{
  content:'whois registrar registrant organisation email phone address nameserver creation-date expiry-date updated-date dnssec status admin-contact tech-contact domain-id rdap query response';
  position:absolute;white-space:nowrap;
  animation:streamScroll 25s linear infinite;
}
@keyframes streamScroll{
  0%{transform:translateX(100%)}
  100%{transform:translateX(-100%)}
}

/* ============================================================
   RADAR SWEEP (Small)
   ============================================================ */
.radar-mini{
  width:50px;height:50px;border-radius:50%;
  border:1px solid rgba(249,115,22,.15);
  position:relative;
}
.radar-mini::before{
  content:'';position:absolute;
  top:50%;left:50%;
  width:50%;height:1.5px;
  background:linear-gradient(90deg,rgba(249,115,22,.5),transparent);
  transform-origin:left center;
  animation:radarSpin 3s linear infinite;
}
.radar-mini::after{
  content:'';position:absolute;
  top:50%;left:50%;
  width:5px;height:5px;
  background:#f97316;border-radius:50%;
  transform:translate(-50%,-50%);
  box-shadow:0 0 6px rgba(249,115,22,.4);
}
@keyframes radarSpin{
  0%{transform:rotate(0deg)}
  100%{transform:rotate(360deg)}
}

/* ============================================================
   GLITCH TEXT
   ============================================================ */
.glitch-text{
  position:relative;
  animation:glitchEffect 8s step-end infinite;
}
@keyframes glitchEffect{
  0%,93%,95%,97%,100%{text-shadow:none}
  94%{text-shadow:-2px 0 #ff5f57,2px 0 #fdba74}
  96%{text-shadow:2px 0 #ff5f57,-2px 0 #fdba74}
  98%{text-shadow:-1px 1px #ff5f57,1px -1px #fdba74}
}

/* ============================================================
   PULSE RING
   ============================================================ */
.pulse-ring{
  position:absolute;border-radius:50%;
  border:1px solid rgba(249,115,22,.25);
  animation:pulseRingExpand 3s ease-out infinite;
}
@keyframes pulseRingExpand{
  0%{transform:translate(-50%,-50%) scale(1);opacity:.5}
  100%{transform:translate(-50%,-50%) scale(3);opacity:0}
}

/* ============================================================
   ROTATING BORDER
   ============================================================ */
.rotating-border{
  position:relative;overflow:hidden;border-radius:12px;
}
.rotating-border::before{
  content:'';position:absolute;
  width:200%;height:200%;
  top:-50%;left:-50%;
  background:conic-gradient(transparent,rgba(249,115,22,.15),transparent,rgba(253,186,116,.15),transparent);
  animation:rotateBorder 6s linear infinite;
}
@keyframes rotateBorder{
  0%{transform:rotate(0deg)}
  100%{transform:rotate(360deg)}
}
.rotating-border .inner{
  position:relative;z-index:1;
  background:#0a0a0f;border-radius:11px;padding:2rem;
}

/* ============================================================
   EXPIRY TIMER ANIMATION
   ============================================================ */
.expiry-digits{
  display:inline-flex;gap:.15rem;
}
.expiry-digit{
  font-family:'JetBrains Mono',monospace;
  font-size:1.3rem;
  color:#ff5f57;
  text-shadow:0 0 10px rgba(255,95,87,.35);
  animation:digitFlicker 2s step-end infinite;
}
.expiry-digit:nth-child(odd){animation-delay:.5s}
@keyframes digitFlicker{
  0%,48%,52%,100%{opacity:1}
  49%,51%{opacity:.4}
}

/* ============================================================
   RECORD SCAN LINE (within record card)
   ============================================================ */
.record-scan-line{
  position:absolute;left:0;right:0;
  height:2px;
  background:linear-gradient(90deg,transparent,rgba(249,115,22,.5),rgba(253,186,116,.5),transparent);
  z-index:5;pointer-events:none;
  animation:recordScan 3s linear infinite;
}
@keyframes recordScan{
  0%{top:0;opacity:0}
  10%{opacity:.7}
  85%{opacity:.7}
  100%{top:100%;opacity:0}
}

/* ============================================================
   RESPONSIVE
   ============================================================ */
@media(max-width:768px){
  .nav-bar{padding:.45rem .8rem}
  .nav-links{gap:.35rem}
  .nav-links a{font-size:.65rem;padding:.2rem .38rem}
  .glass-card,.glow-card{padding:1.3rem}
  .status-bar{gap:.5rem}
  .stat-grid{grid-template-columns:1fr 1fr}
  .whois-terminal{border-radius:12px}
  .terminal-body{padding:1rem}
  .harvest-panel{grid-template-columns:1fr}
}
@media(max-width:480px){
  .stat-grid{grid-template-columns:1fr}
  .nav-links a{font-size:.6rem}
  section{padding:3.5rem 0}
}

/* ============================================================
   HELPER CLASSES
   ============================================================ */
.text-orange{color:#f97316}
.text-amber{color:#fdba74}
.text-green{color:#28c840}
.text-red{color:#ff5f57}
.text-blue{color:#60a5fa}
.text-muted{color:#5a6a7a}
.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}/* End custom CSS */