/* =============================================================
   TK-NIGHT — V38 Stage K trust-kit. Night-sky/moon closing CTA set
   piece, ported from homepage-37-opta.html .v7-final (renamed tk-*).
   Deliberately breaks the flat single-column card rhythm as the
   memorable ending every page shares.
   ============================================================= */
.tk-night {
  background: linear-gradient(135deg, #0B2A3A 0%, #001F2E 100%);
  color: #FFFAEA;
  padding: clamp(72px, 10vw, 120px) 40px;
  text-align: center;
  position: relative; overflow: hidden;
}
.tk-night::before {
  content: ""; position: absolute; inset: 0;
  background:
    radial-gradient(circle at 20% 40%, rgba(0,181,216,.18), transparent 40%),
    radial-gradient(circle at 80% 60%, rgba(255,200,87,.12), transparent 40%);
}
.tk-night-sky { position: absolute; inset: 0; z-index: 0; pointer-events: none; overflow: hidden; }
.tk-night-moon {
  position: absolute; top: 42px; right: 10%;
  width: 72px; height: 72px; border-radius: 50%;
  background: radial-gradient(circle at 35% 35%, #FFE9B8 0%, #FFC857 45%, #E8A93A 100%);
  box-shadow: 0 0 50px rgba(255,200,87,.38), 0 0 120px rgba(255,200,87,.18);
}
.tk-night-cloud {
  position: absolute; opacity: .22;
  animation: tkNcloudDrift 55s linear infinite;
}
.tk-night-cloud svg { display: block; width: 100%; height: 100%; }
.tk-night-cloud.tk-n1 { width: 360px; height: 140px; top: 12%;  left: -8%; }
.tk-night-cloud.tk-n2 { width: 260px; height: 110px; top: 52%;  right: -6%; animation-delay: -18s; animation-duration: 48s; }
.tk-night-cloud.tk-n3 { width: 440px; height: 180px; bottom: 4%; left: 32%; animation-delay: -28s; animation-duration: 62s; opacity: .15; }
@keyframes tkNcloudDrift {
  from { transform: translateX(-4%); }
  to   { transform: translateX(110%); }
}
.tk-night-star {
  position: absolute; width: 3px; height: 3px; border-radius: 50%;
  background: #FFE9B8; opacity: .65;
  animation: tkTwinkle 3s ease-in-out infinite;
}
.tk-night-star.tk-st1 { top: 18%; left: 14%; }
.tk-night-star.tk-st2 { top: 30%; left: 26%; animation-delay: -1s; }
.tk-night-star.tk-st3 { top: 16%; left: 44%; animation-delay: -1.8s; }
.tk-night-star.tk-st4 { top: 22%; right: 30%; animation-delay: -.6s; }
.tk-night-star.tk-st5 { top: 64%; left: 8%;  animation-delay: -2.1s; }
@keyframes tkTwinkle {
  0%, 100% { transform: scale(.4); opacity: .25; }
  50%      { transform: scale(1);  opacity: 1; }
}
@media (prefers-reduced-motion: reduce) {
  .tk-night-cloud, .tk-night-star { animation: none; }
}

.tk-night-inner { position: relative; z-index: 1; max-width: 700px; margin: 0 auto; }
.tk-night-eyebrow {
  font-family: 'JetBrains Mono', monospace; font-size: 11px; letter-spacing: .22em;
  text-transform: uppercase; font-weight: 700;
  background: rgba(125,231,255,.14); color: #7DE7FF;
  display: inline-block; padding: 6px 14px; border-radius: 999px; margin-bottom: 18px;
}
.tk-night h2 {
  font-family: 'Fraunces', serif; font-weight: 500;
  font-size: clamp(38px, 6vw, 64px); line-height: 1.05; letter-spacing: -.03em;
  margin: 0 0 22px; color: #FFFAEA;
}
.tk-night h2 em { font-style: italic; color: var(--lemon); font-weight: 500; }
.tk-night-body {
  font-size: 18px; line-height: 1.55; margin: 0 auto 28px; max-width: 560px;
  color: rgba(255,255,255,.82);
}
.tk-night-ctas { display: flex; gap: 12px; justify-content: center; flex-wrap: wrap; }
.tk-night-cta-pri {
  background: var(--lemon); color: var(--ink);
  padding: 15px 28px; border-radius: 999px;
  font-family: 'Inter', sans-serif; font-weight: 600; font-size: 15px;
  border: 0; cursor: pointer; text-decoration: none;
  transition: transform .12s, background .15s;
}
.tk-night-cta-pri:hover { background: #FFE2A0; transform: translateY(-1px); }
.tk-night-foot {
  display: block; margin-top: 18px;
  font-family: 'JetBrains Mono', monospace; font-size: 11px; letter-spacing: .14em;
  text-transform: uppercase; color: rgba(255,255,255,.6);
}
