/* Young Enterprises VNext final polish — contrast, section rhythm, and public-facing finish. */

body.ye-vnext-home,
body.ye-vnext-products {
  --ye-copy: rgba(16, 38, 49, .76);
  --ye-copy-strong: rgba(16, 38, 49, .84);
  --ye-copy-on-dark: rgba(255, 255, 255, .82);
  --ye-warm-band: #f3efe6;
}

/* Keep the light business-line system distinct and give its rules more authority. */
.ye-vnext-lines {
  border-block: 1px solid rgba(16, 38, 49, .08);
  background: linear-gradient(180deg, #fbfaf6 0%, #f8f8f3 100%);
}

.ye-vnext-lines .ye-line-grid {
  border-color: rgba(16, 38, 49, .2);
}

.ye-vnext-lines .ye-line-card {
  border-color: rgba(16, 38, 49, .18);
}

.ye-vnext-heading > p,
.ye-line-card p,
.ye-service-proof p,
.ye-products-hero p,
.ye-product-detail-copy p {
  color: var(--ye-copy);
}

.ye-vnext-status {
  border-color: rgba(16, 38, 49, .22);
  background: rgba(255, 255, 255, .78);
  color: #0c2631;
}

/* Dark product system: preserve hierarchy while lifting supporting copy. */
.ye-product-stage .ye-vnext-heading > p,
.ye-product-copy p {
  color: var(--ye-copy-on-dark);
}

.ye-product-copy .ye-vnext-status {
  border-color: rgba(255, 255, 255, .3);
  background: rgba(255, 255, 255, .1);
  color: #f3fbfa;
}

.ye-product-copy .text-link {
  color: #c8ebe8;
  text-decoration-color: rgba(200, 235, 232, .55);
  text-underline-offset: .2em;
}

/* Emerging offers: a restrained warm band separates future work from active packages. */
.ye-emerging {
  border-block: 1px solid rgba(128, 96, 43, .16);
  background:
    radial-gradient(circle at 86% 12%, rgba(185, 152, 88, .1), transparent 24rem),
    var(--ye-warm-band);
}

.ye-emerging .ye-vnext-heading > p {
  color: var(--ye-copy-strong);
}

.ye-emerging .ye-offer-grid {
  border-color: rgba(108, 82, 39, .2);
  background: rgba(108, 82, 39, .2);
}

.ye-emerging .ye-offer {
  background: rgba(255, 253, 248, .88);
}

.ye-emerging .ye-offer span {
  color: #765b29;
  font-weight: 800;
}

.ye-emerging .ye-offer p {
  color: var(--ye-copy);
}

/* Product index and edition details remain secondary, but never faint. */
.ye-product-index small {
  color: #465b64;
}

.ye-edition-card span,
.ye-work-footer {
  color: rgba(16, 38, 49, .74);
}

/* Explicit final CTA component. This owns every foreground/background pairing. */
.ye-final-cta {
  padding-block: clamp(4.5rem, 8vw, 6.8rem);
  background:
    radial-gradient(circle at 88% 8%, rgba(103, 181, 178, .1), transparent 28rem),
    #0b202c;
}

.ye-final-cta .ye-vnext-cta {
  position: relative;
  overflow: hidden;
  border: 1px solid rgba(169, 220, 216, .27);
  border-radius: 24px;
  background: linear-gradient(135deg, #123b47 0%, #0d2c38 100%);
  box-shadow: 0 26px 65px rgba(3, 17, 24, .3);
}

.ye-final-cta .ye-vnext-cta::after {
  content: "";
  position: absolute;
  inset: auto -5rem -8rem auto;
  width: 18rem;
  aspect-ratio: 1;
  border: 1px solid rgba(169, 220, 216, .12);
  border-radius: 50%;
  box-shadow: 0 0 0 3rem rgba(103, 181, 178, .035);
  pointer-events: none;
}

.ye-final-cta .ye-vnext-cta > * {
  position: relative;
  z-index: 1;
}

.ye-final-cta .ye-vnext-cta h2 {
  color: #fff;
}

.ye-final-cta .ye-vnext-cta .eyebrow.light {
  color: #a9dcd8;
}

.ye-final-cta .ye-vnext-cta .lead-sm {
  color: rgba(255, 255, 255, .84);
}

.ye-final-cta .ye-vnext-cta .button {
  border-color: #d2b577;
  background: #d2b577;
  color: #102631;
}

.ye-final-cta .ye-vnext-cta .button:hover {
  border-color: #e1c98f;
  background: #e1c98f;
  color: #102631;
}

.ye-final-cta .ye-vnext-cta .button-ghost {
  border-color: rgba(255, 255, 255, .72);
  background: transparent;
  color: #fff;
}

.ye-final-cta .ye-vnext-cta .button-ghost:hover {
  border-color: #fff;
  background: #fff;
  color: #102631;
}

.ye-final-cta .ye-vnext-cta .button:focus-visible {
  outline-color: #f1dca7;
}

body.ye-vnext-home .site-footer a,
body.ye-vnext-products .site-footer a {
  color: rgba(255, 255, 255, .76);
}

body.ye-vnext-home .footer-grid p,
body.ye-vnext-products .footer-grid p {
  color: rgba(255, 255, 255, .7);
}

body.ye-vnext-home .footer-bottom p,
body.ye-vnext-home .footer-bottom a,
body.ye-vnext-products .footer-bottom p,
body.ye-vnext-products .footer-bottom a {
  color: rgba(255, 255, 255, .66);
}

@media (max-width: 680px) {
  .ye-final-cta .ye-vnext-cta {
    padding: 2rem;
  }
}
