
/* GMB Web Engine — Design System v0.3.0 */

:root{
  --gmb-bg:#ffffff;
  --gmb-soft:#f4f6fb;
  --gmb-ink:#111827;
  --gmb-muted:#667085;
  --gmb-primary:#5b5cf0;
  --gmb-primary-dark:#4445c7;
  --gmb-line:rgba(17,24,39,.12);
  --gmb-radius:24px;
  --gmb-shadow:0 24px 70px -32px rgba(17,24,39,.35);
  --gmb-wrap:min(1180px,calc(100% - 40px));
}

body{
  overflow-x:hidden;
}

.gmb-sec{
  padding:clamp(72px,8vw,120px) 0 !important;
}

.gmb-wrap{
  width:var(--gmb-wrap) !important;
  max-width:1180px !important;
  margin-inline:auto !important;
}

.gmb-stack{
  gap:22px !important;
}

.gmb-h1 .elementor-heading-title{
  color:var(--gmb-ink);
  font-size:clamp(48px,6.6vw,88px);
  line-height:.96;
  letter-spacing:-.055em;
  font-weight:500;
  max-width:10ch;
}

.gmb-h2 .elementor-heading-title{
  color:var(--gmb-ink);
  font-size:clamp(34px,4.2vw,58px);
  line-height:1;
  letter-spacing:-.04em;
  font-weight:500;
}

.gmb-lead,
.gmb-lead p{
  color:var(--gmb-muted);
  font-size:clamp(17px,1.4vw,20px);
  line-height:1.6;
  max-width:58ch;
}

.gmb-btn .elementor-button{
  background:var(--gmb-primary);
  color:#fff;
  border-radius:999px;
  padding:16px 24px;
  font-size:15px;
  font-weight:600;
  border:none;
  box-shadow:none;
  transition:transform .25s ease,background .25s ease;
}

.gmb-btn .elementor-button:hover{
  background:var(--gmb-primary-dark);
  transform:translateY(-2px);
}

.gmb-hero{
  padding-top:clamp(36px,5vw,70px) !important;
}

.gmb-hero-grid{
  min-height:620px;
  align-items:center !important;
  gap:clamp(28px,5vw,72px) !important;
  padding:clamp(30px,5vw,72px) !important;
  border-radius:32px;
  background:
    radial-gradient(circle at 78% 20%,rgba(91,92,240,.22),transparent 30%),
    linear-gradient(135deg,#f8f8ff,#eef1ff 60%,#f7f8fb);
  box-shadow:var(--gmb-shadow);
}

.gmb-hero-grid > *{
  width:50% !important;
}

.gmb-visual-card{
  min-height:360px;
  justify-content:flex-end !important;
  gap:8px !important;
  padding:30px !important;
  border-radius:28px;
  background:linear-gradient(160deg,#191b33,#292d59 72%,#5b5cf0);
  box-shadow:0 28px 70px -26px rgba(35,38,80,.55);
}

.gmb-visual-card .gmb-card-title .elementor-heading-title,
.gmb-visual-card .gmb-card-text,
.gmb-visual-card .gmb-card-text p{
  color:#fff;
}

.gmb-cards{
  gap:18px !important;
  margin-top:36px !important;
}

.gmb-cards > .gmb-card{
  width:33.333% !important;
}

.gmb-card{
  gap:10px !important;
  padding:28px !important;
  border:1px solid var(--gmb-line);
  border-radius:var(--gmb-radius);
  background:#fff;
  box-shadow:0 16px 46px -34px rgba(17,24,39,.45);
  transition:transform .3s ease,box-shadow .3s ease;
}

.gmb-card:hover{
  transform:translateY(-5px);
  box-shadow:0 26px 60px -32px rgba(17,24,39,.45);
}

.gmb-card-title .elementor-heading-title{
  color:var(--gmb-ink);
  font-size:26px;
  line-height:1.1;
  letter-spacing:-.03em;
  font-weight:500;
}

.gmb-card-text,
.gmb-card-text p,
.gmb-copy,
.gmb-copy p,
.gmb-copy li{
  color:var(--gmb-muted);
  line-height:1.65;
}

.gmb-soft{
  background:var(--gmb-soft);
}

.gmb-faq .elementor-accordion-item{
  border:0 !important;
  border-bottom:1px solid var(--gmb-line) !important;
}

.gmb-faq .elementor-tab-title{
  padding:20px 0 !important;
  font-size:18px;
  font-weight:600;
}

.gmb-faq .elementor-tab-content{
  padding:0 0 24px !important;
  color:var(--gmb-muted);
  border:0 !important;
}

.gmb-cta{
  padding-top:40px !important;
}

.gmb-cta-inner{
  gap:20px !important;
  padding:clamp(34px,5vw,64px) !important;
  border-radius:32px;
  background:linear-gradient(135deg,#17182d,#292c55 68%,#5b5cf0);
}

.gmb-h2-light .elementor-heading-title{
  color:#fff;
  max-width:16ch;
}

.gmb-lead-light,
.gmb-lead-light p{
  color:rgba(255,255,255,.74);
}

@media (max-width:900px){
  .gmb-hero-grid{
    flex-direction:column !important;
    min-height:0;
  }

  .gmb-hero-grid > *{
    width:100% !important;
  }

  .gmb-cards{
    flex-direction:column !important;
  }

  .gmb-cards > .gmb-card{
    width:100% !important;
  }
}

@media (max-width:767px){
  :root{
    --gmb-wrap:min(100% - 28px,1180px);
  }

  .gmb-sec{
    padding:58px 0 !important;
  }

  .gmb-hero{
    padding-top:14px !important;
  }

  .gmb-hero-grid{
    padding:24px !important;
    border-radius:22px;
  }

  .gmb-h1 .elementor-heading-title{
    font-size:46px;
  }

  .gmb-visual-card{
    min-height:260px;
  }
}
