:root{
  --bg0:#070A10;
  --bg1:#0B1020;
  --card:rgba(255,255,255,.06);
  --card2:rgba(255,255,255,.09);
  --stroke:rgba(255,255,255,.12);
  --stroke2:rgba(255,255,255,.18);
  --text:#EAF0FF;
  --muted:rgba(234,240,255,.72);
  --muted2:rgba(234,240,255,.55);
  --neon:#39FF88;
  --cyan:#22D3EE;
  --violet:#A78BFA;
  --warn:#F59E0B;
  --danger:#FB7185;
  --shadow:0 18px 70px rgba(0,0,0,.55);
  --shadow2:0 10px 40px rgba(0,0,0,.45);
  --r:20px;
  --r2:14px;
  --max:1120px;
}

*{box-sizing:border-box}
html,body{height:100%}
body{
  margin:0;
  font-family:Manrope,system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial;
  color:var(--text);
  background:radial-gradient(1200px 800px at 15% 10%, rgba(34,211,238,.12), transparent 65%),
             radial-gradient(900px 700px at 85% 20%, rgba(167,139,250,.10), transparent 60%),
             radial-gradient(1100px 900px at 40% 90%, rgba(57,255,136,.09), transparent 60%),
             linear-gradient(180deg, var(--bg0), var(--bg1));
  overflow-x:hidden;
}

a{color:inherit;text-decoration:none}
.container{max-width:var(--max)}

.muted{color:var(--muted)}
.center{text-align:center}

/* Background orbits */
.bg-orbits{position:fixed;inset:0;pointer-events:none;z-index:-1;opacity:.95}
.orbit{
  position:absolute;filter:blur(40px);border-radius:999px;mix-blend-mode:screen;opacity:.55;
  animation:floaty 12s ease-in-out infinite;
}
.orbit.o1{width:520px;height:520px;left:-120px;top:-140px;background:radial-gradient(circle at 30% 30%, rgba(34,211,238,.35), transparent 60%)}
.orbit.o2{width:620px;height:620px;right:-180px;top:-160px;background:radial-gradient(circle at 40% 40%, rgba(167,139,250,.34), transparent 62%);animation-duration:14s}
.orbit.o3{width:700px;height:700px;left:18%;bottom:-260px;background:radial-gradient(circle at 45% 45%, rgba(57,255,136,.26), transparent 62%);animation-duration:16s}
.noise{
  position:absolute;inset:0;opacity:.07;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='160' height='160' filter='url(%23n)' opacity='.85'/%3E%3C/svg%3E");
}
@keyframes floaty{0%,100%{transform:translate3d(0,0,0)}50%{transform:translate3d(0,-22px,0)}}

/* Glass */
.glass{
  background:linear-gradient(180deg, rgba(255,255,255,.09), rgba(255,255,255,.05));
  border:1px solid var(--stroke);
  border-radius:var(--r);
  box-shadow:var(--shadow2);
  backdrop-filter: blur(14px);
  -webkit-backdrop-filter: blur(14px);
}
.glass-soft{
  background:linear-gradient(180deg, rgba(255,255,255,.07), rgba(255,255,255,.04));
  border:1px solid rgba(255,255,255,.10);
  border-radius:var(--r);
  backdrop-filter: blur(14px);
  -webkit-backdrop-filter: blur(14px);
}

/* Navbar */
.nav-shell{position:sticky;top:0;z-index:50;padding:14px 12px}
.nav{
  max-width:var(--max);
  margin:0 auto;
  padding:12px 14px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  position:relative;
}
.brand{display:flex;align-items:center;gap:10px}
.brand-mark{
  width:14px;height:14px;border-radius:6px;
  background:conic-gradient(from 160deg, var(--neon), var(--cyan), var(--violet), var(--neon));
  box-shadow:0 0 20px rgba(57,255,136,.25);
}
.brand-text{font-weight:700;letter-spacing:.2px}
.nav-links{display:flex;align-items:center;gap:10px}
.nav-link{
  padding:10px 12px;border-radius:12px;
  color:var(--muted);
  transition:transform .2s ease, background .2s ease, color .2s ease, box-shadow .2s ease;
}
.nav-link:hover{
  background:rgba(255,255,255,.06);
  color:var(--text);
  transform:translateY(-1px);
}
.nav-link-cta{
  color:var(--text);
  background:linear-gradient(90deg, rgba(57,255,136,.18), rgba(34,211,238,.16));
  border:1px solid rgba(57,255,136,.22);
  box-shadow:0 0 30px rgba(57,255,136,.12);
}
.nav-link-muted{opacity:.75}

