.rp-tour {--rp-green: #08ac9f; --rp-title: #13364d; padding: 76px 0px 88px; overflow: hidden; scroll-margin-top: 100px;}
html[data-page="index"] .rp-tour > .section-shell {width: calc(100% - 80px); max-width: 1380px; margin-inline: auto; padding-inline: 0px;}
.rp-heading {margin: 0px auto 64px; text-align: center;}
html[data-page="index"] .rp-heading h2 {position: relative; top: -4px; margin: 0px; color: var(--ink); letter-spacing: -0.04em; text-transform: none; font-size: 40px !important; font-weight: 400 !important; line-height: 1.25 !important;}
.rp-heading h2::after {content: ""; display: block; width: 72px; height: 3px; margin: 23px auto 0px; border-radius: 8px; background: linear-gradient(90deg,#2585ef,var(--rp-green));}
/* Título da apresentação: referência aprovada, com subtítulo azul e verde. */
html[data-page="index"] .rp-heading h2::after {display: none;}
html[data-page="index"] .rp-heading-subtitle {
  --rp-subtitle-blue: #176bca;
  --rp-subtitle-green: #008566;
  display: inline-block;
  max-width: 100%;
  margin: 14px 0 0;
  color: var(--rp-subtitle-blue);
  font-size: clamp(20px, 1.8vw, 24px);
  font-weight: 600;
  line-height: 1.4;
  letter-spacing: 0;
  text-wrap: balance;
}
html[data-page="index"][data-theme="dark"] .rp-heading-subtitle {
  --rp-subtitle-blue: #4597ff;
  --rp-subtitle-green: #2bd4a8;
}
@supports ((background-clip: text) or (-webkit-background-clip: text)) {
  html[data-page="index"] .rp-heading-subtitle {
    background-image: linear-gradient(100deg, var(--rp-subtitle-blue), var(--rp-subtitle-green));
    background-clip: text;
    -webkit-background-clip: text;
    color: transparent;
    -webkit-text-fill-color: transparent;
  }
}
@media (forced-colors: active) {
  html[data-page="index"] .rp-heading-subtitle {
    background: none;
    color: CanvasText;
    -webkit-text-fill-color: CanvasText;
  }
}
.rp-groups {display: grid; gap: 76px;}
.rp-group {position: relative; display: grid; grid-template-columns: minmax(410px, 0.92fr) minmax(0px, 1.4fr); gap: 40px; align-items: center; padding: 28px; border: 1px solid rgba(52, 136, 165, 0.07); border-radius: 26px; background: linear-gradient(120deg, rgb(234, 245, 252), rgb(243, 251, 252) 70%, rgb(239, 250, 248));}
.rp-group:nth-child(2) {background: linear-gradient(120deg, rgb(241, 250, 248), rgb(234, 247, 244) 65%, rgb(238, 247, 252));}
.rp-group:nth-child(3) {background: linear-gradient(120deg, rgb(237, 246, 252), rgb(233, 244, 249) 65%, rgb(241, 250, 252));}
.rp-group:nth-child(4) {background: linear-gradient(120deg, rgb(237, 248, 250), rgb(229, 245, 243) 65%, rgb(241, 249, 253));}
.rp-group + .rp-group::before {content: ""; position: absolute; top: -39px; left: 10%; right: 10%; height: 1px; background: linear-gradient(90deg, transparent, rgba(67, 141, 166, 0.2), transparent);}
.rp-group:nth-child(2n) {grid-template-columns: minmax(0px, 1.4fr) minmax(410px, 0.92fr);}
.rp-group:nth-child(2n) .rp-menu {grid-area: 1 / 2;}
.rp-group:nth-child(2n) .rp-display {grid-area: 1 / 1;}
.rp-menu {min-width: 0px;}
html[data-page="index"] .rp-menu h3 {margin: 0px 0px 22px; line-height: 1.35; letter-spacing: -0.035em; text-transform: none; text-align: center; color: var(--rp-title) !important; font-size: 26px !important; font-weight: 400 !important;}
.rp-options {display: grid; gap: 11px;}
.rp-option {appearance: none; display: flex; align-items: center; gap: 14px; position: relative; width: 100%; min-width: 0px; min-height: 66px; padding: 13px 16px; border: 1px solid rgba(7, 143, 170, 0.208); border-radius: 15px; background: linear-gradient(110deg, rgba(255, 255, 255, 0.72), rgba(230, 246, 248, 0.68)); color: rgb(23, 62, 81); text-align: left; font: inherit; cursor: pointer; transition: transform 0.22s, background 0.22s, border-color 0.22s, box-shadow 0.22s;}
.rp-option-icon {display: grid; place-items: center; flex: 0 0 35px; width: 35px; height: 35px; border: 1px solid rgba(25, 142, 182, 0.145); border-radius: 10px; color: rgb(7, 132, 177); background: rgba(67, 178, 219, 0.07); transition: transform 0.25s, color 0.25s, background 0.25s;}
.rp-option-icon svg {width: 23px; height: 23px;}
html[data-page="index"] .rp-option-label {flex: 1 1 0%; min-width: 0px; font-size: 16px; line-height: 1.4; white-space: nowrap; letter-spacing: -0.015em; font-weight: 400 !important;}
.rp-option-arrow {flex: 0 0 14px; opacity: 0.45; transition: transform 0.22s, opacity 0.22s;}
.rp-option-arrow svg {display: block; width: 14px; height: 14px;}
.rp-option[aria-pressed="true"] {background: linear-gradient(110deg, rgb(21, 131, 195), rgb(5, 135, 140)); color: white; border-color: rgb(49, 181, 199); box-shadow: rgba(5, 118, 145, 0.11) 0px 7px 18px, rgba(255, 255, 255, 0.125) 0px 1px inset;}
.rp-option[aria-pressed="true"] .rp-option-icon {color: white; background: rgba(255, 255, 255, 0.08); border-color: rgba(184, 242, 236, 0.27);}
.rp-option[aria-pressed="true"] .rp-option-arrow {opacity: 1;}
.rp-option:focus-visible,
.rp-preview:focus-visible {outline: rgb(27, 174, 197) solid 3px; outline-offset: 5px;}
.rp-display {position: relative; min-width: 0px; margin: 0px;}
.rp-preview {display: block; position: relative; padding: 7px; border: 1px solid rgba(123, 167, 180, 0.23); border-radius: 19px; background: linear-gradient(140deg, rgb(217, 232, 239), rgb(237, 249, 248)); box-shadow: rgba(22, 59, 104, 0.38) 0px 22px 40px -24px, rgba(4, 38, 53, 0.04) 0px 2px 8px; cursor: zoom-in; text-decoration: none; transition: box-shadow 0.3s, transform 0.3s;}
.rp-viewport {position: relative; display: block; aspect-ratio: 16 / 9; overflow: hidden; border-radius: 11px; background: rgb(11, 24, 42);}
.rp-viewport img {display: block; width: 100%; height: 100%; object-fit: cover; transition: transform 0.5s cubic-bezier(0.2, 0.65, 0.3, 1);}
.rp-viewport video {display: block; width: 100%; height: 100%; object-fit: contain; background: #eef4f8; pointer-events: none;}
.rp-viewport [hidden], .rp-modal-body [hidden], .rp-video-toggle[hidden] {display: none !important;}
.rp-video-toggle {position: absolute; right: 19px; bottom: 19px; z-index: 2; min-height: 40px; padding: 9px 13px; border: 1px solid rgba(211, 234, 255, .4); border-radius: 10px; background: rgba(7, 33, 55, .94); color: #fff; font: inherit; font-size: 12px; line-height: 1.3; cursor: pointer; box-shadow: 0 4px 10px #0002;}
.rp-video-toggle:hover {background: #087d86;}
.rp-video-toggle:focus-visible {outline: 3px solid #1baec5; outline-offset: 4px;}
.rp-viewport[data-view="lesson"] img {transform: scale(1.13); transform-origin: 74% 46%;}
.rp-viewport[data-view="enamed"] img {transform: scale(1.12); transform-origin: 76% 63%;}
.rp-viewport[data-view="cycle"] img {transform: scale(1.15); transform-origin: 70% 20%;}
.rp-viewport[data-view="extension"] img {transform: scale(1.12); transform-origin: 70% 65%;}
.rp-viewport[data-view="prescription"] img {transform: scale(1.2); transform-origin: 90% 80%;}
.rp-viewport[data-view="exams"] img {transform: scale(1.55); transform-origin: 72% 74%;}
.rp-viewport[data-view="laboratory"] img {transform: scale(1.4); transform-origin: 100% 88%;}
.rp-viewport[data-view="contents"] img {transform: scale(1.12); transform-origin: 42% 48%;}
.rp-viewport[data-view="questions"] img {transform: scale(1.24); transform-origin: 52% 44%;}
.rp-viewport[data-view="tests"] img {transform: scale(1.3); transform-origin: 76% 44%;}
.rp-viewport[data-view="flashcards"] img {transform: scale(1.3); transform-origin: 100% 44%;}
.rp-expand {display: flex; align-items: center; gap: 7px; position: absolute; right: 19px; top: 19px; padding: 9px 12px; border: 1px solid rgba(211, 234, 255, 0.36); border-radius: 10px; background: rgba(7, 33, 55, 0.93); color: white; font-size: 12px; font-weight: 400; box-shadow: rgba(0, 0, 0, 0.133) 0px 4px 10px; transition: background 0.2s;}
.rp-expand svg {width: 15px; height: 15px;}
html[data-theme="dark"] .rp-tour {--rp-title: #eff9ff;}
html[data-theme="dark"] .rp-group {border-color: rgba(112, 205, 215, 0.063); background: linear-gradient(110deg, rgba(6, 48, 75, 0.49), rgba(6, 43, 61, 0.27) 70%, rgba(7, 80, 86, 0.224));}
html[data-theme="dark"] .rp-group:nth-child(2) {background: linear-gradient(110deg, rgba(10, 56, 62, 0.396), rgba(8, 43, 62, 0.44) 65%, rgba(7, 94, 87, 0.19));}
html[data-theme="dark"] .rp-group:nth-child(3) {background: linear-gradient(110deg, rgba(10, 53, 81, 0.42), rgba(10, 40, 74, 0.48) 65%, rgba(11, 68, 64, 0.24));}
html[data-theme="dark"] .rp-group:nth-child(4) {background: linear-gradient(110deg, rgba(10, 53, 70, 0.38), rgba(7, 80, 68, 0.3) 65%, rgba(6, 39, 64, 0.5));}
html[data-theme="dark"] .rp-option {color: rgb(237, 250, 255); border-color: rgba(41, 180, 200, 0.224); background: linear-gradient(110deg, rgba(7, 52, 71, 0.64), rgba(6, 85, 83, 0.26));}
html[data-theme="dark"] .rp-option-icon {color: rgb(36, 208, 221); border-color: rgba(13, 183, 195, 0.282); background: rgba(6, 44, 60, 0.64);}
html[data-theme="dark"] .rp-option[aria-pressed="true"] {background: linear-gradient(110deg, rgba(8, 123, 172, 0.72), rgba(7, 131, 123, 0.43)); border-color: rgba(37, 193, 199, 0.49);}
html[data-theme="dark"] .rp-option[aria-pressed="true"] .rp-option-icon {color: white; background: linear-gradient(135deg, rgb(3, 165, 211), rgb(0, 167, 152)); border-color: rgba(83, 225, 212, 0.404);}
html[data-theme="dark"] .rp-preview {background: linear-gradient(140deg, rgb(37, 70, 87), rgb(18, 79, 85)); border-color: rgba(123, 167, 180, 0.25); box-shadow: rgba(0, 0, 0, 0.6) 0px 24px 38px -20px;}
.rp-modal {box-sizing: border-box; width: min(1500px, 100% - 40px); max-width: none; max-height: calc(-40px + 100dvh); margin: auto; padding: 0px; border: 1px solid rgba(102, 152, 174, 0.467); border-radius: 20px; background: rgb(11, 30, 48); color: white; overflow: auto; box-shadow: rgba(0, 0, 0, 0.6) 0px 30px 100px;}
.rp-modal::backdrop {background: rgba(2, 11, 24, 0.85); backdrop-filter: blur(8px);}
.rp-modal-header {display: flex; align-items: center; justify-content: space-between; gap: 18px; padding: 16px 22px; position: sticky; top: 0px; z-index: 1; background: rgb(11, 30, 48);}
.rp-modal-header h2 {margin: 0px; color: white; font-size: 18px; line-height: 1.35; font-weight: 400; letter-spacing: 0px; text-transform: none;}
.rp-modal-header h2::after {display: none;}
.rp-modal-close {display: flex; align-items: center; justify-content: center; flex-shrink: 0; gap: 10px; min-height: 44px; padding: 10px 14px; border: 1px solid rgba(177, 221, 236, 0.333); border-radius: 12px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: inherit; font-family: inherit; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; font-size: 14px; color: white; background: rgba(255, 255, 255, 0.047); cursor: pointer; transition: background 0.2s, border-color 0.2s;}
.rp-modal-close svg {width: 20px; height: 20px;}
.rp-modal-close:hover {background: rgb(31, 96, 114); border-color: rgb(117, 221, 203);}
.rp-modal-close:focus-visible {outline: rgb(140, 242, 222) solid 3px; outline-offset: 3px;}
.rp-modal-body {display: flex; justify-content: center; padding: 0px 14px 14px;}
.rp-modal-body img {display: block; width: 100%; height: auto; max-height: calc(-132px + 100dvh); object-fit: contain; border-radius: 9px;}
.rp-modal-body video {display: block; width: 100%; max-height: calc(-132px + 100dvh); aspect-ratio: 16 / 9; object-fit: contain; border-radius: 9px; background: #000;}
.platform-inline-video {display: block; width: 100%; height: auto; aspect-ratio: 16 / 9; background: #eef4f8; object-fit: contain;}
@media (hover: hover) {
.rp-option:hover {transform: translateY(-3px); border-color: rgba(19, 159, 186, 0.76); box-shadow: rgba(9, 98, 135, 0.14) 0px 7px 19px;}
.rp-option:hover .rp-option-icon {transform: translateY(-1px) rotate(-5deg); background: rgba(33, 181, 212, 0.17);}
.rp-option:hover .rp-option-arrow {opacity: 1; transform: translateX(2px);}
.rp-preview:hover {transform: translateY(-3px); box-shadow: rgba(20, 63, 98, 0.4) 0px 26px 44px -20px;}
.rp-preview:hover .rp-expand {background: rgb(8, 125, 134);}
}
@media (max-width: 1199px) {
html[data-page="index"] .rp-tour > .section-shell {width: calc(100% - 48px);}
.rp-group {grid-template-columns: minmax(380px, 0.98fr) minmax(0px, 1.2fr); gap: 26px; padding: 22px;}
.rp-group:nth-child(2n) {grid-template-columns: minmax(0px, 1.2fr) minmax(380px, 0.98fr);}
html[data-page="index"] .rp-heading h2 {font-size: 36px !important;}
html[data-page="index"] .rp-menu h3 {font-size: 21px !important;}
.rp-option {padding: 12px; gap: 10px;}
html[data-page="index"] .rp-option-label {font-size: 15px;}
}
@media (max-width: 950px) {
.rp-tour {padding: 54px 0px 64px;}
.rp-heading {margin-bottom: 44px;}
.rp-groups {gap: 60px;}
.rp-group,
.rp-group:nth-child(2n) {grid-template-columns: 1fr; gap: 26px; padding: 26px;}
.rp-group:nth-child(2n) .rp-menu,
.rp-group:nth-child(2n) .rp-display {grid-area: auto;}
.rp-group + .rp-group::before {top: -31px;}
html[data-page="index"] .rp-menu h3 {font-size: 23px !important;}
.rp-option {min-height: 64px; padding: 12px 16px;}
html[data-page="index"] .rp-option-label {font-size: 17px;}
}
@media (max-width: 540px) {
.rp-tour {padding: 40px 0px 52px;}
html[data-page="index"] .rp-tour > .section-shell {width: calc(100% - 28px);}
html[data-page="index"] .rp-heading h2 {font-size: 32px !important; line-height: 1.25 !important;}
.rp-heading h2::after {margin-top: 18px;}
.rp-heading {margin-bottom: 32px;}
.rp-groups {gap: 44px;}
.rp-group,
.rp-group:nth-child(2n) {padding: 17px 12px; gap: 22px; border-radius: 20px;}
.rp-group + .rp-group::before {top: -23px;}
html[data-page="index"] .rp-menu h3 {margin-bottom: 18px; font-size: 22px !important;}
.rp-options {gap: 9px;}
.rp-option {min-height: 66px; padding: 11px 10px; gap: 10px; border-radius: 13px;}
.rp-option-icon {width: 32px; height: 32px; flex-basis: 32px;}
.rp-option-icon svg {width: 21px; height: 21px;}
html[data-page="index"] .rp-option-label {font-size: 15px; white-space: normal;}
.rp-option-arrow {flex-basis: 12px;}
.rp-option-arrow svg {width: 12px; height: 12px;}
.rp-preview {padding: 5px; border-radius: 13px;}
.rp-viewport {border-radius: 8px;}
.rp-expand {top: 12px; right: 12px; padding: 7px; border-radius: 7px;}
.rp-expand span {display: none;}
.rp-video-toggle {right: 12px; bottom: 12px; min-height: 40px; padding: 8px 10px; font-size: 11px;}
.rp-modal {width: calc(100% - 16px); max-height: calc(-16px + 100dvh); border-radius: 14px;}
.rp-modal-header {padding: 13px; gap: 10px;}
.rp-modal-header h2 {font-size: 15px;}
.rp-modal-close {padding: 10px;}
.rp-modal-close span {display: none;}
.rp-modal-body {padding: 0px 6px 6px;}
.rp-modal-body img {max-height: calc(-100px + 100dvh); border-radius: 6px;}
}
@media (prefers-reduced-motion: reduce) {
.rp-tour *,
.rp-modal * {transition: none !important; animation: auto ease 0s 1 normal none running none !important;}
.rp-option:hover,
.rp-option:hover .rp-option-icon,
.rp-option:hover .rp-option-arrow,
.rp-preview:hover {transform: none;}
}

/* Títulos das demonstrações: mesma medida em todas as páginas e telas. */
html .rp-tour .rp-menu h3[id^="rp-title-"] {
  font-size: 32px !important;
  line-height: 1.25;
  text-wrap: balance;
}

/* A mesma cor de leitura para todas as demonstrações, inclusive nas páginas internas. */
html[data-theme="light"] .rp-tour .rp-menu h3[id^="rp-title-"] {
  color: #13364d !important;
  -webkit-text-fill-color: currentColor;
}
html[data-theme="light"] .rp-tour .rp-option {
  color: #173e51;
  border-color: #aacfdc;
}
html[data-theme="light"] .rp-tour .rp-option[aria-pressed="true"] {
  color: #fff;
  background: linear-gradient(110deg, #0868a5, #006d70);
  border-color: #086d91;
}
html[data-page] .rp-tour .rp-video-toggle,
html[data-page] .rp-tour .rp-expand {
  color: #fff;
  background-color: #072137;
}

/* Faixa horizontal em telas onde o vídeo fica abaixo da navegação. */
@media (max-width: 950px) {
  html[data-page] .rp-tour .rp-group {
    grid-template-columns: minmax(0, 1fr);
    gap: 12px;
  }
  html[data-page] .rp-tour .rp-menu,
  html[data-page] .rp-tour .rp-display {
    grid-area: auto;
    width: 100%;
    min-width: 0;
  }
  html[data-page] .rp-tour .rp-menu h3 { margin-bottom: 14px; }
  html[data-page] .rp-tour .rp-options {
    display: flex;
    flex-wrap: nowrap;
    align-items: stretch;
    gap: 10px;
    max-width: 100%;
    min-width: 0;
    padding: 4px 3px 10px;
    overflow-x: auto;
    overflow-y: hidden;
    overscroll-behavior-x: contain;
    scroll-snap-type: x proximity;
    scroll-padding-inline: 3px;
    scrollbar-width: thin;
    scrollbar-color: #087e92 transparent;
    -webkit-overflow-scrolling: touch;
  }
  html[data-page] .rp-tour .rp-option {
    flex: 0 0 min(84%, 340px);
    width: auto;
    min-width: 0;
    min-height: 66px;
    padding: 12px;
    gap: 10px;
    scroll-snap-align: start;
    scroll-margin-inline: 3px;
    transform: none;
  }
  html[data-page] .rp-tour .rp-option:only-child { flex-basis: 100%; }
  html[data-page] .rp-tour .rp-option-label {
    flex: 1 1 0;
    min-width: 0;
    font-size: 15px;
    line-height: 1.4;
    white-space: normal;
    overflow-wrap: anywhere;
  }
  html[data-page] .rp-tour .rp-option:focus-visible {
    outline-offset: -3px;
  }
  html[data-theme="dark"] .rp-tour .rp-options { scrollbar-color: #38bdca transparent; }
  html[data-page] .rp-tour .rp-options::-webkit-scrollbar { height: 4px; }
  html[data-page] .rp-tour .rp-options::-webkit-scrollbar-thumb { background: #087e92; border-radius: 4px; }
  html[data-theme="dark"] .rp-tour .rp-options::-webkit-scrollbar-thumb { background: #38bdca; }
}

/* Controles compactos, apenas com ícones; rótulos mantidos para leitores de tela. */
html[data-page] :is(.rp-video-toggle, .rp-expand, .platform-float-toggle) {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 44px;
  height: 44px;
  min-width: 44px;
  min-height: 44px;
  padding: 0;
  gap: 0;
}
html[data-page] :is(.rp-video-toggle, .rp-expand, .platform-float-toggle) svg {
  width: 20px;
  height: 20px;
  flex: 0 0 20px;
  pointer-events: none;
}
