/* =====================================================
   VORA ENGINE
   Dedicated Page Styles
   ===================================================== */

:root{
  --vora-bg:#f5f7fb;
  --vora-white:#ffffff;
  --vora-dark:#111827;
  --vora-navy:#172033;
  --vora-blue:#315f9f;
  --vora-blue-light:#7ea6df;
  --vora-text:#172033;
  --vora-muted:#667085;
  --vora-border:#dfe5ef;
}


/* =====================================
   BASE
   ===================================== */

.vora-page{
  margin:0;
  background:var(--vora-bg);
  color:var(--vora-text);
}

.vora-container{
  max-width:1180px;
  margin:0 auto;
  padding:0 20px;
}


/* =====================================
   NAVIGATION
   ===================================== */

.vora-nav{
  position:sticky;
  top:0;
  z-index:1000;

  background:rgba(255,255,255,.93);

  backdrop-filter:blur(14px);

  border-bottom:1px solid #e4e8ef;
}

.vora-nav-inner{
  min-height:76px;

  display:flex;
  align-items:center;
  justify-content:space-between;

  gap:30px;
}

.vora-brand{
  display:flex;
  align-items:center;

  gap:11px;

  color:#172033;

  font-weight:800;
  text-decoration:none;
}

.vora-brand img{
  width:42px;
  height:42px;
  object-fit:contain;
}

.vora-menu{
  display:flex;
  align-items:center;

  gap:25px;
}

.vora-menu a{
  color:#455168;

  text-decoration:none;

  font-size:.92rem;
  font-weight:650;

  transition:color .2s ease;
}

.vora-menu a:hover{
  color:#2563eb;
}


/* =====================================
   HERO
   ===================================== */

.vora-hero{
  position:relative;

  padding:115px 0 110px;

  overflow:hidden;

  background:
    radial-gradient(
      circle at 78% 35%,
      rgba(49,95,159,.14),
      transparent 30%
    ),
    linear-gradient(
      180deg,
      #ffffff,
      #f2f5fa
    );
}

.vora-hero-grid{
  display:grid;

  grid-template-columns:1fr 1fr;

  gap:70px;

  align-items:center;
}

.vora-kicker{
  margin-bottom:14px;

  color:#315f9f;

  font-size:.75rem;
  font-weight:850;

  letter-spacing:.18em;
}

.vora-hero h1{
  margin:0;

  color:#111827;

  font-size:4.3rem;

  line-height:1;

  letter-spacing:-.04em;
}

.vora-hero h2{
  margin:14px 0 22px;

  color:#4e5b70;

  font-size:1.55rem;

  font-weight:650;
}

.vora-hero-lead{
  max-width:650px;

  margin:0;

  color:#657086;

  font-size:1.1rem;

  line-height:1.75;
}


/* =====================================
   HERO BUTTONS
   ===================================== */

.vora-hero-actions{
  display:flex;

  flex-wrap:wrap;

  gap:13px;

  margin-top:32px;
}

.vora-primary-btn,
.vora-secondary-btn{
  display:inline-flex;

  align-items:center;
  justify-content:center;

  padding:13px 22px;

  border-radius:999px;

  text-decoration:none;

  font-weight:750;

  transition:
    transform .2s ease,
    box-shadow .2s ease;
}

.vora-primary-btn{
  background:#172033;

  color:#ffffff;

  box-shadow:
    0 12px 28px rgba(23,32,51,.18);
}

.vora-secondary-btn{
  background:#ffffff;

  color:#172033;

  border:1px solid #d8dee8;
}

.vora-primary-btn:hover,
.vora-secondary-btn:hover{
  transform:translateY(-2px);
}


/* =====================================
   ENGINE VISUAL
   ===================================== */

.vora-engine-visual{
  position:relative;

  min-height:500px;

  display:flex;

  align-items:center;
  justify-content:center;
}


/* CORE */

.vora-core{
  position:relative;

  z-index:10;

  width:240px;
  height:240px;

  display:flex;

  flex-direction:column;

  align-items:center;
  justify-content:center;

  text-align:center;

  border-radius:50%;

  color:#ffffff;

  background:
    radial-gradient(
      circle at 35% 27%,
      #4c75b1,
      #172033 64%
    );

  box-shadow:
    0 30px 80px rgba(23,32,51,.28);

  animation:
    voraCorePulse 4.5s ease-in-out infinite;
}

.vora-core-small{
  color:#b8c6da;

  font-size:.59rem;

  font-weight:850;

  letter-spacing:.13em;
}

.vora-core-name{
  margin:10px 0;

  font-size:3.1rem;

  font-weight:900;

  letter-spacing:.02em;
}

.vora-core-divider{
  width:45px;
  height:1px;

  margin-bottom:10px;

  background:rgba(255,255,255,.35);
}

.vora-core-text{
  color:#aebdd3;

  font-size:.56rem;

  font-weight:750;

  letter-spacing:.1em;
}


/* =====================================
   ROTATING INTELLIGENCE RINGS
   ===================================== */

.vora-ring{
  position:absolute;

  border-radius:50%;

  pointer-events:none;
}

.vora-ring-one{
  width:315px;
  height:315px;

  border:1px solid rgba(49,95,159,.30);

  animation:
    voraRotate 18s linear infinite;
}

.vora-ring-two{
  width:385px;
  height:385px;

  border:1px dashed rgba(49,95,159,.25);

  animation:
    voraRotateReverse 25s linear infinite;
}

.vora-ring-three{
  width:455px;
  height:455px;

  border:1px solid rgba(49,95,159,.12);

  animation:
    voraRotate 34s linear infinite;
}


/* Small indicators on rings */

.vora-ring-one::before,
.vora-ring-two::before,
.vora-ring-three::before{
  content:"";

  position:absolute;

  width:9px;
  height:9px;

  top:-5px;
  left:50%;

  transform:translateX(-50%);

  border-radius:50%;

  background:#315f9f;

  box-shadow:
    0 0 12px rgba(49,95,159,.65);
}


/* =====================================
   FLOATING PARTICLES
   ===================================== */

.vora-particle{
  position:absolute;

  z-index:5;

  width:7px;
  height:7px;

  border-radius:50%;

  background:#4779bd;

  box-shadow:
    0 0 12px rgba(71,121,189,.65);

  animation:
    voraParticleFloat 6s ease-in-out infinite;
}

.particle-one{
  top:90px;
  left:70px;

  animation-duration:5.4s;
}

.particle-two{
  top:125px;
  right:55px;

  animation-duration:7s;
  animation-delay:-2s;
}

.particle-three{
  bottom:110px;
  left:50px;

  animation-duration:6.2s;
  animation-delay:-3s;
}

