/* Lord-inspired grotesque: compressed headlines, open readable supporting text. */
@font-face {
  font-family: 'Shumovich Display';
  src: url('/assets/RobotoFlex-Display.woff') format('woff');
  font-weight: 900;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: 'Shumovich Wide';
  src: url('/assets/RobotoFlex-Wide.woff') format('woff');
  font-weight: 900;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: Manrope;
  src: url('/assets/Manrope-Variable.woff') format('woff');
  font-weight: 200 800;
  font-style: normal;
  font-display: swap;
}
:root {
  --sans: Manrope, Arial, sans-serif;
  --display: 'Shumovich Display', 'Arial Narrow', Arial, sans-serif;
  --wide: 'Shumovich Wide', Arial, sans-serif;
}
body { font-size: 17px; line-height: 1.65; }
.display {
  font-family: var(--display);
  font-weight: 900;
  font-variation-settings: normal;
  font-optical-sizing: none;
  letter-spacing: -.025em;
  line-height: .96;
}
.eyebrow {
  font-size: 11px;
  font-weight: 500;
  letter-spacing: .09em;
  line-height: 1.6;
}

/* A quiet navigation gives the centered initials room. */
.header .desktop-nav {
  font-family: var(--sans);
  font-size: 15px;
  font-weight: 500;
  font-variation-settings: normal;
  letter-spacing: -.015em;
  line-height: 1.3;
  gap: 25px;
}
.header .brand {
  font-family: var(--wide);
  font-weight: 900;
  font-variation-settings: normal;
  font-size: 64px;
  letter-spacing: -.075em;
  line-height: 1;
  padding-right: .075em;
}
.mobile-topic-link {
  font-family: var(--sans);
  font-variation-settings: normal;
  font-size: 14px;
  font-weight: 500;
  letter-spacing: -.01em;
}
.mobile-nav { font-size: 26px; font-weight: 500; letter-spacing: -.025em; }
.stage-firstname { font-size: 18px; font-weight: 500; letter-spacing: -.035em; line-height: 1.3; }
.stage-role { font-size: 14px; font-weight: 400; line-height: 1.55; letter-spacing: -.025em; }
.stage-type { top: 27%; }
.surname-track { font-size: 25vw; line-height: .9; letter-spacing: -.035em; }
.surname-track>span { padding-inline: 3vw; }
.surname-track .type-outline { -webkit-text-stroke-width: 1.25px; }
.stage-front { bottom: 14%; }
.stage-pro {
  font-family: var(--wide);
  font-size: clamp(125px, 19vw, 345px);
  letter-spacing: -.035em;
  line-height: .85;
}
.pro-dot { color: var(--paper); }
.stage-bottom { font-size: 11px; letter-spacing: .015em; }
.motion-toggle { font-size: 11px; opacity: .8; }

/* One display gesture in the scene; the index is functional text. */
.scene-copy>.eyebrow { margin-bottom: 24px; }
.scene-title { font-size: clamp(74px, 8.6vw, 164px); letter-spacing: -.025em; line-height: .97; }
.scene-pro {
  font-family: var(--wide);
  font-size: .36em;
  letter-spacing: 0;
  margin-bottom: 16px;
}
.scene-word { overflow: visible; }
.scene-open { font-size: 13px; font-weight: 500; letter-spacing: -.01em; }
.scene-counter>span:first-child {
  font-family: var(--sans);
  font-size: 27px;
  font-weight: 600;
  font-variation-settings: normal;
  letter-spacing: -.07em;
}
.scene-counter { gap: 8px; }
.image-caption { font-size: 10px; }
.choice-number { font-size: 10px; }
.choice-name {
  font-family: var(--sans);
  font-size: clamp(17px, 1.55vw, 26px);
  font-weight: 500;
  font-variation-settings: normal;
  letter-spacing: -.035em;
  line-height: 1.3;
}
.poster-title { font-size: clamp(64px, 12.6vw, 220px); letter-spacing: -.03em; line-height: 1; }
.poster-bottom>div { font-size: 16px; }
.footer.wrap { font-size: 11px; }

