/* Humanitas: navegação, movimento e identidade compartilhada. */
html { --scroll-track:#edf0f5; --scroll-thumb:#636b95; scrollbar-color:var(--scroll-thumb) var(--scroll-track); scrollbar-width:thin; }
html[data-theme="dark"] { --scroll-track:#12182a; --scroll-thumb:#8fa3ce; }
::-webkit-scrollbar { width:11px; height:9px; }
::-webkit-scrollbar-track { background:var(--scroll-track); }
::-webkit-scrollbar-thumb { background:var(--scroll-thumb); border:3px solid var(--scroll-track); border-radius:20px; }
::-webkit-scrollbar-thumb:hover { background:#1e91d0; }
body .inner-hero { padding-block:28px 32px; min-height:0; }
body .inner-hero .inner-lead, body .medicine-hero-copy > p, body .blog-intro > .container > p { display:none; }
body .inner-title { margin-bottom:0; }
body .inner-hero .v8-hero-actions, body .inner-hero .infra-hero-actions { margin-top:24px; }
body .blog-intro { padding-block:28px 30px; }
body.medicine-page .medicine-hero { padding-bottom:30px; }
.medicine-page .medicine-photo-wrap { aspect-ratio:1.5; border-radius:32px 16px 32px 16px; }
.medicine-page .medicine-photo-wrap > img { object-position:center center; }
.medicine-page .medicine-hero-actions { margin-top:24px; }
.medicine-page #menu-do-curso { scroll-margin-top:calc(var(--header-h,130px) + 12px); }
.medicine-page .course-nav { top:var(--header-h,130px); z-index:35; }
.medicine-page .course-nav-links a { min-height:44px; display:inline-flex; align-items:center; }
.medicine-page .course-section { scroll-margin-top:calc(var(--header-h,130px) + var(--course-nav-h,70px) + 22px); }
/* Os três canais e o convite de contato compartilham o mesmo componente. */
html[data-theme] body main .channels.channels--featured { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px; width:100%; }
html[data-theme] body main .channels--featured .h-card { min-height:174px; padding:22px; border-radius:18px; --h-a:#edf7fc; --h-b:#deeff8; --h-accent:#178dc9; --h-border:#b2d9ee; --h-text:#23365f; background:linear-gradient(135deg,#f2f9fd,#dfeff8); border:1px solid #b2d9ee; color:#23365f; transition:transform .25s,box-shadow .25s; }
html[data-theme] body main .channels--featured .h-card:nth-child(2) { background:linear-gradient(135deg,#f3f8ef,#e0efd5); border-color:#bedba8; }
html[data-theme] body main .channels--featured .h-card .h-icon { background:linear-gradient(140deg,#1e91d0,#146d97); color:#fff; box-shadow:0 6px 14px #167fab26; }
html[data-theme] body main .channels--featured .h-card:nth-child(2) .h-icon { background:linear-gradient(140deg,#639f45,#376634); }
html[data-theme] body main .channels--featured .h-card .h-glyph { color:#fff; stroke:#fff; }
html[data-theme] body main .channels--featured .h-card .h-detail { stroke:#fec12b; }
html[data-theme] body main .channels--featured .h-card .h-detail-fill { fill:#fec12b; }
html[data-theme] body main .channels--featured .h-card .channel-name { color:#23365f; }
html[data-theme] body main .channels--featured .h-card:hover { transform:translateY(-5px); box-shadow:0 12px 24px #263d5c18; }
html[data-theme="dark"] body main .channels--featured .h-card { background:linear-gradient(135deg,#25354b,#192639); border-color:#445d7b; }
html[data-theme="dark"] body main .channels--featured .h-card:nth-child(2) { background:linear-gradient(135deg,#293d30,#1e2d25); border-color:#4b6a47; }
html[data-theme="dark"] body main .channels--featured .h-card .channel-name { color:#f3f6fc; }
body .course-contact { display:flex; justify-content:space-between; align-items:center; gap:24px; margin-top:28px; padding:26px; border:1px solid var(--line,#dce1e8); background:var(--surface,#f0f5fa); border-radius:18px; }
body .course-contact h3 { margin:0 0 8px; font-size:20px; line-height:1.4; color:var(--ink,#2e3563); }
body .course-contact p { margin:0; font-size:14px; color:var(--muted,#65718b); }
body .course-contact-links { display:flex; align-items:center; gap:20px; flex-shrink:0; }
body .course-contact-links .btn { border-radius:30px; min-height:48px; padding:12px 24px; background:#2e3563; color:#fff; }
body .course-contact-links .text-link { display:inline-flex; align-items:center; gap:10px; color:#0076b8; font-size:14px; font-weight:600; }
/* Aviso do próximo vestibular. */
body[data-family="admission"] .admission-status { position:relative; display:flex; align-items:center; gap:15px; max-width:600px; padding:20px 24px; margin:0 0 24px; border:1px solid #e8bc37; border-radius:20px; background:linear-gradient(110deg,#fff1b6,#ffe081,#fff0b9); background-size:200% 100%; color:#263357; box-shadow:0 10px 28px #d9a62626; animation:admission-glow 6s ease-in-out infinite; }
body[data-family="admission"] .admission-status > .icon { width:32px; height:32px; flex:0 0 32px; }
.admission-status-copy { display:grid; gap:5px; }
.admission-status-copy strong { font-size:clamp(20px,2vw,27px); line-height:1.25; }
.admission-status-copy span { font-size:16px; font-weight:650; }
.admission-status::after { content:''; width:10px; height:10px; flex:0 0 10px; border-radius:50%; background:#467e39; margin-left:auto; animation:admission-pulse 2.8s ease-out infinite; }
@keyframes admission-glow { 50% { background-position:100% 0; box-shadow:0 12px 32px #d9a62642; } }
@keyframes admission-pulse { 0%,100% { box-shadow:0 0 0 0 #467e3900; } 50% { box-shadow:0 0 0 8px #467e391c; } }
/* Reconhecimento: medalha em movimento e conquistas em destaque. */
body[data-family="admission"] .vest-recognition { border-radius:28px; overflow:hidden; border:1px solid var(--line,#dde3ed); box-shadow:0 18px 50px #1b315213; }
body[data-family="admission"] .vest-score { position:relative; overflow:hidden; isolation:isolate; background:radial-gradient(ellipse at top left,#344e80,#142442 75%); padding:42px; color:#fff; }
.vest-score-orbit { position:absolute; width:280px; height:280px; border:1px solid #9cbde03b; border-radius:50%; top:50%; left:50%; margin:-140px; z-index:-1; animation:recognition-orbit 18s linear infinite; }
.vest-score-orbit::before,.vest-score-orbit::after { content:''; position:absolute; width:12px; height:12px; border-radius:50%; background:#fec12b; top:34px; left:34px; box-shadow:0 0 22px #fec12b77; }
.vest-score-orbit::after { top:auto; left:auto; bottom:34px; right:34px; background:#7fc360; }
body[data-family="admission"] .vest-score > strong { font-size:112px; line-height:1.1; color:#fff; text-shadow:0 8px 32px #0002; }
.vest-score-stars { display:flex; gap:7px; color:#fec12b; font-size:24px; margin:12px 0 18px; }
.vest-score-stars span { animation:star-rise 3.5s ease-in-out infinite; animation-delay:calc(var(--star) * .13s); }
body[data-family="admission"] .vest-score > a { color:#ffe08c; position:relative; }
body[data-family="admission"] .vest-recognition-copy { padding:38px; }
body[data-family="admission"] .vest-recognition-copy h2 { font-size:clamp(27px,3vw,38px); line-height:1.2; margin-bottom:25px; }
body[data-family="admission"] .vest-recognition-list { gap:12px; }
body[data-family="admission"] .vest-recognition-list li { position:relative; padding:18px; background:var(--surface,#f4f7fa); border:1px solid var(--line,#e2e8ef); border-radius:14px; font-size:14px; line-height:1.55; transition:transform .25s,border-color .25s; }
body[data-family="admission"] .vest-recognition-list li:hover { transform:translateY(-4px); border-color:#1e91d0; }
body[data-family="admission"] .vest-recognition-list li > .icon { width:25px; height:25px; flex-shrink:0; color:#168bc7; }
@keyframes recognition-orbit { to { transform:rotate(360deg); } }
@keyframes star-rise { 50% { transform:translateY(-4px); opacity:.65; } }
.motion-ready .motion-item { opacity:0; transform:translateY(20px); transition:opacity .65s ease,transform .65s ease; transition-delay:var(--motion-delay,0ms); }
.motion-ready.is-visible .motion-item { opacity:1; transform:none; }
body[data-family="admission"] #a-faculdade .v8-hero-actions { gap:14px; margin-top:26px; }
body[data-family="admission"] #a-faculdade .btn { min-height:54px; padding:16px 22px; border-radius:14px; font-weight:700; background:#2e3563; color:#fff; border:1px solid #2e3563; box-shadow:0 7px 18px #2e356320; transition:transform .25s,box-shadow .25s; }
body[data-family="admission"] #a-faculdade .btn:nth-child(2) { background:#fec12b; border-color:#fec12b; color:#263357; }
body[data-family="admission"] #a-faculdade .btn:hover { transform:translateY(-4px); box-shadow:0 12px 26px #2e356333; }
body[data-family="admission"] #a-faculdade .btn .icon { transition:transform .25s; }
body[data-family="admission"] #a-faculdade .btn:hover .icon { transform:translateX(4px); }
/* Diferenciais expansíveis: interação nativa por mouse, toque e teclado. */
body[data-family="admission"] #diferenciais .benefit-grid { grid-template-columns:repeat(5,minmax(0,1fr)); gap:16px; align-items:start; }
body[data-family="admission"] #diferenciais details.benefit-card { display:block; min-height:0; padding:0; overflow:hidden; background:var(--surface,#fff); border:1px solid var(--line,#dce3ec); border-top:4px solid var(--benefit-color); border-radius:18px; transition:transform .25s,box-shadow .25s; }
.benefit-card:nth-child(4n+1) { --benefit-color:#fec12b; --benefit-soft:#fff4ce; --benefit-ink:#82600c; }
.benefit-card:nth-child(4n+2) { --benefit-color:#7fc360; --benefit-soft:#eaf6e4; --benefit-ink:#34682c; }
.benefit-card:nth-child(4n+3) { --benefit-color:#1e91d0; --benefit-soft:#e2f3fc; --benefit-ink:#086d9c; }
.benefit-card:nth-child(4n) { --benefit-color:#ab3335; --benefit-soft:#fae8e7; --benefit-ink:#922a2e; }
body[data-family="admission"] #diferenciais details.benefit-card::before { display:none; }
.benefit-card summary { padding:22px 18px 18px; display:flex; flex-direction:column; align-items:flex-start; gap:16px; cursor:pointer; list-style:none; min-height:220px; }
.benefit-card summary::-webkit-details-marker { display:none; }
.benefit-card summary:focus-visible { outline:3px solid #1e91d0; outline-offset:-5px; border-radius:14px; }
body[data-family="admission"] #diferenciais .benefit-card .v8-icon { width:54px; height:54px; flex-basis:54px; background:var(--benefit-soft); color:var(--benefit-ink); border:none; border-radius:16px; transition:transform .3s; }
body[data-family="admission"] #diferenciais .benefit-card .v8-icon .icon { width:31px; height:31px; stroke-width:1.7; }
body[data-family="admission"] #diferenciais .benefit-card h3 { font-size:15px; line-height:1.45; }
.benefit-card .benefit-action { display:flex; align-items:center; justify-content:space-between; width:100%; margin-top:auto; font-size:11px; font-weight:700; color:var(--muted,#61718a); }
.benefit-action b { display:grid; place-items:center; width:25px; height:25px; border-radius:50%; background:var(--benefit-soft); color:var(--benefit-ink); font-size:20px; font-weight:400; transition:transform .25s; }
.benefit-card[open] .benefit-action b { transform:rotate(45deg); }
.benefit-card .benefit-description { margin:0; padding:0 18px 22px; font-size:13px; line-height:1.7; color:var(--muted,#61718a); }
body[data-family="admission"] #diferenciais details.benefit-card:hover { transform:translateY(-6px); box-shadow:0 14px 28px #172c4817; }
.benefit-card:hover .v8-icon { transform:rotate(-6deg) scale(1.07); }
@media(max-width:1100px) {
 body[data-family="admission"] #diferenciais .benefit-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
 body .course-contact { flex-wrap:wrap; }
}
@media(max-width:700px) {
 html[data-theme] body main .channels.channels--featured { grid-template-columns:1fr; gap:12px; }
 html[data-theme] body main .channels--featured .h-card { min-height:150px; }
 body .course-contact { padding:22px; }
 body .course-contact-links { flex-wrap:wrap; gap:16px; }
 body[data-family="admission"] #diferenciais .benefit-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
 .benefit-card summary { min-height:240px; padding:18px 14px; }
 body[data-family="admission"] .vest-recognition-copy { padding:24px; }
 body[data-family="admission"] .admission-status { padding:18px; gap:12px; }
 .admission-status-copy span { font-size:14px; }
 body[data-family="admission"] .admission-status > .icon { width:25px; height:25px; flex-basis:25px; }
 body[data-family="admission"] #a-faculdade .btn { width:100%; justify-content:space-between; }
}
@media(prefers-reduced-motion:reduce) {
 html { scroll-behavior:auto !important; }
 .admission-status,.admission-status::after,.vest-score-orbit,.vest-score-stars span { animation:none !important; }
 .motion-ready .motion-item { opacity:1; transform:none; transition:none; }
 .benefit-card,.benefit-card .v8-icon,.benefit-action b,.channels--featured .h-card,#a-faculdade .btn { transition:none !important; }
}

body .v13-hero { padding-block:28px 32px; min-height:0; }
body .v13-hero > .container > p { display:none; }
.medicine-page .course-nav { position:sticky; }
@media(max-width:700px) {
 .medicine-page .course-nav-inner { display:block; padding-block:10px; }
 .medicine-page .course-nav-label { display:none; }
 .medicine-page .course-nav-links { display:flex; flex-wrap:nowrap; overflow-x:auto; max-width:100%; gap:8px; padding-bottom:5px; }
 .medicine-page .course-nav-links a { flex:0 0 auto; white-space:nowrap; }
}
/* O mesmo cartão nas páginas inicial e de graduação, sem variantes locais. */
html[data-theme] body main .channels.channels--featured .h-card[data-hue]:nth-child(n) {
 --h-a:#edf7fc; --h-b:#deeff8; --h-line:#b2d9ee; --h-accent:#178dc9; --h-glyph:#fff; --h-detail:#fec12b;
 display:grid; grid-template-columns:minmax(0,1fr) 32px; grid-template-rows:64px auto; align-content:space-between; gap:18px; min-height:174px; padding:22px;
 background:linear-gradient(135deg,#f2f9fd,#dfeff8); border-color:#b2d9ee;
}
html[data-theme] body main .channels.channels--featured .h-card[data-hue]:nth-child(2) { background:linear-gradient(135deg,#f3f8ef,#e0efd5); border-color:#bedba8; --h-accent:#4d8240; }
html[data-theme] body main .channels.channels--featured .h-icon { width:60px; height:60px; border-radius:18px; }
html[data-theme] body main .channels.channels--featured .channel-name { grid-column:1; grid-row:2; padding:0; font-size:16px; }
html[data-theme] body main .channels.channels--featured .h-route { position:static; grid-column:2; grid-row:2; align-self:end; width:32px; height:32px; background:#ffffffb3; color:#147ba9; }
html[data-theme="dark"] body main .channels.channels--featured .h-card[data-hue]:nth-child(n) { background:linear-gradient(135deg,#25354b,#192639); border-color:#445d7b; }
html[data-theme="dark"] body main .channels.channels--featured .h-card[data-hue]:nth-child(2) { background:linear-gradient(135deg,#293d30,#1e2d25); border-color:#4b6a47; }
body .course-contact { background:#eff5fa; }
html[data-theme="dark"] body .course-contact { background:#1c243d; }

/* Aviso compacto: brilho em movimento, degradê e símbolo de graduação. */
body[data-family="admission"] .admission-status {
 width:100%; max-width:420px; min-height:74px; padding:12px 14px; gap:12px; margin-bottom:20px; border-radius:16px; isolation:isolate; overflow:hidden;
 background:linear-gradient(115deg,#fff5c7 0%,#ffd76b 35%,#f4e99e 60%,#dcf0cb 80%,#ffe399 100%); background-size:250% 180%;
 border-color:#e9bd42; box-shadow:0 8px 24px #cda63226; animation:admission-flow 4s ease-in-out infinite;
}
body[data-family="admission"] .admission-status::before {
 content:''; position:absolute; z-index:-1; inset:-60% auto -60% -65%; width:42%; background:linear-gradient(90deg,transparent,#ffffffb0,transparent); transform:skewX(-24deg); animation:admission-shine 3.8s ease-in-out infinite; pointer-events:none;
}
body[data-family="admission"] .admission-status-copy { min-width:0; gap:3px; }
body[data-family="admission"] .admission-status-copy strong { font-size:19px; line-height:1.25; letter-spacing:-.025em; }
body[data-family="admission"] .admission-status-copy span { font-size:12px; line-height:1.5; }
.admission-status-symbol { display:grid; place-items:center; width:38px; height:38px; flex:0 0 38px; border-radius:12px; color:#fff; background:linear-gradient(135deg,#3d5689,#182747); box-shadow:0 5px 12px #20345d30; animation:admission-symbol-float 2.8s ease-in-out infinite; }
.admission-status-symbol svg { width:29px; height:29px; stroke:currentColor; stroke-width:1.7; stroke-linecap:round; stroke-linejoin:round; }
.admission-status-symbol .admission-spark { stroke:#ffdc71; }
body[data-family="admission"] .admission-status::after { width:7px; height:7px; flex-basis:7px; animation:admission-pulse 2s ease-out infinite; }
@keyframes admission-flow { 0%,100% { background-position:0% 50%; } 50% { background-position:100% 50%; } }
@keyframes admission-shine { 0%,12% { left:-65%; } 65%,100% { left:130%; } }
@keyframes admission-symbol-float { 0%,100% { transform:translateY(1px) rotate(-5deg); } 50% { transform:translateY(-4px) rotate(5deg); } }
/* Progresso de leitura: quatro cores na ordem da marca. */
.blog-reading-progress { position:fixed; top:0; left:0; right:0; height:5px; z-index:10000; background:#e2e6ed; pointer-events:none; }
.blog-reading-progress-fill { display:block; width:100%; height:100%; transform:scaleX(0); transform-origin:left center; background:linear-gradient(90deg,#fec12b 0%,#7fc360 33%,#1e91d0 66%,#ab3335 100%); }
html[data-theme="dark"] .blog-reading-progress { background:#202b41; }
@media(max-width:480px) {
 body[data-family="admission"] .admission-status { padding:11px 12px; gap:10px; }
 body[data-family="admission"] .admission-status-copy strong { font-size:17px; }
 body[data-family="admission"] .admission-status-copy span { font-size:11px; }
 .admission-status-symbol { width:34px; height:34px; flex-basis:34px; }
}
@media(prefers-reduced-motion:reduce) {
 body[data-family="admission"] .admission-status,body[data-family="admission"] .admission-status::before,body[data-family="admission"] .admission-status::after,.admission-status-symbol { animation:none !important; }
}

/* Navegação do vestibular: ícones de seção e área de toque ampliada. */
body[data-family="admission"] .admission-links--icons { display:flex; flex-wrap:wrap; gap:12px; margin-top:26px; }
body[data-family="admission"] .admission-links--icons > a { display:inline-flex; align-items:center; gap:11px; min-height:56px; padding:10px 16px 10px 10px; border:1px solid #d9e2ed; border-radius:14px; background:linear-gradient(140deg,#fff,#f4f7fb); color:#26345f; font-size:13px; font-weight:650; line-height:1.35; text-decoration:none; box-shadow:0 3px 9px #1e355908; transition:transform .2s,box-shadow .2s,border-color .2s; }
body[data-family="admission"] .admission-links--icons .admission-nav-icon { display:grid; place-items:center; width:34px; height:34px; flex:0 0 34px; border-radius:11px; background:linear-gradient(140deg,#fff3bd,#ffe292); color:#805b08; box-shadow:inset 0 0 0 1px #d8aa3024; transition:transform .25s; }
body[data-family="admission"] .admission-links--icons > a:nth-child(4n+2) .admission-nav-icon { background:linear-gradient(140deg,#ecf7e6,#d3ebc5); color:#3a7030; }
body[data-family="admission"] .admission-links--icons > a:nth-child(4n+3) .admission-nav-icon { background:linear-gradient(140deg,#e7f5fd,#c5e7fa); color:#087ab5; }
body[data-family="admission"] .admission-links--icons > a:nth-child(4n) .admission-nav-icon { background:linear-gradient(140deg,#fceceb,#f4d0cc); color:#a03135; }
body[data-family="admission"] .admission-links--icons .admission-nav-icon .icon { width:23px; height:23px; stroke-width:1.7; }
body[data-family="admission"] .admission-links--icons > a:hover { transform:translateY(-3px); border-color:#87b8d5; box-shadow:0 8px 18px #1e355918; }
body[data-family="admission"] .admission-links--icons > a:hover .admission-nav-icon { transform:rotate(-5deg); }
body[data-family="admission"] .admission-links--icons > a:focus-visible { outline:3px solid #1e91d0; outline-offset:3px; }
html[data-theme="dark"] body[data-family="admission"] .admission-links--icons > a { background:linear-gradient(140deg,#25334a,#1a2539); border-color:#45546e; color:#f3f6fc; }
@media(max-width:600px) {
 body[data-family="admission"] .admission-links--icons { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; }
 body[data-family="admission"] .admission-links--icons > a { padding:10px; gap:9px; font-size:12px; }
 body[data-family="admission"] .admission-links--icons > a:last-child { grid-column:1/-1; }
}
@media(prefers-reduced-motion:reduce) {
 body[data-family="admission"] .admission-links--icons > a,body[data-family="admission"] .admission-links--icons .admission-nav-icon { transition:none; }
}

/* Mantém os contatos dentro dos cartões em telas estreitas. */
body .course-contact-links { min-width:0; max-width:100%; }
