@import url('https://fonts.googleapis.com/css2?family=DM+Sans:ital,opsz,wght@0,9..40,300;0,9..40,400;0,9..40,500;0,9..40,600;0,9..40,700;0,9..40,800;1,9..40,400;1,9..40,600&display=swap');

*,*::before,*::after{box-sizing:border-box;margin:0;padding:0;}

:root{
  --dark:#111827;
  --dark-card:#1F2937;
  --dark-border:rgba(255,255,255,.09);

  --blue:#2563EB;
  --blue-hover:#1D4ED8;
  --blue-light:#EFF6FF;
  --blue-pale:rgba(37,99,235,.1);

  --white:#FFFFFF;
  --off-white:#F9FAFB;
  --gray-light:#F3F4F6;
  --border:#E5E7EB;

  --text:#111827;
  --text-body:#4B5563;
  --text-muted:#9CA3AF;
  --text-inv:#F9FAFB;
  --text-inv-mid:rgba(249,250,251,.72);
  --text-inv-muted:rgba(249,250,251,.45);

  --shadow-sm:0 1px 3px rgba(0,0,0,.07),0 1px 2px rgba(0,0,0,.04);
  --shadow-md:0 4px 16px rgba(0,0,0,.08),0 2px 6px rgba(0,0,0,.04);
  --shadow-lg:0 16px 48px rgba(0,0,0,.13),0 6px 16px rgba(0,0,0,.06);
  --shadow-blue:0 8px 28px rgba(37,99,235,.28);

  --radius:6px;
  --max-w:1160px;
  --font:'DM Sans',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;
}

body{
  font-family:var(--font);
  color:var(--text-body);
  background:var(--white);
  font-size:16px;line-height:1.65;
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
}

h1,h2,h3,h4,h5{
  font-family:var(--font);
  color:var(--text);
  line-height:1.2;
  letter-spacing:-.025em;
  font-weight:700;
}

a{color:var(--blue);text-decoration:none;}
a:hover{color:var(--blue-hover);}
img{max-width:100%;display:block;}

/* ════════════════════
   SINGLE UNIFIED HEADER
════════════════════ */
.site-header{
  background:var(--white);
  border-bottom:1px solid var(--border);
  position:sticky;top:0;z-index:200;
  box-shadow:var(--shadow-sm);
}
.header-inner{
  max-width:var(--max-w);margin:0 auto;padding:0 32px;
  display:flex;align-items:center;height:68px;gap:40px;
}
.site-logo{
  display:flex;align-items:center;gap:10px;
  text-decoration:none;flex-shrink:0;
}
.logo-mark{
  width:36px;height:36px;border-radius:8px;
  background:var(--blue);
  display:flex;align-items:center;justify-content:center;
}
.logo-mark svg{width:20px;height:20px;color:var(--white);}
.logo-text{
  font-size:1.1rem;font-weight:800;color:var(--text);
  letter-spacing:-.03em;
}
.logo-text span{color:var(--blue);}

.site-nav{
  display:flex;align-items:center;gap:4px;
  flex:1;
}
.nav-link{
  font-size:.875rem;font-weight:500;color:var(--text-body);
  padding:8px 14px;border-radius:var(--radius);
  text-decoration:none;transition:background .15s,color .15s;
  white-space:nowrap;
}
.nav-link:hover,.nav-link.active{
  background:var(--off-white);color:var(--text);
}
.nav-dropdown{position:relative;display:inline-block;}
.nav-dropdown>a{
  display:inline-flex;align-items:center;gap:5px;
  font-size:.875rem;font-weight:500;color:var(--text-body);
  padding:8px 14px;border-radius:var(--radius);
  text-decoration:none;cursor:pointer;transition:background .15s,color .15s;
}
.nav-dropdown>a:hover{background:var(--off-white);color:var(--text);}
.nav-dropdown-menu{
  display:none;position:absolute;top:calc(100% + 8px);left:0;
  background:var(--white);
  border:1px solid var(--border);
  border-radius:10px;
  min-width:240px;
  box-shadow:var(--shadow-lg);
  z-index:100;padding:6px;
}
.nav-dropdown:hover .nav-dropdown-menu{display:block;}
.nav-dropdown-menu a{
  display:flex;align-items:center;gap:10px;
  padding:10px 12px;border-radius:6px;
  font-size:.875rem;font-weight:500;color:var(--text-body);
  transition:background .12s,color .12s;
}
.nav-dropdown-menu a:hover{background:var(--off-white);color:var(--blue);}
.dd-icon{
  width:28px;height:28px;border-radius:6px;
  background:var(--blue-pale);
  display:flex;align-items:center;justify-content:center;flex-shrink:0;
}
.dd-icon svg{width:14px;height:14px;color:var(--blue);}
.nav-spacer{flex:1;}
.btn-nav-cta{
  display:inline-flex;align-items:center;gap:8px;
  background:var(--blue);color:var(--white);
  padding:9px 20px;border-radius:var(--radius);
  font-size:.875rem;font-weight:600;
  transition:background .15s,box-shadow .15s;
  white-space:nowrap;flex-shrink:0;
}
.btn-nav-cta:hover{background:var(--blue-hover);color:var(--white);box-shadow:var(--shadow-blue);}

