/* InnovTeams — site styles */

:root {
  /* Single text color for all on-light content (matches .hero__text) */
  --site-content-color: #000000;

  --brand-primary: var(--site-content-color);
  --brand-bg: #ffffff;
  --brand-light-gray: #f5f5f5;
  --brand-text: var(--site-content-color);
  --brand-border: #e5e5e5;
  --brand-text-muted: var(--site-content-color);
  --font-sans: system-ui, -apple-system, "Segoe UI", sans-serif;
  --font-serif: system-ui, -apple-system, "Segoe UI", sans-serif;
  --section-spacing: clamp(3rem, 6vw, 5rem);
  /* Navbar (explicit tokens) */
  --navbar-bg: #ffffff;
  --navbar-text: var(--site-content-color);
  --navbar-hover: var(--site-content-color);
  --navbar-border: #e5e5e5;
  --navbar-cta-bg: #000000;
  --navbar-cta-text: #ffffff;
  --navbar-dropdown-radius: 0.75rem;
  --navbar-dropdown-shadow: 0 0.25rem 0.5rem rgba(0, 0, 0, 0.04),
    0 1rem 2.5rem rgba(0, 0, 0, 0.09);
}

*,
*::before,
*::after {
  box-sizing: border-box;
}

html {
  scroll-behavior: smooth;
}

body {
  font-family: var(--font-sans);
  color: var(--site-content-color);
  background-color: var(--brand-bg);
  line-height: 1.6;
}

/* Bootstrap .text-muted on light pages — same as hero paragraph */
main .text-muted {
  color: var(--site-content-color) !important;
}

h1,
h2,
h3 {
  font-family: var(--font-serif);
  letter-spacing: -0.02em;
}

/* Utilities mapped to brand */
.text-brand-primary {
  color: var(--brand-primary) !important;
}

.text-brand-text {
  color: var(--brand-text) !important;
}

.text-secondary-custom {
  color: var(--brand-text-muted) !important;
}

.bg-light-gray {
  background-color: var(--brand-light-gray) !important;
}

.bg-brand-primary {
  background-color: var(--brand-primary) !important;
}

.border-brand {
  border-color: var(--brand-border) !important;
}

.letter-spacing {
  letter-spacing: 0.12em;
}

.py-lg-6 {
  padding-top: var(--section-spacing);
  padding-bottom: var(--section-spacing);
}

/* Layout */
.container {
  width: 100%;
  max-width: 72rem;
  margin-inline: auto;
  padding-inline: clamp(1rem, 4vw, 1.5rem);
}

/* Skip link */
.skip-link {
  position: absolute;
  left: -9999px;
  top: auto;
  z-index: 10000;
  padding: 0.75rem 1rem;
  background: var(--brand-bg);
  color: var(--site-content-color);
  font-weight: 600;
  border: 1px solid var(--brand-border);
  text-decoration: none;
}

.skip-link:focus {
  left: 0.5rem;
  top: 0.5rem;
  clip: auto;
}

/* Header & premium navbar (Bootstrap 5) */
.site-header {
  position: sticky;
  top: 0;
  z-index: 1030;
  background-color: var(--navbar-bg);
  border-bottom: 1px solid var(--navbar-border);
}

.navbar-premium {
  background-color: var(--navbar-bg) !important;
  padding-block: 0.75rem;
}

.navbar-premium .container-xxl {
  --bs-gutter-x: 1.5rem;
}

.navbar-premium .navbar-brand {
  padding-top: 0;
  padding-bottom: 0;
  margin-right: 0;
}

.navbar-premium .navbar-brand--wordmark {
  display: inline-flex;
  align-items: center;
  gap: 0.6rem;
  line-height: 1;
  text-decoration: none;
  color: var(--site-content-color);
}

.navbar-premium .navbar-brand--wordmark:hover,
.navbar-premium .navbar-brand--wordmark:focus {
  color: var(--site-content-color);
}

.navbar-brand__wordmark {
  display: inline-flex;
  flex-direction: column;
  font-family: var(--font-sans);
  font-size: clamp(1.0625rem, 2.8vw, 1.375rem);
  font-weight: 700;
  letter-spacing: -0.03em;
  line-height: 1.05;
  white-space: nowrap;
}

.navbar-brand__wordmark::after {
  content: "Innovative Minds, Infinity Solutions";
  margin-top: 0.18rem;
  font-family: var(--font-sans);
  font-size: 0.56rem;
  font-weight: 500;
  letter-spacing: 0.01em;
  line-height: 1.15;
  color: rgba(0, 0, 0, 0.7);
}

.site-logo {
  display: block;
  flex-shrink: 0;
  height: 2.5rem;
  width: auto;
  max-width: min(9.5rem, 38vw);
  object-fit: contain;
  object-position: left center;
}

@media (min-width: 992px) {
  .navbar-premium {
    padding-block: 0.85rem;
  }

  .navbar-premium__collapse {
    flex: 1 1 auto;
    display: flex !important;
    flex-wrap: nowrap;
    align-items: center;
    justify-content: flex-end;
    gap: 0.5rem;
  }

  .navbar-premium__nav {
    margin-left: auto !important;
    margin-right: auto !important;
    gap: 0.125rem;
  }

  .navbar-premium__cta {
    flex-shrink: 0;
    margin-left: 0.5rem;
  }
}

/* Nav links — default #1A1A1A, hover #0F172E (override Bootstrap navbar-light) */
.navbar-premium.navbar-light .navbar-nav .nav-link {
  color: var(--navbar-text);
}

.navbar-premium .nav-link {
  color: var(--navbar-text);
  font-weight: 500;
  font-size: 0.9375rem;
  letter-spacing: 0.01em;
  line-height: 1.4;
  padding: 0.5rem 1rem;
  border-radius: 0.375rem;
  border: 0;
  box-shadow: none;
  transform: scale(1);
  transform-origin: center center;
  transition: color 0.22s ease, background-color 0.22s ease, transform 0.22s ease;
}

.navbar-premium .nav-link:hover,
.navbar-premium .nav-link:focus-visible {
  color: var(--navbar-hover);
  background-color: rgba(0, 0, 0, 0.065);
  transform: scale(1.045);
  border: 0;
  box-shadow: none;
}

.navbar-premium .nav-item.show > .nav-link.dropdown-toggle {
  background-color: rgba(0, 0, 0, 0.065);
  transform: scale(1.045);
  border: 0;
  box-shadow: none;
}

/* No ring/border on mouse focus or hover; keyboard still gets a clear outline */
.navbar-premium .nav-link:focus:not(:focus-visible) {
  outline: none;
  box-shadow: none;
}

.navbar-premium .nav-link:hover {
  outline: none;
}

.navbar-premium .nav-link:focus-visible {
  outline: 2px solid var(--navbar-hover);
  outline-offset: 2px;
  box-shadow: none;
}

.navbar-premium .nav-link.dropdown-toggle::after {
  margin-left: 0.4em;
  vertical-align: 0.14em;
  border-width: 0.3em 0.3em 0;
  border-top-color: currentColor;
  opacity: 0.45;
  transition: opacity 0.2s ease, border-top-color 0.2s ease;
}

.navbar-premium .nav-link.dropdown-toggle:hover::after,
.navbar-premium .nav-link.dropdown-toggle:focus::after,
.navbar-premium .nav-item.show > .nav-link.dropdown-toggle::after {
  opacity: 0.85;
}

/* Dropdown — desktop */
.navbar-premium .dropdown-menu {
  min-width: 16rem;
  margin-top: 0.5rem !important;
  padding: 0.5rem;
  border: 1px solid var(--navbar-border);
  border-radius: var(--navbar-dropdown-radius);
  background-color: var(--navbar-bg);
  box-shadow: var(--navbar-dropdown-shadow);
}

.navbar-premium .dropdown-menu .dropdown-item {
  border-radius: 0.5rem;
  margin: 0.0625rem 0;
}

.navbar-premium .dropdown-item {
  font-size: 0.90625rem;
  font-weight: 500;
  line-height: 1.45;
  padding: 0.625rem 0.875rem;
  color: var(--navbar-text);
  transition: color 0.18s ease, background-color 0.18s ease;
}

.navbar-premium .dropdown-item:hover,
.navbar-premium .dropdown-item:focus {
  color: var(--navbar-hover);
  background-color: var(--brand-light-gray);
}

.navbar-premium .dropdown-item:focus-visible {
  outline: 2px solid var(--navbar-hover);
  outline-offset: -1px;
}

.navbar-premium .dropdown-item:active {
  color: var(--navbar-hover);
  background-color: #ebebeb;
}

.navbar-premium__toggler {
  padding: 0.45rem 0.6rem;
  border: 1px solid var(--navbar-border) !important;
  border-radius: 0.375rem;
  color: var(--navbar-text);
}

.navbar-premium__toggler .navbar-toggler-icon {
  --bs-navbar-toggler-icon-bg: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='%23000000' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e");
}

.navbar-premium__toggler:focus {
  box-shadow: 0 0 0 0.2rem rgba(0, 0, 0, 0.15);
}

.navbar-premium__toggler:focus-visible {
  outline: 2px solid var(--navbar-hover);
  outline-offset: 2px;
}

/* CTA — background #0F172E, white text */
.navbar-premium__cta .btn-cta {
  --bs-btn-padding-y: 0.6rem;
  --bs-btn-padding-x: 1.4rem;
  --bs-btn-font-size: 0.875rem;
  --bs-btn-font-weight: 600;
  --bs-btn-line-height: 1.4;
  --bs-btn-border-radius: 0.375rem;
  --bs-btn-border-width: 0;
  background-color: var(--navbar-cta-bg);
  color: var(--navbar-cta-text) !important;
  border: none;
  letter-spacing: 0.02em;
  white-space: nowrap;
  transition: background-color 0.2s ease, color 0.2s ease, transform 0.2s ease;
}

.navbar-premium__cta .btn-cta:hover,
.navbar-premium__cta .btn-cta:focus {
  background-color: #1a1a1a;
  color: var(--navbar-cta-text) !important;
}

.navbar-premium__cta .btn-cta:focus-visible {
  outline: 2px solid var(--navbar-hover);
  outline-offset: 3px;
}

.navbar-premium__cta .btn-cta:active {
  background-color: #000000;
  color: var(--navbar-cta-text) !important;
  transform: translateY(1px);
}

/* Mobile — spacing, stacked layout, in-flow dropdowns */
@media (max-width: 991.98px) {
  .navbar-premium .navbar-collapse {
    margin-top: 0.75rem;
    padding-top: 0.75rem;
    padding-bottom: 0.25rem;
    border-top: 1px solid var(--navbar-border);
  }

  .navbar-premium .navbar-nav {
    width: 100%;
  }

  .navbar-premium .nav-item {
    width: 100%;
  }

  .navbar-premium .nav-link {
    padding: 0.65rem 0.25rem;
  }

  .navbar-premium .dropdown-menu {
    position: static !important;
    transform: none !important;
    float: none;
    width: 100%;
    min-width: 0;
    margin-top: 0 !important;
    margin-bottom: 0.35rem;
    padding: 0.35rem 0.5rem;
    border: none;
    border-radius: 0.5rem;
    box-shadow: none;
    background-color: var(--brand-light-gray);
  }

  .navbar-premium .dropdown-item {
    padding: 0.55rem 0.75rem;
  }

  .navbar-premium__cta {
    margin-top: 0.75rem;
    padding-top: 0.75rem;
    border-top: 1px solid var(--navbar-border);
  }

  .navbar-premium__cta .btn-cta {
    width: 100%;
  }
}