.nav-toggle{
  display:none;
  width:42px;height:42px;border-radius:14px;
  border:1px solid rgba(255,255,255,.14);
  background:rgba(255,255,255,.05);
  backdrop-filter: blur(14px);
  -webkit-backdrop-filter: blur(14px);
}
.nav-toggle span{display:block;height:2px;margin:6px 10px;background:rgba(234,240,255,.82);border-radius:99px;transition:transform .2s ease, opacity .2s ease}

/* Typography */
.display{font-size:clamp(40px, 5vw, 62px);line-height:1.03;letter-spacing:-.03em;margin:10px 0 12px}
.h1{font-size:clamp(34px, 4.2vw, 54px);line-height:1.05;letter-spacing:-.03em;margin:10px 0 12px}
.h2{font-size:clamp(26px, 3vw, 36px);line-height:1.15;letter-spacing:-.02em;margin:0}
.lead{font-size:clamp(16px, 1.4vw, 18px);color:var(--muted);max-width:64ch}
.kicker{display:flex;align-items:center;gap:10px;color:var(--muted2);letter-spacing:.12em;text-transform:uppercase;font-size:12px}
.kicker .dot{width:8px;height:8px;border-radius:99px;background:var(--neon);box-shadow:0 0 16px rgba(57,255,136,.35)}

/* Buttons */
.btn-glow,.btn-ghost{
  display:inline-flex;align-items:center;justify-content:center;gap:10px;
  padding:12px 16px;border-radius:14px;
  font-weight:650;letter-spacing:.2px;
  transition:transform .18s ease, box-shadow .18s ease, background .18s ease, border-color .18s ease, opacity .18s ease;
  user-select:none;
}
.btn-glow{
  color:var(--text);
  background:linear-gradient(90deg, rgba(57,255,136,.22), rgba(34,211,238,.18), rgba(167,139,250,.16));
  border:1px solid rgba(255,255,255,.16);
  box-shadow:0 0 34px rgba(57,255,136,.14), 0 0 60px rgba(34,211,238,.08);
}
.btn-glow:hover,
.btn-glow:focus{
  color:var(--text);
  transform:translateY(-2px);
  box-shadow:0 0 44px rgba(57,255,136,.18), 0 0 80px rgba(167,139,250,.10);
}
button.btn-glow[type="submit"]{
  color:var(--text);
}
.btn-ghost{
  background:rgba(255,255,255,.04);
  border:1px solid rgba(255,255,255,.12);
  color:var(--text);
}
.btn-ghost:hover{transform:translateY(-2px);background:rgba(255,255,255,.06);border-color:rgba(255,255,255,.18)}
.btn-sm{padding:10px 12px;border-radius:12px;font-size:14px}

/* Sections */
.section{padding:74px 0}
.section-alt{padding:86px 0;background:linear-gradient(180deg, rgba(255,255,255,.02), rgba(255,255,255,.00))}
.section-head{display:flex;align-items:flex-end;justify-content:space-between;gap:18px;margin-bottom:22px}
.section-head p{margin:0;max-width:66ch}
.section-sep{
  height:1px;
  background:linear-gradient(90deg, transparent, rgba(255,255,255,.14), transparent);
  opacity:.8;
}

/* Hero */
.hero{padding:86px 0 0}
.hero-grid{
  display:grid;
  grid-template-columns: 1.15fr .85fr;
  gap:26px;
  align-items:center;
}
.hero-copy{padding:6px 0}
.hero-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:18px}
.hero-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:18px}
.stat{padding:12px 14px}
.stat-value{font-weight:800;letter-spacing:-.02em}
.stat-label{color:var(--muted2);font-size:13px;margin-top:3px}

