/* 2026 corporate refresh — simple, digital, responsive. */
:root{--navy:#071b2f;--navy-soft:#17364f;--red:#ca3146;--red-hover:#e24154;--ink:#182c40;--muted:#65778a;--line:#e3eaf0;--offwhite:#f5f7fa}
html{scroll-padding-top:84px}
.container{width:min(100% - 64px,1180px)}
.site-header{background:rgba(6,24,42,.97);box-shadow:none;border-bottom:1px solid rgba(180,206,229,.11);backdrop-filter:blur(18px)}
.nav-inner{min-height:80px;gap:28px}
.brand{gap:11px}
.site-header .brand img{width:72px;height:62px;object-fit:contain;object-position:center;border-radius:0;mix-blend-mode:normal}
.brand strong{font-size:20px;letter-spacing:.045em}
.brand small{font-size:9px;letter-spacing:.17em;color:#a9bfd0}
.desktop-nav{gap:30px}
.desktop-nav a{font-size:12px;font-weight:600;color:#c9d7e4}
.nav-quote,.button-primary{background:var(--red);border-radius:7px}
.nav-quote{padding:13px 17px;border:1px solid rgba(255,255,255,.08)}
.nav-quote:hover,.button-primary:hover{background:var(--red-hover)}
.hero{position:relative;background:radial-gradient(ellipse at 72% 34%,#143753 0%,transparent 44%),linear-gradient(115deg,#06182b 2%,#091d30 64%,#071829);color:#fff}
.hero::after{content:"";position:absolute;inset:0;opacity:.2;pointer-events:none;background-image:linear-gradient(90deg,transparent 98%,#41627d 100%);background-size:82px 82px;mask-image:linear-gradient(to right,transparent 15%,#000 100%)}
.hero-layout{position:relative;z-index:1;grid-template-columns:minmax(0,.82fr) minmax(0,1.18fr);gap:clamp(24px,3vw,42px);min-height:650px;padding-block:38px 54px}
.hero .eyebrow{color:#c4d1dd;font-size:10px;letter-spacing:.17em;margin-bottom:27px}
.hero .eyebrow-separator{color:#718fa8}
.red-line{background:var(--red);height:2px;width:23px}
.hero h1{color:#fff;font-size:clamp(51px,5.3vw,76px);line-height:1.065;letter-spacing:-.06em;max-width:590px}
.hero h1 span{color:#a8d2ec}
.hero-description{color:#b2c5d5;max-width:450px;font-size:16px;line-height:1.76;margin:27px 0 31px}
.hero-actions{gap:23px}
.button{border-radius:7px;min-height:54px;gap:24px}
.button-text{color:#e6eef5;border-bottom-color:#50718b;font-size:13px}
.button-text:hover{color:#fff;border-bottom-color:#a8d2ec}
.hero-signature{color:#91a9bc;font-size:11px;margin-top:40px;font-weight:600}
.hero-visual{margin:0;min-height:0;display:flex;align-items:center;justify-content:center}
.hero-visual img{height:auto;min-height:0;width:min(100%,700px);aspect-ratio:1/1;object-fit:contain;object-position:center;border:1px solid rgba(145,187,217,.16);border-radius:18px;box-shadow:0 24px 75px rgba(0,0,0,.2)}
.hero-visual::before{content:"";position:absolute;width:65%;height:55%;border-radius:50%;background:rgba(34,117,172,.16);filter:blur(65px);z-index:-1}
.section{padding-block:88px}
.services{background:#f7f9fb}
.section-intro{margin-bottom:32px;align-items:end}
.section-intro h2,.about h2{font-size:clamp(36px,4.1vw,54px)}
.section-intro h2 span,.about h2 span{color:var(--red)}
.section-intro>p{max-width:345px;font-size:14px;line-height:1.6}
.service-grid{gap:14px}
.service-card{position:relative;border-radius:11px;border:1px solid #e3eaf0;min-height:250px;padding:28px 24px 25px;box-shadow:0 6px 24px rgba(10,38,61,.025);transition:border-color .2s,transform .2s,box-shadow .2s}
.service-card::before{content:"";height:3px;width:36px;background:var(--red);border-radius:3px;display:block;margin-bottom:23px}
.service-card:hover{transform:translateY(-3px);border-color:#b9c9d7;box-shadow:0 14px 35px rgba(8,29,47,.065)}
.service-card .service-icon,.service-card .service-number{display:none}
.service-card h3{font-size:21px;letter-spacing:-.035em}
.service-card p{font-size:12px;line-height:1.7;margin:14px 0 22px}
.service-card>a{color:#9f2739;font-size:11px}
.about-layout{grid-template-columns:.8fr 1.2fr;gap:clamp(48px,8vw,100px)}
.about-logo-panel{min-height:365px;padding:36px;border:1px solid #dbe5ed;border-radius:18px;background:linear-gradient(140deg,#eaf0f5,#f8fafc 55%,#e5edf5);position:relative;overflow:hidden}
.about-logo-panel::before{content:"";width:300px;height:300px;border:1px solid #d3dfe9;position:absolute;transform:rotate(45deg);top:-155px;right:-120px;border-radius:30px}
.since-block{display:flex;flex-direction:column;position:relative;z-index:1;gap:13px}
.since-year{font-size:clamp(75px,9vw,135px);font-weight:800;letter-spacing:-.09em;line-height:1;color:#153650}
.since-caption{color:#6b8397;letter-spacing:.2em;font-size:11px;line-height:1.9;font-weight:800}
.about-copy p:not(.eyebrow){line-height:1.8}
.simple-link{color:#a6293d}
.contact{background:radial-gradient(ellipse at 10% 10%,#163b56,transparent 60%),#071b2f}
.contact h2{color:#fff}
.contact h2 span{color:#a8d2ec}
.contact-card{border-radius:14px;padding:35px;box-shadow:0 24px 58px rgba(0,0,0,.13)}
.phone-link{font-size:clamp(26px,3vw,36px)}
.email-link{color:#a6293d}
.footer{background:#041222}
.footer-brand img{width:49px;height:49px}
@media(max-width:1080px){.hero-layout{min-height:0}.hero-visual,.hero-visual img{height:auto;min-height:0}.service-card{min-height:240px}}
@media(max-width:800px){.container{width:min(100% - 44px,1180px)}.nav-inner{min-height:74px}.site-header .brand img{width:60px;height:52px}.mobile-nav{background:#06182b}.hero-layout{grid-template-columns:1fr;gap:25px;padding-block:24px 60px}.hero h1{font-size:clamp(50px,8.6vw,70px)}.hero-visual img{width:min(100%,570px);height:auto;min-height:0}.hero-visual{min-height:0;order:-1}.service-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.about-layout{grid-template-columns:1fr}.about-logo-panel{min-height:270px;max-width:none}.section{padding-block:75px}}
@media(max-width:580px){.container{width:calc(100% - 36px)}.site-header .brand img{width:56px;height:49px}.brand strong{font-size:17px}.brand small{font-size:7px}.hero-layout{padding-block:20px 51px;gap:20px}.hero h1{font-size:clamp(46px,11.4vw,60px)}.hero-description{font-size:15px;margin:22px 0 26px}.hero-actions{gap:17px}.hero-signature{margin-top:28px}.hero-visual img{width:100%;height:auto;min-height:0;border-radius:15px}.section{padding-block:62px}.section-intro{margin-bottom:24px}.section-intro>p{margin-top:16px}.service-grid{grid-template-columns:1fr;gap:12px}.service-card{min-height:0;padding:25px 24px}.service-card::before{margin-bottom:17px}.service-card h3{font-size:22px}.service-card p{font-size:13px;margin:11px 0 18px}.about-logo-panel{min-height:225px;padding:30px}.since-year{font-size:94px}.contact-card{padding:28px 22px}.footer-brand img{width:41px;height:41px}}

/* Expanded service guide: image-first cards with short, practical benefits. */
.expanded-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:19px;align-items:stretch}
.expanded-grid .service-card{display:flex;flex-direction:column;min-width:0;min-height:0;padding:0;overflow:hidden;border-radius:12px;background:#fff}
.expanded-grid .service-card::before{display:none}
.service-photo{display:block;width:100%;height:228px;aspect-ratio:auto;object-fit:cover;flex-shrink:0;background:#d6e2e9}
#navien-combi .service-photo{object-position:center 34%}
.interior-photo-pair{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));height:228px;flex-shrink:0;overflow:hidden;background:#d6e2e9}
.interior-photo-pair figure{position:relative;margin:0;min-width:0;overflow:hidden}
.interior-photo-pair figure+figure{border-left:3px solid #fff}
.interior-photo-pair img{display:block;width:100%;height:100%;object-fit:cover;object-position:center 35%}
.interior-photo-pair figure:nth-child(2) img{object-position:center 47%}
.interior-photo-pair figcaption{position:absolute;left:10px;bottom:10px;border-radius:3px;padding:6px 9px;color:#fff;background:rgba(6,24,43,.83);font-size:10px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}
.service-content{display:flex;flex:1;flex-direction:column;padding:25px 24px 26px}
.service-category{display:block;color:#a5293c;font-size:10px;font-weight:800;letter-spacing:.15em;line-height:1.5;margin-bottom:13px}
.expanded-grid .service-card h3{font-size:clamp(20px,2vw,24px);line-height:1.24;letter-spacing:-.045em;margin:0;color:var(--navy)}
.expanded-grid .service-card p{font-size:13px;line-height:1.72;margin:12px 0 0;color:#627184}
.expanded-grid .service-card .service-benefit{margin:13px 0 22px;padding-left:13px;border-left:2px solid #b5cddd;color:#40566d}
.service-benefit strong{color:#193e5b}
.expanded-grid .service-card a{margin-top:auto;padding-top:17px;border-top:1px solid #e3ebf1;color:#9e2639;font-size:12px;letter-spacing:.01em}
.photo-disclaimer{font-size:11px;line-height:1.6;color:#748395;margin:23px 0 0}
.upgrade-section{background:radial-gradient(ellipse at 5% 10%,#183b56,transparent 46%),#081d31;color:#fff}
.upgrade-head{max-width:830px}
.upgrade-head .eyebrow{color:#b6cddd}
.upgrade-head h2{font-size:clamp(37px,4.5vw,57px);line-height:1.12;letter-spacing:-.055em;margin:0;color:#fff;max-width:800px}
.upgrade-head h2 span{color:#afd9f3}
.upgrade-head>p:last-child{color:#b7cad9;font-size:16px;line-height:1.8;margin:22px 0 0;max-width:750px}
.upgrade-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:17px;margin-top:36px}
.upgrade-item{border:1px solid rgba(165,201,228,.22);background:rgba(255,255,255,.045);padding:28px 25px;border-radius:11px}
.upgrade-count{font-weight:800;color:#8fbcd7;font-size:10px;letter-spacing:.17em}
.upgrade-item h3{font-size:20px;line-height:1.33;letter-spacing:-.03em;margin:19px 0 12px;color:#fff}
.upgrade-item p{font-size:13px;line-height:1.8;color:#b9ccdb;margin:0}
.upgrade-cta{display:flex;align-items:center;justify-content:space-between;gap:32px;border-radius:12px;background:#fff;color:#153048;padding:28px 31px;margin-top:22px}
.upgrade-cta h3{font-size:22px;line-height:1.3;letter-spacing:-.035em;margin:0 0 8px}
.upgrade-cta p{font-size:13px;line-height:1.65;color:#64758a;margin:0;max-width:690px}
.upgrade-cta .button{white-space:nowrap;flex-shrink:0}
.upgrade-note{color:#90a8bb;font-size:11px;line-height:1.65;margin:19px 0 0}
@media(max-width:1080px){.expanded-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.service-photo,.interior-photo-pair{height:255px}.upgrade-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.upgrade-item:last-child{grid-column:span 2}.upgrade-cta{align-items:flex-start;flex-direction:column}.upgrade-cta .button{max-width:100%}}
@media(max-width:650px){.expanded-grid,.upgrade-grid{grid-template-columns:1fr;gap:15px}.service-photo,.interior-photo-pair{height:clamp(205px,55vw,310px)}.upgrade-item:last-child{grid-column:auto}.service-content{padding:23px 23px 25px}.expanded-grid .service-card h3{font-size:23px}.expanded-grid .service-card p{font-size:13px}.upgrade-head>p:last-child{font-size:14px}.upgrade-item{padding:25px 22px}.upgrade-cta{padding:25px 22px}.upgrade-cta h3{font-size:21px}.upgrade-cta .button{white-space:normal;width:100%}}

/* Customer proof — real public rating and a direct link to original Google reviews. */
.reviews-section{background:#f1f5f8;border-top:1px solid #e3eaf0}
.reviews-layout{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(320px,.9fr);align-items:center;gap:clamp(44px,7vw,110px)}
.reviews-copy h2{font-size:clamp(38px,4.8vw,61px);letter-spacing:-.06em;line-height:1.1;color:#102d43;margin:15px 0 22px}
.reviews-copy h2 span{color:var(--red)}
.reviews-copy>p:not(.eyebrow){font-size:15px;line-height:1.85;color:#65778a;max-width:550px;margin-bottom:29px}
.reviews-button{display:inline-flex;width:auto;text-align:center}
.google-reviews-card{background:#fff;border:1px solid #dce6ee;border-radius:17px;padding:34px 36px 28px;box-shadow:0 24px 60px rgba(14,44,65,.08);position:relative;overflow:hidden}
.google-reviews-card::before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:linear-gradient(90deg,#ad263b 0%,#d5495d 44%,#1d547c 100%)}
.review-card-top{display:flex;align-items:center;justify-content:space-between;gap:14px}
.review-provider{display:inline-flex;align-items:center;gap:11px;font-size:14px;font-weight:800;color:#16324a}
.google-g{display:grid;place-items:center;font-family:Arial,sans-serif;font-weight:800;font-size:24px;line-height:1;width:36px;height:36px;border:1px solid #e6eaf0;border-radius:50%;color:#4285f4;background:#fff}
.review-card-mark{font-size:29px;color:#aabecb}
.review-score-line{display:flex;align-items:baseline;gap:10px;margin:19px 0 1px;font-variant-numeric:tabular-nums}
.review-score-line strong{font-size:clamp(68px,7vw,94px);font-weight:800;letter-spacing:-.09em;line-height:1.13;color:#09253d}
.review-score-total{font-size:22px;color:#9badb9;font-weight:700}
.review-stars{position:relative;display:inline-block;color:#d8e1e8;letter-spacing:5px;font-size:26px;line-height:1;white-space:nowrap}
.review-stars-filled{position:absolute;left:0;top:0;width:94%;color:#ecae38;overflow:hidden;white-space:nowrap}
.review-count{font-size:13px;font-weight:700;color:#27465f;margin:13px 0 23px}
.review-count span{font-size:11px;color:#8798a7;font-weight:500}
.review-card-rule{height:1px;background:#e5edf2;margin-bottom:23px}
.review-card-prompt{font-size:14px;line-height:1.68;color:#566f81;margin:0 0 20px}
.review-google-link{font-weight:800;font-size:13px;color:#a9273c;text-decoration:none;display:inline-flex;align-items:center;gap:9px}
.review-google-link:hover{text-decoration:underline}
.review-freshness{font-size:10px;line-height:1.5;color:#8fa0ac;margin:23px 0 0}
@media(max-width:860px){.reviews-layout{grid-template-columns:1fr;gap:30px}.google-reviews-card{max-width:580px}}
@media(max-width:580px){.reviews-copy h2{font-size:clamp(38px,9.2vw,52px)}.reviews-copy>p:not(.eyebrow){font-size:14px}.reviews-button{width:100%;justify-content:space-between}.google-reviews-card{padding:29px 26px 25px}.review-stars{font-size:24px}.review-count span{display:block;margin-top:5px}}