/* Inner pages: emphatic chapter titles, human-scale reading headings. */
.topic-hero .chapter-text h1 { font-size: clamp(88px, 11.5vw, 200px); line-height: .94; letter-spacing: -.03em; }
.chapter-pro { font-family: var(--wide); font-size: .34em; letter-spacing: 0; margin-bottom: 20px; }
.chapter-title { overflow-wrap: normal; }
.chapter-talks .chapter-text h1 { font-size: clamp(76px, 9.6vw, 168px); }
.topic-lead>p { font-size: 17px; }
.back-link { font-size: 13px; }
.section-heading h2.display,
.topic-materials>h2.display,
.practice-item h3.display,
.topic-start a.display {
  font-family: var(--sans);
  font-weight: 500;
  font-variation-settings: normal;
  text-transform: none;
  letter-spacing: -.045em;
  line-height: 1.08;
}
.section-heading h2.display,
.topic-materials>h2.display { font-size: clamp(46px, 5.1vw, 84px); }
.topics .section-heading h2.display { font-size: clamp(36px, 4vw, 66px); }
.practice-item h3.display { font-size: clamp(28px, 2.8vw, 44px); line-height: 1.15; max-width: 100%; }
.topic-start a.display { font-size: clamp(30px, 3.6vw, 60px); }
.business-topics .topic-row h3 { font-size: clamp(32px, 4.3vw, 72px); letter-spacing: -.02em; }
.topic-row h3>span { font-family: var(--wide); font-size: .57em; letter-spacing: 0; }
.topic-about h2 { font-weight: 500; line-height: 1.12; }
.about-copy { font-size: 17px; line-height: 1.75; }
.subjects h3,.material-row h3,.project-row h3,.book-row h3 { font-weight: 500; line-height: 1.25; }
.subjects p,.material-row p,.practice-item p { font-size: 15px; line-height: 1.75; }
.book-row small { font-size: 12px; }

@media (min-width: 1900px) {
  .surname-track { font-size: 25vw; }
  .stage-pro { font-size: 19vw; }
}
@media (max-width: 1050px) {
  .header .desktop-nav { font-size: 14px; gap: 20px; }
  .header .brand { font-size: 58px; }
  .stage-type { top: 30%; }
  .surname-track { font-size: 28vw; }
  .stage-pro { font-size: 21vw; }
  .stage-firstname { font-size: 16px; }
  .stage-role { font-size: 13px; }
  .scene-counter>span:first-child { font-size: 23px; }
  .topic-choice { grid-template-columns: 15px 1fr 12px; gap: 6px; }
  .choice-name { font-size: 18px; }
  .practice-item h3.display { font-size: 30px; }
}
@media (max-width: 700px) {
  .header .brand { font-size: 49px; }
  .stage-firstname { font-size: 16px; }
  .stage-role { font-size: 13px; margin-top: 14px; line-height: 1.55; }
  .stage-type { top: 34%; }
  .surname-track { font-size: 38vw; letter-spacing: -.025em; }
  .stage-pro { font-size: 29vw; letter-spacing: -.035em; }
  .stage-front { bottom: 16%; }
  .stage-bottom { font-size: 10px; letter-spacing: -.01em; gap: 10px; }
  .stage-bottom .motion-toggle { font-size: 10px; }
  .eyebrow,.explorer-top .eyebrow,.poster-top .eyebrow { font-size: 10px; letter-spacing: .055em; }
  .scene-copy { margin-left: 14%; }
  .scene-copy>.eyebrow { font-size: 10px; margin-bottom: 18px; }
  .scene-title { font-size: 19vw; letter-spacing: -.025em; line-height: .97; }
  .scene-pro { font-size: .35em; margin-bottom: 14px; }
  .scene-open { font-size: 12px; margin-top: 15px; }
  .scene-counter>span:first-child { font-size: 21px; }
  .scene-counter { gap: 6px; }
  .choice-name { font-size: 19px; }
  .choice-number { font-size: 9px; }
  .topic-choice { grid-template-columns: 13px 1fr; gap: 7px; }
  .image-caption { font-size: 9px; }
  .poster-title { font-size: 12.8vw; padding: 65px 0 55px; gap: 12px; letter-spacing: -.035em; }
  .poster-bottom>.eyebrow { font-size: 10px; }
  .footer.wrap { font-size: 10px; }
  .topic-hero .chapter-text h1 { font-size: 16.5vw; line-height: .96; }
  .chapter-talks .chapter-text h1 { font-size: 13.5vw; }
  .chapter-pro { font-size: .36em; margin-bottom: 16px; }
  .topic-lead>p { font-size: 15px; }
  .back-link { font-size: 12px; }
  .section-heading h2.display,.topic-materials>h2.display { font-size: 11.5vw; }
  .topics .section-heading h2.display { font-size: 9vw; }
  .practice-item h3.display { font-size: 8.1vw; margin: 28px 0 20px; }
  .business-topics .topic-row h3 { font-size: 8.7vw; }
  .topic-start a.display { font-size: 8.3vw; }
  .topic-hero+.topic-about .about-copy { font-size: 16px; }
  .subjects p,.material-row p,.practice-item p { font-size: 14px; }
}
@media (max-width: 380px) {
  .business-topics .topic-row h3 { font-size: 8.2vw; }
  .choice-name { font-size: 18px; }
}