.hero-visual{position:relative}
.console{padding:14px}
.console-top{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:8px 10px;border-bottom:1px solid rgba(255,255,255,.10)}
.lights{display:flex;gap:6px}
.lights span{width:9px;height:9px;border-radius:99px;background:rgba(255,255,255,.18)}
.lights span:nth-child(1){background:rgba(251,113,133,.7)}
.lights span:nth-child(2){background:rgba(245,158,11,.7)}
.lights span:nth-child(3){background:rgba(57,255,136,.55)}
.console-title{color:var(--muted2);font-size:12px;letter-spacing:.14em;text-transform:uppercase}
.console-badge{font-size:11px;padding:4px 8px;border-radius:999px;border:1px solid rgba(57,255,136,.24);background:rgba(57,255,136,.10)}
.console-body{position:relative;padding:14px;min-height:340px}
.node{
  display:flex;gap:12px;align-items:center;
  padding:12px 12px;border-radius:16px;
  background:rgba(255,255,255,.05);
  border:1px solid rgba(255,255,255,.11);
  box-shadow:0 10px 24px rgba(0,0,0,.35);
  position:absolute;
  width:min(340px, 90%);
}
.node-icon{width:38px;height:38px;border-radius:14px;background:radial-gradient(circle at 30% 30%, rgba(57,255,136,.35), rgba(255,255,255,.06));border:1px solid rgba(255,255,255,.14);box-shadow:0 0 26px rgba(57,255,136,.10)}
.node-icon.ai{background:radial-gradient(circle at 30% 30%, rgba(34,211,238,.35), rgba(255,255,255,.06));box-shadow:0 0 26px rgba(34,211,238,.10)}
.node-icon.sync{background:radial-gradient(circle at 30% 30%, rgba(167,139,250,.35), rgba(255,255,255,.06));box-shadow:0 0 26px rgba(167,139,250,.10)}
.node-icon.crm{background:radial-gradient(circle at 30% 30%, rgba(57,255,136,.22), rgba(167,139,250,.20), rgba(255,255,255,.06));box-shadow:0 0 26px rgba(167,139,250,.12)}
.node-title{font-weight:750}
.node-sub{color:var(--muted2);font-size:12px;margin-top:2px}
.node.n1{left:10px;top:18px}
.node.n2{right:10px;top:92px}
.node.n3{left:10px;top:178px}
.node.n4{right:10px;top:262px}

.lines{position:absolute;inset:0;pointer-events:none}
.line{position:absolute;left:50%;top:50%;width:2px;height:120px;background:linear-gradient(180deg, rgba(57,255,136,.0), rgba(57,255,136,.45), rgba(57,255,136,.0));filter:blur(.2px);opacity:.65;animation:pulse 2.6s ease-in-out infinite}
.line.l1{transform:translate(-70px,-128px) rotate(26deg);height:128px}
.line.l2{transform:translate(48px,-46px) rotate(-18deg);height:140px;animation-delay:.4s}
.line.l3{transform:translate(-42px,54px) rotate(18deg);height:138px;animation-delay:.8s}
@keyframes pulse{0%,100%{opacity:.35}50%{opacity:.85}}

.floating{
  position:absolute;
  padding:12px 12px;
  border-radius:18px;
  border:1px solid rgba(255,255,255,.10);
  box-shadow:0 18px 60px rgba(0,0,0,.40);
}
.floating.f1{left:-8px;bottom:-14px;animation:floaty 9s ease-in-out infinite}
.floating.f2{right:-10px;top:8px;animation:floaty 11s ease-in-out infinite}
.mini-title{color:var(--muted2);font-size:12px;letter-spacing:.12em;text-transform:uppercase}
.mini-value{font-weight:850;font-size:20px;letter-spacing:-.02em}
.mini-sub{color:var(--muted2);font-size:12px}

/* Cards and grids */
.grid-4{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.card{padding:16px 16px 18px;position:relative;overflow:hidden}
.card:before{
  content:"";
  position:absolute;inset:-1px;
  border-radius:var(--r);
  padding:1px;
  background:linear-gradient(120deg, rgba(57,255,136,.30), rgba(34,211,238,.18), rgba(167,139,250,.18));
  -webkit-mask:linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
  -webkit-mask-composite:xor;
          mask-composite:exclude;
  opacity:.45;
  pointer-events:none;
}
.card-ic{width:42px;height:42px;border-radius:16px;border:1px solid rgba(255,255,255,.14);margin-bottom:10px}
.ic-neon{background:radial-gradient(circle at 30% 30%, rgba(57,255,136,.38), rgba(255,255,255,.05))}
.ic-cyan{background:radial-gradient(circle at 30% 30%, rgba(34,211,238,.40), rgba(255,255,255,.05))}
.ic-violet{background:radial-gradient(circle at 30% 30%, rgba(167,139,250,.42), rgba(255,255,255,.05))}
.card.glass .card-title{
  color:var(--text);
  font-weight:800;
  letter-spacing:-.01em;
}
.card-text{color:var(--muted);margin-top:6px}

.pill-card{padding:18px;position:relative;overflow:hidden}
.pill-card-title{color:var(--text);font-weight:800}
.pill-card-text{color:var(--muted);margin-top:6px}
.pill-card:after{
  content:"";
  position:absolute;right:-24px;top:-24px;width:100px;height:100px;border-radius:999px;
  background:radial-gradient(circle at 35% 35%, rgba(34,211,238,.26), transparent 60%);
  filter:blur(4px);
  opacity:.9;
}

/* Services */
.services-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}
.service-card{
  padding:18px;
  display:flex;
  flex-direction:column;
  gap:4px;
}
.service-head{display:flex;gap:12px;align-items:flex-start;margin-bottom:8px}
.service-ic{width:42px;height:42px;border-radius:16px;border:1px solid rgba(255,255,255,.14);flex:0 0 42px}
.service-title{margin:0;font-size:18px;font-weight:800;letter-spacing:-.02em;color:var(--text);line-height:1.25}
.service-row{margin:10px 0 0}
.service-row .label{
  color:var(--muted2);
  font-size:12px;
  letter-spacing:.12em;
  text-transform:uppercase;
  margin-bottom:4px;
}
.service-row .value{color:var(--muted);line-height:1.55}
.service-card .btn-glow{margin-top:14px;align-self:flex-start}

