*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:90px}body{margin:0;background:#fff;color:#171717;font:16px/1.5 Arial,Helvetica,sans-serif}a{color:inherit;text-decoration:none}a:focus-visible,summary:focus-visible{outline:3px solid #777;outline-offset:6px}header{display:flex;justify-content:space-between;align-items:center;padding:24px 4vw;border-bottom:1px solid #171717;background:white;position:sticky;top:0;z-index:10}.brand{font-weight:700;letter-spacing:-.04em}nav{display:flex;gap:32px}nav a:hover,.under:hover{text-decoration:underline}.hero{height:740px;max-height:calc(100svh - 74px);min-height:550px;position:relative;overflow:hidden}.hero:after{content:'';position:absolute;left:71%;top:0;bottom:90px;border-left:2px solid #171717}.year{position:absolute;top:30px;left:4vw;font-size:24px;font-weight:700}.year span{font-size:14px;font-weight:400}h1{position:absolute;left:20%;top:18%;font-size:clamp(64px,9vw,140px);line-height:.97;letter-spacing:-.065em;margin:0;font-weight:700;width:80%;z-index:1}h1 span{display:block}h1 span:first-child{border-bottom:5px solid #171717;padding-bottom:14px}h1 span:last-child{padding-top:14px}.name{position:absolute;left:calc(71% - 155px);top:65%;font-size:30px;font-weight:700;line-height:1.8;z-index:1}.name span{display:block;margin-left:164px}.herofoot{position:absolute;bottom:22px;left:4vw;right:4vw;display:flex;justify-content:space-between;align-items:end}.herofoot p{margin:0}.herofoot a{font-size:14px;border-bottom:1px solid}.section{padding:70px 4vw}.sectionhead{display:flex;align-items:baseline;justify-content:space-between;border-top:2px solid;padding:20px 0 45px;gap:20px}h2{font-size:clamp(28px,4vw,56px);letter-spacing:-.05em;line-height:1.05;margin:0}.sectionhead>span,.meta{font-size:14px}.grid{display:grid;grid-template-columns:1fr 1fr;gap:65px 4vw}.project{display:block}.meta{display:flex;justify-content:space-between;gap:20px}.drawing{height:300px;display:flex;align-items:center;justify-content:center;overflow:hidden;margin-top:20px}.drawing img{width:85%;height:85%;object-fit:contain;transition:transform .4s}.project:hover img{transform:scale(1.045)}.project h3{font-size:clamp(24px,2.3vw,36px);letter-spacing:-.045em;margin:15px 0 6px}.under{font-size:14px}.archive{margin-top:80px}details{border-top:1px solid #171717;scroll-margin-top:90px}details:last-child{border-bottom:1px solid}summary{list-style:none;display:flex;align-items:center;gap:25px;padding:24px 0;cursor:pointer;font-size:clamp(18px,2vw,28px);font-weight:700;letter-spacing:-.03em}summary::-webkit-details-marker{display:none}.num{font-size:14px;font-weight:400}.plus{margin-left:auto;font-size:30px;font-weight:400}details[open] .plus{transform:rotate(45deg)}.intro{display:grid;grid-template-columns:1fr 2fr;gap:5vw;padding:10px 0 30px}.intro p{max-width:720px}.spreads img{display:block;width:100%;height:auto;margin-bottom:30px;border:1px solid #eee}.bio{display:grid;grid-template-columns:1fr 1fr;gap:5vw;margin:20px 0 70px}.bio h3{font-size:clamp(48px,6vw,90px);letter-spacing:-.06em;line-height:1;margin:0}.bio p{font-size:22px;max-width:600px;margin:0}.cv{display:grid;grid-template-columns:1fr 1.25fr 1fr;gap:4vw}.cv h3{font-size:18px;border-bottom:1px solid;padding-bottom:15px}article{margin:28px 0}article span{font-size:14px;color:#555}h4{font-size:18px;margin:8px 0}article p{margin:0}.contact{margin-top:40px;background:#171717;color:white;padding:60px 4vw 80px}.contact>span{font-size:14px}.contact h2{font-size:clamp(60px,9vw,130px);margin:35px 0}.email{font-size:clamp(18px,3.5vw,48px);letter-spacing:-.025em;border-bottom:1px solid;overflow-wrap:anywhere}.contactlinks{display:flex;gap:40px;margin-top:40px}footer{padding:25px 4vw;display:flex;justify-content:space-between;font-size:14px}@media(max-width:700px){header{padding:20px 5vw}.brand{font-size:14px}nav{gap:15px;font-size:14px}.hero{min-height:530px;max-height:650px}.hero:after{left:74%;bottom:110px}h1{left:12%;top:25%;font-size:82px;width:88%}.name{left:calc(74% - 108px);top:65%;font-size:20px}.name span{margin-left:114px}.year{left:5vw;font-size:20px}.herofoot{left:5vw;right:5vw;gap:20px;font-size:14px}.herofoot a{max-width:140px}.section{padding:45px 5vw}.sectionhead{display:block;padding-bottom:30px}.sectionhead>span{display:block;margin-top:15px}.grid,.bio,.cv,.intro{grid-template-columns:1fr}.grid{gap:40px}.drawing{height:235px}.meta{font-size:13px}.bio{gap:30px;margin-bottom:40px}.bio p{font-size:18px}.archive{margin-top:50px}summary{gap:14px}.spreads{overflow:auto}.spreads img{min-width:700px}.contact{padding:45px 5vw}.contactlinks{flex-direction:column;gap:15px}footer{gap:20px;flex-wrap:wrap}footer span:last-child{display:none}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.drawing img{transition:none}}
.drawing[data-photo]{background:#f3f3f3}.drawing[data-photo] img{width:100%;height:100%;object-fit:cover}.project-intro{max-width:880px;padding:25px 0 15px}.project-intro h4{font-size:clamp(26px,3vw,40px);line-height:1.15;letter-spacing:-.04em}.project-intro>p:last-child{font-size:20px;line-height:1.6}.project-story{display:grid;grid-template-columns:repeat(3,1fr);gap:35px;padding:15px 0 40px}.project-story article{margin:0}.project-story h4{font-size:18px;margin-bottom:14px}.project-gallery{display:grid;grid-template-columns:1fr 1fr;gap:40px 30px;padding-bottom:55px}.gallery-item{margin:0;min-width:0}.gallery-item:first-child{grid-column:1/-1}.image-open{background:#fafafa;padding:0;border:0;width:100%;display:block;cursor:zoom-in}.image-open img{display:block;width:100%;height:auto;max-height:650px;object-fit:contain}.gallery-item.portrait img{max-height:550px}.gallery-item:first-child img{max-height:none}figcaption{padding:15px 0;border-top:1px solid #ccc;margin-top:12px;display:grid;gap:5px}figcaption strong{font-size:16px}figcaption span{font-size:14px;color:#505050}.image-open:focus-visible{outline:3px solid #777;outline-offset:4px}dialog{width:94vw;max-width:none;height:94svh;max-height:none;padding:0;border:0;background:#fff;color:#171717}dialog::backdrop{background:rgba(0,0,0,.85)}.viewer-toolbar{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:15px 22px;border-bottom:1px solid #ccc}.viewer-toolbar p{margin:0}.viewer-toolbar>div{display:flex;gap:20px;align-items:center}.viewer-toolbar a{font-size:14px;text-decoration:underline}.viewer-toolbar button{font:inherit;background:#171717;color:white;border:0;padding:10px 16px;cursor:pointer}.viewer-canvas{height:calc(100% - 75px);padding:20px;display:flex;align-items:center;justify-content:center;overflow:auto}.viewer-canvas img{max-width:100%;max-height:100%;object-fit:contain}@media(max-width:700px){.project-story,.project-gallery{grid-template-columns:1fr;gap:30px}.gallery-item:first-child{grid-column:auto}.project-intro>p:last-child{font-size:18px}.viewer-toolbar{padding:12px;gap:12px}.viewer-toolbar>div{gap:12px}.viewer-toolbar p{font-size:14px}.viewer-toolbar a{font-size:12px}.viewer-toolbar button{font-size:14px;padding:8px}.viewer-canvas{padding:8px}.drawing[data-photo] img{object-position:center}}
.bio-identity{display:flex;align-items:flex-end;gap:25px}.profile-portrait{width:clamp(125px,15vw,210px);height:auto;display:block;flex-shrink:0}.bio-identity h3{font-size:clamp(40px,4.3vw,66px)}.bio>p{align-self:center}@media(max-width:700px){.bio-identity{gap:20px}.profile-portrait{width:135px}.bio-identity h3{font-size:clamp(34px,8vw,52px)}}

.bio-identity{display:flex;flex-direction:column;align-items:flex-start;gap:18px}.profile-portrait{width:clamp(200px,22vw,300px);max-width:100%;height:auto}.bio-identity h3{font-size:clamp(24px,2.3vw,32px);line-height:1.2;letter-spacing:-.035em;white-space:nowrap}@media(max-width:700px){.bio-identity{gap:16px}.profile-portrait{width:240px}.bio-identity h3{font-size:26px}}

/* Restrained motion and clearer project actions. */
.project .under{display:inline-flex;align-items:center;justify-content:center;min-height:44px;margin-top:16px;padding:10px 20px;border:1px solid #171717;font-weight:600;transition:background-color .2s,color .2s}
.project:hover .under,.project:focus-visible .under{background:#171717;color:white;text-decoration:none}
.project .drawing img{transition:transform .45s cubic-bezier(.2,.7,.2,1)}
.project:hover .drawing img,.project:focus-visible .drawing img{transform:translateY(-6px) scale(1.035)}
nav a{position:relative;text-decoration:none!important}
nav a::after{content:'';position:absolute;left:0;right:0;bottom:-5px;height:1px;background:currentColor;transform:scaleX(0);transform-origin:left;transition:transform .2s}
nav a:hover::after,nav a:focus-visible::after{transform:scaleX(1)}
summary{transition:background-color .2s}
summary:hover{background:#f5f5f5}
.plus{transition:transform .25s}
@keyframes enter-view{from{opacity:.2;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}
@media(prefers-reduced-motion:no-preference){.entered-view{animation:enter-view .65s cubic-bezier(.2,.7,.2,1) both}}
@media(prefers-reduced-motion:reduce){.project .drawing img,.project .under,nav a::after,summary,.plus{transition:none}.project:hover .drawing img,.project:focus-visible .drawing img{transform:none}}

/* Center the portrait and name within the left profile column. */
.bio-identity{align-items:center;text-align:center;width:100%;min-width:0}