.particle-four{
  bottom:70px;
  right:80px;

  animation-duration:7.4s;
  animation-delay:-1s;
}


/* =====================================
   ANIMATIONS
   ===================================== */

@keyframes voraRotate{

  from{
    transform:rotate(0deg);
  }

  to{
    transform:rotate(360deg);
  }

}


@keyframes voraRotateReverse{

  from{
    transform:rotate(360deg);
  }

  to{
    transform:rotate(0deg);
  }

}


@keyframes voraCorePulse{

  0%,
  100%{
    box-shadow:
      0 30px 80px rgba(23,32,51,.28),
      0 0 30px rgba(49,95,159,.12);
  }

  50%{
    box-shadow:
      0 35px 95px rgba(23,32,51,.34),
      0 0 65px rgba(49,95,159,.32);
  }

}


@keyframes voraParticleFloat{

  0%,
  100%{
    transform:
      translate(0,0);

    opacity:.55;
  }

  25%{
    transform:
      translate(7px,-12px);

    opacity:1;
  }

  50%{
    transform:
      translate(-5px,-18px);

    opacity:.75;
  }

  75%{
    transform:
      translate(9px,-7px);

    opacity:1;
  }

}


/* =====================================
   RESPONSIVE
   ===================================== */

@media(max-width:900px){

  .vora-hero{
    padding:80px 0;
  }

  .vora-hero-grid{
    grid-template-columns:1fr;

    gap:25px;
  }

  .vora-hero h1{
    font-size:3.4rem;
  }

  .vora-engine-visual{
    min-height:470px;
  }

}


@media(max-width:560px){

  .vora-hero h1{
    font-size:2.8rem;
  }

  .vora-menu{
    display:none;
  }

  .vora-core{
    width:205px;
    height:205px;
  }

  .vora-core-name{
    font-size:2.5rem;
  }

  .vora-ring-one{
    width:270px;
    height:270px;
  }

  .vora-ring-two{
    width:325px;
    height:325px;
  }

  .vora-ring-three{
    width:380px;
    height:380px;
  }

}


/* Accessibility */

@media(prefers-reduced-motion:reduce){

  .vora-core,
  .vora-ring,
  .vora-particle{
    animation:none;
  }

}

/* =====================================================
   HOW VORA ENGINE WORKS
   ===================================================== */

.vora-process-section{
  padding:110px 0;

  background:#ffffff;

  overflow:hidden;
}


/* Heading */

.vora-section-heading{
  max-width:800px;

  margin:0 auto 65px;

  text-align:center;
}

.vora-section-kicker{
  margin-bottom:12px;

  color:#315f9f;

  font-size:.74rem;

  font-weight:850;

  letter-spacing:.18em;
}

.vora-section-heading h2{
  margin:0 0 18px;

  color:#172033;

  font-size:2.65rem;

  line-height:1.2;

  letter-spacing:-.03em;
}

.vora-section-heading p{
  margin:0;

  color:#667085;

  font-size:1.04rem;

  line-height:1.75;
}


/* =====================================================
   PIPELINE
   ===================================================== */

.vora-process-pipeline{
  display:grid;

  grid-template-columns:
    minmax(135px,1fr)
    45px
    minmax(135px,1fr)
    45px
    minmax(135px,1fr)
    45px
    175px
    45px
    minmax(135px,1fr)
    45px
    minmax(135px,1fr);

  align-items:center;

  gap:0;

  margin-top:55px;
}


/* =====================================================
   PROCESS STAGES
   ===================================================== */

.vora-process-stage{
  position:relative;

  min-height:245px;

  padding:23px 18px;

  border:1px solid #e0e6ef;

  border-radius:18px;

  background:#f8faff;

  box-shadow:
    0 12px 30px rgba(17,24,39,.05);

  transition:
    transform .25s ease,
    box-shadow .25s ease,
    border-color .25s ease;
}

.vora-process-stage:hover{
  transform:translateY(-5px);

  border-color:#c9d7eb;

  box-shadow:
    0 18px 40px rgba(17,24,39,.09);
}


.process-stage-number{
  margin-bottom:18px;

  color:#9aa9bf;

  font-size:.66rem;

  font-weight:850;

  letter-spacing:.12em;
}


.process-stage-icon{
  width:48px;
  height:48px;

  display:flex;

  align-items:center;
  justify-content:center;

  margin-bottom:19px;

  border-radius:13px;

  background:#e7edf6;

  color:#365c91;

  font-size:.66rem;

  font-weight:900;

  letter-spacing:.05em;

  transition:
    background .3s ease,
    color .3s ease,
    box-shadow .3s ease;
}


.vora-process-stage:hover .process-stage-icon{
  background:#315f9f;

  color:#ffffff;

  box-shadow:
    0 8px 20px rgba(49,95,159,.22);
}


.vora-process-stage h3{
  margin:0 0 10px;

  color:#172033;

  font-size:1.07rem;
}


.vora-process-stage p{
  margin:0;

  color:#718096;

  font-size:.82rem;

  line-height:1.65;
}


/* Outputs slightly different */

.vora-process-output{
  background:#f3f7fc;
}


/* =====================================================
   VORA PROCESS ENGINE
   ===================================================== */

.vora-process-engine{
  position:relative;

  z-index:5;

  width:175px;
  height:175px;

  display:flex;

  flex-direction:column;

  align-items:center;
  justify-content:center;

  text-align:center;

  border-radius:50%;

  color:#ffffff;

  background:
    radial-gradient(
      circle at 35% 25%,
      #4d76b2,
      #172033 65%
    );

  box-shadow:
    0 25px 60px rgba(23,32,51,.28);

  animation:
    voraProcessPulse 4s ease-in-out infinite;
}


.process-engine-glow{
  position:absolute;

  inset:-20px;

  border-radius:50%;

  border:2px solid rgba(37,99,235,.85);

  box-shadow:
    0 0 12px rgba(37,99,235,.75),
    0 0 28px rgba(37,99,235,.45);

  animation:
    voraProcessRing 3s ease-out infinite;

  pointer-events:none;
}


.process-engine-small{
  position:relative;

  z-index:2;

  color:#b6c5da;

  font-size:.52rem;

  font-weight:850;

  letter-spacing:.12em;
}


.process-engine-name{
  position:relative;

  z-index:2;

  margin:7px 0;

  font-size:2.2rem;

  font-weight:900;
}


.process-engine-line{
  position:relative;

  z-index:2;

  width:35px;

  height:1px;

  margin-bottom:7px;

  background:rgba(255,255,255,.32);
}


.process-engine-text{
  position:relative;

  z-index:2;

  color:#aebed6;

  font-size:.56rem;

  font-weight:800;

  letter-spacing:.13em;
}

/* =====================================================
   PROCESS DATA FLOW
   ===================================================== */

