.elementor-kit-8{--e-global-color-primary:#FF2D87;--e-global-color-secondary:#7B2FFF;--e-global-color-text:#374151;--e-global-color-accent:#00E5FF;--e-global-color-5700cbb:#E7D7FF;--e-global-color-33fb72e:#F3F1F6;--e-global-color-4b9b0ee:#17A490;--e-global-color-89758a6:#21F3D6;--e-global-color-c038fb1:#FF2EA6;--e-global-color-39d8dff:#7C3AED;--e-global-color-904f15e:#FFF2FA;--e-global-color-8bc8af1:#111827;--e-global-color-5395487:#121225;--e-global-color-4ad2210:#F2FEFD;--e-global-color-ba5c90a:#E8F2F5;--e-global-color-e1e0c70:#F7F3FE;--e-global-color-2488a03:#172F41;--e-global-color-3bf878a:#1B1B2E;--e-global-color-c1a868a:#FFFFFF;--e-global-color-9526efc:#0B0B14;--e-global-color-d224e23:#A9A7B5;--e-global-color-89c83f6:#0B0B14;--e-global-color-342d11b:#F3F1F6;--e-global-color-d477ea0:#785AAC;--e-global-typography-primary-font-family:"filson-soft";--e-global-typography-primary-font-size:70px;--e-global-typography-primary-font-weight:700;--e-global-typography-primary-line-height:62px;--e-global-typography-primary-letter-spacing:-1.5px;--e-global-typography-secondary-font-family:"filson-soft";--e-global-typography-secondary-font-size:44px;--e-global-typography-secondary-font-weight:700;--e-global-typography-secondary-line-height:50px;--e-global-typography-secondary-letter-spacing:-1.1px;--e-global-typography-text-font-family:"Inter";--e-global-typography-text-font-size:15px;--e-global-typography-text-font-weight:400;--e-global-typography-text-line-height:26px;--e-global-typography-text-letter-spacing:0px;--e-global-typography-accent-font-family:"Inter";--e-global-typography-accent-font-size:22px;--e-global-typography-accent-font-weight:600;--e-global-typography-accent-font-style:italic;--e-global-typography-accent-line-height:34px;--e-global-typography-accent-letter-spacing:-0.2px;--e-global-typography-cdcc2b8-font-family:"filson-soft";--e-global-typography-cdcc2b8-font-size:98px;--e-global-typography-cdcc2b8-font-weight:900;--e-global-typography-cdcc2b8-line-height:100.8px;--e-global-typography-cdcc2b8-letter-spacing:-2.4px;--e-global-typography-fc5ec7f-font-family:"filson-soft";--e-global-typography-fc5ec7f-font-size:14px;--e-global-typography-fc5ec7f-line-height:21px;--e-global-typography-fc5ec7f-letter-spacing:0.78px;--e-global-typography-4a1229d-font-family:"filson-soft";--e-global-typography-4a1229d-font-size:12px;--e-global-typography-4a1229d-font-weight:700;--e-global-typography-4a1229d-line-height:19.5px;--e-global-typography-4a1229d-letter-spacing:-0.39px;--e-global-typography-c93a086-font-family:"Inter";--e-global-typography-c93a086-font-size:13px;--e-global-typography-c93a086-font-weight:400;--e-global-typography-c93a086-line-height:19.5px;--e-global-typography-ca396e7-font-family:"Inter";--e-global-typography-ca396e7-font-size:14px;--e-global-typography-ca396e7-font-weight:400;--e-global-typography-ca396e7-line-height:21px;--e-global-typography-f91179b-font-family:"filson-soft";--e-global-typography-f91179b-font-size:13px;--e-global-typography-f91179b-font-weight:400;--e-global-typography-f91179b-line-height:22px;--e-global-typography-830a671-font-family:"filson-soft";--e-global-typography-830a671-font-size:14px;--e-global-typography-830a671-font-weight:700;--e-global-typography-830a671-line-height:21px;--e-global-typography-830a671-letter-spacing:-0.1px;--e-global-typography-e2dc091-font-family:"Inter";--e-global-typography-e2dc091-font-size:18px;--e-global-typography-e2dc091-font-weight:600;--e-global-typography-e2dc091-line-height:27px;--e-global-typography-cd03948-font-family:"Inter";--e-global-typography-cd03948-font-size:12px;--e-global-typography-cd03948-font-weight:700;--e-global-typography-cd03948-text-transform:uppercase;--e-global-typography-cd03948-line-height:18px;--e-global-typography-cd03948-letter-spacing:1.2px;--e-global-typography-9a737cf-font-family:"Inter";--e-global-typography-9a737cf-font-size:22px;--e-global-typography-9a737cf-font-weight:500;--e-global-typography-9a737cf-line-height:32px;--e-global-typography-3cb1e76-font-family:"filson-soft";--e-global-typography-3cb1e76-font-size:16px;--e-global-typography-3cb1e76-font-weight:700;--e-global-typography-3cb1e76-line-height:24px;--e-global-typography-3cb1e76-letter-spacing:-0.2px;--e-global-typography-7c0f72c-font-family:"Inter";--e-global-typography-7c0f72c-font-size:16px;--e-global-typography-7c0f72c-font-weight:700;--e-global-typography-7c0f72c-line-height:24px;--e-global-typography-7c0f72c-letter-spacing:0.1px;--e-global-typography-0d9508f-font-family:"Inter";--e-global-typography-0d9508f-font-size:17px;--e-global-typography-0d9508f-font-weight:400;--e-global-typography-2dfd4cc-font-family:"Inter";--e-global-typography-2dfd4cc-font-size:12px;--e-global-typography-2dfd4cc-font-weight:500;--e-global-typography-2dfd4cc-line-height:19.5px;--e-global-typography-2dfd4cc-letter-spacing:0.2px;--e-global-typography-d1f5712-font-family:"Inter";--e-global-typography-d1f5712-font-size:12px;--e-global-typography-d1f5712-font-weight:700;--e-global-typography-d1f5712-text-transform:uppercase;--e-global-typography-d1f5712-line-height:16px;--e-global-typography-d1f5712-letter-spacing:3px;--e-global-typography-3bda45f-font-family:"Inter";--e-global-typography-3bda45f-font-size:14px;--e-global-typography-3bda45f-font-weight:700;--e-global-typography-3bda45f-line-height:20px;--e-global-typography-3bda45f-letter-spacing:0px;--e-global-typography-abe19d8-font-family:"Inter";--e-global-typography-abe19d8-font-size:14px;--e-global-typography-abe19d8-font-weight:600;--e-global-typography-abe19d8-line-height:20px;--e-global-typography-abe19d8-letter-spacing:0.1px;--e-global-typography-51ac3e3-font-family:"Inter";--e-global-typography-51ac3e3-font-size:20px;--e-global-typography-51ac3e3-font-weight:400;--e-global-typography-51ac3e3-line-height:28px;--e-global-typography-47b4338-font-family:"Inter";--e-global-typography-47b4338-font-size:17px;--e-global-typography-47b4338-font-weight:500;--e-global-typography-47b4338-line-height:25.5px;--e-global-typography-57da323-font-family:"filson-soft";--e-global-typography-57da323-font-size:32px;--e-global-typography-57da323-font-weight:900;--e-global-typography-57da323-line-height:40px;--e-global-typography-57da323-letter-spacing:-0.8px;--e-global-typography-363b9d9-font-family:"Inter";--e-global-typography-363b9d9-font-size:17px;--e-global-typography-363b9d9-font-weight:700;--e-global-typography-363b9d9-line-height:25.5px;--e-global-typography-474d1d3-font-family:"Inter";--e-global-typography-474d1d3-font-size:22px;--e-global-typography-474d1d3-font-weight:700;--e-global-typography-474d1d3-line-height:33px;--e-global-typography-9b1e993-font-family:"filson-soft";--e-global-typography-9b1e993-font-size:18px;--e-global-typography-9b1e993-font-weight:700;--e-global-typography-9b1e993-line-height:26px;--e-global-typography-9b1e993-letter-spacing:-0.3px;--e-global-typography-627e5d5-font-family:"filson-soft";--e-global-typography-627e5d5-font-size:100px;--e-global-typography-627e5d5-font-weight:900;--e-global-typography-627e5d5-line-height:100.8px;--e-global-typography-627e5d5-letter-spacing:-2.4px;--e-global-typography-b0e0661-font-family:"Inter";--e-global-typography-b0e0661-font-size:17px;--e-global-typography-b0e0661-line-height:25.5px;--e-global-typography-b0e0661-letter-spacing:0px;}.elementor-kit-8 button,.elementor-kit-8 input[type="button"],.elementor-kit-8 input[type="submit"],.elementor-kit-8 .elementor-button{background-color:var( --e-global-color-primary );font-family:var( --e-global-typography-830a671-font-family ), Sans-serif;font-size:var( --e-global-typography-830a671-font-size );font-weight:var( --e-global-typography-830a671-font-weight );line-height:var( --e-global-typography-830a671-line-height );letter-spacing:var( --e-global-typography-830a671-letter-spacing );color:#FFFFFF;border-style:solid;border-width:0px 0px 0px 0px;border-radius:2px 2px 2px 2px;padding:10px 10px 10px 10px;}.elementor-kit-8 e-page-transition{background-color:#FFBC7D;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1140px;}.e-con{--container-max-width:1140px;}.elementor-widget:not(:last-child){--kit-widget-spacing:20px;}.elementor-element{--widgets-spacing:20px 20px;--widgets-spacing-row:20px;--widgets-spacing-column:20px;}{}h1.entry-title{display:var(--page-title-display);}.site-header .site-branding{flex-direction:column;align-items:stretch;}.site-header{padding-inline-end:0px;padding-inline-start:0px;}.site-footer .site-branding{flex-direction:column;align-items:stretch;}@media(max-width:1024px){.elementor-kit-8 button,.elementor-kit-8 input[type="button"],.elementor-kit-8 input[type="submit"],.elementor-kit-8 .elementor-button{font-size:var( --e-global-typography-830a671-font-size );line-height:var( --e-global-typography-830a671-line-height );letter-spacing:var( --e-global-typography-830a671-letter-spacing );}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1024px;}.e-con{--container-max-width:1024px;}}@media(max-width:767px){.elementor-kit-8 button,.elementor-kit-8 input[type="button"],.elementor-kit-8 input[type="submit"],.elementor-kit-8 .elementor-button{font-size:var( --e-global-typography-830a671-font-size );line-height:var( --e-global-typography-830a671-line-height );letter-spacing:var( --e-global-typography-830a671-letter-spacing );}.elementor-section.elementor-section-boxed > .elementor-container{max-width:767px;}.e-con{--container-max-width:767px;}}
/* Start custom CSS *//* =====================================================================
   Digital Sparks Studios — Global Styles (CLEAN FINAL)
   ===================================================================== */

/* =========================
   DESIGN TOKENS
========================= */
:root {
  --pink: #ec4899;
  --pink-hover: #db2777;

  --purple: #7c3aed;
  --purple-hover: #6d28d9;

  --text-primary: #1f1f1f;
  --text-secondary: #6b6b75;

  --bg-soft: #f5f5f9;
  --bg-muted: #f1f1f5;

  --border-default: #111827;
  --border-soft: rgba(17, 24, 39, 0.2);

  --accent-primary: var(--purple);
  --btn-radius-pill: 999px;

  --text-dark: #111827;
  --text-light: #ffffff;

  --border-dark: #111827;
  --border-light: rgba(255,255,255,0.7);

  --glow: rgba(124, 58, 237, 0.25);
  --glow-hover: rgba(124, 58, 237, 0.35);
}

/* =========================
   TYPOGRAPHY
========================= */

h1 {
  font-family: 'Filson Soft', sans-serif;
  font-weight: 900;
  font-size: 70px;
  line-height: 62px;
  letter-spacing: -1.5px;
}

h2 {
  font-family: 'Filson Soft', sans-serif;
  font-weight: 900;
  font-size: 32px;
  line-height: 40px;
  letter-spacing: -0.8px;
}

h3 {
  font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  font-weight: 700;
  font-size: 17px;
  line-height: 42.5px;
  letter-spacing: 0;
}

h4 {
  font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  font-weight: 700;
  font-size: 12px;
  line-height: 18px;
  letter-spacing: 0;
}

h5 {
  font-family: 'Inter', sans-serif;
  font-weight: 600;
  font-size: 11px;
  line-height: 16px;
  letter-spacing: 0.02em;
}

h6 {
  font-family: 'Inter', sans-serif;
  font-weight: 500;
  font-size: 10px;
  line-height: 14px;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

p {
  font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  font-weight: 400;
  font-size: 17px;
  line-height: 30px;
  letter-spacing: 0;
  color: #374151;
}

/* Gutenberg typography */
.wp-block-post-content h1 {
  font-family: 'Filson Soft', sans-serif;
  font-weight: 900;
  font-size: 70px;
  line-height: 62px;
  letter-spacing: -1.5px;
}

.wp-block-post-content h2 {
  font-family: 'Filson Soft', sans-serif;
  font-weight: 900;
  font-size: 32px;
  line-height: 40px;
  letter-spacing: -0.8px;
}

.wp-block-post-content h3 {
  font-family: 'Inter', sans-serif;
  font-weight: 700;
  font-size: 17px;
  line-height: 42.5px;
}

.wp-block-post-content h4 {
  font-family: 'Inter', sans-serif;
  font-weight: 700;
  font-size: 12px;
  line-height: 18px;
}

.wp-block-post-content h5 {
  font-family: 'Inter', sans-serif;
  font-weight: 600;
  font-size: 11px;
  line-height: 16px;
  letter-spacing: 0.02em;
}

.wp-block-post-content h6 {
  font-family: 'Inter', sans-serif;
  font-weight: 500;
  font-size: 10px;
  line-height: 14px;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

.wp-block-post-content p {
  font-family: 'Inter', sans-serif;
  font-size: 17px;
  line-height: 30px;
  color: #374151;
}

/* =========================
   STATS BLOCK 
========================= */

/* CARD CONTAINER */
.stats-card,
.stats-block {
  background: linear-gradient(180deg, #12172A 0%, #0B0F1C 100%);
  border-radius: 20px;
  padding: 32px;
  margin: 56px 0;
  color: #ffffff;
}

/* GRID LAYOUT */
.stats-card .wp-block-columns,
.stats-block .wp-block-columns,
.stats-card .stats-row,
.stats-block .stats-row {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 40px;
  align-items: start;
}

/* COLUMN RESET */
.stats-card .wp-block-column,
.stats-block .wp-block-column {
  min-width: 0;
}

/* STAT ITEM */
.stat-item {
  display: flex;
  flex-direction: column;
  min-width: 0;
}

/* LABEL */
.stat-label {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  margin: 0 0 18px 0;

  font-family: 'Inter', sans-serif;
  font-size: 12px;
  font-weight: 600;
  line-height: 1;
  letter-spacing: 0.18em;
  text-transform: uppercase;

  color: var(--purple);
}

.stat-label::before {
  content: "";
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: var(--purple);
  flex: 0 0 6px;
}


.stat-value,
.stats-card .wp-block-column > :first-child,
.stats-block .wp-block-column > :first-child {
  margin: 0 0 12px 0 !important;
  padding: 0 !important;

  font-family: 'Inter', sans-serif !important;
  font-size: 52px !important;
  line-height: 1.05 !important;
  font-weight: 800 !important;
  letter-spacing: -0.6px !important;

  color: #ffffff !important;
}

/* Accent colors */
.stat-value.pink,
.stats-card .wp-block-column:nth-child(3) > :first-child,
.stats-block .wp-block-column:nth-child(3) > :first-child {
  color: #FF2D87 !important;
}

.stat-value.green,
.stats-card .wp-block-column:nth-child(2) > :first-child,
.stats-block .wp-block-column:nth-child(2) > :first-child {
  color: #43E6C3 !important;
}

/* DESCRIPTION */
.stat-desc,
.stats-card .wp-block-column > :not(:first-child),
.stats-block .wp-block-column > :not(:first-child),
.stats-card p,
.stats-block p {
  margin: 0 !important;
  padding: 0 !important;

  font-family: 'Inter', sans-serif !important;
  font-size: 14px !important;
  line-height: 1.5 !important;
  font-weight: 400 !important;

  color: rgba(255,255,255,0.75) !important;
}


.stats-card .wp-block-column:nth-child(2) > :first-child,
.stats-block .wp-block-column:nth-child(2) > :first-child {
  font-size: 54px !important;
  letter-spacing: -0.8px !important;
}

/* MOBILE */
@media (max-width: 768px) {
  .stats-card .wp-block-columns,
  .stats-block .wp-block-columns,
  .stats-card .stats-row,
  .stats-block .stats-row {
    grid-template-columns: 1fr;
    gap: 28px;
  }
}

/* =========================
   UTILITY: PILLS
========================= */
.pill-row {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}

.pill {
  padding: 6px 14px;
  border-radius: 999px;
  font-size: 12px;
  border: 1px solid;
}

.purple {
  color: #8b5cf6;
  border-color: #8b5cf6;
}

.green {
  color: #22c55e;
  border-color: #22c55e;
}

.pink {
  color: #ec4899;
  border-color: #ec4899;
}

.blue {
  color: #1AA8B9;
  border-color: #1AA8B9;
}

.section-pill {
  display: inline-block;
  padding: 6px 18px;
  border-radius: 999px;
  font-size: 12px;
  font-weight: 600;
  letter-spacing: 3px;
  text-transform: uppercase;
  color: #6d5ce7;
  background: linear-gradient(135deg, rgba(109, 92, 231, 0.18), rgba(109, 92, 231, 0.08));
  width: fit-content;
}


/* =========================================================
   QUOTE BLOCK
========================================================= */

.post-body .wp-block-quote {
  position: relative;
  background: linear-gradient(180deg, #12172A 0%, #0B0F1C 100%);
  padding: 24px 32px 22px 32px; /* tighter + more balanced */
  border-radius: 20px;
  margin: 40px 0;
}


/* Vertical accent bar */
.post-body .wp-block-quote::before {
  content: "";
  position: absolute;
  left: 18px;              /* aligns with Figma spacing */
  top: 20px;
  bottom: 20px;

  width: 3px;              /* thinner than before */
  border-radius: 3px;

  background: linear-gradient(
    180deg,
    #7C5CFF 0%,   /* purple */
    #EC4899 100%  /* pink */
  );
}


/* Quote text */
.post-body .wp-block-quote p {
  margin: 0;
  padding-left: 28px;      /* space from vertical bar */

  font-family: 'Inter', sans-serif;
  font-size: 17px;         /* slightly larger */
  line-height: 1.65;
  font-weight: 600;        /* stronger */
  font-style: italic;      /* KEY difference vs your build */

  color: #E5E7EB;          /* softer than pure white */
}


/* Attribution */
.post-body .wp-block-quote cite {
  display: block;

  margin-top: 14px;        /* tighter spacing */
  padding-left: 28px;

  font-size: 13px;
  font-weight: 600;
  font-style: normal;

  color: #EC4899;          /* exact Figma pink */
}

/* =========================
   SERVICE CARD
========================= */
.service-card {
  position: relative;
  background: #f5f5f9;
  border-radius: 18px;
  padding: 28px;
  overflow: hidden;
  box-shadow:
    0 1px 2px rgba(0,0,0,0.03),
    0 6px 12px rgba(0,0,0,0.04);
}

.service-card::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 4px;
  background: linear-gradient(90deg, #7c5cff, #a855f7);
}

.service-card:hover {
  transform: translateY(-4px);
  box-shadow:
    0 6px 14px rgba(0,0,0,0.06),
    0 16px 30px rgba(0,0,0,0.06);
}

.service-card .icon-box {
  width: 44px;
  height: 44px;
  border-radius: 12px;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 16px;
}

.service-card .card-title {
  font-size: 16px;
  font-weight: 600;
  margin-bottom: 10px;
  color: #1f1f1f;
}

.service-card .card-desc {
  font-size: 14px;
  line-height: 1.6;
  color: #6b6b75;
}

.service-card.purple::before {
  background: linear-gradient(90deg, #7c5cff, #8b7bff);
}

.service-card.pink::before {
  background: linear-gradient(90deg, #ec4899, #f472b6);
}

.service-card.green::before {
  background: linear-gradient(90deg, #2dd4bf, #5eead4);
}

/* =========================
   GENERIC ICON BOX + CARD TEXT
========================= */
.icon-box {
  width: 40px;
  height: 40px;
  border-radius: 12px;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 18px;
}

.icon-purple {
  background: rgba(124, 92, 255, 0.10);
}

.icon-pink {
  background: rgba(236, 72, 153, 0.10);
}

.icon-green {
  background: rgba(45, 212, 191, 0.10);
}

.card-title {
  font-size: 15px;
  font-weight: 600;
  margin-bottom: 8px;
  color: #1f1f1f;
}

.card-desc {
  font-size: 14px;
  line-height: 1.6;
  color: #6b6b75;
}

/* =========================
   ELEMENTOR: DIVIDER
========================= */
.section-divider {
  width: 50px;
  height: 3px;
  background-color: #7c5cff;
  border-radius: 999px;
  margin: 16px auto 0 auto;
}

.elementor-divider-separator {
  display: none !important;
}

.elementor-divider::after,
.section-divider::after {
  content: "";
  display: block;
  width: 48px;
  height: 2px;
  margin: 12px auto 0 auto;
  border-radius: 999px;
  background: linear-gradient(90deg, #7c5cff, #ec4899);
}

/* =========================
   BLOG CARD
========================= */
.blog-card {
  border-radius: 18px;
  overflow: hidden;
  background: #ffffff;
  box-shadow:
    0 2px 6px rgba(0,0,0,0.05),
    0 10px 25px rgba(0,0,0,0.06);
  transition: all 0.25s ease;
  --accent: #7c5cff;
}

.blog-card:hover {
  transform: translateY(-4px);
}

.blog-card .blog-image {
  position: relative;
  height: 220px;
  overflow: hidden;
}

.blog-card .blog-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.blog-card::before {
  content: "";
  display: block;
  height: 3px;
  background: var(--accent);
  opacity: 0.9;
}

.blog-card .blog-badge {
  position: absolute;
  top: 12px;
  left: 12px;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 6px 12px;
  white-space: nowrap;
  border-radius: 999px;
  font-size: 12px;
  line-height: 1;
  background: var(--accent);
  color: #ffffff;
}

.blog-card .badge-icon {
  width: 12px;
  height: 12px;
  object-fit: contain;
  flex-shrink: 0;
}

.blog-card .blog-readtime {
  position: absolute;
  top: 12px;
  right: 12px;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 5px 10px;
  font-size: 11px;
  border-radius: 999px;
  white-space: nowrap;
  background: rgba(255,255,255,0.95);
  color: #1f1f1f;
}

.blog-card .readtime-icon {
  width: 12px;
  height: 12px;
  object-fit: contain;
  flex-shrink: 0;
}

.blog-card .blog-content {
  padding: 24px;
}

.blog-card .blog-featured {
  font-size: 11px;
  letter-spacing: 1.5px;
  font-weight: 600;
  color: var(--accent);
  margin-bottom: 8px;
}

.blog-card .blog-title {
  font-size: 20px;
  font-weight: 700;
  margin-bottom: 8px;
  color: #1f1f1f;
}

.blog-card .blog-date {
  font-size: 13px;
  color: #9aa0a6;
  margin-bottom: 12px;
}

.blog-card .blog-excerpt {
  font-size: 14px;
  line-height: 1.6;
  color: #6b6b75;
  margin-bottom: 16px;
}

.blog-card .blog-footer {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding-top: 14px;
  border-top: 1px solid #eeeeee;
}

.blog-card .blog-author {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 13px;
  color: #1f1f1f;
}

.blog-card .blog-author img {
  width: 24px;
  height: 24px;
  border-radius: 50%;
}

.blog-card .blog-readmore {
  color: #ec4899;
  font-weight: 600;
}

.blog-card.pink {
  --accent: #ec4899;
}

.blog-card.green {
  --accent: #17A490;
}

.blog-card .blog-badge img,
.blog-card .badge-icon {
  width: 12px !important;
  height: 12px !important;
  max-width: 12px;
  max-height: 12px;
  object-fit: contain;
  display: block;
  flex-shrink: 0;
  filter: none;
  transform: none;
}

/* =========================
   BUTTONS
========================= */
.btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 14px 28px;
  border-radius: var(--btn-radius-pill);
  font-weight: 600;
  font-size: 15px;
  line-height: 1;
  text-decoration: none;
  cursor: pointer;
  transition: all 0.25s ease;
}

.btn:focus-visible {
  outline: 2px solid #ec4899;
  outline-offset: 3px;
}

.btn:active {
  transform: translateY(1px) scale(0.98);
}

.btn-primary {
  background: linear-gradient(135deg, var(--pink), var(--purple));
  color: #ffffff;
  border: none;
  box-shadow: 0 8px 24px var(--glow);
}

.btn-primary:hover {
  background: linear-gradient(135deg, var(--pink-hover), var(--purple-hover));
  transform: translateY(-2px);
  box-shadow: 0 12px 32px var(--glow-hover);
}

.btn-outline {
  background: transparent;
  color: var(--text-dark);
  border: 1.5px solid var(--border-dark);
}

.btn-outline:hover {
  background: rgba(0, 0, 0, 0.05);
  transform: translateY(-1px);
}

.dark .btn-outline {
  color: var(--text-light);
  border-color: var(--border-light);
}

.dark .btn-outline:hover {
  background: rgba(255, 255, 255, 0.08);
}

.btn-link {
  background: none;
  border: none;
  padding: 0;
  color: var(--pink);
  font-weight: 600;
  display: inline-flex;
  align-items: center;
  gap: 6px;
}

.btn-link::after {
  content: "→";
  transition: transform 0.2s ease;
}

.btn-link:hover {
  color: var(--pink-hover);
}

.btn-link:hover::after {
  transform: translateX(4px);
}

.btn-sm {
  padding: 10px 20px;
  font-size: 14px;
}

.btn-lg {
  padding: 18px 36px;
  font-size: 16px;
}

.btn.disabled,
.btn:disabled {
  opacity: 0.5;
  pointer-events: none;
  cursor: not-allowed;
}

.elementor-button {
  background-color: #ffffff !important;
  color: #111827 !important;
  border: 1.5px solid #111827 !important;
  border-radius: 999px !important;
  padding: 14px 28px !important;
  font-weight: 500;
  font-size: 15px;
  transition: all 0.25s ease;
}

.elementor-button:hover {
  background-color: #f9fafb !important;
  transform: translateY(-1px);
}

/* =========================
   FOOTER SYSTEM
========================= */
.dss-footer {
  color: #ffffff;
  padding: 80px 0 48px;
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Inter, sans-serif;
}

.footer-brand {
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.footer-brand h2 {
  font-size: 28px;
  font-weight: 600;
  margin: 0;
}

.footer-brand p {
  font-size: 14px;
  color: #ff4da6;
  margin: 0;
}

.footer-links a {
  display: block;
  font-size: 14px;
  color: #cfd3ff;
  line-height: 2;
  text-decoration: none;
}

.footer-links a:hover {
  color: #ffffff;
}

.footer-credentials {
  display: flex;
  flex-direction: column;
  gap: 16px;
  background: none;
  border: none;
  box-shadow: none;
}

.credentials-wrapper {
  display: flex;
  flex-direction: column;
  gap: 14px;
  padding: 0;
  background: transparent;
  border: none;
  border-radius: 0;
  box-shadow: none;
}

.footer-credentials,
.credentials-wrapper {
  background: none;
  border: none;
  box-shadow: none;
}

.credential-item {
  display: flex;
  align-items: center;
  gap: 14px;
  padding: 14px 18px;
  border-radius: 14px;
  background: rgba(255,255,255,0.05);
  border: 1px solid rgba(255,255,255,0.06);
  box-shadow:
    0 2px 8px rgba(0,0,0,0.18),
    inset 0 1px 0 rgba(255,255,255,0.06);
}

.credential-item:hover {
  background: rgba(255,255,255,0.06);
  transform: none;
  box-shadow: none;
}

.credential-item .elementor-icon-wrapper {
  width: 34px;
  height: 34px;
  border-radius: 10px;
  display: flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 34px;
  box-shadow: none;
}

.credential-item .elementor-icon svg,
.credential-item .elementor-icon i {
  width: 16px;
  height: 16px;
  font-size: 16px;
}

.credential-item.iso .elementor-icon-wrapper {
  background: rgba(0,255,195,0.15);
}

.credential-item.iso svg,
.credential-item.iso i {
  color: #7cf0d4;
}

.credential-item.audit .elementor-icon-wrapper {
  background: rgba(255,77,166,0.15);
}

.credential-item.audit svg,
.credential-item.audit i {
  color: #ff4da6;
}

.credential-item.bsi .elementor-icon-wrapper {
  background: rgba(124,58,237,0.15);
}

.credential-item.bsi svg,
.credential-item.bsi i {
  color: #7c3aed;
}

.credential-item .elementor-heading-title,
.credential-item .elementor-text-editor {
  font-size: 13px;
  color: #cfd3ff;
  margin: 0;
  line-height: 1.35;
}

.footer-bottom {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-top: 48px;
  padding-top: 20px;
  border-top: none;
  font-weight: 400;
  letter-spacing: 0.2px;
}

.footer-bottom p {
  font-size: 13px;
  color: #9aa0c7;
  margin: 0;
}

.footer-bottom a {
  font-size: 13px;
  color: #9aa0c7;
  text-decoration: none;
  margin-left: 20px;
  transition: color 0.2s ease;
}

.footer-bottom a:hover {
  color: #ffffff;
}

.footer-bottom-right {
  display: flex;
  justify-content: flex-end;
  align-items: center;
  margin-left: auto;
}

.footer-bottom-right a {
  margin-left: 24px;
  white-space: nowrap;
}

/* =========================
   GRID SYSTEM
========================= */
.site-container {
  max-width: 1440px;
  margin: 0 auto;
  padding-left: 80px;
  padding-right: 80px;
}

/* =========================
   BLOG SYSTEM (SINGLE POST)
========================= */
.post-hero {
  border-top: none !important;
}

.elementor-section,
.elementor-container,
.elementor-column {
  border-top: none !important;
}

.post-title {
  font-size: 46px;
  font-weight: 800;
  line-height: 1.15;
  color: #ffffff;
  max-width: 820px;
}

.post-title span {
  background: linear-gradient(90deg, #ec4899, #7c3aed);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}

.post-meta {
  margin-top: 18px;
  display: flex;
  flex-wrap: wrap;
  gap: 14px;
  font-size: 14px;
  color: rgba(255,255,255,0.6);
}

.post-meta .elementor-post-info__terms a {
  background: rgba(236,72,153,0.15);
  color: #ec4899;
  padding: 4px 10px;
  border-radius: 20px;
  font-size: 12px;
}

.post-featured {
  margin-top: 0px !important;
  padding-top: 0px !important;
}

.post-featured .elementor-container,
.post-featured .elementor-column {
  padding-top: 0px !important;
  margin-top: 0px !important;
}

.post-featured .elementor-widget-image {
  position: relative;
  margin-top: -3px;
}


.post-featured .elementor-widget-image::after {
  content: "";
  position: absolute;
  left: 0px;
  top: 0px;
  width: 100%;
  height: 3px;
  background: linear-gradient(90deg, #7c5cff, #ec4899, #7c5cff);
  border-top-left-radius: 16px;
  border-top-right-radius: 16px;
  z-index: 2;
}

.post-featured .elementor-widget-image .elementor-widget-container {
  padding: 0 !important;
  margin: 0 !important;
  line-height: 0 !important; /*  reinforces removal */
}

.post-featured .elementor-widget-image {
  position: relative;
  line-height: 0px; /* removes extra space below/above image */
}

.post-featured .elementor-widget-image img {
  display: block; /* removes inline image gap */
}

.post-featured .elementor-widget-image figure {
  margin: 0 !important;
}

.wp-block-post-content > * {
  font-size: 16px;
  line-height: 1.7;
  color: var(--text-primary);
}

.wp-block-post-content > * {
  margin-bottom: 18px;
}

.wp-block-post-content h2 {
  font-size: 28px;
  font-weight: 700;
  margin-top: 56px;
  margin-bottom: 16px;
}

.wp-block-post-content h3 {
  font-size: 22px;
  margin-top: 40px;
  margin-bottom: 12px;
}

/* Quote blocks in post */
.post-body .wp-block-quote {
  background: linear-gradient(180deg, #12172A 0%, #0B0F1C 100%);
  padding: 24px 28px;
  border-radius: 12px;
  margin: 40px 0;
  position: relative;
}

.post-body .wp-block-quote blockquote {
  margin: 0;
  color: white;
  font-size: 18px;
  line-height: 1.5;
}

.post-body .wp-block-quote::before {
  content: "";
  position: absolute;
  left: 0;
  top: 20px;
  bottom: 20px;
  width: 4px;
  background: linear-gradient(180deg, #FF4D9D, #7B61FF);
  border-radius: 4px;
}

.post-body .wp-block-quote cite {
  display: block;
  margin-top: 12px;
  font-size: 14px;
  color: #94A3B8;
}

.wp-block-quote {
  margin: 48px 0;
}

.wp-block-quote blockquote {
  background: linear-gradient(180deg, #12172A 0%, #0B0F1C 100%);
  padding: 24px 28px;
  border-radius: 16px;
  position: relative;
}

.wp-block-quote blockquote::before {
  content: "";
  position: absolute;
  left: 0;
  top: 18px;
  bottom: 18px;
  width: 4px;
  background: linear-gradient(180deg, #ec4899, #7c3aed);
  border-radius: 4px;
}

.wp-block-quote p {
  color: #ffffff;
  margin: 0;
  padding-left: 12px;
  font-size: 16px;
}

.wp-block-quote cite {
  display: block;
  margin-top: 12px;
  font-size: 14px;
  color: rgba(255,255,255,0.6);
}


/* =========================
   SIDEBAR AUTHOR CARD (FIGMA MATCH)
========================= */
.post-sidebar .author-card {
  background: linear-gradient(180deg, #11182B 0%, #090D18 100%) !important;
  border-radius: 24px !important;
  padding: 22px !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 18px !important;
  color: #ffffff !important;
  overflow: hidden !important;
  box-shadow: none !important;
}

/* Header row */
.post-sidebar .author-card .author-header {
  display: flex !important;
  flex-direction: row !important;
  align-items: center !important;
  gap: 12px !important;
  margin: 0 !important;
  padding: 0 !important;
}

/* Image widget wrapper — this is the actual avatar fix */
.post-sidebar .author-card .author-header > .elementor-widget-image,
.post-sidebar .author-card .author-header > .elementor-widget-image .elementor-widget-container,
.post-sidebar .author-card .author-header > .elementor-widget-image .elementor-image {
  width: 52px !important;
  min-width: 52px !important;
  max-width: 52px !important;
  height: 52px !important;
  min-height: 52px !important;
  max-height: 52px !important;
  border-radius: 50% !important;
  border: 2px solid #7B2FFF;
  overflow: hidden !important;
  flex: 0 0 52px !important;
  margin: 0 !important;
  padding: 0 !important;
}

/* Actual avatar image */
.post-sidebar .author-card .author-header > .elementor-widget-image img {
  width: 100% !important;
  height: 100% !important;
  display: block !important;
  object-fit: cover !important;
  border-radius: 50% !important;
  margin: 0 !important;
  padding: 0 !important;
}

/* Text container in header = second child */
.post-sidebar .author-card .author-header > .e-con:last-child {
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
  align-items: flex-start !important;
  gap: 2px !important;
  flex: 1 1 auto !important;
  min-width: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
}

/* Kill global heading styles inside author card */
.post-sidebar .author-card .author-header .elementor-heading-title {
  font-family: 'Inter', sans-serif !important;
  font-size: 16px !important;
  line-height: 1.15 !important;
  font-weight: 700 !important;
  letter-spacing: 0 !important;
  color: #ffffff !important;
  margin: 0 !important;
  padding: 0 !important;
  white-space: nowrap !important;
}

/* Kill global paragraph/text-editor styles inside header */
.post-sidebar .author-card .author-header .elementor-widget-text-editor,
.post-sidebar .author-card .author-header .elementor-widget-text-editor p {
  font-family: 'Inter', sans-serif !important;
  font-size: 14px !important;
  line-height: 1.2 !important;
  letter-spacing: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
}

/* First text line under name = role */
.post-sidebar .author-card .author-header .elementor-widget-text-editor:first-of-type,
.post-sidebar .author-card .author-header .elementor-widget-text-editor:first-of-type p {
  color: #ec4899 !important;
  font-weight: 600 !important;
}

/* Second text line under role = company */
.post-sidebar .author-card .author-header .elementor-widget-text-editor:last-of-type,
.post-sidebar .author-card .author-header .elementor-widget-text-editor:last-of-type p {
  color: rgba(255,255,255,0.62) !important;
  font-weight: 400 !important;
}

/* Bio copy */
.post-sidebar .author-card .author-bio,
.post-sidebar .author-card .author-bio p {
  font-family: 'Inter', sans-serif !important;
  font-size: 15px !important;
  line-height: 1.65 !important;
  color: rgba(255,255,255,0.78) !important;
  margin: 0 !important;
  padding: 0 !important;
}

/* Badge row */
.post-sidebar .author-card .author-badges {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 10px !important;
  margin: 0 !important;
  padding: 0 !important;
}

.post-sidebar .author-card .author-badges .elementor-button {
  padding: 7px 14px !important;
  border-radius: 999px !important;
  font-size: 12px !important;
  line-height: 1 !important;
  font-weight: 600 !important;
  background: rgba(255,255,255,0.05) !important;
  border: 1px solid rgba(255,255,255,0.12) !important;
  color: #ffffff !important;
  box-shadow: none !important;
}

/* CTA */
.post-sidebar .author-card .author-cta,
.post-sidebar .author-card .author-cta .elementor-widget-container {
  width: 100% !important;
}

.post-sidebar .author-card .author-cta .elementor-button {
  width: 100% !important;
  justify-content: center !important;
  border-radius: 999px !important;
  padding: 16px 20px !important;
  font-size: 16px !important;
  font-weight: 700 !important;
  line-height: 1 !important;
  background: linear-gradient(90deg, #5D5FEF 0%, #A845F7 100%) !important;
  border: none !important;
  color: #ffffff !important;
  box-shadow: 0 12px 28px rgba(124, 92, 255, 0.30) !important;
}

.post-sidebar .author-card .author-cta .elementor-button:hover {
  transform: translateY(-1px) !important;
}


/* Sidebar cards */
.sidebar-toc,
.sidebar-related,
.sidebar-cta {
  background: #ffffff;
  padding: 20px;
  border-radius: 16px;
}

.post-keep-reading {
  background: #0B0F1C;
  padding: 80px 0;
  color: #ffffff;
}

.post-newsletter {
  background: linear-gradient(90deg, #ec4899, #7c3aed);
  padding: 72px 0;
  text-align: center;
  color: white;
}

/* =========================
   BLOG META PILLS
========================= */
.blog-meta-pills {
  display: flex;
  align-items: center;
  gap: 14px;
}

.meta-pill {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 8px 16px;
  border-radius: 999px;
  font-size: 13px;
  font-weight: 600;
  letter-spacing: 0.08em;
  line-height: 1;
}

.meta-pill--category {
  color: #A855F7;
  background: rgba(88, 28, 135, 0.25);
  border: 1px solid rgba(168, 85, 247, 0.4);
  text-transform: uppercase;
}

.meta-pill--category::before {
  content: "";
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: #A855F7;
  margin-right: 6px;
}

.meta-pill--reading {
  background: #F3F4F6;
  color: #374151;
  border: 1px solid #E5E7EB;
  font-weight: 500;
  letter-spacing: 0;
  text-transform: none;
  display: inline-flex !important;
  width: auto !important;
  max-width: fit-content;
}

.meta-pill--category i,
.meta-pill--category svg {
  display: none;
}

/* =====================================================================
   FINAL META ROW SYSTEM (STABLE + CLEAN)
   REQUIRED CLASSES:
   - outer container: meta-row
   - author block: meta-author
   - date block: meta-item meta-date
   - category block: meta-item meta-category
======================================================================== */

/* =========================
   REMOVE ELEMENTOR DEFAULT ICONS / DIVIDERS
========================= */
.elementor-post-info .elementor-icon-list-icon,
.elementor-post-info .elementor-icon-list-icon svg,
.elementor-post-info .elementor-icon-list-icon i {
  display: none !important;
  width: 0 !important;
  height: 0 !important;
  overflow: hidden !important;
}

.elementor-post-info > *:not(:last-child)::after,
ul.elementor-inline-items.elementor-icon-list-items.elementor-post-info > li:not(:last-child)::after {
  content: none !important;
}

/* =========================
   META ROW LAYOUT
========================= */
.meta-row {
  display: flex !important;
  align-items: center !important;
  transform: translateY(1px);
  gap: 24px !important;
  flex-wrap: nowrap !important;
}
	
.meta-author,
.meta-item {
  display: flex !important;
  align-items: center !important;
  min-height: 44px !important;
  box-sizing: border-box;
  position: relative;
}

/* =========================
   AUTHOR BLOCK
========================= */
.meta-author {
  gap: 12px !important;
  transform: translateY(1px);
}

/* avatar */
.meta-author img[src*="gravatar"],
.meta-author img.avatar,
.meta-author .elementor-widget-image img,
.meta-author .elementor-image img {
  width: 40px !important;
  height: 40px !important;
  min-width: 40px !important;
  min-height: 40px !important;
  border-radius: 50% !important;
  object-fit: cover !important;
  border: 2px solid #7B2FFF;
  display: block !important;
  flex-shrink: 0 !important;
  clip-path: circle(50%) !important;
  margin: 0 !important;
}


/* author text stack */
.meta-author .elementor-container,
.meta-author .elementor-widget-wrap {
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
  align-items: flex-start !important;
  gap: 2px !important;
  width: auto !important;
  min-width: 0 !important;
}

.meta-author .elementor-widget-container {
  width: auto !important;
  justify-content: flex-start !important;
  text-align: left !important;
}

/* author name */
.meta-author .elementor-heading-title {
  margin: 0 !important;
  padding: 0 !important;
  font-size: 15px !important;
  line-height: 1.2 !important;
  font-weight: 600 !important;
  color: #ffffff !important;
  text-align: left !important;
  white-space: nowrap !important;
  width: auto !important;
}

/* author title */
.meta-author .elementor-widget-text-editor,
.meta-author .elementor-widget-text-editor p {
  margin: 0 !important;
  padding: 0 !important;
  font-size: 14px !important;
  line-height: 1.2 !important;
  color: rgba(255,255,255,0.68) !important;
  text-align: left !important;
  white-space: nowrap !important;
  width: auto !important;
}

.post-sidebar .author-card .author-header .elementor-image {
  border-radius: 50%;
  overflow: hidden;
}


/* =========================
   DATE / CATEGORY BLOCKS
========================= */
.meta-item {
  gap: 8px !important;
}

.meta-item .elementor-widget-image,
.meta-item .elementor-image {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  flex: 0 0 auto !important;
}

.meta-item img {
  width: 16px !important;
  height: 16px !important;
  min-width: 16px !important;
  min-height: 16px !important;
  object-fit: contain !important;
  display: block !important;
  transform: translateY(0.5px) !important;
  margin: 0 !important;
}

.meta-item .elementor-widget-container {
  width: auto !important;
  justify-content: flex-start !important;
  text-align: left !important;
}

/* metadata text */
.meta-item .elementor-post-info,
.meta-item .elementor-post-info a,
.meta-item .elementor-post-info span,
.meta-item .elementor-heading-title,
.meta-item .elementor-widget-text-editor,
.meta-item .elementor-widget-text-editor p {
  display: inline-flex !important;
  align-items: center !important;
  width: auto !important;
  margin: 0 !important;
  padding: 0 !important;
  font-size: 15px !important;
  line-height: 1.2 !important;
  color: #A0A7B5 !important;
  white-space: nowrap !important;
  text-align: left !important;
}


/* =========================
   RESPONSIVE
========================= */
@media (max-width: 1024px) {
  .meta-row {
    flex-wrap: wrap !important;
    row-gap: 12px !important;
  }
}



/* =====================================================================
   SIDEBAR AUTHOR CARD — FINAL POLISH OVERRIDES
   ---------------------------------------------------------------------
   PURPOSE:
   This is a non-destructive refinement layer for the sidebar author card.
   It corrects the remaining visual gaps vs. the Figma comp:
   - smaller avatar
   - tighter header hierarchy
   - corrected role/company colors
   - smaller body copy with better wrapping
   - smaller pills with distinct purple/pink treatments
   - restored gradient CTA button

   IMPORTANT:
   - Paste this at the VERY BOTTOM of your stylesheet
   - Do NOT delete earlier code
   - These rules intentionally override earlier sidebar author-card styles
===================================================================== */


/* -------------------------------------
   Card spacing density
   Tightens the overall rhythm so the card
   feels closer to the comp.
------------------------------------- */
.post-sidebar .author-card {
  gap: 14px !important;
  padding: 20px !important;
}


/* -------------------------------------
   Header row
   Brings avatar + text closer together and
   keeps them vertically centered.
------------------------------------- */
.post-sidebar .author-card .author-header {
  display: flex !important;
  align-items: center !important;
  gap: 12px !important;
  margin: 0 !important;
  padding: 0 !important;
}


/* -------------------------------------
   Avatar size + crop
   The current avatar is too large. This
   scales it down and keeps the circular crop.
------------------------------------- */
.post-sidebar .author-card .author-header > .elementor-widget-image,
.post-sidebar .author-card .author-header > .elementor-widget-image .elementor-widget-container,
.post-sidebar .author-card .author-header > .elementor-widget-image .elementor-image {
  width: 48px !important;
  min-width: 48px !important;
  max-width: 48px !important;
  height: 48px !important;
  min-height: 48px !important;
  max-height: 48px !important;
  flex: 0 0 48px !important;
  border-radius: 50% !important;
  overflow: hidden !important;
  margin: 0 !important;
  padding: 0 !important;
}

.post-sidebar .author-card .author-header > .elementor-widget-image img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  border-radius: 50% !important;
  display: block !important;
  margin: 0 !important;
}


/* -------------------------------------
   Header text stack
   Targets the second container in the header
   and tightens the vertical spacing.
------------------------------------- */
.post-sidebar .author-card .author-header > .e-con:last-child {
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
  gap: 2px !important;
  min-width: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
}


/* -------------------------------------
   Name
   Stronger hierarchy, closer to comp.
------------------------------------- */
.post-sidebar .author-card .author-header .elementor-heading-title {
  font-family: 'Inter', sans-serif !important;
  font-size: 16px !important;
  font-weight: 700 !important;
  line-height: 1.15 !important;
  letter-spacing: 0 !important;
  color: #ffffff !important;
  margin: 0 !important;
  padding: 0 !important;
  white-space: nowrap !important;
}


/* -------------------------------------
   Role and company
   Ensures the first text line is pink and the
   second line is muted gray, with proper size.
------------------------------------- */
.post-sidebar .author-card .author-header .elementor-widget-text-editor {
  margin: 0 !important;
  padding: 0 !important;
}

.post-sidebar .author-card .author-header .elementor-widget-text-editor p {
  margin: 0 !important;
  padding: 0 !important;
  font-family: 'Inter', sans-serif !important;
  letter-spacing: 0 !important;
}

/* First text editor under the name = role */
.post-sidebar .author-card .author-header .elementor-widget-text-editor:first-of-type p {
  font-size: 13px !important;
  line-height: 1.2 !important;
  font-weight: 500 !important;
  color: #ec4899 !important;
}

/* Second text editor under the role = company */
.post-sidebar .author-card .author-header .elementor-widget-text-editor:last-of-type p {
  font-size: 13px !important;
  line-height: 1.2 !important;
  font-weight: 400 !important;
  color: rgba(255,255,255,0.58) !important;
}


/* -------------------------------------
   Body copy
   Current paragraph is too large and breaking
   awkwardly. This reduces size and line height,
   and prevents odd word wrapping behavior.
------------------------------------- */
.post-sidebar .author-card .author-bio,
.post-sidebar .author-card .author-bio p {
  font-family: 'Inter', sans-serif !important;
  font-size: 13px !important;
  line-height: 1.65 !important;
  font-weight: 400 !important;
  letter-spacing: 0 !important;
  color: rgba(255,255,255,0.78) !important;
  margin: 0 !important;
  padding: 0 !important;
  max-width: 100% !important;
  word-break: normal !important;
  overflow-wrap: normal !important;
  hyphens: none !important;
}


/* -------------------------------------
   Badge row
   Keeps both pills on one row with tighter
   spacing and removes oversized pill feel.
------------------------------------- */
.post-sidebar .author-card .author-badges {
  display: flex !important;
  flex-wrap: nowrap !important;
  align-items: center !important;
  gap: 8px !important;
  margin: 0 !important;
  padding: 0 !important;
}


/* -------------------------------------
   Base pill button sizing
   Shrinks the pills and aligns the text more
   closely to the comp.
------------------------------------- */
.post-sidebar .author-card .author-badges .elementor-button {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  height: 30px !important;
  min-height: 30px !important;
  padding: 0 12px !important;
  border-radius: 999px !important;
  font-size: 11px !important;
  line-height: 1 !important;
  font-weight: 600 !important;
  letter-spacing: 0.08em !important;
  box-shadow: none !important;
  text-transform: none !important;
}


/* -------------------------------------
   Distinct pill colors
   The comp uses two different treatments:
   - first pill = purple
   - second pill = pink
   These .elementor-kit-8s aim at the first and second
   badge widgets more reliably than nth-child
   on the button itself.
------------------------------------- */
.post-sidebar .author-card .author-badges > *:first-child .elementor-button {
  color: #8b5cf6 !important;
  border: 1px solid rgba(139,92,246,0.38) !important;
  background: rgba(139,92,246,0.08) !important;
}

.post-sidebar .author-card .author-badges > *:last-child .elementor-button {
  color: #ec4899 !important;
  border: 1px solid rgba(236,72,153,0.38) !important;
  background: rgba(236,72,153,0.08) !important;
}


/* -------------------------------------
   CTA spacing
   Keeps the button visually anchored under
   the pills, like the comp.
------------------------------------- */
.post-sidebar .author-card .author-cta {
  width: 100% !important;
  margin-top: 4px !important;
}


/* -------------------------------------
   CTA gradient button
   Restores the intended gradient treatment
   and ensures global Elementor button styles
   do not flatten it.
------------------------------------- */
.post-sidebar .author-card .author-cta .elementor-button,
.post-sidebar .author-card .author-cta .elementor-button:visited,
.post-sidebar .author-card .author-cta .elementor-button:hover,
.post-sidebar .author-card .author-cta .elementor-button:focus {
  width: 100% !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-height: 54px !important;
  padding: 0 20px !important;
  border-radius: 999px !important;
  border: none !important;
  color: #ffffff !important;
  font-size: 14px !important;
  font-weight: 700 !important;
  line-height: 1 !important;
  text-decoration: none !important;
  background: linear-gradient(90deg, #5b5cf0 0%, #8b4df5 55%, #a44cf5 100%) !important;
  box-shadow: 0 10px 24px rgba(91,92,240,0.28) !important;
}


/* -------------------------------------
   Optional subtle CTA glow
   Keeps the button premium-looking without
   overpowering the card.
------------------------------------- */
.post-sidebar .author-card .author-cta .elementor-button::before {
  content: "" !important;
  position: absolute !important;
  inset: -4px !important;
  border-radius: 999px !important;
  background: radial-gradient(circle, rgba(124,92,255,0.22), transparent 65%) !important;
  z-index: -1 !important;
  opacity: 1 !important;
}

/* =====================================================================
   AUTHOR CARD — FIX HEADING GAP + TYPOGRAPHY NORMALIZATION
   ---------------------------------------------------------------------
   PURPOSE:
   Fix large vertical spacing caused by global heading styles (h2/h3)
   leaking into the author card.
===================================================================== */


/* -------------------------------------
   Force header headings to behave like inline text,
   NOT large page headings
------------------------------------- */
.post-sidebar .author-card .author-header h1,
.post-sidebar .author-card .author-header h2,
.post-sidebar .author-card .author-header h3,
.post-sidebar .author-card .author-header h4 {
  font-family: 'Inter', sans-serif !important;

  /* Reset inherited massive heading styles */
  line-height: 1.2 !important;
  margin: 0 !important;
  padding: 0 !important;
}


/* -------------------------------------
   Name (first heading)
------------------------------------- */
.post-sidebar .author-card .author-header .elementor-heading-title:first-of-type {
  font-size: 16px !important;
  font-weight: 700 !important;
  color: #ffffff !important;
}


/* -------------------------------------
   Role (second heading)
------------------------------------- */
.post-sidebar .author-card .author-header h2.elementor-heading-title {
  font-size: 14px !important;
  font-weight: 600 !important;
  color: #ec4899 !important;
  line-height: 1.2 !important;
}


/* -------------------------------------
   Company (3rd line)
------------------------------------- */
.post-sidebar .author-card .author-header h3.elementor-heading-title,
.post-sidebar .author-card .author-header .elementor-widget-text-editor:last-of-type p {
  font-size: 13px !important;
  font-weight: 400 !important;
  color: rgba(255,255,255,0.6) !important;
  line-height: 1.2 !important;
}

/* =====================================================================
   SIDEBAR AUTHOR CARD — SPACING RESET / GAP FIX
   ---------------------------------------------------------------------
   PURPOSE:
   This block removes leftover Elementor container/widget spacing inside
   the sidebar author card. The current large vertical gap is most likely
   coming from default container gaps, widget margins, or inherited
   spacing between the header, bio, badges, and CTA containers.

   IMPORTANT:
   - Add this at the VERY BOTTOM of the CSS file
   - Do NOT replace earlier code
   - This is a cleanup/override layer only
===================================================================== */


/* -------------------------------------
   Normalize the author-card container itself
------------------------------------- */
.post-sidebar .author-card {
  gap: 12px !important;                /* tighter vertical rhythm */
  --container-widget-space: 0px !important;
}


/* -------------------------------------
   Remove extra spacing from direct child sections
   (header / bio / badges / cta containers)
------------------------------------- */
.post-sidebar .author-card > .author-header,
.post-sidebar .author-card > .author-bio,
.post-sidebar .author-card > .author-badges,
.post-sidebar .author-card > .author-cta {
  margin: 0 !important;
  padding: 0 !important;
}


/* -------------------------------------
   Force the header container to stop creating
   extra block height
------------------------------------- */
.post-sidebar .author-card .author-header {
  min-height: 0 !important;
  height: auto !important;
  margin-bottom: 0 !important;
  padding-bottom: 0 !important;
  gap: 10px !important;
  align-items: flex-start !important;
}


/* -------------------------------------
   Remove bottom margin/padding from all widgets
   inside the header row
------------------------------------- */
.post-sidebar .author-card .author-header .elementor-widget,
.post-sidebar .author-card .author-header .elementor-widget-container,
.post-sidebar .author-card .author-header .elementor-heading,
.post-sidebar .author-card .author-header .elementor-widget-heading,
.post-sidebar .author-card .author-header .elementor-widget-text-editor,
.post-sidebar .author-card .author-header .elementor-widget-image {
  margin: 0 !important;
  padding: 0 !important;
}


/* -------------------------------------
   Collapse the text column inside the header
   so the name / title / company stack tightly
------------------------------------- */
.post-sidebar .author-card .author-header > .e-con:last-child > * {
  gap: 0 !important;
  row-gap: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
}


/* -------------------------------------
   Remove margin from heading/text elements
   inside the header stack
------------------------------------- */
.post-sidebar .author-card .author-header h1,
.post-sidebar .author-card .author-header h2,
.post-sidebar .author-card .author-header h3,
.post-sidebar .author-card .author-header h4,
.post-sidebar .author-card .author-header p {
  margin: 0 !important;
  padding: 0 !important;
}


/* -------------------------------------
   Bio container reset
   Removes hidden top/bottom spacing between
   the header and paragraph block
------------------------------------- */
.post-sidebar .author-card .author-bio,
.post-sidebar .author-card .author-bio .elementor-widget,
.post-sidebar .author-card .author-bio .elementor-widget-container,
.post-sidebar .author-card .author-bio p {
  margin: 0 !important;
  padding: 0 !important;
}


/* -------------------------------------
   Bio paragraph sizing / wrapping refinement
------------------------------------- */
.post-sidebar .author-card .author-bio,
.post-sidebar .author-card .author-bio p {
  font-size: 13px !important;
  line-height: 1.55 !important;
  max-width: 100% !important;
  word-break: normal !important;
  overflow-wrap: break-word !important;
  hyphens: none !important;
}


/* -------------------------------------
   Tighten the gap below the bio before pills
------------------------------------- */
.post-sidebar .author-card .author-badges {
  margin-top: 2px !important;
  gap: 8px !important;
}


/* -------------------------------------
   Tighten CTA spacing so it sits closer to pills
------------------------------------- */
.post-sidebar .author-card .author-cta {
  margin-top: 2px !important;
}

/* =====================================================================
   KILL ELEMENTOR CONTAINER GAP INSIDE AUTHOR HEADER
===================================================================== */

/* THIS is the real gap cause */
.post-sidebar .author-card .author-header {
  gap: 6px !important;              /* reduce row spacing */
}

/* THIS is the CRITICAL fix (vertical stack inside header) */
.post-sidebar .author-card .author-header > .e-con:last-child {
  display: flex !important;
  flex-direction: column !important;

  gap: 2px !important;              /* tight stacking like Figma */
  row-gap: 2px !important;

  /* IMPORTANT: this overrides Elementor internal spacing */
  --container-widget-space: 0px !important;
}


/* KILL Elementor widget spacing inside that stack */
.post-sidebar .author-card .author-header > .e-con:last-child > * {
  margin: 0 !important;
  padding: 0 !important;
}


/* KILL hidden Elementor spacing layer */
.post-sidebar .author-card .author-header .elementor-widget,
.post-sidebar .author-card .author-header .elementor-widget-container {

}


/* =====================================================================
   AUTHOR CARD — FINAL TYPOGRAPHY (CLASS-BASED, CONTROLLED)
   ---------------------------------------------------------------------
   PURPOSE:
   Replace fragile positional styling with explicit class control.
   Ensures pixel-level match to Figma for:
   - name
   - role
   - company
===================================================================== */

/* Stack control */
.post-sidebar .author-card .author-meta {
  display: flex !important;
  flex-direction: column !important;
  gap: 2px !important;
}


/* =====================================================================
   AUTHOR CARD — FINAL TYPOGRAPHY (TARGET REAL TEXT NODE)
===================================================================== */

/* RESET: kill Elementor spacing */
.post-sidebar .author-card .author-header .elementor-widget-container,
.post-sidebar .author-card .elementor-heading-title,
.post-sidebar .author-card p {
  margin: 0 !important;
  padding: 0 !important;
}


/* HEADER LAYOUT */
.post-sidebar .author-card .author-header {
  display: flex;
  align-items: flex-start; /* matches tighter Figma alignment */
  gap: 12px;
}


/* NAME */
.post-sidebar .author-card .author-name .elementor-heading-title {
  font-family: 'Inter', sans-serif !important;
  font-size: 16px !important;
  font-weight: 700 !important;
  line-height: 1.1em !important;
  color: #ffffff !important;
  margin-bottom: 4px !important;
}


/* ROLE */
.post-sidebar .author-card .author-role .elementor-heading-title {
  font-family: 'Inter', sans-serif !important;
  font-size: 13px !important;
  font-weight: 600 !important;
  line-height: 1.2em !important;
  color: #FF2D87 !important;
  margin-bottom: 2px !important;
}


/* COMPANY */
.post-sidebar .author-card .author-company .elementor-heading-title,
.post-sidebar .author-card .author-company p {
  font-family: 'Inter', sans-serif !important;
  font-size: 12px !important;
  font-weight: 400 !important;
  line-height: 1.2em !important;
  color: #B0B0C0 !important;
}


/* =====================================================================
   ASSESSMENT CARD (GRADIENT – FIGMA MATCH)
===================================================================== */

.assessment-card {
  /* gradient background */
  background: linear-gradient(135deg, #7c3aed 0%, #ec4899 100%);
  border-radius: 20px;
  padding: 24px;
  display: flex;
  flex-direction: column;
  gap: 16px;
  color: #ffffff;
}


/* -------------------------------------
   TITLE
------------------------------------- */
.assessment-card h2,
.assessment-card .elementor-heading-title {
  font-family: 'Inter', sans-serif;
  font-size: 20px;
  font-weight: 700;
  line-height: 1.25;
  color: #ffffff;
  margin: 0;
}


/* -------------------------------------
   BODY COPY
------------------------------------- */
.assessment-card p {
  font-size: 14px;
  line-height: 1.6;
  color: rgba(255,255,255,0.85);
  margin: 0;
}


/* -------------------------------------
   BUTTON WRAPPER (spacing fix)
------------------------------------- */
.assessment-card .elementor-button-wrapper {
  margin-top: 8px;
}


/* -------------------------------------
   BUTTON (white pill)
------------------------------------- */
.assessment-card .elementor-button {
  width: 100%;
  height: 48px;

  border-radius: 999px;
  background: #ffffff !important;

  color: #7c3aed !important;
  font-weight: 600;
  font-size: 14px;

  display: flex;
  align-items: center;
  justify-content: center;

  border: none !important;
  box-shadow: none;
}


/* -------------------------------------
   BUTTON HOVER (subtle)
------------------------------------- */
.assessment-card .elementor-button:hover {
  transform: translateY(-1px);
  background: #f9f9ff !important;
}

/* =====================================================================
   SIDEBAR CTA — FINAL POLISH (FIGMA MATCH)
===================================================================== */


/* -------------------------------------
   TITLE FIX (kills any inherited gradient/text styles)
------------------------------------- */
.sidebar-cta h2,
.sidebar-cta .elementor-heading-title {
  color: #ffffff !important;
  background: none !important;
  -webkit-text-fill-color: #ffffff !important;

  font-size: 22px !important;
  line-height: 1.3 !important;
  font-weight: 700 !important;

  max-width: 260px;
}


/* -------------------------------------
   PARAGRAPH (softer + more readable)
------------------------------------- */
.sidebar-cta p {
  font-size: 13px !important;
  line-height: 21px !important;
  color: #FFFFFF !important;

  max-width: 260px;
}


/* -------------------------------------
   BUTTON WRAPPER (centers + keeps clean)
------------------------------------- */
.sidebar-cta .elementor-button-wrapper {
  width: 100%;
}



/* -------------------------------------
   FORCE BUTTON TEXT TO STAY INLINE
------------------------------------- */
.sidebar-cta .elementor-button span {
  white-space: nowrap !important;
}


/* -------------------------------------
   SPACING TIGHTEN (matches your Figma spacing 24/16/10)
------------------------------------- */
.sidebar-cta {
  padding: 24px !important;
  gap: 16px !important;
}

/* =====================================================================
   CTA ASSESSMENT TITLE (FIGMA MATCH)
   ---------------------------------------------------------------------
   PURPOSE:
   Applies exact heading styling to the "Start Your Governance Assessment"
   text block, independent of global H1–H6 styles.
===================================================================== */

/* CTA TITLE — FILSON SOFT (FIGMA MATCH) */
.cta-assessment-title,
.cta-assessment-title * {

  font-family: 'Filson Soft', sans-serif !important;

  font-size: 22px !important;
  font-weight: 700 !important;
  line-height: 1.25 !important;

  color: #ffffff !important;
  background: none !important;
  -webkit-text-fill-color: #ffffff !important;

  margin: 0 !important;
  padding: 0 !important;

  max-width: 260px;
}


/* ==========================================
   CTA BUTTON — FIGMA MATCH (FINAL)
========================================== */

/* BUTTON SHELL */
.sidebar-cta .cta-assessment-button .elementor-button {
  width: auto !important;
  min-width: fit-content !important;
  height: 40px !important;
  padding: 0 20px !important;

  display: flex !important;
  align-items: center !important;
  justify-content: center !important;

  border-radius: 999px !important;
  border: none !important;
  box-shadow: none !important;

  background: #ffffff !important;

  font-size: 0 !important;
}


/*  CRITICAL — kills wrapping */
.sidebar-cta .cta-assessment-button .elementor-button-content-wrapper,
.sidebar-cta .cta-assessment-button .elementor-button-text {
  white-space: nowrap !important;
}


/* TEXT */
.sidebar-cta .cta-assessment-button .elementor-button-text {
  font-family: 'Filson Soft', sans-serif !important;
  font-size: 12px !important;
  font-weight: 600 !important;

  line-height: 1 !important;
  letter-spacing: 0 !important;

  color: #7B2FFF !important;
}



/* Map Elementor tags to DSS pill system in the related artical section on every post*/
.pill-row .elementor-post-info__terms a {
  padding: 6px 14px;
  border-radius: 999px;
  font-size: 12px;
  border: 1px solid;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  text-decoration: none;
}



/* ==========================================
   RELATED ARTICLE LOOP ITEM — FINAL
   One row only (used inside Loop Grid)
========================================== */

/* The row for one related article */
.related-article-item {
  display: flex;
  align-items: center;
  gap: 10px !important; 
}

/* Left image column */
.related-article-image,
.related-article-image .elementor-widget-container,
.related-article-image .elementor-image {
  width: 100px !important;
  min-width: 100px !important;
  max-width: 100px !important;
}

.related-article-image img {
  width: 72px !important;
  height: 54px !important; 
  padding: 0px;
  margin: 0px;
  object-fit: cover !important;
  border-radius: 14px !important;
}

/* Right text column */
.related-article-item .e-con:last-child {
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
  gap: 8px !important;
  min-width: 0 !important;
}

/* Put tags above the title */
.pill-row {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 8px !important;
  margin: 0 0 4px 0 !important;
}

/* Style dynamic tag links coming from Elementor Post Info */
.pill-row .elementor-post-info__terms {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 8px !important;
}

.pill-row .elementor-post-info__terms a {
  display: inline-flex !important;
  align-items: center !important;
  padding: 8px 16px !important;
  border-radius: 999px !important;
  font-family: 'Inter', sans-serif !important;
  font-size: 12px !important;
  font-weight: 700 !important;
  line-height: 1 !important;
  letter-spacing: 0.04em !important;
  text-transform: uppercase !important;
  text-decoration: none !important;
  border: none !important;
}

/* Tag color mapping */
.pill-row .elementor-post-info__terms a[href*="iso"] {
  color: #7c3aed !important;
  background: rgba(124, 58, 237, 0.18) !important;
}

.pill-row .elementor-post-info__terms a[href*="governance"] {
  color: #ec4899 !important;
  background: rgba(236, 72, 153, 0.18) !important;
}

.pill-row .elementor-post-info__terms a[href*="risk"] {
  color: #5eead4 !important;
  background: rgba(20, 184, 166, 0.18) !important;
}

.pill-row .elementor-post-info__terms a[href*="audit"] {
  color: #ec4899 !important;
  background: rgba(236, 72, 153, 0.18) !important;
}

/* Kill gigantic inherited heading styles */
.related-article-title,
.related-article-title * {
  font-size: 22px !important;
  line-height: 1.3 !important;
  max-width: 260px !important; /* KEY FIX */
}

/* Make sure title wraps normally */
.related-article-title .elementor-heading-title {
  white-space: normal !important;
  word-break: normal !important;
  overflow-wrap: break-word !important;
}

/* Optional hover polish */
.related-article-item:hover {
  transform: translateX(2px);
  transition: transform 0.18s ease;
}


.related-articles-card {
  background: linear-gradient(135deg, #0B1220 0%, #0E172A 100%);
  border-radius: 28px;
  padding: 28px;
  margin-top: 24px;
}

.related-articles-card h2 {
  color: #ffffff;
  margin-bottom: 20px;
}


/* === FORCE TAG PILL CONVERSION (FINAL FIX) === */

/* TAG CONTAINER */
.related-article-tags .elementor-post-info__terms {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 8px !important;
}

/* kill commas */
.related-article-tags .elementor-post-info__item:after {
  display: none !important;
  content: "" !important;
}

/* BASE PILL */
.related-article-tags a {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;

  padding: 6px 14px !important;
  border-radius: 999px !important;

  font-size: 11px !important;
  font-weight: 600 !important;
  letter-spacing: 0.04em !important;
  text-transform: uppercase !important;

  text-decoration: none !important;
  line-height: 1 !important;
}

/* ISO (purple) */
.related-article-tags a[href*="iso"] {
  background: rgba(124, 58, 237, 0.28) !important;
  color: #a78bfa !important;
}

/* GOVERNANCE / AUDIT (pink) */
.related-article-tags a[href*="governance"],
.related-article-tags a[href*="audit"] {
  background: rgba(236, 72, 153, 0.25) !important;
  color: #f472b6 !important;
}

/* RISK (teal/green) */
.related-article-tags a[href*="risk"] {
  background: rgba(20, 184, 166, 0.25) !important;
  color: #5eead4 !important;
}

.related-articles-card .elementor-heading-title {
  color: #ffffff !important;
}



.related-article-text {
  flex: 1 1 auto;
  display: flex;
  flex-direction: column;
  gap: 6px;
}



/* =========================================================
   RELATED ARTICLES — Figma Match
========================================================= */

/* Card padding */
.related-articles-card {
  padding: 28px !important;
}

/* Each row */
.related-article-item {
  display: flex;
  align-items: center;          /* vertical alignment fix */
  gap: 14px;                    /* space between image + text */
  margin-bottom: 18px;          /* row spacing */
}

/* Remove extra bottom margin from last item */
.related-article-item:last-child {
  margin-bottom: 0;
}

/* Image */
.related-article-image img {
  width: 72px !important;
  height: 54px !important;
  border-radius: 14px;
  object-fit: cover;
  display: block;
}

/* Text container */
.related-article-text {
  display: flex;
  flex-direction: column;
  gap: 4px;                     /* controls tag → title spacing */
  min-width: 0;
}

/* TAG / PILL */
.related-article-tags a {
  padding: 6px 12px !important;
  font-size: 11px !important;
  line-height: 1;
}

/* TITLE */
.related-article-title,
.related-article-title * {
  font-size: 16px !important;
  line-height: 1.3 !important;
  margin: 0 !important;
}

/* CRITICAL: kill Elementor spacing */
.related-article-item .elementor-widget,
.related-article-item .elementor-widget-container,
.related-article-item h1,
.related-article-item h2,
.related-article-item h3,
.related-article-item p {
  margin: 0 !important;
  padding: 0 !important;
}

/* do not remove, this eliminates the bullet in the pill on tags*/
.meta-pill--category::before {
  display: none !important;
  content: none !important;
}

/* =========================================================
   QUOTE BLOCK — HARD OVERRIDE (FIGMA MATCH)
========================================================= */

.wp-block-quote {
  background: linear-gradient(180deg, #12172A 0%, #0B0F1C 100%) !important;
  border-radius: 20px !important;
  padding: 24px 32px !important;
  position: relative !important;
  margin: 40px 0 !important;
  overflow: hidden;
}


/* CRITICAL: override ANY existing blockquote rules */
.wp-block-quote blockquote {
  margin: 0 !important;
  padding: 0 !important;
  background: none !important;
}

/* Quote text */
.wp-block-quote p {
  margin: 0 !important;
  padding-left: 28px !important;

  font-family: 'Inter', sans-serif !important;
  font-size: 17px !important;
  line-height: 1.65 !important;
  font-weight: 600 !important;
  font-style: italic !important;

  color: #E5E7EB !important;
}

/* Citation */
.wp-block-quote cite {
  display: block !important;

  margin-top: 12px !important;
  padding-left: 28px !important;

  font-family: 'Inter', sans-serif !important;
  font-size: 13px !important;     /* smaller */
  line-height: 1.4 !important;

  font-weight: 500 !important;    /* lighter than quote */
  font-style: normal !important;  /* REMOVE italics */

  color: #EC4899 !important;      /* pink accent */
}

/* FORCE correct attribution styling */
.wp-block-quote cite {
  all: unset;
  display: block !important;

  margin-top: 12px !important;
  padding-left: 28px !important;

  font-family: 'Inter', sans-serif !important;
  font-size: 13px !important;
  line-height: 1.4 !important;

  font-weight: 500 !important;
  font-style: normal !important;

  color: #EC4899 !important;
}

/* TARGET attribution (second paragraph) */
.wp-block-quote p:last-of-type {
  margin-top: 12px !important;
  padding-left: 28px !important;

  font-size: 13px !important;
  line-height: 1.4 !important;

  font-weight: 500 !important;
  font-style: normal !important;  /* remove italic */

  color: #EC4899 !important;       /* pink */
}



/* ==========================================
   FORCE STAT VALUE SIZE (FINAL FIX — H2 OVERRIDE)
========================================== */

.stats-block h1,
.stats-block h2,
.stats-block h3 {
  font-family: 'Inter', sans-serif !important;

  font-size: 40px !important;   /* ← this is the real fix */
  line-height: 1.05 !important;
  font-weight: 800 !important;
  letter-spacing: -0.6px !important;

  color: #ffffff !important;

  margin: 0 0 12px 0 !important;
}

/* ==========================================
   STATS PARAGRAPH — HARD OVERRIDE (FINAL)
========================================== */

.wp-block-post-content .stats-block p,
.wp-block-post-content .stats-card p {
  font-family: 'Inter', sans-serif !important;

  font-size: 14px !important;     
  line-height: 1.45 !important;   

  font-weight: 400 !important;
  letter-spacing: 0 !important;

  color: rgba(255,255,255,0.72) !important;

  margin: 0 !important;
}

/* ==========================================
   STATS DESC — HARD TARGET (FINAL FIX)
========================================== */

.stats-block .wp-block-column p,
.stats-card .wp-block-column p {
  font-family: 'Inter', sans-serif !important;

  font-size: 14px !important;    
  line-height: 1.4 !important;  
  font-weight: 400 !important;

  letter-spacing: 0.01em !important;

  color: rgba(255,255,255,0.7) !important;

  margin: 0 !important;
}

/* ==========================================
   STATS DESCRIPTION — REAL TARGET FIX
========================================== */

.stats-block .elementor-widget-text-editor,
.stats-block .elementor-widget-text-editor p,
.stats-block .elementor-widget-text-editor div,

.stats-card .elementor-widget-text-editor,
.stats-card .elementor-widget-text-editor p,
.stats-card .elementor-widget-text-editor div {

  font-family: 'Inter', sans-serif !important;

  font-size: 14px !important;
  line-height: 1.4 !important;

  font-weight: 400 !important;
  letter-spacing: 0 !important;

  color: rgba(255,255,255,0.72) !important;

  margin: 0 !important;
  padding: 0 !important;
}

.stats-block p,
.stats-card p {
  font-family: 'Inter', sans-serif !important;

  font-size: 14px !important;
  line-height: 1.45 !important;

  font-weight: 400 !important;
  letter-spacing: 0 !important;

  color: rgba(255,255,255,0.72) !important;

  margin: 0 !important;
}

/* =========================================================
   RELATED ARTICLES — SPACING + ALIGNMENT FIX (FINAL)
   PURPOSE:
   - remove phantom spacing
   - fix left alignment
   - normalize vertical rhythm
========================================================= */

/* CARD */
.related-articles-card {
  padding: 24px !important;   /* slightly tighter than 28 to match comp */
  margin-top: 24px !important;

  display: flex;
  flex-direction: column;
  gap: 18px;                  /* this now controls ALL row spacing */
}


/* REMOVE Elementor spacing */
.related-articles-card .elementor-widget,
.related-articles-card .elementor-widget-container,
.related-articles-card .elementor-container,
.related-articles-card .elementor-column {
  margin: 0 !important;
  padding: 0 !important;
}





/* IMAGE COLUMN — CRITICAL FIX */
.related-article-image,
.related-article-image .elementor-widget-container,
.related-article-image .elementor-image {
  width: auto !important;         /* ✅ REMOVE 100px constraint */
  min-width: auto !important;
  max-width: none !important;
}

.related-article-image img {
  width: 72px !important;
  height: 54px !important;
  border-radius: 14px;
  object-fit: cover;
  display: block;
}


/* TEXT COLUMN */
.related-article-text {
  display: flex;
  flex-direction: column;
  gap: 4px !important;

  min-width: 0;
}


/* TITLE */
.related-article-title,
.related-article-title * {
  margin: 0 !important;
  padding: 0 !important;

  font-size: 16px !important;
  line-height: 1.3 !important;
}


/* TAGS */
.related-article-tags {
  margin: 0 !important;
  padding: 0 !important;
}


/* REMOVE LAST ROW EXTRA SPACE */
.related-article-item:last-child {
  margin-bottom: 0 !important;
}

/* =========================================================
   RELATED ARTICLES — SINGLE SOURCE OF TRUTH
   PURPOSE:
   - fixes loop wrapper spacing
   - fixes image/text alignment
   - fixes card padding
   - removes phantom margins/padding
========================================================= */

/* OUTER CARD */
.related-articles-card {
  background: linear-gradient(135deg, #0B1220 0%, #0E172A 100%) !important;
  border-radius: 28px !important;
  padding: 24px !important;
  margin-top: 24px !important;
  overflow: hidden !important;
}

.related-articles-card h2,
.related-articles-card .elementor-heading-title {
  color: #ffffff !important;
  margin: 0 0 18px 0 !important;
  padding: 0 !important;
  font-size: 18px !important;
  line-height: 1.2 !important;
  font-weight: 700 !important;
}

/* ==========================================
   CRITICAL: RESET ELEMENTOR LOOP WRAPPERS
========================================== */
.related-articles-card .elementor-widget,
.related-articles-card .elementor-widget-container,
.related-articles-card .elementor-container,
.related-articles-card .elementor-column,
.related-articles-card .e-con,
.related-articles-card .e-child,
.related-articles-card .elementor-loop-container,
.related-articles-card .e-loop-item,
.related-articles-card .elementor-grid,
.related-articles-card .elementor-grid-item {
  margin: 0 !important;
  padding: 0 !important;
  min-height: 0 !important;
  height: auto !important;
  background: transparent !important;
  box-shadow: none !important;
  border: none !important;
}

/* loop list spacing */
.related-articles-card .elementor-loop-container,
.related-articles-card .elementor-grid {
  display: flex !important;
  flex-direction: column !important;
  gap: 16px !important;
}

/* each loop item */
.related-articles-card .e-loop-item,
.related-articles-card .elementor-grid-item {
  margin: 0 !important;
  padding: 0 !important;
}

/* ==========================================
   ACTUAL RELATED ARTICLE ROW
========================================== */
.related-article-item {
  display: grid !important;
  grid-template-columns: 72px minmax(0, 1fr) !important;
  column-gap: 14px !important;
  align-items: center !important;

  margin: 0 !important;
  padding: 0 !important;
  min-height: 0 !important;
  background: transparent !important;
}

/* =========================================================
   RELATED ARTICLES — HARD WRAPPER COLLAPSE FIX
   PURPOSE:
   - collapse oversized Elementor loop item boxes
   - remove inherited padding/margins
   - force compact row layout
   - match Figma spacing more closely
========================================================= */

/* If the related card lives inside sidebar-related,
   kill the generic white card shell for this section only */
.sidebar-related {
  background: transparent !important;
  padding: 0 !important;
  border-radius: 0 !important;
}

/* Outer dark card */
.sidebar-related .related-articles-card,
.related-articles-card {
  background: linear-gradient(135deg, #0B1220 0%, #0E172A 100%) !important;
  border-radius: 28px !important;
  padding: 24px !important;
  margin-top: 24px !important;
  overflow: hidden !important;
}

/* Only the section heading should get heading spacing */
.sidebar-related .related-articles-card > h2,
.related-articles-card > h2,
.related-articles-card > .elementor-widget-heading .elementor-heading-title {
  margin: 0 0 18px 0 !important;
  padding: 0 !important;
  font-size: 18px !important;
  line-height: 1.2 !important;
  font-weight: 700 !important;
  color: #ffffff !important;
}

/* ==========================================
   HARD RESET: all wrappers inside the block
========================================== */
.sidebar-related .related-articles-card .elementor-widget,
.sidebar-related .related-articles-card .elementor-widget-container,
.sidebar-related .related-articles-card .elementor-container,
.sidebar-related .related-articles-card .elementor-column,
.sidebar-related .related-articles-card .e-con,
.sidebar-related .related-articles-card .e-child,
.sidebar-related .related-articles-card .elementor-loop-container,
.sidebar-related .related-articles-card .elementor-loop-container > *,
.sidebar-related .related-articles-card .e-loop-item,
.sidebar-related .related-articles-card .elementor-grid,
.sidebar-related .related-articles-card .elementor-grid-item,
.related-articles-card .elementor-widget,
.related-articles-card .elementor-widget-container,
.related-articles-card .elementor-container,
.related-articles-card .elementor-column,
.related-articles-card .e-con,
.related-articles-card .e-child,
.related-articles-card .elementor-loop-container,
.related-articles-card .elementor-loop-container > *,
.related-articles-card .e-loop-item,
.related-articles-card .elementor-grid,
.related-articles-card .elementor-grid-item {
  margin: 0 !important;
  padding: 0 !important;
  min-height: 0 !important;
  height: auto !important;
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
}

/* Force the list itself to stack tightly */
.sidebar-related .related-articles-card .elementor-loop-container,
.sidebar-related .related-articles-card .elementor-grid,
.related-articles-card .elementor-loop-container,
.related-articles-card .elementor-grid {
  display: flex !important;
  flex-direction: column !important;
  gap: 16px !important;
}

/* Kill extra spacing on each loop item wrapper */
.sidebar-related .related-articles-card .elementor-loop-container > *,
.related-articles-card .elementor-loop-container > *,
.sidebar-related .related-articles-card .e-loop-item,
.sidebar-related .related-articles-card .elementor-grid-item,
.related-articles-card .elementor-loop-container > *,
.related-articles-card .elementor-grid > *,
.related-articles-card .e-loop-item,
.related-articles-card .elementor-grid-item {
  align-self: stretch !important;
  justify-self: stretch !important;
  min-height: 0 !important;
  height: auto !important;
  padding: 0 !important;
  margin: 0 !important;
}

/* ==========================================
   FORCE THE REAL ROW TO BE COMPACT
========================================== */
.sidebar-related .related-article-item,
.related-article-item {
  display: grid !important;
  grid-template-columns: 72px minmax(0, 1fr) !important;
  column-gap: 14px !important;
  align-items: center !important;
  justify-items: start !important;

  min-height: 54px !important;
  height: auto !important;
  margin: 0 !important;
  padding: 0 !important;
  background: transparent !important;
}

/* Sometimes Elementor wraps the row one level deeper */
.sidebar-related .e-loop-item > .e-con:has(.related-article-item),
.related-articles-card .e-loop-item > .e-con:has(.related-article-item) {
  min-height: 0 !important;
  height: auto !important;
  padding: 0 !important;
  margin: 0 !important;
  background: transparent !important;
}

/* Image wrapper */
.sidebar-related .related-article-image,
.sidebar-related .related-article-image .elementor-widget-container,
.sidebar-related .related-article-image .elementor-image,
.related-article-image,
.related-article-image .elementor-widget-container,
.related-article-image .elementor-image {
  width: 72px !important;
  min-width: 72px !important;
  max-width: 72px !important;
  margin: 0 !important;
  padding: 0 !important;
}

/* Image */
.sidebar-related .related-article-image img,
.related-article-image img {
  width: 72px !important;
  height: 54px !important;
  display: block !important;
  object-fit: cover !important;
  border-radius: 14px !important;
  margin: 0 !important;
  padding: 0 !important;
}

/* Text column */
.sidebar-related .related-article-text,
.sidebar-related .related-article-item .e-con:last-child,
.related-article-text,
.related-article-item .e-con:last-child {
  display: flex !important;
  flex-direction: column !important;
  align-items: flex-start !important;
  justify-content: center !important;
  gap: 6px !important;
  min-width: 0 !important;
  min-height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
}

/* Remove inherited spacing inside row */
.sidebar-related .related-article-item .elementor-widget,
.sidebar-related .related-article-item .elementor-widget-container,
.sidebar-related .related-article-item h1,
.sidebar-related .related-article-item h2,
.sidebar-related .related-article-item h3,
.sidebar-related .related-article-item h4,
.sidebar-related .related-article-item p,
.sidebar-related .related-article-item a,
.related-article-item .elementor-widget,
.related-article-item .elementor-widget-container,
.related-article-item h1,
.related-article-item h2,
.related-article-item h3,
.related-article-item h4,
.related-article-item p,
.related-article-item a {
  margin: 0 !important;
  padding: 0 !important;
}

/* Tag row */
.sidebar-related .related-article-tags,
.sidebar-related .related-article-tags .elementor-widget-container,
.sidebar-related .related-article-tags .elementor-post-info,
.sidebar-related .related-article-tags .elementor-post-info__terms,
.related-article-tags,
.related-article-tags .elementor-widget-container,
.related-article-tags .elementor-post-info,
.related-article-tags .elementor-post-info__terms {
  display: flex !important;
  flex-wrap: wrap !important;
  align-items: center !important;
  gap: 8px !important;
  margin: 0 !important;
  padding: 0 !important;
}

/* Remove commas/separators */
.sidebar-related .related-article-tags .elementor-post-info__item:after,
.related-article-tags .elementor-post-info__item:after {
  content: none !important;
  display: none !important;
}

/* Pill base */
.sidebar-related .related-article-tags a,
.related-article-tags a {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  height: 28px !important;
  padding: 0 14px !important;
  border-radius: 999px !important;
  font-family: 'Inter', sans-serif !important;
  font-size: 11px !important;
  font-weight: 700 !important;
  line-height: 1 !important;
  letter-spacing: 0.04em !important;
  text-transform: uppercase !important;
  text-decoration: none !important;
  white-space: nowrap !important;
  border: none !important;
}

/* Tag colors */
.sidebar-related .related-article-tags a[href*="iso"],
.related-article-tags a[href*="iso"] {
  background: rgba(124, 58, 237, 0.24) !important;
  color: #A78BFA !important;
}

.sidebar-related .related-article-tags a[href*="governance"],
.sidebar-related .related-article-tags a[href*="audit"],
.related-article-tags a[href*="governance"],
.related-article-tags a[href*="audit"] {
  background: rgba(236, 72, 153, 0.22) !important;
  color: #F472B6 !important;
}

.sidebar-related .related-article-tags a[href*="risk"],
.related-article-tags a[href*="risk"] {
  background: rgba(20, 184, 166, 0.22) !important;
  color: #5EEAD4 !important;
}

/* Title */
.sidebar-related .related-article-title,
.sidebar-related .related-article-title .elementor-heading-title,
.sidebar-related .related-article-title * ,
.related-article-title,
.related-article-title .elementor-heading-title,
.related-article-title * {
  margin: 0 !important;
  padding: 0 !important;
  max-width: none !important;
  font-family: 'Inter', sans-serif !important;
  font-size: 16px !important;
  line-height: 1.3 !important;
  font-weight: 700 !important;
  color: #ffffff !important;
  white-space: normal !important;
  word-break: normal !important;
  overflow-wrap: break-word !important;
}

/* IMAGE */
.related-article-image,
.related-article-image .elementor-widget-container,
.related-article-image .elementor-image {
  width: 72px !important;
  min-width: 72px !important;
  max-width: 72px !important;
  margin: 0 !important;
  padding: 0 !important;
}

.related-article-image img {
  width: 72px !important;
  height: 54px !important;
  display: block !important;
  object-fit: cover !important;
  border-radius: 14px !important;
  margin: 0 !important;
  padding: 0 !important;
}

/* TEXT STACK */
.related-article-text,
.related-article-item .e-con:last-child {
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
  align-items: flex-start !important;
  gap: 6px !important;
  min-width: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
}

/* Remove inherited spacing inside the row */
.related-article-item .elementor-widget,
.related-article-item .elementor-widget-container,
.related-article-item h1,
.related-article-item h2,
.related-article-item h3,
.related-article-item h4,
.related-article-item p,
.related-article-item a {
  margin: 0 !important;
  padding: 0 !important;
}

/* TAG ROW */
.related-article-tags,
.related-article-tags .elementor-widget-container,
.related-article-tags .elementor-post-info,
.related-article-tags .elementor-post-info__terms {
  display: flex !important;
  flex-wrap: wrap !important;
  align-items: center !important;
  gap: 8px !important;
  margin: 0 !important;
  padding: 0 !important;
}

/* remove commas/separators from Elementor terms */
.related-article-tags .elementor-post-info__item:after,
.related-article-tags .elementor-post-info__terms a:after {
  content: none !important;
  display: none !important;
}

/* PILL BASE */
.related-article-tags a {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  height: 28px !important;
  padding: 0 14px !important;
  border-radius: 999px !important;

  font-family: 'Inter', sans-serif !important;
  font-size: 11px !important;
  font-weight: 700 !important;
  line-height: 1 !important;
  letter-spacing: 0.04em !important;
  text-transform: uppercase !important;
  text-decoration: none !important;
  white-space: nowrap !important;
  border: none !important;
}

/* tag colors */
.related-article-tags a[href*="iso"] {
  background: rgba(124, 58, 237, 0.24) !important;
  color: #A78BFA !important;
}

.related-article-tags a[href*="governance"],
.related-article-tags a[href*="audit"] {
  background: rgba(236, 72, 153, 0.22) !important;
  color: #F472B6 !important;
}

.related-article-tags a[href*="risk"] {
  background: rgba(20, 184, 166, 0.22) !important;
  color: #5EEAD4 !important;
}

/* TITLE */
.related-article-title,
.related-article-title .elementor-heading-title,
.related-article-title * {
  margin: 0 !important;
  padding: 0 !important;
  max-width: none !important;

  font-family: 'Inter', sans-serif !important;
  font-size: 16px !important;
  line-height: 1.3 !important;
  font-weight: 700 !important;
  color: #ffffff !important;

  white-space: normal !important;
  word-break: normal !important;
  overflow-wrap: break-word !important;
}

/* optional mild hover */
.related-article-item:hover {
  transform: translateX(2px);
  transition: transform 0.18s ease;
}

/* ==========================================
   RELATED ARTICLES — FINAL LOCK (DO NOT REMOVE)
========================================== */

/* FORCE FINAL LAYOUT */
.related-article-item {
  display: grid !important;
  grid-template-columns: 72px minmax(0, 1fr) !important;
  column-gap: 14px !important;
  align-items: center !important;
}

/* IMAGE */
.related-article-image,
.related-article-image .elementor-widget-container,
.related-article-image .elementor-image {
  width: 72px !important;
  min-width: 72px !important;
  max-width: 72px !important;
}

.related-article-image img {
  width: 72px !important;
  height: 54px !important;
  object-fit: cover !important;
  border-radius: 14px !important;
  display: block !important;
}

/* TEXT */
.related-article-text,
.related-article-item .e-con:last-child {
  display: flex !important;
  flex-direction: column !important;
  gap: 6px !important;
  justify-content: center !important;
}

/* TAGS */
.related-article-tags,
.related-article-tags .elementor-post-info__terms {
  display: flex !important;
  gap: 8px !important;
  flex-wrap: wrap !important;
}

/* TITLE */
.related-article-title,
.related-article-title * {
  font-size: 16px !important;
  line-height: 1.3 !important;
  margin: 0 !important;
}

/* ==========================================
   HERO — FIGMA MATCH (SCOPED + CLEAN)
========================================== */

.ai-hero {
  position: relative;
  text-align: center;
  padding: 140px 20px;

  background:
    radial-gradient(
      circle at center,
      rgba(124, 92, 255, 0.22) 0%,
      rgba(10, 12, 35, 1) 55%
    ),
    #0a0c23;
}

/*  BADGE (fixes your outlined box issue) */
.ai-hero__badge {
  display: inline-block;
  padding: 6px 16px;

  font-size: 11px;
  letter-spacing: 0.2em;
  text-transform: uppercase;

  color: #7ef2e0;

  border-radius: 999px;
  border: 1px solid rgba(126, 242, 224, 0.24);
  background: rgba(126, 242, 224, 0.06);

  margin-bottom: 28px;
}

/*  HEADING TIGHT FIX (you were slightly off) */
.ai-hero h1 {
  font-size: 64px;
  line-height: 1.05;
  letter-spacing: -1.5px;
  margin-bottom: 18px;
}

/*  SUBTEXT */
.ai-hero p {
  color: rgba(255,255,255,0.65);
  max-width: 520px;
  margin: 0 auto 24px;
}

/*  DIVIDER (short + subtle) */
.ai-hero__divider {
  width: 60px;
  height: 2px;
  margin: 18px auto 36px;

  background: linear-gradient(90deg, #7c5cff, #ec4899);
  border-radius: 2px;
}

/* BUTTON — THIS IS THE CRITICAL FIX */
.ai-hero__cta .elementor-button {
  /* break global button */
  all: unset;

  display: inline-flex;
  align-items: center;
  justify-content: center;

  padding: 18px 38px;
  border-radius: 999px;

  font-family: 'Inter', sans-serif;
  font-size: 16px;
  font-weight: 600;

  color: #ffffff;

  background: linear-gradient(135deg, #ff4dc4, #ff3ca0);

  box-shadow:
    0 10px 30px rgba(255, 76, 196, 0.35);

  cursor: pointer;
  transition: all 0.25s ease;
}

/* hover = Figma feel */
.ai-hero__cta .elementor-button:hover {
  transform: translateY(-2px);
  box-shadow:
    0 16px 40px rgba(255, 76, 196, 0.5);
}

/* footer text */
.ai-hero small {
  display: block;
  margin-top: 18px;
  color: rgba(255,255,255,0.45);
  font-size: 14px;
}

.ai-hero__cta .elementor-button,
.ai-hero__cta .elementor-button * {
  color: #ffffff !important;
}

.dss-gradient-cta__dash {
  width: 22px;
  height: 3px;
  background: #ffffff;
  border-radius: 2px;
}

.dss-gradient-cta {
  background: linear-gradient(135deg, #7c3aed 0%, #ec4899 100%);
  padding: 100px 20px;

  display: flex;
  justify-content: center;
}

.dss-gradient-cta > div {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;

  max-width: 800px;
}

.dss-gradient-cta h1,
.dss-gradient-cta h2 {
  color: #ffffff !important;
  font-size: 56px;
  line-height: 1.1;
  margin: 0;
}

.dss-gradient-cta__dash {
  width: 22px;
  height: 3px;
  background: #ffffff;
  border-radius: 2px;

  margin: 12px 0;

  display: block;
  flex: 0 0 auto;   /*  CRITICAL FIX */
}

/* ==========================================
   Disruption; not reputation callout SECTION (CLEAN FINAL)
========================================== */

.dss-section {
  background: linear-gradient(135deg, #7c3aed 0%, #ec4899 100%);
  padding: 100px 20px;
}

/* safe container targeting */
.dss-section .e-con,
.dss-section .elementor-container,
.dss-section > div {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;

  max-width: 800px;
  margin: 0 auto;
}

/* headings reset inside section */
.dss-section h1,
.dss-section h2 {
  color: #ffffff !important;

  font-family: 'Filson Soft', sans-serif;
  font-weight: 900;

  font-size: 56px;
  line-height: 1.1;

  margin: 0;

  max-width: 700px;
}

/* HARD LOCK DASH — FINAL FIX */
.dss-section__dash {
  width: 22px !important;
  min-width: 22px !important;
  max-width: 22px !important;

  height: 3px !important;
  min-height: 3px !important;
  max-height: 3px !important;

  background: #ffffff !important;
  border-radius: 2px;

  margin: 16px 0 !important;

  display: block !important;

  /* kill all flex/grid interference */
  flex: none !important;
  align-self: center !important;

  /*  CRITICAL: prevents vertical stretching */
  aspect-ratio: auto !important;
}

/* =========================
   FOOTER GRADIENT BORDER — FINAL FIX
========================= */
.dss-footer {
  position: relative;
  z-index: 10; 
  overflow: visible;


}



.dss-footer .footer-bottom {
  border-top: 1px solid rgba(255,255,255,0.08); /* ← this is the thin gray line above copyright do not remove */
}

/* GLOBAL DIVIDER — DO NOT RENDER INSIDE FOOTER */
.elementor-divider::after,
.section-divider::after {
  content: "";
  display: block;
  width: 48px;
  height: 2px;
  margin: 12px auto 0 auto;
  border-radius: 999px;
  background: linear-gradient(90deg, #7c5cff, #ec4899);
}



/* =========================
   HARD REMOVE ANY FAKE DIVIDER IN FOOTER
========================= */

/* HARD STOP inside footer */
.dss-footer .elementor-divider::after,
.dss-footer .section-divider::after {
  content: none !important;
  display: none !important;
}

.dss-gradientbordertop {
  position: relative;
}

/* main line */
.dss-gradientbordertop::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 2px;

  background: linear-gradient(
    90deg,
    #7c3aed 0%,   /* purple */
    #ec4899 100%  /* pink */
  );

  z-index: 2;
  pointer-events: none;
}

/* soft glow */
.dss-gradientbordertop::after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 2px;

  background: linear-gradient(
    90deg,
    #7c3aed 0%,
    #ec4899 100%
  );

  filter: blur(8px);
  opacity: 0.35;  /* 🔥 keeps it from looking like double line */

  z-index: 1;
  pointer-events: none;
}


.dss-gradientline {
  border-top: 2px solid transparent;
  border-image-slice: 1;
  border-image-source: linear-gradient(90deg, #7c3aed 0%, #ec4899 100%);
}


/* ==========================================
   HEADER — FIGMA MATCH
========================================== */

/* Apply this to the OUTER HEADER CONTAINER */
.dss-header {
  position: relative;
  background: #0b0f2a; /* dark navy header */
}

/* Full-width bottom gradient line */
.dss-header::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: 0;
  width: 100%;
  height: 2px;
  background: linear-gradient(90deg, #7c3aed 0%, #ec4899 100%);
  pointer-events: none;
  z-index: 2;
}

/* ==========================================
   HEADER CTA BUTTON — FIGMA MATCH
========================================== */

/* Apply this to the BUTTON WIDGET */
.dss-header-cta .elementor-button {
  background: #ec4899 !important;
  color: #ffffff !important;
  border: none !important;
  border-radius: 999px !important;

  padding: 14px 28px !important;
  min-height: 48px !important;

  font-family: 'Inter', sans-serif !important;
  font-size: 16px !important;
  font-weight: 600 !important;
  line-height: 1 !important;

  box-shadow: none !important;
  transition: background 0.2s ease, transform 0.2s ease !important;
}




/* Keep text white no matter what Elementor wraps */
.dss-header-cta .elementor-button,
.dss-header-cta .elementor-button *,
.dss-header-cta .elementor-button-text {
  color: #ffffff !important;
}

/* Hover */
.dss-header-cta .elementor-button:hover {
  background: #db2777 !important;
  transform: translateY(-1px);
}

/* ==========================================
   HEADER CTA — FIGMA MATCH (FINAL)
========================================== */

.dss-header-cta .elementor-button {
  all: unset !important;

  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;

  padding: 0, 20px !important;
  height: 44px !important;

  border-radius: 999px !important;

  /* GRADIENT (this is the big difference) */
  background: linear-gradient(
    135deg,
    #ff4dc4 0%,
    #ec4899 40%,
    #d946ef 100%
  ) !important;

  /* subtle glow */
  box-shadow:
    0 6px 18px rgba(236, 72, 153, 0.35),
    inset 0 1px 1px rgba(255,255,255,0.2);

  color: #ffffff !important;

  font-family: 'Inter', sans-serif !important;
  font-size: 13px !important;
  font-weight: 600 !important;

  line-height: 1 !important;

  transition: all 0.25s ease !important;
  cursor: pointer;
}

/*  text clarity */
.dss-header-cta .elementor-button *,
.dss-header-cta .elementor-button-text {
  color: #ffffff !important;
  white-space: nowrap !important;
   min-width: 140px !important;
}

/* hover = brighter + lift */
.dss-header-cta .elementor-button:hover {
  transform: translateY(-2px) !important;

  background: linear-gradient(
    135deg,
    #ff5ad0 0%,
    #f472b6 40%,
    #e879f9 100%
  ) !important;

  box-shadow:
    0 10px 28px rgba(236, 72, 153, 0.5),
    inset 0 1px 1px rgba(255,255,255,0.25);
}

/* FIX vertical centering */
.dss-header-cta .elementor-button-content-wrapper {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;

  height: 100% !important;
  padding: 0 !important;
}

/* tighten text baseline */
.dss-header-cta .elementor-button-text {
  line-height: 1 !important;
  display: block;
}


/* =========================================================
   HERO — Homepage
   Add these classes in Elementor exactly as listed below
========================================================= */

/* LEFT COLUMN */
.dss-hero-content {
  max-width: 620px;
}

/* EYEBROW */
.dss-hero-eyebrow .elementor-heading-title {
  font-size: 13px !important;
  letter-spacing: 0.18em !important;
  text-transform: uppercase !important;
  color: #6ee7ff !important;
  margin-bottom: 16px !important;
}

/* LINE 1 */
.dss-hero-title-line1 .elementor-heading-title {
  font-family: 'Filson Soft', sans-serif !important;
  font-size: 88px !important;
  font-weight: 900 !important;
  line-height: 0.95 !important;
  color: #ffffff !important;
  margin: 0 !important;
}

/* LINE 2 (gradient line) */
.dss-hero-title-line2 .elementor-heading-title {
  font-family: 'Filson Soft', sans-serif !important;
  font-size: 88px !important;
  font-weight: 900 !important;
  line-height: 0.95 !important;

  background: linear-gradient(90deg, #8b5cf6 0%, #ec4899 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;

  margin-top: 8px !important;
}

/* SUBHEAD */
.dss-hero-subhead .elementor-heading-title {
  font-size: 24px !important;
  line-height: 1.35 !important;
  color: rgba(255,255,255,0.9) !important;
  margin-top: 24px !important;
}

/* PARAGRAPH */
.dss-hero-copy .elementor-heading-title,
.dss-hero-copy p {
  font-size: 17px !important;
  line-height: 1.65 !important;
  color: rgba(255,255,255,0.75) !important;
  margin-top: 20px !important;
}

/* BUTTON FIX */
.dss-hero-primary .elementor-button {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;

  height:46px !important;
  padding: 0 22px !important;

  border-radius: 999px !important;
  border: none !important;

  background: linear-gradient(180deg, #f15bb8, #ec4899) !important;

  box-shadow: 0 10px 30px rgba(236,72,153,0.35);
  color: #ffffff !important;

  font-size: 14.5px !important;
}

.dss-hero-secondary .elementor-button {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;

  height: 46px !important;
  padding: 0 22px !important;

  border-radius: 999px !important;

  background: transparent !important;
  border: 1px solid rgba(255,255,255,0.18) !important;

  color: rgba(255,255,255,0.9) !important;

  font-size: 14.5px !important;

  box-shadow: none !important;
}

/* hover */
.dss-hero-secondary .elementor-button:hover {
  background: rgba(255,255,255,0.06) !important;
  border-color: rgba(255,255,255,0.3) !important;
  transform: translateY(-1px);
}

/* ensure text stays visible */
.dss-hero-secondary .elementor-button-text {
  color: inherit !important;
}

/* RIGHT PANEL */
.dss-hero-visual {
  padding: 16px;
  border-radius: 28px;
  background: rgba(28, 21, 58, 0.45);
  box-shadow:
    inset 0 0 0 1px rgba(124, 58, 237, 0.2),
    0 20px 60px rgba(0,0,0,0.4);
}

/* IMAGE */
.dss-hero-image img {
  border-radius: 20px !important;
  border: 1px solid rgba(124, 58, 237, 0.4) !important;
}

.dss-hero-cta-row {
  display: flex;
  align-items: center;
  gap: 12px;              
  flex-wrap: nowrap;      
}

/* force buttons to not grow */
.dss-hero-primary,
.dss-hero-secondary {
  flex: 0 0 auto;
}

/* FORCE Elementor button widgets to shrink */
.dss-hero-cta-row .elementor-widget {
  width: auto !important;
  flex: 0 0 auto !important;
}

.dss-hero-cta-row {
  display: flex;
  align-items: center;
  gap: 12px;
  flex-wrap: nowrap;
}

/* Prevent any weird stretching */
.dss-hero-cta-row > * {
  flex: 0 0 auto;
}

.dss-hero-primary .elementor-button,
.dss-hero-secondary .elementor-button {
  height: 44px !important;      /* slightly smaller */
  padding: 0 20px !important;
  font-size: 14px !important;
}



/* Homepage Capabilities bar */
.capabilities-bar {
  position: relative;
  padding: 16px 0;

  background: #0b0f2a;

  display: flex;
  align-items: center;
}

.capabilities-bar::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 2px;

  background: linear-gradient(
    90deg,
    #7c3aed 0%,
    #ec4899 100%
  );
}

.capabilities-row {
  display: flex;
  align-items: center;
  gap: 32px;

  padding: 0 40px;
}

.capability-item {
  display: inline-flex;
  align-items: center;
  gap: 10px;

  font-family: 'Filson Soft', sans-serif;
  font-size: 14px;
  font-weight: 600;

  color: #ffffff;

  white-space: nowrap;
}

.capability-item svg,
.capability-item i {
  color: #5eead4;   /* teal accent like your design */
  font-size: 16px;
}

.capability-item + .capability-item::before {
  content: "";
  width: 1px;
  height: 18px;

  background: rgba(255,255,255,0.15);

  margin-right: 16px;
}



/* ==========================================
   SERVICES QUOTE CARD — FINAL PIXEL MATCH
========================================== */

.services-quotecard {
  display: flex;
  align-items: stretch;
  gap: 22px;

  background: #efeff2;
  border-radius: 10px; /* softer capsule feel */
  border-left: 4px solid #7c3aed;

  padding: 16px 24px 16px 18px; /* tighter + better visual balance */

  box-sizing: border-box;
}

.services-quotecard-aqua {
  display: flex;
  align-items: stretch;
  gap: 22px;

  background: #F8F8FC;
  border-radius: 10px; /* softer capsule feel */
  border-left: 4px solid #1AA8B9;

  padding: 16px 24px 16px 18px; /* tighter + better visual balance */

  box-sizing: border-box;
}


.services-quotecard-pink {
  display: flex;
  align-items: stretch;
  gap: 22px;

  background: #F8F8FC;
  border-radius: 10px; /* softer capsule feel */
  border-left: 4px solid #FF2EA6;

  padding: 16px 24px 16px 18px; /* tighter + better visual balance */

  box-sizing: border-box;
}


  margin: 6px 0; /* critical: inset from top/bottom */
}

/* Create soft "cut" illusion like your reference */
.services-quotecard__bar::after {
  content: "";
  position: absolute;
  inset: 0;
  border-radius: 999px;

  box-shadow:
    inset 0 6px 8px rgba(255,255,255,0.25),
    inset 0 -6px 10px rgba(0,0,0,0.08);
}

/* Content */
.services-quotecard__content {
  flex: 1;
  min-width: 0;
}

/* Title */
.services-quotecard__title {
  margin: 0 0 10px 0;

  font-family: 'Filson Soft', sans-serif;
  font-size: 16px;
  line-height: 1.0;
  font-weight: 600; /* slightly lighter — important */

  color: #111827;
}

/* Body */
.services-quotecard__body {
  margin: 0;

  font-family: 'Inter', sans-serif;
  font-size: 12px;
  line-height: 1.5;

  color: #5b6472; /* softer gray — key visual change */
}

/* prevent weird wrapping */
.services-quotecard__body p {
  margin: 0;
}


.memforma-process-card {
    position: relative;
    background: #070b2d;
    border: 1px solid rgba(255,255,255,.08);
    border-radius: 22px;
    padding: 38px;
    overflow: hidden;
    min-height: 320px;
    transition: all .3s ease;
}

/* glow strip */
.memforma-process-card:before{
    content:"";
    position:absolute;
    left:0;
    top:0;
    width:4px;
    height:100%;
    background:linear-gradient(
        180deg,
        #ff61d8 0%,
        #ff6b6b 100%
    );
    box-shadow:0 0 20px rgba(255,97,216,.6);
}

/* giant background number */
.memforma-process-card .bg-number{
    position:absolute;
    right:-10px;
    bottom:-40px;
    font-size:180px;
    font-weight:800;
    color:rgba(255,255,255,.03);
    line-height:1;
    z-index:1;
}

/* content sits above number */
.memforma-process-card .content{
    position:relative;
    z-index:2;
}

/* circle badge */
.memforma-process-card .step-badge{
    width:44px;
    height:44px;
    border-radius:50%;
    display:flex;
    align-items:center;
    justify-content:center;
    font-weight:700;
    color:#fff;
    background:
        radial-gradient(circle,
        #ff92e6 0%,
        #8d6cff 100%);
    box-shadow:
        0 0 22px rgba(182,111,255,.4);
}

/* title */
.memforma-process-card h3{
    color:#fff;
    font-size:34px;
    line-height:1.1;
    margin:0;
}

/* subtitle */
.memforma-process-card .subtitle{
    color:#d86bcc;
    font-weight:600;
    font-size:15px;
}

/* body */
.memforma-process-card .description{
    margin-top:26px;
    color:rgba(255,255,255,.75);
    line-height:1.8;
}

/* pill styles */
.memforma-process-card .tag{
    display:inline-block;
    padding:8px 14px;
    border-radius:999px;
    border:1px solid rgba(214,115,255,.3);
    background:rgba(132,64,255,.12);
    color:#d5c9ff;
    font-size:13px;
    margin-right:8px;
    margin-top:10px;
}

/* hover */
.memforma-process-card:hover{
    transform:translateY(-6px);
    box-shadow:
        0 0 40px rgba(132,64,255,.18);
}

.high-risk:before{
    background: linear-gradient(
        180deg,
        #ff61d8 0%,
        #ff6b6b 100%
    );
    box-shadow: 0 0 20px rgba(255,97,216,.6);
}


.medium-risk:before{
    background: linear-gradient(
        180deg,
        #f7c948 0%,
        #ff9f1c 100%
    );
    box-shadow: 0 0 20px rgba(247,201,72,.6);
}



.low-risk:before{
    background: linear-gradient(
        180deg,
        #52d6c8 0%,
        #2dd4bf 100%
    );
    box-shadow: 0 0 20px rgba(82,214,200,.6);
}/* End custom CSS */