﻿:root {
  --wdp-ink: #0b1424;
  --wdp-ink-2: #162238;
  --wdp-cobalt: #0047AB;
  --wdp-cobalt-2: #003888;
  --wdp-signal: #EE8622;
  --wdp-paper: #f5f8fc;
  --wdp-tint: #eaf0f8;
  --wdp-white: #fff;
  --wdp-text: #1c2a3d;
  --wdp-muted: #5a6b82;
  --wdp-line: rgba(11, 20, 36, 0.1);
  --wdp-font: "DM Sans", "Segoe UI", sans-serif;
  --wdp-display: var(--wdp-font);
  --wdp-body: var(--wdp-font);
  --wdp-ui: var(--wdp-font);
  --wdp-ease-out: cubic-bezier(0.23, 1, 0.32, 1);
  --wdp-ease-move: cubic-bezier(0.77, 0, 0.175, 1);
  --wdp-ease-drawer: cubic-bezier(0.32, 0.72, 0, 1);
  --wdp-header: 76px;
  --wdp-max: 1280px;
  --wdp-pad: 24px;
  --wdp-shell: min(var(--wdp-max), calc(100% - (var(--wdp-pad) * 2)));
  --wdp-shell-inset: max(var(--wdp-pad), calc((100vw - var(--wdp-max)) / 2));
  --wdp-radius: 16px;
  --wdp-wa: #25d366;
}

.wdp-theme {
  background: var(--wdp-paper);
  color: var(--wdp-text);
  font-family: var(--wdp-body);
  line-height: 1.6;
  text-rendering: optimizeLegibility;
}

.wdp-theme .site-header,
.wdp-front .site-header,
.elementor-location-header,
.elementor-location-footer,
.wdp-theme header.site-header,
.wdp-theme footer.site-footer,
.wdp-front .elementor-location-header,
.wdp-front .elementor-location-footer,
.elementor-33 ~ .elementor-location-footer,
body.wdp-front .elementor.elementor-location-header,
body.wdp-front .elementor.elementor-location-footer {
  display: none !important;
}

.admin-bar .wdp-header {
  top: 32px;
}
@media screen and (max-width: 782px) {
  .admin-bar .wdp-header {
    top: 46px;
  }
}

.wdp-skip {
  position: absolute;
  left: 12px;
  top: -48px;
  z-index: 200;
  background: var(--wdp-ink);
  color: #fff;
  padding: 8px 12px;
  font-family: var(--wdp-ui);
}
.wdp-skip:focus {
  top: 12px;
}

.wdp-wrap {
  width: var(--wdp-shell);
  margin-inline: auto;
}

.wdp-kicker {
  margin: 0 0 14px;
  font-family: var(--wdp-ui);
  font-size: 12px;
  font-weight: 600;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--wdp-cobalt);
}
.wdp-kicker--light {
  color: var(--wdp-cobalt);
}

h1, h2, h3, h4, h5, h6,
.wdp-theme h1, .wdp-theme h2, .wdp-theme h3, .wdp-theme h4 {
  font-family: var(--wdp-display);
  font-weight: 700;
  letter-spacing: -0.025em;
  line-height: 1.15;
  color: var(--wdp-ink);
}

.wdp-lead {
  font-size: 17px;
  color: var(--wdp-muted);
  max-width: 58ch;
}

.wdp-btn {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  min-height: 44px;
  padding: 0 18px;
  border-radius: 999px;
  font-family: var(--wdp-ui);
  font-size: 14px;
  font-weight: 600;
  text-decoration: none;
  border: 1px solid transparent;
  transition: transform 140ms var(--wdp-ease-out), background-color 180ms ease, color 180ms ease, border-color 180ms ease;
}
.wdp-btn:active {
  transform: scale(0.97);
}
.wdp-btn--lg {
  min-height: 52px;
  padding: 0 22px;
}
.wdp-btn--sm {
  min-height: 40px;
  padding: 0 16px;
  font-size: 13px;
}
.wdp-btn--solid {
  background: #0047AB;
  background-color: #0047AB;
  color: #fff;
}
.wdp-btn--solid:hover {
  background: #003888;
  background-color: #003888;
  color: #fff;
}
.wdp-btn--line {
  background: transparent;
  color: var(--wdp-ink);
  border-color: var(--wdp-line);
}
.wdp-btn--ghost {
  background: transparent;
  color: var(--wdp-ink);
  border-color: var(--wdp-line);
}
.wdp-btn--light {
  background: var(--wdp-white);
  color: var(--wdp-cobalt);
  border-color: transparent;
  box-shadow: 0 1px 2px rgba(11, 20, 36, 0.06);
}
.wdp-btn--light:hover {
  background: #eef3fb;
  color: var(--wdp-cobalt-2);
}
/* Brand outline WA â€” green only on glyph, never a full green pill */
.wdp-btn--wa {
  background: #fff;
  background-color: #fff;
  color: var(--wdp-cobalt);
  border-color: var(--wdp-cobalt);
}
.wdp-btn--wa:hover {
  border-color: var(--wdp-cobalt-2);
  color: var(--wdp-cobalt-2);
  background: #eef3fb;
  background-color: #eef3fb;
}
.wdp-btn--wa svg {
  color: var(--wdp-wa);
  flex-shrink: 0;
}
.wdp-header .wdp-btn--solid {
  background: #0047AB;
  background-color: #0047AB;
  color: #fff;
  min-height: 44px;
  padding: 0 18px;
  border-radius: 999px;
}
.wdp-header .wdp-btn--solid:hover {
  background: #003888;
  background-color: #003888;
  color: #fff;
}
.wdp-textlink {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  margin-top: 8px;
  color: var(--wdp-cobalt);
  font-family: var(--wdp-ui);
  font-weight: 600;
  text-decoration: none;
  transition: color 180ms ease, gap 180ms var(--wdp-ease-out);
}
.wdp-textlink:hover,
.wdp-textlink:focus-visible {
  color: var(--wdp-cobalt-2);
  gap: 12px;
}

/* â€”â€” Top utility bar â€”â€” */
.wdp-topbar {
  background: var(--wdp-cobalt);
  color: rgba(255, 255, 255, 0.92);
  font-family: var(--wdp-ui);
  font-size: 12.5px;
}
.wdp-topbar__inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  min-height: 36px;
  padding-block: 6px;
}
.wdp-topbar__meta {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px 18px;
}
.wdp-topbar__meta span,
.wdp-topbar__meta a {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  color: inherit;
  text-decoration: none;
}
.wdp-topbar__meta a:hover {
  color: #fff;
}
.wdp-topbar__social {
  display: flex;
  align-items: center;
  gap: 4px;
}
.wdp-topbar__social a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 28px;
  height: 28px;
  border-radius: 999px;
  color: #fff;
  opacity: 0.9;
  transition: background-color 160ms ease, opacity 160ms ease;
}
.wdp-topbar__social a:hover {
  background: rgba(255, 255, 255, 0.14);
  opacity: 1;
}

/* â€”â€” Main header â€”â€” */
.wdp-header {
  position: sticky;
  top: 0;
  z-index: 50;
  background: rgba(255, 255, 255, 0.92);
  backdrop-filter: blur(16px) saturate(1.15);
  -webkit-backdrop-filter: blur(16px) saturate(1.15);
  border-bottom: 1px solid rgba(0, 71, 171, 0.08);
  box-shadow: 0 8px 24px rgba(0, 71, 171, 0.04);
}
.wdp-header.is-compact {
  box-shadow: 0 10px 28px rgba(11, 20, 36, 0.06);
}
.wdp-header__bar {
  height: var(--wdp-header);
  display: flex;
  align-items: center;
  gap: 20px;
  position: relative;
}
.wdp-logo img {
  display: block;
  height: 40px;
  width: auto;
}
.wdp-nav {
  display: flex;
  align-items: center;
  gap: 2px;
  margin-left: auto;
  margin-right: 8px;
}
.wdp-nav__link {
  position: relative;
  display: inline-flex;
  align-items: center;
  gap: 4px;
  color: var(--wdp-text);
  text-decoration: none;
  font-family: var(--wdp-ui);
  font-size: 14px;
  font-weight: 500;
  padding: 10px 12px;
  border-radius: 8px;
  transition: color 160ms ease, background-color 160ms ease;
}
.wdp-nav__link:hover,
.wdp-nav__link:focus-visible {
  color: var(--wdp-cobalt);
}
.wdp-nav__link.is-active,
.wdp-nav__item--mega:hover > .wdp-nav__link,
.wdp-nav__item--mega:focus-within > .wdp-nav__link,
.wdp-nav__link[aria-expanded="true"] {
  color: var(--wdp-cobalt);
}
.wdp-nav__link.is-active::after,
.wdp-nav__link--mega[aria-expanded="true"]::after {
  content: "";
  position: absolute;
  left: 12px;
  right: 12px;
  bottom: 4px;
  height: 2px;
  border-radius: 2px;
  background: var(--wdp-cobalt);
}
.wdp-nav__chev {
  display: inline-flex;
  transition: transform 180ms var(--wdp-ease-out);
}
.wdp-nav__item--mega:hover .wdp-nav__chev,
.wdp-nav__link[aria-expanded="true"] .wdp-nav__chev {
  transform: rotate(180deg);
}
.wdp-header__actions {
  display: flex;
  align-items: center;
  gap: 14px;
  flex-shrink: 0;
}
.wdp-header__phone {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  text-decoration: none;
  color: var(--wdp-cobalt);
}
.wdp-header__phone-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 40px;
  height: 40px;
  border-radius: 50%;
  background: rgba(0, 71, 171, 0.08);
  color: var(--wdp-cobalt);
}
.wdp-header__phone-text {
  display: flex;
  flex-direction: column;
  line-height: 1.15;
}
.wdp-header__phone-text strong {
  font-size: 14px;
  font-weight: 700;
  letter-spacing: -0.01em;
}
.wdp-header__phone-text small {
  font-size: 11px;
  font-weight: 500;
  color: var(--wdp-muted);
}
.wdp-burger {
  display: none;
  width: 42px;
  height: 42px;
  border: 0;
  background: transparent;
  padding: 0;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 5px;
}
.wdp-burger span {
  display: block;
  width: 18px;
  height: 1.5px;
  margin: 0;
  background: var(--wdp-ink);
  border-radius: 1px;
}

/* â€”â€” Mega menu â€”â€” */
.wdp-nav__item--mega {
  position: static;
}
.wdp-mega {
  position: absolute;
  left: 0;
  right: 0;
  top: 100%;
  padding: 12px 0 0;
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transform: translateY(-10px);
  transition:
    opacity 240ms var(--wdp-ease-out),
    transform 240ms var(--wdp-ease-out),
    visibility 0s linear 240ms;
}
.wdp-nav__item--mega:hover .wdp-mega,
.wdp-nav__item--mega:focus-within .wdp-mega,
.wdp-mega.is-open {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
  transform: translateY(0);
  transition:
    opacity 240ms var(--wdp-ease-out),
    transform 240ms var(--wdp-ease-out),
    visibility 0s linear 0s;
}
.wdp-mega__panel {
  width: 100%;
  border-radius: 18px;
  overflow: hidden;
  background: #fff;
  border: 1px solid rgba(0, 71, 171, 0.1);
  box-shadow:
    0 28px 64px rgba(11, 20, 36, 0.14),
    0 2px 0 rgba(255, 255, 255, 0.8) inset;
}
.wdp-mega__body {
  display: grid;
  grid-template-columns: 220px 1fr;
  min-height: 320px;
}
.wdp-mega__promo {
  position: relative;
  isolation: isolate;
  padding: 28px 22px;
  background:
    linear-gradient(165deg, #0056c7 0%, var(--wdp-cobalt) 55%, var(--wdp-cobalt-2) 100%);
  color: #fff;
  display: flex;
  flex-direction: column;
  gap: 12px;
  overflow: hidden;
}
.wdp-mega__eyebrow {
  margin: 0;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: rgba(255, 255, 255, 0.78);
}
.wdp-mega__promo-title {
  margin: 0;
  font-size: 24px;
  line-height: 1.2;
  letter-spacing: -0.03em;
  color: #fff;
}
.wdp-mega__promo p {
  margin: 0;
  font-size: 13.5px;
  line-height: 1.5;
  color: rgba(255, 255, 255, 0.86);
}
.wdp-mega__promo .wdp-btn {
  margin-top: auto;
  align-self: flex-start;
  position: relative;
  z-index: 1;
}
.wdp-mega__motif {
  position: absolute;
  right: -18px;
  bottom: -24px;
  width: 160px;
  height: 160px;
  opacity: 0.14;
  background:
    radial-gradient(circle at 50% 78%, transparent 18%, #fff 19% 22%, transparent 23%),
    linear-gradient(180deg, transparent 42%, #fff 42% 44%, transparent 44%),
    linear-gradient(90deg, transparent 46%, #fff 46% 54%, transparent 54%);
  pointer-events: none;
  z-index: 0;
}
.wdp-mega__cols {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 8px;
  padding: 22px 18px 16px;
}
.wdp-mega__col-head {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-bottom: 10px;
  font-family: var(--wdp-display);
  font-size: 14px;
  font-weight: 700;
  color: var(--wdp-ink);
  letter-spacing: -0.02em;
}
.wdp-mega__col-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 36px;
  height: 36px;
  border-radius: 11px;
  flex-shrink: 0;
  transition: transform 180ms var(--wdp-ease-out), box-shadow 180ms ease;
}
.wdp-mega__col-icon svg {
  width: 18px;
  height: 18px;
}
.wdp-mega__col-icon--design {
  color: #0047AB;
  background: linear-gradient(135deg, rgba(0, 71, 171, 0.12) 0%, rgba(0, 71, 171, 0.04) 100%);
  border: 1px solid rgba(0, 71, 171, 0.16);
}
.wdp-mega__col-icon--develop {
  color: #0250c5;
  background: linear-gradient(135deg, rgba(2, 80, 197, 0.13) 0%, rgba(14, 165, 233, 0.05) 100%);
  border: 1px solid rgba(2, 80, 197, 0.16);
}
.wdp-mega__col-icon--seo {
  color: #EE8622;
  background: linear-gradient(135deg, rgba(238, 134, 34, 0.15) 0%, rgba(245, 158, 11, 0.05) 100%);
  border: 1px solid rgba(238, 134, 34, 0.2);
}
.wdp-mega__col-icon--support {
  color: #0d9488;
  background: linear-gradient(135deg, rgba(13, 148, 136, 0.14) 0%, rgba(14, 165, 233, 0.05) 100%);
  border: 1px solid rgba(13, 148, 136, 0.2);
}
.wdp-mega__links {
  display: flex;
  flex-direction: column;
  gap: 2px;
}
.wdp-mega__link {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  padding: 7px 8px;
  border-radius: 8px;
  text-decoration: none;
  color: var(--wdp-muted);
  font-size: 13px;
  font-weight: 500;
  transition: background-color 160ms ease, color 160ms ease, transform 160ms var(--wdp-ease-out);
}
.wdp-mega__link-text {
  display: inline-flex;
  align-items: center;
  gap: 6px;
}
.wdp-mega__badge {
  display: inline-flex;
  align-items: center;
  padding: 1px 6px;
  border-radius: 999px;
  background: #ef4444;
  color: #fff;
  font-size: 9px;
  font-weight: 700;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}
.wdp-mega__link-go {
  display: inline-flex;
  color: #b0becf;
  opacity: 0.7;
  transition: transform 160ms var(--wdp-ease-out), color 160ms ease, opacity 160ms ease;
}
.wdp-mega__link:hover,
.wdp-mega__link:focus-visible {
  background: rgba(0, 71, 171, 0.06);
  color: var(--wdp-cobalt);
  outline: none;
}
.wdp-mega__link:hover .wdp-mega__link-go,
.wdp-mega__link:focus-visible .wdp-mega__link-go {
  color: var(--wdp-cobalt);
  opacity: 1;
  transform: translateX(2px);
}
.wdp-mega__trust {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 8px;
  padding: 12px 18px;
  background: #f7f9fc;
  border-top: 1px solid rgba(11, 20, 36, 0.06);
  font-size: 12px;
  font-weight: 600;
  color: var(--wdp-text);
}
.wdp-mega__trust span {
  display: inline-flex;
  align-items: center;
  gap: 8px;
}
.wdp-mega__trust-dot {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  flex-shrink: 0;
}
.wdp-mega__trust-dot--green { background: #16a34a; }
.wdp-mega__trust-dot--blue { background: var(--wdp-cobalt); }
.wdp-mega__trust-dot--orange { background: var(--wdp-signal); }
.wdp-mega__trust-dot--purple { background: #7c3aed; }

/* â€”â€” Drawer â€”â€” */
.wdp-drawer {
  position: fixed;
  inset: 0;
  z-index: 80;
  background: rgba(11, 20, 36, 0.45);
}
.wdp-drawer__panel {
  position: absolute;
  right: 0;
  top: 0;
  height: 100%;
  width: min(380px, 92vw);
  background: var(--wdp-ink);
  color: #fff;
  padding: 24px;
  display: flex;
  flex-direction: column;
  gap: 4px;
  overflow-y: auto;
  transform: translateX(100%);
  transition: transform 320ms var(--wdp-ease-drawer);
}
.wdp-drawer.is-open .wdp-drawer__panel {
  transform: translateX(0);
}
.wdp-drawer > .wdp-drawer__panel > a {
  color: #e8eef8;
  text-decoration: none;
  font-family: var(--wdp-ui);
  font-size: 20px;
  padding: 8px 0;
}
.wdp-drawer__top {
  display: flex;
  justify-content: space-between;
  margin-bottom: 18px;
  color: #8ea0bb;
  font-family: var(--wdp-ui);
}
.wdp-drawer__close {
  background: none;
  border: 0;
  color: #fff;
  font: inherit;
  cursor: pointer;
}
.wdp-drawer__cta {
  margin-top: auto;
  padding-top: 18px;
  display: grid;
  gap: 10px;
}
.wdp-drawer .wdp-btn--ghost {
  color: #fff;
  border-color: rgba(255, 255, 255, 0.28);
}
.wdp-drawer .wdp-btn--ghost:hover {
  border-color: #fff;
  color: #fff;
}
.wdp-drawer__group {
  display: flex;
  flex-direction: column;
  gap: 0;
  border-bottom: 1px solid rgba(255, 255, 255, 0.08);
}
.wdp-drawer__toggle {
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 100%;
  padding: 12px 0;
  border: 0;
  background: none;
  color: #e8eef8;
  font-family: var(--wdp-ui);
  font-size: 18px;
  text-align: left;
  cursor: pointer;
}
.wdp-drawer__toggle span {
  width: 10px;
  height: 10px;
  border-right: 2px solid #8ea0bb;
  border-bottom: 2px solid #8ea0bb;
  transform: rotate(45deg);
  transition: transform 200ms var(--wdp-ease-out);
}
.wdp-drawer__toggle[aria-expanded="true"] span {
  transform: rotate(-135deg);
  margin-top: 6px;
}
.wdp-drawer__sub {
  display: flex;
  flex-direction: column;
  gap: 2px;
  padding: 0 0 12px 10px;
  border-left: 2px solid rgba(238, 134, 34, 0.5);
  margin: 0 0 8px 2px;
}
.wdp-drawer__sub a {
  font-size: 15px;
  color: #b8c6db;
  padding: 6px 0;
  text-decoration: none;
}
.wdp-drawer__sub a:hover,
.wdp-drawer__sub a:focus-visible {
  color: #fff;
}

/* â€”â€” Hero (equal gutters shell) â€”â€” */
.wdp-hero {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  width: 100%;
  color: var(--wdp-text);
  padding: clamp(40px, 5.5vh, 72px) 0 clamp(36px, 5vh, 56px);
  background:
    radial-gradient(900px 380px at 12% 0%, rgba(0, 71, 171, 0.12), transparent 60%),
    radial-gradient(700px 320px at 88% 18%, rgba(0, 71, 171, 0.08), transparent 55%),
    linear-gradient(180deg, #ffffff 0%, var(--wdp-paper) 72%, #eef3fb 100%);
}
.wdp-hero__wash {
  position: absolute;
  inset: 0;
  pointer-events: none;
  z-index: 0;
  background:
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1440 320' preserveAspectRatio='none'%3E%3Cpath fill='%230047ab' fill-opacity='0.04' d='M0,192L60,176C120,160,240,128,360,138.7C480,149,600,203,720,208C840,213,960,171,1080,149.3C1200,128,1320,128,1380,128L1440,128L1440,320L1380,320C1320,320,1200,320,1080,320C960,320,840,320,720,320C600,320,480,320,360,320C240,320,120,320,60,320L0,320Z'/%3E%3C/svg%3E")
      bottom center / 100% 42% no-repeat;
  opacity: 1;
}
.wdp-hero__grid {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: minmax(0, 1.05fr) minmax(0, 0.95fr);
  gap: clamp(28px, 4vw, 56px);
  align-items: center;
}
.wdp-hero__copy {
  display: flex;
  flex-direction: column;
  justify-content: center;
  min-width: 0;
}
.wdp-hero__badge {
  display: inline-flex;
  align-self: flex-start;
  margin: 0 0 16px;
  padding: 7px 14px;
  border-radius: 999px;
  background: rgba(0, 71, 171, 0.08);
  border: 1px solid rgba(0, 71, 171, 0.12);
  color: var(--wdp-cobalt);
  font-family: var(--wdp-ui);
  font-size: 12.5px;
  font-weight: 600;
  letter-spacing: 0.01em;
}
.wdp-hero h1 {
  color: var(--wdp-ink);
  font-size: clamp(32px, 4.2vw, 50px);
  max-width: 14ch;
  margin: 0 0 16px;
  font-weight: 700;
  letter-spacing: -0.03em;
  line-height: 1.12;
}
.wdp-hero__accent {
  color: var(--wdp-cobalt);
  position: relative;
  display: inline;
  white-space: nowrap;
}
.wdp-hero__accent::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: -2px;
  height: 8px;
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 120 10' fill='none'%3E%3Cpath d='M2 7c18-4 38-5 58-3 20 2 40 1 58-3' stroke='%23EE8622' stroke-width='3' stroke-linecap='round'/%3E%3C/svg%3E")
    center / 100% 100% no-repeat;
  pointer-events: none;
}
.wdp-hero .wdp-lead {
  color: var(--wdp-muted);
  max-width: 46ch;
  font-size: 16.5px;
  margin: 0;
}
.wdp-hero__checks {
  display: flex;
  flex-wrap: wrap;
  gap: 8px 16px;
  padding: 0;
  margin: 16px 0 0;
  list-style: none;
  font-family: var(--wdp-ui);
  font-size: 13.5px;
  font-weight: 600;
  color: var(--wdp-text);
}
.wdp-hero__checks li {
  display: inline-flex;
  align-items: center;
  gap: 6px;
}
.wdp-hero__checks svg {
  color: var(--wdp-cobalt);
  flex-shrink: 0;
}
.wdp-hero__cta {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 10px;
  margin: 14px 0 16px;
}
.wdp-hero__cta .wdp-btn--solid,
.wdp-hero__cta .wdp-btn--wa {
  min-height: 44px;
  padding: 0 18px;
  font-size: 14px;
  border-radius: 999px;
}
.wdp-hero__proof {
  display: flex;
  align-items: center;
  gap: 12px;
  flex-wrap: wrap;
}
.wdp-hero__avatars {
  display: flex;
  align-items: center;
}
.wdp-hero__avatars span {
  width: 36px;
  height: 36px;
  border-radius: 50%;
  border: 2px solid #fff;
  margin-left: -8px;
  background:
    linear-gradient(145deg, hsl(calc(210 + var(--i) * 28), 55%, 62%), hsl(calc(210 + var(--i) * 28), 45%, 42%));
  box-shadow: 0 2px 6px rgba(11, 20, 36, 0.12);
  position: relative;
  z-index: calc(4 - var(--i));
}
.wdp-hero__avatars span:first-child {
  margin-left: 0;
}
.wdp-hero__proof-text p {
  margin: 2px 0 0;
  font-size: 13px;
  font-weight: 600;
  color: var(--wdp-text);
}
.wdp-hero__stars {
  color: var(--wdp-signal);
  font-size: 14px;
  letter-spacing: 1px;
  line-height: 1;
}
.wdp-hero__stars span {
  display: inline-flex;
  gap: 2px;
}
.wdp-hero__stars svg {
  display: block;
}

.wdp-hero__stage {
  position: relative;
  min-width: 0;
}
.wdp-hero__scene {
  position: relative;
  width: 100%;
  aspect-ratio: 1.05 / 1;
  max-height: 520px;
  margin-inline: auto;
}
.wdp-hero__halo {
  position: absolute;
  left: 50%;
  top: 58%;
  width: 78%;
  height: 58%;
  transform: translate(-50%, -50%);
  border-radius: 50%;
  background:
    radial-gradient(circle, rgba(0, 71, 171, 0.12) 0%, rgba(0, 71, 171, 0.04) 48%, transparent 70%);
  box-shadow: inset 0 0 0 1px rgba(0, 71, 171, 0.06);
}
.wdp-hero__device--laptop {
  position: absolute;
  left: 6%;
  top: 14%;
  width: 72%;
  z-index: 2;
}
.wdp-hero__laptop-lid {
  border-radius: 12px 12px 4px 4px;
  padding: 10px 10px 8px;
  background: linear-gradient(180deg, #2a3548, #1a2333);
  box-shadow: 0 24px 48px rgba(11, 20, 36, 0.22);
}
.wdp-hero__screen {
  border-radius: 4px;
  overflow: hidden;
  aspect-ratio: 16 / 10;
  background: #dfe7f2;
}
.wdp-hero__screen img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center top;
}
.wdp-hero__laptop-base {
  height: 10px;
  margin: 0 8% -2px;
  border-radius: 0 0 10px 10px;
  background: linear-gradient(180deg, #3a465c, #2a3548);
  box-shadow: 0 8px 16px rgba(11, 20, 36, 0.12);
}
.wdp-hero__laptop-base::after {
  content: "";
  display: block;
  height: 4px;
  margin: 0 -6%;
  border-radius: 0 0 6px 6px;
  background: #1a2333;
}
.wdp-hero__device--phone {
  position: absolute;
  right: 10%;
  bottom: 12%;
  width: 28%;
  max-width: 132px;
  z-index: 3;
  border-radius: 18px;
  padding: 8px 6px;
  background: linear-gradient(180deg, #1f2937, #111827);
  box-shadow: 0 18px 36px rgba(11, 20, 36, 0.28);
}
.wdp-hero__phone-notch {
  width: 36%;
  height: 5px;
  margin: 0 auto 6px;
  border-radius: 999px;
  background: #374151;
}
.wdp-hero__phone-screen {
  border-radius: 10px;
  overflow: hidden;
  aspect-ratio: 9 / 16;
  background: #e8eef8;
}
.wdp-hero__phone-screen img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center top;
}
.wdp-hero__float {
  position: absolute;
  z-index: 4;
  background: #fff;
  border-radius: 14px;
  box-shadow: 0 14px 32px rgba(11, 20, 36, 0.12);
  border: 1px solid rgba(11, 20, 36, 0.06);
  padding: 10px 12px;
  font-family: var(--wdp-ui);
}
.wdp-hero__float strong {
  display: block;
  font-size: 18px;
  font-weight: 700;
  color: var(--wdp-ink);
  letter-spacing: -0.02em;
  line-height: 1.1;
}
.wdp-hero__float span {
  font-size: 11px;
  font-weight: 600;
  color: var(--wdp-muted);
}
.wdp-hero__float--sat {
  left: 0;
  top: 18%;
  min-width: 128px;
}
.wdp-hero__float--projects {
  right: 2%;
  top: 28%;
  min-width: 110px;
}
.wdp-hero__float--ontime {
  left: 8%;
  bottom: 18%;
  background: var(--wdp-cobalt);
  color: #fff;
  font-size: 12px;
  font-weight: 700;
  padding: 8px 12px;
  border: 0;
}
.wdp-hero__spark {
  display: block;
  width: 64px;
  height: 20px;
  margin-top: 4px;
}
.wdp-hero__spark path {
  stroke: var(--wdp-signal) !important;
}
.wdp-hero__plant {
  position: absolute;
  right: 2%;
  bottom: 10%;
  width: 28px;
  height: 36px;
  z-index: 2;
  background:
    radial-gradient(ellipse at 50% 20%, #22c55e 0 40%, transparent 41%),
    radial-gradient(ellipse at 30% 40%, #16a34a 0 35%, transparent 36%),
    radial-gradient(ellipse at 70% 40%, #15803d 0 32%, transparent 33%),
    linear-gradient(180deg, transparent 55%, #c4a574 55% 100%);
  border-radius: 40% 40% 8px 8px;
  opacity: 0.9;
}

/* Trust logos strip */
.wdp-trust {
  background: #fff;
  border-block: 1px solid var(--wdp-line);
  padding: 28px 0 32px;
}
.wdp-trust__label {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 14px;
  margin: 0 0 18px;
  font-family: var(--wdp-ui);
  font-size: 12px;
  font-weight: 600;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--wdp-muted);
}
.wdp-trust__label span {
  flex: 1;
  max-width: 120px;
  height: 1px;
  background: var(--wdp-line);
}
.wdp-trust__logos {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  gap: 12px 22px;
  margin: 0;
  padding: 0;
  list-style: none;
}
.wdp-trust__logos li {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-family: var(--wdp-ui);
  font-size: 14px;
  font-weight: 700;
  letter-spacing: -0.02em;
  color: #7a879c;
  padding: 8px 12px;
  border-radius: 999px;
  background: var(--wdp-paper);
  border: 1px solid rgba(11, 20, 36, 0.06);
  transition: color 180ms ease, border-color 180ms ease, transform 180ms var(--wdp-ease-out);
}
.wdp-trust__logos img {
  width: 22px;
  height: 22px;
  object-fit: contain;
  opacity: 0.9;
}
@media (hover: hover) and (pointer: fine) {
  .wdp-trust__logos li:hover {
    color: var(--wdp-cobalt);
    border-color: rgba(0, 71, 171, 0.2);
    transform: translateY(-1px);
  }
}

@media (prefers-reduced-motion: no-preference) {
  /* Only gate PHP template hero; Elementor .e-con hero must never start blank */
  .wdp-hero:not(.e-con):not(.is-ready) .wdp-hero__copy > *,
  .wdp-hero:not(.e-con):not(.is-ready) .wdp-hero__scene {
    opacity: 0;
  }
}
.wdp-hero.is-ready .wdp-hero__copy > *,
.wdp-hero.is-ready .wdp-hero__scene {
  animation: wdp-rise 700ms var(--wdp-ease-out) both;
}
.wdp-hero.is-ready .wdp-hero__copy > *:nth-child(1) { animation-delay: 40ms; }
.wdp-hero.is-ready .wdp-hero__copy > *:nth-child(2) { animation-delay: 110ms; }
.wdp-hero.is-ready .wdp-hero__copy > *:nth-child(3) { animation-delay: 180ms; }
.wdp-hero.is-ready .wdp-hero__copy > *:nth-child(4) { animation-delay: 250ms; }
.wdp-hero.is-ready .wdp-hero__copy > *:nth-child(5) { animation-delay: 320ms; }
.wdp-hero.is-ready .wdp-hero__copy > *:nth-child(6) { animation-delay: 390ms; }
.wdp-hero.is-ready .wdp-hero__scene { animation-delay: 160ms; }
@keyframes wdp-rise {
  from {
    opacity: 0;
    transform: translateY(16px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

.wdp-section {
  padding: 88px 0;
}
.wdp-section--tint {
  background: var(--wdp-tint);
}
.wdp-section--ink {
  background:
    radial-gradient(800px 280px at 10% 0%, rgba(0, 71, 171, 0.1), transparent 60%),
    linear-gradient(180deg, #f0f5fc 0%, #e4ecf8 100%);
  color: var(--wdp-text);
}
.wdp-section--ink h2,
.wdp-section--ink h3 {
  color: var(--wdp-ink);
}
.wdp-section__head {
  max-width: 720px;
  margin-bottom: 40px;
}
.wdp-section__head h2,
.wdp-about h2,
.wdp-faq h2,
.wdp-cta h2 {
  font-size: clamp(30px, 4vw, 44px);
  margin: 0 0 12px;
  font-weight: 700;
}
.wdp-section__head p,
.wdp-about p {
  color: var(--wdp-muted);
}
.wdp-section--ink .wdp-section__head p {
  color: var(--wdp-muted);
}

/* Scroll reveal */
[data-wdp-reveal] {
  --wdp-reveal-y: 22px;
}
@media (prefers-reduced-motion: no-preference) {
  [data-wdp-reveal]:not(.is-in) {
    opacity: 0;
    transform: translateY(var(--wdp-reveal-y));
  }
  [data-wdp-reveal].is-in {
    opacity: 1;
    transform: none;
    transition: opacity 700ms var(--wdp-ease-out), transform 700ms var(--wdp-ease-out);
  }
  [data-wdp-reveal].is-in .wdp-pillar,
  [data-wdp-reveal].is-in .wdp-include__item,
  [data-wdp-reveal].is-in .wdp-process li,
  [data-wdp-reveal].is-in .wdp-work__card,
  [data-wdp-reveal].is-in .wdp-blog__card,
  [data-wdp-reveal].is-in .wdp-quote,
  [data-wdp-reveal].is-in .wdp-stats > div,
  [data-wdp-reveal].is-in .wdp-prices article,
  [data-wdp-reveal].is-in .wdp-tech li {
    animation: wdp-rise 640ms var(--wdp-ease-out) both;
  }
  [data-wdp-reveal].is-in .wdp-pillar:nth-child(1),
  [data-wdp-reveal].is-in .wdp-include__item:nth-child(1),
  [data-wdp-reveal].is-in .wdp-process li:nth-child(1),
  [data-wdp-reveal].is-in .wdp-work__card:nth-child(1),
  [data-wdp-reveal].is-in .wdp-blog__card--featured,
  [data-wdp-reveal].is-in .wdp-quote:nth-child(1),
  [data-wdp-reveal].is-in .wdp-stats > div:nth-child(1),
  [data-wdp-reveal].is-in .wdp-prices article:nth-child(1),
  [data-wdp-reveal].is-in .wdp-tech li:nth-child(1) { animation-delay: 40ms; }
  [data-wdp-reveal].is-in .wdp-pillar:nth-child(2),
  [data-wdp-reveal].is-in .wdp-include__item:nth-child(2),
  [data-wdp-reveal].is-in .wdp-process li:nth-child(2),
  [data-wdp-reveal].is-in .wdp-work__card:nth-child(2),
  [data-wdp-reveal].is-in .wdp-blog__stack .wdp-blog__card:nth-child(1),
  [data-wdp-reveal].is-in .wdp-quote:nth-child(2),
  [data-wdp-reveal].is-in .wdp-stats > div:nth-child(2),
  [data-wdp-reveal].is-in .wdp-prices article:nth-child(2),
  [data-wdp-reveal].is-in .wdp-tech li:nth-child(2) { animation-delay: 100ms; }
  [data-wdp-reveal].is-in .wdp-pillar:nth-child(3),
  [data-wdp-reveal].is-in .wdp-include__item:nth-child(3),
  [data-wdp-reveal].is-in .wdp-process li:nth-child(3),
  [data-wdp-reveal].is-in .wdp-work__card:nth-child(3),
  [data-wdp-reveal].is-in .wdp-blog__stack .wdp-blog__card:nth-child(2),
  [data-wdp-reveal].is-in .wdp-quote:nth-child(3),
  [data-wdp-reveal].is-in .wdp-stats > div:nth-child(3),
  [data-wdp-reveal].is-in .wdp-prices article:nth-child(3),
  [data-wdp-reveal].is-in .wdp-tech li:nth-child(3) { animation-delay: 160ms; }
  [data-wdp-reveal].is-in .wdp-pillar:nth-child(4),
  [data-wdp-reveal].is-in .wdp-include__item:nth-child(4),
  [data-wdp-reveal].is-in .wdp-process li:nth-child(4),
  [data-wdp-reveal].is-in .wdp-work__card:nth-child(4),
  [data-wdp-reveal].is-in .wdp-stats > div:nth-child(4),
  [data-wdp-reveal].is-in .wdp-tech li:nth-child(4) { animation-delay: 220ms; }
  [data-wdp-reveal].is-in .wdp-include__item:nth-child(n + 5),
  [data-wdp-reveal].is-in .wdp-tech li:nth-child(n + 5) { animation-delay: 260ms; }
}

.wdp-about {
  display: grid;
  grid-template-columns: 1.05fr 0.95fr;
  gap: 56px;
  align-items: center;
}
.wdp-about__chips {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin: 18px 0 8px;
  padding: 0;
  list-style: none;
}
.wdp-about__chips li {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 8px 12px;
  border-radius: 999px;
  background: #fff;
  border: 1px solid var(--wdp-line);
  font-family: var(--wdp-ui);
  font-size: 12.5px;
  font-weight: 600;
  color: var(--wdp-text);
}
.wdp-about__chips svg {
  color: var(--wdp-cobalt);
  flex-shrink: 0;
}
.wdp-about__frame {
  position: relative;
  margin: 0;
}
.wdp-about__media {
  border-radius: 22px;
  overflow: hidden;
  box-shadow: 0 24px 48px rgba(11, 20, 36, 0.12);
  border: 1px solid rgba(11, 20, 36, 0.06);
}
.wdp-about__frame img {
  width: 100%;
  height: 420px;
  object-fit: cover;
  display: block;
  transition: transform 500ms var(--wdp-ease-out);
}
@media (hover: hover) and (pointer: fine) {
  .wdp-about__frame:hover img {
    transform: scale(1.03);
  }
}
.wdp-about__frame figcaption {
  margin-top: 12px;
  font-size: 13px;
  color: var(--wdp-muted);
  font-family: var(--wdp-ui);
}
.wdp-about__badge {
  position: absolute;
  left: -12px;
  bottom: 56px;
  background: #fff;
  border-radius: 16px;
  padding: 14px 16px;
  box-shadow: 0 16px 32px rgba(11, 20, 36, 0.14);
  border: 1px solid rgba(11, 20, 36, 0.06);
  min-width: 120px;
}
.wdp-about__badge strong {
  display: block;
  font-size: 26px;
  font-weight: 700;
  color: var(--wdp-cobalt);
  letter-spacing: -0.03em;
  line-height: 1;
}
.wdp-about__badge span {
  display: block;
  margin-top: 4px;
  font-size: 12px;
  font-weight: 600;
  color: var(--wdp-muted);
  max-width: 11ch;
  line-height: 1.3;
}

/* PHP / HTML grids only â€” never apply to Elementor .e-con wrappers (breaks .e-con-inner). */
.wdp-pillars:not(.elementor-section):not(.e-con) {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 16px;
}
.wdp-pillar:not(.elementor-column),
.wdp-svc:not(.elementor-column) {
  background: #fff;
  border: 1px solid var(--wdp-line);
  border-radius: 20px;
  padding: 26px 22px 28px;
  min-height: 100%;
  box-shadow: 0 8px 24px rgba(11, 20, 36, 0.04);
  transition: transform 180ms var(--wdp-ease-out), box-shadow 180ms ease, border-color 180ms ease;
  display: flex;
  flex-direction: column;
}
@media (hover: hover) and (pointer: fine) {
  .wdp-pillar:not(.elementor-column):hover,
  .wdp-svc:not(.elementor-column):hover {
    transform: translateY(-4px);
    border-color: rgba(0, 71, 171, 0.22);
    box-shadow: 0 18px 40px rgba(0, 71, 171, 0.1);
  }
  .wdp-pillar:not(.elementor-column):hover .wdp-pillar__icon,
  .wdp-svc:not(.elementor-column):hover .wdp-svc__icon {
    transform: translateY(-2px) scale(1.05);
  }
  .wdp-pillar:not(.elementor-column):hover .wdp-pillar__icon--design,
  .wdp-svc:not(.elementor-column):hover .wdp-svc__icon--design {
    box-shadow: 0 8px 22px rgba(0, 71, 171, 0.22);
    border-color: rgba(0, 71, 171, 0.32);
  }
  .wdp-pillar:not(.elementor-column):hover .wdp-pillar__icon--develop,
  .wdp-svc:not(.elementor-column):hover .wdp-svc__icon--develop {
    box-shadow: 0 8px 22px rgba(2, 80, 197, 0.22);
    border-color: rgba(2, 80, 197, 0.32);
  }
  .wdp-pillar:not(.elementor-column):hover .wdp-pillar__icon--seo,
  .wdp-svc:not(.elementor-column):hover .wdp-svc__icon--seo {
    box-shadow: 0 8px 22px rgba(238, 134, 34, 0.25);
    border-color: rgba(238, 134, 34, 0.38);
  }
  .wdp-pillar:not(.elementor-column):hover .wdp-pillar__icon--support,
  .wdp-svc:not(.elementor-column):hover .wdp-svc__icon--support {
    box-shadow: 0 8px 22px rgba(13, 148, 136, 0.22);
    border-color: rgba(13, 148, 136, 0.35);
  }
}
.wdp-pillar__icon,
.wdp-svc__icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 52px;
  height: 52px;
  border-radius: 14px;
  margin-bottom: 20px;
  position: relative;
  transition: transform 200ms var(--wdp-ease-out), box-shadow 200ms ease, border-color 200ms ease;
  box-shadow: 0 4px 12px rgba(11, 20, 36, 0.03);
}
.wdp-pillar__icon svg,
.wdp-svc__icon svg {
  width: 24px;
  height: 24px;
  display: block;
  transition: transform 200ms var(--wdp-ease-out);
}
.wdp-pillar__icon--design,
.wdp-svc__icon--design {
  color: #0047AB;
  background: linear-gradient(135deg, rgba(0, 71, 171, 0.12) 0%, rgba(0, 71, 171, 0.04) 100%);
  border: 1px solid rgba(0, 71, 171, 0.16);
}
.wdp-pillar__icon--develop,
.wdp-svc__icon--develop {
  color: #0250c5;
  background: linear-gradient(135deg, rgba(2, 80, 197, 0.13) 0%, rgba(14, 165, 233, 0.05) 100%);
  border: 1px solid rgba(2, 80, 197, 0.16);
}
.wdp-pillar__icon--seo,
.wdp-svc__icon--seo {
  color: #EE8622;
  background: linear-gradient(135deg, rgba(238, 134, 34, 0.15) 0%, rgba(245, 158, 11, 0.05) 100%);
  border: 1px solid rgba(238, 134, 34, 0.2);
}
.wdp-pillar__icon--support,
.wdp-svc__icon--support {
  color: #0d9488;
  background: linear-gradient(135deg, rgba(13, 148, 136, 0.14) 0%, rgba(14, 165, 233, 0.05) 100%);
  border: 1px solid rgba(13, 148, 136, 0.2);
}
.wdp-pillar__no,
.wdp-svc__num,
.wdp-card__num,
.elementor-33 .wdp-svc__num,
.wdp-front .wdp-svc__num,
.elementor-33 .wdp-pillar__no,
.wdp-front .wdp-pillar__no {
  display: none !important;
}
.wdp-pillar h3,
.wdp-svc h3 {
  font-size: 22px;
  margin: 0 0 10px;
  line-height: 1.25;
}
.wdp-pillar p,
.wdp-pillar li,
.wdp-svc p,
.wdp-svc li {
  color: var(--wdp-muted);
  font-size: 14px;
}
.wdp-pillar ul,
.wdp-svc ul {
  margin: 16px 0 0;
  padding: 0;
  list-style: none;
  margin-top: auto;
}
.wdp-pillar li,
.wdp-svc li {
  padding: 7px 0 7px 14px;
  position: relative;
  border-top: 1px solid var(--wdp-line);
}
.wdp-pillar li::before,
.wdp-svc li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 14px;
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: var(--wdp-cobalt);
}

.wdp-include {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 14px;
  padding: 0;
  margin: 0;
  list-style: none;
}
.wdp-include__item {
  background: #fff;
  padding: 22px 20px 24px;
  display: grid;
  gap: 8px;
  border-radius: 18px;
  border: 1px solid var(--wdp-line);
  box-shadow: 0 8px 22px rgba(11, 20, 36, 0.04);
  transition: transform 180ms var(--wdp-ease-out), box-shadow 180ms ease, border-color 180ms ease;
}
@media (hover: hover) and (pointer: fine) {
  .wdp-include__item:hover {
    transform: translateY(-3px);
    border-color: rgba(0, 71, 171, 0.2);
    box-shadow: 0 14px 32px rgba(0, 71, 171, 0.08);
  }
  .wdp-include__item:hover .wdp-include__icon {
    color: var(--wdp-cobalt);
    background: rgba(0, 71, 171, 0.1);
  }
}
.wdp-include__icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 40px;
  height: 40px;
  border-radius: 12px;
  background: var(--wdp-paper);
  color: var(--wdp-ink-2);
  margin-bottom: 4px;
  transition: color 180ms ease, background-color 180ms ease;
}
.wdp-include__item strong {
  font-family: var(--wdp-display);
  font-size: 17px;
  font-weight: 700;
  color: var(--wdp-ink);
  letter-spacing: -0.02em;
}
.wdp-include__item > span:last-child {
  color: var(--wdp-muted);
  font-size: 14px;
  line-height: 1.5;
}

.wdp-process {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 16px;
  margin: 0;
  padding: 0;
  list-style: none;
  counter-reset: step;
}
.wdp-process li {
  position: relative;
  background: #fff;
  border: 1px solid rgba(0, 71, 171, 0.1);
  border-radius: 20px;
  padding: 22px 20px 24px;
  counter-increment: step;
  box-shadow: 0 10px 28px rgba(11, 20, 36, 0.05);
  transition: transform 180ms var(--wdp-ease-out), box-shadow 180ms ease, border-color 180ms ease;
}
@media (hover: hover) and (pointer: fine) {
  .wdp-process li:hover {
    transform: translateY(-3px);
    border-color: rgba(238, 134, 34, 0.28);
    box-shadow: 0 16px 36px rgba(0, 71, 171, 0.08);
  }
}
.wdp-process li::before {
  content: counter(step, decimal-leading-zero);
  display: block;
  font-family: var(--wdp-ui);
  font-size: 11px;
  letter-spacing: 0.14em;
  color: var(--wdp-signal);
  margin-bottom: 14px;
}
.wdp-process__icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 42px;
  height: 42px;
  border-radius: 12px;
  background: rgba(0, 71, 171, 0.08);
  color: var(--wdp-cobalt);
  margin-bottom: 14px;
}
.wdp-process h3 {
  font-size: 22px;
  margin: 0 0 8px;
}
.wdp-process p {
  margin: 0;
  color: var(--wdp-muted);
  font-size: 14px;
}

.wdp-work__head {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 24px;
  margin-bottom: 36px;
}
.wdp-work__head > div {
  flex: 1;
  max-width: 680px;
}
.wdp-work__head .wdp-kicker {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 5px 12px;
  border-radius: 999px;
  background: rgba(0, 71, 171, 0.06);
  border: 1px solid rgba(0, 71, 171, 0.12);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.12em;
  margin-bottom: 12px;
}
.wdp-kicker__dot,
.wdp-work__badge-dot {
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: var(--wdp-signal);
  display: inline-block;
  box-shadow: 0 0 6px rgba(238, 134, 34, 0.6);
}
.wdp-work__all {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 10px 22px;
  border-radius: 999px;
  background: #fff;
  border: 1.5px solid rgba(0, 71, 171, 0.15);
  color: var(--wdp-cobalt);
  font-family: var(--wdp-ui);
  font-size: 13.5px;
  font-weight: 700;
  text-decoration: none;
  white-space: nowrap;
  box-shadow: 0 4px 14px rgba(11, 20, 36, 0.04);
  transition: all 220ms var(--wdp-ease-out);
  margin-bottom: 8px;
}
.wdp-work__all:hover {
  background: var(--wdp-cobalt);
  color: #fff;
  border-color: var(--wdp-cobalt);
  transform: translateY(-2px);
  box-shadow: 0 8px 24px rgba(0, 71, 171, 0.22);
}
.wdp-work__all span {
  display: inline-block;
  transition: transform 220ms var(--wdp-ease-out);
}
.wdp-work__all:hover span {
  transform: translateX(4px);
}

.wdp-work {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 28px;
  align-items: start;
}
.wdp-work__rail {
  display: contents;
}
.wdp-work__card {
  position: relative;
  background: linear-gradient(180deg, #ffffff 0%, #fbfdff 100%);
  border-radius: 20px;
  overflow: hidden;
  border: 1px solid rgba(11, 20, 36, 0.08);
  box-shadow: 0 8px 24px -4px rgba(11, 20, 36, 0.04), 0 2px 6px -1px rgba(11, 20, 36, 0.02);
  display: flex;
  flex-direction: column;
  height: auto;
  align-self: start;
  transition: transform 280ms var(--wdp-ease-out), box-shadow 280ms var(--wdp-ease-out), border-color 280ms ease;
}
.wdp-work__card::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 3px;
  background: linear-gradient(90deg, var(--wdp-cobalt) 0%, #3b82f6 50%, var(--wdp-signal) 100%);
  opacity: 0;
  transition: opacity 280ms ease;
  z-index: 3;
}
@media (hover: hover) and (pointer: fine) {
  .wdp-work__card:hover {
    transform: translateY(-6px);
    border-color: rgba(0, 71, 171, 0.25);
    box-shadow: 0 20px 40px -10px rgba(0, 71, 171, 0.12), 0 8px 24px -4px rgba(11, 20, 36, 0.05);
  }
  .wdp-work__card:hover::before {
    opacity: 1;
  }
  .wdp-work__card:hover .wdp-work__media img {
    transform: scale(1.045);
  }
  .wdp-work__card:hover .wdp-work__more {
    background: var(--wdp-cobalt);
    color: #ffffff;
    border-color: var(--wdp-cobalt);
    box-shadow: 0 6px 16px rgba(0, 71, 171, 0.28);
  }
  .wdp-work__card:hover .wdp-work__more .wdp-work__arrow-icon,
  .wdp-work__card:hover .wdp-work__more span {
    transform: translateX(4px);
  }
  .wdp-work__card:hover .wdp-work__badge,
  .wdp-work__card:hover .wdp-work__body > span:first-child:not(.wdp-work__tags span) {
    background: rgba(0, 71, 171, 0.1);
    border-color: rgba(0, 71, 171, 0.22);
  }
}
.wdp-work__media {
  position: relative;
  background: linear-gradient(180deg, #f1f5f9 0%, #e2e8f0 100%);
  padding: 12px 14px 0;
  overflow: hidden;
  border-bottom: 1px solid rgba(11, 20, 36, 0.06);
}
.wdp-work__browser {
  display: flex;
  align-items: center;
  gap: 6px;
  padding: 2px 4px 8px;
}
.wdp-work__browser span {
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: #cbd5e1;
  display: inline-block;
}
.wdp-work__browser span:nth-child(1) { background: #fda4af; }
.wdp-work__browser span:nth-child(2) { background: #fde047; }
.wdp-work__browser span:nth-child(3) { background: #86efac; }
.wdp-work__img-wrap {
  border-radius: 10px 10px 0 0;
  overflow: hidden;
  box-shadow: 0 -2px 10px rgba(11, 20, 36, 0.04);
  background: #fff;
  line-height: 0;
}
.wdp-work__media img {
  width: 100%;
  height: 230px;
  object-fit: cover;
  object-position: top center;
  display: block;
  transition: transform 480ms var(--wdp-ease-out);
}
.wdp-work__body {
  padding: 20px 22px 24px;
  display: flex;
  flex-direction: column;
  flex: none;
  text-align: left;
}
.wdp-work__meta {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 8px;
}
.wdp-work__badge,
.wdp-work__body > span:first-child:not(.wdp-work__tags span) {
  font-family: var(--wdp-ui);
  font-size: 11px;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--wdp-cobalt);
  font-weight: 700;
  padding: 4px 11px;
  border-radius: 999px;
  background: rgba(0, 71, 171, 0.06);
  border: 1px solid rgba(0, 71, 171, 0.12);
  display: inline-flex;
  align-items: center;
  gap: 6px;
  width: fit-content;
  line-height: 1.2;
  transition: background 200ms ease, border-color 200ms ease;
}
.wdp-work__body h3 {
  margin: 6px 0 8px;
  font-size: 21px;
  font-weight: 700;
  line-height: 1.28;
  color: var(--wdp-ink);
  text-align: left;
}
.wdp-work__body p {
  margin: 0 0 14px;
  color: #64748b;
  font-size: 13.5px;
  line-height: 1.55;
  flex: none;
  text-align: left;
}
.wdp-work__tags {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  margin-bottom: 16px;
}
  margin-bottom: 20px;
}
.wdp-work__tags span {
  font-family: var(--wdp-ui);
  font-size: 11px;
  font-weight: 600;
  color: #475569;
  background: #f1f5f9;
  padding: 4px 10px;
  border-radius: 6px;
  border: 1px solid rgba(148, 163, 184, 0.25);
  line-height: 1.3;
  letter-spacing: 0;
  text-transform: none;
  display: inline-flex;
  align-items: center;
  transition: color 200ms ease, border-color 200ms ease, background 200ms ease;
}
.wdp-work__more {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-family: var(--wdp-ui);
  font-size: 12.5px;
  font-weight: 700;
  color: var(--wdp-cobalt);
  text-decoration: none;
  padding: 7px 15px;
  background: rgba(0, 71, 171, 0.05);
  border: 1px solid rgba(0, 71, 171, 0.14);
  border-radius: 999px;
  width: fit-content;
  transition: all 220ms var(--wdp-ease-out);
  margin-top: 0;
}
.wdp-work__more .wdp-work__arrow-icon,
.wdp-work__more span {
  display: inline-block;
  transition: transform 220ms var(--wdp-ease-out);
}

.wdp-quotes {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 14px;
  margin-bottom: 28px;
}
.wdp-quote {
  margin: 0;
  background: #fff;
  border: 1px solid var(--wdp-line);
  border-radius: 20px;
  padding: 22px 20px 20px;
  box-shadow: 0 10px 28px rgba(11, 20, 36, 0.04);
  display: flex;
  flex-direction: column;
  gap: 14px;
}
.wdp-quote__mark {
  display: inline-flex;
  color: var(--wdp-cobalt);
  opacity: 0.7;
}
.wdp-quote p {
  margin: 0;
  font-size: 15.5px;
  line-height: 1.55;
  color: var(--wdp-text);
  flex: 1;
}
.wdp-quote footer {
  display: flex;
  flex-direction: column;
  gap: 2px;
  padding-top: 12px;
  border-top: 1px solid var(--wdp-line);
}
.wdp-quote footer strong {
  font-size: 14px;
  color: var(--wdp-ink);
}
.wdp-quote footer span {
  font-size: 12.5px;
  color: var(--wdp-muted);
}

.wdp-stats {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 14px;
  margin-bottom: 28px;
}
.wdp-stats div {
  padding: 20px 18px;
  background: #fff;
  border-radius: 18px;
  border: 1px solid var(--wdp-line);
  box-shadow: 0 8px 22px rgba(11, 20, 36, 0.04);
}
.wdp-stats strong {
  display: block;
  font-family: var(--wdp-display);
  font-size: 26px;
  font-weight: 700;
  letter-spacing: -0.03em;
  color: var(--wdp-cobalt);
  margin-bottom: 6px;
}
.wdp-stats span {
  color: var(--wdp-muted);
  font-size: 13px;
  line-height: 1.4;
}

.wdp-compare {
  background: #fff;
  border: 1px solid var(--wdp-line);
  border-radius: 20px;
  overflow: hidden;
  box-shadow: 0 10px 28px rgba(11, 20, 36, 0.04);
}
.wdp-compare__head,
.wdp-compare__row {
  display: grid;
  grid-template-columns: 1fr 1fr;
}
.wdp-compare__head {
  font-family: var(--wdp-ui);
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  border-bottom: 2px solid var(--wdp-cobalt);
  color: var(--wdp-muted);
}
.wdp-compare__head span,
.wdp-compare__row span {
  padding: 16px 22px;
}
.wdp-compare__head span:last-child,
.wdp-compare__row span:last-child {
  background: #eef3fb;
  color: var(--wdp-ink);
  font-weight: 600;
}
.wdp-compare__row {
  border-top: 1px solid var(--wdp-line);
  font-size: 15px;
}
.wdp-compare__row span:first-child {
  color: #6a778b;
}
.wdp-compare__row span:last-child {
  display: inline-flex;
  align-items: flex-start;
  gap: 8px;
}
.wdp-compare__row span:last-child svg {
  color: var(--wdp-cobalt);
  flex-shrink: 0;
  margin-top: 3px;
}

.wdp-prices:not(.elementor-section):not(.e-con) {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 16px;
  align-items: stretch;
}
.wdp-prices article,
.elementor-section.wdp-prices > .elementor-container > .elementor-column > .elementor-widget-wrap {
  background: #fff;
  border: 1px solid var(--wdp-line);
  border-radius: 20px;
  padding: 28px 24px;
  display: flex;
  flex-direction: column;
  box-shadow: 0 10px 28px rgba(11, 20, 36, 0.05);
  transition: transform 180ms var(--wdp-ease-out), box-shadow 180ms ease;
  height: 100%;
  box-sizing: border-box;
}
@media (hover: hover) and (pointer: fine) {
  .wdp-prices article:not(.wdp-prices__featured):hover,
  .elementor-section.wdp-prices > .elementor-container > .elementor-column:not(.wdp-prices__featured):hover > .elementor-widget-wrap {
    transform: translateY(-3px);
    box-shadow: 0 16px 36px rgba(11, 20, 36, 0.08);
  }
}
.wdp-prices__label {
  margin: 0 0 10px;
  font-family: var(--wdp-ui);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--wdp-signal);
}
.wdp-prices__featured .wdp-prices__label {
  color: #f5b06a;
}
.wdp-prices article.wdp-prices__featured,
.elementor-column.wdp-prices__featured > .elementor-widget-wrap {
  background: linear-gradient(165deg, var(--wdp-cobalt) 0%, var(--wdp-cobalt-2) 100%);
  color: #e8eef8;
  border-color: transparent;
  transform: translateY(-8px);
  box-shadow: 0 22px 44px rgba(0, 71, 171, 0.28);
}
.wdp-prices__featured h3,
.wdp-prices h3 {
  font-size: 26px;
  margin: 0 0 10px;
}
.wdp-prices__featured h3 {
  color: #fff;
}
.wdp-prices > article > p,
.wdp-prices .elementor-widget-text-editor p {
  color: var(--wdp-muted);
}
.wdp-prices__featured > p,
.wdp-prices__featured .elementor-widget-text-editor p {
  color: rgba(255, 255, 255, 0.82);
}
.wdp-prices ul {
  margin: 8px 0 24px;
  padding: 0;
  list-style: none;
  flex: 1;
}
.wdp-prices li {
  display: flex;
  align-items: flex-start;
  gap: 8px;
  padding: 9px 0;
  border-top: 1px solid var(--wdp-line);
  font-size: 14px;
}
.wdp-prices li svg {
  color: var(--wdp-cobalt);
  flex-shrink: 0;
  margin-top: 2px;
}
.wdp-prices__featured li {
  border-color: rgba(255, 255, 255, 0.12);
}
.wdp-prices__featured li svg {
  color: #ffc46b;
}
.wdp-prices .wdp-btn {
  align-self: flex-start;
}
.wdp-prices__featured .wdp-btn--solid {
  background: #fff;
  color: var(--wdp-cobalt);
}
.wdp-prices__featured .wdp-btn--solid:hover {
  background: #eef3fb;
  color: var(--wdp-cobalt-2);
}
.wdp-prices__note {
  margin: 22px 0 0;
  color: var(--wdp-muted);
  font-size: 14px;
}

.wdp-tech {
  display: grid;
  grid-template-columns: repeat(8, 1fr);
  gap: 10px;
  list-style: none;
  margin: 0;
  padding: 0;
}
.wdp-tech li {
  background: #fff;
  border: 1px solid var(--wdp-line);
  border-radius: 16px;
  padding: 16px 8px 14px;
  text-align: center;
  box-shadow: 0 6px 18px rgba(11, 20, 36, 0.03);
  transition: transform 160ms var(--wdp-ease-out), border-color 160ms ease, box-shadow 160ms ease;
}
@media (hover: hover) and (pointer: fine) {
  .wdp-tech li:hover {
    transform: translateY(-2px);
    border-color: rgba(0, 71, 171, 0.2);
    box-shadow: 0 12px 24px rgba(0, 71, 171, 0.08);
  }
}
.wdp-tech img {
  width: 40px;
  height: 40px;
  object-fit: contain;
}
.wdp-tech span {
  display: block;
  margin-top: 8px;
  font-size: 11px;
  color: var(--wdp-muted);
  font-family: var(--wdp-ui);
  font-weight: 600;
}

/* ==========================================================================
   Blog / Latest Insights Section
   ========================================================================== */
.wdp-blog {
  position: relative;
  background: var(--wdp-paper);
}

.wdp-blog__head {
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
  margin-bottom: 34px;
  gap: 24px;
}

.wdp-blog__head-copy {
  max-width: 680px;
}

.wdp-blog__kicker {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  margin: 0 0 10px;
  font-family: var(--wdp-ui);
  font-size: 11.5px;
  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: #0284c7;
}

.wdp-blog__kicker-dash {
  color: #0284c7;
  font-weight: 800;
}

.wdp-blog__heading,
.elementor-33 .wdp-blog__heading {
  font-family: var(--wdp-display) !important;
  font-size: clamp(28px, 3.8vw, 38px) !important;
  font-weight: 800 !important;
  letter-spacing: -0.025em !important;
  text-transform: uppercase !important;
  color: #0b1424 !important;
  line-height: 1.15 !important;
  margin: 0 0 10px !important;
}

.wdp-blog__subheading,
.elementor-33 .wdp-blog__subheading {
  font-family: var(--wdp-body) !important;
  font-size: 15.5px !important;
  color: #5a6b82 !important;
  line-height: 1.55 !important;
  margin: 0 !important;
  max-width: 520px !important;
}

.wdp-blog__view-all,
.elementor-33 .wdp-blog__view-all,
.wdp-front .wdp-blog__view-all {
  display: inline-flex !important;
  align-items: center !important;
  gap: 8px !important;
  padding: 10px 22px !important;
  border-radius: 999px !important;
  border: 1.5px solid #cbd5e1 !important;
  background: #ffffff !important;
  color: #0047ab !important;
  font-family: var(--wdp-ui) !important;
  font-size: 13.5px !important;
  font-weight: 700 !important;
  text-decoration: none !important;
  white-space: nowrap !important;
  box-shadow: 0 4px 14px rgba(11, 20, 36, 0.03) !important;
  transition: all 220ms var(--wdp-ease-out) !important;
}

.wdp-blog__view-all:hover,
.elementor-33 .wdp-blog__view-all:hover,
.wdp-front .wdp-blog__view-all:hover {
  background: #0047ab !important;
  color: #ffffff !important;
  border-color: #0047ab !important;
  transform: translateY(-2px) !important;
  box-shadow: 0 8px 24px rgba(0, 71, 171, 0.2) !important;
}

.wdp-blog__view-all .wdp-blog__arrow {
  display: inline-block;
  font-size: 14px;
  line-height: 1;
  transition: transform 220ms var(--wdp-ease-out);
}

.wdp-blog__view-all:hover .wdp-blog__arrow {
  transform: translate(2px, -2px);
}

/* Bento Grid */
.wdp-blog__grid,
.elementor-33 .wdp-blog__grid {
  display: grid !important;
  grid-template-columns: 1.14fr 0.86fr !important;
  gap: 26px !important;
  align-items: stretch !important;
}

/* Base Card Styling */
.wdp-blog__card,
.elementor-33 .wdp-blog__card {
  background: #ffffff !important;
  border: 1px solid rgba(226, 232, 240, 0.9) !important;
  border-radius: 20px !important;
  overflow: hidden !important;
  display: flex !important;
  flex-direction: column !important;
  box-shadow: 0 10px 30px -5px rgba(11, 20, 36, 0.04), 0 2px 8px -2px rgba(11, 20, 36, 0.02) !important;
  transition: transform 260ms var(--wdp-ease-out), box-shadow 260ms var(--wdp-ease-out), border-color 260ms ease !important;
}

.wdp-blog__card:hover,
.elementor-33 .wdp-blog__card:hover {
  transform: translateY(-4px) !important;
  border-color: rgba(186, 207, 238, 0.85) !important;
  box-shadow: 0 20px 40px -8px rgba(11, 20, 36, 0.08), 0 4px 12px -2px rgba(11, 20, 36, 0.03) !important;
}

/* Media / Top Image */
.wdp-blog__media,
.elementor-33 .wdp-blog__media {
  position: relative !important;
  background: #e2e8f0 !important;
  overflow: hidden !important;
  width: 100% !important;
}

.wdp-blog__card--featured .wdp-blog__media,
.elementor-33 .wdp-blog__card--featured .wdp-blog__media {
  height: 280px !important;
}

.wdp-blog__card--stacked .wdp-blog__media,
.elementor-33 .wdp-blog__card--stacked .wdp-blog__media {
  height: 170px !important;
}

.wdp-blog__media img,
.elementor-33 .wdp-blog__media img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  display: block !important;
  transition: transform 450ms var(--wdp-ease-out) !important;
}

.wdp-blog__card:hover .wdp-blog__media img,
.elementor-33 .wdp-blog__card:hover .wdp-blog__media img {
  transform: scale(1.03) !important;
}

/* Card Body & Content */
.wdp-blog__body,
.elementor-33 .wdp-blog__body {
  display: flex !important;
  flex-direction: column !important;
  justify-content: space-between !important;
  flex: 1 !important;
  padding: 24px 26px !important;
  background: #ffffff !important;
}

.wdp-blog__card--stacked .wdp-blog__body,
.elementor-33 .wdp-blog__card--stacked .wdp-blog__body {
  padding: 20px 24px !important;
}

/* Meta bar (Badges, Date, Read time, Index number) */
.wdp-blog__meta,
.elementor-33 .wdp-blog__meta {
  display: flex !important;
  justify-content: space-between !important;
  align-items: center !important;
  margin-bottom: 12px !important;
}

.wdp-blog__meta-left,
.elementor-33 .wdp-blog__meta-left {
  display: flex !important;
  align-items: center !important;
  gap: 8px !important;
  flex-wrap: wrap !important;
}

.wdp-blog__badge,
.elementor-33 .wdp-blog__badge {
  background: #0047ab !important;
  color: #ffffff !important;
  font-family: var(--wdp-ui) !important;
  font-size: 10.5px !important;
  font-weight: 700 !important;
  letter-spacing: 0.04em !important;
  text-transform: uppercase !important;
  padding: 3.5px 10px !important;
  border-radius: 999px !important;
  display: inline-flex !important;
  align-items: center !important;
  line-height: 1 !important;
}

.wdp-blog__dot,
.elementor-33 .wdp-blog__dot {
  color: #94a3b8 !important;
  font-size: 11px !important;
  user-select: none !important;
}

.wdp-blog__date,
.wdp-blog__read,
.elementor-33 .wdp-blog__date,
.elementor-33 .wdp-blog__read {
  font-family: var(--wdp-ui) !important;
  font-size: 11.5px !important;
  font-weight: 600 !important;
  color: #64748b !important;
  letter-spacing: 0.03em !important;
  text-transform: uppercase !important;
}

.wdp-blog__index,
.elementor-33 .wdp-blog__index {
  font-family: var(--wdp-display) !important;
  font-size: 20px !important;
  font-weight: 800 !important;
  color: #cbd5e1 !important;
  line-height: 1 !important;
  letter-spacing: -0.02em !important;
}

/* Post Titles */
.wdp-blog__title,
.elementor-33 .wdp-blog__title {
  margin: 10px 0 8px !important;
  line-height: 1.25 !important;
  font-family: var(--wdp-display) !important;
  font-weight: 800 !important;
  letter-spacing: -0.015em !important;
  text-transform: uppercase !important;
}

.wdp-blog__card--featured .wdp-blog__title,
.elementor-33 .wdp-blog__card--featured .wdp-blog__title {
  font-size: 22px !important;
}

.wdp-blog__card--stacked .wdp-blog__title,
.elementor-33 .wdp-blog__card--stacked .wdp-blog__title {
  font-size: 16.5px !important;
}

.wdp-blog__title a,
.elementor-33 .wdp-blog__title a {
  color: #0b1424 !important;
  text-decoration: none !important;
  transition: color 180ms ease !important;
}

.wdp-blog__card:hover .wdp-blog__title a,
.elementor-33 .wdp-blog__card:hover .wdp-blog__title a {
  color: #0047ab !important;
}

/* Excerpts */
.wdp-blog__desc,
.elementor-33 .wdp-blog__desc {
  color: #64748b !important;
  line-height: 1.5 !important;
  margin: 0 0 16px !important;
  font-family: var(--wdp-body) !important;
}

.wdp-blog__card--featured .wdp-blog__desc,
.elementor-33 .wdp-blog__card--featured .wdp-blog__desc {
  font-size: 14px !important;
}

.wdp-blog__card--stacked .wdp-blog__desc,
.elementor-33 .wdp-blog__card--stacked .wdp-blog__desc {
  font-size: 12.8px !important;
}

/* Footer / Author Block & Read Link */
.wdp-blog__footer,
.elementor-33 .wdp-blog__footer {
  display: flex !important;
  justify-content: space-between !important;
  align-items: flex-end !important;
  margin-top: auto !important;
  padding-top: 14px !important;
  border-top: 1px solid rgba(241, 245, 249, 0.9) !important;
}

.wdp-blog__author-name,
.elementor-33 .wdp-blog__author-name {
  display: block !important;
  font-family: var(--wdp-ui) !important;
  font-size: 13.5px !important;
  font-weight: 700 !important;
  color: #0b1424 !important;
  line-height: 1.25 !important;
}

.wdp-blog__author-role,
.elementor-33 .wdp-blog__author-role {
  display: block !important;
  font-family: var(--wdp-ui) !important;
  font-size: 12px !important;
  color: #94a3b8 !important;
  margin-top: 2px !important;
  line-height: 1.2 !important;
}

.wdp-blog__link,
.elementor-33 .wdp-blog__link {
  display: inline-flex !important;
  align-items: center !important;
  gap: 4px !important;
  font-family: var(--wdp-ui) !important;
  font-size: 13.5px !important;
  font-weight: 700 !important;
  color: #0047ab !important;
  text-decoration: none !important;
  transition: color 180ms ease, transform 180ms ease !important;
  white-space: nowrap !important;
}

.wdp-blog__link-arrow,
.elementor-33 .wdp-blog__link-arrow {
  display: inline-block !important;
  font-size: 14px !important;
  line-height: 1 !important;
  transition: transform 180ms var(--wdp-ease-out) !important;
}

.wdp-blog__card:hover .wdp-blog__link,
.elementor-33 .wdp-blog__card:hover .wdp-blog__link {
  color: #003888 !important;
}

.wdp-blog__card:hover .wdp-blog__link-arrow,
.elementor-33 .wdp-blog__card:hover .wdp-blog__link-arrow {
  transform: translate(2px, -2px) !important;
}

/* Stack Column in Right Grid */
.wdp-blog__stack,
.elementor-33 .wdp-blog__stack {
  display: flex !important;
  flex-direction: column !important;
  gap: 24px !important;
  justify-content: space-between !important;
  height: 100% !important;
}

/* Responsive Rules for Blog Section */
@media (max-width: 980px) {
  .wdp-blog__head,
  .elementor-33 .wdp-blog__head {
    flex-direction: column !important;
    align-items: flex-start !important;
    gap: 16px !important;
  }
  .wdp-blog__grid,
  .elementor-33 .wdp-blog__grid {
    grid-template-columns: 1fr !important;
    gap: 24px !important;
  }
  .wdp-blog__card--featured .wdp-blog__media,
  .elementor-33 .wdp-blog__card--featured .wdp-blog__media {
    height: 240px !important;
  }
  .wdp-blog__card--stacked .wdp-blog__media,
  .elementor-33 .wdp-blog__card--stacked .wdp-blog__media {
    height: 200px !important;
  }
}

@media (max-width: 640px) {
  .wdp-blog__card--featured .wdp-blog__media,
  .elementor-33 .wdp-blog__card--featured .wdp-blog__media {
    height: 190px !important;
  }
  .wdp-blog__card--stacked .wdp-blog__media,
  .elementor-33 .wdp-blog__card--stacked .wdp-blog__media {
    height: 170px !important;
  }
  .wdp-blog__body,
  .elementor-33 .wdp-blog__body,
  .wdp-blog__card--stacked .wdp-blog__body,
  .elementor-33 .wdp-blog__card--stacked .wdp-blog__body {
    padding: 18px 16px !important;
  }
  .wdp-blog__card--featured .wdp-blog__title,
  .elementor-33 .wdp-blog__card--featured .wdp-blog__title {
    font-size: 18px !important;
  }
  .wdp-blog__card--stacked .wdp-blog__title,
  .elementor-33 .wdp-blog__card--stacked .wdp-blog__title {
    font-size: 15px !important;
  }
  .wdp-blog__index,
  .elementor-33 .wdp-blog__index {
    font-size: 18px !important;
  }
}

.wdp-faq:not(.elementor-section):not(.e-con) {
  display: grid;
  grid-template-columns: 0.85fr 1.15fr;
  gap: 48px;
  align-items: start;
}
.wdp-faq__aside {
  color: var(--wdp-muted);
  margin: 0 0 18px;
  max-width: 36ch;
}
.wdp-faq__list details {
  background: #fff;
  border: 1px solid var(--wdp-line);
  border-radius: 16px;
  margin-bottom: 10px;
  padding: 0 18px;
  box-shadow: 0 6px 18px rgba(11, 20, 36, 0.03);
  transition: border-color 160ms ease, box-shadow 160ms ease;
}
.wdp-faq__list details[open] {
  border-color: rgba(0, 71, 171, 0.22);
  box-shadow: 0 12px 28px rgba(0, 71, 171, 0.07);
}
.wdp-faq summary {
  cursor: pointer;
  list-style: none;
  padding: 18px 0;
  font-family: var(--wdp-display);
  font-size: 17px;
  font-weight: 700;
  color: var(--wdp-ink);
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
}
.wdp-faq summary::-webkit-details-marker {
  display: none;
}
.wdp-faq__icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 28px;
  height: 28px;
  border-radius: 999px;
  background: var(--wdp-paper);
  color: var(--wdp-cobalt);
  flex-shrink: 0;
  transition: transform 200ms var(--wdp-ease-out);
}
.wdp-faq details[open] .wdp-faq__icon {
  transform: rotate(45deg);
  background: rgba(0, 71, 171, 0.1);
}
.wdp-faq details p {
  margin: 0 0 18px;
  color: var(--wdp-muted);
  max-width: 62ch;
}

.wdp-cta {
  background:
    radial-gradient(700px 260px at 85% 20%, rgba(238, 134, 34, 0.14), transparent 55%),
    radial-gradient(900px 300px at 10% 80%, rgba(0, 71, 171, 0.14), transparent 55%),
    linear-gradient(180deg, #e8f0fb 0%, #dce8f7 100%);
  color: var(--wdp-text);
  padding: 88px 0;
}
.wdp-cta h2 {
  color: var(--wdp-ink);
  font-size: clamp(30px, 4.2vw, 48px);
  max-width: 16ch;
  font-weight: 700;
}
.wdp-cta__grid {
  display: grid;
  grid-template-columns: 1.1fr 0.9fr;
  gap: 40px;
  align-items: end;
}
.wdp-cta__meta {
  display: flex;
  flex-wrap: wrap;
  gap: 10px 18px;
  margin: 18px 0 0;
  padding: 0;
  list-style: none;
}
.wdp-cta__meta li {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-family: var(--wdp-ui);
  font-size: 13px;
  font-weight: 600;
  color: var(--wdp-muted);
}
.wdp-cta__meta svg {
  color: var(--wdp-cobalt);
}
.wdp-cta__actions:not(.elementor-column) {
  display: grid;
  gap: 10px;
  justify-items: stretch;
}
.wdp-cta__actions .wdp-btn,
.wdp-cta__actions .elementor-button {
  justify-content: center;
}
.wdp-cta .wdp-btn--light {
  background: var(--wdp-white);
  color: var(--wdp-ink);
  border: 1px solid var(--wdp-line);
}
.wdp-cta .wdp-btn--light:hover {
  border-color: var(--wdp-cobalt);
  color: var(--wdp-cobalt);
}
.wdp-cta .wdp-btn--solid {
  background: var(--wdp-wa);
  border-color: transparent;
}
.wdp-cta .wdp-btn--solid:hover {
  background: #1ebe57;
  color: #fff;
}

.wdp-footer {
  background: #0f1724;
  color: #9aa9c0;
  padding: 64px 0 28px;
}
.wdp-footer__top {
  display: grid;
  grid-template-columns: 1.3fr 0.8fr 0.8fr 1fr;
  gap: 32px;
}
.wdp-footer img {
  height: 34px;
  width: auto;
  filter: brightness(0) invert(1);
  margin-bottom: 14px;
}
.wdp-footer__brand p {
  margin: 0 0 16px;
  max-width: 36ch;
  line-height: 1.55;
}
.wdp-footer__social {
  display: flex;
  gap: 8px;
}
.wdp-footer__social a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 34px;
  height: 34px;
  border-radius: 999px;
  border: 1px solid rgba(255, 255, 255, 0.12);
  color: #c5d0e0;
  line-height: 1;
  transition: background-color 160ms ease, color 160ms ease, border-color 160ms ease;
}
.wdp-footer__social a:hover {
  background: rgba(255, 255, 255, 0.08);
  color: #fff;
  border-color: rgba(255, 255, 255, 0.28);
}
.wdp-footer h2 {
  color: #fff;
  font-size: 14px;
  font-family: var(--wdp-ui);
  letter-spacing: 0.12em;
  text-transform: uppercase;
  margin: 0 0 14px;
}
.wdp-footer ul {
  list-style: none;
  margin: 0;
  padding: 0;
}
.wdp-footer li,
.wdp-footer a,
.wdp-footer span {
  color: #9aa9c0;
  text-decoration: none;
  font-size: 14px;
  line-height: 2;
}
.wdp-footer a:hover {
  color: #fff;
}
.wdp-footer__contact li a,
.wdp-footer__contact li span {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  line-height: 1.5;
  padding: 4px 0;
}
.wdp-footer__contact svg {
  flex-shrink: 0;
  opacity: 0.85;
}
.wdp-footer__cities {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 36px;
  padding-top: 22px;
  border-top: 1px solid rgba(255, 255, 255, 0.08);
}
.wdp-footer__cities span {
  font-family: var(--wdp-ui);
  font-size: 12px;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  padding: 6px 10px;
  border: 1px solid rgba(255, 255, 255, 0.1);
  border-radius: 999px;
  line-height: 1.2;
}
.wdp-footer__bottom {
  display: flex;
  justify-content: space-between;
  gap: 16px;
  flex-wrap: wrap;
  margin-top: 22px;
  font-size: 13px;
}

body.wdp-theme:not(.wdp-front) {
  padding-top: 0;
}
body.wdp-theme:not(.home):not(.wdp-front) .site-main {
  padding-top: 24px;
}

body.wdp-theme {
  overflow-x: hidden;
}

@media (max-width: 1200px) {
  .wdp-header__phone-text {
    display: none;
  }
  .wdp-pillars:not(.elementor-section):not(.e-con),
  .wdp-process,
  .wdp-stats,
  .wdp-tech {
    grid-template-columns: repeat(4, 1fr);
  }
}

@media (max-width: 1100px) {
  .wdp-mega__body {
    grid-template-columns: 1fr;
  }
  .wdp-mega__promo {
    min-height: 0;
    padding: 20px 18px;
  }
  .wdp-mega__promo .wdp-btn {
    margin-top: 8px;
  }
  .wdp-mega__cols {
    grid-template-columns: 1fr 1fr;
  }
  .wdp-mega__trust {
    grid-template-columns: 1fr 1fr;
  }
  .wdp-pillars:not(.elementor-section):not(.e-con),
  .wdp-process,
  .wdp-stats,
  .wdp-prices:not(.elementor-section):not(.e-con),
  .wdp-quotes {
    grid-template-columns: 1fr 1fr;
  }
  .wdp-tech {
    grid-template-columns: repeat(4, 1fr);
  }
}

/* Desktop chrome â€” force full nav above tablet; burger only â‰¤768 */
@media (min-width: 769px) {
  .wdp-nav {
    display: flex !important;
    visibility: visible !important;
    opacity: 1 !important;
  }
  .wdp-header__phone {
    display: inline-flex !important;
  }
  .wdp-header__actions .wdp-btn--solid {
    display: inline-flex !important;
  }
  .wdp-burger,
  .wdp-header .wdp-burger {
    display: none !important;
  }
  /* Theme Builder / ElementsKit leftovers must not replace WDP nav */
  body.wdp-front .elementskit-menu-hamburger,
  body.wdp-front .elementskit-menu-toggler,
  body.wdp-theme .elementor-location-header .elementskit-menu-hamburger {
    display: none !important;
  }
}

@media (max-width: 768px) {
  .wdp-nav,
  .wdp-header__phone {
    display: none !important;
  }
  .wdp-burger {
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
  }
}

@media (max-width: 980px) {
  .wdp-topbar__hours {
    display: none;
  }
  .wdp-hero__grid,
  .wdp-about,
  .wdp-faq:not(.elementor-section):not(.e-con),
  .wdp-cta__grid,
  .wdp-footer__top {
    grid-template-columns: 1fr;
  }
  .wdp-pillars:not(.elementor-section):not(.e-con),
  .wdp-process,
  .wdp-stats,
  .wdp-prices:not(.elementor-section):not(.e-con),
  .wdp-quotes {
    grid-template-columns: 1fr 1fr;
  }
  .wdp-include,
  .wdp-tech {
    grid-template-columns: repeat(2, 1fr);
  }
  .wdp-work {
    grid-template-columns: 1fr;
    gap: 24px;
  }
  .wdp-work__media img {
    height: 220px;
    min-height: 0;
    max-height: 280px;
  }
  .wdp-prices article.wdp-prices__featured,
  .elementor-column.wdp-prices__featured > .elementor-widget-wrap {
    transform: none;
  }
  .wdp-about__badge {
    left: 12px;
    bottom: 48px;
  }
  .wdp-hero {
    padding-top: 32px;
    padding-bottom: 28px;
  }
  .wdp-hero h1 {
    max-width: none;
  }
  .wdp-hero__scene {
    max-width: 440px;
    aspect-ratio: 1.1 / 1;
  }
  .wdp-section,
  .wdp-cta {
    padding: 64px 0;
  }
}

@media (max-width: 640px) {
  :root {
    --wdp-pad: 16px;
  }
  .wdp-topbar__meta a {
    display: none;
  }
  .wdp-header .wdp-btn--solid {
    display: none;
  }
  .wdp-mega__cols,
  .wdp-mega__trust {
    grid-template-columns: 1fr;
  }
  .wdp-pillars:not(.elementor-section):not(.e-con),
  .wdp-process,
  .wdp-stats,
  .wdp-prices:not(.elementor-section):not(.e-con),
  .wdp-include,
  .wdp-quotes,
  .wdp-tech {
    grid-template-columns: 1fr;
  }
  .wdp-tech {
    grid-template-columns: repeat(3, 1fr);
  }
  .wdp-hero h1 {
    font-size: 30px;
  }
  .wdp-hero__checks {
    gap: 8px 12px;
  }
  .wdp-hero__float--sat,
  .wdp-hero__float--projects {
    transform: scale(0.9);
  }
  .wdp-hero__float--projects {
    right: 0;
    top: 22%;
  }
  .wdp-hero__scene {
    max-width: 100%;
    aspect-ratio: 1 / 1;
  }
  .wdp-compare__head span,
  .wdp-compare__row span {
    padding: 12px 12px;
    font-size: 13px;
  }
  .wdp-about__frame img {
    height: 260px;
  }
  .wdp-about__badge {
    position: relative;
    left: 0;
    bottom: 0;
    margin-top: 12px;
    display: inline-flex;
    align-items: center;
    gap: 10px;
    min-width: 0;
  }
  .wdp-about__badge span {
    max-width: none;
  }
  .wdp-work__body {
    padding: 16px 16px 20px;
  }
  .wdp-work__body h3 {
    font-size: 19px;
  }
  .wdp-work__media {
    padding: 10px 10px 0;
  }
  .wdp-work__media img {
    height: 190px;
    max-height: none;
  }
  .wdp-work__tags {
    margin-bottom: 12px;
  }
  .wdp-work__more {
    width: 100%;
    justify-content: center;
    padding: 9px 16px;
  }
  .wdp-work__all {
    width: 100%;
    justify-content: center;
  }
  .wdp-footer__bottom {
    flex-direction: column;
  }
}

/* â€”â€” Elementor homepage bridge (live front = Elementor document) â€”â€” */
body.elementor-editor-active .wdp-topbar,
body.elementor-editor-active .wdp-header,
body.elementor-editor-active .wdp-drawer,
body.elementor-editor-active .wdp-footer,
body.elementor-editor-preview .wdp-topbar,
body.elementor-editor-preview .wdp-header,
body.elementor-editor-preview .wdp-drawer,
body.elementor-editor-preview .wdp-footer,
.elementor-editor-active .wdp-topbar,
.elementor-editor-active .wdp-header,
.elementor-editor-active .wdp-drawer,
.elementor-editor-active .wdp-footer {
  display: none !important;
}

.wdp-theme .elementor {
  font-family: var(--wdp-body);
  color: var(--wdp-text);
}

.wdp-theme .elementor-section.wdp-hero > .elementor-container,
.wdp-theme .elementor-section.wdp-section > .elementor-container,
.wdp-theme .elementor-section.wdp-trust > .elementor-container,
.wdp-theme .elementor-section.wdp-cta > .elementor-container,
.wdp-theme .elementor-section.wdp-prices > .elementor-container,
.wdp-theme .elementor-section.wdp-pillars > .elementor-container,
.wdp-theme .elementor-section.wdp-faq > .elementor-container {
  max-width: var(--wdp-max) !important;
  width: var(--wdp-shell);
  margin-inline: auto;
  box-sizing: border-box;
}

.wdp-theme .elementor-section.wdp-hero,
.wdp-theme .elementor-section.wdp-section,
.wdp-theme .elementor-section.wdp-trust,
.wdp-theme .elementor-section.wdp-cta {
  overflow: hidden;
}

.wdp-theme .elementor-section.wdp-hero .elementor-column-gap-no > .elementor-column > .elementor-element-populated,
.wdp-theme .elementor-section.wdp-hero .elementor-column-gap-default > .elementor-column > .elementor-element-populated,
.wdp-theme .elementor-section.wdp-hero .elementor-column-gap-extended > .elementor-column > .elementor-element-populated,
.wdp-theme .elementor-section.wdp-section .elementor-column-gap-no > .elementor-column > .elementor-element-populated,
.wdp-theme .elementor-section.wdp-section .elementor-column-gap-default > .elementor-column > .elementor-element-populated,
.wdp-theme .elementor-section.wdp-section .elementor-column-gap-extended > .elementor-column > .elementor-element-populated,
.wdp-theme .elementor-section.wdp-trust .elementor-column-gap-no > .elementor-column > .elementor-element-populated,
.wdp-theme .elementor-section.wdp-cta .elementor-column-gap-extended > .elementor-column > .elementor-element-populated,
.wdp-theme .elementor-section.wdp-faq .elementor-column-gap-extended > .elementor-column > .elementor-element-populated {
  padding: 0;
}

.wdp-theme .elementor-section.wdp-pillars .elementor-column-gap-extended > .elementor-column > .elementor-element-populated,
.wdp-theme .elementor-section.wdp-prices .elementor-column-gap-extended > .elementor-column > .elementor-element-populated {
  padding: 8px;
}

.wdp-theme .elementor-heading-title {
  margin: 0;
  font-family: var(--wdp-display);
  font-weight: 700;
  letter-spacing: -0.025em;
  line-height: 1.15;
}

.wdp-theme .elementor-widget:not(:last-child) {
  margin-bottom: 14px;
}

.wdp-theme .elementor-widget-text-editor p {
  margin: 0 0 0.85em;
}
.wdp-theme .elementor-widget-text-editor p:last-child {
  margin-bottom: 0;
}

.wdp-theme .elementor-widget-image,
.wdp-theme .elementor-widget-image img {
  max-width: 100%;
  height: auto;
}
.wdp-theme .elementor-widget-image img {
  display: block;
  width: 100%;
}

/* Buttons: css_classes land on the widget wrapper */
.wdp-theme .elementor-widget.wdp-btn {
  width: auto;
  max-width: 100%;
}
.wdp-theme .elementor-widget.wdp-btn .elementor-button,
.wdp-theme .elementor-widget.wdp-btn .elementor-button:visited,
.wdp-theme .wdp-btn .elementor-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  min-height: 44px;
  padding: 0 18px;
  border-radius: 999px !important;
  font-family: var(--wdp-ui);
  font-size: 14px;
  font-weight: 600;
  line-height: 1.2;
  text-decoration: none;
  border: 1px solid transparent;
  fill: currentColor;
  transition: transform 140ms var(--wdp-ease-out), background-color 180ms ease, color 180ms ease, border-color 180ms ease;
  box-shadow: none;
}
.wdp-theme .elementor-widget.wdp-btn--lg .elementor-button {
  min-height: 52px;
  padding: 0 22px;
}
.wdp-theme .elementor-widget.wdp-btn--solid .elementor-button {
  background: #0047AB !important;
  background-color: #0047AB !important;
  color: #fff !important;
  border-color: transparent !important;
}
.wdp-theme .elementor-widget.wdp-btn--solid .elementor-button:hover {
  background: #003888 !important;
  background-color: #003888 !important;
  color: #fff !important;
}
.wdp-theme .elementor-widget.wdp-btn--wa .elementor-button {
  background: #fff !important;
  background-color: #fff !important;
  color: var(--wdp-cobalt) !important;
  border-color: var(--wdp-cobalt) !important;
}
.wdp-theme .elementor-widget.wdp-btn--wa .elementor-button:hover {
  border-color: var(--wdp-cobalt-2) !important;
  color: var(--wdp-cobalt-2) !important;
  background: #eef3fb !important;
  background-color: #eef3fb !important;
}
.wdp-theme .elementor-widget.wdp-btn--light .elementor-button {
  background: var(--wdp-white) !important;
  color: var(--wdp-cobalt) !important;
  border-color: transparent !important;
  box-shadow: 0 1px 2px rgba(11, 20, 36, 0.06);
}
.wdp-theme .elementor-widget.wdp-btn--light .elementor-button:hover {
  background: #eef3fb !important;
  color: var(--wdp-cobalt-2) !important;
}
.wdp-theme .elementor-widget.wdp-btn .elementor-button:active {
  transform: scale(0.97);
}
.wdp-theme .elementor-section .elementor-widget-button:not(.wdp-btn) .elementor-button {
  border-radius: 999px !important;
  font-family: var(--wdp-ui);
  font-weight: 600;
  min-height: 44px;
  padding: 0 18px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}
.wdp-theme a.elementor-button[href*="wa.me"],
.wdp-theme a.elementor-button[href*="whatsapp"],
.wdp-theme a.elementor-button[href^="tel:"],
.wdp-theme a.elementor-button[href^="mailto:"] {
  text-decoration: none;
}

/* Hero â€” Elementor columns replace .wdp-hero__grid */
.elementor-section.wdp-hero .wdp-hero__copy > .elementor-widget-wrap {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 10px 12px;
}
.elementor-section.wdp-hero .wdp-hero__copy > .elementor-widget-wrap > .elementor-element:not(.elementor-widget-button) {
  flex: 1 1 100%;
  width: 100%;
}
.elementor-section.wdp-hero .wdp-hero__copy > .elementor-widget-wrap > .elementor-widget-button {
  flex: 0 0 auto;
  width: auto;
  margin-bottom: 0;
  margin-top: 6px;
}
.elementor-section.wdp-hero .elementor-heading-title {
  color: var(--wdp-ink);
  font-size: clamp(32px, 4.2vw, 50px);
  max-width: 14ch;
  letter-spacing: -0.03em;
  line-height: 1.12;
}
.elementor-section.wdp-hero .wdp-hero__checks,
.elementor-section.wdp-hero .wdp-hero__checks .elementor-icon-list-items {
  display: flex;
  flex-wrap: wrap;
  gap: 8px 16px;
  padding: 0;
  margin: 6px 0 0;
  list-style: none;
}
.elementor-section.wdp-hero .wdp-hero__checks .elementor-icon-list-item {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  margin: 0;
  font-family: var(--wdp-ui);
  font-size: 13.5px;
  font-weight: 600;
  color: var(--wdp-text);
}
.elementor-section.wdp-hero .wdp-hero__checks .elementor-icon-list-icon {
  color: var(--wdp-cobalt);
}
.elementor-section.wdp-hero .wdp-hero__checks .elementor-icon-list-text {
  color: inherit;
}
.elementor-section.wdp-hero .wdp-hero__proof-text {
  margin-top: 4px;
}
@media (prefers-reduced-motion: no-preference) {
  .elementor-section.wdp-hero:not(.is-ready) .wdp-hero__copy > .elementor-widget-wrap > .elementor-element,
  .elementor-section.wdp-hero:not(.is-ready) .wdp-hero__scene {
    opacity: 0;
  }
}
.elementor-section.wdp-hero.is-ready .wdp-hero__copy > .elementor-widget-wrap > .elementor-element,
.elementor-section.wdp-hero.is-ready .wdp-hero__scene {
  animation: wdp-rise 700ms var(--wdp-ease-out) both;
}
.elementor-section.wdp-hero.is-ready .wdp-hero__copy > .elementor-widget-wrap > .elementor-element:nth-child(1) { animation-delay: 40ms; }
.elementor-section.wdp-hero.is-ready .wdp-hero__copy > .elementor-widget-wrap > .elementor-element:nth-child(2) { animation-delay: 110ms; }
.elementor-section.wdp-hero.is-ready .wdp-hero__copy > .elementor-widget-wrap > .elementor-element:nth-child(3) { animation-delay: 180ms; }
.elementor-section.wdp-hero.is-ready .wdp-hero__copy > .elementor-widget-wrap > .elementor-element:nth-child(4) { animation-delay: 250ms; }
.elementor-section.wdp-hero.is-ready .wdp-hero__copy > .elementor-widget-wrap > .elementor-element:nth-child(5) { animation-delay: 320ms; }
.elementor-section.wdp-hero.is-ready .wdp-hero__copy > .elementor-widget-wrap > .elementor-element:nth-child(6) { animation-delay: 390ms; }
.elementor-section.wdp-hero.is-ready .wdp-hero__copy > .elementor-widget-wrap > .elementor-element:nth-child(7) { animation-delay: 430ms; }

/* About */
.elementor-column.wdp-about__frame {
  position: relative;
}
.elementor-column.wdp-about__frame .elementor-widget-image img {
  height: 420px;
  object-fit: cover;
  border-radius: 22px;
  box-shadow: 0 24px 48px rgba(11, 20, 36, 0.12);
  border: 1px solid rgba(11, 20, 36, 0.06);
  transition: transform 500ms var(--wdp-ease-out);
}
@media (hover: hover) and (pointer: fine) {
  .elementor-column.wdp-about__frame:hover .elementor-widget-image img {
    transform: scale(1.03);
  }
}
.elementor-column.wdp-about__frame .wdp-about__badge {
  z-index: 2;
}
.elementor-section#about .elementor-heading-title,
.elementor-section.wdp-section .wdp-section__head .elementor-heading-title {
  font-size: clamp(30px, 4vw, 44px);
}

/* Pillars as Elementor columns */
.elementor-column.wdp-pillar {
  background: #fff;
  border: 1px solid var(--wdp-line);
  border-radius: 20px;
  box-shadow: 0 8px 24px rgba(11, 20, 36, 0.04);
  transition: transform 180ms var(--wdp-ease-out), box-shadow 180ms ease, border-color 180ms ease;
}
.elementor-column.wdp-pillar > .elementor-widget-wrap {
  padding: 24px 20px 26px !important;
  min-height: 100%;
  box-sizing: border-box;
}
@media (hover: hover) and (pointer: fine) {
  .elementor-column.wdp-pillar:hover {
    transform: translateY(-4px);
    border-color: rgba(0, 71, 171, 0.22);
    box-shadow: 0 18px 40px rgba(0, 71, 171, 0.1);
  }
  .elementor-column.wdp-pillar:hover .wdp-pillar__icon {
    transform: translateY(-2px) scale(1.05);
  }
}
.elementor-column.wdp-pillar .elementor-heading-title {
  font-size: 22px;
}

/* Process â€” keep light ink surface (override Elementor dark bg) */
.wdp-theme .elementor-section.wdp-section--ink {
  background:
    radial-gradient(800px 280px at 10% 0%, rgba(0, 71, 171, 0.1), transparent 60%),
    linear-gradient(180deg, #f0f5fc 0%, #e4ecf8 100%) !important;
  color: var(--wdp-text);
}
.wdp-theme .elementor-section.wdp-section--ink .elementor-heading-title {
  color: var(--wdp-ink) !important;
}
.wdp-theme .elementor-section.wdp-section--ink .elementor-widget-text-editor,
.wdp-theme .elementor-section.wdp-section--ink .elementor-widget-text-editor p {
  color: var(--wdp-muted) !important;
}

/* Pricing native buttons without wdp-btn classes */
.elementor-section.wdp-prices .elementor-widget-button .elementor-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 44px;
  padding: 0 18px;
  border-radius: 999px !important;
  font-family: var(--wdp-ui);
  font-size: 14px;
  font-weight: 600;
  margin-top: auto;
}
.elementor-column.wdp-prices__featured .elementor-heading-title {
  color: #fff !important;
}
.elementor-column.wdp-prices__featured .elementor-widget-button .elementor-button {
  background: #fff !important;
  color: var(--wdp-cobalt) !important;
}

/* FAQ â€” Elementor toggle */
.elementor-section.wdp-faq .wdp-faq__list .elementor-toggle-item {
  background: #fff;
  border: 1px solid var(--wdp-line);
  border-radius: 16px;
  margin-bottom: 10px;
  padding: 0 18px;
  box-shadow: 0 6px 18px rgba(11, 20, 36, 0.03);
}
.elementor-section.wdp-faq .wdp-faq__list .elementor-tab-title {
  font-family: var(--wdp-ui);
  font-weight: 600;
  color: var(--wdp-ink) !important;
  padding: 16px 0;
}
.elementor-section.wdp-faq .wdp-faq__list .elementor-tab-content {
  color: var(--wdp-muted);
  padding: 0 0 16px;
  border: 0;
}
.elementor-column.wdp-cta__actions > .elementor-widget-wrap {
  display: grid;
  gap: 10px;
  width: 100%;
}

/* CTA â€” cobalt band from Elementor sync */
.wdp-theme .elementor-section.wdp-cta {
  background:
    radial-gradient(700px 260px at 85% 20%, rgba(238, 134, 34, 0.22), transparent 55%),
    linear-gradient(165deg, var(--wdp-cobalt) 0%, var(--wdp-cobalt-2) 100%) !important;
  color: #e8eef8;
}
.wdp-theme .elementor-section.wdp-cta .elementor-heading-title {
  color: #fff !important;
  max-width: 16ch;
  font-size: clamp(30px, 4.2vw, 48px);
}
.wdp-theme .elementor-section.wdp-cta .elementor-widget-text-editor,
.wdp-theme .elementor-section.wdp-cta .elementor-widget-text-editor p {
  color: rgba(255, 255, 255, 0.88) !important;
}
.wdp-theme .elementor-section.wdp-cta .wdp-cta__meta li {
  color: rgba(255, 255, 255, 0.88);
}
.wdp-theme .elementor-section.wdp-cta .wdp-cta__meta svg {
  color: #ffc46b;
}
.wdp-theme .elementor-section.wdp-cta .elementor-widget.wdp-btn--solid .elementor-button {
  background: var(--wdp-wa) !important;
  color: #fff !important;
}
.wdp-theme .elementor-section.wdp-cta .elementor-widget.wdp-btn--solid .elementor-button:hover {
  background: #1ebe57 !important;
}
.wdp-theme .elementor-section.wdp-cta .elementor-widget.wdp-btn--light .elementor-button {
  background: #fff !important;
  color: var(--wdp-cobalt) !important;
}
.wdp-theme .elementor-section.wdp-cta .elementor-widget.wdp-btn--light .elementor-button:hover {
  background: #eef3fb !important;
}

@media (max-width: 980px) {
  .elementor-section.wdp-hero .elementor-heading-title {
    max-width: none;
  }
  .elementor-column.wdp-about__frame .elementor-widget-image img {
    height: 260px;
  }
  .elementor-column.wdp-about__frame .wdp-about__badge {
    position: relative;
    left: 0;
    bottom: 0;
    margin-top: 12px;
  }
  .elementor-section.wdp-pillars .elementor-column-gap-extended > .elementor-column > .elementor-element-populated,
  .elementor-section.wdp-prices .elementor-column-gap-extended > .elementor-column > .elementor-element-populated {
    padding: 6px 0;
  }
}

@media (max-width: 640px) {
  .elementor-section.wdp-hero .elementor-heading-title {
    font-size: 30px;
  }
  .elementor-section.wdp-hero .wdp-hero__copy > .elementor-widget-wrap > .elementor-widget-button {
    flex: 1 1 auto;
  }
  .elementor-section.wdp-hero .wdp-hero__copy > .elementor-widget-wrap > .elementor-widget-button .elementor-button {
    width: 100%;
  }
}

@media (prefers-reduced-motion: reduce) {
  .wdp-btn,
  .wdp-mega,
  .wdp-mega__link,
  .wdp-mega__link-go,
  .wdp-drawer__panel,
  .wdp-drawer__toggle span,
  .wdp-nav__chev,
  .wdp-hero.is-ready .wdp-hero__copy > *,
  .wdp-hero.is-ready .wdp-hero__scene,
  .elementor-section.wdp-hero.is-ready .wdp-hero__copy > .elementor-widget-wrap > .elementor-element,
  [data-wdp-reveal],
  [data-wdp-reveal].is-in .wdp-pillar,
  [data-wdp-reveal].is-in .wdp-include__item,
  [data-wdp-reveal].is-in .wdp-process li,
  [data-wdp-reveal].is-in .wdp-work__card,
  [data-wdp-reveal].is-in .wdp-quote,
  [data-wdp-reveal].is-in .wdp-stats > div,
  [data-wdp-reveal].is-in .wdp-prices article,
  [data-wdp-reveal].is-in .wdp-tech li {
    animation: none !important;
    transition: none !important;
    opacity: 1 !important;
    transform: none !important;
  }
}

/* â€”â€” Elementor Flexbox containers (page 33) â€” live home is .e-con, not classic sections â€”â€” */

/* 1) Force-visible: entrance animations leave widgets stuck .elementor-invisible */
.wdp-front .elementor-invisible,
.elementor-33 .elementor-invisible,
.wdp-front .elementor-invisible.elementor-widget,
.elementor-33 .elementor-invisible.elementor-widget {
  visibility: visible !important;
  opacity: 1 !important;
}
.wdp-front .elementor-invisible,
.elementor-33 .elementor-invisible {
  animation: none !important;
  animation-delay: 0s !important;
  transition-delay: 0s !important;
}
.wdp-front .elementor [class*="elementor-animation"],
.elementor-33 [class*="elementor-animation"] {
  animation-delay: 0s !important;
}

/* Neutralize WDP hero gate when is-ready is late / missing on Elementor */
.wdp-front .wdp-hero.e-con:not(.is-ready) .wdp-hero__copy > *,
.wdp-front .wdp-hero.e-con:not(.is-ready) .wdp-hero__scene,
.elementor-33 .wdp-hero:not(.is-ready) .wdp-hero__copy > *,
.elementor-33 .wdp-hero:not(.is-ready) .wdp-hero__scene,
.wdp-front .wdp-hero.e-con .elementor-widget,
.elementor-33 .wdp-hero .elementor-widget,
.wdp-front .wdp-hero .wdp-hero__scene,
.elementor-33 .wdp-hero .wdp-hero__scene,
.wdp-front .wdp-hero .wdp-hero__stage,
.elementor-33 .wdp-hero .wdp-hero__stage,
.wdp-front .wdp-hero .wdp-hero__device,
.elementor-33 .wdp-hero .wdp-hero__device,
.wdp-front .wdp-hero .wdp-hero__float,
.elementor-33 .wdp-hero .wdp-hero__float {
  opacity: 1 !important;
  visibility: visible !important;
  transform: none;
}

/* 2) Shell / overflow */
.wdp-front .elementor-33,
.elementor-33 {
  overflow-x: clip;
  max-width: 100%;
}
.wdp-front .elementor-33 > .e-con.e-con-boxed,
.elementor-33 > .e-con.e-con-boxed {
  --wdp-econ-pad: var(--wdp-pad);
}
.wdp-front .elementor-33 > .e-con.e-con-boxed > .e-con-inner,
.elementor-33 > .e-con.e-con-boxed > .e-con-inner {
  max-width: min(1200px, 100%) !important;
  width: 100%;
  margin-inline: auto;
  box-sizing: border-box;
  padding-inline: 0;
}

/* 3) Hero â€” true 2-col; keep mockup column visible */
.elementor-33 .wdp-hero.e-con,
.wdp-front .wdp-hero.e-con {
  overflow: visible !important;
  --container-widget-width: 100% !important;
  --width: 100% !important;
}
.elementor-33 .wdp-hero > .e-con-inner,
.wdp-front .wdp-hero > .e-con-inner {
  display: grid !important;
  grid-template-columns: minmax(0, 1.05fr) minmax(0, 0.95fr) !important;
  gap: clamp(28px, 4vw, 56px) !important;
  align-items: center !important;
  flex-direction: row !important;
  flex-wrap: nowrap !important;
  width: 100% !important;
}
.elementor-33 .wdp-hero > .e-con-inner > .wdp-hero__copy,
.wdp-front .wdp-hero > .e-con-inner > .wdp-hero__copy {
  grid-column: 1 !important;
  grid-row: 1 !important;
}
.elementor-33 .wdp-hero > .e-con-inner > .wdp-hero__stage,
.wdp-front .wdp-hero > .e-con-inner > .wdp-hero__stage {
  grid-column: 2 !important;
  grid-row: 1 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-height: 420px !important;
  min-width: 0 !important;
  width: 100% !important;
  max-width: none !important;
  flex: 1 1 auto !important;
  opacity: 1 !important;
  visibility: visible !important;
  overflow: visible !important;
  --container-widget-width: 100% !important;
  --width: 100% !important;
}
.elementor-33 .wdp-hero .wdp-hero__copy,
.elementor-33 .wdp-hero .wdp-hero__stage,
.wdp-front .wdp-hero .wdp-hero__copy,
.wdp-front .wdp-hero .wdp-hero__stage {
  width: 100% !important;
  max-width: none !important;
  min-width: 0 !important;
  flex: 1 1 auto !important;
}
.elementor-33 .wdp-hero .wdp-hero__copy,
.wdp-front .wdp-hero .wdp-hero__copy {
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: wrap !important;
  justify-content: flex-start !important;
  align-items: center !important;
  align-content: flex-start !important;
  gap: 0 !important;
  text-align: left !important;
  --flex-direction: row !important;
  --flex-wrap: wrap !important;
  --justify-content: flex-start !important;
}
.elementor-33 .wdp-hero .wdp-hero__copy > .e-con-inner,
.wdp-front .wdp-hero .wdp-hero__copy > .e-con-inner {
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: wrap !important;
  justify-content: flex-start !important;
  align-items: center !important;
  gap: 0 !important;
  width: 100% !important;
  max-width: none !important;
  text-align: left !important;
  --justify-content: flex-start !important;
}
.elementor-33 .wdp-hero .wdp-hero__copy > .elementor-element:not(.elementor-widget-button),
.wdp-front .wdp-hero .wdp-hero__copy > .elementor-element:not(.elementor-widget-button),
.elementor-33 .wdp-hero .wdp-hero__copy > .e-con-inner > .elementor-element:not(.elementor-widget-button),
.wdp-front .wdp-hero .wdp-hero__copy > .e-con-inner > .elementor-element:not(.elementor-widget-button) {
  flex: 1 1 100% !important;
  width: 100% !important;
  max-width: 100% !important;
}
.elementor-33 .wdp-hero .wdp-hero__copy > .elementor-widget-icon-list,
.wdp-front .wdp-hero .wdp-hero__copy > .elementor-widget-icon-list,
.elementor-33 .wdp-hero .wdp-hero__copy > .e-con-inner > .elementor-widget-icon-list,
.wdp-front .wdp-hero .wdp-hero__copy > .e-con-inner > .elementor-widget-icon-list {
  margin-bottom: 2px !important;
}
.elementor-33 .wdp-hero .elementor-widget-icon-list .elementor-icon-list-items,
.wdp-front .wdp-hero .elementor-widget-icon-list .elementor-icon-list-items {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 8px 16px !important;
  margin: 0 !important;
  padding: 0 !important;
}
.elementor-33 .wdp-hero .elementor-widget-icon-list .elementor-icon-list-item,
.wdp-front .wdp-hero .elementor-widget-icon-list .elementor-icon-list-item {
  margin: 0 !important;
  padding: 0 !important;
}
.elementor-33 .wdp-hero .elementor-widget-button,
.wdp-front .wdp-hero .elementor-widget-button {
  display: inline-flex !important;
  flex: 0 0 auto !important;
  width: fit-content !important;
  max-width: 100% !important;
  margin: 8px 10px 4px 0 !important;
  align-self: flex-start !important;
  justify-content: flex-start !important;
  text-align: left !important;
  --width: fit-content !important;
  --container-widget-width: fit-content !important;
}
.elementor-33 .wdp-hero .elementor-widget-button .elementor-button-wrapper,
.wdp-front .wdp-hero .elementor-widget-button .elementor-button-wrapper,
.elementor-33 .wdp-hero .elementor-widget-button .elementor-widget-container,
.wdp-front .wdp-hero .elementor-widget-button .elementor-widget-container {
  display: flex !important;
  justify-content: flex-start !important;
  text-align: left !important;
  width: auto !important;
}
.elementor-33 .wdp-hero .wdp-hero__proof-text,
.wdp-front .wdp-hero .wdp-hero__proof-text,
.elementor-33 .wdp-hero .wdp-hero__proof-text p,
.wdp-front .wdp-hero .wdp-hero__proof-text p,
.elementor-33 .wdp-hero .wdp-hero__copy > .elementor-widget-text-editor:last-of-type,
.wdp-front .wdp-hero .wdp-hero__copy > .elementor-widget-text-editor:last-of-type,
.elementor-33 .wdp-hero .wdp-hero__copy > .elementor-widget-text-editor:last-of-type p,
.wdp-front .wdp-hero .wdp-hero__copy > .elementor-widget-text-editor:last-of-type p {
  text-align: left !important;
}
.elementor-33 .wdp-hero .wdp-btn .elementor-button,
.elementor-33 .wdp-hero .elementor-button,
.wdp-front .wdp-hero .elementor-button {
  border-radius: 999px !important;
  font-family: var(--wdp-ui);
  font-weight: 600;
  font-size: 14px !important;
  min-height: 44px !important;
  padding: 0 18px !important;
  line-height: 1.2 !important;
  box-shadow: none !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 8px;
}
.elementor-33 .wdp-hero .wdp-btn--solid .elementor-button,
.wdp-front .wdp-hero .wdp-btn--solid .elementor-button,
.elementor-33 .wdp-hero .elementor-widget-button .elementor-button,
.wdp-front .wdp-hero .elementor-widget-button .elementor-button {
  background: #0047AB !important;
  background-color: #0047AB !important;
  background-image: none !important;
  color: #fff !important;
  border: 1px solid transparent !important;
}
.elementor-33 .wdp-hero .wdp-btn--solid .elementor-button:hover,
.wdp-front .wdp-hero .wdp-btn--solid .elementor-button:hover,
.elementor-33 .wdp-hero .elementor-widget-button .elementor-button:hover,
.wdp-front .wdp-hero .elementor-widget-button .elementor-button:hover {
  background: #003888 !important;
  background-color: #003888 !important;
  color: #fff !important;
}
/* Hero WhatsApp â€” brand outline (href-targeted; live widgets lack wdp-btn--wa) */
.elementor-33 .wdp-hero .wdp-btn--wa .elementor-button,
.wdp-front .wdp-hero .wdp-btn--wa .elementor-button,
.elementor-33 .wdp-hero a.elementor-button[href*="whatsapp"],
.elementor-33 .wdp-hero a.elementor-button[href*="wa.me"],
.elementor-33 .wdp-hero a.elementor-button[href*="api.whatsapp"],
.wdp-front .wdp-hero a.elementor-button[href*="whatsapp"],
.wdp-front .wdp-hero a.elementor-button[href*="wa.me"],
.wdp-front .wdp-hero a.elementor-button[href*="api.whatsapp"] {
  background: #fff !important;
  background-color: #fff !important;
  background-image: none !important;
  color: #0047AB !important;
  border: 1.5px solid #0047AB !important;
}
.elementor-33 .wdp-hero .wdp-btn--wa .elementor-button:hover,
.wdp-front .wdp-hero .wdp-btn--wa .elementor-button:hover,
.elementor-33 .wdp-hero a.elementor-button[href*="whatsapp"]:hover,
.elementor-33 .wdp-hero a.elementor-button[href*="wa.me"]:hover,
.elementor-33 .wdp-hero a.elementor-button[href*="api.whatsapp"]:hover,
.wdp-front .wdp-hero a.elementor-button[href*="whatsapp"]:hover,
.wdp-front .wdp-hero a.elementor-button[href*="wa.me"]:hover,
.wdp-front .wdp-hero a.elementor-button[href*="api.whatsapp"]:hover {
  background: #eef3fb !important;
  background-color: #eef3fb !important;
  color: #003888 !important;
  border-color: #003888 !important;
}
.elementor-33 .wdp-hero a.elementor-button[href*="whatsapp"] svg,
.elementor-33 .wdp-hero a.elementor-button[href*="wa.me"] svg,
.elementor-33 .wdp-hero .wdp-btn--wa svg,
.wdp-front .wdp-hero .wdp-btn--wa svg {
  color: var(--wdp-wa) !important;
  fill: var(--wdp-wa);
}
/* Live Elementor WA button has no icon widget â€” inject brand-green glyph */
.elementor-33 .wdp-hero a.elementor-button[href*="whatsapp"] .elementor-button-content-wrapper,
.elementor-33 .wdp-hero a.elementor-button[href*="wa.me"] .elementor-button-content-wrapper,
.elementor-33 .wdp-hero a.elementor-button[href*="api.whatsapp"] .elementor-button-content-wrapper,
.wdp-front .wdp-hero a.elementor-button[href*="whatsapp"] .elementor-button-content-wrapper,
.wdp-front .wdp-hero a.elementor-button[href*="wa.me"] .elementor-button-content-wrapper,
.wdp-front .wdp-hero a.elementor-button[href*="api.whatsapp"] .elementor-button-content-wrapper {
  display: inline-flex !important;
  align-items: center;
  gap: 8px;
}
.elementor-33 .wdp-hero a.elementor-button[href*="whatsapp"] .elementor-button-content-wrapper::before,
.elementor-33 .wdp-hero a.elementor-button[href*="wa.me"] .elementor-button-content-wrapper::before,
.elementor-33 .wdp-hero a.elementor-button[href*="api.whatsapp"] .elementor-button-content-wrapper::before,
.wdp-front .wdp-hero a.elementor-button[href*="whatsapp"] .elementor-button-content-wrapper::before,
.wdp-front .wdp-hero a.elementor-button[href*="wa.me"] .elementor-button-content-wrapper::before,
.wdp-front .wdp-hero a.elementor-button[href*="api.whatsapp"] .elementor-button-content-wrapper::before {
  content: "";
  width: 16px;
  height: 16px;
  flex-shrink: 0;
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%2325d366'%3E%3Cpath d='M17.472 14.382c-.297-.149-1.758-.867-2.03-.967-.273-.099-.471-.148-.67.15-.197.297-.767.966-.94 1.164-.173.199-.347.223-.644.075-.297-.15-1.255-.463-2.39-1.475-.883-.788-1.48-1.761-1.653-2.059-.173-.297-.018-.458.13-.606.134-.133.298-.347.446-.52.149-.174.198-.298.298-.497.099-.198.05-.371-.025-.52-.075-.149-.669-1.612-.916-2.207-.242-.579-.487-.5-.669-.51-.173-.008-.371-.01-.57-.01-.198 0-.52.074-.792.372-.272.297-1.04 1.016-1.04 2.479 0 1.462 1.065 2.875 1.213 3.074.149.198 2.096 3.2 5.077 4.487.709.306 1.262.489 1.694.625.712.227 1.36.195 1.871.118.571-.085 1.758-.719 2.006-1.413.248-.694.248-1.289.173-1.413-.074-.124-.272-.198-.57-.347m-5.421 7.403h-.004a9.87 9.87 0 01-5.031-1.378l-.361-.214-3.741.982.998-3.648-.235-.374a9.86 9.86 0 01-1.51-5.26c.001-5.45 4.436-9.884 9.888-9.884 2.64 0 5.122 1.03 6.988 2.898a9.825 9.825 0 012.893 6.994c-.003 5.45-4.435 9.884-9.885 9.884m8.413-18.297A11.815 11.815 0 0012.05 0C5.495 0 .16 5.335.157 11.892c0 2.096.547 4.142 1.588 5.945L.057 24l6.305-1.654a11.882 11.882 0 005.683 1.448h.005c6.554 0 11.89-5.335 11.893-11.893a11.821 11.821 0 00-3.48-8.413z'/%3E%3C/svg%3E")
    center / contain no-repeat;
}
.elementor-33 .wdp-hero__float,
.wdp-front .wdp-hero__float {
  z-index: 3;
  pointer-events: none;
}
.elementor-33 .wdp-hero__spark path,
.wdp-front .wdp-hero__spark path {
  stroke: #EE8622 !important;
}
.elementor-33 .wdp-hero__stage,
.wdp-front .wdp-hero__stage {
  position: relative;
  isolation: isolate;
}
.elementor-33 .wdp-hero .wdp-hero__stage > .e-con-inner,
.wdp-front .wdp-hero .wdp-hero__stage > .e-con-inner,
.elementor-33 .wdp-hero .wdp-hero__stage .elementor-widget-html,
.wdp-front .wdp-hero .wdp-hero__stage .elementor-widget-html {
  display: block !important;
  width: 100% !important;
  max-width: none !important;
  min-height: 400px !important;
  opacity: 1 !important;
  visibility: visible !important;
  overflow: visible !important;
}
.elementor-33 .wdp-hero .wdp-hero__scene,
.wdp-front .wdp-hero .wdp-hero__scene {
  position: relative !important;
  display: block !important;
  width: 100% !important;
  min-height: 400px !important;
  aspect-ratio: 1.05 / 1;
  max-height: 520px;
  margin-inline: auto;
  opacity: 1 !important;
  visibility: visible !important;
}
.elementor-33 .wdp-hero .wdp-hero__laptop-lid,
.wdp-front .wdp-hero .wdp-hero__laptop-lid {
  background: linear-gradient(180deg, #2a3548, #1a2333) !important;
}
.elementor-33 .wdp-hero .wdp-hero__laptop-base,
.wdp-front .wdp-hero .wdp-hero__laptop-base {
  background: linear-gradient(180deg, #3a465c, #2a3548) !important;
}
.elementor-33 .wdp-hero .wdp-hero__device--phone,
.wdp-front .wdp-hero .wdp-hero__device--phone {
  background: linear-gradient(180deg, #1f2937, #111827) !important;
}
.elementor-33 .wdp-hero .wdp-hero__screen img,
.elementor-33 .wdp-hero .wdp-hero__phone-screen img,
.wdp-front .wdp-hero .wdp-hero__screen img,
.wdp-front .wdp-hero .wdp-hero__phone-screen img {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  opacity: 1 !important;
  visibility: visible !important;
}
.elementor-33 .wdp-hero .elementor-heading-title,
.wdp-front .wdp-hero .elementor-heading-title {
  color: var(--wdp-ink);
  font-size: clamp(32px, 4.2vw, 50px);
  max-width: 14ch;
  letter-spacing: -0.03em;
  line-height: 1.12;
  margin: 0 0 16px;
}

/* 4) About â€” equal 2-col */
.elementor-33 #about > .e-con-inner,
.wdp-front #about > .e-con-inner {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) !important;
  gap: clamp(24px, 3vw, 48px) !important;
  align-items: center !important;
}
.elementor-33 #about .wdp-about__copy,
.elementor-33 #about .wdp-about__frame,
.wdp-front #about .wdp-about__copy,
.wdp-front #about .wdp-about__frame {
  width: 100% !important;
  min-width: 0 !important;
}
.elementor-33 .wdp-about__frame .elementor-widget-image img,
.wdp-front .wdp-about__frame .elementor-widget-image img {
  height: 420px;
  object-fit: cover;
  border-radius: 22px;
  width: 100%;
  display: block;
  box-shadow: 0 24px 48px rgba(11, 20, 36, 0.12);
}

/* 5) Pillars â€” grid on INNER, not outer .e-con */
.elementor-33 .wdp-pillars.e-con,
.wdp-front .wdp-pillars.e-con {
  display: flex !important;
  flex-direction: column !important;
  width: 100% !important;
}
.elementor-33 .wdp-pillars > .e-con-inner,
.wdp-front .wdp-pillars > .e-con-inner {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: 16px !important;
  width: 100% !important;
  max-width: min(1200px, 100%) !important;
  align-items: stretch !important;
}
.elementor-33 .wdp-pillars .wdp-pillar.e-con,
.wdp-front .wdp-pillars .wdp-pillar.e-con {
  width: 100% !important;
  min-width: 0 !important;
  flex: none !important;
  background: #fff;
  border: 1px solid var(--wdp-line);
  border-radius: 20px;
  box-shadow: 0 8px 24px rgba(11, 20, 36, 0.04);
  transition: transform 180ms var(--wdp-ease-out), box-shadow 180ms ease, border-color 180ms ease;
}
.elementor-33 .wdp-pillars .wdp-pillar > .e-con-inner,
.wdp-front .wdp-pillars .wdp-pillar > .e-con-inner {
  display: flex !important;
  flex-direction: column !important;
  padding: 24px 20px 26px !important;
  width: 100% !important;
  max-width: none !important;
  box-sizing: border-box;
}
@media (hover: hover) and (pointer: fine) {
  .elementor-33 .wdp-pillars .wdp-pillar.e-con:hover,
  .wdp-front .wdp-pillars .wdp-pillar.e-con:hover {
    transform: translateY(-4px);
    border-color: rgba(0, 71, 171, 0.22);
    box-shadow: 0 18px 40px rgba(0, 71, 171, 0.1);
  }
}

/* 6) Prices â€” 3 equal cards on INNER */
.elementor-33 .wdp-prices.e-con,
.wdp-front .wdp-prices.e-con {
  display: flex !important;
  flex-direction: column !important;
  width: 100% !important;
}
.elementor-33 .wdp-prices > .e-con-inner,
.wdp-front .wdp-prices > .e-con-inner {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 16px !important;
  width: 100% !important;
  max-width: min(1200px, 100%) !important;
  align-items: stretch !important;
}
.elementor-33 .wdp-prices > .e-con-inner > .e-con,
.wdp-front .wdp-prices > .e-con-inner > .e-con {
  width: 100% !important;
  min-width: 0 !important;
  flex: none !important;
  background: #fff;
  border: 1px solid var(--wdp-line);
  border-radius: 20px;
  box-shadow: 0 10px 28px rgba(11, 20, 36, 0.05);
  box-sizing: border-box;
}
.elementor-33 .wdp-prices > .e-con-inner > .e-con > .e-con-inner,
.wdp-front .wdp-prices > .e-con-inner > .e-con > .e-con-inner {
  display: flex !important;
  flex-direction: column !important;
  padding: 28px 24px !important;
  width: 100% !important;
  max-width: none !important;
  height: 100%;
  box-sizing: border-box;
}
.elementor-33 .wdp-prices .wdp-prices__featured,
.wdp-front .wdp-prices .wdp-prices__featured {
  background: linear-gradient(165deg, var(--wdp-cobalt) 0%, var(--wdp-cobalt-2) 100%) !important;
  border-color: transparent !important;
  color: #e8eef8;
  box-shadow: 0 22px 44px rgba(0, 71, 171, 0.28);
  transform: translateY(-8px);
}
.elementor-33 .wdp-prices .wdp-prices__featured .elementor-heading-title,
.wdp-front .wdp-prices .wdp-prices__featured .elementor-heading-title {
  color: #fff !important;
}
.elementor-33 .wdp-prices .wdp-prices__featured .elementor-widget-text-editor,
.elementor-33 .wdp-prices .wdp-prices__featured .elementor-widget-text-editor p,
.wdp-front .wdp-prices .wdp-prices__featured .elementor-widget-text-editor,
.wdp-front .wdp-prices .wdp-prices__featured .elementor-widget-text-editor p {
  color: rgba(255, 255, 255, 0.82) !important;
}
.elementor-33 .wdp-prices .elementor-button,
.wdp-front .wdp-prices .elementor-button {
  border-radius: 999px !important;
  font-family: var(--wdp-ui);
  font-weight: 600;
  min-height: 44px;
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  margin-top: auto;
}
.elementor-33 .wdp-prices .wdp-prices__featured .elementor-button,
.wdp-front .wdp-prices .wdp-prices__featured .elementor-button {
  background: #fff !important;
  color: var(--wdp-cobalt) !important;
}

/* 7) FAQ â€” 2-col on INNER */
.elementor-33 .wdp-faq.e-con,
.wdp-front .wdp-faq.e-con {
  display: flex !important;
  flex-direction: column !important;
  width: 100% !important;
}
.elementor-33 .wdp-faq > .e-con-inner,
.wdp-front .wdp-faq > .e-con-inner {
  display: grid !important;
  grid-template-columns: minmax(0, 0.85fr) minmax(0, 1.15fr) !important;
  gap: 48px !important;
  width: 100% !important;
  max-width: min(1200px, 100%) !important;
  align-items: start !important;
}
.elementor-33 .wdp-faq > .e-con-inner > .e-con,
.wdp-front .wdp-faq > .e-con-inner > .e-con {
  width: 100% !important;
  min-width: 0 !important;
  flex: none !important;
}
.elementor-33 .wdp-faq .elementor-toggle-item,
.wdp-front .wdp-faq .elementor-toggle-item {
  background: #fff;
  border: 1px solid var(--wdp-line);
  border-radius: 16px;
  margin-bottom: 10px;
  padding: 0 18px;
  box-shadow: 0 6px 18px rgba(11, 20, 36, 0.03);
  overflow: hidden;
}
.elementor-33 .wdp-faq .elementor-tab-title,
.wdp-front .wdp-faq .elementor-tab-title {
  font-family: var(--wdp-ui);
  font-weight: 600;
  color: var(--wdp-ink) !important;
  padding: 16px 0;
}
.elementor-33 .wdp-faq .elementor-toggle-icon,
.wdp-front .wdp-faq .elementor-toggle-icon {
  float: none !important;
  display: inline-flex;
  align-items: center;
}
.elementor-33 .wdp-faq .elementor-tab-content,
.wdp-front .wdp-faq .elementor-tab-content {
  color: var(--wdp-muted);
  padding: 0 0 16px;
  border: 0;
  float: none !important;
  clear: both;
}

/* 8) CTA band */
.elementor-33 .wdp-cta.e-con,
.wdp-front .wdp-cta.e-con {
  background:
    radial-gradient(700px 260px at 85% 20%, rgba(238, 134, 34, 0.22), transparent 55%),
    linear-gradient(165deg, var(--wdp-cobalt) 0%, var(--wdp-cobalt-2) 100%) !important;
  color: #e8eef8;
  overflow: hidden;
}
.elementor-33 .wdp-cta > .e-con-inner,
.wdp-front .wdp-cta > .e-con-inner {
  display: grid !important;
  grid-template-columns: minmax(0, 1.2fr) minmax(0, 0.8fr) !important;
  gap: clamp(24px, 3vw, 40px) !important;
  align-items: center !important;
  width: 100% !important;
  max-width: min(1200px, 100%) !important;
}
.elementor-33 .wdp-cta .elementor-heading-title,
.wdp-front .wdp-cta .elementor-heading-title {
  color: #fff !important;
  max-width: 16ch;
  font-size: clamp(30px, 4.2vw, 48px);
}
.elementor-33 .wdp-cta .elementor-widget-text-editor,
.elementor-33 .wdp-cta .elementor-widget-text-editor p,
.wdp-front .wdp-cta .elementor-widget-text-editor,
.wdp-front .wdp-cta .elementor-widget-text-editor p {
  color: rgba(255, 255, 255, 0.88) !important;
}
.elementor-33 .wdp-cta .wdp-btn--solid .elementor-button,
.wdp-front .wdp-cta .wdp-btn--solid .elementor-button {
  background: var(--wdp-wa) !important;
  color: #fff !important;
  border-radius: 999px !important;
}
.elementor-33 .wdp-cta .wdp-btn--light .elementor-button,
.wdp-front .wdp-cta .wdp-btn--light .elementor-button {
  background: #fff !important;
  color: var(--wdp-cobalt) !important;
  border-radius: 999px !important;
}

/* 9) Process ink surface (keep light agency wash) */
.elementor-33 .wdp-section--ink.e-con,
.wdp-front .wdp-section--ink.e-con {
  background:
    radial-gradient(800px 280px at 10% 0%, rgba(0, 71, 171, 0.1), transparent 60%),
    linear-gradient(180deg, #f0f5fc 0%, #e4ecf8 100%) !important;
  color: var(--wdp-text);
}
.elementor-33 .wdp-section--ink .elementor-heading-title,
.wdp-front .wdp-section--ink .elementor-heading-title {
  color: var(--wdp-ink) !important;
}

/* 10) Generic Elementor widget polish */
.elementor-33 .elementor-heading-title,
.wdp-front .elementor-33 .elementor-heading-title {
  font-family: var(--wdp-display);
  font-weight: 700;
  letter-spacing: -0.025em;
  line-height: 1.15;
  color: var(--wdp-ink);
}
.elementor-33 .elementor-widget-image img,
.wdp-front .elementor-33 .elementor-widget-image img {
  max-width: 100%;
  height: auto;
  display: block;
}
.elementor-33 .elementor-widget:not(:last-child) {
  margin-bottom: 12px;
}
.elementor-33 .wdp-btn--solid .elementor-button,
.wdp-front .elementor-33 .wdp-btn--solid .elementor-button {
  background: #0047AB !important;
  background-color: #0047AB !important;
  color: #fff !important;
}
.elementor-33 a.elementor-button[href*="wa.me"],
.elementor-33 a.elementor-button[href*="whatsapp"],
.wdp-front a.elementor-button[href*="wa.me"] {
  text-decoration: none;
}

/* 11) Modern Selected Work Showcase Grid inside Elementor */
.elementor-33 .wdp-work,
.wdp-front .wdp-work {
  width: 100%;
  max-width: 100%;
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 28px !important;
  align-items: start !important;
  margin-top: 10px;
  margin-bottom: 30px;
}
.elementor-33 .wdp-work__rail,
.wdp-front .wdp-work__rail,
.wdp-work__rail {
  display: contents !important;
}
.elementor-33 .wdp-work__rail .wdp-work__card,
.wdp-front .wdp-work__rail .wdp-work__card,
.wdp-work__rail .wdp-work__card,
.elementor-33 .wdp-work__card,
.wdp-front .wdp-work__card,
.wdp-work__card {
  position: relative;
  background: linear-gradient(180deg, #ffffff 0%, #fbfdff 100%) !important;
  border-radius: 20px !important;
  overflow: hidden !important;
  border: 1px solid rgba(11, 20, 36, 0.08) !important;
  box-shadow: 0 8px 24px -4px rgba(11, 20, 36, 0.04), 0 2px 6px -1px rgba(11, 20, 36, 0.02) !important;
  display: flex !important;
  flex-direction: column !important;
  grid-template-columns: none !important;
  transition: transform 280ms var(--wdp-ease-out), box-shadow 280ms var(--wdp-ease-out), border-color 280ms ease !important;
  width: 100% !important;
  height: auto !important;
  align-self: start !important;
}
@media (hover: hover) and (pointer: fine) {
  .elementor-33 .wdp-work__card:hover,
  .wdp-front .wdp-work__card:hover,
  .wdp-work__card:hover {
    transform: translateY(-6px) !important;
    border-color: rgba(0, 71, 171, 0.25) !important;
    box-shadow: 0 20px 40px -10px rgba(0, 71, 171, 0.12), 0 8px 24px -4px rgba(11, 20, 36, 0.05) !important;
  }
}
.elementor-33 .wdp-work__rail .wdp-work__media,
.wdp-front .wdp-work__rail .wdp-work__media,
.wdp-work__rail .wdp-work__media,
.elementor-33 .wdp-work__media,
.wdp-front .wdp-work__media,
.wdp-work__media {
  position: relative;
  padding: 12px 14px 0 !important;
  background: linear-gradient(180deg, #f1f5f9 0%, #e2e8f0 100%) !important;
  border-bottom: 1px solid rgba(11, 20, 36, 0.06) !important;
  border-right: none !important;
  overflow: hidden !important;
  display: flex !important;
  flex-direction: column !important;
  width: 100% !important;
  flex: none !important;
}
.elementor-33 .wdp-work__browser,
.wdp-front .wdp-work__browser {
  display: flex !important;
  align-items: center !important;
  gap: 6px !important;
  padding: 2px 4px 8px !important;
}
.elementor-33 .wdp-work__browser span,
.wdp-front .wdp-work__browser span {
  width: 7px !important;
  height: 7px !important;
  border-radius: 50% !important;
  background: #cbd5e1 !important;
  display: inline-block !important;
}
.elementor-33 .wdp-work__browser span:nth-child(1),
.wdp-front .wdp-work__browser span:nth-child(1) { background: #fda4af !important; }
.elementor-33 .wdp-work__browser span:nth-child(2),
.wdp-front .wdp-work__browser span:nth-child(2) { background: #fde047 !important; }
.elementor-33 .wdp-work__browser span:nth-child(3),
.wdp-front .wdp-work__browser span:nth-child(3) { background: #86efac !important; }

.elementor-33 .wdp-work__rail .wdp-work__img-wrap,
.wdp-front .wdp-work__rail .wdp-work__img-wrap,
.wdp-work__rail .wdp-work__img-wrap,
.elementor-33 .wdp-work__img-wrap,
.wdp-front .wdp-work__img-wrap,
.wdp-work__img-wrap {
  border-radius: 10px 10px 0 0 !important;
  overflow: hidden !important;
  box-shadow: 0 -2px 10px rgba(11, 20, 36, 0.04) !important;
  background: #ffffff !important;
  line-height: 0 !important;
  width: 100% !important;
  display: block !important;
}
.elementor-33 .wdp-work__rail .wdp-work__media img,
.wdp-front .wdp-work__rail .wdp-work__media img,
.wdp-work__rail .wdp-work__media img,
.elementor-33 .wdp-work__media img,
.wdp-front .wdp-work__media img,
.wdp-work__media img {
  width: 100% !important;
  height: 220px !important;
  min-height: 0 !important;
  max-height: 240px !important;
  object-fit: cover !important;
  object-position: top center !important;
  display: block !important;
  transition: transform 480ms var(--wdp-ease-out) !important;
}
@media (hover: hover) and (pointer: fine) {
  .elementor-33 .wdp-work__card:hover .wdp-work__media img,
  .wdp-front .wdp-work__card:hover .wdp-work__media img,
  .wdp-work__card:hover .wdp-work__media img {
    transform: scale(1.045) !important;
  }
}
.elementor-33 .wdp-work__rail .wdp-work__body,
.wdp-front .wdp-work__rail .wdp-work__body,
.wdp-work__rail .wdp-work__body,
.elementor-33 .wdp-work__body,
.wdp-front .wdp-work__body,
.wdp-work__body {
  padding: 20px 22px 24px !important;
  display: flex !important;
  flex-direction: column !important;
  flex: none !important;
  text-align: left !important;
  justify-content: flex-start !important;
}
.elementor-33 .wdp-work__meta,
.wdp-front .wdp-work__meta {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  margin-bottom: 8px !important;
}
.elementor-33 .wdp-work__badge,
.wdp-front .wdp-work__badge,
.elementor-33 .wdp-work__body > span:first-child:not(.wdp-work__tags span),
.wdp-front .wdp-work__body > span:first-child:not(.wdp-work__tags span) {
  font-family: var(--wdp-ui) !important;
  font-size: 11px !important;
  letter-spacing: 0.08em !important;
  text-transform: uppercase !important;
  color: var(--wdp-cobalt) !important;
  font-weight: 700 !important;
  padding: 4px 11px !important;
  border-radius: 999px !important;
  background: rgba(0, 71, 171, 0.06) !important;
  border: 1px solid rgba(0, 71, 171, 0.12) !important;
  display: inline-flex !important;
  align-items: center !important;
  gap: 6px !important;
  width: fit-content !important;
  margin-bottom: 0 !important;
}
.elementor-33 .wdp-work__body h3,
.wdp-front .wdp-work__body h3 {
  margin: 6px 0 8px 0 !important;
  font-size: 21px !important;
  line-height: 1.28 !important;
  color: var(--wdp-ink) !important;
  font-weight: 700 !important;
  text-align: left !important;
}
.elementor-33 .wdp-work__body p,
.wdp-front .wdp-work__body p {
  margin: 0 0 14px 0 !important;
  color: #64748b !important;
  font-size: 13.5px !important;
  line-height: 1.55 !important;
  text-align: left !important;
  flex: none !important;
}
.elementor-33 .wdp-work__tags,
.wdp-front .wdp-work__tags {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 6px !important;
  margin-bottom: 16px !important;
}
.elementor-33 .wdp-work__tags span,
.wdp-front .wdp-work__tags span {
  font-family: var(--wdp-ui) !important;
  font-size: 11px !important;
  font-weight: 600 !important;
  color: #475569 !important;
  background: #f1f5f9 !important;
  padding: 4px 10px !important;
  border-radius: 6px !important;
  border: 1px solid rgba(148, 163, 184, 0.25) !important;
  line-height: 1.3 !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
  display: inline-flex !important;
  align-items: center !important;
}
.elementor-33 .wdp-work__more,
.wdp-front .wdp-work__more {
  display: inline-flex !important;
  align-items: center !important;
  gap: 6px !important;
  font-family: var(--wdp-ui) !important;
  font-size: 12.5px !important;
  font-weight: 700 !important;
  color: var(--wdp-cobalt) !important;
  text-decoration: none !important;
  padding: 7px 15px !important;
  background: rgba(0, 71, 171, 0.05) !important;
  border: 1px solid rgba(0, 71, 171, 0.14) !important;
  border-radius: 999px !important;
  width: fit-content !important;
  transition: all 220ms var(--wdp-ease-out) !important;
  margin-top: 0 !important;
}
@media (hover: hover) and (pointer: fine) {
  .elementor-33 .wdp-work__more:hover,
  .wdp-front .wdp-work__more:hover,
  .elementor-33 .wdp-work__card:hover .wdp-work__more,
  .wdp-front .wdp-work__card:hover .wdp-work__more {
    background: var(--wdp-cobalt) !important;
    color: #ffffff !important;
    border-color: var(--wdp-cobalt) !important;
    box-shadow: 0 4px 12px rgba(0, 71, 171, 0.25) !important;
  }
}
.elementor-33 .wdp-work__all,
.wdp-front .wdp-work__all {
  display: inline-flex !important;
  align-items: center !important;
  gap: 8px !important;
  padding: 10px 22px !important;
  border-radius: 999px !important;
  background: #fff !important;
  border: 1.5px solid rgba(0, 71, 171, 0.15) !important;
  color: var(--wdp-cobalt) !important;
  font-family: var(--wdp-ui) !important;
  font-size: 13.5px !important;
  font-weight: 700 !important;
  text-decoration: none !important;
  white-space: nowrap !important;
  box-shadow: 0 4px 14px rgba(11, 20, 36, 0.04) !important;
  transition: all 220ms var(--wdp-ease-out) !important;
  margin: 0 0 20px 0 !important;
}
.elementor-33 .wdp-work__all:hover,
.wdp-front .wdp-work__all:hover {
  background: var(--wdp-cobalt) !important;
  color: #fff !important;
  border-color: var(--wdp-cobalt) !important;
  transform: translateY(-2px) !important;
  box-shadow: 0 8px 24px rgba(0, 71, 171, 0.22) !important;
}

/* Mobile & Tablet responsive work section */
@media (max-width: 980px) {
  .elementor-33 .wdp-work,
  .wdp-front .wdp-work {
    grid-template-columns: 1fr !important;
    gap: 24px !important;
  }
  .elementor-33 .wdp-work__media img,
  .wdp-front .wdp-work__media img {
    height: 220px !important;
  }
}

.elementor-33 .wdp-tech img {
  object-fit: contain;
  background: transparent;
}

/* Responsive Elementor containers */
@media (max-width: 1100px) {
  .elementor-33 .wdp-pillars > .e-con-inner,
  .wdp-front .wdp-pillars > .e-con-inner,
  .elementor-33 .wdp-prices > .e-con-inner,
  .wdp-front .wdp-prices > .e-con-inner {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
  .elementor-33 .wdp-prices .wdp-prices__featured,
  .wdp-front .wdp-prices .wdp-prices__featured {
    transform: none;
  }
}
@media (max-width: 980px) {
  .elementor-33 .wdp-hero > .e-con-inner,
  .wdp-front .wdp-hero > .e-con-inner,
  .elementor-33 #about > .e-con-inner,
  .wdp-front #about > .e-con-inner,
  .elementor-33 .wdp-faq > .e-con-inner,
  .wdp-front .wdp-faq > .e-con-inner,
  .elementor-33 .wdp-cta > .e-con-inner,
  .wdp-front .wdp-cta > .e-con-inner {
    grid-template-columns: 1fr !important;
    gap: 28px !important;
  }
  .elementor-33 .wdp-hero > .e-con-inner > .wdp-hero__copy,
  .elementor-33 .wdp-hero > .e-con-inner > .wdp-hero__stage,
  .wdp-front .wdp-hero > .e-con-inner > .wdp-hero__copy,
  .wdp-front .wdp-hero > .e-con-inner > .wdp-hero__stage {
    grid-column: 1 !important;
    grid-row: auto !important;
    min-height: 0 !important;
  }
  .elementor-33 .wdp-hero .wdp-hero__scene,
  .wdp-front .wdp-hero .wdp-hero__scene {
    min-height: 320px !important;
    max-width: 440px;
  }
  .elementor-33 .wdp-hero .elementor-heading-title,
  .wdp-front .wdp-hero .elementor-heading-title {
    max-width: none;
  }
  .elementor-33 .wdp-about__frame .elementor-widget-image img,
  .wdp-front .wdp-about__frame .elementor-widget-image img {
    height: 260px;
  }
  .elementor-33 .wdp-section.e-con,
  .elementor-33 .wdp-cta.e-con {
    padding-block: 64px !important;
  }
}
@media (max-width: 640px) {
  .elementor-33 .wdp-pillars > .e-con-inner,
  .wdp-front .wdp-pillars > .e-con-inner,
  .elementor-33 .wdp-prices > .e-con-inner,
  .wdp-front .wdp-prices > .e-con-inner {
    grid-template-columns: 1fr !important;
  }
  .elementor-33 .wdp-hero .elementor-heading-title,
  .wdp-front .wdp-hero .elementor-heading-title {
    font-size: 30px;
  }
  .elementor-33 .wdp-hero .elementor-widget-button,
  .wdp-front .wdp-hero .elementor-widget-button {
    display: block;
    width: 100%;
    margin-right: 0;
  }
  .elementor-33 .wdp-hero .elementor-widget-button .elementor-button,
  .wdp-front .wdp-hero .elementor-widget-button .elementor-button {
    width: 100%;
  }
  .elementor-33 > .e-con.e-con-boxed > .e-con-inner,
  .wdp-front .elementor-33 > .e-con.e-con-boxed > .e-con-inner {
    padding-inline: 0;
  }
}

@media (prefers-reduced-motion: reduce) {
  .wdp-front .elementor-invisible,
  .elementor-33 .elementor-invisible,
  .wdp-front .wdp-hero .elementor-widget,
  .elementor-33 .wdp-hero .elementor-widget {
    animation: none !important;
    opacity: 1 !important;
    visibility: visible !important;
    transform: none !important;
  }
}

/* =============================================================================
   ABOUT PAGE ELEMENTOR STYLES (Page slug: about / page-id-393)
   Structure: hero â†’ who â†’ story â†’ mission â†’ trust/stats â†’ team â†’ process(5)
   â†’ values â†’ industries â†’ CTA
   Hooks: section/column css_classes + section IDs (not orphaned *-card BEM).
   ============================================================================= */

.page-id-393,
.page-id-393 .elementor-section[class*="wdp-about-"],
.page-id-393 #about-hero,
.page-id-393 #who,
.page-id-393 #who-we-are,
.page-id-393 #story,
.page-id-393 #mission,
.page-id-393 #trust,
.page-id-393 #team,
.page-id-393 #process,
.page-id-393 #values,
.page-id-393 #expertise,
.page-id-393 #industries,
.page-id-393 #reach,
.page-id-393 #contact {
  font-family: var(--wdp-font);
}

.page-id-393 .elementor-section[class*="wdp-about-"],
.page-id-393 #about-hero,
.page-id-393 #who,
.page-id-393 #who-we-are,
.page-id-393 #story,
.page-id-393 #mission,
.page-id-393 #trust,
.page-id-393 #team,
.page-id-393 #process,
.page-id-393 #values,
.page-id-393 #expertise,
.page-id-393 #industries,
.page-id-393 #reach,
.page-id-393 #contact {
  overflow-x: clip;
}

/* â€”â€” Shared section rhythm â€”â€” */
.elementor-section.wdp-about-hero,
#about-hero.elementor-section {
  padding: 88px 0 64px;
  background:
    radial-gradient(900px 320px at 50% -10%, rgba(0, 71, 171, 0.08), transparent 55%),
    var(--wdp-paper);
}

.elementor-section.wdp-about-who,
#who.elementor-section,
#who-we-are.elementor-section {
  padding: 88px 0;
  background: var(--wdp-tint);
}

.elementor-section.wdp-about-story,
#story.elementor-section {
  padding: 88px 0;
  background: var(--wdp-white);
}

.elementor-section.wdp-about-mission,
#mission.elementor-section {
  padding: 88px 0;
  background: var(--wdp-tint);
}

.elementor-section.wdp-about-trust,
.elementor-section.wdp-about-trust-head,
#trust.elementor-section {
  padding: 88px 0 16px;
  background: var(--wdp-paper);
}

.elementor-section.wdp-about-trust-stats {
  padding: 8px 0 28px;
  background: var(--wdp-paper);
}

.elementor-section.wdp-about-trust-grid {
  padding: 8px 0 16px;
  background: var(--wdp-paper);
}

.elementor-section.wdp-about-trust-grid--row2 {
  padding: 0 0 88px;
  background: var(--wdp-paper);
}

.elementor-section.wdp-about-team,
#team.elementor-section {
  padding: 88px 0 16px;
  background: var(--wdp-tint);
}

.elementor-section.wdp-about-values-head,
#values.elementor-section {
  padding: 88px 0 16px;
  background: var(--wdp-white);
}

.elementor-section.wdp-about-values-grid {
  padding: 8px 0 88px;
  background: var(--wdp-white);
}

.elementor-section.wdp-about-expertise-head,
.elementor-section.wdp-about-industries-head,
#expertise.elementor-section {
  padding: 88px 0 16px;
  background: var(--wdp-tint);
}

.elementor-section.wdp-about-industries,
#industries.elementor-section {
  padding: 88px 0;
  background: var(--wdp-tint);
  text-align: center;
}

.elementor-section.wdp-about-expertise-grid,
.elementor-section.wdp-about-industries-grid {
  padding: 8px 0 88px;
  background: var(--wdp-tint);
}

.elementor-section.wdp-about-team-grid {
  padding: 8px 0 88px;
  background: var(--wdp-tint);
}

.elementor-section.wdp-about-trust-grid--row2 {
  padding-top: 0;
}

.elementor-section.wdp-about-process-grid--row2 {
  padding-top: 0;
}

.elementor-section.wdp-about-reach,
#reach.elementor-section {
  padding: 88px 0;
  background: var(--wdp-paper);
}

/* Kickers vs titles â€” head / narrative sections */
.wdp-about-hero .elementor-widget-heading.wdp-kicker .elementor-heading-title,
.wdp-about-hero .elementor-widget-heading:nth-of-type(1):not(.wdp-about-hero__title):not(.wdp-about-section__title) .elementor-heading-title,
.wdp-about-who .elementor-widget-heading:nth-of-type(1):not(.wdp-about-section__title) .elementor-heading-title,
.wdp-about-story .elementor-widget-heading:nth-of-type(1):not(.wdp-about-section__title) .elementor-heading-title,
.wdp-about-story__left .elementor-widget-heading:nth-of-type(1):not(.wdp-about-section__title) .elementor-heading-title,
.wdp-about-mission .elementor-widget-heading:nth-of-type(1):not(.wdp-about-section__title) .elementor-heading-title,
.wdp-about-trust .elementor-widget-heading:nth-of-type(1):not(.wdp-about-section__title) .elementor-heading-title,
.wdp-about-trust-head .elementor-widget-heading:nth-of-type(1):not(.wdp-about-section__title) .elementor-heading-title,
.wdp-about-team .elementor-widget-heading:nth-of-type(1):not(.wdp-about-section__title) .elementor-heading-title,
.wdp-about-values-head .elementor-widget-heading:nth-of-type(1):not(.wdp-about-section__title) .elementor-heading-title,
.wdp-about-expertise-head .elementor-widget-heading:nth-of-type(1):not(.wdp-about-section__title) .elementor-heading-title,
.wdp-about-industries-head .elementor-widget-heading:nth-of-type(1):not(.wdp-about-section__title) .elementor-heading-title,
.wdp-about-industries .elementor-widget-heading:nth-of-type(1):not(.wdp-about-section__title) .elementor-heading-title,
.wdp-about-process-head .elementor-widget-heading:nth-of-type(1):not(.wdp-about-section__title) .elementor-heading-title,
.wdp-about-reach__left .elementor-widget-heading:nth-of-type(1):not(.wdp-about-section__title) .elementor-heading-title,
.wdp-about-cta__copy .elementor-widget-heading:nth-of-type(1):not(.wdp-about-section__title):not(.wdp-about-cta__title) .elementor-heading-title {
  font-size: 12px !important;
  font-weight: 700;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--wdp-cobalt) !important;
  margin: 0 0 14px;
  line-height: 1.4;
}

/* Canonical section H2 titles (single heading per section) */
.wdp-about-who .wdp-about-section__title .elementor-heading-title,
.wdp-about-story .wdp-about-section__title .elementor-heading-title,
.wdp-about-mission .wdp-about-section__title .elementor-heading-title,
.wdp-about-trust-head .wdp-about-section__title .elementor-heading-title,
.wdp-about-team .wdp-about-section__title .elementor-heading-title,
.wdp-about-values-head .wdp-about-section__title .elementor-heading-title,
.wdp-about-industries .wdp-about-section__title .elementor-heading-title,
.wdp-about-process-head .wdp-about-section__title .elementor-heading-title {
  font-size: clamp(26px, 3.2vw, 40px) !important;
  font-weight: 700;
  line-height: 1.2;
  letter-spacing: -0.02em;
  text-transform: none !important;
  margin: 0 0 18px;
  max-width: 24ch;
}

.wdp-about-story .wdp-about-section__title .elementor-heading-title,
.wdp-about-mission .wdp-about-section__title .elementor-heading-title,
.wdp-about-trust-head .wdp-about-section__title .elementor-heading-title,
.wdp-about-team .wdp-about-section__title .elementor-heading-title,
.wdp-about-values-head .wdp-about-section__title .elementor-heading-title,
.wdp-about-industries .wdp-about-section__title .elementor-heading-title,
.wdp-about-process-head .wdp-about-section__title .elementor-heading-title {
  max-width: 26ch;
  margin-inline: auto;
  text-align: center;
}

.wdp-about-who .wdp-about-section__title .elementor-heading-title {
  color: var(--wdp-ink) !important;
}

.wdp-about-mission .wdp-about-section__title .elementor-heading-title,
.wdp-about-process-head .wdp-about-section__title .elementor-heading-title {
  color: #fff !important;
  max-width: 20ch;
}

.wdp-about-stat-label .elementor-heading-title {
  font-size: 13px !important;
  font-weight: 700 !important;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--wdp-muted) !important;
  margin: 0 0 8px;
  text-align: center;
}

/* Brand-first H1 â€” â€œAbout Website Design Pakistanâ€ */
.wdp-about-hero__title .elementor-heading-title,
.wdp-about-hero h1.elementor-heading-title,
#about-hero h1.elementor-heading-title {
  font-size: clamp(36px, 5vw, 56px) !important;
  font-weight: 700;
  line-height: 1.08;
  letter-spacing: -0.03em;
  color: var(--wdp-ink) !important;
  max-width: 16ch;
  margin: 0 auto 18px;
  text-align: center;
}

/* Legacy: 2nd heading as hero title when no __title class */
.wdp-about-hero .elementor-widget-heading:nth-of-type(2):not(.wdp-about-hero__sub) .elementor-heading-title {
  font-size: clamp(32px, 4.4vw, 52px);
  font-weight: 700;
  line-height: 1.12;
  letter-spacing: -0.025em;
  color: var(--wdp-ink);
  max-width: 18ch;
  margin: 0 auto 18px;
  text-align: center;
}

.wdp-about-hero__sub .elementor-heading-title,
.wdp-about-hero .elementor-widget-heading.wdp-about-hero__sub .elementor-heading-title {
  font-size: clamp(17px, 1.9vw, 20px) !important;
  font-weight: 500 !important;
  line-height: 1.55 !important;
  letter-spacing: -0.01em;
  color: var(--wdp-muted) !important;
  max-width: 42ch;
  margin: 0 auto 28px;
  text-align: center;
  text-transform: none !important;
}

.wdp-about-who .elementor-widget-heading:nth-of-type(2) .elementor-heading-title,
.wdp-about-story .elementor-widget-heading:nth-of-type(2) .elementor-heading-title,
.wdp-about-story__left .elementor-widget-heading:nth-of-type(2) .elementor-heading-title,
.wdp-about-mission .elementor-widget-heading:nth-of-type(2) .elementor-heading-title,
.wdp-about-trust .elementor-widget-heading:nth-of-type(2) .elementor-heading-title,
.wdp-about-trust-head .elementor-widget-heading:nth-of-type(2) .elementor-heading-title,
.wdp-about-team .elementor-widget-heading:nth-of-type(2) .elementor-heading-title,
.wdp-about-values-head .elementor-widget-heading:nth-of-type(2) .elementor-heading-title,
.wdp-about-expertise-head .elementor-widget-heading:nth-of-type(2) .elementor-heading-title,
.wdp-about-industries-head .elementor-widget-heading:nth-of-type(2) .elementor-heading-title,
.wdp-about-process-head .elementor-widget-heading:nth-of-type(2) .elementor-heading-title,
.wdp-about-reach__left .elementor-widget-heading:nth-of-type(2) .elementor-heading-title {
  font-size: clamp(26px, 3.2vw, 40px) !important;
  font-weight: 700;
  line-height: 1.2;
  letter-spacing: -0.02em;
  color: var(--wdp-ink);
  margin: 0 0 18px;
  max-width: 24ch;
}

.wdp-about-values-head .elementor-widget-heading:nth-of-type(2) .elementor-heading-title,
.wdp-about-expertise-head .elementor-widget-heading:nth-of-type(2) .elementor-heading-title,
.wdp-about-industries-head .elementor-widget-heading:nth-of-type(2) .elementor-heading-title,
.wdp-about-process-head .elementor-widget-heading:nth-of-type(2) .elementor-heading-title,
.wdp-about-trust-head .elementor-widget-heading:nth-of-type(2) .elementor-heading-title {
  max-width: 26ch;
  margin-inline: auto;
  text-align: center;
}

/* â€”â€” 1. Hero â€”â€” */
.wdp-about-hero__inner {
  text-align: center;
}

.wdp-about-hero__lead,
.wdp-about-hero .elementor-widget-text-editor p {
  font-size: clamp(16px, 1.7vw, 18px);
  line-height: 1.65;
  color: var(--wdp-muted);
  margin: 0 auto 28px;
  max-width: 62ch;
  text-align: center;
}

.wdp-about-hero__actions-inner {
  max-width: 480px;
  margin: 0 auto 28px !important;
}

.wdp-about-hero__actions-inner .elementor-column {
  padding: 0 8px;
}

.wdp-about-hero__btn-left .elementor-button,
.wdp-about-hero__btn-right .elementor-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 48px;
  font-weight: 600;
  font-size: 15px;
  padding: 0 26px !important;
  border-radius: 999px !important;
  transition:
    transform 160ms var(--wdp-ease-out),
    background-color 180ms ease,
    color 180ms ease,
    box-shadow 180ms ease,
    border-color 180ms ease;
}

.wdp-about-hero__btn-left .elementor-button {
  background-color: var(--wdp-cobalt) !important;
  color: #fff !important;
  border: none !important;
}

.wdp-about-hero__btn-right .elementor-button {
  background-color: #fff !important;
  color: var(--wdp-cobalt) !important;
  border: 1px solid rgba(0, 71, 171, 0.18) !important;
}

@media (hover: hover) and (pointer: fine) {
  .wdp-about-hero__btn-left .elementor-button:hover {
    background-color: var(--wdp-cobalt-2) !important;
    transform: translateY(-2px);
    box-shadow: 0 10px 24px rgba(0, 71, 171, 0.28);
  }
  .wdp-about-hero__btn-right .elementor-button:hover {
    background-color: var(--wdp-tint) !important;
    transform: translateY(-2px);
  }
  .wdp-about-hero__btn-left .elementor-button:active,
  .wdp-about-hero__btn-right .elementor-button:active {
    transform: scale(0.97);
  }
}

.wdp-about-hero .elementor-widget-icon-list,
.wdp-about-hero__pills-list {
  margin-top: 8px;
}

.wdp-about-hero .elementor-widget-icon-list .elementor-icon-list-items {
  display: flex !important;
  flex-wrap: wrap !important;
  justify-content: center;
  gap: 10px;
}

.wdp-about-hero .elementor-widget-icon-list .elementor-icon-list-item {
  display: inline-flex !important;
  align-items: center;
  width: auto !important;
  max-width: 100%;
  margin: 0 !important;
  padding: 7px 14px;
  background: #fff;
  border: 1px solid var(--wdp-line);
  border-radius: 999px;
  box-shadow: 0 2px 10px rgba(11, 20, 36, 0.04);
}

.wdp-about-hero .elementor-widget-icon-list .elementor-icon-list-text {
  font-size: 13px;
  font-weight: 600;
  color: var(--wdp-ink);
}

.wdp-about-hero .elementor-widget-icon-list .elementor-icon-list-icon {
  color: var(--wdp-cobalt);
  margin-right: 6px;
}

/* â€”â€” 2. Who We Are / Story / Mission prose â€”â€” */
.wdp-about-who .elementor-widget-text-editor p,
.wdp-about-story__left .elementor-widget-text-editor p,
.wdp-about-story .elementor-widget-text-editor p,
.wdp-about-mission .elementor-widget-text-editor p,
.wdp-about-team .elementor-widget-text-editor p {
  font-size: 16px;
  line-height: 1.7;
  color: var(--wdp-muted);
  margin: 0 0 14px;
}

.wdp-about-who .elementor-widget-text-editor p:last-child,
.wdp-about-mission .elementor-widget-text-editor p:last-child,
.wdp-about-team .elementor-widget-text-editor p:last-child {
  margin-bottom: 0;
}

.wdp-about-mission {
  text-align: center;
}

.wdp-about-mission .elementor-widget-text-editor p {
  max-width: 64ch;
  margin-inline: auto;
  font-size: clamp(17px, 1.8vw, 19px);
  line-height: 1.7;
}

.wdp-about-who__checklist .elementor-icon-list-item,
.wdp-about-story__left .elementor-widget-icon-list .elementor-icon-list-item,
.wdp-about-story .elementor-widget-icon-list .elementor-icon-list-item {
  font-size: 15px;
  font-weight: 500;
  color: var(--wdp-ink);
  margin-bottom: 12px;
  line-height: 1.5;
}

.wdp-about-who__checklist .elementor-icon-list-icon,
.wdp-about-story__left .elementor-widget-icon-list .elementor-icon-list-icon {
  color: var(--wdp-cobalt);
}

.wdp-about-story__left .elementor-widget-icon-list {
  margin: 22px 0 28px;
}

.wdp-about-story__left .elementor-widget-button .elementor-button,
.wdp-about-who .elementor-widget-button .elementor-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 46px;
  padding: 0 22px !important;
  border-radius: 999px !important;
  background: var(--wdp-cobalt) !important;
  color: #fff !important;
  font-weight: 600;
  transition: transform 160ms var(--wdp-ease-out), background-color 180ms ease, box-shadow 180ms ease;
}

@media (hover: hover) and (pointer: fine) {
  .wdp-about-story__left .elementor-widget-button .elementor-button:hover,
  .wdp-about-who .elementor-widget-button .elementor-button:hover {
    background: var(--wdp-cobalt-2) !important;
    transform: translateY(-2px);
    box-shadow: 0 10px 22px rgba(0, 71, 171, 0.25);
  }
}

.wdp-about-story__right .elementor-widget-image,
.wdp-about-who__right .elementor-widget-image,
.wdp-about-who__image.elementor-widget-image {
  margin-bottom: 0;
}

.wdp-about-story__right .elementor-widget-image img,
.wdp-about-who__right .elementor-widget-image img,
.wdp-about-who__image img {
  display: block;
  width: 100%;
  height: 320px;
  object-fit: cover;
  border-radius: var(--wdp-radius);
  box-shadow: 0 14px 36px rgba(11, 20, 36, 0.1);
}

/* Story / mission / team centered heads */
.wdp-about-story .wdp-section__head,
.wdp-about-mission .wdp-section__head,
.wdp-about-team .wdp-section__head,
.wdp-about-industries .wdp-section__head {
  text-align: center;
}

.wdp-about-story .elementor-widget-text-editor p,
.wdp-about-industries__text p,
.wdp-about-team__text p {
  max-width: 68ch;
  margin-inline: auto;
}

/* â€”â€” 3. Trust / Stats (balanced 3-counter row) â€”â€” */
.wdp-about-trust__stats,
.wdp-about-stats-row,
.wdp-about-story__stats-inner-row {
  margin-bottom: 14px !important;
}

.wdp-about-trust__stats .elementor-column,
.wdp-about-stats-row .elementor-column,
.wdp-about-story__stats-inner-row .elementor-column {
  padding: 0 8px;
}

/* Prefer 3 equal counters when present */
.wdp-about-trust__stats > .elementor-container > .elementor-column.wdp-about-stat-col,
.wdp-about-stats-row > .elementor-container > .elementor-column.wdp-about-stat-col,
.elementor-section.wdp-about-trust-stats > .elementor-container > .wdp-about-stat-col {
  width: 33.333% !important;
}

.wdp-about-stat-col > .elementor-widget-wrap,
.wdp-about-stat-col .elementor-widget-counter {
  height: 100%;
}

/* Static stat cards (heading widgets â€” counters stuck at 0 on live) */
.wdp-about-stat-col > .elementor-widget-wrap.elementor-element-populated {
  background: #fff;
  border: 1px solid var(--wdp-line);
  border-radius: 14px;
  padding: 22px 16px !important;
  text-align: center;
  box-shadow: 0 6px 18px rgba(11, 20, 36, 0.05);
  transition: transform 180ms var(--wdp-ease-out), box-shadow 180ms ease, border-color 180ms ease;
  height: 100%;
}

@media (hover: hover) and (pointer: fine) {
  .wdp-about-stat-col:hover > .elementor-widget-wrap.elementor-element-populated {
    transform: translateY(-3px);
    border-color: rgba(0, 71, 171, 0.22);
    box-shadow: 0 12px 28px rgba(11, 20, 36, 0.08);
  }
}

.wdp-about-stat-value .elementor-heading-title {
  font-size: clamp(22px, 2.4vw, 32px) !important;
  font-weight: 700 !important;
  color: var(--wdp-cobalt) !important;
  line-height: 1.15 !important;
  letter-spacing: -0.02em;
  margin: 0 !important;
  text-align: center;
  text-transform: none !important;
}

.wdp-about-stat-col .elementor-counter,
.wdp-about-stat-box .elementor-counter {
  background: #fff;
  border: 1px solid var(--wdp-line);
  border-radius: 14px;
  padding: 22px 16px !important;
  text-align: center;
  box-shadow: 0 6px 18px rgba(11, 20, 36, 0.05);
  transition: transform 180ms var(--wdp-ease-out), box-shadow 180ms ease, border-color 180ms ease;
}

@media (hover: hover) and (pointer: fine) {
  .wdp-about-stat-col .elementor-counter:hover,
  .wdp-about-stat-box .elementor-counter:hover {
    transform: translateY(-3px);
    border-color: rgba(0, 71, 171, 0.22);
    box-shadow: 0 12px 28px rgba(11, 20, 36, 0.08);
  }
}

.wdp-about-stat-col .elementor-counter-number-wrapper,
.wdp-about-stat-box .elementor-counter-number-wrapper {
  font-size: clamp(28px, 2.6vw, 40px);
  font-weight: 700;
  color: var(--wdp-cobalt);
  line-height: 1;
  margin-bottom: 8px;
  letter-spacing: -0.02em;
}

.wdp-about-stat-col .elementor-counter-title,
.wdp-about-stat-box .elementor-counter-title {
  font-size: 13px;
  font-weight: 600;
  color: var(--wdp-ink);
  margin: 0;
  letter-spacing: 0.02em;
}

/* Trust bullet cards */
.wdp-trust-col > .elementor-widget-wrap.elementor-element-populated,
.wdp-about-trust-col > .elementor-widget-wrap.elementor-element-populated {
  height: 100%;
  background: #fff;
  border: 1px solid var(--wdp-line);
  border-radius: var(--wdp-radius);
  padding: 24px 22px !important;
  box-shadow: 0 8px 24px rgba(11, 20, 36, 0.045);
  transition: transform 200ms var(--wdp-ease-out), box-shadow 200ms ease, border-color 200ms ease;
}

@media (hover: hover) and (pointer: fine) {
  .wdp-trust-col:hover > .elementor-widget-wrap.elementor-element-populated,
  .wdp-about-trust-col:hover > .elementor-widget-wrap.elementor-element-populated {
    transform: translateY(-4px);
    border-color: rgba(0, 71, 171, 0.28);
    box-shadow: 0 16px 36px rgba(11, 20, 36, 0.09);
  }
}

.wdp-trust-col .elementor-icon-box-wrapper,
.wdp-about-trust-col .elementor-icon-box-wrapper {
  text-align: left;
}

.wdp-trust-col .elementor-icon-box-icon,
.wdp-about-trust-col .elementor-icon-box-icon {
  margin-inline: 0 !important;
  margin-bottom: 14px !important;
}

.wdp-trust-col .elementor-icon,
.wdp-about-trust-col .elementor-icon {
  width: 44px !important;
  height: 44px !important;
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  background-color: rgba(0, 71, 171, 0.09) !important;
  color: var(--wdp-cobalt) !important;
  border-radius: 12px !important;
  font-size: 18px !important;
}

.wdp-trust-col .elementor-icon-box-title,
.wdp-about-trust-col .elementor-icon-box-title {
  font-size: 17px !important;
  font-weight: 700;
  color: var(--wdp-ink) !important;
  margin: 0 0 8px !important;
}

.wdp-trust-col .elementor-icon-box-description,
.wdp-about-trust-col .elementor-icon-box-description {
  font-size: 14px !important;
  line-height: 1.6 !important;
  color: var(--wdp-muted) !important;
  margin: 0 !important;
}

/* â€”â€” 4. Values cards â€”â€” */
.wdp-value-col > .elementor-widget-wrap.elementor-element-populated {
  height: 100%;
  background: #fff;
  border: 1px solid var(--wdp-line);
  border-radius: var(--wdp-radius);
  padding: 28px 24px !important;
  box-shadow: 0 8px 24px rgba(11, 20, 36, 0.045);
  transition: transform 200ms var(--wdp-ease-out), box-shadow 200ms ease, border-color 200ms ease;
}

@media (hover: hover) and (pointer: fine) {
  .wdp-value-col:hover > .elementor-widget-wrap.elementor-element-populated {
    transform: translateY(-4px);
    border-color: rgba(0, 71, 171, 0.28);
    box-shadow: 0 16px 36px rgba(11, 20, 36, 0.09);
  }
}

.wdp-value-col .elementor-icon-box-wrapper,
.wdp-expertise-col .elementor-icon-box-wrapper,
.wdp-industry-col .elementor-icon-box-wrapper,
.wdp-about-industry-col .elementor-icon-box-wrapper,
.wdp-about-process-col .elementor-icon-box-wrapper {
  text-align: left;
}

.wdp-value-col .elementor-icon-box-icon,
.wdp-expertise-col .elementor-icon-box-icon,
.wdp-industry-col .elementor-icon-box-icon,
.wdp-about-industry-col .elementor-icon-box-icon,
.wdp-about-process-col .elementor-icon-box-icon {
  margin-inline: 0 !important;
}

.wdp-value-col .elementor-icon-box-icon {
  margin-bottom: 16px !important;
}

.wdp-value-col .elementor-icon {
  width: 48px !important;
  height: 48px !important;
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  background-color: rgba(0, 71, 171, 0.09) !important;
  color: var(--wdp-cobalt) !important;
  border-radius: 12px !important;
  font-size: 20px !important;
  transition: transform 180ms var(--wdp-ease-out), background-color 180ms ease;
}

@media (hover: hover) and (pointer: fine) {
  .wdp-value-col:hover .elementor-icon {
    transform: scale(1.06);
    background: rgba(0, 71, 171, 0.14);
  }
}

.wdp-value-col .elementor-icon-box-title {
  font-size: 18px !important;
  font-weight: 700;
  color: var(--wdp-ink) !important;
  margin: 0 0 10px !important;
  letter-spacing: -0.015em;
}

.wdp-value-col .elementor-icon-box-description {
  font-size: 14.5px !important;
  line-height: 1.65 !important;
  color: var(--wdp-muted) !important;
  margin: 0 !important;
}

/* â€”â€” 5. Expertise / Industries cards â€”â€” */
.wdp-expertise-col > .elementor-widget-wrap.elementor-element-populated,
.wdp-industry-col > .elementor-widget-wrap.elementor-element-populated,
.wdp-about-industry-col > .elementor-widget-wrap.elementor-element-populated {
  height: 100%;
  display: flex;
  flex-direction: column;
  background: #fff;
  border: 1px solid var(--wdp-line);
  border-radius: var(--wdp-radius);
  overflow: hidden;
  padding: 0 !important;
  box-shadow: 0 8px 24px rgba(11, 20, 36, 0.045);
  transition: transform 200ms var(--wdp-ease-out), box-shadow 200ms ease, border-color 200ms ease;
}

@media (hover: hover) and (pointer: fine) {
  .wdp-expertise-col:hover > .elementor-widget-wrap.elementor-element-populated,
  .wdp-industry-col:hover > .elementor-widget-wrap.elementor-element-populated,
  .wdp-about-industry-col:hover > .elementor-widget-wrap.elementor-element-populated {
    transform: translateY(-4px);
    border-color: rgba(0, 71, 171, 0.25);
    box-shadow: 0 16px 36px rgba(11, 20, 36, 0.09);
  }
}

.wdp-expertise-col .elementor-widget-icon-box,
.wdp-industry-col .elementor-widget-icon-box,
.wdp-about-industry-col .elementor-widget-icon-box {
  padding: 26px 22px 18px;
}

.wdp-expertise-col .elementor-icon-box-icon,
.wdp-industry-col .elementor-icon-box-icon,
.wdp-about-industry-col .elementor-icon-box-icon {
  margin-bottom: 14px !important;
}

.wdp-expertise-col .elementor-icon,
.wdp-industry-col .elementor-icon,
.wdp-about-industry-col .elementor-icon {
  width: 44px !important;
  height: 44px !important;
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  background-color: rgba(0, 71, 171, 0.09) !important;
  color: var(--wdp-cobalt) !important;
  border-radius: 10px !important;
  font-size: 18px !important;
}

.wdp-expertise-col .elementor-icon-box-title,
.wdp-industry-col .elementor-icon-box-title,
.wdp-about-industry-col .elementor-icon-box-title {
  font-size: 17px !important;
  font-weight: 700;
  color: var(--wdp-ink) !important;
  margin: 0 0 8px !important;
}

.wdp-expertise-col .elementor-icon-box-description,
.wdp-industry-col .elementor-icon-box-description,
.wdp-about-industry-col .elementor-icon-box-description {
  font-size: 14px !important;
  line-height: 1.6 !important;
  color: var(--wdp-muted) !important;
  margin: 0 !important;
}

.wdp-expertise-col .elementor-widget-icon-list {
  padding: 0 22px 22px;
  margin-top: auto;
}

.wdp-expertise-col .elementor-widget-icon-list .elementor-icon-list-item {
  font-size: 13px;
  font-weight: 600;
  color: var(--wdp-ink);
  margin-bottom: 8px;
}

.wdp-expertise-col .elementor-widget-icon-list .elementor-icon-list-icon {
  color: var(--wdp-signal);
}

/* Industries chip / card list */
.wdp-about-industries__list .elementor-icon-list-items {
  display: flex !important;
  flex-wrap: wrap !important;
  justify-content: center;
  gap: 12px;
  max-width: 920px;
  margin: 8px auto 32px !important;
}

.wdp-about-industries__list .elementor-icon-list-item {
  display: inline-flex !important;
  align-items: center;
  width: auto !important;
  margin: 0 !important;
  padding: 12px 18px;
  background: #fff;
  border: 1px solid var(--wdp-line);
  border-radius: 14px;
  box-shadow: 0 6px 18px rgba(11, 20, 36, 0.04);
  transition: transform 180ms var(--wdp-ease-out), border-color 180ms ease, box-shadow 180ms ease;
}

@media (hover: hover) and (pointer: fine) {
  .wdp-about-industries__list .elementor-icon-list-item:hover {
    transform: translateY(-2px);
    border-color: rgba(0, 71, 171, 0.28);
    box-shadow: 0 12px 28px rgba(11, 20, 36, 0.08);
  }
}

.wdp-about-industries__list .elementor-icon-list-text {
  font-size: 14px;
  font-weight: 600;
  color: var(--wdp-ink);
}

.wdp-about-industries__list .elementor-icon-list-icon {
  color: var(--wdp-cobalt);
  margin-right: 8px;
}

.wdp-about-industries .elementor-widget-button .elementor-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 46px;
  padding: 0 22px !important;
  border-radius: 999px !important;
  background: var(--wdp-cobalt) !important;
  color: #fff !important;
  font-weight: 600;
  transition: transform 160ms var(--wdp-ease-out), background-color 180ms ease, box-shadow 180ms ease;
}

@media (hover: hover) and (pointer: fine) {
  .wdp-about-industries .elementor-widget-button .elementor-button:hover {
    background: var(--wdp-cobalt-2) !important;
    transform: translateY(-2px);
    box-shadow: 0 10px 22px rgba(0, 71, 171, 0.25);
  }
}

/* Team role cards */
.wdp-team-role-col > .elementor-widget-wrap.elementor-element-populated {
  height: 100%;
  background: #fff;
  border: 1px solid var(--wdp-line);
  border-radius: var(--wdp-radius);
  padding: 28px 24px !important;
  box-shadow: 0 8px 24px rgba(11, 20, 36, 0.045);
  transition: transform 200ms var(--wdp-ease-out), box-shadow 200ms ease, border-color 200ms ease;
}

@media (hover: hover) and (pointer: fine) {
  .wdp-team-role-col:hover > .elementor-widget-wrap.elementor-element-populated {
    transform: translateY(-4px);
    border-color: rgba(0, 71, 171, 0.28);
    box-shadow: 0 16px 36px rgba(11, 20, 36, 0.09);
  }
}

.wdp-team-role-col .elementor-icon-box-wrapper {
  text-align: left;
}

.wdp-team-role-col .elementor-icon-box-icon {
  margin-inline: 0 !important;
  margin-bottom: 14px !important;
}

.wdp-team-role-col .elementor-icon {
  width: 44px !important;
  height: 44px !important;
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  background-color: rgba(0, 71, 171, 0.09) !important;
  color: var(--wdp-cobalt) !important;
  border-radius: 12px !important;
  font-size: 18px !important;
}

.wdp-team-role-col .elementor-icon-box-title {
  font-size: 18px !important;
  font-weight: 700;
  color: var(--wdp-ink) !important;
  margin: 0 0 8px !important;
}

.wdp-team-role-col .elementor-icon-box-description {
  font-size: 14.5px !important;
  line-height: 1.65 !important;
  color: var(--wdp-muted) !important;
  margin: 0 !important;
}

/* Trust grid row2: two cards centered */
.elementor-section.wdp-about-trust-grid--row2 > .elementor-container {
  max-width: 780px;
  margin-inline: auto;
}

/* â€”â€” 6. Process dark band â€” 5-step row â€”â€” */
.wdp-theme .elementor-section.wdp-about-process-head,
.wdp-theme .elementor-section.wdp-about-process-grid,
.elementor-section.wdp-about-process-head,
.elementor-section.wdp-about-process-grid,
#process.elementor-section {
  background:
    radial-gradient(700px 260px at 12% 0%, rgba(0, 71, 171, 0.35), transparent 55%),
    radial-gradient(520px 220px at 90% 80%, rgba(238, 134, 34, 0.14), transparent 50%),
    linear-gradient(180deg, #0b1424 0%, #101c30 100%) !important;
  color: #e8eef8;
}

.elementor-section.wdp-about-process-head {
  padding: 88px 0 16px;
}

.elementor-section.wdp-about-process-grid {
  padding: 8px 0 88px;
}

.wdp-theme .elementor-section.wdp-about-process-head .elementor-heading-title,
.wdp-about-process-head .elementor-widget-heading:nth-of-type(1) .elementor-heading-title {
  color: #9ec0f0 !important;
}

.wdp-theme .elementor-section.wdp-about-process-head .elementor-widget-heading:nth-of-type(2) .elementor-heading-title,
.wdp-about-process-head .elementor-widget-heading:nth-of-type(2) .elementor-heading-title {
  color: #fff !important;
}

.wdp-about-process-head .elementor-widget-text-editor,
.wdp-about-process-head .elementor-widget-text-editor p {
  color: #94a3b8 !important;
  max-width: 62ch;
  margin-inline: auto;
  text-align: center;
}

/* 5 process steps in one row (20% cols); wrap on small screens */
.elementor-section.wdp-about-process-grid > .elementor-container {
  flex-wrap: wrap;
}

.elementor-section.wdp-about-process-grid > .elementor-container > .wdp-about-process-col {
  width: 20% !important;
  min-width: 0;
}

.elementor-section.wdp-about-process-grid--row2 > .elementor-container {
  max-width: 780px;
  margin-inline: auto;
}

@media (max-width: 1024px) {
  .elementor-section.wdp-about-process-grid > .elementor-container > .wdp-about-process-col {
    width: 33.333% !important;
  }
}

@media (max-width: 767px) {
  .elementor-section.wdp-about-process-grid > .elementor-container > .wdp-about-process-col {
    width: 100% !important;
  }
}

.wdp-about-process-col > .elementor-widget-wrap.elementor-element-populated {
  height: 100%;
  background: rgba(255, 255, 255, 0.04);
  border: 1px solid rgba(255, 255, 255, 0.1);
  border-radius: var(--wdp-radius);
  padding: 26px 18px !important;
  transition: transform 200ms var(--wdp-ease-out), background-color 200ms ease, border-color 200ms ease, box-shadow 200ms ease;
}

@media (hover: hover) and (pointer: fine) {
  .wdp-about-process-col:hover > .elementor-widget-wrap.elementor-element-populated {
    transform: translateY(-4px);
    background: rgba(255, 255, 255, 0.07);
    border-color: rgba(238, 134, 34, 0.45);
    box-shadow: 0 16px 36px rgba(0, 0, 0, 0.28);
  }
}

.wdp-about-process-col .elementor-icon-box-icon {
  margin-bottom: 14px !important;
}

.wdp-about-process-col .elementor-icon {
  width: 44px !important;
  height: 44px !important;
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  background: rgba(238, 134, 34, 0.16) !important;
  color: var(--wdp-signal) !important;
  border-radius: 12px;
  font-size: 18px !important;
}

.wdp-about-process-col .elementor-icon-box-title,
.wdp-about-process-col .elementor-icon-box-title span {
  font-size: 16px !important;
  font-weight: 700;
  color: #fff !important;
  margin: 0 0 8px !important;
}

.wdp-about-process-col .elementor-icon-box-description,
.wdp-about-process-col .elementor-icon-box-description p {
  font-size: 13.5px !important;
  line-height: 1.6 !important;
  color: #cbd5e1 !important;
  margin: 0 !important;
}

/* Step index badge (optional text widget / heading before icon box) */
.wdp-about-process-col .wdp-about-process-step {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 28px;
  height: 28px;
  margin-bottom: 12px;
  border-radius: 999px;
  background: rgba(238, 134, 34, 0.2);
  color: var(--wdp-signal);
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.04em;
}

/* â€”â€” 7. Reach (legacy) â€”â€” */
.wdp-about-reach__left .elementor-widget-text-editor p {
  font-size: 16px;
  line-height: 1.7;
  color: var(--wdp-muted);
}

.wdp-about-reach__left .elementor-widget-icon-list .elementor-icon-list-item {
  font-size: 15px;
  font-weight: 500;
  color: var(--wdp-ink);
  margin-bottom: 12px;
}

.wdp-about-reach__left .elementor-widget-icon-list .elementor-icon-list-icon {
  color: var(--wdp-cobalt);
}

.wdp-reach-card,
.elementor-column.wdp-reach-card {
  background: #fff;
  border: 1px solid var(--wdp-line);
  border-radius: 20px;
  padding: 32px 28px;
  box-shadow: 0 12px 36px rgba(11, 20, 36, 0.07);
}

.wdp-reach-card .elementor-widget-heading .elementor-heading-title {
  font-size: 22px !important;
  font-weight: 700;
  color: var(--wdp-ink);
  margin: 0 0 10px;
  letter-spacing: -0.015em;
}

.wdp-reach-card .elementor-widget-text-editor p,
.wdp-reach-card__desc p {
  font-size: 14.5px;
  line-height: 1.6;
  color: var(--wdp-muted);
  margin: 0 0 22px;
}

.wdp-reach-card .elementor-widget-icon-box {
  margin-bottom: 14px;
}

.wdp-reach-card .elementor-icon {
  width: 36px !important;
  height: 36px !important;
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  background: rgba(0, 71, 171, 0.09);
  color: var(--wdp-cobalt) !important;
  border-radius: 8px;
  font-size: 15px !important;
}

.wdp-reach-card .elementor-icon-box-title {
  font-size: 14px !important;
  font-weight: 700;
  color: var(--wdp-ink) !important;
  margin: 0 0 2px !important;
}

.wdp-reach-card .elementor-icon-box-description {
  font-size: 13.5px !important;
  color: var(--wdp-muted) !important;
  margin: 0 !important;
}

/* â€”â€” 8. CTA band â€” dual primary actions â€”â€” */
.wdp-theme .elementor-section.wdp-about-cta,
.elementor-section.wdp-about-cta,
#contact.elementor-section.wdp-about-cta {
  padding: 72px 0;
}

.wdp-about-cta__copy .elementor-widget-heading.wdp-about-cta__title .elementor-heading-title,
.wdp-about-cta__copy .elementor-widget-heading:nth-of-type(2) .elementor-heading-title {
  font-size: clamp(28px, 3.4vw, 42px) !important;
  font-weight: 700;
  line-height: 1.18;
  letter-spacing: -0.02em;
  color: #fff !important;
  margin: 0 0 14px;
  text-transform: none !important;
  max-width: 18ch;
}

.wdp-about-cta__copy .elementor-widget-text-editor p {
  font-size: 17px;
  line-height: 1.6;
  color: rgba(232, 238, 248, 0.92) !important;
  margin: 0 0 22px;
  max-width: 48ch;
}

.wdp-about-cta__copy .elementor-widget-icon-list .elementor-icon-list-item {
  font-size: 14px;
  font-weight: 500;
  color: rgba(232, 238, 248, 0.9);
  margin-bottom: 8px;
}

.wdp-about-cta__copy .elementor-widget-icon-list .elementor-icon-list-icon {
  color: var(--wdp-signal);
}

.wdp-about-cta__actions .elementor-widget-button {
  margin-bottom: 12px;
}

.wdp-about-cta__actions .elementor-button {
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 48px;
  padding: 0 22px;
  font-size: 15px;
  font-weight: 600;
  border-radius: 999px !important;
  transition: transform 160ms var(--wdp-ease-out), background-color 180ms ease, box-shadow 180ms ease;
}

/* Dual-button layout when actions are an inner 2-col section */
.wdp-about-cta__actions-inner {
  max-width: 100%;
}

.wdp-about-cta__actions-inner .elementor-column {
  padding: 0 6px;
}

.wdp-about-cta__actions-inner .elementor-button {
  width: 100%;
}

@media (hover: hover) and (pointer: fine) {
  .wdp-about-cta__actions .elementor-button:hover {
    transform: translateY(-2px);
  }
  .wdp-about-cta__actions .elementor-button:active {
    transform: scale(0.97);
  }
}

/* â€”â€” Reduced motion â€”â€” */
@media (prefers-reduced-motion: reduce) {
  .wdp-about-hero__btn-left .elementor-button,
  .wdp-about-hero__btn-right .elementor-button,
  .wdp-about-story__left .elementor-widget-button .elementor-button,
  .wdp-about-who .elementor-widget-button .elementor-button,
  .wdp-about-stat-col .elementor-counter,
  .wdp-about-stat-box .elementor-counter,
  .wdp-value-col > .elementor-widget-wrap.elementor-element-populated,
  .wdp-value-col .elementor-icon,
  .wdp-trust-col > .elementor-widget-wrap.elementor-element-populated,
  .wdp-about-trust-col > .elementor-widget-wrap.elementor-element-populated,
  .wdp-expertise-col > .elementor-widget-wrap.elementor-element-populated,
  .wdp-industry-col > .elementor-widget-wrap.elementor-element-populated,
  .wdp-about-industry-col > .elementor-widget-wrap.elementor-element-populated,
  .wdp-about-process-col > .elementor-widget-wrap.elementor-element-populated,
  .wdp-about-cta__actions .elementor-button,
  .wdp-about-industries .elementor-widget-button .elementor-button,
  .wdp-about-industries__list .elementor-icon-list-item,
  .wdp-team-role-col > .elementor-widget-wrap.elementor-element-populated {
    transition: none !important;
  }

  .wdp-about-hero__btn-left .elementor-button:hover,
  .wdp-about-hero__btn-right .elementor-button:hover,
  .wdp-about-story__left .elementor-widget-button .elementor-button:hover,
  .wdp-about-who .elementor-widget-button .elementor-button:hover,
  .wdp-about-stat-col .elementor-counter:hover,
  .wdp-about-stat-box .elementor-counter:hover,
  .wdp-value-col:hover > .elementor-widget-wrap.elementor-element-populated,
  .wdp-value-col:hover .elementor-icon,
  .wdp-trust-col:hover > .elementor-widget-wrap.elementor-element-populated,
  .wdp-about-trust-col:hover > .elementor-widget-wrap.elementor-element-populated,
  .wdp-expertise-col:hover > .elementor-widget-wrap.elementor-element-populated,
  .wdp-industry-col:hover > .elementor-widget-wrap.elementor-element-populated,
  .wdp-about-industry-col:hover > .elementor-widget-wrap.elementor-element-populated,
  .wdp-about-process-col:hover > .elementor-widget-wrap.elementor-element-populated,
  .wdp-team-role-col:hover > .elementor-widget-wrap.elementor-element-populated,
  .wdp-about-industries__list .elementor-icon-list-item:hover,
  .wdp-about-industries .elementor-widget-button .elementor-button:hover,
  .wdp-about-cta__actions .elementor-button:hover,
  .wdp-about-cta__actions .elementor-button:active {
    transform: none !important;
  }
}

/* =============================================================================
   ABOUT RESPONSIVE â€” 1440 / tablet / 390
   ============================================================================= */
@media (max-width: 1100px) {
  .elementor-section.wdp-about-process-grid > .elementor-container > .wdp-about-process-col {
    margin-bottom: 16px;
  }
}

@media (max-width: 1024px) {
  .wdp-value-col,
  .wdp-expertise-col,
  .wdp-industry-col,
  .wdp-about-industry-col,
  .wdp-trust-col,
  .wdp-about-trust-col,
  .wdp-team-role-col,
  .wdp-about-process-col {
    width: 50% !important;
    margin-bottom: 20px;
  }

  .wdp-about-who__left,
  .wdp-about-who__right,
  .wdp-about-story__left,
  .wdp-about-story__right,
  .wdp-about-reach__left,
  .wdp-about-reach__right,
  .wdp-about-cta__copy,
  .wdp-about-cta__actions,
  .wdp-about-team__left,
  .wdp-about-team__right {
    width: 100% !important;
  }

  .wdp-about-story__right,
  .wdp-about-who__right,
  .wdp-about-reach__right,
  .wdp-about-cta__actions {
    margin-top: 28px;
  }

  .elementor-section.wdp-about-process-grid--row2 > .elementor-container,
  .elementor-section.wdp-about-trust-grid--row2 > .elementor-container {
    max-width: 100%;
  }
}

@media (max-width: 767px) {
  .elementor-section.wdp-about-hero,
  #about-hero.elementor-section {
    padding: 56px 0 40px;
  }

  .elementor-section.wdp-about-who,
  .elementor-section.wdp-about-story,
  .elementor-section.wdp-about-mission,
  .elementor-section.wdp-about-trust,
  .elementor-section.wdp-about-trust-head,
  .elementor-section.wdp-about-team,
  .elementor-section.wdp-about-values-head,
  .elementor-section.wdp-about-expertise-head,
  .elementor-section.wdp-about-industries,
  .elementor-section.wdp-about-process-head,
  .elementor-section.wdp-about-reach,
  .elementor-section.wdp-about-cta,
  #who-we-are.elementor-section,
  #story.elementor-section,
  #mission.elementor-section,
  #trust.elementor-section,
  #team.elementor-section,
  #values.elementor-section,
  #process.elementor-section,
  #industries.elementor-section,
  #contact.elementor-section {
    padding-block: 56px 16px !important;
  }

  .elementor-section.wdp-about-values-grid,
  .elementor-section.wdp-about-expertise-grid,
  .elementor-section.wdp-about-industries-grid,
  .elementor-section.wdp-about-process-grid,
  .elementor-section.wdp-about-trust-grid,
  .elementor-section.wdp-about-trust-stats,
  .elementor-section.wdp-about-team-grid {
    padding-block: 8px 56px !important;
  }

  .elementor-section.wdp-about-process-grid--row2,
  .elementor-section.wdp-about-trust-grid--row2 {
    padding-block: 0 56px !important;
  }

  .wdp-about-hero__actions-inner .elementor-column,
  .wdp-about-cta__actions-inner .elementor-column {
    width: 100% !important;
    margin-bottom: 10px;
  }

  .wdp-about-hero__btn-left .elementor-button,
  .wdp-about-hero__btn-right .elementor-button {
    width: 100%;
  }

  .wdp-about-hero__title .elementor-heading-title,
  .wdp-about-hero h1.elementor-heading-title,
  .wdp-about-hero .elementor-widget-heading:nth-of-type(2) .elementor-heading-title {
    max-width: none;
  }

  .wdp-value-col,
  .wdp-expertise-col,
  .wdp-industry-col,
  .wdp-about-industry-col,
  .wdp-trust-col,
  .wdp-about-trust-col,
  .wdp-team-role-col,
  .wdp-about-process-col {
    width: 100% !important;
    margin-bottom: 16px;
  }

  .wdp-about-trust__stats > .elementor-container > .wdp-about-stat-col,
  .wdp-about-stats-row > .elementor-container > .wdp-about-stat-col,
  .elementor-section.wdp-about-trust-stats > .elementor-container > .wdp-about-stat-col {
    width: 100% !important;
    margin-bottom: 12px;
  }

  .wdp-about-story__stats-inner-row .wdp-about-stat-col {
    width: 50% !important;
  }

  .wdp-about-story__right .elementor-widget-image img,
  .wdp-about-who__right .elementor-widget-image img,
  .wdp-about-who__image img {
    height: 220px;
  }

  .wdp-about-industries__list .elementor-icon-list-item {
    width: 100% !important;
    justify-content: flex-start;
  }

  .wdp-reach-card,
  .elementor-column.wdp-reach-card {
    padding: 24px 20px;
  }

  .wdp-about-cta__copy,
  .wdp-about-cta__actions {
    margin-bottom: 8px;
  }

  .page-id-393 .elementor-section[class*="wdp-about-"] .elementor-container {
    max-width: 100%;
  }
}

@media (max-width: 420px) {
  .wdp-about-hero .elementor-widget-icon-list .elementor-icon-list-items {
    gap: 8px;
  }

  .wdp-about-hero .elementor-widget-icon-list .elementor-icon-list-item {
    padding: 6px 11px;
  }

  .wdp-about-hero .elementor-widget-icon-list .elementor-icon-list-text {
    font-size: 12px;
  }

  .wdp-about-stat-col .elementor-counter,
  .wdp-about-stat-box .elementor-counter {
    padding: 16px 12px !important;
  }

  .wdp-about-stat-col .elementor-counter-number-wrapper,
  .wdp-about-stat-box .elementor-counter-number-wrapper {
    font-size: 28px;
  }

  .wdp-about-hero__title .elementor-heading-title,
  .wdp-about-hero h1.elementor-heading-title {
    font-size: clamp(30px, 9vw, 40px) !important;
  }
}

/* =============================================================================
   ABOUT PAGE OVERLAY â€” e-con imagery + motion (page-id-393)
   Prefer CSS/JS; do not force-sync Elementor document.
   ============================================================================= */

.page-id-393 #about-hero.e-con,
.page-id-393 #who-we-are.e-con,
.page-id-393 #story.e-con,
.page-id-393 #mission.e-con,
.page-id-393 #trust.e-con,
.page-id-393 #team.e-con,
.page-id-393 #process.e-con,
.page-id-393 #values.e-con,
.page-id-393 #about-cta.e-con,
.page-id-393 .wdp-about-cta.e-con {
  position: relative;
  overflow: clip;
}

/* Hero entrance â€” rise/fade once ready */
@media (prefers-reduced-motion: no-preference) {
  .page-id-393 #about-hero:not(.is-ready) > .e-con-inner {
    opacity: 0;
    transform: translateY(18px);
  }

  .page-id-393 #about-hero.is-ready > .e-con-inner {
    opacity: 1;
    transform: none;
    transition:
      opacity 720ms var(--wdp-ease-out),
      transform 720ms var(--wdp-ease-out);
  }

  .page-id-393 #about-hero.is-ready > .e-con-inner > *:nth-child(1) {
    animation: wdp-rise 640ms var(--wdp-ease-out) both;
  }

  .page-id-393 #about-hero.is-ready > .e-con-inner > *:nth-child(2) {
    animation: wdp-rise 700ms var(--wdp-ease-out) 80ms both;
  }
}

/* Soft ken-burns on hero background when Elementor paints one */
@media (prefers-reduced-motion: no-preference) {
  .page-id-393 #about-hero.e-con.e-lazyloaded {
    background-size: 108% auto !important;
    background-position: center 42% !important;
    transition: background-position 900ms var(--wdp-ease-out);
  }

  .page-id-393 #about-hero.is-ready.e-con {
    background-size: 100% auto !important;
  }
}

/* Mission / process / CTA â€” atmospheric photo wash (brand assets) */
.page-id-393 #mission.e-con::before,
.page-id-393 #process.e-con::before,
.page-id-393 #about-cta.e-con::before,
.page-id-393 .wdp-about-cta.e-con::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 0;
  pointer-events: none;
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center;
  opacity: 0.18;
  mix-blend-mode: luminosity;
}

.page-id-393 #mission.e-con::before {
  background-image: url("../img/about-mission.jpg");
  opacity: 0.22;
}

.page-id-393 #process.e-con::before {
  background-image: url("../img/about-team.jpg");
  opacity: 0.14;
  background-position: 70% center;
}

.page-id-393 #about-cta.e-con::before,
.page-id-393 .wdp-about-cta.e-con::before {
  background-image: url("../img/about-cta.jpg");
  opacity: 0.28;
}

.page-id-393 #mission.e-con > .e-con-inner,
.page-id-393 #process.e-con > .e-con-inner,
.page-id-393 #about-cta.e-con > .e-con-inner,
.page-id-393 .wdp-about-cta.e-con > .e-con-inner {
  position: relative;
  z-index: 1;
}

.page-id-393 #about-cta.e-con,
.page-id-393 .wdp-about-cta.e-con {
  background:
    linear-gradient(120deg, rgba(11, 20, 36, 0.92) 0%, rgba(0, 56, 136, 0.88) 55%, rgba(11, 20, 36, 0.94) 100%),
    var(--wdp-ink) !important;
  padding: 72px 20px !important;
}

.page-id-393 #about-cta .elementor-heading-title,
.page-id-393 .wdp-about-cta .elementor-heading-title {
  color: #fff !important;
}

.page-id-393 #about-cta a.elementor-button,
.page-id-393 .wdp-about-cta a.elementor-button {
  border-radius: 999px !important;
  font-weight: 600;
  transition:
    transform 160ms var(--wdp-ease-out),
    box-shadow 180ms ease,
    background-color 180ms ease;
}

@media (hover: hover) and (pointer: fine) {
  .page-id-393 #about-cta a.elementor-button:hover,
  .page-id-393 .wdp-about-cta a.elementor-button:hover {
    transform: translateY(-2px);
    box-shadow: 0 12px 28px rgba(0, 0, 0, 0.28);
  }
}

/* Story / Team â€” two-column with injected media figure */
.page-id-393 #story.wdp-about-has-media > .e-con-inner,
.page-id-393 #team.wdp-about-has-media > .e-con-inner {
  display: grid !important;
  grid-template-columns: minmax(0, 1.05fr) minmax(0, 0.95fr);
  gap: clamp(28px, 4vw, 48px);
  align-items: center;
  max-width: var(--wdp-max);
  margin-inline: auto;
  padding-block: clamp(48px, 7vw, 88px);
  width: 100%;
}

.page-id-393 #story.wdp-about-has-media > .e-con-inner > .e-con,
.page-id-393 #team.wdp-about-has-media > .e-con-inner > .e-con {
  width: 100% !important;
  max-width: none !important;
}

.page-id-393 .wdp-about-media {
  margin: 0;
  min-width: 0;
}

.page-id-393 .wdp-about-media__frame {
  overflow: hidden;
  border-radius: calc(var(--wdp-radius) + 4px);
  box-shadow: 0 18px 44px rgba(11, 20, 36, 0.12);
  background: var(--wdp-tint);
  will-change: transform;
}

.page-id-393 .wdp-about-media__frame img,
.page-id-393 #who-we-are .wdp-about-media__frame img {
  display: block;
  width: 100%;
  height: clamp(260px, 36vw, 420px);
  object-fit: cover;
  transform: scale(1.04);
}

.page-id-393 #who-we-are .wdp-about-media__frame {
  overflow: hidden;
  border-radius: calc(var(--wdp-radius) + 4px);
  box-shadow: 0 18px 44px rgba(11, 20, 36, 0.12);
  will-change: transform;
}

.page-id-393 #who-we-are img {
  border-radius: calc(var(--wdp-radius) + 4px);
}

/* Trust funfacts â€” readable static numbers */
.page-id-393 #trust .number-percentage {
  font-size: clamp(28px, 3vw, 40px);
  font-weight: 700;
  color: var(--wdp-cobalt);
  letter-spacing: -0.02em;
  line-height: 1;
}

.page-id-393 #trust .number-percentage-wraper {
  font-size: clamp(22px, 2.4vw, 32px);
  font-weight: 700;
  color: var(--wdp-cobalt);
  margin-bottom: 8px;
}

.page-id-393 #trust .funfact-title {
  font-size: 14px !important;
  font-weight: 600 !important;
  color: var(--wdp-ink) !important;
  letter-spacing: 0.02em;
}

.page-id-393 #trust .elementskit-funfact {
  background: #fff;
  border: 1px solid var(--wdp-line);
  border-radius: 14px;
  padding: 22px 16px;
  box-shadow: 0 6px 18px rgba(11, 20, 36, 0.05);
  height: 100%;
  transition:
    transform 180ms var(--wdp-ease-out),
    box-shadow 180ms ease,
    border-color 180ms ease;
}

@media (hover: hover) and (pointer: fine) {
  .page-id-393 #trust .elementskit-funfact:hover {
    transform: translateY(-3px);
    border-color: rgba(0, 71, 171, 0.22);
    box-shadow: 0 12px 28px rgba(11, 20, 36, 0.08);
  }
}

/* Scroll reveal stagger for About cards / steps */
@media (prefers-reduced-motion: no-preference) {
  .page-id-393 [data-wdp-reveal].is-in .elementskit-funfact,
  .page-id-393 [data-wdp-reveal].is-in .elementor-widget-icon-box,
  .page-id-393 #process[data-wdp-reveal].is-in > .e-con-inner > .e-con:last-child > .e-con,
  .page-id-393 #values[data-wdp-reveal].is-in .elementor-widget-icon-box,
  .page-id-393 #trust[data-wdp-reveal].is-in .elementor-widget-icon-box {
    animation: wdp-rise 640ms var(--wdp-ease-out) both;
  }

  .page-id-393 [data-wdp-reveal].is-in .elementskit-funfact:nth-child(1),
  .page-id-393 [data-wdp-reveal].is-in .elementor-widget-icon-box:nth-child(1),
  .page-id-393 #process[data-wdp-reveal].is-in > .e-con-inner > .e-con:last-child > .e-con:nth-child(1) {
    animation-delay: 40ms;
  }

  .page-id-393 [data-wdp-reveal].is-in .elementskit-funfact:nth-child(2),
  .page-id-393 [data-wdp-reveal].is-in .elementor-widget-icon-box:nth-child(2),
  .page-id-393 #process[data-wdp-reveal].is-in > .e-con-inner > .e-con:last-child > .e-con:nth-child(2) {
    animation-delay: 100ms;
  }

  .page-id-393 [data-wdp-reveal].is-in .elementskit-funfact:nth-child(3),
  .page-id-393 [data-wdp-reveal].is-in .elementor-widget-icon-box:nth-child(3),
  .page-id-393 #process[data-wdp-reveal].is-in > .e-con-inner > .e-con:last-child > .e-con:nth-child(3) {
    animation-delay: 160ms;
  }

  .page-id-393 [data-wdp-reveal].is-in .elementskit-funfact:nth-child(4),
  .page-id-393 [data-wdp-reveal].is-in .elementor-widget-icon-box:nth-child(4),
  .page-id-393 #process[data-wdp-reveal].is-in > .e-con-inner > .e-con:last-child > .e-con:nth-child(4) {
    animation-delay: 220ms;
  }

  .page-id-393 #process[data-wdp-reveal].is-in > .e-con-inner > .e-con:last-child > .e-con:nth-child(5),
  .page-id-393 [data-wdp-reveal].is-in .elementor-widget-icon-box:nth-child(5) {
    animation-delay: 280ms;
  }

  .page-id-393 #story[data-wdp-reveal].is-in .wdp-about-media,
  .page-id-393 #team[data-wdp-reveal].is-in .wdp-about-media,
  .page-id-393 #who-we-are[data-wdp-reveal].is-in .wdp-about-media__frame {
    animation: wdp-rise 720ms var(--wdp-ease-out) 60ms both;
  }
}

@media (max-width: 1024px) {
  .page-id-393 #story.wdp-about-has-media > .e-con-inner,
  .page-id-393 #team.wdp-about-has-media > .e-con-inner {
    grid-template-columns: 1fr;
    gap: 28px;
  }

  .page-id-393 .wdp-about-media__frame img,
  .page-id-393 #who-we-are .wdp-about-media__frame img {
    height: clamp(220px, 48vw, 340px);
  }
}

@media (max-width: 767px) {
  .page-id-393 #about-cta.e-con,
  .page-id-393 .wdp-about-cta.e-con {
    padding: 56px 16px !important;
  }

  .page-id-393 #story.wdp-about-has-media > .e-con-inner,
  .page-id-393 #team.wdp-about-has-media > .e-con-inner {
    padding-block: 48px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .page-id-393 #about-hero > .e-con-inner,
  .page-id-393 #about-hero.is-ready > .e-con-inner > *,
  .page-id-393 [data-wdp-reveal].is-in .elementskit-funfact,
  .page-id-393 [data-wdp-reveal].is-in .elementor-widget-icon-box,
  .page-id-393 [data-wdp-reveal].is-in .wdp-about-media,
  .page-id-393 [data-wdp-reveal].is-in .wdp-about-media__frame,
  .page-id-393 #process[data-wdp-reveal].is-in > .e-con-inner > .e-con:last-child > .e-con {
    animation: none !important;
    transition: none !important;
    opacity: 1 !important;
    transform: none !important;
  }

  .page-id-393 #about-hero.e-con.e-lazyloaded,
  .page-id-393 #about-hero.is-ready.e-con {
    background-size: cover !important;
  }

  .page-id-393 #trust .elementskit-funfact,
  .page-id-393 #about-cta a.elementor-button,
  .page-id-393 .wdp-about-cta a.elementor-button {
    transition: none !important;
  }

  .page-id-393 #trust .elementskit-funfact:hover,
  .page-id-393 #about-cta a.elementor-button:hover,
  .page-id-393 .wdp-about-cta a.elementor-button:hover {
    transform: none !important;
  }
}

/* =============================================================================
   BLOG LISTING PAGE (/blog/)
   Backend hooks: #blog-hero.wdp-blog-hero, #blog-posts, .wdp-blog-grid,
   .wdp-blog-card, #blog-cta.wdp-blog-cta, .wdp-blog-empty
   Aliases: .wdp-blog-page__grid / __card[--featured] (agreed with frontend)
   Scoped so homepage .wdp-blog is untouched.
   ============================================================================= */

body.wdp-blog-page,
#blog-hero.wdp-blog-page,
.wdp-blog-hero,
.wdp-blog-grid,
.wdp-blog-grid-head,
.wdp-blog-empty,
.wdp-blog-cta,
#blog-posts,
#blog-cta {
  font-family: var(--wdp-font);
}

#blog-hero,
.wdp-blog-hero,
.wdp-blog-grid,
.wdp-blog-grid-head,
.wdp-blog-empty,
#blog-posts,
#blog-cta,
.wdp-blog-cta {
  overflow-x: clip;
}

/* â€”â€” Hero â€”â€” */
#blog-hero,
.elementor-section.wdp-blog-hero,
.e-con.wdp-blog-hero {
  position: relative;
  padding: 108px 0 80px !important;
  text-align: center;
  background:
    radial-gradient(1100px 420px at 50% -12%, rgba(0, 71, 171, 0.14), transparent 58%),
    radial-gradient(720px 320px at 94% 12%, rgba(238, 134, 34, 0.09), transparent 52%),
    radial-gradient(560px 280px at 6% 78%, rgba(0, 71, 171, 0.07), transparent 58%),
    linear-gradient(180deg, #f8fbff 0%, var(--wdp-paper) 42%, #e8eef7 100%) !important;
}

#blog-hero::before,
.wdp-blog-hero::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 0;
  pointer-events: none;
  opacity: 0.4;
  background-image:
    linear-gradient(rgba(11, 20, 36, 0.04) 1px, transparent 1px),
    linear-gradient(90deg, rgba(11, 20, 36, 0.04) 1px, transparent 1px);
  background-size: 56px 56px;
  mask-image: radial-gradient(ellipse 72% 58% at 50% 28%, #000 18%, transparent 78%);
}

#blog-hero::after,
.wdp-blog-hero::after {
  content: "";
  position: absolute;
  left: 50%;
  bottom: 0;
  z-index: 0;
  width: min(420px, 70vw);
  height: 2px;
  transform: translateX(-50%);
  pointer-events: none;
  background: linear-gradient(
    90deg,
    transparent,
    rgba(0, 71, 171, 0.35),
    rgba(238, 134, 34, 0.45),
    rgba(0, 71, 171, 0.35),
    transparent
  );
}

#blog-hero > .elementor-container,
#blog-hero > .e-con-inner,
.wdp-blog-hero > .elementor-container,
.wdp-blog-hero > .e-con-inner {
  position: relative;
  z-index: 1;
}

.wdp-blog-page__brand,
#blog-hero .wdp-blog-page__brand,
.wdp-blog-hero .wdp-blog-page__brand,
.wdp-blog-hero__brand-wrap .wdp-blog-page__brand {
  display: block;
  margin: 0 auto 16px;
  font-family: var(--wdp-ui);
  font-size: 13px;
  font-weight: 700;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--wdp-cobalt);
  line-height: 1.4;
}

.wdp-blog-hero__title .elementor-heading-title,
#blog-hero h1.elementor-heading-title,
#blog-hero h1,
.wdp-blog-page__title .elementor-heading-title {
  font-size: clamp(44px, 6.4vw, 72px) !important;
  font-weight: 700 !important;
  line-height: 1.02 !important;
  letter-spacing: -0.04em !important;
  color: var(--wdp-ink) !important;
  max-width: 10ch;
  margin: 0 auto 18px !important;
  text-align: center !important;
  text-transform: none !important;
}

.wdp-blog-hero__lead,
.wdp-blog-hero__lead-wrap .wdp-lead,
#blog-hero .wdp-lead,
#blog-hero .elementor-widget-text-editor p {
  font-size: 18px !important;
  line-height: 1.62 !important;
  color: var(--wdp-muted) !important;
  max-width: 54ch;
  margin: 0 auto 30px !important;
  text-align: center !important;
}

#blog-hero .elementor-button,
.wdp-blog-hero .elementor-button {
  border-radius: 999px !important;
  min-height: 46px;
  font-weight: 700 !important;
  transition: transform 140ms var(--wdp-ease-out), background-color 180ms ease !important;
}

@media (hover: hover) and (pointer: fine) {
  #blog-hero .elementor-button:hover,
  .wdp-blog-hero .elementor-button:hover {
    background: var(--wdp-cobalt-2) !important;
    transform: translateY(-2px);
  }
  #blog-hero .elementor-button:active,
  .wdp-blog-hero .elementor-button:active {
    transform: scale(0.97);
  }
}

@media (prefers-reduced-motion: no-preference) {
  #blog-hero:not(.is-ready) > .elementor-container,
  #blog-hero:not(.is-ready) > .e-con-inner,
  .wdp-blog-hero:not(.is-ready) > .elementor-container,
  .wdp-blog-hero:not(.is-ready) > .e-con-inner {
    opacity: 0;
    transform: translateY(18px);
  }

  #blog-hero.is-ready > .elementor-container,
  #blog-hero.is-ready > .e-con-inner,
  .wdp-blog-hero.is-ready > .elementor-container,
  .wdp-blog-hero.is-ready > .e-con-inner {
    opacity: 1;
    transform: none;
    transition:
      opacity 720ms var(--wdp-ease-out),
      transform 720ms var(--wdp-ease-out);
  }

  #blog-hero.is-ready > .elementor-container > .elementor-row > .elementor-column > .elementor-widget-wrap > .elementor-element:nth-child(1),
  #blog-hero.is-ready > .e-con-inner > *:nth-child(1),
  #blog-hero.is-ready .wdp-blog-hero__inner > .elementor-widget-wrap > .elementor-element:nth-child(1) {
    animation: wdp-rise 640ms var(--wdp-ease-out) both;
  }

  #blog-hero.is-ready > .elementor-container > .elementor-row > .elementor-column > .elementor-widget-wrap > .elementor-element:nth-child(2),
  #blog-hero.is-ready > .e-con-inner > *:nth-child(2),
  #blog-hero.is-ready .wdp-blog-hero__inner > .elementor-widget-wrap > .elementor-element:nth-child(2) {
    animation: wdp-rise 700ms var(--wdp-ease-out) 70ms both;
  }

  #blog-hero.is-ready > .elementor-container > .elementor-row > .elementor-column > .elementor-widget-wrap > .elementor-element:nth-child(3),
  #blog-hero.is-ready > .e-con-inner > *:nth-child(3),
  #blog-hero.is-ready .wdp-blog-hero__inner > .elementor-widget-wrap > .elementor-element:nth-child(3) {
    animation: wdp-rise 740ms var(--wdp-ease-out) 120ms both;
  }

  #blog-hero.is-ready > .elementor-container > .elementor-row > .elementor-column > .elementor-widget-wrap > .elementor-element:nth-child(4),
  #blog-hero.is-ready > .e-con-inner > *:nth-child(4),
  #blog-hero.is-ready .wdp-blog-hero__inner > .elementor-widget-wrap > .elementor-element:nth-child(4) {
    animation: wdp-rise 780ms var(--wdp-ease-out) 160ms both;
  }

  #blog-hero.is-ready .wdp-blog-page__brand {
    animation: wdp-rise 600ms var(--wdp-ease-out) both;
  }
}

/* â€”â€” Posts head + empty â€”â€” */
#blog-posts,
.wdp-blog-grid-head {
  padding: 72px 0 20px !important;
  background: var(--wdp-white) !important;
}

.wdp-blog-grid__heading .elementor-heading-title,
#blog-posts .elementor-heading-title {
  font-size: clamp(26px, 3.2vw, 36px) !important;
  font-weight: 700 !important;
  letter-spacing: -0.02em !important;
  color: var(--wdp-ink) !important;
  text-align: center !important;
  margin: 0 auto 10px !important;
}

.wdp-blog-grid__sub,
.wdp-blog-grid__sub-wrap p {
  margin: 0 auto !important;
  max-width: 42ch;
  text-align: center !important;
  color: var(--wdp-muted) !important;
  font-size: 15.5px !important;
  line-height: 1.55 !important;
}

.wdp-blog-empty {
  padding: 64px 0 72px !important;
  background: var(--wdp-white) !important;
}

.wdp-blog-empty__inner,
.wdp-blog-empty .elementor-widget-wrap {
  text-align: center;
}

.wdp-blog-empty__title .elementor-heading-title {
  font-size: clamp(24px, 3vw, 32px) !important;
  margin-bottom: 12px !important;
}

.wdp-blog-empty__copy p {
  color: var(--wdp-muted) !important;
  max-width: 42ch;
  margin-inline: auto !important;
}

/* â€”â€” Grid rows (Elementor columns) â€”â€” */
.wdp-blog-grid {
  padding: 12px 0 28px !important;
  background: var(--wdp-white) !important;
}

.wdp-blog-grid.wdp-blog-grid--row1 {
  padding-top: 8px !important;
}

.wdp-blog-grid:last-of-type,
body.wdp-blog-page .wdp-blog-grid.wdp-blog-grid--row3,
body.wdp-blog-page .elementor-section.wdp-blog-grid:nth-last-of-type(2) {
  padding-bottom: 88px !important;
}

.wdp-blog-page__grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 26px;
  width: var(--wdp-shell);
  max-width: var(--wdp-max);
  margin-inline: auto;
}

/* Card column */
.elementor-column.wdp-blog-card,
.wdp-blog-card.elementor-column,
.wdp-blog-page__card {
  background: #fff !important;
  border: 1px solid rgba(226, 232, 240, 0.95) !important;
  border-radius: 20px !important;
  overflow: hidden !important;
  box-shadow:
    0 10px 30px -5px rgba(11, 20, 36, 0.045),
    0 2px 8px -2px rgba(11, 20, 36, 0.025) !important;
  transition:
    transform 260ms var(--wdp-ease-out),
    box-shadow 260ms var(--wdp-ease-out),
    border-color 260ms ease !important;
}

.elementor-column.wdp-blog-card > .elementor-widget-wrap,
.wdp-blog-card > .elementor-widget-wrap,
.wdp-blog-card > .e-con-inner {
  display: flex !important;
  flex-direction: column !important;
  height: 100%;
  padding: 0 !important;
  background: #fff;
}

@media (hover: hover) and (pointer: fine) {
  .elementor-column.wdp-blog-card:hover,
  .wdp-blog-page__card:hover {
    transform: translateY(-4px);
    border-color: rgba(186, 207, 238, 0.9) !important;
    box-shadow:
      0 22px 44px -10px rgba(11, 20, 36, 0.09),
      0 4px 12px -2px rgba(11, 20, 36, 0.04) !important;
  }
}

/* Image / media zoom */
.wdp-blog-card__image,
.wdp-blog-card .elementor-widget-image,
.wdp-blog-page__card .wdp-blog-page__media,
.wdp-blog-page__card .wdp-blog__media {
  overflow: hidden !important;
  background: #e2e8f0;
  margin: 0 !important;
}

.wdp-blog-card__image .elementor-widget-container,
.wdp-blog-card .elementor-widget-image .elementor-widget-container {
  overflow: hidden;
  margin: 0 !important;
}

/* Featured lead card (Elementor full-width row) */
.elementor-column.wdp-blog-card--featured,
.wdp-blog-card.wdp-blog-card--featured,
.wdp-blog-grid--featured .wdp-blog-card {
  border-radius: 24px !important;
}

.wdp-blog-grid--featured {
  padding-top: 12px !important;
  padding-bottom: 20px !important;
}

@media (min-width: 981px) {
  .elementor-column.wdp-blog-card--featured > .elementor-widget-wrap,
  .wdp-blog-card--featured > .elementor-widget-wrap {
    display: grid !important;
    grid-template-columns: 1.2fr 0.8fr;
    grid-template-rows: auto auto auto auto auto;
    column-gap: 8px;
    align-items: start;
    padding: 0 !important;
  }

  .wdp-blog-card--featured .wdp-blog-card__image,
  .wdp-blog-card--featured .elementor-widget-image {
    grid-column: 1;
    grid-row: 1 / span 5;
    height: 100%;
    min-height: 340px;
    align-self: stretch;
  }

  .wdp-blog-card--featured .wdp-blog-card__image .elementor-widget-container,
  .wdp-blog-card--featured .elementor-widget-image .elementor-widget-container {
    height: 100%;
  }

  .wdp-blog-card--featured .wdp-blog-card__image img,
  .wdp-blog-card--featured .elementor-widget-image img {
    height: 100% !important;
    min-height: 340px !important;
  }

  .wdp-blog-card--featured .wdp-blog-card__category-wrap {
    grid-column: 2;
    grid-row: 1;
    padding-top: 28px !important;
    padding-inline: 28px 32px !important;
  }

  .wdp-blog-card--featured .wdp-blog-card__title {
    grid-column: 2;
    grid-row: 2;
    padding-inline: 28px 32px !important;
  }

  .wdp-blog-card--featured .wdp-blog-card__excerpt-wrap {
    grid-column: 2;
    grid-row: 3;
    padding-inline: 28px 32px !important;
  }

  .wdp-blog-card--featured .wdp-blog-card__meta-wrap {
    grid-column: 2;
    grid-row: 4;
    padding-inline: 28px 32px !important;
  }

  .wdp-blog-card--featured .wdp-blog-card__link {
    grid-column: 2;
    grid-row: 5;
    padding-inline: 28px 32px !important;
    padding-bottom: 28px !important;
    margin-top: 8px !important;
  }

  .wdp-blog-card--featured .wdp-blog-card__title .elementor-heading-title {
    font-size: clamp(22px, 2.4vw, 30px) !important;
    line-height: 1.22 !important;
  }

  .wdp-blog-card--featured .wdp-blog-card__excerpt,
  .wdp-blog-card--featured .wdp-blog-card__excerpt-wrap p {
    font-size: 15px !important;
    line-height: 1.6 !important;
    display: -webkit-box;
    -webkit-line-clamp: 5;
    -webkit-box-orient: vertical;
    overflow: hidden;
  }
}

.wdp-blog-card__image img,
.wdp-blog-card .elementor-widget-image img,
.wdp-blog-page__card .wdp-blog-page__media img,
.wdp-blog-page__card .wdp-blog__media img {
  width: 100% !important;
  height: 210px !important;
  object-fit: cover !important;
  display: block !important;
  transition: transform 520ms var(--wdp-ease-out) !important;
}

.wdp-blog-grid--row1:not(.wdp-blog-grid--featured) .wdp-blog-card__image img,
.wdp-blog-grid--row1:not(.wdp-blog-grid--featured) .wdp-blog-card .elementor-widget-image img,
.wdp-blog-page__card--featured .wdp-blog-page__media img,
.wdp-blog-page__card--featured .wdp-blog__media img {
  height: 240px !important;
}

@media (hover: hover) and (pointer: fine) {
  .wdp-blog-card:hover .wdp-blog-card__image img,
  .wdp-blog-card:hover .elementor-widget-image img,
  .wdp-blog-page__card:hover .wdp-blog-page__media img,
  .wdp-blog-page__card:hover .wdp-blog__media img {
    transform: scale(1.045);
  }
}

.wdp-blog-card__category-wrap,
.wdp-blog-card__title,
.wdp-blog-card__excerpt-wrap,
.wdp-blog-card__meta-wrap,
.wdp-blog-card__link {
  padding-inline: 22px !important;
}

.wdp-blog-card__category-wrap {
  padding-top: 16px !important;
  margin: 0 !important;
}

.wdp-blog-card__category,
.wdp-blog-card__category-wrap p {
  display: inline-block !important;
  margin: 0 0 6px !important;
  padding: 4px 10px !important;
  border-radius: 999px !important;
  background: var(--wdp-tint) !important;
  color: var(--wdp-cobalt) !important;
  font-family: var(--wdp-ui) !important;
  font-size: 11px !important;
  font-weight: 700 !important;
  letter-spacing: 0.06em !important;
  line-height: 1.2 !important;
  text-transform: uppercase !important;
}

.wdp-blog-card__title {
  padding-top: 6px !important;
  margin: 0 !important;
}

.wdp-blog-card__title:first-child,
.wdp-blog-card__category-wrap + .wdp-blog-card__title {
  padding-top: 6px !important;
}

.wdp-blog-card:not(:has(.wdp-blog-card__category-wrap)) .wdp-blog-card__title {
  padding-top: 18px !important;
}

.wdp-blog-card__title .elementor-heading-title,
.wdp-blog-page__card .wdp-blog-page__title,
.wdp-blog-page__card h3 {
  font-size: 17px !important;
  font-weight: 800 !important;
  line-height: 1.3 !important;
  letter-spacing: -0.015em !important;
  color: var(--wdp-ink) !important;
  text-transform: none !important;
  margin: 0 0 8px !important;
  transition: color 180ms ease;
}

.wdp-blog-grid--row1 .wdp-blog-card__title .elementor-heading-title {
  font-size: clamp(18px, 2vw, 22px) !important;
}

@media (hover: hover) and (pointer: fine) {
  .wdp-blog-card:hover .wdp-blog-card__title .elementor-heading-title {
    color: var(--wdp-cobalt) !important;
  }
}

.wdp-blog-card__excerpt,
.wdp-blog-card__excerpt-wrap p,
.wdp-blog-page__card .wdp-blog-page__desc {
  color: #64748b !important;
  font-size: 14px !important;
  line-height: 1.55 !important;
  margin: 0 0 10px !important;
}

.wdp-blog-card__meta,
.wdp-blog-card__meta-wrap p {
  font-family: var(--wdp-ui) !important;
  font-size: 12px !important;
  font-weight: 600 !important;
  letter-spacing: 0.04em !important;
  text-transform: uppercase !important;
  color: #64748b !important;
  margin: 0 0 14px !important;
}

.wdp-blog-card__link {
  padding-bottom: 20px !important;
  margin-top: auto !important;
}

.wdp-blog-card__link .elementor-button,
.wdp-blog-card .wdp-blog-card__link .elementor-button {
  background: transparent !important;
  color: var(--wdp-cobalt) !important;
  border: none !important;
  box-shadow: none !important;
  padding: 0 !important;
  min-height: 0 !important;
  font-size: 13.5px !important;
  font-weight: 700 !important;
}

.wdp-blog-card__link .elementor-button:hover {
  color: var(--wdp-cobalt-2) !important;
  background: transparent !important;
}

/* Featured alias (HTML grid / future sync) */
.wdp-blog-page__card--featured {
  grid-column: 1 / -1;
  display: grid !important;
  grid-template-columns: 1.15fr 0.85fr;
}

.wdp-blog-page__card--featured .wdp-blog-page__media,
.wdp-blog-page__card--featured .wdp-blog__media {
  min-height: 320px;
}

.wdp-blog-page__card--featured .wdp-blog-page__media img,
.wdp-blog-page__card--featured .wdp-blog__media img {
  height: 100% !important;
  min-height: 320px !important;
}

/* Scroll reveal */
@media (prefers-reduced-motion: no-preference) {
  body.wdp-blog-page .wdp-blog-grid:not(.is-in) .wdp-blog-card,
  body.wdp-blog-page .wdp-blog-page__grid:not(.is-in) .wdp-blog-page__card,
  .wdp-blog-grid[data-wdp-reveal]:not(.is-in) .wdp-blog-card {
    opacity: 0;
    transform: translateY(16px);
  }

  body.wdp-blog-page .wdp-blog-grid.is-in .wdp-blog-card,
  body.wdp-blog-page .wdp-blog-page__grid.is-in .wdp-blog-page__card,
  .wdp-blog-grid[data-wdp-reveal].is-in .wdp-blog-card {
    animation: wdp-rise 640ms var(--wdp-ease-out) both;
  }

  body.wdp-blog-page .wdp-blog-grid.is-in .wdp-blog-card:nth-child(1),
  .wdp-blog-grid.is-in .elementor-column.wdp-blog-card:nth-child(1) {
    animation-delay: 40ms;
  }

  body.wdp-blog-page .wdp-blog-grid.is-in .wdp-blog-card:nth-child(2),
  .wdp-blog-grid.is-in .elementor-column.wdp-blog-card:nth-child(2) {
    animation-delay: 110ms;
  }

  body.wdp-blog-page .wdp-blog-grid.is-in .wdp-blog-card:nth-child(3),
  .wdp-blog-grid.is-in .elementor-column.wdp-blog-card:nth-child(3) {
    animation-delay: 180ms;
  }
}

/* â€”â€” CTA band â€”â€” */
#blog-cta,
.elementor-section.wdp-blog-cta,
.e-con.wdp-blog-cta,
body.wdp-blog-page .wdp-about-cta {
  position: relative;
  overflow: clip;
  padding: 80px 24px !important;
  background:
    radial-gradient(640px 280px at 12% 20%, rgba(0, 71, 171, 0.45), transparent 60%),
    radial-gradient(520px 240px at 88% 80%, rgba(238, 134, 34, 0.18), transparent 55%),
    linear-gradient(125deg, rgba(11, 20, 36, 0.96) 0%, rgba(0, 56, 136, 0.9) 52%, rgba(11, 20, 36, 0.96) 100%),
    var(--wdp-ink) !important;
}

#blog-cta::before,
.wdp-blog-cta::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 0;
  pointer-events: none;
  opacity: 0.22;
  background-image:
    linear-gradient(rgba(255, 255, 255, 0.06) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255, 255, 255, 0.06) 1px, transparent 1px);
  background-size: 42px 42px;
  mask-image: radial-gradient(ellipse 70% 80% at 50% 50%, #000 10%, transparent 75%);
}

#blog-cta > .elementor-container,
#blog-cta > .e-con-inner,
.wdp-blog-cta > .elementor-container,
.wdp-blog-cta > .e-con-inner {
  position: relative;
  z-index: 1;
}

.wdp-blog-cta__title .elementor-heading-title,
#blog-cta .elementor-heading-title,
#blog-cta h2 {
  color: #fff !important;
  font-size: clamp(28px, 3.6vw, 44px) !important;
  font-weight: 700 !important;
  letter-spacing: -0.025em !important;
  margin: 0 0 14px !important;
  max-width: 18ch;
}

.wdp-blog-cta__desc p,
.wdp-blog-cta__lead,
#blog-cta .elementor-widget-text-editor p {
  color: rgba(232, 238, 248, 0.92) !important;
  font-size: 17px !important;
  line-height: 1.6 !important;
  max-width: 48ch;
}

.wdp-blog-cta__actions .elementor-button,
#blog-cta .elementor-button {
  background: #fff !important;
  color: var(--wdp-cobalt) !important;
  border-radius: 999px !important;
  font-weight: 700 !important;
  border: none !important;
  transition: transform 160ms var(--wdp-ease-out), background-color 180ms ease, color 180ms ease !important;
}

@media (hover: hover) and (pointer: fine) {
  .wdp-blog-cta__actions .elementor-button:hover,
  #blog-cta .elementor-button:hover {
    background: var(--wdp-signal) !important;
    color: #fff !important;
    transform: translateY(-2px);
  }

  .wdp-blog-cta__actions .elementor-button:active,
  #blog-cta .elementor-button:active {
    transform: scale(0.97);
  }
}

/* Responsive */
@media (max-width: 980px) {
  #blog-hero,
  .wdp-blog-hero {
    padding: 88px 0 60px !important;
  }

  .wdp-blog-page__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .wdp-blog-page__card--featured {
    grid-template-columns: 1fr;
  }

  .wdp-blog-card__image img,
  .wdp-blog-card .elementor-widget-image img {
    height: 200px !important;
  }

  .wdp-blog-grid--featured .wdp-blog-card__image img,
  .wdp-blog-card--featured .wdp-blog-card__image img,
  .wdp-blog-grid--row1:not(.wdp-blog-grid--featured) .wdp-blog-card__image img {
    height: 240px !important;
  }
}

@media (max-width: 767px) {
  .wdp-blog-hero__title .elementor-heading-title,
  #blog-hero h1.elementor-heading-title {
    font-size: clamp(36px, 11vw, 44px) !important;
  }

  .wdp-blog-page__grid {
    grid-template-columns: 1fr;
  }

  .wdp-blog-card__category-wrap,
  .wdp-blog-card__title,
  .wdp-blog-card__excerpt-wrap,
  .wdp-blog-card__meta-wrap,
  .wdp-blog-card__link {
    padding-inline: 16px !important;
  }

  .wdp-blog-card--featured .wdp-blog-card__category-wrap {
    padding-top: 16px !important;
  }

  #blog-cta,
  .wdp-blog-cta {
    padding: 56px 16px !important;
  }

  .wdp-blog-cta .elementor-column {
    width: 100% !important;
  }

  .wdp-blog-cta__actions {
    margin-top: 20px;
  }
}

@media (prefers-reduced-motion: reduce) {
  #blog-hero > .elementor-container,
  #blog-hero > .e-con-inner,
  #blog-hero.is-ready .elementor-element,
  #blog-hero.is-ready .wdp-blog-page__brand,
  .wdp-blog-grid .wdp-blog-card,
  .wdp-blog-page__grid .wdp-blog-page__card {
    animation: none !important;
    transition: none !important;
    opacity: 1 !important;
    transform: none !important;
  }

  .wdp-blog-card__image img,
  .wdp-blog-card .elementor-widget-image img {
    transition: none !important;
  }

  .wdp-blog-card:hover .wdp-blog-card__image img,
  .wdp-blog-card:hover .elementor-widget-image img {
    transform: none !important;
  }
}

/* =============================================================================
   PRICING PAGE (/pricing/)
   Hooks: #pricing-hero, #pricing-intro, #pricing-packages,
   .wdp-price-card, .wdp-price-card--popular,
   #pricing-why, #pricing-addons, #pricing-steps, #pricing-faq
   ============================================================================= */

body.wdp-pricing-page,
#pricing-hero,
#pricing-intro,
#pricing-packages,
#pricing-why,
#pricing-addons,
#pricing-steps,
#pricing-faq {
  font-family: var(--wdp-font);
}

#pricing-hero,
#pricing-intro,
#pricing-packages,
#pricing-why,
#pricing-addons,
#pricing-steps,
#pricing-faq {
  overflow-x: clip;
}

/* â€”â€” Hero â€”â€” */
#pricing-hero,
.elementor-section.wdp-pricing-hero,
.e-con.wdp-pricing-hero {
  position: relative;
  padding: 108px 0 72px !important;
  text-align: center;
  background:
    radial-gradient(1100px 420px at 50% -12%, rgba(0, 71, 171, 0.15), transparent 58%),
    radial-gradient(720px 320px at 92% 18%, rgba(238, 134, 34, 0.1), transparent 52%),
    radial-gradient(560px 280px at 8% 82%, rgba(0, 71, 171, 0.06), transparent 58%),
    linear-gradient(180deg, #f8fbff 0%, var(--wdp-paper) 48%, #e8eef7 100%) !important;
}

#pricing-hero::before,
.wdp-pricing-hero::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 0;
  pointer-events: none;
  opacity: 0.38;
  background-image:
    linear-gradient(rgba(11, 20, 36, 0.04) 1px, transparent 1px),
    linear-gradient(90deg, rgba(11, 20, 36, 0.04) 1px, transparent 1px);
  background-size: 56px 56px;
  mask-image: radial-gradient(ellipse 72% 58% at 50% 28%, #000 18%, transparent 78%);
}

#pricing-hero > .elementor-container,
#pricing-hero > .e-con-inner,
.wdp-pricing-hero > .elementor-container,
.wdp-pricing-hero > .e-con-inner {
  position: relative;
  z-index: 1;
}

.wdp-pricing-page__brand,
#pricing-hero .wdp-kicker,
.wdp-pricing-hero .wdp-kicker {
  display: block;
  margin: 0 auto 16px;
  font-family: var(--wdp-ui);
  font-size: 13px;
  font-weight: 700;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--wdp-cobalt);
}

#pricing-hero h1.elementor-heading-title,
#pricing-hero h1,
.wdp-pricing-hero__title .elementor-heading-title {
  font-size: clamp(36px, 5.6vw, 60px) !important;
  font-weight: 700 !important;
  line-height: 1.06 !important;
  letter-spacing: -0.035em !important;
  color: var(--wdp-ink) !important;
  max-width: 16ch;
  margin: 0 auto 18px !important;
  text-align: center !important;
}

#pricing-hero .elementor-widget-text-editor p,
.wdp-pricing-hero__lead,
#pricing-hero .wdp-lead {
  font-size: 17.5px !important;
  line-height: 1.65 !important;
  color: var(--wdp-muted) !important;
  max-width: 58ch;
  margin: 0 auto 28px !important;
  text-align: center !important;
}

#pricing-hero .elementor-widget-button,
.wdp-pricing-hero__actions {
  display: inline-flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 12px;
}

#pricing-hero .elementor-button,
.wdp-pricing-hero .elementor-button {
  border-radius: 999px !important;
  min-height: 48px;
  font-weight: 700 !important;
  padding: 0 22px !important;
  transition: transform 140ms var(--wdp-ease-out), background-color 180ms ease, border-color 180ms ease !important;
}

#pricing-hero .elementor-button-wrapper + .elementor-button-wrapper .elementor-button,
#pricing-hero a.elementor-button[href*="whatsapp"],
#pricing-hero a.elementor-button[href*="wa.me"] {
  background: transparent !important;
  color: var(--wdp-ink) !important;
  border: 1px solid var(--wdp-line) !important;
}

@media (hover: hover) and (pointer: fine) {
  #pricing-hero .elementor-button:hover {
    transform: translateY(-2px);
  }
  #pricing-hero .elementor-button:active {
    transform: scale(0.97);
  }
}

@media (prefers-reduced-motion: no-preference) {
  #pricing-hero:not(.is-ready) > .elementor-container,
  #pricing-hero:not(.is-ready) > .e-con-inner {
    opacity: 0;
    transform: translateY(18px);
  }
  #pricing-hero.is-ready > .elementor-container,
  #pricing-hero.is-ready > .e-con-inner {
    opacity: 1;
    transform: none;
    transition: opacity 720ms var(--wdp-ease-out), transform 720ms var(--wdp-ease-out);
  }
  #pricing-hero.is-ready > .elementor-container > .elementor-row > .elementor-column > .elementor-widget-wrap > .elementor-element:nth-child(1),
  #pricing-hero.is-ready > .e-con-inner > *:nth-child(1) {
    animation: wdp-rise 640ms var(--wdp-ease-out) both;
  }
  #pricing-hero.is-ready > .elementor-container > .elementor-row > .elementor-column > .elementor-widget-wrap > .elementor-element:nth-child(2),
  #pricing-hero.is-ready > .e-con-inner > *:nth-child(2) {
    animation: wdp-rise 700ms var(--wdp-ease-out) 70ms both;
  }
  #pricing-hero.is-ready > .elementor-container > .elementor-row > .elementor-column > .elementor-widget-wrap > .elementor-element:nth-child(3),
  #pricing-hero.is-ready > .e-con-inner > *:nth-child(3) {
    animation: wdp-rise 740ms var(--wdp-ease-out) 120ms both;
  }
  #pricing-hero.is-ready > .elementor-container > .elementor-row > .elementor-column > .elementor-widget-wrap > .elementor-element:nth-child(4),
  #pricing-hero.is-ready > .e-con-inner > *:nth-child(4),
  #pricing-hero.is-ready > .elementor-container > .elementor-row > .elementor-column > .elementor-widget-wrap > .elementor-element:nth-child(5) {
    animation: wdp-rise 780ms var(--wdp-ease-out) 160ms both;
  }
}

/* â€”â€” Intro â€”â€” */
#pricing-intro,
.wdp-pricing-intro {
  padding: 56px 0 24px !important;
  background: var(--wdp-white) !important;
  text-align: center;
}

#pricing-intro .elementor-heading-title,
.wdp-pricing-intro__title .elementor-heading-title {
  font-size: clamp(24px, 3vw, 34px) !important;
  max-width: 28ch;
  margin: 0 auto 14px !important;
  letter-spacing: -0.02em !important;
}

#pricing-intro .elementor-widget-text-editor p {
  color: var(--wdp-muted) !important;
  max-width: 68ch;
  margin: 0 auto 12px !important;
  font-size: 16px !important;
  line-height: 1.65 !important;
}

/* â€”â€” Package cards â€”â€” */
#pricing-packages,
.wdp-pricing-packages {
  padding: 36px 0 48px !important;
  background: var(--wdp-white) !important;
}

#pricing-packages > .elementor-container,
#pricing-packages > .e-con-inner,
.wdp-pricing-packages__grid {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 20px;
  align-items: stretch;
  width: var(--wdp-shell);
  max-width: var(--wdp-max);
  margin-inline: auto;
}

#pricing-packages > .elementor-container > .elementor-row {
  display: contents !important;
}

.elementor-column.wdp-price-card,
.wdp-price-card.elementor-column,
.wdp-price-card,
.wdp-price-card > .elementor-widget-wrap,
.wdp-price-card > .e-con-inner {
  position: relative;
}

.elementor-column.wdp-price-card > .elementor-widget-wrap,
.wdp-price-card > .elementor-widget-wrap,
.wdp-price-card:not(.elementor-column) {
  display: flex !important;
  flex-direction: column !important;
  height: 100%;
  background: #fff !important;
  border: 1px solid rgba(226, 232, 240, 0.95) !important;
  border-radius: 24px !important;
  padding: 30px 24px 26px !important;
  box-shadow:
    0 12px 32px -8px rgba(11, 20, 36, 0.06),
    0 2px 8px -2px rgba(11, 20, 36, 0.03) !important;
  transition:
    transform 260ms var(--wdp-ease-out),
    box-shadow 260ms var(--wdp-ease-out),
    border-color 220ms ease !important;
  box-sizing: border-box;
}

.wdp-price-card__badge,
.wdp-price-card .wdp-price-badge {
  position: absolute;
  top: 14px;
  right: 14px;
  z-index: 2;
  margin: 0;
  padding: 6px 12px;
  border-radius: 999px;
  font-family: var(--wdp-ui);
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  background: #fff;
  color: var(--wdp-cobalt);
  line-height: 1.2;
  box-shadow: 0 4px 14px rgba(11, 20, 36, 0.12);
}

.wdp-price-card__name .elementor-heading-title,
.wdp-price-card:not(.wdp-price-card--popular) h3,
.wdp-price-card:not(.wdp-price-card--popular) h3.elementor-heading-title {
  font-size: 22px !important;
  margin: 0 0 12px !important;
  color: var(--wdp-ink) !important;
  letter-spacing: -0.02em !important;
  padding-right: 4.5rem;
}

.wdp-price-card__from,
.wdp-price-card .wdp-price-from {
  margin: 0 0 4px !important;
  font-family: var(--wdp-ui);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--wdp-signal);
}

.wdp-price-card:not(.wdp-price-card--popular) .wdp-price-card__price .elementor-heading-title,
.wdp-price-card:not(.wdp-price-card--popular) .wdp-price-card__price,
.wdp-price-card:not(.wdp-price-card--popular) .wdp-price-amount {
  font-size: clamp(22px, 2.2vw, 28px) !important;
  font-weight: 700 !important;
  color: var(--wdp-ink) !important;
  letter-spacing: -0.03em !important;
  margin: 0 0 10px !important;
  line-height: 1.2 !important;
}

.wdp-price-card__desc p,
.wdp-price-card > .elementor-widget-text-editor:first-of-type p {
  color: var(--wdp-muted) !important;
  font-size: 14.5px !important;
  line-height: 1.55 !important;
  margin: 0 0 14px !important;
}

.wdp-price-card .elementor-widget-icon-list,
.wdp-price-card__list {
  flex: 1;
  margin: 0 0 16px !important;
}

.wdp-price-card .elementor-icon-list-items {
  margin: 0;
  padding: 0;
}

.wdp-price-card .elementor-icon-list-item {
  padding: 9px 0 !important;
  border-top: 1px solid var(--wdp-line);
  font-size: 13.5px !important;
  color: var(--wdp-text) !important;
  align-items: flex-start !important;
}

.wdp-price-card .elementor-icon-list-icon {
  color: var(--wdp-cobalt) !important;
  margin-top: 2px;
}

.wdp-price-card__note,
.wdp-price-card .wdp-price-note {
  margin: 0 0 16px !important;
  font-size: 12.5px !important;
  line-height: 1.45 !important;
  color: var(--wdp-muted) !important;
  font-style: italic;
}

.wdp-price-card .elementor-button,
.wdp-price-card__cta .elementor-button {
  width: 100%;
  justify-content: center;
  border-radius: 999px !important;
  min-height: 44px;
  font-weight: 700 !important;
  margin-top: auto;
}

.wdp-price-card:not(.wdp-price-card--popular) .elementor-button {
  background: transparent !important;
  color: var(--wdp-cobalt) !important;
  border: 1.5px solid rgba(0, 71, 171, 0.28) !important;
}

.wdp-price-card--popular > .elementor-widget-wrap,
.elementor-column.wdp-price-card--popular > .elementor-widget-wrap,
.wdp-price-card--popular > .e-con-inner,
.elementor-column.wdp-price-card--popular > .e-con-inner,
.wdp-price-card.wdp-price-card--popular:not(.elementor-column) {
  background:
    radial-gradient(120% 80% at 100% 0%, rgba(238, 134, 34, 0.2), transparent 42%),
    linear-gradient(165deg, #0056c7 0%, var(--wdp-cobalt) 48%, var(--wdp-cobalt-2) 100%) !important;
  border-color: transparent !important;
  color: #e8eef8 !important;
  transform: translateY(-8px);
  box-shadow:
    0 24px 48px rgba(0, 71, 171, 0.3),
    0 0 0 1px rgba(255, 255, 255, 0.08) inset !important;
}

.elementor-column.wdp-price-card--popular h3.elementor-heading-title,
.elementor-column.wdp-price-card--popular .wdp-price-card__title .elementor-heading-title,
.wdp-price-card--popular h3,
.wdp-price-card--popular h3.elementor-heading-title,
.wdp-price-card--popular .elementor-widget-heading .elementor-heading-title,
.wdp-price-card--popular .wdp-price-card__name .elementor-heading-title,
.wdp-price-card--popular .wdp-price-card__price .elementor-heading-title,
.wdp-price-card--popular .wdp-price-card__price,
.wdp-price-card--popular .wdp-price-amount {
  color: #fff !important;
}

.wdp-price-card--popular .wdp-price-card__from,
.wdp-price-card--popular .wdp-price-from,
.wdp-price-card--popular .wdp-price-card__from-wrap p {
  color: #ffc98a !important;
}

.wdp-price-card--popular .wdp-price-card__desc p,
.wdp-price-card--popular .wdp-price-card__audience,
.wdp-price-card--popular .wdp-price-card__audience-wrap p,
.wdp-price-card--popular .elementor-widget-text-editor p,
.wdp-price-card--popular .wdp-price-card__note,
.wdp-price-card--popular .wdp-price-note,
.wdp-price-card--popular .wdp-price-card__reassurance,
.wdp-price-card--popular .wdp-price-card__reassurance-wrap p,
.wdp-price-card--popular .elementor-icon-list-item,
.wdp-price-card--popular .elementor-icon-list-text {
  color: rgba(255, 255, 255, 0.92) !important;
}

.wdp-price-card--popular .elementor-icon-list-item {
  border-top-color: rgba(255, 255, 255, 0.18) !important;
}

.wdp-price-card--popular .elementor-icon-list-icon,
.wdp-price-card--popular .elementor-icon-list-icon i,
.wdp-price-card--popular .elementor-icon-list-icon svg {
  color: #ffc98a !important;
  fill: #ffc98a !important;
}

.wdp-price-card--popular .elementor-button,
.wdp-price-card--popular .wdp-price-card__cta .elementor-button,
.wdp-price-card--popular a.elementor-button {
  background: #fff !important;
  color: var(--wdp-cobalt) !important;
  border: none !important;
  box-shadow: 0 8px 20px rgba(11, 20, 36, 0.12) !important;
}

.wdp-price-card--popular .wdp-price-card__badge,
.wdp-price-card--popular .wdp-price-badge {
  background: #fff;
  color: var(--wdp-cobalt);
}

/* Packages stay visible in Elementor editor */
body.elementor-editor-active #pricing-packages:not(.is-in) .wdp-price-card > .elementor-widget-wrap,
body.elementor-editor-active #pricing-packages:not(.is-in) .wdp-price-card > .e-con-inner,
body.elementor-editor-active #pricing-packages:not(.is-in) .wdp-price-card,
body.elementor-editor-preview #pricing-packages:not(.is-in) .wdp-price-card > .elementor-widget-wrap,
body.elementor-editor-preview #pricing-packages:not(.is-in) .wdp-price-card > .e-con-inner,
body.elementor-editor-preview #pricing-packages:not(.is-in) .wdp-price-card {
  opacity: 1 !important;
  transform: none !important;
  animation: none !important;
}

@media (hover: hover) and (pointer: fine) {
  .wdp-price-card:not(.wdp-price-card--popular):hover > .elementor-widget-wrap,
  .wdp-price-card:not(.wdp-price-card--popular):hover > .e-con-inner,
  .wdp-price-card:not(.wdp-price-card--popular):hover:not(.elementor-column) {
    transform: translateY(-5px);
    border-color: rgba(186, 207, 238, 0.95) !important;
    box-shadow: 0 22px 44px -12px rgba(11, 20, 36, 0.12) !important;
  }
  .wdp-price-card--popular:hover > .elementor-widget-wrap,
  .wdp-price-card--popular:hover > .e-con-inner,
  .wdp-price-card--popular:hover:not(.elementor-column) {
    transform: translateY(-12px);
    box-shadow: 0 30px 56px rgba(0, 71, 171, 0.36) !important;
  }
  .wdp-price-card:not(.wdp-price-card--popular):hover .elementor-button {
    background: var(--wdp-cobalt) !important;
    color: #fff !important;
    border-color: var(--wdp-cobalt) !important;
  }
}

.wdp-pricing-reassure,
#pricing-packages .wdp-pricing-reassure,
#pricing-packages + .wdp-pricing-reassure {
  text-align: center;
  margin: 8px auto 0;
  max-width: 52ch;
  font-size: 14px;
  color: var(--wdp-muted);
  padding: 0 var(--wdp-pad) 8px;
}

@media (prefers-reduced-motion: no-preference) {
  #pricing-packages:not(.is-in) .wdp-price-card > .elementor-widget-wrap,
  #pricing-packages:not(.is-in) .wdp-price-card:not(.elementor-column) {
    opacity: 0;
    transform: translateY(18px);
  }
  #pricing-packages.is-in .wdp-price-card:nth-child(1) > .elementor-widget-wrap,
  #pricing-packages.is-in .wdp-price-card:nth-child(1):not(.elementor-column),
  #pricing-packages.is-in > .elementor-container > .elementor-row > .elementor-column:nth-child(1) > .elementor-widget-wrap {
    animation: wdp-rise 640ms var(--wdp-ease-out) both;
  }
  #pricing-packages.is-in .wdp-price-card:nth-child(2) > .elementor-widget-wrap,
  #pricing-packages.is-in .wdp-price-card:nth-child(2):not(.elementor-column),
  #pricing-packages.is-in > .elementor-container > .elementor-row > .elementor-column:nth-child(2) > .elementor-widget-wrap {
    animation: wdp-rise 680ms var(--wdp-ease-out) 80ms both;
  }
  #pricing-packages.is-in .wdp-price-card:nth-child(3) > .elementor-widget-wrap,
  #pricing-packages.is-in .wdp-price-card:nth-child(3):not(.elementor-column),
  #pricing-packages.is-in > .elementor-container > .elementor-row > .elementor-column:nth-child(3) > .elementor-widget-wrap {
    animation: wdp-rise 720ms var(--wdp-ease-out) 140ms both;
  }
  #pricing-packages.is-in .wdp-price-card:nth-child(4) > .elementor-widget-wrap,
  #pricing-packages.is-in .wdp-price-card:nth-child(4):not(.elementor-column),
  #pricing-packages.is-in > .elementor-container > .elementor-row > .elementor-column:nth-child(4) > .elementor-widget-wrap {
    animation: wdp-rise 760ms var(--wdp-ease-out) 200ms both;
  }
  #pricing-packages.is-in .wdp-price-card--popular > .elementor-widget-wrap {
    transform: translateY(-6px);
  }
}

/* â€”â€” Why / Add-ons / Steps / FAQ â€”â€” */
#pricing-why,
.wdp-pricing-why {
  padding: 72px 0 !important;
  background: var(--wdp-tint) !important;
}

#pricing-why .elementor-heading-title {
  font-size: clamp(26px, 3.2vw, 38px) !important;
  max-width: 22ch;
  letter-spacing: -0.025em !important;
}

#pricing-why .elementor-widget-text-editor p {
  color: var(--wdp-muted) !important;
  max-width: 62ch;
  font-size: 16px !important;
  line-height: 1.65 !important;
}

#pricing-why .elementor-icon-list-item {
  padding: 10px 0 !important;
  font-size: 15px !important;
  color: var(--wdp-text) !important;
}

#pricing-why .elementor-icon-list-icon {
  color: var(--wdp-cobalt) !important;
}

#pricing-addons,
.wdp-pricing-addons {
  padding: 80px 0 !important;
  background: var(--wdp-white) !important;
}

#pricing-addons .elementor-heading-title {
  font-size: clamp(26px, 3.2vw, 36px) !important;
  text-align: center;
  margin-bottom: 8px !important;
}

.wdp-pricing-addons__note,
#pricing-addons .wdp-pricing-addons__note,
#pricing-addons > .elementor-container > .elementor-row > .elementor-column > .elementor-widget-wrap > .elementor-widget-text-editor:last-child p {
  text-align: center;
  color: var(--wdp-muted) !important;
  font-size: 14px !important;
  max-width: 56ch;
  margin: 18px auto 0 !important;
}

.wdp-addons-table,
#pricing-addons table,
.wdp-pricing-addons__table {
  width: 100%;
  max-width: var(--wdp-max);
  margin: 28px auto 0;
  border-collapse: separate;
  border-spacing: 0;
  overflow: hidden;
  border-radius: 16px;
  border: 1px solid var(--wdp-line);
  background: #fff;
  box-shadow: 0 10px 28px rgba(11, 20, 36, 0.04);
}

.wdp-addons-table th,
#pricing-addons table th,
.wdp-pricing-addons__table th {
  text-align: left;
  padding: 14px 18px;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--wdp-cobalt);
  background: var(--wdp-paper);
  border-bottom: 1px solid var(--wdp-line);
}

.wdp-addons-table td,
#pricing-addons table td,
.wdp-pricing-addons__table td {
  padding: 14px 18px;
  border-bottom: 1px solid var(--wdp-line);
  font-size: 14.5px;
  color: var(--wdp-text);
  vertical-align: top;
}

.wdp-addons-table tr:last-child td,
#pricing-addons table tr:last-child td {
  border-bottom: none;
}

.wdp-addons-table td:nth-child(2),
#pricing-addons table td:nth-child(2) {
  font-weight: 700;
  color: var(--wdp-ink);
  white-space: nowrap;
}

.wdp-addons-rows,
.wdp-pricing-addons__rows {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
  margin-top: 24px;
}

.wdp-addon-row {
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 8px 16px;
  padding: 18px 20px;
  background: #fff;
  border: 1px solid var(--wdp-line);
  border-radius: 16px;
  box-shadow: 0 8px 22px rgba(11, 20, 36, 0.04);
}

.wdp-addon-row__name {
  font-weight: 700;
  color: var(--wdp-ink);
  font-size: 15px;
}

.wdp-addon-row__price {
  font-weight: 700;
  color: var(--wdp-cobalt);
  font-size: 14px;
  text-align: right;
}

.wdp-addon-row__desc {
  grid-column: 1 / -1;
  margin: 0;
  font-size: 13.5px;
  color: var(--wdp-muted);
  line-height: 1.5;
}

#pricing-steps,
.wdp-pricing-steps {
  padding: 80px 0 !important;
  background:
    radial-gradient(700px 260px at 90% 10%, rgba(0, 71, 171, 0.08), transparent 55%),
    var(--wdp-tint) !important;
}

#pricing-steps .elementor-heading-title {
  font-size: clamp(26px, 3.2vw, 36px) !important;
  text-align: center;
  max-width: 22ch;
  margin-inline: auto !important;
}

#pricing-steps > .elementor-container,
#pricing-steps > .e-con-inner,
.wdp-pricing-steps__grid {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 16px;
  margin-top: 32px;
}

#pricing-steps > .elementor-container > .elementor-row {
  display: contents !important;
}

.wdp-pricing-step,
#pricing-steps .elementor-column > .elementor-widget-wrap {
  background: #fff;
  border: 1px solid var(--wdp-line);
  border-radius: 18px;
  padding: 22px 20px;
  height: 100%;
  box-shadow: 0 8px 22px rgba(11, 20, 36, 0.04);
}

.wdp-pricing-step__num,
#pricing-steps .elementor-icon-box-icon,
#pricing-steps .wdp-step-num {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 36px;
  height: 36px;
  border-radius: 999px;
  background: rgba(0, 71, 171, 0.1);
  color: var(--wdp-cobalt);
  font-weight: 700;
  font-size: 14px;
  margin-bottom: 12px;
}

#pricing-steps .elementor-icon-box-title,
.wdp-pricing-step h3 {
  font-size: 17px !important;
  margin: 0 0 8px !important;
  color: var(--wdp-ink) !important;
}

#pricing-steps .elementor-icon-box-description,
.wdp-pricing-step p {
  margin: 0;
  font-size: 14px;
  color: var(--wdp-muted);
  line-height: 1.55;
}

#pricing-faq,
.wdp-pricing-faq {
  padding: 80px 0 96px !important;
  background: var(--wdp-white) !important;
}

#pricing-faq .elementor-heading-title {
  font-size: clamp(26px, 3.2vw, 36px) !important;
  text-align: center;
  margin-bottom: 28px !important;
}

#pricing-faq .elementor-toggle-item,
.wdp-pricing-faq__item,
#pricing-faq details {
  background: #fff;
  border: 1px solid var(--wdp-line);
  border-radius: 16px;
  margin-bottom: 10px;
  padding: 0 18px;
  box-shadow: 0 6px 18px rgba(11, 20, 36, 0.03);
  transition: border-color 160ms ease, box-shadow 160ms ease;
}

#pricing-faq .elementor-toggle-item:has(.elementor-active),
#pricing-faq details[open],
.wdp-pricing-faq__item.is-open {
  border-color: rgba(0, 71, 171, 0.22);
  box-shadow: 0 12px 28px rgba(0, 71, 171, 0.07);
}

#pricing-faq .elementor-tab-title,
#pricing-faq summary,
.wdp-pricing-faq__q {
  cursor: pointer;
  list-style: none;
  padding: 18px 0;
  font-family: var(--wdp-display);
  font-size: 17px;
  font-weight: 700;
  color: var(--wdp-ink);
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
}

#pricing-faq summary::-webkit-details-marker {
  display: none;
}

#pricing-faq .elementor-tab-content,
#pricing-faq details p,
.wdp-pricing-faq__a {
  margin: 0 0 18px;
  color: var(--wdp-muted);
  max-width: 68ch;
  font-size: 15px;
  line-height: 1.6;
}

/* Pricing responsive */
@media (max-width: 1100px) {
  #pricing-packages > .elementor-container,
  #pricing-packages > .e-con-inner,
  .wdp-pricing-packages__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .wdp-price-card--popular > .elementor-widget-wrap,
  .wdp-price-card.wdp-price-card--popular:not(.elementor-column) {
    transform: none;
  }
  #pricing-steps > .elementor-container,
  #pricing-steps > .e-con-inner,
  .wdp-pricing-steps__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 767px) {
  #pricing-hero {
    padding: 88px 0 56px !important;
  }
  #pricing-hero h1.elementor-heading-title,
  #pricing-hero h1 {
    font-size: clamp(30px, 9vw, 40px) !important;
  }
  #pricing-packages > .elementor-container,
  #pricing-packages > .e-con-inner,
  .wdp-pricing-packages__grid,
  #pricing-steps > .elementor-container,
  #pricing-steps > .e-con-inner,
  .wdp-pricing-steps__grid,
  .wdp-addons-rows {
    grid-template-columns: 1fr;
  }
  .wdp-addons-table,
  #pricing-addons table {
    display: block;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
  }
  .wdp-price-card__name .elementor-heading-title,
  .wdp-price-card h3 {
    padding-right: 0;
  }
}

@media (prefers-reduced-motion: reduce) {
  #pricing-hero > .elementor-container,
  #pricing-hero > .e-con-inner,
  #pricing-hero.is-ready .elementor-element,
  #pricing-packages .wdp-price-card > .elementor-widget-wrap,
  #pricing-packages .wdp-price-card {
    animation: none !important;
    transition: none !important;
    opacity: 1 !important;
    transform: none !important;
  }
}

/* =============================================================================
   PORTFOLIO PAGE (/portfolio/)
   Hooks: #portfolio-hero, #portfolio-trust, #portfolio-work-head, #portfolio-filters,
   #portfolio-grid, .wdp-portfolio-card[data-category], #portfolio-stats, #portfolio-cta
   ============================================================================= */

body.wdp-portfolio-page,
#portfolio-hero,
#portfolio-trust,
#portfolio-work-head,
#portfolio-filters,
#portfolio-grid,
#portfolio-stats,
#portfolio-cta {
  font-family: var(--wdp-font);
}

#portfolio-hero,
#portfolio-trust,
#portfolio-work-head,
#portfolio-filters,
#portfolio-grid,
#portfolio-stats,
#portfolio-cta {
  overflow-x: clip;
}

#portfolio-hero,
.elementor-section.wdp-portfolio-hero,
.e-con.wdp-portfolio-hero {
  position: relative;
  padding: 112px 0 80px !important;
  text-align: center;
  background:
    radial-gradient(1200px 480px at 50% -12%, rgba(0, 71, 171, 0.18), transparent 60%),
    radial-gradient(720px 340px at 92% 18%, rgba(238, 134, 34, 0.12), transparent 52%),
    radial-gradient(520px 280px at 8% 70%, rgba(0, 71, 171, 0.08), transparent 55%),
    linear-gradient(180deg, #f8fbff 0%, var(--wdp-paper) 48%, #e4ecf6 100%) !important;
}

#portfolio-hero::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 0;
  pointer-events: none;
  opacity: 0.32;
  background-image:
    linear-gradient(rgba(11, 20, 36, 0.045) 1px, transparent 1px),
    linear-gradient(90deg, rgba(11, 20, 36, 0.045) 1px, transparent 1px);
  background-size: 56px 56px;
  mask-image: radial-gradient(ellipse 72% 58% at 50% 28%, #000 16%, transparent 78%);
}

#portfolio-hero::after {
  content: "";
  position: absolute;
  inset: auto 0 0;
  height: 72px;
  z-index: 0;
  pointer-events: none;
  background: linear-gradient(180deg, transparent, rgba(255, 255, 255, 0.55));
}

#portfolio-hero > .elementor-container,
#portfolio-hero > .e-con-inner {
  position: relative;
  z-index: 1;
}

.wdp-portfolio-page__brand,
#portfolio-hero .wdp-portfolio-page__brand,
.wdp-portfolio-hero__brand-wrap .wdp-portfolio-page__brand {
  display: block;
  margin: 0 auto 16px;
  font-family: var(--wdp-ui);
  font-size: 13px;
  font-weight: 700;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--wdp-cobalt);
  line-height: 1.4;
}

#portfolio-hero h1.elementor-heading-title,
#portfolio-hero h1,
.wdp-portfolio-hero__title .elementor-heading-title {
  font-size: clamp(36px, 5.6vw, 60px) !important;
  font-weight: 700 !important;
  line-height: 1.05 !important;
  letter-spacing: -0.035em !important;
  color: var(--wdp-ink) !important;
  max-width: 14ch;
  margin: 0 auto 18px !important;
  text-align: center !important;
  text-transform: none !important;
}

#portfolio-hero .elementor-widget-text-editor p,
.wdp-portfolio-hero__lead {
  font-size: 17.5px !important;
  line-height: 1.65 !important;
  color: var(--wdp-muted) !important;
  max-width: 56ch;
  margin: 0 auto 28px !important;
  text-align: center !important;
}

#portfolio-hero .elementor-button {
  border-radius: 999px !important;
  min-height: 48px;
  font-weight: 700 !important;
  transition: transform 140ms var(--wdp-ease-out), background-color 180ms ease !important;
}

@media (hover: hover) and (pointer: fine) {
  #portfolio-hero .elementor-button:hover {
    transform: translateY(-2px);
  }
  #portfolio-hero .elementor-button:active {
    transform: scale(0.97);
  }
}

@media (prefers-reduced-motion: no-preference) {
  #portfolio-hero:not(.is-ready) > .elementor-container,
  #portfolio-hero:not(.is-ready) > .e-con-inner {
    opacity: 0;
    transform: translateY(18px);
  }
  #portfolio-hero.is-ready > .elementor-container,
  #portfolio-hero.is-ready > .e-con-inner {
    opacity: 1;
    transform: none;
    transition: opacity 720ms var(--wdp-ease-out), transform 720ms var(--wdp-ease-out);
  }
  #portfolio-hero.is-ready > .elementor-container > .elementor-row > .elementor-column > .elementor-widget-wrap > .elementor-element:nth-child(n),
  #portfolio-hero.is-ready > .e-con-inner > *:nth-child(n) {
    animation: wdp-rise 700ms var(--wdp-ease-out) both;
  }
  #portfolio-hero.is-ready > .e-con-inner > *:nth-child(2),
  #portfolio-hero.is-ready > .elementor-container > .elementor-row > .elementor-column > .elementor-widget-wrap > .elementor-element:nth-child(2) {
    animation-delay: 70ms;
  }
  #portfolio-hero.is-ready > .e-con-inner > *:nth-child(3),
  #portfolio-hero.is-ready > .elementor-container > .elementor-row > .elementor-column > .elementor-widget-wrap > .elementor-element:nth-child(3) {
    animation-delay: 120ms;
  }
  #portfolio-hero.is-ready > .e-con-inner > *:nth-child(4),
  #portfolio-hero.is-ready > .elementor-container > .elementor-row > .elementor-column > .elementor-widget-wrap > .elementor-element:nth-child(4) {
    animation-delay: 160ms;
  }
}

/* Shared section H2 titles (About / Pricing rhythm) */
.wdp-portfolio-section__title .elementor-heading-title,
#portfolio-trust .wdp-portfolio-section__title .elementor-heading-title,
#portfolio-work-head .wdp-portfolio-section__title .elementor-heading-title,
#portfolio-stats .wdp-portfolio-section__title .elementor-heading-title,
.wdp-portfolio-trust__title .elementor-heading-title,
.wdp-portfolio-work__title .elementor-heading-title,
.wdp-portfolio-stats__title .elementor-heading-title {
  font-size: clamp(26px, 3.2vw, 40px) !important;
  font-weight: 700 !important;
  line-height: 1.2 !important;
  letter-spacing: -0.02em !important;
  text-transform: none !important;
  color: var(--wdp-ink) !important;
  max-width: 22ch;
  margin: 0 auto 14px !important;
  text-align: center !important;
}

.wdp-portfolio-trust__sub,
.wdp-portfolio-trust__sub-wrap p,
.wdp-portfolio-work__sub,
.wdp-portfolio-work__sub-wrap p,
.wdp-portfolio-stats__sub,
.wdp-portfolio-stats__sub-wrap p {
  margin: 0 auto 22px !important;
  max-width: 48ch;
  text-align: center !important;
  color: var(--wdp-muted) !important;
  font-size: 15.5px !important;
  line-height: 1.55 !important;
}

/* Trust / logo strip â€” hidden until real client logos (with permission) are added */
#portfolio-trust,
.wdp-portfolio-trust {
  display: none !important;
}

.wdp-portfolio-logos,
#portfolio-trust .wdp-portfolio-logos {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  gap: 18px 28px;
  width: var(--wdp-shell);
  max-width: var(--wdp-max);
  margin-inline: auto;
}

.wdp-portfolio-logo-slot {
  width: 120px;
  height: 52px;
  border-radius: 12px;
  background:
    linear-gradient(135deg, rgba(0, 71, 171, 0.06), rgba(11, 20, 36, 0.04));
  border: 1px dashed rgba(11, 20, 36, 0.12);
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
}

.wdp-portfolio-logo-slot:empty {
  display: none !important;
}

.wdp-portfolio-logo-slot img,
#portfolio-trust img {
  max-width: 100px;
  max-height: 36px;
  width: auto;
  height: auto;
  object-fit: contain;
  filter: grayscale(1);
  opacity: 0.72;
  transition: filter 220ms ease, opacity 220ms ease, transform 220ms var(--wdp-ease-out);
}

@media (hover: hover) and (pointer: fine) {
  .wdp-portfolio-logo-slot:hover img,
  #portfolio-trust a:hover img,
  #portfolio-trust .elementor-widget-image:hover img {
    filter: grayscale(0);
    opacity: 1;
    transform: translateY(-1px);
  }
}

.wdp-portfolio-trust__note {
  margin: 18px auto 0;
  max-width: 42ch;
  font-size: 13px;
  color: var(--wdp-muted);
}

/* Work head */
#portfolio-work-head,
.wdp-portfolio-work-head {
  padding: 72px 0 12px !important;
  background: var(--wdp-paper) !important;
  text-align: center;
}

/* Filters */
#portfolio-filters,
.wdp-portfolio-filters-section {
  padding: 12px 0 20px !important;
  background: var(--wdp-paper) !important;
  position: sticky;
  top: var(--wdp-header);
  z-index: 40;
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  background: rgba(245, 248, 252, 0.9) !important;
  border-bottom: 1px solid rgba(11, 20, 36, 0.06);
}

.admin-bar #portfolio-filters {
  top: calc(var(--wdp-header) + 32px);
}

.wdp-portfolio-filters,
#portfolio-filters .wdp-portfolio-filters,
.wdp-portfolio-filters__bar,
#portfolio-filters .wdp-filter-bar {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 10px;
  width: var(--wdp-shell);
  max-width: var(--wdp-max);
  margin-inline: auto;
}

.wdp-portfolio-filter,
.wdp-filter-btn,
#portfolio-filters button[data-filter],
#portfolio-filters a[data-filter],
#portfolio-filters .elementor-button {
  appearance: none;
  border: 1px solid rgba(11, 20, 36, 0.1);
  background: #fff;
  color: var(--wdp-ink);
  border-radius: 999px;
  min-height: 42px;
  padding: 0 18px;
  font-family: var(--wdp-ui);
  font-size: 13px;
  font-weight: 600;
  cursor: pointer;
  box-shadow: 0 1px 2px rgba(11, 20, 36, 0.04);
  transition:
    background-color 180ms ease,
    color 180ms ease,
    border-color 180ms ease,
    box-shadow 180ms ease,
    transform 140ms var(--wdp-ease-out);
  text-decoration: none;
  display: inline-flex;
  align-items: center;
}

.wdp-portfolio-filter.is-active,
.wdp-filter-btn.is-active,
#portfolio-filters button[data-filter].is-active,
#portfolio-filters a[data-filter].is-active,
#portfolio-filters .elementor-button.is-active {
  background: var(--wdp-cobalt);
  border-color: var(--wdp-cobalt);
  color: #fff;
  box-shadow: 0 8px 20px -8px rgba(0, 71, 171, 0.55);
}

@media (hover: hover) and (pointer: fine) {
  .wdp-portfolio-filter:hover:not(.is-active),
  .wdp-filter-btn:hover:not(.is-active),
  #portfolio-filters button[data-filter]:hover:not(.is-active) {
    border-color: rgba(0, 71, 171, 0.4);
    color: var(--wdp-cobalt);
    box-shadow: 0 4px 12px -6px rgba(0, 71, 171, 0.25);
  }
  .wdp-portfolio-filter:active,
  .wdp-filter-btn:active {
    transform: scale(0.97);
  }
}

/* Grid + cards */
#portfolio-grid,
.wdp-portfolio-grid {
  padding: 16px 0 72px !important;
  background: var(--wdp-paper) !important;
}

#portfolio-grid > .elementor-container,
#portfolio-grid > .e-con-inner,
.wdp-portfolio-grid__inner {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 28px;
  width: var(--wdp-shell);
  max-width: var(--wdp-max);
  margin-inline: auto;
}

#portfolio-grid > .elementor-container > .elementor-row {
  display: contents !important;
}

.elementor-column.wdp-portfolio-card,
.wdp-portfolio-card.elementor-column,
.wdp-portfolio-card {
  transition: opacity 280ms var(--wdp-ease-out), transform 280ms var(--wdp-ease-out);
}

.wdp-portfolio-card.is-hidden {
  display: none !important;
}

.wdp-portfolio-card.is-fading {
  opacity: 0;
  transform: translateY(8px);
}

.elementor-column.wdp-portfolio-card > .elementor-widget-wrap,
.wdp-portfolio-card > .elementor-widget-wrap,
.wdp-portfolio-card:not(.elementor-column) {
  display: flex !important;
  flex-direction: column !important;
  height: 100%;
  background: #fff !important;
  border: 1px solid rgba(226, 232, 240, 0.95) !important;
  border-radius: 24px !important;
  overflow: hidden !important;
  box-shadow:
    0 14px 36px -10px rgba(11, 20, 36, 0.07),
    0 2px 8px -2px rgba(11, 20, 36, 0.03) !important;
  transition:
    transform 260ms var(--wdp-ease-out),
    box-shadow 260ms var(--wdp-ease-out),
    border-color 220ms ease !important;
}

@media (hover: hover) and (pointer: fine) {
  .wdp-portfolio-card:hover > .elementor-widget-wrap,
  .wdp-portfolio-card:hover:not(.elementor-column) {
    transform: translateY(-5px);
    border-color: rgba(186, 207, 238, 0.95) !important;
    box-shadow: 0 26px 48px -12px rgba(11, 20, 36, 0.12) !important;
  }
}

.wdp-portfolio-card__media,
.wdp-portfolio-card .elementor-widget-image {
  margin: 0 !important;
  overflow: hidden;
  background: #e2e8f0;
  aspect-ratio: 16 / 10;
}

.wdp-portfolio-card__media img,
.wdp-portfolio-card .elementor-widget-image img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  display: block;
  content-visibility: auto;
  transition: transform 480ms var(--wdp-ease-out);
}

@media (hover: hover) and (pointer: fine) {
  .wdp-portfolio-card:hover .wdp-portfolio-card__media img,
  .wdp-portfolio-card:hover .elementor-widget-image img {
    transform: scale(1.055);
  }
}

.wdp-portfolio-card__body,
.wdp-portfolio-card > .elementor-widget-wrap > .elementor-widget:not(.elementor-widget-image) {
  padding-inline: 22px;
}

.wdp-portfolio-card > .elementor-widget-wrap > .elementor-widget-image + .elementor-widget {
  padding-top: 18px;
}

.wdp-portfolio-card__badge,
.wdp-portfolio-card .wdp-case-badge,
.wdp-portfolio-card__badge-wrap p {
  display: inline-flex;
  align-items: center;
  margin: 0 0 10px !important;
  padding: 5px 11px;
  border-radius: 999px;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--wdp-cobalt);
  background: rgba(0, 71, 171, 0.08);
}

.wdp-portfolio-card__title .elementor-heading-title,
.wdp-portfolio-card h3 {
  font-size: clamp(20px, 2.2vw, 24px) !important;
  margin: 0 0 6px !important;
  letter-spacing: -0.02em !important;
  color: var(--wdp-ink) !important;
}

.wdp-portfolio-card__meta,
.wdp-portfolio-card .wdp-case-meta,
.wdp-portfolio-card__meta p {
  margin: 0 0 4px !important;
  font-size: 13.5px;
  color: var(--wdp-muted);
  line-height: 1.45;
}

.wdp-portfolio-card__meta {
  margin-bottom: 16px !important;
}

.wdp-portfolio-card__firm {
  font-weight: 600;
  color: var(--wdp-ink) !important;
}

.wdp-portfolio-card__block,
.wdp-case-block {
  margin: 0 0 14px;
}

.wdp-portfolio-card__label .elementor-heading-title,
.wdp-portfolio-card__label h4,
.wdp-case-label {
  display: block;
  margin: 0 0 6px !important;
  font-size: 11px !important;
  font-weight: 700 !important;
  letter-spacing: 0.1em !important;
  text-transform: uppercase !important;
  color: var(--wdp-signal) !important;
  line-height: 1.3 !important;
}

.wdp-portfolio-card__challenge,
.wdp-portfolio-card__did,
.wdp-portfolio-card__block p,
.wdp-case-block p {
  margin: 0 !important;
  font-size: 14.5px !important;
  line-height: 1.55 !important;
  color: var(--wdp-text) !important;
}

.wdp-portfolio-card .elementor-icon-list-item {
  font-size: 13.5px !important;
  padding: 5px 0 !important;
  color: var(--wdp-text) !important;
}

.wdp-portfolio-card .elementor-icon-list-icon {
  color: var(--wdp-cobalt) !important;
}

.wdp-portfolio-card__tags,
.wdp-portfolio-card__tags-wrap .wdp-portfolio-card__tags,
.wdp-case-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  margin: 14px 0 16px !important;
  padding: 0 !important;
}

.wdp-portfolio-card__tags-wrap {
  padding-inline: 22px;
}

.wdp-portfolio-card__tags span,
.wdp-case-tags span {
  display: inline-flex;
  padding: 4px 10px;
  border-radius: 999px;
  font-size: 11px;
  font-weight: 600;
  color: var(--wdp-muted);
  background: var(--wdp-tint);
  border: 1px solid rgba(11, 20, 36, 0.06);
}

.wdp-portfolio-card__quote,
.wdp-portfolio-card__quote-wrap blockquote,
.wdp-case-quote {
  margin: auto 22px 22px !important;
  padding: 16px 18px !important;
  border-left: 3px solid var(--wdp-cobalt);
  background: linear-gradient(135deg, var(--wdp-paper), #f0f5fb);
  border-radius: 0 14px 14px 0;
  font-size: 14px !important;
  line-height: 1.55 !important;
  color: var(--wdp-muted) !important;
  font-style: italic;
}

.wdp-portfolio-card__quote p,
.wdp-portfolio-card__quote-wrap blockquote p {
  margin: 0 0 8px !important;
  color: inherit !important;
  font-size: inherit !important;
}

.wdp-portfolio-card__quote cite,
.wdp-portfolio-card__quote-wrap cite {
  display: block;
  font-style: normal;
  font-size: 12px;
  font-weight: 600;
  letter-spacing: 0.02em;
  color: var(--wdp-ink);
}

@media (prefers-reduced-motion: no-preference) {
  #portfolio-grid:not(.is-in) .wdp-portfolio-card > .elementor-widget-wrap,
  #portfolio-grid:not(.is-in) .wdp-portfolio-card:not(.elementor-column),
  .wdp-portfolio-grid:not(.is-in) .wdp-portfolio-card > .elementor-widget-wrap {
    opacity: 0;
    transform: translateY(16px);
  }
  #portfolio-grid.is-in .wdp-portfolio-card:nth-child(1) > .elementor-widget-wrap,
  #portfolio-grid.is-in .wdp-portfolio-card:nth-child(1):not(.elementor-column),
  .wdp-portfolio-grid.is-in .wdp-portfolio-card:nth-child(1) > .elementor-widget-wrap {
    animation: wdp-rise 640ms var(--wdp-ease-out) both;
  }
  #portfolio-grid.is-in .wdp-portfolio-card:nth-child(2) > .elementor-widget-wrap,
  #portfolio-grid.is-in .wdp-portfolio-card:nth-child(2):not(.elementor-column),
  .wdp-portfolio-grid.is-in .wdp-portfolio-card:nth-child(2) > .elementor-widget-wrap {
    animation: wdp-rise 680ms var(--wdp-ease-out) 70ms both;
  }
  #portfolio-grid.is-in .wdp-portfolio-card:nth-child(3) > .elementor-widget-wrap,
  #portfolio-grid.is-in .wdp-portfolio-card:nth-child(3):not(.elementor-column),
  .wdp-portfolio-grid.is-in .wdp-portfolio-card:nth-child(3) > .elementor-widget-wrap {
    animation: wdp-rise 720ms var(--wdp-ease-out) 130ms both;
  }
  #portfolio-grid.is-in .wdp-portfolio-card:nth-child(4) > .elementor-widget-wrap,
  #portfolio-grid.is-in .wdp-portfolio-card:nth-child(4):not(.elementor-column),
  .wdp-portfolio-grid.is-in .wdp-portfolio-card:nth-child(4) > .elementor-widget-wrap {
    animation: wdp-rise 760ms var(--wdp-ease-out) 180ms both;
  }
}

/* Stats â€” Elementor col-% widths shrink inside CSS grid cells; force full cell fill */
#portfolio-stats,
.wdp-portfolio-stats-head {
  padding: 72px 0 20px !important;
  background: var(--wdp-white) !important;
  text-align: center;
}

.wdp-portfolio-stats,
.elementor-section.wdp-portfolio-stats {
  padding: 12px 0 28px !important;
  background: var(--wdp-white) !important;
}

.wdp-portfolio-stats--row2 {
  padding-bottom: 72px !important;
}

#portfolio-stats > .elementor-container,
.wdp-portfolio-stats > .elementor-container,
.wdp-portfolio-stats > .e-con-inner,
.wdp-portfolio-stats__grid {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 16px;
  align-items: stretch;
  width: var(--wdp-shell);
  max-width: var(--wdp-max);
  margin-inline: auto;
  box-sizing: border-box;
}

.wdp-portfolio-stats--row2 > .elementor-container,
.wdp-portfolio-stats--row2 > .e-con-inner {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  max-width: var(--wdp-max);
}

#portfolio-stats > .elementor-container > .elementor-row,
.wdp-portfolio-stats > .elementor-container > .elementor-row {
  display: contents !important;
}

.wdp-portfolio-stats .wdp-portfolio-stat-col.elementor-column,
.wdp-portfolio-stats .elementor-column.wdp-portfolio-stat-col {
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  flex: none !important;
}

.wdp-portfolio-stats .wdp-portfolio-stat-col > .elementor-widget-wrap,
.wdp-portfolio-stat-col > .elementor-widget-wrap,
.wdp-portfolio-stat {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
  padding: 24px 20px;
  border-radius: 18px;
  background: var(--wdp-paper);
  border: 1px solid rgba(11, 20, 36, 0.06);
  height: 100%;
  min-height: 132px;
  box-sizing: border-box;
  transition: transform 220ms var(--wdp-ease-out), box-shadow 220ms var(--wdp-ease-out);
}

@media (hover: hover) and (pointer: fine) {
  .wdp-portfolio-stat-col:hover > .elementor-widget-wrap {
    transform: translateY(-3px);
    box-shadow: 0 16px 32px -14px rgba(0, 71, 171, 0.2);
  }
}

.wdp-portfolio-stat-label .elementor-heading-title,
#portfolio-stats .wdp-portfolio-stat-label .elementor-heading-title {
  font-size: 12px !important;
  font-weight: 700 !important;
  letter-spacing: 0.08em !important;
  text-transform: uppercase !important;
  color: var(--wdp-muted) !important;
  margin: 0 0 10px !important;
  text-align: center !important;
}

.wdp-portfolio-stat-value .elementor-heading-title,
#portfolio-stats .wdp-portfolio-stat-value .elementor-heading-title,
.wdp-portfolio-stat__value {
  font-size: clamp(22px, 2.4vw, 32px) !important;
  font-weight: 700 !important;
  color: var(--wdp-cobalt) !important;
  letter-spacing: -0.03em !important;
  margin: 0 !important;
  line-height: 1.2 !important;
  text-align: center !important;
  overflow-wrap: anywhere;
  word-break: normal;
  hyphens: none;
}

.wdp-portfolio-stat-value--metric .elementor-heading-title {
  font-size: clamp(28px, 3vw, 40px) !important;
  letter-spacing: -0.04em !important;
  line-height: 1.05 !important;
}

.wdp-portfolio-stat-value--text .elementor-heading-title {
  font-size: clamp(15px, 1.45vw, 18px) !important;
  font-weight: 600 !important;
  letter-spacing: -0.015em !important;
  line-height: 1.45 !important;
  max-width: 36ch;
  margin-inline: auto !important;
}

.wdp-portfolio-stat-note-wrap {
  margin: 0 !important;
  width: 100%;
}

.wdp-portfolio-stat-note-wrap .elementor-widget-container,
.wdp-portfolio-stat-note {
  margin: 10px 0 0 !important;
  padding: 0 !important;
  font-size: 13px !important;
  font-weight: 500 !important;
  line-height: 1.45 !important;
  color: var(--wdp-muted) !important;
  text-align: center !important;
  max-width: 34ch;
  margin-inline: auto !important;
}

/* CTA */
#portfolio-cta,
.wdp-portfolio-cta {
  padding: 88px var(--wdp-pad) !important;
  background:
    radial-gradient(700px 260px at 85% 20%, rgba(238, 134, 34, 0.18), transparent 55%),
    radial-gradient(900px 300px at 10% 80%, rgba(0, 71, 171, 0.35), transparent 55%),
    linear-gradient(145deg, var(--wdp-ink) 0%, var(--wdp-cobalt-2) 100%) !important;
  color: #e8eef8;
  text-align: center;
}

#portfolio-cta .wdp-portfolio-cta__title .elementor-heading-title,
#portfolio-cta .elementor-heading-title,
.wdp-portfolio-cta__title .elementor-heading-title {
  color: #fff !important;
  font-size: clamp(28px, 3.6vw, 44px) !important;
  font-weight: 700 !important;
  letter-spacing: -0.025em !important;
  line-height: 1.15 !important;
  max-width: 16ch;
  margin: 0 auto 14px !important;
  text-transform: none !important;
}

#portfolio-cta .elementor-widget-text-editor p,
.wdp-portfolio-cta__lead {
  color: rgba(232, 238, 248, 0.9) !important;
  max-width: 48ch;
  margin: 0 auto 24px !important;
  font-size: 17px !important;
  line-height: 1.6 !important;
}

#portfolio-cta .elementor-button {
  border-radius: 999px !important;
  min-height: 48px;
  font-weight: 700 !important;
  background: #fff !important;
  color: var(--wdp-cobalt) !important;
  border: none !important;
  transition: transform 160ms var(--wdp-ease-out), background-color 180ms ease, color 180ms ease !important;
}

#portfolio-cta a.elementor-button[href*="whatsapp"],
#portfolio-cta a.elementor-button[href*="wa.me"] {
  background: transparent !important;
  color: #fff !important;
  border: 1px solid rgba(255, 255, 255, 0.35) !important;
}

@media (hover: hover) and (pointer: fine) {
  #portfolio-cta .elementor-button:hover {
    background: var(--wdp-signal) !important;
    color: #fff !important;
    transform: translateY(-2px);
  }
}

/* Portfolio responsive */
@media (max-width: 980px) {
  #portfolio-filters {
    position: static;
  }
  .wdp-portfolio-stats > .elementor-container,
  .wdp-portfolio-stats > .e-con-inner {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 767px) {
  #portfolio-hero {
    padding: 92px 0 60px !important;
  }
  #portfolio-hero h1,
  .wdp-portfolio-hero__title .elementor-heading-title {
    font-size: clamp(30px, 9vw, 40px) !important;
  }
  #portfolio-trust,
  #portfolio-work-head,
  #portfolio-stats,
  .wdp-portfolio-stats-head {
    padding-top: 56px !important;
  }
  #portfolio-grid > .elementor-container,
  #portfolio-grid > .e-con-inner,
  .wdp-portfolio-grid__inner {
    grid-template-columns: 1fr;
    gap: 20px;
  }
  .wdp-portfolio-stats > .elementor-container,
  .wdp-portfolio-stats > .e-con-inner,
  .wdp-portfolio-stats--row2 > .elementor-container,
  .wdp-portfolio-stats--row2 > .e-con-inner {
    grid-template-columns: 1fr;
  }
  .wdp-portfolio-logos {
    gap: 12px 16px;
  }
  .wdp-portfolio-logo-slot {
    width: 96px;
    height: 44px;
  }
  #portfolio-cta {
    padding: 56px 16px !important;
  }
  .wdp-portfolio-filters {
    gap: 8px;
    justify-content: flex-start;
    overflow-x: auto;
    flex-wrap: nowrap;
    padding-bottom: 4px;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
  }
  .wdp-portfolio-filters::-webkit-scrollbar {
    display: none;
  }
  .wdp-portfolio-filter {
    flex: 0 0 auto;
  }
}

@media (prefers-reduced-motion: reduce) {
  #portfolio-hero > .elementor-container,
  #portfolio-hero > .e-con-inner,
  #portfolio-grid .wdp-portfolio-card > .elementor-widget-wrap,
  #portfolio-grid .wdp-portfolio-card,
  .wdp-portfolio-grid .wdp-portfolio-card > .elementor-widget-wrap,
  .wdp-portfolio-card__media img,
  #portfolio-trust img,
  .wdp-portfolio-stat-col > .elementor-widget-wrap {
    animation: none !important;
    transition: none !important;
    opacity: 1 !important;
    transform: none !important;
    filter: none !important;
  }
}


/* â€”â€” Backend sync alignment (pricing + portfolio class hooks) â€”â€” */
.wdp-price-card:not(.wdp-price-card--popular) .wdp-price-card__title .elementor-heading-title,
.wdp-price-card:not(.wdp-price-card--popular) h3.elementor-heading-title {
  font-size: 22px !important;
  margin: 0 0 12px !important;
  color: var(--wdp-ink) !important;
  letter-spacing: -0.02em !important;
  padding-right: 5rem;
}
.wdp-price-card__audience,
.wdp-price-card__audience-wrap p {
  color: var(--wdp-muted) !important;
  font-size: 14.5px !important;
  line-height: 1.55 !important;
  margin: 0 0 14px !important;
}
.wdp-price-card__reassurance,
.wdp-price-card__reassurance-wrap p {
  margin: 0 0 16px !important;
  font-size: 12.5px !important;
  line-height: 1.45 !important;
  color: var(--wdp-muted) !important;
  font-style: italic;
}
.wdp-price-card__price--custom {
  font-size: clamp(20px, 2vw, 26px) !important;
}
.wdp-price-card__badge-wrap {
  position: absolute;
  top: 14px;
  right: 14px;
  z-index: 2;
  margin: 0 !important;
  padding: 0 !important;
}
.wdp-price-card__badge-wrap .wdp-price-card__badge {
  position: static;
}
.wdp-price-card--popular .wdp-price-card__title .elementor-heading-title,
.wdp-price-card--popular h3.elementor-heading-title,
.wdp-price-card--popular .elementor-heading-title,
.wdp-price-card--popular .wdp-price-card__price,
.wdp-price-card--popular .wdp-price-card__from {
  color: #fff !important;
}
.wdp-price-card--popular .wdp-price-card__from {
  color: #f5b06a !important;
}
.wdp-price-card--popular .wdp-price-card__audience,
.wdp-price-card--popular .wdp-price-card__reassurance,
.wdp-price-card--popular .wdp-price-card__audience-wrap p,
.wdp-price-card--popular .wdp-price-card__reassurance-wrap p {
  color: rgba(255, 255, 255, 0.88) !important;
}
.wdp-price-card--popular .wdp-price-card__cta .elementor-button,
.wdp-price-card--popular a.elementor-button {
  background: #fff !important;
  color: var(--wdp-cobalt) !important;
  border: none !important;
}
.wdp-price-card:not(.wdp-price-card--popular) .wdp-price-card__cta .elementor-button {
  background: transparent !important;
  color: var(--wdp-ink) !important;
  border: 1px solid var(--wdp-line) !important;
}

/* Pricing hero dual CTAs */
.wdp-pricing-hero__actions-inner > .elementor-container,
.wdp-pricing-hero__actions-inner {
  max-width: 520px;
  margin-inline: auto;
}
.wdp-pricing-hero__btn-left .elementor-button,
.wdp-pricing-hero__btn-right .elementor-button {
  border-radius: 999px !important;
  min-height: 48px;
  font-weight: 700 !important;
}
.wdp-pricing-hero__btn-right .elementor-button {
  background: #25d366 !important;
  border-color: #25d366 !important;
}

/* Dark steps strip (backend ink) */
.wdp-pricing-steps-head,
.wdp-pricing-steps-grid,
#pricing-steps.wdp-pricing-steps-head {
  background: var(--wdp-ink) !important;
  padding: 56px 0 24px !important;
}
.wdp-pricing-steps-grid {
  padding: 12px 0 72px !important;
}
.wdp-pricing-steps__title .elementor-heading-title,
#pricing-steps .elementor-heading-title {
  color: #fff !important;
  text-align: center !important;
  max-width: 22ch;
  margin-inline: auto !important;
}
.wdp-pricing-steps-grid > .elementor-container,
.wdp-pricing-steps-grid > .e-con-inner {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 16px;
}
.wdp-pricing-steps-grid > .elementor-container > .elementor-row {
  display: contents !important;
}
.wdp-pricing-step-col > .elementor-widget-wrap,
.wdp-pricing-step-card {
  background: rgba(255, 255, 255, 0.06) !important;
  border: 1px solid rgba(255, 255, 255, 0.12) !important;
  border-radius: 18px !important;
  padding: 22px 18px !important;
  height: 100%;
}
.wdp-pricing-step-card .elementor-icon-box-title,
.wdp-pricing-step-card .elementor-icon-box-title span {
  color: #fff !important;
  font-size: 17px !important;
}
.wdp-pricing-step-card .elementor-icon-box-description,
.wdp-pricing-step-card .elementor-icon-box-description p {
  color: #cbd5e1 !important;
  font-size: 14px !important;
}

/* Pricing FAQ two-column */
#pricing-faq > .elementor-container,
#pricing-faq > .e-con-inner {
  display: grid !important;
  grid-template-columns: 0.85fr 1.15fr;
  gap: 40px;
  align-items: start;
}
#pricing-faq > .elementor-container > .elementor-row {
  display: contents !important;
}
.wdp-pricing-faq__aside {
  color: var(--wdp-muted);
  max-width: 36ch;
}
#pricing-cta.wdp-pricing-cta,
.wdp-pricing-cta {
  background:
    radial-gradient(700px 260px at 85% 20%, rgba(238, 134, 34, 0.18), transparent 55%),
    linear-gradient(145deg, var(--wdp-cobalt) 0%, var(--wdp-cobalt-2) 100%) !important;
  padding: 80px 0 !important;
}
.wdp-pricing-cta__title .elementor-heading-title {
  color: #fff !important;
  font-size: clamp(28px, 3.4vw, 42px) !important;
}
.wdp-pricing-cta__lead {
  color: rgba(255, 255, 255, 0.9) !important;
}

/* Portfolio filters (backend .wdp-portfolio-filter) */
.wdp-portfolio-filters,
[data-wdp-portfolio-filters] {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 8px;
}
.wdp-portfolio-filter {
  appearance: none;
  border: 1px solid var(--wdp-line);
  background: #fff;
  color: var(--wdp-ink);
  border-radius: 999px;
  min-height: 40px;
  padding: 0 16px;
  font-family: var(--wdp-ui);
  font-size: 13px;
  font-weight: 600;
  cursor: pointer;
  transition: background-color 180ms ease, color 180ms ease, border-color 180ms ease, transform 140ms var(--wdp-ease-out);
}
.wdp-portfolio-filter.is-active {
  background: var(--wdp-cobalt);
  border-color: var(--wdp-cobalt);
  color: #fff;
}
@media (hover: hover) and (pointer: fine) {
  .wdp-portfolio-filter:hover:not(.is-active) {
    border-color: rgba(0, 71, 171, 0.35);
    color: var(--wdp-cobalt);
  }
}

.wdp-portfolio-grid--row1 {
  padding-bottom: 12px !important;
}
.wdp-portfolio-grid--row2 {
  padding-top: 12px !important;
  padding-bottom: 64px !important;
}
.wdp-portfolio-card__image,
.wdp-portfolio-card .wdp-portfolio-card__image {
  margin: 0 !important;
  overflow: hidden;
  background: #e2e8f0;
  aspect-ratio: 16 / 10;
}
.wdp-portfolio-card__image img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  display: block;
  content-visibility: auto;
  transition: transform 420ms var(--wdp-ease-out);
}
@media (hover: hover) and (pointer: fine) {
  .wdp-portfolio-card:hover .wdp-portfolio-card__image img {
    transform: scale(1.055);
  }
}
.wdp-portfolio-card__badge-wrap,
.wdp-portfolio-card__title,
.wdp-portfolio-card__meta,
.wdp-portfolio-card__label,
.wdp-portfolio-card__challenge-wrap,
.wdp-portfolio-card__did-wrap,
.wdp-portfolio-card__results,
.wdp-portfolio-card__tags-wrap,
.wdp-portfolio-card__quote-wrap {
  padding-inline: 22px !important;
}
.wdp-portfolio-card__badge-wrap {
  padding-top: 18px !important;
}
.wdp-portfolio-card__label .elementor-heading-title,
.wdp-portfolio-card h4.elementor-heading-title {
  display: block !important;
  margin: 14px 0 6px !important;
  font-size: 11px !important;
  font-weight: 700 !important;
  letter-spacing: 0.1em !important;
  text-transform: uppercase !important;
  color: var(--wdp-signal) !important;
}
.wdp-portfolio-card__firm {
  margin: 0 0 2px !important;
  font-weight: 600;
  color: var(--wdp-ink);
  font-size: 14px;
}
.wdp-portfolio-card__industry {
  margin: 0 0 8px !important;
  font-size: 13px;
  color: var(--wdp-muted);
}
.wdp-portfolio-card__tags {
  display: flex !important;
  flex-wrap: wrap;
  gap: 6px;
  margin: 12px 0 16px !important;
  padding: 0 !important;
}
.wdp-portfolio-card__tags span {
  display: inline-flex;
  padding: 4px 10px;
  border-radius: 999px;
  font-size: 11px;
  font-weight: 600;
  color: var(--wdp-muted);
  background: var(--wdp-tint);
  border: 1px solid rgba(11, 20, 36, 0.06);
}
.wdp-portfolio-card__quote {
  margin: 8px 22px 22px !important;
  padding: 16px 18px;
  border-left: 3px solid var(--wdp-cobalt);
  background: linear-gradient(135deg, var(--wdp-paper), #f0f5fb);
  border-radius: 0 14px 14px 0;
}
.wdp-portfolio-card__quote p {
  margin: 0 0 8px !important;
  font-size: 13.5px;
  line-height: 1.55;
  color: var(--wdp-muted);
  font-style: italic;
}
.wdp-portfolio-card__quote cite {
  font-style: normal;
  font-size: 12px;
  font-weight: 600;
  color: var(--wdp-ink);
}

.wdp-portfolio-stats-head,
.wdp-portfolio-stats-row,
#portfolio-stats {
  background: var(--wdp-white) !important;
}
.wdp-portfolio-stats .wdp-portfolio-stat-col > .elementor-widget-wrap {
  text-align: center;
  padding: 24px 20px !important;
  border-radius: 18px;
  background: var(--wdp-paper);
  border: 1px solid rgba(11, 20, 36, 0.06);
  height: 100%;
  min-height: 132px;
  box-sizing: border-box;
}

@media (max-width: 1100px) {
  .wdp-pricing-steps-grid > .elementor-container,
  .wdp-pricing-steps-grid > .e-con-inner {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
@media (max-width: 767px) {
  #pricing-faq > .elementor-container,
  #pricing-faq > .e-con-inner,
  .wdp-pricing-steps-grid > .elementor-container,
  .wdp-pricing-steps-grid > .e-con-inner {
    grid-template-columns: 1fr;
  }
  .wdp-price-card__title .elementor-heading-title {
    padding-right: 0;
  }
}

/* =============================================================================
   CONTACT PAGE
   Hooks: #contact-hero, #contact-intro, #contact-form (.wdp-contact-main),
   #contact-info, #contact-alt, .wdp-contact-alt-grid, #contact-faq
   ============================================================================= */

body.wdp-contact-page,
#contact-hero,
#contact-intro,
#contact-form,
#contact-info,
#contact-alt,
.wdp-contact-alt-grid,
#contact-faq {
  font-family: var(--wdp-font);
}

#contact-hero,
#contact-intro,
#contact-form,
#contact-info,
#contact-alt,
.wdp-contact-alt-grid,
#contact-faq {
  overflow-x: clip;
}

/* â€”â€” Hero â€”â€” */
#contact-hero,
.elementor-section.wdp-contact-hero,
.e-con.wdp-contact-hero {
  position: relative;
  padding: 108px 0 56px !important;
  text-align: center;
  background:
    radial-gradient(1100px 420px at 50% -12%, rgba(0, 71, 171, 0.15), transparent 58%),
    radial-gradient(720px 320px at 92% 18%, rgba(238, 134, 34, 0.1), transparent 52%),
    radial-gradient(560px 280px at 8% 82%, rgba(0, 71, 171, 0.06), transparent 58%),
    linear-gradient(180deg, #f8fbff 0%, var(--wdp-paper) 48%, #e8eef7 100%) !important;
}

#contact-hero::before,
.wdp-contact-hero::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 0;
  pointer-events: none;
  opacity: 0.38;
  background-image:
    linear-gradient(rgba(11, 20, 36, 0.04) 1px, transparent 1px),
    linear-gradient(90deg, rgba(11, 20, 36, 0.04) 1px, transparent 1px);
  background-size: 56px 56px;
  mask-image: radial-gradient(ellipse 72% 58% at 50% 28%, #000 18%, transparent 78%);
}

#contact-hero > .elementor-container,
#contact-hero > .e-con-inner,
.wdp-contact-hero > .elementor-container,
.wdp-contact-hero > .e-con-inner {
  position: relative;
  z-index: 1;
}

.wdp-contact-page__brand,
.wdp-contact-hero__brand,
#contact-hero .wdp-kicker,
.wdp-contact-hero .wdp-kicker {
  display: block;
  margin: 0 auto 16px;
  font-family: var(--wdp-ui);
  font-size: 13px;
  font-weight: 700;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--wdp-cobalt);
}

#contact-hero h1.elementor-heading-title,
#contact-hero h1,
.wdp-contact-hero__title .elementor-heading-title {
  font-size: clamp(34px, 5.4vw, 56px) !important;
  font-weight: 700 !important;
  line-height: 1.06 !important;
  letter-spacing: -0.035em !important;
  color: var(--wdp-ink) !important;
  max-width: 18ch;
  margin: 0 auto 18px !important;
  text-align: center !important;
}

#contact-hero .elementor-widget-text-editor p,
.wdp-contact-hero__lead,
#contact-hero .wdp-lead {
  font-size: 17.5px !important;
  line-height: 1.65 !important;
  color: var(--wdp-muted) !important;
  max-width: 54ch;
  margin: 0 auto !important;
  text-align: center !important;
}

@media (prefers-reduced-motion: no-preference) {
  #contact-hero:not(.is-ready) > .elementor-container,
  #contact-hero:not(.is-ready) > .e-con-inner {
    opacity: 0;
    transform: translateY(18px);
  }
  #contact-hero.is-ready > .elementor-container,
  #contact-hero.is-ready > .e-con-inner {
    opacity: 1;
    transform: none;
    transition: opacity 720ms var(--wdp-ease-out), transform 720ms var(--wdp-ease-out);
  }
  #contact-hero.is-ready > .elementor-container > .elementor-row > .elementor-column > .elementor-widget-wrap > .elementor-element:nth-child(1),
  #contact-hero.is-ready > .e-con-inner > *:nth-child(1) {
    animation: wdp-rise 640ms var(--wdp-ease-out) both;
  }
  #contact-hero.is-ready > .elementor-container > .elementor-row > .elementor-column > .elementor-widget-wrap > .elementor-element:nth-child(2),
  #contact-hero.is-ready > .e-con-inner > *:nth-child(2) {
    animation: wdp-rise 700ms var(--wdp-ease-out) 70ms both;
  }
  #contact-hero.is-ready > .elementor-container > .elementor-row > .elementor-column > .elementor-widget-wrap > .elementor-element:nth-child(3),
  #contact-hero.is-ready > .e-con-inner > *:nth-child(3) {
    animation: wdp-rise 740ms var(--wdp-ease-out) 120ms both;
  }
}

/* Editor / preview: never hide hero or reveals */
body.elementor-editor-active #contact-hero:not(.is-ready) > .elementor-container,
body.elementor-editor-active #contact-hero:not(.is-ready) > .e-con-inner,
body.elementor-editor-preview #contact-hero:not(.is-ready) > .elementor-container,
body.elementor-editor-preview #contact-hero:not(.is-ready) > .e-con-inner,
body.elementor-editor-active .wdp-contact-page [data-wdp-reveal]:not(.is-in),
body.elementor-editor-preview .wdp-contact-page [data-wdp-reveal]:not(.is-in),
body.elementor-editor-active #contact-form[data-wdp-reveal]:not(.is-in),
body.elementor-editor-preview #contact-form[data-wdp-reveal]:not(.is-in) {
  opacity: 1 !important;
  transform: none !important;
  animation: none !important;
}

/* â€”â€” Intro â€”â€” */
#contact-intro,
.wdp-contact-intro {
  padding: 36px 0 8px !important;
  background: var(--wdp-white) !important;
  text-align: center;
}

.wdp-contact-intro__text,
#contact-intro .elementor-widget-text-editor p {
  color: var(--wdp-muted) !important;
  max-width: 68ch;
  margin: 0 auto 12px !important;
  font-size: 16px !important;
  line-height: 1.65 !important;
}

.wdp-contact-intro__links,
#contact-intro .wdp-contact-intro__links {
  margin: 0 auto !important;
  font-size: 14.5px !important;
  color: var(--wdp-muted) !important;
}

.wdp-contact-intro__links a {
  color: var(--wdp-cobalt);
  font-weight: 650;
  text-decoration: none;
  border-bottom: 1px solid rgba(0, 71, 171, 0.28);
}

@media (hover: hover) and (pointer: fine) {
  .wdp-contact-intro__links a:hover {
    color: var(--wdp-cobalt-2);
    border-bottom-color: var(--wdp-cobalt-2);
  }
}

/* â€”â€” Main split (#contact-form = form + info section) â€”â€” */
#contact-form.wdp-contact-main,
#contact-form.wdp-section,
.wdp-contact-main {
  padding: 28px 0 56px !important;
  background: var(--wdp-white) !important;
}

#contact-form > .elementor-container,
#contact-form > .e-con-inner,
.wdp-contact-main > .elementor-container,
.wdp-contact-main > .e-con-inner {
  display: grid !important;
  grid-template-columns: minmax(0, 1.45fr) minmax(260px, 0.9fr);
  gap: 28px 32px;
  align-items: start;
}

#contact-form > .elementor-container > .elementor-row {
  display: contents;
}

/* Form column card */
#contact-form .wdp-contact-form-col > .elementor-widget-wrap,
#contact-form .wdp-contact-form-col > .e-con-inner,
#contact-form > .elementor-container > .elementor-row > .elementor-column:first-child > .elementor-widget-wrap,
#contact-form > .e-con-inner > .e-con:first-child,
#contact-form > .e-con-inner > *:first-child {
  background: #fff;
  border: 1px solid var(--wdp-line);
  border-radius: 20px;
  padding: 28px 28px 24px !important;
  box-shadow:
    0 18px 48px -24px rgba(11, 20, 36, 0.14),
    0 1px 0 rgba(255, 255, 255, 0.8) inset;
  box-sizing: border-box;
}

#contact-form .wdp-contact-form__heading .elementor-heading-title,
#contact-form .elementor-heading-title {
  font-size: clamp(22px, 2.6vw, 28px) !important;
  letter-spacing: -0.02em !important;
  margin: 0 0 8px !important;
  color: var(--wdp-ink) !important;
  text-align: left !important;
}

.wdp-contact-form__sub,
#contact-form .wdp-contact-form__sub {
  color: var(--wdp-muted) !important;
  font-size: 15px !important;
  line-height: 1.55 !important;
  margin: 0 0 20px !important;
  max-width: 48ch;
  text-align: left !important;
}

/* Custom audit form */
.wdp-contact-form,
#wdp-contact-audit-form {
  position: relative;
  margin: 0;
}

.wdp-contact-form__hp {
  position: absolute !important;
  left: -10000px !important;
  width: 1px !important;
  height: 1px !important;
  overflow: hidden !important;
  opacity: 0 !important;
  pointer-events: none !important;
}

.wdp-contact-form__grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px 16px;
  margin: 0 0 8px;
}

.wdp-contact-form__field {
  margin: 0 !important;
}

.wdp-contact-form__field--full {
  grid-column: 1 / -1;
}

.wdp-contact-form__field label {
  display: block;
  margin: 0 0 7px;
  font-family: var(--wdp-ui);
  font-size: 13.5px;
  font-weight: 650;
  letter-spacing: 0.01em;
  color: var(--wdp-ink);
}

.wdp-contact-form__field .req {
  color: var(--wdp-signal);
  font-weight: 700;
}

.wdp-contact-form__field input,
.wdp-contact-form__field select,
.wdp-contact-form__field textarea {
  width: 100%;
  min-height: 48px;
  padding: 12px 14px;
  border: 1px solid rgba(11, 20, 36, 0.14);
  border-radius: 12px;
  background: var(--wdp-paper);
  color: var(--wdp-ink);
  font-family: var(--wdp-body);
  font-size: 15px;
  line-height: 1.4;
  box-shadow: none;
  transition: border-color 160ms ease, box-shadow 160ms ease, background-color 160ms ease;
  box-sizing: border-box;
  appearance: none;
}

.wdp-contact-form__field select {
  background-image: linear-gradient(45deg, transparent 50%, var(--wdp-muted) 50%),
    linear-gradient(135deg, var(--wdp-muted) 50%, transparent 50%);
  background-position: calc(100% - 18px) calc(50% - 2px), calc(100% - 12px) calc(50% - 2px);
  background-size: 6px 6px, 6px 6px;
  background-repeat: no-repeat;
  padding-right: 36px;
}

.wdp-contact-form__field textarea {
  min-height: 120px;
  resize: vertical;
}

.wdp-contact-form__field input:focus,
.wdp-contact-form__field select:focus,
.wdp-contact-form__field textarea:focus {
  outline: none;
  border-color: rgba(0, 71, 171, 0.45);
  background: #fff;
  box-shadow: 0 0 0 3px rgba(0, 71, 171, 0.12);
}

.wdp-contact-form__field.is-focused label {
  color: var(--wdp-cobalt);
}

.wdp-contact-form__actions {
  margin: 16px 0 0 !important;
}

.wdp-contact-form__submit,
.wdp-contact-form .wdp-btn--solid.wdp-contact-form__submit {
  width: 100%;
  min-height: 52px;
  padding: 0 22px;
  border: none;
  border-radius: 999px;
  background: var(--wdp-cobalt) !important;
  color: #fff !important;
  font-family: var(--wdp-ui);
  font-size: 16px;
  font-weight: 700;
  letter-spacing: -0.01em;
  cursor: pointer;
  box-shadow: 0 12px 28px -10px rgba(0, 71, 171, 0.55);
  transition: transform 140ms var(--wdp-ease-out), background-color 180ms ease, box-shadow 180ms ease;
}

@media (hover: hover) and (pointer: fine) {
  .wdp-contact-form__submit:hover {
    background: var(--wdp-cobalt-2) !important;
    transform: translateY(-2px);
    box-shadow: 0 16px 32px -10px rgba(0, 71, 171, 0.6);
  }
  .wdp-contact-form__submit:active {
    transform: scale(0.97);
  }
}

.wdp-contact-form__submit:disabled {
  opacity: 0.72;
  cursor: wait;
  transform: none;
}

.wdp-contact-form__status {
  margin: 12px 0 0 !important;
  padding: 12px 14px;
  border-radius: 12px;
  background: #fff4e8;
  border: 1px solid rgba(238, 134, 34, 0.35);
  color: var(--wdp-ink);
  font-size: 14px;
  line-height: 1.45;
}

.wdp-contact-form__success {
  margin-top: 8px;
  padding: 22px 20px;
  border-radius: 16px;
  background: linear-gradient(135deg, #eef7f1, #f5faf7);
  border: 1px solid rgba(37, 211, 102, 0.35);
}

.wdp-contact-form__success p {
  margin: 0;
  color: var(--wdp-ink);
  font-size: 15.5px;
  line-height: 1.55;
  font-weight: 600;
}

/* â€”â€” Info sidebar â€”â€” */
#contact-info.wdp-contact-info-col > .elementor-widget-wrap,
#contact-info > .elementor-widget-wrap,
#contact-form .wdp-contact-info-col > .elementor-widget-wrap,
#contact-form > .elementor-container > .elementor-row > .elementor-column:last-child > .elementor-widget-wrap,
#contact-form > .e-con-inner > .e-con:last-child,
#contact-form > .e-con-inner > *:last-child {
  background:
    radial-gradient(420px 180px at 100% 0%, rgba(0, 71, 171, 0.1), transparent 60%),
    linear-gradient(165deg, #f8fbff 0%, var(--wdp-tint) 100%);
  border: 1px solid rgba(0, 71, 171, 0.12);
  border-radius: 20px;
  padding: 26px 24px !important;
  box-sizing: border-box;
  height: 100%;
}

#contact-info .elementor-heading-title,
.wdp-contact-info__heading .elementor-heading-title {
  font-size: clamp(20px, 2.4vw, 24px) !important;
  letter-spacing: -0.02em !important;
  margin: 0 0 14px !important;
  color: var(--wdp-ink) !important;
  text-align: left !important;
}

.wdp-contact-info__list {
  list-style: none;
  margin: 0 0 18px;
  padding: 0;
}

.wdp-contact-info__item {
  margin: 0 0 10px;
  padding: 12px 14px;
  border-radius: 14px;
  background: rgba(255, 255, 255, 0.72);
  border: 1px solid rgba(11, 20, 36, 0.06);
  font-size: 14px;
  line-height: 1.45;
  color: var(--wdp-ink);
  transition: border-color 160ms ease, transform 140ms var(--wdp-ease-out);
}

@media (hover: hover) and (pointer: fine) {
  .wdp-contact-info__item:hover {
    border-color: rgba(0, 71, 171, 0.22);
    transform: translateY(-1px);
  }
}

.wdp-contact-info__label {
  display: block;
  margin-bottom: 4px;
  font-size: 11.5px;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--wdp-muted);
}

.wdp-contact-info__item a {
  color: var(--wdp-cobalt);
  font-weight: 650;
  text-decoration: none;
  word-break: break-word;
}

.wdp-contact-info__item a[href*="whatsapp"],
.wdp-contact-info__item a[href*="wa.me"] {
  color: #128c7e;
}

.wdp-contact-info__item a[href^="tel"] {
  color: var(--wdp-ink);
}

#contact-info .elementor-icon-box-wrapper,
.wdp-contact-info__box .elementor-icon-box-wrapper {
  margin-top: 6px;
  text-align: left;
}

#contact-info .elementor-icon-box-icon {
  color: var(--wdp-cobalt) !important;
  margin-bottom: 8px !important;
}

#contact-info .elementor-icon-box-title {
  font-size: 16px !important;
  font-weight: 700 !important;
  color: var(--wdp-ink) !important;
}

#contact-info .elementor-icon-box-description {
  font-size: 13.5px !important;
  color: var(--wdp-muted) !important;
  line-height: 1.5 !important;
}

/* â€”â€” Alternative ways â€”â€” */
#contact-alt,
.wdp-contact-alt {
  padding: 64px 0 20px !important;
  background: var(--wdp-paper) !important;
  text-align: center;
}

#contact-alt .wdp-kicker {
  color: var(--wdp-cobalt);
}

#contact-alt .elementor-heading-title,
.wdp-contact-alt__title .elementor-heading-title {
  font-size: clamp(24px, 3vw, 34px) !important;
  letter-spacing: -0.02em !important;
  margin: 0 auto 8px !important;
  max-width: 26ch;
}

.wdp-contact-alt-grid {
  padding: 12px 0 72px !important;
  background: var(--wdp-paper) !important;
}

.wdp-contact-alt-grid > .elementor-container,
.wdp-contact-alt-grid > .e-con-inner {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 18px;
  align-items: stretch;
}

.wdp-contact-alt-grid > .elementor-container > .elementor-row {
  display: contents;
}

.wdp-contact-alt-grid .wdp-contact-alt__col > .elementor-widget-wrap,
.wdp-contact-alt-grid .elementor-column > .elementor-widget-wrap,
.wdp-contact-alt-grid > .e-con-inner > .e-con {
  background: #fff;
  border: 1px solid var(--wdp-line);
  border-radius: 18px;
  padding: 22px 20px !important;
  height: 100%;
  box-sizing: border-box;
  box-shadow: 0 8px 22px rgba(11, 20, 36, 0.04);
  text-align: left;
  display: flex;
  flex-direction: column;
  transition: border-color 160ms ease, transform 160ms var(--wdp-ease-out), box-shadow 160ms ease;
}

@media (hover: hover) and (pointer: fine) {
  .wdp-contact-alt-grid .wdp-contact-alt__col > .elementor-widget-wrap:hover,
  .wdp-contact-alt-grid .elementor-column > .elementor-widget-wrap:hover {
    transform: translateY(-3px);
    border-color: rgba(0, 71, 171, 0.22);
    box-shadow: 0 16px 32px rgba(0, 71, 171, 0.08);
  }
}

.wdp-contact-alt-grid .elementor-icon-box-icon {
  color: var(--wdp-cobalt) !important;
  margin-bottom: 10px !important;
}

.wdp-contact-alt-grid .elementor-icon-box-title,
.wdp-contact-alt-grid .elementor-heading-title {
  font-size: 18px !important;
  margin: 0 0 8px !important;
  text-align: left !important;
  color: var(--wdp-ink) !important;
}

.wdp-contact-alt-grid .elementor-icon-box-description {
  margin: 0 0 14px !important;
  font-size: 14.5px !important;
  color: var(--wdp-muted) !important;
  line-height: 1.5 !important;
  flex: 1;
}

.wdp-contact-alt-grid .elementor-button,
.wdp-contact-alt-grid a.elementor-button,
.wdp-contact-alt-grid .wdp-btn {
  border-radius: 999px !important;
  min-height: 42px;
  font-weight: 700 !important;
  margin-top: auto;
  justify-content: center;
  width: 100%;
}

/* â€”â€” FAQ (two-col: aside + toggle) â€”â€” */
#contact-faq,
.wdp-contact-faq {
  padding: 80px 0 96px !important;
  background: var(--wdp-white) !important;
}

#contact-faq > .elementor-container,
#contact-faq > .e-con-inner {
  display: grid !important;
  grid-template-columns: minmax(0, 0.85fr) minmax(0, 1.15fr);
  gap: 36px 40px;
  align-items: start;
}

#contact-faq > .elementor-container > .elementor-row {
  display: contents;
}

#contact-faq .wdp-kicker {
  color: var(--wdp-cobalt);
  text-align: left;
  margin-bottom: 12px;
}

#contact-faq .elementor-heading-title,
.wdp-contact-faq__title .elementor-heading-title {
  font-size: clamp(26px, 3.2vw, 36px) !important;
  text-align: left !important;
  margin: 0 0 14px !important;
  letter-spacing: -0.02em !important;
  max-width: 16ch;
}

.wdp-contact-faq__aside,
#contact-faq .wdp-contact-faq__aside {
  color: var(--wdp-muted) !important;
  font-size: 15px !important;
  line-height: 1.6 !important;
  margin: 0 0 18px !important;
  max-width: 36ch;
  text-align: left !important;
}

#contact-faq .wdp-contact-faq__intro .elementor-button,
#contact-faq .wdp-contact-faq__intro a.elementor-button {
  border-radius: 999px !important;
  min-height: 44px;
  font-weight: 700 !important;
}

#contact-faq .elementor-toggle-item,
.wdp-contact-faq__item,
#contact-faq details {
  background: #fff;
  border: 1px solid var(--wdp-line);
  border-radius: 16px;
  margin-bottom: 10px;
  padding: 0 18px;
  box-shadow: 0 6px 18px rgba(11, 20, 36, 0.03);
  transition: border-color 160ms ease, box-shadow 160ms ease;
}

#contact-faq .elementor-toggle-item:has(.elementor-active),
#contact-faq details[open] {
  border-color: rgba(0, 71, 171, 0.22);
  box-shadow: 0 12px 28px rgba(0, 71, 171, 0.07);
}

#contact-faq .elementor-tab-title,
#contact-faq summary {
  cursor: pointer;
  list-style: none;
  padding: 18px 0;
  font-family: var(--wdp-display);
  font-size: 16.5px;
  font-weight: 700;
  color: var(--wdp-ink);
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
}

#contact-faq summary::-webkit-details-marker {
  display: none;
}

#contact-faq .elementor-tab-content,
#contact-faq details p {
  margin: 0 0 18px;
  color: var(--wdp-muted);
  max-width: 68ch;
  font-size: 15px;
  line-height: 1.6;
}

/* â€”â€” Responsive â€”â€” */
@media (max-width: 1100px) {
  #contact-form > .elementor-container,
  #contact-form > .e-con-inner,
  .wdp-contact-main > .elementor-container,
  .wdp-contact-main > .e-con-inner {
    grid-template-columns: minmax(0, 1.25fr) minmax(240px, 0.95fr);
    gap: 22px;
  }
  .wdp-contact-alt-grid > .elementor-container,
  .wdp-contact-alt-grid > .e-con-inner {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .wdp-contact-alt-grid > .elementor-container > .elementor-row > .elementor-column:last-child,
  .wdp-contact-alt-grid > .e-con-inner > *:last-child {
    grid-column: 1 / -1;
  }
}

@media (max-width: 900px) {
  #contact-form > .elementor-container,
  #contact-form > .e-con-inner,
  .wdp-contact-main > .elementor-container,
  .wdp-contact-main > .e-con-inner {
    grid-template-columns: 1fr;
  }

  /* Form column stays first / high on mobile */
  #contact-form .wdp-contact-form-col,
  #contact-form > .elementor-container > .elementor-row > .elementor-column:first-child,
  #contact-form > .e-con-inner > *:first-child {
    order: 1;
  }
  #contact-form .wdp-contact-info-col,
  #contact-info,
  #contact-form > .elementor-container > .elementor-row > .elementor-column:last-child,
  #contact-form > .e-con-inner > *:last-child {
    order: 2;
  }

  #contact-faq > .elementor-container,
  #contact-faq > .e-con-inner {
    grid-template-columns: 1fr;
    gap: 24px;
  }

  #contact-faq .elementor-heading-title,
  .wdp-contact-faq__title .elementor-heading-title {
    max-width: none;
  }
}

@media (max-width: 767px) {
  #contact-hero,
  .wdp-contact-hero {
    padding: 88px 0 40px !important;
  }
  #contact-hero h1.elementor-heading-title,
  #contact-hero h1 {
    font-size: clamp(28px, 8.5vw, 38px) !important;
  }
  #contact-intro {
    padding: 24px 0 4px !important;
  }
  #contact-form.wdp-contact-main,
  #contact-form.wdp-section {
    padding: 12px 0 32px !important;
  }
  #contact-form .wdp-contact-form-col > .elementor-widget-wrap,
  #contact-form > .elementor-container > .elementor-row > .elementor-column:first-child > .elementor-widget-wrap,
  #contact-form > .e-con-inner > *:first-child {
    padding: 20px 16px 18px !important;
    border-radius: 16px;
  }
  #contact-info > .elementor-widget-wrap,
  #contact-form .wdp-contact-info-col > .elementor-widget-wrap,
  #contact-form > .elementor-container > .elementor-row > .elementor-column:last-child > .elementor-widget-wrap {
    padding: 20px 16px !important;
  }
  .wdp-contact-form__grid {
    grid-template-columns: 1fr;
  }
  #contact-alt,
  .wdp-contact-alt {
    padding: 48px 0 12px !important;
  }
  .wdp-contact-alt-grid {
    padding: 8px 0 56px !important;
  }
  .wdp-contact-alt-grid > .elementor-container,
  .wdp-contact-alt-grid > .e-con-inner {
    grid-template-columns: 1fr;
  }
  .wdp-contact-alt-grid > .elementor-container > .elementor-row > .elementor-column:last-child,
  .wdp-contact-alt-grid > .e-con-inner > *:last-child {
    grid-column: auto;
  }
  #contact-faq,
  .wdp-contact-faq {
    padding: 56px 0 72px !important;
  }
}

@media (max-width: 420px) {
  #contact-hero {
    padding: 80px 0 36px !important;
  }
  .wdp-contact-form__submit {
    font-size: 15px;
    min-height: 50px;
  }
}

@media (prefers-reduced-motion: reduce) {
  #contact-hero > .elementor-container,
  #contact-hero > .e-con-inner,
  #contact-hero.is-ready .elementor-element,
  .wdp-contact-alt-grid .elementor-column > .elementor-widget-wrap,
  .wdp-contact-info__item {
    animation: none !important;
    transition: none !important;
    opacity: 1 !important;
    transform: none !important;
  }
}

