:root{color-scheme:light;--ink:#34242b;--muted:#654f58;--rose:#713d50;--rose-dark:#582c3e;--blush:#f4e6e5;--paper:#fffbf8;--border:#ead9d8;--serif:Georgia,'Times New Roman',serif;--sans:system-ui,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:90px}
body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.65 var(--sans)}
[hidden]{display:none!important}
h1,h2,h3,p,figure{margin:0}
h1,h2,h3{font-family:var(--serif);font-weight:400;line-height:1.05}
h1{font-size:clamp(3.3rem,6.4vw,6rem);letter-spacing:-.066em}
h2{font-size:clamp(2.4rem,4.1vw,4.25rem);letter-spacing:-.054em}
h3{font-size:1.7rem;letter-spacing:-.04em}
em{color:var(--rose);font-weight:400}
a{color:inherit;text-decoration:none}
button,select{font:inherit}
button{cursor:pointer}
button:focus-visible,a:focus-visible,select:focus-visible{outline:3px solid #b46d88;outline-offset:4px}
img{display:block;width:100%;height:auto}
svg{width:22px;height:22px;flex:none;fill:none;stroke:currentColor;stroke-width:1.55;stroke-linecap:round;stroke-linejoin:round}
.symbols{position:absolute;width:0;height:0;overflow:hidden}
.wrap{width:min(1160px,calc(100% - 80px));margin-inline:auto}
.skip{position:fixed;top:10px;left:12px;z-index:10;padding:10px;background:white;transform:translateY(-180%)}
.skip:focus{transform:none}
.header{position:sticky;top:0;z-index:3;background:var(--paper);border-bottom:1px solid var(--border)}
.navigation{min-height:78px;display:flex;align-items:center;justify-content:space-between;gap:24px;position:relative}
.brand{display:inline-flex;align-items:center;gap:11px;font:1.45rem/1 var(--serif);white-space:nowrap}
.brand-icon{display:grid;place-items:center;width:42px;height:42px;border:1px solid #e6cdd3;border-radius:50%;color:var(--rose);background:#faeeed}
.brand small,.portrait small{display:block;font:700 .57rem/1.3 var(--sans);letter-spacing:.14em;margin-top:5px;color:var(--muted)}
nav{display:flex;gap:clamp(14px,2.1vw,32px);align-items:center;font-size:.87rem;color:var(--muted);font-weight:600}
nav a:hover,.text-link:hover{color:var(--rose-dark);text-decoration:underline;text-underline-offset:4px}
.menu{display:none}
.button{display:inline-flex;justify-content:center;align-items:center;gap:9px;background:var(--rose);color:#fff;border:1px solid transparent;border-radius:100px;padding:13px 20px;font-weight:650;font-size:.88rem;line-height:1.35;min-height:48px}
.button:hover{background:var(--rose-dark)}
.button svg{width:18px;height:18px}
.hero{background:radial-gradient(ellipse at 89% 15%,#f5e1df,transparent 62%),linear-gradient(115deg,#fff8f2,#f8edeb);overflow:hidden}
.hero-layout{min-height:625px;display:grid;grid-template-columns:1.13fr .87fr;align-items:center;gap:clamp(30px,6vw,100px);padding-block:44px 52px}
.eyebrow{display:flex;align-items:center;gap:8px;color:var(--rose);font-size:.68rem;font-weight:750;letter-spacing:.19em}
.eyebrow span,.demo span{display:inline-block;width:7px;height:7px;border-radius:50%;background:#b67587;flex:none}
.intro h1{margin-block:19px 23px}
.intro-copy{max-width:440px;color:var(--muted);font-size:clamp(1rem,1.35vw,1.17rem)}
.actions{display:flex;gap:13px 22px;align-items:center;flex-wrap:wrap;margin-block:28px 21px}
.text-link{display:inline-flex;align-items:center;gap:8px;color:var(--rose);font-size:.86rem;font-weight:700;background:none;border:0;padding:0}
.text-link svg{width:17px;height:17px}
.demo{display:flex;align-items:center;gap:7px;font-size:.76rem;color:var(--muted)}
.demo span{width:6px;height:6px}
.portrait{position:relative;isolation:isolate;margin:0 12px 0 0}
.portrait::before{content:'';position:absolute;inset:13px -13px -13px 13px;border:1px solid #be8e9a;border-radius:49% 49% 23px 23px;z-index:-1}
.portrait img{height:clamp(390px,44vw,536px);object-fit:cover;object-position:center 42%;border-radius:49% 49% 23px 23px}
.portrait figcaption{position:absolute;bottom:24px;left:22px;background:#fffbf7;padding:12px 20px;border-radius:12px;box-shadow:0 8px 24px #43273326}
.portrait strong{font:1.38rem/1.05 var(--serif)}
.value-strip{background:#f4e7e5;border-block:1px solid var(--border)}
.values{display:grid;grid-template-columns:repeat(3,1fr);min-height:76px;align-items:center;text-align:center}
.values span{display:flex;gap:10px;align-items:center;justify-content:center;font-size:.88rem;font-weight:650;color:var(--rose-dark);padding:8px}
.values span+span{border-left:1px solid #dbc1c6}
.section{padding-block:86px}
.section-head{max-width:620px;margin-bottom:29px}
.section-head h2,.split h2,.contact h2{margin-block:12px 15px}
.section-head>p:last-child,.split p:not(.eyebrow){color:var(--muted)}
.service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:17px}
.service-grid article{display:flex;flex-direction:column;align-items:flex-start;border:1px solid var(--border);border-radius:19px;padding:25px;background:#fffdfb}
.service-icon{display:grid;place-items:center;background:var(--blush);color:var(--rose);width:44px;height:44px;border-radius:13px;margin-bottom:19px}
.service-grid article p{color:var(--muted);margin:10px 0 21px}
.service-grid .text-link{margin-top:auto}
.about{background:#f8edeb;padding-block:69px}
.split{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:clamp(30px,8vw,125px)}
.about-mark{background:radial-gradient(ellipse at center,#fdf4f0 0%,#efd8d9 90%);min-height:245px;border-radius:19px;display:grid;place-items:center;color:#a16377}
.about-mark svg{height:110px;width:110px;stroke-width:.65}
.about .demo{margin-top:15px}
.clinic figure{position:relative}
.clinic img{border-radius:20px;height:410px;object-fit:cover;object-position:center 55%}
.clinic figcaption{position:absolute;bottom:13px;left:13px;background:#fffaf5;color:var(--muted);border-radius:100px;padding:5px 11px;font-size:.69rem}
.features{list-style:none;margin:22px 0 0;padding:0;display:grid;gap:12px}
.features li{display:flex;gap:10px;align-items:center}
.features svg{color:var(--rose)}
.contact{background:var(--rose-dark);color:#fff8f4;padding-block:61px}
.contact-layout{display:flex;align-items:center;justify-content:space-between;gap:26px 46px}
.contact .eyebrow{color:#f3d4dc}
.contact .button{background:#fff7f3;color:var(--rose-dark)}
.contact .button:hover{background:#f4dfe4}
.contact-note{font-size:.74rem;margin-top:9px;color:#f3d4dc}
.footer{min-height:110px;display:flex;align-items:center;justify-content:space-between;gap:20px}
.footer p{color:var(--muted);font-size:.77rem}
dialog{border:1px solid var(--border);border-radius:23px;padding:0;width:min(490px,calc(100% - 26px));max-height:calc(100% - 28px);background:var(--paper);color:var(--ink);box-shadow:0 20px 90px #28131c55}
dialog::backdrop{background:#37232db0}
.dialog-inner{padding:32px;position:relative}
.close{position:absolute;top:12px;right:13px;border:0;border-radius:50%;background:var(--blush);color:var(--rose-dark);width:38px;height:38px;font-size:1.55rem;line-height:1}
.dialog-inner h2{font-size:clamp(2rem,7vw,2.85rem);margin-block:12px}
.form-copy{color:var(--muted);font-size:.89rem;margin-bottom:17px}
form label{display:block;font-weight:650;font-size:.84rem;margin-bottom:5px}
form select{width:100%;border:1px solid #d5bac0;background:#fffdfc;color:var(--ink);min-height:44px;border-radius:9px;padding:7px 8px}
.form-grid{display:grid;grid-template-columns:1.2fr 1fr;gap:12px;margin-block:14px 22px}
#booking-summary{font-weight:700;margin-bottom:9px}
@media(max-width:900px){.wrap{width:calc(100% - 48px)}.hero-layout{min-height:unset;gap:32px}.header-button{display:none}.portrait img{height:440px}}
@media(max-width:680px){
html{scroll-padding-top:76px}.wrap{width:calc(100% - 36px)}.navigation{min-height:65px}.menu{display:inline-flex;gap:7px;align-items:center;background:#f5e8e8;border:1px solid var(--border);border-radius:9px;padding:6px 11px;color:var(--rose-dark);font-size:.82rem;font-weight:650}.menu[aria-expanded=false]+nav{display:none}nav{position:absolute;left:0;right:0;top:100%;display:grid;gap:0;background:var(--paper);border:1px solid var(--border);border-radius:0 0 13px 13px;box-shadow:0 10px 16px #34242b14}nav a{padding:10px 14px}.hero-layout,.split{grid-template-columns:1fr}.hero-layout{padding-top:34px;padding-bottom:42px;gap:25px}.intro h1{font-size:clamp(3rem,11.5vw,4.8rem);margin-block:13px 17px}.actions{margin-block:20px 15px}.portrait{width:min(calc(100% - 13px),400px);margin-inline:auto}.portrait img{height:clamp(315px,100vw,425px)}.values{width:100%;grid-template-columns:1fr;min-height:0;padding-block:7px}.values span+span{border-left:0}.section,.about{padding-block:53px}.service-grid{grid-template-columns:1fr}.about-mark{display:none}.clinic img{height:340px}.contact-layout,.footer{align-items:flex-start;flex-direction:column}.footer{padding-block:24px;gap:14px}.dialog-inner{padding:24px}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
