:root {
  --navy: #072a3a;
  --navy-deep: #041b27;
  --ink: #102f3d;
  --muted: #6c7d81;
  --blue: #2f67e9;
  --blue-dark: #2353c8;
  --mint: #b5f0cf;
  --mint-deep: #51c992;
  --mint-pale: #eafaf1;
  --paper: #fbfcfa;
  --white: #fff;
  --line: #dce9e4;
  --peach: #ffb184;
  --sand: #f4ede3;
  --shadow: 0 24px 70px rgba(11, 51, 59, .1);
  --container: 1180px;
  --radius: 22px;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; color: var(--ink); background: var(--paper); font: 400 16px/1.6 "DM Sans", Arial, sans-serif; -webkit-font-smoothing: antialiased; }
body, button, input, select { font: inherit; }
body { overflow-x: hidden; }
a { color: inherit; text-decoration: none; }
img { display: block; max-width: 100%; }
button, a, input, select { -webkit-tap-highlight-color: transparent; }
button, a { transition: color .2s ease, background .2s ease, border-color .2s ease, transform .2s ease, box-shadow .2s ease; }
button { cursor: pointer; border: 0; }
h1, h2, h3, p { margin-top: 0; }
h1, h2, h3, .brand { font-family: "Plus Jakarta Sans", Arial, sans-serif; }
h1, h2, h3 { letter-spacing: -.055em; line-height: 1.04; }
h1 { margin-bottom: 25px; color: var(--white); font-size: clamp(3.1rem, 6vw, 5.55rem); max-width: 750px; }
h1 em, h2 em { color: var(--mint); font-style: normal; }
h2 { margin-bottom: 25px; color: var(--navy); font-size: clamp(2.35rem, 4vw, 4.25rem); }
h3 { font-size: 1.2rem; }
.container { width: min(var(--container), calc(100% - 96px)); margin: 0 auto; }
.section-pad { padding: 132px 0; }
.sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; }
.skip-link { position: fixed; z-index: 100; top: 12px; left: 12px; padding: 10px 16px; border-radius: 7px; background: var(--navy); color: #fff; transform: translateY(-150%); }
.skip-link:focus { transform: translateY(0); }

.topline { color: rgba(255,255,255,.76); background: var(--navy-deep); font-size: .7rem; letter-spacing: .04em; }
.topline-inner { display: flex; min-height: 35px; align-items: center; justify-content: space-between; gap: 20px; }
.topline a { color: var(--mint); }
.topline a:hover { color: #fff; }
.live-dot { display: inline-block; width: 6px; height: 6px; margin-right: 7px; border-radius: 50%; background: var(--mint); box-shadow: 0 0 0 4px rgba(181,240,207,.12); }
.site-header { position: sticky; z-index: 20; top: 0; background: rgba(251,252,250,.92); border-bottom: 1px solid rgba(220,233,228,.75); backdrop-filter: blur(18px); }
.nav-wrap { display: flex; min-height: 88px; align-items: center; justify-content: space-between; gap: 30px; }
.brand { display: inline-flex; align-items: center; gap: 10px; letter-spacing: -.04em; }
.brand-symbol { display: grid; width: 39px; height: 39px; place-items: center; border-radius: 13px; color: var(--blue); background: var(--mint-pale); }
.brand-symbol svg { width: 29px; height: 29px; }
.brand-copy strong, .brand-copy small { display: block; }
.brand-copy strong { font-size: 1.22rem; line-height: .95; }
.brand-copy small { margin-top: 4px; color: var(--muted); font-family: "DM Sans", sans-serif; font-size: .57rem; font-weight: 700; letter-spacing: .12em; line-height: 1; text-transform: uppercase; }
.brand-copy small i { color: var(--mint-deep); font-style: normal; }
.site-nav { display: flex; align-items: center; gap: 27px; color: #52696f; font-size: .78rem; font-weight: 700; }
.site-nav > a:not(.nav-appointment) { position: relative; padding: 8px 0; }
.site-nav > a:not(.nav-appointment)::after { position: absolute; right: 0; bottom: 0; left: 0; height: 2px; content: ""; background: var(--blue); transform: scaleX(0); transition: transform .2s ease; }
.site-nav > a:hover, .site-nav > a.active { color: var(--blue); }
.site-nav > a:hover::after, .site-nav > a.active::after { transform: scaleX(1); }
.nav-appointment { padding: 13px 17px; border-radius: 7px; color: #fff; background: var(--blue); box-shadow: 0 9px 20px rgba(47,103,233,.18); }
.nav-appointment span { margin-left: 8px; }
.nav-appointment:hover { color: #fff; background: var(--blue-dark); transform: translateY(-1px); }
.menu-toggle { display: none; width: 44px; height: 44px; padding: 10px; border-radius: 10px; background: var(--mint-pale); }
.menu-toggle > span:not(.sr-only) { display: block; width: 22px; height: 2px; margin: 5px auto; background: var(--navy); }

.hero { position: relative; overflow: hidden; padding: 117px 0 128px; background: var(--navy); }
.hero::before { position: absolute; right: -13%; bottom: -57%; width: 75vw; height: 75vw; border: 1px solid rgba(181,240,207,.12); border-radius: 50%; content: ""; box-shadow: 0 0 0 80px rgba(181,240,207,.025), 0 0 0 160px rgba(181,240,207,.02); }
.hero-glow { position: absolute; border-radius: 50%; opacity: .5; pointer-events: none; filter: blur(1px); }
.hero-glow-one { top: -100px; left: 38%; width: 280px; height: 280px; background: radial-gradient(circle, rgba(52,125,255,.38), transparent 68%); }
.hero-glow-two { right: 0; bottom: 0; width: 430px; height: 430px; background: radial-gradient(circle, rgba(67,209,150,.17), transparent 68%); }
.hero-grid { position: relative; z-index: 1; display: grid; grid-template-columns: .95fr 1.05fr; align-items: center; gap: 75px; }
.eyebrow { display: flex; align-items: center; gap: 10px; margin-bottom: 21px; color: var(--blue); font-size: .69rem; font-weight: 800; letter-spacing: .16em; line-height: 1.2; text-transform: uppercase; }
.eyebrow-light { color: var(--mint); }
.eyebrow-mark { display: inline-flex; min-width: 19px; align-items: center; justify-content: center; color: var(--peach); font-size: .7rem; letter-spacing: 0; }
.eyebrow-light .eyebrow-mark { color: var(--peach); }
.hero-intro { max-width: 540px; margin-bottom: 33px; color: rgba(231,244,240,.72); font-size: 1rem; line-height: 1.8; }
.hero-actions { display: flex; flex-wrap: wrap; gap: 12px; }
.button { display: inline-flex; min-height: 52px; align-items: center; justify-content: center; gap: 13px; padding: 13px 21px; border: 1px solid transparent; border-radius: 7px; font-size: .78rem; font-weight: 800; }
.button-mint { color: var(--navy); background: var(--mint); box-shadow: 0 12px 24px rgba(11,27,38,.2); }
.button-mint:hover { background: #d6fbe2; box-shadow: 0 15px 28px rgba(11,27,38,.28); transform: translateY(-2px); }
.button-ghost { border-color: rgba(181,240,207,.34); color: #dbf2e8; background: transparent; }
.button-ghost:hover { border-color: var(--mint); background: rgba(181,240,207,.1); }
.phone-icon { font-size: 1.2rem; line-height: 0; transform: rotate(-45deg); }
.hero-footnote { display: flex; align-items: center; gap: 12px; margin-top: 48px; color: rgba(229,246,238,.72); }
.hero-check { display: grid; width: 29px; height: 29px; flex: 0 0 29px; place-items: center; border: 1px solid rgba(181,240,207,.45); border-radius: 50%; color: var(--mint); font-size: .75rem; }
.hero-footnote strong, .hero-footnote small { display: block; }
.hero-footnote strong { color: #eaf8f0; font-size: .72rem; }
.hero-footnote small { margin-top: 2px; font-size: .63rem; }
.hero-art { position: relative; max-width: 535px; margin-left: auto; padding: 18px 28px 58px 0; }
.hero-image { position: relative; height: 520px; overflow: hidden; border-radius: 150px 17px 17px 17px; background: #194a59; box-shadow: 0 30px 70px rgba(0,0,0,.28); }
.hero-image img, .about-main img, .about-secondary img, .doctor-portrait img { position: relative; z-index: 1; width: 100%; height: 100%; object-fit: cover; }
.hero-image img { object-position: 43% center; }
.hero-image-shade { position: absolute; z-index: 2; inset: 0; background: linear-gradient(180deg, transparent 42%, rgba(2,22,31,.62)); }
.image-surface { position: relative; overflow: hidden; background-color: #d5e8dd; }
.image-fallback { position: absolute; inset: 0; display: flex; flex-direction: column; align-items: center; justify-content: center; color: rgba(7,42,58,.72); background: linear-gradient(145deg, #c9e6d6, #eaf6e9 57%, #bddbd6); text-align: center; }
.image-fallback::before { position: absolute; top: 17%; left: -10%; width: 115%; height: 52%; border: 1px solid rgba(7,42,58,.14); border-radius: 50%; content: ""; transform: rotate(-15deg); }
.image-fallback::after { position: absolute; right: -12%; bottom: -24%; width: 52%; height: 52%; border: 1px solid rgba(47,103,233,.16); border-radius: 50%; content: ""; }
.image-fallback span, .image-fallback small { position: relative; z-index: 1; display: block; }
.image-fallback span { font-family: "Plus Jakarta Sans", sans-serif; font-size: 2rem; font-weight: 800; letter-spacing: -.08em; }
.image-fallback small { font-size: .63rem; font-weight: 700; letter-spacing: .13em; text-transform: uppercase; }
.fallback-consult { background: linear-gradient(145deg, #e7eee7, #c5ddd8); }
.fallback-consult span { font-size: 1.4rem; line-height: 1.1; letter-spacing: -.05em; }
.fallback-doctor { background: radial-gradient(circle at 50% 28%, #f5c9a9 0 9%, transparent 9.5%), linear-gradient(155deg, #bcded6, #557c85 60%, #143849); }
.fallback-doctor::before { top: 8%; left: 25%; width: 50%; height: 57%; border: 16px solid #112e3e; border-radius: 50%; opacity: .92; transform: none; }
.fallback-doctor::after { right: 13%; bottom: -26%; width: 75%; height: 52%; border: 22px solid #eaf3ef; opacity: .9; }
.fallback-doctor span, .fallback-doctor small { color: #fff; text-shadow: 0 2px 12px rgba(0,0,0,.28); }
.fallback-doctor span { margin-top: 200px; font-size: 1.55rem; letter-spacing: -.06em; }
.fallback-doctor small { margin-top: 7px; letter-spacing: .11em; }
.image-tag { position: absolute; z-index: 3; right: 19px; bottom: 20px; left: 19px; display: flex; align-items: center; gap: 10px; padding: 13px 15px; border: 1px solid rgba(255,255,255,.25); border-radius: 8px; color: #fff; background: rgba(4,30,40,.29); font-size: .69rem; font-weight: 700; backdrop-filter: blur(8px); }
.image-tag i { width: 7px; height: 7px; border-radius: 50%; background: var(--mint); box-shadow: 0 0 0 4px rgba(181,240,207,.15); }
.hero-note-card { position: absolute; z-index: 4; right: 0; bottom: 0; display: flex; width: min(312px, 72%); align-items: center; gap: 12px; padding: 17px; border: 1px solid rgba(219,240,230,.8); border-radius: 12px; background: #fff; box-shadow: var(--shadow); }
.note-card-icon { display: grid; width: 37px; height: 37px; flex: 0 0 37px; place-items: center; border-radius: 50%; color: var(--blue); background: #edf2ff; }
.note-card-icon svg { width: 18px; height: 18px; }
.hero-note-card strong, .hero-note-card span { display: block; }
.hero-note-card strong { font-family: "Plus Jakarta Sans", sans-serif; font-size: .68rem; letter-spacing: -.02em; }
.hero-note-card span { margin-top: 3px; color: var(--muted); font-size: .61rem; }
.hero-orbit { position: absolute; z-index: 0; border: 1px solid rgba(181,240,207,.3); border-radius: 50%; }
.orbit-one { top: -28px; right: -27px; width: 112px; height: 112px; }
.orbit-two { top: -48px; right: -47px; width: 153px; height: 153px; opacity: .45; }

.signal-strip { border-bottom: 1px solid var(--line); background: #fff; }
.signal-grid { display: grid; grid-template-columns: repeat(4, 1fr); }
.signal-item { display: flex; min-height: 101px; align-items: center; gap: 12px; padding: 12px 22px; border-right: 1px solid var(--line); }
.signal-item:first-child { border-left: 1px solid var(--line); }
.signal-icon { display: grid; width: 34px; height: 34px; flex: 0 0 34px; place-items: center; border-radius: 50%; color: var(--blue); background: var(--mint-pale); }
.signal-icon svg { width: 18px; height: 18px; }
.signal-item small, .signal-item strong { display: block; }
.signal-item small { color: var(--muted); font-size: .59rem; font-weight: 600; }
.signal-item strong { margin-top: 2px; color: var(--ink); font-size: .68rem; line-height: 1.4; }

.about { background: var(--paper); }
.about-grid { display: grid; grid-template-columns: 1fr .86fr; align-items: center; gap: 105px; }
.about-visual { position: relative; display: grid; grid-template-columns: 1.35fr .72fr; align-items: end; gap: 14px; min-height: 540px; padding: 0 35px 0 0; }
.about-main { height: 500px; overflow: hidden; border-radius: 120px 16px 16px 16px; background: #cbe5d8; }
.about-main .photo-label { position: absolute; z-index: 3; bottom: 17px; left: 17px; padding: 9px 12px; border-radius: 5px; color: var(--ink); background: rgba(255,255,255,.87); font-size: .61rem; font-weight: 800; }
.about-secondary { height: 245px; align-self: start; margin-top: 65px; border-radius: 15px; }
.about-secondary .image-fallback span { font-size: .9rem; line-height: 1.25; letter-spacing: -.03em; }
.about-stamp { position: absolute; right: -2px; bottom: 5px; display: grid; width: 105px; height: 105px; place-items: center; border: 1px solid var(--blue); border-radius: 50%; color: var(--blue); background: #f4f8ff; text-align: center; transform: rotate(9deg); }
.about-stamp::after { position: absolute; inset: 7px; border: 1px dashed rgba(47,103,233,.45); border-radius: 50%; content: ""; }
.about-stamp span { position: relative; z-index: 1; font-size: .59rem; font-weight: 800; line-height: 1.25; text-transform: uppercase; }
.about-stamp em { color: var(--mint-deep); font-style: normal; }
.about-copy h2 { max-width: 500px; }
.about-copy .large-copy, .doctor-copy .large-copy { margin-bottom: 17px; color: var(--ink); font-size: 1.14rem; line-height: 1.65; }
.about-copy > p:not(.eyebrow):not(.large-copy) { max-width: 530px; color: var(--muted); font-size: .88rem; line-height: 1.8; }
.about-copy strong { color: var(--blue); }
.arrow-link, .card-link { display: inline-flex; align-items: center; gap: 12px; color: var(--blue); font-size: .75rem; font-weight: 800; }
.arrow-link { margin-top: 20px; }
.arrow-link:hover, .card-link:hover { color: var(--blue-dark); gap: 16px; }
.arrow-link span, .card-link span { font-size: 1.05rem; }

.services { background: #f1f7f4; }
.section-header { display: flex; align-items: end; justify-content: space-between; gap: 70px; margin-bottom: 54px; }
.section-header h2 { margin-bottom: 0; }
.section-header > p { max-width: 360px; margin-bottom: 5px; color: var(--muted); font-size: .9rem; line-height: 1.8; }
.service-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 15px; }
.service-card { position: relative; min-height: 440px; overflow: hidden; padding: 24px 22px 25px; border: 1px solid #d7e6df; border-radius: var(--radius); background: #fff; transition: border .2s ease, box-shadow .2s ease, transform .2s ease; }
.service-card:hover { border-color: #91d7b2; box-shadow: var(--shadow); transform: translateY(-4px); }
.service-card-head { display: flex; align-items: start; justify-content: space-between; margin-bottom: 41px; }
.service-photo { position: relative; height: 82px; overflow: hidden; margin: -19px -17px 20px; border-radius: 13px; background: #d5eee1; }
.service-photo img { position: relative; z-index: 1; width: 100%; height: 100%; object-fit: cover; filter: saturate(.82); }
.service-photo::after { position: absolute; z-index: 2; inset: 0; content: ""; background: linear-gradient(90deg, rgba(7,42,58,.28), transparent 65%); }
.service-photo span { position: absolute; z-index: 3; bottom: 10px; left: 11px; color: #fff; font-size: .58rem; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; text-shadow: 0 1px 5px rgba(0,0,0,.35); }
.photo-hair { background: linear-gradient(120deg, #85c9a7, #d6f0e0); }
.photo-skin { background: linear-gradient(120deg, #e6b296, #f9e0ce); }
.photo-medicine { background: linear-gradient(120deg, #b8d9ef, #e8f3fb); }
.photo-surgery { background: linear-gradient(120deg, #d8d3f4, #f0edff); }
.service-index { color: var(--blue); font-size: .68rem; font-weight: 800; }
.service-icon { display: grid; width: 48px; height: 48px; place-items: center; border-radius: 50%; color: var(--blue); background: #edf4ff; }
.service-icon svg { width: 27px; height: 27px; }
.service-copy { position: relative; z-index: 1; }
.service-copy h3 { min-height: 48px; margin-bottom: 11px; color: var(--navy); font-size: 1.06rem; line-height: 1.15; }
.service-copy p { min-height: 77px; margin-bottom: 14px; color: var(--muted); font-size: .74rem; line-height: 1.6; }
.service-copy ul { display: grid; gap: 8px; min-height: 113px; margin: 0 0 18px; padding: 0; list-style: none; }
.service-copy li { display: flex; align-items: start; gap: 7px; color: var(--ink); font-size: .7rem; line-height: 1.35; }
.service-copy li::before { margin-top: 5px; color: var(--mint-deep); content: ""; width: 5px; height: 5px; flex: 0 0 5px; border-radius: 50%; background: currentColor; }
.service-card .card-link { font-size: .69rem; }
.service-watermark { position: absolute; right: -8px; bottom: -28px; color: rgba(181,240,207,.23); font-family: "Plus Jakarta Sans", sans-serif; font-size: 5rem; font-weight: 800; letter-spacing: -.1em; line-height: 1; }
.service-hair .service-icon { color: #159a82; background: #e6f9ed; }
.service-skin .service-icon { color: #db7e5c; background: #fff0e8; }
.service-medicine { background: #fff; border-color: #d7e6df; }
.service-medicine h3, .service-medicine li { color: var(--navy); }
.service-medicine p { color: var(--muted); }
.service-medicine .service-index { color: var(--blue); }
.service-medicine .service-icon { color: var(--blue); background: #edf4ff; }
.service-medicine .card-link { color: var(--blue); }
.service-medicine .service-watermark { color: rgba(181,240,207,.23); }
.service-surgery .service-icon { color: #8a62db; background: #f0ebff; }

.program-band { overflow: hidden; color: #eaf7f0; background: var(--blue); }
.program-grid { position: relative; display: grid; grid-template-columns: .55fr 1.25fr .7fr; align-items: center; gap: 74px; padding-top: 91px; padding-bottom: 91px; }
.program-band h2 { max-width: 600px; margin-bottom: 20px; color: #fff; font-size: clamp(2.2rem, 4vw, 3.55rem); }
.program-band p:not(.eyebrow):not(.program-list p) { max-width: 600px; margin-bottom: 28px; color: rgba(255,255,255,.77); font-size: .88rem; line-height: 1.8; }
.program-orbit { position: relative; width: 220px; height: 220px; border: 1px solid rgba(181,240,207,.42); border-radius: 50%; }
.program-orbit::before, .program-orbit::after { position: absolute; inset: 26px; border: 1px solid rgba(181,240,207,.38); border-radius: 50%; content: ""; }
.program-orbit::after { inset: 58px; border-color: rgba(181,240,207,.58); }
.program-orbit i { position: absolute; top: 83px; left: 91px; color: var(--mint); font-size: 2rem; font-style: normal; font-weight: 300; }
.program-orbit span { position: absolute; z-index: 1; color: var(--mint); font-size: .62rem; font-weight: 800; }
.program-orbit span:first-child { top: 16px; left: 102px; }.program-orbit span:nth-child(2) { right: 13px; bottom: 62px; }.program-orbit span:nth-child(3) { bottom: 13px; left: 41px; }
.program-list { display: grid; gap: 17px; }
.program-list > div { display: flex; align-items: center; gap: 12px; padding-bottom: 16px; border-bottom: 1px solid rgba(255,255,255,.2); }
.program-list > div:last-child { border-bottom: 0; }
.program-list > div > span { display: grid; width: 27px; height: 27px; flex: 0 0 27px; place-items: center; border: 1px solid rgba(181,240,207,.54); border-radius: 50%; color: var(--mint); font-size: .61rem; font-weight: 800; }
.program-list p { margin: 0; }.program-list strong, .program-list small { display: block; }.program-list strong { color: #fff; font-size: .72rem; }.program-list small { color: rgba(255,255,255,.63); font-size: .62rem; }

.doctor { background: var(--paper); }
.doctor-grid { display: grid; grid-template-columns: .9fr 1fr; align-items: center; gap: 104px; }
.doctor-portrait { height: 605px; overflow: hidden; border-radius: 18px 135px 18px 18px; background: #d6ebe2; }
.doctor-portrait .portrait-label { position: absolute; z-index: 3; right: 18px; bottom: 17px; padding: 9px 12px; border-radius: 5px; color: var(--navy); background: rgba(255,255,255,.88); font-size: .61rem; font-weight: 800; }
.doctor-copy h2 { max-width: 550px; }
.doctor-copy > p:not(.eyebrow):not(.large-copy) { max-width: 510px; margin-bottom: 30px; color: var(--muted); font-size: .88rem; line-height: 1.8; }
.credentials { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 15px; max-width: 530px; padding: 25px 0; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.credentials > div { display: flex; align-items: center; gap: 10px; }
.credential-mark { display: grid; width: 29px; height: 29px; flex: 0 0 29px; place-items: center; border-radius: 50%; color: var(--blue); background: var(--mint-pale); font-size: .8rem; font-weight: 800; }
.credentials p { margin: 0; }.credentials strong, .credentials small { display: block; }.credentials strong { font-size: .7rem; }.credentials small { margin-top: 2px; color: var(--muted); font-size: .58rem; line-height: 1.35; }
.doctor-signature { display: flex; align-items: center; gap: 13px; margin-top: 28px; color: var(--navy); font-family: "Plus Jakarta Sans", sans-serif; font-size: .71rem; line-height: 1.3; }.doctor-signature small { color: var(--muted); font-family: "DM Sans", sans-serif; font-size: .6rem; }.signature-line { width: 40px; height: 1px; background: var(--blue); }

.stories { overflow: hidden; background: var(--navy); }
.stories h2 { color: #fff; }.stories-top { display: flex; align-items: end; justify-content: space-between; gap: 30px; margin-bottom: 54px; }
.carousel-controls { display: flex; align-items: center; gap: 14px; margin-bottom: 8px; }.carousel-button { display: grid; width: 42px; height: 42px; place-items: center; border: 1px solid rgba(181,240,207,.36); border-radius: 50%; color: var(--mint); background: transparent; font-size: 1rem; }.carousel-button:hover { border-color: var(--mint); color: var(--navy); background: var(--mint); }.carousel-count { min-width: 56px; color: rgba(255,255,255,.5); font-size: .65rem; text-align: center; }.carousel-count b { color: var(--mint); }
.testimonial-viewport { overflow: hidden; }.testimonial-track { display: flex; gap: 16px; transition: transform .45s cubic-bezier(.22,.61,.36,1); }.testimonial-card { display: flex; min-height: 273px; flex: 0 0 calc((100% - 48px) / 4); flex-direction: column; justify-content: space-between; padding: 24px 22px; border: 1px solid rgba(181,240,207,.18); border-radius: var(--radius); background: rgba(255,255,255,.06); }.quote-mark { display: block; height: 30px; color: var(--mint); font-family: Georgia, serif; font-size: 3rem; line-height: .9; }.testimonial-card p { margin: 20px 0; color: #fff; font-family: "Plus Jakarta Sans", sans-serif; font-size: .91rem; letter-spacing: -.035em; line-height: 1.45; }.testimonial-card strong, .testimonial-card small { display: block; }.testimonial-card strong { color: var(--mint); font-size: .68rem; }.testimonial-card small { margin-top: 3px; color: rgba(255,255,255,.46); font-size: .6rem; }.carousel-dots { display: flex; gap: 7px; margin-top: 27px; }.carousel-dots button { width: 6px; height: 6px; padding: 0; border-radius: 50%; background: rgba(181,240,207,.35); }.carousel-dots button.is-active { width: 20px; border-radius: 4px; background: var(--mint); }

.visit { background: #f1f7f4; }
.visit-header { margin-bottom: 47px; }.visit-grid { display: grid; grid-template-columns: 1.15fr .85fr; gap: 18px; }.map-wrap { min-height: 500px; overflow: hidden; border-radius: var(--radius); background: #cce5da; box-shadow: 0 9px 28px rgba(20,76,68,.06); }.map-wrap iframe { display: block; width: 100%; height: 449px; border: 0; filter: saturate(.75); }.map-link { display: flex; min-height: 51px; align-items: center; justify-content: space-between; padding: 0 18px; border-top: 1px solid var(--line); color: var(--blue); background: #fff; font-size: .71rem; font-weight: 800; }.map-link:hover { color: var(--blue-dark); background: #f8fbff; }.map-link span { font-size: 1rem; }
.contact-panel { padding: 31px 30px 26px; border: 1px solid #cde3d8; border-radius: var(--radius); background: #fff; }.panel-kicker { display: block; margin-bottom: 22px; color: var(--blue); font-size: .63rem; font-weight: 800; letter-spacing: .13em; line-height: 1.35; text-transform: uppercase; }.contact-block { display: flex; gap: 12px; padding: 18px 0; border-bottom: 1px solid #e7efeb; }.contact-icon { display: grid; width: 30px; height: 30px; flex: 0 0 30px; place-items: center; border-radius: 50%; color: var(--blue); background: var(--mint-pale); font-size: .9rem; }.contact-block small { display: block; margin-bottom: 4px; color: var(--muted); font-size: .61rem; }.contact-block p { margin: 0; color: var(--ink); font-size: .72rem; line-height: 1.6; }.contact-block a:hover { color: var(--blue); }.contact-links { display: flex; flex-wrap: wrap; gap: 7px 16px; padding-top: 20px; }.contact-links a, .contact-links > span { color: var(--blue); font-size: .68rem; font-weight: 800; }.contact-links a:hover { color: var(--blue-dark); }.contact-links span { margin-left: 5px; }

.appointment { color: #e7f5ee; background: var(--navy); }.appointment-grid { display: grid; grid-template-columns: .9fr 1.1fr; align-items: start; gap: 93px; }.appointment h2 { max-width: 530px; color: #fff; }.appointment-copy > p:not(.eyebrow):not(.pricing-note) { max-width: 460px; color: rgba(232,247,239,.7); font-size: .9rem; line-height: 1.8; }.appointment-points { display: grid; gap: 16px; margin: 40px 0 31px; }.appointment-points span { display: flex; align-items: center; gap: 11px; color: #fff; font-size: .71rem; font-weight: 700; }.appointment-points i { display: grid; width: 28px; height: 28px; place-items: center; border: 1px solid rgba(181,240,207,.38); border-radius: 50%; color: var(--mint); font-size: .6rem; font-style: normal; }.pricing-note { display: flex; max-width: 450px; align-items: start; gap: 8px; margin: 0; padding: 12px 13px; border-radius: 7px; color: rgba(255,255,255,.64); background: rgba(255,255,255,.07); font-size: .65rem; line-height: 1.5; }.pricing-note span { display: grid; width: 17px; height: 17px; flex: 0 0 17px; place-items: center; border: 1px solid rgba(181,240,207,.5); border-radius: 50%; color: var(--mint); font-weight: 800; }.appointment-form { padding: 32px 33px 25px; border-radius: var(--radius); color: var(--ink); background: #fff; box-shadow: 0 22px 60px rgba(0,0,0,.2); }.form-top { display: flex; align-items: start; justify-content: space-between; margin-bottom: 24px; }.form-top .panel-kicker { margin-bottom: 7px; }.form-top h3 { margin: 0; font-size: 1.45rem; }.required { color: var(--muted); font-size: .6rem; }.form-row { display: grid; grid-template-columns: repeat(2, 1fr); gap: 13px; }.appointment-form label { display: block; margin-bottom: 15px; color: var(--ink); font-size: .68rem; font-weight: 800; }.appointment-form input, .appointment-form select { display: block; width: 100%; height: 46px; margin-top: 7px; padding: 0 12px; border: 1px solid #d4e4de; border-radius: 6px; outline: none; color: var(--ink); background: #fcfefd; font-size: .73rem; font-weight: 400; }.appointment-form input::placeholder { color: #a5b7b7; }.appointment-form input:focus, .appointment-form select:focus { border-color: var(--blue); box-shadow: 0 0 0 3px rgba(47,103,233,.12); }.appointment-form select:invalid { color: #9aacac; }.button-blue { width: 100%; min-height: 49px; color: #fff; background: var(--blue); }.button-blue:hover { background: var(--blue-dark); transform: translateY(-1px); }.form-status { min-height: 0; margin: 12px 0 0; color: var(--blue); font-size: .69rem; line-height: 1.5; }.form-status:empty { display: none; }.form-fallback { margin: 14px 0 0; color: #899999; font-size: .6rem; text-align: center; }.form-fallback a { color: var(--blue); font-weight: 700; text-decoration: underline; text-underline-offset: 2px; }

.site-footer { color: #d8ede5; background: #052330; }.footer-top { display: grid; grid-template-columns: 1.6fr .65fr .85fr; gap: 95px; padding-top: 65px; padding-bottom: 56px; }.brand-footer { color: #fff; }.brand-footer .brand-symbol { color: var(--mint); background: rgba(181,240,207,.1); }.brand-footer .brand-copy small { color: #9dc2b7; }.footer-brand > p { max-width: 285px; margin: 22px 0 0; color: #9abbb1; font-size: .74rem; line-height: 1.7; }.footer-column { display: flex; flex-direction: column; align-items: start; gap: 9px; }.footer-column > small { margin-bottom: 5px; color: var(--mint); font-size: .62rem; font-weight: 800; letter-spacing: .14em; text-transform: uppercase; }.footer-column a { color: #9abbb1; font-size: .71rem; }.footer-column a:hover { color: #fff; }.footer-bottom { display: grid; grid-template-columns: 1fr 1.2fr 1.4fr; gap: 20px; padding-top: 19px; padding-bottom: 23px; border-top: 1px solid rgba(216,237,229,.15); color: #769e93; font-size: .58rem; }.footer-bottom span:last-child { text-align: right; }
.mobile-call { display: none; }.toast { position: fixed; z-index: 40; right: 20px; bottom: 20px; max-width: 355px; padding: 13px 16px; border: 1px solid #afddc4; border-radius: 8px; color: var(--navy); background: #f1fff6; box-shadow: var(--shadow); font-size: .72rem; opacity: 0; pointer-events: none; transform: translateY(12px); transition: opacity .2s ease, transform .2s ease; }.toast.show { opacity: 1; transform: translateY(0); }

@media (max-width: 1060px) { .container { width: min(var(--container), calc(100% - 54px)); }.site-nav { gap: 17px; }.hero-grid, .doctor-grid { gap: 48px; }.about-grid { gap: 60px; }.service-grid { grid-template-columns: repeat(2, 1fr); }.service-card { min-height: 395px; }.program-grid { gap: 40px; }.footer-top { gap: 45px; } }
@media (max-width: 760px) {
  body { padding-bottom: 68px; }.container { width: calc(100% - 38px); }.section-pad { padding: 84px 0; }.topline-inner { min-height: 32px; font-size: .59rem; }.topline-inner a { display: none; }.nav-wrap { min-height: 72px; }.menu-toggle { display: block; }.site-nav { position: absolute; top: 72px; right: 19px; left: 19px; display: none; flex-direction: column; align-items: stretch; gap: 0; padding: 8px; border: 1px solid var(--line); border-radius: 12px; background: #fff; box-shadow: var(--shadow); }.site-nav.is-open { display: flex; }.site-nav > a:not(.nav-appointment) { padding: 12px 10px; border-bottom: 1px solid #edf3f0; }.site-nav > a:not(.nav-appointment)::after { display: none; }.nav-appointment { margin-top: 8px; text-align: center; }.hero { padding: 78px 0 95px; }.hero-grid, .about-grid, .doctor-grid, .appointment-grid, .visit-grid { grid-template-columns: 1fr; }.hero-grid { gap: 52px; }.hero-intro { font-size: .91rem; }.hero-actions { flex-direction: column; align-items: stretch; }.hero-actions .button { width: 100%; }.hero-footnote { margin-top: 32px; }.hero-art { width: calc(100% - 5px); padding-right: 14px; }.hero-image { height: 405px; border-radius: 90px 14px 14px 14px; }.hero-note-card { width: 80%; }.signal-grid { grid-template-columns: repeat(2, 1fr); }.signal-item, .signal-item:first-child { min-height: 82px; padding: 10px 10px; border-bottom: 1px solid var(--line); border-left: 0; }.signal-item:nth-child(odd) { border-right: 1px solid var(--line); }.signal-item:nth-child(even) { border-right: 0; }.signal-item:nth-child(3), .signal-item:nth-child(4) { border-bottom: 0; }.signal-item strong { font-size: .61rem; }.signal-item small { font-size: .55rem; }.section-header, .stories-top { display: block; margin-bottom: 38px; }.section-header > p { margin-top: 23px; font-size: .82rem; }.about-visual { min-height: 397px; padding-right: 19px; }.about-main { height: 370px; border-radius: 86px 14px 14px 14px; }.about-secondary { height: 177px; margin-top: 34px; }.about-stamp { right: -5px; bottom: -7px; width: 86px; height: 86px; }.about-stamp span { font-size: .49rem; }.about-copy { margin-top: 24px; }.about-copy .large-copy, .doctor-copy .large-copy { font-size: 1rem; }.about-copy > p:not(.eyebrow):not(.large-copy), .doctor-copy > p:not(.eyebrow):not(.large-copy) { font-size: .81rem; }.service-grid { grid-template-columns: 1fr; gap: 13px; }.service-card { min-height: 0; padding: 22px 20px; }.service-card-head { margin-bottom: 27px; }.service-copy h3 { min-height: 0; }.service-copy p { min-height: 0; }.service-copy ul { min-height: 0; }.program-grid { grid-template-columns: 1fr; gap: 34px; padding-top: 77px; padding-bottom: 77px; }.program-orbit { width: 155px; height: 155px; margin: 0 auto; }.program-orbit::before { inset: 19px; }.program-orbit::after { inset: 43px; }.program-orbit i { top: 57px; left: 64px; }.program-orbit span:first-child { top: 11px; left: 71px; }.program-orbit span:nth-child(2) { right: 8px; bottom: 43px; }.program-orbit span:nth-child(3) { bottom: 9px; left: 27px; }.program-band p:not(.eyebrow):not(.program-list p) { font-size: .82rem; }.program-list { max-width: 360px; }.doctor-grid { gap: 45px; }.doctor-portrait { height: 430px; border-radius: 14px 90px 14px 14px; }.doctor-copy h2 { font-size: 2.55rem; }.credentials { gap: 10px; }.credentials small { font-size: .54rem; }.carousel-controls { margin-top: 25px; }.testimonial-card { flex-basis: calc((100% - 16px) / 2); min-height: 245px; }.testimonial-card p { font-size: .82rem; }.visit-header { margin-bottom: 32px; }.map-wrap { min-height: 365px; }.map-wrap iframe { height: 314px; }.contact-panel { padding: 25px 20px 22px; }.appointment-grid { gap: 43px; }.appointment h2 { font-size: 2.5rem; }.appointment-form { padding: 25px 19px 21px; }.footer-top { grid-template-columns: 1fr 1fr; gap: 37px 25px; padding-top: 49px; }.footer-brand { grid-column: 1 / -1; }.footer-bottom { display: block; padding-bottom: 92px; }.footer-bottom span { display: block; margin-top: 8px; }.footer-bottom span:last-child { text-align: left; }.mobile-call { position: fixed; z-index: 30; right: 12px; bottom: 12px; left: 12px; display: flex; min-height: 56px; align-items: center; gap: 11px; padding: 8px 13px; border: 1px solid rgba(181,240,207,.45); border-radius: 11px; color: #fff; background: var(--navy); box-shadow: 0 10px 25px rgba(2,23,33,.24); }.mobile-call-icon { display: grid; width: 35px; height: 35px; place-items: center; border-radius: 50%; color: var(--navy); background: var(--mint); font-size: 1rem; transform: rotate(-20deg); }.mobile-call small, .mobile-call strong { display: block; line-height: 1.2; }.mobile-call small { color: rgba(255,255,255,.62); font-size: .57rem; }.mobile-call strong { color: #fff; font-size: .7rem; }.mobile-call-arrow { margin-left: auto; color: var(--mint); font-size: 1.1rem; }.toast { right: 13px; bottom: 82px; left: 13px; max-width: none; }
}
@media (max-width: 430px) { .container { width: calc(100% - 30px); } h1 { font-size: 2.82rem; }.hero-image { height: 355px; }.hero-note-card { padding: 13px; }.hero-note-card strong { font-size: .62rem; }.hero-note-card span { font-size: .55rem; }.signal-item { gap: 7px; }.signal-icon { width: 29px; height: 29px; flex-basis: 29px; }.signal-icon svg { width: 15px; height: 15px; }.signal-item strong { font-size: .55rem; }.about-visual { min-height: 330px; }.about-main { height: 310px; }.about-secondary { height: 145px; }.about-stamp { width: 75px; height: 75px; }.about-stamp span { font-size: .43rem; }.form-row { display: block; }.testimonial-card { flex-basis: 100%; }.footer-top { grid-template-columns: 1fr; }.footer-column { gap: 7px; } }
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } *, *::before, *::after { transition-duration: .01ms !important; animation-duration: .01ms !important; } }

/* Keep the lower-page information comfortable to read. */
.contact-panel .panel-kicker,
.appointment-form .panel-kicker { font-size: .75rem; }
.contact-block small { font-size: .72rem; }
.contact-block p { font-size: .9rem; line-height: 1.65; }
.contact-links a,
.contact-links > span { font-size: .78rem; line-height: 1.5; }
.map-link { font-size: .8rem; }
.appointment-copy > p:not(.eyebrow):not(.pricing-note) { font-size: 1rem; }
.appointment-points span { font-size: .82rem; }
.appointment-points i { font-size: .68rem; }
.pricing-note { font-size: .76rem; }
.required { font-size: .7rem; }
.appointment-form label { font-size: .8rem; }
.appointment-form input,
.appointment-form select { font-size: .95rem; }
.footer-brand > p { font-size: .88rem; }
.footer-column > small { font-size: .72rem; }
.footer-column a { font-size: .82rem; }
.footer-bottom { font-size: .7rem; line-height: 1.5; }

/* Automated clinic FAQ assistant */
.clinic-chat { position: fixed; z-index: 45; right: 22px; bottom: 22px; font-size: .88rem; }
.clinic-chat-toggle { display: inline-flex; min-height: 48px; align-items: center; gap: 9px; padding: 8px 16px 8px 9px; border-radius: 999px; color: #fff; background: var(--blue); box-shadow: 0 12px 28px rgba(7,42,58,.24); font-size: .78rem; font-weight: 800; }
.clinic-chat-toggle:hover { background: var(--blue-dark); transform: translateY(-2px); }
.clinic-chat-bubble { display: grid; width: 31px; height: 31px; place-items: center; border-radius: 50%; color: var(--navy); background: var(--mint); font-size: 1rem; }
.clinic-chat-panel { position: absolute; right: 0; bottom: 60px; display: flex; width: min(370px, calc(100vw - 30px)); max-height: min(610px, calc(100vh - 105px)); flex-direction: column; overflow: hidden; border: 1px solid #cde3d8; border-radius: 18px; background: #fff; box-shadow: 0 22px 65px rgba(7,42,58,.22); }
.clinic-chat-panel[hidden] { display: none; }
.clinic-chat-header { display: flex; align-items: center; justify-content: space-between; padding: 17px 18px; color: #fff; background: var(--navy); }
.clinic-chat-header strong, .clinic-chat-header small { display: block; }
.clinic-chat-header strong { font-family: "Plus Jakarta Sans", Arial, sans-serif; font-size: .9rem; }
.clinic-chat-header small { margin-top: 3px; color: rgba(255,255,255,.68); font-size: .68rem; }
.clinic-chat-close { width: 30px; height: 30px; border-radius: 50%; color: var(--mint); background: rgba(255,255,255,.1); font-size: 1.35rem; line-height: 1; }
.clinic-chat-close:hover { color: var(--navy); background: var(--mint); }
.clinic-chat-messages { display: grid; gap: 10px; max-height: 300px; overflow-y: auto; padding: 17px; background: #f4faf7; }
.clinic-chat-message { max-width: 87%; padding: 10px 12px; border-radius: 12px; font-size: .8rem; line-height: 1.5; }
.clinic-chat-message-bot { justify-self: start; border: 1px solid #d8ebe1; color: var(--ink); background: #fff; border-top-left-radius: 4px; }
.clinic-chat-message-user { justify-self: end; color: var(--navy); background: var(--mint); border-top-right-radius: 4px; }
.clinic-chat-suggestions { display: flex; flex-wrap: wrap; gap: 7px; padding: 13px 17px 4px; background: #fff; }
.clinic-chat-suggestions button { padding: 7px 10px; border: 1px solid #cde3d8; border-radius: 999px; color: var(--blue); background: #fff; font-size: .68rem; font-weight: 700; }
.clinic-chat-suggestions button:hover { border-color: var(--blue); background: #f1f5ff; }
.clinic-chat-form { display: flex; gap: 8px; padding: 13px 17px 17px; background: #fff; }
.clinic-chat-form input { min-width: 0; flex: 1; height: 42px; padding: 0 12px; border: 1px solid #d4e4de; border-radius: 7px; outline: none; color: var(--ink); background: #fbfdfc; font-size: .8rem; }
.clinic-chat-form input:focus { border-color: var(--blue); box-shadow: 0 0 0 3px rgba(47,103,233,.12); }
.clinic-chat-form button { width: 42px; height: 42px; border-radius: 7px; color: var(--navy); background: var(--mint); font-size: 1.1rem; font-weight: 800; }
.clinic-chat-form button:hover { background: #d6fbe2; }

@media (max-width: 760px) {
  .clinic-chat { right: 15px; bottom: 82px; }
  .clinic-chat-panel { bottom: 58px; }
}

@media (max-width: 430px) {
  .clinic-chat { right: 12px; bottom: 80px; }
  .clinic-chat-toggle { min-height: 44px; padding-right: 13px; font-size: .72rem; }
  .clinic-chat-bubble { width: 28px; height: 28px; }
  .clinic-chat-panel { width: calc(100vw - 24px); }
}
