/* Course first, sponsored posts second, apps as a quiet directory link. */
.course-section .section-heading { margin-bottom: 36px; }
.course-feature { display: grid; grid-template-columns: 1.1fr 1fr; border: 1px solid var(--line); background: #fff; }
.course-copy { padding: clamp(28px,4vw,56px); align-self: center; min-width: 0; }
.course-copy > .eyebrow { font-size: .6875rem; letter-spacing: .09em; }
.course-copy h3 { font-size: clamp(1.9rem,3.2vw,3rem); line-height: 1.45; margin: 20px 0; letter-spacing: -.045em; }
.course-copy .course-promise { font-size: 1.0625rem; font-weight: 600; color: var(--ink); margin-bottom: 16px; text-wrap: balance; }
.course-description { font-size: .9375rem; line-height: 2; color: var(--sub); }
.course-facts { display: flex; flex-wrap: wrap; gap: 8px 18px; margin: 24px 0 0; padding: 18px 0; list-style: none; border-block: 1px solid var(--line); font-size: .75rem; font-weight: 500; }
.course-copy .actions { gap: 18px 24px; margin-top: 28px; }
.course-copy .text-link { font-size: .8125rem; }
.course-visual { position: relative; min-width: 0; min-height: 480px; background: #eceae4; overflow: hidden; isolation: isolate; }
.course-scene { position: absolute; width: 100%; height: 100%; object-fit: cover; object-position: 60% center; z-index: -2; }
.course-visual::after { content: ''; position: absolute; inset: 0; z-index: -1; background: linear-gradient(180deg,transparent 25%,#26241e88 100%); }
.course-materials { position: absolute; inset: auto 8% 42px; display: flex; justify-content: center; align-items: flex-end; gap: 12px; }
.course-materials img { width: calc((100% - 24px)/3); height: auto; box-shadow: 6px 10px 22px #0004; transition: transform .6s cubic-bezier(.16,1,.3,1); }
.course-materials img:first-child { transform: rotate(-6deg) translateY(-12px); }
.course-materials img:last-child { transform: rotate(6deg) translateY(-7px); }
.course-visual figcaption { position: absolute; bottom: 15px; left: 20px; right: 20px; color: #fff; text-align: center; font-size: .625rem; letter-spacing: .04em; }
.sponsor-entry { display: grid; grid-template-columns: 160px 1fr auto; gap: 28px; align-items: center; padding: 30px 32px; margin-top: 18px; background: var(--soft); border-left: 3px solid var(--red); }
.sponsor-entry .eyebrow { font-size: .625rem; }
.sponsor-entry h3 { font-size: 1.2rem; line-height: 1.6; margin-bottom: 6px; }
.sponsor-entry p:not(.eyebrow) { color: var(--sub); font-size: .8125rem; line-height: 1.9; }
.sponsor-entry > span { display: flex; align-items: center; gap: 20px; font-size: .8125rem; font-weight: 600; }
.sponsor-entry b { font-weight: 400; font-size: 1.3rem; transition: translate .35s cubic-bezier(.16,1,.3,1); }
.apps-teaser { display: flex; flex-wrap: wrap; align-items: center; gap: 12px 24px; margin-top: 28px; padding: 20px 0 0; border-top: 1px solid var(--line); }
.apps-teaser > p:first-child { font-size: .6875rem; font-weight: 600; letter-spacing: .06em; }
.apps-teaser .apps-names { color: var(--sub); font-size: .75rem; line-height: 1.9; }
.apps-teaser .text-link { margin-left: auto; font-size: .75rem; }
@media(hover:hover) and (pointer:fine) {
  .course-visual:hover .course-materials img { transform: translateY(-6px); }
  .sponsor-entry:hover h3,.sponsor-entry:hover > span { color: var(--red); }
  .sponsor-entry:hover b { translate: 3px -3px; }
}
@media(max-width:1100px) {
  .course-copy { padding: 32px; }
  .course-copy .actions { align-items: flex-start; flex-direction: column; gap: 20px; }
  .sponsor-entry { grid-template-columns: 1fr auto; gap: 14px 24px; }
  .sponsor-entry > .eyebrow { grid-column: 1/-1; }
}
@media(max-width:760px) {
  .course-section .section-heading > p:last-child { justify-self: stretch; margin: 20px 0 0; max-width: none; text-align: left; }
  .course-feature { grid-template-columns: 1fr; }
  .course-visual { height: 290px; min-height: 0; }
  .course-materials { inset: auto auto 34px 50%; width: min(66%,300px); transform: translateX(-50%); gap: 12px; }
  .course-copy { padding: 28px; }
  .course-copy h3 { font-size: 1.9rem; margin-block: 16px; }
  .course-copy .course-promise { font-size: .9375rem; }
  .course-description { font-size: .875rem; }
  .course-facts { font-size: .6875rem; gap: 6px 15px; margin-top: 20px; }
  .course-copy .actions { margin-top: 24px; }
  .course-copy .button { width: 100%; }
  .sponsor-entry { display: block; padding: 24px; }
  .sponsor-entry h3 { font-size: 1.125rem; margin-top: 12px; }
  .sponsor-entry > span { margin-top: 18px; justify-content: space-between; }
  .apps-teaser { gap: 7px 16px; margin-top: 24px; }
  .apps-teaser .apps-names { flex-basis: 100%; order: 3; }
  .apps-teaser .text-link { font-size: .6875rem; }
}
@media(max-width:360px) {
  .course-copy { padding: 24px; }
  .course-copy h3 { font-size: 1.7rem; }
  .course-visual { height: 250px; }
}
@media(prefers-reduced-motion:reduce) {
  .course-materials img,.sponsor-entry b { transition: none; }
  .course-visual:hover .course-materials img,.sponsor-entry:hover b { transform: none; translate: none; }
}
body.motion-off .course-materials img,body.motion-off .sponsor-entry b { transform: none; translate: none; }