/* Cases */
.cases-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.cases-grid--full{grid-template-columns:repeat(3,1fr)}
.case-card{padding:16px;position:relative;overflow:hidden}
.case-top{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;margin-bottom:10px}
.case-badge{
  font-size:12px;padding:6px 10px;border-radius:999px;
  border:1px solid rgba(255,255,255,.14);color:var(--muted);
  background:rgba(255,255,255,.04);
}
.case-visual{
  width:62px;height:44px;border-radius:14px;
  border:1px solid rgba(255,255,255,.12);
  background:linear-gradient(135deg, rgba(255,255,255,.06), rgba(255,255,255,.02));
  position:relative;overflow:hidden;
}
.case-visual:before{
  content:"";
  position:absolute;inset:-60% -40%;
  background:radial-gradient(circle at 30% 30%, rgba(57,255,136,.35), transparent 55%),
             radial-gradient(circle at 70% 70%, rgba(34,211,238,.25), transparent 55%);
  transform:rotate(22deg);
  animation:drift 9s ease-in-out infinite;
}
@keyframes drift{0%,100%{transform:rotate(22deg) translate3d(0,0,0)}50%{transform:rotate(22deg) translate3d(10px,8px,0)}}
.case-title{font-weight:860;letter-spacing:-.02em;margin:0 0 6px;font-size:18px}
.case-text{color:var(--muted);margin:0 0 12px}
.case-actions{display:flex;gap:10px;flex-wrap:wrap}
.case-card:hover{transform:translateY(-2px)}
.case-card{transition:transform .18s ease, box-shadow .18s ease}
.case-card[data-accent="neon"]{box-shadow:0 0 0 rgba(0,0,0,0)}
.case-card[data-accent="cyan"]{box-shadow:0 0 0 rgba(0,0,0,0)}
.case-card[data-accent="violet"]{box-shadow:0 0 0 rgba(0,0,0,0)}
.case-card:hover[data-accent="neon"]{box-shadow:0 20px 80px rgba(57,255,136,.08)}
.case-card:hover[data-accent="cyan"]{box-shadow:0 20px 80px rgba(34,211,238,.08)}
.case-card:hover[data-accent="violet"]{box-shadow:0 20px 80px rgba(167,139,250,.08)}

.link-arrow{color:var(--muted);display:inline-flex;align-items:center;gap:8px}
.link-arrow span{transition:transform .18s ease}
.link-arrow:hover{color:var(--text)}
.link-arrow:hover span{transform:translateX(3px)}