/* Hero */
.hero {
  --hero-bg: #ffffff;
  --hero-h1: var(--site-content-color);
  --hero-h1-accent: #ea580c;
  --hero-body: var(--site-content-color);
  --hero-btn-primary: var(--site-content-color);
  --hero-outline: #e5e5e5;
  --hero-card-bg: #ffffff;
  --hero-card-border: #e5e5e5;
  /* Hero talent cards — hover surface/border/shadow aligned with .our-process / .why-hire */
  --hero-talent-hover-surface: rgba(234, 88, 12, 0.085);
  --hero-talent-hover-border: rgba(234, 88, 12, 0.38);
  --hero-talent-hover-shadow: 0 0.35rem 1.1rem rgba(234, 88, 12, 0.12);

  position: relative;
  overflow: hidden;
  background-color: var(--hero-bg);
  padding-block: clamp(2.5rem, 7vw, 4.25rem);
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

.hero__container {
  position: relative;
  z-index: 1;
  --bs-gutter-x: 1.5rem;
}

.hero .hero__row {
  --bs-gutter-y: 2.5rem;
}

@media (min-width: 992px) {
  .hero .hero__row {
    --bs-gutter-y: 3.5rem;
  }
}

.hero__copy {
  max-width: 36rem;
}

@media (min-width: 992px) {
  .hero__copy {
    padding-right: clamp(0.75rem, 4vw, 3rem);
  }
}

@media (min-width: 1200px) {
  .hero__row {
    --bs-gutter-x: 2.5rem;
  }
}

.hero__badge {
  display: inline-block;
  margin: 0 0 1.5rem;
  padding: 0.4rem 0.95rem;
  font-size: 0.6875rem;
  font-weight: 600;
  font-family: var(--font-sans);
  letter-spacing: 0.14em;
  text-transform: uppercase;
  line-height: 1.3;
  color: var(--hero-h1);
  background-color: rgba(0, 0, 0, 0.055);
  border: 1px solid rgba(0, 0, 0, 0.12);
  border-radius: 999px;
}

.hero__title {
  margin: 0 0 1.75rem;
  max-width: min(100%, 38rem);
  font-family: var(--font-sans);
  font-size: clamp(2.125rem, 4.25vw, 3.25rem);
  font-weight: 700;
  line-height: 1.11;
  letter-spacing: -0.035em;
  color: var(--hero-h1);
}

.hero__title-accent {
  color: var(--hero-h1-accent);
  font-weight: 700;
}

.hero__text {
  margin: 0;
  max-width: 32rem;
  font-family: var(--font-sans);
  font-size: 1.0625rem;
  font-weight: 400;
  line-height: 1.65;
  letter-spacing: 0.01em;
  color: var(--hero-body);
}

.hero__actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.875rem 1rem;
  margin-top: 2.5rem;
}

.hero__stats {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1rem 1.25rem;
  margin-top: clamp(1.75rem, 4vw, 2.5rem);
  max-width: 32rem;
  padding-top: clamp(1.25rem, 3vw, 1.75rem);
  border-top: 1px solid rgba(234, 88, 12, 0.22);
}

.hero__stat {
  margin: 0;
  min-width: 0;
  text-align: left;
}

.hero__stat-value {
  margin: 0;
  font-family: var(--font-sans);
  font-size: clamp(1rem, 2.1vw, 1.1875rem);
  font-weight: 700;
  letter-spacing: -0.02em;
  line-height: 1.2;
  color: var(--hero-h1-accent);
}

.hero__stat-label {
  margin: 0.35rem 0 0;
  font-family: var(--font-sans);
  font-size: 0.6875rem;
  font-weight: 600;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  line-height: 1.35;
  color: var(--hero-h1-accent);
  opacity: 0.92;
}

@media (max-width: 380px) {
  .hero__stats {
    grid-template-columns: 1fr;
    gap: 1.125rem;
    max-width: 16rem;
  }
}

.btn-hero-primary {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0.7rem 1.55rem;
  font-family: var(--font-sans);
  font-size: 0.9375rem;
  font-weight: 600;
  letter-spacing: 0.02em;
  line-height: 1.4;
  text-decoration: none;
  color: #ffffff !important;
  background-color: var(--hero-btn-primary);
  border: 1px solid var(--hero-btn-primary);
  border-radius: 0.375rem;
  transition: background-color 0.2s ease, border-color 0.2s ease, color 0.2s ease,
    transform 0.2s ease;
}

.btn-hero-primary:hover,
.btn-hero-primary:focus {
  background-color: #1a1a1a;
  border-color: #1a1a1a;
  color: #ffffff !important;
}

.btn-hero-primary:focus-visible {
  outline: 2px solid var(--hero-h1);
  outline-offset: 3px;
}

.btn-hero-primary:active {
  background-color: #000000;
  border-color: #000000;
  color: #ffffff !important;
  transform: translateY(1px);
}

.btn-hero-secondary {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0.7rem 1.55rem;
  font-family: var(--font-sans);
  font-size: 0.9375rem;
  font-weight: 600;
  letter-spacing: 0.02em;
  line-height: 1.4;
  text-decoration: none;
  color: var(--hero-body) !important;
  background-color: transparent;
  border: 1px solid var(--hero-outline);
  border-radius: 0.375rem;
  transition: color 0.2s ease, border-color 0.2s ease, background-color 0.2s ease;
}

.btn-hero-secondary:hover,
.btn-hero-secondary:focus {
  color: var(--hero-h1) !important;
  border-color: rgba(0, 0, 0, 0.35);
  background-color: rgba(0, 0, 0, 0.04);
}

.btn-hero-secondary:focus-visible {
  outline: 2px solid var(--hero-h1);
  outline-offset: 3px;
}

.hero__visual {
  width: 100%;
}

.hero .talent-card {
  background-color: #ffffff;
  border: 1px solid #e5e5e5;
  box-shadow: 0 0.5rem 1.75rem rgba(0, 0, 0, 0.055),
    0 0.0625rem 0.25rem rgba(0, 0, 0, 0.04);
  transition: transform 0.45s cubic-bezier(0.33, 1, 0.68, 1),
    box-shadow 0.45s ease,
    border-color 0.35s ease,
    background-color 0.28s ease;
}

.hero .talent-card__name {
  color: var(--site-content-color);
}

/* Talent slider (hero) */
.talent-slider {
  position: relative;
  padding: 0.25rem 0.35rem 2.25rem;
}

.talent-slider__inner {
  overflow: hidden;
  border-radius: 0.25rem;
}

.talent-slider .carousel-item {
  transition: transform 0.65s cubic-bezier(0.33, 1, 0.68, 1);
  backface-visibility: hidden;
}

.talent-card {
  max-width: 20rem;
  margin-inline: auto;
  background-color: #ffffff;
  border: 1px solid #e5e5e5;
  border-radius: 0.875rem;
  box-shadow: 0 0.5rem 1.5rem rgba(0, 0, 0, 0.06),
    0 0.125rem 0.25rem rgba(0, 0, 0, 0.04);
  overflow: hidden;
  font-family: var(--font-sans);
  transition: transform 0.45s cubic-bezier(0.33, 1, 0.68, 1),
    box-shadow 0.45s ease, border-color 0.35s ease;
}

.talent-card__media {
  position: relative;
  aspect-ratio: 7 / 8;
  background-color: #f5f5f5;
  overflow: hidden;
}

.talent-card__img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transform: scale(1);
  transform-origin: center center;
  transition: transform 0.55s cubic-bezier(0.33, 1, 0.68, 1);
}

.talent-card:hover {
  transform: translateY(-6px);
  border-color: rgba(0, 0, 0, 0.12);
  box-shadow: 0 1.25rem 2.5rem rgba(0, 0, 0, 0.1),
    0 0.35rem 0.85rem rgba(0, 0, 0, 0.06);
}

.talent-card:hover .talent-card__img {
  transform: scale(1.06);
}

.hero .talent-card:hover,
.hero .talent-card:focus-within {
  border-color: var(--hero-talent-hover-border);
  background-color: var(--hero-talent-hover-surface);
  box-shadow: 0 1px 2px rgba(234, 88, 12, 0.06), var(--hero-talent-hover-shadow);
}

.hero .talent-card .talent-card__skills-label {
  transition: color 0.28s ease;
}

.hero .talent-card:hover .talent-card__skills-label,
.hero .talent-card:focus-within .talent-card__skills-label {
  color: var(--hero-h1-accent);
}

@media (prefers-reduced-motion: reduce) {
  .talent-card,
  .talent-card__img {
    transition: none;
  }

  .hero .talent-card .talent-card__skills-label {
    transition: none;
  }

  .talent-card:hover {
    transform: none;
  }

  .talent-card:hover .talent-card__img,
  .talent-card__img {
    transform: none;
  }
}

.talent-card__body {
  padding: 1.25rem 1.35rem 1.4rem;
  font-family: var(--font-sans);
}

.talent-card__name {
  margin: 0 0 0.25rem;
  font-family: var(--font-sans);
  font-size: 1.125rem;
  font-weight: 600;
  letter-spacing: -0.02em;
  color: var(--site-content-color);
}

.talent-card__name-meta {
  font-weight: 500;
  font-size: 0.62em;
  color: #8c8c8c;
  letter-spacing: 0.02em;
  white-space: nowrap;
}

.talent-card__role {
  margin: 0 0 0.85rem;
  font-family: var(--font-sans);
  font-size: 0.8125rem;
  font-weight: 500;
  letter-spacing: 0.02em;
  color: var(--site-content-color);
}

.talent-card__skills {
  margin: 0;
  font-family: var(--font-sans);
  font-size: 0.8125rem;
  line-height: 1.5;
  color: var(--site-content-color);
}

.talent-card__skills-label {
  display: block;
  margin-bottom: 0.2rem;
  font-family: var(--font-sans);
  font-size: 0.6875rem;
  font-weight: 600;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: #000000;
}

.talent-slider__indicators {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  margin: 0;
  padding: 0;
  justify-content: center;
  gap: 0.45rem;
}

.talent-slider__indicators [data-bs-target] {
  box-sizing: border-box;
  width: 0.45rem;
  height: 0.45rem;
  margin: 0;
  padding: 0;
  border: none;
  border-radius: 50%;
  text-indent: -9999px;
  background-color: rgba(0, 0, 0, 0.18);
  opacity: 1;
  transition: background-color 0.2s ease, transform 0.2s ease;
}

.talent-slider__indicators [data-bs-target].active {
  background-color: var(--navbar-hover);
  transform: scale(1.15);
}

.talent-slider__indicators [data-bs-target]:focus-visible {
  outline: 2px solid var(--navbar-hover);
  outline-offset: 2px;
}

@media (max-width: 991.98px) {
  .hero__title {
    max-width: none;
  }

  .hero__actions .btn-hero-primary,
  .hero__actions .btn-hero-secondary {
    width: 100%;
  }

  .hero__actions {
    flex-direction: column;
    align-items: stretch;
  }

  .hero__stats {
    max-width: none;
  }
}

/* Value strip (below hero) */
.value-strip {
  background-color: #f5f5f5;
  border-top: 1px solid #e5e5e5;
  border-bottom: 1px solid #e5e5e5;
}

.value-strip__container {
  --bs-gutter-x: 1.5rem;
  padding-block: clamp(1.15rem, 3vw, 1.65rem);
}

.value-strip__list {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1rem 1.25rem;
  align-items: center;
  justify-items: center;
  list-style: none;
  margin: 0;
  padding: 0;
  text-align: center;
}

@media (min-width: 992px) {
  .value-strip__list {
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 1rem 1.5rem;
  }
}

.value-strip__item {
  margin: 0;
  font-family: var(--font-sans);
  font-size: 0.875rem;
  font-weight: 600;
  letter-spacing: 0.02em;
  line-height: 1.35;
  color: var(--site-content-color);
  max-width: 15rem;
}

@media (min-width: 992px) {
  .value-strip__item {
    font-size: 0.9375rem;
    max-width: none;
  }
}

/* Homepage value strip: tech logos marquee inside container-xxl (no side bleed) */
.value-strip .tech-stack-marquee--value-strip {
  margin-inline: 0;
  margin-top: 0;
  padding-block: 0.15rem 0.15rem;
  border-top: none;
}

.value-strip .tech-stack-marquee--value-strip .tech-stack-marquee__track {
  animation-duration: 58s;
}

.value-strip .tech-stack-marquee--value-strip .tech-stack-marquee__group {
  gap: clamp(0.65rem, 2vw, 1.1rem);
  padding-block: 0.3rem 0.45rem;
}

.value-strip .tech-stack-marquee--value-strip .tech-stack-scroll__item {
  width: clamp(4rem, 11vw, 5.25rem);
  height: clamp(4rem, 11vw, 5.25rem);
  padding: clamp(0.55rem, 1.5vw, 0.85rem);
}

/* About pages — 80/20 map and metrics */
.about-company__overview {
  padding-block: clamp(1.5rem, 3.5vw, 2.5rem) clamp(2rem, 5vw, 3rem);
}

.about-company__overview-grid {
  display: grid;
  gap: clamp(1rem, 2.8vw, 1.6rem);
}

.about-company__overview-map {
  width: 100%;
}

.about-company__overview-stats {
  border: 1px solid #e8eaed;
  border-radius: 1rem;
  background: #fff;
  box-shadow: 0 1px 0 rgba(0, 0, 0, 0.04), 0 0.5rem 1.25rem rgba(0, 0, 0, 0.05);
  padding: clamp(0.9rem, 2.2vw, 1.2rem);
}

.about-company__overview-stats .hero__stats {
  margin-top: 0;
  max-width: none;
  padding-top: 0;
  border-top: none;
  display: grid;
  grid-template-columns: 1fr;
  gap: clamp(0.75rem, 2vw, 1rem);
}

.about-company__overview-stats .hero__stat {
  text-align: left;
  padding: 0.55rem 0;
  border-bottom: 1px solid rgba(234, 88, 12, 0.22);
}

.about-company__overview-stats .hero__stat:last-child {
  border-bottom: none;
}

