/* Vontrail polish: page grid, super-interactive stat cards, liquid-glass top bar */

/* ============ PAGE GRID ============ */
#top {
  background-image:
    linear-gradient(rgba(15, 23, 42, 0.045) 1px, transparent 1px),
    linear-gradient(90deg, rgba(15, 23, 42, 0.045) 1px, transparent 1px);
  background-size: 76px 76px;
}

/* ============ STAT CARDS: super interactive ============ */
@media (min-width: 1024px) {
  .vt-stat-card {
    transition: box-shadow 0.45s ease, border-color 0.45s ease, background-color 0.45s ease !important;
    transform-style: preserve-3d;
    will-change: transform;
    overflow: hidden;
  }
  .vt-stat-card.vt-live {
    border-color: rgba(37, 99, 235, 0.35) !important;
    box-shadow: 0 48px 100px -18px rgba(15, 23, 42, 0.28), 0 8px 22px rgba(37, 99, 235, 0.12) !important;
    z-index: 6;
  }
  .vt-card-glare {
    position: absolute;
    inset: 0;
    border-radius: inherit;
    pointer-events: none;
    background: radial-gradient(240px circle at var(--mx, 50%) var(--my, 50%), rgba(37, 99, 235, 0.12), rgba(37, 99, 235, 0.04) 45%, transparent 65%);
    opacity: 0;
    transition: opacity 0.35s ease;
  }
  .vt-stat-card.vt-live .vt-card-glare { opacity: 1; }

  .vt-bars span {
    transform-origin: 50% 100%;
    transition: transform 0.5s cubic-bezier(0.34, 1.56, 0.64, 1);
  }
  .vt-stat-card.vt-live .vt-bars span { animation: vtBarDance 1.1s ease-in-out infinite; }
  .vt-stat-card.vt-live .vt-bars span:nth-child(2) { animation-delay: 0.09s; }
  .vt-stat-card.vt-live .vt-bars span:nth-child(3) { animation-delay: 0.18s; }
  .vt-stat-card.vt-live .vt-bars span:nth-child(4) { animation-delay: 0.27s; }
  .vt-stat-card.vt-live .vt-bars span:nth-child(5) { animation-delay: 0.36s; }
  .vt-stat-card.vt-live .vt-bars span:nth-child(6) { animation-delay: 0.45s; }
  .vt-stat-card.vt-live .vt-bars span:nth-child(7) { animation-delay: 0.54s; }
  @keyframes vtBarDance {
    0%, 100% { transform: scaleY(1.08); }
    50% { transform: scaleY(1.52); }
  }

  .vt-spark {
    transform-origin: 50% 100%;
    transition: transform 0.6s cubic-bezier(0.34, 1.56, 0.64, 1);
  }
  .vt-spark path[stroke] { transition: stroke-dashoffset 0.8s cubic-bezier(0.65, 0, 0.35, 1); }
  .vt-stat-card.vt-live .vt-spark { animation: vtSparkLift 1.3s ease-in-out infinite alternate; }
  @keyframes vtSparkLift {
    from { transform: translateY(0) scaleY(1); }
    to { transform: translateY(-2px) scaleY(1.14); }
  }
}

@media (prefers-reduced-motion: reduce) {
  .vt-stat-card.vt-live .vt-bars span,
  .vt-stat-card.vt-live .vt-spark { animation: none; }
}

/* ============ HERO HEADLINE: bigger + bolder ============ */
[data-testid="hero-headline"] {
  font-weight: 800 !important;
  font-size: clamp(2.75rem, 4.2vw + 1.5rem, 5.5rem) !important;
  line-height: 1.04 !important;
}

/* ============ Locked service cards (Funnels, Landing Pages, DM Closing, Booked Calls) ============ */
.vt-locked-num {
  color: rgba(37, 99, 235, 0.28);
}
.vt-locked-num-active {
  color: #2563eb;
}
.vt-locked-badge {
  margin-top: 1rem;
  display: inline-block;
  border-radius: 9999px;
  padding: 0.25rem 0.75rem;
  font-size: 11px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  background: rgba(37, 99, 235, 0.08);
  color: #2563eb;
  transition: background-color 0.4s ease, color 0.4s ease, box-shadow 0.4s ease;
}
.vt-locked-badge-active {
  background: #2563eb;
  color: #ffffff;
  box-shadow: 0 6px 18px rgba(37, 99, 235, 0.35);
}

