:root{--navy:#082b66;--navy2:#0d3a80;--green:#0a8a3b;--green2:#087332;--gold:#f4b400;--ink:#1e2c3f;--muted:#4d5f74;--cream:#f5f7f3;--soft:#eef4fb;--white:#fff;--line:#dbe3ea;--shadow:0 16px 38px rgba(8,43,102,.13);--radius:18px}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--ink);background:#fff;line-height:1.62}img{max-width:100%;display:block}a{color:inherit}.container{width:min(1180px,92%);margin:auto}.topbar{background:var(--navy);color:#fff;font-size:.92rem}.topbar .container{display:flex;justify-content:space-between;gap:1rem;padding:.5rem 0}.topbar a{text-decoration:none;font-weight:800}.site-header{position:sticky;top:0;z-index:40;background:rgba(255,255,255,.97);backdrop-filter:blur(10px);border-bottom:1px solid rgba(8,43,102,.08)}.nav-wrap{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.62rem 0}.brand img{width:250px;height:auto}.nav{display:flex;align-items:center;gap:.35rem}.nav a{text-decoration:none;font-weight:800;font-size:.88rem;padding:.62rem .5rem;color:var(--navy);white-space:nowrap}.nav a:hover,.nav a[aria-current="page"]{color:var(--green)}.nav .cta{background:var(--green);color:#fff;border-radius:999px;padding:.7rem .95rem;margin-left:.2rem}.menu-btn{display:none;border:1px solid var(--line);background:#fff;border-radius:10px;padding:.5rem .68rem;font-size:1.15rem;color:var(--navy)}
.hero{position:relative;min-height:650px;display:grid;align-items:center;color:#fff;background:linear-gradient(90deg,rgba(4,28,68,.94),rgba(4,28,68,.72) 50%,rgba(4,28,68,.22)),url('../img/hero.webp') center/cover}.hero .content{max-width:790px;padding:4.6rem 0}.eyebrow{text-transform:uppercase;letter-spacing:.12em;font-size:.79rem;font-weight:900;color:#ffd561}.eyebrow.green{color:var(--green)}.hero h1,.page-hero h1{font-family:Georgia,"Times New Roman",serif;font-size:clamp(2.8rem,6vw,5.15rem);line-height:1.02;margin:.4rem 0 1.15rem}.hero p{font-size:1.18rem;max-width:710px;color:#eef3fb}.btns{display:flex;flex-wrap:wrap;gap:.8rem;margin-top:1.5rem}.btn{display:inline-flex;align-items:center;justify-content:center;text-decoration:none;font-weight:900;border-radius:999px;padding:.9rem 1.2rem;border:2px solid transparent}.btn-primary{background:var(--gold);color:#10254b}.btn-secondary{border-color:#fff;color:#fff}.btn-green{background:var(--green);color:#fff}.btn-outline{border-color:var(--navy);color:var(--navy);background:#fff}.btn-small{padding:.72rem 1rem;font-size:.92rem}.section{padding:5rem 0}.section.tight{padding:3.5rem 0}.section.alt{background:var(--cream)}.section.soft{background:var(--soft)}.section h2{font-family:Georgia,"Times New Roman",serif;color:var(--navy);font-size:clamp(2rem,4vw,3.15rem);line-height:1.1;margin:.2rem 0 1rem}.section h3{line-height:1.25}.lead{font-size:1.12rem;color:var(--muted);max-width:800px}.subcopy{max-width:850px;color:var(--muted)}.grid-2{display:grid;grid-template-columns:repeat(2,1fr);gap:1.25rem}.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:1.2rem}.grid-4{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem}.card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:1.5rem;box-shadow:0 8px 28px rgba(8,43,102,.07)}.card h3{color:var(--navy);margin:.25rem 0 .55rem}.card p{color:var(--muted)}.service-card{overflow:hidden;padding:0}.service-card img{width:100%;height:220px;object-fit:cover}.service-card .body{padding:1.35rem}.service-card a,.text-link{text-decoration:none;color:var(--green);font-weight:900}.service-card:hover{transform:translateY(-2px);box-shadow:var(--shadow);transition:.2s}.split{display:grid;grid-template-columns:1.03fr .97fr;align-items:center;gap:3rem}.split.reverse{grid-template-columns:.97fr 1.03fr}.split img{border-radius:var(--radius);box-shadow:var(--shadow);width:100%;max-height:540px;object-fit:cover}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem;margin-top:2rem}.stat{padding:1.15rem;border-left:4px solid var(--gold);background:#fff;border-radius:10px;box-shadow:0 6px 20px rgba(8,43,102,.07)}.stat b{display:block;color:var(--navy);font-size:1.08rem}.process{counter-reset:steps;display:grid;grid-template-columns:repeat(4,1fr);gap:1rem;margin-top:2rem}.step{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:1.4rem}.step:before{counter-increment:steps;content:counter(steps);display:grid;place-items:center;width:42px;height:42px;border-radius:50%;background:var(--navy);color:#fff;font-weight:900;margin-bottom:.8rem}.gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;margin-top:2rem}.gallery figure{margin:0;position:relative;overflow:hidden;border-radius:16px;background:#ddd}.gallery img{width:100%;aspect-ratio:4/3;object-fit:cover;transition:transform .25s}.gallery figure:hover img{transform:scale(1.025)}.gallery figcaption{position:absolute;left:0;right:0;bottom:0;padding:2rem 1rem .8rem;background:linear-gradient(transparent,rgba(0,0,0,.76));color:#fff;font-weight:900}.cta-band{background:linear-gradient(135deg,var(--navy),var(--navy2));color:#fff}.cta-band h2{color:#fff}.page-hero{background:linear-gradient(135deg,var(--navy),var(--navy2));color:#fff;padding:4.8rem 0 3.7rem}.page-hero p{max-width:800px;color:#e8eef8;font-size:1.12rem}.page-hero .breadcrumbs{color:#c8d6ec}.page-hero .breadcrumbs a{color:#fff}.feature-list{display:grid;grid-template-columns:repeat(2,1fr);gap:.7rem 1.5rem;padding:0;list-style:none;margin:1.5rem 0}.feature-list li{position:relative;padding-left:1.7rem;color:var(--ink)}.feature-list li:before{content:'✓';position:absolute;left:0;color:var(--green);font-weight:900}.quote{font-family:Georgia,"Times New Roman",serif;font-size:1.5rem;line-height:1.35;color:var(--navy);border-left:5px solid var(--gold);padding-left:1.15rem;margin:1.4rem 0}.service-banner{display:grid;grid-template-columns:1.05fr .95fr;gap:2.4rem;align-items:center}.service-banner img{border-radius:16px;box-shadow:var(--shadow);width:100%;max-height:520px;object-fit:cover}.option-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;margin-top:1.8rem}.option{border-top:5px solid var(--green);background:#fff;border-radius:14px;padding:1.3rem;box-shadow:0 8px 26px rgba(8,43,102,.07)}.option h3{color:var(--navy);margin:.2rem 0 .55rem}.option p{color:var(--muted);margin-bottom:.4rem}.benefit-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;margin-top:1.8rem}.benefit{background:#fff;border:1px solid var(--line);border-radius:14px;padding:1.3rem}.benefit b{display:block;color:var(--navy);font-size:1.08rem;margin-bottom:.35rem}.buying-guide{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem;margin-top:1.7rem}.guide-item{border-left:5px solid var(--gold);background:#fff;border-radius:12px;padding:1.15rem 1.25rem}.guide-item h3{color:var(--navy);margin:.1rem 0 .35rem}.guide-item p{margin:.2rem 0;color:var(--muted)}.product-callout{background:linear-gradient(135deg,#f7fbff,#eef6ff);border:1px solid #ccdcef;border-radius:var(--radius);padding:1.5rem}.product-callout strong{color:var(--navy)}.resource-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem;margin-top:1.5rem}.resource-card{background:#fff;border:1px solid var(--line);border-radius:14px;padding:1.3rem;box-shadow:0 8px 24px rgba(8,43,102,.06)}.resource-card h3{color:var(--navy);margin:.15rem 0 .45rem}.resource-card p{color:var(--muted)}.resource-card .tag{display:inline-block;background:#eaf6ef;color:var(--green2);font-weight:900;font-size:.76rem;border-radius:999px;padding:.3rem .55rem;margin-bottom:.5rem}.manufacturer-note{font-size:.93rem;color:var(--muted);border-top:1px solid var(--line);padding-top:1rem;margin-top:1rem}.faq{display:grid;gap:.75rem;margin-top:1.4rem}.faq details{background:#fff;border:1px solid var(--line);border-radius:12px;padding:1rem 1.1rem}.faq summary{cursor:pointer;font-weight:900;color:var(--navy)}.faq p{color:var(--muted);margin-bottom:.2rem}.compare{overflow-x:auto}.compare table{width:100%;border-collapse:collapse;margin-top:1.5rem;background:#fff;border-radius:14px;overflow:hidden}.compare th,.compare td{padding:1rem;border-bottom:1px solid var(--line);text-align:left;vertical-align:top}.compare th{background:#eef4fb;color:var(--navy)}.compare tr:last-child td{border-bottom:0}.pill{display:inline-block;border-radius:999px;padding:.35rem .7rem;background:#eef4fb;color:var(--navy);font-weight:800;font-size:.84rem;margin:.15rem .25rem .15rem 0}.embed{border:1px solid var(--line);border-radius:18px;overflow:hidden;box-shadow:var(--shadow);background:#fff}.embed iframe{width:100%;height:650px;border:0}.notice{background:#fff8db;border:1px solid #efd884;border-radius:14px;padding:1rem 1.15rem;color:#5e4a05}.footer{background:#071d40;color:#dbe5f5;padding:3.4rem 0 1.4rem}.footer-grid{display:grid;grid-template-columns:1.35fr 1fr 1fr;gap:2rem}.footer .logo{background:#fff;border-radius:12px;padding:.55rem;display:inline-block}.footer .logo img{width:240px}.footer a{color:#dbe5f5;text-decoration:none}.footer h3{color:#fff}.footer .fine{border-top:1px solid rgba(255,255,255,.14);margin-top:2rem;padding-top:1rem;color:#a9b9d0;font-size:.9rem}.mobile-bar{display:none}.breadcrumbs{font-size:.9rem;color:#677a90}.breadcrumbs a{text-decoration:none;color:var(--green)}.kicker-band{background:#0c356f;color:#fff;padding:1rem 0}.kicker-band .container{display:flex;gap:1rem;justify-content:space-between;align-items:center}.kicker-band strong{font-family:Georgia,"Times New Roman",serif;font-size:1.2rem}.kicker-band a{color:#fff;font-weight:900}.visual-note{background:#f7f9fc;border:1px dashed #adc0d5;border-radius:14px;padding:1.2rem;color:var(--muted)}
@media(max-width:1060px){.nav{gap:.1rem}.nav a{font-size:.82rem;padding:.55rem .38rem}.brand img{width:220px}}
@media(max-width:960px){.nav{display:none;position:absolute;top:100%;left:0;right:0;background:#fff;border-bottom:1px solid var(--line);padding:1rem 4%;flex-direction:column;align-items:stretch}.nav.open{display:flex}.nav a{font-size:1rem;padding:.7rem .4rem}.menu-btn{display:block}.brand img{width:225px}.grid-3,.gallery,.option-grid,.benefit-grid{grid-template-columns:repeat(2,1fr)}.split,.split.reverse,.service-banner{grid-template-columns:1fr}.stats,.process,.grid-4{grid-template-columns:repeat(2,1fr)}.resource-grid,.buying-guide{grid-template-columns:1fr}}
@media(max-width:640px){body{padding-bottom:66px}.topbar .container{flex-direction:column;gap:.1rem}.brand img{width:185px}.hero{min-height:590px;background:linear-gradient(90deg,rgba(4,28,68,.93),rgba(4,28,68,.68)),url('../img/hero.webp') center/cover}.hero .content{padding:3.5rem 0}.grid-2,.grid-3,.grid-4,.gallery,.stats,.process,.feature-list,.footer-grid,.option-grid,.benefit-grid,.resource-grid,.buying-guide{grid-template-columns:1fr}.section{padding:3.7rem 0}.service-card img{height:210px}.mobile-bar{position:fixed;display:grid;grid-template-columns:1fr 1fr;left:0;right:0;bottom:0;z-index:60}.mobile-bar a{text-decoration:none;text-align:center;padding:.8rem .4rem;font-weight:900;color:#fff;background:var(--navy)}.mobile-bar a:last-child{background:var(--green)}.embed iframe{height:610px}.page-hero{padding:3.8rem 0 2.8rem}.kicker-band .container{display:block}.kicker-band a{display:inline-block;margin-top:.4rem}}
/* TexSun-owned estimate form */
.estimate-layout{display:grid;grid-template-columns:.82fr 1.18fr;gap:3rem;align-items:start}.estimate-intro{position:sticky;top:105px}.estimate-trust{display:grid;gap:.55rem;margin:1.5rem 0;padding:1.2rem;background:#fff;border:1px solid var(--line);border-radius:14px}.estimate-trust strong{color:var(--navy)}.estimate-trust span{color:var(--muted)}.estimate-card{background:#fff;border:1px solid var(--line);border-radius:20px;box-shadow:var(--shadow);padding:clamp(1.3rem,3vw,2.2rem)}.estimate-card h3{font-family:Georgia,"Times New Roman",serif;color:var(--navy);font-size:1.8rem;margin:.25rem 0 1.3rem}.estimate-progress{display:grid;grid-template-columns:repeat(3,1fr);gap:.45rem;margin-bottom:1.2rem}.estimate-progress span{height:6px;border-radius:999px;background:#dce5ef}.estimate-progress span.active{background:var(--green)}.step-label{font-weight:900;color:var(--green);font-size:.82rem;text-transform:uppercase;letter-spacing:.08em}.form-step{display:none}.form-step.active{display:block}.estimate-card fieldset{border:0;padding:0;margin:0 0 1.25rem}.estimate-card legend,.field>span{display:block;font-weight:900;color:var(--navy);margin-bottom:.55rem}.field{display:block;margin:0 0 1.25rem}.field input,.field textarea{width:100%;border:1px solid #b9c8d8;border-radius:11px;padding:.9rem 1rem;font:inherit;background:#fff;color:var(--ink)}.field input:focus,.field textarea:focus{outline:3px solid rgba(29,126,77,.16);border-color:var(--green)}.choice-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:.65rem}.choice-grid.compact{grid-template-columns:repeat(2,1fr)}.choice-grid label{position:relative}.choice-grid input{position:absolute;opacity:0;pointer-events:none}.choice-grid span{display:flex;align-items:center;min-height:52px;border:1px solid #c7d4e2;border-radius:11px;padding:.75rem .9rem;font-weight:800;cursor:pointer;background:#fff}.choice-grid input:checked+span{border:2px solid var(--green);background:#eef8f2;color:var(--green2);padding:calc(.75rem - 1px) calc(.9rem - 1px)}.choice-grid input:focus-visible+span{outline:3px solid rgba(29,126,77,.2)}.form-two{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.consent{display:flex;align-items:flex-start;gap:.65rem;margin:1.2rem 0;font-size:.94rem}.consent input{margin-top:.25rem}.form-actions{display:flex;justify-content:space-between;gap:.75rem;margin-top:1.4rem}.form-actions .btn{cursor:pointer}.form-actions .btn:disabled{opacity:.65;cursor:wait}.form-error{background:#fff0f0;border:1px solid #d99;border-radius:10px;padding:.8rem 1rem;color:#7a1717;margin:1rem 0}.privacy-note{font-size:.82rem;color:var(--muted);margin-top:1rem}.privacy-note a{color:var(--green)}.hp{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important}.estimate-success{text-align:center;padding:2rem .5rem}.success-check{display:grid;place-items:center;width:62px;height:62px;margin:0 auto 1rem;border-radius:50%;background:var(--green);color:#fff;font-size:2rem;font-weight:900}.estimate-success h3{font-size:2rem}.estimate-success p{color:var(--muted);max-width:560px;margin:.8rem auto}
@media(max-width:900px){.estimate-layout{grid-template-columns:1fr}.estimate-intro{position:static}.estimate-card{max-width:720px;width:100%}}
@media(max-width:640px){.choice-grid,.choice-grid.compact,.form-two{grid-template-columns:1fr}.form-actions{flex-wrap:wrap}.form-actions .btn{flex:1 1 140px}.estimate-card{padding:1.2rem}.estimate-card h3{font-size:1.55rem}}