.about-company__overview-stats .hero__stat-value,
.about-company__overview-stats .hero__stat-label {
  color: #ea580c;
}

@media (min-width: 992px) {
  .about-company__overview-grid {
    grid-template-columns: minmax(0, 7fr) minmax(0, 3fr);
    align-items: stretch;
  }
}

/* Global reach — world map + flags */
.global-reach {
  --gr-accent: #ea580c;
  --gr-body: var(--site-content-color);

  background-color: #ffffff;
  border-top: 1px solid #e5e5e5;
}

.global-reach .container-xxl {
  --bs-gutter-x: clamp(1.25rem, 4vw, 1.75rem);
}

.section.global-reach {
  padding-block: clamp(3rem, 7.5vw, 5.25rem);
}

@media (min-width: 768px) {
  .section.global-reach {
    padding-block: clamp(3.5rem, 8.5vw, 6rem);
  }
}

.global-reach__map-frame {
  position: relative;
  overflow: hidden;
  border-radius: 1rem;
  border: 1px solid #e8eaed;
  background-color: #ffffff;
  box-shadow: 0 1px 0 rgba(0, 0, 0, 0.04),
    0 0.5rem 1.25rem rgba(0, 0, 0, 0.05),
    0 1.75rem 3rem rgba(0, 0, 0, 0.06);
}

.global-reach__map-dotted {
  display: block;
  width: 100%;
  height: auto;
  vertical-align: middle;
}

.global-reach__hotspots {
  display: none;
}

.global-reach__hotspot {
  position: absolute;
  width: clamp(2.5rem, 10vw, 4.25rem);
  height: clamp(2.5rem, 10vw, 4.25rem);
  transform: translate(-50%, -50%);
  border-radius: 50%;
  background: transparent;
  border: 2px dashed rgba(234, 88, 12, 0.55);
  box-shadow: none;
}

.global-reach__pins {
  position: absolute;
  inset: 0;
  margin: 0;
  padding: 0;
  list-style: none;
  pointer-events: none;
}

.global-reach__pin {
  position: absolute;
  z-index: 2;
  transform: translate(-50%, calc(-100% - 0.35rem));
  pointer-events: auto;
}

.global-reach__pin-flag {
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
  border-radius: 0.25rem;
  box-shadow: 0 0.125rem 0.5rem rgba(0, 0, 0, 0.12),
    0 0 0 1px rgba(0, 0, 0, 0.08);
  background-color: #fff;
}

.global-reach__pin-flag img {
  display: block;
  width: clamp(1.5rem, 4vw, 1.75rem);
  height: auto;
  vertical-align: middle;
}

.global-reach__pin::after {
  content: "";
  position: absolute;
  left: 50%;
  bottom: -0.2rem;
  width: 0.35rem;
  height: 0.35rem;
  margin-left: -0.175rem;
  border-radius: 50%;
  background-color: var(--gr-accent);
  box-shadow: 0 0 0 2px #ffffff;
}

.global-reach__title {
  margin: 0 0 clamp(1rem, 2.5vw, 1.35rem);
  font-family: var(--font-serif);
  font-size: clamp(1.85rem, 4vw, 2.65rem);
  font-weight: 700;
  line-height: 1.08;
  letter-spacing: -0.035em;
  color: var(--gr-body);
}

.global-reach__title-line {
  display: block;
}

.global-reach__title-line--accent {
  color: var(--gr-accent);
}

.global-reach__lead {
  margin: 0;
  max-width: 32rem;
  font-family: var(--font-sans);
  font-size: clamp(0.96875rem, 1.85vw, 1.0625rem);
  font-weight: 400;
  line-height: 1.72;
  letter-spacing: 0.01em;
  color: var(--gr-body);
}

.global-reach__stats {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1rem 1.25rem;
  margin-top: clamp(1.75rem, 4vw, 2.35rem);
  max-width: 28rem;
  padding-top: clamp(1.25rem, 3vw, 1.65rem);
  border-top: 1px solid rgba(234, 88, 12, 0.22);
}

.global-reach__stat {
  margin: 0;
  min-width: 0;
  text-align: left;
}

.global-reach__stat-value {
  margin: 0;
  font-family: var(--font-sans);
  font-size: clamp(1.0625rem, 2.2vw, 1.25rem);
  font-weight: 700;
  letter-spacing: -0.02em;
  line-height: 1.2;
  color: var(--gr-accent);
}

.global-reach__stat-label {
  margin: 0.35rem 0 0;
  font-family: var(--font-sans);
  font-size: 0.6875rem;
  font-weight: 600;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  line-height: 1.35;
  color: var(--gr-accent);
  opacity: 0.92;
}

@media (max-width: 380px) {
  .global-reach__stats {
    grid-template-columns: 1fr;
    gap: 1.125rem;
    max-width: 16rem;
  }
}

/* Why Hire With InnovTeams */
.why-hire {
  --wh-navy: var(--site-content-color);
  --wh-navy-hover: #1a1a1a;
  --wh-body: var(--site-content-color);
  --wh-line: #d4d8e5;
  /* Why-hire grid cells — hover aligned with site orange (#ea580c), same language as .our-process */
  --wh-accent: #ea580c;
  --wh-hover-surface: rgba(234, 88, 12, 0.085);
  --wh-hover-border: rgba(234, 88, 12, 0.38);
  --wh-hover-shadow: 0 0.35rem 1.1rem rgba(234, 88, 12, 0.12);

  background-color: #ffffff;
  border-top: 1px solid #e8eaf0;
}

.why-hire .container-xxl {
  --bs-gutter-x: clamp(1.25rem, 4vw, 1.75rem);
}

.section.why-hire {
  padding-block: clamp(3.25rem, 8vw, 5.75rem);
}

@media (min-width: 768px) {
  .section.why-hire {
    padding-block: clamp(3.75rem, 9vw, 6.25rem);
  }
}

.why-hire__header {
  max-width: 44rem;
  margin-inline: auto;
  margin-bottom: clamp(2rem, 5vw, 3rem);
  padding: 0;
  text-align: center;
}

.why-hire__title {
  margin: 0 0 1.125rem;
  font-family: var(--font-sans);
  font-size: clamp(1.875rem, 3.5vw, 2.35rem);
  font-weight: 700;
  line-height: 1.15;
  letter-spacing: -0.03em;
  color: var(--wh-navy);
}

.why-hire__intro {
  display: flex;
  flex-direction: column;
  gap: clamp(0.45rem, 1.2vw, 0.65rem);
}

.why-hire__lead {
  margin: 0;
  font-family: var(--font-sans);
  font-size: clamp(0.9375rem, 2vw, 1.0625rem);
  font-weight: 400;
  line-height: 1.7;
  letter-spacing: 0.01em;
  color: var(--wh-body);
}

.why-hire__matrix {
  max-width: 72rem;
  margin-inline: auto;
}

/* 3×2 grid: horizontal + vertical rules (plus-style layout, no “+” character) */
.why-hire__matrix--gridlines {
  display: grid;
  grid-template-columns: 1fr;
  gap: 0;
  background: transparent;
}

.why-hire__matrix--gridlines .why-hire__block {
  position: relative;
  z-index: 1;
  margin: 0;
  text-align: center;
  border: none;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  padding: clamp(1rem, 2.5vw, 1.35rem) clamp(0.85rem, 2vw, 1.15rem);
  border-bottom: 1px solid var(--wh-line);
  transition: background-color 0.28s ease, border-color 0.28s ease, box-shadow 0.28s ease,
    transform 0.28s ease;
}

.why-hire__matrix--gridlines .why-hire__block:hover,
.why-hire__matrix--gridlines .why-hire__block:focus-within {
  z-index: 2;
  background-color: var(--wh-hover-surface);
  border-color: var(--wh-hover-border);
  box-shadow: 0 1px 2px rgba(234, 88, 12, 0.06), var(--wh-hover-shadow);
}

@media (prefers-reduced-motion: no-preference) {
  .why-hire__matrix--gridlines .why-hire__block:hover,
  .why-hire__matrix--gridlines .why-hire__block:focus-within {
    transform: translateY(-3px);
  }
}

@media (prefers-reduced-motion: reduce) {
  .why-hire__matrix--gridlines .why-hire__block {
    transition-duration: 0.01ms;
  }

  .why-hire__matrix--gridlines .why-hire__block-icon {
    transition-duration: 0.01ms;
  }

  .why-hire__matrix--gridlines .why-hire__block:hover,
  .why-hire__matrix--gridlines .why-hire__block:focus-within {
    transform: none;
  }
}

.why-hire__matrix--gridlines .why-hire__block:last-child {
  border-bottom: none;
}

@media (min-width: 768px) {
  .why-hire__matrix--gridlines {
    position: relative;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    grid-template-rows: repeat(2, auto);
    isolation: isolate;
  }

  .why-hire__matrix--gridlines::before,
  .why-hire__matrix--gridlines::after {
    content: "";
    position: absolute;
    top: 50%;
    width: 2rem;
    height: 2rem;
    border-radius: 50%;
    background: rgba(251, 146, 60, 0.45);
    transform: translate(-50%, -50%);
    z-index: 3;
    pointer-events: none;
  }

  .why-hire__matrix--gridlines::before {
    left: calc(100% / 3);
  }

  .why-hire__matrix--gridlines::after {
    left: calc((100% / 3) * 2);
  }

  .why-hire__matrix--gridlines .why-hire__block {
    border-bottom: 1px solid var(--wh-line);
    border-right: 1px solid var(--wh-line);
    padding: clamp(1.1rem, 2.5vw, 1.45rem) clamp(0.85rem, 2vw, 1.2rem);
  }

  .why-hire__matrix--gridlines .why-hire__block:nth-child(3n) {
    border-right: none;
  }

  .why-hire__matrix--gridlines .why-hire__block:nth-child(n + 4) {
    border-bottom: none;
  }
}

.why-hire__block {
  margin: 0;
  text-align: center;
  padding: clamp(0.85rem, 2vw, 1.15rem) 0;
}

.why-hire__block-title-wrap {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0.6rem;
  margin-bottom: 0.65rem;
}

.why-hire__block-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  width: 2.75rem;
  height: 2.75rem;
  border-radius: 0.5rem;
  border: 1px solid rgba(0, 0, 0, 0.1);
  background: rgba(0, 0, 0, 0.035);
  color: var(--wh-navy);
}

.why-hire__matrix--gridlines .why-hire__block-icon {
  transition: border-color 0.28s ease, background-color 0.28s ease, color 0.28s ease,
    box-shadow 0.28s ease;
}

.why-hire__matrix--gridlines .why-hire__block:hover .why-hire__block-icon,
.why-hire__matrix--gridlines .why-hire__block:focus-within .why-hire__block-icon {
  border-color: var(--wh-hover-border);
  background: rgba(234, 88, 12, 0.12);
  color: var(--wh-accent);
  box-shadow: 0 0 0 1px rgba(234, 88, 12, 0.18);
}

.why-hire__block-icon svg {
  display: block;
  width: 1.4rem;
  height: 1.4rem;
}

.why-hire__block-title {
  margin: 0;
  font-family: var(--font-sans);
  font-size: clamp(1rem, 1.65vw, 1.125rem);
  font-weight: 700;
  letter-spacing: -0.02em;
  line-height: 1.3;
  color: var(--wh-navy);
}

.why-hire__block-text {
  margin: 0;
  font-family: var(--font-sans);
  font-size: clamp(0.875rem, 1.45vw, 0.96875rem);
  font-weight: 400;
  line-height: 1.65;
  letter-spacing: 0.01em;
  color: var(--wh-body);
}

.why-hire__cta {
  margin-top: clamp(2.5rem, 6vw, 3.75rem);
  text-align: center;
}

.why-hire__btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0.95rem 2.65rem;
  font-family: var(--font-sans);
  font-size: 1rem;
  font-weight: 700;
  letter-spacing: 0.02em;
  line-height: 1.2;
  color: #ffffff !important;
  background-color: var(--wh-navy) !important;
  border: none;
  border-radius: 999px;
  box-shadow: 0 0.35rem 0.85rem rgba(26, 43, 109, 0.28),
    0 0.125rem 0.25rem rgba(26, 43, 109, 0.12);
  text-decoration: none;
  transition: background-color 0.2s ease, box-shadow 0.2s ease, transform 0.2s ease;
}

.why-hire__btn:hover,
.why-hire__btn:focus {
  background-color: var(--wh-navy-hover) !important;
  color: #ffffff !important;
  box-shadow: 0 0.45rem 1.1rem rgba(26, 43, 109, 0.32),
    0 0.15rem 0.3rem rgba(26, 43, 109, 0.14);
}

.why-hire__btn:focus-visible {
  outline: 2px solid var(--wh-navy);
  outline-offset: 3px;
}

.why-hire__btn:active {
  transform: translateY(1px);
}

