/* Fixed-page presentation translated from the source application. */
.rio-wellness-site .rio-section {
  position: relative;
  width: 100%;
  margin: 0;
  padding: 0;
  --rio-section-gutter: 24px;
  --rio-section-max: 1240px;
  display: grid;
  grid-template-columns:
    minmax(var(--rio-section-gutter), 1fr)
    minmax(0, var(--rio-section-max, 1240px))
    minmax(var(--rio-section-gutter), 1fr);
}

.rio-wellness-site .rio-section > * {
  min-width: 0;
  margin-block-start: 0;
  grid-column: 2;
}

.rio-wellness-site :where(
  .rio-comparison,
  .rio-shift-panels,
  .rio-shift-panels__card,
  .rio-implementation-cards,
  .rio-about-mission,
  .rio-about-model,
  .rio-intro-row,
  .rio-training-problem__copy,
  .rio-continuing-copy
) > * {
  margin-block-start: 0;
}

.rio-wellness-site .rio-page,
.rio-wellness-site .rio-page > .wp-block-group,
.rio-wellness-site .rio-art-shell,
.rio-wellness-site .rio-page-banner-shell,
.rio-wellness-site .rio-page-hero-shell,
.rio-wellness-site .rio-photo-hero-shell {
  width: 100%;
  max-width: none;
  margin: 0;
}

.rio-wellness-site .rio-page-title,
.rio-wellness-site .rio-closing-cta h2,
.rio-wellness-site .rio-testimonials__heading > h2,
.rio-wellness-site .rio-section__heading {
  margin: 0;
  color: var(--rio-ink);
  font-family: var(--rio-font-display);
  font-weight: 500;
  line-height: 1;
}

.rio-wellness-site .rio-page-title {
  max-width: 15ch;
  font-size: clamp(2.75rem, 6.7vw, 6rem);
  letter-spacing: -0.052em;
}

.rio-wellness-site .rio-closing-cta h2 {
  max-width: 20ch;
  font-size: clamp(2.25rem, 4.4vw, 3rem);
  letter-spacing: -0.0417em;
}

.rio-wellness-site .rio-testimonials__heading > h2 {
  width: 100%;
  max-width: none;
  font-size: clamp(2.25rem, 4.4vw, 3rem);
  letter-spacing: -0.0417em;
}

.rio-wellness-site .rio-section__heading {
  width: 100%;
  max-width: none;
  font-size: clamp(2.25rem, 4.4vw, 3rem);
  letter-spacing: -0.0417em;
}

.rio-wellness-site .rio-card-title,
.rio-wellness-site .rio-option-heading,
.rio-wellness-site .rio-product-card h3,
.rio-wellness-site .rio-modality-card h2,
.rio-wellness-site .rio-goal-card h2,
.rio-wellness-site .rio-podcasts h2,
.rio-wellness-site .rio-roi-calculator h2,
.rio-wellness-site .rio-roi-calculator h3 {
  margin: 0;
  color: var(--rio-ink);
  font-weight: 500;
  line-height: 1.3;
}

.rio-wellness-site .rio-card-title {
  font-size: clamp(1.5rem, 2.4vw, 1.75rem);
}

.rio-wellness-site .rio-copy,
.rio-wellness-site .rio-section p {
  margin-block: 0;
  color: var(--rio-stone);
  font-size: 1rem;
  line-height: 1.6;
}

.rio-wellness-site .rio-section__heading + .rio-copy,
.rio-wellness-site .rio-testimonials__heading > h2 + p {
  color: rgba(76, 76, 76, 0.8);
  line-height: 25px;
}

.rio-wellness-site .rio-copy--strong {
  color: var(--rio-ink);
  font-weight: 600;
}

.rio-wellness-site .rio-copy--muted {
  color: rgba(18, 18, 20, 0.5);
}

.rio-wellness-site .rio-eyebrow,
.rio-wellness-site .rio-legal-date,
.rio-wellness-site .rio-section .rio-eyebrow,
.rio-wellness-site .rio-section .rio-legal-date {
  margin: 0;
  color: var(--rio-brand);
  font-size: 0.75rem;
  font-weight: 500;
  letter-spacing: 1.2px;
  line-height: 1.5;
  text-transform: uppercase;
}

.rio-wellness-site .rio-section-heading {
  display: flex;
  width: 100%;
  max-width: none;
  flex-direction: column;
  align-items: center;
  gap: 12px;
  margin-inline: auto;
  text-align: center;
}

.rio-wellness-site .rio-section-heading > * {
  margin-block-start: 0;
}

.rio-wellness-site .rio-section-heading > .rio-section-eyebrow {
  margin-bottom: 4px;
}

.rio-wellness-site .rio-section-heading .rio-copy,
.rio-wellness-site .rio-section-heading p {
  max-width: 1040px;
}

.rio-wellness-site .rio-section-eyebrow,
.rio-wellness-site .rio-section .rio-section-eyebrow {
  display: inline-flex;
  width: fit-content;
  align-items: center;
  justify-content: center;
  border: 1px solid rgba(33, 54, 50, 0.1);
  border-radius: 70px;
  padding: 9px 24px;
  background: rgba(33, 54, 50, 0.06);
  color: #213632;
  font-weight: 500;
  line-height: 18px;
}

.rio-wellness-site .rio-actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 12px;
  margin: 0;
}

.rio-wellness-site .rio-actions .wp-block-button {
  margin: 0;
}

.rio-wellness-site .rio-button .wp-block-button__link,
.rio-wellness-site .rio-closing-cta__actions a,
.rio-wellness-site .rio-contact-form button,
.rio-wellness-site .rio-roi-gate button,
.rio-wellness-site .rio-roi-calculator button,
.rio-wellness-site .rio-roi-calculator__breakdown a,
.rio-wellness-site .rio-roi-calculator__follow-up a {
  display: inline-flex;
  min-height: 53px;
  align-items: center;
  justify-content: center;
  border: 0;
  border-radius: 12px;
  padding: 16px 24px;
  background: var(--rio-brand);
  color: #ffffff;
  font-size: 0.875rem;
  font-weight: 500;
  line-height: 1.5;
  text-align: center;
  text-decoration: none;
  transition: background-color 180ms ease, border-color 180ms ease, color 180ms ease, transform 180ms ease;
}

.rio-wellness-site .rio-button--secondary .wp-block-button__link {
  border: 1px solid var(--rio-line);
  background: #ffffff;
  color: var(--rio-ink);
}

.rio-wellness-site .rio-seed-image {
  display: block;
  width: 100%;
  /* `max-width: none` lets the bleed photos overrun their column on purpose.
     Without a zero minimum, a grid column sized from a *broken* image takes its
     alt text's single-line width as the minimum and drags the whole document
     sideways — three thousand pixels on /about with images blocked. */
  min-width: 0;
  max-width: none;
  height: auto;
  border-radius: 12px;
  object-fit: cover;
}

.rio-wellness-site .rio-list,
.rio-wellness-site .rio-comparison-list,
.rio-wellness-site .rio-shift-panel__items,
.rio-wellness-site .rio-training-includes,
.rio-wellness-site .rio-legal-list,
.rio-wellness-site .rio-deconstructed-cards,
.rio-wellness-site .rio-modality-expertise,
.rio-wellness-site .rio-revenue-cards,
.rio-wellness-site .rio-assessment-cards,
.rio-wellness-site .rio-principle-cards,
.rio-wellness-site .rio-training-modalities,
.rio-wellness-site .rio-training-options,
.rio-wellness-site .rio-training-outcomes,
.rio-wellness-site .rio-outcomes,
.rio-wellness-site .rio-process-list,
.rio-wellness-site .rio-podcasts,
.rio-wellness-site .rio-product-browser,
.rio-wellness-site .rio-related-products,
.rio-wellness-site .rio-modalities,
.rio-wellness-site .rio-goals,
.rio-wellness-site .rio-testimonials ul {
  margin: 0;
  padding: 0;
  list-style: none;
}

/* Full-bleed photo heroes. */
.rio-wellness-site .rio-main--front-page .rio-section--hero {
  overflow: hidden;
  background: var(--rio-night);
}

.rio-wellness-site .rio-home-hero__photo {
  position: relative;
  isolation: isolate;
  display: grid;
  min-height: 640px;
  grid-column: 1 / -1;
  grid-template-columns:
    minmax(var(--rio-section-gutter), 1fr)
    minmax(0, var(--rio-section-max, 1240px))
    minmax(var(--rio-section-gutter), 1fr);
  overflow: hidden;
  background: var(--rio-night);
}

.rio-wellness-site .rio-home-hero__photo > * {
  min-width: 0;
  grid-column: 2;
  margin-block-start: 0;
}

.rio-wellness-site .rio-home-hero__photo > .rio-seed-image {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  grid-column: 1 / -1;
  border-radius: 0;
  object-fit: cover;
}

.rio-wellness-site .rio-home-hero__photo::after,
.rio-wellness-site .rio-page-hero-shell .rio-section--hero::after,
.rio-wellness-site .rio-photo-hero-shell .rio-section--hero::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 0;
  pointer-events: none;
}

.rio-wellness-site .rio-home-hero__photo::after {
  background:
    linear-gradient(0deg, rgba(18, 18, 20, 0) 0%, rgba(18, 18, 20, 0.28) 19.02%, rgba(18, 18, 20, 0.35) 22.23%, rgba(18, 18, 20, 0.42) 32.19%, rgba(18, 18, 20, 0.49) 51.41%, rgba(18, 18, 20, 0.56) 73.8%, rgba(18, 18, 20, 0.63) 100%),
    linear-gradient(90deg, rgba(0, 0, 0, 0.2) 0%, rgba(0, 0, 0, 0.2) 100%);
}

.rio-wellness-site .rio-page-hero-shell .rio-section--hero::after,
.rio-wellness-site .rio-photo-hero-shell .rio-section--hero::after {
  background:
    linear-gradient(0deg, rgba(18, 18, 20, 0) 0%, rgba(18, 18, 20, 0.28) 19.02%, rgba(18, 18, 20, 0.35) 22.23%, rgba(18, 18, 20, 0.42) 32.19%, rgba(18, 18, 20, 0.49) 51.41%, rgba(18, 18, 20, 0.56) 73.8%, rgba(18, 18, 20, 0.63) 100%),
    linear-gradient(90deg, rgba(0, 0, 0, 0.4) 0%, rgba(0, 0, 0, 0.4) 100%);
}

.rio-wellness-site .rio-home-hero__photo .rio-hero-content {
  z-index: 1;
  display: flex;
  width: 100%;
  min-height: 640px;
  max-width: 720px;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 20px;
  justify-self: center;
  padding-block: 96px;
  text-align: center;
}

.rio-wellness-site .rio-hero-content > * {
  margin-block-start: 0;
}

.rio-wellness-site .rio-main--front-page .rio-hero-content .rio-page-title,
.rio-wellness-site .rio-page-hero-shell .rio-page-title,
.rio-wellness-site .rio-photo-hero-shell .rio-page-title {
  max-width: 1024px;
  color: #ffffff;
}

.rio-wellness-site .rio-home-hero__photo .rio-page-title {
  width: 100%;
  max-width: none;
}

.rio-wellness-site .rio-main--front-page .rio-hero-content .rio-copy,
.rio-wellness-site .rio-page-hero-shell .rio-hero-content .rio-copy,
.rio-wellness-site .rio-photo-hero-shell .rio-hero-content .rio-copy {
  max-width: 560px;
  color: rgba(255, 255, 255, 0.9);
}

.rio-wellness-site .rio-home-hero__photo .rio-hero-content .rio-copy {
  max-width: 507px;
}

.rio-wellness-site .rio-main--front-page .rio-hero-content .rio-eyebrow,
.rio-wellness-site .rio-page-hero-shell .rio-hero-content .rio-eyebrow,
.rio-wellness-site .rio-photo-hero-shell .rio-hero-content .rio-eyebrow {
  color: #ffffff;
}

.rio-wellness-site .rio-main--front-page .rio-hero-content > .rio-eyebrow {
  display: inline-flex;
  width: fit-content;
  align-items: center;
  align-self: center;
  border: 1px solid rgba(255, 255, 255, 0.1);
  border-radius: 70px;
  padding: 9px 24px;
  background: rgba(255, 255, 255, 0.06);
  font-weight: 500;
  line-height: 18px;
}

.rio-wellness-site .rio-main--front-page .rio-hero-content > .rio-page-title + .rio-copy {
  margin-top: -8px;
}

.rio-wellness-site .rio-main--front-page .rio-hero-content .rio-actions {
  justify-content: center;
  margin-top: 12px;
}

.rio-wellness-site .rio-main--front-page .rio-hero-content .rio-button .wp-block-button__link,
.rio-wellness-site .rio-page-hero-shell .rio-button .wp-block-button__link,
.rio-wellness-site .rio-photo-hero-shell .rio-button .wp-block-button__link {
  border: 0;
  border-radius: 16px;
  padding-inline: 16px;
  background: #ffffff;
  color: #000000;
}

.rio-wellness-site .rio-main--front-page .rio-hero-content .rio-button--secondary .wp-block-button__link,
.rio-wellness-site .rio-page-hero-shell .rio-button--secondary .wp-block-button__link {
  border: 0;
  background: rgba(255, 255, 255, 0.1);
  color: #ffffff;
  backdrop-filter: blur(8px);
}

.rio-wellness-site .rio-home-stats-shell {
  position: relative;
  z-index: 1;
  display: grid;
  grid-column: 1 / -1;
  grid-template-columns:
    minmax(var(--rio-section-gutter), 1fr)
    minmax(0, 1280px)
    minmax(var(--rio-section-gutter), 1fr);
  background: var(--rio-brand);
}

.rio-wellness-site .rio-home-stats {
  display: flex;
  width: 100%;
  max-width: 1280px;
  grid-column: 2;
  flex-direction: column;
  gap: 40px;
  margin: 0;
  padding: 48px 0;
  color: #ffffff;
}

.rio-wellness-site .rio-home-stats .rio-stat {
  position: relative;
  display: grid;
  max-width: 360px;
  grid-template-columns: 48px minmax(0, 1fr);
  gap: 8px 16px;
}

.rio-wellness-site .rio-home-stats .rio-stat__icon {
  display: block;
  width: 48px;
  height: 48px;
  background: center / contain no-repeat;
}

.rio-wellness-site .rio-home-stats .rio-stat__icon--gear { background-image: url("../icons/stat-gear.svg"); }
.rio-wellness-site .rio-home-stats .rio-stat__icon--roi { background-image: url("../icons/stat-roi.svg"); }
.rio-wellness-site .rio-home-stats .rio-stat__icon--recycle { background-image: url("../icons/stat-recycle.svg"); }

.rio-wellness-site .rio-home-stats .rio-stat__value {
  display: flex;
  grid-column: 1 / -1;
  grid-row: 1;
  align-items: center;
  gap: 16px;
  margin: 0;
  color: #ffffff;
  font-family: var(--rio-font-numeric);
  font-size: clamp(3rem, 5vw, 4rem);
  font-weight: 500;
  letter-spacing: -0.047em;
  line-height: 1;
}

.rio-wellness-site .rio-home-stats .rio-stat__label {
  grid-column: 1 / -1;
  grid-row: 2;
  color: rgba(255, 255, 255, 0.8);
  font-size: 1rem;
  line-height: 21px;
}

.rio-wellness-site .rio-page-hero-shell,
.rio-wellness-site .rio-photo-hero-shell {
  position: relative;
  overflow: hidden;
  background: var(--rio-night);
}

.rio-wellness-site .rio-page-hero-shell .rio-section--hero,
.rio-wellness-site .rio-photo-hero-shell .rio-section--hero {
  --rio-section-max: 1280px;
  min-height: 620px;
  align-content: center;
  row-gap: 48px;
  overflow: hidden;
  padding-block: 96px;
}

.rio-wellness-site .rio-page-hero-shell .rio-section--hero > .rio-seed-image,
.rio-wellness-site .rio-photo-hero-shell .rio-section--hero > .rio-seed-image {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  grid-column: 1 / -1;
  border-radius: 0;
  object-fit: cover;
}

.rio-wellness-site .rio-page-hero-shell .rio-hero-content,
.rio-wellness-site .rio-photo-hero-shell .rio-hero-content {
  position: relative;
  z-index: 1;
  display: flex;
  max-width: 1024px;
  flex-direction: column;
  align-items: flex-start;
  gap: 0;
}

.rio-wellness-site .rio-page-hero-shell .rio-hero-content .rio-actions,
.rio-wellness-site .rio-photo-hero-shell .rio-hero-content .rio-actions {
  margin-top: 0;
}

.rio-wellness-site .rio-page-hero-shell .rio-page-title,
.rio-wellness-site .rio-photo-hero-shell .rio-page-title,
.rio-wellness-site .rio-art-shell .rio-page-title,
.rio-wellness-site .rio-legal-art-shell .rio-page-title {
  font-size: clamp(2.5rem, 6.7vw, 6rem);
}

.rio-wellness-site .rio-page-hero-shell .rio-hero-content > .rio-eyebrow,
.rio-wellness-site .rio-photo-hero-shell .rio-hero-content > .rio-eyebrow {
  margin-bottom: 20px;
  border: 1px solid rgba(255, 255, 255, 0.1);
  border-radius: 70px;
  padding: 9px 24px;
  background: rgba(255, 255, 255, 0.06);
  font-weight: 500;
  line-height: 18px;
}

.rio-wellness-site .rio-page-hero-shell .rio-hero-content > .rio-page-title,
.rio-wellness-site .rio-photo-hero-shell .rio-hero-content > .rio-page-title {
  margin-bottom: 12px;
}

.rio-wellness-site .rio-page-hero-shell .rio-hero-content > .rio-copy,
.rio-wellness-site .rio-photo-hero-shell .rio-hero-content > .rio-copy {
  margin-bottom: 32px;
}

.rio-wellness-site .rio-section--impact-stats,
.rio-wellness-site .rio-section--operator-stats {
  position: relative;
  z-index: 1;
  display: block;
  width: 100%;
}

.rio-wellness-site .rio-impact-stats {
  display: grid;
  grid-template-columns: 1fr;
  gap: 20px 40px;
  margin: 0;
}

.rio-wellness-site .rio-impact-stats .rio-stat {
  display: flex;
  flex-direction: column;
  gap: 8px;
  padding-top: 20px;
  border-top: 1px solid rgba(255, 255, 255, 0.2);
}

.rio-wellness-site .rio-impact-stats .rio-stat:first-child {
  padding-top: 0;
  border-top: 0;
}

.rio-wellness-site .rio-impact-stats .rio-stat__value {
  display: flex;
  align-items: center;
  gap: 16px;
  order: -1;
  margin: 0;
  color: #ffffff;
  font-family: var(--rio-font-numeric);
  font-size: 3rem;
  font-weight: 500;
  /* `.font-numeric`: -3px at 64px, expressed in em so it tracks the size. */
  letter-spacing: -0.047em;
  line-height: 1;
  font-variant-numeric: tabular-nums;
}

.rio-wellness-site .rio-impact-stats .rio-stat__icon {
  display: block;
  width: 40px;
  height: 40px;
  flex: 0 0 40px;
  background: center / contain no-repeat;
}

.rio-wellness-site .rio-impact-stats .rio-stat__icon--gear { background-image: url("../icons/stat-gear.svg"); }
.rio-wellness-site .rio-impact-stats .rio-stat__icon--roi { background-image: url("../icons/stat-roi.svg"); }
.rio-wellness-site .rio-impact-stats .rio-stat__icon--recycle { background-image: url("../icons/stat-recycle.svg"); }

