:root{--paper:#ffffff;--white:#ffffff;--ink:#24292d;--deep:#ffffff;--muted:#535d65;--accent:#52616d;--line:#cdd3d7;--serif:Georgia,'Times New Roman',serif;--sans:Arial,Helvetica,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:30px}body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.65 var(--sans)}button,a{-webkit-tap-highlight-color:transparent}a{color:inherit;text-underline-offset:5px}button{font:inherit}a:focus-visible,button:focus-visible{outline:2px solid var(--accent);outline-offset:7px}.wrap{width:min(1240px,calc(100% - 112px));margin:0 auto}.skip{position:absolute;left:20px;top:-80px;z-index:20;background:var(--paper);padding:10px 16px}.skip:focus{top:10px}.nav{min-height:115px;display:flex;align-items:center;justify-content:space-between;gap:32px;border-bottom:1px solid var(--line)}.wordmark{display:flex;align-items:center;gap:18px;text-decoration:none}.wordmark>span{font:italic 39px/1 var(--serif);letter-spacing:-2px}.wordmark small{border-left:1px solid var(--line);padding-left:18px;font-size:9px;line-height:1.6;letter-spacing:2px;text-transform:uppercase}.nav nav{display:flex;gap:30px;align-items:center}.nav nav a{text-decoration:none;font-size:11px;letter-spacing:1.4px;text-transform:uppercase}.nav nav a:hover{text-decoration:underline}.nav .nav-contact{border-bottom:1px solid var(--ink);padding-bottom:4px}.eyebrow{font-size:10px;letter-spacing:2.7px;text-transform:uppercase;font-weight:normal;color:var(--muted);margin:0 0 23px}.eyebrow .dot{margin:0 10px;color:var(--accent)}h1,h2,h3,p,figure{margin-top:0}h1,h2,h3{font-family:var(--serif);font-weight:normal}h1{font-size:clamp(48px,5.2vw,77px);line-height:1.09;letter-spacing:-2.8px;margin-bottom:29px}h1 em,h2 em{font-weight:normal;color:var(--accent)}.hero{display:grid;grid-template-columns:1fr 1.05fr;gap:72px;align-items:center;padding-top:63px;padding-bottom:76px}.hero-copy{padding:24px 0}.hero-copy .intro{max-width:395px;color:var(--muted);font-size:15px;line-height:1.85;margin-bottom:34px}.hero-name{font:22px/1.3 var(--serif);margin-bottom:17px}.hero-photo{margin:0 auto;position:relative;isolation:isolate;width:min(100%,420px)}.hero-photo::before{content:none}.hero-photo img{display:block;width:100%;height:auto;aspect-ratio:3/4;object-fit:contain;border:0;padding:0;background:#ffffff;box-shadow:none}.hero-photo figcaption{display:flex;justify-content:space-between;gap:15px;font-size:10px;letter-spacing:1.4px;text-transform:uppercase;color:var(--muted);padding-top:17px}.hero-photo figcaption a{color:var(--accent);text-decoration:none;white-space:nowrap}.hero-photo figcaption a:hover{text-decoration:underline}.text-link{display:inline-flex;gap:22px;align-items:center;font-size:11px;letter-spacing:1.5px;text-transform:uppercase;text-decoration:none;padding:0 0 9px;border-bottom:1px solid var(--ink)}.text-link span{font-size:20px;line-height:1}.hero-note{font-size:10px;line-height:1.6;letter-spacing:1px;color:var(--muted);margin:42px 0 0;text-transform:uppercase}.hero-note span{display:block;color:var(--accent)}.ribbon{border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:#ffffff;box-shadow:none}.ribbon .wrap{display:flex;justify-content:center;gap:35px;align-items:center;min-height:63px;font-size:10px;letter-spacing:1.8px;text-transform:uppercase}.ribbon b{font-size:7px;color:var(--accent);font-weight:normal}.section{padding-top:93px;padding-bottom:97px}.section-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:50px;margin-bottom:43px}.section-heading .eyebrow{margin-bottom:17px}h2{font-size:clamp(35px,3.8vw,52px);line-height:1.18;letter-spacing:-1.3px;margin:0}.section-heading>p{max-width:290px;color:var(--muted);font-size:13px;line-height:1.85;margin:0 0 5px}.gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:56px 32px}.work{margin:0}.work-button{display:block;width:100%;border:0;padding:0;background:#ffffff;cursor:zoom-in;overflow:hidden}.work img{display:block;width:100%;height:auto;aspect-ratio:3/4;object-fit:contain;transition:transform .45s ease}.work-button:hover{opacity:.94}.work-button:hover img{transform:none}.work:nth-child(3n+2){padding-top:45px}.work figcaption{display:flex;gap:18px;margin-top:17px;align-items:baseline}.work .index{font:italic 12px var(--serif);color:var(--accent)}.work h3{font-size:20px;line-height:1.3;margin:0 0 4px}.work figcaption p{color:var(--muted);font-size:11px;line-height:1.6;margin:0}.craft{background:#ffffff;color:var(--ink);border-top:1px solid #bec7ce;border-bottom:1px solid #c8d0d6;box-shadow:none}.craft .section-heading{align-items:flex-start;margin-bottom:47px}.craft .eyebrow{color:#52616d}.craft h2 em{color:#485865}.craft .section-heading>p{color:#46525b;padding-top:33px}.craft-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:46px}.craft-grid article{border-top:1px solid #abb6be;padding-top:27px}.craft-grid .index{color:#485865;display:block;font:italic 13px var(--serif);margin-bottom:20px}.craft-grid h3{font-size:27px;line-height:1.2;margin-bottom:17px}.craft-grid p{color:#46525b;font-size:13px;line-height:1.85;margin:0}.about{display:grid;grid-template-columns:.9fr 1.1fr;gap:115px;align-items:center}.portrait-composition{width:100%;display:grid;grid-template-columns:1fr auto;align-items:center;gap:24px;max-width:390px;margin:0 auto}.portrait-frame{background:#ffffff;padding:0}.portrait-frame img{display:block;width:100%;height:auto}.portrait-composition figcaption{writing-mode:vertical-rl;font-size:9px;text-transform:uppercase;letter-spacing:2.8px;color:var(--muted)}.about-copy h2{margin-bottom:26px}.about-copy>p:not(.eyebrow){font-size:14px;line-height:1.9;color:var(--muted);max-width:485px}.about-copy .text-link{margin-top:17px}.experience{border-top:1px solid var(--line);display:grid;grid-template-columns:.8fr 1.2fr;gap:100px;padding-top:55px;padding-bottom:77px}.experience h2{font-size:38px}.timeline article{display:grid;grid-template-columns:110px 1fr;gap:25px;padding:20px 0;border-bottom:1px solid var(--line)}.timeline article:first-child{padding-top:0}.timeline .date{font-size:10px;text-transform:uppercase;letter-spacing:1px;color:var(--muted);margin:5px 0 0}.timeline h3{font-size:22px;line-height:1.25;margin:0 0 6px}.timeline .place{font-size:12px;color:var(--muted);margin:0}.footer{background:#ffffff;border-top:1px solid var(--line);padding:56px 0 27px}.footer-top{display:flex;align-items:flex-start;justify-content:space-between;gap:30px;padding-bottom:48px}.footer h2{font-size:38px;margin-bottom:17px}.footer .eyebrow{margin-bottom:17px}.footer .place{font-size:12px;color:var(--muted);margin:0}.contact-links{display:flex;flex-direction:column;align-items:flex-start;gap:8px;padding-top:10px;font-size:13px}.contact-links a{text-decoration:none}.contact-links a:hover{text-decoration:underline}.footer-bottom{display:flex;justify-content:space-between;gap:25px;border-top:1px solid #c7ced3;padding-top:23px;font-size:9px;letter-spacing:1.5px;text-transform:uppercase;color:var(--muted)}.footer-bottom p{margin:0}.lightbox{border:0;padding:0;background:var(--white);color:var(--ink);width:min(528px,calc(100vw - 32px));max-height:calc(100dvh - 40px);overflow:auto}.lightbox::backdrop{background:rgba(26,31,35,.86)}.lightbox-bar{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:17px 24px}.lightbox-bar p{font:21px var(--serif);margin:0}.lightbox button{border:0;background:none;padding:8px;cursor:pointer;font-size:11px;text-transform:uppercase;letter-spacing:1px}.lightbox img{display:block;width:auto;max-width:100%;height:auto;max-height:min(640px,calc(100dvh - 220px));object-fit:contain;margin:0 auto;background:#ffffff}.lightbox-caption{padding:15px 24px;font-size:12px;color:var(--muted);margin:0}

@media(max-width:1000px){.wrap{width:calc(100% - 64px)}.hero{gap:40px}.hero-photo{max-width:360px}.hero h1{font-size:56px}.about{gap:65px}.experience{gap:55px}.craft-grid{gap:30px}.nav nav{gap:20px}}
@media(max-width:760px){.wrap{width:calc(100% - 42px)}.nav{min-height:91px;gap:15px}.wordmark small{display:none}.wordmark>span{font-size:35px}.nav nav{gap:16px}.nav nav a{font-size:9px;letter-spacing:1px}.nav .nav-contact{display:none}.hero{grid-template-columns:1fr;gap:30px;padding-top:28px;padding-bottom:42px}.hero-copy{padding:17px 0 7px}.hero h1{font-size:56px;letter-spacing:-2px;max-width:480px;margin-bottom:25px}.hero-name{font-size:22px}.hero-copy .intro{max-width:480px;margin-bottom:27px}.hero-note{margin-top:25px;font-size:9px}.hero-note span{display:inline;margin-left:8px}.hero-photo{width:min(100% - 10px,380px);margin:0 auto}.hero-photo::before{content:none}.hero-photo img{height:auto;aspect-ratio:3/4;object-fit:contain}.hero-photo figcaption{font-size:9px;padding-top:15px}.ribbon .wrap{gap:17px;font-size:8px;letter-spacing:.9px;min-height:54px}.section{padding:60px 0}.section-heading{display:block;margin-bottom:32px}.section-heading>p{max-width:420px;margin-top:20px;font-size:13px}h2{font-size:39px}.gallery{grid-template-columns:repeat(2,minmax(0,1fr));gap:30px 16px}.work:nth-child(3n+2){padding-top:0}.work:nth-child(even){padding-top:30px}.work figcaption{gap:10px;margin-top:12px}.work h3{font-size:18px}.work figcaption p{font-size:10px}.craft .section-heading>p{padding-top:0;max-width:460px}.craft .section-heading{margin-bottom:33px}.craft-grid{grid-template-columns:1fr;gap:29px}.craft-grid article{display:grid;grid-template-columns:30px 1fr;gap:0 15px;padding-top:25px}.craft-grid .index{grid-row:1/3;margin:8px 0 0}.craft-grid h3{font-size:26px;margin-bottom:12px}.craft-grid p{grid-column:2;max-width:490px}.about{grid-template-columns:1fr;gap:35px}.portrait-composition{max-width:290px;margin:0}.portrait-frame{padding:0}.about-copy h2{font-size:39px}.experience{grid-template-columns:1fr;gap:35px;padding-top:42px;padding-bottom:55px}.experience h2{font-size:35px}.timeline article{grid-template-columns:93px 1fr;gap:18px}.timeline h3{font-size:21px}.footer{padding-top:43px}.footer-top{display:block;padding-bottom:35px}.footer h2{font-size:35px}.contact-links{padding-top:29px}.footer-bottom{display:block;font-size:8px;line-height:1.9}.footer-bottom p+p{margin-top:7px}.lightbox-bar{padding:12px 15px}.lightbox-bar p{font-size:18px}.lightbox-caption{padding:13px 15px}}
@media(max-width:390px){.hero h1{font-size:47px}.ribbon .wrap{gap:11px;font-size:7px}.nav nav{gap:11px}.gallery{gap:27px 12px}.work figcaption{gap:7px}.work h3{font-size:16px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.work img{transition:none}.work-button:hover img{transform:none}}
@media print{.nav,.ribbon,.text-link,.skip,.lightbox{display:none}.wrap{width:100%}body{font-size:11pt;background:#fff}.hero{padding:0 0 25px;gap:25px}.hero h1{font-size:35pt}.hero-photo img{height:auto;max-height:320px}.hero-note{margin-top:15px}.section{padding:25px 0}.section-heading{margin-bottom:22px}h2{font-size:25pt}.gallery{gap:20px}.work h3{font-size:15pt}.craft{background:#fff;color:var(--ink)}.craft .eyebrow,.craft h2 em,.craft .section-heading>p,.craft-grid p{color:var(--muted)}.about{gap:50px}.portrait-composition{max-width:200px}.experience{padding:25px 0}.footer{background:#fff;padding:25px 0}.footer-top{padding-bottom:20px}figure,article{break-inside:avoid}}

/* Recent photographs retain their original 3:4 composition and modest resolution. */
.photo-source{display:inline-block;margin-top:10px;font-size:10px;letter-spacing:.6px;color:var(--accent);text-decoration:none}.photo-source:hover{text-decoration:underline}.gallery-note{font-size:11px;color:var(--muted);margin:35px 0 0;line-height:1.8}.lightbox-source{display:inline-block;margin:0 24px 20px;font-size:10px;color:var(--accent);letter-spacing:.5px}.work-button:hover img{transform:none}
@media(max-width:560px){.gallery{grid-template-columns:1fr;gap:35px;max-width:380px;margin:0 auto}.work:nth-child(even){padding-top:0}.work h3{font-size:22px}.work figcaption p{font-size:12px}.work .index{font-size:13px}.work figcaption{gap:16px}.photo-source{font-size:10px}.gallery-note{max-width:380px;margin:28px auto 0}}

/* Draw external-link arrows without depending on a font glyph. */
.arrow-icon{display:inline-block;position:relative;width:8px;height:8px;border-top:1px solid currentColor;border-right:1px solid currentColor;margin-left:4px;vertical-align:1px;flex:0 0 auto}.arrow-icon::after{content:"";position:absolute;top:-1px;right:-1px;width:11px;height:1px;background:currentColor;transform:rotate(-45deg);transform-origin:right center}
