/**
 * Six Red Marbles Divi - Custom CSS
 * Based on blueprints: divi-blueprints/00-global-styles.md through 09-footer.md
 */

/* ==========================================================================
   CSS Custom Properties / Variables
   ========================================================================== */

:root {
  --pum-top-bar-height: 0px;
}

/* ==========================================================================
   Global Typography
   ========================================================================== */

body,
.et_pb_text,
.et_pb_blurb_description {
  font-family: var(--srm-font-sans);
  color: var(--srm-gray);
  line-height: 1.6;
}

h1, h2, h3, h4, h5, h6,
.et_pb_module_header,
.et_pb_blurb_title {
  font-family: var(--srm-font-sans);
  color: var(--srm-gray-900);
  font-weight: 700;
}

/* ==========================================================================
   Global Button Styles
   ========================================================================== */

.et_pb_button,
button,
input[type="submit"],
input[type="button"] {
  transition: all 0.175s ease;
}

.et_pb_button:hover,
button:hover,
input[type="submit"]:hover,
input[type="button"]:hover {
  box-shadow: rgba(0, 0, 0, 0.5) 0px 4px 12px -4px !important;
}

/* ==========================================================================
   Hero Section
   ========================================================================== */

.hero-headline {
  position: relative;
}

.hero-headline h1 {
  position: relative;
  z-index: 1;
  font-size: 72px;
  font-weight: 700;
  line-height: 1.1;
  color: #001B2D;
}

/* Service Page Hero H1 */
.srm-service-hero h1 {
  font-size: 56px !important;
  font-weight: 700;
  line-height: 1.1;
}

@media (max-width: 980px) {
  .srm-service-hero h1 {
    font-size: 42px !important;
  }
}

@media (max-width: 767px) {
  .srm-service-hero h1 {
    font-size: 32px !important;
  }
}

@media (max-width: 980px) {
  .hero-headline h1 {
    font-size: 48px;
    line-height: 1.15;
  }
}

@media (max-width: 767px) {
  .hero-headline h1 {
    font-size: 36px;
    line-height: 1.2;
  }
}

.hero-headline .highlight-red {
  color: var(--srm-red);
  position: relative;
  display: inline-block;
}

.hero-headline .highlight-block {
  position: relative;
  display: inline-block;
}

/* Sky blue accent behind "We create" */
.hero-headline::before {
  content: '';
  position: absolute;
  top: -16px;
  left: -16px;
  width: 75%;
  height: 128px;
  background: var(--srm-sky-200);
  border-radius: 4px;
  z-index: 0;
}

/* Sky blue accent behind "learning experiences" */
.hero-headline .highlight-block::before {
  content: '';
  position: absolute;
  top: 50%;
  left: 0;
  width: 100%;
  height: 96px;
  background: var(--srm-sky-200);
  border-radius: 4px;
  z-index: -1;
  transform: translateY(8px);
}

/* Sparkle decorations */
.hero-headline .highlight-red::before,
.hero-headline .highlight-red::after {
  content: '\2726';
  position: absolute;
  color: var(--srm-red);
  font-size: 24px;
}

.hero-headline .highlight-red::before {
  top: -24px;
  right: -32px;
  opacity: 0.6;
}

.hero-headline .highlight-red::after {
  bottom: -8px;
  left: -32px;
  font-size: 16px;
  opacity: 0.6;
}

@media (max-width: 767px) {
  .hero-headline::before,
  .hero-headline .highlight-block::before,
  .hero-headline .highlight-red::before,
  .hero-headline .highlight-red::after {
    display: none;
  }
}

/* ==========================================================================
   Service Cards (What We Do) - Left Border Accents
   ========================================================================== */

.service-card {
  position: relative;
  overflow: hidden;
  background: #FFFFFF;
  border: 1px solid var(--srm-gray-100);
  border-radius: var(--srm-rounded-lg);
  padding: 32px;
  transition: box-shadow 0.175s ease;
}

.service-card:hover {
  box-shadow: var(--srm-shadow-md);
}

.service-card::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 6px;
  height: 100%;
}

.service-card-red::before {
  background: var(--srm-red);
}

.service-card-teal::before {
  background: var(--srm-teal);
}

.service-card-purple::before {
  background: var(--srm-purple);
}

.service-card-gray::before {
  background: var(--srm-gray);
}

.service-card-blue::before {
  background: var(--srm-blue-accent);
}

/* Service card icon container */
.service-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 12px;
  border-radius: var(--srm-rounded);
  color: #FFFFFF;
  margin-bottom: 24px;
}

.service-icon-red { background: var(--srm-red); }
.service-icon-teal { background: var(--srm-teal); }
.service-icon-purple { background: var(--srm-purple); }
.service-icon-gray { background: var(--srm-gray); }
.service-icon-blue { background: var(--srm-blue-accent); }

/* Service card CTA link */
.service-link {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-size: 14px;
  font-weight: 600;
  transition: color 0.175s ease;
}

.service-link-red { color: var(--srm-red); }
.service-link-teal { color: var(--srm-teal); }
.service-link-purple { color: var(--srm-purple); }
.service-link-gray { color: var(--srm-gray); }
.service-link-blue { color: var(--srm-blue-accent); }

.service-link .arrow {
  display: inline-block;
  width: 13px;
  height: 20px;
  vertical-align: middle;
  font-size: 0;
  background-color: currentColor;
  -webkit-mask: url('../img/arrow.svg') no-repeat center / contain;
  mask: url('../img/arrow.svg') no-repeat center / contain;
  margin-left: .75vw;
  transition: transform 0.175s ease;
}

.service-link:hover .arrow {
  transform: translateX(4px);
}

/* ==========================================================================
   SRM Service Card Module (Custom Divi Module)
   ========================================================================== */

