/* Final call-to-action: a bold, focused invitation to start a conversation. */
.closing--next {
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, 1.1fr) minmax(340px, .9fr);
  align-items: center;
  gap: clamp(2.5rem, 8vw, 9rem);
  isolation: isolate;
  overflow: hidden;
  margin: clamp(3rem, 7vw, 7rem) 3vw 0;
  padding: clamp(3.2rem, 7vw, 7rem);
  border: 1px solid rgba(166, 214, 255, .32);
  border-radius: 30px;
  background:
    radial-gradient(circle at 82% 50%, rgba(64, 158, 255, .48), transparent 16rem),
    radial-gradient(circle at 15% 100%, rgba(29, 196, 142, .16), transparent 18rem),
    linear-gradient(132deg, #061a45 0%, #0a4eb5 55%, #126cf0 100%) !important;
  box-shadow: 0 30px 65px rgba(6, 59, 139, .24);
  color: #fff;
}

.closing--next::before {
  position: absolute;
  inset: 0;
  z-index: -1;
  opacity: .35;
  background-image: linear-gradient(rgba(255, 255, 255, .12) 1px, transparent 1px), linear-gradient(90deg, rgba(255, 255, 255, .12) 1px, transparent 1px);
  background-size: 46px 46px;
  mask-image: linear-gradient(90deg, #000, transparent 72%);
  content: "";
}

.closing--next .section-label {
  display: flex;
  align-items: center;
  gap: .75rem;
  color: #c6e5ff;
  font: 800 .68rem "DM Mono", monospace;
  letter-spacing: .14em;
}

.closing--next .section-label::after {
  display: block;
  width: 4.25rem;
  height: 2px;
  background: currentColor;
  content: "";
}

.closing--next h2 {
  max-width: 9.5ch;
  margin: 1.2rem 0 0;
  color: #fff;
  font-size: clamp(3.35rem, 6.5vw, 7.2rem);
  line-height: .86;
  letter-spacing: -.095em;
}

.closing--next h2 em {
  color: #ffe36b;
  font-family: Manrope, Arial, sans-serif;
  font-style: normal;
}

.closing--next p {
  max-width: 36rem;
  margin: 1.6rem 0 0;
  color: rgba(255, 255, 255, .8);
  font-size: 1rem;
  line-height: 1.75;
}

.closing--next .closing-actions {
  gap: 1rem;
  margin-top: 2rem;
}

.closing-primary {
  padding: 1rem 1.3rem;
  background: #fff;
  color: #0b4fae;
  box-shadow: 0 14px 30px rgba(1, 29, 86, .25);
}

.closing-primary:hover {
  background: #ffe36b;
  color: #092e6f;
}

.closing-call {
  display: inline-flex;
  align-items: center;
  gap: .6rem;
  padding: .9rem 1.1rem;
  border: 1px solid rgba(255, 255, 255, .48);
  border-radius: 999px;
  color: #fff;
  font-size: .82rem;
  font-weight: 800;
  text-decoration: none;
  transition: background .25s ease, border-color .25s ease, transform .25s ease;
}

.closing-call:hover {
  border-color: #fff;
  background: rgba(255, 255, 255, .14);
  transform: translateY(-3px);
}

.closing-call span {
  color: #ffe36b;
  font-size: 1.1rem;
}

.closing-availability {
  display: inline-flex;
  align-items: center;
  gap: .5rem;
  margin-top: 1.35rem;
  color: #cce8ff;
  font: 700 .66rem "DM Mono", monospace;
  letter-spacing: .06em;
  text-transform: uppercase;
}

.closing-availability i {
  width: .55rem;
  height: .55rem;
  border-radius: 50%;
  background: #2bda9c;
  box-shadow: 0 0 0 5px rgba(43, 218, 156, .15);
  animation: closing-status 2.2s ease-in-out infinite;
}

.closing-visual {
  position: relative;
  min-height: 430px;
  overflow: hidden;
  border: 1px solid rgba(255, 255, 255, .24);
  border-radius: 24px;
  background: radial-gradient(circle at 50% 50%, rgba(87, 180, 255, .32), transparent 27%), rgba(3, 29, 88, .34);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .18), 0 22px 42px rgba(2, 23, 71, .2);
}

.closing-visual::before {
  position: absolute;
  inset: 0;
  opacity: .26;
  background-image: linear-gradient(rgba(255, 255, 255, .18) 1px, transparent 1px), linear-gradient(90deg, rgba(255, 255, 255, .18) 1px, transparent 1px);
  background-size: 34px 34px;
  content: "";
}

.closing-visual__eyebrow {
  position: absolute;
  top: 1.2rem;
  left: 1.25rem;
  color: #d8edff;
  font: 800 .57rem "DM Mono", monospace;
  letter-spacing: .12em;
}