@media (prefers-reduced-motion: reduce) {
  .why-hire__btn {
    transition: none;
  }

  .why-hire__btn:active {
    transform: none;
  }
}

/* Talent pool (Explore Our Talent Pool) */
.talent-pool {
  --tp-navy: var(--site-content-color);
  --tp-text: var(--site-content-color);
  --tp-border: #e5e5e5;
  --tp-white: #ffffff;
  --tp-accent: #ea580c;
  --tp-hover-surface: rgba(234, 88, 12, 0.085);
  --tp-hover-border: rgba(234, 88, 12, 0.38);
  --tp-hover-shadow: 0 0.35rem 1.1rem rgba(234, 88, 12, 0.12);
  --tp-section-bg: #f5f5f5;

  background-color: var(--tp-section-bg);
  border-top: 1px solid var(--tp-border);
}

.talent-pool__header {
  max-width: 42rem;
  margin-inline: auto;
  margin-bottom: clamp(2.75rem, 6.5vw, 4rem);
  padding-inline: clamp(0, 2vw, 0.75rem);
  text-align: center;
}

.talent-pool__label {
  margin: 0 0 1rem;
  font-family: var(--font-sans);
  font-size: 0.6875rem;
  font-weight: 600;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  line-height: 1.35;
  color: var(--tp-navy);
}

.talent-pool__title {
  margin: 0 0 1.35rem;
  font-family: var(--font-serif);
  font-size: clamp(1.875rem, 3.75vw, 2.375rem);
  font-weight: 700;
  line-height: 1.12;
  letter-spacing: -0.035em;
  color: var(--tp-navy);
}

.talent-pool__lead {
  margin: 0 auto;
  max-width: 38rem;
  font-family: var(--font-sans);
  font-size: clamp(1rem, 2.2vw, 1.0625rem);
  font-weight: 400;
  line-height: 1.68;
  letter-spacing: 0.01em;
  color: var(--tp-text);
}

.talent-pool .talent-pool__grid {
  --bs-gutter-x: 1.75rem;
  --bs-gutter-y: 1.75rem;
}

@media (min-width: 768px) {
  .talent-pool .talent-pool__grid {
    --bs-gutter-x: 2rem;
    --bs-gutter-y: 2rem;
  }
}

@media (min-width: 1200px) {
  .talent-pool .talent-pool__grid {
    --bs-gutter-x: 2.25rem;
    --bs-gutter-y: 2.25rem;
  }
}

.talent-pool-card {
  height: 100%;
  padding: clamp(1.5rem, 3.5vw, 1.9rem) clamp(1.45rem, 3.5vw, 1.85rem)
    clamp(1.55rem, 3.5vw, 2rem);
  background-color: var(--tp-white);
  border: 1px solid var(--tp-border);
  border-radius: 0.875rem;
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.032),
    0 0.5rem 1.25rem rgba(0, 0, 0, 0.042),
    0 1.75rem 3.5rem -0.75rem rgba(0, 0, 0, 0.055);
  transition: transform 0.32s cubic-bezier(0.25, 0.46, 0.45, 0.94),
    box-shadow 0.32s cubic-bezier(0.25, 0.46, 0.45, 0.94),
    border-color 0.28s ease,
    background-color 0.28s ease;
}

.talent-pool-card:hover,
.talent-pool-card:focus-within {
  background-color: var(--tp-hover-surface);
  border-color: var(--tp-hover-border);
  box-shadow: 0 1px 2px rgba(234, 88, 12, 0.06), var(--tp-hover-shadow);
}

@media (prefers-reduced-motion: no-preference) {
  .talent-pool-card:hover,
  .talent-pool-card:focus-within {
    transform: translateY(-3px);
  }
}

.talent-pool-card__head {
  display: flex;
  align-items: flex-start;
  gap: 0.7rem;
  margin-bottom: 0.65rem;
}

.talent-pool-card__icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  margin: 0;
  margin-top: 0.14em;
  border: none;
  background: none;
  box-shadow: none;
  border-radius: 0;
  color: var(--tp-accent);
  transition: color 0.32s ease;
}

.talent-pool-card__icon svg {
  display: block;
  width: 1.4rem;
  height: 1.4rem;
}

.talent-pool-card:hover .talent-pool-card__icon,
.talent-pool-card:focus-within .talent-pool-card__icon {
  color: #c2410c;
}

.talent-pool-card__title {
  margin: 0;
  flex: 1;
  min-width: 0;
  font-family: var(--font-sans);
  font-size: 1.0625rem;
  font-weight: 600;
  letter-spacing: -0.02em;
  line-height: 1.32;
  color: var(--tp-text);
}

.talent-pool-card__text {
  margin: 0 0 1.35rem;
  flex-grow: 1;
  font-family: var(--font-sans);
  font-size: 0.90625rem;
  font-weight: 400;
  line-height: 1.62;
  letter-spacing: 0.01em;
  color: var(--tp-text);
}

.talent-pool-card__link {
  position: relative;
  z-index: 1;
  display: inline-block;
  width: fit-content;
  margin-top: auto;
  padding-bottom: 0.15rem;
  font-family: var(--font-sans);
  font-size: 0.875rem;
  font-weight: 600;
  letter-spacing: 0.02em;
  text-decoration: underline;
  text-decoration-color: transparent;
  text-decoration-thickness: 1px;
  text-underline-offset: 0.32em;
  color: var(--tp-navy) !important;
  cursor: pointer;
  transition: color 0.28s ease, text-decoration-color 0.28s ease,
    text-underline-offset 0.28s ease;
}

.talent-pool-card:hover .talent-pool-card__link,
.talent-pool-card:focus-within .talent-pool-card__link {
  color: var(--tp-accent) !important;
  text-decoration-color: rgba(234, 88, 12, 0.48);
}

.talent-pool-card__link:hover,
.talent-pool-card__link:focus {
  color: var(--tp-navy) !important;
  text-decoration-color: rgba(0, 0, 0, 0.48);
  text-underline-offset: 0.4em;
}

.talent-pool-card:hover .talent-pool-card__link:hover,
.talent-pool-card:focus-within .talent-pool-card__link:hover {
  color: #c2410c !important;
  text-decoration-color: rgba(234, 88, 12, 0.65);
  text-underline-offset: 0.4em;
}

.talent-pool-card__link:focus:not(:focus-visible) {
  outline: none;
}

.talent-pool-card__link:focus-visible {
  outline: 2px solid var(--tp-navy);
  outline-offset: 3px;
  text-decoration-color: rgba(0, 0, 0, 0.4);
}

.talent-pool-card:focus-within .talent-pool-card__link:focus-visible {
  text-decoration-color: rgba(234, 88, 12, 0.5);
}

/* Talent pool: “Explore” CTA — always reads as orange accent */
.talent-pool-card__link--explore {
  color: var(--tp-accent) !important;
  text-decoration-color: rgba(234, 88, 12, 0.42);
}

.talent-pool-card:hover .talent-pool-card__link--explore,
.talent-pool-card:focus-within .talent-pool-card__link--explore {
  color: #c2410c !important;
  text-decoration-color: rgba(194, 65, 12, 0.55);
}

.talent-pool-card__link--explore:hover,
.talent-pool-card__link--explore:focus {
  color: #c2410c !important;
  text-decoration-color: rgba(194, 65, 12, 0.65);
  text-underline-offset: 0.4em;
}

.talent-pool-card:hover .talent-pool-card__link--explore:hover,
.talent-pool-card:focus-within .talent-pool-card__link--explore:hover {
  color: #9a3412 !important;
  text-decoration-color: rgba(154, 52, 18, 0.65);
}

.talent-pool-card__link--explore:focus-visible {
  outline-color: var(--tp-accent);
  text-decoration-color: rgba(234, 88, 12, 0.55);
}

@media (prefers-reduced-motion: reduce) {
  .talent-pool-card {
    transition-duration: 0.01ms;
  }

  .talent-pool-card:hover,
  .talent-pool-card:focus-within {
    transform: none;
  }

  .talent-pool-card__icon {
    transition-duration: 0.01ms;
  }

  .talent-pool-card__link {
    transition: color 0.15s ease, text-decoration-color 0.15s ease;
  }

  .talent-pool-card__link:hover,
  .talent-pool-card__link:focus {
    text-underline-offset: 0.32em;
  }

  .talent-pool-card:hover .talent-pool-card__link:hover,
  .talent-pool-card:focus-within .talent-pool-card__link:hover {
    text-underline-offset: 0.32em;
  }
}

/* Consulting & Services (homepage) */
.consulting-services {
  --cs-heading: var(--site-content-color);
  --cs-body: var(--site-content-color);
  --cs-border: #e5e5e5;
  --cs-surface: #ffffff;
  --cs-card: #ffffff;
  --cs-accent: #ea580c;
  --cs-hover-surface: rgba(234, 88, 12, 0.085);
  --cs-hover-border: rgba(234, 88, 12, 0.38);
  --cs-hover-shadow: 0 0.35rem 1.1rem rgba(234, 88, 12, 0.12);

  background-color: var(--cs-surface);
  border-top: 1px solid var(--cs-border);
}

.consulting-services .container-xxl {
  --bs-gutter-x: clamp(1.25rem, 4vw, 1.75rem);
}

.consulting-services__header {
  max-width: 42rem;
  margin-inline: auto;
  margin-bottom: clamp(2.75rem, 6.5vw, 4rem);
  padding-inline: clamp(0, 2vw, 0.75rem);
  text-align: center;
}

.consulting-services__label {
  margin: 0 0 1rem;
  font-family: var(--font-sans);
  font-size: 0.6875rem;
  font-weight: 600;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  line-height: 1.35;
  color: var(--cs-heading);
}

.consulting-services__title {
  margin: 0 0 1.35rem;
  font-family: var(--font-serif);
  font-size: clamp(1.875rem, 3.75vw, 2.375rem);
  font-weight: 700;
  line-height: 1.12;
  letter-spacing: -0.035em;
  color: var(--cs-heading);
}

.consulting-services__lead {
  margin: 0 auto;
  max-width: 38rem;
  font-family: var(--font-sans);
  font-size: clamp(1rem, 2.2vw, 1.0625rem);
  font-weight: 400;
  line-height: 1.68;
  letter-spacing: 0.01em;
  color: var(--cs-body);
}

.consulting-services .consulting-services__grid {
  --bs-gutter-x: 1.75rem;
  --bs-gutter-y: 1.75rem;
}

@media (min-width: 768px) {
  .consulting-services .consulting-services__grid {
    --bs-gutter-x: 2rem;
    --bs-gutter-y: 2rem;
  }
}

@media (min-width: 1200px) {
  .consulting-services .consulting-services__grid {
    --bs-gutter-x: 2.25rem;
    --bs-gutter-y: 2.25rem;
  }
}

.consulting-card {
  height: 100%;
  padding: clamp(1.5rem, 3.5vw, 1.9rem) clamp(1.45rem, 3.5vw, 1.85rem)
    clamp(1.55rem, 3.5vw, 2rem);
  background-color: var(--cs-card);
  border: 1px solid var(--cs-border);
  border-radius: 0.875rem;
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.032),
    0 0.5rem 1.25rem rgba(0, 0, 0, 0.042),
    0 1.75rem 3.5rem -0.75rem rgba(0, 0, 0, 0.055);
  transition: transform 0.32s cubic-bezier(0.25, 0.46, 0.45, 0.94),
    box-shadow 0.32s cubic-bezier(0.25, 0.46, 0.45, 0.94),
    border-color 0.28s ease,
    background-color 0.28s ease;
}

.consulting-card:hover,
.consulting-card:focus-within {
  background-color: var(--cs-hover-surface);
  border-color: var(--cs-hover-border);
  box-shadow: 0 1px 2px rgba(234, 88, 12, 0.06), var(--cs-hover-shadow);
}

@media (prefers-reduced-motion: no-preference) {
  .consulting-card:hover,
  .consulting-card:focus-within {
    transform: translateY(-3px);
  }
}

/* Placeholder icon nodes are empty; hide so layout matches talent-pool-style cards */
.consulting-card__icon:empty {
  display: none;
}

.consulting-card__icon:not(:empty) {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  margin: 0 0 0.65rem;
  margin-top: 0.14em;
  border: none;
  background: none;
  box-shadow: none;
  border-radius: 0;
  color: var(--cs-accent);
  transition: color 0.32s ease;
}

.consulting-card:hover .consulting-card__icon:not(:empty),
.consulting-card:focus-within .consulting-card__icon:not(:empty) {
  color: #c2410c;
}

.consulting-card__icon:not(:empty) svg {
  display: block;
  width: 1.4rem;
  height: 1.4rem;
}

.consulting-card__title {
  margin: 0 0 0.65rem;
  font-family: var(--font-sans);
  font-size: 1.0625rem;
  font-weight: 600;
  letter-spacing: -0.02em;
  line-height: 1.32;
  color: var(--cs-heading);
}

