/* HVACB \u2014 industry-experience section.
   Extracted from the inline <style> of parts/industry-experience.html.
   Loaded by inc/enqueue-parts.php only when the part renders. */

.ie{position:relative;background:#0B0918;overflow:hidden;padding:clamp(4rem,8vw,7rem) 0 0}
.ie *{box-sizing:border-box}
.ie__glow{position:absolute;border-radius:50%;filter:blur(120px);pointer-events:none;z-index:0}
.ie__glow--a{width:700px;height:700px;top:-200px;left:-180px;background:radial-gradient(circle,rgba(75,59,143,.55),rgba(75,59,143,0) 70%);animation:ieA 34s ease-in-out infinite alternate}
.ie__glow--b{width:600px;height:600px;bottom:-160px;right:-160px;background:radial-gradient(circle,rgba(217,106,43,.32),rgba(217,106,43,0) 70%);animation:ieB 40s ease-in-out infinite alternate}
.ie__glow--c{width:500px;height:500px;top:50%;right:15%;background:radial-gradient(circle,rgba(138,92,196,.22),transparent 70%);animation:ieC 28s ease-in-out infinite alternate}
@keyframes ieA{to{transform:translate3d(120px,80px,0) scale(1.2)}}
@keyframes ieB{to{transform:translate3d(-100px,-70px,0) scale(1.15)}}
@keyframes ieC{to{transform:translate3d(-80px,60px,0) scale(1.1)}}
.ie__mesh{position:absolute;inset:0;z-index:0;pointer-events:none;background-image:linear-gradient(rgba(255,255,255,.038) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.038) 1px,transparent 1px);background-size:76px 76px;mask-image:radial-gradient(ellipse 90% 70% at 50% 40%,#000 20%,transparent 80%);-webkit-mask-image:radial-gradient(ellipse 90% 70% at 50% 40%,#000 20%,transparent 80%)}

.ie__ticker{position:relative;z-index:2;overflow:hidden;border-bottom:1px solid rgba(255,255,255,.08);background:rgba(255,255,255,.035);padding:12px 0;margin-bottom:clamp(3rem,5.5vw,5rem)}
.ie__ticker-track{display:flex;width:max-content;animation:ieTick 24s linear infinite}
.ie__ticker:hover .ie__ticker-track{animation-play-state:paused}
.ie__ticker-item{display:inline-flex;align-items:center;gap:16px;padding:0 22px;font-size:12.5px;font-weight:800;letter-spacing:.17em;text-transform:uppercase;color:#D96A2B;white-space:nowrap}
.ie__ticker-dot{color:rgba(255,255,255,.2);font-size:9px}
@keyframes ieTick{from{transform:translateX(0)}to{transform:translateX(-50%)}}

.ie__in{position:relative;z-index:1;max-width:1180px;margin:0 auto;padding:0 clamp(18px,4vw,48px)}

.ie__head{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(24px,5vw,72px);align-items:center;margin-bottom:clamp(3rem,5vw,4.5rem)}
.ie__eyebrow{display:inline-flex;align-items:center;gap:11px;font-size:12.5px;font-weight:800;letter-spacing:.2em;text-transform:uppercase;color:#FFFFFF;margin:0 0 22px;padding:11px 24px;border-radius:999px;background:linear-gradient(105deg,#3A2C7A 0%,#6B4FB8 42%,#D96A2B 100%);box-shadow:0 16px 34px -12px rgba(75,59,143,.6)}
.ie__eyebrow i{width:7px;height:7px;border-radius:50%;background:#FFFFFF;flex:none;animation:iePing 2.6s ease-out infinite}
@keyframes iePing{0%{box-shadow:0 0 0 0 rgba(255,255,255,.75)}70%{box-shadow:0 0 0 11px rgba(255,255,255,0)}100%{box-shadow:0 0 0 0 rgba(255,255,255,0)}}
.ie__h2{font-size:clamp(32px,4.8vw,62px);font-weight:800;letter-spacing:-.045em;line-height:.98;margin:0;background:linear-gradient(150deg,#FFF 32%,#BDAFEE);-webkit-background-clip:text;background-clip:text;color:transparent}
.ie__h2 em{font-style:normal;background:linear-gradient(104deg,#4B3B8F 0%,#8A5CC4 42%,#D96A2B 100%);-webkit-background-clip:text;background-clip:text;color:transparent}
.ie__right-head{display:flex;flex-direction:column;justify-content:center;gap:18px}
.ie__lead{font-size:clamp(18px,1.9vw,26px);line-height:1.45;font-weight:700;letter-spacing:-.025em;color:#FFFFFF;margin:0}
.ie__lead-sub{font-size:clamp(14px,1.3vw,17px);line-height:1.65;color:#7A71A8;margin:0;font-weight:500}
.ie__hub{display:inline-flex;align-items:center;gap:9px;background:rgba(95,211,160,.1);border:1px solid rgba(95,211,160,.3);border-radius:999px;padding:9px 18px;font-size:12.5px;font-weight:700;color:#5FD3A0;align-self:flex-start;text-decoration:none;transition:background .3s,box-shadow .3s}
.ie__hub:hover{background:rgba(95,211,160,.18);box-shadow:0 12px 28px -14px rgba(95,211,160,.5)}
.ie__hub b{width:7px;height:7px;border-radius:50%;background:#5FD3A0;flex:none;animation:iePulse 2s ease-in-out infinite}
@keyframes iePulse{0%,100%{opacity:1}50%{opacity:.3}}

.ie__stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:clamp(2.5rem,4vw,3.5rem)}
.ie__stat{position:relative;padding:clamp(22px,2.5vw,32px) clamp(20px,2.2vw,28px);border-radius:20px;overflow:hidden;cursor:default;transition:transform .4s cubic-bezier(.16,1,.3,1)}
.ie__stat:hover{transform:translateY(-5px)}
.ie__stat-bg{position:absolute;inset:0;border-radius:20px;background:linear-gradient(155deg,rgba(255,255,255,.11),rgba(255,255,255,.04) 50%,rgba(255,255,255,.02));border:1px solid rgba(255,255,255,.13);box-shadow:0 40px 80px -40px rgba(0,0,0,.8),inset 0 1px 0 rgba(255,255,255,.18);backdrop-filter:blur(22px) saturate(150%);-webkit-backdrop-filter:blur(22px) saturate(150%)}
.ie__stat-glow{position:absolute;inset:0;border-radius:20px;background:radial-gradient(ellipse 80% 60% at 50% 0%,var(--sg),transparent 70%);opacity:.35}
.ie__stat-sweep{position:absolute;top:-60%;left:-45%;width:40%;height:220%;background:linear-gradient(100deg,transparent,rgba(255,255,255,.07),transparent);transform:rotate(14deg);animation:ieSweep 9s ease-in-out infinite;pointer-events:none}
@keyframes ieSweep{0%,72%{left:-45%}100%{left:125%}}
.ie__stat-content{position:relative;z-index:2}
.ie__stat-badge{display:inline-block;font-size:9.5px;font-weight:800;letter-spacing:.13em;text-transform:uppercase;color:var(--sc);background:var(--sb);border:1px solid var(--se);border-radius:999px;padding:4px 10px;margin-bottom:16px}
.ie__stat-val{font-size:clamp(40px,4.5vw,60px);font-weight:800;letter-spacing:-.05em;line-height:1;margin:0 0 12px;color:var(--sc);filter:brightness(1.3)}
.ie__stat-label{font-size:13px;font-weight:600;color:rgba(255,255,255,.45);line-height:1.45;margin:0}

/* Cards — illustration visible, text revealed on hover */
.ie__cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-bottom:clamp(2rem,3.5vw,3rem)}
.ie__card{position:relative;border-radius:22px;overflow:hidden;cursor:default;border:1px solid rgba(255,255,255,.12);box-shadow:0 50px 100px -40px rgba(0,0,0,.9);transition:transform .45s cubic-bezier(.16,1,.3,1),box-shadow .45s,border-color .4s;aspect-ratio:4/3}
.ie__card:hover{transform:translateY(-6px);box-shadow:0 66px 110px -40px rgba(0,0,0,.95);border-color:rgba(255,255,255,.26)}
.ie__card-img{position:absolute;inset:0;transition:transform .7s cubic-bezier(.16,1,.3,1)}
.ie__card:hover .ie__card-img{transform:scale(1.07)}
.ie__card-illus{position:absolute;inset:0;display:flex;align-items:center;justify-content:center}
.ie__card-overlay{position:absolute;inset:0;background:linear-gradient(180deg,transparent 20%,rgba(11,9,24,.7) 60%,rgba(11,9,24,.97) 100%);z-index:2;transition:background .5s}
.ie__card:hover .ie__card-overlay{background:linear-gradient(180deg,transparent 5%,rgba(11,9,24,.75) 50%,rgba(11,9,24,.98) 100%)}
.ie__card-accent{position:absolute;top:0;left:0;right:0;height:4px;background:var(--ca);z-index:4}
.ie__card-content{position:absolute;bottom:0;left:0;right:0;z-index:3;padding:20px 24px 24px}
.ie__card-num{font-size:10.5px;font-weight:800;letter-spacing:.16em;text-transform:uppercase;color:rgba(255,255,255,.35);margin:0 0 8px}
.ie__card-title{font-size:clamp(18px,1.8vw,22px);font-weight:800;letter-spacing:-.022em;color:#FFFFFF;margin:0 0 0;line-height:1.2;transition:margin .5s cubic-bezier(.16,1,.3,1)}
.ie__card:hover .ie__card-title{margin-bottom:10px}
.ie__card-body{font-size:13.5px;line-height:1.65;color:rgba(255,255,255,.7);margin:0;max-height:0;overflow:hidden;transition:max-height .6s cubic-bezier(.16,1,.3,1),opacity .5s;opacity:0}
.ie__card:hover .ie__card-body{max-height:120px;opacity:1}
.ie__card-line{height:2px;background:var(--ca);border-radius:2px;margin-top:0;width:0;transition:width .6s cubic-bezier(.16,1,.3,1),margin-top .5s}
.ie__card:hover .ie__card-line{width:48px;margin-top:12px}

/* Disclaimer — solid white so always readable */
.ie__disclaimer{font-size:13px;color:rgba(255,255,255,.55);font-weight:600;text-align:center;padding-bottom:clamp(2.5rem,4vw,3.5rem);line-height:1.6;border-top:1px solid rgba(255,255,255,.08);padding-top:22px}
.ie__disclaimer strong{color:rgba(255,255,255,.8);font-weight:700}

.ie__marquee{border-top:1px solid rgba(255,255,255,.08);padding:17px 0;overflow:hidden;background:rgba(75,59,143,.1)}
.ie__marquee-track{display:flex;width:max-content;animation:ieMark 30s linear infinite}
.ie__marquee:hover .ie__marquee-track{animation-play-state:paused}
.ie__marquee-item{display:inline-flex;align-items:center;gap:20px;padding:0 26px;font-size:15px;font-weight:700;letter-spacing:-.01em;color:rgba(255,255,255,.45);white-space:nowrap}
.ie__marquee-item em{font-style:normal;color:#8A5CC4;font-weight:800}
.ie__marquee-item span{color:rgba(255,255,255,.15)}
@keyframes ieMark{from{transform:translateX(0)}to{transform:translateX(-50%)}}

@media (max-width:960px){
.ie__head{grid-template-columns:minmax(0,1fr)}
.ie__stats{grid-template-columns:repeat(2,minmax(0,1fr))}
.ie__cards{grid-template-columns:minmax(0,1fr);aspect-ratio:auto}
.ie__card{aspect-ratio:16/7}
.ie__card-body{max-height:120px;opacity:1}
}
@media (prefers-reduced-motion:reduce){
.ie__ticker-track,.ie__marquee-track{animation:none}
.ie__glow,.ie__eyebrow i,.ie__hub b,.ie__stat-sweep{animation:none}
.ie__card,.ie__card-img{transition:none}
.ie__card-body{max-height:120px;opacity:1}
.ie__card-line{width:48px;margin-top:12px}
}


/* ------------------------------------------------------------------
   Block-safe additions.

   The section is now native core blocks. Decorative empty <div>s
   (.ie__glow, .ie__mesh, .ie__stat-bg/-glow/-sweep, .ie__card-overlay,
   .ie__card-accent, .ie__card-line) survive as empty core/group blocks, so
   the rules above still apply unchanged. Only two things needed replacing:
   the inline style attributes that carried per-item colour tokens, and the
   two decorative <i>/<b> elements that RichText would strip.
   ------------------------------------------------------------------ */

/* Neutralise theme + block-layout margins. */
.ie p,
.ie h2 { margin: 0; }
.ie > *,
.ie .wp-block-group > * { margin-block-start: 0; margin-block-end: 0; }

/* Was style="--sc;--sb;--se;--sg" on each .ie__stat. */
.ie .ie__stat--1 { --sc: #8A5CC4; --sb: rgba(138, 92, 196, .15); --se: rgba(138, 92, 196, .3);  --sg: #8A5CC4; }
.ie .ie__stat--2 { --sc: #5FD3A0; --sb: rgba(95, 211, 160, .12); --se: rgba(95, 211, 160, .28); --sg: #5FD3A0; }
.ie .ie__stat--3 { --sc: #D96A2B; --sb: rgba(217, 106, 43, .12); --se: rgba(217, 106, 43, .28); --sg: #D96A2B; }
.ie .ie__stat--4 { --sc: #EDB088; --sb: rgba(237, 176, 136, .1); --se: rgba(237, 176, 136, .25); --sg: #EDB088; }

/* Was style="--ca" on each .ie__card. */
.ie .ie__card--1 { --ca: linear-gradient(90deg, #8A5CC4, #4B3B8F); }
.ie .ie__card--2 { --ca: linear-gradient(90deg, #D96A2B, #A8481A); }
.ie .ie__card--3 { --ca: linear-gradient(90deg, #5FD3A0, #2C8F63); }

/* Was <i> inside .ie__eyebrow. */
.ie .ie__eyebrow:before {
	content: "";
	width: 6px;
	height: 6px;
	border-radius: 50%;
	background: #fff;
	flex: none;
	animation: iePing 2.4s ease-out infinite;
}

@keyframes iePing {
	0%   { box-shadow: 0 0 0 0 rgba(255, 255, 255, .7); }
	70%  { box-shadow: 0 0 0 10px rgba(255, 255, 255, 0); }
	100% { box-shadow: 0 0 0 0 rgba(255, 255, 255, 0); }
}

/* Was <b> inside .ie__hub; the link now lives in a paragraph block. */
.ie .ie__hub-wrap { margin-top: 14px; }

.ie .ie__hub-wrap a:before {
	content: "";
	width: 7px;
	height: 7px;
	border-radius: 50%;
	background: #5FD3A0;
	flex: none;
	animation: iePulse 2s ease-in-out infinite;
}

@keyframes iePulse {
	0%, 100% { opacity: 1; }
	50%      { opacity: .3; }
}

/* The illustrations stay as nested core/html, so give the wrapper no extra box. */
.ie .ie__card-img .wp-block-html,
.ie .ie__card-img > div { height: 100%; }

@media (prefers-reduced-motion: reduce) {
	.ie .ie__eyebrow:before,
	.ie .ie__hub-wrap a:before { animation: none; }
}

/* Item 7 — the ticker is the first element of the section; drop the section's
   top padding so the marquee sits flush at the top with no empty space above.
   (Below-ticker breathing room is preserved by .ie__ticker's own margin.) */
.ie{padding-top:0}

/* Feedback — the section read as congested. Open up the vertical rhythm and
   grid gaps on one coherent scale so it breathes like the lighter sections;
   content is unchanged. */
.ie .ie__ticker{margin-bottom:clamp(3.5rem,6vw,5.5rem)}
.ie .ie__head{margin-bottom:clamp(3.5rem,6vw,5.5rem);gap:clamp(28px,5vw,80px);align-items:start}
.ie .ie__stats{gap:clamp(14px,1.5vw,20px);margin-bottom:clamp(3.5rem,6vw,5.5rem)}
.ie .ie__stat{padding:clamp(24px,2.8vw,36px) clamp(22px,2.4vw,30px)}
.ie .ie__cards{gap:clamp(16px,1.8vw,24px);margin-bottom:clamp(3rem,5vw,4.5rem)}
.ie .ie__disclaimer{padding-top:clamp(26px,3vw,34px)}

/* Feedback — the block-safe margin reset above cancels the badge's bottom
   margin (it comes after .ie__eyebrow in this file, unlike the other sections).
   Restore breathing space between the badge and the heading. */
.ie .ie__eyebrow{margin-bottom:clamp(24px,3vw,34px)}
