:root{--chalk:#faf9f5;--graphite:#41474b;--slate:#778e9b;--taupe:#d8d0c6;--sand:#e8ddcc;--ink:#202932;--serif:'Instrument Serif',serif;--sans:'Manrope',sans-serif;--mono:'DM Mono',monospace}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--chalk);color:var(--graphite);font:14px/1.7 var(--sans)}a{color:inherit;text-decoration:none}img{width:100%;height:100%;object-fit:cover;display:block}h1,h2,h3{font-family:var(--serif);font-weight:400;line-height:.94;letter-spacing:-.06em}h1{font-size:clamp(4.2rem,8vw,8.7rem);margin:22px 0}h2{font-size:clamp(3.4rem,6.5vw,7rem);margin:15px 0}h3{font-size:1.55rem;margin:0}em{font-style:italic;color:var(--slate)}.section-id,.eyebrow,.hero-data,.cover,.index,.rule,.note span,.service-list b,.approach-steps span,.material-words,.benefits span,.address span,footer small{font:10px var(--mono);letter-spacing:.12em;text-transform:uppercase}.section-id{position:absolute;left:8vw;top:45px;color:var(--slate)}header{height:80px;display:flex;align-items:center;padding:0 8vw;gap:28px;background:var(--chalk);border-bottom:1px solid #dad8d2;position:sticky;top:0;z-index:20}.brand{display:flex;align-items:center;gap:10px;font:10px var(--mono);line-height:1}.brand b{width:38px;height:38px;background:var(--ink);color:#fff;display:grid;place-items:center;font:14px var(--serif)}.brand i{font:15px var(--serif);color:var(--slate)}header nav{display:flex;gap:22px;margin:auto;font-size:11px;font-weight:700}header nav a:hover{color:var(--slate)}.phone{font:11px var(--mono);border-bottom:1px solid var(--graphite)}.menu{display:none;background:transparent;border:1px solid var(--graphite);padding:7px 10px}.hero{display:grid;grid-template-columns:46% 54%;min-height:770px;position:relative;overflow:hidden;background:var(--ink);color:#fff}.hero-copy{padding:10vw 6vw 5vw 11vw;display:flex;flex-direction:column;justify-content:center}.eyebrow{color:#becbd1}.hero-copy p{max-width:480px;color:#d6dbdb;font-size:16px}.actions{display:flex;align-items:center;gap:25px;margin-top:30px}.button{background:var(--slate);color:#fff;padding:14px 18px;border:0;font:11px var(--sans);font-weight:700;cursor:pointer;transition:.25s}.button:hover{transform:translateY(-3px);background:#91a7b2}.actions>a:last-child{border-bottom:1px solid #d0dcde;color:#dbe4e3;padding-bottom:3px}.hero-data{display:flex;gap:23px;margin-top:70px;padding-top:14px;border-top:1px solid #66737a;color:#c0cbcc;font-size:9px}.hero-photo{height:770px;position:relative}.hero-photo:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,var(--ink),transparent 31%)}.cover{position:absolute;left:28px;bottom:28px;z-index:1;background:var(--chalk);color:var(--ink);padding:12px 15px;line-height:1.5}.cover b{display:block;font:20px var(--serif);text-transform:none;letter-spacing:0;color:var(--slate)}.index{position:absolute;right:28px;top:25px;z-index:1}.hero-shape{position:absolute;right:0;bottom:0;width:210px;height:80px;background:var(--slate);clip-path:polygon(22% 0,100% 0,100% 100%,0 100%)}.about,.services,.approach,.materials,.why,.gallery,.reviews,.contact{position:relative;padding:135px 11vw}.about{background:#fff}.about-intro,.services-title,.approach-head,.materials-head,.gallery-head,.contact-heading{display:grid;grid-template-columns:1fr .62fr;gap:15vw;align-items:end;margin-bottom:65px}.about-intro p,.services-title p,.approach-head p,.materials-head p,.gallery-head p,.contact-heading p{color:#687076}.link{color:var(--slate);border-bottom:1px solid var(--slate);display:inline-block;margin-top:12px}.about-frame{height:485px;position:relative}.about-frame>img{width:68%;height:440px}.note{position:absolute;right:8%;top:75px;background:var(--sand);width:275px;height:255px;padding:25px;display:flex;flex-direction:column}.note span{color:var(--slate)}.note strong{font:31px/.95 var(--serif);margin:auto 0;color:var(--ink)}.rule{position:absolute;left:16px;bottom:0;background:var(--ink);color:#fff;padding:9px 15px}.services{background:var(--taupe)}.services-title{grid-template-columns:.45fr 1fr .6fr}.services-title>span{font:10px var(--mono);color:var(--slate);letter-spacing:.13em}.service-list{display:grid;grid-template-columns:repeat(2,1fr);gap:1px;background:#bbb6ae}.service-list article{background:var(--taupe);padding:23px;min-height:178px;transition:.3s}.service-list article:hover{background:#fff;transform:translateY(-4px)}.service-list b{color:var(--slate)}.service-list h3{font:21px var(--sans);letter-spacing:-.04em;margin:11px 0 3px;color:var(--ink)}.service-list p{font-size:12px;color:#666d70}.approach{background:var(--slate);color:#fff}.approach-head p{color:#e1e8e8}.approach-steps{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid #c6d2d2}.approach-steps>div{padding:20px 16px;border-right:1px solid #c6d2d2;min-height:215px;transition:.3s}.approach-steps>div:hover{background:#ffffff0e;transform:translateY(-5px)}.approach-steps span{color:#f0d4bd}.approach-steps b{display:block;font:31px var(--serif);margin-top:55px}.approach-steps p{font-size:12px;color:#ecf1ee}.materials{background:#fff}.material-board{height:570px;position:relative}.mat-big,.mat-small{position:absolute;background:var(--chalk);padding:8px;transition:.35s}.mat-big:hover,.mat-small:hover{transform:scale(1.025);z-index:2}.mat-big{left:0;top:18px;width:47%;height:470px}.mat-small{width:22%;height:240px}.mat-small.a{left:53%;top:0}.mat-small.b{right:0;top:35px;height:310px}.material-words{position:absolute;left:53%;bottom:12px;display:flex;flex-wrap:wrap;gap:15px 22px;max-width:350px;color:var(--slate)}.why{background:var(--sand);display:grid;grid-template-columns:.85fr 1fr;gap:14vw}.why-photo{height:500px}.why-copy{padding-top:25px}.why-copy p{color:#5e656a}.benefits{border-top:1px solid #aeadab;margin-top:28px}.benefits span{display:block;padding:11px 0;border-bottom:1px solid #aeadab;color:var(--slate)}.gallery{background:var(--chalk)}.gallery-grid{height:675px;position:relative}.wide,.tall,.square,.lower{position:absolute;padding:8px;background:#fff;transition:.35s}.wide:hover,.tall:hover,.square:hover,.lower:hover{transform:scale(1.025);z-index:2}.wide{left:0;top:25px;width:47%;height:510px}.tall{left:52%;top:0;width:21%;height:305px}.square{right:0;top:35px;width:23%;height:340px}.lower{left:39%;bottom:0;width:26%;height:250px}.reviews{background:var(--ink);color:#fff;min-height:450px}.review-box{margin-left:34%;max-width:620px;position:relative}.review-box>span{position:absolute;left:-72px;top:0;font:110px/0 var(--serif);color:#bdd0d4}.review-box p{color:#d7dfdc}.review-box a{display:inline-block;border-bottom:1px solid #fff;margin-top:20px}.contact{background:var(--graphite);color:#fff}.contact-heading p{color:#d2d9d8}.contact-grid{display:grid;grid-template-columns:.72fr 1fr;gap:13vw}.contact-info h3{font-size:30px}.contact-info p{color:#d5dad3}.contact-info>a{display:block;color:#d6b394;font:12px var(--mono);margin:12px 0}.map{margin-top:28px!important}.address{height:135px;background:linear-gradient(135deg,#687d87 0 45%,#aeb9bd 46% 48%,#687d87 49%);padding:20px;margin-top:25px;color:#fff}.address b{display:block;margin-top:22px;font:21px var(--serif)}form label{display:flex;flex-direction:column;gap:5px;color:#e8c9ae;margin-bottom:16px}input,textarea,select{font:14px var(--sans);color:#fff;background:transparent;border:0;border-bottom:1px solid #80898d;padding:10px 0;outline:0}select option{color:#222}input:focus,textarea:focus,select:focus{border-color:#d6b394;box-shadow:0 2px 0 #d6b394}.success{border:1px solid #d6b394;padding:20px;color:#f0cdb0;font:18px var(--serif)}footer{background:#252b30;color:#fff;padding:45px 8vw 22px}.footer-top{display:grid;grid-template-columns:1.2fr 1fr 1fr 1.7fr 1.7fr 1.3fr;gap:20px;border-bottom:1px solid #555f63;padding-bottom:30px}.footer-top p,footer a:not(.brand){font:10px var(--mono);color:#cad0cf;margin:0}.footer-top>a{color:#e2bb9f!important}.footer-nav{display:grid;grid-template-columns:1fr 1fr;max-width:280px;margin:28px 0 20px auto;border-left:1px solid #555f63;padding-left:22px}.footer-nav div{display:flex;flex-direction:column;gap:7px}.footer-nav a:hover{color:#e2bb9f}.footer-nav a{font:11px var(--mono);color:#cad0cf}footer small{display:block;border-top:1px solid #555f63;padding-top:16px;color:#96a1a4}@media(max-width:900px){header{padding:0 5vw}.phone{display:none}.hero{grid-template-columns:1fr}.hero-copy{padding:85px 9vw 55px}.hero-photo{height:520px}.about,.services,.approach,.materials,.why,.gallery,.reviews,.contact{padding:105px 8vw}.section-id{left:8vw;top:33px}.about-intro,.services-title,.approach-head,.materials-head,.gallery-head,.contact-heading{display:block}.about-intro>div:last-child,.services-title p,.approach-head p,.materials-head p,.gallery-head p,.contact-heading p{max-width:600px;margin-top:24px}.about-frame>img{width:90%}.why{display:block}.why-copy{padding-top:40px}.gallery-grid{height:620px}.wide{width:60%;height:380px}.tall{left:53%;width:35%;height:230px}.square{right:0;width:37%;height:240px;top:260px}.lower{left:34%;width:35%;height:210px}.footer-top{grid-template-columns:1fr 1fr;gap:22px}.footer-top .brand{grid-column:1/-1}}@media(max-width:620px){header{height:68px}.menu{display:block;margin-left:auto}header nav{display:none;position:absolute;top:68px;left:0;right:0;background:var(--chalk);padding:20px;flex-direction:column;gap:13px;border-bottom:1px solid #dad8d2}header nav.open{display:flex}.hero-copy{padding-left:10vw}.hero-photo{height:410px}.about,.services,.approach,.materials,.why,.gallery,.reviews,.contact{padding:95px 10vw}.section-id{left:10vw}.about-frame{height:570px}.about-frame>img{width:100%;height:285px}.note{right:0;top:260px;width:220px;height:180px}.rule{font-size:8px}.service-list{grid-template-columns:1fr}.approach-steps{grid-template-columns:1fr 1fr}.approach-steps>div:nth-child(2){border-right:0}.material-board{height:700px}.mat-big{width:80%;height:300px}.mat-small{width:50%;height:190px}.mat-small.a{left:48%;top:330px}.mat-small.b{right:0;top:430px;height:200px}.material-words{left:0;bottom:0;max-width:300px}.gallery-grid{height:640px}.wide{width:79%;height:285px}.tall{left:45%;top:205px;width:54%;height:185px}.square{right:0;top:0;width:51%;height:180px}.lower{left:24%;bottom:0;width:55%;height:190px}.review-box{margin-left:0}.review-box>span{left:0;top:-55px}.contact-grid{display:block}.contact-info{margin-bottom:50px}.footer-top{display:block}.footer-top>*{display:block;margin:14px 0}.footer-nav{margin-left:0}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}
