/* ===========================================================
   ASME Integrated Solutions — Global Stylesheet
   Brand: lime green + charcoal | Modern corporate
   =========================================================== */

/* ---------- Design tokens ---------- */
:root{
  --green:        #8DC63F;
  --green-2:      #74AC27;
  --green-dark:   #5B8C1E;
  --green-light:  #B6E26A;
  --green-soft:   #f1f8e6;

  --ink:          #15181c;
  --charcoal:     #20262c;
  --charcoal-2:   #2b333b;
  --slate:        #5c6772;
  --muted:        #8a949f;
  --line:         #e7ebe9;

  --bg:           #ffffff;
  --bg-soft:      #f6f8f5;
  --bg-dark:      #161b20;
  --bg-dark-2:    #1d242b;

  --white:        #ffffff;

  --radius:       16px;
  --radius-sm:    10px;
  --radius-lg:    24px;
  --shadow-sm:    0 2px 10px rgba(20,25,30,.06);
  --shadow:       0 14px 40px rgba(20,25,30,.10);
  --shadow-lg:    0 30px 70px rgba(20,25,30,.16);

  --container:    1200px;
  --ease:         cubic-bezier(.22,.61,.36,1);

  --font-head: "Poppins", "Segoe UI", system-ui, sans-serif;
  --font-body: "Inter", "Segoe UI", system-ui, sans-serif;
}

/* ---------- Reset ---------- */
*,*::before,*::after{box-sizing:border-box}
*{margin:0}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%;overflow-x:clip}
/* the off-canvas nav is position:fixed, so it escapes body's clip and would
   otherwise add ~320px of horizontal scroll on phones. clip (not hidden)
   contains it WITHOUT creating a scroll container, so sticky still works. */
body{
  font-family:var(--font-body);
  color:var(--charcoal);
  background:var(--bg);
  line-height:1.65;
  font-size:16px;
  overflow-x:clip;
  -webkit-font-smoothing:antialiased;
}
img{max-width:100%;display:block;height:auto}
a{color:inherit;text-decoration:none}
ul{list-style:none;padding:0}
button{font-family:inherit;cursor:pointer;border:none;background:none}
h1,h2,h3,h4{font-family:var(--font-head);line-height:1.15;color:var(--ink);font-weight:700}
section{position:relative}

