/* Layout adjustments limited to the free A1/A2 hubs. */
.hero:has(+ .demo-hub-welcome1268) { padding-block: 26px 22px; }
.hero:has(+ .demo-hub-welcome1268) .hero-copy {
  display: grid; grid-template-columns: repeat(2, minmax(0, 1fr));
  column-gap: 36px; align-items: center;
}
.hero:has(+ .demo-hub-welcome1268) .hero-copy > .eyebrow { grid-column: 1; margin-bottom: 12px; }
.hero:has(+ .demo-hub-welcome1268) h1 { grid-column: 1; margin: 0; font-size: clamp(32px, 3.4vw, 44px); }
.hero:has(+ .demo-hub-welcome1268) .lead { grid-column: 2; grid-row: 1 / span 2; margin: 0; max-width: none; padding-inline-start: 28px; border-inline-start: 1px solid #c9dce1; font-size: 17px; }
main > .demo-hub-welcome1268 {
  display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); align-items: start;
  gap: 32px; padding: 24px; margin: 8px 0 32px; text-align: start;
}
.demo-hub-intro1268, .demo-hub-goal1268 { min-width: 0; }
.demo-hub-intro1268 h2 { font-size: 25px; line-height: 1.35; }
.demo-hub-intro1268 > p { max-width: 48ch; }
.demo-hub-intro1268 > .demo-action1259 { margin-top: 10px; }
.demo-hub-goal1268 { border-inline-start: 1px solid #c6dbcf; padding-inline-start: 28px; }
.demo-hub-goal1268 .demo-purpose1259 { margin-top: 0; border-top: 0; padding-top: 0; }
.demo-hub-goal1268 .demo-purpose1259[open] > summary { margin-bottom: 16px; }
.demo-hub-goal1268 .demo-purpose1259 .demo-goals1259 legend {
  position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px;
  overflow: hidden; clip-path: inset(50%); white-space: nowrap;
}
.demo-hub-goal1268 .demo-goals1259 { margin: 0 0 18px; }
.demo-hub-goal1268 .demo-goal-options1259 { display: grid; grid-template-columns: 1fr; gap: 8px; }
.demo-hub-goal1268 .demo-goal-options1259 label { padding: 8px 12px; }
.demo-hub-goal1268 .demo-recs1259 { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; margin-bottom: 0; }
.stage-panel .course-grid .course-card .course-image { height: auto; aspect-ratio: 16 / 9; min-width: 0; }
.stage-panel .course-copy h3 { line-height: 1.35; min-block-size: 2.7em; }
.stage-panel .course-grid[data-count="5"] { grid-template-columns: repeat(6, minmax(0, 1fr)); }
.stage-panel .course-grid[data-count="5"] > .course-card { grid-column: span 2; }
.stage-panel .course-grid[data-count="5"] > .course-card:nth-child(4) { grid-column: 2 / span 2; }
.stage-panel .course-grid[data-count="5"] > .course-card:nth-child(5) { grid-column: 4 / span 2; }
.a2-card-heading1141 { align-items: flex-start; }
.a2-card-heading1141 > div { min-width: 0; }
.a2-card-heading1141 h3, .a2-card-link1141 strong { overflow-wrap: break-word; }
.a2-grid1141:has(> .a2-study-card1141:nth-child(3):last-child) { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.a2-grid1141:has(> .a2-study-card1141:nth-child(3):last-child) > .a2-study-card1141 { grid-column: span 2; }
.a2-grid1141:has(> .a2-study-card1141:nth-child(3):last-child) > .a2-study-card1141:last-child { grid-column: 2 / span 2; }
/* Share the content rows within each card row so long labels do not misalign buttons. */
@supports (grid-template-rows: subgrid) {
  .stage-panel .course-grid > .course-card { display: grid; grid-template-rows: subgrid; grid-row: span 6; row-gap: 0; }
  .stage-panel .course-grid > .course-card > .course-image { grid-row: 1; }
  .stage-panel .course-grid > .course-card > .course-copy { display: grid; grid-template-rows: subgrid; grid-row: 2 / span 5; row-gap: 0; }
  .stage-panel .course-copy > .course-meta { margin-top: 0; }
  .a2-grid1141 > .a2-study-card1141 { display: grid; grid-template-rows: subgrid; grid-row: span 5; row-gap: 0; }
  .a2-grid1141 > .a2-study-card1141 > .a2-card-heading1141 { grid-row: 1; }
  .a2-grid1141 > .a2-study-card1141 > .a2-outcome1141 { grid-row: 2; }
  .a2-grid1141 > .a2-study-card1141 > .a2-card-how1141 { grid-row: 3; }
  .a2-grid1141 > .a2-study-card1141 > .a2-card-bottom1141 { display: grid; grid-template-rows: subgrid; grid-row: 4 / span 2; row-gap: 0; margin-top: 0; }
}
@media (max-width: 950px) and (min-width: 651px) {
  .stage-panel .course-grid[data-count="3"] { grid-template-columns: repeat(4, minmax(0, 1fr)); }
  .stage-panel .course-grid[data-count="3"] > .course-card { grid-column: span 2; }
  .stage-panel .course-grid[data-count="3"] > .course-card:last-child { grid-column: 2 / span 2; }
  .stage-panel .course-grid[data-count="5"] { grid-template-columns: repeat(4, minmax(0, 1fr)); }
  .stage-panel .course-grid[data-count="5"] > .course-card:nth-child(4) { grid-column: span 2; }
  .stage-panel .course-grid[data-count="5"] > .course-card:nth-child(5) { grid-column: 2 / span 2; }
}
@media (max-width: 820px) {
  main > .demo-hub-welcome1268 { grid-template-columns: 1fr; gap: 24px; padding: 22px; }
  .demo-hub-goal1268 { padding-inline-start: 0; padding-top: 20px; border-inline-start: 0; border-top: 1px solid #c6dbcf; }
}
@media (max-width: 740px) {
  .a2-grid1141:has(> .a2-study-card1141:nth-child(3):last-child) { grid-template-columns: 1fr; }
  .a2-grid1141:has(> .a2-study-card1141:nth-child(3):last-child) > .a2-study-card1141,
  .a2-grid1141:has(> .a2-study-card1141:nth-child(3):last-child) > .a2-study-card1141:last-child { grid-column: auto; }
}
@media (max-width: 650px) {
  .hero:has(+ .demo-hub-welcome1268) .hero-copy { grid-template-columns: 1fr; gap: 0; }
  .hero:has(+ .demo-hub-welcome1268) h1 { font-size: 32px; }
  .hero:has(+ .demo-hub-welcome1268) .lead { grid-column: 1; grid-row: auto; padding: 0; border: 0; margin-top: 18px; font-size: 16px; }
  main > .demo-hub-welcome1268 { padding: 20px; margin-bottom: 28px; }
  .demo-hub-intro1268 h2 { font-size: 23px; }
  .demo-hub-goal1268 .demo-recs1259 { grid-template-columns: 1fr; gap: 10px; }
  .stage-panel .course-grid[data-count="5"] { grid-template-columns: 1fr; }
  .stage-panel .course-grid[data-count="5"] > .course-card,
  .stage-panel .course-grid[data-count="5"] > .course-card:nth-child(4),
  .stage-panel .course-grid[data-count="5"] > .course-card:nth-child(5) { grid-column: auto; }
  .stage-panel .course-copy h3 { min-block-size: 0; }
}
