:root{--ink:#071d43;--orange:#ff6b16;--cream:#f7f4ed;--paper:#fffdf9;--muted:#60708a;--line:#d9dfe7;--dark:#061733}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:"DM Sans",sans-serif}a{color:inherit;text-decoration:none}.skip-link{position:absolute;left:-1000px}.skip-link:focus{left:1rem;top:1rem;z-index:10;background:#fff;padding:.75rem}.site-header{height:84px;padding:0 clamp(22px,5vw,78px);display:flex;align-items:center;gap:28px;border-bottom:1px solid #e8ebef;background:#fffdf9;position:sticky;top:0;z-index:5}.brand img{width:174px;height:auto;display:block}.main-nav{margin-left:auto;display:flex;gap:28px;font-size:.92rem;font-weight:600}.main-nav a:hover{color:var(--orange)}.header-call{background:var(--ink);color:white;border-radius:6px;padding:12px 17px;font-size:.9rem;font-weight:700}.menu-button{display:none;background:none;border:0;color:var(--ink);font:600 .95rem inherit}.hero{min-height:625px;background:linear-gradient(116deg,var(--cream) 0 57%,#f1e7d5 57%);padding:clamp(60px,9vw,122px) clamp(22px,9vw,145px);display:grid;grid-template-columns:1fr 1fr;gap:38px;overflow:hidden}.hero-copy{max-width:650px;position:relative;z-index:1}.eyebrow{margin:0 0 16px;color:var(--orange);font-weight:800;font-size:.74rem;letter-spacing:.13em}.hero h1,.section h2,.statement h2,.areas h2,.contact h2{font-family:Manrope,sans-serif;letter-spacing:-.055em;line-height:.98}.hero h1{font-size:clamp(3.5rem,6vw,6.3rem);margin:0}.hero h1 em{font-style:normal;color:var(--orange)}.hero-text{margin:27px 0 30px;max-width:520px;font-size:1.14rem;line-height:1.6;color:#43536d}.hero-actions{display:flex;gap:13px;align-items:center}.button{display:inline-flex;align-items:center;gap:22px;padding:16px 20px;border-radius:6px;font-weight:700}.button-primary{background:var(--orange);color:#fff}.button-primary span{font-size:1.3rem}.button-quiet{border:1px solid #b7beca}.hero-meta{display:flex;gap:12px;margin-top:39px;color:#52617a;font-size:.84rem}.hero-visual{position:relative;min-height:400px}.sun{width:310px;height:310px;border-radius:50%;background:#f3c357;position:absolute;right:12%;top:8%;opacity:.73}.pergola{position:absolute;right:0;bottom:32px;width:min(440px,94%);height:286px;border:17px solid var(--ink);border-top:28px solid var(--ink);transform:skewY(-3deg);box-shadow:18px 21px 0 rgba(255,107,22,.95)}.pergola:before{content:"";position:absolute;left:-17px;right:-17px;top:50px;height:13px;background:#fff}.pergola i{position:absolute;top:0;bottom:-18px;width:12px;background:var(--ink)}.pergola i:nth-child(1){left:20%}.pergola i:nth-child(2){left:43%}.pergola i:nth-child(3){left:67%}.pergola i:nth-child(4){left:86%}.pergola b{position:absolute;top:-28px;bottom:100%;width:12px;background:var(--ink)}.pergola b:nth-of-type(1){left:15%}.pergola b:nth-of-type(2){left:78%}.tool-card{position:absolute;left:2%;bottom:0;background:white;border-radius:7px;padding:16px 20px;display:flex;gap:14px;align-items:center;box-shadow:0 16px 35px rgba(7,29,67,.13)}.tool-card p{margin:0;font-size:.88rem;font-weight:700}.tool-icon{color:var(--orange);font-size:1.6rem}.trust-strip{padding:21px clamp(22px,8vw,145px);display:flex;justify-content:space-between;align-items:center;background:var(--ink);color:white;text-transform:uppercase;font-size:.71rem;font-weight:700;letter-spacing:.12em}.trust-strip p{margin:0}.trust-strip span{width:5px;height:5px;border-radius:50%;background:var(--orange)}.section{padding:105px clamp(22px,9vw,145px)}.section-heading{display:grid;grid-template-columns:1.1fr .9fr;gap:60px;align-items:end;margin-bottom:48px}.section-heading .eyebrow{grid-column:1/-1;margin-bottom:-25px}.section h2{font-size:clamp(2.8rem,5vw,4.8rem);margin:0}.section-heading>p:last-child{color:var(--muted);line-height:1.65;max-width:420px}.service-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.service-card{min-height:240px;border:1px solid var(--line);padding:26px;display:flex;flex-direction:column;justify-content:space-between;border-radius:8px;background:white;transition:transform .2s,box-shadow .2s}.service-card:hover{transform:translateY(-4px);box-shadow:0 14px 32px rgba(7,29,67,.09)}.service-number{font-size:.8rem;font-weight:700;color:var(--orange)}.service-card h3,.process h3{font:700 1.55rem Manrope,sans-serif;letter-spacing:-.04em;margin:0 0 9px}.service-card p,.process p{color:var(--muted);line-height:1.55;margin:0;max-width:370px}.card-large{background:var(--ink);color:white}.card-large p{color:#b8c6d9}.card-accent{background:#ffe2c7;border-color:#ffe2c7}.card-arrow{align-self:flex-end;font-size:1.6rem}.statement{padding:110px clamp(22px,9vw,145px);background:var(--orange);color:white;display:grid;grid-template-columns:1.2fr .8fr;gap:70px}.statement .eyebrow{color:#ffe3c6}.statement h2{margin:0;font-size:clamp(2.8rem,5vw,5rem)}.statement>p{align-self:end;line-height:1.65;font-size:1.1rem}.process{background:#eef1f4}.process>.eyebrow{margin-bottom:45px}.process-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:50px}.process-grid span{display:block;color:var(--orange);font-weight:800;font-size:2.4rem;margin-bottom:50px}.areas{padding:105px clamp(22px,9vw,145px);display:grid;grid-template-columns:1fr 1fr;gap:70px;background:var(--ink);color:white}.areas h2{margin:0;font-size:clamp(2.8rem,5vw,4.8rem)}.area-list{border-top:1px solid #4a5a73}.area-list p{padding:20px 0;border-bottom:1px solid #4a5a73;margin:0;color:#dbe4f0}.area-list strong{color:#fff;display:block;margin-bottom:5px}.area-list small{display:block;margin-top:18px;color:#aab7c8}.contact{padding:105px clamp(22px,9vw,145px);display:grid;grid-template-columns:1fr 1fr;gap:70px}.contact h2{font-size:clamp(2.8rem,5vw,4.8rem);margin:0 0 15px}.contact-intro>p:last-child{max-width:490px;color:var(--muted);line-height:1.65}.contact-panel{border-top:2px solid var(--ink)}.contact-panel a{padding:23px 0;display:grid;grid-template-columns:1fr auto;border-bottom:1px solid var(--line);gap:7px}.contact-panel span{font-size:.82rem;color:var(--muted)}.contact-panel strong{font:700 1.14rem Manrope,sans-serif}.contact-panel i{grid-row:1/3;grid-column:2;align-self:center;font-style:normal;font-size:1.5rem;color:var(--orange)}footer{padding:40px clamp(22px,9vw,145px);display:flex;align-items:center;gap:24px;border-top:1px solid var(--line);font-size:.78rem;color:var(--muted)}footer img{width:145px}footer p:last-child{margin-left:auto}.menu-button span{font-size:1.2rem}@media(max-width:800px){.site-header{height:70px;padding:0 20px}.brand img{width:145px}.main-nav,.header-call{display:none}.menu-button{display:block;margin-left:auto}.main-nav.open{display:flex;position:absolute;top:69px;left:0;right:0;background:#fffdf9;padding:20px;flex-direction:column;border-bottom:1px solid var(--line);gap:18px}.hero{grid-template-columns:1fr;padding:70px 23px 42px;background:var(--cream)}.hero-visual{height:300px;min-height:0}.pergola{height:190px;width:90%;right:3%}.sun{width:210px;height:210px}.trust-strip{padding:18px;gap:10px;overflow:hidden}.trust-strip p{white-space:nowrap;font-size:.6rem}.trust-strip p:nth-of-type(4),.trust-strip p:nth-of-type(5),.trust-strip span:nth-of-type(4){display:none}.section,.contact{padding:75px 23px}.section-heading,.statement,.areas,.contact{grid-template-columns:1fr;gap:30px}.section-heading .eyebrow{margin-bottom:0}.service-grid,.process-grid{grid-template-columns:1fr}.service-card{min-height:210px}.statement,.areas{padding:75px 23px}.statement>p{margin:0}.process-grid{gap:35px}.process-grid span{margin-bottom:18px}.hero-meta{flex-wrap:wrap}.contact-panel{margin-top:12px}footer{padding:32px 23px;align-items:flex-start;flex-direction:column;gap:12px}footer p{margin:0}footer p:last-child{margin-left:0}}
/* Quote request and concise service policy */
.estimate-notes{margin-top:20px;padding:16px 18px;border-left:3px solid var(--orange);background:#fff;color:#42516a;font-size:.84rem;line-height:1.5}.estimate-notes strong{display:block;color:var(--ink);font:700 .95rem Manrope,sans-serif}.estimate-notes ul{margin:8px 0;padding-left:18px}.estimate-notes p{margin:8px 0 0;font-weight:600}.acknowledgment{display:flex!important;gap:10px;align-items:flex-start;font-weight:400!important;line-height:1.45}.quote-form .acknowledgment input{width:17px;margin:2px 0 0;flex:0 0 auto}
.site-details{border:0;padding:0;margin:17px 0 0;display:grid;grid-template-columns:1fr 1fr;gap:14px}.site-details legend{padding:0;font-size:.79rem;font-weight:700;color:#34445e}.site-details label{margin-top:7px}.optional{font-weight:400;color:var(--muted)}@media(max-width:800px){.site-details{grid-template-columns:1fr}}
.honeypot{display:none}.upload-note{display:block;margin-top:6px;color:var(--muted);font-size:.76rem;font-weight:400}
.required-note{font-weight:400;color:#4f5f78}
.response-time{margin-top:10px!important;color:var(--ink)!important;font-size:.82rem!important;font-weight:700}
.process-grid-four{grid-template-columns:repeat(4,1fr);gap:30px}.process-grid-four span{margin-bottom:34px}@media(max-width:800px){.process-grid-four{grid-template-columns:1fr;gap:35px}}
/* Real project gallery */
.project-gallery{background:#fff}.project-gallery .section-heading{margin-bottom:38px}.gallery-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.gallery-card{position:relative;overflow:hidden;margin:0;border-radius:8px;background:var(--ink);min-height:255px;isolation:isolate}.gallery-card-featured{grid-column:span 2;grid-row:span 2;min-height:524px}.gallery-card img{width:100%;height:100%;min-height:255px;object-fit:cover;display:block;transition:transform .35s ease}.gallery-card:hover img{transform:scale(1.035)}.gallery-card::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 38%,rgba(4,15,35,.82) 100%);z-index:-1}.gallery-card figcaption{position:absolute;left:0;right:0;bottom:0;padding:22px;color:#fff;display:grid;gap:4px}.gallery-card figcaption span{font-size:.7rem;text-transform:uppercase;letter-spacing:.12em;font-weight:800;color:#ffd0a8}.gallery-card figcaption strong{font:700 1.2rem Manrope,sans-serif;letter-spacing:-.035em}.gallery-note{margin:22px 0 0;color:var(--muted);font-size:.84rem;line-height:1.5}@media(max-width:800px){.gallery-grid{grid-template-columns:1fr 1fr;gap:10px}.gallery-card,.gallery-card-featured{grid-column:span 1;grid-row:span 1;min-height:205px}.gallery-card img{min-height:205px}.gallery-card-featured{grid-column:span 2;min-height:310px}.gallery-card-featured img{min-height:310px}.gallery-card figcaption{padding:15px}.gallery-card figcaption strong{font-size:1rem}}
.contact-panel{margin-top:34px}.quote-form{padding:31px;background:#eef1f4;border-radius:9px}.form-heading h3{font:700 1.7rem Manrope,sans-serif;letter-spacing:-.04em;margin:0 0 7px}.form-heading p,.form-note{font-size:.84rem;color:var(--muted);line-height:1.5;margin:0}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.quote-form label{display:block;margin-top:17px;font-size:.79rem;font-weight:700;color:#34445e}.quote-form input,.quote-form select,.quote-form textarea{width:100%;margin-top:7px;border:1px solid #c7d0db;border-radius:5px;background:#fff;padding:12px;font:400 .92rem "DM Sans",sans-serif;color:var(--ink)}.quote-form textarea{resize:vertical}.quote-form button{border:0;margin-top:20px;cursor:pointer;font:700 .94rem "DM Sans",sans-serif}.form-note{margin-top:12px}.service-policy{padding:0 clamp(22px,9vw,145px) 105px}.service-policy details{border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.service-policy summary{padding:23px 0;display:flex;align-items:center;justify-content:space-between;cursor:pointer;list-style:none}.service-policy summary::-webkit-details-marker{display:none}.service-policy summary strong{display:block;font:700 1.1rem Manrope,sans-serif}.service-policy summary small{display:block;color:var(--muted);margin-top:4px}.service-policy summary b{font-size:1.5rem;color:var(--orange);font-weight:400}.service-policy details[open] summary b{transform:rotate(45deg)}.policy-content{max-width:850px;padding:0 0 26px;color:#45546b;line-height:1.65}.policy-content p{margin:0 0 14px}.policy-content strong{color:var(--ink)}@media(max-width:800px){.contact-panel{margin-top:24px}.form-grid{grid-template-columns:1fr}.service-policy{padding:0 23px 75px}}
