/* Blue-and-red visual system: crisp surfaces, graphic trim and bold hierarchy. */
:root{--ink:#10254c;--cream:#f2f6fd;--muted:#52647f;--copper:#ba2439;--line:#d8e2f2;--white:#fff;--blue:#1456d6;--red:#d82640;--navy:#081c40}
body{background:#fff}h1,h2,h3{font-weight:800;letter-spacing:-.045em}h2{line-height:1.1}.eyebrow{color:#185bd1;letter-spacing:2.1px;font-weight:800}.topbar{background:var(--navy);border-top:3px solid var(--red);padding-top:7px;padding-bottom:7px;color:#fff}.topbar span{color:#b9cff7}.header{height:94px;box-shadow:0 2px 15px #071d4510;position:relative;z-index:1}.brand>span{color:#102b62;font-weight:800}.brand small{color:var(--blue)}.header nav{font-weight:700}.header nav a{position:relative;padding:12px 0}.header nav a:after{position:absolute;content:'';left:0;right:100%;bottom:4px;height:3px;background:var(--red);transition:right .2s}.header nav a:hover{color:var(--blue)}.header nav a:hover:after{right:0}.header-phone{padding:10px 15px;border-left:3px solid var(--red);background:#f1f5fc;border-radius:0 6px 6px 0;color:#123976}.header-phone span{color:#526886}.hero{background:#071b3b;min-height:760px;border-bottom:5px solid var(--red)}.hero:after{background:linear-gradient(90deg,#061b3ee0 0%,#081e4666 46%,#061b3e33 65%,#081b3c88 100%)}.hero-inner{gap:85px;padding-top:60px;padding-bottom:70px}.hero-copy{padding-bottom:28px}.eyebrow.light{color:#b9d5ff}.hero-copy .eyebrow{display:inline-flex;align-items:center;gap:10px;letter-spacing:2.1px}.hero-copy .eyebrow:before{content:'';height:3px;width:26px;background:#ff4c60}.hero h1{font-weight:800;font-size:clamp(48px,4.8vw,72px);line-height:1.03;text-shadow:0 3px 25px #05163422}.hero h1 em{color:#fff;display:inline;text-decoration:underline;text-decoration-color:#fa4256;text-decoration-thickness:5px;text-underline-offset:10px}.hero-copy>p:not(.eyebrow){color:#eef4ff;font-size:16px;text-shadow:0 1px 8px #03152a80}.hero .light-link{background:var(--blue);padding:12px 18px;border:1px solid #74a5fa65;border-radius:5px;box-shadow:0 5px 20px #0002}.hero .light-link:hover{background:#2468e4;color:white}.hero-tags{margin-top:25px;gap:10px;flex-wrap:wrap}.hero-tags span{border:1px solid #a9c9f44d;padding:5px 9px;border-radius:4px;background:#09234c80;color:white}.hero-tags span:before{color:#ff7181}.trust-line{color:#e1ebff!important;max-width:430px;font-size:11px!important;margin-top:21px}.quote-card{border-radius:12px;background:#fff;border-top:5px solid var(--red);box-shadow:0 22px 70px #020d3273;padding:29px 29px 22px}.quote-card .eyebrow{color:#1456c1;font-size:9px;letter-spacing:1.4px}.quote-card h2{font-weight:800;font-size:29px;line-height:1.15;color:#0d2854}.form-intro{color:#5a6a81}.quote-card input:not([type=radio]):not([type=checkbox]),.quote-card select,.quote-card textarea{background:#f7f9fe;border:1px solid #d4dfef;border-radius:5px}.quote-card input:focus,.quote-card select:focus,.quote-card textarea:focus{background:white;outline:2px solid #2365d8;outline-offset:1px}.button{border-radius:6px;font-weight:700;padding:15px 21px;box-shadow:0 5px 14px #05183e15}.primary{background:var(--red);color:white;box-shadow:0 5px 13px #d826402a}.primary:hover{background:#b61e34}.cream{background:var(--red);color:white}.cream:hover{background:#b61e34}.form-direct a{color:#104eb8}.form-direct{border-color:#dde6f4}.form-note{color:#5d6a7e}.video-tools button{border-radius:4px;background:#071e49ba;border-color:#9abdf57a}.benefit-bar{background:#0e3e92;color:white;border-bottom:0}.benefit-bar .wrap{padding:23px 0;font-weight:600}.benefit-bar b{color:#ff7a8b;font-weight:700}.section{padding-top:95px;padding-bottom:95px}.section-heading{margin-bottom:40px}.section-heading h2{color:#0b2858}.section-heading>p{font-size:15px;line-height:1.8}.service-grid{gap:22px}.service-card{background:linear-gradient(145deg,#fff,#f3f7ff);border:1px solid #dce5f5;box-shadow:0 6px 25px #0d3b8510;border-radius:9px;padding:30px;overflow:hidden;transition:transform .2s,box-shadow .2s}.service-card:before{content:'';position:absolute;left:0;top:0;width:4px;height:58px;background:var(--red)}.service-card:hover{transform:translateY(-4px);box-shadow:0 13px 32px #0d3b851c}.service-icon{display:flex;align-items:center;justify-content:center;background:#e6efff;color:var(--blue);width:54px;height:54px;border-radius:10px;font-size:30px;margin-bottom:25px}.card-number{font-size:34px;font-weight:800;color:#cfddf4;top:23px;right:23px;letter-spacing:-2px}.service-card h3{font-size:22px;line-height:1.18;color:#102c5d}.service-card p{color:#536681}.service-card a{color:#154fb4;border-top:1px solid #dce5f3;padding-top:16px;font-size:12px}.service-card a span{color:var(--red);font-size:18px}.service-card.featured{background:linear-gradient(135deg,#155de0,#0c3d99);border-color:#165ace;box-shadow:0 8px 25px #174dac24}.service-card.featured h3,.service-card.featured a{color:white}.service-card.featured p{color:#e2ecff}.service-card.featured .service-icon{background:#ffffff20;color:white}.service-card.featured .card-number{color:#ffffff30}.service-card.featured a{border-color:#ffffff30}.service-card.featured:before{height:100%;background:#f23f54}.service-card.featured a span{color:#ffb3bd}.service-prompt{background:#edf4ff;border:1px dashed #87a8df;border-radius:9px}.service-prompt h3{color:#123773;font-size:25px}.service-prompt .text-link{color:#124bb2}.fireplace{background:radial-gradient(ellipse at 80% 10%,#163b7e,transparent 65%),#071b3b;padding:85px 0;border-top:4px solid #d82640;position:relative}.fireplace-copy .eyebrow{color:#8ab6ff}.fireplace-copy h2{font-size:41px;color:white;font-weight:800}.fireplace-copy>p:not(.eyebrow){color:#c3d1e9}.check-list{color:#f3f6ff}.check-list li{border-color:#93b4ef33}.check-list li:before{color:#ff6478}.fireplace-visual{height:500px;border-radius:10px;border:1px solid #5a7eac;box-shadow:0 24px 55px #0005}.room-wall{background:repeating-linear-gradient(0deg,transparent 0 42px,#5f78991c 43px 44px),repeating-linear-gradient(90deg,#d7dfeb 0 70px,#c8d3e1 72px 144px);box-shadow:inset 0 0 100px #29406a40}.illustrated-tv{background:#0b1630;box-shadow:1px 9px 18px #0007}.screen-landscape{background:linear-gradient(165deg,#b9d9fa,#769dcf 42%,#376295 43%,#80a9db 68%,#cadbef)}.screen-landscape:after{background:#143c72}.mantel{background:#526781}.hearth{border-color:#b2bfd1;background:linear-gradient(#080d18,#222b40)}.vase{background:#923341}.fireplace-visual>span{color:#233f66;font-weight:700}.steps{gap:35px;counter-reset:step}.steps article{background:#f5f8fe;border:1px solid #dce6f6;border-top:3px solid var(--blue);border-radius:0 0 8px 8px;padding:28px}.steps article:nth-child(2){border-top-color:var(--red)}.steps span{color:#1656c5;font-weight:700}.steps h3{font-size:23px}.areas{background:linear-gradient(120deg,#eaf2ff,#f6f9ff);border-top:1px solid #dfe8f7;border-bottom:1px solid #dfe8f7}.areas h2{color:#0b2f6b}.area-lists h3{color:#164eac;border-color:#c6d6ef;font-weight:800}.area-lists ul{color:#294366;font-size:12px}.area-lists li:before{content:'•';color:#d82640;margin-right:8px}.areas .text-link{color:#104aaa}.faq-grid h2{color:#0b2858}.questions details{border-color:#d7e1f1}.questions details:first-child{border-color:#d7e1f1}.questions summary{font-weight:600;padding:23px 38px 23px 0}.questions summary:after{color:#1858c6;font-size:24px}.questions details[open] summary{color:#1556c5}.closing{background:linear-gradient(115deg,#073181,#145bd7);border-top:4px solid #e32f46;padding:70px 0;position:relative;overflow:hidden}.closing:before{content:'';position:absolute;width:450px;height:450px;right:10%;top:-310px;border:70px solid #ffffff07;border-radius:50%;pointer-events:none}.closing h2{color:white;font-weight:800;font-size:48px}.closing .eyebrow{color:#c2dbff}.closing-actions>a:not(.button){color:#fff}.closing-actions .button{box-shadow:0 8px 20px #06173d33}.closing .wrap{position:relative}footer{background:white}footer>a:last-child{color:#124fb3}.mobile-contact{background:#fff;box-shadow:0 -3px 20px #0c2b6420}.mobile-contact a{background:var(--red);font-weight:700;border-radius:5px}.mobile-contact a:first-child{background:#e8f0ff;color:#0c459c}.text-link:hover{color:#d82640}input[type=radio],input[type=checkbox]{accent-color:#155ad5}a:focus-visible,button:focus-visible,summary:focus-visible{outline-color:#397be8}
@media(max-width:1150px){.hero-inner{gap:35px}.hero h1{font-size:53px}.quote-card{padding:25px 24px}.fireplace-copy h2{font-size:35px}.service-card{padding:25px}.steps article{padding:24px}.header-phone{font-size:13px}.header nav{gap:16px}}
@media(max-width:850px){.hero-inner{gap:25px}.hero h1{font-size:44px}.hero h1 em{text-decoration-thickness:4px;text-underline-offset:7px}.fireplace-copy h2{font-size:31px}.fireplace-visual{height:450px}.steps{gap:15px}.steps article{padding:20px}.closing h2{font-size:39px}.hero-tags{gap:6px}.quote-card h2{font-size:26px}}
@media(max-width:680px){.header{height:82px}.header-phone{padding:7px 9px;font-size:11px}.header-phone span{font-size:7px}.hero{background:#eef4ff}.hero-media{height:565px}.hero:after{height:565px;background:linear-gradient(0deg,#061d45f2 0%,#081e4675 70%,#071c3d30)}.hero-inner{padding-top:88px;padding-bottom:30px;gap:32px}.hero-copy{min-height:405px}.hero h1{font-size:49px;max-width:370px;line-height:1.05;margin-bottom:24px}.hero-copy>p:not(.eyebrow){font-size:14px}.hero-copy .eyebrow{font-size:9px;letter-spacing:1.6px}.hero .light-link{font-size:12px;padding:10px 14px}.trust-line{font-size:10px!important;margin-top:17px}.hero-tags{margin-top:16px;gap:6px;font-size:9px}.quote-card{border-radius:10px;padding:25px 22px;box-shadow:0 10px 35px #103b8420}.quote-card h2{font-size:28px}.benefit-bar .wrap{padding-top:20px;padding-bottom:20px;font-size:10px}.benefit-bar b{font-size:13px}.section{padding-top:65px;padding-bottom:65px}.service-grid{gap:17px}.service-card{padding:27px;min-height:0}.service-icon{margin-bottom:21px}.service-card h3{font-size:25px}.service-card p{font-size:14px}.service-card a{margin-top:23px}.fireplace{padding:40px 0 55px}.fireplace-visual{height:350px}.fireplace-copy h2{font-size:36px}.steps{gap:18px}.steps article{padding:26px}.area-lists li:before{margin-right:5px}.area-lists ul{font-size:11px}.closing{padding:55px 0}.closing h2{font-size:40px}.header .brand img{width:34px;height:34px}.header .brand>span{font-size:11px}.header .brand small{font-size:7px;letter-spacing:2.4px}}
/* Final review: brighter footage, simplified cards and accessible blue highlights. */
.hero:after{background:linear-gradient(90deg,rgba(6,27,62,.15) 0%,rgba(8,30,70,.08) 48%,rgba(6,27,62,.12) 68%,rgba(8,27,60,.3) 100%)}
.hero-copy{position:relative;isolation:isolate}
.hero-copy:before{content:'';position:absolute;inset:-22px -20px -8px;z-index:-1;background:linear-gradient(90deg,rgba(4,20,46,.58),rgba(4,20,46,.30));border-radius:12px;pointer-events:none}
.hero h1{text-shadow:0 2px 12px #03132a80}
.service-card,.service-prompt{min-height:285px;transition:background .2s,color .2s,transform .2s,box-shadow .2s}
.service-card:hover,.service-card:focus-visible,.service-prompt:hover,.service-prompt:focus-visible{background:#1456cf;border-color:#1456cf;box-shadow:0 12px 32px #0d3b8530;transform:translateY(-4px);color:white}
.service-card:hover h3,.service-card:focus-visible h3,.service-prompt:hover h3,.service-prompt:focus-visible h3{color:white}
.service-card:hover p,.service-card:focus-visible p,.service-prompt:hover p,.service-prompt:focus-visible p{color:#f0f5ff}
.service-card:hover .service-icon,.service-card:focus-visible .service-icon{background:#ffffff24;color:white}
.service-card:hover .card-number,.service-card:focus-visible .card-number{color:#c5dcff}
.service-card:focus-visible,.service-prompt:focus-visible{outline:3px solid #d82640;outline-offset:4px}
@media(max-width:680px){.hero:after{background:linear-gradient(0deg,rgba(6,29,69,.32),rgba(8,30,70,.07) 80%)}.hero-copy:before{inset:-14px -10px -5px;background:linear-gradient(90deg,rgba(4,20,46,.55),rgba(4,20,46,.27))}.service-card,.service-prompt{min-height:0}}
@media(prefers-reduced-motion:reduce){.service-card,.service-prompt{transition:none}.service-card:hover,.service-card:focus-visible,.service-prompt:hover,.service-prompt:focus-visible{transform:none}}
/* Text-led services replace the former card grid. */
.service-intro{max-width:800px;margin-bottom:48px}.service-intro h2{font-size:clamp(36px,4vw,56px);color:#0b2858;margin-bottom:24px}.service-intro>p:last-child{max-width:690px;font-size:16px;line-height:1.8}.installation-options{border-top:3px solid #d82640}.installation-row{display:grid;grid-template-columns:65px minmax(0,1.45fr) minmax(0,1fr);gap:30px;padding:40px 0;border-bottom:1px solid #cedbef}.installation-index{font-size:28px;font-weight:800;letter-spacing:-1px;color:#1957c3;line-height:1.2}.installation-row h3{font-size:28px;color:#12346c;line-height:1.2;margin-bottom:15px}.installation-row p{font-size:14px;line-height:1.85;max-width:530px}.installation-row ul{padding:0 0 0 19px;margin:3px 0 0 26px;font-size:13px;color:#2f496f;line-height:1.75;align-self:center}.installation-row li{padding:5px 0 5px 4px}.installation-row li::marker{color:#d82640}.service-list-section{display:grid;grid-template-columns:1fr 1.8fr;gap:65px;margin-top:55px}.service-list-section h3{font-size:28px;line-height:1.2;color:#12346c}.service-list-section p:last-child{font-size:13px;margin-top:15px}.service-bullets{display:grid;grid-template-columns:1fr 1fr;gap:17px 32px;padding-left:20px;margin:3px 0 0;font-size:14px;align-content:start}.service-bullets li{padding-left:4px}.service-bullets li::marker{color:#d82640}.service-contact-line{display:flex;justify-content:space-between;align-items:center;gap:25px;border-top:1px solid #d8e2f2;margin-top:45px;padding-top:27px}.service-contact-line p{font-size:14px}.service-contact-line a{color:#1556c5;flex-shrink:0}
@media(max-width:850px){.installation-row{grid-template-columns:40px 1fr;gap:20px}.installation-row ul{grid-column:2;margin:0}.service-list-section{grid-template-columns:1fr;gap:26px}.service-list-section h3 br{display:none}}
@media(max-width:680px){.service-intro{margin-bottom:32px}.service-intro h2{font-size:38px}.service-intro>p:last-child{font-size:14px}.installation-row{grid-template-columns:30px minmax(0,1fr);gap:15px;padding:30px 0}.installation-index{font-size:22px}.installation-row h3{font-size:26px}.installation-row p{font-size:14px}.installation-row ul{font-size:13px;padding-left:17px}.service-list-section{margin-top:38px}.service-list-section h3{font-size:28px}.service-bullets{grid-template-columns:1fr;gap:13px;font-size:14px}.service-contact-line{display:block;margin-top:32px;padding-top:24px}.service-contact-line a{margin-top:16px}}
/* Package comparison: readable text rows, without imagery or numeric prices. */
.package-section{padding:80px 0;background:#f1f6ff;border-bottom:1px solid #d5e1f3}.package-heading{max-width:820px;margin-bottom:38px}.package-heading h2{color:#0b2858;font-size:clamp(34px,3.5vw,49px);margin-bottom:20px}.package-heading>p:last-child{font-size:15px;max-width:720px}.package-options{border-top:4px solid #d82640;background:white;padding:0 30px}.package-option{display:grid;grid-template-columns:1.3fr 1fr auto;gap:35px;align-items:center;padding:28px 0;border-bottom:1px solid #d4e0f1}.package-option:last-child{border-bottom:0}.package-name{position:relative;padding-left:40px}.package-index{position:absolute;left:0;top:3px;color:#1857c8;font-size:13px;font-weight:800}.package-name h3{font-size:21px;line-height:1.25;color:#102f67;margin-bottom:10px}.package-name p{font-size:12px;line-height:1.8;max-width:400px}.package-option ul{list-style:none;padding:0;margin:0;font-size:12px;line-height:1.7;color:#344e70}.package-option li{position:relative;padding:5px 0 5px 19px}.package-option li:before{content:'✓';position:absolute;left:0;color:#be2037;font-weight:700}.package-quote{font-size:11px;font-weight:700;color:#a81930;border:1px solid #da9da8;border-radius:4px;padding:10px 13px;white-space:nowrap}.package-quote span{margin-left:10px}.package-quote:hover{background:#d82640;color:white;border-color:#d82640}.package-note{font-size:12px;line-height:1.8;margin-top:22px;max-width:900px}
@media(max-width:850px){.package-option{grid-template-columns:1.2fr 1fr;gap:18px 25px}.package-quote{grid-column:1/-1;justify-self:start;margin-left:40px}.package-options{padding:0 24px}}
@media(max-width:680px){.package-section{padding:55px 0}.package-heading h2{font-size:35px}.package-heading>p:last-child{font-size:14px}.package-options{padding:0 20px}.package-option{grid-template-columns:1fr;gap:17px;padding:27px 0}.package-name{padding-left:30px}.package-name h3{font-size:22px}.package-name p{font-size:13px}.package-option ul{margin-left:30px;font-size:13px}.package-quote{margin-left:30px;grid-column:auto;min-height:44px;display:flex;align-items:center}.package-note{font-size:11px}}
.package-name .package-price{font-size:12px;color:#1554b9;margin:5px 0 10px;font-weight:600}.package-price strong{font-size:27px;letter-spacing:-1px;color:#133d80;margin-left:4px}.package-upgrade{grid-column:2/4;grid-row:2;font-size:11px;color:#8e1d31;margin-top:-20px}.package-option:has(.package-upgrade) .package-quote{grid-column:3;grid-row:1}
@media(max-width:850px){.package-upgrade{grid-column:1/-1;grid-row:auto;margin:0 0 0 40px}.package-option:has(.package-upgrade) .package-quote{grid-column:1/-1;grid-row:auto}}
@media(max-width:680px){.package-upgrade{margin-left:30px;font-size:11px}.package-price strong{font-size:28px}.package-name h3{overflow-wrap:break-word}}
/* Standalone service list after removal of the redundant installation overview. */
.service-editorial .service-list-section{margin-top:0}.service-list-section h2{font-size:28px;line-height:1.2;color:#12346c}
@media(max-width:850px){.service-list-section h2 br{display:none}}
.package-name .package-quote-label{font-size:15px;font-weight:700;color:#1456c5;margin:8px 0}
