:root{--coal:#34312c;--gold:#9c7b45;--beige:#cab7a5;--bone:#ede3d3;--soft:#6b655b;--ease:cubic-bezier(.22,1,.36,1)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bone);color:var(--coal);font-family:"EB Garamond",serif;font-size:18px;line-height:1.55}img{display:block;width:100%;height:auto}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}.skip-link{position:fixed;z-index:100;top:1rem;left:1rem;padding:.6rem 1rem;background:var(--bone);transform:translateY(-200%)}.skip-link:focus{transform:none}.site-header{position:fixed;inset:0 0 auto;z-index:50;height:92px;display:flex;align-items:center;justify-content:space-between;padding:0 3.5vw;color:var(--bone);transition:background .45s,color .45s,height .45s}.site-header.scrolled,.project-page .site-header{height:72px;background:rgba(237,227,211,.94);color:var(--coal);backdrop-filter:blur(12px)}.brand{display:flex;align-items:center;gap:14px}.brand-mark{font-family:"Playfair Display";font-size:29px;letter-spacing:-4px;border-right:1px solid currentColor;padding-right:16px}.brand-name{text-transform:uppercase;letter-spacing:.24em;font-size:11px;line-height:1.45}.brand-name small{display:block;font-size:8px;letter-spacing:.42em}.desktop-nav{display:flex;align-items:center;gap:2.2rem;text-transform:uppercase;font-size:11px;letter-spacing:.18em}.desktop-nav a{position:relative}.desktop-nav a:after,.text-link:after{content:"";position:absolute;left:0;right:100%;bottom:-5px;height:1px;background:var(--gold);transition:right .55s var(--ease)}.desktop-nav a:hover:after,.desktop-nav a:focus-visible:after,.text-link:hover:after{right:0}.menu-toggle{display:none;background:none;border:0;color:inherit;width:48px;height:48px}.menu-toggle span{display:block;width:25px;height:1px;margin:7px auto;background:currentColor}.mobile-menu{display:none}.hero{position:relative;height:100svh;min-height:620px;color:var(--bone);overflow:hidden}.hero>img{height:100%;object-fit:cover;animation:heroIn 1.6s var(--ease) both}.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(30,27,23,.48),rgba(30,27,23,.06) 60%,rgba(30,27,23,.2))}.hero-copy{position:absolute;left:8vw;bottom:14vh}.eyebrow,.section-index{text-transform:uppercase;letter-spacing:.25em;font-size:11px}.eyebrow.light{color:var(--bone)}h1,h2,h3,blockquote{font-family:"Playfair Display",serif;font-weight:500;line-height:.98}.hero h1{font-size:clamp(64px,9.6vw,148px);margin:1rem 0 2.4rem;letter-spacing:-.04em}.text-link{position:relative;display:inline-flex;gap:1.7rem;text-transform:uppercase;letter-spacing:.18em;font-size:11px}.text-link span,.service-list i,.contact-form button span{transition:transform .4s var(--ease)}.text-link:hover span,.service-list a:hover i,.contact-form button:hover span{transform:translateX(6px)}.scroll-cue{position:absolute;right:3.5vw;bottom:8vh;display:flex;align-items:center;gap:15px;text-transform:uppercase;letter-spacing:.24em;font-size:9px}.scroll-cue span{width:1px;height:60px;background:var(--gold)}.section-pad{padding:clamp(100px,13vw,210px) 8vw}.section-index{color:var(--gold)}.intro-grid{display:grid;grid-template-columns:3fr 1fr;gap:10vw;align-items:end;margin-top:7vw}.display{font-size:clamp(42px,6vw,88px);letter-spacing:-.035em;margin:0;max-width:1100px}.intro-note{font-size:18px;color:var(--soft)}.intro-note i{display:block;width:48px;height:1px;background:var(--gold);margin-bottom:28px}.section-heading{display:flex;justify-content:space-between;align-items:end;border-bottom:1px solid rgba(52,49,44,.25);padding-bottom:18px}.section-heading>p:last-child{max-width:320px;color:var(--soft)}.project-title{display:flex;gap:2rem;align-items:start;margin:8vw 0 -2vw;position:relative;z-index:2}.project-title span{color:var(--gold);font-size:12px}.project-title h2{font-size:clamp(62px,11vw,164px);letter-spacing:-.05em;margin:0}.editorial-image{position:relative;display:block;overflow:hidden}.editorial-image img{transition:transform 1s var(--ease)}.editorial-image:hover img{transform:scale(1.02)}.image-primary{width:88%;margin-left:auto}.image-primary img{aspect-ratio:1.45;object-fit:cover}.image-primary>span{position:absolute;right:0;bottom:0;background:var(--bone);padding:20px 32px;text-transform:uppercase;font-size:10px;letter-spacing:.2em}.project-story{display:grid;grid-template-columns:1fr 1.25fr;gap:11vw;align-items:center;margin-top:10vw}.story-copy{max-width:390px;font-size:23px}.story-copy .text-link{margin-top:28px}.image-secondary{margin-right:-8vw}.image-secondary img{aspect-ratio:1.1;object-fit:cover}.quote-section{background:var(--coal);color:var(--bone);padding:12vw 8vw 14vw}.quote-section blockquote{font-size:clamp(48px,7.5vw,112px);letter-spacing:-.035em;margin:7vw auto 0;text-align:center}.quote-section em{color:var(--beige);font-weight:400}.service-list{margin-top:7vw}.service-list a{display:grid;grid-template-columns:70px 1fr auto;align-items:center;border-top:1px solid rgba(52,49,44,.28);padding:26px 4px}.service-list a:last-child{border-bottom:1px solid rgba(52,49,44,.28)}.service-list span{font-size:11px;color:var(--gold)}.service-list strong{font-family:"Playfair Display";font-size:clamp(25px,3vw,43px);font-weight:500}.service-list i{font-style:normal}.about{background:var(--beige);display:grid;grid-template-columns:1fr 1fr;gap:10vw;align-items:center}.portrait-placeholder{min-height:660px;background:linear-gradient(145deg,#b39b84,#d8c8b8);display:grid;place-items:center;text-align:center;color:rgba(52,49,44,.62);letter-spacing:.16em;text-transform:uppercase;font-size:11px}.portrait-placeholder small{font-size:9px}.about-copy h2{font-size:clamp(64px,8vw,118px);margin:3rem 0 1rem;letter-spacing:-.04em}.about-copy .role{text-transform:uppercase;letter-spacing:.22em;font-size:11px;color:var(--gold)}.about-copy>p:not(.section-index,.role){max-width:540px;font-size:21px}.about-copy .text-link{margin-top:2rem}.process-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:2.5rem;margin-top:8vw}.process article{border-top:1px solid var(--gold);padding-top:25px}.process article>span{font-size:11px;color:var(--gold)}.process h3{font-size:34px;margin:4rem 0 1rem}.process article p{color:var(--soft)}.contact{padding:12vw 8vw;background:var(--beige);display:grid;grid-template-columns:1fr 1fr;gap:10vw}.contact h2{font-size:clamp(50px,6vw,86px);letter-spacing:-.04em;margin:1.4rem 0 2rem}.contact-intro>p:last-child{max-width:430px}.contact-form{display:grid;grid-template-columns:1fr 1fr;gap:28px 35px;align-self:end}.contact-form label{font-size:11px;letter-spacing:.17em;text-transform:uppercase}.contact-form input,.contact-form select,.contact-form textarea{display:block;width:100%;border:0;border-bottom:1px solid rgba(52,49,44,.5);border-radius:0;background:transparent;padding:12px 0;color:var(--coal);outline:none}.contact-form input:focus,.contact-form select:focus,.contact-form textarea:focus{border-bottom-color:var(--gold);box-shadow:0 1px 0 var(--gold)}.contact-form .full,.form-footer{grid-column:1/-1}.form-footer{display:flex;align-items:center;justify-content:space-between;min-height:46px}.contact-form button{border:0;background:var(--coal);color:var(--bone);padding:15px 22px;text-transform:uppercase;letter-spacing:.16em;font-size:10px}.contact-form button span{display:inline-block;margin-left:18px}footer{position:relative;overflow:hidden;background:var(--coal);color:var(--bone);padding:8vw;display:grid;grid-template-columns:2fr 1fr 1fr;gap:5vw}footer a{display:block}footer p{margin:.2rem 0}.footer-brand>p{text-transform:uppercase;letter-spacing:.28em;font-size:13px}.footer-brand small{font-size:9px}.footer-monogram{position:absolute;left:-2vw;bottom:-12vw;font-family:"Playfair Display";font-size:30vw;line-height:1;color:rgba(237,227,211,.025);letter-spacing:-.12em}.footer-label{color:var(--gold);text-transform:uppercase;letter-spacing:.2em;font-size:10px;margin-bottom:1.5rem!important}.legal{grid-column:1/-1;display:flex;gap:2rem;border-top:1px solid rgba(237,227,211,.18);padding-top:25px;margin-top:6vw;font-size:10px;text-transform:uppercase;letter-spacing:.1em}.reveal{opacity:0;transform:translateY(35px);transition:opacity 1s var(--ease),transform 1s var(--ease)}.reveal.visible{opacity:1;transform:none}@keyframes heroIn{from{opacity:.25;transform:scale(1.05)}to{opacity:1;transform:scale(1)}}
.project-close{font-size:30px;font-weight:300}.project-hero{height:100svh;position:relative;color:var(--bone)}.project-hero img{height:100%;object-fit:cover}.project-hero:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(30,27,23,.5),transparent 60%)}.project-hero>div{position:absolute;z-index:2;left:8vw;bottom:10vh}.project-hero h1{font-size:clamp(70px,11vw,165px);margin:1rem 0;letter-spacing:-.05em}.project-meta{display:grid;grid-template-columns:1.1fr .8fr 1fr;gap:7vw;align-items:start}.project-meta h2{font-size:clamp(45px,5vw,72px)}.project-meta dl{margin:0}.project-meta dl div{border-top:1px solid rgba(52,49,44,.25);padding:14px 0;display:flex;justify-content:space-between}.project-meta dt{color:var(--gold);font-size:11px;text-transform:uppercase;letter-spacing:.16em}.project-meta dd{margin:0}.project-meta>p{font-size:22px;margin:0}.project-gallery{padding:0 8vw 12vw}.project-gallery figure{margin:0}.project-gallery figcaption{font-size:11px;text-transform:uppercase;letter-spacing:.16em;color:var(--soft);padding-top:12px}.project-gallery .wide img{aspect-ratio:1.6;object-fit:cover}.gallery-pair{display:grid;grid-template-columns:1.15fr .85fr;gap:10vw;align-items:center;margin:12vw 0}.gallery-pair figure img{aspect-ratio:.85;object-fit:cover}.material-note blockquote{font-size:clamp(38px,4vw,62px);margin:3rem 0}.material-note ul{list-style:none;padding:0;border-top:1px solid rgba(52,49,44,.3)}.material-note li{border-bottom:1px solid rgba(52,49,44,.3);padding:12px 0}.isometric{background:#fff;padding:5vw}.isometric img{mix-blend-mode:multiply}.next-project{background:var(--beige);padding:12vw 8vw}.next-project h2{font-size:clamp(58px,8vw,120px);margin:2rem 0 4rem;letter-spacing:-.04em}
@media(max-width:800px){body{font-size:17px}.site-header{height:76px;padding:0 22px}.brand-name{display:none}.desktop-nav{display:none}.menu-toggle{display:block}.mobile-menu{display:flex;position:fixed;z-index:45;inset:0;background:var(--coal);color:var(--bone);padding:130px 24px 35px;flex-direction:column;justify-content:space-between;opacity:0;visibility:hidden;transition:.55s var(--ease)}.mobile-menu.open{opacity:1;visibility:visible}.mobile-menu nav a{display:block;font-family:"Playfair Display";font-size:48px;line-height:1.4}.mobile-menu p{text-transform:uppercase;letter-spacing:.2em;font-size:10px}.hero-copy{left:24px;right:24px;bottom:15vh}.hero h1{font-size:clamp(51px,16vw,70px)}.scroll-cue{display:none}.section-pad{padding:100px 24px}.intro-grid,.project-story,.about,.contact,.project-meta{grid-template-columns:1fr}.intro-grid{gap:50px}.display{font-size:43px}.section-heading{align-items:start;gap:30px}.section-heading>p:last-child{max-width:180px}.project-title{margin:75px 0 25px}.project-title h2{font-size:64px}.image-primary{width:calc(100% + 24px);margin-right:-24px}.project-story{gap:65px}.story-copy{order:2}.image-secondary{margin-right:0;margin-left:-24px}.quote-section{padding:110px 24px}.quote-section blockquote{text-align:left;font-size:46px;margin-top:70px}.service-list a{grid-template-columns:42px 1fr auto}.service-list strong{font-size:27px}.about{padding:0 24px 100px}.about-visual{margin:0 -24px}.portrait-placeholder{min-height:480px}.process-grid{grid-template-columns:1fr 1fr;gap:50px 22px}.process h3{margin:2.5rem 0 1rem;font-size:27px}.contact{padding:100px 24px;gap:70px}.contact-form{grid-template-columns:1fr}.contact-form label{grid-column:1}.form-footer{align-items:flex-start;gap:18px;flex-direction:column}footer{padding:90px 24px 35px;grid-template-columns:1fr 1fr}.footer-brand{grid-column:1/-1;margin-bottom:45px}.legal{flex-wrap:wrap;gap:12px 22px}.project-hero>div{left:24px;bottom:12vh}.project-hero h1{font-size:64px}.project-meta{gap:35px}.project-gallery{padding:0 24px 100px}.gallery-pair{grid-template-columns:1fr;gap:70px}.isometric{padding:12px;overflow:auto}.isometric img{width:180%;max-width:none}.next-project{padding:100px 24px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation:none!important;transition-duration:.01ms!important}.reveal{opacity:1;transform:none}}