/* ---------- Layout helpers ---------- */
.container{width:100%;max-width:var(--container);margin-inline:auto;padding-inline:24px}
.section{padding:96px 0}
.section--soft{background:var(--bg-soft)}
.section--dark{background:var(--bg-dark);color:#cfd6dd}
.section--tight{padding:64px 0}
.center{text-align:center}
.mx-auto{margin-inline:auto}

/* ---------- Buttons ---------- */
.btn{
  display:inline-flex;align-items:center;gap:.55em;
  font-family:var(--font-head);font-weight:600;font-size:.95rem;
  padding:.85em 1.6em;border-radius:999px;
  transition:transform .25s var(--ease), box-shadow .25s var(--ease), background .25s, color .25s;
  white-space:nowrap;
}
.btn svg{width:1.05em;height:1.05em}
.btn--primary{background:var(--green-2);color:#fff}
.btn--primary:hover{background:var(--green-dark)}
.btn--dark{background:var(--charcoal);color:#fff}
.btn--dark:hover{transform:translateY(-3px);background:var(--ink)}
.btn--ghost{background:transparent;color:#fff;border:1.5px solid rgba(255,255,255,.45)}
.btn--ghost:hover{background:#fff;color:var(--ink);transform:translateY(-3px)}
.btn--outline{background:transparent;color:var(--charcoal);border:1.5px solid var(--line)}
.btn--outline:hover{border-color:var(--green);color:var(--green-dark);transform:translateY(-3px)}

/* ---------- Section heading ---------- */
.eyebrow{
  display:inline-flex;align-items:center;gap:.5em;
  font-family:var(--font-head);font-weight:600;letter-spacing:.14em;
  text-transform:uppercase;font-size:.74rem;color:var(--green-dark);
  margin-bottom:14px;
}
.eyebrow::before{content:"";width:26px;height:2px;background:var(--green);display:inline-block;border-radius:2px}
.section--dark .eyebrow{color:var(--green)}
.head{max-width:720px;margin-bottom:54px}
.head.center{margin-inline:auto}
.head h2{font-size:clamp(1.8rem,3.4vw,2.7rem);letter-spacing:-.01em}
.section--dark .head h2{color:#fff}
.head p{margin-top:16px;color:var(--slate);font-size:1.05rem}
.section--dark .head p{color:#aeb8c2}
.text-green{color:var(--green-dark)}
.section--dark .text-green{color:var(--green)}

/* ===========================================================
   HEADER / NAV
   =========================================================== */
/* Header is solid/light at all times so the original (green) logo always shows in its true colors */
.header{
  position:fixed;top:0;left:0;right:0;z-index:1000;
  transition:padding .3s, box-shadow .3s, background .3s;
  padding:14px 0;
  background:rgba(255,255,255,.96);
  backdrop-filter:blur(12px);
  box-shadow:0 2px 16px rgba(20,25,30,.06);
  border-bottom:1px solid rgba(20,25,30,.05);
}
.header__inner{display:flex;align-items:center;justify-content:space-between;gap:24px}
.brand{display:flex;align-items:center;gap:12px}
.brand img{height:48px;width:auto;transition:height .3s}
.header.scrolled{box-shadow:0 8px 26px rgba(20,25,30,.10);padding:9px 0}
.header.scrolled .brand img{height:42px}

.nav{display:flex;align-items:center;gap:6px}
.nav a{
  font-family:var(--font-head);font-weight:500;font-size:.93rem;color:var(--charcoal);
  padding:10px 14px;border-radius:8px;position:relative;transition:color .2s,background .2s;
}
.nav a::after{
  content:"";position:absolute;left:14px;right:14px;bottom:6px;height:2px;
  background:var(--green);transform:scaleX(0);transform-origin:left;transition:transform .25s var(--ease);border-radius:2px;
}
.nav a:hover::after,.nav a.active::after{transform:scaleX(1)}
.nav a:hover{color:var(--green-dark)}
.nav a.active{color:var(--green-dark)}
.nav > .btn{display:none} /* in-drawer CTA: hidden on desktop, shown in mobile drawer */

.header__cta{display:flex;align-items:center;gap:10px}
.nav-toggle{display:none;width:44px;height:44px;border-radius:10px;align-items:center;justify-content:center;flex-direction:column;gap:5px}
.nav-toggle span{width:24px;height:2px;background:var(--charcoal);border-radius:2px;transition:.3s}

/* mobile drawer */
@media(max-width:980px){
  .nav-toggle{display:flex}
  .header__cta .btn{display:none}
  /* CRITICAL: .header has backdrop-filter, which makes it a containing block for
     position:fixed descendants — that sized the drawer to the header (~128px) instead
     of the screen. Dropping the blur on mobile restores the viewport as the containing
     block. The header background is already 96% opaque, so nothing looks different. */
  .header{backdrop-filter:none;-webkit-backdrop-filter:none}
  .nav{
    position:fixed;top:0;right:0;bottom:0;left:auto;
    width:min(320px,82vw);height:100vh;height:100dvh;
    background:var(--bg-dark);flex-direction:column;align-items:stretch;justify-content:flex-start;
    padding:96px 24px calc(32px + env(safe-area-inset-bottom));gap:6px;
    transform:translateX(100%);transition:transform .35s var(--ease);
    box-shadow:var(--shadow-lg);
    overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;
  }
  .nav.open{transform:translateX(0)}
  .nav a{color:#dfe5ea;font-size:1.05rem;padding:14px 16px;border-radius:10px}
  .nav a::after{display:none}
  .nav a:hover,.nav a.active{background:rgba(255,255,255,.06);color:var(--green)}
  .header.scrolled .nav a{color:#dfe5ea}
  .nav .btn{display:inline-flex;margin-top:14px;justify-content:center}
  .nav-backdrop{position:fixed;inset:0;background:rgba(0,0,0,.5);opacity:0;visibility:hidden;transition:.3s;z-index:999}
  .nav-backdrop.show{opacity:1;visibility:visible}
  .header__cta{position:relative;z-index:2}
  .nav-toggle span{transform-origin:center}
  .nav-toggle[aria-expanded="true"] span:nth-child(1){transform:translateY(7px) rotate(45deg)}
  .nav-toggle[aria-expanded="true"] span:nth-child(2){opacity:0}
  .nav-toggle[aria-expanded="true"] span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
}

/* ===========================================================
   HERO
   =========================================================== */
.hero{
  position:relative;min-height:100svh;display:flex;align-items:center;
  color:#fff;overflow:hidden;padding:140px 0 90px;
  background:linear-gradient(125deg,#1c2a12 0%,#2f4a17 38%,var(--green-2) 78%,var(--green) 110%);
}
.hero__bg{position:absolute;inset:0;z-index:0;opacity:.16;
  background:url("../img/hero-bg.jpg") center/cover no-repeat;mix-blend-mode:luminosity}
/* hero background slideshow (crossfade + ken-burns) — images now clearly visible */
.hero__slides{position:absolute;inset:0;z-index:0}
.hero__slides::after{content:"";position:absolute;inset:0;z-index:1;pointer-events:none;
  background:linear-gradient(115deg,rgba(12,19,7,.88) 0%,rgba(20,34,12,.7) 42%,rgba(40,64,16,.52) 72%,rgba(116,172,39,.4) 112%)}
.hero__slide{position:absolute;inset:0;background-position:center;background-size:cover;background-repeat:no-repeat;
  opacity:0;transition:opacity 1.6s ease}
.hero__slide.active{opacity:1;animation:heroZoom 7s ease-out forwards}
@keyframes heroZoom{from{transform:scale(1.04)}to{transform:scale(1.13)}}
@media(prefers-reduced-motion:reduce){ .hero__slide{transition:none} .hero__slide.active{animation:none} }
.hero__mesh{position:absolute;inset:0;z-index:0;
  background:linear-gradient(180deg, rgba(12,16,20,.62) 0%, rgba(12,16,20,.44) 45%, rgba(12,16,20,.78) 100%)}
/* diagonal motif */
.hero__lines{display:none}
.hero__lines::before,.hero__lines::after{
  content:"";position:absolute;width:200%;height:2px;background:linear-gradient(90deg,transparent,#fff,transparent);
}
.hero__lines::before{top:34%;left:-50%;transform:rotate(-18deg)}
.hero__lines::after{top:62%;left:-50%;transform:rotate(-18deg)}
.hero .container{position:relative;z-index:2}
.hero__content{max-width:820px}
.hero h1{
  color:#fff;font-size:clamp(2.4rem,6vw,4.6rem);font-weight:800;letter-spacing:-.02em;line-height:1.04;
}
.hero h1 .accent{color:var(--green-light)}
.hero p.lead{margin-top:24px;font-size:clamp(1.05rem,1.6vw,1.3rem);color:#e7eef3;max-width:640px}
.hero__actions{margin-top:38px;display:flex;flex-wrap:wrap;gap:14px}

/* page hero (inner pages) */
.phero{
  position:relative;color:#fff;padding:160px 0 80px;overflow:hidden;
  background:linear-gradient(120deg,#1a2410 0%,#33500f 60%,var(--green-2) 120%);
}
.phero__lines{position:absolute;inset:0;opacity:.16;background:
   repeating-linear-gradient(-20deg, transparent 0 60px, rgba(255,255,255,.4) 60px 61px)}
.phero .container{position:relative;z-index:2}
.phero h1{color:#fff;font-size:clamp(2rem,4.4vw,3.2rem);font-weight:800;letter-spacing:-.02em}
.phero p{margin-top:14px;color:#e3ebf1;max-width:620px;font-size:1.08rem}
.crumbs{display:flex;gap:8px;align-items:center;font-size:.85rem;color:rgba(255,255,255,.75);margin-bottom:18px;font-family:var(--font-head)}
.crumbs a:hover{color:var(--green-light)}
.crumbs span{color:var(--green-light)}

/* ===========================================================
   STATS BAR
   =========================================================== */
.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:24px}
.stat{text-align:center;padding:20px}
.stat__num{font-family:var(--font-head);font-weight:800;font-size:clamp(2rem,4vw,3rem);color:var(--green-dark);line-height:1}
.section--dark .stat__num{color:var(--green)}
.stat__label{margin-top:10px;font-size:.92rem;color:var(--slate);font-weight:500}
.section--dark .stat__label{color:#aeb8c2}

/* ===========================================================
   CARDS / GRIDS
   =========================================================== */
.grid{display:grid;gap:24px}
.grid-2{grid-template-columns:repeat(2,1fr)}
.grid-3{grid-template-columns:repeat(3,1fr)}
.grid-4{grid-template-columns:repeat(4,1fr)}

.card{
  background:#fff;border:1px solid var(--line);border-radius:var(--radius);
  padding:30px;transition:transform .35s var(--ease),box-shadow .35s var(--ease),border-color .35s;
  position:relative;overflow:hidden;height:100%;
}
.card:hover{transform:translateY(-3px);box-shadow:var(--shadow);border-color:transparent}
.card__icon{
  width:40px;height:40px;display:grid;place-items:center;margin-bottom:18px;
  color:var(--green-2);
}
.card__icon svg{width:28px;height:28px}
.card h3{font-size:1.18rem;margin-bottom:10px}
.card p{color:var(--slate);font-size:.95rem}

/* feature / value chips */
.values{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.value{
  display:flex;align-items:center;gap:12px;padding:18px 20px;border-radius:var(--radius-sm);
  background:#fff;border:1px solid var(--line);font-family:var(--font-head);font-weight:600;
  transition:.3s var(--ease);
}
.value:hover{transform:translateY(-2px);box-shadow:var(--shadow-sm);border-color:var(--green)}
.value .dot{width:22px;height:22px;display:grid;place-items:center;flex:none;color:var(--green-2)}
.value .dot svg{width:20px;height:20px}

/* ===========================================================
   SOLUTIONS GRID (clickable)
   =========================================================== */
.sol-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.sol{
  text-align:left;background:#fff;border:1px solid var(--line);border-radius:var(--radius);
  padding:28px;cursor:pointer;transition:transform .35s var(--ease),box-shadow .35s var(--ease),border-color .35s;
  position:relative;overflow:hidden;
}
.sol::after{content:"";position:absolute;left:0;top:0;height:100%;width:4px;background:var(--green);transform:scaleY(0);transform-origin:top;transition:transform .35s var(--ease)}
.sol:hover{transform:translateY(-3px);box-shadow:var(--shadow);border-color:transparent}
.sol:hover::after{transform:scaleY(1)}
.sol__icon{width:38px;height:38px;display:grid;place-items:center;margin-bottom:16px;color:var(--green-2)}
.sol__icon svg{width:26px;height:26px}
.sol h3{font-size:1.12rem;margin-bottom:8px}
.sol p{color:var(--slate);font-size:.9rem;margin-bottom:14px}
.sol__more{display:inline-flex;align-items:center;gap:6px;font-family:var(--font-head);font-weight:600;font-size:.85rem;color:var(--green-dark)}
.sol__more svg{width:15px;height:15px;transition:transform .3s}
.sol:hover .sol__more svg{transform:translateX(4px)}

/* modal */
@keyframes fade{from{opacity:0}to{opacity:1}}
@keyframes pop{from{opacity:0;transform:translateY(24px) scale(.97)}to{opacity:1;transform:none}}
.taglist{display:flex;flex-wrap:wrap;gap:10px}
.taglist li{background:var(--green-soft);color:var(--green-dark);padding:7px 14px;border-radius:999px;font-size:.85rem;font-weight:600;font-family:var(--font-head)}
.checklist{display:grid;grid-template-columns:1fr 1fr;gap:10px 22px}
.checklist li{display:flex;gap:10px;align-items:flex-start;font-size:.92rem;color:var(--charcoal)}
.checklist li svg{width:18px;height:18px;color:var(--green);flex:none;margin-top:3px}

/* ===========================================================
   SERVICES / PROCESS
   =========================================================== */
.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:22px;counter-reset:step}
.step{
  background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:30px 26px;
  position:relative;transition:.35s var(--ease);overflow:hidden;
}
.step:hover{transform:translateY(-3px);box-shadow:var(--shadow);border-color:transparent}
.step__n{font-family:var(--font-head);font-weight:800;font-size:2.6rem;color:var(--green-light);line-height:1;opacity:.9}
.step:hover .step__n{color:var(--green)}
.step h3{font-size:1.1rem;margin:14px 0 8px}
.step p{color:var(--slate);font-size:.92rem}

/* ===========================================================
   SPLIT / ABOUT
   =========================================================== */
.split{display:grid;grid-template-columns:1.05fr .95fr;gap:60px;align-items:center}
.split__media{position:relative;border-radius:var(--radius-lg);overflow:hidden;box-shadow:var(--shadow)}
.split__media img{width:100%;height:100%;object-fit:cover}
.prose p{color:var(--slate);margin-bottom:16px;font-size:1.02rem}
.prose p strong{color:var(--charcoal)}

.vm-card{padding:38px;border-radius:var(--radius-lg);height:100%}
.vm-card--vision{background:linear-gradient(135deg,var(--charcoal),var(--ink));color:#fff}
.vm-card--mission{background:linear-gradient(135deg,var(--green-2),var(--green));color:#15300a}
.vm-card .vm-ic{width:60px;height:60px;border-radius:16px;display:grid;place-items:center;margin-bottom:20px;background:rgba(255,255,255,.16)}
.vm-card--mission .vm-ic{background:rgba(0,0,0,.12)}
.vm-card .vm-ic svg{width:30px;height:30px}
.vm-card h3{color:inherit;font-size:1.5rem;margin-bottom:14px}
.vm-card p,.vm-card li{font-size:1rem;line-height:1.7}
.vm-card--vision p,.vm-card--vision li{color:#cdd5dd}
.vm-card ul{display:grid;gap:10px;margin-top:8px}
.vm-card li{display:flex;gap:10px;align-items:flex-start}
.vm-card li svg{width:18px;height:18px;flex:none;margin-top:5px;color:var(--green)}
.vm-card--mission li svg{color:#15300a}

/* org chart */
.org{display:grid;gap:18px}
.logowall{background:#fff;border:1px solid var(--line);border-radius:var(--radius-lg);padding:30px;box-shadow:var(--shadow-sm)}
.logowall img{width:100%;border-radius:8px}
.logowall + .logowall{margin-top:24px}

.sectors{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
.sector{display:flex;align-items:center;gap:12px;padding:16px 18px;border-radius:var(--radius-sm);background:#fff;border:1px solid var(--line);font-family:var(--font-head);font-weight:600;font-size:.95rem;transition:.3s}
.sector:hover{transform:translateY(-2px);box-shadow:var(--shadow-sm);border-color:var(--green)}
.sector svg{width:22px;height:22px;color:var(--green-dark);flex:none}

/* ===========================================================
   CTA BAND
   =========================================================== */
.cta{
  position:relative;overflow:hidden;color:#fff;text-align:center;
  background:var(--ink);border-top:1px solid rgba(255,255,255,.08);
}
.cta__glow{display:none}
.cta .container{position:relative;z-index:2;padding:80px 24px}
.cta h2{color:#fff;font-size:clamp(1.8rem,3.6vw,2.8rem);margin-bottom:16px}
.cta p{color:#c4cdd5;max-width:560px;margin:0 auto 30px;font-size:1.08rem}
.cta__actions{display:flex;gap:14px;justify-content:center;flex-wrap:wrap}

/* ===========================================================
   CONTACT
   =========================================================== */
.contact-grid{display:grid;grid-template-columns:1fr 1.1fr;gap:48px;align-items:start}
.cinfo{display:grid;gap:18px}
.cinfo__item{display:flex;gap:16px;align-items:flex-start;padding:22px;border:1px solid var(--line);border-radius:var(--radius);background:#fff;transition:.3s}
.cinfo__item:hover{box-shadow:var(--shadow-sm);border-color:var(--green)}
.cinfo__ic{width:26px;height:26px;display:grid;place-items:center;flex:none;color:var(--green-2)}
.cinfo__ic svg{width:23px;height:23px}
.cinfo__item h4{font-size:1rem;margin-bottom:4px}
.cinfo__item a,.cinfo__item p{color:var(--slate);font-size:.95rem;display:block;line-height:1.7}
.cinfo__item a:hover{color:var(--green-dark)}

.form{background:#fff;border:1px solid var(--line);border-radius:var(--radius-lg);padding:36px;box-shadow:var(--shadow-sm)}
.field{margin-bottom:18px}
.field label{display:block;font-family:var(--font-head);font-weight:600;font-size:.88rem;margin-bottom:8px;color:var(--charcoal)}
.field input,.field textarea,.field select{
  width:100%;padding:13px 16px;border:1.5px solid var(--line);border-radius:12px;font-family:inherit;font-size:.95rem;
  background:var(--bg-soft);transition:.25s;color:var(--ink);
}
.field input:focus,.field textarea:focus,.field select:focus{outline:none;border-color:var(--green);background:#fff;box-shadow:0 0 0 4px rgba(141,198,63,.15)}
.field textarea{resize:vertical;min-height:130px}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.form__note{font-size:.82rem;color:var(--muted);margin-top:14px}
.form__status{margin-top:14px;font-size:.92rem;font-weight:600;display:none}
.form__status.ok{display:block;color:var(--green-dark)}
.form__status.err{display:block;color:#c0392b}

.map-wrap{border-radius:var(--radius-lg);overflow:hidden;border:1px solid var(--line);box-shadow:var(--shadow-sm);line-height:0}
.map-wrap iframe{width:100%;height:380px;border:0;display:block}

/* ===========================================================
   FOOTER
   =========================================================== */
.footer{background:var(--bg-dark);color:#a9b3bd;padding:72px 0 26px}
.footer__top{display:grid;grid-template-columns:1.4fr 1fr 1fr 1.2fr;gap:40px;padding-bottom:44px;border-bottom:1px solid rgba(255,255,255,.08)}
.footer__brand img{height:48px;margin-bottom:18px}
.footer__brand .bname{display:flex;align-items:center;gap:12px;margin-bottom:16px}
.footer__brand .bname img{height:46px;margin:0}
.footer__brand .bname b{font-family:var(--font-head);color:#fff;font-size:1.25rem;font-weight:700;line-height:1.1}
.footer__brand .bname span{display:block;font-size:.62rem;letter-spacing:.22em;color:var(--green);font-weight:600}
.footer__brand p{font-size:.92rem;max-width:300px;line-height:1.7}
.footer h5{color:#fff;font-family:var(--font-head);font-size:1rem;margin-bottom:18px}
.footer ul li{margin-bottom:11px}
.footer ul a,.footer ul .fitem{font-size:.92rem;color:#a9b3bd;transition:.2s;display:flex;gap:9px;align-items:flex-start}
.footer ul a:hover{color:var(--green);transform:translateX(3px)}
.footer ul svg{width:16px;height:16px;color:var(--green);flex:none;margin-top:3px}
.footer__bottom{padding-top:24px;display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;font-size:.85rem;color:#7b8794}
.footer__bottom a:hover{color:var(--green)}
.socials{display:flex;gap:10px}
.socials a{width:38px;height:38px;border-radius:10px;background:rgba(255,255,255,.06);display:grid;place-items:center;color:#cfd6dd;transition:.25s}
.socials a:hover{background:var(--green);color:#15300a;transform:translateY(-3px)}
.socials svg{width:18px;height:18px}

/* ===========================================================
   FLOATING UI (whatsapp + back to top)
   =========================================================== */
.fab{position:fixed;right:22px;z-index:900;width:54px;height:54px;border-radius:50%;display:grid;place-items:center;box-shadow:var(--shadow);transition:.3s var(--ease)}
.fab svg{width:26px;height:26px}
.fab--wa{bottom:22px;background:#25D366;color:#fff;animation:wapulse 2.4s infinite}
.fab--wa:hover{transform:scale(1.1)}
@keyframes wapulse{0%{box-shadow:0 0 0 0 rgba(37,211,102,.5)}70%{box-shadow:0 0 0 16px rgba(37,211,102,0)}100%{box-shadow:0 0 0 0 rgba(37,211,102,0)}}
.fab--top{bottom:86px;background:var(--charcoal);color:#fff;opacity:0;visibility:hidden;transform:translateY(10px)}
.fab--top.show{opacity:1;visibility:visible;transform:none}
.fab--top:hover{background:var(--green);color:#15300a}

/* ===========================================================
   SCROLL REVEAL
   =========================================================== */
.reveal{opacity:0;transform:translateY(12px);transition:opacity .35s var(--ease),transform .35s var(--ease)}
.reveal.in-view{opacity:1;transform:none}
.reveal-d1{transition-delay:.05s}
.reveal-d2{transition-delay:.10s}
.reveal-d3{transition-delay:.15s}
.reveal-d4{transition-delay:.20s}
@media(prefers-reduced-motion:reduce){
  .reveal{opacity:1;transform:none;transition:none}
  *{scroll-behavior:auto!important}
}

/* ===========================================================
   RESPONSIVE
   =========================================================== */
@media(max-width:1100px){
  .grid-4{grid-template-columns:repeat(2,1fr)}
  .steps{grid-template-columns:repeat(2,1fr)}
  .values{grid-template-columns:repeat(3,1fr)}
  .sectors{grid-template-columns:repeat(3,1fr)}
  .footer__top{grid-template-columns:1fr 1fr;gap:32px}
}
@media(max-width:860px){
  .section{padding:72px 0}
  .stats{grid-template-columns:repeat(2,1fr);gap:16px}
  .grid-3,.grid-2,.sol-grid{grid-template-columns:1fr}
  .split{grid-template-columns:1fr;gap:36px}
  .split--rev .split__media{order:-1}
  .contact-grid{grid-template-columns:1fr;gap:32px}
  .form-row{grid-template-columns:1fr}
  .org__cols{grid-template-columns:1fr}
  .checklist{grid-template-columns:1fr}
  .values{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:560px){
  .container{padding-inline:18px}
  .values,.sectors{grid-template-columns:1fr}
  .footer__top{grid-template-columns:1fr}
  .hero{min-height:auto}
}

/* touch targets: footer links are full-width but only ~24px tall on phones */
@media(max-width:980px){
  .footer ul li{margin-bottom:2px}
  .footer ul a,.footer ul .fitem{min-height:44px;align-items:center;padding:6px 0}
  .footer ul a:hover{transform:none}
  .nav a{min-height:48px;display:flex;align-items:center}
  .credit{min-height:44px}
}

/* ===========================================================
   PROFESSIONAL POLISH
   =========================================================== */

/* Richer hero: subtle vignette + bottom fade into the page */
.hero::after{
  content:"";position:absolute;inset:0;z-index:1;pointer-events:none;
  background:
    radial-gradient(120% 80% at 50% 0%, transparent 55%, rgba(10,15,8,.28) 100%),
    linear-gradient(to bottom, transparent 70%, rgba(13,18,10,.45) 100%);
}
.hero h1{text-shadow:0 2px 24px rgba(0,0,0,.18)}
.phero{
  background:linear-gradient(120deg,#141d0c 0%,#284010 52%,var(--green-2) 120%);
  padding:170px 0 92px;
}
.phero::after{
  content:"";position:absolute;inset:0;z-index:0;opacity:.13;
  background:url("../img/hero-bg.jpg") center/cover no-repeat;mix-blend-mode:luminosity;
}
.phero__lines{
  position:absolute;inset:0;z-index:0;opacity:.5;pointer-events:none;
  background:
    radial-gradient(600px 320px at 85% 15%, rgba(141,198,63,.30), transparent 60%),
    radial-gradient(520px 360px at 8% 110%, rgba(10,15,8,.55), transparent 55%);
}
.phero::before{
  content:"";position:absolute;left:0;right:0;bottom:0;height:120px;z-index:1;pointer-events:none;
  background:linear-gradient(to bottom, transparent, rgba(13,18,10,.35));
}
.phero h1{text-shadow:0 2px 20px rgba(0,0,0,.18)}

/* Section eyebrow refinement */
.eyebrow::after{content:none}

/* Premium cards: soft gradient sheen on hover */
.card,.sol,.step{background:linear-gradient(180deg,#fff,#fff)}
.card::before,.sol__sheen{content:"";position:absolute;inset:0;border-radius:inherit;pointer-events:none;
  background:linear-gradient(135deg, rgba(141,198,63,.10), transparent 45%);opacity:0;transition:opacity .35s var(--ease)}
.card:hover::before{opacity:1}

/* Logo walls: lift + inner framing for a more premium showcase */
.logowall{padding:38px;background:
   radial-gradient(120% 140% at 50% 0%, #ffffff, #fbfdf9);
  box-shadow:0 18px 50px rgba(20,25,30,.07);border-color:#eef2ec}
.logowall:hover{box-shadow:0 24px 60px rgba(20,25,30,.10)}

/* Dark stats band: subtle separators + glow */
.section--dark .stats{position:relative}
.section--dark .stat:not(:last-child)::after{
  content:"";position:absolute;top:24%;right:-12px;height:52%;width:1px;
  background:linear-gradient(to bottom,transparent,rgba(255,255,255,.14),transparent);
}
.section--dark .stat{position:relative}
@media(max-width:860px){ .section--dark .stat::after{display:none} }

/* Buttons: crisper focus-visible for accessibility/pro feel */
.btn:focus-visible,.nav a:focus-visible,.field input:focus-visible,
.field textarea:focus-visible,.field select:focus-visible{
  outline:3px solid rgba(141,198,63,.5);outline-offset:2px;
}

/* Smoother image rendering for logo walls */
.logowall img{image-rendering:auto}

/* ----- Clients grid (logo-ready, name-card fallback) ----- */
.clients-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:16px}
.client-card{
  display:flex;align-items:center;justify-content:center;text-align:center;
  min-height:104px;padding:18px 16px;background:#fff;border:1px solid var(--line);
  border-radius:14px;position:relative;overflow:hidden;
  transition:transform .35s var(--ease),box-shadow .35s var(--ease),border-color .35s;
}
.client-card::before{content:"";position:absolute;left:0;top:0;height:3px;width:100%;
  background:linear-gradient(90deg,var(--green),var(--green-2));transform:scaleX(0);transform-origin:left;
  transition:transform .35s var(--ease)}
.client-card:hover{transform:translateY(-5px);box-shadow:var(--shadow);border-color:transparent}
.client-card:hover::before{transform:scaleX(1)}
.client-card__logo{max-height:74px;max-width:88%;width:auto;object-fit:contain;
  filter:grayscale(1);opacity:.82;transition:filter .35s,opacity .35s,transform .35s}
.client-card:hover .client-card__logo{transform:scale(1.04)}
.client-card:hover .client-card__logo{filter:none;opacity:1}
.client-card__name{display:none;font-family:var(--font-head);font-weight:600;font-size:.92rem;
  color:var(--charcoal);line-height:1.35;letter-spacing:-.01em}
.client-card.noimg .client-card__logo{display:none}
.client-card.noimg .client-card__name{display:block}
.client-card:hover .client-card__name{color:var(--green-dark)}
@media(max-width:1100px){ .clients-grid{grid-template-columns:repeat(4,1fr)} }
@media(max-width:860px){ .clients-grid{grid-template-columns:repeat(3,1fr)} .client-card{min-height:92px} }
@media(max-width:560px){ .clients-grid{grid-template-columns:repeat(2,1fr)} }

/* ===========================================================
   PREMIUM MOTION & POLISH
   =========================================================== */

/* --- Page load reveal --- */
@keyframes pageIn{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
body{animation:pageIn .7s var(--ease) both}

/* --- Scroll progress bar --- */
.net-canvas{position:absolute;inset:0;z-index:1;pointer-events:none;opacity:.6}
.phero .net-canvas{opacity:.45}
.hero .container,.phero .container{position:relative;z-index:3}

/* --- Button shine sweep + lift --- */

/* --- Card 3D tilt --- */

/* --- Reveal direction variants (used via JS) --- */
.reveal-l,.reveal-r{opacity:0;transform:translateY(12px);transition:opacity .35s var(--ease),transform .35s var(--ease)}
.reveal-s{opacity:0;transform:translateY(12px);transition:opacity .35s var(--ease),transform .35s var(--ease)}
.reveal-l.in-view,.reveal-r.in-view,.reveal-s.in-view{opacity:1;transform:none}

/* --- Animated eyebrow line draw --- */

/* --- Floating badge in hero --- */

/* --- Stat number pop on reveal --- */
.stat.in-view .stat__num{animation:statpop .7s var(--ease) both}
@keyframes statpop{0%{transform:scale(.6);opacity:0}60%{transform:scale(1.08)}100%{transform:none;opacity:1}}

/* ===========================================================
   PARTNER MARQUEE (infinite "trusted by" strip)
   =========================================================== */
.marquee-band{padding:34px 0;margin-top:8px;overflow:hidden;position:relative;
  -webkit-mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);
  mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent)}
.marquee{display:flex;flex-direction:column;gap:30px}
.marquee__row{display:flex;gap:58px;width:max-content;align-items:center;animation:marq 48s linear infinite}
.marquee__row--rev{animation-direction:reverse;animation-duration:56s}
.marquee:hover .marquee__row{animation-play-state:paused}
.marquee__row img{height:38px;width:auto;object-fit:contain;filter:grayscale(1) opacity(.55);transition:.35s var(--ease)}
.marquee__row img:hover{filter:none;opacity:1;transform:scale(1.18)}
@keyframes marq{to{transform:translateX(-50%)}}

/* ===========================================================
   REDUCED MOTION — disable the heavy stuff
   =========================================================== */
@media(prefers-reduced-motion:reduce){
  body,.hero__badge,.hero h1 .accent,.stat .stat__num{animation:none!important}
  .marquee__row{animation:none!important;flex-wrap:wrap;justify-content:center;width:auto}
  .net-canvas{display:none}
  .tilt{transform:none!important}
}
@media(max-width:860px){
  .net-canvas{opacity:.4}
  .marquee__row img{height:30px;gap:40px}
}

/* ===========================================================
   VISUAL POLISH — ROUND 2
   =========================================================== */

/* --- Custom scrollbar + selection --- */
html{scrollbar-width:thin;scrollbar-color:var(--green) #eef2ec}
::-webkit-scrollbar{width:11px;height:11px}
::-webkit-scrollbar-track{background:#eef2ec}
::-webkit-scrollbar-thumb{background:linear-gradient(var(--green),var(--green-2));border-radius:10px;border:2px solid #eef2ec}
::-webkit-scrollbar-thumb:hover{background:var(--green-dark)}
::selection{background:var(--green);color:#16300a}

/* --- Eyebrow dot pulse --- */

/* --- Centered heading: gradient underline accent --- */
.head.center h2{position:relative;display:inline-block;padding-bottom:18px}
.head.center h2::after{content:"";position:absolute;left:50%;bottom:0;width:40px;height:2px;transform:translateX(-50%);
  background:var(--green-2)}

/* --- Ambient floating glows in soft sections --- */
.section--soft{position:relative}
.section--soft > .container{position:relative;z-index:1}

/* --- Card hover: green ring + deeper shadow --- */
.card:hover,.sol:hover,.step:hover{box-shadow:var(--shadow);border-color:#d8ded9}

/* --- Split media: gradient overlay + corner bracket --- */

/* --- Floating "since 2006" media badge (injected) --- */
.footer{position:relative;overflow:hidden}
.footer::before{content:"";position:absolute;top:0;left:0;right:0;height:2px;z-index:1;background:var(--green-2)}
.footer::after{content:"";position:absolute;right:-70px;bottom:-70px;width:300px;height:300px;z-index:0;pointer-events:none;
  background:url("../img/logo-icon.png") center/contain no-repeat;opacity:.045}
.footer .container{position:relative;z-index:2}

/* --- Section eyebrow line: animated sheen --- */

@media(prefers-reduced-motion:reduce){
  .hero__slide.active{animation:none!important}
}

/* ===========================================================
   SMART BUILDING (interactive diagram)
   =========================================================== */
@keyframes hsPulse{0%{transform:scale(.7);opacity:.8}80%,100%{transform:scale(2.1);opacity:0}}
@media(max-width:860px){
  .smartb__layout{grid-template-columns:1fr;gap:28px}
  .smartb__stage{max-width:440px;margin-inline:auto}
  .sbp__desc{min-height:auto}
}
@media(prefers-reduced-motion:reduce){ .hs-ring{animation:none} }

/* ===========================================================
   GLOBAL REACH band
   =========================================================== */
@keyframes dashflow{to{stroke-dashoffset:-36}}
@media(prefers-reduced-motion:reduce){ .reach__path,.rp-ring{animation:none} .reach__signal{display:none} }
@media(max-width:560px){ .reach__loc b{font-size:1.05rem} }

/* ===========================================================
   SOLUTIONS UPGRADE — modal nav · filters · mega-menu
   =========================================================== */

/* modal header text + count + footer nav */
.nav a.has-mega::before{content:"";position:absolute;left:14px;right:14px;bottom:6px;height:2px;background:var(--green);transform:scaleX(0);transform-origin:left;transition:transform .25s var(--ease);border-radius:2px}
.nav a.mega-active::before{transform:scaleX(1)}
.mega{position:absolute;left:0;right:0;top:100%;background:rgba(255,255,255,.98);backdrop-filter:blur(14px);
  box-shadow:0 30px 60px rgba(20,25,30,.16);border-top:1px solid var(--line);
  opacity:0;visibility:hidden;transform:translateY(10px);transition:.28s var(--ease);z-index:1100}
.mega.open{opacity:1;visibility:visible;transform:none}
.mega__inner{display:grid;grid-template-columns:repeat(5,1fr) 1.3fr;gap:26px;padding:30px 24px}
.mega__col h5,.mega__cta h5{font-family:var(--font-head);font-size:.72rem;letter-spacing:.1em;text-transform:uppercase;
  color:var(--green-dark);margin-bottom:14px;padding-bottom:8px;border-bottom:1px solid var(--line)}
.mega__col a{display:flex;align-items:center;gap:9px;font-size:.86rem;color:var(--charcoal);padding:7px 0;transition:.2s;line-height:1.2}
.mega__col a:hover{color:var(--green-dark);transform:translateX(3px)}
.mega__ic{width:26px;height:26px;border-radius:7px;background:var(--green-soft);color:var(--green-dark);display:grid;place-items:center;flex:none}
.mega__ic svg{width:15px;height:15px}
.mega__cta{background:linear-gradient(150deg,var(--charcoal),var(--ink));border-radius:var(--radius);padding:22px;color:#fff}
.mega__cta h5{color:var(--green);border-color:rgba(255,255,255,.12)}
.mega__cta p{font-size:.86rem;color:#aeb8c2;margin-bottom:16px;line-height:1.6}
@media(max-width:1100px){ .mega__inner{grid-template-columns:repeat(3,1fr);gap:20px} .mega__cta{grid-column:span 3} }
@media(max-width:980px){ .mega{display:none} }
@media(max-width:560px){ .modal__foot .btn{order:0;width:100%} .modal__nav{flex:1;justify-content:center} }

/* ===========================================================
   SERVICES TIMELINE
   =========================================================== */
.timeline{position:relative;max-width:940px;margin:10px auto 0;padding:8px 0}
.timeline::before{content:"";position:absolute;left:50%;top:0;bottom:0;width:3px;transform:translateX(-50%);
  background:var(--line);border-radius:3px}
.tl-progress{position:absolute;left:50%;top:0;width:3px;height:0;transform:translateX(-50%);border-radius:3px;z-index:1;
  background:linear-gradient(var(--green),var(--green-2));box-shadow:0 0 12px rgba(141,198,63,.5);transition:height .15s linear}
.tl-item{position:relative;width:50%;padding:22px 46px;box-sizing:border-box}
.tl-item.tl-left{left:0;text-align:right}
.tl-item.tl-right{left:50%}
.tl-node{position:absolute;top:30px;width:56px;height:56px;border-radius:50%;background:#fff;border:3px solid var(--green);
  display:grid;place-items:center;color:var(--green-dark);z-index:2;box-shadow:0 6px 18px rgba(141,198,63,.25);transition:.35s var(--ease)}
.tl-node svg{width:26px;height:26px}
.tl-item.tl-left .tl-node{right:-28px}
.tl-item.tl-right .tl-node{left:-28px}
.tl-item.in-view .tl-node{background:var(--green-2);color:#fff}
.tl-card{position:relative;background:#fff;border:1px solid var(--line);border-radius:var(--radius);
  padding:24px 28px;box-shadow:var(--shadow-sm);overflow:hidden;transition:.35s var(--ease)}
.tl-card:hover{transform:translateY(-2px);box-shadow:var(--shadow)}
.tl-num{position:absolute;top:6px;right:18px;font-family:var(--font-head);font-weight:800;font-size:3.4rem;
  color:var(--green-soft);line-height:1;pointer-events:none}
.tl-item.tl-left .tl-num{right:auto;left:18px}
.tl-step{display:inline-block;font-family:var(--font-head);font-weight:600;font-size:.72rem;letter-spacing:.12em;
  text-transform:uppercase;color:var(--green-dark);margin-bottom:8px;position:relative}
.tl-card h3{font-size:1.18rem;margin-bottom:8px;position:relative}
.tl-card p{color:var(--slate);font-size:.95rem;position:relative}

@media(max-width:860px){
  .timeline::before,.tl-progress{left:24px}
  .tl-item,.tl-item.tl-left,.tl-item.tl-right{width:100%;left:0;text-align:left;padding:16px 0 16px 66px}
  .tl-item.tl-left .tl-node,.tl-item.tl-right .tl-node{left:-3px;right:auto}
  .tl-node{width:50px;height:50px;top:18px}
  .tl-item.tl-left .tl-num{left:auto;right:18px}
}
@media(prefers-reduced-motion:reduce){ .tl-progress{transition:none} }

/* ===========================================================
   FOOTER LOGO + STATS WITH ICONS
   =========================================================== */
.footer__logo{height:56px;width:auto;display:block;margin-bottom:18px}
.stat__top{display:flex;align-items:center;justify-content:center;gap:14px}
.stat__ic{color:var(--green);display:inline-grid;place-items:center;flex:none}
.stat__ic svg{width:48px;height:48px}
.section--dark .stat__num{color:#fff}
.stat__num{display:inline-block}
@media(max-width:560px){ .stat__ic svg{width:36px;height:36px} .stat__top{gap:10px} }

/* ===========================================================
   404 PAGE
   =========================================================== */
.err{min-height:100vh;display:flex;align-items:center;justify-content:center;text-align:center;position:relative;
  overflow:hidden;padding:120px 24px 80px;color:#fff;
  background:linear-gradient(125deg,#1c2a12 0%,#2f4a17 45%,var(--green-2) 100%)}
.err__lines{position:absolute;inset:0;opacity:.16;background:repeating-linear-gradient(-20deg,transparent 0 60px,rgba(255,255,255,.4) 60px 61px)}
.err .container{position:relative;z-index:2}
.err__num{font-family:var(--font-head);font-weight:800;font-size:clamp(6rem,24vw,17rem);line-height:.85;letter-spacing:-.03em;
  background:linear-gradient(180deg,#fff 30%,var(--green-light));-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}
.err h1{color:#fff;font-size:clamp(1.5rem,4vw,2.4rem);margin:4px 0 14px}
.err p{color:#e7eef3;max-width:520px;margin:0 auto 30px;font-size:1.08rem}
.err__actions{display:flex;gap:14px;justify-content:center;flex-wrap:wrap}

/* ===========================================================
   SOLUTION DETAIL PAGE
   =========================================================== */
.sol-hero{position:relative;min-height:80vh;display:flex;align-items:flex-end;padding:150px 0 60px;color:#fff;overflow:hidden;background:#1a2410 center/cover no-repeat}
.sol-hero__overlay{position:absolute;inset:0;background:linear-gradient(180deg,rgba(16,26,10,.5) 0%,rgba(16,26,10,.12) 36%,rgba(16,26,10,.86) 100%),linear-gradient(90deg,rgba(16,26,10,.6),transparent 62%)}
.sol-hero .container{position:relative;z-index:2}
.sol-hero .crumbs{color:rgba(255,255,255,.8);margin-bottom:8px}
.sol-hero .crumbs a:hover{color:var(--green-light)}.sol-hero .crumbs span{color:var(--green-light)}
.sol-hero__badge{width:44px;height:44px;display:grid;place-items:center;margin:10px 0 14px;color:var(--green-light)}
.sol-hero__badge svg{width:32px;height:32px}
.sol-hero__cat{display:inline-block;font-family:var(--font-head);font-weight:600;font-size:.74rem;letter-spacing:.16em;
  text-transform:uppercase;color:var(--green-light);margin-bottom:10px}
.sol-hero h1{color:#fff;font-size:clamp(2rem,5vw,3.4rem);font-weight:800;letter-spacing:-.02em;max-width:780px;text-shadow:0 2px 20px rgba(0,0,0,.25)}
.sol-hero p{margin-top:14px;color:#e9f0f3;max-width:640px;font-size:1.12rem}
.sol-hero__cta{margin-top:30px;display:flex;gap:14px;flex-wrap:wrap}

.solx{padding:76px 0}
.solx__grid{display:grid;grid-template-columns:.92fr 1.08fr;gap:58px;align-items:stretch}
.solx__media{position:relative;height:100%}
.solx__sticky{position:sticky;top:96px;border-radius:var(--radius-lg);overflow:hidden;box-shadow:var(--shadow);height:calc(100vh - 140px);min-height:470px}
.solx__sticky img{width:100%;height:100%;object-fit:cover;display:block;transition:transform 7s var(--ease)}
.solx__sticky:hover img{transform:scale(1.07)}
.solx__shade{position:absolute;inset:0;pointer-events:none;background:linear-gradient(180deg,rgba(16,24,12,.25) 0%,transparent 30% 55%,rgba(16,24,12,.72))}
.solx__tag{position:absolute;left:18px;top:18px;z-index:2;display:inline-flex;align-items:center;gap:9px;
  background:rgba(18,24,30,.5);backdrop-filter:blur(8px);color:#fff;padding:10px 16px;border-radius:12px;
  font-family:var(--font-head);font-weight:600;font-size:.82rem}
.solx__tag svg{width:18px;height:18px;color:var(--green-light);flex:none}
.solx__count{position:absolute;left:20px;bottom:20px;z-index:2;display:flex;align-items:center;gap:13px;color:#fff}
.solx__count b{font-family:var(--font-head);font-size:2.7rem;font-weight:800;line-height:.9;color:var(--green-light)}
.solx__count span{font-size:.8rem;line-height:1.3;opacity:.92}
.solx__content{padding:4px 0 6px}
.solx__title{font-size:clamp(1.8rem,3.3vw,2.6rem);margin:12px 0 18px;letter-spacing:-.02em}
.solx__lead{color:var(--slate);font-size:1.1rem;line-height:1.85}
.solx__chips{display:flex;flex-wrap:wrap;gap:12px;margin:24px 0 4px}
.solx__chips span{background:var(--green-soft);border:1px solid rgba(141,198,63,.32);color:var(--green-dark);
  padding:9px 16px;border-radius:14px;font-size:.92rem;font-family:var(--font-head);font-weight:600}
.solx__chips b{color:var(--green-2)}
.solx__h{font-size:.94rem;text-transform:uppercase;letter-spacing:.1em;color:var(--green-dark);
  font-family:var(--font-head);font-weight:600;margin:38px 0 18px;padding-bottom:11px;border-bottom:1px solid var(--line)}
.solx__offers{display:grid;grid-template-columns:1fr 1fr;gap:14px 24px;list-style:none}
.solx__offers li{display:flex;gap:11px;align-items:flex-start;font-size:.98rem;color:var(--charcoal)}
.solx__offers svg{width:19px;height:19px;color:var(--green);flex:none;margin-top:2px}
.solx__apps{display:flex;flex-wrap:wrap;gap:10px}
.solx__apps span{background:#fff;border:1px solid var(--line);color:var(--slate);padding:8px 15px;border-radius:999px;
  font-size:.88rem;font-weight:600;font-family:var(--font-head);transition:transform .25s,border-color .25s,color .25s}
.solx__apps span:hover{border-color:var(--green);color:var(--green-dark);transform:translateY(-2px)}
.solx__why{display:grid;gap:15px}
.solx__w{display:flex;gap:15px;align-items:flex-start;background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:18px 20px;transition:transform .3s var(--ease),box-shadow .3s,border-color .3s}
.solx__w:hover{border-color:var(--green);box-shadow:var(--shadow);transform:translateY(-3px)}
.solx__wic{width:40px;height:40px;display:grid;place-items:center;flex:none;color:var(--green-2)}
.solx__wic svg{width:25px;height:25px}
.solx__w h4{font-size:1.04rem;margin-bottom:4px}
.solx__w p{color:var(--slate);font-size:.92rem;line-height:1.6}
.solx__cta{margin-top:32px}
@media(max-width:920px){
  .solx{padding:46px 0}
  .solx__grid{grid-template-columns:1fr;gap:30px}
  .solx__sticky{position:relative;top:0;height:auto;min-height:0}
  .solx__sticky img{height:300px}
  .solx__offers{grid-template-columns:1fr}
}

.solnav{display:flex;justify-content:space-between;gap:16px;margin-top:50px;flex-wrap:wrap}
.solnav__btn{display:flex;align-items:center;gap:12px;padding:16px 22px;border:1px solid var(--line);border-radius:var(--radius);
  background:#fff;flex:1;min-width:240px;transition:transform .3s var(--ease),box-shadow .3s,border-color .3s}
.solnav__btn:hover{border-color:var(--green);box-shadow:var(--shadow);transform:translateY(-3px)}
.solnav__btn svg{width:20px;height:20px;color:var(--green-dark);flex:none}
.solnav__btn span{display:flex;flex-direction:column;font-family:var(--font-head);font-weight:700;color:var(--charcoal);font-size:.98rem}
.solnav__btn small{font-weight:500;font-size:.7rem;letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}
.solnav__btn--prev svg{transform:rotate(180deg)}
.solnav__btn--next{justify-content:flex-end;text-align:right}

/* ===========================================================
   SOLUTION FINDER (interactive recommender)
   =========================================================== */
.finder{max-width:920px;margin:0 auto}
.finder__card{background:#fff;border:1px solid var(--line);border-radius:var(--radius-lg);box-shadow:var(--shadow);
  padding:38px 38px 42px;position:relative;overflow:hidden}
.finder__card::before{content:"";position:absolute;top:0;left:0;right:0;height:4px;
  background:linear-gradient(90deg,var(--green),var(--green-2))}
.finder__dots{display:flex;gap:8px;justify-content:center;margin-bottom:22px}
.finder__dots span{width:30px;height:5px;border-radius:3px;background:var(--line);transition:.4s}
.finder__dots span.on{background:linear-gradient(90deg,var(--green),var(--green-2));width:42px}
.finder__dots span.done{background:var(--green-light)}
.finder__q{text-align:center;font-size:clamp(1.25rem,2.4vw,1.7rem);margin-bottom:28px;letter-spacing:-.01em}
.finder__q b{color:var(--green-dark)}
.finder__opts{display:grid;gap:14px}
.finder__opts--6{grid-template-columns:repeat(3,1fr)}
.finder__opts--5{grid-template-columns:repeat(5,1fr)}
.finder__opt{display:flex;flex-direction:column;align-items:center;gap:12px;text-align:center;
  background:var(--bg-soft);border:1.5px solid var(--line);border-radius:var(--radius);padding:24px 16px;cursor:pointer;
  transition:transform .25s var(--ease),border-color .25s,box-shadow .25s,background .25s}
.finder__opt:hover{transform:translateY(-5px);border-color:var(--green);background:#fff;box-shadow:var(--shadow)}
.finder__optic{width:40px;height:40px;display:grid;place-items:center;flex:none;color:var(--green-2)}
.finder__optic svg{width:28px;height:28px}
.finder__optlb{font-family:var(--font-head);font-weight:600;color:var(--charcoal);font-size:.98rem;line-height:1.3}
.finder__optlb small{display:block;font-weight:400;color:var(--muted);font-size:.76rem;margin-top:4px}
.finder__back{display:inline-flex;align-items:center;gap:8px;background:none;border:none;cursor:pointer;
  color:var(--slate);font-family:var(--font-head);font-weight:600;font-size:.86rem;margin-bottom:14px;transition:color .25s}
.finder__back svg{width:17px;height:17px;transform:rotate(180deg)}
.finder__back:hover{color:var(--green-dark)}
.finder__card--result{padding-top:30px}
.finder__pill{display:inline-flex;align-items:center;gap:8px;background:var(--green-soft);color:var(--green-dark);
  border:1px solid rgba(141,198,63,.3);padding:8px 15px;border-radius:999px;font-family:var(--font-head);font-weight:600;font-size:.84rem}
.finder__pill svg{width:16px;height:16px}
.finder__rh{text-align:center;font-size:clamp(1.3rem,2.6vw,1.9rem);margin:14px 0 26px}
.finder__rh b{color:var(--green-dark)}
.finder__grid{grid-template-columns:repeat(3,1fr)!important}
.finder__cta{display:flex;gap:14px;justify-content:center;flex-wrap:wrap;margin-top:30px}
@media(max-width:760px){
  .finder__card{padding:26px 20px 30px}
  .finder__opts--6,.finder__opts--5{grid-template-columns:repeat(2,1fr)}
  .finder__grid{grid-template-columns:1fr!important}
}

/* ===========================================================
   ISOMETRIC BUILDING (floor-by-floor scroll story)
   =========================================================== */
.iso{display:grid;grid-template-columns:1fr 1fr;gap:50px;align-items:start;margin-top:24px}
.iso-floor{cursor:pointer;transition:filter .4s}
.iso-floor:focus-visible{outline:2px solid var(--green-dark);outline-offset:3px}
.iso-floor.active{filter:drop-shadow(0 10px 22px rgba(141,198,63,.55))}
@media(max-width:920px){
  .iso{grid-template-columns:1fr;gap:8px}
  .iso__stage{position:relative;top:0;min-height:0;margin-bottom:6px}
  .iso__svg{max-width:300px}
  .iso__floor{min-height:0;padding:20px 0 20px 22px;opacity:1}
}

/* ===========================================================
   COVERAGE MAP (Egypt + regional reach)
   =========================================================== */
.cm-land{fill:rgba(141,198,63,.10);stroke:rgba(141,198,63,.6);stroke-width:1.6;stroke-linejoin:round}
.cm-pin{cursor:pointer}
.cm-pin:focus-visible{outline:none}
.cm-dot{fill:var(--green-light);stroke:#10180c;stroke-width:1.5;transition:fill .2s}
.cm-pin--hq .cm-dot,.cm-pin.on .cm-dot{fill:#fff}
.cm-ring{fill:none;stroke:var(--green);stroke-width:1.6;opacity:.7;animation:cmPulse 2.6s ease-out infinite}
.cm-pin.on .cm-ring{stroke:#fff}
@keyframes cmPulse{0%{r:5;opacity:.75}100%{r:22;opacity:0}}
@media(prefers-reduced-motion:reduce){ .cm-ring{animation:none;opacity:.4} }
@media(max-width:860px){
  .cmap{grid-template-columns:1fr;padding:26px;gap:22px}
  .cmap__map svg{max-height:320px}
}

/* ===========================================================
   ONE-PARTNER vs MANY-VENDORS comparison
   =========================================================== */
.op{display:flex;flex-direction:column;align-items:center;margin-top:8px}
.op-vendor circle{fill:var(--green);stroke:#fff;stroke-width:2}
.op-vendor text{font-family:var(--font-head);font-weight:600;font-size:14px;fill:var(--charcoal)}
.op-project rect{fill:var(--charcoal)}
.op-project text{font-family:var(--font-head);font-weight:700;font-size:13px;fill:#fff;letter-spacing:.04em}
.op-l{stroke-linecap:round;transition:opacity .5s var(--ease)}
.op-l--mess{stroke:#d98c8c;stroke-width:1.7;stroke-dasharray:6 6}
.op-l--clean{stroke:var(--green);stroke-width:2}
.op-trunk{stroke:var(--green-2);stroke-width:5;stroke-linecap:round;transition:opacity .5s var(--ease)}
.op-hub-bg{fill:#fff;stroke:var(--green);stroke-width:2.5;
  filter:drop-shadow(0 10px 22px rgba(141,198,63,.4))}
/* default = many vendors */
.op-clean,.op-hub{opacity:0;transition:opacity .5s var(--ease)}
.op-mess{opacity:1;transition:opacity .5s var(--ease)}
@media(max-width:560px){
  .op-vendor text{font-size:12px}
  .op__opt{padding:10px 16px;font-size:.84rem}
}

/* ============ PROFILE REWRITE · business-line & industry blocks ============ */
/* extra body paragraphs on the business-line detail page */
.solx__p{color:var(--slate);font-size:1rem;line-height:1.85;margin-top:14px}
.solx__lead + .solx__p{margin-top:14px}

/* portfolio groups (Solution Portfolio / Technologies / Components) */
.solx__groups{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.solx__group{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:20px 22px;
  transition:transform .3s var(--ease),box-shadow .3s,border-color .3s}
.solx__group:hover{border-color:var(--green);box-shadow:var(--shadow);transform:translateY(-3px)}
.solx__group h4{font-size:1rem;color:var(--green-dark);margin-bottom:12px;padding-bottom:10px;border-bottom:1px solid var(--line)}
.solx__group ul{list-style:none;display:grid;gap:9px}
.solx__group li{display:flex;gap:10px;align-items:flex-start;font-size:.93rem;color:var(--charcoal);line-height:1.5}
.solx__group li svg{width:16px;height:16px;color:var(--green);flex:none;margin-top:3px}
@media(max-width:920px){ .solx__groups{grid-template-columns:1fr} }

/* mega-menu: two wide business-line columns + CTA */
.mega__inner--lines{grid-template-columns:1.15fr 1.15fr 1fr}
@media(max-width:1100px){ .mega__inner--lines{grid-template-columns:1fr 1fr} .mega__inner--lines .mega__cta{grid-column:span 2} }

/* solution finder: industry result panel */
.finder__reshead{display:flex;flex-wrap:wrap;gap:10px;justify-content:center;margin-bottom:14px}
.finder__ov{color:var(--slate);font-size:1rem;line-height:1.8;text-align:center;max-width:760px;margin:0 auto 6px}
.finder__sols{display:grid;grid-template-columns:1fr 1fr;gap:11px 22px;margin-bottom:6px}
.finder__sols span{display:flex;gap:10px;align-items:flex-start;font-size:.95rem;color:var(--charcoal);line-height:1.5}
.finder__sols svg{width:17px;height:17px;color:var(--green);flex:none;margin-top:3px}
.finder__sols--val span{color:var(--slate)}
@media(max-width:720px){ .finder__sols{grid-template-columns:1fr} }

/* ---- About: chairman's message ---- */
.chair{max-width:900px;margin:0 auto;background:#fff;border:1px solid var(--line);border-radius:var(--radius);
  padding:44px 46px;box-shadow:var(--shadow)}
.chair__quote{font-family:var(--font-head);font-weight:600;font-size:clamp(1.25rem,2.3vw,1.7rem);line-height:1.5;
  color:var(--charcoal);border-left:4px solid var(--green);padding-left:22px;margin-bottom:28px}
.chair__body p{margin-bottom:16px}
.chair__sign{margin-top:30px;padding-top:22px;border-top:1px solid var(--line);display:flex;flex-direction:column;gap:2px}
.chair__sign span{font-size:.82rem;text-transform:uppercase;letter-spacing:.12em;color:var(--green-dark);font-weight:600}
.chair__sign b{font-family:var(--font-head);font-size:1.05rem;color:var(--charcoal)}
@media(max-width:720px){ .chair{padding:30px 24px} .chair__quote{padding-left:16px} }

/* ---- About: philosophy grid ---- */
.phil{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.phil__c{background:#fff;border:1px solid var(--line);border-left:3px solid var(--green);border-radius:var(--radius);
  padding:26px 28px;transition:transform .3s var(--ease),box-shadow .3s}
.phil__c:hover{box-shadow:var(--shadow);transform:translateY(-3px)}
.phil__c h3{font-size:1.12rem;margin-bottom:10px;color:var(--charcoal)}
.phil__c p{color:var(--slate);font-size:.96rem;line-height:1.75}
@media(max-width:820px){ .phil{grid-template-columns:1fr} }

/* ---- About: value / pillar cards ---- */
.vcards{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.vcard{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:26px 26px;
  transition:transform .3s var(--ease),box-shadow .3s,border-color .3s}
.vcard:hover{border-color:var(--green);box-shadow:var(--shadow);transform:translateY(-2px)}
.vcard h3{font-size:1.1rem;margin-bottom:10px;color:var(--green-dark)}
.vcard p{color:var(--slate);font-size:.94rem;line-height:1.72}
@media(max-width:980px){ .vcards{grid-template-columns:1fr 1fr} }
@media(max-width:640px){ .vcards{grid-template-columns:1fr} }

/* ---- centered prose block ---- */
.prose--center{max-width:880px;margin:0 auto;text-align:left}
.prose--center p{margin-bottom:16px}

/* industry finder: 10 options must wrap, never overflow the card */
.finder__opts--5{grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}
@media(max-width:640px){ .finder__opts--5{grid-template-columns:repeat(2,1fr)} }

/* ===========================================================
   INTEGRATION INDEX · REACH ROW · VS CONTRAST
   =========================================================== */
/* reach: three plain columns, no fake map */
.reachrow{display:grid;grid-template-columns:repeat(3,1fr);gap:0;border-top:1px solid var(--line);margin-top:8px}
.reachrow__c{padding:32px 34px 30px;border-right:1px solid var(--line)}
.reachrow__c:last-child{border-right:none}
.reachrow__k{display:block;font-size:.76rem;text-transform:uppercase;letter-spacing:.14em;
  color:var(--green-dark);font-family:var(--font-head);font-weight:600;margin-bottom:14px}
.reachrow__c b{display:block;font-family:var(--font-head);font-size:1.15rem;color:var(--ink);margin-bottom:10px}
.reachrow__c p{color:var(--slate);font-size:.94rem;line-height:1.7}
@media(max-width:880px){
  .reachrow{grid-template-columns:1fr}
  .reachrow__c{border-right:none;border-bottom:1px solid var(--line);padding:26px 0}
  .reachrow__c:last-child{border-bottom:none}
}

/* many vendors vs one partner — static contrast, no toggle theatrics */
.vs{display:grid;grid-template-columns:1fr 1fr;gap:0;border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;background:#fff}
.vs__col{padding:34px 36px}
.vs__col + .vs__col{border-left:1px solid var(--line)}
.vs__k{display:block;font-size:.76rem;text-transform:uppercase;letter-spacing:.14em;
  font-family:var(--font-head);font-weight:600;color:var(--muted);margin-bottom:22px}
.vs__col--on{background:var(--green-soft)}
.vs__col--on .vs__k{color:var(--green-dark)}
.vs__col ul{list-style:none;display:grid;gap:16px}
.vs__col li{position:relative;padding-left:22px;font-size:.95rem;line-height:1.65;color:var(--slate)}
.vs__col li::before{content:"";position:absolute;left:0;top:.62em;width:8px;height:1px;background:var(--muted)}
.vs__col--on li{color:var(--charcoal)}
.vs__col--on li::before{width:8px;height:8px;top:.42em;border-radius:50%;background:none;border:1.5px solid var(--green-2)}
@media(max-width:820px){
  .vs{grid-template-columns:1fr}
  .vs__col + .vs__col{border-left:none;border-top:1px solid var(--line)}
  .vs__col{padding:28px 24px}
}

/* studio credit in the footer bottom bar */
.credit{display:inline-flex;align-items:center;gap:9px;color:#6f7a85;font-size:.82rem;letter-spacing:.01em}
.credit img{width:16px;height:auto;opacity:.75;flex:none;transition:opacity .25s}
.credit b{color:#aab3bc;font-weight:600;letter-spacing:.02em}
.credit:hover img{opacity:1}

/* keep the footer bottom bar clear of the fixed WhatsApp / back-to-top buttons */
.footer__bottom{padding-bottom:12px}
@media(max-width:1180px){ .footer__bottom{padding-bottom:74px} }
@media(max-width:600px){ .footer__bottom{flex-direction:column;align-items:flex-start;gap:12px} }
.credit:hover b{color:var(--green-light)}
.credit:hover img{opacity:1}

/* ===========================================================
   BUSINESS LINE SHOWCASE — list left, live image panel right
   =========================================================== */
.showcase{position:relative;background:var(--ink);color:#fff;overflow:hidden}
.showcase::before{content:"";position:absolute;inset:0;pointer-events:none;
  background:radial-gradient(120% 90% at 100% 0%, rgba(141,198,63,.07), transparent 55%)}
.showcase__inner{position:relative;z-index:1;padding:92px 24px 96px;
  display:grid;grid-template-columns:minmax(0,1.02fr) minmax(0,.98fr);gap:64px;align-items:start}
.showcase__head h2{color:#fff;font-size:clamp(1.75rem,3.2vw,2.5rem);margin:12px 0 14px;letter-spacing:-.02em}
.showcase__head p{color:#aeb8c1;font-size:1rem;line-height:1.8;max-width:52ch;margin-bottom:34px}
.eyebrow--light{color:var(--green-light)}
.eyebrow--light::before{background:var(--green-light)}

/* ---- list ---- */
.showcase__list{list-style:none;border-top:1px solid rgba(255,255,255,.13)}
.showcase__list li{border-bottom:1px solid rgba(255,255,255,.13)}
.showcase__list a{display:flex;gap:18px;align-items:center;padding:19px 6px;
  transition:padding .3s var(--ease),background-color .3s}
.showcase__list li.is-on a{padding-left:15px;background:rgba(255,255,255,.055)}
.sc__n{font-family:var(--font-head);font-weight:600;font-size:.76rem;color:#79838d;flex:none;width:25px;
  font-variant-numeric:tabular-nums;letter-spacing:.06em;transition:color .3s}
.showcase__list li.is-on .sc__n{color:var(--green-light)}
.sc__b{display:flex;flex-direction:column;gap:4px;min-width:0;flex:1}
.sc__b b{font-family:var(--font-head);font-weight:600;font-size:1.14rem;color:#e9eef2;line-height:1.35;transition:color .3s}
.showcase__list li.is-on .sc__b b{color:#fff}
.sc__b small{font-size:.83rem;color:#8b959f;line-height:1.5}
.sc__a{width:19px;height:19px;flex:none;color:#5d6771;opacity:0;transform:translateX(-8px);
  transition:opacity .3s var(--ease),transform .3s var(--ease),color .3s}
.showcase__list li.is-on .sc__a{opacity:1;transform:none;color:var(--green-light)}

/* ---- image panel ---- */
.showcase__panel{position:sticky;top:104px}
.showcase__frame{position:relative;border-radius:var(--radius);overflow:hidden;
  aspect-ratio:4/5;box-shadow:0 30px 70px rgba(0,0,0,.45);border:1px solid rgba(255,255,255,.1)}
.showcase__img{position:absolute;inset:0;background-size:cover;background-position:center;
  opacity:0;transition:opacity .5s var(--ease)}
.showcase__img.is-on{opacity:1}
.showcase__vig{position:absolute;inset:0;pointer-events:none;
  background:linear-gradient(180deg,transparent 45%,rgba(10,14,18,.82))}
.showcase__cap{position:absolute;left:22px;right:22px;bottom:20px;z-index:2;
  display:flex;align-items:baseline;gap:12px;font-family:var(--font-head)}
.showcase__cap [data-cap-n]{font-size:.76rem;font-weight:600;color:var(--green-light);
  font-variant-numeric:tabular-nums;letter-spacing:.08em}
.showcase__cap [data-cap]{font-size:1.06rem;font-weight:600;color:#fff;letter-spacing:-.01em}

@media(max-width:980px){
  .showcase__inner{grid-template-columns:1fr;gap:34px;padding:70px 24px 74px}
  .showcase__panel{position:relative;top:0;order:-1}
  .showcase__frame{aspect-ratio:16/10}
}
@media(max-width:560px){ .sc__b small{display:none} }

/* ===========================================================
   EDITORIAL VISUALS — card icons, image bands, text/image splits
   =========================================================== */
/* icon anchor on the value / pillar / excellence cards */
.vcard__ic{display:grid;place-items:center;width:34px;height:34px;margin-bottom:14px;color:var(--green-2)}
.vcard__ic svg{width:30px;height:30px}
.vcard:hover .vcard__ic{color:var(--green-dark)}

/* full-bleed image band with a caption that carries a real line of copy */
.band{position:relative;margin:0;overflow:hidden}
.band img{width:100%;height:clamp(280px,38vw,460px);object-fit:cover;display:block}
.band figcaption{position:absolute;left:0;right:0;bottom:0;padding:64px 8vw 34px;color:#fff;
  background:linear-gradient(180deg,transparent,rgba(10,14,18,.86));
  font-size:1rem;line-height:1.75;max-width:none}
.band figcaption span{display:block;font-family:var(--font-head);font-weight:600;font-size:.76rem;
  letter-spacing:.16em;text-transform:uppercase;color:var(--green-light);margin-bottom:8px}
@media(min-width:981px){ .band figcaption{max-width:min(58ch,60%)} }
@media(max-width:640px){ .band figcaption{padding:48px 22px 24px;font-size:.93rem} }

/* chairman: portrait + pull quote pinned beside the message */
.chair{display:grid;grid-template-columns:minmax(0,.78fr) minmax(0,1.22fr);gap:52px;align-items:start;
  max-width:none;background:none;border:0;box-shadow:none;padding:0}
.chair__side{position:sticky;top:100px}
.chair__fig{margin:0 0 22px;border-radius:var(--radius);overflow:hidden}
.chair__fig img{width:100%;height:clamp(300px,34vw,430px);object-fit:cover;display:block}
.chair__quote{font-family:var(--font-head);font-weight:600;font-size:clamp(1.1rem,1.7vw,1.32rem);
  line-height:1.5;color:var(--charcoal);border-left:3px solid var(--green-2);padding-left:18px;margin-bottom:20px}
.chair__body p{margin-bottom:16px}
.chair__body p:first-child::first-letter{float:left;font-family:var(--font-head);font-weight:700;
  font-size:3.4rem;line-height:.86;padding:4px 12px 0 0;color:var(--green-dark)}
@media(max-width:920px){
  .chair{grid-template-columns:1fr;gap:28px}
  .chair__side{position:relative;top:0}
  .chair__fig img{height:260px}
}

/* journey: prose beside a photo */
.jrn{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:48px;align-items:start}
.jrn__fig{margin:0;position:sticky;top:100px;border-radius:var(--radius);overflow:hidden}
.jrn__fig img{width:100%;height:clamp(280px,32vw,400px);object-fit:cover;display:block}
.jrn__body p{margin-bottom:16px}
@media(max-width:920px){
  .jrn{grid-template-columns:1fr;gap:26px}
  .jrn__fig{position:relative;top:0}
  .jrn__fig img{height:230px}
}

/* business-line cards lead with the real photo instead of an icon on grey */
.sol--photo{display:flex;flex-direction:column;padding:0;overflow:hidden}
.sol__shot{position:relative;display:block;aspect-ratio:16/10;overflow:hidden;background:var(--bg-soft)}
.sol__shot img{width:100%;height:100%;object-fit:cover;display:block;
  transition:transform .5s var(--ease);filter:saturate(.92)}
.sol--photo:hover .sol__shot img{transform:scale(1.05);filter:saturate(1)}
.sol__shot::after{content:"";position:absolute;inset:0;
  background:linear-gradient(180deg,transparent 45%,rgba(12,17,21,.55))}
.sol--photo .sol__icon{position:absolute;left:16px;bottom:14px;z-index:2;margin:0;
  width:30px;height:30px;color:#fff}
.sol--photo .sol__icon svg{width:26px;height:26px}
.sol__body{display:flex;flex-direction:column;gap:9px;padding:22px 24px 24px;flex:1}
.sol__body h3{font-size:1.12rem}
.sol__body p{color:var(--slate);font-size:.94rem;line-height:1.65;flex:1}
.sol__body .sol__more{margin-top:4px}
@media(max-width:640px){ .sol__shot{aspect-ratio:16/9} }

/* mid-scroll visual break inside the long business-line copy */
.solx__band{position:relative;margin:38px 0 4px;border-radius:var(--radius);overflow:hidden}
.solx__band img{width:100%;height:clamp(200px,26vw,300px);object-fit:cover;display:block}
.solx__band figcaption{position:absolute;left:0;right:0;bottom:0;padding:46px 24px 20px;color:#fff;
  background:linear-gradient(180deg,transparent,rgba(10,14,18,.85));font-size:.95rem;line-height:1.6}
.solx__band figcaption span{display:block;font-family:var(--font-head);font-weight:600;font-size:.72rem;
  letter-spacing:.14em;text-transform:uppercase;color:var(--green-light);margin-bottom:6px}