.rio-wellness-site .rio-impact-stats .rio-stat__label {
  color: rgba(255, 255, 255, 0.8);
  font-size: 1rem;
  line-height: 21px;
}

/* Gradient banner used by Podcast, FAQ and Contact. */
.rio-wellness-site .rio-page-banner-shell {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  padding-top: 128px;
}

.rio-wellness-site .rio-page-banner-shell::before,
.rio-wellness-site .rio-page-banner-shell::after {
  content: "";
  position: absolute;
  inset: 0 0 auto;
  z-index: -1;
  pointer-events: none;
}

.rio-wellness-site .rio-page-banner-shell::before {
  height: 820px;
  background: linear-gradient(180deg, #05070f 0%, #0b1430 6%, #1e3f8c 15%, #5a7dcd 27%, rgba(255, 255, 255, 0.88) 52%, #ffffff 72%);
}

.rio-wellness-site .rio-page-banner-shell::after {
  height: 560px;
  background: radial-gradient(55% 60% at 50% 22%, rgba(130, 170, 255, 0.5) 0%, rgba(255, 255, 255, 0) 72%);
}

.rio-wellness-site .rio-page-banner-shell .rio-section--hero {
  --rio-section-max: 1240px;
  padding-bottom: 56px;
}

.rio-wellness-site .rio-page-banner__heading {
  display: flex;
  max-width: 1024px;
  flex-direction: column;
  align-items: center;
  gap: 16px;
  margin-inline: auto;
  text-align: center;
}

.rio-wellness-site .rio-page-banner__heading .rio-page-title {
  max-width: 1024px;
  color: #ffffff;
}

.rio-wellness-site .rio-page-banner__heading .rio-copy {
  max-width: 720px;
  color: rgba(255, 255, 255, 0.9);
}

.rio-wellness-site .rio-section--episode-collection,
.rio-wellness-site .rio-section--faq-collection {
  padding-bottom: 96px;
}

/* Figma artwork shared by hubs and policy pages. */
.rio-wellness-site .rio-art-shell {
  position: relative;
  isolation: isolate;
  min-height: var(--rio-art-height);
  overflow: hidden;
  --rio-art-height: 1000px;
  background: #ffffff;
}

.rio-wellness-site .rio-art-shell::before,
.rio-wellness-site .rio-art-shell::after {
  content: "";
  position: absolute;
  inset-inline: 0;
  z-index: 1;
  pointer-events: none;
}

.rio-wellness-site .rio-art-shell::before {
  top: 0;
  height: 780px;
  background: linear-gradient(180deg, rgba(18, 18, 20, 0.76) 0%, rgba(18, 18, 20, 0.72) 40%, rgba(18, 18, 20, 0.62) 68%, rgba(18, 18, 20, 0.34) 86%, rgba(18, 18, 20, 0) 100%);
}

.rio-wellness-site .rio-art-shell::after {
  top: calc(var(--rio-art-height) - 160px);
  height: 160px;
  background: linear-gradient(180deg, rgba(255, 255, 255, 0), #ffffff);
}

.rio-wellness-site .rio-art-shell .rio-section--hero {
  position: static;
  --rio-section-max: 1024px;
  padding-top: 128px;
  padding-bottom: 56px;
}

.rio-wellness-site .rio-art-shell .rio-section--hero > .rio-seed-image,
.rio-wellness-site .rio-legal-art-shell .rio-section--legal-header > .rio-seed-image {
  position: absolute;
  inset: 0 0 auto;
  z-index: 0;
  width: 100%;
  height: var(--rio-art-height);
  grid-column: 1 / -1;
  border-radius: 0;
  object-fit: cover;
  object-position: top;
}

.rio-wellness-site .rio-art-hero__content {
  position: relative;
  z-index: 2;
  display: flex;
  max-width: 1024px;
  flex-direction: column;
  align-items: center;
  gap: 20px;
  margin-inline: auto;
  text-align: center;
}

.rio-wellness-site .rio-art-hero__content .rio-page-title {
  max-width: 1024px;
  color: #ffffff;
}

/* The ten goal titles run 36-62 characters; the source steps the display face
   down with the name so the long ones stay a heading. */
.rio-wellness-site .rio-goal-art-shell .rio-page-title--lg { font-size: clamp(2.25rem, 5.4vw, 4.5rem); }
.rio-wellness-site .rio-goal-art-shell .rio-page-title--md { font-size: clamp(2rem, 4.4vw, 3.5rem); }

.rio-wellness-site .rio-art-hero__content .rio-eyebrow,
.rio-wellness-site .rio-art-hero__content .rio-legal-date {
  color: #ffffff;
}

.rio-wellness-site .rio-art-hero__content .rio-copy,
.rio-wellness-site .rio-art-hero__content > p {
  max-width: 570px;
  color: rgba(255, 255, 255, 0.9);
}

/* The inline link inside the lede is fully opaque white in the source. */
.rio-wellness-site .rio-art-hero__content .rio-copy a {
  color: #ffffff;
  text-decoration: underline;
  text-underline-offset: 4px;
}

.rio-wellness-site .rio-hub-art-shell .rio-art-hero__content,
.rio-wellness-site .rio-goal-art-shell .rio-art-hero__content {
  gap: 0;
}

.rio-wellness-site .rio-hub-art-shell .rio-art-hero__content > .rio-eyebrow,
.rio-wellness-site .rio-goal-art-shell .rio-art-hero__content > .rio-eyebrow {
  margin-bottom: 20px;
  border: 1px solid rgba(255, 255, 255, 0.1);
  border-radius: 70px;
  padding: 9px 24px;
  background: rgba(255, 255, 255, 0.06);
  font-weight: 500;
  line-height: 18px;
}

.rio-wellness-site .rio-hub-art-shell .rio-art-hero__content > .rio-page-title,
.rio-wellness-site .rio-hub-art-shell .rio-art-hero__content > .rio-copy:not(:last-child),
.rio-wellness-site .rio-goal-art-shell .rio-art-hero__content > .rio-page-title,
.rio-wellness-site .rio-goal-art-shell .rio-art-hero__content > .rio-copy:not(:last-child) {
  margin-bottom: 12px;
}

.rio-wellness-site .rio-hub-art-shell .rio-art-hero__content > .rio-copy + .rio-copy {
  max-width: none;
}

.rio-wellness-site .rio-hub-art-shell .rio-section--product-browser,
.rio-wellness-site .rio-hub-art-shell .rio-section--modality-collection,
.rio-wellness-site .rio-hub-art-shell .rio-section--goal-collection {
  position: relative;
  z-index: 2;
  --rio-section-max: 1280px;
  padding-bottom: 96px;
}

/* The browser is a `max-w-[1280px]` block with its own `px-6 lg:px-10` in the
   source, so the section hands it the full 1280 and the form insets itself. */
.rio-wellness-site .rio-hub-art-shell .rio-section--product-browser {
  --rio-section-gutter: 0px;
}

/* Closing CTA. */
.rio-wellness-site .rio-section--closing-cta {
  /* The card is `w-full max-w-[1280px]` inside the section's own `px-6
     lg:px-10`; below lg the gutter is that padding, above it the section
     pads itself (see the lg override, which has to sit in a later block to
     beat `.rio-section`'s own 80px). */
  --rio-section-max: 1280px;
  min-height: 550px;
  align-items: center;
  overflow: hidden;
  padding-block: 64px;
  background: var(--rio-night);
}

.rio-wellness-site .rio-section--closing-cta::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 0;
  background: linear-gradient(180deg, rgba(18, 18, 20, 0.55) 0%, rgba(18, 18, 20, 0.62) 32%, rgba(18, 18, 20, 0.78) 69%, var(--rio-night) 100%);
}

.rio-wellness-site .rio-section--closing-cta > .rio-seed-image {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  grid-column: 1 / -1;
  border-radius: 0;
  object-fit: cover;
}

.rio-wellness-site .rio-section--closing-cta .rio-closing-cta {
  position: relative;
  z-index: 1;
  display: flex;
  width: 100%;
  max-width: 1280px;
  min-height: 420px;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  /* The source stacks the card's children 18px apart (measured: eyebrow bottom
     10901 -> h2 top 10919). The 12px the port shipped left every step inside
     this card 6px short. */
  gap: 18px;
  border: 4px solid #ffffff;
  border-radius: 16px;
  padding: 64px 24px;
  background: rgba(255, 255, 255, 0.1);
  color: #ffffff;
  text-align: center;
  backdrop-filter: blur(25px);
}

.rio-wellness-site .rio-closing-cta .rio-eyebrow,
.rio-wellness-site .rio-closing-cta h2,
.rio-wellness-site .rio-closing-cta p {
  color: #ffffff;
}

.rio-wellness-site .rio-closing-cta > .rio-eyebrow[hidden] { display: none; }
/* The closing CTA's label is the same dark-tone Eyebrow pill the hero draws;
   the port shipped it as bare text. */
.rio-wellness-site .rio-closing-cta > .rio-eyebrow {
  display: inline-flex;
  width: fit-content;
  align-items: center;
  border: 1px solid rgba(255, 255, 255, 0.1);
  border-radius: 70px;
  padding: 9px 24px;
  background: rgba(255, 255, 255, 0.06);
  font-weight: 500;
  line-height: 18px;
}

.rio-wellness-site .rio-closing-cta h2 {
  max-width: 913px;
  letter-spacing: -0.0625em;
  /* .font-display pins the display line box to 1 in the source, and it is
     unlayered there, so the utility that reads 1.025 never wins. */
  line-height: 1;
}

/* The source nests headline and body one level deeper on a 12px gap, inside the
   card's own 18px rhythm. */
.rio-wellness-site .rio-closing-cta > p:not(.rio-eyebrow, .rio-closing-cta__actions) {
  max-width: 508px;
  margin-top: -6px;
  color: rgba(255, 255, 255, 0.8);
  line-height: 25px;
}

/* `.rio-section p` sets `margin-block: 0` and outranks a two-class rule. */
.rio-wellness-site .rio-section .rio-closing-cta__actions {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 12px;
  /* Measured: the source's p bottom 11077 -> actions top 11109 = a 32px step,
     on top of the card's own 18px stack. */
  margin-top: 14px;
}

.rio-wellness-site .rio-closing-cta__actions a {
  border-radius: 16px;
  padding-inline: 16px;
  background: #ffffff;
  color: #000000;
}

.rio-wellness-site .rio-closing-cta__actions a + a {
  background: rgba(255, 255, 255, 0.1);
  color: #ffffff;
}

/* Home sections. */
.rio-wellness-site .rio-section--challenge {
  --rio-section-max: 1240px;
  justify-items: center;
  gap: 0;
  padding-top: 96px;
  text-align: center;
}

.rio-wellness-site .rio-section--challenge .rio-eyebrow { margin-bottom: 16px; }
.rio-wellness-site .rio-section--challenge .rio-section__heading { max-width: 1024px; }
.rio-wellness-site .rio-section--challenge .rio-copy {
  max-width: 1040px;
  margin-top: 12px;
}

.rio-wellness-site .rio-section--challenge .rio-seed-image {
  height: 380px;
  margin-top: 56px;
  object-position: top;
}

.rio-wellness-site .rio-section--wellness-system {
  padding-block: 96px;
  overflow: hidden;
  background:
    radial-gradient(60% 45% at 50% 0%, rgba(41, 75, 149, 0.28), rgba(18, 18, 20, 0) 100%),
    radial-gradient(60% 45% at 50% 100%, rgba(41, 75, 149, 0.22), rgba(18, 18, 20, 0) 100%),
    var(--rio-night);
}

.rio-wellness-site .rio-page > .rio-section--wellness-system { margin-top: 96px; }

.rio-wellness-site .rio-section--wellness-system .rio-section-heading,
.rio-wellness-site .rio-section--wellness-system .rio-section__heading,
.rio-wellness-site .rio-section--wellness-system .rio-eyebrow,
.rio-wellness-site .rio-section--wellness-system .rio-card-title { color: #ffffff; }

.rio-wellness-site .rio-section--wellness-system .rio-section-eyebrow {
  border-color: rgba(255, 255, 255, 0.1);
  background: rgba(255, 255, 255, 0.06);
  color: #ffffff;
}

.rio-wellness-site .rio-section--wellness-system .rio-section-heading p:not(.rio-eyebrow),
.rio-wellness-site .rio-section--wellness-system .rio-process-heading p:not(.rio-eyebrow) {
  color: rgba(255, 255, 255, 0.8);
}

.rio-wellness-site .rio-section--wellness-system .rio-process-list p { color: rgba(255, 255, 255, 0.7); }

.rio-wellness-site .rio-comparison {
  position: relative;
  display: grid;
  grid-template-columns: 1fr;
  gap: 20px;
  margin-top: 64px;
  border: 2px solid #ffffff;
  border-radius: 20px;
  padding: 24px;
  background: linear-gradient(180deg, #2b2a2a 0%, #1b1a1a 100%);
}

.rio-wellness-site .rio-comparison__column {
  display: flex;
  flex-direction: column;
  gap: 32px;
  border-radius: 20px;
}

.rio-wellness-site .rio-comparison__column--with {
  padding: 24px;
  border-radius: 26px;
  background: linear-gradient(180deg, #3e424a 0%, #1c1b1b 100%);
  box-shadow: 2px 24px 26px rgba(0, 0, 0, 0.1), 8px 94px 47.5px rgba(0, 0, 0, 0.09);
}

.rio-wellness-site .rio-comparison__column .rio-card-title {
  display: flex;
  align-items: center;
  gap: 12px;
  color: #ffffff;
  font-size: 1.75rem;
  font-weight: 400;
  line-height: 1.5;
}

.rio-wellness-site .rio-comparison__column .rio-card-title::before {
  content: "";
  width: 28px;
  height: 28px;
  flex: 0 0 28px;
  background: center / contain no-repeat;
}

.rio-wellness-site .rio-comparison__column--without .rio-card-title::before { background-image: url("../icons/warning.svg"); }
.rio-wellness-site .rio-comparison__column--with .rio-card-title::before { background-image: url("../icons/target.svg"); }

.rio-wellness-site .rio-comparison-list {
  display: flex;
  flex-direction: column;
  gap: 24px;
}

.rio-wellness-site .rio-comparison-list li {
  --rio-comparison-icon: none;
  position: relative;
  display: flex;
  min-height: 70px;
  align-items: center;
  gap: 12px;
  border: 1px solid rgba(255, 255, 255, 0.24);
  border-radius: 16px;
  padding: 16px 16px 16px 64px;
  color: #ffffff;
  line-height: 1.6;
}

.rio-wellness-site .rio-comparison-list--without li {
  border-color: rgba(206, 88, 88, 0.4);
  background: rgba(206, 88, 88, 0.02);
}

.rio-wellness-site .rio-comparison-list--with li {
  background: radial-gradient(ellipse 100% 100% at 50% 50%, rgba(77, 116, 200, 0.15) 0%, rgba(52, 79, 137, 0.15) 50%, rgba(39, 60, 106, 0.15) 75%, rgba(26, 42, 74, 0.15) 100%);
  font-weight: 500;
}

.rio-wellness-site .rio-comparison-list li::before {
  content: "";
  position: absolute;
  left: 16px;
  width: 36px;
  height: 36px;
  border-radius: 50%;
  background-color: rgba(255, 255, 255, 0.05);
  background-image: var(--rio-comparison-icon);
  background-position: center;
  background-size: 18px;
  background-repeat: no-repeat;
}

.rio-wellness-site .rio-comparison-list--with li::before {
  background-color: transparent;
  background-image: var(--rio-comparison-icon), radial-gradient(circle at 50% 50%, #3f63b0 0%, #3d5483 100%);
}

.rio-wellness-site .rio-comparison-list li:nth-child(1) { --rio-comparison-icon: url("../icons/money-wavy.svg"); }
.rio-wellness-site .rio-comparison-list li:nth-child(2) { --rio-comparison-icon: url("../icons/megaphone.svg"); }
.rio-wellness-site .rio-comparison-list li:nth-child(3) { --rio-comparison-icon: url("../icons/list-checks.svg"); }
.rio-wellness-site .rio-comparison-list li:nth-child(4) { --rio-comparison-icon: url("../icons/tag.svg"); }
.rio-wellness-site .rio-comparison-list li:nth-child(5) { --rio-comparison-icon: url("../icons/users-three.svg"); }
.rio-wellness-site .rio-comparison-list li:nth-child(6) { --rio-comparison-icon: url("../icons/shield-warning.svg"); }

/* The source renders this divider `hidden lg:block`: below 1024px the two
   comparison columns stack and the rotated "VS" rule has nothing to divide. */
.rio-wellness-site .rio-comparison-vs {
  display: none;
  align-self: center;
  color: rgba(255, 255, 255, 0.35) !important;
  font-size: 0.6875rem !important;
  letter-spacing: 0.22px;
}

.rio-wellness-site .rio-process-heading { margin-top: 128px; }

.rio-wellness-site .rio-process-list {
  position: relative;
  display: flex;
  max-width: 980px;
  flex-direction: column;
  gap: 56px;
  margin: 64px auto 0;
}

.rio-wellness-site .rio-process-list::before {
  content: "";
  position: absolute;
  inset: 0 auto 0 50%;
  display: none;
  width: 3px;
  background: linear-gradient(180deg, var(--rio-night), var(--rio-brand) 12%, var(--rio-stone) 55%, rgba(255, 255, 255, 0.5));
  transform: translateX(-50%);
}

.rio-wellness-site .rio-process-list > li {
  position: relative;
  display: grid;
  grid-template-columns: 1fr;
  gap: 0;
}

.rio-wellness-site .rio-process-list > li > .rio-card-title {
  margin-top: 18px;
  font-size: 1.5rem;
  font-weight: 400;
  line-height: 1.5;
}

.rio-wellness-site .rio-process-list > li > .rio-copy { margin-top: 8px; }
.rio-wellness-site .rio-process-list > li > .rio-process-card__media { margin-top: 32px; }

.rio-wellness-site .rio-process-card__index {
  display: grid;
  width: 36px;
  height: 36px;
  place-items: center;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.1);
  color: #ffffff !important;
  font-size: 0.8125rem !important;
}

.rio-wellness-site .rio-process-card__media {
  width: 100%;
  height: 240px;
  overflow: hidden;
  border: 4px solid var(--rio-brand);
  border-radius: 16px;
  box-shadow: 0 4px 24px rgba(0, 0, 0, 0.08);
  transition: box-shadow 300ms ease;
}

.rio-wellness-site .rio-process-card__media > .rio-seed-image {
  width: 100%;
  height: 100%;
  border: 0;
  border-radius: 0;
  object-fit: cover;
  transition: transform 900ms ease;
}

.rio-wellness-site .rio-section--paradigm-shift { padding-block: 96px; }

.rio-wellness-site .rio-section--paradigm-shift > .rio-eyebrow,
.rio-wellness-site .rio-section--paradigm-shift > .rio-section__heading,
.rio-wellness-site .rio-section--paradigm-shift > .rio-copy {
  justify-self: center;
  text-align: center;
}

.rio-wellness-site .rio-section--paradigm-shift > .rio-eyebrow { margin-bottom: 16px; }

.rio-wellness-site .rio-section--paradigm-shift > .rio-copy {
  max-width: 1040px;
  margin-top: 12px;
}

.rio-wellness-site .rio-shift-panels {
  display: grid;
  grid-template-columns: 1fr;
  gap: 20px;
  margin-top: 64px;
}

.rio-wellness-site .rio-shift-panels__card {
  position: relative;
  display: flex;
  min-width: 0;
  flex-direction: column;
  gap: 0;
  border: 1px solid rgba(18, 18, 20, 0.4);
  border-radius: 20px;
  padding: 24px;
  background: rgba(18, 18, 20, 0.04);
  backdrop-filter: blur(3px);
}

.rio-wellness-site .rio-shift-panels__card .rio-eyebrow {
  display: inline-flex;
  font-weight: 600;
  width: fit-content;
  align-items: center;
  gap: 8px;
  border: 1px solid rgba(33, 54, 50, 0.1);
  border-radius: 70px;
  padding: 6px 16px 6px 8px;
  background: var(--rio-brand);
  color: #ffffff;
}

.rio-wellness-site .rio-shift-panels__card .rio-eyebrow::before {
  content: "";
  width: 24px;
  height: 24px;
  flex: 0 0 24px;
  background: center / contain no-repeat;
}

.rio-wellness-site .rio-shift-panels__card:nth-child(1) .rio-eyebrow::before { background-image: url("../icons/clock-counter-clockwise.svg"); }
.rio-wellness-site .rio-shift-panels__card:nth-child(2) .rio-eyebrow::before { background-image: url("../icons/arrow-circle-right.svg"); }
.rio-wellness-site .rio-shift-panels__card:nth-child(3) .rio-eyebrow::before { background-image: url("../icons/target-badge.svg"); }

.rio-wellness-site .rio-shift-panels__card .rio-card-title {
  max-width: 288px;
  margin-top: 12px;
  color: rgba(18, 18, 20, 0.8);
  font-size: 1.25rem;
  line-height: 1.5;
}

.rio-wellness-site .rio-shift-panels__card > .rio-shift-panel__items { margin-top: 25px; }

.rio-wellness-site .rio-shift-panel__items {
  display: flex;
  width: 100%;
  flex-direction: column;
  gap: 0;
  border-radius: 12px;
  padding: 2px 12px;
  background: rgba(255, 255, 255, 0.5);
}

.rio-wellness-site .rio-shift-panel__items li {
  border-bottom: 1px solid rgba(18, 18, 20, 0.1);
  padding-block: 12px;
  color: rgba(18, 18, 20, 0.8);
  font-size: 1rem;
  line-height: 1.5;
}

.rio-wellness-site .rio-shift-panel__items li:last-child { border-bottom: 0; }

.rio-wellness-site .rio-shift-panel__takeaway {
  margin-top: 25px !important;
  color: #123f9f !important;
  font-size: 1.5rem !important;
  font-weight: 600;
  line-height: 1.5 !important;
  opacity: 0.8;
}

.rio-wellness-site .rio-shift-panels__card:nth-child(3) .rio-seed-image { height: 260px; }

.rio-wellness-site .rio-section--roi-tool {
  justify-items: center;
  gap: 0;
  padding-block: 96px;
  text-align: center;
}

.rio-wellness-site .rio-main--page .rio-section--roi-tool,
.rio-wellness-site .rio-main--full-width .rio-section--roi-tool { padding-top: 128px; }
.rio-wellness-site .rio-main--page .rio-section--roi-tool > .rio-section__heading,
.rio-wellness-site .rio-main--full-width .rio-section--roi-tool > .rio-section__heading { max-width: none; }
.rio-wellness-site .rio-main--full-width .rio-section--roi-tool > .rio-eyebrow {
  display: inline-flex;
  align-items: center;
  margin-bottom: 16px;
  border: 1px solid rgba(33, 54, 50, 0.1);
  border-radius: 70px;
  padding: 9px 24px;
  background: rgba(33, 54, 50, 0.06);
  color: #213632;
  font-weight: 500;
  line-height: 18px;
}
.rio-wellness-site .rio-section--roi-tool > .rio-eyebrow { margin-bottom: 16px; }

.rio-wellness-site .rio-section--roi-tool > .rio-copy {
  max-width: 1040px;
  margin-top: 12px;
  line-height: 25px;
}
.rio-wellness-site .rio-section--roi-tool > .rio-roi-calculator {
  margin-top: 64px;
  text-align: left;
}

.rio-wellness-site .rio-section--facility-visual {
  --rio-section-gutter: 0px;
  --rio-section-max: 100%;
  overflow: hidden;
}

.rio-wellness-site .rio-section--facility-visual::before,
.rio-wellness-site .rio-section--facility-visual::after {
  content: "";
  position: absolute;
  inset-inline: 0;
  z-index: 1;
  height: 96px;
  pointer-events: none;
}

.rio-wellness-site .rio-section--facility-visual::before {
  top: 0;
  background: linear-gradient(180deg, #ffffff, rgba(255, 255, 255, 0));
}
.rio-wellness-site .rio-section--facility-visual::after {
  bottom: 0;
  background: linear-gradient(0deg, #ffffff, rgba(255, 255, 255, 0));
}
.rio-wellness-site .rio-section--facility-visual .rio-seed-image {
  height: 420px;
  border-radius: 0;
}

.rio-wellness-site .rio-section--testimonials { padding-block: 96px; }
.rio-wellness-site .rio-testimonials {
  display: flex;
  flex-direction: column;
  gap: 64px;
}
.rio-wellness-site .rio-testimonials__heading {
  display: flex;
  width: 100%;
  flex-direction: column;
  align-items: center;
  gap: 12px;
  text-align: center;
}
.rio-wellness-site .rio-testimonials__heading > * { margin-block: 0; }
.rio-wellness-site .rio-testimonials__heading > .rio-section-eyebrow { margin-bottom: 4px; }
.rio-wellness-site .rio-testimonials__heading > p:last-child { width: 100%; max-width: 1040px; }
.rio-wellness-site .rio-testimonials ul {
  display: grid;
  grid-template-columns: 1fr;
  gap: 32px;
}
.rio-wellness-site .rio-testimonials__item {
  border: 1px solid rgba(18, 18, 20, 0.1);
  border-radius: 16px;
  padding: 24px;
  background: #ffffff;
}
.rio-wellness-site .rio-testimonials figure {
  display: flex;
  height: 100%;
  flex-direction: column;
  justify-content: space-between;
  gap: 24px;
  margin: 0;
}
.rio-wellness-site .rio-testimonials__quote::before {
  content: "";
  display: block;
  width: 24px;
  height: 24px;
  margin-bottom: 24px;
  background: url("../icons/quote.svg") center / contain no-repeat;
}
.rio-wellness-site .rio-testimonials__headline {
  color: var(--rio-brand) !important;
  font-family: var(--rio-font-numeric);
  font-size: 2rem !important;
  font-weight: 500;
  letter-spacing: -0.0625em;
  line-height: 1.5 !important;
}
.rio-wellness-site .rio-testimonials blockquote { margin: 24px 0 0; }
.rio-wellness-site .rio-testimonials blockquote p { margin: 0; color: #000000; line-height: 22px; }
.rio-wellness-site .rio-testimonials figcaption {
  display: flex;
  align-items: center;
  gap: 12px;
  color: var(--rio-stone);
}
.rio-wellness-site .rio-testimonials figcaption .rio-seed-image {
  width: 48px;
  height: 48px;
  flex: 0 0 48px;
  border-radius: 50%;
}
.rio-wellness-site .rio-testimonials figcaption > span { display: flex; flex-direction: column; }
.rio-wellness-site .rio-testimonials figcaption strong { color: var(--rio-brand); font-weight: 600; }
.rio-wellness-site .rio-testimonials figcaption > span > span { color: #4f4f4f; opacity: 0.8; }

.rio-wellness-site .rio-section--results,
.rio-wellness-site .rio-section--principles {
  row-gap: 48px;
  padding-block: 96px;
}
.rio-wellness-site .rio-outcomes,
.rio-wellness-site .rio-principle-cards {
  display: flex;
  flex-direction: column;
  gap: 32px;
}
.rio-wellness-site .rio-outcomes > li,
.rio-wellness-site .rio-principle-cards > li {
  position: relative;
  min-height: 78px;
  border-bottom: 1px solid var(--rio-line);
  padding: 0 0 24px 102px;
}

.rio-wellness-site .rio-outcomes > li:last-child,
.rio-wellness-site .rio-principle-cards > li:last-child { border-bottom: 0; }
.rio-wellness-site .rio-outcomes > li::before,
.rio-wellness-site .rio-principle-cards > li::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 78px;
  height: 78px;
  border-radius: 50%;
  background: #f7f7f7 center / 32px no-repeat;
}
/* Six outcomes, six icons, in the source's own order. */
.rio-wellness-site .rio-outcomes > li:nth-child(1)::before { background-image: url("../icons/result-launch.svg"); }
.rio-wellness-site .rio-outcomes > li:nth-child(2)::before { background-image: url("../icons/result-breakeven.svg"); }
.rio-wellness-site .rio-outcomes > li:nth-child(3)::before { background-image: url("../icons/result-retain.svg"); }
.rio-wellness-site .rio-outcomes > li:nth-child(4)::before { background-image: url("../icons/result-revenue.svg"); }
.rio-wellness-site .rio-outcomes > li:nth-child(5)::before { background-image: url("../icons/result-ops.svg"); }
.rio-wellness-site .rio-outcomes > li:nth-child(6)::before { background-image: url("../icons/result-system.svg"); }
.rio-wellness-site .rio-principle-cards > li:nth-child(1)::before { background-image: url("../icons/approach-rocket.svg"); }
.rio-wellness-site .rio-principle-cards > li:nth-child(2)::before { background-image: url("../icons/book-open.svg"); }
.rio-wellness-site .rio-principle-cards > li:nth-child(3)::before { background-image: url("../icons/headset.svg"); }
.rio-wellness-site .rio-principle-cards > li:nth-child(4)::before { background-image: url("../icons/approach-chart.svg"); }
.rio-wellness-site .rio-feature-list__content { display: flex; flex-direction: column; gap: 8px; }
.rio-wellness-site .rio-feature-list__label { color: var(--rio-ink); font-size: 1rem; font-weight: 500; }
.rio-wellness-site .rio-feature-list__copy { color: #4c4c4c; line-height: 1.5; opacity: 0.8; }

/* About and Staff Training share the source blueprint intro wash. */
.rio-wellness-site .rio-section--problem,
.rio-wellness-site .rio-section--training-problem {
  --rio-section-max: 1280px;
  isolation: isolate;
  row-gap: 56px;
  overflow: hidden;
  padding-block: 96px;
}

.rio-wellness-site .rio-section--problem::before,
.rio-wellness-site .rio-section--training-problem::before,
.rio-wellness-site .rio-section--problem::after,
.rio-wellness-site .rio-section--training-problem::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  pointer-events: none;
}

.rio-wellness-site .rio-section--problem::before,
.rio-wellness-site .rio-section--training-problem::before {
  background-image:
    repeating-linear-gradient(to right, rgba(41, 75, 149, 0.07) 0 1px, transparent 1px 64px),
    repeating-linear-gradient(to bottom, rgba(41, 75, 149, 0.07) 0 1px, transparent 1px 64px);
}

.rio-wellness-site .rio-section--problem::after,
.rio-wellness-site .rio-section--training-problem::after {
  background:
    radial-gradient(58% 52% at 42% 46%, #ffffff 0%, rgba(255, 255, 255, 0.92) 45%, rgba(255, 255, 255, 0) 78%),
    radial-gradient(95% 85% at 8% 62%, rgba(29, 61, 138, 0.75) 0%, rgba(96, 130, 214, 0.35) 45%, rgba(255, 255, 255, 0) 78%);
}

.rio-wellness-site .rio-intro-row,
.rio-wellness-site .rio-intro-copy,
.rio-wellness-site .rio-training-problem__copy {
  display: flex;
  flex-direction: column;
}

.rio-wellness-site .rio-intro-row { gap: 32px; }
.rio-wellness-site .rio-section--training-problem .rio-intro-row { gap: 40px; }
.rio-wellness-site .rio-intro-copy,
.rio-wellness-site .rio-training-problem__copy { gap: 24px; }
.rio-wellness-site .rio-intro-row > *,
.rio-wellness-site .rio-intro-copy > *,
.rio-wellness-site .rio-training-problem__copy > * { margin-block: 0; }
.rio-wellness-site .rio-intro-row > .rio-section__heading {
  width: 100%;
  max-width: none;
}
.rio-wellness-site .rio-section--problem .rio-intro-row > .rio-section__heading {
  font-size: 2rem;
  letter-spacing: -0.052em;
  line-height: 1;
}
.rio-wellness-site .rio-section--training-problem .rio-intro-row > .rio-section__heading {
  font-size: clamp(2rem, 3.4vw, 2.5rem);
  letter-spacing: -0.052em;
  line-height: 1;
}
.rio-wellness-site .rio-section--problem .rio-intro-copy > .rio-copy {
  color: var(--rio-ink);
  font-size: 2rem;
  line-height: 1.5;
}
.rio-wellness-site .rio-section--problem .rio-intro-copy > .rio-copy:last-child {
  color: rgba(18, 18, 20, 0.5);
}
.rio-wellness-site .rio-section--training-problem .rio-training-problem__copy > .rio-copy:first-child {
  color: var(--rio-ink);
  font-size: clamp(1.5rem, 2.4vw, 2rem);
  line-height: 1.5;
}
.rio-wellness-site .rio-section--problem > .rio-seed-image,
.rio-wellness-site .rio-section--training-problem > .rio-seed-image {
  height: 320px;
  border-radius: 12px;
}

.rio-wellness-site .rio-training-info-card {
  display: flex;
  flex-direction: column;
  gap: 0;
  border: 1px solid rgba(18, 18, 20, 0.1);
  border-radius: 16px;
  padding: 20px;
  background: rgba(255, 255, 255, 0.5);
  backdrop-filter: blur(3px);
}
.rio-wellness-site .rio-training-info-card .rio-card-title {
  margin-bottom: 8px;
  font-size: 1rem;
  font-weight: 600;
  line-height: 24px;
}
.rio-wellness-site .rio-training-info-card .rio-copy,
.rio-wellness-site .rio-training-info-card .rio-training-quote {
  color: rgba(18, 18, 20, 0.8) !important;
  font-size: 0.875rem;
  font-weight: 400;
  line-height: 20px;
}

/* About: dark mission and modality bands. */
.rio-wellness-site .rio-section--deconstructed-solution,
.rio-wellness-site .rio-section--modality-expertise,
.rio-wellness-site .rio-section--modality-curriculum,
.rio-wellness-site .rio-section--training-options,
.rio-wellness-site .rio-section--continuing-education {
  background: var(--rio-night);
}

.rio-wellness-site .rio-section--deconstructed-solution {
  --rio-section-max: 1280px;
  row-gap: 56px;
  padding-block: 64px 80px;
}
.rio-wellness-site .rio-about-mission,
.rio-wellness-site .rio-about-model {
  display: grid;
  grid-template-columns: 1fr;
  align-items: center;
  gap: 40px;
}
.rio-wellness-site .rio-about-mission__copy,
.rio-wellness-site .rio-about-model__copy {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 12px;
}
.rio-wellness-site .rio-section--deconstructed-solution .rio-eyebrow,
.rio-wellness-site .rio-section--deconstructed-solution .rio-section__heading,
.rio-wellness-site .rio-section--modality-expertise .rio-eyebrow,
.rio-wellness-site .rio-section--modality-expertise .rio-section__heading,
.rio-wellness-site .rio-section--modality-curriculum .rio-eyebrow,
.rio-wellness-site .rio-section--modality-curriculum .rio-section__heading,
.rio-wellness-site .rio-section--training-options .rio-eyebrow,
.rio-wellness-site .rio-section--training-options .rio-section__heading,
.rio-wellness-site .rio-section--continuing-education .rio-eyebrow,
.rio-wellness-site .rio-section--continuing-education .rio-section__heading {
  color: #ffffff;
}
.rio-wellness-site .rio-section--deconstructed-solution .rio-copy,
.rio-wellness-site .rio-section--modality-expertise .rio-copy,
.rio-wellness-site .rio-section--modality-curriculum .rio-copy,
.rio-wellness-site .rio-section--training-options .rio-copy,
.rio-wellness-site .rio-section--continuing-education .rio-copy {
  color: rgba(255, 255, 255, 0.8);
}
.rio-wellness-site .rio-section--deconstructed-solution .rio-section-eyebrow,
.rio-wellness-site .rio-section--modality-expertise .rio-section-eyebrow,
.rio-wellness-site .rio-section--modality-curriculum .rio-section-eyebrow,
.rio-wellness-site .rio-section--training-options .rio-section-eyebrow,
.rio-wellness-site .rio-section--continuing-education .rio-section-eyebrow,
.rio-wellness-site .rio-about-vision .rio-section-eyebrow {
  border-color: rgba(255, 255, 255, 0.1);
  background: rgba(255, 255, 255, 0.06);
  color: #ffffff;
  font-weight: 500;
}
.rio-wellness-site .rio-about-mission .rio-seed-image {
  height: 280px;
  border: 4px solid var(--rio-brand);
  border-radius: 16px;
}
.rio-wellness-site .rio-about-model { margin-top: 24px; }
.rio-wellness-site .rio-about-model > .rio-seed-image {
  height: 280px;
  border-radius: 16px;
  background: #ffffff;
  object-fit: contain;
}
.rio-wellness-site .rio-deconstructed-cards {
  display: grid;
  grid-template-columns: 1fr;
  gap: 1px;
  overflow: hidden;
  border: 1px solid rgba(255, 255, 255, 0.1);
  border-radius: 20px;
  background: rgba(255, 255, 255, 0.1);
}
.rio-wellness-site .rio-deconstructed-cards > li {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 12px;
  padding: 32px;
  background: var(--rio-night);
  text-align: center;
}
.rio-wellness-site .rio-deconstructed-cards .rio-card-index {
  display: grid;
  width: 32px;
  height: 32px;
  place-items: center;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.1);
  color: rgba(255, 255, 255, 0.8);
  font-size: 0.75rem;
}
.rio-wellness-site .rio-deconstructed-cards .rio-card-title {
  color: #ffffff;
  font-size: 1.25rem;
  font-weight: 400;
  line-height: 1.375;
}
.rio-wellness-site .rio-deconstructed-cards .rio-copy {
  color: rgba(255, 255, 255, 0.6);
  font-size: 0.875rem;
  line-height: 1.625;
}

.rio-wellness-site .rio-section--modality-expertise,
.rio-wellness-site .rio-section--modality-curriculum {
  --rio-section-max: 1280px;
  justify-items: center;
  row-gap: 12px;
  padding-block: 80px;
  text-align: center;
}
.rio-wellness-site .rio-section--modality-expertise > .rio-copy { max-width: 1040px; }
.rio-wellness-site .rio-modality-expertise,
.rio-wellness-site .rio-training-modalities {
  display: grid;
  width: 100%;
  grid-template-columns: 1fr;
  gap: 16px;
  margin-top: 52px;
}

/* 16px under the eyebrow, per the source's section heading. */
.rio-wellness-site .rio-section--modality-expertise > .rio-eyebrow,
.rio-wellness-site .rio-section--modality-curriculum > .rio-eyebrow,
.rio-wellness-site .rio-about-vision > .rio-eyebrow,
.rio-wellness-site .rio-about-implementation > .rio-eyebrow,
.rio-wellness-site .rio-about-revenue > .rio-eyebrow,
.rio-wellness-site .rio-about-assessment > .rio-eyebrow { margin-bottom: 4px; }
.rio-wellness-site .rio-modality-expertise > li {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 12px;
  border: 1px solid rgba(255, 255, 255, 0.1);
  border-radius: 16px;
  padding: 24px;
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.06), rgba(255, 255, 255, 0));
}
.rio-wellness-site .rio-modality-expertise .rio-card-title {
  color: #ffffff;
  font-size: 1.25rem;
  font-weight: 400;
  line-height: 1.375;
}
.rio-wellness-site .rio-modality-expertise .rio-copy {
  color: rgba(255, 255, 255, 0.6);
  font-size: 0.875rem;
  line-height: 1.625;
}

/* About: white approach regions and source card families. */
.rio-wellness-site .rio-section--approach {
  --rio-section-max: 1280px;
  gap: 0;
}
.rio-wellness-site .rio-about-vision {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 12px;
  padding-block: 0 96px;
  background: var(--rio-night);
  color: #ffffff;
  text-align: center;
  box-shadow: 0 0 0 100vmax var(--rio-night);
  clip-path: inset(0 -100vmax);
}
.rio-wellness-site .rio-about-vision .rio-eyebrow,
.rio-wellness-site .rio-about-vision .rio-section__heading { color: #ffffff; }
.rio-wellness-site .rio-about-vision .rio-copy { max-width: 820px; color: rgba(255, 255, 255, 0.8); }
.rio-wellness-site .rio-about-implementation,
.rio-wellness-site .rio-about-revenue,
.rio-wellness-site .rio-about-assessment {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 12px;
  padding-block: 80px;
  text-align: center;
}
.rio-wellness-site .rio-about-implementation > .rio-copy { max-width: 1040px; }
.rio-wellness-site .rio-implementation-cards {
  display: grid;
  width: 100%;
  grid-template-columns: 1fr;
  margin-top: 44px;
  border: 1px solid rgba(18, 18, 20, 0.4);
  border-radius: 20px;
  padding: 24px;
  background: rgba(18, 18, 20, 0.04);
  backdrop-filter: blur(3px);
}
.rio-wellness-site .rio-implementation-cards__card {
  display: flex;
  flex-direction: column;
  gap: 12px;
  padding: 24px;
  text-align: left;
}
.rio-wellness-site .rio-implementation-cards__card + .rio-implementation-cards__card {
  border-top: 1px solid var(--rio-line);
}

.rio-wellness-site .rio-implementation-cards__card .rio-eyebrow,
.rio-wellness-site .rio-revenue-cards > li .rio-eyebrow {
  color: var(--rio-ink);
  font-size: 0.8125rem;
  font-weight: 400;
  letter-spacing: normal;
  line-height: 21px;
}

.rio-wellness-site .rio-implementation-cards__card .rio-card-title,
.rio-wellness-site .rio-revenue-cards > li .rio-card-title,
.rio-wellness-site .rio-training-outcomes > li .rio-card-title {
  color: rgba(18, 18, 20, 0.8);
  font-size: 1.5rem;
  font-weight: 500;
  line-height: 1.5;
}

.rio-wellness-site .rio-implementation-cards__card .rio-copy,
.rio-wellness-site .rio-revenue-cards > li .rio-copy,
.rio-wellness-site .rio-training-outcomes > li .rio-copy {
  color: rgba(18, 18, 20, 0.8);
  line-height: 1.5;
}
.rio-wellness-site .rio-implementation-cards__card .rio-eyebrow::before,
.rio-wellness-site .rio-revenue-cards > li::before,
.rio-wellness-site .rio-training-outcomes > li::before {
  content: "";
  display: block;
  width: 44px;
  height: 44px;
  margin-bottom: 12px;
  border-radius: 8px;
  background: #ffffff center / 24px no-repeat;
}
.rio-wellness-site .rio-implementation-cards__card:nth-child(1) .rio-eyebrow::before { background-image: url("../icons/notebook.svg"); }
.rio-wellness-site .rio-implementation-cards__card:nth-child(2) .rio-eyebrow::before { background-image: url("../icons/chart-bar.svg"); }
.rio-wellness-site .rio-implementation-cards__card:nth-child(3) .rio-eyebrow::before { background-image: url("../icons/road-horizon.svg"); }
.rio-wellness-site .rio-implementation-cards__card:nth-child(4) .rio-eyebrow::before { background-image: url("../icons/presentation-chart.svg"); }
.rio-wellness-site .rio-revenue-cards,
.rio-wellness-site .rio-assessment-cards {
  display: grid;
  width: 100%;
  grid-template-columns: 1fr;
  gap: 20px;
  margin-top: 44px;
}
.rio-wellness-site .rio-revenue-cards > li {
  display: flex;
  flex-direction: column;
  gap: 12px;
  border: 1px solid rgba(18, 18, 20, 0.4);
  border-radius: 20px;
  padding: 24px;
  background: rgba(18, 18, 20, 0.04);
  text-align: left;
  backdrop-filter: blur(3px);
}
.rio-wellness-site .rio-revenue-cards > li:nth-child(1)::before { background-image: url("../icons/users-three-dark.svg"); }
.rio-wellness-site .rio-revenue-cards > li:nth-child(2)::before { background-image: url("../icons/package.svg"); }
.rio-wellness-site .rio-revenue-cards > li:nth-child(3)::before { background-image: url("../icons/currency-dollar.svg"); }
.rio-wellness-site .rio-revenue-cards > li:nth-child(4)::before { background-image: url("../icons/chat-circle-text.svg"); }
.rio-wellness-site .rio-about-assessment > .rio-seed-image {
  width: 100%;
  height: 320px;
  margin-top: 44px;
}
.rio-wellness-site .rio-assessment-cards {
  gap: 1px;
  overflow: hidden;
  /* 32px below the photo, on top of the section's own 12px stack. */
  margin-top: 20px;
  border: 1px solid rgba(18, 18, 20, 0.1);
  border-radius: 20px;
  background: rgba(18, 18, 20, 0.1);
}
.rio-wellness-site .rio-assessment-cards > li {
  display: flex;
  flex-direction: column;
  gap: 12px;
  padding: 32px;
  background: #ffffff;
  text-align: center;
}
.rio-wellness-site .rio-assessment-cards .rio-card-title {
  font-size: 1.25rem;
  font-weight: 400;
  line-height: 1.375;
}
.rio-wellness-site .rio-assessment-cards .rio-copy {
  color: #4c4c4c;
  font-size: 0.875rem;
  line-height: 1.625;
}

/* Staff Training curriculum, options and continuing education. */
.rio-wellness-site .rio-training-modalities { gap: 20px; }
.rio-wellness-site .rio-training-modalities > li {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 20px;
  border: 1px solid rgba(255, 255, 255, 0.24);
  border-radius: 16px;
  padding: 16px;
  background: radial-gradient(ellipse 100% 100% at 50% 50%, rgba(77, 116, 200, 0.15) 0%, rgba(52, 79, 137, 0.15) 50%, rgba(26, 42, 74, 0.15) 100%);
}
.rio-wellness-site .rio-training-modalities .rio-seed-image {
  width: 100%;
  height: 280px;
  border-radius: 12px;
}
.rio-wellness-site .rio-training-modalities .rio-card-title {
  color: rgba(255, 255, 255, 0.8);
  font-size: 1.5rem;
  font-weight: 400;
  line-height: 1.5;
}
.rio-wellness-site .rio-training-modalities .rio-copy {
  color: rgba(255, 255, 255, 0.7);
  text-align: center;
}

.rio-wellness-site .rio-section--training-options {
  --rio-section-max: 1280px;
  row-gap: 12px;
  padding-bottom: 80px;
}
.rio-wellness-site .rio-training-options {
  display: grid;
  grid-template-columns: 1fr;
  gap: 20px;
  margin-top: 44px;
}
.rio-wellness-site .rio-training-options > li {
  display: flex;
  min-width: 0;
  flex-direction: column;
  gap: 16px;
  border: 1px solid rgba(255, 255, 255, 0.24);
  border-radius: 16px;
  padding: 24px;
  background: radial-gradient(ellipse 100% 100% at 50% 50%, rgba(77, 116, 200, 0.15) 0%, rgba(52, 79, 137, 0.15) 50%, rgba(26, 42, 74, 0.15) 100%);
}
.rio-wellness-site .rio-training-options .rio-card-title { color: #ffffff; font-size: 1.5rem; font-weight: 400; line-height: 2rem; }
.rio-wellness-site .rio-training-options .rio-option-heading { color: #ffffff; font-size: 1rem; font-weight: 400; line-height: 1.5; }
.rio-wellness-site .rio-training-options > li > .rio-eyebrow {
  color: rgba(255, 255, 255, 0.6);
  font-size: 0.8125rem;
  font-weight: 400;
  letter-spacing: 0.08em;
  line-height: 1.5;
}
.rio-wellness-site .rio-training-options > li > .rio-copy { color: rgba(255, 255, 255, 0.8); line-height: 1.5; }
.rio-wellness-site .rio-training-options .rio-option-heading + .rio-copy {
  margin-top: -12px;
  color: rgba(255, 255, 255, 0.7);
  font-size: 0.875rem;
  line-height: 1.25rem;
}
.rio-wellness-site .rio-training-includes {
  display: flex;
  flex-direction: column;
  gap: 8px;
  margin-top: 8px;
}
.rio-wellness-site .rio-training-includes > li {
  padding-left: 24px;
  background: url("../icons/check.svg") left 4px / 14px no-repeat;
  color: rgba(255, 255, 255, 0.8);
  font-size: 0.875rem;
  line-height: 22px;
}
/* Only the continuing-education table is a 520px scroller in the source; the
   two pricing tables inside the option cards are plain full-width tables that
   squeeze on a phone. */
.rio-wellness-site .rio-training-pricing,
.rio-wellness-site .rio-training-ongoing {
  width: 100%;
  margin: 16px 0 0;
}
.rio-wellness-site .rio-training-ongoing {
  overflow-x: auto;
  overscroll-behavior-inline: contain;
}
.rio-wellness-site .rio-training-ongoing table { min-width: 520px; }
.rio-wellness-site .rio-training-pricing table,
.rio-wellness-site .rio-training-ongoing table {
  width: 100%;
  border: 0;
  border-collapse: collapse;
  color: rgba(255, 255, 255, 0.8);
  font-size: 0.875rem;
  line-height: 1.25rem;
  text-align: left;
}
.rio-wellness-site .rio-training-pricing th,
.rio-wellness-site .rio-training-pricing td,
.rio-wellness-site .rio-training-ongoing th,
.rio-wellness-site .rio-training-ongoing td {
  border: 0;
  border-top: 1px solid rgba(255, 255, 255, 0.1);
  padding: 12px 10px 12px 0;
  font-weight: 400;
}
.rio-wellness-site .rio-training-pricing thead th,
.rio-wellness-site .rio-training-ongoing thead th {
  border-top: 0;
  padding-top: 0;
  color: rgba(255, 255, 255, 0.5);
  font-size: 0.6875rem;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.rio-wellness-site .rio-training-pricing thead th { padding-bottom: 8px; }
.rio-wellness-site .rio-training-ongoing thead th { padding-bottom: 12px; }
.rio-wellness-site .rio-training-ongoing tbody th { color: rgba(255, 255, 255, 0.6); }
.rio-wellness-site .rio-training-ongoing tbody td { color: rgba(255, 255, 255, 0.9); }
.rio-wellness-site .rio-training-footnote {
  margin-top: 12px !important;
  color: rgba(255, 255, 255, 0.5) !important;
  font-size: 0.75rem !important;
  line-height: 1.625;
}

.rio-wellness-site .rio-section--continuing-education {
  --rio-section-max: 1280px;
  row-gap: 40px;
  padding-bottom: 96px;
}
.rio-wellness-site .rio-continuing-copy {
  display: flex;
  min-width: 0;
  flex-direction: column;
  align-items: flex-start;
  gap: 12px;
}
.rio-wellness-site .rio-continuing-copy > .rio-copy { max-width: 620px; }
.rio-wellness-site .rio-continuing-copy > .rio-section__heading { width: fit-content; }
.rio-wellness-site .rio-continuing-copy .rio-training-ongoing { margin-top: 24px; }
.rio-wellness-site .rio-section--continuing-education > .rio-seed-image {
  width: 100%;
  height: 360px;
  border-radius: 16px;
}

.rio-wellness-site .rio-section--training-outcomes {
  --rio-section-max: 1280px;
  justify-items: center;
  row-gap: 12px;
  padding-block: 80px;
  text-align: center;
}
.rio-wellness-site .rio-training-outcomes {
  display: grid;
  width: 100%;
  grid-template-columns: 1fr;
  gap: 20px;
  margin-top: 44px;
}
.rio-wellness-site .rio-training-outcomes > li {
  display: flex;
  flex-direction: column;
  gap: 12px;
  border: 1px solid rgba(18, 18, 20, 0.4);
  border-radius: 20px;
  padding: 24px;
  background: rgba(18, 18, 20, 0.04);
  text-align: left;
  backdrop-filter: blur(3px);
}
.rio-wellness-site .rio-training-outcomes > li:nth-child(1)::before { background-image: url("../icons/user-sound.svg"); }
.rio-wellness-site .rio-training-outcomes > li:nth-child(2)::before { background-image: url("../icons/user-check.svg"); }
.rio-wellness-site .rio-training-outcomes > li:nth-child(3)::before { background-image: url("../icons/money.svg"); }

/* ROI calculator and lead gate: presentation only; behavior is a later task. */
.rio-wellness-site .rio-roi-calculator {
  display: flex;
  width: 100%;
  max-width: 1240px;
  flex-direction: column;
  gap: 24px;
  border: 0;
  padding: 0;
  background: transparent;
  line-height: 1.5;
}

.rio-wellness-site .rio-roi-calculator__steps {
  display: grid;
  grid-template-columns: 1fr;
  gap: 16px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.rio-wellness-site .rio-roi-calculator__steps > li {
  display: flex;
  min-width: 0;
  gap: 12px;
  border: 1px solid rgba(18, 18, 20, 0.1);
  border-radius: 16px;
  padding: 16px;
}

.rio-wellness-site .rio-roi-calculator__step-number {
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 8px;
  padding: 16px 10px;
  background: rgba(18, 18, 20, 0.04);
  color: var(--rio-stone);
  font-size: 1.5rem;
  font-weight: 500;
  line-height: 32px;
}

.rio-wellness-site .rio-roi-calculator__step-copy {
  display: flex;
  min-width: 0;
  flex-direction: column;
  gap: 4px;
  color: var(--rio-stone);
  line-height: 1.5;
}

.rio-wellness-site .rio-roi-calculator__step-copy strong {
  color: var(--rio-brand);
  font-weight: 600;
}

.rio-wellness-site .rio-roi-calculator__workspace,
.rio-wellness-site .rio-roi-calculator__inputs,
.rio-wellness-site .rio-roi-calculator__performance-stack {
  display: flex;
  width: 100%;
  min-width: 0;
  flex-direction: column;
}

.rio-wellness-site .rio-roi-calculator__workspace { gap: 32px; }
.rio-wellness-site .rio-roi-calculator__inputs { gap: 24px; }
.rio-wellness-site .rio-roi-calculator__performance-stack { gap: 12px; }
.rio-wellness-site .rio-roi-calculator__results { width: 100%; min-width: 0; }

.rio-wellness-site .rio-roi-calculator__card {
  border: 1px solid rgba(18, 18, 20, 0.1);
  border-radius: 16px;
  padding: 24px;
  background: #ffffff;
  transition: box-shadow 300ms ease;
}

.rio-wellness-site .rio-roi-calculator__facility,
.rio-wellness-site .rio-roi-calculator__performance {
  display: flex;
  flex-direction: column;
  gap: 24px;
}

.rio-wellness-site .rio-roi-calculator__card > h2,
.rio-wellness-site .rio-roi-calculator__card > h3,
.rio-wellness-site .rio-roi-calculator__breakdown > h2,
.rio-wellness-site .rio-roi-calculator__breakdown > h3,
.rio-wellness-site .rio-roi-calculator__follow-up > h2,
.rio-wellness-site .rio-roi-calculator__follow-up > h3,
.rio-wellness-site .rio-roi-calculator__services > legend {
  color: #000000;
  font-size: 1.25rem;
  font-weight: 500;
  line-height: 28px;
}

.rio-wellness-site .rio-roi-calculator__facility-fields {
  display: grid;
  grid-template-columns: 1fr;
  gap: 16px;
}

.rio-wellness-site .rio-roi-calculator__facility-fields > label,
.rio-wellness-site .rio-contact-form label,
.rio-wellness-site .rio-roi-gate label {
  display: flex;
  flex-direction: column;
  gap: 4px;
  color: var(--rio-stone);
  font-size: 0.75rem;
  font-weight: 400;
  line-height: 1.5;
  text-transform: uppercase;
}
/* The inquiry forms label at ink/500 with 0.08em tracking; the calculator's
   own field labels stay the untracked stone run above. */
.rio-wellness-site .rio-contact-form label,
.rio-wellness-site .rio-roi-gate label {
  color: var(--rio-ink);
  font-weight: 500;
  letter-spacing: 0.08em;
  line-height: 16px;
}

/* Only the lead forms draw the tracked 500-weight label; the calculator's own
   fields are 400 and untracked in the source. */
.rio-wellness-site .rio-roi-calculator__facility-fields > label {
  font-weight: 400;
  letter-spacing: normal;
}

.rio-wellness-site .rio-roi-calculator input,
.rio-wellness-site .rio-roi-calculator select,
.rio-wellness-site .rio-contact-form input,
.rio-wellness-site .rio-contact-form textarea,
.rio-wellness-site .rio-roi-gate input {
  width: 100%;
  min-height: 40px;
  border: 0;
  border-radius: 8px;
  padding: 8px 12px;
  background: rgba(0, 0, 0, 0.03);
  color: rgba(0, 0, 0, 0.8);
  font-size: 1rem;
  font-weight: 500;
}

.rio-wellness-site .rio-contact-form input,
.rio-wellness-site .rio-contact-form textarea,
.rio-wellness-site .rio-roi-gate input {
  min-height: 48px;
  border: 1px solid rgba(18, 18, 20, 0.1);
  border-radius: 12px;
  padding: 14px 16px;
  background: #ffffff;
  color: var(--rio-ink);
  font-weight: 400;
  line-height: 1.5;
}

.rio-wellness-site .rio-roi-calculator__currency,
.rio-wellness-site .rio-roi-calculator__select {
  position: relative;
  display: flex;
  min-height: 40px;
  align-items: center;
  border-radius: 8px;
  padding-inline: 12px;
  background: rgba(0, 0, 0, 0.03);
  color: rgba(0, 0, 0, 0.8);
  font-size: 1rem;
  font-weight: 500;
}

.rio-wellness-site .rio-roi-calculator__currency input,
.rio-wellness-site .rio-roi-calculator__select select {
  min-height: 0;
  padding-inline: 4px;
  background: transparent;
}

.rio-wellness-site .rio-roi-calculator__currency,
.rio-wellness-site .rio-roi-calculator__select {
  letter-spacing: normal;
  text-transform: none;
}

.rio-wellness-site .rio-roi-calculator__select { padding-inline: 0; }
.rio-wellness-site .rio-roi-calculator__select select {
  appearance: none;
  padding-right: 40px;
}
.rio-wellness-site .rio-roi-calculator__select img {
  position: absolute;
  top: 50%;
  right: 12px;
  width: 24px;
  height: 24px;
  object-fit: contain;
  pointer-events: none;
  transform: translateY(-50%);
}

.rio-wellness-site .rio-roi-calculator__services {
  min-width: 0;
  margin: 0;
}
.rio-wellness-site .rio-roi-calculator__services > legend { margin-bottom: 0; }
.rio-wellness-site .rio-roi-calculator__service-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 16px;
}

.rio-wellness-site .rio-roi-calculator__service {
  position: relative;
  display: flex;
  flex-direction: column;
  gap: 12px;
  border: 1px solid transparent;
  border-radius: 12px;
  padding: 16px;
  background: rgba(18, 18, 20, 0.03);
  cursor: pointer;
  transition: border-color 300ms ease, background-color 300ms ease, box-shadow 300ms ease, transform 300ms ease;
}
.rio-wellness-site .rio-roi-calculator__service.is-selected {
  border-color: var(--rio-brand);
  background: rgba(63, 99, 176, 0.1);
  box-shadow: 0 8px 20px rgba(63, 99, 176, 0.15);
}
.rio-wellness-site .rio-roi-calculator__service.is-selected .rio-roi-calculator__service-icon {
  background: rgba(63, 99, 176, 0.1);
}
.rio-wellness-site .rio-roi-calculator__service-icons {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
}
.rio-wellness-site .rio-roi-calculator__service-icon,
.rio-wellness-site .rio-roi-calculator__service-check {
  display: flex;
  align-items: center;
  justify-content: center;
}
.rio-wellness-site .rio-roi-calculator__service-icon {
  border-radius: 8px;
  padding: 10px;
  background: #ffffff;
}
.rio-wellness-site .rio-roi-calculator__service-icon img { width: 24px; height: 24px; object-fit: contain; }
.rio-wellness-site .rio-roi-calculator__service-check img { width: 12px; height: 12px; object-fit: contain; }
.rio-wellness-site .rio-roi-calculator__service-check {
  position: absolute;
  top: 16px;
  right: 16px;
  border-radius: 50%;
  padding: 6px;
  background: var(--rio-brand);
}
.rio-wellness-site .rio-roi-calculator__service-copy {
  display: flex;
  flex-direction: column;
  gap: 4px;
  color: rgba(0, 0, 0, 0.8);
  font-size: 1rem;
  font-weight: 500;
  line-height: 24px;
  overflow-wrap: anywhere;
}
.rio-wellness-site .rio-roi-calculator__service-copy strong {
  /* The source paints this figure rgba(79,79,79,0.8). Over the selected tile's
     rgba(63,99,176,0.1) wash that lands at 4.45:1 — under the AA floor, and
     `fixed-page-presentation` asserts the ratio directly. --stone is kept as a
     deliberate contrast deviation; the metrics below it are source-exact. */
  color: var(--rio-stone);
  font-size: 1.25rem;
  font-weight: 500;
  line-height: 28px;
}
.rio-wellness-site .rio-roi-calculator__service > input {
  position: absolute;
  width: 1px;
  height: 1px;
  min-height: 0;
  overflow: hidden;
  clip: rect(0 0 0 0);
  clip-path: inset(50%);
  white-space: nowrap;
}
.rio-wellness-site .rio-roi-calculator__service:has(input:focus-visible) {
  outline: 2px solid var(--rio-brand);
  outline-offset: 2px;
}

.rio-wellness-site .rio-roi-calculator__performance,
.rio-wellness-site .rio-roi-calculator__breakdown,
.rio-wellness-site .rio-roi-calculator__follow-up {
  display: flex;
  flex-direction: column;
  gap: 24px;
  border-radius: 16px;
  padding: 24px;
}
.rio-wellness-site .rio-roi-calculator__breakdown,
.rio-wellness-site .rio-roi-calculator__follow-up {
  gap: 4px;
  padding: 20px;
  background: linear-gradient(0deg, #ffffff, #dee8ff);
}
.rio-wellness-site .rio-roi-calculator__breakdown > :is(h2, h3),
.rio-wellness-site .rio-roi-calculator__follow-up > :is(h2, h3) {
  font-size: 1.25rem;
  font-weight: 500;
  line-height: 28px;
}
.rio-wellness-site .rio-roi-calculator__breakdown p,
.rio-wellness-site .rio-roi-calculator__follow-up p { line-height: 24px; }
.rio-wellness-site .rio-roi-calculator__breakdown a,
.rio-wellness-site .rio-roi-calculator__follow-up a {
  width: fit-content;
  min-height: 52px;
  margin-top: 20px;
  align-self: flex-start;
  border-radius: 16px;
  background: var(--rio-ink);
  box-shadow: 5.9px 5.9px 4.2px rgba(0, 0, 0, 0.08);
  line-height: 20px;
}
.rio-wellness-site .rio-roi-calculator__period {
  display: flex;
  gap: 16px;
  border-radius: 12px;
  padding: 4px;
  background: rgba(0, 0, 0, 0.04);
}
.rio-wellness-site .rio-roi-calculator__period button {
  min-height: 0;
  flex: 1;
  border-radius: 8px;
  padding: 10px 24px;
  background: transparent;
  color: rgba(0, 0, 0, 0.8);
  font-size: 1rem;
  text-transform: capitalize;
}
.rio-wellness-site .rio-roi-calculator__period button[aria-pressed="true"] {
  background: var(--rio-brand);
  color: #ffffff;
}
.rio-wellness-site .rio-roi-calculator__performance dl {
  display: flex;
  flex-direction: column;
  gap: 24px;
  margin: 0;
}
.rio-wellness-site .rio-roi-calculator__performance dl > div {
  display: flex;
  min-width: 0;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  border-bottom: 1px solid rgba(18, 18, 20, 0.1);
  padding-bottom: 12px;
}
.rio-wellness-site .rio-roi-calculator__performance dl > div:last-child { border-bottom: 0; padding-bottom: 0; }
.rio-wellness-site .rio-roi-calculator__performance dt { color: rgba(0, 0, 0, 0.8); font-weight: 500; line-height: 24px; }
.rio-wellness-site .rio-roi-calculator__performance dd {
  margin: 0;
  color: rgba(0, 0, 0, 0.8);
  font-size: 1.25rem;
  font-weight: 600;
  line-height: 28px;
  text-align: right;
}
.rio-wellness-site .rio-roi-calculator__performance dd.is-positive,
.rio-wellness-site .rio-roi-calculator__performance dd small { color: var(--rio-positive); }
.rio-wellness-site .rio-roi-calculator__performance dd.is-negative { color: var(--rio-negative); }
.rio-wellness-site .rio-roi-calculator__performance dd small { font-size: 0.875rem; line-height: 20px; }
.rio-wellness-site .rio-roi-calculator__disclaimer {
  /* The source paints this fine print in --muted (#7f8683), which is 3.0:1 on
     white at 12px. Kept at --stone deliberately: `fixed-page-presentation`
     asserts the darker token as an accessibility floor for light-surface fine
     print, and a contrast regression is not a parity win. */
  color: var(--rio-stone) !important;
  font-size: 0.75rem !important;
  line-height: 1.625;
}
.rio-wellness-site .rio-roi-calculator__service:not(.is-selected) .rio-roi-calculator__service-check { display: none; }
.rio-wellness-site .rio-roi-calculator__performance dd small.is-negative { color: var(--rio-negative); }

.rio-wellness-site .rio-roi-visual {
  display: flex;
  flex-direction: column;
  gap: 12px;
  margin: 0;
  min-width: 0;
}
.rio-wellness-site .rio-roi-visual img {
  width: 100%;
  max-width: 100%;
  height: auto;
  border: 1px solid var(--rio-line);
  border-radius: 16px;
}
.rio-wellness-site .rio-roi-visual figcaption {
  color: var(--rio-stone);
  font-size: 0.75rem;
  line-height: 1.6;
}

.rio-wellness-site .rio-section--roi-gate {
  min-height: 100vh;
  align-content: center;
  justify-items: center;
  row-gap: 32px;
  padding-block: 64px;
  text-align: center;
}
.rio-wellness-site .rio-section--roi-gate > .rio-seed-image {
  width: 90px;
  height: 45px;
  justify-self: center;
  border-radius: 0;
  object-fit: contain;
}
.rio-wellness-site .rio-roi-gate__heading {
  display: flex;
  width: 100%;
  max-width: 702px;
  flex-direction: column;
  align-items: center;
  gap: 8px;
}
.rio-wellness-site .rio-section--roi-gate .rio-page-title { max-width: 702px; font-size: clamp(2rem, 4.4vw, 3rem); }
.rio-wellness-site .rio-section--roi-gate .rio-roi-gate__heading > .rio-copy { color: rgba(18, 18, 20, 0.7); line-height: 24px; }
.rio-wellness-site .rio-roi-gate {
  display: flex;
  width: 100%;
  max-width: 702px;
  flex-direction: column;
  gap: 20px;
  border: 0;
  padding: 0;
  background: transparent;
  text-align: left;
}
.rio-wellness-site .rio-form-field { display: flex; flex-direction: column; gap: 8px; }
.rio-wellness-site .rio-contact-form button,
.rio-wellness-site .rio-roi-gate button {
  margin-top: 4px;
  font-size: 1rem;
  line-height: 1.5;
}
.rio-wellness-site .rio-roi-gate button { width: 100%; }
.rio-wellness-site .rio-roi-gate > p { color: var(--rio-stone); font-size: 0.75rem; line-height: 1.625; }

/* PageBanner collections. */
.rio-wellness-site .rio-podcasts {
  display: flex;
  width: 100%;
  max-width: 1240px;
  flex-direction: column;
  gap: 24px;
}
.rio-wellness-site .rio-podcasts__item article {
  display: flex;
  flex-direction: column;
  gap: 24px;
  border: 1px solid rgba(255, 255, 255, 0.24);
  border-radius: 16px;
  padding: 24px;
  background:
    radial-gradient(ellipse 100% 100% at 50% 50%, rgba(77, 116, 200, 0.07) 0%, rgba(52, 79, 137, 0.07) 50%, rgba(26, 42, 74, 0.07) 100%),
    rgba(255, 255, 255, 0.7);
  backdrop-filter: blur(3px);
}
.rio-wellness-site .rio-podcasts__item .rio-seed-image {
  width: 100%;
  height: 220px;
  flex: none;
  border-radius: 12px;
}
.rio-wellness-site .rio-podcasts__content {
  display: flex;
  flex: 1;
  flex-direction: column;
  gap: 12px;
}
.rio-wellness-site .rio-podcasts__content .rio-eyebrow { color: #213632; font-weight: 500; }
.rio-wellness-site .rio-podcasts__content h2 { font-size: 1.25rem; line-height: 1.28; }
.rio-wellness-site .rio-podcasts__content h2 a { text-decoration: none; }
.rio-wellness-site .rio-podcasts__content p { color: var(--rio-ink); }

.rio-wellness-site .rio-section--faq-collection { --rio-section-max: 1024px; }
.rio-wellness-site .rio-faq {
  display: flex;
  width: 100%;
  flex-direction: column;
  gap: 16px;
}
.rio-wellness-site .rio-faq__item {
  overflow: hidden;
  border: 1px solid rgba(255, 255, 255, 0.24);
  border-radius: 16px;
  background:
    radial-gradient(ellipse 100% 100% at 50% 50%, rgba(77, 116, 200, 0.10) 0%, rgba(52, 79, 137, 0.10) 50%, rgba(26, 42, 74, 0.10) 100%),
    rgba(255, 255, 255, 0.7);
  backdrop-filter: blur(3px);
}
.rio-wellness-site .rio-faq__item summary {
  position: relative;
  padding: 24px 64px 24px 24px;
  color: var(--rio-ink);
  font-size: 1.5rem;
  font-weight: 500;
  line-height: 1.3;
  list-style: none;
  cursor: pointer;
}
.rio-wellness-site .rio-faq__item summary > h2,
.rio-wellness-site .rio-faq__item summary > h3 {
  margin: 0;
  color: inherit;
  font-family: inherit;
  font-size: inherit;
  font-weight: inherit;
  letter-spacing: inherit;
  line-height: inherit;
}
.rio-wellness-site .rio-faq__item summary:focus-visible {
  outline: 3px solid var(--rio-brand);
  outline-offset: -4px;
}
.rio-wellness-site .rio-faq__item summary::-webkit-details-marker { display: none; }
.rio-wellness-site .rio-faq__item summary::after {
  content: "";
  position: absolute;
  top: 50%;
  right: 24px;
  width: 24px;
  height: 24px;
  background: url("../icons/caret-down-24.svg") center / contain no-repeat;
  transform: translateY(-50%);
  transition: transform 300ms ease;
}
.rio-wellness-site .rio-faq__item[open] summary::after { transform: translateY(-50%) rotate(180deg); }
.rio-wellness-site .rio-faq__answer {
  display: flex;
  max-width: 68ch;
  flex-direction: column;
  gap: 8px;
  padding: 0 24px 24px;
  color: rgba(18, 18, 20, 0.8);
  /* `leading-relaxed` in the source. */
  line-height: 1.625;
}
.rio-wellness-site .rio-section .rio-faq__answer p,
.rio-wellness-site .rio-section .rio-faq__answer li {
  color: inherit;
  line-height: inherit;
}
.rio-wellness-site .rio-faq__answer a {
  color: var(--rio-brand);
  text-decoration: underline;
}
.rio-wellness-site .rio-faq__answer p,
.rio-wellness-site .rio-faq__answer ul,
.rio-wellness-site .rio-faq__answer ol { margin: 0; }
/* The generic `.rio-section p` neutral would repaint the answer body stone;
   the source keeps every block in the panel's own ink/80. */
.rio-wellness-site .rio-faq__answer p { color: inherit; line-height: inherit; }
.rio-wellness-site .rio-faq__answer ul,
.rio-wellness-site .rio-faq__answer ol { padding-left: 20px; }
.rio-wellness-site .rio-faq__answer li + li { margin-top: 4px; }
.rio-wellness-site .rio-faq__answer h3 { margin: 12px 0 0; color: var(--rio-ink); font-size: 1rem; font-weight: 500; line-height: 1.5; }

.rio-wellness-site .rio-contact-card {
  position: relative;
  z-index: 2;
  display: flex;
  width: calc(100% - 48px);
  max-width: 1240px;
  flex-direction: column;
  gap: 40px;
  margin: 0 auto 96px;
  border: 1px solid rgba(18, 18, 20, 0.1);
  border-radius: 16px;
  padding: 24px;
  background: #ffffff;
}
.rio-wellness-site .rio-contact-card .rio-section {
  display: flex;
  width: 100%;
  flex-direction: column;
  gap: 24px;
}
.rio-wellness-site .rio-contact-card .rio-section > * { width: 100%; }
.rio-wellness-site .rio-contact-card__heading {
  display: flex;
  flex-direction: column;
  gap: 8px;
}
/* This kicker is a plain text-xs run in the source, not the Eyebrow pill, so it
   keeps the 16px text-xs leading rather than the pill's 18px. */
.rio-wellness-site .rio-contact-card__heading .rio-eyebrow { color: var(--rio-ink); font-weight: 500; line-height: 16px; }
.rio-wellness-site .rio-contact-card__heading .rio-section__heading { font-family: var(--rio-font-sans); font-size: 1.25rem; letter-spacing: 0; line-height: 28px; }
.rio-wellness-site .rio-contact-card__heading .rio-copy { color: rgba(18, 18, 20, 0.8); line-height: 24px; }
.rio-wellness-site .rio-contact-card .rio-section--contact-form { gap: 32px; }
.rio-wellness-site .rio-contact-form {
  display: flex;
  flex-direction: column;
  gap: 16px;
}
.rio-wellness-site .rio-contact-form > p { color: var(--rio-stone); font-size: 0.75rem; line-height: 1.625; }
.rio-wellness-site .rio-contact-details { align-content: flex-start; }
.rio-wellness-site .rio-contact-card .rio-section--contact-details { gap: 16px; }
.rio-wellness-site .rio-section--contact-details .rio-card-title { font-size: 1rem; line-height: 24px; }
.rio-wellness-site .rio-section--contact-details a { color: var(--rio-brand); line-height: 24px; text-decoration: underline; }
.rio-wellness-site .rio-section--contact-details p { color: rgba(18, 18, 20, 0.8); line-height: 24px; }

/* Product detail page. */
.rio-wellness-site .rio-product-art-shell > .rio-seed-image {
  position: absolute;
  inset: 0 0 auto;
  z-index: 0;
  width: 100%;
  height: var(--rio-art-height);
  border-radius: 0;
  object-fit: cover;
  object-position: top;
}
.rio-wellness-site .rio-section--product-panel {
  --rio-section-max: 1280px;
  padding-top: 128px;
}
.rio-wellness-site .rio-product-panel {
  position: relative;
  z-index: 2;
  display: flex;
  flex-direction: column;
  gap: 40px;
  border: 1px solid rgba(18, 18, 20, 0.1);
  border-radius: 16px;
  padding: 24px;
  background: #ffffff;
  box-shadow: 0 1px 2px rgba(18, 18, 20, 0.05);
}
.rio-wellness-site .rio-product-panel__detail {
  display: flex;
  flex: 1;
  flex-direction: column;
  align-items: flex-start;
  justify-content: center;
  gap: 20px;
}
/* Nested markers inherit the panel's column, not the page's three-column grid. */
.rio-wellness-site .rio-product-panel .rio-section {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 20px;
}
.rio-wellness-site .rio-product-panel .rio-section > * { grid-column: auto; }
.rio-wellness-site .rio-product-summary__label { margin: 0; }
.rio-wellness-site .rio-product-summary__label a { text-decoration: none; }
.rio-wellness-site .rio-product-summary__label .rio-eyebrow[hidden],
.rio-wellness-site .rio-product-brands .rio-eyebrow[hidden],
.rio-wellness-site .rio-closing-cta > .rio-eyebrow[hidden] { display: none; }
.rio-wellness-site .rio-product-summary__label .rio-eyebrow,
.rio-wellness-site .rio-product-brands .rio-eyebrow {
  display: inline-flex;
  align-items: center;
  border: 1px solid rgba(18, 18, 20, 0.1);
  border-radius: 70px;
  padding: 9px 24px;
  background: rgba(18, 18, 20, 0.06);
  color: var(--rio-ink);
  font-weight: 500;
  line-height: 18px;
}
.rio-wellness-site .rio-product-title {
  margin: 0;
  color: var(--rio-ink);
  font-family: var(--rio-font-display, inherit);
  font-weight: 500;
  /* `.font-display` wins over `leading-[1.05]` in the source: 1, not 1.05. */
  letter-spacing: -0.052em;
  line-height: 1;
}
.rio-wellness-site .rio-product-title--xl { font-size: clamp(2.5rem, 5.4vw, 6rem); }
.rio-wellness-site .rio-product-title--lg { font-size: clamp(2rem, 3.6vw, 3.5rem); }
.rio-wellness-site .rio-product-title--md { font-size: clamp(1.75rem, 2.6vw, 2.5rem); }
.rio-wellness-site .rio-section .rio-product-price {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: 12px;
  margin: 0;
  color: var(--rio-ink);
}
.rio-wellness-site .rio-product-price > span:first-child {
  font-size: 1.5rem;
  font-weight: 600;
  line-height: 25.6px;
}
.rio-wellness-site .rio-product-price del { opacity: 0.7; }
.rio-wellness-site .rio-product-price__ceiling {
  color: var(--rio-stone);
  font-size: 0.875rem;
}
.rio-wellness-site .rio-section .rio-product-summary__lede {
  margin: 0;
  color: var(--rio-ink);
  line-height: 1.6;
  opacity: 0.9;
}
.rio-wellness-site .rio-product-quote__open {
  display: flex;
  width: 100%;
  align-items: center;
  justify-content: center;
  border-radius: 12px;
  padding: 12px 16px;
  background: var(--rio-brand);
  color: #ffffff;
  font-size: 0.875rem;
  line-height: 21px;
  text-align: center;
  text-decoration: none;
}
.rio-wellness-site .rio-product-quote__open:hover { background: var(--rio-brand-ink, #1d3a6b); }
.rio-wellness-site .rio-product-brands {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin: 0;
  padding: 0;
  list-style: none;
}
.rio-wellness-site .rio-product-groups {
  display: flex;
  width: 100%;
  max-width: 68ch;
  flex-direction: column;
  gap: 24px;
}
.rio-wellness-site .rio-product-group {
  display: flex;
  flex-direction: column;
  gap: 12px;
}
.rio-wellness-site .rio-product-group h2 {
  margin: 0;
  font-size: 0.875rem;
  font-weight: 500;
  letter-spacing: 1.2px;
  line-height: 18px;
  text-transform: uppercase;
}
.rio-wellness-site .rio-section .rio-product-group p { margin: 0; color: var(--rio-ink); line-height: 1.6; opacity: 0.9; }
.rio-wellness-site .rio-product-group ul { margin: 0; padding-left: 24px; line-height: 1.6; opacity: 0.9; }
.rio-wellness-site .rio-product-group ul > li + li { margin-top: 4px; }
.rio-wellness-site .rio-product-panel__detail .rio-product-groups {
  max-width: none;
  gap: 20px;
}
.rio-wellness-site .rio-product-options {
  display: flex;
  width: 100%;
  flex-direction: column;
  gap: 20px;
  border-top: 1px solid rgba(18, 18, 20, 0.1);
  padding-top: 20px;
}
.rio-wellness-site .rio-product-options__group { display: flex; flex-direction: column; gap: 12px; }
.rio-wellness-site .rio-product-options__group h2 {
  margin: 0;
  color: var(--rio-ink);
  font-size: 0.875rem;
  font-weight: 500;
  letter-spacing: 1.2px;
  line-height: 18px;
  text-transform: uppercase;
}
.rio-wellness-site .rio-product-options__group ul {
  display: grid;
  grid-template-columns: 1fr;
  gap: 10px;
  margin: 0;
  padding: 0;
  list-style: none;
}
.rio-wellness-site .rio-product-options__group li {
  display: flex;
  align-items: center;
  justify-content: center;
  border: 1px solid rgba(18, 18, 20, 0.1);
  border-radius: 8px;
  padding: 12px 24px;
  background: rgba(18, 18, 20, 0.04);
  color: var(--rio-ink);
  font-size: 0.75rem;
  font-weight: 500;
  letter-spacing: 1.2px;
  line-height: 18px;
  text-align: center;
  text-transform: uppercase;
}

/* Gallery. */
.rio-wellness-site .rio-product-gallery {
  display: flex;
  width: 100%;
  flex-direction: column;
  gap: 20px;
}
.rio-wellness-site .rio-product-gallery__stage {
  display: flex;
  gap: 12px;
  margin: 0;
  padding: 0;
  overflow-x: auto;
  scroll-snap-type: x mandatory;
  list-style: none;
}
.rio-wellness-site .rio-product-gallery__slide {
  width: 100%;
  flex: 0 0 100%;
  scroll-snap-align: start;
}
.rio-wellness-site .rio-product-gallery__slide[hidden] { display: none; }
.rio-wellness-site .rio-product-gallery__slide .rio-seed-image {
  width: 100%;
  aspect-ratio: 1;
  border: 1px solid rgba(18, 18, 20, 0.1);
  border-radius: 12px;
  object-fit: cover;
}
/* One row, whatever the count: twenty photographs used to wrap to ten rows of
   thumbnails — 1,248px of strip above a 295px hero. */
.rio-wellness-site .rio-product-gallery__strip {
  display: flex;
  align-items: center;
  gap: 12px;
  margin: 0;
  padding: 0 0 4px;
  overflow-x: auto;
  scroll-snap-type: x mandatory;
  scrollbar-width: thin;
  list-style: none;
}
.rio-wellness-site .rio-product-gallery__strip > li { flex-shrink: 0; scroll-snap-align: start; }
.rio-wellness-site .rio-product-gallery__thumb {
  display: block;
  width: 114px;
  height: 114px;
  overflow: hidden;
  border: 1px solid rgba(18, 18, 20, 0.1);
  border-radius: 8px;
  padding: 0;
  background: none;
  cursor: pointer;
}
.rio-wellness-site .rio-product-gallery__thumb[aria-pressed="true"] { border-color: var(--rio-brand); }
.rio-wellness-site .rio-product-gallery__thumb .rio-seed-image {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

/* Tabs. */
.rio-wellness-site .rio-section--product-specifications {
  --rio-section-max: 1280px;
  padding: 64px 0 96px;
}
.rio-wellness-site .rio-product-tabs {
  position: relative;
  z-index: 2;
  display: flex;
  flex-direction: column;
  gap: 32px;
}
.rio-wellness-site .rio-product-tabs__list {
  display: flex;
  align-items: center;
  gap: 12px;
  border-bottom: 1px solid rgba(18, 18, 20, 0.1);
}
.rio-wellness-site .rio-product-tabs__tab {
  border-radius: 12px 12px 0 0;
  padding: 12px 32px;
  /* The source's tabs are buttons; a wrapped label centres in its box. */
  text-align: center;
  background: rgba(41, 75, 149, 0.1);
  color: var(--rio-brand);
  font-size: 0.875rem;
  font-weight: 500;
  letter-spacing: 0.7px;
  line-height: 21px;
  text-decoration: none;
  text-transform: uppercase;
}
.rio-wellness-site .rio-product-tabs__tab[aria-selected="true"] {
  background: var(--rio-brand);
  color: #ffffff;
}
.rio-wellness-site .rio-product-tabs__panel { max-width: 68ch; color: var(--rio-ink); }
.rio-wellness-site .rio-product-tabs__panel > p { margin: 0; color: var(--rio-stone); line-height: 25.6px; }

/* Inquiry forms: the trap, and the two regions the server answers into. */
.rio-wellness-site .rio-form-trap {
  position: absolute;
  width: 1px;
  height: 1px;
  margin: -1px;
  padding: 0;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}
.rio-wellness-site .rio-form-error {
  border-radius: 12px;
  padding: 12px 16px;
  background: rgba(178, 58, 47, 0.1);
  color: var(--rio-negative, #b23a2f);
  font-size: 0.875rem;
  line-height: 1.5;
}
.rio-wellness-site .rio-form-error[hidden] { display: none; }
.rio-wellness-site .rio-field-error {
  margin: 4px 0 0;
  color: var(--rio-negative, #b23a2f);
  font-size: 0.8125rem;
  line-height: 1.4;
}
.rio-wellness-site .rio-form-field :is(input, textarea, select)[aria-invalid="true"] {
  border-color: var(--rio-negative, #b23a2f);
}
/* The success panel replaces the form; `hidden` has to beat the flex rule. */
.rio-wellness-site .rio-product-quote__form[hidden] { display: none; }
.rio-product-quote__done {
  display: flex;
  flex-direction: column;
  gap: 16px;
  margin-top: 24px;
}
.rio-product-quote__done-message {
  margin: 0;
  border-radius: 12px;
  padding: 12px 16px;
  background: rgba(45, 122, 79, 0.1);
  color: var(--rio-positive, #2d7a4f);
  font-size: 0.875rem;
  line-height: 1.5;
}

/* Quote dialog. */
.rio-wellness-site .rio-section--product-enquiry { padding: 0; }
.rio-product-quote[open] {
  width: min(560px, 92vw);
  margin: auto;
  border: 1px solid rgba(18, 18, 20, 0.1);
  border-radius: 16px;
  padding: 0;
}
.rio-product-quote::backdrop { background: rgba(0, 0, 0, 0.5); }
.rio-product-quote__panel {
  display: flex;
  max-height: 85vh;
  flex-direction: column;
  overflow-y: auto;
  padding: 24px;
}
.rio-product-quote__head {
  display: flex;
  align-items: flex-start;
  gap: 16px;
}
.rio-product-quote__head > div { flex: 1; }
.rio-product-quote__head h2 { margin: 0; font-size: 1.5rem; line-height: 1.2; }
.rio-product-quote__head p { margin: 4px 0 0; color: var(--rio-stone); font-size: 0.875rem; }
.rio-product-quote__thumb {
  display: block;
  width: 56px;
  height: 56px;
  flex-shrink: 0;
  overflow: hidden;
  border: 1px solid rgba(18, 18, 20, 0.1);
  border-radius: 8px;
}
.rio-product-quote__thumb .rio-seed-image { width: 100%; height: 100%; object-fit: cover; }
.rio-product-quote__close {
  flex-shrink: 0;
  border: 0;
  border-radius: 8px;
  padding: 8px;
  background: none;
  color: var(--rio-stone);
  cursor: pointer;
}
.rio-product-quote__close:hover { background: rgba(0, 0, 0, 0.05); }
.rio-product-quote__form {
  display: flex;
  flex-direction: column;
  gap: 16px;
  margin-top: 24px;
}
.rio-product-quote__submit {
  border: 0;
  border-radius: 12px;
  padding: 16px 24px;
  background: var(--rio-brand);
  color: #ffffff;
  font: inherit;
  font-weight: 500;
  cursor: pointer;
}

/* Catalogue browser: filter rail + result grid. */
.rio-wellness-site .rio-product-browser-shell {
  display: flex;
  width: 100%;
  flex-direction: column;
  align-items: flex-start;
  gap: 20px;
  padding-inline: 24px;
}
.rio-wellness-site .rio-product-filters {
  display: flex;
  width: 100%;
  flex-direction: column;
  overflow: hidden;
  border: 1px solid rgba(18, 18, 20, 0.1);
  border-radius: 12px;
  padding: 20px;
  background: #ffffff;
}
/* Ordered last visually, first in the DOM: it is the form's implicit submit,
   so Enter inside the rail applies the selection instead of clearing it. */
.rio-wellness-site .rio-product-filters__apply {
  order: 3;
  margin-top: 20px;
  border: 0;
  border-radius: 12px;
  padding: 12px 16px;
  background: var(--rio-brand);
  color: #ffffff;
  font: inherit;
  font-size: 0.875rem;
  cursor: pointer;
}
.rio-wellness-site .rio-product-filters__head {
  display: flex;
  order: 1;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}
.rio-wellness-site .rio-product-filters__head h2 {
  margin: 0;
  color: var(--rio-ink);
  font-size: 1.125rem;
  font-weight: 500;
  line-height: 25.6px;
}
.rio-wellness-site .rio-product-filters__clear {
  border: 0;
  padding: 10px 0;
  margin: -10px 0;
  background: none;
  color: var(--rio-ink);
  font: inherit;
  line-height: 25.6px;
  cursor: pointer;
  text-underline-offset: 4px;
}
.rio-wellness-site .rio-product-filters__clear:hover:not(:disabled) { text-decoration: underline; }
.rio-wellness-site .rio-product-filters__clear:disabled { cursor: default; opacity: 0.4; }
.rio-wellness-site .rio-product-filters__groups {
  display: flex;
  order: 2;
  flex-direction: column;
  gap: 21px;
  margin-top: 24px;
}
.rio-wellness-site .rio-product-filters__groups hr {
  width: 100%;
  height: 0;
  margin: 0;
  border: 0;
  border-top: 1px solid rgba(18, 18, 20, 0.1);
}
.rio-wellness-site .rio-product-filters__group > summary {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding-right: 28px;
  color: var(--rio-ink);
  font-size: 1rem;
  font-weight: 500;
  line-height: 25.6px;
  list-style: none;
  cursor: pointer;
}
.rio-wellness-site .rio-product-filters__group > summary::-webkit-details-marker { display: none; }
.rio-wellness-site .rio-product-filters__group > summary::after {
  content: "";
  position: absolute;
  top: 50%;
  right: 0;
  width: 20px;
  height: 20px;
  background: url("../icons/caret-down-24.svg") center / contain no-repeat;
  transform: translateY(-50%);
  transition: transform 200ms ease;
}
.rio-wellness-site .rio-product-filters__group[open] > summary::after { transform: translateY(-50%) rotate(180deg); }
.rio-wellness-site .rio-product-filters__group > summary:focus-visible {
  outline: 3px solid var(--rio-brand);
  outline-offset: 4px;
}
.rio-wellness-site .rio-product-filters__options {
  display: flex;
  flex-direction: column;
  gap: 8px;
  margin-top: 16px;
}
.rio-wellness-site .rio-product-filters__options label {
  display: flex;
  align-items: center;
  gap: 12px;
  margin: -4px 0;
  padding: 12px 0;
  color: var(--rio-ink);
  /* The source's label box is 16px/24px, but its visible text sits in a 14px
     flex-1 span, which is what sets the 45px row. Both are needed. */
  font-size: 1rem;
  line-height: 1.5;
  cursor: pointer;
}
.rio-wellness-site .rio-product-filters__options label > span {
  flex: 1;
  font-size: 0.875rem;
  line-height: 1.5;
}
.rio-wellness-site .rio-product-filters__options input {
  width: 20px;
  height: 20px;
  margin: 0;
  flex-shrink: 0;
  accent-color: var(--rio-brand);
  cursor: pointer;
}
.rio-wellness-site .rio-product-results {
  display: flex;
  width: 100%;
  flex-direction: column;
  gap: 20px;
}
.rio-wellness-site .rio-product-results__bar {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 12px;
  border: 1px solid rgba(18, 18, 20, 0.1);
  border-radius: 12px;
  padding: 20px;
  background: #ffffff;
}
.rio-wellness-site .rio-product-results__summary {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px 12px;
}
.rio-wellness-site .rio-product-results__summary h2 {
  margin: 0;
  color: var(--rio-ink);
  font-size: 1.125rem;
  font-weight: 500;
  line-height: 25.6px;
  white-space: nowrap;
}
.rio-wellness-site .rio-product-results__active {
  display: flex;
  align-items: center;
  gap: 8px;
  margin: -4px 0;
  border: 1px solid rgba(18, 18, 20, 0.1);
  border-radius: 70px;
  padding: 6px 16px;
  background: rgba(18, 18, 20, 0.06);
  color: var(--rio-ink);
  font: inherit;
  font-size: 0.75rem;
  font-weight: 500;
  letter-spacing: 1.2px;
  line-height: 18px;
  text-transform: uppercase;
  white-space: nowrap;
  cursor: pointer;
}
.rio-wellness-site .rio-product-results__active:hover { background: rgba(18, 18, 20, 0.12); }
.rio-wellness-site .rio-product-results__sort {
  display: flex;
  align-items: center;
  gap: 8px;
  border: 1px solid rgba(18, 18, 20, 0.1);
  border-radius: 8px;
  padding-inline: 16px;
  color: var(--rio-ink);
  white-space: nowrap;
}
.rio-wellness-site .rio-product-results__sort select {
  appearance: none;
  border: 0;
  padding: 10px 24px 10px 0;
  background: url("../icons/caret-down-24.svg") right center / 20px 20px no-repeat transparent;
  color: var(--rio-ink);
  font: inherit;
  line-height: 25.6px;
  cursor: pointer;
}
.rio-wellness-site .rio-product-results__empty {
  border: 1px solid rgba(18, 18, 20, 0.1);
  border-radius: 12px;
  padding: 40px;
  background: #ffffff;
  color: var(--rio-stone);
  text-align: center;
}
.rio-wellness-site .rio-product-results__empty button {
  border: 0;
  padding: 0;
  background: none;
  color: var(--rio-brand);
  font: inherit;
  cursor: pointer;
  text-decoration: underline;
  text-underline-offset: 4px;
}
.rio-wellness-site .rio-product-card[hidden],
.rio-wellness-site .rio-product-results__active[hidden],
.rio-wellness-site .rio-product-results__empty[hidden],
.rio-wellness-site .rio-product-filters__apply[hidden] { display: none; }

/* Hub cards. */
.rio-wellness-site .rio-product-browser,
.rio-wellness-site .rio-related-products,
.rio-wellness-site .rio-modalities,
.rio-wellness-site .rio-goals {
  display: grid;
  width: 100%;
  grid-template-columns: 1fr;
  gap: 24px;
}
.rio-wellness-site .rio-product-card,
.rio-wellness-site .rio-modality-card,
.rio-wellness-site .rio-goal-card { min-width: 0; }
.rio-wellness-site .rio-product-card article {
  position: relative;
  display: flex;
  height: 100%;
  flex-direction: column;
  gap: 8px;
  overflow: hidden;
  border: 1px solid rgba(18, 18, 20, 0.1);
  border-radius: 12px;
  padding: 12px;
  background: #ffffff;
}
.rio-wellness-site .rio-product-card article > .rio-seed-image {
  width: 100%;
  aspect-ratio: 1;
  border-radius: 8px;
}
.rio-wellness-site .rio-product-card__content {
  display: flex;
  flex: 1;
  flex-direction: column;
  justify-content: space-between;
  gap: 12px;
}
.rio-wellness-site .rio-product-card__meta {
  display: flex;
  flex-direction: column;
  gap: 4px;
}
.rio-wellness-site .rio-product-card__meta[hidden] { display: none; }
.rio-wellness-site .rio-product-card__content .rio-eyebrow {
  overflow: hidden;
  color: #213632;
  font-weight: 500;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.rio-wellness-site .rio-product-card h3 {
  display: -webkit-box;
  min-height: 76.8px;
  overflow: hidden;
  color: var(--rio-ink);
  font-size: 1rem;
  line-height: 25.6px;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
}
.rio-wellness-site .rio-product-card h3 a,
.rio-wellness-site .rio-modality-card h2 a,
.rio-wellness-site .rio-goal-card h2 a { text-decoration: none; }
.rio-wellness-site .rio-card-link::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 2;
}
.rio-wellness-site article:has(.rio-card-link:focus-visible) {
  outline: 3px solid var(--rio-brand);
  outline-offset: 4px;
}
.rio-wellness-site .rio-card-link:focus-visible { outline: 0; }
.rio-wellness-site .rio-product-card__price {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-top: 8px !important;
  color: var(--rio-ink) !important;
}
.rio-wellness-site .rio-product-card__price > span { font-size: 1.25rem; font-weight: 600; line-height: 25.6px; }
.rio-wellness-site .rio-product-card__price del { line-height: 25.6px; }
.rio-wellness-site .rio-product-card__action {
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 12px;
  padding: 12px 16px;
  background: var(--rio-brand);
  color: #ffffff;
  font-size: 0.875rem;
  line-height: 21px;
  text-align: center;
}
.rio-wellness-site .rio-product-card__sale {
  position: absolute;
  top: 20px;
  right: 20px;
  border-radius: 40px;
  padding: 4px 8px;
  background: var(--rio-negative);
  color: #ffffff;
  font-size: 0.75rem;
  font-weight: 500;
  letter-spacing: 1.2px;
  line-height: 12px;
  text-transform: uppercase;
}
.rio-wellness-site .rio-modality-card article {
  position: relative;
  display: flex;
  height: 100%;
  flex-direction: column;
  overflow: hidden;
  border: 1px solid rgba(18, 18, 20, 0.1);
  border-radius: 16px;
  background: #ffffff;
}
.rio-wellness-site .rio-modality-card__image,
.rio-wellness-site .rio-modality-card__image .rio-seed-image {
  display: block;
  width: 100%;
  aspect-ratio: 16 / 10;
}
.rio-wellness-site .rio-modality-card__image { overflow: hidden; }
.rio-wellness-site .rio-modality-card__image .rio-seed-image { border-radius: 0; }
.rio-wellness-site .rio-modality-card__content {
  display: flex;
  flex: 1;
  flex-direction: column;
  gap: 12px;
  padding: 24px;
}
.rio-wellness-site .rio-modality-card h2,
.rio-wellness-site .rio-goal-card h2 {
  font-family: var(--rio-font-display);
  font-size: 1.5rem;
  /* `.font-display` is unlayered in the source, so it beats `text-2xl` and
     `leading-tight`: the drawn card title is 24/24 at -0.052em. */
  letter-spacing: -0.052em;
  line-height: 1;
}
.rio-wellness-site .rio-modality-card .rio-eyebrow,
.rio-wellness-site .rio-goal-card .rio-eyebrow {
  color: #213632;
  font-weight: 500;
}
.rio-wellness-site .rio-modality-card__stats[hidden] { display: none; }
.rio-wellness-site .rio-modality-card__stats {
  display: flex;
  flex-wrap: wrap;
  margin-top: auto !important;
  padding-top: 8px;
  gap: 4px 16px;
  color: var(--rio-stone) !important;
  font-size: 0.875rem !important;
  line-height: 20px !important;
}
/* The source sizes these to content and lets the grid row equalise them; the
   port's 190px floor added 30px to every card, which on a phone is a single
   column and 12 cards of dead space. The article still fills the equalised
   row -- measured 160px against the source's 160px on /results. */
.rio-wellness-site .rio-goal-card article {
  position: relative;
  display: flex;
  height: 100%;
  flex-direction: column;
  gap: 12px;
  border: 1px solid rgba(18, 18, 20, 0.1);
  border-radius: 12px;
  padding: 24px;
  background: #ffffff;
}
.rio-wellness-site .rio-goal-card article > span {
  margin-top: auto;
  color: var(--rio-stone);
  font-size: 0.875rem;
  line-height: 20px;
}

/* Policy pages. */
.rio-wellness-site .rio-legal-art-shell { --rio-art-height: 1000px; }
.rio-wellness-site .rio-main--legal .rio-section--legal-sections { max-width: 68ch; }
.rio-wellness-site .rio-legal-art-shell .rio-section--legal-header {
  position: static;
  --rio-section-max: 1024px;
  padding-top: 128px;
}
.rio-wellness-site .rio-legal-art-shell .rio-art-hero__content { gap: 24px; }
.rio-wellness-site .rio-legal-art-shell .rio-legal-date {
  color: rgba(255, 255, 255, 0.9);
  font-size: 1rem;
  font-weight: 400;
  letter-spacing: 0;
  line-height: 1.6;
  text-transform: none;
}
.rio-wellness-site .rio-legal-card {
  position: relative;
  z-index: 2;
  display: flex;
  width: calc(100% - 48px);
  max-width: 1240px;
  flex-direction: column;
  gap: 24px;
  margin: 56px auto 96px;
  border: 1px solid rgba(18, 18, 20, 0.1);
  border-radius: 16px;
  padding: 24px;
  background: radial-gradient(ellipse 100% 100% at 50% 50%, rgba(77, 116, 200, 0.07) 0%, rgba(52, 79, 137, 0.07) 50%, rgba(39, 60, 106, 0.07) 75%, rgba(26, 42, 74, 0.07) 100%);
  color: var(--rio-ink);
}
.rio-wellness-site .rio-legal-card .rio-section {
  display: flex;
  width: 100%;
  max-width: 68ch;
  flex-direction: column;
  gap: 24px;
}
.rio-wellness-site .rio-legal-card .rio-section > * { width: 100%; }
.rio-wellness-site .rio-legal-policy-section {
  display: flex;
  flex-direction: column;
  gap: 12px;
}
.rio-wellness-site .rio-legal-heading {
  margin: 0;
  color: var(--rio-ink);
  font-family: var(--rio-font-sans);
  font-size: 1.25rem;
  font-weight: 500;
  letter-spacing: 0;
  line-height: 25.6px;
}
.rio-wellness-site .rio-legal-list {
  display: flex;
  flex-direction: column;
  gap: 4px;
  padding-left: 24px;
  list-style: disc;
}
/* Same override as the FAQ panel: the policy body inherits the card's ink. */
.rio-wellness-site .rio-legal-card p { color: inherit; }
/* The source sets these blocks as one medium-weight paragraph; the emitted
   <strong> made the browser step 600 up to 900. */
.rio-wellness-site .rio-legal-card .rio-copy--strong { font-weight: 500; }
.rio-wellness-site .rio-legal-card .rio-copy--strong strong { font-weight: inherit; }
.rio-wellness-site .rio-legal-card a { text-decoration: underline; text-underline-offset: 2px; }

/* Post-submit confirmation. */
.rio-wellness-site .rio-section--confirmation {
  min-height: 0;
  align-content: start;
  justify-items: center;
  row-gap: 24px;
  padding-block: 96px;
  text-align: center;
}
.rio-wellness-site .rio-section--confirmation .rio-page-title {
  max-width: 672px;
  font-size: clamp(2rem, 4.4vw, 3rem);
}
.rio-wellness-site .rio-section--confirmation .rio-copy { max-width: 624px; }
.rio-wellness-site .rio-section--confirmation > .rio-copy:first-of-type { line-height: 26px; }
.rio-wellness-site .rio-section--confirmation > .rio-copy:last-of-type { line-height: 24px; }
.rio-wellness-site .rio-section--confirmation .rio-actions { justify-content: center; margin-top: 8px; }
.rio-wellness-site .rio-section--confirmation .rio-actions .wp-block-button__link {
  min-height: 0;
  line-height: 20px;
}

@media (hover: hover) {
  .rio-wellness-site .rio-button .wp-block-button__link:hover,
  .rio-wellness-site .rio-contact-form button:hover,
  .rio-wellness-site .rio-roi-gate button:hover,
  .rio-wellness-site .rio-roi-calculator button:hover,
  .rio-wellness-site .rio-button--secondary .wp-block-button__link:hover {
    border-color: var(--rio-brand);
    background: var(--rio-brand-tint);
    color: var(--rio-brand);
  }
  .rio-wellness-site .rio-main--front-page .rio-hero-content .rio-button--secondary .wp-block-button__link:hover,
  .rio-wellness-site .rio-page-hero-shell .rio-button--secondary .wp-block-button__link:hover,
  .rio-wellness-site .rio-closing-cta__actions a + a:hover {
    border-color: #ffffff;
    background: rgba(255, 255, 255, 0.2);
    color: #ffffff;
  }
  .rio-wellness-site .rio-product-card article,
  .rio-wellness-site .rio-modality-card article,
  .rio-wellness-site .rio-goal-card article,
  .rio-wellness-site .rio-podcasts__item article,
  .rio-wellness-site .rio-faq__item,
  .rio-wellness-site .rio-revenue-cards > li,
  .rio-wellness-site .rio-training-outcomes > li,
  .rio-wellness-site .rio-shift-panels__card {
    transition: border-color 250ms ease, box-shadow 250ms ease, transform 250ms ease;
  }
  .rio-wellness-site .rio-product-card article:hover,
  .rio-wellness-site .rio-modality-card article:hover,
  .rio-wellness-site .rio-goal-card article:hover,
  .rio-wellness-site .rio-podcasts__item article:hover,
  .rio-wellness-site .rio-faq__item:hover,
  .rio-wellness-site .rio-revenue-cards > li:hover,
  .rio-wellness-site .rio-training-outcomes > li:hover,
  .rio-wellness-site .rio-shift-panels__card:hover {
    border-color: rgba(41, 75, 149, 0.4);
    box-shadow: 0 16px 40px rgba(18, 18, 20, 0.08);
    transform: translateY(-4px);
  }
  .rio-wellness-site .rio-podcasts__item article:hover .rio-seed-image,
  .rio-wellness-site .rio-about-mission:hover .rio-seed-image,
  .rio-wellness-site .rio-process-list > li:hover .rio-seed-image {
    transform: scale(1.05);
  }
  .rio-wellness-site .rio-podcasts__item .rio-seed-image,
  .rio-wellness-site .rio-about-mission .rio-seed-image {
    transition: transform 900ms ease;
  }
  .rio-wellness-site .rio-faq__item summary:hover,
  .rio-wellness-site .rio-legal-card a:hover { color: var(--rio-brand); }
}

@media (min-width: 640px) {
  .rio-wellness-site .rio-main--front-page .rio-hero-content .rio-button .wp-block-button__link,
  .rio-wellness-site .rio-page-hero-shell .rio-button .wp-block-button__link,
  .rio-wellness-site .rio-photo-hero-shell .rio-button .wp-block-button__link,
  .rio-wellness-site .rio-closing-cta__actions a { padding-inline: 24px; }
}

@media (min-width: 640px) {
  .rio-wellness-site .rio-home-stats {
    flex-direction: row;
    align-items: center;
    justify-content: space-between;
  }
  .rio-wellness-site .rio-home-stats .rio-stat { grid-template-columns: 48px minmax(0, 1fr); }
  .rio-wellness-site .rio-impact-stats { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  /* The source hides the hairline for the whole paired range (`sm:hidden
     xl:block`), not just the second card. */
  .rio-wellness-site .rio-impact-stats .rio-stat { padding-top: 0; border-top: 0; }
  .rio-wellness-site .rio-art-shell,
  .rio-wellness-site .rio-legal-art-shell { --rio-art-height: 880px; }
  .rio-wellness-site .rio-deconstructed-cards,
  .rio-wellness-site .rio-modality-expertise,
  .rio-wellness-site .rio-revenue-cards,
  .rio-wellness-site .rio-assessment-cards,
  .rio-wellness-site .rio-product-browser,
  .rio-wellness-site .rio-related-products,
  .rio-wellness-site .rio-modalities,
  .rio-wellness-site .rio-goals {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .rio-wellness-site .rio-product-results__bar {
    flex-direction: row;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
  }
  .rio-wellness-site .rio-product-options__group ul { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .rio-wellness-site .rio-roi-calculator__facility-fields,
  .rio-wellness-site .rio-roi-calculator__service-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .rio-wellness-site .rio-roi-calculator__facility-type { grid-column: 1 / -1; }
  .rio-wellness-site .rio-main--front-page .rio-hero-content .rio-button .wp-block-button__link,
  .rio-wellness-site .rio-page-hero-shell .rio-button .wp-block-button__link,
  .rio-wellness-site .rio-photo-hero-shell .rio-button .wp-block-button__link,
  .rio-wellness-site .rio-closing-cta__actions a { padding-inline: 24px; }
}

@media (min-width: 768px) {
  .rio-wellness-site .rio-implementation-cards { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .rio-wellness-site .rio-implementation-cards__card + .rio-implementation-cards__card { border-top: 0; }
  .rio-wellness-site .rio-implementation-cards__card:nth-child(even) { border-left: 1px solid var(--rio-line); }
  .rio-wellness-site .rio-implementation-cards__card:nth-child(n + 3) { border-top: 1px solid var(--rio-line); }
  .rio-wellness-site .rio-roi-calculator__steps,
  .rio-wellness-site .rio-roi-calculator__service-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}

@media (min-width: 1024px) {
  .rio-wellness-site .rio-product-panel { flex-direction: row; padding: 40px; }
  .rio-wellness-site .rio-product-panel__media { width: 50%; }
  .rio-wellness-site .rio-product-browser-shell { flex-direction: row; padding-inline: 40px; }
  .rio-wellness-site .rio-product-filters {
    position: sticky;
    top: 24px;
    width: 271px;
    max-height: calc(100vh - 3rem);
    flex-shrink: 0;
    overflow-y: auto;
  }
  .rio-wellness-site .rio-section { --rio-section-gutter: 80px; }
  .rio-wellness-site .rio-home-hero__photo .rio-page-title {
    width: max-content;
    max-width: 100%;
  }
  .rio-wellness-site .rio-home-hero__photo {
    min-height: 900px;
  }
  .rio-wellness-site .rio-home-hero__photo .rio-hero-content {
    min-height: 900px;
  }
  .rio-wellness-site .rio-page-hero-shell .rio-section--hero,
  .rio-wellness-site .rio-photo-hero-shell .rio-section--hero {
    min-height: 900px;
  }
  .rio-wellness-site .rio-page-banner-shell { padding-top: 160px; }
  .rio-wellness-site .rio-page-banner-shell .rio-section--hero { padding-bottom: 56px; }
  .rio-wellness-site .rio-art-shell,
  .rio-wellness-site .rio-legal-art-shell { --rio-art-height: 760px; }
  .rio-wellness-site .rio-art-shell .rio-section--hero,
  .rio-wellness-site .rio-legal-art-shell .rio-section--legal-header { padding-top: 160px; }
  .rio-wellness-site .rio-section--closing-cta { padding: 96px 40px; }
  .rio-wellness-site .rio-section--closing-cta .rio-closing-cta {
    min-height: 550px;
    border-width: 5px;
    padding-block: 80px;
  }
  /* The Challenge band is the one section the source never widens its gutter
     on: it is `px-6` at every width, so its supporting line keeps the full
     976px measure at 1024 instead of wrapping a line early. */
  .rio-wellness-site .rio-section--challenge { padding-top: 124px; --rio-section-gutter: 24px; }
  .rio-wellness-site .rio-main--full-width .rio-section--roi-tool { padding-top: 160px; }
  .rio-wellness-site .rio-section--challenge .rio-seed-image { height: 600px; }
  .rio-wellness-site .rio-section--wellness-system { padding-block: 124px; }
  .rio-wellness-site .rio-comparison {
    grid-template-columns: minmax(0, 1fr) 1px minmax(0, 1fr);
    align-items: start;
    padding: 40px 40px 40px 20px;
  }
  .rio-wellness-site .rio-comparison__column--without { padding: 32px; }
  .rio-wellness-site .rio-comparison__column--with { padding: 32px; }
  .rio-wellness-site .rio-comparison-vs {
    display: block;
    width: 1px;
    height: 100%;
    overflow: visible;
    background: linear-gradient(180deg, rgba(255, 255, 255, 0), rgba(255, 255, 255, 0.08), rgba(255, 255, 255, 0));
    color: transparent !important;
  }
  .rio-wellness-site .rio-comparison-vs::after {
    content: "VS";
    position: absolute;
    top: 50%;
    left: 50%;
    display: grid;
    width: 32px;
    height: 14px;
    place-items: center;
    background: #232222;
    color: rgba(255, 255, 255, 0.2);
    font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
    font-size: 0.6875rem;
    letter-spacing: 0.22px;
    transform: translate(-50%, -50%) rotate(90deg);
  }
  .rio-wellness-site .rio-process-list::before { display: block; }
  .rio-wellness-site .rio-process-list > li {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    grid-template-rows: 1fr auto auto auto 1fr;
    column-gap: 80px;
  }
  .rio-wellness-site .rio-process-list > li > .rio-process-card__index,
  .rio-wellness-site .rio-process-list > li > .rio-card-title,
  .rio-wellness-site .rio-process-list > li > .rio-copy { grid-column: 1; }
  .rio-wellness-site .rio-process-list > li > .rio-process-card__index { grid-row: 2; }
  .rio-wellness-site .rio-process-list > li > .rio-card-title { grid-row: 3; }
  .rio-wellness-site .rio-process-list > li > .rio-copy { grid-row: 4; }
  .rio-wellness-site .rio-process-list > li > .rio-process-card__media {
    height: 320px;
    margin-top: 0;
    grid-column: 2;
    grid-row: 1 / 6;
  }
  .rio-wellness-site .rio-process-list > li:nth-child(even) > .rio-process-card__index,
  .rio-wellness-site .rio-process-list > li:nth-child(even) > .rio-card-title,
  .rio-wellness-site .rio-process-list > li:nth-child(even) > .rio-copy { grid-column: 2; }
  .rio-wellness-site .rio-process-list > li:nth-child(even) > .rio-process-card__media { grid-column: 1; }
  .rio-wellness-site .rio-shift-panels { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 32px; }
  .rio-wellness-site .rio-shift-panels__card:nth-child(3) {
    display: grid;
    grid-column: 1 / -1;
    grid-template-columns: minmax(0, 1fr) 484px;
    grid-template-rows: auto auto auto auto 1fr;
    column-gap: 25px;
  }
  .rio-wellness-site .rio-shift-panels__card:nth-child(3) > .rio-seed-image {
    min-height: 380px;
    grid-column: 2;
    grid-row: 1 / 6;
  }
  .rio-wellness-site .rio-section--facility-visual .rio-seed-image { height: 800px; }
  .rio-wellness-site .rio-testimonials ul { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  /* The source pins the outcome rail at 667px and gives the heading whatever is
     left, so at 1024 the heading column is 133px and the rail keeps its width.
     Two flexible content tracks split the row evenly instead and cost the rail
     200px, which re-wrapped every outcome line. */
  .rio-wellness-site .rio-section--results,
  .rio-wellness-site .rio-section--principles {
    grid-template-columns:
      minmax(80px, calc((100% - 1240px) / 2))
      minmax(0, 1fr)
      64px
      667px
      minmax(80px, calc((100% - 1240px) / 2));
    column-gap: 0;
  }
  .rio-wellness-site .rio-section--results > .rio-outcomes,
  .rio-wellness-site .rio-section--principles > .rio-principle-cards { grid-column: 4; }
  .rio-wellness-site .rio-section--results > .rio-section-heading,
  .rio-wellness-site .rio-section--principles > .rio-section-heading {
    grid-column: 2;
    align-items: flex-start;
    margin: 0;
    text-align: left;
  }
  .rio-wellness-site .rio-section--results > .rio-section-heading .rio-copy,
  .rio-wellness-site .rio-section--results > .rio-section-heading p,
  .rio-wellness-site .rio-section--principles > .rio-section-heading .rio-copy,
  .rio-wellness-site .rio-section--principles > .rio-section-heading p { max-width: 68ch; }

  .rio-wellness-site .rio-intro-row {
    flex-direction: row;
    justify-content: center;
    gap: 80px;
  }
  .rio-wellness-site .rio-section--problem .rio-intro-row > .rio-section__heading { width: 240px; flex: 0 0 240px; }
  .rio-wellness-site .rio-section--training-problem .rio-intro-row { gap: 80px; }
  .rio-wellness-site .rio-section--training-problem .rio-intro-row > .rio-section__heading { width: 420px; flex: 0 0 420px; }
  .rio-wellness-site .rio-intro-copy,
  .rio-wellness-site .rio-training-problem__copy { flex: 1; }
  .rio-wellness-site .rio-section--problem > .rio-seed-image,
  .rio-wellness-site .rio-section--training-problem > .rio-seed-image { height: 600px; }
  .rio-wellness-site .rio-about-mission,
  .rio-wellness-site .rio-about-model { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 80px; }
  .rio-wellness-site .rio-about-mission .rio-seed-image,
  .rio-wellness-site .rio-about-model > .rio-seed-image { height: 450px; }
  .rio-wellness-site .rio-about-model > .rio-deconstructed-cards { grid-column: 1 / -1; }
  .rio-wellness-site .rio-deconstructed-cards,
  .rio-wellness-site .rio-modality-expertise,
  .rio-wellness-site .rio-revenue-cards,
  .rio-wellness-site .rio-assessment-cards { grid-template-columns: repeat(4, minmax(0, 1fr)); }
  .rio-wellness-site .rio-about-assessment > .rio-seed-image { height: 600px; }
  .rio-wellness-site .rio-training-modalities { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .rio-wellness-site .rio-training-modalities .rio-seed-image { height: 350px; }
  .rio-wellness-site .rio-training-options { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .rio-wellness-site .rio-section--continuing-education {
    grid-template-columns: 80px minmax(520px, 1fr) 64px 459px 80px;
    align-items: center;
    column-gap: 0;
    overflow: clip;
  }
  .rio-wellness-site .rio-section--continuing-education > .rio-continuing-copy { grid-column: 2; }
  .rio-wellness-site .rio-section--continuing-education > .rio-seed-image {
    height: 550px;
    grid-column: 4;
  }
  .rio-wellness-site .rio-training-outcomes { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .rio-wellness-site .rio-podcasts__item article { flex-direction: row; align-items: center; gap: 40px; }
  .rio-wellness-site .rio-podcasts__item .rio-seed-image { width: 532px; height: 308px; }
  .rio-wellness-site .rio-contact-card {
    display: grid;
    width: calc(100% - 160px);
    grid-template-columns: minmax(0, 1fr) 320px;
    row-gap: 32px;
    column-gap: 64px;
    padding: 40px;
  }
  .rio-wellness-site .rio-contact-card .rio-section--contact-form { display: contents; }
  .rio-wellness-site .rio-contact-card__heading { grid-column: 1 / -1; }
  .rio-wellness-site .rio-contact-card .rio-section--contact-form > .rio-contact-form { grid-column: 1; grid-row: 2; }
  .rio-wellness-site .rio-contact-card .rio-section--contact-details { width: 320px; grid-column: 2; grid-row: 2; }
  .rio-wellness-site .rio-legal-card { width: calc(100% - 80px); padding: 40px; }
  .rio-wellness-site .rio-roi-calculator__workspace {
    flex-direction: row;
    align-items: start;
  }
  .rio-wellness-site .rio-roi-calculator__inputs { flex: 1 1 auto; }
  .rio-wellness-site .rio-roi-calculator__results,
  .rio-wellness-site .rio-roi-calculator__performance-stack {
    width: 524px;
    flex: 0 0 524px;
  }
}

@media (min-width: 1280px) {
  .rio-wellness-site .rio-product-panel__media { width: 600px; flex-shrink: 0; }
  .rio-wellness-site .rio-product-browser,
  .rio-wellness-site .rio-related-products,
  .rio-wellness-site .rio-modalities,
  .rio-wellness-site .rio-goals { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .rio-wellness-site .rio-page-hero-shell .rio-section--hero {
    grid-template-columns:
      minmax(80px, calc((100% - 1280px) / 2))
      minmax(0, 1fr)
      48px
      max-content
      minmax(80px, calc((100% - 1280px) / 2));
    column-gap: 0;
  }
  .rio-wellness-site .rio-page-hero-shell .rio-section--hero > .rio-hero-content { grid-column: 2; }
  .rio-wellness-site .rio-page-hero-shell .rio-section--hero > .rio-section--impact-stats,
  .rio-wellness-site .rio-page-hero-shell .rio-section--hero > .rio-section--operator-stats {
    grid-column: 4;
    align-self: center;
  }
  /* The source lays the profile hero out as `justify-between` inside a centred
     1280px box, so the stat rail shrink-wraps against the right edge instead of
     sitting in a fixed column. `max()` reproduces `mx-auto max-w-[1280px]`
     inside the section's own `lg:px-20`. */
  .rio-wellness-site .rio-modality-hero-shell .rio-section--hero {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 48px;
    padding-inline: max(80px, (100% - 1280px) / 2);
  }
  .rio-wellness-site .rio-modality-hero-shell .rio-section--hero > .rio-hero-content {
    flex: 0 1 auto;
  }
  .rio-wellness-site .rio-modality-hero-shell .rio-section--hero > .rio-section--operator-stats {
    width: auto;
    flex: 0 0 auto;
  }
  .rio-wellness-site .rio-page-hero-shell .rio-impact-stats {
    display: flex;
    flex-direction: column;
    gap: 20px;
  }
  .rio-wellness-site .rio-page-hero-shell .rio-impact-stats .rio-stat {
    padding-top: 20px;
    border-top: 1px solid rgba(255, 255, 255, 0.2);
  }
  .rio-wellness-site .rio-page-hero-shell .rio-impact-stats .rio-stat:first-child { padding-top: 0; border-top: 0; }
}

@media (prefers-reduced-motion: reduce) {
  .rio-wellness-site .rio-faq__item summary::after,
  .rio-wellness-site .rio-product-card .rio-seed-image,
  .rio-wellness-site .rio-modality-card .rio-seed-image,
  .rio-wellness-site .rio-podcasts__item .rio-seed-image,
  .rio-wellness-site .rio-about-mission .rio-seed-image,
  .rio-wellness-site .rio-process-list .rio-seed-image {
    transition: none;
  }
}

/* ==========================================================================
   Modality profiles and goal result pages (correctives C1 + C2).

   The profile body is Gutenberg content, so everything below styles the seeded
   markup rather than a template. Geometry is measured off the source
   application: `px-6 py-20 lg:px-10` sections around a 1280px card container,
   40px between a left-aligned heading and its cards, 16px card radii, and the
   operating-economics table scrolling inside its own box instead of the page.
   ========================================================================== */

/* An author `display` beats the UA `[hidden]` rule, so every component that
   declares one has to restore it. `.rio-section` is `display: grid`, which
   silently defeats `hidden` on any section — including the split below. */
.rio-wellness-site .rio-section[hidden] {
  display: none;
}

.rio-wellness-site .rio-section--modality-overview,
.rio-wellness-site .rio-section--comparison,
.rio-wellness-site .rio-section--capital-cost,
.rio-wellness-site .rio-section--operating-economics,
.rio-wellness-site .rio-section--stack-position,
.rio-wellness-site .rio-section--operator-mistakes,
.rio-wellness-site .rio-section--member-adoption,
.rio-wellness-site .rio-section--vendor-selection,
.rio-wellness-site .rio-section--related-products {
  --rio-section-max: 1280px;
  padding-block: 80px;
}

.rio-wellness-site .rio-section--capital-cost,
.rio-wellness-site .rio-section--comparison,
.rio-wellness-site .rio-section--operating-economics,
.rio-wellness-site .rio-section--operator-mistakes,
.rio-wellness-site .rio-section--member-adoption,
.rio-wellness-site .rio-section--related-products {
  row-gap: 40px;
}

/* The source tints every other body section. */
.rio-wellness-site .rio-section--comparison,
.rio-wellness-site .rio-section--operating-economics,
.rio-wellness-site .rio-section--operator-mistakes,
.rio-wellness-site .rio-section--member-adoption {
  background: var(--rio-surface);
}

.rio-wellness-site .rio-section--questions {
  --rio-section-max: 900px;
  padding-top: 80px;
  padding-bottom: 96px;
  row-gap: 40px;
}

/* Left-aligned section headings — only the modality body uses this modifier. */
.rio-wellness-site .rio-section-heading--left {
  align-items: flex-start;
  margin-inline: 0;
  text-align: left;
}

.rio-wellness-site .rio-section-heading--left > .rio-section-eyebrow {
  margin-bottom: 4px;
}

.rio-wellness-site .rio-section-heading--left .rio-copy,
.rio-wellness-site .rio-section-heading--left p {
  max-width: 68ch;
}

/* Figma: 16px / 25px / #4c4c4c at 80% — not the stone body colour. */
.rio-wellness-site .rio-section-heading--left > .rio-copy:not(.rio-eyebrow),
.rio-wellness-site .rio-section-heading--left > p:not(.rio-eyebrow) {
  color: rgba(76, 76, 76, 0.8);
  line-height: 25px;
}

/* Bulleted prose inside the profile body. The shared reset above turns every
   themed list into a bare stack; these are the source's real disc lists. */
.rio-wellness-site .rio-list {
  max-width: 68ch;
  padding-left: 20px;
  color: var(--rio-stone);
  line-height: 1.6;
  list-style: disc;
}

.rio-wellness-site .rio-list > li + li {
  margin-top: 8px;
}

/* Shared card body for the four seeded card collections. */
.rio-wellness-site .rio-compare-cards,
.rio-wellness-site .rio-cost-cards,
.rio-wellness-site .rio-mistake-cards,
.rio-wellness-site .rio-adoption-cards {
  display: grid;
  width: 100%;
  grid-template-columns: minmax(0, 1fr);
  margin: 0;
  padding: 0;
  list-style: none;
}

.rio-wellness-site .rio-compare-cards[hidden],
.rio-wellness-site .rio-cost-cards[hidden],
.rio-wellness-site .rio-mistake-cards[hidden],
.rio-wellness-site .rio-adoption-cards[hidden] {
  display: none;
}

.rio-wellness-site .rio-compare-cards,
.rio-wellness-site .rio-cost-cards,
.rio-wellness-site .rio-adoption-cards {
  gap: 24px;
}

.rio-wellness-site .rio-mistake-cards {
  gap: 16px;
}

.rio-wellness-site .rio-compare-card,
.rio-wellness-site .rio-cost-card,
.rio-wellness-site .rio-adoption-card {
  display: flex;
  min-width: 0;
  flex-direction: column;
  border: 1px solid rgba(18, 18, 20, 0.1);
  border-radius: 16px;
  padding: 32px;
  background: #ffffff;
  list-style: none;
}

.rio-wellness-site .rio-compare-card[hidden],
.rio-wellness-site .rio-cost-card[hidden],
.rio-wellness-site .rio-adoption-card[hidden] {
  display: none;
}

.rio-wellness-site .rio-compare-card,
.rio-wellness-site .rio-adoption-card {
  gap: 16px;
}

.rio-wellness-site .rio-cost-card {
  gap: 20px;
}

.rio-wellness-site .rio-mistake-card {
  min-width: 0;
  border: 1px solid rgba(18, 18, 20, 0.1);
  border-radius: 16px;
  padding: 24px;
  background: #ffffff;
  color: var(--rio-stone);
  line-height: 1.6;
  list-style: none;
}

/* "What This Modality Is" / "How It Works". */
.rio-wellness-site .rio-modality-overview {
  display: grid;
  width: 100%;
  gap: 48px;
}

.rio-wellness-site .rio-modality-overview[hidden] {
  display: none;
}

/* Core's flow layout puts 1.5rem above every following child, which in a grid
   offsets the second column instead of spacing a stack. */
.rio-wellness-site .rio-modality-overview > * {
  margin-block-start: 0;
}

.rio-wellness-site .rio-modality-overview__block {
  display: flex;
  min-width: 0;
  flex-direction: column;
  gap: 12px;
}

.rio-wellness-site .rio-modality-overview__block[hidden] {
  display: none;
}

/* Not the pill — the source writes these two taglines as plain 12px labels. */
.rio-wellness-site .rio-modality-overview__block > .rio-eyebrow {
  color: #213632;
  font-weight: 500;
}

/* The source sets these two headlines a step below the section headline. */
.rio-wellness-site .rio-modality-overview .rio-section__heading {
  font-size: clamp(1.75rem, 3vw, 2.25rem);
  letter-spacing: -0.052em;
}

.rio-wellness-site .rio-modality-overview .rio-copy {
  max-width: 68ch;
}

/* Comparison cards carry the neutral ink badge, not the section pill. */
.rio-wellness-site .rio-compare-card > .rio-section-eyebrow {
  border-color: rgba(18, 18, 20, 0.1);
  padding: 6px 16px;
  background: rgba(18, 18, 20, 0.06);
  color: var(--rio-ink);
}

.rio-wellness-site .rio-compare-card h3 {
  margin: 0;
  color: var(--rio-ink);
  font-family: var(--rio-font-display);
  font-size: 1.5rem;
  font-weight: 500;
  letter-spacing: -0.052em;
  line-height: 1;
}

/* Capital cost price sheets. */
.rio-wellness-site .rio-cost-card h3 {
  margin: 0;
  color: var(--rio-ink);
  font-size: 0.875rem;
  font-weight: 500;
  letter-spacing: 1.2px;
  line-height: 18px;
  text-transform: uppercase;
}

.rio-wellness-site .rio-cost-card__rows {
  display: flex;
  flex-direction: column;
  margin: 0;
}

.rio-wellness-site .rio-cost-card__rows[hidden] {
  display: none;
}

.rio-wellness-site .rio-cost-card__row {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  justify-content: space-between;
  gap: 4px 24px;
  padding-block: 12px;
}

.rio-wellness-site .rio-cost-card__row[hidden] {
  display: none;
}

.rio-wellness-site .rio-cost-card__row + .rio-cost-card__row {
  border-top: 1px solid rgba(18, 18, 20, 0.1);
}

.rio-wellness-site .rio-cost-card__row dt {
  color: var(--rio-stone);
  line-height: 1.6;
}

.rio-wellness-site .rio-cost-card__row dd {
  margin: 0;
  color: var(--rio-ink);
  font-size: 1.125rem;
  line-height: 28px;
  font-variant-numeric: tabular-nums;
}

/* Operating economics. The source drops the table below 640px and restates the
   rows as a definition list; this build keeps one real table for everyone and
   scrolls it inside its own card, so the page itself never moves sideways. */
.rio-wellness-site .rio-table-scroll {
  overflow: auto hidden;
  border: 1px solid rgba(18, 18, 20, 0.1);
  border-radius: 16px;
  background: #ffffff;
}

.rio-wellness-site .rio-economics-table {
  margin: 0;
  overflow: visible;
}

.rio-wellness-site .rio-economics-table table {
  width: 100%;
  min-width: 560px;
  border-collapse: collapse;
  text-align: left;
}

.rio-wellness-site .rio-economics-table thead {
  border-bottom: 0;
}

.rio-wellness-site .rio-economics-table thead tr {
  border-bottom: 1px solid rgba(18, 18, 20, 0.1);
}

.rio-wellness-site .rio-economics-table tbody tr + tr {
  border-top: 1px solid rgba(18, 18, 20, 0.1);
}

.rio-wellness-site .rio-economics-table th,
.rio-wellness-site .rio-economics-table td {
  border: 0;
  padding: 16px 24px;
  text-align: left;
}

.rio-wellness-site .rio-economics-table thead th {
  color: var(--rio-ink);
  font-size: 0.875rem;
  font-weight: 500;
  letter-spacing: 1.2px;
  line-height: 18px;
  text-transform: uppercase;
  vertical-align: middle;
}

.rio-wellness-site .rio-economics-table tbody th {
  color: var(--rio-ink);
  font-weight: 500;
  line-height: 1.6;
  vertical-align: top;
}

.rio-wellness-site .rio-economics-table tbody td {
  color: var(--rio-stone);
  font-weight: 400;
  line-height: 1.6;
  vertical-align: top;
}

/* Prose beside a photograph — used twice per profile, mirrored the second time. */
.rio-wellness-site .rio-split {
  row-gap: 48px;
}

.rio-wellness-site .rio-split__copy {
  display: flex;
  flex-direction: column;
  gap: 24px;
}

.rio-wellness-site .rio-split__copy[hidden] {
  display: none;
}

.rio-wellness-site .rio-split__media {
  overflow: hidden;
  aspect-ratio: 4 / 3;
  border-radius: 16px;
}

.rio-wellness-site .rio-split__media > .rio-seed-image {
  width: 100%;
  height: 100%;
  border-radius: inherit;
  object-fit: cover;
}

/* Member adoption tiles. */
.rio-wellness-site .rio-adoption-card__icon {
  display: flex;
  width: 48px;
  height: 48px;
  flex: 0 0 auto;
  align-items: center;
  justify-content: center;
  overflow: clip;
  border-radius: 12px;
  background: rgba(41, 75, 149, 0.1);
}

.rio-wellness-site .rio-adoption-card__icon[hidden] {
  display: none;
}

.rio-wellness-site .rio-adoption-card__icon img {
  width: 24px;
  height: 24px;
}

.rio-wellness-site .rio-adoption-card h3 {
  margin: 0;
  color: var(--rio-ink);
  font-size: 1rem;
  font-weight: 500;
  line-height: 25.6px;
}

.rio-wellness-site .rio-adoption-card p {
  margin: 0;
  color: var(--rio-stone);
  line-height: 1.6;
}

/* Catalogue equipment for the profile. The source narrows the grid when the
   catalogue carries one or two units, so a lone card is not a broken row. */
.rio-wellness-site .rio-equipment__more a {
  color: var(--rio-brand);
  line-height: 24px;
  text-decoration: underline;
  text-underline-offset: 4px;
}

/* Goal result pages. */
.rio-wellness-site .rio-goal-art-shell .rio-section--goal-products {
  position: relative;
  z-index: 2;
  --rio-section-max: 1280px;
  padding-bottom: 96px;
  row-gap: 20px;
}

.rio-wellness-site .rio-goal-products__count {
  border: 1px solid rgba(18, 18, 20, 0.1);
  border-radius: 12px;
  padding: 20px;
  background: #ffffff;
}

.rio-wellness-site .rio-goal-products__count h2 {
  margin: 0;
  color: var(--rio-ink);
  font-size: 1.125rem;
  font-weight: 500;
  line-height: 25.6px;
}

.rio-wellness-site .rio-goal-products__empty {
  border: 1px solid rgba(18, 18, 20, 0.1);
  border-radius: 12px;
  padding: 40px;
  background: #ffffff;
  color: var(--rio-stone);
  text-align: center;
}

.rio-wellness-site .rio-goal-products__empty a {
  color: var(--rio-brand);
  text-decoration: underline;
  text-underline-offset: 4px;
}

@media (min-width: 640px) {
  .rio-wellness-site .rio-equipment[data-rio-equipment-count="1"] .rio-related-products {
    max-width: 411px;
    grid-template-columns: minmax(0, 1fr);
  }
}

@media (min-width: 768px) {
  .rio-wellness-site .rio-mistake-cards,
  .rio-wellness-site .rio-adoption-cards {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (min-width: 1024px) {
  /* The source pads these sections 40px, not the 80px the rest of the site
     uses; the 1280px cap still centres them at 1440. */
  .rio-wellness-site .rio-section--modality-overview,
  .rio-wellness-site .rio-section--comparison,
  .rio-wellness-site .rio-section--capital-cost,
  .rio-wellness-site .rio-section--operating-economics,
  .rio-wellness-site .rio-section--stack-position,
  .rio-wellness-site .rio-section--operator-mistakes,
  .rio-wellness-site .rio-section--member-adoption,
  .rio-wellness-site .rio-section--vendor-selection,
  .rio-wellness-site .rio-section--related-products,
  .rio-wellness-site .rio-section--questions,
  .rio-wellness-site .rio-goal-art-shell .rio-section--goal-products,
  .rio-wellness-site .rio-art-shell .rio-section--hero,
  .rio-wellness-site .rio-hub-art-shell .rio-section--modality-collection,
  .rio-wellness-site .rio-hub-art-shell .rio-section--goal-collection,
  .rio-wellness-site .rio-section--product-panel,
  .rio-wellness-site .rio-section--product-specifications {
    --rio-section-gutter: 40px;
  }
  .rio-wellness-site .rio-section--product-panel { padding-top: 160px; }
  .rio-wellness-site .rio-section--closing-cta { --rio-section-gutter: 0px; }
  .rio-wellness-site .rio-modality-overview,
  .rio-wellness-site .rio-compare-cards,
  .rio-wellness-site .rio-cost-cards {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .rio-wellness-site .rio-modality-overview {
    gap: 64px;
  }
  .rio-wellness-site .rio-split {
    display: flex;
    align-items: center;
    column-gap: 64px;
    /* The section grid's centred 1280px column, expressed as padding so the two
       halves can share one flex line. */
    padding-inline: max(var(--rio-section-gutter), (100% - var(--rio-section-max)) / 2);
  }
  .rio-wellness-site .rio-split[hidden] {
    display: none;
  }
  .rio-wellness-site .rio-split--flip {
    flex-direction: row-reverse;
  }
  /* Basis 0, as the source writes it: the prose takes the space the 46% photo
     leaves rather than bidding for its own content width. */
  .rio-wellness-site .rio-split > .rio-split__copy {
    flex: 1 1 0%;
  }
  .rio-wellness-site .rio-split > .rio-split__media {
    flex: 0 1 46%;
  }
}

@media (min-width: 1280px) {
  .rio-wellness-site .rio-adoption-cards {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
  .rio-wellness-site .rio-equipment[data-rio-equipment-count="2"] .rio-related-products {
    max-width: 846px;
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