.vora-process-flow{
  position:relative;

  height:30px;

  overflow:visible;
}


.process-flow-line{
  position:absolute;

  top:50%;
  left:0;
  right:0;

  height:2px;

  transform:translateY(-50%);

  background:linear-gradient(
    90deg,
    rgba(49,95,159,.08),
    rgba(49,95,159,.50),
    rgba(49,95,159,.08)
  );

  border-radius:999px;
}


/* Moving information particles */

.vora-process-flow > span{
  position:absolute;

  top:50%;
  left:-4px;

  width:7px;
  height:7px;

  transform:translateY(-50%);

  border-radius:50%;

  background:#3b78c4;

  box-shadow:
    0 0 8px rgba(59,120,196,.85),
    0 0 17px rgba(59,120,196,.45);

  animation:voraPipelineFlow 2.2s linear infinite;
}


.vora-process-flow > span:nth-of-type(2){
  animation-delay:-.72s;
}


.vora-process-flow > span:nth-of-type(3){
  animation-delay:-1.44s;
}


/* Moving data */

@keyframes voraPipelineFlow{

  0%{
    left:-4px;
    opacity:0;
  }

  15%{
    opacity:1;
  }

  85%{
    opacity:1;
  }

  100%{
    left:calc(100% - 3px);
    opacity:0;
  }

}


/* =====================================================
   VORA PROCESSING ANIMATION
   ===================================================== */

@keyframes voraProcessPulse{

  0%,
  100%{
    box-shadow:
      0 25px 60px rgba(23,32,51,.28),
      0 0 20px rgba(49,95,159,.12);
  }

  50%{
    box-shadow:
      0 30px 75px rgba(23,32,51,.36),
      0 0 55px rgba(49,95,159,.42);
  }

}


/* Expanding intelligence pulse */

@keyframes voraProcessRing{

  0%{
    transform:scale(.92);

    opacity:1;

    border-color:rgba(37,99,235,.95);

    box-shadow:
      0 0 10px rgba(37,99,235,.85),
      0 0 25px rgba(37,99,235,.60);
  }

  50%{
    opacity:.75;

    border-color:rgba(59,130,246,.80);

    box-shadow:
      0 0 18px rgba(37,99,235,.75),
      0 0 45px rgba(59,130,246,.50);
  }

  100%{
    transform:scale(1.35);

    opacity:0;

    border-color:rgba(96,165,250,.25);

    box-shadow:
      0 0 30px rgba(37,99,235,.25),
      0 0 65px rgba(59,130,246,.10);
  }

}

/* =====================================================
   PROCESS SUMMARY
   ===================================================== */

.vora-process-summary{
  display:flex;

  align-items:center;
  justify-content:center;

  flex-wrap:wrap;

  gap:14px;

  margin-top:55px;

  color:#43516a;

  font-size:.75rem;

  font-weight:850;

  letter-spacing:.1em;
}


.process-summary-arrow{
  color:#9ba8ba;

  font-size:1rem;
}

/* =====================================================
   PROCESS RESPONSIVE
   ===================================================== */

@media(max-width:1100px){

  .vora-process-pipeline{
    grid-template-columns:
      1fr
      38px
      1fr
      38px
      1fr;

    row-gap:35px;
  }


  /* Hide the large horizontal engine arrangement
     and allow elements to wrap naturally */

  .vora-process-engine{
    grid-column:2 / 5;

    justify-self:center;

    margin:20px 0;
  }

}


@media(max-width:800px){

  .vora-process-pipeline{
    display:flex;

    flex-direction:column;

    gap:18px;
  }


  .vora-process-stage{
    width:100%;

    min-height:auto;
  }


  .vora-process-engine{
    margin:25px auto;
  }


  /* Horizontal flows don't make sense
     when stacked vertically */

  .vora-process-flow{
    width:2px;
    height:40px;

    margin:0 auto;

    background:#c9d5e6;
  }


  .process-flow-line,
  .vora-process-flow > span{
    display:none;
  }

}


@media(max-width:560px){

  .vora-process-section{
    padding:75px 0;
  }


  .vora-section-heading h2{
    font-size:2rem;
  }


  .vora-process-summary{
    gap:8px;

    font-size:.64rem;
  }

}

@media(prefers-reduced-motion:reduce){

  .vora-process-flow > span,
  .vora-process-engine,
  .process-engine-glow{
    animation:none;
  }

}


/* =====================================================
   PATTERN & ANOMALY DETECTION
   ===================================================== */

.vora-detection-section{
  padding:110px 0;

  background:#f3f6fa;

  overflow:hidden;
}


.vora-detection-grid{
  display:grid;

  grid-template-columns:.85fr 1.15fr;

  gap:80px;

  align-items:center;
}


/* =====================================
   LEFT CONTENT
   ===================================== */

.vora-detection-content h2{
  max-width:520px;

  margin:0 0 20px;

  color:#172033;

  font-size:2.7rem;

  line-height:1.15;

  letter-spacing:-.03em;
}


.vora-detection-lead{
  max-width:570px;

  margin:0;

  color:#667085;

  font-size:1.02rem;

  line-height:1.8;
}


.vora-detection-points{
  display:flex;

  flex-direction:column;

  gap:22px;

  margin-top:35px;
}


.detection-point{
  display:flex;

  gap:15px;

  align-items:flex-start;
}


.detection-point > span{
  flex:0 0 10px;

  width:10px;
  height:10px;

  margin-top:7px;

  border-radius:50%;

  background:#315f9f;

  box-shadow:
    0 0 0 6px rgba(49,95,159,.08);
}


.detection-point strong{
  display:block;

  margin-bottom:3px;

  color:#172033;

  font-size:.95rem;
}


.detection-point p{
  margin:0;

  color:#7b879a;

  font-size:.85rem;

  line-height:1.6;
}


/* =====================================
   DETECTION VISUAL
   ===================================== */

.vora-detection-visual{
  position:relative;

  min-height:500px;

  overflow:hidden;

  border:1px solid #dce4ef;

  border-radius:28px;

  background:
    radial-gradient(
      circle at 45% 45%,
      rgba(49,95,159,.11),
      transparent 35%
    ),
    linear-gradient(
      rgba(49,95,159,.035) 1px,
      transparent 1px
    ),
    linear-gradient(
      90deg,
      rgba(49,95,159,.035) 1px,
      transparent 1px
    ),
    #ffffff;

  background-size:
    auto,
    34px 34px,
    34px 34px,
    auto;

  box-shadow:
    0 25px 60px rgba(17,24,39,.08);
}


.detection-visual-label{
  position:absolute;

  top:24px;
  left:27px;

  z-index:10;

  color:#7d8da6;

  font-size:.65rem;

  font-weight:850;

  letter-spacing:.16em;
}


