/*
Theme Name: VES Technology
Theme URI: https://ves360.example
Author: VES
Description: Professional classic WordPress theme for VES — technology for the waste ecosystem.
Version: 3.5.0
Requires at least: 6.0
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: ves-technology
*/

:root{
  --ink:#14181A;
  --paper:#F5F3EE;
  --steel:#5C6670;
  --line:#DDD8CC;
  --teal:#2C5F52;
  --teal-deep:#1B3E36;
  --amber:#D98C2B;
  --card:#FFFFFF;
}
*{box-sizing:border-box;margin:0;padding:0;}
html{scroll-behavior:smooth;}
@media (prefers-reduced-motion: reduce){
  html{scroll-behavior:auto;}
  *{animation-duration:0.01ms !important;animation-iteration-count:1 !important;transition-duration:0.01ms !important;scroll-behavior:auto !important;}
}
body{
  font-family:'Inter',sans-serif;
  color:var(--ink);
  background:var(--paper);
  line-height:1.6;
  -webkit-font-smoothing:antialiased;
}
h1,h2,h3,h4{font-family:'Archivo',sans-serif;letter-spacing:-0.01em;line-height:1.15;}
a{color:inherit;text-decoration:none;}
img{max-width:100%;display:block;}
ul{list-style:none;}
.wrap{max-width:1180px;margin:0 auto;padding:0 32px;}
section{padding:96px 0;border-bottom:1px solid var(--line);}
section:last-of-type{border-bottom:none;}

