/* The /academy/ and /muniopen/ pages on the Family home's DL2 language (Will 10-19 04:08Z).
   launch-family.css draws the header, hero, bands, cards, close band and footer under #lp-family;
   this file only adds the few pieces those pages carry that the Family home does not, scoped to #lp-sub.
   DL2 tokens only (declared on #lp-family), no raw colours. */

/* Academy cards carry no video, so the Family card grid keeps three rows: head, line, link. */
#lp-sub .lp-sub__cards { grid-template-rows: auto 1fr auto; row-gap: 16px; }
#lp-sub .lp-sub__cards .fu__card { grid-row: span 3; }
#lp-sub .lp-sub__cards .fu__card .f-k { margin: 0; }

/* The C30 sessions line under the band head. */
#lp-sub .lp-sub__line { margin: 16px 0 0; font-size: 14px; line-height: 20px; font-weight: 600; color: var(--dl-ink); }

/* Session cards (or the one teach-in card). */
#lp-sub .lp-sub__sessions { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; }
#lp-sub .lp-sub__card { display: flex; flex-direction: column; gap: 8px; padding: 20px; border: 1px solid var(--dl-rule); border-radius: var(--dl-r-card); background: var(--dl-surface); }
#lp-sub .lp-sub__card--wide { grid-column: 1 / -1; flex-direction: row; flex-wrap: wrap; align-items: center; justify-content: space-between; }
#lp-sub .lp-sub__t { margin: 0; font-family: var(--dl-font-display); font-size: 20px; line-height: 28px; font-weight: 600; color: var(--dl-ink); }
#lp-sub .lp-sub__meta { margin: 0; font-size: 13px; line-height: 20px; color: var(--dl-muted); }

/* An offer card: copy on the left, its one action on the right. */
#lp-sub .lp-sub__offer { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); column-gap: 16px; row-gap: 24px; align-items: center; padding: 40px; border: 1px solid var(--dl-rule); border-radius: var(--dl-r-card); background: var(--dl-surface); }
#lp-sub .f-band--page .lp-sub__offer { background: var(--dl-surface); }
#lp-sub .lp-sub__copy { grid-column: 1 / span 8; display: flex; flex-direction: column; gap: 12px; }
#lp-sub .lp-sub__copy .fu__id, #lp-sub .lp-sub__copy .fu__t, #lp-sub .lp-sub__copy .fu__p { padding: 0; }
#lp-sub .lp-sub__copy h2 { margin: 0; font-family: var(--dl-font-display); font-size: 36px; line-height: 44px; font-weight: 600; color: var(--dl-ink); }
#lp-sub .lp-sub__copy p { margin: 0; font-size: 16px; line-height: 26px; color: var(--dl-text); }
#lp-sub .lp-sub__copy .f-k { font-size: 11px; line-height: 16px; color: var(--dl-muted); }
#lp-sub .lp-sub__copy .lp-sub__meta { font-size: 13px; line-height: 20px; color: var(--dl-muted); }
#lp-sub .lp-sub__acts { grid-column: 9 / span 4; display: flex; justify-content: flex-end; }

/* The close band's inline host link. */
#lp-sub .fc .f-dek a { color: var(--dl-action); font-weight: 600; text-underline-offset: 3px; }

@media (max-width: 1099.98px) {
  #lp-sub .lp-sub__copy, #lp-sub .lp-sub__acts { grid-column: 1 / -1; }
  #lp-sub .lp-sub__acts { justify-content: flex-start; }
}

@media (max-width: 639.98px) {
  #lp-sub .lp-sub__cards { grid-template-rows: none; }
  #lp-sub .lp-sub__cards .fu__card { grid-row: auto; }
  #lp-sub .lp-sub__sessions, #lp-sub .lp-sub__offer { grid-template-columns: minmax(0, 1fr); }
  #lp-sub .lp-sub__offer { padding: 24px; }
  #lp-sub .lp-sub__copy h2 { font-size: 28px; line-height: 34px; }
  #lp-sub .lp-sub__acts .f-btn { width: 100%; }
}

/* Card link lists, the proof line, the AI band and the two-card MuniOpen row. */
#lp-sub .lp-sub__links { display: flex; flex-wrap: wrap; gap: 0 24px; margin: 0; padding: 0; list-style: none; }
#lp-sub .lp-sub__cards { grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); }
#lp-sub .lp-sub__cards .fu__card .fu__t { padding: 0; }
#lp-sub .lp-sub__proof { display: flex; flex-wrap: wrap; gap: 8px 32px; margin: 32px 0 0; padding: 16px 0 0; border-top: 1px solid var(--dl-rule); list-style: none; font-size: 14px; line-height: 20px; font-weight: 600; color: var(--dl-ink); }
#lp-sub .lp-sub__ai { display: flex; align-items: center; gap: 24px; max-width: 880px; }
#lp-sub .lp-sub__ai p { margin: 0; font-family: var(--dl-font-display); font-size: 24px; line-height: 32px; color: var(--dl-ink); }
#lp-sub .lp-sub__pair { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
#lp-sub .lp-sub__pair .fu__card { display: flex; flex-direction: column; gap: 12px; }
#lp-sub .lp-sub__extra { font-weight: 600; color: var(--dl-ink); }
#lp-sub .f-band--page .lp-sub__offer, #lp-sub #showcase .lp-sub__offer { margin-top: 16px; }

