
:root{
  --bg:#080808;
  --bg-2:#0f0f0f;
  --bg-3:#141414;
  --panel:#111111;
  --line:#242424;
  --text:#f5f5f5;
  --muted:#b8b8b8;
  --lime:#b8ff46;
  --lime-2:#8fff00;
  --shadow:0 20px 50px rgba(0,0,0,.35);
  --radius:24px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  background:var(--bg);
  color:var(--text);
  overflow-x:hidden;
}
img{max-width:100%;display:block}
a{text-decoration:none}
.section-dark{background:var(--bg)}
.section-dark-2{background:var(--bg-2)}
.section-mid{background:#111}
.section-mid-2{background:#171717}
.topbar{
  position:fixed; top:0; left:0; width:100%; z-index:1045;
  background:#020202; border-bottom:1px solid rgba(255,255,255,.07);
  color:#d6d6d6; font-size:.86rem;
}
.topbar-wrap{
  min-height:42px; display:flex; align-items:center; justify-content:space-between; gap:1rem; flex-wrap:wrap;
}
.topbar-left,.topbar-right{display:flex; align-items:center; gap:1rem; flex-wrap:wrap}
.topbar a{color:#d6d6d6}
.topbar i{color:var(--lime)}
.navbar{
  top:42px;
  background:rgba(8,8,8,.75);
  backdrop-filter:blur(16px);
  border-bottom:1px solid rgba(255,255,255,.07);
  transition:.3s ease;
}
.navbar.scrolled{background:rgba(5,5,5,.92)}
.navbar-brand img{height:44px; width:auto}
.navbar-toggler{border-color:rgba(255,255,255,.18)}
.navbar-toggler:focus{box-shadow:none}
.nav-link{
  color:#f5f5f5; font-weight:600; font-size:.96rem; letter-spacing:.02em;
  padding:1rem .95rem !important;
}
.nav-link:hover,.nav-link.active{color:var(--lime)!important}
.btn{
  border-radius:999px; font-weight:700; padding:.95rem 1.4rem;
  transition:.25s ease; box-shadow:none;
}
.btn-lime{
  background:var(--lime); color:#060606; border:1px solid var(--lime);
}
.btn-lime:hover{
  background:#d1ff81; color:#060606; transform:translateY(-2px);
}
.hero-section{
  position:relative; min-height:100vh; width:100%;
  padding-top:120px;
}
.hero-video-wrap{
  position:absolute; inset:0; overflow:hidden;
}
.hero-video{
  position:absolute; top:0; right:0; width:80%; height:100%;
  object-fit:cover; object-position:center;
}
.hero-video-fade{
  position:absolute; inset:0;
  background:
    linear-gradient(90deg, rgba(8,8,8,1) 0%, rgba(8,8,8,1) 22%, rgba(8,8,8,.90) 34%, rgba(8,8,8,.55) 48%, rgba(8,8,8,.18) 66%, rgba(8,8,8,.06) 100%);
}
.hero-grid-overlay{
  position:absolute; inset:0;
  background-image:
    linear-gradient(rgba(255,255,255,.035) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,.035) 1px, transparent 1px);
  background-size:46px 46px;
  mask-image:linear-gradient(180deg, rgba(0,0,0,.95), rgba(0,0,0,.65));
}
.hero-content{position:relative; z-index:2}
.hero-copy{max-width:780px; padding:5rem 0 4rem}
.eyebrow{
  color:var(--lime); text-transform:uppercase; letter-spacing:.16em; font-size:.82rem; font-weight:700; margin-bottom:1rem;
}
.hero-copy h1{
  font-size:clamp(2.6rem, 6vw, 5.8rem);
  line-height:.95; font-weight:900; letter-spacing:-.04em; margin:0 0 1.25rem;
}
.lead-text{
  font-size:1.1rem; color:var(--muted); max-width:690px; line-height:1.8;
}
.hero-points{
  display:flex; gap:.85rem; flex-wrap:wrap; margin:1.6rem 0 2rem;
}
.hero-points span{
  background:rgba(255,255,255,.06); border:1px solid rgba(255,255,255,.08);
  padding:.8rem 1rem; border-radius:999px; color:#fff; font-weight:600;
}
.hero-points i{color:var(--lime)}
.hero-actions{display:flex; gap:1rem; flex-wrap:wrap}
.hero-mini{
  display:grid; grid-template-columns:repeat(3,1fr); gap:1rem; margin-top:2rem;
}
.hero-mini div{
  background:rgba(255,255,255,.04); border:1px solid rgba(255,255,255,.07);
  border-radius:20px; padding:1rem 1rem 1.1rem;
}
.hero-mini strong{display:block; font-size:1.6rem; color:var(--lime)}
.hero-mini span{color:var(--muted); font-size:.95rem}
.ticker-news{
  position:relative; z-index:3; height:48px; overflow:hidden;
  background:var(--lime); color:#060606; font-weight:900; letter-spacing:.03em;
}
.ticker-track{
  display:flex; align-items:center; gap:2rem; width:max-content;
  white-space:nowrap; min-height:48px; animation:ticker 28s linear infinite;
}
.ticker-track span{position:relative}
.ticker-track span::after{content:"•"; margin-left:2rem}
@keyframes ticker{from{transform:translateX(0)}to{transform:translateX(-50%)}}
.client-marquee,.projects-section,.about-section,.why-section,.impact-section,.contact-section{padding:6rem 0}
.section-head{
  display:flex; align-items:end; justify-content:space-between; gap:2rem; margin-bottom:2.3rem; flex-wrap:wrap;
}
.section-head h2,.simple-head h2{
  font-size:clamp(2rem,4vw,3.6rem); line-height:1; letter-spacing:-.03em; margin:0;
}
.section-copy{max-width:530px; color:var(--muted); line-height:1.8; margin:0}
.logo-loop{
  overflow:hidden; position:relative; border-top:1px solid rgba(255,255,255,.08); border-bottom:1px solid rgba(255,255,255,.08); padding:1.3rem 0;
}
.logo-loop-track{
  display:flex; gap:1.2rem; width:max-content; animation:logoLoop 28s linear infinite;
}
.logo-loop-track img{
  width:270px; height:116px; object-fit:contain; filter:grayscale(1) brightness(1.1);
  opacity:.95;
}
@keyframes logoLoop{from{transform:translateX(0)}to{transform:translateX(-50%)}}
.projects-swiper{overflow:visible}
.project-card{
  background:linear-gradient(180deg,#121212,#0e0e0e); border:1px solid rgba(255,255,255,.08);
  border-radius:28px; overflow:hidden; box-shadow:var(--shadow); height:100%;
}
.project-thumb img{width:100%; height:340px; object-fit:cover}
.project-body{padding:1.5rem}
.project-tag{
  display:inline-flex; padding:.45rem .9rem; border-radius:999px;
  background:rgba(184,255,70,.1); color:var(--lime); font-weight:800; font-size:.82rem; margin-bottom:1rem;
}
.project-body h3{font-size:1.5rem; line-height:1.15; margin:0 0 .9rem}
.project-body p{color:var(--muted); line-height:1.75; margin:0}
.projects-controls{
  display:flex; align-items:center; justify-content:center; gap:1rem; margin-top:1.5rem;
}
.swiper-button-next,.swiper-button-prev{
  position:static; width:56px; height:56px; margin:0;
  border-radius:50%; border:1px solid rgba(255,255,255,.1);
  background:#181818; color:#fff;
}
.swiper-button-next::after,.swiper-button-prev::after{font-size:1rem; font-weight:900}
.swiper-pagination{position:static; width:auto !important}
.swiper-pagination-bullet{background:#666; opacity:1}
.swiper-pagination-bullet-active{background:var(--lime)}
.info-panel,.stack-card,.glass-card,.adv-card,.contact-form,.contact-note{
  background:linear-gradient(180deg, rgba(255,255,255,.04), rgba(255,255,255,.025));
  border:1px solid rgba(255,255,255,.07); border-radius:28px; box-shadow:var(--shadow);
}
.info-panel{padding:2rem}
.stats-grid{
  display:grid; grid-template-columns:repeat(2,1fr); gap:1rem; margin-top:2rem;
}
.stat-box{
  padding:1.1rem 1.1rem 1.2rem; border-radius:22px; background:#0e0e0e; border:1px solid rgba(255,255,255,.07);
}
.stat-box strong{display:block; margin-bottom:.5rem; font-size:1.05rem}
.stat-box span{color:var(--muted); line-height:1.6}
.stack-panel{display:grid; gap:1rem}
.stack-card{padding:2rem}
.highlight-card{
  background:linear-gradient(180deg, rgba(184,255,70,.14), rgba(255,255,255,.03));
}
.mini-tag{
  display:inline-block; margin-bottom:1rem; color:var(--lime); font-weight:800; text-transform:uppercase; letter-spacing:.14em; font-size:.78rem;
}
.feature-list{
  display:grid; gap:.75rem; padding-left:1.2rem; margin:1rem 0 0;
}
.feature-list li{color:var(--muted)}
.video-band{position:relative; overflow:hidden}
.video-band-media{position:absolute; inset:0}
.video-band-media video{width:100%; height:100%; object-fit:cover}
.video-band-overlay{
  position:absolute; inset:0;
  background:linear-gradient(180deg, rgba(0,0,0,.78), rgba(0,0,0,.82));
}
.section-head-light .section-copy{color:#e4e4e4}
.glass-card{
  height:100%; padding:1.8rem; backdrop-filter:blur(8px);
  background:rgba(16,16,16,.5);
}
.glass-card i{font-size:2rem; color:var(--lime); margin-bottom:1rem}
.glass-card h3{font-size:1.25rem}
.glass-card p{color:#d0d0d0; line-height:1.75; margin:0}
.adv-card{
  height:100%; padding:1.8rem;
}
.adv-card span{
  display:inline-flex; width:52px; height:52px; border-radius:50%;
  align-items:center; justify-content:center; background:rgba(184,255,70,.1); color:var(--lime); font-weight:900; margin-bottom:1rem;
}
.adv-card h3{font-size:1.25rem}
.adv-card p{color:var(--muted); line-height:1.75; margin:0}
.cta-box{
  margin-top:2rem; padding:1.6rem 1.8rem; border-radius:28px; border:1px solid rgba(255,255,255,.08);
  background:linear-gradient(90deg, rgba(184,255,70,.08), rgba(255,255,255,.03));
  display:flex; align-items:center; justify-content:space-between; gap:1rem; flex-wrap:wrap;
}
.contact-copy{position:sticky; top:140px}
.contact-lines{display:grid; gap:.9rem; margin:1.6rem 0}
.contact-lines a,.contact-lines span{
  color:#f0f0f0; font-weight:600;
}
.contact-lines i{color:var(--lime); width:22px}
.contact-note{padding:1.5rem; margin-top:1rem}
.contact-note p{color:var(--muted); line-height:1.75; margin:0}
.contact-form{padding:1.8rem}
.form-label{font-weight:700; margin-bottom:.55rem}
.form-control{
  background:#0b0b0b; border:1px solid rgba(255,255,255,.12); color:#fff; border-radius:18px; padding:.95rem 1rem;
}
.form-control:focus{
  background:#0b0b0b; border-color:var(--lime); color:#fff; box-shadow:0 0 0 .2rem rgba(184,255,70,.12);
}
.interest-grid{
  display:grid; grid-template-columns:repeat(3,1fr); gap:1rem;
}
.interest-option{
  position:relative; cursor:pointer; min-height:120px;
}
.interest-option input{
  position:absolute; opacity:0; inset:0;
}
.interest-option span{
  height:100%; border-radius:28px; border:1px solid rgba(255,255,255,.12);
  background:#0b0b0b; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:.65rem;
  text-align:center; padding:1rem; font-weight:700; transition:.25s ease;
}
.interest-option i{font-size:1.5rem; color:#fff}
.interest-option input:checked + span{
  border-color:var(--lime); background:rgba(184,255,70,.12); color:#fff; transform:translateY(-2px);
}
.interest-option input:checked + span i{color:var(--lime)}
.form-response{min-height:22px; color:var(--lime); font-weight:700}
.floating-bar{
  position:fixed; right:16px; top:50%; transform:translateY(-50%); z-index:1050;
  display:flex; flex-direction:column; gap:.8rem;
}
.floating-bar a{
  width:52px; height:52px; display:flex; align-items:center; justify-content:center;
  background:#0d0d0d; color:#fff; border:1px solid rgba(255,255,255,.1); border-radius:50%;
  box-shadow:var(--shadow); transition:.25s ease;
}
.floating-bar a:hover{background:var(--lime); color:#060606; transform:translateY(-2px)}
.site-footer{
  background:#050505; border-top:1px solid rgba(255,255,255,.08); padding:2.4rem 0 1rem;
}
.footer-wrap{
  display:grid; grid-template-columns:1.5fr 1fr 1fr; gap:2rem; align-items:start;
}
.footer-brand img{height:42px; width:auto; margin-bottom:1rem}
.footer-brand p,.footer-copy span{color:var(--muted); line-height:1.8}
.footer-links{display:grid; gap:.6rem}
.footer-links a{color:#fff}
.footer-bottom{
  margin-top:1.6rem; padding-top:1rem; border-top:1px solid rgba(255,255,255,.06);
  display:flex; justify-content:space-between; gap:1rem; flex-wrap:wrap; color:#8f8f8f; font-size:.92rem;
}
@media (max-width: 1399px){
  .hero-video{width:84%}
}
@media (max-width: 1199px){
  .hero-video{width:100%}
  .hero-video-fade{background:linear-gradient(180deg, rgba(8,8,8,.74), rgba(8,8,8,.82))}
  .hero-copy{padding-top:8rem}
  .hero-mini{grid-template-columns:1fr}
  .interest-grid{grid-template-columns:repeat(2,1fr)}
  .contact-copy{position:relative; top:auto}
}
@media (max-width: 991px){
  .topbar-right{display:none}
  .navbar{top:42px}
  .section-head,.footer-wrap{grid-template-columns:1fr}
  .stats-grid{grid-template-columns:1fr}
  .project-thumb img{height:280px}
}
@media (max-width: 767px){
  .topbar{font-size:.75rem}
  .topbar-wrap{padding:.35rem 0}
  .hero-section{padding-top:112px}
  .hero-copy h1{font-size:2.7rem}
  .lead-text{font-size:1rem}
  .hero-points span{width:100%; justify-content:center}
  .client-marquee,.projects-section,.about-section,.why-section,.impact-section,.contact-section{padding:4.3rem 0}
  .interest-grid{grid-template-columns:1fr}
  .floating-bar{
    right:10px; bottom:16px; top:auto; transform:none; flex-direction:row;
  }
  .floating-bar a{width:48px;height:48px}
  .footer-wrap{grid-template-columns:1fr}
}