.srm-service-card {
  position: relative;
  background: #FFFFFF;
  border: 1px solid var(--srm-gray-200, #e4e5e6);
  border-radius: 12px;
  padding: 24px;
  padding-left: 22px;
  overflow: hidden;
  transition: border-color 0.3s ease, box-shadow 0.175s ease;
  height: 100%;
  display: flex;
  flex-direction: column;
  box-shadow: 0 0 20px 0 rgba(0,0,0,0.14);
}

/* Left accent line as pseudo-element (straight, clipped by border-radius) */
.srm-service-card::after {
  content: '';
  position: absolute;
  left: 0;
  top: 0;
  bottom: 0;
  width: 6px;
  background: var(--accent-color, var(--srm-red, #d80000));
  z-index: 2;
  transition: background-color 0.175s ease;
}

/* Linked card styles */
a.srm-service-card--linked {
  text-decoration: none;
  cursor: pointer;
}

/* Gradient overlay for smooth fade effect */
.srm-service-card--linked::before {
  content: '';
  position: absolute;
  inset: 0;
  border-radius: inherit;
  background: linear-gradient(180deg, var(--accent-color) 0%, color-mix(in srgb, var(--accent-color) 85%, black) 100%);
  opacity: 0;
  transition: opacity 0.175s ease;
  pointer-events: none;
  z-index: 0;
}

.srm-service-card--linked:hover::before {
  opacity: 1;
}

/* Ensure content stays above the gradient overlay */
.srm-service-card--linked > * {
  position: relative;
  z-index: 1;
}

/* Base hover - enhanced box shadow for non-linked cards */
.srm-service-card:hover {
  box-shadow: 0 0 24px 0 rgba(0,0,0,0.18);
}

/* Linked card hover - border adjustments */
.srm-service-card--linked:hover {
  border-color: var(--accent-color);
  box-shadow: 0 8px 16px -4px rgba(0, 0, 0, 0.2), 0 4px 8px -2px rgba(0, 0, 0, 0.1);
}

/* Left accent fades on hover for linked cards */
.srm-service-card--linked:hover::after {
  background: rgba(255, 255, 255, 0.3);
}

/* Dark text on hover for light accent colors */
.srm-service-card--linked[data-light-accent="true"]:hover .srm-service-card__title,
.srm-service-card--linked[data-light-accent="true"]:hover .srm-service-card__subtitle,
.srm-service-card--linked[data-light-accent="true"]:hover .srm-service-card__desc,
.srm-service-card--linked[data-light-accent="true"]:hover .srm-service-card__desc p,
.srm-service-card--linked[data-light-accent="true"]:hover .srm-service-card__cta {
  color: #001B2D !important;
}

/* White text on hover for dark accent colors */
.srm-service-card--linked[data-light-accent="false"]:hover .srm-service-card__title,
.srm-service-card--linked[data-light-accent="false"]:hover .srm-service-card__subtitle,
.srm-service-card--linked[data-light-accent="false"]:hover .srm-service-card__desc,
.srm-service-card--linked[data-light-accent="false"]:hover .srm-service-card__desc p,
.srm-service-card--linked[data-light-accent="false"]:hover .srm-service-card__cta {
  color: #FFFFFF !important;
}

/* Icon on hover - transparent bg, icon matches text color */
.srm-service-card--linked:hover .srm-service-card__icon {
  background-color: transparent !important;
}

/* Dark icon for light accent colors */
.srm-service-card--linked[data-light-accent="true"]:hover .srm-service-card__icon {
  color: #001B2D;
}
.srm-service-card--linked[data-light-accent="true"]:hover .srm-service-card__icon-lucide {
  stroke: #001B2D;
}

/* White icon for dark accent colors */
.srm-service-card--linked[data-light-accent="false"]:hover .srm-service-card__icon {
  color: #FFFFFF;
}
.srm-service-card--linked[data-light-accent="false"]:hover .srm-service-card__icon-lucide {
  stroke: #FFFFFF;
}

/* Arrow animation on linked card hover */
.srm-service-card--linked:hover .srm-service-card__arrow {
  transform: translateX(4px);
}

/* Left border accent - color set via inline style, this div is deprecated but kept for compatibility */
.srm-service-card__accent {
  display: none;
}

/* Header with icon and titles */
.srm-service-card__header {
  display: flex;
  align-items: flex-start;
  gap: 16px;
  margin-bottom: 6px;
}

/* Icon container */
.srm-service-card__icon {
  width: 40px;
  height: 40px;
  min-width: 40px;
  border-radius: 6px;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #FFFFFF;
  background: var(--srm-red, #d80000);
  transition: background-color 0.3s ease, color 0.175s ease;
}

.srm-service-card__icon-font {
  font-size: 20px;
  line-height: 1;
}

.srm-service-card__icon-lucide {
  width: 20px;
  height: 20px;
  stroke: currentColor;
  stroke-width: 2;
  transition: stroke 0.175s ease;
}

.srm-service-card__icon-img {
  max-width: 24px;
  max-height: 24px;
  object-fit: contain;
}

/* Titles container */
.srm-service-card__titles {
  display: flex;
  flex-direction: column;
  gap: 4px;
}

.srm-service-card__title {
  font-family: 'Inter', sans-serif;
  font-weight: 700;
  font-size: 18px;
  color: var(--srm-gray-900, #001B2D);
  margin: 0;
  padding-bottom: 0;
  line-height: 1.3;
  transition: color 0.175s ease;
}

.srm-service-card__subtitle {
  font-family: 'Nunito', sans-serif;
  font-size: 13px;
  color: var(--srm-gray-400, #60656b);
  line-height: 1.5;
  transition: color 0.175s ease;
}

/* Description */
.srm-service-card__desc {
  font-family: 'Nunito', sans-serif;
  font-size: 15px;
  color: var(--srm-gray-900, #001B2D);
  line-height: 1.6;
  margin-bottom: 0;
  transition: color 0.175s ease;
}

.srm-service-card__desc p {
  margin: 0;
}

/* CTA link/text */
.srm-service-card__cta {
  font-family: 'Nunito', sans-serif;
  font-weight: 700;
  font-size: 14px;
  text-decoration: none;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  transition: color 0.175s ease, opacity 0.175s ease;
  margin-top: auto;
}

/* Only apply opacity hover to non-linked cards */
.srm-service-card:not(.srm-service-card--linked) .srm-service-card__cta:hover {
  opacity: 0.8;
}

.srm-service-card__arrow {
  display: inline-block;
  width: 13px;
  height: 20px;
  vertical-align: middle;
  font-size: 0;
  background-color: currentColor;
  -webkit-mask: url('../img/arrow.svg') no-repeat center / contain;
  mask: url('../img/arrow.svg') no-repeat center / contain;
  margin-left: .75vw;
  transition: transform 0.175s ease;
}

/* Arrow hover for non-linked cards */
.srm-service-card:not(.srm-service-card--linked) .srm-service-card__cta:hover .srm-service-card__arrow {
  transform: translateX(4px);
}

/* Card image area (for Solutions-style cards) */
.srm-service-card__image-area {
  margin: 0 0 16px 0;
  min-height: 100px;
  display: flex;
  align-items: center;
  justify-content: center;
}

.srm-service-card__image-area.srm-service-card__image-placeholder {
  border-style: dashed;
  background: transparent;
}

.srm-service-card__image-area.srm-service-card__image-placeholder span {
  font-family: 'Nunito', sans-serif;
  font-size: 14px;
  font-weight: 600;
}

.srm-service-card__image {
  max-width: 100%;
  max-height: 80px;
  object-fit: contain;
}

/* Equal height cards - make rows containing service cards use flexbox */
.et_pb_row:has(.et_pb_srm_service_card) {
  display: flex !important;
  flex-wrap: wrap;
  align-items: stretch;
}

.et_pb_row:has(.et_pb_srm_service_card) > .et_pb_column {
  display: flex;
  flex-direction: column;
}

.et_pb_row:has(.et_pb_srm_service_card) .et_pb_srm_service_card {
  flex: 1;
  display: flex;
  flex-direction: column;
}

.et_pb_row:has(.et_pb_srm_service_card) .et_pb_module_inner {
  flex: 1;
  display: flex;
  flex-direction: column;
}

/* Visual Builder preview adjustments */
.et-fb .srm-service-card {
  min-height: 150px;
}

/* ==========================================================================
   Expandable Service Cards Grid
   ========================================================================== */

/* Wrapper creates a responsive "grid" using flex (preserves click position) */
.srm-service-cards-grid {
  display: flex;
  flex-direction: row !important; /* Override Divi's column direction */
  flex-wrap: wrap;
  gap: 24px;
  align-items: stretch; /* Cards stretch to fill row height */
}

/* Override Divi's default column display within the grid wrapper */
.srm-service-cards-grid.et_pb_column {
  width: 100% !important;
}

/* Make each Divi module wrapper behave like a grid cell */
/* Uses !important to override the generic .et_pb_row:has(.et_pb_srm_service_card) flex: 1 rule above */
.srm-service-cards-grid > .et_pb_srm_service_card {
  flex: 0 0 calc((100% - 48px) / 3) !important; /* 3-up with 24px gaps */
  max-width: calc((100% - 48px) / 3);
  transition: flex-basis 0.35s ease, max-width 0.35s ease;
}

/* Tablet: 2-up */
@media (max-width: 980px) {
  .srm-service-cards-grid > .et_pb_srm_service_card {
    flex: 0 0 calc((100% - 24px) / 2) !important;
    max-width: calc((100% - 24px) / 2);
  }
}

/* Mobile: 1-up */
@media (max-width: 767px) {
  .srm-service-cards-grid > .et_pb_srm_service_card {
    flex: 0 0 100% !important;
    max-width: 100%;
  }
}

/* Expanded module spans full width (stays in natural position) */
.srm-service-cards-grid > .et_pb_srm_service_card.is-expanded {
  flex: 0 0 100% !important;
  max-width: 100% !important;
}

/* Expanded card should only be as tall as its content, not stretch to fill */
.is-expanded .srm-service-card {
  height: auto !important;
}

/* Ensure inner elements fill the module wrapper */
.srm-service-cards-grid > .et_pb_srm_service_card .et_pb_module_inner {
  height: 100%;
  display: flex;
  flex-direction: column;
}

.srm-service-cards-grid > .et_pb_srm_service_card .srm-service-card {
  height: 100%;
}

/* ==========================================================================
   Expandable Card Styles
   ========================================================================== */

/* Toggle button styling */
.srm-service-card__toggle {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  background: none;
  border: none;
  padding: 0;
  margin-top: auto;
  font-family: 'Nunito', sans-serif;
  font-weight: 700;
  font-size: 14px;
  cursor: pointer;
  transition: opacity 0.2s ease;
}

.srm-service-card__toggle:hover {
  opacity: 0.8;
  box-shadow: none !important;
}

.srm-service-card__toggle-icon {
  width: 16px;
  height: 16px;
  transition: transform 0.3s ease;
}

/* Rotate icon when expanded */
.is-expanded .srm-service-card__toggle-icon {
  transform: rotate(180deg);
}

/* Update toggle text and aria when expanded */
.is-expanded .srm-service-card__toggle {
  color: inherit;
}

.is-expanded .srm-service-card__toggle[aria-expanded="true"] .srm-service-card__toggle-text::after {
  content: '';
}

/* Expanded content panel - hidden by default */
.srm-service-card__expanded {
  max-height: 0;
  overflow: hidden;
  opacity: 0;
  transition: max-height 0.4s ease, opacity 0.3s ease, margin 0.3s ease;
  margin-top: 0;
}

/* Show expanded content when card is expanded */
.is-expanded .srm-service-card__expanded {
  max-height: 800px;
  opacity: 1;
  margin-top: 20px;
}

/* Expanded content inner styling */
.srm-service-card__expanded-inner {
  padding-top: 20px;
  border-top: 1px solid var(--srm-gray-200, #e4e5e6);
}

.srm-service-card__expanded-inner p {
  font-family: 'Nunito', sans-serif;
  font-size: 15px;
  line-height: 1.7;
  color: #001B2D;
  margin: 0 0 16px 0;
}

.srm-service-card__expanded-inner p:last-child {
  margin-bottom: 0;
}

.srm-service-card__expanded-inner ul {
  margin: 0 0 16px 0;
  padding-left: 20px;
}

.srm-service-card__expanded-inner li {
  font-family: 'Nunito', sans-serif;
  font-size: 15px;
  line-height: 1.7;
  color: #001B2D;
  margin-bottom: 8px;
}

.srm-service-card__expanded-inner li:last-child {
  margin-bottom: 0;
}

.srm-service-card__expanded-inner ul:last-child {
  margin-bottom: 0;
  padding-bottom: 0;
}

/* Expandable card cursor */
.srm-service-card--expandable {
  cursor: pointer;
  position: relative;
}

/* Gradient overlay for expandable cards */
.srm-service-card--expandable::before {
  content: '';
  position: absolute;
  inset: 0;
  border-radius: inherit;
  background: linear-gradient(180deg, var(--accent-color) 0%, color-mix(in srgb, var(--accent-color) 85%, black) 100%);
  opacity: 0;
  transition: opacity 0.175s ease;
  pointer-events: none;
  z-index: 0;
}

/* Hover effects only apply when card is NOT expanded (check parent wrapper for .is-expanded) */
.et_pb_srm_service_card:not(.is-expanded) .srm-service-card--expandable:hover::before {
  opacity: 1;
}

/* Hover effect for expandable cards (not when expanded) */
.et_pb_srm_service_card:not(.is-expanded) .srm-service-card--expandable:hover {
  border-color: var(--accent-color);
  box-shadow: 0 8px 16px -4px rgba(0, 0, 0, 0.2), 0 4px 8px -2px rgba(0, 0, 0, 0.1);
}

/* Text/icon color changes on hover - dark accent (light text) - not when expanded */
.et_pb_srm_service_card:not(.is-expanded) .srm-service-card--expandable[data-light-accent="false"]:hover .srm-service-card__title,
.et_pb_srm_service_card:not(.is-expanded) .srm-service-card--expandable[data-light-accent="false"]:hover .srm-service-card__desc,
.et_pb_srm_service_card:not(.is-expanded) .srm-service-card--expandable[data-light-accent="false"]:hover .srm-service-card__desc p,
.et_pb_srm_service_card:not(.is-expanded) .srm-service-card--expandable[data-light-accent="false"]:hover .srm-service-card__toggle {
  color: #FFFFFF !important;
}

/* Light accent (dark text) - not when expanded */
.et_pb_srm_service_card:not(.is-expanded) .srm-service-card--expandable[data-light-accent="true"]:hover .srm-service-card__title,
.et_pb_srm_service_card:not(.is-expanded) .srm-service-card--expandable[data-light-accent="true"]:hover .srm-service-card__desc,
.et_pb_srm_service_card:not(.is-expanded) .srm-service-card--expandable[data-light-accent="true"]:hover .srm-service-card__desc p,
.et_pb_srm_service_card:not(.is-expanded) .srm-service-card--expandable[data-light-accent="true"]:hover .srm-service-card__toggle {
  color: #001B2D !important;
}

/* Icon transparent on hover - not when expanded */
.et_pb_srm_service_card:not(.is-expanded) .srm-service-card--expandable:hover .srm-service-card__icon {
  background-color: transparent !important;
}

/* Ensure content stays above overlay */
.srm-service-card--expandable > * {
  position: relative;
  z-index: 1;
}

/* ==========================================================================
   SRM Service Card Modal
   ========================================================================== */

/* Modal backdrop */
.srm-card-modal-backdrop {
  position: fixed;
  inset: 0;
  background: rgba(0, 27, 45, 0.6);
  z-index: 99999;
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.3s ease, visibility 0.3s ease;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 20px;
}

.srm-card-modal-backdrop.is-visible {
  opacity: 1;
  visibility: visible;
}

/* Modal container */
.srm-card-modal {
  --modal-accent-color: #0075BF;
  position: relative;
  max-width: 600px;
  width: 100%;
  max-height: 80vh;
  background: #FFFFFF;
  border-radius: 16px;
  box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.25);
  transform: scale(0.95) translateY(10px);
  opacity: 0;
  transition: transform 0.3s ease, opacity 0.3s ease;
  overflow: hidden;
  display: flex;
  flex-direction: column;
}

.srm-card-modal-backdrop.is-visible .srm-card-modal {
  transform: scale(1) translateY(0);
  opacity: 1;
}

/* Close button */
.srm-card-modal__close {
  position: absolute;
  top: 16px;
  right: 16px;
  width: 40px;
  height: 40px;
  background: rgba(255, 255, 255, 0.9);
  border: none;
  border-radius: 50%;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 10;
  transition: background-color 0.2s ease, transform 0.2s ease;
  color: #001B2D;
}

.srm-card-modal__close:hover {
  background: #FFFFFF;
  transform: scale(1.05);
  box-shadow: none !important;
}

.srm-card-modal__close svg {
  width: 20px;
  height: 20px;
}

/* Modal header */
.srm-card-modal__header {
  background: linear-gradient(135deg, var(--modal-accent-color) 0%, color-mix(in srgb, var(--modal-accent-color) 85%, black) 100%);
  padding: 24px 30px;
}

.srm-card-modal__header-inner {
  display: flex;
  align-items: center;
  gap: 16px;
}

.srm-card-modal__icon {
  width: 56px;
  height: 56px;
  min-width: 56px;
  background: rgba(255, 255, 255, 0.2);
  border-radius: 12px;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #FFFFFF;
}

.srm-card-modal__icon svg,
.srm-card-modal__icon i {
  width: 28px;
  height: 28px;
}

.srm-card-modal__icon img {
  width: 32px;
  height: 32px;
  object-fit: contain;
}

.srm-card-modal__title {
  font-family: 'Inter', sans-serif;
  font-weight: 700;
  font-size: 24px;
  line-height: 1.3;
  color: #FFFFFF;
  margin: 0;
  padding-bottom: 0;
}

/* Modal body */
.srm-card-modal__body {
  padding: 32px;
  overflow-y: auto;
  flex: 1;
}

.srm-card-modal__body p {
  font-family: 'Nunito', sans-serif;
  font-size: 16px;
  line-height: 1.7;
  color: #001B2D;
  margin: 0 0 16px 0;
}

.srm-card-modal__body p:last-child {
  margin-bottom: 0;
}

.srm-card-modal__body p:empty {
  display: none;
}

.srm-card-modal__body ul {
  margin: 0 0 16px 0;
  padding-left: 24px;
  list-style: initial;
}

.srm-card-modal__body li {
  font-family: 'Nunito', sans-serif;
  font-size: 16px;
  line-height: 1.7;
  color: #001B2D;
  margin-bottom: 8px;
}

.srm-card-modal__body li:last-child {
  margin-bottom: 0;
}

.srm-card-modal__body ul:last-child {
  margin-bottom: 0;
}

/* Mobile adjustments */
@media (max-width: 767px) {
  .srm-card-modal-backdrop {
    padding: 16px;
  }
  
  .srm-card-modal {
    max-height: 90vh;
  }
  
  .srm-card-modal__header {
    padding: 24px 50px 24px 24px;
  }
  
  .srm-card-modal__close {
    top: 12px;
    right: 12px;
    width: 36px;
    height: 36px;
  }
  
  .srm-card-modal__icon {
    width: 48px;
    height: 48px;
    min-width: 48px;
  }
  
  .srm-card-modal__title {
    font-size: 20px;
  }
  
  .srm-card-modal__body {
    padding: 24px;
  }
}

/* ==========================================================================
   SRM Insight Column Module
   ========================================================================== */

.srm-insight-column {
  display: flex;
  flex-direction: column;
  height: 100%;
}

.srm-insight-column__category-title {
  font-family: 'Inter', sans-serif;
  font-weight: 600;
  font-size: 24px;
  color: #001B2D;
  margin: 0;
}

.srm-insight-column__category-desc {
  font-family: 'Nunito', sans-serif;
  font-size: 14px;
  color: #001B2D;
  line-height: 1.5;
  margin: 0 0 8px 0;
  min-height: 42px;
  padding-bottom: 8px;
}

.srm-insight-column__card-link {
  display: flex;
  flex-direction: column;
  flex: 1;
  text-decoration: none;
}

.srm-insight-column__featured {
  background: #FFFFFF;
  border-radius: 10px;
  box-shadow: 0 0 20px 0 rgba(0,0,0,0.14);
  overflow: hidden;
  margin-bottom: 12px;
  flex: 1;
  display: flex;
  flex-direction: column;
}

.srm-insight-column__card {
  position: relative;
  height: 160px;
  border-radius: 10px 10px 0 0;
  overflow: hidden;
  background-color: #001B2D;
  background-size: cover;
  background-position: center;
}

.srm-insight-column__card::before {
  content: '';
  position: absolute;
  inset: 0;
  background: rgba(0, 100, 166, 0.60);
  mix-blend-mode: color;
  z-index: 1;
  pointer-events: none;
}

.srm-insight-column__card-overlay {
  position: absolute;
  inset: 0;
  background-image: linear-gradient(179deg, rgba(0,0,0,0.00) 46%, rgba(0,0,0,0.00) 46%, rgba(0,0,0,0.65) 82%);
  display: flex;
  align-items: flex-end;
  padding: 16px;
  z-index: 2;
}

.srm-insight-column__card-title {
  font-family: 'Inter', sans-serif;
  font-weight: 700;
  font-size: 15px;
  color: #FFFFFF;
  margin: 0;
  line-height: 1.4;
  padding-bottom: 0;
}

.srm-insight-column__desc {
  font-family: 'Nunito', sans-serif;
  font-size: 14px;
  color: #001B2D;
  line-height: 1.6;
  margin: 0;
  padding: 16px;
  padding-bottom: 16px !important;
}

.srm-insight-column__cta {
  font-family: 'Nunito', sans-serif;
  font-weight: 700;
  font-size: 14px;
  text-decoration: none;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  margin-top: auto;
}

.srm-insight-column__cta:hover {
  opacity: 0.8;
}

.srm-insight-column__cta span {
  display: inline-block;
  width: 13px;
  height: 20px;
  vertical-align: middle;
  font-size: 0;
  background-color: currentColor;
  -webkit-mask: url('../img/arrow.svg') no-repeat center / contain;
  mask: url('../img/arrow.svg') no-repeat center / contain;
  transition: transform 0.175s ease;
}

.srm-insight-column__cta:hover span {
  transform: translateX(4px);
}

.srm-insight-column__cta--placeholder {
  visibility: hidden;
  pointer-events: none;
}

@media (max-width: 1200px) {
  .srm-insight-column__category-desc {
    min-height: 63px; /* 3 lines at 14px * 1.5 line-height */
  }
}

@media (max-width: 980px) {
  .srm-insight-column__category-desc {
    min-height: 84px; /* 4 lines */
  }
}

@media (max-width: 767px) {
  .srm-insight-column__category-desc {
    min-height: 105px; /* 5 lines for narrow mobile */
  }
}

/* Equal height columns for insights row */
.et_pb_row:has(.et_pb_srm_insight_column) {
  display: flex !important;
  flex-wrap: wrap;
  align-items: stretch;
}

.et_pb_row:has(.et_pb_srm_insight_column) > .et_pb_column {
  display: flex;
  flex-direction: column;
}

.et_pb_row:has(.et_pb_srm_insight_column) .et_pb_srm_insight_column {
  flex: 1;
  display: flex;
  flex-direction: column;
}

.et_pb_row:has(.et_pb_srm_insight_column) .et_pb_module_inner {
  flex: 1;
  display: flex;
  flex-direction: column;
}


/* ==========================================================================
   Footer CTA Buttons
   ========================================================================== */

.footer-cta-buttons {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 16px;
  flex-wrap: wrap;
}

.footer-cta-btn {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-family: 'Nunito', sans-serif;
  font-weight: 700;
  font-size: 15px;
  padding: 12px 28px;
  border-radius: 9999px;
  text-decoration: none;
  transition: all 0.175s ease;
}

.footer-cta-btn--primary {
  background: #FFFFFF;
  color: #0063a6;
  border: 2px solid #FFFFFF;
}

.footer-cta-btn--primary:hover {
  background: #fafafa;
  border-color: #fafafa;
  color: #0063a6;
}

.footer-cta-btn--primary span {
  font-size: 20px;
  line-height: 1;
}

.footer-cta-btn--secondary {
  background: transparent;
  color: #FFFFFF;
  border: 2px solid rgba(255, 255, 255, 0.5);
}

.footer-cta-btn--secondary:hover {
  background: rgba(255, 255, 255, 0.1);
  color: #FFFFFF;
  border-color: rgba(255, 255, 255, 0.8);
}

/* ==========================================================================
   Footer Bottom Row
   ========================================================================== */

.footer-bottom {
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-wrap: wrap;
  gap: 16px;
}

.footer-copyright {
  font-family: 'Nunito', sans-serif;
  font-size: 14px;
  color: #001B2D;
}

.footer-legal {
  display: flex;
  gap: 24px;
}

.footer-legal a {
  font-family: 'Nunito', sans-serif;
  font-size: 14px;
  color: #001B2D;
  text-decoration: none;
}

.footer-legal a:hover {
  opacity: 0.7;
}

/* ==========================================================================
   Header Navigation Fixes
   ========================================================================== */

/* Remove dropdown chevrons from menu items */
.et_pb_menu .et-menu li.menu-item-has-children > a:after,
.et_pb_menu .et-menu li.menu-item-has-children > a:before,
.et_pb_menu .et-menu .menu-item-has-children > a .et_mobile_menu_arrow,
.et_pb_menu .et-menu > li.menu-item-has-children > a:first-child:after {
  display: none !important;
  content: none !important;
}

/* Remove arrow/chevron from Contact button */
.srm-header-contact .et_pb_button:after,
.srm-header-contact .et_pb_button:before {
  display: none;
  content: none;
}

.srm-header-contact .et_pb_button {
  padding-right: 24px;
}

/* ==========================================================================
   Sticky Header - Hide on scroll down, show on scroll up
   ========================================================================== */

.srm-header-section {
  position: fixed;
  top: var(--pum-top-bar-height, 0px);
  left: 0;
  right: 0;
  z-index: 99999;
  transition: transform 0.175s ease, top 0.3s ease;
  background: #FFFFFF;
}

.srm-header-section.srm-header--hidden {
  transform: translateY(-100%);
}

/* Add body padding to account for fixed header height */
body.srm-has-sticky-header {
  padding-top: 76px;
}

/* ==========================================================================
   Custom Header
   ========================================================================== */

.srm-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 100%;
}

.srm-header__logo {
  flex-shrink: 0;
}

.srm-header__nav {
  flex: 1;
  margin-left: 20px;
}

.srm-header__logo img {
  height: 34px;
  width: auto;
  display: block;
}

.srm-header__nav {
  display: flex;
  align-items: center;
  gap: 32px;
}

.srm-header__nav a {
  font-family: 'Nunito', sans-serif;
  font-weight: 600;
  font-size: 15px;
  color: #4a4545;
  text-decoration: none;
  white-space: nowrap;
  transition: color 0.175s ease;
}

.srm-header__nav a:hover {
  color: #d80000;
}

.srm-header__right {
  display: flex;
  align-items: center;
  gap: 8px;
}

.srm-header__search {
  display: flex;
  align-items: center;
  gap: 8px;
  background: #FFFFFF;
  border: 1px solid #e4e5e6;
  border-radius: 8px;
  padding: 6px 10px;
  width: 280px;
  height: 40px;
}

.srm-header__search svg {
  flex-shrink: 0;
}

.srm-header__search input {
  border: none;
  outline: none;
  background: transparent;
  font-family: 'Nunito', sans-serif;
  font-size: 14px;
  color: #001B2D;
  width: 100%;
}

.srm-header__search input::placeholder {
  color: #60656b;
}

/* Header contact button - uses Divi default button styles via et_pb_button class */
.srm-header__contact {
  white-space: nowrap;
}

.srm-header__contact.et_pb_button {
  padding: 6px 18px !important;
}

.srm-header__contact.et_pb_button::after,
.srm-header__contact.et_pb_button::before,
.srm-header__contact.et_pb_button:hover::after,
.srm-header__contact.et_pb_button:hover::before {
  display: none !important;
  content: none !important;
  opacity: 0 !important;
}

/* ==========================================================================
   Header - Divi Module Version
   Uses proper Divi modules for Visual Builder editability
   Styling matches client.bushwickdesign.com reference exactly
   ========================================================================== */

/* Header Section - Fixed positioning */
/* Note: top value is controlled by JS when Popup Maker top bar is active */
.srm-header-section {
  position: fixed !important;
  top: var(--pum-top-bar-height, 0px);
  left: 0;
  right: 0;
  z-index: 9999 !important;
  transition: transform 0.175s ease, top 0.3s ease;
}

.srm-header-section.srm-header--hidden {
  transform: translateY(-100%);
}

/* Body padding for fixed header */
.srm-has-sticky-header #page-container {
  padding-top: 60px;
}

/* Header Row - Single row flex layout matching original */
.srm-header-row.et_pb_row {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  flex-wrap: nowrap !important;
  padding: 0 40px !important;
  max-width: none !important;
  margin: 0 !important;
  width: 100% !important;
}

/* Override Divi's default column widths */
.srm-header-row .et_pb_column {
  display: flex !important;
  align-items: center !important;
  margin-bottom: 0 !important;
  padding-bottom: 0 !important;
  width: auto !important;
  flex: 0 0 auto !important;
}

/* Logo Column */
.srm-header-row .et_pb_column_0 {
  margin-right: 0 !important;
}

/* Nav Column - sits right next to logo */
.srm-header-row .et_pb_column_1.srm-header-nav-col {
  flex: 0 0 auto !important;
  justify-content: flex-start !important;
  margin-left: 0 !important;
  margin-right: auto !important;
}

/* Right Column - Search + Contact, pushed to right, vertically centered */
.srm-header-row .et_pb_column_2.srm-header-right-col {
  justify-content: flex-end !important;
  align-items: center !important;
  gap: 16px !important;
  margin-left: auto !important;
}

/* Logo */
.srm-header-logo {
  margin-bottom: 0 !important;
}

.srm-header-logo img {
  height: 34px !important;
  width: auto !important;
  max-height: 34px !important;
  display: block !important;
}

/* Navigation wrapper */
.srm-header-nav-wrapper {
  margin-bottom: 0 !important;
}

.srm-header-nav-wrapper .srm-header__nav {
  display: flex;
  align-items: center;
  gap: 0;
}

/* Search Module - match client server styling exactly (280px width) */
.srm-header-search,
.srm-header-row .et_pb_column .srm-header-search,
.et_pb_gutters2 .et_pb_column_1_4 .srm-header-search {
  margin-bottom: 0 !important;
  display: flex !important;
  align-items: center !important;
  background: #FFFFFF;
  border: 1px solid #e4e5e6 !important;
  border-radius: 8px;
  padding: 6px 10px !important;
  height: 40px !important;
  width: 280px !important;
  box-sizing: border-box !important;
}

/* Remove Divi's default form border */
.srm-header-search form {
  display: flex !important;
  align-items: center !important;
  background: transparent !important;
  border: none !important;
  padding: 0 !important;
  margin: 0 !important;
  width: 100% !important;
  height: auto !important;
  box-shadow: none !important;
}

/* Search icon positioning via wrapper */
.srm-header-search::before {
  content: "";
  flex-shrink: 0;
  width: 16px;
  height: 16px;
  margin-right: 8px;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%2394A3B8' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='11' cy='11' r='8'%3E%3C/circle%3E%3Cpath d='m21 21-4.3-4.3'%3E%3C/path%3E%3C/svg%3E");
  background-size: contain;
  background-repeat: no-repeat;
}

.srm-header-search .et_pb_s {
  border: none !important;
  outline: none !important;
  background: transparent !important;
  font-family: 'Nunito', sans-serif !important;
  font-size: 14px !important;
  color: #001B2D !important;
  padding: 2px !important;
  margin: 0 !important;
  height: auto !important;
  box-shadow: none !important;
  width: 234px !important;
}

.srm-header-search .et_pb_s::placeholder {
  color: #60656b !important;
}

/* Hide default Divi search button */
.srm-header-search .et_pb_searchsubmit {
  display: none !important;
}

/* Contact Button WRAPPER - override Divi's margin-bottom: 6.593% */
.srm-header-row .et_pb_button_module_wrapper,
.srm-header-row .et_pb_column .et_pb_button_module_wrapper,
.et_pb_gutters2 .et_pb_column_1_4 .et_pb_button_module_wrapper {
  margin-bottom: 0 !important;
}

@media (min-width: 981px) {
  .srm-header-row .et_pb_button_module_wrapper,
  .srm-header-row .et_pb_module,
  .et_pb_gutters2 .srm-header-row .et_pb_column_1_4 .et_pb_module,
  .et_pb_gutters2.et_pb_row .srm-header-row .et_pb_column_1_4 .et_pb_module {
    margin-bottom: 0 !important;
  }
}

/* Contact Button - match client server: padding 6px 18px */
.srm-header-contact.et_pb_button,
.srm-header-row .et_pb_column .srm-header-contact.et_pb_button,
body .srm-header-contact.et_pb_button {
  margin-bottom: 0 !important;
  padding-top: 6px !important;
  padding-bottom: 6px !important;
  padding-left: 18px !important;
  padding-right: 18px !important;
  white-space: nowrap;
  border-radius: 9999px !important;
  font-size: 16px !important;
  line-height: 1.7 !important;
  height: auto !important;
  display: inline-flex !important;
  align-items: center !important;
}

/* Contact Button HOVER - maintain same padding */
.srm-header-contact.et_pb_button:hover,
.srm-header-row .et_pb_column .srm-header-contact.et_pb_button:hover,
body .srm-header-contact.et_pb_button:hover {
  padding-top: 6px !important;
  padding-bottom: 6px !important;
  padding-left: 18px !important;
  padding-right: 18px !important;
  border-radius: 9999px !important;
}

/* Hide button icon completely */
.srm-header-contact.et_pb_button::after,
.srm-header-contact.et_pb_button::before,
body .srm-header-contact.et_pb_button::after,
body .srm-header-contact.et_pb_button::before,
.et_pb_button.srm-header-contact::after,
.et_pb_button.srm-header-contact::before {
  display: none !important;
  content: "" !important;
  opacity: 0 !important;
  width: 0 !important;
  height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  font-size: 0 !important;
}

/* WordPress Navigation Menu Styling */
.srm-nav-menu {
  display: flex;
  align-items: center;
  gap: 0;
  list-style: none;
  margin: 0;
  padding: 0;
}

.srm-nav-menu li {
  list-style: none;
}

.srm-nav-menu > li {
  position: relative;
  margin: 0;
  padding: 0;
}

.srm-nav-menu > li > a {
  display: block;
  font-family: 'Nunito', sans-serif;
  font-weight: 600;
  font-size: 15px;
  color: #001b2d;
  text-decoration: none;
  padding: 12px 20px;
  white-space: nowrap;
  transition: color 0.175s ease;
  border-bottom: 3px solid transparent;
}

.srm-nav-menu > li > a:hover,
.srm-nav-menu > li.current-menu-item > a,
.srm-nav-menu > li.current-menu-ancestor > a {
  color: #001B2D;
  border-bottom-color: #d80000;
}

/* Mega Menu Dropdown */
.srm-nav-menu > li > .sub-menu {
  position: absolute;
  top: 100%;
  left: 0;
  display: none;
  background: #FFFFFF;
  border-radius: 0 0 12px 12px;
  box-shadow: 0 10px 40px rgba(0, 0, 0, 0.12);
  padding: 20px;
  margin: 0;
  min-width: 200px;
  z-index: 9999;
  list-style: none;
}

/* Show dropdown on hover - flex for mega menu with columns (JS equalizes widths) */
.srm-nav-menu > li.menu-item-has-children:hover > .sub-menu {
  display: flex;
  gap: 48px;
}

/* When sub-menu has NO items with L3 children, use vertical layout */
.srm-nav-menu > li.menu-item-has-children:hover > .sub-menu:not(:has(.menu-item-has-children)) {
  flex-direction: column;
  gap: 0;
}

/* Level 2 - Column containers */
.srm-nav-menu > li > .sub-menu > li {
  margin: 0;
  padding: 0;
  flex: 0 0 auto;
}

/* Level 2 links - Column headers */
.srm-nav-menu > li > .sub-menu > li > a {
  display: block;
  font-family: 'Inter', sans-serif;
  font-weight: 700;
  font-size: 16px;
  color: #001B2D;
  text-decoration: none;
  padding: 0 0 12px 0;
  margin: 0 0 8px 0;
  white-space: nowrap;
  border: none;
}

/* Level 2 links WITHOUT children - style like L3 items */
.srm-nav-menu > li > .sub-menu > li:not(.menu-item-has-children) > a {
  font-family: 'Nunito', sans-serif;
  font-weight: 700;
  font-size: 14px;
  color: #60656b;
  padding: 6px 0;
  margin: 0;
}

.srm-nav-menu > li > .sub-menu > li:not(.menu-item-has-children) > a:hover {
  color: #d80000;
}

/* Level 3 - Sub-items (vertical list under each column) */
.srm-nav-menu > li > .sub-menu > li > .sub-menu {
  display: block !important;
  position: static;
  background: transparent;
  box-shadow: none;
  border-radius: 0;
  padding: 0;
  margin: 0;
  min-width: 0;
  list-style: none;
}

.srm-nav-menu > li > .sub-menu > li > .sub-menu > li {
  margin: 0;
  padding: 0;
}

.srm-nav-menu > li > .sub-menu > li > .sub-menu > li > a {
  display: block;
  font-family: 'Nunito', sans-serif;
  font-weight: 700;
  font-size: 14px;
  color: #60656b;
  text-decoration: none;
  padding: 6px 0;
  white-space: nowrap;
  transition: color 0.175s ease;
  border: none;
  background: transparent;
}

.srm-nav-menu > li > .sub-menu > li > .sub-menu > li > a:hover {
  color: #d80000;
}

/* Hide 4th level if any */
.srm-nav-menu .sub-menu .sub-menu .sub-menu {
  display: none !important;
}

/* ==========================================================================
   What We Do - Service Navigation Pills
   ========================================================================== */

.wwd-pills-section {
  margin-top: -24px !important;
  position: relative;
  z-index: 10;
}

.wwd-pills-section > div {
  padding: 0;
}

.wwd-service-cards {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 16px;
  flex-wrap: wrap;
}

.wwd-service-card {
  display: flex;
  align-items: center;
  gap: 14px;
  background: #FFFFFF;
  padding: 18px 28px;
  border-radius: 9999px;
  box-shadow: 0 4px 24px rgba(0, 0, 0, 0.1);
  text-decoration: none;
  transition: all 0.175s ease;
  white-space: nowrap;
}

.wwd-service-card:hover {
  transform: translateY(-3px);
  box-shadow: 0 8px 32px rgba(0, 0, 0, 0.15);
}

.wwd-service-card__icon {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 24px;
  height: 24px;
}

.wwd-service-card__icon svg {
  width: 22px;
  height: 22px;
}

/* Individual icon colors */
.wwd-service-card:nth-child(1) .wwd-service-card__icon { color: #d80000; }
.wwd-service-card:nth-child(2) .wwd-service-card__icon { color: #85439a; }
.wwd-service-card:nth-child(3) .wwd-service-card__icon { color: #009d5f; }
.wwd-service-card:nth-child(4) .wwd-service-card__icon { color: #001B2D; }
.wwd-service-card:nth-child(5) .wwd-service-card__icon { color: #0063a6; }

.wwd-service-card__title {
  font-family: 'Nunito', sans-serif;
  font-weight: 600;
  font-size: 15px;
  color: #001B2D;
}

/* ==========================================================================
   SRM Pills Nav Module
   ========================================================================== */

.srm-pills-nav {
  position: relative;
  z-index: 10;
}

.srm-pills-nav__container {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 3vw !important;
}

.et_pb_srm_pill_item {
  margin-bottom: 0 !important;
}

.et_pb_srm_checklist_item {
  margin-bottom: 20px !important;
  border-radius: 14px;
  background: #FFFFFF;
  box-shadow: 0 0 20px 0 rgba(0,0,0,0.14);
  padding: 20px;
}

.srm-pill-item {
  display: flex;
  align-items: center;
  gap: 14px;
  background: #FFFFFF;
  padding: 10px 20px;
  border-radius: 9999px;
  box-shadow: 0 4px 24px rgba(0, 0, 0, 0.3);
  text-decoration: none;
  transition: all 0.175s ease;
  white-space: nowrap;
  cursor: pointer;
  font-weight: 700 !important;
}

.srm-pill-item:hover {
  transform: translateY(-3px);
  box-shadow: 0 8px 32px rgba(0, 0, 0, 0.15);
}

/* Pill Item Hover States - background color set dynamically via icon_color in PHP module */
.srm-pill-item:hover .srm-pill-item__icon,
.srm-pill-item:hover .srm-pill-item__icon svg {
  color: #FFFFFF !important;
}

.srm-pill-item:hover .srm-pill-item__title {
  color: #FFFFFF !important;
}

.srm-pill-item--active {
  background: #0063a6;
}

.srm-pill-item--active .srm-pill-item__title {
  color: #FFFFFF;
}

.srm-pill-item--active .srm-pill-item__icon {
  color: #FFFFFF !important;
}

.srm-pill-item__icon {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  width: 18px;
  height: 18px;
}

.srm-pill-item__icon svg,
.srm-pill-item__icon i[data-lucide] {
  width: 22px;
  height: 22px;
}

.srm-pill-item__icon--divi {
  font-size: 22px;
  line-height: 1;
}

.srm-pill-item__title {
  font-family: 'Nunito', sans-serif;
  font-weight: 700;
  font-size: 15px;
  color: #001B2D;
}

/* Responsive - stack pills on mobile */
@media (max-width: 768px) {
  .srm-pills-nav__container {
    gap: 8px !important;
  }
  
  .srm-pill-item {
    padding: 14px 20px;
    gap: 10px;
  }
  
  .srm-pill-item__title {
    font-size: 14px;
  }
  
  .srm-pill-item__icon {
    width: 20px;
    height: 20px;
  }
  
  .srm-pill-item__icon svg,
  .srm-pill-item__icon i[data-lucide] {
    width: 18px;
    height: 18px;
  }
}

/* ==========================================================================
   SRM Lucide Icon Module
   ========================================================================== */

/* Divi module wrapper - constrain to content width, no background */
.et_pb_srm_lucide_icon {
  display: inline-block;
  width: auto;
  background: transparent !important;
}

.srm-lucide-icon {
  display: inline-block;
  line-height: 0;
}

.srm-lucide-icon__wrapper {
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 12px;
  flex-shrink: 0;
}

.srm-lucide-icon__icon {
  display: block;
}

/* Ensure icon renders properly */
.srm-lucide-icon__icon svg {
  display: block;
  width: inherit;
  height: inherit;
}

/* Visual Builder preview */
.et-fb .srm-lucide-icon__icon {
  min-width: 24px;
  min-height: 24px;
}

/* Remove bottom margin from lucide icon module */
.et_pb_section:not(.et_pb_section_1) .et_pb_srm_lucide_icon {
  margin-bottom: 0 !important;
}

.et_pb_srm_lucide_icon + div {
  margin-top: 0 !important;
}

.et_pb_section_1 .et_pb_srm_lucide_icon {
  margin-bottom: 25px !important;
}

.srm-service-hero .et_pb_srm_lucide_icon {
  margin-bottom: 0 !important;
}

/* ==========================================================================
   SRM Checklist Item Module
   ========================================================================== */

.srm-checklist-item {
  display: flex;
  gap: 14px;
  align-items: flex-start;
}

.srm-checklist-item .et_pb_module_inner {
  display: flex;
  gap: 14px;
  align-items: flex-start;
}

.srm-checklist-item__icon {
  flex-shrink: 0;
  display: flex;
  align-items: center;
  justify-content: center;
}

.srm-checklist-item__icon svg {
  width: 22px;
  height: 22px;
}

.srm-checklist-item__title {
  display: block;
  font-family: 'Inter', sans-serif;
  font-weight: 600;
  font-size: 15px;
  color: inherit;
  margin-bottom: 4px;
}

.srm-checklist-item__desc {
  font-family: 'Nunito', sans-serif;
  font-size: 14px;
  color: inherit;
  line-height: 1.6;
  margin: 0;
}

/* Card variant */
.srm-checklist-item--card {
  background: #FFFFFF;
  padding: 20px;
  border-radius: 12px;
}

.srm-checklist-item.srm-checklist-item--card {
  padding: 0;
}

.srm-checklist-item--card .srm-checklist-item__title {
  font-size: 14px;
  margin-bottom: 6px;
}

.srm-checklist-item--card .srm-checklist-item__desc {
  font-size: 13px;
  line-height: 1.5;
}

/* Default box styling for checklist items */
.et_pb_srm_checklist_item.srm-checklist-item {
  padding: 20px;
  background: #FFFFFF;
  border-radius: 12px;
  box-shadow: 0 1px 3px rgba(0,0,0,0.1);
}

/* No-box variant - removes padding and shadow from module wrapper */
.et_pb_srm_checklist_item.srm-checklist-item--no-box {
  padding: 0 !important;
  box-shadow: none !important;
  background: transparent !important;
  border-radius: 0 !important;
  margin-bottom: 10px !important;
}

/* Ensure first checklist item in each column has no top margin for vertical alignment */
.et_pb_column_inner > .et_pb_srm_checklist_item:first-child {
  margin-top: 0 !important;
}

/* ==========================================================================
   Audience Cards (Who We Serve) - Bottom Border Accents
   ========================================================================== */

.audience-card {
  position: relative;
  overflow: hidden;
  background: #FFFFFF;
  border-radius: var(--srm-rounded);
  padding: 32px;
  text-align: center;
  box-shadow: var(--srm-shadow-sm);
  transition: box-shadow 0.175s ease;
}

.audience-card:hover {
  box-shadow: var(--srm-shadow-md);
}

.audience-card::after {
  content: '';
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 4px;
}

.audience-card--red::after {
  background: var(--srm-red);
}

.audience-card--dark::after {
  background: var(--srm-gray-900);
}

.audience-card--blue::after {
  background: var(--srm-blue-600);
}

.audience-card--gray::after {
  background: var(--srm-gray-500);
}

/* Who We Serve - Equal height cards */
.wws-cards-row.et_pb_row {
  display: flex !important;
  flex-wrap: wrap;
}

.wws-cards-row .et_pb_column {
  display: flex !important;
}

.wws-cards-row .et_pb_column .et_pb_module {
  flex: 1;
  display: flex;
  flex-direction: column;
  height: 100%;
}

.wws-cards-row .et_pb_text_inner {
  height: 100%;
  display: flex;
  flex-direction: column;
}

.wws-cards-row .et_pb_text_inner > div {
  height: 100%;
  display: flex;
  flex-direction: column;
}

.wws-cards-row .et_pb_text_inner > div p {
  flex: 1;
}

/* Audience card icon */
.audience-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 48px;
  height: 48px;
  border-radius: 50%;
  color: #FFFFFF;
  margin: 0 auto 24px;
}

.audience-icon-red { background: var(--srm-red); }
.audience-icon-dark { background: var(--srm-gray-900); }
.audience-icon-blue { background: var(--srm-blue-600); }
.audience-icon-gray { background: var(--srm-gray-500); }

/* Audience card CTA link */
.audience-link {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  font-size: 12px;
  font-weight: 700;
  color: var(--srm-gray-700);
  text-transform: uppercase;
  letter-spacing: 0.05em;
  transition: color 0.175s ease;
}

.audience-link:hover {
  color: var(--srm-red);
}

/* ==========================================================================
   SRM Audience Card Module (Who We Serve)
   ========================================================================== */

.et_pb_srm_audience_card {
  position: relative;
  display: flex !important;
  flex-direction: column !important;
  align-items: center;
  text-align: center;
  background: #FFFFFF;
  border-radius: 12px;
  padding: 24px 20px 20px;
  border: none;
  box-shadow: 0 0 20px 0 rgba(0,0,0,0.14);
  transition: box-shadow 0.175s ease, transform 0.175s ease;
  height: 100%;
  overflow: hidden;
}

/* Bottom accent line as pseudo-element (straight, clipped by border-radius) */
.et_pb_srm_audience_card::before {
  content: '';
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  height: 6px;
  background: var(--accent-color, var(--srm-red, #d80000));
  z-index: 1;
}

.et_pb_srm_audience_card:hover {
  box-shadow: 0 6px 16px rgba(0, 0, 0, 0.15);
  transform: translateY(-2px);
}

.et_pb_srm_audience_card .et_pb_module_inner {
  height: 100%;
  display: flex;
  flex-direction: column;
  align-items: center;
}

.srm-audience-card__icon {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 48px;
  height: 48px;
  border-radius: 50%;
  margin-left: auto;
  margin-right: auto;
  margin-bottom: 20px;
  flex-shrink: 0;
}

.srm-audience-card__icon i,
.srm-audience-card__icon svg {
  width: 22px;
  height: 22px;
  color: #FFFFFF;
  stroke: #FFFFFF;
}

.srm-audience-card__title {
  font-family: 'Inter', sans-serif;
  font-weight: 700;
  font-size: 17px;
  color: #001B2D;
  margin: 0 0 10px 0;
}

.srm-audience-card__desc {
  font-family: 'Nunito', sans-serif;
  font-size: 14px;
  color: #001B2D;
  line-height: 1.5;
  margin: 0 0 14px 0;
  flex: 1;
}

.srm-audience-card__desc p {
  margin: 0;
}

.srm-audience-card__cta {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-family: 'Nunito', sans-serif;
  font-weight: 700;
  font-size: 14px;
  text-decoration: none;
  transition: opacity 0.175s ease;
}

.srm-audience-card__cta:hover {
  opacity: 0.8;
}

.srm-audience-card__arrow {
  display: inline-block;
  width: 13px;
  height: 20px;
  vertical-align: middle;
  font-size: 0;
  background-color: currentColor;
  -webkit-mask: url('../img/arrow.svg') no-repeat center / contain;
  mask: url('../img/arrow.svg') no-repeat center / contain;
  margin-left: .75vw;
  transition: transform 0.175s ease;
}

.srm-audience-card__cta:hover .srm-audience-card__arrow {
  transform: translateX(3px);
}

.audience-link .arrow {
  display: inline-block;
  width: 13px;
  height: 20px;
  vertical-align: middle;
  font-size: 0;
  background-color: currentColor;
  -webkit-mask: url('../img/arrow.svg') no-repeat center / contain;
  mask: url('../img/arrow.svg') no-repeat center / contain;
  margin-left: .75vw;
  transition: transform 0.175s ease;
}

.audience-link:hover .arrow {
  transform: translateX(4px);
}

/* ==========================================================================
   Stats Section
   ========================================================================== */

.stats-section-inner {
  background: var(--srm-red);
  border-radius: var(--srm-rounded-2xl);
  padding: 64px;
  box-shadow: var(--srm-shadow-xl);
}

@media (max-width: 767px) {
  .stats-section-inner {
    padding: 32px;
  }
}

.stat-card {
  background: #FFFFFF;
  border-radius: var(--srm-rounded-lg);
  padding: 32px;
}

.stat-title {
  font-size: 24px;
  font-weight: 700;
  color: var(--srm-gray-900);
  margin-bottom: 16px;
}

.stat-number {
  color: var(--srm-red);
}

.stat-desc {
  font-size: 14px;
  color: var(--srm-gray);
  line-height: 1.6;
  margin: 0;
}

/* ==========================================================================
   Solution Cards
   ========================================================================== */

.solution-card {
  border: 1px solid var(--srm-gray-200);
  border-radius: var(--srm-rounded);
  padding: 32px;
  position: relative;
  overflow: hidden;
  transition: box-shadow 0.175s ease;
  height: 100%;
  display: flex;
  flex-direction: column;
}

.solution-card:hover {
  box-shadow: var(--srm-shadow-lg);
}

/* Left border accent */
.solution-card::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 6px;
  height: 100%;
}

.solution-card--red::before { background: var(--srm-red); }
.solution-card--purple::before { background: var(--srm-purple); }
.solution-card--blue::before { background: var(--srm-blue-600); }

/* Header */
.solution-header {
  display: flex;
  align-items: flex-start;
  gap: 16px;
  margin-bottom: 24px;
}

.solution-icon {
  padding: 8px;
  border-radius: var(--srm-rounded);
  color: #FFFFFF;
  flex-shrink: 0;
}

.solution-card--red .solution-icon { background: var(--srm-red); }
.solution-card--purple .solution-icon { background: var(--srm-purple); }
.solution-card--blue .solution-icon { background: var(--srm-blue-600); }

.solution-icon svg {
  width: 24px;
  height: 24px;
}

.solution-title {
  font-size: 20px;
  font-weight: 700;
  color: var(--srm-gray-900);
  margin: 0 0 4px 0;
  line-height: 1.2;
}

.solution-subtitle {
  font-size: 12px;
  color: var(--srm-gray-500);
  font-style: italic;
  margin: 0;
}

/* Logo area */
.solution-logo-area {
  border: 1px solid var(--srm-gray-100);
  border-radius: var(--srm-rounded-sm);
  padding: 32px;
  min-height: 120px;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 24px;
}

/* Description */
.solution-desc {
  font-size: 14px;
  color: var(--srm-gray);
  line-height: 1.6;
  margin-bottom: 24px;
  min-height: 60px;
  flex-grow: 1;
}

/* CTA Link */
.solution-link {
  font-size: 14px;
  font-weight: 700;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  transition: color 0.175s ease;
}

.solution-card--red .solution-link { color: var(--srm-red); }
.solution-card--purple .solution-link { color: var(--srm-purple); }
.solution-card--blue .solution-link { color: var(--srm-blue-600); }

.solution-link .arrow {
  display: inline-block;
  width: 13px;
  height: 20px;
  vertical-align: middle;
  font-size: 0;
  background-color: currentColor;
  -webkit-mask: url('../img/arrow.svg') no-repeat center / contain;
  mask: url('../img/arrow.svg') no-repeat center / contain;
  margin-left: .75vw;
  transition: transform 0.175s ease;
}

.solution-link:hover .arrow {
  transform: translateX(4px);
}

/* CourseStart logo */
.coursestart-logo .course {
  font-size: 30px;
  font-weight: 300;
  color: #C4B5FD;
}

.coursestart-logo .start {
  font-size: 30px;
  font-weight: 700;
  color: #93C5FD;
}

.coursestart-logo .byline {
  font-size: 10px;
  color: #9CA3AF;
  margin-top: 4px;
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 4px;
}

.coursestart-logo .dot {
  color: var(--srm-red);
}

/* ==========================================================================
   Insights Section
   ========================================================================== */

.insight-column {
  display: flex;
  flex-direction: column;
}

.insight-category {
  font-size: 24px;
  font-weight: 700;
  color: var(--srm-gray-900);
  margin-bottom: 16px;
}

.insight-intro {
  font-size: 12px;
  color: var(--srm-gray-500);
  margin-bottom: 16px;
  height: 32px;
  overflow: hidden;
}

/* Card */
.insight-card {
  background: #FFFFFF;
  border-radius: var(--srm-rounded);
  overflow: hidden;
  display: flex;
  flex-direction: column;
  flex-grow: 1;
  box-shadow: var(--srm-shadow-sm);
  transition: box-shadow 0.175s ease;
}

.insight-card:hover {
  box-shadow: var(--srm-shadow-md);
}

/* Image area */
.insight-image {
  position: relative;
  height: 192px;
}

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

.insight-overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(to top, rgba(0,0,0,0.8), transparent);
  display: flex;
  align-items: flex-end;
  padding: 16px;
}

.insight-title {
  color: #FFFFFF;
  font-weight: 700;
  font-size: 16px;
  line-height: 1.3;
  margin: 0;
}

/* Content area */
.insight-content {
  padding: 24px;
  display: flex;
  flex-direction: column;
  flex-grow: 1;
}

.insight-desc {
  font-size: 14px;
  color: var(--srm-gray);
  margin-bottom: 24px;
  flex-grow: 1;
}

.insight-link {
  color: var(--srm-red);
  font-size: 12px;
  font-weight: 700;
  text-transform: uppercase;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  margin-top: auto;
  transition: color 0.175s ease;
}

.insight-link:hover {
  color: var(--srm-dark-red);
}

.insight-link .arrow {
  display: inline-block;
  width: 13px;
  height: 20px;
  vertical-align: middle;
  font-size: 0;
  background-color: currentColor;
  -webkit-mask: url('../img/arrow.svg') no-repeat center / contain;
  mask: url('../img/arrow.svg') no-repeat center / contain;
  margin-left: .75vw;
  transition: transform 0.175s ease;
}

.insight-link:hover .arrow {
  transform: translateX(4px);
}

/* ==========================================================================
   Footer
   ========================================================================== */

/* Footer links list */
.footer-links {
  list-style: none;
  padding: 0;
  margin: 0;
}

.footer-links li {
  margin-bottom: 12px;
}

.footer-links a {
  font-size: 14px;
  color: var(--srm-gray);
  text-decoration: none;
  transition: color 0.175s ease;
}

.footer-links a:hover {
  color: var(--srm-red);
}

/* Legal links */
.legal-links {
  display: flex;
  gap: 24px;
}

.legal-links a {
  font-size: 12px;
  color: var(--srm-gray-500);
  text-decoration: none;
  transition: color 0.175s ease;
}

.legal-links a:hover {
  color: var(--srm-gray-900);
}

/* Footer logo */
.footer-logo {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 16px;
}

.footer-logo .logo-text {
  font-size: 20px;
  font-weight: 700;
  color: var(--srm-gray-900);
}

/* ==========================================================================
   Buttons
   ========================================================================== */

/* ==========================================================================
   Default Button Reset - Override Divi Customizer Settings
   ========================================================================== */

/* Global button styles - use high specificity to override Divi's generated CSS */
html body.et_divi_theme #page-container .et_pb_section .et_pb_button,
html body #page-container #main-content .et_pb_button,
body #page-container .et_pb_section .et_pb_button,
body #page-container .et_pb_button,
body .et_pb_button,
.et_pb_button {
  font-family: 'Nunito', sans-serif !important;
  font-weight: 700 !important;
  font-size: 16px;
  border-radius: 9999px !important;
  padding: 8px 40px 8px 24px;
  transition: all 0.175s ease !important;
}

.et_pb_button[data-icon]::after {
  margin-left: 10px;
}

/* Primary Button */
.srm-btn-primary,
.et_pb_button.srm-btn-primary {
  background-color: var(--srm-red);
  color: #FFFFFF;
  border-radius: var(--srm-rounded-full);
  padding: 12px 32px;
  font-weight: 700;
  border: none;
  transition: background-color 0.175s ease;
}

.srm-btn-primary:hover,
.et_pb_button.srm-btn-primary:hover {
  background-color: var(--srm-dark-red);
}

/* Secondary Button (White on colored bg) */
.srm-btn-secondary,
.et_pb_button.srm-btn-secondary {
  background-color: #FFFFFF;
  color: var(--srm-red);
  border-radius: var(--srm-rounded-full);
  padding: 12px 32px;
  font-weight: 700;
  border: none;
  transition: background-color 0.175s ease;
}

.srm-btn-secondary:hover,
.et_pb_button.srm-btn-secondary:hover {
  background-color: var(--srm-gray-100);
}

/* Blue secondary button */
.srm-btn-secondary-blue,
.et_pb_button.srm-btn-secondary-blue {
  background-color: #FFFFFF;
  color: var(--srm-blue);
  border-radius: var(--srm-rounded-full);
  padding: 12px 32px;
  font-weight: 700;
  border: none;
  transition: background-color 0.175s ease;
}

.srm-btn-secondary-blue:hover,
.et_pb_button.srm-btn-secondary-blue:hover {
  background-color: var(--srm-gray-100);
}

/* Outline Button */
.srm-btn-outline,
.et_pb_button.srm-btn-outline {
  background-color: transparent;
  color: #FFFFFF;
  border: 2px solid #FFFFFF;
  border-radius: var(--srm-rounded-full);
  padding: 10px 30px;
  font-weight: 700;
  transition: background-color 0.175s ease;
}

.srm-btn-outline:hover,
.et_pb_button.srm-btn-outline:hover {
  background-color: rgba(255,255,255,0.1);
}


/* ==========================================================================
   Header/Navbar
   ========================================================================== */

/* Sticky header shadow */
.et_pb_section.srm-header {
  box-shadow: var(--srm-shadow-sm);
}

/* Search field styling */
.srm-header .et_pb_search {
  border: 1px solid var(--srm-gray-200);
  border-radius: var(--srm-rounded-full);
  overflow: hidden;
}

.srm-header .et_pb_search input[type="text"] {
  border: none;
  padding-left: 40px;
}

.srm-header .et_pb_search input[type="text"]:focus {
  border-color: var(--srm-red);
  outline: none;
}

/* Nav link styling */
.srm-header .et-menu li a {
  font-weight: 500;
  color: var(--srm-gray-700);
  transition: color 0.175s ease;
}

.srm-header .et-menu li a:hover {
  color: var(--srm-red);
}

/* Logo with red accent text */
.srm-logo .logo-text {
  font-family: var(--srm-font-sans);
  font-weight: 700;
  font-size: 24px;
  color: var(--srm-gray-900);
  letter-spacing: -0.5px;
}

/* ==========================================================================
   Section Backgrounds
   ========================================================================== */

.srm-bg-gray {
  background-color: var(--srm-gray-50) !important;
}

.srm-bg-blue {
  background-color: var(--srm-blue) !important;
}

.srm-bg-red {
  background-color: var(--srm-red) !important;
}

.srm-bg-white {
  background-color: #FFFFFF !important;
}

/* ==========================================================================
   Utility Classes
   ========================================================================== */

.srm-text-center {
  text-align: center;
}

.srm-text-red {
  color: var(--srm-red);
}

.srm-text-blue {
  color: var(--srm-blue);
}

.srm-text-white {
  color: #FFFFFF;
}

.srm-text-gray {
  color: var(--srm-gray);
}

.srm-max-w-prose {
  max-width: 672px;
  margin-left: auto;
  margin-right: auto;
}

/* ==========================================================================
   Divi Module Overrides
   ========================================================================== */

/* Remove default Divi button arrow on specific buttons */
.et_pb_button.no-arrow:after {
  display: none;
}

/* Card module styling helper */
.et_pb_column .srm-card {
  background: #FFFFFF;
  border-radius: var(--srm-rounded-lg);
  padding: 32px;
  box-shadow: var(--srm-shadow-sm);
  transition: box-shadow 0.175s ease;
}

.et_pb_column .srm-card:hover {
  box-shadow: var(--srm-shadow-md);
}

/* ==========================================================================
   SRM Hero Headline Module
   ========================================================================== */

.srm-hero-headline {
  font-family: 'Inter', var(--srm-font-sans), sans-serif;
  font-size: 48px;
  font-weight: 600;
  line-height: 1.15;
  margin: 0;
}

@media (min-width: 981px) {
  .srm-hero-headline {
    font-size: 60px;
    line-height: 1.24;
  }
}

@media (max-width: 767px) {
  .srm-hero-headline {
    font-size: 36px;
    line-height: 1.2;
  }
}

/* Highlight background for prefix/suffix */
.srm-hero-headline .srm-highlight {
  display: inline;
  padding: 2px 0px 2px 12px;
  box-decoration-break: clone;
  -webkit-box-decoration-break: clone;
  /* background-color is set via inline style from module */
}

@media (max-width: 767px) {
  .srm-hero-headline .srm-highlight {
    padding: 2px 8px;
  }
}

/* Rotating word container */
.srm-hero-headline__rotating {
  display: inline-block;
  position: relative;
  min-width: 1em;
  padding: 0 8px 0 16px;
  transition: opacity 0.25s ease, transform 0.25s ease;
}

.srm-hero-break {
  display: none !important
}

@media (min-width: 1367px) {
  .srm-hero-break {
    display: block !important;
  }
}


/* Fade animation states */
.srm-hero-headline__rotating.is-leaving {
  opacity: 0;
  transform: translateY(-8px);
}

.srm-hero-headline__rotating.is-entering {
  opacity: 1;
  transform: translateY(0);
}

/* Suffix highlight margin adjustment */
.srm-hero-headline__suffix.srm-highlight {
  margin-left: 4vw;
}

/* Hero headline responsive - tablet/small desktop (901px-1366px) */
@media (min-width: 901px) and (max-width: 1366px) {
  .srm-hero-headline {
    line-height: 1.4;
  }
  
  .srm-hero-headline__rotating {
    display: block;
    padding-left: 0;
  }
  
  .srm-hero-headline__suffix.srm-highlight {
    margin-left: 0;
  }
}

/* Hero headline responsive - tablet (768px-900px) */
@media (min-width: 768px) and (max-width: 900px) {
  .srm-hero-headline {
    line-height: 1.4;
  }
  
  .srm-hero-headline__suffix.srm-highlight {
    margin-left: 0;
    padding-left: 0;
  }
}

/* Hero headline responsive - mobile (below 768px) */
@media (max-width: 767px) {
  .srm-hero-headline {
    line-height: 1.4;
  }
  
  .srm-hero-headline__rotating {
    display: block;
    padding-left: 0;
  }
  
  .srm-hero-headline__suffix.srm-highlight {
    margin-left: 0;
  }
}

/* Homepage hero headline color */
.et_pb_srm_hero_headline_0 .srm-hero-headline {
  color: #009ad0;
}

/* Typewriter cursor effect (optional enhancement) */
.srm-hero-headline__rotating[data-animation="typewriter"]::after {
  content: '|';
  display: inline-block;
  margin-left: 2px;
  animation: blink 0.7s step-end infinite;
  opacity: 0.7;
}

@keyframes blink {
  0%, 100% { opacity: 0.7; }
  50% { opacity: 0; }
}

/* Dotted character replacement (i, j) */
.srm-char-dotted {
  position: relative;
  display: inline-block;
}

/* Clip the top of i/j to hide native dot */
.srm-char-i .srm-char-base,
.srm-char-j .srm-char-base {
  display: inline-block;
  clip-path: inset(0.45em 0 0 0);
}

/* Position the replacement dot icon */
.srm-char-dot {
  position: absolute;
  top: 0.05em;
  left: 50%;
  transform: translateX(-50%);
  width: 0.23em;
  height: 0.23em;
  pointer-events: none;
  z-index: 1;
}

.srm-char-dot img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  display: block;
}

/* Visual Builder preview */
.et-fb .srm-hero-headline__rotating {
  min-width: 100px;
}

.et-fb .srm-hero-headline__rotating::after {
  display: none;
}

/* ==========================================================================
   Section Subheaders - Force Nunito
   ========================================================================== */
.srm-case-studies-grid + .et_pb_button,
.srm-testimonials-grid + .et_pb_button {
  margin-top: 32px;
}

/* Force Nunito on section subheaders (overrides Divi's Inter) */
body #page-container .et_pb_section .et_pb_text .et_pb_text_inner,
body #page-container .et_pb_section .et_pb_text p,
body #page-container .et_pb_section .et_pb_text_align_center .et_pb_text_inner {
  font-family: 'Nunito', sans-serif !important;
}

/* ==========================================================================
   Case Studies Grid
   ========================================================================== */
.srm-case-studies-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 32px;
}

@media (max-width: 980px) {
  .srm-case-studies-grid {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (max-width: 767px) {
  .srm-case-studies-grid {
    grid-template-columns: 1fr;
  }
}

.srm-case-study-card {
  display: flex;
  flex-direction: column;
  text-decoration: none;
  color: inherit;
  background: #FFFFFF;
  border-radius: 12px;
  overflow: hidden;
  box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -2px rgba(0, 0, 0, 0.1);
  transition: transform 0.3s ease, box-shadow 0.175s ease;
}

.srm-case-study-card:hover {
  transform: translateY(-4px);
}

.srm-case-study-card__link {
  text-decoration: none;
  color: inherit;
  display: flex;
  flex-direction: column;
  flex: 1;
}

.srm-case-study-card__image {
  position: relative;
  height: 180px;
  overflow: hidden;
}

.srm-case-study-card__image::after {
  content: '';
  position: absolute;
  inset: 0;
  background-color: rgba(0, 100, 166, 0.6);
  mix-blend-mode: multiply;
  pointer-events: none;
}

/* No overlay modifier - grid level */
.srm-case-studies-grid--no-overlay .srm-case-study-card__image::after {
  display: none;
}

/* No overlay modifier - card level */
.srm-case-study-card--no-overlay .srm-case-study-card__image::after {
  display: none;
}

.srm-case-study-card__image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.5s ease;
}

.srm-case-study-card:hover .srm-case-study-card__image img {
  transform: scale(1.05);
}

.srm-case-study-card__overlay {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  padding: 20px 20px 10px;
  background: linear-gradient(to top, rgba(0, 0, 0, 0.8), transparent);
}

.srm-case-study-card__overlay > * {
  position: relative;
  z-index: 1;
}

.srm-case-study-card__subtitle {
  display: block;
  font-size: 12px;
  color: #D1D5DB;
  margin-bottom: 4px;
  font-family: 'Nunito', sans-serif;
}

.srm-case-study-card__title {
  font-size: 18px;
  font-weight: 700;
  color: #FFFFFF;
  margin: 0;
  font-family: 'Inter', sans-serif;
}

.srm-case-study-card__content {
  padding: 20px;
  background: transparent;
  border: none;
  border-radius: 0 0 12px 12px;
  flex: 1;
  display: flex;
  flex-direction: column;
}

.srm-case-study-card__content p {
  font-size: 14px;
  color: #001B2D;
  margin: 0 0 16px 0;
  line-height: 1.6;
  font-family: 'Nunito', sans-serif;
}

.srm-case-study-card__cta {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-size: 12px;
  font-weight: 700;
  color: #d80000;
  text-transform: none;
  letter-spacing: initial;
  font-family: 'Nunito', sans-serif;
  margin-top: auto;
}

.srm-case-study-card__cta svg {
  width: 12px;
  height: 12px;
  transition: transform 0.175s ease;
}

.srm-case-study-card:hover .srm-case-study-card__cta svg {
  transform: translateX(4px);
}

/* ==========================================================================
   Testimonials Grid
   ========================================================================== */
.srm-testimonials-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 32px;
  max-width: initial;
  margin: 0 auto;
}

@media (max-width: 767px) {
  .srm-testimonials-grid {
    grid-template-columns: 1fr;
  }
}

.srm-testimonial-card {
  background: #FFFFFF;
  padding: 28px;
  border-radius: 18px;
  box-shadow: 0 2px 3px 0 rgba(0,0,0,0.25);
  border: 1px solid #F3F4F6;
  position: relative;
  display: flex;
  flex-direction: column;
  gap: 16px;
}

.srm-testimonial-card__quote-wrapper {
  display: flex;
  gap: 12px;
  align-items: flex-start;
}

.srm-testimonial-card__quote-icon {
  flex-shrink: 0;
  width: 24px;
  margin-top: 2px;
}

.srm-testimonial-card__quote-icon img {
  width: 24px;
  height: auto;
  opacity: initial;
}

.srm-testimonial-card__quote {
  font-size: 15px;
  font-style: italic;
  color: #001B2D;
  line-height: 1.6;
  margin: 0;
  font-family: 'Nunito', sans-serif;
}

.srm-testimonial-card__author {
  display: flex;
  align-items: center;
  gap: 12px;
  padding-left: 36px;
}

.srm-testimonial-card__avatar {
  width: 40px;
  height: 40px;
  border-radius: 50%;
  object-fit: cover;
}

.srm-testimonial-card__author-info {
  display: flex;
  flex-direction: column;
  gap: 1px;
}

.srm-testimonial-card__author-name {
  font-size: 14px;
  font-weight: 700;
  color: #001B2D;
  margin: 0;
  font-family: 'Nunito', sans-serif;
  line-height: 1.2;
  padding-bottom: 3px;
}

.srm-testimonial-card__author-title {
  font-size: 12px;
  color: #001B2D;
  margin: 0;
  font-family: 'Nunito', sans-serif;
  line-height: 1.2;
}

/* ==========================================================================
   Service Pages
   ========================================================================== */

/* Service Hero Section */
.srm-service-hero {
  overflow: visible;
}

.srm-service-icon-box {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 64px;
  height: 64px;
  border-radius: 16px;
  color: #FFFFFF;
}

.srm-service-icon-box svg {
  width: 32px;
  height: 32px;
}

/* Philosophy Cards */
.srm-philosophy-card {
  background: #FFFFFF;
  padding: 32px 24px;
  border-radius: 16px;
  text-align: center;
  border-bottom: 4px solid;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.05);
  transition: transform 0.175s ease;
  height: 100%;
}

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

.srm-philosophy-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 64px;
  height: 64px;
  border-radius: 50%;
  color: #FFFFFF;
  margin-bottom: 24px;
}

.srm-philosophy-icon svg {
  width: 32px;
  height: 32px;
}

.srm-philosophy-card h3 {
  font-family: 'Inter', sans-serif;
  font-weight: 700;
  font-size: 20px;
  color: #001B2D;
  margin-bottom: 12px;
}

.srm-philosophy-card p {
  font-family: 'Nunito', sans-serif;
  font-size: 14px;
  color: #001B2D;
  line-height: 1.7;
  margin: 0;
}

/* Showcase Items */
.srm-showcase-item {
  position: relative;
  border-radius: 16px;
  overflow: hidden;
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.1);
}

.srm-showcase-item img {
  width: 100%;
  height: 300px;
  object-fit: cover;
  display: block;
  transition: transform 0.5s ease;
}

.srm-showcase-item:hover img {
  transform: scale(1.05);
}

.srm-showcase-item h4 {
  font-family: 'Inter', sans-serif;
  font-weight: 700;
  font-size: 18px;
  color: #001B2D;
  text-align: center;
  margin: 16px 0 0 0;
}

/* Footer CTA Buttons (for global section) */
.srm-footer-cta-buttons {
  display: flex;
  justify-content: center;
  gap: 16px;
  flex-wrap: wrap;
}

.srm-footer-cta-btn {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 14px 28px;
  border-radius: 9999px;
  font-family: 'Inter', sans-serif;
  font-weight: 600;
  font-size: 14px;
  text-decoration: none;
  transition: all 0.175s ease;
}

.srm-footer-cta-btn--primary {
  background-color: #FFFFFF;
  color: #0063a6;
}

.srm-footer-cta-btn--primary:hover {
  background-color: #fafafa;
  color: #0063a6;
}

.srm-footer-cta-btn--secondary {
  background-color: transparent;
  color: #FFFFFF;
  border: 2px solid rgba(255, 255, 255, 0.5);
}

.srm-footer-cta-btn--secondary:hover {
  background-color: rgba(255, 255, 255, 0.1);
  color: #FFFFFF;
  border-color: #FFFFFF;
}

.srm-footer-cta-btn span {
  font-size: 18px;
}

/* ==========================================================================
   Why SRM Page
   ========================================================================== */

/* Floating Subnav */
.why-subnav {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  gap: 16px;
}

.why-subnav-btn {
  display: flex;
  align-items: center;
  gap: 14px;
  background: #FFFFFF;
  color: #001B2D;
  padding: 18px 28px;
  border-radius: 9999px;
  font-family: 'Nunito', sans-serif;
  font-weight: 600;
  font-size: 15px;
  text-decoration: none;
  box-shadow: 0 4px 24px rgba(0, 0, 0, 0.1);
  white-space: nowrap;
  transition: all 0.175s ease;
}

.why-subnav-btn:hover {
  box-shadow: 0 8px 32px rgba(0, 0, 0, 0.15);
  transform: translateY(-3px);
  color: #001B2D;
}

.why-subnav-btn svg,
.why-subnav-btn i {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 22px;
  height: 22px;
  flex-shrink: 0;
}

/* Story Stats */
.story-stats {
  display: flex;
  gap: 32px;
}

.story-stat {
  display: flex;
  align-items: center;
  gap: 8px;
  font-family: 'Inter', sans-serif;
  font-weight: 700;
  font-size: 14px;
}

.story-stat svg {
  width: 20px;
  height: 20px;
}

/* Why Choose Grid */
.why-choose-grid {
  display: flex;
  flex-direction: column;
  gap: 24px;
}

.why-choose-row-3 {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
}

.why-choose-row-2 {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 24px;
}

@media (max-width: 980px) {
  .why-choose-row-3,
  .why-choose-row-2 {
    grid-template-columns: 1fr;
  }
}

/* Why Card */
.why-card {
  background: #FFFFFF;
  border-radius: 12px;
  padding: 32px;
  box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1);
}

.why-card h3 {
  font-family: 'Inter', sans-serif;
  font-weight: 700;
  font-size: 24px;
  color: #111827;
  margin: 0 0 16px 0;
  line-height: 1.3;
}

.why-card h3 .highlight {
  color: #d80000;
}

.why-card p {
  font-family: 'Nunito', sans-serif;
  font-size: 14px;
  color: #001B2D;
  line-height: 1.7;
  margin: 0;
}

/* Team Card */
.team-card {
  background: #FFFFFF;
  border: 1px solid #F3F4F6;
  border-radius: 12px;
  padding: 32px;
  text-align: center;
  transition: all 0.175s ease;
}

.team-card:hover {
  box-shadow: 0 8px 20px rgba(0, 0, 0, 0.1);
}

.team-avatar {
  width: 175px;
  height: 175px;
  border-radius: 50%;
  border: 4px solid #F9FAFB;
  margin: 0 auto 24px;
  overflow: hidden;
  background-color: #FFFFFF;
}

.team-avatar img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  border-radius: 50%;
}

.team-card h3 {
  font-family: 'Inter', sans-serif;
  font-weight: 700;
  font-size: 20px;
  color: #111827;
  margin: 0 0 4px 0;
}

.team-card .team-title {
  font-family: 'Nunito', sans-serif;
  font-size: 14px;
  color: #001B2D;
  margin: 0 0 16px 0;
}

.team-card .team-bio {
  font-family: 'Nunito', sans-serif;
  font-size: 12px;
  color: #001B2D;
  line-height: 1.6;
  margin: 0;
}

.team-card .team-bio strong {
  color: #111827;
}

/* SRM Team Member Module */
/* Equal height cards - make rows containing team member cards use flexbox */
.et_pb_row:has(.et_pb_srm_team_member) {
  display: flex !important;
  flex-wrap: wrap;
  align-items: stretch;
}

.et_pb_row:has(.et_pb_srm_team_member) > .et_pb_column {
  display: flex;
  flex-direction: column;
}

.et_pb_row:has(.et_pb_srm_team_member) .et_pb_srm_team_member {
  flex: 1;
  display: flex;
  flex-direction: column;
}

.et_pb_row:has(.et_pb_srm_team_member) .et_pb_module_inner {
  flex: 1;
  display: flex;
  flex-direction: column;
}

.et_pb_srm_team_member .srm-team-member {
  flex: 1;
  display: flex;
  flex-direction: column;
}

.srm-team-member {
  background: #FFFFFF;
  border: 1px solid #F3F4F6;
  border-radius: 12px;
  padding: 32px;
  text-align: center;
  transition: all 0.175s ease;
}

.srm-team-member:hover {
  box-shadow: 0 8px 20px rgba(0, 0, 0, 0.1);
}

.srm-team-member__avatar {
  width: 175px;
  height: 175px;
  border-radius: 50%;
  border: 4px solid #F9FAFB;
  margin: 0 auto 24px;
  overflow: hidden;
  background-color: #FFFFFF;
  position: relative;
}

.srm-team-member__avatar img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  border-radius: 50%;
}

