:root{--paper:#f7f6f1;--ink:#263e36;--muted:#566159;--line:#d9ddd4;--sage:#e9ede5;--wood:#b89672}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;background:var(--paper);color:var(--ink);font:1.125rem/1.75 Arial,Helvetica,sans-serif}a{color:inherit;text-decoration:none}button{font:inherit}img{max-width:100%;display:block}p{margin:0 0 20px}.wrap{width:min(1240px,88%);margin-inline:auto}.header{width:92%;margin:auto;min-height:108px;display:flex;align-items:center;justify-content:space-between;gap:28px;border-bottom:1px solid var(--line)}.brand{display:flex;gap:13px;align-items:center;white-space:nowrap}.brand>span{font-size:1.5625rem;letter-spacing:.025em;font-weight:600}.brand em{font-weight:400;font-family:Georgia,serif}.brand small{display:block;font-size:0.5rem;letter-spacing:.19em;font-weight:400;margin-top:0}.header nav{display:flex;gap:30px;font-size:0.8125rem}.header nav a:hover,.text-link:hover{color:#955536}.header-phone{font-size:0.9375rem;border-bottom:1px solid var(--ink);padding-bottom:5px}.header-phone span{margin-left:16px}.hero{display:grid;grid-template-columns:1fr 1.08fr;gap:6%;align-items:center;padding-block:75px 80px}.eyebrow{font-size:0.625rem;letter-spacing:.16em;font-weight:600;display:flex;align-items:center;gap:10px;margin-bottom:24px}.eyebrow>span{width:6px;height:6px;background:var(--wood);border-radius:50%}h1,h2{font-family:Georgia,'Times New Roman',serif;font-weight:400;letter-spacing:-.045em;line-height:1.13;margin:0 0 30px}h1{font-size:clamp(3.25rem,5.8vw,5.25rem)}h1 i,h2 i{font-weight:400;color:#53664b}h2{font-size:clamp(2.125rem,3.5vw,3.125rem)}.lead{max-width:390px;color:var(--muted);font-size:0.9375rem;line-height:1.9;margin-bottom:28px}.button{display:inline-flex;align-items:center;gap:36px;background:var(--ink);color:white;padding:15px 23px;font-size:0.75rem;transition:background .2s}.button:hover{background:#48614d}.button span{font-size:1.25rem;line-height:1}.doctor-line{margin-top:36px;font-size:0.875rem}.doctor-line small{display:block;font-size:0.6875rem;color:var(--muted);margin-top:3px}.hero-image{margin:0;align-self:stretch;display:flex;flex-direction:column;justify-content:center;position:relative}.hero-image:before{content:'';position:absolute;inset:25px -15px 60px 25px;border:1px solid #c9cabb;z-index:-1}.hero-image>img{width:100%;height:570px;object-fit:cover;object-position:47% center;border-radius:110px 0 0 0}.hero-image figcaption{display:flex;justify-content:space-between;font-size:0.5625rem;letter-spacing:.1em;padding-top:15px}.info-strip{background:var(--sage);border-block:1px solid var(--line)}.strip-inner{display:flex;justify-content:space-between;gap:20px;align-items:center;min-height:78px;font-size:0.75rem}.strip-inner a{border-bottom:1px solid #9ba698}.section{padding-block:100px}.about{display:grid;grid-template-columns:1fr 1fr;gap:8%}.about-text{padding-top:39px;color:var(--muted);font-size:0.875rem;line-height:1.95}.about-text>p:first-child{font-size:1.125rem;color:var(--ink)}.text-link{display:inline-flex;align-items:center;justify-content:space-between;gap:40px;border-bottom:1px solid var(--ink);padding-block:8px;font-size:0.75rem;color:var(--ink)}.space{background:#eeefe8}.section-heading{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:35px}.section-heading h2{margin:0}.section-heading>p{color:var(--muted);font-size:0.8125rem}.gallery{display:grid;grid-template-columns:1fr 1fr 1fr;gap:24px}.photo{border:0;padding:0;text-align:left;background:transparent;color:var(--ink);cursor:zoom-in;min-width:0}.photo-wide{grid-column:span 2}.photo-tall{grid-row:span 2;grid-column:3}.photo img{width:100%;height:235px;object-fit:cover;transition:filter .2s}.photo-wide img{height:330px}.photo-tall img{height:624px}.photo:hover img{filter:brightness(.93)}.photo>span{display:flex;justify-content:space-between;font-size:0.6875rem;padding-top:13px}.photo b{font-weight:400}.equipment{display:grid;grid-template-columns:1.1fr 1fr;align-items:center;gap:9%}.equipment-image img{width:100%;height:430px;object-fit:cover}.equipment p:not(.eyebrow){font-size:0.875rem;color:var(--muted)}.visit{background:var(--ink);color:var(--paper)}.visit h2 i{color:#b9c5ac}.visit .eyebrow{color:#c1cabd}.visit-items{display:grid;grid-template-columns:repeat(3,1fr);gap:50px;margin-top:55px}.visit-items>div{border-top:1px solid #6e7e72;padding-top:20px}.visit-items span{font-family:Georgia,serif;color:#bbbd9f;font-size:1.0rem}.visit-items h3{font-weight:400;font-size:1.25rem;margin:16px 0 12px}.visit-items p{font-size:0.8125rem;line-height:1.9;color:#c6cec4;max-width:280px}.contact{display:grid;grid-template-columns:1fr 1fr;gap:9%;align-items:center}.contact>div>p:not(.eyebrow){font-size:0.8125rem;color:var(--muted)}.big-phone{font-family:Georgia,serif;font-size:2.0rem;display:inline-block;border-bottom:1px solid var(--line);margin:7px 0 25px}.contact .address{margin-bottom:25px}.contact .contact-note{font-size:0.6875rem!important;margin-top:18px}.entrance{margin:0}.entrance img{width:100%;height:530px;object-fit:cover;object-position:center;border-radius:0 0 100px 0}.entrance figcaption{font-size:0.6875rem;color:var(--muted);padding-top:15px}.footer{border-top:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:25px;padding-block:30px}.footer .brand>span{font-size:1.1875rem}.footer p,.footer small{font-size:0.625rem;color:var(--muted);margin:0}.skip{position:fixed;top:-100px;left:15px;background:white;padding:12px;z-index:10}.skip:focus{top:10px}:focus-visible{outline:3px solid #bb7d4e;outline-offset:5px}dialog{border:0;background:var(--paper);padding:45px 20px 15px;max-width:92vw;max-height:94vh;color:var(--ink)}dialog::backdrop{background:#14251de8}dialog img{max-height:75vh;max-width:85vw;width:auto;height:auto;margin:auto}dialog p{font-size:0.75rem;margin:10px 0 0}.close{position:absolute;top:8px;right:15px;cursor:pointer;border:0;background:transparent;font-size:0.75rem;color:var(--ink);padding:5px}body.modal-open{overflow:hidden}@media(min-width:1500px){.hero{padding-block:95px}}@media(max-width:1000px){.header nav{gap:17px}.header-phone{display:none}.hero{gap:5%}.hero-image>img{height:520px}.strip-inner{font-size:0.625rem}.gallery{gap:16px}.photo-tall img{height:616px}.section{padding-block:75px}.equipment{gap:6%}.brand>span{font-size:1.375rem}}@media(max-width:650px){.header{width:88%;min-height:100px;flex-wrap:wrap;gap:8px;padding-block:17px}.brand img{width:39px;height:39px}.brand>span{font-size:1.375rem}.header nav{width:100%;justify-content:space-between;font-size:0.6875rem;padding-top:7px}.hero{grid-template-columns:1fr;padding-block:42px;gap:35px}h1{font-size:3.8125rem}.hero-copy .eyebrow{font-size:0.5625rem}.lead{max-width:100%}.doctor-line{margin-top:25px}.hero-image>img{height:370px;border-radius:70px 0 0 0}.hero-image:before{inset:15px -8px 45px 20px}.hero-image figcaption{font-size:0.5rem}.strip-inner{flex-direction:column;align-items:flex-start;gap:9px;padding-block:20px;font-size:0.6875rem}.section{padding-block:58px}.about,.equipment,.contact{grid-template-columns:1fr;gap:25px}.about h2{margin-bottom:0}.about-text{padding-top:0}.section-heading{display:block}.section-heading>p{margin-top:20px}.gallery{grid-template-columns:1fr 1fr;gap:24px 14px}.photo-wide{grid-column:span 2}.photo-tall{grid-column:2;grid-row:span 2}.photo img{height:180px}.photo-wide img{height:260px}.photo-tall img{height:410px}.photo>span{font-size:0.5625rem;line-height:1.6;gap:7px}.equipment-image img{height:280px}.equipment h2{font-size:2.5rem}.visit-items{grid-template-columns:1fr;gap:20px;margin-top:35px}.visit-items p{max-width:none}.visit-items h3{margin-top:5px}.entrance img{height:390px}.contact{gap:35px}.footer{flex-wrap:wrap;gap:15px}.footer p{width:100%;order:3}.footer small{font-size:0.5625rem}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}

.hours{margin-top:32px;border-top:1px solid var(--line);padding-top:20px}.hours h3{font-size:1.0rem;font-weight:400;margin:0 0 15px}.hours dl{margin:0}.hours dl>div{display:flex;justify-content:space-between;gap:20px;border-bottom:1px solid var(--line);padding:10px 0;font-size:0.6875rem}.hours dd{margin:0;white-space:nowrap}.hours>p{font-size:0.6875rem;color:var(--muted);margin-top:10px}@media(max-width:1000px){.hours dl>div{flex-direction:column;gap:2px}}

/* Readable default type and touch targets, including at narrow widths. */
.brand small{font-size:.75rem;letter-spacing:.08em}
.header nav{font-size:1rem;flex-wrap:wrap;gap:12px 24px}
.header nav a,.header-phone{display:inline-flex;align-items:center;min-height:44px}
.eyebrow,.hero-copy .eyebrow{font-size:.8125rem;letter-spacing:.1em}
.lead,.about-text,.equipment p:not(.eyebrow),.visit-items p,.contact>div>p:not(.eyebrow){font-size:1.0625rem}
.doctor-line{font-size:1.125rem}.doctor-line small{font-size:.9375rem}
.button,.text-link{font-size:1rem;min-height:48px}
.hero-image figcaption,.photo>span,.entrance figcaption{font-size:.875rem;letter-spacing:.02em;gap:12px;flex-wrap:wrap}
.strip-inner{font-size:.9375rem;flex-wrap:wrap;padding-block:16px}.strip-inner a{min-height:44px;display:inline-flex;align-items:center}
.section-heading>p{font-size:1rem}.visit-items h3{font-size:1.375rem}
.hours dl>div,.hours>p{font-size:.9375rem}.hours h3{font-size:1.125rem}
.footer p,.footer small{font-size:.875rem}.footer{padding-bottom:90px;flex-wrap:wrap}
.close{font-size:1rem;min-height:44px;min-width:44px}dialog{padding-top:60px}dialog p{font-size:1rem}
:focus-visible{outline:3px solid #89552e;outline-offset:4px;box-shadow:0 0 0 6px #fff}
.skip{z-index:1000002}.photo>span{min-height:44px}.hours dd{white-space:normal}.about-text,.equipment>div,.contact>div{min-width:0}
@media(max-width:1000px){.header{flex-wrap:wrap;padding-block:20px}.hero{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}}
@media(max-width:650px){.hero{grid-template-columns:minmax(0,1fr)}h1{font-size:clamp(2.6rem,13vw,3.8125rem)}.header nav{gap:8px 16px;justify-content:flex-start}.gallery{grid-template-columns:minmax(0,1fr)}.photo-wide,.photo-tall{grid-column:auto;grid-row:auto}.photo img,.photo-tall img{height:270px}.hero-image figcaption{display:flex;flex-direction:column}.brand{white-space:normal}.brand>span{font-size:1.375rem}.hours dl>div{flex-direction:column}.big-phone{font-size:1.75rem}}