/* Timeline */
.timeline{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
.step{padding:16px;display:flex;gap:12px;align-items:flex-start;position:relative;overflow:hidden}
.step-n{font-weight:900;letter-spacing:-.04em;color:rgba(234,240,255,.65)}
.step-title{font-weight:850}
.step-text{color:var(--muted);margin-top:6px}
.step:after{
  content:"";
  position:absolute;left:-30px;top:-30px;width:110px;height:110px;border-radius:999px;
  background:radial-gradient(circle at 30% 30%, rgba(167,139,250,.18), transparent 60%);
  filter:blur(2px);
}

/* Page hero */
.page-hero{padding:72px 0 0}
.page-hero-inner{padding-bottom:26px}

/* Case detail */
.case-hero{padding:72px 0 0}
.case-hero-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:20px;align-items:center}
.case-mock{position:relative;padding:14px;overflow:hidden}
.mock-top{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:8px 10px;border-bottom:1px solid rgba(255,255,255,.10)}
.mock-title{color:var(--muted2);font-size:12px;letter-spacing:.14em;text-transform:uppercase}
.mock-badge{font-size:11px;padding:4px 8px;border-radius:999px;border:1px solid rgba(34,211,238,.22);background:rgba(34,211,238,.10)}
.mock-body{padding:14px;min-height:300px;position:relative}
.mock-chip{display:inline-flex;font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted2);padding:6px 10px;border-radius:999px;border:1px solid rgba(255,255,255,.12);background:rgba(255,255,255,.03);margin:8px 0}
.mock-line{height:10px;border-radius:999px;background:linear-gradient(90deg, rgba(255,255,255,.06), rgba(255,255,255,.02));border:1px solid rgba(255,255,255,.08);margin:10px 0}
.w90{width:90%}.w80{width:80%}.w70{width:70%}.w60{width:60%}.w55{width:55%}.w50{width:50%}
.case-glow{
  position:absolute;inset:-40%;
  background:radial-gradient(circle at 40% 45%, rgba(57,255,136,.22), transparent 60%),
             radial-gradient(circle at 70% 30%, rgba(34,211,238,.18), transparent 62%),
             radial-gradient(circle at 30% 70%, rgba(167,139,250,.16), transparent 62%);
  filter:blur(10px);
  opacity:.9;
  animation:floaty 13s ease-in-out infinite;
  pointer-events:none;
}

.detail-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.detail-card{padding:18px;position:relative;overflow:hidden}
.detail-title{font-weight:900;letter-spacing:-.02em;margin-bottom:8px}
.detail-text{color:var(--muted);line-height:1.55}
.cta-inline{margin-top:18px}
.cta-inline-card{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:18px}
.cta-inline-title{font-weight:900}
.cta-inline-text{color:var(--muted);margin-top:4px}

/* Contact */
.contact-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:16px;align-items:start}
.side-card{padding:18px}
.side-title{font-weight:900;margin-bottom:10px}
.side-list{margin:0;padding:0;list-style:none;display:grid;gap:10px;color:var(--muted)}
.side-list li{display:flex;gap:10px;align-items:flex-start}
.check{width:18px;height:18px;border-radius:8px;flex:0 0 18px;margin-top:2px;background:rgba(57,255,136,.16);border:1px solid rgba(57,255,136,.26);box-shadow:0 0 18px rgba(57,255,136,.10);position:relative}
.check:after{content:"";position:absolute;left:5px;top:4px;width:7px;height:4px;border-left:2px solid rgba(234,240,255,.95);border-bottom:2px solid rgba(234,240,255,.95);transform:rotate(-45deg)}
.side-tip{margin-top:12px;color:var(--muted2);font-size:14px}

.contact-form{padding:18px}
.form-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}
.field-wide{grid-column:1/-1}
.lbl{display:block;color:var(--muted2);font-size:12px;letter-spacing:.12em;text-transform:uppercase;margin:0 0 6px}
.optional{opacity:.65;font-size:11px;letter-spacing:.08em}
.inp{
  width:100%;
  background:rgba(255,255,255,.04);
  border:1px solid rgba(255,255,255,.12);
  border-radius:14px;
  padding:12px 12px;
  color:var(--text);
  outline:none;
  transition:border-color .18s ease, box-shadow .18s ease, background .18s ease;
}
.inp:focus{
  border-color:rgba(34,211,238,.30);
  box-shadow:0 0 0 3px rgba(34,211,238,.12);
  background:rgba(255,255,255,.05);
}
.area{resize:vertical;min-height:140px}
.err{color:rgba(251,113,133,.92);font-size:13px;margin-top:6px}
.form-actions{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-top:14px;flex-wrap:wrap}
.form-note{font-size:13px;max-width:56ch}

/* CTA blocks */
.cta{padding:0 0 90px}
.cta-card{padding:22px;display:flex;align-items:center;justify-content:space-between;gap:16px}
.cta-actions{display:flex;gap:12px;flex-wrap:wrap}

/* Success */
.success{padding:92px 0}
.success-card{padding:26px;max-width:820px;margin:0 auto;text-align:center}
.success-ic{
  width:64px;height:64px;border-radius:22px;margin:0 auto 14px;
  border:1px solid rgba(57,255,136,.22);
  background:radial-gradient(circle at 30% 30%, rgba(57,255,136,.32), rgba(255,255,255,.05));
  box-shadow:0 0 46px rgba(57,255,136,.12);
  position:relative;
}
.success-ic:after{content:"";position:absolute;left:22px;top:20px;width:20px;height:12px;border-left:3px solid rgba(234,240,255,.95);border-bottom:3px solid rgba(234,240,255,.95);transform:rotate(-45deg)}
.success-actions{display:flex;gap:12px;justify-content:center;flex-wrap:wrap;margin-top:16px}
.success-meta{display:flex;gap:10px;justify-content:center;flex-wrap:wrap;margin-top:14px}

