/* Revisão cirúrgica de 18/09/2026. Camada comum após os estilos aprovados. */
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:3px solid #39c9c3; 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:#fff; color:#082942; transform:translateY(-160%); }
html[data-page] .ri-skip-link:focus { transform:none; }


html[data-page] .footer-main { display:grid; grid-template-columns:240px minmax(0,1fr); gap:48px; align-items:start; }
html[data-page] .footer-links { display:grid; grid-template-columns:1.2fr .85fr 1.1fr 1fr; gap:28px; }
html[data-page] .footer-links > div { min-width:0; }
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,.2); border-radius:50%; color:#9eb2c1; }
html[data-page] .footer-contact { display:flex; flex-wrap:wrap; gap:12px 30px; padding:22px 0; border-top:1px solid rgba(208,234,246,.12); color:#b6c8d3; font-size:13px; }
html[data-page] .brand-logo-card { text-decoration:none; transition:transform .25s,box-shadow .25s; }
html[data-page] .brand-logo-card:hover { transform:translateY(-4px); box-shadow:0 16px 32px #08294218; }
html[data-page] .ri-update-button { position:relative; overflow:hidden; display:inline-flex; min-height:54px; padding:16px 25px; align-items:center; justify-content:center; gap:16px; border:0; border-radius:13px; background:linear-gradient(100deg,#2f80ed,#00b388); box-shadow:0 12px 28px #008ca52b; color:#fff; font-size:15px; font-weight:700; text-decoration:none; line-height:1.4; transition:transform .25s,box-shadow .25s; }
html[data-page] .ri-update-button svg { flex:none; width:20px; height:20px; }
html[data-page] .ri-update-button::after { content:""; position:absolute; width:25%; inset:-50% auto -50% -60%; transform:skewX(-22deg); background:linear-gradient(90deg,transparent,#ffffff4d,transparent); transition:left .7s; pointer-events:none; }
html[data-page] .ri-update-button:hover { transform:translateY(-3px); box-shadow:0 18px 32px #008ca543; }
html[data-page] .ri-update-button:hover::after { left:130%; }
html[data-page] .ri-mini-label { display:inline-flex; align-items:center; gap:8px; color:#50ddca; font-size:11px; text-transform:uppercase; letter-spacing:.1em; font-weight:800; }
html[data-page] .ri-mini-label::before { content:""; width:7px; height:7px; border-radius:50%; background:currentColor; box-shadow:0 0 16px #32c4b34d; }



html[data-page="index"] .ri-premium-home { padding:38px; display:grid; grid-template-columns:.9fr 1.5fr; gap:48px; border:1px solid #1fadc7; border-radius:25px; background:radial-gradient(ellipse at right bottom,#00897835,transparent 60%),linear-gradient(120deg,#0b2536,#073140); text-align:left; color:#fff; }
html[data-page="index"] .ri-premium-home h3 { margin:16px 0; color:#fff; font-size:36px; letter-spacing:-.025em; }
html[data-page="index"] .ri-premium-home h4 { margin:0 0 22px; color:#fff; font-size:18px; }
html[data-page="index"] .ri-premium-home p { color:#c6dbe7; font-size:15px; line-height:1.75; margin:0; }
html[data-page="index"] .ri-premium-home-note { display:block; margin-top:24px; font-size:15px; color:#70e1d2; font-weight:650; }
html[data-page="index"] .ri-premium-home ul { display:grid; grid-template-columns:1fr 1fr; gap:13px 24px; list-style:none; padding:0; margin:0; }
html[data-page="index"] .ri-premium-home li { display:flex; align-items:start; gap:10px; color:#e9f5ff; font-size:13px; line-height:1.5; }
html[data-page="index"] .ri-premium-home li svg { flex:0 0 18px; width:18px; height:18px; color:#52e0cf; }
html[data-page="index"] .ri-premium-home-bottom { margin-top:26px; display:flex; flex-wrap:wrap; gap:22px; align-items:center; }
html[data-page="index"] .ri-premium-home-bottom p { flex:1; min-width:180px; font-size:13px; }
/* Expanded curriculum and the four practice summary icons. */
html[data-page] .ri-curriculum-open { padding:28px; }
html[data-page] .ri-curriculum-heading { display:flex; align-items:center; padding:0 0 26px; font-size:19px; font-weight:800; line-height:1.55; }
html[data-page] .ri-curriculum-heading small { display:block; color:var(--green); font-size:11px; letter-spacing:.12em; }
html[data-page] .ri-curriculum-open .cbx-curriculum-panel { padding:0; }
html[data-page="revalida"] .ri-curriculum-open .cbx-discipline-grid { grid-template-columns:repeat(5,minmax(0,1fr)); gap:16px; }
html[data-page="revalida"] .ri-curriculum-open .rvx-curriculum-area { position:relative; min-height:177px; display:flex; flex-direction:column; align-items:flex-start; justify-content:center; gap:18px; padding:23px 18px; overflow:hidden; }
html[data-page="revalida"] .ri-curriculum-open h4 { font-size:15px; line-height:1.45; margin:0; }
html[data-page="ciclo-basico"] .ri-curriculum-open .cbx-discipline-grid { gap:16px; }
html[data-page="ciclo-basico"] .ri-curriculum-open .cbx-discipline-grid article { padding:22px 18px; min-height:110px; }
html[data-page] .ri-curriculum-open .cbx-discipline-icon, html[data-page] .ri-curriculum-open .cbx-panel-icon, html[data-page="praticas-medicas-simuladas"] .ri-refined-icon { position:relative; flex:0 0 54px; width:54px; height:54px; display:grid; place-items:center; overflow:visible; border:1px solid #2fb8ce66; border-radius:18px; background:linear-gradient(140deg,#278de535,#00b38826); color:var(--green); box-shadow:inset 0 1px 0 #ffffff28,0 10px 25px #008caa17; transition:transform .35s,box-shadow .35s; }
html[data-page] .ri-curriculum-open .cbx-discipline-icon::after, html[data-page] .ri-curriculum-open .cbx-panel-icon::after, html[data-page="praticas-medicas-simuladas"] .ri-refined-icon::after { content:""; position:absolute; width:7px; height:7px; right:-2px; top:6px; background:#35d5b1; border:2px solid var(--surface); border-radius:50%; box-shadow:0 0 10px #00bd9380; animation:ri-status-glow 3s ease-in-out infinite; }
html[data-page] .ri-curriculum-open .cbx-discipline-icon svg, html[data-page] .ri-curriculum-open .cbx-panel-icon svg, html[data-page="praticas-medicas-simuladas"] .ri-refined-icon svg { width:29px; height:29px; }
html[data-page] .ri-curriculum-open article { position:relative; border-radius:18px; transition:transform .3s,border-color .3s,box-shadow .3s; }
html[data-page] .ri-curriculum-open article:hover { transform:translateY(-4px); border-color:#20b7b8; box-shadow:0 14px 25px #062d3b18; }
html[data-page] .ri-curriculum-open article:hover .cbx-discipline-icon, html[data-page="praticas-medicas-simuladas"] .ri-stat:hover .ri-refined-icon { transform:translateY(-3px) rotate(-5deg); box-shadow:0 14px 30px #008caa30; }
html[data-page="praticas-medicas-simuladas"] .ri-stat { gap:15px; }
html[data-page="praticas-medicas-simuladas"] .ri-refined-icon { color:#6eeee1; }
html[data-page="medprovas"] .mp-primary { position:relative; overflow:hidden; background:linear-gradient(100deg,#2f80ed,#00b388); color:#fff; border-radius:13px; box-shadow:0 12px 28px #008ca52b; transition:transform .25s,box-shadow .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,#ffffff4d,transparent); transition:left .7s; }
html[data-page="medprovas"] .mp-primary:hover { transform:translateY(-3px); }
html[data-page="medprovas"] .mp-primary:hover::after { left:130%; }
/* Photos preserve a complete head and the chest logo in every card. */
html[data-product="cursos-de-extensao"] .ri-faculty-grid { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:20px; }
html[data-product="cursos-de-extensao"] .ri-faculty-card { min-width:0; border:1px solid var(--border); border-radius:22px; background:var(--surface); overflow:hidden; transition:transform .3s,box-shadow .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:0 0 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(0,1fr); gap:55px; }
html[data-page="extension-detail"] .ecd-coordinator-photo { margin:0; 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; }
/* Premium follows R1's common shell; product-specific rules stay isolated. */
html[data-product="plano-premium"] .ri-prem-hero { position:relative; overflow:hidden; margin-top:84px; padding:68px 0 54px; background:radial-gradient(ellipse at 85% 25%,#076c7155,transparent 52%),linear-gradient(115deg,#061c30,#0b2d45 60%,#073b44); }
html[data-product="plano-premium"] .ri-prem-hero-grid { display:grid; grid-template-columns:1.1fr 1fr; gap:52px; align-items:center; }
html[data-product="plano-premium"] .ri-prem-hero h1 { color:#fff; font-size:42px; font-weight:400; line-height:1.15; letter-spacing:-.035em; margin:20px 0; }
html[data-product="plano-premium"] .ri-prem-hero-copy>p { color:#c3d9e5; line-height:1.75; font-size:16px; margin:20px 0; }
html[data-product="plano-premium"] .ri-prem-hero-prices { display:flex; gap:18px 25px; align-items:center; flex-wrap:wrap; margin:25px 0; }
html[data-product="plano-premium"] .ri-prem-hero-prices span { color:#b2ccdc; font-size:12px; }
html[data-product="plano-premium"] .ri-prem-hero-prices strong { display:block; margin-top:5px; color:#fff; font-size:20px; font-weight:750; }
html[data-product="plano-premium"] .ri-prem-hero-prices b { padding:10px 12px; border:1px solid #24c7a550; border-radius:12px; background:#03977918; color:#57e3c5; font-size:12px; }
html[data-product="plano-premium"] .ri-prem-hero-copy>.ri-prem-hero-note { font-size:13px; color:#69dccb; font-weight:600; }
html[data-product="plano-premium"] .ri-prem-hero-art { position:relative; height:530px; min-width:0; }
html[data-product="plano-premium"] .ri-prem-orbit { position:absolute; inset:40px 5px; border:1px solid #2ad2c34a; border-radius:50%; box-shadow:0 0 0 32px #1ab3b107,0 0 0 65px #1ab3b105; }
html[data-product="plano-premium"] .ri-prem-people { position:absolute; right:0; top:0; height:375px; width:100%; object-fit:contain; object-position:right top; filter:drop-shadow(0 20px 25px #00122155); }
html[data-product="plano-premium"] .ri-prem-device { position:absolute; left:0; bottom:3px; width:91%; margin:0; border:6px solid #244759; border-radius:18px; background:#0c2231; box-shadow:0 25px 40px #00111c80; transform:rotate(-3deg); overflow:hidden; }
html[data-product="plano-premium"] .ri-prem-device figcaption { display:flex; gap:8px; align-items:center; color:#abd0df; padding:9px 14px; font-size:10px; }
html[data-product="plano-premium"] .ri-prem-device figcaption span { width:5px; height:5px; border-radius:50%; background:#45d9b6; box-shadow:10px 0 #259fb8,20px 0 #348fc5; margin-right:20px; }
html[data-product="plano-premium"] .ri-prem-device img { display:block; width:100%; height:auto; aspect-ratio:16/9; object-fit:cover; object-position:top; }
html[data-product="plano-premium"] .ri-prem-art-tag { position:absolute; right:-9px; bottom:2px; display:flex; align-items:center; gap:12px; padding:15px 19px; border:1px solid #37d4bd70; border-radius:16px; background:#0d3d4d; color:#b7dedf; box-shadow:0 16px 25px #00162260; font-size:12px; line-height:1.5; }
html[data-product="plano-premium"] .ri-prem-art-tag svg { width:31px; height:31px; color:#60e0cb; }
html[data-product="plano-premium"] .ri-prem-art-tag strong { color:#fff; }
html[data-product="plano-premium"] .ri-prem-section { padding:90px 0; }
html[data-product="plano-premium"] .ri-prem-tinted { background:var(--surface-soft); }
html[data-product="plano-premium"] .ri-prem-heading { text-align:center; max-width:850px; margin:0 auto 42px; }
html[data-product="plano-premium"] .ri-prem-heading h2, html[data-product="plano-premium"] .ri-prem-closing h2 { font-size:26px; line-height:1.3; text-transform:uppercase; color:var(--ink); margin:0; letter-spacing:-.02em; }
html[data-product="plano-premium"] .ri-prem-heading h2::after, html[data-product="plano-premium"] .ri-prem-closing h2::after { content:""; display:block; width:100px; height:3px; border-radius:4px; margin:19px auto 0; background:linear-gradient(90deg,var(--blue),var(--green)); }
html[data-product="plano-premium"] .ri-prem-heading p { margin:22px auto 0; color:var(--muted); font-size:16px; line-height:1.8; }
html[data-product="plano-premium"] .ri-prem-left { text-align:left; margin-left:0; margin-bottom:24px; }
html[data-product="plano-premium"] .ri-prem-left h2::after { margin-left:0; }
html[data-product="plano-premium"] .ri-prem-grid3, html[data-product="plano-premium"] .ri-prem-journey { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:25px; }
html[data-product="plano-premium"] .ri-prem-card { position:relative; padding:32px; border:1px solid var(--border); border-radius:23px; background:linear-gradient(135deg,var(--surface),var(--surface-soft)); box-shadow:0 14px 35px #002a4210; overflow:hidden; transition:transform .3s,box-shadow .3s,border-color .3s; }
html[data-product="plano-premium"] .ri-prem-card::before { content:""; position:absolute; top:28px; bottom:28px; left:0; width:3px; background:linear-gradient(var(--blue),var(--green)); border-radius:4px; }
html[data-product="plano-premium"] .ri-prem-card::after { content:""; position:absolute; height:3px; bottom:0; left:30px; right:30px; background:linear-gradient(90deg,var(--blue),var(--green)); transform:scaleX(0); transform-origin:left; transition:transform .4s; }
html[data-product="plano-premium"] .ri-prem-card:hover { transform:translateY(-5px); box-shadow:0 22px 45px #00899d15; border-color:#20b1b67a; }
html[data-product="plano-premium"] .ri-prem-card:hover::after { transform:scaleX(1); }
html[data-product="plano-premium"] .ri-prem-icon { position:relative; display:grid; place-items:center; width:58px; height:58px; border:1px solid #35b9c747; border-radius:19px; color:var(--green); background:linear-gradient(140deg,#2f80ed20,#00b38820); box-shadow:inset 0 1px #ffffff25; margin-bottom:24px; }
html[data-product="plano-premium"] .ri-prem-icon::after { content:""; position:absolute; width:7px; height:7px; right:-2px; top:5px; border-radius:50%; background:#27d5aa; box-shadow:0 0 12px #19d8aa77; animation:ri-status-glow 3s ease-in-out infinite; }
html[data-product="plano-premium"] .ri-prem-icon svg { width:30px; height:30px; transition:transform .3s; }
html[data-product="plano-premium"] .ri-prem-card:hover .ri-prem-icon svg { transform:rotate(-6deg); }
html[data-product="plano-premium"] .ri-prem-card h3 { margin:0 0 20px; font-size:21px; line-height:1.35; }
html[data-product="plano-premium"] .ri-prem-list { display:grid; gap:14px; padding:0; margin:0; list-style:none; }
html[data-product="plano-premium"] .ri-prem-list li { display:flex; align-items:flex-start; gap:10px; font-size:15px; line-height:1.6; color:var(--muted); }
html[data-product="plano-premium"] .ri-prem-list li svg { flex:0 0 17px; width:17px; height:19px; margin-top:2px; color:var(--green); }
html[data-product="plano-premium"] .ri-prem-card p { margin:0; font-size:15px; color:var(--muted); line-height:1.8; }
html[data-product="plano-premium"] .ri-prem-step { position:absolute; right:28px; top:26px; color:var(--green); opacity:.35; font-size:38px; font-weight:750; }
html[data-product="plano-premium"] .ri-prem-resource-tabs { display:grid; grid-template-columns:repeat(7,minmax(0,1fr)); gap:10px; margin:0 0 25px; }
html[data-product="plano-premium"] .ri-prem-resource-tabs button { display:flex; flex-direction:column; align-items:center; justify-content:center; gap:11px; min-height:92px; padding:14px 8px; color:var(--muted); background:var(--surface-soft); border:1px solid var(--border); border-radius:15px; cursor:pointer; font-size:12px; font-weight:700; transition:.25s; }
html[data-product="plano-premium"] .ri-prem-resource-tabs svg { width:24px; height:24px; }
html[data-product="plano-premium"] .ri-prem-resource-tabs [aria-selected="true"] { color:#fff; background:linear-gradient(125deg,#277adb,#00a789); border-color:transparent; box-shadow:0 10px 24px #008ba32b; }
html[data-product="plano-premium"] .ri-prem-resource-panel { display:grid; grid-template-columns:1.7fr 1fr; align-items:center; gap:35px; border:1px solid var(--border); padding:30px; margin:0 0 20px; border-radius:24px; background:var(--surface-soft); }
html[data-product="plano-premium"] .ri-prem-resource-panel[hidden] { display:none; }
html[data-product="plano-premium"] .ri-prem-resource-panel figure { margin:0; padding:7px; border:1px solid var(--border); border-radius:14px; background:#132d3b; }
html[data-product="plano-premium"] .ri-prem-resource-panel img { display:block; border-radius:8px; width:100%; height:auto; aspect-ratio:16/10; object-fit:contain; background:#f5f9fb; }
html[data-product="plano-premium"] .ri-prem-resource-panel h3 { font-size:25px; margin:20px 0; line-height:1.3; }
html[data-product="plano-premium"] .ri-prem-resource-panel p { color:var(--muted); font-size:16px; line-height:1.8; }
html[data-product="plano-premium"] .ri-prem-integrated { display:flex; gap:9px; align-items:center; font-size:12px; color:var(--green); margin-top:25px; }
html[data-product="plano-premium"] .ri-prem-integrated svg { width:18px; height:18px; }
html[data-product="plano-premium"] .ri-prem-centered { text-align:center; color:var(--muted); font-size:15px; margin-top:28px; }
html[data-product="plano-premium"] .ri-prem-split { display:grid; grid-template-columns:1.1fr 1fr; gap:60px; align-items:center; }
html[data-product="plano-premium"] .ri-prem-split p { color:var(--muted); line-height:1.8; font-size:16px; }
html[data-product="plano-premium"] .ri-prem-teachers { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; align-items:center; }
html[data-product="plano-premium"] .ri-prem-teachers figure { margin:0; border:1px solid var(--border); border-radius:18px; overflow:hidden; background:var(--surface); }
html[data-product="plano-premium"] .ri-prem-teachers figure:nth-child(2) { margin-top:50px; }
html[data-product="plano-premium"] .ri-prem-teachers img { display:block; width:100%; height:auto; aspect-ratio:3/5; object-fit:cover; object-position:center top; }
html[data-product="plano-premium"] .ri-prem-teachers figcaption { padding:15px 10px; min-height:66px; font-size:12px; font-weight:700; line-height:1.5; }
html[data-product="plano-premium"] .ri-prem-quote { padding:20px 23px; border-left:3px solid var(--green); background:linear-gradient(90deg,#00b38812,transparent); color:var(--ink); line-height:1.75; font-size:17px; font-weight:600; margin-top:24px; }
html[data-product="plano-premium"] .ri-prem-practice-screen { padding:9px; border:1px solid var(--border); border-radius:20px; margin:0; background:var(--surface-soft); box-shadow:var(--shadow); }
html[data-product="plano-premium"] .ri-prem-practice-screen img { display:block; width:100%; height:auto; border-radius:12px; }
html[data-product="plano-premium"] .ri-prem-practice-screen figcaption { padding:14px 10px 8px; color:var(--muted); font-size:12px; text-align:center; }
html[data-product="plano-premium"] .ri-prem-content { border:1px solid var(--border); border-radius:20px; background:var(--surface); }
html[data-product="plano-premium"] .ri-prem-content summary { padding:24px 30px; font-size:16px; font-weight:650; cursor:pointer; display:flex; justify-content:space-between; gap:20px; list-style:none; }
html[data-product="plano-premium"] .ri-prem-content summary::-webkit-details-marker { display:none; }
html[data-product="plano-premium"] .ri-prem-content summary span { color:var(--green); transition:transform .3s; }
html[data-product="plano-premium"] .ri-prem-content[open] summary span { transform:rotate(45deg); }
html[data-product="plano-premium"] .ri-prem-content-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:28px; padding:10px 30px 30px; }
html[data-product="plano-premium"] .ri-prem-content-grid article { padding:25px; border:1px solid var(--border); border-radius:16px; }
html[data-product="plano-premium"] .ri-prem-content-grid h3 { margin:0 0 20px; font-size:18px; }
html[data-product="plano-premium"] .ri-prem-price-grid { max-width:1030px; margin:auto; display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:28px; }
html[data-product="plano-premium"] .ri-prem-price-card { padding:38px; border:1px solid var(--border); border-radius:25px; background:linear-gradient(145deg,var(--surface-soft),var(--surface)); position:relative; }
html[data-product="plano-premium"] .ri-prem-price-card:nth-child(2) { border-color:#12b1ad; box-shadow:0 22px 45px #00a8a015; }
html[data-product="plano-premium"] .ri-prem-price-card h3 { margin:25px 0; font-size:22px; }
html[data-product="plano-premium"] .ri-prem-price-card p { color:var(--muted); font-size:14px; line-height:1.6; }
html[data-product="plano-premium"] .ri-prem-installment strong { display:block; margin-top:8px; color:var(--ink); font-size:34px; letter-spacing:-.04em; }
html[data-product="plano-premium"] .ri-prem-installment small { font-size:21px; font-weight:500; }
html[data-product="plano-premium"] .ri-prem-cash { display:inline-flex; flex-wrap:wrap; gap:12px; color:var(--green); font-size:12px; font-weight:800; margin:2px 0 30px; padding:10px 12px; background:#00b38812; border:1px solid #00b38833; border-radius:12px; }
html[data-product="plano-premium"] .ri-prem-cash span { color:var(--muted); font-weight:500; }
html[data-product="plano-premium"] .ri-prem-price-card .ri-update-button { width:100%; margin-top:30px; font-size:13px; }
html[data-product="plano-premium"] .ri-prem-price-card .ri-prem-purchase-note { text-align:center; font-size:12px; margin:16px 0 0; }
html[data-product="plano-premium"] #premium-acesso { padding-top:0; }
html[data-product="plano-premium"] .ri-prem-closing { padding:55px 32px; text-align:center; border:1px solid #35bfc64d; border-radius:30px; background:radial-gradient(ellipse at 50% 120%,#087e7470,transparent 70%),#07283d; }
html[data-product="plano-premium"] .ri-prem-closing img { display:block; width:235px; height:auto; margin:0 auto 35px; }
html[data-product="plano-premium"] .ri-prem-closing h2 { color:#fff; max-width:750px; margin:auto; }
html[data-product="plano-premium"] .ri-prem-closing p { color:#c6dbe5; font-size:16px; line-height:1.8; margin:22px auto; max-width:750px; }
html[data-product="plano-premium"] .ri-prem-closing>strong { display:block; color:#6ee5cc; margin:20px 0 25px; font-size:15px; }
html[data-product="plano-premium"]:not([data-theme="dark"]) .ri-prem-section .ri-mini-label { color:#007e75; }
/* Legal pages use the approved site typography and theme. */
html[data-page] .ri-legal-hero { margin-top:84px; padding:55px 0; background:linear-gradient(120deg,#061d30,#0b3449); color:#fff; }
html[data-page] .ri-legal-hero nav { color:#a7c9d9; font-size:13px; }
html[data-page] .ri-legal-hero h1 { color:#fff; font-weight:400; font-size:42px; line-height:1.2; margin:22px 0; }
html[data-page] .ri-legal-hero p { color:#c0d5e2; max-width:720px; font-size:17px; line-height:1.8; }
html[data-page] .ri-legal-hero small { color:#91b9cc; 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:0 0 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 0; border-radius:3px; }
html[data-page] .ri-legal-content p { margin:0; 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:0 0 0 4px #00b38815,0 0 16px #00b38866; } }
@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(0,1fr)); }
 html[data-product="plano-premium"] .ri-prem-hero-grid { gap:25px; }
 html[data-product="plano-premium"] .ri-prem-hero-art { height:480px; }
 html[data-product="plano-premium"] .ri-prem-split { gap:30px; }
 html[data-product="cursos-de-extensao"] .ri-faculty-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
 html[data-page="ciclo-basico"] .ri-curriculum-open .cbx-discipline-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
 html[data-page="revalida"] .ri-curriculum-open .rvx-curriculum-area { padding:20px 13px; }
 html[data-page="revalida"] .ri-curriculum-open h4 { font-size:13px; }
}
@media(max-width:900px) {
 html[data-page] .footer-links { grid-template-columns:repeat(2,minmax(0,1fr)); gap:34px; }
 html[data-page="index"] .ri-premium-home { grid-template-columns:1fr; gap:30px; padding:30px; }
 html[data-page="revalida"] .ri-curriculum-open .cbx-discipline-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
 html[data-product="plano-premium"] .ri-prem-hero-grid, html[data-product="plano-premium"] .ri-prem-split { grid-template-columns:1fr; }
 html[data-product="plano-premium"] .ri-prem-hero-art { height:510px; max-width:570px; width:100%; margin:auto; }
 html[data-product="plano-premium"] .ri-prem-hero-copy { max-width:720px; }
 html[data-product="plano-premium"] .ri-prem-grid3, html[data-product="plano-premium"] .ri-prem-journey { grid-template-columns:1fr; }
 html[data-product="plano-premium"] .ri-prem-resource-tabs { grid-template-columns:repeat(4,minmax(0,1fr)); }
 html[data-product="plano-premium"] .ri-prem-resource-panel { grid-template-columns:1fr; }
 html[data-product="plano-premium"] .ri-prem-teachers { max-width:600px; margin:0 auto 20px; }
 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] .ri-update-button { width:100%; }
 html[data-page] .footer-contact { flex-direction:column; gap:14px; }
 html[data-page] .ri-curriculum-open { padding:20px; }
 html[data-page="revalida"] .ri-curriculum-open .cbx-discipline-grid, html[data-page="ciclo-basico"] .ri-curriculum-open .cbx-discipline-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
 html[data-page="ciclo-basico"] .ri-curriculum-open .cbx-discipline-grid article { flex-direction:column; align-items:flex-start; }
 html[data-page="index"] .ri-premium-home { padding:24px; }
 html[data-page="index"] .ri-premium-home ul { grid-template-columns:1fr; }
 html[data-product="cursos-de-extensao"] .ri-faculty-grid { grid-template-columns:repeat(2,minmax(0,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-product="plano-premium"] .ri-prem-hero { padding:45px 0; }
 html[data-product="plano-premium"] .ri-prem-section { padding:62px 0; }
 html[data-product="plano-premium"] .ri-prem-hero-art { height:420px; }
 html[data-product="plano-premium"] .ri-prem-people { height:290px; }
 html[data-product="plano-premium"] .ri-prem-device { width:94%; }
 html[data-product="plano-premium"] .ri-prem-art-tag { right:0; font-size:10px; padding:10px 13px; }
 html[data-product="plano-premium"] .ri-prem-card { padding:26px; }
 html[data-product="plano-premium"] .ri-prem-resource-tabs { grid-template-columns:repeat(3,minmax(0,1fr)); gap:8px; }
 html[data-product="plano-premium"] .ri-prem-resource-tabs button { font-size:11px; }
 html[data-product="plano-premium"] .ri-prem-resource-panel { padding:18px; gap:20px; }
 html[data-product="plano-premium"] .ri-prem-content-grid, html[data-product="plano-premium"] .ri-prem-price-grid { grid-template-columns:1fr; }
 html[data-product="plano-premium"] .ri-prem-content-grid { padding:0 18px 18px; }
 html[data-product="plano-premium"] .ri-prem-price-card { padding:28px; }
 html[data-product="plano-premium"] .ri-prem-installment strong { font-size:31px; }
 html[data-product="plano-premium"] .ri-prem-closing { padding:40px 24px; }
 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; }
 html[data-page="revalida"] .ri-curriculum-open .cbx-discipline-grid, html[data-page="ciclo-basico"] .ri-curriculum-open .cbx-discipline-grid { grid-template-columns:1fr; }
 html[data-product="plano-premium"] .ri-prem-hero-art { height:380px; }
}
@media(prefers-reduced-motion:reduce) {
 html[data-page] { scroll-behavior:auto; }
 html[data-page] .reveal { opacity:1; transform:none; }
 html[data-page] .ri-update-button, html[data-page] .ri-update-button::after, html[data-page] .ri-prem-card, html[data-page] .ri-prem-card::after, html[data-page] .ri-prem-icon svg, html[data-page] .ri-curriculum-open article, html[data-page] .ri-curriculum-open .cbx-discipline-icon, html[data-page] .ri-faculty-card, html[data-page] .brand-logo-card { transition:none; }
 html[data-page] .ri-prem-icon::after, html[data-page] .ri-curriculum-open .cbx-discipline-icon::after, html[data-page] .ri-curriculum-open .cbx-panel-icon::after, html[data-page] .ri-refined-icon::after { animation:none; }
}




/* A arte original possui área transparente; o enquadramento preserva o arquivo. */
html[data-product="plano-premium"] .ri-prem-people { width:525px; max-width:none; height:600px; right:-20px; top:-85px; }
@media(max-width:640px) { html[data-product="plano-premium"] .ri-prem-people { width:420px; height:480px; right:-40px; top:-75px; } }

html[data-page="precos-e-planos"] #pricing-plans-title { margin:0; font-size:26px; font-weight:400; line-height:1.3; text-transform:uppercase; }