/* NAV */
header.site-header{position:sticky;top:0;z-index:50;background:rgba(245,243,238,0.94);backdrop-filter:blur(8px);border-bottom:1px solid var(--line);}
.site-header .wrap{display:flex;align-items:center;justify-content:space-between;padding:18px 32px;}
.logo{display:flex;align-items:center;gap:10px;font-family:'Archivo',sans-serif;font-weight:800;font-size:20px;}
.logo-mark{width:30px;height:30px;background:var(--teal-deep);border-radius:4px;position:relative;flex-shrink:0;}
.logo-mark::before,.logo-mark::after{content:"";position:absolute;background:var(--amber);}
.logo-mark::before{width:14px;height:3px;top:9px;left:8px;}
.logo-mark::after{width:3px;height:14px;top:8px;left:9px;}
.navlinks{display:flex;gap:32px;font-size:14px;font-weight:500;color:var(--steel);list-style:none;}
.navlinks a:hover{color:var(--ink);}
.btn{display:inline-block;padding:11px 22px;font-size:14px;font-weight:600;border-radius:2px;border:1px solid transparent;cursor:pointer;}
.btn-primary{background:var(--teal-deep);color:#fff;}
.btn-primary:hover{background:var(--ink);}
.btn-amber{background:var(--amber);color:#1B140A;}
.btn-amber:hover{background:#c17c1f;}
.btn-ghost{border:1px solid var(--line);color:var(--ink);}
.btn-ghost:hover{border-color:var(--ink);}

/* HERO */
.hero{padding-top:88px;padding-bottom:0;border-bottom:none;}
.hero-top{display:grid;grid-template-columns:1.15fr 1fr;gap:56px;align-items:center;margin-bottom:56px;}
.eyebrow{font-family:'IBM Plex Mono',monospace;font-size:12px;letter-spacing:0.14em;text-transform:uppercase;color:var(--teal);display:flex;align-items:center;gap:10px;margin-bottom:24px;}
.eyebrow::before{content:"";width:26px;height:1px;background:var(--amber);}
.hero h1{font-size:40px;font-weight:800;max-width:640px;margin-bottom:20px;line-height:1.12;}
.hero p.lead{font-size:17px;color:var(--steel);max-width:600px;margin-bottom:28px;}
.hero p.lead .hl{color:var(--teal-deep);font-weight:600;border-bottom:2px solid var(--amber);}
.hero-ctas{display:flex;gap:14px;flex-wrap:wrap;}
.hero-image{border-radius:16px;overflow:hidden;box-shadow:0 8px 32px rgba(20,24,26,0.14);aspect-ratio:4/5;}
.hero-image img{width:100%;height:100%;object-fit:cover;display:block;}

/* SECTION HEADS */
.kicker{font-family:'IBM Plex Mono',monospace;font-size:12px;text-transform:uppercase;letter-spacing:0.12em;color:var(--teal);margin-bottom:14px;}
h2.sechead{font-size:32px;font-weight:700;max-width:700px;margin-bottom:16px;}
.secdesc{color:var(--steel);max-width:660px;font-size:16px;margin-bottom:44px;}

/* Company description callout */
.about-block{display:grid;grid-template-columns:0.9fr 1.1fr;gap:56px;align-items:start;}
.about-block .statement{font-family:'Archivo',sans-serif;font-size:26px;font-weight:600;line-height:1.3;}
.about-block .statement span{color:var(--teal);}
.about-block p{color:var(--steel);font-size:16px;margin-bottom:16px;}

/* GROUP CARDS */
.group-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;}
.group-card{padding:32px 28px;background:var(--card);border-radius:12px;box-shadow:0 1px 2px rgba(20,24,26,0.04),0 4px 16px rgba(20,24,26,0.06);transition:transform .25s ease,box-shadow .25s ease;}
.group-card:hover{transform:translateY(-4px);box-shadow:0 8px 28px rgba(20,24,26,0.12);}
.group-card .num{font-family:'IBM Plex Mono',monospace;font-size:12px;color:var(--amber);margin-bottom:16px;}
.group-card h3{font-size:18px;margin-bottom:8px;}
.group-card p{font-size:14px;color:var(--steel);margin-bottom:16px;}
.tags{display:flex;flex-wrap:wrap;gap:8px;}
.tag{font-size:11px;font-family:'IBM Plex Mono',monospace;border:1px solid var(--line);padding:4px 9px;color:var(--steel);border-radius:20px;}
.group-card.mid{background:var(--teal-deep);color:#fff;box-shadow:0 1px 2px rgba(20,24,26,0.04),0 8px 24px rgba(27,62,54,0.28);}
.group-card .group-logo{height:56px;width:auto;margin-bottom:18px;}
.group-more{display:inline-block;margin-top:6px;font-size:13px;padding:9px 18px;}
.group-more-mid{border-color:rgba(255,255,255,0.3);color:#fff;}
.group-more-mid:hover{border-color:#fff;}
.group-card.mid p, .group-card.mid .num{color:#CFE3DB;}
.group-card.mid .tag{border-color:rgba(255,255,255,0.25);color:#CFE3DB;}

/* CARD GRID */
.card-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;}
.grid-card{background:var(--card);padding:30px 26px;border-radius:12px;box-shadow:0 1px 2px rgba(20,24,26,0.04),0 4px 16px rgba(20,24,26,0.06);transition:transform .25s ease,box-shadow .25s ease;}
.grid-card:hover{transform:translateY(-4px);box-shadow:0 8px 28px rgba(20,24,26,0.12);}
.grid-card .icon-badge{width:44px;height:44px;border-radius:50%;background:linear-gradient(135deg,var(--teal) 0%,var(--teal-deep) 100%);display:flex;align-items:center;justify-content:center;margin-bottom:18px;}
.grid-card .icon-badge svg{width:22px;height:22px;stroke:#fff;fill:none;stroke-width:1.8;}
.grid-card h3{font-size:16px;margin-bottom:8px;}
.grid-card p{font-size:14px;color:var(--steel);}

/* TECH FEATURE BLOCKS (technology platform detail) */
.tech-intro{font-size:16px;color:var(--steel);max-width:800px;margin-bottom:56px;}
.tech-feature{display:grid;grid-template-columns:1fr 1.15fr;gap:48px;align-items:center;padding:48px 0;border-top:1px solid var(--line);}
.tech-feature:first-child{border-top:none;padding-top:0;}
.tech-feature:nth-child(even) .tech-photo{order:2;}
.tech-feature:nth-child(even) .tech-copy{order:1;}
.tech-photo{aspect-ratio:4/3;border:1px dashed var(--line);background:repeating-linear-gradient(135deg,#efece3,#efece3 10px,#e7e3d7 10px,#e7e3d7 20px);display:flex;align-items:center;justify-content:center;text-align:center;padding:20px;}
.tech-photo span{font-family:'IBM Plex Mono',monospace;font-size:11px;color:var(--steel);text-transform:uppercase;letter-spacing:0.04em;}
.tech-code{display:inline-block;font-family:'IBM Plex Mono',monospace;font-size:11px;letter-spacing:0.04em;color:var(--teal);border:1px solid var(--teal);padding:4px 10px;margin-bottom:14px;}
.tech-copy h3{font-size:21px;margin-bottom:12px;}
.tech-copy p{font-size:15px;color:var(--steel);margin-bottom:16px;}
.tech-how{border-left:2px solid var(--amber);padding-left:16px;}
.tech-how .lbl{font-family:'IBM Plex Mono',monospace;font-size:11px;text-transform:uppercase;letter-spacing:0.06em;color:var(--amber);display:block;margin-bottom:8px;}
.tech-how p{font-size:14px;color:var(--ink);margin-bottom:0;}

@media(max-width:900px){
  .tech-feature,.tech-feature:nth-child(even) .tech-photo,.tech-feature:nth-child(even) .tech-copy{grid-template-columns:1fr;order:0;}
  .tech-feature{grid-template-columns:1fr;}
}

/* ROADMAP */
.roadmap{display:grid;grid-template-columns:repeat(5,1fr);gap:16px;position:relative;}
.rm-step{padding:28px 20px;background:var(--card);border-radius:12px;box-shadow:0 1px 2px rgba(20,24,26,0.04),0 4px 16px rgba(20,24,26,0.06);transition:transform .25s ease,box-shadow .25s ease;position:relative;}
.rm-step:hover{transform:translateY(-4px);box-shadow:0 8px 28px rgba(20,24,26,0.12);}
.rm-step:not(:last-child)::after{content:"→";position:absolute;right:-20px;top:50%;transform:translateY(-50%);color:var(--line);font-size:16px;z-index:1;}
.rm-step .idx{font-family:'IBM Plex Mono',monospace;font-size:24px;color:var(--line);margin-bottom:14px;}
.rm-step h4{font-size:14px;margin-bottom:8px;}
.rm-step p{font-size:13px;color:var(--steel);}

/* INTEGRATION */
.integ{display:grid;grid-template-columns:1fr auto 1fr;gap:0;align-items:stretch;}
.integ-col{background:var(--card);padding:34px 30px;border-radius:12px;box-shadow:0 1px 2px rgba(20,24,26,0.04),0 4px 16px rgba(20,24,26,0.06);}
.integ-col h3{font-family:'IBM Plex Mono',monospace;font-size:13px;text-transform:uppercase;letter-spacing:0.06em;color:var(--teal);margin-bottom:18px;}
.integ-col li{padding:11px 0;border-top:1px solid var(--line);font-size:15px;}
.integ-col li:first-child{border-top:none;}
.integ-arrow{display:flex;align-items:center;justify-content:center;padding:0 28px;}
.integ-arrow svg{width:40px;height:24px;overflow:visible;}
.integ-arrow .flow-line{stroke:var(--line);stroke-width:2;fill:none;}
.integ-arrow .flow-dot{fill:var(--amber);}

/* CREDIBILITY */
.cred-wrap{display:grid;grid-template-columns:1fr;gap:12px;margin-bottom:12px;}
.cred-list li{padding:12px 0;border-top:1px solid var(--line);font-size:15px;display:flex;gap:12px;align-items:baseline;}
.cred-list li:first-child{border-top:none;}
.cred-list li::before{content:"";width:6px;height:6px;background:var(--amber);flex-shrink:0;transform:translateY(-2px);}

/* EVIDENCE / PROOF */
.evidence-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:16px;}
.evidence-card{background:#fff;padding:26px 22px;border-radius:12px;box-shadow:0 1px 2px rgba(20,24,26,0.04),0 4px 16px rgba(20,24,26,0.06);transition:transform .25s ease,box-shadow .25s ease;}
.evidence-card:hover{transform:translateY(-4px);box-shadow:0 8px 28px rgba(20,24,26,0.12);}
.evidence-card h4{font-size:15px;margin-bottom:8px;}
.evidence-card p{font-size:13px;color:var(--steel);margin-bottom:14px;}
.status-pill{font-family:'IBM Plex Mono',monospace;font-size:10px;text-transform:uppercase;letter-spacing:0.06em;padding:4px 9px;border:1px solid var(--amber);color:var(--amber);display:inline-block;border-radius:20px;}
.evidence-note{font-size:13px;color:var(--steel);font-style:italic;}

/* PHOTO PLACEHOLDER */
.photo-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;}
.photo-slot{aspect-ratio:4/3;border:1px dashed var(--line);background:repeating-linear-gradient(135deg,#efece3,#efece3 10px,#e7e3d7 10px,#e7e3d7 20px);display:flex;align-items:center;justify-content:center;text-align:center;padding:20px;border-radius:12px;}
.photo-slot span{font-family:'IBM Plex Mono',monospace;font-size:11px;color:var(--steel);text-transform:uppercase;letter-spacing:0.04em;}

/* FACILITY PHOTO GALLERIES (real evidence photos) */
.facility-group{margin-top:56px;}
.facility-group:first-of-type{margin-top:40px;}
.facility-label{font-family:'IBM Plex Mono',monospace;font-size:13px;text-transform:uppercase;letter-spacing:0.06em;color:var(--teal);margin-bottom:16px;display:flex;align-items:center;gap:10px;}
.facility-label .loc{color:var(--steel);font-weight:400;text-transform:none;letter-spacing:0;}
.facility-single-photo{border-radius:12px;overflow:hidden;max-width:560px;box-shadow:0 4px 20px rgba(20,24,26,0.08);}
.facility-single-photo img{width:100%;display:block;}
.gallery-hero{border-radius:12px;overflow:hidden;margin-bottom:8px;box-shadow:0 4px 20px rgba(20,24,26,0.08);}
.gallery-hero img{width:100%;display:block;aspect-ratio:16/9;object-fit:cover;}
.gallery-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;}
.gallery-grid img{width:100%;display:block;aspect-ratio:4/3;object-fit:cover;border-radius:10px;transition:transform .3s ease;}
.gallery-grid img:hover{transform:scale(1.03);}
.gallery-grid-5{grid-template-columns:repeat(5,1fr);}
.gallery-grid-2{display:grid;grid-template-columns:1fr 1fr;gap:12px;}
.gallery-grid-2 .contain-frame{background:#fff;border:1px solid var(--line);border-radius:10px;height:340px;display:flex;align-items:center;justify-content:center;overflow:hidden;padding:8px;}
.gallery-grid-2 .contain-frame img{max-width:100%;max-height:100%;width:auto;height:auto;object-fit:contain;}

@media(max-width:900px){
  .gallery-grid{grid-template-columns:repeat(2,1fr);}
  .gallery-grid-5{grid-template-columns:repeat(2,1fr);}
  .gallery-grid-2{grid-template-columns:1fr;}
}

/* LEADERSHIP */
.leader-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:40px 32px;max-width:900px;margin-top:32px;}
.leader-card{text-align:left;}
.leader-photo{aspect-ratio:1;width:196px;height:196px;border-radius:50%;overflow:hidden;background:#EFECE3;display:flex;align-items:center;justify-content:center;margin-bottom:20px;border:3px solid var(--card);box-shadow:0 0 0 1px var(--line),0 8px 24px rgba(20,24,26,0.10);transition:transform .25s ease;}
.leader-card:hover .leader-photo{transform:translateY(-4px);}
.leader-photo img{width:100%;height:100%;object-fit:cover;display:block;}
.leader-photo span{font-family:'IBM Plex Mono',monospace;font-size:10px;color:var(--steel);text-transform:uppercase;}
.leader-card h4{font-size:18px;margin-bottom:4px;}
.leader-card .leader-role{font-size:13px;color:var(--teal);font-weight:600;margin-bottom:10px;}
.leader-card .leader-bio{font-size:14px;color:var(--steel);margin-bottom:14px;line-height:1.55;}
.leader-linkedin{display:inline-flex;align-items:center;gap:6px;font-family:'IBM Plex Mono',monospace;font-size:12px;color:var(--teal-deep);border:1px solid var(--line);padding:6px 12px;border-radius:20px;transition:border-color .15s;}
.leader-linkedin:hover{border-color:var(--teal);}
.leader-linkedin svg{flex-shrink:0;}

/* WAYS TO PARTNER */
.partner-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;}
.partner-card{padding:34px 28px;background:var(--card);border-radius:12px;box-shadow:0 1px 2px rgba(20,24,26,0.04),0 4px 16px rgba(20,24,26,0.06);transition:transform .25s ease,box-shadow .25s ease;}
.partner-card:hover{transform:translateY(-4px);box-shadow:0 8px 28px rgba(20,24,26,0.12);}
.partner-card .num{font-family:'IBM Plex Mono',monospace;font-size:12px;color:var(--amber);margin-bottom:16px;}
.partner-card h3{font-size:18px;margin-bottom:10px;}
.partner-card p{font-size:14px;color:var(--steel);margin-bottom:18px;}

/* ESG */
.esg{background:var(--teal-deep);color:#fff;border-bottom:none;}
.esg .kicker{color:#8FB8A8;}
.esg .secdesc{color:#CFE3DB;}
.esg h2.sechead{color:#fff;}
.esg-note{font-size:13px;color:#9FC3B4;max-width:720px;border-top:1px solid rgba(255,255,255,0.15);padding-top:20px;margin-top:24px;}

/* ESG native KPI grid (replaces the old wireframe stat image) */
.kpi-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:16px;margin:40px 0;}
.kpi-card{background:rgba(255,255,255,0.06);border:1px solid rgba(255,255,255,0.14);border-radius:12px;padding:24px 20px;transition:transform .25s ease,background .25s ease;}
.kpi-card:hover{transform:translateY(-4px);background:rgba(255,255,255,0.10);}
.kpi-card .kpi-icon{width:36px;height:36px;border-radius:50%;background:rgba(255,255,255,0.12);display:flex;align-items:center;justify-content:center;margin-bottom:14px;}
.kpi-card .kpi-icon svg{width:18px;height:18px;stroke:#fff;fill:none;stroke-width:1.8;}
.kpi-card .kpi-val{font-family:'IBM Plex Mono',monospace;font-size:28px;font-weight:500;color:#fff;display:block;line-height:1.1;margin-bottom:8px;}
.kpi-card .kpi-label{font-size:13px;color:#CFE3DB;}
.kpi-card .kpi-sub{font-size:11px;color:#7FA294;margin-top:4px;font-style:italic;}
.verify-flow{display:flex;flex-wrap:wrap;gap:10px;align-items:center;font-family:'IBM Plex Mono',monospace;font-size:12px;color:#CFE3DB;margin-top:8px;}
.verify-flow .vstep{padding:8px 14px;border:1px solid rgba(255,255,255,0.22);border-radius:20px;}
.verify-flow .varrow{color:#7FA294;}

/* CTA */
.cta{text-align:center;padding:100px 0;}
.cta h2{font-size:36px;margin-bottom:16px;}
.cta p{color:var(--steel);max-width:600px;margin:0 auto 36px;}
.cta-btns{display:flex;gap:14px;justify-content:center;flex-wrap:wrap;}

/* CONTACT */
.contact-card{display:flex;gap:56px;justify-content:center;flex-wrap:wrap;margin:0 auto 40px;padding:36px 40px;background:var(--card);border-radius:16px;box-shadow:0 4px 20px rgba(20,24,26,0.06);max-width:640px;text-align:left;}
.contact-block .lbl{display:block;font-family:'IBM Plex Mono',monospace;font-size:11px;text-transform:uppercase;letter-spacing:0.06em;color:var(--teal);margin-bottom:10px;}
.contact-block p{font-size:15px;color:var(--ink);line-height:1.6;}
.contact-block a{color:var(--teal-deep);text-decoration:underline;}

footer.site-footer{background:var(--ink);color:#B7BEC2;padding:60px 0 28px;}
.foot-grid{display:grid;grid-template-columns:1.6fr 1fr 1fr 1fr;gap:40px;margin-bottom:44px;}
.foot-grid h4{font-family:'IBM Plex Mono',monospace;font-size:12px;text-transform:uppercase;color:#7C8790;margin-bottom:16px;}
.foot-grid li{padding:5px 0;font-size:14px;}
.foot-grid li a:hover{color:#fff;}
.foot-bottom{border-top:1px solid #2A2E31;padding-top:22px;font-size:12px;color:#7C8790;display:flex;justify-content:space-between;flex-wrap:wrap;gap:10px;}

/* HERO / native flow diagram (waste input -> VES platform -> outputs) */
.hero-flow{border-radius:16px;overflow:hidden;box-shadow:0 4px 24px rgba(20,24,26,0.08);background:var(--card);border:1px solid var(--line);}
.flow-row{display:grid;grid-template-columns:1fr 64px 1.15fr 64px 1fr;align-items:stretch;}
.flow-cell{padding:26px 22px;}
.flow-cell h4{font-family:'IBM Plex Mono',monospace;font-size:11px;text-transform:uppercase;letter-spacing:0.08em;color:var(--teal);margin-bottom:12px;}
.flow-cell ul{list-style:none;}
.flow-cell li{padding:6px 0;font-size:13px;color:var(--ink);border-top:1px solid var(--line);}
.flow-cell li:first-child{border-top:none;}
.flow-cell.platform{background:linear-gradient(160deg,var(--teal) 0%,var(--teal-deep) 100%);color:#fff;border-radius:12px;margin:10px 0;box-shadow:0 8px 24px rgba(27,62,54,0.30);}
.flow-cell.platform h4{color:#CFEBDF;}
.flow-cell.platform li{color:#fff;border-top-color:rgba(255,255,255,0.18);}
.flow-connector{display:flex;align-items:center;justify-content:center;}
.flow-connector svg{width:100%;height:32px;overflow:visible;}
.flow-connector .fc-line{stroke:var(--line);stroke-width:2;fill:none;}
.flow-dot{fill:var(--amber);}
@keyframes flowmove{
  0%{ offset-distance: 0%; opacity:0; }
  10%{ opacity:1; }
  90%{ opacity:1; }
  100%{ offset-distance: 100%; opacity:0; }
}

/* SCROLL REVEAL */
.reveal{opacity:0;transform:translateY(18px);transition:opacity .6s ease,transform .6s ease;}
.reveal.is-visible{opacity:1;transform:translateY(0);}

@media(max-width:900px){
  .hero h1{font-size:30px;}
  .hero-top{grid-template-columns:1fr;}
  .hero-image{aspect-ratio:16/9;order:-1;}
  .about-block,.group-grid,.card-grid,.foot-grid,.evidence-grid,.photo-grid,.leader-grid,.partner-grid,.kpi-grid{grid-template-columns:1fr;}
  .roadmap{grid-template-columns:1fr;}
  .rm-step:not(:last-child)::after{content:"↓";right:auto;top:auto;bottom:-20px;left:50%;transform:translateX(-50%);}
  .integ{grid-template-columns:1fr;}
  .integ-arrow{padding:8px 0;}
  .integ-arrow svg{transform:rotate(90deg);width:24px;}
  .flow-row{grid-template-columns:1fr;}
  .flow-connector svg{transform:rotate(90deg);height:40px;}
  .navlinks{display:none;}
  .app-journey{grid-template-columns:1fr !important;}
  .aj-step:not(:last-child)::after{content:"↓" !important;right:auto !important;top:auto !important;bottom:-18px !important;left:50% !important;transform:translateX(-50%) !important;}
  .waste-flow{height:560px !important;}
}

/* HERO sub-blocks (What We Do / Platform Vision / Integration / Credibility, merged into hero) */
.hero-block{padding-top:64px;margin-top:64px;border-top:1px solid var(--line);}

/* PLATFORM VISION — app journey */
.app-journey{display:grid;grid-template-columns:repeat(5,1fr);gap:16px;margin:36px 0 48px;}
.aj-step{text-align:left;position:relative;padding-right:8px;}
.aj-step:not(:last-child)::after{content:"→";position:absolute;right:-14px;top:22px;color:var(--line);font-size:15px;}
.aj-icon{width:48px;height:48px;border-radius:50%;background:linear-gradient(135deg,var(--amber) 0%,#b8721f 100%);display:flex;align-items:center;justify-content:center;margin-bottom:14px;animation:ajpulse 3.6s ease-in-out infinite;}
.aj-icon svg{width:22px;height:22px;stroke:#fff;fill:none;stroke-width:1.8;}
.aj-step:nth-child(1) .aj-icon{animation-delay:0s;}
.aj-step:nth-child(2) .aj-icon{animation-delay:.5s;}
.aj-step:nth-child(3) .aj-icon{animation-delay:1s;}
.aj-step:nth-child(4) .aj-icon{animation-delay:1.5s;}
.aj-step:nth-child(5) .aj-icon{animation-delay:2s;}
.aj-step h4{font-size:14px;margin-bottom:6px;}
.aj-step p{font-size:12.5px;color:var(--steel);line-height:1.5;}
@keyframes ajpulse{
  0%,100%{ box-shadow:0 0 0 0 rgba(217,140,43,0.35); }
  50%{ box-shadow:0 0 0 8px rgba(217,140,43,0); }
}

/* PLATFORM VISION — hub & spoke facility network */
/* PLATFORM VISION — waste flow network (generators → IWERC spoke → hubs) */
.waste-flow{position:relative;height:420px;margin-top:20px;background:var(--card);border-radius:16px;border:1px solid var(--line);overflow:hidden;}
.wf-line-svg{position:absolute;inset:0;width:100%;height:100%;}
.wf-line-svg path{stroke:var(--line);stroke-width:1.5;fill:none;}
.wf-line-svg .flow-dot{fill:var(--teal);}
.wf-node{position:absolute;transform:translate(-50%,-50%);text-align:center;width:118px;}
.wf-node .wf-icon{width:40px;height:40px;border-radius:50%;background:#fff;border:1px solid var(--line);display:flex;align-items:center;justify-content:center;margin:0 auto 8px;box-shadow:0 2px 8px rgba(20,24,26,0.08);}
.wf-node .wf-icon svg{width:18px;height:18px;stroke:var(--teal-deep);fill:none;stroke-width:1.8;}
.wf-node .wf-label{font-size:11px;color:var(--steel);font-family:'IBM Plex Mono',monospace;text-transform:uppercase;letter-spacing:0.02em;line-height:1.4;}
.wf-node .wf-sub{display:block;font-size:9.5px;color:var(--steel);text-transform:none;font-style:italic;margin-top:2px;}
.wf-spoke{width:150px;}
.wf-spoke .wf-icon{width:58px;height:58px;background:linear-gradient(135deg,var(--teal) 0%,var(--teal-deep) 100%);border:none;box-shadow:0 6px 20px rgba(27,62,54,0.30);}
.wf-spoke .wf-icon svg{stroke:#fff;width:26px;height:26px;}
.wf-spoke .wf-label{font-size:12.5px;color:var(--ink);font-weight:600;text-transform:none;font-family:'Archivo',sans-serif;}
.wf-hub{width:140px;}
.wf-hub .wf-icon{width:48px;height:48px;background:linear-gradient(135deg,var(--teal-deep) 0%,var(--ink) 100%);border:none;box-shadow:0 4px 16px rgba(20,24,26,0.22);}
.wf-hub .wf-icon svg{stroke:#fff;width:22px;height:22px;}
.wf-hub .wf-label{font-size:12px;color:var(--ink);font-weight:600;text-transform:none;font-family:'Archivo',sans-serif;}
.wf-partner .wf-icon{background:#fff;border:2px solid var(--amber);}
.wf-partner .wf-icon svg{stroke:var(--amber);}
.wf-connector-label{position:absolute;left:50%;transform:translate(-50%,-50%);background:var(--paper);border:1px solid var(--line);border-radius:20px;padding:5px 12px;font-family:'IBM Plex Mono',monospace;font-size:10px;color:var(--teal);white-space:nowrap;text-align:center;}
.wf-trace-note{display:flex;gap:28px;justify-content:center;flex-wrap:wrap;margin-top:18px;font-size:12.5px;color:var(--steel);}
.wf-trace-note span{display:inline-flex;align-items:center;gap:7px;}
.wf-trace-note svg{width:15px;height:15px;stroke:var(--teal);fill:none;stroke-width:2;flex-shrink:0;}