/* Footer */
.footer{padding:44px 0 24px}
.footer-grid{padding:18px;display:grid;grid-template-columns:1.4fr .6fr .8fr;gap:16px;align-items:start}
.footer-title{font-weight:900}
.footer-sub{color:var(--muted);margin-top:8px;max-width:62ch}
.footer-links{display:grid;gap:8px}
.footer-links a{color:var(--muted);transition:color .18s ease}
.footer-links a:hover{color:var(--text)}
.pill{
  display:inline-flex;padding:8px 10px;border-radius:999px;
  border:1px solid rgba(255,255,255,.12);
  background:rgba(255,255,255,.03);
  color:var(--muted);
  font-size:12px;
}
.pill-active{
  color:var(--text);
  border-color:rgba(34,211,238,.22);
  background:linear-gradient(90deg, rgba(34,211,238,.12), rgba(167,139,250,.10));
  box-shadow:0 0 30px rgba(34,211,238,.08);
}
.mono{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace}
.strong{font-weight:850}
.inp-sm{padding:10px 10px;border-radius:12px;font-size:14px}

/* Admin */
.admin-filters{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:12px}
.admin-table{padding:14px}
.admin-row{
  display:grid;
  grid-template-columns: .6fr 1fr 2.2fr 1fr 1fr .8fr 2.2fr;
  gap:12px;
  padding:12px 8px;
  border-bottom:1px solid rgba(255,255,255,.08);
}
.admin-head{color:var(--muted2);font-size:12px;letter-spacing:.12em;text-transform:uppercase}
.admin-actions{display:flex;gap:10px;flex-wrap:wrap;align-items:flex-start}
.admin-actions form{display:flex;gap:10px;flex-wrap:wrap;align-items:center;margin:0}
.admin-desc{padding:10px 8px 14px;border-bottom:1px solid rgba(255,255,255,.08);display:grid;grid-template-columns:.9fr 3.1fr;gap:12px}
.admin-empty{padding:14px}
.status{display:inline-flex;align-items:center;gap:8px;padding:6px 10px;border-radius:999px;border:1px solid rgba(255,255,255,.12);background:rgba(255,255,255,.03);font-size:12px;color:var(--muted)}
.status:before{content:"";width:8px;height:8px;border-radius:99px;background:rgba(255,255,255,.22)}
.status-new{border-color:rgba(57,255,136,.20)}
.status-new:before{background:rgba(57,255,136,.65)}
.status-read{border-color:rgba(34,211,238,.20)}
.status-read:before{background:rgba(34,211,238,.60)}
.status-in_progress{border-color:rgba(245,158,11,.22)}
.status-in_progress:before{background:rgba(245,158,11,.65)}
.footer-note{display:flex;flex-wrap:wrap;gap:10px;justify-content:flex-end}
.footer-bottom{color:var(--muted2);font-size:13px;margin-top:14px;text-align:center}

/* Alerts (Bootstrap override) */
.alert{border-radius:16px;border:1px solid rgba(255,255,255,.12);color:var(--text)}
.alert-success{border-color:rgba(57,255,136,.22)}
.alert-danger{border-color:rgba(251,113,133,.28)}
.alert-info{border-color:rgba(34,211,238,.22)}
.alert-warning{border-color:rgba(245,158,11,.22)}

/* Reveal on scroll */
.reveal{opacity:0;transform:translateY(14px);transition:opacity .55s ease, transform .55s ease}
.reveal.is-visible{opacity:1;transform:translateY(0)}

