:root{--ink:#302b29;--paper:#f0e7d8;--wine:#792e36;--muted:#746b64;--line:#ded5c8}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font:17px/1.8 Georgia,'Times New Roman',serif}a{color:var(--wine);text-underline-offset:4px}a:hover{color:#a04443}a:focus-visible,button:focus-visible{outline:3px solid #af7432;outline-offset:5px}header,main,footer{padding-inline:max(6vw,calc((100vw - 1180px)/2))}.masthead{display:flex;align-items:center;justify-content:space-between;padding-block:38px 32px}.brand{color:var(--wine);font-size:48px;line-height:1.12;text-decoration:none;letter-spacing:-2px}.brand span{display:block;font:11px/2.4 Arial,sans-serif;letter-spacing:2.3px;text-transform:uppercase;color:var(--muted)}.update{font:12px Arial,sans-serif;text-transform:uppercase;letter-spacing:1.4px;text-decoration:none;border:1px solid var(--line);padding:13px 18px}.update span{margin-left:25px}.main-nav{display:flex;gap:30px;border-block:1px solid var(--line);padding:17px 0;font:14px Arial,sans-serif}.main-nav a{text-decoration:none;color:var(--muted);padding:4px 0}.main-nav a[aria-current]{color:var(--wine);box-shadow:0 2px var(--wine)}main{min-height:65vh;padding-bottom:80px}.page-heading{padding:58px 0 34px;max-width:100%}.eyebrow{font:11px Arial,sans-serif;letter-spacing:2.5px;text-transform:uppercase;color:var(--wine)}h1{font-weight:400;font-size:clamp(32px,4vw,53px);line-height:1.2;letter-spacing:-1.4px;margin:16px 0 24px}.rule{display:block;width:64px;height:3px;background:var(--wine)}.home-layout{display:grid;grid-template-columns:250px minmax(0,1fr);gap:65px;padding-top:16px}.portrait img{width:100%;height:auto;display:block;box-shadow:15px 15px 0 #ece4d7}.biography{max-width:760px}.biography>div{font-size:18px;line-height:1.95}.biography>div>div:first-letter{font-size:45px;line-height:1;color:var(--wine)}img{max-width:100%;height:auto}main h4,main h3{font-size:inherit;font-weight:inherit}main span,main font{font-family:inherit}main p{margin-block:0 1.4em}.pagination{display:flex;gap:8px;margin:0 0 35px;flex-wrap:wrap;font:13px Arial,sans-serif}.pagination a{padding:11px 17px;text-decoration:none;border:1px solid var(--line)}.pagination [aria-current]{background:var(--wine);color:white;border-color:var(--wine)}.books{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 45px;margin-block:30px}.book{display:flex;align-items:flex-start;gap:24px;border-top:1px solid var(--line);padding-block:32px;font-size:16px;line-height:1.7}.book>img{width:110px;max-height:190px;object-fit:contain;object-position:top;flex-shrink:0}.book strong{color:var(--wine);font-size:19px}.reading-section{display:flow-root;max-width:950px;margin-bottom:35px}.reading-section strong{color:var(--wine)}.page-portrait{float:right;width:160px;margin:0 0 25px 35px}.inline-photo{float:right;width:min(35%,300px);margin:0 0 20px 32px}.inline-photo img{display:block}.gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:32px;margin-block:30px 45px}.gallery figure{margin:0}.gallery img{width:100%;height:240px;object-fit:contain;background:#efe9df;display:block}.gallery a{display:block}.gallery figcaption{font:13px/1.5 Arial,sans-serif;margin-top:12px;color:var(--muted)}footer{background:#efe9df;border-top:1px solid var(--line);padding-block:38px 32px;clear:both}.footer-brand{font-size:28px;color:var(--wine)}footer nav{display:flex;flex-wrap:wrap;gap:20px;font:13px Arial,sans-serif;margin:15px 0 30px}footer p{font:12px/1.7 Arial,sans-serif;color:var(--muted)}.notice{border-left:3px solid var(--wine);background:#efe9df;padding:18px 24px;margin-bottom:30px;font:14px/1.7 Arial,sans-serif}.contact-layout{display:grid;grid-template-columns:180px minmax(0,650px);gap:50px}.contact-form form{display:grid;grid-template-columns:1fr;gap:9px}.contact-form input:not([type=radio]),select,textarea{width:100%;padding:10px;border:1px solid #bdb3a7;background:#fffdf9;font:16px Arial,sans-serif}.contact-form input[type=radio]{width:auto}.contact-form input[type=submit]{background:var(--wine);color:white;opacity:.5}.skip{position:absolute;top:-80px;background:white;padding:12px}.skip:focus{top:0}.related{margin-top:25px;display:flex;gap:20px;flex-wrap:wrap;font-size:14px}dialog{border:0;max-width:94vw;max-height:94vh;background:var(--paper);padding:30px}dialog::backdrop{background:#171310de}dialog img{display:block;max-height:76vh;max-width:85vw;margin:auto}dialog button{position:absolute;right:5px;top:0;border:0;background:none;font-size:32px;cursor:pointer}dialog p{margin:10px 0 0;text-align:center;font-size:15px}@media(max-width:800px){header,main,footer{padding-inline:6vw}.main-nav{gap:12px 23px;flex-wrap:wrap}.brand{font-size:39px}.update{font-size:10px;padding:10px}.update span{margin-left:8px}.home-layout{grid-template-columns:150px minmax(0,1fr);gap:30px}.books{grid-template-columns:1fr}.gallery{grid-template-columns:repeat(2,minmax(0,1fr))}.page-heading{padding-top:36px}.contact-layout{grid-template-columns:120px minmax(0,1fr);gap:25px}}@media(max-width:520px){body{font-size:16px}.masthead{padding-block:24px;align-items:flex-start}.brand{font-size:33px}.brand span{font-size:8px;letter-spacing:1px}.update{font-size:9px;letter-spacing:.5px}.home-layout{display:block}.portrait{float:right;width:110px;margin:0 0 20px 24px}.biography>div{font-size:17px}.gallery{gap:22px 15px}.gallery img{height:160px}.book{gap:20px}.book>img{width:85px}.inline-photo{float:none;width:100%;max-width:350px;margin:20px 0}.page-portrait{width:100px}.contact-layout{display:block}.contact-layout>img{width:110px;float:right;margin:0 0 20px 20px}}

/* Justify prose while retaining heading, title and navigation alignment. */
main .body-copy, main > div[id^='wb_Text'] { text-align: justify; text-align-last: start; hyphens: auto; }
main [data-heading], main h1, main h2, main h3, main h4 { text-align: start; }

.biography, .reading-section, .book > div { text-align: justify; text-align-last: start; hyphens: auto; }

.projects-copy { max-width: 950px; }
.projects-copy h2 { font-size: 28px; font-weight: normal; margin: 32px 0 18px; text-align: start; }
.project-people { clear: both; padding-left: 1.8em; margin: 24px 0; text-align: justify; text-align-last: start; hyphens: auto; }
.project-people li { padding-left: .4em; margin-bottom: 12px; }
.project-cover { clear: both; margin: 30px 0; text-align: center; }
.project-cover img { width: 252px; height: auto; }

.updates-photo { clear: both; width: 600px; max-width: 100%; margin: 36px auto 0; }
.updates-photo img { display: block; width: 100%; height: auto; }