/* =====================================
   NORMAL DATA NODES
   ===================================== */

.detection-node{
  position:absolute;

  z-index:4;

  width:11px;
  height:11px;

  border-radius:50%;

  background:#aebbcf;

  box-shadow:
    0 0 0 5px rgba(174,187,207,.12);

  animation:
    detectionNodeFloat 5s ease-in-out infinite;
}


.node-1{
  left:12%;
  top:32%;
}

.node-2{
  left:24%;
  top:68%;

  animation-delay:-2s;
}

.node-3{
  left:42%;
  top:20%;

  animation-delay:-1s;
}

.node-4{
  left:56%;
  top:73%;

  animation-delay:-3s;
}

.node-5{
  left:74%;
  top:24%;

  animation-delay:-1.7s;
}

.node-6{
  left:84%;
  top:58%;

  animation-delay:-2.8s;
}

.node-7{
  left:34%;
  top:83%;

  animation-delay:-.8s;
}

.node-8{
  left:69%;
  top:47%;

  animation-delay:-3.6s;
}


/* =====================================
   DETECTED PATTERN NODES
   ===================================== */

.detected-node{
  width:15px;
  height:15px;

  z-index:6;

  background:#2563eb;

  box-shadow:
    0 0 0 6px rgba(37,99,235,.10),
    0 0 18px rgba(37,99,235,.45);

  animation:
    detectedNodePulse 3.5s ease-in-out infinite;
}


.detected-node span{
  position:absolute;

  inset:-9px;

  border:1px solid rgba(37,99,235,.45);

  border-radius:50%;

  animation:
    detectedNodeRing 2.5s ease-out infinite;
}


.detected-1{
  left:20%;
  top:23%;
}

.detected-2{
  left:43%;
  top:38%;

  animation-delay:-.5s;
}

.detected-3{
  left:65%;
  top:25%;

  animation-delay:-1s;
}

.detected-4{
  left:56%;
  top:64%;

  animation-delay:-1.5s;
}

.detected-5{
  left:80%;
  top:74%;

  animation-delay:-2s;
}

/* =====================================
   DETECTED NETWORK
   ===================================== */

.detection-network{
  position:absolute;

  inset:0;

  z-index:3;

  width:100%;
  height:100%;

  pointer-events:none;
}


.network-line{
  stroke:#2563eb;

  stroke-width:2;

  stroke-linecap:round;

  stroke-dasharray:8 8;

  opacity:.15;

  animation:
    networkDetection 6s ease-in-out infinite;
}


.line-2{
  animation-delay:-.4s;
}

.line-3{
  animation-delay:-.8s;
}

.line-4{
  animation-delay:-1.2s;
}


@keyframes networkDetection{

  0%,
  18%{
    opacity:.08;

    stroke-dashoffset:50;
  }

  40%,
  75%{
    opacity:.8;

    stroke-dashoffset:0;
  }

  100%{
    opacity:.08;

    stroke-dashoffset:-50;
  }

}

/* =====================================
   INTELLIGENCE SCANNER
   ===================================== */

.detection-scanner{
  position:absolute;

  z-index:2;

  top:0;
  bottom:0;

  width:110px;

  left:-120px;

  background:
    linear-gradient(
      90deg,
      transparent,
      rgba(59,130,246,.05),
      rgba(59,130,246,.16),
      rgba(59,130,246,.05),
      transparent
    );

  filter:blur(2px);

  animation:
    voraScanner 6s ease-in-out infinite;
}


.detection-scanner::after{
  content:"";

  position:absolute;

  top:0;
  right:48%;

  width:1px;
  height:100%;

  background:
    linear-gradient(
      transparent,
      rgba(37,99,235,.65),
      transparent
    );
}


@keyframes voraScanner{

  0%{
    left:-120px;
    opacity:0;
  }

  10%{
    opacity:1;
  }

  70%{
    opacity:1;
  }

  85%,
  100%{
    left:100%;
    opacity:0;
  }

}

/* =====================================
   PATTERN DETECTED STATUS
   ===================================== */

.detection-status{
  position:absolute;

  z-index:12;

  left:28px;
  bottom:27px;

  display:flex;

  align-items:center;

  gap:11px;

  padding:12px 15px;

  border:1px solid #d8e2ef;

  border-radius:13px;

  background:rgba(255,255,255,.92);

  backdrop-filter:blur(10px);

  box-shadow:
    0 12px 28px rgba(17,24,39,.08);

  animation:
    detectionStatus 6s ease-in-out infinite;
}


.detection-status-dot{
  width:10px;
  height:10px;

  border-radius:50%;

  background:#2563eb;

  box-shadow:
    0 0 12px rgba(37,99,235,.7);
}


.detection-status small{
  display:block;

  color:#8a98ad;

  font-size:.55rem;

  font-weight:800;

  letter-spacing:.12em;
}


.detection-status strong{
  display:block;

  margin-top:1px;

  color:#172033;

  font-size:.72rem;

  letter-spacing:.05em;
}


@keyframes detectionStatus{

  0%,
  25%{
    opacity:.25;
    transform:translateY(4px);
  }

  45%,
  80%{
    opacity:1;
    transform:translateY(0);
  }

  100%{
    opacity:.25;
    transform:translateY(4px);
  }

}

/* =====================================
   ANOMALY DETECTION
   ===================================== */

.detection-anomaly{
  position:absolute;

  z-index:10;

  right:12%;
  top:45%;

  width:54px;
  height:54px;

  display:flex;

  align-items:center;
  justify-content:center;
}


.anomaly-core{
  position:relative;

  z-index:3;

  width:31px;
  height:31px;

  display:flex;

  align-items:center;
  justify-content:center;

  border-radius:50%;

  background:#d97706;

  color:#ffffff;

  font-size:.8rem;

  font-weight:900;

  box-shadow:
    0 0 18px rgba(217,119,6,.35);

  animation:
    anomalyCore 6s ease-in-out infinite;
}


.anomaly-pulse{
  position:absolute;

  inset:3px;

  border:2px solid rgba(217,119,6,.65);

  border-radius:50%;

  animation:
    anomalyPulse 2s ease-out infinite;
}


.anomaly-label{
  position:absolute;

  top:60px;

  color:#b46b0b;

  font-size:.57rem;

  font-weight:850;

  letter-spacing:.12em;

  opacity:.8;
}


@keyframes anomalyPulse{

  0%{
    transform:scale(.7);
    opacity:1;
  }

  100%{
    transform:scale(2);
    opacity:0;
  }

}


@keyframes anomalyCore{

  0%,
  28%{
    opacity:.25;
  }

  45%,
  85%{
    opacity:1;
  }

  100%{
    opacity:.25;
  }

}

