*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:#fff;color:#171717;font-family:Arial,Helvetica,sans-serif;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}a:focus-visible,button:focus-visible{outline:2px solid #555;outline-offset:7px}.header{padding:43px 4.4% 45px;display:flex;align-items:center;justify-content:space-between;gap:36px}.signature{position:relative;display:inline-block;font-family:'Freestyle Script','Brush Script MT','Segoe Script',cursive;font-style:italic;font-size:78px;line-height:1.1;letter-spacing:-4px;transform:rotate(-7deg);white-space:nowrap;padding:0 14px 8px 0}.flourish{position:absolute;left:4%;bottom:5px;width:101%;height:12px;border-bottom:2px solid;border-radius:50%;transform:rotate(-7deg)}nav{display:flex;gap:33px;align-items:center}nav a{font-size:14px;line-height:1.6;padding:5px 0;white-space:nowrap}nav a:hover,nav a[aria-current]{text-decoration:underline;text-underline-offset:6px;text-decoration-thickness:1px}.toggle{display:none}.gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:29px 18px}.view{margin:0 2.2%}.tile{margin:0}.placeholder{aspect-ratio:1.38;background:#e7e5e0;display:flex;align-items:center;justify-content:center;position:relative}.placeholder span{font-size:12px;letter-spacing:1.5px;text-transform:uppercase;color:#6c6a65}.two{background:#e0e4e4}.three{background:#e7e2dd}.four{background:#e3e5df}.five{background:#e6e3e3}.six{background:#e2e1dd}figcaption{font-size:14px;text-align:center;padding-top:12px;line-height:1.5}.preview-note{font-size:12px;color:#777;text-align:center;margin:42px 0}footer{margin:30px 4.4% 0;padding:30px 0 38px;display:flex;justify-content:space-between;gap:20px;font-size:13px;color:#555}footer a{color:#171717}.collection,.about{min-height:58vh;padding:70px 6%}.collection h1,.about h1{font-size:36px;font-weight:400}.collection p,.about p{font-size:18px;line-height:1.7;max-width:570px}.collection a{display:inline-block;margin-top:25px;font-size:14px}.pending{color:#777}[hidden]{display:none!important}@media(min-width:1600px){body{max-width:1900px;margin:auto}.header{padding-top:55px;padding-bottom:55px}}@media(max-width:760px){.header{padding:27px 23px 34px;position:relative;flex-wrap:wrap;gap:0}.signature{font-size:60px;letter-spacing:-3px}.toggle{display:flex;flex-direction:column;justify-content:center;gap:6px;width:44px;height:44px;background:none;border:0;padding:8px;cursor:pointer;margin-left:auto;z-index:2}.toggle span{display:block;height:1.5px;width:27px;background:#171717;transition:transform .2s,opacity .2s}.toggle[aria-expanded=true] span:first-child{transform:translateY(7.5px) rotate(45deg)}.toggle[aria-expanded=true] span:nth-child(2){opacity:0}.toggle[aria-expanded=true] span:last-child{transform:translateY(-7.5px) rotate(-45deg)}nav{display:none;width:100%;padding:28px 0 4px;gap:20px;flex-direction:column;align-items:flex-start}nav.open{display:flex}nav a{font-size:18px}.view{margin:0 15px}.gallery{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px 12px}.placeholder{aspect-ratio:.86}.placeholder span{font-size:10px;letter-spacing:.6px}figcaption{font-size:13px;padding-top:10px}.preview-note{margin:33px 0;font-size:11px}footer{margin:0 23px;padding:24px 0 30px;flex-wrap:wrap;font-size:12px}footer a{width:100%;margin-top:9px}.collection,.about{padding:30px 12px;min-height:60vh}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.toggle span{transition:none}}

