/* Presets change presentation only. Defaults intentionally have no overrides. */
.builder-section__intro:empty { display: none; }
.builder-section__intro, .builder-section > .shell > * { min-width: 0; }
.builder-preset--stacked .builder-hero { grid-template-columns: minmax(0, 1fr); }
.builder-preset--stacked .builder-hero figure { width: 100%; }
.builder-preset--stacked .builder-hero img { max-height: 560px; width: 100%; }
.builder-preset--columns.builder-section--text .builder-prose { max-width: none; columns: 2; column-gap: clamp(28px, 5vw, 80px); }
.builder-preset--columns.builder-section--text .builder-prose :is(h3, h4, blockquote, li) { break-inside: avoid; }
.builder-preset--panel > .shell { width: min(calc(100% - 2 * var(--edge, 22px)), 1280px); padding: clamp(24px, 4vw, 64px); border: 1px solid currentColor; border-radius: 24px; }
.builder-preset--panel .builder-form { margin-top: 32px; }
.builder-preset--inset :is(.builder-image, .builder-video) { max-width: 820px; margin-inline: auto; }
.builder-preset--inset :is(.builder-image img, .builder-video video) { border-radius: 20px; }
.builder-preset--wide :is(.builder-image, .builder-video) { width: 100%; margin-inline: 0; }
.builder-preset--wide .builder-image img { max-height: none; }
.builder-preset--wide .builder-video video { max-height: none; aspect-ratio: 16 / 9; }
.builder-preset--list .builder-grid { grid-template-columns: minmax(0, 1fr); }
.builder-preset--list .builder-grid article { display: grid; align-content: start; gap: 12px 28px; }
.builder-preset--list .builder-grid article :is(h3, p, img) { margin: 0; }
.builder-preset--strip .builder-grid article { background: transparent; color: inherit; border: 0; border-left: 2px solid #739c82; padding: 8px 24px; }
.builder-preset--strip .builder-fact { font-variant-numeric: tabular-nums; }
.builder-preset--contrast.builder-section--stats .builder-grid article { background: #103f2f; color: #fff; border-color: #739c82; }
.builder-preset--timeline .builder-grid { grid-template-columns: minmax(0, 1fr); padding-left: 26px; }
.builder-preset--timeline .builder-grid article { position: relative; border: 0; border-left: 2px solid #739c82; padding: 0 0 24px 32px; background: transparent; color: inherit; }
.builder-preset--timeline .builder-step-index { position: relative; display: inline-grid; place-items: center; min-width: 44px; min-height: 44px; margin: 0 18px 18px -55px; background: #103f2f; color: #fff; border: 1px solid #739c82; border-radius: 50%; }
.builder-preset--panels .builder-step-index { font-size: 48px; line-height: 1; padding-bottom: 24px; border-bottom: 2px solid #739c82; }
.builder-preset--cards .builder-faq { display: grid; gap: 16px; max-width: none; }
.builder-preset--cards .builder-faq details { padding: 24px; border: 1px solid #739c82; border-radius: 16px; }
.builder-preset--columns.builder-section--faq .builder-faq { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 40px; max-width: none; align-items: start; }
.builder-preset--tiles .builder-documents { grid-template-columns: repeat(auto-fit, minmax(min(100%, 280px), 1fr)); gap: 20px; }
.builder-preset--tiles .builder-documents a { min-height: 120px; align-items: flex-start; padding: 26px; }
.builder-preset--tiles .builder-documents a > span { min-width: 0; }
.builder-preset--compact .builder-documents { gap: 0; }
.builder-preset--compact .builder-documents a { border: 0; border-bottom: 1px solid #739c82; padding-inline: 0; }
.builder-preset--minimal .builder-table-scroll { --table-tools-header-bg: #e5efe5; }
.builder-preset--minimal .builder-table-scroll :is(th, thead th) { background: #e5efe5; color: #103f2f; }
.builder-preset--minimal .builder-table-scroll :is(th, td) { border-inline: 0; }
.builder-preset--contrast.builder-section--table .builder-table-scroll :is(th, td) { border: 2px solid #739c82; }
.builder-preset--contrast.builder-section--table .builder-table-scroll tbody tr:nth-child(even) { background: #e0ecdf; }
.builder-legacy-preset--framed { margin: clamp(16px, 3vw, 48px) var(--edge, 22px); border: 1px solid #8ba992; border-radius: 24px; box-shadow: 0 12px 36px #103f2f0a; }
.builder-legacy-preset--framed.shell { width: auto; }
.builder-legacy-preset--framed > .shell { width: 100%; max-width: 100%; box-sizing: border-box; }
/* A single-column composition for existing sections; no wrappers around sticky UI. */
.builder-legacy-preset--stacked :is(.hero__layout, .about-hero__grid, .admissions-hero__grid, .section-hero__grid, .partners-hero__grid,
  .about-intro__grid, .about-numbers__grid, .story__composition, .practice__stage, .home-video__intro,
  .payment-section__grid, .application-section__grid, .student-rules__grid, .student-support__grid,
  .transfer-docs__grid, .contacts-main__grid, .contacts-social__heading, .additional-access__grid,
  .course-catalog__heading, .cross-cta__inner, .principle-grid, .team-grid, .route-steps,
  .transfer-steps, .additional-grid, .contact-choice__grid, .additional-related__grid, .partners-grid,
  .contacts-social__grid, .admission-program-list, .news-archive__grid),
.builder-legacy-preset--stacked.content-page__layout { display: grid; grid-template-columns: minmax(0, 1fr); gap: 32px; min-height: 0; }
.builder-legacy-preset--stacked :is(.story__composition, .practice__stage, .about-hero__grid, .admissions-hero__grid, .section-hero__grid, .hero__layout) > * { grid-column: 1 / -1; grid-row: auto; min-width: 0; width: 100%; max-width: 100%; margin: 0; transform: none; }
.builder-legacy-preset--stacked :is(.story__note, .story__facts, .practice__aside, .practice__stage blockquote, .admissions-hero__date) { position: static; margin: 0; }
.builder-legacy-preset--stacked :is(.about-hero__visual, .section-hero__visual) { min-height: 0; width: 100%; }
.builder-legacy-preset--stacked :is(.section-hero__card, .about-hero__secondary-media, .about-hero__signature) { position: static; width: auto; max-width: 100%; margin: 20px 0 0; transform: none; }
.builder-legacy-preset--stacked .section-hero__visual { display: grid; gap: 24px; aspect-ratio: auto; }
.builder-legacy-preset--stacked .section-hero__visual::before { display: none; }
.builder-legacy-preset--stacked .section-hero__media { width: 100%; aspect-ratio: 16 / 9; min-height: 0; margin: 0; }
.builder-legacy-preset--stacked .section-hero__media img { width: 100%; height: 100%; object-fit: contain; }
.builder-legacy-preset--stacked .about-hero__visual figure { position: relative; inset: auto; width: 100%; height: auto; margin: 24px 0 0; border: 0; }
.builder-legacy-preset--stacked .about-hero__visual figure img { display: block; height: auto; max-height: 560px; object-fit: contain; }
.builder-legacy-preset--stacked .about-hero__visual .about-hero__secondary-media { max-width: 420px; }
.builder-legacy-preset--stacked :is(.hero__visual, .story__photo, .practice__main-photo) { min-height: 0; height: auto; aspect-ratio: auto; }
.builder-legacy-preset--stacked :is(.hero__visual, .story__photo, .practice__main-photo) img { position: static; width: 100%; height: auto; max-height: 560px; object-fit: contain; }
.builder-legacy-preset--stacked .hero__copy { gap: 32px; min-height: 0; }
.builder-legacy-preset--stacked .admissions-hero__date { max-width: 640px; min-height: 0; }
.builder-legacy-preset--stacked :is(.route-steps, .principle-grid, .team-grid) > * { min-width: 0; }
.builder-legacy-preset--stacked .route-steps li { grid-column: auto; }
.builder-legacy-preset--stacked :is(.principle-grid, .team-grid, .about-numbers__grid) { border: 0; gap: 16px; }
.builder-legacy-preset--stacked :is(.principle-grid, .team-grid, .about-numbers__grid) > * { min-height: 0; padding: 28px; border: 1px solid #8ba992; }
.builder-legacy-preset--stacked :is(.principle-grid, .team-grid) h3 { margin-top: 24px; }
.builder-legacy-preset--stacked:is(.consultation, .decision-strip) { display: grid; grid-template-columns: minmax(0, 1fr); gap: 28px; }
.builder-legacy-preset--stacked :is(.program-heading, .news-heading, .story__header, .practice__header,
  .news-editorial, .news-showcase__stage, .news-showcase__slide, .catalog-page__inner, .course-card__content,
  .student-schedule-card, .partners-directory__heading, .news-archive__heading, .news-showcase__heading) { grid-template-columns: minmax(0, 1fr); gap: 28px; }
.builder-legacy-preset--stacked .catalog-tools { position: static; }
.builder-legacy-preset--stacked :is(.program-heading, .news-heading, .story__header, .practice__header,
  .news-editorial, .home-video__stage, .catalog-page__inner, .course-card__content, .partners-directory__heading,
  .document-groups) { display: grid; grid-template-columns: minmax(0, 1fr); }
.builder-legacy-preset.builder-legacy-preset--stacked :is(.program-heading, .news-heading, .story__header, .practice__header,
  .news-editorial, .home-video__stage, .catalog-page__inner, .course-card__content) > * { grid-column: 1 / -1; grid-row: auto; min-width: 0; }
.builder-legacy-preset--stacked .news-editorial > .news-story { min-height: 0; padding: 24px; border: 1px solid #8ba992; }
.builder-legacy-preset--stacked .news-story__media { margin: 0 0 24px; }
.builder-legacy-preset--stacked .student-schedule-card { display: grid; }
.builder-legacy-preset--stacked .news-showcase__stage { display: block; }
.builder-legacy-preset--stacked .news-showcase__slides { min-height: 0; }
.builder-legacy-preset--stacked .news-showcase__slide { position: relative; inset: auto; }
.builder-legacy-preset--stacked .news-showcase__slide > a { height: auto; grid-template-columns: minmax(0, 1fr); }
.builder-legacy-preset--stacked .news-showcase__media { height: auto; aspect-ratio: 16 / 9; }
/* Non-default home hero layouts turn the vertical rail into a normal row. */
.builder-legacy-preset:is(.builder-legacy-preset--stacked, .builder-legacy-preset--media-left) .hero__rail { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-evenly; gap: 18px; grid-column: 1 / -1; grid-row: auto; padding: 24px; border: 0; }
.builder-legacy-preset:is(.builder-legacy-preset--stacked, .builder-legacy-preset--media-left) .hero__rail::after { display: none; }
.builder-legacy-preset:is(.builder-legacy-preset--stacked, .builder-legacy-preset--media-left) .hero__rail > * { position: static; transform: none; width: auto; line-height: 1.5; white-space: normal; text-align: center; }
@media (min-width: 901px) {
  .builder-preset--media-left .builder-hero--media { grid-template-columns: minmax(0, 1fr) minmax(0, 1.2fr); }
  .builder-preset--media-left .builder-hero--media > div { grid-column: 2; grid-row: 1; }
  .builder-preset--media-left .builder-hero--media > figure { grid-column: 1; grid-row: 1; }
  .builder-preset--list .builder-grid article:has(> img) { grid-template-columns: minmax(150px, .35fr) minmax(0, 1fr); }
  .builder-preset--list .builder-grid article:has(> img) > img { grid-column: 1; grid-row: 1 / span 5; align-self: start; max-height: 320px; }
  .builder-preset--list .builder-grid article:has(> img) > :not(img) { grid-column: 2; }
  .builder-preset--feature .builder-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); align-items: start; }
  .builder-preset--feature .builder-grid article:first-child { grid-column: span 2; }
  .builder-preset--feature .builder-grid article:first-child h3 { font-size: clamp(26px, 3vw, 42px); }
  .builder-preset--split > .shell { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 24px 64px; align-items: start; }
  .builder-preset--split > .shell > .builder-eyebrow { grid-column: 1 / -1; }
  .builder-preset--split .builder-section__intro { grid-column: 1; }
  .builder-preset--split .builder-form { grid-column: 2; margin-top: 0; }
  .builder-preset--split .builder-section__action { grid-column: 2; justify-self: start; margin: 0; }
  .builder-legacy-preset--media-left :is(.hero__layout, .about-hero__grid, .admissions-hero__grid, .section-hero__grid, .partners-hero__grid) { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: clamp(28px, 4vw, 64px); }
  .builder-legacy-preset--media-left :is(.hero__layout, .about-hero__grid, .admissions-hero__grid, .section-hero__grid, .partners-hero__grid) > :first-child { grid-column: 2; grid-row: 1; min-width: 0; }
  .builder-legacy-preset--media-left :is(.hero__layout, .about-hero__grid, .admissions-hero__grid, .section-hero__grid, .partners-hero__grid) > :nth-child(2) { grid-column: 1; grid-row: 1; min-width: 0; }
  .builder-legacy-preset--media-left .hero__copy { padding-inline: 0 var(--edge, 22px); }
}
@media (max-width: 900px) {
  .builder-preset--columns.builder-section--text .builder-prose { columns: 1; }
  .builder-preset--columns.builder-section--faq .builder-faq { grid-template-columns: minmax(0, 1fr); }
  .builder-legacy-preset--media-left :is(.hero__layout, .about-hero__grid, .admissions-hero__grid, .section-hero__grid, .partners-hero__grid) { grid-template-columns: minmax(0, 1fr); min-height: 0; }
  .builder-legacy-preset--media-left :is(.hero__layout, .about-hero__grid, .admissions-hero__grid, .section-hero__grid, .partners-hero__grid) > * { grid-column: 1; grid-row: auto; }
  .builder-legacy-preset--framed { margin-inline: 12px; border-radius: 16px; }
  .builder-legacy-preset--stacked .admissions-hero__date { width: 100%; }
}