/* =====================================
   DETECTION NODE ANIMATIONS
   ===================================== */

@keyframes detectionNodeFloat{

  0%,
  100%{
    transform:translate(0,0);
  }

  50%{
    transform:translate(4px,-7px);
  }

}


@keyframes detectedNodePulse{

  0%,
  100%{
    box-shadow:
      0 0 0 6px rgba(37,99,235,.08),
      0 0 12px rgba(37,99,235,.30);
  }

  50%{
    box-shadow:
      0 0 0 9px rgba(37,99,235,.13),
      0 0 28px rgba(37,99,235,.70);
  }

}


@keyframes detectedNodeRing{

  0%{
    transform:scale(.65);
    opacity:.8;
  }

  100%{
    transform:scale(1.8);
    opacity:0;
  }

}

/* =====================================
   DETECTION RESPONSIVE
   ===================================== */

@media(max-width:900px){

  .vora-detection-grid{
    grid-template-columns:1fr;
    gap:45px;
  }

  .vora-detection-content h2{
    font-size:2.2rem;
  }

}


@media(max-width:560px){

  .vora-detection-section{
    padding:75px 0;
  }

  .vora-detection-content h2{
    font-size:2rem;
  }

  .vora-detection-visual{
    min-height:420px;
    border-radius:22px;
  }

  .detection-visual-label{
    top:20px;
    left:20px;
    font-size:.58rem;
  }

  .detection-status{
    left:18px;
    bottom:18px;

    padding:10px 12px;
  }

  .detection-anomaly{
    right:8%;
  }

  .detection-node{
    transform:scale(.9);
  }

}


/* =====================================
   REDUCED MOTION ACCESSIBILITY
   ===================================== */

@media(prefers-reduced-motion:reduce){

  .detection-node,
  .detected-node,
  .detected-node span,
  .network-line,
  .detection-scanner,
  .detection-status,
  .anomaly-core,
  .anomaly-pulse{
    animation:none;
  }

  .network-line{
    opacity:.55;
  }

  .detection-status{
    opacity:1;
    transform:none;
  }

  .anomaly-core{
    opacity:1;
  }

}


/* =====================================================
   PREDICTIVE INTELLIGENCE
   ===================================================== */

.vora-prediction-section{
  padding:110px 0;
  background:#ffffff;
  overflow:hidden;
}

.vora-prediction-grid{
  display:grid;
  grid-template-columns:1.15fr .85fr;
  gap:80px;
  align-items:center;
}


/* =====================================
   VISUAL
   ===================================== */

.vora-prediction-visual{
  position:relative;
}

.prediction-panel-label{
  margin-bottom:16px;

  color:#7d8da6;

  font-size:.66rem;
  font-weight:850;

  letter-spacing:.16em;
}

.prediction-chart{
  position:relative;

  min-height:460px;

  padding:25px;

  border:1px solid #dce4ef;

  border-radius:28px;

  background:
    radial-gradient(
      circle at 75% 25%,
      rgba(37,99,235,.08),
      transparent 32%
    ),
    #f8faff;

  box-shadow:
    0 25px 60px rgba(17,24,39,.08);

  overflow:hidden;
}

.prediction-chart svg{
  position:absolute;

  inset:25px;

  width:calc(100% - 50px);
  height:calc(100% - 50px);
}


/* Grid */

.prediction-axis{
  stroke:#aeb9c9;
  stroke-width:1.3;
}

.prediction-grid-line{
  stroke:#dfe6ef;
  stroke-width:1;
}


/* Historical line */

.prediction-history{
  fill:none;

  stroke:#455a78;
  stroke-width:4;

  stroke-linecap:round;
}


/* Forecast confidence area */

.prediction-confidence{
  fill:rgba(37,99,235,.08);

  opacity:0;

  animation:
    predictionConfidenceReveal 8s ease-in-out infinite;
}


/* Forecast */

.prediction-forecast{
  fill:none;

  stroke:#2563eb;
  stroke-width:4;

  stroke-linecap:round;

  stroke-dasharray:10 10;

  stroke-dashoffset:220;

  animation:
    predictionDraw 8s ease-in-out infinite;
}


/* Points */

.prediction-current-point{
  fill:#172033;

  stroke:#ffffff;
  stroke-width:3;
}

.prediction-future-point{
  fill:#2563eb;

  stroke:#ffffff;
  stroke-width:3;

  opacity:0;

  animation:
    predictionFuturePoint 8s ease-in-out infinite;
}


/* Labels */

.prediction-now-label,
.prediction-future-label{
  position:absolute;

  bottom:45px;

  color:#8090a7;

  font-size:.6rem;

  font-weight:850;

  letter-spacing:.13em;
}

.prediction-now-label{
  left:67%;
}

.prediction-future-label{
  right:7%;
  color:#2563eb;
}


/* Insight box */

.prediction-insight-card{
  position:absolute;

  top:48px;
  right:35px;

  max-width:215px;

  padding:15px 17px;

  border:1px solid #d7e2f2;

  border-radius:14px;

  background:rgba(255,255,255,.94);

  backdrop-filter:blur(8px);

  box-shadow:
    0 13px 30px rgba(17,24,39,.08);

  opacity:0;

  transform:translateY(8px);

  animation:
    predictionInsightReveal 8s ease-in-out infinite;
}

.prediction-insight-status{
  margin-bottom:5px;

  color:#2563eb;

  font-size:.54rem;

  font-weight:850;

  letter-spacing:.12em;
}

.prediction-insight-card strong{
  display:block;

  color:#172033;

  font-size:.8rem;
}

.prediction-insight-card span{
  display:block;

  margin-top:4px;

  color:#78869a;

  font-size:.67rem;

  line-height:1.5;
}


/* =====================================
   RIGHT CONTENT
   ===================================== */

.vora-prediction-content h2{
  margin:0 0 20px;

  color:#172033;

  font-size:2.65rem;

  line-height:1.15;

  letter-spacing:-.03em;
}

.vora-prediction-lead{
  margin:0;

  color:#667085;

  font-size:1.02rem;

  line-height:1.8;
}

.vora-prediction-points{
  display:flex;
  flex-direction:column;

  gap:22px;

  margin-top:34px;
}

.prediction-point{
  display:flex;

  gap:16px;

  align-items:flex-start;
}

.prediction-point > span{
  flex:0 0 38px;

  width:38px;
  height:38px;

  display:flex;

  align-items:center;
  justify-content:center;

  border-radius:50%;

  background:#e9eff8;

  color:#315f9f;

  font-size:.65rem;

  font-weight:850;
}

.prediction-point strong{
  display:block;

  margin-bottom:4px;

  color:#172033;

  font-size:.95rem;
}

