@font-face{font-family:"Vanitas";src:url("assets/fonts/vanitas-regular.otf") format("opentype");font-style:normal;font-weight:400;font-display:swap}
@font-face{font-family:"Vanitas";src:url("assets/fonts/vanitas-bold.otf") format("opentype");font-style:normal;font-weight:700;font-display:swap}
:root{--paper:#f5f3ef;--ink:#171612;--muted:#6e6a61;--gold:#a6823c;--line:rgba(23,22,18,.16);--image-gap:.0625in}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:72px}
body{margin:0;background:var(--paper);color:var(--ink);font-family:"Vanitas",Didot,Georgia,serif;font-size:16px;line-height:1.5}
button,input,textarea,select{font-family:inherit}
em{font-weight:400;color:var(--gold)}
img{display:block;width:100%;height:100%;object-fit:cover}
a{color:inherit;text-decoration:none}
.site-header{position:fixed;z-index:10;top:0;left:0;width:100%;display:flex;justify-content:flex-end;align-items:center;padding:20px 4vw;background:rgba(245,243,239,.96);color:var(--ink);border-bottom:1px solid var(--line)}
.brand-logo{display:block;width:260px;height:31px;overflow:hidden;line-height:0}
.brand-logo img{display:block;width:100%;height:auto;object-fit:contain}
nav{display:flex;gap:28px;font-size:10px;letter-spacing:.19em;text-transform:uppercase}
nav a{position:relative}
nav a:after{content:"";position:absolute;left:0;bottom:-7px;width:0;height:1px;background:currentColor;transition:.35s}
nav a:hover:after{width:100%}
.menu-toggle{display:none;background:none;border:0;color:inherit;text-transform:uppercase;letter-spacing:.15em}
.hero{height:100svh;min-height:0;position:relative;color:#fff;background:#171612;overflow:hidden}
.hero-study-scene{background:#171612}
.hero-study-scene:before{display:none}
.hero:after{content:"";position:absolute;z-index:2;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.36),rgba(0,0,0,.04) 48%,rgba(0,0,0,.42))}
.hero img{animation:heroIn 1.7s ease both;filter:saturate(.68) brightness(.72)}
.hero-pair{position:relative;z-index:1;width:100%;height:100%;padding-top:72px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0;background:#171612}
.hero-pair .hero-study{width:100%;height:100%;object-fit:contain;object-position:center}
.hero img.hero-study{position:relative;z-index:1;object-fit:contain;object-position:center;filter:saturate(.92) brightness(.82)}
.hero-pair img.hero-study{object-fit:contain}
.hero-pair img.hero-study:first-child{object-position:right center}
.hero-pair img.hero-study:last-child{object-position:left center}
@keyframes heroIn{from{opacity:0;transform:scale(1.035)}to{opacity:1;transform:scale(1)}}
.hero-title{position:absolute;z-index:3;left:0;right:0;bottom:12vh;text-align:center}
.hero-title p,.eyebrow{margin:0 0 24px;font-size:10px;letter-spacing:.24em;text-transform:uppercase}
.hero-title .hero-logo{width:min(64vw,900px);height:auto;margin:0 auto;object-fit:contain;filter:none;animation:heroIn 1.7s ease both}
.hero-title h1,.intro h2,.section-heading h2,.bespoke h2,.founder h2,.press h2,.contact h2{font-family:"Vanitas",Didot,Georgia,serif;font-weight:400;line-height:.98;margin:0}
.hero-title h1{font-size:clamp(4.6rem,10vw,10rem);letter-spacing:-.035em}
.scroll-mark{position:absolute;z-index:3;left:50%;transform:translateX(-50%);bottom:30px;font-size:9px;letter-spacing:.22em;text-transform:uppercase}
.intro{padding:190px 8vw 220px}
.intro h2{font-size:clamp(3.2rem,6.2vw,7rem);max-width:1180px;letter-spacing:-.03em}
.intro-grid{display:grid;grid-template-columns:1fr 1fr;gap:55px 7vw;margin:105px 0 0 36%;max-width:840px}
.intro-grid p{margin:0;color:#46433d;font-size:16px;line-height:1.65}
.projects{padding:0 4vw 210px}
.section-heading{display:flex;align-items:end;justify-content:space-between;padding:0 4vw 70px;border-bottom:1px solid var(--line);margin-bottom:70px}
.section-heading h2{font-size:clamp(3.5rem,7vw,7rem)}
.image-wrap{overflow:hidden;height:68vw;max-height:860px;background:#ddd}
.image-wrap img{transition:transform 1.2s cubic-bezier(.2,.7,.2,1);filter:saturate(.88)}
.project:hover img{transform:scale(1.02)}
.project[role="button"]{cursor:pointer}
.project[role="button"]:focus-visible{outline:1px solid var(--gold);outline-offset:8px}
.project-caption{display:grid;grid-template-columns:1fr auto;align-items:start;padding:27px 0 70px;border-top:1px solid var(--line)}
.project-caption h3{font-family:"Vanitas",Didot,Georgia,serif;font-size:30px;font-weight:400;margin:0}
.project-caption p{grid-column:1;margin:6px 0 0;color:var(--muted);font-size:10px;letter-spacing:.18em;text-transform:uppercase}
.project-caption button{grid-column:2;grid-row:1/3;background:transparent;border:0;border-bottom:1px solid var(--ink);padding:5px 0;cursor:pointer;text-transform:uppercase;font-size:9px;letter-spacing:.18em}
.project-pair{display:grid;grid-template-columns:1fr 1fr;gap:9vw;padding:100px 4vw 0}
.project-pair .image-wrap{height:62vw;max-height:820px}
.project.offset{margin-top:220px}
.all-projects{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4vw;padding:0 4vw;align-items:start}
.all-projects .project,.all-projects .project:nth-child(even),.all-projects .project-feature{grid-column:auto;margin:0;min-width:0}
.all-projects .image-wrap,.all-projects .project-feature .image-wrap{width:100%;height:auto;max-height:none;aspect-ratio:4/3}
.all-projects .project-caption{min-height:118px}
.all-projects .project-caption:after{content:"View project";grid-column:2;grid-row:1/3;align-self:start;border-bottom:1px solid var(--ink);padding:5px 0;font-size:9px;letter-spacing:.18em;text-transform:uppercase}
.commercial-heading{margin-top:150px}
.bespoke{background:var(--paper);color:var(--ink);padding:180px 8vw;border-top:1px solid var(--line);display:grid;grid-template-columns:.72fr 1.6fr;gap:9vw;align-items:center}
.bespoke-copy{position:sticky;top:110px}
.bespoke h2{font-size:clamp(3.6rem,6vw,6.6rem);letter-spacing:-.025em}
.bespoke-copy>p:nth-of-type(2){max-width:400px;color:var(--muted);margin:46px 0}
.bespoke-copy a,.bespoke-view{display:inline-block;border:0;border-bottom:1px solid currentColor;padding:0 0 7px;background:transparent;color:inherit;text-transform:uppercase;font-size:9px;letter-spacing:.2em;cursor:pointer}
.bespoke-gallery{display:grid;gap:var(--image-gap)}
.bespoke-gallery img{height:auto;background:#fff}
.founder{padding:160px 8vw;display:grid;grid-template-columns:.9fr 1.1fr;gap:7vw;align-items:center}
.founder-image{aspect-ratio:.96;overflow:hidden}
.founder-image img{object-position:center 58%;filter:saturate(.9)}
.founder h2{font-size:clamp(2.6rem,3.4vw,3.7rem);white-space:nowrap}
.founder-bio{font-family:"Vanitas",Didot,Georgia,serif;font-size:clamp(.98rem,1.05vw,1.12rem);line-height:1.45;margin:28px 0 0;max-width:650px}
.founder-bio p{margin:0}
.founder-bio p+p{margin-top:.85em}
.press{padding:110px 8vw 145px}
.press h2{font-size:clamp(3.5rem,7vw,7rem)}
.press-list{margin-top:65px;border-top:1px solid var(--line)}
.press-list button{width:100%;display:grid;grid-template-columns:1fr 2.4fr auto;gap:35px;align-items:center;padding:28px 0;border:0;border-bottom:1px solid var(--line);background:transparent;color:var(--ink);text-align:left;cursor:pointer}
.press-list span,.press-list em{font:400 10px/1.4 "Vanitas",Didot,Georgia,serif;letter-spacing:.16em;text-transform:uppercase}
.press-list strong{font:400 clamp(1.25rem,2vw,2rem)/1.18 "Vanitas",Didot,Georgia,serif}
.press-list em{font-style:normal;border-bottom:1px solid var(--ink);padding-bottom:5px}
.press-list button:hover strong,.press-list button:focus-visible strong{font-style:italic}
.contact{background:#8d733d;color:#fff;padding:175px 8vw 75px}
.contact h2{font-size:clamp(3.8rem,8vw,8.4rem);max-width:1100px;letter-spacing:-.035em}
.contact h2 em{color:#e4d4b2}
.contact-link{display:inline-block;font-family:"Vanitas",Didot,Georgia,serif;font-size:clamp(1.4rem,2.6vw,2.8rem);margin-top:90px;border-bottom:1px solid}
.contact-meta{display:flex;justify-content:space-between;align-items:end;margin-top:110px;font-size:10px;letter-spacing:.14em;text-transform:uppercase}
.instagram-link{display:inline-flex;align-items:center;gap:9px;margin-top:10px}
.instagram-link svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.35}
.instagram-link .instagram-dot{fill:currentColor;stroke:none}
footer{padding:34px 4vw;display:flex;justify-content:space-between;align-items:center;font-size:9px;text-transform:uppercase;letter-spacing:.13em}
footer .brand-logo{width:230px;height:28px}
dialog{width:100%;height:100%;max-width:none;max-height:none;margin:0;border:0;background:var(--paper);padding:0}
dialog::backdrop{background:rgba(0,0,0,.4)}
.dialog-close{position:fixed;z-index:3;top:24px;right:30px;background:var(--paper);border:1px solid var(--ink);padding:10px 16px;text-transform:uppercase;font-size:9px;letter-spacing:.16em}
.dialog-content{min-height:100%;display:block;padding:110px 6vw 8vw}
.dialog-content h2{font:400 clamp(3.5rem,8vw,8rem)/1 "Vanitas",Didot,Georgia,serif;margin:0}
.dialog-content p{max-width:560px;margin-top:35px}
.project-detail header{display:grid;grid-template-columns:1fr 1fr;gap:7vw;align-items:end;padding:30px 0 90px;border-bottom:1px solid var(--line)}
.project-detail header .eyebrow{grid-column:1;margin:0 0 18px}
.project-detail header h2{grid-column:1;max-width:850px}
.project-detail header>p:last-child{grid-column:2;grid-row:1/3;align-self:end;margin:0;color:var(--muted);font-size:16px;line-height:1.65}
.detail-gallery{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--image-gap);margin-top:7vw}
.detail-gallery img{width:100%;height:auto;aspect-ratio:4/3;object-fit:cover}
.detail-gallery img.show-full-image{display:block;width:100%;height:auto!important;max-height:none;aspect-ratio:unset!important;object-fit:contain!important}
.masonry-gallery{align-items:start;gap:var(--image-gap)}
.masonry-gallery-column{display:grid;grid-template-columns:minmax(0,1fr);align-content:start;width:100%;min-width:0;gap:var(--image-gap)}
.masonry-gallery-column .masonry-image{display:block;width:100%!important;max-width:none;justify-self:stretch}
.elm-gallery{align-items:start}
.elm-gallery-column{display:grid;gap:var(--image-gap)}
.detail-gallery img:first-child:last-child{grid-column:1/-1;max-width:900px;margin:auto}
.article-detail header{max-width:1050px;margin:0 auto 70px;text-align:center}
.article-detail header .eyebrow{margin:0 0 22px}
.article-detail h2{font-size:clamp(3rem,6vw,6.5rem)}
.article-detail>img{display:block;width:100%;max-width:1200px;height:auto;margin:auto;box-shadow:0 12px 45px rgba(34,31,26,.12)}
.bespoke-detail header{display:grid;grid-template-columns:1fr 1fr;gap:7vw;align-items:end;padding:30px 0 90px;border-bottom:1px solid var(--line)}
.bespoke-detail header .eyebrow{grid-column:1;margin:0 0 18px}
.bespoke-detail header h2{grid-column:1}
.bespoke-detail header>p:last-child{grid-column:2;grid-row:1/3;align-self:end;margin:0;color:var(--muted);font-size:16px;line-height:1.65}
.bespoke-detail-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6vw var(--image-gap);margin-top:7vw}
.bespoke-detail-grid figure{margin:0}
.bespoke-detail-grid img{width:100%;height:auto;aspect-ratio:1/1;object-fit:cover;background:#fff}
.bespoke-detail-grid figcaption{font:400 clamp(1.25rem,2vw,2rem)/1.2 "Vanitas",Didot,Georgia,serif;margin-top:18px}
.collection-inquiries{display:block;width:max-content;margin:90px auto 20px;padding-bottom:7px;border-bottom:1px solid currentColor;font-size:10px;letter-spacing:.2em;text-transform:uppercase}
.reveal{opacity:0;transform:translateY(24px);transition:opacity 1s ease,transform 1s ease}
.reveal.visible{opacity:1;transform:none}
@media(max-width:800px){.site-header{padding:15px 20px}.brand-logo{width:190px}.menu-toggle{display:block}nav{display:none;position:absolute;top:70px;right:20px;background:var(--paper);color:var(--ink);padding:30px;flex-direction:column;gap:20px}.site-header.open nav{display:flex}.hero{min-height:0}.hero-title{bottom:100px}.hero-title h1{font-size:clamp(3.8rem,17vw,6rem)}.scroll-mark{bottom:20px}.intro{padding:110px 24px 130px}.intro h2 br{display:none}.intro-grid{grid-template-columns:1fr;margin:58px 0 0;gap:26px}.projects{padding:0 20px 110px}.section-heading{display:block;padding:0 0 40px;margin-bottom:40px}.project-pair{grid-template-columns:1fr;padding:35px 0 0;gap:20px}.project.offset{margin-top:0}.all-projects{grid-template-columns:1fr;padding:0;gap:20px}.all-projects .project,.all-projects .project:nth-child(even),.all-projects .project-feature{grid-column:auto;margin:0}.all-projects .image-wrap,.all-projects .project-feature .image-wrap{height:118vw}.image-wrap,.project-pair .image-wrap{height:118vw}.project-caption{padding-bottom:48px}.bespoke{padding:105px 24px;grid-template-columns:1fr}.bespoke-copy{position:static}.founder{padding:110px 24px;grid-template-columns:1fr;gap:24px}.press{padding:90px 24px}.press-list button{grid-template-columns:1fr auto;gap:10px 20px;padding:24px 0}.press-list span{grid-column:1}.press-list strong{grid-column:1/-1;grid-row:2}.press-list em{grid-column:2;grid-row:1}.contact{padding:110px 24px 55px}.contact-meta{display:block;margin-top:80px}.contact-meta p+p{margin-top:32px}footer{padding:25px 20px;align-items:flex-end}footer .brand-logo{width:170px}.dialog-content{padding:20vh 28px}.article-detail header{margin-bottom:42px}.article-detail h2{font-size:clamp(2.5rem,12vw,4rem)}}
@media(max-width:800px){.hero{height:auto;overflow:hidden;background:transparent}.hero-pair{height:auto;padding-top:0;display:block;background:transparent}.hero-pair img.hero-study{width:100%;height:auto;object-fit:contain;object-position:center}.hero-title{top:62.5vw;bottom:auto;transform:translateY(-50%)}.hero-title .hero-logo{width:86vw}.scroll-mark{bottom:20px}}
@media(max-width:800px){.brand-logo{height:23px}.founder h2{font-size:clamp(2.5rem,11vw,3.4rem);white-space:normal}.founder-bio{font-size:1rem;line-height:1.5;margin-top:24px}.all-projects .image-wrap,.all-projects .project-feature .image-wrap{height:auto;aspect-ratio:4/3}.all-projects .project-caption{min-height:0}.all-projects .project-caption:after{display:none}.project-detail header,.bespoke-detail header{grid-template-columns:1fr;padding:30px 0 60px}.project-detail header .eyebrow,.project-detail header h2,.project-detail header>p:last-child,.bespoke-detail header .eyebrow,.bespoke-detail header h2,.bespoke-detail header>p:last-child{grid-column:1;grid-row:auto}.project-detail header>p:last-child,.bespoke-detail header>p:last-child{margin-top:35px}.detail-gallery{grid-template-columns:1fr;gap:var(--image-gap)}.bespoke-detail-grid{grid-template-columns:1fr;gap:24px}.elm-gallery,.masonry-gallery{display:flex;flex-direction:column}.elm-gallery-column,.masonry-gallery-column{display:contents}.masonry-gallery img{order:var(--gallery-order)}.elm-image-1{order:1}.elm-image-2{order:2}.elm-image-3{order:3}.detail-gallery img:first-child:last-child{grid-column:auto}footer .brand-logo{height:21px}}
@media(max-width:800px){body.menu-open{overflow:hidden}.site-header{position:fixed;background:transparent;border-bottom:0;pointer-events:none;padding:14px 18px}.menu-toggle{position:relative;z-index:12;display:block;pointer-events:auto;background:rgba(245,243,239,.94);padding:10px 13px}.site-header nav{position:fixed;z-index:11;inset:0;display:none;height:100svh;background:var(--paper);padding:90px 30px 50px;align-items:center;justify-content:center;gap:32px;font-size:16px;line-height:1;pointer-events:auto}.site-header.open nav{display:flex}}
@media(max-width:800px){.menu-toggle{background:rgba(245,243,239,.38);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.collection-inquiries{margin-top:60px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.hero img,.reveal,.image-wrap img{animation:none;transition:none}}
