
:root {
  --pbmit-global-color: #3368c6;
  --pbmit-secondary-color: #010d27;
  --pbmit-light-color: #f0f7fd;
  --pbmit-white-color: #ffffff;
  --pbmit-blackish-color: #031b4e;
  --pbmit-body-color: #6e778c;
  --pbmit-border-color: rgba(3, 27, 78, 0.10);
  --pbmit-shadow: 0 20px 50px rgba(3, 27, 78, 0.08);
  --pbmit-radius: 26px;
  --pbmit-radius-sm: 18px;
  --pbmit-heading-font: 'Sora', sans-serif;
  --pbmit-body-font: 'Roboto', sans-serif;
}

body.csoul-elementor-widgets,
.csoul-elementor-widgets .elementor-widget-text-editor,
.csoul-elementor-widgets .elementor-widget-heading,
.csoul-elementor-widgets .elementor-widget-button,
.csoul-elementor-widgets .elementor-widget-icon-box,
.csoul-elementor-widgets .elementor-widget-icon-list {
  font-family: var(--pbmit-body-font);
  color: var(--pbmit-body-color);
}

.csoul-elementor-widgets {
  background: #fff;
}

.csoul-elementor-widgets .elementor-section.elementor-section-boxed > .elementor-container {
  max-width: 1320px;
}

.csoul-elementor-widgets .elementor-widget-heading .elementor-heading-title {
  font-family: var(--pbmit-heading-font);
  color: var(--pbmit-blackish-color);
  letter-spacing: -.02em;
}

.csoul-page-shell { overflow:hidden; }
.csoul-page-shell .elementor-widget-wrap { align-content:flex-start; }

.csoul-topbar {
  padding: 18px 0 8px;
}
.csoul-topbar .elementor-widget-wrap {
  align-items: center;
}
.csoul-brand .elementor-heading-title {
  font-size: 34px;
  font-weight: 700;
  line-height: 1;
}
.csoul-brand .elementor-heading-title span { color: var(--pbmit-global-color); }
.csoul-nav .elementor-icon-list-items {
  display:flex; flex-wrap:wrap; justify-content:center; gap: 26px;
}
.csoul-nav .elementor-icon-list-item {
  margin:0 !important;
}
.csoul-nav .elementor-icon-list-text {
  font-family: var(--pbmit-heading-font);
  font-size: 14px;
  font-weight: 600;
  color: var(--pbmit-blackish-color);
}
.csoul-cta-btn .elementor-button,
.csoul-btn .elementor-button {
  min-height: 54px;
  padding: 14px 28px;
  border-radius: 999px;
  background: var(--pbmit-global-color);
  color: #fff;
  border: 0;
  font-family: var(--pbmit-heading-font);
  font-size: 14px;
  font-weight: 600;
  box-shadow: 0 15px 35px rgba(51, 104, 198, 0.24);
}
.csoul-cta-btn.csoul-btn-dark .elementor-button,
.csoul-btn-dark .elementor-button { background: var(--pbmit-blackish-color); }
.csoul-btn-light .elementor-button {
  background:#fff; color:var(--pbmit-blackish-color); box-shadow:none; border:1px solid rgba(255,255,255,.25);
}

.csoul-hero-strip { padding: 16px 0 28px; }
.csoul-hero-box, .csoul-feature-card, .csoul-team-card, .csoul-blog-card, .csoul-contact-panel, .csoul-service-card, .csoul-footer-card, .csoul-intro-card {
  background:#fff;
  border-radius: var(--pbmit-radius);
  box-shadow: var(--pbmit-shadow);
  border: 1px solid var(--pbmit-border-color);
  overflow:hidden;
}
.csoul-hero-box { height:100%; }
.csoul-hero-box.csoul-hero-main,
.csoul-service-wrap,
.csoul-cta-band,
.csoul-footer {
  background: var(--pbmit-global-color);
}
.csoul-hero-box.csoul-hero-main,
.csoul-hero-box.csoul-hero-video {
  background: var(--pbmit-global-color);
  color: rgba(255,255,255,.82);
  border-color: transparent;
}
.csoul-hero-box.csoul-hero-main .elementor-heading-title,
.csoul-hero-box.csoul-hero-video .elementor-heading-title,
.csoul-cta-band .elementor-heading-title,
.csoul-footer .elementor-heading-title,
.csoul-footer .elementor-icon-list-text,
.csoul-footer .elementor-widget-text-editor,
.csoul-service-wrap .elementor-heading-title,
.csoul-service-wrap .elementor-widget-text-editor,
.csoul-service-wrap .elementor-icon-list-text {
  color:#fff;
}
.csoul-hero-main { padding: 28px; }
.csoul-hero-main .elementor-image img { max-width:120px; }
.csoul-hero-main .elementor-heading-title { font-size: 34px; line-height:1.15; }
.csoul-hero-main .elementor-widget-text-editor { color: rgba(255,255,255,.82); }
.csoul-hero-spinner { text-align:center; padding: 18px; }
.csoul-hero-spinner .elementor-image img { max-width: 280px; width:100%; }
.csoul-hero-video { padding: 24px; }
.csoul-hero-video .elementor-heading-title { font-size: 28px; line-height:1.2; }
.csoul-hero-video .elementor-image img { border-radius: 26px; width:100%; }
.csoul-play-chip {
  width: 72px; height:72px; border-radius:50%; background:#fff; display:flex; align-items:center; justify-content:center;
  margin-top:-36px; margin-left:auto; margin-right: 22px; position:relative; z-index:2;
}
.csoul-play-chip i { color: var(--pbmit-global-color); font-size: 24px; margin-left:4px; }