/* Reference-led serif identity and tightly spaced contact sheet. */
.header{padding:24px 3.5% 54px;gap:30px;min-height:220px}
.signature{width:215px;height:140px;flex:none;padding:0;transform:none;letter-spacing:normal;line-height:1;font-style:normal}
.signature svg{display:block;width:100%;height:100%;overflow:visible}
nav{gap:clamp(24px,3.5vw,65px)}
nav a{font-family:Georgia,'Times New Roman',serif;font-size:clamp(18px,1.55vw,28px);font-weight:700;letter-spacing:-.65px;line-height:1.25}
nav a:hover,nav a[aria-current]{text-underline-offset:7px}
.view{margin-left:1.15%;margin-right:1.15%}
.gallery{gap:5px}
.placeholder{aspect-ratio:1}
.tile{position:relative}
figcaption{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
@media(min-width:1600px){body{max-width:none}.header{padding-top:30px;padding-bottom:70px;min-height:270px}.signature{width:260px;height:170px}}
@media(max-width:760px){.header{padding:17px 20px 30px;min-height:150px;gap:0;align-items:center}.signature{width:153px;height:103px}.view{margin-left:7px;margin-right:7px}.gallery{gap:4px}.placeholder{aspect-ratio:1}nav{gap:20px;padding:25px 0 10px}nav a{font-size:23px;letter-spacing:-.5px}.toggle{align-self:center}.collection,.about{padding-left:16px;padding-right:16px}}

/* Typography shared by collection pages, contact and footer. */
.collection,.about,footer,figcaption{font-family:Georgia,'Times New Roman',serif}
.collection h1,.about h1{font-weight:700;letter-spacing:-1.2px}
.collection a,footer a{font-weight:700;font-size:16px}
footer{font-size:16px}
.signature{position:relative;font-family:Georgia,'Times New Roman',serif;font-size:65px;font-weight:400;letter-spacing:-4px}
.signature span{display:block;position:absolute;white-space:nowrap}
.signature .name-first{left:0;top:5px;transform:rotate(9deg)}
.signature .name-last{left:98px;top:67px;transform:rotate(-15deg);font-size:78px}
.signature[data-style="2"]{font-size:55px;letter-spacing:-3px}
.signature[data-style="2"] .name-first{top:38px;transform:none}
.signature[data-style="2"] .name-last{left:150px;top:38px;font-size:55px;transform:none}
.signature[data-style="3"] .name-first{top:0;transform:none;font-size:60px}
.signature[data-style="3"] .name-last{left:110px;top:60px;transform:none;font-size:80px}
.signature[data-style="4"]{font-style:italic;letter-spacing:-4px}
.signature[data-style="4"] .name-first{top:28px;transform:rotate(-9deg);font-size:59px}
.signature[data-style="4"] .name-last{left:149px;top:55px;transform:rotate(-9deg);font-size:64px}
.signature[data-style="5"]{font-family:Didot,'Bodoni MT',Georgia,serif;letter-spacing:-5px}
.signature[data-style="5"] .name-first{top:18px;transform:none;font-size:62px}
.signature[data-style="5"] .name-last{left:130px;top:67px;transform:none;font-size:72px}
.signature[data-style="6"]{font-variant:small-caps;letter-spacing:1px}
.signature[data-style="6"] .name-first{top:28px;transform:none;font-size:48px}
.signature[data-style="6"] .name-last{left:159px;top:28px;transform:none;font-size:48px}
.signature-picker{margin:0 1.15% 20px;padding:14px 0;border-top:1px solid #ddd;border-bottom:1px solid #ddd;font-family:Georgia,'Times New Roman',serif;display:flex;align-items:center;gap:20px;flex-wrap:wrap}
.signature-picker>span{font-size:14px;color:#666}.signature-picker>div{display:flex;gap:8px;flex-wrap:wrap}.signature-picker button{font-family:inherit;font-size:14px;background:#fff;border:1px solid #ccc;padding:9px 12px;cursor:pointer;color:#222}.signature-picker button[aria-pressed="true"]{background:#222;color:white;border-color:#222}.signature-picker button:focus-visible{outline:2px solid #555;outline-offset:3px}
@media(max-width:760px){.signature{transform:scale(.7);transform-origin:left center;width:155px;height:115px}.signature-picker{margin:0 7px 14px;padding:12px 4px;gap:10px}.signature-picker button{padding:9px;font-size:13px}.collection a,footer a,footer{font-size:16px}}

.photo-tile{display:block;padding:0;border:0;background:#eee;cursor:zoom-in;width:100%;aspect-ratio:1;overflow:hidden}.photo-tile img,.project-card img{display:block;width:100%;height:100%;object-fit:cover}.photo-tile:focus-visible{outline:3px solid #222;outline-offset:-4px}.collection.loaded{padding:0;min-height:55vh}.project-card{display:block;position:relative;aspect-ratio:1;overflow:hidden}.project-card span{position:absolute;bottom:0;left:0;right:0;color:white;background:linear-gradient(transparent,rgba(0,0,0,.55));padding:45px 20px 20px;font:700 22px Georgia,serif}.project-bar{display:flex;justify-content:space-between;align-items:center;padding:0 12px 22px;font-family:Georgia,serif}.project-bar a{margin:0}.lightbox{border:0;padding:60px 65px;background:#fff;width:100vw;max-width:100vw;height:100dvh;max-height:100dvh}.lightbox[open]{display:flex;align-items:center;justify-content:center}.lightbox::backdrop{background:#fff}.lightbox img{max-width:100%;max-height:100%;object-fit:contain}.lightbox button{position:absolute;background:rgba(255,255,255,.85);border:0;width:44px;height:44px;font-size:32px;cursor:pointer}.close-photo{right:15px;top:10px}.previous-photo{left:10px;top:48%}.next-photo{right:10px;top:48%}.photo-counter{position:absolute;bottom:18px;font:14px Georgia,serif}body:has(dialog[open]){overflow:hidden}@media(max-width:760px){.lightbox{padding:65px 8px}.previous-photo,.next-photo{top:auto!important;bottom:8px}.project-card span{font-size:18px;padding:30px 12px 12px}}

/* Project details preserve each photograph's complete composition. */
.full-frame-gallery{display:block;columns:3;column-gap:5px}
.full-frame-gallery .photo-tile{aspect-ratio:auto;break-inside:avoid;margin:0 0 5px;background:transparent}
.full-frame-gallery .photo-tile img{width:100%;height:auto;object-fit:contain}
@media(max-width:760px){.full-frame-gallery{columns:1}.full-frame-gallery .photo-tile{margin-bottom:4px}}

.signature[data-style="4"]{width:330px;height:130px;flex-shrink:0}
.signature[data-style="4"] .name-first{top:25px;font-size:59px}
.signature[data-style="4"] .name-last{left:147px;top:48px;font-size:59px}
.about{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:clamp(35px,7vw,110px);max-width:1250px;margin:10px auto 70px;padding:25px 5% 40px;align-items:start}
.about-copy{padding-top:20px}.about h1{margin:0 0 30px;font-size:32px}.about p{font-size:19px;line-height:1.75;margin:0 0 22px;max-width:none}.contact-email{display:inline-block;font-size:18px;margin-top:18px;text-decoration:underline;text-underline-offset:5px;overflow-wrap:anywhere;max-width:100%}.profile-photo{width:100%;height:auto;display:block}
@media(max-width:1000px) and (min-width:761px){.signature[data-style="4"]{width:265px;transform:scale(.82);transform-origin:left center;margin-right:-35px}nav{gap:20px}nav a{font-size:18px}}
@media(max-width:760px){.signature[data-style="4"]{width:225px;height:115px;transform:scale(.65);transform-origin:left center;margin-right:-30px}.about{grid-template-columns:1fr;gap:35px;margin:0 22px 40px;padding:0}.about-copy{padding-top:0}.about p{font-size:17px}.about h1{font-size:28px}.profile-photo{max-width:460px}.contact-email{font-size:17px}}

/* Shared statement and a restrained contact-first biography. */
.header{padding-bottom:22px;min-height:190px}
.site-motto{margin:0 3.5% 30px;padding:0 0 22px;border-bottom:1px solid #bbb}
.site-motto p{margin:0;font:italic 18px/1.65 Georgia,'Times New Roman',serif;color:#454545}
.about{padding-top:20px;gap:clamp(40px,7vw,100px)}
.about-copy{padding-top:6px}.about .contact-heading{margin-bottom:38px}
.about .contact-heading h1{font-size:18px;line-height:1.5;font-weight:400;letter-spacing:0;margin:0 0 10px}
.about .contact-email{font-size:18px;line-height:1.65;margin:0;text-decoration-thickness:1px;text-underline-offset:5px}
.about p{font-size:18px;line-height:1.85;margin-bottom:24px}
@media(min-width:1600px){.header{padding-bottom:25px;min-height:220px}}
@media(max-width:760px){.header{padding-bottom:15px;min-height:145px}.site-motto{margin:0 22px 24px;padding-bottom:18px}.site-motto p{font-size:16px}.about{padding-top:10px}.about p{font-size:17px;line-height:1.85}.about .contact-email{font-size:17px}.about .contact-heading{margin-bottom:30px}}

.site-divider{margin:0 3.5% 30px;border-bottom:1px solid #bbb}
.about .contact-email{font-weight:700;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:5px}
.about .about-copy p{margin:0 0 3.7em;line-height:1.85}
.about .about-copy p:last-child{margin-bottom:0}
@media(max-width:760px){.site-divider{margin:0 22px 24px}}

/* Raise the divider slightly and add quiet equipment information. */
.site-divider{position:relative;top:-12px;margin-bottom:18px}
.about .about-copy .equipment{font-size:15px;line-height:1.85;color:#555;margin:0}
.equipment strong{font-weight:700;color:#222}
@media(max-width:760px){.site-divider{top:-8px;margin-bottom:16px}.about .about-copy .equipment{font-size:15px}}

.selected-pagination{display:flex;align-items:center;justify-content:center;gap:12px;margin:34px 0 22px;flex-wrap:wrap}
.selected-pagination button{font:16px/1.5 Georgia,serif;background:transparent;border:0;padding:10px 13px;color:#222;cursor:pointer;min-width:44px;min-height:44px}
.selected-pagination button[aria-current="page"]{text-decoration:underline;text-underline-offset:6px;font-weight:700}
.selected-pagination button:disabled{opacity:.35;cursor:default}
.selected-pagination button:focus-visible{outline:1px solid #222;outline-offset:2px}
@media(max-width:760px){.selected-pagination{gap:4px;margin-top:24px}.selected-pagination button{padding:9px}}

.about .profile-column .equipment{font:15px/1.85 Georgia,serif;color:#555;margin:20px 0 0}.about .about-copy p:last-child{margin-bottom:0}

.site-divider{top:-22px;margin-bottom:8px}
@media(max-width:760px){.site-divider{top:-16px;margin-bottom:8px}}

/* A narrower photographic canvas, with restrained interaction. */
body{max-width:1440px;margin:0 auto;padding:0 5%}
.header{padding:22px 0 26px;min-height:165px;gap:22px}
.header nav{gap:28px}.header nav a{font-size:16px;letter-spacing:-.25px}
.signature[data-style="4"]{transform:scale(.82);transform-origin:left center;width:275px;margin-right:-25px}
.view{margin-left:0;margin-right:0}.site-divider{margin-left:0;margin-right:0;top:-14px;margin-bottom:16px}
.collection .project-card{display:block;margin:0;width:100%;min-width:0;aspect-ratio:1}
.project-card img,.photo-tile img{transition:filter .3s ease}
.project-card span{inset:0;display:flex;align-items:center;justify-content:center;background:none;padding:16px;font-size:26px;opacity:0;transition:opacity .3s ease}
@media(hover:hover){.photo-tile:hover img,.project-card:hover img{filter:brightness(.62)}.project-card:hover span{opacity:1}}
.photo-tile:focus-visible img,.project-card:focus-visible img{filter:brightness(.62)}.project-card:focus-visible span{opacity:1}
.selection-controls{text-align:center;padding:24px 0 4px}.refresh-selection{font:15px Georgia,serif;background:none;border:0;color:#555;padding:12px 18px;min-height:44px;cursor:pointer}.refresh-selection:hover{text-decoration:underline;text-underline-offset:5px}
.reveal-photo{opacity:0;transform:translateY(14px);transition:opacity .65s ease,transform .65s ease}.reveal-photo.revealed{opacity:1;transform:none}
footer{margin-left:0;margin-right:0;font-size:14px}footer a{font-size:14px}
@media(max-width:760px){body{padding:0 6%}.header{padding:14px 0 20px;min-height:130px}.signature[data-style="4"]{transform:scale(.62);width:205px;margin-right:-35px}.header nav{gap:18px}.header nav a{font-size:19px}.site-divider{top:-10px;margin-bottom:12px}.about{margin-left:0;margin-right:0}.project-card span{font-size:20px}.project-grid{grid-template-columns:1fr}.selection-controls{padding-top:18px}}
@media(hover:none){.project-card span{opacity:1;align-items:flex-end;background:linear-gradient(transparent 55%,rgba(0,0,0,.5));padding-bottom:20px}}
@media(prefers-reduced-motion:reduce){.reveal-photo{opacity:1;transform:none;transition:none}.project-card img,.photo-tile img,.project-card span{transition:none}}

.page-navigation{display:flex;justify-content:space-between;gap:24px;border-top:1px solid #ddd;margin:38px 0 0;padding:22px 0 8px}
.page-navigation a{display:flex;flex-direction:column;gap:7px;padding:6px 0;font:15px/1.5 Georgia,serif}.page-navigation a:last-child{text-align:right}.page-navigation a span:first-child{font-size:13px;color:#777}.page-navigation a:hover{text-decoration:underline;text-underline-offset:5px}.refresh-selection:disabled{opacity:.5;cursor:wait}
@media(max-width:760px){.page-navigation{margin-top:28px}.page-navigation a{font-size:14px}}

@media(min-width:761px){#selected-work .photo-gallery{width:min(100%,max(360px,calc((100svh - 270px)*1.5)));max-width:1040px;margin:0 auto}.selection-controls{padding-top:14px}.header{min-height:150px;padding-top:15px;padding-bottom:18px}}

@media(min-width:761px){#selected-work .photo-gallery{width:min(100%,max(504px,calc((100svh - 270px)*2.1)));max-width:1456px}}

/* Prevent mobile text autosizing and keep the serif identity legible. */
html{-webkit-text-size-adjust:100%;text-size-adjust:100%}
@media(max-width:760px){.header nav a{font-family:Georgia,'Times New Roman',serif;font-size:18px;font-weight:700;letter-spacing:0;line-height:1.5}.signature[data-style="4"]{transform:none;width:220px;height:95px;margin-right:0;font-family:Georgia,'Times New Roman',serif;letter-spacing:-2px}.signature[data-style="4"] .name-first{font-size:38px;top:16px;left:0}.signature[data-style="4"] .name-last{font-size:38px;top:34px;left:96px}.about p{font-size:17px;line-height:1.85}.page-navigation a,footer,footer a{font-family:Georgia,'Times New Roman',serif;letter-spacing:0}}
