html[data-page] {--ri-header-height: 84px; scroll-padding-top: calc(var(--ri-header-height) + 20px);}
html[data-page] [id] {scroll-margin-top: calc(var(--ri-header-height) + 20px);}
html[data-page] a:focus-visible,
html[data-page] button:focus-visible,
html[data-page] summary:focus-visible {outline: rgb(57, 201, 195) solid 3px; outline-offset: 5px;}
html[data-page] .ri-skip-link {position: fixed; top: 8px; left: 16px; z-index: 1000; padding: 12px 20px; border-radius: 10px; background: rgb(255, 255, 255); color: rgb(8, 41, 66); transform: translateY(-160%);}
html[data-page] .ri-skip-link:focus {transform: none;}
html[data-page] .footer-main {display: grid; grid-template-columns: 240px minmax(0px, 1fr); gap: 48px; align-items: start;}
html[data-page] .footer-links {display: grid; grid-template-columns: 1.2fr 0.85fr 1.1fr 1fr; gap: 28px;}
html[data-page] .footer-links > div {min-width: 0px;}
html[data-page] .footer-links a {overflow-wrap: anywhere; line-height: 1.55;}
html[data-page] .footer-brand > a {display: inline-flex; max-width: 100%;}
html[data-page] .footer-brand img {width: 240px; height: auto;}
html[data-page] .socials {display: flex; flex-wrap: wrap; gap: 10px; margin-top: 25px;}
html[data-page] .socials svg {width: 22px; height: 22px;}
html[data-page] .social-pending {display: inline-grid; place-items: center; width: 40px; height: 40px; border: 1px solid rgba(210, 237, 250, 0.2); border-radius: 50%; color: rgb(158, 178, 193);}
html[data-page] .footer-contact {display: flex; flex-wrap: wrap; gap: 12px 30px; padding: 22px 0px; border-top: 1px solid rgba(208, 234, 246, 0.12); color: rgb(182, 200, 211); font-size: 13px;}
html[data-page] .brand-logo-card {text-decoration: none; transition: transform 0.25s, box-shadow 0.25s;}
html[data-page] .brand-logo-card:hover {transform: translateY(-4px); box-shadow: rgba(8, 41, 66, 0.094) 0px 16px 32px;}
html[data-page="medprovas"] .mp-primary {position: relative; overflow: hidden; background: linear-gradient(100deg, rgb(47, 128, 237), rgb(0, 179, 136)); color: rgb(255, 255, 255); border-radius: 13px; box-shadow: rgba(0, 140, 165, 0.17) 0px 12px 28px; transition: transform 0.25s, box-shadow 0.25s;}
html[data-page="medprovas"] .mp-primary::after {content: ""; position: absolute; width: 25%; inset: -50% auto -50% -60%; transform: skewX(-22deg); background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.3), transparent); transition: left 0.7s;}
html[data-page="medprovas"] .mp-primary:hover {transform: translateY(-3px);}
html[data-page="medprovas"] .mp-primary:hover::after {left: 130%;}
html[data-product="cursos-de-extensao"] .ri-faculty-grid {display: grid; grid-template-columns: repeat(5, minmax(0px, 1fr)); gap: 20px;}
html[data-product="cursos-de-extensao"] .ri-faculty-card {min-width: 0px; border: 1px solid var(--border); border-radius: 22px; background: var(--surface); overflow: hidden; transition: transform 0.3s, box-shadow 0.3s;}
html[data-product="cursos-de-extensao"] .ri-faculty-card:hover {transform: translateY(-6px); box-shadow: var(--shadow);}
html[data-product="cursos-de-extensao"] .ri-faculty-card img {display: block; width: 100%; height: auto; aspect-ratio: 4 / 5; object-fit: cover; object-position: center top;}
html[data-product="cursos-de-extensao"] .ri-faculty-card a {display: block; height: 100%;}
html[data-product="cursos-de-extensao"] .ri-faculty-card div {padding: 20px 18px;}
html[data-product="cursos-de-extensao"] .ri-faculty-card h3 {margin: 0px 0px 10px; font-size: 17px; line-height: 1.4;}
html[data-product="cursos-de-extensao"] .ri-faculty-card p {color: var(--muted); font-size: 13px; line-height: 1.6; min-height: 62px;}
html[data-product="cursos-de-extensao"] .ri-faculty-card span {color: var(--green); font-weight: 750; font-size: 12px;}
html[data-page="extension-detail"] .ecd-coordinator-grid {grid-template-columns: minmax(200px, 330px) minmax(0px, 1fr); gap: 55px;}
html[data-page="extension-detail"] .ecd-coordinator-photo {margin: 0px; overflow: hidden; border-radius: 24px; border: 1px solid var(--ecd-line); box-shadow: var(--ecd-shadow);}
html[data-page="extension-detail"] .ecd-coordinator-photo img {display: block; width: 100%; height: auto;}
html[data-page] .ri-legal-hero {margin-top: 84px; padding: 55px 0px; background: linear-gradient(120deg, rgb(6, 29, 48), rgb(11, 52, 73)); color: rgb(255, 255, 255);}
html[data-page] .ri-legal-hero nav {color: rgb(167, 201, 217); font-size: 13px;}
html[data-page] .ri-legal-hero h1 {color: rgb(255, 255, 255); font-weight: 400; font-size: 42px; line-height: 1.2; margin: 22px 0px;}
html[data-page] .ri-legal-hero p {color: rgb(192, 213, 226); max-width: 720px; font-size: 17px; line-height: 1.8;}
html[data-page] .ri-legal-hero small {color: rgb(145, 185, 204); font-size: 12px;}
html[data-page] .ri-legal-layout {display: grid; grid-template-columns: 250px 1fr; gap: 65px; padding-block: 65px 85px; align-items: start;}
html[data-page] .ri-legal-index {display: grid; gap: 15px; position: sticky; top: 110px; border: 1px solid var(--border); border-radius: 18px; padding: 25px; background: var(--surface-soft);}
html[data-page] .ri-legal-index strong {margin-bottom: 8px;}
html[data-page] .ri-legal-index a {color: var(--muted); font-size: 13px; line-height: 1.5;}
html[data-page] .ri-legal-content section {margin-bottom: 38px;}
html[data-page] .ri-legal-content h2 {font-size: 26px; text-transform: uppercase; line-height: 1.3; margin: 0px 0px 18px;}
html[data-page] .ri-legal-content h2::after {content: ""; display: block; width: 75px; height: 3px; background: linear-gradient(90deg,var(--blue),var(--green)); margin: 15px 0px; border-radius: 3px;}
html[data-page] .ri-legal-content p {margin: 0px; color: var(--muted); font-size: 16px; line-height: 1.9;}
html[data-page] .ri-legal-content a {color: var(--blue); text-decoration: underline; overflow-wrap: anywhere;}
@keyframes ri-status-glow { 
  50% { box-shadow: rgba(0, 179, 136, 0.082) 0px 0px 0px 4px, rgba(0, 179, 136, 0.4) 0px 0px 16px; }
}
@media (max-width: 1100px) {
html[data-page] .footer-main {grid-template-columns: 1fr; gap: 35px;}
html[data-page] .footer-links {grid-template-columns: repeat(4, minmax(0px, 1fr));}
html[data-product="cursos-de-extensao"] .ri-faculty-grid {grid-template-columns: repeat(3, minmax(0px, 1fr));}
}
@media (max-width: 900px) {
html[data-page] .footer-links {grid-template-columns: repeat(2, minmax(0px, 1fr)); gap: 34px;}
html[data-page] .ri-legal-layout {grid-template-columns: 1fr; gap: 35px;}
html[data-page] .ri-legal-index {position: static; grid-template-columns: 1fr 1fr;}
html[data-page] .ri-legal-index strong {grid-column: 1 / -1;}
}
@media (max-width: 640px) {
html[data-page] .footer-contact {flex-direction: column; gap: 14px;}
html[data-product="cursos-de-extensao"] .ri-faculty-grid {grid-template-columns: repeat(2, minmax(0px, 1fr)); gap: 14px;}
html[data-product="cursos-de-extensao"] .ri-faculty-card h3 {font-size: 15px;}
html[data-product="cursos-de-extensao"] .ri-faculty-card div {padding: 17px 12px;}
html[data-page="extension-detail"] .ecd-coordinator-grid {grid-template-columns: 1fr; gap: 30px;}
html[data-page="extension-detail"] .ecd-coordinator-photo {width: min(100%, 330px); margin: auto;}
html[data-page] .ri-legal-index {grid-template-columns: 1fr;}
}
@media (max-width: 400px) {
html[data-page] .footer-links {grid-template-columns: 1fr;}
html[data-product="cursos-de-extensao"] .ri-faculty-grid {grid-template-columns: 1fr;}
}
@media (prefers-reduced-motion: reduce) {
html[data-page] {scroll-behavior: auto;}
html[data-page] .reveal {opacity: 1; transform: none;}
html[data-page] .ri-faculty-card,
html[data-page] .brand-logo-card {transition: none;}
}
html[data-page="precos-e-planos"] #pricing-plans-title {margin: 0px; font-size: 26px; font-weight: 400; line-height: 1.3; text-transform: uppercase;}
