@import url('https://fonts.googleapis.com/css2?family=Archivo+Black&family=Cormorant+Garamond:ital,wght@0,400;0,500;0,600;1,400;1,500&family=DM+Mono:wght@400;500&family=DM+Sans:wght@400;500;600;700;800&family=Space+Grotesk:wght@400;500;600;700&display=swap');
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:52px}
body{margin:0;background:var(--bg,#f8f5ec);color:var(--ink,#24241d);font:16px/1.65 var(--body,'DM Sans',sans-serif)}
a{color:inherit;text-decoration:none}
button{font:inherit}
a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid var(--accent,currentColor);outline-offset:5px}
[hidden]{display:none!important}
figure,p,h1,h2,h3,blockquote{margin:0}
p+p{margin-top:20px}
h1,h2,h3{line-height:1.03;font-weight:500}
h1,h2{font-family:var(--display,'Cormorant Garamond',serif)}
h1{font-size:clamp(64px,7.5vw,120px);letter-spacing:-.05em}
h2{font-size:clamp(40px,4.8vw,72px);letter-spacing:-.035em}
h3{font-size:24px}
em{font-weight:inherit}
.skip{position:fixed;left:20px;top:-80px;background:white;color:black;padding:10px;z-index:200}
.skip:focus{top:38px}
.portfolio-bar{position:sticky;top:0;z-index:100;background:#171717;color:#f7f7f4;border-bottom:1px solid #444;display:flex;align-items:center;justify-content:space-between;padding:5px 24px;font:11px/1.6 'DM Mono',monospace;letter-spacing:.02em}
.portfolio-bar a:hover{text-decoration:underline}
.portfolio-bar span{font-size:9px;color:#bdbdb6}
.site-nav{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:25px max(5vw,24px);border-bottom:1px solid var(--line,#bbb)}
.wordmark{font:700 30px/1.05 var(--display,'DM Sans',sans-serif);letter-spacing:-.04em}
.wordmark small{display:block;font:9px/1.7 'DM Mono',monospace;letter-spacing:.04em;margin-top:7px}
.desktop-nav{display:flex;align-items:center;gap:28px;font-size:12px}
.desktop-nav a{position:relative}
.desktop-nav a:after{content:'';height:1px;position:absolute;bottom:-4px;left:0;right:100%;background:currentColor;transition:right .2s}
.desktop-nav a:hover:after,.desktop-nav a[aria-current=location]:after{right:0}
.nav-contact{font-weight:700}
.mobile-menu{display:none}
.label,.item-index,.small{font:10px/1.65 'DM Mono',monospace;letter-spacing:.08em}
.label{text-transform:uppercase;display:block}
.lead{font-size:18px;line-height:1.65;max-width:440px;margin:28px 0}
.action{display:inline-flex;align-items:center;justify-content:space-between;gap:34px;min-height:48px;padding:12px 20px;border:1px solid currentColor;font-size:12px;font-weight:600;transition:background .2s,color .2s,transform .2s}
.action:hover{background:var(--ink);color:var(--bg);transform:translateY(-2px)}
.photograph{position:relative;overflow:hidden}
.photograph img{display:block;width:100%;height:100%;object-fit:cover}
.photograph figcaption{font:9px/1.5 'DM Mono',monospace;letter-spacing:.05em;padding:9px 0}
.section{padding:90px max(5vw,24px);border-top:1px solid var(--line,#ccc)}
.section header{margin-bottom:40px}
.section header .label{margin-bottom:20px}
.section header p{margin-top:20px;max-width:440px}
.section article{display:flex;gap:24px}
.section article h3{margin-bottom:15px}
.section article p{max-width:480px;font-size:14px}
.contact{padding:80px max(5vw,24px);display:grid;grid-template-columns:1.2fr 1fr;gap:40px;border-top:1px solid var(--line,#ccc)}
.contact .label{margin-bottom:24px}
.contact address{font-style:normal;align-self:center}
.contact address a{display:block;width:fit-content;border-bottom:1px solid currentColor;margin-top:10px}
.concept-note{grid-column:1/-1;font:9px/1.6 'DM Mono',monospace;opacity:.7}
.site-footer{padding:24px max(5vw,24px);display:flex;justify-content:space-between;gap:25px;font:9px/1.7 'DM Mono',monospace}
.site-footer a{text-decoration:underline}
summary{cursor:pointer;list-style:none}
summary::-webkit-details-marker{display:none}
details p{padding-top:15px}
details[open] summary b,details[open] summary>span:last-child{transform:rotate(45deg)}
@media(min-width:1700px){main{max-width:1700px;margin:auto}
.site-nav,.site-footer{max-width:1700px;margin:auto}
}
@media(max-width:760px){html{scroll-padding-top:45px}
.portfolio-bar{padding:5px 16px}
.portfolio-bar span{display:none}
.site-nav{padding:20px;position:relative;gap:15px}
.wordmark{font-size:26px}
.wordmark small{font-size:8px;max-width:220px}
.desktop-nav{display:none}
.mobile-menu{display:block;font-size:12px}
.mobile-menu summary{border:1px solid var(--line);padding:8px 12px;display:flex;gap:16px}
.mobile-menu nav{position:absolute;z-index:80;top:100%;left:0;right:0;background:var(--bg);color:var(--ink);border-bottom:1px solid var(--line);padding:20px;display:grid;gap:16px;box-shadow:0 20px 30px #0002}
.section{padding:55px 22px}
.contact{padding:55px 22px;grid-template-columns:1fr;gap:30px}
.site-footer{padding:22px;flex-wrap:wrap}
.lead{font-size:16px}
.action{gap:22px}
.section article{gap:15px}
h1{font-size:clamp(54px,12vw,86px)}
h2{font-size:42px}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}
*,*:before,*:after{animation:none!important;transition:none!important}
}