.srm-team-member__avatar .srm-team-member__img-default,
.srm-team-member__avatar .srm-team-member__img-hover {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  transition: opacity 0.25s ease;
}

.srm-team-member__avatar .srm-team-member__img-default {
  opacity: 1;
}

.srm-team-member__avatar .srm-team-member__img-hover {
  opacity: 0;
}

.srm-team-member.has-hover:hover .srm-team-member__img-default {
  opacity: 0;
}

.srm-team-member.has-hover:hover .srm-team-member__img-hover {
  opacity: 1;
}

.srm-team-member__name {
  font-family: 'Inter', sans-serif;
  font-weight: 700;
  font-size: 20px;
  color: #111827;
  margin: 0;
}

.srm-team-member__title {
  font-family: 'Nunito', sans-serif;
  font-size: 14px;
  color: var(--srm-gray);
  margin: 0 0 8px 0;
}

.srm-team-member__bio {
  font-family: 'Nunito', sans-serif;
  font-size: 12px;
  color: #111827;
  line-height: 1.6;
  margin: 0;
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

.srm-team-member__bio strong {
  color: #111827;
}

.srm-team-member__bio p {
  margin: 0;
}

/* Linked Team Member Cards */
.srm-team-member--linked {
  cursor: pointer;
}

.srm-team-member--linked:hover {
  transform: translateY(-4px);
  box-shadow: 0 12px 24px rgba(0, 0, 0, 0.12);
}

.srm-team-member__link {
  display: block;
  text-decoration: none;
}

.srm-team-member--linked .srm-team-member__name,
.srm-team-member--linked .srm-team-member__title,
.srm-team-member--linked .srm-team-member__bio {
  color: #111827;
}

/* Values Grid */
.values-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 32px;
}

@media (max-width: 767px) {
  .values-grid {
    grid-template-columns: 1fr;
  }
}

/* Value Card */
.value-card {
  background: #FFFFFF;
  border-radius: 12px;
  padding: 32px;
  box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1);
}

.value-icon {
  width: 48px;
  height: 48px;
  border-radius: 8px;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #FFFFFF;
  margin-bottom: 24px;
}

.value-icon svg {
  width: 24px;
  height: 24px;
}

.value-card h3 {
  font-family: 'Inter', sans-serif;
  font-weight: 700;
  font-size: 24px;
  color: #111827;
  margin: 0 0 16px 0;
}

.value-card p {
  font-family: 'Nunito', sans-serif;
  font-size: 14px;
  color: #001B2D;
  line-height: 1.7;
  margin: 0;
}

/* Partners Row */
.partners-row {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  gap: 48px;
  opacity: 0.7;
  filter: grayscale(100%);
}

.partner-logo {
  font-size: 24px;
  font-weight: 700;
  color: #4a4545;
}

.partner-espn {
  font-family: Arial, sans-serif;
  font-style: italic;
  letter-spacing: -1px;
  color: #E4002B;
}

.partner-estee {
  font-family: Georgia, serif;
  font-size: 20px;
  letter-spacing: 3px;
  text-transform: uppercase;
}

.partner-forbes {
  font-family: Georgia, serif;
  font-size: 28px;
}

.partner-gs {
  display: flex;
  flex-direction: column;
  align-items: center;
  line-height: 1;
  font-family: Georgia, serif;
  font-size: 20px;
  color: #6CB4EE;
}

.partner-google {
  font-family: Arial, sans-serif;
  font-size: 28px;
  font-weight: 700;
}

.partner-hulu {
  font-family: Arial, sans-serif;
  font-size: 32px;
  font-weight: 900;
  letter-spacing: -2px;
  color: #1CE783;
}

/* ==========================================================================
   Logo Carousel Module
   ========================================================================== */

.srm-logo-carousel {
  overflow: hidden;
  position: relative;
  width: 100%;
}

.srm-logo-carousel--empty {
  text-align: center;
  padding: 40px;
  color: #001B2D;
}

.srm-logo-track {
  display: flex;
  align-items: center;
  width: max-content;
  animation: srm-logo-scroll 30s linear infinite;
}

.srm-carousel-logo {
  height: 60px;
  max-width: 160px;
  width: auto;
  object-fit: contain;
  flex-shrink: 0;
  transition: filter 0.3s ease, opacity 0.175s ease;
}

/* Pause animation on hover */
.srm-logo-carousel--pause-hover:hover .srm-logo-track {
  animation-play-state: paused;
}

/* Hover effect: remove grayscale and full opacity */
.srm-logo-carousel--pause-hover:hover .srm-carousel-logo {
  filter: none !important;
  opacity: 1 !important;
}

/* Keyframes for infinite scroll */
@keyframes srm-logo-scroll {
  0% {
    transform: translateX(0);
  }
  100% {
    transform: translateX(-50%);
  }
}

/* Full-width section for carousel */
.srm-fullwidth-section {
  padding-left: 0 !important;
  padding-right: 0 !important;
}

.srm-fullwidth-section > .et_pb_row {
  padding-left: 0 !important;
  padding-right: 0 !important;
  max-width: 100% !important;
  width: 100% !important;
}

/* ==========================================================================
   Search Page
   ========================================================================== */

.srm-search-page {
  background-color: #F8FAFC;
}

/* Search Hero Section */
.srm-search-hero {
  background-color: #0063a6;
  padding: 48px 0 56px;
}

.srm-search-hero__container {
  max-width: 800px;
  margin: 0 auto;
  padding: 0 24px;
}

.srm-search-hero__title {
  color: #FFFFFF;
  font-family: 'Inter', sans-serif;
  font-size: 36px;
  font-weight: 700;
  margin-bottom: 24px;
}

.srm-search-hero__form {
  display: flex;
  gap: 12px;
}

.srm-search-hero__input-wrapper {
  flex: 1;
  display: flex;
  align-items: center;
  background-color: #FFFFFF;
  border-radius: 8px;
  padding: 12px 16px;
  gap: 12px;
  border: none !important;
  outline: none !important;
  box-shadow: none !important;
}

.srm-search-hero__input-wrapper:focus-within {
  border: none !important;
  outline: none !important;
  box-shadow: none !important;
}

.srm-search-hero__input-wrapper svg {
  color: #60656b;
  flex-shrink: 0;
}

.srm-search-hero__input,
.srm-search-hero__input-wrapper input,
.srm-search-hero__input-wrapper input[type="text"] {
  flex: 1;
  border: none !important;
  outline: none !important;
  box-shadow: none !important;
  font-family: 'Nunito', sans-serif;
  font-size: 16px;
  color: #001B2D;
  background: transparent !important;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
}

.srm-search-hero__input:focus,
.srm-search-hero__input-wrapper input:focus,
.srm-search-hero__input-wrapper input[type="text"]:focus {
  border: none !important;
  outline: none !important;
  box-shadow: none !important;
}

.srm-search-hero__input::placeholder {
  color: #60656b;
}

.srm-search-hero__submit {
  background-color: #001B2D;
  color: #FFFFFF;
  font-family: 'Nunito', sans-serif;
  font-size: 16px;
  font-weight: 600;
  padding: 12px 24px;
  border: none;
  border-radius: 9999px;
  cursor: pointer;
  transition: background-color 0.175s ease;
}

.srm-search-hero__submit:hover {
  background-color: #0F172A;
}

/* Search Content Area */
.srm-search-content {
  padding: 40px 0 80px;
}

.srm-search-content__container {
  max-width: 1280px;
  margin: 0 auto;
  padding: 0 24px;
  display: grid;
  grid-template-columns: 240px 1fr;
  gap: 40px;
}

/* Filters Sidebar */
.srm-search-filters {
  background-color: #FFFFFF;
  border-radius: 12px;
  padding: 24px;
  height: fit-content;
  position: sticky;
  top: 100px;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
  box-sizing: border-box;
  max-width: 100%;
  min-width: 0;
}

.srm-search-filters__header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 24px;
  padding-bottom: 16px;
  border-bottom: 1px solid #e4e5e6;
}

.srm-search-filters__title {
  font-family: 'Inter', sans-serif;
  font-size: 18px;
  font-weight: 600;
  color: #001B2D;
  margin: 0;
  text-decoration: underline;
  text-underline-offset: 3px;
}

.srm-search-filters__clear {
  font-family: 'Nunito', sans-serif;
  font-size: 14px;
  color: #001B2D;
  background: none;
  border: none;
  cursor: pointer;
  transition: color 0.175s ease;
}

.srm-search-filters__clear:hover {
  color: #d80000;
}

.srm-search-filters__group {
  margin-bottom: 24px;
}

.srm-search-filters__group:last-child {
  margin-bottom: 0;
}

.srm-search-filters__group-title {
  font-family: 'Inter', sans-serif;
  font-size: 14px;
  font-weight: 600;
  color: #001B2D;
  margin: 0 0 12px 0;
}

.srm-search-filters__options {
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.srm-search-filters__checkbox {
  display: flex;
  align-items: center;
  gap: 10px;
  cursor: pointer;
}

.srm-search-filters__checkbox input[type="checkbox"] {
  width: 16px;
  height: 16px;
  border: 1px solid #CBD5E1;
  border-radius: 3px;
  cursor: pointer;
  accent-color: #0063a6;
}

.srm-search-filters__checkbox-label {
  font-family: 'Nunito', sans-serif;
  font-size: 14px;
  color: #60656b;
}

/* Results Area */
.srm-search-results {
  min-height: 400px;
}

.srm-search-results__header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 16px;
}

.srm-search-results__count {
  font-family: 'Nunito', sans-serif;
  font-size: 16px;
  color: #60656b;
}

.srm-search-results__count strong {
  color: #001B2D;
}

.srm-search-results__sort {
  display: flex;
  align-items: center;
  gap: 8px;
  font-family: 'Nunito', sans-serif;
  font-size: 14px;
  color: #001B2D;
}

.srm-search-results__sort select {
  font-family: 'Nunito', sans-serif;
  font-size: 14px;
  color: #001B2D;
  padding: 6px 24px 6px 10px;
  border: 1px solid #e4e5e6;
  border-radius: 6px;
  background-color: #FFFFFF;
  cursor: pointer;
  appearance: none;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%23001B2D' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 8px center;
}

/* Active Filter Tags */
.srm-search-results__active-filters {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-bottom: 16px;
}

.srm-filter-tag {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  background-color: #E0F2FE;
  color: #0063a6;
  font-family: 'Nunito', sans-serif;
  font-size: 13px;
  padding: 4px 10px;
  border-radius: 9999px;
}

.srm-filter-tag__remove {
  background: none;
  border: none;
  color: #0063a6;
  cursor: pointer;
  font-size: 16px;
  line-height: 1;
  padding: 0;
  margin-left: 2px;
}

.srm-filter-tag__remove:hover {
  color: #d80000;
}

/* Content Type Tabs - Segmented Toggle */
.srm-search-results__tabs {
  display: inline-flex;
  background-color: #fafafa;
  border-radius: 8px;
  padding: 4px;
  margin-bottom: 24px;
  gap: 0;
}

.srm-search-tab {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 8px 16px;
  font-family: 'Nunito', sans-serif;
  font-size: 14px;
  font-weight: 500;
  color: #001B2D;
  background-color: transparent;
  border: none;
  border-radius: 6px;
  cursor: pointer;
  transition: all 0.175s ease;
}

.srm-search-tab:hover {
  color: #001B2D;
}

.srm-search-tab.is-active {
  background-color: #FFFFFF;
  color: #001B2D;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
}

.srm-search-tab svg,
.srm-search-tab i {
  width: 16px;
  height: 16px;
}

/* Results List */
.srm-search-results__list {
  display: flex;
  flex-direction: column;
  gap: 16px;
}

.srm-search-results__list.is-loading {
  opacity: 0.5;
  pointer-events: none;
}

.srm-search-results__empty {
  background-color: #FFFFFF;
  border-radius: 12px;
  padding: 48px;
  text-align: center;
  color: #001B2D;
  font-family: 'Nunito', sans-serif;
}

/* Search Result Card */
.srm-search-result {
  background-color: #FFFFFF;
  border-radius: 12px;
  padding: 24px;
  display: flex;
  gap: 20px;
  border: 1px solid #e4e5e6;
  transition: border-color 0.2s ease, box-shadow 0.175s ease;
}

.srm-search-result:hover {
  border-color: #CBD5E1;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.06);
}

.srm-search-result__icon {
  width: 56px;
  height: 56px;
  background-color: #fafafa;
  border-radius: 10px;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}

.srm-search-result__icon svg,
.srm-search-result__icon i {
  width: 24px;
  height: 24px;
  color: #001B2D;
}

.srm-search-result--webinar .srm-search-result__icon {
  background-color: #001B2D;
}

.srm-search-result--webinar .srm-search-result__icon svg,
.srm-search-result--webinar .srm-search-result__icon i {
  color: #FFFFFF;
}

.srm-search-result__content {
  flex: 1;
  min-width: 0;
}

.srm-search-result__meta {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-bottom: 8px;
  font-family: 'Nunito', sans-serif;
  font-size: 13px;
}

.srm-search-result__type {
  color: #001B2D;
}

.srm-search-result__date {
  color: #60656b;
}

.srm-search-result__title {
  font-family: 'Inter', sans-serif;
  font-size: 18px;
  font-weight: 600;
  margin: 0 0 8px 0;
}

.srm-search-result__title a {
  color: #001B2D;
  text-decoration: none;
  transition: color 0.175s ease;
}

.srm-search-result__title a:hover {
  color: #0063a6;
}

.srm-search-result__excerpt {
  font-family: 'Nunito', sans-serif;
  font-size: 15px;
  color: #001B2D;
  line-height: 1.6;
  margin: 0 0 12px 0;
}

.srm-search-result__path {
  font-family: 'Nunito', sans-serif;
  font-size: 13px;
  color: #60656b;
}

.srm-search-result__tags {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-bottom: 12px;
}

