:root {
    --ri-navy-950: #04112c;
    --ri-navy-900: #071739;
    --ri-navy-800: #0d2c6c;
    --ri-blue: #1769e0;
    --ri-blue-bright: #3b8cff;
    --ri-yellow: #ffc107;
    --ri-green: #00856a;
    --ri-purple: #7652b8;
    --ri-ink: #15233b;
    --ri-muted: #66758a;
    --ri-line: #dfe6f0;
    --ri-surface: #f5f8fc;
    --ri-white: #fff;
    --ri-shadow: 0 22px 60px rgba(7, 23, 57, .12);
}

/* Cabeçalho experimental — exclusivo da página reimaginada */
.ri-site-header {
    position: sticky;
    z-index: 1050;
    top: 0;
    padding: 10px 0;
    border-bottom: 1px solid transparent;
    background: linear-gradient(180deg, rgba(225, 237, 253, .96), rgba(239, 246, 255, .9));
    backdrop-filter: blur(18px) saturate(150%);
    transition: padding .25s ease, background .25s ease, box-shadow .25s ease, border-color .25s ease;
}

.ri-site-header.ri-scrolled {
    padding: 6px 0;
    border-bottom-color: rgba(7, 23, 57, .08);
    background: rgba(230, 240, 253, .96);
    box-shadow: 0 12px 35px rgba(7, 23, 57, .09);
}

.ri-site-navbar { padding: 0; }

.ri-nav-shell {
    width: calc(100% - 24px);
    max-width: none;
    min-height: 72px;
    display: flex;
    align-items: center;
    gap: 14px;
    padding: 8px 12px;
    border: 1px solid rgba(204, 216, 234, .88);
    border-radius: 20px;
    background: rgba(255, 255, 255, .94);
    box-shadow: 0 10px 32px rgba(7, 23, 57, .07);
    transition: min-height .25s ease, border-radius .25s ease, box-shadow .25s ease;
}

.ri-scrolled .ri-nav-shell {
    min-height: 64px;
    border-radius: 16px;
    box-shadow: 0 7px 22px rgba(7, 23, 57, .05);
}

.ri-nav-brand {
    flex: 0 0 auto;
    width: 57px;
    height: 57px;
    display: grid;
    place-items: center;
    overflow: hidden;
    border: 1px solid #d9e3f1;
    border-radius: 17px;
    background: #fff;
    box-shadow: 0 7px 18px rgba(7, 23, 57, .1);
    transition: transform .22s ease, box-shadow .22s ease;
}

.ri-nav-brand:hover {
    transform: translateY(-2px) rotate(-2deg);
    box-shadow: 0 10px 23px rgba(7, 23, 57, .14);
}

.ri-nav-brand img {
    width: 100%;
    height: 100%;
    display: block;
    object-fit: cover;
}

.ri-nav-collapse { min-width: 0; }

.ri-main-menu {
    align-items: center;
    gap: 3px;
    margin: 0 auto;
    padding: 5px;
    border: 1px solid #e4eaf3;
    border-radius: 15px;
    background: #f6f8fc;
}

.ri-main-menu .nav-link {
    min-height: 43px;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 7px;
    padding: 9px 13px !important;
    border-radius: 11px;
    color: #45536a;
    font-size: 13px;
    font-weight: 780;
    white-space: nowrap;
    transition: color .2s ease, background .2s ease, box-shadow .2s ease, transform .2s ease;
}

.ri-main-menu .nav-link > i { display: none; font-size: 15px; }

.ri-main-menu .nav-link:hover {
    color: var(--ri-blue);
    background: #fff;
    transform: translateY(-1px);
}

.ri-main-menu .nav-link.active {
    background: var(--ri-navy-800);
    color: #fff;
    box-shadow: 0 8px 18px rgba(13, 44, 108, .22);
}

.ri-main-menu .nav-link.active:hover { color: #fff; }
.ri-main-menu .dropdown-toggle::after { margin-left: 1px; border-width: 4px 4px 0; }

.ri-tools-dropdown {
    width: min(660px, calc(100vw - 28px));
    margin-top: 14px !important;
    padding: 13px;
    border: 1px solid #dce5f1;
    border-radius: 20px;
    background: rgba(255, 255, 255, .98);
    box-shadow: 0 28px 75px rgba(7, 23, 57, .18);
    animation: ri-dropdown-enter .2s ease both;
}

.ri-tools-dropdown-heading {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-bottom: 9px;
    padding: 10px 11px 14px;
    border-bottom: 1px solid #e8edf4;
}

.ri-tools-dropdown-heading > span {
    width: 42px;
    height: 42px;
    display: grid;
    place-items: center;
    flex: 0 0 auto;
    border-radius: 12px;
    background: var(--ri-navy-800);
    color: var(--ri-yellow);
    font-size: 18px;
}

.ri-tools-dropdown-heading > div { display: flex; flex-direction: column; }
.ri-tools-dropdown-heading strong { color: var(--ri-navy-900); font-size: 14px; }
.ri-tools-dropdown-heading small { margin-top: 2px; color: var(--ri-muted); font-size: 11px; }

.ri-tools-dropdown-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 5px;
}

.ri-tools-dropdown-grid > a {
    min-width: 0;
    display: grid;
    grid-template-columns: 42px minmax(0, 1fr);
    align-items: center;
    gap: 11px;
    padding: 10px;
    border: 1px solid transparent;
    border-radius: 12px;
    color: var(--ri-ink);
    transition: background .2s ease, border-color .2s ease, transform .2s ease;
}

.ri-tools-dropdown-grid > a:hover {
    border-color: #dce7f6;
    background: #f4f8ff;
    color: var(--ri-ink);
    transform: translateX(3px);
}

.ri-tools-dropdown-grid > a > i {
    width: 42px;
    height: 42px;
    display: grid;
    place-items: center;
    border-radius: 11px;
    background: #eaf2ff;
    color: var(--ri-blue);
    font-size: 18px;
}

