:root{--ink:#30251f;--muted:#75675d;--cream:#f6ede5;--paper:#fffaf5;--blush:#ead5c5;--red:#9e2f32;--red-dark:#7d2026;--line:rgba(48,37,31,.14);--serif:'Cormorant Garamond',Georgia,serif;--sans:'DM Sans',Arial,sans-serif;--pad:clamp(1.25rem,5vw,5.75rem);--max:1240px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--cream);color:var(--ink);font:400 16px/1.65 var(--sans)}a{color:inherit;text-decoration:none}img{max-width:100%;display:block}button{font:inherit}.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:1rem;top:-4rem;z-index:20;background:var(--ink);color:#fff;padding:.7rem 1rem}.skip-link:focus{top:1rem}.site-header{height:82px;display:flex;justify-content:space-between;align-items:center;padding:0 var(--pad);position:sticky;top:0;z-index:10;background:rgba(246,237,229,.9);backdrop-filter:blur(14px);border-bottom:1px solid transparent;transition:.25s ease}.site-header.scrolled{border-color:var(--line);height:72px}.site-header.is-static{position:relative;border-color:var(--line)}.brand{display:flex;align-items:center;gap:.7rem;font:500 1.32rem/1 var(--serif);letter-spacing:-.03em}.brand small{display:block;font:500 .55rem/1.2 var(--sans);letter-spacing:.09em;text-transform:uppercase;margin-top:.25rem}.brand-mark{height:34px;width:27px;display:grid;place-items:center;color:var(--red);font:600 2rem/1 var(--serif);border-left:2px solid var(--red)}.main-nav{display:flex;align-items:center;gap:1.5rem;font-size:.73rem}.main-nav>a:not(.nav-cta){transition:color .2s}.main-nav>a:not(.nav-cta):hover{color:var(--red)}.nav-cta,.button{background:var(--red);color:#fff!important;padding:.7rem 1.15rem;border-radius:2px;display:inline-flex;gap:.9rem;align-items:center;font-size:.76rem;font-weight:600;transition:transform .2s,background .2s}.nav-cta:hover,.button:hover{background:var(--red-dark);transform:translateY(-2px)}.menu-toggle{display:none;background:none;border:0;padding:.4rem}.menu-toggle span:not(.sr-only){display:block;width:25px;height:1px;background:var(--ink);margin:5px}.hero{min-height:calc(100vh - 82px);display:grid;grid-template-columns:minmax(0,.94fr) minmax(420px,1.06fr);background:var(--paper)}.hero-copy{display:flex;flex-direction:column;justify-content:center;padding:clamp(4rem,10vw,10rem) var(--pad);position:relative}.eyebrow,.card-label{font-size:.65rem;letter-spacing:.16em;text-transform:uppercase;color:var(--red);font-weight:600;margin:0 0:1rem}.hero h1,h2,h1{font:500 clamp(3.4rem,5.8vw,6.3rem)/.85 var(--serif);letter-spacing:-.065em;margin:.55rem 0 1.7rem;max-width:630px}.hero h1 em,h2 em,h1 em{color:var(--red);font-weight:500}.intro{font-size:1.02rem;max-width:470px;margin:0;color:var(--muted)}.hero-actions{display:flex;align-items:center;gap:1.5rem;margin:2rem 0}.text-link,.card-link{font-size:.75rem;font-weight:600;border-bottom:1px solid currentColor;padding-bottom:.23rem;transition:color .2s}.text-link:hover,.card-link:hover{color:var(--red)}.service-notes{display:flex;gap:1.1rem;flex-wrap:wrap;font-size:.67rem;color:var(--muted);margin-top:1.1rem}.service-notes span+span{border-left:1px solid var(--line);padding-left:1.1rem}.hero-image{position:relative;min-height:570px;overflow:hidden}.hero-image img{width:100%;height:100%;object-fit:cover;object-position:center}.hero-image:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,rgba(48,37,31,.2),transparent 42%)}.hero-image p{position:absolute;z-index:1;right:8%;bottom:7%;color:#fff;font:italic 2.2rem/1 var(--serif);max-width:250px;text-align:right}.section-shell{padding:clamp(5rem,11vw,10rem) var(--pad);max-width:calc(var(--max) + 2 * var(--pad));margin:auto}.about{display:grid;grid-template-columns:minmax(250px,.68fr) 1fr;gap:clamp(3rem,9vw,10rem);align-items:center}.portrait-wrap{position:relative;max-width:400px}.portrait-wrap img{aspect-ratio:3/4;object-fit:cover}.portrait-wrap:after{content:'';position:absolute;inset:20px -20px -20px 20px;border:1px solid var(--red);z-index:-1}.about-copy h2,.clinic h2,.faq h2,.contact h2,.section-heading h2{font-size:clamp(3rem,4.4vw,4.8rem);max-width:560px}.about-copy>p:not(.eyebrow):not(.signature),.clinic-copy>p:not(.eyebrow),.faq-intro>p:not(.eyebrow),.contact-copy>p:not(.eyebrow){max-width:520px;color:var(--muted)}.signature{font:italic 1.8rem var(--serif);color:var(--red)}.clinic{display:grid;grid-template-columns:1fr 1.15fr;gap:clamp(3rem,7vw,8rem);align-items:center;padding:clamp(5rem,10vw,9rem) var(--pad);background:#ead8ca}.clinic-copy{max-width:530px}.clinic-gallery{height:530px;position:relative}.clinic-gallery .large{height:100%;width:82%;object-fit:cover}.clinic-gallery .small{position:absolute;width:44%;height:43%;object-fit:cover;right:0;bottom:-7%;border:10px solid #ead8ca}.articles{background:var(--paper)}.section-heading{display:flex;justify-content:space-between;gap:2rem;align-items:end;margin-bottom:3rem}.section-heading h2{margin-bottom:0}.article-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.4rem}.article-card{background:var(--cream);border:1px solid rgba(48,37,31,.07)}.article-card>a:first-child{display:block;overflow:hidden}.article-card img{height:205px;width:100%;object-fit:cover;transition:transform .5s}.article-card:hover img{transform:scale(1.04)}.article-card>div{padding:1.25rem 1.25rem 1.4rem}.card-label{margin-bottom:.4rem}.article-card h3{font:500 1.7rem/1.03 var(--serif);letter-spacing:-.03em;margin:.4rem 0 .75rem}.article-card p:not(.card-label){color:var(--muted);font-size:.82rem;line-height:1.5;margin-bottom:1rem}.faq{display:grid;grid-template-columns:.8fr 1.2fr;gap:clamp(3rem,10vw,11rem);background:var(--cream)}.faq-intro h2{margin-top:.4rem}.faq-list details{border-top:1px solid var(--line);padding:1.1rem 0}.faq-list details:last-child{border-bottom:1px solid var(--line)}.faq-list summary{cursor:pointer;font:500 1.3rem/1.2 var(--serif);list-style:none;display:flex;justify-content:space-between;gap:1rem}.faq-list summary:after{content:'+';font:400 1.4rem var(--sans);color:var(--red)}.faq-list details[open] summary:after{content:'−'}.faq-list p{color:var(--muted);max-width:550px;font-size:.88rem;margin:.85rem 2rem .1rem 0}.contact{display:grid;grid-template-columns:.9fr 1.1fr;min-height:650px;background:var(--ink);color:#fdf7f0}.contact-copy{padding:clamp(5rem,10vw,9rem) var(--pad)}.contact .eyebrow{color:#e9b5a4}.contact h2{max-width:460px}.contact h2 em{color:#e9b5a4}.contact-copy>p{color:#d4c4b9!important}.contact dl{margin:2rem 0}.contact dl div{margin:1rem 0}.contact dt{font-size:.62rem;letter-spacing:.13em;text-transform:uppercase;color:#e9b5a4}.contact dd{margin:.15rem 0;font-size:.86rem}.contact dd a{text-decoration:underline;text-underline-offset:3px}.map-wrap{position:relative;min-height:100%}.map-wrap iframe{height:100%;min-height:470px;width:100%;border:0;filter:grayscale(1) sepia(.15) contrast(.9)}.map-wrap>a{position:absolute;bottom:1.4rem;left:1.4rem;background:var(--paper);color:var(--ink);padding:.65rem .85rem;font-size:.7rem;font-weight:600}.site-footer{padding:2.2rem var(--pad);background:var(--paper);display:flex;align-items:center;justify-content:space-between;gap:1rem;font-size:.7rem}.site-footer p{margin:0;color:var(--muted)}.site-footer>a:last-child{text-decoration:underline;text-underline-offset:3px}.blog-page{max-width:var(--max);margin:auto;padding:clamp(5rem,10vw,9rem) var(--pad)}.blog-hero{max-width:700px;margin-bottom:4rem}.blog-hero h1{font-size:clamp(4rem,7vw,6.8rem)}.blog-hero>p:last-child{color:var(--muted);max-width:450px}.blog-grid{grid-template-columns:repeat(3,1fr)}.article-page{max-width:850px;margin:0 auto;padding:clamp(4rem,9vw,8rem) var(--pad)}.article-page>h1{font-size:clamp(4rem,7vw,6.5rem);max-width:760px}.article-lead{font:500 1.35rem/1.35 var(--serif);color:var(--muted);max-width:590px;margin:0 0 2.5rem}.article-hero{width:100%;max-height:520px;object-fit:cover;margin-bottom:3rem}.article-page article{max-width:650px;font-size:1.03rem}.article-page article p{margin:1.3rem 0}.article-page blockquote{margin:2.5rem 0;padding:1.2rem 0 1.2rem 1.7rem;border-left:2px solid var(--red);font:italic 2.1rem/1.08 var(--serif);color:var(--red)}.article-page>.button{margin-top:1.5rem}.reveal{opacity:0;transform:translateY(22px);transition:opacity .8s ease,transform .8s ease}.reveal.visible{opacity:1;transform:none}@media(max-width:850px){.main-nav{gap:.8rem}.main-nav>a:not(.nav-cta){display:none}.hero{grid-template-columns:1fr}.hero-copy{min-height:560px}.hero-image{min-height:480px}.about,.clinic,.faq,.contact{grid-template-columns:1fr}.clinic-gallery{height:430px}.faq{gap:1rem}.contact-copy{padding-bottom:4rem}.map-wrap{min-height:450px}.article-grid,.blog-grid{grid-template-columns:1fr 1fr}.article-card:last-child{grid-column:1/-1;max-width:calc(50% - .7rem)}.site-footer{flex-wrap:wrap}}@media(max-width:600px){.site-header{height:70px}.brand{font-size:1.12rem}.brand small{font-size:.45rem}.menu-toggle{display:block}.main-nav{display:none;position:absolute;top:100%;left:0;right:0;background:var(--paper);padding:1.3rem var(--pad) 1.7rem;border-bottom:1px solid var(--line);flex-direction:column;align-items:flex-start;gap:1.2rem}.main-nav.open{display:flex}.main-nav>a:not(.nav-cta){display:block}.hero-copy{padding-top:4rem}.hero h1{font-size:3.65rem}.hero-image{min-height:350px}.hero-image p{font-size:1.65rem}.service-notes{display:block}.service-notes span{display:block;margin:.5rem 0}.service-notes span+span{padding-left:0;border:0}.about,.section-shell,.clinic{padding-top:4.5rem;padding-bottom:4.5rem}.portrait-wrap{margin-left:12px}.clinic-gallery{height:330px}.clinic-gallery .large{width:90%}.section-heading{align-items:start;flex-direction:column}.article-grid,.blog-grid{grid-template-columns:1fr}.article-card:last-child{grid-column:auto;max-width:none}.faq-list summary{font-size:1.2rem}.contact-copy{padding-top:4.5rem}.site-footer{display:block}.site-footer p,.site-footer>a:last-child{display:block;margin-top:1rem}.article-page>h1,.blog-hero h1{font-size:3.7rem}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important;scroll-behavior:auto!important}.reveal{opacity:1;transform:none}}
