*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:#f7f6f2;color:#152b38;font:16px/1.7 Arial,sans-serif}a{color:inherit;text-decoration:none}header{padding:23px 5%;display:flex;align-items:center;justify-content:space-between;background:#fff;gap:25px;border-bottom:1px solid #ddd} .brand{font-weight:800;letter-spacing:2px;line-height:1.2;font-size:20px}.brand small{display:block;font-size:10px;letter-spacing:5px;margin-top:7px}nav{display:flex;gap:24px;align-items:center;font-size:13px}nav a[aria-current=page]{color:#94723c}.button{display:inline-block;padding:13px 23px;background:#bda06b;color:#102632;font-size:13px;font-weight:bold;letter-spacing:.5px;border:0;cursor:pointer}.outline{background:transparent;border:1px solid #ffffff80;color:white}.hero{background:#102d3c;color:white;position:relative;min-height:620px;display:grid;grid-template-columns:1.1fr 1fr}.hero .copy{padding:90px 9%;align-self:center}.eyebrow{text-transform:uppercase;font-size:11px;letter-spacing:3px;color:#bda06b;font-weight:bold}h1{font:normal clamp(40px,4.5vw,70px)/1.08 Georgia,serif;letter-spacing:-2px;margin:24px 0}h2{font:normal clamp(30px,3vw,46px)/1.15 Georgia,serif;letter-spacing:-1px}h3{font:normal 26px/1.3 Georgia,serif}p{max-width:690px}.hero p{color:#d0dadd;font-size:17px}.hero .buttons{display:flex;gap:12px;flex-wrap:wrap;margin-top:30px}.hero-image{background:url('assets/house-finished.webp') center/cover;position:relative}.image-note{position:absolute;right:20px;bottom:14px;color:white;font-size:10px;background:#102632b0;padding:5px 10px}.strip{padding:20px 5%;display:flex;justify-content:space-between;gap:20px;border-bottom:1px solid #ddd;text-transform:uppercase;letter-spacing:2px;font-size:11px}.section{padding:85px 7%;max-width:1500px;margin:auto}.intro{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:center}.muted{color:#62717a}.paths{display:grid;grid-template-columns:1fr 1fr;gap:25px;margin-top:35px}.path{background:white;padding:40px;border:1px solid #dedfdc}.path .num{color:#ad8a51;font-size:12px;letter-spacing:2px}.path ul{padding:0;list-style:none;margin:25px 0}.path li{padding:12px 0;border-bottom:1px solid #e4e6e4}.arrow{font-size:13px;font-weight:bold;color:#8c6e39}.dark{background:#102d3c;color:white}.dark .muted{color:#c3cdd1}.steps{display:grid;grid-template-columns:repeat(5,1fr);gap:25px;margin-top:40px}.step{border-top:1px solid #62737a;padding-top:20px}.step span{color:#bda06b;font-size:12px}.step h3{font-size:21px}.step p{font-size:13px;color:#c3cdd1}.cta{display:flex;align-items:center;justify-content:space-between;gap:30px}.pagehead{padding:70px 7%;background:#102d3c;color:white}.pagehead h1{max-width:950px}.grid{display:grid;grid-template-columns:repeat(2,1fr);gap:28px}.service{background:white;padding:32px;border-top:3px solid #bda06b}.service p{color:#62717a}.service a{font-size:13px;font-weight:bold}.contact{display:grid;grid-template-columns:1fr 1.3fr;gap:65px}form{background:white;padding:35px}label{display:block;font-size:13px;font-weight:bold;margin:15px 0 5px}input,select,textarea{width:100%;padding:13px;border:1px solid #c9cfcf;font:inherit;background:#fff;color:#152b38}textarea{min-height:130px}footer{background:#091e29;color:#b7c4c9;padding:40px 7%;display:flex;justify-content:space-between;gap:30px;font-size:12px}footer .brand{color:white;font-size:17px}.notice{padding:18px;border:1px solid #dedfdc;background:white;font-size:14px}.summary{white-space:pre-wrap;background:#f5f4ef;padding:20px;margin-top:20px}details{background:white;border-bottom:1px solid #ddd;padding:22px}summary{font-weight:bold;cursor:pointer}@media(max-width:1000px){nav{gap:12px;flex-wrap:wrap}.hero{grid-template-columns:1fr}.hero-image{min-height:320px}.steps{grid-template-columns:1fr 1fr}.hero .copy{padding:60px 7%}}@media(max-width:650px){header{display:block}.brand{margin-bottom:20px}nav{font-size:12px}.hero{min-height:0}.intro,.paths,.grid,.contact{grid-template-columns:1fr;gap:25px}.section{padding:50px 6%}.steps{grid-template-columns:1fr}.strip{flex-wrap:wrap}.cta,footer{display:block}.cta .button{margin-top:20px}h1{letter-spacing:-1px}.path{padding:27px}form{padding:20px}}
.image-grid{display:grid;grid-template-columns:1fr 1fr;gap:35px;margin-top:36px}.image-pair h3{margin:0 0 16px}.pair-photos{display:grid;grid-template-columns:1fr 1fr;gap:12px}.pair-photos figure{margin:0;position:relative;overflow:hidden;background:#102d3c}.pair-photos img{width:100%;aspect-ratio:4/3;object-fit:cover;display:block;transition:transform .4s}.pair-photos figure:hover img{transform:scale(1.035)}.pair-photos figcaption{padding:10px 14px;color:#fff;font-size:11px;letter-spacing:1px;text-transform:uppercase}.visual-gallery{border-top:1px solid #dedfdc}.service-photo{width:100%;aspect-ratio:16/9;object-fit:cover;margin-bottom:20px}@media(max-width:850px){.image-grid{grid-template-columns:1fr}}@media(max-width:450px){.pair-photos{grid-template-columns:1fr}}

.brand-logo{display:block;flex-shrink:0;width:330px;line-height:0;margin:0}.brand-logo img{display:block;width:100%;height:auto}header{padding-top:8px;padding-bottom:8px}footer .brand-logo{width:290px;background:white;border-radius:3px}nav{justify-content:flex-end}@media(max-width:1100px){header{flex-wrap:wrap}nav{justify-content:flex-start}.brand-logo{width:290px}}@media(max-width:650px){header .brand-logo{width:280px;max-width:100%;margin-bottom:12px}footer .brand-logo{max-width:100%}}

.hero-carousel{background:#102d3c;overflow:hidden;min-width:0}.hero-carousel>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.hero-photo-shade{position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.28),transparent 35%,transparent 60%,rgba(0,0,0,.4))}.hero-gallery-top{position:absolute;top:22px;left:22px;right:22px;display:flex;justify-content:space-between;align-items:center;gap:15px}.hero-gallery-top span{font-size:12px;letter-spacing:1px;background:#102d3cbd;padding:8px 12px}.hero-carousel button{cursor:pointer;color:white;border:1px solid #ffffff85;background:#102d3c80;min-width:38px;min-height:38px}.hero-gallery-top button{font-size:11px;padding:0 10px}.hero-gallery-bottom{position:absolute;bottom:45px;left:22px;right:22px;display:flex;align-items:center;justify-content:space-between}#hero-dots{display:flex;gap:9px}#hero-dots button{min-width:12px;min-height:12px;width:12px;height:12px;padding:0;border-radius:50%;background:#ffffff70;border:1px solid white}#hero-dots button.active{background:#bda06b}.hero-carousel button:focus-visible{outline:3px solid #bda06b;outline-offset:4px}@media(max-width:1000px){.hero-carousel{min-height:420px}}@media(max-width:650px){.hero-carousel{min-height:320px}.hero-gallery-top{left:15px;right:15px}.hero-gallery-top span{font-size:10px}}

/* Consistent, compact spacing across all pages */
.section{padding-top:45px;padding-bottom:45px}
.pagehead{padding-top:45px;padding-bottom:45px}
.section h2{margin-top:16px;margin-bottom:24px}
.section.cta{padding-top:35px;padding-bottom:40px}
.section.cta h2{margin-top:16px;margin-bottom:20px}
.strip + .section.intro{padding-top:35px;padding-bottom:25px}
.section.intro + .section{padding-top:25px}
.section.visual-gallery:has(+ .section.cta){padding-bottom:25px}
.section.visual-gallery + .section.cta{padding-top:25px}
.section.intro > div > :last-child{margin-bottom:0}
.section.cta > div > :last-child{margin-bottom:0}
@media(max-width:650px){
 .section,.pagehead{padding-top:30px;padding-bottom:30px}
 .section.cta{padding-top:25px;padding-bottom:30px}
 .strip + .section.intro{padding-top:30px;padding-bottom:20px}
 .section.intro + .section{padding-top:20px}
 .section.visual-gallery:has(+ .section.cta){padding-bottom:20px}
 .section.visual-gallery + .section.cta{padding-top:20px}
}

/* Balance residential cards and galleries with a single group */
.residential-services{grid-template-columns:repeat(3,minmax(0,1fr))}
.residential-services .service{padding:28px}
.residential-services .service h3{margin-top:0}
.image-grid > .image-pair:only-child{grid-column:1 / -1}
.image-grid > .image-pair:only-child .pair-photos img{aspect-ratio:16/9}
@media(max-width:1000px){.residential-services{grid-template-columns:1fr}}

/* Project inquiry form */
.form-trap{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}
.form-success,.form-error{padding:16px;margin-top:15px;border:1px solid #bda06b;background:#f7f6f2}
.form-error{border-color:#a84332}
button:disabled{opacity:.65;cursor:wait}
.contact{align-items:start;gap:40px}
.contact h2{margin-top:0}
.contact .notice p:last-child{margin-bottom:0}
@media(max-width:650px){.contact{gap:25px}}

/* Fill the final row when a commercial group has an odd item count */
.commercial-services > .service:last-child:nth-child(odd),
.image-grid > .image-pair:last-child:nth-child(odd){grid-column:1 / -1}

/* Four residential services form two balanced rows */
.residential-services{grid-template-columns:repeat(2,minmax(0,1fr))}
@media(max-width:650px){.residential-services{grid-template-columns:1fr}}