/* Responsive */
@media (max-width: 992px){
  .hero-grid{grid-template-columns:1fr;gap:18px}
  .case-hero-grid{grid-template-columns:1fr}
  .hero-stats{grid-template-columns:1fr;gap:10px}
  .grid-4{grid-template-columns:repeat(2,1fr)}
  .grid-3{grid-template-columns:repeat(2,1fr)}
  .cases-grid{grid-template-columns:repeat(2,1fr)}
  .services-grid{grid-template-columns:1fr}
  .timeline{grid-template-columns:repeat(2,1fr)}
  .contact-grid{grid-template-columns:1fr}
  .footer-grid{grid-template-columns:1fr}
  .footer-note{justify-content:flex-start}
}
@media (max-width: 640px){
  .nav-toggle{display:block}
  .nav-links{
    position:absolute;left:0;right:0;top:calc(100% + 10px);
    padding:10px;
    border-radius:18px;
    background:linear-gradient(180deg, rgba(11,16,32,.98), rgba(7,10,16,.98));
    border:1px solid rgba(255,255,255,.16);
    box-shadow:0 18px 60px rgba(0,0,0,.55);
    backdrop-filter: blur(18px);
    -webkit-backdrop-filter: blur(18px);
    display:none;
    flex-direction:column;
    align-items:stretch;
    gap:6px;
    z-index:60;
  }
  .nav-links.is-open{display:flex}
  .nav-link{
    padding:12px 12px;
    color:var(--text);
    background:rgba(255,255,255,.04);
  }
  .nav-link:hover{
    background:rgba(255,255,255,.08);
    color:var(--text);
  }
  .nav-link-muted{color:var(--muted)}
  .nav-link-cta{
    color:var(--text);
    background:linear-gradient(90deg, rgba(57,255,136,.22), rgba(34,211,238,.16));
    border:1px solid rgba(57,255,136,.28);
  }
  .form-grid{grid-template-columns:1fr}
  .section-head{flex-direction:column;align-items:flex-start}
  .cta-card{flex-direction:column;align-items:flex-start}
}

@media (max-width: 1100px){
  .admin-row{grid-template-columns:.7fr 1fr 2fr 1fr 1fr .9fr 2fr}
}
@media (max-width: 992px){
  .admin-row{grid-template-columns:1fr;gap:8px}
  .admin-desc{grid-template-columns:1fr}
}

/* AI Chat Widget */
.visually-hidden{
  position:absolute!important;
  width:1px;height:1px;
  padding:0;margin:-1px;
  overflow:hidden;clip:rect(0,0,0,0);
  white-space:nowrap;border:0;
}

.ai-chat{
  position:fixed;
  inset:0;
  pointer-events:none;
  z-index:200;
}
.ai-chat *{pointer-events:auto}
.ai-chat-backdrop{
  position:absolute;inset:0;
  background:rgba(4,6,12,.55);
  opacity:0;
  transition:opacity .25s ease;
  pointer-events:none;
}
.ai-chat.is-open .ai-chat-backdrop{
  opacity:1;
  pointer-events:auto;
}

.ai-chat-fab{
  position:fixed;
  right:20px;bottom:20px;
  width:58px;height:58px;
  border-radius:18px;
  border:1px solid rgba(57,255,136,.28);
  background:linear-gradient(135deg, rgba(57,255,136,.22), rgba(34,211,238,.18), rgba(167,139,250,.14));
  color:var(--text);
  font-weight:800;
  font-size:15px;
  letter-spacing:.06em;
  cursor:pointer;
  box-shadow:0 0 34px rgba(57,255,136,.18), 0 12px 40px rgba(0,0,0,.45);
  transition:transform .2s ease, box-shadow .2s ease, opacity .2s ease;
  z-index:210;
  overflow:hidden;
}
.ai-chat-fab:hover{transform:translateY(-2px) scale(1.02);box-shadow:0 0 48px rgba(57,255,136,.24), 0 16px 50px rgba(0,0,0,.5)}
.ai-chat.is-open .ai-chat-fab{
  opacity:0;
  pointer-events:none;
  transform:scale(.9);
}
.ai-chat-fab-glow{
  position:absolute;inset:-40%;
  background:radial-gradient(circle at 50% 50%, rgba(57,255,136,.35), transparent 55%);
  animation:floaty 8s ease-in-out infinite;
  pointer-events:none;
}
.ai-chat-fab-text{position:relative;z-index:1}

.ai-chat-panel{
  position:fixed;
  right:20px;bottom:20px;
  width:min(400px, calc(100vw - 32px));
  height:min(560px, calc(100vh - 100px));
  display:flex;
  flex-direction:column;
  overflow:hidden;
  opacity:0;
  visibility:hidden;
  transform:translateY(16px) scale(.96);
  transition:opacity .28s ease, transform .28s ease, visibility .28s;
  z-index:220;
  padding:0;
}
.ai-chat-panel:before{
  content:"";
  position:absolute;inset:-1px;
  border-radius:var(--r);
  padding:1px;
  background:linear-gradient(135deg, rgba(57,255,136,.35), rgba(34,211,238,.22), rgba(167,139,250,.22));
  -webkit-mask:linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
  -webkit-mask-composite:xor;
          mask-composite:exclude;
  opacity:.55;
  pointer-events:none;
}
.ai-chat.is-open .ai-chat-panel{
  opacity:1;
  visibility:visible;
  transform:translateY(0) scale(1);
}

