/* ============================================================
   home.css — homepage sections
   ============================================================ */

/* ---------------- HERO SLIDER ---------------- */
.hero{position:relative;height:100vh;min-height:640px;overflow:hidden}
.hero-swiper{position:absolute;inset:0}
.hero-swiper .swiper-slide{position:relative;overflow:hidden}
.hero-bg{position:absolute;inset:0;background-size:cover;background-position:center;transform:scale(1.08)}
.swiper-slide-active .hero-bg{animation:kenburns 7s ease-out forwards}
@keyframes kenburns{from{transform:scale(1.08)}to{transform:scale(1.18)}}
.hero-overlay{
  position:absolute;inset:0;
  background:
    linear-gradient(90deg,rgba(8,11,17,.94) 0%,rgba(8,11,17,.7) 42%,rgba(8,11,17,.35) 100%),
    linear-gradient(0deg,rgba(8,11,17,.95) 0%,transparent 40%);
}
.hero-content{position:relative;z-index:3;height:100%;display:flex;align-items:center}
.hero-content .wrap{width:100%}
.hero-inner{max-width:780px}
.hero-tag{
  display:inline-flex;align-items:center;gap:.6em;
  font-family:var(--mono);font-size:.8rem;letter-spacing:.16em;text-transform:uppercase;
  color:var(--green);border:1px solid var(--line-green);border-radius:100px;
  padding:.5em 1.1em;margin-bottom:1.6rem;background:rgba(141,198,63,.06);
}
.hero-tag::before{content:"";width:7px;height:7px;border-radius:50%;background:var(--green);box-shadow:0 0 10px var(--green)}
.hero h1{margin-bottom:1.4rem;color:#fff}
.hero h1 .accent{color:var(--green)}
.hero-sub{font-size:clamp(1.05rem,1.5vw,1.25rem);color:#c2ccda;max-width:54ch;margin-bottom:2.4rem}
.hero-actions{display:flex;gap:1rem;flex-wrap:wrap}

/* split-word animation */
.hero h1 .word{display:inline-block;overflow:hidden;vertical-align:top}
.hero h1 .word__i{display:inline-block}

/* hero controls */
.hero-controls{position:absolute;z-index:4;bottom:clamp(28px,5vw,52px);left:0;right:0}
.hero-controls .wrap{display:flex;align-items:center;justify-content:space-between;gap:1rem}
.hero-pagination{display:flex;gap:.7rem}
.hero-pagination .swiper-pagination-bullet{
  width:auto;height:auto;background:none;opacity:1;margin:0;padding:0;border-radius:0;
}
.hero-pagination .swiper-pagination-bullet span{
  display:block;width:34px;height:3px;border-radius:3px;background:rgba(255,255,255,.25);transition:background .4s
}
.hero-pagination .swiper-pagination-bullet-active span{background:var(--green);box-shadow:0 0 12px var(--glow)}
.hero-arrows{display:flex;gap:.6rem}
.hero-arrows button{
  width:50px;height:50px;border-radius:50%;border:1px solid var(--line);
  display:grid;place-items:center;color:#fff;transition:.3s var(--ease);background:rgba(8,11,17,.4);
  backdrop-filter:blur(6px);
}
.hero-arrows button:hover{border-color:var(--green);color:var(--green)}
.hero-arrows svg{width:20px;height:20px}
.scroll-cue{position:absolute;left:50%;bottom:18px;transform:translateX(-50%);z-index:4;font-family:var(--mono);font-size:.7rem;letter-spacing:.2em;color:var(--grey-2);text-transform:uppercase;display:flex;flex-direction:column;align-items:center;gap:.5rem}
.scroll-cue .line{width:1px;height:34px;background:linear-gradient(var(--green),transparent);animation:cue 2s ease-in-out infinite}
@keyframes cue{0%,100%{transform:scaleY(.4);opacity:.4;transform-origin:top}50%{transform:scaleY(1);opacity:1;transform-origin:top}}

@media (max-width:640px){
  .hero-arrows{display:none}
  .scroll-cue{display:none}
}

/* ---------------- INTRO ---------------- */
.intro-grid{display:grid;grid-template-columns:1.05fr 1fr;gap:clamp(2.5rem,5vw,5rem);align-items:center}
.intro-media{position:relative;border-radius:var(--r-lg);overflow:hidden;aspect-ratio:4/3.4}
.intro-media img{width:100%;height:100%;object-fit:cover}
.intro-media::after{content:"";position:absolute;inset:0;border:1px solid var(--line-green);border-radius:var(--r-lg);pointer-events:none}
.intro-stat{
  position:absolute;left:18px;bottom:18px;z-index:3;
  padding:1.2rem 1.5rem;border-radius:16px;
  background:rgba(8,11,17,.78);backdrop-filter:blur(12px);border:1px solid var(--line-green);
}
.intro-stat .stat__num{font-size:2.4rem}
.intro-pillars{display:grid;gap:1.5rem;margin-top:2.2rem}
.pillar{display:grid;grid-template-columns:auto 1fr;gap:1.1rem;align-items:start}
.pillar__ico{width:46px;height:46px;border-radius:12px;display:grid;place-items:center;background:rgba(141,198,63,.1);border:1px solid var(--line-green);color:var(--green);flex-shrink:0}
.pillar__ico svg{width:22px;height:22px}
.pillar h4{font-size:1.05rem;color:#fff;margin-bottom:.25rem}
.pillar p{font-size:.92rem;margin:0}

@media (max-width:880px){.intro-grid{grid-template-columns:1fr}}

/* ---------------- WHY CHOOSE ---------------- */
.why-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.3rem}
.why-card{
  position:relative;padding:2rem 1.8rem;border-radius:var(--r-lg);
  background:var(--panel-2);border:1px solid var(--line);overflow:hidden;
  transition:transform .4s var(--ease),border-color .4s var(--ease);
}
.why-card::before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 50% 0%,rgba(141,198,63,.12),transparent 60%);opacity:0;transition:opacity .4s}
.why-card:hover{transform:translateY(-6px);border-color:var(--line-green)}
.why-card:hover::before{opacity:1}
.why-card__ico{width:54px;height:54px;border-radius:14px;display:grid;place-items:center;background:rgba(141,198,63,.1);border:1px solid var(--line-green);color:var(--green);margin-bottom:1.4rem;position:relative;z-index:1}
.why-card__ico svg{width:26px;height:26px}
.why-card h3{font-size:1.2rem;margin-bottom:.6rem;position:relative;z-index:1}
.why-card p{font-size:.93rem;position:relative;z-index:1;margin:0}
.why-card .idx{position:absolute;top:1.4rem;right:1.6rem;font-family:var(--mono);font-size:.8rem;color:var(--grey-2)}