.csoul-feature-row { padding: 0 0 30px; }
.csoul-feature-card { padding: 28px; }
.csoul-feature-card .elementor-icon-box-wrapper { display:flex; gap:18px; }
.csoul-feature-card .elementor-icon-box-icon span {
  width:76px; height:76px; border-radius:24px; background: var(--pbmit-light-color); color: var(--pbmit-global-color);
  display:inline-flex; align-items:center; justify-content:center; font-size:32px;
}
.csoul-feature-card .elementor-icon-box-title { font-size: 28px; font-weight:600; }
.csoul-feature-card .elementor-icon-box-description { font-size: 16px; line-height:1.7; }
.csoul-feature-link .elementor-button-link { color:var(--pbmit-blackish-color); background:transparent; box-shadow:none; padding:0; min-height:auto; }

.csoul-section { padding: 46px 0; }
.csoul-section .csoul-kicker .elementor-heading-title,
.csoul-kicker .elementor-heading-title {
  color: var(--pbmit-global-color); font-size:14px; text-transform:uppercase; letter-spacing:.14em; font-weight:700;
}
.csoul-title-xl .elementor-heading-title { font-size: clamp(34px, 4vw, 58px); font-weight: 700; line-height:1.1; }
.csoul-text-lg .elementor-widget-text-editor { font-size:18px; line-height:1.8; }
.csoul-stat-badge {
  background:#fff; display:inline-flex; align-items:center; gap:10px; padding: 16px 22px; border-radius: 999px;
  box-shadow: var(--pbmit-shadow); border:1px solid var(--pbmit-border-color);
}
.csoul-stat-badge .elementor-heading-title { font-size: 26px; color: var(--pbmit-global-color); }
.csoul-intro-gallery .elementor-widget-wrap { gap: 20px; }
.csoul-intro-image img, .csoul-about-image img, .csoul-team-photo img, .csoul-blog-thumb img, .csoul-service-image img { width:100%; border-radius: 26px; }
.csoul-intro-small img { max-width: 220px; border-radius: 24px; }
.csoul-intro-card { padding: 24px; }
.csoul-dept-grid { padding-top: 6px; }
.csoul-dept-card { padding: 28px 22px; text-align:center; border-radius:26px; background: var(--pbmit-light-color); height:100%; }
.csoul-dept-card .elementor-heading-title { font-size: 28px; }