.ai-chat-header{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:12px;
  padding:16px 16px 12px;
  border-bottom:1px solid rgba(255,255,255,.10);
  flex-shrink:0;
}
.ai-chat-title{font-weight:800;font-size:17px;letter-spacing:-.02em}
.ai-chat-subtitle{color:var(--muted2);font-size:13px;margin-top:2px}
.ai-chat-close{
  width:36px;height:36px;
  border-radius:12px;
  border:1px solid rgba(255,255,255,.14);
  background:rgba(255,255,255,.05);
  color:var(--text);
  font-size:22px;line-height:1;
  cursor:pointer;
  transition:background .18s ease, border-color .18s ease;
  flex-shrink:0;
}
.ai-chat-close:hover{background:rgba(255,255,255,.10);border-color:rgba(255,255,255,.22)}

.ai-chat-messages{
  flex:1;
  overflow-y:auto;
  padding:14px 14px 8px;
  display:flex;
  flex-direction:column;
  gap:10px;
  scroll-behavior:smooth;
}
.ai-chat-messages::-webkit-scrollbar{width:6px}
.ai-chat-messages::-webkit-scrollbar-thumb{background:rgba(255,255,255,.12);border-radius:99px}

.ai-chat-msg{display:flex;animation:aiChatIn .35s ease}
.ai-chat-msg--user{justify-content:flex-end}
.ai-chat-msg--bot{justify-content:flex-start}
@keyframes aiChatIn{
  from{opacity:0;transform:translateY(8px)}
  to{opacity:1;transform:translateY(0)}
}

.ai-chat-bubble{
  max-width:88%;
  padding:11px 14px;
  border-radius:16px;
  font-size:14px;
  line-height:1.5;
  border:1px solid rgba(255,255,255,.10);
}
.ai-chat-msg--user .ai-chat-bubble{
  background:linear-gradient(135deg, rgba(57,255,136,.18), rgba(34,211,238,.12));
  border-color:rgba(57,255,136,.22);
  border-bottom-right-radius:6px;
}
.ai-chat-msg--bot .ai-chat-bubble{
  background:rgba(255,255,255,.06);
  border-bottom-left-radius:6px;
  color:var(--text);
}

.ai-chat-typing{display:inline-flex;gap:5px;align-items:center;padding:2px 0}
.ai-chat-typing span{
  width:7px;height:7px;border-radius:99px;
  background:linear-gradient(90deg, var(--neon), var(--cyan));
  animation:aiTyping 1.2s ease-in-out infinite;
}
.ai-chat-typing span:nth-child(2){animation-delay:.15s}
.ai-chat-typing span:nth-child(3){animation-delay:.3s}
@keyframes aiTyping{
  0%,80%,100%{opacity:.35;transform:translateY(0)}
  40%{opacity:1;transform:translateY(-4px)}
}

.ai-chat-quick{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  padding:8px 14px 10px;
  border-top:1px solid rgba(255,255,255,.06);
  flex-shrink:0;
}
.ai-chat-chip{
  padding:8px 12px;
  border-radius:999px;
  border:1px solid rgba(255,255,255,.12);
  background:rgba(255,255,255,.04);
  color:var(--muted);
  font-size:12px;
  cursor:pointer;
  transition:background .18s ease, color .18s ease, border-color .18s ease, transform .18s ease;
}
.ai-chat-chip:hover:not(:disabled){
  color:var(--text);
  background:rgba(255,255,255,.08);
  border-color:rgba(34,211,238,.25);
  transform:translateY(-1px);
}
.ai-chat-chip:disabled{opacity:.5;cursor:not-allowed}

.ai-chat-form{
  display:flex;
  align-items:flex-end;
  gap:10px;
  padding:12px 14px 14px;
  border-top:1px solid rgba(255,255,255,.10);
  flex-shrink:0;
}
.ai-chat-input{
  flex:1;
  min-height:44px;
  max-height:120px;
  resize:none;
  margin:0;
}
.ai-chat-send{
  width:44px;height:44px;
  min-width:44px;
  padding:0;
  border-radius:14px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
}
.ai-chat-send:disabled{opacity:.5;cursor:not-allowed;transform:none}

body.ai-chat-open{overflow:hidden}

@media (max-width: 640px){
  .ai-chat-panel{
    left:12px;right:12px;bottom:12px;top:auto;
    width:auto;
    height:min(78vh, calc(100dvh - 24px));
    max-height:calc(100dvh - 24px);
  }
  .ai-chat-fab{right:14px;bottom:14px}
  .ai-chat-quick{padding:8px 12px}
  .ai-chat-chip{font-size:11px;padding:7px 10px}
}
