:root{--ink:#17251f;--pine:#203328;--cream:#f1eee6;--paper:#f8f6f0;--stone:#d8d2c5;--line:#d5d1c7;--accent:#c6a47c;--muted:#646d64}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:Manrope,"DM Sans",Arial,sans-serif}button,input,select,textarea{font:inherit}button{cursor:pointer}a{color:inherit;text-decoration:none}img{display:block;max-width:100%}h1,h2,h3,p{margin-top:0}h1,h2{font-weight:500;letter-spacing:-.057em}h1 em,h2 em{font-family:Georgia,serif;font-weight:400;letter-spacing:-.065em}::selection{background:#ccb18e;color:#14231a}.page-gutter{padding-left:clamp(24px,5vw,86px);padding-right:clamp(24px,5vw,86px)}.section-pad{padding-top:clamp(88px,11vw,170px);padding-bottom:clamp(88px,11vw,170px)}.skip-link{position:absolute;z-index:100;top:-100px;left:12px;background:white;padding:12px 16px}.skip-link:focus{top:12px}.site-header{position:absolute;z-index:10;top:0;left:0;width:100%;display:flex;align-items:center;justify-content:space-between;padding:29px clamp(24px,5vw,86px);color:#fff;border-bottom:1px solid rgba(255,255,255,.23)}.brand{display:inline-flex;align-items:center;gap:12px;font-weight:700;font-size:16px;letter-spacing:.16em;line-height:1.02;white-space:nowrap}.brand-sub{display:block;font-size:9px;letter-spacing:.51em;margin-top:5px;font-weight:600}.brand-mark{width:30px;height:34px;display:flex;align-items:flex-end;gap:3px;transform:skewY(-14deg)}.brand-mark span{background:currentColor;width:8px}.brand-mark span:nth-child(1){height:18px}.brand-mark span:nth-child(2){height:31px}.brand-mark span:nth-child(3){height:23px}.site-nav{display:flex;align-items:center;gap:clamp(20px,3vw,52px)}.site-nav>a{font-size:12px;font-weight:600;letter-spacing:.03em;transition:opacity .2s}.site-nav>a:hover,.site-nav>a:focus-visible{opacity:.68}.site-nav .nav-cta{border:1px solid rgba(255,255,255,.75);padding:13px 16px;display:flex;gap:24px;align-items:center}.menu-toggle{display:none}.hero{position:relative;min-height:min(900px,100svh);height:100svh;color:#fff;display:flex;align-items:center;overflow:hidden;background:#27372b}.hero-image,.hero-scrim{position:absolute;inset:0}.hero-image{background:url('./assets/hero.png') center center/cover no-repeat;transform:scale(1.035);animation:hero-settle 1.7s ease-out both}.hero-scrim{background:linear-gradient(90deg,rgba(9,25,19,.79) 0%,rgba(9,25,19,.55) 39%,rgba(9,25,19,.10) 85%),linear-gradient(0deg,rgba(7,19,13,.38),transparent 28%)}.hero-content{position:relative;z-index:1;width:100%;padding-top:100px}.eyebrow,.section-index{font-size:10px;font-weight:700;letter-spacing:.24em}.eyebrow.light{color:#e5ded0}.hero h1{font-size:clamp(64px,7.6vw,128px);line-height:.99;margin:32px 0 27px;max-width:1000px}.hero h1 em{font-size:.96em}.hero-copy{font-size:clamp(15px,1.35vw,19px);max-width:445px;line-height:1.65;color:#f1eee8}.hero-actions{display:flex;align-items:center;gap:38px;margin-top:40px}.button{display:inline-flex;justify-content:space-between;align-items:center;gap:26px;border:1px solid transparent;padding:17px 21px;min-height:54px;font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;transition:transform .25s,background .25s,color .25s}.button:hover,.button:focus-visible{transform:translateY(-3px)}.button-light{background:var(--paper);color:var(--ink)}.button-light:hover{background:#e4dccf}.button-dark{background:var(--pine);color:#fff}.button-dark:hover{background:#36503f}.text-link{display:inline-flex;gap:18px;align-items:center;font-size:12px;font-weight:600;border-bottom:1px solid currentColor;padding-bottom:8px}.text-link.light{color:#fff}.hero-bottom{position:absolute;z-index:1;left:0;right:0;bottom:30px;display:flex;align-items:center;justify-content:space-between;font-size:9px;letter-spacing:.22em;font-weight:700}.down-arrow{font-size:18px;margin-left:14px}.intro{background:var(--paper)}.intro-label{display:flex;align-items:center;gap:34px}.rule{height:1px;background:var(--line);flex:1}.intro-main{display:grid;grid-template-columns:1.45fr .55fr;gap:7%;align-items:end;margin-top:56px}.intro h2,.work h2,.services h2,.process h2,.closing h2{font-size:clamp(50px,6.2vw,100px);line-height:1.06;margin:0}.intro-copy{max-width:410px;padding-bottom:8px}.intro-copy p{font-size:15px;line-height:1.85;color:#505e53;margin-bottom:21px}.underlined-link{display:inline-flex;gap:34px;border-bottom:1px solid var(--ink);padding:10px 0;font-size:12px;font-weight:700;margin-top:14px}.work{background:var(--cream)}.section-head{display:flex;align-items:end;justify-content:space-between;gap:50px}.section-head .section-index{margin-bottom:28px}.section-head-copy{max-width:340px;font-size:14px;line-height:1.75;color:#586158;margin-bottom:7px}.filter-bar{display:flex;gap:8px;flex-wrap:wrap;margin:59px 0 30px}.filter{border:1px solid #b7b8ad;background:transparent;color:#4f5d52;padding:10px 15px;font-size:11px;font-weight:700;letter-spacing:.05em;transition:background .2s,color .2s}.filter:hover,.filter:focus-visible{border-color:var(--pine)}.filter.is-active{background:var(--pine);border-color:var(--pine);color:#fff}.project-grid{display:grid;grid-template-columns:1.25fr 1fr 1fr;gap:20px;align-items:start}.project-card[hidden]{display:none}.project-image-wrap{height:clamp(300px,33vw,500px);overflow:hidden;background:#c7c1b1}.project-image-wrap img{width:100%;height:100%;object-fit:cover;transition:transform .6s cubic-bezier(.2,.7,.3,1)}.project-card:hover img{transform:scale(1.045)}.project-feature .project-image-wrap img{object-position:70% center}.project-caption{display:flex;justify-content:space-between;align-items:center;padding:21px 1px 0}.project-caption p{font-size:9px;letter-spacing:.17em;color:#5e6b5f;font-weight:700;margin-bottom:8px}.project-caption h3{font-family:Georgia,serif;font-weight:400;font-size:clamp(21px,2.1vw,29px);margin:0}.project-caption>span{font-size:20px;border:1px solid #bbc1b5;border-radius:50%;width:38px;height:38px;display:grid;place-items:center}.services{background:var(--paper)}.services-top{display:grid;grid-template-columns:1fr 2fr;gap:40px;align-items:start}.services h2{font-size:clamp(46px,5.3vw,84px)}.service-list{margin-top:85px;border-top:1px solid var(--line)}.service-row{display:grid;grid-template-columns:9% 30% 1fr 40px;gap:20px;align-items:center;padding:27px 0;border-bottom:1px solid var(--line)}.service-num{font-size:10px;letter-spacing:.1em;color:#69766d}.service-row h3{font-family:Georgia,serif;font-weight:400;font-size:clamp(26px,3vw,45px);margin:0}.service-row p{font-size:13px;color:#617064;margin:0;line-height:1.6}.service-symbol{font-size:24px;color:#6d7b6e;text-align:right}.process{background:var(--pine);color:var(--paper)}.process-intro{display:grid;grid-template-columns:1fr 1.4fr .8fr;gap:30px;align-items:start}.process-intro .section-index{color:#c4d0c4}.process h2{font-size:clamp(48px,5.7vw,88px)}.process-intro>p:last-child{line-height:1.75;font-size:14px;color:#d9e1d5;max-width:320px;margin:5px 0}.process-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:45px;margin-top:100px}.process-number{font-family:Georgia,serif;font-size:37px;font-style:italic;color:#d6be9c}.process-line{height:1px;background:#7e9283;margin:25px 0 29px;position:relative}.process-line:after{content:'';position:absolute;right:0;top:-3px;height:7px;width:7px;border-radius:50%;background:#d6be9c}.process-step h3{font-family:Georgia,serif;font-size:25px;font-weight:400;margin-bottom:12px}.process-step p{max-width:300px;color:#d1dacf;font-size:13px;line-height:1.7}.closing{height:clamp(550px,54vw,780px);position:relative;color:#fff;display:flex;align-items:center;overflow:hidden;background:#354333}.closing-image,.closing-shade{position:absolute;inset:0}.closing-image{background:url('./assets/stair.png') center 50%/cover no-repeat}.closing-shade{background:linear-gradient(90deg,rgba(16,32,23,.83),rgba(16,32,23,.39) 64%,rgba(16,32,23,.15))}.closing-inner{position:relative;z-index:1;width:100%}.closing h2{margin:29px 0 22px}.closing-inner>p:not(.eyebrow){max-width:440px;line-height:1.7;font-size:14px;color:#e6e9df;margin-bottom:30px}.footer{background:#18281e;color:#e8ede3;padding-top:65px;padding-bottom:25px;display:grid;grid-template-columns:1fr 1fr;gap:55px}.footer>div:first-child p{font-size:12px;color:#bfcabe;margin:22px 0}.footer-links{justify-self:end;display:grid;grid-template-columns:repeat(2,auto);column-gap:70px;row-gap:18px;font-size:12px}.footer-links a:hover{text-decoration:underline}.footer-bottom{grid-column:1/-1;display:flex;align-items:center;justify-content:space-between;border-top:1px solid #45594a;padding-top:25px;font-size:10px;letter-spacing:.05em;color:#bcc7b8}.brief-dialog{width:min(560px,calc(100vw - 26px));max-height:min(92vh,800px);border:0;background:var(--paper);padding:0;color:var(--ink);box-shadow:0 20px 70px #08170c55}.brief-dialog::backdrop{background:rgba(9,25,18,.7);backdrop-filter:blur(5px)}.brief-form{padding:clamp(28px,5vw,48px);overflow:auto;max-height:92vh}.dialog-top{display:flex;align-items:center;justify-content:space-between}.dialog-close{border:0;background:none;color:var(--ink);font-size:32px;line-height:1;padding:0 4px}.brief-form h2{font-size:clamp(46px,6vw,70px);line-height:1;margin:28px 0 15px}.dialog-intro{font-size:13px;line-height:1.7;color:#5a665b;margin-bottom:28px}.brief-form label{display:block;font-size:11px;text-transform:uppercase;font-weight:700;letter-spacing:.08em;margin:19px 0 8px}.brief-form input,.brief-form select,.brief-form textarea{display:block;width:100%;border:1px solid #aeb7aa;border-radius:0;padding:13px 14px;background:#fff;color:var(--ink);outline:none;font-size:13px}.brief-form input:focus,.brief-form select:focus,.brief-form textarea:focus{border-color:var(--pine);box-shadow:0 0 0 2px #3c735c33}.brief-form textarea{resize:vertical}.brief-form .button{margin-top:25px;width:100%}.brief-status{min-height:19px;margin:13px 0 0;font-size:12px}.reveal{opacity:0;transform:translateY(25px);transition:opacity .7s ease,transform .7s ease}.reveal.is-visible{opacity:1;transform:none}@keyframes hero-settle{from{transform:scale(1.075)}to{transform:scale(1.035)}}
@media(max-width:1000px){.site-nav{gap:20px}.site-nav>a{font-size:11px}.intro-main{grid-template-columns:1.2fr .8fr}.project-grid{grid-template-columns:1fr 1fr}.project-feature{grid-column:1/-1}.project-feature .project-image-wrap{height:500px}.process-intro{grid-template-columns:1fr 2fr}.process-intro>p:last-child{grid-column:2}.service-row{grid-template-columns:7% 33% 1fr 25px}}
@media(max-width:700px){.site-header{padding:21px 24px}.brand{font-size:14px}.menu-toggle{display:flex;flex-direction:column;gap:6px;justify-content:center;width:40px;height:40px;border:1px solid #ffffff8c;background:#17251f33;padding:9px}.menu-toggle span{height:1px;background:#fff;width:100%;transition:transform .2s}.menu-toggle[aria-expanded=true] span:first-child{transform:translateY(3.5px) rotate(45deg)}.menu-toggle[aria-expanded=true] span:last-child{transform:translateY(-3.5px) rotate(-45deg)}.site-nav{display:none;position:absolute;top:76px;left:0;right:0;background:#1c2d22;padding:25px 24px 30px;flex-direction:column;align-items:stretch;gap:0;box-shadow:0 20px 30px #08150d44}.site-nav.is-open{display:flex}.site-nav>a{padding:14px 0;font-size:14px}.site-nav .nav-cta{margin-top:10px;padding:15px}.hero{height:780px;min-height:min(780px,100svh)}.hero-image{background-position:60% center}.hero-scrim{background:linear-gradient(90deg,rgba(9,25,19,.79),rgba(9,25,19,.28)),linear-gradient(0deg,rgba(7,19,13,.43),transparent 45%)}.hero-content{padding-top:55px}.hero h1{font-size:clamp(58px,12vw,79px)}.hero-actions{align-items:flex-start;flex-direction:column;gap:26px}.hero-bottom{bottom:18px}.hero-bottom span:first-child{display:none}.intro-main{grid-template-columns:1fr;gap:28px;margin-top:42px}.intro h2,.work h2,.services h2,.process h2,.closing h2{font-size:clamp(45px,11vw,70px)}.intro-copy{max-width:570px}.section-head{display:block}.section-head-copy{margin-top:25px}.filter-bar{margin-top:35px}.project-grid{grid-template-columns:1fr;gap:38px}.project-feature{grid-column:auto}.project-image-wrap,.project-feature .project-image-wrap{height:min(110vw,470px)}.services-top{display:block}.services-top .section-index{margin-bottom:29px}.service-list{margin-top:48px}.service-row{grid-template-columns:40px 1fr 25px;gap:7px 12px;padding:23px 0}.service-row h3{font-size:30px}.service-row p{grid-column:2;grid-row:2}.service-symbol{grid-column:3;grid-row:1}.process-intro{display:block}.process-intro .section-index{margin-bottom:30px}.process-intro>p:last-child{margin-top:26px}.process-grid{display:block;margin-top:65px}.process-step{margin-bottom:39px}.process-step p{max-width:500px}.closing{height:610px}.closing-image{background-position:61% center}.footer{grid-template-columns:1fr;gap:35px}.footer-links{justify-self:start;column-gap:45px}.footer-bottom{display:grid;grid-template-columns:1fr auto;gap:12px}.footer-bottom span:nth-child(2){grid-column:1/-1;grid-row:2}.footer-bottom a{grid-column:2;grid-row:1}}
@media(max-width:410px){.hero h1{font-size:54px}.hero-copy{font-size:14px}.filter{padding:9px 11px;font-size:10px}.footer-links{column-gap:24px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important}.reveal{opacity:1;transform:none}}
.project-grid.is-filtered{grid-template-columns:minmax(0,min(100%,650px))}
.project-grid.is-filtered .project-image-wrap{height:clamp(350px,42vw,570px)}
