:root{--paper:#f8f7f2;--green:#173f35;--text:#283d34;--muted:#617067;--line:#c6cdc4}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--text);font:15px/1.7 Arial,Helvetica,sans-serif}a{color:inherit;text-decoration:none}a:hover{text-decoration:underline;text-underline-offset:5px}button{font:inherit;color:inherit;cursor:pointer}a:focus-visible,button:focus-visible{outline:2px solid var(--green);outline-offset:5px}.review{background:var(--green);color:var(--paper);padding:7px 4.5vw;font-size:9px;letter-spacing:1.5px;display:flex;justify-content:space-between}.review span{letter-spacing:.4px}header{margin:0 4.5vw;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);padding:28px 0;gap:30px}.wordmark{font:33px/1 Georgia,serif;letter-spacing:-.7px;color:var(--green)}nav{display:flex;gap:34px;font-size:13px}nav a[aria-current]{border-bottom:1px solid var(--green)}.mobile-menu{display:none}main{margin:0 4.5vw;min-height:55vh}.entrance{padding:36px 0 0}.entrance img{display:block;width:100%;height:min(66vw,630px);object-fit:cover;object-position:center}.entrance-bottom{padding:20px 0 35px;display:flex;justify-content:space-between;align-items:baseline;gap:20px}.entrance-bottom h1{font:26px/1.2 Georgia,serif;margin:0;color:var(--green)}.text-link{font-size:12px;display:inline-block;border-bottom:1px solid var(--green);padding-bottom:5px}.understated{font-size:11px;color:var(--muted)}.intro{display:flex;justify-content:space-between;gap:40px;padding:32px 0;border-top:1px solid var(--line)}.intro p{max-width:690px;font:23px/1.45 Georgia,serif;margin:0}.eyebrow{font-size:10px;letter-spacing:1.5px;text-transform:uppercase;color:var(--muted)}.section{padding:40px 0}.section-title{display:flex;justify-content:space-between;align-items:baseline;gap:20px;margin-bottom:25px}h1,h2,h3{font-family:Georgia,serif;font-weight:400;color:var(--green)}h1{font-size:46px;line-height:1.15;letter-spacing:-1px;margin:12px 0 30px}h2{font-size:30px;line-height:1.2;margin:0}h3{font-size:24px;line-height:1.25;margin:15px 0 6px}.grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:30px}.card-link{display:block;border-bottom:1px solid var(--line);padding-bottom:22px}.card-link img{width:100%;height:250px;object-fit:contain;background:#f0efe9;display:block}.card-link p{font-size:12px;color:var(--muted);margin:0}.page-head{padding-top:35px;border-bottom:1px solid var(--line);margin-bottom:35px}.crumb{font-size:11px;color:var(--muted)}.layout{display:grid;grid-template-columns:190px minmax(0,1fr);gap:5vw}.side{display:grid;align-content:start;gap:12px;font-size:12px;padding:0 0 30px}.side a[aria-current]{color:var(--green);text-decoration:underline;text-underline-offset:5px}.copy{max-width:800px}.copy p{margin:0 0 23px}.copy a{text-decoration:underline;text-underline-offset:4px}.copy-section{margin-bottom:32px}.body-title{font-family:Georgia,serif;font-size:24px}.gallery{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:30px;padding:10px 0 45px}.gallery button{background:none;border:0;padding:0;text-align:left;display:block;min-width:0}.gallery img{display:block;width:100%;height:400px;object-fit:contain;background:#efeee9}.caption{display:block;font-size:11px;line-height:1.5;padding:10px 0;color:var(--muted)}.back{display:inline-block;font-size:12px;padding:10px 0 35px}.list{display:grid;grid-template-columns:1fr 1fr;gap:0 50px}.list a{padding:20px 0;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;gap:20px;font:23px/1.3 Georgia,serif}.bio{font-size:17px;max-width:850px}.cv p{white-space:pre-wrap;line-height:1.9}.contact{padding:40px 0 90px}.contact a{font:clamp(22px,4vw,42px)/1.3 Georgia,serif}.contact p{margin-top:25px}footer{margin:35px 4.5vw 0;border-top:1px solid var(--line);padding:30px 0 45px;display:flex;justify-content:space-between;align-items:start;gap:30px;font-size:11px}footer div{display:flex;gap:25px}.footer-name{font:23px/1.2 Georgia,serif;color:var(--green)}dialog{border:0;background:var(--paper);color:var(--green);padding:50px 60px 20px;width:96vw;max-width:1450px}dialog::backdrop{background:#152c24ed}dialog figure{margin:0}dialog img{width:100%;height:75vh;object-fit:contain;display:block}dialog figcaption{text-align:center;font-size:12px;margin-top:12px}dialog button{border:0;background:var(--paper);padding:10px}.close{position:absolute;top:7px;right:12px}.prev,.next{position:absolute;top:45%;font-size:25px}.prev{left:10px}.next{right:10px}@media(min-width:1600px){main,header,footer{max-width:1450px;margin-left:auto;margin-right:auto}}@media(max-width:760px){header,main,footer{margin-left:22px;margin-right:22px}header{flex-wrap:wrap;padding:24px 0}.wordmark{font-size:29px}.mobile-menu{display:block;background:none;border:1px solid var(--line);padding:7px 13px;font-size:12px}nav{display:none;width:100%;flex-direction:column;gap:0}nav.open{display:flex}nav a{padding:13px 0}main{min-height:50vh}.entrance{padding-top:24px}.entrance img{height:auto;object-fit:contain}.entrance-bottom{display:block;padding-top:18px}.entrance-bottom h1{font-size:25px;margin-bottom:15px}.intro{display:block;padding:25px 0}.intro p{font-size:21px;margin-top:15px}.grid{grid-template-columns:1fr}.card-link img{height:auto;max-height:440px}.layout{grid-template-columns:1fr;gap:15px}.side{display:flex;flex-wrap:wrap;gap:8px 20px;border-bottom:1px solid var(--line);padding-bottom:23px}.side .eyebrow{width:100%}.side a{padding:5px 0}.gallery{grid-template-columns:1fr;gap:22px}.gallery img{height:auto;max-height:550px}.list{grid-template-columns:1fr}.list a{font-size:21px}h1{font-size:37px}.page-head{padding-top:25px;margin-bottom:25px}.copy{overflow-wrap:anywhere;font-size:15px}.bio{font-size:16px}footer{display:grid;gap:22px}.section-title{display:block}.section-title h2{margin-bottom:15px}.review span{display:none}dialog{padding:45px 30px 15px}dialog img{height:65vh}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

.entrance-bottom{justify-content:flex-end}

/* CEFAR navigation disclosure. */
.cefar-dropdown{position:relative}.cefar-dropdown summary{cursor:pointer;list-style:none;font-size:13px;line-height:1.7}.cefar-dropdown summary::-webkit-details-marker{display:none}.cefar-dropdown summary::after{content:"⌄";font-size:11px;margin-left:6px}.cefar-dropdown[open] summary::after{content:"⌃"}.cefar-dropdown summary:focus-visible{outline:2px solid var(--green);outline-offset:5px}.cefar-submenu{position:absolute;right:0;top:calc(100% + 12px);z-index:20;width:340px;max-width:calc(100vw - 44px);background:var(--paper);border:1px solid var(--line);padding:7px 0;box-shadow:0 8px 20px #173f350d}.cefar-submenu a{display:block;padding:12px 16px;font-size:12px;white-space:normal}.cefar-submenu a:hover{background:#efeee7}
@media(max-width:760px){.cefar-dropdown{width:100%}.cefar-dropdown summary{padding:13px 0}.cefar-submenu{position:static;width:100%;max-width:100%;border:0;border-left:1px solid var(--line);box-shadow:none;margin:0 0 10px;padding:0}.cefar-submenu a{padding:10px 14px}}
/* CV section hierarchy */
.cv .cv-section-title{font-family:Arial,Helvetica,sans-serif;font-size:19px;line-height:1.4;font-weight:700;letter-spacing:0;margin:64px 0 24px;padding-top:22px;border-top:1px solid var(--line)}.cv .copy-section:first-child>.cv-section-title:first-child{margin-top:0;padding-top:0;border-top:0}.cv p{line-height:1.8;margin-bottom:18px}@media(max-width:760px){.cv .cv-section-title{font-size:18px;margin-top:48px;margin-bottom:22px;padding-top:20px}}

/* Keep CV text aligned beside dates, including continuation lines. */
.cv .cv-row{display:grid;grid-template-columns:100px minmax(0,1fr);column-gap:24px;white-space:normal}.cv-date{white-space:nowrap;font-variant-numeric:tabular-nums}.cv-entry{min-width:0;overflow-wrap:anywhere}@media(max-width:760px){.cv .cv-row{grid-template-columns:78px minmax(0,1fr);column-gap:14px}.cv-date{font-size:13px}}
