/* One catalogue for the surfaces we clean and the structures we inspect. */
.catalog-hero{position:relative;isolation:isolate;overflow:hidden;padding-top:205px;padding-bottom:90px;min-height:690px;display:flex;align-items:center}
.catalog-hero::after{content:'';position:absolute;z-index:-1;inset:0;background:radial-gradient(ellipse at 80% 55%,#007fba18,transparent 48%)}
.catalog-hero-copy{position:relative;z-index:1;max-width:800px}
.catalog-hero h1{font-size:clamp(52px,6.8vw,98px);line-height:1.04;margin:24px 0 30px;max-width:850px;letter-spacing:-.065em}
.catalog-hero .page-lead{max-width:580px;font-size:17px}
.catalog-orbit{position:absolute;right:4%;top:22%;width:40%;max-width:580px;aspect-ratio:1;z-index:-1;opacity:.42;color:#8fd4ef;display:grid;place-items:center}
.catalog-orbit::before,.catalog-orbit::after{content:'';position:absolute;border:1px solid #98d6ec21;border-radius:50%;width:100%;height:42%;transform:rotate(-20deg)}
.catalog-orbit::after{transform:rotate(20deg);width:80%;height:60%}
.catalog-orbit .identity-icon{width:62%;height:62%;opacity:.75;stroke-width:.65px}
.catalog-jump{display:inline-flex;gap:35px;align-items:center;margin-top:35px;color:#c4dfec;font-size:12px;border-bottom:1px solid var(--identity-line);padding-bottom:13px}
.catalog-jump span{font-size:21px}
.catalog-intro{display:flex;justify-content:space-between;gap:45px;align-items:end;padding-top:45px;padding-bottom:40px;border-top:1px solid var(--identity-line)}
.catalog-intro h2{font-size:clamp(31px,3.7vw,52px);max-width:540px;margin-top:20px}
.catalog-intro>p{max-width:370px;color:#aac6d6;font-size:14px;line-height:1.9}
.catalog-filters{display:flex;gap:30px;align-items:center;flex-wrap:wrap;margin:8px 0 32px;border-bottom:1px solid var(--identity-line)}
.catalog-filters button{position:relative;padding:15px 0;color:#9dbdcc;font-size:14px;min-height:48px}
.catalog-filters button[aria-pressed="true"]{color:#e6f4fa}
.catalog-filters button[aria-pressed="true"]::after{content:'';position:absolute;bottom:-1px;left:0;right:0;height:2px;background:var(--brand-gradient)}
.catalog-filter-count{margin-left:auto;color:#96b6c8;font-size:10px;font-variant-numeric:tabular-nums}
.catalog-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;padding-bottom:90px}
.catalog-card{position:relative;isolation:isolate;min-height:470px;display:flex;flex-direction:column;overflow:hidden;border:0;background:transparent;padding:30px}
/* Keep the fade fixed while the photograph moves, and leave copy unmasked. */
.catalog-card-visual{position:absolute;inset:0;z-index:-1;isolation:isolate;pointer-events:none;overflow:hidden;-webkit-mask-image:linear-gradient(90deg,transparent,#000 15%,#000 85%,transparent),linear-gradient(180deg,transparent,#000 15%,#000 65%,transparent);mask-image:linear-gradient(90deg,transparent,#000 15%,#000 85%,transparent),linear-gradient(180deg,transparent,#000 15%,#000 65%,transparent);-webkit-mask-composite:source-in;mask-composite:intersect}
.catalog-card-image{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:0;transition:transform .7s ease;transform:scale(1.01)}
.catalog-card:hover .catalog-card-image{transform:scale(1.045)}
.catalog-card-veil{position:absolute;inset:0;z-index:1;background:linear-gradient(0deg,#041b2bf5 0%,#041b2be0 18%,#041b2b99 42%,#041b2b24 68%,transparent 90%),linear-gradient(90deg,#041b2b38,transparent 75%)}
.catalog-card-kicker{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:100px}
.catalog-card-kicker .identity-icon{width:36px;height:36px}
.catalog-card-kicker .eyebrow{color:#c3dfed;text-shadow:0 2px 14px #041b2b}
.catalog-card-copy{margin-top:auto}
.catalog-card h3{font-size:clamp(28px,2.8vw,39px);line-height:1.12;max-width:440px;margin-bottom:17px;text-shadow:0 2px 18px #041b2b99}
.catalog-card-copy>p{font-size:13px;line-height:1.85;color:#bad1de;max-width:430px}
.catalog-card-link{display:flex;justify-content:space-between;gap:25px;align-items:center;margin-top:29px;padding-top:17px;border-top:1px solid #acd6e530;color:#d6ebf4;font-size:12px}
.catalog-card-link::after{content:'';position:absolute;inset:0;z-index:3}
.catalog-card-link:focus-visible{outline:none}
.catalog-card:focus-within{outline:2px solid #75c6ed;outline-offset:5px}
.catalog-card-link>span{font-size:27px;transition:transform .25s}
.catalog-card:hover .catalog-card-link>span{transform:translate(3px,-3px)}
.catalog-card-diagram{position:absolute;right:8%;top:16%;width:45%;height:45%;z-index:-2;opacity:.28;color:#bdefff}
.catalog-card-diagram .identity-icon{width:100%;height:100%;stroke-width:.75px}
.catalog-card.is-diagram{background:radial-gradient(ellipse closest-side at 65% 35%,#007fba20,transparent)}
.catalog-card.is-diagram::after{content:'';position:absolute;left:0;right:0;top:45%;height:1px;z-index:-2;background:linear-gradient(90deg,transparent,#8bd5ec26,transparent);transform:rotate(-13deg)}
.catalog-note{color:#a3c3d3;font-size:12px;line-height:1.9;padding-bottom:60px;max-width:970px}
.catalog-credits{padding-top:26px;padding-bottom:26px;border-top:1px solid #acd6e524;font-size:9px;line-height:1.9;color:#8faebb}
.catalog-credits p+p{margin-top:8px}
.catalog-credits a{text-decoration:underline;text-underline-offset:3px}
.catalog-footer{display:flex;gap:24px;flex-wrap:wrap;width:100%;padding-top:24px;border-top:1px solid #aacbdb24}
.catalog-footer a{font-size:11px;color:#b4cfdd}
.catalog-footer a:hover{color:#fff}
.diagram-hero{background:radial-gradient(ellipse at 80% 48%,#0a567139,transparent 59%);min-height:720px}
.diagram-hero-art{position:absolute;right:6%;top:22%;width:43%;height:62%;display:grid;place-items:center;opacity:.5}
.diagram-hero-art::before,.diagram-hero-art::after{content:'';position:absolute;left:0;right:0;bottom:17%;height:24%;border:1px solid #8ed7f026;border-radius:50%;transform:rotate(-12deg)}
.diagram-hero-art::after{left:-10%;right:-10%;bottom:12%;height:32%;opacity:.6}
.diagram-hero-art>.identity-icon{width:82%;height:82%;max-width:570px;stroke-width:.7px;color:#bdefff}
.diagram-hero .service-hero-copy{max-width:1040px}
.diagram-hero .page-lead{max-width:530px}
.diagram-hero .service-hero-copy h1{font-size:clamp(47px,6.2vw,88px);max-width:960px}
.diagram-hero .service-hero-shade{background:linear-gradient(90deg,#041b2b95,transparent 75%),linear-gradient(0deg,#041b2b,transparent 45%)}
.scope-section{padding-top:35px;padding-bottom:100px}
.scope-layout{display:grid;grid-template-columns:1fr 1.2fr;gap:11%}
.scope-layout h2{font-size:clamp(33px,3.8vw,53px);margin:22px 0}
.scope-intro{color:#a8c4d4;font-size:14px;line-height:1.9;max-width:415px}
.scope-list{list-style:none;margin:0;padding:0}
.scope-list li{padding:22px 0;border-top:1px solid var(--identity-line);display:flex;gap:23px;color:#c7dce7;font-size:16px;line-height:1.7}
.scope-list li span{font-size:10px;color:#83bcd3;padding-top:5px;flex:0 0 20px;font-variant-numeric:tabular-nums}
.service-faq{padding-top:75px;padding-bottom:105px;border-top:1px solid var(--identity-line)}
.service-faq .section-heading{margin-bottom:40px}
.service-faq details{border-top:1px solid var(--identity-line);max-width:1000px}
.service-faq details:last-child{border-bottom:1px solid var(--identity-line)}
.service-faq summary{display:flex;justify-content:space-between;gap:25px;align-items:center;cursor:pointer;padding:25px 0;font-size:20px;list-style:none}
.service-faq summary::-webkit-details-marker{display:none}
.service-faq summary::after{content:'+';color:#a4d9ed;font-size:25px;font-weight:300}
.service-faq details[open] summary::after{content:'−'}
.service-faq summary:focus-visible{outline:2px solid #75c6ed;outline-offset:5px}
.service-faq details p{color:#a9c5d5;line-height:1.9;font-size:14px;max-width:830px;padding:0 45px 27px 0}
.request-facts{display:flex;gap:10px 25px;flex-wrap:wrap;list-style:none;margin:32px 0 0;padding:0;color:#a8c9da;font-size:11px}
.request-facts li::before{content:'·';margin-right:9px;color:#79bdd9}
@media(min-width:1500px){.catalog-grid{gap:30px}.catalog-card{min-height:530px;padding:38px}.catalog-card-copy>p{font-size:15px}.catalog-card-link{font-size:13px}}
@media(max-width:1000px){.catalog-hero h1{font-size:70px}.catalog-orbit{right:-6%;width:48%;opacity:.23}.catalog-intro{gap:7%}.catalog-card{padding:25px;min-height:455px}.diagram-hero-art{right:-5%;width:50%;opacity:.3}}
@media(max-width:760px){.catalog-hero{padding-top:160px;padding-bottom:65px;min-height:0}.catalog-hero h1{font-size:clamp(46px,10.5vw,72px);margin-top:22px}.catalog-hero .page-lead{font-size:14px;max-width:450px}.catalog-orbit{top:18%;right:-21%;width:76%;opacity:.14}.catalog-jump{margin-top:27px;font-size:11px}.catalog-intro{display:block;padding-top:32px;padding-bottom:23px}.catalog-intro h2{font-size:36px}.catalog-intro>p{margin-top:23px;max-width:500px;font-size:13px}.catalog-filters{gap:22px;margin-bottom:25px}.catalog-filters button{font-size:12px}.catalog-filter-count{font-size:9px}.catalog-grid{grid-template-columns:1fr;gap:24px;padding-bottom:50px}.catalog-card{min-height:460px;padding:25px}.catalog-card h3{font-size:35px}.catalog-card-copy>p{font-size:14px;max-width:430px}.catalog-card-link{font-size:12px}.catalog-card-kicker{margin-bottom:100px}.catalog-card-diagram{right:8%;width:45%;opacity:.28}.catalog-note{font-size:11px;padding-bottom:50px}.catalog-footer{gap:17px 23px;padding-top:23px}.catalog-footer a{font-size:10px}.catalog-credits{font-size:8px}.diagram-hero{min-height:680px;max-height:900px}.diagram-hero-art{top:8%;right:-9%;height:50%;width:76%;opacity:.32}.diagram-hero .service-hero-copy{padding-top:265px}.diagram-hero .service-hero-copy h1{font-size:clamp(43px,10.4vw,68px)}.diagram-hero .service-hero-shade{background:linear-gradient(0deg,#041b2b,#041b2b88 30%,transparent 65%)}.scope-section{padding-top:25px;padding-bottom:65px}.scope-layout{grid-template-columns:1fr;gap:28px}.scope-layout h2{font-size:35px}.scope-intro{font-size:13px;max-width:500px}.scope-list li{font-size:14px;gap:18px;padding:19px 0}.service-faq{padding-top:60px;padding-bottom:65px}.service-faq summary{font-size:18px;padding:23px 0}.service-faq details p{font-size:13px;padding-right:12px}.request-facts{font-size:10px;gap:8px 18px;margin-top:26px}}
@media(max-width:380px){.catalog-card{padding:21px}.catalog-card h3{font-size:31px}.catalog-filters{gap:16px}.catalog-filter-count{width:100%;margin:0;padding-bottom:14px}.diagram-hero .service-hero-copy h1{font-size:40px}}
@media(prefers-reduced-motion:reduce){.catalog-card-image,.catalog-card-link>span{transition:none}.catalog-card:hover .catalog-card-image{transform:none}}
@media(forced-colors:active){.catalog-card{border:1px solid CanvasText;background:Canvas}.catalog-card-veil,.catalog-card-image,.catalog-orbit,.diagram-hero-art{display:none}.catalog-filters button[aria-pressed="true"]{border-bottom:2px solid Highlight}.catalog-card-link{color:LinkText}}
