/* Option B2 — realistic raster layers, stationary grilles and independent rotors. */
.equipment-tile .equipment-icon.hardware-photo{display:block!important;position:relative!important;width:min(176px,100%)!important;height:auto!important;aspect-ratio:1!important;min-height:0!important;margin:25px auto 8px!important;border:0!important;border-radius:0!important;background:transparent!important;box-shadow:none!important;overflow:visible!important;animation:none!important;transform:none!important;opacity:1!important;filter:none!important;isolation:isolate}
.equipment-tile .equipment-icon.hardware-photo::before,.equipment-tile .equipment-icon.hardware-photo::after{display:none!important;content:none!important}
.hardware-photo span{display:block}
.hardware-photo .hwb2-body{position:absolute;inset:0;filter:grayscale(.9) brightness(.48);transition:filter .3s}
.equipment-tile.is-on .hardware-photo .hwb2-body{filter:drop-shadow(0 5px 5px #0004)}
.hardware-photo .hwb2-sprite{position:absolute;inset:0;background-image:url('hardware-b2-atlas.png');background-repeat:no-repeat;background-size:500% 200%;pointer-events:none}
.hardware-photo .hwb2-frame{z-index:2;background-position:0 0}
[data-output="heater"] .hwb2-frame{background-position:0 0;clip-path:inset(0 0 7% 0)}
[data-output="humidifier"] .hwb2-frame{background-position:25% 0}
[data-output="fan"] .hwb2-frame{background-position:50% 0}
[data-output="ventilation"] .hwb2-frame{background-position:75% 0}
[data-output="exhaust_fan"] .hwb2-frame{background-position:100% 0}
.hardware-photo .hwb2-rotor-position{position:absolute;inset:0;z-index:1;transform:translateY(6%) scale(.86)}
.hardware-photo .hwb2-rotor{background-position:50% 96%;clip-path:circle(39% at 50% 50%);transform-origin:50% 50%}
[data-output="exhaust_fan"] .hwb2-rotor-position{transform:translateY(7%) scale(.86)}
[data-output="exhaust_fan"] .hwb2-rotor{background-position:100% 96%}
.equipment-tile.is-on .hardware-photo .hwb2-rotor{animation:hwb2-spin 1.8s linear infinite}
.equipment-tile[data-output="exhaust_fan"].is-on .hardware-photo .hwb2-rotor{animation-duration:1.5s}
.hardware-photo .hwb2-fx{opacity:0;z-index:3;pointer-events:none;animation:none}
.hardware-photo .hwb2-mist{inset:auto;left:28%;top:-14%;width:44%;height:44%;background-position:0 100%;transform-origin:50% 100%;filter:blur(.25px)}
.hardware-photo .hwb2-mist-two{left:25%;top:-15%;width:48%;height:48%}
.equipment-tile.is-on .hardware-photo .hwb2-mist{animation:hwb2-mist 3.8s ease-out infinite}
.equipment-tile.is-on .hardware-photo .hwb2-mist-two{animation-delay:-1.9s}
.hardware-photo .hwb2-heat{inset:auto;left:30%;top:-9%;width:40%;height:37%;background-position:25% 100%;filter:blur(.3px)}
.equipment-tile.is-on .hardware-photo .hwb2-heat{animation:hwb2-heat 2.8s ease-out infinite}
.hardware-photo .hwb2-air{position:absolute;left:-4%;top:36%;width:43%;height:34%}
[data-output="exhaust_fan"] .hwb2-air{left:66%;top:34%;width:37%}
.hardware-photo .hwb2-air i{display:block;position:absolute;left:0;width:100%;height:3px;background:linear-gradient(90deg,transparent,#27b6c7 55%,#9df8ff);box-shadow:0 0 7px #27d4de66;opacity:0}
.hardware-photo .hwb2-air i:after{content:'';position:absolute;right:-1px;top:-3px;border-left:9px solid #69e5ed;border-top:4.5px solid transparent;border-bottom:4.5px solid transparent}
.hardware-photo .hwb2-air i:nth-child(1){top:0}.hardware-photo .hwb2-air i:nth-child(2){top:42%;animation-delay:-.55s!important}.hardware-photo .hwb2-air i:nth-child(3){top:84%;animation-delay:-1.1s!important}
.equipment-tile.is-on .hardware-photo .hwb2-air{opacity:1}
.equipment-tile.is-on .hardware-photo .hwb2-air i{animation:hwb2-flow 1.8s linear infinite}
.equipment-tile.is-na .hardware-photo .hwb2-body{filter:grayscale(1) brightness(.35);opacity:.55}
@keyframes hwb2-spin{to{transform:rotate(360deg)}}
@keyframes hwb2-mist{0%{opacity:0;transform:translateY(8%) scale(.82)}30%{opacity:.55}65%{opacity:.38}100%{opacity:0;transform:translateY(-15%) scale(1.13)}}
@keyframes hwb2-heat{0%{opacity:0;transform:translateY(8%)}35%{opacity:.55}100%{opacity:0;transform:translateY(-12%)}}
@keyframes hwb2-flow{0%{opacity:0;transform:translateX(-10%)}30%,70%{opacity:.9}100%{opacity:0;transform:translateX(12%)}}
@media(max-width:760px){.equipment-tile .equipment-icon.hardware-photo{width:min(154px,100%)!important;margin-top:22px!important}}
@media(prefers-reduced-motion:reduce){.equipment-tile.is-on .hardware-photo .hwb2-rotor,.equipment-tile.is-on .hardware-photo .hwb2-fx,.equipment-tile.is-on .hardware-photo .hwb2-air i{animation:none!important}.equipment-tile.is-on .hardware-photo .hwb2-mist,.equipment-tile.is-on .hardware-photo .hwb2-heat{opacity:.45}.equipment-tile.is-on .hardware-photo .hwb2-air i{opacity:.8}.hardware-photo .hwb2-body{transition:none}}
