/* Two adjacent 48px section insets form a consistent 96px content gap. */
.course-design {
  --course-section-gap: 96px;
  --course-section-inset: calc(var(--course-section-gap) / 2);
  --course-heading-gap: 32px;
  --course-block-gap: 24px;
  --course-lead-gap: 12px;
}
.course-design .notion-page-content { padding-bottom: 0 !important; }
.course-design .course-section {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: stretch;
  width: 100%;
  min-width: 0;
  box-sizing: border-box;
  margin-block: 0 !important;
  padding-block: var(--course-section-inset);
}
.course-design .course-section > :is(.notion-header-block,.notion-sub_header-block,.notion-sub_sub_header-block,.notion-text-block,.notion-column_list-block,.notion-callout-block,.notion-transclusion_reference-block):not(.course-heading-block,.course-subheading-block,[data-course-lead]) { margin-block: 0 !important; }
.course-design .course-layout-spacer { display: none !important; }
.course-design .course-layout-anchor {
  position: absolute;
  top: 0;
  left: 0;
  width: 0 !important;
  height: 0 !important;
  min-height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: visible;
}
.course-design .course-layout-anchor * { margin: 0 !important; padding: 0 !important; min-height: 0 !important; height: 0 !important; }
.course-design .course-layout-anchor [id] { display: block; scroll-margin-top: 150px; }
.course-design .course-heading-block {
  margin: 0 0 var(--course-heading-gap) !important;
  padding-block: 0 !important;
}
.course-design .course-heading-block h2,
.course-design h2.course-heading-block { margin: 0 !important; padding: 0 !important; }
.course-design .course-heading-wrapper { margin-block: 0 !important; }
.course-design .course-empty-heading-column { display: none !important; }
.course-design .course-coding-body-column { width: 100% !important; min-width: 0; }
.course-design .course-heading-with-lead { margin-bottom: var(--course-lead-gap) !important; }
.course-design [data-course-lead] { margin: 0 0 var(--course-heading-gap) !important; padding-block: 0 !important; }
.course-design [data-course-lead] [data-root] { padding-block: 0 !important; }
.course-design .course-subheading-block { margin: 0 0 var(--course-block-gap) !important; }
.course-design .course-section.course-section--intro > .notion-callout-block { margin-top: var(--course-block-gap) !important; }
.course-design .course-section--curriculum > .notion-callout-block + .notion-callout-block { margin-top: 12px !important; }
.course-design .course-section--missions > .roadmapSelector { margin: 0 0 var(--course-block-gap) !important; }
.course-design .course-section--missions > .notion-divider-block { margin-block: var(--course-block-gap) 12px !important; }
.course-design .course-section--routine > .notion-transclusion_reference-block:last-child { margin-top: var(--course-block-gap) !important; }
.course-design .course-benefits-grid { margin-top: 0 !important; row-gap: 64px; }
.course-design .course-overview { padding-bottom: var(--course-section-inset); }
.course-design .course-overview-details { margin-top: var(--course-section-gap); }
.course-design .fs-curriculum.course-section {
  display: block;
  width: var(--fs-curri-viewport,100%);
  flex: 0 0 auto;
  padding: var(--course-section-inset) 24px;
}
.course-design .fs-curri-head { margin-bottom: var(--course-heading-gap); }
.course-design .fs-curri-head .course-heading-block { margin-bottom: 0 !important; }
.course-design .fs-curri-eyebrow { margin-bottom: var(--course-lead-gap); }
.course-design .course-section--review { align-items: center; padding-block: 0; }
.course-design .course-review-band {
  width: var(--course-viewport-width,100vw);
  max-width: none;
  box-sizing: border-box;
  padding: var(--course-section-inset) 24px;
}
.course-design .course-review-band > .wide-div-y { width: min(1008px,100%); padding: 0; }
.course-design .course-learning-spaces { padding-block: 0; }
.course-design .course-learning-spaces > h2 { margin-bottom: var(--course-heading-gap) !important; }
.course-design .course-activity-sketch,
.course-design .course-faq { margin-block: 0; padding-block: var(--course-section-inset); }
.course-design .course-activity-sketch h2 { margin-bottom: var(--course-heading-gap) !important; }
.course-design .course-faq .faq-head { margin-bottom: var(--course-heading-gap); }
.course-design .course-faq .faq-head h2 { margin-bottom: 0 !important; }
@media (max-width: 1000px) and (min-width: 701px) {
  .course-design { --course-section-gap: 80px; }
}
@media (max-width: 700px) {
  .course-design { --course-section-gap: 64px; --course-heading-gap: 24px; --course-block-gap: 20px; }
  .course-design .course-benefits-grid { row-gap: 40px; }
  .course-design .course-review-band { padding-inline: 24px; }
}

/* Notion's original 480px breakpoint leaves narrow phones/tablets in desktop columns.
   Keep these text-heavy columns readable across the shared mobile navigation range. */
@media (max-width: 1100px) {
  .local-course.course-design .notion-page-content.padding {
    padding-inline: 24px !important;
  }
  .course-design .course-section .css-jjk7pl { max-width: 100%; }
}
@media (min-width: 901px) and (max-width: 1100px) {
  .course-design .course-section .notion-column_list-block { max-width: 100%; }
  .course-design .course-section .notion-column_list-block:has(> div > div:nth-child(5)) > div {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 24px;
    width: 100%;
  }
  .course-design .course-section .notion-column_list-block:has(> div > div:nth-child(5)) > div > div:has(> .notion-column-block) {
    width: 100% !important;
    min-width: 0;
  }
  .course-design .course-section .notion-column_list-block:has(> div > div:nth-child(5)) > div > div:empty {
    display: none !important;
  }
}
@media (max-width: 900px) {
  .course-design .course-section .notion-column_list-block {
    display: block;
    width: 100%;
    max-width: 100%;
    min-width: 0;
  }
  .course-design .course-section .notion-column_list-block > div {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: var(--course-block-gap);
    width: 100%;
    min-width: 0;
  }
  .course-design .course-section .notion-column_list-block > div > div:has(> .notion-column-block) {
    width: 100% !important;
    min-width: 0;
    max-width: 100%;
    padding: 0 !important;
    margin: 0 !important;
  }
  .course-design .course-section .notion-column_list-block > div > div:empty {
    display: none !important;
  }
  .course-design .course-section .notion-column-block {
    width: 100%;
    min-width: 0;
  }
  .course-design .course-section .notion-quote-block + .notion-quote-block {
    margin-top: var(--course-block-gap);
  }
  .course-design .oopy-slide-indicator {
    display: grid !important;
    grid-template-columns: repeat(6, minmax(0, 1fr));
    width: 100%;
    max-width: 360px;
    margin-inline: auto;
  }
  .course-design [data-course-slide-dot] {
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 44px;
  }
  .course-design .course-section--hackathon .notion-column_list-block:has(.hackathon-photo) {
    margin-bottom: var(--course-block-gap) !important;
  }
  .course-design .course-section--hackathon .notion-column-block:has(.hackathon-side-photo) {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
  }
  .course-design .course-section--hackathon .notion-column-block:has(.hackathon-photo,.hackathon-side-photo) > .notion-text-block {
    display: none;
  }
  .course-design .course-section--hackathon .notion-image-block {
    margin: 0 !important;
    min-width: 0;
  }
  .course-design .course-section--hackathon :is(.hackathon-photo,.hackathon-side-photo) {
    width: 100% !important;
    margin: 0;
  }
}
