/* Catálogo e páginas de curso. A navegação e o conteúdo independem de JavaScript. */
:root{--catalog-accent:#c83c0a;--catalog-soft:#fff2ec}
body{background-image:none}
[id]{scroll-margin-top:96px}
.button:not(.button-light){background:#ca3c08}.button:not(.button-light):hover{background:#a82e04}
.eyebrow{color:var(--catalog-accent)}
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible{outline:3px solid #81320f;outline-offset:4px}
.course-explorer{padding:72px 32px;background:#f5f5f5;border-top:1px solid #e9e9e9}
.explorer-inner,.detail-inner{max-width:1200px;margin:0 auto;position:relative}
.anchor{position:absolute;top:0}
.explorer-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:32px;margin-bottom:32px}
.explorer-heading h1,.explorer-heading h2{font-size:clamp(2rem,3.9vw,3.25rem);font-weight:700;line-height:1.12;margin:0 0 20px;letter-spacing:-.045em}
.explorer-heading strong{color:var(--catalog-accent);font-weight:750}
.explorer-heading p:not(.eyebrow){margin:0;color:#555;line-height:1.65}
.explorer-guide{font-size:.875rem;text-underline-offset:5px;max-width:215px;line-height:1.6;margin-bottom:4px}
.explorer-guide span{display:inline-block;margin-left:8px}
.type-tabs{display:flex;gap:8px;overflow-x:auto;padding:4px 4px 16px;margin:0 -4px 8px;scrollbar-width:thin}
.type-tabs a{white-space:nowrap;display:flex;align-items:center;gap:8px;min-height:48px;padding:12px 16px;border:1px solid #d6d6d6;border-radius:8px;text-decoration:none;font-size:.875rem;font-weight:650;background:#fff}
.type-tabs a span{font-size:.75rem;opacity:.8}.type-tabs a:hover{border-color:#a33109;background:#fff7f3}.type-tabs a:active{background:#ffe5d8}.type-tabs a[aria-current]{background:#242424;color:#fff;border-color:#242424}
.explorer-filters{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;padding:24px;border:1px solid #dfdfdf;background:#fff;border-radius:8px}
.explorer-filters label{display:grid;gap:8px;font-size:.75rem;font-weight:700;min-width:0}
.explorer-filters .search-course{grid-column:span 2}
.explorer-filters input,.explorer-filters select{width:100%;min-width:0;height:48px;border:1px solid #bcbcbc;background:#fff;border-radius:8px;padding:0 12px;font:400 .875rem Inter,system-ui,sans-serif;color:#272727}
.explorer-filters input:hover,.explorer-filters select:hover{border-color:#777}
.explorer-filters .button{align-self:end;gap:16px;font-size:.875rem}
.results-toolbar{display:flex;justify-content:space-between;gap:16px;padding:28px 0 20px;font-size:.875rem;color:#5b5b5b}
.results-toolbar p{margin:0}.results-toolbar strong{color:#242424}.results-toolbar a{color:#a53009;text-underline-offset:3px}
.listing-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.listing-card{min-width:0;background:#fff;border:1px solid #dedede;border-radius:8px;overflow:hidden;display:flex;flex-direction:column;transition:border-color .15s ease,box-shadow .15s ease}
.listing-card:hover{border-color:#d38566;box-shadow:0 8px 24px #2f1d100b}
.listing-photo{aspect-ratio:16/8;position:relative;background:#eaded5;overflow:hidden}
.listing-photo img{display:block;width:100%;height:100%;object-fit:cover}
.listing-level{position:absolute;bottom:16px;left:16px;max-width:calc(100% - 32px);border-radius:4px;padding:5px 8px;background:#fff;color:#333;font-size:.6875rem;font-weight:700;letter-spacing:.02em}
.listing-body{display:flex;flex-direction:column;flex:1;padding:24px}
.listing-area{font-size:.6875rem;letter-spacing:.05em;text-transform:uppercase;color:#6a5145;font-weight:700;margin:0 0 8px}
.listing-card h3{font-size:1.25rem;line-height:1.3;letter-spacing:-.03em;margin:0 0 12px;overflow-wrap:anywhere}
.listing-card h3 a{text-decoration:none}.listing-card h3 a:hover{color:#a53009;text-decoration:underline;text-underline-offset:4px}
.listing-description{color:#5a5a5a;font-size:.8125rem;line-height:1.6;margin:0 0 16px}
.listing-modes{display:flex;gap:6px;flex-wrap:wrap;margin:auto 0 16px;padding-top:8px}
.listing-modes span{font-size:.6875rem;background:#f5f5f5;border-radius:4px;padding:4px 7px;color:#4b4b4b}
.listing-facts{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:0;border-top:1px solid #eee;padding-top:16px}
.listing-facts dt{color:#636363;font-size:.6875rem}.listing-facts dd{margin:4px 0 0;font-size:.8125rem;font-weight:600}
.listing-provider{color:#666;font-size:.6875rem;margin:16px 0}
.listing-bottom{display:flex;gap:16px;align-items:end;justify-content:space-between;border-top:1px solid #eee;padding-top:16px}
.listing-bottom>div>span{display:block;font-size:.625rem;color:#636363;margin-bottom:3px}
.listing-bottom strong{display:block;font-size:1.125rem;white-space:nowrap;font-weight:750;letter-spacing:-.035em}
.listing-bottom small{font-size:.6875rem;font-weight:400;letter-spacing:0;margin-left:3px;color:#636363}
.listing-link{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;white-space:nowrap;font-size:.8125rem;font-weight:700;text-decoration:none;color:#a53009}
.listing-link:hover{text-decoration:underline}.listing-link:active{color:#6f2106}
.catalog-pagination{display:flex;align-items:center;justify-content:center;gap:8px;flex-wrap:wrap;margin:40px 0 24px}
.catalog-pagination a{display:grid;place-items:center;min-width:44px;min-height:44px;padding:8px 12px;border:1px solid #c7c7c7;border-radius:8px;text-decoration:none;font-size:.875rem;background:#fff}
.catalog-pagination a:hover{border-color:#a53009;color:#a53009}.catalog-pagination a:active{background:#fff2ec}.catalog-pagination a[aria-current]{background:#252525;border-color:#252525;color:#fff}
.page-gap{padding:8px}.catalog-conditions{font-size:.75rem;color:#666;line-height:1.7;max-width:860px;margin:24px auto;text-align:center}
.choose-course{border-top:1px solid #d6d6d6;padding-top:24px;margin-top:32px}.choose-course summary{cursor:pointer;font-size:.875rem;font-weight:650;min-height:32px}.choose-course p{max-width:800px;color:#555;font-size:.875rem;line-height:1.8}
.empty-state{padding:56px 24px}.empty-state h2{font-size:1.5rem;line-height:1.3;margin:0 0 16px}
.detail-intro{background:linear-gradient(120deg,#fff4ee,#fffaf7);padding:32px 32px 0}
.detail-intro .breadcrumbs{flex-wrap:wrap;row-gap:8px;margin-bottom:40px;font-size:.75rem}.breadcrumbs a{padding:8px 0}
.detail-title-grid{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);align-items:center;gap:64px;padding-bottom:48px}
.detail-title-grid h1{font-size:clamp(2rem,4.4vw,3.5rem);line-height:1.1;margin:12px 0 24px;overflow-wrap:anywhere}
.detail-lead{font-size:1rem;line-height:1.7;color:#494949;max-width:620px;margin:0 0 20px}
.detail-provider{font-size:.75rem;line-height:1.7;margin:0;color:#555}.detail-provider strong{font-weight:650}
.detail-photo{aspect-ratio:4/3;border-radius:8px;overflow:hidden;background:#eaded5}.detail-photo img{width:100%;height:100%;display:block;object-fit:cover}
.detail-facts{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:24px;padding:24px 0 32px;margin:0;border-top:1px solid #e4d6cf}
.detail-facts dt{font-size:.75rem;color:#68564c}.detail-facts dd{margin:8px 0 0;font-size:.875rem;font-weight:650}
.detail-content{display:grid;grid-template-columns:minmax(0,760px) minmax(260px,320px);gap:64px;max-width:1264px;padding:64px 32px 72px;margin:auto}
.detail-section{border-bottom:1px solid #dedede;margin:0 0 40px;padding:0 0 40px}
.about-page{max-width:1120px;margin:0 auto;padding:52px 32px 96px}.about-page .breadcrumbs{margin-bottom:40px}.about-page h1{font-size:clamp(2.5rem,5vw,4.5rem);max-width:850px;margin:0 0 20px}.about-lead{font-size:1.2rem;line-height:1.7;color:#45545a;max-width:800px;margin:0 0 56px}.about-grid{display:grid;grid-template-columns:1fr 1fr;gap:48px}.about-grid section{border-top:2px solid #dc6233;padding-top:24px}.about-grid h2{font-size:1.65rem;margin:0 0 16px}.about-grid p{color:#4e5c62;line-height:1.8}.about-grid a{color:#a53009;text-underline-offset:3px}.about-actions{display:flex;flex-wrap:wrap;align-items:center;gap:24px;margin:48px 0 0}
.about-page>p:not(.about-actions){max-width:800px;color:#4e5c62;line-height:1.8}
.catalog-transparency{border-top:1px solid #e9dfd8}.catalog-transparency>div{max-width:820px}.catalog-transparency h2{font-size:clamp(2rem,3.5vw,3.1rem);margin:0 0 24px}.catalog-transparency p:not(.eyebrow){color:#4e5c62;line-height:1.8}
.detail-section h2{font-size:1.75rem;line-height:1.2;margin:0 0 20px;overflow-wrap:anywhere}
.detail-section p{color:#525252;font-size:.9375rem;line-height:1.85;white-space:pre-line}
.detail-section details{border:1px solid #d9d9d9;border-radius:8px;margin-top:12px;background:#fff}
.detail-section summary{padding:20px;cursor:pointer;font-size:.875rem;font-weight:650;line-height:1.6}
.detail-section summary:hover{color:#a53009}.detail-section details p{padding:0 20px 8px;margin-top:0;font-size:.875rem}
.syllabus-list summary span{display:inline-block;margin-left:8px;font-size:.75rem;font-weight:400;color:#666}
.syllabus-list ul{list-style:none;margin:0;padding:0 20px 16px}.syllabus-list li{padding:12px 0;border-top:1px solid #eee;font-size:.875rem;color:#555}
.offer-table-wrap{overflow-x:auto}.offer-table{width:100%;border-collapse:collapse;font-size:.875rem;margin-top:24px}
.offer-table caption{text-align:left;font-size:.75rem;color:#666;margin-bottom:16px}.offer-table th,.offer-table td{text-align:left;padding:16px 8px;border-bottom:1px solid #ddd}.offer-table td:last-child,.offer-table th:last-child{text-align:right}.offer-table thead{background:#f4f4f4}.offer-table tbody th{font-weight:500}
.offer-table .offer-cta{display:inline-flex;align-items:center;justify-content:center;min-height:40px;padding:8px 12px;border-radius:6px;background:#ca3c08;color:#fff;font-size:.75rem;font-weight:700;text-align:center;text-decoration:none;white-space:nowrap}.offer-table .offer-cta:hover{background:#a82e04}
.detail-small{font-size:.75rem!important;color:#666!important;line-height:1.7!important}
.detail-sidebar{align-self:start;position:sticky;top:100px}.enrollment-box{padding:24px;background:#fff;border:1px solid #e2c4b4;border-top:4px solid #f94d12;border-radius:8px}.enrollment-box h2{font-size:1.5rem;margin:12px 0 24px;line-height:1.25}.enrollment-box>p{font-size:.875rem;color:#575757}.enrollment-box .enrollment-price{font-size:2.25rem;line-height:1.2;letter-spacing:-.045em;color:#242424;font-weight:750;margin:8px 0 24px}.enrollment-price span{font-size:.875rem;color:#666;font-weight:400;letter-spacing:0;margin-left:4px}.enrollment-box .button{width:100%;margin:8px 0;gap:12px}
.detail-nav{display:grid;margin-top:24px}.detail-nav a{text-decoration:none;border-bottom:1px solid #dedede;padding:14px 8px;font-size:.8125rem;color:#555}.detail-nav a:hover{color:#a53009}
.source-note{font-size:.75rem;color:#666;line-height:1.8}.related-courses{background:#f4f4f4;padding:64px 32px}.related-courses h2{font-size:2rem;line-height:1.2;margin:0 0 32px}.related-courses .text-link{display:inline-block;margin-top:32px;font-size:.875rem}
@media(max-width:1024px){.listing-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.explorer-heading{align-items:start}.detail-content{gap:32px}.detail-title-grid{gap:32px}.detail-sidebar{position:static}.related-courses .listing-card:last-child{display:none}}
@media(max-width:760px){.course-explorer{padding:48px 20px}.explorer-heading{display:block}.explorer-guide{display:block;margin-top:24px;max-width:none}.explorer-filters{grid-template-columns:repeat(2,minmax(0,1fr));padding:16px;gap:16px}.explorer-filters .button{grid-column:1/-1}.detail-title-grid{grid-template-columns:1fr}.detail-photo{max-height:320px;aspect-ratio:16/9}.detail-facts{grid-template-columns:repeat(2,minmax(0,1fr))}.detail-content{grid-template-columns:1fr;padding:40px 20px;gap:32px}.detail-sidebar{grid-row:1}.detail-nav{display:none}.detail-intro{padding:24px 20px 0}.detail-intro .breadcrumbs{margin-bottom:24px}.detail-title-grid{padding-bottom:32px}.related-courses{padding:48px 20px}.results-toolbar{align-items:start}.results-toolbar p:last-child{text-align:right}.site-header .button-small{display:inline-flex;min-height:44px;font-size:.75rem;padding:0 12px}.site-header{gap:12px}.site-header .brand{min-width:0}}
@media(max-width:760px){.about-page{padding:40px 20px 72px}.about-grid{grid-template-columns:1fr;gap:32px}.about-lead{margin-bottom:40px}}
@media(max-width:560px){.listing-grid{grid-template-columns:1fr}.listing-photo{aspect-ratio:16/8}.listing-body{padding:24px}.listing-card h3{font-size:1.375rem}.listing-description{font-size:.875rem}.listing-bottom strong{font-size:1.25rem}.listing-link{font-size:.875rem}.results-toolbar{font-size:.75rem}.explorer-heading h1,.explorer-heading h2{font-size:2rem}.explorer-heading p:not(.eyebrow){font-size:.875rem}.explorer-filters input,.explorer-filters select{font-size:1rem}.catalog-pagination{gap:6px}.catalog-pagination a{padding:8px;min-width:40px;font-size:.8125rem}.page-gap{padding:2px}.related-courses .listing-card:last-child{display:flex}.detail-section h2{font-size:1.5rem}}
