@import url('https://fonts.googleapis.com/css2?family=Manrope:wght@400;500;600;700;800&family=Onest:wght@500;600;700&display=swap');
:root {
  --ink:#102948; --muted:#425a77; --blue:#164b9c; --deep:#0b2248;
  --ice:#e3f0fb; --paper:#f5faff; --line:#aebfd3; --ease:cubic-bezier(.22,1,.36,1);
  color:var(--ink); background:linear-gradient(180deg,#fff,#f4f9ff 36rem,#fff 72rem); font:16px/1.6 Manrope,Arial,sans-serif;
}
* {box-sizing:border-box}
html {scroll-behavior:smooth;scroll-padding-top:103px}
body {margin:0}
h1,h2,h3,p,figure {margin:0}
button {font:inherit;color:inherit;cursor:pointer}
a {color:inherit;text-decoration:none}
img,video {display:block;max-width:100%}
button[hidden] {display:none}
::selection {background:#b1d9fb;color:#0b2951}
:focus-visible {outline:3px solid #4e9ef5;outline-offset:4px}
.defs {position:absolute;width:0;height:0;overflow:hidden}
.icon {width:21px;height:21px;flex:none;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.wrap {width:min(1200px,calc(100% - 88px));margin-inline:auto}
.skip {position:absolute;top:-100px;left:14px;z-index:20;background:white;padding:12px}
.skip:focus {top:12px}
.header {position:sticky;top:14px;z-index:9;width:min(1240px,calc(100% - 48px));margin:14px auto 0;border:1px solid #ffffffed;border-radius:17px;background:#ffffffb8;box-shadow:0 8px 28px #0b295120;backdrop-filter:blur(24px) saturate(150%);-webkit-backdrop-filter:blur(24px) saturate(150%)}
.nav {width:auto;min-height:60px;padding:0 15px 0 20px;display:flex;align-items:center;justify-content:space-between;gap:15px}
.brand {display:inline-flex;align-items:center;gap:9px;line-height:1.1;flex:none}
.brand img {object-fit:contain;mix-blend-mode:multiply;width:42px;height:auto}
.brand b {font-size:1.03rem;font-weight:800}
.brand small {display:block;font-size:.69rem;margin-top:5px;color:var(--muted)}
nav {display:flex;align-items:center;gap:clamp(10px,1.7vw,29px);font-size:.79rem;font-weight:800}
nav a {padding:10px 0;position:relative;white-space:nowrap}
nav a::after {content:"";position:absolute;inset:auto 0 3px;height:2px;background:#1d62bc;transform:scaleX(0);transform-origin:left;transition:transform .24s var(--ease)}
nav a[aria-current]::after,nav a:hover::after {transform:scaleX(1)}
.nav-phone {display:inline-flex;align-items:center;gap:7px;white-space:nowrap;font-size:.77rem;font-weight:800}
.live {display:inline-block;width:8px;height:8px;flex:none;border-radius:50%;background:#197459;box-shadow:0 0 0 3px #4ab89438}
.btn {min-height:48px;padding:0 17px;border-radius:999px;background:var(--blue);color:white;display:inline-flex;align-items:center;justify-content:center;gap:9px;font-size:.85rem;font-weight:800;transition:background .2s,box-shadow .2s,transform .2s var(--ease);width:fit-content}
.btn:active,.round:active {transform:scale(.97)}
.btn.light {background:#edf7ff;color:#13366b}
.nav-cta {min-height:43px;white-space:nowrap}
.menu,.mobile-book {display:none}
.reading {height:2px;border-radius:9px;background:#2c7aca;transform-origin:left;transform:scaleX(0);position:absolute;inset:auto 17px 0;animation:progress linear both;animation-timeline:scroll(root block)}
@keyframes progress {to{transform:scaleX(1)}}
.hero {padding-top:clamp(44px,5.6vw,78px)}
.hero-title {display:grid;justify-items:center;text-align:center;gap:17px;margin-bottom:clamp(24px,3.2vw,42px)}
h1,h2 {font-family:Onest,Manrope,Arial,sans-serif;font-weight:650;letter-spacing:-.04em}
h1 {font-size:clamp(3rem,6.3vw,6rem);line-height:1.01;text-wrap:balance}
h1 span {color:#1556a8;white-space:nowrap}
.hero-aside p {font-size:clamp(1rem,1.6vw,1.24rem);color:var(--muted);max-width:49ch;text-wrap:balance}
.actions {display:flex;align-items:center;gap:17px;flex-wrap:wrap;margin-top:17px}
.hero-aside .actions {justify-content:center;margin-top:20px}
.text-link {display:inline-flex;gap:7px;align-items:center;width:fit-content;font-size:.88rem;font-weight:800}
.text-link .icon {width:17px;transition:transform .22s var(--ease)}
.text-link.blue {color:var(--blue)}
.hero-card {position:relative;isolation:isolate;overflow:hidden;border-radius:24px;aspect-ratio:2.42;background:#0a2756;color:white;box-shadow:0 20px 55px #214d8529;animation:frame .75s var(--ease) both}
.hero-media,.hero-media video {position:absolute;inset:0;width:100%;height:100%}
.hero-media {z-index:-1}
.hero-media video {object-fit:cover;object-position:68% 50%}

.hero-facts {display:flex;gap:24px;justify-content:space-between;padding:21px 2px 15px;border-bottom:1px solid var(--line)}
.hero-facts a {display:flex;align-items:center;gap:8px;font-weight:800;font-size:.81rem}
.hero-facts a .icon:last-child {width:15px;margin-left:3px;color:#2d67a7}
.section {padding-block:clamp(66px,8vw,120px)}
.split {display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:clamp(31px,7vw,104px)}
.section h2 {font-size:clamp(2.4rem,5vw,5.1rem);line-height:.98;text-wrap:balance;margin-bottom:21px}
.section p {color:var(--muted);max-width:59ch}
.hospital {margin-top:clamp(32px,5vw,70px);background:#edf5ff;color:var(--ink)}
.tour-frame {position:relative;display:grid;place-items:center;min-height:520px;padding:27px;overflow:hidden;border-radius:24px;background:linear-gradient(155deg,#d9edff,#b6d6fa)}
.tour-frame video {width:auto;height:480px;max-height:66vh;border-radius:12px;background:#102e5d;box-shadow:0 17px 45px #07193176}
.line-list {margin:24px 0 19px}
.line-list>div {border-top:1px solid var(--line);padding:10px 0;display:grid;gap:2px}
.line-list b {font-size:.95rem}
.line-list span {font-size:.85rem;color:var(--muted)}
.pearl {background:linear-gradient(145deg,#f7fbff,#eaf4ff)}
.section-head {display:grid;grid-template-columns:1.55fr 1fr;align-items:end;gap:28px;margin-bottom:32px}
.section-head h2 {margin:0;text-wrap:initial}











.exam-group {margin:20px 0 15px;padding-top:13px;border-top:1px solid var(--line)}
.exam-group h3 {font-size:1rem}
.exam-group ul,.credentials {padding-left:19px;margin:6px 0;color:var(--muted)}
.exam-group li,.credentials li {padding:3px 0}
.exam-group li::marker,.credentials li::marker {color:#2663ab}
.exam-photo,.facade {position:relative;border-radius:24px;overflow:hidden}
.exam-photo img,.facade img {width:100%;height:auto;object-fit:cover;aspect-ratio:1.2}
.portraits {display:grid;grid-template-columns:minmax(0,1fr) 70px;gap:12px;align-items:end}
.portraits>img {width:100%;height:auto;aspect-ratio:1;object-fit:cover;border-radius:24px;background:#10295b}
.thumbs {display:grid;gap:8px}
.thumbs button {width:100%;padding:3px;background:transparent;border:2px solid transparent;border-radius:8px;transition:border-color .2s,transform .2s}
.thumbs button[aria-pressed=true] {border-color:#2768b0}
.thumbs img {width:100%;aspect-ratio:1;object-fit:cover;border-radius:4px}
.credentials {margin:20px 0;color:var(--ink);font-weight:800}
.reviews {display:grid;grid-template-columns:.83fr 1.17fr;align-items:center;gap:clamp(30px,7vw,100px)}
.review-intro .text-link {margin-top:18px}
.review-card {position:relative;min-width:0;padding:clamp(23px,4vw,51px);border:1px solid #dceafb;border-radius:24px;background:#edf6ff}
.quote-mark {font:7rem/.75 Georgia,serif;color:#6e9dcd;position:absolute;right:24px;top:22px;pointer-events:none}
.stars {color:#795207;letter-spacing:.16em}
.review-card p {font:500 clamp(1.35rem,2.4vw,2.15rem)/1.26 Onest,sans-serif;color:var(--ink);margin:16px 0;min-height:4.8em;position:relative}
.review-card small {display:block;color:var(--muted);font-size:.73rem}
.review-controls {display:flex;justify-content:space-between;align-items:center;margin-top:16px;border-top:1px solid #abc3dd;padding-top:12px;font-size:.82rem;font-weight:800;font-variant-numeric:tabular-nums}
.round {border:1px solid #9cb6d1;background:#f8fbff;color:#154580;border-radius:50%;width:45px;height:45px;font-size:1.25rem;line-height:1;transition:background .2s,transform .2s}
.round+.round {margin-left:5px}
.contact {background:radial-gradient(ellipse at 94% 4%,#275ca3,transparent 64%),#112f59;color:white}
.badge {display:inline-flex;align-items:center;gap:8px;border:1px solid #b9d9f480;border-radius:999px;padding:5px 10px;font-size:.76rem;font-weight:800}
.contact h2 {margin-top:16px}
.contact address {font-style:normal;color:#e4efff}
.phone {display:block;width:fit-content;margin-top:12px;font-weight:800}
.facade img {aspect-ratio:1.44}
.footer {display:flex;align-items:center;justify-content:space-between;gap:16px;padding-block:26px;font-size:.81rem;font-weight:800}
.section-head.in-view,.hospital-copy.in-view,.review-intro.in-view {animation:arrive .65s var(--ease) both}
.exam-photo.in-view,.facade.in-view,.portraits.in-view {animation:frame .8s var(--ease) both}
@keyframes arrive {from{opacity:.68;transform:translateY(13px)}to{opacity:1;transform:translateY(0)}}
@keyframes frame {from{clip-path:inset(5% 2% 5% 2% round 10px)}to{clip-path:inset(0 round 0)}}
@media (hover:hover) and (pointer:fine) {
  .btn:hover {background:#0d3779;box-shadow:0 6px 18px #123c7840;transform:translateY(-2px)}
  .btn.light:hover,.round:hover {background:#d3e9ff}
  .text-link:hover .icon {transform:translateX(4px)}

  .thumbs button:hover {transform:translateX(-3px)}
}
@media (max-width:1120px) {
  .wrap {width:calc(100% - 68px)}
  .nav {width:auto}
  .nav-phone {display:none}
}
@media (max-width:880px) {
  .header {width:calc(100% - 34px);border-radius:18px;top:9px;margin-top:9px}
  .nav {min-height:59px;padding-inline:13px}
  .menu {display:inline-flex;align-items:center;gap:5px;background:#e2f0ff;border:1px solid #b8cfe8;padding:7px 10px;border-radius:8px;font-size:.85rem;font-weight:800}
  .nav-cta {display:none}
  nav {display:none;position:absolute;top:calc(100% + 5px);inset-inline:0;background:#eff7fff2;padding:10px 16px 14px;border:1px solid white;border-radius:15px;backdrop-filter:blur(22px);box-shadow:0 8px 25px #102d5028}
  nav.open {display:grid;gap:0;animation:arrive .22s var(--ease) both}
  nav a {padding:8px 0;width:fit-content}
  .tour-frame {min-height:0}
  .tour-frame video {height:390px}
}
@media (max-width:650px) {
  html {scroll-padding-top:82px}
  .wrap {width:calc(100% - 34px)}
  .nav {width:auto}
  .hero {padding-top:33px}
  .section-head,.split,.reviews {grid-template-columns:1fr;gap:22px}
  .hero-title {margin-bottom:23px;gap:13px}
  h1 {font-size:clamp(2.65rem,10.5vw,4.2rem)}
  .hero-aside p {max-width:36ch}
  .hero-card {aspect-ratio:1.48;border-radius:16px}
  .hero-media video {object-position:91% center}

  .hero-facts {display:grid;gap:8px}
  .hospital-copy {grid-row:1}
  .tour-frame {border-radius:16px}
  .tour-frame video {height:365px;max-height:65vh}







  .portraits {grid-template-columns:minmax(0,1fr) 57px}
  .doctor .portraits {grid-row:2}
  .footer {flex-wrap:wrap;padding-bottom:88px}
  .mobile-book {display:inline-flex;position:fixed;z-index:8;bottom:calc(10px + env(safe-area-inset-bottom));left:50%;transform:translateX(-50%);width:max-content;max-width:calc(100% - 24px);box-shadow:0 6px 18px #0e376c55}
  .mobile-book:hover,.mobile-book:active {transform:translateX(-50%)}
}
@media (prefers-reduced-motion:reduce) {
  *,*::before,*::after {animation:none!important;transition:none!important;scroll-behavior:auto!important}
}

/* Full-viewport opening and specialty strip */
.header{position:fixed;inset:14px 0 auto;margin:0 auto}
.hero{position:relative;isolation:isolate;display:grid;align-items:center;min-height:100svh;padding:114px 0 74px;background:#071d43;color:#f5faff}
.hero-title{position:relative;z-index:1;display:grid;justify-items:start;gap:0;text-align:left;margin-bottom:0}
.hero-status{display:inline-flex;align-items:center;gap:9px;margin-bottom:20px;padding:7px 12px;border-radius:999px;border:1px solid #a6caff63;background:#0d2d5abb;backdrop-filter:blur(14px);font-size:.79rem;font-weight:800}
.hero-status .live{background:#71e9be}
.hero h1{font-size:clamp(3.35rem,6.2vw,6rem);line-height:.97;text-wrap:initial;max-width:13ch}
.hero-aside{margin-top:19px}
.hero-aside p{max-width:35ch;color:#e0edff;text-wrap:initial}
.hero-aside .actions{justify-content:flex-start}
.hero-card{position:absolute;inset:0;aspect-ratio:auto;border-radius:0;box-shadow:none;animation:none}
.hero-media video{object-position:73% center}
.hero-media::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#071b3dfc 0%,#071b3dec 23%,#071b3d7a 47%,transparent 72%),linear-gradient(0deg,#081c3d7a,transparent 27%)}

.ticker{display:flex;align-items:center;min-width:0;gap:12px;padding:0 clamp(12px,3vw,40px);background:#e2effe;border-bottom:1px solid #c2d7ee;color:#143e72}
.ticker-window{min-width:0;overflow:hidden;flex:1}
.ticker-track{display:flex;width:max-content;animation:ticker 43s linear infinite}
.ticker ul{display:flex;align-items:center;gap:25px;list-style:none;margin:0;padding:14px 25px 14px 0;font-weight:800;font-size:.9rem}
.ticker li{display:flex;gap:25px;align-items:center;white-space:nowrap}
.ticker li::after{content:"";width:5px;height:5px;rotate:45deg;background:#458ad0}


@keyframes ticker{to{transform:translateX(-50%)}}

.btn,.btn.light {
  color:white;background:linear-gradient(117deg,#0c418d 6%,#2465b8 42%,#3177c9 49%,#1553a7 62%,#103f88 100%);
  background-size:220% 100%;background-position:5% center;
  box-shadow:inset 0 1px 0 #bde1ff98,0 4px 14px #2174ca70,0 0 18px #58aaff44;
  border:1px solid #8dc6ff72;
  transition:background-position .42s var(--ease),box-shadow .28s,transform .22s var(--ease)
}
@media(hover:hover) and (pointer:fine){
  .btn:hover,.btn.light:hover{background-position:90% center;box-shadow:inset 0 1px 0 #d4edff,0 7px 23px #267cdd94,0 0 25px #69b9ff77}

}
.hospital{margin-top:0;background:white}
.hospital-grid{display:grid;grid-template-columns:1fr .9fr;gap:29px clamp(28px,5vw,78px);align-items:start}
.hospital-heading{grid-column:1;grid-row:1}
.hospital-copy{grid-column:1;grid-row:2}
.hospital-copy .line-list{margin-top:0;display:grid;grid-template-columns:1fr 1fr;gap:0 24px}
.tour-frame{grid-column:2;grid-row:1 / span 2;min-height:100%;background:radial-gradient(ellipse at 14% 6%,#e0f1ff,#a4c7ec);align-content:center}
.tour-frame video{max-height:560px;height:clamp(390px,43vw,530px)}
.section-head{grid-template-columns:1.2fr .8fr}





.exam{display:grid;grid-template-columns:1fr 1fr;gap:0;align-items:stretch}
.exam-copy{padding:clamp(22px,5vw,65px);background:#e9f4ff;border-radius:26px 0 0 26px}
.exam-photo{border-radius:0 26px 26px 0;min-height:100%}
.exam-photo img{height:100%;position:absolute;inset:0}
.doctor{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:clamp(28px,6vw,84px)}
.doctor-copy{grid-column:1;grid-row:1}
.doctor .portraits{grid-column:2;grid-row:1}
.portraits{position:relative;display:block}
.thumbs{position:absolute;bottom:10px;left:50%;transform:translateX(-50%);display:flex;background:#0c2b5bbf;border-radius:12px;padding:5px;backdrop-filter:blur(12px)}
.thumbs button{width:54px}
.thumbs button[aria-pressed=true]{border-color:#addefe}
.reviews{text-align:center;grid-template-columns:1fr;gap:25px;justify-items:center}
.review-intro p{margin-inline:auto}
.review-card{width:min(100%,790px);text-align:left;background:white;box-shadow:0 17px 48px #1c55851a}
.review-card p{max-width:35ch;min-height:3.9em}
.contact{background:#0a2349}
.contact-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:clamp(26px,5vw,70px);align-items:center}
.contact .facade img{aspect-ratio:1.3}
@media(max-width:880px){
  .header{top:9px}
  .hospital-copy .line-list{grid-template-columns:1fr}

}
@media(max-width:650px){
  .hero{align-items:start;padding:112px 0 270px}
  .hero-title{width:calc(100% - 42px)}
  .hero-status{margin-bottom:16px}
  .hero-card {background:#071d43}
  .hero-media video {
    top:auto;height:min(58%,435px);object-position:74% center;
    mask-image:linear-gradient(to bottom,transparent 0%,#0003 9%,#000b 22%,#000 38%);
  }
  .hero-media::after {background:linear-gradient(180deg,#071d43 0%,#071d43 39%,#071d4366 54%,transparent 71%)}

  .hospital-grid,.exam,.doctor,.contact-grid{display:grid;grid-template-columns:1fr;gap:19px}
  .hospital-heading,.hospital-copy,.tour-frame,.doctor-copy,.doctor .portraits{grid-area:auto}
  .hospital-copy{grid-row:2}
  .tour-frame{min-height:0}
  .tour-frame video{height:365px;max-height:64vh}



  .exam{gap:0}
  .exam-copy{border-radius:21px 21px 0 0}
  .exam-photo{min-height:250px;border-radius:0 0 21px 21px}
  .review-card p{min-height:5.7em}
}
@media(prefers-reduced-motion:reduce){
  .ticker-window{overflow-x:auto}
  .ticker [aria-hidden=true]{display:none}
}


.brand img {filter:url(#logo-cutout);mix-blend-mode:normal}
.tour-frame {padding:0;min-height:0;background:transparent;border-radius:0}
.tour-frame video {height:auto;width:min(100%,305px);max-height:none;aspect-ratio:9/16;border-radius:18px;box-shadow:0 12px 33px #12386120}
/* Specialty feature and swipeable directory */
.hero h1 {max-width:12ch}
.hero h1 span {color:#a9dcff}
.care-feature {display:grid;grid-template-columns:1fr 1fr;align-items:stretch;overflow:hidden;border-radius:24px;background:#102c55;color:#fff;margin-bottom:38px}
.care-feature img {width:100%;height:100%;min-height:280px;aspect-ratio:1.58;object-fit:cover;object-position:50% 36%}
.care-feature > div {align-self:center;padding:clamp(20px,4vw,55px)}
.care-status {display:inline-flex;align-items:center;gap:8px;color:#d7edff;font-size:.79rem;font-weight:800}
.care-status .live {background:#72ebc4}
.care-feature h3 {font:650 clamp(2rem,4.3vw,4rem)/1.03 Onest,Manrope,sans-serif;letter-spacing:-.035em;margin:10px 0 13px}
.care-feature p {color:#dcecff;max-width:40ch}
.care-feature .text-link {margin-top:15px}
.care-toolbar {display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:14px}
.care-toolbar h3 {font:650 clamp(1.2rem,3vw,1.8rem)/1.14 Onest,Manrope,sans-serif}
.care-controls:not([hidden]) {display:flex}
.care-controls .round:disabled {opacity:.45;cursor:default}
.care-gallery {display:grid;grid-auto-flow:column;grid-auto-columns:calc((100% - 36px)/3.2);gap:14px;overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:12px;margin-bottom:17px;scrollbar-width:thin;scrollbar-color:#8fb8de #e8f3ff}
.care-card {min-width:0;scroll-snap-align:start;background:#fff;border-radius:16px;overflow:hidden;border:1px solid #d7e5f4}
.care-card img {width:100%;height:auto;aspect-ratio:1.18;object-fit:cover;object-position:50% 44%}
.care-card > div {padding:15px 17px 19px}
.care-card h3 {font:650 1.13rem/1.2 Onest,Manrope,sans-serif}
.care-card p {margin-top:7px;font-size:.875rem;line-height:1.5}
@media (max-width:850px) {.care-gallery {grid-auto-columns:42%}}
@media (max-width:650px) {
  .hero h1 {font-size:clamp(2.15rem,9.6vw,3.7rem);max-width:100%;line-height:1.04;text-wrap:balance}
  .hero h1 span {white-space:nowrap}
  .hero-status {max-width:100%;line-height:1.35}
  .hero-aside p {font-size:clamp(.94rem,3.8vw,1.06rem);line-height:1.5}
  .hero-aside .actions {column-gap:13px;row-gap:10px}
  .section h2 {font-size:clamp(1.85rem,8vw,2.85rem);line-height:1.08;overflow-wrap:break-word}
  .section-head {grid-template-columns:minmax(0,1fr);gap:11px;margin-bottom:23px}
  .section-head h2 {text-wrap:balance}
  .section-head h2 br,.hospital-heading h2 br {display:none}
  .care-feature h3 {font-size:clamp(1.7rem,7.8vw,2.5rem);text-wrap:balance}
  .care-toolbar h3,.care-card h3,.contact address {overflow-wrap:break-word}
  .care-feature {grid-template-columns:1fr;margin-bottom:25px}
  .care-feature img {min-height:0;height:auto;aspect-ratio:1.62}
  .care-gallery {grid-auto-columns:76%}
}
@media (max-width:360px) {
  .header .nav {gap:7px;padding-inline:9px}
  .header .brand {gap:6px}
  .header .brand img {width:34px}
  .header .brand b {font-size:.9rem}
  .header .brand small {font-size:.63rem}
  .header .menu {padding-inline:7px}
  .care-toolbar {flex-wrap:wrap}
}
