/* V3 keeps V2's visual language while restoring clearer section journeys. */

/* Editorial results: readable source context and one restrained highlight per key figure. */
#evidence .chapter-head { max-width: 990px; }
#evidence .proof { max-width: 610px; }
#evidence .proof h3 {
  margin: 20px 0 18px;
  font-size: clamp(29px, 2.65vw, 43px);
  line-height: 1.13;
}
#evidence .proof-body {
  margin: 0 0 28px;
  max-width: 59ch;
  color: #c8d9e2;
  font-size: clamp(17px, 1.16vw, 20px);
  font-weight: 450;
  line-height: 1.52;
  text-wrap: pretty;
}
#evidence .proof-body strong {
  color: #82d9ee;
  font-weight: 760;
}
#evidence .proof-image-caption {
  position: absolute;
  z-index: 2;
  top: 15px;
  left: 15px;
  max-width: calc(100% - 30px);
  padding: 8px 11px;
  border: 1px solid #9fd8e966;
  border-radius: 5px;
  background: #081720e8;
  color: #d5edf4;
  font-size: 10px;
  font-weight: 760;
  letter-spacing: .08em;
  line-height: 1.3;
  opacity: 0;
  transform: translateY(-5px);
  transition: opacity .2s ease, transform .2s ease;
}
@media (hover: hover) and (pointer: fine) {
  #evidence .proof-media:hover .proof-image-caption { opacity: 1; transform: none; }
}
#evidence .proof-media:focus-visible .proof-image-caption { opacity: 1; transform: none; }
#evidence .proof-sheet {
  padding: 5px;
  border-radius: 18px;
  background: #17313e;
}
#evidence .proof-media.has-proof {
  width: 100%;
  padding: 0;
  border: 1px solid #b4dce282;
  border-radius: 13px;
  background: #f6f8f7 !important;
  color: inherit;
  text-align: left;
  cursor: default;
  appearance: none;
}
#evidence .proof-media.has-proof:focus-visible { outline: 3px solid #a8edfa; outline-offset: 3px; }
#evidence .proof-media.has-proof img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: contain;
  object-position: center center;
  background: #f6f8f7;
}
#evidence .proof-sheet[data-sheet="4"] { z-index: 14; --stack-top: 72px; --stack-left: 56px; }
#platform .platform-v2-card[data-part="3"] .platform-v2-screen img,
.lightbox.is-platform-live img { filter: none; }
@media (max-width: 800px) {
  #evidence .proof h3 { font-size: clamp(27px, 5.4vw, 38px); }
  #evidence .proof-body { font-size: clamp(16px, 2.7vw, 19px); }
  #evidence .proof-mobile { padding: 5px; border-radius: 18px; background: #17313e; }
  #evidence .proof-media.has-proof { min-height: 0; height: auto; aspect-ratio: 1.35; }
}
@media (max-width: 560px) {
  #evidence .proof { padding-block: 44px; }
  #evidence .proof h3 { font-size: clamp(27px, 7vw, 34px); }
  #evidence .proof-body { font-size: 16px; line-height: 1.5; }
  #evidence .proof-image-caption { top: 9px; left: 9px; padding: 6px 8px; font-size: 8px; }
}

/* Hero: the portrait sits closer to the offer; the three-line bio stays in its plate. */
@media (min-width: 801px) {
  .offer-hero .hero-art { transform: translate(-3.5%, -34px); margin-bottom: 105px; }
  .offer-hero .evan figcaption {
    top: calc(100% - 116px);
    width: max-content;
    max-width: none;
    gap: 8px;
    padding: 18px 22px 20px;
  }
  .offer-hero .evan figcaption strong { font-size: clamp(23px, 1.55vw, 27px); }
  .offer-hero .evan figcaption p {
    font-size: clamp(12px, .9vw, 14px);
    line-height: 1.36;
    white-space: nowrap;
  }
  .offer-hero .evan figcaption p:last-child { font-size: clamp(11px, .82vw, 13px); }
}
@media (min-width: 801px) and (max-width: 1300px) {
  .offer-hero .evan figcaption { left: auto; right: 0; }
}
@media (max-width: 800px) {
  .offer-hero .hero-art { margin-top: -10px; }
  .offer-hero .evan figcaption p { white-space: normal; }
}

