@font-face{font-family:Switzer;src:url('assets/fonts/switzer-medium.woff2') format('woff2');font-weight:500;font-style:normal;font-display:swap}
@font-face{font-family:'Instrument Serif';src:url('assets/fonts/instrument-serif-italic.woff2') format('woff2');font-weight:400;font-style:italic;font-display:swap}
:root {
  --paper:#fafaf7; --ink:#2b2421; --muted:#635954; --line:#ddd4cc; --clay:#874a3c;
  --clay-hover:#6d352c; --rose:#c0826c; --tint:#f3ebe4; --max:1200px; --radius:24px;
}
* {box-sizing:border-box}
html {scroll-behavior:smooth;scroll-padding-top:102px}
body {margin:0;background:var(--paper);color:var(--ink);font:500 16px/1.6 Switzer,Arial,sans-serif;letter-spacing:-.012em;-webkit-font-smoothing:antialiased}
button {font:inherit;color:inherit;cursor:pointer}
a,button,summary {-webkit-tap-highlight-color:transparent}
a {color:inherit;text-decoration:none}
img {display:block;max-width:100%}
h1,h2,h3,p,figure,blockquote {margin:0}
h1,h2,h3 {font-weight:500;line-height:1.04;letter-spacing:-.045em}
h2 {font-size:clamp(40px,4.35vw,64px)}
em {font-family:'Instrument Serif',Georgia,serif;font-size:1.06em;font-weight:400;font-style:italic;letter-spacing:-.035em}
address {font-style:normal}
.sprite {position:absolute;width:0;height:0;overflow:hidden}
.icon {width:19px;height:19px;flex:none;fill:none;stroke:currentColor;stroke-width:1.65;stroke-linecap:round;stroke-linejoin:round}
:focus-visible {outline:3px solid #12677c;outline-offset:4px}
.hero :focus-visible,.visit-panel :focus-visible {outline-color:white;outline-offset:4px}
.skip-link {position:fixed;z-index:70;left:15px;top:-80px;background:white;padding:10px 16px}
.skip-link:focus {top:12px}
.container,.nav-shell {width:calc(100% - 96px);max-width:var(--max);margin-inline:auto}
.wide-shell {width:calc(100% - 56px);max-width:1280px;margin-inline:auto}
.section {padding-block:clamp(68px,7vw,98px)}
.eyebrow {display:flex;align-items:center;gap:9px;font-size:12px;letter-spacing:.13em;line-height:1.5;text-transform:uppercase}
.eyebrow>span {width:7px;height:7px;border-radius:50%;background:var(--rose);flex:none}
.button-row,.button,.text-link,.inline-link {display:inline-flex;align-items:center}
.button-row {flex-wrap:wrap;gap:11px}
.button {justify-content:center;border:1px solid transparent;min-height:46px;border-radius:100px;gap:9px;padding:10px 21px;line-height:1.3;font-size:16px;white-space:nowrap;transition:background .2s,transform .2s}
.button:hover {transform:translateY(-2px)}
.button .icon {width:16px;height:16px}
.button-clay {color:white;background:var(--clay)}
.button-clay:hover {background:var(--clay-hover)}
.button-white {background:white;color:#282d30}
.button-white:hover {background:#f3ede8}
.text-link,.inline-link {gap:9px;border-bottom:1px solid #b19688;padding-bottom:3px;font-size:16px}
.text-link:hover,.inline-link:hover {border-color:currentColor}
.text-link .icon,.inline-link .icon {width:16px;height:16px}

.site-header {position:sticky;top:0;z-index:40;background:var(--paper);transition:box-shadow .2s}
.site-header.scrolled {box-shadow:0 3px 18px #32211710}
.nav-shell {height:86px;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:22px}
.brand {display:block;width:220px;max-width:100%}
.brand img {width:100%;height:auto}
.site-header nav {display:flex;align-items:center;justify-content:center;gap:clamp(20px,2.4vw,34px)}
.site-header nav a {font-size:15px;white-space:nowrap;padding-block:12px}
.site-header nav a:hover,.footer-main a:hover {color:var(--clay);text-decoration:underline;text-underline-offset:4px}
.header-actions {justify-self:end;display:flex;align-items:center;gap:8px}
.header-actions .button {font-size:15px;min-height:43px;padding:9px 17px}
.header-call,.menu-toggle {width:43px;height:43px;border-radius:50%;align-items:center;justify-content:center;flex:none}
.header-call {background:#282d30;color:white;display:inline-flex}
.header-call:hover {background:#151a1d}
.header-call .icon {width:17px;height:17px}
.menu-toggle {display:none;border:1px solid var(--line);background:transparent}
.menu-toggle .i-close,.menu-toggle[aria-expanded=true] .i-menu {display:none}
.menu-toggle[aria-expanded=true] .i-close {display:block}

.hero {isolation:isolate;position:relative;display:flex;flex-direction:column;justify-content:flex-end;overflow:hidden;border-radius:var(--radius);height:clamp(660px,calc(100svh - 106px),735px);background:#261d18;color:white}
.hero-image,.hero-image img,.hero-shade {position:absolute;inset:0;width:100%;height:100%}
.hero-image {z-index:-2}
.hero-image img {object-fit:cover;object-position:60% 23%}
.hero-shade {z-index:-1;background:linear-gradient(180deg,#231b1710 0%,#231b1710 24%,#261c154f 43%,#201814c6 68%,#1b1512ea 100%)}
.hero-content {padding:0 24px clamp(30px,3.2vw,49px);display:flex;flex-direction:column;align-items:center;text-align:center}
.hero-eyebrow {margin-bottom:18px;color:#fff}
.hero-eyebrow>span,.visit-panel .eyebrow>span {background:#e4b095}
.hero h1 {font-size:clamp(59px,6.4vw,87px);letter-spacing:-.055em;line-height:1.02;text-wrap:balance}
.hero h1 em {white-space:nowrap}
.hero-description {margin-top:14px;font-size:clamp(17px,1.3vw,20px);line-height:1.5;max-width:620px;text-wrap:balance;color:#fff8f4}
.hero .button-row {margin-top:24px;justify-content:center}
.hero-trust {width:calc(100% - 100px);margin-inline:auto;border-top:1px solid #ffffff42;padding:18px 0 21px;display:flex;align-items:center;justify-content:space-between;gap:14px;font-size:15px;color:#fcf8f4}
.hero-trust>span {display:flex;align-items:center;gap:8px}
.hero-trust .icon {width:17px;height:17px;color:#f0cdbb}
.introduction {padding-top:clamp(39px,4.4vw,62px)}
.introduction-heading {max-width:660px;margin-inline:auto;text-align:center}
.introduction-heading .eyebrow,.voice>.eyebrow {justify-content:center;margin-bottom:17px}
.introduction-heading h2 {font-size:clamp(33px,3.05vw,42px);line-height:1.15;text-wrap:balance}
.introduction-heading h2 em {color:#775044}
.introduction-heading>p:last-child {margin:15px auto 0;max-width:565px;color:var(--muted);text-wrap:balance}
.intro-cards {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));max-width:900px;gap:16px;margin:clamp(35px,4vw,60px) auto 0}
.care-card {display:block;position:relative;isolation:isolate;overflow:hidden;border-radius:13px;aspect-ratio:1/1.04;background:#7a6459;color:white}
.care-card>img {position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2;transition:transform .4s}
.care-card::after {content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,transparent 25%,#261c1633 48%,#251c17eb 100%)}
.care-card:hover img {transform:scale(1.045)}
.card-arrow {position:absolute;right:14px;top:14px;display:grid;place-items:center;width:34px;height:34px;border-radius:50%;color:var(--ink);background:#fffdf7ed}
.card-arrow svg {width:16px;height:16px}
.card-caption {position:absolute;left:18px;right:12px;bottom:20px}
.card-caption h3 {font-size:clamp(23px,2.15vw,30px);line-height:1.06}
.card-caption p {font-size:14px;line-height:1.5;margin-top:7px;color:#fff8f0}
.care-all {text-align:center;margin-top:29px}

.doctor-panel {background:var(--tint);border-radius:var(--radius);padding:clamp(34px,4.6vw,66px);display:grid;grid-template-columns:1.06fr 1fr;align-items:center;gap:clamp(36px,6vw,88px)}
.doctor-photo {position:relative;overflow:hidden;border-radius:16px;aspect-ratio:1.17;background:#c6b298}
.doctor-photo img {width:100%;height:100%;object-fit:cover;object-position:50% 48%}
.doctor-photo figcaption {position:absolute;left:0;right:0;bottom:0;padding:26px 16px 11px;background:linear-gradient(transparent,#211b16bf);color:white;font-size:12px}
.doctor-copy .eyebrow,.patient-intro .eyebrow,.visit-intro .eyebrow {margin-bottom:17px}
.doctor-copy>p:not(.eyebrow),.patient-intro>p:not(.eyebrow) {margin-top:19px;max-width:510px;font-size:17px;color:var(--muted)}
.credential {display:flex;gap:15px;align-items:center;border-top:1px solid #d8c8bd;padding-top:20px;margin:24px 0 20px}
.credential img {width:62px;height:62px;object-fit:cover;border-radius:50%}
.credential strong,.credential span {display:block}
.credential strong {font-size:17px;font-weight:500}
.credential span {font-size:14px;line-height:1.45;color:var(--muted);margin-top:2px}
.voice {max-width:920px;text-align:center;padding:clamp(52px,6vw,85px) 0 0}
.voice blockquote {font:italic 400 clamp(33px,3.3vw,47px)/1.12 'Instrument Serif',Georgia,serif;letter-spacing:-.02em;text-wrap:balance;max-width:740px;margin-inline:auto}
.voice figcaption {margin-top:18px;font-size:15px}
.voice figcaption span {display:block;color:var(--muted);font-size:13px;margin-top:2px}
.patient-section {display:grid;grid-template-columns:minmax(0,.86fr) minmax(0,1.14fr);gap:clamp(40px,7vw,95px);max-width:1080px}
.patient-intro .text-link {margin-top:24px}
.faq-list {border-top:1px solid var(--line)}
details {border-bottom:1px solid var(--line);padding:0}
summary {position:relative;list-style:none;display:flex;align-items:center;justify-content:space-between;gap:14px;cursor:pointer;font-size:18px;line-height:1.35;padding:20px 0}
summary::-webkit-details-marker {display:none}
summary .icon {width:20px;height:20px;transition:transform .18s}
details[open] summary .icon {transform:rotate(180deg)}
details>p {color:var(--muted);margin:0 26px 19px 0}
.visit-panel {isolation:isolate;position:relative;overflow:hidden;background:#513730;color:white;border-radius:var(--radius);display:grid;grid-template-columns:1.2fr 1fr;align-items:center;gap:clamp(35px,7vw,98px);padding:clamp(38px,5.5vw,78px)}
.visit-intro>p:not(.eyebrow) {margin-top:16px;font-size:17px;max-width:450px;color:#f5eae3}
.visit-intro .button-row {margin-top:24px}
.visit-intro .button-clay {background:#885040;border-color:#b57b66}
.visit-intro .button-clay:hover {background:#734334}
.visit-row {display:flex;gap:17px;align-items:flex-start;padding:19px 0;border-top:1px solid #e8ccba54}
.visit-row>.icon {color:#ecc5af;margin-top:2px}
.visit-row h3 {font-size:21px;letter-spacing:-.025em;margin-bottom:8px}
.visit-row p,.visit-row address {color:#f5eae3}
.visit-row>div {width:100%}
.visit-row p {display:flex;justify-content:space-between;gap:10px}
.visit-row .inline-link {color:white;font-size:15px;margin-top:9px}
.site-footer {padding-top:clamp(54px,6vw,86px);container-type:inline-size}
.footer-main {display:grid;grid-template-columns:minmax(240px,1.5fr) minmax(110px,.65fr) minmax(175px,.8fr);gap:35px}
.footer-main h2 {font-size:17px;letter-spacing:-.02em;margin-bottom:13px}
.footer-main>div>a:not(.brand) {display:flex;align-items:center;gap:5px;width:fit-content;font-size:15px;margin:5px 0;color:var(--muted)}
.footer-main>div>a .icon {width:14px;height:14px}
.footer-brand p {font-size:15px;color:var(--muted);margin-top:12px}
.footer-wordmark {font-size:clamp(28px,14.5cqw,174px);line-height:1;text-align:center;letter-spacing:-.065em;white-space:nowrap;margin:43px 0 -.14em;transform:translateY(.1em);background:linear-gradient(#704e4148,#704e4124 55%,#704e4100);background-clip:text;-webkit-background-clip:text;color:transparent;pointer-events:none}
.footer-bottom {position:relative;z-index:1;border-top:1px solid var(--line);background:var(--paper);display:flex;align-items:center;justify-content:space-between;gap:15px;padding:17px 0}
.footer-bottom small,.footer-bottom a {font-size:13px;color:var(--muted)}
.footer-bottom a {display:flex;align-items:center;gap:8px}
.footer-bottom .icon {width:16px;height:16px}

@media(max-width:1000px) {
  .container,.nav-shell {width:calc(100% - 52px)} .wide-shell {width:calc(100% - 32px)}
  .brand {width:195px} .nav-shell {gap:12px} .site-header nav {gap:18px}
  .doctor-panel {gap:32px} .visit-panel {gap:36px}
}
@media(max-width:880px) {
  html {scroll-padding-top:82px} .nav-shell {display:flex;justify-content:space-between;height:70px}
  .menu-toggle {display:inline-flex}
  .site-header nav {display:none;flex-direction:column;align-items:stretch;gap:0;position:absolute;inset:100% 14px auto;background:var(--paper);padding:9px 18px;border:1px solid var(--line);border-radius:15px;box-shadow:0 15px 23px #33211716}
  .site-header nav.is-open {display:flex} .site-header nav a+a {border-top:1px solid var(--line)}
  .intro-cards {gap:12px} .card-caption {left:14px;bottom:16px} .card-caption p {font-size:13px}
  .visit-panel {grid-template-columns:1.1fr 1fr;padding:35px}
}
@media(max-width:760px) {
  .container,.nav-shell {width:calc(100% - 40px)} .wide-shell {width:calc(100% - 24px)}
  .hero {height:clamp(585px,83svh,680px);border-radius:19px} .hero-content {padding-bottom:26px}
  .hero-trust {width:calc(100% - 48px);font-size:13px;padding-block:16px}
  .hero-trust>span {gap:5px} .hero-trust .icon {width:15px;height:15px}
  .doctor-panel {grid-template-columns:1fr;padding:28px;gap:25px} .doctor-photo {aspect-ratio:1.75;max-height:360px}
  .patient-section {grid-template-columns:1fr;gap:28px}
  .visit-panel {grid-template-columns:1fr;gap:28px;padding:33px 28px}
  .footer-main {grid-template-columns:1fr 1fr;gap:25px}.footer-brand {grid-column:1/-1}
}
@media(max-width:620px) {
  .hero-image img {object-position:50% 6%} .hero {height:clamp(600px,83svh,685px)}
  .hero h1 {font-size:clamp(46px,8.3vw,59px)} .hero-eyebrow {font-size:11px;margin-bottom:12px}
  .hero-description {font-size:16px;max-width:380px;line-height:1.45;margin-top:12px}
  .hero-content {padding-inline:16px} .hero .button-row {margin-top:19px}
  .hero-trust {justify-content:center;gap:19px;font-size:12px;width:calc(100% - 34px)}
  .hero-trust>span:first-child {display:none}
  .intro-cards {grid-template-columns:1fr;max-width:420px;gap:14px;margin-top:30px}
  .care-card {aspect-ratio:1.52} .card-caption {left:20px;bottom:20px} .card-caption h3 {font-size:29px}.card-caption p {font-size:15px}
  .introduction {padding-top:38px}.introduction-heading>p:last-child {font-size:16px}
  .doctor-copy>p:not(.eyebrow),.visit-intro>p:not(.eyebrow),.patient-intro>p:not(.eyebrow) {font-size:16px}
}
@media(max-width:470px) {
  .nav-shell {width:calc(100% - 24px);height:66px;gap:6px} .header-actions {gap:5px}
  .brand {width:clamp(126px,39vw,175px)} .header-call,.menu-toggle {width:35px;height:35px}
  .header-actions .button {min-height:37px;font-size:14px;padding:8px 12px} .header-book .icon {display:none}
  .button {font-size:15px;padding-inline:15px;gap:7px;min-height:44px}
  .hero h1 {max-width:350px} .hero h1 em {display:block}
  .hero {height:clamp(575px,80svh,650px)} .hero-content {padding-bottom:23px}
  .hero-image {height:85%}
  .hero-shade {background:linear-gradient(180deg,#231b1708 16%,#281d1721 36%,#261d1860 48%,#261d18f5 82%,#261d18 85%)}
  .doctor-panel,.visit-panel {border-radius:18px;padding:24px 19px} .visit-panel {padding-block:34px}
  .footer-main {gap:22px 14px} .footer-brand .brand {width:203px}
  .site-footer {padding-top:50px} .section {padding-block:60px} .introduction {padding-top:38px}
  .voice {padding-top:52px} .footer-wordmark {margin-top:35px}
}
@media(max-width:360px) {
  .nav-shell {width:calc(100% - 20px)} .brand {width:117px}
  .header-call,.menu-toggle {width:32px;height:32px} .header-actions .button {padding-inline:9px;min-height:34px}
  .hero-content {padding-inline:10px} .hero .button-row {gap:7px}
  .hero .button {padding-inline:9px} .hero h1 {font-size:44px} .hero-trust {gap:10px;font-size:11px}
  .hero .button-clay .icon {display:none}
  .hero-image {height:78%}
  .hero-shade {background:linear-gradient(180deg,#231b1708 12%,#281d1721 31%,#261d1860 45%,#261d18f5 75%,#261d18 78%)}
  .footer-main {grid-template-columns:1fr} .footer-brand {grid-column:auto}
}
@media(min-width:1001px) and (max-height:760px) {
  .hero-content {padding-bottom:28px}
  .hero-eyebrow {margin-bottom:14px}
  .hero-trust {padding-block:15px}
}
@media(prefers-reduced-motion:reduce) {
  html {scroll-behavior:auto} *,*::before,*::after {animation:none!important;transition:none!important}
}
