/* Restrained motion system for the public clinic website */
:root{--motion-ease:cubic-bezier(.22,.8,.28,1);--motion-fast:220ms;--motion-normal:620ms}
.motion-ready .site-header{animation:header-enter 520ms var(--motion-ease) both}
.motion-ready .hero .badge{animation:hero-enter 520ms 80ms var(--motion-ease) both}
.motion-ready .hero-content h1{animation:hero-enter 680ms 150ms var(--motion-ease) both}
.motion-ready .hero-content>p{animation:hero-enter 680ms 240ms var(--motion-ease) both}
.motion-ready .hero-buttons{animation:hero-enter 680ms 320ms var(--motion-ease) both}
.motion-ready .hero-image{animation:image-enter 820ms 220ms var(--motion-ease) both}
.motion-ready .hero-care-card{animation:care-card-enter 680ms 700ms var(--motion-ease) both}
.motion-ready .patient-actions a{animation:action-enter 560ms var(--motion-ease) both}
.motion-ready .patient-actions a:nth-child(1){animation-delay:420ms}.motion-ready .patient-actions a:nth-child(2){animation-delay:500ms}.motion-ready .patient-actions a:nth-child(3){animation-delay:580ms}.motion-ready .patient-actions a:nth-child(4){animation-delay:660ms}
.motion-ready .doctor-directory .physician-profile{animation:action-enter 620ms var(--motion-ease) both}.motion-ready .doctor-directory .physician-profile:nth-child(2){animation-delay:90ms}.motion-ready .doctor-directory .physician-profile:nth-child(3){animation-delay:180ms}
.motion-reveal{opacity:0;transform:translateY(24px);transition:opacity var(--motion-normal) var(--motion-ease),transform var(--motion-normal) var(--motion-ease)}
.motion-reveal.motion-from-left{transform:translateX(-28px)}.motion-reveal.motion-from-right{transform:translateX(28px)}
.motion-reveal.is-visible{opacity:1;transform:none}
.motion-delay-1{transition-delay:70ms}.motion-delay-2{transition-delay:140ms}.motion-delay-3{transition-delay:210ms}.motion-delay-4{transition-delay:280ms}
.btn{position:relative;overflow:hidden;isolation:isolate;transition:color var(--motion-fast),background var(--motion-fast),border-color var(--motion-fast),box-shadow var(--motion-fast),transform var(--motion-fast)}
.btn:active{transform:translateY(1px) scale(.992)}
.btn-primary:after{position:absolute;z-index:-1;inset:0;background:#128b3c;content:"";transform:scaleX(0);transform-origin:right;transition:transform 320ms var(--motion-ease)}
.btn-primary:hover:after,.btn-primary:focus-visible:after{transform:scaleX(1);transform-origin:left}
.patient-actions a{transition:background var(--motion-fast),transform var(--motion-fast)}.patient-actions a:hover{transform:translateY(-2px)}.patient-actions a b{transition:transform var(--motion-fast)}.patient-actions a:hover b{transform:translateX(4px)}
.service-card,.why-us-card,.physician-profile,.visit-steps article{transition:border-color 260ms,box-shadow 260ms,transform 260ms var(--motion-ease)}
.service-card:hover,.physician-profile:hover{transform:translateY(-3px);box-shadow:0 16px 36px rgba(21,46,61,.1)}
.physician-photo img,.about-img,.hero-img{transition:transform 900ms var(--motion-ease)}.physician-profile:hover .physician-photo img{transform:scale(1.025)}
.calendar-day:not(:disabled),.time-slot:not(:disabled){transition:transform 160ms,box-shadow 160ms,background 160ms}.calendar-day:not(:disabled):active,.time-slot:not(:disabled):active{transform:scale(.94)}
.service-modal-panel{transform-origin:center}.service-modal:not([hidden]) .service-modal-panel{animation:professional-modal 360ms var(--motion-ease)}
.service-modal:not([hidden]) .service-modal-backdrop{animation:professional-fade 260ms ease-out}
.nav-links a{transition:color var(--motion-fast)}.logo-mark{transition:transform 280ms var(--motion-ease)}.logo:hover .logo-mark{transform:scale(1.04)}
.footer-links a{position:relative;transition:color var(--motion-fast),padding-left var(--motion-fast)}.footer-links a:hover{padding-left:4px}
/* Lively editorial hero built around the real facility photograph */
.home-page .hero{background:radial-gradient(circle at 8% 16%,rgba(128,221,203,.3),transparent 27%),radial-gradient(circle at 88% 78%,rgba(156,207,104,.25),transparent 28%),linear-gradient(128deg,#f7fcfc 0%,#edf9f7 48%,#f8fbf4 100%)}
.home-page .hero:after{position:absolute;inset:auto -10% -160px 38%;height:310px;background:rgba(1,137,161,.055);border-radius:50%;content:"";filter:blur(2px);transform:rotate(-8deg)}
.hero-depth{isolation:isolate;perspective:1100px}
.hero-depth [data-depth]{transform:translate3d(var(--depth-x,0),var(--depth-y,0),0);transition:transform 800ms var(--motion-ease)}
.hero-aurora{position:absolute;z-index:0;inset:-42px -55px -30px -50px;background:conic-gradient(from 215deg at 50% 50%,rgba(1,137,161,.12),rgba(88,161,72,.2),rgba(92,199,196,.16),rgba(1,137,161,.12));border-radius:43% 57% 48% 52%/55% 43% 57% 45%;filter:blur(2px);animation:aurora-drift 12s ease-in-out infinite}
.hero-art-ring{position:absolute;z-index:1;inset:-20px -27px 3px 22px;border:1px solid rgba(1,137,161,.24);border-radius:48% 52% 44% 56%/54% 42% 58% 46%;animation:ring-drift 14s ease-in-out infinite}
.hero-depth .hero-image-frame{position:relative;z-index:2;overflow:hidden;border:7px solid rgba(255,255,255,.82);border-radius:34px 110px 34px 110px;box-shadow:0 35px 90px rgba(24,76,79,.22)}
.hero-depth .hero-image-frame:after{position:absolute;inset:0;background:linear-gradient(145deg,rgba(1,137,161,.04),transparent 42%,rgba(18,63,66,.16));content:"";pointer-events:none}
.hero-depth .hero-img{transition:transform 1.4s var(--motion-ease),filter .8s ease}.hero-depth:hover .hero-img{filter:saturate(1.08);transform:scale(1.025)}
.hero-specialties{position:relative;z-index:5;display:flex;width:100%;align-items:center;justify-content:space-between;gap:18px;margin:14px 0 0;padding:15px 20px;color:#fff;background:linear-gradient(110deg,#1a4649,#087f8d 72%,#3a9872);border:1px solid rgba(255,255,255,.32);border-radius:12px;box-shadow:0 14px 32px rgba(26,70,73,.16)}
.hero-specialties span{flex:0 0 auto;color:#c8ecdf;font-size:.63rem;font-weight:800;letter-spacing:.12em;line-height:1.35;text-transform:uppercase}.hero-specialties strong{display:flex;min-width:0;align-items:center;justify-content:flex-end;gap:9px;font-size:.72rem;letter-spacing:.01em;line-height:1.4;text-align:right}.hero-specialties i{display:block;flex:0 0 4px;width:4px;height:4px;background:#b7df79;border-radius:50%}
.hero-brand-symbol{position:absolute;z-index:5;top:4%;right:-3%;width:76px;height:76px;background:linear-gradient(145deg,#effcf8,#fff);border:1px solid rgba(1,137,161,.18);border-radius:24px;box-shadow:0 18px 40px rgba(24,76,79,.18);animation:card-float 5.8s ease-in-out infinite;pointer-events:none}
.hero-brand-symbol span{position:absolute;top:50%;left:50%;display:block;background:linear-gradient(135deg,#58a148,#72bd59);border-radius:5px;transform:translate(-50%,-50%)}
.hero-brand-symbol span:first-child{width:37px;height:12px}.hero-brand-symbol span:last-child{width:12px;height:37px}
.hero-signal{position:absolute;z-index:5;right:-5%;bottom:7%;width:63%;padding:13px 18px;background:linear-gradient(110deg,rgba(255,255,255,.94),rgba(239,250,247,.9));border:1px solid rgba(1,137,161,.17);border-radius:16px;box-shadow:0 20px 48px rgba(24,76,79,.18);backdrop-filter:blur(12px);pointer-events:none}
.hero-signal svg{display:block;width:100%;height:auto}.hero-signal path{fill:none;stroke:url(#signal-gradient);stroke:#0189a1;stroke-width:4;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:410;stroke-dashoffset:410;animation:pulse-draw 4s ease-in-out infinite}
.hero-dot{position:absolute;z-index:4;width:15px;height:15px;background:#58a148;border:4px solid #fff;border-radius:50%;box-shadow:0 7px 18px rgba(26,70,73,.2);animation:dot-float 5s ease-in-out infinite}.hero-dot-one{top:36%;left:-4%}.hero-dot-two{right:11%;bottom:-2%;width:20px;height:20px;background:#0189a1;animation-delay:-2.2s}
@keyframes aurora-drift{50%{border-radius:55% 45% 55% 45%/44% 58% 42% 56%;transform:rotate(3deg) scale(1.025)}}
@keyframes ring-drift{50%{transform:rotate(-3deg) scale(.98);opacity:.68}}
@keyframes card-float{50%{margin-top:-10px;rotate:2deg}}
@keyframes dot-float{50%{margin-top:-11px;scale:1.1}}
@keyframes pulse-draw{0%{stroke-dashoffset:410;opacity:.3}45%,75%{stroke-dashoffset:0;opacity:1}100%{stroke-dashoffset:-410;opacity:.3}}
.visit-steps{position:relative}.visit-steps:before{position:absolute;top:27px;bottom:27px;left:27px;width:2px;background:linear-gradient(#0189a1,#58a148);content:"";opacity:.28;transform:scaleY(0);transform-origin:top;transition:transform 1.2s var(--motion-ease)}
.visit-path-intro.is-visible~.visit-steps:before,.visit-steps:has(.is-visible):before{transform:scaleY(1)}
@media(max-width:900px){.hero-specialties{gap:12px}}
@media(max-width:768px){.hero-aurora{inset:-18px}.hero-art-ring{display:none}.hero-depth .hero-image-frame{border-width:5px;border-radius:24px 70px 24px 70px}.hero-specialties{display:grid;width:100%;gap:5px;margin:12px 0 0;padding:14px 16px;border-radius:10px}.hero-specialties strong{justify-content:flex-start;gap:7px;text-align:left}}
/* Consistent responsive button feedback */
.btn,.hamburger,.service-modal-close,.calendar-toolbar button,.calendar-day,.time-slot,.notification-close,.btn-subscribe,.service-card[role=button]{will-change:transform;transform-origin:center;transition:transform 220ms var(--motion-ease),box-shadow 220ms ease,background-color 220ms ease,border-color 220ms ease,color 220ms ease}
.btn:focus-visible,.hamburger:focus-visible,.service-modal-close:focus-visible,.calendar-toolbar button:focus-visible,.calendar-day:focus-visible,.time-slot:focus-visible,.notification-close:focus-visible,.service-card[role=button]:focus-visible{transform:translateY(-2px) scale(1.025);box-shadow:0 10px 24px rgba(6,76,116,.16)}
.btn:active,.hamburger:active,.service-modal-close:active,.calendar-toolbar button:active,.calendar-day:not(:disabled):active,.time-slot:not(:disabled):active,.notification-close:active{transform:translateY(1px) scale(.97);transition-duration:90ms}
@media(hover:hover) and (pointer:fine){
.btn:hover{transform:translateY(-3px) scale(1.025);box-shadow:0 12px 28px rgba(6,76,116,.16)}
.btn-primary:hover{box-shadow:0 12px 28px rgba(18,139,60,.23)}
.hamburger:hover,.service-modal-close:hover,.calendar-toolbar button:hover,.notification-close:hover{transform:translateY(-2px) scale(1.08);box-shadow:0 8px 18px rgba(6,76,116,.14)}
.calendar-day:not(:disabled):hover,.time-slot:not(:disabled):hover{z-index:1;transform:translateY(-2px) scale(1.06);box-shadow:0 8px 16px rgba(6,76,116,.15)}
.service-card[role=button]:hover{transform:translateY(-5px) scale(1.012);box-shadow:0 17px 38px rgba(21,46,61,.12)}
}
@keyframes header-enter{from{opacity:0;transform:translateY(-10px)}}
@keyframes hero-enter{from{opacity:0;transform:translateY(20px)}}
@keyframes image-enter{from{opacity:0;transform:translateX(26px) scale(.985)}}
@keyframes care-card-enter{from{opacity:0;transform:translateY(12px) scale(.98)}}
@keyframes action-enter{from{opacity:0;transform:translateY(14px)}}
@keyframes professional-modal{from{opacity:0;transform:translateY(18px) scale(.985)}}
@keyframes professional-fade{from{opacity:0}}
@media(max-width:768px){
.motion-ready .hero-image{animation-name:hero-enter}.motion-reveal,.motion-reveal.motion-from-left,.motion-reveal.motion-from-right{transform:translateY(16px)}
.service-card:hover,.physician-profile:hover,.patient-actions a:hover{transform:none}
.btn,.hamburger,.service-modal-close,.calendar-toolbar button,.calendar-day,.time-slot,.service-card[role=button]{will-change:auto}
}
@media(prefers-reduced-motion:reduce){
*,*:before,*:after{scroll-behavior:auto!important;animation:none!important;transition-duration:.01ms!important;transition-delay:0ms!important}
.motion-reveal,.motion-reveal.motion-from-left,.motion-reveal.motion-from-right{opacity:1!important;transform:none!important}
.hero-depth [data-depth]{transform:none!important}.hero-aurora,.hero-art-ring,.hero-brand-symbol,.hero-dot,.hero-signal path{animation:none!important}.hero-signal path{stroke-dashoffset:0}.visit-steps:before{transform:scaleY(1)}
}

/* Shared editorial system for the patient-facing inner pages */
.inner-page .hero{position:relative;overflow:hidden;background:radial-gradient(circle at 7% 18%,rgba(126,218,202,.3),transparent 28%),radial-gradient(circle at 94% 78%,rgba(166,211,112,.25),transparent 26%),linear-gradient(125deg,#f8fcfc,#edf8f6 52%,#f9fbf4);border:0}
.inner-page .hero:before{position:absolute;display:block;right:-8%;bottom:-58%;width:50%;height:100%;background:rgba(1,137,161,.06);border-radius:50%;content:"";transform:rotate(-14deg)}
.inner-page .hero-content{position:relative;z-index:2}.inner-page .hero-content h1{color:#17646f;text-wrap:balance}.inner-page .hero-content>p{max-width:590px;color:#536e70}
.inner-page .hero .badge{padding:7px 12px;color:#397f35;background:rgba(255,255,255,.72);border:1px solid rgba(88,161,72,.2);border-radius:99px;backdrop-filter:blur(8px)}.inner-page .hero .badge:before{display:none}
.inner-hero-art{position:relative;isolation:isolate}.inner-hero-art:before{position:absolute;z-index:0;inset:-25px -32px -27px 18px;background:conic-gradient(from 210deg,rgba(1,137,161,.14),rgba(88,161,72,.2),rgba(112,205,194,.16),rgba(1,137,161,.14));border-radius:42% 58% 47% 53%/56% 45% 55% 44%;content:"";animation:aurora-drift 13s ease-in-out infinite}.inner-hero-art:after{position:absolute;z-index:4;top:-14px;right:-12px;width:58px;height:58px;background:linear-gradient(145deg,#fff,#ecfaf6);border:1px solid rgba(1,137,161,.2);border-radius:19px;box-shadow:0 16px 34px rgba(26,70,73,.16);color:#58a148;content:"+";font:700 2.6rem/55px Poppins,Arial,sans-serif;text-align:center;animation:card-float 6s ease-in-out infinite}.inner-page .inner-hero-art .hero-image-frame{position:relative;z-index:2;overflow:hidden;border:6px solid rgba(255,255,255,.86);border-radius:26px 82px 26px 82px;box-shadow:0 28px 70px rgba(26,70,73,.2)}.inner-page .inner-hero-art .hero-image-frame:after{background:linear-gradient(145deg,rgba(1,137,161,.03),transparent 45%,rgba(18,63,66,.15))}.inner-page .inner-hero-art .hero-img{transition:filter .7s ease,transform 1.2s var(--motion-ease)}.inner-page .inner-hero-art:hover .hero-img{filter:saturate(1.08);transform:scale(1.025)}
.inner-page main>section:not(.hero){position:relative}.inner-page main>section:not(.hero):before{pointer-events:none}

/* Patient information: warm, reassuring editorial split */
.patient-information-page .about{background:linear-gradient(180deg,#fff 0%,#f7fbfa 100%)}
.patient-information-page .about-image{padding:14px}.patient-information-page .about-image:before{display:block;inset:0;background:linear-gradient(145deg,rgba(1,137,161,.13),rgba(88,161,72,.13));border-radius:28px 70px 28px 70px}.patient-information-page .about-img{border:6px solid #fff;border-radius:22px 60px 22px 60px;box-shadow:0 24px 60px rgba(26,70,73,.16)}
.patient-information-page .about-content{padding:clamp(25px,4vw,48px);background:rgba(255,255,255,.8);border:1px solid rgba(1,137,161,.12);border-radius:24px;box-shadow:0 22px 58px rgba(26,70,73,.07)}
.patient-information-page .why-us-card{background:linear-gradient(145deg,#fff,#f2faf8);border:1px solid rgba(1,137,161,.12);border-radius:16px}.patient-information-page .why-us-card:hover{border-color:rgba(88,161,72,.55);box-shadow:0 18px 38px rgba(26,70,73,.1);transform:translateY(-4px)}

/* Services: vivid cards with distinct but related accent washes */
.services-page .services{background:radial-gradient(circle at 90% 10%,rgba(120,207,191,.18),transparent 26%),linear-gradient(180deg,#f8fbfa,#f3f8f7)}
.services-page .services-grid{gap:20px;border:0}.services-page .service-card{overflow:hidden;border:1px solid rgba(1,137,161,.12)!important;border-radius:20px;background:#fff;box-shadow:0 14px 38px rgba(26,70,73,.07)}.services-page .service-card:nth-child(3n+2){background:linear-gradient(160deg,#fff 62%,#f0f8eb)}.services-page .service-card:nth-child(3n+3){background:linear-gradient(160deg,#fff 62%,#edf8fa)}.services-page .service-photo{overflow:hidden}.services-page .service-photo:after{position:absolute;inset:0;background:linear-gradient(180deg,transparent 55%,rgba(26,70,73,.22));content:""}.services-page .service-card:hover{border-color:rgba(88,161,72,.65)!important;box-shadow:0 24px 55px rgba(26,70,73,.14);transform:translateY(-7px)}

/* Doctors: premium profile presentation */
.doctors-page .medical-team{background:radial-gradient(circle at 8% 8%,rgba(1,137,161,.12),transparent 25%),linear-gradient(180deg,#fff,#f5faf8)}
.doctors-page .team-heading{padding-bottom:25px;border-bottom:1px solid rgba(1,137,161,.15)}.doctors-page .physician-profile{overflow:hidden;background:rgba(255,255,255,.94);border:1px solid rgba(1,137,161,.14);border-top:0;border-radius:24px;box-shadow:0 26px 65px rgba(26,70,73,.12)}.doctors-page .physician-profile:before{position:absolute;z-index:2;top:0;right:0;left:0;height:6px;background:linear-gradient(90deg,#0189a1,#54b7aa,#70ad50);content:""}.doctors-page .physician-photo{position:relative;background:linear-gradient(145deg,#dff3f2,#eff6e9)}.doctors-page .physician-details{position:relative}.doctors-page .physician-details:after{position:absolute;right:35px;bottom:28px;color:rgba(1,137,161,.07);content:"+";font:700 7rem/1 Poppins,Arial,sans-serif;pointer-events:none}

/* Contact: approachable information panel and polished form */
.home-page .contact{display:block;padding:68px 0;background:radial-gradient(circle at 92% 12%,rgba(88,161,72,.14),transparent 25%),linear-gradient(180deg,#f8fcfb,#eef7f5)}.home-page .contact-wrapper{display:block;width:min(100%,1040px);margin-inline:auto}.home-page .contact-info{display:grid;grid-template-columns:minmax(220px,.72fr) minmax(0,1.28fr);grid-template-rows:auto auto 1fr;gap:0 50px;padding:36px 40px;background:linear-gradient(#fff,#fff) padding-box,linear-gradient(110deg,#0189a1,#67ad55) border-box;border:1px solid transparent;border-radius:18px;box-shadow:0 20px 52px rgba(26,70,73,.1);color:#1a4649}.home-page .contact-info .badge{grid-column:1;margin-bottom:9px}.home-page .contact-info h2{grid-column:1;color:#17646f;font-size:clamp(1.65rem,2.8vw,2.35rem);line-height:1.15}.home-page .contact-info>p{grid-column:1;max-width:310px;margin-top:12px;color:#657779;font-size:.82rem;line-height:1.65}.home-page .info-items{display:grid;grid-column:2;grid-row:1/4;grid-template-columns:1fr 1fr;gap:10px;margin:0}.home-page .info-item{min-width:0;grid-template-columns:31px minmax(0,1fr);gap:10px;align-items:start;padding:14px;background:linear-gradient(145deg,#f7fbfa,#f0f7f5);border:1px solid #dce9e7;border-radius:11px}.home-page .info-icon{width:30px;height:30px;color:#087b87;background:#dff2ee;font-size:.56rem}.home-page .info-item h4{color:#1a4649;font-size:.7rem}.home-page .info-item p{color:#627476;font-size:.69rem;line-height:1.45;overflow-wrap:anywhere}.home-page .info-item a{font-weight:700}.home-page .map-link{margin-top:5px;color:#0189a1;font-size:.64rem}.home-page .info-item:hover{border-color:rgba(88,161,72,.55);box-shadow:0 8px 22px rgba(26,70,73,.07);transform:translateY(-2px);transition:.24s var(--motion-ease)}
.info-icon svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.home-page .info-icon{background:linear-gradient(145deg,#dff4f1,#ebf7e7);box-shadow:inset 0 0 0 1px rgba(1,137,161,.08)}
.appointments-page .visit-path{background:linear-gradient(125deg,#1a4649,#087b87);color:#fff}.appointments-page .visit-path h2,.appointments-page .visit-path h3{color:#fff}.appointments-page .visit-path p{color:rgba(255,255,255,.73)}.appointments-page .visit-steps article{background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.14);border-radius:16px;backdrop-filter:blur(8px)}
.appointments-page .contact{background:radial-gradient(circle at 92% 12%,rgba(88,161,72,.2),transparent 25%),linear-gradient(180deg,#f8fcfb,#eef7f5)}.appointments-page .contact-info{padding:clamp(26px,4vw,45px);background:linear-gradient(145deg,#1a4649,#087b87);border-radius:24px;color:#fff;box-shadow:0 28px 65px rgba(26,70,73,.2)}.appointments-page .contact-info h2,.appointments-page .contact-info h4{color:#fff}.appointments-page .contact-info>p,.appointments-page .info-item p{color:rgba(255,255,255,.72)}.appointments-page .info-item{border-color:rgba(255,255,255,.15)}.appointments-page .info-icon{color:#1a4649;background:#bfe8d1}.appointments-page .contact-form{border:1px solid rgba(1,137,161,.14);border-top:6px solid #58a148;border-radius:24px;box-shadow:0 25px 60px rgba(26,70,73,.11)}

@media(max-width:768px){.inner-hero-art:before{inset:-12px}.inner-hero-art:after{top:-9px;right:5px;width:50px;height:50px;border-radius:16px;font-size:2.2rem;line-height:48px}.inner-page .inner-hero-art .hero-image-frame{border-width:4px;border-radius:20px 58px 20px 58px}.patient-information-page .about-image{padding:8px}.patient-information-page .about-content,.appointments-page .contact-info{padding:24px 20px;border-radius:18px}.services-page .services-grid{gap:16px}.services-page .service-card,.doctors-page .physician-profile,.appointments-page .contact-form{border-radius:17px}.home-page .contact{padding:52px 0}.home-page .contact-info{display:block;padding:25px 18px;border-radius:14px}.home-page .contact-info>p{max-width:520px}.home-page .info-items{grid-template-columns:1fr;margin-top:22px}.home-page .info-item{padding:13px}}
