.connect-final {
  position: relative;
  overflow: hidden;
  padding: clamp(5.75rem, 9vw, 8.75rem) 0 clamp(6.75rem, 10vw, 9rem);
  color: #f4f6f3;
  background: linear-gradient(145deg, #102c3b, #071725 68%);
  scroll-margin-top: 5.2rem;
}

.connect-final__grid {
  position: absolute;
  inset: 0;
  opacity: .13;
  pointer-events: none;
  background-image: linear-gradient(rgba(255,255,255,.075) 1px, transparent 1px), linear-gradient(90deg,rgba(255,255,255,.075) 1px,transparent 1px);
  background-size: clamp(4.5rem, 7vw, 7rem) clamp(4.5rem, 7vw, 7rem);
  mask-image: linear-gradient(90deg, transparent, #000 35%, #000);
}

.connect-final__layout {
  position: relative;
  z-index: 2;
  display: grid;
  grid-template-columns: minmax(0, 1.18fr) minmax(18rem, .72fr);
  gap: clamp(3.5rem, 9vw, 9rem);
  align-items: start;
}

.connect-final .micro-label { color: #89d5ca; }

.connect-final__statement h2 {
  max-width: 10ch;
  margin-top: 1.4rem;
  font-size: clamp(3.2rem, 5.65vw, 5.7rem);
  font-weight: 500;
  line-height: .98;
  letter-spacing: -.058em;
}

.connect-final__statement > p {
  max-width: 39rem;
  margin-top: clamp(1.75rem, 3.5vw, 3rem);
  color: rgba(244,246,243,.72);
  font-size: 1.0625rem;
  line-height: 1.68;
}

.connect-final__primary {
  position: relative;
  width: min(100%, 43rem);
  min-height: 6.15rem;
  display: grid;
  grid-template-columns: minmax(0,1fr) auto;
  align-items: center;
  gap: .75rem 1.5rem;
  margin-top: clamp(2.25rem, 4vw, 3.5rem);
  padding: 1.2rem 4.25rem 1.2rem 1.4rem;
  color: #f4f6f3;
  border-top: 1px solid rgba(137,213,202,.58);
  border-bottom: 1px solid rgba(255,255,255,.16);
  text-decoration: none;
  transition: padding var(--duration-medium) var(--ease-out), background var(--duration-medium), border-color var(--duration-fast);
}

.connect-final__primary::before {
  content: "";
  position: absolute;
  left: 0;
  top: -1px;
  width: 5rem;
  height: 2px;
  background: #79cbbf;
  transition: width var(--duration-medium) var(--ease-out);
}

.connect-final__primary span {
  grid-column: 1;
  color: #89d5ca;
  font-size: .78rem;
  font-weight: 600;
  letter-spacing: .055em;
}

.connect-final__primary strong {
  grid-column: 1;
  overflow-wrap: anywhere;
  font: 500 clamp(1.05rem, 1.7vw, 1.35rem)/1.35 var(--font-display);
  letter-spacing: -.025em;
}

.connect-final__primary i {
  position: absolute;
  right: 1.5rem;
  top: 50%;
  color: #89d5ca;
  font: normal 1.35rem/1 var(--font-display);
  transform: translateY(-50%);
  transition: transform var(--duration-medium) var(--ease-out);
}

.connect-final__primary:hover,
.connect-final__primary:focus-visible { padding-left: 1.7rem; background: rgba(121,203,191,.065); border-top-color: #79cbbf; }
.connect-final__primary:hover::before,
.connect-final__primary:focus-visible::before { width: 9rem; }
.connect-final__primary:hover i,
.connect-final__primary:focus-visible i { transform: translate(2px,-50%); }

.connect-final__rail { border-top: 1px solid rgba(255,255,255,.18); }
.connect-final__routes > p,
.connect-final__context > span,
.site-footer-final p { color: #89d5ca; font-size: .8125rem; font-weight: 600; letter-spacing: .05em; }

.connect-final__routes > p { padding: 1.1rem 0; border-bottom: 1px solid rgba(255,255,255,.12); }
.connect-final__routes address { font-style: normal; }

.connect-final__routes a {
  min-height: 4.7rem;
  display: grid;
  grid-template-columns: minmax(0,1fr) auto;
  align-content: center;
  gap: .25rem 1rem;
  padding: .8rem 0;
  color: #f4f6f3;
  border-bottom: 1px solid rgba(255,255,255,.12);
  text-decoration: none;
  transition: color var(--duration-fast), padding var(--duration-medium) var(--ease-out), border-color var(--duration-fast);
}

.connect-final__routes a span { color: rgba(244,246,243,.64); font-size: .8125rem; font-weight: 600; letter-spacing: .045em; }
.connect-final__routes a strong { grid-column: 1; overflow-wrap: anywhere; font: 500 1.05rem/1.45 var(--font-display); letter-spacing: -.018em; }
.connect-final__routes a i { grid-column: 2; grid-row: 1 / span 2; align-self: center; color: rgba(137,213,202,.7); font-style: normal; transition: transform var(--duration-medium) var(--ease-out); }
.connect-final__routes a:hover,
.connect-final__routes a:focus-visible { padding-left: .4rem; color: #c9eee8; border-bottom-color: rgba(121,203,191,.55); }
.connect-final__routes a:hover i,
.connect-final__routes a:focus-visible i { transform: translate(2px,-2px); }

.connect-final__context {
  display: grid;
  grid-template-columns: 7.5rem minmax(0,1fr);
  gap: 1rem;
  margin-top: 2.5rem;
  padding-top: 1.2rem;
  border-top: 1px solid rgba(255,255,255,.14);
}

.connect-final__context p { color: rgba(244,246,243,.66); font-size: 1rem; line-height: 1.68; }

.connect-final__convergence {
  position: absolute;
  z-index: 1;
  right: -4%;
  bottom: 0;
  width: min(78rem, 88%);
  height: clamp(6rem, 12vw, 10rem);
  overflow: visible;
  pointer-events: none;
}
.connect-final__convergence path { fill: none; stroke: rgba(137,213,202,.16); stroke-width: 1; }
.connect-final__convergence .connect-final__signal { stroke: rgba(137,213,202,.44); stroke-width: 1.4; stroke-dasharray: 4 10; animation: connect-signal-flow 12s linear infinite; }
.connect-final__convergence circle { fill: #79cbbf; opacity: .72; }

.site-footer-final {
  padding: clamp(2.75rem, 4.5vw, 4rem) 0 1.5rem;
  color: #f4f6f3;
  background: #06131f;
  border-top: 1px solid rgba(255,255,255,.1);
}

.site-footer-final__main {
  display: grid;
  grid-template-columns: minmax(17rem, .8fr) minmax(0, 1.2fr);
  gap: 3rem;
  align-items: start;
}

.site-footer-final__identity a {
  min-height: 2.75rem;
  display: inline-grid;
  grid-template-columns: 2rem auto;
  align-items: center;
  gap: .7rem;
  color: #f4f6f3;
  text-decoration: none;
}

.site-footer-final__identity a span {
  width: 2rem;
  aspect-ratio: 1;
  display: grid;
  place-items: center;
  color: #89d5ca;
  border: 1px solid currentColor;
  font-size: .62rem;
  font-weight: 600;
}

.site-footer-final__identity a strong { font: 700 1rem/1 var(--font-display); letter-spacing: -.025em; }
.site-footer-final__identity > p { margin-top: 1.35rem; color: #f4f6f3; font: 600 1.15rem/1.35 var(--font-display); letter-spacing: -.025em; }
.site-footer-final__identity > small { display: block; margin-top: .45rem; color: rgba(244,246,243,.68); font-size: .875rem; }

.site-footer-final__nav > p { margin-bottom: .85rem; }
.site-footer-final__nav div { display: flex; flex-wrap: wrap; gap: .5rem 1.6rem; }
.site-footer-final__nav a { min-height: 2.75rem; display: inline-flex; align-items: center; color: rgba(244,246,243,.68); font-size: .9375rem; text-decoration: none; transition: color var(--duration-fast), transform var(--duration-fast) var(--ease-out); }
.site-footer-final__nav a:hover,
.site-footer-final__nav a:focus-visible { color: #fff; transform: translateX(2px); }

.site-footer-final__bottom {
  display: flex;
  justify-content: space-between;
  gap: 1rem;
  margin-top: 2.75rem;
  padding-top: 1.2rem;
  color: rgba(244,246,243,.5);
  border-top: 1px solid rgba(255,255,255,.1);
  font-size: .8125rem;
}

@keyframes connect-signal-flow { to { stroke-dashoffset: -56; } }

@media (max-width: 900px) {
  .connect-final__layout { grid-template-columns: 1fr; gap: 3.5rem; }
  .connect-final__statement h2 { max-width: 11ch; }
  .connect-final__rail { max-width: 42rem; }
}

@media (max-width: 640px) {
  .connect-final { padding-block: 4.75rem 6rem; }
  .connect-final__grid { opacity: .09; background-size: 4rem 4rem; }
  .connect-final__statement h2 { max-width: 100%; font-size: clamp(2.45rem, 10vw, 2.9rem); line-height: 1.04; }
  .connect-final__statement > p { font-size: 1rem; line-height: 1.65; }
  .connect-final__primary { min-height: 5.7rem; padding: 1rem 3.5rem 1rem .9rem; }
  .connect-final__primary:hover,
  .connect-final__primary:focus-visible { padding-left: 1.1rem; }
  .connect-final__context { grid-template-columns: 1fr; gap: .65rem; }
  .site-footer-final__main { grid-template-columns: 1fr; gap: 2.4rem; }
  .site-footer-final__nav div { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 0 1rem; }
  .site-footer-final__nav a { min-height: 2.75rem; }
  .site-footer-final__bottom { display: block; }
}

@media (prefers-reduced-motion: reduce) {
  .connect-final__signal { animation: none !important; }
}