/* chevron */
.chevron{
  width:12px;height:12px;
  border-right:1.5px solid currentColor;
  border-bottom:1.5px solid currentColor;
  transform:rotate(45deg) translateY(-2px);
  transition:transform .2s;
  display:inline-block;
}
.nav-dropdown:hover .chevron{transform:rotate(225deg) translateY(-2px);}

/* ════════════════════
   HERO
════════════════════ */
.hero{
  background:var(--dark);
  padding:96px 32px 104px;
  position:relative;overflow:hidden;
}
.hero::before{
  content:'';position:absolute;
  top:-200px;right:-100px;
  width:600px;height:600px;border-radius:50%;
  background:radial-gradient(circle,rgba(37,99,235,.18) 0%,transparent 65%);
  pointer-events:none;
}
.hero::after{
  content:'';position:absolute;
  bottom:-100px;left:-80px;
  width:400px;height:400px;border-radius:50%;
  background:radial-gradient(circle,rgba(37,99,235,.08) 0%,transparent 65%);
  pointer-events:none;
}
.hero-inner{
  max-width:var(--max-w);margin:0 auto;
  display:grid;grid-template-columns:1fr 420px;gap:80px;align-items:center;
  position:relative;z-index:1;
}
.hero-eyebrow{
  display:inline-flex;align-items:center;gap:8px;
  font-size:.75rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;
  color:rgba(99,143,255,1);
  background:rgba(37,99,235,.15);
  border:1px solid rgba(37,99,235,.25);
  padding:6px 14px;border-radius:20px;margin-bottom:28px;
}
.live-dot{
  width:7px;height:7px;border-radius:50%;
  background:#4ade80;
  box-shadow:0 0 0 0 rgba(74,222,128,.5);
  animation:live-pulse 2s infinite;flex-shrink:0;
}
@keyframes live-pulse{
  0%{box-shadow:0 0 0 0 rgba(74,222,128,.5);}
  70%{box-shadow:0 0 0 7px rgba(74,222,128,0);}
  100%{box-shadow:0 0 0 0 rgba(74,222,128,0);}
}
.hero h1{
  font-size:3.4rem;font-weight:800;
  color:var(--white);
  line-height:1.1;letter-spacing:-.04em;
  margin-bottom:24px;
  text-wrap:balance;
}
.hero h1 .accent{color:#60A5FA;}
.hero-body{
  font-size:1.05rem;color:var(--text-inv-mid);
  line-height:1.72;margin-bottom:40px;max-width:520px;
}
.hero-actions{display:flex;gap:14px;flex-wrap:wrap;align-items:center;}
.btn-primary{
  display:inline-flex;align-items:center;gap:8px;
  background:var(--blue);color:var(--white);
  padding:14px 28px;border-radius:var(--radius);
  font-size:.9rem;font-weight:700;
  box-shadow:var(--shadow-blue);
  transition:all .18s ease;
}
.btn-primary:hover{background:var(--blue-hover);color:var(--white);transform:translateY(-2px);box-shadow:0 12px 36px rgba(37,99,235,.38);}
.btn-ghost{
  display:inline-flex;align-items:center;gap:8px;
  background:transparent;color:rgba(249,250,251,.75);
  padding:14px 28px;border-radius:var(--radius);
  font-size:.9rem;font-weight:600;
  border:1.5px solid rgba(255,255,255,.22);
  transition:all .18s ease;
}
.btn-ghost:hover{border-color:rgba(255,255,255,.55);color:var(--white);}
.hero-note{
  font-size:.78rem;color:var(--text-inv-muted);
  display:flex;align-items:center;gap:6px;
}
.hero-note::before{content:'✓';color:#4ade80;}

/* ── Status card (hero visual) ── */
.hero-visual{
  display:flex;align-items:center;justify-content:center;
}
.status-card{
  background:var(--dark-card);
  border:1px solid rgba(255,255,255,.1);
  border-radius:14px;
  padding:28px;
  width:340px;
  box-shadow:0 20px 60px rgba(0,0,0,.4),0 4px 16px rgba(0,0,0,.2);
}
.sc-header{
  display:flex;align-items:center;gap:10px;
  margin-bottom:22px;
  padding-bottom:16px;
  border-bottom:1px solid rgba(255,255,255,.07);
}
.sc-header-dot{
  width:9px;height:9px;border-radius:50%;
  background:#4ade80;box-shadow:0 0 8px rgba(74,222,128,.6);
  flex-shrink:0;
}
.sc-title{font-size:.8rem;font-weight:600;color:var(--text-inv-mid);}
.sc-title span{font-weight:700;color:var(--text-inv);}
.sc-rows{display:flex;flex-direction:column;gap:10px;margin-bottom:20px;}
.sc-row{
  display:flex;align-items:center;justify-content:space-between;
  padding:10px 12px;
  background:rgba(255,255,255,.04);border-radius:8px;
}
.sc-label{
  font-size:.78rem;font-weight:500;color:var(--text-inv-mid);
  display:flex;align-items:center;gap:8px;
}
.sc-icon{width:7px;height:7px;border-radius:50%;background:#4ade80;flex-shrink:0;}
.sc-icon.warn{background:#FBBF24;}
.sc-val{font-size:.75rem;font-weight:700;color:#4ade80;}
.sc-val.warn{color:#FBBF24;}
.sc-uptime{
  background:rgba(37,99,235,.12);
  border:1px solid rgba(37,99,235,.2);
  border-radius:8px;padding:12px 14px;
  margin-bottom:16px;
}
.sc-uptime-label{font-size:.7rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:rgba(99,143,255,.8);margin-bottom:6px;}
.sc-uptime-row{display:flex;align-items:center;justify-content:space-between;}
.sc-uptime-num{font-size:1.2rem;font-weight:800;color:var(--white);letter-spacing:-.03em;font-variant-numeric:tabular-nums;}
.sc-uptime-sub{font-size:.7rem;color:var(--text-inv-muted);}
.sc-bar{height:4px;background:rgba(255,255,255,.1);border-radius:2px;overflow:hidden;}
.sc-bar-fill{height:100%;width:99.97%;background:linear-gradient(90deg,#3B82F6,#60A5FA);border-radius:2px;}
.sc-bottom{
  display:flex;align-items:center;justify-content:space-between;
  padding-top:14px;border-top:1px solid rgba(255,255,255,.07);
  font-size:.7rem;color:var(--text-inv-muted);
}
.sc-badge{
  display:inline-flex;align-items:center;gap:5px;
  background:rgba(74,222,128,.12);
  border:1px solid rgba(74,222,128,.2);
  color:#4ade80;font-size:.68rem;font-weight:700;
  padding:3px 9px;border-radius:20px;
}

/* ════════════════════
   TRUST STRIP
════════════════════ */
.trust-strip{
  background:var(--off-white);
  border-bottom:1px solid var(--border);
  padding:20px 32px;
}
.trust-strip-inner{
  max-width:var(--max-w);margin:0 auto;
  display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:16px;
}
.trust-item-small{
  display:flex;align-items:center;gap:9px;
  font-size:.8rem;font-weight:600;color:var(--text-body);
}
.trust-item-small svg{width:16px;height:16px;color:var(--blue);flex-shrink:0;}
.trust-divider{width:1px;height:24px;background:var(--border);}

/* ════════════════════
   SECTION COMMON
════════════════════ */
.section-kicker{
  display:inline-block;
  font-size:.72rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;
  color:var(--blue);margin-bottom:14px;
}
.section-heading{
  font-size:2.1rem;font-weight:800;color:var(--text);
  letter-spacing:-.035em;margin-bottom:16px;text-wrap:balance;
}
.section-subhead{
  font-size:1rem;color:var(--text-muted);line-height:1.7;
  max-width:540px;
}
.section-label{text-align:center;margin-bottom:56px;}
.section-label .section-subhead{margin:0 auto;}

/* ════════════════════
   SERVICES
════════════════════ */
.services-section{
  background:var(--white);
  padding:96px 32px;
}
.services-inner{max-width:var(--max-w);margin:0 auto;}

/* AI Accelerate featured card */
.ai-card{
  background:var(--dark);
  border-radius:12px;
  display:grid;grid-template-columns:1fr 340px;
  overflow:hidden;
  margin-bottom:28px;
  box-shadow:var(--shadow-lg);
}
.ai-card-text{
  padding:56px 60px;display:flex;flex-direction:column;justify-content:center;
}
.ai-badge{
  display:inline-flex;align-items:center;gap:8px;
  font-size:.68rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;
  color:#60A5FA;
  background:rgba(37,99,235,.15);
  border:1px solid rgba(37,99,235,.25);
  padding:5px 13px;border-radius:4px;margin-bottom:22px;width:fit-content;
}
.ai-card-text h3{
  font-size:2rem;font-weight:800;
  color:var(--white);line-height:1.15;letter-spacing:-.04em;
  margin-bottom:16px;
}
.ai-card-text p{
  font-size:.9rem;color:var(--text-inv-mid);line-height:1.72;margin-bottom:28px;
}
.ai-features{list-style:none;margin-bottom:32px;}
.ai-features li{
  display:flex;align-items:flex-start;gap:10px;
  font-size:.875rem;color:var(--text-inv-mid);margin-bottom:9px;line-height:1.5;
}
.ai-features li::before{
  content:'';width:5px;height:5px;border-radius:50%;
  background:#60A5FA;flex-shrink:0;margin-top:6px;
}
.ai-card-visual{
  background:rgba(37,99,235,.08);
  display:flex;align-items:center;justify-content:center;
  padding:40px;position:relative;overflow:hidden;
}
.ai-card-visual::before{
  content:'';position:absolute;inset:0;
  background:radial-gradient(ellipse at center,rgba(37,99,235,.12) 0%,transparent 70%);
}

/* Infrastructure cards */
.infra-grid{
  display:grid;grid-template-columns:1fr 1fr;gap:24px;
}
.infra-card{
  background:var(--white);
  border:1px solid var(--border);
  border-radius:12px;padding:36px 36px 36px;
  transition:border-color .2s,box-shadow .2s,transform .2s;
  display:flex;flex-direction:column;
}
.infra-card:hover{
  border-color:rgba(37,99,235,.3);
  box-shadow:0 6px 24px rgba(37,99,235,.08);
  transform:translateY(-3px);
}
.service-icon{
  width:48px;height:48px;border-radius:10px;
  background:var(--blue-pale);
  display:flex;align-items:center;justify-content:center;
  margin-bottom:20px;flex-shrink:0;
}
.service-icon svg{width:24px;height:24px;color:var(--blue);}
.service-tag{
  display:inline-block;
  font-size:.62rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;
  color:var(--blue);border:1px solid rgba(37,99,235,.25);
  padding:3px 9px;border-radius:3px;margin-bottom:12px;
}
.infra-card h3{
  font-size:1.25rem;font-weight:700;color:var(--text);
  margin-bottom:10px;letter-spacing:-.025em;
}
.infra-card>p{
  font-size:.875rem;color:var(--text-body);line-height:1.68;margin-bottom:20px;
  flex:1;
}
.service-features{list-style:none;margin-bottom:24px;}
.service-features li{
  display:flex;align-items:flex-start;gap:9px;
  font-size:.82rem;color:var(--text-body);margin-bottom:7px;line-height:1.5;
}
.service-features li::before{
  content:'';width:5px;height:5px;border-radius:50%;
  background:var(--blue);flex-shrink:0;margin-top:5px;opacity:.6;
}
.card-link{
  font-size:.8rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;
  color:var(--blue);display:inline-flex;align-items:center;gap:6px;
  transition:gap .15s;margin-top:auto;
}
.card-link::after{content:'→';}
.card-link:hover{gap:10px;color:var(--blue-hover);}

/* ════════════════════
   STATS
════════════════════ */
.stats-section{
  background:var(--blue);
  padding:64px 32px;
}
.stats-grid{
  max-width:var(--max-w);margin:0 auto;
  display:grid;grid-template-columns:repeat(4,1fr);
}
.stat{text-align:center;padding:0 24px;}
.stat+.stat{border-left:1px solid rgba(255,255,255,.22);}
.stat-num{
  font-size:3rem;font-weight:800;color:var(--white);
  letter-spacing:-.04em;line-height:1;margin-bottom:8px;
  font-variant-numeric:tabular-nums;
}
.stat-label{
  font-size:.78rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;
  color:rgba(255,255,255,.72);
}
.stat-sub{font-size:.72rem;color:rgba(255,255,255,.5);margin-top:4px;}

/* ════════════════════
   INDUSTRIES
════════════════════ */
.industries-section{background:var(--off-white);padding:96px 32px;}
.industries-grid{
  max-width:var(--max-w);margin:0 auto;
  display:grid;grid-template-columns:repeat(5,1fr);gap:14px;
}
.industry-tile{
  background:var(--white);border:1px solid var(--border);
  border-radius:10px;padding:28px 16px 24px;
  text-align:center;transition:all .2s;
}
.industry-tile:hover{
  border-color:rgba(37,99,235,.3);
  box-shadow:0 4px 16px rgba(37,99,235,.08);
  transform:translateY(-3px);
}
.industry-icon{
  width:44px;height:44px;border-radius:10px;
  background:var(--blue-pale);margin:0 auto 14px;
  display:flex;align-items:center;justify-content:center;
}
.industry-icon svg{width:22px;height:22px;color:var(--blue);}
.industry-tile span{
  display:block;font-size:.82rem;font-weight:600;
  color:var(--text);letter-spacing:-.01em;line-height:1.35;
}

/* ════════════════════
   WHY US
════════════════════ */
.why-section{background:var(--white);padding:96px 32px;}
.why-grid{
  max-width:var(--max-w);margin:0 auto;
  display:grid;grid-template-columns:repeat(2,1fr);gap:24px;
}
.why-item{
  background:var(--off-white);border:1px solid var(--border);
  border-radius:10px;padding:36px 40px;
  display:flex;gap:20px;align-items:flex-start;
  transition:border-color .2s;
}
.why-item:hover{border-color:rgba(37,99,235,.25);}
.why-icon{
  width:48px;height:48px;border-radius:10px;flex-shrink:0;
  background:var(--blue-pale);
  display:flex;align-items:center;justify-content:center;
}
.why-icon svg{width:22px;height:22px;color:var(--blue);}
.why-item h4{
  font-size:1rem;font-weight:700;color:var(--text);margin-bottom:8px;
}
.why-item p{font-size:.875rem;color:var(--text-body);line-height:1.65;}

/* ════════════════════
   CTA SECTION
════════════════════ */
.cta-section{
  background:var(--dark);
  padding:112px 32px;
  text-align:center;
  position:relative;overflow:hidden;
}
.cta-section::before{
  content:'';position:absolute;
  top:-200px;left:50%;transform:translateX(-50%);
  width:700px;height:700px;border-radius:50%;
  background:radial-gradient(circle,rgba(37,99,235,.15) 0%,transparent 65%);
  pointer-events:none;
}
.cta-inner{position:relative;z-index:1;max-width:640px;margin:0 auto;}
.cta-pill{
  display:inline-flex;align-items:center;gap:8px;
  font-size:.72rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;
  color:#60A5FA;background:rgba(37,99,235,.15);
  border:1px solid rgba(37,99,235,.3);
  padding:6px 14px;border-radius:20px;margin-bottom:28px;
}
.cta-section h2{
  font-size:2.8rem;font-weight:800;
  color:var(--white);line-height:1.1;letter-spacing:-.04em;
  margin-bottom:20px;text-wrap:balance;
}
.cta-section>div>p{
  font-size:1rem;color:var(--text-inv-mid);line-height:1.72;margin-bottom:40px;
}
.cta-actions{display:flex;gap:16px;justify-content:center;flex-wrap:wrap;margin-bottom:32px;}
.btn-cta{
  display:inline-flex;align-items:center;gap:10px;
  background:var(--blue);color:var(--white);
  padding:16px 36px;border-radius:var(--radius);
  font-size:.9rem;font-weight:700;
  box-shadow:var(--shadow-blue);transition:all .2s;
}
.btn-cta:hover{background:var(--blue-hover);transform:translateY(-2px);box-shadow:0 12px 40px rgba(37,99,235,.45);color:var(--white);}
.btn-cta-ghost{
  display:inline-flex;align-items:center;gap:8px;
  background:transparent;color:var(--text-inv-mid);
  border:1.5px solid rgba(255,255,255,.22);
  padding:14px 28px;border-radius:var(--radius);
  font-size:.9rem;font-weight:600;transition:all .2s;
}
.btn-cta-ghost:hover{border-color:rgba(255,255,255,.55);color:var(--white);}
.cta-perks{
  display:flex;justify-content:center;gap:32px;flex-wrap:wrap;
}
.cta-perks span{
  font-size:.78rem;color:var(--text-inv-muted);
  display:flex;align-items:center;gap:7px;
}
.cta-perks span::before{content:'✓';color:#4ade80;font-weight:700;}

/* ════════════════════
   PAGE HERO (inner pages)
════════════════════ */
.page-hero{
  background:var(--dark);
  padding:72px 32px 64px;
  position:relative;overflow:hidden;
}
.page-hero::before{
  content:'';position:absolute;inset:0;
  background:radial-gradient(ellipse at top right,rgba(37,99,235,.12) 0%,transparent 60%);
  pointer-events:none;
}
.page-hero-inner{max-width:var(--max-w);margin:0 auto;position:relative;z-index:1;}
.page-hero .eyebrow{
  font-size:.72rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;
  color:#60A5FA;margin-bottom:16px;display:block;
}
.page-hero h1{
  font-size:2.8rem;font-weight:800;
  color:var(--white);line-height:1.1;
  letter-spacing:-.04em;margin-bottom:16px;
}
.page-hero p{
  font-size:1rem;color:var(--text-inv-mid);
  line-height:1.7;max-width:600px;
}

/* ════════════════════
   CONTACT FORM
════════════════════ */
.contact-form-section{background:var(--off-white);padding:0;}
.contact-form-grid{
  max-width:var(--max-w);margin:0 auto;
  display:grid;grid-template-columns:1fr 360px;
  min-height:580px;
}
.form-panel{
  background:var(--white);
  padding:60px 56px 72px;
  border-right:1px solid var(--border);
}
.form-panel h2{
  font-size:1.7rem;font-weight:800;letter-spacing:-.03em;
  color:var(--text);margin-bottom:8px;
}
.form-panel-header>p{
  font-size:.875rem;color:var(--text-muted);line-height:1.65;margin-bottom:36px;
}
.contact-form{display:flex;flex-direction:column;gap:20px;}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:16px;}
.form-group{display:flex;flex-direction:column;gap:6px;}
.form-group label{
  font-size:.72rem;font-weight:700;letter-spacing:.07em;text-transform:uppercase;
  color:var(--text);
}
.form-group label .req{color:var(--blue);}
.form-group input,.form-group select,.form-group textarea{
  padding:11px 14px;border:1.5px solid var(--border);border-radius:var(--radius);
  font-size:.9rem;font-family:var(--font);color:var(--text);
  background:var(--white);transition:border-color .15s,box-shadow .15s;outline:none;
}
.form-group input:focus,.form-group select:focus,.form-group textarea:focus{
  border-color:var(--blue);box-shadow:0 0 0 3px rgba(37,99,235,.1);
}
.form-group input::placeholder,.form-group textarea::placeholder{color:var(--text-muted);}
.form-group select{appearance:none;cursor:pointer;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%239CA3AF' stroke-width='1.5' fill='none' stroke-linecap='round'/%3E%3C/svg%3E");
  background-repeat:no-repeat;background-position:right 14px center;
}
.form-group textarea{resize:vertical;min-height:130px;line-height:1.6;}
.btn-submit-form{
  background:var(--blue);color:var(--white);
  padding:15px 32px;border-radius:var(--radius);
  font-size:.9rem;font-weight:700;
  border:none;cursor:pointer;width:100%;
  display:flex;align-items:center;justify-content:center;gap:10px;
  box-shadow:var(--shadow-blue);transition:all .2s;
}
.btn-submit-form:hover{background:var(--blue-hover);transform:translateY(-2px);box-shadow:0 10px 32px rgba(37,99,235,.38);}
.btn-submit-form:disabled{opacity:.65;cursor:not-allowed;transform:none;}
.form-disclaimer{font-size:.74rem;color:var(--text-muted);line-height:1.6;text-align:center;margin-top:4px;}
.field-error{display:block;font-size:.75rem;color:#dc2626;margin-top:5px;font-weight:500;}
input.error,select.error,textarea.error{
  border-color:#dc2626 !important;box-shadow:0 0 0 3px rgba(220,38,38,.08) !important;
}
.submit-arrow{width:17px;height:17px;transition:transform .18s;}
.btn-submit-form:hover .submit-arrow{transform:translateX(3px);}

/* Success state */
.form-success{
  display:flex;flex-direction:column;align-items:center;
  text-align:center;padding:80px 40px;
}
.success-ring{
  width:80px;height:80px;border-radius:50%;
  background:var(--blue);
  display:flex;align-items:center;justify-content:center;
  margin:0 auto 28px;box-shadow:var(--shadow-blue);
}
.success-ring svg{width:38px;height:38px;}
.form-success h3{font-size:1.5rem;font-weight:800;color:var(--text);margin-bottom:12px;}
.form-success p{font-size:.875rem;color:var(--text-body);line-height:1.7;max-width:400px;margin:0 auto 20px;}

/* Contact sidebar */
.contact-sidebar-panel{
  background:var(--dark);padding:60px 36px;position:relative;overflow:hidden;
}
.contact-sidebar-panel::before{
  content:'';position:absolute;inset:0;
  background:radial-gradient(ellipse at top,rgba(37,99,235,.08) 0%,transparent 60%);
  pointer-events:none;
}
.contact-sidebar-panel>*{position:relative;z-index:1;}
.sidebar-section{margin-bottom:36px;}
.sidebar-section h4{
  font-size:.66rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;
  color:#60A5FA;margin-bottom:16px;
}
.sidebar-divider{border-top:1px solid rgba(255,255,255,.08);padding-top:28px;}
.expect-list{list-style:none;}
.expect-list li{
  display:flex;gap:12px;align-items:flex-start;
  margin-bottom:14px;font-size:.85rem;
  color:var(--text-inv-mid);line-height:1.6;
}
.expect-list li svg{width:15px;height:15px;color:#60A5FA;flex-shrink:0;margin-top:2px;}
.sidebar-contact-item{display:flex;gap:14px;align-items:flex-start;margin-bottom:20px;}
.sidebar-contact-item svg{width:18px;height:18px;color:#60A5FA;flex-shrink:0;margin-top:2px;}
.sidebar-contact-item strong{display:block;font-size:.64rem;font-weight:700;letter-spacing:.09em;text-transform:uppercase;color:rgba(255,255,255,.35);margin-bottom:4px;}
.sidebar-contact-item a,.sidebar-contact-item span{font-size:.875rem;color:var(--text-inv-mid);line-height:1.5;}
.sidebar-contact-item a:hover{color:#60A5FA;}
.sidebar-solutions{display:flex;flex-direction:column;gap:8px;}
.sidebar-solution-link{
  display:flex;align-items:center;gap:10px;padding:12px 14px;
  background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.07);
  border-radius:8px;text-decoration:none;color:var(--text-inv-mid);
  font-size:.82rem;transition:all .18s;
}
.sidebar-solution-link:hover{background:rgba(37,99,235,.1);border-color:rgba(37,99,235,.25);color:var(--text-inv);}
.sidebar-solution-link svg{width:13px;height:13px;margin-left:auto;flex-shrink:0;color:#60A5FA;}
.sidebar-badge{
  font-size:.62rem;font-weight:700;letter-spacing:.04em;
  background:var(--blue);color:var(--white);
  padding:2px 8px;border-radius:3px;white-space:nowrap;
}

/* ════════════════════
   SOLUTION PAGES
════════════════════ */
.solution-hero{background:var(--dark);padding:80px 32px 64px;position:relative;overflow:hidden;}
.solution-hero::before{content:'';position:absolute;inset:0;background:radial-gradient(ellipse at top right,rgba(37,99,235,.1) 0%,transparent 55%);}
.solution-hero-inner{
  max-width:var(--max-w);margin:0 auto;
  display:grid;grid-template-columns:1fr 360px;gap:72px;align-items:center;
  position:relative;z-index:1;
}
.solution-hero-text .eyebrow{font-size:.66rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:#60A5FA;display:block;margin-bottom:18px;}
.solution-hero-text h1{font-size:2.8rem;font-weight:800;color:var(--white);line-height:1.1;letter-spacing:-.04em;margin-bottom:20px;}
.solution-hero-text p{font-size:.95rem;color:var(--text-inv-mid);line-height:1.72;margin-bottom:32px;}
.solution-hero-visual{display:flex;align-items:center;justify-content:center;}

/* Solution visual: simple icon box */
.solution-visual-box{
  width:300px;height:260px;
  background:rgba(37,99,235,.08);
  border:1px solid rgba(37,99,235,.18);
  border-radius:16px;
  display:flex;align-items:center;justify-content:center;
  position:relative;overflow:hidden;
}
.solution-visual-box::before{
  content:'';position:absolute;inset:0;
  background:radial-gradient(ellipse at center,rgba(37,99,235,.12) 0%,transparent 70%);
}
.solution-visual-box svg{width:80px;height:80px;color:rgba(37,99,235,.5);position:relative;z-index:1;}

.solution-features{background:var(--off-white);padding:80px 32px;}
.solution-features-grid{
  max-width:var(--max-w);margin:0 auto;
  display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-top:52px;
}
.feature-card{
  background:var(--white);border:1px solid var(--border);
  border-radius:10px;padding:32px 28px;transition:border-color .2s,box-shadow .2s;
}
.feature-card:hover{border-color:rgba(37,99,235,.25);box-shadow:0 4px 20px rgba(37,99,235,.06);}
.feature-icon{
  width:42px;height:42px;border-radius:8px;
  background:var(--blue-pale);
  display:flex;align-items:center;justify-content:center;margin-bottom:18px;
}
.feature-icon svg{width:20px;height:20px;color:var(--blue);}
.feature-card h3{font-size:.95rem;font-weight:700;color:var(--text);margin-bottom:8px;}
.feature-card p{font-size:.85rem;color:var(--text-body);line-height:1.65;}

.solution-content{background:var(--white);padding:80px 32px;}
.solution-content-inner{max-width:var(--max-w);margin:0 auto;}
.solution-content-inner h2{font-size:1.8rem;font-weight:800;margin-bottom:18px;}
.solution-content-inner p{font-size:.925rem;color:var(--text-body);line-height:1.75;margin-bottom:18px;}
.solution-cta{background:var(--dark);padding:72px 32px;text-align:center;}
.solution-cta h2{font-size:2.2rem;font-weight:800;color:var(--white);margin-bottom:14px;letter-spacing:-.04em;}
.solution-cta p{font-size:.925rem;color:var(--text-inv-mid);margin-bottom:32px;}

/* ════════════════════
   TEAM PAGE
════════════════════ */
.team-section{background:var(--off-white);padding:96px 32px;}
.team-grid{
  max-width:var(--max-w);margin:0 auto;
  display:grid;grid-template-columns:repeat(3,1fr);gap:28px;margin-top:52px;
}
.team-card{
  background:var(--white);border:1px solid var(--border);
  border-radius:12px;overflow:hidden;
  box-shadow:var(--shadow-sm);transition:transform .2s,box-shadow .2s;
}
.team-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-md);}
.team-photo{
  height:180px;background:var(--dark-card);
  display:flex;align-items:center;justify-content:center;
}
.team-photo svg{width:64px;height:64px;color:rgba(255,255,255,.15);}
.team-info{padding:24px 28px 28px;}
.team-info h3{font-size:1rem;font-weight:700;color:var(--text);margin-bottom:4px;}
.team-info .title{font-size:.72rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--blue);margin-bottom:12px;display:block;}
.team-info p{font-size:.85rem;color:var(--text-body);line-height:1.65;}

/* ════════════════════
   FOOTER
════════════════════ */
.site-footer{background:var(--dark);padding:80px 32px 0;}
.footer-grid{
  max-width:var(--max-w);margin:0 auto;
  display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:56px;
  padding-bottom:56px;border-bottom:1px solid rgba(255,255,255,.08);
}
.footer-brand .site-logo{margin-bottom:18px;}
.footer-brand .logo-text{color:var(--text-inv);}
.footer-brand p{font-size:.85rem;color:var(--text-inv-muted);line-height:1.72;max-width:280px;}
.footer-col h5{
  font-size:.66rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;
  color:#60A5FA;margin-bottom:16px;
}
.footer-col ul{list-style:none;}
.footer-col li{margin-bottom:9px;}
.footer-col a{font-size:.875rem;color:var(--text-inv-muted);transition:color .15s;}
.footer-col a:hover{color:var(--white);}
.footer-col address{font-style:normal;font-size:.875rem;color:var(--text-inv-muted);line-height:1.8;}
.footer-col address a{color:var(--text-inv-muted);}
.footer-col address a:hover{color:var(--white);}
.footer-bottom{
  max-width:var(--max-w);margin:0 auto;
  padding:24px 0;
  display:flex;justify-content:space-between;align-items:center;
  font-size:.8rem;color:var(--text-inv-muted);
}
.footer-bottom a{color:var(--text-inv-muted);transition:color .15s;}
.footer-bottom a:hover{color:var(--white);}

/* ════════════════════
   UTILITY / FADE-IN
════════════════════ */
.fade-up{opacity:0;transform:translateY(20px);transition:opacity .45s ease,transform .45s ease;}
.fade-up.in-view{opacity:1;transform:translateY(0);}

/* ════════════════════
   RESPONSIVE
════════════════════ */
@media(max-width:1024px){
  .hero-inner{grid-template-columns:1fr;gap:56px;}
  .hero-visual{display:none;}
  .hero h1{font-size:2.8rem;}
  .ai-card{grid-template-columns:1fr;}
  .ai-card-visual{min-height:180px;}
  .infra-grid{grid-template-columns:1fr;}
  .industries-grid{grid-template-columns:repeat(3,1fr);}
  .why-grid{grid-template-columns:1fr;}
  .footer-grid{grid-template-columns:1fr 1fr;gap:40px;}
  .solution-hero-inner{grid-template-columns:1fr;}
  .solution-hero-visual{display:none;}
  .contact-form-grid{grid-template-columns:1fr;}
  .contact-sidebar-panel{padding:48px 32px;}
  .form-panel{padding:48px 32px 60px;}
  .stats-grid{grid-template-columns:repeat(2,1fr);gap:40px 0;}
  .stat+.stat{border-left:none;}
  .stat:nth-child(2n){border-left:1px solid rgba(255,255,255,.22);}
}
@media(max-width:768px){
  .header-inner{gap:20px;padding:0 20px;}
  .site-nav{display:none;}
  .hero{padding:72px 20px 80px;}
  .hero h1{font-size:2.2rem;}
  .hero-body{font-size:.95rem;}
  .trust-divider{display:none;}
  .trust-strip-inner{gap:12px;}
  .cta-section h2{font-size:2rem;}
  .page-hero{padding:56px 20px 48px;}
  .page-hero h1{font-size:2rem;}
  .solution-features-grid{grid-template-columns:1fr;}
  .team-grid{grid-template-columns:1fr 1fr;}
  .footer-grid{grid-template-columns:1fr;}
  .form-row{grid-template-columns:1fr;}
  .industries-grid{grid-template-columns:repeat(2,1fr);}
  .services-section{padding:64px 20px;}
  .ai-card-text{padding:36px 28px;}
  .infra-card{padding:28px 24px;}
}
@media(max-width:480px){
  .hero h1{font-size:1.9rem;}
  .team-grid{grid-template-columns:1fr;}
  .industries-grid{grid-template-columns:repeat(2,1fr);}
  .stats-grid{grid-template-columns:1fr;gap:32px;}
  .stat+.stat{border-left:none;}
  .stat:nth-child(2n){border-left:none;}
}
