.framer-rnjw7e {
  background: url("evolucao-notas.svg") no-repeat center / 100% 100%;
  pointer-events: none;
}

.framer-rnjw7e > .svgContainer {
  visibility: hidden;
}

.hero-static-card.hero-static-chart {
  inset: 0;
  display: block;
  padding: 0;
  border: 0;
  background: none;
  box-shadow: none;
}

.hero-static-chart svg { width: 100%; height: 100%; }

:is(.framer-4olux2, .framer-11use0e):has(> :is(.hero-stage-picker, .hero-quick-links)) {
  z-index: 1;
  pointer-events: none;
  transform: none !important;
  will-change: auto !important;
}

/* Slot original do card verde do template (Font Style). O Acesso rápido saiu daqui. */
.framer-Lt19n .framer-11use0e:not(:has(> .hero-quick-links)) {
  display: none !important;
}

.framer-Lt19n > .hero-quick-links,
.framer-Lt19n .framer-11use0e:has(> .hero-quick-links) {
  top: calc(54.3831% + 246px);
  right: auto;
  left: calc(50% - 93px);
  width: 186px;
  height: auto;
  min-height: 168px;
  z-index: 3;
}

:is(.framer-4olux2, .framer-11use0e):has(> :is(.hero-stage-picker, .hero-quick-links)) > :not(.hero-stage-picker, .hero-quick-links),
.framer-Lt19n :has(> .hero-static-card) > :not(.hero-static-card) {
  display: none !important;
}

.hero-stage-picker,
.hero-quick-links,
.hero-static-card {
  font-family: "RM Cards", "Segoe UI", sans-serif;
  line-height: 1.3;
  box-sizing: border-box;
}

.hero-stage-picker {
  position: absolute;
  inset: 18px 10px auto 0;
  display: grid;
  grid-template-columns: 28px 1fr 28px;
  align-items: center;
  gap: 5px;
  padding: 7px;
  border: 1px solid #d95431;
  border-radius: 999px;
  background: #ff764c;
  box-shadow: -4px 4px #df5634, -8px 9px #0001;
  color: #3d1609;
  font-size: 15px;
  font-weight: 700;
  text-align: center;
  transform: rotate(-10deg);
  transform-origin: center;
  animation: rm-stage-rock 2.4s ease-in-out infinite alternate;
  transition: box-shadow 220ms ease;
}

.hero-stage-picker:hover {
  box-shadow: -5px 6px #df5634, -9px 12px #0002;
}
.hero-stage-picker:active {
  box-shadow: -2px 3px #df5634, -4px 5px #0002;
}
.hero-stage-picker button:active { transform: scale(.92); }

@keyframes rm-stage-rock {
  from { transform: rotate(-14deg); }
  to { transform: rotate(-6deg); }
}
@keyframes rm-cta-rock {
  from { transform: rotate(-3deg); }
  to { transform: rotate(3deg); }
}

.hero-quick-links {
  position: absolute;
  padding: 14px 10px;
  border: 1px solid #58ab21;
  border-radius: 17px;
  background: #91eb4c;
  box-shadow: 5px -4px #64c617, 10px 7px #0001;
  color: #233c10;
  font-size: 13px;
  font-weight: 700;
  transform: rotate(4deg);
  pointer-events: auto;
}

@media (max-width: 809.98px) {
  .framer-Lt19n > .hero-quick-links,
  .framer-Lt19n .framer-11use0e:has(> .hero-quick-links) {
    top: auto;
    bottom: 32px;
    left: 50%;
    width: min(186px, 78vw);
    transform: translateX(-50%) rotate(3deg);
  }
}

.hero-quick-links > div {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 5px;
  margin-top: 8px;
}

.hero-stage-picker button,
.hero-quick-links button {
  min-height: 27px;
  padding: 3px;
  border: 0;
  border-radius: 6px;
  background: #fff8;
  color: inherit;
  font: inherit;
  cursor: pointer;
  pointer-events: auto;
}