.prediction-point p{
  margin:0;

  color:#7a879a;

  font-size:.85rem;

  line-height:1.6;
}

/* =====================================================
   PREDICTION ANIMATIONS
   ===================================================== */

@keyframes predictionDraw{

  0%,
  20%{
    stroke-dashoffset:220;
    opacity:.2;
  }

  45%{
    stroke-dashoffset:0;
    opacity:1;
  }

  80%{
    stroke-dashoffset:0;
    opacity:1;
  }

  100%{
    stroke-dashoffset:220;
    opacity:.15;
  }

}


@keyframes predictionConfidenceReveal{

  0%,
  25%{
    opacity:0;
  }

  45%,
  80%{
    opacity:1;
  }

  100%{
    opacity:0;
  }

}


@keyframes predictionFuturePoint{

  0%,
  35%{
    opacity:0;

    transform:scale(.7);
  }

  50%,
  80%{
    opacity:1;

    transform:scale(1);
  }

  100%{
    opacity:0;

    transform:scale(.7);
  }

}


@keyframes predictionInsightReveal{

  0%,
  40%{
    opacity:0;

    transform:translateY(8px);
  }

  55%,
  82%{
    opacity:1;

    transform:translateY(0);
  }

  100%{
    opacity:0;

    transform:translateY(8px);
  }

}

/* =====================================================
   PREDICTION RESPONSIVE
   ===================================================== */

@media(max-width:900px){

  .vora-prediction-grid{
    grid-template-columns:1fr;

    gap:50px;
  }

  .vora-prediction-content h2{
    font-size:2.2rem;
  }

}


@media(max-width:560px){

  .vora-prediction-section{
    padding:75px 0;
  }

  .prediction-chart{
    min-height:360px;

    padding:15px;
  }

  .prediction-chart svg{
    inset:15px;

    width:calc(100% - 30px);
    height:calc(100% - 30px);
  }

  .prediction-insight-card{
    top:30px;
    right:22px;

    max-width:175px;
  }

  .prediction-now-label,
  .prediction-future-label{
    display:none;
  }

}

@media(prefers-reduced-motion:reduce){

  .prediction-forecast,
  .prediction-confidence,
  .prediction-future-point,
  .prediction-insight-card{
    animation:none;

    opacity:1;
  }

}


/* =====================================================
   CONTEXTUAL REASONING & DECISION INTELLIGENCE
   ===================================================== */

.vora-reasoning-section{
  padding:110px 0;

  background:#f4f7fb;

  overflow:hidden;
}

.vora-reasoning-visual{
  display:grid;

  grid-template-columns:1fr 260px 1fr;

  gap:38px;

  align-items:center;

  margin-top:60px;
}


/* Labels */

.reasoning-label{
  margin-bottom:12px;

  color:#8290a5;

  font-size:.66rem;

  font-weight:850;

  letter-spacing:.16em;
}


/* =====================================================
   INPUTS
   ===================================================== */

.reasoning-inputs,
.reasoning-outputs{
  display:flex;

  flex-direction:column;

  gap:13px;
}

.reasoning-input{
  display:flex;

  align-items:center;

  gap:13px;

  padding:15px 17px;

  border:1px solid #dfe5ee;

  border-radius:15px;

  background:#ffffff;

  box-shadow:
    0 10px 28px rgba(17,24,39,.05);

  animation:
    reasoningFloat 6s ease-in-out infinite;
}

.reasoning-input:nth-of-type(3){
  animation-delay:-1s;
}

.reasoning-input:nth-of-type(4){
  animation-delay:-2s;
}

.reasoning-input:nth-of-type(5){
  animation-delay:-3s;
}

.reasoning-input:nth-of-type(6){
  animation-delay:-4s;
}


.reasoning-input > span{
  flex:0 0 38px;

  width:38px;
  height:38px;

  display:flex;

  align-items:center;
  justify-content:center;

  border-radius:11px;

  background:#eaf0f8;

  color:#315f9f;

  font-size:.62rem;

  font-weight:850;
}


.reasoning-input strong,
.reasoning-output strong{
  display:block;

  color:#172033;

  font-size:.9rem;
}


.reasoning-input small,
.reasoning-output small{
  display:block;

  margin-top:2px;

  color:#8a96aa;

  font-size:.72rem;
}


/* =====================================================
   ENGINE CORE
   ===================================================== */

.reasoning-engine-area{
  position:relative;

  min-height:390px;

  display:flex;

  align-items:center;
  justify-content:center;
}


.reasoning-core{
  position:relative;

  z-index:5;

  width:220px;
  height:220px;

  display:flex;

  flex-direction:column;

  align-items:center;
  justify-content:center;

  text-align:center;

  border-radius:50%;

  color:#ffffff;

  background:
    radial-gradient(
      circle at 35% 25%,
      #4d76b2,
      #172033 65%
    );

  box-shadow:
    0 30px 75px rgba(23,32,51,.28);

  animation:
    reasoningCorePulse 4.5s ease-in-out infinite;
}


.reasoning-core-small{
  color:#b8c6da;

  font-size:.55rem;

  font-weight:850;

  letter-spacing:.13em;
}


.reasoning-core-name{
  margin:9px 0;

  font-size:2.6rem;

  font-weight:900;
}


.reasoning-core-divider{
  width:40px;
  height:1px;

  margin-bottom:9px;

  background:rgba(255,255,255,.34);
}


.reasoning-core-text{
  color:#aebdd3;

  font-size:.54rem;

  font-weight:750;

  letter-spacing:.1em;
}


/* =====================================================
   OUTPUTS
   ===================================================== */

.reasoning-output{
  display:flex;

  align-items:center;

  gap:13px;

  padding:15px 17px;

  border:1px solid #dbe4f0;

  border-radius:15px;

  background:#ffffff;

  box-shadow:
    0 10px 28px rgba(17,24,39,.05);

  animation:
    reasoningOutputReveal 6s ease-in-out infinite;
}

.reasoning-output:nth-of-type(3){
  animation-delay:-1s;
}

.reasoning-output:nth-of-type(4){
  animation-delay:-2s;
}

.reasoning-output:nth-of-type(5){
  animation-delay:-3s;
}

.reasoning-output:nth-of-type(6){
  animation-delay:-4s;
}


.reasoning-output-dot{
  flex:0 0 11px;

  width:11px;
  height:11px;

  border-radius:50%;

  background:#2563eb;

  box-shadow:
    0 0 0 6px rgba(37,99,235,.08),
    0 0 14px rgba(37,99,235,.35);
}

/* =====================================================
   REASONING DATA FLOW
   ===================================================== */