.srm-search-result__tag {
  display: inline-block;
  padding: 4px 10px;
  background-color: #fafafa;
  border-radius: 4px;
  font-family: 'Nunito', sans-serif;
  font-size: 12px;
  color: #60656b;
}

.srm-search-result__author {
  font-family: 'Nunito', sans-serif;
  font-size: 13px;
  color: #001B2D;
}

.srm-search-result__white-paper-meta,
.srm-search-result__webinar-meta {
  display: flex;
  align-items: center;
  gap: 16px;
  font-family: 'Nunito', sans-serif;
  font-size: 14px;
  color: #001B2D;
}

.srm-search-result__white-paper-meta span,
.srm-search-result__webinar-meta span {
  display: inline-flex;
  align-items: center;
  gap: 6px;
}

.srm-search-result__white-paper-meta svg,
.srm-search-result__white-paper-meta i,
.srm-search-result__webinar-meta svg,
.srm-search-result__webinar-meta i {
  width: 14px;
  height: 14px;
}

.srm-search-result__download,
.srm-search-result__watch {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  color: #0063a6;
  text-decoration: none;
  font-weight: 500;
  transition: color 0.175s ease;
}

.srm-search-result__download:hover,
.srm-search-result__watch:hover {
  color: #003A61;
}

.srm-search-result__cta {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-family: 'Nunito', sans-serif;
  font-size: 14px;
  font-weight: 600;
  color: #d80000;
  text-decoration: none;
  transition: color 0.175s ease;
}

.srm-search-result__cta:hover {
  color: #A30D0D;
}

.srm-search-result__cta svg,
.srm-search-result__cta i {
  width: 16px;
  height: 16px;
}

/* Pagination */
.srm-search-pagination {
  margin-top: 32px;
  display: flex;
  justify-content: center;
}

.srm-search-pagination ul {
  display: flex;
  align-items: center;
  gap: 4px;
  list-style: none;
  margin: 0;
  padding: 0;
}

.srm-search-pagination li {
  margin: 0;
}

.srm-search-pagination a,
.srm-search-pagination span {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 36px;
  height: 36px;
  padding: 0 12px;
  font-family: 'Nunito', sans-serif;
  font-size: 14px;
  color: #60656b;
  background-color: #FFFFFF;
  border: 1px solid #e4e5e6;
  border-radius: 8px;
  text-decoration: none;
  transition: all 0.175s ease;
}

.srm-search-pagination a:hover {
  border-color: #60656b;
  color: #001B2D;
}

.srm-search-pagination .current {
  background-color: #d80000;
  border-color: #d80000;
  color: #FFFFFF;
}

.srm-search-pagination .prev,
.srm-search-pagination .next {
  padding: 0 16px;
}

/* Mobile Responsive */
@media (max-width: 980px) {
  .srm-search-content__container {
    grid-template-columns: minmax(0, 1fr);
  }
  
  .srm-search-filters {
    position: static;
  }
  
  .srm-search-hero__form {
    flex-direction: column;
  }
  
  .srm-search-results__header {
    flex-direction: column;
    gap: 12px;
    align-items: flex-start;
  }
}

@media (max-width: 768px) {
  .srm-search-hero {
    padding: 32px 0 40px;
  }
  
  .srm-search-hero__title {
    font-size: 28px;
  }
  
  .srm-search-result {
    flex-direction: column;
    padding: 20px;
  }
  
  .srm-search-result__icon {
    width: 48px;
    height: 48px;
  }
  
  .srm-search-results__tabs {
    overflow-x: auto;
    display: inline-flex;
    max-width: 100%;
  }
  
  .srm-search-tab {
    white-space: nowrap;
    padding: 6px 12px;
    font-size: 13px;
  }
}

@media (max-width: 480px) {
  .srm-search-filters {
    padding: 16px;
  }
  
  .srm-search-filters__header {
    margin-bottom: 16px;
    padding-bottom: 12px;
  }
  
  .srm-search-filters__group {
    margin-bottom: 16px;
  }
}

/* ==========================================================================
   Why SRM Subpages
   ========================================================================== */

/* Feature Cards with Bottom Border Accent (matches SrmAudienceCard styling) */
.srm-feature-card-bottom {
  position: relative;
  background: #FFFFFF;
  border-radius: 12px;
  padding: 32px;
  text-align: center;
  box-shadow: 0 0 20px 0 rgba(0, 0, 0, 0.14);
  transition: box-shadow 0.175s ease, transform 0.175s ease;
  overflow: hidden;
}

