/* ═══════════════════════════════════════════════════════════════
   MEDISTUS – HOME PAGE STYLES  (home.css)
   Medical-grade premium redesign
   ═══════════════════════════════════════════════════════════════ */

/* ── Section base alternation ── */
.sec-light  { background: #f0f4f8; }
.sec-white  { background: #ffffff; }
.sec-dark   { background: #0d1b2a; }
.sec-blue   { background: linear-gradient(135deg, #003d82 0%, #0057b8 100%); }
.sec-teal   { background: linear-gradient(135deg, #0a3d62 0%, #0c5f8a 100%); }

/* ── Wave / Shape Dividers ── */
.wave-bottom, .wave-top { line-height: 0; overflow: hidden; }
.wave-bottom svg, .wave-top svg { display:block; width:100%; }

/* ── Scroll-reveal base ── */
.reveal {
  opacity: 0;
  transform: translateY(36px);
  transition: opacity .7s ease, transform .7s ease;
}
.reveal.in-view { opacity: 1; transform: translateY(0); }
.reveal-left  { opacity:0; transform:translateX(-40px); transition: opacity .7s ease, transform .7s ease; }
.reveal-right { opacity:0; transform:translateX(40px);  transition: opacity .7s ease, transform .7s ease; }
.reveal-left.in-view, .reveal-right.in-view { opacity:1; transform:translateX(0); }
.delay-1 { transition-delay: .1s; }
.delay-2 { transition-delay: .2s; }
.delay-3 { transition-delay: .3s; }
.delay-4 { transition-delay: .4s; }
.delay-5 { transition-delay: .5s; }

/* ══════════════════════════════
   NEW GRID HERO SECTION
   Inspired by E-commerce Grids
══════════════════════════════ */
.hero-grid-section {
  padding: 1.5rem 0;
  background: #f8fafc;
}
.hero-grid-container {
  display: grid;
  grid-template-columns: 2fr 1fr;
  gap: 1.5rem;
  height: 520px;
}

/* Main Banner */
.hero-main-banner {
  position: relative;
  background: #fff;
  border-radius: 24px;
  overflow: hidden;
  box-shadow: 0 10px 30px rgba(0,0,0,0.03);
}
.hero-main-banner::before {
  content: "";
  position: absolute;
  inset: 0;
  border-radius: 24px;
  padding: 3px;
  background: linear-gradient(135deg, #00b4d8, #0057b8, #10b981, #00b4d8);
  background-size: 300% 300%;
  -webkit-mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
  -webkit-mask-composite: xor;
  mask-composite: exclude;
  animation: borderMotion 6s linear infinite;
  pointer-events: none;
  z-index: 10;
  opacity: 0.5;
}
.hero-main-banner:hover::before {
  opacity: 1;
  animation-duration: 3s;
}
.main-banner-content {
  position: absolute;
  inset: 0;
  padding: 5rem 4rem;
  display: flex;
  flex-direction: column;
  justify-content: center;
  z-index: 2;
  background: linear-gradient(90deg, rgba(255,255,255,0.95) 0%, rgba(255,255,255,0.85) 50%, rgba(255,255,255,0.2) 80%, transparent 100%);
}
.main-banner-img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  z-index: 1;
}
.mb-tag {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  color: var(--blue);
  font-weight: 800;
  font-size: 0.75rem;
  text-transform: uppercase;
  letter-spacing: 0.1em;
  margin-bottom: 1.2rem;
}
.main-banner-content h1 {
  font-size: 3.5rem;
  font-weight: 900;
  color: #1e293b;
  line-height: 1.1;
  margin-bottom: 1.5rem;
  max-width: 500px;
}
.main-banner-content p {
  font-size: 1.1rem;
  color: #64748b;
  margin-bottom: 2.5rem;
  max-width: 450px;
}

/* Side Banners */
.hero-side-banners {
  display: flex;
  flex-direction: column;
  gap: 1.5rem;
}
.hero-side-item {
  flex: 1;
  position: relative;
  border-radius: 20px;
  overflow: hidden;
  background: var(--card-bg, #fff);
  padding: 2.5rem;
  display: flex;
  flex-direction: column;
  justify-content: center;
  transition: 0.4s;
  box-shadow: 0 10px 30px rgba(0,0,0,0.02);
}

.hero-side-item::before {
  content: "";
  position: absolute;
  inset: 0;
  border-radius: 20px;
  padding: 3px; /* Border thickness */
  background: linear-gradient(135deg, #00b4d8, #0057b8, #10b981, #00b4d8);
  background-size: 300% 300%;
  -webkit-mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
  -webkit-mask-composite: xor;
  mask-composite: exclude;
  animation: borderMotion 4s linear infinite;
  pointer-events: none;
  z-index: 10;
  opacity: 0.7;
}

.hero-side-item:hover::before {
  opacity: 1;
  animation-duration: 2s;
}

@keyframes borderMotion {
  0% { background-position: 0% 50%; }
  50% { background-position: 100% 50%; }
  100% { background-position: 0% 50%; }
}

.hero-side-item:hover {
  transform: translateY(-5px);
  box-shadow: 0 20px 40px rgba(0,0,0,0.06);
}
.hero-side-item img {
  position: absolute;
  top: 50%;
  right: -10%;
  transform: translateY(-50%);
  width: 180px;
  height: auto;
  opacity: 0.9;
  z-index: 1;
  transition: 0.4s;
}
.hero-side-item:hover img {
  right: 0;
  transform: translateY(-50%) scale(1.1);
}
.side-item-content {
  position: relative;
  z-index: 2;
}
.side-item-content span {
  display: block;
  font-size: 0.7rem;
  font-weight: 800;
  color: var(--blue);
  text-transform: uppercase;
  margin-bottom: 0.4rem;
}
.side-item-content h3 {
  font-size: 1.6rem;
  font-weight: 800;
  color: #1e293b;
  margin-bottom: 0.8rem;
  max-width: 200px;
}
.btn-text-link {
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
  font-size: 0.85rem;
  font-weight: 700;
  color: #1e293b;
  text-decoration: underline;
  text-underline-offset: 4px;
}

/* Responsive Grid */
@media(max-width: 992px) {
  .hero-grid-container {
    grid-template-columns: 1fr;
    height: auto;
  }
  .hero-main-banner { height: 400px; }
  .main-banner-content h1 { font-size: 2.5rem; }
  .hero-side-banners { flex-direction: row; }
  .hero-side-item { padding: 2rem; }
}
@media(max-width: 600px) {
  .hero-side-banners { flex-direction: column; }
  .hero-main-banner { height: 480px; }
  .main-banner-content { 
      padding: 4rem 2rem; 
      background: linear-gradient(90deg, rgba(255,255,255,0.98) 0%, rgba(255,255,255,0.95) 70%, rgba(255,255,255,0.6) 100%);
  }
  .main-banner-content h1 { font-size: 1.85rem; line-height: 1.2; }
}

/* ══════════════════════════════
   TRUST STRIP (below hero)
══════════════════════════════ */
.trust-strip {
  background: var(--gradient);
  padding: 1rem 0;
  position: relative;
  z-index: 20;
  overflow: hidden;
}
.trust-strip-inner {
  display: flex;
  align-items: center;
  gap: 3rem;
  width: max-content;
  animation: trustScroll 40s linear infinite;
}
.ts-item {
  display: flex;
  align-items: center;
  gap: .65rem;
  font-size: .85rem;
  font-weight: 700;
  color: #fff;
  white-space: nowrap;
  text-transform: uppercase;
  letter-spacing: 0.03em;
}
.ts-divider {
  width: 1px;
  height: 20px;
  background: rgba(255,255,255,0.2);
}

@keyframes trustScroll {
  0% { transform: translateX(0); }
  100% { transform: translateX(-50%); }
}
.ts-item i { color: #fff; font-size: 1.1rem; }

/* ══════════════════════════════
   FEATURE STRIP
══════════════════════════════ */
.features-strip-v2 {
  background: #fff;
  padding: 4rem 0;
  position: relative;
}
.features-strip-v2::before {
  content:'';
  position:absolute; inset:0;
  background: url("data:image/svg+xml,%3Csvg width='60' height='60' viewBox='0 0 60 60' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='%230057b8' fill-opacity='0.025'%3E%3Cpath d='M36 34v-4h-2v4h-4v2h4v4h2v-4h4v-2h-4zm-30-4V16.5A1.5 1.5 0 0 1 7.5 11H30v2H8v17H6z'/%3E%3C/g%3E%3C/svg%3E");
}
.features-grid-v2 {
  display: grid;
  grid-template-columns: repeat(4,1fr);
  gap: 1.5rem;
  position: relative;
}
.fcard {
  background: #f8faff;
  border: 1.5px solid #e2eaf8;
  border-radius: 16px;
  padding: 2rem 1.5rem;
  text-align: center;
  transition: all .35s ease;
  cursor: default;
}
.fcard:hover {
  background:#fff;
  border-color: #0057b8;
  transform: translateY(-6px);
  box-shadow: 0 16px 40px rgba(0,87,184,.1);
}
.fcard-icon {
  width: 64px; height: 64px;
  background: linear-gradient(135deg,#e8f1fb,#d0e4ff);
  border-radius: 16px;
  display: flex; align-items:center; justify-content:center;
  margin: 0 auto 1.2rem;
  font-size: 1.6rem; color: #0057b8;
  transition: all .35s ease;
}
.fcard:hover .fcard-icon {
  background: linear-gradient(135deg,#0057b8,#003d82);
  color: #fff;
  transform: rotate(8deg) scale(1.1);
}
.fcard h4 { font-size: 1rem; font-weight:700; margin-bottom:.4rem; color:#1b2a3b; }
.fcard p  { font-size:.82rem; color:#6b7280; line-height:1.6; margin:0; }

/* ══════════════════════════════
   CATEGORIES  (light bg)
══════════════════════════════ */
.categories-v2 { padding: 5rem 0; background: #f0f4f8; position:relative; overflow:hidden; }
.categories-v2::after {
  content:'';
  position:absolute; top:-80px; right:-80px;
  width:400px; height:400px;
  border-radius:50%;
  background: radial-gradient(circle, rgba(0,87,184,.06) 0%, transparent 70%);
  pointer-events:none;
}
.cat-carousel-wrap { position:relative; }

/* ══════════════════════════════
   CATEGORIES SCROLL-SNAP CAROUSEL
══════════════════════════════ */
.cat-snap-wrap {
  position: relative;
  margin: 2rem 0 1rem;
  padding: 0 .5rem;
}
.cat-snap-track {
  display: flex;
  flex-wrap: nowrap;
  gap: 1.25rem;
  overflow-x: auto;
  scroll-snap-type: x mandatory;
  scroll-behavior: smooth;
  -ms-overflow-style: none;
  scrollbar-width: none;
  padding-bottom: .5rem;
  align-items: stretch;
}
.cat-snap-track::-webkit-scrollbar { display: none; }
.cat-snap-track .cat-card-v2 {
  flex: 0 0 var(--cat-card-w, 240px);
  scroll-snap-align: start;
}

/* Prev / Next buttons */
.snap-prev, .snap-next {
  position: absolute;
  top: 50%; transform: translateY(-50%);
  width: 44px; height: 44px; border-radius: 50%;
  background: #fff;
  border: 1.5px solid #e2eaf8;
  box-shadow: 0 4px 16px rgba(0,87,184,.14);
  cursor: pointer;
  display: flex; align-items: center; justify-content: center;
  font-size: .95rem; color: #0057b8;
  transition: all .3s; z-index: 10;
}
.snap-prev { left: -22px; }
.snap-next { right: -22px; }
.snap-prev:hover, .snap-next:hover {
  background: #0057b8; border-color: #0057b8; color: #fff;
  box-shadow: 0 8px 24px rgba(0,87,184,.28);
}
@media(max-width:1200px){ .snap-prev{left:0} .snap-next{right:0} }
@media(max-width:900px){
  .cat-snap-track { grid-auto-columns: calc(33.333% - .9rem); }
}
@media(max-width:600px){
  .cat-snap-track { grid-auto-columns: calc(50% - .65rem); }
}
@media(max-width:400px){
  .cat-snap-track { grid-auto-columns: 85%; }
}


/* carousel itself uses existing .products-carousel */
.cat-card-v2 {
  background: #fff;
  border: 1px solid rgba(0, 87, 184, 0.08);
  border-radius: 20px;
  padding: 2.2rem 1.6rem;
  display: flex; flex-direction:column; gap:.8rem;
  transition: all .4s cubic-bezier(0.165, 0.84, 0.44, 1);
  text-decoration: none;
  position: relative;
  overflow: hidden;
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.04);
}
.cat-card-v2::before {
  content: "";
  position: absolute;
  inset: 0;
  border-radius: 20px;
  padding: 2.5px;
  background: var(--cat-accent, linear-gradient(135deg, #00b4d8, #0057b8, #10b981, #00b4d8));
  background-size: 300% 300%;
  -webkit-mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
  -webkit-mask-composite: xor;
  mask-composite: exclude;
  animation: borderMotion 5s linear infinite;
  pointer-events: none;
  z-index: 10;
  opacity: 0;
  transition: opacity .4s ease;
}
.cat-card-v2:hover::before { 
  opacity: 1;
}
.cat-card-v2:hover {
  border-color: transparent; /* Hide border on hover to let the shadow/glow shine */
  transform: translateY(-10px);
  box-shadow: 0 20px 40px rgba(0, 87, 184, 0.15);
}

/* Cycle colors for modern look */
.cat-snap-track .cat-card-v2:nth-child(6n+1) { --cat-accent: linear-gradient(135deg, #3b82f6, #60a5fa, #3b82f6); }
.cat-snap-track .cat-card-v2:nth-child(6n+2) { --cat-accent: linear-gradient(135deg, #8b5cf6, #a78bfa, #8b5cf6); }
.cat-snap-track .cat-card-v2:nth-child(6n+3) { --cat-accent: linear-gradient(135deg, #22c55e, #4ade80, #22c55e); }
.cat-snap-track .cat-card-v2:nth-child(6n+4) { --cat-accent: linear-gradient(135deg, #f59e0b, #fbbf24, #f59e0b); }
.cat-snap-track .cat-card-v2:nth-child(6n+5) { --cat-accent: linear-gradient(135deg, #ef4444, #f87171, #ef4444); }
.cat-snap-track .cat-card-v2:nth-child(6n+6) { --cat-accent: linear-gradient(135deg, #06b6d4, #22d3ee, #06b6d4); }

.cat-card-v2 .cat-icon {
  width:60px; height:60px;
  background: #f1f5f9;
  border-radius:16px;
  display:flex; align-items:center; justify-content:center;
  font-size:1.6rem; color:#1e293b;
  transition:all .4s;
  margin-bottom: .5rem;
}

/* Match icon color to accent on hover */
.cat-snap-track .cat-card-v2:nth-child(6n+1):hover .cat-icon { background: #3b82f6; color:#fff; box-shadow: 0 8px 20px rgba(59, 130, 246, 0.3); }
.cat-snap-track .cat-card-v2:nth-child(6n+2):hover .cat-icon { background: #8b5cf6; color:#fff; box-shadow: 0 8px 20px rgba(139, 92, 246, 0.3); }
.cat-snap-track .cat-card-v2:nth-child(6n+3):hover .cat-icon { background: #22c55e; color:#fff; box-shadow: 0 8px 20px rgba(34, 197, 94, 0.3); }
.cat-snap-track .cat-card-v2:nth-child(6n+4):hover .cat-icon { background: #f59e0b; color:#fff; box-shadow: 0 8px 20px rgba(245, 158, 11, 0.3); }
.cat-snap-track .cat-card-v2:nth-child(6n+5):hover .cat-icon { background: #ef4444; color:#fff; box-shadow: 0 8px 20px rgba(239, 68, 68, 0.3); }
.cat-snap-track .cat-card-v2:nth-child(6n+6):hover .cat-icon { background: #06b6d4; color:#fff; box-shadow: 0 8px 20px rgba(6, 182, 212, 0.3); }

.cat-card-v2 h3 { 
  font-size:1.1rem; 
  font-weight:700; 
  color:#0f172a; 
  margin:0; 
  line-height:1.2;
  transition: color .3s;
}
.cat-card-v2:hover h3 { color: var(--p-blue); }

.cat-card-v2 .cat-count { 
  font-size:.82rem; 
  color:#64748b; 
  font-weight:600; 
  display: flex;
  align-items: center;
  gap: .4rem;
}
.cat-card-v2 .cat-count i { color: #94a3b8; transition: color .3s; }
.cat-card-v2:hover .cat-count i { color: var(--p-blue); }

.cat-card-v2 .cat-arrow {
  width:36px; height:36px; border-radius:50%;
  background:#f8fafc; border:1px solid #f1f5f9;
  display:flex; align-items:center; justify-content:center;
  font-size:.85rem; color:#94a3b8;
  margin-top:auto;
  transition:all .3s;
  align-self: flex-end;
}
.cat-card-v2:hover .cat-arrow { 
  background:#0f172a; 
  color:#fff; 
  transform: translateX(4px); 
  border-color: #0f172a;
}

/* ══════════════════════════════
   STATS BAR  (dark)
══════════════════════════════ */
.stats-bar {
  background: linear-gradient(135deg,#0a1628 0%,#0d2244 100%);
  padding: 4rem 0;
  position:relative; overflow:hidden;
}
.stats-bar::before {
  content:'';
  position:absolute; inset:0;
  background: url("data:image/svg+xml,%3Csvg width='80' height='80' viewBox='0 0 80 80' xmlns='http://www.w3.org/2000/svg'%3E%3Ccircle cx='40' cy='40' r='1' fill='%230057b8' fill-opacity='0.15'/%3E%3C/svg%3E") repeat;
}
/* Animated floating circles */
.stats-bar .blob {
  position:absolute; border-radius:50%;
  background:rgba(0,87,184,.12); filter:blur(60px);
  animation: blobFloat 8s ease-in-out infinite;
  pointer-events:none;
}
.stats-bar .blob:nth-child(1) { width:300px;height:300px;top:-80px;left:-60px; animation-delay:0s; }
.stats-bar .blob:nth-child(2) { width:200px;height:200px;bottom:-40px;right:10%; animation-delay:3s; }
@keyframes blobFloat { 0%,100%{transform:translateY(0) scale(1)} 50%{transform:translateY(-20px) scale(1.05)} }

.stats-grid {
  display:grid; grid-template-columns:repeat(4,1fr);
  gap:1.5rem; position:relative; z-index:2;
}
.stat-card {
  text-align:center; padding:2rem 1rem;
  border:1px solid rgba(255,255,255,.07);
  border-radius:16px;
  background:rgba(255,255,255,.03);
  backdrop-filter:blur(10px);
  transition:all .3s;
}
.stat-card:hover {
  background:rgba(0,87,184,.15);
  border-color:transparent;
  transform:translateY(-8px);
  box-shadow: 0 20px 50px rgba(0, 87, 184, 0.2);
}
.stat-card::before {
  content: "";
  position: absolute;
  inset: 0;
  border-radius: 16px;
  padding: 2px;
  background: linear-gradient(135deg, #60a5fa, #0057b8, #22d3ee, #60a5fa);
  background-size: 300% 300%;
  -webkit-mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
  -webkit-mask-composite: xor;
  mask-composite: exclude;
  animation: borderMotion 4s linear infinite;
  pointer-events: none;
  z-index: 10;
  opacity: 0.4;
  transition: opacity .3s ease;
}
.stat-card:hover::before {
  opacity: 1;
}
.stat-card i { font-size:2rem; color:#60a5fa; margin-bottom:.8rem; display:block; }
.stat-card strong { display:block; font-size:2.6rem; font-weight:800; color:#fff; line-height:1; }
.stat-card span { font-size:.78rem; color:#94a3b8; text-transform:uppercase; letter-spacing:.08em; font-weight:600; margin-top:.4rem; display:block; }

/* ══════════════════════════════
   FEATURED PRODUCTS  (white)
══════════════════════════════ */
.featured-v2 { padding:5rem 0; background:#fff; position:relative; }
.section-eyebrow {
  display:inline-flex; align-items:center; gap:.5rem;
  background:linear-gradient(135deg,#e8f1fb,#d0e4ff);
  color:#0057b8; font-size:.75rem; font-weight:700;
  text-transform:uppercase; letter-spacing:.1em;
  padding:.35rem 1rem; border-radius:50px; margin-bottom:1rem;
}
.section-eyebrow i { font-size:.8rem; }

/* ══════════════════════════════
   ABOUT  (dark teal)
══════════════════════════════ */
.about-v2 {
  background: linear-gradient(135deg,#052640 0%,#083c66 100%);
  padding: 6rem 0;
  position:relative; overflow:hidden;
}
.about-v2::before {
  content:'';
  position:absolute; top:0; right:0;
  width:50%; height:100%;
  background:url("data:image/svg+xml,%3Csvg width='60' height='60' viewBox='0 0 60 60' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='%23ffffff' fill-opacity='0.025'%3E%3Cpath d='M36 34v-4h-2v4h-4v2h4v4h2v-4h4v-2h-4z'/%3E%3C/g%3E%3C/svg%3E") repeat;
  pointer-events:none;
}
.about-v2-inner {
  display:grid; grid-template-columns:1fr 1fr; gap:5rem; align-items:center;
}
.about-v2-img { position:relative; }
.about-v2-img img {
  width:100%; border-radius:20px;
  box-shadow: 0 30px 80px rgba(0,0,0,.4);
  position:relative; z-index:2;
}
.about-v2-img::before {
  content:'';
  position:absolute; inset:-16px;
  border:2px solid rgba(0,180,216,.3);
  border-radius:24px; z-index:1;
}
.about-v2-badge {
  position:absolute; bottom:-20px; left:-20px; z-index:3;
  background:#fff; border-radius:14px;
  padding:1rem 1.4rem;
  display:flex; align-items:center; gap:.8rem;
  box-shadow:0 8px 30px rgba(0,0,0,.25);
}
.about-v2-badge i { font-size:2rem; color:#0057b8; }
.about-v2-badge strong { display:block; font-size:.88rem; font-weight:700; color:#1b2a3b; }
.about-v2-badge span  { font-size:.72rem; color:#6b7280; }
.about-v2-text h2 { font-size:2.4rem; font-weight:800; color:#fff; line-height:1.2; margin-bottom:1.2rem; }
.about-v2-text p { color:#94a3b8; font-size:.95rem; line-height:1.8; margin-bottom:1rem; }
.about-checklist { list-style:none; display:flex; flex-direction:column; gap:.65rem; margin:1.5rem 0 2rem; }
.about-checklist li { display:flex; align-items:center; gap:.7rem; color:#cbd5e1; font-size:.9rem; font-weight:500; }
.about-checklist i { color:#22d3ee; font-size:1rem; flex-shrink:0; }

/* ══════════════════════════════
   SERVICES  (light)
══════════════════════════════ */
.services-v2 { padding:5rem 0; background:#f0f4f8; position:relative; }
.services-grid-v2 { display:grid; grid-template-columns:repeat(3,1fr); gap:1.5rem; }
.scard {
  background:#fff; border-radius:16px;
  border:1.5px solid #e2eaf8;
  padding:2.2rem 1.8rem;
  transition:all .35s ease;
  position:relative; overflow:hidden;
}
.scard::before {
  content: "";
  position: absolute;
  inset: 0;
  border-radius: 16px;
  padding: 3px;
  background: linear-gradient(135deg, #0057b8, #00b4d8, #10b981, #0057b8);
  background-size: 300% 300%;
  -webkit-mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
  -webkit-mask-composite: xor;
  mask-composite: exclude;
  animation: borderMotion 6s linear infinite;
  pointer-events: none;
  z-index: 10;
  opacity: 0;
  transition: opacity .4s ease;
}
.scard:hover::before { 
  opacity: 1; 
}
.scard:hover { transform:translateY(-6px); box-shadow:0 20px 48px rgba(0,87,184,.12); }
.scard-icon {
  width:56px; height:56px;
  background:linear-gradient(135deg,#e8f1fb,#d0e4ff);
  border-radius:14px;
  display:flex; align-items:center; justify-content:center;
  font-size:1.5rem; color:#0057b8;
  margin-bottom:1.2rem;
  transition:all .35s;
}
.scard:hover .scard-icon { background:linear-gradient(135deg,#0057b8,#003d82); color:#fff; }
.scard h3 { font-size:1.1rem; font-weight:700; color:#1b2a3b; margin-bottom:.65rem; }
.scard p  { font-size:.87rem; color:#6b7280; line-height:1.7; margin-bottom:1.2rem; }
.scard-link {
  color:#0057b8; font-size:.85rem; font-weight:700;
  display:inline-flex; align-items:center; gap:.4rem;
  text-decoration:none; transition:gap .3s;
}
.scard-link:hover { gap:.8rem; }

/* ══════════════════════════════
   TESTIMONIALS & QUOTE (Split Layout)
══════════════════════════════ */
.quote-testimonial-section {
  background: #0d1627;
  position: relative;
}
.qt-container {
  display: grid;
  grid-template-columns: 400px 1fr;
  gap: 4rem;
  align-items: center;
}

/* Left: Form Card */
.qt-form-col {
  position: relative;
  z-index: 10;
}
.qt-form-card {
  background: #0057b8;
  border-radius: 4px;
  padding: 3rem 2.5rem;
  box-shadow: 0 24px 50px rgba(0,0,0,0.3);
}
.qt-eyebrow {
  display: inline-flex;
  align-items: center;
  gap: .5rem;
  font-size: .75rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .1em;
  color: #fff;
  margin-bottom: .8rem;
}
.qt-eyebrow::before {
  content: ''; width: 24px; height: 2px; background: #fff; display: inline-block;
}
.qt-form-header h2 {
  font-size: 2.2rem;
  font-weight: 800;
  color: #fff;
  margin-bottom: 2rem;
  line-height: 1.2;
}

.qt-form { display: flex; flex-direction: column; gap: 1rem; }
.qt-input-row { display: grid; grid-template-columns: 1fr 1fr; gap: 1rem; }
.qt-form input, .qt-form select, .qt-form textarea {
  width: 100%;
  padding: .9rem 1.2rem;
  border: none;
  border-radius: 4px;
  background: #fff;
  color: #1b2a3b;
  font-size: .95rem;
  font-family: inherit;
}
.qt-form input::placeholder, .qt-form textarea::placeholder { color: #9ca3af; }
.qt-form textarea { resize: vertical; min-height: 100px; }
.qt-form select { appearance: none; color: #4b5563; }
.qt-submit-btn {
  background: #0d1627;
  color: #fff;
  border: none;
  padding: 1rem;
  border-radius: 4px;
  font-weight: 700;
  font-size: .95rem;
  letter-spacing: .05em;
  cursor: pointer;
  transition: all .3s ease;
  margin-top: .5rem;
}
.qt-submit-btn:hover { background: #1e293b; }

/* Right: Testimonials */
.qt-testi-col {
  padding: 5rem 0;
  display: flex;
  flex-direction: column;
  justify-content: center;
}
.qt-testi-header { margin-bottom: 3rem; }
.qt-testi-header .qt-eyebrow { color: #0057b8; }
.qt-testi-header .qt-eyebrow::before { background: #0057b8; }
.qt-testi-header h2 {
  font-size: 2.5rem;
  font-weight: 800;
  color: #fff;
  margin-bottom: 1rem;
}
.qt-testi-header p {
  color: #94a3b8;
  font-size: 1.05rem;
  line-height: 1.7;
  max-width: 600px;
}

/* Slider */
.qt-slider { position: relative; overflow: hidden; border-radius: 8px; max-width: 600px; }
.qt-track {
  display: flex;
  transition: transform 0.5s cubic-bezier(0.4, 0, 0.2, 1);
}
.qt-slide {
  min-width: 100%;
  flex: 0 0 100%;
  background: rgba(255,255,255,0.03);
  border: 1px solid rgba(255,255,255,0.06);
  border-radius: 8px;
  padding: 2.5rem;
}
.qt-slide-top {
  display: flex;
  align-items: center;
  gap: 1rem;
  margin-bottom: 1.5rem;
}
.qt-author-img {
  width: 54px; height: 54px;
  border-radius: 50%;
  background: #0057b8;
  display: flex; align-items: center; justify-content: center;
  color: #fff; font-size: 1.2rem;
  flex-shrink: 0;
}
.qt-author-info { flex-grow: 1; }
.qt-stars { color: #00b4d8; font-size: .9rem; margin-bottom: .2rem; letter-spacing: .1em; }
.qt-author-info h4 { color: #fff; font-size: 1.1rem; font-weight: 700; margin: 0; }
.qt-author-info span { color: #94a3b8; font-size: .85rem; }
.qt-quote-icon {
  font-size: 2.5rem;
  color: rgba(0, 87, 184, 0.3);
}
.qt-quote-text {
  color: #cbd5e1;
  font-size: 1.1rem;
  line-height: 1.8;
  font-style: italic;
  margin: 0;
}

/* Controls */
.qt-controls {
  display: flex;
  align-items: center;
  gap: 2rem;
  margin-top: 2rem;
}
.qt-nav { display: flex; gap: .8rem; }
.qt-btn {
  width: 40px; height: 40px;
  border-radius: 50%;
  background: rgba(255,255,255,0.05);
  border: 1px solid rgba(255,255,255,0.1);
  color: #fff;
  display: flex; align-items: center; justify-content: center;
  cursor: pointer;
  transition: all .3s;
}
.qt-btn:hover {
  background: #0057b8;
  border-color: #0057b8;
}
.qt-progress {
  flex-grow: 1;
  height: 2px;
  background: rgba(255,255,255,0.1);
  position: relative;
}
.qt-progress-bar {
  position: absolute;
  top: 0; left: 0; bottom: 0;
  width: 33.33%; /* Updated by JS */
  background: #0057b8;
  transition: width 0.3s ease;
}

/* ══════════════════════════════
   BRANDS MARQUEE  (white)
══════════════════════════════ */
.brands-v2 {
  background:#fff;
  border-top:1px solid #e5e9f0;
  border-bottom:1px solid #e5e9f0;
  padding:2.5rem 0;
}
.brands-label-v2 {
  text-align:center; font-size:.72rem; font-weight:700;
  text-transform:uppercase; letter-spacing:.12em; color:#94a3b8;
  margin-bottom:1.4rem;
}
.brand-marquee-v2 { overflow:hidden; position:relative; }
.brand-marquee-v2::before,
.brand-marquee-v2::after {
  content:''; position:absolute; top:0; bottom:0; width:80px; z-index:2;
  pointer-events:none;
}
.brand-marquee-v2::before { left:0;  background:linear-gradient(to right,#fff,transparent); }
.brand-marquee-v2::after  { right:0; background:linear-gradient(to left, #fff,transparent); }
.brand-track-v2 {
  display:flex; gap:3rem; animation:marquee 30s linear infinite; width:max-content;
}
.brand-chip {
  display:inline-flex; align-items:center; gap:.5rem;
  background:#f8faff; border:1px solid #e2eaf8;
  border-radius:50px; padding:.5rem 1.2rem;
  font-size:.82rem; font-weight:600; color:#374151;
  white-space:nowrap;
}
.brand-chip i { color:#0057b8; font-size:.65rem; }

/* ══════════════════════════════
   CTA  (blue gradient)
══════════════════════════════ */
.cta-v2 {
  background: linear-gradient(135deg,#003d82 0%,#0057b8 60%,#0078d4 100%);
  padding:6rem 0; position:relative; overflow:hidden;
}
.cta-v2::before {
  content:''; position:absolute; inset:0;
  background:url("data:image/svg+xml,%3Csvg width='40' height='40' viewBox='0 0 40 40' xmlns='http://www.w3.org/2000/svg'%3E%3Ccircle cx='20' cy='20' r='1.5' fill='%23ffffff' fill-opacity='0.06'/%3E%3C/svg%3E") repeat;
}
/* Animated ECG line */
.cta-v2::after {
  content:''; position:absolute; bottom:0; left:0; right:0; height:2px;
  background:linear-gradient(90deg,transparent,rgba(255,255,255,.4),transparent);
  animation: scanLine 3s ease-in-out infinite;
}
@keyframes scanLine {
  0%  { transform:scaleX(0) translateX(-100%); }
  100%{ transform:scaleX(1) translateX(100%); }
}
.cta-v2-inner {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  position: relative;
  z-index: 2;
}
.cta-v2-content h2 {
  font-size:2.8rem; font-weight:800; color:#fff;
  line-height:1.2; margin-bottom:.7rem;
}
.cta-v2-content p { color:rgba(255,255,255,.8); font-size:1.05rem; line-height:1.6; margin-bottom: 2rem; max-width: 600px; }
.cta-v2-btns { display:flex; gap:1rem; flex-wrap:wrap; justify-content: center; }
.btn-white {
  background:#fff; color:#0057b8; border:2px solid #fff;
  display:inline-flex; align-items:center; gap:.5rem;
  padding:.8rem 1.8rem; border-radius:8px;
  font-weight:700; font-size:.95rem;
  transition:all .3s;
}
.btn-white:hover { background:transparent; color:#fff; }
.btn-white-outline {
  background:transparent; color:#fff; border:2px solid rgba(255,255,255,.5);
  display:inline-flex; align-items:center; gap:.5rem;
  padding:.8rem 1.8rem; border-radius:8px;
  font-weight:700; font-size:.95rem;
  transition:all .3s;
}
.btn-white-outline:hover { background:rgba(255,255,255,.1); border-color:#fff; }

/* CTA Image */
.cta-v2-image { position:relative; }
.cta-img-wrapper {
  position: relative;
  width: 100%;
  padding-bottom: 100%;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(255,255,255,0.1) 0%, transparent 70%);
  border: 2px solid rgba(255,255,255,0.15);
  display: flex; align-items: center; justify-content: center;
}
.cta-img-wrapper img {
  position: absolute;
  bottom: 0; left: 50%;
  transform: translateX(-50%);
  width: 90%;
  height: auto;
  border-radius: 0 0 50% 50%;
  object-fit: cover;
  z-index: 2;
}

/* Pulse ring on CTA icon */
.cta-pulse-ring {
  position: absolute;
  top: 10%; left: -10%;
  width:80px; height:80px; border-radius:50%;
  background: #0078d4;
  border:2px solid rgba(255,255,255,.4);
  display:flex; align-items:center; justify-content:center;
  z-index: 3;
  animation: pulseRing 2s ease-in-out infinite;
}
@keyframes pulseRing {
  0%,100%{ box-shadow:0 0 0 0 rgba(255,255,255,.3); }
  50%    { box-shadow:0 0 0 16px rgba(255,255,255,0); }
}
.cta-pulse-ring i { font-size:2rem; color:#fff; }

/* ══════════════════════════════
   RESPONSIVE
══════════════════════════════ */
@media(max-width:1100px){
  .qt-container { grid-template-columns: 320px 1fr; gap: 2.5rem; }
}
@media(max-width:992px){
  .hero-grid-container { grid-template-columns: 1fr; height: auto; }
  .hero-side-banners { display: grid; grid-template-columns: 1fr 1fr; gap: 1rem; }
  .features-grid-v2   { grid-template-columns:repeat(2,1fr); }
  .stats-grid          { grid-template-columns:repeat(2,1fr); }
  .about-v2-inner      { grid-template-columns:1fr; gap:3rem; }
  .services-grid-v2   { grid-template-columns:1fr 1fr; }
  .cta-v2-inner        { grid-template-columns:1fr; text-align:center; gap:3rem; }
  .cta-v2-content p    { margin-left:auto; margin-right:auto; }
  .cta-v2-btns         { justify-content:center; }
  .cta-v2-image        { max-width: 350px; margin: 0 auto; }
  /* Testimonial section stacked layout */
  .qt-container        { grid-template-columns:1fr; gap: 0; }
  .qt-form-col         { width: 100%; }
  .qt-form-card        { padding: 2rem 1.5rem; border-radius: 0; }
  .qt-testi-col        { padding: 3rem 1.5rem; }
  .qt-slider           { max-width: 100%; }
  .qt-testi-header h2  { font-size: 2rem; }
}
@media(max-width:600px){
  .hero-main-banner { height: 440px; }
  .main-banner-content { 
      padding: 5rem 2rem 3.5rem; 
      background: linear-gradient(90deg, rgba(255,255,255,0.98) 0%, rgba(255,255,255,0.95) 70%, rgba(255,255,255,0.6) 100%);
  }
  .main-banner-content h1 { font-size: 1.8rem; line-height: 1.2; }
  .hero-side-banners { grid-template-columns: 1fr; }
  .hero-sub-banner { height: 200px; }
  
  .features-grid-v2   { grid-template-columns:1fr; }
  .stats-grid          { grid-template-columns:1fr 1fr; }
  .services-grid-v2   { grid-template-columns:1fr; }
  .trust-strip-inner  { gap:1rem; }
  .ts-divider          { display:none; }
  .tcard               { min-width:100%; }

  /* Quote & Testimonial on mobile */
  .qt-input-row        { grid-template-columns:1fr; }
  .qt-form-card        { padding: 1.5rem 1rem; }
  .qt-form-header h2   { font-size: 1.6rem; margin-bottom: 1.2rem; }
  .qt-testi-col        { padding: 2.5rem 1rem; }
  .qt-testi-header     { margin-bottom: 1.5rem; }
  .qt-testi-header h2  { font-size: 1.6rem; }
  .qt-testi-header p   { font-size: .9rem; }
  .qt-slider           { max-width: 100%; border-radius: 4px; }
  .qt-slide            { padding: 1.5rem 1.2rem; }
  .qt-quote-text       { font-size: .95rem; }
  .qt-author-info h4   { font-size: 1rem; }
  .qt-controls         { gap: 1rem; }

  .section-header h2 { font-size: 1.6rem; }
  .cat-snap-track { gap: 0.75rem; }
  .cat-card-v2 { min-width: 200px; padding: 1.2rem; }
  
  .trust-strip-inner { animation-duration: 25s; }
}