.consulting-card__text {
  margin: 0 0 1.35rem;
  flex-grow: 1;
  font-family: var(--font-sans);
  font-size: 0.90625rem;
  font-weight: 400;
  line-height: 1.62;
  letter-spacing: 0.01em;
  color: var(--cs-body);
}

/* Non-linked footer line (e.g. “Explore web development” on consulting card) */
.consulting-card__static-cta {
  margin: 0;
  margin-top: auto;
  padding-bottom: 0.15rem;
  font-family: var(--font-sans);
  font-size: 0.875rem;
  font-weight: 600;
  letter-spacing: 0.02em;
  line-height: 1.35;
  color: var(--cs-body);
  opacity: 0.88;
}

.consulting-card__link {
  position: relative;
  z-index: 1;
  display: inline-block;
  width: fit-content;
  margin-top: auto;
  padding-bottom: 0.15rem;
  font-family: var(--font-sans);
  font-size: 0.875rem;
  font-weight: 600;
  letter-spacing: 0.02em;
  text-decoration: underline;
  text-decoration-color: transparent;
  text-decoration-thickness: 1px;
  text-underline-offset: 0.32em;
  color: var(--cs-heading) !important;
  cursor: pointer;
  transition: color 0.28s ease, text-decoration-color 0.28s ease,
    text-underline-offset 0.28s ease;
}

.consulting-card:hover .consulting-card__link,
.consulting-card:focus-within .consulting-card__link {
  color: var(--cs-accent) !important;
  text-decoration-color: rgba(234, 88, 12, 0.48);
}

.consulting-card__link:hover,
.consulting-card__link:focus {
  color: var(--cs-heading) !important;
  text-decoration-color: rgba(0, 0, 0, 0.48);
  text-underline-offset: 0.4em;
}

.consulting-card:hover .consulting-card__link:hover,
.consulting-card:focus-within .consulting-card__link:hover {
  color: #c2410c !important;
  text-decoration-color: rgba(234, 88, 12, 0.65);
  text-underline-offset: 0.4em;
}

.consulting-card__link:focus:not(:focus-visible) {
  outline: none;
}

.consulting-card__link:focus-visible {
  outline: 2px solid var(--cs-heading);
  outline-offset: 3px;
  text-decoration-color: rgba(0, 0, 0, 0.4);
}

.consulting-card:focus-within .consulting-card__link:focus-visible {
  text-decoration-color: rgba(234, 88, 12, 0.5);
}

/* Homepage consulting “Detail more” — same orange accent as talent-pool Explore */
.consulting-card__link.stretched-link {
  color: var(--cs-accent) !important;
  text-decoration-color: rgba(234, 88, 12, 0.42);
}

.consulting-card:hover .consulting-card__link.stretched-link,
.consulting-card:focus-within .consulting-card__link.stretched-link {
  color: #c2410c !important;
  text-decoration-color: rgba(194, 65, 12, 0.55);
}

.consulting-card__link.stretched-link:hover,
.consulting-card__link.stretched-link:focus {
  color: #c2410c !important;
  text-decoration-color: rgba(194, 65, 12, 0.65);
  text-underline-offset: 0.4em;
}

.consulting-card:hover .consulting-card__link.stretched-link:hover,
.consulting-card:focus-within .consulting-card__link.stretched-link:hover {
  color: #9a3412 !important;
  text-decoration-color: rgba(154, 52, 18, 0.65);
}

.consulting-card__link.stretched-link:focus-visible {
  outline-color: var(--cs-accent);
  text-decoration-color: rgba(234, 88, 12, 0.55);
}

/* Expandable specialization list (web dev service cards): button matches link chrome */
button.consulting-card__link {
  border: none;
  background: none;
  box-shadow: none;
}

.consulting-card__collapse-inner {
  margin-bottom: 1rem;
  padding-top: 0.5rem;
  border-top: 1px solid var(--cs-border, #e5e5e5);
}

.consulting-card__spec-list li {
  position: relative;
  padding: 0.38rem 0 0.38rem 1.15rem;
  font-family: var(--font-sans);
  font-size: 0.875rem;
  font-weight: 400;
  line-height: 1.5;
  letter-spacing: 0.01em;
  color: var(--cs-body, var(--site-content-color));
}

.consulting-card__spec-list li::before {
  content: "";
  position: absolute;
  left: 0.1rem;
  top: 0.85em;
  width: 0.35rem;
  height: 0.35rem;
  border-radius: 50%;
  background-color: var(--cs-accent, #ea580c);
  opacity: 0.88;
}

.consulting-card__spec-form {
  margin: 0.75rem 0 0;
  padding: 0;
  border: none;
  display: inline-block;
  max-width: 100%;
}

button.consulting-card__spec-contact {
  display: inline-block;
  margin: 0;
  padding: 0.5rem 1.15rem;
  border: 1px solid var(--cs-accent, #ea580c);
  border-radius: 0.5rem;
  background-color: var(--cs-accent, #ea580c);
  box-shadow: none;
  font-family: var(--font-sans);
  font-size: 0.8125rem;
  font-weight: 600;
  letter-spacing: 0.02em;
  line-height: 1.35;
  color: #ffffff !important;
  cursor: pointer;
  text-align: center;
  text-decoration: none;
  transition: background-color 0.22s ease, border-color 0.22s ease,
    color 0.22s ease;
}

button.consulting-card__spec-contact:hover,
button.consulting-card__spec-contact:focus {
  background-color: #c2410c;
  border-color: #c2410c;
  color: #ffffff !important;
}

button.consulting-card__spec-contact:focus-visible {
  outline: 2px solid var(--cs-heading, var(--site-content-color));
  outline-offset: 3px;
}

@media (prefers-reduced-motion: reduce) {
  .consulting-card {
    transition-duration: 0.01ms;
  }

  .consulting-card:hover,
  .consulting-card:focus-within {
    transform: none;
  }

  .consulting-card__icon:not(:empty) {
    transition-duration: 0.01ms;
  }

  .consulting-card__link {
    transition: color 0.15s ease, text-decoration-color 0.15s ease;
  }

  .consulting-card__link:hover,
  .consulting-card__link:focus {
    text-underline-offset: 0.32em;
  }

  .consulting-card:hover .consulting-card__link:hover,
  .consulting-card:focus-within .consulting-card__link:hover {
    text-underline-offset: 0.32em;
  }
}

/* Consulting subpages (e.g. web development) — inherits consulting-card tokens */
.service-page {
  --cs-heading: var(--site-content-color);
  --cs-body: var(--site-content-color);
  --cs-border: #e5e5e5;
  --cs-card: #ffffff;
  --cs-accent: #ea580c;
  --cs-hover-surface: rgba(234, 88, 12, 0.085);
  --cs-hover-border: rgba(234, 88, 12, 0.38);
  --cs-hover-shadow: 0 0.35rem 1.1rem rgba(234, 88, 12, 0.12);

  background-color: #ffffff;
  color: var(--site-content-color);
}

.service-page-hero {
  padding-block: clamp(2.5rem, 6.5vw, 4rem);
  border-bottom: 1px solid var(--cs-border);
}

.service-page-hero .container-xxl {
  --bs-gutter-x: clamp(1.25rem, 4vw, 1.75rem);
}

.service-page-hero__breadcrumb {
  margin-bottom: clamp(1.25rem, 3vw, 1.75rem);
}

.service-page-hero__crumbs {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  gap: 0.35rem 0.5rem;
  font-family: var(--font-sans);
  font-size: 0.8125rem;
  font-weight: 500;
  letter-spacing: 0.02em;
  color: var(--site-content-color);
  opacity: 0.78;
}

.service-page-hero__crumbs a {
  color: inherit;
  text-decoration: underline;
  text-decoration-color: rgba(234, 88, 12, 0.35);
  text-underline-offset: 0.2em;
}

.service-page-hero__crumbs a:hover,
.service-page-hero__crumbs a:focus {
  color: var(--cs-accent);
  text-decoration-color: rgba(234, 88, 12, 0.55);
}

.service-page-hero__inner {
  max-width: 44rem;
  padding-inline: clamp(0, 2vw, 0.75rem);
}

.service-page-hero__label {
  margin: 0 0 0.875rem;
  font-family: var(--font-sans);
  font-size: 0.6875rem;
  font-weight: 600;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  line-height: 1.35;
  color: var(--cs-heading);
}

.service-page-hero__title {
  margin: 0 0 1.125rem;
  font-family: var(--font-serif);
  font-size: clamp(1.85rem, 4vw, 2.6rem);
  font-weight: 700;
  line-height: 1.12;
  letter-spacing: -0.035em;
  color: var(--cs-heading);
}

.service-page-hero__lead {
  margin: 0;
  font-family: var(--font-sans);
  font-size: clamp(0.96875rem, 2vw, 1.0625rem);
  font-weight: 400;
  line-height: 1.72;
  letter-spacing: 0.01em;
  color: var(--cs-body);
}

/* Consulting service landings — split hero + cards (shared across service pages) */
.consulting-service-landing .consulting-service-landing-hero {
  padding-block: clamp(2.75rem, 7vw, 5rem);
  border-bottom: 1px solid var(--cs-border);
  background: linear-gradient(180deg, #ffffff 0%, #fafafa 100%);
}

.consulting-service-landing-hero .container-xxl {
  --bs-gutter-x: clamp(1.25rem, 4vw, 1.75rem);
}

.consulting-service-landing-hero__grid {
  display: grid;
  gap: clamp(2rem, 5vw, 3.5rem);
  align-items: center;
}

@media (min-width: 992px) {
  .consulting-service-landing-hero__grid {
    grid-template-columns: minmax(0, 1fr) minmax(0, 1.05fr);
  }
}

.consulting-service-landing-hero__copy {
  padding-inline: clamp(0, 2vw, 0.5rem);
}

.consulting-service-landing-hero__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem 1rem;
  margin-top: 1.75rem;
}

.consulting-service-landing-hero__media {
  position: relative;
  margin: 0;
  border-radius: 1rem;
  overflow: hidden;
  box-shadow:
    0 1px 2px rgba(0, 0, 0, 0.04),
    0 1.25rem 3rem rgba(0, 0, 0, 0.09),
    0 0 0 1px rgba(234, 88, 12, 0.12);
}

.consulting-service-landing-hero__media::after {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  border-radius: inherit;
  box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.12);
}

.consulting-service-landing-hero__img {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 4 / 3;
  object-fit: cover;
  vertical-align: middle;
}

.consulting-service-landing-pill {
  display: inline-flex;
  align-items: center;
  margin: 0 0 1rem;
  padding: 0.35rem 0.75rem;
  border-radius: 9999px;
  background: rgba(234, 88, 12, 0.1);
  border: 1px solid rgba(234, 88, 12, 0.22);
  font-family: var(--font-sans);
  font-size: 0.6875rem;
  font-weight: 600;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: #c2410c;
}

.consulting-service-landing-section {
  padding-block: clamp(3rem, 7vw, 5rem);
}

.consulting-service-landing-section--muted {
  background: #fafafa;
  border-block: 1px solid var(--cs-border);
}

.consulting-service-landing-section__header {
  max-width: 38rem;
  margin-inline: auto;
  margin-bottom: clamp(2rem, 4vw, 2.75rem);
  text-align: center;
  padding-inline: clamp(0, 2vw, 0.75rem);
}

.consulting-service-landing-section__title {
  margin: 0 0 0.75rem;
  font-family: var(--font-serif);
  font-size: clamp(1.55rem, 3vw, 2rem);
  font-weight: 700;
  line-height: 1.12;
  letter-spacing: -0.035em;
  color: var(--cs-heading);
}

.consulting-service-landing-section__lead {
  margin: 0;
  font-family: var(--font-sans);
  font-size: clamp(0.9375rem, 2vw, 1.0625rem);
  line-height: 1.65;
  color: var(--cs-body);
}

.consulting-service-landing .consulting-service-landing-section--muted .tech-stack-marquee {
  margin-top: 0.25rem;
}

.consulting-service-landing-card {
  height: 100%;
  padding: clamp(1.35rem, 3vw, 1.75rem);
  background: #fff;
  border: 1px solid var(--cs-border);
  border-radius: 0.875rem;
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.03);
  transition: border-color 0.28s ease, box-shadow 0.28s ease;
}

.consulting-service-landing-card:hover {
  border-color: rgba(234, 88, 12, 0.35);
  box-shadow: 0 0.5rem 1.5rem rgba(234, 88, 12, 0.08);
}

.consulting-service-landing-card__icon {
  display: inline-flex;
  width: 2.5rem;
  height: 2.5rem;
  align-items: center;
  justify-content: center;
  margin-bottom: 0.85rem;
  border-radius: 0.5rem;
  background: rgba(234, 88, 12, 0.1);
  color: #ea580c;
}

.consulting-service-landing-card__title {
  margin: 0 0 0.5rem;
  font-family: var(--font-sans);
  font-size: 1.0625rem;
  font-weight: 600;
  letter-spacing: -0.02em;
  color: var(--cs-heading);
}

.consulting-service-landing-card__text {
  margin: 0;
  font-family: var(--font-sans);
  font-size: 0.90625rem;
  line-height: 1.62;
  color: var(--cs-body);
}

/* Hire Talent hub — image-forward role cards */
.hire-talent-role-card {
  padding: 0;
  overflow: hidden;
  display: flex;
  flex-direction: column;
}

.hire-talent-role-card:hover .hire-talent-role-card__img {
  transform: scale(1.04);
}

.hire-talent-role-card__media {
  aspect-ratio: 16 / 10;
  overflow: hidden;
  background: #f0f0f0;
}

.hire-talent-role-card__img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transition: transform 0.45s ease;
}

.hire-talent-role-card__body {
  padding: clamp(1.35rem, 3vw, 1.75rem);
  flex: 1;
  display: flex;
  flex-direction: column;
}

.hire-talent-role-card__cta {
  margin-top: auto;
  padding-top: 0.85rem;
  font-family: var(--font-sans);
  font-size: 0.8125rem;
  font-weight: 600;
  letter-spacing: 0.02em;
  color: #ea580c;
}

.hire-talent-landing__stat-row {
  margin-top: 0.5rem;
}

.hire-talent-landing__stat-row + .hire-talent-landing__stat-row {
  margin-top: clamp(1.5rem, 4vw, 2.25rem);
  padding-top: clamp(1.25rem, 3vw, 1.75rem);
  border-top: 1px solid var(--cs-border);
}

.hire-talent-landing .global-reach__stats--tight {
  max-width: 36rem;
}

.tech-stack-section {
  background-color: #f5f5f5;
  border-block: 1px solid var(--cs-border);
  padding-block: clamp(2.5rem, 6vw, 4.25rem);
}

.tech-stack-section .container-xxl {
  --bs-gutter-x: clamp(1.25rem, 4vw, 1.75rem);
}

.tech-stack-section__head {
  max-width: 36rem;
  margin-inline: auto;
  margin-bottom: clamp(1.5rem, 3.5vw, 2.125rem);
  padding-inline: clamp(0, 2vw, 0.5rem);
}

.tech-stack-section__title {
  margin: 0 0 0.65rem;
  font-family: var(--font-serif);
  font-size: clamp(1.35rem, 2.75vw, 1.75rem);
  font-weight: 700;
  line-height: 1.15;
  letter-spacing: -0.03em;
  color: var(--cs-heading);
}

.tech-stack-section__hint {
  font-family: var(--font-sans);
  font-size: clamp(0.8125rem, 1.75vw, 0.9375rem);
  line-height: 1.6;
  letter-spacing: 0.01em;
  color: var(--cs-body);
  opacity: 0.92;
}

/* Web dev page: infinitely scrolling technology logo strip */
.tech-stack-marquee {
  margin-inline: calc(-1 * clamp(0.75rem, 3vw, 1.25rem));
  padding-block: 0.35rem 0.5rem;
}

.tech-stack-marquee__viewport {
  overflow: hidden;
  outline: none;
  mask-image: linear-gradient(
    to right,
    transparent,
    #000 6%,
    #000 94%,
    transparent
  );
  -webkit-mask-image: linear-gradient(
    to right,
    transparent,
    #000 6%,
    #000 94%,
    transparent
  );
}

.tech-stack-marquee__viewport:focus-visible {
  outline: 2px solid var(--cs-accent, #ea580c);
  outline-offset: 3px;
  border-radius: 0.5rem;
}

.tech-stack-marquee__track {
  display: flex;
  width: max-content;
  animation: tech-stack-marquee-scroll 38s linear infinite;
}

.tech-stack-marquee__group {
  display: flex;
  flex-shrink: 0;
  align-items: center;
  gap: clamp(0.85rem, 2.5vw, 1.35rem);
  padding-block: 0.4rem 0.65rem;
  padding-inline: clamp(0.5rem, 1.5vw, 0.85rem);
}

.tech-stack-marquee:hover .tech-stack-marquee__track,
.tech-stack-marquee:focus-within .tech-stack-marquee__track {
  animation-play-state: paused;
}

@keyframes tech-stack-marquee-scroll {
  0% {
    transform: translateX(0);
  }

  100% {
    transform: translateX(-50%);
  }
}

/* Logo tile (marquee + any future horizontal strips) */
.tech-stack-scroll__item {
  flex: 0 0 auto;
  display: flex;
  align-items: center;
  justify-content: center;
  width: clamp(4.5rem, 12vw, 5.75rem);
  height: clamp(4.5rem, 12vw, 5.75rem);
  border-radius: 0.875rem;
  background-color: #ffffff;
  border: 1px solid var(--cs-border);
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.04);
  padding: clamp(0.75rem, 2vw, 1rem);
}

.tech-stack-scroll__item img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
}

