/* NXT GEN WEB — four self-contained, independent industry hero scenes.
   The surrounding page, type, grid, and CTAs are intentionally unchanged. */
.ngi-main .ng4-scene{--ng4-bg:#f6f8fa;--ng4-ink:#264351;--ng4-accent:#e83c4b;--ng4-foot:#e6edf2;position:relative;isolation:isolate;display:block;min-width:0;width:100%;height:auto;margin:0;overflow:hidden;border:1px solid color-mix(in srgb,var(--ng4-accent),#ffffff 64%);border-radius:22px;background:var(--ng4-bg);color:var(--ng4-ink);box-shadow:0 18px 44px rgba(23,43,56,.12)}
.ngi-main .ng4-scene svg{width:100%;max-width:100%;height:auto;display:block}
.ngi-main .ng4-strip{min-height:45px;padding:12px 16px;box-sizing:border-box;display:flex;gap:9px;align-items:center;background:var(--ng4-ink);color:#fff;font:750 10px/1.25 system-ui,sans-serif;letter-spacing:.075em}
.ng4-beacon{display:inline-block;flex:0 0 8px;width:8px;height:8px;border-radius:50%;background:var(--ng4-accent);box-shadow:0 0 0 4px #ffffff18;animation:ng4-beacon 2.4s ease-in-out infinite}
.ng4-strip-tag{margin-left:auto;font:750 9px/1.2 system-ui,sans-serif;opacity:.76;white-space:nowrap}
.ngi-main .ng4-stage{position:relative;overflow:hidden;line-height:0}
.ngi-main .ng4-footer{display:flex;gap:8px;justify-content:space-around;align-items:center;min-height:43px;padding:10px 14px;box-sizing:border-box;background:var(--ng4-foot);font:750 10px/1.25 system-ui,sans-serif;letter-spacing:.025em}
.ng4-footer span{display:flex;align-items:center;gap:7px;white-space:nowrap}.ng4-footer b{color:var(--ng4-accent)}
@keyframes ng4-beacon{50%{opacity:.35;transform:scale(.8)}}
/* Collision / cherry red with electric cyan shop lighting */
.ng4--collision-repair-centers{--ng4-ink:#203747;--ng4-accent:#fc4b5c;--ng4-foot:#e6eef5;--ng4-bg:#dce8ef}
.ng4-red-car{animation:ng4-car-arrive 1s ease-out both}
.ng4-damaged{animation:ng4-damage-cycle 8s ease-in-out infinite}
.ng4-chip-before{animation:ng4-before-cycle 8s ease-in-out infinite}
.ng4-chip-after{animation:ng4-after-cycle 8s ease-in-out infinite}
.ng4-repair-sparks{transform-origin:485px 207px;animation:ng4-spark-cycle 8s ease-in-out infinite}
.ng4-repair-scan{animation:ng4-scan-cycle 8s ease-in-out infinite}
.ng4-fixed-gloss{animation:ng4-after-cycle 8s ease-in-out infinite}
@keyframes ng4-car-arrive{from{opacity:0;transform:translateX(-30px)}to{opacity:1;transform:translateX(0)}}
@keyframes ng4-damage-cycle{0%,31%{opacity:1;transform:translateX(0)}46%,85%{opacity:0;transform:translateX(16px)}96%,100%{opacity:1;transform:translateX(0)}}
@keyframes ng4-before-cycle{0%,30%{opacity:1;transform:translateY(0)}45%,85%{opacity:0;transform:translateY(-12px)}95%,100%{opacity:1;transform:translateY(0)}}
@keyframes ng4-after-cycle{0%,38%{opacity:0;transform:translateY(12px)}54%,84%{opacity:1;transform:translateY(0)}95%,100%{opacity:0;transform:translateY(12px)}}
@keyframes ng4-spark-cycle{0%,32%,49%,100%{opacity:0;transform:scale(.45)}37%,42%{opacity:1;transform:scale(1.05)}}
@keyframes ng4-scan-cycle{0%,26%{opacity:0;transform:translateX(-200px)}34%{opacity:.96}53%{opacity:1;transform:translateX(190px)}59%,100%{opacity:0;transform:translateX(190px)}}
/* Law / violet ink, walnut and polished gold. Gavel swings into sounding block. */
.ng4--law-firms{--ng4-ink:#281f3c;--ng4-accent:#dcb376;--ng4-foot:#f0e4de;--ng4-bg:#382339}
.ng4-gavel{transform-origin:450px 166px;animation:ng4-gavel-strike 5.6s ease-in-out infinite}
.ng4-impact,.ng4-court-pulse{transform-origin:344px 282px;animation:ng4-law-impact 5.6s ease-out infinite}
.ng4-law-label{animation:ng4-law-label 5.6s ease-in-out infinite}
.ng4-court-books{animation:ng4-law-books 6s ease-in-out infinite}
@keyframes ng4-gavel-strike{0%,18%,66%,100%{transform:rotate(-18deg) translateY(-8px)}29%,34%{transform:rotate(4deg) translateY(20px)}43%{transform:rotate(-5deg) translateY(3px)}}
@keyframes ng4-law-impact{0%,25%,43%,100%{opacity:0;transform:scale(.4)}32%{opacity:1;transform:scale(1.15)}}
@keyframes ng4-law-label{0%,23%{opacity:.7;transform:translateY(8px)}36%,78%{opacity:1;transform:translateY(0)}}
@keyframes ng4-law-books{50%{transform:translateY(-3px)}}
/* Dentistry / aqua, white enamel, blush. A gentle, non-graphic tooth extraction. */
.ng4--dentists{--ng4-ink:#236a7b;--ng4-accent:#13b8c9;--ng4-foot:#e1f5f7;--ng4-bg:#e9fcfc}
.ng4-tooth-lift{transform-origin:300px 226px;animation:ng4-tooth-extract 7s cubic-bezier(.4,0,.2,1) infinite}
.ng4-dental-stars{animation:ng4-tooth-stars 7s ease-in-out infinite}
.ng4-dentist-card{animation:ng4-tooth-card 4s ease-in-out infinite}
@keyframes ng4-tooth-extract{0%,19%{transform:translateY(0) rotate(0)}42%,73%{transform:translateY(-80px) rotate(-4deg)}88%,100%{transform:translateY(0) rotate(0)}}
@keyframes ng4-tooth-stars{0%,25%,80%,100%{opacity:0;transform:scale(.5)}41%,70%{opacity:1;transform:scale(1)}}
@keyframes ng4-tooth-card{50%{transform:translateY(-6px)}}
/* Construction / amber timber, terracotta and sky blue. Blueprint becomes framed, then finished. */
.ng4--construction-remodeling{--ng4-ink:#4e5f73;--ng4-accent:#e98a36;--ng4-foot:#faf0dc;--ng4-bg:#eef3f8}
.ng4-house-blueprint{animation:ng4-blueprint-stage 10s ease-in-out infinite}
.ng4-house-framing{animation:ng4-framing-stage 10s ease-in-out infinite}
.ng4-house-finished{animation:ng4-finished-stage 10s ease-in-out infinite}
.ng4-crane-hook{transform-origin:352px 65px;animation:ng4-crane-lift 10s ease-in-out infinite}
.ng4-hammer{animation:ng4-hammer-move 10s ease-in-out infinite}
.ng4-construction-tag{animation:ng4-construction-card 10s ease-in-out infinite}
@keyframes ng4-blueprint-stage{0%,18%{opacity:1}30%,90%{opacity:0}100%{opacity:1}}
@keyframes ng4-framing-stage{0%,18%{opacity:0;transform:translateY(16px)}31%,53%{opacity:1;transform:translateY(0)}67%,100%{opacity:0}}
@keyframes ng4-finished-stage{0%,49%{opacity:0;transform:translateY(14px)}64%,91%{opacity:1;transform:translateY(0)}100%{opacity:0}}
@keyframes ng4-crane-lift{0%,12%{transform:translateY(-36px)}42%,54%{transform:translateY(0)}78%,100%{transform:translateY(-36px)}}
@keyframes ng4-hammer-move{0%,25%,53%,100%{opacity:0;transform:rotate(-20deg)}32%,47%{opacity:1;transform:rotate(5deg)}}
@keyframes ng4-construction-card{0%,47%{opacity:.55}64%,91%{opacity:1}100%{opacity:.55}}
@media(max-width:600px){.ngi-main .ng4-scene{border-radius:15px}.ngi-main .ng4-strip{font-size:8px;padding:9px 10px;min-height:37px}.ng4-strip-tag{font-size:7px}.ngi-main .ng4-footer{font-size:8px;padding:10px 7px;gap:4px;min-height:38px}.ng4-footer span{gap:3px}}
@media(prefers-reduced-motion:reduce){.ng4-scene *, .ng4-scene *::before,.ng4-scene *::after{animation:none!important;transition:none!important}.ng4-damaged,.ng4-chip-before,.ng4-house-finished{opacity:1!important}.ng4-chip-after,.ng4-house-blueprint,.ng4-house-framing,.ng4-repair-scan,.ng4-repair-sparks{opacity:0!important}}
