/* Homepage layout: widths, spacing, then typography.
   Breakpoint: mobile <=412px, tablet/desktop >=413px.
   Imported vendor assets remain unchanged by this refactor. */

/* 1. Content widths. Decorative hero images and the cartoon are exempt. */
#page .sqs-html-content,
#footer-sections .sqs-html-content,
#page .minerva-desktop-heading,
#page .minerva-lines,
#page .comparison-wrapper {
  max-width:840px;
  box-sizing:border-box;
  margin-inline:auto;
}
#page .minerva-desktop-heading { width:100%; }
#page .comparison-wrapper { width:100%; }
/* Logo block containers: anniversary, certification and memberships. */
#page .fe-block-fa4722d2e1a4272f5e1a,
#page .fe-block-6996066fa8d3739960de8bdb,
#page .fe-block-6996066f06de06728b5c0fde {
  max-width:840px;
  width:100%;
  min-width:0;
  justify-self:center;
  box-sizing:border-box;
}

/* Keep the Stanford quotation and its attribution on the same content axis. */
#page .home-stanford-quote,
#page .home-stanford-attribution {
  width: 100%;
  max-width: 840px;
  min-width: 0;
  justify-self: center;
  box-sizing: border-box;
}
@media (min-width: 481px) {
  #page .home-stanford-attribution {
    grid-column: 3 / 25;
  }
}

/* The closing heading must wrap inside the shared content width. */
#page .fe-block-yui_3_17_2_1_1780568895942_5175 {
  width: 100%; max-width: 840px; min-width: 0;
  justify-self: center; box-sizing: border-box;
}
#page #block-yui_3_17_2_1_1780568895942_5175 h3,
#page #block-yui_3_17_2_1_1780568895942_5175 h3 * {
  white-space: normal !important;
  text-align: center !important;
  overflow-wrap: normal;
  word-break: normal;
}

/* Preserve the attribution's requested right alignment within the quote width. */
#page #block-yui_3_17_2_1_1772013934987_2638 p {
  text-align: right;
}

/* Constrain every non-hero content grid, including images and footer.
   Section backgrounds and the independent header remain full width. */
#page .fluid-engine:not(.home-hero-grid) {
  width: 100%; max-width: 840px; margin-inline: auto;
  box-sizing: border-box;
  --sqs-site-max-width: 840px;
  --sqs-site-gutter: 16px;
}
/* The cartoon strip is explicitly exempt from the content cap. */
#page .home-cartoon-grid {
  overflow: visible; display: flex; flex-direction: column; gap: 0;
}
#page .home-cartoon-grid > .fe-block { width: 100%; flex: none; }
#page #minervaFilmStrip {
  width: 100vw; max-width: none;
  margin-left: 50%; margin-right: 0;
  transform: translateX(-50%); box-sizing: border-box;
}
#page #minervaFilmStrip .film-panels {
  max-width: 1350px; padding: 0 60px; gap: 42px;
}
@media (max-width: 480px) {
  #page #minervaFilmStrip .film-panels {
    max-width: 520px; padding: 0 18px; gap: 0;
  }
}

/* Facts use the full capped width instead of empty legacy grid tracks. */
@media (min-width: 481px) {
  #page .fluid-engine.home-facts-grid {
    grid-template-columns: 120px minmax(0, 1fr);
    grid-template-rows: none;
    grid-auto-rows: 1fr;
    column-gap: 32px;
    align-items: start;
  }
  #page .home-facts-grid > .fe-block {
    grid-area: auto; min-width: 0;
  }
  #page .home-facts-grid > .fe-block:nth-child(odd) {
    width: 120px; height: 63px;
  }
  #page .home-facts-grid > .fe-block:nth-child(even) {
    width: 100%;
  }
}

/* Keep the textured FACT letters, with a geometrically straight frame. */
#page .home-facts-grid img {
  clip-path: inset(14% 8%);
}
#page .home-facts-grid .js-content-mode-element-wrapper::after {
  content: "";
  position: absolute;
  inset: 1px;
  box-sizing: border-box;
  border: 4px solid #cf3933;
  pointer-events: none;
}

