@import "https://fonts.googleapis.com/css2?family=Cormorant+Garamond:wght@400;600&family=Lora:wght@400;600&display=swap";
:root{--color-bg:#f3f2f2;--color-surface:#eae9e9;--color-text:#201f1d;--color-accent:#b68235;--color-accent-700:#7d5411;--color-divider:#201f1d29;--color-neutral-900:#2d2b2b;--font-heading:"Cormorant Garamond", Georgia, serif;--font-body:"Lora", Georgia, serif;--leading:30px;--nav-h:78px;--content-max:1200px;--gutter:clamp(24px, 5vw, 80px)}*,:before,:after{box-sizing:border-box}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}html{scroll-behavior:smooth}body{background:var(--color-bg);color:var(--color-text);font-family:var(--font-body);text-wrap:pretty;margin:0}h1,h2,h3{font-family:var(--font-heading);letter-spacing:-.008em;margin:0;font-weight:400}p{margin:0}a{color:inherit}.muted{color:color-mix(in srgb, var(--color-text) 78%, transparent)}.wrap{max-width:var(--content-max);padding:0 var(--gutter);margin:0 auto}.hr{background:var(--color-divider);border:0;height:1px;margin:0}.btn{font-family:var(--font-heading);cursor:pointer;border:1px solid #0000;border-radius:4px;justify-content:center;align-items:center;padding:14px 28px;font-size:17px;text-decoration:none;transition:background-color .15s,color .15s,border-color .15s;display:inline-flex}.btn-primary{background:var(--color-accent);color:var(--color-bg);border-color:var(--color-accent)}.btn-primary:hover{background:var(--color-accent-700);border-color:var(--color-accent-700)}.btn-ghost{color:var(--color-accent);border-color:color-mix(in srgb, var(--color-accent) 55%, transparent);background:0 0}.btn-ghost:hover{background:color-mix(in srgb, var(--color-accent) 10%, transparent)}.btn-block{width:100%}.site-nav{z-index:50;padding:0 var(--gutter);height:var(--nav-h);background:color-mix(in srgb, var(--color-bg) 85%, transparent);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border-bottom:1px solid var(--color-divider);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:24px;display:flex;position:fixed;top:0;left:0;right:0}.nav-brand{font-family:var(--font-heading);color:var(--color-text);white-space:nowrap;font-size:19px;text-decoration:none}.nav-links{flex-wrap:wrap;align-items:center;gap:30px;display:flex}.nav-links a:not(.btn){font-family:var(--font-heading);letter-spacing:.04em;text-transform:capitalize;color:var(--color-text);font-size:17px;text-decoration:none;transition:color .15s}.nav-links a:not(.btn):hover,.nav-links a:not(.btn).current{color:var(--color-accent-700)}.nav-toggle{cursor:pointer;background:0 0;border:0;flex-direction:column;flex-shrink:0;justify-content:center;align-items:center;gap:5px;width:44px;height:44px;padding:0;display:none}.nav-toggle span{background:var(--color-text);width:22px;height:1.5px;transition:transform .2s,opacity .2s;display:block}.nav-toggle[aria-expanded=true] span:first-child{transform:translateY(6.5px)rotate(45deg)}.nav-toggle[aria-expanded=true] span:nth-child(2){opacity:0}.nav-toggle[aria-expanded=true] span:nth-child(3){transform:translateY(-6.5px)rotate(-45deg)}.page-body{padding-top:var(--nav-h)}.photo{background:linear-gradient(160deg, var(--color-surface), var(--color-neutral-900) 220%);justify-content:flex-start;align-items:flex-end;display:flex;position:relative}.photo:after{content:attr(data-caption);letter-spacing:.04em;color:color-mix(in srgb, var(--color-bg) 70%, transparent);font-size:11px;font-family:var(--font-body);position:absolute;bottom:12px;left:16px}.photo.photo-portrait{background:0 0;border-radius:28px;overflow:hidden}.hero{width:100%;height:75vh;min-height:560px;position:relative;overflow:hidden}.hero.hero-short{height:56vh;min-height:400px}.hero .photo{position:absolute;inset:0}.hero-scrim{pointer-events:none;background:0 0;position:absolute;inset:0}.hero-content{text-align:center;padding:0 var(--gutter);color:#fdfcfa;flex-direction:column;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.hero-content h1{background:color-mix(in srgb, var(--color-neutral-900) 53%, transparent);border-radius:6px;max-width:16ch;padding:.15em .45em;font-size:clamp(46px,7vw,96px);line-height:1.04;display:inline-block}.hero.hero-short .hero-content h1{max-width:20ch;font-size:clamp(40px,6vw,72px);line-height:1.08}.hero-kicker{letter-spacing:.1em;text-transform:uppercase;color:#fdfcfad9;margin-bottom:14px;font-size:13px}.hero-actions{flex-wrap:wrap;justify-content:center;gap:16px;margin-top:36px;display:flex}section{padding:calc(3.2 * var(--leading)) 0 calc(2 * var(--leading))}.section-narrow{max-width:56ch}.section-tight{padding-top:calc(1 * var(--leading))}h2.section-title{margin-bottom:calc(var(--leading) - 1cap);font-size:clamp(28px,3.4vw,40px);line-height:1.25}.body-copy{font-size:16px;line-height:var(--leading)}.split{grid-template-columns:minmax(0,1fr) minmax(0,1fr);min-height:auto;display:grid}.split>.photo,.split>.map-embed{min-height:380px}.map-embed iframe{border:0;width:100%;height:100%;min-height:380px;display:block}.split-copy{justify-content:flex-start;gap:calc(1.1 * var(--leading));padding:calc(2 * var(--leading)) var(--gutter);flex-direction:column;max-width:640px;display:flex}.split-copy.align-end{margin-left:auto}.split-copy .body-copy{color:color-mix(in srgb, var(--color-text) 78%, transparent)}.service-list{gap:calc(1.1 * var(--leading));flex-direction:column;display:flex}.service-item{border-top:1px solid var(--color-divider);padding-top:16px}.service-item h3{margin-bottom:8px;font-size:21px}.service-item p{color:color-mix(in srgb, var(--color-text) 78%, transparent);font-size:15px;line-height:1.6}.service-category{border-top:1px solid var(--color-divider);padding-top:calc(1.4 * var(--leading));margin-top:calc(1.4 * var(--leading))}.service-category:first-child{border-top:0;margin-top:0;padding-top:0}.service-category h2{margin-bottom:8px;font-size:clamp(26px,3vw,32px)}.service-category .body-copy{max-width:60ch;margin-bottom:calc(1.2 * var(--leading))}.service-subgrid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px;display:grid}.service-subitem{border:1px solid var(--color-divider);color:var(--color-text);border-radius:4px;padding:16px 18px;font-size:15px;text-decoration:none;transition:border-color .15s,background-color .15s;display:block}.service-subitem:hover{border-color:var(--color-text);background-color:color-mix(in srgb, var(--color-text) 4%, transparent)}@media (max-width:800px){.split,.split.mirror{grid-template-columns:1fr}.split>.photo{order:-1;min-height:320px}.split-copy,.split-copy.align-end{max-width:none;margin-left:0}}.services-grid{grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.services-grid-card+.services-grid-card{border-left:1px solid #fdfcfa}.services-grid-card{align-items:flex-end;min-height:400px;display:flex;position:relative;overflow:hidden}.services-grid-card .photo{position:absolute;inset:0}.services-grid-scrim{background:#2d2b2b94;position:absolute;inset:0}.services-grid-content{padding:calc(1.2 * var(--leading)) calc(var(--gutter) * .6);color:#fdfcfa;position:relative}.services-grid-content h3{margin-bottom:10px;font-size:23px}.services-grid-content p{color:#fdfcfad9;max-width:32ch;font-size:14.5px;line-height:1.65}@media (max-width:800px){.services-grid{grid-template-columns:1fr}.services-grid-card{min-height:320px}.services-grid-card+.services-grid-card{border-top:1px solid #fdfcfa;border-left:none}}.physician-grid{gap:calc(2.2 * var(--leading));grid-template-columns:repeat(auto-fit,minmax(340px,1fr));display:grid}.physician-card{flex-direction:column;gap:18px;display:flex}.physician-card .photo{aspect-ratio:4/5;width:100%;max-width:280px}.physician-card h3{font-size:22px}.physician-credential{letter-spacing:.06em;text-transform:uppercase;color:var(--color-accent-700);margin-top:6px;font-size:12.5px}.physician-card p.bio{color:color-mix(in srgb, var(--color-text) 78%, transparent);max-width:44ch;font-size:15px;line-height:1.7}.profile-copy{justify-content:center}.profile-copy p+p{margin-top:16px}.profile-copy h2{font-size:clamp(28px,3.4vw,38px);line-height:1.2}.testimonial{align-items:center;min-height:60vh;display:flex;position:relative;overflow:hidden}.testimonial figure{padding:calc(2.5 * var(--leading)) var(--gutter);text-align:center;color:#fdfcfa;max-width:760px;margin:0 auto;position:relative}.testimonial blockquote{font-family:var(--font-heading);letter-spacing:-.005em;margin:0;font-size:clamp(26px,3vw,36px);line-height:1.4}.testimonial figcaption{letter-spacing:.02em;color:#fdfcfae6;margin-top:calc(1.2 * var(--leading));font-size:15px}.testimonial-slide{opacity:0;visibility:hidden;pointer-events:none;background:#6d6a67;justify-content:center;align-items:center;transition:opacity .5s;display:flex;position:absolute;inset:0}.testimonial-slide[data-active=true]{opacity:1;visibility:visible;pointer-events:auto;align-self:stretch;width:100%;position:relative}.testimonial-arrow{z-index:2;color:#fdfcfa;cursor:pointer;background:#2d2b2b40;border:1px solid #fdfcfa73;border-radius:50%;justify-content:center;align-items:center;width:44px;height:44px;font-size:18px;transition:background-color .15s,border-color .15s;display:flex;position:absolute;top:50%;transform:translateY(-50%)}.testimonial-arrow:hover{background:#2d2b2b80;border-color:#fdfcfacc}.testimonial-arrow-left{left:var(--gutter)}.testimonial-arrow-right{right:var(--gutter)}.testimonial-dots{z-index:2;justify-content:center;align-items:center;display:flex;position:absolute;bottom:2px;left:0;right:0}.testimonial-dot{cursor:pointer;background:0 0;border:0;width:44px;height:44px;padding:0;position:relative}.testimonial-dot:after{content:"";background:0 0;border:1px solid #fdfcfa99;border-radius:50%;width:8px;height:8px;transition:background-color .15s;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.testimonial-dot[data-active=true]:after{background:#fdfcfa}@media (max-width:680px){.testimonial-arrow{width:36px;height:36px;font-size:15px}.testimonial-arrow-left{left:12px}.testimonial-arrow-right{right:12px}}.photo-duo{gap:14px;display:flex}.photo-duo .photo{aspect-ratio:4/3;flex:1}.location-copy p{font-size:16px;line-height:var(--leading);color:color-mix(in srgb, var(--color-text) 78%, transparent)}.location-lines{font-size:15px;line-height:var(--leading);flex-direction:column;gap:6px;margin-top:6px;display:flex}.location-lines a{color:var(--color-text);border-bottom:1px solid var(--color-divider);text-decoration:none}.location-lines a:hover{color:var(--color-accent-700)}.location-note{color:color-mix(in srgb, var(--color-text) 65%, transparent);max-width:44ch;margin-top:10px;font-size:13.5px;line-height:1.6}#contact{padding:calc(2.5 * var(--leading)) 0 calc(2 * var(--leading))}#contact p.intro{margin-top:calc(var(--leading) - 1cap);max-width:60ch;font-size:15.5px;line-height:var(--leading);color:color-mix(in srgb, var(--color-text) 78%, transparent)}.contact-form{max-width:720px;margin-top:var(--leading);grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:20px;display:grid}.field{flex-direction:column;display:flex}.field.full{grid-column:1/-1}.field label{color:color-mix(in srgb, var(--color-text) 70%, transparent);margin-bottom:5px;font-size:12px}.field .input{width:100%;min-height:44px;font:inherit;color:var(--color-text);caret-color:var(--color-accent);border:1px solid var(--color-divider);background:0 0;border-radius:4px;padding:8px 10px;font-size:16px}.field .input:hover{border-color:color-mix(in srgb, var(--color-text) 45%, transparent)}.field .input:focus-visible{border-color:var(--color-accent);outline:none}.field-note{color:color-mix(in srgb, var(--color-text) 55%, transparent);margin-top:6px;font-size:12px}.form-status{grid-column:1/-1;margin-top:-4px;font-size:14px}.form-status[data-state=success]{color:var(--color-accent-700)}.form-status[data-state=error]{color:#a03a2c}.link-arrow{letter-spacing:.02em;color:var(--color-accent-700);border-bottom:1px solid color-mix(in srgb, var(--color-accent-700) 40%, transparent);align-items:center;gap:6px;font-size:14px;text-decoration:none;transition:border-color .15s;display:inline-flex}.link-arrow:hover{border-color:var(--color-accent-700)}.faq-list{flex-direction:column;display:flex}.faq-item{border-top:1px solid var(--color-divider);padding:calc(1.1 * var(--leading)) 0}.faq-item:last-child{border-bottom:1px solid var(--color-divider)}.faq-item h3{margin-bottom:10px;font-size:20px}.faq-item p{color:color-mix(in srgb, var(--color-text) 78%, transparent);max-width:65ch;font-size:15.5px;line-height:1.7}.faq-item p.placeholder-note{color:color-mix(in srgb, var(--color-text) 55%, transparent);margin-top:8px;font-size:13px;font-style:italic}.site-footer{padding:calc(2 * var(--leading)) 0;border-top:1px solid var(--color-divider);font-size:13px;line-height:var(--leading);color:color-mix(in srgb, var(--color-text) 70%, transparent);flex-wrap:wrap;justify-content:space-between;gap:8px;display:flex}@media (max-width:680px){:root{--nav-h:64px}.site-nav{flex-wrap:nowrap}.nav-brand{white-space:normal;max-width:62vw;font-size:16px;line-height:1.15}.nav-toggle{display:flex}.nav-backdrop{top:var(--nav-h);z-index:48;visibility:hidden;opacity:0;background:#201f1d66;transition:opacity .15s;position:fixed;bottom:0;left:0;right:0}.nav-backdrop.open{visibility:visible;opacity:1}.nav-links{top:var(--nav-h);z-index:49;background:var(--color-bg);border-bottom:1px solid var(--color-divider);visibility:hidden;opacity:0;flex-direction:column;align-items:stretch;gap:0;max-height:0;transition:opacity .15s;position:fixed;left:0;right:0;overflow:hidden;box-shadow:0 12px 24px #201f1d14}.nav-links.open{max-height:calc(100vh - var(--nav-h));visibility:visible;opacity:1;overflow-y:auto}.nav-links a:not(.btn){padding:16px var(--gutter);border-top:1px solid var(--color-divider);width:100%}.nav-links a.btn{margin:16px var(--gutter)}.hero{height:78vh;min-height:460px}.hero.hero-short{height:46vh;min-height:340px}.hero-content h1{max-width:18ch;color:var(--color-text);background:#fffc;font-size:clamp(34px,9vw,46px)}.hero.hero-short .hero-content h1{font-size:clamp(30px,8vw,40px)}.hero-actions{flex-direction:column;align-items:stretch;width:100%}.hero-actions .btn{width:100%}section{padding:calc(2.2 * var(--leading)) 0 calc(1.4 * var(--leading))}.split-copy,.split-copy.align-end{padding:calc(2 * var(--leading)) var(--gutter)}.physician-grid{gap:calc(1.6 * var(--leading));grid-template-columns:1fr}.physician-card .photo{max-width:100%}.testimonial blockquote{font-size:clamp(22px,5.5vw,28px)}.testimonial figure{padding:calc(1.6 * var(--leading)) var(--gutter)}.contact-form{grid-template-columns:1fr}.site-footer{text-align:left;flex-direction:column;align-items:flex-start}}