@media (max-width:880px){.why-grid{grid-template-columns:repeat(2,1fr)}}
@media (max-width:560px){.why-grid{grid-template-columns:1fr}}

/* ---------------- MARQUEE STRIP ---------------- */
.marquee{position:relative;z-index:1;border-block:1px solid var(--line);padding:1.4rem 0;overflow:hidden;background:var(--ink)}
.marquee-track{display:flex;gap:3.5rem;width:max-content;will-change:transform}
.marquee-item{display:flex;align-items:center;gap:.8rem;font-family:var(--head);font-weight:600;font-size:1.15rem;color:#cfd8e4;white-space:nowrap}
.marquee-item svg{width:18px;height:18px;color:var(--green)}

/* ---------------- SERVICES OVERVIEW ---------------- */
.svc-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.3rem}
.svc-card{
  display:flex;flex-direction:column;border-radius:var(--r-lg);overflow:hidden;
  background:var(--panel-2);border:1px solid var(--line);
  transition:transform .4s var(--ease),border-color .4s var(--ease);
}
.svc-card:hover{transform:translateY(-6px);border-color:var(--line-green)}
.svc-card__media{aspect-ratio:16/10;overflow:hidden;position:relative}
.svc-card__media img{width:100%;height:100%;object-fit:cover;transition:transform .6s var(--ease)}
.svc-card:hover .svc-card__media img{transform:scale(1.07)}
.svc-card__media::after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(8,11,17,.7),transparent 60%)}
.svc-card__ico{position:absolute;left:1.2rem;bottom:1.2rem;z-index:2;width:48px;height:48px;border-radius:12px;display:grid;place-items:center;background:var(--green);color:var(--ink)}
.svc-card__ico svg{width:24px;height:24px}
.svc-card__body{padding:1.6rem 1.6rem 1.8rem;display:flex;flex-direction:column;flex:1}
.svc-card__body h3{font-size:1.2rem;margin-bottom:.6rem}
.svc-card__body p{font-size:.92rem;margin-bottom:1.4rem;flex:1}

@media (max-width:880px){.svc-grid{grid-template-columns:repeat(2,1fr)}}
@media (max-width:560px){.svc-grid{grid-template-columns:1fr}}

/* ---------------- INDUSTRIES ---------------- */
.industries{position:relative; padding-bottom:40px; background:var(--ink)}
.ind-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line);border:1px solid var(--line);border-radius:var(--r-lg);overflow:hidden}
.ind-cell{
  background:var(--navy-2);padding:2.2rem 1.8rem;position:relative;
  transition:background .35s var(--ease);
}
.ind-cell:hover{background:#101a28}
.ind-cell__ico{width:44px;height:44px;color:var(--green);margin-bottom:1.2rem}
.ind-cell__ico svg{width:100%;height:100%;stroke-width:1.5}
.ind-cell h3{font-size:1.15rem;margin-bottom:.5rem}
.ind-cell p{font-size:.9rem;margin:0}
.ind-cell .ind-no{position:absolute;top:1.4rem;right:1.6rem;font-family:var(--mono);font-size:.75rem;color:var(--grey-2)}

@media (max-width:880px){.ind-grid{grid-template-columns:repeat(2,1fr)}}
@media (max-width:520px){.ind-grid{grid-template-columns:1fr}}

/* ---------------- AFFILIATIONS PREVIEW ---------------- */
.affil-prev{position:relative;overflow:hidden}
.affil-grid{display:grid;grid-template-columns:1fr 1.1fr;gap:clamp(2.5rem,5vw,5rem);align-items:center}
.affil-copy .stat-row{display:flex;gap:2.5rem;margin:2rem 0;flex-wrap:wrap}
.affil-net{position:relative;aspect-ratio:1/1;max-width:480px;margin-inline:auto;width:100%}
.affil-net svg{width:100%;height:100%;overflow:visible}
.node-dot{fill:var(--green)}
.node-ring{fill:none;stroke:var(--green);stroke-width:1.4;opacity:.5}
.node-line{stroke:var(--line-green);stroke-width:1.4;fill:none}
.node-pulse{stroke:var(--green);stroke-width:1.6;fill:none;stroke-dasharray:6 200;opacity:.9}
.node-label{font-family:var(--mono);font-size:9px;fill:#c2ccda;letter-spacing:.05em}
.affil-hub{fill:rgba(141,198,63,.12);stroke:var(--green);stroke-width:1.4}

@media (max-width:880px){.affil-grid{grid-template-columns:1fr}}
