.courses-promo{display:grid;grid-template-columns:minmax(0,1fr);gap:24px;padding:26px;margin:32px 0;background:#edf6f0;border:1px solid #c2dbce;border-top:4px solid #007b50;border-radius:7px;align-items:center}
.courses-promo-copy,.courses-promo-art{min-width:0}
.courses-promo h2{font-size:2rem;line-height:1.15;margin:12px 0 18px;max-width:24ch}
.courses-promo p{font-size:1rem;line-height:1.65}
.courses-promo .button{margin-top:24px;white-space:normal;max-width:100%;font-size:1rem}
.courses-promo-art{display:grid;justify-items:center;gap:6px;color:#00744b}
.courses-book-art{display:block;width:240px;max-width:100%;height:auto}
.courses-promo-art strong{font:700 1.75rem/1.2 Georgia,serif}
.courses-promo-art span{font-size:1rem}
.courses-catalog-intro{margin-bottom:34px}
.courses-catalog-intro h1{margin:12px 0 20px}
.courses-catalog-intro .lead{font-size:1.125rem;line-height:1.65;max-width:68ch}
.courses-catalog-heading{display:flex;justify-content:space-between;align-items:baseline;gap:16px;flex-wrap:wrap;padding-bottom:18px;border-bottom:1px solid #d4e0dc;margin:32px 0 24px}
.courses-catalog-heading p{font-size:1rem}
.courses-catalog-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,30rem),1fr));gap:26px;align-items:stretch}
.course-catalog-card{display:grid;min-width:0;border:1px solid #c3d8cd;border-radius:7px;background:#fff}
.course-catalog-art{display:grid;place-items:center;gap:4px;padding:24px;background:#edf6f0;border-radius:6px 6px 0 0}
.course-catalog-art>span{font-size:1rem;color:#00744b;font-weight:600;text-align:center}
.course-catalog-copy{display:flex;flex-direction:column;align-items:flex-start;gap:18px;padding:26px;min-width:0}
.course-catalog-copy h3{font-size:1.875rem;line-height:1.18;margin:0}
.course-catalog-copy h3 a:hover{text-decoration:underline;text-underline-offset:4px}
.course-catalog-copy p{font-size:1rem;line-height:1.65;margin:0}
.course-catalog-facts{display:flex;flex-wrap:wrap;gap:10px 20px;font-size:1rem;line-height:1.5;padding:18px 0;border-block:1px solid #d3e3da;list-style:none;width:100%;margin:0}
.course-catalog-copy .button{margin-top:auto;white-space:normal;max-width:100%;font-size:1rem}
.courses-how{padding:28px 0;margin:26px 0}
.courses-how h2{margin-bottom:24px}
.courses-how ol{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,18rem),1fr));gap:24px;list-style:none;counter-reset:step;padding:0}
.courses-how li{counter-increment:step;border-top:2px solid #b9d7c9;padding-top:16px;min-width:0}
.courses-how li strong{display:block;font-size:1.125rem;margin-bottom:12px}
.courses-how li strong:before{content:counter(step) '. ';color:#00744b}
.courses-how p{font-size:1rem;line-height:1.65}
.courses-how>p{margin-top:24px}
.courses-how>p a{display:inline-flex;min-height:44px;align-items:center;text-decoration:underline;text-underline-offset:3px}
@media(min-width:52rem){.courses-promo{grid-template-columns:minmax(0,1fr) minmax(220px,.4fr);padding:36px;gap:40px}.courses-promo h2{font-size:2.25rem}.course-catalog-card:only-child{grid-template-columns:minmax(230px,.55fr) minmax(0,1fr)}.course-catalog-card:only-child .course-catalog-art{border-radius:6px 0 0 6px}.course-catalog-copy{padding:32px}}
@media(max-width:359px){.courses-promo,.course-catalog-copy,.course-catalog-art{padding:20px}}

.course-price-art{display:grid;gap:7px;justify-items:center;padding:18px 22px;background:#00744b;color:#fff;border-radius:6px;width:100%;box-sizing:border-box;text-align:center}.course-price-art span,.course-price-art small{font-size:1rem;line-height:1.5;color:#fff}.course-price-art strong{font:700 1.75rem/1.2 Georgia,serif}

/* The price ribbon overlays the course art without fading its readable text. */
.course-catalog-visual{display:grid;grid-template-columns:minmax(0,1fr);width:100%;min-width:0;border-radius:5px}
.course-catalog-visual>.course-art-image{grid-area:1/1;display:block;width:100%;height:100%;min-height:0;aspect-ratio:3/2;object-fit:cover;border-radius:5px;align-self:stretch}
.course-catalog-visual>.course-price-art{grid-area:1/1;align-self:end;position:relative;margin-top:clamp(110px,15vw,160px);background:rgb(0 93 62 / 78%);border-radius:0 0 5px 5px;padding:16px 18px}
.course-catalog-art{align-content:start}

/* Compact course identifiers and search thumbnails keep the same material. */
.course-visual-compact>.course-price-art{margin-top:90px;padding:12px 10px}
.course-visual-compact>.course-price-art strong{overflow-wrap:normal;word-break:normal}
.result-item .course-catalog-visual>.course-art-image{max-height:none;aspect-ratio:3/2}

@media(min-width:768px){.result-item:has(.course-catalog-visual){grid-template-columns:minmax(220px,.75fr) minmax(0,1.25fr)}}

/* Course catalog account entry, above the availability count. */
.courses-catalog-heading{align-items:flex-end}
.courses-catalog-tools{display:flex;flex-direction:column;align-items:flex-start;gap:2rem;min-width:0;max-width:100%}
.courses-catalog-tools p{margin:0}
.courses-account-link{display:inline-flex;align-items:center;min-height:44px;max-width:100%;font-size:1rem;line-height:1.5;text-decoration:underline;text-underline-offset:3px;white-space:normal}
@media(min-width:52rem){.courses-catalog-tools{align-items:flex-end;text-align:right}}

/* Keep enlarged course titles within their flex column, with Portuguese hyphenation. */
.course-catalog-copy > *{min-width:0;max-width:100%}
.course-catalog-copy h3{width:100%;hyphens:auto;word-break:normal;overflow-wrap:normal}

.courses-promo h2{hyphens:auto;hyphenate-limit-chars:8 3 3;word-break:normal;overflow-wrap:normal}

/* Presentation titles: syllable-aware wrapping only where the free-course presentation exists. */
.academy:has(> .course-free-highlight) > .article-head h1{hyphens:auto;word-break:normal;overflow-wrap:normal}
