@font-face{font-family:Newsreader;src:url('newsreader.e7de2555eecf.woff2') format('woff2');font-weight:400;font-display:swap}
@font-face{font-family:Newsreader;src:url('newsreader-italic.78f91dfdf769.woff2') format('woff2');font-style:italic;font-weight:400;font-display:swap}
@font-face{font-family:'DM Sans';src:url('dm-sans.58cacfcde0dc.woff2') format('woff2');font-weight:400 700;font-display:swap}
:root{color-scheme:light;--ground:#f9f6f2;--paper:#fffdfa;--surface:#efe6e4;--ink:#36232b;--muted:#695861;--accent:#74354a;--soft:#eddee3;--line:#dacecf;--wine:#632d41;--wine-deep:#442231;--cream:#fff4e7;--rose:#f4c4ce;--focus:#9b4864;--shadow:0 14px 36px -18px #4a1e3438;--lift:0 22px 45px -18px #4a1e3452;--serif:Newsreader,Georgia,serif;--sans:'DM Sans','Segoe UI',Arial,sans-serif;--ease:cubic-bezier(.16,1,.3,1)}
@media(prefers-color-scheme:dark){:root:not([data-theme=light]){color-scheme:dark;--ground:#241e22;--paper:#35282e;--surface:#2f232a;--ink:#f5ede7;--muted:#d2bec7;--accent:#efb0c2;--soft:#4b303e;--line:#614951;--focus:#efb0c2;--shadow:0 14px 36px -18px #0009;--lift:0 22px 45px -18px #000b}}
:root[data-theme=dark]{color-scheme:dark;--ground:#241e22;--paper:#35282e;--surface:#2f232a;--ink:#f5ede7;--muted:#d2bec7;--accent:#efb0c2;--soft:#4b303e;--line:#614951;--focus:#efb0c2;--shadow:0 14px 36px -18px #0009;--lift:0 22px 45px -18px #000b}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:110px;scrollbar-color:var(--accent) var(--ground)}body{margin:0;background:var(--ground);color:var(--ink);font:16px/1.65 var(--sans);-webkit-font-smoothing:antialiased}button,a,summary{touch-action:manipulation;-webkit-tap-highlight-color:transparent}a{color:inherit;text-decoration:none;text-underline-offset:5px}button{font:inherit;color:inherit;cursor:pointer}button:disabled{cursor:default;opacity:.6}[hidden]{display:none!important}img{display:block;max-width:100%}h1,h2,h3,p,figure{margin:0}h1,h2{font:400 clamp(38px,4.3vw,62px)/1.06 var(--serif);letter-spacing:-.03em;text-wrap:balance}h1{font-size:clamp(60px,6.6vw,96px);line-height:1.03}h1 em,h2 em{font-weight:400;color:var(--accent)}h3{font-size:20px;font-weight:600;line-height:1.3}::selection{background:var(--accent);color:var(--ground)}:focus-visible{outline:3px solid var(--focus);outline-offset:5px}
.container{width:min(1240px,calc(100% - 96px));margin-inline:auto}.section{padding-block:100px}.icon{width:23px;height:23px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}.icon-definitions{position:absolute;width:0;height:0;overflow:hidden}.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;left:16px;top:12px;z-index:30;background:var(--accent);color:var(--ground);padding:12px 20px;transform:translateY(-200%)}.skip-link:focus{transform:none}
.button{display:inline-flex;align-items:center;justify-content:center;gap:24px;min-height:54px;padding:14px 23px;border:1px solid transparent;border-radius:9px;font-size:14px;font-weight:600;transition:background-color .25s,color .25s,transform .3s var(--ease),box-shadow .3s;line-height:1.45}.button .icon{width:20px;height:20px;transition:transform .35s var(--ease)}.button:hover .icon{transform:translateX(4px)}.button:hover{transform:translateY(-3px)}.button:active{transform:translateY(1px)}.button-primary{background:var(--wine);color:var(--cream)}.button-primary:hover{background:var(--wine-deep)}.button-cream{background:var(--cream);color:var(--wine)}.button-cream:hover{background:var(--rose);box-shadow:0 10px 22px -10px #25131ca0}.button-outline{border-color:var(--accent);color:var(--accent)}.button-outline:hover{background:var(--accent);color:var(--ground)}.text-link{display:inline-flex;align-items:center;gap:12px;color:var(--accent);font-size:14px;font-weight:600}.text-link:hover{text-decoration:underline}.text-link .icon{width:19px;height:19px;transition:transform .3s var(--ease)}.text-link:hover .icon{transform:translateX(4px)}
.site-header{position:sticky;top:0;z-index:10;background:var(--ground);border-bottom:1px solid var(--line)}.header-inner{height:86px;display:flex;align-items:center;justify-content:space-between;gap:24px}.brand{flex-shrink:0}.brand img{width:148px;height:53px;object-fit:contain}[data-theme=dark] .brand img{filter:invert(1)}@media(prefers-color-scheme:dark){:root:not([data-theme=light]) .brand img{filter:invert(1)}}.main-nav{display:flex;align-items:center;gap:27px}.main-nav a{position:relative;font-size:13px;padding-block:13px;white-space:nowrap}.main-nav a:after{content:'';position:absolute;left:0;right:0;bottom:7px;height:2px;background:var(--accent);transform:scaleX(0);transform-origin:left;transition:transform .3s var(--ease)}.main-nav a:hover,.main-nav a.active{color:var(--accent)}.main-nav a:hover:after,.main-nav a.active:after{transform:scaleX(1)}.header-actions{display:flex;align-items:center;gap:6px}.utility-button{display:grid;place-items:center;width:40px;height:40px;padding:0;border:0;border-radius:50%;background:transparent;font-size:12px;font-weight:600}.utility-button:hover{background:var(--soft)}.theme-button .icon{width:19px;height:19px}.header-login{display:flex;align-items:center;gap:18px;padding:10px 16px;min-height:44px;background:var(--wine);color:var(--cream);border-radius:9px;font-size:13px;white-space:nowrap;transition:background .2s,transform .3s var(--ease)}.header-login:hover{background:var(--wine-deep);transform:translateY(-2px)}.header-login .icon{width:18px;height:18px}.menu-button{display:none;width:40px;height:44px;border:0;background:transparent;padding:11px}.menu-button span{display:block;height:1.5px;background:var(--ink);margin-block:6px;transition:transform .2s}.menu-button[aria-expanded=true] span:first-child{transform:translateY(3.75px) rotate(45deg)}.menu-button[aria-expanded=true] span:last-child{transform:translateY(-3.75px) rotate(-45deg)}
.hero-stage{background:var(--wine);color:var(--cream);position:relative;overflow:hidden}.hero{display:grid;grid-template-columns:1.02fr 1fr;align-items:center;gap:60px;padding-block:70px 96px;position:relative}.hero h1 em{color:var(--rose)}.hero-copy>p:not(.hero-note){font-size:17px;max-width:440px;line-height:1.75;color:#f0dbe2;margin-top:24px}.hero-actions{display:flex;align-items:center;flex-wrap:wrap;gap:24px;margin-top:32px}.hero-call{display:flex;align-items:center;gap:9px;font-size:14px;color:var(--cream)}.hero-call:hover{text-decoration:underline}.hero-note{display:flex;align-items:flex-start;gap:9px;color:#f0dbe2;font-size:12px;max-width:420px;margin-top:23px}.hero-note .icon{width:17px;height:17px;margin-top:2px}.hero-visual{position:relative;padding-bottom:25px}.hero-film{aspect-ratio:1.13;background:#d2b39f;overflow:hidden;border-radius:48% 48% 14px 14px;box-shadow:0 28px 50px -18px #28121e85;position:relative}.video-frame video{width:100%;height:100%;object-fit:cover;display:block}.video-toggle{position:absolute;bottom:20px;right:20px;display:flex;align-items:center;gap:9px;min-height:44px;padding:10px 16px;border:0;border-radius:8px;background:#fff4e7f5;color:#442231;font-size:12px;font-weight:600;box-shadow:0 8px 16px -8px #28121e80}.video-toggle:hover{background:white}.video-toggle .icon,.motion-button .icon{width:17px;height:17px}.play-shape{display:block}.pause-shape{display:none}.is-playing .pause-shape{display:block}.is-playing .play-shape{display:none}.media-error{position:absolute;inset:15px 15px auto;background:var(--cream);color:var(--wine-deep);padding:12px;border-radius:8px;font-size:13px}.photo-caption{display:flex;align-items:center;justify-content:center;gap:14px;margin-top:18px;font:italic 28px/1.25 var(--serif);color:var(--rose);min-height:40px}.rotating-copy{transition:opacity .24s,transform .24s,filter .24s}.rotating-copy.fading{opacity:0;transform:translateY(6px);filter:blur(3px)}.motion-button{display:grid;place-items:center;width:40px;height:40px;border:1px solid #bc8c9b;border-radius:50%;background:transparent;color:var(--rose)}.motion-button .pause-shape{display:block}.motion-button .play-shape{display:none}.motion-button[aria-pressed=true] .pause-shape{display:none}.motion-button[aria-pressed=true] .play-shape{display:block}.hero-visit-tag{position:absolute;bottom:92px;left:-30px;display:flex;align-items:center;gap:16px;padding:18px 22px;background:var(--cream);color:var(--wine-deep);border-radius:12px;box-shadow:0 14px 28px -15px #27121e9c;font-size:12px;transform:rotate(-3deg);transition:transform .4s var(--ease)}.hero-visit-tag strong{font-size:15px;font-weight:600}.hero-visit-tag:hover{transform:rotate(0) translateY(-5px)}.hero-stage :focus-visible{outline-color:var(--rose)}
.arrival-strip{position:relative;margin-top:-32px;display:grid;grid-template-columns:1fr 1fr 1.3fr;background:var(--paper);border-radius:14px;box-shadow:var(--shadow);padding:24px 32px;gap:30px}.arrival-strip>div,.arrival-strip>a{display:flex;align-items:center;gap:15px;min-width:0}.arrival-strip .icon{color:var(--accent);width:28px;height:28px}.arrival-strip strong{font-size:15px;font-weight:600}.arrival-strip p{font-size:12px;color:var(--muted);margin-top:2px}.arrival-strip>a:hover{color:var(--accent)}.arrival-strip>a>.icon:last-child{width:18px;height:18px;margin-left:auto}.arrival-phone{font-size:13px;border-left:1px solid var(--line);padding-left:24px}
.section-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:50px;margin-bottom:38px}.section-heading h2{max-width:730px}.section-heading>p,.section-heading>div{max-width:320px;color:var(--muted);font-size:15px;padding-bottom:4px}.section-heading>div>span{display:block;font-size:12px;margin-top:12px}.service-gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:26px;align-items:start}.service-card{background:var(--paper);border-radius:14px;overflow:hidden;box-shadow:var(--shadow);transition:transform .45s var(--ease),box-shadow .45s var(--ease),background .35s}.service-photo{aspect-ratio:1.52;overflow:hidden;position:relative;background:var(--surface)}.service-photo img{width:100%;height:100%;object-fit:cover;transition:transform .65s var(--ease)}.service-card[data-service=xray] img{object-position:50% 34%}.service-icon{position:absolute;bottom:14px;left:18px;display:grid;place-items:center;width:44px;height:44px;border-radius:10px;background:var(--cream);color:var(--wine);box-shadow:0 8px 16px -8px #29182366}.care-row summary{list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:14px;padding:24px}.care-row summary::-webkit-details-marker,.faq-list summary::-webkit-details-marker{display:none}.service-summary{min-width:0}.service-title{font-size:20px;letter-spacing:-.02em}.service-summary>span{display:block;color:var(--muted);font-size:12px;margin-top:8px}.expand-mark{position:relative;display:grid;place-items:center;width:34px;height:34px;min-width:34px;border-radius:50%;background:var(--soft);color:var(--accent);transition:transform .35s var(--ease),background .35s,color .35s}.expand-mark:before,.expand-mark:after{content:'';position:absolute;width:12px;height:1.5px;background:currentColor}.expand-mark:after{transform:rotate(90deg);transition:transform .35s var(--ease)}details[open] .expand-mark:after{transform:rotate(0)}.care-answer{padding:0 24px 25px;font-size:13px;color:var(--muted)}.care-answer .text-link{margin-top:19px}.care-row[open] .care-answer,.faq-list details[open] .faq-answer{animation:detail-enter .45s var(--ease)}.service-card:has(details[open]){background:var(--soft)}.care-bottom{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-top:26px}.care-bottom>p{font-size:11px;color:var(--muted)}
@media(hover:hover){.service-card:hover{transform:translateY(-8px);box-shadow:var(--lift)}.service-card:hover img{transform:scale(1.07)}.service-card:hover .expand-mark{background:var(--wine);color:var(--cream);transform:rotate(90deg)}.service-card:has(details[open]):hover .expand-mark{transform:none}}
.prices-section{background:var(--surface)}.price-ledger{display:grid;grid-template-columns:1.15fr 1fr 1fr;gap:24px}.fee-card{background:var(--paper);border-radius:14px;box-shadow:var(--shadow);padding:32px;display:flex;flex-direction:column;align-items:flex-start;transition:transform .4s var(--ease),box-shadow .4s}.fee-card>.icon{color:var(--accent);width:30px;height:30px;margin-bottom:25px}.fee-card h3{font-size:18px}.fee-card p:not(.fee-value){color:var(--muted);font-size:14px;margin-top:17px;max-width:33ch}.fee-value{font:400 68px/1 var(--serif);letter-spacing:-.03em;margin-top:22px;color:var(--accent);font-variant-numeric:tabular-nums}.fee-card .button{margin-top:25px}.fee-primary{background:var(--wine);color:var(--cream)}.fee-primary>.icon,.fee-primary .fee-value{color:var(--rose)}.fee-primary p:not(.fee-value){color:#f0dbe2}.fee-primary :focus-visible{outline-color:var(--rose)}.family-offer{display:flex;align-items:center;gap:28px;padding:30px 32px;margin-top:28px;background:var(--soft);border-radius:14px}.family-offer h3{font:400 31px/1.15 var(--serif);letter-spacing:-.02em}.family-offer p{max-width:620px;font-size:13px;color:var(--muted);margin-top:9px}.family-offer .button{margin-left:auto;flex-shrink:0}.offer-symbol{display:flex;align-items:center;gap:2px;color:var(--accent)}.offer-symbol .icon{width:34px;height:34px;transform:rotate(-16deg)}.offer-symbol .icon:last-child{transform:rotate(16deg);margin-top:18px}.pricing-footnote{font-size:12px;color:var(--muted);max-width:80ch;margin-top:23px}@media(hover:hover){.fee-card:hover{transform:translateY(-6px);box-shadow:var(--lift)}}
.about-section{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center}.about-visual{position:relative}.about-visual>img{width:100%;height:480px;object-fit:cover;border-radius:14px 14px 45% 14px}.about-visual figcaption{position:absolute;bottom:30px;left:25px;right:25px;display:flex;align-items:center;gap:15px;background:var(--cream);color:var(--wine);padding:20px 24px;border-radius:12px;box-shadow:var(--shadow);font:italic 27px/1.25 var(--serif)}.about-copy h3{font-size:17px;color:var(--accent);margin-top:28px}.about-copy p{font-size:15px;color:var(--muted);margin-top:18px}.about-copy .recommendation{font:italic 24px/1.45 var(--serif);color:var(--accent);padding-top:22px;margin-top:25px;border-top:1px solid var(--line)}
.faq-section{display:grid;grid-template-columns:.8fr 1.2fr;gap:85px;padding-top:28px}.faq-heading>p{font-size:14px;color:var(--muted);margin-top:22px}.faq-heading>.button{margin-top:24px}.faq-list{display:grid;gap:12px;align-content:start}.faq-list details{border:1px solid var(--line);border-radius:12px;background:var(--paper);overflow:hidden;transition:background .25s}.faq-list details[open]{background:var(--soft)}.faq-list summary{display:flex;align-items:center;justify-content:space-between;gap:20px;list-style:none;padding:21px 24px;cursor:pointer;font-size:15px;font-weight:500}.faq-answer{padding:0 24px 24px;color:var(--muted);font-size:14px}.faq-list summary:hover{color:var(--accent)}
.visit-section{background:var(--wine-deep);color:var(--cream);margin-top:10px}.visit-layout{display:grid;grid-template-columns:.95fr 1.05fr;gap:70px;align-items:center}.visit-heading h2 em{color:var(--rose)}.visit-heading>p{color:#f0dbe2;font-size:14px;margin-top:24px}.visit-heading .button{margin-top:30px}.visit-grid{display:grid;gap:20px}.visit-location,.visit-hours{position:relative;background:var(--paper);color:var(--ink);padding:30px 32px;border-radius:14px}.visit-grid>div>.icon{color:var(--accent);position:absolute;top:30px;right:32px}.visit-grid h3{font-size:17px}.visit-location address{font:400 26px/1.4 var(--serif);margin-top:19px}.visit-location .button{margin-top:24px}.hours-list{margin:19px 0 0;display:grid;gap:10px}.hours-list>div{display:flex;justify-content:space-between;gap:18px}.hours-list dt{color:var(--muted);font-size:13px}.hours-list dd{margin:0;font-size:14px;font-weight:600;font-variant-numeric:tabular-nums}.hours-note{font-size:11px;color:var(--muted);margin-top:14px}.email-link{display:inline-block;font-size:13px;color:var(--accent);margin-top:19px;overflow-wrap:anywhere}.email-link:hover{text-decoration:underline}.visit-heading :focus-visible{outline-color:var(--rose)}
.site-footer{display:flex;align-items:center;justify-content:space-between;gap:35px;padding-block:42px}.site-footer p{font-size:12px;color:var(--muted)}.back-top{display:flex;align-items:center;gap:14px;font-size:13px;color:var(--accent)}.back-top .icon{transform:rotate(-90deg);width:20px;height:20px}.back-top:hover{text-decoration:underline}.mobile-call{display:none}
@keyframes detail-enter{from{opacity:.25;transform:translateY(-7px)}to{opacity:1;transform:none}}@media(min-width:901px) and (prefers-reduced-motion:no-preference){.hero-copy{animation:opening-copy 1s var(--ease)}.hero-visual{animation:opening-film 1.2s var(--ease)}@keyframes opening-copy{from{opacity:.3;transform:translateY(22px)}to{opacity:1;transform:none}}@keyframes opening-film{from{opacity:.4;transform:translateY(34px)}to{opacity:1;transform:none}}}
@media(max-width:1100px){.container{width:calc(100% - 64px)}.hero{gap:35px}.main-nav{gap:18px}.header-inner{gap:16px}.section-heading{gap:30px}.service-gallery{gap:20px}.care-row summary{padding:20px}.service-title{font-size:18px}.care-answer{padding:0 20px 23px}.about-section,.faq-section{gap:50px}.arrival-strip{gap:20px;padding:23px}.arrival-phone{padding-left:18px}.fee-card{padding:26px}.visit-layout{gap:45px}}
@media(max-width:900px){.section{padding-block:76px}.header-inner{height:76px}.brand img{width:128px;height:46px}.main-nav{gap:16px}.main-nav a{font-size:12px}.header-login{gap:10px;padding-inline:13px}.hero{padding-block:46px 76px;gap:28px}.hero h1{font-size:clamp(52px,7.4vw,70px)}.hero-copy>p:not(.hero-note){font-size:15px}.hero-call{font-size:12px}.hero-visit-tag{left:-18px;bottom:95px;padding:13px 15px;gap:10px}.hero-visit-tag strong{font-size:13px}.hero-visit-tag .icon:last-child{display:none}.photo-caption{font-size:23px}.arrival-strip{grid-template-columns:1fr 1fr}.arrival-phone{grid-column:1/-1;border-left:0;border-top:1px solid var(--line);padding:18px 0 0}.service-gallery{grid-template-columns:repeat(2,minmax(0,1fr))}.section-heading{align-items:flex-start}.section-heading>p,.section-heading>div{max-width:260px}.price-ledger{gap:16px;grid-template-columns:1fr 1fr}.fee-primary{grid-column:1/-1}.family-offer{flex-wrap:wrap;gap:18px}.family-offer>div:nth-child(2){flex:1;min-width:220px}.family-offer .button{margin-left:0}.about-section{gap:36px}.about-visual>img{height:430px}.about-visual figcaption{font-size:21px;left:14px;right:14px;bottom:20px;padding:16px}.about-copy h3{font-size:15px}.about-copy p{font-size:14px}.about-copy .recommendation{font-size:22px}.faq-section{gap:35px;padding-top:20px}.visit-layout{grid-template-columns:1fr;gap:36px}.visit-grid{grid-template-columns:1fr 1fr}.visit-heading>p{margin-top:18px}.visit-heading .button{margin-top:22px}}
@media(max-width:700px){.container{width:calc(100% - 40px)}.header-inner{height:72px;gap:6px}.brand img{width:113px;height:42px}.header-actions{gap:2px}.utility-button{width:35px;height:40px}.header-login{font-size:12px;gap:7px;padding-inline:11px;min-height:40px}.header-login .icon{width:15px}.js .menu-button{display:block}.main-nav{display:flex;position:absolute;top:72px;left:0;right:0;padding:16px 20px;background:var(--ground);border-bottom:1px solid var(--line);flex-wrap:wrap;justify-content:center;gap:8px 25px}.js .main-nav{display:none}.js .main-nav.open{display:flex}.main-nav a{font-size:14px}.hero{grid-template-columns:1fr;padding-block:95px 70px;gap:34px}.js .hero{padding-top:38px}.hero h1{font-size:clamp(57px,12.2vw,80px)}.hero-copy>p:not(.hero-note){max-width:43ch;font-size:15px;margin-top:19px}.hero-actions{margin-top:24px;gap:20px}.hero-note{margin-top:20px;font-size:11px}.hero-visual{max-width:470px;width:100%;margin:auto;padding-bottom:0}.hero-film{aspect-ratio:1.3;border-radius:38% 38% 14px 14px}.hero-visit-tag{bottom:75px;left:12px;transform:rotate(-2deg);padding:13px 17px;font-size:11px}.hero-visit-tag strong{font-size:13px}.hero-visit-tag:hover{transform:rotate(0)}.video-toggle{left:auto;right:15px;bottom:15px;padding:9px 12px}.video-toggle span{font-size:11px}.photo-caption{font-size:25px;margin-top:17px}.arrival-strip{margin-top:-25px;padding:22px;gap:16px}.arrival-strip strong{font-size:13px}.arrival-strip p{font-size:11px}.arrival-strip .icon{width:24px;height:24px}.arrival-strip>a>.icon:last-child{display:none}.arrival-phone{font-size:12px;padding-top:15px}.section{padding-block:62px}.section-heading{display:block;margin-bottom:28px}.section-heading h2{font-size:42px;line-height:1.1}.section-heading>p,.section-heading>div{max-width:45ch;margin-top:18px;font-size:14px}.service-gallery{gap:20px;grid-template-columns:1fr}.service-photo{aspect-ratio:1.7}.care-row summary{padding:23px}.service-title{font-size:21px}.service-summary>span{font-size:13px}.care-answer{font-size:14px;padding:0 23px 24px}.care-bottom{align-items:flex-start;flex-direction:column;gap:16px;margin-top:22px}.care-bottom>p{font-size:11px}.price-ledger{grid-template-columns:1fr}.fee-primary{grid-column:auto}.fee-card{padding:30px}.fee-card p:not(.fee-value){max-width:42ch}.fee-value{margin-top:18px;font-size:62px}.family-offer{padding:26px;display:block}.offer-symbol{margin-bottom:20px}.family-offer h3{font-size:32px}.family-offer p{font-size:14px}.family-offer .button{margin-top:22px}.pricing-footnote{font-size:11px}.about-section{grid-template-columns:1fr;gap:34px}.about-visual>img{height:370px}.about-visual figcaption{font-size:25px;left:20px;right:20px;bottom:24px}.about-copy h2{font-size:43px}.about-copy p{font-size:15px}.about-copy h3{font-size:17px;margin-top:22px}.faq-section{grid-template-columns:1fr;gap:28px;padding-top:0}.faq-heading h2{font-size:42px}.faq-heading>.button{margin-top:20px}.faq-list summary{font-size:14px;padding:20px}.faq-answer{padding:0 20px 23px}.visit-heading h2{font-size:44px}.visit-grid{grid-template-columns:1fr}.visit-location,.visit-hours{padding:28px}.visit-grid>div>.icon{top:28px;right:28px}.site-footer{padding-block:32px 105px;gap:25px;flex-wrap:wrap}.site-footer .brand{flex-basis:100%}.site-footer p{font-size:11px}.back-top{font-size:12px}.mobile-call{position:fixed;left:20px;right:20px;bottom:16px;z-index:20;display:flex;align-items:center;justify-content:center;gap:12px;min-height:52px;border-radius:10px;background:var(--wine);color:var(--cream);box-shadow:0 9px 24px -10px #29151e9c;font-size:14px;font-weight:600}.mobile-call:focus-visible{outline-color:var(--rose)}}
@media(max-width:360px){.container{width:calc(100% - 32px)}.brand img{width:101px;height:40px}.header-login{padding-inline:9px}.header-login .icon{display:none}.utility-button{width:32px}.header-actions{gap:0}.hero h1{font-size:53px}.hero-actions{gap:17px}.hero-call{font-size:13px}.hero-visit-tag{left:8px;padding:12px;gap:9px;font-size:10px}.hero-visit-tag strong{font-size:12px}.video-toggle span{display:none}.photo-caption{font-size:22px}.arrival-strip{padding:18px;gap:12px}.arrival-strip>div,.arrival-strip>a{gap:8px}.section-heading h2{font-size:37px}.service-title{font-size:19px}.care-row summary{padding:20px}.about-visual>img{height:320px}.about-visual figcaption{font-size:22px;padding:15px}.hours-list dd{font-size:13px}.site-footer{gap:18px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}.button:hover,.service-card:hover,.fee-card:hover,.header-login:hover{transform:none}.service-card:hover img{transform:none}}

/* Shared document fades keep the marketing page and the login connected. */
@view-transition{navigation:none}
::view-transition-old(root){animation:santis-view-out 150ms ease-out both}
::view-transition-new(root){animation:santis-view-in 280ms var(--ease) both}
::view-transition-group(root){animation-duration:280ms}
@keyframes santis-view-out{to{opacity:0}}
@keyframes santis-view-in{from{opacity:0}to{opacity:1}}
.theme-changing body,.theme-changing .site-header,.theme-changing .service-card,.theme-changing .fee-card,.theme-changing .family-offer,.theme-changing .arrival-strip,.theme-changing .prices-section,.theme-changing .faq-list details,.theme-changing .visit-grid>div,.theme-changing h1 em,.theme-changing h2 em,.theme-changing p,.theme-changing a{transition:background-color 280ms ease-out,color 280ms ease-out,border-color 280ms ease-out,box-shadow 280ms ease-out}
.community-section{background:var(--wine);color:var(--cream);margin-bottom:70px}
.community-layout{display:grid;grid-template-columns:.85fr 1.15fr;gap:80px;align-items:start}
.community-heading h2{font-size:clamp(42px,4.8vw,64px)}.community-heading h2 em{color:var(--rose)}
.community-heading .button{margin-top:28px}.community-copy>p{font-size:15px;line-height:1.8;color:#f0dbe2;max-width:65ch}.community-copy>p+p{margin-top:20px}
.community-copy .community-promise{display:flex;align-items:center;gap:13px;color:var(--rose);font:italic 27px/1.35 var(--serif);margin-top:30px}.community-promise .icon{width:28px;height:28px}
.community-section :focus-visible{outline-color:var(--rose)}
.about-visual figcaption{position:relative;left:auto;right:auto;bottom:auto;margin-top:16px}
@media(max-width:900px){.community-layout{gap:35px;grid-template-columns:1fr 1.2fr}.community-copy>p{font-size:14px}}
@media(max-width:700px){.community-section{margin-bottom:50px}.community-layout{grid-template-columns:1fr;gap:30px}.community-copy>p{font-size:14px}.community-copy .community-promise{font-size:24px}.community-heading .button{margin-top:22px}}
@media(prefers-reduced-motion:reduce){@view-transition{navigation:none}::view-transition-old(root),::view-transition-new(root),::view-transition-group(root){animation:none!important}.theme-changing body,.theme-changing *{transition:none!important}}


/* The real logo is recolored through its alpha mask; artwork and proportions stay intact. */
.brand{display:block;background:#b64066;mask:url(santis-logo.f1138671157b.png) center/contain no-repeat;-webkit-mask:url(santis-logo.f1138671157b.png) center/contain no-repeat}.brand img{opacity:0}
:root[data-theme=dark] .brand{background:#fff4e7}@media(prefers-color-scheme:dark){:root:not([data-theme=light]) .brand{background:#fff4e7}}
.header-booking{background:transparent;color:var(--accent);box-shadow:inset 0 0 0 1px var(--line)}.header-booking:hover{background:var(--soft)}
.booking-dialog{border:0;border-radius:16px;background:var(--ground);color:var(--ink);width:min(640px,calc(100% - 24px));max-height:calc(100svh - 32px);padding:0;box-shadow:0 24px 80px -20px #29121ec2;overscroll-behavior:contain}
.booking-dialog::backdrop{background:#24121dc4;backdrop-filter:blur(5px)}.booking-shell{padding:30px}.booking-heading{display:flex;gap:16px;align-items:center;justify-content:space-between}.booking-heading h2{font-family:Newsreader,Georgia,serif;font-size:36px;line-height:1.05;letter-spacing:-.02em}.booking-close{display:flex;align-items:center;gap:8px;background:transparent;border:0;color:var(--ink);font-size:12px;min-height:44px}.booking-close .icon{width:18px}.booking-shell>p{margin-top:15px;font-size:14px;line-height:1.6;color:var(--muted)}.booking-form{margin-top:28px}.booking-form fieldset{padding:0;border:0}.booking-form legend{font-size:17px;font-weight:600;margin-bottom:18px}.booking-fields{display:grid;grid-template-columns:1fr 1fr;gap:18px 20px}.booking-fields label,.booking-reason{display:flex;flex-direction:column;gap:8px;font-size:13px;font-weight:600}.booking-form input:not([type=checkbox]),.booking-form select,.booking-form textarea{width:100%;min-height:46px;padding:11px 12px;border:1px solid var(--line);border-radius:8px;background:var(--paper);color:var(--ink);font:inherit;font-size:16px;caret-color:var(--accent);color-scheme:inherit}.booking-form textarea{resize:vertical}.booking-form input:focus-visible,.booking-form select:focus-visible,.booking-form textarea:focus-visible{outline:2px solid var(--focus);outline-offset:2px}.booking-zone{margin-top:17px;font-size:12px;font-weight:600;color:var(--accent)}.booking-hours,.booking-privacy{font-size:12px;line-height:1.6;color:var(--muted);margin-top:9px}.booking-reason{margin-top:19px}.booking-consent{display:flex;align-items:flex-start;gap:12px;margin-top:20px;font-size:13px;line-height:1.55}.booking-consent input{width:18px;height:18px;accent-color:var(--accent);flex-shrink:0;margin-top:3px}.booking-primary{background:var(--wine);color:var(--cream)}.booking-primary:hover{background:var(--wine-deep)}.booking-secondary{background:var(--soft);color:var(--ink)}.booking-form fieldset>.button{margin-top:22px}.booking-actions{display:flex;justify-content:space-between;gap:12px;margin-top:24px}.booking-urgent{display:flex;align-items:flex-start;gap:12px;margin-top:24px;padding-top:20px;border-top:1px solid var(--line);color:var(--muted);font-size:12px;line-height:1.6}.booking-urgent .icon{flex-shrink:0;width:18px}.booking-result{padding-block:28px 8px}.booking-result>.icon{width:36px;height:36px;color:var(--accent)}.booking-result h3{margin-top:14px;font-family:Newsreader,Georgia,serif;font-size:32px}.booking-result p{margin-top:14px;line-height:1.65}.booking-result strong{display:block;font-size:15px;overflow-wrap:anywhere;margin-top:5px}.booking-result .button{margin-top:18px}.booking-notice{background:var(--soft);padding:16px;border-radius:8px}.booking-trap{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}.booking-dialog [hidden],[data-booking-open][hidden]{display:none!important}.booking-dialog button:disabled{opacity:.65;cursor:wait}.booking-dialog[open]{animation:booking-entrance .28s cubic-bezier(.16,1,.3,1)}@keyframes booking-entrance{from{opacity:0}to{opacity:1}}
@media(max-width:1100px){.header-booking{display:none}}@media(max-width:480px){.booking-shell{padding:24px 20px}.booking-heading h2{font-size:30px}.booking-fields{grid-template-columns:1fr;gap:16px}.booking-dialog{max-height:calc(100svh - 16px)}.booking-actions .button{font-size:13px;padding-inline:16px}.booking-heading{gap:8px}}
@media(prefers-reduced-motion:reduce){.booking-dialog[open]{animation:none}}
.header-booking{display:inline-flex;align-items:center;min-height:44px;padding:10px 15px;border:0;border-radius:9px;font-size:13px;white-space:nowrap;transition:background .2s}
@media(max-width:1100px){.header-booking{display:none}}
.booking-preferences{display:flex;gap:10px;margin-top:18px}.booking-preferences button{min-height:40px;border:0;border-radius:7px;background:var(--soft);color:var(--ink);padding:8px 13px;font-size:12px;font-weight:600}.booking-preferences button:hover{background:var(--line)}

/* Public form controls match the clinic while keeping native form validation. */
.booking-dialog[open]{animation:booking-entrance 360ms cubic-bezier(.16,1,.3,1)}
.booking-dialog::backdrop{animation:booking-scrim-in 360ms cubic-bezier(.16,1,.3,1) both}
.booking-dialog[data-closing=true]{animation:none}
.booking-dialog[data-closing=true]::backdrop{animation:booking-scrim-out 210ms cubic-bezier(.4,0,.2,1) both}
@keyframes booking-scrim-in{from{opacity:0}to{opacity:1}}
@keyframes booking-scrim-out{from{opacity:1}to{opacity:0}}
.booking-form fieldset:not([hidden]){animation:booking-fields-reveal 280ms cubic-bezier(.16,1,.3,1)}
@keyframes booking-fields-reveal{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}
.booking-consent input{appearance:none;position:relative;width:20px;height:20px;flex:0 0 20px;border:1.5px solid var(--muted);border-radius:5px;background:var(--paper);transition:background-color 180ms,border-color 180ms}
.booking-consent input::before{content:"";position:absolute;left:6px;top:2px;width:5px;height:10px;border:solid var(--cream);border-width:0 2px 2px 0;opacity:0;transform:rotate(45deg) scale(.4);transition:opacity 150ms,transform 200ms cubic-bezier(.16,1,.3,1)}
.booking-consent input:checked{background:var(--wine);border-color:var(--wine)}
.booking-consent input:checked::before{opacity:1;transform:rotate(45deg) scale(1)}
.booking-custom-field{display:block;position:relative;width:100%;font-weight:400}
.booking-form .booking-native{position:absolute!important;width:1px!important;height:1px!important;min-height:0!important;padding:0!important;border:0!important;clip-path:inset(50%);overflow:hidden;pointer-events:none}
.booking-field-trigger{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:46px;width:100%;padding:11px 12px;font:inherit;font-size:16px;color:var(--ink);background:var(--paper);border:1px solid var(--line);border-radius:8px;text-align:left;cursor:pointer;transition:border-color 180ms,background-color 180ms}
.booking-field-trigger svg{flex-shrink:0;color:var(--accent)}
.booking-field-trigger:hover{border-color:var(--accent)}
.booking-field-trigger[aria-expanded=true],.booking-field-trigger:focus-visible{outline:2px solid var(--focus);outline-offset:2px}
.booking-field-trigger[aria-invalid=true]{border-color:var(--accent)}
.booking-popover{position:fixed;z-index:30;overflow:auto;overscroll-behavior:contain;padding:12px;background:var(--paper);color:var(--ink);border-radius:10px;box-shadow:0 12px 36px #26141b30;animation:booking-control-in 230ms cubic-bezier(.16,1,.3,1)}
.booking-popover[data-open=false]{animation:booking-control-out 180ms ease-in both;pointer-events:none}
@keyframes booking-control-in{from{opacity:0}to{opacity:1}}
@keyframes booking-control-out{to{opacity:0}}
.booking-popover[role=listbox]{padding:6px}
.booking-option{display:flex;align-items:center;justify-content:space-between;min-height:42px;padding:9px 11px;width:100%;font:inherit;font-size:15px;border:0;border-radius:6px;background:transparent;color:var(--ink);text-align:left;cursor:pointer}
.booking-option[aria-selected=true]{color:var(--accent);font-weight:600;background:var(--soft)}
.booking-option.highlighted,.booking-option:hover{background:var(--soft)}
.booking-option:disabled,.booking-calendar-grid button:disabled{opacity:.35;cursor:not-allowed}
.booking-calendar-heading{display:grid;grid-template-columns:28px minmax(0,1fr) 80px 28px;gap:4px;align-items:center;margin-bottom:12px}
.booking-calendar-arrow{display:grid;place-items:center;min-height:42px;border:0;background:transparent;color:var(--ink);cursor:pointer}
.booking-small-select{padding:9px 7px;font-size:13px;min-height:40px;gap:4px}
.booking-calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:3px}
.booking-calendar-grid>span{display:grid;place-items:center;min-height:30px;color:var(--muted);font-size:12px}
.booking-calendar-grid button{display:grid;place-items:center;min-height:36px;border:0;border-radius:6px;background:transparent;color:var(--ink);font:inherit;font-size:14px;cursor:pointer}
.booking-calendar-grid button:hover{background:var(--soft)}
.booking-calendar-grid button[aria-pressed=true]{background:var(--wine);color:var(--cream)}
.booking-clock-value{display:block;font-size:25px;font-weight:600;color:var(--accent);font-variant-numeric:tabular-nums;margin-bottom:16px}
.booking-clock-columns{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.booking-clock-columns>div{display:grid;gap:7px;font-size:13px}
.booking-clock-columns .booking-field-trigger{font-size:17px;padding:11px}
.booking-control-done{display:block;margin:16px 0 0 auto;min-height:42px;padding:9px 16px;border:0;border-radius:6px;background:var(--wine);color:var(--cream);font:inherit;cursor:pointer}
.booking-control-error{display:block;margin-top:7px;font-size:12px;line-height:1.5;color:var(--accent)}
.booking-popover button:focus-visible{outline:2px solid var(--focus);outline-offset:2px}
@media(forced-colors:active){.booking-consent input{appearance:auto}.booking-consent input::before{display:none}.booking-popover{border:1px solid CanvasText}}
@media(prefers-reduced-motion:reduce){.booking-dialog[open],.booking-dialog::backdrop,.booking-dialog[data-closing=true]::backdrop,.booking-form fieldset:not([hidden]),.booking-popover,.booking-popover[data-open=false]{animation:none}.booking-consent input,.booking-consent input::before,.booking-field-trigger{transition:none}}

.booking-shell{animation:booking-content-in 360ms cubic-bezier(.16,1,.3,1)}
@keyframes booking-content-in{from{transform:translateY(18px)}to{transform:none}}
@media(prefers-reduced-motion:reduce){.booking-shell{animation:none}}
