@font-face{font-family:Montserrat;src:url('/assets/montserrat-light.ttf') format('truetype');font-weight:300;font-display:swap}
@font-face{font-family:Montserrat;src:url('/assets/montserrat-regular.ttf') format('truetype');font-weight:400 700;font-display:swap}
:root{font-family:Montserrat,sans-serif;color:#faf9f6;background:#3d3d3f;font-weight:300;--photo-height:70svh;--gallery-gap:8.8vw}
*{box-sizing:border-box}body{margin:0;min-height:100svh;display:flex;flex-direction:column}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit}a:focus-visible,button:focus-visible{outline:2px solid currentColor;outline-offset:7px}.skip-link{position:fixed;z-index:20;left:16px;top:-80px;background:#fff;color:#333;padding:12px}.skip-link:focus{top:16px}
.site-header{min-height:19.5svh;padding:clamp(25px,2.7vw,52px) 2.9vw 24px;display:flex;align-items:flex-start;justify-content:space-between;gap:30px}.brand{display:flex;flex-direction:column;width:max-content;--wordmark-size:clamp(42px,4.4vw,85px);font-size:var(--wordmark-size)}.wordmark{font-size:1em;line-height:1.06;letter-spacing:.008em;white-space:nowrap}.tagline{font-size:.32em;line-height:1.3;white-space:nowrap}nav{display:flex;gap:clamp(20px,1.7vw,36px);padding-top:clamp(10px,1.1vw,22px)}nav a{text-transform:uppercase;font-size:clamp(17px,1.75vw,33px);position:relative}nav a:after{content:'';position:absolute;bottom:-7px;left:0;width:100%;height:1px;background:currentColor;transform:scaleX(0);transition:transform .2s}nav a:hover:after,nav a[aria-current=page]:after{transform:scaleX(1)}
main{flex:1;min-width:0}.gallery{position:relative;overflow:hidden;width:100%;touch-action:pan-y;outline:none}.track{display:flex;align-items:center;gap:var(--gallery-gap);width:max-content;will-change:transform}.slide{display:block;height:var(--photo-height);padding:0;border:0;background:transparent;flex:none;cursor:pointer;position:relative}.slide img{display:block;height:100%;width:auto;max-width:none;pointer-events:none;user-select:none}.slide:focus-visible{outline-offset:-5px;outline-color:#fff}.gallery-controls{display:flex;align-items:center;justify-content:center;gap:20px;margin:18px 0 8px}.gallery-controls button{background:transparent;border:1px solid #faf9f660;border-radius:50%;width:42px;height:42px;cursor:pointer;display:grid;place-items:center;transition:background .2s}.gallery-controls button:hover{background:#ffffff18}.gallery-controls svg{width:20px;height:20px}.counter{font-size:12px;font-variant-numeric:tabular-nums;letter-spacing:.12em;min-width:54px;text-align:center}.gallery-controls{position:absolute;left:50%;transform:translateX(-50%);margin-top:16px}.site-footer{min-height:10.5svh;padding:24px 7px 6px;display:flex;align-items:flex-end;justify-content:flex-end;font-size:clamp(8.4px,.77vw,14px)}
.paper-wrap{display:flex;justify-content:center;padding:0 24px 30px}.paper{position:relative;isolation:isolate;background:#f4f1e9;color:#35332f;width:min(660px,100%);padding:clamp(36px,4.2vw,76px);box-shadow:2px 7px 15px #24221e25,0 1px 2px #24221e20;clip-path:polygon(.25% .3%,99.6% 0,100% 99.6%,.1% 100%);transform:rotate(-.35deg)}.paper:before{content:'';position:absolute;inset:0;z-index:-1;opacity:.16;pointer-events:none;background-image:url('/assets/paper-grain.svg')}.paper h1{font-size:clamp(23px,2vw,30px);font-weight:400;line-height:1.4;margin:0 0 28px}.paper p{font-size:clamp(15px,1.22vw,19px);font-weight:400;line-height:1.85;margin:0 0 22px}.paper p:last-child{margin-bottom:0}.paper a{border-bottom:1px solid #77736e;overflow-wrap:anywhere}.contact{margin-top:32px;padding-top:25px;border-top:1px solid #b9b4aa;display:flex;flex-direction:column;align-items:flex-start;gap:12px;font-size:clamp(14.45px,1.275vw,19.55px);font-weight:400}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
@media(min-width:1500px){.gallery-controls{opacity:0;transition:opacity .2s}.gallery-controls:hover,.gallery-controls:focus-within,main:hover .gallery-controls{opacity:1}}
@media(max-width:800px){:root{--photo-height:min(62svh,620px);--gallery-gap:8vw}.site-header{padding:30px 6vw 32px;min-height:180px;align-items:center}.brand{--wordmark-size:42px}nav{gap:18px;padding:0}nav a{font-size:14px}.site-footer{padding:30px 7px 6px;min-height:110px}.paper{padding:42px}.gallery-controls{position:static;transform:none;margin:22px 0 0}.paper-wrap{padding-bottom:0}}
@media(max-width:560px){:root{--photo-height:min(54svh,calc(82vw * .837));--gallery-gap:7vw}.site-header{flex-direction:column;align-items:flex-start;gap:25px;padding:28px 7vw 32px;min-height:0}.brand{--wordmark-size:44px}nav{gap:27px}nav a{font-size:15px}.site-footer{font-size:7.7px;min-height:75px;padding:28px 7px 6px}.paper-wrap{padding:0 7vw}.paper{padding:32px 26px;transform:rotate(-.35deg)}.paper p{font-size:14px;line-height:1.85}.paper h1{font-size:23px}.contact{font-size:14.45px}.gallery-controls{gap:18px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{transition:none!important;scroll-behavior:auto!important}}
.paper-wrap{filter:drop-shadow(3px 7px 8px #24221e24)}.paper{min-height:70svh;background:linear-gradient(105deg,#f8f6f0,#f1eee5 70%,#f5f2eb)}
@media(max-width:560px){.paper{min-height:0}}

/* Keep mobile navigation clear of the wordmark and give every view more breathing room. */
@media(min-width:801px){nav a{font-size:clamp(11.9px,1.225vw,23.1px)}body[data-page="work"] nav a{font-size:clamp(9.758px,1.0045vw,18.942px)}}
@media(max-width:800px){
 .site-header{position:relative;min-height:230px;align-items:flex-start}
 nav{position:absolute;right:6vw;top:30px;display:flex;flex-direction:column;align-items:flex-end;gap:10px;padding:0}
 nav a{line-height:1.4}
 nav a:after{bottom:-3px}
}
@media(max-width:560px){
 .site-header{min-height:221px;padding:28px 7vw 0;gap:0}
 nav{right:7vw;top:28px;gap:10px}
}
/* Portrait phones show a generous centered photograph; wide photos still fit in full.
   All photographs in the track retain an equal height at each carousel position. */
@media(max-width:560px) and (orientation:portrait){
 .gallery{--photo-height:min(62svh,calc(82vw / var(--active-aspect,.6565)))}
}

/* Separate fixed layers soften the background while photographs and text stay sharp. */
body{isolation:isolate}
body::before,body::after{content:"";position:fixed;pointer-events:none}
body::before{inset:-8px;z-index:-2;background:url('/assets/background.jpg') center/cover no-repeat;filter:blur(3px)}
body::after{inset:0;z-index:-1;background:rgb(61 61 63 / 68%)}
@media(max-width:800px){.brand{max-width:calc(100% - 104px)}}
@media(max-width:560px){
 .brand{--wordmark-size:clamp(28px,9.2vw,42px)}
 .tagline{white-space:nowrap;margin-top:4px}
 .tagline span{display:inline}
}
