/* Give the content a frame that fits it, rather than enlarging the whole hero. */
.hero{max-width:1360px;margin-inline:auto}
.hero-home{height:auto;min-height:530px;max-width:1280px;background:#f6fbff}
.hero-home .hero-inner{display:block;padding-top:0;position:relative;height:auto}
.hero-home .hero-copy{max-width:51%;text-align:left;padding:32px 0}
.hero-home h1{font-size:43px;line-height:1.32}
.hero-home .hero-sub{font-size:21px;margin-top:14px}
.hero-home .hero-photo{inset:0 0 0 auto;width:52%;height:100%;object-fit:cover;object-position:right center;margin:0}
.hero-home .hero-wash{background:linear-gradient(90deg,#f6fbff 40%,#f6fbffe6 47%,transparent 63%)}
.hero-home .hero-extra{position:static;margin-top:19px;display:block}
.hero-home .price-badge{display:inline-flex;font-size:17px;padding:11px 20px;gap:13px}
.hero-home .price-badge strong{font-size:36px}
.hero-home .price-badge small{font-size:20px}
.hero-home .price-badge>svg{width:42px;height:42px}
.hero-home .hero-actions{position:static;display:flex;flex-wrap:wrap;margin-top:20px;gap:12px}
.hero-home .hero-actions .button{font-size:17px;min-height:46px;padding-inline:23px}
.services-grid{grid-template-columns:33% 1fr;gap:18px}
.service-copy{padding:18px 19px;gap:13px}
.service-copy h3{font-size:26px}
.service-copy p{font-size:17px}
.service-copy .icon-badge{width:65px;height:65px}
.service-copy .icon-badge svg{width:34px;height:34px}
.service-side{grid-template-columns:35% 1fr;min-height:0}
.service-side>div:last-child{display:flex;flex-direction:column;justify-content:center;align-items:flex-start;padding:21px 25px}
.service-side .icon-badge{float:none;margin:0 0 10px;width:48px;height:48px}
.service-side h3{min-height:0;font-size:24px}
.service-side p{margin-top:9px;font-size:17px}
.service-side .text-link{margin-top:14px}
.service-main>.scene{aspect-ratio:1;flex:none}
.scene>img{width:100%;height:100%;object-fit:cover;display:block}
@media(min-width:701px) and (max-width:1100px){.hero-home{min-height:490px}.hero-home h1{font-size:35px}.hero-home .hero-copy{max-width:53%;padding:26px 0}.hero-home .hero-sub{font-size:18px}.hero-home .hero-actions .button{font-size:15px;padding-inline:18px}.service-copy{padding:16px 14px;gap:10px}.service-copy h3{font-size:22px}.service-copy p{font-size:14px}.service-copy .text-link{font-size:16px}.service-copy .icon-badge{width:52px;height:52px}.service-side>div:last-child{padding:17px 18px}.service-side h3{font-size:21px}.service-side p{font-size:15px}.service-side .icon-badge{width:40px;height:40px}}
@media(max-width:900px){
 .hero-home{min-height:0;display:flex;flex-direction:column}
 .hero-home .hero-inner{width:100%;padding:0 22px;order:0;background:#f6fbff}
 .hero-home .hero-copy{max-width:100%;text-align:center;padding:24px 0}
 .hero-home h1{font-size:clamp(30px,4.8vw,39px)}
 .hero-home .hero-sub{font-size:18px;max-width:600px;margin-inline:auto}
 .hero-home .hero-extra{display:flex;justify-content:center;margin-top:16px}
 .hero-home .hero-actions{justify-content:center;margin-top:16px}
 .hero-home .hero-photo{position:relative;inset:auto;order:1;width:100%;height:auto;aspect-ratio:3/2;object-fit:cover;max-height:390px;object-position:center;background:#f6fbff}
 .hero-home .hero-wash{display:none}
}
@media(max-width:700px){
 .services-grid{grid-template-columns:1fr}
 .service-main{display:grid;grid-template-columns:43% 1fr;align-items:stretch}
 .service-main>.scene{height:100%;min-height:0;aspect-ratio:auto}
 .service-copy{padding:17px 14px;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:7px}
 .service-copy .icon-badge{width:43px;height:43px;margin:0 0 2px}
 .service-copy .icon-badge svg{width:26px;height:26px}
 .service-copy h3{font-size:21px}
 .service-copy p{font-size:14px;line-height:1.6}
 .service-copy .text-link{font-size:16px;margin-top:5px}
 .service-side{grid-template-columns:43% 1fr;min-height:0}
 .service-side>div:last-child{padding:17px 14px}
 .service-side .icon-badge{width:43px;height:43px;margin-bottom:8px}
 .service-side h3{font-size:21px;line-height:1.4}
 .service-side p{font-size:14px;margin-top:7px}
 .service-side .text-link{font-size:16px;margin-top:9px}
 .hero-home .price-badge{font-size:16px}
 .hero-home .price-badge strong{font-size:33px}
 .hero-home .hero-actions .button{font-size:16px;padding-inline:20px}
 .hero-home .hero-photo{max-height:none}
}
@media(max-width:370px){.hero-home .hero-actions .button{font-size:14px;padding-inline:17px}.service-copy h3,.service-side h3{font-size:19px}.service-copy p,.service-side p{font-size:13px}}
.site-header nav{gap:16px}
.nav-services{position:relative}
.nav-services-heading{display:flex;align-items:center;gap:2px}
.nav-services-heading>a{font-size:14px;white-space:nowrap;padding:12px 0}
.nav-services-heading>a.active{color:var(--blue);text-decoration:underline;text-underline-offset:12px}
.services-toggle{display:inline-flex;align-items:center;justify-content:center;min-width:30px;min-height:40px;border:0;border-radius:8px;color:var(--blue);background:transparent}
.services-toggle:hover,.services-toggle[aria-expanded=true]{background:var(--pale)}
.services-submenu{position:absolute;right:0;top:100%;width:330px;max-width:calc(100vw - 40px);padding:8px;background:white;border:1px solid var(--line);border-radius:14px;box-shadow:0 10px 30px #09245c18;z-index:35}
.services-submenu[hidden]{display:none}
.services-submenu a{display:block;padding:11px 14px;font-size:15px;border-radius:8px;line-height:1.6;overflow-wrap:anywhere}
.services-submenu a:hover,.services-submenu a:focus-visible{background:var(--pale);color:var(--blue)}
.business-services-page{padding-block:55px 70px;min-height:65vh}
.business-services-title{margin-bottom:30px}
.business-services-title h1{font-size:44px}
.business-title-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.business-title-card{display:flex;align-items:center;gap:20px;min-height:130px;padding:25px;background:linear-gradient(120deg,#f3faff,white);scroll-margin-top:115px}
.business-title-number{font-size:26px;color:var(--blue);font-weight:500;flex-shrink:0}
.business-title-card h2{font-size:25px;overflow-wrap:anywhere}
@media(min-width:1021px) and (max-width:1400px){.site-header .brand-name strong{font-size:12px}.site-header .brand-name small{font-size:11px}.site-header .brand{gap:10px}.site-header nav{gap:12px}.site-header nav>a:not(.button),.nav-services-heading>a{font-size:12px}.site-header nav>.button{padding-inline:15px;font-size:15px}.nav-wrap{gap:16px}.site-header .brand-mark img{width:132px;height:auto}}
@media(max-width:1020px){.nav-services{width:100%}.nav-services-heading{justify-content:space-between}.nav-services-heading>a{font-size:16px;padding:10px 12px;flex:1}.services-toggle{width:44px;height:44px}.services-submenu{position:static;width:100%;max-width:none;box-shadow:none;margin-bottom:8px;background:#f6fbff}.site-header nav{max-height:calc(100dvh - 90px);overflow-y:auto}}
@media(max-width:700px){.business-services-page{padding-block:30px 40px}.business-services-title h1{font-size:32px}.business-title-grid{grid-template-columns:1fr;gap:12px}.business-title-card{padding:20px 18px;gap:14px;min-height:100px}.business-title-card h2{font-size:22px}.business-title-number{font-size:23px}}
