/* Allow the one-shot WebGL reveal; its canvas is released after playback. */
.cb-hero-aligned #nx_hero_anim.is-revealing img{visibility:hidden!important}
.cb-hero-aligned #nx_hero_anim.is-revealing canvas{display:block!important}
@media(min-width:1200px){.cb-hero-aligned #nx_hero_anim img{width:100%;height:100%;object-fit:cover;object-position:center}}
/* The desktop composition stays intact; touch layouts get explicit grid areas. */
@media(max-width:1199px){
 .nx-hero1-sec.cb-hero-aligned{border-radius:0 0 40px 40px}
 .cb-hero-aligned .nx-hero1-content{display:grid!important;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);grid-template-areas:"heading heading" "description description" "art eye" "art proof" "art brand";gap:22px;max-width:720px;width:100%;padding:122px 24px 0;align-items:center}
 .cb-hero-aligned .nx-hero1-left,.cb-hero-aligned .nx-hero1-right,.cb-hero-aligned .nx-hr1-bottom{display:contents!important}
 .cb-hero-aligned .nx-hero1-text{grid-area:heading;position:relative;z-index:3;margin:0;text-align:center;min-width:0}
 .cb-hero-aligned .nx-hero1-text .hr1-slug{font-size:clamp(12px,2.4vw,16px);line-height:1.5;margin-bottom:14px;letter-spacing:0}
 .cb-hero-aligned .nx-hero1-text .hr1_title{font-size:clamp(34px,7.7vw,60px);line-height:1.08;letter-spacing:-1.5px;margin:0}
 .cb-hero-aligned .cb-hero-title-first{display:block}
 .cb-hero-aligned .nx-hr1-desc-text{grid-area:description;position:relative;z-index:3;max-width:540px;min-width:0;margin:0 auto;text-align:center}
 .cb-hero-aligned .nx-hr1-desc-text p{font-size:17px;line-height:1.5;margin-bottom:20px;letter-spacing:0}
 .cb-hero-aligned .nx-hr1-desc-text .nx-btn1{display:flex;justify-content:center}
 .cb-hero-aligned #nx_hero_anim{grid-area:art;position:relative!important;inset:auto!important;z-index:1;width:calc(100% + 80px);max-width:none;height:clamp(340px,56vw,460px);margin:0 -40px 0 0;transform:none;align-self:end;justify-self:end;overflow:visible}
 .cb-hero-aligned #nx_hero_anim img{width:100%;height:100%;object-fit:contain;object-position:center bottom;opacity:1!important;visibility:visible!important}
 .cb-hero-aligned #nx_hero_anim canvas{display:none!important}
 .cb-hero-aligned .nx-hr1-bottom .bottom-video{grid-area:eye;position:relative;z-index:3;width:100%;max-width:240px;height:clamp(92px,16vw,156px);min-width:0;border-radius:20px;align-self:end;justify-self:start}
 .cb-hero-aligned .nx-hr1-bottom .bottom-video video{display:block;width:100%;height:100%;object-fit:cover}
 .cb-hero-aligned .nx-hr1-bottom .nx-hr1-client{grid-area:proof;position:relative;z-index:3;width:100%;max-width:190px;min-width:0;min-height:0;align-self:start;justify-self:start}
 .cb-hero-aligned .nx-hr1-client .nx-hr1-slide-area{justify-content:flex-start!important;height:40px;flex-basis:40px;margin-bottom:12px;max-width:100%;overflow:hidden}
 .cb-hero-aligned .nx-hr1-slide-area .nx-hr1-cl-slide,.cb-hero-aligned .nx-hr1-slide-area .swiper-wrapper{height:40px}
 .cb-hero-aligned .nx-hr1-slide-area .nx-hr1-cl-slide{width:84px;margin-right:-20px}
 .cb-hero-aligned .nx-hr1-cl-slide .nx-h-cl-img{width:40px;height:40px;margin-left:-20px}
 .cb-hero-aligned .nx-hr1-bottom .cl_circle{width:40px;height:40px;margin-left:-20px}
 .cb-hero-aligned .nx-hr1-client .nx-hr1-cl-text{display:flex;flex-wrap:nowrap;gap:8px;justify-content:flex-start}
 .cb-hero-aligned .nx-hr1-cl-text h3{font-size:34px}
 .cb-hero-aligned .nx-hr1-client .cl-text{font-size:10px}
 .cb-hero-aligned .nx-hr1-client .cl-text span{font-size:9px;line-height:1.4}
 .cb-hero-aligned .nx-hr1-brand{grid-area:brand;position:relative;z-index:3;max-width:190px;width:auto;min-height:0;margin:0 0 24px;text-align:left;justify-self:start;align-self:start}
 .cb-hero-aligned .nx-hr1-brand h3{font-size:16px;line-height:1.4}
 .cb-hero-aligned .nx-hero1-marquee,.cb-hero-aligned .nx-hr-social{display:none}
 .cb-why-clean .nx-why-c2-item3 h3{font-size:18px;overflow-wrap:anywhere}
}
@media(max-width:767px){
 .cb-hero-aligned .nx-hero1-content{gap:20px;padding:112px 20px 0}
 .cb-hero-aligned .nx-hero1-text .hr1_title{letter-spacing:-1px}
 .nx-get-in-form{padding:28px 24px;border-radius:24px;min-width:0}
 .nx-get-in-form .nx-sec-title1 .sec_title{font-size:clamp(26px,6vw,34px);line-height:1.2;letter-spacing:-.8px}
 .nx-get-in-form .input-wrapper{grid-template-columns:minmax(0,1fr);gap:20px}
 .nx-get-in-form .item-input,.nx-get-in-form .wpcf7-form-control-wrap{min-width:0}
 .nx-get-in-form form input:not([type=hidden]),.nx-get-in-form form select,.nx-get-in-form form textarea{font-size:16px;width:100%;max-width:100%;min-height:48px}
 .nx-get-in-form form label{font-size:15px}
 .nx-get-in-form form textarea{height:144px}
 .nx-get-in-form form button{max-width:100%;margin-top:24px}
 .cenova-inner .cb-section h1{font-size:clamp(34px,9vw,46px);overflow-wrap:anywhere}
 .cenova-inner .cb-section h2{font-size:clamp(28px,7.5vw,36px);overflow-wrap:anywhere}
 .cb-section .cb-card,.cb-section .cb-article,.cb-section .cb-split>*{min-width:0}
 .cb-section p,.cb-section li,.cb-section a{overflow-wrap:break-word}
 .cb-footer-link-group a{display:inline-flex;align-items:center;min-height:36px;max-width:100%}
 .cb-footer-contact-column a{overflow-wrap:anywhere}
}
@media(max-width:380px){
 .nx-get-in-form{padding:24px 20px}
 .cb-hero-aligned .nx-hero1-content{column-gap:14px;padding-left:18px;padding-right:18px}
 .cb-hero-aligned .nx-hr1-cl-text h3{font-size:30px}
 .cb-hero-aligned .nx-hr1-client .cl-text{font-size:9px}
}

