
:root{
  --tb-bg:#071120;
  --tb-bg2:#0b1731;
  --tb-card:rgba(255,255,255,.08);
  --tb-stroke:rgba(255,255,255,.14);
  --tb-text:#eef4ff;
  --tb-muted:#b4c2e1;
  --tb-accent:#5ea2ff;
  --tb-accent2:#7b61ff;
  --tb-glow:0 18px 60px rgba(2,12,32,.34);
}
body{overflow-x:hidden}
body.site-home{
  background:
    radial-gradient(circle at 10% 0%, rgba(94,162,255,.16), transparent 22%),
    radial-gradient(circle at 90% 10%, rgba(123,97,255,.16), transparent 22%),
    linear-gradient(180deg,#071120,#0b1731 60%, #071120 100%);
  color:var(--tb-text);
  font-family:Inter, Manrope, Arial, sans-serif;
}
.site-topbar{
  position:sticky;top:0;z-index:90;
  background:rgba(7,17,32,.72);
  backdrop-filter: blur(16px);
  border-bottom:1px solid var(--tb-stroke);
}
.site-nav{
  width:min(1440px,94vw);margin:0 auto;
  display:flex;align-items:center;justify-content:space-between;gap:18px;
  padding:16px 0;
}
.site-brand{
  color:#fff;font-weight:800;letter-spacing:.18em;text-decoration:none;
}
.site-links{display:flex;gap:18px;align-items:center;flex-wrap:wrap}
.site-links a{color:var(--tb-muted);font-size:.95rem;text-decoration:none}
.site-links a:hover,.site-links a.active{color:#fff}
body.site-home .hero{
  min-height:78vh;
  display:flex;
  align-items:center;
  position:relative;
  background:
    radial-gradient(circle at 15% 20%, rgba(94,162,255,.18), transparent 20%),
    radial-gradient(circle at 85% 20%, rgba(123,97,255,.18), transparent 20%),
    linear-gradient(135deg, #071120 0%, #0b1731 55%, #14244a 100%);
}
body.site-home .hero::before{
  content:"";
  position:absolute; inset:0;
  background:linear-gradient(90deg, rgba(255,255,255,.03), transparent 40%, rgba(255,255,255,.02));
  pointer-events:none;
}
body.site-home .hero .container, body.site-home .hero .wrap{position:relative;z-index:1}
body.site-home h1, body.site-home h2, body.site-home h3, body.site-home h4{color:#fff}
body.site-home p, body.site-home li, body.site-home span, body.site-home small, body.site-home label{color:var(--tb-muted)}
body.site-home .service-card,
body.site-home .stat{
  background:rgba(255,255,255,.06);
  border:1px solid var(--tb-stroke);
  backdrop-filter:blur(14px);
  box-shadow:var(--tb-glow);
}
body.site-home .service-card{border-radius:24px}
.btn,.btn-primary,.btn-secondary,.site-btn{
  border-radius:16px;
  font-weight:800;
}
.site-topbar .btn-primary, body.site-home .btn-primary,.site-btn-primary,.tb-form .btn-primary,.tb-float-cta{
  background:linear-gradient(135deg,var(--tb-accent),var(--tb-accent2)) !important;
  color:#fff !important;
  border:none !important;
  box-shadow:0 16px 36px rgba(94,162,255,.22);
}
.site-topbar .btn-secondary, body.site-home .btn-secondary,.site-btn-secondary{
  background:rgba(255,255,255,.05);
  color:#fff;
  border:1px solid var(--tb-stroke);
}
section{scroll-margin-top:90px}
.tb-lead-block{
  width:min(1440px,94vw);margin:48px auto 80px;
  padding:28px;border-radius:28px;
  background:linear-gradient(180deg, rgba(7,17,32,.94), rgba(11,23,49,.92));
  border:1px solid var(--tb-stroke);
  box-shadow:var(--tb-glow);
  color:var(--tb-text);
}
.tb-lead-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:22px;align-items:stretch}
.tb-lead-copy h2{font-size:clamp(28px,4vw,46px);line-height:1.06;margin:0 0 10px;color:#fff}
.tb-lead-copy p{font-size:17px;line-height:1.7;margin:0;color:var(--tb-muted)}
.tb-form{
  display:grid;grid-template-columns:1fr 1fr;gap:12px;
  align-content:start;
}
.tb-form textarea{min-height:110px;grid-column:1/-1}
.tb-form .full{grid-column:1/-1}
.tb-badges{display:flex;gap:10px;flex-wrap:wrap;margin-top:18px}
.tb-badge{
  padding:10px 14px;border:1px solid var(--tb-stroke);border-radius:999px;
  background:rgba(255,255,255,.04);font-size:13px;color:#dce8ff
}
input,select,textarea{
  width:100%;
  padding:14px 16px;
  border-radius:14px;
  border:1px solid var(--tb-stroke);
  background:rgba(255,255,255,.05);
  color:#fff;
  outline:none;
}
input::placeholder,textarea::placeholder{color:#9eb0d7}
.tb-footer{
  width:min(1440px,94vw);margin:0 auto 28px;
  padding:20px 0 36px;color:#90a6d0;font-size:14px
}
.tb-float-cta{
  position:fixed;right:18px;bottom:18px;z-index:99;
  padding:14px 18px;border-radius:18px;
  text-decoration:none;
}
@media (max-width: 980px){
  .tb-lead-grid{grid-template-columns:1fr}
  .tb-form{grid-template-columns:1fr}
  .site-links{display:none}
  body.site-home .hero{min-height:68vh}
}