@media (prefers-reduced-motion: reduce) {
  .tech-stack-marquee__track {
    animation: none;
    flex-wrap: wrap;
    justify-content: center;
    width: 100%;
    max-width: 56rem;
    margin-inline: auto;
  }

  .tech-stack-marquee__group {
    flex-wrap: wrap;
    justify-content: center;
  }

  .tech-stack-marquee__group[aria-hidden="true"] {
    display: none;
  }

  .tech-stack-marquee__viewport {
    overflow-x: visible;
    mask-image: none;
    -webkit-mask-image: none;
  }
}

.service-page-disciplines {
  padding-block: clamp(3rem, 7.5vw, 5.25rem);
}

.service-page-disciplines .container-xxl {
  --bs-gutter-x: clamp(1.25rem, 4vw, 1.75rem);
}

.service-page-disciplines__header {
  max-width: 36rem;
  margin-bottom: clamp(2.25rem, 5vw, 3.25rem);
  padding-inline: clamp(0, 2vw, 0.5rem);
}

.service-page-disciplines__title {
  margin: 0 0 0.75rem;
  font-family: var(--font-serif);
  font-size: clamp(1.65rem, 3.25vw, 2.125rem);
  font-weight: 700;
  line-height: 1.14;
  letter-spacing: -0.035em;
  color: var(--cs-heading);
}

.service-page-disciplines__lead {
  font-family: var(--font-sans);
  font-size: clamp(0.9375rem, 2vw, 1.0625rem);
  line-height: 1.68;
  letter-spacing: 0.01em;
  color: var(--cs-body);
}

.service-page-disciplines__grid {
  --bs-gutter-x: 1.75rem;
  --bs-gutter-y: 1.75rem;
  /* Cards keep their own height—opening Specializations on one row must not stretch siblings */
  align-items: flex-start;
}

@media (min-width: 768px) {
  .service-page-disciplines__grid {
    --bs-gutter-x: 2rem;
    --bs-gutter-y: 2rem;
  }
}

@media (min-width: 1200px) {
  .service-page-disciplines__grid {
    --bs-gutter-x: 2.25rem;
    --bs-gutter-y: 2.25rem;
  }
}

.service-page-disciplines__grid > li {
  display: flex;
  align-items: flex-start;
}

/* Equal-height discipline cards (e.g. hire-talent software developers — lists always visible) */
.service-page-disciplines__grid--equal-cards {
  align-items: stretch;
}

.service-page-disciplines__grid--equal-cards > li {
  flex-direction: column;
  align-items: stretch;
}

.service-page-disciplines__grid--equal-cards > li .consulting-card {
  flex: 1 1 auto;
  width: 100%;
  min-height: 0;
}

.service-page-cta-band {
  background-color: #fafafa;
  border-top: 1px solid var(--cs-border);
  padding-block: clamp(2.75rem, 7vw, 4.5rem);
  margin-top: 0;
}

.service-page-cta-band .container-xxl {
  --bs-gutter-x: clamp(1.25rem, 4vw, 1.75rem);
}

.service-page-cta-band__title {
  margin: 0 0 0.85rem;
  font-family: var(--font-serif);
  font-size: clamp(1.5rem, 3vw, 2rem);
  font-weight: 700;
  line-height: 1.14;
  letter-spacing: -0.03em;
  color: var(--cs-heading);
}

.service-page-cta-band__lead {
  margin: 0 auto clamp(1.75rem, 3.5vw, 2.25rem);
  max-width: 32rem;
  font-family: var(--font-sans);
  font-size: clamp(0.9375rem, 2vw, 1.0625rem);
  line-height: 1.68;
  color: var(--cs-body);
}

.service-page-cta-band__actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  gap: 0.85rem 1rem;
}

/* Legal — Privacy Policy & Terms */
.legal-page__body {
  padding-block: clamp(2rem, 5vw, 3.5rem) clamp(3rem, 8vw, 4.5rem);
}

.legal-page__content {
  max-width: 42rem;
  font-family: var(--font-sans);
  font-size: clamp(0.9375rem, 1.9vw, 1.0625rem);
  line-height: 1.72;
  color: var(--cs-body);
}

.legal-page__content > p {
  margin: 0 0 1.1rem;
}

.legal-page__content > p:last-child {
  margin-bottom: 0;
}

.legal-page__updated {
  margin: 0 0 1.5rem;
  padding: 0.85rem 1rem;
  border-radius: 0.5rem;
  background: #fafafa;
  border: 1px solid var(--cs-border);
  font-size: 0.90625rem;
  color: var(--cs-heading);
}

.legal-page__h3 {
  margin: 2rem 0 0.65rem;
  font-family: var(--font-serif);
  font-size: clamp(1.125rem, 2.2vw, 1.35rem);
  font-weight: 700;
  letter-spacing: -0.02em;
  line-height: 1.25;
  color: var(--cs-heading);
}

.legal-page__h3:first-of-type {
  margin-top: 0;
}

.legal-page__list {
  margin: 0 0 1.1rem;
  padding-left: 1.25rem;
}

.legal-page__list li {
  margin-bottom: 0.5rem;
}

.legal-page__list li:last-child {
  margin-bottom: 0;
}

.legal-page__content a {
  color: #c2410c;
  text-decoration: underline;
  text-underline-offset: 0.15em;
}

.legal-page__content a:hover {
  color: #ea580c;
}

/* Our Process (homepage) */
.our-process {
  --op-heading: var(--site-content-color);
  --op-body: var(--site-content-color);
  --op-text-secondary: var(--site-content-color);
  --op-border: #000000;
  --op-surface: #ffffff;
  --op-bg: #f5f5f5;
  /* Hire process cards — hover aligned with site orange (#ea580c) */
  --op-accent: #ea580c;
  --op-hover-surface: rgba(234, 88, 12, 0.085);
  --op-hover-border: rgba(234, 88, 12, 0.38);
  --op-hover-shadow: 0 0.35rem 1.1rem rgba(234, 88, 12, 0.12);

  background-color: var(--op-bg);
  border-top: 1px solid var(--op-border);
  border-bottom: 1px solid var(--op-border);
}

.our-process .container-xxl {
  --bs-gutter-x: clamp(1.25rem, 4vw, 1.75rem);
}

.our-process__header {
  max-width: 42rem;
  margin-bottom: clamp(2.25rem, 5.5vw, 3.25rem);
  padding-inline: clamp(0, 2vw, 0.5rem);
  text-align: center;
  margin-inline: auto;
}

.our-process__title {
  margin: 0 0 1rem;
  font-family: var(--font-serif);
  font-size: clamp(1.75rem, 3.5vw, 2.25rem);
  font-weight: 700;
  line-height: 1.12;
  letter-spacing: -0.035em;
  color: var(--op-heading);
}

.our-process__lead {
  margin: 0 auto;
  max-width: 34rem;
  font-family: var(--font-sans);
  font-size: clamp(0.9375rem, 2vw, 1.0625rem);
  font-weight: 400;
  line-height: 1.7;
  letter-spacing: 0.01em;
  color: var(--op-body);
}

.our-process__intro {
  display: flex;
  flex-direction: column;
  gap: clamp(0.45rem, 1.2vw, 0.65rem);
  max-width: 34rem;
  margin-inline: auto;
}

.our-process__intro .our-process__lead {
  max-width: none;
  margin-inline: 0;
}

/* Timeline: vertical (mobile) → horizontal connector (md+) */
.our-process__steps-wrap {
  max-width: 72rem;
  margin-inline: auto;
}

.our-process__steps {
  position: relative;
  margin: 0;
  padding: 0;
  list-style: none;
}

/* Vertical spine (mobile) — passes through step nodes */
.our-process__steps::before {
  content: "";
  position: absolute;
  left: 2.375rem;
  top: 2.75rem;
  bottom: 2.75rem;
  width: 2px;
  transform: translateX(-50%);
  background: linear-gradient(
    180deg,
    rgba(0, 0, 0, 0.12),
    rgba(0, 0, 0, 0.3) 50%,
    rgba(0, 0, 0, 0.12)
  );
  border-radius: 1px;
  z-index: 0;
}

