:root{--focus-ring:#ffd84a;--surface-soft:#f4f8fb;--border-soft:#d7e2ea;--motion:cubic-bezier(.2,.8,.2,1)}
html{scroll-behavior:smooth}
#catalogo{scroll-margin-top:110px}
body{font-family:'Manrope',system-ui,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif}
h1,h2,h3,h4,.button,.nav a{font-family:'Plus Jakarta Sans','Manrope',sans-serif}
.skip-link{position:fixed;left:16px;top:12px;z-index:2000;padding:12px 18px;background:var(--yellow);color:var(--blue-dark);border-radius:10px;font-weight:800;transform:translateY(-180%);transition:transform .2s}
.skip-link:focus{transform:translateY(0)}
:focus-visible{outline:3px solid var(--focus-ring);outline-offset:4px}
.topbar{display:block}.topbar-inner{display:flex;align-items:center;justify-content:space-between}.topbar-actions{display:flex}
.nav a[aria-current='page']:not(.button){color:var(--blue);position:relative}.nav a[aria-current='page']:not(.button)::after{content:'';position:absolute;left:0;right:0;bottom:-9px;height:3px;border-radius:3px;background:var(--yellow)}
.catalog-card,.catalog-card[data-type~='integrado'],.catalog-card[data-type~='noturno'],.catalog-card[data-type~='ead']{border:0;border-top:5px solid var(--blue);border-left:5px solid var(--blue)}
.catalog-card:hover,.catalog-card:focus-visible{border-top-color:var(--blue);border-left-color:var(--blue);background:var(--blue);color:#fff}.catalog-card:hover small,.catalog-card:focus-visible small,.catalog-card:hover>span,.catalog-card:focus-visible>span{color:#fff}
.course-page .button:active,.button:active{transform:translateY(1px) scale(.99)}
.course-page .check-item,.course-page .work-grid article,.course-page .practice-grid article{will-change:transform}.course-page .check-item:hover,.course-page .work-grid article:hover,.course-page .practice-grid article:hover{transform:translateY(-4px)}
.course-context{margin:0 0 22px;padding:14px 18px;border:1px solid var(--border-soft);border-left:5px solid var(--blue);background:var(--surface-soft);border-radius:12px;color:var(--blue-dark)}.course-context strong{color:var(--blue)}
.news-modal-dialog:focus{outline:none}
@media(max-width:900px){.topbar-inner>span{display:none}.topbar-inner{justify-content:flex-end}.nav a[aria-current='page']:not(.button)::after{bottom:-4px}.header .brand img{width:250px;height:72px}}
@media(max-width:600px){.topbar-professor{padding:0 10px;font-size:11px}.topbar-actions{gap:10px!important}.header .brand img{width:215px;height:64px}}

/* Ajuste final do logo: proporção preservada e escala equilibrada */
.header .brand img{width:auto!important;height:56px!important;max-width:230px!important;object-fit:contain!important;object-position:left center!important}
@media(max-width:900px){.header .brand img{width:auto!important;height:52px!important;max-width:215px!important}}
@media(max-width:600px){.header .brand img{width:auto!important;height:46px!important;max-width:185px!important}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