.closing-rings,
.closing-rings i,
.closing-core {
  position: absolute;
  top: 50%;
  left: 50%;
  border-radius: 50%;
}

.closing-rings {
  width: 15.75rem;
  aspect-ratio: 1;
  border: 1px dashed rgba(182, 224, 255, .7);
  transform: translate(-50%, -50%);
  animation: closing-orbit 24s linear infinite;
}

.closing-rings i {
  width: 67%;
  aspect-ratio: 1;
  border: 1px solid rgba(193, 229, 255, .48);
  transform: translate(-50%, -50%);
}

.closing-rings i:nth-child(2) {
  width: 128%;
  border-color: rgba(193, 229, 255, .25);
}

.closing-rings i:nth-child(3) {
  top: 0;
  width: .75rem;
  height: .75rem;
  border: 2px solid #fff;
  background: #ffe36b;
  box-shadow: 0 0 0 6px rgba(255, 227, 107, .13), 0 0 20px rgba(255, 227, 107, .9);
}

.closing-core {
  z-index: 2;
  display: grid;
  width: 7.8rem;
  height: 7.8rem;
  place-items: center;
  border: 1px solid rgba(255, 255, 255, .75);
  background: linear-gradient(145deg, #3291ff, #0d55cf);
  box-shadow: 0 0 0 14px rgba(112, 187, 255, .13), 0 0 48px rgba(114, 194, 255, .65);
  color: #fff;
  font: 800 1.2rem/.84 Manrope, Arial, sans-serif;
  letter-spacing: -.08em;
  text-align: center;
  transform: translate(-50%, -50%);
  animation: closing-core 4s ease-in-out infinite;
}

.closing-tag {
  position: absolute;
  z-index: 3;
  padding: .65rem .75rem;
  border: 1px solid rgba(255, 255, 255, .36);
  border-radius: .8rem;
  background: rgba(255, 255, 255, .14);
  box-shadow: 0 10px 20px rgba(0, 17, 67, .16);
  color: #fff;
  font: 800 .6rem "DM Mono", monospace;
  letter-spacing: .08em;
  backdrop-filter: blur(8px);
}

.closing-tag--search { top: 26%; right: 8%; animation: closing-float 5s ease-in-out infinite; }
.closing-tag--convert { bottom: 17%; left: 8%; animation: closing-float 5.6s ease-in-out -1.4s infinite; }
.closing-tag--grow { right: 9%; bottom: 8%; animation: closing-float 5.2s ease-in-out -.7s infinite; }
.closing-spark { position: absolute; z-index: 3; color: #ffe36b; font-size: 1.35rem; }
.closing-spark--one { top: 27%; left: 18%; animation: closing-spark 2.8s ease-in-out infinite; }
.closing-spark--two { right: 24%; top: 58%; font-size: .8rem; animation: closing-spark 2.8s ease-in-out -1.2s infinite; }

@keyframes closing-orbit { to { transform: translate(-50%, -50%) rotate(360deg); } }
@keyframes closing-core { 50% { box-shadow: 0 0 0 20px rgba(112, 187, 255, .1), 0 0 55px rgba(114, 194, 255, .85); } }
@keyframes closing-float { 50% { transform: translateY(-10px); } }
@keyframes closing-spark { 50% { transform: scale(1.5) rotate(30deg); opacity: .55; } }
@keyframes closing-status { 50% { box-shadow: 0 0 0 8px rgba(43, 218, 156, .06), 0 0 16px #2bda9c; } }

@media (max-width: 850px) {
  .closing--next { grid-template-columns: 1fr; }
  .closing-visual { min-height: 370px; max-width: 40rem; }
}

@media (max-width: 700px) {
  .closing--next { margin: 2.5rem 1rem 0; padding: 3.2rem 1.3rem; border-radius: 22px; }
  .closing--next h2 { font-size: clamp(3.1rem, 14vw, 4.8rem); }
  .closing--next p { font-size: .94rem; }
  .closing--next .closing-actions { display: flex; gap: .8rem; }
  .closing-primary, .closing-call { justify-content: center; }
  .closing-visual { min-height: 330px; border-radius: 18px; }
  .closing-rings { width: 12.5rem; }
  .closing-core { width: 6.3rem; height: 6.3rem; font-size: 1rem; }
  .closing-tag { padding: .55rem .6rem; font-size: .5rem; }
  .closing-tag--search { top: 22%; right: 5%; }
  .closing-tag--convert { bottom: 13%; left: 5%; }
  .closing-tag--grow { right: 6%; bottom: 7%; }
}

@media (prefers-reduced-motion: reduce) {
  .closing-rings, .closing-core, .closing-tag, .closing-spark, .closing-availability i { animation: none; }
  .closing-call:hover { transform: none; }
}