.our-process__step-item {
  position: relative;
  z-index: 1;
  margin-bottom: clamp(1.25rem, 3vw, 1.75rem);
}

.our-process__step-item:last-child {
  margin-bottom: 0;
}

.our-process-step {
  position: relative;
  display: block;
  padding: clamp(1.35rem, 3vw, 1.65rem) clamp(1.25rem, 3vw, 1.5rem);
  padding-left: clamp(4.25rem, 12vw, 4.5rem);
  background-color: var(--op-surface);
  border: 1px solid var(--op-border);
  border-radius: 1.35rem;
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.04),
    0 0.5rem 1.25rem rgba(0, 0, 0, 0.035);
  text-align: left;
  transition: background-color 0.28s ease, border-color 0.28s ease, box-shadow 0.28s ease,
    transform 0.28s ease;
}

.our-process-step:hover {
  background-color: var(--op-hover-surface);
  border-color: var(--op-hover-border);
  box-shadow: 0 1px 2px rgba(234, 88, 12, 0.06), var(--op-hover-shadow);
}

.our-process-step:focus-within {
  background-color: var(--op-hover-surface);
  border-color: var(--op-hover-border);
  box-shadow: 0 1px 2px rgba(234, 88, 12, 0.06), var(--op-hover-shadow);
}

@media (prefers-reduced-motion: no-preference) {
  .our-process-step:hover,
  .our-process-step:focus-within {
    transform: translateY(-3px);
  }
}

@media (prefers-reduced-motion: reduce) {
  .our-process-step {
    transition-duration: 0.01ms;
  }

  .our-process-step:hover,
  .our-process-step:focus-within {
    transform: none;
  }
}

.our-process-step:hover .our-process-step__num,
.our-process-step:focus-within .our-process-step__num {
  color: #ffffff;
  background: linear-gradient(
    155deg,
 #f97316 0%,
    var(--op-accent) 55%,
    #c2410c 100%
  );
  box-shadow: 0 0 0 3px var(--op-bg), 0 0 0 4px rgba(234, 88, 12, 0.22),
    0 0.4rem 0.95rem rgba(234, 88, 12, 0.28);
}

.our-process-step__marker {
  position: absolute;
  left: 1.125rem;
  top: clamp(1.35rem, 3vw, 1.65rem);
  z-index: 2;
}

.our-process-step__body {
  min-width: 0;
}

/* Step number: sits on timeline spine */
.our-process-step__num {
  display: inline-flex;
  flex-shrink: 0;
  align-items: center;
  justify-content: center;
  width: 2.5rem;
  height: 2.5rem;
  margin: 0;
  font-family: var(--font-sans);
  font-size: 0.875rem;
  font-weight: 700;
  font-variant-numeric: tabular-nums;
  letter-spacing: 0.02em;
  line-height: 1;
  color: #ffffff;
  background: linear-gradient(155deg, #2a2a2a 0%, #000000 55%, #000000 100%);
  border-radius: 50%;
  box-shadow: 0 0 0 3px var(--op-bg), 0 0 0 4px rgba(0, 0, 0, 0.08),
    0 0.35rem 0.85rem rgba(0, 0, 0, 0.14);
}

.our-process-step__title {
  margin: 0 0 0.625rem;
  font-family: var(--font-sans);
  font-size: clamp(1.015625rem, 1.65vw, 1.125rem);
  font-weight: 600;
  letter-spacing: -0.02em;
  line-height: 1.28;
  color: var(--op-heading);
}

.our-process-step__text {
  margin: 0;
  font-family: var(--font-sans);
  font-size: clamp(0.84375rem, 1.4vw, 0.9375rem);
  font-weight: 400;
  line-height: 1.65;
  letter-spacing: 0.01em;
  color: var(--op-text-secondary);
}

.section.our-process {
  padding-block: clamp(3rem, 8vw, 5.5rem);
}

@media (min-width: 768px) {
  .section.our-process {
    padding-block: clamp(3.5rem, 9vw, 6.25rem);
  }

  .our-process__steps::before {
    display: none;
  }

  /* Horizontal connector through step nodes */
  .our-process__steps::after {
    content: "";
    position: absolute;
    left: 10%;
    right: 10%;
    top: calc(clamp(1.75rem, 3vw, 2rem) + 1.25rem);
    height: 2px;
    transform: translateY(-50%);
    background: linear-gradient(
      90deg,
      rgba(0, 0, 0, 0.08) 0%,
      rgba(0, 0, 0, 0.26) 15%,
      rgba(0, 0, 0, 0.26) 85%,
      rgba(0, 0, 0, 0.08) 100%
    );
    border-radius: 1px;
    z-index: 0;
  }

  .our-process__steps {
    display: flex;
    flex-direction: row;
    align-items: stretch;
    justify-content: space-between;
    gap: clamp(0.75rem, 2vw, 1.5rem);
  }

  .our-process__step-item {
    flex: 1;
    min-width: 0;
    margin-bottom: 0;
    display: flex;
  }

  .our-process-step {
    display: flex;
    flex-direction: column;
    align-items: center;
    width: 100%;
    height: 100%;
    padding: clamp(1.75rem, 3vw, 2.1rem) clamp(1.15rem, 2.5vw, 1.5rem)
      clamp(1.5rem, 3.5vw, 1.75rem);
    text-align: center;
  }

  .our-process-step__marker {
    position: relative;
    left: auto;
    top: auto;
    transform: none;
    margin-bottom: 1.125rem;
    display: flex;
    justify-content: center;
  }

  .our-process-step__num {
    box-shadow: 0 0 0 3px var(--op-bg), 0 0 0 4px rgba(0, 0, 0, 0.08),
      0 0.35rem 0.85rem rgba(0, 0, 0, 0.12);
  }
}

/* Testimonials (homepage) */
.testimonials {
  --tm-heading: var(--site-content-color);
  --tm-body: var(--site-content-color);
  --tm-muted: var(--site-content-color);
  --tm-border: #e5e5e5;
  --tm-surface: #ffffff;
  --tm-shadow: 0 1px 0 rgba(0, 0, 0, 0.04),
    0 0.375rem 1rem rgba(0, 0, 0, 0.045),
    0 1.25rem 2.5rem rgba(0, 0, 0, 0.06);
  --tm-hover-surface: rgba(234, 88, 12, 0.085);
  --tm-hover-border: rgba(234, 88, 12, 0.38);
  --tm-hover-shadow: 0 0.35rem 1.1rem rgba(234, 88, 12, 0.12);
  --tm-section-bg: #f5f5f5;

  background-color: var(--tm-section-bg);
  border-top: 1px solid #e5e5e5;
}

.testimonials .container-xxl {
  --bs-gutter-x: clamp(1.25rem, 4vw, 1.75rem);
}

.testimonials__header {
  max-width: 42rem;
  margin-bottom: clamp(2.35rem, 5.75vw, 3.5rem);
  text-align: center;
  margin-inline: auto;
  padding-inline: clamp(0, 2vw, 0.75rem);
}

.testimonials__title {
  margin: 0 0 1.0625rem;
  font-family: var(--font-serif);
  font-size: clamp(1.75rem, 3.5vw, 2.25rem);
  font-weight: 700;
  line-height: 1.12;
  letter-spacing: -0.035em;
  color: var(--tm-heading);
}

.testimonials__lead {
  margin: 0;
  max-width: 36rem;
  margin-inline: auto;
  font-family: var(--font-sans);
  font-size: clamp(0.9375rem, 2vw, 1.0625rem);
  font-weight: 400;
  line-height: 1.72;
  letter-spacing: 0.01em;
  color: var(--tm-body);
}

.testimonials__intro {
  display: flex;
  flex-direction: column;
  gap: clamp(0.45rem, 1.2vw, 0.65rem);
  max-width: 36rem;
  margin-inline: auto;
}

.testimonials__intro .testimonials__lead {
  max-width: none;
  margin-inline: 0;
}

.testimonials__slider-wrap {
  max-width: 75rem;
  margin-inline: auto;
}

/* Testimonials carousel */
.testimonials-slider {
  position: relative;
  padding: 0 clamp(0.25rem, 2vw, 0.5rem) 2.65rem;
}

.testimonials-slider__inner {
  overflow: hidden;
  border-radius: 0.875rem;
}

.testimonials-slider .carousel-item {
  transition: transform 0.85s cubic-bezier(0.33, 1, 0.68, 1);
  backface-visibility: hidden;
}

.testimonials-slider__slide {
  padding: 0.25rem 0.15rem;
}

.testimonials-slider__row {
  --bs-gutter-x: clamp(1rem, 2.5vw, 1.5rem);
  --bs-gutter-y: clamp(1rem, 2.5vw, 1.5rem);
}

.testimonials-slider__slide .testimonial-card {
  width: 100%;
  margin: 0;
}

.testimonials-slider__indicators {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  margin: 0;
  padding: 0 0.5rem;
  justify-content: center;
  flex-wrap: wrap;
  gap: 0.35rem 0.4rem;
}

.testimonials-slider__indicators [data-bs-target] {
  box-sizing: border-box;
  width: 0.42rem;
  height: 0.42rem;
  margin: 0;
  padding: 0;
  border: none;
  border-radius: 50%;
  text-indent: -9999px;
  background-color: rgba(0, 0, 0, 0.18);
  opacity: 1;
  transition: background-color 0.2s ease, transform 0.2s ease;
}

.testimonials-slider__indicators [data-bs-target].active {
  background-color: var(--navbar-hover);
  transform: scale(1.2);
}

.testimonials-slider__indicators [data-bs-target]:focus-visible {
  outline: 2px solid var(--navbar-hover);
  outline-offset: 2px;
}

.testimonial-card {
  display: flex;
  flex-direction: column;
  width: 100%;
  height: 100%;
  margin: 0;
  padding: clamp(1.65rem, 3.75vw, 2.05rem) clamp(1.5rem, 3.25vw, 1.85rem);
  background-color: #ffffff;
  border: 1px solid #e5e5e5;
  border-radius: 0.875rem;
  box-shadow: var(--tm-shadow);
  transition: box-shadow 0.28s ease, transform 0.28s ease, border-color 0.28s ease,
    background-color 0.28s ease;
}

.testimonials .testimonial-card .testimonial-card__avatar,
.testimonials .testimonial-card .testimonial-card__meta {
  transition: border-color 0.28s ease, box-shadow 0.28s ease;
}

.testimonial-card:hover,
.testimonial-card:focus-within {
  background-color: var(--tm-hover-surface);
  border-color: var(--tm-hover-border);
  box-shadow: 0 1px 2px rgba(234, 88, 12, 0.06), var(--tm-hover-shadow);
}

@media (prefers-reduced-motion: no-preference) {
  .testimonial-card:hover,
  .testimonial-card:focus-within {
    transform: translateY(-3px);
  }
}

.testimonials .testimonial-card:hover .testimonial-card__avatar,
.testimonials .testimonial-card:focus-within .testimonial-card__avatar {
  border-color: var(--tm-hover-border);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.92), 0 0 0 1px rgba(234, 88, 12, 0.18);
}

.testimonials .testimonial-card:hover .testimonial-card__meta,
.testimonials .testimonial-card:focus-within .testimonial-card__meta {
  border-top-color: var(--tm-hover-border);
}

.testimonial-card__name-row {
  display: flex;
  align-items: center;
  gap: 0.65rem;
  min-width: 0;
}

.testimonial-card__avatar {
  flex-shrink: 0;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 2.5rem;
  height: 2.5rem;
  padding: 0.2rem;
  overflow: hidden;
  border-radius: 50%;
  border: 1px solid #e5e5e5;
  background-color: #ffffff;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.92);
}

.testimonial-card__avatar .testimonial-card__company-logo {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
  border: none;
  border-radius: 0;
  background: transparent;
}

.testimonial-card__quote {
  margin: 0 0 clamp(1.2rem, 2.75vw, 1.45rem);
  padding: 0;
  border: 0;
  flex-grow: 1;
}

.testimonial-card__quote p {
  margin: 0;
  font-family: var(--font-sans);
  font-size: clamp(0.9375rem, 1.5vw, 1.03125rem);
  font-weight: 400;
  font-style: normal;
  line-height: 1.68;
  letter-spacing: 0.012em;
  color: var(--tm-body);
}

.testimonial-card__meta {
  display: flex;
  flex-direction: column;
  gap: 0.28rem;
  margin-top: auto;
  padding-top: clamp(0.875rem, 2vw, 1.0625rem);
  border-top: 1px solid #e5e5e5;
  font-family: var(--font-sans);
}

