:root{--bg:#f7f7f3;--ink:#1d1e1b;--muted:#777a74;--line:#d9dbd4;--page-width:1420px;--page-pad:clamp(22px,5.2vw,90px)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--ink);font-family:Arial,Helvetica,sans-serif;-webkit-font-smoothing:antialiased}body:has(dialog[open]){overflow:hidden}
a{color:inherit;text-decoration:none}button{font:inherit}img{display:block;max-width:100%}::selection{background:#b8c4b2;color:#161913}
.page{max-width:var(--page-width);margin:0 auto;padding-left:var(--page-pad);padding-right:var(--page-pad)}
.skip-link{position:absolute;top:-70px;left:20px;padding:12px 18px;background:var(--ink);color:white;z-index:99}.skip-link:focus{top:12px}
.site-header{display:flex;align-items:center;justify-content:space-between;gap:24px;min-height:106px;border-bottom:1px solid var(--line)}.brand{display:flex;align-items:baseline;gap:16px;white-space:nowrap}.brand-name{font-size:16px;font-weight:700;letter-spacing:-.055em}.site-nav{display:flex;align-items:center;gap:clamp(20px,3.6vw,56px)}.site-nav a{font-size:12px;color:#565953;transition:color .2s}.site-nav a:hover,.site-nav a:focus-visible{color:#111}.nav-index{font-size:9px;color:#a0a39b;margin-right:6px}.nav-contact{display:inline-flex;align-items:center;gap:12px}.arrow{display:inline-block;transition:transform .2s}.nav-contact:hover .arrow,.text-link:hover .arrow{transform:translate(4px,-4px)}
.overline{display:flex;align-items:center;gap:13px;font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:#555a51;font-weight:600}.overline-dot{width:6px;height:6px;border-radius:50%;background:#919c83;flex-shrink:0}.section-kicker{font-size:10px;color:#72766f;letter-spacing:.12em;text-transform:uppercase}
.home-intro{padding-top:clamp(44px,5vw,72px);padding-bottom:clamp(45px,5vw,72px)}.home-intro-text{margin:0;font:400 12px/1.6 Arial,Helvetica,sans-serif;letter-spacing:0;overflow-wrap:anywhere}.work-section{padding-bottom:clamp(95px,12vw,175px)}
.section-topline{display:flex;justify-content:space-between;gap:18px;align-items:center;padding-top:22px;border-top:1px solid var(--ink);margin-bottom:41px}.section-heading{font-size:13px;font-weight:700;letter-spacing:-.012em}.section-count{font-size:11px;font-variant-numeric:tabular-nums;color:#80847c}
.works-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(45px,5.2vw,80px) clamp(22px,3.6vw,53px);align-items:start}.project-card:nth-child(even){margin-top:clamp(65px,12vw,165px)}.project-card:nth-child(3){margin-top:-60px}.project-card-media{display:block;position:relative;overflow:hidden;background:#d5d7d1}.project-card-media img{width:100%;height:100%;object-fit:cover;transition:transform .8s cubic-bezier(.18,.71,.2,1),filter .6s}.project-card:hover img,.project-card:focus-within img{transform:scale(1.045)}.project-card:nth-child(3n+1) .project-card-media{aspect-ratio:4 / 5}.project-card:nth-child(3n+2) .project-card-media{aspect-ratio:5 / 4}.project-card:nth-child(3n+3) .project-card-media{aspect-ratio:6 / 5}.image-indicator{position:absolute;right:18px;top:18px;display:grid;place-items:center;background:#f7f7f3d9;width:35px;height:35px;border-radius:50%;font-size:16px;opacity:0;transform:translateY(7px);transition:.2s}.project-card:hover .image-indicator,.project-card:focus-within .image-indicator{opacity:1;transform:translateY(0)}.project-card-bottom{display:flex;justify-content:space-between;align-items:flex-start;gap:22px;padding-top:17px}.project-meta{font-size:10px;letter-spacing:.075em;color:#7c8078;text-transform:uppercase}.project-name{font:normal clamp(24px,3.4vw,42px)/1.18 Georgia,serif;letter-spacing:-.05em;margin:9px 0 10px}.project-subtitle{font-size:12px;line-height:1.7;color:#73766f;margin:0}.project-number{font-size:11px;color:#84877f;font-variant-numeric:tabular-nums;white-space:nowrap;padding-top:5px}
.footer{border-top:1px solid var(--ink);padding-top:30px;padding-bottom:34px;display:flex;justify-content:space-between;align-items:flex-end;gap:20px}.footer-name{font:normal 24px Georgia,serif;letter-spacing:-.045em}.footer-right{font-size:10px;color:#848880;text-align:right;line-height:1.9}
/* Photo-first project layout: quiet type, minimal framing, whole image visible. */
.project-back{display:inline-flex;align-items:center;gap:10px;font-size:11px;letter-spacing:.02em;color:#6c7168;margin-top:28px}.project-back:hover{color:var(--ink)}
.project-hero{padding-top:27px}.project-hero-top{display:flex;justify-content:space-between;align-items:center;gap:20px}.project-hero .overline{font-size:9px;font-weight:400;color:#888c84}
.project-hero-title{font:500 19px/1.35 Arial,Helvetica,sans-serif;letter-spacing:-.02em;max-width:none;margin:15px 0 15px}
.project-summary{display:flex;justify-content:space-between;align-items:flex-start;gap:35px;margin-bottom:25px}.project-summary p{margin:0;max-width:520px;color:#7d8079;line-height:1.7;font-size:12px}
.project-facts{display:flex;gap:26px;padding-top:0}.fact-label{display:block;font-size:9px;letter-spacing:.06em;text-transform:uppercase;color:#989c94;margin-bottom:5px}.fact-value{font-size:11px;color:#777b75}
.cover-image{display:flex;justify-content:center;align-items:center;width:100%;background:transparent;overflow:hidden;cursor:zoom-in}.cover-image img{width:auto;height:auto;max-width:100%;max-height: min(84vh,980px);object-fit:contain}
.photo-caption,.gallery-image-index{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;font-size:10px;letter-spacing:.01em;line-height:1.6;color:#969a94;margin:10px 0 0;text-transform:none;font-variant-numeric:tabular-nums}
.photo-index{flex:0 0 auto;color:#a3a79f}.photo-exif{flex:1;text-align:right;overflow-wrap:anywhere}
.gallery-title{display:flex;align-items:center;justify-content:space-between;padding-top:63px;padding-bottom:22px;font-size:10px;color:#777c75}
.gallery-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(27px,4.2vw,64px) clamp(20px,3vw,48px);align-items:start}.gallery-item{display:block;min-width:0;margin:0}.gallery-item:nth-child(3n){grid-column:1/-1;width:87%;justify-self:center;margin:15px 0}.gallery-link{display:block;position:relative;overflow:hidden;background:transparent;cursor:zoom-in}.gallery-link img{width:100%;height:auto;transition:opacity .25s}.gallery-link:hover img{opacity:.89}.gallery-item:nth-child(3n+2){margin-top:90px}
.project-footer-nav{display:flex;justify-content:space-between;align-items:center;gap:24px;border-top:1px solid var(--ink);padding:32px 0;margin-top:clamp(100px,12vw,180px)}.next-project-label{font-size:10px;color:#848981;letter-spacing:.07em;text-transform:uppercase;margin-bottom:10px}.next-project-name{font:normal clamp(28px,3.8vw,49px) Georgia,serif;letter-spacing:-.047em}.next-arrow{font-size:38px;font-weight:200}
/* Viewer inherits a soft color sampled from the current photograph. */
.lightbox{--viewer-bg:#252824;--viewer-text:#f7f7f3;max-width:none;max-height:none;width:100vw;height:100dvh;margin:0;padding:0;border:0;background:var(--viewer-bg);color:var(--viewer-text);transition:background-color .24s ease;overflow:hidden}
.lightbox::backdrop{background:#20221f}.lightbox-inner{height:100%;display:grid;grid-template-rows:56px minmax(0,1fr) auto;align-items:center;min-height:0}
.lightbox-top{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:0 22px;font-size:10px;letter-spacing:.07em;color:var(--viewer-text)}
.lightbox-close,.lightbox-nav{border:0;background:transparent;color:var(--viewer-text);cursor:pointer;touch-action:manipulation}.lightbox-close{position:relative;z-index:10;font-size:12px;letter-spacing:.04em;padding:14px 12px;min-width:78px;min-height:42px;text-align:right}.lightbox-close:hover,.lightbox-close:focus-visible{text-decoration:underline}
.lightbox-stage{display:flex;align-items:center;justify-content:center;min-height:0;min-width:0;height:100%;overflow:hidden;padding:5px 70px;position:relative;cursor:zoom-out}.lightbox-image{display:block;width:auto;height:auto;max-height:calc(100dvh - 132px);max-width:calc(100vw - 150px);object-fit:contain;cursor:default}
.lightbox-nav{position:absolute;top:50%;transform:translateY(-50%);font-size:24px;min-height:48px;min-width:48px;padding:10px;z-index:2}.lightbox-prev{left:9px}.lightbox-next{right:9px}
.lightbox-bottom{min-height:58px;display:flex;align-items:center;justify-content:space-between;gap:18px;padding:13px 25px;font-size:10px;line-height:1.5;font-variant-numeric:tabular-nums;letter-spacing:.03em;color:var(--viewer-text);opacity:.82}.lightbox-metadata{text-align:right;overflow-wrap:anywhere}
.empty-state{padding:100px 0 160px;font:normal 25px Georgia,serif;color:#6a7066}
@media(max-width:900px){.project-summary{gap:20px}}
@media(max-width:600px){.site-header{min-height:83px}.site-nav{gap:17px}.site-nav a{font-size:11px}.nav-index{display:none}.brand-name{font-size:14px}.home-intro{padding-top:38px;padding-bottom:42px}.home-intro-text{font-size:12px}.works-grid{grid-template-columns:1fr;gap:53px}.project-card:nth-child(even),.project-card:nth-child(3){margin-top:0}.project-card:nth-child(3n+1) .project-card-media{aspect-ratio:4/4.5}.project-card:nth-child(3n+2) .project-card-media{aspect-ratio:5/4}.footer-name{font-size:20px}.footer-right{max-width:125px} .project-back{margin-top:22px}.project-hero{padding-top:24px}.project-hero-title{font-size:17px;margin:14px 0}.project-summary{display:block;margin-bottom:22px}.project-summary p{font-size:12px}.project-facts{margin-top:14px}.gallery-title{padding-top:52px}.gallery-grid{grid-template-columns:1fr;gap:40px}.gallery-item:nth-child(3n){grid-column:auto;width:100%;margin:0}.gallery-item:nth-child(3n+2){margin-top:0}.lightbox-stage{padding:5px 14px}.lightbox-image{max-height:calc(100dvh - 170px);max-width:calc(100vw - 28px)}.lightbox-nav{top:auto;bottom:0;transform:none}.lightbox-prev{left:0}.lightbox-next{right:0}.lightbox-top{padding:0 10px}.lightbox-bottom{padding:13px 15px 55px;display:block;min-height:91px}.lightbox-metadata{display:block;text-align:center;margin-top:5px}.lightbox-counter{display:block;text-align:center}.photo-caption,.gallery-image-index{font-size:10px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition-duration:.01ms!important;animation-duration:.01ms!important}}
