/* Independent-evaluator corrections: spacing, contrast, hierarchy, and responsive composition. */
:root {
  --ry-gutter: clamp(24px, 4.45vw, 72px);
  --ry-section: clamp(96px, 8vw, 128px);
}

.et_pb_section:not(.ry-hero):not(.ry-page-hero) {
  padding-top: var(--ry-section) !important;
  padding-bottom: var(--ry-section) !important;
}
.ry-hero,
.ry-page-hero {
  padding-top: clamp(104px, 8vw, 132px) !important;
  padding-bottom: clamp(104px, 8vw, 132px) !important;
}
.ry-intro-row {
  width: min(calc(100% - (var(--ry-gutter) * 2)), 1020px) !important;
  margin-right: auto !important;
  margin-left: auto !important;
}

.ry-hero h1 {
  max-width: 13ch;
  font-size: clamp(64px, 5.6vw, 92px);
}

.et_pb_button.ry-button,
.ry-button.et_pb_button {
  background: #045640 !important;
  border-color: #045640 !important;
}
.et_pb_button.ry-button:hover {
  background: #101c42 !important;
  border-color: #101c42 !important;
}
.ry-footer address a,
.ry-footer p a,
.ry-footer__bottom a,
.ry-footer nav a {
  color: #ffffff !important;
}
.ry-footer address a:hover,
.ry-footer p a:hover,
.ry-footer nav a:hover {
  color: #d5cfa7 !important;
}

@media (min-width: 981px) {
  .ry-signal-grid,
  .ry-service-grid {
    display: flex;
    align-items: stretch;
    gap: 22px;
  }
  .ry-signal-grid > .et_pb_column,
  .ry-service-grid > .et_pb_column {
    margin-right: 0 !important;
  }
  .ry-signal-grid > .et_pb_column:first-child,
  .ry-service-grid > .et_pb_column:first-child {
    width: 40% !important;
  }
  .ry-signal-grid > .et_pb_column:nth-child(2),
  .ry-signal-grid > .et_pb_column:nth-child(3),
  .ry-service-grid > .et_pb_column:nth-child(2),
  .ry-service-grid > .et_pb_column:nth-child(3) {
    width: calc(30% - 11px) !important;
  }
  .ry-signal-grid > .et_pb_column:first-child .ry-card,
  .ry-service-grid > .et_pb_column:first-child .ry-service-card {
    color: #fff;
    background: #101c42;
    border-color: #101c42;
  }
  .ry-signal-grid > .et_pb_column:first-child h3,
  .ry-service-grid > .et_pb_column:first-child h3 {
    color: #fff;
  }
  .ry-signal-grid > .et_pb_column:first-child p,
  .ry-service-grid > .et_pb_column:first-child p {
    color: #dfe6f5;
  }
  .ry-service-grid > .et_pb_column:first-child a,
  .ry-signal-grid > .et_pb_column:first-child .ry-index {
    color: #d5cfa7;
  }
}

@media (min-width: 768px) and (max-width: 980px) {
  .ry-hero h1 {
    max-width: 14ch;
    font-size: clamp(60px, 8vw, 72px);
  }
}

@media (max-width: 767px) {
  :root {
    --ry-gutter: 24px;
    --ry-section: 96px;
  }
  .ry-hero,
  .ry-page-hero {
    padding-top: 96px !important;
    padding-bottom: 96px !important;
  }
  .ry-hero h1 {
    max-width: none;
    font-size: clamp(48px, 13.5vw, 64px);
  }
}

