@import url('https://fonts.googleapis.com/css2?family=DM+Mono:wght@300;400&family=Manrope:wght@300;400;500&family=Syne:wght@500;600&display=swap');

:root{--black:#080808;--ink:#f1eee7;--muted:#98958f;--line:rgba(241,238,231,.18);--warm:#9a553d;--pad:clamp(24px,4vw,68px)}
*{box-sizing:border-box}html{scroll-behavior:smooth;background:var(--black);color:var(--ink)}body{margin:0;background:var(--black);font-family:Manrope,sans-serif;font-weight:300;overflow-x:hidden}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit;color:inherit}img{display:block;width:100%}.noise{position:fixed;inset:0;z-index:20;pointer-events:none;opacity:.045;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.8'/%3E%3C/svg%3E")}.section-pad{padding-left:var(--pad);padding-right:var(--pad)}
.site-header{position:fixed;z-index:50;top:0;left:0;width:100%;height:86px;padding:0 var(--pad);display:flex;align-items:center;justify-content:space-between;mix-blend-mode:difference;color:white;opacity:0;transition:opacity .5s}.site-header.ready{opacity:1}.brand{font:600 20px/1 Syne,sans-serif;letter-spacing:-.045em}.site-header nav{display:flex;gap:clamp(18px,2.2vw,38px);font:400 11px DM Mono,monospace;text-transform:uppercase;letter-spacing:.08em}.site-header nav a{position:relative}.site-header nav a:after{content:"";position:absolute;left:0;bottom:-6px;width:100%;height:1px;background:currentColor;transform:scaleX(0);transform-origin:right;transition:transform .35s}.site-header nav a:hover:after{transform:scaleX(1);transform-origin:left}.menu-toggle{display:none;background:none;border:0;text-transform:uppercase}.menu-toggle i{display:block;width:22px;height:1px;background:currentColor;margin-top:5px}
.hero{height:150vh;position:relative}.hero-media{position:sticky;top:0;height:100vh;overflow:hidden;background:#151515}.hero-image{position:absolute;inset:-5%;background:url('https://images.unsplash.com/photo-1493238792000-8113da705763?auto=format&fit=crop&w=2400&q=90') center 57%/cover;filter:grayscale(1) contrast(1.12);transform:scale(1.08);animation:hero-in 1.8s cubic-bezier(.2,.7,.2,1) forwards}.hero-vignette{position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.45),transparent 40%,rgba(0,0,0,.68)),radial-gradient(circle at 50% 45%,transparent 10%,rgba(0,0,0,.3) 90%)}@keyframes hero-in{to{transform:scale(1)}}.hero-wordmark{position:fixed;z-index:4;left:50%;top:50%;margin:0;width:max-content;transform:translate(-50%,-50%);font:600 clamp(16vw,19vw,22vw)/.7 Syne,sans-serif;letter-spacing:-.085em;color:#f5f1e9;will-change:transform,font-size,top,left}.hero-meta{position:absolute;z-index:3;top:30px;left:var(--pad);right:var(--pad);display:flex;justify-content:space-between;font:400 10px DM Mono,monospace;text-transform:uppercase;letter-spacing:.1em}.hero-bottom{position:absolute;z-index:3;top:calc(100vh - 130px);left:var(--pad);right:var(--pad);display:flex;justify-content:space-between;align-items:end}.hero-bottom p{margin:0;font-size:clamp(20px,2vw,31px);line-height:1.05}.hero-bottom a{font:400 10px DM Mono,monospace;text-transform:uppercase;letter-spacing:.08em}.hero-bottom a span{display:inline-block;margin-left:22px;animation:bob 1.5s infinite}@keyframes bob{50%{transform:translateY(5px)}}
.eyebrow{font:400 10px DM Mono,monospace;text-transform:uppercase;letter-spacing:.12em;color:var(--muted)}.manifesto{padding-top:170px;padding-bottom:190px;display:grid;grid-template-columns:1fr 2.4fr;gap:40px}.manifesto h2,.services h2,.photo h2,.about h2,.contact h2{margin:0;font:500 clamp(48px,7.3vw,118px)/.9 Syne,sans-serif;letter-spacing:-.065em}.manifesto h2 em,.photo h2 em{font-family:Georgia,serif;font-weight:400}.manifesto-copy{grid-column:2;max-width:470px;margin:60px 0 0;font-size:17px;line-height:1.65;color:#b4b0a9}.reveal{clip-path:inset(0 0 100% 0);transform:translateY(35px);transition:clip-path 1.1s cubic-bezier(.77,0,.18,1),transform 1.1s cubic-bezier(.2,.8,.2,1)}.reveal.visible{clip-path:inset(0);transform:none}
.showcase{padding:0 var(--pad) 170px}.project{height:min(78vh,820px);min-height:520px;position:relative;display:block;overflow:hidden;border-top:1px solid var(--line);background:var(--image) center/cover;margin-bottom:22px;filter:grayscale(.25)}.project:before{content:"";position:absolute;inset:0;background:var(--image) center/cover;transform:scale(1.01);transition:transform 1.1s cubic-bezier(.2,.7,.2,1),filter 1s}.project:hover:before{transform:scale(1.045);filter:saturate(1.2)}.project-shade{position:absolute;z-index:1;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.25),rgba(0,0,0,.07) 45%,rgba(0,0,0,.72))}.project-index,.project-type,.project-title{position:absolute;z-index:2}.project-index{top:27px;left:29px;font:400 10px DM Mono,monospace}.project-type{right:29px;bottom:32px;font:400 10px DM Mono,monospace;text-transform:uppercase}.project-title{left:29px;bottom:27px}.project-title span{font:400 10px DM Mono,monospace;text-transform:uppercase}.project-title h3{font:500 clamp(47px,7vw,105px)/.9 Syne,sans-serif;letter-spacing:-.06em;margin:10px 0 0}.project-wedding{height:min(68vh,700px);margin-left:14vw}.project-commercial{height:min(73vh,760px);margin-right:9vw}
.services{padding-top:70px;padding-bottom:170px}.services-head{display:grid;grid-template-columns:1fr 2.4fr;margin-bottom:130px}.service-list{border-top:1px solid var(--line)}.service-list article{display:grid;grid-template-columns:70px 1.3fr 1fr auto;align-items:center;min-height:170px;border-bottom:1px solid var(--line);transition:background .4s,padding .4s;padding:20px 0}.service-list article:hover{background:#111;padding-left:18px;padding-right:18px}.service-list article.warm:hover{background:#1b100d}.service-list span,.service-list a{font:400 10px DM Mono,monospace;text-transform:uppercase}.service-list h3{font:500 clamp(32px,4vw,64px)/1 Syne,sans-serif;letter-spacing:-.04em;margin:0}.service-list p{color:#aaa69f;max-width:360px;line-height:1.55;font-size:14px}.service-list a{white-space:nowrap}
.photo{background:#d7d2c8;color:#0d0d0c;padding-bottom:var(--pad)}.photo .eyebrow{color:#55514c}.photo-intro{padding-top:150px;padding-bottom:100px;display:grid;grid-template-columns:1fr 2.4fr}.photo-intro>p:last-child{grid-column:2;margin:50px 0 0;max-width:380px;line-height:1.6}.photo-grid{padding:0 var(--pad);display:grid;grid-template-columns:1.4fr .85fr;gap:var(--pad)}.photo-grid figure{margin:0;overflow:hidden;align-self:start}.photo-grid img{height:48vw;max-height:720px;object-fit:cover;filter:grayscale(.7);transition:filter .7s,transform 1s}.photo-grid figure:hover img{filter:grayscale(0);transform:scale(1.025)}.photo-grid .wide img{height:35vw}.photo-grid .tall{grid-row:span 2}.photo-grid .tall img{height:66vw;max-height:1000px}
.about{padding-top:190px;padding-bottom:220px;display:grid;grid-template-columns:1fr 2.4fr}.about>div p{max-width:570px;font-size:18px;line-height:1.7;color:#aaa69f;margin:60px 0 0}.contact{background:#111;padding-top:150px;padding-bottom:160px}.contact-title{display:grid;grid-template-columns:2.4fr 1fr;align-items:end;margin:85px 0 110px}.contact-title span{font-family:Georgia,serif;font-style:italic;font-size:22px;color:#b6b1a8;padding-bottom:8px}.contact form{display:grid;grid-template-columns:1fr 1fr;gap:45px 6vw;border-top:1px solid var(--line);padding-top:70px}.contact label{display:flex;flex-direction:column;gap:15px}.contact label span{font:400 10px DM Mono,monospace;text-transform:uppercase;letter-spacing:.08em;color:#8c8983}.contact input,.contact select,.contact textarea{width:100%;border:0;border-bottom:1px solid var(--line);background:transparent;border-radius:0;padding:0 0 15px;outline:none}.contact textarea{resize:vertical}.contact input:focus,.contact select:focus,.contact textarea:focus{border-color:#eee}.contact .full{grid-column:1/-1}.contact button{grid-column:1/-1;margin-top:25px;height:95px;border:1px solid var(--ink);background:transparent;display:flex;align-items:center;justify-content:space-between;padding:0 30px;text-transform:uppercase;font:400 12px DM Mono,monospace;cursor:pointer;transition:background .35s,color .35s}.contact button:hover{background:var(--ink);color:#080808}.contact button b{font-size:24px;font-weight:300}.hidden{position:absolute;left:-9999px}
footer{padding:100px var(--pad) 40px}.footer-brand{font:600 clamp(70px,17vw,260px)/.7 Syne,sans-serif;letter-spacing:-.085em}.footer-brand+div{border-top:1px solid var(--line);margin-top:65px;padding-top:22px;display:flex;justify-content:space-between;font:400 10px DM Mono,monospace;text-transform:uppercase;color:#8d8982}
.cursor{position:fixed;z-index:100;left:0;top:0;width:70px;height:70px;border-radius:50%;background:#f0ede6;color:#080808;display:grid;place-items:center;pointer-events:none;transform:translate(-50%,-50%) scale(0);transition:transform .3s;mix-blend-mode:difference}.cursor span{font:400 9px DM Mono,monospace;text-transform:uppercase}.cursor.active{transform:translate(-50%,-50%) scale(1)}

/* Keep supporting copy comfortably readable without losing the editorial scale. */
.hero-meta{justify-content:flex-end}
.site-header nav,.hero-meta,.hero-bottom a,.eyebrow,.project-index,.project-type,.project-title span,.service-list span,.service-list a,.contact label span,.footer-brand+div{font-size:12px}
.eyebrow{margin:0;font-family:Manrope,sans-serif;font-size:clamp(58px,7vw,100px);font-weight:300;line-height:.94;letter-spacing:-.018em;word-spacing:.08em;text-transform:none;color:var(--ink)}
.manifesto,.services,.about,.contact{padding-top:110px}
.manifesto{padding-bottom:130px}
.services-head{margin-bottom:85px}
.services{padding-top:60px}
.services-head{display:block;margin-bottom:55px}
.services-head .eyebrow{white-space:nowrap;font-size:clamp(50px,6vw,86px);line-height:1}
.services-head h2{margin-top:28px}
.about{display:block;padding-top:75px;padding-bottom:120px}
.about>.eyebrow{white-space:nowrap;font-size:clamp(50px,6vw,86px)}
.about>div{margin-top:38px}
.about>div p{margin:45px 4vw 0 auto;max-width:610px;font-size:19px}
.contact{padding-top:70px}
.contact>.eyebrow{white-space:nowrap;font-size:clamp(50px,6vw,86px)}
.contact-title{display:block;margin:28px 0 70px}
.contact-title span{display:block;margin-top:18px;padding-bottom:0}

/* Unified, compact section introductions. */
.manifesto,.services-head,.photo-intro,.about{display:block}
.manifesto,.services,.photo-intro,.about,.contact{padding-top:34px}
.manifesto,.about{padding-bottom:64px}
.eyebrow,.services-head .eyebrow,.about>.eyebrow,.contact>.eyebrow{font-family:'DM Mono',monospace;font-size:18px;font-weight:400;line-height:1.2;letter-spacing:.06em;word-spacing:0;text-transform:uppercase;white-space:nowrap;text-align:left;color:var(--muted)}
.photo .eyebrow{color:#5f5b55}
.manifesto h2,.services-head h2,.photo-intro h2,.about>div,.contact-title{margin-top:22px}
.manifesto h2,.services-head h2,.photo-intro h2,.about h2,.contact h2{line-height:.9}
.manifesto-copy,.photo-intro>p:last-child{grid-column:auto;margin:30px 0 0;max-width:560px}
.services-head{margin-bottom:48px}
.photo-intro{padding-bottom:55px}
.about>div p{margin:32px 0 0;max-width:610px}
.contact-title{margin-bottom:55px}
.showcase{padding-bottom:54px}
.services{padding-bottom:64px}
.photo{padding-bottom:0}
.reveal,.reveal.visible{clip-path:none;transform:none}
.photo-intro{padding-top:100px;padding-bottom:70px}
.about{padding-bottom:150px}
.contact-title{margin-top:55px}
.service-list p{font-size:16px;line-height:1.6;max-width:380px}
.contact label span,.footer-brand+div{color:#aaa69f}
.contact button{font-size:13px}
.cursor span{font-size:11px}
.site-header .brand{font-size:clamp(27px,2.4vw,38px)}
@media(max-width:800px){:root{--pad:20px}.site-header{height:70px}.site-header .brand{font-size:25px}.site-header nav{position:fixed;inset:0;background:#0a0a0a;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:25px;font:500 25px Syne,sans-serif;transform:translateY(-100%);transition:transform .6s;mix-blend-mode:normal}.site-header nav.open{transform:none}.menu-toggle{display:block;position:relative;z-index:2}.hero{height:130vh}.hero-wordmark{font-size:18.6vw}.hero-meta{top:22px}.hero-bottom{top:calc(100vh - 105px)}.manifesto,.services-head,.photo-intro,.about{grid-template-columns:1fr}.eyebrow{font-size:clamp(42px,13vw,64px)}.manifesto{padding-top:80px;padding-bottom:90px}.manifesto h2,.services h2,.photo h2,.about h2,.contact h2{font-size:clamp(44px,14vw,70px)}.manifesto h2,.services-head h2,.photo-intro h2,.about>div{margin-top:34px}.manifesto-copy,.photo-intro>p:last-child{grid-column:1;margin-top:38px}.showcase{padding-bottom:100px}.project,.project-wedding,.project-commercial{height:62vh;min-height:480px;margin-left:0;margin-right:0}.project-title{left:18px}.project-title h3{font-size:12vw}.project-type{right:18px}.services{padding-top:80px;padding-bottom:90px}.services-head{margin-bottom:55px}.service-list article{grid-template-columns:38px 1fr;min-height:0;padding:32px 0}.service-list article p,.service-list article a{grid-column:2}.photo-intro{padding-top:80px;padding-bottom:55px}.photo-grid{grid-template-columns:1fr;gap:20px}.photo-grid .tall{grid-row:auto}.photo-grid img,.photo-grid .wide img,.photo-grid .tall img{height:115vw}.about{padding-top:80px;padding-bottom:100px}.contact{padding-top:80px;padding-bottom:90px}.contact-title{grid-template-columns:1fr;margin:40px 0 65px}.contact-title span{margin-top:30px}.contact form{grid-template-columns:1fr;gap:36px}.contact .full,.contact button{grid-column:1}.footer-brand{font-size:17vw}.footer-brand+div{gap:20px;flex-wrap:wrap}.cursor{display:none}}
@media(max-width:800px){.services{padding-top:48px}.services-head{margin-bottom:42px}.services-head .eyebrow{font-size:clamp(34px,10.5vw,50px)}.services-head h2{margin-top:20px}.about{padding-top:60px;padding-bottom:90px}.about>.eyebrow{font-size:clamp(34px,10.5vw,50px)}.about>div{margin-top:24px}.about>div p{margin:34px 0 0;font-size:17px}.contact{padding-top:55px}.contact>.eyebrow{font-size:clamp(34px,10.5vw,50px)}.contact-title{margin:22px 0 55px}.contact-title span{margin-top:12px}}
@media(max-width:800px){.manifesto,.services,.photo-intro,.about,.contact{padding-top:26px}.manifesto,.about{padding-bottom:52px}.eyebrow,.services-head .eyebrow,.about>.eyebrow,.contact>.eyebrow{font-size:16px}.manifesto h2,.services-head h2,.photo-intro h2,.about>div,.contact-title{margin-top:16px}.photo-intro>p:last-child,.about>div p{margin-top:20px}.showcase{padding-bottom:34px}.services{padding-bottom:48px}.services-head{margin-bottom:38px}.photo-intro{padding-bottom:36px}.contact-title{margin-bottom:45px}.contact-title span{margin-top:8px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important}.reveal{clip-path:none;transform:none}}
