/* Reusable bonus section: include after the course facts, before the page outline. */
.bonus-showcase{margin-block:30px 26px;padding:28px 30px 30px;background:#f3f7f1;border:1px solid #dde7d5;border-top:3px solid #91b32f;border-radius:5px;scroll-margin-top:24px}.bonus-section-heading{display:flex;align-items:center;gap:20px;justify-content:space-between;margin-bottom:13px}.bonus-section-heading h2{font-family:Georgia,'Times New Roman',serif;font-size:32px;font-weight:400;letter-spacing:-.8px;line-height:1.25}.bonus-count{font-size:11px;letter-spacing:.4px;color:#526d27;padding:5px 11px;border:1px solid #d4e0c5;border-radius:3px;white-space:nowrap}.bonus-intro{font-size:14px;color:#536d65;line-height:1.8;max-width:940px}.bonus-intro p{margin:0 0 20px}.bonus-intro:empty{display:none}.bonus-tiles{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:15px;align-items:start}.bonus-tile{position:relative;background:white;border:1px solid #dce5d9;border-radius:4px;padding:23px 20px 0;min-width:0}.bonus-number{position:absolute;right:16px;top:18px;font-size:10px;color:#506b27;font-variant-numeric:tabular-nums}.bonus-tile h3{margin:0;font-weight:500;line-height:1.4;min-height:119px}.bonus-kicker{display:block;font-size:9px;letter-spacing:1px;color:#506b27;margin:0 24px 15px 0;font-weight:650}.bonus-name{display:block;font-size:19px;line-height:1.4;letter-spacing:-.3px;overflow-wrap:break-word}.bonus-details{border-top:1px solid #e4ebe1;margin-top:15px}.bonus-details summary{display:flex;justify-content:space-between;align-items:center;gap:12px;min-height:51px;list-style:none;font-size:12px;color:#537144;cursor:pointer}.bonus-details summary::-webkit-details-marker{display:none}.bonus-details summary>span{font-size:22px;font-weight:300;color:#506b27}.bonus-details[open] summary>span{transform:rotate(45deg)}.bonus-description{font-size:14px;line-height:1.85;color:#536d74;padding:4px 0 20px;overflow-wrap:anywhere}.bonus-description p{margin:0 0 14px}.bonus-description p:last-child{margin:0}.bonus-description a{color:#147ca7;text-decoration:underline;text-underline-offset:3px}.bonus-description h5{font-size:14px;line-height:1.85;font-weight:400;margin:0 0 14px}
@media(max-width:1050px){.bonus-tiles{grid-template-columns:repeat(2,minmax(0,1fr))}.bonus-tile h3{min-height:91px}}
@media(max-width:580px){.bonus-showcase{padding:23px 20px;margin-block:23px}.bonus-section-heading h2{font-size:28px}.bonus-intro{font-size:14px}.bonus-tiles{grid-template-columns:1fr;gap:12px}.bonus-tile{padding:20px 20px 0}.bonus-tile h3{min-height:0}.bonus-kicker{margin-bottom:10px}.bonus-name{font-size:19px}.bonus-details{margin-top:18px}.bonus-details summary{min-height:48px}.bonus-count{font-size:10px}.bonus-section-heading{gap:10px}}

/* A single bonus uses the full available width, with compact proportions. */
.bonus-showcase--single .bonus-tiles{grid-template-columns:minmax(0,1fr)}
.bonus-showcase--single .bonus-tile{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:32px;padding:24px}
.bonus-showcase--single .bonus-tile h3{min-height:0;padding-right:15px}
.bonus-showcase--single .bonus-details{margin:0;border-top:0;border-left:1px solid #e4ebe1;padding-left:28px}
.bonus-showcase--single .bonus-details summary{padding-right:25px}
.bonus-showcase--single .bonus-description{padding-bottom:0}
@media(max-width:700px){.bonus-showcase--single .bonus-tile{grid-template-columns:minmax(0,1fr);gap:18px;padding:20px}.bonus-showcase--single .bonus-details{border-left:0;border-top:1px solid #e4ebe1;padding-left:0}.bonus-showcase--single .bonus-details summary{padding-right:0}}

.bonus-showcase--three .bonus-tiles{grid-template-columns:repeat(3,minmax(0,1fr));align-items:stretch}
.bonus-showcase--three .bonus-tile h3{min-height:100px}
@media(max-width:700px){.bonus-showcase--three .bonus-tiles{grid-template-columns:minmax(0,1fr)}.bonus-showcase--three .bonus-tile h3{min-height:0}.bonus-showcase--three .bonus-tile{padding-bottom:20px}.bonus-showcase--three .bonus-details{margin-bottom:-20px}}

.bonus-title-link{display:block;color:inherit;font-size:inherit!important;line-height:inherit!important;text-decoration:none}.bonus-title-link:hover .bonus-name{text-decoration:underline;text-underline-offset:4px}.bonus-course-link{display:flex;justify-content:space-between;gap:15px;margin-top:auto;padding-top:18px;border-top:1px solid #dce6d3;color:#405f27;font-size:14px;text-decoration:underline;text-underline-offset:3px}.bonus-title-link:focus-visible,.bonus-course-link:focus-visible{outline:3px solid #086789;outline-offset:4px}

/* One shared card layout on every course page. */
.bonus-showcase.bonus-showcase--consistent .bonus-tiles{align-items:stretch}
.bonus-showcase.bonus-showcase--consistent .bonus-tile{display:flex;flex-direction:column;padding:23px 20px 20px;min-height:218px}
.bonus-showcase.bonus-showcase--consistent .bonus-tile h3{min-height:100px;margin:0 0 20px;font-weight:500}
.bonus-showcase.bonus-showcase--consistent .bonus-name{text-transform:uppercase;font-size:19px;line-height:1.4;letter-spacing:-.3px}
.bonus-showcase.bonus-showcase--consistent .bonus-summary{font-size:13px;line-height:1.65;color:#52656d;margin:0 0 16px}
.bonus-showcase.bonus-showcase--consistent .bonus-course-link,.bonus-showcase.bonus-showcase--consistent .bonus-details{margin-top:auto;border-top:1px solid #dce6d3}
.bonus-showcase.bonus-showcase--consistent .bonus-course-link{min-height:52px;align-items:center;padding:14px 0 0;font-size:14px;color:#405f27}
.bonus-showcase.bonus-showcase--consistent .bonus-details summary{min-height:52px;padding-top:14px;font-size:14px;color:#405f27}
.bonus-showcase.bonus-showcase--consistent .bonus-kicker{font-size:9px;line-height:1.4;letter-spacing:1px;margin-bottom:15px}
@media(max-width:580px){.bonus-showcase.bonus-showcase--consistent .bonus-tile{min-height:0;padding:20px}.bonus-showcase.bonus-showcase--consistent .bonus-tile h3{min-height:0;margin-bottom:26px}.bonus-showcase.bonus-showcase--consistent .bonus-name{font-size:19px}}
