@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600&family=Playfair+Display:ital,wght@0,400;0,500;1,400;1,500&display=swap');
:root{--paper:#f7f5f0;--ink:#252220;--muted:#67605a;--accent:#79523f;--line:#d9d4cc;--serif:'Playfair Display',Georgia,serif;--sans:'DM Sans',Arial,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:24px}body{margin:0;background:var(--paper);color:var(--ink);font:1rem/1.65 var(--sans)}a{color:inherit;text-decoration:none}a:focus-visible{outline:3px solid #a77b62;outline-offset:6px}p,h1,h2,h3,figure{margin:0}header,footer,.section{padding-left:6.5%;padding-right:6.5%}.header{display:flex;justify-content:space-between;align-items:center;min-height:126px;border-bottom:1px solid var(--line);gap:24px}.brand{font:2.15rem/1 var(--serif);letter-spacing:-1.5px;white-space:nowrap}.brand span{font-style:italic}.brand small{display:block;font:0.75rem/1.2 var(--sans);letter-spacing:4px;margin-top:12px;text-align:center}nav{display:flex;align-items:center;gap:32px;font-size:.875rem}nav a:hover,.text-link:hover{color:var(--accent)}.nav-call{border:1px solid var(--ink);padding:11px 20px}.hero{position:relative;display:grid;grid-template-columns:1fr 46%;min-height:720px;padding:52px 6.5% 64px;gap:6%}.hero-copy{align-self:center;padding-bottom:8px}.eyebrow{font-size:.75rem;font-weight:600;letter-spacing:2px;line-height:1.7}.hero h1{font:clamp(4rem,7.8vw,7.4rem)/1.08 var(--serif);letter-spacing:-4px;margin:28px 0}.hero h1 em,h2 em{color:var(--accent);font-weight:400}.intro{max-width:370px;color:var(--muted);font-size:1.0625rem;line-height:1.8;margin-bottom:30px}.button{display:inline-flex;align-items:center;justify-content:center;gap:36px;background:var(--ink);color:var(--paper);padding:15px 26px;font-size:.875rem;font-weight:500;transition:background .2s}.button:hover{background:var(--accent)}.button span{font-size:1.25rem}.hero-note{font-size:.8125rem;color:var(--muted);margin-top:40px}.hero-image{position:relative;min-height:570px;background:#d2c2b4;overflow:hidden;border-radius:46% 46% 0 0}.hero-image img{display:block;width:100%;height:100%;position:absolute;object-fit:cover}.hero-image figcaption{position:absolute;bottom:24px;left:24px;right:24px;color:white;text-shadow:0 1px 8px black;display:flex;justify-content:space-between;gap:12px;font-size:.75rem;letter-spacing:1.5px}.side-note{position:absolute;right:2%;top:42%;writing-mode:vertical-rl;font-size:.75rem;letter-spacing:2px;color:var(--muted)}.section{padding-top:95px;padding-bottom:95px}.services{border-top:1px solid var(--line)}.section-heading{display:grid;grid-template-columns:1fr 1.5fr 1fr;align-items:start;gap:36px}.section-heading .eyebrow{padding-top:15px}.section-heading>p:last-child{color:var(--muted);padding-top:12px}h2{font:clamp(2.5rem,4.2vw,4rem)/1.16 var(--serif);letter-spacing:-1.5px}.service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:42px;margin-top:66px}.service-grid article{border-top:1px solid var(--ink);padding-top:22px}.number{font-size:.75rem;letter-spacing:1.7px;color:var(--accent)}h3{font:2rem/1.2 var(--serif);letter-spacing:-.5px;margin:24px 0 20px}.service-grid article>p:not(.number){color:var(--muted);max-width:320px}.service-grid article>span{display:block;margin-top:28px;font-size:.875rem}.appointments{background:var(--ink);color:var(--paper)}.appointments>.eyebrow{color:#ccad97;margin-bottom:34px}.appointment-content{display:grid;grid-template-columns:1fr 1fr;gap:9%}.appointments h2 em{color:#d5b39b}.appointment-content>div>p{color:#ddd4cc;margin-bottom:20px}.actions{display:flex;align-items:center;gap:28px;flex-wrap:wrap;margin:28px 0}.light{background:var(--paper);color:var(--ink)}.light:hover{background:#e1c7b4}.text-link{font-size:.875rem;border-bottom:1px solid currentColor;padding-bottom:5px}.text-link span{margin-left:16px}.appointment-content>div>.small{font-size:.8125rem;color:#beb3aa;margin-bottom:0}.visit{display:grid;grid-template-columns:1.3fr 1fr 1fr;gap:50px}.visit h2{margin-top:20px}.label{font-size:.75rem;letter-spacing:1.8px;margin:8px 0 24px;font-weight:600}address{font-style:normal;margin-bottom:24px}.phone{font:1.7rem var(--serif)}.visit-info>p:last-child{color:var(--muted);margin-top:18px;font-size:.9375rem}footer{border-top:1px solid var(--line);padding-top:40px;padding-bottom:40px;display:flex;justify-content:space-between;align-items:center;gap:32px}footer p{font-size:.8125rem;color:var(--muted)}.footer-brand{font-size:1.65rem}.copyright{align-self:flex-end}@media(min-width:1500px){.hero{min-height:830px}.hero-image{min-height:660px}}@media(max-width:900px){header,footer,.section{padding-left:5%;padding-right:5%}.header{min-height:105px}.brand{font-size:1.75rem}nav{gap:18px}.hero{padding:40px 5% 55px;gap:5%;min-height:600px}.hero h1{letter-spacing:-2px}.hero-image{min-height:480px}.hero-image figcaption span,.side-note{display:none}.section-heading{grid-template-columns:1.3fr 1fr}.section-heading .eyebrow{grid-column:1/-1}.service-grid{gap:25px}.visit{gap:30px;grid-template-columns:1fr 1fr}.visit>div:first-child{grid-column:1/-1}}@media(max-width:600px){.header{align-items:center;min-height:100px;gap:12px}.brand{font-size:1.45rem}.brand small{font-size:.625rem;letter-spacing:3px;margin-top:9px}nav{gap:14px}nav>a:first-child{display:none}nav{font-size:.8125rem}.nav-call{padding:8px 10px}.hero{grid-template-columns:1fr;gap:36px;padding-top:42px}.hero h1{font-size:4.8rem;line-height:1.03;margin:22px 0;letter-spacing:-2px}.hero .eyebrow{font-size:.6875rem;letter-spacing:1.5px}.intro{max-width:100%}.hero-note{margin-top:24px}.hero-image{min-height:420px;max-height:520px;aspect-ratio:4/5;width:100%}.section{padding-top:60px;padding-bottom:60px}.section-heading,.appointment-content,.visit{grid-template-columns:1fr;gap:24px}.section-heading .eyebrow{padding-top:0}.section-heading>p:last-child{padding-top:0;max-width:330px}.service-grid{grid-template-columns:1fr;margin-top:38px;gap:38px}h3{font-size:1.9rem;margin:18px 0 15px}.service-grid article>p:not(.number){max-width:none}.service-grid article>span{margin-top:18px}.actions{gap:20px}.visit>div:first-child{grid-column:auto}.visit-info{padding-top:20px;border-top:1px solid var(--line)}.label{margin:0 0 16px}footer{align-items:flex-start;flex-wrap:wrap;gap:28px}.copyright{flex-basis:100%}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}

.instagram{display:inline-block;margin-top:20px}
