 :root{--ink:#17232b;--navy:#111c26;--deep:#0e171e;--sand:#f5f1eb;--tan:#af7b55;--cream:#e8dac7;--muted:#6e7578;--line:#d9d6d0;--white:#fff;--font:'Manrope',sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--sand);color:var(--ink);font-family:'DM Sans',sans-serif}button,input,textarea{font:inherit}button{cursor:pointer}a{text-decoration:none;color:inherit}img{max-width:100%}.wrap{width:min(100% - 96px,1320px);margin:auto}.notice{height:28px;background:var(--deep);color:#b6b9b9;display:flex;justify-content:space-between;align-items:center;padding:0 48px;font:600 9px var(--font);letter-spacing:.18em}.header{height:94px;background:var(--sand);display:flex;align-items:center;justify-content:space-between;padding:0 48px;gap:32px;position:relative;z-index:20}.brand{display:flex;align-items:center;gap:13px;flex-shrink:0}.brand-mark{font:800 25px var(--font);letter-spacing:-.08em;border:1.5px solid var(--ink);height:49px;width:59px;display:grid;place-items:center}.brand-mark span,.contact-art b span{color:var(--tan)}.brand-copy{font:500 10px/1.38 var(--font);letter-spacing:.15em}.brand-copy strong{font-weight:800;letter-spacing:.18em}.header nav{display:flex;gap:27px;align-items:center}.header nav a{font:700 11px var(--font);transition:color .2s}.header nav a:hover{color:var(--tan)}.nav-cta{background:var(--navy);color:white;padding:19px 22px;font:700 11px var(--font);letter-spacing:.04em}.nav-cta span{padding-left:24px;color:#c19874}.menu{display:none}.hero{min-height:690px;height:min(800px,calc(100svh - 122px));background:var(--navy);color:white;position:relative;isolation:isolate;display:flex;align-items:center;overflow:hidden}.hero-picture{position:absolute;inset:0;background:url('https://images.unsplash.com/photo-1507136566006-cfc505b114fc?w=2200&q=88') center 55%/cover;z-index:-3;transform:scale(1.02);animation:herozoom 17s ease-in-out infinite alternate}.hero-overlay{position:absolute;inset:0;background:linear-gradient(90deg,rgba(8,16,23,.94) 0%,rgba(8,16,23,.67) 48%,rgba(8,16,23,.14) 100%),linear-gradient(0deg,#101b25a9,transparent 25%);z-index:-2}@keyframes herozoom{to{transform:scale(1.09)}}.hero-content{padding-bottom:40px}.eyebrow{font:800 10px var(--font);letter-spacing:.21em;color:var(--tan);text-transform:uppercase;margin:0 0 30px}.eyebrow.light{color:#c59d7b}.eyeline{display:inline-block;width:24px;height:1px;background:currentColor;vertical-align:middle;margin-right:15px}.hero h1{font:600 clamp(48px,5.6vw,93px)/1.12 var(--font);letter-spacing:-.075em;max-width:1100px;margin:0 0 28px}.hero h1 em,.section h2 em,.feature h2 em,.quote-intro h2 em,.contact h2 em{font-family:Georgia,serif;font-weight:400;letter-spacing:-.04em;color:#c39a78}.hero-sub{max-width:590px;color:#d6dadb;font:400 16px/1.8 'DM Sans',sans-serif}.hero-actions{display:flex;align-items:center;gap:38px;margin-top:36px}.btn{display:inline-flex;align-items:center;justify-content:space-between;gap:22px;border:0;padding:20px 24px;font:800 11px var(--font);letter-spacing:.04em;min-height:58px}.btn.primary{background:var(--tan);color:white}.btn.primary:hover{background:#986545}.btn span{opacity:.72}.text-link{font:700 12px var(--font);border-bottom:1px solid #bcbcbc;padding:15px 0}.text-link span{padding-left:12px}.hero-bottom{display:flex;justify-content:space-between;position:absolute;bottom:27px;left:0;right:0;font:700 9px var(--font);letter-spacing:.15em;color:#dadbdd}.scrollbar{display:inline-block;vertical-align:middle;background:#c49a79;width:56px;height:1px;margin-left:17px}.section{padding:125px 0}.intro{display:grid;grid-template-columns:28% 1fr;gap:50px}.intro-label .cross{font-size:46px;color:var(--tan);margin-top:105px}.intro h2{font:600 clamp(36px,4.3vw,69px)/1.2 var(--font);letter-spacing:-.067em;max-width:940px;margin:0 0 40px}.intro h2 span{color:var(--tan)}.intro-columns{display:grid;grid-template-columns:1fr 1fr;gap:50px;color:#687075;line-height:1.85;font-size:15px}.intro-columns p{margin:0}.intro-columns strong{color:var(--ink)}.underlink{display:inline-flex;gap:36px;border-bottom:1px solid #9d9e9b;padding:15px 0;margin-top:34px;font:800 12px var(--font)}.ticker{height:70px;overflow:hidden;display:flex;align-items:center;white-space:nowrap;background:#e4d6c5;color:#a4714c;font:700 12px var(--font);letter-spacing:.35em}.ticker>div{animation:marquee 24s linear infinite}@keyframes marquee{to{transform:translateX(-35%)}}.specialties{background:#e9e7e1}.section-top{display:flex;justify-content:space-between;align-items:end;gap:40px;margin-bottom:55px}.section-top h2,.faq h2{font:600 clamp(37px,4.6vw,70px)/1.16 var(--font);letter-spacing:-.075em;margin:0}.section-aside{color:#71777a;max-width:330px;font-size:14px;line-height:1.85;margin:0 0 8px}.service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.service-card{background:#f8f7f4;overflow:hidden;transition:transform .3s}.service-card:hover{transform:translateY(-6px)}.service-photo{height:315px;background-size:cover;background-position:center;filter:saturate(.7)}.photo-seat{background-image:url('https://images.unsplash.com/photo-1503376780353-7e6692767b70?w=1100&q=85')}.photo-roof{background-image:url('https://images.unsplash.com/photo-1494905998402-395d579af36f?w=1100&q=85')}.photo-detail{background-image:url('https://images.unsplash.com/photo-1485291571150-772bcfc10da5?w=1100&q=85')}.service-body{padding:34px}.service-index,.form-eyebrow{font:800 10px var(--font);letter-spacing:.16em;color:#9a6b4d}.service-body h3{font:700 26px var(--font);letter-spacing:-.055em;margin:25px 0 12px}.service-body p{font-size:14px;color:#798084;line-height:1.8;min-height:80px}.service-body a{border-top:1px solid #dedfdd;display:flex;justify-content:space-between;align-items:center;margin-top:27px;padding-top:20px;font:800 11px var(--font)}.service-body a span{font-size:22px;font-weight:400}.feature{display:grid;grid-template-columns:1fr 1fr;background:var(--deep);color:white;min-height:710px}.feature-image{background:url('https://images.unsplash.com/photo-1494905998402-395d579af36f?w=1400&q=85') center/cover;min-height:550px}.feature-copy{padding:100px clamp(35px,8vw,150px);display:flex;flex-direction:column;justify-content:center}.feature h2{font:600 clamp(42px,5vw,80px)/1.15 var(--font);letter-spacing:-.075em;margin:0 0 24px}.feature-copy>p:not(.eyebrow){font-size:15px;color:#bbc3c4;line-height:1.9;max-width:490px}.feature-lines{margin-top:45px}.feature-lines div{border-top:1px solid #495157;padding:17px 0;font:600 12px var(--font)}.feature-lines span{font-size:10px;color:var(--tan);padding-right:24px}.mini-note{font-size:10px;color:#8d979a;margin-top:30px;line-height:1.7}.filters{display:flex;gap:12px;flex-wrap:wrap;margin-bottom:28px}.filter{background:transparent;border:1px solid #d4d2cd;padding:13px 19px;font:700 12px var(--font);color:#566168}.filter.active{background:var(--ink);color:white;border-color:var(--ink)}.filter sup{font-size:9px;padding-left:8px}.gallery-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.gallery-item{display:block;text-align:left;background:#d5d1c8;border:0;position:relative;height:330px;overflow:hidden;padding:0;color:white}.gallery-item.tall{grid-row:span 2;height:auto}.gallery-item img{height:100%;width:100%;object-fit:cover;display:block;transition:transform .6s,filter .3s;filter:saturate(.8)}.gallery-item:hover img{transform:scale(1.055);filter:saturate(1)}.gallery-item>span{position:absolute;bottom:0;left:0;right:0;padding:38px 21px 22px;background:linear-gradient(transparent,#101820c9);display:flex;justify-content:space-between;align-items:end;gap:10px;font:700 12px var(--font)}.gallery-item b{font-size:9px;letter-spacing:.08em;opacity:.8}.gallery-item.hidden{display:none}.image-note{color:#7a7f80;font-size:11px;line-height:1.8;margin-top:23px}.steps{background:#e9e0d5}.step-list{border-top:1px solid #c9bfb5}.step{display:grid;grid-template-columns:90px 1fr 65px;align-items:center;gap:24px;padding:30px 0;border-bottom:1px solid #c9bfb5}.step>span:first-child{font:800 12px var(--font);color:#a3714c}.step h3{font:700 28px var(--font);letter-spacing:-.05em;margin:0 0 8px}.step p{color:#7b7b79;font-size:14px;margin:0}.step-icon{border:1px solid #cdbba7;border-radius:50%;width:53px;height:53px;display:grid;place-items:center;font:600 17px Georgia,serif;color:#a37452}.quote-section{padding:130px 0;background:var(--navy);color:white}.quote-layout{display:grid;grid-template-columns:44% 1fr;gap:80px}.quote-intro h2{font:600 clamp(46px,5vw,80px)/1.15 var(--font);letter-spacing:-.078em;margin:0}.quote-intro>p:not(.eyebrow){max-width:365px;line-height:1.9;color:#b6c0c4;font-size:14px;margin:28px 0 55px}.quote-counter{font:700 10px var(--font);letter-spacing:.15em;color:#a1afb5}.quote-counter strong{color:#fff;font-size:18px}.progress{height:2px;width:185px;background:#51606a;margin-top:20px}.progress span{display:block;width:33.3%;height:100%;background:var(--tan);transition:width .3s}.quote-card{background:#f6f3ed;color:var(--ink);padding:48px;min-height:490px}.form-stage{display:none}.form-stage.active{display:block}.form-stage h3{font:700 32px var(--font);letter-spacing:-.06em;margin:18px 0 29px}.choice-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.choice-grid label{cursor:pointer}.choice-grid input{position:absolute;opacity:0}.choice-grid label span{display:flex;min-height:78px;align-items:center;border:1px solid #d8d7d0;padding:18px;font:700 12px var(--font)}.choice-grid input:checked+span{border-color:var(--tan);background:#eee2d5;box-shadow:inset 0 0 0 1px var(--tan)}.field{display:block;font:700 12px var(--font);margin-bottom:16px}.field input,.field textarea{width:100%;padding:16px 17px;border:1px solid #d5d3ce;background:white;display:block;margin-top:8px;outline-color:var(--tan);border-radius:0;font-size:14px}.form-actions{display:flex;gap:12px;align-items:center;justify-content:flex-end;margin-top:28px}.btn.back,.btn.copy{border:1px solid #c8c6c0;background:transparent;color:var(--ink)}#finish:not([hidden]){display:flex;gap:8px;flex-wrap:wrap}.error{min-height:20px;font-size:12px;color:#b13b25;margin:14px 0 0}.summary{background:#ece8e1;padding:20px;white-space:pre-wrap;font:500 13px/1.8 'DM Sans',sans-serif}.form-small{font-size:11px;line-height:1.7;color:#737c7b}.faq{display:grid;grid-template-columns:40% 1fr;gap:45px}.faq .section-top{display:block}.faq-list{border-top:1px solid #d3d0c9}.faq details{border-bottom:1px solid #d3d0c9;padding:24px 0}.faq summary{cursor:pointer;list-style:none;font:700 16px var(--font);display:flex;justify-content:space-between;gap:30px}.faq summary::-webkit-details-marker{display:none}.faq summary span{color:var(--tan);font-size:23px}.faq details[open] summary span{transform:rotate(45deg)}.faq details p{color:#70797b;max-width:570px;line-height:1.75;font-size:14px}.contact{background:#243442;color:white;padding:105px 0}.contact-main{display:grid;grid-template-columns:1fr 360px;gap:60px;align-items:center}.contact h2{font:600 clamp(39px,4.7vw,72px)/1.15 var(--font);letter-spacing:-.07em;margin:0 0 35px}.contact-phone{display:block;font:600 clamp(30px,4vw,58px) var(--font);letter-spacing:-.05em;border-bottom:1px solid #61707b;width:max-content;padding-bottom:12px}.contact-main p:not(.eyebrow){font-size:14px;color:#b1bdbf;line-height:1.8;margin:25px 0}.contact-directions{font:700 12px var(--font);display:inline-block;border-bottom:1px solid #a1b3b7;padding-bottom:13px}.contact-directions span{padding-left:25px;color:#dba77e}.contact-art{aspect-ratio:1;background:#b58a65;padding:25px}.contact-art-inner{height:100%;border:1px solid #e6c7a9;display:flex;flex-direction:column;align-items:center;justify-content:space-between;padding:28px;color:#263240}.contact-art-inner span{font:800 9px var(--font);letter-spacing:.25em}.contact-art-inner b{font:700 105px var(--font);letter-spacing:-.1em}footer{background:#111c26;color:white;padding-top:55px}.footer-top{display:flex;align-items:center;justify-content:space-between;gap:30px;padding-bottom:50px}.footer-brand .brand-mark{border-color:#b9c0c3}.footer-top>div{display:flex;gap:22px;font:600 11px var(--font)}.return{font:700 11px var(--font)}.footer-bottom{display:flex;justify-content:space-between;border-top:1px solid #35434c;padding:18px 0 25px;gap:20px;font:600 9px/1.6 var(--font);letter-spacing:.07em;color:#86939a}.footer-bottom p{margin:0}dialog{background:#121c23;border:1px solid #59626b;color:white;max-width:min(95vw,1100px);max-height:95vh;padding:15px}dialog::backdrop{background:#0b151de8}dialog img{display:block;max-height:75vh;object-fit:contain;margin:auto}dialog button{display:block;margin:0 0 12px auto;padding:10px 14px;border:1px solid #7c858b;background:transparent;color:white;font:800 10px var(--font)}dialog p{font:600 12px var(--font);padding:5px 12px}.reveal{opacity:0;transform:translateY(25px);transition:opacity .8s,transform .8s}.reveal.visible{opacity:1;transform:none}@media(max-width:1100px){.wrap{width:min(100% - 60px,1320px)}.header{padding:0 30px;gap:18px}.header nav{gap:14px}.header nav a{font-size:10px}.nav-cta{padding:17px 13px}.quote-layout{gap:40px}.quote-card{padding:28px}.feature-copy{padding:65px 50px}}@media(max-width:760px){.wrap{width:calc(100% - 36px)}.notice{padding:0 18px;font-size:8px}.notice span:last-child{display:none}.header{height:75px;padding:0 18px}.brand-mark{height:43px;width:52px;font-size:22px}.brand-copy{font-size:9px}.header nav{display:none;position:absolute;top:75px;left:0;right:0;background:var(--sand);flex-direction:column;padding:20px 24px 30px;align-items:start;gap:24px;box-shadow:0 15px 20px #101b2319}.header nav.open{display:flex}.header nav a{font-size:13px}.menu{display:flex;width:43px;height:43px;flex-direction:column;align-items:center;justify-content:center;gap:6px;background:transparent;border:1px solid #ccc7c0;margin-left:auto}.menu span{height:1px;width:20px;background:var(--ink)}.nav-cta{display:none}.hero{min-height:650px;height:calc(100svh - 103px);max-height:850px}.hero-picture{background-position:64% center}.hero-overlay{background:linear-gradient(90deg,#07121bed,#07121bb8 70%,#07121b70)}.hero h1{font-size:clamp(43px,9.5vw,65px)}.hero h1 br{display:none}.hero-sub{font-size:14px}.hero-actions{gap:20px;align-items:start;flex-direction:column}.hero-bottom span:last-child{display:none}.section{padding:80px 0}.intro{grid-template-columns:1fr;gap:10px}.intro-label .cross{display:none}.intro h2,.section-top h2,.faq h2{font-size:clamp(34px,7vw,55px)}.intro-columns{grid-template-columns:1fr;gap:15px}.section-top{display:block;margin-bottom:32px}.section-aside{margin-top:20px;max-width:520px}.service-grid{grid-template-columns:1fr}.service-photo{height:270px}.service-body p{min-height:0}.feature{grid-template-columns:1fr}.feature-image{min-height:360px}.feature-copy{padding:70px 22px}.gallery-grid{grid-template-columns:1fr 1fr;gap:9px}.gallery-item,.gallery-item.tall{height:240px;grid-row:auto}.gallery-item>span{font-size:10px;padding:20px 10px 12px}.gallery-item b{display:none}.step{grid-template-columns:37px 1fr 35px;gap:10px}.step h3{font-size:20px}.step-icon{width:34px;height:34px;font-size:12px}.quote-section{padding:80px 0}.quote-layout{grid-template-columns:1fr}.quote-intro>p:not(.eyebrow){margin-bottom:30px}.quote-card{padding:25px 18px;min-height:0}.choice-grid{grid-template-columns:1fr 1fr}.choice-grid label span{padding:12px;min-height:76px;font-size:11px}.faq{grid-template-columns:1fr;gap:20px}.contact{padding:75px 0}.contact-main{grid-template-columns:1fr}.contact-art{max-width:360px}.footer-top{flex-wrap:wrap}.footer-top>div{flex-wrap:wrap}.footer-bottom{display:block}.footer-bottom p+p{margin-top:8px}}@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}.reveal{opacity:1;transform:none}}