
.disciplines article{grid-template-columns:1fr}
.photography-intro{padding:80px 0 64px;display:flex;align-items:baseline;justify-content:space-between;gap:24px}
.photography-intro h1{font-size:clamp(3rem,7vw,7rem);font-weight:400;letter-spacing:-.055em;margin:0}
.photo-section{padding:0 0 90px}.photo-section h2{font-size:16px;font-weight:400;border-top:1px solid var(--line);padding-top:24px;margin:0 0 36px}
.photo-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));align-items:start;gap:56px 28px}
.photo-work{display:block;min-width:0}.photo-frame{display:block;position:relative;overflow:hidden;background:#eee}
.photo-frame img{position:absolute;max-width:none;height:auto;display:block;margin:0}
.project-detail .photo-frame img,.photo-enlarged .photo-frame img:not([style]){width:100%;height:auto;left:0;top:0}
.project-heading .project-main-image{grid-row:1/4;align-self:start}
.raritown-cover{aspect-ratio:1.5!important}.raritown-cover img{width:100%!important;height:100%!important;margin:0!important;object-fit:cover!important}
.photo-work:focus-visible{outline:2px solid currentColor;outline-offset:6px}
button.photo-work{width:100%;padding:0;border:0;background:none;cursor:zoom-in;transition:transform .3s ease,box-shadow .3s ease}
@media(hover:hover){button.photo-work:hover{transform:translateY(-7px);box-shadow:0 18px 32px #0002}}
.photo-lightbox{position:fixed;inset:0;width:100vw;height:100dvh;max-width:none;max-height:none;border:0;padding:64px 24px;margin:0;background:transparent;overflow:hidden;color:white}
.photo-lightbox[open]{display:flex;align-items:center;justify-content:center}
.photo-lightbox::backdrop{background:rgb(0 0 0 / .65);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px)}
.photo-enlarged{width:min(88vw,calc((100dvh - 128px)*var(--photo-ratio)));box-shadow:0 24px 90px #0005;animation:photo-open .25s ease-out}
.photo-close{position:absolute;right:24px;top:16px;width:48px;height:48px;border:0;background:transparent;color:white;font-size:38px;cursor:pointer}
.photo-close:focus-visible{outline:2px solid white;outline-offset:3px}
body:has(.photo-lightbox[open])>.wrap{filter:blur(5px)}
@keyframes photo-open{from{opacity:0;transform:scale(.96)}to{opacity:1;transform:scale(1)}}
@media(prefers-reduced-motion:reduce){button.photo-work{transition:none}button.photo-work:hover{transform:none}.photo-enlarged{animation:none}}
.home-page .home-photography{display:block}.photo-preview{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px;align-items:center;margin-top:32px}
@media(max-width:1000px){header nav{gap:16px}.photo-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:700px){.photography-intro{padding:42px 0;display:block}.photography-intro .text-link{margin-top:24px}.photo-grid,.photo-preview{grid-template-columns:1fr;gap:32px}.photo-section{padding-bottom:56px}header nav{flex-wrap:wrap;gap:12px 18px}}
