 :root{--navy:#102b3c;--blue:#007ca9;--light:#eff8fc;--orange:#df8c22;--text:#203543}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font:16px/1.65 system-ui,-apple-system,Segoe UI,sans-serif;color:var(--text);background:#fff}a{color:#006b96}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid var(--orange);outline-offset:3px}.skip{position:absolute;left:-999px}.skip:focus{left:1rem;top:1rem;background:white;padding:.5rem;z-index:20}.wrap{max-width:1150px;margin:auto;padding:0 1.25rem}header{background:var(--navy);color:white}header .wrap{display:flex;justify-content:space-between;align-items:center;gap:1rem;flex-wrap:wrap;padding-top:1rem;padding-bottom:1rem}.brand{font-size:1.2rem;font-weight:800;color:white;text-decoration:none}nav{display:flex;gap:1rem;flex-wrap:wrap}nav a{color:white;text-decoration:none}nav a:hover{text-decoration:underline}.hero{background:linear-gradient(130deg,#102b3c,#11638a);color:white;padding:5rem 0}.hero p{max-width:680px}.hero h1{font-size:clamp(2.2rem,5vw,4rem);line-height:1.12;max-width:850px}.button{display:inline-block;border:0;background:var(--orange);color:#142b39;padding:.8rem 1.3rem;font:inherit;font-weight:750;text-decoration:none;border-radius:.35rem;cursor:pointer;margin:.4rem .5rem .4rem 0}.button.alt{background:white}.section{padding:3.5rem 0}.section.alt{background:var(--light)}h2{font-size:clamp(1.7rem,3vw,2.4rem);line-height:1.2}.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:1rem}.card{background:white;border:1px solid #cddfe8;padding:1.3rem;border-radius:.6rem}.card h3{margin-top:0}.card a{font-weight:700}.form{display:grid;gap:1rem;max-width:700px}.form label{display:grid;gap:.25rem;font-weight:650}.form input,.form textarea,.form select{font:inherit;padding:.7rem;border:1px solid #728b99;border-radius:.3rem;width:100%}.muted{color:#536875}.small{font-size:.9rem}footer{background:var(--navy);color:white;padding:2rem 0}footer a{color:white}.notice{border-left:4px solid var(--orange);padding:1rem;background:#fff5e6} @media(max-width:600px){header .wrap{align-items:flex-start;flex-direction:column}.hero{padding:3rem 0}}
/* v1.2 visual direction: accessible, image-forward homepage */
body{font-family:system-ui,-apple-system,Segoe UI,sans-serif}header{position:relative;z-index:5}header .wrap{min-height:76px}.brand{letter-spacing:-.025em}.hero-photo{background:radial-gradient(circle at 78% 36%,#146789 0,transparent 35%),linear-gradient(120deg,#091c2b,#103b53 70%,#0b2434);padding:5.5rem 0 6rem}.hero-layout{display:grid;grid-template-columns:1.35fr .65fr;align-items:center;gap:3rem}.hero-copy h1{font-size:clamp(3.3rem,7vw,6.5rem);letter-spacing:-.055em;line-height:1.01;margin:1.3rem 0 1.6rem}.hero-copy h1 em{color:#ffb34d;font-style:normal}.eyebrow{font-size:.78rem;font-weight:800;letter-spacing:.16em;color:#7ad9f8;text-transform:uppercase}.eyebrow.dark{color:#086e97}.hero-lede{font-size:1.18rem;line-height:1.65;color:#e0edf3}.hero-foot{font-size:.84rem;color:#b7cdd9;margin-top:2rem}.hero-logo{text-align:center}.hero-logo img{max-width:100%;height:auto;object-fit:contain;filter:drop-shadow(0 18px 28px #061923)}.hero-logo span{display:block;font-size:.7rem;font-weight:800;letter-spacing:.23em;color:#91cce2}.button{border-radius:6px;padding:.95rem 1.45rem;transition:transform .15s,filter .15s}.button:hover{transform:translateY(-2px);filter:brightness(1.06)}.section{padding:5.5rem 0}.section h2{font-size:clamp(2rem,4vw,3.35rem);letter-spacing:-.035em;margin:.4rem 0 1rem}.section-intro{max-width:680px;color:#516a78;font-size:1.08rem;margin-bottom:2rem}.service-visuals{grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem}.service-visuals .card{overflow:hidden;padding:0;border:1px solid #d6e3eb;box-shadow:0 12px 30px #0c31400d}.card-photo{height:180px;background-size:cover;background-position:center}.card-body{padding:1.5rem}.card-body h3{font-size:1.4rem;line-height:1.2}.card-body p{font-size:.94rem}.card-dark{background:#102b3c;color:white}.card-dark p{color:#e3f0f6}.card-dark a{color:#7cdbfa}.card-accent{background:#f6e7d1}.all-services{margin-top:1.7rem;font-weight:700}.results-section{background:#f1f7fa}.results-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:2rem}.results-grid figure{margin:0}.comparison{display:grid;grid-template-columns:1fr 1fr;gap:6px}.comparison>div{position:relative;overflow:hidden;border-radius:6px}.comparison img{display:block;width:100%;height:320px;object-fit:cover}.comparison span{position:absolute;top:12px;left:12px;background:#102b3ce6;color:white;padding:5px 10px;font-size:.7rem;font-weight:800;letter-spacing:.08em;border-radius:3px}.comparison>div:last-child span{background:#007ca9}.results-grid figcaption{margin-top:.8rem;font-weight:700}.commercial-banner{background:linear-gradient(115deg,#0a2638,#0d5677);color:white}.commercial-layout{display:flex;justify-content:space-between;align-items:center;gap:2rem}.commercial-layout>div{max-width:700px}.commercial-layout p:not(.eyebrow){color:#d6e7ef}.closing{display:flex;justify-content:space-between;align-items:center;gap:2rem}.closing>div:first-child{max-width:680px}@media(max-width:1000px){.service-visuals{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:700px){.hero-layout{grid-template-columns:1fr}.hero-photo{padding:3.5rem 0}.hero-logo{display:none}.service-visuals,.results-grid{grid-template-columns:1fr}.commercial-layout,.closing{display:block}.comparison img{height:250px}.section{padding:3.5rem 0}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.button{transition:none}.button:hover{transform:none}}

/* V1.3 interior design and lead forms */
.inner-hero{background:linear-gradient(125deg,#0a2536,#124e68);color:white;padding:5rem 0}.inner-hero-layout{display:grid;grid-template-columns:1.2fr .8fr;gap:3rem;align-items:center}.inner-hero h1{font-size:clamp(2.7rem,5.5vw,5rem);line-height:1.05;letter-spacing:-.05em;margin:.8rem 0 1.4rem}.inner-lede{font-size:1.14rem;line-height:1.7;color:#e1eef4;max-width:660px}.inner-hero-image img{display:block;width:100%;height:340px;object-fit:cover;border-radius:12px;box-shadow:0 22px 45px #05192377}.inner-hero-short{padding:3rem 0}.inner-hero-short h1{max-width:800px}.enhanced-form{max-width:840px;padding:2rem;background:white;border:1px solid #d7e4ea;border-radius:12px;box-shadow:0 16px 45px #102b3c12}.enhanced-form label{display:block;font-weight:700;margin-bottom:1rem}.enhanced-form input,.enhanced-form textarea,.enhanced-form select{display:block;width:100%;padding:.85rem;border:1px solid #aabfc9;border-radius:6px;margin-top:.35rem;font:inherit;background:#fff;color:#102b3c}.enhanced-form :is(input,textarea,select):focus-visible{outline:3px solid #29b8e8;outline-offset:1px}.form-pair{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.form-trap{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}.commercial-form-section{background:#eff7fa}.inner-hero + .section{padding-top:4rem}@media(max-width:760px){.inner-hero-layout,.form-pair{grid-template-columns:1fr}.inner-hero{padding:3rem 0}.inner-hero-image img{height:240px}.enhanced-form{padding:1.25rem}}

/* V1.4: mobile usability, touch targets, focus and print */
nav a{display:inline-flex;align-items:center;min-height:44px;padding:.2rem .35rem}
@media(max-width:600px){header .wrap{gap:.5rem}header nav{width:100%;display:flex;gap:.2rem .75rem}header nav a{font-size:.9rem}.hero-logo{display:block;max-width:190px;margin:1rem auto 0}.hero-logo img{max-height:170px}.hero-logo span{font-size:.58rem}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.01ms!important;transition-duration:.01ms!important}}
@media print{header nav,.button{display:none!important}.hero,.inner-hero,.commercial-banner{background:#fff!important;color:#000!important}}

.content-narrow{max-width:850px}.content-narrow h2{margin:1.5rem 0 .65rem}.content-narrow h3{margin:1.25rem 0 .5rem}.content-narrow p{line-height:1.75;margin-bottom:1rem}

/* Accessibility and touch ergonomics pass (v2.0). */
nav a[aria-current="page"]{text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:.3em}
.form :is(input,select,textarea):invalid:not(:placeholder-shown){border-color:#8b3940}
@media (pointer:coarse){nav a{min-height:44px}.button{min-height:44px}}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

/* v2.1: useful commercial detail and native, keyboard-accessible FAQ */
.detail-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;margin:1.5rem 0}
.detail-card{background:#fff;border:1px solid #d3e3eb;border-radius:10px;padding:1.4rem}
.detail-card h3{font-size:1.25rem;line-height:1.3;margin:0 0 .55rem}
.detail-card p{margin:0}.faq-item{border-bottom:1px solid #d4e2e9;padding:.75rem 0}.faq-item summary{font-weight:750;cursor:pointer;padding:.6rem 0}.faq-item summary:focus-visible{outline:3px solid #df8c22;outline-offset:3px}.faq-item p{margin:.4rem 0 1rem}
@media(max-width:700px){.detail-grid{grid-template-columns:1fr}}

/* Service-page education and accessible FAQ panels */
.service-detail{margin:2.5rem 0 1.75rem;padding-top:1rem;border-top:1px solid rgba(128,128,128,.25)}
.service-detail h2{margin-top:2rem}.service-detail h3{margin:1.35rem 0 .4rem}.service-detail p{line-height:1.7}
.service-faq{border-bottom:1px solid rgba(128,128,128,.3);padding:.9rem 0}.service-faq summary{cursor:pointer;font-weight:700;line-height:1.5}.service-faq summary:focus-visible{outline:3px solid #f2a93b;outline-offset:4px}.service-faq p{margin:.65rem 0 .25rem}

/* Clear next-step call to action at the end of each service page. */
.service-estimate-next{background:#eaf2f6;color:#102b3c}
.service-estimate-next .wrap{max-width:900px}
.service-estimate-next h2{color:#102b3c}
.service-estimate-next p{max-width:65ch;line-height:1.7}

/* Secondary estimate action in the service directory. */
.service-quote-link{display:inline-block;margin-top:.8rem;font-weight:700;text-decoration:underline;text-underline-offset:.2em}
.service-quote-link:focus-visible{outline:3px solid currentColor;outline-offset:4px}

/* v2.6 responsive visual polish; no image URL or hosting changes */
:root{--surface:#f5f9fb;--ink:#102b3c}
body{overflow-wrap:break-word;-webkit-font-smoothing:antialiased}
.wrap{width:100%;max-width:1180px}
header{box-shadow:0 2px 18px rgba(3,21,32,.12)}
header .brand{font-size:clamp(1.05rem,2vw,1.3rem);line-height:1.25}
nav{align-items:center}nav a{border-radius:5px}nav a:hover{background:rgba(255,255,255,.1)}
.hero-photo{position:relative;isolation:isolate;overflow:hidden}
.hero-photo:after{content:'';position:absolute;z-index:-1;width:34rem;height:34rem;border:1px solid rgba(128,217,248,.14);border-radius:50%;right:-12rem;top:-12rem;box-shadow:0 0 0 6rem rgba(128,217,248,.035),0 0 0 12rem rgba(128,217,248,.025)}
.hero-copy h1{max-width:13ch;text-wrap:balance}.hero-lede{max-width:59ch}
.hero-actions{display:flex;flex-wrap:wrap;align-items:center;gap:.35rem}.hero-actions .button{margin:0}
.button{line-height:1.35;text-align:center;min-height:48px;display:inline-flex;align-items:center;justify-content:center}
.card{transition:box-shadow .2s ease,transform .2s ease}.card:focus-within{box-shadow:0 10px 35px rgba(8,47,68,.13)}
.card-photo{background-color:#dcebf1}.card-body{display:flex;flex-direction:column;align-items:flex-start;min-height:210px}.card-body a{margin-top:auto}
.service-visuals .card{display:flex;flex-direction:column}.service-visuals .card-body{flex:1}
.results-grid figure{min-width:0}.comparison img{aspect-ratio:3/4;height:auto;max-height:340px}
.inner-hero-image img{height:auto;aspect-ratio:4/3;max-height:380px}.inner-hero h1{text-wrap:balance}
.enhanced-form{width:100%}.enhanced-form :is(input,select,textarea){min-height:46px}.enhanced-form textarea{min-height:130px}
.section h2{text-wrap:balance}.section-intro{max-width:66ch}
footer .wrap{max-width:1180px}footer p{max-width:75ch}
@media(hover:hover) and (prefers-reduced-motion:no-preference){.service-visuals .card:hover{transform:translateY(-3px);box-shadow:0 16px 38px rgba(8,47,68,.14)}}
@media(max-width:900px){.hero-layout{grid-template-columns:1.2fr .8fr;gap:1.5rem}.hero-copy h1{font-size:clamp(2.8rem,7vw,5rem)}.inner-hero-layout{gap:1.5rem}}
@media(max-width:700px){.hero-layout,.inner-hero-layout{grid-template-columns:1fr}.hero-copy h1{font-size:clamp(2.65rem,12vw,4.2rem)}.hero-photo:after{width:18rem;height:18rem;right:-9rem}.hero-logo{max-width:170px}.service-visuals{grid-template-columns:repeat(2,minmax(0,1fr))}.service-visuals .card-body{min-height:0}.card-photo{height:150px}.comparison img{max-height:290px}.inner-hero-image img{max-height:260px}}
@media(max-width:520px){.wrap{padding-left:1rem;padding-right:1rem}.service-visuals{grid-template-columns:1fr}.card-photo{height:200px}.hero-actions{display:grid;grid-template-columns:1fr}.hero-actions .button{width:100%}.hero-foot{line-height:1.5}.comparison{gap:4px}.comparison img{max-height:230px}.comparison span{top:6px;left:6px;font-size:.62rem;padding:4px 6px}.enhanced-form{padding:1rem}.section{padding:3rem 0}nav{gap:.15rem .5rem}nav a{font-size:.88rem}}
@media(prefers-reduced-motion:reduce){.card{transition:none}}

/* Semantic service images */
.card-photo{overflow:hidden}.card-photo img{display:block;width:100%;height:100%;object-fit:cover}

/* V3.0: substantive visual system redesign. All photos remain at their existing URLs. */
:root{--navy:#071521;--blue:#0d94c6;--light:#f0f4f6;--orange:#f2a93c;--text:#162b38;--muted:#536a77}
body{background:#f7f9fa;color:var(--text);font-family:system-ui,-apple-system,"Segoe UI",sans-serif;letter-spacing:-.012em}
.wrap{max-width:1280px;padding-inline:clamp(1.15rem,4vw,3rem)}
header{background:#071521;position:relative;border-bottom:1px solid #ffffff1b;box-shadow:none}
header .wrap{min-height:94px;gap:2rem}header .brand{font-size:clamp(1.25rem,2vw,1.7rem);font-weight:900;letter-spacing:-.055em;max-width:230px;line-height:1.05}
nav{gap:.4rem}nav a{padding:.55rem .8rem;font-size:.9rem;font-weight:700;color:#d6e5ee;transition:background .15s,color .15s}
nav a:last-child{background:#f2a93c;color:#071521;padding:.6rem 1rem;border-radius:3px}nav a:last-child:hover{background:#ffd184;color:#071521}
nav a[aria-current="page"]{text-decoration:none;color:#fff;border-bottom:2px solid #f2a93c}
.hero-redesign{background:#071521;min-height:670px;position:relative;isolation:isolate;display:flex;align-items:center;padding:6.5rem 0 7rem}
.hero-redesign::before{content:"";position:absolute;inset:0;z-index:-2;background:linear-gradient(90deg,#06131ff7 0%,#06131ff0 38%,#06131fa6 67%,#06131f82 100%),url('https://i.postimg.cc/HkTqgzN1/20250901-122200.jpg') center 42%/cover no-repeat}
.hero-redesign::after{content:"";position:absolute;inset:auto 0 0;height:6px;background:linear-gradient(90deg,#f2a93c 0 20%,#0d94c6 20% 100%);z-index:-1}
.hero-redesign .hero-layout{grid-template-columns:minmax(0,1fr) minmax(170px,.42fr);gap:2rem}
.hero-redesign .hero-copy h1{font-weight:900;max-width:12ch;font-size:clamp(3.8rem,7.2vw,7.8rem);letter-spacing:-.075em;line-height:.96;margin:1.5rem 0 1.8rem}
.hero-redesign .hero-copy h1 em{color:#f2a93c;display:block}
.hero-redesign .hero-lede{max-width:55ch;color:#e4edf1;font-size:clamp(1.08rem,1.6vw,1.3rem);line-height:1.65}
.eyebrow{font-size:.76rem;letter-spacing:.21em;font-weight:900;color:#8ddff6}
.eyebrow.dark{color:#086e97}.hero-redesign .hero-foot{margin-top:2.5rem;letter-spacing:.14em;font-size:.72rem;font-weight:800;color:#d0dfe7;line-height:1.8}
.hero-brand-mark{align-self:center;padding:1.5rem;background:#071521a8;border:1px solid #ffffff24;backdrop-filter:blur(8px);transform:rotate(2deg);box-shadow:0 30px 70px #0007}
.hero-brand-mark img{max-height:310px;width:auto}.hero-brand-mark span{margin-top:1rem}
.button{background:#f2a93c;color:#091824;border-radius:3px;min-height:55px;padding:1rem 1.5rem;font-weight:900;letter-spacing:.015em;box-shadow:none}
.button.alt{background:transparent;color:#fff;border:1px solid #ffffff8a}.button.alt:hover{background:#ffffff18}
.trust-strip{background:#0c2636;color:#fff}.trust-strip-inner{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem;padding-block:1.65rem}
.trust-item{border-left:2px solid #f2a93c;padding-left:1.2rem;display:flex;flex-direction:column;gap:.35rem}.trust-item strong{font-size:.75rem;letter-spacing:.12em}.trust-item span{font-size:.88rem;color:#bbd0da}
.section{padding:clamp(4.5rem,8vw,7rem) 0}.section h2{font-weight:900;font-size:clamp(2.4rem,4.5vw,4.2rem);letter-spacing:-.06em;line-height:1.07;max-width:19ch}
.section-index{color:#f2a93c;margin-right:.8rem}.section-intro{font-size:1.15rem;line-height:1.7}
.service-visuals{gap:1.3rem}.service-visuals .card{border:0;border-radius:2px;box-shadow:0 14px 45px #061b2717;background:#fff}
.service-visuals .card-photo{height:250px}.service-visuals .card-body{padding:1.7rem;min-height:240px}.service-visuals .card h3{font-size:1.55rem;font-weight:900;letter-spacing:-.04em}
.service-visuals .card a{color:#086b91;text-decoration:none;border-bottom:2px solid #f2a93c;padding-bottom:.2rem}.service-visuals .card-dark{background:#0c2636;color:white}.service-visuals .card-dark a{color:#9de5fb}.service-visuals .card-accent{background:#f1dfc4}
.results-section{background:#e9f0f3}.results-grid{gap:2rem}.results-grid figure{background:#fff;padding:1rem;box-shadow:0 14px 40px #0c31401a}.comparison img{max-height:450px;aspect-ratio:3/4}.comparison>div{border-radius:1px}.results-grid figcaption{padding:.4rem .2rem .2rem;font-size:1rem}
.commercial-banner{background:linear-gradient(105deg,#061521,#103c52);border-top:6px solid #0d94c6}.commercial-banner h2{max-width:16ch}.commercial-banner .button{flex-shrink:0}
.final-cta{background:#0a1b29;color:white}.final-cta h2{color:white}.final-cta p{color:#d2e0e7}.final-cta a:not(.button){color:#8cddf5}
.inner-hero{background:linear-gradient(100deg,#071521,#103a50);border-bottom:5px solid #0d94c6}.inner-hero h1{font-weight:900;letter-spacing:-.065em}.inner-hero-image img{border-radius:3px;box-shadow:18px 18px 0 #0d94c655}
.card,.detail-card{border-radius:3px}.enhanced-form{border-radius:3px;box-shadow:0 20px 55px #0b28361a}
footer{background:#06131f;border-top:4px solid #f2a93c}
@media(max-width:900px){header .wrap{min-height:78px}.hero-redesign{min-height:600px}.hero-redesign .hero-copy h1{font-size:clamp(3.2rem,8vw,5.4rem)}.hero-brand-mark img{max-height:210px}.service-visuals{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:700px){header .wrap{gap:.7rem}nav{width:100%;gap:.2rem}nav a{font-size:.8rem;padding:.4rem .55rem}nav a:last-child{padding:.45rem .65rem}.hero-redesign{min-height:0;padding:4.2rem 0 4.8rem}.hero-redesign .hero-layout{grid-template-columns:1fr}.hero-redesign .hero-copy h1{font-size:clamp(3.1rem,12vw,5.2rem)}.hero-brand-mark{max-width:190px;justify-self:start;transform:none}.hero-brand-mark img{max-height:130px}.trust-strip-inner{grid-template-columns:1fr;gap:1rem}.service-visuals{grid-template-columns:1fr}.service-visuals .card-photo{height:240px}.service-visuals .card-body{min-height:0}.section h2{font-size:clamp(2.2rem,9vw,3.2rem)}.commercial-layout{display:block}}
@media(prefers-reduced-motion:reduce){nav a{transition:none}}

/* v3.1: prevent mobile horizontal scrolling and preserve image proportions */
html,body{max-width:100%;overflow-x:clip}
.wrap,.hero-layout,.inner-hero-layout,.commercial-layout,.results-grid,.service-visuals{min-width:0}
img,svg,video{max-width:100%}
.hero-brand-mark img{height:auto;object-fit:contain}
@media(max-width:700px){
 header .wrap{width:100%;min-width:0}
 header nav{max-width:100%;min-width:0;flex-wrap:wrap;justify-content:flex-start}
 header nav a{max-width:100%;white-space:normal}
 .hero-redesign .hero-layout,.hero-layout,.inner-hero-layout,.results-grid,.service-visuals,.trust-strip-inner{grid-template-columns:minmax(0,1fr)}
 .hero-redesign .hero-copy h1{font-size:clamp(2.4rem,10vw,3.8rem);overflow-wrap:anywhere}
 .hero-brand-mark{max-width:min(190px,100%)}
 .results-grid figure{min-width:0;margin:0}
 .comparison img{width:100%;height:auto;object-fit:contain;aspect-ratio:auto}
 .card-photo img{object-fit:cover}
 .commercial-banner .wrap{min-width:0}
}

/* V3.2: consistent premium interior visual language, with mobile-first sizing */
.inner-hero{position:relative;isolation:isolate;overflow:hidden;background:linear-gradient(120deg,#071521 0%,#0c3044 78%,#0b4760 100%);padding:clamp(3.4rem,7vw,6.5rem) 0}
.inner-hero:after{content:"";position:absolute;inset:auto 0 0;height:5px;background:linear-gradient(90deg,#f2a93c 0 24%,#0d94c6 24% 100%)}
.inner-hero .eyebrow{color:#9ae6ff}
.inner-hero h1{font-size:clamp(2.5rem,5.5vw,5.4rem);max-width:16ch;line-height:1.04;text-wrap:balance}
.inner-hero .inner-lede{color:#e1edf3;font-size:clamp(1.06rem,1.6vw,1.25rem)}
.inner-hero-image{min-width:0}
.inner-hero-image img{aspect-ratio:5/4;object-fit:cover;box-shadow:12px 12px 0 #0d94c64d}
.section.alt{background:#eaf1f5}
.content-narrow{max-width:940px}
.content-narrow h2{font-size:clamp(1.8rem,3.2vw,2.7rem);letter-spacing:-.045em;line-height:1.15;color:#102b3c}
.content-narrow h3{font-size:clamp(1.2rem,2.1vw,1.5rem);letter-spacing:-.025em;color:#12364a}
.content-narrow p,.content-narrow li{line-height:1.8}
.detail-grid{gap:1.2rem}.detail-card{border:1px solid #dce7eb;box-shadow:0 10px 28px #0c31400c;padding:clamp(1.3rem,3vw,2rem)}
.service-detail{border-top:3px solid #0d94c6;padding-top:1.5rem}
.service-faq,.faq-item{background:#fff;border:1px solid #dce6eb;padding:0 1.2rem;margin:.7rem 0;border-radius:3px}
.service-faq summary,.faq-item summary{padding:1.1rem .2rem;font-weight:800;color:#12364a}
.service-faq[open],.faq-item[open]{border-left:4px solid #f2a93c}
.service-estimate-next{background:#0a2232;color:#fff;border-top:5px solid #0d94c6}
.service-estimate-next h2,.service-estimate-next p{color:#fff}
.enhanced-form{border-top:5px solid #0d94c6}
.enhanced-form .button{width:fit-content}
@media(max-width:700px){
 .inner-hero{padding:3rem 0 3.5rem}.inner-hero h1{font-size:clamp(2.3rem,10vw,3.6rem)}
 .inner-hero-image img{aspect-ratio:16/10;max-height:280px;box-shadow:7px 7px 0 #0d94c64d}
 .content-narrow h2{font-size:clamp(1.8rem,8vw,2.5rem)}
 .service-faq,.faq-item{padding:0 .85rem}.enhanced-form .button{width:100%}
}


/* V3.3: visual storytelling and commercial conversion */
.results-section{background:linear-gradient(180deg,#edf4f7,#fff)}
.results-section .results-grid{gap:clamp(1rem,3vw,2.2rem)}
.results-grid figure{background:#fff;border:1px solid #d7e3e9;box-shadow:0 22px 50px rgba(8,33,48,.1);padding:clamp(.65rem,1.5vw,1.1rem);border-radius:12px;overflow:hidden}
.results-grid figcaption{padding:1rem .5rem .35rem;font-weight:700;color:#17384a}
.result-controls{display:none;gap:.45rem;margin-top:.8rem;padding:.3rem;border-radius:9px;background:#e9f1f5}
.js .result-controls{display:grid;grid-template-columns:1fr 1fr}
.result-button{min-height:46px;border:0;border-radius:7px;background:transparent;color:#12364b;font:inherit;font-weight:800;cursor:pointer}
.result-button[aria-pressed="true"]{background:#0b344b;color:white;box-shadow:0 3px 10px #07233430}
.result-button:focus-visible{outline:3px solid #e9a33a;outline-offset:2px}
.js .result-toggle{display:block}
.js .result-toggle>div{display:none}
.js .result-toggle[data-view="before"]>div:first-child,.js .result-toggle[data-view="after"]>div:nth-child(2){display:block}
.js .result-toggle img{display:block;width:100%;height:auto;max-height:440px;object-fit:contain;background:#edf1f3}
.commercial-proof-section{background:#081d2c;color:#f2f8fb;padding:clamp(3.5rem,7vw,6rem) 0;border-top:5px solid #1394c5}
.commercial-proof-heading{max-width:830px;margin-bottom:2rem}
.commercial-proof-heading .eyebrow{color:#7ed5f3}
.commercial-proof-heading h2{font-size:clamp(2rem,4.5vw,3.6rem);line-height:1.1;letter-spacing:-.04em;color:#fff;margin:.6rem 0 1rem}
.commercial-proof-heading p{font-size:1.1rem;color:#c2d6df;line-height:1.7}
.commercial-proof-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}
.commercial-proof-grid article{min-width:0;padding:clamp(1.25rem,2.5vw,2rem);background:#103449;border:1px solid #2d5265;border-radius:10px}
.commercial-proof-grid h3{font-size:1.25rem;color:#fff;margin:.8rem 0}
.commercial-proof-grid p{color:#c9dce5;line-height:1.65;margin:0}
.proof-num{display:inline-block;color:#f2b34e;font-weight:900;font-size:1.6rem;letter-spacing:-.04em}
.commercial-proof-action{display:flex;gap:1.3rem;align-items:center;flex-wrap:wrap;margin-top:2rem}
.proof-link{color:#c6ecfc;font-weight:800;text-underline-offset:4px}
@media(max-width:750px){.commercial-proof-grid{grid-template-columns:minmax(0,1fr)}.commercial-proof-section{padding:3.4rem 0}.commercial-proof-action .button{width:100%;text-align:center}.js .result-toggle img{max-height:340px}}


/* V3.4: stronger composition, readable mobile typography and restrained depth */
:root{--ink:#081b29;--electric:#17a4d4;--gold:#f2b34e}
body{overflow-wrap:break-word}main,section,.wrap,.cards,.card,.hero-copy{min-width:0}
.hero-redesign{position:relative;isolation:isolate;overflow:hidden;background:radial-gradient(ellipse at 82% 32%,#126d8a88,transparent 40%),linear-gradient(118deg,#061622 5%,#0b3148 72%,#092435)}
.hero-redesign:before{content:"";position:absolute;inset:0;z-index:-1;opacity:.2;background:repeating-linear-gradient(125deg,transparent 0 62px,#58bfe522 63px 64px)}
.hero-redesign .hero-copy h1{max-width:12ch;text-wrap:balance;text-shadow:0 6px 26px #0004}
.hero-redesign .hero-lede{max-width:53ch}
.hero-actions{display:flex;align-items:center;flex-wrap:wrap;gap:.45rem}
.hero-actions .button{margin:0}
.hero-brand-mark{position:relative;padding:clamp(1rem,3vw,2rem);border:1px solid #8ed9f12b;border-radius:20px;background:radial-gradient(circle,#1a5b78aa,transparent 75%);box-shadow:0 25px 70px #0004}
.hero-brand-mark img{width:100%;height:auto;max-height:340px;object-fit:contain}
.section-index{color:#0a83b0;font-weight:900}
.section h2,.commercial-proof-heading h2{text-wrap:balance}
.service-visuals .card{transition:transform .2s ease,box-shadow .2s ease}
.service-visuals .card:hover{transform:translateY(-4px);box-shadow:0 20px 44px #0a263324}
.service-visuals .card-photo{height:auto;aspect-ratio:8/5;overflow:hidden}
.service-visuals .card-photo img{width:100%;height:100%;object-fit:cover;display:block}
.service-visuals .card-dark{background:linear-gradient(145deg,#082032,#0b4a66)}
.service-visuals .card-accent{background:linear-gradient(150deg,#f8e5c6,#fff4e3)}
.results-grid figure{min-width:0}
.results-grid .comparison{min-width:0}
.results-grid .comparison>div{min-width:0}
.result-toggle img{aspect-ratio:4/3;object-fit:contain;background:#e9eff2}
.commercial-proof-grid article{border-top:3px solid #20a0cc}
.final-cta{background:linear-gradient(120deg,#f3f8fa,#e2f0f5);color:#203543}
.final-cta h2{color:#102b3c}
.final-cta p{color:#354f60}
.final-cta .eyebrow.dark{color:#086e97}
.final-cta a:not(.button){color:#00658b}
@media(max-width:760px){
 .hero-redesign{padding:3.1rem 0 3.4rem}
 .hero-redesign .hero-copy h1{font-size:clamp(2.6rem,11vw,4rem);max-width:13ch;overflow-wrap:normal}
 .hero-actions{display:grid;grid-template-columns:1fr;gap:.7rem}
 .hero-actions .button{width:100%;text-align:center;white-space:normal}
 .hero-brand-mark{max-width:240px;margin:1.5rem auto 0}
 .service-visuals .card-photo{aspect-ratio:16/10}
 .results-grid .comparison img{height:auto;max-height:330px;object-fit:contain}
 .wrap{width:100%;max-width:100%}
}
@media(max-width:380px){.hero-redesign .hero-copy h1{font-size:clamp(2.2rem,10.6vw,3rem)}.result-controls{gap:.2rem}}
@media(prefers-reduced-motion:reduce){.service-visuals .card{transition:none}.service-visuals .card:hover{transform:none}}


/* v3.5: commercial buyer journey and service-specific estimate routes */
.scope-band{background:#082637;color:#eaf6fc;border-top:4px solid #20a3d2;padding:clamp(2.5rem,5vw,4.5rem) 0}
.scope-band h2{color:#fff;max-width:19ch;font-size:clamp(1.8rem,3.7vw,3rem);line-height:1.12;margin:.5rem 0 1rem}
.scope-band p{color:#c8dfe9;max-width:66ch;line-height:1.7}
.scope-band-grid{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:clamp(1.5rem,4vw,4rem);align-items:center}
.scope-list{list-style:none;margin:0;padding:0;display:grid;gap:.75rem}
.scope-list li{background:#124056;border:1px solid #376074;padding:1rem 1.1rem;border-radius:9px;color:#f0f9fd}
.scope-list li:before{content:'✓';color:#f2b34e;font-weight:900;margin-right:.7rem}
.scope-band .button{margin-top:1rem}
.service-next{background:#e9f3f7;padding:clamp(2.5rem,5vw,4rem) 0;border-top:1px solid #c6dce5}
.service-next h2{font-size:clamp(1.7rem,3vw,2.4rem);margin:.3rem 0 1rem;color:#0b3146}
.service-next p{max-width:62ch}
.service-next-actions{display:flex;flex-wrap:wrap;gap:.75rem;margin-top:1.4rem}
.service-next-actions .button{margin:0}
@media(max-width:760px){.scope-band-grid{grid-template-columns:1fr}.scope-band .button,.service-next-actions .button{width:100%;text-align:center}.scope-list li{padding:.85rem}}
@media(prefers-reduced-motion:reduce){html:focus-within{scroll-behavior:auto}}

.card .service-quote-link{display:block;width:fit-content;margin-top:1rem}
.service-comparison .result-toggle img{height:400px;max-height:none;aspect-ratio:auto;object-fit:contain;box-shadow:none}
.service-comparison .result-controls{margin-top:.8rem}
@media(max-width:760px){.service-comparison .result-toggle img{height:320px;max-height:none}}

/* Give the original logo more presence alongside the homepage headline. */
@media(min-width:761px){
 .hero-redesign .hero-layout{grid-template-columns:minmax(0,1fr) minmax(0,.65fr)}
 .hero-brand-mark{padding:1.25rem}
 .hero-brand-mark img{max-height:440px}
}
@media(max-width:760px){
 .hero-redesign .hero-brand-mark{display:block;width:min(300px,100%);max-width:300px;justify-self:center;padding:1rem}
 .hero-redesign .hero-brand-mark img{max-height:260px}
}
