/* Páginas institucionais e de conteúdo */
.content-hero { position: relative; overflow: hidden; background: linear-gradient(120deg, #092650 0%, #123a73 58%, #0c2f5f 100%); padding: 5.5rem 0 8.5rem; }
.content-hero::after { content: ''; position: absolute; width: 34rem; height: 34rem; border: 56px solid rgba(255,255,255,.045); border-radius: 50%; right: -14rem; top: -18rem; }
.content-hero__inner { position: relative; z-index: 1; max-width: 70rem; margin: 0 auto; padding: 0 1.5rem; text-align: center; }
.content-eyebrow { display: inline-flex; align-items: center; gap: .5rem; color: #ff6b1a; letter-spacing: .14em; text-transform: uppercase; font-size: .72rem; font-weight: 800; }
.content-eyebrow::before { content: ''; width: 2rem; height: 2px; background: currentColor; }
.content-title { max-width: 50rem; margin: 1rem auto 0; color: #fff; font: 800 clamp(2.3rem, 5vw, 4.1rem)/1.08 Montserrat, sans-serif; letter-spacing: -.04em; }
.content-lead { max-width: 44rem; margin: 1.35rem auto 0; color: #d9e5f4; font-size: clamp(1rem, 1.8vw, 1.18rem); line-height: 1.7; }
.content-shell { max-width: 74rem; margin: -4.5rem auto 0; padding: 0 1.5rem 5rem; position: relative; z-index: 2; }
.content-breadcrumb { color: #8da0bb; font-size: .8rem; margin: 0 0 1.25rem .25rem; }
.content-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1.25rem; }
.content-card { min-height: 17rem; padding: 2rem; background: #fff; border: 1px solid #e7edf5; border-radius: 1.25rem; box-shadow: 0 1rem 2.5rem rgba(15,45,89,.08); transition: transform .25s ease, box-shadow .25s ease; }
.content-card:hover { transform: translateY(-.35rem); box-shadow: 0 1.25rem 3rem rgba(15,45,89,.13); }
.content-card__icon { display: grid; place-items: center; width: 2.8rem; height: 2.8rem; margin-bottom: 1.5rem; border-radius: .8rem; color: #f26522; background: #fff0e8; }
.content-card__title { margin: 0 0 .8rem; color: #0f2d59; font: 800 1.15rem/1.3 Montserrat, sans-serif; }
.content-card__text { margin: 0; color: #566b88; line-height: 1.7; font-size: .94rem; }
.content-cta { margin-top: 2rem; padding: 2.25rem; border-radius: 1.25rem; text-align: center; color: #fff; background: #0f2d59; box-shadow: 0 1rem 2.5rem rgba(15,45,89,.14); }
.content-cta p { color: #c8d6e8; margin: .65rem 0 1.35rem; }
.content-cta__button { display: inline-flex; align-items: center; gap: .6rem; border: 0; cursor: pointer; border-radius: .7rem; padding: .9rem 1.3rem; background: #f26522; color: #fff; font-weight: 800; transition: background .2s ease, transform .2s ease; }
.content-cta__button:hover { background: #d95316; transform: translateY(-2px); }
@media (max-width: 800px) { .content-hero { padding: 4rem 0 6rem; } .content-shell { margin-top: -2.5rem; padding: 0 1rem 3.5rem; } .content-grid { grid-template-columns: 1fr; } .content-card { min-height: auto; padding: 1.5rem; } }

/* Catálogo de cursos: regras explícitas para não depender de classes ausentes no build. */
.catalog-section { padding: 3rem 0 4rem; margin-top: -2rem; position: relative; z-index: 10; }
.catalog-layout { display: grid; grid-template-columns: minmax(0, 1fr); gap: 2rem; }
.catalog-sidebar > div { position: static; }
.catalog-grid { display: grid; grid-template-columns: 1fr; gap: 1.5rem; }
@media (min-width: 640px) { .catalog-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (min-width: 768px) { .catalog-filter-form { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)) 10rem; gap: 1rem; align-items: end; } .catalog-filter-form > div { margin: 0; } .catalog-filter-actions { display: grid; grid-template-columns: 1fr; gap: .5rem; padding: 0; border: 0; } }
@media (min-width: 1024px) { .catalog-layout { display: block; } .catalog-sidebar { margin-bottom: 2rem; } .catalog-sidebar > div { position: static; } .catalog-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
