/* ============================================================
   Media Pillars — industry pages (/industries/) : hero kits + layout
   Kits plug into .hv from hero-vis.css. CSS-only, reduced-motion safe.
   ============================================================ */
.hv .ik{position:absolute;inset:0;z-index:1}
.hv .ik svg{width:100%;height:100%;display:block;overflow:visible}
.hv .ik .lbl{position:absolute;padding:.45rem .75rem;border-radius:12px;background:var(--card);border:1px solid var(--line);font-size:.8rem;color:#e7eef8;box-shadow:0 12px 30px rgba(0,0,0,.4);white-space:nowrap;animation:hvFadeUp .8s var(--ease,ease) both}
.hv .ik .lbl b{color:var(--neon);display:block;font-size:.7rem;letter-spacing:.04em;text-transform:uppercase}
.hv .ik .lbl.ok b{color:var(--good)}
.hv .ik .lbl.warn b{color:var(--warn)}
@keyframes ikDash{to{stroke-dashoffset:0}}
@keyframes ikSpin{to{transform:rotate(360deg)}}
@keyframes ikFlow{to{stroke-dashoffset:-60}}
@keyframes ikGrow{0%{transform:scaleY(0)}100%{transform:scaleY(1)}}
@keyframes ikWave{0%,100%{opacity:.15;transform:translateY(0)}50%{opacity:.8;transform:translateY(-10px)}}
@keyframes ikDrip{0%{transform:translateY(0);opacity:1}80%{opacity:1}100%{transform:translateY(70px);opacity:0}}
@keyframes ikFill{to{transform:scaleX(1)}}
@keyframes ikNeedle{0%,100%{transform:rotate(-95deg)}50%{transform:rotate(60deg)}}
@keyframes ikDrive{0%{transform:translateX(-140px)}100%{transform:translateX(480px)}}
@keyframes ikBounce{0%,100%{transform:translateY(0)}50%{transform:translateY(-6px)}}
@keyframes ikTilt{0%,100%{transform:rotate(-6deg)}50%{transform:rotate(6deg)}}
@keyframes ikFlicker{0%,100%{opacity:1}50%{opacity:.35}}
@keyframes ikTemp{0%{transform:rotate(-120deg)}40%{transform:rotate(-120deg)}70%{transform:rotate(40deg)}100%{transform:rotate(40deg)}}
@keyframes ikSteam{0%{transform:translateY(0) scaleX(1);opacity:0}30%{opacity:.7}100%{transform:translateY(-40px) scaleX(1.6);opacity:0}}
@keyframes ikLeaf{0%{transform:scale(0);opacity:0}100%{transform:scale(1);opacity:1}}
@keyframes ikScale{0%,100%{transform:rotate(-5deg)}50%{transform:rotate(3deg)}}
@keyframes ikPulseR{0%{r:6;opacity:.9}100%{r:26;opacity:0}}
@keyframes ikStack{0%{transform:translateY(-40px);opacity:0}100%{transform:translateY(0);opacity:1}}
@keyframes ikBlink2{0%,100%{fill:#334155}50%{fill:var(--neon)}}

/* HVAC: thermostat dial + heat waves */
.hv-hvac .dial{transform-origin:220px 210px;animation:ikTemp 8s var(--ease,ease) infinite}
.hv-hvac .wave{animation:ikWave 3s ease-in-out infinite}
.hv-hvac .wave:nth-child(2){animation-delay:.5s}.hv-hvac .wave:nth-child(3){animation-delay:1s}
.hv-hvac .arc{stroke-dasharray:560;stroke-dashoffset:560;animation:ikDash 3s var(--ease,ease) forwards}
/* PLUMB: pipes with flow + drip stopped */
.hv-plumb .flow{stroke-dasharray:14 16;animation:ikFlow 1.6s linear infinite}
.hv-plumb .drip{animation:ikDrip 2.4s ease-in infinite}
.hv-plumb .drip:nth-child(2){animation-delay:.8s}
.hv-plumb .gauge{transform-origin:330px 130px;animation:ikNeedle 6s ease-in-out infinite}
/* ELEC: circuit traces pulsing, breakers on */
.hv-elec .trace{stroke-dasharray:10 30;animation:ikFlow 1.2s linear infinite}
.hv-elec .trace.t2{animation-duration:1.7s}.hv-elec .trace.t3{animation-duration:2.1s}
.hv-elec .bolt{animation:ikFlicker 1.8s ease-in-out infinite}
.hv-elec .brk{animation:ikBlink2 3s ease-in-out infinite}
.hv-elec .brk:nth-child(2){animation-delay:.6s}.hv-elec .brk:nth-child(3){animation-delay:1.2s}.hv-elec .brk:nth-child(4){animation-delay:1.8s}
/* BUILD: blueprint draws itself, blocks stack */
.hv-build .bp{stroke-dasharray:900;stroke-dashoffset:900;animation:ikDash 4s var(--ease,ease) forwards}
.hv-build .blk{animation:ikStack .7s var(--ease,ease) both}
.hv-build .blk:nth-child(2){animation-delay:.5s}.hv-build .blk:nth-child(3){animation-delay:1s}.hv-build .blk:nth-child(4){animation-delay:1.5s}.hv-build .blk:nth-child(5){animation-delay:2s}
/* TREE: tree grows, leaves pop */
.hv-tree .trunk{transform-origin:220px 330px;animation:ikGrow 2s var(--ease,ease) both}
.hv-tree .leaf{transform-box:fill-box;transform-origin:center;animation:ikLeaf .8s var(--ease,ease) both}
.hv-tree .leaf:nth-child(1){animation-delay:1.6s}.hv-tree .leaf:nth-child(2){animation-delay:1.9s}.hv-tree .leaf:nth-child(3){animation-delay:2.2s}.hv-tree .leaf:nth-child(4){animation-delay:2.5s}.hv-tree .leaf:nth-child(5){animation-delay:2.8s}
.hv-tree .sun{animation:ikSpin 30s linear infinite;transform-origin:350px 80px}
/* LAW: scales balance, gavel taps */
.hv-law .beam{transform-origin:220px 120px;animation:ikScale 5s ease-in-out infinite}
.hv-law .gavel{transform-origin:330px 300px;animation:ikTilt 2.2s ease-in-out infinite}
/* REST: steam rising, stars pop */
.hv-rest .steam{animation:ikSteam 3s ease-out infinite}
.hv-rest .steam:nth-child(2){animation-delay:1s}.hv-rest .steam:nth-child(3){animation-delay:2s}
.hv-rest .star{transform-box:fill-box;transform-origin:center;animation:hvPop .6s var(--ease,ease) both}
.hv-rest g:nth-child(1)>.star{animation-delay:.6s}.hv-rest g:nth-child(2)>.star{animation-delay:.9s}.hv-rest g:nth-child(3)>.star{animation-delay:1.2s}.hv-rest g:nth-child(4)>.star{animation-delay:1.5s}.hv-rest g:nth-child(5)>.star{animation-delay:1.8s}
/* SHOP: items drop into cart, bar fills */
.hv-shop .item{animation:ikStack .8s var(--ease,ease) both}
.hv-shop .item:nth-child(2){animation-delay:.7s}.hv-shop .item:nth-child(3){animation-delay:1.4s}
.hv-shop .bar{transform-origin:left;transform:scaleX(0);animation:ikFill 3s var(--ease,ease) 1.4s forwards}
/* MOVE: truck drives, boxes stack */
.hv-move .truck{animation:ikDrive 7s linear infinite}
.hv-move .box{animation:ikStack .6s var(--ease,ease) both}
.hv-move .box:nth-child(2){animation-delay:.4s}.hv-move .box:nth-child(3){animation-delay:.8s}.hv-move .box:nth-child(4){animation-delay:1.2s}
.hv-move .road{stroke-dasharray:30 24;animation:ikFlow 1s linear infinite}
/* INS: shield ring pulses, check draws */
.hv-ins .ring{animation:ikPulseR 2.4s ease-out infinite}
.hv-ins .ring:nth-child(2){animation-delay:1.2s}
.hv-ins .chk{stroke-dasharray:80;stroke-dashoffset:80;animation:ikDash 1.4s var(--ease,ease) 1s forwards}
.hv-ins .pol{animation:ikStack .7s var(--ease,ease) both}
.hv-ins .pol:nth-child(2){animation-delay:.5s}.hv-ins .pol:nth-child(3){animation-delay:1s}
/* AUTO: speedometer needle, wrench tilt */
.hv-auto .needle{transform-origin:220px 230px;animation:ikNeedle 5s ease-in-out infinite}
.hv-auto .wrench{transform-origin:340px 300px;animation:ikTilt 2.6s ease-in-out infinite}
.hv-auto .tick{stroke-dasharray:420;stroke-dashoffset:420;animation:ikDash 3s var(--ease,ease) forwards}
/* VENUE: seats fill, thermometer rises */
.hv-venue .seat{animation:ikBlink2 .1s linear both}
.hv-venue .seat{fill:#334155}
.hv-venue .seat.on{fill:var(--neon);transform-box:fill-box;transform-origin:center;animation:hvPop .5s var(--ease,ease) both}
.hv-venue .goal{transform-origin:bottom;transform:scaleY(0);animation:ikGrow 3.5s var(--ease,ease) .8s forwards}
.hv-venue .tix{animation:ikBounce 2.4s ease-in-out infinite}

@media(prefers-reduced-motion:reduce){
  .hv .ik *{animation:none!important;stroke-dashoffset:0!important;transform:none!important;opacity:1!important}
  .hv-shop .bar,.hv-venue .goal{transform:scaleX(1) scaleY(1)!important}
}

/* ---------- page layout pieces ---------- */
.ind-pains{display:grid;gap:1rem;grid-template-columns:1fr}
@media(min-width:760px){.ind-pains{grid-template-columns:repeat(2,1fr)}}
.ind-pains .tile{border-left:4px solid var(--warn,#f59e0b);background:#fff}
.ind-pains .tile h3{margin:0 0 .4rem;font-size:1.05rem}
.ind-pains .tile p{margin:0;color:var(--muted)}
.ind-timeline{list-style:none;margin:0;padding:0;display:grid;gap:1.25rem;position:relative}
@media(min-width:800px){.ind-timeline{grid-template-columns:repeat(3,1fr)}}
.ind-timeline li{position:relative;padding:1.5rem;border-radius:var(--r2);background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.12)}
.ind-timeline li::before{content:"";position:absolute;left:1.5rem;top:-.55rem;width:1.1rem;height:1.1rem;border-radius:50%;background:var(--neon);box-shadow:0 0 14px var(--neon)}
.ind-timeline h3{margin:.2rem 0 .5rem;color:var(--neon-2);font-size:1rem;letter-spacing:.02em}
.ind-timeline p{margin:0;color:#dbe6f5}
.ind-case{display:grid;gap:2rem;align-items:center}
@media(min-width:900px){.ind-case{grid-template-columns:1.2fr .8fr}}
.ind-case .mark{padding:2rem;border-radius:var(--r2);background:linear-gradient(145deg,var(--navy-2,#0f1b30),var(--navy,#071426));border:1px solid rgba(25,184,255,.25);color:#fff;text-align:center}
.ind-case .mark b{display:block;font-family:var(--display);font-size:1.4rem;margin-bottom:.4rem}
.ind-case .mark small{color:#9fb3cc;display:block}.ind-case .mark a{display:inline-block;margin-top:.8rem;font-weight:700}
.ind-search .pills li{background:var(--paper);font-size:.9rem}
.ind-geo{display:grid;gap:1.5rem}
@media(min-width:900px){.ind-geo{grid-template-columns:1fr 1fr}}
.ind-geo .tile h3{margin:0 0 .5rem}
.ind-grid{display:grid;gap:1rem;grid-template-columns:1fr}
@media(min-width:640px){.ind-grid{grid-template-columns:repeat(2,1fr)}}
@media(min-width:1000px){.ind-grid{grid-template-columns:repeat(3,1fr)}}
.ind-grid a.tile{display:block;text-decoration:none;color:var(--ink);transition:transform .2s var(--ease),box-shadow .2s var(--ease)}
.ind-grid a.tile:hover{transform:translateY(-3px);box-shadow:0 14px 34px rgba(10,111,209,.14)}
.ind-grid a.tile h3{margin:.6rem 0 .3rem;font-size:1.1rem}
.ind-grid a.tile p{margin:0;color:var(--muted);font-size:.95rem}
.ind-grid a.tile .go{display:inline-block;margin-top:.8rem;font-weight:700;color:var(--blue)}
.ind-grid .ic{width:48px;height:48px;border-radius:14px;background:linear-gradient(145deg,var(--navy-2,#0f1b30),var(--navy,#071426));display:grid;place-items:center;color:var(--neon);box-shadow:inset 0 0 0 1px rgba(25,184,255,.3)}
.ind-grid .ic svg{width:26px;height:26px}
.svc-list{display:grid;gap:1rem;grid-template-columns:1fr}
@media(min-width:760px){.svc-list{grid-template-columns:repeat(2,1fr)}}
.svc-list a.tile{display:block;text-decoration:none;color:var(--ink)}
.svc-list a.tile:hover{box-shadow:0 14px 34px rgba(10,111,209,.14)}
.svc-list a.tile h3{margin:0 0 .4rem;font-size:1.05rem;color:var(--blue-deep)}
.svc-list a.tile p{margin:0;color:var(--muted);font-size:.97rem}