.hero-quick-links button { font-size: 12px; font-weight: 700; }
.hero-stage-picker button:hover,
.hero-quick-links button:hover { background: #fffd; }

.framer-Lt19n :has(> .hero-static-card),
.hero-static-card {
  pointer-events: none;
  cursor: default;
}

.hero-static-card {
  position: absolute;
  inset: 6px auto auto 0;
  display: grid;
  align-content: center;
  gap: 6px;
  padding: 12px;
  border: 1px solid var(--hero-card-edge);
  border-radius: 15px;
  background: var(--hero-card-fill);
  box-shadow: -5px 4px var(--hero-card-edge), -8px 9px #0001;
  color: #282039;
  font-size: 12px;
  font-weight: 700;
}

.hero-static-card strong { font-size: 15px; font-weight: 700; }
.hero-static-card small { font-size: 11px; }
.hero-static-check {
  --hero-card-fill: #a499ff;
  --hero-card-edge: #7866ff;
  inset: 4px 12px auto 8px;
  transform: rotate(-9deg);
  gap: 3px;
  padding: 8px;
  overflow-wrap: anywhere;
}

.hero-static-check strong { font-size: 13px; }
.hero-static-check span { font-size: 10px; }

.hero-static-profiles {
  --hero-card-fill: #91eb4c;
  --hero-card-edge: #63bd1b;
  inset: 7px 12px auto 5px;
  gap: 4px;
  padding: 9px 7px;
  text-align: center;
  transform: rotate(-11deg);
}

.hero-static-profiles strong { font-size: 13px; }
.hero-static-profiles b { font-size: 23px; line-height: 1; }
.hero-static-profiles span { font-size: 11px; }

.hero-static-agenda {
  --hero-card-fill: #ffca38;
  --hero-card-edge: #c89414;
  inset: 10px 15px auto 8px;
  transform: rotate(-7deg);
}

.hero-static-agenda b { font-size: 21px; line-height: 1.1; }

.framer-Lt19n .framer-14fd8ag:has(> .hero-static-attendance) {
  width: 245px;
  height: 240px;
}

.hero-static-attendance {
  --hero-card-fill: #ff709c;
  --hero-card-edge: #e34b79;
  inset: 10px 27px auto 20px;
  padding: 16px;
  transform: rotate(13deg);
}

.hero-static-attendance b { font-size: 27px; font-weight: 700; }
.hero-static-integration {
  --hero-card-fill: #2c225c;
  --hero-card-edge: #18132e;
  inset: 30px 65px auto 14px;
  gap: 8px;
  padding: 18px 16px;
  color: #f3ecff;
  transform: rotate(7deg);
}

.hero-static-integration strong { font-size: 17px; }
.hero-static-integration div {
  display: grid;
  gap: 2px;
  padding-top: 6px;
  border-top: 1px solid #ffffff35;
}

.hero-static-integration b { color: #daceff; }

.framer-Lt19n .framer-12ppc26 { display: none !important; }

.hero-compact-controls {
  display: grid;
  justify-items: center;
  gap: 10px;
  width: min(100%, 320px);
}

.hero-compact-controls :is(.hero-stage-picker, .hero-quick-links),
.portal-compact > .hero-stage-picker,
.portal-compact > .hero-quick-links {
  position: relative;
  width: min(100%, 320px);
  transform: none;
}

.portal-compact > .hero-quick-links {
  margin-top: 4px;
  transform: rotate(3deg);
}

.framer-1gael7f:has(> .portal-picker) {
  background: url("portal-card.svg") no-repeat 0 0 / 240px 206px;
  z-index: 1;
  pointer-events: none;
}

.framer-1gael7f:has(> .portal-picker) > :not(.portal-picker),
.framer-nlcmw8:has(> .portal-preview) > :not(.portal-preview) {
  display: none !important;
}

.portal-picker,
.portal-preview {
  font-family: system-ui, sans-serif;
}

.portal-picker { font-family: "RM Cards", "Segoe UI", sans-serif; }

/* FAQ replacement for the former template video montage. */
main.framer-13op7a6 > .framer-1phenxl.rm-faq-section {
  display: grid !important;
  grid-template-columns: minmax(220px, 0.78fr) minmax(0, 1.22fr);
  align-items: start !important;
  align-self: center !important;
  gap: clamp(36px, 7vw, 104px);
  width: min(1280px, calc(100% - 48px)) !important;
  height: auto !important;
  min-height: 0 !important;
  min-width: 0;
  box-sizing: border-box;
  margin: clamp(96px, 10vw, 152px) auto !important;
  padding: clamp(64px, 8vw, 112px) 0 !important;
  overflow: visible !important;
  color: #0c0f0f;
  font-family: "Almarena Neue Regular", Arial, sans-serif;
}

.rm-faq-intro { max-width: 390px; }
.rm-faq-kicker {
  margin: 0 0 18px;
  color: #6042df;
  font-family: "Almarena Neue SemiBold", Arial, sans-serif;
  font-size: 13px;
  font-weight: 600;
  letter-spacing: 0.08em;
}
.rm-faq-intro h2 {
  margin: 0;
  color: #0c0f0f;
  font-family: "Almarena Neue Display Bold", Arial, sans-serif;
  font-size: clamp(38px, 4.2vw, 60px);
  font-weight: 700;
  letter-spacing: -0.045em;
  line-height: 0.98;
  text-transform: uppercase;
}
.rm-faq-intro > p:last-child {
  max-width: 350px;
  margin: 28px 0 0;
  color: #45454b;
  font-size: 17px;
  line-height: 1.5;
}
.rm-faq-list { display: grid; gap: 12px; width: 100%; }
.rm-faq-list details {
  overflow: hidden;
  border: 1px solid #d9d7e2;
  border-radius: 14px;
  background: #fff;
  box-shadow: 0 5px 16px #17102a0a;
  transition: border-color 160ms ease, background-color 160ms ease, transform 160ms ease, box-shadow 160ms ease;
}
.rm-faq-list details:hover {
  transform: translateY(-1px);
  border-color: #a99af4;
  box-shadow: 0 8px 20px #17102a12;
}
.rm-faq-list details[open] {
  border-color: #b9adff;
  background: #f6f3ff;
}
.rm-faq-list summary {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  padding: 20px 22px;
  color: #111018;
  cursor: pointer;
  font-family: "Almarena Neue SemiBold", Arial, sans-serif;
  font-size: clamp(16px, 1.35vw, 19px);
  font-weight: 600;
  line-height: 1.3;
  list-style: none;
}
.rm-faq-list summary::-webkit-details-marker { display: none; }
.rm-faq-list summary::after {
  display: grid;
  flex: 0 0 30px;
  width: 30px;
  height: 30px;
  place-items: center;
  border-radius: 50%;
  background: #eeeaff;
  color: #5033d3;
  content: "+";
  font-family: Arial, sans-serif;
  font-size: 22px;
  font-weight: 400;
  line-height: 1;
}
.rm-faq-list details[open] summary::after { content: "−"; }
.rm-faq-list summary:focus-visible {
  outline: 3px solid #7457ef;
  outline-offset: -4px;
  border-radius: 13px;
}
.rm-faq-answer {
  padding: 0 22px 21px;
  color: #484650;
  font-size: 16px;
  line-height: 1.55;
}

@media (max-width: 809px) {
  main.framer-13op7a6 > .framer-1phenxl.rm-faq-section {
    grid-template-columns: minmax(0, 1fr);
    gap: 32px;
    width: calc(100% - 32px) !important;
    margin: 80px auto !important;
    padding: 48px 0 !important;
  }
  .rm-faq-intro { max-width: 560px; }
  .rm-faq-intro > p:last-child { margin-top: 18px; }
  .rm-faq-list summary { padding: 17px 18px; }
  .rm-faq-answer { padding: 0 18px 18px; }
}

.portal-picker {
  position: absolute;
  inset: 23px 29px 37px 14px;
  border: 0;
  padding: 0;
  margin: 0;
  min-width: 0;
  color: #381506;
  transform: rotate(8deg);
}

.portal-picker legend {
  margin-left: 7px;
  font-size: 17px;
  font-weight: 750;
}

.portal-options {
  display: grid;
  grid-template-columns: 1fr 1.16fr 1fr;
  gap: 3px;
  margin-top: 12px;
}

.portal-options label {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 5px;
  cursor: pointer;
  pointer-events: auto;
  font-size: 10px;
  font-weight: 750;
  line-height: 1.1;
  text-align: center;
}

.portal-options input {
  position: absolute;
  opacity: 0;
}

.portal-icon {
  display: grid;
  place-items: center;
  width: 34px;
  height: 34px;
  border-radius: 50%;
  background: #ffa489;
}

.portal-icon svg {
  width: 20px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.65;
  stroke-linejoin: round;
  stroke-linecap: round;
}

.portal-dot {
  width: 14px;
  height: 14px;
  border: 2px solid currentColor;
  border-radius: 50%;
}

.portal-options input:checked ~ .portal-icon {
  color: #fff0e9;
  background: #481d10;
}

.portal-options input:checked ~ .portal-dot {
  background: #481d10;
  box-shadow: inset 0 0 0 2px #ff764c;
}

.portal-options input:focus-visible ~ .portal-icon {
  outline: 2px solid #481d10;
  outline-offset: 2px;
}

.portal-preview {
  display: grid;
  grid-template-rows: 1.08fr 1fr;
  gap: 8px;
  width: 100%;
  height: 100%;
  min-height: 0;
  padding: 16px 14px 10px;
  background: #fff;
  color: #231739;
}

.portal-overview,
.portal-features {
  display: grid;
  gap: 8px;
  min-height: 0;
}

.portal-overview {
  grid-template-columns: 2fr 1fr 1fr;
}

.portal-overview > div {
  min-width: 0;
  padding: 13px;
  border: 1px solid #e1dce7;
  border-radius: 20px;
  overflow-wrap: anywhere;
}

.portal-overview span,
.portal-feature span {
  font-size: 10px;
  font-weight: 750;
  text-transform: uppercase;
}

.portal-preview h2,
.portal-preview h3 {
  margin: 6px 0;
  font-size: 19px;
  line-height: 1.15;
}

.portal-preview p,
.portal-preview ul {
  font-size: 13px;
  line-height: 1.4;
}

.portal-preview p { margin: 6px 0; }

.portal-preview ul {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 4px 12px;
  margin: 12px 0 0;
  padding-left: 16px;
}

.portal-preview li::marker { color: #6637d4; }

.portal-features {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.portal-feature {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: space-between;
  gap: 5px;
  min-width: 0;
  padding: 14px 12px;
  border: 1px solid #d8c8ff;
  border-radius: 20px;
  background: #f3edff;
  color: #4e249e;
  text-align: left;
  cursor: pointer;
  overflow-wrap: anywhere;
}

.portal-feature strong {
  font-family: Georgia, serif;
  font-size: 22px;
  line-height: 1.1;
}

.portal-feature[aria-pressed="true"] {
  background: #6533dc;
  color: #fff;
}

.portal-feature:focus-visible {
  outline: 2px solid #481d93;
  outline-offset: 2px;
}

.portal-compact {
  position: relative;
  z-index: 2;
  flex: none;
  display: grid;
  justify-items: center;
  gap: 12px;
  width: min(100%, 750px);
  padding: 0 12px;
}

.portal-compact .portal-picker {
  position: static;
  width: min(100%, 320px);
  padding: 8px 12px 14px;
  border: 1px solid #e45b32;
  border-radius: 18px;
  background: #ff764c;
  transform: none;
}

.portal-compact .portal-preview {
  height: auto;
  grid-template-rows: auto auto;
  border: 1px solid #e1dce7;
  border-radius: 20px;
}

.portal-compact .portal-overview,
.portal-compact .portal-features {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.portal-compact .portal-summary { grid-column: 1 / -1; }
.portal-compact .portal-feature { min-height: 105px; }

.portal-preview.portal-preview-teacher {
  grid-template: minmax(0, 1fr) / 114px minmax(0, 1fr);
  gap: 0;
  padding: 0;
  overflow: hidden;
  border-radius: 12px;
  background: #f7f5fd;
}

.teacher-sidebar {
  padding: 16px 9px;
  background: #241846;
  color: #fff;
  font-size: 11px;
}

.teacher-sidebar > span {
  display: block;
  margin-top: 4px;
  color: #ded2ff;
}

.teacher-sidebar ul {
  display: grid;
  grid-template-columns: 1fr;
  gap: 4px;
  padding: 0;
  margin-top: 16px;
  list-style: none;
  font-size: 11px;
}

.teacher-sidebar button {
  width: 100%;
  padding: 5px 6px;
  border: 0;
  border-radius: 5px;
  background: transparent;
  color: inherit;
  font: inherit;
  text-align: left;
  cursor: pointer;
}

.teacher-sidebar [aria-current="page"],
.teacher-sidebar button:hover {
  background: #6533dc;
}

.teacher-sidebar button:focus-visible {
  outline: 2px solid #ded2ff;
}

.teacher-dashboard[hidden] { display: none; }

.teacher-subpage { overflow: auto; }

.family-welcome {
  padding: 10px 12px;
  border-radius: 9px;
  background: linear-gradient(105deg, #33216b, #6533dc);
  color: #fff;
}

.family-welcome p { color: #f2eaff; }

.teacher-shortcuts {
  display: flex;
  flex-wrap: wrap;
  gap: 4px;
}

.teacher-shortcut {
  justify-self: start;
  padding: 3px 6px;
  border: 1px solid #d9cfee;
  border-radius: 5px;
  background: #f5efff;
  color: #4e249e;
  font: inherit;
  font-weight: 700;
  cursor: pointer;
}

.teacher-shortcut:hover {
  background: #e9dcff;
}

.teacher-shortcut:focus-visible {
  outline: 2px solid #6533dc;
  outline-offset: 1px;
}

.teacher-dashboard {
  display: grid;
  align-content: start;
  gap: 7px;
  padding: 10px 11px;
  min-width: 0;
}

.teacher-header,
.teacher-progress {
  display: flex;
  align-items: center;
  gap: 8px;
}

.teacher-header { flex-wrap: wrap; }

.teacher-dashboard h2,
.teacher-dashboard h3,
.teacher-dashboard p { margin: 0; }

.teacher-dashboard h2 { font-size: 16px; }
.teacher-dashboard h3 { font-size: 12px; }

.teacher-dashboard p {
  color: #59516c;
  font-size: 11px;
}

.teacher-demo {
  padding: 4px 7px;
  border-radius: 20px;
  background: #ece3ff;
  color: #4e249e;
  font-size: 10px;
  font-weight: 750;
  white-space: nowrap;
}

.teacher-alert,
.teacher-progress,
.teacher-card {
  padding: 7px 8px;
  border: 1px solid #e4ddee;
  border-radius: 9px;
  background: #fff;
  font-size: 11px;
}

.teacher-alert {
  display: flex;
  flex-wrap: wrap;
  gap: 4px 9px;
  border-color: #f0d080;
  background: #fff2c8;
  color: #674410;
}

.teacher-progress progress {
  flex: 1;
  min-width: 0;
}

.teacher-dashboard progress {
  height: 7px;
  accent-color: #6533dc;
}

.teacher-grid {
  display: grid;
  grid-template-columns: 2fr 1fr 1fr;
  gap: 7px;
}

.teacher-bottom { grid-template-columns: 2fr 1fr; }

.teacher-card {
  display: grid;
  align-content: start;
  gap: 5px;
  min-width: 0;
}

.teacher-lesson {
  display: flex;
  align-items: baseline;
  gap: 6px;
  padding-top: 5px;
  border-top: 1px solid #eee8f6;
}

.teacher-lesson > strong { color: #5426ba; }

.teacher-diary {
  padding: 5px;
  border-radius: 5px;
  background: #f5efff;
}

.teacher-scores {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 8px;
}

.teacher-scores strong {
  display: block;
  color: #5426ba;
}

.teacher-scores progress { width: 100%; }

.portal-compact .portal-preview-teacher {
  grid-template: auto auto / minmax(0, 1fr);
}

.portal-compact .teacher-sidebar ul {
  display: flex;
  flex-wrap: wrap;
  margin: 6px 0 0;
}

.portal-compact .teacher-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.portal-compact .teacher-lessons,
.portal-compact .teacher-bottom > section { grid-column: 1 / -1; }

.teacher-subpage summary { cursor: pointer; }

.teacher-subpage summary span {
  margin-left: 5px;
  color: #5426ba;
}

.teacher-demo-form { margin-top: 8px; }

.teacher-plan-fields,
.teacher-calendar,
.teacher-assessments {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 6px;
}

.teacher-plan-fields textarea,
.teacher-grade,
.teacher-event-name {
  padding: 4px;
  border: 1px solid #d9cfee;
  border-radius: 5px;
  background: #faf8ff;
  color: inherit;
  font: inherit;
}

.teacher-event-name {
  display: block;
  width: 100%;
  margin-top: 3px;
}

.teacher-agenda-events {
  display: block;
  margin: 4px 0;
  font-size: 11px;
  overflow-wrap: anywhere;
}

.teacher-demo-form > output {
  display: block;
  margin-top: 4px;
  color: #4e249e;
  font-weight: 700;
}

.teacher-plan-fields textarea {
  display: block;
  width: 100%;
  margin-top: 3px;
  resize: vertical;
}

.teacher-action {
  margin: 6px 5px 0 0;
  padding: 5px 8px;
  border: 0;
  border-radius: 5px;
  background: #6533dc;
  color: #fff;
  font: inherit;
  cursor: pointer;
}

.teacher-table-wrap {
  overflow-x: auto;
  border: 1px solid #e4ddee;
  border-radius: 9px;
}

.teacher-table {
  width: 100%;
  border-collapse: collapse;
  background: #fff;
  font-size: 11px;
  white-space: nowrap;
}

.teacher-table th,
.teacher-table td {
  padding: 5px;
  border-bottom: 1px solid #eee8f6;
  text-align: center;
}

.teacher-table thead { background: #ece3ff; }
.teacher-table th:first-child { text-align: left; }

.teacher-attendance {
  min-width: 24px;
  padding: 3px;
  border: 0;
  border-radius: 20px;
  background: #e9e1ff;
  color: #4e249e;
  font: inherit;
  font-weight: 750;
  cursor: pointer;
}

.teacher-attendance[aria-pressed="true"] {
  background: #ffe5e7;
  color: #a21c32;
}

.teacher-grade { width: 45px; }
.teacher-grade:invalid { border-color: #b52c46; }
.teacher-assessments { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.teacher-calendar { grid-template-columns: minmax(0, 2fr) minmax(0, 1fr); }

.teacher-month {
  display: grid;
  grid-template-columns: repeat(7, minmax(0, 1fr));
  gap: 3px;
  text-align: center;
}

.teacher-month button {
  min-height: 28px;
  padding: 0;
  border: 1px solid #eee8f6;
  border-radius: 5px;
  background: #faf8ff;
  color: inherit;
  font: inherit;
  cursor: pointer;
}

.teacher-month [aria-label$="com evento"] { background: #ece3ff; }
.teacher-month [aria-pressed="true"] { border-color: #6533dc; font-weight: 750; }
.portal-compact .teacher-calendar { grid-template-columns: minmax(0, 1fr); }
@font-face {
  font-family: "RM Cards";
  src: url("S6uyw4BMUTPHjx4wXg.woff2") format("woff2");
  font-style: normal;
  font-weight: 400;
  font-display: swap;
}

.framer-jh328y:has(> .hero-teacher-demo) {
  justify-content: center !important;
  align-items: center !important;
  flex-wrap: nowrap !important;
  gap: 14px !important;
  width: max-content !important;
  max-width: min(720px, calc(100% - 32px)) !important;
  height: auto !important;
  min-height: 68px !important;
  position: relative;
  z-index: 8;
}

.framer-rGM9b .framer-o837wi {
  top: 220px !important;
}

.framer-jh328y:has(> .hero-teacher-demo) > :not(.hero-teacher-demo):not(.hero-demo-try) {
  display: none !important;
}

.hero-teacher-demo,
.hero-demo-try {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: auto !important;
  min-width: 0 !important;
  max-width: 100% !important;
  flex: 0 0 auto !important;
  height: 68px !important;
  min-height: 68px !important;
  padding: 10px 28px !important;
  box-sizing: border-box !important;
  border: 0 !important;
  border-radius: 14px !important;
  font-family: "Almarena Neue SemiBold", "RM Cards", "Segoe UI", sans-serif !important;
  text-decoration: none !important;
  transform-origin: center;
  animation: rm-cta-rock 2.4s ease-in-out infinite alternate;
  transition: background-color 220ms ease, box-shadow 220ms ease !important;
  cursor: pointer !important;
}

.hero-cta-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  margin-right: 14px;
  flex-shrink: 0;
}

.hero-cta-label {
  font-size: 20px;
  font-weight: 600;
  letter-spacing: -0.01em;
  line-height: 1.2;
}

.hero-teacher-demo {
  background: #38e8f5 !important;
  color: #032d30 !important;
  box-shadow: 0 4px 14px rgba(56, 232, 245, 0.35) !important;
}

.hero-demo-try {
  background: #ffca38 !important;
  color: #2f2302 !important;
  box-shadow: 0 4px 14px rgba(255, 202, 56, 0.4) !important;
  animation-delay: 0.35s;
}

a.hero-teacher-demo:hover {
  background: #23d7e5 !important;
  box-shadow: 0 6px 20px rgba(56, 232, 245, 0.45) !important;
}
a.hero-teacher-demo:active {
  box-shadow: 0 2px 8px rgba(56, 232, 245, 0.3) !important;
}
a.hero-teacher-demo:focus-visible { outline: 3px solid #032d30; outline-offset: 3px; }

a.hero-demo-try:hover {
  background: #f0b820 !important;
  box-shadow: 0 6px 20px rgba(255, 202, 56, 0.5) !important;
}
a.hero-demo-try:active {
  box-shadow: 0 2px 8px rgba(255, 202, 56, 0.35) !important;
}
a.hero-demo-try:focus-visible { outline: 3px solid #2f2302; outline-offset: 3px; }

@media (prefers-reduced-motion: reduce) {
  .hero-stage-picker,
  .hero-teacher-demo,
  .hero-demo-try { animation: none !important; }
}

.rm-security-card,
.rm-deck-card {
  position: absolute;
  top: 54%;
  left: 50%;
  z-index: 0;
  display: grid;
  grid-template-columns: minmax(0, 1.12fr) minmax(260px, 0.88fr);
  align-items: center;
  gap: clamp(28px, 5vw, 76px);
  width: min(1280px, calc(100% - 64px));
  min-height: 430px;
  margin: 0;
  padding: clamp(30px, 5vw, 72px);
  overflow: hidden;
  box-sizing: border-box;
  border-radius: 24px;
  background: #91eb4c;
  color: #17250d;
  font-family: "Almarena Neue", "RM Cards", "Segoe UI", sans-serif;
  pointer-events: none;
  opacity: 1;
  transform: translate(-50%, -50%);
}
.rm-deck-card[data-tone="cyan"] { background: #38e8f5; color: #032d30; }
.rm-deck-card[data-tone="pink"] { background: #ff709c; color: #3a0c1d; }
.rm-deck-card[data-tone="purple"] { background: #a499ff; color: #08022f; }
.rm-deck-card[data-tone="yellow"] { background: #ffca38; color: #2f2302; }
.rm-deck-card[data-tone="teal"] { background: #032d30; color: #e4fbfd; }

.rm-security-copy,
.rm-deck-card__copy { max-width: 640px; }
.rm-security-eyebrow,
.rm-deck-card__eyebrow {
  display: inline-block;
  margin-bottom: 18px;
  font-size: 14px;
  font-weight: 700;
  letter-spacing: .04em;
  text-transform: uppercase;
}
.rm-security-copy h2,
.rm-deck-card__copy h2 {
  max-width: 620px;
  margin: 0 0 18px;
  font-size: clamp(34px, 4.2vw, 58px);
  font-weight: 800;
  line-height: .98;
  letter-spacing: -.035em;
}
.rm-security-copy > p,
.rm-deck-card__copy > p {
  max-width: 600px;
  margin: 0;
  font-size: clamp(16px, 1.4vw, 19px);
  line-height: 1.5;
}
.rm-security-copy ul,
.rm-deck-card__copy ul {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
  margin: 28px 0 0;
  padding: 0;
  list-style: none;
}
.rm-deck-card__copy ul.rm-deck-list-2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.rm-security-copy li,
.rm-deck-card__copy li {
  display: grid;
  align-content: start;
  gap: 5px;
  min-height: 76px;
  padding: 13px;
  border: 1px solid rgba(0, 0, 0, 0.18);
  border-radius: 12px;
  background: #ffffff3b;
  font-size: 13px;
  line-height: 1.3;
}
.rm-deck-card[data-tone="teal"] .rm-deck-card__copy li {
  border-color: rgba(56, 232, 245, 0.28);
  background: rgba(56, 232, 245, 0.1);
}
.rm-security-copy li strong,
.rm-deck-card__copy li strong { font-size: 14px; font-weight: 800; }
.rm-security-art,
.rm-deck-card__art { display: grid; place-items: center; min-width: 0; }
.rm-security-art img,
.rm-deck-card__art img {
  display: block;
  width: min(100%, 440px);
  max-height: 390px;
  object-fit: contain;
  filter: drop-shadow(0 18px 20px rgba(0, 0, 0, 0.18));
}

/* Give the school logo wall clear separation from the testimonial section. */
.framer-rGM9b .framer-1rm2ybr {
  margin-bottom: clamp(96px, 8vw, 144px) !important;
}

@media (max-width: 809.98px) {
  .rm-security-card,
  .rm-deck-card {
    grid-template-columns: 1fr;
    width: calc(100% - 32px);
    gap: 18px;
    min-height: 0;
    padding: 28px 22px;
  }
  .rm-security-copy h2,
  .rm-deck-card__copy h2 { font-size: clamp(32px, 9vw, 46px); }
  .rm-security-copy ul,
  .rm-deck-card__copy ul { grid-template-columns: 1fr; gap: 8px; margin-top: 20px; }
  .rm-security-copy li,
  .rm-deck-card__copy li { min-height: 0; }
  .rm-security-art img,
  .rm-deck-card__art img { width: min(78%, 320px); max-height: 300px; }
}

/* One sticky stack. Each outgoing card uncovers the next in place. */
.framer-rGM9b .framer-uhiquf[data-rm-card-sequence] {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr);
  place-items: stretch;
  place-content: normal;
  gap: 0;
  height: auto;
  top: 96px;
  isolation: isolate;
}
[data-rm-card-sequence] > * {
  grid-area: 1 / 1;
  min-width: 0;
  position: relative !important;
  inset: auto !important;
  width: 100% !important;
  height: 100% !important;
  overflow: visible;
  will-change: transform;
}
[data-rm-card-sequence] > .rm-security-card,
[data-rm-card-sequence] > .rm-deck-card {
  justify-self: center;
  width: min(1280px, calc(100% - 64px)) !important;
  height: auto !important;
  transform: none;
  pointer-events: auto;
}
[data-rm-card-sequence] :is(.framer-1vzvn29, .framer-11ig6tm) :is(.ssr-variant, .framer-fk1iog-container, .framer-17cku6w-container, .framer-UfeN3, .framer-1lxruk6) {
  height: 100% !important;
}
[data-rm-card-sequence] .framer-11ig6tm { justify-content: flex-start !important; }
[data-rm-card-sequence] .framer-1vzvn29 { align-items: stretch !important; }
@media (prefers-reduced-motion: reduce) {
  .framer-rGM9b .framer-uhiquf[data-rm-card-sequence] { position: relative; top: auto !important; gap: 20px; }
  [data-rm-card-sequence] > * {
    grid-area: auto !important;
    transform: none !important;
    visibility: visible !important;
  }
  .framer-aw0pws:has([data-rm-card-sequence]) > .framer-n0cvq4 { height: 0 !important; }
}

/* RM Connect navigation and help. */
#main a[hidden], .framer-1evv3bs[hidden] { display: none !important; }
#rm-integracao, #rm-faq, #rm-recursos, #rm-connect { scroll-margin-top: 104px; }
.rm-help-links { display: grid; gap: 8px; }
.rm-help-links a {
  display: block;
  padding: 11px 14px;
  border: 1px solid #dce5eb;
  border-radius: 10px;
  background: #fff;
  color: #032d30;
  font-weight: 700;
  font-size: 14px;
  text-decoration: none;
}
.rm-help-links a:hover { background: #e4fbfd; }
#rm-floating-chat :focus-visible { outline: 2px solid #157582 !important; outline-offset: 3px; }
#rm-chat-window { max-height: calc(100dvh - 115px); }

/* Desktop sections share one vertical rhythm. */
@media (min-width: 1024px) {
  .framer-rGM9b main.framer-13op7a6 {
    --rm-section-gap: clamp(144px, 11vw, 192px);
    gap: var(--rm-section-gap) !important;
    padding-bottom: 88px !important;
  }
  .framer-14r8xdd-container > .framer-az17c { padding-top: 56px !important; }
  main.framer-13op7a6 > #intro { margin-bottom: var(--rm-preview-space, 0px); }
  main.framer-13op7a6 > #rm-integracao,
  main.framer-13op7a6 > .framer-1rm2ybr { padding-block: 0 !important; }
  main.framer-13op7a6 > .framer-1rm2ybr,
  main.framer-13op7a6 > .framer-1phenxl.rm-faq-section { margin-block: 0 !important; }
  main.framer-13op7a6 > .framer-1phenxl.rm-faq-section { padding-block: 0 !important; }

  main.framer-13op7a6 > #rm-recursos {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    grid-template-rows: auto auto;
    /* Reserve space for the cards as Framer moves them up on scroll. */
    padding-top: 180px;
    align-items: start;
    gap: 28px 20px;
    width: min(1280px, calc(100% - 64px)) !important;
    height: auto !important;
  }
  #rm-recursos > :is(.framer-w6yz5d-container, .framer-cuav7h-container, .framer-1obf0bv-container, .framer-nqcc4) {
    position: relative !important;
    inset: auto !important;
    width: 100% !important;
  }
  #rm-recursos > :is(.framer-w6yz5d-container, .framer-cuav7h-container, .framer-1obf0bv-container) .framer-1brzx1f {
    width: 100% !important;
  }
  #rm-recursos > .framer-w6yz5d-container { grid-area: 1 / 1 / 3; }
  #rm-recursos > .framer-cuav7h-container { grid-area: 1 / 3 / 3; margin-top: 64px; }
  #rm-recursos > .framer-nqcc4 { grid-area: 1 / 2; align-self: end; margin-top: 52px; }
  #rm-recursos > .framer-1obf0bv-container { grid-area: 2 / 2; }
}

@media (min-width: 1024px) and (prefers-reduced-motion: reduce) {
  main.framer-13op7a6 > #rm-recursos { padding-top: 0; }
  #rm-recursos > :is(.framer-w6yz5d-container, .framer-cuav7h-container, .framer-1obf0bv-container) { transform: none !important; }
}

.rm-header-nav :is(.framer-283pt-container, .framer-1o97tzm, .framer-or684p) {
  display: none !important;
}

@media (min-width: 1024px) {
  .rm-header-nav .framer-9U6pc {
    display: flex !important;
    justify-content: center !important;
    width: 100% !important;
  }
  .rm-header-nav .framer-u527fe,
  .rm-header-nav .framer-1cv7hek {
    flex: none !important;
    width: max-content !important;
    min-width: 0 !important;
    max-width: calc(100vw - 32px) !important;
  }
  .rm-header-nav .framer-1cv7hek {
    gap: 24px !important;
    justify-content: flex-start !important;
    place-content: center flex-start !important;
    padding: 10px 14px 10px 18px !important;
  }
  .rm-header-nav .framer-1hdtm6y {
    width: auto !important;
    height: auto !important;
    justify-content: flex-start !important;
    overflow: visible !important;
  }
  .rm-header-nav .framer-1a18xqd {
    width: auto !important;
    flex-direction: row !important;
    align-items: center !important;
    gap: 20px;
  }
  .rm-header-nav .framer-1r9cvrj {
    width: max-content !important;
    gap: 18px !important;
    overflow: visible !important;
  }
  .rm-header-nav .framer-eyv5v8 {
    width: auto !important;
    gap: 12px !important;
    margin-right: 0 !important;
  }
  .rm-header-nav .framer-jfyia3 {
    flex: none !important;
    width: auto !important;
    height: auto !important;
  }
  .rm-header-nav .framer-1llplqo-container {
    position: relative !important;
    inset: auto !important;
    transform: none !important;
  }
}

.rm-header-nav .framer-18n103v,
.rm-header-nav .framer-18n103v p {
  color: #0c0f0f !important;
  text-decoration: none !important;
  --framer-link-text-color: #0c0f0f;
  --framer-link-text-decoration: none;
}
.rm-header-faq, .rm-header-integration summary {
  font: inherit;
  font-size: 14px;
  font-weight: 700;
  color: #0c0f0f;
  text-transform: uppercase;
  text-decoration: none;
  white-space: nowrap;
}
.rm-header-faq:hover, .rm-header-integration summary:hover { color: #087983; }
.rm-header-integration { position: relative; }
.rm-header-integration summary {
  display: flex;
  align-items: center;
  gap: 7px;
  cursor: pointer;
  list-style: none;
}
.rm-header-integration summary::-webkit-details-marker { display: none; }
.rm-header-integration summary span {
  width: 6px;
  height: 6px;
  border: solid currentColor;
  border-width: 0 1.5px 1.5px 0;
  transform: translateY(-2px) rotate(45deg);
}
.rm-header-integration[open] summary span { transform: translateY(2px) rotate(225deg); }
.rm-header-integration-links {
  position: absolute;
  z-index: 2;
  top: 100%;
  left: 0;
  min-width: max-content;
  padding: 8px;
  border: 1px solid #eceeee;
  border-radius: 12px;
  background: #fff;
  box-shadow: 0 8px 24px #0c0f0f18;
}
.rm-header-integration-links a {
  display: block;
  padding: 12px;
  border-radius: 6px;
  color: #0c0f0f;
  font-size: 14px;
  text-decoration: none;
}
.rm-header-integration-links a:hover, .rm-header-integration-links a:focus-visible {
  background: #e4fbfd;
}

.rm-security-anchor { position: absolute; left: 0; width: 1px; height: 1px; pointer-events: none; }

/* The exported header clips its rows when the original menu is closed. */
.rm-header-nav:has(.rm-header-integration[open]) :is(.framer-9U6pc, .framer-1cv7hek, .framer-1a18xqd, .framer-1r9cvrj) {
  overflow: visible !important;
}
.rm-header-integration[open] { z-index: 3; }


/* Etapa 19 — seções comerciais no vocabulário visual original (big cards). */
.rm-commerce-section {
  width: min(1280px, calc(100% - 48px)) !important;
  margin: clamp(72px, 8vw, 128px) auto !important;
  padding: 0 !important;
  color: #0c0f0f;
  font-family: "Almarena Neue Regular", "Almarena Neue", Arial, sans-serif;
  box-sizing: border-box;
  perspective: 1400px;
}
.rm-commerce-intro { max-width: 640px; margin-bottom: clamp(28px, 4vw, 40px); }
.rm-commerce-kicker {
  margin: 0 0 14px;
  color: #6042df;
  font-family: "Almarena Neue SemiBold", Arial, sans-serif;
  font-size: 13px;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}
.rm-commerce-intro h2,
.rm-final-cta-inner h2,
.rm-story-copy h3,
.rm-implant-copy h3 {
  margin: 0;
  font-family: "Almarena Neue Display Bold", "Almarena Neue SemiBold", Arial, sans-serif;
  font-size: clamp(32px, 5vw, 52px);
  line-height: 1.05;
  letter-spacing: -0.035em;
  color: #032d30;
}
.rm-commerce-intro > p,
.rm-final-cta-inner > p,
.rm-commerce-note,
.rm-story-copy p,
.rm-implant-copy p {
  margin: 14px 0 0;
  font-size: clamp(15px, 1.35vw, 18px);
  line-height: 1.5;
  color: rgba(12, 15, 15, 0.72);
}
.rm-commerce-note {
  margin-top: 22px;
  padding: 16px 18px;
  border-radius: 16px;
  background: #e4fbfd;
  color: #032d30;
  font-size: 14px;
}

/* Offer mosaic — colored big cards */
.rm-offer-mosaic {
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  gap: 16px;
  list-style: none;
  margin: 0;
  padding: 0;
}
.rm-big-card {
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, 1.15fr) minmax(120px, 0.85fr);
  align-items: center;
  gap: clamp(16px, 3vw, 28px);
  min-height: 220px;
  padding: clamp(22px, 3vw, 36px);
  overflow: hidden;
  border: 0;
  border-radius: 24px;
  color: inherit;
  box-shadow: 10px 14px #0001, 0 18px 40px rgba(3, 45, 48, 0.12);
  transform: translate3d(0, 28px, 0) rotateX(6deg);
  opacity: 0;
  transition: transform 520ms cubic-bezier(0.22, 1, 0.36, 1), opacity 480ms ease, box-shadow 220ms ease;
  transform-style: preserve-3d;
}
.rm-big-card.is-inview {
  opacity: 1;
  transform: translate3d(0, 0, 0) rotateX(0deg);
}
.rm-big-card:nth-child(1) { grid-column: span 7; background: #ffca38; color: #2f2302; }
.rm-big-card:nth-child(2) { grid-column: span 5; background: #a499ff; color: #08022f; }
.rm-big-card:nth-child(3) { grid-column: span 5; background: #91eb4c; color: #17250d; }
.rm-big-card:nth-child(4) { grid-column: span 7; background: #ff709c; color: #3a0c1d; }
.rm-big-card:nth-child(5) { grid-column: span 6; background: #38e8f5; color: #032d30; }
.rm-big-card:nth-child(6) {
  grid-column: span 6;
  background: #032d30;
  color: #e4fbfd;
  box-shadow: 0 0 0 2px #38e8f5 inset, 10px 14px #0002;
}
.rm-big-card--later {
  background-image: repeating-linear-gradient(
    -45deg,
    transparent,
    transparent 10px,
    rgba(56, 232, 245, 0.08) 10px,
    rgba(56, 232, 245, 0.08) 20px
  );
}
.rm-big-card__copy { min-width: 0; }
.rm-big-card__badge {
  display: inline-flex;
  width: fit-content;
  margin-bottom: 12px;
  padding: 5px 11px;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.35);
  font-size: 11px;
  font-weight: 800;
  letter-spacing: 0.05em;
  text-transform: uppercase;
}
.rm-big-card--later .rm-big-card__badge {
  background: rgba(56, 232, 245, 0.18);
  color: #38e8f5;
}
.rm-big-card h3 {
  margin: 0;
  font-family: "Almarena Neue SemiBold", Arial, sans-serif;
  font-size: clamp(22px, 2.4vw, 30px);
  line-height: 1.1;
  letter-spacing: -0.03em;
}
.rm-big-card p {
  margin: 10px 0 0;
  font-size: 15px;
  line-height: 1.45;
  opacity: 0.88;
}
.rm-big-card__art {
  display: grid;
  place-items: center;
  transform: translateZ(28px) rotate(8deg);
}
.rm-big-card__art img {
  display: block;
  width: min(100%, 180px);
  max-height: 170px;
  object-fit: contain;
  filter: drop-shadow(0 16px 18px rgba(0, 0, 0, 0.18));
}
@media (hover: hover) and (pointer: fine) {
  .rm-big-card:hover {
    transform: translate3d(0, -4px, 0) rotateY(-4deg) rotateX(2deg);
    box-shadow: 12px 18px #0002, 0 22px 44px rgba(3, 45, 48, 0.16);
  }
}

.rm-step-list {
  display: grid;
  gap: 12px;
  margin: 0;
  padding: 0;
  list-style: none;
}
.rm-step {
  display: grid;
  grid-template-columns: 72px minmax(0, 1fr);
  gap: 8px 18px;
  align-items: center;
  padding: 18px 22px;
  border-radius: 20px;
  background: #ffca38;
  color: #2f2302;
  box-shadow: 8px 10px #0001;
  opacity: 0;
  transform: translateX(110px);
}
.rm-step.is-inview {
  animation: rm-step-slot 680ms cubic-bezier(0.16, 1, 0.3, 1) both;
  animation-delay: calc(var(--rm-i, 0) * 90ms);
}
@keyframes rm-step-slot {
  0% { opacity: 0; transform: translateX(110px); }
  72% { opacity: 1; transform: translateX(-10px); }
  100% { opacity: 1; transform: translateX(0); }
}
.rm-step[data-tone="purple"] { background: #a499ff; color: #08022f; }
.rm-step[data-tone="green"] { background: #91eb4c; color: #17250d; }
.rm-step[data-tone="pink"] { background: #ff709c; color: #3a0c1d; }
.rm-step[data-tone="cyan"] { background: #38e8f5; color: #032d30; }
.rm-step[data-tone="teal"] { background: #032d30; color: #e4fbfd; }
.rm-step__n {
  font-family: "Almarena Neue Display Bold", "Almarena Neue SemiBold", Arial, sans-serif;
  font-size: 28px;
  letter-spacing: -0.04em;
  line-height: 1;
}
.rm-step h3 {
  margin: 0;
  font-family: "Almarena Neue SemiBold", Arial, sans-serif;
  font-size: clamp(18px, 2vw, 24px);
  letter-spacing: -0.03em;
  color: inherit;
}
.rm-route {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 36px 28px;
  margin: 8px 0 0;
  padding: 0;
  list-style: none;
}
html.rm-motion .rm-implant-flow:not(.is-inview) .rm-route__dot,
html.rm-motion .rm-implant-flow:not(.is-inview) .rm-route h3,
html.rm-motion .rm-implant-flow:not(.is-inview) .rm-route p,
html.rm-motion .rm-implant-flow:not(.is-inview) .rm-owners article,
html.rm-motion .rm-implant-flow.is-inview .rm-route__dot,
html.rm-motion .rm-implant-flow.is-inview .rm-route h3,
html.rm-motion .rm-implant-flow.is-inview .rm-route p,
html.rm-motion .rm-implant-flow.is-inview .rm-owners article {
  opacity: 0;
  transform: translateY(12px);
}
.rm-implant-flow.is-inview .rm-route__dot {
  animation: rm-route-fade 560ms cubic-bezier(0.16, 1, 0.3, 1) both;
  animation-delay: calc(var(--rm-i, 0) * 280ms);
}
.rm-implant-flow.is-inview .rm-route h3 {
  animation: rm-route-fade 560ms cubic-bezier(0.16, 1, 0.3, 1) both;
  animation-delay: calc(var(--rm-i, 0) * 280ms + 90ms);
}
.rm-implant-flow.is-inview .rm-route p {
  animation: rm-route-fade 560ms cubic-bezier(0.16, 1, 0.3, 1) both;
  animation-delay: calc(var(--rm-i, 0) * 280ms + 170ms);
}
.rm-implant-flow.is-inview .rm-owners article {
  animation: rm-route-fade 560ms cubic-bezier(0.16, 1, 0.3, 1) both;
  animation-delay: calc(1680ms + var(--rm-i, 0) * 120ms);
}
@keyframes rm-route-fade {
  from { opacity: 0; transform: translateY(12px); }
  to { opacity: 1; transform: none; }
}
.rm-route li {
  position: relative;
  min-width: 0;
  padding-top: 4px;
}
.rm-route li::after {
  content: "";
  position: absolute;
  top: 22px;
  left: 52px;
  right: -28px;
  height: 2px;
  background: rgba(3, 45, 48, 0.16);
}
.rm-route li:nth-child(3n)::after { display: none; }
.rm-route__dot {
  position: relative;
  z-index: 1;
  display: grid;
  place-items: center;
  width: 44px;
  height: 44px;
  margin-bottom: 14px;
  border-radius: 50%;
  background: #ffca38;
  color: #2f2302;
  font-family: "Almarena Neue SemiBold", Arial, sans-serif;
  font-size: 13px;
  box-shadow: 4px 5px #0001;
}
.rm-route li[data-tone="purple"] .rm-route__dot { background: #a499ff; color: #08022f; }
.rm-route li[data-tone="cyan"] .rm-route__dot { background: #38e8f5; color: #032d30; }
.rm-route li[data-tone="pink"] .rm-route__dot { background: #ff709c; color: #3a0c1d; }
.rm-route li[data-tone="green"] .rm-route__dot { background: #91eb4c; color: #17250d; }
.rm-route li[data-tone="teal"] .rm-route__dot { background: #032d30; color: #e4fbfd; }
.rm-route h3 {
  margin: 0;
  font-family: "Almarena Neue SemiBold", Arial, sans-serif;
  font-size: 20px;
  letter-spacing: -0.03em;
  color: #032d30;
}
.rm-route p {
  margin: 8px 0 0;
  font-size: 14px;
  line-height: 1.45;
  color: rgba(12, 15, 15, 0.72);
}
.rm-owners {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 14px;
  margin-top: 28px;
}
.rm-owners article {
  padding: 20px 22px;
  border-radius: 18px;
  background: #fff;
  box-shadow: inset 0 0 0 1px #dce5eb;
}
.rm-owners h3 {
  margin: 0 0 8px;
  font-family: "Almarena Neue SemiBold", Arial, sans-serif;
  font-size: 16px;
  color: #032d30;
}
.rm-owners p {
  margin: 0;
  font-size: 14px;
  line-height: 1.5;
  color: rgba(12, 15, 15, 0.72);
}
@media (max-width: 809.98px) {
  .rm-route { grid-template-columns: 1fr; gap: 22px; }
  .rm-route li::after { display: none; }
  .rm-owners { grid-template-columns: 1fr; }
}
@media (max-width: 767px) {
  .rm-step { grid-template-columns: 48px minmax(0, 1fr); padding: 16px; }
  .rm-step__n { font-size: 22px; }
}
@media (prefers-reduced-motion: reduce) {
  .rm-step { opacity: 1; transform: none; }
  .rm-step.is-inview { animation: none; }
  .rm-implant-flow .rm-route__dot,
  .rm-implant-flow .rm-route h3,
  .rm-implant-flow .rm-route p,
  .rm-implant-flow .rm-owners article {
    opacity: 1;
    transform: none;
    animation: none;
  }
}
.rm-story-trigger,
.rm-implant-trigger {
  display: block;
  width: 1px;
  pointer-events: none;
}
.rm-story-stage,
.rm-implant-stage {
  position: sticky;
  top: 72px;
  display: grid;
  grid-template-columns: minmax(0, 0.95fr) minmax(0, 1.05fr);
  gap: clamp(20px, 4vw, 48px);
  align-items: center;
  min-height: min(72vh, 640px);
  padding: 0;
  border-radius: 0;
  background: transparent;
  overflow: visible;
  box-shadow: none;
}
.rm-story-progress {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin: 0 0 18px;
  padding: 0;
  list-style: none;
}
.rm-story-progress button {
  width: 34px;
  height: 34px;
  border: 0;
  border-radius: 999px;
  background: #dce5eb;
  color: #032d30;
  font-family: "Almarena Neue SemiBold", Arial, sans-serif;
  font-size: 12px;
  cursor: pointer;
  transition: transform 160ms ease, background-color 160ms ease, color 160ms ease;
}
.rm-story-progress button[aria-current="true"] {
  background: #032d30;
  color: #38e8f5;
  transform: scale(1.08);
}
.rm-story-visual,
.rm-implant-visual {
  position: relative;
  min-height: min(56vh, 480px);
  border-radius: 24px;
  transform-style: preserve-3d;
  perspective: 1200px;
}
.rm-story-panel,
.rm-implant-panel {
  position: absolute;
  inset: 0;
  display: grid;
  place-items: center;
  padding: clamp(24px, 3vw, 40px);
  border-radius: 24px;
  background: #ffca38;
  color: #2f2302;
  box-shadow: 10px 14px #0001, 0 18px 36px rgba(3, 45, 48, 0.12);
  transform: rotateY(-10deg) rotateX(4deg) translateZ(0);
  transition: transform 420ms cubic-bezier(0.22, 1, 0.36, 1), background-color 420ms ease, color 420ms ease, opacity 320ms ease;
}
.rm-story-panel.is-active,
.rm-implant-panel.is-active {
  opacity: 1;
  transform: rotateY(-6deg) rotateX(3deg) translateZ(24px);
}
.rm-story-panel:not(.is-active),
.rm-implant-panel:not(.is-active) {
  opacity: 0;
  pointer-events: none;
  transform: rotateY(18deg) rotateX(-4deg) translateZ(-40px) scale(0.92);
}
.rm-story-panel img,
.rm-implant-panel img {
  width: min(70%, 240px);
  max-height: 220px;
  object-fit: contain;
  filter: drop-shadow(0 18px 20px rgba(0, 0, 0, 0.2));
}
.rm-story-panel[data-tone="purple"],
.rm-implant-panel[data-tone="purple"] { background: #a499ff; color: #08022f; }
.rm-story-panel[data-tone="green"],
.rm-implant-panel[data-tone="green"] { background: #91eb4c; color: #17250d; }
.rm-story-panel[data-tone="pink"],
.rm-implant-panel[data-tone="pink"] { background: #ff709c; color: #3a0c1d; }
.rm-story-panel[data-tone="cyan"],
.rm-implant-panel[data-tone="cyan"] { background: #38e8f5; color: #032d30; }
.rm-story-panel[data-tone="teal"],
.rm-implant-panel[data-tone="teal"] { background: #032d30; color: #e4fbfd; }
.rm-implant-links {
  position: absolute;
  inset: 12% 10%;
  width: 80%;
  height: 76%;
  pointer-events: none;
}
.rm-implant-links line {
  stroke: #032d30;
  stroke-width: 2;
  stroke-dasharray: 6 8;
  opacity: 0.35;
}
.rm-implant-float {
  position: absolute;
  padding: 10px 14px;
  border-radius: 14px;
  background: #fff;
  color: #032d30;
  font-size: 12px;
  font-weight: 700;
  box-shadow: 6px 8px #0001;
  transform: rotate(-8deg);
  opacity: 0;
  transition: opacity 320ms ease, transform 420ms ease;
}
.rm-implant-stage[data-phase="2"] .rm-implant-float:nth-child(1),
.rm-implant-stage[data-phase="3"] .rm-implant-float:nth-child(-n+2),
.rm-implant-stage[data-phase="4"] .rm-implant-float:nth-child(-n+3),
.rm-implant-stage[data-phase="5"] .rm-implant-float,
.rm-implant-stage[data-phase="6"] .rm-implant-float {
  opacity: 1;
  transform: rotate(var(--rm-float-rot, -6deg)) translateY(0);
}

/* Why chips */
#rm-por-que .rm-why-chip {
  position: absolute;
  z-index: 2;
  padding: 10px 14px;
  border-radius: 16px;
  font-family: "Almarena Neue SemiBold", Arial, sans-serif;
  font-size: 13px;
  box-shadow: -5px 6px #0001;
  pointer-events: none;
}
.rm-why-chip--yellow { background: #ffca38; color: #2f2302; transform: rotate(-9deg); }
.rm-why-chip--purple { background: #a499ff; color: #08022f; transform: rotate(7deg); }
.rm-why-chip--green { background: #91eb4c; color: #17250d; transform: rotate(-4deg); }

/* Final CTA premium */
.rm-final-cta {
  padding: clamp(36px, 5vw, 64px) !important;
  border-radius: 28px;
  background: #032d30;
  color: #e4fbfd;
  box-shadow: 0 22px 50px rgba(3, 45, 48, 0.28);
  overflow: hidden;
  position: relative;
}
.rm-final-cta::before {
  content: "";
  position: absolute;
  width: 280px;
  height: 280px;
  right: -60px;
  top: -80px;
  border-radius: 50%;
  background: radial-gradient(circle, #38e8f5 0%, transparent 70%);
  opacity: 0.35;
  pointer-events: none;
}
.rm-final-cta-inner { position: relative; z-index: 1; max-width: 720px; }
.rm-final-cta .rm-commerce-kicker { color: #38e8f5; }
.rm-final-cta-inner h2 { color: #fff; }
.rm-final-cta-inner > p { color: rgba(228, 251, 253, 0.82); }
.rm-final-cta-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin-top: 24px;
}
.rm-final-primary,
.rm-final-secondary {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 50px;
  padding: 0 24px;
  border-radius: 999px;
  font-family: "Almarena Neue SemiBold", Arial, sans-serif;
  font-size: 15px;
  text-decoration: none;
}
.rm-final-primary { background: #38e8f5; color: #032d30; box-shadow: 0 8px 22px rgba(56, 232, 245, 0.35); }
.rm-final-secondary { background: transparent; color: #e4fbfd; border: 1px solid rgba(228, 251, 253, 0.35); }
.rm-final-primary:hover { background: #23d7e5; }
.rm-final-secondary:hover { background: rgba(56, 232, 245, 0.12); }

#rm-oferece, #rm-como-comecar, #rm-implantacao, #rm-cta-final, #rm-por-que, #rm-valores, #rm-como-funciona, #rm-diferencial, #rm-portais-deck, #rm-portal-features { scroll-margin-top: 104px; }

/* Identity cards — mesmo vocabulário do security / Framer big card */
#rm-portal-features.rm-commerce-section {
  display: block !important;
  width: min(1280px, calc(100% - 48px)) !important;
  max-width: 1280px;
  margin-left: auto !important;
  margin-right: auto !important;
  box-sizing: border-box;
}
.rm-id-card {
  display: grid;
  grid-template-columns: minmax(0, 1.15fr) minmax(220px, 0.85fr);
  align-items: center;
  gap: clamp(24px, 4vw, 56px);
  margin-top: 8px;
  padding: clamp(28px, 4vw, 56px);
  border-radius: 24px;
  overflow: hidden;
  box-shadow: 10px 14px #0001, 0 18px 40px rgba(3, 45, 48, 0.1);
  opacity: 0;
  transform: translate3d(0, 24px, 0);
  transition: opacity 480ms ease, transform 520ms cubic-bezier(0.22, 1, 0.36, 1);
}
.rm-id-card.is-inview { opacity: 1; transform: none; }
.rm-id-card--yellow { background: #ffca38; color: #2f2302; }
.rm-id-card--purple { background: #a499ff; color: #08022f; }
.rm-id-card--green { background: #91eb4c; color: #17250d; }
.rm-id-card__badge {
  display: inline-flex;
  width: fit-content;
  margin-bottom: 14px;
  padding: 5px 11px;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.38);
  font-size: 11px;
  font-weight: 800;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  color: inherit !important;
}
.rm-id-card__copy h3 {
  margin: 0;
  font-family: "Almarena Neue Display Bold", "Almarena Neue SemiBold", Arial, sans-serif;
  font-size: clamp(32px, 4.2vw, 52px);
  line-height: 1.02;
  letter-spacing: -0.035em;
  color: inherit !important;
}
.rm-id-card__copy > p {
  margin: 14px 0 0;
  max-width: 560px;
  font-size: clamp(15px, 1.35vw, 18px);
  line-height: 1.45;
  color: inherit !important;
  opacity: 0.88;
}
.rm-id-card__list {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
  margin: 24px 0 0;
  padding: 0;
  list-style: none;
}
.rm-id-card__list li {
  display: grid;
  gap: 4px;
  align-content: start;
  min-height: 72px;
  padding: 12px;
  border-radius: 12px;
  border: 1px solid rgba(0, 0, 0, 0.12);
  background: rgba(255, 255, 255, 0.38);
  font-size: 13px;
  line-height: 1.3;
  color: inherit !important;
}
.rm-id-card__list strong {
  font-size: 14px;
  font-weight: 800;
  color: inherit !important;
}
.rm-id-card__chips {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 8px;
  margin: 16px 0 0;
  padding: 0;
  list-style: none;
}
.rm-id-card__chips li {
  padding: 8px 10px;
  border-radius: 10px;
  background: rgba(255, 255, 255, 0.4);
  font-size: 13px;
  color: inherit !important;
}
.rm-id-card__cta {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 46px;
  margin-top: 22px;
  padding: 0 22px;
  border-radius: 999px;
  background: #032d30;
  color: #fff !important;
  font-family: "Almarena Neue SemiBold", Arial, sans-serif;
  font-size: 14px;
  text-decoration: none;
}
.rm-id-card__cta:hover { background: #0a4a4f; }
.rm-id-card__art {
  position: relative;
  display: grid;
  place-items: center;
  min-width: 0;
}
.rm-id-card__art > img:first-child {
  display: block;
  width: min(100%, 420px);
  max-height: 360px;
  border-radius: 16px;
  object-fit: cover;
  box-shadow: 0 18px 28px rgba(0, 0, 0, 0.18);
  transform: rotate(4deg);
}
.rm-id-card__art > img.rm-id-card__hero-mascot {
  width: min(100%, 440px);
  max-height: 380px;
  border-radius: 0;
  object-fit: contain;
  box-shadow: none;
  transform: none;
  filter: drop-shadow(0 18px 24px rgba(0, 0, 0, 0.14));
}
.rm-id-card__mascot {
  position: absolute;
  right: -4%;
  bottom: -6%;
  width: min(42%, 160px) !important;
  max-height: 160px !important;
  object-fit: contain !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  filter: drop-shadow(0 12px 14px rgba(0, 0, 0, 0.18));
  transform: rotate(-6deg) !important;
}
.rm-id-card-row {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 16px;
  margin-top: 16px;
}
.rm-id-card--compact {
  grid-template-columns: minmax(0, 1.1fr) minmax(140px, 0.9fr);
  padding: clamp(22px, 3vw, 32px);
  min-height: 280px;
}
.rm-id-card--compact .rm-id-card__copy h3 {
  font-size: clamp(24px, 2.6vw, 34px);
}
.rm-id-card--compact .rm-id-card__art > img:first-child {
  max-height: 200px;
  width: min(100%, 240px);
}
.rm-id-card--compact .rm-id-card__art > img.rm-id-card__hero-mascot {
  max-height: 230px;
  width: min(100%, 270px);
}

/* Pricing */
.rm-pricing-card {
  display: grid;
  grid-template-columns: minmax(0, 1.2fr) minmax(180px, 0.8fr);
  align-items: center;
  gap: clamp(20px, 4vw, 48px);
  padding: clamp(28px, 4vw, 56px);
  border-radius: 28px;
  background: #ffca38;
  color: #2f2302;
  box-shadow: 12px 16px #0001, 0 22px 44px rgba(3, 45, 48, 0.12);
  opacity: 0;
  transform: translateY(24px) rotateX(4deg);
  transition: opacity 480ms ease, transform 520ms cubic-bezier(0.22, 1, 0.36, 1);
}
.rm-pricing-card.is-inview { opacity: 1; transform: none; }
.rm-pricing-copy h2 {
  margin: 0;
  font-family: "Almarena Neue Display Bold", "Almarena Neue SemiBold", Arial, sans-serif;
  font-size: clamp(36px, 5vw, 56px);
  line-height: 1.02;
  letter-spacing: -0.035em;
}
.rm-pricing-copy > p {
  margin: 14px 0 0;
  font-size: clamp(15px, 1.4vw, 18px);
  line-height: 1.5;
  max-width: 560px;
}
.rm-pricing-points {
  display: grid;
  gap: 10px;
  margin: 22px 0 0;
  padding: 0;
  list-style: none;
}
.rm-pricing-points li {
  display: grid;
  gap: 4px;
  padding: 12px 14px;
  border-radius: 14px;
  background: rgba(255, 255, 255, 0.38);
  font-size: 14px;
  line-height: 1.4;
}
.rm-pricing-points strong { font-size: 14px; }
.rm-pricing-card .rm-final-cta-actions { margin-top: 22px; }
.rm-pricing-card .rm-final-primary { background: #032d30; color: #fff; box-shadow: none; }
.rm-pricing-card .rm-final-secondary { background: rgba(255, 255, 255, 0.55); color: #032d30; border-color: transparent; }
.rm-pricing-art { display: grid; place-items: center; }
.rm-pricing-art img {
  width: min(100%, 240px);
  max-height: 220px;
  object-fit: contain;
  filter: drop-shadow(0 16px 18px rgba(0, 0, 0, 0.16));
  transform: rotate(8deg);
}
@media (max-width: 1023.98px) {
  .rm-id-card,
  .rm-id-card--compact { grid-template-columns: 1fr; }
  .rm-id-card__list { grid-template-columns: 1fr 1fr; }
  .rm-id-card-row { grid-template-columns: 1fr; }
  .rm-id-card__art { order: -1; }
  .rm-id-card__art > img:first-child { width: min(70%, 280px); max-height: 200px; }
  .rm-pricing-card { grid-template-columns: 1fr; }
}
@media (max-width: 767px) {
  .rm-id-card__list,
  .rm-id-card__chips { grid-template-columns: 1fr; }
  .rm-id-card__mascot { width: min(36%, 120px) !important; }
}
@media (prefers-reduced-motion: reduce) {
  .rm-id-card,
  .rm-pricing-card { transition: none !important; opacity: 1 !important; transform: none !important; }
}

@media (max-width: 1023.98px) {
  .rm-offer-mosaic { grid-template-columns: 1fr 1fr; }
  .rm-big-card { grid-column: span 1 !important; grid-template-columns: 1fr; min-height: 0; }
  .rm-big-card__art { order: -1; transform: rotate(4deg); }
  .rm-big-card__art img { width: min(42%, 120px); }
  .rm-story-stage,
  .rm-implant-stage {
    position: relative;
    top: auto;
    grid-template-columns: 1fr;
    min-height: 0;
  }
  .rm-story-trigger,
  .rm-implant-trigger { display: none; }
  .rm-story-visual,
  .rm-implant-visual { min-height: 240px; }
}
@media (max-width: 767px) {
  .rm-offer-mosaic { grid-template-columns: 1fr; }
  .rm-final-cta { padding: 28px 20px !important; border-radius: 22px; }
  .rm-story-panel,
  .rm-implant-panel { transform: none !important; inset: 0; }
}
@media (prefers-reduced-motion: reduce) {
  .rm-big-card,
  .rm-story-panel,
  .rm-implant-panel,
  .rm-implant-float {
    transition: none !important;
    transform: none !important;
    opacity: 1 !important;
  }
  .rm-story-stage,
  .rm-implant-stage { position: relative !important; top: auto !important; }
  .rm-story-trigger,
  .rm-implant-trigger { display: none !important; }
}

/* Responsive containment & CTA alignment (no sticky breakage) */
#intro,
.rm-step-list,
.rm-journey {
  overflow-x: clip;
}

@media (min-width: 1024px) and (max-width: 1180px) {
  .rm-header-nav .framer-1cv7hek {
    gap: 6px !important;
    padding: 8px 10px !important;
  }
  .rm-header-nav .framer-1a18xqd {
    gap: 6px !important;
  }
  .rm-header-nav .framer-1r9cvrj {
    gap: 6px !important;
  }
  .rm-header-nav .framer-eyv5v8 {
    gap: 6px !important;
  }
  .rm-header-nav .framer-18n103v,
  .rm-header-nav .rm-header-integration summary,
  .rm-header-nav .rm-header-faq,
  .rm-header-nav .framer-1a18xqd p,
  .rm-header-nav .framer-18n103v p {
    font-size: 12px !important;
    --framer-font-size: 12px !important;
  }
}

@media (max-width: 809px) {
  .framer-rGM9b .framer-o837wi {
    top: 300px !important;
  }
  .framer-jh328y:has(> .hero-teacher-demo) {
    flex-direction: column !important;
    flex-wrap: nowrap !important;
    align-items: center !important;
    justify-content: center !important;
    width: 100% !important;
    max-width: 100% !important;
    height: auto !important;
    padding-inline: 16px !important;
    box-sizing: border-box !important;
    gap: 12px !important;
  }
  .hero-teacher-demo,
  .hero-demo-try {
    width: 100% !important;
    max-width: min(340px, 100%) !important;
    min-width: 0 !important;
    box-sizing: border-box !important;
  }
}

#rm-integracao .framer-6x2229 {
  width: min(100%, 720px) !important;
  max-width: 100% !important;
  padding-inline: 16px;
  box-sizing: border-box;
}

#rm-integracao .framer-g9lic7 {
  width: 100% !important;
  max-width: 100% !important;
}

#rm-integracao .framer-g9lic7 h1 {
  word-break: normal !important;
  overflow-wrap: normal !important;
  hyphens: none !important;
}