/* A real action follows each decision-making section. */
.v3-section-cta {
  display: inline-flex;
  align-items: center;
  justify-content: space-between;
  gap: 28px;
  min-height: 72px;
  padding: 18px 26px;
  text-decoration: none;
}
.hero-actions .primary,
.v3-section-cta,
.price-card .plan-join,
.contact-form .primary,
.join-dialog .join-submit {
  font-family: Manrope, sans-serif;
  font-size: 1rem;
  font-weight: 750;
  line-height: 1.2;
  letter-spacing: .025em;
  text-transform: uppercase;
}
.v3-section-cta span { font-size: 1.25rem; line-height: 1; }
.platform-desktop-cta { width: 100%; margin-top: 30px; }
.platform-v2 .platform-mobile-cta { display: none; }
.outcomes-v3 .outcomes-cta {
  position: relative;
  z-index: 4;
  align-self: stretch;
  width: 100%;
  margin: clamp(22px, 2.5svh, 32px) 0 0;
}
/* Keep the 3D mark at V1 brightness; soften only the surrounding pattern. */
.platform-v2-morph { opacity: 1; }
.platform-v2::before { opacity: .16; }
.platform-v2.is-image-visible .platform-v2-media-ui::before { opacity: .24; }
.platform-v2.is-image-visible .platform-v2-media-ui::after { opacity: .6; }
.platform-v2-footer::after {
  content: "ЛИСТАЙТЕ ВНИЗ ↓";
  color: #8bcfe0;
  font-size: 10px;
  font-weight: 740;
  letter-spacing: .14em;
  white-space: nowrap;
}
.reviews-cta { display: flex; width: min(700px, 100%); margin: 36px auto 0; }
.faq-lead .faq-cta { display: flex; width: min(100%, 440px); margin: 30px 0 0; }
.join-surface .join-intro { margin-bottom: 18px; }
@media (max-width: 800px) {
  .platform-desktop-cta { display: none; }
  .platform-v2 .platform-mobile-cta { display: block; padding-top: 30px; padding-bottom: 72px; }
  .platform-mobile-cta .v3-section-cta { width: 100%; }
  .platform-v2-footer::after { content: "ЛИСТАЙТЕ КАРТОЧКИ →"; }
}
@media (max-width: 760px) {
  .outcomes-v3 .outcomes-cta {
    order: 4;
    align-self: stretch;
    width: 100%;
    margin: 18px 0 62px;
  }
}
@media (max-width: 560px) {
  .hero-actions .primary,
  .v3-section-cta,
  .price-card .plan-join,
  .contact-form .primary,
  .join-dialog .join-submit { font-size: clamp(.78rem, 3.45vw, .88rem); }
}

/* V1 membership cards and reveal motion, with slightly smaller prices. */
@media (min-width: 801px) {
  #plans.pricing { padding-block: clamp(50px, 5.2svh, 74px) clamp(50px, 5.2svh, 72px); }
  #plans.pricing .chapter-head { margin-bottom: clamp(27px, 3.2svh, 38px); }
  #plans.pricing .pricing-grid { width: min(100%, 1360px); gap: clamp(28px, 2.4vw, 42px); }
  #plans.pricing .member-pass { aspect-ratio: 1.586; }
  #plans.pricing .plan-details { padding-top: clamp(20px, 2.3svh, 28px); }
  #plans.pricing .plan-pricing { margin-block: 20px 16px; }
  #plans.pricing .price-value { font-size: clamp(45px, 3.5vw, 50px); }
  #plans.pricing .price-card .plan-join { min-height: 68px; }
  #plans.pricing .plan-details .availability { margin-top: 13px; }
  #plans.pricing .installment-note { margin-top: 26px; }
}