.vt-locked-dot-active {
  background: #2563eb !important;
}
.vt-locked-icon-active {
  background: #2563eb;
  border-color: #2563eb;
  color: #ffffff;
}

/* ============ TOP BAR: restore frosted glass blur ============ */
header .glass {
  backdrop-filter: blur(20px) saturate(180%) !important;
  -webkit-backdrop-filter: blur(20px) saturate(180%) !important;
}

/* ============ Roboto: top bar + chat widget ============ */
@font-face {
  font-family: "Roboto";
  src: url("/fonts/Roboto-Regular.woff2") format("woff2");
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}

header,
#vt-chat-root {
  font-family: "Roboto", -apple-system, BlinkMacSystemFont, sans-serif !important;
}

/* ============ CTA HEADLINE: bigger + bolder ============ */
[data-testid="cta-headline"] {
  font-weight: 800 !important;
  font-size: clamp(2.5rem, 3.6vw + 1.6rem, 4.75rem) !important;
  line-height: 1.05 !important;
}

/* ============ CTA BUTTON: bold big text ============ */
[data-testid="cta-talk-button"] {
  font-weight: 800 !important;
  font-size: clamp(1.05rem, 1.1vw + 0.85rem, 1.5rem) !important;
}

/* ============ Sales letter card (chapter-01-alone) ============ */
.vt-letter-card {
  position: relative;
  overflow: hidden;
  border-radius: 28px;
  background: #f2f2f4;
  padding: 2.5rem 1.75rem;
}
@media (min-width: 640px) {
  .vt-letter-card { padding: 3.5rem 3rem; }
}
.vt-letter-ribbon-1 {
  pointer-events: none;
  position: absolute;
  top: -2rem;
  left: -5rem;
  height: 7rem;
  width: 18rem;
  transform: rotate(-24deg);
  background: #7dc4fb;
}
.vt-letter-ribbon-2 {
  pointer-events: none;
  position: absolute;
  top: 1.5rem;
  left: -6rem;
  height: 4rem;
  width: 16rem;
  transform: rotate(-24deg);
  background: #d9edfd;
}
.vt-letter-ribbon-mark {
  pointer-events: none;
  position: absolute;
  top: -1.5rem;
  left: -1rem;
  height: 9rem;
  width: 9rem;
  opacity: 0.9;
  transform: rotate(-8deg);
}
.vt-letter-body {
  position: relative;
  max-width: 42rem;
  color: #1d1d1f;
  font-size: 1.1875rem;
  line-height: 1.75;
}
@media (min-width: 640px) {
  .vt-letter-body { font-size: 1.375rem; }
}
.vt-letter-body > p,
.vt-letter-body > div {
  margin-top: 1.75rem;
}
.vt-letter-body > *:first-child { margin-top: 0; }
.vt-letter-heading {
  font-family: Inter, -apple-system, sans-serif;
  letter-spacing: -0.03em;
  font-size: 1.625rem;
  font-weight: 600;
  color: #1d1d1f;
}
@media (min-width: 640px) {
  .vt-letter-heading { font-size: 2rem; }
}
.vt-letter-strong {
  color: #1d1d1f;
  font-weight: 600;
}
.vt-letter-quotes {
  border-left: 2px solid rgba(0, 0, 0, 0.1);
  padding-left: 1.25rem;
  font-style: italic;
  color: #1d1d1f;
  font-size: 1.0625rem;
}
.vt-letter-quotes > p { margin-top: 1rem; }
.vt-letter-quotes > p:first-child { margin-top: 0; }
@media (min-width: 640px) {
  .vt-letter-quotes { font-size: 1.1875rem; }
}
.vt-letter-shout {
  color: #1d1d1f;
  font-weight: 600;
  font-size: 1.3125rem;
}
@media (min-width: 640px) {
  .vt-letter-shout { font-size: 1.625rem; }
}
.vt-letter-aside {
  font-style: italic;
  color: #6e6e73;
}
.vt-letter-closer {
  font-style: italic;
}
.vt-letter-closer > p { margin-top: 1rem; }
.vt-letter-closer > p:first-child { margin-top: 0; }
.vt-letter-plain {
  font-style: normal;
}
