@import "https://fonts.googleapis.com/css2?family=Bodoni+Moda:ital,opsz,wght@0,6..96,400;1,6..96,400&family=Playfair+Display:ital,wght@0,700;0,800;0,900;1,700;1,900&family=DM+Mono:wght@300;400&family=Manrope:wght@300;400;600&display=swap";:root{--ink:#151411;--paper:#eee9df;--rust:#a5462b;--cream:#d9c8ad}*{box-sizing:border-box}html{scroll-behavior:smooth}body{background:var(--paper);color:var(--ink);margin:0;font-family:Manrope,Arial,sans-serif}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}.nav{z-index:50;color:#fff;background:linear-gradient(#00000080,#0000002e 65%,#0000);justify-content:space-between;align-items:center;width:100%;padding:20px 3vw;transition:padding .35s,box-shadow .35s,background .35s;display:flex;position:fixed;top:0;left:0}.nav--scrolled{background:#151411eb;padding:12px 3vw;box-shadow:0 12px 30px #00000047}.brand{letter-spacing:-.08em;font:600 21px DM Mono}.brand span{font-family:Playfair Display;font-size:28px;font-style:italic;font-weight:800}.brand small{letter-spacing:.16em;margin-top:2px;font:300 8px DM Mono;display:block}.navLinks{text-transform:uppercase;letter-spacing:.08em;gap:28px;font:400 11px DM Mono;display:flex}.navLinks a{border-bottom:1px solid #0000;padding-bottom:5px}.navLinks a:hover{border-color:currentColor}.menuButton{color:inherit;text-transform:uppercase;background:0 0;border:0;display:none}.hero{color:#fff;background:#111;height:100svh;min-height:680px;position:relative;overflow:hidden}.heroImage{object-fit:cover;object-position:center 30%;filter:saturate(.72)contrast(1.05);width:100%;height:100%}.heroShade{background:linear-gradient(90deg,#0000008c,#0000 55%),linear-gradient(#0000 55%,#0000008c);position:absolute;inset:0}.hero h1{letter-spacing:-.05em;margin:0;font:600 clamp(6.5rem,18vw,18rem)/.7 Bodoni Moda;position:absolute;bottom:11vh;left:3vw}.hero h1 em,.section h2 em,footer em{color:var(--rust);font-weight:600}.heroKicker,.heroNote,.scrollCue{letter-spacing:.12em;text-transform:uppercase;font:300 10px/1.7 DM Mono;position:absolute}.heroKicker{top:23%;left:3vw}.heroNote{bottom:3vh;right:3vw}.scrollCue{border-bottom:1px solid;top:48%;right:3vw}.ticker{background:var(--rust);color:#fff;letter-spacing:.12em;white-space:nowrap;padding:14px 0;font:300 11px DM Mono;overflow:hidden}.ticker div{width:max-content;animation:42s linear infinite ticker;display:flex}.ticker div span{white-space:nowrap;padding-right:0}@keyframes ticker{to{transform:translate(-50%)}}.section{padding:12vw 5vw}.eyebrow{text-transform:uppercase;letter-spacing:.18em;font:400 10px DM Mono}.statement h2{letter-spacing:-.01em;max-width:1200px;margin:7vw 0;font:800 clamp(2.8rem,7vw,6.8rem)/1.08 Playfair Display}.statementFoot{border-top:1px solid;grid-template-columns:1fr 1fr;gap:12vw;padding-top:35px;display:grid}.statementFoot>p{max-width:560px;font-size:14px;line-height:1.8}.statementFoot strong{letter-spacing:-.01em;text-align:right;font:900 clamp(4.2rem,10vw,8.4rem)/.95 Playfair Display}.statementFoot strong small{letter-spacing:.12em;margin-top:25px;font:300 8px DM Mono;display:block}.featured{color:#fff;background:#111;padding:10vw 3vw}.sectionTitle{justify-content:space-between;align-items:start;margin-bottom:6vw;display:flex}.sectionTitle p{text-transform:uppercase;letter-spacing:.14em;font:10px DM Mono}.sectionTitle h2,.services h2,.about h2,.contact h2,.portfolioHero h2{letter-spacing:-.01em;margin:0;font:800 clamp(3.4rem,7vw,6.8rem)/1.05 Playfair Display}.featureGrid{grid-template-columns:repeat(2,1fr);gap:6vw 2vw;display:grid}.featureCard,.galleryItem{color:inherit;text-align:left;cursor:zoom-in;background:0 0;border:0;padding:0}.featureCard:nth-child(2n){margin-top:11vw}.featureCard img{aspect-ratio:4/5;object-fit:cover;filter:saturate(.78);width:100%;transition:all .5s;display:block}.featureCard:hover img{filter:saturate();transform:scale(.985)}.featureCard span{justify-content:flex-end;padding-top:12px;font:700 18px Playfair Display;display:flex}.featureCard small{font:10px DM Mono}.gallery{grid-template-columns:repeat(4,1fr);gap:10px;margin-top:9vw;display:grid}.galleryItem img{aspect-ratio:3/4;object-fit:cover;filter:saturate(.72);width:100%;transition:all .35s;display:block}.galleryItem:hover img{filter:saturate()}.services{grid-template-columns:1fr 1fr;gap:10vw;display:grid}.servicesIntro>p:last-child{max-width:490px;margin-top:50px;line-height:1.8}.serviceList article{border-top:1px solid;grid-template-columns:40px 1fr auto;align-items:baseline;padding:28px 0;display:grid}.serviceList article:last-child{border-bottom:1px solid}.serviceList span,.serviceList p{text-transform:uppercase;font:300 9px DM Mono}.serviceList h3{margin:0;font:800 clamp(1.7rem,3vw,3.2rem) Playfair Display}.about{background:var(--rust);color:#fff;grid-template-columns:.85fr 1.15fr;align-items:center;gap:9vw;display:grid}.aboutImage img{aspect-ratio:3/4;object-fit:cover;filter:saturate(.65);width:100%}.aboutCopy h2 em{color:var(--cream);display:block}.aboutCopy blockquote{margin:45px 0;font:italic 700 clamp(1.6rem,2.6vw,2.8rem)/1.25 Playfair Display}.aboutCopy>p{max-width:600px;line-height:1.8}.aboutMeta{text-transform:uppercase;border-top:1px solid #ffffff73;grid-template-columns:1fr 1fr;margin-top:40px;padding-top:25px;font:300 10px/1.7 DM Mono;display:grid}.aboutMeta b{margin-bottom:8px;display:block}.contact{background:var(--cream)}.contact>h2{margin:6vw 0}.contactGrid{grid-template-columns:1fr 1fr;gap:10vw;display:grid}.contactDetails a{border-bottom:1px solid;font:700 clamp(1.5rem,3vw,3rem) Playfair Display}.contactDetails p{text-transform:uppercase;margin-top:35px;font:300 10px/1.8 DM Mono}.contact form{gap:25px;display:grid}.contact label{text-transform:uppercase;letter-spacing:.12em;font:400 9px DM Mono}.contact input,.contact select,.contact textarea{text-transform:none;background:0 0;border:0;border-bottom:1px solid;outline:0;width:100%;padding:12px 0}.contact textarea{resize:vertical;height:100px}.contact form button{background:var(--ink);color:#fff;cursor:pointer;border:0;border-radius:50%;justify-self:start;width:150px;height:150px;transition:all .3s}.contact form button:hover{background:var(--rust);transform:rotate(-5deg)}footer{color:#fff;background:#111;padding:8vw 4vw 3vw}footer>p{letter-spacing:-.01em;margin:0 0 8vw;font:900 clamp(4rem,11vw,10.5rem)/1.02 Playfair Display}footer>div{text-transform:uppercase;border-top:1px solid #555;justify-content:space-between;padding-top:20px;font:300 9px DM Mono;display:flex}.reveal{opacity:0;transition:opacity .8s,transform .8s;transform:translateY(35px)}.reveal.visible{opacity:1;transform:none}.lightbox{z-index:100;cursor:zoom-out;background:#080808f0;justify-content:center;align-items:center;padding:3vw;display:flex;position:fixed;inset:0}.lightbox img{object-fit:contain;max-width:92vw;max-height:92vh}.lightbox button{color:#fff;cursor:pointer;background:0 0;border:0;font-size:45px;position:absolute;top:20px;right:30px}@media (width<=800px){.nav{padding:16px 20px}.menuButton{font:10px DM Mono;display:block}.navLinks{z-index:-1;background:#111;flex-direction:column;justify-content:center;align-items:center;gap:30px;font:800 clamp(1.4rem,7vw,2.2rem) Playfair Display;transition:all .45s;display:flex;position:fixed;inset:0;transform:translate(100%)}.navLinks.open{transform:none}.hero h1{font-size:26vw;bottom:20vh;left:18px}.heroKicker{left:20px}.heroNote{left:20px;right:auto}.statementFoot,.services,.about,.contactGrid{grid-template-columns:1fr}.statementFoot strong{text-align:left;margin-top:40px}.featureGrid{gap:12vw 3vw}.gallery{grid-template-columns:repeat(2,1fr)}.services{gap:70px}.serviceList article{grid-template-columns:30px 1fr}.serviceList article p{grid-column:2}.about{gap:60px}.aboutImage{width:82%}.contact form{margin-top:30px}.section{padding:22vw 6vw}.featured{padding:20vw 4vw}.sectionTitle{display:block}.sectionTitle h2{margin-top:35px}footer{padding:18vw 5vw 7vw}}.portfolioTeaser{flex-direction:column;align-items:center;gap:5vw;margin-top:4vw;display:flex}.portfolioMarquee{flex-direction:column;gap:1.4vw;width:100%;padding:2vw 0;display:flex;overflow:hidden;-webkit-mask-image:linear-gradient(90deg,#0000,#000 10% 90%,#0000);mask-image:linear-gradient(90deg,#0000,#000 10% 90%,#0000)}.marqueeRow{gap:1.2vw;width:max-content;animation:32s linear infinite marqueeLeft;display:flex}.marqueeRow--reverse{animation-name:marqueeRight}.marqueeCard{aspect-ratio:3/4;border-radius:10px;flex:none;width:clamp(130px,15vw,230px);overflow:hidden;box-shadow:0 18px 40px #0000004d}.marqueeCard img{object-fit:cover;filter:saturate(.78);width:100%;height:100%;transition:all .5s;display:block}.marqueeCard:hover img{filter:saturate();transform:scale(1.06)}@keyframes marqueeLeft{to{transform:translate(-50%)}}@keyframes marqueeRight{0%{transform:translate(-50%)}to{transform:translate(0)}}.portfolioTeaser .btn{border:1px solid var(--paper);text-transform:uppercase;letter-spacing:.12em;color:var(--paper);border-radius:999px;padding:18px 44px;font:11px DM Mono;transition:all .3s;display:inline-block}.portfolioTeaser .btn:hover{background:var(--paper);color:var(--ink)}.portfolioHero{text-align:center}.portfolioMasonry{column-count:3;column-gap:1.4vw;padding:0 4vw 8vw}.portfolioMasonryItem{break-inside:avoid;cursor:zoom-in;background:0 0;border:0;width:100%;margin-bottom:1.4vw;padding:0;display:block}.portfolioMasonryItem img{filter:saturate(.8);width:100%;transition:all .5s;display:block}.portfolioMasonryItem:hover img{filter:saturate();transform:scale(1.015)}.projectPicker{border:0;flex-wrap:wrap;gap:10px;margin:0;padding:0;display:flex}.projectPicker legend{text-transform:uppercase;letter-spacing:.12em;width:100%;margin-bottom:10px;padding:0;font:400 9px DM Mono}.projectOption{cursor:pointer;position:relative}.projectOption input{opacity:0;cursor:pointer;margin:0;position:absolute;inset:0}.projectOption span{border:1px solid var(--ink);text-transform:none;letter-spacing:.02em;border-radius:999px;padding:10px 20px;font:12px DM Mono;transition:all .25s;display:inline-block}.projectOption input:checked+span{background:var(--ink);color:var(--paper);border-color:var(--ink)}.projectOption input:focus-visible+span{outline:2px solid var(--rust);outline-offset:2px}@media (width<=800px){.marqueeCard{width:clamp(100px,32vw,160px)}.portfolioMasonry{column-count:2}}@media (width<=480px){.portfolioMasonry{column-count:1}}@media (prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;animation:none!important}.reveal{opacity:1;transform:none}}