.testimonial-card__name {
  flex: 1;
  min-width: 0;
  font-size: 0.9375rem;
  font-weight: 600;
  letter-spacing: -0.012em;
  line-height: 1.35;
  color: var(--tm-heading);
}

.testimonial-card__company {
  display: block;
  padding-inline-start: calc(2.5rem + 0.65rem);
  font-size: 0.8125rem;
  font-weight: 500;
  letter-spacing: 0.018em;
  line-height: 1.4;
  color: var(--tm-muted);
}

.section.testimonials {
  padding-block: clamp(3.15rem, 8.25vw, 5.85rem);
}

@media (min-width: 768px) {
  .section.testimonials {
    padding-block: clamp(3.6rem, 9vw, 6.6rem);
  }
}

@media (min-width: 1200px) {
  .section.testimonials {
    padding-block: clamp(3.75rem, 8vw, 6.25rem);
  }
}

@media (prefers-reduced-motion: reduce) {
  .testimonial-card {
    transition: none;
  }

  .testimonials .testimonial-card .testimonial-card__avatar,
  .testimonials .testimonial-card .testimonial-card__meta {
    transition: none;
  }

  .testimonial-card:hover,
  .testimonial-card:focus-within {
    transform: none;
  }

  .testimonials-slider .carousel-item {
    transition: none;
  }
}

/* Final CTA (below testimonials) */
.cta-final {
  --cta-bg: #000000;
  --cta-text: #ffffff;
  --cta-body: rgba(255, 255, 255, 0.94);

  background-color: #000000;
  color: #ffffff;
  text-align: center;
  border-block: 1px solid rgba(255, 255, 255, 0.06);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.04);
}

.cta-final .container-xxl {
  --bs-gutter-x: clamp(1.25rem, 4vw, 1.75rem);
}

.cta-final__inner {
  max-width: 46rem;
  margin-inline: auto;
  padding-inline: clamp(0.25rem, 2.5vw, 1rem);
}

.cta-final__title {
  margin: 0 0 clamp(1rem, 2.5vw, 1.375rem);
  font-family: var(--font-serif);
  font-size: clamp(1.9375rem, 4.5vw, 2.75rem);
  font-weight: 700;
  line-height: 1.08;
  letter-spacing: -0.03em;
  color: #ffffff;
}

.cta-final__lead {
  margin: 0 auto clamp(2rem, 4.5vw, 2.75rem);
  max-width: 30rem;
  font-family: var(--font-sans);
  font-size: clamp(1.03125rem, 2.15vw, 1.15625rem);
  font-weight: 400;
  line-height: 1.68;
  letter-spacing: 0.015em;
  color: var(--cta-body);
}

.cta-final__actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  gap: clamp(0.75rem, 2vw, 1rem) clamp(1rem, 2.5vw, 1.25rem);
}

.cta-final__btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: min(100%, 11.5rem);
  min-height: 3rem;
  padding: 0.75rem 1.85rem;
  font-family: var(--font-sans);
  font-size: 0.9375rem;
  font-weight: 600;
  letter-spacing: 0.04em;
  line-height: 1.3;
  text-decoration: none;
  border-radius: 0.5rem;
  transition: background-color 0.25s ease, border-color 0.25s ease, color 0.25s ease,
    transform 0.2s ease, box-shadow 0.25s ease;
}

/* Primary: solid white surface, navy label */
.cta-final__btn--primary {
  color: var(--site-content-color) !important;
  background-color: #ffffff;
  border: 1px solid #ffffff;
  box-shadow: 0 1px 0 rgba(255, 255, 255, 0.65) inset,
    0 0.35rem 1rem rgba(0, 0, 0, 0.1), 0 1.25rem 2.5rem rgba(0, 0, 0, 0.14);
}

.cta-final__btn--primary:hover,
.cta-final__btn--primary:focus {
  color: var(--site-content-color) !important;
  background-color: #f6f7f9;
  border-color: #f6f7f9;
  box-shadow: 0 1px 0 rgba(255, 255, 255, 0.5) inset,
    0 0.45rem 1.15rem rgba(0, 0, 0, 0.12), 0 1.35rem 2.75rem rgba(0, 0, 0, 0.16);
}

.cta-final__btn--primary:focus-visible {
  outline: 2px solid #ffffff;
  outline-offset: 3px;
}

.cta-final__btn--primary:active {
  transform: translateY(1px);
  box-shadow: 0 1px 0 rgba(255, 255, 255, 0.4) inset,
    0 0.2rem 0.65rem rgba(0, 0, 0, 0.12);
}

/* Secondary: outline on navy */
.cta-final__btn--outline {
  color: #ffffff !important;
  background-color: transparent;
  border: 1.5px solid rgba(255, 255, 255, 0.48);
  box-shadow: none;
}

.cta-final__btn--outline:hover,
.cta-final__btn--outline:focus {
  color: #ffffff !important;
  background-color: rgba(255, 255, 255, 0.1);
  border-color: rgba(255, 255, 255, 0.78);
}

.cta-final__btn--outline:focus-visible {
  outline: 2px solid rgba(255, 255, 255, 0.9);
  outline-offset: 3px;
}

.cta-final__btn--outline:active {
  transform: translateY(1px);
  background-color: rgba(255, 255, 255, 0.06);
}

.section.cta-final {
  padding-block: clamp(3.75rem, 10vw, 6rem);
}

@media (min-width: 768px) {
  .section.cta-final {
    padding-block: clamp(4.5rem, 11vw, 7rem);
  }
}

@media (min-width: 1200px) {
  .section.cta-final {
    padding-block: clamp(4.75rem, 9vw, 6.5rem);
  }
}

@media (prefers-reduced-motion: reduce) {
  .cta-final__btn {
    transition: background-color 0.2s ease, border-color 0.2s ease, color 0.2s ease,
      box-shadow 0.2s ease;
  }

  .cta-final__btn:active {
    transform: none;
  }
}

/* Sections */
.section {
  padding-block: var(--section-spacing);
}

.section.talent-pool {
  padding-block: clamp(4.25rem, 11vw, 7.5rem);
}

.section.consulting-services {
  padding-block: clamp(4.5rem, 11vw, 7.75rem);
}

.section--muted {
  background-color: var(--brand-light-gray);
  border-block: 1px solid var(--brand-border);
}

.section--cta {
  background-color: var(--brand-primary);
  color: #fff;
}

.section--cta h2 {
  color: inherit;
}

.section__lead {
  font-size: 1.125rem;
  color: var(--brand-text-muted);
  max-width: 40rem;
}

.section--cta .section__lead {
  color: rgba(255, 255, 255, 0.9);
}

h1,
h2 {
  margin-top: 0;
}

/* Footer */
.site-footer {
  --ft-text: var(--site-content-color);
  --ft-text-soft: var(--site-content-color);
  --ft-border: rgba(0, 0, 0, 0.09);
  --ft-border-strong: rgba(0, 0, 0, 0.12);
  --ft-bg: #f5f5f5;
  --ft-accent: #ea580c;

  padding-block: clamp(2.75rem, 6vw, 4rem);
  border-top: 1px solid var(--ft-border);
  background-color: var(--ft-bg);
  color: var(--ft-text);
}

@media (min-width: 768px) {
  .site-footer {
    padding-block: clamp(3rem, 5.5vw, 4.25rem);
  }
}

.site-footer__inner {
  --bs-gutter-x: clamp(1.25rem, 4vw, 1.75rem);
}

.site-footer__grid {
  --bs-gutter-x: clamp(1.25rem, 3.5vw, 1.85rem);
  --bs-gutter-y: clamp(1.75rem, 4vw, 2.25rem);
  margin-bottom: 0;
}

@media (min-width: 992px) {
  .site-footer__grid {
    --bs-gutter-y: 2rem;
  }
}

.site-footer__col {
  height: 100%;
}

.site-footer__heading {
  margin: 0 0 clamp(0.875rem, 2vw, 1.125rem);
  font-family: var(--font-sans);
  font-size: 0.6875rem;
  font-weight: 700;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  line-height: 1.35;
  color: var(--ft-text);
}

.site-footer__col--brand .site-footer__heading {
  font-size: 1.0625rem;
  font-weight: 700;
  letter-spacing: -0.02em;
  text-transform: none;
  color: var(--ft-text);
}

.site-footer__list {
  margin: 0;
  padding: 0;
}

.site-footer__list li {
  margin-bottom: 0.5rem;
}

.site-footer__list li:last-child {
  margin-bottom: 0;
}

@media (min-width: 576px) {
  .site-footer__list li {
    margin-bottom: 0.5625rem;
  }
}

/* Links: calm underline reveal */
.site-footer__link {
  font-family: var(--font-sans);
  font-size: 0.875rem;
  font-weight: 500;
  line-height: 1.5;
  letter-spacing: 0.012em;
  color: var(--ft-text);
  text-decoration: underline;
  text-decoration-color: transparent;
  text-decoration-thickness: 1px;
  text-underline-offset: 0.28em;
  transition: color 0.22s ease, text-decoration-color 0.22s ease;
}

.site-footer__link:hover {
  color: var(--ft-accent);
  text-decoration-color: rgba(0, 0, 0, 0.38);
}

.site-footer__link:focus {
  color: var(--ft-accent);
  text-decoration-color: rgba(0, 0, 0, 0.45);
}

.site-footer__link:focus-visible {
  outline: 2px solid var(--ft-accent);
  outline-offset: 3px;
  text-decoration-color: transparent;
}

.site-footer__desc {
  margin: 0 0 clamp(0.875rem, 2vw, 1.0625rem);
  max-width: 22rem;
  font-family: var(--font-sans);
  font-size: 0.875rem;
  font-weight: 400;
  line-height: 1.65;
  letter-spacing: 0.012em;
  color: var(--ft-text);
}

.site-footer__social {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.5rem;
  margin-top: 1rem;
}

.site-footer__social-link {
  display: inline-flex;
  width: 2.375rem;
  height: 2.375rem;
  align-items: center;
  justify-content: center;
  border-radius: 0.5rem;
  background: #fff;
  border: 1px solid var(--ft-border);
  color: var(--ft-text);
  text-decoration: none;
  transition: color 0.2s ease, border-color 0.2s ease, background 0.2s ease;
}

.site-footer__social-link:hover {
  color: #ea580c;
  border-color: rgba(234, 88, 12, 0.4);
  background: rgba(234, 88, 12, 0.06);
}

.site-footer__social-link:focus-visible {
  outline: 2px solid #ea580c;
  outline-offset: 2px;
}

.site-footer__social-icon {
  width: 1.125rem;
  height: 1.125rem;
  flex-shrink: 0;
}

.site-footer__email {
  margin: 0 0 clamp(1rem, 2.5vw, 1.35rem);
}

.site-footer__link--email {
  font-weight: 600;
  letter-spacing: 0.015em;
  color: var(--ft-text);
}

.site-footer__link--email:hover,
.site-footer__link--email:focus {
  color: var(--ft-accent);
}

.site-footer__copy {
  margin: 0;
  padding-top: clamp(0.9375rem, 2vw, 1.125rem);
  margin-top: 0.125rem;
  border-top: 1px solid var(--ft-border);
  font-family: var(--font-sans);
  font-size: 0.8125rem;
  font-weight: 400;
  line-height: 1.5;
  letter-spacing: 0.018em;
  color: var(--ft-text-soft);
}

/* Reduced motion */
@media (prefers-reduced-motion: reduce) {
  html {
    scroll-behavior: auto;
  }

  .navbar-premium .nav-link,
  .navbar-premium .dropdown-item,
  .navbar-premium__cta .btn-cta {
    transition: none;
  }

  .navbar-premium .nav-link:hover,
  .navbar-premium .nav-link:focus-visible,
  .navbar-premium .nav-item.show > .nav-link.dropdown-toggle {
    transform: none;
  }

  .navbar-premium__cta .btn-cta:active {
    transform: none;
  }

  .btn-hero-primary,
  .btn-hero-secondary {
    transition: none;
  }

  .btn-hero-primary:active {
    transform: none;
  }

  .talent-slider .carousel-item {
    transition: none !important;
  }
}

/* --- Calendly booking (/contact) --- */
.calendly-page__section {
  padding-block: var(--section-spacing);
}

.calendly-page__intro {
  max-width: 36rem;
  color: var(--site-content-color) !important;
}

.calendly-page__widget-wrap {
  max-width: 72rem;
  border: 1px solid var(--brand-border);
  border-radius: var(--navbar-dropdown-radius, 0.75rem);
  overflow: hidden;
  background: var(--brand-bg);
  box-shadow: var(--navbar-dropdown-shadow);
}

.calendly-page__embed.calendly-inline-widget {
  width: 100%;
}

@media (max-width: 575.98px) {
  .calendly-page__embed.calendly-inline-widget {
    height: min(85vh, 900px) !important;
  }
}
