@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@400;500;600;700;800&display=swap');
:root{--green:#093624;--ink:#093624;--muted:#205B42;--cream:#FFFFFF;--lime:#7E9088;--line:#FFFFFF}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;color:var(--ink);font:17px/1.65 'DM Sans',sans-serif;background:#FFFFFF}a{color:inherit;text-decoration:none}button,input,select{font:inherit}button,a,input,select,summary{-webkit-tap-highlight-color:transparent}button,a{touch-action:manipulation}button{cursor:pointer}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid #093624;outline-offset:5px}.topbar{padding:8px 5%;background:var(--green);color:white;display:flex;justify-content:space-between;font-size:13px;letter-spacing:.3px}header{height:95px;padding:0 5%;display:flex;align-items:center;justify-content:space-between;gap:24px;background:#FFFFFF;position:sticky;top:0;z-index:20;border-bottom:1px solid #FFFFFF}.brand{display:flex;align-items:center;gap:10px;font:800 16px/1.3 'Manrope',sans-serif;letter-spacing:.4px}.brand small{display:block;font-size:11px;letter-spacing:4px;margin-top:5px}.brandmark{display:grid;place-items:center;background:var(--green);color:var(--lime);height:43px;width:43px;border-radius:50% 50% 50% 9px;font-size:31px}nav{display:flex;gap:27px;font-size:14px}nav a:hover,.textlink:hover{color:#093624}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:30px;background:var(--green);color:white;padding:16px 23px;border-radius:7px;border:0;font-weight:600;font-size:15px;transition:background .2s,transform .2s}.button:hover{background:#093624;transform:translateY(-2px)}.button.small{font-size:13px;padding:13px 17px}.menu{display:none}.hero{display:grid;grid-template-columns:1fr 1fr;min-height:640px;background:var(--cream);padding:44px 5% 48px;gap:6%}.hero-copy{padding:27px 0 0}.eyebrow{font-size:12px;font-weight:700;letter-spacing:2px;display:flex;align-items:center;gap:9px}.dot{height:6px;width:6px;background:#7E9088;border-radius:50%}h1,h2,h3,p{margin-top:0}h1,h2,h3{font-family:'Manrope',sans-serif}h1{font-size:clamp(46px,4.6vw,72px);line-height:1.12;letter-spacing:-3px;font-weight:500;margin:27px 0 22px}em{font-style:normal;color:#093624}h2{font-size:clamp(32px,3vw,45px);line-height:1.22;letter-spacing:-1.7px;font-weight:500;margin:14px 0 24px}h3{font-size:21px;font-weight:600;line-height:1.4;letter-spacing:-.4px}.intro{max-width:420px;color:var(--muted);font-size:17px}.actions{display:flex;align-items:center;gap:24px;margin-top:28px;flex-wrap:wrap}.textlink{font-size:14px;font-weight:700}.hero-foot{display:flex;align-items:center;gap:12px;margin-top:38px}.round{width:40px;height:40px;border-radius:50%;background:#FFFFFF;display:grid;place-items:center;font-size:26px}.hero-foot p{margin:0;font-size:14px}.hero-foot small{display:block;font-size:12px;color:var(--muted);margin-top:3px}.hero-visual{position:relative;min-height:530px}.hero-visual>img{width:100%;height:100%;object-fit:cover;border-radius:100px 10px 10px 10px;position:absolute;filter:saturate(.65)}.hero-visual:after{content:'';position:absolute;inset:0;border-radius:100px 10px 10px 10px;background:linear-gradient(0deg,#09362440,transparent 65%);pointer-events:none}.image-label{position:absolute;top:24px;right:20px;background:#FFFFFFE6;font-size:10px;letter-spacing:1.4px;padding:9px 14px;border-radius:20px}.image-note{position:absolute;bottom:12px;right:15px;color:white;font-size:11px;z-index:1}.floating-card{position:absolute;bottom:38px;left:-25px;right:28px;background:white;border-radius:9px;box-shadow:0 10px 30px #09362412;padding:20px;display:flex;align-items:center;gap:14px;z-index:2;font-size:16px}.floating-card small{display:block;font-size:13px;color:var(--muted)}.floating-card a{margin-left:auto;font-size:27px}.quickstrip{display:grid;grid-template-columns:repeat(3,1fr);padding:28px 5%;border-bottom:1px solid var(--line)}.quickstrip>a{display:flex;gap:20px;align-items:center;padding:0 30px;border-right:1px solid var(--line);font-size:22px}.quickstrip>a:first-child{padding-left:0}.quickstrip>a:last-child{border:0}.quickstrip>a>span{color:#093624;font-size:13px}.quickstrip div{font-size:16px;flex:1}.quickstrip small{display:block;font-size:12px;color:var(--muted)}.section{padding:88px 7%}.section-head{display:flex;justify-content:space-between;align-items:center;gap:40px;margin-bottom:33px}.section-head>p{max-width:350px;color:var(--muted);font-size:16px}.care-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.care-card{padding:30px;background:#FFFFFF;border-radius:9px}.care-card p{color:var(--muted);font-size:15px;min-height:65px}.care-card a{font-size:13px;font-weight:700}.icon{font-size:31px;margin-bottom:27px}.featured{background:var(--green);color:white}.featured p{color:#FFFFFF}.maternity{background:#FFFFFF}.speciality-title{display:flex;justify-content:space-between;align-items:center;margin:44px 0 19px}.speciality-title h3{font-size:18px;margin:0}.speciality-title span{font-size:13px;color:var(--muted)}.specialities{display:grid;grid-template-columns:repeat(3,1fr);gap:0 30px}.specialities button{text-align:left;padding:20px 0;background:none;border:0;border-bottom:1px solid var(--line);color:var(--ink);display:flex;justify-content:space-between;font-size:15px}.specialities button:hover{color:#093624}.about{background:var(--cream);display:grid;grid-template-columns:1fr 1fr;gap:8%;align-items:center}.about-photo{position:relative;height:490px}.about-photo img{width:100%;height:100%;object-fit:cover;border-radius:9px 85px 9px 9px;filter:saturate(.65)}.about-photo small{position:absolute;bottom:12px;left:15px;color:white;background:#093624B3;padding:2px 8px;font-size:12px}.about p{font-size:15px;color:var(--muted)}.about .eyebrow{font-size:12px}.values{display:grid;grid-template-columns:1fr 1fr;gap:20px;border-top:1px solid var(--line);margin-top:26px;padding-top:24px}.values span{font-size:11px;letter-spacing:1px}.values p{font-size:13px;margin-top:8px}.appointment-section{display:grid;grid-template-columns:.9fr 1fr;gap:9%;background:#FFFFFF}.appointment-intro>p{color:var(--muted);max-width:380px}.appointment-intro .eyebrow{color:var(--green)}ol{padding:0;list-style:none;margin:30px 0}li{display:flex;align-items:center;gap:12px;margin:13px 0;font-size:14px}li span{display:grid;place-items:center;border:1px solid var(--line);border-radius:50%;width:25px;height:25px}.callout{border-left:3px solid #7E9088;padding:0 0 0 18px;margin-top:33px;max-width:350px}.callout b{font-size:14px}.callout p{font-size:13px;color:var(--muted);margin:5px 0}.callout a{font-size:18px;font-weight:600}form{background:var(--cream);padding:35px;border-radius:12px}form h3{margin-bottom:8px}.muted{color:var(--muted);font-size:14px}.formgrid{display:grid;grid-template-columns:1fr 1fr;gap:21px 16px;margin:26px 0}label{font-size:13px;font-weight:600}input:not([type=checkbox]),select{display:block;width:100%;padding:13px 10px;border:1px solid #FFFFFF;border-radius:5px;background:white;color:var(--ink);margin-top:7px;font-size:14px;min-width:0}.consent{display:flex;align-items:flex-start;gap:9px;font-size:12px;font-weight:400;line-height:1.6}.consent input{margin-top:3px;accent-color:var(--green)}.privacyhint{font-size:12px;color:var(--muted);margin:17px 0}form>.button{width:100%}#review{margin-top:18px;border-top:1px solid var(--line);padding-top:16px;font-size:14px}#review p{white-space:pre-line}#review a{width:100%;background:#093624}.visit-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:45px}.visit-grid p{font-size:15px;color:var(--muted)}.step{display:block;color:#093624;font-size:32px;font-weight:500;border-bottom:1px solid var(--line);padding-bottom:17px;margin-bottom:24px}.international{margin:0 5%;padding:56px 8%;border-radius:12px;background:var(--green);color:white;text-align:center}.international .eyebrow{justify-content:center;color:#FFFFFF}.international h2 em{color:#FFFFFF}.international p:not(.eyebrow){max-width:650px;margin:0 auto 25px;font-size:15px;color:#FFFFFF}.light{background:#7E9088;color:var(--green)}.faq{display:grid;grid-template-columns:1fr 1.2fr;gap:8%}.faq>div>p:not(.eyebrow){font-size:15px;color:var(--muted)}details{border-bottom:1px solid var(--line);padding:17px 0}summary{font-size:15px;font-weight:600;cursor:pointer}details p{font-size:14px;color:var(--muted);margin:14px 0 0}.contact{background:#FFFFFF;display:grid;grid-template-columns:1fr 1fr;gap:10%}.contact p{font-size:15px}.contact-panel{align-self:center}.contact-panel>span{font-size:12px;letter-spacing:2px}.contact-panel>a:not(.social){display:block;font-size:32px;letter-spacing:-1px;margin:12px 0}.contact-panel p{color:var(--muted)}.social{display:block;font-size:14px;border-top:1px solid #FFFFFF;padding:15px 0}footer{padding:40px 7% 22px}footer>p{font-size:14px;color:var(--muted);margin-top:20px}footer>div{border-top:1px solid var(--line);padding-top:20px;display:flex;gap:25px;font-size:12px}footer>div span{margin-right:auto}.chat-launch{position:fixed;right:22px;bottom:22px;background:var(--green);color:white;border:1px solid #FFFFFF55;border-radius:30px;padding:13px 20px;box-shadow:0 4px 20px #09362422;z-index:30;font-size:15px}#chat{position:fixed;right:22px;bottom:82px;width:330px;max-width:calc(100% - 32px);padding:22px;background:white;border:1px solid var(--line);border-radius:12px;box-shadow:0 15px 50px #09362433;z-index:31;font-size:14px}.chat-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.chat-head button{border:0;background:none;font-size:26px}#chat>button{border:1px solid var(--line);background:var(--cream);padding:9px 12px;border-radius:6px;margin:3px;font-size:13px;color:var(--ink)}#chat-answer{margin-top:10px}#chat-answer a{text-decoration:underline}/* Scroll-reveal behavior is applied progressively in the motion layer below. */
@media(min-width:1500px){main,header,footer,.topbar{padding-left:max(5%,calc((100vw - 1440px)/2));padding-right:max(5%,calc((100vw - 1440px)/2))}main{padding:0;max-width:1600px;margin:auto}}@media(max-width:1000px){nav{gap:16px}header{gap:15px;padding:0 4%}.brand{font-size:15px}header .button{gap:10px}.hero{gap:4%;padding-left:5%;padding-right:5%}h1{font-size:51px}.hero .actions{gap:15px}.hero-visual{min-height:500px}.section{padding:65px 5%}.quickstrip>a{padding:0 15px;gap:10px}.appointment-section{gap:5%}form{padding:25px}}@media(max-width:760px){.topbar{font-size:11px}.topbar>span{display:none}.topbar{justify-content:center}header{height:77px}.brand{font-size:14px}.brandmark{height:34px;width:34px;font-size:25px}.brand small{font-size:9px}.menu{display:block;background:none;border:0;font-size:24px;color:var(--green)}header>.button{margin-left:auto;font-size:11px;padding:10px;gap:7px}nav{display:none;position:absolute;top:77px;left:0;right:0;background:white;padding:22px;border-bottom:1px solid var(--line)}nav.open{display:flex;flex-wrap:wrap}.hero{grid-template-columns:1fr;padding:28px 6% 35px;gap:30px}.hero-copy{padding:0}.eyebrow{font-size:11px;letter-spacing:1.4px}h1{font-size:53px;margin-top:20px}.intro{font-size:16px}.hero-foot{margin-top:27px}.hero-visual{height:360px;min-height:0}.hero-visual>img{border-radius:70px 8px 8px 8px}.floating-card{left:15px;right:15px;bottom:25px;padding:15px}.quickstrip{grid-template-columns:1fr;padding:10px 6%}.quickstrip>a,.quickstrip>a:first-child{padding:16px 0;border-right:0;border-bottom:1px solid var(--line)}.section{padding:54px 6%}.section-head{display:block;margin-bottom:25px}.section-head>p{margin-bottom:0}.care-grid{grid-template-columns:1fr;gap:12px}.care-card{padding:25px}.care-card p{min-height:0}.icon{margin-bottom:14px}.speciality-title{display:block;margin-top:30px}.speciality-title span{font-size:12px}.specialities{grid-template-columns:1fr 1fr;gap:0 16px}.specialities button{font-size:14px}.about{grid-template-columns:1fr;gap:30px}.about-photo{height:320px}.appointment-section{grid-template-columns:1fr;gap:30px}.formgrid{gap:17px 12px}form{padding:23px}.visit-grid{grid-template-columns:1fr;gap:18px}.step{font-size:25px;padding-bottom:8px;margin-bottom:12px}.international{padding:40px 7%;margin:0 5%}.faq{grid-template-columns:1fr;gap:15px}.contact{grid-template-columns:1fr;gap:40px}.contact-panel>a:not(.social){font-size:28px}footer{padding-bottom:90px}footer>div{flex-wrap:wrap;gap:15px}footer>div span{width:100%}.chat-launch{bottom:16px;right:16px}.values{gap:15px}h2{font-size:34px}.button{font-size:14px;padding:14px 18px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}}

/* Hospital brand: blue foundations, orange appointment actions. */
.hero .button,header>.button,form>.button{background:#7E9088;color:#093624}.hero .button:hover,header>.button:hover,form>.button:hover,.button.light:hover{background:#7E9088;color:#093624}.button.light{color:#093624}.brandmark{color:#7E9088}.featured .icon{color:#FFFFFF}.maternity .icon{color:#093624}.round{color:#093624}.hero h1 em{text-decoration:underline;text-decoration-color:#7E9088;text-decoration-thickness:3px;text-underline-offset:10px}.callout{border-left-color:#7E9088}

/* Larger reading text and the hospital symbol without lettering. */
.brand-logo{display:block;width:110px;height:72px;object-fit:contain}header .brand{flex-shrink:0}footer .brand-logo{width:130px;height:85px}.formgrid{gap:23px 16px}.care-card p{min-height:80px}@media(max-width:1000px){nav{gap:16px}}@media(max-width:760px){.brand-logo{width:82px;height:58px}header>.button{font-size:11px}.care-card p{min-height:0}.formgrid{grid-template-columns:1fr}footer .brand-logo{width:110px;height:72px}}

/* High-resolution standalone hospital symbol. */
.brand-symbol{display:block;width:118px;height:78px;flex-shrink:0;background:white}
.brand-symbol img{display:block;width:100%;height:100%;object-fit:contain}
footer .brand-symbol{width:132px;height:88px}
@media(max-width:760px){.brand-symbol{width:88px;height:59px}footer .brand-symbol{width:110px;height:74px}}

/* Ensure disclosure and booking feedback remain accessible. */
[hidden]{display:none!important}
input:focus-visible,select:focus-visible{outline:3px solid #093624;outline-offset:2px}


/* Hospital motion system: calm, responsive, and accessible. */
.scroll-progress{
  position:fixed;inset:0 auto auto 0;width:100%;height:3px;
  z-index:60;transform:scaleX(0);transform-origin:left center;
  background:#7E9088;pointer-events:none;
}
nav a{position:relative}
nav a::after{
  content:"";position:absolute;height:2px;left:0;right:0;bottom:-7px;
  border-radius:2px;background:#7E9088;
  transform:scaleX(0);transform-origin:left;
  transition:transform .28s ease;
}
nav a:hover::after,nav a:focus-visible::after{transform:scaleX(1)}
.button{transition:transform .28s ease,background-color .28s ease,box-shadow .28s ease}
.button:hover{box-shadow:0 9px 22px rgba(9,54,36,.15);transform:translateY(-3px)}
.button:active{transform:translateY(0);box-shadow:0 3px 9px rgba(9,54,36,.12)}
.care-card{
  transition:transform .32s cubic-bezier(.2,.75,.2,1),box-shadow .32s ease;
}
.care-card:hover,.care-card:focus-within{
  transform:translateY(-6px);box-shadow:0 16px 36px rgba(9,54,36,.13);
}
.quickstrip>a{transition:background-color .25s ease,box-shadow .25s ease}
.quickstrip>a:hover,.quickstrip>a:focus-visible{background:rgba(9,54,36,.045)}
.specialities button{
  transition:color .25s ease,padding-left .28s ease,background-color .25s ease;
}
.specialities button:hover,.specialities button:focus-visible{
  padding-left:9px;background:rgba(9,54,36,.04);
}
.faq details summary{transition:color .2s ease}
.faq details summary:hover,.faq details[open] summary{color:#093624}
.faq details[open] p{animation:faqReveal .25s ease both}
@keyframes faqReveal{
  from{opacity:.3;transform:translateY(-5px)}
  to{opacity:1;transform:translateY(0)}
}
#chat:not([hidden]){animation:chatReveal .25s cubic-bezier(.2,.75,.2,1)}
@keyframes chatReveal{
  from{opacity:0;transform:translateY(12px) scale(.985)}
  to{opacity:1;transform:translateY(0) scale(1)}
}
.chat-launch{transition:transform .25s ease,box-shadow .25s ease}
.chat-launch:hover{transform:translateY(-3px);box-shadow:0 10px 24px #09362444}
@media (prefers-reduced-motion: no-preference){
  html.motion-ready .motion-item{
    transition:opacity .72s cubic-bezier(.2,.7,.2,1),
      transform .72s cubic-bezier(.2,.7,.2,1),
      box-shadow .3s ease;
    transition-delay:var(--motion-delay,0ms);
  }
  html.motion-ready .motion-item:not(.is-visible){
    opacity:0;transform:translate3d(0,25px,0);
  }
  html.motion-ready .motion-item.is-visible{
    opacity:1;transform:translate3d(0,0,0);
  }
  html.motion-ready .care-card.motion-item.is-visible:hover,
  html.motion-ready .care-card.motion-item.is-visible:focus-within{
    transform:translate3d(0,-6px,0);
  }
  .hero-copy>.eyebrow{animation:heroRise .62s .04s both}
  .hero-copy>h1{animation:heroRise .8s .14s both}
  .hero-copy>.intro{animation:heroRise .8s .27s both}
  .hero-copy>.actions{animation:heroRise .8s .36s both}
  .hero-copy>.hero-foot{animation:heroRise .75s .45s both}
  .hero-visual{animation:visualReveal 1s .17s both}
  .hero-visual>img{transition:transform .8s cubic-bezier(.2,.7,.2,1)}
  .hero-visual:hover>img{transform:scale(1.018)}
  .floating-card{animation:floatCalm 6s 1.4s ease-in-out infinite}
  .hero .dot{animation:gentlePulse 3.5s ease-in-out infinite}
  @keyframes heroRise{
    from{opacity:0;transform:translate3d(0,20px,0)}
    to{opacity:1;transform:translate3d(0,0,0)}
  }
  @keyframes visualReveal{
    from{opacity:0;transform:translate3d(0,18px,0) scale(.982)}
    to{opacity:1;transform:translate3d(0,0,0) scale(1)}
  }
  @keyframes floatCalm{
    0%,100%{transform:translateY(0)}
    50%{transform:translateY(-6px)}
  }
  @keyframes gentlePulse{
    0%,100%{box-shadow:0 0 0 0 rgba(126,144,136,0)}
    50%{box-shadow:0 0 0 5px rgba(126,144,136,.15)}
  }
}
/* People sensitive to motion always get static, fully visible content. */
@media (prefers-reduced-motion: reduce){
  .reveal,.motion-item,.hero-copy>*,.hero-visual,.floating-card,
  .hero .dot,#chat:not([hidden]),.faq details[open] p{
    animation:none!important;transition:none!important;
    transform:none!important;opacity:1!important;
  }
  nav a::after,.care-card,.specialities button,.chat-launch,.button{
    transition:none!important;
  }
}
@media (hover:none){
  .hero-visual:hover>img{transform:none}
  .care-card:hover{box-shadow:none}
}

/* Unified hospital contact and compact map.
   Replaces the duplicate full-width map section without changing brand styling. */
.contact{
  grid-template-columns:minmax(0,1fr) minmax(0,1.16fr);
  gap:clamp(28px,4vw,64px);
  align-items:start;
  background:#FFFFFF;
}
.contact-information{min-width:0}
.contact-information h2{margin-bottom:22px}
.hospital-address{
  font-style:normal;font-size:15px;line-height:1.85;color:#093624;
}
.hospital-address strong{font-weight:700;color:#093624}
.contact-actions{margin-top:23px;gap:20px}
.contact-actions .button{background:#093624;color:#FFFFFF}
.contact-actions .button:hover{background:#093624;color:#FFFFFF}
.contact-details{
  border-top:1px solid #FFFFFF;
  margin-top:29px;padding-top:24px;
}
.contact-kicker{display:block;font-size:11px;letter-spacing:1.8px;font-weight:700;color:#205B42}
.contact-phone>a{
  display:inline-block;font-family:'Manrope',sans-serif;
  font-size:clamp(21px,2vw,28px);
  font-weight:600;letter-spacing:-.7px;margin-top:8px;
}
.contact-phone>a:hover{color:#093624}
.contact-phone p{margin:5px 0 16px;color:#205B42;font-size:14px}
.contact-socials{
  display:flex;flex-wrap:wrap;gap:6px 24px;
  border-top:1px solid #FFFFFF;padding-top:14px;
}
.contact-socials a{font-size:13px;font-weight:600;padding:4px 0;transition:color .2s ease}
.contact-socials a:hover{color:#093624}
.contact-map-card{
  min-width:0;background:#FFFFFF;border:1px solid #FFFFFF;
  border-radius:16px;padding:15px;box-shadow:0 12px 32px rgba(9,54,36,.09);
}
.contact-map-heading{
  display:flex;justify-content:space-between;align-items:center;
  flex-wrap:wrap;gap:5px 14px;padding:2px 3px 13px;
}
.contact-map-heading span:first-child{
  color:#093624;font-size:11px;font-weight:700;letter-spacing:1.3px;
}
.contact-map-heading span:last-child{color:#205B42;font-size:12px}
.contact-map-card .map-frame{
  height:390px;background:#FFFFFF;border:1px solid #FFFFFF;
  overflow:hidden;border-radius:10px;
}
.contact-map-card .map-frame iframe{display:block;width:100%;height:100%;border:0}
.contact-map-caption{color:#205B42;font-size:12px;margin:12px 3px 2px}
@media(max-width:1000px){
  .contact{gap:30px;grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
  .contact-map-card .map-frame{height:335px}
}
@media(max-width:760px){
  .contact{display:grid;grid-template-columns:minmax(0,1fr);gap:28px}
  .hospital-address{font-size:14px}
  .contact-actions{gap:12px}
  .contact-details{margin-top:26px;padding-top:18px}
  .contact-map-card{padding:11px;border-radius:12px}
  .contact-map-card .map-frame{height:300px}
}
@media(max-width:390px){.contact-map-card .map-frame{height:265px}}

/* Brochure-informed services, doctor profiles and mission: approved hospital blue/orange. */
.service-count{
  display:inline-grid;place-items:center;vertical-align:middle;
  min-width:33px;height:33px;padding:0 7px;margin-left:9px;border-radius:9px;
  color:#093624;background:#FFFFFF;font:700 13px/1 'Manrope',sans-serif;letter-spacing:0;
}
.speciality-title{gap:20px}
.speciality-title>span{max-width:390px;text-align:right}
.specialities{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px 14px}
.specialities .service-link{
  display:flex;align-items:center;min-height:76px;padding:14px 12px;
  gap:13px;border:1px solid #FFFFFF;border-radius:10px;
  background:#FFFFFF;box-shadow:0 2px 10px rgba(9,54,36,.03);
  transition:transform .28s ease,border-color .25s ease,box-shadow .28s ease,background-color .25s ease;
}
.specialities .service-link:hover,
.specialities .service-link:focus-visible{
  transform:translateY(-3px);padding-left:12px;background:#FFFFFF;
  border-color:#7E9088;box-shadow:0 9px 24px rgba(9,54,36,.11);
}
.service-index{font-size:11px;font-weight:700;color:#205B42;letter-spacing:.3px;flex:0 0 auto}
.service-label{flex:1;font-size:14px;font-weight:600;line-height:1.35}
.service-arrow{font-size:16px;color:#093624;flex:0 0 auto;transition:transform .25s ease}
.service-link:hover .service-arrow{transform:translate(2px,-2px)}
.purpose{background:#FFFFFF;padding-top:72px}
.purpose-heading{display:flex;align-items:end;justify-content:space-between;gap:50px;margin-bottom:28px}
.purpose-heading h2{margin-bottom:0}
.purpose-heading>p:last-child{max-width:360px;font-size:15px;color:var(--muted)}
.purpose-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}
.purpose-card{
  padding:clamp(27px,3vw,44px);border:1px solid #FFFFFF;
  border-radius:16px;background:#FFFFFF;position:relative;overflow:hidden;
}
.purpose-card:before{content:'';position:absolute;inset:0 auto 0 0;width:4px;background:#093624}
.purpose-card-accent{background:#FFFFFF;border-color:#FFFFFF}
.purpose-card-accent:before{background:#7E9088}
.purpose-label{display:flex;align-items:center;gap:12px;font-size:11px;letter-spacing:1.4px;font-weight:700;color:#205B42}
.purpose-label span:first-child{color:#093624;font-size:20px;letter-spacing:-.7px}
.purpose-card-accent .purpose-label span:first-child{color:#205B42}
.purpose-card h3{margin:20px 0 14px;font-size:24px}
.purpose-card p{font-size:15px;line-height:1.8;color:#205B42;margin:0}
.doctors-section{background:#FFFFFF;position:relative;overflow:hidden}
.doctors-section:before{
 content:'';position:absolute;width:530px;height:530px;border-radius:50%;
 top:-320px;right:-150px;background:radial-gradient(circle,#FFFFFF 0%,transparent 72%);
 pointer-events:none;
}
.doctors-head{position:relative}
.doctors-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;position:relative}
.doctor-card{
  --spot-x:50%;--spot-y:0%;
  position:relative;isolation:isolate;display:flex;flex-direction:column;
  padding:clamp(26px,3vw,40px);border:1px solid #FFFFFF;border-radius:20px;
  background:#FFFFFF;box-shadow:0 8px 25px rgba(9,54,36,.055);
  transition:box-shadow .35s ease,border-color .35s ease,transform .35s cubic-bezier(.2,.75,.2,1);
}
.doctor-card:before{
  content:'';position:absolute;inset:0;z-index:-1;border-radius:inherit;opacity:0;
  background:radial-gradient(350px circle at var(--spot-x) var(--spot-y),rgba(9,54,36,.085),transparent 67%);
  transition:opacity .35s ease;pointer-events:none;
}
.doctor-card:hover:before,.doctor-card:focus-within:before{opacity:1}
.doctor-card:hover,.doctor-card:focus-within{
  transform:translateY(-6px);border-color:#7E9088;
  box-shadow:0 18px 45px rgba(9,54,36,.12);
}
.doctor-topline{display:flex;align-items:start;justify-content:space-between;gap:20px;margin-bottom:20px}
.doctor-monogram{
  width:76px;height:76px;display:grid;place-items:center;
  border-radius:20px 20px 20px 6px;background:linear-gradient(135deg,#093624,#205B42);
  color:#FFFFFF;font:700 28px/1 'Manrope',sans-serif;letter-spacing:-1px;
  box-shadow:0 11px 24px #09362425;position:relative;
}
.doctor-monogram:after{
  content:'';position:absolute;inset:-6px;border:1px solid #7E908848;border-radius:26px 26px 26px 11px;
}
.doctor-card-women .doctor-monogram{
  color:#093624;background:linear-gradient(135deg,#7E9088,#7E9088);
  box-shadow:0 11px 24px #7E90882A;
}
.doctor-card-women .doctor-monogram:after{border-color:#7E908860}
.doctor-number{font:700 11px/1.4 'DM Sans',sans-serif;letter-spacing:1.25px;color:#205B42;text-align:right}
.doctor-role{font-size:11px;font-weight:800;letter-spacing:1.3px;color:#093624;margin:3px 0 9px}
.doctor-card-women .doctor-role{color:#205B42}
.doctor-card h3{font-size:clamp(26px,2.7vw,36px);font-weight:650;line-height:1.17;letter-spacing:-1.2px;margin:0 0 12px}
.doctor-credentials{color:#093624;font-size:14px;font-weight:700;line-height:1.6;margin:0 0 18px}
.doctor-bio{font-size:15px;line-height:1.75;color:#205B42;margin:0 0 20px;flex:1}
.doctor-focus{display:flex;flex-wrap:wrap;gap:7px;margin:0 0 26px}
.doctor-focus span{padding:7px 11px;background:#FFFFFF;color:#093624;border-radius:50px;font-size:11px;font-weight:700}
.doctor-card-women .doctor-focus span{background:#FFFFFF;color:#093624}
.doctor-action{
  display:flex;align-items:center;justify-content:space-between;gap:18px;
  border-top:1px solid #FFFFFF;padding:18px 0 0;margin-top:auto;
  font-size:14px;color:#093624;font-weight:800;
}
.doctor-action span{transition:transform .2s ease}
.doctor-action:hover span{transform:translate(4px,-4px)}
.doctor-disclaimer{font-size:12px;color:#205B42;margin:22px 0 0}
.contact-phone .contact-alternate,.contact-phone .contact-email{
 display:block;margin:9px 0 0;font-family:'DM Sans',sans-serif;letter-spacing:0;
 font-size:14px;font-weight:600;color:#093624;line-height:1.5;overflow-wrap:anywhere;
}
.contact-phone .contact-alternate:hover,.contact-phone .contact-email:hover{color:#093624}
@media(min-width:761px) and (max-width:1180px){
 .specialities{grid-template-columns:repeat(2,minmax(0,1fr))}
 .speciality-title{align-items:flex-start}
 .contact-phone .contact-email{font-size:13px}
}
@media(max-width:760px){
  nav.open{flex-direction:column;gap:15px}
  nav.open a{padding:4px 0}
  .speciality-title>span{text-align:left;display:block;margin-top:6px}
  .specialities{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}
  .specialities .service-link{min-height:79px;padding:12px 9px;gap:8px}
  .service-label{font-size:12px}
  .service-index{font-size:10px}
  .purpose-heading{display:block;margin-bottom:26px}
  .purpose-heading>p:last-child{max-width:100%;margin-top:16px}
  .purpose-grid,.doctors-grid{grid-template-columns:1fr;gap:15px}
  .purpose-card,.doctor-card{padding:24px}
  .purpose-card h3{font-size:21px}
  .purpose-card p,.doctor-bio{font-size:14px}
  .doctor-card h3{font-size:29px}
  .doctor-monogram{width:66px;height:66px;font-size:25px}
  .doctor-number{font-size:10px}
  .contact-phone .contact-email{font-size:13px}
}
@media(max-width:390px){.specialities{grid-template-columns:1fr}.specialities .service-link{min-height:58px}}
@media(prefers-reduced-motion:reduce){
  .doctor-card,.doctor-card:before,.service-link,.service-arrow,.doctor-action span{transition:none!important}
  .doctor-card:hover,.service-link:hover{transform:none!important}
}

/* Preserve the new card hover lift after scroll-reveal transforms have settled. */
@media (hover:hover) and (prefers-reduced-motion:no-preference){
  html.motion-ready .doctor-card.motion-item.is-visible:hover,
  html.motion-ready .doctor-card.motion-item.is-visible:focus-within{
    transform:translate3d(0,-6px,0);
  }
  html.motion-ready .specialities .service-link.motion-item.is-visible:hover,
  html.motion-ready .specialities .service-link.motion-item.is-visible:focus-visible{
    transform:translate3d(0,-3px,0);
  }
}

/* Preselected doctor booking, without altering general appointment flow. */
.selected-doctor{border:1px solid #FFFFFF;background:linear-gradient(115deg,#FFFFFF,#FFFFFF);padding:16px 17px;border-radius:12px;margin:18px 0 8px;box-shadow:0 5px 18px rgba(9,54,36,.065)}
.selected-doctor-top{display:flex;align-items:center;justify-content:space-between;gap:18px}
.selected-doctor-text{display:flex;flex-direction:column;gap:4px;min-width:0}
.selected-doctor-kicker{font-size:10px;letter-spacing:1.15px;font-weight:800;color:#093624}
.selected-doctor-text strong{font-family:'Manrope',sans-serif;font-size:17px;line-height:1.3;color:#093624}
.selected-doctor-text>span:last-child{font-size:12px;line-height:1.45;color:#093624}
.change-doctor{flex:0 0 auto;border:1px solid #7E9088;border-radius:7px;color:#093624;background:white;padding:9px 11px;font-size:12px;font-weight:700;transition:background-color .2s,border-color .2s,transform .2s}
.change-doctor:hover{background:#FFFFFF;border-color:#205B42;transform:translateY(-1px)}
.doctor-picker{margin-top:14px;padding-top:13px;border-top:1px solid #FFFFFF}
.doctor-picker label{display:block;font-size:12px;font-weight:700;color:#093624}
.doctor-picker select{width:100%;max-width:100%;margin-top:7px}
@media(max-width:460px){.selected-doctor-top{align-items:start;gap:9px}.selected-doctor{padding:13px}.selected-doctor-text strong{font-size:15px}.change-doctor{padding:8px 9px;font-size:11px}}
@media(prefers-reduced-motion:reduce){.change-doctor{transition:none!important;transform:none!important}}

/* Animated shortcut to the existing contact section: no duplicate address or map. */
.find-hospital{
  position:relative;overflow:hidden;text-align:center;
  padding-top:90px;padding-bottom:90px;
  background:linear-gradient(155deg,#FFFFFF 0%,#FFFFFF 70%,#FFFFFF);
  border-top:1px solid #FFFFFF;
}
.find-hospital:before,.find-hospital:after{
  content:"";position:absolute;border-radius:50%;pointer-events:none;
  background:radial-gradient(circle,#FFFFFF,transparent 72%);opacity:.48;
}
.find-hospital:before{width:360px;height:360px;top:-235px;left:-115px}
.find-hospital:after{width:440px;height:440px;bottom:-295px;right:-120px;background:radial-gradient(circle,#FFFFFF,transparent 72%)}
.find-hospital-inner{position:relative;z-index:1;max-width:820px;margin:auto}
.find-hospital .eyebrow{justify-content:center;color:#093624;margin-bottom:12px}
.find-hospital h2{font-size:clamp(34px,3.7vw,51px);margin:0 0 15px}
.find-hospital-intro{max-width:530px;margin:0 auto 30px;color:#205B42;font-size:15px}
.find-search{
  width:min(100%,620px);height:70px;
  display:flex;align-items:center;gap:14px;margin:0 auto;padding:10px 12px 10px 14px;
  border-radius:999px;border:1px solid #FFFFFF;background:#FFFFFF;color:#093624;
  text-align:left;overflow:hidden;box-shadow:0 13px 35px rgba(9,54,36,.11);
  transition:width .82s cubic-bezier(.22,.82,.22,1),box-shadow .3s ease,border-color .3s ease;
}
.find-search:hover,.find-search:focus-visible{
  border-color:#093624;box-shadow:0 18px 40px rgba(9,54,36,.17);
}
.find-search-icon{
  display:grid;place-items:center;flex:0 0 39px;height:39px;
  border-radius:50%;background:#FFFFFF;color:#093624;
}
.find-search-text{
  flex:1;min-width:0;display:flex;align-items:center;gap:2px;overflow:hidden;
  white-space:nowrap;font:700 clamp(13px,2vw,19px)/1.4 'Manrope',sans-serif;
  letter-spacing:-.3px;
}
.find-search-text>span:first-child{overflow:hidden;text-overflow:ellipsis}
.find-search-caret{height:23px;width:2px;flex:0 0 2px;background:#093624}
.find-search-enter{display:flex;align-items:center;gap:10px;flex:0 0 auto;color:#205B42;font-size:11px;font-weight:700}
.find-search-arrow{
  width:43px;height:43px;display:grid;place-items:center;
  background:#7E9088;color:#093624;border-radius:50%;font-size:22px;
  transition:transform .25s ease,background-color .25s ease;
}
.find-search:hover .find-search-arrow{transform:translateX(2px);background:#7E9088}
.find-hospital-hint{margin:17px 0 0;color:#205B42;font-size:12px}
.contact{scroll-margin-top:104px}
@media(prefers-reduced-motion:no-preference){
  .find-hospital.is-motion-ready:not(.is-active) .find-search{width:70px;box-shadow:0 8px 24px rgba(9,54,36,.10)}
  .find-hospital.is-motion-ready:not(.is-active) .find-search-text,
  .find-hospital.is-motion-ready:not(.is-active) .find-search-enter{opacity:0;visibility:hidden}
  .find-hospital.is-motion-ready.is-active .find-search-text,
  .find-hospital.is-motion-ready.is-active .find-search-enter{animation:findContentEnter .3s .7s both}
  .find-hospital.is-active .find-search-caret{animation:findBlink .7s steps(1,end) infinite}
  .contact.contact-emphasis .contact-map-card{animation:mapArrival 1.3s ease-out both}
  .contact.contact-emphasis .contact-information{animation:infoArrival 1s ease-out both}
  @keyframes findContentEnter{from{opacity:0;transform:translateX(-8px)}to{opacity:1;transform:translateX(0)}}
  @keyframes findBlink{0%,48%{opacity:1}49%,100%{opacity:0}}
  @keyframes mapArrival{0%{transform:translateY(15px);box-shadow:0 5px 13px rgba(9,54,36,.03)}48%{box-shadow:0 15px 40px rgba(9,54,36,.20)}100%{transform:translateY(0);box-shadow:0 12px 32px rgba(9,54,36,.09)}}
  @keyframes infoArrival{from{opacity:.62;transform:translateY(11px)}to{opacity:1;transform:translateY(0)}}
}
@media(max-width:760px){
  .find-hospital{padding-top:63px;padding-bottom:65px}
  .find-hospital-intro{font-size:14px;margin-bottom:25px}
  .find-search{height:64px;padding:8px 9px 8px 10px;gap:9px}
  .find-hospital.is-motion-ready:not(.is-active) .find-search{width:64px}
  .find-search-icon{flex-basis:34px;height:34px}
  .find-search-text{font-size:clamp(12px,3.5vw,16px)}
  .find-search-arrow{width:38px;height:38px;font-size:20px}
  .find-search-enter{gap:4px}
  .find-search-enter>span:first-child{display:none}
  .contact{scroll-margin-top:86px}
}
@media(max-width:390px){
  .find-search{gap:5px}.find-search-icon{flex-basis:31px;height:31px}
  .find-search-arrow{width:34px;height:34px}.find-search-text{font-size:12px}
}
@media(prefers-reduced-motion:reduce){
  .find-search,.find-search-arrow,.find-search-text,.find-search-enter,.find-search-caret,
  .contact.contact-emphasis .contact-map-card,.contact.contact-emphasis .contact-information{
    animation:none!important;transition:none!important
  }
}