.reasoning-flow{
  position:absolute;

  top:50%;

  width:105px;
  height:3px;

  overflow:visible;

  border-radius:999px;

  background:linear-gradient(
    90deg,
    rgba(37,99,235,.05),
    rgba(37,99,235,.55),
    rgba(37,99,235,.05)
  );
}


.reasoning-flow-left{
  right:calc(50% + 100px);

  transform:translateY(-50%);
}


.reasoning-flow-right{
  left:calc(50% + 100px);

  transform:translateY(-50%);
}


.reasoning-flow span{
  position:absolute;

  top:50%;
  left:-7px;

  width:8px;
  height:8px;

  border-radius:50%;

  background:#2563eb;

  box-shadow:
    0 0 10px rgba(37,99,235,.8),
    0 0 20px rgba(37,99,235,.45);

  transform:translateY(-50%);

  animation:
    reasoningFlow 2.5s linear infinite;
}


.reasoning-flow span:nth-child(2){
  animation-delay:-.8s;
}


.reasoning-flow span:nth-child(3){
  animation-delay:-1.6s;
}


/* =====================================================
   REASONING ANIMATIONS
   ===================================================== */

@keyframes reasoningFlow{

  0%{
    left:-7px;
    opacity:0;
  }

  15%{
    opacity:1;
  }

  85%{
    opacity:1;
  }

  100%{
    left:100%;
    opacity:0;
  }

}


@keyframes reasoningFloat{

  0%,
  100%{
    transform:translateY(0);
  }

  50%{
    transform:translateY(-5px);
  }

}


@keyframes reasoningCorePulse{

  0%,
  100%{
    box-shadow:
      0 30px 75px rgba(23,32,51,.28),
      0 0 25px rgba(49,95,159,.12);
  }

  50%{
    box-shadow:
      0 35px 90px rgba(23,32,51,.34),
      0 0 60px rgba(49,95,159,.40);
  }

}


@keyframes reasoningOutputReveal{

  0%,
  100%{
    opacity:.72;
    transform:translateX(0);
  }

  50%{
    opacity:1;
    transform:translateX(-4px);
  }

}


/* =====================================================
   REASONING RESPONSIVE
   ===================================================== */

@media(max-width:950px){

  .vora-reasoning-visual{
    grid-template-columns:1fr;

    gap:35px;
  }

  .reasoning-label{
    text-align:center;
  }

  .reasoning-engine-area{
    min-height:270px;
  }

  .reasoning-flow{
    display:none;
  }

}


@media(max-width:560px){

  .vora-reasoning-section{
    padding:75px 0;
  }

  .reasoning-core{
    width:195px;
    height:195px;
  }

  .reasoning-core-name{
    font-size:2.2rem;
  }

}


@media(prefers-reduced-motion:reduce){

  .reasoning-input,
  .reasoning-output,
  .reasoning-core,
  .reasoning-flow span{
    animation:none;
  }

}


/* =====================================================
   VORA + XAVORA TECHNOLOGY ARCHITECTURE
   ===================================================== */

.vora-architecture-section{
  padding:110px 0;

  background:#ffffff;

  overflow:hidden;
}


.vora-architecture-wrapper{
  position:relative;

  max-width:820px;

  margin:60px auto 0;
}


/* =====================================================
   STACK LAYERS
   ===================================================== */

.architecture-stack-layer{
  position:relative;

  z-index:3;

  padding:32px 38px;

  border-radius:22px;

  text-align:center;

  box-shadow:
    0 16px 40px rgba(17,24,39,.07);
}


.architecture-layer-label{
  margin-bottom:8px;

  color:#8390a5;

  font-size:.63rem;

  font-weight:850;

  letter-spacing:.16em;
}


.architecture-stack-layer h3{
  margin:0;

  font-size:1.8rem;

  line-height:1.2;
}


.architecture-stack-layer p{
  max-width:620px;

  margin:12px auto 0;

  line-height:1.65;

  font-size:.88rem;
}


/* =====================================================
   APPLICATION LAYER
   ===================================================== */

.architecture-app-layer{
  border:1px solid #dce4ef;

  background:#f7f9fc;

  color:#172033;
}


.architecture-layer-items{
  display:flex;

  justify-content:center;

  flex-wrap:wrap;

  gap:8px;

  margin-top:20px;
}


.architecture-layer-items span{
  padding:7px 11px;

  border:1px solid #dde4ed;

  border-radius:999px;

  background:#ffffff;

  color:#5c687c;

  font-size:.7rem;

  font-weight:700;
}


/* =====================================================
   XAVORA LAYER
   ===================================================== */

.architecture-xavora-layer{
  border:1px solid #cfdbea;

  background:
    linear-gradient(
      145deg,
      #edf3fb,
      #ffffff
    );

  color:#172033;

  box-shadow:
    0 18px 45px rgba(49,95,159,.10);
}


.architecture-xavora-layer h3{
  color:#244d85;

  font-size:2.3rem;
}


.architecture-xavora-layer p{
  color:#68768b;
}


/* =====================================================
   VORA ENGINE LAYER
   ===================================================== */

.architecture-vora-layer{
  overflow:hidden;

  padding:42px 40px;

  background:
    radial-gradient(
      circle at 50% 0%,
      rgba(69,112,180,.35),
      transparent 55%
    ),
    #172033;

  color:#ffffff;

  box-shadow:
    0 25px 65px rgba(23,32,51,.22);
}


.architecture-vora-layer .architecture-layer-label{
  position:relative;

  z-index:2;

  color:#9fb1cd;
}


.architecture-vora-layer h3{
  position:relative;

  z-index:2;

  color:#ffffff;

  font-size:2.45rem;
}


.architecture-vora-layer p{
  position:relative;

  z-index:2;

  color:#c6d2e2;
}


.architecture-vora-glow{
  position:absolute;

  width:430px;
  height:230px;

  left:50%;
  top:50%;

  transform:translate(-50%,-50%);

  border-radius:50%;

  background:
    radial-gradient(
      circle,
      rgba(59,130,246,.24),
      transparent 68%
    );

  animation:
    architectureVoraGlow 4s ease-in-out infinite;

  pointer-events:none;
}


/* =====================================================
   FOUNDATION
   ===================================================== */

.architecture-foundation-layer{
  border:1px solid #dfe5ee;

  background:#f3f6fa;
}


.architecture-foundation-items{
  display:flex;

  align-items:center;
  justify-content:center;

  flex-wrap:wrap;

  gap:10px;
}


.architecture-foundation-items span{
  padding:9px 15px;

  border-radius:10px;

  background:#e4ebf4;

  color:#4d5c73;

  font-size:.7rem;

  font-weight:850;

  letter-spacing:.08em;
}


/* =====================================================
   ARCHITECTURE INTELLIGENCE FLOW
   ===================================================== */

