/* Home — quatro grupos da plataforma. Regras isoladas, sem estilos das versões removidas. */
.rp-tour { --rp-green:#08ac9f; --rp-title:#087fae; padding:76px 0 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: 0;
}
.rp-heading { margin:0 auto 64px; text-align:center; }
html[data-page="index"] .rp-heading h2 { position:relative; top:-4px; margin:0; color:var(--ink); font-size:40px!important; font-weight:400!important; line-height:1.25!important; letter-spacing:-.04em; text-transform:none; }
.rp-heading h2::after { content:""; display:block; width:72px; height:3px; margin:23px auto 0; border-radius:8px; background:linear-gradient(90deg,#2585ef,var(--rp-green)); }
.rp-groups { display:grid; gap:76px; }
.rp-group { position:relative; display:grid; grid-template-columns:minmax(410px,.92fr) minmax(0,1.4fr); gap:40px; align-items:center; padding:28px; border:1px solid #3488a512; border-radius:26px; background:linear-gradient(120deg,#eaf5fc,#f3fbfc 70%,#effaf8); }
.rp-group:nth-child(2) { background:linear-gradient(120deg,#f1faf8,#eaf7f4 65%,#eef7fc); }
.rp-group:nth-child(3) { background:linear-gradient(120deg,#edf6fc,#e9f4f9 65%,#f1fafc); }
.rp-group:nth-child(4) { background:linear-gradient(120deg,#edf8fa,#e5f5f3 65%,#f1f9fd); }
.rp-group + .rp-group::before { content:""; position:absolute; top:-39px; left:10%; right:10%; height:1px; background:linear-gradient(90deg,transparent,#438da633,transparent); }
.rp-group:nth-child(even) { grid-template-columns:minmax(0,1.4fr) minmax(410px,.92fr); }
.rp-group:nth-child(even) .rp-menu { grid-column:2; grid-row:1; }
.rp-group:nth-child(even) .rp-display { grid-column:1; grid-row:1; }
.rp-menu { min-width:0; }
html[data-page="index"] .rp-menu h3 {
  margin: 0 0 22px;
  color: #ffffff !important;
  font-size: 26px !important;
  line-height: 1.35;
  letter-spacing: -.035em;
  font-weight: 400 !important;
  text-transform: none;
  text-align: center;
  margin-top: 0px;
}
.rp-options { display:grid; gap:11px; }
.rp-option { appearance:none; display:flex; align-items:center; gap:14px; position:relative; width:100%; min-width:0; min-height:66px; padding:13px 16px; border:1px solid #078faa35; border-radius:15px; background:linear-gradient(110deg,#ffffffb8,#e6f6f8ad); color:#173e51; text-align:left; font:inherit; cursor:pointer; transition:transform .22s ease,background .22s ease,border-color .22s ease,box-shadow .22s ease; }
.rp-option-icon { display:grid; place-items:center; flex:0 0 35px; width:35px; height:35px; border:1px solid #198eb625; border-radius:10px; color:#0784b1; background:#43b2db12; transition:transform .25s ease,color .25s ease,background .25s ease; }
.rp-option-icon svg { width:23px; height:23px; }
html[data-page="index"] .rp-option-label { flex:1; min-width:0; font-size:16px; font-weight:400!important; line-height:1.4; white-space:nowrap; letter-spacing:-.015em; }
.rp-option-arrow { flex:0 0 14px; opacity:.45; transition:transform .22s ease,opacity .22s ease; }
.rp-option-arrow svg { display:block; width:14px; height:14px; }
.rp-option[aria-pressed="true"] { background:linear-gradient(110deg,#1583c3,#05878c); color:white; border-color:#31b5c7; box-shadow:0 7px 18px #0576911c,inset 0 1px #ffffff20; }
.rp-option[aria-pressed="true"] .rp-option-icon { color:white; background:#ffffff14; border-color:#b8f2ec45; }
.rp-option[aria-pressed="true"] .rp-option-arrow { opacity:1; }
.rp-option:focus-visible,.rp-preview:focus-visible { outline:3px solid #1baec5; outline-offset:5px; }
.rp-display { min-width:0; margin:0; }
.rp-preview { display:block; position:relative; padding:7px; border:1px solid #7ba7b43b; border-radius:19px; background:linear-gradient(140deg,#d9e8ef,#edf9f8); box-shadow:0 22px 40px -24px #163b6861,0 2px 8px #0426350a; cursor:zoom-in; text-decoration:none; transition:box-shadow .3s ease,transform .3s ease; }
.rp-viewport { position:relative; display:block; aspect-ratio:16/9; overflow:hidden; border-radius:11px; background:#0b182a; }
.rp-viewport img { display:block; width:100%; height:100%; object-fit:cover; transition:transform .5s cubic-bezier(.2,.65,.3,1); }
.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 #d3eaff5c; border-radius:10px; background:#072137ed; color:white; font-size:12px; font-weight:400; box-shadow:0 4px 10px #0002; transition:background .2s ease; }
.rp-expand svg { width:15px; height:15px; }
html[data-theme="dark"] .rp-tour { --rp-title:#28c2e6; }
html[data-theme="dark"] .rp-group { border-color:#70cdd710; background:linear-gradient(110deg,#06304b7d,#062b3d45 70%,#07505639); }
html[data-theme="dark"] .rp-group:nth-child(2) { background:linear-gradient(110deg,#0a383e65,#082b3e70 65%,#075e5730); }
html[data-theme="dark"] .rp-group:nth-child(3) { background:linear-gradient(110deg,#0a35516b,#0a284a7a 65%,#0b44403d); }
html[data-theme="dark"] .rp-group:nth-child(4) { background:linear-gradient(110deg,#0a354661,#0750444d 65%,#06274080); }
html[data-theme="dark"] .rp-option { color:#edfaff; border-color:#29b4c839; background:linear-gradient(110deg,#073447a3,#06555342); }
html[data-theme="dark"] .rp-option-icon { color:#24d0dd; border-color:#0db7c348; background:#062c3ca3; }
html[data-theme="dark"] .rp-option[aria-pressed="true"] { background:linear-gradient(110deg,#087bacb8,#07837b6e); border-color:#25c1c77d; }
html[data-theme="dark"] .rp-option[aria-pressed="true"] .rp-option-icon { color:white; background:linear-gradient(135deg,#03a5d3,#00a798); border-color:#53e1d467; }
html[data-theme="dark"] .rp-preview { background:linear-gradient(140deg,#254657,#124f55); border-color:#7ba7b440; box-shadow:0 24px 38px -20px #0009; }
.rp-modal { box-sizing:border-box; width:min(1500px,calc(100% - 40px)); max-width:none; max-height:calc(100dvh - 40px); margin:auto; padding:0; border:1px solid #6698ae77; border-radius:20px; background:#0b1e30; color:white; overflow:auto; box-shadow:0 30px 100px #0009; }
.rp-modal::backdrop { background:#020b18d9; backdrop-filter:blur(8px); }
.rp-modal-header { display:flex; align-items:center; justify-content:space-between; gap:18px; padding:16px 22px; position:sticky; top:0; z-index:1; background:#0b1e30; }
.rp-modal-header h2 { margin:0; color:white; font-size:18px; line-height:1.35; font-weight:400; letter-spacing:0; 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 #b1ddec55; border-radius:12px; font:inherit; font-size:14px; color:white; background:#ffffff0c; cursor:pointer; transition:background .2s ease,border-color .2s ease; }
.rp-modal-close svg { width:20px; height:20px; }
.rp-modal-close:hover { background:#1f6072; border-color:#75ddcb; }
.rp-modal-close:focus-visible { outline:3px solid #8cf2de; outline-offset:3px; }
.rp-modal-body { display:flex; justify-content:center; padding:0 14px 14px; }
.rp-modal-body img { display:block; width:100%; height:auto; max-height:calc(100dvh - 132px); object-fit:contain; border-radius:9px; }
@media(hover:hover) {
 .rp-option:hover { transform:translateY(-3px); border-color:#139fbac2; box-shadow:0 7px 19px #09628724; }
 .rp-option:hover .rp-option-icon { transform:translateY(-1px) rotate(-5deg); background:#21b5d42b; }
 .rp-option:hover .rp-option-arrow { opacity:1; transform:translateX(2px); }
 .rp-preview:hover { transform:translateY(-3px); box-shadow:0 26px 44px -20px #143f6266; }
 .rp-preview:hover .rp-expand { background:#087d86; }
}
@media(max-width:1199px) {
 html[data-page="index"] .rp-tour > .section-shell { width:calc(100% - 48px); }
 .rp-group { grid-template-columns:minmax(380px,.98fr) minmax(0,1.2fr); gap:26px; padding:22px; }
 .rp-group:nth-child(even) { grid-template-columns:minmax(0,1.2fr) minmax(380px,.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 0 64px; }
 .rp-heading { margin-bottom:44px; }
 .rp-groups { gap:60px; }
 .rp-group,.rp-group:nth-child(even) { grid-template-columns:1fr; gap:26px; padding:26px; }
 .rp-group:nth-child(even) .rp-menu,.rp-group:nth-child(even) .rp-display { grid-column:auto; grid-row: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 0 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(even) { padding:17px 12px; gap:22px; border-radius:20px; }
 .rp-group + .rp-group::before { top:-23px; }
 html[data-page="index"] .rp-menu h3 { font-size:22px!important; margin-bottom:18px; }
 .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-modal { width:calc(100% - 16px); max-height:calc(100dvh - 16px); 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:0 6px 6px; }
 .rp-modal-body img { max-height:calc(100dvh - 100px); border-radius:6px; }
}
@media(prefers-reduced-motion:reduce) {
 .rp-tour *,.rp-modal * { transition:none!important; animation:none!important; }
 .rp-option:hover,.rp-option:hover .rp-option-icon,.rp-option:hover .rp-option-arrow,.rp-preview:hover { transform:none; }
}
