/* A closing statement for the homepage, using the shared final CTA component. */
.final-cta--home {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  padding: clamp(4rem, 7vw, 7rem) 1.5rem;
  color: #fff;
  background: var(--color-brand-navy, #0e2238);
}
.final-cta--home .final-cta__inner {
  overflow: visible;
  width: min(100%, 80rem);
  padding: 0;
  grid-template-columns: minmax(0, 1.35fr) minmax(0, .8fr);
  gap: clamp(2.5rem, 6vw, 6rem);
  border: 0;
  border-radius: 0;
  background: none;
  box-shadow: none;
}
.final-cta--home .final-cta__inner::before,
.final-cta--home .final-cta__inner::after { content: none; }
.final-cta--home .eyebrow { margin: 0 0 1.5rem; color: #67d8ed; letter-spacing: .11em; }
.final-cta--home h2 {
  max-width: 17ch;
  margin: 0;
  font-family: var(--font-family-sans);
  font-size: clamp(3rem, 5.7vw, 5.4rem);
  font-weight: 800;
  line-height: 1.02;
  letter-spacing: -.05em;
  text-wrap: balance;
}
.final-cta--home h2 span { display: block; margin-top: .18em; color: #67d8ed; }
.final-cta--home .final-cta__action {
  min-width: 0;
  padding: 0;
  border: 0;
  border-radius: 0;
  color: #fff;
  background: none;
  box-shadow: none;
  backdrop-filter: none;
}
.final-cta--home .final-cta__action > p { margin: 0 0 2rem; color: #dce8f0; font-size: 1.12rem; line-height: 1.65; }
.final-cta--home .button,
.final-cta--home .button:visited {
  display: inline-flex;
  min-height: 3.75rem;
  max-width: 100%;
  align-items: center;
  justify-content: center;
  gap: 1.25rem;
  padding: 1rem 1.5rem;
  border: 2px solid transparent;
  color: #0e2238 !important;
  background: var(--color-brand-orange, #ed672a);
  text-align: center;
  text-decoration: none;
  font-weight: 800;
  transition: background 180ms ease, transform 180ms ease;
}
.final-cta--home .button span { font-size: 1.4rem; }
.final-cta--home .button:hover { color: #0e2238 !important; background: #fff; transform: translateY(-3px); }
.final-cta--home .button:focus-visible { outline: 3px solid #fff; outline-offset: 5px; }
.final-cta--home .final-cta__action > .final-cta__detail { max-width: 34ch; margin: 1.25rem 0 0; color: #bed3e1; font-size: .875rem; line-height: 1.5; }
.final-cta__connection { position: absolute; z-index: -1; left: 0; bottom: -2rem; width: 100%; height: auto; min-height: 20rem; pointer-events: none; }
.final-cta__connection-path { stroke: var(--color-brand-cyan); stroke-width: 2; opacity: .3; }
.final-cta__connection-tip { stroke: var(--color-brand-orange); stroke-width: 3; opacity: .85; }
.final-cta--home.is-contact-visible .final-cta__connection-path { animation: home-contact-route 1.25s ease-out both; }
@keyframes home-contact-route { from { stroke-dasharray: 1; stroke-dashoffset: 1; } to { stroke-dasharray: 1; stroke-dashoffset: 0; } }
@media (max-width: 64rem) {
  .final-cta--home h2 { font-size: clamp(2.8rem, 5.8vw, 4rem); }
  .final-cta--home .final-cta__inner { grid-template-columns: minmax(0, 1.15fr) minmax(0, .85fr); gap: 2rem; }
}
@media (max-width: 48rem) {
  .final-cta--home { padding: 3.5rem 1.5rem 4.5rem; }
  .final-cta--home .final-cta__inner { grid-template-columns: minmax(0, 1fr); gap: 2rem; }
  .final-cta--home h2 { max-width: 19ch; font-size: clamp(2.45rem, 10.5vw, 3.5rem); }
  .final-cta--home .final-cta__action > p { margin-bottom: 1.5rem; font-size: 1rem; }
  .final-cta--home .button { width: 100%; gap: .75rem; padding-inline: 1rem; }
  .final-cta__connection { left: -12%; bottom: -1rem; width: 125%; min-height: 0; }
}
@media (prefers-reduced-motion: reduce) {
  .final-cta--home .button { transition: none; transform: none; }
  .final-cta--home.is-contact-visible .final-cta__connection-path { animation: none; }
}
