@font-face{font-family:Barlow Condensed;src:url('../fonts/barlow-condensed-latin-600.5bc49d41f32810a1.woff2') format('woff2');font-weight:600;font-style:normal;font-display:swap}
@font-face{font-family:DM Sans;src:url('../fonts/dm-sans-latin.468d56b6b25b05b7.woff2') format('woff2');font-weight:100 900;font-style:normal;font-display:swap}
:root{color-scheme:dark;--black:#090909;--paper:#f0eee8;--muted:#a3a19b;--line:#30302d;--accent:#d8ee96;--gutter:40px;--header-height:113px;--logo-width:168px;--display:'Barlow Condensed','Arial Narrow',sans-serif;--body:'DM Sans',sans-serif}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scrollbar-gutter:stable;scroll-padding-top:var(--header-height)}
body{margin:0;padding-top:var(--header-height);background:var(--black);color:var(--paper);font:400 14px/1.6 var(--body);-webkit-font-smoothing:antialiased}
a{color:inherit;text-decoration:none;text-underline-offset:5px}
button{font:inherit;color:inherit}
button,a{-webkit-tap-highlight-color:transparent}
button{cursor:pointer}
button:disabled{opacity:.3;cursor:default}
button:focus-visible,a:focus-visible,summary:focus-visible{outline:2px solid var(--accent);outline-offset:5px}
::selection{background:var(--accent);color:var(--black)}
[hidden]{display:none!important}
.skip-link{position:absolute;z-index:20;top:12px;left:12px;background:var(--paper);color:var(--black);padding:12px;transform:translateY(-150%)}
.skip-link:focus{transform:none}
.site-header{--visible-header-height:var(--header-height);position:fixed;inset:0 0 auto;z-index:10;height:var(--visible-header-height);padding:0 var(--gutter);background:var(--black);display:flex;align-items:center;justify-content:center;transition:height .2s ease}
.site-header.is-compact{--visible-header-height:calc(var(--header-height)*.6)}
.site-header.is-compact .brand img{width:calc(var(--logo-width)*.6)}
.brand{display:inline-flex;align-items:center;flex-shrink:0;min-height:44px}
.brand img{display:block;width:var(--logo-width);height:auto;transition:width .2s ease}
.menu-toggle{position:absolute;left:var(--gutter);width:44px;height:44px;border:0;background:transparent;display:flex;flex-direction:column;justify-content:center;gap:6px;padding:10px}
.header-instagram{position:absolute;right:var(--gutter);width:44px;height:44px;display:flex;align-items:center;justify-content:center}
.header-instagram img{width:24px;height:24px;filter:invert(1)}
.header-instagram:hover{opacity:.75}
.menu-toggle span{display:block;width:24px;height:1px;background:var(--paper);transition:transform .2s ease}
.site-header:has(.site-nav:popover-open) .menu-toggle span:first-child{transform:translateY(3.5px) rotate(45deg)}
.site-header:has(.site-nav:popover-open) .menu-toggle span:last-child{transform:translateY(-3.5px) rotate(-45deg)}
.site-nav{position:fixed;inset:var(--visible-header-height) auto auto var(--gutter);transition:top .2s ease;margin:0;min-width:210px;padding:18px 25px;background:var(--black);color:var(--paper);border:1px solid var(--line);font-size:14px}
.site-nav:popover-open{display:flex;flex-direction:column;gap:8px}
.site-nav a{min-height:44px;display:flex;align-items:center;position:relative}
.site-nav a::after{position:absolute;bottom:5px;left:0;right:0;height:1px;background:var(--paper);content:'';transform:scaleX(0);transform-origin:left;transition:transform .2s}
.site-nav a:hover::after,.site-nav [aria-current]::after{transform:scaleX(1)}
.site-nav [aria-current]{color:var(--paper)}
.site-nav a:not([aria-current]){color:var(--muted)}
.intro{position:relative;isolation:isolate;overflow:hidden;display:grid;grid-template-columns:1fr;height:80vh;height:80svh;padding:60px var(--gutter);align-items:end;color:#fff}
.portfolio-gallery+.portfolio-gallery{margin-top:80px}
.featured-photo{position:absolute;inset:0;z-index:-2;background:var(--black)}
.featured-photo picture{display:block;width:100%;height:100%}
.featured-photo img{display:block;width:100%;height:100%;object-fit:cover}
.featured-photo:focus-visible{outline-offset:-5px}
.intro::before{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;background:linear-gradient(180deg,#0001 30%,#0003 55%,#000b 100%)}
.hero-heading{pointer-events:none}
.eyebrow{font-size:10px;font-weight:500;letter-spacing:.15em;text-transform:uppercase;margin:0 0 16px;display:flex;align-items:center;gap:10px}
h1,h2,p{margin-top:0}
.gallery-title{font:600 clamp(58px,6.7vw,108px)/.98 var(--display);letter-spacing:-.015em;margin:0;text-transform:uppercase;overflow-wrap:anywhere}
.photo-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:4px;width:100%}
.photo{position:relative;display:block;aspect-ratio:1/1;overflow:hidden;background:#191919}
.photo img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .5s cubic-bezier(.2,.65,.3,1),opacity .3s}
.photo-overlay{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:flex-end;padding:14px;background:linear-gradient(transparent 35%,#000b);opacity:0;transition:opacity .25s}
.photo-caption{font-size:11px;line-height:1.4;max-width:90%}
.photo:focus-visible{outline-offset:-4px;z-index:1}
@media(hover:hover){.photo:hover img{transform:scale(1.035)}.photo:hover .photo-overlay{opacity:1}}
.photo:focus-visible .photo-overlay{opacity:1}
.gallery-notes{padding:0 var(--gutter)}
.gallery-info{border-bottom:1px solid var(--line)}
.gallery-info summary{display:flex;align-items:center;justify-content:space-between;gap:20px;list-style:none;cursor:pointer;min-height:76px}
.gallery-info summary::-webkit-details-marker{display:none}
.gallery-meta{display:flex;align-items:baseline;gap:20px;font-size:12px}
.gallery-meta small{font-size:10px;color:var(--muted)}
.info-toggle{font-size:10px;color:var(--muted);display:flex;align-items:center;gap:17px}
.info-toggle b{font-size:20px;font-weight:400;color:var(--paper)}
details[open] .info-toggle b{transform:rotate(45deg)}
.gallery-description{max-width:630px;padding:8px 0 30px;margin-left:25%;color:var(--muted);line-height:1.8}
.gallery-description p:last-child{margin:0}
.gallery-description a{text-decoration:underline}
.site-footer{margin:0 var(--gutter);padding:40px 0;display:grid;grid-template-columns:1fr minmax(0,230px);align-items:center;gap:30px;border-top:1px solid var(--line)}
.footer-credits{display:flex;flex-direction:column;gap:6px;text-align:right;font-size:10px;line-height:1.8;color:var(--muted)}
.footer-prompt{font:600 34px/1.07 var(--display);text-transform:uppercase;letter-spacing:.01em}
.footer-prompt a{display:block}
.footer-prompt a:hover{color:var(--accent)}
.text-page{padding:60px var(--gutter) 100px;min-height:65vh}
.text-page .eyebrow{margin-bottom:34px}
.text-layout{display:grid;grid-template-columns:1fr 1fr;gap:8vw;align-items:start}
.text-layout h1{font:600 clamp(64px,7.3vw,110px)/.98 var(--display);text-transform:uppercase;letter-spacing:-.01em;max-width:600px;margin:0}
.prose{max-width:520px;font-size:16px;line-height:1.9;padding-top:6px;color:#c4c2bd}
.prose>p:first-child{font-size:20px;line-height:1.65;color:var(--paper);margin-bottom:32px}
.prose p{margin-bottom:24px}
.prose h2{font:600 30px/1.15 var(--display);color:var(--paper);margin:44px 0 20px;text-transform:uppercase}
.prose a{color:var(--paper);text-decoration:underline;text-decoration-color:#666}
.prose a:hover{color:var(--accent)}
.prose em{font-size:12px;font-style:normal;color:var(--muted)}
.text-page+.site-footer{border-top:1px solid var(--line)}
.lightbox-open{overflow:hidden}
.lightbox{border:0;padding:0;margin:auto;background:var(--black);color:var(--paper);width:100%;height:100%;max-width:none;max-height:none;overflow:hidden}
.lightbox::backdrop{background:var(--black)}
.lightbox-top{position:absolute;top:0;left:0;right:0;z-index:2;display:flex;align-items:center;justify-content:space-between;padding:17px 30px;gap:20px}
.lightbox-top .eyebrow{margin:0;min-height:48px;line-height:1}
.lightbox button{background:transparent;border:0;padding:0;display:flex;align-items:center;justify-content:center;min-width:48px;min-height:48px;color:var(--paper)}
.lightbox button:hover{opacity:.75}
.lightbox [data-close]{border:0;font-size:11px;line-height:1;gap:18px}
.close-cross{position:relative;display:block;width:16px;height:16px;font-size:0;flex-shrink:0}
.close-cross::before,.close-cross::after{content:"";position:absolute;top:7px;left:0;width:16px;height:2px;background:currentColor;transform:rotate(45deg)}
.close-cross::after{transform:rotate(-45deg)}
.lightbox figure{position:absolute;inset:85px 0 95px;margin:0;display:flex;align-items:center;justify-content:center}
.lightbox figure>img{width:100%;height:100%;object-fit:contain;transition:opacity .16s}
.lightbox.is-loading figure>img{opacity:.15}
.image-status{position:absolute;text-align:center;max-width:85%;font-size:12px;display:flex;flex-direction:column;align-items:center;gap:15px}
.image-status p{margin:0}
.image-status a{text-decoration:underline}
.lightbox-prev,.lightbox-next{position:absolute;top:50%;transform:translateY(-50%);z-index:2;font-size:11px;padding:0 10px}
.lightbox-arrow{width:20px;height:32px;filter:invert(1) drop-shadow(0 1px 3px #000);pointer-events:none}
.lightbox-prev{left:20px}
.lightbox-next{right:20px}
.lightbox-bottom{position:absolute;bottom:0;left:0;right:0;min-height:85px;padding:15px 30px;display:flex;align-items:center;border-top:1px solid var(--line)}
.lightbox-bottom p{margin:0;max-width:800px;font-size:12px}
.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:1800px){.gallery-title{font-size:128px}}
@media(max-width:900px){:root{--gutter:24px}.gallery-title{font-size:72px}.text-layout{gap:40px}.text-layout h1{font-size:72px}}
@media(max-width:600px){
 :root{--gutter:20px;--header-height:94px;--logo-width:112px}
 .site-nav a::after{bottom:7px}
 .intro{display:flex;flex-direction:column;justify-content:flex-end;align-items:stretch;gap:0;padding:32px var(--gutter)}
 .gallery-title{font-size:clamp(52px,14vw,78px)}
 .portfolio-gallery+.portfolio-gallery{margin-top:48px}
 .photo-grid{gap:3px}
 .photo-overlay{padding:8px}.photo-caption{font-size:9px}
 .gallery-info summary{min-height:76px;gap:10px}.gallery-meta{display:block;font-size:11px}.gallery-meta small{display:block;font-size:9px;margin-top:3px}.info-toggle{font-size:9px;gap:10px}
 .gallery-description{margin-left:0;font-size:12px;padding-bottom:25px;max-width:none}
 .site-footer{padding:30px 0;grid-template-columns:1fr minmax(0,135px);gap:20px}.footer-prompt{font-size:24px}.footer-credits{font-size:8px;gap:5px}
 .text-page{padding-top:36px;padding-bottom:55px}.text-page .eyebrow{margin-bottom:28px}.text-layout{display:block}.text-layout h1{font-size:64px;max-width:340px;margin-bottom:42px}.prose{font-size:14px;line-height:1.85;max-width:none}.prose>p:first-child{font-size:18px}.prose h2{font-size:28px;margin-top:35px}
 .lightbox-top{padding:13px 16px}.lightbox-top .eyebrow{font-size:9px;letter-spacing:.08em}.lightbox [data-close]{font-size:10px;gap:10px}
 .lightbox figure{inset:85px 0 95px}.lightbox-prev{left:4px}.lightbox-next{right:4px}.lightbox-arrow{width:16px;height:26px}.lightbox-bottom{padding:15px 20px;min-height:75px;gap:15px}.lightbox-bottom p{font-size:10px;line-height:1.6}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important;animation:none!important}}
