/* Lecithin site's typographic scale, adapted to this course's olive and gold palette. */
body { font-size: 16px; line-height: 1.55; }
.hero h1 { font-size: 3rem; font-weight: 900; line-height: 1.02; letter-spacing: -.055em; }
.section h2 { font-size: clamp(2.35rem, 5vw, 4.2rem); font-weight: 900; line-height: 1; letter-spacing: -.05em; text-wrap: balance; }
.section h3 { font-size: 1.25rem; font-weight: 900; line-height: 1.2; letter-spacing: -.025em; }
.eyebrow { font-size: .78rem; font-weight: 900; letter-spacing: .13em; }
.subtitle, .leadline, .section__text { font-size: 1.125rem; line-height: 1.5; }
.hero__copy, .section p:not(.eyebrow):not(.section__text):not(.leadline):not(.tariff__price):not(.tariff__for):not(.tariff__installment):not(.tariff__note),
.section li { font-size: 1rem; line-height: 1.5; }
.section .tariff__for, .section .tariff__installment { font-size: .875rem; }
.section .tariff__price { font-size: 2rem; }
.section .tariff__note { font-size: .875rem; }
.button, .closing-cta__button { font-size: 1rem; }

/* Content sits consistently within the equally sized cards in every row. */
.original-split { align-items: stretch; }
.original-split__intro { display: flex; flex-direction: column; min-height: 100%; }
.original-photo-frame { position: relative; flex: 1 1 auto; min-height: 300px; aspect-ratio: auto; }
.original-photo-frame img { position: absolute; inset: 0; display: block; width: 100%; height: 100%; object-fit: cover; }
.original-split__list { align-items: stretch; }
.original-split__list li { display: flex; align-items: center; min-height: 65px; padding-block: 12px; }
.original-split__list li::before { top: 50%; transform: translateY(-50%); }
.signal-map, .warning-grid, .topic-grid, .topics-grid, .tariffs { align-items: stretch; }
.signal, .warning-item { display: flex; flex-direction: column; height: 100%; gap: 10px; }
.signal span { flex: 0 0 auto; margin-bottom: 4px; }
.signal h3, .warning-item h3 { margin: 0; }
.signal p, .warning-item p { margin: 0; line-height: 1.5; }
.topic-grid .card { display: flex; flex-direction: column; justify-content: center; align-items: flex-start; gap: 7px; height: 100%; min-height: 145px; padding: 22px 22px 22px 54px; }
.topic-grid .card h3, .topic-grid .card p { margin: 0; }
.topic-grid .card::before { top: 50%; }
.topics-grid .topic-question { height: 100%; align-items: center; gap: 12px; padding: 14px; }
.topic-question__number { flex-shrink: 0; }
.topics-grid .topic-question p { margin: 0; }
.author__panel { gap: 16px; }
.author__panel > * { margin-block: 0; }
.author__panel .check-list { gap: 12px; }
.about-course > div { gap: 18px; }
.about-course > div > * { margin-block: 0; }
.about-course > div .button { align-self: flex-start; }
.metabolism .about-course__visual { border: 2px solid #c8a96a; background: #f4eee2; box-shadow: 0 20px 50px rgba(58,64,43,.15); }
.metabolism .about-course__visual img { transform: none; object-position: 46% center; }
.topics-section .section__head .section__text { margin: 16px 0 0; max-width: 700px; }
.tariff__summary { min-height: 112px; }
.tariff__price { min-height: 48px; }
.tariff__installment { min-height: 42px; }
.tariff__installment--placeholder { visibility: hidden; }
.tariff .check-list { gap: 12px; }
.tariff__actions { margin-top: auto; }

/* Same closing composition as the lecithin Site. */
.closing-cta { padding: 56px 20px; color: #fffaf0; background: #586448; }
.closing-cta__inner {
  display: flex; align-items: center; justify-content: space-between; gap: 28px;
  width: min(100%, 1280px); margin: 0 auto; padding: 40px;
  border: 1px solid rgba(255,255,255,.15); border-radius: 32px;
  background: rgba(255,255,255,.05);
}
.closing-cta__copy { max-width: 770px; }
.closing-cta .eyebrow { margin: 0; color: #dfc27a; }
.closing-cta h2 { max-width: 750px; margin: 12px 0 0; color: #fffaf0; font-size: 2.25rem; font-weight: 900; line-height: 1.2; letter-spacing: -.035em; }
.closing-cta__copy > p:last-child { margin: 16px 0 0; color: rgba(255,255,255,.7); font-size: 1rem; line-height: 1.5; }
.closing-cta__button {
  display: inline-flex; flex: 0 0 auto; align-items: center; justify-content: center;
  min-height: 52px; padding: 12px 28px; border-radius: 12px;
  color: #2f291d; font-weight: 700; text-decoration: none;
  background: linear-gradient(115deg, #ae833c, #f2d991 48%, #bf934a);
  box-shadow: 0 10px 24px rgba(24,34,18,.18);
}
.closing-cta__button:hover { filter: brightness(1.06); }
.closing-cta__button:focus-visible { outline: 3px solid #f2d991; outline-offset: 3px; }
.footer--lecithin { padding: 0; color: rgba(52,53,47,.55); background: #fbf7ef; border-top: 1px solid rgba(52,53,47,.09); }
.footer--lecithin .footer__inner { display: flex; align-items: center; justify-content: space-between; gap: 20px; padding-block: 32px; font-size: .875rem; line-height: 1.5; }
.footer--lecithin p { margin: 0; }
.footer--lecithin p:first-child { flex: 0 0 auto; }
.footer--lecithin p:last-child { max-width: 730px; }

@media (min-width: 640px) { .hero h1 { font-size: 3.75rem; } }
@media (min-width: 1024px) { .hero h1 { font-size: 4.5rem; } }
@media (max-width: 900px) {
  .closing-cta__inner { flex-direction: column; align-items: flex-start; }
  .footer--lecithin .footer__inner { align-items: flex-start; flex-direction: column; }
}
@media (max-width: 760px) {
  .hero h1 { font-size: 3rem; }
  .section h2 { font-size: clamp(2.35rem, 8vw, 3.2rem); }
  .signal, .warning-item { min-height: 0; }
  .original-split__intro { min-height: 0; }
  .original-photo-frame { flex: none; min-height: 0; aspect-ratio: 16 / 11; }
  .topic-grid .card { min-height: 125px; }
  .closing-cta { padding: 48px 20px; }
  .closing-cta__inner { padding: 28px; gap: 24px; }
  .closing-cta h2 { font-size: 1.875rem; }
}
@media (max-width: 480px) {
  .hero h1 { font-size: clamp(2.5rem, 10vw, 3rem); }
  .section h2 { font-size: 2.35rem; }
  .closing-cta__button { width: 100%; }
  .topic-grid .card { padding: 20px 20px 20px 50px; }
}
