/* environmental-control-monitoring.html - page-specific styles */

/* ---- page-specific section styles ---- */

/* section block 1 */
*{box-sizing:border-box}
body{margin:0;font-family:Inter,Arial,sans-serif;color:#0a0c2e}
.ppv-section{background:#e1e1e1;}
.wrap{width:min(1240px,calc(100% - 3.5rem));margin:0 auto;}
.kicker{font-size:13px;font-weight:800;letter-spacing:.18em;text-transform:uppercase;color:#0e7a6d;margin:0 0 10px}
.head{margin-bottom:2rem}
.head h2{font-family:"DM Sans",sans-serif;font-weight:800;font-size:clamp(1.8rem,3.4vw,1.4rem);line-height:1.25;margin:0 0 .9rem}
.head p{color:#55607a !important;line-height:1.8;font-size:.98rem;margin:0}

/* ---- BENTO GRID ---- */
.bg-grid{display:grid;grid-template-columns:repeat(4,1fr);grid-auto-rows:140px;gap:1rem}
.bg-card{
  position:relative;
  border-radius:16px;
  padding:1.4rem;
  display:flex;
  flex-direction:column;
  justify-content:flex-end;
  color:#fff;
  overflow:clip;
  background-size:cover;
  background-position:center;
  background-repeat:no-repeat;
  box-shadow:0 10px 24px rgba(10,12,46,.14);
  transition:transform .35s cubic-bezier(.34,1.4,.5,1),box-shadow .35s;
}
.bg-card:hover{transform:translateY(-4px);box-shadow:0 20px 40px rgba(10,12,46,.22)}
.bg-card.big{grid-column:span 2;grid-row:span 2}
.bg-card h4{font-family:"DM Sans",sans-serif;font-weight:700;font-size:1rem;margin:0;position:relative;z-index:1}
.bg-card.big h4{font-size:1.35rem}

/* Each card = brand gradient overlay (80% opacity) layered ON TOP of a background photo.
   >>> THIS is exactly where to swap in a real image path for each card. <<< */
.bg-card.c1{background-image:linear-gradient(150deg,rgba(10,12,46,.82),rgba(14,77,110,.82)),url('/assets/images/process-packaging/cards/process-performance-qualification.webp')}
.bg-card.c2{background-image:linear-gradient(150deg,rgba(14,77,110,.82),rgba(13,158,158,.82)),url('/assets/images/process-packaging/cards/continued-process-verification.webp')}
.bg-card.c3{background-image:linear-gradient(150deg,rgba(13,158,158,.82),rgba(61,187,142,.82)),url('/assets/images/process-packaging/cards/cleaning-validation.webp')}
.bg-card.c4{background-image:linear-gradient(150deg,rgba(61,187,142,.82),rgba(143,209,106,.82)),url('/assets/images/process-packaging/cards/packaging-validation.webp')}
.bg-card.c5{background-image:linear-gradient(150deg,rgba(10,12,46,.82),rgba(13,158,158,.82)),url('/assets/images/process-packaging/cards/transport-shipping-validation.webp')}
.bg-card.c6{background-image:linear-gradient(150deg,rgba(14,77,110,.82),rgba(61,187,142,.82)),url('/assets/images/process-packaging/cards/temperature-mapping-studies.webp')}
.bg-card.c7{background-image:linear-gradient(150deg,rgba(13,158,158,.82),rgba(143,209,106,.82)),url('/assets/images/process-packaging/cards/technology-transfer-support.webp')}
.bg-card.c8{background-image:linear-gradient(150deg,rgba(10,12,46,.82),rgba(143,209,106,.82)),url('/assets/images/process-packaging/cards/statistical-sampling-plans.webp')}

@media(max-width:900px){
  .bg-grid{grid-template-columns:repeat(2,1fr)}
  .bg-card.big{grid-column:span 2;grid-row:span 1;min-height:180px}
}
@media(max-width:560px){
  .bg-grid{grid-template-columns:1fr}
  .bg-card.big{grid-column:span 1}
}

/* section block 2 */
*{box-sizing:border-box}
body{margin:0;font-family:Inter,Arial,sans-serif;color:#0a0c2e}
.lc-section{background:#f1fff1;}

.lc-wrap{padding:64px 40px 72px;max-width:1240px;margin:0 auto}
.lc-head{text-align:center;margin:0 auto 44px}
.lc-kicker{font-family:"DM Sans",sans-serif;font-weight:800;font-size:12.5px;letter-spacing:.18em;text-transform:uppercase;color:#0e7a6d;margin:0 0 12px}
.lc-head h2{font-family:"DM Sans",sans-serif;font-weight:800;font-size:28px;margin:0 0 12px;line-height:1.2}
.lc-head p{font-size:14.5px;color:#55607a;line-height:1.75;margin:0}

.lc-body{display:grid;grid-template-columns:440px 1fr;gap:48px;align-items:center}

.lc-wheel{position:relative;width:400px;height:400px;margin:0 auto}
.lc-svg{position:absolute;inset:0;width:100%;height:100%;transform:rotate(-90deg)}
.lc-arc{fill:none;stroke-width:6;stroke-linecap:round;transition:opacity .3s}
.lc-arc.dim{opacity:.25}

.lc-runner{position:absolute;width:14px;height:14px;border-radius:50%;background:#fff;box-shadow:0 0 0 4px rgba(103,232,249,.35),0 2px 8px rgba(10,12,46,.3);offset-path:path('M 200,40 A 160,160 0 1 1 199.9,40');animation:lc-run 10s linear infinite}
@keyframes lc-run{from{offset-distance:0%}to{offset-distance:100%}}

.lc-node{position:absolute;width:104px;margin-left:-52px;margin-top:-52px;display:flex;flex-direction:column;align-items:center;gap:8px;cursor:pointer;background:none;border:0;font-family:inherit}
.lc-dot{width:56px;height:56px;border-radius:50%;background:#fff;border:3px solid var(--c,#0a0c2e);display:grid;place-items:center;transition:all .3s cubic-bezier(.34,1.4,.5,1);box-shadow:0 4px 14px rgba(10,12,46,.08)}
.lc-dot svg{width:24px;height:24px;stroke:currentColor;fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;transition:stroke .3s}
.lc-node:not(.active) .lc-dot svg{stroke:var(--c,#0a0c2e)}
.lc-node.active .lc-dot{background:var(--c,#0a0c2e)}
.lc-node.active .lc-dot svg{stroke:#fff}
.lc-node span{font-family:"DM Sans",sans-serif;font-weight:700;font-size:11.5px;color:#55607a;text-align:center;line-height:1.3;transition:color .3s}
.lc-node.active .lc-dot{transform:scale(1.14);color:#fff}
.lc-node.active span{color:#0a0c2e}
.lc-node:not(.active) .lc-dot{color:inherit}
.lc-node:hover .lc-dot{transform:scale(1.08)}

.lc-n0{top:40px;left:200px}
.lc-n1{top:120px;left:338.6px}
.lc-n2{top:280px;left:338.6px}
.lc-n3{top:360px;left:200px}
.lc-n4{top:280px;left:61.4px}
.lc-n5{top:120px;left:61.4px}

.lc-center{position:absolute;width:170px;height:170px;left:50%;top:50%;transform:translate(-50%,-50%);border-radius:50%;background:#fff;box-shadow:inset 0 0 0 1px rgba(10,12,46,.06);display:grid;place-items:center;text-align:center;padding:14px}
.lc-center b{font-family:"DM Sans",sans-serif;font-weight:800;font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:#0e7a6d;display:block;margin-bottom:2px}
.lc-center-brand{display:block;font-family:"DM Sans",sans-serif;font-weight:900;font-size:20px;letter-spacing:.02em;color:#0a0c2e;margin-bottom:-36px}
.lc-center span{font-size:12px;color:#55607a;line-height:1.4;max-width:20ch}

.lc-panel{background:#0a0c2e;border-radius:20px;padding:clamp(1.8rem,3.5vw,2.6rem);color:#fff;position:relative;overflow:clip;min-height:260px;transition:background .5s var(--ease,ease)}
.lc-panel::before{content:"";position:absolute;inset:0;background:radial-gradient(60% 90% at 15% 15%,rgba(255,255,255,.1),transparent 60%);pointer-events:none}
.lc-panel-num{position:relative;display:block;font-family:"DM Sans",sans-serif;font-weight:800;font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:#67e8f9;margin-bottom:.8rem}
.lc-panel h3{position:relative;font-family:"DM Sans",sans-serif;font-weight:800;font-size:26px;margin:0 0 12px}
.lc-panel p{position:relative;margin:0 0 20px;font-size:14.5px;line-height:1.75;color:rgba(226,232,240,.85);max-width:56ch}
.lc-tags{position:relative;display:flex;flex-wrap:wrap;gap:.6rem}
.lc-tags span{background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.16);border-radius:999px;padding:.5rem 1rem;font-family:"DM Sans",sans-serif;font-weight:700;font-size:12.5px}

@media(max-width:960px){
  .lc-body{grid-template-columns:1fr}
  .lc-wheel{margin:0 auto}
}
@media(max-width:460px){
  .lc-wheel{width:320px;height:320px;transform:scale(.86);margin:-24px auto}
}

/* section block 3 */
.gd-portfolio{padding:clamp(4rem,9vw,6.5rem) 0;background:#fff}
.gd-portfolio-head{max-width:64ch;margin:0 auto 3rem;text-align:center}
.gd-portfolio-head h2{font-family:"DM Sans",sans-serif;font-weight:900;font-size:clamp(1.9rem,3.6vw,2.6rem);margin:0 0 1rem;color:#0a0c2e}
.gd-portfolio-head p{color:#55607a;line-height:1.8;font-size:1rem;margin:0}

.gd-strip{display:grid;grid-template-columns:repeat(6,1fr);gap:.35rem;border-radius:24px;overflow:hidden;height:440px}
.gd-panel{position:relative;background-size:cover;background-position:center;background-color:#0a0c2e;transition:transform .4s cubic-bezier(.22,1,.36,1);cursor:pointer}
.gd-panel::before{content:"";position:absolute;inset:0;transition:opacity .4s}
.gd-panel.tag-v::before{background:linear-gradient(180deg,rgba(10,12,46,.25) 0%,rgba(10,12,46,.55) 55%,rgba(10,12,46,.95) 100%)}
.gd-panel.tag-q::before{background:linear-gradient(180deg,rgba(14,122,109,.25) 0%,rgba(10,12,46,.55) 55%,rgba(10,12,46,.95) 100%)}
.gd-panel:hover{transform:scale(1.03);z-index:2;box-shadow:0 24px 48px rgba(10,12,46,.28)}

.gd-panel-content{position:absolute;left:0;right:0;bottom:0;padding:1.5rem 1.1rem;z-index:1;color:#fff}
.gd-panel-num{display:block;font-family:"DM Sans",sans-serif;font-weight:900;font-size:.72rem;letter-spacing:.06em;color:#67e8f9;margin-bottom:.7rem}
.gd-panel-content h4{font-family:"DM Sans",sans-serif;font-weight:800;font-size:.94rem;margin:0;line-height:1.3}
.gd-panel-sub{display:none;font-size:.78rem;color:rgba(226,232,240,.82);margin-top:.5rem;line-height:1.4}
.gd-panel:hover .gd-panel-sub{display:block}

@media(max-width:900px){
  .gd-strip{grid-template-columns:repeat(3,1fr);grid-template-rows:1fr 1fr;height:auto}
  .gd-panel{height:210px}
}
@media(max-width:560px){
  .gd-strip{grid-template-columns:1fr}
  .gd-panel{height:170px}
  .gd-panel-sub{display:block}
}

/* section block 4 */
*{box-sizing:border-box}
body{margin:0;font-family:Inter,Arial,sans-serif;background:#fff;color:#0a0c2e}
.ap20-wrap{padding:64px 40px 90px;background: #080e2b;}
.ap20-head{text-align:center;margin:0 auto 48px}
.ap20-kicker{font-family:"DM Sans",sans-serif;font-weight:800;font-size:12px;letter-spacing:.18em;text-transform:uppercase;color:#55607a;margin:0 0 10px}
.ap20-head h2{font-family:"DM Sans",sans-serif;font-weight:800;font-size:28px;margin:0 0 14px}
.ap20-head p{font-size:15px;line-height:1.7;color:#55607a;margin:0}

.ap20-tabs{display:flex;justify-content:center;gap:0;max-width:1100px;margin:0 auto;border-bottom:1px solid rgba(10,12,46,.1)}
.ap20-tab{display:flex;align-items:center;gap:9px;background:none;border:0;border-bottom:3px solid transparent;padding:0 26px 16px;font-family:"DM Sans",sans-serif;font-weight:700;font-size:15px;color:#8892a6;cursor:pointer;transition:color .25s}
.ap20-tab svg{width:19px;height:19px;stroke:#8892a6;fill:none;stroke-width:1.8;transition:stroke .25s}
.ap20-tab.active{color:#fff;border-color:#0d9e9e}
.ap20-tab.active svg{stroke:#0d9e9e}

.ap20-body{max-width:1100px;margin:36px auto 0;display:grid;grid-template-columns:.85fr 1.15fr;gap:32px}
.ap20-card{position:relative;overflow:clip;border-radius:16px;padding:32px 28px;display:flex;flex-direction:column;justify-content:flex-end;min-height:340px;background-size:cover;background-position:center;background-color:#0e2740}
.ap20-card::before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(10,12,46,.15) 0%,rgba(10,12,46,.55) 55%,rgba(10,12,46,.9) 100%);z-index:0}
.ap20-card h3,.ap20-card p,.ap20-btn{position:relative;z-index:1}
.ap20-card h3{font-family:"DM Sans",sans-serif;font-weight:800;font-size:20px;margin:0 0 12px;color:#fff}
.ap20-card p{font-size:14px;line-height:1.65;color:rgba(226,232,240,.88);margin:0 0 22px;max-width:32ch}

/* >>> Photo placeholders — swap per active tab <<< */
.ap20-card.tab-ppq{background-image:url('/assets/images/process-packaging/ppq.jpg')}
.ap20-card.tab-cpv{background-image:url('/assets/images/process-packaging/cpv.jpg')}
.ap20-card.tab-packaging{background-image:url('/assets/images/process-packaging/packaging.jpg')}
.ap20-card.tab-transport{background-image:url('/assets/images/process-packaging/transport.jpg')}
.ap20-btn{align-self:flex-start;background:linear-gradient(100deg,#0d9e9e,#3dbb8e);color:#04121a;font-family:"DM Sans",sans-serif;font-weight:700;font-size:13.5px;padding:11px 22px;border-radius:999px;text-decoration:none}

.ap20-grid{display:grid;grid-template-columns:1fr 1fr;gap:28px 32px}
.ap20-item{display:flex;gap:14px}
.ap20-item svg{width:24px;height:24px;stroke:#0d9e9e;fill:none;stroke-width:1.7;flex:0 0 auto;margin-top:2px}
.ap20-item h4{font-family:"DM Sans",sans-serif;font-weight:700; color:#fff;margin:0 0 6px}
.ap20-item p{font-size:13.5px;line-height:1.6;color:#55607a;margin:0}

@media (max-width:860px){
  .ap20-body{grid-template-columns:1fr}
  .ap20-grid{grid-template-columns:1fr}
  .ap20-tabs{flex-wrap:wrap;justify-content:flex-start;gap:6px}
  .ap20-tab{padding:0 14px 12px;font-size:13px}
  .ap20-head h2{font-size:30px}
}

/* section block 5 - Our Approach (dark/light split) */
.ppv-approach{background:#f4f7fa}
.ppv-approach-grid{display:grid;grid-template-columns:1fr 1fr}

.ppv-approach-dark{position:relative;background:#0a0c2e;color:#fff;padding:80px 64px;display:flex;flex-direction:column;justify-content:center;overflow:hidden}
.ppv-approach-dark-bg{position:absolute;inset:0;background:url('/assets/images/process-packaging/packaging.jpg') center/cover no-repeat}
.ppv-approach-dark-scrim{position:absolute;inset:0;background:#0a0c2e;opacity:.6}
.ppv-approach-dark > *{position:relative;z-index:1}
.ppv-approach-dark .kicker{color:#8fd16a;font-size:13px;}
.ppv-approach-dark h2{font-family:"DM Sans",sans-serif;font-weight:800;font-size:clamp(1.55rem,2.3vw,2rem);line-height:1.28;color:#fff;margin:0 0 1.3rem;text-shadow:0 2px 12px rgba(0,0,0,.35)}
.ppv-approach-dark p{color:rgba(255,255,255,.9);font-size:1rem;line-height:1.8;max-width:48ch;margin:0;text-shadow:0 1px 8px rgba(0,0,0,.3)}

.ppv-approach-light{background:#fff;padding:72px 56px}
.ppv-approach-light h3{font-family:"DM Sans",sans-serif;font-weight:800;font-size:.78rem;letter-spacing:.12em;text-transform:uppercase;color:#0e4d6e;margin:0 0 1.5rem}

.ppv-approach-list{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:0 2rem}
.ppv-approach-list li{display:flex;align-items:flex-start;gap:.65rem;font-family:"DM Sans",sans-serif;font-weight:600;font-size:.88rem;line-height:1.4;color:#0a0c2e;padding:.75rem 0;border-bottom:1px solid rgba(10,12,46,.07)}

.ppv-approach-check{width:22px;height:22px;border-radius:50%;background:linear-gradient(135deg,#0d9e9e,#3dbb8e);display:flex;align-items:center;justify-content:center;flex-shrink:0;margin-top:1px}
.ppv-approach-check svg{width:12px;height:12px;stroke:#fff;fill:none;stroke-width:3;stroke-linecap:round;stroke-linejoin:round}

@media (max-width:880px){
  .ppv-approach-grid{grid-template-columns:1fr}
  .ppv-approach-dark,.ppv-approach-light{padding:56px 32px}
  .ppv-approach-list{grid-template-columns:1fr}
}

/* ==========================================================================
   Where AVEX Supports — photo cards with seam badges and reveal overlays.
   Scoped under .ecm-support so existing page sections remain unchanged.
   ========================================================================== */
.ecm-support{position:relative;padding:clamp(42px,5vw,68px) 0;background:#f6f9f9;color:#0a0c2e;overflow:hidden}
.ecm-support-head{margin-bottom:clamp(28px,3.5vw,40px)}
.ecm-support-kicker{display:flex;align-items:center;gap:13px;margin:0 0 13px;color:#55607a;font-family:"DM Sans",sans-serif;font-size:10px;font-weight:700;letter-spacing:.18em;text-transform:uppercase}
.ecm-support-kicker::before{content:"";width:31px;height:2px;border-radius:2px;background:#67e8f9}
.ecm-support h2{margin:0;color:#0a0c2e;font-family:"DM Sans",sans-serif;font-size:clamp(34px,4vw,50px);font-weight:900;letter-spacing:-.04em;line-height:1.05}
.ecm-support-subhead{display:flex;align-items:center;gap:20px;margin-bottom:22px}
.ecm-support-subhead span{color:#0d9e9e;font-family:"DM Sans",sans-serif;font-size:10px;font-style:normal;font-weight:700;letter-spacing:.19em;text-transform:uppercase;white-space:nowrap}
.ecm-support-subhead i{flex:1;height:1px;background:#d8e3e3}
.ecm-support-track{overflow:visible;outline:none}
.ecm-support-track:focus-visible{outline:3px solid rgba(13,158,158,.38);outline-offset:7px;border-radius:14px}
.ecm-support-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;margin:0;padding:0;list-style:none}
.ecm-support-grid li{--fill:#0a0c2e;position:relative;min-width:0;min-height:360px;display:flex;flex-direction:column;border:1px solid #dfe8e8;border-radius:16px;background:#fff;outline:none;overflow:hidden;box-shadow:0 20px 45px -36px rgba(10,12,46,.55);transition:transform .35s cubic-bezier(.22,1,.36,1),border-color .3s,box-shadow .3s}
.ecm-support-grid li:nth-child(2){--fill:#0e4d6e}.ecm-support-grid li:nth-child(3){--fill:#0d7f83}.ecm-support-grid li:nth-child(4){--fill:#0e7a6d}.ecm-support-grid li:nth-child(5){--fill:#27896f}.ecm-support-grid li:nth-child(6){--fill:#568e38}
.ecm-support-grid li:hover,.ecm-support-grid li:focus-visible{transform:translateY(-5px);border-color:var(--fill);box-shadow:0 26px 50px -32px rgba(10,12,46,.5)}
.ecm-support-media{position:relative;flex:0 0 238px;height:238px;margin:0;background:#0a0c2e;overflow:visible}
.ecm-support-media::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(10,12,46,.05),rgba(10,12,46,.36));pointer-events:none}
.ecm-support-media img{width:100%;height:100%;display:block;border-radius:13px 13px 0 0;object-fit:cover;transition:transform .7s cubic-bezier(.22,1,.36,1)}
.ecm-support-icon{position:absolute;z-index:5;left:50%;bottom:-31px;width:62px;height:62px;display:grid;place-items:center;transform:translateX(-50%);border:7px solid #fff;border-radius:50%;background:#0a0c2e;box-shadow:0 13px 24px -15px rgba(10,12,46,.65);color:#8fd16a}
.ecm-support-icon svg{width:25px;height:25px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.ecm-support-copy{min-height:121px;display:grid;place-items:center;flex:1;padding:42px 24px 20px;background:#fff;text-align:center}
.ecm-support-grid h3{max-width:24ch;margin:0;color:#0a0c2e;font-family:"DM Sans",sans-serif;font-size:18px;font-weight:600;letter-spacing:-.025em;line-height:1.25}
.ecm-support-grid p{position:absolute;z-index:4;inset:0 0 auto;height:238px;display:flex;align-items:center;justify-content:center;margin:0;padding:32px 30px;background:linear-gradient(135deg,var(--fill),#0a0c2e);color:rgba(255,255,255,.96);font-size:13px;line-height:1.65;text-align:center;opacity:0;transform:translateY(8px);transition:opacity .38s,transform .45s cubic-bezier(.22,1,.36,1)}
.ecm-support-grid li:hover p,.ecm-support-grid li:focus-visible p{opacity:1;transform:none}
.ecm-support-grid li:hover .ecm-support-media img,.ecm-support-grid li:focus-visible .ecm-support-media img{transform:scale(1.05)}
@media(max-width:960px){.ecm-support-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.ecm-support-subhead{margin-bottom:18px}}
@media(max-width:620px){.ecm-support{padding:34px 0}.ecm-support h2{font-size:clamp(31px,10vw,40px)}.ecm-support-grid{grid-template-columns:1fr;gap:18px}.ecm-support-grid li{min-height:0}.ecm-support-media{flex-basis:220px;height:220px}.ecm-support-grid p{position:static;height:auto;min-height:118px;padding:18px 22px;background:#fff;color:#55607a;font-size:13px;opacity:1;transform:none}.ecm-support-copy{min-height:105px;padding:42px 22px 18px}.ecm-support-grid li:hover,.ecm-support-grid li:focus-visible{transform:none}}
@media(prefers-reduced-motion:reduce){.ecm-support-grid li,.ecm-support-media img,.ecm-support-grid p{transition:none}}

/* ==========================================================================
   Environmental Control overview — editorial split with readiness visual.
   Scoped under .ecm-overview so existing page sections remain unchanged.
   ========================================================================== */
.ecm-overview{position:relative;padding:clamp(36px,5vw,46px) 0;background:#fff;color:#0a0c2e;overflow:hidden}
.ecm-overview-layout{display:grid;grid-template-columns:minmax(0,.98fr) minmax(0,1.02fr);gap:clamp(44px,6vw,88px);align-items:center}
.ecm-overview-kicker{display:flex;align-items:center;gap:13px;margin:0 0 20px;color:#8fd16a;font-family:"DM Sans",sans-serif;font-size:13px;font-weight:700;letter-spacing:.19em;text-transform:uppercase}
/*.ecm-overview-kicker::before{content:"";width:32px;height:2px;border-radius:2px;background:#0d9e9e}*/
.ecm-overview h2{max-width:16ch;margin:0;color:#0a0c2e;font-family:"DM Sans",sans-serif;font-size:clamp(36px,4.3vw,55px);font-weight:900;letter-spacing:-.043em;line-height:1.06}
.ecm-overview-copy>p:not(.ecm-overview-kicker){max-width:65ch;margin:28px 0 0;color:#55607a;font-size:14px;line-height:1.82}
.ecm-overview-copy>p+p{margin-top:18px}
.ecm-overview-visual{position:relative;min-height:clamp(430px,43vw,570px);margin:0;background:#0a0c2e;clip-path:polygon(5% 0,100% 0,100% 95%,95% 100%,0 100%,0 5%);overflow:hidden;isolation:isolate}
.ecm-overview-visual::after{content:"";position:absolute;z-index:1;inset:0;background:linear-gradient(180deg,rgba(7,9,25,.02) 43%,rgba(7,9,25,.72) 100%);pointer-events:none}
.ecm-overview-visual img{position:absolute;inset:0;width:100%;height:100%;display:block;object-fit:cover;object-position:center;transition:transform .7s cubic-bezier(.22,1,.36,1)}
.ecm-overview-visual:hover img{transform:scale(1.025)}
.ecm-overview-scale{position:absolute;z-index:2;left:20px;top:42px;width:15px;height:220px;background:repeating-linear-gradient(to bottom,rgba(255,255,255,.84) 0 2px,transparent 2px 20px);opacity:.82}
.ecm-overview-status{position:absolute;z-index:3;top:22px;right:22px;display:flex;align-items:center;gap:10px;margin:0;padding:11px 15px;border-radius:3px;background:rgba(10,12,46,.92);box-shadow:0 12px 26px -14px rgba(0,0,0,.65);color:#fff;font-family:"DM Sans",sans-serif;font-size:9px;font-weight:600;letter-spacing:.16em;text-transform:uppercase}
.ecm-overview-status span{width:10px;height:10px;border-radius:50%;background:#8fd16a;box-shadow:0 0 0 5px rgba(143,209,106,.18)}
.ecm-overview-label{position:absolute;z-index:3;left:30px;bottom:28px;display:grid;gap:7px;color:#fff}
.ecm-overview-label strong{font-family:"DM Sans",sans-serif;font-size:17px;font-weight:800;letter-spacing:-.01em}
.ecm-overview-label span{color:rgba(255,255,255,.68);font-family:"DM Sans",sans-serif;font-size:9px;font-weight:500;letter-spacing:.18em;text-transform:uppercase}
@media(max-width:960px){.ecm-overview-layout{grid-template-columns:1fr}.ecm-overview h2{max-width:19ch}.ecm-overview-copy>p:not(.ecm-overview-kicker){max-width:76ch}.ecm-overview-visual{min-height:460px}}
@media(max-width:620px){.ecm-overview{padding:34px 0}.ecm-overview-layout{gap:32px}.ecm-overview-kicker{margin-bottom:16px}.ecm-overview h2{font-size:clamp(31px,10vw,40px)}.ecm-overview-copy>p:not(.ecm-overview-kicker){margin-top:22px;font-size:13.5px;line-height:1.75}.ecm-overview-copy>p+p{margin-top:16px}.ecm-overview-visual{min-height:340px;clip-path:polygon(7% 0,100% 0,100% 93%,93% 100%,0 100%,0 7%)}.ecm-overview-scale{left:14px;top:36px;height:160px}.ecm-overview-status{top:16px;right:14px;padding:9px 11px;font-size:8px}.ecm-overview-label{left:22px;bottom:22px}.ecm-overview-label strong{font-size:15px}.ecm-overview-label span{font-size:8px;letter-spacing:.13em}}
@media(prefers-reduced-motion:reduce){.ecm-overview-visual img{transition:none}}


/* ===== Extracted from inline <style> blocks in environmental-control-monitoring.html on consolidation pass ===== */

/* --- inline block 1 --- */
/* ── Where AVEX Supports — Auto-Scroll Marquee ─────────────────────────── */
.ecm-monitor{padding:clamp(56px,7vw,92px) 0;background:#f2f5f5;overflow:hidden}
.ecm-monitor-head{text-align:center;margin-bottom:clamp(36px,4vw,52px)}
.ecm-monitor-kicker{font-family:"DM Sans",sans-serif;font-size:13px;font-weight:700;letter-spacing:.2em;text-transform:uppercase;color:#0e7a6d;margin-bottom:14px}
.ecm-monitor h2{margin:0;font-family:"DM Sans",sans-serif;font-size:clamp(34px,4vw,50px);font-weight:900;letter-spacing:-.04em;line-height:1.05;color:#0a0c2e}
.ecm-marquee-row{position:relative;overflow:hidden;margin-bottom:14px}
.ecm-marquee-row:last-of-type{margin-bottom:0}
.ecm-marquee-row::before,.ecm-marquee-row::after{content:"";position:absolute;top:0;bottom:0;width:120px;z-index:2;pointer-events:none}
.ecm-marquee-row::before{left:0;background:linear-gradient(90deg,#f2f5f5,transparent)}
.ecm-marquee-row::after{right:0;background:linear-gradient(-90deg,#f2f5f5,transparent)}
.ecm-marquee-track{display:flex;gap:16px;width:max-content;animation:ecm-mq-l 28s linear infinite}
.ecm-marquee-track.rev{animation:ecm-mq-r 32s linear infinite}
@keyframes ecm-mq-l{from{transform:translateX(0)}to{transform:translateX(-50%)}}
@keyframes ecm-mq-r{from{transform:translateX(-50%)}to{transform:translateX(0)}}
.ecm-marquee-row:hover .ecm-marquee-track{animation-play-state:paused}
.ecm-mq-card{flex-shrink:0;width:290px;display:flex;align-items:flex-start;gap:14px;padding:18px 20px;border-radius:14px;background:#fff;border:1px solid rgba(10,12,46,.07);box-shadow:0 2px 12px -6px rgba(10,12,46,.1);transition:border-color .25s,box-shadow .25s;cursor:default}
.ecm-mq-card:hover{border-color:#0d9e9e;box-shadow:0 8px 24px -10px rgba(13,158,158,.25)}
.ecm-mq-icon{flex-shrink:0;width:42px;height:42px;border-radius:10px;background:linear-gradient(135deg,rgba(13,158,158,.1),rgba(143,209,106,.1));border:1px solid rgba(13,158,158,.15);display:grid;place-items:center;color:#0d9e9e}
.ecm-mq-card:nth-child(even) .ecm-mq-icon{color:#3dbb8e;background:linear-gradient(135deg,rgba(61,187,142,.1),rgba(143,209,106,.1));border-color:rgba(61,187,142,.2)}
.ecm-mq-icon svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.ecm-mq-text h3{font-family:"DM Sans",sans-serif;font-size:13.5px;font-weight:800;letter-spacing:-.015em;color:#0a0c2e;margin-bottom:4px;line-height:1.25}
.ecm-mq-text p{font-size:11.5px;line-height:1.6;color:#55607a;margin:0}
@media(prefers-reduced-motion:reduce){.ecm-marquee-track{animation:none}}

/* --- inline block 2 --- */
/* ── Calibrated Equipment Section — Option 2: Light Editorial Card Grid ──
   All selectors scoped to .ceq-* to prevent cascade collisions. */

.ceq-section {
  padding: clamp(43px, 3vw, 96px) 0;
  background: #051332;
  overflow: hidden;
  position: relative;
}

/* ── Head: two-col intro ── */
.ceq-head {
  display: grid;
  grid-template-columns: 1.1fr 1fr;
  gap: clamp(32px, 5vw, 72px);
  align-items: end;
  margin-bottom: clamp(40px, 4vw, 60px);
}

.ceq-kicker {
  display: flex;
  align-items: center;
  gap: 14px;
  font-family: "DM Sans", sans-serif;
  font-size: 13px;
  font-weight: 600;
  letter-spacing: .18em;
  text-transform: uppercase;
  color: #90d16a;
  margin: 0 0 12px;
}
/*
.ceq-kicker::before {
  content: "";
  width: 34px;
  height: 2px;
  background: #0e4d6e;
}
*/

.ceq-heading {
  font-family: 'DM Sans', sans-serif;
  font-size: clamp(28px, 3.5vw, 44px);
  font-weight: 800;
  letter-spacing: -.04em;
  line-height: 1.08;
  color: #ffff;
  margin-bottom: 14px;
}

.ceq-sub {
  font-family: 'Inter', sans-serif;
  font-size: clamp(14px, 1.3vw, 15.5px);
  line-height: 1.72;
  color: #4a5568;
  max-width: 64ch;
}

.ceq-sub2 {
  font-family: 'Inter', sans-serif;
  font-size: 14px;
  line-height: 1.7;
  color: #5a6b7a;
}

/* ── NIST badge ── */
.ceq-nist {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  margin-top: 20px;
  padding: 16px 18px;
  border-radius: 10px;
  background: #fff;
  border: 1px solid #dde5ea;
  box-shadow: 0 2px 12px rgba(10, 12, 46, .05);
}
.ceq-nist svg {
  width: 26px;
  height: 26px;
  fill: none;
  stroke: #3dbb8e;
  stroke-width: 1.7;
  stroke-linecap: round;
  stroke-linejoin: round;
  flex-shrink: 0;
  margin-top: 2px;
}
.ceq-nist strong {
  display: block;
  font-family: "DM Sans", sans-serif;
  font-size: 10px;
  font-weight: 700;
  color: #0e4d6e;
  letter-spacing: .1em;
  text-transform: uppercase;
  margin-bottom: 3px;
}
.ceq-nist p {
  font-family: 'Inter', sans-serif;
  font-size: 12.5px;
  line-height: 1.55;
  color: #4a5568;
}

/* ── Card Grid ── */
.ceq-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 16px;
}

.ceq-card {
  background: #fff;
  border: 1px solid #e4eaee;
  border-radius: 14px;
  padding: 28px 24px;
  transition: transform .35s cubic-bezier(.22, 1, .36, 1),
              box-shadow .35s,
              border-color .35s;
}
.ceq-card:hover {
  transform: translateY(-5px);
  box-shadow: 0 16px 40px rgba(10, 12, 46, .07);
  border-color: #0d9e9e;
}
.ceq-card:hover .ceq-ring {
  background: #0a0c2e;
  border-color: #0a0c2e;
}
.ceq-card:hover .ceq-ring svg {
  stroke: #8fd16a;
}
.ceq-card:hover .ceq-rule {
  width: 52px;
}

/* icon ring */
.ceq-ring {
  width: 44px;
  height: 44px;
  border-radius: 12px;
  border: 1px solid #e4eaee;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 18px;
  transition: background .3s, border-color .3s;
}
.ceq-ring svg {
  width: 22px;
  height: 22px;
  fill: none;
  stroke: #0e4d6e;
  stroke-width: 1.7;
  stroke-linecap: round;
  stroke-linejoin: round;
  transition: stroke .3s;
}

/* gradient rule */
.ceq-rule {
  width: 32px;
  height: 2px;
  background: linear-gradient(90deg, #0d9e9e, #3dbb8e);
  margin-bottom: 14px;
  border-radius: 2px;
  transition: width .4s;
}

.ceq-card h3 {
  font-family: 'DM Sans', sans-serif;
  font-size: 15px;
  font-weight: 700;
  color: #0a0c2e;
  margin-bottom: 9px;
  line-height: 1.3;
}

.ceq-card p {
  font-family: 'Inter', sans-serif;
  font-size: 13px;
  line-height: 1.65;
  color: #5a6b7a;
}

/* category chip */
.ceq-chip {
  display: inline-block;
  margin-top: 12px;
  padding: 3px 10px;
  border-radius: 20px;
  font-family: "DM Sans", sans-serif;
  font-size: 9.5px;
  font-weight: 600;
  letter-spacing: .1em;
  text-transform: uppercase;
  background: rgba(13, 158, 158, .07);
  color: #0e4d6e;
  border: 1px solid rgba(13, 158, 158, .15);
}

/* ── Responsive ── */
@media (max-width: 1024px) {
  .ceq-head { grid-template-columns: 1fr; }
  .ceq-grid { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 640px) {
  .ceq-grid { grid-template-columns: 1fr; }
  .ceq-section { padding: 40px 0; }
}
@media (prefers-reduced-motion: reduce) {
  .ceq-card { transition: none; }
  .ceq-rule { transition: none; }
}

/* --- inline block 3 --- */
/* Core Areas We Support â€” expanding image panels.
   All selectors are scoped to .qs-core so other page sections are unaffected. */

.qs-core{position:relative;padding:clamp(34px,3.8vw,52px) 0;background:linear-gradient(135deg,#e8f6f5 0%,#d8eef1 100%);color:#0a0c2e;overflow:hidden}
.qs-core .wrap{position:relative;width:min(1240px,calc(100% - 3.5rem));margin:0 auto}
.qs-core-head{max-width:none;margin-bottom:clamp(24px,3vw,36px)}
.qs-core-kicker{display:flex;align-items:center;gap:14px;margin:0 0 12px;color:#67a83d;font-family:"DM Sans",sans-serif;font-size:13px;font-weight:600;letter-spacing:.18em;text-transform:uppercase}
/*.qs-core-kicker::before{content:"";width:34px;height:2px;background:#0d9e9e}*/
.qs-core h2{margin:0;color:#0a0c2e;font-family:"DM Sans",sans-serif;font-size:clamp(32px,3.8vw,48px);font-weight:800;letter-spacing:-.035em;line-height:1.08}
.qs-core-strip{display:flex;gap:9px;height:clamp(360px,34vw,350px);margin:0;padding:0;list-style:none}
.qs-core-panel{--core-fill:rgba(10,12,46,.9);--core-mark:#67e8f9;position:relative;flex:.78;min-width:0;border-radius:6px;overflow:hidden;background:#0a0c2e;cursor:default;transition:flex .6s cubic-bezier(.22,1,.36,1)}
.qs-core-strip:hover .qs-core-panel,.qs-core-strip:focus-within .qs-core-panel{flex:.72}
.qs-core-strip .qs-core-panel:hover,.qs-core-strip .qs-core-panel:focus{flex:4.2}
.qs-core-panel:focus-visible{outline:2px solid #8fd16a;outline-offset:3px}
.qs-core-panel:nth-child(2){--core-fill:rgba(14,77,110,.92);--core-mark:#8fd16a}
.qs-core-panel:nth-child(3){--core-fill:rgba(13,115,115,.92);--core-mark:#fff}
.qs-core-panel:nth-child(4){--core-fill:rgba(31,124,91,.92);--core-mark:#fff}
.qs-core-panel:nth-child(5){--core-fill:rgba(10,60,44,.93);--core-mark:#8fd16a}
.qs-core-panel:nth-child(6){--core-fill:rgba(14,77,110,.93);--core-mark:#67e8f9}
.qs-core-panel img{width:100%;height:100%;display:block;object-fit:cover;opacity:1;transition:opacity .5s ease,transform .8s cubic-bezier(.22,1,.36,1)}
.qs-core-panel:hover img,.qs-core-panel:focus img{transform:scale(1.04)}
.qs-core-scrim,.qs-core-fill{position:absolute;inset:0;pointer-events:none}
/* Scrim and fill disabled — the photo never gets a colour wash, hover or not. */
.qs-core-scrim{background:linear-gradient(180deg,rgba(10,12,46,.18),rgba(10,12,46,.92));opacity:0}
.qs-core-fill{background:var(--core-fill);opacity:0}
/* Label now hidden until hover, with its own small blurred backdrop just
   behind the text instead of a colour wash across the whole photo. */
.qs-core-label{position:absolute;z-index:2;left:0;right:0;bottom:0;padding:24px 21px 20px;color:#fff;
  opacity:0;transform:translateY(8px);transition:opacity .4s ease,transform .4s cubic-bezier(.22,1,.36,1);
  background:linear-gradient(180deg,transparent,rgba(10,12,46,.72) 40%);backdrop-filter:blur(2px)}
.qs-core-panel:hover .qs-core-label,.qs-core-panel:focus .qs-core-label{opacity:1;transform:translateY(0)}
.qs-core-icon{width:28px;height:28px;display:block;margin-bottom:14px;fill:none;stroke:#fff;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;transition:stroke .35s ease}
.qs-core-icon .qs-core-mark{stroke:var(--core-mark)}
.qs-core-panel h3{margin:0;color:#fff;font-family:"DM Sans",sans-serif;font-size:15px;font-weight:700;letter-spacing:-.01em;line-height:1.3}
.qs-core-desc{max-width:45ch;max-height:0;margin-top:0;overflow:hidden;opacity:0;transition:max-height .5s cubic-bezier(.22,1,.36,1),opacity .35s ease,margin-top .5s cubic-bezier(.22,1,.36,1)}
.qs-core-panel:hover .qs-core-desc,.qs-core-panel:focus .qs-core-desc{max-height:210px;margin-top:13px;opacity:1}
.qs-core-desc::before{content:"";display:block;width:36px;height:2px;margin-bottom:12px;background:var(--core-mark)}
.qs-core-desc p{margin:0;color:rgba(255,255,255,.92);font-size:13.5px;line-height:1.62}

@media (hover:none){
  .qs-core-label{opacity:1;transform:none}
  .qs-core-desc{max-height:210px;margin-top:13px;opacity:1}
  .qs-core-panel img{opacity:1}
}

@media(max-width:1000px){
  .qs-core-strip{height:auto;flex-wrap:wrap}
  .qs-core-panel,.qs-core-strip:hover .qs-core-panel,.qs-core-strip .qs-core-panel:hover,.qs-core-strip:focus-within .qs-core-panel,.qs-core-strip .qs-core-panel:focus{flex:1 1 calc(50% - 9px);height:300px}
  .qs-core-fill{opacity:.88}
  .qs-core-scrim{opacity:0}
  .qs-core-desc{max-height:210px;margin-top:13px;opacity:1}
}

@media(max-width:620px){
  .qs-core{padding:28px 0}
  .qs-core .wrap{width:min(100% - 2rem,1240px)}
  .qs-core-panel,.qs-core-strip:hover .qs-core-panel,.qs-core-strip .qs-core-panel:hover,.qs-core-strip:focus-within .qs-core-panel,.qs-core-strip .qs-core-panel:focus{flex-basis:100%;height:300px}
  .qs-core-label{padding:22px 20px}
}

@media(prefers-reduced-motion:reduce){
  .qs-core-panel,.qs-core-panel img,.qs-core-scrim,.qs-core-fill,.qs-core-desc{transition:none}
}

/* --- inline block 4 --- */
/* ── Execution Approach — Dark Icon Band Cards with Images ──
   All selectors scoped to .ea-* — no cascade collisions. */

.ea-section {
  position: relative;
  padding: clamp(48px, 3vw, 64px) 0;
  background: linear-gradient(160deg, #060818, #0a0c2e 65%);
  overflow: hidden;
}

.ea-grain {
  position: absolute;
  inset: 0;
  pointer-events: none;
  opacity: .038;
  background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
  background-size: 180px;
}

/* ── Head ── */
.ea-head {
  max-width: 72ch;
  margin-bottom: clamp(44px, 5vw, 68px);
  position: relative;
  z-index: 1;
}

.ea-kicker {
  display: flex;
  align-items: center;
  gap: 14px;
  font-family: "DM Sans", sans-serif;
  font-size: 13px;
  font-weight: 600;
  letter-spacing: .18em;
  text-transform: uppercase;
  color: #8fd16a;
  margin-bottom: 14px;
}
/*
.ea-kicker::before {
  content: "";
  width: 32px;
  height: 2px;
  background: #8fd16a;
}
*/

.ea-heading {
  font-family: 'DM Sans', sans-serif;
  font-size: clamp(28px, 3.5vw, 46px);
  font-weight: 900;
  letter-spacing: -.05em;
  line-height: 1.06;
  color: #fff;
  margin-bottom: 14px;
}

.ea-sub {
  font-family: 'Inter', sans-serif;
  font-size: 15px;
  line-height: 1.72;
  color: rgba(255, 255, 255, .52);
}

/* ── Card Grid ── */
.ea-row {
  display: grid;
  grid-template-columns: repeat(6, 1fr);
  gap: 12px;
  position: relative;
  z-index: 1;
}

/* ── Card Shell ── */
.ea-card {
  border-radius: 14px;
  overflow: hidden;
  border: 1px solid rgba(255, 255, 255, .07);
  transition: transform .4s cubic-bezier(.22, 1, .36, 1),
              box-shadow .4s,
              border-color .35s;
}
.ea-card:hover {
  transform: translateY(-8px);
  box-shadow: 0 24px 56px rgba(0, 0, 0, .35);
  border-color: rgba(13, 158, 158, .35);
}

/* ── Image Band ── */
.ea-band {
  position: relative;
  height: 160px;
  overflow: hidden;
}

/* background image */
.ea-img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  transition: transform .7s cubic-bezier(.22, 1, .36, 1),
              filter .5s;
  filter: saturate(.7) brightness(.65);
}
.ea-card:hover .ea-img {
  transform: scale(1.08);
  filter: saturate(.9) brightness(.55);
}

/* colour overlay per card — tints the image to match spectrum */
.ea-band-overlay {
  position: absolute;
  inset: 0;
  transition: opacity .4s;
}
.ea-card:nth-child(1) .ea-band-overlay { background: linear-gradient(160deg, rgba(13,158,158,.55), rgba(10,12,46,.4)); }
.ea-card:nth-child(2) .ea-band-overlay { background: linear-gradient(160deg, rgba(61,187,142,.5),  rgba(10,12,46,.4)); }
.ea-card:nth-child(3) .ea-band-overlay { background: linear-gradient(160deg, rgba(143,209,106,.45),rgba(10,12,46,.4)); }
.ea-card:nth-child(4) .ea-band-overlay { background: linear-gradient(160deg, rgba(14,77,110,.65),  rgba(10,12,46,.4)); }
.ea-card:nth-child(5) .ea-band-overlay { background: linear-gradient(160deg, rgba(13,158,158,.55), rgba(10,12,46,.4)); }
.ea-card:nth-child(6) .ea-band-overlay { background: linear-gradient(160deg, rgba(61,187,142,.5),  rgba(10,12,46,.4)); }
.ea-card:hover .ea-band-overlay { opacity: .85; }

/* bottom scrim so body text reads cleanly */
.ea-band::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, transparent 30%, rgba(10, 12, 46, .6) 100%);
  pointer-events: none;
}

/* icon + number floating over the image */
.ea-band-content {
  position: absolute;
  inset: 0;
  z-index: 2;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 10px;
}

.ea-band-num {
  font-family: "DM Sans", sans-serif;
  font-size: 9.5px;
  font-weight: 700;
  letter-spacing: .16em;
  text-transform: uppercase;
  color: rgba(255, 255, 255, .55);
}

/* icon circle */
.ea-band-ico {
  width: 52px;
  height: 52px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  background: rgba(10, 12, 46, .5);
  border: 1px solid rgba(255, 255, 255, .18);
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
  transition: transform .4s cubic-bezier(.22, 1, .36, 1),
              border-color .35s,
              background .35s,
              box-shadow .4s;
}
.ea-card:hover .ea-band-ico {
  transform: scale(1.12) translateY(-3px);
  border-color: rgba(255, 255, 255, .32);
}
.ea-card:nth-child(1):hover .ea-band-ico,
.ea-card:nth-child(5):hover .ea-band-ico { background: rgba(13,158,158,.2); box-shadow: 0 0 20px rgba(13,158,158,.35); }
.ea-card:nth-child(2):hover .ea-band-ico,
.ea-card:nth-child(6):hover .ea-band-ico { background: rgba(61,187,142,.2); box-shadow: 0 0 20px rgba(61,187,142,.35); }
.ea-card:nth-child(3):hover .ea-band-ico { background: rgba(143,209,106,.18); box-shadow: 0 0 20px rgba(143,209,106,.3); }
.ea-card:nth-child(4):hover .ea-band-ico { background: rgba(14,77,110,.35); box-shadow: 0 0 20px rgba(74,154,190,.3); }

.ea-band-ico svg {
  width: 24px;
  height: 24px;
  fill: none;
  stroke-width: 1.7;
  stroke-linecap: round;
  stroke-linejoin: round;
  transition: filter .4s, stroke .35s;
}

/* icon stroke + glow per card */
.ea-card:nth-child(1) .ea-band-ico svg { stroke: #0d9e9e; }
.ea-card:nth-child(2) .ea-band-ico svg { stroke: #3dbb8e; }
.ea-card:nth-child(3) .ea-band-ico svg { stroke: #8fd16a; }
.ea-card:nth-child(4) .ea-band-ico svg { stroke: #4a9abe; }
.ea-card:nth-child(5) .ea-band-ico svg { stroke: #0d9e9e; }
.ea-card:nth-child(6) .ea-band-ico svg { stroke: #3dbb8e; }

.ea-card:nth-child(1):hover .ea-band-ico svg,
.ea-card:nth-child(5):hover .ea-band-ico svg { filter: drop-shadow(0 0 6px rgba(13,158,158,.8)); }
.ea-card:nth-child(2):hover .ea-band-ico svg,
.ea-card:nth-child(6):hover .ea-band-ico svg { filter: drop-shadow(0 0 6px rgba(61,187,142,.8)); }
.ea-card:nth-child(3):hover .ea-band-ico svg { filter: drop-shadow(0 0 6px rgba(143,209,106,.7)); }
.ea-card:nth-child(4):hover .ea-band-ico svg { filter: drop-shadow(0 0 6px rgba(74,154,190,.7)); }

/* ── Card Body ── */
.ea-body {
  padding: 20px 16px 24px;
  background: rgba(255, 255, 255, .03);
}
.ea-body h3 {
  font-family: 'DM Sans', sans-serif;
  font-size: 15px;
  font-weight: 800;
  color: #fff;
  margin-bottom: 8px;
  letter-spacing: -.02em;
  line-height: 1.2;
}
.ea-body p {
  font-family: 'Inter', sans-serif;
  font-size: 11.5px;
  line-height: 1.65;
  color: rgba(255, 255, 255, .48);
  transition: color .35s;
}
.ea-card:hover .ea-body p {
  color: rgba(255, 255, 255, .75);
}

/* ── Responsive ── */
@media (max-width: 1080px) {
  .ea-row { grid-template-columns: repeat(3, 1fr); }
}
@media (max-width: 640px) {
  .ea-row { grid-template-columns: repeat(2, 1fr); }
  .ea-section { padding: 48px 0; }
}
@media (max-width: 400px) {
  .ea-row { grid-template-columns: 1fr; }
}
@media (prefers-reduced-motion: reduce) {
  .ea-card, .ea-img, .ea-band-ico { transition: none; }
}

/* --- inline block 5 --- */
/* ── How AVEX Helps — Option 3: Horizontal Process Flow ──
   All selectors scoped to .hah-* — zero cascade collision. */

.hah-section {
  padding: clamp(32px, 2vw, 56px) 0;
  background: #fff;
  overflow: hidden;
  position: relative;
}

/* ── Head ── */
.hah-head {
  max-width: 92ch;
  margin-bottom: clamp(40px, 5vw, 64px);
}

.hah-kicker {
  display: flex;
  align-items: center;
  gap: 14px;
  font-family: "DM Sans", sans-serif;
  font-size: 13px;
  font-weight: 600;
  letter-spacing: .18em;
  text-transform: uppercase;
  color: #0e4d6e;
  margin-bottom: 14px;
}
/*
.hah-kicker::before {
  content: "";
  width: 34px;
  height: 2px;
  background: #0e4d6e;
}
*/

.hah-heading {
  font-family: 'DM Sans', sans-serif;
  font-size: clamp(28px, 3.5vw, 44px);
  font-weight: 800;
  letter-spacing: -.04em;
  line-height: 1.1;
  color: #0a0c2e;
  margin-bottom: 16px;
}

.hah-sub {
  font-family: 'Inter', sans-serif;
  font-size: clamp(14.5px, 1.3vw, 16px);
  line-height: 1.72;
  color: #4a5568;
  max-width: 68ch;
}

/* ── Flow ── */
.hah-flow {
  display: flex;
  align-items: stretch;
  gap: 0;
  position: relative;
}

/* ── Step Card ── */
.hah-step {
  flex: 1;
  position: relative;
  padding: 32px 24px 36px;
  background: #fff;
  border: 1px solid #e4eaee;
  margin-left: -1px;
  transition: background .35s,
              border-color .35s,
              transform .35s,
              z-index 0s;
  cursor: default;
}
.hah-step:first-child {
  border-radius: 14px 0 0 14px;
  margin-left: 0;
}
.hah-step:last-child {
  border-radius: 0 14px 14px 0;
}
.hah-step:hover {
  background: #0a0c2e;
  border-color: #0a0c2e;
  z-index: 2;
  transform: scaleY(1.03);
}

/* step number pill */
.hah-step-num {
  display: inline-block;
  font-family: "DM Sans", sans-serif;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: .12em;
  color: #0e4d6e;
  border: 1px solid rgba(13, 158, 158, .25);
  padding: 3px 10px;
  border-radius: 20px;
  margin-bottom: 18px;
  transition: color .3s, border-color .3s, background .3s;
}
.hah-step:hover .hah-step-num {
  color: #8fd16a;
  border-color: rgba(143, 209, 106, .3);
  background: rgba(143, 209, 106, .08);
}

/* icon */
.hah-step-icon {
  display: block;
  width: 28px;
  height: 28px;
  fill: none;
  stroke: #0e4d6e;
  stroke-width: 1.7;
  stroke-linecap: round;
  stroke-linejoin: round;
  margin-bottom: 14px;
  transition: stroke .3s, filter .35s;
}
.hah-step:hover .hah-step-icon {
  stroke: #8fd16a;
  filter: drop-shadow(0 0 6px rgba(143, 209, 106, .5));
}

/* title */
.hah-step h3 {
  font-family: 'DM Sans', sans-serif;
  font-size: 15px;
  font-weight: 700;
  line-height: 1.3;
  margin-bottom: 10px;
  color: #0a0c2e;
  transition: color .3s;
}
.hah-step:hover h3 {
  color: #fff;
}

/* body */
.hah-step p {
  font-family: 'Inter', sans-serif;
  font-size: 12.5px;
  line-height: 1.65;
  color: #5a6b7a;
  transition: color .3s;
}
.hah-step:hover p {
  color: rgba(255, 255, 255, .65);
}

/* diamond connector arrow */
.hah-connector {
  position: absolute;
  right: -10px;
  top: 50%;
  transform: translateY(-50%);
  width: 20px;
  height: 20px;
  background: #e4eaee;
  clip-path: polygon(0 50%, 50% 0, 100% 50%, 50% 100%);
  z-index: 3;
  transition: background .3s;
}
.hah-step:hover .hah-connector {
  background: rgba(255, 255, 255, .18);
}
.hah-step:last-child .hah-connector {
  display: none;
}

/* ── Responsive ── */
@media (max-width: 1024px) {
  .hah-flow {
    flex-direction: column;
  }
  .hah-step {
    margin-left: 0;
    margin-top: -1px;
    border-radius: 0 !important;
  }
  .hah-step:first-child {
    border-radius: 12px 12px 0 0 !important;
    margin-top: 0;
  }
  .hah-step:last-child {
    border-radius: 0 0 12px 12px !important;
  }
  .hah-step:hover {
    transform: scaleX(1.01);
  }
  .hah-connector {
    right: auto;
    bottom: -10px;
    top: auto;
    left: 50%;
    transform: translateX(-50%);
  }
}
@media (max-width: 640px) {
  .hah-section { padding: 40px 0; }
  .hah-step { padding: 24px 20px 28px; }
}
@media (prefers-reduced-motion: reduce) {
  .hah-step { transition: none; }
  .hah-step-icon { transition: none; }
}

/* --- inline block 6 --- */
.qs-vimpact{position:relative;padding:clamp(40px,4.5vw,62px) 0;background:#f0f8ff;color:#0a0c2e;overflow:clip}
.qs-vimpact-layout{display:grid;grid-template-columns:minmax(300px,.8fr) minmax(0,1.2fr);gap:clamp(45px,7vw,100px);align-items:start}
.qs-vimpact-head{position:sticky;top:105px}
.qs-vimpact-kicker{display:flex;align-items:center;gap:13px;margin:0 0 13px;color:#0e7a6d;font-family:"DM Sans",sans-serif;font-size:13px;font-weight:700;letter-spacing:.18em;text-transform:uppercase}
/*.qs-vimpact-kicker::before{content:"";width:31px;height:2px;border-radius:2px;background:#67a83d}*/
.qs-vimpact h2{margin:0;color:#0a0c2e;font-family:"DM Sans",sans-serif;font-size:clamp(34px,4vw,50px);font-weight:900;letter-spacing:-.04em;line-height:1.05}
.qs-vimpact-lede{max-width:76ch;margin:24px 0 0;color:#55607a;font-size:13.5px;line-height:1.75}
.qs-vimpact-outcomes>h3{margin:0 0 20px;color:#0a0c2e;font-family:"DM Sans",sans-serif;font-size:10px;font-weight:700;letter-spacing:.16em;text-transform:uppercase}
.qs-vimpact-outcomes ul{display:grid;gap:0;margin:0;padding:0;border-top:1px solid rgba(10,12,46,.12);list-style:none}
.qs-vimpact-outcomes li{display:grid;grid-template-columns:56px minmax(0,1fr);gap:18px;align-items:center;padding:20px 0;border-bottom:1px solid rgba(10,12,46,.12)}
.qs-vimpact-icon{width:46px;height:46px;display:grid;place-items:center;border-radius:50%;background:#0a0c2e;color:#67e8f9}
.qs-vimpact-icon svg{width:25px;height:25px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.qs-vimpact-outcomes li:nth-child(even) .qs-vimpact-icon{background:#0e7a6d;color:#fff}
.qs-vimpact-outcomes li:last-child .qs-vimpact-icon{background:#67a83d;color:#fff}
.qs-vimpact-outcomes h4{margin:0;color:#0a0c2e;font-family:"DM Sans",sans-serif;font-size:17px;font-weight:800;letter-spacing:-.02em;line-height:1.25}
.qs-vimpact-outcomes p{margin:9px 0 0;color:#55607a;font-size:12.5px;line-height:1.6}
@media(max-width:850px){.qs-vimpact-layout{grid-template-columns:1fr;gap:34px}.qs-vimpact-head{position:relative;top:auto}.qs-vimpact-lede{max-width:80ch}}
@media(max-width:620px){.qs-vimpact{padding:32px 0}.qs-vimpact h2{font-size:clamp(31px,10vw,40px)}.qs-vimpact-layout{gap:30px}.qs-vimpact-outcomes li{grid-template-columns:50px minmax(0,1fr);gap:14px;padding:18px 0}.qs-vimpact-icon{width:44px;height:44px}.qs-vimpact-outcomes h4{font-size:16px}}
