:root{--navy:#17324d;--blue:#315c82;--sky:#eaf1f6;--cream:#f7f4ee;--gold:#e4ad47;--ink:#152333;--muted:#667686;--white:#fff;--shadow:0 20px 60px rgba(18,43,65,.16)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);font-family:"DM Sans",sans-serif;line-height:1.6;background:#fff}a{color:inherit;text-decoration:none}h1,h2,h3,p{margin-top:0}h1,h2{font-family:"Playfair Display",serif;line-height:1.08}h2{font-size:clamp(2.1rem,4vw,3.4rem);margin-bottom:20px}.topbar{height:42px;background:var(--navy);color:white;display:flex;align-items:center;justify-content:space-between;padding:0 5vw;font-size:.78rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase}.topbar a{color:#fff}.header{height:104px;padding:0 5vw;display:flex;align-items:center;gap:38px;background:white;position:relative;z-index:20;box-shadow:0 5px 24px rgba(20,43,64,.08)}.brand{display:flex;align-items:center;gap:10px;margin-right:auto;line-height:1}.brand-mark{width:52px;height:52px;display:grid;place-items:center;border:3px solid var(--navy);border-radius:50%;font-family:"Playfair Display";font-weight:bold;color:var(--gold);font-size:1.3rem}.brand b{display:block;font-size:1.16rem;letter-spacing:.16em}.brand small{font-size:.66rem;letter-spacing:.37em;color:var(--blue)}.nav{display:flex;gap:28px;font-size:.9rem;font-weight:700}.nav a:hover{color:var(--blue)}.button{display:inline-flex;align-items:center;justify-content:center;min-height:54px;padding:0 28px;border-radius:4px;background:var(--blue);color:white;font-weight:700;border:0;cursor:pointer;box-shadow:0 10px 24px rgba(30,75,111,.18);transition:.2s transform,.2s background}.button:hover{transform:translateY(-2px);background:var(--navy)}.button-small{min-height:46px;padding:0 20px;font-size:.85rem}.button-accent{background:var(--gold);color:var(--navy);box-shadow:0 12px 30px rgba(198,139,39,.25)}.button-accent:hover{background:#f0bd5a}.button-outline{background:transparent;border:1px solid rgba(255,255,255,.45);box-shadow:none}.button-full{width:100%;font-size:1rem}.menu-toggle{display:none}.hero{min-height:710px;position:relative;display:grid;grid-template-columns:minmax(0,1.2fr) minmax(360px,470px);gap:7vw;align-items:center;padding:70px 7vw 80px;color:white;background:url("https://images.unsplash.com/photo-1562259949-e8e7689d7828?auto=format&fit=crop&w=2000&q=85") center/cover}.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(11,31,49,.92) 0%,rgba(16,46,70,.76) 50%,rgba(18,47,69,.34) 100%)}.hero-content,.quote-card{position:relative;z-index:2}.hero h1{font-size:clamp(3.2rem,6vw,5.7rem);max-width:820px;margin:16px 0 24px}.hero-content>p{max-width:620px;font-size:1.13rem;color:#e7edf1}.eyebrow{display:inline-flex;align-items:center;gap:10px;color:var(--blue);font-size:.73rem;text-transform:uppercase;letter-spacing:.17em;font-weight:700}.eyebrow:before{content:"";width:28px;height:2px;background:var(--gold)}.eyebrow.light{color:#fff}.hero-actions{display:flex;align-items:center;gap:26px;margin:32px 0}.text-link{font-weight:700;border-bottom:1px solid rgba(255,255,255,.6)}.trust-row{display:flex;gap:28px;font-size:.78rem;text-transform:uppercase;letter-spacing:.06em;font-weight:700;color:#e1e9ef}.quote-card{background:white;color:var(--ink);padding:36px;box-shadow:var(--shadow);border-top:5px solid var(--gold)}.form-kicker{font-size:.67rem;color:var(--blue);font-weight:700;letter-spacing:.15em;text-transform:uppercase}.quote-card h2{font-size:2.1rem;margin:5px 0 8px}.quote-card>p{color:var(--muted);font-size:.9rem;line-height:1.5}.quote-card form{display:grid;gap:12px}.field-pair{display:grid;grid-template-columns:1fr 1fr;gap:12px}label{font-size:.72rem;font-weight:700;color:#43576b;text-transform:uppercase;letter-spacing:.06em}input,select{display:block;width:100%;margin-top:5px;padding:13px;border:1px solid #d7e0e7;border-radius:3px;background:#f9fbfc;color:var(--ink);font:inherit;font-size:.9rem;outline-color:var(--gold)}.quote-card small{color:#81909d;text-align:center;font-size:.7rem}.review-strip{display:grid;grid-template-columns:repeat(4,1fr);background:var(--navy);color:white;padding:25px 7vw}.review-strip div{padding:4px 25px;border-right:1px solid rgba(255,255,255,.16);text-align:center}.review-strip div:last-child{border:0}.review-strip strong,.review-strip span{display:block}.review-strip strong{color:#f3c261}.review-strip span{font-size:.72rem;text-transform:uppercase;letter-spacing:.08em;color:#cdd9e2}.section{padding:105px 7vw}.intro{display:grid;grid-template-columns:1fr 1fr;gap:8vw;align-items:center;background:var(--cream)}.intro p{font-size:1.05rem;color:var(--muted)}.arrow-link{color:var(--blue);font-weight:700}.services-section{padding:105px 7vw;background:var(--blue);color:white}.section-heading{max-width:740px;margin-bottom:46px}.centered{text-align:center;margin-left:auto;margin-right:auto}.centered .eyebrow{justify-content:center}.section-heading p{color:#d7e4ed}.service-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:18px}.service-card{min-height:270px;position:relative;display:flex;align-items:end;gap:18px;padding:30px;overflow:hidden;background-position:center;background-size:cover}.service-card:before{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(7,25,39,.93),rgba(17,45,66,.1))}.service-card>*{position:relative}.service-card span{font-family:"Playfair Display";font-size:2.2rem;color:var(--gold)}.service-card h3{font-size:1.45rem;margin:0}.service-card p{color:#dbe5eb;margin:4px 0;font-size:.9rem}.interior{background-image:url("https://images.unsplash.com/photo-1600566753086-00f18fb6b3ea?auto=format&fit=crop&w=1200&q=80")}.exterior{background-image:url("https://images.unsplash.com/photo-1600607687939-ce8a6c25118c?auto=format&fit=crop&w=1200&q=80")}.cabinets{background-image:url("https://images.unsplash.com/photo-1556912172-45b7abe8b7e1?auto=format&fit=crop&w=1200&q=80")}.commercial{background-image:url("https://images.unsplash.com/photo-1497366811353-6870744d04b2?auto=format&fit=crop&w=1200&q=80")}.process{background:white}.process .section-heading p{color:var(--muted)}.process-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:28px}.process-grid article{border-top:2px solid #dbe4ea;padding-top:24px}.process-grid b{font-family:"Playfair Display";font-size:2.6rem;color:var(--gold)}.process-grid h3{font-size:1rem;text-transform:uppercase;letter-spacing:.07em;margin:10px 0}.process-grid p{color:var(--muted);font-size:.88rem}.why-section{display:grid;grid-template-columns:1fr 1fr;background:var(--navy);color:white}.why-image{min-height:720px;background:url("https://images.unsplash.com/photo-1595814433015-e6f5ce69614e?auto=format&fit=crop&w=1400&q=85") center/cover}.why-copy{padding:90px 8vw 90px 6vw}.why-copy>p{color:#c9d5de}.why-list{display:grid;grid-template-columns:1fr 1fr;gap:28px;margin:38px 0}.why-list div{border-top:1px solid rgba(255,255,255,.2);padding-top:18px}.why-list b,.why-list span{display:block}.why-list b{color:#f0c061;margin-bottom:6px}.why-list span{font-size:.84rem;color:#c8d4dd}.testimonial-section{text-align:center;padding:110px 15vw;background:var(--cream)}blockquote{font-family:"Playfair Display";font-size:clamp(1.8rem,3.5vw,3rem);line-height:1.32;margin:25px auto;max-width:1000px}.testimonial-section p{color:var(--blue)}.faq-section{background:white}.faq-list{max-width:900px;margin:auto;border-top:1px solid #dbe3e9}details{border-bottom:1px solid #dbe3e9;padding:22px 0}summary{font-weight:700;cursor:pointer;list-style:none;position:relative;padding-right:40px}summary:after{content:"+";position:absolute;right:5px;color:var(--gold);font-size:1.5rem}details[open] summary:after{content:"−"}details p{color:var(--muted);max-width:760px;margin:14px 0 0}.cta{display:flex;align-items:center;gap:18px;padding:60px 7vw;background:var(--blue);color:white}.cta div{margin-right:auto}.cta h2{margin:5px 0 4px;font-size:2.5rem}.cta p{margin:0;color:#d5e2eb}footer{background:#10283e;color:#c6d3dc}.footer-main{padding:75px 7vw;display:grid;grid-template-columns:1.35fr .8fr 1.2fr 1fr;gap:55px}.footer-brand{color:white;margin-bottom:22px}.footer-main h3{color:white;font-size:.85rem;text-transform:uppercase;letter-spacing:.1em}.footer-main a{display:block;margin:8px 0;font-size:.88rem}.footer-main p{font-size:.86rem}.footer-bottom{padding:18px 7vw;border-top:1px solid rgba(255,255,255,.1);font-size:.75rem;display:flex;justify-content:space-between}.floating-cta{position:fixed;right:24px;bottom:22px;z-index:30;background:var(--gold);color:var(--navy);padding:13px 20px;border-radius:4px;font-weight:700;box-shadow:var(--shadow)}
@media(max-width:1050px){.nav{display:none;position:absolute;top:100%;left:0;right:0;flex-direction:column;gap:0;background:#fff;padding:12px 5vw 20px;box-shadow:0 18px 30px rgba(20,43,64,.12)}.nav a{padding:10px 0;border-bottom:1px solid #e7edf1}.menu-toggle{display:block;background:none;border:1px solid #ccd7df;padding:8px 12px}.header-call{display:none}.hero{grid-template-columns:1fr;gap:45px}.hero-content{padding-top:20px}.quote-card{max-width:600px}.process-grid{grid-template-columns:repeat(2,1fr)}.footer-main{grid-template-columns:repeat(2,1fr)}}
@media(max-width:720px){.topbar span{display:none}.topbar{justify-content:center}.header{height:82px;padding:0 20px}.brand-mark{width:43px;height:43px}.hero{padding:60px 20px;background-position:38% center}.hero h1{font-size:3.1rem}.hero-actions{align-items:flex-start;flex-direction:column}.trust-row{flex-direction:column;gap:8px}.quote-card{padding:25px}.field-pair{grid-template-columns:1fr}.review-strip{grid-template-columns:repeat(2,1fr);padding:22px 10px}.review-strip div:nth-child(2){border:0}.intro,.why-section{grid-template-columns:1fr}.section,.services-section{padding:75px 20px}.service-grid,.process-grid,.why-list{grid-template-columns:1fr}.service-card{min-height:240px}.why-image{min-height:360px}.why-copy{padding:70px 20px}.testimonial-section{padding:75px 20px}.cta{align-items:stretch;flex-direction:column;padding:50px 20px}.footer-main{grid-template-columns:1fr;padding:60px 20px;gap:30px}.footer-bottom{padding:18px 20px;display:block}.footer-bottom span{display:block;margin-top:5px}.floating-cta{right:14px;bottom:14px}.hero-content>p{font-size:1rem}}
.brand-mark{border:0!important;border-radius:12px!important;background:#fff}.brand-mark img{display:block;width:48px;height:48px;object-fit:contain}.hero-rating{display:flex;align-items:center;gap:18px;margin:-5px 0 20px}.hero-rating strong{color:#f3bd45;font-size:2.25rem;line-height:1;letter-spacing:.12em;text-shadow:0 3px 14px rgba(0,0,0,.25)}.hero-rating span{max-width:310px;font-size:.76rem;font-weight:700;line-height:1.45;text-transform:uppercase;letter-spacing:.11em}
textarea{display:block;width:100%;min-height:82px;resize:vertical;margin-top:5px;padding:13px;border:1px solid #d7e0e7;border-radius:3px;background:#f9fbfc;color:var(--ink);font:inherit;font-size:.9rem;outline-color:var(--gold)}.form-honeypot{display:none!important}
.consent{display:flex;align-items:flex-start;gap:9px;color:#667686;font-size:.64rem;font-weight:500;line-height:1.4;text-transform:none;letter-spacing:0}.consent input{width:auto;margin:3px 0 0;flex:0 0 auto}
.form-status{display:none;margin:0;padding:10px 12px;border-radius:3px;font-size:.78rem;font-weight:700;text-align:center}.form-status.visible{display:block}.form-status.error{background:#fff0f0;color:#a52d2d}.form-status.success{background:#edf8f0;color:#216c38}
.form-progress{height:6px;background:#e7edf1;border-radius:10px;overflow:hidden;margin:4px 0 12px}.form-progress span{display:block;width:25%;height:100%;background:linear-gradient(90deg,var(--gold),#f3c765);transition:width .35s}.form-viewport{overflow:hidden;margin:0 -2px;padding:0 2px}.form-track{display:flex;width:500%;align-items:flex-start;transition:transform .42s cubic-bezier(.22,.8,.3,1)}.form-step{display:grid;gap:12px;width:20%;flex:0 0 20%;padding:1px}.form-step h3{font-family:"Playfair Display",serif;font-size:1.45rem;line-height:1.15;margin:0}.form-step p{font-size:.8rem;color:var(--muted);margin:0}.step-count{font-size:.62rem;font-weight:700;text-transform:uppercase;letter-spacing:.14em;color:var(--blue)}.choice-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:9px}.choice{position:relative;display:flex;align-items:center;gap:8px;min-height:62px;padding:10px;border:2px solid #e1e9ef;border-radius:8px;background:#f9fbfc;cursor:pointer;text-transform:none;letter-spacing:0;transition:.18s}.choice:hover{border-color:var(--gold);transform:translateY(-1px)}.choice input{position:absolute;opacity:0;pointer-events:none}.choice:has(input:checked){border-color:var(--gold);background:#fff8e8;box-shadow:0 5px 14px rgba(198,139,39,.12)}.choice span{width:32px;height:32px;display:grid;place-items:center;border-radius:50%;background:#eaf1f6;color:var(--blue);font-size:1rem}.choice b{font-size:.76rem;color:var(--ink)}.other-field{display:none}.other-field.visible{display:grid;gap:8px}.booking-success{text-align:center;place-items:center;padding:22px 8px}.success-check{width:70px;height:70px;display:grid;place-items:center;border-radius:50%;background:#edf8f0;color:#278044;font-size:2.2rem;font-weight:700}.booking-success h3{font-size:2rem}.step-next{margin-top:5px}@media(max-width:480px){.choice-grid{grid-template-columns:1fr}.choice{min-height:54px}}
.exterior-home{background-image:url("https://images.unsplash.com/photo-1600607687939-ce8a6c25118c?auto=format&fit=crop&w=1200&q=80")}.exterior-custom{background-image:url("https://images.unsplash.com/photo-1600566753190-17f0baa2a6c3?auto=format&fit=crop&w=1200&q=80")}.exterior-garage{background-image:url("https://images.unsplash.com/photo-1558618666-fcd25c85cd64?auto=format&fit=crop&w=1200&q=80")}
.hero{background-image:url("https://images.unsplash.com/photo-1600047509807-ba8f99d2cdde?auto=format&fit=crop&w=2400&q=95")}.exterior-home{background-image:url("https://images.unsplash.com/photo-1600585154340-be6161a56a0c?auto=format&fit=crop&w=1800&q=92")}.exterior{background-image:url("https://images.unsplash.com/photo-1600047509358-9dc75507daeb?auto=format&fit=crop&w=1800&q=92")}.exterior-custom{background-image:url("https://images.unsplash.com/photo-1600607687920-4e2a09cf159d?auto=format&fit=crop&w=1800&q=92")}.exterior-garage{background-image:url("https://images.unsplash.com/photo-1600566753086-00f18fb6b3ea?auto=format&fit=crop&w=1800&q=92")}.why-image{background-image:url("https://images.unsplash.com/photo-1600607688969-a5bfcd646154?auto=format&fit=crop&w=2000&q=95")}.service-card{min-height:330px}.service-card:before{background:linear-gradient(0deg,rgba(8,27,42,.94),rgba(13,43,65,.05) 75%)}.quote-card{border-top:5px solid #d7a748;border-radius:2px}.choice{background:#fff;border-color:#dfe7ec}.choice span{font-family:"Playfair Display",serif;background:var(--navy);color:#fff}.choice:has(input:checked){background:#fbf7ed;border-color:#d7a748}
.hero{grid-template-columns:minmax(0,.9fr) minmax(440px,560px);gap:5vw}.quote-card{padding:44px 42px;border-top:7px solid var(--gold);border-radius:10px;box-shadow:0 28px 80px rgba(6,25,40,.42),0 0 0 1px rgba(255,255,255,.45);transform:scale(1.03)}.quote-card h2{font-size:2.55rem}.quote-card>p{font-size:.96rem}.form-kicker{color:#b67d20}.form-progress{height:8px}.choice{min-height:72px}.button-full{min-height:60px}.hero-content{max-width:700px}
@media(max-width:1050px){.quote-card{transform:none;width:100%;max-width:650px}}@media(max-width:720px){.quote-card{padding:28px 22px}.quote-card h2{font-size:2.15rem}.hero{gap:34px}.choice{min-height:62px}}
.success-hours{color:#81909d;font-size:.68rem;letter-spacing:.04em}
.step-back{justify-self:center;padding:4px 14px;border:0;background:transparent;color:#6e7f8e;font:inherit;font-size:.75rem;font-weight:700;cursor:pointer}.step-back:hover{color:var(--blue);text-decoration:underline}

/* Final responsive safeguards */
html,body{max-width:100%;overflow-x:hidden}
.hero>*,.intro>*,.why-section>*,.cta>*{min-width:0}
@media(max-width:1050px){
  .hero{grid-template-columns:minmax(0,1fr);padding-left:5vw;padding-right:5vw}
  .quote-card{justify-self:stretch;max-width:680px}
}
@media(max-width:720px){
  .topbar{height:38px;padding:0 12px;font-size:.67rem}
  .header{height:74px;padding:0 14px;gap:10px}
  .brand{gap:7px}
  .brand-mark{width:40px;height:40px;flex:0 0 40px}
  .brand-mark img{width:36px;height:36px}
  .brand b{font-size:.88rem;letter-spacing:.12em}
  .brand small{font-size:.52rem;letter-spacing:.27em}
  .menu-toggle{font-size:.75rem;padding:7px 10px}
  .nav{padding-left:18px;padding-right:18px}
  .hero{display:block;min-height:0;padding:44px 14px 48px;background-position:center}
  .hero-content{padding:0}
  .hero h1{font-size:clamp(2.55rem,13vw,3.6rem);line-height:1.02;margin:12px 0 18px}
  .hero-content>p{font-size:.96rem;line-height:1.55}
  .hero-rating{display:block;margin:0 0 16px}
  .hero-rating strong{display:block;font-size:1.75rem;margin-bottom:6px}
  .hero-rating span{display:block;max-width:none;font-size:.67rem}
  .hero-actions{margin:20px 0}
  .trust-row{margin-bottom:28px;font-size:.67rem}
  .quote-card{width:100%;max-width:100%;padding:25px 17px;border-radius:8px;transform:none;box-shadow:0 20px 45px rgba(6,25,40,.32)}
  .quote-card h2{font-size:2rem;overflow-wrap:anywhere}
  .quote-card>p{font-size:.84rem}
  .form-step h3{font-size:1.25rem}
  .choice-grid{grid-template-columns:1fr}
  .choice{width:100%;min-height:58px;padding:10px}
  .field-pair{grid-template-columns:minmax(0,1fr)}
  input,select,textarea{max-width:100%;min-height:48px;font-size:16px}
  .button-full{min-height:54px;padding:10px 14px;font-size:.9rem;white-space:normal}
  .consent{font-size:.62rem}
  .review-strip{grid-template-columns:1fr 1fr;padding:18px 8px}
  .review-strip div{padding:10px 5px}
  .review-strip div:nth-child(even){border-right:0}
  .section,.services-section{padding:64px 16px}
  h2{font-size:clamp(2rem,10vw,2.65rem)}
  .intro{gap:24px}
  .service-grid,.process-grid,.why-list{gap:16px}
  .service-card{min-height:260px;padding:22px}
  .why-image{min-height:300px}
  .why-copy{padding:58px 16px}
  .testimonial-section{padding:64px 16px}
  blockquote{font-size:1.65rem}
  .faq-list summary{font-size:.92rem}
  .cta{padding:42px 16px}
  .cta .button{width:100%}
  .footer-main{padding:52px 16px}
  .footer-bottom{padding:18px 16px 76px}
  .floating-cta{left:14px;right:14px;bottom:12px;text-align:center}
}
@media(max-width:380px){
  .hero{padding-left:10px;padding-right:10px}
  .quote-card{padding-left:13px;padding-right:13px}
  .brand b{font-size:.79rem}
  .brand small{font-size:.47rem}
}
