@import url('https://fonts.googleapis.com/css2?family=Space+Mono:wght@400;700&family=Geist:wght@300;400;500;600;700;800;900&display=swap');
@import url('https://fonts.googleapis.com/icon?family=Material+Icons');



/* ── BACKGROUND PATTERNS ─────────────────────────────────────────────── */
.dots-bg {
  --dot-bg: var(--black);
  --dot-color: rgba(255, 255, 255, 0.15);
  --dot-size: 1px;
  --dot-space: 22px;
  background:
    linear-gradient(90deg, var(--dot-bg) calc(var(--dot-space) - var(--dot-size)), transparent 1%) center / var(--dot-space) var(--dot-space),
    linear-gradient(var(--dot-bg) calc(var(--dot-space) - var(--dot-size)), transparent 1%) center / var(--dot-space) var(--dot-space),
    var(--dot-color) !important;
}


/* ── LABEL-SM COLOUR VARIANTS ────────────────────────────────────────── */
/* Dark sections: yellow eyebrow on dark background */
.solutions .label-sm,
.sectors .label-sm,
.certs .label-sm,
.news .label-sm,
.partners .label-sm,
.cta-section .label-sm {
  color: var(--yellow);
  margin-bottom: 28px;
}
.solutions .label-sm::before,
.sectors .label-sm::before,
.certs .label-sm::before,
.news .label-sm::before,
.partners .label-sm::before,
.cta-section .label-sm::before {
  background: var(--yellow);
}

/* Light sections: inverted (readable on off-white) */
.problem .label-sm,
.guided .label-sm,
.why .label-sm,
.testimonials .label-sm,
.faq-section:not(.faq-section--dark) .label-sm {
  color: var(--black);
  margin-bottom: 28px;
}
.problem .label-sm::before,
.guided .label-sm::before,
.why .label-sm::before,
.testimonials .label-sm::before,
.faq-section:not(.faq-section--dark) .label-sm::before {
  background: var(--black);
}

.faq-section--dark .label-sm {
  color: var(--yellow);
  margin-bottom: 28px;
}
.faq-section--dark .label-sm::before {
  background: var(--yellow);
}

.video-grid:not(.video-grid--dark) .label-sm {
  color: var(--black);
  margin-bottom: 28px;
}
.video-grid:not(.video-grid--dark) .label-sm::before {
  background: var(--black);
}

.video-grid--dark .label-sm {
  color: var(--yellow);
  margin-bottom: 28px;
}
.video-grid--dark .label-sm::before {
  background: var(--yellow);
}

.photo-gallery-scroll:not(.photo-gallery-scroll--dark) .label-sm {
  color: var(--black);
  margin-bottom: 28px;
}
.photo-gallery-scroll:not(.photo-gallery-scroll--dark) .label-sm::before {
  background: var(--black);
}

.photo-gallery-scroll--dark .label-sm {
  color: var(--yellow);
  margin-bottom: 28px;
}
.photo-gallery-scroll--dark .label-sm::before {
  background: var(--yellow);
}

.cta-section .label-sm {
  margin-left: auto;
  margin-right: auto;
}

.sticky-split-scroll .label-sm {
  color: var(--black);
  margin-bottom: 28px;
}
.sticky-split-scroll .label-sm::before {
  background: var(--black);
}

.sticky-split-scroll--dark .label-sm {
  color: var(--yellow);
}
.sticky-split-scroll--dark .label-sm::before {
  background: var(--yellow);
}

.team-cards--dark .label-sm {
  color: var(--yellow);
  margin-bottom: 28px;
}
.team-cards--dark .label-sm::before {
  background: var(--yellow);
}

.team-cards:not(.team-cards--dark) .label-sm {
  color: var(--black);
  margin-bottom: 28px;
}
.team-cards:not(.team-cards--dark) .label-sm::before {
  background: var(--black);
}

.timeline .label-sm {
  color: var(--black);
  margin-bottom: 28px;
}
.timeline .label-sm::before {
  background: var(--black);
}