:root { --ink:#10202e; --blue:#07a9ea; --deep:#071a27; --pale:#eaf7fc; --line:#d9e8ee; }
* { box-sizing:border-box; } html { scroll-behavior:smooth; } body { margin:0; color:var(--ink); background:#fff; font-family:Arial,Helvetica,sans-serif; } a { color:inherit; text-decoration:none; } button,input,select,textarea { font:inherit; } button,a { -webkit-tap-highlight-color:transparent; }
.site-shell { display:grid; grid-template-columns:minmax(0,1fr) 390px; min-height:100vh; }.content-column{min-width:0}.topbar{min-height:104px;padding:14px clamp(24px,4vw,60px);display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);grid-template-areas:"nav brand action";align-items:center;gap:24px;border-bottom:1px solid var(--line);background:#fff;position:relative;z-index:10}.brand{grid-area:brand;justify-self:center;display:flex;align-items:center;width:230px;max-width:32vw}.brand img{display:block;width:100%;height:auto}.topbar nav{grid-area:nav;justify-self:start;display:flex;gap:26px;font-size:14px;font-weight:700}.topbar nav a{padding:16px 0 13px;border-bottom:3px solid transparent}.topbar nav a:hover,.topbar nav a.active{color:#008dca;border-color:var(--blue)}
.hero{height:620px;position:relative;overflow:hidden;background:var(--deep)}.hero-slide{position:absolute;inset:0;opacity:0;transform:scale(1.02);transition:opacity .8s ease,transform 1.2s ease;color:#fff}.hero-slide.visible{opacity:1;transform:scale(1);z-index:1}.hero-slide>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.hero-slide::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(2,19,30,.9) 0%,rgba(3,26,40,.48) 52%,rgba(3,26,40,.1) 100%);z-index:1}.hero-copy{position:relative;z-index:2;height:100%;padding:0 clamp(28px,7vw,90px);display:flex;flex-direction:column;justify-content:center}.hero-copy>p:last-child{max-width:510px;margin:24px 0 0;font-size:17px;line-height:1.6;color:#d7eef7}.eyebrow{margin:0 0 16px;font-size:12px;line-height:1;font-weight:800;letter-spacing:.2em}.eyebrow.blue{color:#008dca}.hero h1,.services-hero h1{margin:0;max-width:680px;font-family:Georgia,serif;font-size:clamp(48px,7vw,86px);line-height:.98;font-weight:400;letter-spacing:-.045em}.slide-dots{position:absolute;z-index:3;left:clamp(28px,7vw,90px);bottom:38px;display:flex;gap:10px}.slide-dots button{width:9px;height:9px;border:1px solid #fff;border-radius:50%;background:transparent;cursor:pointer;padding:0}.slide-dots button.selected{width:34px;border-radius:10px;background:var(--blue);border-color:var(--blue)}
.section-pad{padding:90px clamp(28px,7vw,90px)}.welcome h2,.team h2,.contact h2,.services-cta h2{font-family:Georgia,serif;font-size:clamp(36px,4vw,55px);line-height:1.08;font-weight:400;margin:0;letter-spacing:-.035em}.welcome>p:not(.eyebrow){max-width:750px;color:#5b6c76;font-size:18px;line-height:1.7}.quick-facts{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;border-top:1px solid var(--line);margin-top:42px;padding-top:28px}.quick-facts span{display:flex;flex-direction:column;gap:7px;font-size:13px;color:#6d7d85}.quick-facts strong{color:var(--ink);font-size:16px}.team{background:#f2f9fb}.section-heading{display:flex;align-items:end;justify-content:space-between;gap:30px;margin-bottom:42px}.section-heading p{max-width:410px;color:#687982;line-height:1.6}.doctor-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:24px;align-items:stretch}.doctor-card{background:#fff;border-radius:6px;overflow:hidden;box-shadow:0 10px 35px rgba(9,51,70,.07);display:flex;flex-direction:column}.doctor-photo{position:relative;aspect-ratio:4/5;overflow:hidden;background:#fff}.doctor-photo img{width:100%;height:100%;object-fit:cover;object-position:center top}.doctor-details{padding:25px 24px 28px;text-align:left;display:flex;flex-direction:column;flex:1}.doctor-card h3{font-family:Georgia,serif;font-size:23px;line-height:1.15;font-weight:400;margin:0 0 10px}.doctor-designation{margin:0;color:#008dca;font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.08em;line-height:1.45}.doctor-experience{align-self:flex-start;margin:17px 0 16px;padding:7px 10px;border-radius:999px;background:#eaf7fc;color:#087ead;font-size:11px;font-weight:800;letter-spacing:.03em}.doctor-bio{margin:0;color:#5f717a;font-size:14px;line-height:1.65}.doctor-bio.no-experience{margin-top:20px}
.testimonial-wrap{background:var(--deep)}.testimonial-card{max-width:900px;min-height:410px;margin:auto;text-align:center;color:#fff;display:flex;flex-direction:column;align-items:center;justify-content:center}.review-label{color:#7fd8f7}.stars{color:#f8c44f;letter-spacing:.25em}blockquote{margin:24px 0;font-family:Georgia,serif;font-size:clamp(21px,2.45vw,35px);line-height:1.4}.patient{color:#8fb3c4;font-size:13px;text-transform:uppercase;letter-spacing:.1em}.testimonial-controls{margin-top:28px;display:flex;justify-content:center;align-items:center;gap:18px;color:#85a6b6;font-size:12px}.testimonial-controls button{color:#fff;background:transparent;border:1px solid #315366;width:42px;height:42px;border-radius:50%;cursor:pointer}.contact{display:grid;grid-template-columns:1.1fr .9fr;gap:60px;background:var(--blue);color:white}.contact a{font-family:Georgia,serif;font-size:28px}.contact p:not(.eyebrow){margin:0 0 8px;color:#dff6ff;font-size:13px}.contact .hours{margin-top:30px!important}footer{background:#061620;color:#7193a2;padding:24px clamp(28px,7vw,90px);font-size:12px}
.appointment-panel{position:relative;background:#eff8fb;border-left:1px solid var(--line)}.appointment-inner{position:sticky;top:0;height:100vh;overflow-y:auto;padding:38px 38px 28px}.panel-logo{display:block;width:72px;height:72px;object-fit:cover;border-radius:50%;margin-bottom:24px}.appointment-inner h2{margin:0;font-family:Georgia,serif;font-size:38px;line-height:1.05;font-weight:400}.panel-intro{color:#64747c;font-size:14px;line-height:1.55}.primary-button{width:100%;border:0;border-radius:4px;background:var(--blue);color:#fff;padding:15px;font-weight:800;cursor:pointer;display:flex;justify-content:space-between}.primary-button:hover{background:#008dca}.recomed-card{margin:28px 0 16px;padding:17px;background:#fff;border:1px solid #c9dde5;border-radius:6px;display:flex;align-items:center;gap:13px}.recomed-mark{display:grid;place-items:center;min-width:42px;height:42px;border-radius:50%;background:#e8f7fd;color:#008dca;font-family:Georgia,serif;font-size:24px;font-weight:bold}.recomed-card strong{font-size:13px}.recomed-card p{margin:4px 0 0;color:#687982;font-size:11px;line-height:1.45}.recomed-button{margin-top:0;text-decoration:none}.booking-details{margin-top:25px;padding:4px 0;border-top:1px solid #c9dde5;border-bottom:1px solid #c9dde5}.booking-details p{margin:17px 0;color:#64747c;font-size:12px;line-height:1.55}.booking-details strong{color:#173a49}.emergency-call{margin-top:24px;padding:18px;border-radius:6px;background:#fff}.emergency-call p{margin:0 0 10px;color:#64747c;font-size:12px;line-height:1.5}.emergency-call a{color:#008dca;font-size:17px;font-weight:800}
.services-page{min-height:100vh;background:#fff}.service-nav{position:sticky;top:0}.nav-appointment{grid-area:action;justify-self:end;background:var(--blue);color:#fff;padding:13px 18px;border-radius:3px;font-size:12px;font-weight:800}.services-hero{min-height:520px;display:flex;flex-direction:column;justify-content:center;padding:90px clamp(28px,8vw,120px);color:#fff;background:radial-gradient(circle at 80% 30%,#166d8e,transparent 24%),linear-gradient(120deg,#061923,#0c3a50)}.services-hero>p:last-child{max-width:550px;color:#c6e2ed;line-height:1.65;font-size:17px}.services-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:18px;max-width:1450px;margin:auto}.service-card{grid-column:span 2;border:1px solid var(--line);padding:32px;min-height:310px;display:flex;flex-direction:column;position:relative;text-align:center;transition:.25s ease}.service-card.final-row-left{grid-column:2/span 2}.service-card.final-row-right{grid-column:4/span 2}.service-card:hover{transform:translateY(-5px);box-shadow:0 18px 40px rgba(11,54,72,.1);border-color:#98d8ef}.service-card>span{position:absolute;right:22px;top:20px;color:#a6bdc7;font-size:12px}.service-icon{width:58px;height:58px;margin:0 auto;display:grid;place-items:center;border-radius:50%;background:var(--pale);color:var(--blue)}.service-icon svg{width:39px;height:39px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}.service-card h2{font-family:Georgia,serif;font-size:26px;font-weight:400;margin:22px 0 10px}.service-card p{color:#64747c;line-height:1.6;font-size:14px;flex:1}.service-card a{color:#008dca;font-size:12px;font-weight:800}.services-cta{margin:0 clamp(28px,8vw,120px) 90px;padding:55px 60px;display:flex;justify-content:space-between;align-items:center;gap:30px;background:var(--blue);color:#fff}.services-cta a{background:#fff;color:#087ead;padding:15px 20px;font-size:13px;font-weight:bold;white-space:nowrap}.map-location{display:inline-block;color:inherit}.map-location span{display:inline-block;margin-top:14px;color:#9bddf5;font-size:13px;font-weight:800}.map-location:hover span{text-decoration:underline}footer a{color:inherit;text-decoration:underline;text-underline-offset:3px}
.service-icon{position:relative;animation:serviceIconFloat 3.2s ease-in-out infinite;will-change:transform;box-shadow:0 8px 22px rgba(0,151,210,.12)}.service-icon::after{content:"";position:absolute;inset:-7px;border:2px dashed rgba(0,151,210,.34);border-radius:50%;animation:serviceIconOrbit 7s linear infinite;pointer-events:none}.service-card:nth-child(3n+2) .service-icon,.service-card:nth-child(3n+2) .service-icon::after,.service-card:nth-child(3n+2) .service-icon svg{animation-delay:.45s}.service-card:nth-child(3n) .service-icon,.service-card:nth-child(3n) .service-icon::after,.service-card:nth-child(3n) .service-icon svg{animation-delay:.9s}.service-icon svg{transform-origin:center;animation:serviceIconBreathe 2.2s ease-in-out infinite}.service-card:hover .service-icon svg,.service-card:focus-within .service-icon svg{animation:serviceIconSmile .85s ease-in-out infinite}.service-card:hover .service-icon,.service-card:focus-within .service-icon{background:#d9f4ff;animation:serviceIconBounce .8s ease-in-out infinite;box-shadow:0 12px 28px rgba(0,151,210,.28)}
@keyframes serviceIconFloat{0%,100%{transform:translateY(0) rotate(-2deg)}50%{transform:translateY(-10px) rotate(2deg)}}
@keyframes serviceIconOrbit{to{transform:rotate(360deg)}}
@keyframes serviceIconBreathe{0%,100%{transform:scale(.94)}50%{transform:scale(1.1)}}
@keyframes serviceIconBounce{0%,100%{transform:translateY(-4px) scale(1)}50%{transform:translateY(-12px) scale(1.08)}}
@keyframes serviceIconSmile{0%,100%{transform:rotate(-8deg) scale(1.05)}50%{transform:rotate(8deg) scale(1.18)}}
@media(prefers-reduced-motion:reduce){.service-icon,.service-icon::after,.service-icon svg,.service-card:hover .service-icon,.service-card:focus-within .service-icon,.service-card:hover .service-icon svg,.service-card:focus-within .service-icon svg{animation:none}.service-card,.service-icon{transition:none}}
.staff-page{min-height:100vh;background:#fff}.staff-hero{min-height:500px;display:flex;flex-direction:column;justify-content:center;padding:90px clamp(28px,8vw,120px);color:#fff;background:radial-gradient(circle at 78% 22%,rgba(7,169,234,.38),transparent 24%),linear-gradient(120deg,#061923,#0c3a50)}.staff-hero h1{margin:0;max-width:760px;font-family:Georgia,serif;font-size:clamp(48px,7vw,86px);line-height:.98;font-weight:400;letter-spacing:-.045em}.staff-hero>p:last-child{max-width:590px;margin-top:24px;color:#c6e2ed;line-height:1.65;font-size:17px}.staff-section{max-width:1500px;margin:auto}.staff-section-heading{margin-bottom:42px}.staff-section-heading h2{margin:0;max-width:760px;font-family:Georgia,serif;font-size:clamp(36px,4vw,55px);line-height:1.08;font-weight:400;letter-spacing:-.035em}.staff-clinical-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:24px}.staff-profile,.support-profile{background:#fff;border:1px solid var(--line);border-radius:6px;overflow:hidden;box-shadow:0 10px 35px rgba(9,51,70,.07)}.staff-photo,.support-photo{position:relative;aspect-ratio:4/5;overflow:hidden;background:#f5f9fa}.staff-photo img,.support-photo img{width:100%;height:100%;object-fit:cover;object-position:center top}.staff-profile-copy{padding:26px 24px 30px}.staff-profile h3,.support-profile h3{margin:0 0 10px;font-family:Georgia,serif;font-size:24px;font-weight:400;line-height:1.15}.staff-role,.support-profile-copy p{margin:0;color:#008dca;font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.08em;line-height:1.5}.staff-experience{display:inline-block;margin:17px 0 0;padding:7px 10px;border-radius:999px;background:#eaf7fc;color:#087ead;font-size:11px;font-weight:800}.staff-bio{margin:18px 0 0;color:#5f717a;font-size:14px;line-height:1.65}.staff-support{max-width:none;background:#f2f9fb}.staff-support>.staff-section-heading,.staff-support-grid{max-width:1320px;margin-left:auto;margin-right:auto}.staff-support>.staff-section-heading{margin-bottom:42px}.staff-support-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.support-profile-copy{padding:25px 24px 28px}.staff-cta{margin-top:90px}
@media(max-width:1200px) and (min-width:1001px){.site-shell .topbar{min-height:128px;grid-template-columns:1fr;grid-template-areas:"brand" "nav";gap:4px}.site-shell .topbar nav{justify-self:center}}
@media(max-width:1000px){.site-shell{display:block}.appointment-panel{border-left:0;border-top:1px solid var(--line)}.appointment-inner{position:static;height:auto;max-width:680px;margin:auto;padding:60px 28px}.hero{height:570px}.services-grid{grid-template-columns:repeat(2,1fr)}.service-card,.service-card.final-row-left,.service-card.final-row-right{grid-column:auto}.staff-support-grid{grid-template-columns:repeat(2,1fr)}.staff-support-grid .support-profile:last-child{grid-column:1/-1;max-width:calc(50% - 12px);width:100%;justify-self:center}}@media(max-width:700px){.topbar{min-height:128px;padding:15px 20px 8px;grid-template-columns:1fr;grid-template-areas:"brand" "nav";gap:4px}.brand{max-width:70vw;width:215px}.topbar nav{justify-self:center;gap:15px;width:100%;justify-content:center}.topbar nav a{padding:10px 0 8px}.service-nav .nav-appointment{display:none}.hero{height:540px}.placeholder-icon{font-size:150px}.section-pad{padding:65px 24px}.quick-facts,.doctor-grid,.contact,.services-grid,.staff-clinical-grid,.staff-support-grid{grid-template-columns:1fr}.section-heading{display:block}.doctor-grid{gap:28px}.doctor-photo{aspect-ratio:4/5}.services-hero,.staff-hero{min-height:450px;padding:70px 24px}.services-cta{margin:0 24px 60px;padding:40px 28px;display:block}.services-cta a{display:inline-block;margin-top:24px}.staff-support-grid .support-profile:last-child{grid-column:auto;max-width:none}.staff-cta{margin-top:60px}}
/* WhatsApp click-to-chat links (icon: Font Awesome Free, CC BY 4.0) */
a.whatsapp-chat{display:inline-flex;align-items:center;gap:7px;margin-top:6px;font-family:Arial,Helvetica,sans-serif;font-size:13px;font-weight:800;text-decoration:none}a.whatsapp-chat span{text-decoration:underline;text-underline-offset:3px}a.whatsapp-chat .wa-icon{width:22px;height:22px;flex:none;color:#25d366}.contact a.whatsapp-chat{display:flex;color:#dff6ff}.contact a.whatsapp-chat:hover{color:#fff}.contact a.whatsapp-chat .wa-icon{color:#fff;background:#25d366;border-radius:50%;padding:4px;box-sizing:border-box}.emergency-call a.whatsapp-chat{display:flex;color:#25a244}.emergency-call a.whatsapp-chat:hover{color:#1b8a37}
/* Privacy page */
.legal-page{max-width:820px;margin:auto}.legal-page h2{font-family:Georgia,serif;font-size:28px;font-weight:400;margin:38px 0 12px}.legal-page h2:first-child{margin-top:0}.legal-page p,.legal-page li{color:#4f6069;font-size:16px;line-height:1.7}.legal-page ul{padding-left:22px}.legal-page li{margin-bottom:10px}.legal-page a{color:#008dca;text-decoration:underline;text-underline-offset:3px}
