/* New World Class 3.0: homepage only; account and estimator styles stay independent. */
.homepage{--navy:#082c61;--blue:#075b9c;--ice:#f3faff;line-height:1.5}
.homepage .container{width:min(1180px,90%)}
.skip-link{position:absolute;left:20px;top:-80px;background:white;color:#082c61;padding:12px;z-index:20}
.skip-link:focus{top:12px}
.homepage .site-header{position:absolute;inset:0 0 auto;z-index:5;background:transparent;color:white;border:0;padding:16px 0;min-height:0}
.homepage .utility{display:flex;justify-content:flex-end;gap:30px;font-size:12px;margin-bottom:6px;color:white}
.homepage .utility a{color:inherit;text-decoration:none}
.homepage .site-header .nav{gap:30px;flex-wrap:nowrap}
.homepage .site-header .brand,.homepage .site-header .brand-name,.homepage .site-header .brand-name span{color:white}
.homepage .site-header .brand-name{font-size:21px}
.homepage .site-header .logo{width:76px;height:76px}
.homepage .site-header nav{gap:30px}
.homepage .site-header nav a,.homepage .site-header nav button{color:white;font-size:15px;padding:12px 0}
.homepage .site-header nav a.active{color:white;border-bottom:2px solid #8cd2f4}
.homepage .site-header nav a:hover,.homepage .site-header nav button:hover{color:#a8ddf9}
.homepage .hero{position:relative;isolation:isolate;overflow:hidden;background-color:#082c61;background-image:url('../images/hero-cleaning.jpg'),url('../images/standard-office.jpg');background-position:right center,center;background-size:auto 100%,cover;background-repeat:no-repeat}
.homepage .hero::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(3,37,76,.94),rgba(3,45,83,.73) 37%,rgba(3,45,83,.15) 72%),linear-gradient(180deg,rgba(3,26,53,.7),transparent 35%)}
.hero-video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 46%;z-index:-2}
.homepage .hero-grid{display:flex;align-items:center;min-height:650px;padding-top:125px;padding-bottom:64px}
.homepage .hero-copy{padding:32px 0;max-width:650px}
.homepage .hero h1{font-size:clamp(42px,4.7vw,65px);line-height:1.06;letter-spacing:-2px;color:white;margin:0 0 8px}
.homepage .hero h2{font-size:clamp(32px,4vw,53px);line-height:1.12;letter-spacing:-1.6px;color:#a8ddf9;margin:0 0 24px}
.homepage .hero p{max-width:505px;color:white;font-size:19px;line-height:1.6;margin:0 0 30px}
.homepage .button{background:#0870b7;border-radius:5px;gap:24px;padding:16px 25px;transition:background .18s}
.homepage .button:hover{background:#075b9c}
.homepage a:focus-visible,.homepage button:focus-visible{outline:3px solid #8cd2f4;outline-offset:5px}
.homepage .trust{padding:34px 0;background:#eff9ff}
.homepage .four article{padding:0 24px}
.homepage .icon,.homepage .line-icon{display:flex;align-items:center;justify-content:center;height:46px;font-size:0}
.homepage .icon svg,.homepage .line-icon svg{width:40px;height:40px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.homepage .four h3{margin:10px 0 6px;font-size:17px}
.homepage .four p{font-size:14px;line-height:1.5}
.homepage .section{padding:60px 0}
.homepage .section-title{font-size:clamp(29px,3.2vw,40px);letter-spacing:-1px;line-height:1.2;margin:0 0 12px}
.homepage .section-lead{font-size:18px;margin:0 0 32px;line-height:1.5}
.homepage #services .six{grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.homepage #services article{display:flex;align-items:center;text-align:left;gap:20px;padding:24px;border:1px solid #dce8f2;border-radius:6px}
.homepage #services .line-icon{width:64px;height:64px;flex-shrink:0;border-radius:50%;background:#e9f6ff}
.homepage #services .line-icon svg{width:34px;height:34px}
.homepage #services h3{font-size:16px;line-height:1.4;margin:0}
.homepage .standard{min-height:450px;background:#edf8ff}
.homepage .standard-copy{padding:48px max(6%,24px)}
.homepage .standard-copy h2{font-size:32px;letter-spacing:-.7px;line-height:1.2;margin:0 0 18px}
.homepage .standard-copy>p{font-size:16px;line-height:1.65;margin:0 0 20px}
.homepage .standard li{font-size:15px;margin:12px 0;display:flex;align-items:baseline}
.homepage .standard li::before{flex-shrink:0}
.homepage .standard-about-link{display:inline-flex;align-items:center;gap:15px;color:#075b9c;font-weight:700;margin-top:22px;text-underline-offset:5px}
.homepage .industries .six{grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.homepage .industries article{position:relative;isolation:isolate;overflow:hidden;min-height:155px;display:flex;flex-direction:column;justify-content:center;border:0;border-radius:5px;padding:20px;background:#082c61 url('../images/standard-office.jpg') center/cover}
.homepage .industries article::before{content:"";position:absolute;inset:0;z-index:-1;background:rgba(3,34,65,.79)}
.homepage .industries article:nth-child(even){background-image:url('../images/hero-cleaning.jpg');background-position:left center}
.homepage .industries h3,.homepage .industries p,.homepage .industries .line-icon{color:white}
.homepage .industries h3{margin:8px 0 2px;font-size:17px}
.homepage .industries p{font-size:13px;color:#d1e9f7}
.homepage .cta{padding:45px 0;background:linear-gradient(110deg,#082c61,#075b9c)}
.homepage .cta-row{gap:30px}
.homepage .cta h2{font-size:29px;line-height:1.3;margin-bottom:10px}
.homepage .cta p{font-size:16px}
.homepage .cta .button{white-space:nowrap;border:1px solid #73bbe5}
.homepage footer{padding:30px 0}
.homepage .footer-brand .logo{width:65px;height:65px}
.homepage .footer-brand .brand-name{font-size:17px}
.homepage .footer-brand .brand-name b{letter-spacing:3px}
.homepage footer a{color:#075b9c}
.homepage footer .button{color:white}
.homepage .tag{font-family:Arial,Helvetica,sans-serif;font-size:14px;font-style:italic;transform:none}
.homepage .menu-toggle{display:none}
@media(max-width:1050px){
.homepage .site-header nav{order:initial;width:auto;gap:20px;justify-content:flex-end}
.homepage .site-header .brand-name,.homepage .site-header .brand-name span{font-size:17px}
.homepage .site-header .logo{width:60px;height:60px}
.homepage .hero-grid{min-height:600px}
.homepage .hero-copy{max-width:560px}
.homepage .four article{padding:0 15px}
.homepage .footer-row{flex-wrap:wrap}
}
@media(max-width:760px){
.homepage .site-header{padding-top:12px}
.homepage .utility{font-size:11px;gap:18px}
.homepage .site-header .nav{flex-wrap:wrap;gap:10px}
.homepage .site-header .brand-name,.homepage .site-header .brand-name span{font-size:16px}
.homepage .site-header .logo{width:54px;height:54px}
.homepage .site-header .menu-toggle{display:inline-flex;color:white;align-items:center;gap:8px;border:1px solid #ffffff70;border-radius:4px;background:#082c6170;padding:9px 12px;font:inherit;font-size:13px;cursor:pointer}
.homepage .site-header nav{width:100%;order:3;justify-content:center;gap:18px}
.homepage.js .site-header nav{display:none;background:#082c61;padding:12px 16px;border-radius:6px;justify-content:flex-start}
.homepage.js .site-header nav.is-open{display:flex}
.homepage .site-header nav a,.homepage .site-header nav button{font-size:13px}
.homepage .hero{background-position:61% center,center;background-size:cover,cover}
.homepage .hero::before{background:linear-gradient(90deg,rgba(3,37,76,.94),rgba(3,37,76,.74) 58%,rgba(3,37,76,.32)),linear-gradient(180deg,rgba(3,26,53,.65),transparent 40%)}
.homepage .hero-grid{min-height:620px;padding-top:155px;padding-bottom:35px}
.homepage .hero-copy{max-width:470px}
.homepage .hero h1{letter-spacing:-1px;font-size:44px}
.homepage .hero h2{font-size:36px;letter-spacing:-.8px}
.homepage .hero p{font-size:17px}
.homepage .four{grid-template-columns:repeat(2,minmax(0,1fr));gap:28px 10px}
.homepage .four article{border:0}
.homepage #services .six,.homepage .industries .six{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.homepage #services article{gap:12px;padding:18px 14px;flex-direction:column;text-align:center}
.homepage .standard{grid-template-columns:1fr}
.homepage .standard-photo{height:300px}
.homepage .standard-copy{padding:35px 6%}
.homepage .section{padding:40px 0}
.homepage .section-lead{font-size:16px}
.homepage .cta-row,.homepage .footer-row{flex-direction:column;align-items:flex-start}
.homepage .cta h2{font-size:26px}
.homepage .footer-row{gap:22px}
.homepage .tag{align-self:flex-start}
}
@media(max-width:390px){.homepage .hero h1{font-size:38px}.homepage .hero h2{font-size:30px}.homepage .utility{gap:12px}.homepage .site-header .brand-name,.homepage .site-header .brand-name span{font-size:13px}.homepage .site-header .brand-name b{letter-spacing:3px}.homepage .site-header nav{gap:14px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.homepage .button{transition:none}.hero-video{display:none}}