.csoul-service-wrap { padding: 56px 0; position:relative; overflow:hidden; }
.csoul-service-wrap:before {
  content:""; position:absolute; inset:auto auto -120px -80px; width:360px; height:360px; border-radius:50%;
  background: rgba(255,255,255,.08);
}
.csoul-service-heading { margin-bottom: 24px; }
.csoul-service-card { background:#fff; }
.csoul-service-image img { width:100%; height:240px; object-fit:cover; border-radius: 26px 26px 0 0; }
.csoul-service-content { padding: 26px; }
.csoul-service-tag .elementor-heading-title { color: var(--pbmit-global-color); font-size: 14px; text-transform:uppercase; letter-spacing:.12em; }
.csoul-service-title .elementor-heading-title { font-size: 30px; }

.csoul-benefits .elementor-icon-list-item { align-items:flex-start; margin-bottom:18px; }
.csoul-benefits .elementor-icon-list-icon { margin-top: 4px; }
.csoul-benefits .elementor-icon-list-icon i { color: var(--pbmit-global-color); }
.csoul-benefits .elementor-icon-list-text { color: var(--pbmit-blackish-color); font-family: var(--pbmit-heading-font); font-weight: 600; }
.csoul-about-gallery .elementor-widget-wrap { gap: 18px; }
.csoul-about-gallery .elementor-image img { width:100%; border-radius: 26px; }

.csoul-cta-band { border-radius: 38px; padding: 34px 40px; }
.csoul-cta-band .elementor-widget-wrap { align-items:center; }
.csoul-cta-band .elementor-heading-title { font-size: clamp(30px, 3vw, 44px); }

.csoul-team-section .csoul-team-card,
.csoul-blog-section .csoul-blog-card { height:100%; }
.csoul-team-card { padding: 0 0 24px; }
.csoul-team-photo img { border-radius: 26px 26px 0 0; height: 340px; object-fit:cover; }
.csoul-team-content, .csoul-blog-content { padding: 22px 24px 0; }
.csoul-role .elementor-heading-title { font-size: 14px; color: var(--pbmit-global-color); text-transform:uppercase; letter-spacing:.12em; }
.csoul-name .elementor-heading-title { font-size: 30px; }

.csoul-contact-section { padding-top: 16px; }
.csoul-contact-panel { padding: 32px; height:100%; }
.csoul-contact-meta .elementor-icon-list-text { color: var(--pbmit-blackish-color); }
.csoul-form-shell {
  background: url('../images/xcare/homepage-1/bg/contact-form-bg.jpg') center/cover no-repeat;
  border-radius: 30px; min-height: 100%; padding: 32px; position:relative; overflow:hidden; border:1px solid var(--pbmit-border-color);
}
.csoul-form-shell:before { content:""; position:absolute; inset:0; background: rgba(1,13,39,.45); }
.csoul-form-shell > .elementor-widget-wrap { position:relative; z-index:1; }
.csoul-form-shell .elementor-heading-title, .csoul-form-shell .elementor-widget-text-editor { color:#fff; }
.csoul-form-shortcode .elementor-shortcode {
  background: rgba(255,255,255,.14); color:#fff; border:1px dashed rgba(255,255,255,.4); border-radius:24px; padding:24px; font-size:15px;
}

.csoul-logo-grid .elementor-widget-wrap { align-items:center; }
.csoul-client-logo img { max-height:44px; width:auto; margin: 0 auto; opacity:.9; filter: grayscale(1); }
.csoul-client-logo img:hover { filter:none; opacity:1; }

.csoul-blog-card { padding-bottom:24px; }
.csoul-blog-thumb img { height:230px; object-fit:cover; border-radius: 26px 26px 0 0; }
.csoul-meta .elementor-heading-title { font-size: 13px; color: var(--pbmit-global-color); text-transform:uppercase; letter-spacing:.08em; }
.csoul-blog-title .elementor-heading-title { font-size: 28px; line-height:1.22; }

.csoul-footer {
  margin-top: 26px; padding: 58px 0 28px; position:relative;
}
.csoul-footer .elementor-widget-text-editor { color: rgba(255,255,255,.78); }
.csoul-footer-title .elementor-heading-title { font-size: 24px; }
.csoul-footer .elementor-icon-list-text, .csoul-footer .elementor-icon-list-icon i { color: rgba(255,255,255,.82); }
.csoul-copyright .elementor-heading-title { color: rgba(255,255,255,.65); font-size: 14px; font-weight:500; }

@media (max-width: 1024px) {
  .csoul-nav .elementor-icon-list-items { justify-content:flex-start; gap: 16px 24px; }
  .csoul-hero-main .elementor-heading-title, .csoul-hero-video .elementor-heading-title { font-size: 26px; }
  .csoul-feature-card .elementor-icon-box-title, .csoul-name .elementor-heading-title, .csoul-blog-title .elementor-heading-title, .csoul-service-title .elementor-heading-title { font-size: 24px; }
}
@media (max-width: 767px) {
  .csoul-topbar { padding: 14px 0 0; }
  .csoul-topbar .elementor-column { width:100% !important; }
  .csoul-nav .elementor-icon-list-items { justify-content:flex-start; }
  .csoul-brand .elementor-heading-title { font-size: 28px; }
  .csoul-hero-strip { padding-top: 8px; }
  .csoul-hero-main, .csoul-hero-video, .csoul-feature-card, .csoul-contact-panel, .csoul-form-shell { padding: 24px; }
  .csoul-title-xl .elementor-heading-title { font-size: 34px; }
  .csoul-cta-band { padding: 26px; }
  .csoul-team-photo img { height: 300px; }
}
