@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&display=swap');
:root{--cream:#f1eadf;--ink:#443c32;--clay:#965b4c;--sage:#c2c5af;--line:#443c3226}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:#e4dbce;color:var(--ink);font:15px/1.7 'DM Sans',Arial,sans-serif}a{color:inherit;text-decoration:none}button{font:inherit}a:focus-visible,button:focus-visible{outline:3px solid var(--clay);outline-offset:5px}.skip{position:absolute;top:-100px;background:var(--ink);color:white;padding:12px;z-index:10}.skip:focus{top:0}.card-shell{max-width:1000px;margin:35px auto;background:var(--cream);border:1px solid var(--line);box-shadow:0 20px 80px #443c3210}header{display:flex;align-items:center;justify-content:space-between;padding:22px 35px;gap:20px;border-bottom:1px solid var(--line)}.wordmark{display:flex;gap:8px;align-items:center;letter-spacing:.14em;font-size:17px}.wordmark span{font-size:8px;letter-spacing:.18em}nav{display:flex;align-items:center;gap:10px;font-size:12px}nav a{min-height:44px;display:flex;align-items:center}nav [aria-current]{font-weight:700;color:var(--clay);text-decoration:underline;text-underline-offset:5px}main{display:grid;grid-template-columns:1.1fr 1fr}.identity{grid-row:span 2;padding:42px;border-right:1px solid var(--line)}.portrait{width:145px;height:155px;overflow:hidden;border-radius:48% 48% 4px 4px;margin-bottom:28px;background:var(--sage)}.portrait img{width:100%;height:100%;object-fit:cover;object-position:58% 12%}.eyebrow{font-size:9px;letter-spacing:.18em;font-weight:600;margin:0 0 12px}h1,h2,h3,p{margin-top:0}h1,h2{font-family:Georgia,serif;font-weight:400;letter-spacing:-.045em;line-height:1.1}h1{font-size:53px;margin-bottom:13px}h2{font-size:34px;margin-bottom:18px}h3{font-size:13px;font-weight:600;margin:25px 0 10px}.practice{font-size:18px;margin-bottom:4px}.location{font-size:11px;margin-bottom:22px;color:#655d50}.intro{font-size:14px;line-height:1.85;margin-bottom:26px}.save-contact{display:flex;align-items:center;gap:13px;background:var(--clay);color:#fff7ed;padding:17px 20px;font-size:14px;min-height:56px;border-radius:3px;transition:background .2s,transform .2s}.save-contact>span{margin-left:auto}.save-contact svg{width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}.save-contact:hover{background:#784739;transform:translateY(-2px)}.save-note{font-size:10px;margin:10px 0 0;color:#655d50}.contact-panel{padding:25px 32px 18px}.contact-action{display:flex;align-items:center;gap:15px;min-height:90px;padding:17px 0;border-bottom:1px solid var(--line);transition:color .2s}.contact-action svg{width:23px;height:23px;fill:none;stroke:var(--clay);stroke-width:1.4;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}.contact-action>span:not(.arrow){min-width:0}.contact-action strong{display:block;font-size:14px;font-weight:500}.contact-action small{display:block;font-size:10px;overflow-wrap:anywhere}.arrow{margin-left:auto;color:var(--clay);font-size:19px;transition:transform .2s}.contact-action:hover{color:var(--clay)}.contact-action:hover .arrow{transform:translate(3px,-3px)}.privacy{font-size:10px;line-height:1.7;color:#655d50;margin:14px 0 0}.about-card{grid-column:1;grid-row:3;padding:35px 42px;background:#e8dfd1;border-right:1px solid var(--line)}.about-card>p:not(.eyebrow){font-size:13px;line-height:1.9}.about-card ul{padding:0;list-style:none;margin-bottom:0}.about-card li{font-size:12px;padding:9px 0;border-top:1px solid var(--line)}.about-card li:before{content:'↗';margin-right:12px;color:var(--clay)}.visit-card{grid-column:2;grid-row:2/4;background:var(--sage);padding:30px 32px 38px}.asterisk{font-size:46px;color:#666b50;line-height:1.1;display:block;margin-bottom:20px}.visit-card h2{font-size:32px}.visit-card>p{font-size:13px;line-height:1.85}.address{margin-top:30px;border-top:1px solid #443c3233;padding-top:5px}.address address{font-size:12px;font-style:normal}.visit-call{display:inline-block;border-bottom:1px solid var(--ink);padding:10px 0 4px;margin-top:20px;font-size:13px}footer{padding:25px 35px;text-align:center;font-size:10px}footer a{text-decoration:underline;text-underline-offset:3px}footer button{display:block;margin:0 auto 12px;background:none;border:1px solid var(--line);border-radius:30px;padding:11px 25px;cursor:pointer;font-size:12px;min-height:44px;color:var(--ink)}footer button[hidden]{display:none}.fine{max-width:480px;margin:15px auto 0;font-size:10px;color:#655d50}#share-status:empty{display:none}#share-status{font-size:12px;overflow-wrap:anywhere}.identity,.contact-panel{animation:arrive .65s ease both}.contact-panel{animation-delay:.1s}@keyframes arrive{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}@media(max-width:650px){body{background:var(--cream)}.card-shell{margin:0;border:0;box-shadow:none}header{padding:12px 6%;gap:10px}.wordmark{font-size:16px;gap:5px}.wordmark span{display:none}.wordmark img{width:29px;height:29px}nav{font-size:12px;gap:9px}main{display:flex;flex-direction:column}.identity{border:0;padding:26px 7% 16px;display:flex;gap:18px;align-items:start;flex-wrap:wrap}.portrait{width:82px;height:96px;flex-shrink:0;margin:0}.introduction{display:contents}.eyebrow{margin-bottom:8px}h1{font-size:42px;margin-bottom:10px}.identity .eyebrow{position:absolute;left:calc(7% + 100px);margin-top:4px}.identity h1{width:calc(100% - 100px);margin-top:24px;font-size:37px;line-height:1.1}.identity .practice{flex-basis:100%;margin:0;font-size:18px}.identity .location{margin:-14px 0 0;flex-basis:100%}.identity .intro{margin:0;font-size:13px;flex-basis:100%}.save-contact{width:100%;font-size:14px}.identity .save-note{margin:-12px 0 0;font-size:10px}.contact-panel{padding:0 7% 25px}.contact-action{min-height:75px;padding:14px 0}.contact-action strong{font-size:14px}.contact-action small{font-size:11px}.privacy{font-size:10px}.about-card{padding:33px 7%;border:0}.about-card h2{font-size:33px}.visit-card{padding:30px 7% 35px}.visit-card h2{max-width:310px}.asterisk{margin-bottom:17px}.address{margin-top:25px}footer{padding:25px 7% max(25px,env(safe-area-inset-bottom))}}@media(max-width:360px){.identity h1{font-size:31px}.wordmark{font-size:14px}nav{font-size:11px}.identity .eyebrow{font-size:8px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}}
@media(max-width:650px){.identity{display:grid;grid-template-columns:82px minmax(0,1fr);gap:16px 18px}.portrait{grid-column:1;grid-row:1/3}.identity .eyebrow{position:static;grid-column:2;grid-row:1;margin:2px 0 0;align-self:end}.identity h1{grid-column:2;grid-row:2;width:auto;margin:0;align-self:start}.identity .practice,.identity .location,.identity .intro,.identity .save-contact,.identity .save-note{grid-column:1/-1}.identity .location{margin-top:-12px}.identity .save-note{margin-top:-10px}}
/* Allow the professional introduction to wrap naturally on small phones. */
@media(max-width:650px){.identity h1{font-size:clamp(28px,8vw,37px);overflow-wrap:normal}.identity{row-gap:16px}}

/* Published office hours, supplied by the practice owner. */
.office-hours{margin-top:25px;max-width:350px;text-align:left}.office-hours h3{font:600 12px/1.5 "DM Sans",Arial,sans-serif;letter-spacing:.03em;margin:0 0 12px}.office-hours dl{margin:0;font-size:12px;line-height:1.7}.office-hours dl>div{display:flex;justify-content:space-between;gap:16px;padding:6px 0;border-bottom:1px solid currentColor}.office-hours dt,.office-hours dd{margin:0}.office-hours dd{text-align:right}
