.model-1 .hero .server-rack-visual{position:absolute;right:0;top:0;bottom:0;width:46%;z-index:1;pointer-events:none;background-image:url('server-rack-burgundy.png');background-size:auto 115%;background-position:right bottom;background-repeat:no-repeat;mask-image:linear-gradient(90deg,transparent,#000 22%,#000 90%,transparent);opacity:.82}
.model-1 .hero .hero-shade{z-index:2;pointer-events:none;background:linear-gradient(90deg,#351329a6 0%,#29101f60 48%,#29101f10 75%)}
.model-1 .hero .hero-content{z-index:3;position:relative}
.server-rack-visual .rack-led{position:absolute;width:4px;height:4px;border-radius:50%;background:#b9f57b;box-shadow:0 0 7px 2px #9fd96090;animation:rack-led-blink 3.7s steps(1,end) infinite}
.server-rack-visual .rack-led:nth-child(2n){animation-duration:2.3s;animation-delay:-1.4s}
.server-rack-visual .rack-led:nth-child(3n){background:#f0b252;box-shadow:0 0 6px #f0b252;animation-duration:4.8s;animation-delay:-2.5s}
@keyframes rack-led-blink{0%,14%,22%,55%,63%,100%{opacity:.95}15%,21%,56%,62%{opacity:.12}}
@media(max-width:1000px){.model-1 .hero .server-rack-visual{width:48%;opacity:.55}.model-1 .hero .hero-shade{background:linear-gradient(90deg,#351329e6,#29101f85 65%,#29101f30)}}
@media(max-width:700px){.model-1 .hero .server-rack-visual{width:100%;opacity:.3;mask-image:linear-gradient(90deg,transparent,#000 55%);background-position:right bottom}.server-rack-visual .rack-led{display:none}.model-1 .hero .hero-shade{background:linear-gradient(90deg,#351329ed,#29101faa)}}
@media(prefers-reduced-motion:reduce){.server-rack-visual .rack-led{animation:none}}

.rack-alarm-light{position:absolute;left:57%;top:37%;width:9px;height:9px;border-radius:50%;background:#ff354b;box-shadow:0 0 15px 5px #ff354b80;animation:rack-alarm 1.6s ease-in-out infinite}
.model-1 .hero .rack-alarm-message{position:absolute;right:5%;bottom:8%;z-index:4;width:320px;padding:19px 22px;background:#28101ff0;border:1px solid #b74964;border-left:3px solid #ef465e;border-radius:6px;box-shadow:0 12px 35px #16091066;backdrop-filter:blur(8px);color:#fff}
.rack-alarm-message .alarm-status{display:flex;align-items:center;gap:8px;font:700 11px/1.4 Outfit,sans-serif;letter-spacing:.14em;color:#ff9aaa}
.alarm-status i{width:6px;height:6px;border-radius:50%;background:#ff354b;box-shadow:0 0 8px #ff354b;animation:rack-alarm 1.6s ease-in-out infinite}
.rack-alarm-message strong{display:block;margin:10px 0 12px;font:600 16px/1.45 Outfit,sans-serif}
.rack-alarm-message .alarm-action{font:600 12px/1.4 Outfit,sans-serif;color:#f2c5d9}
.rack-alarm-message:hover{border-color:#f0a2ba}
@keyframes rack-alarm{0%,100%{opacity:1}50%{opacity:.2}}
@media(max-width:1000px){.model-1 .hero .rack-alarm-message{width:260px;right:3%;bottom:5%;padding:16px}.rack-alarm-message strong{font-size:14px}}
@media(max-width:700px){.model-1 .hero .rack-alarm-message{position:relative;right:auto;bottom:auto;width:88%;margin:0 6% 26px}.model-1 .hero{height:auto!important}.model-1 .hero .hero-content{padding-bottom:25px}.rack-alarm-light{display:none}}
@media(prefers-reduced-motion:reduce){.rack-alarm-light,.alarm-status i{animation:none}}

/* A hardware fault indicator directly on the disk bay; no message overlay. */
.server-rack-visual .rack-disk-alarm{position:absolute;left:57%;top:68%;width:5px;height:13px;border-radius:2px;background:#ff263e;box-shadow:0 0 7px 2px #ff263ea6,0 0 20px 7px #ff263e35;animation:disk-fault 1.3s steps(1,end) infinite;z-index:2}
.server-rack-visual .rack-disk-alarm.second{left:59%;top:68.5%;height:10px;animation-delay:-.15s}
@keyframes disk-fault{0%,42%,60%,100%{opacity:1}43%,59%{opacity:.08}}
@media(max-width:700px){.server-rack-visual .rack-disk-alarm{display:none}}
@media(prefers-reduced-motion:reduce){.server-rack-visual .rack-disk-alarm{animation:none}}
