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

.connect-final__grid {
  position: absolute;
  inset: 0;
  opacity: .16;
  pointer-events: none;
  background-image: linear-gradient(rgba(255,255,255,.08) 1px, transparent 1px), linear-gradient(90deg,rgba(255,255,255,.08) 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.25fr) minmax(19rem, .75fr); gap: clamp(4rem, 10vw, 11rem); align-items: start; }
.connect-final .micro-label { color: #89d5ca; }
.connect-final__statement h2 { max-width: 9ch; margin-top: 1.4rem; font-size: clamp(3.4rem, 6.6vw, 6.8rem); font-weight: 500; line-height: .96; letter-spacing: -.06em; }
.connect-final__statement > p { max-width: 39rem; color: rgba(244,246,243,.7); font-size: var(--text-body-lg); line-height: 1.72; }
.connect-final__statement h2 + p { margin-top: clamp(2rem, 4vw, 3.5rem); }
.connect-final__statement > p + p { margin-top: 1rem; }

.connect-final__primary { position: relative; width: min(100%, 43rem); min-height: 7rem; display: grid; grid-template-columns: minmax(0,1fr) auto; align-items: center; gap: .75rem 1.5rem; margin-top: clamp(2.75rem, 5vw, 4.5rem); padding: 1.3rem 4.5rem 1.3rem 1.5rem; 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: .6rem; font-weight: 600; letter-spacing: .08em; }
.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.75rem; 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__useful > p,.connect-final__context > span,.site-footer-final p { color: #89d5ca; font-size: .57rem; font-weight: 600; letter-spacing: .075em; }
.connect-final__routes > p { padding: 1.2rem 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,.4); font-size: .52rem; font-weight: 600; letter-spacing: .07em; }
.connect-final__routes a strong { grid-column: 1; overflow-wrap: anywhere; font: 500 .9rem/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: .45rem; 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(3px,-2px); }
.connect-final__route-secondary { opacity: .76; }

.connect-final__useful { margin-top: 3.25rem; }
.connect-final__useful ol { margin: 1.1rem 0 0; padding: 0; list-style: none; }
.connect-final__useful li { display: grid; grid-template-columns: 1.6rem minmax(0,1fr); gap: .65rem; padding: .6rem 0; color: rgba(244,246,243,.66); border-bottom: 1px solid rgba(255,255,255,.09); font-size: .78rem; }
.connect-final__useful li span { color: rgba(137,213,202,.65); font-size: .55rem; font-weight: 600; }
.connect-final__context { display: grid; grid-template-columns: 7.5rem minmax(0,1fr); gap: 1rem; margin-top: 3rem; padding-top: 1.2rem; border-top: 1px solid rgba(255,255,255,.14); }
.connect-final__context p { color: rgba(244,246,243,.62); font-size: .75rem; line-height: 1.75; }

.connect-final__convergence { position: absolute; z-index: 1; right: -4%; bottom: 0; width: min(78rem, 88vw); height: clamp(8rem, 16vw, 14rem); pointer-events: none; }
.connect-final__convergence path { fill: none; stroke: rgba(255,255,255,.09); stroke-width: 1; vector-effect: non-scaling-stroke; }
.connect-final__convergence circle { fill: #79cbbf; opacity: .72; }
.connect-final__convergence .connect-final__signal { stroke: rgba(121,203,191,.7); stroke-width: 2; stroke-dasharray: 5 34; animation: connect-signal-flow 9s linear infinite; }
@keyframes connect-signal-flow { to { stroke-dashoffset: -390; } }

.site-footer-final { color: rgba(244,246,243,.68); background: #05131f; border-top: 1px solid rgba(255,255,255,.1); }
.site-footer-final__main { display: grid; grid-template-columns: minmax(15rem,1.15fr) minmax(20rem,1fr) minmax(9rem,.45fr); gap: 3rem clamp(3rem,7vw,8rem); padding-block: clamp(3.5rem,6vw,5.5rem); }
.site-footer-final__identity > a { display: grid; grid-template-columns: 2.25rem minmax(0,1fr); align-items: center; gap: .75rem; color: #f4f6f3; text-decoration: none; }
.site-footer-final__identity > a span { width: 2.25rem; aspect-ratio: 1; display: grid; place-items: center; color: #89d5ca; border: 1px solid currentColor; font-size: .54rem; font-weight: 600; }
.site-footer-final__identity > a strong { font: 600 .82rem/1 var(--font-display); letter-spacing: -.02em; }
.site-footer-final__identity p { margin-top: 1.35rem; color: #89d5ca; }
.site-footer-final__identity small { display: block; max-width: 27ch; margin-top: .55rem; color: rgba(244,246,243,.52); font-size: .7rem; line-height: 1.55; }
.site-footer-final__nav > div { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: .35rem 1.5rem; margin-top: 1.1rem; }
.site-footer-final__nav a,.site-footer-final__direct a { min-height: 2rem; display: inline-flex; align-items: center; color: rgba(244,246,243,.62); font-size: .75rem; text-decoration: none; transition: color var(--duration-fast), transform var(--duration-fast); }
.site-footer-final__nav a:hover,.site-footer-final__nav a:focus-visible,.site-footer-final__direct a:hover,.site-footer-final__direct a:focus-visible { color: #fff; transform: translateX(2px); }
.site-footer-final__direct { display: flex; flex-direction: column; align-items: flex-start; }
.site-footer-final__direct p { margin-bottom: 1.1rem; }
.site-footer-final__direct a span { margin-left: .35rem; color: #89d5ca; }
.site-footer-final__bottom { min-height: 4.5rem; display: flex; align-items: center; justify-content: space-between; gap: 1rem 2rem; padding-block: 1rem; border-top: 1px solid rgba(255,255,255,.09); color: rgba(244,246,243,.4); font-size: .61rem; letter-spacing: .04em; }
.site-footer-final__bottom a { color: inherit; text-decoration: none; }
.site-footer-final__bottom a:hover,.site-footer-final__bottom a:focus-visible { color: #fff; }

@media (max-width: 900px) {
  .connect-final__layout { grid-template-columns: minmax(0,1.15fr) minmax(17rem,.85fr); gap: 4rem; }
  .site-footer-final__main { grid-template-columns: 1fr 1fr; }
  .site-footer-final__direct { grid-column: 2; }
}

@media (max-width: 760px) {
  .connect-final { padding-block: 5.5rem 10.5rem; }
  .connect-final__grid { opacity: .09; background-size: 4rem 4rem; }
  .connect-final__layout { grid-template-columns: 1fr; gap: 4.5rem; }
  .connect-final__statement h2 { max-width: 10ch; font-size: clamp(3rem,13vw,4.1rem); line-height: .97; }
  .connect-final__statement > p { font-size: .97rem; line-height: 1.67; }
  .connect-final__primary { min-height: 6.5rem; padding-left: 1rem; }
  .connect-final__primary:hover,.connect-final__primary:focus-visible { padding-left: 1.2rem; }
  .connect-final__context { grid-template-columns: 1fr; gap: .6rem; }
  .connect-final__convergence { right: -18%; width: 125%; height: 8rem; }
  .site-footer-final__main { grid-template-columns: 1fr; gap: 2.75rem; padding-block: 3.5rem; }
  .site-footer-final__direct { grid-column: auto; }
  .site-footer-final__nav > div { gap-y: .45rem; }
  .site-footer-final__nav a,.site-footer-final__direct a { min-height: 2.75rem; }
  .site-footer-final__bottom { align-items: flex-start; flex-direction: column; padding-block: 1.4rem; }
}

@media (prefers-reduced-motion: reduce) {
  .connect-final__primary,.connect-final__primary::before,.connect-final__primary i,.connect-final__routes a,.connect-final__routes a i,.site-footer-final a { transition: none; }
  .connect-final__convergence .connect-final__signal { animation: none; }
}
