:root{--paper:#f2f0eb;--ink:#242522;--sage:#70796a;--line:rgba(36,37,34,.17);--cream:#e6e1d7}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:Arial,Helvetica,sans-serif}a{color:inherit;text-decoration:none}button,input,textarea{font:inherit}
.site-header{height:78px;padding:0 4.5vw;display:flex;align-items:center;justify-content:space-between;position:absolute;z-index:20;width:100%;color:#fff;border-bottom:1px solid #ffffff38}.brand{font-size:14px;letter-spacing:.23em;font-weight:600;white-space:nowrap}.brand span{display:inline-grid;place-items:center;border:1px solid;width:35px;height:35px;margin-right:10px;letter-spacing:0;font-family:Georgia,serif}.nav{display:flex;gap:clamp(20px,2.7vw,46px);font-size:13px}.nav a{opacity:.8}.nav a:hover{opacity:1}.header-link{font-size:13px;border-bottom:1px solid;padding:9px 0}.menu-btn{display:none;color:inherit;border:0;background:none}
.hero{min-height:740px;height:100svh;position:relative;color:#fff;overflow:hidden}.hero>img{width:100%;height:100%;object-fit:cover}.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,#151412cc 0%,#15141255 55%,#15141218)}.hero-copy{position:absolute;left:7.5vw;top:50%;transform:translateY(-42%);width:min(820px,82vw)}.eyebrow{font-size:11px;font-weight:700;letter-spacing:.2em;color:var(--sage);margin:0 0 34px}.eyebrow.light{color:#ffffff9e}h1,h2{font-family:Georgia,'Times New Roman',serif;font-weight:400;letter-spacing:-.035em;margin:0}h1{font-size:clamp(47px,6.1vw,92px);line-height:.99}.hero-text{max-width:570px;font-size:16px;line-height:1.7;color:#ffffffc7;margin:30px 0 36px}.button{display:inline-flex;align-items:center;justify-content:center;gap:30px;min-height:54px;padding:0 24px;border:1px solid;background:transparent;cursor:pointer;transition:.25s;font-size:13px}.light-button:hover{background:#fff;color:var(--ink)}
.section{padding:120px 7.5vw}.intro-grid{display:grid;grid-template-columns:1fr 1fr;gap:8vw}h2{font-size:clamp(43px,5vw,72px);line-height:1.05}.lead{margin:0;font-family:Georgia,serif;font-size:24px;line-height:1.5}.checks{display:flex;flex-wrap:wrap;gap:18px 28px;margin-top:35px;font-size:11px;text-transform:uppercase;letter-spacing:.08em}.checks span{display:flex;align-items:center;gap:8px}.checks svg{width:16px}
.service-grid{display:grid;grid-template-columns:1.15fr 1fr 1fr;margin-top:95px;border-block:1px solid var(--line)}.service-card{min-height:420px;padding:35px 32px;border-left:1px solid var(--line);display:flex;flex-direction:column}.service-card:first-child{border-left:0}.service-card.featured{background:#dedbd2}.service-card>div{display:flex;justify-content:space-between;color:var(--sage)}.service-card>div span{font:23px Georgia,serif}.service-card h3{font:400 30px/1.15 Georgia,serif;margin:72px 0 20px}.service-card p{color:#666862;font-size:14px;line-height:1.7;margin:0}.service-card a{margin-top:auto;display:flex;align-items:center;justify-content:space-between;font-size:11px;text-transform:uppercase;letter-spacing:.1em;border-top:1px solid var(--line);padding-top:18px}
.process{background:#262824;color:#fff;display:grid;grid-template-columns:.8fr 1.2fr;gap:9vw}.stage-list article{display:grid;grid-template-columns:60px 160px 1fr;gap:25px;border-top:1px solid #ffffff2e;padding:32px 0}.stage-list span{font:24px Georgia,serif;color:#9ba394}.stage-list h3{font:400 25px Georgia,serif;margin:0}.stage-list p{color:#ffffff99;font-size:14px;line-height:1.65;margin:0}
.work-gallery{padding:76px 0 84px;background:var(--paper);overflow:hidden}.work-gallery .gallery-heading{margin-bottom:32px}.work-gallery-stage{height:clamp(230px,26vw,390px)}
.house-section{display:grid;grid-template-columns:1fr 1fr;gap:10vw;background:var(--cream)}.house-section>div:last-child{padding-top:52px}.house-section p:not(.eyebrow){font-size:17px;line-height:1.75;color:#5e605b}.house-section a{display:inline-flex;gap:25px;align-items:center;margin-top:28px;border-bottom:1px solid;padding-bottom:9px;font-size:13px}
.house-gallery{padding:112px 0 120px;background:#d9d6ce;overflow:hidden}.gallery-heading{padding:0 7.5vw;margin-bottom:52px}.gallery-heading h2{font-size:clamp(34px,3.4vw,52px)}.gallery-heading .eyebrow{margin-bottom:26px}.gallery-stage{display:flex;gap:3px;width:100%;height:clamp(330px,42vw,640px);padding:0 3vw}.gallery-slide{position:relative;flex:0 0 clamp(8px,2.85vw,44px);min-width:0;height:100%;margin:0;padding:0;border:0;overflow:hidden;background:#c2bfb7;cursor:pointer;transition:flex-basis .48s cubic-bezier(.22,.61,.36,1)}.gallery-slide.active{flex:1 1 auto;background:#f4f2ed;cursor:default}.gallery-slide:not(.active)::after{content:'';position:absolute;inset:0;background:rgb(0 0 0 / 50%);pointer-events:none}.gallery-slide>img{display:block;position:relative;left:50%;width:auto;max-width:none;height:100%;transform:translateX(-50%)}.gallery-slide.active>img{position:static;width:100%;max-width:100%;height:100%;object-fit:contain;transform:none}.gallery-slide:focus-visible{position:relative;z-index:2;outline:3px solid #383934;outline-offset:-3px}
.reviews{padding:120px 7.5vw;background:#353631;color:#fff}.reviews-grid{display:grid;grid-template-columns:minmax(180px,.75fr) minmax(0,2fr) minmax(145px,.55fr);gap:clamp(30px,5vw,80px);align-items:start}.reviews .eyebrow{color:#bdc3b7}.reviews h2{font-size:clamp(42px,4.3vw,64px)}.review-panel{position:relative;min-width:0;margin-left:clamp(20px,2.4vw,38px);border-top:1px solid #ffffff3d;padding-top:24px;animation:review-in .28s ease-out}.review-number{margin:0;color:#c6ccbf;font-size:12px;letter-spacing:.14em}.review-panel blockquote{margin:0}.quote-mark{position:absolute;left:-74px;top:42px;display:block;margin:0;font:60px/.7 Georgia,serif;color:#bdc3b7;pointer-events:none}.review-text{margin:0;font:400 clamp(16px,1.25vw,20px)/1.62 Arial,Helvetica,sans-serif;letter-spacing:0}.review-panel cite{display:block;margin-top:27px;font:600 13px/1.3 Arial,Helvetica,sans-serif;font-style:normal;letter-spacing:.08em;color:#c6ccbf}.review-list{display:flex;flex-direction:column;border-top:1px solid #ffffff3d}.review-list button{position:relative;display:flex;align-items:baseline;gap:14px;width:100%;padding:16px 0;border:0;border-bottom:1px solid #ffffff25;background:none;color:#ffffff88;text-align:left;cursor:pointer;font-size:14px;line-height:1.35;transition:color .2s,background .2s}.review-list button span{min-width:25px;color:#bdc3b7;font-size:11px;letter-spacing:.08em}.review-list button::before{content:'';position:absolute;left:-17px;top:0;bottom:0;width:2px;background:transparent;transition:background .2s}.review-list button.active{color:#fff}.review-list button.active::before{background:#bdc3b7}.review-list button:hover{color:#fff}.review-list button:focus-visible{outline:2px solid #bdc3b7;outline-offset:3px}@keyframes review-in{from{opacity:.25;transform:translateY(7px)}to{opacity:1;transform:translateY(0)}}
.contact{padding:115px 7.5vw;background:#70786b;color:#fff;display:grid;grid-template-columns:1fr 1fr;gap:10vw;min-height:680px;align-items:center}.contact h2{font-size:clamp(43px,4.6vw,68px)}.contact>div>p:last-child{max-width:500px;line-height:1.7;color:#ffffffad;margin-top:28px}.contact form{display:flex;flex-direction:column;gap:22px}.contact label{font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:#ffffffad}.contact input,.contact textarea{display:block;width:100%;background:transparent;border:0;border-bottom:1px solid #ffffff66;color:#fff;padding:13px 0;outline:0;text-transform:none;letter-spacing:0;font-size:16px;resize:none}.contact input::placeholder,.contact textarea::placeholder{color:#ffffff66}.contact .button{align-self:flex-start;background:#fff;color:#30332e;border-color:#fff}.contact small{color:#ffffff70;font-size:10px}.success{border:1px solid #ffffff55;padding:45px}.success h3{font:400 38px Georgia,serif;margin:25px 0 8px}.success button{background:none;color:#fff;border:0;border-bottom:1px solid;padding:8px 0;cursor:pointer}
footer{padding:35px 4.5vw;display:flex;align-items:center;justify-content:space-between;font-size:11px;color:#70716d;text-transform:uppercase;letter-spacing:.08em}footer .brand{color:var(--ink)}
@media(max-width:900px){.site-header{height:66px}.nav{display:none}.nav.open{display:flex;position:absolute;left:0;top:66px;width:100%;background:#2b2c29;padding:30px 5vw;flex-direction:column}.header-link{display:none}.menu-btn{display:block}.hero-copy{left:5vw;width:90vw}.section{padding:85px 5vw}.intro-grid,.process,.house-section,.contact{grid-template-columns:1fr}.intro-grid{gap:45px}.service-grid{grid-template-columns:1fr}.service-card{border-left:0;border-top:1px solid var(--line);min-height:340px}.process,.contact{gap:60px}.stage-list article{grid-template-columns:50px 130px 1fr}.work-gallery{padding-block:62px}.work-gallery-stage{height:clamp(205px,34vw,300px)}.house-section>div:last-child{padding-top:0}.house-gallery{padding-block:85px}.gallery-heading{padding-inline:5vw}.gallery-stage{height:clamp(300px,54vw,520px);padding-inline:2.5vw}footer{gap:20px;flex-wrap:wrap}}
@media(max-width:600px){h1{font-size:45px}.hero-text{font-size:14px}.hero-copy{top:48%}.eyebrow{margin-bottom:24px}.section{padding:70px 5vw}h2{font-size:39px}.lead{font-size:20px}.service-grid{margin-top:60px}.service-card h3{margin-top:45px}.stage-list article{grid-template-columns:45px 1fr}.stage-list article p{grid-column:2}.work-gallery{padding-block:52px}.work-gallery .gallery-heading{margin-bottom:25px}.work-gallery-stage{height:clamp(180px,54vw,250px)}.house-gallery{padding-block:70px}.gallery-heading{padding-inline:5vw;margin-bottom:34px}.gallery-stage{gap:2px;height:clamp(250px,70vw,360px);padding-inline:1.5vw}.contact{padding:70px 5vw}.contact h2{font-size:38px}footer{align-items:flex-start;flex-direction:column}.hero>img{object-position:58% center}}
@media(max-width:900px){.reviews{padding:88px 5vw}.reviews-grid{grid-template-columns:minmax(170px,.7fr) minmax(0,1.8fr);gap:42px}.review-panel{margin-left:0}.review-list{grid-column:1/-1;display:grid;grid-template-columns:repeat(4,1fr)}.review-list button{min-height:63px;padding:13px 12px;border-right:1px solid #ffffff25}.review-list button:nth-child(4n){border-right:0}.review-list button::before{left:0;top:auto;width:100%;height:2px}.review-list button.active::before{background:#bdc3b7}}
@media(max-width:600px){.reviews{padding:70px 5vw}.reviews-grid{display:block}.reviews h2{font-size:38px}.review-panel{margin-top:42px;padding-left:24px}.quote-mark{left:-16px;top:42px;font-size:52px;margin:0}.review-text{font-size:17px;line-height:1.62}.review-panel cite{margin-top:22px}.review-list{display:flex;overflow-x:auto;margin-top:42px;border-top:1px solid #ffffff3d;scrollbar-width:thin}.review-list button{flex:0 0 148px;min-height:58px;padding:13px 10px;border-right:1px solid #ffffff25}.review-list button::before{left:0;top:auto;width:100%;height:2px}}
