.product-page{--product-ink:#122a3d;--product-muted:#536a7b;--product-line:rgba(18,42,61,.17);--product-blue:#1767aa;--product-pale:#edf4f8}
.product-hero{position:relative;isolation:isolate;min-height:min(760px,calc(100svh - 114px));display:flex;align-items:center;overflow:hidden;background:#102234;color:#fff}
.product-hero>img,.product-hero-shade{position:absolute;z-index:-1;inset:0;width:100%;height:100%}
.product-hero>img{object-fit:cover;object-position:center 52%;filter:saturate(.82)}
.product-hero-shade{background:linear-gradient(90deg,rgba(6,17,27,.88),rgba(7,22,34,.73) 42%,rgba(8,22,34,.18)),linear-gradient(0deg,rgba(7,17,28,.48),transparent 46%)}
.product-hero-copy{width:min(760px,calc(100% - var(--pad)*2));margin-left:var(--pad);padding:65px 0 80px}
.product-breadcrumb{display:flex;flex-wrap:wrap;gap:10px;margin:0 0 38px;color:#d6e2ea;font:13px/1.5 var(--sans)}
.product-breadcrumb a{text-decoration:underline;text-decoration-color:rgba(255,255,255,.52);text-underline-offset:4px}
.product-eyebrow{margin:0 0 20px;color:#b9d8f1;font:700 10px/1.5 var(--sans);letter-spacing:.15em}
.product-eyebrow i{padding:0 7px;color:#71b9f2;font-style:normal}
.product-hero h1{max-width:760px;margin:0 0 22px;color:#fff;font:500 clamp(68px,9.1vw,126px)/.83 var(--display);letter-spacing:-.025em;text-transform:uppercase}
.product-hero h1 em,.product-detail-hero h1 em,.product-intro h2 em,.product-row-copy h2 em,.product-spec-main h2 em,.product-process h2 em,.product-service-note h2 em,.product-quote-band h2 em,.product-last-cta h2 em{color:#7ab9ec;font-style:normal}
.product-hero-copy>p:not(.product-eyebrow){max-width:560px;margin:0 0 28px;color:#e5edf3;font:17px/1.7 var(--sans)}
.product-hero-actions{display:flex;flex-wrap:wrap;align-items:center;gap:14px}
.product-page .button{min-height:52px;justify-content:space-between;gap:22px;font-size:13px}
.product-page .button-orange{background:#0875c9;color:#fff;border:1px solid #83c8fa;box-shadow:0 4px 0 #074c83,0 12px 28px rgba(0,0,0,.22)}
.product-page .button-orange:hover{background:#1389df;transform:translateY(-2px)}
.product-hero-contact{padding:15px 2px;color:#fff;font:600 13px/1.5 var(--sans);text-decoration:underline;text-decoration-color:#72bdf3;text-underline-offset:5px}
.product-hero-contact span{padding-left:8px;color:#9bd2fc}
.product-image-note{display:block;margin-top:21px;color:#d8e3ec;font:12px/1.5 var(--sans)}
.product-hero-index{position:absolute;right:var(--pad);bottom:32px;display:flex;align-items:center;gap:14px;color:#f6f9fb}
.product-hero-index span{font:700 9px/1.5 var(--sans);letter-spacing:.13em}.product-hero-index strong{font:500 39px/1 var(--display)}
.product-intro,.product-spec-section,.product-process,.product-related,.product-service-note{padding:clamp(52px,7vw,94px) var(--pad);background:#f7f8f8}
.product-section-label{display:flex;justify-content:space-between;gap:18px;padding-bottom:14px;border-bottom:1px solid var(--product-line);color:#536a7a;font:700 10px/1.5 var(--sans);letter-spacing:.13em}
.product-section-label a{color:#1766a7;text-decoration:underline;text-underline-offset:4px}
.product-intro-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(320px,.76fr);gap:9%;align-items:end;padding-top:45px}
.product-intro h2,.product-spec-main h2,.product-process h2,.product-service-note h2{margin:0;color:var(--product-ink);font:500 clamp(52px,6.6vw,86px)/.9 var(--display);letter-spacing:-.025em;text-transform:uppercase}
.product-intro h2 em,.product-spec-main h2 em,.product-process h2 em,.product-service-note h2 em{color:#367cb6}
.product-intro-grid>div p,.product-spec-main>p,.product-service-note>div>p{margin:0 0 14px;color:var(--product-muted);font:16px/1.75 var(--sans)}
.product-intro-grid>div p:last-child{margin-bottom:0}
.product-catalog-list{background:#fff}
.product-row{display:grid;grid-template-columns:minmax(0,1.12fr) minmax(360px,.88fr);min-height:510px;border-top:1px solid var(--product-line)}
.product-row-reverse{grid-template-columns:minmax(360px,.88fr) minmax(0,1.12fr)}
.product-row-reverse .product-row-image{grid-column:2;grid-row:1}.product-row-reverse .product-row-copy{grid-column:1;grid-row:1}
.product-row-image{position:relative;display:block;min-height:430px;overflow:hidden;background:#dce6ed}
.product-row-image img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .7s cubic-bezier(.2,.7,.2,1)}
.product-row-image:hover img{transform:scale(1.025)}
.product-row-image>span{position:absolute;right:15px;bottom:14px;padding:8px 11px;border:1px solid rgba(255,255,255,.42);border-radius:3px;background:rgba(9,27,42,.62);color:#fff;font:12px/1.4 var(--sans);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}
.product-row-copy{display:flex;flex-direction:column;justify-content:center;padding:clamp(34px,6.3vw,86px) clamp(28px,6vw,82px);color:var(--product-ink)}
.product-row-num{color:#23669c;font:700 10px/1.5 var(--sans);letter-spacing:.14em}
.product-row-num i{color:#7b93a5;font-style:normal;padding:0 4px}
.product-row-copy h2{margin:22px 0 14px;color:#122a3d;font:500 clamp(44px,5.3vw,72px)/.92 var(--display);letter-spacing:-.02em;text-transform:uppercase}
.product-row-copy h2 a:hover{color:#1767aa}
.product-row-copy>p{max-width:490px;margin:0;color:#52697a;font:16px/1.75 var(--sans)}
.product-row-copy ul{display:grid;gap:0;margin:20px 0 0;padding:0;border-top:1px solid var(--product-line);list-style:none}
.product-row-copy li{padding:10px 0;border-bottom:1px solid var(--product-line);color:#294253;font:14px/1.5 var(--sans)}
.product-row-copy li:before{content:"";display:inline-block;width:5px;height:5px;margin:0 11px 2px 1px;background:#2478bc;transform:rotate(45deg)}
.product-row-actions{display:flex;flex-wrap:wrap;gap:14px 26px;align-items:center;margin-top:22px}
.product-text-link,.product-quick-quote{color:#135e9b;font:700 13px/1.5 var(--sans);text-decoration:underline;text-decoration-color:#78abd1;text-underline-offset:4px}
.product-row-actions span{padding-left:8px;color:#0d76c4}.product-quick-quote{color:#122a3d}
.product-quote-band{display:grid;grid-template-columns:minmax(0,1fr) minmax(340px,.76fr);gap:8%;align-items:end;padding:clamp(48px,7vw,88px) var(--pad);background:linear-gradient(120deg,#122b41,#164d76);color:#fff}
.product-quote-band .product-eyebrow{color:#afd0e8}
.product-quote-band h2,.product-last-cta h2{margin:0;color:#fff;font:500 clamp(47px,5.7vw,76px)/.91 var(--display);letter-spacing:-.02em;text-transform:uppercase}
.product-quote-band h2 em,.product-last-cta h2 em{color:#8bc8f5}
.product-quote-band>div+div>p{max-width:550px;margin:0 0 23px;color:#e0ebf3;font:16px/1.75 var(--sans)}
.product-page .product-band-button{min-width:270px;background:#fff;color:#153c5a;border:1px solid #d0e8f9;box-shadow:0 4px 0 #09243a}
.product-band-button span{color:#086bb5}
.product-service-note{display:grid;grid-template-columns:minmax(0,.9fr) minmax(320px,.72fr);gap:9%;align-items:center}
.product-service-note .product-section-label{grid-column:1/-1}
.product-service-note h2{margin-bottom:20px}
.product-service-note>div:last-child>p{max-width:560px;margin-bottom:20px}

/* Product detail pages */
.product-detail-hero{display:grid;grid-template-columns:minmax(0,.88fr) minmax(0,1.12fr);min-height:620px;background:#f7f8f8}
.product-detail-copy{align-self:center;padding:46px 8% 52px var(--pad)}
.product-detail-copy .product-breadcrumb{color:#566d7c;font-size:12px;margin-bottom:39px}
.product-detail-copy .product-breadcrumb a{text-decoration-color:#9eafb9}
.product-detail-copy .product-eyebrow{color:#1b65a3}
.product-detail-hero h1{margin:0 0 19px;color:#102b40;font:500 clamp(55px,6.3vw,84px)/.88 var(--display);letter-spacing:-.025em;text-transform:uppercase}
.product-detail-hero h1 em{display:block;color:#327bb6}
.product-detail-lead{max-width:520px;margin:0 0 26px;color:#4e6576;font:16px/1.75 var(--sans)}
.product-detail-copy .button{min-width:240px}
.product-quote-hint{max-width:430px;margin:14px 0 0;color:#687c8a;font:12px/1.55 var(--sans)}
.product-detail-visual{position:relative;min-height:480px;margin:0;background:#dce6ec}
.product-detail-visual img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.product-detail-visual figcaption{position:absolute;right:16px;bottom:15px;max-width:calc(100% - 32px);padding:8px 11px;background:rgba(12,29,43,.84);color:#fff;font:12px/1.5 var(--sans)}
.product-spec-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.9fr);gap:9%;padding-top:47px}
.product-spec-main>p{max-width:600px;margin-top:22px}
.product-offer-list{max-width:660px;margin:26px 0 0;padding:0;border-top:1px solid var(--product-line);list-style:none}
.product-offer-list li{display:grid;grid-template-columns:42px 1fr;gap:11px;align-items:center;padding:13px 4px;border-bottom:1px solid var(--product-line)}
.product-offer-list li span{color:#2671ac;font:700 10px/1.5 var(--sans);letter-spacing:.12em}
.product-offer-list li strong{color:#17364c;font:500 24px/1.1 var(--display)}
.product-spec-aside{padding:26px 28px;background:#eaf1f5;border-top:3px solid #1e75b8}
.product-aside-label{color:#1a659f;font:700 10px/1.5 var(--sans);letter-spacing:.14em}
.product-spec-aside ol{display:grid;gap:0;margin:16px 0 0;padding:0;list-style:none}
.product-spec-aside li{display:grid;grid-template-columns:31px 1fr;gap:10px;padding:12px 0;border-top:1px solid rgba(18,42,61,.14);color:#354f60;font:14px/1.6 var(--sans)}
.product-spec-aside li span{color:#2671ac;font:700 10px/1.7 var(--sans)}
.product-estimate-section{display:grid;grid-template-columns:minmax(0,.78fr) minmax(0,1fr);gap:8%;padding:clamp(48px,7vw,88px) var(--pad);background:#10273b;color:#fff}
.product-estimate-head .product-eyebrow{color:#9fc7e5}
.product-estimate-head h2{max-width:480px;margin:0;color:#fff;font:500 clamp(42px,5vw,65px)/.93 var(--display);letter-spacing:-.02em;text-transform:uppercase}
.product-estimate-body>p{margin:0 0 16px;color:#e4edf3;font:15px/1.75 var(--sans)}
.product-estimate-body .product-price-caveat{padding:14px 16px;border-left:2px solid #62aee9;background:rgba(255,255,255,.07);color:#d6e5ef}
.product-price-caveat strong{display:block;margin-bottom:4px;color:#fff}
.product-source-link{display:inline-block;margin:2px 0 17px;color:#acd5f2;font:600 13px/1.5 var(--sans);text-decoration:underline;text-underline-offset:4px}
.product-source-link span{padding-left:7px}
.product-page .product-estimate-button{margin-top:8px;background:#fff;color:#102d44;border:1px solid #c1e1f8;box-shadow:0 4px 0 #061b2b}
.product-estimate-button span{color:#086bb5}
.product-process{background:#f0f4f6}
.product-process-grid{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1fr);gap:10%;padding-top:45px}
.product-process-steps{border-top:1px solid var(--product-line)}
.product-process-steps article{display:grid;grid-template-columns:36px 1fr;gap:15px;padding:17px 0;border-bottom:1px solid var(--product-line)}
.product-process-steps article>span{color:#1c6cac;font:500 23px/1 var(--display)}
.product-process-steps h3{margin:0 0 5px;color:#16334a;font:500 25px/1.1 var(--display)}
.product-process-steps p{margin:0;color:#576d7d;font:14px/1.65 var(--sans)}
.product-related{background:#fff}
.product-related-links{max-width:1000px;margin:22px 0 0 auto;border-top:1px solid var(--product-line)}
.product-related-links a{display:grid;grid-template-columns:84px 1fr 24px;gap:16px;align-items:center;padding:15px 6px;border-bottom:1px solid var(--product-line);transition:background .18s,padding .18s}
.product-related-links a:hover{padding-left:13px;background:#edf4f8}
.product-related-links a>span{color:#3978a9;font:700 10px/1.4 var(--sans);letter-spacing:.08em}
.product-related-links strong{color:#16334a;font:500 24px/1.1 var(--display)}
.product-related-links b{color:#1767aa;font:18px/1 var(--sans)}
.product-last-cta{display:flex;justify-content:space-between;align-items:center;gap:30px;padding:clamp(43px,7vw,82px) var(--pad);background:linear-gradient(110deg,#12334d,#1769a0);color:#fff}
.product-last-cta .product-eyebrow{color:#bed8eb}
.product-last-cta h2{font-size:clamp(48px,6vw,78px)}
.product-page [hidden]{display:none!important}
@media(max-width:960px){.product-row,.product-row-reverse{grid-template-columns:minmax(0,1fr) minmax(320px,.95fr)}.product-row-copy{padding:36px}.product-detail-copy{padding-right:6%}.product-detail-hero h1{font-size:clamp(52px,6.4vw,70px)}}
@media(max-width:720px){
  .product-hero{min-height:650px;align-items:flex-start}
  .product-hero-copy{width:calc(100% - var(--pad)*2);padding:37px 0 94px}
  .product-breadcrumb{margin-bottom:30px;font-size:12px}
  .product-eyebrow{font-size:9px}
  .product-hero h1{font-size:clamp(61px,14vw,87px);line-height:.86}
  .product-hero-copy>p:not(.product-eyebrow){font-size:16px;line-height:1.65}
  .product-hero-index{right:var(--pad);bottom:20px}.product-hero-index strong{font-size:32px}
  .product-intro,.product-spec-section,.product-process,.product-related,.product-service-note{padding-top:48px;padding-bottom:52px}
  .product-section-label{font-size:9px;letter-spacing:.09em}
  .product-intro-grid,.product-spec-grid,.product-process-grid,.product-service-note{grid-template-columns:1fr;gap:25px;padding-top:32px}
  .product-intro h2,.product-spec-main h2,.product-process h2,.product-service-note h2{font-size:clamp(48px,12vw,67px)}
  .product-intro-grid>div p,.product-spec-main>p,.product-service-note>div>p{font-size:15px}
  .product-row,.product-row-reverse{grid-template-columns:1fr;min-height:0}
  .product-row-reverse .product-row-image,.product-row-reverse .product-row-copy{grid-column:1;grid-row:auto}
  .product-row-image{min-height:290px;aspect-ratio:1.35}
  .product-row-copy{padding:33px var(--pad) 39px}
  .product-row-copy h2{margin:17px 0 11px;font-size:clamp(44px,11vw,59px)}
  .product-row-copy>p{font-size:15px}
  .product-row-copy li{font-size:14px}
  .product-row-actions{gap:14px 20px}
  .product-quote-band{grid-template-columns:1fr;gap:24px;padding:44px var(--pad) 50px}
  .product-quote-band h2{font-size:clamp(46px,11.5vw,64px)}
  .product-quote-band>div+div>p{font-size:15px}
  .product-service-note{padding-top:45px;padding-bottom:50px}
  .product-service-note .product-section-label{grid-column:1}
  .product-detail-hero{grid-template-columns:1fr}
  .product-detail-copy{padding:35px var(--pad) 36px}
  .product-detail-copy .product-breadcrumb{margin-bottom:28px}
  .product-detail-hero h1{font-size:clamp(53px,13vw,72px)}
  .product-detail-lead{font-size:15px}
  .product-detail-visual{min-height:0;aspect-ratio:1.38}
  .product-spec-grid{gap:23px}
  .product-spec-aside{padding:22px 19px}
  .product-estimate-section{grid-template-columns:1fr;gap:22px;padding:46px var(--pad) 50px}
  .product-estimate-head h2{font-size:clamp(42px,10vw,57px)}
  .product-estimate-body>p{font-size:14px}
  .product-process-grid{gap:24px}
  .product-related-links a{grid-template-columns:58px 1fr 19px;gap:10px;padding:14px 3px}
  .product-related-links strong{font-size:21px}
  .product-last-cta{align-items:flex-start;flex-direction:column;gap:22px;padding:43px var(--pad) 48px}
  .product-last-cta h2{font-size:clamp(46px,12vw,65px)}
  .product-last-cta .button{width:100%}
}
@media(max-width:370px){.product-row-image{min-height:248px}.product-section-label{font-size:8px}.product-hero-actions{align-items:stretch;flex-direction:column}.product-hero-actions .button{width:100%}.product-related-links a>span{font-size:9px}}
@media(prefers-reduced-motion:reduce){.product-row-image img,.product-row-actions a,.product-related-links a,.product-page .button{transition:none}}