/* Static table: disable block entrance effects, row reveals and hover motion. */
#page .fe-block-yui_3_17_2_1_1773136338075_5865,
#page .fe-block-yui_3_17_2_1_1773136338075_5865 * {
  animation: none !important;
  transition: none !important;
}
#page #block-yui_3_17_2_1_1773136338075_5865,
#page .comparison-wrapper,
#page .comparison-table tr,
#page .comparison-table .icon {
  transform: none !important;
  opacity: 1 !important;
}
#page .comparison-table tbody tr:hover {
  background-color: transparent;
  box-shadow: none;
}

#page #block-yui_3_17_2_1_1780568895942_5175 h3,
#page #block-yui_3_17_2_1_1780568895942_5175 h3 span {
  font-weight: 400 !important;
}

/* Text below the cartoon is static, except the sequential fact reveals. */
#page .fluid-engine:not(.home-hero-grid):not(.home-facts-grid) .fe-block:has(.sqs-html-content),
#page .fluid-engine:not(.home-hero-grid):not(.home-facts-grid) .fe-block:has(.sqs-html-content) *,
#footer-sections .fe-block:has(.sqs-html-content),
#footer-sections .fe-block:has(.sqs-html-content) * {
  animation: none !important;
  transition: none !important;
  opacity: 1 !important;
  transform: none !important;
  visibility: visible !important;
}

/* Sections have 100px internal vertical padding (64px on mobile).
   Same-background joins assign their shared gap to one side only. */
#page, #footer-sections {
  --section-space: 100px;
  --section-padding: 100px;
  --block-space: 56px;
  --text-space: 32px;
}

#page .home-cartoon-grid { gap: 0; }
#page .home-stanford-quote { margin-top: var(--section-space); }
#page .home-stanford-attribution { margin-top: 0; margin-bottom: 0; padding-top: 10px; }

#page section:is([data-section-id="6995ce006533b00cca07a641"], [data-section-id="69960282acb80e5f76c6286c"], [data-section-id="6996066fad1ce364b7ef304e"], [data-section-id="69afea189e2d2813e2464bd5"], [data-section-id="6a2154301644945cd9b5ce7a"]) { min-height: 0 !important; }
#page section:is([data-section-id="6995ce006533b00cca07a641"], [data-section-id="69960282acb80e5f76c6286c"], [data-section-id="6996066fad1ce364b7ef304e"], [data-section-id="69afea189e2d2813e2464bd5"], [data-section-id="6a2154301644945cd9b5ce7a"]) > .content-wrapper {
  padding: var(--section-padding) 0 !important; box-sizing: border-box;
}
#page .fluid-engine.home-facts-grid { row-gap: 72px; padding: 0; }
#page .fluid-engine:is(.home-introduction-grid, .home-credentials-grid, .home-comparison-grid, .home-closing-grid) {
  display: flex; flex-direction: column; gap: var(--block-space); height: auto; min-height: 0;
}
#page :is(.home-introduction-grid, .home-credentials-grid, .home-comparison-grid, .home-closing-grid) > .fe-block {
  width: 100%; min-width: 0; grid-area: auto; flex: none;
}
#page :is(.home-introduction-grid, .home-credentials-grid, .home-closing-grid) .sqs-html-content > :first-child { margin-top: 0; }
#page :is(.home-introduction-grid, .home-credentials-grid, .home-closing-grid) .sqs-html-content > :last-child { margin-bottom: 0; }
#page .home-introduction-grid .sqs-html-content > * + *,
#page .home-credentials-grid .sqs-html-content > * + * { margin-top: var(--text-space); }
#page .fe-block-6996066fa8d3739960de8bdb { width: 190px !important; height: 163px; margin-inline: auto; }
#page .fe-block-6996066f02783d7a96e0e55b { margin-top: calc(var(--section-space) - var(--block-space)); }
#page .minerva-memberships {
  display: flex; flex-direction: row; align-items: center; justify-content: center;
  gap: clamp(24px, 5vw, 64px); padding: 0; margin: 0;
}
.minerva-membership-logo {
  display: block; position: relative; overflow: hidden;
  width: min(168px, 36vw); aspect-ratio: 345 / 370.5; flex: none;
}
.minerva-membership-logo img { display: block; position: absolute; width: 100%; height: 200%; max-width: none; left: 0; }
.minerva-ieca img { top: 0; }
.minerva-heca img { bottom: 0; }
#page .comparison-wrapper { padding-block: 0; }
@media (max-width: 480px) {
  #page, #footer-sections { --section-space: 64px; --section-padding: 64px; --block-space: 40px; }
  #page .fluid-engine.home-facts-grid { display: flex; flex-direction: column; gap: 32px; }
  #page .home-facts-grid > .fe-block { grid-area: auto; width: 100%; }
  #page .home-facts-grid > .fe-block:nth-child(odd) { width: 120px; height: 63px; margin: 40px auto 0; }
  #page .home-facts-grid > .fe-block:first-child { margin-top: 0; }
}