/* SplitText records an inline alignment at initialization; inherit it on resize. */
.cb-hero-aligned .nx-hero1-text .hr1_title .split-line{text-align:inherit!important}
/* A focused phone hero, also used in short landscape viewports. */
@media(max-width:767px),(max-width:1199px) and (max-height:500px){
 .cb-hero-aligned .nx-hero1-content{grid-template-columns:minmax(0,1fr);grid-template-areas:"heading" "description" "brand" "art";gap:18px;padding:104px 22px 0}
 .cb-hero-aligned .nx-hero1-text{width:100%;text-align:center}
 .cb-hero-aligned .nx-hero1-text .hr1-slug{margin-bottom:12px}
 .cb-hero-aligned .nx-hero1-text .hr1_title{font-size:clamp(34px,7.7vw,50px);text-align:center;letter-spacing:-1px}
 .cb-hero-aligned .nx-hr1-desc-text{width:100%;max-width:440px;text-align:center;margin:0 auto}
 .cb-hero-aligned .nx-hr1-desc-text p{margin-bottom:20px}
 .cb-hero-aligned .nx-hr1-brand{width:100%;max-width:none;justify-self:center;align-self:center;text-align:center!important;margin:4px 0 0}
 .cb-hero-aligned .nx-hr1-brand h3{font-size:15px;line-height:1.4}
 .cb-hero-aligned #nx_hero_anim{width:calc(100% + 44px);max-width:400px;height:clamp(300px,88vw,370px);justify-self:center;align-self:end;margin:0;z-index:1}
 .cb-hero-aligned .nx-hr1-bottom .bottom-video,.cb-hero-aligned .nx-hr1-bottom .nx-hr1-client{display:none!important}
}
