@font-face{font-family:Cabinet;src:url('assets/cabinet-400.woff2') format('woff2');font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:Cabinet;src:url('assets/cabinet-500.woff2') format('woff2');font-weight:500;font-style:normal;font-display:swap}
@font-face{font-family:Cabinet;src:url('assets/cabinet-700.woff2') format('woff2');font-weight:700;font-style:normal;font-display:swap}
@font-face{font-family:Gloock;src:url('assets/gloock.ttf') format('truetype');font-weight:400;font-style:normal;font-display:swap}
:root{--wine:#782440;--wine-dark:#54172c;--petal:#f7e5e9;--ink:#30282b;--muted:#6d525b;--line:#d8c5cb;--white:#fffdfd;--ease-out:cubic-bezier(.23,1,.32,1);color-scheme:light}
*{box-sizing:border-box}
html{scroll-padding-top:32px;scrollbar-color:var(--wine) var(--petal)}
body{margin:0;background:var(--white);color:var(--ink);font-family:Cabinet,Arial,sans-serif;font-size:18px;line-height:1.5;-webkit-font-smoothing:antialiased}
::selection{background:var(--wine);color:var(--petal)}
a{color:inherit;text-underline-offset:5px;text-decoration-thickness:1px}
button,a,summary{-webkit-tap-highlight-color:transparent}
button{font:inherit}
button,a,summary{touch-action:manipulation}
:focus-visible{outline:3px solid currentColor;outline-offset:6px}
img{display:block;max-width:100%;height:auto}
figure,p,h1,h2,h3,blockquote{margin:0}
p+p{margin-top:18px}
h1,h2{font-family:Gloock,Georgia,serif;font-weight:400;line-height:1.08;letter-spacing:-.025em;text-wrap:balance}
h2{font-size:clamp(2.6rem,4.3vw,4.2rem)}
h3{font-weight:500;line-height:1.2;font-size:1.6rem}
.wrap{width:min(1320px,calc(100% - 112px));margin-inline:auto}
.skip-link{position:absolute;z-index:10;top:-100px;left:20px;padding:12px 20px;background:var(--wine);color:white}
.skip-link:focus{top:12px}
.site-header{background:var(--petal);color:var(--wine)}
.header-inner{width:min(1320px,calc(100% - 112px));margin:auto;min-height:94px;display:flex;align-items:center;justify-content:space-between;gap:24px;border-bottom:1px solid var(--wine)}
.brand{font-size:25px;font-weight:700;letter-spacing:-.03em;text-decoration:none;white-space:nowrap}
.brand span{font-family:Gloock,Georgia,serif}
#main-nav{display:flex;align-items:center;gap:34px;font-size:16px;font-weight:500}
#main-nav>a:not(.button){padding:12px 0;text-decoration:none}
.button{display:inline-flex;justify-content:center;align-items:center;min-height:52px;padding:14px 26px;border:1px solid var(--wine);border-radius:32px;background:var(--wine);color:var(--white);font-weight:500;font-size:17px;line-height:1.25;text-decoration:none;text-align:center;transition:transform 140ms var(--ease-out),background-color 160ms ease,color 160ms ease}
.button-small{min-height:44px;padding:11px 24px;font-size:16px}
.button-outline{background:transparent;color:var(--wine)}
.button-light{background:var(--petal);color:var(--wine);border-color:var(--petal)}
.text-link{display:inline-block;text-decoration:underline;font-weight:500;padding-block:9px}
.menu-toggle{display:none}
.hero{padding:30px 0 0;background:var(--petal);color:var(--wine)}
.masthead{font-size:clamp(5rem,11.65vw,10.65rem);line-height:1.08;letter-spacing:-.04em;white-space:nowrap;padding-bottom:32px}
.masthead span{color:var(--wine)}
.hero-story{display:grid;grid-template-columns:1.35fr 1fr;gap:60px;align-items:center}
.hero-photo{height:410px;overflow:hidden;background:#c9b5aa}
.hero-photo img{width:100%;height:100%;object-fit:cover;object-position:center 52%}
.hero-copy{padding-block:10px}
.hero-copy h2{font-size:clamp(2.5rem,3.3vw,3.15rem);line-height:1.1;margin-bottom:20px}
.hero-copy p{max-width:34ch;font-size:19px}
.hero-copy .hero-note{font-size:17px;margin-top:12px;max-width:33ch}
.hero-copy .button{margin-top:25px}
.hero-copy .text-link{display:block;width:fit-content;margin-top:9px;font-size:16px}
.hero-footnote{display:flex;justify-content:space-between;gap:20px;padding:19px 0 24px;font-size:15px}
.hero-footnote a{text-decoration:none;font-weight:700}
.care-section{display:grid;grid-template-columns:.85fr 1.5fr;gap:90px;padding-block:94px 80px}
.section-intro p{margin-top:24px;max-width:30ch;color:var(--muted)}
.section-intro .small-text{font-size:15px;max-width:33ch;margin-top:24px}
.service{border-top:1px solid var(--line)}
summary{list-style:none;cursor:pointer}
summary::-webkit-details-marker{display:none}
.service summary{display:flex;align-items:center;justify-content:space-between;gap:24px;padding-block:24px;font-size:28px;font-weight:500;line-height:1.25;letter-spacing:-.02em}
.disclosure-icon{position:relative;display:block;width:22px;height:22px;flex:0 0 22px}
.disclosure-icon:before,.disclosure-icon:after{content:"";position:absolute;top:10px;left:2px;width:18px;height:1.5px;background:currentColor}
.disclosure-icon:after{transform:rotate(90deg)}
details[open]>summary .disclosure-icon:after{transform:rotate(0)}
.service[open] summary{color:var(--wine)}
.service-body{padding:0 42px 28px 0;max-width:65ch;color:var(--muted)}
.service-body p+p{margin-top:14px}
.service-body .service-topics{font-size:15px;color:var(--wine)}
.service-body .text-link{margin-top:12px;color:var(--wine);font-size:16px}
.additional-care{border-top:1px solid var(--line);padding-top:24px}
.additional-care h3{font-size:21px;margin-bottom:8px}
.additional-care p{color:var(--muted);font-size:17px;max-width:55ch}
.practitioner{background:var(--wine);color:var(--petal);padding-block:80px 56px}
.practitioner-story{display:grid;grid-template-columns:.8fr 1.25fr;gap:100px;align-items:center}
.practitioner-photo{max-width:430px}
.practitioner-photo img{width:100%;aspect-ratio:1/1.1;object-fit:cover;object-position:center;background:#d8d7d2}
.practitioner-photo figcaption{padding-top:16px;font-size:19px;font-weight:500}
.practitioner-photo figcaption span{font-size:14px;font-weight:400}
.practitioner-copy h2{font-size:clamp(2.6rem,4.2vw,4rem);margin-bottom:24px}
.practitioner-copy .lead{font-size:23px;font-weight:500}
.practitioner-copy p{max-width:50ch}
.practitioner-copy .button{margin-top:28px}
.patient-quote{margin-top:64px;padding:40px 0 0;border-top:1px solid #c5839b;display:grid;grid-template-columns:1.4fr .6fr;align-items:end;gap:68px}
.patient-quote blockquote{font-family:Gloock,Georgia,serif;font-size:clamp(1.6rem,2.7vw,2.5rem);line-height:1.27;letter-spacing:-.015em;max-width:35ch}
.patient-quote figcaption{font-size:17px}
.patient-quote figcaption span{display:block;font-size:14px;max-width:26ch;margin-top:6px}
.visit-section{padding-block:90px 66px;display:grid;grid-template-columns:1fr 1.15fr;gap:110px;align-items:start}
.visit-heading p{color:var(--muted);max-width:32ch;margin-top:25px}
.contact-panel{padding-top:6px;scroll-margin-top:30px}
.contact-panel h3{font-size:23px;color:var(--muted)}
.contact-number{display:inline-block;font-size:clamp(2.1rem,3.3vw,3.1rem);line-height:1.15;margin-block:15px 24px;letter-spacing:-.035em;font-weight:500;color:var(--wine);text-decoration:none}
.contact-actions{display:flex;flex-wrap:wrap;gap:12px}
.contact-note{font-size:14px;color:var(--muted);max-width:52ch;margin-top:17px}
.visit-address{border-top:1px solid var(--line);margin-top:26px;padding-top:22px;display:flex;gap:25px;justify-content:space-between;align-items:center}
address{font-style:normal;font-size:18px}
.visit-address .text-link{font-size:16px;white-space:nowrap;color:var(--wine)}
.questions{border-top:1px solid var(--line);padding-block:38px 80px;display:grid;grid-template-columns:1fr 1.65fr;gap:70px}
.questions h2{font-size:2.5rem;line-height:1.2}
.question-list details{border-bottom:1px solid var(--line)}
.question-list summary{display:flex;justify-content:space-between;gap:20px;font-weight:500;padding:19px 0;font-size:20px;line-height:1.3}
.question-list details:first-child summary{padding-top:5px}
.question-list p{padding-bottom:20px;color:var(--muted);max-width:60ch;font-size:17px}
.site-footer{background:var(--petal);color:var(--wine);padding:42px 0 24px}
.footer-top{display:flex;align-items:center;justify-content:space-between;gap:30px;padding-bottom:38px}
.footer-brand{font-family:Gloock,Georgia,serif;font-size:clamp(2.5rem,5vw,4.8rem);letter-spacing:-.035em;text-decoration:none;line-height:1.2}
.footer-top p{font-size:19px}
.footer-bottom{border-top:1px solid var(--line);padding-top:22px;display:flex;flex-wrap:wrap;gap:22px 32px;justify-content:space-between;align-items:center;font-size:14px}
.footer-bottom nav{display:flex;gap:24px}
.footer-bottom nav a{padding-block:10px}
.photo-credit{font-size:14px}
@media(hover:hover) and (pointer:fine){.button:hover{background:var(--wine-dark)}.button-outline:hover{color:var(--white)}.button-light:hover{background:var(--white);color:var(--wine)}#main-nav>a:not(.button):hover{text-decoration:underline}.text-link:hover{text-decoration-thickness:2px}summary:hover{color:var(--wine)}.practitioner a:not(.button):hover{color:var(--white)}}
.button:active:not(:focus-visible){transform:scale(.98)}
@media(min-width:1500px){.masthead{font-size:170px}}
@media(max-width:1050px){.wrap,.header-inner{width:calc(100% - 64px)}.hero-story{gap:34px;grid-template-columns:1.15fr 1fr}.hero-photo{height:430px}.masthead{font-size:11.5vw}.care-section{gap:48px;grid-template-columns:.85fr 1.3fr}.service summary{font-size:24px}.practitioner-story{gap:50px}.visit-section{gap:50px}.visit-address{display:block}.questions{gap:45px}.photo-credit{width:100%}}
@media(max-width:760px){
  html{scroll-padding-top:20px}
  body{font-size:17px}
  .wrap,.header-inner{width:calc(100% - 40px)}
  .header-inner{min-height:77px;flex-wrap:wrap;gap:0;position:relative}
  .brand{font-size:23px}
  .menu-toggle{display:none;border:0;background:transparent;color:var(--wine);padding:12px 0 12px 12px;align-items:center;gap:12px;font-size:16px;min-height:48px}
  .has-js .menu-toggle{display:flex}
  .menu-lines{position:relative;width:20px;height:14px;border-top:1px solid currentColor;border-bottom:1px solid currentColor}
  .menu-toggle[aria-expanded=true] .menu-lines{height:1px;border-bottom:0;transform:rotate(45deg)}
  .menu-toggle[aria-expanded=true] .menu-lines:after{content:"";position:absolute;left:0;top:-1px;width:20px;border-top:1px solid currentColor;transform:rotate(90deg)}
  #main-nav{width:100%;display:flex;flex-wrap:wrap;gap:8px 20px;padding:4px 0 20px;font-size:16px}
  .has-js #main-nav{display:none}
  .has-js #main-nav.is-open{display:flex}
  #main-nav .button{margin-left:auto}
  .hero{padding-top:24px}
  .masthead{font-size:clamp(2rem,12vw,5.7rem);padding-bottom:24px;letter-spacing:-.04em}
  .hero-story{display:flex;flex-direction:column;gap:0;align-items:stretch}
  .hero-photo{height:230px;margin-inline:-20px}
  .hero-copy{padding:27px 0 0}
  .hero-copy h2{font-size:39px;margin-bottom:16px}
  .hero-copy h2 br{display:none}
  .hero-copy p{font-size:18px;max-width:42ch}
  .hero-copy .hero-note{font-size:16px;max-width:40ch}
  .hero-copy .button{margin-top:22px}
  .hero-copy .text-link{font-size:15px;margin-top:8px}
  .hero-footnote{padding:22px 0;font-size:14px;align-items:end}
  .hero-footnote span{max-width:17ch}
  .hero-footnote a{white-space:nowrap;padding-block:9px}
  .care-section{display:block;padding-block:55px 48px}
  h2{font-size:42px}
  .section-intro h2 br{display:none}
  .section-intro p{max-width:45ch;margin-top:18px}
  .section-intro .small-text{max-width:43ch;margin-top:15px}
  .service-list{margin-top:30px}
  .service summary{font-size:23px;padding-block:21px;gap:15px}
  .service-body{padding:0 12px 24px 0}
  .service-body .service-topics{font-size:14px}
  .additional-care{padding-top:22px}
  .practitioner{padding-block:44px 40px}
  .practitioner-story{display:flex;flex-direction:column;gap:32px;align-items:stretch}
  .practitioner-photo{max-width:none}
  .practitioner-photo img{aspect-ratio:1.1/1;object-position:center 48%}
  .practitioner-photo figcaption{font-size:18px;padding-top:13px}
  .practitioner-photo figcaption span{font-size:14px}
  .practitioner-copy h2{font-size:39px;margin-bottom:22px}
  .practitioner-copy .lead{font-size:21px}
  .practitioner-copy .button{margin-top:24px}
  .patient-quote{display:block;margin-top:40px;padding-top:30px}
  .patient-quote blockquote{font-size:29px;line-height:1.3}
  .patient-quote figcaption{margin-top:20px}
  .patient-quote figcaption span{max-width:36ch}
  .visit-section{display:block;padding-block:52px 36px}
  .visit-heading h2 br{display:none}
  .visit-heading p{max-width:40ch;margin-top:20px}
  .contact-panel{margin-top:32px;padding:0}
  .contact-panel h3{font-size:20px}
  .contact-number{font-size:37px;margin-block:12px 22px}
  .contact-actions{gap:10px}
  .contact-actions .button{font-size:16px;padding-inline:20px}
  .contact-note{font-size:14px;max-width:44ch}
  .visit-address{margin-top:23px;padding-top:22px}
  .visit-address .text-link{margin-top:8px}
  .questions{display:block;padding-block:30px 48px}
  .questions h2{font-size:33px;margin-bottom:26px}
  .question-list summary{font-size:19px;padding-block:19px}
  .question-list p{font-size:16px}
  .footer-top{display:block;padding-bottom:25px}
  .footer-brand{font-size:38px}
  .footer-top p{font-size:17px;margin-top:18px}
  .footer-top p br{display:none}
  .footer-bottom{display:block;padding-top:20px}
  .footer-bottom nav{margin-block:8px 12px;gap:25px}
  .photo-credit{display:inline-block;padding-block:8px}
  .site-footer{padding-block:32px 22px}
}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}.button:active{transform:none}}