/* Hide the whole chart only when its measured contents do not fit. */
#page section.comparison-does-not-fit { display: none !important; }

/* Boundary ownership: no additive margin/padding between these blocks. */
#page section:has(.home-cartoon-grid) > .content-wrapper { padding-bottom: 0 !important; }
#page section[data-section-id="6995ce006533b00cca07a641"] > .content-wrapper { padding-top: var(--section-space) !important; }
#page section[data-section-id="6996066fad1ce364b7ef304e"] > .content-wrapper { padding-bottom: 0 !important; }
#page section[data-section-id="69afea189e2d2813e2464bd5"] > .content-wrapper { padding-top: var(--section-space) !important; }
#page section[data-section-id="6a2154301644945cd9b5ce7a"] > .content-wrapper { padding-bottom: 0 !important; }
/* Remove source component padding/margins that would silently add to the rhythm. */
#page .fluid-engine:not(.home-hero-grid) .sqs-html-content > :first-child { margin-top: 0; }
#page .fluid-engine:not(.home-hero-grid) .sqs-html-content > :last-child { margin-bottom: 0; }
/* Preserve the closing gap whenever the chart is hidden. */
#page:has(.comparison-does-not-fit) section[data-section-id="6996066fad1ce364b7ef304e"] > .content-wrapper {
  padding-bottom: var(--section-padding) !important;
}


/* Keep the inset inside the 840px border-box, with one owner per section. */
#page section:has(.fluid-engine:not(.home-hero-grid)) > .content-wrapper { padding-inline: 0 !important; }
#page .fluid-engine:not(.home-hero-grid) {
  padding-inline: 24px;
  box-sizing: border-box;
  min-width: 0;
}

/* Typography bridge: imported Squarespace styles still use ID selectors and
   !important. This single scoped rule owns font sizing for the homepage.
   Component exceptions set an inherited token instead of overriding font-size. */
html { font-size: 23px !important; }
@media (max-width: 480px) {
  html { font-size: 19px !important; }
}
body.homepage {
  --home-text-size: 1rem;
  --minerva-mobile-title-cap: 1.5rem;
}
html:root body.homepage#collection-6995c3acf01cf5360347e705,
html:root body.homepage#collection-6995c3acf01cf5360347e705 *:not(#footer-sections, #footer-sections *) {
  font-size: var(--home-text-size, 1rem) !important;
}
body.homepage :is(header, .minerva-mobile-nav) { --home-text-size: .8rem; }
body.homepage .minerva-desktop-heading {
  --home-text-size: min(1.7rem, 2.7cqw);
  overflow-wrap: normal; word-break: normal;
}
body.homepage .minerva-desktop-heading span { display: block; white-space: nowrap; }
body.homepage .home-service-note p { --home-text-size: .8rem; }
body.homepage .minerva-lines span {
  --home-text-size: var(--motto-fit-size, min(1.25rem, 4.4cqw));
  white-space: nowrap; overflow-wrap: normal;
}
#page .minerva-quote { text-align: left; }
#page .minerva-quote-attribution {
  display: inline; font-style: normal;
}
html:root body.homepage#collection-6995c3acf01cf5360347e705 #page .fluid-engine:not(.home-hero-grid) :is(p, td, th) {
  line-height: 1.5 !important;
}
body.homepage .header-skip-link { font-family: "EB Garamond", serif; }

/* Footer typography and spacing are owned by shared-footer.css on every page. */

/* Desktop admissions logos, below the comparison table. */
.home-admitted-institutions { display: none; }
@media (min-width: 769px) {
  .home-admitted-institutions { display: block; background: #fff; color: #000; padding: 0 0 var(--section-space, 100px); }
  .home-admitted-inner { width: 100%; max-width: 840px; padding: 0 24px; margin: 0 auto; box-sizing: border-box; }
  .home-admitted-inner h2 { margin: 0 0 56px; font-weight: 700; line-height: 1.5; text-align: center; text-wrap: balance; }
  .home-admitted-inner img { display: block; width: 100%; height: auto; }
}