/* Complete side previews sit behind the main Yandex-style card. */
.reviews .review-rail-shell { width: min(100%, 1200px); padding: 0 26px; perspective: 1400px; }
.reviews .review-rail { display: block; position: relative; height: 490px; padding: 0; overflow: visible; scroll-snap-type: none; }
.reviews .review-card,
.reviews .review-card:first-child {
  position: absolute;
  top: 50%;
  left: 50%;
  z-index: 0;
  width: min(700px, 60%);
  min-height: 410px;
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transform: translate(-50%, -47%) scale(.88);
  transition: transform .42s cubic-bezier(.2,.75,.2,1), opacity .36s, filter .36s, box-shadow .36s, visibility .36s;
  box-shadow: 0 12px 28px #0005;
}
.reviews .review-card.is-active,
.reviews .review-card:first-child.is-active {
  z-index: 3;
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
  transform: translate(-50%, -50%) scale(1);
  box-shadow: 0 28px 68px #0009, 0 0 0 1px #d8e5ed;
}
.reviews .review-card.is-before,
.reviews .review-card.is-after {
  z-index: 1;
  width: 208px;
  min-height: 280px;
  max-height: 280px;
  padding: 20px;
  opacity: .72;
  visibility: visible;
  pointer-events: auto;
  cursor: pointer;
  filter: brightness(.9) saturate(.8);
  overflow: hidden;
  transform: translateY(-50%) scale(.94) rotateY(5deg);
}
.reviews .review-card.is-before { left: 1%; transform-origin: right center; }
.reviews .review-card.is-after { left: auto; right: 1%; transform-origin: left center; transform: translateY(-50%) scale(.94) rotateY(-5deg); }
.reviews .review-card.is-before .review-provider,
.reviews .review-card.is-after .review-provider,
.reviews .review-card.is-before .review-card-footer,
.reviews .review-card.is-after .review-card-footer { display: none; }
.reviews .review-card.is-before .review-avatar,
.reviews .review-card.is-after .review-avatar { width: 42px; height: 42px; }
.reviews .review-card.is-before .review-identity h3,
.reviews .review-card.is-after .review-identity h3 { font-size: 1rem; }
.reviews .review-card.is-before .review-source,
.reviews .review-card.is-after .review-source { font-size: .7rem; }
.reviews .review-card.is-before .review-meta,
.reviews .review-card.is-after .review-meta { margin-top: 12px; }
.reviews .review-card.is-before .review-stars,
.reviews .review-card.is-after .review-stars { font-size: 16px; }
.reviews .review-card.is-before .review-card-quote,
.reviews .review-card.is-after .review-card-quote { margin-top: 11px; font-size: .79rem; -webkit-line-clamp: 5; line-height: 1.45; }
.reviews .review-rail-shell .review-arrow:first-child { left: -20px; }
.reviews .review-rail-shell .review-arrow:last-child { right: -20px; }
.reviews .review-rail-shell .review-arrow,
.reviews .review-rail-shell .review-arrow:hover:not(:disabled) { transform: translateY(-50%) !important; }
.reviews .review-card-top { gap: 14px; }
.reviews .review-provider {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  margin-left: auto;
  color: #788592;
  font-size: .78rem;
  font-weight: 700;
  white-space: nowrap;
}
.reviews .review-provider-mark { color: #e85a52; font-size: 1.2em; line-height: 1; }
.reviews .review-card-footer { display: flex; align-items: center; gap: 16px; }
@media (max-width: 1100px) {
  .reviews .review-rail { height: 470px; }
  .reviews .review-card.is-before,
  .reviews .review-card.is-after { visibility: hidden; opacity: 0; }
  .reviews .review-card,
  .reviews .review-card:first-child { width: min(700px, calc(100% - 46px)); }
}
@media (max-width: 600px) {
  .v3-section-cta { min-height: 66px; padding: 16px 20px; }
  .reviews .review-rail-shell { padding-inline: 0; }
  .reviews .review-rail { height: 450px; }
  .reviews .review-card,
  .reviews .review-card:first-child { width: 100%; min-height: 420px; padding: 20px; }
  .reviews .review-rail-shell .review-controls { position: static; inset: auto; display: flex; justify-content: space-between; margin-top: 12px; pointer-events: auto; }
  .reviews .review-rail-shell .review-arrow,
  .reviews .review-rail-shell .review-arrow:hover:not(:disabled) { position: static; transform: none !important; }
  .reviews .review-provider { font-size: .68rem; }
  .reviews-cta, .faq-cta { width: 100%; }
}
@media (prefers-reduced-motion: reduce) {
  .reviews .review-card,
  .reviews .review-card:first-child { transition: none; }
}
