@font-face{font-family:Montserrat;src:url(assets/regular.woff2) format('woff2');font-weight:400;font-display:swap}@font-face{font-family:Montserrat;src:url(assets/semibold.woff2) format('woff2');font-weight:600;font-display:swap}
:root{--paper:#efeee8;--ink:#22251f;--orange:#de5a27;--muted:#62655d;font:16px/1.6 Montserrat,sans-serif;color:var(--ink);background:var(--paper)}*{box-sizing:border-box}body{margin:0}a{color:inherit;text-underline-offset:6px}button{font:inherit}a:focus-visible,button:focus-visible{outline:3px solid var(--orange);outline-offset:5px}.skip-link{position:fixed;top:-100px;left:24px;background:var(--ink);color:white;padding:12px;z-index:10}.skip-link:focus{top:12px}.site-header{display:flex;justify-content:space-between;align-items:center;gap:32px;padding:28px 3.2vw;border-bottom:1px solid #22251f25}.site-header img{display:block;width:200px;height:auto}.site-header nav{display:flex;gap:32px;font-size:14px}.site-header nav a{text-decoration:none}.site-header nav a:hover{text-decoration:underline}main{padding:0 3.2vw}.gallery-intro{padding:70px 0 44px}.eyebrow{font-size:12px;letter-spacing:.07em;text-transform:uppercase;margin:0 0 22px;color:var(--muted)}h1{font-size:clamp(44px,5.8vw,96px);font-weight:600;letter-spacing:-.065em;line-height:1.1;margin:0 0 24px}h1 span{color:var(--orange)}.gallery-intro>p:last-child{font-size:18px;max-width:700px;color:var(--muted);margin:0}.gallery-layout{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(320px,1fr);gap:4.2vw;align-items:start}.featured{position:sticky;top:28px}.featured>a{display:block;text-decoration:none}.featured-photo{aspect-ratio:16/10;overflow:hidden;background:#deded6;display:grid;place-items:center}.featured-photo img{display:block;width:100%;height:100%;object-fit:cover}.photo-empty{display:flex;align-items:center;justify-content:center;min-height:100%;padding:32px;color:var(--muted)}.featured-caption{display:flex;justify-content:space-between;gap:24px;padding:16px 0}.featured-caption strong{font-size:18px;font-weight:600}.featured-caption span{font-size:14px;white-space:nowrap}.featured-summary{font-size:14px;color:var(--muted);margin:0;max-width:620px}.gallery-index{border-top:1px solid #22251f}.index-intro{display:flex;justify-content:space-between;font-size:12px;color:var(--muted);padding:12px 0}.gallery-entry{display:block;text-decoration:none;border-bottom:1px solid #22251f35;padding:22px 0;transition:padding .25s}.gallery-entry h2{font-size:clamp(19px,1.8vw,29px);font-weight:400;line-height:1.3;letter-spacing:-.035em;margin:0 0 8px}.gallery-entry p{font-size:13px;color:var(--muted);margin:0}.gallery-entry .entry-name{display:flex;justify-content:space-between;gap:18px}.gallery-entry .arrow{font-size:24px;opacity:0;transition:opacity .2s}.gallery-entry.selected h2{font-weight:600}.gallery-entry.selected .arrow,.gallery-entry:hover .arrow{opacity:1;color:var(--orange)}.gallery-entry.selected{padding-left:12px}.mobile-cover{display:none}.gallery-empty{padding:50px 0;border-block:1px solid #22251f35}.gallery-empty h2{font-size:28px;font-weight:600}.contact{border-top:1px solid #22251f55;margin:100px 0 0;padding:48px 0 72px}.contact>div{display:grid;grid-template-columns:1.7fr 1fr;gap:4.2vw}.contact h2{font-weight:600;font-size:clamp(32px,4.2vw,68px);letter-spacing:-.055em;line-height:1.1;margin:0}.contact div>p{font-size:17px;margin:0;max-width:430px;color:var(--muted)}.contact div>p a{display:block;margin-top:32px;color:var(--ink);font-weight:600;font-size:15px}footer{padding:24px 3.2vw;display:flex;align-items:center;justify-content:space-between;gap:24px;background:#e3e3da;font-size:12px}footer img{width:170px;height:auto;display:block}footer p{color:var(--muted)}.retry{background:var(--ink);color:var(--paper);border:0;padding:12px 18px;cursor:pointer}
@media(max-width:1000px){.gallery-layout{grid-template-columns:minmax(0,1.4fr) minmax(260px,1fr);gap:28px}.site-header nav{gap:20px}.gallery-intro{padding-top:48px}.featured-caption{flex-direction:column;gap:8px}.contact>div{grid-template-columns:1.2fr 1fr;gap:28px}}
@media(max-width:700px){.site-header{align-items:start;padding:20px;gap:20px}.site-header img{width:145px}.site-header nav{flex-wrap:wrap;justify-content:flex-end;gap:8px 16px;font-size:12px}.site-header nav a:first-child{display:none}main{padding-inline:20px}.gallery-intro{padding:44px 0 28px}h1{font-size:clamp(40px,9vw,64px)}.gallery-intro>p:last-child{font-size:16px}.eyebrow{font-size:11px;margin-bottom:16px}.gallery-layout{display:block}.featured{display:none}.index-intro{padding:14px 0}.gallery-entry,.gallery-entry.selected{padding:22px 0}.gallery-entry h2{font-size:23px;font-weight:600}.gallery-entry .arrow{opacity:1}.gallery-entry .entry-name{margin-top:14px}.mobile-cover{display:block;aspect-ratio:16/10;background:#deded6}.mobile-cover img{display:block;width:100%;height:100%;object-fit:cover}.contact{margin-top:56px;padding:32px 0 44px}.contact>div{grid-template-columns:1fr;gap:24px}.contact h2{font-size:42px}.contact div>p{font-size:16px}footer{padding:24px 20px;align-items:start;flex-wrap:wrap}footer p{flex-basis:100%;order:2;margin:0}footer img{width:145px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{transition:none!important;scroll-behavior:auto!important}}
/* Shared reading scale: small 13, body 16, lead 18, project 24, display. */
.eyebrow,.site-header nav,.index-intro,.featured-caption span,.gallery-entry p,footer{font-size:13px}.featured-summary{font-size:16px}.gallery-entry h2{font-size:24px}.contact div>p,.gallery-intro>p:last-child{font-size:18px;color:var(--ink)}.contact div>p a{font-size:16px}
@media(max-width:700px){.eyebrow,.site-header nav{font-size:13px}.contact div>p,.gallery-intro>p:last-child{font-size:16px}.contact h2{font-size:40px}}
/* Same navigation hierarchy as the approved portfolio. */
.site-header{position:sticky;top:0;z-index:20;height:88px;padding-block:0;background:var(--paper);gap:35px}.site-header .site-nav{margin-left:auto;align-items:center;gap:28px}.site-nav a{padding:12px 0}.site-header .contact-link{border:1px solid #cdcec4;padding:12px 16px;font-size:13px;text-decoration:none;white-space:nowrap}.contact-link span{color:var(--orange);margin-left:18px}.menu-toggle{display:none;background:none;color:var(--ink);border:0;cursor:pointer}.featured{top:112px}.featured-photo{max-height:max(200px,calc(100svh - 230px))}html{scroll-padding-top:112px}
@media(max-width:900px){.site-header{gap:20px}.site-header img{width:165px}.site-header .site-nav{gap:18px}}
@media(max-width:700px){.site-header{height:76px;padding:0 20px;gap:12px;align-items:center}.site-header img{width:145px}.site-header .site-nav{display:none}.site-header .site-nav.is-open{display:flex;position:absolute;top:76px;left:0;right:0;background:var(--paper);padding:20px;flex-direction:column;align-items:stretch;gap:6px;border-bottom:1px solid #cdcec4}.site-header .site-nav a:first-child{display:block}.site-header .contact-link{margin-left:auto;padding:10px;font-size:12px}.contact-link span{margin-left:5px}.menu-toggle{display:block;padding:12px 2px;font-size:13px;min-height:44px}.featured-photo{max-height:none}}
@media(max-width:360px){.site-header{gap:10px;padding-inline:16px}.site-header img{width:125px}.site-header .contact-link{padding:9px 7px}.contact-link span{display:none}.menu-toggle{font-size:12px}}
