:root {
  --page: #f8faf9;
  --text: #17202a;
  --heading: #17202a;
  --muted: #5d6b76;
  --accent: #0c8c84;
  --header-bg: rgba(248, 250, 249, 0.9);
  --header-border: rgba(23, 32, 42, 0.08);
  --nav-text: rgba(23, 32, 42, 0.74);
  --control-bg: rgba(255, 255, 255, 0.72);
  --control-border: rgba(23, 32, 42, 0.16);
  --control-text: #173f6d;
  --control-active: #173f6d;
  --control-active-text: #ffffff;
  --button-primary: #173f6d;
  --button-primary-text: #ffffff;
  --button-secondary-bg: rgba(255, 255, 255, 0.68);
  --button-secondary-border: rgba(23, 32, 42, 0.18);
  --button-secondary-text: #173f6d;
  --card-bg: #ffffff;
  --card-border: #dfe6eb;
  --soft-section: #eef4f4;
  --index-bg: #173f6d;
  --index-text: #ffffff;
  --visual-card: linear-gradient(135deg, rgba(23, 63, 109, 0.08), rgba(12, 140, 132, 0.08)), #ffffff;
  --visual-shadow: 0 30px 70px rgba(34, 49, 63, 0.14);
  --signal-bg: rgba(255, 255, 255, 0.86);
  --signal-shadow: 0 18px 46px rgba(34, 49, 63, 0.16);
  --signal-pill: #eef4f4;
  --signal-text: #173f6d;
  --contact-bg: #173f6d;
  --contact-text: #ffffff;
  --contact-muted: rgba(255, 255, 255, 0.78);
  --footer-bg: #102842;
  --footer-text: rgba(255, 255, 255, 0.78);
}

.hero {
  background:
    linear-gradient(90deg, rgba(248, 250, 249, 0.98), rgba(248, 250, 249, 0.84)),
    repeating-linear-gradient(135deg, rgba(23, 63, 109, 0.08) 0 1px, transparent 1px 16px);
}

.hero::after {
  position: absolute;
  right: clamp(20px, 5vw, 72px);
  bottom: 0;
  width: min(42vw, 560px);
  height: 7px;
  content: "";
  background: linear-gradient(90deg, #173f6d, #0c8c84, #b58a42);
}

.intro-section,
.services-section,
.alignment-section,
.industries-section {
  background: #ffffff;
}

.service-card {
  box-shadow: 0 16px 42px rgba(23, 32, 42, 0.05);
}

.service-card:hover {
  border-color: rgba(12, 140, 132, 0.35);
}
