/*
 * Seylac Public CTA + Homepage Title Unity V1
 * Public marketing surfaces only. Dashboard/admin styles are not loaded here.
 */

:root {
  --sy-unity-blue: #124e96;
  --sy-unity-blue-hover: #0e427f;
  --sy-unity-focus: #ffc247;
}

/* One visual contract for every public call-to-action. */
html body header.seylac-production-nav .nav-cta,
html body .seylac-info-nav .seylac-info-cta,
html body .mobile-panel .mobile-cta,
html body a.btn,
html body button.btn,
html body .shv-button {
  background: var(--sy-unity-blue) !important;
  background-image: none !important;
  border-color: var(--sy-unity-blue) !important;
  color: #fff !important;
  text-decoration: none !important;
}

html body .seylac-info-nav .seylac-info-cta {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-height: 46px !important;
  padding: 0 20px !important;
  border: 1px solid var(--sy-unity-blue) !important;
  border-radius: 4px !important;
  font-weight: 750 !important;
  letter-spacing: -.01em !important;
  white-space: nowrap !important;
}

html body header.seylac-production-nav .nav-cta:hover,
html body header.seylac-production-nav .nav-cta:focus-visible,
html body .seylac-info-nav .seylac-info-cta:hover,
html body .seylac-info-nav .seylac-info-cta:focus-visible,
html body .mobile-panel .mobile-cta:hover,
html body .mobile-panel .mobile-cta:focus-visible,
html body a.btn:hover,
html body a.btn:focus-visible,
html body button.btn:hover,
html body button.btn:focus-visible,
html body .shv-button:hover,
html body .shv-button:focus-visible {
  background: var(--sy-unity-blue-hover) !important;
  background-image: none !important;
  border-color: var(--sy-unity-blue-hover) !important;
  color: #fff !important;
}

/* Homepage hero exception requested for contrast: both CTAs are white. */
html body .shv-hero .shv-actions .shv-button,
html body .shv-hero .shv-actions .shv-button:visited {
  background: #fff !important;
  background-image: none !important;
  border-color: #fff !important;
  color: var(--sy-unity-blue) !important;
  box-shadow: 0 12px 30px rgba(3, 24, 51, .22) !important;
}

html body .shv-hero .shv-actions .shv-button:hover,
html body .shv-hero .shv-actions .shv-button:focus-visible {
  background: #edf5ff !important;
  background-image: none !important;
  border-color: #edf5ff !important;
  color: var(--sy-unity-blue-hover) !important;
}

html body header.seylac-production-nav .nav-cta:focus-visible,
html body .seylac-info-nav .seylac-info-cta:focus-visible,
html body .mobile-panel .mobile-cta:focus-visible,
html body a.btn:focus-visible,
html body button.btn:focus-visible,
html body .shv-button:focus-visible {
  outline: 3px solid var(--sy-unity-focus) !important;
  outline-offset: 3px !important;
}

/* Keep blue CTAs readable when they sit on a blue marketing panel. */
html body :is(.shv-hero, .features-hero, .solutions-hero, .mp-hero, .cta-box, .features-cta, .solutions-cta) :is(.btn, .shv-button) {
  box-shadow: 0 10px 28px rgba(3, 24, 51, .24) !important;
}

/* Explicit <br> elements remain the only line breaks in these titles. */
html body :is(
  #sx-feature-intro-title,
  #s4-story-value-title,
  #sx-feature-mobile-title,
  #s4-story-forward-title
) {
  white-space: nowrap !important;
  text-wrap: nowrap !important;
}

@media (max-width: 680px) {
  html body :is(
    #sx-feature-intro-title,
    #s4-story-value-title,
    #sx-feature-mobile-title,
    #s4-story-forward-title
  ) {
    font-size: clamp(1.75rem, 8.25vw, 2.75rem) !important;
    line-height: 1.02 !important;
    letter-spacing: -.045em !important;
  }
}

@media (prefers-reduced-motion: reduce) {
  html body header.seylac-production-nav .nav-cta,
  html body .seylac-info-nav .seylac-info-cta,
  html body .mobile-panel .mobile-cta,
  html body :is(.btn, .shv-button) {
    transition: none !important;
  }
}
