:root {
  --container-site: 1480px;
  --container-wide: 1180px;
  --container-readable: 750px;
  --container-narrow: 620px;
  --space-section: clamp(78px, 8vw, 112px);
  --space-section-large: clamp(96px, 10vw, 152px);
  --space-header: 34px;
  --space-stack: 24px;
  --text-small: 0.92rem;
  --text-base: clamp(1.06rem, 1.25vw, 1.18rem);
  --text-large: clamp(1.16rem, 1.55vw, 1.34rem);
  --text-hero: clamp(1.24rem, 2vw, 1.62rem);
  --title-hero: clamp(2.8rem, 5.2vw, 4.8rem);
  --title-section: clamp(2rem, 3.4vw, 3rem);
  --title-card: clamp(1.5rem, 2vw, 2rem);
  --text-body: rgba(37, 33, 28, 0.74);
  --text-muted: rgba(92, 102, 114, 0.9);
  --line-soft: rgba(122, 148, 172, 0.16);
  --panel-bg: rgba(248, 247, 240, 0.92);
}

.container,
.section-inner,
.hero-inner,
.news-events-alt-shell,
.programs-working-header,
.programs-working-grid,
.footer-inner,
.footer-nav-grid,
.footer-legal {
  width: min(100%, var(--container-wide));
  margin-inline: auto;
}

.container-site {
  width: min(100% - 48px, var(--container-site));
}

.container-readable,
.essence-inner,
.who-inner,
.snapshot-section .section-inner,
.method-section .section-inner,
.formation-section .section-inner,
.details-section .section-inner,
.costs-section .section-inner,
.admissions-section .section-inner,
.outcomes-inner,
.faq-section .section-inner,
.about-life-copy,
.news-page-shell {
  width: min(100%, var(--container-readable));
  margin-inline: auto;
}

.section,
.news-section,
.programs-working-refined,
.about-section,
.news-page-section {
  padding: var(--space-section) 24px;
}

.section-centered {
  text-align: center;
}

.section-large,
.essence-section,
.who-section,
.outcomes-section {
  padding-block: var(--space-section-large);
}

.section-header,
.programs-working-header,
.curriculum-header,
.about-section-header,
.news-page-head {
  max-width: var(--container-readable);
  margin-bottom: var(--space-header);
}

.stack,
.copy-block,
.essence-copy,
.who-manifesto,
.method-copy,
.formation-copy,
.outcomes-copy,
.about-copy {
  display: grid;
  gap: var(--space-stack);
}

.text,
.copy-block p,
.essence-copy p,
.who-statement p,
.method-list li,
.method-note,
.formation-copy p,
.outcomes-copy p,
.admissions-intro p,
.admissions-step-text,
.admissions-card p,
.cost-note p,
.cost-note li,
.faq-answer,
.detail-value,
.snapshot-value,
.program-card-refined-copy,
.footer-statement,
.about-copy p,
.about-life-copy p,
.about-contact-list p,
.about-visit-panel p:not(.about-section-kicker),
.news-page-head p,
.news-lead-copy p,
.news-tile p,
.media-strip p,
.press-link p,
.publication-line p,
.calendar-main p,
.newsletter-form p {
  margin-top: 0;
  color: var(--text-body);
  font-size: var(--text-base);
  line-height: 1.62;
  text-wrap: pretty;
}

.text-small,
.event-agenda-meta,
.news-magazine-footer,
.costs-option-note,
.costs-scholarship-note,
.admissions-checklist-intro,
.admissions-checklist-note,
.footer-legal p,
.footer-legal-links a,
.news-meta,
.media-type,
.press-source,
.calendar-label,
.about-program-list small {
  color: var(--text-muted);
  font-size: var(--text-small);
  line-height: 1.45;
}

.text-large,
.lead,
.hero-lead,
.section-lead,
.mission-copy,
.visit-invitation-lead,
.about-lead,
.about-hero-lead {
  font-size: var(--text-large);
  line-height: 1.55;
}

.hero-lead {
  font-size: var(--text-hero);
}

.hero .lead,
.program-hero .hero-lead {
  max-width: 56ch;
  margin-inline: auto;
}

.hero-home .lead {
  margin-top: clamp(34px, 3vw, 52px);
}

.hero .text,
.program-hero .text,
.title-on-dark,
.text-on-dark {
  color: rgba(255, 248, 238, 0.9);
}

.hero .hero-content.container {
  width: min(100% - 36px, 880px);
}

