:root{
  --wx-primary:#6C5CE7; /* violet */
  --wx-secondary:#00D1B2; /* teal */
  --wx-dark:#0f1020;
  --wx-light:#f7f8ff;
  --wx-gradient:linear-gradient(135deg,var(--wx-primary),#8A7BFF 40%, #B76CFD);
}
html,body{font-family:"Poppins",system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial; scroll-behavior:smooth;}
body{background:#ffffff;color:#12131f}
img{max-width:100%;height:auto}
.skip-link{position:absolute;left:-9999px;top:auto;width:1px;height:1px;overflow:hidden}
.skip-link:focus{left:1rem;top:1rem;width:auto;height:auto;z-index:10000;background:#000;color:#fff;padding:.5rem .75rem;border-radius:.5rem}

/* Navbar */
.navbar{transition:all .25s ease}
.navbar.scrolled{background:rgba(15,16,32,.85)!important; box-shadow:0 8px 24px rgba(0,0,0,.25)}
.brand-badge{display:inline-grid; place-items:center; width:42px; height:42px; border-radius:12px; background:var(--wx-gradient); color:#fff; font-weight:800}
.brand-text{font-weight:700; letter-spacing:.25px}

/* Hero */
.hero{position:relative; height:100vh; min-height:560px; color:#fff; background:#000}
.hero .carousel-item{height:100vh; min-height:560px}
.hero .carousel-item img{object-fit:cover; width:100%; height:100%; filter:brightness(.55)}
.hero-overlay{position:absolute; inset:0; background:radial-gradient(60% 60% at 50% 50%, rgba(108,92,231,.10), rgba(0,0,0,.65))}
.hero-caption{position:absolute; inset:0; display:grid; place-items:center; text-align:center; padding:0 1rem}
.display-title{font-size:clamp(2.2rem, 5vw + 1rem, 4rem); font-weight:800; line-height:1.08}
.lead-xl{font-size:clamp(1rem, 1.1vw + .6rem, 1.25rem)}
.btn-wx{background:var(--wx-primary); color:#fff; border:none; box-shadow:0 10px 24px rgba(108,92,231,.35)}
.btn-wx:hover{background:#5849e0; color:#fff}
.btn-ghost{background:transparent; border:2px solid rgba(255,255,255,.65); color:#fff}
.btn-ghost:hover{background:rgba(255,255,255,.12); color:#fff}

/* Sections */
section{padding:90px 0}
.section-light{background:var(--wx-light)}
.section-dark{background:var(--wx-dark); color:#e9ecff}
.section-title{font-weight:800; letter-spacing:.3px}
.section-sub{opacity:.9}
.two-col{columns:2; column-gap:1.25rem}

/* Cards */
.service-card{border:none; border-radius:20px; overflow:hidden; background:#fff; box-shadow:0 10px 30px rgba(15,16,32,.06); transition:transform .2s ease, box-shadow .2s ease}
.service-card:hover{transform:translateY(-6px); box-shadow:0 18px 40px rgba(15,16,32,.12)}
.icon-badge{width:56px; height:56px; display:grid; place-items:center; border-radius:14px; background:var(--wx-light); color:var(--wx-primary); font-size:26px}

.stat-pill{border-radius:16px; background:#11132b; padding:18px 22px; border:1px solid rgba(255,255,255,.08)}
.gradient-text{background:var(--wx-gradient); -webkit-background-clip:text; background-clip:text; color:transparent}

/* Contact */
.contact-card{background:#fff; border-radius:24px; box-shadow:0 16px 40px rgba(15,16,32,.08); border:none}
.form-control, .form-select{padding:.85rem 1rem; border-radius:12px}
.btn-send{background:var(--wx-secondary); border:none; color:#0b1b18; font-weight:700}
.btn-send:hover{opacity:.9}

/* Footer */
.footer{background:#0b0c19; color:#cfd3ff}
.footer a{color:#cfd3ff; opacity:.9}
.footer a:hover{opacity:1}
.divider{height:1px; background:linear-gradient(90deg, transparent, rgba(255,255,255,.28), transparent)}

/* Responsive */
@media (max-width: 575.98px){ .two-col{columns:1} }
