/* Light sweep stays inside contact buttons. */
.main-visual .primary-actions .btn.call,.main-visual .primary-actions .quote-cta{position:relative;overflow:hidden;isolation:isolate}
.main-visual .primary-actions .btn.call:after,.main-visual .primary-actions .quote-cta:after{content:'';display:block!important;position:absolute;top:-40%;left:-70%;width:40%;height:180%;pointer-events:none;background:linear-gradient(110deg,transparent,#a8dcff55,transparent);transform:skewX(-15deg);animation:glass-contact-sweep 9s ease-in-out infinite!important;z-index:0}
.main-visual .primary-actions .quote-cta:after{animation-delay:1.5s!important}
@keyframes glass-contact-sweep{0%,15%{left:-70%;opacity:0}19%{opacity:1}40%{left:140%;opacity:1}43%,100%{left:140%;opacity:0}}
.glass-repair-life{position:absolute;inset:0;overflow:hidden;pointer-events:none;z-index:0;border-radius:inherit}
.glass-repair-life svg{position:absolute;width:clamp(150px,24vw,300px);height:auto;right:5%;top:18%;overflow:visible;opacity:0;animation:glass-life-visibility 20s ease-in-out infinite}
.glass-repair-life svg:nth-child(2){width:clamp(110px,17vw,230px);right:auto;left:4%;top:60%;animation-delay:10s}
.glass-repair-life .crack-line{fill:none;stroke:#c5ecff;stroke-width:1.4;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:320;stroke-dashoffset:320;animation:glass-crack-repair 20s ease-in-out infinite;filter:drop-shadow(0 0 3px #7dcfff)}
.glass-repair-life svg:nth-child(2) .crack-line,.glass-repair-life svg:nth-child(2) .repair-light{animation-delay:10s}
.glass-repair-life .repair-light{fill:#c2ecff;opacity:0;transform-origin:center;animation:glass-repair-light 20s ease-out infinite}
@keyframes glass-life-visibility{0%,12%{opacity:0}18%,38%{opacity:.48}53%,100%{opacity:0}}
@keyframes glass-crack-repair{0%,12%{stroke-dashoffset:320}22%,38%{stroke-dashoffset:0}52%,100%{stroke-dashoffset:-320}}
@keyframes glass-repair-light{0%,37%{opacity:0;transform:scale(.2)}40%{opacity:.6;transform:scale(.8)}51%,100%{opacity:0;transform:scale(2.2)}}
.main-visual{position:relative;isolation:isolate}
.main-visual .visual-copy{position:relative;z-index:1}
@media(max-width:600px){.glass-repair-life svg{right:-20px;top:7%;width:180px}.glass-repair-life svg:nth-child(2){left:-28px;top:56%;width:140px}@keyframes glass-life-visibility{0%,12%{opacity:0}18%,38%{opacity:.3}53%,100%{opacity:0}}}
@media(prefers-reduced-motion:reduce){.glass-repair-life{display:none}.main-visual .primary-actions .btn.call:after,.main-visual .primary-actions .quote-cta:after{display:none!important;animation:none!important}}

/* Visible short cycle, above earlier decorative layers and below page content. */
.main-visual .glass-repair-life{z-index:1!important}
.main-visual .visual-copy{z-index:2!important}
.glass-repair-life svg{animation:glass-repair-visible 9s ease-in-out infinite!important;right:4%;top:9%;width:clamp(210px,27vw,340px)}
.glass-repair-life svg:nth-child(2){animation-delay:4.5s!important;left:2%;top:52%;width:180px}
.glass-repair-life .crack-line{stroke:#e2f7ff;stroke-width:2;animation:glass-repair-draw 9s ease-in-out infinite!important;filter:drop-shadow(0 0 5px #3cbbff)}
.glass-repair-life .repair-light{animation:glass-repair-flash 9s ease-out infinite!important}
.glass-repair-life svg:nth-child(2) .crack-line,.glass-repair-life svg:nth-child(2) .repair-light{animation-delay:4.5s!important}
.main-visual .primary-actions .btn.call:after,.main-visual .primary-actions .quote-cta:after{z-index:3!important;animation:glass-contact-sweep 5.5s ease-in-out infinite!important;background:linear-gradient(110deg,transparent,#63c7ff80,transparent)!important}
.main-visual .primary-actions .quote-cta:after{animation-delay:1.1s!important}
@keyframes glass-repair-visible{0%{opacity:0}8%,50%{opacity:.85}67%,100%{opacity:0}}
@keyframes glass-repair-draw{0%{stroke-dashoffset:320}16%,43%{stroke-dashoffset:0}66%,100%{stroke-dashoffset:-320}}
@keyframes glass-repair-flash{0%,42%{opacity:0;transform:scale(.2)}48%{opacity:.85;transform:scale(1)}64%,100%{opacity:0;transform:scale(2.5)}}
@media(max-width:600px){.glass-repair-life svg{width:205px;right:-35px;top:2%}.glass-repair-life svg:nth-child(2){width:150px;left:-45px;top:58%}.glass-repair-life .crack-line{stroke-width:1.7}@keyframes glass-repair-visible{0%{opacity:0}8%,50%{opacity:.65}67%,100%{opacity:0}}}
@media(prefers-reduced-motion:reduce){.main-visual .glass-repair-life{display:none!important}.main-visual .primary-actions .btn.call:after,.main-visual .primary-actions .quote-cta:after{animation:none!important;display:none!important}}

@media(min-width:601px){
 .main-visual .glass-repair-life{z-index:4!important}
 .main-visual .glass-repair-life svg{right:1%;left:auto;top:4%;width:42%;max-width:390px;min-width:230px;animation:glass-desktop-visible 9s ease-in-out infinite!important}
 .main-visual .glass-repair-life svg:nth-child(2){right:7%;left:auto;top:47%;width:25%;max-width:220px;min-width:150px;animation-delay:4.5s!important}
 .main-visual .glass-repair-life .crack-line{stroke:#fff;stroke-width:2.2;filter:drop-shadow(0 0 4px #008dff) drop-shadow(0 1px 1px #002544)}
 .main-visual .primary-actions .btn.call:after,.main-visual .primary-actions .quote-cta:after{display:block!important;opacity:1;background:linear-gradient(110deg,transparent,#29afffa6,transparent)!important;width:48%;animation:glass-desktop-button-sweep 5s ease-in-out infinite!important}
 .main-visual .primary-actions .quote-cta:after{animation-delay:1.2s!important}
}
@keyframes glass-desktop-visible{0%{opacity:0}8%,50%{opacity:1}67%,100%{opacity:0}}
@keyframes glass-desktop-button-sweep{0%,5%{left:-70%;opacity:0}10%{opacity:1}45%{left:140%;opacity:1}50%,100%{left:140%;opacity:0}}
@media(prefers-reduced-motion:reduce){.main-visual .glass-repair-life{display:none!important}.main-visual .primary-actions .btn.call:after,.main-visual .primary-actions .quote-cta:after{animation:none!important;display:none!important}}
