:root{--ivory:#f6f3ee;--sand:#e8e0d5;--taupe:#b8a99a;--ink:#232321;--muted:#6d6b66;--line:#d8d2ca}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--ivory);color:var(--ink);font-family:'DM Sans',Arial,sans-serif;-webkit-font-smoothing:antialiased}img{display:block;max-width:100%}a{color:inherit;text-decoration:none}button{font:inherit}h1,h2,h3,p{margin-top:0}.container{width:min(100% - 9vw,1440px);margin-inline:auto}.section-pad{padding:clamp(78px,9vw,150px) 0}.eyebrow{font-size:11px;font-weight:700;letter-spacing:.19em;line-height:1.6;color:#55534e}.eyebrow.light{color:rgba(255,255,255,.83)}h1,h2{font-family:'Noto Serif Display',Georgia,serif;font-weight:400;letter-spacing:-.035em}h2{font-size:clamp(43px,5.2vw,82px);line-height:1.04}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:27px;min-height:45px;padding:0 22px;border-radius:100px;font-size:12px;font-weight:700;white-space:nowrap;transition:background .25s,color .25s,transform .25s}.button:hover{transform:translateY(-2px)}.button span{font-size:17px;font-weight:400}.button-light{background:#fff;color:var(--ink)}.button-light:hover{background:var(--sand)}.button-outline{border:1px solid rgba(255,255,255,.8);color:white}.button-outline:hover{background:#fff;color:var(--ink)}.button-dark{background:var(--ink);color:white}.button-dark:hover{background:#4c4945}
.site-header{position:absolute;z-index:20;top:0;left:0;right:0;height:90px;display:flex;align-items:center;justify-content:space-between;gap:32px;padding:0 4.5vw;color:white}.brand{width:150px;flex:none}.brand img{width:100%;height:67px;object-fit:contain;object-position:left center}.main-nav{display:flex;align-items:center;gap:clamp(18px,2.6vw,42px);height:100%}.main-nav a{height:100%;display:flex;align-items:center;position:relative;font-size:13px}.main-nav a:after{content:'';position:absolute;bottom:24px;left:0;right:100%;height:1px;background:#fff;transition:right .25s}.main-nav a:hover:after,.main-nav a.active:after{right:0}.header-cta{border:1px solid rgba(255,255,255,.75);border-radius:100px;padding:12px 20px;font-size:12px;white-space:nowrap}.header-cta span{margin-left:12px;font-size:17px}.menu-toggle{display:none}
.hero{height:min(810px,100svh);min-height:620px;position:relative;color:white;overflow:hidden}.hero-image,.hero-shade{position:absolute;inset:0}.hero-image{background:url('assets/hero.webp') center 55%/cover no-repeat;transform:scale(1.015)}.hero-shade{background:linear-gradient(90deg,rgba(17,16,15,.64),rgba(17,16,15,.25) 48%,rgba(17,16,15,.08) 78%),linear-gradient(0deg,rgba(15,14,13,.42),transparent 26%)}.hero-content{position:relative;z-index:1;padding-top:clamp(190px,21vh,280px)}.hero-content .eyebrow{margin-bottom:22px}.hero h1{font-size:clamp(48px,5.8vw,88px);line-height:.99;max-width:840px;margin-bottom:24px;text-shadow:0 2px 20px rgba(0,0,0,.12)}.hero-copy{max-width:490px;font-size:15px;line-height:1.55;margin-bottom:34px}.hero-actions{display:flex;gap:12px;flex-wrap:wrap}.hero-bottom{position:absolute;z-index:1;bottom:25px;left:50%;transform:translateX(-50%);display:flex;justify-content:space-between;align-items:end}.hero-bottom p{text-align:right;font-size:11px;line-height:1.55;margin:0}.hero-index{font-size:11px;letter-spacing:.1em;display:flex;align-items:center;gap:13px}.hero-index i{height:1px;width:39px;background:rgba(255,255,255,.7)}
.hero h1{max-width:none}.hero h1 span{display:block;white-space:nowrap}
.intro{background:#fff}.intro-grid{display:grid;grid-template-columns:42% 58%;align-items:center;gap:2%;min-height:660px}.intro-copy{max-width:470px}.intro-copy .eyebrow{margin-bottom:25px}.intro-copy h2{margin-bottom:31px}.accent-line{width:39px;height:1px;background:#b9a488;margin-bottom:27px}.intro-copy>p:not(.eyebrow){max-width:410px;font-size:15px;line-height:1.65;margin-bottom:30px}.moodboard{height:615px;position:relative}.mood-main{position:absolute;left:12%;top:0;width:54%;height:100%;object-fit:cover;object-position:center}.material{position:absolute;box-shadow:0 0 0 5px #fff}.material-stone{right:13%;top:8%;width:18%;height:23%;background:linear-gradient(137deg,#d8d4cd,#a9a6a0 48%,#d7d3ca 51%,#beb8ae)}.material-wood{right:4%;top:32%;width:27%;height:34%;background:repeating-linear-gradient(90deg,#4b3930 0 7px,#a28268 8px 11px,#3c2c27 12px 14px)}.material-plaster{right:13%;bottom:10%;width:18%;height:17%;background:linear-gradient(125deg,#bfbcb5,#ece9e3 45%,#bebbb5 47%,#d9d4ce)}.mood-labels{position:absolute;right:0;top:8%;font-size:10px;line-height:2.3;letter-spacing:.12em}.mood-index{position:absolute;right:0;top:72%;font-size:11px;letter-spacing:.2em}.mood-caption{position:absolute;right:1%;bottom:1%;font-size:13px;line-height:1.4}.values{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--line);margin-top:42px;padding-top:34px;gap:28px}.value{text-align:center}.value svg{height:42px;width:42px;fill:none;stroke:currentColor;stroke-width:1.2;stroke-linejoin:round;stroke-linecap:round;margin:0 auto 12px}.value h3{font-size:15px;font-weight:500;margin-bottom:5px}.value p{font-size:12px;line-height:1.55;color:#5a5752;max-width:230px;margin:auto}
.projects{background:#242420;color:white;padding-top:65px;overflow:hidden}.projects-head{display:flex;justify-content:space-between;align-items:end;gap:45px;padding-bottom:48px}.projects h2{font-size:clamp(42px,4.2vw,68px);margin:8px 0 0}.projects-side{width:330px;flex:none;display:flex;gap:24px;align-items:end}.projects-side p{font-size:13px;line-height:1.55;margin:0}.gallery-controls{display:flex;gap:8px;flex:none}.gallery-controls button{width:36px;height:36px;border:1px solid #777;background:transparent;color:#fff;border-radius:50%;cursor:pointer;transition:background .2s}.gallery-controls button:hover{background:#fff;color:#222}.gallery{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none}.gallery::-webkit-scrollbar{display:none}.project-card{flex:0 0 25%;min-width:250px;scroll-snap-align:start;border-right:2px solid #242420}.project-card img{height:300px;width:100%;object-fit:cover}.project-card>div{min-height:86px;padding:17px clamp(15px,2vw,32px);background:#2c2c28}.project-card h3{font-size:14px;margin:0 0 5px}.project-card p{font-size:12px;margin:0;color:#dad6d0}.image-note{color:#b8b5ae;font-size:10px;padding:18px 0 23px;margin-bottom:0}.image-note a{color:#fff;text-decoration:underline;text-underline-offset:3px;margin-left:9px}
.services{background:var(--ivory)}.services-grid{display:grid;grid-template-columns:40% 1fr;gap:9%}.services-intro h2{margin:18px 0 20px}.services-intro>p:not(.eyebrow){max-width:390px;font-size:15px;line-height:1.65;color:#55534f}.services-intro img{margin-top:39px;width:78%;height:275px;object-fit:cover}.service-list{padding-top:34px}.service-list a{border-top:1px solid #c7c1b8;display:flex;align-items:center;gap:20px;padding:19px 0;font-family:'Noto Serif Display',Georgia,serif;font-size:clamp(23px,2.6vw,39px);transition:padding .2s,color .2s}.service-list a:last-child{border-bottom:1px solid #c7c1b8}.service-list a:hover{padding-left:10px;color:#92775e}.service-list span{align-self:start;padding-top:8px;width:30px;flex:none;font-family:'DM Sans',sans-serif;font-size:10px;color:#8c8175}.service-list i{font-family:'DM Sans',sans-serif;font-size:20px;font-style:normal;margin-left:auto}
.process{background:#e9e2d8}.process-head{display:flex;align-items:start;justify-content:space-between}.process-head h2{width:70%;margin-bottom:55px}.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:25px}.steps>div{border-top:1px solid #afa79c;padding-top:21px}.steps span{font-size:11px;color:#726a62;letter-spacing:.15em}.steps h3{font-family:'Noto Serif Display',Georgia,serif;font-size:31px;font-weight:400;margin:30px 0 9px}.steps p{font-size:13px;color:#5c5852;margin:0}.contact{background:#faf9f6;position:relative;overflow:hidden}.contact:before{content:'';position:absolute;inset:0;opacity:.23;background:repeating-linear-gradient(135deg,transparent 0 83px,#d8d0c6 84px,transparent 85px 178px);pointer-events:none}.contact-grid{position:relative;display:grid;grid-template-columns:60% 1fr;gap:7%;align-items:end}.contact h2{margin:15px 0 0}.contact-side p{max-width:340px;font-size:15px;line-height:1.65;margin-bottom:28px}.footer{background:#22221f;color:#efede8;padding:55px 0 22px}.footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr;gap:60px}.footer-grid img{width:140px;height:65px;object-fit:contain;object-position:left}.footer-grid p{font-size:12px;color:#bbb7af;max-width:230px;line-height:1.5;margin-top:8px}.footer-grid>div:not(:first-child){display:flex;flex-direction:column;gap:9px;font-size:13px}.footer-grid span{color:#a7a097;font-size:10px;letter-spacing:.15em;margin-bottom:10px}.footer a:hover{color:#d9bfa5}.footer-bottom{display:flex;justify-content:space-between;border-top:1px solid #494843;padding-top:20px;margin-top:55px;color:#b8b4ae;font-size:11px}
@media(max-width:1050px){.site-header{gap:18px}.brand{width:120px}.main-nav{gap:16px}.main-nav a{font-size:12px}.header-cta{font-size:11px;padding:10px 13px}.intro-grid{grid-template-columns:43% 57%}.moodboard{height:510px}.projects-side{width:280px}.project-card{flex-basis:33.33%}}
@media(max-width:760px){.container{width:min(100% - 38px,650px)}.section-pad{padding:75px 0}.site-header{height:72px;padding:0 19px}.brand{width:112px}.brand img{height:60px}.header-cta{margin-left:auto;padding:9px 12px}.header-cta span{margin-left:5px}.menu-toggle{display:flex;order:3;border:0;background:transparent;width:34px;height:34px;padding:8px 2px;flex-direction:column;justify-content:center;gap:6px;cursor:pointer}.menu-toggle span{display:block;background:white;width:25px;height:1px}.main-nav{display:none;position:absolute;top:72px;left:0;right:0;height:auto;background:#242420;padding:16px 20px 26px;flex-direction:column;align-items:stretch;gap:0}.main-nav.open{display:flex}.main-nav a{height:45px;font-size:14px}.main-nav a:after{bottom:4px}.hero{min-height:700px;height:90svh}.hero-image{background-position:60% center}.hero-shade{background:linear-gradient(90deg,rgba(15,14,13,.77),rgba(15,14,13,.2)),linear-gradient(0deg,rgba(15,14,13,.4),transparent 25%)}.hero-content{padding-top:210px}.hero .eyebrow{font-size:9px;letter-spacing:.12em}.hero h1{font-size:clamp(44px,9vw,65px)}.hero-copy{font-size:14px;max-width:420px}.hero-bottom{bottom:18px}.intro-grid{grid-template-columns:1fr;gap:45px}.intro-copy{max-width:100%}.intro-copy h2{font-size:clamp(45px,8vw,70px)}.moodboard{height:500px}.mood-main{left:7%;width:62%}.values{grid-template-columns:repeat(2,1fr);row-gap:35px;margin-top:60px}.projects-head{display:block}.projects-side{width:auto;justify-content:space-between;align-items:end;margin-top:27px}.projects-side p{max-width:360px}.project-card{flex-basis:48%;min-width:250px}.services-grid{grid-template-columns:1fr;gap:20px}.services-intro img{display:none}.service-list{padding-top:10px}.process-head{display:block}.process-head h2{width:100%}.steps{grid-template-columns:repeat(2,1fr);row-gap:35px}.contact-grid{grid-template-columns:1fr;gap:24px}.footer-grid{grid-template-columns:1.5fr 1fr;gap:40px}.footer-grid>div:last-child{display:none}}
@media(max-width:760px){.hero h1 span{white-space:normal}}
@media(max-width:480px){.header-cta{font-size:10px}.hero{min-height:680px}.hero-content{padding-top:195px}.hero h1{font-size:43px;line-height:1.06}.hero-actions{gap:9px}.button{padding:0 16px;font-size:11px;gap:14px}.hero-bottom p{font-size:9px}.moodboard{height:390px}.mood-main{left:0;width:70%}.material-stone{right:12%;width:22%}.material-wood{right:0;width:30%}.material-plaster{right:12%;width:20%}.mood-labels{font-size:8px;right:0;top:2%}.mood-caption{font-size:10px;right:0}.values{gap:24px 12px}.value h3{font-size:13px}.value p{font-size:11px}.projects{padding-top:60px}.projects h2{font-size:42px}.projects-side{align-items:end}.projects-side p{font-size:12px;max-width:230px}.project-card{flex-basis:82%}.project-card img{height:270px}.service-list a{font-size:26px;gap:12px}.service-list span{width:23px}.steps{gap:25px 17px}.steps h3{font-size:27px}.steps p{font-size:12px}.footer-grid{grid-template-columns:1fr;gap:23px}.footer-bottom{margin-top:35px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}}