.architecture-stack-flow{
  position:relative;

  width:40px;
  height:70px;

  margin:0 auto;

  overflow:hidden;
}


.architecture-stack-line{
  position:absolute;

  top:0;
  bottom:0;

  left:50%;

  width:2px;

  transform:translateX(-50%);

  background:
    linear-gradient(
      to top,
      rgba(37,99,235,.15),
      rgba(37,99,235,.65),
      rgba(37,99,235,.15)
    );
}


/* Intelligence particle travelling UP */

.architecture-stack-particle{
  position:absolute;

  left:50%;
  bottom:-10px;

  width:9px;
  height:9px;

  transform:translateX(-50%);

  border-radius:50%;

  background:#2563eb;

  box-shadow:
    0 0 10px rgba(37,99,235,.9),
    0 0 22px rgba(37,99,235,.55);

  animation:
    architectureFlowUp 2.8s linear infinite;
}


/* Different timing for each connector */

.architecture-stack-flow:nth-of-type(2)
.architecture-stack-particle{
  animation-delay:-.6s;
}


.architecture-stack-flow:nth-of-type(4)
.architecture-stack-particle{
  animation-delay:-1.2s;
}


.architecture-stack-flow:nth-of-type(6)
.architecture-stack-particle{
  animation-delay:-1.8s;
}


/* =====================================================
   ARCHITECTURE ANIMATIONS
   ===================================================== */

@keyframes architectureFlowUp{

  0%{
    bottom:-10px;
    opacity:0;
  }

  15%{
    opacity:1;
  }

  85%{
    opacity:1;
  }

  100%{
    bottom:100%;
    opacity:0;
  }

}


@keyframes architectureVoraGlow{

  0%,
  100%{
    opacity:.45;

    transform:
      translate(-50%,-50%)
      scale(.95);
  }

  50%{
    opacity:1;

    transform:
      translate(-50%,-50%)
      scale(1.12);
  }

}


/* =====================================================
   ARCHITECTURE SUMMARY
   ===================================================== */

.architecture-summary{
  max-width:720px;

  margin:48px auto 0;

  text-align:center;
}


.architecture-summary strong{
  display:block;

  margin-bottom:8px;

  color:#172033;

  font-size:1.05rem;
}


.architecture-summary p{
  margin:0;

  color:#738095;

  font-size:.9rem;

  line-height:1.7;
}


/* =====================================================
   ARCHITECTURE RESPONSIVE
   ===================================================== */

@media(max-width:600px){

  .vora-architecture-section{
    padding:75px 0;
  }


  .architecture-stack-layer{
    padding:27px 20px;

    border-radius:18px;
  }


  .architecture-vora-layer{
    padding:35px 22px;
  }


  .architecture-vora-layer h3{
    font-size:2rem;
  }


  .architecture-xavora-layer h3{
    font-size:1.9rem;
  }


  .architecture-stack-flow{
    height:55px;
  }

}

@media(prefers-reduced-motion:reduce){

  .architecture-stack-particle,
  .architecture-vora-glow{
    animation:none;
  }

}


/* =====================================================
   VORA CLOSING CTA
   ===================================================== */

.vora-cta-section{
  padding:100px 0;
  background:#ffffff;
}


.vora-cta-box{
  position:relative;

  overflow:hidden;

  max-width:1050px;

  margin:0 auto;

  padding:75px 60px;

  border-radius:30px;

  text-align:center;

  background:
    radial-gradient(
      circle at 50% 0%,
      rgba(69,112,180,.32),
      transparent 45%
    ),
    #172033;

  box-shadow:
    0 30px 75px rgba(17,24,39,.18);
}


.vora-cta-box::before{
  content:"";

  position:absolute;

  width:520px;
  height:520px;

  left:50%;
  bottom:-410px;

  transform:translateX(-50%);

  border-radius:50%;

  background:
    radial-gradient(
      circle,
      rgba(59,130,246,.28),
      transparent 68%
    );

  pointer-events:none;
}


.vora-cta-kicker{
  position:relative;

  z-index:2;

  margin-bottom:16px;

  color:#9fb7dc;

  font-size:.72rem;

  font-weight:850;

  letter-spacing:.17em;
}


.vora-cta-box h2{
  position:relative;

  z-index:2;

  max-width:760px;

  margin:0 auto 20px;

  color:#ffffff;

  font-size:2.7rem;

  line-height:1.2;

  letter-spacing:-.03em;
}


.vora-cta-box p{
  position:relative;

  z-index:2;

  max-width:760px;

  margin:0 auto;

  color:#c6d1e1;

  font-size:1.02rem;

  line-height:1.75;
}


.vora-cta-actions{
  position:relative;

  z-index:2;

  display:flex;

  justify-content:center;

  flex-wrap:wrap;

  gap:13px;

  margin-top:32px;
}


.vora-cta-primary,
.vora-cta-secondary{
  display:inline-flex;

  align-items:center;
  justify-content:center;

  padding:13px 21px;

  border-radius:999px;

  font-size:.9rem;

  font-weight:750;

  text-decoration:none;

  transition:
    transform .2s ease,
    box-shadow .2s ease;
}


.vora-cta-primary{
  background:#ffffff;

  color:#172033;

  box-shadow:
    0 10px 25px rgba(0,0,0,.12);
}


.vora-cta-secondary{
  border:1px solid rgba(255,255,255,.22);

  background:rgba(255,255,255,.06);

  color:#ffffff;
}


.vora-cta-primary:hover,
.vora-cta-secondary:hover{
  transform:translateY(-2px);
}


/* =====================================================
   VORA FOOTER
   ===================================================== */

.vora-footer{
  padding:42px 0;

  background:#0f1624;

  border-top:1px solid rgba(255,255,255,.06);
}


.vora-footer-inner{
  display:flex;

  flex-direction:column;

  align-items:center;

  gap:16px;

  text-align:center;
}


.vora-footer-brand{
  display:flex;

  align-items:center;

  gap:10px;

  color:#ffffff;

  font-weight:800;
}


.vora-footer-brand img{
  width:38px;
  height:38px;

  object-fit:contain;
}


.vora-footer-links{
  display:flex;

  flex-wrap:wrap;

  justify-content:center;

  gap:16px;
}


.vora-footer-links a{
  color:#c6d1e1;

  text-decoration:none;

  font-size:.88rem;
}


.vora-footer-links a:hover{
  color:#ffffff;
}


.vora-footer-copy{
  color:#8190a7;

  font-size:.8rem;
}


@media(max-width:600px){

  .vora-cta-section{
    padding:70px 0;
  }

  .vora-cta-box{
    padding:55px 25px;

    border-radius:24px;
  }

  .vora-cta-box h2{
    font-size:2rem;
  }

}