/* Bottom accent line as pseudo-element (matches SrmAudienceCard) */
.srm-feature-card-bottom::before {
  content: '';
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  height: 6px;
  background: var(--accent-color, #d80000);
  z-index: 1;
}

.srm-feature-card-bottom:hover {
  box-shadow: 0 6px 16px rgba(0, 0, 0, 0.15);
  transform: translateY(-2px);
}

.srm-feature-card-bottom--red { --accent-color: #d80000; }
.srm-feature-card-bottom--teal { --accent-color: #0D9488; }
.srm-feature-card-bottom--blue { --accent-color: #0063a6; }

.srm-feature-icon {
  width: 48px;
  height: 48px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #FFFFFF;
  margin: 0 auto 24px;
  transition: transform 0.175s ease;
}

.srm-feature-card-bottom:hover .srm-feature-icon {
  transform: scale(1.1);
}

.srm-feature-icon svg {
  width: 24px;
  height: 24px;
}

.srm-feature-card-bottom h3 {
  font-family: 'Inter', sans-serif;
  font-weight: 700;
  font-size: 20px;
  color: #111827;
  margin: 0 0 12px 0;
}

.srm-feature-card-bottom p {
  font-family: 'Nunito', sans-serif;
  font-size: 14px;
  color: #001B2D;
  line-height: 1.7;
  margin: 0;
}

/* Benefit Cards with Left Border */
.srm-benefit-card {
  background: #FFFFFF;
  border-radius: 12px;
  padding: 24px;
  border-left: 4px solid;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.05);
}

.srm-benefit-icon {
  width: 36px;
  height: 36px;
  border-radius: 8px;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #FFFFFF;
  margin-bottom: 16px;
}

.srm-benefit-icon svg {
  width: 20px;
  height: 20px;
}

.srm-benefit-card h3 {
  font-family: 'Inter', sans-serif;
  font-weight: 700;
  font-size: 16px;
  color: #111827;
  margin: 0 0 8px 0;
}

.srm-benefit-card p {
  font-family: 'Nunito', sans-serif;
  font-size: 13px;
  color: #001B2D;
  line-height: 1.6;
  margin: 0;
}

/* Step Cards with Number Badge */
.srm-step-card {
  background: #FFFFFF;
  border: 1px solid #E5E7EB;
  border-radius: 12px;
  padding: 32px 24px;
  padding-top: 40px;
  text-align: center;
  position: relative;
}

.srm-step-number {
  position: absolute;
  top: -16px;
  left: 50%;
  transform: translateX(-50%);
  width: 32px;
  height: 32px;
  border-radius: 50%;
  background-color: #1E4D78;
  color: #FFFFFF;
  font-family: 'Inter', sans-serif;
  font-weight: 700;
  font-size: 14px;
  display: flex;
  align-items: center;
  justify-content: center;
  box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
}

.srm-step-icon {
  color: #9CA3AF;
  margin-bottom: 24px;
}

.srm-step-icon svg {
  width: 48px;
  height: 48px;
  stroke-width: 1.5;
}

.srm-step-card h3 {
  font-family: 'Inter', sans-serif;
  font-weight: 700;
  font-size: 16px;
  color: #111827;
  margin: 0 0 8px 0;
}

.srm-step-card p {
  font-family: 'Nunito', sans-serif;
  font-size: 13px;
  color: #001B2D;
  line-height: 1.6;
  margin: 0;
}

/* Milestone Cards */
.srm-milestone-card {
  background: #FFFFFF;
  border-radius: 12px;
  padding: 32px 24px;
  text-align: center;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.05);
}

.srm-milestone-year {
  font-family: 'Inter', sans-serif;
  font-weight: 700;
  font-size: 32px;
  color: #d80000;
  margin-bottom: 16px;
}

.srm-milestone-card h3 {
  font-family: 'Inter', sans-serif;
  font-weight: 700;
  font-size: 18px;
  color: #111827;
  margin: 0 0 12px 0;
}

.srm-milestone-card p {
  font-family: 'Nunito', sans-serif;
  font-size: 14px;
  color: #001B2D;
  line-height: 1.6;
  margin: 0;
}

/* ==========================================================================
   Industry Pages
   ========================================================================== */

/* Hero Section - Fullwidth with True Bleed */
.industry-hero.industry-hero--fullwidth {
  background: #FFFFFF;
  overflow: visible;
}

.industry-hero--fullwidth > .et_pb_row.industry-hero__row {
  width: 100% !important;
  max-width: 100% !important;
  padding: 0 !important;
  display: flex;
  flex-wrap: nowrap;
  align-items: stretch;
}

/* Left content column - aligned with normal page margin */
.industry-hero__content-col.et_pb_column {
  width: 50%;
  max-width: initial !important;
  padding-left: calc((100vw - 1280px) / 2) !important;
  padding-right: 48px !important;
  padding-top: 48px !important;
  padding-bottom: 48px !important;
}

@media (max-width: 1328px) {
  .industry-hero__content-col.et_pb_column {
    padding-left: 24px !important;
  }
}

/* Right image column - bleeds to edge */
.industry-hero__image-col.et_pb_column {
  flex: 1 !important;
  width: 50% !important;
  padding: 0 !important;
  position: relative;
}

/* Image styling */
.et_pb_image.industry-hero__image {
  margin-bottom: 0 !important;
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
}

.et_pb_image.industry-hero__image,
.et_pb_image.industry-hero__image * {
  display: flex;
  align-items: stretch;
  height: 100%;
  width: 100%;
}

.et_pb_image.industry-hero__image .et_pb_image_wrap {
  display: flex;
  height: 100%;
  width: 100%;
}

.et_pb_image.industry-hero__image .et_pb_image_wrap img {
  width: 100%;
  height: 100% !important;
  object-fit: cover;
  border-radius: 0;
}

/* Badge module styling */
.industry-hero__badge-module {
  display: inline-block !important;
}

.industry-hero__badge-module .et_pb_text_inner {
  display: inline-block;
}

/* Mobile responsive */
@media (max-width: 980px) {
  .industry-hero--fullwidth > .et_pb_row.industry-hero__row {
    flex-wrap: wrap;
  }
  
  .industry-hero__content-col.et_pb_column {
    width: 100% !important;
    max-width: 100%;
    padding-left: 24px !important;
    padding-right: 24px !important;
    order: 1;
  }
  
  .industry-hero__image-col.et_pb_column {
    width: 100% !important;
    flex: 0 0 100% !important;
    max-width: 100% !important;
    order: 2;
    margin-top: 0;
    position: relative;
    text-align: center;
  }
  
  .et_pb_image.industry-hero__image,
  .industry-hero__image-col .et_pb_image.square-icon {
    position: relative;
    height: auto !important;
    display: block !important;
    width: auto !important;
    max-width: 400px;
    margin: 0 auto !important;
  }
  
  .et_pb_image.industry-hero__image .et_pb_image_wrap,
  .industry-hero__image-col .et_pb_image.square-icon .et_pb_image_wrap {
    height: auto !important;
    display: block !important;
    width: 100% !important;
  }
  
  .et_pb_image.industry-hero__image .et_pb_image_wrap img,
  .industry-hero__image-col .et_pb_image.square-icon .et_pb_image_wrap img {
    height: auto !important;
    display: block !important;
    width: 100% !important;
    aspect-ratio: 1 / 1;
    object-fit: cover;
    border-radius: 0;
  }
}

/* Services Section */
.industry-services {
  padding: 80px 0;
  background-color: #F9FAFB;
}

.industry-services__header {
  text-align: center;
  max-width: 640px;
  margin: 0 auto 48px;
}

.industry-services__title {
  font-family: 'Inter', sans-serif;
  font-size: 32px;
  font-weight: 700;
  color: #111827;
  margin: 0 0 16px 0;
}

.industry-services__description {
  font-family: 'Nunito', sans-serif;
  font-size: 16px;
  color: #001B2D;
  margin: 0;
}

.industry-services__grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
  max-width: 1280px;
  margin: 0 auto;
  padding: 0 24px;
}

@media (max-width: 1024px) {
  .industry-services__grid {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (max-width: 640px) {
  .industry-services__grid {
    grid-template-columns: 1fr;
  }
}

/* Service Card with Left Border */
.industry-service-card {
  background: #FFFFFF;
  border-radius: 12px;
  padding: 32px;
  border-left: 4px solid;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.05);
  transition: box-shadow 0.175s ease;
  display: flex;
  flex-direction: column;
}

.industry-service-card:hover {
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
}

.industry-service-card--red { border-left-color: #d80000; }
.industry-service-card--blue { border-left-color: #0063a6; }
.industry-service-card--dark { border-left-color: #1F2937; }
.industry-service-card--gray { border-left-color: #001B2D; }
.industry-service-card--purple { border-left-color: #85439a; }
.industry-service-card--teal { border-left-color: #0D9488; }

.industry-service-card__icon {
  width: 48px;
  height: 48px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 24px;
  color: #FFFFFF;
}

.industry-service-card__icon svg {
  width: 24px;
  height: 24px;
}

.industry-service-card__icon--red { background-color: #d80000; }
.industry-service-card__icon--blue { background-color: #0063a6; }
.industry-service-card__icon--dark { background-color: #1F2937; }
.industry-service-card__icon--gray { background-color: #001B2D; }
.industry-service-card__icon--purple { background-color: #85439a; }
.industry-service-card__icon--teal { background-color: #0D9488; }

.industry-service-card__title {
  font-family: 'Inter', sans-serif;
  font-size: 18px;
  font-weight: 700;
  color: #111827;
  margin: 0 0 12px 0;
}

.industry-service-card__description {
  font-family: 'Nunito', sans-serif;
  font-size: 14px;
  color: #001B2D;
  line-height: 1.6;
  margin: 0 0 24px 0;
  min-height: 44px;
  flex: 1;
}

.industry-service-card__link {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-family: 'Nunito', sans-serif;
  font-size: 13px;
  font-weight: 700;
  text-decoration: none;
  transition: gap 0.175s ease;
}

.industry-service-card__link:hover {
  gap: 12px;
}

.industry-service-card__link svg {
  width: 14px;
  height: 14px;
}

.industry-service-card__link--red { color: #d80000; }
.industry-service-card__link--blue { color: #0063a6; }
.industry-service-card__link--dark { color: #1F2937; }
.industry-service-card__link--gray { color: #001B2D; }
.industry-service-card__link--purple { color: #85439a; }
.industry-service-card__link--teal { color: #0D9488; }

/* Success Stories / Case Studies Section */
.industry-success {
  padding: 80px 0;
  background: #FFFFFF;
}

.industry-success__header {
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
  flex-wrap: wrap;
  gap: 24px;
  max-width: 1280px;
  margin: 0 auto 48px;
  padding: 0;
}

.industry-success__title {
  font-family: 'Inter', sans-serif;
  font-size: 32px;
  font-weight: 700;
  color: #111827;
  margin: 0 0 8px 0;
}

.industry-success__description {
  font-family: 'Nunito', sans-serif;
  font-size: 16px;
  color: #001B2D;
  margin: 0;
  max-width: 640px;
}

.industry-success__cta {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  background-color: #d80000;
  color: #FFFFFF;
  padding: 8px 20px 8px 24px;
  border-radius: 9999px;
  font-family: 'Nunito', sans-serif;
  font-size: 14px;
  font-weight: 700;
  text-decoration: none;
  white-space: nowrap;
  transition: background-color 0.175s ease;
}

.industry-success__cta:hover {
  background-color: #B91C1C;
  color: #FFFFFF;
}

.industry-success__cta svg {
  width: 16px;
  height: 16px;
}

/* Approach Section */
.industry-approach {
  padding: 80px 0;
  background-color: #F9FAFB;
}

.industry-approach__container {
  max-width: 1280px;
  margin: 0 auto;
  padding: 0 24px;
  display: flex;
  flex-wrap: wrap;
  gap: 64px;
  align-items: center;
}

.industry-approach__content {
  flex: 1;
  min-width: 300px;
}

.industry-approach__title {
  font-family: 'Inter', sans-serif;
  font-size: 32px;
  font-weight: 700;
  color: #111827;
  margin: 0 0 16px 0;
}

.industry-approach__description {
  font-family: 'Nunito', sans-serif;
  font-size: 16px;
  color: #001B2D;
  line-height: 1.7;
  margin: 0 0 32px 0;
}

.industry-approach__list {
  display: flex;
  flex-direction: column;
  gap: 24px;
}

.industry-approach__item {
  display: flex;
  gap: 16px;
}

.industry-approach__item-icon {
  flex-shrink: 0;
  margin-top: 2px;
}

.industry-approach__item-icon svg {
  width: 20px;
  height: 20px;
  color: #111827;
}

.industry-approach__item-title {
  font-family: 'Inter', sans-serif;
  font-size: 14px;
  font-weight: 700;
  color: #111827;
  margin: 0 0 4px 0;
}

.industry-approach__item-text {
  font-family: 'Nunito', sans-serif;
  font-size: 13px;
  color: #001B2D;
  line-height: 1.6;
  margin: 0;
}

.industry-approach__image-wrapper {
  flex: 1;
  min-width: 300px;
}

.industry-approach__image {
  width: 100%;
  /* height: 500px; */
  object-fit: cover;
  border-radius: 24px;
  box-shadow: none;
}

/* Divi image module wrapper - remove background and shadow */
.et_pb_image.industry-approach__image {
  background: transparent !important;
  box-shadow: none !important;
}

.et_pb_image.industry-approach__image .et_pb_image_wrap {
  background: transparent !important;
  box-shadow: none !important;
}

.et_pb_image.industry-approach__image .et_pb_image_wrap img {
  border-radius: 24px !important;
  box-shadow: none !important;
}

/* Insights Section */
.industry-insights {
  padding: 80px 0;
  background: #FFFFFF;
}

.industry-insights__header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-wrap: wrap;
  gap: 24px;
  max-width: 1280px;
  margin: 0 auto 48px;
  padding: 0 0;
}

.industry-insights__title {
  font-family: 'Inter', sans-serif;
  font-size: 32px;
  font-weight: 700;
  color: #111827;
  margin: 0;
}

.industry-insights__grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
  max-width: 1280px;
  margin: 0 auto;
  padding: 0 0;
}

@media (max-width: 1024px) {
  .industry-insights__grid {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (max-width: 640px) {
  .industry-insights__grid {
    grid-template-columns: 1fr;
  }
}

/* Insight Card */
.industry-insight-card {
  background: #FFFFFF;
  border-radius: 12px;
  overflow: hidden;
  border: 1px solid #F3F4F6;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.05);
  display: flex;
  flex-direction: column;
  transition: box-shadow 0.175s ease;
}

.industry-insight-card:hover {
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
}

.industry-insight-card__image-wrapper {
  position: relative;
  height: 192px;
  overflow: hidden;
}

.industry-insight-card__image {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.5s ease;
}

.industry-insight-card:hover .industry-insight-card__image {
  transform: scale(1.05);
}

.industry-insight-card__badge {
  position: absolute;
  top: 16px;
  left: 16px;
  background-color: #005587;
  color: #FFFFFF;
  padding: 4px 12px;
  border-radius: 9999px;
  font-family: 'Inter', sans-serif;
  font-size: 10px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.05em;
}

.industry-insight-card__content {
  padding: 24px;
  display: flex;
  flex-direction: column;
  flex-grow: 1;
}

.industry-insight-card__tags {
  display: flex;
  gap: 8px;
  margin-bottom: 16px;
}

.industry-insight-card__tag {
  display: inline-block;
  padding: 4px 12px;
  border: 1px solid #E5E7EB;
  border-radius: 9999px;
  font-family: 'Nunito', sans-serif;
  font-size: 10px;
  font-weight: 700;
  color: #001B2D;
}

.industry-insight-card__title {
  font-family: 'Inter', sans-serif;
  font-size: 16px;
  font-weight: 700;
  color: #111827;
  margin: 0 0 12px 0;
  line-height: 1.4;
}

.industry-insight-card__title a {
  color: inherit;
  text-decoration: none;
  transition: color 0.175s ease;
}

.industry-insight-card__title a:hover {
  color: #d80000;
}

.industry-insight-card__excerpt {
  font-family: 'Nunito', sans-serif;
  font-size: 13px;
  color: #001B2D;
  line-height: 1.6;
  margin: 0 0 16px 0;
  flex-grow: 1;
}

.industry-insight-card__meta {
  display: flex;
  gap: 16px;
  font-family: 'Nunito', sans-serif;
  font-size: 11px;
  color: #9CA3AF;
  margin-bottom: 16px;
}

.industry-insight-card__meta-item {
  display: flex;
  align-items: center;
  gap: 4px;
}

.industry-insight-card__meta-item svg {
  width: 12px;
  height: 12px;
}

.industry-insight-card__link {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  color: #d80000;
  font-family: 'Nunito', sans-serif;
  font-size: 13px;
  font-weight: 700;
  text-decoration: none;
  transition: gap 0.175s ease;
}

.industry-insight-card__link:hover {
  gap: 12px;
}

.industry-insight-card__link svg {
  width: 14px;
  height: 14px;
}

/* Partners Section */
.industry-partners {
  padding: 80px 0;
  background: #FFFFFF;
  text-align: center;
}

.industry-partners__title {
  font-family: 'Inter', sans-serif;
  font-size: 24px;
  font-weight: 700;
  color: #111827;
  margin: 0 0 48px 0;
}

.industry-partners__carousel {
  margin-bottom: 64px;
}

/* Testimonials Section */
.industry-testimonials {
  padding: 80px 0;
  background-color: #F9FAFB;
}

.industry-testimonials__header {
  text-align: center;
  max-width: 640px;
  margin: 0 auto 48px;
}

.industry-testimonials__title {
  font-family: 'Inter', sans-serif;
  font-size: 32px;
  font-weight: 700;
  color: #111827;
  margin: 0 0 16px 0;
}

.industry-testimonials__description {
  font-family: 'Nunito', sans-serif;
  font-size: 14px;
  color: #001B2D;
  margin: 0;
}

.industry-approach__image, .industry-approach__image * {
  height: 100%;
  object-fit: cover;
}



/* Mobile Responsive */
@media (max-width: 768px) {
  .industry-hero__title {
    font-size: 36px;
  }
  
  .industry-hero__image {
    height: 300px;
  }
  
  
  .industry-services__title,
  .industry-success__title,
  .industry-approach__title,
  .industry-insights__title,
  .industry-testimonials__title {
    font-size: 28px;
  }
}

/* ==========================================================================
   Solutions Page
   ========================================================================== */

/* Asymmetric Image */
.srm-asymmetric-image {
  border-radius: 64px 0 64px 0 !important;
  overflow: hidden;
}

.srm-asymmetric-image img {
  border-radius: 64px 0 64px 0 !important;
}

/* Solution Product Cards */
.srm-solution-card {
  background: #FFFFFF;
  border-radius: 12px;
  border: 1px solid #F3F4F6;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  transition: box-shadow 0.175s ease;
  height: 100%;
}

.srm-solution-card:hover {
  box-shadow: 0 10px 25px -5px rgba(0, 0, 0, 0.1);
}

/* Solution Card Header */
.srm-solution-card__header {
  height: 192px;
  position: relative;
  display: flex;
  align-items: flex-end;
}

.srm-solution-card__header--coursestart {
  background: linear-gradient(135deg, #F3E8FF 0%, #FFFFFF 100%);
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding-bottom: 48px;
}

.srm-solution-card__header--image {
  background-size: cover;
  background-position: center;
}

.srm-solution-card__overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(to top, rgba(0, 0, 0, 0.7) 0%, transparent 60%);
  display: flex;
  align-items: flex-end;
  padding: 24px;
}

.srm-solution-card__title {
  font-family: 'Inter', sans-serif;
  font-weight: 700;
  font-size: 20px;
  color: #111827;
  margin: 0;
}

.srm-solution-card__title--white {
  color: #FFFFFF;
}

/* CourseStart Logo Treatment */
.srm-coursestart-logo {
  text-align: center;
  margin-bottom: 16px;
}

.srm-coursestart-course {
  font-family: 'Inter', sans-serif;
  font-size: 32px;
  font-weight: 300;
  color: #A78BFA;
}

.srm-coursestart-start {
  font-family: 'Inter', sans-serif;
  font-size: 32px;
  font-weight: 700;
  color: #0063a6;
}

.srm-coursestart-byline {
  font-family: 'Inter', sans-serif;
  font-size: 10px;
  color: #9CA3AF;
  text-transform: uppercase;
  letter-spacing: 2px;
  margin-top: 4px;
}

/* Solution Card Body */
.srm-solution-card__body {
  padding: 32px;
  display: flex;
  flex-direction: column;
  flex-grow: 1;
}

.srm-solution-card__desc {
  font-family: 'Nunito', sans-serif;
  font-size: 14px;
  color: #001B2D;
  line-height: 1.6;
  margin: 0 0 24px 0;
}

.srm-solution-card__features {
  display: flex;
  flex-direction: column;
  gap: 12px;
  margin-bottom: 24px;
  flex-grow: 1;
}

.srm-solution-card__feature {
  display: flex;
  gap: 12px;
  align-items: center;
}

.srm-solution-card__feature svg {
  width: 20px;
  height: 20px;
  color: #111827;
  flex-shrink: 0;
  margin-top: 1px;
}

.srm-solution-card__feature span {
  font-family: 'Nunito', sans-serif;
  font-size: 12px;
  color: #001B2D;
  line-height: 1.5;
}

.srm-solution-card__cta {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-family: 'Nunito', sans-serif;
  font-size: 13px;
  font-weight: 700;
  color: #d80000;
  text-decoration: none;
  transition: gap 0.175s ease;
  margin-top: auto;
}

.srm-solution-card__cta:hover {
  gap: 12px;
  color: #d80000;
}

.srm-solution-card__cta svg {
  width: 14px;
  height: 14px;
}

/* Feature Card Bottom Border - Emerald variant */
.srm-feature-card-bottom--emerald {
  border-bottom-color: #10B981;
}

/* Integration Features */
.srm-integration-features {
  display: flex;
  flex-direction: column;
  gap: 24px;
}

.srm-integration-feature {
  display: flex;
  gap: 24px;
  background: #F9FAFB;
  padding: 24px;
  border-radius: 12px;
  border: 1px solid #F3F4F6;
}

.srm-integration-icon {
  width: 48px;
  height: 48px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #FFFFFF;
  flex-shrink: 0;
}

.srm-integration-icon svg {
  width: 24px;
  height: 24px;
}

.srm-integration-content h3 {
  font-family: 'Inter', sans-serif;
  font-weight: 700;
  font-size: 18px;
  color: #111827;
  margin: 0 0 8px 0;
}

.srm-integration-content p {
  font-family: 'Nunito', sans-serif;
  font-size: 14px;
  color: #001B2D;
  line-height: 1.6;
  margin: 0;
}

/* ==========================================================================
   Industries Index Page
   ========================================================================== */

/* Industry Card Header Gradients */
.srm-industry-card__header {
  height: 192px;
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 24px;
}

.srm-industry-card__header--k12 {
  background: linear-gradient(135deg, #E0F2FE 0%, #FFFFFF 100%);
}

.srm-industry-card__header--highered {
  background: linear-gradient(135deg, #F3F4F6 0%, #FFFFFF 100%);
}

.srm-industry-card__header--adult {
  background: linear-gradient(135deg, #CCFBF1 0%, #FFFFFF 100%);
}

.srm-industry-card__header--publishing {
  background: linear-gradient(135deg, #FEE2E2 0%, #FFFFFF 100%);
}

/* Industry Card Icon */
.srm-industry-card__icon {
  width: 64px;
  height: 64px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #FFFFFF;
  margin-bottom: 16px;
}

.srm-industry-card__icon svg {
  width: 32px;
  height: 32px;
}

.srm-industry-card__icon--k12 { background-color: #005587; }
.srm-industry-card__icon--highered { background-color: #1F2937; }
.srm-industry-card__icon--adult { background-color: #0D9488; }
.srm-industry-card__icon--publishing { background-color: #d80000; }

/* Industry Card Title in Header */
.srm-industry-card__header-title {
  font-family: 'Inter', sans-serif;
  font-weight: 700;
  font-size: 20px;
  color: #111827;
  margin: 0;
  text-align: center;
}

/* Industries Grid */
.srm-industries-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 24px;
  max-width: 1280px;
  margin: 0 auto;
}

@media (max-width: 1024px) {
  .srm-industries-grid {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (max-width: 640px) {
  .srm-industries-grid {
    grid-template-columns: 1fr;
  }
}

/* Value Props Grid */
.srm-value-props-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
  max-width: 1280px;
  margin: 0 auto;
}

@media (max-width: 768px) {
  .srm-value-props-grid {
    grid-template-columns: 1fr;
  }
}

/* Value Prop Card */
.srm-value-prop-card {
  background: #FFFFFF;
  border: 1px solid #F3F4F6;
  border-radius: 12px;
  padding: 32px;
  text-align: center;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.05);
  position: relative;
  overflow: hidden;
}

.srm-value-prop-card::after {
  content: '';
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  height: 4px;
}

.srm-value-prop-card--red::after { background-color: #d80000; }
.srm-value-prop-card--teal::after { background-color: #0D9488; }
.srm-value-prop-card--blue::after { background-color: #005587; }

.srm-value-prop-card__icon {
  width: 64px;
  height: 64px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #FFFFFF;
  margin: 0 auto 24px;
}

.srm-value-prop-card__icon svg {
  width: 32px;
  height: 32px;
}

.srm-value-prop-card__icon--red { background-color: #d80000; }
.srm-value-prop-card__icon--teal { background-color: #0D9488; }
.srm-value-prop-card__icon--blue { background-color: #005587; }

.srm-value-prop-card__title {
  font-family: 'Inter', sans-serif;
  font-weight: 700;
  font-size: 18px;
  color: #111827;
  margin: 0 0 12px 0;
}

.srm-value-prop-card__desc {
  font-family: 'Nunito', sans-serif;
  font-size: 14px;
  color: #001B2D;
  line-height: 1.6;
  margin: 0;
}

/* ==========================================================================
   CourseStart Page
   ========================================================================== */

/* Hero Buttons */
.srm-hero-buttons {
  display: flex;
  flex-wrap: wrap;
  gap: 16px;
}

.srm-btn {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 14px 32px;
  border-radius: 9999px;
  font-family: 'Nunito', sans-serif;
  font-size: 16px;
  font-weight: 700;
  text-decoration: none;
  transition: all 0.175s ease;
}

.srm-btn svg {
  width: 16px;
  height: 16px;
}

.srm-btn--purple {
  background-color: #85439a;
  color: #FFFFFF;
}

.srm-btn--purple:hover {
  background-color: #6D28D9;
  color: #FFFFFF;
}

.srm-btn--outline {
  background-color: #FFFFFF;
  color: #001B2D;
  border: 2px solid #E5E7EB;
}

.srm-btn--outline:hover {
  border-color: #85439a;
  color: #85439a;
}

.srm-btn--teal {
  background-color: #0D9488;
  color: #FFFFFF;
}

.srm-btn--teal:hover {
  background-color: #0F766E;
  color: #FFFFFF;
}

.srm-btn--dark {
  background-color: #4a4545;
  color: #FFFFFF;
}

.srm-btn--dark:hover {
  background-color: #1F2937;
  color: #FFFFFF;
}

/* CourseStart Hero Buttons - Layout and Font Fix */
body.page-id-9897 .et_pb_section:first-of-type .et_pb_button_module_wrapper {
  display: inline-block;
  margin-right: 16px;
}

body.page-id-9897 #page-container .et_pb_section .et_pb_button_0,
body.page-id-9897 #page-container .et_pb_section .et_pb_button_1 {
  font-family: 'Nunito', sans-serif;
}

/* CourseStart secondary button - override global button styles */
body.page-id-9897 #page-container .et_pb_section .et_pb_button_1 {
  background-image: none;
  border: 1px solid;
}

body.page-id-9897 #page-container .et_pb_section .et_pb_button_1:hover {
  background-color: transparent;
  background-image: none;
}

/* PDW Page (9984) - Hero button wrappers inline */
body.page-id-9984 .et_pb_section:first-of-type .et_pb_button_module_wrapper {
  display: inline-block;
  margin-right: 16px;
}

body.page-id-9984 #page-container .et_pb_section .et_pb_button_0,
body.page-id-9984 #page-container .et_pb_section .et_pb_button_1 {
  font-family: 'Nunito', sans-serif;
}

/* Semester Prep Page (10259) - Hero button wrappers inline */
body.page-id-10259 .et_pb_section:first-of-type .et_pb_button_module_wrapper {
  display: inline-block;
  margin-right: 16px;
}

body.page-id-10259 #page-container .et_pb_section .et_pb_button_0,
body.page-id-10259 #page-container .et_pb_section .et_pb_button_1 {
  font-family: 'Nunito', sans-serif;
}

/* CourseStart Page (11175) - Hero button wrappers inline */
body.page-id-11175 .et_pb_section:first-of-type .et_pb_button_module_wrapper {
  display: inline-block;
  margin-right: 16px;
}

body.page-id-11175 #page-container .et_pb_section .et_pb_button_0,
body.page-id-11175 #page-container .et_pb_section .et_pb_button_1 {
  font-family: 'Nunito', sans-serif;
}

/* Left-bordered Feature Cards */
.srm-feature-card-left {
  background: #FFFFFF;
  padding: 24px;
  border-radius: 12px;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.05);
  border-left: 4px solid;
  display: flex;
  gap: 16px;
  align-items: flex-start;
  transition: box-shadow 0.175s ease;
  height: 100%;
}

.srm-feature-card-left:hover {
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
}

.srm-feature-card-left--red { border-left-color: #d80000; }
.srm-feature-card-left--emerald { border-left-color: #10B981; }
.srm-feature-card-left--blue { border-left-color: #0063a6; }
.srm-feature-card-left--purple { border-left-color: #85439a; }
.srm-feature-card-left--dark { border-left-color: #111827; }
.srm-feature-card-left--gray { border-left-color: #001B2D; }

.srm-feature-card-left__icon {
  width: 48px;
  height: 48px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #FFFFFF;
  flex-shrink: 0;
}

.srm-feature-card-left__icon svg {
  width: 24px;
  height: 24px;
}

.srm-feature-card-left__content h3 {
  font-family: 'Inter', sans-serif;
  font-weight: 700;
  font-size: 18px;
  color: #111827;
  margin: 0 0 8px 0;
}

.srm-feature-card-left__content p {
  font-family: 'Nunito', sans-serif;
  font-size: 14px;
  color: #001B2D;
  line-height: 1.6;
  margin: 0;
}

/* Benefits Grid (Dark Blue Section) */
.srm-benefits-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 24px;
}

@media (max-width: 768px) {
  .srm-benefits-grid {
    grid-template-columns: 1fr;
  }
}

.srm-benefits-card {
  background: #FFFFFF;
  border-radius: 12px;
  padding: 24px;
}

.srm-benefits-card__header {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  margin-bottom: 8px;
}

.srm-benefits-card__header svg {
  width: 20px;
  height: 20px;
  color: #111827;
  flex-shrink: 0;
  margin-top: 2px;
}

.srm-benefits-card__header h3 {
  font-family: 'Inter', sans-serif;
  font-weight: 700;
  font-size: 14px;
  color: #111827;
  margin: 0;
}

.srm-benefits-card p {
  font-family: 'Nunito', sans-serif;
  font-size: 12px;
  color: #001B2D;
  line-height: 1.6;
  margin: 0;
  padding-left: 32px;
}

/* ==========================================================================
   SRM Stats Grid Module
   ========================================================================== */

/* Parent module wrapper (Divi adds et_pb_ prefix) */
.et_pb_srm_stats_grid {
  padding: 28px;
  border-radius: 16px;
}

/* Cards container */
.srm-stats-grid__cards {
  display: flex;
  flex-wrap: wrap;
  gap: 16px;
  align-items: stretch;
  margin-bottom: 40px;
}

.srm-stats-grid__cards--no-buttons {
  margin-bottom: 0;
}

/* Each child module wrapper (Divi wraps each child) */
.srm-stats-grid__cards > .et_pb_srm_stats_card {
  flex: 1 1 calc(33.333% - 11px);
  min-width: 280px;
}

/* Ensure child modules stretch to fill container */
.et_pb_module.et_pb_srm_stats_card {
  display: flex;
  flex-direction: row;
  align-items: stretch;
  margin-bottom: 0 !important;
}

.et_pb_srm_stats_card .et_pb_module_inner {
  width: 100%;
}

/* Responsive: 2 columns on tablet */
@media (max-width: 980px) {
  .srm-stats-grid__cards > .et_pb_srm_stats_card {
    flex: 1 1 calc(50% - 8px);
  }
}

/* Responsive: stack on mobile */
@media (max-width: 767px) {
  .srm-stats-grid__cards > .et_pb_srm_stats_card {
    flex: 1 1 100%;
  }
}

/* Stats Card Inner Styling */
.srm-stats-card {
  background: #FFFFFF;
  border-radius: 12px;
  padding: 24px;
  height: 100%;
}

.srm-stats-card__title {
  font-family: 'Inter', sans-serif;
  font-weight: 700;
  font-size: 22px;
  color: #001B2D;
  margin: 0 0 10px 0;
  line-height: 1.3;
}

.srm-stats-card__title--italic {
  font-style: italic;
}

.srm-stats-card__number {
  color: #d80000;
}

.srm-stats-card__label {
  color: #001B2D;
}

.srm-stats-card__desc {
  font-family: 'Nunito', sans-serif;
  font-size: 15px;
  color: #001B2D;
  line-height: 1.6;
  margin: 0;
}

/* Stats Grid Buttons */
.srm-stats-grid__buttons {
  text-align: center;
  display: flex;
  justify-content: center;
  gap: 12px;
  flex-wrap: wrap;
}

.srm-stats-grid__btn {
  display: inline-block;
  background: #FFFFFF;
  color: #d80000;
  padding: 12px 28px;
  border-radius: 9999px;
  font-family: 'Nunito', sans-serif;
  font-weight: 700;
  font-size: 15px;
  text-decoration: none;
  transition: background-color 0.2s ease, transform 0.175s ease;
}

.srm-stats-grid__btn:hover {
  background: #FEE2E2;
  color: #d80000;
  transform: translateY(-2px);
}

/* Visual Builder preview */
.et-fb .et_pb_srm_stats_grid {
  min-height: 200px;
}

.et-fb .srm-stats-card {
  min-height: 100px;
}

/* Stats Card Icon Box */
.srm-stats-card__icon-box {
  width: 48px;
  height: 48px;
  border-radius: 8px;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 16px;
}

.srm-stats-card__icon-box svg,
.srm-stats-card__icon-box i {
  width: 24px;
  height: 24px;
  color: #FFFFFF;
}

.srm-stats-card__icon-box img {
  width: 24px;
  height: 24px;
  object-fit: contain;
}

/* Staggered 4-card layout (asymmetric 2x2 grid) 
   Row 1: 30% / 70%
   Row 2: 60% / 40%
*/
.srm-stats-grid__cards.srm-stats-grid--staggered-4 {
  display: grid;
  grid-template-columns: repeat(12, 1fr);
  grid-template-rows: auto auto;
  gap: 16px;
}

/* Row 1: Card 1 = 30% (4 cols), Card 2 = 70% (8 cols) */
.srm-stats-grid__cards.srm-stats-grid--staggered-4 .et_pb_srm_stats_card:nth-child(1) {
  grid-column: 1 / span 4;
  grid-row: 1;
}

.srm-stats-grid__cards.srm-stats-grid--staggered-4 .et_pb_srm_stats_card:nth-child(2) {
  grid-column: 5 / span 8;
  grid-row: 1;
}

/* Row 2: Card 3 = 60% (7 cols), Card 4 = 40% (5 cols) */
.srm-stats-grid__cards.srm-stats-grid--staggered-4 .et_pb_srm_stats_card:nth-child(3) {
  grid-column: 1 / span 7;
  grid-row: 2;
}

.srm-stats-grid__cards.srm-stats-grid--staggered-4 .et_pb_srm_stats_card:nth-child(4) {
  grid-column: 8 / span 5;
  grid-row: 2;
}

/* Responsive: Stack on mobile for staggered layout */
@media (max-width: 767px) {
  .srm-stats-grid__cards.srm-stats-grid--staggered-4 {
    grid-template-columns: 1fr;
  }
  
  .srm-stats-grid__cards.srm-stats-grid--staggered-4 .et_pb_srm_stats_card:nth-child(1),
  .srm-stats-grid__cards.srm-stats-grid--staggered-4 .et_pb_srm_stats_card:nth-child(2),
  .srm-stats-grid__cards.srm-stats-grid--staggered-4 .et_pb_srm_stats_card:nth-child(3),
  .srm-stats-grid__cards.srm-stats-grid--staggered-4 .et_pb_srm_stats_card:nth-child(4) {
    grid-column: 1;
    grid-row: auto;
  }
}

/* Use Case Cards (Outline Icons) */
.srm-usecase-card {
  background: #FFFFFF;
  border: 1px solid #E5E7EB;
  border-radius: 12px;
  padding: 32px;
  text-align: center;
  border-bottom: 4px solid;
  transition: box-shadow 0.2s ease, transform 0.175s ease;
  height: 100%;
}

.srm-usecase-card:hover {
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
  transform: translateY(-4px);
}

.srm-usecase-card--red { border-bottom-color: #d80000; }
.srm-usecase-card--emerald { border-bottom-color: #10B981; }
.srm-usecase-card--blue { border-bottom-color: #0063a6; }

.srm-usecase-icon {
  width: 64px;
  height: 64px;
  border-radius: 50%;
  border: 2px solid;
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0 auto 24px;
  background: transparent;
}

.srm-usecase-icon svg {
  width: 32px;
  height: 32px;
}

.srm-usecase-icon--red {
  border-color: #d80000;
  color: #d80000;
}

.srm-usecase-icon--emerald {
  border-color: #10B981;
  color: #10B981;
}

.srm-usecase-icon--blue {
  border-color: #0063a6;
  color: #0063a6;
}

.srm-usecase-card h3 {
  font-family: 'Inter', sans-serif;
  font-weight: 700;
  font-size: 18px;
  color: #111827;
  margin: 0 0 12px 0;
}

.srm-usecase-card p {
  font-family: 'Nunito', sans-serif;
  font-size: 14px;
  color: #001B2D;
  line-height: 1.6;
  margin: 0;
}

/* Checklist Section (Security & Support) */
.srm-checklist-section {
  padding: 0;
}

.srm-checklist-header {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-bottom: 24px;
}

.srm-checklist-header svg {
  width: 32px;
  height: 32px;
  color: #111827;
}

.srm-checklist-header h2 {
  font-family: 'Inter', sans-serif;
  font-weight: 700;
  font-size: 24px;
  color: #111827;
  margin: 0;
}

.srm-checklist-desc {
  font-family: 'Nunito', sans-serif;
  font-size: 14px;
  color: #001B2D;
  line-height: 1.6;
  margin: 0 0 32px 0;
}

.srm-checklist {
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.srm-checklist-item {
  display: flex;
  gap: 12px;
  align-items: flex-start;
}

.srm-checklist-item svg {
  width: 16px;
  height: 16px;
  color: inherit;
  flex-shrink: 0;
  margin-top: 2px;
}

.srm-checklist-item span {
  font-family: 'Nunito', sans-serif;
  font-size: 14px;
  font-weight: 700;
  color: inherit;
}

/* ==========================================================================
   Mobile Header & Navigation
   ========================================================================== */

/* Hamburger Toggle Button */
.srm-mobile-toggle {
  display: none;
  width: 44px;
  height: 44px;
  padding: 10px;
  background: transparent;
  border: none;
  cursor: pointer;
  position: relative;
  z-index: 100002;
}

.srm-mobile-toggle span {
  display: block;
  width: 24px;
  height: 2px;
  background: #001B2D;
  border-radius: 2px;
  transition: all 0.175s ease;
  position: absolute;
  left: 10px;
}

.srm-mobile-toggle span:nth-child(1) {
  top: 14px;
}

.srm-mobile-toggle span:nth-child(2) {
  top: 21px;
}

.srm-mobile-toggle span:nth-child(3) {
  top: 28px;
}

/* Hamburger hover - lighten the lines, remove box shadow */
.srm-mobile-toggle:hover {
  box-shadow: none !important;
}

.srm-mobile-toggle:hover span {
  opacity: 0.6;
}

/* Hamburger to X animation when open */
body.srm-mobile-open .srm-mobile-toggle span:nth-child(1) {
  top: 21px;
  transform: rotate(45deg);
}

body.srm-mobile-open .srm-mobile-toggle span:nth-child(2) {
  opacity: 0;
  transform: translateX(-10px);
}

body.srm-mobile-open .srm-mobile-toggle span:nth-child(3) {
  top: 21px;
  transform: rotate(-45deg);
}

/* Mobile Overlay Backdrop */
.srm-mobile-overlay {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: rgba(0, 0, 0, 0.5);
  z-index: 99998;
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transition: opacity 0.35s cubic-bezier(0.4, 0, 0.2, 1), visibility 0.35s;
}

body.srm-mobile-open .srm-mobile-overlay {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
}

/* Mobile Slide-out Drawer */
.srm-mobile-drawer {
  position: fixed;
  top: 0;
  right: 0;
  width: 320px;
  max-width: 85vw;
  height: 100vh;
  background: #FFFFFF;
  z-index: 99999;
  transform: translateX(100%);
  transition: transform 0.35s cubic-bezier(0.4, 0, 0.2, 1);
  overflow-y: auto;
  box-shadow: -4px 0 20px rgba(0, 0, 0, 0.15);
  visibility: hidden;
}

body.srm-mobile-open .srm-mobile-drawer {
  transform: translateX(0);
  visibility: visible;
}

.srm-mobile-drawer__header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 16px 20px;
  border-bottom: 1px solid #e4e5e6;
}

/* Mobile Search in Drawer Header */
.srm-mobile-drawer__search {
  display: flex;
  align-items: center;
  gap: 10px;
  background: #F8FAFC;
  border: 1px solid #e4e5e6;
  border-radius: 8px;
  padding: 10px 14px;
  flex: 1;
}

.srm-mobile-drawer__close {
  width: 40px;
  height: 40px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: transparent;
  border: none;
  cursor: pointer;
  color: #001B2D;
  border-radius: 8px;
  transition: background 0.175s ease;
  flex-shrink: 0;
}

.srm-mobile-drawer__close:hover {
  background: #fafafa;
  box-shadow: none !important;
}

.srm-mobile-drawer__close svg {
  width: 24px;
  height: 24px;
}

.srm-mobile-drawer__content {
  padding: 20px;
  opacity: 0;
  transition: opacity 0.25s ease-out;
}

body.srm-mobile-open .srm-mobile-drawer__content {
  opacity: 1;
  transition: opacity 0.3s ease-in 0.1s;
}

.srm-mobile-drawer__search svg {
  width: 20px;
  height: 20px;
  color: #001B2D;
  flex-shrink: 0;
}

.srm-mobile-drawer__search input {
  border: none;
  outline: none;
  background: transparent;
  font-family: 'Nunito', sans-serif;
  font-size: 16px;
  color: #001B2D;
  width: 100%;
}

.srm-mobile-drawer__search input::placeholder {
  color: #60656b;
}

/* Mobile Navigation Menu */
.srm-mobile-nav {
  list-style: none;
  margin: 0;
  padding: 0;
}

.srm-mobile-nav li {
  list-style: none;
  margin: 0;
  padding: 0;
  border-bottom: 1px solid #fafafa;
}

.srm-mobile-nav li:last-child {
  border-bottom: none;
}

.srm-mobile-nav > li > a,
.srm-mobile-nav > li > .srm-mobile-menu-item-wrapper > a {
  display: block;
  font-family: 'Nunito', sans-serif;
  font-weight: 600;
  font-size: 16px;
  color: #001B2D;
  text-decoration: none;
  padding: 16px 0;
  transition: color 0.175s ease;
}

.srm-mobile-nav > li > a:hover,
.srm-mobile-nav > li > .srm-mobile-menu-item-wrapper > a:hover,
.srm-mobile-nav > li.current-menu-item > a,
.srm-mobile-nav > li.current-menu-item > .srm-mobile-menu-item-wrapper > a,
.srm-mobile-nav > li.current-menu-ancestor > a,
.srm-mobile-nav > li.current-menu-ancestor > .srm-mobile-menu-item-wrapper > a {
  color: #d80000;
}

/* Mobile Menu Item Wrapper - for items with children */
.srm-mobile-menu-item-wrapper {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
}

.srm-mobile-menu-item-wrapper > a {
  flex: 1;
  min-width: 0;
}

/* Mobile Submenu Toggle Button */
.srm-mobile-submenu-toggle {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 44px;
  height: 44px;
  background: transparent;
  border: none;
  cursor: pointer;
  padding: 0;
  margin: 0;
  flex-shrink: 0;
  -webkit-tap-highlight-color: transparent;
}

.srm-mobile-submenu-toggle .srm-toggle-arrow {
  display: block;
  width: 10px;
  height: 10px;
  border-right: 2px solid #60656b;
  border-bottom: 2px solid #60656b;
  transform: rotate(45deg);
  transition: transform 0.25s cubic-bezier(0.4, 0, 0.2, 1);
}

.srm-submenu-open > .srm-mobile-menu-item-wrapper .srm-toggle-arrow {
  transform: rotate(-135deg);
}

/* Level 2 toggle button - slightly smaller */
.srm-mobile-nav .sub-menu .srm-mobile-submenu-toggle .srm-toggle-arrow {
  width: 8px;
  height: 8px;
}

/* Mobile Submenu - Animated */
.srm-mobile-nav .sub-menu {
  list-style: none;
  margin: 0 -20px;
  padding: 0 20px 0 32px;
  background: #F8FAFC;
  max-height: 0;
  overflow: hidden;
  opacity: 0;
  transition: max-height 0.3s ease-out, opacity 0.2s ease-out, padding 0.3s ease-out;
}

.srm-mobile-nav li.srm-submenu-open > .sub-menu {
  max-height: 1000px;
  opacity: 1;
  padding: 12px 20px 12px 32px;
  transition: max-height 0.4s ease-in, opacity 0.25s ease-in, padding 0.3s ease-in;
}

.srm-mobile-nav .sub-menu li {
  border-bottom: none;
}

.srm-mobile-nav .sub-menu > li > a,
.srm-mobile-nav .sub-menu > li > .srm-mobile-menu-item-wrapper > a {
  display: block;
  font-family: 'Nunito', sans-serif;
  font-weight: 600;
  font-size: 15px;
  color: #4a4545;
  text-decoration: none;
  padding: 10px 0;
  transition: color 0.175s ease;
}

.srm-mobile-nav .sub-menu > li > a:hover,
.srm-mobile-nav .sub-menu > li > .srm-mobile-menu-item-wrapper > a:hover {
  color: #d80000;
}

/* Level 2 items WITH children - styled as headers with Inter font */
.srm-mobile-nav .sub-menu > li.menu-item-has-children > .srm-mobile-menu-item-wrapper > a,
.srm-mobile-nav .sub-menu > li.menu-item-has-children > a {
  display: block;
  font-family: 'Inter', sans-serif;
  font-weight: 700;
  font-size: 15px;
  color: #001B2D;
}


/* Level 2 items WITHOUT children - regular item styling */
.srm-mobile-nav .sub-menu > li:not(.menu-item-has-children) > a {
  font-family: 'Nunito', sans-serif;
  font-weight: 700;
  font-size: 14px;
  color: #60656b;
}

.srm-mobile-nav .sub-menu > li:not(.menu-item-has-children) > a:hover {
  color: #d80000;
}

/* Level 3 submenu - Animated */
.srm-mobile-nav .sub-menu .sub-menu {
  background: transparent;
  margin: 0;
  padding: 0 0 0 16px;
  max-height: 0;
  opacity: 0;
  transition: max-height 0.25s ease-out, opacity 0.2s ease-out, padding 0.25s ease-out;
}

.srm-mobile-nav .sub-menu li.srm-submenu-open > .sub-menu {
  max-height: 500px;
  opacity: 1;
  padding: 4px 0 8px 16px;
  transition: max-height 0.35s ease-in, opacity 0.2s ease-in, padding 0.25s ease-in;
}

.srm-mobile-nav .sub-menu .sub-menu > li > a {
  font-family: 'Nunito', sans-serif;
  font-weight: 700;
  font-size: 14px;
  color: #60656b;
  padding: 8px 0;
}

.srm-mobile-nav .sub-menu .sub-menu > li > a:hover {
  color: #d80000;
}

/* Mobile Drawer Contact Button */
.srm-mobile-drawer__contact {
  margin-top: 32px;
  padding-top: 24px;
}

.srm-mobile-drawer__contact a,
.srm-mobile-drawer__contact .et_pb_button,
.srm-mobile-drawer__contact .srm-header-contact,
.srm-mobile-drawer__contact .srm-header__contact,
.srm-mobile-drawer .srm-mobile-drawer__contact a.et_pb_button,
.srm-mobile-drawer .srm-mobile-drawer__contact a.srm-header-contact {
  display: block !important;
  text-align: center !important;
  width: 100% !important;
  box-sizing: border-box !important;
  font-family: 'Nunito', sans-serif;
  font-weight: 700;
  font-size: 16px;
  padding: 16px 32px !important;
  border-radius: 9999px;
  text-decoration: none;
  border: none;
  background: #d80000 !important;
  color: #FFFFFF !important;
  justify-content: center !important;
}

.srm-mobile-drawer__contact a:hover,
.srm-mobile-drawer__contact .et_pb_button:hover {
  background: #b80000 !important;
}

.srm-mobile-drawer__contact .et_pb_button:after,
.srm-mobile-drawer__contact .srm-header-contact:after,
.srm-mobile-drawer__contact .srm-header__contact:after {
  display: none !important;
}

/* Body scroll lock when drawer open */
body.srm-mobile-open {
  overflow: hidden;
}

/* Hide header search and contact when mobile menu is open */
body.srm-mobile-open .srm-header-section .srm-header-search,
body.srm-mobile-open .srm-header-row .srm-header-search,
body.srm-mobile-open .srm-header-section .et_pb_button_0_wrapper,
body.srm-mobile-open .srm-header-row .et_pb_button_0_wrapper,
body.srm-mobile-open .srm-header-right-col {
  display: none !important;
  visibility: hidden !important;
}

/* ==========================================================================
   Mobile Header Media Query
   ========================================================================== */

@media (max-width: 1024px) {
  /* Show hamburger toggle on mobile - overlay and drawer stay hidden
     until body.srm-mobile-open is added by JavaScript */
  .srm-mobile-toggle {
    display: block;
  }
  
  /* Hide desktop nav elements - OLD structure */
  .srm-header__nav,
  .srm-header__search,
  .srm-header__contact {
    display: none !important;
  }
  
  /* Hide desktop nav elements - NEW Divi module structure */
  .srm-header-nav,
  .srm-header-nav-wrapper,
  .srm-header-nav-col,
  .srm-header-contact,
  .et_pb_button_0_wrapper,
  .srm-header-right-col .et_pb_button_module_wrapper,
  .srm-global-header .et_pb_search,
  .srm-header-section .et_pb_search,
  .srm-header-row .et_pb_search,
  div.et_pb_search.srm-header-search,
  .et_pb_module.et_pb_search.srm-header-search {
    display: none !important;
  }
  
  /* Make logo smaller on mobile */
  .srm-header__logo img {
    height: 28px !important;
  }
  
  /* Reduce body padding for smaller header */
  body.srm-has-sticky-header {
    padding-top: 60px;
  }
}

@media (max-width: 768px) {
  .srm-header-row.et_pb_row {
    padding: 0 20px !important;
  }
}

@media (max-width: 480px) {
  .srm-mobile-drawer {
    width: 100%;
    max-width: 100%;
  }
  
  .srm-header__logo img {
    height: 24px !important;
  }
}

/* ==========================================================================
   Prefooter CTA Layout
   ========================================================================== */

/* Prefooter button layout */
.prefooter-buttons .et_pb_column {
  display: flex !important;
  justify-content: center;
  gap: 20px;
}

.prefooter-buttons {
  margin-top: -20px;
}

.bd-prefooter > .et_pb_row:first-child {
  padding-top: 0;
}

/* Ensure prefooter text is white */
.bd-prefooter h2,
.bd-prefooter .et_pb_text_inner,
.bd-prefooter .et_pb_text_inner p {
  color: #FFFFFF !important;
}

/* Global footer spacing */
.srm-global-footer > div {
  padding-top: 20px !important;
  padding-bottom: 20px !important;
}

/* Fix Divi button icon (chevron) size and alignment */
.et_pb_button::after {
  font-size: 16px;
  top: 50%;
  transform: translateY(-50%);
  margin-top: 0;
}
/* What We Do page buttons - gradient is stored via JS, applied on hover */
body.page-id-19 .et_pb_button[style*="--btn-gradient"] {
  transition: all 0.175s ease;
}
body.page-id-19 .et_pb_button[style*="--btn-gradient"]:hover {
  background-image: var(--btn-gradient);
  background-color: transparent;
  filter: brightness(1.15);
}

/* What We Do page - remove specialty section column padding */
.et_section_specialty .et_pb_column_single {
  padding-top: 0;
}


/* =============================================================================
   INSIGHTS PAGE STYLES
   ============================================================================= */

/* Featured Insights Section */
.srm-featured-insights {
  max-width: 1280px;
  margin: 0 auto;
}

.srm-featured-insights__grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 32px;
}

@media (max-width: 991px) {
  .srm-featured-insights__grid {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (max-width: 767px) {
  .srm-featured-insights__grid {
    grid-template-columns: 1fr;
  }
}

/* Insight Card */
.srm-insight-card {
  background: #FFFFFF;
  border-radius: 12px;
  overflow: hidden;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1), 0 1px 2px rgba(0, 0, 0, 0.06);
  transition: box-shadow 0.2s ease, transform 0.175s ease;
  display: flex;
  flex-direction: column;
}

.srm-insight-card:hover {
  box-shadow: 0 10px 25px rgba(0, 0, 0, 0.1), 0 4px 10px rgba(0, 0, 0, 0.05);
  transform: translateY(-2px);
}

.srm-insight-card__image-wrapper {
  position: relative;
  aspect-ratio: 16 / 6;
  overflow: hidden;
}

.srm-insight-card__image {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.175s ease;
}

.srm-insight-card:hover .srm-insight-card__image {
  transform: scale(1.05);
}

.srm-insight-card__badge {
  position: absolute;
  top: 12px;
  left: 12px;
  background-color: #d80000;
  color: #FFFFFF;
  font-family: 'Nunito', sans-serif;
  font-size: 12px;
  font-weight: 600;
  padding: 4px 10px;
  border-radius: 4px;
  text-transform: uppercase;
  letter-spacing: 0.025em;
}

.srm-insight-card__content {
  padding: 20px;
  display: flex;
  flex-direction: column;
  flex-grow: 1;
}

.srm-insight-card__tags {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-bottom: 12px;
}

.srm-insight-card__tag {
  display: inline-block;
  font-family: 'Inter', sans-serif;
  font-size: 12px;
  font-weight: 600;
  color: #60656b;
  background-color: #fff;
  padding: 4px 10px;
  border-radius: 9999px;
  border: 1px solid #e4e5e6;
}

.srm-insight-card__title {
  font-family: 'Inter', sans-serif;
  font-size: 18px;
  font-weight: 700;
  line-height: 1.4;
  color: #001B2D;
  margin: 0;
}

.srm-insight-card__title a {
  color: inherit;
  text-decoration: none;
  transition: color 0.175s ease;
}

.srm-insight-card__title a:hover {
  color: #d80000;
}

.srm-insight-card__excerpt {
  font-family: 'Nunito', sans-serif;
  font-size: 14px;
  line-height: 1.6;
  color: #001B2D;
  margin: 0 0 16px 0;
  flex-grow: 1;
}

.srm-insight-card__meta {
  display: flex;
  align-items: center;
  gap: 16px;
  font-family: 'Nunito', sans-serif;
  font-size: 13px;
  color: #60656b;
  margin-bottom: 16px;
}

.srm-insight-card__date,
.srm-insight-card__author {
  display: inline-flex;
  align-items: center;
  gap: 6px;
}

.srm-insight-card__date i,
.srm-insight-card__author i,
.srm-insight-card__date svg,
.srm-insight-card__author svg {
  width: 14px;
  height: 14px;
}

.srm-insight-card__link {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-family: 'Nunito', sans-serif;
  font-size: 14px;
  font-weight: 600;
  color: #d80000;
  text-decoration: none;
  transition: gap 0.175s ease;
}

.srm-insight-card__link:hover {
  gap: 10px;
}

.srm-insight-card__link i,
.srm-insight-card__link svg {
  width: 16px;
  height: 16px;
}

/* Insights Filter Bar */
.srm-insights-filter-bar {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 16px;
  flex-wrap: wrap;
  gap: 16px;
}

.srm-insights-filter-bar__tabs {
  display: inline-flex;
  background-color: #fafafa;
  border-radius: 8px;
  padding: 4px;
  gap: 0;
}

.srm-insights-filter-bar__controls {
  display: flex;
  align-items: center;
  gap: 12px;
}

/* Filter Toggle Button */
.srm-insights-filter-toggle {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-family: 'Nunito', sans-serif;
  font-size: 14px;
  font-weight: 600;
  color: #60656b;
  background-color: #fff;
  border: 1px solid #e4e5e6;
  border-radius: 8px;
  padding: 10px 18px;
  cursor: pointer;
  transition: all 0.175s ease;
}

.srm-insights-filter-toggle:hover {
  background-color: #F8FAFC;
  border-color: #CBD5E1;
  color: #001B2D;
}

.srm-insights-filter-toggle.is-open {
  background-color: #001B2D;
  border-color: #001B2D;
  color: #fff;
}

.srm-insights-filter-toggle.has-filters {
  border-color: #d80000;
  color: #d80000;
}

.srm-insights-filter-toggle.has-filters.is-open {
  background-color: #d80000;
  border-color: #d80000;
  color: #fff;
}

.srm-insights-filter-toggle svg,
.srm-insights-filter-toggle i {
  width: 16px;
  height: 16px;
}

.srm-insights-filter-toggle__count {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 20px;
  height: 20px;
  background-color: #d80000;
  color: #fff;
  font-size: 11px;
  font-weight: 700;
  border-radius: 10px;
  padding: 0 6px;
}

.srm-insights-filter-toggle.is-open .srm-insights-filter-toggle__count {
  background-color: rgba(255, 255, 255, 0.25);
}

/* Filter Panel */
.srm-insights-filter-panel {
  background-color: #F8FAFC;
  border: 1px solid #e4e5e6;
  border-radius: 12px;
  padding: 20px 24px;
  margin-top: 16px;
  margin-bottom: 24px;
}

.srm-insights-filter-panel__row {
  display: flex;
  align-items: flex-end;
  gap: 20px;
  flex-wrap: wrap;
}

.srm-insights-filter-panel__field {
  flex: 1;
  min-width: 200px;
  max-width: 300px;
}

.srm-insights-filter-panel__field label {
  display: block;
  font-family: 'Nunito', sans-serif;
  font-size: 13px;
  font-weight: 700;
  color: #60656b;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  margin-bottom: 8px;
}

.srm-insights-filter-panel__actions {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-left: auto;
  min-height: 44px;
}

/* Select2 Styling in Panel */
.srm-insights-filter-panel .select2-container--default .select2-selection--multiple {
  background-color: #fff;
  border: 1px solid #CBD5E1;
  border-radius: 8px;
  min-height: 44px;
  padding: 6px 10px;
}

.srm-insights-filter-panel .select2-container--default .select2-selection--multiple .select2-selection__placeholder {
  font-family: 'Nunito', sans-serif;
  color: #60656b;
  font-size: 14px;
}

.srm-insights-filter-panel .select2-container--default .select2-selection--multiple .select2-selection__rendered {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  padding: 0;
}

.srm-insights-filter-panel .select2-container--default .select2-selection--multiple .select2-selection__choice {
  display: inline-flex;
  align-items: center;
  background-color: #d80000;
  border: none;
  border-radius: 4px;
  color: #fff;
  font-family: 'Nunito', sans-serif;
  font-size: 13px;
  font-weight: 600;
  padding: 3px 8px;
  margin: 0;
}

.srm-insights-filter-panel .select2-container--default .select2-selection--multiple .select2-selection__choice__remove {
  position: static;
  float: none;
  order: 2;
  color: rgba(255, 255, 255, 0.7);
  background: none !important;
  border: none !important;
  border-left: none !important;
  border-right: none !important;
  margin-left: 6px;
  margin-right: 0;
  padding: 0;
  font-size: 12px;
  line-height: 1;
}

.srm-insights-filter-panel .select2-container--default .select2-selection--multiple .select2-selection__choice__remove:hover {
  color: #fff;
  background: none !important;
}

.srm-insights-filter-panel .select2-container--default.select2-container--focus .select2-selection--multiple {
  border-color: #d80000;
  box-shadow: 0 0 0 3px rgba(211, 17, 17, 0.1);
  outline: none;
}

/* Select2 Dropdown Global */
.select2-container--default .select2-dropdown {
  border-color: #CBD5E1;
  border-radius: 8px;
  box-shadow: 0 10px 40px rgba(0, 0, 0, 0.12);
  overflow: hidden;
}

.select2-container--default .select2-search--dropdown {
  padding: 12px;
  background-color: #F8FAFC;
  border-bottom: 1px solid #e4e5e6;
}

.select2-container--default .select2-search--dropdown .select2-search__field {
  border: 1px solid #CBD5E1;
  border-radius: 6px;
  padding: 10px 14px;
  font-family: 'Nunito', sans-serif;
  font-size: 14px;
}

.select2-container--default .select2-search--inline .select2-search__field {
  font-family: 'Nunito', sans-serif;
  font-size: 14px;
}

.select2-search__field {
  font-family: 'Nunito', sans-serif !important;
}

.select2-container--default .select2-search--dropdown .select2-search__field:focus {
  border-color: #d80000;
  outline: none;
  box-shadow: 0 0 0 3px rgba(211, 17, 17, 0.1);
}

.select2-container--default .select2-results__options {
  max-height: 280px;
}

.select2-container--default .select2-results__option {
  font-family: 'Nunito', sans-serif;
  font-size: 14px;
  padding: 10px 14px;
  transition: background-color 0.175s ease;
}

.select2-container--default .select2-results__option--highlighted[aria-selected] {
  background-color: #d80000;
  color: #fff;
}

.select2-container--default .select2-results__option[aria-selected="true"] {
  background-color: #FEE2E2;
  color: #d80000;
  font-weight: 600;
}

/* Clear Button */
.srm-insights-clear-btn {
  font-family: 'Nunito', sans-serif;
  font-size: 14px;
  font-weight: 600;
  color: #001B2D;
  background: #fff;
  border: 1px solid #e4e5e6;
  border-radius: 8px;
  padding: 10px 18px;
  cursor: pointer;
  transition: all 0.175s ease;
}

.srm-insights-clear-btn:hover {
  color: #d80000;
  border-color: #d80000;
  background-color: #FEF2F2;
}

.srm-insights-add-filter {
  font-family: 'Nunito', sans-serif;
  font-size: 13px;
  font-weight: 500;
  color: #0063a6;
  background: none;
  border: 1px dashed #93C5FD;
  border-radius: 9999px;
  padding: 4px 12px;
  cursor: pointer;
  transition: all 0.175s ease;
}

.srm-insights-add-filter:hover {
  background-color: #F0F9FF;
  border-color: #60A5FA;
}

/* Filter Panel (Dropdown) */
.srm-insights-filter-panel {
  background-color: #FFFFFF;
  border: 1px solid #e4e5e6;
  border-radius: 12px;
  box-shadow: 0 10px 25px rgba(0, 0, 0, 0.1);
  padding: 24px;
  margin-bottom: 24px;
}

.srm-insights-filter-panel__content {
  display: flex;
  flex-wrap: wrap;
  gap: 32px;
}

.srm-insights-filter-panel__group {
  min-width: 200px;
}

.srm-insights-filter-panel__title {
  font-family: 'Inter', sans-serif;
  font-size: 14px;
  font-weight: 600;
  color: #001B2D;
  margin: 0 0 12px 0;
}

.srm-insights-filter-panel__options {
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.srm-insights-filter-panel__checkbox {
  display: flex;
  align-items: center;
  gap: 8px;
  font-family: 'Nunito', sans-serif;
  font-size: 14px;
  color: #60656b;
  cursor: pointer;
}

.srm-insights-filter-panel__checkbox input[type="checkbox"] {
  width: 16px;
  height: 16px;
  accent-color: #d80000;
}

.srm-insights-filter-panel__actions {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-left: auto;
  align-self: flex-end;
}

.srm-insights-filter-panel__clear {
  font-family: 'Nunito', sans-serif;
  font-size: 14px;
  font-weight: 500;
  color: #001B2D;
  background: none;
  border: none;
  padding: 8px 16px;
  cursor: pointer;
  transition: color 0.175s ease;
}

.srm-insights-filter-panel__clear:hover {
  color: #d80000;
}

.srm-insights-filter-panel__apply {
  font-family: 'Nunito', sans-serif;
  font-size: 14px;
  font-weight: 600;
  color: #FFFFFF;
  background-color: #d80000;
  border: none;
  border-radius: 8px;
  padding: 8px 20px;
  cursor: pointer;
  transition: background-color 0.175s ease;
}

.srm-insights-filter-panel__apply:hover {
  background-color: #A30D0D;
}

/* Insights Grid */
.srm-insights-grid {
  max-width: 1280px;
  margin: 0 auto;
}

.srm-insights-grid__cards {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 32px;
}

.srm-insights-grid__cards.is-loading {
  opacity: 0.5;
  pointer-events: none;
}

@media (max-width: 991px) {
  .srm-insights-grid__cards {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (max-width: 767px) {
  .srm-insights-grid__cards {
    grid-template-columns: 1fr;
  }
}

.srm-insights-grid__empty {
  grid-column: 1 / -1;
  background-color: #F8FAFC;
  border-radius: 12px;
  padding: 48px;
  text-align: center;
  color: #001B2D;
  font-family: 'Nunito', sans-serif;
}

/* Insights Pagination */
.srm-insights-pagination {
  display: flex;
  justify-content: center;
  margin-top: 48px;
}

.srm-insights-pagination ul {
  display: flex;
  align-items: center;
  gap: 8px;
  list-style: none;
  margin: 0;
  padding: 0;
}

.srm-insights-pagination li {
  margin: 0;
}

.srm-insights-pagination a,
.srm-insights-pagination span {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 40px;
  height: 38px;
  padding: 0 12px;
  font-family: 'Nunito', sans-serif;
  font-size: 14px;
  font-weight: 700;
  color: #001B2D;
  border-radius: 9999px;
  border: 1px solid #d3d3d3;
  text-decoration: none;
  transition: all 0.175s ease;
}

.srm-insights-pagination a:hover {
  background-color: #fafafa;
  color: #001B2D;
}

.srm-insights-pagination .current {
  background-color: #d80000;
  color: #FFFFFF;
}

.srm-insights-pagination .prev,
.srm-insights-pagination .next {
  font-weight: 700;
  border: 1px solid #d3d3d3;
  padding: 8px 16px;
}

.srm-insights-pagination .dots {
  color: #60656b;
}

/* Stay Informed Section */
.srm-stay-informed {
  background-color: #F9FAFB;
  padding: 64px 0;
}

.srm-stay-informed__container {
  max-width: 600px;
  margin: 0 auto;
  text-align: center;
}

.srm-stay-informed__title {
  font-family: 'Inter', sans-serif;
  font-size: 28px;
  font-weight: 700;
  color: #001B2D;
  margin: 0 0 12px 0;
}

.srm-stay-informed__description {
  font-family: 'Nunito', sans-serif;
  font-size: 16px;
  color: #001B2D;
  margin: 0 0 24px 0;
}

.srm-stay-informed__form {
  display: flex;
  gap: 12px;
  justify-content: center;
  flex-wrap: wrap;
}

.srm-stay-informed__input {
  flex: 1;
  min-width: 250px;
  max-width: 350px;
  padding: 12px 16px;
  font-family: 'Nunito', sans-serif;
  font-size: 14px;
  color: #001B2D;
  background-color: #FFFFFF;
  border: 1px solid #e4e5e6;
  border-radius: 8px;
  transition: border-color 0.175s ease;
}

.srm-stay-informed__input:focus {
  outline: none;
  border-color: #d80000;
}

.srm-stay-informed__submit {
  font-family: 'Nunito', sans-serif;
  font-size: 14px;
  font-weight: 600;
  color: #FFFFFF;
  background-color: #d80000;
  border: none;
  border-radius: 8px;
  padding: 12px 24px;
  cursor: pointer;
  transition: background-color 0.175s ease;
}

.srm-stay-informed__submit:hover {
  background-color: #A30D0D;
}

/* Insights Page Hero */
.srm-insights-hero {
  position: relative;
  background-color: #111827;
  background-image: url('https://images.unsplash.com/photo-1522202176988-66273c2fd55f?w=1920');
  background-size: cover;
  background-position: center;
  padding: 80px 0 96px;
}

.srm-insights-hero::before {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(to bottom, rgba(17, 24, 39, 0.85), rgba(17, 24, 39, 0.9));
}

.srm-insights-hero__content {
  position: relative;
  z-index: 1;
  max-width: 800px;
  margin: 0 auto;
  text-align: center;
  padding: 0 20px;
}

.srm-insights-hero__title {
  font-family: 'Inter', sans-serif;
  font-size: 48px;
  font-weight: 700;
  color: #FFFFFF;
  margin: 0 0 16px 0;
}

.srm-insights-hero__description {
  font-family: 'Nunito', sans-serif;
  font-size: 18px;
  line-height: 1.6;
  color: rgba(255, 255, 255, 0.8);
  margin: 0;
}

@media (max-width: 767px) {
  .srm-insights-hero__title {
    font-size: 36px;
  }
  
  .srm-insights-hero__description {
    font-size: 16px;
  }
}

/* Insights Hero Section (Divi) - Add overlay */
.srm-insights-hero-section {
  position: relative;
}

.srm-insights-hero-section::before {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(to bottom, rgba(17, 24, 39, 0.85), rgba(17, 24, 39, 0.9));
  z-index: 0;
  pointer-events: none;
}

.srm-insights-hero-section .et_pb_row {
  position: relative;
  z-index: 1;
}

/* Insights page responsive adjustments */
@media (max-width: 991px) {
  .srm-insights-filter-bar {
    flex-direction: column;
    align-items: flex-start;
  }
  
  .srm-insights-filter-bar__tabs {
    width: 100%;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
  }
  
  .srm-insights-filter-bar .srm-search-tab {
    white-space: nowrap;
    padding: 8px 14px;
    font-size: 13px;
  }
  
  .srm-insights-filter-panel__row {
    flex-direction: column;
    align-items: stretch;
  }
  
  .srm-insights-filter-panel__field {
    max-width: none;
  }
  
  .srm-insights-filter-panel__actions {
    margin-left: 0;
    margin-top: 8px;
  }
}

@media (max-width: 767px) {
  .srm-insights-filter-panel {
    padding: 16px;
  }
  
  .srm-insights-filter-panel__actions {
    width: 100%;
    justify-content: flex-end;
    margin-top: 16px;
    padding-top: 16px;
    border-top: 1px solid #e4e5e6;
  }
}

/* ========================================
   SERVICE PAGE HERO STYLES
   ======================================== */

.srm-service-hero {
  padding: 3em 0 !important;
}

.srm-service-hero .et_pb_column_2 {
  padding-top: 0;
}

/* Preserve header contact button padding */
.srm-header__contact.et_pb_button,
.srm-header__contact.et_pb_button:hover {
  padding: 6px 18px !important;
}

/* ========================================
   SERVICE PAGE BRAND COLORS
   Fallback CSS to override Divi caching
   ======================================== */

/* Content Development - Red #d80000 */
body.page-id-9979 .srm-service-hero h1 {
  color: #d80000;
}
body.page-id-9979 .srm-service-hero .et_pb_button {
  background-color: #d80000;
}
body.page-id-9979 .et_pb_button[href="/case-studies/"] {
  background-color: #d80000;
}

/* Course Design - Dark Navy #001B2D */
body.page-id-10089 .srm-service-hero h1 {
  color: #001B2D;
}
body.page-id-10089 .srm-service-hero .et_pb_button {
  background-color: #001B2D;
}
body.page-id-10089 .et_pb_button[href="/case-studies/"] {
  background-color: #001B2D;
}

/* Creative & Media - Purple #86449B */
body.page-id-10091 .srm-service-hero h1 {
  color: #86449B;
}
body.page-id-10091 .srm-service-hero .et_pb_button {
  background-color: #86449B;
}
body.page-id-10091 .et_pb_button[href="/case-studies/"] {
  background-color: #86449B;
}

/* Production - Gray #60656B */
body.page-id-9982 .srm-service-hero h1 {
  color: #60656B;
}
body.page-id-9982 .srm-service-hero .et_pb_button {
  background-color: #60656B;
}
body.page-id-9982 .et_pb_button[href="/case-studies/"] {
  background-color: #60656B;
}

/* Technology & Innovation - Blue #0064A6 */
body.page-id-10094 .srm-service-hero h1 {
  color: #0064A6;
}
body.page-id-10094 .srm-service-hero .et_pb_button {
  background-color: #0064A6;
}
body.page-id-10094 .et_pb_button[href="/case-studies/"] {
  background-color: #0064A6;
}

/* Prefooter buttons - ALWAYS white/transparent regardless of page styles
   Using maximum specificity to override Divi's critical inline CSS */
html body.wp-singular .bd-prefooter .et_pb_button.srm-prefooter-btn-primary,
html body.wp-singular #page-container .bd-prefooter .et_pb_button.srm-prefooter-btn-primary,
html body[class*="page-id"] .bd-prefooter .et_pb_button.srm-prefooter-btn-primary,
html body[class*="page-id"] #page-container .bd-prefooter .et_pb_button.srm-prefooter-btn-primary {
  background: #FFFFFF !important;
  background-color: #FFFFFF !important;
  background-image: none !important;
  color: #0063a6 !important;
  border: 2px solid #FFFFFF !important;
  border-color: #FFFFFF !important;
}
html body.wp-singular .bd-prefooter .et_pb_button.srm-prefooter-btn-secondary,
html body.wp-singular #page-container .bd-prefooter .et_pb_button.srm-prefooter-btn-secondary,
html body[class*="page-id"] .bd-prefooter .et_pb_button.srm-prefooter-btn-secondary,
html body[class*="page-id"] #page-container .bd-prefooter .et_pb_button.srm-prefooter-btn-secondary {
  background: transparent !important;
  background-color: transparent !important;
  background-image: none !important;
  color: #FFFFFF !important;
  border: 2px solid rgba(255,255,255,0.5) !important;
  border-color: rgba(255,255,255,0.5) !important;
}

/* ========================================
   Contact Page - Hero Section Styling
   ======================================== */
/* "Contact Us" subheading - 20px font, 700 weight per spec */
.page-id-9895 .et_pb_section_1 .et_pb_text_0,
.page-id-9895 .et_pb_section_1 .et_pb_text_0 .et_pb_text_inner {
  font-family: 'Inter', sans-serif !important;
  font-size: 20px !important;
  font-weight: 700 !important;
  color: rgba(255, 255, 255, 0.9) !important;
}

/* ========================================
   Contact Page - Gravity Form Styling
   ======================================== */
.page-id-9895 .gform_wrapper.gravity-theme {
  font-family: 'Nunito', sans-serif;
}

.page-id-9895 .gform_wrapper.gravity-theme .gfield_label {
  font-family: 'Nunito', sans-serif;
  font-weight: 600;
  font-size: 14px;
  color: #1F2937;
  margin-bottom: 6px;
}

/* Required field asterisk - red color */
.page-id-9895 .gform_wrapper.gravity-theme .gfield_required {
  color: #d80000;
}

/* Hide "(Required)" text, show asterisk only - CSS fallback */
.page-id-9895 .gform_wrapper.gravity-theme .gfield_required_text {
  font-size: 0;
  visibility: hidden;
}
.page-id-9895 .gform_wrapper.gravity-theme .gfield_required_text::after {
  content: '*';
  font-size: 14px;
  visibility: visible;
  color: #d80000;
}
/* Style the asterisk from PHP filter */
.page-id-9895 .gform_wrapper.gravity-theme .gfield_required_asterisk {
  color: #d80000;
  font-size: 14px;
}

.page-id-9895 .gform_wrapper.gravity-theme input[type="text"],
.page-id-9895 .gform_wrapper.gravity-theme input[type="email"],
.page-id-9895 .gform_wrapper.gravity-theme input[type="tel"],
.page-id-9895 .gform_wrapper.gravity-theme select,
.page-id-9895 .gform_wrapper.gravity-theme textarea {
  font-family: 'Nunito', sans-serif;
  font-size: 15px;
  color: #001B2D;
  background: #FFFFFF;
  border: 1px solid #E5E7EB;
  border-radius: 8px;
  padding: 12px 16px;
  width: 100%;
  transition: border-color 0.2s ease, box-shadow 0.175s ease;
}

.page-id-9895 .gform_wrapper.gravity-theme input[type="text"]:focus,
.page-id-9895 .gform_wrapper.gravity-theme input[type="email"]:focus,
.page-id-9895 .gform_wrapper.gravity-theme input[type="tel"]:focus,
.page-id-9895 .gform_wrapper.gravity-theme select:focus,
.page-id-9895 .gform_wrapper.gravity-theme textarea:focus {
  border-color: #0064A6;
  box-shadow: 0 0 0 3px rgba(0, 100, 166, 0.1);
  outline: none;
}

.page-id-9895 .gform_wrapper.gravity-theme input::placeholder,
.page-id-9895 .gform_wrapper.gravity-theme textarea::placeholder {
  color: #9CA3AF;
}

.page-id-9895 .gform_wrapper.gravity-theme textarea {
  min-height: 120px;
  resize: vertical;
}

.page-id-9895 .gform_wrapper.gravity-theme select {
  appearance: none;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%23001B2D' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 12px center;
  padding-right: 40px;
}

/* Two column layout for name/email/phone rows */
.page-id-9895 .gform_wrapper.gravity-theme .gform_fields {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 16px 24px;
}

/* First Name & Last Name - side by side (fields 20 and 1) */
.page-id-9895 .gform_wrapper.gravity-theme .gfield#field_41_20,
.page-id-9895 .gform_wrapper.gravity-theme .gfield#field_41_1 {
  grid-column: span 1;
}

/* Email & Phone - side by side (fields 7 and 8) */
.page-id-9895 .gform_wrapper.gravity-theme .gfield#field_41_7,
.page-id-9895 .gform_wrapper.gravity-theme .gfield#field_41_8 {
  grid-column: span 1;
}

/* Full width fields: Company, Source, Source Details, Message, CAPTCHA */
.page-id-9895 .gform_wrapper.gravity-theme .gfield#field_41_13,
.page-id-9895 .gform_wrapper.gravity-theme .gfield#field_41_14,
.page-id-9895 .gform_wrapper.gravity-theme .gfield#field_41_16,
.page-id-9895 .gform_wrapper.gravity-theme .gfield#field_41_18,
.page-id-9895 .gform_wrapper.gravity-theme .gfield#field_41_19,
.page-id-9895 .gform_wrapper.gravity-theme .gfield--width-full,
.page-id-9895 .gform_wrapper.gravity-theme .gfield[data-field-class="gfield--width-full"] {
  grid-column: 1 / -1;
}

/* Labels styling */
.page-id-9895 .gform_wrapper.gravity-theme .gfield_label {
  display: block;
}

/* Submit button - matches Divi default button styling */
.page-id-9895 .gform_wrapper.gravity-theme .gform_button,
.page-id-9895 .gform_wrapper.gravity-theme input[type="submit"] {
  font-family: 'Nunito', sans-serif;
  font-weight: 700;
  font-size: 16px;
  color: #FFFFFF;
  background: linear-gradient(#EE0500 0%, #D80200 100%);
  background-color: #D80200;
  border: none;
  border-radius: 9999px;
  padding: 8px 24px;
  cursor: pointer;
  transition: all 0.175s ease;
  display: block;
  margin: 24px auto 0;
  text-transform: none;
}

.page-id-9895 .gform_wrapper.gravity-theme .gform_button:hover,
.page-id-9895 .gform_wrapper.gravity-theme input[type="submit"]:hover {
  background: linear-gradient(#FF1A00 0%, #EE0500 100%);
  background-color: #EE0500;
  box-shadow: rgba(0, 0, 0, 0.5) 0px 4px 12px -4px;
}

.page-id-9895 .gform_wrapper.gravity-theme .gform_button:active,
.page-id-9895 .gform_wrapper.gravity-theme input[type="submit"]:active {
  transform: scale(0.98);
}

/* Footer wrapper styling */
.page-id-9895 .gform_wrapper.gravity-theme .gform_footer {
  text-align: center;
  margin-top: 8px;
  padding-top: 0;
}

/* Hide validation container initially */
.page-id-9895 .gform_wrapper.gravity-theme .gfield_validation_message {
  font-family: 'Nunito', sans-serif;
  font-size: 13px;
  color: #d80000;
  margin-top: 4px;
}

/* reCAPTCHA styling */
.page-id-9895 .gform_wrapper.gravity-theme .ginput_recaptcha {
  margin-top: 16px;
}

/* Hide Source Details field initially (shown via JS when "Other" selected) */
.page-id-9895 .gform_wrapper.gravity-theme .gfield_visibility_hidden {
  display: none;
}

@media (max-width: 768px) {
  .page-id-9895 .gform_wrapper.gravity-theme .gform_fields {
    grid-template-columns: 1fr;
  }
}

/* ==========================================================================
   SINGLE BLOG POST LAYOUT
   ========================================================================== */

/* Hide default Divi sidebar on single posts */
.srm-single-post-page #sidebar,
.srm-single-post-page .et-l--footer,
.srm-single-post #sidebar {
  display: none !important;
}

/* Main wrapper */
.srm-single-post {
  background-color: #FFFFFF;
}

/* ==========================================================================
   HERO SECTION
   ========================================================================== */

.srm-single-post__hero {
  position: relative;
  min-height: 480px;
  display: flex;
  align-items: flex-end;
  background-size: cover;
  background-position: center;
  padding: 0;
  margin-bottom: 0;
}

.srm-single-post__hero--no-image {
  background-size: initial;
  background-position: initial;
}

.srm-single-post__hero-overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(
    to bottom,
    var(--overlay-color, #000000) 0%,
    var(--overlay-color, #000000) 100%
  );
  opacity: var(--overlay-opacity, 0.85);
  z-index: 1;
}

/* Text readability fallback when overlay is disabled */
.srm-single-post__hero--no-overlay .srm-single-post__hero-content * {
  text-shadow: 0 2px 8px rgba(0, 0, 0, 0.7), 0 1px 3px rgba(0, 0, 0, 0.5);
}

.srm-single-post__hero-content {
  position: relative;
  z-index: 2;
  width: 100%;
  max-width: 1280px;
  margin: 0 auto;
  padding: 48px 32px 56px;
}

/* Back Link */
.srm-single-post__back-link {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-family: 'Nunito', sans-serif;
  font-size: 14px;
  font-weight: 600;
  color: color-mix(in srgb, var(--hero-text-color, #FFFFFF) 80%, transparent);
  text-decoration: none;
  margin-bottom: 24px;
  transition: color 0.175s ease;
}

.srm-single-post__back-link:hover {
  color: var(--hero-text-color, #FFFFFF);
}

.srm-single-post__back-link svg,
.srm-single-post__back-link i {
  width: 16px;
  height: 16px;
}

/* Categories */
.srm-single-post__categories {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-bottom: 16px;
}

.srm-single-post__category-pill {
  display: inline-block;
  font-family: 'Nunito', sans-serif;
  font-size: 12px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  color: #FFFFFF;
  background: rgba(211, 17, 17, 0.9);
  padding: 6px 14px;
  border-radius: 9999px;
  text-decoration: none;
  transition: background-color 0.175s ease;
}

.srm-single-post__category-pill:hover {
  background: #d80000;
  color: #FFFFFF;
}

/* Title */
.srm-single-post__title {
  font-family: 'Inter', sans-serif;
  font-size: 48px;
  font-weight: 700;
  line-height: 1.15;
  color: var(--hero-text-color, #FFFFFF);
  margin: 0 0 24px 0;
  max-width: 900px;
  text-shadow: 0 2px 20px rgba(0, 0, 0, 0.3);
}

/* Meta */
.srm-single-post__meta {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 16px;
  font-family: 'Nunito', sans-serif;
  font-size: 14px;
  color: color-mix(in srgb, var(--hero-text-color, #FFFFFF) 85%, transparent);
}

.srm-single-post__author-info {
  display: flex;
  align-items: center;
  gap: 10px;
}

.srm-single-post__author-avatar {
  width: 40px;
  height: 40px;
  border-radius: 50%;
  object-fit: cover;
  border: 2px solid color-mix(in srgb, var(--hero-text-color, #FFFFFF) 30%, transparent);
}

.srm-single-post__author-name {
  font-weight: 600;
  color: var(--hero-text-color, #FFFFFF);
}

.srm-single-post__meta-divider {
  width: 4px;
  height: 4px;
  background: color-mix(in srgb, var(--hero-text-color, #FFFFFF) 40%, transparent);
  border-radius: 50%;
}

.srm-single-post__date,
.srm-single-post__reading-time {
  display: inline-flex;
  align-items: center;
  gap: 6px;
}

.srm-single-post__date svg,
.srm-single-post__date i,
.srm-single-post__reading-time svg,
.srm-single-post__reading-time i {
  width: 14px;
  height: 14px;
  opacity: 0.7;
}

/* ==========================================================================
   CONTENT AREA
   ========================================================================== */

.srm-single-post__container {
  max-width: 1280px;
  margin: 0 auto;
  padding: 56px 32px 80px;
}

.srm-single-post__layout {
  display: grid;
  grid-template-columns: 1fr 320px;
  gap: 64px;
  align-items: start;
}

/* ==========================================================================
   ARTICLE CONTENT
   ========================================================================== */

.srm-single-post__content {
  position: relative;
  min-width: 0;
}

/* Social Share - Inline at bottom of article */
.srm-single-post__share {
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 12px;
  padding: 24px 0;
  margin-top: 32px;
  border-top: 1px solid #e4e5e6;
}

.srm-single-post__share-label {
  font-family: 'Nunito', sans-serif;
  font-size: 13px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  color: #001B2D;
  margin-right: 8px;
}

.srm-single-post__share-btn {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 40px;
  height: 40px;
  background: #fafafa;
  border: none;
  border-radius: 50%;
  color: #001B2D;
  cursor: pointer;
  transition: all 0.175s ease;
  text-decoration: none;
}

.srm-single-post__share-btn:hover {
  background: #d80000;
  color: #FFFFFF;
}

.srm-single-post__share-btn.copied {
  background: #10B981;
  color: #FFFFFF;
}

.srm-single-post__share-btn svg,
.srm-single-post__share-btn i {
  width: 18px;
  height: 18px;
}

/* Article Body */
.srm-single-post__body {
  font-family: 'Nunito', sans-serif;
  font-size: 18px;
  line-height: 1.8;
  color: #4a4545;
}

.srm-single-post__body h2 {
  font-family: 'Inter', sans-serif;
  font-size: 32px;
  font-weight: 700;
  line-height: 1.3;
  color: #111827;
  margin: 48px 0 20px 0;
}

.srm-single-post__body h3 {
  font-family: 'Inter', sans-serif;
  font-size: 24px;
  font-weight: 700;
  line-height: 1.35;
  color: #111827;
  margin: 40px 0 16px 0;
}

.srm-single-post__body h4 {
  font-family: 'Inter', sans-serif;
  font-size: 20px;
  font-weight: 600;
  line-height: 1.4;
  color: #111827;
  margin: 32px 0 12px 0;
}

.srm-single-post__body p {
  margin: 0 0 24px 0;
}

.srm-single-post__body a {
  color: #d80000;
  text-decoration: underline;
  text-underline-offset: 2px;
  transition: color 0.175s ease;
}

.srm-single-post__body a:hover {
  color: #A30D0D;
}

.srm-single-post__body ul,
.srm-single-post__body ol {
  margin: 0 0 24px 0;
  padding-left: 24px;
}

.srm-single-post__body li {
  margin-bottom: 12px;
}

.srm-single-post__body blockquote {
  margin: 32px 0;
  padding: 24px 32px;
  border-left: 4px solid #d80000;
  background: #F9FAFB;
  font-size: 20px;
  font-style: italic;
  color: #1F2937;
  border-radius: 0 8px 8px 0;
}

.srm-single-post__body blockquote p {
  margin: 0;
}

.srm-single-post__body img {
  max-width: 100%;
  height: auto;
  border-radius: 12px;
  margin: 32px 0;
}

.srm-single-post__body pre,
.srm-single-post__body code {
  font-family: 'SF Mono', 'Monaco', 'Menlo', monospace;
  font-size: 14px;
}

.srm-single-post__body pre {
  background: #001B2D;
  color: #e4e5e6;
  padding: 24px;
  border-radius: 12px;
  overflow-x: auto;
  margin: 32px 0;
}

.srm-single-post__body code {
  background: #fafafa;
  color: #d80000;
  padding: 2px 8px;
  border-radius: 4px;
}

.srm-single-post__body pre code {
  background: transparent;
  color: inherit;
  padding: 0;
}

.srm-single-post__body hr {
  border: none;
  height: 1px;
  background: #E5E7EB;
  margin: 48px 0;
}

/* Post Footer */
.srm-single-post__footer {
  margin-top: 48px;
  padding-top: 32px;
  border-top: 1px solid #E5E7EB;
}

.srm-single-post__tags {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 10px;
}

.srm-single-post__tags-label {
  font-family: 'Nunito', sans-serif;
  font-size: 14px;
  font-weight: 600;
  color: #001B2D;
}

.srm-single-post__tag {
  display: inline-block;
  font-family: 'Nunito', sans-serif;
  font-size: 13px;
  font-weight: 500;
  color: #60656b;
  background: #fafafa;
  padding: 6px 14px;
  border-radius: 6px;
  text-decoration: none;
  transition: all 0.175s ease;
}

.srm-single-post__tag:hover {
  background: #e4e5e6;
  color: #001B2D;
}

/* Author Box */
.srm-single-post__author-box {
  display: flex;
  gap: 20px;
  margin-top: 48px;
  padding: 32px;
  background: #F9FAFB;
  border-radius: 16px;
}

.srm-single-post__author-box-avatar {
  width: 80px;
  height: 80px;
  border-radius: 50%;
  object-fit: cover;
  flex-shrink: 0;
}

.srm-single-post__author-box-info {
  flex: 1;
}

.srm-single-post__author-box-label {
  display: block;
  font-family: 'Nunito', sans-serif;
  font-size: 12px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  color: #60656b;
  margin-bottom: 4px;
}

.srm-single-post__author-box-name {
  font-family: 'Inter', sans-serif;
  font-size: 20px;
  font-weight: 700;
  color: #111827;
  margin: 0 0 8px 0;
}

.srm-single-post__author-box-bio {
  font-family: 'Nunito', sans-serif;
  font-size: 15px;
  line-height: 1.6;
  color: #001B2D;
  margin: 0;
}

/* ==========================================================================
   SIDEBAR
   ========================================================================== */

.srm-single-post__sidebar {
  position: sticky;
  top: 100px;
  display: flex;
  flex-direction: column;
  gap: 24px;
}

.srm-single-post__sidebar-card {
  background: #FFFFFF;
  border: 1px solid #E5E7EB;
  border-radius: 16px;
  padding: 24px;
}

/* Sidebar Author Card */
.srm-single-post__sidebar-author {
  text-align: center;
}

.srm-single-post__sidebar-author-avatar {
  width: 72px;
  height: 72px;
  border-radius: 50%;
  object-fit: cover;
  margin-bottom: 12px;
}

.srm-single-post__sidebar-author-name {
  font-family: 'Inter', sans-serif;
  font-size: 16px;
  font-weight: 700;
  color: #111827;
  margin: 0 0 8px 0;
}

.srm-single-post__sidebar-author-bio {
  font-family: 'Nunito', sans-serif;
  font-size: 14px;
  line-height: 1.6;
  color: #001B2D;
  margin: 0;
}

/* Sidebar Heading */
.srm-single-post__sidebar-heading {
  font-family: 'Inter', sans-serif;
  font-size: 16px;
  font-weight: 700;
  color: #111827;
  margin: 0 0 16px 0;
}

/* Related Posts */
.srm-single-post__sidebar-posts {
  list-style: none;
  margin: 0;
  padding: 0;
}

.srm-single-post__sidebar-post {
  margin-bottom: 16px;
}

.srm-single-post__sidebar-post:last-child {
  margin-bottom: 0;
}

.srm-single-post__sidebar-post a {
  display: flex;
  gap: 12px;
  text-decoration: none;
  transition: opacity 0.175s ease;
}

.srm-single-post__sidebar-post a:hover {
  opacity: 0.8;
}

.srm-single-post__sidebar-post-img {
  width: 64px;
  height: 48px;
  object-fit: cover;
  border-radius: 8px;
  flex-shrink: 0;
}

.srm-single-post__sidebar-post-content {
  display: flex;
  flex-direction: column;
  gap: 4px;
  min-width: 0;
}

.srm-single-post__sidebar-post-title {
  font-family: 'Inter', sans-serif;
  font-size: 14px;
  font-weight: 600;
  color: #1F2937;
  line-height: 1.4;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

.srm-single-post__sidebar-post-date {
  font-family: 'Nunito', sans-serif;
  font-size: 12px;
  color: #60656b;
}

/* Newsletter CTA */
.srm-single-post__sidebar-newsletter {
  background: linear-gradient(135deg, #111827 0%, #1F2937 100%);
  border-color: transparent;
}

.srm-single-post__sidebar-newsletter .srm-single-post__sidebar-heading {
  color: #FFFFFF;
}

.srm-single-post__sidebar-newsletter-text {
  font-family: 'Nunito', sans-serif;
  font-size: 14px;
  line-height: 1.6;
  color: rgba(255, 255, 255, 0.7);
  margin: 0 0 16px 0;
}

.srm-single-post__sidebar-newsletter-btn {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-family: 'Nunito', sans-serif;
  font-size: 14px;
  font-weight: 600;
  color: #FFFFFF;
  background: #d80000;
  padding: 12px 24px;
  border-radius: 9999px;
  text-decoration: none;
  transition: all 0.175s ease;
}

.srm-single-post__sidebar-newsletter-btn:hover {
  background: #B80F0F;
  color: #FFFFFF;
  gap: 12px;
}

.srm-single-post__sidebar-newsletter-btn svg,
.srm-single-post__sidebar-newsletter-btn i {
  width: 16px;
  height: 16px;
}

/* ==========================================================================
   RELATED ARTICLES SECTION
   ========================================================================== */

.srm-single-post__related-section {
  background: #F9FAFB;
  padding: 80px 0;
}

.srm-single-post__related-container {
  max-width: 1280px;
  margin: 0 auto;
  padding: 0 32px;
}

.srm-single-post__related-heading {
  font-family: 'Inter', sans-serif;
  font-size: 32px;
  font-weight: 700;
  color: #111827;
  text-align: center;
  margin: 0 0 48px 0;
}

.srm-single-post__related-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 32px;
  margin-bottom: 40px;
}

.srm-single-post__related-cta {
  text-align: center;
}

.srm-single-post__view-all-btn {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-family: 'Nunito', sans-serif;
  font-size: 16px;
  font-weight: 600;
  color: #d80000;
  text-decoration: none;
  transition: gap 0.175s ease;
}

.srm-single-post__view-all-btn:hover {
  gap: 12px;
  color: #A30D0D;
}

.srm-single-post__view-all-btn svg,
.srm-single-post__view-all-btn i {
  width: 18px;
  height: 18px;
}

/* ==========================================================================
   RESPONSIVE DESIGN
   ========================================================================== */

/* Share buttons responsive - stays inline */

@media (max-width: 1024px) {
  .srm-single-post__layout {
    grid-template-columns: 1fr;
    gap: 48px;
  }

  .srm-single-post__sidebar {
    position: static;
    flex-direction: row;
    flex-wrap: wrap;
  }

  .srm-single-post__sidebar-card {
    flex: 1;
    min-width: 280px;
  }

  .srm-single-post__related-grid {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (max-width: 768px) {
  .srm-single-post__hero {
    min-height: 380px;
  }

  .srm-single-post__hero-content {
    padding: 32px 20px 40px;
  }

  .srm-single-post__title {
    font-size: 32px;
  }

  .srm-single-post__meta {
    gap: 12px;
  }

  .srm-single-post__meta-divider {
    display: none;
  }

  .srm-single-post__container {
    padding: 40px 20px 60px;
  }

  .srm-single-post__body {
    font-size: 16px;
  }

  .srm-single-post__body h2 {
    font-size: 26px;
  }

  .srm-single-post__body h3 {
    font-size: 22px;
  }

  .srm-single-post__body blockquote {
    padding: 20px 24px;
    font-size: 18px;
  }

  .srm-single-post__author-box {
    flex-direction: column;
    text-align: center;
    padding: 24px;
  }

  .srm-single-post__sidebar {
    flex-direction: column;
  }

  .srm-single-post__sidebar-card {
    min-width: 100%;
  }

  .srm-single-post__related-section {
    padding: 60px 0;
  }

  .srm-single-post__related-container {
    padding: 0 20px;
  }

  .srm-single-post__related-heading {
    font-size: 26px;
    margin-bottom: 32px;
  }

  .srm-single-post__related-grid {
    grid-template-columns: 1fr;
    gap: 24px;
  }
}

@media (max-width: 480px) {
  .srm-single-post__hero {
    min-height: 320px;
  }

  .srm-single-post__title {
    font-size: 28px;
  }

  .srm-single-post__author-avatar {
    width: 32px;
    height: 32px;
  }

  .srm-single-post__author-info {
    gap: 8px;
  }
}


/* ========================================
   SPECIALTY SECTION ROW WIDTH
   ======================================== */

.et_pb_section_11.et_section_specialty > .et_pb_row,
.et_pb_gutters3 .et_section_specialty > .et_pb_row,
.et_section_specialty > .et_pb_row {
  max-width: 1152px !important;
  width: 1152px !important;
  margin-left: auto !important;
  margin-right: auto !important;
  justify-content: space-between;
}

.et_section_specialty .et_pb_column_2_3.et_pb_specialty_column {
  flex-grow: 1;
}

/* ========================================
   RESPONSIVE: ROW WIDTH & FOOTER
   ======================================== */

@media (max-width: 1200px) {
  /* Override Divi's 80% row width with 90% */
  .et_pb_row {
    width: 90% !important;
  }
  
  /* Make footer specialty section responsive */
  .et_pb_section_11.et_section_specialty > .et_pb_row,
  .et_pb_gutters3 .et_section_specialty > .et_pb_row,
  .et_section_specialty > .et_pb_row,
  .srm-global-footer .et_section_specialty > .et_pb_row {
    width: 90% !important;
    max-width: 100% !important;
  }
}

@media (max-width: 980px) {
  .et_pb_gutters2.et_pb_row:not(:last-child) {
    padding-bottom: 0 !important;
  }
  .srm-insight-column__category-desc {
    min-height: 40px;
  }

  /* Reverse column order on mobile for specialty sections with this class */
  .et_section_specialty.reverse-on-mobile > .et_pb_row {
    display: flex !important;
    flex-direction: column !important;
  }
  
  /* Move the icon column (single column) to the top */
  .et_section_specialty.reverse-on-mobile > .et_pb_row > .et_pb_column_single {
    order: -1 !important;
  }

  /* Normalize spacing in specialty section inner 2-column rows */
  .et_section_specialty .et_pb_row_inner .et_pb_column_1_3 {
    margin-bottom: 0 !important;
  }
  
  /* Remove extra margin from last column in inner rows */
  .et_section_specialty .et_pb_row_inner .et_pb_column_1_3:last-child {
    margin-bottom: 0 !important;
  }
}

.et_pb_column > .et_pb_srm_service_card {
  margin-bottom: 0.5% !important;
}

@media (max-width: 600px) {
  .et_pb_column_1_4 {
    width: 100% !important;
    margin-right: 0 !important;
  }

  .et_pb_row_4col .et_pb_column:nth-last-child(-n+2) {
    margin-bottom: 30px !important;
  }

  .srm-global-footer .et_section_specialty > .et_pb_row {
    flex-direction: column;
    justify-content: center;
    align-items: flex-start;
    text-align: center;
  }

  .srm-global-footer .et_section_specialty .et_pb_text_inner {
    text-align: center;
  }

  .srm-insight-column__cta--placeholder {
    display: none;
  }

  .srm-global-footer .et_section_specialty .et_pb_row_inner {
    justify-content: flex-start !important;
    flex-direction: column;
    align-items: center;
  }

  .srm-global-footer .et_section_specialty .et_pb_row_inner .et_pb_column,
  .srm-global-footer .et_section_specialty .et_pb_row_inner .et_pb_column:last-child {
    padding: 0 !important;
  }
}

@media (max-width: 480px) {
  .srm-stats-grid__btn {
    width: 100%;
  }
  .et_pb_button {
    text-align: center !important;
  }
}

.et_pb_button {
  min-height: 45px !important;
  display: inline-flex !important;
  justify-content: center !important;
  align-items: center !important;
  line-height: 1.25 !important;
}

.et_pb_button::after {
  right: 6% !important;
  left: initial !important;
  width: 20px !important;
}

#page-container .srm-global-footer .et_section_specialty > .et_pb_row {
  max-width: 1280px !important;
  width: 80% !important;
}

@media screen and (max-width: 1200px) {
  #page-container .srm-global-footer .et_section_specialty > .et_pb_row {
    width: 90% !important;
  }
}


/* ========================================
   PREFOOTER SECONDARY BUTTON PADDING
   ======================================== */


/* ========================================
   SERVICE PAGE LUCIDE ICON SIZE
   ======================================== */

.srm-service-hero .srm-lucide-icon__wrapper {
  width: 60px !important;
  height: 60px !important;
}

.srm-service-hero .srm-lucide-icon__icon {
  width: 30px !important;
  height: 30px !important;
}

/* ========================================
   COURSESTART PAGE STYLES
   ======================================== */

/* Section Header with Floated Icon (Security & Compliance, Support & Training) */
.srm-section-header-with-icon {
  display: flex;
  align-items: center;
  gap: 16px;
  margin-bottom: 0;
}

.srm-section-header-with-icon .srm-lucide-icon {
  flex-shrink: 0;
}

.srm-section-header-with-icon .srm-lucide-icon__wrapper {
  width: 48px;
  height: 48px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
}

.srm-section-header-with-icon .srm-lucide-icon__icon {
  width: 24px;
  height: 24px;
}

.srm-section-header-with-icon h2 {
  font-family: 'Inter', sans-serif;
  font-weight: 700;
  font-size: 24px;
  color: #111827;
  margin: 0;
  padding-top: 0;
  padding-bottom: 0;
}

/* White background icon wrapper sizing */
.srm-lucide-icon__wrapper[style*="background-color: #FFFFFF;"] {
  width: 24px;
  height: 24px;
}

/* Benefits Grid on Dark Background */
.srm-benefits-dark-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 24px;
  margin-top: 32px;
}

@media (max-width: 768px) {
  .srm-benefits-dark-grid {
    grid-template-columns: 1fr;
  }
}

.srm-benefits-dark-card {
  background: #FFFFFF;
  border-radius: 12px;
  padding: 24px;
}

.srm-benefits-dark-card__header {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-bottom: 12px;
}

.srm-benefits-dark-card__header svg {
  width: 24px;
  height: 24px;
  stroke: #001B2D;
  flex-shrink: 0;
}

.srm-benefits-dark-card__header h3 {
  font-family: 'Inter', sans-serif;
  font-weight: 600;
  font-size: 16px;
  color: #001B2D;
  margin: 0;
  padding-bottom: 0;
}

.srm-benefits-dark-card p {
  font-family: 'Nunito', sans-serif;
  font-size: 14px;
  color: #001B2D;
  line-height: 1.6;
  margin: 0;
}

/* White Benefit Cards (for purple background sections) */
.srm-benefits-dark-grid--white-cards {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 24px;
  margin-top: 0;
}

@media (max-width: 768px) {
  .srm-benefits-dark-grid--white-cards {
    grid-template-columns: 1fr;
  }
}

.srm-benefits-white-card {
  background: #FFFFFF;
  border-radius: 16px;
  padding: 24px;
}

.srm-benefits-white-card__header {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-bottom: 12px;
}

.srm-benefits-white-card__header svg {
  width: 24px;
  height: 24px;
  stroke: #85439a;
  flex-shrink: 0;
}

.srm-benefits-white-card__header h3 {
  font-family: 'Inter', sans-serif;
  font-weight: 600;
  font-size: 16px;
  color: #111827;
  margin: 0;
}

.srm-benefits-white-card p {
  font-family: 'Nunito', sans-serif;
  font-size: 14px;
  color: #4B5563;
  line-height: 1.6;
  margin: 0;
}

/* CourseStart Hero Purple Gradient Title */
.srm-coursestart-hero .srm-hero-headline__main {
  background: linear-gradient(135deg, #85439a 0%, #9b5ab0 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}

/* Step Card Module Wrapper */
.et_pb_srm_step_card {
  background: #FFFFFF;
  border: 1px solid #E5E7EB;
  border-radius: 12px;
  padding: 32px 24px;
  padding-top: 40px;
  position: relative;
  text-align: center;
}

/* Ensure badge is positioned relative to card, not inner wrapper */
.et_pb_srm_step_card .et_pb_module_inner {
  position: static;
}

.et_pb_srm_step_card .srm-step-number,
.et_pb_srm_step_card_0 .srm-step-number,
.et_pb_srm_step_card_1 .srm-step-number,
.et_pb_srm_step_card_2 .srm-step-number,
.et_pb_srm_step_card_3 .srm-step-number,
.et_pb_srm_step_card_4 .srm-step-number,
.et_pb_srm_step_card_5 .srm-step-number,
.et_pb_srm_step_card_6 .srm-step-number,
.et_pb_srm_step_card_7 .srm-step-number,
.et_pb_srm_step_card_8 .srm-step-number,
.et_pb_srm_step_card_9 .srm-step-number {
  position: absolute;
  top: -16px;
  left: 50%;
  transform: translateX(-50%);
  width: 32px;
  height: 32px;
  border-radius: 50%;
  background-color: #1E4D78 !important;
  color: #FFFFFF !important;
  font-family: 'Inter', sans-serif;
  font-weight: 700;
  font-size: 14px;
  display: flex;
  align-items: center;
  justify-content: center;
}

.et_pb_srm_step_card .srm-step-card__title {
  font-family: 'Inter', sans-serif;
  font-weight: 700;
  font-size: 16px;
  color: #111827;
  margin: 0 0 8px 0;
}

.et_pb_srm_step_card .srm-step-card__desc {
  font-family: 'Nunito', sans-serif;
  font-size: 13px;
  color: #001B2D;
  line-height: 1.6;
  margin: 0;
}

.et_pb_srm_step_card .srm-step-card__desc p {
  margin: 0;
}

/* Checklist Section with Icon Header - CourseStart */
.srm-checklist-section-coursestart {
  padding: 0;
}

.srm-checklist-section-coursestart .srm-section-header-with-icon {
  margin-bottom: 16px;
}

.srm-checklist-section-coursestart .srm-section-desc {
  font-family: 'Nunito', sans-serif;
  font-size: 15px;
  color: #001B2D;
  line-height: 1.7;
  margin: 0 0 24px 0;
}

/* CourseStart Checklist Items */
.srm-coursestart-checklist .srm-checklist-item {
  margin-bottom: 12px;
}

.srm-coursestart-checklist .srm-checklist-item:last-child {
  margin-bottom: 0;
}

/* ==========================================================================
   SRM Solution Card Module
   ========================================================================== */

.srm-solution-card {
  background: #FFFFFF;
  border-radius: 12px;
  overflow: hidden;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
  display: flex;
  flex-direction: column;
  height: 100%;
  transition: box-shadow 0.2s ease, transform 0.175s ease;
}

.srm-solution-card:hover {
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
  transform: translateY(-2px);
}

/* Solution Card Header */
.srm-solution-card__header {
  height: 160px;
  position: relative;
  overflow: hidden;
}

.srm-solution-card__header--image {
  background: #F3F4F6;
}

.srm-solution-card__header--image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.srm-solution-card__header-overlay {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  background: linear-gradient(to top, rgba(0,0,0,0.7), transparent);
  padding: 24px 16px 12px;
}

.srm-solution-card__header-title {
  color: #FFFFFF;
  font-family: 'Inter', sans-serif;
  font-weight: 700;
  font-size: 18px;
  margin: 0;
}

/* CourseStart Branded Header */
.srm-solution-card__header--coursestart {
  background: linear-gradient(135deg, #E8F5FF 0%, #D6EFFF 100%);
  display: flex;
  align-items: center;
  justify-content: center;
}

.srm-coursestart-logo {
  text-align: center;
}

.srm-coursestart-course {
  font-family: 'Inter', sans-serif;
  font-weight: 300;
  font-size: 32px;
  color: #0063a6;
}

.srm-coursestart-start {
  font-family: 'Inter', sans-serif;
  font-weight: 700;
  font-size: 32px;
  color: #0063a6;
}

.srm-coursestart-byline {
  font-family: 'Inter', sans-serif;
  font-size: 12px;
  color: #001B2D;
  margin-top: 4px;
}

/* Solution Card Body */
.srm-solution-card__body {
  padding: 20px;
  flex: 1;
  display: flex;
  flex-direction: column;
}

.srm-solution-card__title {
  font-family: 'Inter', sans-serif;
  font-weight: 700;
  font-size: 18px;
  color: #001B2D;
  margin: 0 0 8px 0;
}

.srm-solution-card__desc {
  font-family: 'Nunito', sans-serif;
  font-size: 14px;
  color: #001B2D;
  line-height: 1.6;
  margin: 0 0 16px 0;
}

/* Solution Card Features */
.srm-solution-card__features {
  margin-bottom: 16px;
  flex: 1;
}

.srm-solution-card__feature {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 0;
}

.srm-solution-card__feature:last-child {
  margin-bottom: 0;
}

.srm-solution-card__check {
  flex-shrink: 0;
  width: 18px;
  height: 18px;
  margin-top: -1px;
}

.srm-solution-card__check svg {
  width: 18px;
  height: 18px;
}

.srm-solution-card__feature-text {
  font-family: 'Nunito', sans-serif;
  font-size: 13px;
  color: #4a4545;
  line-height: 1.5;
}

/* Solution Card Link */
.srm-solution-card__link {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-family: 'Nunito', sans-serif;
  font-weight: 700;
  font-size: 14px;
  text-decoration: none;
  margin-top: auto;
  transition: color 0.175s ease, opacity 0.175s ease;
}

.srm-solution-card__link:hover {
  opacity: 0.8;
}

.srm-solution-card__arrow {
  transition: transform 0.175s ease;
}

.srm-solution-card__link:hover .srm-solution-card__arrow {
  transform: translateX(4px);
}

/* ==========================================================================
   SRM Feature Item Module
   ========================================================================== */

.srm-feature-item {
  display: flex;
  align-items: center;
  gap: 16px;
  padding: 16px;
  background: #FFFFFF;
  border-radius: 12px;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.08);
  margin-bottom: 16px;
  transition: box-shadow 0.175s ease;
}

.srm-feature-item:hover {
  box-shadow: 0 4px 8px rgba(0, 0, 0, 0.12);
}

.srm-feature-item:last-child {
  margin-bottom: 0;
}

.srm-feature-item__icon {
  flex-shrink: 0;
  width: 48px;
  height: 48px;
  border-radius: 9999px;
  display: flex;
  align-items: center;
  justify-content: center;
}

.srm-feature-item__icon svg {
  width: 24px;
  height: 24px;
  color: #FFFFFF;
  stroke: #FFFFFF;
}

.srm-feature-item__content {
  flex: 1;
}

.srm-feature-item__title {
  font-family: 'Inter', sans-serif;
  font-weight: 600;
  font-size: 16px;
  color: #001B2D;
  margin: 0;
  padding-bottom: 3px;
}

.srm-feature-item__desc {
  font-family: 'Nunito', sans-serif;
  font-size: 14px;
  color: #001B2D;
  line-height: 1.5;
  margin: 0;
}


/* ==========================================================================
   Button Text Decoration Override
   Ensures buttons NEVER have underline or other text decorations
   ========================================================================== */

a.et_pb_button,
.et_pb_button,
a.et_pb_button:hover,
.et_pb_button:hover,
a.et_pb_button:focus,
.et_pb_button:focus,
a.et_pb_button:active,
.et_pb_button:active,
a.et_pb_button:visited,
.et_pb_button:visited,
#main-content a.et_pb_button,
#main-content .et_pb_button,
.et_pb_section a.et_pb_button,
.et_pb_section .et_pb_button,
body a.et_pb_button,
body .et_pb_button,
body #page-container a.et_pb_button,
body #page-container .et_pb_button {
  text-decoration: none !important;
  text-decoration-line: none !important;
  text-underline-offset: initial !important;
}


.srm-service-card--linked, .srm-service-card--linked:hover {
  border: none !important;
}

.srm-service-card--linked:hover::after {
  display: none !important;
}


.srm-stats-grid__btn {
  border: 1px solid transparent;
}

.srm-stats-grid__btn:hover {
  background: #D60000;
  color: #FFF !important;
  opacity: 1 !important;
  transform: translateY(-2px);
  box-shadow: 0 0 10px rgba(0,0,0,0.4);
  border: 1px solid #fff;
}

.srm-service-card__subtitle {
  color: #001B2D;
  opacity: .61;
}

.srm-service-card__desc p {
  margin: 0;
}

.srm-global-footer a {
  text-decoration: none !important;
}

a:where(:not(.wp-element-button)) {
    text-decoration: none !important;
}

/* ==========================================================================
   What We Do Service Button Gradients
   ========================================================================== */

#production img {
  border-radius: 18px !important;
}

/*  */

/* Remove border from Security & Compliance / Support & Training icons */
.srm-section-header-with-icon .srm-lucide-icon__wrapper {
  border: none !important;
  box-shadow: none !important;
}

.et_pb_srm_stats_grid {
  padding: 0;
}

/* ==========================================================================
   Solutions Page Hero
   ========================================================================== */

.solutions-hero .solutions-hero__row {
  display: flex;
  align-items: center;
}

.solutions-hero__content-col.et_pb_column {
  padding-top: 48px !important;
  padding-bottom: 48px !important;
}

/* ==========================================================================
   Solutions Page - Feature Item Module Spacing
   ========================================================================== */

.et_pb_srm_feature_item {
  margin-bottom: 15px !important;
}

/* ==========================================================================
   Solutions Page - Solution Cards Equal Height
   ========================================================================== */

   @media screen and (min-width:1025px) {
.solutions-cards__row.et_pb_row {
  display: flex !important;
  align-items: stretch !important;
}

.solutions-cards__row > .et_pb_column {
  display: flex !important;
}

.solutions-cards__row .et_pb_module {
  height: 100% !important;
}

.srm-solution-card {
  height: 100% !important;
  flex: 1;
  display: flex;
  flex-direction: column;
}

.srm-solution-card__body {
  flex: 1;
  display: flex;
  flex-direction: column;
}

.srm-solution-card__features {
  flex: 1;
}

/* ==========================================================================
   Solutions Page - Seamless Integration
   ========================================================================== */

.solutions-integration__row.et_pb_row {
  display: flex !important;
  align-items: stretch !important;
}

.solutions-integration__image-col.et_pb_column {
  display: flex !important;
}

.solutions-integration__image-col .et_pb_module {
  height: 100% !important;
  display: flex !important;
}

.solutions-integration__image-col .et_pb_image_wrap {
  height: 100%;
  display: flex;
}

.solutions-integration__image-col .et_pb_image_wrap img {
  height: 100%;
  min-height: 200px;
  object-fit: cover;
}

   }

span.srm-service-card__cta {
  margin-top: auto;
}

/* Hero section with centered content and fixed height */
.srm-hero-centered {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-height: 300px !important;
  padding-top: 0 !important;
  padding-bottom: 0 !important;
}

.srm-hero-centered > .et_pb_row {
  margin: 0 auto !important;
  padding: 0 !important;
}

a.et_pb_button {
  color: #fff;
}

.page-id-9979 .srm-service-card__cta {
  margin-top: 15px;
}

/* ============================================
   SRM Job Listing Module
   ============================================ */
.srm-job-listing {
  display: flex;
  padding: 12px 24px;
  max-width: 900px;
  margin: 0 auto;
}

.srm-job-listing__location {
  flex: 0 0 25%;
  min-width: 100px;
}

.srm-job-listing__position {
  flex: 1;
}

/* Header row */
.srm-job-listing--header {
  background-color: #005085;
  border-radius: 8px 8px 0 0;
}

.srm-job-listing--header .srm-job-listing__location,
.srm-job-listing--header .srm-job-listing__position {
  color: #FFFFFF;
  font-family: Inter, sans-serif;
  font-weight: 600;
  font-size: 13px;
  letter-spacing: 0.5px;
  text-transform: uppercase;
}

/* Data rows */
.srm-job-listing--data {
  background-color: #FFFFFF;
  border-bottom: 1px solid #E5E7EB;
}

.srm-job-listing--data .srm-job-listing__location {
  color: #6B7280;
  font-family: Nunito, sans-serif;
  font-size: 15px;
}

.srm-job-listing--data .srm-job-listing__position {
  font-family: Nunito, sans-serif;
  font-size: 15px;
  font-weight: 600;
}

.srm-job-listing--data .srm-job-listing__position a {
  color: #005085;
  text-decoration: none;
}

.srm-job-listing--data .srm-job-listing__position a:hover {
  text-decoration: underline;
}

/* Last row rounded bottom */
.srm-job-listing--data.srm-job-listing--last {
  border-radius: 0 0 8px 8px;
}

/* Mobile responsive */
@media (max-width: 480px) {
  .srm-job-listing {
    flex-direction: column;
    gap: 4px;
  }
  
  .srm-job-listing__location {
    flex: none;
  }
}


.et_pb_srm_solution_card .et_pb_module_inner {
  height: 100% !important;
  flex: 1;
  display: flex;
  flex-direction: column;
}

/* Equal-height cards on Industries page */
.et_pb_srm_solution_card {
  height: 100%;
  display: flex;
  flex-direction: column;
}

.et_pb_srm_audience_card {
  height: 100%;
  display: flex;
  flex-direction: column;
}

/* ==========================================================================
   SRM Person Bio Page (single-people.php)
   ========================================================================== */

.srm-person-bio {
  background: #FFFFFF;
}

/* Back Link Bar */
.srm-person-bio__back-bar {
  background: #F9FAFB;
  border-bottom: 1px solid #E5E7EB;
  padding: 16px 0;
}

.srm-person-bio__back-bar-inner {
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 24px;
}

.srm-person-bio__back-link {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  color: #6B7280;
  font-family: 'Inter', sans-serif;
  font-size: 14px;
  font-weight: 500;
  text-decoration: none;
  transition: color 0.2s ease;
}

.srm-person-bio__back-link:hover {
  color: #D31111;
}

.srm-person-bio__back-link i,
.srm-person-bio__back-link svg {
  width: 18px;
  height: 18px;
}

/* Container & Layout */
.srm-person-bio__container {
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 24px;
}

.srm-person-bio__layout {
  display: grid;
  grid-template-columns: 300px 1fr;
  gap: 60px;
  padding: 60px 0 80px;
}

/* Photo Column */
.srm-person-bio__photo-col {
  position: relative;
}

.srm-person-bio__photo-wrapper {
  position: relative;
  border-radius: 50%;
  overflow: hidden;
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.12);
}

.srm-person-bio__photo {
  width: 100%;
  height: auto;
  display: block;
  aspect-ratio: 1 / 1;
  object-fit: cover;
  transition: opacity 0.25s ease;
}

.srm-person-bio__photo--hover {
  position: absolute;
  top: 0;
  left: 0;
  opacity: 0;
}

.srm-person-bio__photo-wrapper:hover .srm-person-bio__photo--hover {
  opacity: 1;
}

.srm-person-bio__linkedin-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  margin-top: 24px;
  padding: 12px 32px;
  background: #0A66C2;
  color: #FFFFFF;
  border-radius: 9999px;
  font-family: 'Nunito', sans-serif;
  font-size: 16px;
  font-weight: 700;
  text-decoration: none;
  transition: all 0.175s ease;
}

.srm-person-bio__linkedin-btn:hover {
  background: #004182;
  color: #FFFFFF;
  box-shadow: rgba(0, 0, 0, 0.5) 0px 4px 12px -4px;
}

.srm-person-bio__linkedin-btn i,
.srm-person-bio__linkedin-btn svg {
  width: 18px;
  height: 18px;
}

/* Content Column */
.srm-person-bio__content-col {
  padding-top: 20px;
}

.srm-person-bio__name {
  font-family: 'Inter', sans-serif;
  font-size: 42px;
  font-weight: 800;
  color: #111827;
  line-height: 1.2;
  margin: 0 0 8px;
}

.srm-person-bio__position {
  font-family: 'Inter', sans-serif;
  font-size: 18px;
  font-weight: 600;
  color: #D31111;
  margin: 0 0 32px;
}

.srm-person-bio__bio {
  font-family: 'Nunito', sans-serif;
  font-size: 17px;
  line-height: 1.8;
  color: #4B5563;
}

.srm-person-bio__bio p {
  margin: 0 0 20px;
}

.srm-person-bio__bio p:last-child {
  margin-bottom: 0;
}

/* Share Section */
.srm-person-bio__share {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-top: 40px;
  padding-top: 32px;
  border-top: 1px solid #E5E7EB;
}

.srm-person-bio__share-label {
  font-family: 'Inter', sans-serif;
  font-size: 14px;
  font-weight: 600;
  color: #6B7280;
}

.srm-person-bio__share-btn {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 40px;
  height: 40px;
  background: #F3F4F6;
  border: none;
  border-radius: 8px;
  color: #6B7280;
  cursor: pointer;
  transition: all 0.2s ease;
}

.srm-person-bio__share-btn:hover {
  background: #E5E7EB;
  color: #111827;
}

.srm-person-bio__share-btn.copied {
  background: #10B981;
  color: #FFFFFF;
}

.srm-person-bio__share-btn i,
.srm-person-bio__share-btn svg {
  width: 18px;
  height: 18px;
}

/* Meet More Team Section */
.srm-person-bio__more-section {
  background: #F9FAFB;
  padding: 80px 0;
}

.srm-person-bio__more-container {
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 24px;
}

.srm-person-bio__more-heading {
  font-family: 'Inter', sans-serif;
  font-size: 32px;
  font-weight: 800;
  color: #111827;
  text-align: center;
  margin: 0 0 30px;
}

.srm-person-bio__linkedin-btn {
  width: 100%;
}

.srm-person-bio__more-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 24px;
}

.srm-person-bio__more-card {
  background: #FFFFFF;
  border-radius: 12px;
  padding: 24px;
  text-align: center;
  text-decoration: none;
  transition: all 0.3s ease;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.05);
}

.srm-person-bio__more-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 12px 24px rgba(0, 0, 0, 0.1);
}

.srm-person-bio__more-card-photo {
  width: 120px;
  height: 120px;
  margin: 0 auto 16px;
  border-radius: 50%;
  overflow: hidden;
  position: relative;
}

.srm-person-bio__more-card-photo img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.srm-person-bio__more-card-photo .srm-person-bio__more-card-photo-hover {
  position: absolute;
  top: 0;
  left: 0;
  opacity: 0;
  transition: opacity 0.25s ease;
}

.srm-person-bio__more-card:hover .srm-person-bio__more-card-photo-hover {
  opacity: 1;
}

.srm-person-bio__more-card-name {
  font-family: 'Inter', sans-serif;
  font-size: 16px;
  font-weight: 700;
  color: #111827;
  margin: 0 0 4px;
}

.srm-person-bio__more-card-title {
  font-family: 'Nunito', sans-serif;
  font-size: 13px;
  color: #6B7280;
  margin: 0;
}

.srm-person-bio__more-cta {
  text-align: center;
  margin-top: 48px;
}

.srm-person-bio__view-all-btn {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 14px 28px;
  background: #D31111;
  color: #FFFFFF;
  border-radius: 9999px;
  font-family: 'Inter', sans-serif;
  font-size: 14px;
  font-weight: 600;
  text-decoration: none;
  transition: all 0.2s ease;
}

.srm-person-bio__view-all-btn:hover {
  background: #B91C1C;
  color: #FFFFFF;
  transform: translateY(-2px);
  box-shadow: 0 4px 12px rgba(211, 17, 17, 0.3);
}

.srm-person-bio__view-all-btn i,
.srm-person-bio__view-all-btn svg {
  width: 16px;
  height: 16px;
}

/* Responsive Styles */
@media (max-width: 1024px) {
  .srm-person-bio__layout {
    grid-template-columns: 250px 1fr;
    gap: 40px;
  }
  
  .srm-person-bio__more-grid {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (max-width: 768px) {
  .srm-person-bio__layout {
    grid-template-columns: 1fr;
    gap: 32px;
    padding: 40px 0 60px;
  }
  
  .srm-person-bio__photo-col {
    text-align: center;
  }
  
  .srm-person-bio__photo-wrapper {
    max-width: 280px;
    margin: 0 auto;
  }
  
  .srm-person-bio__linkedin-btn {
    max-width: 280px;
    margin: 24px auto 0;
  }
  
  .srm-person-bio__content-col {
    padding-top: 0;
    text-align: center;
  }
  
  .srm-person-bio__name {
    font-size: 32px;
  }
  
  .srm-person-bio__position {
    margin-bottom: 24px;
  }
  
  .srm-person-bio__bio {
    text-align: left;
  }
  
  .srm-person-bio__share {
    justify-content: center;
  }
  
  .srm-person-bio__more-section {
    padding: 60px 0;
  }
  
  .srm-person-bio__more-heading {
    font-size: 26px;
    margin-bottom: 32px;
  }
  
  .srm-person-bio__more-grid {
    grid-template-columns: repeat(2, 1fr);
    gap: 16px;
  }
  
  .srm-person-bio__more-card {
    padding: 20px 16px;
  }
  
  .srm-person-bio__more-card-photo {
    width: 100px;
    height: 100px;
  }
}

@media (max-width: 480px) {
  .srm-person-bio__more-grid {
    grid-template-columns: 1fr 1fr;
    gap: 12px;
  }
  
  .srm-person-bio__more-card-photo {
    width: 80px;
    height: 80px;
  }
  
  .srm-person-bio__more-card-name {
    font-size: 14px;
  }
  
  .srm-person-bio__more-card-title {
    font-size: 12px;
  }
}

/* ==========================================================================
   Case Study Single Page Template - Award-Winning Design
   Inspired by Collins, Pentagram, and frog
   ========================================================================== */

/* Main Container */
.srm-cs {
  background: #fff;
  overflow-x: hidden;
}

/* ==========================================================================
   HERO - Full-Bleed Immersive
   ========================================================================== */

.srm-cs-hero {
  position: relative;
  min-height: 500px;
  display: flex;
  align-items: flex-end;
  background-size: cover;
  background-position: center;
  background-color: var(--srm-gray-900, #001b2d);
}

.srm-cs-hero__overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(
    to top,
    rgba(0, 27, 45, 0.95) 0%,
    rgba(0, 27, 45, 0.7) 40%,
    rgba(0, 27, 45, 0.4) 100%
  );
  z-index: 1;
}

.srm-cs-hero__content {
  position: relative;
  z-index: 2;
  width: 100%;
  max-width: 900px;
  margin: 0 auto;
  padding: 60px 0;
}

.srm-cs-hero__back {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  color: rgba(255, 255, 255, 0.7);
  font-size: 14px;
  font-weight: 500;
  text-decoration: none;
  margin-bottom: 32px;
  transition: color 0.2s ease;
  font-family: 'Nunito', sans-serif;
}

.srm-cs-hero__back:hover {
  color: #fff;
}

.srm-cs-hero__back svg,
.srm-cs-hero__back i {
  width: 18px;
  height: 18px;
}

.srm-cs-hero__header {
  display: flex;
  align-items: center;
  gap: 40px;
  flex-direction: row-reverse;
  justify-content: flex-end;
}

.srm-cs-hero__back {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  color: rgba(255, 255, 255, 0.6);
  font-size: 13px;
  font-weight: 500;
  text-decoration: none;
  text-transform: uppercase;
  letter-spacing: 0.1em;
  margin-bottom: 40px;
  transition: color 0.2s ease;
}

.srm-cs-hero__back:hover {
  color: #fff;
}

.srm-cs-hero__back svg {
  width: 16px;
  height: 16px;
}

.srm-cs-hero__logo {
  flex-shrink: 0;
}

.srm-cs-hero__logo img {
  height: 100px;
  width: auto;
  background: #fff;
  padding: 20px 28px;
  border-radius: 8px;
}

.srm-cs-hero__text {
  flex: 1;
}

.srm-cs-hero__title {
  font-size: 48px;
  font-weight: 700;
  color: #fff;
  margin: 0 0 16px;
  line-height: 1.1;
}

.srm-cs-hero__tagline {
  font-size: 20px;
  color: rgba(255, 255, 255, 0.85);
  margin: 0;
  line-height: 1.5;
  font-weight: 400;
}

/* ==========================================================================
   GALLERY - Masonry Grid
   ========================================================================== */

.srm-cs-gallery {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 16px;
  padding: 0;
  margin: 0;
}

.srm-cs-gallery__item {
  margin: 0;
  overflow: hidden;
  border-radius: 12px;
}

.srm-cs-gallery__item:nth-child(1) {
  grid-column: span 2;
  grid-row: span 2;
}

.srm-cs-gallery__item img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.4s ease;
}

.srm-cs-gallery__item:hover img {
  transform: scale(1.03);
}

/* ==========================================================================
   OVERVIEW - Two Column with Sidebar
   ========================================================================== */

.srm-cs-overview {
  display: grid;
  grid-template-columns: 1fr 320px;
  gap: 80px;
  max-width: 1400px;
  margin: 0 auto;
  padding: 100px 48px;
}

.srm-cs-overview__intro {
  font-size: 22px;
  line-height: 1.7;
  color: var(--srm-gray-600, #60656b);
}

.srm-cs-overview__intro p {
  margin: 0 0 24px;
}

.srm-cs-overview__intro p:last-child {
  margin-bottom: 0;
}

.srm-cs-sidebar {
  padding: 32px;
  background: #f8f9fa;
  border-radius: 16px;
  height: fit-content;
  position: sticky;
  top: 100px;
}

.srm-cs-sidebar__item {
  margin-bottom: 28px;
}

.srm-cs-sidebar__item:last-child {
  margin-bottom: 0;
}

.srm-cs-sidebar__label {
  font-size: 11px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.1em;
  color: var(--srm-gray-600, #60656b);
  margin-bottom: 8px;
}

.srm-cs-sidebar__value {
  font-size: 16px;
  font-weight: 500;
  color: var(--srm-gray-900, #001b2d);
  line-height: 1.4;
}

/* ==========================================================================
   TESTIMONIAL - Large Pullquote (matches testimonial card styling)
   ========================================================================== */

.srm-cs-testimonial {
  background: #f8f9fa;
  padding: 80px 48px;
  position: relative;
}

.srm-cs-testimonial__inner {
  max-width: 900px;
  margin: 0 auto;
  background: #fff;
  padding: 48px;
  border-radius: 18px;
  box-shadow: 0 2px 3px 0 rgba(0,0,0,0.25);
  border: 1px solid #F3F4F6;
}

.srm-cs-testimonial__quote-wrapper {
  display: flex;
  gap: 20px;
  align-items: flex-start;
}

.srm-cs-testimonial__quote-icon {
  flex-shrink: 0;
  width: 40px;
  margin-top: 4px;
}

.srm-cs-testimonial__quote-icon img {
  width: 40px;
  height: auto;
}

.srm-cs-testimonial__text {
  font-size: 24px;
  line-height: 1.6;
  color: #001B2D;
  font-weight: 400;
  font-style: italic;
  margin: 0;
  font-family: 'Nunito', sans-serif;
}

.srm-cs-testimonial__author {
  display: flex;
  align-items: center;
  gap: 12px;
  padding-left: 60px;
  margin-top: 24px;
}

.srm-cs-testimonial__name {
  font-size: 18px;
  font-weight: 700;
  color: #001B2D;
  font-family: 'Nunito', sans-serif;
}

.srm-cs-testimonial__title {
  font-size: 14px;
  color: #001B2D;
  font-family: 'Nunito', sans-serif;
}

/* ==========================================================================
   PARTNERSHIP LOGOS
   ========================================================================== */

.srm-cs-partnership-logos {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 32px;
  margin-bottom: 32px;
  flex-wrap: wrap;
}

.srm-cs-partnership-logo img {
  max-height: 70px;
  max-width: 200px;
  width: auto;
  height: auto;
}

.srm-cs-partnership-plus {
  font-size: 36px;
  font-weight: 300;
  color: var(--srm-gray-600, #60656b);
}

/* ==========================================================================
   EXPERIENCE LAYOUT
   ========================================================================== */

.srm-cs-experience-layout {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 40px;
  align-items: start;
  margin-bottom: 40px;
}

.srm-cs-experience-image img {
  width: 100%;
  height: auto;
  border-radius: 8px;
}

.srm-cs-section-image {
  margin-top: 32px;
  max-width: 800px;
}

.srm-cs-section-image img {
  width: 100%;
  height: auto;
  border-radius: 8px;
}

.srm-cs-section-image--full {
  margin-top: 40px;
  max-width: 100%;
}

.srm-cs-section-image--full img {
  width: 100%;
  height: auto;
}

@media (max-width: 768px) {
  .srm-cs-partnership-logos {
    flex-direction: column;
    gap: 20px;
  }
  
  .srm-cs-partnership-logo {
    padding: 16px 24px;
  }
  
  .srm-cs-partnership-logo img {
    max-height: 50px;
    max-width: 150px;
  }
  
  .srm-cs-experience-layout {
    grid-template-columns: 1fr;
    gap: 32px;
  }
}

/* ==========================================================================
   HIGHLIGHT BOX
   ========================================================================== */

.srm-cs .srm-cs-highlight {
  background: #001b2d !important;
  border-radius: 12px;
  padding: 20px 28px;
  margin: 24px auto 0;
  max-width: 700px;
  text-align: center;
}

.srm-cs .srm-cs-highlight p {
  font-size: 17px;
  font-weight: 600;
  color: #fff !important;
  margin: 0;
  line-height: 1.5;
  font-family: 'Nunito', sans-serif;
}

/* ==========================================================================
   SECTION - Generic Container
   ========================================================================== */

.srm-cs-section {
  padding: 64px 48px;
}

.srm-cs-section--light {
  background: #f8f9fa;
}

.srm-cs-section--dark {
  background: var(--srm-gray-900, #001b2d);
}

.srm-cs-section--purple {
  background: transparent;
}

.srm-cs-section--purple .srm-cs-section__inner {
  background: var(--srm-purple, #85439a);
  border-radius: 16px;
  padding: 48px;
}

.srm-cs-section__inner {
  max-width: 900px;
  margin: 0 auto;
}

/* ==========================================================================
   CHECKLIST ITEMS
   ========================================================================== */

.srm-cs-checklist {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 16px 32px;
  margin: 24px 0;
}

.srm-cs-checklist__item {
  display: flex;
  align-items: flex-start;
  gap: 16px;
}

.srm-cs-checklist__icon {
  flex-shrink: 0;
  width: 28px;
  height: 28px;
  background: rgba(216, 0, 0, 0.1);
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
}

.srm-cs-checklist__icon i,
.srm-cs-checklist__icon svg {
  width: 16px;
  height: 16px;
  color: var(--srm-red, #d80000);
}

.srm-cs-checklist__text {
  font-size: 17px;
  line-height: 1.5;
  color: var(--srm-gray-900, #001b2d);
  font-family: 'Nunito', sans-serif;
  padding-top: 4px;
}

/* Light variant for purple background */
.srm-cs-checklist--light .srm-cs-checklist__icon--light {
  background: rgba(255, 255, 255, 0.2);
}

.srm-cs-checklist--light .srm-cs-checklist__icon--light i,
.srm-cs-checklist--light .srm-cs-checklist__icon--light svg {
  color: #fff;
}

.srm-cs-checklist--light .srm-cs-checklist__text {
  color: #fff;
}

/* ==========================================================================
   HEADING - Section Titles
   ========================================================================== */

.srm-cs-heading {
  font-size: 32px;
  font-weight: 700;
  font-family: 'Inter', sans-serif;
  color: var(--srm-gray-900, #001b2d);
  margin: 0 0 24px;
  line-height: 1.2;
}

.srm-cs-heading--purple {
  color: var(--srm-purple, #85439a);
}

.srm-cs-heading--navy {
  color: var(--srm-gray-900, #001b2d);
}

.srm-cs-heading--red {
  color: var(--srm-red, #d80000);
}

.srm-cs-heading--light {
  color: #fff;
}

/* ==========================================================================
   TEXT - Body Content
   ========================================================================== */

.srm-cs-text {
  font-size: 18px;
  line-height: 1.7;
  color: var(--srm-gray-600, #60656b);
  font-family: 'Nunito', sans-serif;
}

.srm-cs-text p {
  margin: 0 0 20px;
}

.srm-cs-text p:last-child {
  margin-bottom: 0;
}

.srm-cs-text strong {
  color: var(--srm-gray-900, #001b2d);
  font-weight: 700;
}

.srm-cs-text ul,
.srm-cs-text ol {
  margin: 20px 0;
  padding-left: 24px;
}

.srm-cs-text li {
  margin-bottom: 8px;
}

.srm-cs-text--light {
  color: rgba(255, 255, 255, 0.9);
}

.srm-cs-text--light strong {
  color: #fff;
}

/* ==========================================================================
   HIGHLIGHT BOX - Challenge Callout
   ========================================================================== */

.srm-cs-highlight {
  background: linear-gradient(135deg, var(--srm-gray-900, #001b2d) 0%, #002b45 100%);
  border-radius: 16px;
  padding: 40px 48px;
  margin-top: 40px;
}

.srm-cs-highlight p {
  font-size: 20px;
  font-weight: 500;
  color: #fff;
  margin: 0;
  line-height: 1.6;
}

/* ==========================================================================
   DELIVERABLES - Icon Cards Grid
   ========================================================================== */

.srm-cs-deliverables {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
  margin-top: 48px;
}

.srm-cs-deliverable {
  background: #fff;
  border: 1px solid var(--srm-gray-200, #e4e5e6);
  border-radius: 16px;
  padding: 32px;
  transition: all 0.2s ease;
}

.srm-cs-deliverable:hover {
  border-color: var(--srm-red, #d80000);
  box-shadow: 0 8px 30px rgba(0, 0, 0, 0.08);
  transform: translateY(-4px);
}

.srm-cs-deliverable__icon {
  width: 48px;
  height: 48px;
  background: rgba(216, 0, 0, 0.1);
  border-radius: 12px;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 20px;
}

.srm-cs-deliverable__icon svg {
  width: 24px;
  height: 24px;
  color: var(--srm-red, #d80000);
}

.srm-cs-deliverable__title {
  font-size: 18px;
  font-weight: 600;
  color: var(--srm-gray-900, #001b2d);
  margin: 0;
  line-height: 1.4;
}

/* ==========================================================================
   METRICS - Impact Numbers
   ========================================================================== */

.srm-cs-metrics {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 32px;
  padding: 80px 48px;
  background: #f8f9fa;
}

.srm-cs-metric {
  text-align: center;
  padding: 40px 24px;
  background: #fff;
  border-radius: 16px;
  box-shadow: 0 2px 12px rgba(0, 0, 0, 0.04);
}

.srm-cs-metric__number {
  font-size: 64px;
  font-weight: 700;
  color: var(--srm-red, #d80000);
  line-height: 1;
  margin-bottom: 12px;
}

.srm-cs-metric__label {
  font-size: 15px;
  color: var(--srm-gray-600, #60656b);
  line-height: 1.4;
}

.srm-cs-metric--icon .srm-cs-metric__icon {
  width: 56px;
  height: 56px;
  background: rgba(216, 0, 0, 0.1);
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0 auto 16px;
}

.srm-cs-metric--icon .srm-cs-metric__icon svg {
  width: 28px;
  height: 28px;
  color: var(--srm-red, #d80000);
}

/* ==========================================================================
   TIMELINE - Process Milestones
   ========================================================================== */

.srm-cs-timeline {
  display: flex;
  justify-content: space-between;
  position: relative;
  max-width: 1200px;
  margin: 60px auto 0;
  padding: 0 48px;
}

.srm-cs-timeline::before {
  content: '';
  position: absolute;
  top: 24px;
  left: 120px;
  right: 120px;
  height: 2px;
  background: var(--srm-gray-200, #e4e5e6);
}

.srm-cs-timeline__item {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  position: relative;
  z-index: 1;
  flex: 1;
}

.srm-cs-timeline__dot {
  width: 48px;
  height: 48px;
  background: #fff;
  border: 3px solid var(--srm-red, #d80000);
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 20px;
}

.srm-cs-timeline__dot-inner {
  width: 16px;
  height: 16px;
  background: var(--srm-red, #d80000);
  border-radius: 50%;
}

.srm-cs-timeline__date {
  font-size: 13px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.1em;
  color: var(--srm-red, #d80000);
  margin-bottom: 8px;
}

.srm-cs-timeline__text {
  font-size: 15px;
  color: var(--srm-gray-600, #60656b);
  max-width: 180px;
  line-height: 1.5;
}

/* ==========================================================================
   FULL-BLEED IMAGE
   ========================================================================== */

.srm-cs-fullbleed {
  width: 100vw;
  margin-left: calc(-50vw + 50%);
  position: relative;
}

.srm-cs-fullbleed img {
  width: 100%;
  height: auto;
  display: block;
}

/* ==========================================================================
   VIDEO SECTION
   ========================================================================== */

.srm-cs-video-section {
  background: var(--srm-gray-900, #001b2d);
  padding: 64px 48px;
}

.srm-cs-video-section__inner {
  max-width: 900px;
  margin: 0 auto;
}

.srm-cs-video {
  position: relative;
  padding-bottom: 56.25%;
  height: 0;
  overflow: hidden;
  border-radius: 16px;
  box-shadow: 0 20px 60px rgba(0, 0, 0, 0.4);
}

.srm-cs-video iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  border: 0;
}

/* ==========================================================================
   CTA SECTION
   ========================================================================== */

.srm-cs-cta {
  background: linear-gradient(135deg, var(--srm-gray-900, #001b2d) 0%, #002b45 100%);
  padding: 48px;
  text-align: center;
}

.srm-cs-cta__inner {
  max-width: 700px;
  margin: 0 auto;
}

.srm-cs-cta__heading {
  font-size: 32px;
  font-weight: 700;
  color: #fff;
  margin: 0 0 16px;
  line-height: 1.2;
  font-family: 'Inter', sans-serif;
}

.srm-cs-cta__text {
  font-size: 16px;
  color: rgba(255, 255, 255, 0.85);
  margin: 0 0 24px;
  line-height: 1.6;
  font-family: 'Nunito', sans-serif;
}

.srm-cs-cta__text strong {
  color: #fff;
}

.srm-cs-cta__button {
  display: inline-flex;
  align-items: center;
  gap: 12px;
  background: var(--srm-red, #d80000);
  color: #fff;
  font-size: 16px;
  font-weight: 600;
  padding: 18px 40px;
  border-radius: 100px;
  text-decoration: none;
  transition: all 0.25s ease;
}

.srm-cs-cta__button:hover {
  background: #fff;
  color: var(--srm-gray-900, #001b2d);
  transform: translateY(-2px);
  box-shadow: 0 8px 30px rgba(255, 255, 255, 0.2);
}

.srm-cs-cta__button svg {
  width: 20px;
  height: 20px;
}

/* ==========================================================================
   RELATED CASE STUDIES
   ========================================================================== */

.srm-cs-related {
  padding: 120px 48px;
  background: #fff;
}

.srm-cs-related__inner {
  max-width: 1400px;
  margin: 0 auto;
}

.srm-cs-related__header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 48px;
}

.srm-cs-related__title {
  font-size: 32px;
  font-weight: 700;
  color: var(--srm-gray-900, #001b2d);
  margin: 0;
}

.srm-cs-related__grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 32px;
}

/* ==========================================================================
   RESPONSIVE - Tablet
   ========================================================================== */

@media (max-width: 1024px) {
  .srm-cs-hero {
    min-height: 400px;
  }
  
  .srm-cs-hero__content {
    padding: 48px 32px;
  }
  
  .srm-cs-hero__header {
    flex-direction: column;
    align-items: flex-start;
    gap: 20px;
  }
  
  .srm-cs-hero__title {
    font-size: 36px;
  }
  
  .srm-cs-section {
    padding: 48px 32px;
  }
  
  .srm-cs-heading {
    font-size: 28px;
  }
  
  .srm-cs-overview {
    grid-template-columns: 1fr;
    gap: 48px;
    padding: 80px 32px;
  }
  
  .srm-cs-sidebar {
    position: static;
  }
  
  .srm-cs-section {
    padding: 80px 32px;
  }
  
  .srm-cs-testimonial {
    padding: 60px 32px;
  }
  
  .srm-cs-testimonial__inner {
    padding: 36px;
  }
  
  .srm-cs-testimonial__text {
    font-size: 22px;
  }
  
  .srm-cs-deliverables {
    grid-template-columns: repeat(2, 1fr);
  }
  
  .srm-cs-metrics {
    grid-template-columns: repeat(2, 1fr);
    padding: 60px 32px;
  }
  
  .srm-cs-timeline {
    flex-wrap: wrap;
    gap: 40px;
    padding: 0 32px;
  }
  
  .srm-cs-timeline::before {
    display: none;
  }
  
  .srm-cs-timeline__item {
    flex: 0 0 calc(50% - 20px);
  }
  
  .srm-cs-related__grid {
    grid-template-columns: repeat(2, 1fr);
  }
}

/* ==========================================================================
   RESPONSIVE - Mobile
   ========================================================================== */

@media (max-width: 768px) {
  .srm-cs-hero {
    min-height: 350px;
  }
  
  .srm-cs-hero__content {
    padding: 32px 24px;
  }
  
  .srm-cs-hero__logo img {
    height: 50px;
    padding: 10px 14px;
  }
  
  .srm-cs-hero__title {
    font-size: 28px;
  }
  
  .srm-cs-hero__tagline {
    font-size: 16px;
  }
  
  .srm-cs-section {
    padding: 40px 24px;
  }
  
  .srm-cs-heading {
    font-size: 24px;
  }
  
  .srm-cs-partnership-logos {
    flex-direction: row;
    align-items: flex-start;
    gap: 16px;
  }
  
  .srm-cs-partnership-logo img {
    max-height: 40px;
  }
  
  .srm-cs-cta {
    padding: 48px 24px;
  }
  
  .srm-cs-cta__heading {
    font-size: 24px;
  }
  
  .srm-cs-video-section {
    padding: 48px 24px;
  }
  
  .srm-cs-gallery {
    grid-template-columns: 1fr;
    gap: 12px;
  }
  
  .srm-cs-gallery__item:nth-child(1) {
    grid-column: span 1;
  }
  
  .srm-cs-overview {
    padding: 60px 24px;
  }
  
  .srm-cs-overview__intro {
    font-size: 18px;
  }
  
  .srm-cs-section {
    padding: 60px 24px;
  }
  
  .srm-cs-heading--large {
    font-size: 32px;
  }
  
  .srm-cs-testimonial {
    padding: 48px 24px;
  }
  
  .srm-cs-testimonial__inner {
    padding: 28px;
  }
  
  .srm-cs-testimonial__quote-icon {
    width: 28px;
  }
  
  .srm-cs-testimonial__quote-icon img {
    width: 28px;
  }
  
  .srm-cs-testimonial__text {
    font-size: 18px;
  }
  
  .srm-cs-testimonial__author {
    padding-left: 48px;
  }
  
  .srm-cs-deliverables {
    grid-template-columns: 1fr;
  }
  
  .srm-cs-metrics {
    grid-template-columns: 1fr;
    gap: 16px;
    padding: 48px 24px;
  }
  
  .srm-cs-metric {
    padding: 32px 20px;
  }
  
  .srm-cs-metric__number {
    font-size: 48px;
  }
  
  .srm-cs-timeline__item {
    flex: 0 0 100%;
  }
  
  .srm-cs-video-section {
    padding: 60px 24px;
  }
  
  .srm-cs-cta {
    padding: 80px 24px;
  }
  
  .srm-cs-cta__heading {
    font-size: 32px;
  }
  
  .srm-cs-cta__text {
    font-size: 17px;
  }
  
  .srm-cs-related {
    padding: 80px 24px;
  }
  
  .srm-cs-related__header {
    flex-direction: column;
    gap: 24px;
    text-align: center;
  }
  
  .srm-cs-related__title {
    font-size: 26px;
  }
  
  .srm-cs-related__grid {
    grid-template-columns: 1fr;
  }
}

@media screen and (max-width: 480px) {    
  .srm-cs-partnership-logos {
    flex-direction: column;
    align-items: center;
    gap: 0;
  }
}

/* ========================================
   Content Gating Styles
   ======================================== */

.srm-gated-content {
  position: relative;
}

.srm-gate-overlay {
  background: linear-gradient(180deg, rgba(255,255,255,0) 0%, #fff 30%);
  padding: 120px 0 60px;
  position: relative;
}

.srm-gate-form-wrapper {
  max-width: 600px;
  margin: 0 auto;
  padding: 48px;
  background: #fff;
  border-radius: 16px;
  box-shadow: 0 8px 32px rgba(0,0,0,0.12);
  border: 1px solid rgba(0,0,0,0.06);
}

.srm-gate-message {
  text-align: center;
  margin-bottom: 32px;
}

.srm-gate-message h3 {
  font-family: 'Inter', sans-serif;
  font-size: 28px;
  font-weight: 700;
  color: #1a1a2e;
  margin: 0 0 12px;
}

.srm-gate-message p {
  font-family: 'Nunito', sans-serif;
  font-size: 16px;
  color: #6b7280;
  margin: 0;
}

.srm-gate-form .gform_wrapper {
  margin: 0;
}

.srm-gate-form .gform_wrapper .gform_body {
  padding: 0;
}

.srm-gate-form .gform_wrapper input[type="text"],
.srm-gate-form .gform_wrapper input[type="email"],
.srm-gate-form .gform_wrapper input[type="tel"],
.srm-gate-form .gform_wrapper textarea,
.srm-gate-form .gform_wrapper select {
  border: 1px solid #d1d5db;
  border-radius: 8px;
  padding: 12px 16px;
  font-size: 16px;
  transition: border-color 0.2s, box-shadow 0.2s;
}

.srm-gate-form .gform_wrapper input:focus,
.srm-gate-form .gform_wrapper textarea:focus,
.srm-gate-form .gform_wrapper select:focus {
  border-color: #D31111;
  box-shadow: 0 0 0 3px rgba(211,17,17,0.1);
  outline: none;
}

.srm-gate-form .gform_wrapper .gform_footer {
  padding: 24px 0 0;
  margin: 0;
}

.srm-gate-form .gform_wrapper input[type="submit"],
.srm-gate-form .gform_wrapper button[type="submit"] {
  width: 100%;
  background: #D31111;
  color: #fff;
  border: none;
  border-radius: 8px;
  padding: 14px 24px;
  font-family: 'Inter', sans-serif;
  font-size: 16px;
  font-weight: 600;
  cursor: pointer;
  transition: background 0.2s, transform 0.1s;
}

.srm-gate-form .gform_wrapper input[type="submit"]:hover,
.srm-gate-form .gform_wrapper button[type="submit"]:hover {
  background: #b50f0f;
}

.srm-gate-form .gform_wrapper input[type="submit"]:active,
.srm-gate-form .gform_wrapper button[type="submit"]:active {
  transform: scale(0.98);
}

/* Confirmation message styling */
.srm-gate-form .gform_confirmation_message {
  text-align: center;
  padding: 24px;
  background: #f0fdf4;
  border-radius: 8px;
  color: #166534;
  font-weight: 500;
}

/* Content reveal animation */
.srm-gate-content-inner {
  animation: srmGateReveal 0.5s ease-out;
}

@keyframes srmGateReveal {
  from {
    opacity: 0;
    transform: translateY(20px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

/* Mobile responsive */
@media (max-width: 768px) {
  .srm-gate-form-wrapper {
    margin: 0 16px;
    padding: 32px 24px;
  }
  
  .srm-gate-message h3 {
    font-size: 24px;
  }
  
  .srm-gate-overlay {
    padding: 80px 0 40px;
  }
  .srm-service-hero .srm-lucide-icon__wrapper {
    width: 50px !important;
    height: 50px !important;
  }
}

/* ==========================================================================
   SRM Pills Nav - Responsive Overrides
   ========================================================================== */

/* Screens 1480px and smaller */
@media (max-width: 1480px) {
  .srm-pills-nav__container {
    justify-content: center !important;
    gap: 1vw !important;
  }
}

/* Screens between 1366px and 1201px */
@media (max-width: 1366px) and (min-width: 1201px) {
  .srm-pills-nav__container {
    justify-content: center !important;
    gap: 1vw !important;
    max-width: 768px;
    margin: auto;
  }
}

/* Screens 1366px and smaller */
@media (max-width: 1366px) {
  .et_pb_image.industry-hero__image .et_pb_image_wrap img {
    max-height: initial;
  }
}

/* Screens 1024px and smaller */
/* @media (max-width: 1200px) {
  body #page-container .et_pb_section .et_pb_button_1::after {
    right: 1em;
  }
} */

/* Screens 980px and smaller */
@media (max-width: 980px) {
  .srm-stats-grid__cards > .et_pb_srm_stats_card {
    min-width: initial;
  }

  .et_pb_section_1 .et_pb_srm_lucide_icon + .et_pb_text {
    margin-top: 6px !important;
  }

  .srm-stats-grid__cards.srm-stats-grid--staggered-4 .et_pb_srm_stats_card:nth-child(1) {
    grid-column: 1 / span 12;
  }

  .srm-stats-grid__cards.srm-stats-grid--staggered-4 .et_pb_srm_stats_card:nth-child(2) {
    grid-column: 1 / span 12;
    grid-row: 2;
  }

  .srm-stats-grid__cards.srm-stats-grid--staggered-4 .et_pb_srm_stats_card:nth-child(3) {
    grid-column: 1 / span 12;
    grid-row: 3;
  }

  .srm-stats-grid__cards.srm-stats-grid--staggered-4 .et_pb_srm_stats_card:nth-child(4) {
    grid-column: 1 / span 12;
    grid-row: 4;
  }
}

/* Screens 600px and smaller */
@media (max-width: 600px) {
  .industry-hero .et_pb_button_module_wrapper:not(:last-child) {
    margin-bottom: 10px !important;
  }
}

/* Screens 480px and smaller */
@media (max-width: 480px) {
  .prefooter-buttons .et_pb_button {
    text-align: center !important;
  }
  .srm-pills-nav__container {
    max-width: 100%;
    flex-direction: column;
    gap: 10px !important;
  }
  
  .srm-pills-nav__container > * {
    width: 100%;
    text-align: center;
  }
  
  .srm-pill-item {
    text-align: center;
    justify-content: center;
  }
  
  .et_pb_button::after {
    right: 1em !important;
  }
  
  .et_pb_button {
    width: 100% !important;
  }
  
  .et_pb_button_module_wrapper {
    width: 100%;
    text-align: center;
  }
}


.full-height-image .et_pb_image, .full-height-image .et_pb_image img, .full-height-image .et_pb_image * {
  height: 100% !important;
  object-fit: cover !important;
}

.full-height-image > .et_pb_column {
  display: flex;
  flex-direction: column;
  justify-content: center;
}

body #page-container .et_pb_section .et_pb_button_module_wrapper .et_pb_button::after {
  font-size: 16px !important;
}

/* ==========================================================================
   Divi Builder Bridge - Case Study Pages
   Scoped to div.srm-cs (the content wrapper) to avoid affecting
   header/footer which also live under body.srm-cs.
   ONLY handles typography. Layout (padding, bg, max-width) is set
   per-section via Divi shortcode attributes in the migration script.
   ========================================================================== */

/* --- Text Module typography --- */
div.srm-cs .et_pb_text_inner {
  font-size: 18px;
  line-height: 1.7;
  color: var(--srm-gray-600, #60656b);
  font-family: 'Nunito', sans-serif;
}

div.srm-cs .et_pb_text_inner h2.srm-cs-heading {
  font-size: 32px;
  font-weight: 700;
  font-family: 'Inter', sans-serif;
  margin: 0 0 24px;
  line-height: 1.2;
}

div.srm-cs .et_pb_text_inner p {
  margin: 0 0 20px;
}

div.srm-cs .et_pb_text_inner p:last-child {
  margin-bottom: 0;
}

div.srm-cs .et_pb_text_inner strong {
  color: var(--srm-gray-900, #001b2d);
  font-weight: 700;
}

div.srm-cs .srm-cs-text--light strong {
  color: #fff;
}

/* --- Deliverables card (Divi row) --- */
div.srm-cs .srm-cs-deliverables-card {
  background-color: #009ad0 !important;
  border-radius: 16px;
  padding: 48px;
}

div.srm-cs .srm-cs-deliverables-card .et_pb_image {
  margin-top: 32px;
}

/* --- Image Module --- */
div.srm-cs .et_pb_image_wrap {
  border-radius: 8px;
  overflow: hidden;
}

/* --- Footer gap: remove extra Divi container padding on case study pages --- */
body.srm-cs.et_pb_pagebuilder_layout #main-content .container {
  padding-bottom: 0;
}

/* --- Responsive heading sizes --- */
@media (max-width: 1024px) {
  div.srm-cs .et_pb_text_inner h2.srm-cs-heading {
    font-size: 28px;
  }
}
@media (max-width: 768px) {
  div.srm-cs .et_pb_text_inner h2.srm-cs-heading {
    font-size: 24px;
  }

  body.single-srm_case_study #main-content .srm-cs-deliverables-card {
    margin: 0 !important;
    width: 100% !important;
    padding-top: 0 !important;
    padding-bottom: 0 !important;
  }
}

@media (max-width: 600px) {
  .srm-cs-checklist {
    grid-template-columns: repeat(1, 1fr);
  }
}


/* Inline | https://client.bushwickdesign.com/six-red-marbles/insights/case-studies/discovery-education/ */

.single-srm_case_study .srm-global-footer #et-boc {
  padding-top: 0 !important;
}

.single-srm_case_study .srm-global-footer #et-boc .et_pb_with_background {
  padding-top: 20px !important;
  padding-bottom: 0 !important;
}

.single-srm_case_study .srm-global-footer .et_section_specialty {
  padding-top: 0 !important;
  padding-bottom: 0 !important;
  margin-bottom: -20px anchor-size !important;
}


/* custom.css | https://client.bushwickdesign.com/six-red-marbles/wp-content/themes/sixredmarbles-divi/assets/css/custom.css?ver=1771355380 */

.srm-person-bio__layout {
  /* padding: 60px 0 80px; */
  padding: 40px 0;
}

.srm-person-bio__more-section {
  /* padding: 80px 0; */
  padding: 40px 0;
}

/* -------------------------------------------------------------------------
   Accessibility: preserve original h4 visual styles after semantic tag changes.
   Widget titles changed h4→h2, card titles changed h4→h3 via register_sidebar
   and child theme modules. Pin font-size to match original h4 rendering.
   ------------------------------------------------------------------------- */
.et_pb_widget .widgettitle,
.fwidget .title {
  font-size: 18px;
  line-height: 1em;
  padding-bottom: 10px;
}
