@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,300;0,400;0,500;1,300;1,400&family=Inter:wght@400;500;600&display=swap');
:root{--paper:#f2eee5;--ink:#1c201c;--muted:#77766b;--gold:#a98a57;--line:#d5cbb8;--soft:#e9e3d8;--night:#151b17;--champagne:#d8c29a}
body{font-family:Inter,Arial,sans-serif;font-size:14px;line-height:1.9;background:var(--paper)}
::selection{background:#b49a6c;color:#121813}a:focus-visible,button:focus-visible,summary:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid #b19a70;outline-offset:6px}
.wrap{width:min(1360px,86%)}.topbar{background:#111813;color:#d4c7ae;padding:10px 0;font-size:8px;letter-spacing:2px}.topbar a{color:#eee4d2}
header.wrap{position:absolute;top:44px;left:7%;right:7%;width:auto;z-index:5;padding:24px 0;color:#f3eee3;border-bottom:1px solid #f2ead233}
.brand{font-family:'Cormorant Garamond',Georgia,serif;font-size:36px;letter-spacing:5px;gap:14px}.brand img{width:40px;height:40px;border:1px solid #d8c29a66;border-radius:0}.brand small{font-family:Inter,Arial,sans-serif;font-size:7px;letter-spacing:3.2px;color:#cabd9e}.brand span{font-weight:400}nav{font-size:10px;gap:35px;letter-spacing:.5px}
.button{background:var(--ink);color:var(--paper);border-color:#8c7854;padding:18px 25px;font-size:9px;font-weight:500;letter-spacing:1.3px;text-transform:uppercase;gap:40px;min-height:57px;transition:background .25s,color .25s,border-color .25s}.button:hover{background:#48513f;border-color:#c8b38b}.button span{font-size:20px;font-weight:400}.button.compact{background:transparent;color:var(--paper);border-color:#d8c29a77;padding:12px 20px;min-height:46px;font-size:8px}.button.compact:hover{background:#d8c29a;color:#152017}.button.cream{background:#eaddc4;color:#20271e;border-color:#eaddc4}.button.cream:hover{background:#fff8e9}
.hero{height:calc(100svh - 36px);min-height:790px;max-height:1150px;background:#152017}.hero>img{object-position:58% 54%;animation:hero-arrive 1.5s ease-out both}.hero-shade{background:linear-gradient(90deg,#0c140ed9 0%,#0c140e66 48%,#0c140e08 83%),linear-gradient(180deg,#0b120f77 0%,transparent 30%,transparent 70%,#0b120faa 100%)}
.hero-content{padding-top:160px;padding-bottom:100px}.eyebrow{font-family:Inter,Arial,sans-serif;font-size:8px;line-height:1.8;font-weight:500;letter-spacing:3px;margin-bottom:33px}.eyebrow.light{color:#d9c4a0}.hero-content>.eyebrow{display:flex;align-items:center;gap:18px}.hero-content>.eyebrow:before{content:'';width:40px;height:1px;background:#cbb38a}
h1,h2,h3,.lead,.phone,.gallery figcaption span{font-family:'Cormorant Garamond',Georgia,serif;font-weight:300}h1{font-size:clamp(76px,7.7vw,124px);line-height:.98;letter-spacing:-2px;max-width:950px}h1 em{color:#e3cda7}h2{font-size:clamp(46px,4.65vw,74px);line-height:1.04;letter-spacing:-1.6px}h2 em{color:#8d7144}h3{font-size:40px;letter-spacing:-.8px;line-height:1.1}.hero-content>p:not(.eyebrow){font-size:12px;font-weight:400;line-height:2;max-width:360px;color:#deded0;margin:30px 0 25px}.hero-content>.button{margin-top:9px}.hero-bottom{bottom:33px;border-color:#e8dcc333;padding-top:20px;font-size:10px;letter-spacing:1px;color:#ddd4c0}.hero-bottom span:last-child{font-size:7px;letter-spacing:2.3px}
.section{padding:125px 0}.intro{padding-top:130px;padding-bottom:130px}.intro>.eyebrow{padding-bottom:24px;border-bottom:1px solid var(--line);margin-bottom:45px}.intro-grid{grid-template-columns:1.15fr 1fr;gap:110px;align-items:start}.intro-grid>div{padding-top:8px;max-width:420px}.intro p:not(.eyebrow){font-size:12px;line-height:2}.lead{font-size:31px!important;line-height:1.35;margin-bottom:25px}.textlink{font-size:8px;letter-spacing:1.5px;font-weight:500;text-transform:uppercase;gap:30px;padding-bottom:10px}.textlink span{font-size:20px}.section-heading{gap:80px;margin-bottom:55px}.section-heading>p,.section-heading>div>p:not(.eyebrow){font-size:12px;line-height:2;max-width:310px}
.services-section{background:var(--night);color:#ede8dc}.services-section .eyebrow{color:#c3ab7d}.services-section h2 em{color:#d4bb91}.services-section .section-heading>p{color:#adb4a7}.service-grid{gap:60px}.service:nth-child(2){padding-top:110px}.image-frame{border:1px solid #d5bd8d33}.image-frame img{height:430px;transition:transform .9s cubic-bezier(.2,.7,.3,1)}.service:hover .image-frame img{transform:scale(1.025)}.image-frame>span{background:#152017df;color:#e3cc9f;left:22px;bottom:22px;padding:9px 13px;font-size:7px;letter-spacing:2px;border:1px solid #cdb68966}.service-copy{padding:31px 0 0}.service-copy h3{font-size:43px;margin-bottom:17px}.service-copy p{font-size:12px;color:#adb4a7;max-width:380px}.service-copy ul{font-size:10px;line-height:1.8;color:#c4c8ba;gap:8px 18px;max-width:400px}.service-copy .textlink{color:#e5d7bc;border-color:#947f56}.prep{margin-top:60px;padding-top:29px;border-color:#d8c29a33}.prep .eyebrow{font-size:7px}.prep p{color:#a3ad9d;font-size:9px}.prep .textlink{color:#d8c29a}
.inspiration{padding-top:135px}.gallery{grid-template-columns:1.3fr 1fr;gap:42px}.gallery figure{position:relative;overflow:hidden}.gallery-wide{grid-column:span 1}.gallery figure:nth-child(2){margin-top:85px}.gallery figure:nth-child(3){margin-top:-30px}.gallery figure:nth-child(4){margin-top:55px}.gallery img{height:440px;transition:transform 1s ease}.gallery figure:nth-child(2) img{height:540px}.gallery figure:nth-child(3) img{height:450px}.gallery figure:nth-child(4) img{height:350px}.gallery figure:hover img{transform:scale(1.02)}.gallery figcaption{padding-top:21px;gap:15px}.gallery figcaption span{font-size:26px}.gallery small{font-size:6px;letter-spacing:1.4px}.gallery-filters{gap:23px;margin-top:28px}.gallery-filters button{font-size:8px;letter-spacing:.5px;padding-bottom:8px}.gallery.filtered{grid-template-columns:1fr 1fr}.gallery.filtered figure{margin-top:0}.gallery.filtered img{height:440px}.gallery-note{max-width:620px;font-size:9px;line-height:1.9;margin-top:45px;color:#827e71}
.residence-moment{position:relative;min-height:660px;height:75svh;max-height:880px;display:grid;place-items:center;overflow:hidden;background:#1c251d;color:var(--paper);text-align:center}.residence-moment>img{position:absolute;width:100%;height:100%;object-fit:cover;object-position:center 48%}.residence-moment:after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,#0c130d55,#0c130d8a)}.moment-copy{position:relative;z-index:1;padding:60px 25px}.moment-copy .eyebrow{color:#e3ceaa}.moment-copy h2{font-size:clamp(58px,6.2vw,95px);line-height:1.02}.moment-copy h2 em{color:#eddbc0}.moment-copy p:not(.eyebrow){font-size:11px;letter-spacing:.5px;color:#e0dfd1;max-width:330px;margin:28px auto 0}.moment-line{display:block;width:1px;height:57px;background:#d5bf95;margin:30px auto 0}
.approach{background:#1b231c}.approach-grid{gap:120px;grid-template-columns:1fr 1fr}.approach h2{font-size:62px}.approach h2 em{color:#d4bb91}.approach-grid>div>p:not(.eyebrow){font-size:12px;line-height:2;color:#b3bdad;margin-top:28px}.steps article{padding:26px 0;gap:28px;border-color:#c4b38d33}.steps article>span{font-family:'Cormorant Garamond',Georgia,serif;font-size:25px;color:#c8b183;padding-top:0}.steps h3{font-size:31px}.steps p{font-size:11px;line-height:1.95;color:#b3bdad}.area{gap:120px;align-items:center}.area .lead{font-size:31px!important}.area>div:last-child>p:not(.lead){font-size:11px;line-height:2}
.estimate{background:#e3dccd}.estimate-grid{gap:110px;grid-template-columns:.9fr 1.1fr;align-items:start}.estimate h2{font-size:70px}.estimate-grid>div>p:not(.eyebrow){font-size:12px;line-height:2}.phone{font-size:39px;letter-spacing:-1px}.estimate-note{border-color:#b9ab9055;margin-top:45px}.estimate-note span{font-size:7px;letter-spacing:1.8px}.estimate-note p{font-size:10px;line-height:1.9}form{background:#f1ece1;padding:42px;border:1px solid #b09b7433;box-shadow:0 20px 60px #453e2810}label{font-size:8px;letter-spacing:1px;font-weight:500;margin-bottom:25px}input,select,textarea{background:transparent;border:0;border-bottom:1px solid #b5ab96;border-radius:0;padding:13px 0 11px;margin-top:2px;font-size:12px;min-height:46px}textarea{min-height:115px}input::placeholder,textarea::placeholder{font-size:10px;color:#8f8a7b}form .small{font-size:8px!important;line-height:1.9}form .button{margin-top:15px}.row{gap:25px}#request-result h3{font-size:32px}#request-result pre{font-size:11px}.secondary{font-size:9px;letter-spacing:.5px;padding:13px 16px}.faq{gap:120px}.faq h2{font-size:58px}details{padding:25px 0}summary{font-size:12px;line-height:1.7}details p{font-size:11px;line-height:1.95;max-width:560px}footer{background:#111813;padding:65px 0;border-top:1px solid #c4b38d44}footer .brand{font-size:39px}footer p{font-size:9px;line-height:2;color:#b2baa8}.back-top{color:#cbb68d;font-size:7px;letter-spacing:2px}
.skip{position:fixed;left:20px;top:-100px;z-index:100;background:var(--paper);color:var(--ink);padding:10px 20px}.skip:focus{top:20px}
@keyframes hero-arrive{from{transform:scale(1.035)}to{transform:scale(1)}}
@media(min-width:1500px){.hero-content{padding-top:170px}.hero-content>p:not(.eyebrow){font-size:13px}.image-frame img{height:480px}}
@media(max-width:1100px){nav{gap:22px}.hero{min-height:760px}h1{font-size:90px}.intro-grid,.approach-grid,.estimate-grid,.area,.faq{gap:55px}.service-grid{gap:35px}.image-frame img{height:360px}.gallery img{height:350px}.gallery figure:nth-child(2) img{height:460px}.approach h2{font-size:51px}.estimate h2{font-size:58px}form{padding:30px}}
@media(max-width:720px){.wrap{width:86%}.topbar{padding:10px 0}.topbar .wrap{font-size:6px;letter-spacing:1.2px}header.wrap{top:36px;padding:22px 0;left:7%;right:7%;gap:15px}.brand,header .brand{font-size:28px;letter-spacing:3px;gap:10px}.brand img{width:34px;height:34px}.brand small{font-size:6px;letter-spacing:2px;margin-top:6px}nav .compact{font-size:6px;letter-spacing:.7px;gap:11px;min-height:38px;padding:10px}.hero{height:calc(100svh - 35px);min-height:750px;max-height:950px}.hero-content{min-height:750px;padding:160px 0 140px}.hero>img{object-position:59% center}.hero-shade{background:linear-gradient(90deg,#0c140edb,#0c140e55),linear-gradient(180deg,#0b120f66,transparent 60%,#0b120f99)}h1{font-size:clamp(63px,13.7vw,87px);letter-spacing:-1.8px;line-height:1.02}.hero-content>.eyebrow{font-size:6px;letter-spacing:2px;gap:10px;max-width:none;margin-bottom:30px}.hero-content>.eyebrow:before{width:22px}.hero-content>p:not(.eyebrow){font-size:11px;max-width:290px;margin-top:27px;line-height:1.95}.button{font-size:8px;padding:16px 20px;gap:32px;min-height:53px}.hero-bottom{bottom:26px;gap:9px;padding-top:18px;font-size:9px}.hero-bottom span:last-child{font-size:6px;letter-spacing:1.8px}.section{padding:78px 0}.intro{padding:80px 0}.intro>.eyebrow{padding-bottom:20px;margin-bottom:30px}.eyebrow{font-size:7px;letter-spacing:2.2px;margin-bottom:23px}h2{font-size:46px;letter-spacing:-1px}.intro-grid,.service-grid,.approach-grid,.area,.estimate-grid,.faq{grid-template-columns:1fr;gap:33px}.intro p:not(.eyebrow){font-size:11px}.lead{font-size:28px!important}.section-heading{margin-bottom:34px}.section-heading>p,.section-heading>div>p:not(.eyebrow){font-size:11px;max-width:330px}.service:nth-child(2){padding-top:0}.service-grid{gap:50px}.image-frame img{height:310px}.service-copy h3{font-size:37px}.service-copy p{font-size:11px}.service-copy ul{font-size:9px}.prep{margin-top:42px;gap:17px}.prep .eyebrow{font-size:6px}.prep p{font-size:9px}.gallery,.gallery.filtered{grid-template-columns:1fr;gap:35px}.gallery figure,.gallery figure:nth-child(2),.gallery figure:nth-child(3),.gallery figure:nth-child(4){margin-top:0}.gallery img,.gallery figure:nth-child(2) img,.gallery figure:nth-child(3) img,.gallery figure:nth-child(4) img,.gallery.filtered img{height:330px}.gallery figcaption{flex-direction:row;align-items:center;padding-top:17px}.gallery figcaption span{font-size:23px}.gallery small{font-size:6px}.gallery-filters{gap:20px}.gallery-note{font-size:8px;margin-top:30px}.residence-moment{min-height:520px;height:70svh}.moment-copy h2{font-size:57px}.moment-copy p:not(.eyebrow){font-size:10px;max-width:260px}.moment-copy .eyebrow{font-size:6px;letter-spacing:2px}.residence-moment>img{object-position:62% center}.approach h2{font-size:46px}.steps h3{font-size:29px}.steps p{font-size:10px}.area .lead{font-size:28px!important}.estimate h2{font-size:52px}.phone{font-size:36px}.estimate-grid{gap:38px}form{padding:28px 23px}.row{grid-template-columns:1fr;gap:0}label{font-size:8px}input,select,textarea{font-size:16px}.faq h2{font-size:45px}.faq{gap:35px}summary{font-size:11px}footer{padding:45px 0}footer .brand{font-size:30px}footer .wrap{grid-template-columns:1fr 1fr;gap:28px}footer p{font-size:8px}.brand small{line-height:1.5}}
@media(max-width:380px){h1{font-size:60px}.hero-content>.eyebrow{font-size:5px;letter-spacing:1.6px}.brand,header .brand{font-size:25px}.brand img{width:29px;height:29px}nav .compact{font-size:5px;padding:8px;letter-spacing:.5px}.hero-content>p:not(.eyebrow){max-width:255px}.gallery figcaption{align-items:flex-start;flex-direction:column;gap:5px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.hero>img{animation:none}*{transition:none!important}}