.ri-tools-dropdown-grid > a:nth-child(3n + 2) > i { background: #e7f7f2; color: var(--ri-green); }
.ri-tools-dropdown-grid > a:nth-child(3n) > i { background: #f2ecfb; color: var(--ri-purple); }
.ri-tools-dropdown-grid span { min-width: 0; display: flex; flex-direction: column; }
.ri-tools-dropdown-grid strong { overflow: hidden; font-size: 12px; text-overflow: ellipsis; white-space: nowrap; }
.ri-tools-dropdown-grid small { margin-top: 2px; color: var(--ri-muted); font-size: 10px; }

.ri-header-action { flex: 0 0 auto; display: flex; align-items: center; gap: 8px; margin-left: 10px; }

.ri-theme-toggle {
    width: 45px;
    height: 45px;
    display: grid;
    place-items: center;
    flex: 0 0 45px;
    padding: 0;
    border: 1px solid rgba(181, 201, 229, .9);
    border-radius: 14px;
    background: linear-gradient(145deg, rgba(255, 255, 255, .98), rgba(230, 240, 254, .9));
    box-shadow: inset 0 1px 0 #fff, 0 7px 18px rgba(7, 23, 57, .08);
    color: var(--ri-navy-800);
    font-size: 17px;
    cursor: pointer;
    transition: transform .22s ease, border-color .22s ease, box-shadow .22s ease, color .22s ease;
}

.ri-theme-toggle:hover {
    border-color: #8db5ee;
    color: var(--ri-blue);
    transform: translateY(-2px) rotate(-4deg);
    box-shadow: inset 0 1px 0 #fff, 0 10px 24px rgba(23, 105, 224, .16);
}

.ri-theme-toggle:focus-visible { outline: 3px solid rgba(59, 140, 255, .32); outline-offset: 3px; }

.ri-user-button,
.ri-login-button {
    min-height: 53px;
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 6px 12px 6px 7px;
    border: 1px solid #d7e1ef;
    border-radius: 14px;
    background: #fff;
    color: var(--ri-navy-900);
    font: inherit;
    text-align: left;
    box-shadow: 0 5px 16px rgba(7, 23, 57, .04);
    transition: transform .2s ease, border-color .2s ease, box-shadow .2s ease;
}

.ri-user-button:hover,
.ri-login-button:hover {
    border-color: #b6cae8;
    color: var(--ri-navy-900);
    transform: translateY(-2px);
    box-shadow: 0 9px 22px rgba(7, 23, 57, .09);
}

.ri-user-avatar {
    width: 39px;
    height: 39px;
    display: grid;
    place-items: center;
    flex: 0 0 auto;
    border-radius: 12px;
    background: linear-gradient(145deg, var(--ri-navy-800), var(--ri-blue));
    color: #fff;
    font-size: 17px;
}

.ri-user-copy {
    min-width: 0;
    max-width: 170px;
    display: flex;
    flex-direction: column;
    line-height: 1.12;
}

.ri-user-copy strong,
.ri-user-copy small {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.ri-user-copy strong { font-size: 12px; }
.ri-user-copy small { margin-top: 4px; color: var(--ri-muted); font-size: 9px; }
.ri-user-button.dropdown-toggle::after { margin-left: 2px; color: var(--ri-blue); }

.ri-login-button {
    padding-right: 15px;
    background: var(--ri-navy-800);
    color: #fff;
    font-size: 12px;
    font-weight: 800;
}

.ri-login-button:hover { color: #fff; background: var(--ri-navy-900); }
.ri-login-button i { width: 34px; height: 34px; display: grid; place-items: center; border-radius: 10px; background: rgba(255, 255, 255, .12); }

.ri-user-dropdown {
    min-width: 270px;
    margin-top: 12px !important;
    padding: 9px;
    border: 1px solid #dce5f1;
    border-radius: 16px;
    box-shadow: 0 22px 60px rgba(7, 23, 57, .16);
    animation: ri-dropdown-enter .2s ease both;
}

.ri-user-dropdown-heading {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-bottom: 7px;
    padding: 8px 8px 12px;
    border-bottom: 1px solid #e8edf4;
}

.ri-user-dropdown-heading > div { min-width: 0; display: flex; flex-direction: column; }
.ri-user-dropdown-heading strong { overflow: hidden; color: var(--ri-navy-900); font-size: 12px; text-overflow: ellipsis; white-space: nowrap; }
.ri-user-dropdown-heading small { margin-top: 3px; color: var(--ri-muted); font-size: 10px; }
.ri-user-dropdown .dropdown-item { display: flex; align-items: center; gap: 10px; min-height: 40px; padding: 9px 11px; border-radius: 9px; font-size: 12px; font-weight: 700; }
.ri-user-dropdown .dropdown-item:hover { background: #f2f6fc; color: var(--ri-blue); }
.ri-user-dropdown form { margin: 0; }

.ri-nav-toggler {
    width: 45px;
    height: 45px;
    display: grid;
    place-items: center;
    margin-left: auto;
    padding: 0;
    border: 1px solid #d8e2ef;
    border-radius: 13px;
    color: var(--ri-navy-800);
    font-size: 24px;
    box-shadow: none !important;
}

@keyframes ri-dropdown-enter {
    from { opacity: 0; transform: translateY(8px) scale(.98); }
    to { opacity: 1; transform: translateY(0) scale(1); }
}

@media (min-width: 1200px) {
    .ri-nav-collapse { display: flex !important; align-items: center; }
    .ri-tools-nav { position: relative; }
    .ri-tools-dropdown { top: 100% !important; right: auto !important; left: 50% !important; transform: translateX(-50%) !important; }
    .ri-tools-dropdown.show { animation-name: ri-dropdown-enter-centered; }
}

@keyframes ri-dropdown-enter-centered {
    from { opacity: 0; transform: translate(-50%, 8px) scale(.98); }
    to { opacity: 1; transform: translate(-50%, 0) scale(1); }
}

@media (max-width: 1199.98px) {
    .ri-site-header { padding: 7px 0; }
    .ri-nav-shell { flex-wrap: wrap; min-height: 66px; border-radius: 17px; }
    .ri-nav-brand { width: 49px; height: 49px; border-radius: 14px; }
    .ri-nav-collapse { flex-basis: 100%; padding: 10px 2px 4px; }
    .ri-main-menu { align-items: stretch; gap: 3px; padding: 7px; }
    .ri-main-menu .nav-link { justify-content: flex-start; padding: 10px 12px !important; }
    .ri-main-menu .nav-link > i { width: 23px; display: inline-block; text-align: center; }
    .ri-tools-dropdown { position: static !important; width: 100%; margin-top: 6px !important; box-shadow: none; }
    .ri-header-action { width: 100%; display: grid; grid-template-columns: 48px minmax(0, 1fr); margin: 9px 0 0; }
    .ri-theme-toggle { width: 48px; height: 53px; }
    .ri-user-button, .ri-login-button { width: 100%; }
    .ri-user-copy { max-width: none; flex: 1; }
    .ri-user-dropdown { width: 100%; }
}

@media (max-width: 620px) {
    .ri-nav-shell { width: calc(100% - 18px); padding: 7px; }
    .ri-tools-dropdown-grid { grid-template-columns: 1fr; }
    .ri-tools-dropdown-heading small { display: none; }
}

.ri-home {
    overflow: hidden;
    color: var(--ri-ink);
    background: var(--ri-white);
}

.ri-home a { text-decoration: none; }

.ri-hero {
    position: relative;
    min-height: 680px;
    display: flex;
    align-items: center;
    padding: 76px 0 112px;
    overflow: hidden;
    isolation: isolate;
    background:
        radial-gradient(circle at 78% 18%, rgba(59, 140, 255, .25), transparent 28%),
        linear-gradient(135deg, var(--ri-navy-950) 0%, var(--ri-navy-900) 45%, #123d91 100%);
    color: #fff;
}

.ri-grid-lines {
    position: absolute;
    z-index: -2;
    inset: 0;
    opacity: .13;
    background-image:
        linear-gradient(rgba(255, 255, 255, .22) 1px, transparent 1px),
        linear-gradient(90deg, rgba(255, 255, 255, .22) 1px, transparent 1px);
    background-size: 72px 72px;
    mask-image: linear-gradient(to right, #000, transparent 78%);
}

.ri-orb {
    position: absolute;
    z-index: -1;
    border-radius: 50%;
    filter: blur(1px);
    pointer-events: none;
}

.ri-orb-one {
    width: 330px;
    height: 330px;
    top: -155px;
    right: -90px;
    background: linear-gradient(145deg, rgba(59, 140, 255, .48), rgba(118, 82, 184, .18));
    animation: ri-orb-float 8s ease-in-out infinite;
}

.ri-orb-two {
    width: 210px;
    height: 210px;
    bottom: -105px;
    left: 12%;
    background: rgba(255, 193, 7, .16);
    animation: ri-orb-float 10s ease-in-out -3s infinite reverse;
}

.ri-hero-grid {
    display: grid;
    grid-template-columns: minmax(0, 1.08fr) minmax(400px, .92fr);
    align-items: center;
    gap: 56px;
}

.ri-hero-copy { position: relative; z-index: 2; }

.ri-eyebrow,
.ri-section-kicker {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    color: var(--ri-blue);
    font-size: 12px;
    font-weight: 850;
    letter-spacing: .13em;
    text-transform: uppercase;
}

.ri-eyebrow {
    margin-bottom: 20px;
    color: #d7e9ff;
}

.ri-eyebrow i { color: var(--ri-yellow); }

.ri-hero h1 {
    max-width: 760px;
    margin: 0;
    color: #fff;
    font-size: clamp(46px, 5.4vw, 70px);
    font-weight: 850;
    letter-spacing: -.045em;
    line-height: .98;
    text-wrap: balance;
}

.ri-hero h1 span {
    display: block;
    color: var(--ri-yellow);
}

.ri-hero-copy > p {
    max-width: 630px;
    margin: 25px 0 0;
    color: #cedbf0;
    font-size: clamp(17px, 1.7vw, 20px);
    line-height: 1.65;
}

.ri-hero-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    margin-top: 33px;
}

.ri-button {
    min-height: 50px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    padding: 13px 20px;
    border: 1px solid transparent;
    border-radius: 12px;
    font-size: 14px;
    font-weight: 800;
    transition: transform .22s ease, box-shadow .22s ease, background .22s ease;
}

.ri-button:hover { transform: translateY(-3px); }

.ri-button-primary {
    background: var(--ri-yellow);
    color: var(--ri-navy-950);
    box-shadow: 0 14px 34px rgba(255, 193, 7, .22);
}

.ri-button-primary:hover {
    color: var(--ri-navy-950);
    background: #ffd24a;
    box-shadow: 0 18px 38px rgba(255, 193, 7, .3);
}

.ri-button-ghost {
    border-color: rgba(255, 255, 255, .28);
    background: rgba(255, 255, 255, .08);
    color: #fff;
    backdrop-filter: blur(12px);
}

.ri-button-ghost:hover { color: #fff; background: rgba(255, 255, 255, .15); }

.ri-hero-stats {
    display: flex;
    flex-wrap: wrap;
    gap: 28px;
    margin: 38px 0 0;
}

.ri-hero-stats > div {
    min-width: 85px;
    padding-left: 15px;
    border-left: 2px solid rgba(255, 193, 7, .75);
}

.ri-hero-stats dt { color: #fff; font-size: 22px; font-weight: 850; line-height: 1; }
.ri-hero-stats dd { margin: 6px 0 0; color: #aebed8; font-size: 11px; font-weight: 700; letter-spacing: .05em; text-transform: uppercase; }

.ri-showcase {
    position: relative;
    padding: 14px;
    border: 1px solid rgba(255, 255, 255, .22);
    border-radius: 26px;
    background: rgba(255, 255, 255, .11);
    box-shadow: 0 35px 90px rgba(0, 0, 0, .3);
    backdrop-filter: blur(16px);
}

.ri-showcase::after {
    content: "";
    position: absolute;
    z-index: -1;
    inset: 18px -18px -18px 18px;
    border-radius: 26px;
    background: linear-gradient(135deg, rgba(59, 140, 255, .25), rgba(255, 193, 7, .12));
}

.ri-showcase-top {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    padding: 4px 4px 13px;
    color: #e8f1ff;
    font-size: 12px;
    font-weight: 800;
}

.ri-showcase-top span { display: flex; align-items: center; gap: 7px; }
.ri-showcase-top i { color: var(--ri-yellow); }
.ri-showcase-top small { color: #9fb2d0; font-size: 10px; }

.ri-carousel,
.ri-showcase-fallback {
    overflow: hidden;
    border-radius: 17px;
    background: var(--ri-navy-950);
}

.ri-carousel .carousel-item { height: 360px; }

.ri-carousel .carousel-item::after {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(to top, rgba(4, 17, 44, .9), transparent 58%);
}

.ri-carousel img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.ri-carousel .carousel-item.active img { animation: ri-hero-zoom 7s ease-out both; }

.ri-carousel-caption {
    position: absolute;
    z-index: 2;
    left: 25px;
    right: 25px;
    bottom: 22px;
    color: #fff;
    font-size: 21px;
    line-height: 1.25;
}

.ri-carousel .carousel-control-prev,
.ri-carousel .carousel-control-next {
    width: 42px;
    height: 42px;
    top: 18px;
    bottom: auto;
    border-radius: 50%;
    background: rgba(4, 17, 44, .68);
    opacity: 1;
}

.ri-carousel .carousel-control-prev { left: auto; right: 67px; }
.ri-carousel .carousel-control-next { right: 17px; }
.ri-carousel .carousel-control-prev-icon,
.ri-carousel .carousel-control-next-icon { width: 16px; height: 16px; }

.ri-showcase-fallback {
    min-height: 360px;
    display: flex;
    align-items: flex-end;
    gap: 18px;
    padding: 32px;
    background:
        radial-gradient(circle at 75% 25%, rgba(255, 193, 7, .32), transparent 22%),
        linear-gradient(140deg, #0d2c6c, #1769e0);
}

.ri-fallback-icon {
    flex: 0 0 auto;
    width: 68px;
    height: 68px;
    display: grid;
    place-items: center;
    border-radius: 19px;
    background: var(--ri-yellow);
    color: var(--ri-navy-950);
    font-size: 30px;
}

.ri-showcase-fallback small { color: #cfe2ff; font-weight: 850; letter-spacing: .1em; }
.ri-showcase-fallback strong { display: block; margin: 6px 0; color: #fff; font-size: 28px; line-height: 1.08; }
.ri-showcase-fallback p { margin: 0; color: #d9e6f8; font-size: 13px; }

.ri-info-rotator {
    --ri-rotator-duration: 5600ms;
    position: relative;
    overflow: hidden;
    border-radius: 17px;
    background:
        radial-gradient(circle at 82% 18%, rgba(255, 255, 255, .13), transparent 25%),
        linear-gradient(145deg, #103a86, #1769e0);
}

.ri-rotator-stage {
    position: relative;
    min-height: 305px;
}

.ri-info-slide {
    --ri-slide-color: var(--ri-yellow);
    position: absolute;
    inset: 0;
    display: grid;
    grid-template-columns: 76px minmax(0, 1fr);
    align-content: end;
    align-items: start;
    gap: 20px;
    padding: 36px 32px 30px;
    overflow: hidden;
    color: #fff;
    opacity: 0;
    pointer-events: none;
    transform: translateX(28px) scale(.985);
    transition: opacity .5s ease, transform .65s cubic-bezier(.2, .75, .2, 1);
}

.ri-info-slide.ri-active {
    z-index: 2;
    color: #fff;
    opacity: 1;
    pointer-events: auto;
    transform: translateX(0) scale(1);
}

.ri-info-slide:hover { color: #fff; }

.ri-slide-icon {
    width: 76px;
    height: 76px;
    display: grid;
    place-items: center;
    border: 1px solid rgba(255, 255, 255, .42);
    border-radius: 22px;
    background: var(--ri-slide-color);
    color: var(--ri-navy-950);
    box-shadow: 0 14px 30px rgba(4, 17, 44, .2);
    font-size: 30px;
    transition: transform .3s ease;
}

.ri-info-slide:hover .ri-slide-icon { transform: translateY(-5px) rotate(-4deg); }

.ri-slide-watermark {
    position: absolute;
    top: 15px;
    right: 22px;
    color: rgba(255, 255, 255, .09);
    font-size: 145px;
    line-height: 1;
    transform: rotate(-8deg);
}

.ri-slide-copy { min-width: 0; }
.ri-slide-copy small { color: var(--ri-slide-color); font-size: 10px; font-weight: 900; letter-spacing: .12em; }
.ri-slide-copy h2 { max-width: 460px; margin: 7px 0 9px; color: #fff; font-size: clamp(25px, 2.6vw, 37px); font-weight: 850; letter-spacing: -.025em; line-height: 1.05; text-wrap: balance; }
.ri-slide-copy p { max-width: 480px; margin: 0; color: #d8e6fa; font-size: 13px; line-height: 1.52; }
.ri-slide-copy > strong { display: inline-flex; align-items: center; gap: 8px; margin-top: 16px; color: #fff; font-size: 11px; text-transform: uppercase; letter-spacing: .05em; }
.ri-slide-copy > strong i { transition: transform .2s ease; }
.ri-info-slide:hover .ri-slide-copy > strong i { transform: translateX(5px); }

.ri-rotator-footer {
    position: relative;
    z-index: 5;
    min-height: 55px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
    padding: 13px 20px 14px;
    border-top: 1px solid rgba(255, 255, 255, .13);
    background: rgba(4, 17, 44, .18);
}

.ri-rotator-dots { display: flex; align-items: center; gap: 7px; }
.ri-rotator-dots button { width: 8px; height: 8px; padding: 0; border: 0; border-radius: 99px; background: rgba(255, 255, 255, .38); cursor: pointer; transition: width .25s ease, background .25s ease; }
.ri-rotator-dots button.ri-active { width: 29px; background: var(--ri-yellow); }
.ri-rotator-dots button:focus-visible { outline: 2px solid #fff; outline-offset: 3px; }
.ri-rotator-count { color: #b9cae4; font-size: 10px; font-weight: 800; letter-spacing: .08em; }

.ri-rotator-progress {
    position: absolute;
    z-index: 6;
    right: 0;
    bottom: 0;
    left: 0;
    height: 3px;
    background: var(--ri-yellow);
    transform: scaleX(0);
    transform-origin: left;
    animation: ri-rotator-progress var(--ri-rotator-duration) linear infinite;
}

.ri-info-rotator.ri-paused .ri-rotator-progress { animation-play-state: paused; }

@keyframes ri-rotator-progress {
    from { transform: scaleX(0); }
    to { transform: scaleX(1); }
}

.ri-showcase-chip {
    position: absolute;
    z-index: 5;
    display: flex;
    align-items: center;
    gap: 7px;
    padding: 10px 13px;
    border: 1px solid rgba(255, 255, 255, .72);
    border-radius: 99px;
    background: rgba(255, 255, 255, .9);
    box-shadow: 0 12px 30px rgba(4, 17, 44, .2);
    color: var(--ri-navy-900);
    font-size: 11px;
    font-weight: 850;
    backdrop-filter: blur(10px);
    animation: ri-chip-float 5s ease-in-out infinite;
}

.ri-chip-code { right: -38px; bottom: 76px; }
.ri-chip-book { left: -42px; top: 82px; animation-delay: -2.5s; }

.ri-notice {
    margin-top: 28px;
    padding: 12px 15px;
    border: 1px solid rgba(255, 193, 7, .3);
    border-radius: 11px;
    background: rgba(255, 193, 7, .12);
    color: #ffe9a7;
    font-size: 13px;
}

.ri-quick { position: relative; z-index: 5; margin-top: -52px; }

.ri-quick-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 12px;
    padding: 15px;
    border: 1px solid rgba(255, 255, 255, .85);
    border-radius: 21px;
    background: rgba(255, 255, 255, .94);
    box-shadow: var(--ri-shadow);
    backdrop-filter: blur(18px);
}

.ri-quick-card {
    --ri-accent: var(--ri-blue);
    position: relative;
    min-width: 0;
    display: grid;
    grid-template-columns: 47px minmax(0, 1fr) auto;
    align-items: center;
    gap: 12px;
    padding: 12px;
    overflow: hidden;
    border: 1px solid color-mix(in srgb, var(--ri-accent) 27%, white);
    border-radius: 14px;
    background: linear-gradient(135deg, rgba(255, 255, 255, .95), color-mix(in srgb, var(--ri-accent) 13%, white));
    box-shadow: inset 0 3px 0 color-mix(in srgb, var(--ri-accent) 62%, transparent), inset 0 1px 0 #fff, 0 8px 22px color-mix(in srgb, var(--ri-accent) 8%, rgba(7, 23, 57, .06));
    backdrop-filter: blur(14px) saturate(145%);
    color: var(--ri-ink);
    transition: transform .22s ease, border-color .22s ease, background .22s ease, box-shadow .22s ease;
}

.ri-quick-card::after {
    content: "";
    position: absolute;
    z-index: 0;
    width: 38%;
    height: 260%;
    top: -80%;
    left: -65%;
    pointer-events: none;
    background: linear-gradient(90deg, transparent, rgba(255, 255, 255, .92), transparent);
    transform: rotate(21deg);
    transition: left 1.05s cubic-bezier(.18, .76, .22, 1);
}

.ri-quick-card:hover { color: var(--ri-ink); border-color: color-mix(in srgb, var(--ri-accent) 44%, white); background: linear-gradient(135deg, #fff, color-mix(in srgb, var(--ri-accent) 19%, white)); box-shadow: inset 0 3px 0 var(--ri-accent), 0 16px 32px color-mix(in srgb, var(--ri-accent) 18%, transparent); transform: translateY(-5px); }
.ri-quick-card:hover::after { left: 130%; }
.ri-quick-card > span { width: 47px; height: 47px; display: grid; place-items: center; border: 1px solid rgba(255, 255, 255, .86); border-radius: 13px; background: linear-gradient(145deg, rgba(255, 255, 255, .88), color-mix(in srgb, var(--ri-accent) 23%, white)); box-shadow: inset 0 1px 0 #fff, 0 7px 15px color-mix(in srgb, var(--ri-accent) 12%, transparent); color: var(--ri-accent); font-size: 20px; }
.ri-quick-card > div { min-width: 0; display: flex; flex-direction: column; }
.ri-quick-card strong { font-size: 14px; }
.ri-quick-card small { margin-top: 3px; overflow: hidden; color: var(--ri-muted); font-size: 11px; text-overflow: ellipsis; white-space: nowrap; }
.ri-quick-card > i { color: var(--ri-accent); }

.ri-section { position: relative; padding: 96px 0; }

.ri-section-heading {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 36px;
    margin-bottom: 34px;
}

.ri-section-heading h2,
.ri-closing h2 {
    margin: 8px 0 0;
    color: var(--ri-navy-900);
    font-size: clamp(34px, 4.5vw, 54px);
    font-weight: 850;
    letter-spacing: -.035em;
    line-height: 1.04;
}

.ri-section-heading > p { max-width: 430px; margin: 0; color: var(--ri-muted); line-height: 1.65; }
.ri-section-heading > a { color: var(--ri-blue); font-size: 14px; font-weight: 800; white-space: nowrap; }

.ri-portal-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 17px; }

.ri-portal-card,
.ri-project-card,
.ri-tool-card,
.ri-resource-card,
.ri-news-card {
    --ri-mouse-x: 50%;
    --ri-mouse-y: 50%;
    position: relative;
    overflow: hidden;
}

.ri-interactive::before {
    content: "";
    position: absolute;
    z-index: 0;
    inset: 0;
    opacity: 0;
    pointer-events: none;
    background: radial-gradient(280px circle at var(--ri-mouse-x) var(--ri-mouse-y), rgba(255, 255, 255, .24), transparent 45%);
    transition: opacity .25s ease;
}

.ri-interactive:hover::before { opacity: 1; }
.ri-interactive > * { position: relative; z-index: 1; }

.ri-portal-card {
    min-height: 340px;
    display: flex;
    flex-direction: column;
    padding: 30px;
    border: 1px solid var(--ri-line);
    border-radius: 21px;
    background: #fff;
    box-shadow: 0 8px 30px rgba(7, 23, 57, .06);
    color: var(--ri-ink);
    transition: transform .25s ease, box-shadow .25s ease, border-color .25s ease;
}

.ri-portal-card:hover { color: var(--ri-ink); transform: translateY(-8px); box-shadow: var(--ri-shadow); border-color: rgba(23, 105, 224, .25); }
.ri-portal-icon { width: 62px; height: 62px; display: grid; place-items: center; margin-bottom: 42px; border-radius: 18px; font-size: 27px; }
.ri-portal-card small { font-size: 10px; font-weight: 850; letter-spacing: .12em; }
.ri-portal-card h3 { margin: 7px 0 12px; color: var(--ri-navy-900); font-size: 26px; font-weight: 850; }
.ri-portal-card p { margin: 0 0 24px; color: var(--ri-muted); font-size: 14px; line-height: 1.6; }
.ri-portal-card > strong { display: flex; align-items: center; gap: 8px; margin-top: auto; font-size: 13px; }
.ri-portal-card > strong i { transition: transform .2s ease; }
.ri-portal-card:hover > strong i { transform: translateX(5px); }

.ri-portal-biblioteca .ri-portal-icon { background: #eaf2ff; color: var(--ri-blue); }
.ri-portal-biblioteca small, .ri-portal-biblioteca > strong { color: var(--ri-blue); }
.ri-portal-programacao .ri-portal-icon { background: #e7f7f2; color: var(--ri-green); }
.ri-portal-programacao small, .ri-portal-programacao > strong { color: var(--ri-green); }
.ri-portal-projetos .ri-portal-icon { background: #f1ebfa; color: var(--ri-purple); }
.ri-portal-projetos small, .ri-portal-projetos > strong { color: var(--ri-purple); }

.ri-projects {
    overflow: hidden;
    background:
        radial-gradient(circle at 85% 15%, rgba(59, 140, 255, .2), transparent 25%),
        linear-gradient(135deg, var(--ri-navy-950), var(--ri-navy-800));
}

.ri-project-orb {
    position: absolute;
    width: 420px;
    height: 420px;
    left: -250px;
    bottom: -250px;
    border-radius: 50%;
    border: 80px solid rgba(255, 193, 7, .08);
    animation: ri-orb-float 12s ease-in-out infinite;
}

.ri-heading-light .ri-section-kicker { color: var(--ri-yellow); }
.ri-heading-light h2 { color: #fff; }
.ri-heading-light > a { color: #d9e8ff; }

.ri-project-grid { display: grid; grid-template-columns: 1.35fr .825fr .825fr; gap: 17px; }

.ri-project-card {
    min-height: 310px;
    display: flex;
    flex-direction: column;
    padding: 27px;
    border: 1px solid rgba(255, 255, 255, .15);
    border-radius: 22px;
    background: rgba(255, 255, 255, .09);
    color: #fff;
    backdrop-filter: blur(12px);
    transition: transform .25s ease, background .25s ease, border-color .25s ease;
}

.ri-project-card:hover { color: #fff; transform: translateY(-7px); border-color: rgba(255, 255, 255, .34); background: rgba(255, 255, 255, .14); }
.ri-project-icon { width: 60px; height: 60px; display: grid; place-items: center; margin-bottom: auto; border-radius: 17px; background: rgba(255, 255, 255, .14); font-size: 26px; }
.ri-project-card small { color: #bed3f2; font-size: 10px; font-weight: 850; letter-spacing: .12em; }
.ri-project-card h3 { margin: 8px 0; color: #fff; font-size: 27px; font-weight: 850; }
.ri-project-card p { margin: 0; color: #c9d7ea; font-size: 13px; line-height: 1.55; }
.ri-project-arrow { position: absolute; top: 27px; right: 27px; width: 39px; height: 39px; display: grid; place-items: center; border: 1px solid rgba(255, 255, 255, .18); border-radius: 50%; transition: transform .22s ease, background .22s ease; }
.ri-project-card:hover .ri-project-arrow { transform: rotate(45deg); background: rgba(255, 255, 255, .15); }

.ri-project-featured {
    background:
        radial-gradient(circle at 78% 15%, rgba(255, 255, 255, .22), transparent 20%),
        linear-gradient(145deg, #00856a, #00a783);
}

.ri-project-featured:hover { background: linear-gradient(145deg, #008f71, #00b38c); }
.ri-project-featured .ri-project-icon { background: #fff; color: var(--ri-green); }
.ri-project-featured small { color: #d2fff2; }
.ri-project-featured p { max-width: 78%; color: #e1fff7; }

.ri-gas-bubbles { position: absolute; inset: 0; pointer-events: none; }
.ri-gas-bubbles i { position: absolute; display: block; border: 1px solid rgba(255, 255, 255, .35); border-radius: 50%; animation: ri-bubble 6s ease-in-out infinite; }
.ri-gas-bubbles i:nth-child(1) { width: 22px; height: 22px; right: 13%; bottom: 18%; }
.ri-gas-bubbles i:nth-child(2) { width: 12px; height: 12px; right: 7%; bottom: 37%; animation-delay: -1.5s; }
.ri-gas-bubbles i:nth-child(3) { width: 34px; height: 34px; right: 24%; bottom: 9%; animation-delay: -3s; }
.ri-gas-bubbles i:nth-child(4) { width: 8px; height: 8px; right: 31%; bottom: 34%; animation-delay: -4.5s; }

.ri-tools {
    overflow: hidden;
    background:
        radial-gradient(circle at 8% 18%, rgba(59, 140, 255, .09), transparent 29%),
        radial-gradient(circle at 91% 76%, rgba(118, 82, 184, .07), transparent 31%),
        linear-gradient(135deg, #fcfeff 0%, #f1f6fc 48%, #f9fbff 100%);
}

.ri-tools::before {
    content: "";
    position: absolute;
    width: 430px;
    height: 430px;
    top: -285px;
    right: -180px;
    border: 76px solid rgba(255, 193, 7, .07);
    border-radius: 50%;
    pointer-events: none;
}

.ri-tools .ri-section-kicker,
.ri-tools .ri-section-heading h2 {
    color: transparent;
    background: linear-gradient(100deg, #0b255d 0%, #1769e0 55%, #7652b8 100%);
    -webkit-background-clip: text;
    background-clip: text;
}

.ri-tools .ri-section-heading > p { color: #617188; }
.ri-tools-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; }

.ri-tool-card {
    --ri-tool-color: var(--ri-blue);
    min-height: 116px;
    display: grid;
    grid-template-columns: 54px minmax(0, 1fr) auto;
    align-items: center;
    gap: 15px;
    padding: 20px;
    border: 1px solid color-mix(in srgb, var(--ri-tool-color) 31%, #dbe5f2);
    border-radius: 17px;
    background:
        linear-gradient(135deg, rgba(255, 255, 255, .97) 0%, color-mix(in srgb, var(--ri-tool-color) 12%, white) 56%, color-mix(in srgb, var(--ri-tool-color) 19%, #eef5ff) 100%);
    box-shadow:
        inset 0 1px 0 rgba(255, 255, 255, 1),
        inset 0 4px 0 color-mix(in srgb, var(--ri-tool-color) 55%, transparent),
        inset 0 -1px 0 rgba(111, 139, 178, .1),
        0 12px 30px color-mix(in srgb, var(--ri-tool-color) 10%, rgba(7, 23, 57, .08));
    backdrop-filter: blur(16px) saturate(165%);
    color: var(--ri-ink);
    transition: transform .23s ease, box-shadow .23s ease, border-color .23s ease, background .23s ease;
}

.ri-tool-card::after {
    content: "";
    position: absolute;
    z-index: 0;
    width: 44%;
    height: 250%;
    top: -75%;
    left: -72%;
    pointer-events: none;
    background: linear-gradient(90deg, transparent, rgba(255, 255, 255, .96), transparent);
    transform: rotate(20deg);
    transition: left 1.25s cubic-bezier(.16, .74, .22, 1);
}

.ri-tool-card:hover {
    color: var(--ri-ink);
    border-color: color-mix(in srgb, var(--ri-tool-color) 58%, white);
    background: linear-gradient(135deg, #fff, color-mix(in srgb, var(--ri-tool-color) 24%, #f4f8ff));
    box-shadow:
        inset 0 1px 0 #fff,
        inset 0 4px 0 var(--ri-tool-color),
        0 22px 48px color-mix(in srgb, var(--ri-tool-color) 24%, rgba(7, 23, 57, .1));
    transform: translateY(-8px) scale(1.012);
}

.ri-tool-card:hover::after { left: 138%; }
.ri-tool-card > span { width: 54px; height: 54px; display: grid; place-items: center; border: 1px solid rgba(255, 255, 255, .92); border-radius: 15px; background: linear-gradient(145deg, rgba(255, 255, 255, .94), color-mix(in srgb, var(--ri-tool-color) 32%, white)); box-shadow: inset 0 1px 0 #fff, 0 9px 20px color-mix(in srgb, var(--ri-tool-color) 18%, transparent); color: var(--ri-tool-color); font-size: 23px; transition: transform .55s ease; }
.ri-tool-card:hover > span { transform: rotate(-8deg) scale(1.11); }
.ri-tool-card > strong { color: transparent; background: linear-gradient(100deg, #15233b 5%, var(--ri-tool-color) 120%); -webkit-background-clip: text; background-clip: text; font-size: 15px; }
.ri-tool-card > i { width: 34px; height: 34px; display: grid; place-items: center; border: 1px solid color-mix(in srgb, var(--ri-tool-color) 28%, white); border-radius: 50%; background: rgba(255, 255, 255, .82); box-shadow: inset 0 1px 0 #fff; color: var(--ri-tool-color); transition: transform .7s ease; }
.ri-tool-card:hover > i { transform: rotate(45deg) scale(1.08); }

/* Aba lateral do Fórum */
.ri-forum-tab {
    position: fixed;
    z-index: 1040;
    top: 58%;
    right: 0;
    width: 54px;
    min-height: 148px;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    gap: 10px;
    overflow: hidden;
    border: 1px solid rgba(255, 255, 255, .42);
    border-right: 0;
    border-radius: 19px 0 0 19px;
    background: linear-gradient(160deg, rgba(59, 140, 255, .96), rgba(13, 44, 108, .98) 52%, rgba(118, 82, 184, .98));
    box-shadow: inset 1px 1px 0 rgba(255, 255, 255, .42), -10px 16px 34px rgba(7, 23, 57, .24);
    color: #fff;
    backdrop-filter: blur(14px) saturate(165%);
    transform: translateY(-50%);
    transition: width .35s ease, transform .35s ease, box-shadow .35s ease;
}

.ri-forum-tab::before {
    content: "";
    position: absolute;
    width: 180%;
    height: 35%;
    top: -45%;
    left: -35%;
    background: linear-gradient(180deg, transparent, rgba(255, 255, 255, .75), transparent);
    transform: rotate(-25deg);
    animation: ri-forum-shine 5.8s ease-in-out infinite;
}

.ri-forum-tab:hover { width: 62px; color: #fff; box-shadow: inset 1px 1px 0 rgba(255, 255, 255, .55), -14px 20px 42px rgba(23, 105, 224, .3); transform: translate(-4px, -50%); }
.ri-forum-tab i { position: relative; z-index: 1; width: 34px; height: 34px; display: grid; place-items: center; border: 1px solid rgba(255, 255, 255, .38); border-radius: 12px; background: rgba(255, 255, 255, .16); font-size: 17px; }
.ri-forum-tab span { position: relative; z-index: 1; font-size: 12px; font-weight: 850; letter-spacing: .08em; text-transform: uppercase; writing-mode: vertical-rl; transform: rotate(180deg); }

/* Rodapé exclusivo da página reimaginada */
.school-footer.ri-school-footer {
    position: relative;
    overflow: hidden;
    padding: 38px 0;
    border-top: 0;
    background:
        radial-gradient(circle at 8% 20%, rgba(59, 140, 255, .28), transparent 28%),
        radial-gradient(circle at 88% 85%, rgba(0, 167, 131, .17), transparent 25%),
        linear-gradient(125deg, #04112c 0%, #0a2458 48%, #123f8e 100%);
}

.school-footer.ri-school-footer::before {
    content: "";
    position: absolute;
    inset: 0 0 auto;
    height: 5px;
    background: linear-gradient(90deg, #ffc107, #3b8cff 45%, #00a783 72%, #b99be8);
}

.ri-school-footer::after { content: ""; position: absolute; width: 270px; height: 270px; right: -135px; top: -165px; border: 48px solid rgba(255, 255, 255, .055); border-radius: 50%; pointer-events: none; }
.ri-school-footer .school-footer-grid { position: relative; z-index: 1; grid-template-columns: 1.25fr .9fr .7fr; }
.ri-school-footer .school-footer-brand { padding: 13px; border: 1px solid rgba(255, 255, 255, .13); border-radius: 18px; background: rgba(255, 255, 255, .07); box-shadow: inset 0 1px 0 rgba(255, 255, 255, .13); backdrop-filter: blur(12px); }
.ri-footer-emblem { width: 70px; height: 70px; flex: 0 0 70px; display: grid; place-items: center; overflow: hidden; padding: 5px; border: 1px solid rgba(255, 255, 255, .28); border-radius: 18px; background: linear-gradient(145deg, rgba(255, 255, 255, .96), rgba(224, 237, 255, .86)); box-shadow: 0 12px 30px rgba(0, 0, 0, .18); }
.ri-school-footer .school-footer-brand img { width: 100%; height: 100%; max-width: none; max-height: none; display: block; border-radius: 12px; object-fit: cover; }
.ri-school-footer .school-footer-brand small { color: #ffc928; font-size: 10px; font-weight: 850; letter-spacing: .12em; text-transform: uppercase; }
.ri-school-footer .school-footer-brand strong { color: #fff; font-size: 17px; }
.ri-school-footer .school-footer-brand span, .ri-school-footer .school-footer-copy span { color: #d9e7fb; }
.ri-school-footer .school-footer-copy strong { margin-bottom: 5px; color: #fff; font-size: 15px; }
.ri-school-footer .school-footer-social strong { color: #fff; }
.ri-school-footer .school-footer-social a { position: relative; overflow: hidden; border-color: rgba(255, 255, 255, .34); background: rgba(255, 255, 255, .08); box-shadow: inset 0 1px 0 rgba(255, 255, 255, .2); backdrop-filter: blur(10px); }
.ri-school-footer .school-footer-social a:hover { border-color: #ffc107; background: linear-gradient(145deg, #ffd34d, #ffc107); color: #071739; transform: translateY(-3px); }

@keyframes ri-forum-shine {
    0%, 62%, 100% { top: -48%; }
    78% { top: 112%; }
}

.ri-new-resources { border-top: 1px solid var(--ri-line); }
.ri-resource-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 15px; }
.ri-resource-card { min-height: 180px; display: grid; grid-template-columns: 54px 1fr; align-items: start; gap: 14px; padding: 22px; border: 1px solid var(--ri-line); border-top: 4px solid var(--ri-resource-color); border-radius: 17px; background: #fff; box-shadow: 0 6px 22px rgba(7, 23, 57, .05); color: var(--ri-ink); transition: transform .23s ease, box-shadow .23s ease; }
.ri-resource-card:hover { color: var(--ri-ink); transform: translateY(-6px); box-shadow: var(--ri-shadow); }
.ri-resource-card > span { width: 54px; height: 54px; display: grid; place-items: center; border-radius: 15px; background: color-mix(in srgb, var(--ri-resource-color) 12%, white); color: var(--ri-resource-color); font-size: 23px; }
.ri-resource-card > div { display: flex; flex-direction: column; }
.ri-resource-card small { color: var(--ri-resource-color); font-size: 10px; font-weight: 850; letter-spacing: .08em; }
.ri-resource-card strong { margin: 6px 0; }
.ri-resource-card p { margin: 0; color: var(--ri-muted); font-size: 12px; line-height: 1.5; }
.ri-resource-card > b { position: absolute; top: 13px; right: 13px; padding: 4px 8px; border-radius: 99px; background: var(--ri-yellow); color: var(--ri-navy-900); font-size: 9px; text-transform: uppercase; }

.ri-news {
    background:
        radial-gradient(circle at 8% 18%, rgba(59, 140, 255, .09), transparent 29%),
        radial-gradient(circle at 91% 76%, rgba(118, 82, 184, .07), transparent 31%),
        linear-gradient(135deg, #fcfeff 0%, #f1f6fc 48%, #f9fbff 100%);
}
.ri-news-grid { display: grid; grid-template-columns: 1.25fr .875fr .875fr; gap: 15px; }
.ri-news-card { min-height: 230px; display: flex; flex-direction: column; padding: 25px; border: 1px solid var(--ri-line); border-radius: 18px; background: var(--ri-surface); color: var(--ri-ink); transition: transform .23s ease, box-shadow .23s ease, border-color .23s ease; }
.ri-news-card::before { background: radial-gradient(340px circle at var(--ri-mouse-x) var(--ri-mouse-y), rgba(23, 105, 224, .17), transparent 48%); }
.ri-news-card:hover { color: var(--ri-ink); transform: translateY(-6px); border-color: rgba(23, 105, 224, .25); box-shadow: var(--ri-shadow); }
.ri-news-card > span { width: 47px; height: 47px; display: grid; place-items: center; margin-bottom: auto; border-radius: 13px; background: #e8f1ff; color: var(--ri-blue); font-size: 21px; }
.ri-news-card small { color: var(--ri-blue); font-size: 10px; font-weight: 850; letter-spacing: .1em; }
.ri-news-card h3 { margin: 8px 0; color: var(--ri-navy-900); font-size: 20px; font-weight: 850; line-height: 1.25; }
.ri-news-card p { margin: 0; color: var(--ri-muted); font-size: 13px; line-height: 1.5; }
.ri-news-card > i { position: absolute; top: 25px; right: 25px; color: var(--ri-blue); }
.ri-news-featured { background: linear-gradient(145deg, var(--ri-navy-900), var(--ri-navy-800)); color: #fff; }
.ri-news-featured::before { background: radial-gradient(360px circle at var(--ri-mouse-x) var(--ri-mouse-y), rgba(255, 255, 255, .24), transparent 50%); }
.ri-news-featured:hover { color: #fff; }
.ri-news-featured > span { background: var(--ri-yellow); color: var(--ri-navy-950); }
.ri-news-featured small { color: var(--ri-yellow); }
.ri-news-featured h3 { color: #fff; font-size: 27px; }
.ri-news-featured p { color: #cedaf0; }
.ri-news-featured > i { color: var(--ri-yellow); }

.ri-closing { padding: 0 0 95px; background: #fff; }
.ri-closing-card { position: relative; overflow: hidden; display: flex; align-items: center; justify-content: space-between; gap: 40px; padding: 40px; border-radius: 24px; background: linear-gradient(135deg, #eaf2ff, #f7faff); box-shadow: inset 0 0 0 1px #dce7f6; }
.ri-closing-card::after { content: ""; position: absolute; width: 230px; height: 230px; right: -110px; top: -135px; border: 45px solid rgba(23, 105, 224, .1); border-radius: 50%; }
.ri-closing h2 { max-width: 780px; font-size: clamp(28px, 3.8vw, 43px); }
.ri-closing .ri-button { position: relative; z-index: 2; flex: 0 0 auto; }

/* Tema escuro adaptável — segue o sistema e permite escolha manual */
html[data-ri-theme="dark"] {
    --ri-ink: #f3f7fc;
    --ri-muted: #aebbd0;
    --ri-line: #354761;
    --ri-surface: #1a2940;
    --ri-white: #0b1f40;
    --ri-shadow: 0 24px 64px rgba(0, 0, 0, .36);
    color-scheme: dark;
}

html[data-ri-theme="dark"] body.ri-modern-header-page { background: #091a35; color: var(--ri-ink); }
html[data-ri-theme="dark"] .ri-site-header { border-bottom-color: rgba(125, 170, 232, .16); background: linear-gradient(180deg, rgba(11, 29, 57, .98), rgba(13, 39, 78, .95)); }
html[data-ri-theme="dark"] .ri-site-header.ri-scrolled { border-bottom-color: rgba(125, 170, 232, .22); background: rgba(10, 31, 63, .98); box-shadow: 0 14px 38px rgba(0, 0, 0, .28); }
html[data-ri-theme="dark"] .ri-nav-shell { border-color: rgba(106, 151, 213, .4); background: rgba(16, 38, 75, .94); box-shadow: inset 0 1px 0 rgba(255, 255, 255, .07), 0 12px 34px rgba(0, 0, 0, .25); }
html[data-ri-theme="dark"] .ri-nav-brand { border-color: #31517d; background: #eaf2ff; box-shadow: 0 8px 22px rgba(0, 0, 0, .28); }
html[data-ri-theme="dark"] .ri-main-menu { border-color: #36567f; background: #152d55; }
html[data-ri-theme="dark"] .ri-main-menu .nav-link { color: #c1d1e8; }
html[data-ri-theme="dark"] .ri-main-menu .nav-link:hover { background: #153361; color: #8fc2ff; }
html[data-ri-theme="dark"] .ri-main-menu .nav-link.active { background: linear-gradient(145deg, #185bbd, #123d86); color: #fff; box-shadow: 0 9px 22px rgba(18, 92, 198, .3); }
html[data-ri-theme="dark"] .ri-tools-dropdown,
html[data-ri-theme="dark"] .ri-user-dropdown { border-color: #2b4a77; background: rgba(8, 27, 58, .98); box-shadow: 0 30px 80px rgba(0, 0, 0, .4); }
html[data-ri-theme="dark"] .ri-tools-dropdown-heading,
html[data-ri-theme="dark"] .ri-user-dropdown-heading { border-bottom-color: #29446d; }
html[data-ri-theme="dark"] .ri-tools-dropdown-heading strong,
html[data-ri-theme="dark"] .ri-user-dropdown-heading strong,
html[data-ri-theme="dark"] .ri-tools-dropdown-grid > a,
html[data-ri-theme="dark"] .ri-user-dropdown .dropdown-item { color: #edf5ff; }
html[data-ri-theme="dark"] .ri-tools-dropdown-grid > a:hover,
html[data-ri-theme="dark"] .ri-user-dropdown .dropdown-item:hover { border-color: #365d92; background: #14315d; color: #9bc9ff; }
html[data-ri-theme="dark"] .ri-tools-dropdown-grid > a > i { background: #173d74; }
html[data-ri-theme="dark"] .ri-tools-dropdown-grid > a:nth-child(3n + 2) > i { background: #123f42; }
html[data-ri-theme="dark"] .ri-tools-dropdown-grid > a:nth-child(3n) > i { background: #352b60; }
html[data-ri-theme="dark"] .ri-user-button { border-color: #31517d; background: #0d2853; color: #edf5ff; box-shadow: inset 0 1px 0 rgba(255, 255, 255, .06), 0 7px 20px rgba(0, 0, 0, .2); }
html[data-ri-theme="dark"] .ri-user-button:hover { border-color: #4d77ad; color: #fff; }
html[data-ri-theme="dark"] .ri-theme-toggle { border-color: rgba(90, 137, 201, .68); background: linear-gradient(145deg, rgba(26, 62, 112, .96), rgba(9, 32, 69, .96)); box-shadow: inset 0 1px 0 rgba(255, 255, 255, .12), 0 8px 22px rgba(0, 0, 0, .25); color: #ffd04a; }
html[data-ri-theme="dark"] .ri-theme-toggle:hover { border-color: #78a8e9; color: #fff0a3; box-shadow: inset 0 1px 0 rgba(255, 255, 255, .16), 0 11px 26px rgba(0, 0, 0, .3); }
html[data-ri-theme="dark"] .ri-nav-toggler { border-color: #31517d; color: #b9d5fb; }

html[data-ri-theme="dark"] .ri-home { background: #0b1f40; color: var(--ri-ink); }
html[data-ri-theme="dark"] .ri-quick-grid { border-color: rgba(255, 255, 255, .36); background: rgba(247, 250, 254, .98); box-shadow: inset 0 1px 0 #fff, 0 28px 65px rgba(0, 0, 0, .32); }
html[data-ri-theme="dark"] .ri-quick-card { border-color: color-mix(in srgb, var(--ri-quick-color) 34%, #dce5f1); background: linear-gradient(145deg, #fff, color-mix(in srgb, var(--ri-quick-color) 12%, #f2f7fd)); color: #172238; box-shadow: inset 0 1px 0 #fff, inset 0 3px 0 color-mix(in srgb, var(--ri-quick-color) 75%, transparent), 0 8px 22px rgba(7, 23, 57, .08); }
html[data-ri-theme="dark"] .ri-quick-card:hover { color: #172238; border-color: color-mix(in srgb, var(--ri-quick-color) 58%, #dce5f1); background: linear-gradient(145deg, #fff, color-mix(in srgb, var(--ri-quick-color) 22%, #f5f8fc)); box-shadow: inset 0 3px 0 var(--ri-quick-color), 0 17px 34px color-mix(in srgb, var(--ri-quick-color) 23%, rgba(7, 23, 57, .15)); }
html[data-ri-theme="dark"] .ri-quick-card strong { color: #172238; }
html[data-ri-theme="dark"] .ri-quick-card small { color: #65758a; }
html[data-ri-theme="dark"] .ri-quick-card > span { border-color: rgba(255, 255, 255, .95); background: linear-gradient(145deg, #fff, color-mix(in srgb, var(--ri-quick-color) 28%, white)); }

html[data-ri-theme="dark"] .ri-projects { background: radial-gradient(circle at 86% 12%, rgba(80, 155, 255, .3), transparent 28%), linear-gradient(135deg, #071a37 0%, #0e3268 52%, #174b9a 100%); }
html[data-ri-theme="dark"] .ri-project-grid .ri-project-card:nth-child(2) { border-color: rgba(141, 190, 255, .38); background: linear-gradient(145deg, rgba(48, 112, 203, .92), rgba(29, 67, 130, .95)); box-shadow: inset 0 1px 0 rgba(255, 255, 255, .14); }
html[data-ri-theme="dark"] .ri-project-grid .ri-project-card:nth-child(3) { border-color: rgba(206, 177, 255, .4); background: linear-gradient(145deg, rgba(133, 87, 215, .94), rgba(70, 50, 144, .96)); box-shadow: inset 0 1px 0 rgba(255, 255, 255, .14); }

html[data-ri-theme="dark"] .ri-tools,
html[data-ri-theme="dark"] .ri-news { background: radial-gradient(circle at 8% 16%, rgba(78, 154, 255, .26), transparent 30%), radial-gradient(circle at 91% 76%, rgba(144, 96, 224, .17), transparent 32%), linear-gradient(135deg, #0a1b36 0%, #102d59 48%, #0d2447 100%); }
html[data-ri-theme="dark"] .ri-tools .ri-section-heading h2,
html[data-ri-theme="dark"] .ri-news .ri-section-heading h2 { color: transparent; background: linear-gradient(100deg, #f4f8ff 0%, #88bfff 38%, #61ddbf 68%, #d7b8ff 100%); -webkit-background-clip: text; background-clip: text; }
html[data-ri-theme="dark"] .ri-section-heading > p { color: #a9bad2; }
html[data-ri-theme="dark"] .ri-tool-card { border-color: color-mix(in srgb, var(--ri-tool-color) 42%, #d9e3ef); background: linear-gradient(145deg, #fff, color-mix(in srgb, var(--ri-tool-color) 15%, #f3f7fc)); box-shadow: inset 0 1px 0 #fff, inset 0 4px 0 var(--ri-tool-color), 0 14px 34px rgba(0, 0, 0, .22); }
html[data-ri-theme="dark"] .ri-tool-card:hover { color: #172238; border-color: color-mix(in srgb, var(--ri-tool-color) 70%, #b9c9dc); background: linear-gradient(135deg, #fff, color-mix(in srgb, var(--ri-tool-color) 29%, #f4f8ff)); box-shadow: inset 0 1px 0 #fff, inset 0 4px 0 var(--ri-tool-color), 0 24px 52px color-mix(in srgb, var(--ri-tool-color) 22%, rgba(0, 0, 0, .27)); }
html[data-ri-theme="dark"] .ri-tool-card > strong { background: linear-gradient(100deg, #172238 5%, color-mix(in srgb, var(--ri-tool-color) 82%, #172238) 120%); -webkit-background-clip: text; background-clip: text; }
html[data-ri-theme="dark"] .ri-tool-card > span,
html[data-ri-theme="dark"] .ri-tool-card > i { border-color: rgba(255, 255, 255, .92); background: linear-gradient(145deg, #fff, color-mix(in srgb, var(--ri-tool-color) 34%, #eef5ff)); box-shadow: inset 0 1px 0 #fff, 0 9px 21px color-mix(in srgb, var(--ri-tool-color) 19%, transparent); }

html[data-ri-theme="dark"] .ri-new-resources { border-top-color: #36577f; background: #0b2448; }
html[data-ri-theme="dark"] .ri-resource-card,
html[data-ri-theme="dark"] .ri-news-card:not(.ri-news-featured) { border-color: #dce5f1; background: linear-gradient(145deg, #fff, #edf4fc); color: #172238; box-shadow: 0 9px 28px rgba(0, 0, 0, .22); }
html[data-ri-theme="dark"] .ri-resource-card:hover,
html[data-ri-theme="dark"] .ri-news-card:not(.ri-news-featured):hover { color: #172238; border-color: #9bb9df; }
html[data-ri-theme="dark"] .ri-resource-card > span { background: color-mix(in srgb, var(--ri-resource-color) 18%, white); }
html[data-ri-theme="dark"] .ri-news-card > span { background: #dfeaff; }
html[data-ri-theme="dark"] .ri-news-card h3 { color: #172238; }
html[data-ri-theme="dark"] .ri-resource-card p,
html[data-ri-theme="dark"] .ri-news-card:not(.ri-news-featured) p { color: #65758a; }
html[data-ri-theme="dark"] .ri-news-featured { border-color: #4b83cf; background: radial-gradient(circle at 88% 12%, rgba(255, 255, 255, .17), transparent 28%), linear-gradient(145deg, #123d82, #1d69d1); }
html[data-ri-theme="dark"] .ri-news-featured h3 { color: #fff; }
html[data-ri-theme="dark"] .ri-news-featured p { color: #d5e4f8; }

html[data-ri-theme="dark"] .ri-closing { background: #0b2448; }
html[data-ri-theme="dark"] .ri-closing-card { background: linear-gradient(135deg, #f7faff, #e9f2ff); color: #172238; box-shadow: inset 0 0 0 1px #d8e4f2, 0 18px 42px rgba(0, 0, 0, .2); }
html[data-ri-theme="dark"] .ri-closing-card h2 { color: #172238; }
html[data-ri-theme="dark"] .ri-closing-card::after { border-color: rgba(23, 105, 224, .11); }

[data-ri-reveal] {
    opacity: 0;
    transform: translateY(28px);
    transition: opacity .65s ease var(--ri-reveal-delay, 0ms), transform .65s cubic-bezier(.2, .7, .2, 1) var(--ri-reveal-delay, 0ms);
}

[data-ri-reveal].ri-visible { opacity: 1; transform: translateY(0); }

@keyframes ri-orb-float {
    0%, 100% { transform: translate3d(0, 0, 0); }
    50% { transform: translate3d(-14px, 18px, 0); }
}

@keyframes ri-chip-float {
    0%, 100% { transform: translateY(0); }
    50% { transform: translateY(-9px); }
}

@keyframes ri-hero-zoom {
    from { transform: scale(1); }
    to { transform: scale(1.06); }
}

@keyframes ri-bubble {
    0%, 100% { transform: translateY(0) scale(1); opacity: .45; }
    50% { transform: translateY(-24px) scale(1.12); opacity: .9; }
}

@media (max-width: 1120px) {
    .ri-hero-grid { grid-template-columns: 1fr 420px; gap: 38px; }
    .ri-hero h1 { font-size: clamp(44px, 5vw, 64px); }
    .ri-quick-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .ri-project-grid { grid-template-columns: 1fr 1fr; }
    .ri-project-featured { grid-column: 1 / -1; }
    .ri-resource-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 900px) {
    .ri-hero { min-height: 0; padding-top: 68px; }
    .ri-hero-grid { grid-template-columns: 1fr; gap: 56px; }
    .ri-showcase { width: min(100%, 640px); margin: 0 auto; }
    .ri-portal-grid { grid-template-columns: 1fr; }
    .ri-portal-card { min-height: 270px; }
    .ri-portal-icon { margin-bottom: 28px; }
    .ri-tools-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .ri-news-grid { grid-template-columns: 1fr 1fr; }
    .ri-news-featured { grid-column: 1 / -1; }
    .ri-closing-card { align-items: flex-start; flex-direction: column; }
    .ri-school-footer .school-footer-grid { grid-template-columns: 1fr; text-align: center; }
    .ri-school-footer .school-footer-brand { justify-content: center; }
    .ri-school-footer .school-footer-social { text-align: center; }
    .ri-school-footer .school-footer-social > div { justify-content: center; }
}

@media (max-width: 700px) {
    .ri-hero { padding: 46px 0 72px; }
    .ri-grid-lines { background-size: 44px 44px; }
    .ri-hero-grid { gap: 42px; }
    .ri-eyebrow { max-width: 100%; margin-bottom: 16px; gap: 6px; font-size: 10px; letter-spacing: .1em; line-height: 1.45; }
    .ri-hero h1 { max-width: 100%; font-size: clamp(37px, 11.2vw, 48px); letter-spacing: -.04em; line-height: 1.01; text-wrap: pretty; }
    .ri-hero-copy > p { margin-top: 21px; font-size: 15px; line-height: 1.58; }
    .ri-hero-actions { flex-direction: column; }
    .ri-button { width: 100%; }
    .ri-hero-stats { width: 100%; display: grid; grid-template-columns: .8fr .7fr 1.35fr; gap: 0; margin-top: 31px; }
    .ri-hero-stats > div { min-width: 0; padding-left: 11px; }
    .ri-hero-stats dt { font-size: clamp(18px, 5.6vw, 22px); white-space: nowrap; }
    .ri-hero-stats > div:nth-child(3) dt { font-size: clamp(15px, 4.7vw, 19px); }
    .ri-hero-stats dd { font-size: 9px; letter-spacing: .035em; white-space: nowrap; }
    .ri-showcase { padding: 10px; border-radius: 21px; }
    .ri-showcase::after, .ri-showcase-chip { display: none; }
    .ri-carousel .carousel-item, .ri-showcase-fallback { height: 290px; min-height: 290px; }
    .ri-showcase-top small { display: none; }
    .ri-showcase-fallback { align-items: flex-start; flex-direction: column; justify-content: flex-end; padding: 24px; }
    .ri-rotator-stage { min-height: 330px; }
    .ri-info-slide { grid-template-columns: 1fr; align-content: end; gap: 14px; padding: 25px 21px 22px; }
    .ri-slide-icon { width: 60px; height: 60px; border-radius: 18px; font-size: 24px; }
    .ri-slide-watermark { top: 22px; right: 14px; font-size: 118px; }
    .ri-slide-copy h2 { font-size: 27px; }
    .ri-slide-copy p { font-size: 12px; }
    .ri-quick { margin-top: -27px; }
    .ri-quick-grid { grid-template-columns: 1fr; padding: 10px; }
    .ri-section { padding: 58px 0; }
    .ri-section-heading { align-items: flex-start; flex-direction: column; gap: 14px; }
    .ri-section-kicker { font-size: 10px; letter-spacing: .11em; }
    .ri-section-heading h2 { max-width: 100%; font-size: clamp(31px, 9.2vw, 37px); letter-spacing: -.04em; line-height: 1.04; text-wrap: balance; }
    .ri-section-heading > p { max-width: 100%; font-size: 14px; line-height: 1.55; }
    .ri-project-grid, .ri-tools-grid, .ri-resource-grid, .ri-news-grid { grid-template-columns: 1fr; }
    .ri-project-featured { grid-column: auto; }
    .ri-project-card { min-height: 285px; }
    .ri-project-featured p { max-width: 100%; }
    .ri-news-featured { grid-column: auto; }
    .ri-closing { padding-bottom: 68px; }
    .ri-closing-card { padding: 28px; }
    .ri-forum-tab { top: auto; right: 14px; bottom: calc(18px + env(safe-area-inset-bottom, 0px)); width: 54px; min-width: 54px; min-height: 54px; padding: 0; gap: 0; flex-direction: row; border-right: 1px solid rgba(255, 255, 255, .42); border-radius: 18px; transform: none; }
    .ri-forum-tab:hover { width: 54px; transform: translateY(-4px); }
    .ri-forum-tab i { width: 39px; height: 39px; border-radius: 13px; }
    .ri-forum-tab span { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); clip-path: inset(50%); white-space: nowrap; writing-mode: horizontal-tb; transform: none; }
    .ri-school-footer .school-footer-brand { flex-direction: column; }
}

@media (max-width: 390px) {
    .ri-hero h1 { font-size: clamp(35px, 10.8vw, 42px); }
    .ri-hero-stats > div { padding-left: 9px; }
    .ri-hero-stats dd { font-size: 8px; }
    .ri-section-heading h2 { font-size: clamp(29px, 8.9vw, 34px); }
}

@media (prefers-reduced-motion: reduce) {
    .ri-orb,
    .ri-showcase-chip,
    .ri-carousel .carousel-item.active img,
    .ri-gas-bubbles i,
    .ri-rotator-progress,
    .ri-info-slide,
    .ri-quick-card::after,
    .ri-tool-card::after,
    .ri-forum-tab::before,
    [data-ri-reveal] {
        animation: none !important;
        transition: none !important;
    }

    [data-ri-reveal] { opacity: 1; transform: none; }
}
