 
@layer pages {
:root { --section-pad: clamp(3.5rem, min(2rem + 5vw, 2rem + 8vh), 6rem); }
  main { display: block; }
:where(.detail, .faq-page, .contact, .split, .markets, .discover, .days__panel, .quotes, .articles, .case-grid,
         .program-path, .page-hero__inner, .faq-search, .contact__locations, .close) > * { min-inline-size: 0; }
  .section { padding-block: var(--section-pad); }
  .section--first { padding-block-start: var(--space-8); }
.section--rule { padding-block-start: 0; }
  .section--rule > .wrap,
  :is(.chapter, .section)[data-ground="reading"] + :is(.chapter, .section)[data-ground="reading"]:not(.section--first) > .wrap,
  :is(.chapter, .section)[data-ground="dark"] + :is(.chapter, .section)[data-ground="dark"] > .wrap {
    padding-block-start: var(--section-pad);
    border-block-start: 1px solid var(--rule);
    border-image: linear-gradient(90deg, transparent, var(--rule) 14%, var(--rule) 86%, transparent) 1;
  }
  :is(.chapter, .section)[data-ground="reading"] + :is(.chapter, .section)[data-ground="reading"]:not(.section--first),
  :is(.chapter, .section)[data-ground="dark"] + :is(.chapter, .section)[data-ground="dark"] { padding-block-start: 0; }
:is(.chapter, .section)[data-ground="reading"]:has(> .wrap > .disclosure:last-child):has(+ :is(.chapter, .section)[data-ground="reading"]),
  :is(.chapter, .section)[data-ground="dark"]:has(> .wrap > .disclosure:last-child):has(+ :is(.chapter, .section)[data-ground="dark"]) {
    padding-block-end: 0;
  }
  :is(.chapter, .section)[data-ground="reading"]:has(> .wrap > .disclosure:last-child) + :is(.chapter, .section)[data-ground="reading"] > .wrap,
  :is(.chapter, .section)[data-ground="dark"]:has(> .wrap > .disclosure:last-child) + :is(.chapter, .section)[data-ground="dark"] > .wrap {
    border-block-start: 0;
  }
  .section--band { background: var(--surface-sunken); }
.heading {
    display: grid;
    justify-items: start;
    gap: var(--space-4);
    max-inline-size: 46rem;
    margin-block-end: var(--space-7);
  }
  .heading__lead { max-inline-size: 38em; margin-block-start: var(--space-2); }
  .split__main > .heading,
  .detail__alumni > .heading { margin-block-end: var(--space-2); }
[data-ground="reading"] .t-lead { color: var(--fg-2); }
  .t-reading { max-inline-size: 38em; }
.program-path { display: grid; gap: var(--grid-gap); counter-reset: none; }
  .program-path__item { display: grid; }
  .program-card { block-size: 100%; }
  .program-card[aria-current="page"] { border-color: var(--rule-strong); }
  @media (min-width: 768px) { .program-path { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
  @media (min-width: 1280px) { .program-path { grid-template-columns: repeat(4, minmax(0, 1fr)); } }
.quotes { display: grid; gap: var(--space-6) var(--grid-gap); }
  .quote { display: grid; grid-template-rows: auto 1fr auto; gap: var(--space-3); margin: 0; padding-block-start: var(--space-5); border-block-start: 1px solid var(--rule-soft); }
  .quote blockquote { max-inline-size: 62ch; font-size: 1rem; line-height: 1.65; color: var(--fg-2); text-wrap: pretty; }
  .quote__mark { display: block; block-size: 0.4em; font-family: var(--font-display); font-size: 3.25rem; line-height: 1; color: var(--fg-3); }
  .quote figcaption { font-size: 0.875rem; }
  .quote__who { display: grid; gap: 2px; }
  .quote__who strong { font-weight: var(--weight-semibold); color: var(--fg); }
  .quote__who small { font-size: inherit; color: var(--fg-3); }
.thumbs { gap: var(--space-6) var(--space-4); }
  .thumb img { transition: transform var(--dur-3) var(--ease-reveal); }
  .thumb:hover img { transform: scale(1.02); }
  .letters {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(min(100%, 10rem), 1fr));
    gap: var(--space-6) var(--space-4);
  }
  @media (min-width: 1024px) { .letters { grid-template-columns: repeat(auto-fill, minmax(12rem, 1fr)); } }
  .letter { display: grid; gap: var(--space-3); color: var(--fg); text-decoration: none; }
.letter img {
    inline-size: 100%;
    block-size: auto;
    aspect-ratio: 5 / 7;
    object-fit: cover;
    object-position: top;
    padding: var(--space-2);
    background: var(--surface-sunken);
    border: 1px solid var(--rule);
    box-shadow: var(--shadow-pop);
    transition: border-color var(--dur-2) var(--ease-reveal);
  }
  :root:not([data-theme="light"]) .letter img { filter: brightness(.92); }
  .letter:hover img { border-color: var(--rule-strong); }
  .letter__label {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: var(--space-2);
    font-family: var(--font-sans);
    font-size: var(--step--2);
    font-weight: var(--weight-semibold);
    letter-spacing: 0.14em;
    text-transform: uppercase;
    font-variant-numeric: tabular-nums;
    line-height: var(--lh-label);
    color: var(--fg-2);
  }
  .letter:hover .letter__label { color: var(--fg); }
.disclosure { margin-block-start: var(--space-7); border-block: 1px solid var(--rule); }
  .disclosure__summary {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: var(--space-4);
    min-block-size: 56px;
    list-style: none;
    font-weight: var(--weight-medium);
  }
  .disclosure__summary::-webkit-details-marker { display: none; }
  .disclosure__summary:hover > span { text-decoration: underline 1px var(--rule-strong); text-underline-offset: 0.3em; }
  .disclosure__icon { color: var(--accent); transition: transform var(--dur-2) var(--ease-reveal); }
  .disclosure[open] > .disclosure__summary .disclosure__icon { transform: rotate(180deg); }
  .disclosure__body { padding-block: var(--space-3) var(--space-7); }
  .disclosure[open] > .disclosure__body { animation: ettfos-fade-in var(--dur-3) var(--ease-reveal); }
.accordion__summary { list-style: none; }
  .accordion__glyph {
    flex: none;
    position: relative;
    inline-size: 20px;
    block-size: 1.7rem;
    font-size: 0;
    color: transparent;
    transition: transform var(--dur-2) var(--ease-reveal);
  }
  .accordion__glyph::before {
    content: ""; position: absolute; inset-inline-start: 50%; inset-block-start: 50%; inline-size: 7px; block-size: 7px; margin: -6px 0 0 -3.5px;
    border-inline-end: 1.25px solid var(--label-hi); border-block-end: 1.25px solid var(--label-hi); transform: rotate(45deg);
  }
  details[open] > summary .accordion__glyph { transform: rotate(180deg); }
.preview-strip { border-block-end: 1px solid var(--rule); background: var(--surface-sunken); }
  .preview-strip > .wrap { display: flex; align-items: center; min-block-size: 40px; }
  .preview-badge { text-decoration: none; }
  .preview-badge:hover { border-color: var(--accent); }
.return-bar { display: none; }
  :root[data-return] .return-bar { display: block; }
  .return-bar {
    position: sticky;
    inset-block-start: var(--header-h);
    z-index: calc(var(--layer-header) - 1);
    border-block-end: 1px solid var(--rule);
    transition: transform var(--dur-3) var(--ease-cut);
  }
  .site-header[data-hidden] + .return-bar { transform: translateY(calc(-1 * var(--header-h))); }
  .return-bar__inner { display: flex; align-items: center; justify-content: space-between; gap: var(--space-4); min-block-size: 48px; }
  .return-bar__button {
    display: inline-flex;
    align-items: center;
    min-block-size: var(--target-touch);
    color: var(--label-hi);
    font-size: var(--step-ui);
    font-weight: var(--weight-semibold);
  }
  .return-bar__button:hover { text-decoration: underline 1px currentColor; text-underline-offset: 0.3em; }
  .return-bar__chapter { font-size: var(--step--1); color: var(--fg-2); text-align: end; }
  @media (max-width: 639.98px) { .return-bar__chapter { display: none; } }
body.presenting { padding-block-end: calc(var(--presenter-h) + env(safe-area-inset-bottom)); }
  .presenting :is(.skip-link, .site-header, .return-bar, .site-footer, .action-bar, .credentials, .preview-strip, .floating-agenda) { display: none !important; }
  .presenting .chapter { display: none; }
  .presenting .chapter.is-active { display: block; min-block-size: calc(100dvh - var(--presenter-h)); padding-block: var(--space-8); }
  .presenting .chapter.is-active > .wrap { padding-block-start: 0; border-block-start: 0; }
  .presenting .hero.is-active { display: grid; min-block-size: calc(100dvh - var(--presenter-h)); padding-block: 0; }
}
