:root {
  --navy: #06275f;
  --navy-deep: #031b43;
  --blue: #075bb8;
  --sky: #11aee7;
  --green: #2e9b34;
  --green-soft: #63c95d;
  --pink: #e6177e;
  --pink-soft: #ff6ab1;
  --ink: #0f2140;
  --muted: #61708b;
  --line: #dce5f0;
  --surface: #f6f9fd;
  --surface-2: #fbfdff;
  --white: #fff;
  --shadow: 0 20px 55px rgba(5, 38, 94, .13);
  --shadow-soft: 0 16px 35px rgba(6, 39, 95, .09);
  --radius: 24px;
  --container: 1180px;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; scroll-padding-top: 94px; }
body {
  margin: 0;
  color: var(--ink);
  background: var(--white);
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  line-height: 1.6;
  -webkit-font-smoothing: antialiased;
  overflow-x: hidden;
}
body::before {
  content: "";
  position: fixed;
  inset: 0;
  background: radial-gradient(circle at 8% 10%, rgba(17,174,231,.07), transparent 18%),
              radial-gradient(circle at 92% 18%, rgba(230,23,126,.07), transparent 19%),
              radial-gradient(circle at 50% 88%, rgba(46,155,52,.05), transparent 18%);
  pointer-events: none;
  z-index: -2;
}
img { max-width: 100%; display: block; }
a { color: inherit; text-decoration: none; }
button, input, select, textarea { font: inherit; }
button, a { -webkit-tap-highlight-color: transparent; }
svg { width: 1.25em; height: 1.25em; fill: currentColor; }
.container { width: min(calc(100% - 40px), var(--container)); margin-inline: auto; }
.section { padding: 105px 0; position: relative; }
.skip-link { position: fixed; left: 12px; top: -80px; z-index: 9999; background: var(--navy); color: #fff; padding: 10px 16px; border-radius: 8px; }
.skip-link:focus { top: 12px; }

.scroll-progress {
  position: fixed;
  left: 0;
  top: 0;
  width: 100%;
  height: 4px;
  z-index: 1200;
  background: rgba(255,255,255,.28);
  backdrop-filter: blur(8px);
}
.scroll-progress span {
  display: block;
  width: 0;
  height: 100%;
  background: linear-gradient(90deg, var(--green-soft), var(--sky), var(--pink-soft));
  box-shadow: 0 0 18px rgba(17,174,231,.35);
}

.site-header {
  position: fixed;
  inset: 0 0 auto;
  z-index: 1000;
  background: rgba(255,255,255,.8);
  backdrop-filter: blur(18px);
  border-bottom: 1px solid transparent;
  transition: box-shadow .25s, border-color .25s, background .25s, transform .25s;
}
.site-header.scrolled {
  box-shadow: 0 10px 28px rgba(4, 36, 86, .09);
  border-bottom-color: rgba(8, 56, 120, .08);
  background: rgba(255,255,255,.94);
}
.nav-wrap { min-height: 82px; display: flex; align-items: center; gap: 28px; }
.brand { display: flex; align-items: center; gap: 11px; min-width: max-content; }
.brand img { width: 64px; height: 57px; object-fit: contain; filter: drop-shadow(0 8px 18px rgba(7,91,184,.12)); }
.brand-copy { display: grid; line-height: 1.13; }
.brand-copy strong { color: var(--navy); font-size: 15px; letter-spacing: .01em; }
.brand-copy small { color: var(--pink); text-transform: uppercase; letter-spacing: .16em; font-size: 9px; margin-top: 4px; font-weight: 800; }
.site-nav { margin-left: auto; display: flex; align-items: center; gap: 29px; }
.site-nav a { font-weight: 700; color: #32425f; font-size: 14px; position: relative; }
.site-nav a::after { content: ""; position: absolute; left: 0; right: 100%; bottom: -8px; height: 2px; background: linear-gradient(90deg,var(--blue),var(--pink)); transition: right .25s; }
.site-nav a:hover::after, .site-nav a.active::after { right: 0; }
.nav-cta { margin-left: 5px; }
.menu-toggle { display: none; border: 0; background: transparent; padding: 10px; margin-left: auto; }
.menu-toggle span { display: block; width: 25px; height: 2px; background: var(--navy); margin: 5px 0; border-radius: 2px; transition: transform .25s, opacity .25s; }
.menu-toggle.open span:nth-child(1) { transform: translateY(7px) rotate(45deg); }
.menu-toggle.open span:nth-child(2) { opacity: 0; }
.menu-toggle.open span:nth-child(3) { transform: translateY(-7px) rotate(-45deg); }

.button {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  border: 0;
  border-radius: 14px;
  background: linear-gradient(135deg,var(--blue),#087bd6);
  color: #fff;
  min-height: 50px;
  padding: 0 24px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 9px;
  font-weight: 800;
  cursor: pointer;
  box-shadow: 0 12px 28px rgba(7,91,184,.22);
  transition: transform .22s, box-shadow .22s, filter .22s;
}
.button::before {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(115deg, transparent 30%, rgba(255,255,255,.22) 47%, transparent 62%);
  transform: translateX(-120%);
  transition: transform .9s ease;
  z-index: -1;
}
.button:hover::before { transform: translateX(120%); }
.button:hover { transform: translateY(-3px); box-shadow: 0 16px 32px rgba(7,91,184,.3); filter: saturate(1.06); }
.button:active { transform: translateY(0); }
.button-sm { min-height: 43px; padding: 0 18px; border-radius: 12px; font-size: 13px; }
.button-ghost { color: var(--navy); background: rgba(255,255,255,.9); box-shadow: 0 10px 28px rgba(6,39,95,.1); border: 1px solid rgba(6,39,95,.08); }
.button-pink { background: linear-gradient(135deg,var(--pink),#f74ba0); box-shadow: 0 12px 28px rgba(230,23,126,.23); }
.button-pink:hover { box-shadow: 0 16px 32px rgba(230,23,126,.3); }
.pulse-button { animation: softPulse 3.6s ease-in-out infinite; }

.hero {
  min-height: 780px;
  padding: 158px 0 112px;
  position: relative;
  overflow: hidden;
  background:
    radial-gradient(circle at 76% 22%,rgba(230,23,126,.09),transparent 29%),
    radial-gradient(circle at 22% 45%,rgba(17,174,231,.1),transparent 31%),
    linear-gradient(180deg,#fbfdff 0%,#f4f9ff 100%);
}
.hero-bg-grid {
  position: absolute;
  inset: 0;
  background-image: linear-gradient(rgba(7,91,184,.045) 1px, transparent 1px), linear-gradient(90deg, rgba(7,91,184,.045) 1px, transparent 1px);
  background-size: 58px 58px;
  mask-image: linear-gradient(to bottom, rgba(0,0,0,.75), transparent 88%);
  opacity: .45;
}
.hero-grid { display: grid; grid-template-columns: 1.02fr .98fr; gap: 72px; align-items: center; position: relative; z-index: 2; }
.eyebrow { color: var(--blue); text-transform: uppercase; letter-spacing: .15em; font-size: 12px; font-weight: 900; display: inline-flex; align-items: center; gap: 10px; }
.eyebrow span { width: 28px; height: 2px; background: linear-gradient(90deg,var(--green),var(--blue)); }
.hero h1 { margin: 20px 0 20px; color: var(--navy); font-size: clamp(44px,5.2vw,72px); line-height: 1.04; letter-spacing: -.048em; max-width: 710px; }
.hero h1 em {
  font-style: normal;
  background: linear-gradient(90deg,var(--blue),var(--pink));
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
  background-size: 200% auto;
  animation: shimmerText 7s linear infinite;
}
.hero-copy > p { max-width: 640px; color: var(--muted); font-size: 18px; margin: 0 0 30px; }
.hero-actions { display: flex; flex-wrap: wrap; gap: 14px; }
.hero-trust { margin-top: 38px; display: flex; align-items: stretch; gap: 0; }
.hero-trust div { padding: 0 23px; display: grid; gap: 2px; border-left: 1px solid rgba(6,39,95,.12); }
.hero-trust div:first-child { border-left: 0; padding-left: 0; }
.hero-trust strong { color: var(--navy); font-size: 20px; }
.hero-trust span { color: var(--muted); font-size: 12px; }
.hero-visual { min-height: 540px; position: relative; display: grid; place-items: center; perspective: 1200px; }
.logo-glow {
  position: absolute;
  width: min(72vw, 430px);
  aspect-ratio: 1;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(255,255,255,.95) 5%, rgba(17,174,231,.18) 34%, rgba(230,23,126,.15) 56%, transparent 72%);
  filter: blur(6px);
  animation: breatheGlow 5.5s ease-in-out infinite;
}
.hero-ring {
  position: absolute;
  border-radius: 50%;
  border: 1px solid rgba(7,91,184,.12);
  pointer-events: none;
}
.hero-ring-one { width: 74%; height: 74%; animation: spinSlow 24s linear infinite; }
.hero-ring-two { width: 92%; height: 92%; border-style: dashed; border-color: rgba(230,23,126,.14); animation: spinReverse 30s linear infinite; }
.hero-card-main {
  width: min(100%, 500px);
  aspect-ratio: 1.02;
  background: linear-gradient(180deg, rgba(255,255,255,.92), rgba(255,255,255,.82));
  border-radius: 42px 12px 42px 12px;
  box-shadow: 0 28px 70px rgba(5, 38, 94, .16);
  display: grid;
  place-items: center;
  padding: 18px;
  transform: rotate(1.5deg);
  border: 1px solid rgba(255,255,255,.55);
  position: relative;
  overflow: hidden;
  transition: transform .2s ease-out;
}
.hero-card-main::after {
  content:"";
  position:absolute;
  inset:-120% -50%;
  background:linear-gradient(105deg,transparent 43%,rgba(255,255,255,.7) 50%,transparent 57%);
  animation:shine 5.6s ease-in-out infinite;
}
.hero-card-main img {
  width: auto;
  height: 100%;
  max-width: 100%;
  max-height: 100%;
  object-fit: contain;
  object-position: center;
  filter: drop-shadow(0 20px 35px rgba(7,91,184,.12));
}
.floating-note {
  position: absolute;
  background: rgba(255,255,255,.78);
  backdrop-filter: blur(14px);
  border: 1px solid rgba(255,255,255,.6);
  box-shadow: 0 15px 35px rgba(6,39,95,.14);
  border-radius: 16px;
  padding: 12px 15px;
  display: flex;
  align-items: center;
  gap: 11px;
  animation: float 4.8s ease-in-out infinite;
}
.floating-note span:last-child { display:grid; line-height:1.3; }
.floating-note b { font-size: 12px; color: var(--navy); }
.floating-note small { color: var(--muted); font-size: 10px; }
.note-icon { width: 36px; height: 36px; border-radius: 11px; display: grid; place-items: center; color: #fff; }
.note-icon.blue { background: linear-gradient(135deg,var(--blue),var(--sky)); }
.note-icon.pink { background: linear-gradient(135deg,var(--pink),#ff6bb3); }
.note-one { left: -28px; top: 19%; }
.note-two { right: -20px; bottom: 15%; animation-delay: -2.2s; }
.floating-badge {
  position: absolute;
  padding: 8px 13px;
  border-radius: 999px;
  background: rgba(255,255,255,.66);
  border: 1px solid rgba(255,255,255,.55);
  box-shadow: 0 10px 25px rgba(6,39,95,.11);
  color: var(--navy);
  font-size: 10px;
  font-weight: 800;
  letter-spacing: .12em;
  text-transform: uppercase;
  animation: float 5.4s ease-in-out infinite;
}
.badge-one { left: 10%; bottom: 6%; animation-delay: -1s; }
.badge-two { right: 8%; top: 10%; animation-delay: -3s; }
.hero-orb { position: absolute; border-radius: 50%; filter: blur(2px); opacity: .75; }
.orb-one { width: 330px; height: 330px; background: radial-gradient(circle,rgba(17,174,231,.14),transparent 68%); right: -90px; top: 80px; animation:drift 10s ease-in-out infinite; }
.orb-two { width: 260px; height: 260px; background: radial-gradient(circle,rgba(230,23,126,.12),transparent 68%); left: -80px; bottom: 20px; animation:drift 12s ease-in-out infinite reverse; }
.orb-three { width: 220px; height: 220px; background: radial-gradient(circle,rgba(46,155,52,.1),transparent 65%); left: 42%; top: 12%; animation:drift 14s ease-in-out infinite; }
.hero-wave { position:absolute; left:-3%; right:-3%; bottom:-86px; height:150px; background:#fff; border-radius:50% 50% 0 0/100% 100% 0 0; }

.glass-sheen { position: relative; overflow: hidden; }
.glass-sheen::before {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(140deg, rgba(255,255,255,.32), transparent 30%, transparent 70%, rgba(255,255,255,.12));
  pointer-events: none;
}
.rich-card {
  background: linear-gradient(180deg, rgba(255,255,255,.98), rgba(246,250,255,.95));
  border: 1px solid rgba(7,91,184,.08);
  border-radius: 20px;
  padding: 18px 18px 17px;
  box-shadow: var(--shadow-soft);
}
.about-grid { display:grid; grid-template-columns:.8fr 1.2fr; gap:80px; align-items:start; }
.section-heading h2 { margin: 17px 0 0; color: var(--navy); font-size: clamp(35px,4vw,52px); line-height: 1.12; letter-spacing: -.035em; }
.section-heading.centered { text-align:center; max-width:760px; margin:0 auto 52px; }
.section-heading.centered .eyebrow { justify-content:center; }
.section-heading.centered p { color: var(--muted); max-width:680px; margin:16px auto 0; }
.about-copy > p { color: var(--muted); font-size:18px; margin:0 0 32px; }
.feature-row { display:grid; gap:18px; }
.feature-row article { display:flex; align-items:flex-start; gap:15px; transition: transform .25s ease, box-shadow .25s ease; }
.feature-row article:hover { transform: translateY(-4px); box-shadow: var(--shadow); }
.feature-row svg { flex:0 0 auto; color:var(--green); width:30px; height:30px; margin-top:2px; }
.feature-row h3 { margin:0 0 4px; color:var(--navy); font-size:17px; }
.feature-row p { margin:0; color:var(--muted); font-size:14px; }

.doctors {
  background: var(--surface);
  position: relative;
  overflow: hidden;
}
.doctors::before { content:""; position:absolute; width:500px; height:500px; border-radius:50%; background:radial-gradient(circle,rgba(17,174,231,.08),transparent 70%); left:-260px; top:40px; }
.doctors::after { content:""; position:absolute; width:480px; height:480px; border-radius:50%; background:radial-gradient(circle,rgba(230,23,126,.07),transparent 70%); right:-220px; bottom:-100px; }
.doctor-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:30px; position:relative; }
.doctor-card {
  background:#fff;
  border:1px solid rgba(6,39,95,.07);
  border-radius:var(--radius);
  overflow:hidden;
  box-shadow:0 14px 42px rgba(6,39,95,.08);
  transition:transform .3s,box-shadow .3s,border-color .3s;
}
.doctor-card:hover { transform:translateY(-8px); box-shadow:var(--shadow); border-color: rgba(7,91,184,.16); }
.doctor-image-wrap { position:relative; aspect-ratio:1.35; overflow:hidden; background:#eceff4; }
.doctor-image-wrap::after {
  content: "";
  position: absolute;
  inset: auto 0 0;
  height: 45%;
  background: linear-gradient(to top, rgba(6,39,95,.1), transparent);
  pointer-events: none;
}
.doctor-image-wrap img { width:100%; height:100%; object-fit:cover; object-position:center 31%; transition:transform .7s ease; }
.female-image-wrap img { object-position: center 24%; }
.doctor-card:hover .doctor-image-wrap img { transform:scale(1.04); }
.availability { position:absolute; right:18px; top:18px; color:#fff; background:linear-gradient(135deg,var(--green),#53bb4b); border-radius:999px; padding:8px 13px; font-size:11px; font-weight:900; box-shadow:0 8px 18px rgba(46,155,52,.24); z-index:1; }
.pink-label { background:linear-gradient(135deg,var(--pink),#fa5fab); box-shadow:0 8px 18px rgba(230,23,126,.22); }
.doctor-content { padding:27px 28px 30px; }
.doctor-speciality { color:var(--blue); text-transform:uppercase; letter-spacing:.1em; font-size:11px; font-weight:900; }
.doctor-content h3 { margin:7px 0 3px; color:var(--navy); font-size:28px; letter-spacing:-.025em; }
.doctor-content p { color:var(--muted); margin:8px 0 0; }
.doctor-content .qualification { color:#34415a; font-weight:800; font-size:13px; margin-top:2px; }
.doctor-actions { display:flex; align-items:center; gap:18px; margin-top:24px; flex-wrap:wrap; }
.text-link { color:var(--blue); font-weight:900; font-size:13px; }
.text-link span { transition:transform .2s; display:inline-block; }
.text-link:hover span { transform:translateX(4px); }
.pink-text { color:var(--pink)!important; }

.services { overflow:hidden; }
.service-group {
  padding:36px;
  border:1px solid var(--line);
  border-radius:30px;
  background:linear-gradient(180deg,#fbfdff,#f7fbff);
  margin-top:32px;
  box-shadow: 0 16px 38px rgba(7,91,184,.05);
}
.service-group + .service-group { margin-top:38px; }
.women-group { background:linear-gradient(180deg,#fffafd,#fff6fb); border-color:#f2dce8; }
.service-group-heading { display:flex; align-items:center; gap:17px; margin-bottom:27px; }
.service-symbol { width:60px; height:60px; border-radius:18px; display:grid; place-items:center; color:#fff; flex:0 0 auto; box-shadow:0 12px 28px rgba(7,91,184,.2); }
.service-symbol svg { width:36px; height:36px; }
.lung-symbol { background:linear-gradient(135deg,var(--blue),var(--sky)); }
.women-symbol { background:linear-gradient(135deg,var(--pink),#ff77b9); box-shadow:0 12px 28px rgba(230,23,126,.2); }
.service-group-heading span:not(.service-symbol) { color:var(--muted); text-transform:uppercase; font-weight:900; letter-spacing:.12em; font-size:10px; }
.service-group-heading h3 { margin:2px 0 0; color:var(--navy); font-size:28px; }
.service-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:16px; }
.service-card {
  background:#fff;
  border:1px solid rgba(6,39,95,.08);
  border-radius:18px;
  padding:23px;
  min-height:190px;
  transition:transform .25s,border-color .25s,box-shadow .25s;
}
.service-card:hover { transform:translateY(-6px); border-color:rgba(7,91,184,.22); box-shadow:0 14px 30px rgba(6,39,95,.08); }
.service-card > span { color:var(--blue); font-weight:900; font-size:11px; letter-spacing:.1em; }
.women-group .service-card > span { color:var(--pink); }
.service-card h4 { margin:12px 0 8px; color:var(--navy); font-size:17px; }
.service-card p { margin:0; color:var(--muted); font-size:13px; line-height:1.65; }

.appointment {
  position:relative;
  background:linear-gradient(135deg,#05275f 0%,#074d9d 55%,#0a73b9 100%);
  color:#fff;
  overflow:hidden;
}
.appointment::before,.appointment::after { content:""; position:absolute; border-radius:50%; border:1px solid rgba(255,255,255,.08); }
.appointment::before { width:500px; height:500px; right:-180px; top:-200px; animation: spinSlow 28s linear infinite; }
.appointment::after { width:350px; height:350px; left:-160px; bottom:-180px; animation: spinReverse 30s linear infinite; }
.appointment-grid { display:grid; grid-template-columns:.82fr 1.18fr; gap:70px; align-items:center; position:relative; z-index:1; }
.eyebrow.light { color:#bde9ff; }
.eyebrow.light span { background:linear-gradient(90deg,#64d45f,#ff68ae); }
.appointment-copy h2 { font-size:clamp(38px,4.6vw,56px); line-height:1.1; letter-spacing:-.04em; margin:18px 0; }
.appointment-copy > p { color:#cdddf3; font-size:17px; }
.appointment-points { display:grid; gap:16px; margin:30px 0; }
.appointment-points div { display:flex; gap:12px; align-items:center; }
.appointment-points svg { color:#77e872; width:22px; height:22px; }
.appointment-points span { display:grid; }
.appointment-points b { font-size:14px; }
.appointment-points small { color:#bdd0eb; }
.small-note { font-size:11px!important; line-height:1.55; border-left:3px solid #ff8bbf; padding-left:13px; }
.appointment-form {
  background: rgba(255,255,255,.96);
  color:var(--ink);
  padding:32px;
  border-radius:26px;
  box-shadow:0 25px 65px rgba(0,0,0,.24);
  border: 1px solid rgba(255,255,255,.55);
}
.appointment-form label { display:grid; gap:7px; color:var(--navy); font-size:12px; font-weight:900; margin-bottom:17px; }
.form-row { display:grid; grid-template-columns:repeat(2,1fr); gap:15px; }
input,select,textarea {
  width:100%;
  border:1px solid #d9e3ef;
  background:#f9fbfd;
  color:var(--ink);
  border-radius:12px;
  outline:0;
  padding:13px 14px;
  min-height:49px;
  transition:border-color .2s,box-shadow .2s,background .2s,transform .2s;
  font-weight:500;
}
textarea { resize:vertical; min-height:105px; }
input:focus,select:focus,textarea:focus { border-color:var(--blue); box-shadow:0 0 0 4px rgba(7,91,184,.1); background:#fff; transform: translateY(-1px); }
input:user-invalid,select:user-invalid { border-color:#d63447; }
.consent { display:flex!important; grid-template-columns:auto 1fr; align-items:flex-start; gap:10px!important; font-size:11px!important; color:var(--muted)!important; font-weight:600!important; }
.consent input { width:17px; height:17px; min-height:0; margin:2px 0 0; accent-color:var(--blue); }
.submit-button { width:100%; }
.form-status { margin:11px 0 0; text-align:center; color:var(--muted); font-size:12px; min-height:1.5em; }
.form-status.error { color:#c72038; }

.contact { background:var(--surface); }
.contact-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:18px; }
.contact-card {
  background:#fff;
  border:1px solid rgba(6,39,95,.08);
  border-radius:18px;
  padding:24px;
  display:flex;
  gap:17px;
  align-items:center;
  transition:transform .25s,box-shadow .25s,border-color .25s;
  box-shadow: 0 10px 28px rgba(6,39,95,.04);
}
a.contact-card:hover, .contact-card:hover { transform:translateY(-4px); box-shadow:0 14px 32px rgba(6,39,95,.09); border-color:rgba(7,91,184,.18); }
.contact-icon { width:49px; height:49px; flex:0 0 auto; border-radius:15px; display:grid; place-items:center; color:#fff; background:linear-gradient(135deg,var(--blue),var(--sky)); box-shadow: 0 12px 24px rgba(7,91,184,.18); }
.contact-icon.pharmacy { background:linear-gradient(135deg,var(--green),#60c34f); box-shadow: 0 12px 24px rgba(46,155,52,.18); }
.contact-card > span:last-child { display:grid; min-width:0; }
.contact-card small { text-transform:uppercase; letter-spacing:.1em; color:var(--muted); font-weight:900; font-size:9px; }
.contact-card strong { color:var(--navy); font-size:15px; margin-top:2px; overflow-wrap:anywhere; }
.contact-card em { color:var(--blue); font-style:normal; font-size:11px; font-weight:800; margin-top:3px; }

.site-footer { background:var(--navy-deep); color:#fff; padding:29px 0; }
.footer-grid { display:grid; grid-template-columns:1fr auto 1fr; align-items:center; gap:25px; }
.footer-brand { display:flex; gap:10px; align-items:center; }
.footer-brand img { width:52px; height:46px; object-fit:contain; filter: drop-shadow(0 8px 18px rgba(7,91,184,.22)); }
.footer-brand span { display:grid; line-height:1.3; }
.footer-brand strong { font-size:13px; }
.footer-brand small { color:#ff79b8; font-size:9px; text-transform:uppercase; letter-spacing:.12em; }
.site-footer p { color:#9cb1d0; font-size:11px; margin:0; text-align:center; }
.footer-links { display:flex; justify-content:flex-end; gap:20px; }
.footer-links a { color:#c6d5eb; font-size:11px; font-weight:700; }
.footer-links a:hover { color: #fff; }

.floating-actions { position:fixed; right:18px; bottom:18px; display:grid; gap:10px; z-index:900; }
.floating-actions a { width:52px; height:52px; border-radius:50%; display:grid; place-items:center; color:#fff; box-shadow:0 12px 25px rgba(0,0,0,.18); transition:transform .2s, box-shadow .2s; }
.floating-actions a:hover { transform:translateY(-3px) scale(1.03); box-shadow:0 18px 32px rgba(0,0,0,.22); }
.float-call { background:linear-gradient(135deg,var(--blue),var(--sky)); }
.float-whatsapp { background:linear-gradient(135deg,#16a850,#31cf6d); }

.reveal { opacity:0; transform:translateY(24px); transition:opacity .75s ease,transform .75s ease; }
.reveal.visible { opacity:1; transform:translateY(0); }
.reveal-delay { transition-delay:.12s; }

@keyframes shine { 0%,55%{transform:translateX(-50%)} 78%,100%{transform:translateX(85%)} }
@keyframes float { 0%,100%{transform:translateY(0)} 50%{transform:translateY(-10px)} }
@keyframes drift { 0%,100%{transform:translate(0,0) scale(1)} 50%{transform:translate(25px,18px) scale(1.08)} }
@keyframes softPulse { 0%,100%{ box-shadow:0 12px 28px rgba(7,91,184,.22);} 50%{ box-shadow:0 12px 36px rgba(230,23,126,.24);} }
@keyframes breatheGlow { 0%,100%{ transform:scale(.96); opacity:.9;} 50%{ transform:scale(1.04); opacity:1;} }
@keyframes spinSlow { from { transform:rotate(0deg); } to { transform:rotate(360deg); } }
@keyframes spinReverse { from { transform:rotate(360deg); } to { transform:rotate(0deg); } }
@keyframes shimmerText { 0%{ background-position: 0% 50%; } 100%{ background-position: 200% 50%; } }

@media (max-width: 980px) {
  .nav-cta { display:none; }
  .site-nav { gap:20px; }
  .hero-grid { gap:34px; }
  .hero h1 { font-size:48px; }
  .hero-trust div { padding-inline:14px; }
  .note-one { left:-8px; }
  .note-two { right:-8px; }
  .about-grid,.appointment-grid { gap:42px; }
  .service-grid { grid-template-columns:repeat(2,1fr); }
}

@media (max-width: 780px) {
  html { scroll-padding-top:78px; }
  .container { width:min(calc(100% - 28px),var(--container)); }
  .section { padding:75px 0; }
  .nav-wrap { min-height:72px; }
  .brand img { width:53px; height:47px; }
  .brand-copy strong { font-size:13px; }
  .menu-toggle { display:block; }
  .site-nav {
    position:absolute;
    top:72px;
    left:14px;
    right:14px;
    display:grid;
    gap:0;
    padding:11px;
    background:rgba(255,255,255,.98);
    border:1px solid rgba(6,39,95,.08);
    border-radius:15px;
    box-shadow:0 16px 38px rgba(6,39,95,.14);
    opacity:0;
    visibility:hidden;
    transform:translateY(-8px);
    transition:.23s;
  }
  .site-nav.open { opacity:1; visibility:visible; transform:translateY(0); }
  .site-nav a { padding:12px 13px; border-radius:9px; }
  .site-nav a:hover { background:#f2f7fd; }
  .site-nav a::after { display:none; }
  .hero { min-height:auto; padding:122px 0 87px; }
  .hero-grid { grid-template-columns:1fr; gap:55px; }
  .hero-copy { text-align:center; }
  .hero-copy .eyebrow { justify-content:center; }
  .hero h1 { font-size:clamp(39px,11vw,57px); }
  .hero-copy > p { font-size:16px; margin-inline:auto; }
  .hero-actions,.hero-trust { justify-content:center; }
  .hero-visual { min-height:420px; }
  .hero-card-main { max-width:420px; }
  .note-one { left:2%; top:12%; }
  .note-two { right:1%; bottom:8%; }
  .badge-one { left:4%; }
  .badge-two { right:3%; }
  .about-grid,.appointment-grid { grid-template-columns:1fr; }
  .about-grid { gap:28px; }
  .doctor-grid { grid-template-columns:1fr; max-width:650px; margin-inline:auto; }
  .doctor-image-wrap { aspect-ratio:1.28; }
  .service-group { padding:24px; }
  .appointment-grid { gap:36px; }
  .contact-grid { grid-template-columns:1fr; }
  .footer-grid { grid-template-columns:1fr; justify-items:center; }
  .footer-links { justify-content:center; }
}

@media (max-width: 520px) {
  .container { width:min(calc(100% - 22px),var(--container)); }
  .brand-copy { display:none; }
  .hero { padding-top:108px; }
  .hero h1 { font-size:40px; }
  .hero-actions { display:grid; grid-template-columns:1fr; }
  .hero-actions .button { width:100%; }
  .hero-trust { width:100%; display:grid; grid-template-columns:repeat(3,1fr); }
  .hero-trust div { padding:0 8px; }
  .hero-trust strong { font-size:15px; }
  .hero-trust span { font-size:9px; line-height:1.35; }
  .hero-visual { min-height:350px; }
  .hero-card-main { border-radius:28px 9px 28px 9px; padding:10px; }
  .floating-note { padding:9px 10px; }
  .floating-note b { font-size:10px; }
  .floating-note small { font-size:8px; }
  .note-icon { width:30px; height:30px; }
  .note-one { left:-2%; }
  .note-two { right:-2%; }
  .floating-badge { font-size:8px; padding:7px 10px; }
  .section-heading h2 { font-size:34px; }
  .section-heading.centered { margin-bottom:35px; }
  .doctor-content { padding:23px 20px 25px; }
  .doctor-content h3 { font-size:23px; }
  .doctor-actions { display:grid; }
  .doctor-actions .button { width:100%; }
  .service-group { padding:18px 13px; border-radius:20px; }
  .service-group-heading { padding-inline:5px; }
  .service-symbol { width:50px; height:50px; border-radius:15px; }
  .service-group-heading h3 { font-size:21px; }
  .service-grid { grid-template-columns:1fr; }
  .service-card { min-height:auto; padding:20px; }
  .appointment-form { padding:22px 16px; border-radius:20px; }
  .form-row { grid-template-columns:1fr; gap:0; }
  .contact-card { padding:19px 16px; }
  .contact-icon { width:43px; height:43px; }
  .contact-card strong { font-size:13px; }
  .floating-actions { display:none; }
}

@media (prefers-reduced-motion: reduce) {
  *,*::before,*::after {
    scroll-behavior:auto!important;
    animation-duration:.01ms!important;
    animation-iteration-count:1!important;
    transition-duration:.01ms!important;
  }
  .reveal { opacity:1; transform:none; }
}
