:root{--navy:#153757;--gold:#c4b67c;--ink:#25372f;--muted:#526057;--ivory:#faf9f4;--sage:#e7ece2;--line:#d5dccf;--white:#fff;--radius:14px;--shadow:0 20px 55px #23372c12;--space:clamp(64px,7vw,104px)}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:24px}body{margin:0;background:var(--ivory);color:var(--ink);font:16px/1.65 Arial,Helvetica,sans-serif}img{display:block;max-width:100%;height:auto}a{color:inherit;text-underline-offset:5px}button{font:inherit}a,button,summary{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid #9a671a;outline-offset:5px}h1,h2,h3,p,figure{margin:0}h1,h2,.doctor-name,.large-copy{font-family:Georgia,'Times New Roman',serif;font-weight:400}h1{font-size:clamp(2.7rem,4.5vw,4.25rem);line-height:1.09;letter-spacing:-.045em}h1 em{color:#526b51;font-weight:400}h2{font-size:clamp(2rem,3vw,2.85rem);line-height:1.17;letter-spacing:-.03em}h3{font-size:1.15rem;line-height:1.35}p+p{margin-top:17px}.wrap{width:min(1184px,calc(100% - 80px));margin-inline:auto}.section{padding-block:var(--space)}.eyebrow{font-size:.75rem;font-weight:700;letter-spacing:.15em;line-height:1.7;margin-bottom:20px;color:var(--muted)}.utility{background:var(--navy);color:#fff;font-size:.8rem}.utility .wrap{display:flex;align-items:center;justify-content:space-between;min-height:39px}.utility a{min-height:39px;display:flex;align-items:center;text-decoration:none;font-weight:700}.site-header{background:var(--ivory);border-bottom:1px solid #e7e8df}.header-inner{display:flex;justify-content:space-between;align-items:center;gap:30px;min-height:126px}.brand{display:block;flex:none}.brand img{width:104px;height:auto;border-radius:2px}nav{display:flex;align-items:center;gap:27px}nav>a{font-size:.875rem;font-weight:600;min-height:44px;display:flex;align-items:center;text-decoration:none}nav>a:hover,.text-link:hover{color:#667a52}.button{display:inline-flex;align-items:center;justify-content:center;min-height:52px;padding:13px 24px;border-radius:7px;text-decoration:none;font-size:.875rem;font-weight:700;line-height:1.4;text-align:center;transition:background .15s}.button.navy{color:#fff;background:var(--navy)}.button.navy:hover{background:#284e6d}.button.small{min-height:46px;padding-inline:20px}.button.ivory{background:var(--ivory);color:var(--ink)}.text-link{display:inline-flex;align-items:center;min-height:44px;font-size:.875rem;font-weight:700}.hero{overflow:hidden;background:linear-gradient(110deg,var(--ivory) 58%,#edf0e6 58%)}.hero-grid{display:grid;grid-template-columns:1.2fr 1fr;gap:80px;align-items:center;padding-top:54px;padding-bottom:64px}.hero-copy{padding-block:20px}.hero-copy .intro{color:var(--muted);font-size:1.0625rem;max-width:490px;margin-top:26px}.actions{display:flex;align-items:center;gap:24px;margin-top:30px;flex-wrap:wrap}.welcome-note{font-size:.8125rem;margin-top:24px;color:var(--muted)}.welcome-note span{margin-right:8px;color:#526b51}.hero-portrait{position:relative;max-width:390px;width:100%;justify-self:center;padding-bottom:22px}.portrait-frame{border-radius:180px 180px 12px 12px;overflow:hidden;box-shadow:var(--shadow)}.portrait-frame img{width:100%}.hero-portrait figcaption{position:absolute;bottom:0;left:-35px;width:calc(100% + 25px);padding:18px 25px;background:var(--white);border:1px solid #e6e7dc;border-radius:10px;box-shadow:var(--shadow)}.caption-label{display:block;font-size:.65rem;letter-spacing:.12em;color:var(--muted);font-weight:700}.doctor-name{display:block;font-size:1.5rem;margin-block:3px}.hero-portrait figcaption a{font-size:.8125rem;display:inline-flex;min-height:30px;align-items:center}.quick-strip{background:var(--sage);border-block:1px solid var(--line)}.quick-strip ul{list-style:none;padding-block:22px;padding-left:0;display:flex;justify-content:space-between;gap:20px;font-size:.8125rem;font-weight:600}.mini-mark{margin-right:7px;color:#587050}.welcome-grid{display:grid;grid-template-columns:1fr 1fr;gap:100px}.welcome-grid p:not(.eyebrow){color:var(--muted)}.welcome-grid .text-link{margin-top:14px}.services{background:#f0f2eb}.section-heading{display:flex;justify-content:space-between;align-items:end;gap:30px;margin-bottom:40px}.section-heading p:not(.eyebrow){color:var(--muted);font-size:.9375rem}.section-heading .eyebrow{margin-bottom:12px}.service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.service-card{padding:28px 29px 22px;background:var(--ivory);border:1px solid #dce2d5;border-radius:var(--radius);display:flex;flex-direction:column;align-items:start}.service-number{font:italic 1.5rem Georgia,serif;color:#687c5a;border-bottom:1px solid var(--line);padding-bottom:14px;width:100%;margin-bottom:22px}.service-card p{color:var(--muted);font-size:.9375rem;margin-block:12px 20px;flex:1}.service-card a{font-size:.8125rem;font-weight:600;min-height:44px;display:inline-flex;align-items:center}.doctor-grid{display:grid;grid-template-columns:.8fr 1fr;gap:110px;align-items:center}.doctor-photo{max-width:335px;justify-self:center;background:var(--sage);border-radius:var(--radius);overflow:hidden}.doctor-photo img{width:100%}.doctor-photo span{display:block;text-align:center;padding:17px 12px;font-size:.7rem;letter-spacing:.12em;font-weight:700}.doctor-copy .large-copy{font-size:1.5rem;line-height:1.35;margin-block:24px;color:#526b51}.doctor-copy>p:not(.eyebrow):not(.large-copy){color:var(--muted)}details{margin-top:22px}summary{cursor:pointer;font-size:.875rem;font-weight:700;min-height:44px;padding-block:10px;text-decoration:underline;text-underline-offset:5px}details p{padding-bottom:12px;color:var(--muted)}.new-patients{background:var(--navy);color:#fff}.new-grid{display:grid;grid-template-columns:1fr 1fr;gap:100px;align-items:center}.new-grid .eyebrow{color:#d5dcbf}.new-grid p:not(.eyebrow){color:#e0e7e7;margin-block:24px 30px;max-width:470px}.visit-panel{padding:30px;border:1px solid #5a7183;border-radius:var(--radius);background:#ffffff06}.visit-panel h3{font-family:Georgia,serif;font-weight:400;font-size:1.5rem}.visit-panel ol{padding:0;margin:20px 0 0;list-style:none}.visit-panel li{display:flex;align-items:center;gap:19px;border-top:1px solid #536b80;padding:17px 0;font-size:.9375rem}.visit-panel li:last-child{padding-bottom:0}.visit-panel li span{color:var(--gold);font:italic 1.2rem Georgia,serif}.contact-grid{display:grid;grid-template-columns:1.1fr 1fr 1fr;gap:38px}.contact-grid h3{margin-bottom:20px}address{font-style:normal;font-size:.9375rem;color:var(--muted)}address strong{font-weight:400}.contact-link{display:flex;align-items:center;min-height:44px;font-size:.875rem}.contact-link:first-of-type{margin-top:13px}.email{overflow-wrap:anywhere}.hours{font-size:.875rem;margin:0}.hours>div{display:flex;justify-content:space-between;gap:12px;padding:9px 0;border-bottom:1px solid var(--line)}dd{margin:0;white-space:nowrap}.map-placeholder{min-height:240px;border:1px dashed #98a48e;border-radius:var(--radius);background:var(--sage);display:flex;align-items:center;justify-content:center;flex-direction:column;text-align:center;gap:6px;font-size:.8125rem;color:var(--muted)}.map-cross{font:2.5rem Georgia,serif;color:#647659}.map-placeholder strong{font-size:.9375rem}footer{background:#e8ebe2;font-size:.8125rem}.footer-main{display:grid;grid-template-columns:1fr .85fr 1.1fr;gap:40px;padding-block:42px}.footer-name{font-family:Georgia,serif;font-size:1.5rem;line-height:1.2;color:var(--navy)}.footer-name span{font:700 .7rem Arial,sans-serif;letter-spacing:.16em;text-transform:uppercase}.footer-main a{display:flex;align-items:center;min-height:44px}.footer-bottom{border-top:1px solid #c9d1c2;display:flex;justify-content:space-between;align-items:center;gap:20px;padding-block:18px;color:var(--muted)}.footer-bottom>div{display:flex;gap:24px}.footer-bottom a{display:flex;align-items:center;min-height:44px}.policy-notes{padding-bottom:22px}.policy-notes details{margin:0}.policy-notes summary{font-size:.75rem;font-weight:400;min-height:36px}.menu-toggle{min-height:44px;padding:8px 13px;color:var(--navy);border:1px solid #aeb9a3;border-radius:6px;background:transparent}.skip-link{position:fixed;top:8px;left:8px;transform:translateY(-160%);z-index:10;background:#fff;padding:12px}.skip-link:focus{transform:none}.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}
@media(min-width:851px){.menu-toggle{display:none}}
@media(max-width:1100px){nav{gap:17px}.hero-grid{gap:45px}.hero-portrait{max-width:330px}.welcome-grid,.doctor-grid,.new-grid{gap:55px}.contact-grid{grid-template-columns:1fr 1fr}.map-placeholder{grid-column:1/-1;min-height:190px}.quick-strip ul{flex-wrap:wrap}.quick-strip li{flex-basis:44%}}
@media(max-width:850px){.wrap{width:calc(100% - 48px)}.header-inner{min-height:108px;flex-wrap:wrap;gap:0;padding-block:12px}.brand img{width:82px}nav{width:100%;flex-wrap:wrap;gap:4px 20px;padding-block:16px}.js nav{display:none}.js nav.open{display:flex}.js .menu-toggle{display:block}.hero-grid{gap:35px;grid-template-columns:1.05fr 1fr;padding-block:45px}.hero h1{font-size:2.9rem}.hero-copy .eyebrow{font-size:.65rem}.hero-copy .intro{font-size:1rem}.actions{gap:10px;margin-top:22px}.hero-portrait figcaption{left:-15px;width:calc(100% + 15px);padding:15px}.caption-label{font-size:.6rem}.doctor-name{font-size:1.2rem}.service-grid{grid-template-columns:repeat(2,1fr)}.welcome-grid{gap:35px}.doctor-grid{gap:40px}.new-grid{gap:35px}.visit-panel{padding:24px}.footer-main{grid-template-columns:1fr 1fr}.footer-main>div:last-child{grid-column:1/-1}.footer-bottom{flex-wrap:wrap}}
@media(max-width:600px){.wrap{width:calc(100% - 40px)}.utility{font-size:.69rem}.utility .wrap{gap:12px}.utility a{white-space:nowrap}.hero{background:var(--ivory)}.hero-grid{grid-template-columns:1fr;gap:34px;padding-top:24px;padding-bottom:40px}.hero-copy{padding:10px 0 0}.hero h1{font-size:clamp(2.65rem,10.7vw,3.6rem);max-width:450px}.hero-copy .eyebrow{font-size:.64rem;letter-spacing:.11em;margin-bottom:16px}.hero-copy .intro{margin-top:22px}.actions{align-items:stretch;gap:10px 19px}.actions .button{flex:1}.actions .text-link{justify-content:center;flex:1;min-width:150px;text-align:center}.welcome-note{margin-top:18px}.hero-portrait{max-width:300px;margin-top:8px}.hero-portrait figcaption{left:-10px;width:calc(100% + 20px)}.quick-strip ul{gap:14px;padding-block:22px;font-size:.73rem}.quick-strip li{flex-basis:calc(50% - 10px)}.mini-mark{display:none}.welcome-grid,.doctor-grid,.new-grid{grid-template-columns:1fr;gap:28px}.welcome-grid h2 br{display:none}.section-heading{align-items:start;flex-direction:column;gap:20px;margin-bottom:28px}.section-heading p br{display:none}.service-grid{grid-template-columns:1fr;gap:12px}.service-card{padding:22px 24px}.service-number{font-size:1.1rem;margin-bottom:16px;padding-bottom:8px}.service-card p{margin-bottom:6px}.doctor-photo{max-width:280px}.doctor-copy{margin-top:10px}.contact-grid{grid-template-columns:1fr;gap:32px}.map-placeholder{grid-column:auto}.new-grid .button{width:100%}.visit-panel{margin-top:10px}.footer-main{grid-template-columns:1fr;gap:25px;padding-block:34px}.footer-main>div:last-child{grid-column:auto}.footer-bottom{align-items:start;gap:6px;flex-direction:column}.footer-bottom>div{gap:28px}nav.open{display:grid;grid-template-columns:1fr 1fr}nav a{padding:8px}nav .button{grid-column:1/-1;margin-top:8px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}

/* Contact concept: office information and a local-only demonstration form. */
.contact-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:64px;align-items:start}
.contact-intro{color:var(--muted);margin-bottom:28px}
.office-information{display:grid;gap:28px}.office-information h3{margin-bottom:14px}
.office-photo-placeholder{aspect-ratio:16/10;min-height:210px;margin-top:32px;padding:28px 22px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:14px;background:var(--sage);border:1px solid #b6c3ac;border-radius:var(--radius);box-shadow:inset 0 0 0 9px var(--ivory),inset 0 0 0 10px #cbd5c3}
.photo-placeholder-label{font-size:.75rem;font-weight:700;letter-spacing:.13em;color:var(--muted)}
.office-photo-placeholder p{font:1.35rem/1.4 Georgia,serif;max-width:340px}
.photo-placeholder-note{font-size:.8125rem;color:var(--muted)}
/* Future image default preserves the whole building; tune only after seeing the asset. */
.office-photo{margin-top:32px;border-radius:var(--radius);overflow:hidden;background:var(--sage)}
.office-photo img{display:block;width:100%;height:auto;object-fit:contain;object-position:center}
.contact-form{min-width:0;background:#f0f2eb;padding:32px;border:1px solid var(--line);border-radius:var(--radius)}
.contact-form h3{font:1.65rem/1.3 Georgia,serif}.demo-notice{margin-top:15px;font-size:.875rem;color:var(--muted)}
.required-note{font-size:.75rem;color:var(--muted);margin-block:18px 20px}
.demo-fields{padding:0;margin:0;border:0;min-width:0}
.form-field{margin-bottom:20px}.form-field>label,.contact-method legend{display:block;margin-bottom:8px;font-size:.875rem;font-weight:700}
.form-field label span,.contact-method legend span{font-weight:400;color:var(--muted);font-size:.8125rem}
.form-field input,.form-field textarea{display:block;width:100%;min-width:0;min-height:48px;padding:11px 13px;border:1px solid #899980;border-radius:6px;background:var(--ivory);color:var(--ink);font:1rem/1.5 Arial,Helvetica,sans-serif}
.form-field textarea{resize:vertical;min-height:120px}
.contact-form input:focus-visible,.contact-form textarea:focus-visible{outline:3px solid #9a671a;outline-offset:3px}
.contact-method{border:0;padding:0;margin:0 0 20px;min-width:0}.radio-options{display:flex;gap:24px;flex-wrap:wrap}.radio-options label{display:flex;gap:10px;align-items:center;min-height:44px;cursor:pointer}.radio-options input{width:20px;height:20px;margin:0;accent-color:var(--navy)}
.privacy-warning{margin-top:12px;font-size:.8125rem;line-height:1.6;color:var(--ink);border-left:3px solid #7b8a68;padding-left:12px}
.contact-form button{border:0;cursor:pointer;width:100%}.contact-form button:disabled{opacity:.6;cursor:not-allowed}
.form-status{font-size:.875rem;font-weight:600;margin-top:0}.form-status:not(:empty){margin-top:20px;border-top:1px solid #abb8a0;padding-top:16px}
@media(max-width:1100px){.contact-layout{gap:32px}.contact-form{padding:24px}}
@media(max-width:850px){.contact-layout{grid-template-columns:minmax(0,1fr);gap:32px}.office-information{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:30px}.office-photo-placeholder{aspect-ratio:16/7;min-height:220px}}
@media(max-width:600px){.office-information{grid-template-columns:1fr;gap:26px}.office-photo-placeholder{aspect-ratio:4/3;padding:28px 24px}.office-photo-placeholder p{font-size:1.25rem}.photo-placeholder-label{font-size:.7rem}.contact-form{padding:24px 20px}.contact-layout{gap:28px}}