.program-hero .hero-content.container {
  width: min(100% - 48px, 980px);
}

.title,
h1,
h2,
h3,
h4 {
  letter-spacing: 0;
  text-wrap: balance;
}

.title-hero,
.hero h1,
.program-hero h1,
.about-hero h1,
.news-page-title-band h1 {
  max-width: 20ch;
  font-size: var(--title-hero);
  line-height: 0.86;
  font-weight: 400;
}

.title-section,
.section h2,
.mission-title,
#essence-title,
#fit-title,
#curriculum-title,
#method-title,
#formation-title,
#details-title,
#costs-title,
#admissions-title,
#outcomes-title,
#faq-title,
.about-section h2,
.news-page-head h2,
.programs-working-header h2,
.newsletter-quiet h2 {
  color: var(--navy-soft, #23384b);
  font-size: var(--title-section);
  line-height: 1;
  font-weight: 400;
}

.title-card,
.news-events-alt-panel-head h3,
.program-card-refined h3,
.snapshot-panel h2,
.year-card h3,
.costs-highlight h3,
.cost-note h3,
.admissions-checklist h3,
.admissions-card h3,
.news-lead-story h3,
.news-tile h3,
.media-strip h3,
.press-link h3,
.publication-line h3,
.calendar-main h3,
.about-program-list span {
  color: var(--navy-soft, #23384b);
  font-size: var(--title-card);
  line-height: 1.05;
  font-weight: 400;
}

.title-small,
.costs-option-group-header h4 {
  color: var(--navy-soft, #23384b);
  font-size: 1rem;
  line-height: 1.25;
  font-weight: 600;
}

.kicker,
.section-kicker,
.eyebrow,
.mission-mark,
.program-card-refined-kicker,
.news-magazine-kicker,
.snapshot-label,
.detail-label,
.costs-block-label,
.admissions-step-label,
.visit-invitation-kicker,
.footer-motto,
.footer-nav-title,
.about-section-kicker,
.about-sidebar-label,
.news-page-title-band p,
.event-agenda-eyebrow,
.news-meta,
.media-type,
.press-source,
.calendar-label {
  margin-top: 0;
  color: var(--gold);
  font-size: 0.78rem;
  line-height: 1.2;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  font-weight: 600;
}

.button,
.apply,
.admissions-apply-link {
  min-height: 44px;
  padding: 10px 16px;
  border-radius: var(--radius-control, 4px);
  font-size: 0.88rem;
  line-height: 1;
  letter-spacing: 0.08em;
}

.button-primary,
.button:not(.button-line),
.apply,
.admissions-apply-link {
  color: var(--ink, #fffaf1);
  background: linear-gradient(135deg, var(--navy) 0%, var(--navy-soft, #23384b) 100%);
  box-shadow: var(--shadow-action, 0 8px 20px rgba(22, 34, 49, 0.18));
}

.button-secondary,
.button-line {
  color: var(--navy-link, #2d445a);
  background: transparent;
  border-color: rgba(45, 68, 90, 0.34);
  box-shadow: none;
}

.button-on-dark.button-secondary,
.hero-outline {
  color: var(--ink, #fffaf1);
  border-color: rgba(255, 250, 241, 0.74);
}

.nav-cta {
  width: 128px;
  height: 40px;
  min-height: 40px;
  justify-self: end;
  padding-inline: 14px;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.1em;
}

.actions,
.cluster-actions,
.hero-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
}

.actions-centered,
.cluster-actions,
.hero-actions {
  justify-content: center;
}

.panel,
.snapshot-panel,
.admissions-card,
.cost-note {
  padding: clamp(24px, 2.8vw, 36px);
  border: 1px solid var(--line-soft);
  background: transparent;
  box-shadow: none;
}

.panel-soft,
.info-card,
.year-card,
.admissions-checklist,
.costs-highlight {
  padding: clamp(24px, 2.8vw, 36px);
  border: 1px solid var(--line-soft);
  background: var(--panel-bg);
  box-shadow: var(--shadow-card, 0 14px 30px rgba(22, 28, 36, 0.06));
}

.data-list,
.snapshot-list,
.detail-list,
.admissions-steps,
.costs-breakdown {
  display: grid;
  gap: 0;
  margin: 0;
  padding: 0;
  list-style: none;
}

.data-row,
.snapshot-list li,
.detail-list li,
.admissions-step,
.costs-breakdown li {
  display: grid;
  grid-template-columns: 150px minmax(0, 1fr);
  gap: 18px;
  padding: 16px 0;
  border-top: 0.75px solid var(--line-soft);
}

.snapshot-list li:first-child,
.admissions-step:first-child {
  border-top: 0;
  padding-top: 0;
}

.text-link,
.snapshot-value a,
.detail-links a,
.admissions-todo-link,
.admissions-card-mail,
.about-contact-list a,
.about-link-list a {
  color: var(--navy-link, #2d445a);
  text-decoration: underline;
  text-underline-offset: 0.14em;
}

.media img,
.editorial-slide img,
.editorial-chapter-hero img,
.admissions-card-photo img {
  display: block;
  width: 100%;
  object-fit: cover;
}

.media-frame,
.editorial-slide,
.admissions-card-photo,
.about-photo {
  overflow: hidden;
  border: 1px solid var(--line-soft);
  border-radius: var(--radius-control, 4px);
}

.about-inner {
  width: min(100%, var(--container-wide));
  margin-inline: auto;
}

.about-opening .about-inner,
.about-section .about-inner.about-feature-layout,
.about-contact-layout,
.about-section .about-inner.about-two-col,
.about-image-copy,
.about-campus-grid {
  width: min(100%, var(--container-wide));
}

.about-visit-panel,
.newsletter-quiet {
  border: 1px solid var(--line-soft);
  background: var(--panel-bg);
  box-shadow: var(--shadow-card, 0 14px 30px rgba(22, 28, 36, 0.06));
}

.about-definition-list div,
.about-stat-row,
.event-agenda-item,
.media-strip,
.press-link,
.publication-line,
.calendar-main {
  border-color: var(--line-soft);
}

.news-page-section.section-tint-soft,
.about-section-tint {
  background: var(--paper-soft, #f8f7f0);
}

.news-page-title-band {
  padding-block: var(--space-section-large);
}

.news-board,
.news-tile-grid,
.media-lines,
.press-lines,
.calendar-lines {
  gap: var(--space-stack);
}

.event-agenda-item,
.news-tile,
.news-lead-story,
.media-strip,
.press-link,
.publication-line,
.calendar-main {
  max-width: 100%;
}

.event-agenda-body,
.news-lead-copy,
.news-tile > *,
.media-strip > *,
.press-link > *,
.publication-line > *,
.calendar-main > * {
  min-width: 0;
}

.event-agenda-title,
.news-lead-story h3,
.news-tile h3,
.media-strip h3,
.press-link h3,
.publication-line h3,
.calendar-main h3 {
  overflow-wrap: anywhere;
}

.chip,
.costs-chip {
  border-radius: var(--radius-control, 4px);
  font-size: var(--text-small);
  line-height: 1.2;
}

@media (max-width: 720px) {
  .section,
  .news-section,
  .programs-working-refined {
    padding: 72px 18px 84px;
  }

  .data-row,
  .snapshot-list li,
  .detail-list li,
  .admissions-step,
  .costs-breakdown li {
    grid-template-columns: 1fr;
    gap: 6px;
  }

  .news-page-shell {
    width: min(calc(100vw - 48px), var(--container-readable)) !important;
    max-width: calc(100vw - 48px);
  }

  .event-agenda-list,
  .event-agenda-item {
    width: 100%;
    max-width: 100%;
  }

  .event-agenda-item {
    grid-template-columns: 84px minmax(0, 1fr);
    gap: 12px;
    padding: 12px 0;
  }

  .event-agenda-datebox {
    width: 100%;
    min-width: 0;
    aspect-ratio: 1 / 1;
  }
}

@media (max-width: 860px) {
  .nav-cta {
    display: none;
  }

  .hero .hero-content.container,
  .program-hero .hero-content.container {
    width: min(100% - 36px, 680px);
  }

  .title-hero,
  .hero h1,
  .program-hero h1 {
    max-width: 11.5ch;
    font-size: clamp(2.45rem, 10vw, 4rem);
    line-height: 0.94;
  }

  .program-hero .hero-actions .button {
    width: min(100%, 210px);
  }

  .hero .lead,
  .program-hero .hero-lead {
    max-width: 28ch;
    font-size: clamp(1.12rem, 5vw, 1.28rem);
    line-height: 1.45;
  }
}

.curriculum-grid .year-card,
.costs-shell .costs-highlight {
  background: #ffffff;
}

.visit-invitation-card .visit-invitation-lead {
  margin-top: 28px;
}
