/* Technical closing frame: a quiet continuation of the site's naval navigation system. */
.contact{
  isolation:isolate;
  min-height:700px;
  background:
    radial-gradient(circle at 78% 46%,rgba(45,133,182,.18) 0,rgba(24,75,110,.08) 22%,transparent 45%),
    linear-gradient(115deg,#030c16 0%,#071827 48%,#06131f 100%);
}
.contact>img{display:none}
.contact:before{
  content:"";
  position:absolute;
  z-index:0;
  inset:0;
  pointer-events:none;
  background-image:
    linear-gradient(rgba(137,188,216,.08) 1px,transparent 1px),
    linear-gradient(90deg,rgba(137,188,216,.08) 1px,transparent 1px);
  background-size:25vw 25vw;
  mask-image:linear-gradient(90deg,rgba(0,0,0,.55),#000 72%,transparent);
}
.contact:after{
  content:"";
  position:absolute;
  z-index:0;
  width:min(68vw,900px);
  aspect-ratio:1;
  right:-12vw;
  top:50%;
  transform:translateY(-50%);
  border:1px solid rgba(126,192,224,.24);
  border-radius:50%;
  background:
    repeating-radial-gradient(circle,transparent 0 13.8%,rgba(116,190,226,.16) 14%,transparent 14.25%),
    repeating-conic-gradient(from 0deg,transparent 0 44.85deg,rgba(111,187,222,.12) 45deg,transparent 45.15deg 90deg);
  box-shadow:0 0 90px rgba(43,139,189,.08),inset 0 0 90px rgba(43,139,189,.055);
  animation:contactRadarDrift 28s linear infinite;
  pointer-events:none;
}
.contact-shade{
  z-index:1;
  background:
    linear-gradient(90deg,rgba(3,12,22,.98) 0%,rgba(4,16,28,.88) 47%,rgba(4,17,29,.38) 78%,rgba(4,17,29,.68) 100%),
    linear-gradient(0deg,rgba(2,9,16,.7),transparent 45%);
}
.contact-content{
  z-index:2;
  max-width:960px;
}
.contact h2{
  max-width:1100px;
  font-size:clamp(3rem,4.45vw,5.2rem);
  line-height:.96;
  letter-spacing:-.04em;
  white-space:nowrap;
}
.contact-content>p:not(.eyebrow){max-width:560px}
@keyframes contactRadarDrift{
  to{transform:translateY(-50%) rotate(360deg)}
}
@media(max-width:900px){
  .contact{min-height:650px}
  .contact:after{width:min(104vw,700px);right:-48vw;opacity:.72}
  .contact h2{font-size:clamp(2.7rem,7.8vw,4.35rem);line-height:.98}
}
@media(max-width:700px){
  .contact{min-height:620px}
  .contact:before{background-size:50vw 50vw}
  .contact:after{width:125vw;right:-72vw;opacity:.55}
  .contact h2{font-size:clamp(2.15rem,8.6vw,3.55rem);line-height:1}
}
@media(prefers-reduced-motion:reduce){.contact:after{animation:none}}
