.elementor-14 .elementor-element.elementor-element-b7e4d6e{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;overflow:visible;}/* Start custom CSS for html, class: .elementor-element-d932a3c *//* ═══════════════════════════════════════════
   PAGE HERO BANNER
═══════════════════════════════════════════ */
.page-hero {
  min-height:65vh;
  background:radial-gradient(ellipse 120% 100% at 50% 0%, #071728 0%, #0b2d60 50%, #1565c0 100%);
  position:relative; overflow:hidden;
  display:flex; align-items:center; justify-content:center;
  text-align:center; padding:100px 28px;
}

/* Animated rings */
.ph-rings { position:absolute; inset:0; display:flex; align-items:center; justify-content:center; pointer-events:none; }
.ph-ring {
  position:absolute; border-radius:50%; border:1px solid rgba(0,184,212,.12);
  animation:ringPulse var(--rp,8s) ease-out infinite var(--rp-delay,0s);
}
@keyframes ringPulse {
  0%   { opacity:.6; transform:scale(.5); }
  70%  { opacity:0; }
  100% { opacity:0; transform:scale(1.4); }
}

/* Floating particles */
.ph-particle {
  position:absolute; width:3px; height:3px; border-radius:50%;
  background:rgba(0,229,255,.5);
  animation:phFloat var(--pf-dur,10s) ease-in-out infinite var(--pf-delay,0s);
  pointer-events:none;
}
@keyframes phFloat {
  0%,100% { opacity:.3; transform:translateY(0) translateX(0); }
  50%      { opacity:1; transform:translateY(var(--pf-y,-40px)) translateX(var(--pf-x,20px)); }
}

.page-hero-content { position:relative; z-index:2; max-width:800px; }
.ph-eyebrow {
  display:inline-flex; align-items:center; gap:10px;
  background:rgba(0,229,255,.12); border:1px solid rgba(0,229,255,.3);
  color:#67e8f9; font-size:11.5px; font-weight:700; letter-spacing:2px; text-transform:uppercase;
  padding:8px 20px; border-radius:40px; margin-bottom:26px;
  animation:fadeUp .7s cubic-bezier(.22,1,.36,1) both .2s;
}
.ph-eyebrow::before { content:''; width:8px; height:8px; border-radius:50%; background:var(--cyan2); box-shadow:0 0 12px var(--cyan2); }
.page-hero h1 {
  font-size:clamp(40px,6vw,72px); color:#fff; line-height:1.08; margin-bottom:20px;
  animation:fadeUp .7s cubic-bezier(.22,1,.36,1) both .35s;
}
.page-hero p {
  color:rgba(255,255,255,.74); font-size:18px; line-height:1.8; max-width:650px; margin:0 auto;
  animation:fadeUp .7s cubic-bezier(.22,1,.36,1) both .5s;
}
@keyframes fadeUp {
  from { opacity:0; transform:translateY(28px); }
  to   { opacity:1; transform:translateY(0); }
}

/* ═══════════════════════════════════════════
   SECTION UTILS
═══════════════════════════════════════════ */
.section { padding:90px 0; }
.wrap { max-width:1220px; margin:0 auto; padding:0 28px; }

.pill {
  display:inline-flex; align-items:center; gap:8px;
  background:var(--soft-bg); border:1px solid var(--border);
  color:var(--sky); font-size:11.5px; font-weight:700; letter-spacing:1.5px; text-transform:uppercase;
  padding:6px 16px; border-radius:40px; margin-bottom:14px;
}
.pill::before { content:''; width:6px; height:6px; border-radius:50%; background:var(--sky); }

.section-h { font-size:clamp(32px,4vw,52px); color:var(--navy); line-height:1.15; margin-bottom:16px; }
.section-p { color:var(--text-muted); font-size:16.5px; line-height:1.85; }
.center { text-align:center; }
.center .section-p { margin:0 auto; }

/* Scroll-reveal */
.reveal {
  opacity:0; transform:translateY(36px);
  transition:opacity .7s cubic-bezier(.22,1,.36,1), transform .7s cubic-bezier(.22,1,.36,1);
}
.reveal.visible { opacity:1; transform:translateY(0); }
.d1 { transition-delay:.1s; } .d2 { transition-delay:.2s; } .d3 { transition-delay:.3s; }
.d4 { transition-delay:.4s; } .d5 { transition-delay:.5s; } .d6 { transition-delay:.6s; }

/* ═══════════════════════════════════════════
   INTRO SECTION
═══════════════════════════════════════════ */
.intro-section { background:#fff; position:relative; }
.intro-grid { display:grid; grid-template-columns:1fr 1fr; gap:80px; align-items:center; }

/* Left image collage */
.intro-collage {
  display:grid;
  grid-template-columns:repeat(2,1fr);
  grid-template-rows:220px 200px;
  gap:16px;
  position:relative;
}
.intro-collage::before {
  content:''; position:absolute; inset:-16px;
  background:linear-gradient(135deg,var(--cyan),var(--sky),var(--blue));
  border-radius:28px; z-index:0; opacity:.08;
}
.ic-img {
  border-radius:18px; overflow:hidden; position:relative; z-index:1;
  box-shadow:0 14px 45px rgba(11,37,69,.18);
  transition:transform .5s cubic-bezier(.22,1,.36,1), box-shadow .5s;
}
.ic-img:hover { transform:scale(1.03) translateY(-6px); box-shadow:0 24px 65px rgba(11,37,69,.28); }
.ic-img img { width:100%; height:100%; object-fit:cover; transition:transform .6s; }
.ic-img:hover img { transform:scale(1.08); }
.ic-1 { grid-column:1; grid-row:1; }
.ic-2 { grid-column:2; grid-row:1; margin-top:40px; }
.ic-3 { grid-column:1/3; grid-row:2; }

/* Floating icon badge */
.intro-badge {
  position:absolute; top:50%; right:-20px; transform:translateY(-50%); z-index:10;
  background:linear-gradient(135deg,var(--sky),var(--cyan));
  border-radius:18px; padding:20px; text-align:center;
  box-shadow:0 14px 40px rgba(30,136,229,.45);
  animation:badgeFloat 4s ease-in-out infinite;
}
@keyframes badgeFloat {
  0%,100% { transform:translateY(-50%) scale(1); }
  50%      { transform:translateY(calc(-50% - 10px)) scale(1.05); }
}
.intro-badge .icon { font-size:44px; }
.intro-badge p { font-size:12px; color:#fff; font-weight:700; margin-top:6px; }

/* Right content */
.intro-text .section-p { max-width:100%; margin-bottom:22px; }

/* ═══════════════════════════════════════════
   VISION MISSION
═══════════════════════════════════════════ */
.vm-section {
  background:linear-gradient(135deg,var(--navy) 0%,var(--blue) 100%);
  position:relative; overflow:hidden;
}
.vm-section::before {
  content:''; position:absolute; inset:0;
  background:radial-gradient(ellipse 700px 500px at 70% 50%,rgba(0,184,212,.15) 0%,transparent 70%);
}
.vm-grid {
  display:grid; grid-template-columns:1fr 1fr; gap:36px;
  position:relative; z-index:2;
}
.vm-card {
  background:rgba(255,255,255,.08);
  backdrop-filter:blur(18px);
  border:1px solid rgba(255,255,255,.13);
  border-radius:22px; padding:38px 36px;
  transition:all .4s;
}
.vm-card:hover {
  background:rgba(255,255,255,.14);
  border-color:rgba(0,229,255,.35);
  transform:translateY(-6px);
  box-shadow:0 20px 60px rgba(0,0,0,.3);
}
.vm-card .vicon {
  width:64px; height:64px; border-radius:16px;
  background:rgba(0,229,255,.18);
  display:flex; align-items:center; justify-content:center;
  font-size:32px; margin-bottom:22px;
}
.vm-card h3 {
  font-size:28px; color:#fff; margin-bottom:18px;
}
.vm-card ul {
  list-style:none; display:grid; gap:12px;
}
.vm-card li {
  display:flex; align-items:flex-start; gap:12px;
  color:rgba(255,255,255,.78); font-size:15px; line-height:1.7;
}
.vm-card li::before {
  content:''; width:22px; height:22px; border-radius:50%;
  background:rgba(0,229,255,.2);
  display:flex; align-items:center; justify-content:center; flex-shrink:0;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2367e8f9' stroke-width='3'%3E%3Cpath d='M5 13l4 4L19 7'/%3E%3C/svg%3E");
  background-size:13px; background-repeat:no-repeat; background-position:center;
  margin-top:2px;
}

/* ═══════════════════════════════════════════
   SERVICES LIST
═══════════════════════════════════════════ */
.services-list-section { background:var(--soft-bg); }
.services-grid {
  display:grid; grid-template-columns:repeat(2,1fr); gap:20px; margin-top:50px;
}
.svc-card {
  background:#fff;
  border:1.5px solid var(--border);
  border-radius:18px; padding:24px 26px;
  display:flex; align-items:center; gap:18px;
  transition:all .3s;
}
.svc-card:hover {
  border-color:var(--sky);
  box-shadow:0 12px 35px rgba(21,101,192,.12);
  transform:translateX(6px);
}
.svc-card .svc-icon {
  width:52px; height:52px; border-radius:14px;
  background:linear-gradient(135deg,var(--sky),var(--cyan));
  display:flex; align-items:center; justify-content:center;
  font-size:24px; flex-shrink:0;
}
.svc-card h4 {
  font-family:'Outfit',sans-serif;
  font-size:16px; font-weight:700; color:var(--navy);
}

/* ═══════════════════════════════════════════
   TELE OPHTHALMOLOGY
═══════════════════════════════════════════ */
.tele-about-section { background:#fff; }
.tele-grid { display:grid; grid-template-columns:1fr 1fr; gap:70px; align-items:center; }
.tele-img-wrap {
  border-radius:24px; overflow:hidden;
  box-shadow:0 20px 60px rgba(11,37,69,.2);
  position:relative;
}
.tele-img-wrap img { width:100%; height:auto; display:block; transition:transform .5s; }
.tele-img-wrap:hover img { transform:scale(1.05); }
.tele-overlay {
  position:absolute; inset:0;
  background:linear-gradient(to top,rgba(7,23,40,.8) 0%,transparent 50%);
  display:flex; align-items:flex-end; padding:28px;
}
.tele-overlay .badge {
  background:rgba(0,184,212,.9); color:#fff;
  border-radius:12px; padding:12px 18px;
  font-size:13px; font-weight:700; display:flex; align-items:center; gap:8px;
}
.tele-overlay .badge::before {
  content:''; width:10px; height:10px; border-radius:50%;
  background:#fff; box-shadow:0 0 12px #fff;
  animation:blink 1.5s ease-in-out infinite;
}
@keyframes blink { 0%,100%{opacity:1;} 50%{opacity:.2;} }

.tele-items { list-style:none; display:grid; gap:12px; margin-top:28px; }
.tele-items li {
  display:flex; align-items:flex-start; gap:12px;
  font-size:15px; color:var(--text); line-height:1.65;
}
.tele-items li::before {
  content:'›'; color:var(--cyan); font-size:22px; font-weight:700;
  flex-shrink:0; line-height:1;
}

/* ═══════════════════════════════════════════
   PATIENT APPROACH
═══════════════════════════════════════════ */
.approach-section {
  background:linear-gradient(160deg,#071728 0%,#0b2d60 60%,#0d3a7a 100%);
  position:relative; overflow:hidden;
}
.approach-mesh {
  position:absolute; inset:0; pointer-events:none;
}
.am-orb {
  position:absolute; border-radius:50%; filter:blur(90px);
  animation:orbMove 14s ease-in-out infinite;
}
@keyframes orbMove {
  0%,100% { transform:translate(0,0) scale(1); }
  50%      { transform:translate(60px,-40px) scale(1.15); }
}
.amo1 { width:450px; height:450px; background:rgba(0,184,212,.12); left:-80px; top:-80px; }
.amo2 { width:350px; height:350px; background:rgba(21,101,192,.18); right:-60px; bottom:-60px; animation-delay:2s; }

.approach-inner { position:relative; z-index:2; text-align:center; }
.approach-inner .section-h { color:#fff; }
.approach-inner .section-p { color:rgba(255,255,255,.72); max-width:720px; margin:0 auto 20px; }

.approach-cards {
  display:grid; grid-template-columns:repeat(3,1fr); gap:24px; margin-top:50px;
}
.appr-card {
  background:rgba(255,255,255,.08);
  backdrop-filter:blur(14px);
  border:1px solid rgba(255,255,255,.12);
  border-radius:20px; padding:32px 26px; text-align:center;
  transition:all .4s;
}
.appr-card:hover {
  background:rgba(255,255,255,.15);
  border-color:rgba(0,229,255,.35);
  transform:translateY(-8px);
  box-shadow:0 20px 55px rgba(0,0,0,.3);
}
.appr-card .appr-icon {
  width:68px; height:68px; border-radius:18px;
  background:rgba(0,229,255,.2);
  display:flex; align-items:center; justify-content:center;
  font-size:34px; margin:0 auto 20px;
}
.appr-card h4 {
  font-family:'Outfit',sans-serif;
  font-size:17px; font-weight:700; color:#fff; margin-bottom:12px;
}
.appr-card p {
  font-size:14px; color:rgba(255,255,255,.65); line-height:1.75;
}

/* ═══════════════════════════════════════════
   COMMITMENT
═══════════════════════════════════════════ */
.commitment-section { background:var(--soft-bg); }
.commitment-badges {
  display:grid; grid-template-columns:repeat(5,1fr); gap:20px; margin-top:50px;
}
.commit-badge {
  background:#fff;
  border:1.5px solid var(--border);
  border-radius:18px; padding:28px 20px; text-align:center;
  transition:all .3s;
}
.commit-badge:hover {
  border-color:var(--sky);
  box-shadow:0 14px 40px rgba(21,101,192,.14);
  transform:translateY(-6px);
}
.commit-badge .cb-icon {
  width:56px; height:56px; border-radius:14px;
  background:linear-gradient(135deg,var(--sky),var(--cyan));
  display:flex; align-items:center; justify-content:center;
  font-size:26px; margin:0 auto 16px;
}
.commit-badge h5 {
  font-family:'Outfit',sans-serif;
  font-size:15px; font-weight:700; color:var(--navy);
}

/* ═══════════════════════════════════════════
   CTA
═══════════════════════════════════════════ */
.cta-section { background:#fff; }
.cta-box {
  background:linear-gradient(135deg,var(--navy),var(--blue) 60%,var(--sky) 100%);
  border-radius:28px; padding:70px 60px; text-align:center;
  position:relative; overflow:hidden;
  box-shadow:0 30px 70px rgba(11,37,69,.25);
}
.cta-box::before { content:''; position:absolute; top:-60px; right:-60px; width:320px; height:320px; border-radius:50%; background:rgba(255,255,255,.06); }
.cta-box::after { content:''; position:absolute; bottom:-80px; left:-40px; width:280px; height:280px; border-radius:50%; background:rgba(0,184,212,.15); }
.cta-box h2 { font-size:clamp(30px,4vw,46px); color:#fff; margin-bottom:16px; position:relative; z-index:2; }
.cta-box p { color:rgba(255,255,255,.76); font-size:16px; line-height:1.8; margin-bottom:38px; max-width:600px; margin-left:auto; margin-right:auto; position:relative; z-index:2; }
.cta-btns { display:flex; justify-content:center; gap:16px; flex-wrap:wrap; position:relative; z-index:2; }
.btn-cta { background:#fff; color:var(--navy); padding:15px 34px; border-radius:40px; font-weight:700; font-size:15px; box-shadow:0 8px 28px rgba(0,0,0,.2); transition:all .3s; display:flex; align-items:center; gap:9px; }
.btn-cta:hover { transform:translateY(-3px); box-shadow:0 14px 38px rgba(0,0,0,.3); }

/* ═══════════════════════════════════════════
   FOOTER
═══════════════════════════════════════════ */
.footer { background:#040f20; color:rgba(255,255,255,.58); }
.footer-main { padding:72px 0 50px; }
.footer-grid { display:grid; grid-template-columns:1.5fr 1fr 1fr 1fr; gap:48px; }
.footer-brand h3 { font-family:'Cormorant Garamond',serif; font-size:20px; color:#fff; margin:14px 0 12px; }
.footer-brand p { font-size:13px; line-height:1.8; margin-bottom:18px; }
.f-contacts { display:grid; gap:9px; }
.fci { display:flex; align-items:flex-start; gap:9px; font-size:13px; }
.fci svg { flex-shrink:0; margin-top:2px; opacity:.45; }
.fci a { color:rgba(255,255,255,.58); transition:color .2s; }
.fci a:hover { color:var(--cyan); }
.footer-col h4 { font-family:'Outfit',sans-serif; font-size:14.5px; font-weight:700; color:#fff; margin-bottom:20px; }
.footer-links { list-style:none; display:grid; gap:9px; }
.footer-links li a { font-size:13px; color:rgba(255,255,255,.58); transition:color .2s; display:flex; align-items:center; gap:7px; }
.footer-links li a::before { content:'›'; color:var(--cyan); font-size:15px; }
.footer-links li a:hover { color:var(--cyan); }
.footer-bottom { border-top:1px solid rgba(255,255,255,.06); padding:22px 0; }
.footer-bottom .wrap { display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:10px; }
.footer-bottom p { font-size:12px; }
.f-tag { display:flex; align-items:center; gap:7px; color:var(--cyan); font-size:12.5px; font-weight:700; }
.footer-logo-img { height:44px; width:auto; object-fit:contain; opacity:.45; filter:brightness(0) invert(1); }

/* ═══════════════════════════════════════════
   RESPONSIVE
═══════════════════════════════════════════ */
@media (max-width:1024px) {
  .intro-grid,.vm-grid,.tele-grid { grid-template-columns:1fr; gap:48px; }
  .services-grid { grid-template-columns:1fr; }
  .approach-cards { grid-template-columns:1fr; }
  .commitment-badges { grid-template-columns:repeat(2,1fr); }
  .footer-grid { grid-template-columns:1fr 1fr; gap:36px; }
}
@media (max-width:768px) {
  .section { padding:64px 0; }
  nav { display:none; }
  .page-hero { min-height:50vh; }
  .footer-grid { grid-template-columns:1fr; }
  .intro-collage { grid-template-columns:1fr; grid-template-rows:200px 180px 160px; }
  .ic-3 { grid-column:1; grid-row:3; }
  .intro-badge { display:none; }
  .commitment-badges { grid-template-columns:1fr; }
}/* End custom CSS */