/* Reviews-only final layer. Shared typography, header, footer and consultation stay unchanged. */
.reviews-page { --rv-gold: #806A3B; overflow: visible; }
.reviews-page *, .reviews-page *::before, .reviews-page *::after { box-sizing: border-box; }
.reviews-page .rv-shell { width: calc(100% - 112px); max-width: 1280px; min-width: 0; margin-inline: auto; }
.reviews-page > .seo-breadcrumb { width: calc(100% - 112px); max-width: 1280px; margin: 20px auto 0; padding-inline: 0; }
.reviews-page > .seo-breadcrumb, .reviews-page > .seo-breadcrumb :is(ol,li,a) { font-family: var(--font-primary); font-size: 13px; font-weight: 400; line-height: 1.75; color: var(--muted); }
.reviews-page :is(h1,h2,h3,p,figure,ol) { margin: 0; }
.reviews-page :is(p,a,h3,figcaption) { overflow-wrap: anywhere; word-break: keep-all; }
.reviews-page p { font-size: 16px; line-height: 1.75; color: var(--muted); }
.reviews-page h3 { font-size: 21px; color: var(--green); }
.reviews-page .rv-label { display: block; color: var(--rv-gold); font-size: 12px; font-weight: 600; line-height: 1.5; margin-bottom: 20px; letter-spacing: 0; }
.reviews-page .rv-lead { font-size: 18px; line-height: 1.8; }
.reviews-page .rv-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 12px; }
.reviews-page .rv-actions .button { display: inline-flex; justify-content: center; align-items: center; gap: 12px; min-height: 48px; width: auto; text-align: center; white-space: normal; }
.reviews-page .rv-text-link { display: inline-flex; align-items: center; justify-content: space-between; gap: 24px; min-height: 44px; color: var(--green); font-size: 14px; font-weight: 600; text-decoration: underline; text-underline-offset: 5px; }
/* Outrank legacy main > section:not(...) spacing without an !important override. */
.reviews-page > section.rv-section:not(.rv-hero) { padding-block: 84px; border-top: 1px solid var(--line); }
.reviews-page > section.rv-section.rv-hero { padding-block: 64px 80px; }
.reviews-page .rv-hero-grid { display: grid; grid-template-columns: minmax(0,1.05fr) minmax(0,.95fr); align-items: center; gap: 64px; }
.reviews-page .rv-hero-copy { min-width: 0; align-self: start; }
.reviews-page .rv-hero-copy .rv-lead { max-width: 40ch; margin-top: 28px; }
.reviews-page .rv-hero-copy .rv-actions { margin-top: 30px; }
.reviews-page .rv-mobile-break { display: none; }
.reviews-page .rv-hero-media { min-width: 0; }
.reviews-page .rv-hero-media img { display: block; width: 100%; height: auto; aspect-ratio: 8 / 5; object-fit: cover; object-position: center; }
.reviews-page .rv-hero-media figcaption { margin-top: 12px; color: var(--muted); font-size: 12px; line-height: 1.75; }
.reviews-page > section.rv-section.rv-experience { padding-block: 96px; scroll-margin-top: 96px; }
.reviews-page .rv-section-intro { display: grid; grid-template-columns: minmax(0,1.1fr) minmax(0,.9fr); gap: 96px; align-items: end; }
.reviews-page .rv-section-intro > p { max-width: 46ch; }
.reviews-page .rv-reading-list { list-style: none; padding: 0; margin-top: 44px; border-top: 1px solid var(--green); }
.reviews-page .rv-reading-list > li { display: grid; grid-template-columns: 48px minmax(0,.75fr) minmax(0,1.25fr); gap: 32px; align-items: start; padding-block: 28px; border-bottom: 1px solid var(--line); }
.reviews-page .rv-index { color: var(--rv-gold); font-size: 14px; line-height: 1.75; }
.reviews-page .rv-languages { background: var(--soft); }
.reviews-page .rv-language-heading { max-width: 760px; }
.reviews-page .rv-language-heading > p { max-width: 62ch; margin-top: 24px; }
.reviews-page .rv-language-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 40px; margin-top: 44px; }
.reviews-page .rv-language { display: flex; flex-direction: column; align-items: flex-start; min-width: 0; padding-top: 24px; border-top: 1px solid var(--green); }
.reviews-page .rv-language-code { display: block; color: var(--rv-gold); font-size: 12px; font-weight: 600; line-height: 1.5; }
.reviews-page .rv-language h3 { margin-top: 12px; font-size: 24px; }
.reviews-page .rv-language > p { margin-top: 20px; }
.reviews-page .rv-language .rv-text-link { margin-top: auto; padding-top: 24px; }
.reviews-page > section.rv-section.rv-stories { padding-block: 80px; scroll-margin-top: 96px; }
.reviews-page .rv-stories-grid { display: block; }
.reviews-page .rv-stories-heading { max-width: 860px; }
.reviews-page .rv-stories-heading > p { max-width: 72ch; margin-top: 24px; }
.reviews-page .rv-stories-heading > .rv-stories-notice { margin-top: 20px; padding-top: 20px; border-top: 1px solid var(--line); color: var(--ink); font-size: 15px; line-height: 1.8; }
.reviews-page .rv-story-content { min-width: 0; margin-top: 40px; }
.reviews-page .rv-example-group { padding: 0; }
.reviews-page .rv-example-group + .rv-example-group { margin-top: 56px; }
.reviews-page .rv-example-group-heading { display: flex; flex-wrap: wrap; align-items: baseline; justify-content: space-between; gap: 12px 24px; padding-bottom: 16px; margin-bottom: 24px; border-bottom: 1px solid var(--line); }
.reviews-page .rv-example-group-heading h3 { font-size: 24px; }
.reviews-page .rv-example-group-heading > span { color: var(--rv-gold); font-size: 12px; font-weight: 600; line-height: 1.5; }
.reviews-page .rv-example-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 24px; }
.reviews-page .rv-change-card { display: flex; flex-direction: column; min-width: 0; padding: 24px; border: 1px solid var(--line); border-radius: 4px; background: #FDFCF8; }
.reviews-page .rv-example-meta { display: flex; flex-direction: column; align-items: flex-start; gap: 12px; }
.reviews-page .rv-change-card .rv-example-course { color: var(--green); font-size: 13px; font-weight: 500; line-height: 1.7; }
.reviews-page .rv-change-card .rv-example-rating { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 10px; margin: 0; font-size: 12px; line-height: 1.75; }
.reviews-page .rv-example-stars { color: var(--rv-gold); font-family: "Segoe UI Symbol", sans-serif; font-size: 16px; line-height: 1.5; letter-spacing: 0; }
.reviews-page .rv-change-card h4 { margin: 18px 0 12px; color: var(--green); font-family: var(--font-primary); font-size: 20px; font-weight: 500; line-height: 1.5; letter-spacing: 0; word-break: keep-all; overflow-wrap: anywhere; }
.reviews-page .rv-change-card .rv-example-description { margin: 0; font-size: 16px; line-height: 1.75; }
.reviews-page .rv-change-card .rv-example-author { margin-top: auto; padding-top: 24px; color: var(--muted); font-size: 13px; line-height: 1.75; }
.reviews-page .rv-course-nav { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 36px; margin-top: 40px; }
.reviews-page .rv-course-nav a { display: flex; align-items: center; justify-content: space-between; gap: 20px; min-height: 72px; border-block: 1px solid #78968C; font-size: 20px; font-weight: 500; }
.reviews-page .rv-course-nav a span { font-size: 16px; }
.reviews-page .rv-guide-nav { display: flex; flex-wrap: wrap; column-gap: 28px; row-gap: 4px; }
.reviews-page .rv-guide-nav a { display: inline-flex; align-items: center; min-height: 44px; font-size: 14px; text-decoration: underline; text-underline-offset: 5px; }
@media (min-width: 641px) and (max-width: 1199px) {
  .reviews-page .rv-shell, .reviews-page > .seo-breadcrumb { width: calc(100% - 48px); }
  .reviews-page > section.rv-section:not(.rv-hero), .reviews-page > section.rv-section:is(.rv-experience,.rv-stories) { padding-block: 78px; }
  .reviews-page > section.rv-section.rv-hero { padding-block: 48px 64px; }
  .reviews-page .rv-hero-grid { grid-template-columns: 1fr; gap: 32px; }
  .reviews-page .rv-hero-copy { max-width: 800px; }
  .reviews-page .rv-hero-copy .rv-lead { max-width: 60ch; }
  .reviews-page .rv-hero-media { max-width: 760px; }
  .reviews-page .rv-section-intro { grid-template-columns: 1fr; gap: 28px; }
  .reviews-page .rv-example-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .reviews-page .rv-section-intro > p { max-width: 62ch; }
  .reviews-page .rv-reading-list > li { grid-template-columns: 32px minmax(0,.8fr) minmax(0,1.2fr); gap: 24px; }
  .reviews-page .rv-language-grid { gap: 28px; }
  .reviews-page .rv-course-nav { gap: 24px; }
}
@media (min-width: 641px) and (max-width: 900px) {
  .reviews-page .rv-language-grid { grid-template-columns: 1fr; gap: 36px; }
  .reviews-page .rv-language { display: grid; grid-template-columns: 130px minmax(0,1fr); column-gap: 32px; align-items: start; }
  .reviews-page .rv-language-code { grid-column: 1; }
  .reviews-page .rv-language h3 { grid-column: 1; margin-top: 8px; }
  .reviews-page .rv-language > p { grid-column: 2; margin-top: 0; }
  .reviews-page .rv-language > p + p { margin-top: 16px; }
  .reviews-page .rv-language .rv-text-link { grid-column: 2; margin-top: 16px; padding-top: 0; }
}
@media (max-width: 640px) {
  .reviews-page .rv-shell, .reviews-page > .seo-breadcrumb { width: calc(100% - 40px); }
  .reviews-page > .seo-breadcrumb { margin-top: 16px; }
  .reviews-page > section.rv-section:not(.rv-hero), .reviews-page > section.rv-section:is(.rv-experience,.rv-stories) { padding-block: 64px; }
  .reviews-page > section.rv-section.rv-hero { padding-block: 36px 48px; }
  .reviews-page :is(.rv-hero-grid,.rv-section-intro) { grid-template-columns: 1fr; gap: 28px; }
  .reviews-page .rv-story-content { margin-top: 32px; }
  .reviews-page .rv-example-grid { grid-template-columns: 1fr; }
  .reviews-page .rv-change-card { padding: 20px; }
  .reviews-page .rv-example-group + .rv-example-group { margin-top: 40px; }
  .reviews-page .rv-mobile-break { display: contents; }
  .reviews-page .rv-lead { font-size: 16px; }
  .reviews-page .rv-hero-copy .rv-lead { margin-top: 22px; }
  .reviews-page .rv-hero-copy .rv-actions { margin-top: 24px; }
  .reviews-page .rv-actions { display: grid; grid-template-columns: 1fr; width: 100%; }
  .reviews-page .rv-actions .button { width: 100%; }
  .reviews-page .rv-reading-list { margin-top: 32px; }
  .reviews-page .rv-reading-list > li { grid-template-columns: 28px minmax(0,1fr); gap: 12px 18px; padding-block: 24px; }
  .reviews-page .rv-reading-list > li > p { grid-column: 2; }
  .reviews-page .rv-language-grid { grid-template-columns: 1fr; gap: 36px; margin-top: 32px; }
  .reviews-page .rv-language > p { margin-top: 16px; }
  .reviews-page .rv-language .rv-text-link { padding-top: 20px; }
  .reviews-page .rv-course-nav { grid-template-columns: 1fr; gap: 0; margin-top: 28px; }
  .reviews-page .rv-course-nav a + a { border-top: 0; }
}