@media (max-width: 639.98px) {
  #lp-sub .lp-sub__pair { grid-template-columns: minmax(0, 1fr); }
  #lp-sub .lp-sub__ai { flex-direction: column; align-items: flex-start; }
  #lp-sub .lp-sub__ai p { font-size: 20px; line-height: 28px; }
}

/* /academy/ on the hub's ACAD_BRAND frame (launch board v12, frame_l20). Cards on even rows: the live row
   (3 across, 2 on halves, 1 full) and the Coming row on halves; the C73-less 2 + 2 keeps one width. */
#lp-sub[data-page="academy"] .ac-hero .fh__ai { font-size: 20px; line-height: 30px; }
#lp-sub[data-page="academy"] .ac-cards { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); gap: 16px; }
#lp-sub[data-page="academy"] .ac-card { grid-column: span 6; display: flex; flex-direction: column; gap: 12px; padding: 0 0 24px; overflow: hidden; border: 1px solid var(--dl-rule); border-radius: var(--dl-r-card); background: var(--dl-surface); }
/* each card opens on its 16:10 capture, flush to the card's edges (frame .ac-card .sa-pic) */
#lp-sub[data-page="academy"] .ac-card .sa-pic { position: relative; aspect-ratio: 16 / 10; overflow: hidden; border-bottom: 1px solid var(--dl-rule); background: var(--dl-page); }
#lp-sub[data-page="academy"] .ac-card .sa-pic img { display: block; width: 100%; height: 100%; object-fit: cover; object-position: top left; }
#lp-sub[data-page="academy"] .ac-cards--n3 .ac-card:not(.ac-card--coming) { grid-column: span 4; }
#lp-sub[data-page="academy"] .ac-cards--n1 .ac-card:not(.ac-card--coming) { grid-column: 1 / -1; }
#lp-sub[data-page="academy"] .ac-card__id { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 12px; margin: 8px 24px 0; }
#lp-sub[data-page="academy"] .ac-card__t { margin: 0; font-family: var(--dl-font-display); font-size: 22px; line-height: 28px; font-weight: 600; color: var(--dl-ink); }
#lp-sub[data-page="academy"] .ac-card__p { margin: 0 24px; font-size: 15px; line-height: 24px; color: var(--dl-text); }
#lp-sub[data-page="academy"] .ac-proof-band { padding: 64px 0; }
#lp-sub[data-page="academy"] .ac-proof { margin: 0; padding-top: 24px; border-top: 2px solid var(--dl-action); font-family: var(--dl-font-display); font-size: 28px; line-height: 38px; font-weight: 600; color: var(--dl-ink); }
#lp-sub[data-page="academy"] .ac-proof__fn { margin: 16px 0 0; font-size: 12px; line-height: 18px; color: var(--dl-muted); }
#lp-sub[data-page="academy"] .ac-ai { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); column-gap: 16px; align-items: center; padding: 32px; border: 1px solid var(--dl-rule); border-radius: var(--dl-r-card); background: var(--dl-surface); }
#lp-sub[data-page="academy"] .ac-ai__id { grid-column: 1 / span 3; display: flex; flex-direction: column; align-items: flex-start; gap: 12px; }
#lp-sub[data-page="academy"] .ac-ai__l { grid-column: 4 / span 9; margin: 0; font-family: var(--dl-font-display); font-size: 24px; line-height: 34px; font-weight: 400; color: var(--dl-ink); }
@media (min-width: 1100px) {
  #lp-sub[data-page="academy"] .ac-cta .fc__copy { grid-column: 1 / span 5; }
  #lp-sub[data-page="academy"] .ac-cta .fc__acts { grid-column: 6 / span 7; }
}
/* Hub pre-check: at tablet widths the three live cards stay three across (span 4), down to 640px. */
@media (min-width: 640px) and (max-width: 1099.98px) {
  #lp-sub[data-page="academy"] .ac-cards--n3 .ac-card:not(.ac-card--coming) { grid-column: span 4; }
}
@media (max-width: 639.98px) {
  #lp-sub[data-page="academy"] .ac-hero .fh__ai { font-size: 18px; line-height: 27px; }
  #lp-sub[data-page="academy"] .ac-cards { grid-template-columns: minmax(0, 1fr); }
  #lp-sub[data-page="academy"] .ac-card, #lp-sub[data-page="academy"] .ac-cards .ac-card:not(.ac-card--coming) { grid-column: 1; }
  #lp-sub[data-page="academy"] .ac-card__id { margin: 4px 20px 0; }
  #lp-sub[data-page="academy"] .ac-card__p { margin: 0 20px; }
  #lp-sub[data-page="academy"] .ac-proof-band { padding: 48px 0; }
  #lp-sub[data-page="academy"] .ac-proof { font-size: 22px; line-height: 30px; }
  #lp-sub[data-page="academy"] .ac-ai { grid-template-columns: minmax(0, 1fr); row-gap: 16px; padding: 24px 20px; }
  #lp-sub[data-page="academy"] .ac-ai__id, #lp-sub[data-page="academy"] .ac-ai__l { grid-column: 1; }
  #lp-sub[data-page="academy"] .ac-ai__l { font-size: 20px; line-height: 29px; }
}
