*, *::before, *::after { box-sizing: border-box; }
    :root {
      --fg: #fff;
      --fg-muted: #c3c3c3;
      --bg: #000;
      --line: 1.5px solid #fff;
      --font-serif: "Georgia", "Times New Roman", serif;
    }
    html { color-scheme: dark; }
    body {
      margin: 0;
      font-family: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", "Apple SD Gothic Neo", "Malgun Gothic", sans-serif;
      font-size: clamp(1rem, 0.95rem + 0.35vw, 1.125rem);
      line-height: 1.68;
      letter-spacing: -0.02em;
      color: var(--fg);
      background: var(--bg);
    }
    header h1,
    header .tagline,
    h2 {
      font-family: var(--font-serif);
    }
    .wrap {
      width: 100%;
      max-width: 52rem;
      margin: 0 auto;
      padding: clamp(1rem, 4vw, 2.5rem);
    }
    .hero {
      margin: 0 calc(-1 * clamp(1rem, 4vw, 2.5rem)) clamp(1.25rem, 3vw, 2rem);
    }
    .hero img {
      margin: 0 auto;
      display: block;
      width: 90%;
      height: auto;
    }
    h1 {
      font-size: clamp(1.75rem, 1.2rem + 2.5vw, 2.5rem);
      font-weight: 600;
      line-height: 1.15;
      margin: 0 0 0.5rem;
      letter-spacing: -0.04em;
      color: var(--fg);
      text-align: center;
    }
    .tagline {
      font-size: clamp(1rem, 0.9rem + 0.5vw, 1.2rem);
      font-style: italic;
      color: var(--fg);
      margin: 0 0 1.5rem;
      line-height: 1.35;
      letter-spacing: -0.03em;
      text-align: center;
    }
    blockquote {
      margin: 0 auto clamp(1rem, 2.5vw, 1.75rem);
      font-size: clamp(1.05rem, 1rem + 0.25vw, 1.2rem);
      color: var(--fg);
      line-height: 1.58;
      letter-spacing: -0.03em;
    }
    .wrap > section:not(:last-child) {
      margin-bottom: clamp(1.35rem, 3.5vw, 2.5rem);
      padding-bottom: clamp(0.15rem, 0.8vw, 0.5rem);
    }
    blockquote .letter-quote {
      display: flex;
      text-align: center;
      justify-content: center;
      align-items: center;
      /* display: block; */
      width: 100%;
      /* max-width: min(100%, 38rem); */
      height: auto;
    }
    h2 {
      font-size: clamp(1.25rem, 1.05rem + 1vw, 1.5rem);
      margin: 1.75rem 0 0.5rem;
      padding-bottom: 0.25rem;
      border-bottom: var(--line);
      font-weight: 600;
      line-height: 1.2;
      letter-spacing: -0.035em;
      color: var(--fg);
    }
    .wrap > section > h2:first-child {
      margin-top: 0;
    }
    h3 {
      font-size: clamp(1.05rem, 0.95rem + 0.45vw, 1.2rem);
      margin: 1rem 0 0.3rem;
      font-weight: 600;
      line-height: 1.25;
      letter-spacing: -0.03em;
      color: var(--fg);
    }
    h4 {
      font-size: 1rem;
      margin: 0.75rem 0 0.2rem;
      font-weight: 600;
      color: var(--fg);
      line-height: 1.25;
      letter-spacing: -0.03em;
    }
    p {
      margin: 0 0 0.75rem;
      line-height: 1.48;
      letter-spacing: -0.03em;
    }
    .lede {
      font-size: clamp(1.05rem, 1rem + 0.2vw, 1.15rem);
    }
    ul {
      margin: 0 0 0.75rem;
      padding-left: 1.25rem;
    }
    li {
      margin-bottom: 0.25rem;
      line-height: 1.38;
      letter-spacing: -0.03em;
    }
    .dates-list {
      list-style: none;
      padding-left: 0;
    }
    .dates-list li {
      padding: 0.3rem 0;
      border-bottom: var(--line);
    }
    .program-item + .program-item {
      margin-top: 1.25rem;
    }
    .program-item h3 {
      margin-top: 1rem;
      margin-bottom: 0.5rem;
    }
    .program-item__media {
      margin: 0 0 0.85rem;
    }
    .program-item__media img {
      display: block;
      width: 100%;
      height: auto;
    }
    strong { color: var(--fg); }
    .script > h2 {
      margin-top: 0;
    }
    .script-start {
      margin: 0 0 0.65rem;
      font-size: 0.95em;
    }
    .script #seed-title {
      margin-top: 0.2rem;
      margin-bottom: 0.75rem;
      padding-bottom: 0.25rem;
      border-bottom: var(--line);
    }
    .script-chapter h4 {
      font-size: clamp(1.05rem, 0.95rem + 0.45vw, 1.2rem);
      color: var(--fg-muted);
    }
    .script-chapter {
      margin-top: 1.25rem;
    }
    .script .line {
      margin: 0 0 0.45rem;
    }
    .script .role {
      font-weight: 600;
    }
    .script .sub {
      display: block;
      margin-top: 0.2rem;
      padding-left: 1.25em;
    }
    .ngc > h2 {
      margin-top: 0;
    }
    .ngc-media {
      margin: 0.75rem 0 1rem;
    }
    .ngc-media img {
      display: block;
      width: 100%;
      height: auto;
    }
    .ngc-tagline {
      font-size: clamp(1.05rem, 0.98rem + 0.35vw, 1.2rem);
      font-weight: 600;
      margin: 0 0 0.75rem;
      line-height: 1.3;
      letter-spacing: -0.03em;
      color: var(--fg);
      border-bottom: none;
      padding-bottom: 0;
    }
    @media (min-width: 40em) {
      .hero {
        margin-left: 0;
        margin-right: 0;
      }
    }