:root{color-scheme:light;--cream:#f7f4ec;--ink:#454545;--body:#666;--gold:#b58b42}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--cream);color:var(--ink);font-family:Georgia,'Times New Roman',serif}
img{display:block;max-width:100%;height:auto}
a:focus-visible,button:focus-visible{outline:2px solid var(--gold);outline-offset:5px}
.site-header{height:56px;background:#fff;border-bottom:1px solid #e5e0d5}
.site-header nav{height:100%;max-width:1280px;margin:auto;padding:0 24px;display:flex;justify-content:flex-end;align-items:center;position:relative}
.desktop-home{color:#616161;font:italic 17px Georgia,serif;text-decoration:none}
.desktop-home:hover{text-decoration:underline}
.menu-toggle,.mobile-menu{display:none}
.introduction,.work{width:82%;max-width:1120px;margin:0 auto}
.introduction{display:grid;grid-template-columns:minmax(0,620px) minmax(0,440px);justify-content:center;align-items:center;gap:60px;padding:64px 0 42px}
.intro-copy{min-width:0}
.intro-copy h1{font-size:clamp(38px,3.3vw,48px);font-weight:400;line-height:1.18;margin:0}
.accent{width:72px;height:1px;background:#ae7752;margin:24px 0 18px}
.intro-copy p{font-size:18px;line-height:1.65;color:var(--body);margin:0 0 22px}
.intro-copy p:last-child{margin-bottom:0}
.portrait{width:100%;height:auto;max-width:440px;aspect-ratio:1103/1312;object-fit:cover;border-radius:10px;justify-self:end}
.work{display:grid;grid-template-columns:230px minmax(0,1fr);gap:24px;align-items:stretch;padding:0}
.clinical{width:100%;height:auto;aspect-ratio:4/3;object-fit:cover;object-position:center 48%;border-radius:9px;align-self:center}
.focus-areas{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.focus{display:grid;grid-template-columns:48px minmax(0,1fr);grid-template-rows:auto 14px 1fr;column-gap:14px;align-content:start;padding:22px 16px;border:1px solid #e1d8c8;border-radius:10px;min-width:0}
.focus svg{grid-column:1;grid-row:1/4;width:48px;height:48px;fill:none;stroke:var(--gold);stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}
.focus h2{grid-column:2;font-size:20px;line-height:1.25;font-weight:400;margin:0;color:#333}
.focus .rule{grid-column:2;width:36px;height:1px;background:var(--gold);margin-top:8px}
.focus p{grid-column:2;font-size:16px;line-height:1.55;margin:8px 0 0;color:#555}
.contact{text-align:center;padding:68px 20px 60px}
.contact a{font-size:21px;letter-spacing:.015em;color:#5d6491;text-decoration:none}
.contact a:hover{text-decoration:underline}
footer{background:#f4f3ef;color:#999;font-size:16px;text-align:center;padding:28px 20px}
@media(min-width:761px) and (max-width:1100px){
.introduction{grid-template-columns:minmax(0,1.35fr) minmax(0,1fr);gap:6%;padding-top:48px}
.intro-copy p{font-size:17px;line-height:1.6}
.work{grid-template-columns:180px minmax(0,1fr);gap:16px}
.focus{display:block;padding:18px 12px;text-align:center}
.focus svg{width:42px;height:42px;margin:0 auto 12px}
.focus h2{font-size:18px}
.focus .rule{display:block;margin:12px auto}
.focus p{font-size:15px}
}
@media(max-width:760px){
.site-header{height:60px}
.site-header nav{padding:0 18px}
.desktop-home{display:none}
.menu-toggle{display:flex;width:44px;height:44px;flex-direction:column;align-items:center;justify-content:center;gap:5px;background:none;border:0;cursor:pointer}
.menu-toggle span{display:block;width:24px;height:2px;background:#333;transition:transform .2s,opacity .2s}
.menu-toggle[aria-expanded=true] span:first-child{transform:translateY(7px) rotate(45deg)}
.menu-toggle[aria-expanded=true] span:nth-child(2){opacity:0}
.menu-toggle[aria-expanded=true] span:last-child{transform:translateY(-7px) rotate(-45deg)}
.mobile-menu:not([hidden]){display:block;position:absolute;z-index:2;top:55px;right:20px;background:#fff;box-shadow:0 8px 25px #0002;border:1px solid #e6e1d9;min-width:140px}
.mobile-menu a{display:block;padding:14px 20px;color:#444;text-decoration:none;font-size:18px}
.introduction{display:flex;flex-direction:column-reverse;width:88%;gap:0;padding:40px 0 44px}
.portrait{width:70vw;max-width:310px;height:auto;aspect-ratio:1103/1312;border-radius:6px;align-self:center}
.intro-copy{width:100%;margin-top:34px}
.intro-copy h1{font-size:clamp(34px,8vw,48px)}
.accent{display:none}
.intro-copy p{font:17px/1.75 Arial,Helvetica,sans-serif;margin:32px 0 0;color:#666}
.intro-copy p+p{margin-top:25px}
.work{display:none}
.contact{background:#f7f7f7;padding:44px 16px}
.contact a{font-size:19px;letter-spacing:.035em;color:#4c4c4c}
footer{font-size:15px;padding:28px 16px}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.menu-toggle span{transition:none}}

/* Desktop proportions matching the approved 90% browser view. */
@media(min-width:1101px){
.site-header{height:50.4px}
.site-header nav{max-width:1152px;padding:0 21.6px}
.desktop-home{font-size:15.3px}
.introduction,.work{max-width:1008px}
.introduction{grid-template-columns:minmax(0,558px) minmax(0,396px);gap:54px;padding:57.6px 0 37.8px}
.intro-copy h1{font-size:43.2px}
.accent{width:64.8px;margin:21.6px 0 16.2px}
.intro-copy p{font-size:16.2px;margin-bottom:19.8px}
.intro-copy p:last-child{margin-bottom:0}
.portrait{max-width:396px;border-radius:9px}
.work{grid-template-columns:207px minmax(0,1fr);gap:21.6px}
.clinical{border-radius:8.1px}
.focus-areas{gap:10.8px}
.focus{grid-template-columns:43.2px minmax(0,1fr);grid-template-rows:auto 12.6px 1fr;column-gap:12.6px;padding:19.8px 14.4px;border-radius:9px}
.focus svg{width:43.2px;height:43.2px}
.focus h2{font-size:18px}
.focus .rule{width:32.4px;margin-top:7.2px}
.focus p{font-size:14.4px;margin-top:7.2px}
.contact{padding:61.2px 18px 54px}
.contact a{font-size:18.8px}
footer{font-size:14.4px;padding:25.2px 18px}
}
