/* V8 — approved copy, section transitions and closing offer */
.hero-conclusion.v8-bridge {
  max-width: 60rem;
  text-align: left;
  margin: 1rem 0 0;
}
.v8-diagnosis {
  font-size: clamp(1.25rem, 2vw, 1.5rem);
  font-weight: 600;
  line-height: 1.65;
  color: var(--ink);
  margin-bottom: 1.25rem;
}
.v8-problem-copy .intro + .intro { margin-top: 1rem; }
.problem-layout .v8-problem-copy .intro strong { color: var(--ink); }
.v8-contrast-title {
  font-size: 1.5rem;
  font-weight: 600;
  line-height: 1.4;
  letter-spacing: -.03em;
  margin: 0 0 1.5rem;
}
.v8-transition {
  margin-top: 3rem;
  padding-top: 1.75rem;
  border-top: 1px solid var(--line);
  font-size: clamp(1.25rem, 2vw, 1.5rem);
  font-weight: 600;
  line-height: 1.6;
  letter-spacing: -.02em;
}
.v8-final {
  padding: 4.5rem 0 1.5rem;
  background: var(--deep);
  color: #fcfbf8;
  border-top: 0;
}
.v8-final-grid {
  display: grid;
  grid-template-columns: minmax(0, 58fr) minmax(0, 42fr);
  gap: 4rem;
  align-items: center;
}
.v8-title {
  font-size: clamp(1.875rem, 2.5vw, 2.375rem);
  font-weight: 500;
  line-height: 1.3;
  letter-spacing: -.035em;
  margin: 0 0 1.75rem;
}
.v8-title span {
  display: block;
  color: #fcfbf8;
  font-size: inherit;
  font-weight: inherit;
  line-height: inherit;
}
.v8-title span + span { color: #d5ba85; }
.v8-body { font-size: 1rem; line-height: 1.85; color: #d3dbdf; }
.v8-body + .v8-body { margin-top: 1rem; }
.v8-result {
  font-size: 1.1875rem;
  font-weight: 600;
  line-height: 1.7;
  color: #fcfbf8;
  margin-top: 1.75rem;
}
.v8-invitation {
  font-size: 1.125rem;
  font-weight: 700;
  line-height: 1.75;
  margin-top: 1.5rem;
}
.v8-order {
  align-self: center;
  border-left: 1px solid rgba(255,255,255,.12);
  padding: 1rem 0 1rem 2.5rem;
}
.v8-price {
  font-size: 2.625rem;
  font-weight: 500;
  line-height: 1.2;
  letter-spacing: -.045em;
  color: #fcfbf8;
  white-space: nowrap;
  margin: 0;
}
.v8-caption {
  font-size: .9375rem;
  line-height: 1.75;
  color: #c6cdd1;
  margin: .65rem 0 1.35rem;
  max-width: 22rem;
}
.v8-final .v8-button {
  display: inline-block;
  width: 100%;
  max-width: 20rem;
  min-height: 3.5rem;
  padding: .85rem 1.6rem;
  background: #dfc48d;
  border: 1px solid #dfc48d;
  color: #172734;
  font-size: 1rem;
  font-weight: 600;
  line-height: 1.6;
  box-shadow: none;
}
.v8-final .v8-button:hover {
  background: #e8d09f;
  border-color: #e8d09f;
  box-shadow: none;
}
.v8-final .v8-button:focus-visible { outline: 3px solid #fff; outline-offset: 5px; }
.v8-meta {
  font-size: .875rem;
  line-height: 1.8;
  color: #b7c1c6;
  margin-top: .85rem;
  max-width: 22rem;
}
.v8-disclaimer {
  font-size: .8125rem;
  line-height: 1.85;
  color: #b7c1c6;
  max-width: 58rem;
  margin-top: 3.5rem;
}
@media (max-width: 1100px) {
  .v8-final-grid { gap: 2.5rem; }
  .v8-order { padding-left: 1.75rem; }
}
@media (max-width: 900px) {
  .v8-final-grid { grid-template-columns: minmax(0,1fr); gap: 2rem; }
  .v8-order {
    border-left: 0;
    border-top: 1px solid rgba(255,255,255,.12);
    padding: 1.75rem 0 0;
    max-width: 32rem;
  }
  .v8-final { padding-top: 3.5rem; }
}
@media (max-width: 600px) {
  .v8-title { font-size: 1.875rem; }
  .v8-price { font-size: 2.25rem; }
  .v8-result { font-size: 1.125rem; }
  .v8-disclaimer { margin-top: 2.5rem; }
  .v8-transition { margin-top: 2rem; padding-top: 1.5rem; }
  .v8-final { padding-top: 3rem; }
}
