/* ======================================================
GLOBAL STYLES
====================================================== */
body {
  font-family: 'Inter', sans-serif;
  background: #f8fbff;
  color: #000b33;
}
.main-h2, .main-h1, .main-h3
{
	color: #073c2a !important;
	font-weight: 700;
}
.body-text{
	color: #000b33 !important;
}
.section-padding {
  padding: 80px 0;
}

h1 span {
  color: #000b33;
}

/* ======================================================
NAVBAR
====================================================== */
.top-bar {
    background: linear-gradient(135deg, #030c18 0%, #051a14 60%, #062b1e 100%);
    font-size: 13px;
    padding: 4px 0px;
    position: fixed;
    bottom: 0;
    width: 100%;
    z-index: 99;
}

.top-bar span {
  color: #ffffff;
}

.top-bar i {
  margin-right: 5px;
  color: #ffffff;
}

/* Right icons */
.top-right a {
  color: #ffffff;
  font-size: 14px;
  transition: 0.3s;
}

.top-right a:hover {
  color: #0d6efd;
}

/* Contact link */
.contact-link {
  margin-left: 10px;
  font-weight: 500;
  text-decoration: none;
  color: #333;
}

/* Responsive */
@media (max-width: 768px) {
  .top-left {
    display: none;
  }

 header.top-header .header-pill a.header-cta.active {
    display: none;
}
}
/* ================= HEADER (NEW MENU ONLY) ================= */
.top-header {
    position: fixed;
    top: 0;
    z-index: 999;
    padding: 5px 0px;
    width: 100%;
    max-width: 100%;
    margin: auto;
    backdrop-filter: blur(10px);
    background-color: rgba(255, 255, 255, 0.9);
    z-index: 1000;
    transition: background-color 0.3s ease, backdrop-filter 0.3s ease;
    border-radius: 0;
    display: flex;
    align-items: center;
    justify-content: space-between;
    box-shadow: 0 0px 1px rgba(0, 0, 0, 0.12);
    animation: headerDrop 1s ease forwards;
    border: 1px solid #dfe1eb;
}
.header-pill {
  display: flex;
  align-items: center;
  justify-content: space-between;
}

/* Logo */
.brand {
  font-size: 26px;
  font-weight: 700;
  color: #000b33;
}
.brand span {
  background: #000b33;
  color: white;
  border-radius: 50%;
  font-size: 14px;
  padding: 2px 6px;
  margin-left: 4px;
  position: relative;
  top: -6px;
}

/* Menu */
.main-menu {
  display: flex;
  gap: 34px;
}

.main-menu a {
  text-decoration: none;
  color: rgb(0 0 0 / 90%);
  font-weight: 500;
  position: relative;
	font-size: 14px;
}

.main-menu a.active {
  color: #000b33;
}

.main-menu a.active::after {
    content: '';
    position: absolute;
    width: 100%;
    height: 6px;
    background: linear-gradient(135deg, #4ca465 0%, #051a14 60%, #3eb98e 100%);
    border-radius: 5px;
    bottom: -18px;
    left: 50%;
    transform: translateX(-50%);
}

ul.submenu li
{
	margin: 0;
}

.header-pill .brand img {
    max-height: 40px;
}

/* CTA */
.header-cta {
    color: white;
    padding: 4px 16px;
    border-radius: 30px;
    display: flex;
    gap: 10px;
    align-items: center;
    text-decoration: none;
    font-weight: 400;
    background: rgb(7 60 42);
    border-color: rgba(16, 185, 129, 0.3);
    font-size: 14px;
}

/* ================= SUBMENU ================= */
.menu-item { position: relative; }
.menu-item .submenu {
  display: none;
  position: absolute;
  top: 100%;
  left: 0;
  background: rgba(255,255,255,0.95);
  backdrop-filter: blur(10px);
  border-radius: 12px;
  box-shadow: 0 10px 30px rgba(0,0,0,0.1);
  flex-direction: column;
  min-width: 180px;
  padding: 10px 0;
  z-index: 1000;
  opacity: 0;
  transform: translateY(10px);
  transition: opacity 0.25s ease, transform 0.25s ease;
  width: max-content;
}
.menu-item:hover .submenu {
  display: flex;
  opacity: 1;
  transform: translateY(0);
  flex-direction: column;
}
.menu-item .submenu a {
  display: block;
  padding: 10px 20px;
  color: #4a4a4a;
  font-weight: 500;
}
.menu-item .submenu a:hover { 
  color: #073c2a;
  border-radius: 8px;
}

/* ================= HERO ================= */
.hero {
  padding: 110px 80px 0px;
  position: relative;
}

.hero-text h1,
.hero-text p {
  opacity: 0;
}

.hero-text h1 {
  font-size: 52px;
  font-weight: 800;
  line-height: 1.15;
  letter-spacing: -0.5px;
}

.hero-text p {
  margin-top: 16px;
  font-size: 17px;
  line-height: 1.7;
  color: #4b5563;
}
 

/* ================= VISUAL ================= */
.hero-visual {
  position: relative;
}

.doctor {
  max-width: 520px;
  width: 100%;
  position: relative;
  z-index: 2;
}

/* ================= FLOATING IMAGES ================= */
.floating {
  position: absolute;
  pointer-events: none;
  animation: float 5s ease-in-out infinite;
}

.mouse-float { animation-duration: 3s; }
.slow-float { animation-duration: 6s; }
.fast-float { animation-duration: 2.6s; }

.bottom-float { bottom: 0; right: 40px; }
.left-float { top: 40px; left: -30px; }
.right-float { top: 60px; right: -20px; }

@keyframes float {
  0% { transform: translateY(0); }
  50% { transform: translateY(-22px); }
  100% { transform: translateY(0); }
}

/* ================= DOODLES ================= */
.doodle {
  position: absolute;
  stroke: #7b9cff;
  fill: none;
  stroke-width: 1;
  stroke-dasharray: 300;
  stroke-dashoffset: 300;
  animation: drawLine 2s ease forwards;
}

.doodle-1 { top: 5%; right: 8%; }
.doodle-2 { bottom: 18%; right: 2%; animation-delay: .5s; }

@keyframes drawLine {
  to { stroke-dashoffset: 0; }
}

/* ================= TEXT REVEAL ================= */
.reveal.active {
  animation: textUp 1s ease forwards;
}

@keyframes textUp {
  from { opacity: 0; transform: translateY(40px); }
  to { opacity: 1; transform: translateY(0); }
}

/* ================= HEADER ANIMATION ================= */
@keyframes headerDrop {
  from { transform: translateY(-40px); opacity:0 }
  to { transform: translateY(0); opacity:1 }
}

 
/* ======================================================
FEATURE CARDS
====================================================== */
.feature-card {
  padding: 30px;
  border-radius: 20px;
  background: white;
  box-shadow: 0 20px 50px rgba(0,0,0,0.06);
  transition: all 0.4s ease;
}

.feature-card:hover {
  transform: translateY(-10px);
}

.feature-card.active {
  border: 2px solid #052708;
}

/* ======================================================
CTA
====================================================== */
.cta-banner {
  background: linear-gradient(135deg,#4f7cff,#6fa1ff);
  color: white;
  padding: 80px 0;
  border-radius: 40px;
  margin: 60px;
}

/* Pulse animation */
.pulse {
  animation: pulse 2s infinite;
}

@keyframes pulse {
  0% { box-shadow: 0 0 0 0 rgba(79,124,255,0.5); }
  70% { box-shadow: 0 0 0 20px rgba(79,124,255,0); }
  100% { box-shadow: 0 0 0 0 rgba(79,124,255,0); }
}

/* ======================================================
REVEAL ANIMATIONS
====================================================== */

.reveal {
  opacity: 0;
  transform: var(--transform, translateY(40px));
  transition: opacity 1s ease, transform 1s ease;
}

.reveal.active {
  opacity: 1;
  transform: translate(0) scale(1);
}

/* Direction modifiers */
.fade-left {
  --transform: translateX(-40px);
}

.fade-right {
  --transform: translateX(40px);
}

.slide-up {
  --transform: translateY(60px);
}

.zoom-in {
  --transform: scale(0.8);
}

.scale-in {
  --transform: scale(0.9);
}


/* ======================================================
FOOTER
====================================================== */

.glass-footer {
  position: relative;
  background: linear-gradient(135deg, #030c18 0%, #051a14 60%, #062b1e 100%);
  backdrop-filter: blur(18px);
  -webkit-backdrop-filter: blur(18px);
  color: #fff;
  padding-top: 120px;
  overflow: hidden;
}


.power-bg {
  position: relative;
  width: 100%;
  background: radial-gradient(circle at 20% 30%, #050c20 0%, #06122b 40%, #000000 70%), linear-gradient(120deg, #001136, #050c20, #202941)
  overflow: hidden;
  padding-bottom: 60px;
}

/* ENERGY BLOBS */
.energy {
  position: absolute;
  width: 140%;
  height: 140%;
  top: -20%;
  left: -20%;
  filter: blur(20px);
  mix-blend-mode: screen;
  opacity: 0.65;
  animation: drift 8s linear infinite;
}

.e1 {
  background: conic-gradient(from 0deg, #141d36, transparent, #111e46, transparent);
  animation-duration: 5s;
}

.e2 {
  background: conic-gradient(from 180deg, #2a2d37, transparent, #1e232e, transparent);
  animation-duration: 10s;
}

.e3 {
  background: conic-gradient(from 90deg, #0a0f1f, transparent, #071e26, transparent);
  animation-duration: 12s;
}

/* CENTRAL PULSE */
.pulse {
  position: absolute;
  inset: 0;
  background: radial-gradient(
    circle at center,
    rgba(255,255,255,0.25),
    transparent 55%
  );
  animation: pulse 2s ease-in-out infinite;
}

/* ANIMATIONS */
@keyframes drift {
  from {
    transform: rotate(0deg);
  }
  to {
    transform: rotate(360deg);
  }
}

@keyframes pulse {
  0%,100% {
    opacity: 0.15;
  }
  50% {
    opacity: 0.35;
  }
}












/* Wave */
.footer-wave {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 160px;
  z-index: 1;
}

.footer-wave path {
  fill: #f6f9ff;
}

/* Content */
.footer-content {
  position: relative;
  z-index: 2;
}

h5, h6 {
  font-weight: 600;
  margin-bottom: 12px;
}

ul {
  list-style: none;
  padding: 0;
}

ul li {
  opacity: 0.85;
  margin-bottom: 8px;
  transition: transform 0.3s ease, opacity 0.3s ease;
}

ul li:hover {
  transform: translateX(6px);
  opacity: 1;
}

/* Footer brand row */
.footer-brand {
  display: flex;
  align-items: center;
  gap: 10px;
}
.footer-logo {
  border-radius: 6px;
  object-fit: contain;
}
.footer-brand-name {
  font-size: 1.15rem;
  font-weight: 700;
  color: #fff;
  letter-spacing: 0.02em;
}
.footer-desc {
  font-size: 0.875rem;
  color: rgba(255,255,255,0.65);
  line-height: 1.65;
  max-width: 340px;
}

/* Footer column headings */
.footer-heading {
  font-size: 0.8rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.1em;
  color: rgba(255,255,255,0.5);
  margin-bottom: 18px;
  padding-bottom: 10px;
  border-bottom: 1px solid rgba(255,255,255,0.1);
}

/* Footer list */
.footer-list {
  list-style: none;
  padding: 0;
  margin: 0;
}
.footer-list li {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  margin-bottom: 14px;
  font-size: 0.875rem;
  color: rgba(255,255,255,0.75);
  transition: color 0.2s;
}
.footer-list li:hover {
  color: #fff;
  transform: none;
}
.footer-li-icon {
  font-size: 0.8rem;
  color: #7dd3fc;
  margin-top: 3px;
  flex-shrink: 0;
}
.footer-list a {
  color: rgba(255,255,255,0.75);
  text-decoration: none;
  transition: color 0.2s;
}
.footer-list a:hover {
  color: #7dd3fc;
}

/* Quick links with arrow */
.footer-links li {
  margin-bottom: 10px;
}
.footer-links a {
  display: flex;
  align-items: center;
  gap: 2px;
  font-size: 0.875rem;
  color: rgba(255,255,255,0.7);
  text-decoration: none;
  transition: color 0.2s, gap 0.2s;
}
.footer-links a i {
  font-size: 1.1rem;
  color: #8cebc9;
  transition: transform 0.2s;
}
.footer-links a:hover {
  color: #fff;
}
.footer-links a:hover i {
  transform: translateX(4px);
}

/* Footer bottom bar */
.footer-bottom {
  margin-top: 20px;
  padding-top: 18px;
  border-top: 1px solid rgba(255,255,255,0.1);
  font-size: 0.8rem;
  color: rgba(255,255,255,0.45);
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 10px;
}
.footer-bottom-links {
  display: flex;
  gap: 20px;
}
.footer-bottom-links a {
  color: rgba(255,255,255,0.45);
  text-decoration: none;
  transition: color 0.2s;
}
.footer-bottom-links a:hover {
  color: #7dd3fc;
}
.social-icons {
  display: flex;
  gap: 14px;
  margin-top: 10px;
}

.social-icons a {
  width: 42px;
  height: 42px;
  border-radius: 50%;
  display: grid;
  place-items: center;
  color: #fff;
  font-size: 18px;
  background: rgba(255,255,255,0.12);
  backdrop-filter: blur(6px);
  transition: all 0.35s ease;
}

.social-icons a:hover {
  transform: translateY(-4px) scale(1.05);
  background: linear-gradient(135deg,#7b9cff,#4d6dff);
  box-shadow: 0 10px 25px rgba(77,109,255,0.45);
}

 
 
/* ================= FOOTER ================= */






/* ================= STATS BAR ================= */
.stats-bar {
  max-width: 100%;
  margin: auto;  
  padding: 35px 20px;
  display: grid; 
  align-items: center; 

box-shadow: rgba(0, 0, 0, 0.03) -1px 3px 10px 0px;
    backdrop-filter: blur(21px);
    padding: 12px;
    border-radius: 18px;
    background: linear-gradient(rgba(255, 255, 255, 0.85) 0%, rgba(255, 255, 255, 0) 146.28%);
}
 

/* Stat block */
 
 

/* Vertical dividers */
.divider {
  width: 1px;
  height: 55px;
  background: rgba(255,255,255,0.35);
}

/* ================= RESPONSIVE ================= */
@media (max-width: 768px) {
  .stats-bar {
    grid-template-columns: 1fr;
    gap: 25px;
  }

  .divider {
    display: none;
  }
}



/* ================= LOGO MARQUEE ================= */

.logo-marquee {
  width: 100%;
  overflow: hidden;
  margin-bottom: 55px;
}

.logo-track {
  display: flex;
  align-items: center;
  gap: 30px;
  width: max-content;
  animation: scroll-logos 30s linear infinite;
}

.logo-track img {
    height: 70px;
    opacity: 0.85;
    transition: opacity 0.3s ease;
    background-color: #ffffff;
    padding: 15px;
	filter: invert(0) sepia(0) saturate(10) hue-rotate(301deg);
}

.logo-track img:hover {
  opacity: 1;
}

/* Pause on hover */
.logo-marquee:hover .logo-track {
  animation-play-state: paused;
}

@keyframes scroll-logos {
  from {
    transform: translateX(0);
  }
  to {
    transform: translateX(-50%);
  }
}



/* ================= COVERAGE SECTION ================= */

.coverage-card {
  background: #fff;
  border-radius: 10px;
  padding: 30px 32px;
  height: 100%;
  box-shadow: 0 2px 2px rgba(0,0,0,0.08);
  transition: box-shadow 0.4s ease;
  transform-style: preserve-3d;
  will-change: transform;
}

.coverage-card:hover {
  box-shadow: 0 35px 90px rgba(0,0,0,0.12);
}

/* Card Colors */
.coverage-card .card-header-purple {
  height: 80px; /* height of decorative strip */
  border-radius: 10px 10px 10px 10px;
  background: url('../../images/purple.svg') no-repeat center/cover;
}
.coverage-card .card-header-green {
  height: 80px; /* height of decorative strip */
  border-radius: 10px 10px 10px 10px;
  background: url('../../images/green.svg') no-repeat center/cover;
}
.coverage-card .card-header-blue {
  height: 80px; /* height of decorative strip */
  border-radius: 10px 10px 10px 10px;
  background: url('../../images/muted-blue.svg') no-repeat center/cover;
}

/* Icons */
.icon-circle {
    width: 60px;
    height: 60px;
    border-radius: 50%; 
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 24px; 
    margin-top: 10px;
    animation: spin 6s linear infinite, pulse 1.6s ease-in-out infinite;
    border: 1px solid #f0f3ff;
}

/* CTA Buttons */
.purple-btn { background: radial-gradient(circle at 20% 30%, #d29ee5 0%, #b487d8 40%, #6e2777 70%), linear-gradient(120deg, #4366B1, #ec5bff, #5d0d7a) !important; border-color: #ddd9e5;}
.green-btn  { background: radial-gradient(circle at 20% 30%, #59b8ab 0%, #87d8c0 40%, #27774e 70%), linear-gradient(120deg, #43b16c, #3cfea1, #0d7a52) !important; border-color: #bdeccf;}
.blue-btn  { background: radial-gradient(circle at 20% 30%, #5980b8 0%, #87cfd8 40%, #274d77 70%), linear-gradient(120deg, #0d6efd, #3c9afe, #0d5a7a) !important; border-color: #dae2ff;}
 

/* ================= SCROLL LOAD ANIMATION ================= */

.scroll-card {
  opacity: 0;
  filter: blur(8px);

  /* SAFE transform variables */
  --y: 90px;
  --scale: 0.94;
  --rx: 0deg;
  --ry: 0deg;

  transform:
    translateY(var(--y))
    scale(var(--scale))
    rotateX(var(--rx))
    rotateY(var(--ry));

  transition:
    opacity 0.9s ease,
    filter 1s ease,
    transform 1.2s cubic-bezier(.22,1,.36,1);
}

.scroll-card.active {
  opacity: 1;
  filter: blur(0);
  --y: 0px;
  --scale: 1;
}

/* Stagger delay */
.scroll-card.active[data-index="1"] { transition-delay: 0.1s; }
.scroll-card.active[data-index="2"] { transition-delay: 0.3s; }
.scroll-card.active[data-index="3"] { transition-delay: 0.5s; }






/* ================= EXPERIENCE SECTION ================= */

.experience-section {
  background: #fff;
  overflow: hidden;
}

/* Circle */
.doctor-bg-circle {
  position: absolute;
  width: 420px;
  height: 420px;
  background: #d6e6ff;
  border-radius: 50%;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  z-index: 0;
}





.image-wrap {
  position: relative;
  width: 320px; /* adjust to image */
  height: 320px;
  margin: auto;
}

.image-wrap img {
  position: relative;
  z-index: 3;
  width: 100%;
  height: auto;
}

/* MAIN ENERGY CIRCLE */
/* CORE CONTAINER */
.energy-circle {
  position: absolute;
  inset: 10%;
  border-radius: 50%;
  z-index: 1;
  pointer-events: none;

  background:
    conic-gradient(
      from 0deg,
      #d9e3ffd1,
      #ffffff,
      #b8c9ff,
      #d9e3ffd1
    );

  animation:
    spin 6s linear infinite,
    pulse 2.6s ease-in-out infinite;
}

/* LAYER 1 â€” INNER RADIANT CORE */
.energy-circle::before {
  content: "";
  position: absolute;
  inset: 14%;
  border-radius: 50%;
  background:
    radial-gradient(
      circle,
      rgb(241 242 246 / 20%),
      #d9e3ffd1 70%
    );
  filter: blur(6px);
  animation: corePulse 2.2s ease-in-out infinite;
}

/* LAYER 2 â€” ELECTRIC HALO */
.energy-circle::after {
  content: "";
  position: absolute;
  inset: -18%;
  border-radius: 50%;
  background:
    radial-gradient(
      circle,
      rgba(255,255,255,0.65),
      transparent 72%
    );
  filter: blur(42px);
  animation: haloPulse 3.4s ease-in-out infinite;
}

/* EXTRA LAYERS */
.energy-circle .ring,
.energy-circle .ring-2 {
  position: absolute;
  inset: 10%;
  border-radius: 50%;
  border: 2px solid rgba(255,255,255,0.65);
  animation: ripple 1.9s ease-out infinite;
}

.energy-circle .ring-2 {
  inset: 22%;
  animation-delay: 0.9s;
}

/* ANIMATIONS */
@keyframes spin {
  to { transform: rotate(360deg); }
}

@keyframes pulse {
  0%,100% { transform: scale(1); }
  50% { transform: scale(1.15); }
}

@keyframes corePulse {
  0%,100% { transform: scale(0.95); }
  50% { transform: scale(1.08); }
}

@keyframes haloPulse {
  0%,100% { opacity: 0.4; }
  50% { opacity: 0.85; }
}

@keyframes ripple {
  0% {
    transform: scale(0.8);
    opacity: 0.9;
  }
  100% {
    transform: scale(1.4);
    opacity: 0;
  }
}




/* Wrapper */
.doctor-wrapper {
  position: relative;
  max-width: 480px;
  margin: auto;
}

/* Doctor */
.doctor-img {
  position: relative;
  z-index: 1;
  max-width: 100%;
}

/* Review Card */
.review-card {
  position: absolute;
  right: -30px;
  bottom: 90px;
  background: #fff;
  border-radius: 16px;
  padding: 14px 18px;
  display: flex;
  gap: 10px;
  box-shadow: 0 20px 50px rgba(0,0,0,0.15);
  z-index: 2;
}

/* Content */
 


/* ================= SCROLL LOAD ================= */

/* ================= INTENSE SCROLL LOAD ================= */

.scroll-reveal {
  opacity: 0;
  filter: blur(12px);

  --y: 120px;
  --r: -3deg;

  transform:
    translateY(var(--y))
    rotate(var(--r))
    scale(0.92);

  transition:
    opacity 1.2s ease,
    filter 1.2s ease,
    transform 1.4s cubic-bezier(.16,1,.3,1);
}

.scroll-reveal.active {
  opacity: 1;
  filter: blur(0);

  --y: 0px;
  --r: 0deg;

  transform:
    translateY(0)
    rotate(0deg)
    scale(1);
}

/* ── Staggered card reveal (cascades within a row) ── */
.row > .scroll-reveal:nth-child(2) { transition-delay: 0.10s; }
.row > .scroll-reveal:nth-child(3) { transition-delay: 0.20s; }
.row > .scroll-reveal:nth-child(4) { transition-delay: 0.30s; }
.row > .scroll-reveal:nth-child(5) { transition-delay: 0.40s; }



/* ================= insurance-section ================= */
.insurance-section {
  padding: 120px 0;
  min-height: 100vh;
  background: #fff;
  overflow: hidden;
}

.title {
  font-size: 42px;
  font-weight: 700;
  color: #0a1f44;
}

.desc {
  color: #6b7a99;
  margin: 20px 0 30px;
}

/* SOLAR SYSTEM */
.solar-system {
  position: relative;
  width: 500px;
  height: 500px;
  margin: auto;
}

/* SUN */
.sun {
  position: absolute;
  inset: 0;
  margin: auto;
  width: 160px;
  height: 160px;
  background: radial-gradient(circle, rgb(109 232 186 / 82%), #00000000 70%);
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 5;
}

.sun img {
  width: 70px;
  z-index: 2;
}

.sun .glow {
  position: absolute;
  inset: -40px;
  background: radial-gradient(circle, rgb(255 255 255 / 70%), transparent 70%);
  animation: glow 3s infinite;
  border-radius: 50%;
}

/* ORBITS */
.orbit {
  position: absolute;
  inset: 0;
  margin: auto;
  border-radius: 50%;
  border: 2px dashed rgb(142 232 109 / 40%);
  opacity: 0;
}

/* ORBIT SIZES */
.orbit-1 { width: 260px; height: 260px; }
.orbit-2 { width: 360px; height: 360px; }
.orbit-3 { width: 460px; height: 460px; }

/* PLANET */
.planet {
  position: absolute;
  top: -30px;
  left: 50%;
  transform: translateX(-50%);
}

.planet img {
  width: 60px;
  height: 60px;
  border-radius: 50%;
  object-fit: cover;
  box-shadow: 0 10px 30px rgba(0,0,0,.25);
}

/* ACTIVE STATE */
.orbit.active {
  opacity: 1;
  animation: spin 20s linear infinite;
}

.orbit-2.active { animation-duration: 30s; }
.orbit-3.active { animation-duration: 40s; }

/* ANIMATIONS */
@keyframes spin {
  from { transform: rotate(0deg); }
  to { transform: rotate(360deg); }
}

@keyframes glow {
  0%,100% { transform: scale(1); opacity: .6; }
  50% { transform: scale(1.15); opacity: 1; }
}
/* INITIAL HIDDEN STATE */
.reveal {
  opacity: 0;
  transform: translateY(40px);
}

/* ACTIVE STATE */
.reveal.active {
  opacity: 1;
  transform: translateY(0);
  transition: all 0.9s cubic-bezier(.19,1,.22,1);
}

/* STAGGERING */
.title-reveal.active {
  transition-delay: 0.1s;
}

.desc-reveal.active {
  transition-delay: 0.25s;
}

.cta-reveal.active {
  transition-delay: 0.4s;
}



/* Shimmer effect */
/* Ensure shine sweep stays clipped when cta-btn is an <a> tag */
a.cta-btn {
  overflow: hidden;
  text-decoration: none;
}

.cta-btn::after {
  content: "";
  position: absolute;
  top: 0;
  left: -120%;
  width: 120%;
  height: 100%;
  background: linear-gradient(
    120deg,
    transparent,
    rgba(255,255,255,0.5),
    transparent
  );
  transition: left 0.8s ease;
}

.cta-btn:hover::after {
  left: 120%;
}

/* Subtle pulse */
.cta-btn.active {
  animation: ctaPulse 2.5s infinite;
}

@keyframes ctaPulse {
  0% { box-shadow: 0 0 0 0 rgba(16,185,129,.4); }
  70% { box-shadow: 0 0 0 8px rgba(13,110,253,0); }
  100% { box-shadow: 0 0 0 0 rgba(13,110,253,0); }
}




/* ================= FAQ-section ================= */

.faq-section {
  padding: 20px 0;
  background: #f6f9ff;
  border-radius: 40px;
}

/* Title */
.faq-title {
  text-align: center;
  font-size: 44px;
  font-weight: 700;
  color: #0a1f44;
}

/* Cards */
.faq-card {
  background: #fbfcff;
  padding: 40px;
  border-radius: 24px;
  position: relative;
  height: 100%;
  transition: all 0.45s cubic-bezier(.19,1,.22,1);
  border: 2px solid #ffffff;
}

/* Text */
.faq-card h4 {
  font-weight: 700; 
  margin-bottom: 14px;
}

.faq-card p { 
  line-height: 1.6;
}

/* Number badge */
.faq-number {
    position: absolute;
    left: -10px;
    top: -10px;
    width: 54px;
    height: 54px;
    background: radial-gradient(circle at 20% 30%, #9eb0e5 0%, #4366B1 40%, #5b7cff 70%), linear-gradient(120deg, #4366B1, #5b7cff, #27407f);
    color: #fff;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: 700;
    font-size: 18px;
    box-shadow: 0 15px 40px rgba(36, 91, 255, 0.35);
    transform: scale(0);
    transition: transform 0.4s ease;
}

/* Hover interactions */
.faq-card:hover {
  transform: translateY(-12px);
  background: #ffffff;
  box-shadow: 0 30px 80px rgba(0,0,0,0.08);
}

.faq-card:hover .faq-number {
  transform: scale(1.05) rotate(8deg);
}

.faq-card:hover h4 {
  transform: translateX(4px);
  transition: transform 0.3s ease;
}


.faq-tabs .nav-link {
  border: none;
  color: #333;
  position: relative;
}

.faq-tabs .nav-link.active {
  font-weight: 600;
}

.faq-tabs .nav-link.active::after {
  content: "";
  position: absolute;
  bottom: -5px;
  left: 10%;
  width: 80%;
  height: 2px;
  background: #344ca8;
}

/* Accordion */
.custom-accordion .accordion-item {
  border: none;
  border-bottom: 1px solid #ddd;
}

.accordion-button {
  background: transparent;
  box-shadow: none;
  font-weight: 600;
  padding: 20px;
}

.accordion-button::after {
  display: none;
}

.icon {
  transition: 0.3s;
}

.accordion-button:not(.collapsed) .icon {
  transform: rotate(180deg);
}

.accordion-body {
  padding: 20px;
  color: #555;
}

/* Scroll reveal base */
.reveal {
  opacity: 0;
  transform: translateY(40px);
}

/* When visible */
.reveal.active {
  opacity: 1;
  transform: translateY(0);
  transition: all 0.9s cubic-bezier(.19,1,.22,1);
}

/* Stagger delays */
.delay-1.active { transition-delay: 0.15s; }
.delay-2.active { transition-delay: 0.3s; }
.delay-3.active { transition-delay: 0.45s; }
.delay-4.active { transition-delay: 0.6s; }

/* Number pop */
.reveal.active .faq-number {
  animation: pop 0.6s cubic-bezier(.19,1,.22,1) forwards;
  animation-delay: 0.45s;
  animation: spin 6s linear infinite, pulse 1.6s ease-in-out infinite;
}

@keyframes pop {
  0% { transform: scale(0); }
  80% { transform: scale(1.1); }
  100% { transform: scale(1); }
}









/* ================= FAst apply-section ================= */


.fast-apply-section {
  position: relative;
  margin: 120px auto;
  padding: 100px 40px;
  max-width: 100%;
  border-radius: 8px;
  background: linear-gradient(135deg, #030c18 0%, #051a14 60%, #062b1e 100%);
  overflow: hidden;
  text-align: center;
}

/* TEXT */
.fast-apply-section h2 {
  font-size: 42px;
  color: #fff;
}

.fast-apply-section p { 
    margin: 20px auto 0;
    color: #ffffff;
    font-size: 20px;
    font-weight: 700;
}

/* CTA */
.cta-btn {
  margin-top: 40px;
  padding: 10px 15px ;
  border-radius: 30px;
  background:  #06291d;
  color: #fff;
  border: none;
  cursor: pointer;
  font-weight: 600;
  box-shadow: 0 15px 40px rgba(0,0,0,.25);
  transition: all .4s ease;
   position: relative;
  overflow: hidden;
  font-weight: 600;
  letter-spacing: 0.3px;
}

.cta-btn:hover {
  transform: translateY(-4px) scale(1.05);
  box-shadow: 0 25px 60px rgba(0,0,0,.35);
}

/* FLOATING WORDS */
.floating-words span {
  position: absolute;
    font-size: 16px;
    font-weight: 500;
    color: rgba(255, 255, 255, 0.2);
    pointer-events: none;
    animation: floatUp linear infinite;
    will-change: transform;
    background: rgb(255 255 255 / 2%);
    padding: 2px 8px;
    border: 1px solid rgb(255 255 255 / 10%);
    border-radius: 34px;
}

/* RANDOM POSITIONS + SPEEDS */
.floating-words span:nth-child(1)  { left: 8%;  top: 80%; animation-duration: 10s; }
.floating-words span:nth-child(2)  { left: 18%; top: 60%; animation-duration: 12s; }
.floating-words span:nth-child(3)  { left: 28%; top: 75%; animation-duration: 9s; }
.floating-words span:nth-child(4)  { left: 38%; top: 65%; animation-duration: 11s; }
.floating-words span:nth-child(5)  { left: 48%; top: 85%; animation-duration: 13s; }
.floating-words span:nth-child(6)  { left: 58%; top: 70%; animation-duration: 10s; }
.floating-words span:nth-child(7)  { left: 68%; top: 90%; animation-duration: 14s; }
.floating-words span:nth-child(8)  { left: 78%; top: 60%; animation-duration: 9s; }
.floating-words span:nth-child(9)  { left: 88%; top: 75%; animation-duration: 12s; }
.floating-words span:nth-child(10) { left: 22%; top: 88%; animation-duration: 11s; }
.floating-words span:nth-child(11) { left: 52%; top: 92%; animation-duration: 10s; }
.floating-words span:nth-child(12) { left: 72%; top: 85%; animation-duration: 13s; }

@keyframes floatUp {
  0% {
    transform: translateY(0);
    opacity: 0;
  }
  10% { opacity: 1; }
  100% {
    transform: translateY(-160px);
    opacity: 0;
  }
}





 /********************************Why SafePractix*****************************/
 
 /* =========================
SafePractix SECTION STYLES
========================= */

.SafePractix-section {
  background: linear-gradient(135deg, #ecffef 0%, #edffef 60%, #ffffff 100%);
}

/* HERO MEDIA */
.hero-media {
  position: relative;
  max-width: 900px;
  margin: auto;
}

.hero-media img {
  border-radius: 24px;
}

.play-btn {
  position: absolute;
  inset: 0;
  display: grid;
  place-items: center;
}

.play-btn span {
  width: 70px;
  height: 70px;
  background: white;
  border-radius: 50%;
  position: relative;
}

.play-btn span::after {
  content: "";
  position: absolute;
  left: 28px;
  top: 22px;
  border-left: 16px solid #1a2340;
  border-top: 10px solid transparent;
  border-bottom: 10px solid transparent;
}

/* HERO TEXT */
.hero-title {
  font-weight: 700;
  font-size: clamp(2rem, 4vw, 3rem);
}

.hero-title span {
  color: #1e9d72;
}

.hero-description {
  max-width: 900px;
  margin: 20px auto 0;
  opacity: 0.85;
}

/* BENEFITS */
.section-title {
  font-weight: 600;
}
 

/* SCROLL REVEAL */
.reveal-up {
  opacity: 0;
  transform: translateY(40px);
  transition: all 0.9s ease;
}

.reveal-up.active {
  opacity: 1;
  transform: translateY(0);
}

/* =========================
FLATLAY HERO MEDIA
========================= */

.hero-media-flat {
  position: relative;
  max-width: 980px;
  width: 100%;
  margin: 100px auto;
  border-radius: 28px;
  overflow: hidden;
  background: #f5f6f8;

  /* Height control */
  aspect-ratio: 16 / 9;

  box-shadow:
    0 30px 60px rgba(0, 0, 0, 0.18),
    inset 0 0 0 1px rgba(255, 255, 255, 0.6);
}

/* VIDEO â€” FULL COVER */
.hero-video {
  width: 100%;
  height: 100%;
  object-fit: cover; /* ðŸ”¥ THIS IS THE KEY */
  display: block;
  border-radius: 28px;
}


/* =========================
PLAY BUTTON (CENTERED)
========================= */

.flat-play-btn {
  position: absolute;
  inset: 0;
  margin: auto;
  width: 88px;
  height: 88px;
  border-radius: 50%;
  border: none;
  background: #ffffff;
  display: grid;
  place-items: center;
  cursor: pointer;
  z-index: 2;

  box-shadow:
    0 20px 40px rgba(0, 0, 0, 0.25),
    inset 0 0 0 1px rgba(0, 0, 0, 0.04);

  transition: transform 0.35s ease, box-shadow 0.35s ease;
}

.flat-play-btn:hover {
  transform: scale(1.06);
  box-shadow:
    0 28px 55px rgba(0, 0, 0, 0.3),
    inset 0 0 0 1px rgba(0, 0, 0, 0.06);
}

.flat-play-btn .triangle {
  width: 0;
  height: 0;
  border-left: 18px solid #e53935;
  border-top: 12px solid transparent;
  border-bottom: 12px solid transparent;
  margin-left: 4px;
}

/* =========================
SCROLL REVEAL (matches image elegance)
========================= */

.reveal-up {
  opacity: 0;
  transform: translateY(30px) scale(0.98);
  transition: all 0.9s cubic-bezier(0.16, 1, 0.3, 1);
}

.reveal-up.active {
  opacity: 1;
  transform: translateY(0) scale(1);
}

.SafePractix-section .coverage-card {
    background: rgb(255 255 255 / 60%);
    border-color: rgba(16, 185, 129, 0.3);
	padding: 24px;
}
.SafePractix-section .coverage-card .icon-circle {
    background: #073c2a;
    border-color: rgb(108 255 141 / 41%);
}
.SafePractix-section .coverage-card .icon-circle i {
    color: #ffffff;
}



/* =========================
WHY SafePractix SECTION
========================= */

.why-SafePractix-section {
   
}

/* Title */
.why-title {
  font-size: clamp(2rem, 3.2vw, 2.6rem);
  font-weight: 700;
  color: #0f172a;
}

/* Bullet points */
.why-point {
  display: flex;
  gap: 16px;
  margin-bottom: 28px;
}

/* Green check icon */
.check-icon {
  min-width: 26px;
  height: 26px;
  border-radius: 50%;
  background: #84cc16;
  color: #ffffff;
  font-size: 14px;
  font-weight: 700;
  display: grid;
  place-items: center;
  margin-top: 4px;
}

/* Image */
.why-image-wrapper { 
  overflow: hidden; 
  transition: transform 0.6s ease;
}

.why-image-wrapper img {
  width: 100%;
  height: auto;
  display: block;
}

/* Subtle hover lift */
.why-image-wrapper:hover {
  transform: translateY(-6px);
}

 
 
 /* STAGE */
.shield-stage {
  position: relative;
  width: 440px;
  height: 440px;
  margin: 20px auto;
  display: grid;
  place-items: center;
}

/* SHIELD */
.shield-core {
  width: 200px;
  z-index: 4;
  filter:
    drop-shadow(0 0 40px rgba(0, 200, 255, 0.6))
    drop-shadow(0 0 90px rgba(0, 160, 255, 0.35));
  animation: shieldBreath 4.5s ease-in-out infinite;
}

/* GLOW HALO */
.shield-glow {
  position: absolute;
  width: 300px;
  height: 300px;
  border-radius: 50%;
  background:
    radial-gradient(circle, rgba(0,220,255,0.25), transparent 65%);
  filter: blur(22px);
  z-index: 1;
}

/* ENERGY ARCS */
.orbits {
  position: absolute;
  border-radius: 50%;
  pointer-events: none;
}

.arc {
    border: 2px solid transparent;
    border-top-color: rgb(3 107 138 / 64%);
    border-right-color: rgb(0 15 24 / 55%);
    filter: drop-shadow(0 0 14px rgba(0, 220, 255, 0.7));
    border-left-color: rgb(3 107 138 / 64%);
    border-bottom-color: rgb(0 15 24 / 55%);
}

/* DIFFERENT DEPTHS */
.arc-1 {
  width: 380px;
  height: 380px;
  transform: rotateX(65deg);
  animation: spin 6s linear infinite;
}

.arc-2 {
  width: 330px;
  height: 330px;
  transform: rotateX(75deg);
  animation: spinReverse 8s linear infinite;
}

.arc-3 {
  width: 280px;
  height: 280px;
  transform: rotateX(60deg);
  animation: spin 12s linear infinite;
}

/* CANVAS */
#sparkCanvas {
  position: absolute;
  inset: 0;
  z-index: 5;
  pointer-events: none;
}

/* MOTION */
@keyframes spin {
  from { transform: rotateX(65deg) rotateZ(0deg); }
  to   { transform: rotateX(65deg) rotateZ(360deg); }
}

@keyframes spinReverse {
  from { transform: rotateX(75deg) rotateZ(360deg); }
  to   { transform: rotateX(75deg) rotateZ(0deg); }
}

@keyframes shieldBreath {
  0%,100% {
    filter: drop-shadow(0 0 35px rgba(0,200,255,.5));
  }
  50% {
    filter: drop-shadow(0 0 70px rgba(0,220,255,.9));
  }
}
 

 
 
 
/* ================= CONTACT SECTION STYLES ================= */

.contact-section {
  background: radial-gradient(circle at top, #0c1022, #02030a);
}

/* Wrapper animation */
.contact-wrapper {
  background: #fff;
  border-radius: 18px;
  transform: translateY(60px);
  opacity: 0;
  transition: all 0.9s ease;
}

.contact-wrapper.visible {
  transform: translateY(0);
  opacity: 1;
}

/* LEFT PANEL */
.contact-info {
  background: linear-gradient(145deg, #4568b8, #24336d, #0a3bff, #6f8cff);
  color: #fff;
  position: relative;
}

.contact-info h2 {
  font-weight: 700;
}

.contact-list {
  list-style: none;
  padding: 0;
}

.contact-list li {
  display: flex;
  gap: 14px;
  margin-bottom: 22px;
  font-size: 15px;
}

.contact-list i {
  font-size: 20px;
  opacity: 0.9;
}

/* Social icons */
.social-icons i {
  font-size: 22px;
  cursor: pointer;
  transition: transform 0.3s ease;
}

.social-icons i:hover {
  transform: translateY(-4px) scale(1.1);
}

/* FORM */
 
.form-control {
    border-radius: 5px;
    padding: 6px 10px;
}
label.form-label {
    font-weight: 600;
}



/* ================= SOCIAL CIRCLE ICONS ================= */
.social-circle-icons {
  display: inline-flex;
  gap: 18px;
}


.social-circle-icons a {
  width: 44px;
  height: 44px;
  border-radius: 50%;
  background: rgba(255,255,255,0.18);
  display: flex;
  align-items: center;
  justify-content: center;
  color: #0b2b66;
  font-size: 18px;
  transition: all 0.35s ease;
  backdrop-filter: blur(6px);
}

.social-circle-icons a:hover {
  background: #fff;
  transform: translateY(-4px) scale(1.1);
  box-shadow: 0 10px 30px rgba(0,0,0,0.18);
}



/* ================= LEFT PANEL EFFECTS ================= */

.contact-info {
  position: relative;
  overflow: hidden;
}

/* Animated shimmer */
.contact-info::before {
  content: "";
  position: absolute;
  inset: -40%;
  background: linear-gradient(
    120deg,
    transparent 30%,
    rgba(255,255,255,0.18) 45%,
    transparent 60%
  );
  animation: shimmer 8s linear infinite;
}

/* Orbs container */
.contact-bg-effects {
  position: absolute;
  inset: 0;
  pointer-events: none;
}

/* Glow orbs */
.orb {
  position: absolute;
  width: 220px;
  height: 220px;
  background: radial-gradient(circle, rgba(255,255,255,0.35), transparent 70%);
  filter: blur(30px);
  opacity: 0.7;
  animation: floatOrb 12s ease-in-out infinite;
}

.orb-1 {
  top: -60px;
  left: -60px;
}

.orb-2 {
  bottom: 10%;
  right: -80px;
  animation-delay: 3s;
}

.orb-3 {
  top: 40%;
  left: 30%;
  width: 160px;
  height: 160px;
  animation-delay: 6s;
}

/* Hover depth */
.contact-info:hover {
  box-shadow: inset 0 0 0 1px rgba(255,255,255,0.2);
}

/* Keyframes */
@keyframes shimmer {
  from { transform: translateX(-50%) rotate(25deg); }
  to { transform: translateX(50%) rotate(25deg); }
}

@keyframes floatOrb {
  0%, 100% { transform: translateY(0) scale(1); }
  50% { transform: translateY(-30px) scale(1.1); }
}

.contact-info > *:not(.contact-bg-effects) {
  position: relative;
  z-index: 2;
}


 
@keyframes spin {
  to { transform: rotate(360deg); }
}



/**************timeline********************/


/* Parent behaves like sibling sections */
.timeline-wrapper {
  width: 100%;
  height: 100%;
}

/* Takes height from sibling layout */
.timeline-container {
  position: relative;
  width: 100%;
  height: 100%;
  min-height: 500px; /* safety fallback */
  display: flex;
  justify-content: center;
}

/* SVG scales with container */
.timeline-svg {
  width: 100%;
  max-width: 360px;
  height: 100%;
  overflow: visible;
}
 
.professional-container,
.why-image-wrapper {
  height: 100%;
  display: flex;
  flex-direction: column;
}

/* Image must fill wrapper */
.why-image-wrapper img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  border-radius: 24px;
}

/* Image glow + premium feel */
.timeline-svg image {
  filter:
  drop-shadow(0 0 12px rgba(67, 102, 177, 0.90))  
  drop-shadow(0 0 36px rgba(39, 64, 127, 0.70))  
  drop-shadow(0 0 72px rgba(91, 124, 255, 0.70))
}

/* ðŸ“± Mobile optimization */
@media (max-width: 768px) {
  .timeline-svg {
    max-width: 260px;
  }

  .timeline-svg image {
    width: 64px;
    height: 64px;
  }
}


@media (max-width: 991px) {
  .why-image-wrapper {
    margin-top: 32px;
    height: auto;
  }
}

/* SNAKE PATH */
#snakePath {
  fill: none;
  stroke: url(#snakeFlow);
  stroke-width: 3;
  stroke-linecap: round;
  stroke-dasharray: 6 14;
  stroke-dashoffset: 0;

  filter:
    drop-shadow(0 0 6px rgba(79,124,255,.6))
    drop-shadow(0 0 18px rgba(91,124,255,.45));

  animation: snakeIdle 18s linear infinite;
  will-change: stroke-dashoffset;
}

/* CONTINUOUS MOTION */
@keyframes snakeIdle {
  from { stroke-dashoffset: 0; }
  to   { stroke-dashoffset: -1000; }
}

/* NODE */
.node {
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  opacity: 0;
  transition: opacity .8s ease;
}

/* REVEAL */
.node.active {
  opacity: 1;
}

/* IMAGE */
.node-image {
  width: 96px;
  height: 96px;
  object-fit: contain;
  border-radius: 20px;
  transition: transform .5s ease;
}

/* ALIVE ANIMATION */
@keyframes breathe {
  0%,100% { transform: scale(1) translateY(0); }
  50% { transform: scale(1.06) translateY(-6px); }
}

@keyframes glowPulse {
  0%,100% { box-shadow: 0 0 18px rgba(91,124,255,.35); }
  50% { box-shadow: 0 0 36px rgba(91,124,255,.75); }
}


.planet img {
    width: 60px;
    height: 60px;
    border-radius: 50%;
    object-fit: cover;
    box-shadow: 0 10px 30px rgba(0, 0, 0, .25);
}










.coverage-section {
  padding: 30px 0px;
  background: #ffffff;
  font-family: system-ui, -apple-system, sans-serif;
}

.coverage-container {
  max-width: 1200px;
  margin: auto;
  display: grid;
  grid-template-columns: 1.2fr 1fr;
  gap: 60px;
  align-items: center;
}

/* LEFT */
.coverage-left h2 {
  font-size: 40px;
  font-weight: 700;
  margin-bottom: 32px;
  color: #111;
}

.coverage-list {
  list-style: none;
  padding: 0;
  margin: 0;
}

.coverage-list li {
  display: flex;
  gap: 16px;
  margin-bottom: 10px;
}

.tick {
  width: 28px;
  height: 28px;
  background: #4f75ff;
  color: #fff;
  border-radius: 50%;
  font-size: 16px;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}

.coverage-list strong {
  font-size: 18px;
  color: #111;
}

.coverage-list p {
  margin: 0spx 0 0;
  color: #555;
  font-size: 16px;
  line-height: 1.5;
}

/* RIGHT */
.coverage-right {
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
}

.coverage-right img {
  position: relative;
  z-index: 2;
  max-width: 100%;
}

/* Blue abstract shape */
.blob {
  position: absolute;
  width: 420px;
  height: 420px;
  background: #4f75ff;
  border-radius: 60% 40% 50% 50%;
  z-index: 1;
}

/* RESPONSIVE */
@media (max-width: 900px) {
  .coverage-container {
    grid-template-columns: 1fr;
  }

  .coverage-right {
    margin-top: 60px;
  }

  .blob {
    width: 320px;
    height: 320px;
  }
}




/**************who we serve********************/


.who-we-serve {
  background: linear-gradient(135deg, #031805 0%, #051a14 60%, #062b1e 100%);
}

.section-title {
  color: #07543a;
  font-size: 42px;
  font-weight: 700;
}
.section-title2 {
  color: #00472d;
  font-size: 30px;
  font-weight: 700;
}
.serve-card {
  background: #394761;
  border-radius: 14px;
  padding: 40px 30px;
  height: 100%;
  text-align: left;
  border-top: 4px solid #4f6bff;
  box-shadow: 0 20px 40px rgba(0,0,0,0.25);
}
.timeline-content h5{color: #0f6344;}
.serve-card h3 {
  font-size: 28px;
  font-weight: 700;
  color: #000000;
  margin-bottom: 12px;
}

.serve-card p {
  font-size: 16px;
  color: #d4e4ff;
  margin: 0;
}

/* Responsive */
@media (max-width: 768px) {
  .section-title {
    font-size: 32px;
  }

  .serve-card h3 {
    font-size: 22px;
  }
}





/**************team********************/

/* ==========================
SECTION BASE
========================== */
.leadership-wrap {
  position: relative;
  padding: 100px 0 0px;
  overflow: hidden;
  background: #0a1022;
  color: #e4ebff;
}

/* ==========================
TOP WAVE (NO CUTTING)
========================== */
.top-wave {
  position: absolute;
  top: -1px;
  left: 0;
  width: 100%;
  height: 120px;
  z-index: 4;
}

.top-wave svg {
  width: 100%;
  height: 100%;
}

.top-wave path {
  fill: #f8fbff; /* matches previous section bg */
}

/* ==========================
BACKGROUND MOTION LAYERS
========================== */
.bg-layer {
  position: absolute;
  inset: 0;
  z-index: 1;
}

/* Gradient drift */
.gradient-flow {
  background: #e3ece6;
  animation: gradientMove 18s ease-in-out infinite alternate;
}

/* Floating light blobs */
.blob {
    border-radius: 4%;
    filter: blur(20px);
    opacity: 0.5;
    animation: blobFloat 4s ease-in-out infinite;
    border: 70px solid #e9ffe3;
}

.blob-1 {
  width: 420px;
  height: 420px;
  background: radial-gradient(circle at 20% 30%, #0f3b00, #0c4c00 70%);
  top: 20%;
  left: -10%;
}

.blob-2 {
  width: 520px;
  height: 520px;
  background: #eefff0;
  bottom: 10%;
  right: -15%;
  animation-delay: -6s;
}

.blob-3 {
  width: 300px;
  height: 300px;
  background: #9ee5b2;
  top: 55%;
  left: 60%;
  animation-delay: -12s;
}

/* ==========================
CONTENT
========================== */
.container {
  position: relative;
  z-index: 3;
}

.section-head h2 {
  font-size: 2.6rem;
  font-weight: 700;
}

.section-head p {
  max-width: 760px;
  margin: 16px auto 0;
  opacity: 0.85;
}

.expertise {
  max-width: 820px;
  margin: 60px auto 0;
  line-height: 1.8;
  opacity: 0.9;
}

/* ==========================
ANIMATIONS
========================== */
@keyframes gradientMove {
  0% { background-position: 0% 50%; }
  100% { background-position: 100% 50%; }
}

@keyframes blobFloat {
  0%,100% { transform: translateY(0) translateX(0); }
  50% { transform: translateY(-80px) translateX(60px); }
}

/* ==========================
TOP WAVE (ANIMATED)
========================== */
.top-wave2 {
  position: absolute;
  top: -1px;
  left: 0;
  width: 100%;
  height: 120px;
  overflow: hidden;
  z-index: 4;
}

.top-wave2 svg {
  width: 200%;
  height: 100%;
}

/* Base wave style */
.wave2 {
  fill: #f7fafe;
}

/* Front wave â€“ slower */
.wave2-1 {
  animation: waveSlide 8s linear infinite;
  opacity: 1;
}

/* Back wave â€“ faster & softer */
.wave2-2 {
  animation: waveSlideReverse 4s linear infinite;
  opacity: 0.6;
}

/* ==========================
KEYFRAMES
========================== */
@keyframes waveSlide {
  from { transform: translateX(0); }
  to { transform: translateX(-25%); }
}

@keyframes waveSlideReverse {
  from { transform: translateX(-25%); }
  to { transform: translateX(0); }
}


/* =========================
ADVISOR SECTION
========================= */
.advisor-section {
  padding: 80px 0;
  background: #0b0f14;
}

/* =========================
ADVISOR CARD
========================= */
.advisor-card {
    display: flex;
    gap: 28px;
    background: radial-gradient(circle at 20% 30%, #2b3a7c, #0a1022 70%);
    border-radius: 16px;
    padding: 26px;
    margin-bottom: 28px;
    box-shadow: 0 10px 30px rgb(0 0 0 / 15%);
    border: 2px solid rgb(255 255 255 / 10%);
}

/* Image */
.advisor-img img {
  width: 120px;
  height: 120px;
  border-radius: 12px;
  object-fit: cover;
}

/* Content */
.advisor-content h4 {
  font-size: 1.25rem;
  font-weight: 700;
  color: #ebfffe;
  margin-bottom: 8px;
}

.advisor-content p {
  font-size: 0.95rem;
  line-height: 1.7;
  color: #ebfffe;
  margin: 0;
}

/* =========================
RESPONSIVE
========================= */
@media (max-width: 768px) {
  .advisor-card {
    flex-direction: column;
    text-align: left;
  }

  .advisor-img img {
    width: 100px;
    height: 100px;
  }
}
li.bigger {
    font-size: 20px;
    font-weight: bold;
	font-style: italic;
}


.expertise li {
    margin-bottom: 0;
}







/****************************************Medical practionioner liablity ******************************/

/* List Reset */
.benefits-list {
  list-style: none;
  padding: 0;
  margin: 0;
}

/* List Item */
.benefits-list li {
  display: flex;
  align-items: flex-start;
  gap: 18px;
  margin-bottom: 2px;
}

/* Check Icon */
.check-icon {
  width: 36px;
  height: 36px;
  min-width: 36px;
  background: #07543a;
  color: #fff;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 18px;
  font-weight: 700;
  box-shadow: 0 0 20px rgb(76 255 140 / 45%);
}
 
 
 
 .who-for-section {
  min-height: 60vh;
  background: linear-gradient(135deg, #2f3b55, #27324a);
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  padding: 80px 20px;
  text-align: center;
  color: #fff;
}

.who-for-section h2 {
  font-size: 42px;
  font-weight: 700;
  margin-bottom: 20px;
}

.who-for-section p {
  font-size: 22px;
  max-width: 900px;
  line-height: 1.6;
  opacity: 0.9;
}

.cursor::after {
  content: "|";
  margin-left: 4px;
  animation: blink 1s infinite;
}

@keyframes blink {
  0%, 50%, 100% { opacity: 1; }
  25%, 75% { opacity: 0; }
}


 /* ===== Section Wrapper ===== */
.premium-section {
  position: relative;
  padding: 20px;
  border-radius: 6px;
  overflow: hidden;
  color: #fff;
}

/* ===== Background Base ===== */
.water-bg {
    background: linear-gradient(135deg, #d8ffe4 0%, #f0fdf4 60%, #f0fdf4 100%);
    border: 1px solid #a7f3d0;
}
/* ===== Moving Water Light ===== */
.water-overlay {
  position: absolute;
  inset: -50%;
  background:
    repeating-radial-gradient(
      circle,
      rgba(140,170,255,0.06) 0px,
      rgba(140,170,255,0.02) 2px,
      transparent 4px
    );
  animation: waterFlow 32s linear infinite;
  filter: blur(1px);
  opacity: 0.7;
}

/* ===== Sparkles ===== */
.sparkles {
  position: absolute;
  inset: 0;
  background-image:radial-gradient(circle, rgba(255, 255, 255, 0.7) 1px, transparent 3px), radial-gradient(circle, rgba(120, 160, 255, 0.6) 3px, transparent 8px);
  background-size: 160px 160px, 260px 260px;
  animation: sparkleFloat 20s linear infinite;
  opacity: 0.25;
  pointer-events: none;
}

/* ===== Animations ===== */
@keyframes waterFlow {
  0% { transform: translate(-10%, -10%) rotate(0deg); }
  50% { transform: translate(6%, 6%) rotate(180deg); }
  100% { transform: translate(-10%, -10%) rotate(360deg); }
}

@keyframes sparkleFloat {
  0% { background-position: 0 0, 0 0; opacity: 0.15; }
  50% { background-position: 300px 400px, -400px 300px; opacity: 0.35; }
  100% { background-position: 600px 800px, -800px 600px; opacity: 0.15; }
}

/* ===== Content ===== */
.content {
  position: relative;
  z-index: 2;
}



/* ===== Timeline ===== */
.timeline {
  position: relative;
  max-width: 900px;
}

.timeline-item {
  position: relative;
  display: flex;
  gap: 14px;
  padding-bottom: 10px;
}

.timeline-item:last-child {
  padding-bottom: 0;
}

/* dots */
.dot {
  min-width: 34px;
  height: 34px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 15px;
  font-weight: 700;
  background: #073c2a;
  border-color: rgba(16, 185, 129, 0.3);
}

.dot.light {
  background: #ffffff;
  color: #0b1220;
  box-shadow: 0 0 20px rgba(255,255,255,.5);
}

/* lines */
.line {
  position: absolute;
  left: 17px;
  top: 30px;
  width: 2px;
  height: 100%;
  background: linear-gradient(#073c2a, transparent);
}

.line.dashed {
  background: repeating-linear-gradient(
    to bottom,
    rgba(255,255,255,.4),
    rgba(255,255,255,.4) 6px,
    transparent 6px,
    transparent 12px
  );
}

/* content */
.timeline-content h4 {
  font-size: 26px;
  margin-bottom: 10px;
}

.timeline-content p {
  font-size: 15px;
  line-height: 1.5; 
  margin-bottom: 6px;
color: #2c2c2c;
}

.timeline-content small {
  display: block;
  font-size: 0.75rem;
  font-weight: 600;
  color: #34d399;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}





/*************legal service*******************/

.legal-services-section { 
  padding: 100px 0; 
}

 
/* IMAGE GRID */
.image-stack {
  position: relative;
  height: 520px;
}

.image-stack .card {
  position: absolute;
  width: 230px;
  height: 280px;
  object-fit: cover;
  border-radius: 18px;
  box-shadow: 0 40px 90px rgba(0,0,0,.55);
  will-change: transform;
}

/* Placement (matches screenshot asymmetry) */
.c1 { top: 0; left: 40px; animation: drift1 32s ease-in-out infinite; }
.c2 { top: 110px; left: 260px; animation: drift2 38s ease-in-out infinite; }
.c3 { top: 270px; left: 10px; animation: drift3 34s ease-in-out infinite; }
.c4 { top: 350px; left: 240px; animation: drift4 42s ease-in-out infinite; }

/* REAL premium motion â€” barely noticeable */
@keyframes drift1 {
  0%,100% { transform: translateY(0) scale(1); }
  50% { transform: translateY(-6px) scale(1.01); }
}

@keyframes drift2 {
  0%,100% { transform: translateX(0) scale(1); }
  50% { transform: translateX(6px) scale(1.015); }
}

@keyframes drift3 {
  0%,100% { transform: translateY(0); }
  50% { transform: translateY(5px); }
}

@keyframes drift4 {
  0%,100% { transform: translateX(0); }
  50% { transform: translateX(-5px); }
}


/* FLOATING ANIMATION */
@keyframes float {
  0% { transform: translateY(0px); }
  50% { transform: translateY(-16px); }
  100% { transform: translateY(0px); }
}
.image-stack .card {
  opacity: 0;
  transform: translateY(40px) scale(.96);
  transition: all 1.4s cubic-bezier(.2,.8,.2,1);
}

.image-stack.reveal .card {
  opacity: 1;
  transform: translateY(0) scale(1);
}

 
 

/* SERVICE ITEMS */
.service-item {
  display: flex;
  gap: 20px;
  margin-bottom: 28px;
  opacity: 0;
  transform: translateY(40px);
  transition: all .8s ease;
}

.service-item.show {
  opacity: 1;
  transform: translateY(0);
}

/* ICON BOX */
.icon-box {
    min-width: 54px;
    height: 54px;
    border-radius: 51px;
    background: radial-gradient(circle at 20% 30%, #9eb0e5 0%, #4366B1 40%, #5b7cff 70%), linear-gradient(120deg, #4366B1, #5b7cff, #27407f);
    display: flex;
    align-items: center;
    justify-content: center;
    color: #fff;
    font-size: 22px;
    box-shadow: 0 0 20px rgba(91, 124, 255, .6), inset 0 0 10px rgba(255, 255, 255, .2);
}
 



/* SECTION BACKGROUND */
/* SECTION */
.why-section {
  background: linear-gradient(180deg, #2f3b52, #2a354a);
  padding: 100px 80px;
  font-family: system-ui, -apple-system, Segoe UI, sans-serif;
  color: #fff;
}

.content-wrap {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 80px;
  align-items: center;
}

/* LEFT CARD */
.cover-card {
  position: relative;
  padding: 48px;
  border-radius: 22px;
  background: #192030;
  border: 1px solid rgba(91,124,255,.35);
  box-shadow: 0 40px 100px rgba(0,0,0,.55);
  overflow: hidden;
}

/* TEXT */
.cover-card h3,
.cover-card p {
  position: relative;
  z-index: 5;
}

.cover-card h3 {
  font-size: 36px;
  margin-bottom: 20px;
}

.cover-card p {
  font-size: 22px;
  line-height: 1.5;
  color: #e5ebff;
}

/* RIGHT */
.why-content h2 {
  font-size: 48px;
  margin-bottom: 20px;
}

.why-content p {
  font-size: 20px;
  line-height: 1.6;
  color: #d6dcff;
}

/* ============================= */
/* WATER LAYERS                  */
/* ============================= */

/* Deep water base */
.water-base {
  position: absolute;
  inset: 0;
  background:
    radial-gradient(circle at 30% 20%, rgba(120,150,255,.25), transparent 40%),
    radial-gradient(circle at 70% 70%, rgba(90,130,255,.2), transparent 45%);
  z-index: 1;
}

/* Moving waves */
.water-waves {
  position: absolute;
  inset: -40%;
  background:
    repeating-linear-gradient(
      120deg,
      rgba(255,255,255,.05) 0px,
      rgba(255,255,255,.03) 20px,
      rgba(255,255,255,0) 60px
    );
  opacity: .35;
  filter: blur(30px);
  animation: waveMove 35s linear infinite;
  z-index: 2;
}

@keyframes waveMove {
  from { transform: translateX(-10%) translateY(-5%); }
  to   { transform: translateX(10%) translateY(5%); }
}

/* Sparkling caustics */
.water-sparkles {
  position: absolute;
  inset: -50%;
  background:
    radial-gradient(circle, rgba(255,255,255,.5) 2%, transparent 6%);
  background-size: 120px 120px;
  mix-blend-mode: overlay;
  animation: sparkleDrift 5s ease-in-out infinite;
  z-index: 3;
}

@keyframes sparkleDrift {
  0%   { transform: translate(0,0); opacity:.4; }
  50%  { transform: translate(-6%,4%); opacity:.7; }
  100% { transform: translate(0,0); opacity:.4; }
}

/* Falling droplets */
.water-drops {
  position: absolute;
  inset: 0;
  pointer-events: none;
  background-image:
    radial-gradient(circle, rgba(255,255,255,.9) 0%, transparent 60%);
  background-size: 4px 4px;
  animation: dropsFall 6s linear infinite;
  opacity: .25;
  z-index: 4;
}

@keyframes dropsFall {
  from { background-position: 0 -200px; }
  to   { background-position: 0 600px; }
}
/*-------------------------------------------------- pricing--------------------------------------------- */

.pricing-section {
  padding: 80px 20px;
  background: #fff;
  font-family: system-ui, sans-serif;
}

.pricing-title {
  text-align: center;
  font-size: 40px;
  margin-bottom: 50px;
  color: #0f172a;
}

.pricing-table {
  max-width: 1200px;
  margin: auto;
  border: 1px solid #e5ecff;
  border-radius: 14px;
  overflow: hidden;
}

.row-tab {
  display: grid;
  grid-template-columns: 1.2fr repeat(3, 1fr);
}

.row-tab.header {
  background: #f8faff;
}

.cell-tab {
  padding: 10px;
  border-right: 1px solid #e5ecff;
  border-bottom: 1px solid #e5ecff;
  font-size: 14px;
  color: #0f172a;
}

.cell-tab:last-child {
  border-right: none;
}

.feature {
  font-weight: 600;
}

.plan h4 {
  margin-bottom: 14px;
}

.plan button {
  padding: 10px 18px;
  border-radius: 999px;
  cursor: pointer;
  font-size: 14px;
}

/* CTA */
.pricing-cta {
  margin-top: 10px;
  display: flex;
  justify-content: center;
  gap: 20px;
}

.pricing-cta button {
  padding: 14px 28px;
  border-radius: 999px;
  font-size: 15px;
  border: none;
  cursor: pointer;
}

.primary {
  background: #7ea2f2;
  color: #fff;
}

.secondary {
  background: #e8eeff;
  color: #355adf;
}

/* ========================= */
/* MOBILE RESPONSIVE MODE    */
/* ========================= */
@media (max-width: 991px) {
  .pricing-table {
    border: none;
  }

  .row-tab {
    grid-template-columns: 1fr;
    border-bottom: 1px solid #e5ecff;
  }

  .row-tab.header {
    display: none;
  }

  .cell-tab {
    border: none;
    padding: 12px 16px;
  }

  .cell-tab::before {
    content: attr(data-label);
    font-weight: 600;
    display: block;
    margin-bottom: 4px;
    color: #475569;
  }
}




/* ================================ */
/*  COLUMN HOVER â€” CSS :has()  */
/* ================================ */

@media (min-width: 992px) {

  .pricing-table {
    --col-bg: transparent;
  }

  /* COLUMN 2 */
  .pricing-table:has(.row-tab .cell-tab:nth-child(2):hover) {
    --col-bg: radial-gradient(circle at 20% 30%, #ecf1ff 0%, #edf3ff 40%, #e0e6ff 70%), linear-gradient(120deg, #d9e5ff, #fdfdff, #dce6ff);
  }

  /* COLUMN 3 */
  .pricing-table:has(.row-tab .cell-tab:nth-child(3):hover) {
    --col-bg: radial-gradient(circle at 20% 30%, #ecf1ff 0%, #edf3ff 40%, #e0e6ff 70%), linear-gradient(120deg, #d9e5ff, #fdfdff, #dce6ff);
  }

  /* COLUMN 4 */
  .pricing-table:has(.row-tab .cell-tab:nth-child(4):hover) {
    --col-bg: radial-gradient(circle at 20% 30%, #ecf1ff 0%, #edf3ff 40%, #e0e6ff 70%), linear-gradient(120deg, #d9e5ff, #fdfdff, #dce6ff);
  }

  /* Apply background to the entire hovered column */
  .pricing-table:has(.cell-tab:nth-child(2):hover) .row-tab .cell-tab:nth-child(2),
  .pricing-table:has(.cell-tab:nth-child(3):hover) .row-tab .cell-tab:nth-child(3),
  .pricing-table:has(.cell-tab:nth-child(4):hover) .row-tab .cell-tab:nth-child(4) {
    background: var(--col-bg);
    transform: translateY(-2px);
	font-weight: bold;
  }

  .cell-tab {
    transition: background 0.35s ease, transform 0.35s ease;
  }
}

.leadership-wrap .coverage-card {
    background-color: rgb(255 255 255 / 10%);
    border-color: rgb(255 255 255 / 10%);
    padding: 24px;
}
.leadership-wrap .coverage-card .icon-circle {
    background: conic-gradient(from 248deg, #232839, #0a1022, #4b6dcc, #17213dd1);
    border-color: #3c4255;
}



/*--------------top heading styling -------------------*/

.sparkle-heading {
  font-size: 3rem;
  font-weight: 800;
  letter-spacing: 0.5px;
  position: relative;
  display: inline-block;

  /* Gradient setup */
  background:linear-gradient(135deg, #031810 0%, #2c846b 60%, #2d7f62 100%);

  background-size: 200% 200%;
  background-position: 0% 50%;

  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;

  animation: gradientFlow 3s ease-in-out infinite;
}

/* Sparkle shimmer layer */
.sparkle-heading::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(
    120deg,
    transparent 20%,
    rgba(255, 255, 255, 0.6) 35%,
    transparent 50%
  );
  background-size: 200% 100%;
  animation: sparkleShine 3s linear infinite;
  pointer-events: none;
  -webkit-mask-image: linear-gradient(#fff, #fff);
}

/* Gradient movement */
@keyframes gradientFlow {
  0% {
    background-position: 0% 50%;
  }
  50% {
    background-position: 100% 60%;
  }
  100% {
    background-position: 0% 50%;
  }
}

/* Sparkle animation */
@keyframes sparkleShine {
  0% {
    background-position: -150% 0;
  }
  100% {
    background-position: 150% 0;
  }
}




/***********************dummmy dashbord image*******************/
 

.dsdash-shell {
  max-width: 1100px;
  height: 560px;
  margin: auto;
  display: flex;
  border-radius: 24px;
  overflow: hidden;

  background: linear-gradient(145deg, #0e2a52, #071b35);
  box-shadow: 0 40px 80px rgba(0,0,0,.45);

  filter: blur(6px);
  opacity: 0.88;
}

/* SIDEBAR */
.dsdash-sidebar {
  width: 84px;
  background: linear-gradient(180deg, #0a2346, #06172f);
  padding: 26px 14px;
  display: flex;
  flex-direction: column;
  gap: 18px;
}

.dsdash-brand {
  height: 36px;
  border-radius: 10px;
  background: linear-gradient(90deg, #2b6cff, #6ab8ff);
}

.dsdash-nav {
  height: 28px;
  border-radius: 8px;
  background: rgba(255,255,255,.16);
}

/* BODY */
.dsdash-body {
  flex: 1;
  padding: 24px;
  display: flex;
  flex-direction: column;
  gap: 22px;
}

.dsdash-topbar {
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.dsdash-search {
  width: 240px;
  height: 34px;
  border-radius: 10px;
  background: rgba(255,255,255,.15);
}

.dsdash-avatar {
  width: 38px;
  height: 38px;
  border-radius: 50%;
  background: linear-gradient(135deg, #5b9dff, #90d4ff);
}

/* KPI */
.dsdash-kpi-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 18px;
}

.dsdash-kpi-card {
  height: 92px;
  border-radius: 16px;
  background:
    linear-gradient(135deg, rgba(91,157,255,.35), rgba(25,80,160,.4));
  box-shadow: inset 0 0 0 1px rgba(255,255,255,.08);
}

/* MAIN */
.dsdash-main-grid {
  display: grid;
  grid-template-columns: 2fr 1fr;
  gap: 18px;
  flex: 1;
}

.dsdash-chart-panel {
  border-radius: 18px;
  background:
    linear-gradient(180deg, rgba(120,180,255,.25), rgba(20,60,120,.4));
}

.dsdash-table-panel {
  border-radius: 18px;
  background: rgba(255,255,255,.08);
  padding: 16px;
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.dsdash-table-line {
  height: 16px;
  border-radius: 6px;
  background: rgba(255,255,255,.18);
}

 
/* hidden state */
.dsdash-step {
  opacity: 0;
  transform: translateY(20px);
  filter: blur(4px);
}

/* revealed */
.dsdash-step.is-visible {
  opacity: 1;
  transform: translateY(0);
  filter: blur(0);
  transition:
    opacity 0.9s ease,
    transform 0.9s cubic-bezier(.2,.8,.2,1),
    filter 0.9s ease;
}


/***************************responsive menu*********************************/
/* =========================
   MOBILE HAMBURGER
========================= */
.ds-mobile-toggle {
  display: none;
  width: 40px;
  height: 38px;
  border-radius: 4px;
  border: none;
  background: rgb(91 255 236 / 12%);
  cursor: pointer;
  position: relative;
}

.ds-mobile-toggle span,
.ds-mobile-toggle span::before,
.ds-mobile-toggle span::after {
  content: "";
  position: absolute;
  left: 50%;
  width: 20px;
  height: 2px;
  background: #073c2a;
  transform: translateX(-50%);
  transition: 0.3s ease;
	border-radius: 6px;
}

.ds-mobile-toggle span {
  top: 50%;
}

.ds-mobile-toggle span::before {
  top: -7px;
}

.ds-mobile-toggle span::after {
  top: 7px;
}

/* =========================
   MOBILE MENU
========================= */
@media (max-width: 768px) {

  .top-header {
     padding: 0px;
  }
.top-header .container {
    padding: 0;
    margin: 0;
}
  .header-pill {
    position: relative;
    z-index: 10;
	padding: 7px 10px 12px 20px;
	border-radius: 0;
	box-shadow: 0 0px 1px rgba(0, 0, 0, 0.02);
  }
.header-pill .brand img {
    height: 35px;
}

	.ds-mobile-toggle {
        display: block;
        z-index: 20;
        position: fixed;
        right: 10px;
        top: 10px;
    }

  .main-menu {
    position: absolute;
    top: calc(100% + 12px);
    left: 0;
    right: 0;

    background: linear-gradient(135deg, #030c18 0%, #051a14 60%, #062b1e 100%);
    backdrop-filter: blur(18px);

    border-radius: 20px;
    padding: 20px;

    display: flex;
    flex-direction: column;
    gap: 8px;

    transform: translateY(-12px);
    opacity: 0;
    pointer-events: none;

    transition: 0.35s ease;
    z-index: 15;
  }

  .top-header.ds-menu-open .main-menu {
    transform: translateY(0);
    opacity: 1;
    pointer-events: auto;
  }
  .main-menu a {
    color: rgb(255 255 255 / 100%);
  }
  .main-menu a.active {
    color: #ffffff;
	}
	.main-menu a.active::after {
    width: 6px;
    height: 100%;bottom: 0;
    left: -17px;
	}
	.menu-item .submenu {
        display: block;
        position: unset;
        opacity: 1;
        background: none;
		padding: 0;
    }
	.menu-item .submenu a {
        color: #ffffff;
        opacity: 1;
        position: unset;
        padding: 3px 5px;
        font-size: 14px;
    }
}


.btn-dropdown {
    border: 1px solid #dee2e6;
    width: 100%;
    text-align: left;
}
 
.login-section, .register-section {
    background: #ffffff;
}

 


.registration-scroll {

    height: 100vh;
    overflow-y: auto;
    overflow-x: hidden;
}
/* LEFT SIDE */
.login-left {
  background: url('../../images/hero-doctor.png') no-repeat center;
  background-size: cover;
  position: relative;
background: linear-gradient(135deg, #030c18 0%, #051a14 60%, #062b1e 100%);
}

.login-left::before {
  content: "";
  position: absolute;
  inset: 0;
  background: rgba(0,0,0,0.01);
}

.login-left-content {
  position: relative;
  z-index: 2;
  margin: auto;
  max-width: 400px;
}

/* Play Icon */
.play-icon {
  width: 90px;
  height: 90px;
  border: 4px solid #8bc34a;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  margin: auto;
}

.play-icon i {
  font-size: 40px;
  color: #8bc34a;
}

/* RIGHT SIDE */
.login-card {
  width: 100%;
  max-width: 420px;
}

/* Inputs */
.form-control {
  height: 48px;
  border-radius: 10px;
  font-size: 14px;
}

/* Password Eye */
.toggle-password {
  position: absolute;
  right: 12px;
  top: 14px;
  cursor: pointer;
  color: #999;
}

/* Divider */
.textdivider {
  font-size: 13px;
  color: #aaa;
  position: relative;
}

.textdivider::before,
.textdivider::after {
  content: "";
  height: 1px;
  width: 30%;
  background: #ddd;
  position: absolute;
  top: 50%;
}

.textdivider::before { left: 0; }
.textdivider::after { right: 0; }

/* Back link */
.back-link {
  font-size: 14px;
  color: #555;
  text-decoration: none;
}

.back-link:hover {
  color: #000;
}

/* Mobile */
@media (max-width: 992px) {
  .login-left {
    display: none;
  }
}


.initilly-hidden
{
display:none;
}

    .step {
      display: none;
    }
    .step.active {
      display: block;
    }
	
	
	
	
	
/* ================= RESPONSIVE ================= */
@media (max-width: 768px) {
  h1.main-h1 {
    font-size: 28px;
    line-height: 1.2;
    letter-spacing: -0.3px;
}

    .hero {
        padding: 90px 16px 24px 16px;
        position: relative;
    }
    .hero-text {
        text-align: center;
    }
    .hero-feature-pills {
        justify-content: center;
    }
    .hero-badge {
        margin: 0 auto 16px;
    }
    /* Show image on mobile */
    .hero-visual {
        display: block;
        margin-top: 20px;
    }
    /* Hide desktop CTA on mobile */
    .hero-cta-desktop {
        display: none !important;
    }
    /* Hero image wrap â€” relative so button can overlay */
    .hero-img-wrap {
        position: relative;
        border-radius: 14px;
        overflow: hidden;
        box-shadow: 0 8px 32px rgba(79,92,255,0.18);
    }
    .hero-img-wrap::after {
        content: '';
        position: absolute;
        inset: 0;
        background: linear-gradient(to bottom, transparent 40%, rgba(10,21,64,0.55) 100%);
        border-radius: 14px;
        pointer-events: none;
    }
    .hero-img-wrap .doctor-img {
        width: 100%;
        border-radius: 14px;
        display: block;
    }
    /* Button overlaid at bottom of image on mobile */
    .hero-cta-mobile {
        display: flex !important;
        position: absolute;
        bottom: 16px;
        left: 50%;
        transform: translateX(-50%);
        white-space: nowrap;
        font-size: 13px !important;
        padding: 10px 20px !important;
        box-shadow: 0 4px 20px rgba(79,92,255,0.45);
        z-index: 10;
    }
    .hero-cta-mobile:hover {
        transform: translateX(-50%) translateY(-4px) scale(1.05);
    }
    .hero-cta-mobile:active {
        transform: translateX(-50%) scale(0.97);
    }

.cta-btn {
    margin-top: 10px;
    padding: 10px;
}
    .stats-bar {
        gap: 6px;
    }
	.coverage-header.py-5 {
    padding-top: 1rem !important;
    padding-bottom: 1rem !important;
}
.coverage-card {
    padding: 15px !important;
}
.section-title2 {
    font-size: 16px;
}
	.orbit-3 {
    width: 300px;
    height: 300px;
}
.orbit-2 {
    width: 250px;
    height: 250px;
}
.orbit-1 {
    width: 200px;
    height: 200px;
}
.insurance-section {
    padding: 26px 15px;
    min-height: unset;
}
.premium-section {
    padding: 16px 6px;
}
.solar-system {
    width: 100%;
    height: 400px;
}
.coverage-cards {
    gap: 10px;
}
.fast-apply-section h2 {
    font-size: 16px;
}
.fast-apply-section {
    margin: 30px auto;
    padding: 30px;
}

.fast-apply-section p {
    font-size: 14px;
    font-weight: 400;
}
.faq-title {
    font-size: 20px;
}
section#faq-section .row.g-4.mt-5 {
    margin-top: 12px !important;
}
.faq-card {
    padding: 40px 30px 10px 30px;
}
.contact-info.p-5 {
    padding: 24px !important;
}
.contact-form.p-5 {
    padding: 24px !important;
}
 
 .logo-track {
    gap: 20px;
 }
 .legal-services-section {
    padding: 10px 0;
}
.image-stack .card {
    width: 160px;
    height: 160px;
}
.image-stack .card.c1
{
	left:30px;
	}
.image-stack .card.c2
{
	right:30px;
	left: auto;
	}
.image-stack .card.c3
{
	left:30px;
	}
.image-stack .card.c4
{
	right:30px;
	left: auto;
	}
	.why-section {
    padding: 30px;
}

.content-wrap {
    display: block;
}
.why-content h2 {
    font-size: 25px;
}
.coverage-left h2 {
    font-size: 25px;
    text-align: center;
}
.coverage-left {
    padding: 24px;
}
.pricing-section {
    padding: 20px 20px;
}
 
.pricing-title {
    font-size: 16px;
    margin-bottom: 20px;
}
h1.hero-title {
    font-size: 16px;
	margin-top: 0px !important;
}
.leadership-wrap .col-lg-3 {
    margin-bottom: 16px;
}
.icon-box {
    min-width: 40px;
    height: 40px;
	
}
.section-head h2 {
    font-size: 1.6rem;
}
button.cta-btn.active.mx-4 {
    margin: 10px 0px !important;
}
h2.why-title {
    font-size: 16px;
}


.hero-text p {
    margin-top: 10px;
    font-size: 14px;
}
a.header-cta {
    position: fixed;
    left: 0;
    right: 0;
    width: 60px;
    margin: auto;
    font-size: 14px;
    padding: 5px 12px;
}
.top-bar1, .top-bar2, .top-bar3, .top-bar4, .top-left {
    display: block !important;
}
html, body {
    overflow-x: clip; /* clip page edges without creating a scroll container â€” child overflow-x: auto still works */
}
h1.reveal.main-h1.active {
    font-size: 28px;
}
section.hero p strong {
    color: #1e3a5f;
    font-weight: 600;
}
section.hero p.body-txt.active {
    margin: 0;
}
section.hero .cta-btn {
    margin: 0 auto;
    display: inline-flex;
}
.smalltxts {
    font-size: 12px;
    padding-top: 18px;
}
.cta-btn {
    font-size: 12px;
    padding: 6px;
}
p {
    font-size: 14px;
}
/* .hero-text-detail is no longer used â€” replaced by .hero-feature-pills */

.logo-marquee {
    margin-bottom: 20px;
}
.WhyDoctorsChoose {
    margin-top: 20px;
	margin-bottom: 20px;
	padding: 0px 10px 0px 10px !important;
}
.main-h2 {
    font-size: 22px;
    font-weight: 700;
    line-height: 1.25;
}
.nav-btn {
    width: 30px;
    height: 30px;
}
.Howitworks {
    padding: 0px 10px 0px 10px !important;
}
.power-bg {
    padding: 30px 20px 90px 14px;
}
.WhyDoctorsChoose .nav-pills .nav-link
{
margin: 0px;
font-size: 12px;}
.WhyDoctorsChoose .feature-title {
    font-size: 18px;
}
.coverage-card .icon-circle {
    display: none;
}
.coverage-card h3.main-h3 {
    font-size: 16px;
    margin: 14px 0px;
}
.timeline-content p {
    font-size: 14px;
}
.testimonial-text
{
font-size: 14x;
}

.logo-track img {
    height: 30px;
    opacity: 1;
    padding: 6px;
	background: #f8fbff;
}
h2.trust-title.text-center.pb-5.main-h2 {
    margin-bottom: 0;
    padding-bottom: 20px !important;
}
/* Scroll hint wrapper â€” fades right edge to show more pills exist */
.tabs-scroll-wrap {
    position: relative;
}

/* WhyDoctorsChoose tabs â€” horizontal scroll strip on mobile */
section.WhyDoctorsChoose ul#featureTabs {
    display: flex !important;
    flex-wrap: nowrap !important;
    overflow-x: auto !important;
    -webkit-overflow-scrolling: touch;
    gap: 6px !important;
    padding: 6px 4px 10px !important;
    scrollbar-width: none;
    background: transparent !important;
    border: none !important;
    border-radius: 0 !important;
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box;
}
section.WhyDoctorsChoose ul#featureTabs::-webkit-scrollbar { display: none; }
/* Fade gradient on right edge â€” signals more pills can be scrolled into view */
.WhyDoctorsChoose .tabs-scroll-wrap::after {
    content: '';
    position: absolute;
    top: 0;
    right: 0;
    width: 52px;
    height: 100%;
    background: linear-gradient(to right, transparent, #f8fbff 90%);
    pointer-events: none;
    z-index: 3;
}
section.WhyDoctorsChoose ul#featureTabs li.nav-item {
    flex: 0 0 auto !important;
    width: auto !important;
    height: auto !important;
    margin-bottom: 0 !important;
    display: flex !important;
}
.WhyDoctorsChoose .nav-pills .nav-link {
    display: inline-flex !important;
    align-items: center !important;
    gap: 5px !important;
    font-size: 12px !important;
    padding: 7px 14px !important;
    white-space: nowrap !important;
    border-radius: 999px !important;
    height: auto !important;
    border: 1.5px solid #e0e3ff !important;
    background: #f5f6ff !important;
    color: #4b5563 !important;
    font-weight: 500 !important;
}
.WhyDoctorsChoose .nav-pills .nav-link.active {
    background: linear-gradient(135deg, #4ca465 0%, #051a14 60%, #3eb98e 100%) !important;
    color: #fff !important;
    border-color: transparent !important;
    box-shadow: 0 3px 10px rgba(109,92,255,0.3) !important;
}
.stats-box {
    padding: 15px 10px !important;
	display: block !important;
    }
.stats-box .stat-item {
    display: inline-block;
    width: 49%;
    margin: 0;
}
section.SafePractix-section h5 {
    font-size: 14px;
}
.coverage-card .card-header-green, .coverage-card .card-header-purple, .coverage-card .card-header-blue {
    height: 30px;
}
.top-bar .header-cta.active {
    display: block !important;
    position: fixed;
    right: 10px;
    left: auto;
    bottom: 10px;
	border: 0;
}
section.coverage-section {
    padding: 10px 10px 10px 10px;
}
.timeline-content h5 {
    font-size: 16px;
}
section.SafePractix-section {
    padding: 0px 10px 0px 10px;
}
.testimonial-wrapper {
    padding: 0px 10px 0px 10px;
}
section.Fast-apply.container {
    padding: 0px 20px 0px 20px;
}
footer.glass-footer.power-bg ul li {
    font-size: 14px;
}
.WhyDoctorsChoose .feature-img {
    display: none;
}
.WhyDoctorsChoose .feature-card {
    padding: 20px !important;
    margin-top: 16px !important;
    border-radius: 12px !important;
    box-shadow: 0 4px 20px rgba(79,92,255,0.08) !important;
}
.WhyDoctorsChoose .feature-title {
    font-size: 18px !important;
    font-weight: 700 !important;
    color: #0a1540 !important;
    margin-bottom: 10px !important;
}
.WhyDoctorsChoose .feature-text {
    font-size: 14px !important;
    line-height: 1.65 !important;
    color: #4b5563 !important;
}

}





.hero-section {
  height: 500px;
  background: url('https://images.unsplash.com/photo-1521737604893-d14cc237f11d') no-repeat center center/cover;
  position: relative;
}

/* Glass box */
.stats-box {
	backdrop-filter: blur(12px);
    background: rgba(255, 255, 255, 0.6);
    border-radius: 8px;
    padding: 25px 40px;
    box-shadow: 0px 0px 6px #cccccc;
    background-color: #defff3;
    background-image: linear-gradient(140deg, #f6fffc 25%, #defff3);
    border: 1px solid #8cebc9;
}

/* Stat items */
.stat-item {
  margin: 10px 20px;
}

.stat-icon { 
  border-radius: 12px;
  display: flex;
  align-items: center;
  justify-content: center;
padding: 6px 12px 0px 12px;
}

.stat-icon span {
  color: white;
  font-size: 28px;
  font-weight: bold;
}

/* Custom purple */
.bg-purple {
  background: linear-gradient(135deg, #7b2ff7, #a855f7);
}

.testimonial-section {
  background: #ffffff;
	padding: 10px;
}

.testimonial-wrapper {
  overflow: hidden;
  position: relative;
}

.testimonial-track {
  display: flex;
  gap: 20px;
  transition: transform 0.5s ease;
}

.testimonial-card {
  min-width: 320px;
  max-width: 320px;
  background: #f1f3f5;
  border-radius: 12px;
  padding: 25px;
  flex-shrink: 0;
}

.testimonial-text {
  font-size: 16px;
  color: #333;
  margin-bottom: 30px;
}

.user-info strong {
  display: block;
}

.user-info span {
  font-size: 14px;
  color: #666;
}

/* Arrow buttons */
.nav-btn {
  width: 40px;
  height: 40px;
  border-radius: 50%;
  border: none;
  background: #000;
  color: #fff;
  cursor: pointer;
}
.avatar {
  width: 45px;
  height: 45px;
  border-radius: 50%;
  object-fit: cover;
}

.company-logo {
  border: 1px solid #ccc;
  border-radius: 30px;
  padding: 5px 12px;
  background: #fff;
}

.company-logo img {
  height: 20px;
  object-fit: contain;
}



/******************home page finishng*******************/
.WhyDoctorsChoose {}

.WhyDoctorsChoose #featureTabs {
    background: #ffffff;
    border-radius: 14px;
    padding: 8px 10px;
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    width: 100%;
    border: 1px solid #e4eaff;
    box-sizing: border-box;
}
/* Heading */
.WhyDoctorsChoose .main-heading{
    font-size:42px;
    font-weight:600;
    max-width:800px;
}

/* Tabs */
.WhyDoctorsChoose .nav-pills .nav-link {
    background: linear-gradient(135deg, #eefff1, #ffffff);
    color: #4b5563;
    border-radius: 999px;
    border: 1.5px solid #e0e3ff;
    margin: 3px;
    font-size: 13.5px;
    font-weight: 500;
    display: flex;
    align-items: center;
    gap: 7px;
    padding: 8px 16px;
    transition: all 0.2s ease;
    white-space: nowrap;
}
.WhyDoctorsChoose .nav-pills .nav-link:hover {
    background: #e9fff9;
    color: #073c2a;
    border-color: #b9ffdf;
}
.WhyDoctorsChoose .nav-pills .nav-link.active {
    background: linear-gradient(135deg, #4ca465 0%, #051a14 60%, #3eb98e 100%);
    color: #fff;
    border-color: transparent;
    box-shadow: 0 4px 14px rgba(109,92,255,0.35);
}

/* Content Card */
.WhyDoctorsChoose .feature-card {
    background: #ffffff;
    border-radius: 16px;
    padding: 40px;
    margin-top: 24px;
    border: 1px solid #eaedff;
    box-shadow: 0 8px 40px rgba(79,92,255,0.07);
}

.WhyDoctorsChoose .feature-title{
    font-size:16px;
    font-weight:600;
}

.WhyDoctorsChoose .feature-text{
    color:#535353;
    margin: 0;
}

.WhyDoctorsChoose .feature-img{
    width:100%;
    border-radius:8px;
}

/* Responsive */
@media(max-width:768px){
   .WhyDoctorsChoose .main-heading{
        font-size:16px;
    }
   .WhyDoctorsChoose .feature-card{
        padding:20px;
		margin-top: 20px;
    }
	.hero-section {
		height: auto;
		padding: 20px 10px 0px 10px;
	}
.Howitworks .step-number {
    font-size: 11px !important;
    height: 28px !important;
    width: 28px !important;
    min-width: 28px !important;
}
.Howitworks .step-header {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    margin-bottom: 1rem !important;
}
}


.Howitworks{}

/* Section */
.Howitworks .section-title{
    text-align:center;
    color:#fff;
    margin-bottom:40px;
}

.Howitworks .section-title h2{
    font-weight:600;
}

.Howitworks .section-title span{
    color:#2b8cee;
}

/* Scroll Container */
.Howitworks .scroll-wrapper{
    overflow-x:auto;
    scroll-snap-type:x mandatory;
    -webkit-overflow-scrolling:touch;
    padding-bottom:10px;
}

.Howitworks .scroll-wrapper::-webkit-scrollbar{
    display:none;
}

/* Cards Row */
.Howitworks .scroll-row{
    display:flex;
    gap:20px;
}

/* Card */
.Howitworks .step-card{
    flex: 0 0 calc(22%); /* ~4.5 cards */
    background:#f1f3f5;
    scroll-snap-align:start;
    min-height:200px;
    position: relative;
    padding: 2rem 1.5rem;
    border-radius: 16px;
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.08);
    transition: all 0.3s ease;
    border-top: 6px solid #e0e0e0; /* default */
    overflow: hidden;
}

/* Active Card */
.Howitworks .step-card.active{
    background:linear-gradient(135deg, #030c18 0%, #051a14 60%, #062b1e 100%);
    color:#fff;
}

/* Step header â€” icon left, number badge right */
.Howitworks .step-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 1.25rem;
}

/* Step Number â€” in-flow flex child (right side) */
.Howitworks .step-number {
	font-size: 4rem;
    font-weight: 700;
    color: #073c2a;
}

.Howitworks .step-card:hover {
  transform: translateY(-8px);
  box-shadow: 0 12px 25px rgba(0, 123, 255, 0.15);
}

.Howitworks .step-icon {
  display: none;
  font-size: 2.4rem;
  color: #0d6efd;
  transition: color 0.3s;
  /* no margin-bottom â€” step-header handles spacing */
}

.Howitworks .step-card:hover .step-icon {
  color: #00b5ad; /* teal accent on hover */
}

.Howitworks .step-card.active .step-number{
    color:#fff;
}

/* Title */
.Howitworks .step-title{
    font-weight:800;
    margin-top:0;
    font-size: 30px;
}

/* Description */
.Howitworks .step-desc{
    font-size:14px;
    color:#535353;
}
.Howitworks .active .step-desc {
	Color: #ffffff;
}

.step-card.active {
  background: linear-gradient(145deg, #f8fffe, #ffffff);
  box-shadow: 0 10px 30px rgba(0, 181, 173, 0.25);
}

 
/* Responsive */
@media(max-width:1200px){
   .Howitworks  .step-card{
        flex:0 0 30%;
    }
}

@media(max-width:768px){
    .Howitworks .step-card{
        flex:0 0 75%;
    }
}

@media(max-width:480px){
    .Howitworks .step-card{
     flex:0 0 70%;
	padding: 10px 10px;
    }
.Howitworks .step-icon
{font-size: 1.2rem;
}
.testimonial-section h2.fw-bold {
    font-size: 1.25rem;
    margin-bottom: 0;
}
.testimonial-text {
    font-size: 14px;
    margin-bottom: 0px;
}
section#trustStats {
    padding-bottom: 1rem !important;
	padding-top: 2rem !important;
	background-color: #ffffff;
}
}



.Howitworks .cards-wrapper {
  display: flex;
  gap: 20px;
  overflow-x: auto;
  scroll-behavior: smooth;
  padding: 12px;
}

/* Hide scrollbar */
.Howitworks .cards-wrapper::-webkit-scrollbar {
  display: none;
}

 
.Howitworks .step {
  position: absolute;
  top: 15px;
  right: 15px;
  font-weight: 600;
  color: #cfd4da;
}

 

/* Scroll Buttons */
.Howitworks .scroll-btn {
  position: absolute;
  top: 40%;
  transform: translateY(-50%);
  z-index: 2;
  background: #fff;
  border: none;
  box-shadow: 0 2px 10px rgba(0,0,0,0.1);
  width: 40px;
  height: 40px;
  border-radius: 50%;
}

 .quote-modal {
  border-radius: 16px;
  padding: 10px;
}

.quote-modal .form-control,
.quote-modal .form-select {
  border-radius: 10px;
  padding: 10px 12px;
  font-size: 14px;
}

.quote-modal .form-control:focus,
.quote-modal .form-select:focus {
  border-color: #0d6efd;
  box-shadow: 0 0 0 0.15rem rgba(13,110,253,0.15);
}

.modal-content {
  box-shadow: 0 10px 40px rgba(0,0,0,0.1);
}


/* ===================================================================
   BEAUTIFICATION ENHANCEMENTS
=================================================================== */

/* â”€â”€ Hero â”€â”€ */
.hero {
  background:
    radial-gradient(ellipse at 75% 40%, #e2ffef 0%, #f0fffd 40%, #f8fffa 100%);
  overflow: hidden;
}

/* Hero decorative blobs */
.hero::before {
  content: "";
  position: absolute;
  width: 500px;
  height: 500px;
  background: radial-gradient(circle, rgba(109,92,255,0.10) 0%, transparent 70%);
  top: -100px;
  right: -100px;
  pointer-events: none;
  border-radius: 50%;
}

.hero::after {
  content: "";
  position: absolute;
  width: 300px;
  height: 300px;
  background: radial-gradient(circle, rgba(79,124,255,0.08) 0%, transparent 70%);
  bottom: 20px;
  left: 60px;
  pointer-events: none;
  border-radius: 50%;
}

/* Override sparkle-heading on hero h1 to stay readable */
h1.main-h1.sparkle-heading {
  background: radial-gradient(circle at 20% 30%, #06281d 0%, #073c2a 40%, #5cff7a 100%);
  background-size: 200% 200%;
  background-position: 0% 50%;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  color: transparent !important;
  animation: gradientFlow 4s ease-in-out infinite;
}

.hero-badge {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  background: rgba(255,255,255,0.95);
  border: 1px solid #dde3ff;
  border-radius: 999px;
  padding: 7px 18px;
  font-size: 13px;
  font-weight: 600;
  color: #06291d;
  margin-bottom: 22px;
  box-shadow: 0 2px 14px rgba(79,92,255,0.13);
  letter-spacing: 0.2px;
}

.hero-badge .badge-dot {
  width: 8px;
  height: 8px;
  min-width: 8px;
  background: #22c55e;
  border-radius: 50%;
  box-shadow: 0 0 7px rgba(34,197,94,0.75);
  animation: badgePulse 1.8s ease-in-out infinite;
}

@keyframes badgePulse {
  0%, 100% { opacity: 1; transform: scale(1); }
  50%       { opacity: 0.7; transform: scale(1.5); }
}

.doctor-img {
  border-radius: 16px;
  box-shadow: 0 30px 80px rgba(79,92,255,0.18);
}

/* â”€â”€ Trust / Marquee â”€â”€ */
#trustStats {
  background:#ffffff;
}

.trust-title {
  font-size: 15px !important;
  font-weight: 600 !important;
  color: #6b7280 !important;
  text-transform: uppercase;
  letter-spacing: 1.2px;
}

/* â”€â”€ Step cards â”€â”€ */
.Howitworks .step-card {
    background: linear-gradient(145deg, #fafbff, #ffffff);
    background-color: #defff3;
    background-image: linear-gradient(140deg, #f6fffc 25%, #defff3);
    background-clip: border-box;
    border: 1px solid #8cebc9;
    border-radius: 16px;
}

/* Colored top accent â€” must come after border shorthand above */
.Howitworks .step-card:nth-child(1) { border-top-color: #0d6efd; }
.Howitworks .step-card:nth-child(2) { border-top-color: #198754; }
.Howitworks .step-card:nth-child(3) { border-top-color: #fd7e14; }
.Howitworks .step-card:nth-child(4) { border-top-color: #6f42c1; }
.Howitworks .step-card:nth-child(5) { border-top-color: #d63384; }
.Howitworks .step-card:nth-child(6) { border-top-color: #0099cc; }

/* â”€â”€ Navigation buttons â”€â”€ */
.nav-btn {
	background: linear-gradient(135deg, #eefff1, #ffffff);
    color: #4b5563;
    border-radius: 999px;
    border: 1.5px solid #e0e3ff;
}
.nav-btn:hover {
  background: linear-gradient(135deg, #030c18 0%, #051a14 60%, #062b1e 100%);
  color: #fff !important; 
}

/* â”€â”€ Coverage / crisis section â”€â”€ */
.coverage-section {
  background: linear-gradient(180deg, #ffffff 0%, #f4f7ff 100%) !important;
}

/* â”€â”€ Testimonials â”€â”€ */
.testimonial-section { 
}

.testimonial-card {
	background: #ffffff !important;
    border: 1px solid #bfffe8;
    box-shadow: 0 4px 20px rgb(79 255 135 / 7%);
    transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.testimonial-card:hover {
  transform: translateY(-5px);
  box-shadow: 0 16px 40px rgba(79,92,255,0.14);
}

.star-rating {
  color: #f59e0b;
  font-size: 15px;
  letter-spacing: 2px;
  margin-bottom: 12px;
}

/* â”€â”€ Feature images â”€â”€ */
.WhyDoctorsChoose .feature-img {
  border-radius: 12px;
  box-shadow: 0 20px 60px rgba(0,0,0,0.1);
  transition: transform 0.4s ease;
    width: 215px;

}
.WhyDoctorsChoose .feature-img:hover {
  transform: scale(1.02);
}

/* â”€â”€ Stat items â”€â”€ */
.stat-item p {
  font-weight: 500;
  color: #4a5568;
}

/* â”€â”€ Modal â”€â”€ */
.quote-modal {
  border-radius: 20px !important;
}

/* â”€â”€ Testimonial section heading â”€â”€ */
.testimonial-section h2.fw-bold {
  font-size: 1.9rem;
  color: #0a1540;
}

/* â”€â”€ Why Doctors Choose subtitle â”€â”€ */
.why-subtitle {
  color: #6b7280;
  font-size: 15px;
  margin: -10px 0 24px;
}

/* â”€â”€ WhyDoctorsChoose section background â”€â”€ */
.WhyDoctorsChoose {
  background:  linear-gradient(135deg, #eefff1, #ffffff);
  padding-top: 60px;
}

/* â”€â”€ How it works section background â”€â”€ */
.Howitworks {
  background: linear-gradient(180deg, #ffffff 0%, #f4f7ff 100%);
}

/* â”€â”€ Stats counter numbers â”€â”€ */
.stat-icon h3 {
  font-size: 2rem !important;
  font-weight: 800 !important;
}

/* â”€â”€ Hero section (stats bar) improved â”€â”€ */
.hero-section {
  background: url('https://images.unsplash.com/photo-1504439468489-c8920d796a29?q=80&w=1200') no-repeat center center/cover !important;
}

/* â”€â”€ Footer quick links as actual links â”€â”€ */
footer .col-md-4:last-child ul li {
  cursor: pointer;
  color: rgba(255,255,255,0.8);
}
footer .col-md-4:last-child ul li:hover {
  color: #ffffff;
  opacity: 1;
}

/* â”€â”€ WhyDoctorsChoose feature card â”€â”€ */
.WhyDoctorsChoose .feature-card {
  box-shadow: 0 8px 40px rgba(109,92,255,0.08);
  border: 1px solid #eaedff;
}

/* â”€â”€ Coverage card icon circle â”€â”€ */
.coverage-section .icon-circle {
    background: #e9fff9;
    color: #073c2a;
    border-color: #b9ffdf;
}

.coverage-section .coverage-card .icon-circle {
    background: transparent;
    border: 0;
    position: absolute;
    top: 30px;
    left: 35px;
}
.coverage-section .coverage-card h3.main-h3 {
    margin-top: 15px;
}
.coverage-section .icon-circle i {
  color: #ffffff;
  font-size: 3rem;
}
/* â”€â”€ Testimonial avatar ring â”€â”€ */
.avatar {
  border: 3px solid #eaedff;
  box-shadow: 0 4px 12px rgba(79,92,255,0.15);
}

/* â”€â”€ Hero image wrap (desktop â€” no overlay) â”€â”€ */
.hero-img-wrap {
  position: relative;
}
.hero-cta-mobile {
  display: none;
}

/* â”€â”€ Hero feature pills â”€â”€ */
.hero-feature-pills {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin: 18px 0 24px;
  opacity: 0;
}
.hero-feature-pills.active {
  opacity: 1;
}
.hero-pill {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  background: linear-gradient(135deg, #eefff1, #ffffff);
  border: 1px solid #dde3ff;
  border-radius: 999px;
  padding: 6px 14px;
  font-size: 12.5px;
  font-weight: 500;
  color: #06291d;
  white-space: nowrap;
  box-shadow: 0 2px 8px rgba(79,92,255,0.10);
  transition: transform 0.2s ease, box-shadow 0.2s ease;
}
.hero-pill i {
  font-size: 13px;
  color: #06291d;
}
.hero-pill:hover {
  transform: translateY(-2px);
  box-shadow: 0 6px 16px rgba(79,92,255,0.18);
}

/* â”€â”€ Hero badge + pills mobile â”€â”€ */
@media (max-width: 767px) {
  .hero-badge {
    font-size: 11.5px;
    padding: 5px 14px;
    white-space: nowrap;
    line-height: 1.4;
  }
  .hero-feature-pills {
    gap: 7px;
    justify-content: center;
    margin: 14px 0 20px;
  }
  .hero-pill {
    font-size: 11.5px;
    padding: 5px 11px;
  }
  /* Section heading fix on mobile */
  .WhyDoctorsChoose h2.main-h2,
  .Howitworks h2.main-h2,
  .coverage-section h2.main-h2 {
    font-size: 20px !important;
    font-weight: 700 !important;
    text-align: left;
  }
  .why-subtitle {
    font-size: 13px;
    margin-bottom: 14px !important;
  }
  /* Howitworks nav buttons on mobile */
  .d-flex.justify-content-between.align-items-center.mb-4 {
    flex-wrap: nowrap;
    gap: 8px;
  }
}

/* ── Shield stage mobile centering ── */
@media (max-width: 991px) {
  .shield-stage {
    width: 100%;
    max-width: 340px;
    height: 340px;
    margin: 40px auto 0;
  }
  .arc-1 { width: 300px; height: 300px; }
  .arc-2 { width: 260px; height: 260px; }
  .arc-3 { width: 220px; height: 220px; }
  .shield-glow { width: 220px; height: 220px; }
}


/* ======================================================
  FOOTER PAYMENT ICONS
====================================================== */
.footer-payment {
  display: flex;
  align-items: center;
  gap: 16px;
  flex-wrap: wrap;
  padding: 20px 0 16px;
  border-top: 1px solid rgba(255,255,255,0.08);
}
.pay-label {
  font-size: 0.7rem;
  color: rgba(255,255,255,0.4);
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  white-space: nowrap;
  margin-right: 4px;
}
.pay-badges {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  align-items: center;
}
.pay-icon-wrap {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  opacity: 0.85;
  transition: opacity 0.2s, transform 0.2s;
  border-radius: 6px;
  overflow: hidden;
}
.pay-icon-wrap:hover {
  opacity: 1;
  transform: translateY(-2px);
}
.pay-svg {
  width: 54px;
  height: 34px;
  display: block;
}
/* keep old .pay-badge for other pages not yet updated */
.pay-badge {
  display: inline-block;
  font-size: 0.68rem;
  font-weight: 800;
  padding: 4px 10px;
  border-radius: 5px;
  letter-spacing: 0.04em;
  line-height: 1.4;
}
.pay-badge.upi {
  background: linear-gradient(135deg, #4f3cc9 0%, #7c3aed 100%);
  color: #fff;
}

/* ======================================================
  TERMS PAGE
====================================================== */
.terms-hero {
  padding-bottom: 80px;
}

.terms-overview-row {
  margin-bottom: 28px;
}

.terms-overview {
  padding: 30px 32px;
  border: 1px solid #dfe6ff;
  border-radius: 28px;
  background: rgba(255, 255, 255, 0.85);
  backdrop-filter: blur(12px);
  box-shadow: 0 24px 70px rgba(28, 43, 111, 0.11);
}

.terms-kicker {
  display: inline-flex;
  align-items: center;
  padding: 6px 14px;
  margin-bottom: 14px;
  border-radius: 999px;
  background: rgba(79, 70, 229, 0.08);
  border: 1px solid rgba(99, 102, 241, 0.16);
  color: #4338ca;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.terms-overview-head h3 {
  margin-bottom: 10px;
  font-size: 32px;
  line-height: 1.15;
  color: #0f172a;
}

.terms-overview-head p {
  margin: 0;
  max-width: 760px;
  color: #475569;
  line-height: 1.8;
  text-align: justify;
}

.terms-pill-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 14px;
  margin-top: 26px;
}

.terms-pill {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 16px 18px;
  border: 1px solid #e3e9ff;
  border-radius: 18px;
  background: linear-gradient(180deg, #ffffff 0%, #f8faff 100%);
  color: #1e293b;
  font-weight: 600;
  box-shadow: 0 14px 30px rgba(15, 23, 42, 0.05);
}

.terms-pill i {
  font-size: 18px;
  color: #4f46e5;
}

.terms-note {
  display: flex;
  gap: 14px;
  margin-top: 22px;
  padding: 18px 20px;
  border-radius: 18px;
  background: linear-gradient(135deg, #eef2ff, #f8fbff);
  border: 1px solid #dbe4ff;
}

.terms-note i {
  font-size: 20px;
  color: #4338ca;
}

.terms-note p {
  margin: 0;
  color: #334155;
  line-height: 1.7;
  text-align: justify;
}

.terms-content-card {
  padding: 34px;
  border: 1px solid #dfe6ff;
  border-radius: 30px;
  background: rgba(255, 255, 255, 0.9);
  backdrop-filter: blur(12px);
  box-shadow: 0 24px 70px rgba(28, 43, 111, 0.1);
}

.terms-content-card h4.main-h1 {
  position: relative;
  margin: 28px 0 16px;
  padding-left: 18px;
  font-size: 30px;
  line-height: 1.2;
}

.terms-content-card h4.main-h1::before {
  content: "";
  position: absolute;
  top: 4px;
  left: 0;
  width: 6px;
  height: calc(100% - 8px);
  border-radius: 999px;
  background: linear-gradient(180deg, #6d5cff, #4d6dff);
}

.terms-content-card h4.main-h1:first-child {
  margin-top: 0;
}

.terms-content-card p.body-txt,
.terms-content-card ul.body-txt {
  margin-bottom: 18px;
  padding: 22px 24px;
  border: 1px solid #e6ebff;
  border-radius: 22px;
  background: linear-gradient(180deg, #ffffff 0%, #f8fbff 100%);
  box-shadow: 0 16px 35px rgba(15, 23, 42, 0.05);
  color: #334155;
  line-height: 1.85;
  text-align: justify;
}

.terms-content-card ul.body-txt {
  list-style: none;
  padding-left: 24px;
  counter-reset: terms-item;
}

.terms-content-card p.body-txt:last-child,
.terms-content-card ul.body-txt:last-child {
  margin-bottom: 0;
}

.terms-content-card ul.body-txt li {
  position: relative;
  margin: 0 0 14px;
  padding: 14px 16px 14px 68px;
  border: 1px solid #d9e2ff;
  border-radius: 16px;
  background: linear-gradient(180deg, #ffffff 0%, #f9fbff 100%);
  box-shadow: 0 14px 30px rgba(15, 23, 42, 0.06);
  color: #334155;
  opacity: 1;
  transform: none;
  text-align: justify;
  counter-increment: terms-item;
}

.terms-content-card ul.body-txt li:last-child {
  margin-bottom: 0;
}

.terms-content-card ul.body-txt li::before {
  content: counter(terms-item);
  position: absolute;
  top: 13px;
  left: 16px;
  width: 38px;
  height: 38px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 12px;
  background: linear-gradient(135deg, #6d5cff, #4d6dff);
  box-shadow: 0 10px 22px rgba(79, 70, 229, 0.32);
  color: #ffffff;
  font-size: 15px;
  font-weight: 800;
  border: 2px solid rgba(255, 255, 255, 0.55);
}

.terms-content-card ul.body-txt li:hover {
  transform: none;
  opacity: 1;
}

@media (max-width: 991px) {
  .terms-pill-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 767px) {
  .terms-hero {
    padding-bottom: 50px;
  }

  .terms-overview,
  .terms-content-card {
    padding: 22px;
    border-radius: 22px;
  }

  .terms-overview-head h3 {
    font-size: 24px;
  }

  .terms-pill-grid {
    grid-template-columns: minmax(0, 1fr);
  }

  .terms-content-card h4.main-h1 {
    font-size: 23px;
    padding-left: 14px;
  }

  .terms-content-card p.body-txt,
  .terms-content-card ul.body-txt {
    padding: 18px;
    border-radius: 18px;
    font-size: 14px;
  }

  .terms-content-card ul.body-txt li {
    padding: 13px 12px 13px 58px;
  }

  .terms-content-card ul.body-txt li::before {
    left: 12px;
    width: 34px;
    height: 34px;
    border-radius: 11px;
    font-size: 13px;
  }
}

/* ======================================================
  REFUND POLICY PAGE
====================================================== */
.refund-policy-page {
  padding-bottom: 80px;
}

.refund-hero-shell {
  position: relative;
  overflow: hidden;
  padding: 38px;
  border: 1px solid #dbe3ff;
  border-radius: 34px;
  background:
    radial-gradient(circle at top right, rgba(109, 92, 255, 0.12), transparent 34%),
    linear-gradient(180deg, rgba(255, 255, 255, 0.96) 0%, rgba(247, 250, 255, 0.96) 100%);
  box-shadow: 0 26px 70px rgba(28, 43, 111, 0.11);
}

.refund-kicker,
.refund-panel-label,
.refund-mini-label,
.refund-section-eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 7px 14px;
  border-radius: 999px;
  background: rgba(109, 92, 255, 0.1);
  border: 1px solid rgba(109, 92, 255, 0.16);
  color: #5243d6;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.refund-hero-copy {
  height: 100%;
  display: flex;
  flex-direction: column;
  justify-content: center;
}

.refund-hero-copy h1 {
  margin: 8px 0 16px;
  font-size: 56px;
  line-height: 1.05;
}

.refund-lead {
  max-width: 620px;
  margin: 0;
  color: #475569;
  font-size: 17px;
  line-height: 1.85;
  text-align: justify;
}

.refund-hero-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin-top: 26px;
}

.refund-hero-tags span {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  padding: 13px 16px;
  border-radius: 16px;
  border: 1px solid #e0e7ff;
  background: linear-gradient(180deg, #ffffff 0%, #f9fbff 100%);
  color: #1e293b;
  font-weight: 600;
  box-shadow: 0 16px 32px rgba(15, 23, 42, 0.05);
}

.refund-hero-tags i {
  color: #5b52e8;
}

.refund-hero-card,
.refund-side-panel,
.refund-contact-panel,
.refund-policy-card,
.refund-signal-card {
  border: 1px solid #dfe6ff;
  border-radius: 26px;
  background: linear-gradient(180deg, #ffffff 0%, #f8fbff 100%);
  box-shadow: 0 18px 42px rgba(15, 23, 42, 0.06);
}

.refund-hero-card {
  height: 100%;
  padding: 28px;
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.98) 0%, rgba(244, 247, 255, 0.98) 100%);
}

.refund-hero-card h3 {
  margin: 14px 0 18px;
  color: #0f172a;
  font-size: 27px;
  line-height: 1.25;
}

.refund-checklist {
  list-style: none;
  margin: 0;
  padding: 0;
}

.refund-checklist li {
  position: relative;
  margin-bottom: 14px;
  padding: 14px 14px 14px 50px;
  border: 1px solid #e4e9ff;
  border-radius: 18px;
  background: #ffffff;
}

.refund-checklist li:last-child {
  margin-bottom: 0;
}

.refund-checklist li::before {
  content: "";
  position: absolute;
  top: 18px;
  left: 16px;
  width: 18px;
  height: 18px;
  border-radius: 50%;
  background: linear-gradient(135deg, #6d5cff, #4d6dff);
  box-shadow: 0 0 0 6px rgba(109, 92, 255, 0.12);
}

.refund-checklist strong,
.refund-policy-card strong {
  color: #0f172a;
}

.refund-checklist span {
  display: block;
  margin-top: 4px;
  color: #5b6678;
  line-height: 1.7;
}

.refund-card-foot {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  margin-top: 18px;
  color: #526174;
  font-weight: 600;
}

.refund-card-foot i {
  color: #5b52e8;
}

.refund-signal-grid {
  margin-top: 30px;
}

.refund-signal-card {
  height: 100%;
  padding: 24px;
}

.refund-signal-icon,
.refund-section-icon {
  width: 54px;
  height: 54px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 18px;
  background: linear-gradient(135deg, #6d5cff, #4d6dff);
  box-shadow: 0 14px 28px rgba(79, 70, 229, 0.24);
  color: #ffffff;
  font-size: 24px;
  flex-shrink: 0;
}

.refund-signal-card h4 {
  margin: 18px 0 10px;
  font-size: 22px;
  line-height: 1.2;
}

.refund-signal-card p {
  margin: 0;
  color: #5b6678;
  line-height: 1.8;
  text-align: justify;
}

.refund-main-layout {
  margin-top: 30px;
}

.refund-side-panel,
.refund-contact-panel {
  padding: 24px;
}

.refund-side-panel {
  position: sticky;
  top: 118px;
}

.refund-side-panel h3 {
  margin: 14px 0 18px;
  font-size: 28px;
  line-height: 1.15;
}

.refund-side-links {
  display: grid;
  gap: 10px;
}

.refund-side-links a {
  padding: 13px 16px;
  border: 1px solid #e2e8ff;
  border-radius: 16px;
  background: #ffffff;
  color: #20304c;
  text-decoration: none;
  font-weight: 600;
  transition: all 0.25s ease;
}

.refund-side-links a:hover {
  border-color: #b8c5ff;
  color: #4d3ff0;
  transform: translateX(4px);
}

.refund-contact-panel {
  margin-top: 18px;
}

.refund-contact-panel p {
  margin: 14px 0 0;
  color: #4c5b6d;
  line-height: 1.8;
  text-align: justify;
}

.refund-contact-panel a,
.refund-policy-card a {
  color: #4d3ff0;
  font-weight: 600;
}

.refund-policy-stack {
  display: grid;
  gap: 18px;
}

.refund-policy-card {
  padding: 26px;
}

.refund-card-head {
  display: flex;
  align-items: flex-start;
  gap: 16px;
  margin-bottom: 18px;
}

.refund-section-eyebrow {
  margin-bottom: 10px;
}

.refund-card-head h3 {
  margin: 0;
  font-size: 29px;
  line-height: 1.15;
  color: #0f172a;
}

.refund-policy-card p {
  margin: 0;
  color: #475569;
  line-height: 1.85;
  text-align: justify;
}

.refund-list {
  list-style: none;
  margin: 0;
  padding: 0;
}

.refund-list li {
  position: relative;
  margin-bottom: 12px;
  padding: 14px 16px 14px 44px;
  border: 1px solid #e5ebff;
  border-radius: 18px;
  background: rgba(255, 255, 255, 0.95);
  color: #475569;
  line-height: 1.82;
  text-align: justify;
}

.refund-list li:last-child {
  margin-bottom: 0;
}

.refund-list li::before {
  content: "";
  position: absolute;
  top: 22px;
  left: 16px;
  width: 12px;
  height: 12px;
  border-radius: 50%;
  background: linear-gradient(135deg, #6d5cff, #4d6dff);
  box-shadow: 0 0 0 5px rgba(109, 92, 255, 0.12);
}

@media (max-width: 1199px) {
  .refund-hero-copy h1 {
    font-size: 48px;
  }

  .refund-side-panel {
    position: static;
  }
}

@media (max-width: 991px) {
  .refund-hero-shell {
    padding: 28px;
  }

  .refund-hero-card h3,
  .refund-side-panel h3,
  .refund-card-head h3 {
    font-size: 24px;
  }
}

@media (max-width: 767px) {
  .refund-policy-page {
    padding-bottom: 50px;
  }

  .refund-hero-shell,
  .refund-hero-card,
  .refund-side-panel,
  .refund-contact-panel,
  .refund-policy-card,
  .refund-signal-card {
    padding: 20px;
    border-radius: 22px;
  }

  .refund-hero-copy h1 {
    font-size: 36px;
  }

  .refund-lead,
  .refund-signal-card p,
  .refund-contact-panel p,
  .refund-policy-card p,
  .refund-list li,
  .refund-checklist span {
    font-size: 14px;
  }

  .refund-hero-tags span {
    width: 100%;
    justify-content: flex-start;
  }

  .refund-checklist li {
    padding-left: 44px;
  }

  .refund-checklist li::before {
    left: 14px;
    width: 16px;
    height: 16px;
  }

  .refund-card-head {
    gap: 12px;
  }

  .refund-signal-icon,
  .refund-section-icon {
    width: 46px;
    height: 46px;
    border-radius: 16px;
    font-size: 20px;
  }

  .refund-list li {
    padding: 13px 14px 13px 40px;
  }

  .refund-list li::before {
    top: 20px;
    left: 14px;
    width: 10px;
    height: 10px;
  }
}

/* ======================================================
  PRIVACY POLICY PAGE
====================================================== */
.privacy-policy-page {
  padding-bottom: 80px;
}

.privacy-hero-shell {
  position: relative;
  overflow: hidden;
  padding: 38px;
  border: 1px solid #dbe4ff;
  border-radius: 34px;
  background:
    radial-gradient(circle at top left, rgba(77, 109, 255, 0.12), transparent 34%),
    linear-gradient(180deg, rgba(255, 255, 255, 0.97) 0%, rgba(246, 249, 255, 0.97) 100%);
  box-shadow: 0 26px 70px rgba(28, 43, 111, 0.11);
}

.privacy-kicker,
.privacy-panel-label,
.privacy-mini-label,
.privacy-section-eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 7px 14px;
  border-radius: 999px;
  background: rgba(77, 109, 255, 0.1);
  border: 1px solid rgba(77, 109, 255, 0.16);
  color: #4254df;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.privacy-hero-copy {
  height: 100%;
  display: flex;
  flex-direction: column;
  justify-content: center;
}

.privacy-hero-copy h1 {
  margin: 8px 0 16px;
  font-size: 56px;
  line-height: 1.05;
}

.privacy-lead {
  max-width: 620px;
  margin: 0;
  color: #475569;
  font-size: 17px;
  line-height: 1.85;
  text-align: justify;
}

.privacy-hero-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin-top: 26px;
}

.privacy-hero-tags span {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  padding: 13px 16px;
  border-radius: 16px;
  border: 1px solid #e0e7ff;
  background: linear-gradient(180deg, #ffffff 0%, #f9fbff 100%);
  color: #1e293b;
  font-weight: 600;
  box-shadow: 0 16px 32px rgba(15, 23, 42, 0.05);
}

.privacy-hero-tags i {
  color: #4d6dff;
}

.privacy-hero-card,
.privacy-side-panel,
.privacy-contact-panel,
.privacy-policy-card,
.privacy-signal-card {
  border: 1px solid #dfe6ff;
  border-radius: 26px;
  background: linear-gradient(180deg, #ffffff 0%, #f8fbff 100%);
  box-shadow: 0 18px 42px rgba(15, 23, 42, 0.06);
}

.privacy-hero-card {
  height: 100%;
  padding: 28px;
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.98) 0%, rgba(243, 247, 255, 0.98) 100%);
}

.privacy-hero-card h3 {
  margin: 14px 0 18px;
  color: #0f172a;
  font-size: 27px;
  line-height: 1.25;
}

.privacy-checklist {
  list-style: none;
  margin: 0;
  padding: 0;
}

.privacy-checklist li {
  position: relative;
  margin-bottom: 14px;
  padding: 14px 14px 14px 50px;
  border: 1px solid #e4e9ff;
  border-radius: 18px;
  background: #ffffff;
}

.privacy-checklist li:last-child {
  margin-bottom: 0;
}

.privacy-checklist li::before {
  content: "";
  position: absolute;
  top: 18px;
  left: 16px;
  width: 18px;
  height: 18px;
  border-radius: 50%;
  background: linear-gradient(135deg, #4d6dff, #6d5cff);
  box-shadow: 0 0 0 6px rgba(77, 109, 255, 0.12);
}

.privacy-checklist strong,
.privacy-policy-card strong {
  color: #0f172a;
}

.privacy-checklist span {
  display: block;
  margin-top: 4px;
  color: #5b6678;
  line-height: 1.7;
}

.privacy-card-foot {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  margin-top: 18px;
  color: #526174;
  font-weight: 600;
}

.privacy-card-foot i {
  color: #4d6dff;
}

.privacy-signal-grid {
  margin-top: 30px;
}

.privacy-signal-card {
  height: 100%;
  padding: 24px;
}

.privacy-signal-icon,
.privacy-section-icon {
  width: 54px;
  height: 54px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 18px;
  background: linear-gradient(135deg, #4d6dff, #6d5cff);
  box-shadow: 0 14px 28px rgba(77, 109, 255, 0.24);
  color: #ffffff;
  font-size: 24px;
  flex-shrink: 0;
}

.privacy-signal-card h4 {
  margin: 18px 0 10px;
  font-size: 22px;
  line-height: 1.2;
}

.privacy-signal-card p {
  margin: 0;
  color: #5b6678;
  line-height: 1.8;
  text-align: justify;
}

.privacy-main-layout {
  margin-top: 30px;
}

.privacy-side-panel,
.privacy-contact-panel {
  padding: 24px;
}

.privacy-side-panel {
  position: sticky;
  top: 118px;
}

.privacy-side-panel h3 {
  margin: 14px 0 18px;
  font-size: 28px;
  line-height: 1.15;
}

.privacy-side-links {
  display: grid;
  gap: 10px;
}

.privacy-side-links a {
  padding: 13px 16px;
  border: 1px solid #e2e8ff;
  border-radius: 16px;
  background: #ffffff;
  color: #20304c;
  text-decoration: none;
  font-weight: 600;
  transition: all 0.25s ease;
}

.privacy-side-links a:hover {
  border-color: #b8c5ff;
  color: #3f57f0;
  transform: translateX(4px);
}

.privacy-contact-panel {
  margin-top: 18px;
}

.privacy-contact-panel p {
  margin: 14px 0 0;
  color: #4c5b6d;
  line-height: 1.8;
  text-align: justify;
}

.privacy-contact-panel a,
.privacy-policy-card a {
  color: #3f57f0;
  font-weight: 600;
}

.privacy-policy-stack {
  display: grid;
  gap: 18px;
}

.privacy-policy-card {
  padding: 26px;
}

.privacy-card-head {
  display: flex;
  align-items: flex-start;
  gap: 16px;
  margin-bottom: 18px;
}

.privacy-section-eyebrow {
  margin-bottom: 10px;
}

.privacy-card-head h3 {
  margin: 0;
  font-size: 29px;
  line-height: 1.15;
  color: #0f172a;
}

.privacy-policy-card p {
  margin: 0;
  color: #475569;
  line-height: 1.85;
  text-align: justify;
}

.privacy-list {
  list-style: none;
  margin: 0;
  padding: 0;
}

.privacy-list li {
  position: relative;
  margin-bottom: 12px;
  padding: 14px 16px 14px 44px;
  border: 1px solid #e5ebff;
  border-radius: 18px;
  background: rgba(255, 255, 255, 0.95);
  color: #475569;
  line-height: 1.82;
  text-align: justify;
}

.privacy-list li:last-child {
  margin-bottom: 0;
}

.privacy-list li::before {
  content: "";
  position: absolute;
  top: 22px;
  left: 16px;
  width: 12px;
  height: 12px;
  border-radius: 50%;
  background: linear-gradient(135deg, #4d6dff, #6d5cff);
  box-shadow: 0 0 0 5px rgba(77, 109, 255, 0.12);
}

.top-bar button.header-cta.active {
    padding: 2px 14px;
	display:none;
}

@media (max-width: 1199px) {
  .privacy-hero-copy h1 {
    font-size: 48px;
  }

  .privacy-side-panel {
    position: static;
  }
}

@media (max-width: 991px) {
  .privacy-hero-shell {
    padding: 28px;
  }

  .privacy-hero-card h3,
  .privacy-side-panel h3,
  .privacy-card-head h3 {
    font-size: 24px;
  }
}

@media (max-width: 767px) {
  .privacy-policy-page {
    padding-bottom: 50px;
  }

  .privacy-hero-shell,
  .privacy-hero-card,
  .privacy-side-panel,
  .privacy-contact-panel,
  .privacy-policy-card,
  .privacy-signal-card {
    padding: 20px;
    border-radius: 22px;
  }

  .privacy-hero-copy h1 {
    font-size: 36px;
  }

  .privacy-lead,
  .privacy-signal-card p,
  .privacy-contact-panel p,
  .privacy-policy-card p,
  .privacy-list li,
  .privacy-checklist span {
    font-size: 14px;
  }

  .privacy-hero-tags span {
    width: 100%;
    justify-content: flex-start;
  }

  .privacy-checklist li {
    padding-left: 44px;
  }

  .privacy-checklist li::before {
    left: 14px;
    width: 16px;
    height: 16px;
  }

  .privacy-card-head {
    gap: 12px;
  }

  .privacy-signal-icon,
  .privacy-section-icon {
    width: 46px;
    height: 46px;
    border-radius: 16px;
    font-size: 20px;
  }

  .privacy-list li {
    padding: 13px 14px 13px 40px;
  }

  .privacy-list li::before {
    top: 20px;
    left: 14px;
    width: 10px;
    height: 10px;
  }
	.top-bar button.header-cta.active {
	display:block;
	}
}
