/* Archive, destination, and opening composition rebuild */
:root {
  --home-background: #FAFAF7;
  --home-text: #070907;
  --home-name: #213BFF;
  --theme-base: #FAFAF7;
  --theme-surface: #F7F9FC;
  --theme-archive: #F1F7FF;
  --theme-text: #070907;
  --theme-muted: #545451;
  --theme-header: rgba(250, 250, 247, 0.68);
}

html[data-appearance="twilight"] {
  color-scheme: light;
  --home-background: #DCD5ED;
  --home-text: #211628;
  --theme-base: #DCD5ED;
  --theme-surface: #E8E2F1;
  --theme-archive: #D6D5EB;
  --theme-text: #211628;
  --theme-muted: #62566A;
  --theme-header: rgba(220, 213, 237, 0.76);
}

html[data-appearance="night"] {
  color-scheme: dark;
  --home-background: #100B16;
  --home-text: #FAFAF7;
  --theme-base: #100B16;
  --theme-surface: #19121F;
  --theme-archive: #151224;
  --theme-text: #FAFAF7;
  --theme-muted: #B9AFBF;
  --theme-header: rgba(16, 11, 22, 0.78);
}

.orientation {
  grid-template-columns: auto minmax(0, 1fr) auto;
  min-height: 58px;
  background: var(--theme-header);
  border: 0 !important;
}

.orientation__identity {
  justify-self: start;
  display: inline-grid;
  grid-template-columns: 42px auto;
  align-items: center;
  gap: 12px;
  min-width: 0;
  padding: 0;
  border: 0;
  background: transparent;
  color: inherit;
  cursor: pointer;
  text-align: left;
}

.orientation__identity .orientation__mark {
  display: block;
  width: 42px;
  height: 38px;
  color: var(--mark-color, currentColor);
}

.orientation__mark svg {
  display: block;
  width: 100%;
  height: 100%;
  overflow: visible;
  fill: none;
  stroke: currentColor;
  stroke-width: 14;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.orientation__name {
  margin: 0;
  white-space: nowrap;
}

.orientation__index {
  border-bottom-color: transparent;
}

.orientation__identity:is(:hover, :focus-visible) .orientation__name,
.orientation__index:is(:hover, :focus-visible) {
  text-decoration: underline;
  text-decoration-thickness: 1px;
  text-underline-offset: 0.2em;
}

.orientation__identity:focus-visible,
.orientation__index:focus-visible {
  outline: 2px solid currentColor;
  outline-offset: 4px;
}

.appearance-switch {
  grid-column: 3;
  justify-self: end;
  display: flex;
  align-items: center;
  gap: 3px;
}

.appearance-switch__button {
  display: grid;
  width: 34px;
  height: 34px;
  place-items: center;
  padding: 0;
  border: 1px solid transparent;
  background: transparent;
  color: inherit;
  cursor: pointer;
  font-family: Arial, sans-serif;
  font-size: 19px;
  line-height: 1;
}

.appearance-switch__button:is(:hover, :focus-visible),
.appearance-switch__button[aria-pressed="true"] {
  border-color: currentColor;
}

.appearance-switch__button:focus-visible {
  outline: 2px solid currentColor;
  outline-offset: 2px;
}

.home-project-index__header,
.home-opening,
.home-project-index,
.archive-index__intro,
.archive-view,
.archive-index__entry,
.project-documentation__header,
.project-documentation,
.project-documentation__navigation,
.info-view,
.sequence-footer,
.legal-line,
.people-directory__section {
  border: 0 !important;
}

.home-opening {
  position: relative;
  display: flex;
  min-height: auto;
  flex-direction: column;
  overflow: hidden;
  background: var(--home-background);
  color: var(--home-text);
}

.home-statement {
  position: relative;
  z-index: 3;
  top: auto;
  left: auto;
  width: 92vw;
  margin: clamp(92px, 12svh, 126px) auto 0;
  font-size: clamp(48px, min(5.2vw, 8.2vh), 86px);
  line-height: 0.96;
  letter-spacing: -0.006em;
  text-transform: none;
}

.spatial-app.has-menu-preview .home-statement {
  color: var(--menu-preview-ink);
}

.home-statement .identity-phrase,
.home-statement .identity-phrase__visual {
  display: inline;
  max-width: none;
}

.home-statement .identity-phrase {
  color: var(--home-name);
}

.identity-phrase {
  appearance: none;
  padding: 0;
  border: 0;
  background: transparent;
  font: inherit;
  line-height: inherit;
  letter-spacing: inherit;
  text-align: left;
  vertical-align: baseline;
  cursor: pointer;
}

.black-belt-phrase {
  display: inline-flex;
  align-items: baseline;
  appearance: none;
  padding: 0;
  border: 0;
  background: transparent;
  color: #C000FF;
  font: inherit;
  line-height: inherit;
  letter-spacing: inherit;
  text-align: left;
  vertical-align: baseline;
  outline: none;
  cursor: pointer;
}

.black-belt-visual,
.black-belt-word {
  display: inline-flex;
  align-items: baseline;
}

.black-belt-space {
  display: inline-block;
  width: 0.24em;
  transition: width 240ms cubic-bezier(0.2, 0.75, 0.15, 1);
}

.black-belt-letter {
  display: inline-block;
  transform: translateY(0);
  transition: transform 240ms cubic-bezier(0.2, 0.75, 0.15, 1);
}

.black-belt-phrase:is(:hover, :focus-visible) .black-belt-space {
  width: 0.46em;
}

.black-belt-phrase:is(:hover, :focus-visible) .black-belt-letter {
  transform: translateY(var(--belt-y));
}

.black-belt-phrase:focus-visible {
  outline: 2px solid currentColor;
  outline-offset: 0.08em;
}

.spatial-app.has-menu-preview .black-belt-phrase {
  color: var(--menu-preview-ink);
  -webkit-text-stroke: 0 transparent;
  paint-order: normal;
  text-shadow: none;
}

.spatial-app.has-menu-preview .black-belt-phrase:is(:hover, :focus-visible) .black-belt-space {
  width: 0.24em;
}

.spatial-app.has-menu-preview .black-belt-phrase:is(:hover, :focus-visible) .black-belt-letter {
  transform: none;
}

.spatial-app.has-menu-preview .black-belt-phrase:focus-visible {
  outline-color: var(--menu-preview-ink);
}

.spatial-app.has-menu-preview .home-statement .identity-phrase,
.spatial-app.has-home-project-preview .home-statement .identity-phrase {
  color: var(--menu-preview-ink, var(--home-preview-ink));
}

.home-statement .identity-word {
  display: inline-flex;
}

.home-statement .identity-space {
  display: inline-block;
  width: 0.24em;
  margin: 0;
}

.home-navigation {
  position: relative;
  z-index: 8;
  inset: auto;
  display: block;
  column-gap: 0;
  row-gap: clamp(8px, 1.4vh, 16px);
  width: 92vw;
  max-width: none;
  min-height: 118px;
  margin: clamp(8px, 1.2vh, 12px) auto clamp(12px, 2vh, 22px);
  padding: 0;
  pointer-events: none;
}

.home-opening .home-link {
  position: absolute;
  align-self: center;
  justify-self: center;
  min-width: 44px;
  min-height: 44px;
  pointer-events: auto;
  animation: menu-idle-drift var(--drift-duration, 12s) ease-in-out var(--drift-delay, 0s) infinite;
}

@keyframes menu-idle-drift {
  0%, 100% { translate: 0 0; }
  48% { translate: var(--drift-x, 3px) var(--drift-y, -2px); }
  72% { translate: var(--drift-x-end, -1px) var(--drift-y-end, 2px); }
}

.spatial-app.has-menu-preview .home-link,
.home-opening .home-link:is(:hover, :focus-visible) {
  animation-play-state: paused;
}

.home-opening .home-link--newsletter {
  --drift-duration: 13.7s;
  --drift-delay: -4.1s;
  --drift-x: -3px;
  --drift-y: 2px;
  --drift-x-end: 2px;
  --drift-y-end: -1px;
  --cloud-w: 138px;
  --cloud-h: 58px;
  left: 34%;
  top: 46%;
  transform: translate(-50%, -50%) rotate(2deg);
}

.home-opening .home-link--archive {
  --drift-duration: 15.2s;
  --drift-delay: -7.8s;
  --drift-x: 4px;
  --drift-y: -2px;
  --drift-x-end: -2px;
  --drift-y-end: 1px;
  --cloud-w: 210px;
  --cloud-h: 84px;
  left: 8%;
  top: 43%;
  transform: translate(-50%, -50%) rotate(-3deg);
}

.home-opening .home-link--editions {
  --drift-duration: 11.9s;
  --drift-delay: -2.6s;
  --drift-x: 1px;
  --drift-y: 3px;
  --drift-x-end: 0px;
  --drift-y-end: -1px;
  --cloud-w: 148px;
  --cloud-h: 66px;
  left: 22%;
  top: 36%;
  transform: translate(-50%, -50%) rotate(1.5deg);
}

.home-opening .home-link--about {
  --drift-duration: 14.4s;
  --drift-delay: -9.2s;
  --drift-x: -4px;
  --drift-y: -1px;
  --drift-x-end: 1px;
  --drift-y-end: 3px;
  --cloud-w: 172px;
  --cloud-h: 74px;
  left: 46%;
  top: 58%;
  transform: translate(-50%, -50%) rotate(2.5deg);
}

.home-opening .home-link--programs {
  --drift-duration: 12.8s;
  --drift-delay: -5.5s;
  --drift-x: 1px;
  --drift-y: 2px;
  --drift-x-end: -1px;
  --drift-y-end: -3px;
  --cloud-w: 184px;
  --cloud-h: 78px;
  left: 59%;
  top: 42%;
  transform: translate(-50%, -50%) rotate(-2deg);
}

.home-opening .home-link--people {
  --drift-duration: 16.1s;
  --drift-delay: -11.4s;
  --drift-x: -1px;
  --drift-y: 4px;
  --drift-x-end: 1px;
  --drift-y-end: -1px;
  --cloud-w: 172px;
  --cloud-h: 70px;
  left: 72%;
  top: 60%;
  transform: translate(-50%, -50%) rotate(2deg);
}

.home-opening .home-link--support {
  --drift-duration: 13.1s;
  --drift-delay: -6.7s;
  --drift-x: 2px;
  --drift-y: -3px;
  --drift-x-end: -4px;
  --drift-y-end: 1px;
  --cloud-w: 136px;
  --cloud-h: 60px;
  left: 84%;
  top: 40%;
  transform: translate(-50%, -50%) rotate(-2deg);
}

.home-opening .home-link--contact {
  --drift-duration: 15.6s;
  --drift-delay: -3.3s;
  --drift-x: -3px;
  --drift-y: -2px;
  --drift-x-end: 2px;
  --drift-y-end: 3px;
  --cloud-w: 140px;
  --cloud-h: 60px;
  left: 95%;
  top: 57%;
  transform: translate(-50%, -50%) rotate(2.5deg);
}

#home-shape .shape-object--upper-center {
  --shape-x: 4vw;
  --shape-y: -25svh;
  --shape-w: 112vw;
  --shape-h: 104svh;
  --shape-r: 4deg;
}

.home-project-index__header {
  padding-top: 0;
}

.home-project-index {
  padding-top: clamp(12px, 2vw, 28px);
}

.home-project-index__grid {
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  gap: clamp(72px, 9vw, 138px) 2vw;
  align-items: start;
}

.home-project-preview {
  width: clamp(220px, 25vw, 360px);
  max-width: 100%;
  margin-top: 0;
}

.home-project-preview:nth-child(1) { grid-column: 1 / 5; grid-row: 1; justify-self: start; }
.home-project-preview:nth-child(2) { grid-column: 8 / 12; grid-row: 1; justify-self: center; margin-top: 5vw; }
.home-project-preview:nth-child(3) { grid-column: 4 / 8; grid-row: 2; justify-self: start; margin-top: 1vw; }
.home-project-preview:nth-child(4) { grid-column: 9 / 13; grid-row: 2; justify-self: end; margin-top: -2vw; }
.home-project-preview:nth-child(5) { grid-column: 1 / 5; grid-row: 3; justify-self: center; margin-top: 4vw; }
.home-project-preview:nth-child(6) { grid-column: 7 / 11; grid-row: 3; justify-self: end; }

.home-project-index__header h2 {
  text-transform: uppercase;
}

.sequence-footer,
.legal-line {
  align-items: start;
}

.sequence-footer > :first-child,
.legal-line > :nth-child(2) {
  line-height: 1.4;
}

.archive-view,
.project-documentation,
.info-view {
  position: relative;
  inset: auto;
  width: 100%;
  height: 100dvh;
  min-height: 100svh;
  overflow-x: hidden;
  overflow-y: auto;
  overscroll-behavior-y: contain;
}

.page-identity-shape {
  z-index: 0;
  color: var(--page-accent, var(--project-accent));
}

.page-identity-shape .shape-fragments,
.page-identity-shape .shape-meta {
  display: none !important;
}

.archive-view {
  --page-accent: #1537FF;
  background: #F7FFE5;
  color: #050505;
  padding: 0 3vw 70px;
}

/* Homepage information unfolds */
.home-info-panel[hidden] {
  display: none;
}

.home-info-panel {
  position: relative;
  z-index: 7;
  width: 100%;
  overflow: hidden;
  padding: clamp(54px, 7vw, 104px) 5vw clamp(72px, 9vw, 132px);
  background: var(--home-panel-background);
  color: var(--home-panel-text);
}

.home-info-panel__inner {
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  column-gap: 2vw;
  align-items: start;
}

.home-info-panel__label {
  grid-column: 1 / 3;
  margin: 0;
  font-family: var(--font-interface);
  font-size: clamp(13px, 0.95vw, 16px);
  font-weight: 400;
  line-height: 1.2;
  text-transform: lowercase;
}

.home-info-panel__content {
  grid-column: 4 / 12;
  min-width: 0;
  font-family: var(--font-interface);
  font-size: clamp(18px, 1.55vw, 25px);
  font-weight: 400;
  line-height: 1.42;
}

.home-info-panel__content > p,
.home-info-panel__content section > p {
  max-width: 66ch;
  margin: 0 0 1.15em;
}

.home-info-panel__content a,
.home-info-panel__content button {
  color: inherit;
  font: inherit;
}

.home-info-panel__content a,
.home-info-panel__content .contact-field button {
  text-decoration: underline;
  text-decoration-thickness: 1px;
  text-underline-offset: 0.16em;
}

.home-info-panel__embedded-section {
  margin-top: clamp(64px, 8vw, 120px);
}

.home-info-panel__embedded-section > h2 {
  margin: 0 0 clamp(28px, 4vw, 54px);
  color: inherit;
  font-family: var(--font-display);
  font-size: clamp(42px, 6vw, 92px);
  font-weight: 400;
  line-height: 0.92;
  letter-spacing: 0;
  text-transform: lowercase;
}

.home-info-panel .program-field {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: clamp(34px, 5vw, 70px) 3vw;
  margin-top: clamp(42px, 6vw, 84px);
}

.home-info-panel .program-field section,
.home-info-panel .people-directory__section {
  margin: 0;
}

.home-info-panel .program-field h3,
.home-info-panel .people-directory h2 {
  margin: 0 0 0.8em;
  color: inherit;
  font-family: var(--font-interface);
  font-size: 0.72em;
  font-weight: 400;
  line-height: 1.2;
  text-transform: lowercase;
}

.home-info-panel .program-field p {
  margin: 0;
}

.home-info-panel .people-directory {
  display: grid;
  gap: clamp(44px, 6vw, 80px);
}

.home-info-panel .people-directory ul {
  margin: 0;
  padding: 0;
  list-style: none;
  columns: 2;
  column-gap: 3vw;
}

.home-info-panel .people-directory li {
  break-inside: avoid;
  margin-bottom: 0.28em;
}

.home-info-panel .people-directory__section--directors ul {
  columns: 1;
}

.home-info-panel .contact-field {
  display: grid;
  gap: clamp(30px, 4vw, 56px);
}

.home-info-panel .contact-field p {
  margin: 0;
}

.home-info-panel__close {
  grid-column: 12;
  justify-self: end;
  margin-top: clamp(60px, 8vw, 110px);
  padding: 0;
  border: 0;
  border-bottom: 1px solid currentColor;
  background: transparent;
  color: inherit;
  font-family: var(--font-interface);
  font-size: clamp(13px, 0.95vw, 16px);
  font-weight: 400;
  cursor: pointer;
}

.home-info-panel__close:focus-visible,
.home-info-panel__content a:focus-visible,
.home-info-panel__content button:focus-visible {
  outline: 2px solid currentColor;
  outline-offset: 4px;
}

.archive-index__intro {
  position: relative;
  z-index: 2;
  min-height: 42svh;
  padding: clamp(100px, 14vw, 190px) 0 clamp(70px, 8vw, 120px);
}

.archive-index__intro h1 {
  max-width: 8ch;
  margin: 0;
  color: var(--page-accent);
  font-family: var(--font-display);
  font-size: clamp(78px, 14vw, 230px);
  font-weight: 400;
  line-height: 0.82;
  letter-spacing: 0;
  text-transform: lowercase;
}

.page-identity-shape--archive {
  --shape-x: 56vw;
  --shape-y: -9svh;
  --shape-w: 58vw;
  --shape-h: 53svh;
  --shape-r: 12deg;
}

.archive-index {
  position: relative;
  z-index: 2;
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  gap: clamp(120px, 16vw, 260px) 2vw;
  align-items: start;
  padding-bottom: clamp(120px, 16vw, 250px);
}

.archive-index__entry {
  display: block;
  min-width: 0;
  color: inherit;
  text-decoration: none;
}

.archive-index__entry:nth-child(1) { grid-column: 1 / 8; }
.archive-index__entry:nth-child(2) { grid-column: 9 / 13; margin-top: 14vw; }
.archive-index__entry:nth-child(3) { grid-column: 3 / 9; margin-top: 2vw; }
.archive-index__entry:nth-child(4) { grid-column: 8 / 13; margin-top: -6vw; }
.archive-index__entry:nth-child(5) { grid-column: 1 / 6; margin-top: 9vw; }
.archive-index__entry:nth-child(6) { grid-column: 6 / 13; margin-top: 1vw; }

.archive-index__entry figure {
  margin: 0;
}

.archive-index__entry img {
  display: block;
  width: 100%;
  height: auto;
  object-fit: contain;
  transform: none !important;
  clip-path: none !important;
  filter: none !important;
}

.archive-index__entry figcaption {
  margin-top: 10px;
  color: var(--entry-accent);
  font-family: var(--font-display);
  font-size: clamp(30px, 4vw, 68px);
  line-height: 0.94;
  text-transform: lowercase;
}

.archive-index__meta {
  display: flex;
  justify-content: space-between;
  gap: 20px;
  margin: 13px 0 0;
  font-family: var(--font-interface);
  font-size: clamp(10px, 0.78vw, 12px);
  line-height: 1.3;
  letter-spacing: 0.035em;
  text-transform: uppercase;
}

.archive-index__entry:is(:hover, :focus-visible) figcaption {
  color: #050505;
}

.archive-index__entry:focus-visible {
  outline: 2px solid currentColor;
  outline-offset: 7px;
}

.archive-view > .legal-line {
  position: relative;
  inset: auto;
  z-index: 2;
  padding: 20px 0 0;
}

.project-documentation {
  --page-accent: var(--project-accent);
  background: var(--project-bg);
  color: #050505;
}

.project-documentation__header {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  gap: 2vw;
  min-height: 80svh;
  padding: clamp(105px, 12vw, 175px) 3vw clamp(76px, 9vw, 140px);
  overflow: hidden;
  background: transparent;
  color: var(--project-text);
}

.project-documentation__location {
  z-index: 2;
  grid-column: 1 / 4;
  margin: 0;
}

.project-documentation__header h1 {
  z-index: 2;
  grid-column: 1 / 9;
  align-self: center;
  margin: 4vw 0 0;
  color: var(--project-accent);
  font-family: var(--font-display);
  font-size: clamp(62px, 10vw, 168px);
  font-weight: 400;
  line-height: 0.86;
  letter-spacing: 0;
  text-transform: lowercase;
}

.home-project-preview__title,
.project-documentation__navigation a {
  text-transform: lowercase;
}

.project-documentation__copy {
  z-index: 2;
  grid-column: 9 / 13;
  align-self: end;
  max-width: 55ch;
  font-size: clamp(15px, 1.15vw, 18px);
  line-height: 1.44;
}

.project-documentation__copy p,
.project-documentation__program-meta {
  margin: 0 0 1.35em;
}

.project-documentation__copy a {
  color: inherit;
  text-underline-offset: 0.18em;
}

.project-documentation__program-meta {
  font-family: var(--font-interface);
  font-size: clamp(10px, 0.78vw, 12px);
  line-height: 1.4;
  letter-spacing: 0.035em;
  text-transform: uppercase;
}

.sonic-essay-toggle,
.sonic-essay__close {
  min-height: 44px;
  padding: 0;
  border: 0;
  border-bottom: 1px solid currentColor;
  background: transparent;
  color: inherit;
  font: inherit;
  cursor: pointer;
  text-align: left;
}

.sonic-essay-toggle:is(:hover, :focus-visible),
.sonic-essay__close:is(:hover, :focus-visible) {
  outline: 2px solid currentColor;
  outline-offset: 5px;
  border-bottom-color: transparent;
}

.sonic-essay[hidden] {
  display: none !important;
}

.sonic-essay {
  position: relative;
  z-index: 3;
  padding: clamp(84px, 10vw, 150px) max(5vw, 24px) clamp(100px, 13vw, 190px);
  background: #FAFAF7;
  color: #070907;
  font-family: var(--font-interface);
  font-size: clamp(17px, 1.22vw, 20px);
  font-weight: 400;
  line-height: 1.58;
}

.sonic-essay__inner {
  width: min(100%, 68ch);
  margin: 0 auto;
}

.sonic-essay__header {
  margin-bottom: clamp(62px, 7vw, 104px);
}

.sonic-essay__header h2 {
  max-width: 20ch;
  margin: 0 0 0.35em;
  font: inherit;
  font-size: clamp(24px, 2.1vw, 34px);
  line-height: 1.08;
}

.sonic-essay__header p {
  margin: 0;
}

.sonic-essay p {
  margin: 0 0 1.55em;
}

.sonic-essay blockquote {
  margin: clamp(42px, 5vw, 72px) 0;
  padding-left: clamp(18px, 2.4vw, 38px);
  border-left: 1px solid currentColor;
}

.sonic-essay blockquote p {
  margin: 0;
}

.sonic-essay__close {
  margin-top: clamp(46px, 6vw, 84px);
}

.project-documentation__shape {
  --shape-x: 60vw;
  --shape-y: -16svh;
  --shape-w: 58vw;
  --shape-h: 51svh;
  --shape-r: -8deg;
  z-index: 1;
  color: var(--project-accent);
  opacity: 0.82;
}

.project-documentation__images {
  position: relative;
  z-index: 2;
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  gap: clamp(110px, 15vw, 240px) 2vw;
  align-items: start;
  padding: clamp(100px, 12vw, 190px) 3vw clamp(140px, 18vw, 270px);
  background: #FAFAF5;
  color: #050505;
}

.project-documentation__image {
  margin: 0;
  min-width: 0;
}

.project-documentation__image--1 { grid-column: 1 / 9; }
.project-documentation__image--2 { grid-column: 9 / 13; margin-top: 13vw; }
.project-documentation__image--3 { grid-column: 3 / 11; }
.project-documentation__image--4 { grid-column: 1 / 6; margin-top: 8vw; }
.project-documentation__image--5 { grid-column: 7 / 13; margin-top: -3vw; }
.project-documentation__image--6 { grid-column: 2 / 12; }

.project-documentation__image img {
  display: block;
  width: 100%;
  height: auto;
  object-fit: contain;
  object-position: center;
  transform: none !important;
  clip-path: none !important;
  filter: none !important;
}

.project-documentation__image figcaption {
  margin-top: 9px;
  font-family: var(--font-interface);
  font-size: clamp(10px, 0.78vw, 12px);
  font-weight: 400;
  line-height: 1.3;
}

.project-documentation__navigation {
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  gap: 2vw;
  align-items: start;
  padding: 28px 3vw 90px;
  background: #FAFAF5;
  font-size: clamp(11px, 0.85vw, 13px);
  text-transform: uppercase;
}

.project-documentation__navigation > :last-child {
  justify-self: end;
  text-align: right;
}

.project-documentation__navigation a,
.project-documentation__navigation button {
  padding: 0;
  border: 0;
  background: transparent;
  color: inherit;
  font: inherit;
  text-decoration: none;
  cursor: pointer;
}

.project-documentation__navigation :is(a, button):is(:hover, :focus-visible) {
  text-decoration: underline;
  text-underline-offset: 0.2em;
}

.project-documentation > .legal-line {
  position: relative;
  inset: auto;
  padding: 26px 3vw 38px;
  background: #FAFAF5;
}

.info-view {
  --page-ink: #050505;
  padding: clamp(110px, 12vw, 170px) 3vw 52px;
  background: #FAFAF5;
  color: var(--page-ink);
}

.info-view .info-kicker {
  position: relative;
  z-index: 2;
  top: auto;
  right: auto;
  display: block;
  margin: 0;
  color: var(--page-accent);
  font-family: var(--font-display);
  font-size: clamp(72px, 13vw, 220px);
  font-weight: 400;
  line-height: 0.82;
  letter-spacing: 0;
  text-transform: lowercase;
}

.info-view .info-body {
  position: relative;
  z-index: 2;
  top: auto;
  right: auto;
  width: auto;
  max-width: none;
  max-height: none;
  overflow: visible;
  padding: 0;
  font-family: var(--font-interface);
  font-size: clamp(20px, 2.15vw, 36px);
  line-height: 1.16;
}

.info-view .info-body > p {
  max-width: 43ch;
}

.info-view > .legal-line {
  position: relative;
  inset: auto;
  z-index: 2;
  margin-top: clamp(100px, 15vw, 240px);
}

.info-view--about .info-kicker { margin-left: 1vw; }
.info-view--about .info-body { width: 49vw; margin: 6vw 4vw 0 auto; }
.page-identity-shape--about { --shape-x: -17vw; --shape-y: 30svh; --shape-w: 62vw; --shape-h: 61svh; --shape-r: 14deg; }

.info-view--programs { background: #FAFAF5; }
.info-view--programs .info-kicker { margin-left: 34vw; }
.info-view--programs .info-body { margin-top: 8vw; }
.info-view--programs .info-body > p { margin-left: 34vw; }
.info-view--programs .program-field { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 3vw; margin-top: 9vw; font-size: clamp(15px, 1.25vw, 20px); }
.page-identity-shape--programs { --shape-x: -24vw; --shape-y: -1svh; --shape-w: 68vw; --shape-h: 56svh; --shape-r: -11deg; }

.info-view--editions { background: #E8D8FF; }
.info-view--editions .info-kicker { margin-left: 7vw; }
.info-view--editions .info-body { width: 48vw; margin: 13vw 0 0 45vw; }
.page-identity-shape--editions { --shape-x: 54vw; --shape-y: -12svh; --shape-w: 61vw; --shape-h: 63svh; --shape-r: 8deg; }

.info-view--support { background: #26001F; color: #FAFAF5; }
.info-view--support .info-kicker { color: #FF006C; }
.info-view--support .info-body { width: 56vw; margin: 8vw 0 0 7vw; }
.page-identity-shape--support { --shape-x: 60vw; --shape-y: 25svh; --shape-w: 51vw; --shape-h: 65svh; --shape-r: -14deg; color: #FF006C; }

.info-view--people { padding: clamp(110px, 12vw, 170px) 3vw 52px; background: #FAFAF5; color: #050505; }
.info-view--people .info-kicker { position: relative; margin: 0 0 10vw 26vw; color: #00D5C8; font-size: clamp(72px, 13vw, 220px); }
.info-view--people .info-body { position: relative; width: 100%; padding: 0; font-family: var(--font-interface); }
.info-view--people .legal-line { margin-top: clamp(100px, 15vw, 240px); }
.page-identity-shape--people { --shape-x: -23vw; --shape-y: -3svh; --shape-w: 66vw; --shape-h: 65svh; --shape-r: 17deg; }
.people-directory__section { padding-top: 0; }

.info-view--contact { background: #FAFAF5; color: #050505; }
.info-view--contact .info-kicker { margin-left: 54vw; color: #003C2F; }
.info-view--contact .info-body { width: 38vw; margin: 6vw 0 0 54vw; }
.info-view--contact .contact-field p { margin: 0 0 clamp(52px, 5vw, 82px); }
.page-identity-shape--contact { --shape-x: -20vw; --shape-y: 8svh; --shape-w: 55vw; --shape-h: 70svh; --shape-r: -16deg; color: #003C2F; }

.modal__panel--newsletter {
  isolation: isolate;
  overflow: hidden auto;
  padding-top: 18px;
  background: #050505;
  color: #FAFAF5;
  --accent: #E8D8FF;
}

.modal__panel--newsletter::before {
  position: absolute;
  z-index: -1;
  top: 35%;
  right: -34%;
  width: 58%;
  aspect-ratio: 1;
  background: #E8D8FF;
  clip-path: polygon(8% 13%, 39% 13%, 48% 0, 59% 22%, 77% 8%, 81% 39%, 100% 49%, 76% 61%, 91% 87%, 59% 78%, 44% 100%, 35% 71%, 5% 83%, 19% 55%, 0 39%);
  content: "";
}

.modal__panel--newsletter h2,
.modal__panel--newsletter #newsletter-description,
.modal__panel--newsletter .sib-form,
.modal__panel--newsletter .newsletter-note {
  position: relative;
  z-index: 1;
}

.modal__panel--newsletter .modal__close {
  position: sticky;
  z-index: 5;
  top: 18px;
  display: flex;
  align-items: center;
  justify-content: center;
  width: max-content;
  min-height: 44px;
  margin: 0 0 30px auto;
  padding: 10px 12px;
  border: 1px solid currentColor;
  background: #050505;
  color: #FAFAF5;
  font-family: var(--font-interface);
  font-size: 11px;
  line-height: 1;
  letter-spacing: 0.04em;
  text-decoration: none;
}

.modal__panel--newsletter .modal__close:focus-visible {
  outline: 2px solid #E8D8FF;
  outline-offset: 3px;
}

.modal__panel--newsletter h2 {
  clear: both;
}

.people-directory__section--directors ul {
  max-width: max-content;
  columns: 1;
  column-count: 1;
  column-gap: 0;
  text-align: left;
}

.people-directory__section--directors li {
  display: block;
}

.home-link--about:is(:hover, :focus-visible, [aria-current="true"]) .menu-main {
  transform: translate(5px, -3px) skewX(-8deg) scale(1.08, 1.03) !important;
}

.spatial-app.has-home-project-preview .home-view,
.spatial-app.has-home-project-preview .home-opening,
.spatial-app.has-home-project-preview .home-project-index,
.spatial-app.has-home-project-preview .sequence-footer,
.spatial-app.has-home-project-preview .orientation,
.spatial-app.is-clearing-home-project-preview .home-view,
.spatial-app.is-clearing-home-project-preview .home-opening,
.spatial-app.is-clearing-home-project-preview .home-project-index,
.spatial-app.is-clearing-home-project-preview .sequence-footer,
.spatial-app.is-clearing-home-project-preview .orientation {
  transition: none !important;
}

.spatial-app[data-view="home"] .home-view,
.spatial-app[data-view="home"] .home-opening,
.spatial-app[data-view="home"] .home-project-index,
.spatial-app[data-view="home"] .sequence-footer,
.spatial-app[data-view="home"] .orientation {
  transition: none !important;
}

.global-footer {
  position: relative;
  z-index: 4;
  grid-column: 1 / -1;
  width: 100%;
  height: clamp(450px, 52svh, 590px);
  margin-top: clamp(72px, 9vw, 136px);
  padding: clamp(28px, 3vw, 44px) 4vw 0;
  overflow: hidden;
  background: #2A0025;
  color: #FAFAF7;
  font-family: var(--font-interface);
  isolation: isolate;
  border-radius: 0;
}

.global-footer__band,
.global-footer__copyright {
  position: relative;
  z-index: 2;
}

.global-footer__band {
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  align-items: start;
  column-gap: clamp(14px, 1.5vw, 26px);
  font-size: clamp(12px, 0.9vw, 14px);
  line-height: 1.4;
}

.global-footer__newsletter {
  grid-column: 1 / 6;
  max-width: 440px;
}

.global-footer__newsletter h2 {
  margin: 0 0 12px;
  color: inherit;
  font-family: var(--font-interface);
  font-size: 13px;
  font-weight: 400;
  line-height: 1.25;
  letter-spacing: 0.035em;
}

.modal__panel--newsletter .newsletter-note,
.modal__panel--newsletter .newsletter-note .privacy-trigger {
  font-family: var(--font-interface);
  font-size: 9px;
  line-height: 1.4;
  letter-spacing: 0.05em;
}

.modal__panel--privacy #privacy-title {
  margin-bottom: 18px;
  font-family: var(--font-interface);
  font-size: 12px;
  line-height: 1.25;
  letter-spacing: 0.035em;
}

.global-footer__newsletter > p {
  max-width: 48ch;
  margin: 0 0 clamp(12px, 1.3vw, 20px);
  font-size: inherit;
  line-height: inherit;
}

.global-footer__contact p > span {
  display: block;
  margin-bottom: 5px;
  font-size: 11px;
  line-height: 1.25;
  letter-spacing: 0.035em;
}

.global-footer__links button,
.global-footer__links a {
  border: 0;
  border-radius: 0;
  background: transparent;
  color: inherit;
  font: inherit;
  cursor: pointer;
}

.global-footer__address {
  grid-column: 7 / 9;
  display: block;
  margin: clamp(7px, 0.8vw, 13px) 0 0;
  font-style: normal;
  line-height: inherit;
}

.global-footer__address strong,
.global-footer__address span {
  display: block;
}

.global-footer__address strong {
  margin-bottom: 7px;
  font-weight: 400;
}

.global-footer__contact {
  grid-column: 9 / 13;
  margin-top: clamp(28px, 3vw, 48px);
}

.global-footer__contact p {
  margin: 0 0 clamp(12px, 1.4vw, 20px);
}

.global-footer__contact a {
  color: inherit;
  font-size: inherit;
  line-height: inherit;
  text-decoration: underline;
  text-decoration-thickness: 1px;
  text-underline-offset: 0.18em;
}

.global-footer__links {
  grid-column: 7 / 10;
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  align-items: flex-start;
  gap: 7px 18px;
  margin-top: clamp(70px, 7vw, 108px);
}

.global-footer__links a,
.global-footer__links button {
  padding: 3px 0;
  text-decoration: none;
}

.global-footer__copyright {
  position: absolute;
  left: 4vw;
  bottom: clamp(154px, 18svh, 190px);
  width: max-content;
  margin: 0;
  padding: 0;
  font-size: 11px;
  letter-spacing: 0.025em;
}

.global-footer__fragments {
  position: absolute;
  z-index: 0;
  inset: auto 0 0;
  height: clamp(138px, 19svh, 176px);
  pointer-events: none;
}

.global-footer__fragment {
  position: absolute;
  display: block;
  color: #C6A1FF;
  animation: footer-fragment-drift var(--fragment-duration, 23s) ease-in-out var(--fragment-delay, 0s) infinite;
}

.global-footer__fragment .menu-object-svg {
  display: block;
  width: 100%;
  height: 100%;
  fill: currentColor;
}

.global-footer__fragment--1 { left: 2vw; bottom: 6%; width: 15vw; height: 112px; --fragment-duration: 21s; --fragment-delay: -7s; --fragment-x: 3px; --fragment-y: -2px; }
.global-footer__fragment--2 { left: 18vw; bottom: 2%; width: 11vw; height: 92px; --fragment-duration: 27s; --fragment-delay: -13s; --fragment-x: -2px; --fragment-y: 3px; }
.global-footer__fragment--3 { left: 34vw; bottom: 4%; width: 20vw; height: 142px; --fragment-duration: 24s; --fragment-delay: -4s; --fragment-x: 2px; --fragment-y: 2px; }
.global-footer__fragment--4 { left: 56vw; bottom: 3%; width: 11vw; height: 102px; --fragment-duration: 29s; --fragment-delay: -18s; --fragment-x: -3px; --fragment-y: -2px; }
.global-footer__fragment--5 { left: 69vw; bottom: 5%; width: 16vw; height: 126px; --fragment-duration: 25s; --fragment-delay: -10s; --fragment-x: 2px; --fragment-y: -3px; }
.global-footer__fragment--6 { right: 1vw; bottom: 2%; width: 18vw; height: 142px; --fragment-duration: 31s; --fragment-delay: -21s; --fragment-x: -2px; --fragment-y: 2px; }

@keyframes footer-fragment-drift {
  0%, 100% { transform: translate(0, 0); }
  50% { transform: translate(var(--fragment-x, 2px), var(--fragment-y, -2px)); }
}

.global-footer a:is(:hover, :focus-visible),
.global-footer button:is(:hover, :focus-visible) {
  text-decoration: underline;
  text-decoration-thickness: 1px;
  text-underline-offset: 0.2em;
}

.global-footer a:focus-visible,
.global-footer button:focus-visible {
  outline: 2px solid #C6A1FF;
  outline-offset: 3px;
}

.home-view > .global-footer {
  margin-top: 0;
}

@media (min-width: 701px) {
  .spatial-app {
    font-size: 16px;
  }

  .orientation {
    min-height: 66px;
  }

  .orientation__name,
  .home-link__label {
    font-size: 13px;
    line-height: 1.3;
  }

  .home-project-preview figcaption,
  .home-project-preview__title {
    font-size: 15px;
    line-height: 1.32;
  }

  .archive-index__meta,
  .project-documentation__location,
  .project-documentation__program-meta,
  .project-documentation__image figcaption {
    font-size: clamp(13px, 0.92vw, 15px);
    line-height: 1.42;
  }

  .project-documentation__copy {
    font-size: clamp(17px, 1.28vw, 21px);
    line-height: 1.5;
  }

  .project-documentation__navigation {
    font-size: clamp(13px, 0.95vw, 15px);
  }

  .info-view--programs .program-field {
    font-size: clamp(17px, 1.35vw, 22px);
    line-height: 1.42;
  }

  .page-identity-shape--archive {
    --shape-x: 55vw;
    --shape-y: 3svh;
    --shape-w: 40vw;
    --shape-h: 42svh;
    --shape-r: 8deg;
  }

  .project-documentation__shape {
    --shape-x: 66vw;
    --shape-y: 5svh;
    --shape-w: 28vw;
    --shape-h: 15svh;
    --shape-r: -6deg;
  }

  .page-identity-shape--about { --shape-x: 3vw; --shape-y: 31svh; --shape-w: 42vw; --shape-h: 52svh; }
  .page-identity-shape--programs { --shape-x: 3vw; --shape-y: 7svh; --shape-w: 44vw; --shape-h: 48svh; }
  .page-identity-shape--editions { --shape-x: 55vw; --shape-y: 5svh; --shape-w: 39vw; --shape-h: 52svh; }
  .page-identity-shape--support { --shape-x: 56vw; --shape-y: 28svh; --shape-w: 38vw; --shape-h: 52svh; }
  .page-identity-shape--people { --shape-x: 3vw; --shape-y: 6svh; --shape-w: 43vw; --shape-h: 52svh; }
  .page-identity-shape--contact { --shape-x: 4vw; --shape-y: 14svh; --shape-w: 39vw; --shape-h: 54svh; }
}

@media (max-width: 1100px) and (min-width: 701px) {
  .home-opening {
    min-height: auto;
  }

  .home-statement {
    width: 92vw;
    margin-top: clamp(90px, 12svh, 116px);
    font-size: clamp(40px, min(5.3vw, 7vh), 60px);
  }

  .home-navigation {
    width: 92vw;
    min-height: 108px;
  }

  .home-opening .home-link--newsletter { --cloud-w: 118px; --cloud-h: 52px; }
  .home-opening .home-link--archive { --cloud-w: 160px; --cloud-h: 68px; }
  .home-opening .home-link--editions { --cloud-w: 124px; --cloud-h: 57px; }
  .home-opening .home-link--about { --cloud-w: 140px; --cloud-h: 62px; }
  .home-opening .home-link--programs { --cloud-w: 152px; --cloud-h: 66px; }
  .home-opening .home-link--people { --cloud-w: 140px; --cloud-h: 61px; }
  .home-opening .home-link--support { --cloud-w: 116px; --cloud-h: 54px; }
  .home-opening .home-link--contact { --cloud-w: 120px; --cloud-h: 54px; }

  .project-documentation__header h1 { grid-column: 1 / 8; }
  .project-documentation__copy { grid-column: 8 / 13; }
  .info-view--programs .program-field { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 700px) {
  .archive-view {
    contain: paint;
  }

  .legal-line span:nth-child(2) {
    display: inline;
  }

  .orientation {
    grid-template-columns: minmax(0, 1fr);
    grid-template-rows: auto;
    align-items: center;
    min-height: 58px;
    padding: 8px 12px;
  }

  .orientation__identity {
    grid-template-columns: 36px minmax(0, 1fr);
    gap: 7px;
  }

  .orientation__identity .orientation__mark {
    width: 36px;
    height: 34px;
  }

  .orientation__name {
    font-size: 8px;
  }

  .orientation__name {
    display: inline-block !important;
    max-width: 22ch;
    white-space: normal;
  }

  .home-opening {
    display: flex;
    min-height: auto;
    padding: 0;
  }

  .home-statement {
    position: relative;
    top: auto;
    left: auto;
    width: calc(100vw - 40px);
    margin: clamp(86px, 11svh, 104px) 20px 0;
    font-size: clamp(27px, min(7.9vw, 4.8vh), 33px);
    line-height: 0.98;
  }

  .home-statement .identity-phrase,
  .home-statement .identity-phrase__visual {
    display: block;
  }

  .home-statement .identity-phrase {
    width: 100%;
    margin-bottom: 0.08em;
  }

  .location-lock {
    white-space: nowrap;
  }

  .home-navigation {
    position: relative;
    inset: auto;
    display: block;
    width: calc(100vw - 40px);
    min-height: 218px;
    margin: 10px 20px 22px;
    padding: 0;
  }

  .home-opening .home-link {
    min-width: 44px;
    min-height: 44px;
  }

  .home-opening .home-link--archive { --cloud-w: 120px; --cloud-h: 52px; left: 17%; top: 20%; transform: translate(-50%, -50%) rotate(-3deg); }
  .home-opening .home-link--newsletter { --cloud-w: 100px; --cloud-h: 46px; left: 55%; top: 25%; transform: translate(-50%, -50%) rotate(2deg); }
  .home-opening .home-link--about { --cloud-w: 104px; --cloud-h: 48px; left: 88%; top: 20%; transform: translate(-50%, -50%) rotate(2.5deg); }
  .home-opening .home-link--editions { --cloud-w: 106px; --cloud-h: 48px; left: 15%; top: 50%; transform: translate(-50%, -50%) rotate(1.5deg); }
  .home-opening .home-link--programs { --cloud-w: 116px; --cloud-h: 50px; left: 51%; top: 54%; transform: translate(-50%, -50%) rotate(-2deg); }
  .home-opening .home-link--people { --cloud-w: 104px; --cloud-h: 47px; left: 87%; top: 49%; transform: translate(-50%, -50%) rotate(2deg); }
  .home-opening .home-link--support { --cloud-w: 96px; --cloud-h: 46px; left: 35%; top: 82%; transform: translate(-50%, -50%) rotate(-2deg); }
  .home-opening .home-link--contact { --cloud-w: 100px; --cloud-h: 46px; left: 69%; top: 84%; transform: translate(-50%, -50%) rotate(2.5deg); }

  .home-project-index {
    padding: 10px 4vw 90px;
  }

  .home-project-index__grid {
    display: flex;
    flex-direction: column;
    gap: 0;
  }

  .home-project-preview,
  .home-project-preview:nth-child(n) {
    width: min(72vw, 280px);
    margin-top: 0;
    margin-left: 0;
    margin-bottom: 82px;
  }

  .home-project-preview:nth-child(odd) { align-self: flex-start; }
  .home-project-preview:nth-child(even) { align-self: flex-end; }
  .home-project-preview:nth-child(3) { margin-left: 8vw; }
  .home-project-preview:nth-child(4) { margin-right: 5vw; }
  .home-project-preview:nth-child(5) { margin-left: 2vw; }
  .home-project-preview:nth-child(6) { margin-right: 9vw; margin-bottom: 0; }

  #home-shape .shape-object--upper-center {
    --shape-x: -24vw;
    --shape-y: -18svh;
    --shape-w: 150vw;
    --shape-h: 98svh;
  }

  .sequence-footer,
  .legal-line {
    display: grid;
    grid-template-columns: 1fr;
    gap: 10px;
  }

  .archive-view {
    padding: 0 4vw 48px;
  }

  .archive-index__intro {
    min-height: 36svh;
    padding: 92px 0 56px;
  }

  .archive-index__intro h1 {
    font-size: clamp(68px, 23vw, 108px);
  }

  .page-identity-shape--archive {
    --shape-x: 43vw;
    --shape-y: -5svh;
    --shape-w: 75vw;
    --shape-h: 37svh;
  }

  .archive-index {
    display: flex;
    flex-direction: column;
    gap: 0;
    padding-bottom: 120px;
  }

  .archive-index__entry {
    margin-top: 0 !important;
    margin-bottom: 120px;
  }

  .archive-index__entry:nth-child(1) { width: 96%; align-self: flex-start; }
  .archive-index__entry:nth-child(2) { width: 77%; align-self: flex-end; }
  .archive-index__entry:nth-child(3) { width: 91%; align-self: flex-start; margin-left: 4%; }
  .archive-index__entry:nth-child(4) { width: 72%; align-self: flex-end; }
  .archive-index__entry:nth-child(5) { width: 84%; align-self: flex-start; }
  .archive-index__entry:nth-child(6) { width: 94%; align-self: flex-end; }

  .archive-index__entry figcaption {
    font-size: clamp(32px, 10vw, 50px);
  }

  .archive-index__meta {
    font-size: 9px;
  }

  .project-documentation__header {
    display: flex;
    flex-direction: column;
    min-height: 92svh;
    padding: 88px 4vw 70px;
  }

  .project-documentation__location {
    order: 0;
    font-size: 9px;
  }

  .project-documentation__header h1 {
    order: 1;
    margin: 14svh 0 0;
    font-size: clamp(54px, 17vw, 88px);
  }

  .project-documentation__copy {
    order: 2;
    margin-top: auto;
    padding-top: 72px;
    font-size: 15px;
    line-height: 1.45;
  }

  .project-documentation__shape {
    --shape-x: 34vw;
    --shape-y: 2svh;
    --shape-w: 88vw;
    --shape-h: 46svh;
    opacity: 0.64;
  }

  .project-documentation__images {
    display: flex;
    flex-direction: column;
    gap: 0;
    padding: 94px 4vw 130px;
  }

  .project-documentation__image {
    width: 100%;
    margin: 0 0 112px !important;
  }

  .project-documentation__image:nth-child(3n + 2) { width: 82%; align-self: flex-end; }
  .project-documentation__image:nth-child(3n + 3) { width: 91%; align-self: flex-start; margin-left: 4% !important; }

  .project-documentation__image figcaption {
    font-size: 10px;
  }

  .project-documentation__navigation {
    grid-template-columns: 1fr 1fr;
    row-gap: 32px;
    padding: 0 4vw 80px;
    font-size: 10px;
  }

  .project-documentation__navigation button {
    grid-column: 1 / -1;
    grid-row: 1;
    justify-self: center;
  }

  .project-documentation > .legal-line {
    padding: 24px 4vw 34px;
  }

  .info-view,
  .info-view--people {
    padding: 88px 4vw 44px;
  }

  .info-view .info-kicker,
  .info-view--people .info-kicker {
    margin: 0;
    font-size: clamp(64px, 21vw, 104px);
  }

  .info-view .info-body,
  .info-view--about .info-body,
  .info-view--programs .info-body,
  .info-view--editions .info-body,
  .info-view--support .info-body,
  .info-view--people .info-body,
  .info-view--contact .info-body {
    width: 100%;
    margin: 42svh 0 0;
    font-size: clamp(20px, 6.2vw, 28px);
  }

  .info-view--contact .info-body {
    width: 100%;
    margin: clamp(48px, 13vw, 70px) 0 0;
  }

  .info-view--contact .contact-field p {
    margin-bottom: clamp(42px, 13vw, 64px);
  }

  .info-view--contact .page-identity-shape--contact {
    display: none;
  }

  .sonic-essay {
    padding: 72px 20px 96px;
    font-size: clamp(16px, 4.7vw, 18px);
    line-height: 1.55;
  }

  .sonic-essay__header {
    margin-bottom: 58px;
  }

  .info-view--programs .info-body > p {
    margin-left: 0;
  }

  .info-view--programs .program-field {
    grid-template-columns: 1fr;
    gap: 46px;
    margin-top: 74px;
    font-size: 16px;
  }

  .page-identity-shape--about,
  .page-identity-shape--programs,
  .page-identity-shape--editions,
  .page-identity-shape--support,
  .page-identity-shape--people,
  .page-identity-shape--contact {
    --shape-x: 22vw;
    --shape-y: 18svh;
    --shape-w: 95vw;
    --shape-h: 48svh;
    --shape-r: -9deg;
  }

  .info-view--programs .page-identity-shape--programs,
  .info-view--people .page-identity-shape--people {
    --shape-x: -35vw;
    --shape-r: 12deg;
  }

  .people-directory__section ul {
    font-size: clamp(19px, 5.7vw, 27px);
  }

  .modal__panel--newsletter::before {
    top: 35%;
    right: -48%;
    width: 78%;
  }
}

/* Stable project reading grid: title height determines the first-column start. */
@media (min-width: 901px) {
  .project-documentation__header {
    grid-template-rows: auto auto;
    min-height: auto;
    overflow: visible;
  }

  .project-documentation__location {
    grid-column: 10 / 13;
    grid-row: 1;
  }

  .project-documentation__copy,
  .project-documentation--lucas .project-documentation__copy {
    display: block;
    grid-column: 1 / 13;
    grid-row: 2;
    max-width: none;
    margin: 0;
    column-count: initial;
    column-gap: normal;
  }

  .project-copy-flow,
  .project-documentation--lucas .project-copy-flow {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    align-items: start;
    gap: clamp(52px, 6vw, 96px);
  }

  .project-copy-flow__primary {
    min-width: 0;
  }

  .project-documentation__header .project-copy-flow__primary h1,
  .project-documentation--sonic .project-documentation__header .project-copy-flow__primary h1,
  .project-documentation--lucas .project-documentation__header .project-copy-flow__primary h1 {
    display: block;
    max-width: 12ch;
    margin: clamp(72px, 8vw, 116px) 0 0;
    color: #050505;
    font-family: var(--font-display);
    font-size: clamp(44px, 6vw, 86px);
    font-weight: 400;
    line-height: 0.96;
    letter-spacing: 0;
    text-transform: lowercase;
    white-space: normal;
    text-wrap: balance;
  }

  .project-documentation--sonic .project-documentation__header .project-copy-flow__primary h1 {
    font-size: clamp(40px, 5.1vw, 74px);
  }

  .project-copy-flow__column,
  .project-documentation--lucas .project-copy-flow__column {
    display: block;
    grid-column: auto;
    grid-row: auto;
  }

  .project-copy-flow__column--first,
  .project-documentation--lucas .project-copy-flow__column--first {
    padding: clamp(34px, 4vw, 62px) 0 0 clamp(44px, 5vw, 78px);
  }

  .project-copy-flow__column--second,
  .project-documentation--lucas .project-copy-flow__column--second {
    padding: clamp(72px, 8vw, 116px) 0 0;
  }
}

@media (max-width: 900px) {
  .project-copy-flow__primary {
    min-width: 0;
  }

  .project-documentation__header .project-copy-flow__primary h1,
  .project-documentation--sonic .project-documentation__header .project-copy-flow__primary h1 {
    max-width: 100%;
    margin: 62px 0 0;
    color: #050505;
    font-family: var(--font-display);
    font-size: clamp(38px, 11.5vw, 54px);
    font-weight: 400;
    line-height: 1;
    letter-spacing: 0;
    text-transform: lowercase;
    white-space: normal;
    text-wrap: balance;
  }

  .project-copy-flow__column--first,
  .project-documentation--lucas .project-copy-flow__column--first {
    padding: 34px 0 0;
  }
}

html[data-appearance="night"] .project-documentation__header .project-copy-flow__primary h1 {
  color: var(--theme-text);
}

/* Shared project-page reading structure. */
@media (min-width: 901px) {
  .project-documentation__header {
    grid-template-rows: auto auto auto;
    min-height: auto;
    overflow: visible;
  }

  .project-documentation__location {
    grid-column: 10 / 13;
    grid-row: 1;
  }

  .project-documentation__header h1,
  .project-documentation--sonic .project-documentation__header h1,
  .project-documentation--lucas .project-documentation__header h1 {
    z-index: 3;
    grid-column: 1 / 7;
    grid-row: 2;
    max-width: 12ch;
    margin-top: clamp(72px, 8vw, 116px);
    white-space: normal;
  }

  .project-documentation__copy,
  .project-copy-flow {
    display: contents;
  }

  .project-copy-flow__column {
    z-index: 2;
    color: #050505;
    font-family: "Violet Sans", Arial, sans-serif;
    font-size: clamp(19px, 1.45vw, 23px);
    font-weight: 400;
    line-height: 1.52;
  }

  .project-copy-flow__column--first {
    grid-column: 1 / 7;
    grid-row: 3;
    padding-left: clamp(44px, 5vw, 78px);
    padding-top: clamp(34px, 4vw, 62px);
  }

  .project-copy-flow__column--second {
    grid-column: 7 / 13;
    grid-row: 2 / 4;
    padding-top: clamp(72px, 8vw, 116px);
  }
}

.project-copy-flow__column p,
.project-copy-flow__column blockquote,
.project-copy-flow__column .project-documentation__program-meta,
.project-copy-flow__column .project-copy-flow__byline {
  margin: 0 0 1.35em;
}

.project-copy-flow__column blockquote {
  padding-left: clamp(16px, 2vw, 30px);
  border-left: 1px solid currentColor;
}

.project-copy-flow__column blockquote p {
  margin: 0;
}

.project-copy-flow__byline,
.project-copy-flow__artists span {
  font-family: var(--font-interface);
  font-size: 0.68em;
  line-height: 1.4;
  text-transform: lowercase;
}

.project-copy-flow__byline p {
  margin: 0;
}

.project-copy-flow__artists span {
  display: block;
  margin-bottom: 0.55em;
}

html[data-appearance="night"] .project-copy-flow__column {
  color: var(--theme-text);
}

@media (max-width: 900px) {
  .project-documentation__copy,
  .project-copy-flow {
    display: block;
  }

  .project-copy-flow__column {
    padding: 0;
    color: #050505;
    font-family: "Violet Sans", Arial, sans-serif;
    font-size: 18px;
    font-weight: 400;
    line-height: 1.55;
  }

  .project-copy-flow__column--second {
    margin-top: 1.35em;
  }

  html[data-appearance="night"] .project-copy-flow__column {
    color: var(--theme-text);
  }
}

/* Preserve the approved TV Snacks composition. */
@media (min-width: 901px) {
  .project-documentation--lucas .project-documentation__header {
    grid-template-rows: auto auto;
  }

  .project-documentation--lucas .project-documentation__header h1 {
    z-index: 3;
    grid-column: 1 / 6;
    grid-row: 2;
    max-width: 12ch;
    margin-top: clamp(72px, 8vw, 116px);
  }

  .project-documentation--lucas .project-documentation__copy {
    display: block;
    grid-column: 1 / 13;
    grid-row: 2;
    margin: 0;
  }

  .project-documentation--lucas .project-copy-flow {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: clamp(52px, 6vw, 96px);
  }

  .project-documentation--lucas .project-copy-flow__column {
    display: block;
    grid-column: auto;
    grid-row: auto;
  }

  .project-documentation--lucas .project-copy-flow__column--first {
    padding-top: clamp(190px, 16vw, 235px);
    padding-left: clamp(44px, 5vw, 78px);
  }

  .project-documentation--lucas .project-copy-flow__column--second {
    padding-top: clamp(72px, 8vw, 116px);
  }
}

/* Global footer: three-column institutional layout */
.global-footer {
  --footer-text-size: clamp(17px, 1.2vw, 19px);
  height: clamp(470px, 54svh, 610px);
  padding: clamp(38px, 4vw, 58px) 4vw 30px;
  background: var(--footer-background, #6800FF);
  color: #FFFFFF;
  text-transform: lowercase;
}

.global-footer__band {
  display: grid;
  grid-template-columns: minmax(300px, 5fr) minmax(210px, 3.5fr) minmax(120px, 1.5fr);
  gap: clamp(34px, 4vw, 70px);
  align-items: start;
  width: min(72%, 980px);
  font-size: var(--footer-text-size);
  line-height: 1.42;
}

.global-footer__newsletter,
.global-footer__contact,
.global-footer__links {
  grid-column: auto;
  width: auto;
  max-width: none;
  margin: 0;
  font-size: var(--footer-text-size);
}

.global-footer__newsletter h2,
.global-footer__contact h2,
.global-footer__newsletter > p,
.global-footer__contact address,
.global-footer__links a,
.global-footer__links button,
.global-footer__copyright {
  font-family: var(--font-interface);
  font-size: var(--footer-text-size);
  font-weight: 400;
  line-height: 1.42;
  letter-spacing: 0;
  text-transform: lowercase;
}

.global-footer__newsletter h2,
.global-footer__contact h2 {
  margin: 0 0 1.2em;
}

.global-footer__newsletter > p {
  max-width: 40ch;
  margin: 0 0 1.45em;
}

.global-footer__contact address {
  display: block;
  margin: 0;
  font-style: normal;
  text-transform: none;
}

.global-footer__contact address strong,
.global-footer__contact address span,
.global-footer__contact address em,
.global-footer__contact address a {
  display: block;
  font: inherit;
}

.global-footer__contact address strong {
  margin: 0;
}

.global-footer__contact address em {
  margin-top: 0.55em;
  font-style: italic;
}

.home-info-panel .contact-field > .postal-address {
  display: block;
  margin: 0 0 clamp(52px, 5vw, 82px);
  font-style: normal;
}

.home-info-panel .contact-field > .postal-address strong,
.home-info-panel .contact-field > .postal-address span,
.home-info-panel .contact-field > .postal-address em {
  display: block;
  font: inherit;
}

.home-info-panel .contact-field > .postal-address em {
  margin-top: 0.55em;
  font-style: italic;
}

.global-footer__contact address a {
  margin-top: 1.25em;
  color: inherit;
  overflow-wrap: anywhere;
  text-decoration: underline;
  text-decoration-thickness: 1px;
  text-underline-offset: 0.18em;
}

.global-footer__links {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 0.7em;
}

.global-footer__links a,
.global-footer__links button {
  padding: 0;
  border: 0;
  background: transparent;
  color: inherit;
  cursor: pointer;
  text-decoration: none;
}

.global-footer__copyright {
  position: absolute;
  z-index: 2;
  left: 4vw;
  bottom: 28px;
  width: max-content;
  margin: 0;
}

.global-footer__mark {
  position: absolute;
  z-index: 1;
  right: 2.5vw;
  bottom: 14px;
  width: clamp(230px, 28vw, 430px);
  height: clamp(180px, 28svh, 270px);
  color: #FFFFFF;
  pointer-events: none;
}

.global-footer__mark svg {
  display: block;
  width: 100%;
  height: 100%;
  overflow: visible;
  fill: none;
  stroke: currentColor;
  stroke-width: 13;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.global-footer a:focus-visible,
.global-footer button:focus-visible {
  outline-color: #FFFFFF;
}

@media (max-width: 700px) {
  .global-footer {
    --footer-text-size: 15px;
    height: auto;
    min-height: 760px;
    padding: 42px 20px 210px;
  }

  .global-footer__band {
    display: flex;
    flex-direction: column;
    gap: 34px;
    width: 100%;
    font-size: var(--footer-text-size);
  }

  .global-footer__newsletter,
  .global-footer__contact,
  .global-footer__links {
    width: 100%;
    font-size: var(--footer-text-size);
  }

  .global-footer__newsletter > p {
    max-width: 33ch;
  }

  .global-footer__links {
    flex-direction: row;
    flex-wrap: wrap;
    gap: 12px 22px;
  }

  .global-footer__copyright {
    left: 20px;
    bottom: 176px;
    max-width: calc(100% - 40px);
    font-size: var(--footer-text-size);
  }

  .global-footer__mark {
    right: 10px;
    bottom: 10px;
    width: 210px;
    height: 145px;
  }

  .home-info-panel {
    padding: 48px 20px 72px;
  }

  .home-info-panel__inner {
    display: block;
  }

  .home-info-panel__label {
    margin-bottom: 40px;
    font-size: 13px;
  }

  .home-info-panel__content {
    font-size: 17px;
    line-height: 1.48;
  }

  .home-info-panel__embedded-section {
    margin-top: 72px;
  }

  .home-info-panel__embedded-section > h2 {
    margin-bottom: 30px;
    font-size: clamp(44px, 14vw, 64px);
  }

  .home-info-panel .program-field {
    display: grid;
    grid-template-columns: 1fr;
    gap: 42px;
    margin-top: 38px;
  }

  .home-info-panel .people-directory {
    gap: 48px;
  }

  .home-info-panel .people-directory ul {
    columns: 1;
  }

  .home-info-panel__close {
    display: block;
    margin: 64px 0 0 auto;
    font-size: 13px;
  }
}

/* Keep the persistent orientation bar visibly translucent over every route. */
.spatial-app .orientation {
  background: color-mix(in srgb, var(--home-preview-bg, #FAFAF7) 68%, transparent) !important;
  -webkit-backdrop-filter: blur(3px);
  backdrop-filter: blur(3px);
}

/* Colder, more institutional archive and project documentation system. */
.archive-view {
  background: #F1F7FF;
}

.archive-index__intro {
  min-height: 30svh;
  padding: clamp(104px, 11vw, 150px) 0 clamp(52px, 6vw, 84px);
}

.archive-index__intro h1 {
  max-width: none;
  color: #050505;
  font-size: clamp(58px, 8vw, 112px);
  line-height: 0.9;
}

.page-identity-shape--archive {
  --shape-x: 72vw;
  --shape-y: 2svh;
  --shape-w: 24vw;
  --shape-h: 24svh;
  opacity: 0.12;
}

.archive-index {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: clamp(84px, 10vw, 150px) 5vw;
  padding-bottom: clamp(110px, 12vw, 180px);
}

.archive-index__entry,
.archive-index__entry:nth-child(n) {
  display: grid;
  grid-column: auto;
  grid-template-columns: minmax(0, 1fr) auto;
  column-gap: 24px;
  align-content: start;
  width: 100%;
  max-width: none;
  margin: 0;
  padding-top: 12px;
  border-top: 1px solid #050505 !important;
}

.archive-index__title {
  grid-column: 1;
  margin: 0;
  color: #050505;
  font-size: clamp(27px, 2.65vw, 42px);
  line-height: 1.02;
  text-wrap: balance;
}

.archive-index__date {
  grid-column: 2;
  justify-self: end;
  margin: 0.2em 0 0;
  color: #050505;
  font-size: clamp(12px, 0.85vw, 14px);
  line-height: 1.2;
  text-align: right;
}

.archive-index__entry figure {
  grid-column: 1 / -1;
  width: 100%;
  margin: clamp(24px, 2.6vw, 38px) 0 0;
  aspect-ratio: 4 / 3;
}

.archive-index__excerpt {
  grid-column: 1 / -1;
  max-width: 54ch;
  margin: 18px 0 0;
  font-size: clamp(13px, 0.95vw, 15px);
  line-height: 1.5;
}

.archive-index__entry:is(:hover, :focus-visible) .archive-index__title {
  color: #050505;
  text-decoration: underline;
  text-decoration-thickness: 1px;
  text-underline-offset: 0.12em;
}

.title-lock {
  white-space: nowrap;
}

.project-documentation {
  background: #F7F9FC;
  color: #050505;
}

.project-documentation__header {
  min-height: 66svh;
  padding: clamp(110px, 10vw, 150px) 3vw clamp(78px, 8vw, 116px);
  background: #F7F9FC;
  color: #050505;
  border-top: 7px solid var(--project-accent) !important;
}

.project-documentation__shape {
  display: none;
}

.project-documentation__location {
  grid-column: 10 / 13;
  justify-self: end;
  color: #050505;
  text-align: right;
}

.project-documentation__header h1 {
  grid-column: 1 / 8;
  align-self: start;
  max-width: 13ch;
  margin: clamp(70px, 8vw, 112px) 0 0;
  color: #050505;
  font-size: clamp(44px, 6vw, 86px);
  line-height: 0.96;
  text-wrap: balance;
}

.project-documentation--sonic .project-documentation__header h1 {
  grid-column: 1 / 9;
  max-width: none;
  font-size: clamp(40px, 5.1vw, 74px);
  white-space: nowrap;
}

.project-documentation__copy {
  grid-column: 8 / 13;
  align-self: start;
  margin-top: clamp(72px, 8vw, 114px);
  color: #050505;
}

.project-documentation__images {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: clamp(76px, 8vw, 126px) 4vw;
  padding: clamp(84px, 9vw, 132px) 4vw clamp(120px, 13vw, 190px);
  background: #F7F9FC;
}

.project-documentation__image,
.project-documentation__image:nth-child(n),
.project-documentation__image[class*="project-documentation__image--"] {
  grid-column: auto !important;
  width: 100%;
  margin: 0 !important;
}

.project-documentation__image img {
  object-position: left top;
}

.project-documentation__image figcaption {
  max-width: 68ch;
  margin-top: 12px;
  padding-top: 8px;
  border-top: 1px solid rgba(5, 5, 5, 0.28);
}

.project-documentation__navigation,
.project-documentation > .legal-line {
  background: #F7F9FC;
}

/* Archive index: consistent editorial entries */
.archive-index {
  grid-template-columns: repeat(12, minmax(0, 1fr));
  gap: clamp(110px, 13vw, 200px) 2vw;
}

.archive-index__entry,
.archive-index__entry:nth-child(n) {
  width: 100%;
  max-width: 430px;
  margin-top: 0;
}

.archive-index__entry:nth-child(1) { grid-column: 1 / 5; }
.archive-index__entry:nth-child(2) { grid-column: 7 / 11; margin-top: 5vw; }
.archive-index__entry:nth-child(3) { grid-column: 3 / 7; }
.archive-index__entry:nth-child(4) { grid-column: 8 / 12; margin-top: 3vw; }
.archive-index__entry:nth-child(5) { grid-column: 1 / 5; }
.archive-index__entry:nth-child(6) { grid-column: 6 / 10; margin-top: 4vw; }

.archive-index__title {
  margin: 0;
  color: var(--entry-accent);
  font-family: var(--font-display);
  font-size: clamp(28px, 3.2vw, 48px);
  font-weight: 400;
  line-height: 0.98;
  letter-spacing: 0;
  text-transform: lowercase;
}

.archive-index__date {
  margin: 0.7em 0 1.35em;
  font-family: var(--font-interface);
  font-size: clamp(13px, 0.92vw, 15px);
  line-height: 1.3;
}

.archive-index__entry figure {
  display: flex;
  align-items: flex-start;
  justify-content: flex-start;
  width: 100%;
  aspect-ratio: 4 / 3;
  margin: 0;
}

.archive-index__entry img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  object-position: left top;
}

.archive-index__excerpt {
  max-width: 38ch;
  margin: 1.15em 0 0;
  font-family: var(--font-interface);
  font-size: clamp(14px, 1vw, 16px);
  line-height: 1.48;
}

.archive-index__entry:is(:hover, :focus-visible) .archive-index__title {
  color: #050505;
}

@media (max-width: 700px) {
  .archive-index {
    display: flex;
    flex-direction: column;
    gap: 96px;
  }

  .archive-index__entry,
  .archive-index__entry:nth-child(n) {
    align-self: flex-start;
    width: 100%;
    max-width: none;
    margin: 0;
  }

  .archive-index__title {
    font-size: clamp(28px, 9vw, 38px);
  }

  .archive-index__date {
    margin-bottom: 18px;
    font-size: 13px;
  }

  .archive-index__excerpt {
    max-width: 34ch;
    font-size: 15px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .global-footer__fragment {
    animation: none !important;
  }

  .home-opening .home-link {
    animation: none !important;
    translate: none !important;
  }

  .black-belt-space,
  .black-belt-letter {
    transition: none !important;
  }

  .black-belt-phrase:is(:hover, :focus-visible) .black-belt-space {
    width: 0.24em;
  }

  .black-belt-phrase:is(:hover, :focus-visible) .black-belt-letter {
    transform: none;
  }

  .archive-index__entry,
  .project-documentation__image,
  .page-identity-shape,
  .modal__panel--newsletter::before {
    animation: none !important;
    transition: none !important;
  }
}

@media (max-width: 700px) {
  .global-footer {
    height: auto;
    min-height: 680px;
    margin-top: 72px;
    padding: 42px 20px 0;
  }

  .home-view > .global-footer {
    margin-top: 0;
  }

  .global-footer__band {
    display: flex;
    flex-direction: column;
    gap: 24px;
    width: 100%;
    font-size: 12px;
  }

  .global-footer__newsletter,
  .global-footer__address,
  .global-footer__contact,
  .global-footer__links {
    width: 100%;
    max-width: none;
    margin: 0;
  }

  .global-footer__newsletter h2 {
    font-size: 11px;
  }

  .global-footer__newsletter > p {
    max-width: 34ch;
    font-size: inherit;
  }

  .global-footer__contact p {
    margin: 0;
  }

  .global-footer__contact a {
    font-size: inherit;
    overflow-wrap: anywhere;
  }

  .global-footer__address {
    line-height: 1.45;
  }

  .global-footer__contact p + p {
    margin-top: 22px;
  }

  .global-footer__links {
    display: flex;
    flex-direction: row;
    gap: 18px;
    flex-wrap: wrap;
  }

  .global-footer__copyright {
    left: 20px;
    bottom: 126px;
    width: max-content;
    margin: 0;
    font-size: 10px;
    text-align: left;
  }

  .global-footer__fragments {
    height: 108px;
  }

  .global-footer__fragment--1 { left: 2vw; bottom: 4%; width: 25vw; height: 78px; }
  .global-footer__fragment--2 { left: 25vw; bottom: 1%; width: 21vw; height: 68px; }
  .global-footer__fragment--3 { left: 49vw; bottom: 3%; width: 27vw; height: 88px; }
  .global-footer__fragment--4 { right: 2vw; left: auto; bottom: 2%; width: 23vw; height: 74px; }
  .global-footer__fragment--5,
  .global-footer__fragment--6 { display: none; }
}

@media (max-width: 700px) {
  .global-footer {
    --footer-text-size: 15px;
    height: auto;
    min-height: 760px;
    padding: 42px 20px 210px;
  }

  .global-footer__band {
    display: flex;
    flex-direction: column;
    gap: 34px;
    width: 100%;
    font-size: var(--footer-text-size);
  }

  .global-footer__newsletter,
  .global-footer__contact,
  .global-footer__links {
    width: 100%;
    font-size: var(--footer-text-size);
  }

  .global-footer__newsletter h2,
  .global-footer__contact h2,
  .global-footer__newsletter > p,
  .global-footer__contact address,
  .global-footer__links a,
  .global-footer__links button,
  .global-footer__copyright {
    font-size: var(--footer-text-size);
  }

  .global-footer__newsletter > p {
    max-width: 33ch;
  }

  .global-footer__links {
    flex-direction: row;
    flex-wrap: wrap;
    gap: 12px 22px;
  }

  .global-footer__copyright {
    left: 20px;
    bottom: 176px;
    max-width: calc(100% - 40px);
  }

  .global-footer__mark {
    right: 10px;
    bottom: 10px;
    width: 210px;
    height: 145px;
  }
}

/* Final institutional layout overrides. */
.archive-view {
  background: #F1F7FF;
}

.archive-index__intro {
  min-height: 30svh;
  padding: clamp(104px, 11vw, 150px) 0 clamp(52px, 6vw, 84px);
}

.archive-index__intro h1 {
  color: #050505;
  font-size: clamp(50px, 6vw, 82px);
  line-height: 0.9;
}

.archive-index {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: clamp(84px, 10vw, 150px) 5vw;
  padding-bottom: clamp(110px, 12vw, 180px);
}

.archive-index__entry,
.archive-index__entry:nth-child(n) {
  display: grid;
  grid-column: auto;
  grid-template-columns: minmax(0, 1fr) auto;
  column-gap: 24px;
  align-content: start;
  width: 100%;
  max-width: none;
  margin: 0;
  padding-top: 12px;
  border-top: 1px solid #050505 !important;
}

.archive-index__title {
  grid-column: 1;
  color: #050505;
  font-size: clamp(27px, 2.65vw, 42px);
  line-height: 1.02;
  text-wrap: balance;
}

.archive-index__date {
  grid-column: 2;
  justify-self: end;
  margin: 0.2em 0 0;
  font-size: clamp(12px, 0.85vw, 14px);
  text-align: right;
}

.archive-index__entry figure {
  grid-column: 1 / -1;
  margin-top: clamp(24px, 2.6vw, 38px);
}

.archive-index__excerpt {
  grid-column: 1 / -1;
  max-width: 54ch;
  margin-top: 18px;
  font-size: clamp(13px, 0.95vw, 15px);
  line-height: 1.5;
}

.project-documentation__header {
  min-height: 66svh;
  background: #F7F9FC;
  color: #050505;
}

.project-documentation__header h1 {
  color: #050505;
  font-size: clamp(44px, 6vw, 86px);
  line-height: 0.96;
  text-wrap: balance;
}

.project-documentation__images {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: clamp(76px, 8vw, 126px) 4vw;
  background: #F7F9FC;
}

.project-documentation__image,
.project-documentation__image:nth-child(n),
.project-documentation__image[class*="project-documentation__image--"] {
  grid-column: auto !important;
  width: 100%;
  margin: 0 !important;
}

@media (max-width: 700px) {
  .archive-index__intro {
    min-height: auto;
    padding: 92px 0 58px;
  }

  .archive-index__intro h1 {
    font-size: clamp(50px, 16vw, 68px);
  }

  .page-identity-shape--archive {
    display: none;
  }

  .archive-index {
    display: grid;
    grid-template-columns: 1fr;
    gap: 78px;
    padding-bottom: 110px;
  }

  .archive-index__entry,
  .archive-index__entry:nth-child(n) {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    width: 100%;
    max-width: none;
    margin: 0;
  }

  .archive-index__title {
    font-size: clamp(26px, 7.8vw, 34px);
  }

  .archive-index__date {
    margin-top: 0.25em;
    font-size: 12px;
  }

  .archive-index__entry figure {
    margin-top: 22px;
  }

  .archive-index__excerpt {
    max-width: 38ch;
    font-size: 14px;
  }

  .project-documentation__header {
    display: flex;
    min-height: auto;
    padding: 92px 20px 76px;
  }

  .project-documentation__location {
    order: 0;
    align-self: flex-end;
    text-align: right;
  }

  .project-documentation__header h1,
  .project-documentation--sonic .project-documentation__header h1 {
    order: 1;
    max-width: 100%;
    margin: 62px 0 0;
    font-size: clamp(38px, 11.5vw, 54px);
    line-height: 1;
    white-space: normal;
    text-wrap: balance;
  }

  .project-documentation__copy {
    order: 2;
    margin-top: 60px;
    padding-top: 0;
    font-size: 15px;
  }

  .project-documentation__images {
    display: grid;
    grid-template-columns: 1fr;
    gap: 82px;
    padding: 74px 20px 112px;
  }

  .project-documentation__image,
  .project-documentation__image:nth-child(n) {
    width: 100%;
    margin: 0 !important;
  }
}

/* Statement-like homepage panels and line-free documentation. */
.archive-index__entry,
.archive-index__entry:nth-child(n) {
  padding-top: 0;
  border-top: 0 !important;
}

.project-documentation__header {
  border-top: 0 !important;
}

.project-documentation__image figcaption {
  padding-top: 0;
  border-top: 0;
}

.home-info-panel {
  padding: clamp(88px, 11svh, 124px) 0 clamp(100px, 12vw, 170px);
  background: #FAFAF7;
}

.home-info-panel__inner {
  display: block;
  width: 92vw;
  margin: 0 auto;
}

.home-info-panel__label,
.home-info-panel__content {
  width: 100%;
  color: var(--home-panel-text);
  font-family: var(--font-display);
  font-size: clamp(48px, min(5.2vw, 8.2vh), 86px);
  font-weight: 400;
  line-height: 0.96;
  letter-spacing: -0.006em;
  text-transform: none;
}

.home-info-panel__label {
  margin: 0 0 0.9em;
}

.home-info-panel__content > p,
.home-info-panel__content section > p {
  max-width: none;
  margin: 0 0 0.8em;
}

.home-info-panel__embedded-section {
  margin-top: 1.25em;
}

.home-info-panel__embedded-section > h2 {
  margin: 0 0 0.8em;
  color: inherit;
  font: inherit;
  line-height: inherit;
}

.home-info-panel .program-field {
  display: block;
  margin-top: 0.7em;
  font: inherit;
  line-height: inherit;
}

.home-info-panel .program-field h2,
.home-info-panel .people-directory h2 {
  margin: 0 0 0.8em;
  font: inherit;
  line-height: inherit;
}

.home-info-panel .people-directory {
  display: block;
  font: inherit;
  line-height: inherit;
}

.home-info-panel .program-field section,
.home-info-panel .people-directory__section {
  margin: 0 0 1.1em;
}

.home-info-panel .people-directory ul,
.home-info-panel .people-directory__section--directors ul {
  columns: 1;
  font: inherit;
  line-height: inherit;
}

.home-info-panel .contact-field,
.home-info-panel .contact-field .mono {
  font: inherit;
  line-height: inherit;
}

.home-info-panel .contact-field a,
.home-info-panel .contact-field button {
  overflow-wrap: anywhere;
}

.home-info-panel__close {
  display: block;
  margin: clamp(74px, 9vw, 128px) 0 0 auto;
  color: var(--home-panel-text);
}

@media (max-width: 1100px) and (min-width: 701px) {
  .home-info-panel__label,
  .home-info-panel__content {
    font-size: clamp(40px, min(5.3vw, 7vh), 60px);
  }
}

@media (max-width: 700px) {
  .home-info-panel {
    padding: clamp(86px, 11svh, 104px) 0 86px;
  }

  .home-info-panel__inner {
    width: calc(100vw - 40px);
  }

  .home-info-panel__label,
  .home-info-panel__content {
    font-size: clamp(27px, min(7.9vw, 4.8vh), 33px);
    line-height: 0.98;
  }

  .home-info-panel__label {
    margin-bottom: 0.9em;
  }

  .home-info-panel .program-field {
    display: block;
    font-size: inherit;
  }

  .home-info-panel .people-directory {
    display: block;
    font-size: inherit;
  }

  .home-info-panel__close {
    margin-top: 72px;
  }
}

/* Quiet reading scale for expanded homepage information. */
.home-info-panel {
  background: var(--menu-preview-bg, var(--home-background));
  transition: background-color 150ms linear, color 150ms linear;
}

.home-info-panel__inner {
  position: relative;
  z-index: 2;
}

.home-info-panel__network {
  position: absolute;
  z-index: 0;
  inset: 0;
  overflow: hidden;
  color: var(--menu-preview-network, transparent);
  pointer-events: none;
}

.home-info-panel__network:empty {
  display: none;
}

.home-info-panel__network .shape-object {
  --shape-x: 22vw;
  --shape-y: 2svh;
  --shape-w: 92vw;
  --shape-h: min(92svh, 760px);
  --shape-r: -4deg;
  z-index: 0;
  color: currentColor;
  pointer-events: none;
}

.home-info-panel__network .shape-object__surface,
.home-info-panel__network .shape-object__surface svg {
  width: 100%;
  height: 100%;
  color: currentColor;
}

.home-info-panel__network .shape-fragments,
.home-info-panel__network .shape-meta {
  display: none !important;
}

.spatial-app.has-menu-preview .home-info-panel__label,
.spatial-app.has-menu-preview .home-info-panel__content,
.spatial-app.has-menu-preview .home-info-panel__close {
  color: var(--menu-preview-ink);
}

.home-info-panel__label,
.home-info-panel__content {
  font-family: var(--font-interface);
  font-size: clamp(19px, 2vw, 30px);
  line-height: 1.34;
  letter-spacing: 0;
}

.home-info-panel__label {
  margin-bottom: 1.25em;
}

.home-info-panel .program-field,
.home-info-panel .program-field h2,
.home-info-panel .people-directory,
.home-info-panel .people-directory h2,
.home-info-panel .contact-field,
.home-info-panel .contact-field .mono {
  font-family: var(--font-interface);
  font-size: inherit;
  line-height: inherit;
  letter-spacing: 0;
}

@media (max-width: 700px) {
  .home-info-panel__label,
  .home-info-panel__content {
    font-size: clamp(17px, 5vw, 21px);
    line-height: 1.4;
  }

  .home-info-panel__network .shape-object {
    --shape-x: -34vw;
    --shape-y: 0;
    --shape-w: 150vw;
    --shape-h: 76svh;
  }
}
/* Keep the homepage statement, navigation, and fold-out content on one canvas. */
.home-canvas {
  position: relative;
  isolation: isolate;
  width: 100%;
  overflow: hidden;
  background: var(--home-background);
  color: var(--home-text);
}

.home-view,
.home-opening,
.home-info-panel {
  background: transparent !important;
}

.home-opening,
.home-info-panel {
  position: relative;
  z-index: 2;
}

.home-opening {
  overflow: visible;
}

.home-info-panel {
  transition: none !important;
}

#home-shape {
  position: absolute;
  z-index: 1;
  inset: 0;
  overflow: hidden;
  pointer-events: none;
}

.spatial-app.has-menu-preview .home-canvas {
  background: var(--menu-preview-bg);
  color: var(--menu-preview-ink);
}

.spatial-app .home-canvas,
.spatial-app .home-view,
.spatial-app .home-opening,
.spatial-app .home-info-panel {
  transition: none !important;
}

/* Day / twilight / night appearance system */
html,
body,
.spatial-app,
.view {
  background-color: var(--theme-base);
  color: var(--theme-text);
}

.spatial-app[data-view] .orientation {
  background: var(--theme-header) !important;
  color: var(--theme-text) !important;
}

.spatial-app .orientation__identity,
.spatial-app .appearance-switch__button {
  color: inherit !important;
}

.spatial-app .orientation__identity {
  --mark-color: currentColor !important;
}

.home-statement {
  color: var(--theme-text);
}

.spatial-app[data-view="home"].has-menu-preview .orientation {
  background: color-mix(in srgb, var(--menu-preview-bg) 68%, transparent) !important;
  color: var(--menu-preview-ink) !important;
}

.spatial-app.has-menu-preview .home-statement {
  color: var(--menu-preview-ink);
}

.spatial-app[data-view="home"].has-home-project-preview .orientation {
  background: color-mix(in srgb, var(--home-preview-bg) 68%, transparent) !important;
  color: var(--home-preview-ink) !important;
}

.home-canvas {
  background: var(--theme-base);
  color: var(--theme-text);
}

.archive-view {
  background: var(--theme-archive);
  color: var(--theme-text);
}

.project-documentation,
.project-documentation__header,
.project-documentation__images,
.project-documentation__navigation,
.project-documentation > .legal-line {
  background: var(--theme-surface);
}

.project-documentation {
  color: var(--theme-text);
}

html[data-appearance="twilight"] .info-view:not(.info-view--support),
html[data-appearance="night"] .info-view:not(.info-view--support) {
  background: var(--theme-surface);
  color: var(--theme-text);
}

html[data-appearance="night"] .info-view--support {
  background: #100B16;
  color: var(--theme-text);
}

html[data-appearance="twilight"] .modal__panel--privacy,
html[data-appearance="night"] .modal__panel--privacy {
  background: var(--theme-surface);
  color: var(--theme-text);
}

html[data-appearance="twilight"] .global-footer {
  background: color-mix(in srgb, var(--footer-background) 76%, #6A4B79);
}

html[data-appearance="night"] .global-footer {
  background: color-mix(in srgb, var(--footer-background) 58%, #100B16);
}

html[data-appearance="night"] .archive-index__title,
html[data-appearance="night"] .archive-index__date,
html[data-appearance="night"] .archive-index__excerpt,
html[data-appearance="night"] .project-documentation__copy,
html[data-appearance="night"] .project-documentation__location,
html[data-appearance="night"] .project-documentation__image figcaption,
html[data-appearance="night"] .project-documentation__navigation {
  color: var(--theme-text);
}

@media (max-width: 700px) {
  .orientation {
    grid-template-columns: minmax(0, 1fr) auto;
  }

  .appearance-switch {
    grid-column: 2;
  }

  .appearance-switch__button {
    width: 30px;
    height: 30px;
    font-size: 17px;
  }
}

/* Narrower, quieter reading measure for homepage fold-outs. */
.home-info-panel__inner {
  padding-inline: 2vw;
}

.home-info-panel__label {
  grid-column: 2 / 4;
  font-size: clamp(13px, 0.9vw, 15px);
  font-weight: 400;
  line-height: 1.35;
}

.home-info-panel__content {
  grid-column: 5 / 11;
  width: 100%;
  max-width: 58ch;
  font-size: clamp(16px, 1.35vw, 21px);
  font-weight: 400;
  font-synthesis: none;
  line-height: 1.48;
}

.home-info-panel__content :is(h2, h3, strong, b),
.home-info-panel .program-field h2,
.home-info-panel .people-directory h2 {
  font-family: var(--font-interface);
  font-size: inherit;
  font-weight: 400;
  font-synthesis: none;
  line-height: inherit;
}

.home-info-panel .program-field {
  grid-template-columns: 1fr;
  gap: clamp(28px, 3vw, 46px);
  margin-top: clamp(34px, 4vw, 58px);
}

.home-info-panel__close {
  grid-column: 11;
}

@media (max-width: 700px) {
  .home-info-panel__inner {
    width: calc(100vw - 48px);
    padding-inline: 0;
  }

  .home-info-panel__label,
  .home-info-panel__content {
    font-size: clamp(16px, 4.35vw, 18px);
    line-height: 1.46;
  }

  .home-info-panel__content {
    max-width: 36ch;
  }
}

/* Right-weighted homepage information and a shared hyphal menu armature. */
.home-info-panel__inner {
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  column-gap: 2vw;
  width: 100%;
  margin: 0;
  padding-inline: 4vw;
}

.home-info-panel__label {
  grid-column: 5 / 7;
}

.home-info-panel__content {
  grid-column: 7 / 12;
  max-width: 56ch;
}

.home-info-panel .people-directory__section--artists ul {
  columns: 2;
  column-gap: clamp(36px, 4vw, 72px);
  column-fill: balance;
}

.home-info-panel .people-directory h2,
.home-info-panel .program-field h2 {
  margin: 0 0 1.4em;
  font-family: "Geist Mono", monospace;
  font-size: clamp(11px, 0.78vw, 13px);
  font-weight: 400;
  line-height: 1.4;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

.home-info-panel .people-directory__section {
  margin-bottom: clamp(42px, 5vw, 74px);
}

.home-navigation {
  min-height: clamp(168px, 16vw, 220px);
}

.home-opening .home-link__cloud .menu-main,
.home-opening .home-link__cloud .menu-main * {
  fill: transparent !important;
  stroke: var(--menu-color) !important;
  stroke-width: 2.35px;
  stroke-linecap: round;
  stroke-linejoin: round;
  vector-effect: non-scaling-stroke;
}

.home-opening .home-link__label {
  max-width: calc(100% - 20px);
  color: var(--menu-color) !important;
  font-family: "Uncut Sans", sans-serif;
  font-size: clamp(14px, 1.08vw, 18px);
  font-weight: 600;
  line-height: 1;
  letter-spacing: 0;
}

.home-opening .home-link:focus-visible {
  outline: 2px solid var(--menu-color);
  outline-offset: 5px;
}

html[data-appearance="night"] .spatial-app:not(.has-menu-preview):not(.has-home-project-preview) .home-opening .home-link--support {
  --menu-color: #C6A1FF !important;
}

.home-opening .home-link--archive { left: 8%; top: 43%; }
.home-opening .home-link--editions { left: 22%; top: 36%; }
.home-opening .home-link--newsletter { left: 34%; top: 46%; }
.home-opening .home-link--about { left: 46%; top: 58%; }
.home-opening .home-link--programs { left: 59%; top: 42%; }
.home-opening .home-link--people { left: 72%; top: 60%; }
.home-opening .home-link--support { left: 84%; top: 40%; }
.home-opening .home-link--contact { left: 95%; top: 57%; }

@media (max-width: 700px) {
  .home-info-panel__inner {
    display: block;
    width: calc(100vw - 48px);
    margin: 0 24px;
    padding-inline: 0;
  }

  .home-info-panel .people-directory__section--artists ul {
    columns: 1;
  }

  .home-info-panel .people-directory h2,
  .home-info-panel .program-field h2 {
    font-size: 11px;
  }

  .home-navigation {
    min-height: 218px;
  }

  .home-opening .home-link--archive { left: 17%; top: 20%; }
  .home-opening .home-link--newsletter { left: 55%; top: 25%; }
  .home-opening .home-link--about { left: 88%; top: 20%; }
  .home-opening .home-link--editions { left: 15%; top: 50%; }
  .home-opening .home-link--programs { left: 51%; top: 54%; }
  .home-opening .home-link--people { left: 87%; top: 49%; }
  .home-opening .home-link--support { left: 35%; top: 82%; }
  .home-opening .home-link--contact { left: 69%; top: 84%; }

  .home-opening .home-link__label {
    font-size: 12px;
  }
}

/* Archive image-led index experiment. */
.archive-view .archive-index {
  display: flex;
  flex-direction: column;
  gap: clamp(100px, 11vw, 160px);
  padding-inline: 4vw;
  padding-bottom: clamp(130px, 14vw, 210px);
}

.archive-view .archive-index__entry,
.archive-view .archive-index__entry:nth-child(n) {
  position: relative;
  align-self: flex-start;
  display: grid;
  grid-template-columns: minmax(0, 1.65fr) minmax(190px, 0.8fr);
  grid-template-rows: auto auto auto;
  column-gap: clamp(28px, 3.5vw, 54px);
  width: min(72vw, 900px);
  max-width: none;
  margin: 0;
  padding: 0;
  text-decoration: none !important;
}

.archive-view .archive-index__entry:nth-child(even) {
  align-self: flex-end;
}

.archive-view .archive-index__title {
  position: relative;
  z-index: 2;
  grid-column: 1 / -1;
  grid-row: 1;
  width: min(100%, 16ch);
  margin: 0 0 -0.2em -0.035em;
  color: #050505;
  font-family: "Violet Sans", Arial, sans-serif;
  font-size: clamp(38px, 4.2vw, 64px);
  font-style: normal;
  font-weight: 400;
  line-height: 0.94;
  letter-spacing: 0;
  text-transform: lowercase;
  text-wrap: balance;
  pointer-events: none;
}

.archive-view .archive-index__entry figure {
  grid-column: 1;
  grid-row: 2;
  display: block;
  width: 100%;
  aspect-ratio: 4 / 3;
  margin: 0;
  overflow: hidden;
  background: #DDE4EE;
}

.archive-view .archive-index__entry img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  transition: transform 260ms ease;
}

.archive-view .archive-index__date {
  grid-column: 1;
  grid-row: 3;
  justify-self: end;
  margin: 18px 0 0;
  color: #050505;
  font-family: "Violet Sans", sans-serif;
  font-size: clamp(13px, 0.95vw, 15px);
  line-height: 1.35;
  text-align: right;
}

.archive-view .archive-index__excerpt {
  grid-column: 2;
  grid-row: 2;
  align-self: end;
  max-width: 30ch;
  margin: 0 0 2px;
  color: #050505;
  font-family: "Violet Sans", sans-serif;
  font-size: clamp(14px, 1.05vw, 17px);
  line-height: 1.5;
}

.archive-view .archive-index__summary,
.archive-view .archive-index__artists {
  display: block;
}

.archive-view .archive-index__artists {
  margin-top: 1.15em;
  font-size: 0.86em;
  line-height: 1.42;
}

.archive-view .archive-index__artists-label {
  display: block;
  margin-bottom: 0.45em;
  font-family: "Geist Mono", monospace;
  font-size: 0.72em;
  letter-spacing: 0.05em;
  text-transform: uppercase;
}

.archive-view .archive-index__entry:is(:hover, :focus-visible),
.archive-view .archive-index__entry:is(:hover, :focus-visible) * {
  text-decoration: none !important;
}

.archive-view .archive-index__entry:is(:hover, :focus-visible) img {
  transform: none;
}

.archive-view .archive-index__entry:is(:hover, :focus-visible) .archive-index__title {
  color: var(--entry-accent);
}

html[data-appearance="night"] .archive-view .archive-index__title,
html[data-appearance="night"] .archive-view .archive-index__date,
html[data-appearance="night"] .archive-view .archive-index__excerpt {
  color: var(--theme-text);
}

@media (max-width: 700px) {
  .archive-view .archive-index {
    gap: 92px;
    padding-inline: 24px;
    padding-bottom: 120px;
  }

  .archive-view .archive-index__entry,
  .archive-view .archive-index__entry:nth-child(n) {
    align-self: stretch;
    grid-template-columns: 1fr;
    grid-template-rows: auto auto auto auto;
    width: 100%;
  }

  .archive-view .archive-index__title {
    grid-column: 1;
    width: 82%;
    margin-bottom: -0.18em;
    font-size: clamp(32px, 9.8vw, 42px);
    line-height: 0.94;
  }

  .archive-view .archive-index__entry figure {
    grid-column: 1;
    justify-self: start;
    width: 78%;
    aspect-ratio: 4 / 3;
  }

  .archive-view .archive-index__entry:nth-child(even) figure,
  .archive-view .archive-index__entry:nth-child(even) .archive-index__title {
    justify-self: end;
  }

  .archive-view .archive-index__date {
    grid-column: 1;
    grid-row: 3;
    justify-self: start;
    width: 78%;
    margin-top: 12px;
  }

  .archive-view .archive-index__entry:nth-child(even) .archive-index__date {
    justify-self: end;
  }

  .archive-view .archive-index__excerpt {
    grid-column: 1;
    grid-row: 4;
    width: 78%;
    max-width: 36ch;
    margin-top: 16px;
    font-size: 14px;
  }

  .archive-view .archive-index__entry:nth-child(even) .archive-index__excerpt {
    justify-self: end;
  }
}

/* Project introductions: title-led two-column reading field. */
@media (min-width: 901px) {
  .project-documentation__header h1,
  .project-documentation--sonic .project-documentation__header h1 {
    grid-column: 1 / 5;
    max-width: 12ch;
    margin-top: clamp(72px, 8vw, 116px);
    white-space: normal;
  }

  .project-documentation__copy {
    grid-column: 5 / 13;
    align-self: start;
    max-width: none;
    margin-top: clamp(72px, 8vw, 116px);
    column-count: 2;
    column-gap: clamp(28px, 3vw, 52px);
    column-fill: balance;
    font-size: clamp(14px, 1.02vw, 17px);
    line-height: 1.5;
  }

  .project-documentation__copy p,
  .project-documentation__program-meta,
  .project-documentation__copy .sonic-essay-toggle {
    break-inside: avoid-column;
  }

  .project-documentation__copy p:first-of-type {
    margin-top: 0;
  }

  .project-documentation--lucas .project-documentation__header h1 {
    z-index: 3;
    grid-column: 1 / 6;
    grid-row: 2;
    max-width: 12ch;
  }

  .project-documentation--lucas .project-documentation__copy {
    grid-column: 1 / 13;
    grid-row: 2;
    column-count: initial;
    font-size: clamp(19px, 1.45vw, 23px);
    line-height: 1.52;
  }

  .project-documentation--lucas .project-copy-flow {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: clamp(52px, 6vw, 96px);
  }

  .project-documentation--lucas .project-copy-flow__column--first {
    padding-top: clamp(190px, 16vw, 235px);
    padding-left: clamp(44px, 5vw, 78px);
  }

  .project-documentation--lucas .project-copy-flow__column--second {
    padding-top: 0;
  }
}

.project-simple-language {
  position: relative;
  z-index: 2;
  padding: clamp(30px, 4vw, 58px) 3vw clamp(72px, 8vw, 116px);
  background: var(--theme-surface);
  color: var(--theme-text);
}

.project-simple-language__toggle {
  min-height: 44px;
  padding: 9px 14px 10px;
  border: 1px solid currentColor;
  background: transparent;
  color: inherit;
  font-family: "Violet Sans", Arial, sans-serif;
  font-size: 16px;
  font-weight: 400;
  line-height: 1;
  text-transform: lowercase;
  cursor: pointer;
}

.project-simple-language__toggle:is(:hover, :focus-visible) {
  background: var(--theme-text);
  color: var(--theme-surface);
}

.project-simple-language__toggle:focus-visible {
  outline: 3px solid #213BFF;
  outline-offset: 3px;
}

.project-resource-button {
  display: inline-flex;
  align-items: center;
  min-height: 44px;
  padding: 9px 14px 10px;
  border: 1px solid currentColor;
  color: inherit;
  font-family: "Violet Sans", Arial, sans-serif;
  font-size: 16px;
  font-weight: 400;
  line-height: 1;
  text-decoration: none;
  text-transform: lowercase;
}

.project-resource-buttons {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 10px;
}

.project-resource-button:is(:hover, :focus-visible) {
  background: var(--theme-text);
  color: var(--theme-surface);
}

.project-resource-button:focus-visible {
  outline: 3px solid #213BFF;
  outline-offset: 3px;
}

.project-simple-language__panel {
  max-width: 66ch;
  margin: clamp(38px, 5vw, 72px) auto 0;
  font-family: "Violet Sans", Arial, sans-serif;
  font-size: clamp(18px, 1.35vw, 22px);
  font-weight: 400;
  line-height: 1.58;
}

.project-simple-language__panel p {
  margin: 0 0 1.35em;
}

html[data-appearance="night"] .project-documentation__header h1 {
  color: var(--theme-text);
}

@media (max-width: 900px) {
  .project-documentation--lucas .project-copy-flow {
    display: block;
  }

  .project-documentation--lucas .project-copy-flow__column--first {
    padding: 0;
  }

  .project-simple-language {
    padding: 24px 20px 76px;
  }

  .project-simple-language__panel {
    margin-top: 36px;
    font-size: 18px;
  }
}

.project-carousel {
  position: relative;
  padding: clamp(48px, 6vw, 88px) 3vw clamp(96px, 10vw, 150px);
  background: var(--theme-surface);
  color: var(--theme-text);
}

.project-carousel__controls {
  width: min(92vw, 1480px);
  margin-inline: auto;
}

.project-carousel__stage {
  position: relative;
  display: grid;
  grid-template-columns: clamp(44px, 6vw, 96px) minmax(0, 1fr) clamp(44px, 6vw, 96px);
  align-items: center;
  gap: clamp(8px, 1.2vw, 20px);
  width: 100%;
  overflow: hidden;
}

.project-carousel__viewport {
  width: min(78vw, 1320px);
  margin-inline: auto;
}

.project-carousel__peek {
  width: 100%;
  height: clamp(220px, 48svh, 620px);
  overflow: hidden;
  opacity: 0.58;
  pointer-events: none;
}

.project-carousel__peek img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.project-carousel__peek--previous img {
  object-position: right center;
}

.project-carousel__peek--next img {
  object-position: left center;
}

.project-carousel__viewport {
  outline: none;
}

.project-carousel__viewport:focus-visible {
  outline: 3px solid #213BFF;
  outline-offset: 6px;
}

.project-carousel__slide {
  margin: 0;
}

.project-carousel__slide[hidden] {
  display: none !important;
}

.project-carousel__image-frame {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: auto;
  min-height: 0;
  overflow: visible;
  background: transparent;
}

.project-carousel__slide img {
  display: block;
  width: auto;
  height: auto;
  max-width: 100%;
  max-height: min(72svh, 820px);
  aspect-ratio: auto;
  object-fit: contain;
  object-position: center;
}

.project-carousel__slide figcaption {
  max-width: none;
  margin: 12px auto 0;
  font-family: "Violet Sans", Arial, sans-serif;
  font-size: clamp(13px, 0.95vw, 15px);
  font-weight: 400;
  line-height: 1.45;
  text-align: center;
}

.project-carousel__controls {
  display: flex;
  align-items: center;
  justify-content: center;
  margin-top: 18px;
}

.project-carousel__hit-area {
  position: absolute;
  z-index: 5;
  top: 0;
  bottom: 34px;
  width: 50%;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  color: transparent;
}

.project-carousel__hit-area--previous {
  left: 0;
  cursor: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='52' height='52' viewBox='0 0 52 52'%3E%3Cpath d='M34 8L16 26l18 18' fill='none' stroke='%23FAFAF7' stroke-width='8' stroke-linecap='square' stroke-linejoin='miter'/%3E%3Cpath d='M34 8L16 26l18 18' fill='none' stroke='%23050505' stroke-width='4' stroke-linecap='square' stroke-linejoin='miter'/%3E%3C/svg%3E") 26 26, w-resize;
}

.project-carousel__hit-area--next {
  right: 0;
  cursor: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='52' height='52' viewBox='0 0 52 52'%3E%3Cpath d='M18 8l18 18-18 18' fill='none' stroke='%23FAFAF7' stroke-width='8' stroke-linecap='square' stroke-linejoin='miter'/%3E%3Cpath d='M18 8l18 18-18 18' fill='none' stroke='%23050505' stroke-width='4' stroke-linecap='square' stroke-linejoin='miter'/%3E%3C/svg%3E") 26 26, e-resize;
}

.project-carousel__hit-area:focus-visible {
  outline: 3px solid #213BFF;
  outline-offset: -6px;
}

@media (hover: none), (pointer: coarse) {
  .project-carousel__hit-area {
    display: none;
  }
}

.project-carousel__button {
  display: grid;
  place-items: center;
  width: 48px;
  height: 48px;
  padding: 0;
  border: 1px solid currentColor;
  border-radius: 0;
  background: transparent;
  color: inherit;
  font: inherit;
  font-size: 26px;
  line-height: 1;
  cursor: pointer;
}

.project-carousel__button--previous {
  justify-self: start;
}

.project-carousel__button--next {
  justify-self: end;
}

.project-carousel__button:is(:hover, :focus-visible) {
  background: var(--theme-text);
  color: var(--theme-surface);
}

.project-carousel__button:focus-visible {
  outline: 3px solid #213BFF;
  outline-offset: 3px;
}

.project-carousel__count {
  margin: 0;
  font-size: 13px;
}

@media (max-width: 700px) {
  .project-carousel {
    padding: 36px 20px 92px;
  }

  .project-carousel__viewport,
  .project-carousel__controls {
    width: 100%;
  }

  .project-carousel__stage {
    grid-template-columns: 24px minmax(0, 1fr) 24px;
    gap: 6px;
    width: calc(100% + 40px);
    margin-left: -20px;
  }

  .project-carousel__peek {
    height: min(45svh, 420px);
  }

  .project-carousel__image-frame {
    height: auto;
    min-height: 0;
  }

  .project-carousel__slide img {
    max-height: min(58svh, 520px);
  }

  .project-carousel__button {
    width: 44px;
    height: 44px;
  }

  .project-carousel__hit-area {
    display: none;
  }
}

/* Definitive project reading layout. Keep last to avoid legacy cascade conflicts. */
@media (min-width: 901px) {
  .project-documentation__header {
    grid-template-rows: auto auto;
    min-height: auto;
    overflow: visible;
  }

  .project-documentation__copy,
  .project-documentation--lucas .project-documentation__copy {
    display: block;
    grid-column: 1 / 13;
    grid-row: 2;
    max-width: none;
    margin: 0;
    column-count: initial;
    column-gap: normal;
  }

  .project-copy-flow,
  .project-documentation--lucas .project-copy-flow {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    align-items: start;
    gap: clamp(52px, 6vw, 96px);
  }

  .project-copy-flow__primary {
    min-width: 0;
  }

  .project-documentation__header .project-copy-flow__primary h1,
  .project-documentation--sonic .project-documentation__header .project-copy-flow__primary h1,
  .project-documentation--lucas .project-documentation__header .project-copy-flow__primary h1 {
    display: block;
    max-width: 12ch;
    margin: clamp(72px, 8vw, 116px) 0 0;
    color: #050505;
    font-family: var(--font-display);
    font-size: clamp(44px, 6vw, 86px);
    font-weight: 400;
    line-height: 0.96;
    letter-spacing: 0;
    text-transform: lowercase;
    white-space: normal;
    text-wrap: balance;
  }

  .project-documentation--sonic .project-documentation__header .project-copy-flow__primary h1 {
    font-size: clamp(40px, 5.1vw, 74px);
  }

  .project-copy-flow__column,
  .project-documentation--lucas .project-copy-flow__column {
    display: block;
    grid-column: auto;
    grid-row: auto;
    color: #050505;
    font-family: "Violet Sans", Arial, sans-serif;
    font-size: clamp(19px, 1.45vw, 23px);
    font-weight: 400;
    line-height: 1.52;
  }

  .project-copy-flow__column--first,
  .project-documentation--lucas .project-copy-flow__column--first {
    padding: clamp(34px, 4vw, 62px) 0 0 clamp(44px, 5vw, 78px);
  }

  .project-copy-flow__column--second,
  .project-documentation--lucas .project-copy-flow__column--second {
    padding: clamp(72px, 8vw, 116px) 0 0;
  }
}

@media (max-width: 900px) {
  .project-documentation__copy,
  .project-copy-flow,
  .project-documentation--lucas .project-copy-flow {
    display: block;
  }

  .project-documentation__header .project-copy-flow__primary h1,
  .project-documentation--sonic .project-documentation__header .project-copy-flow__primary h1 {
    max-width: 100%;
    margin: 62px 0 0;
    color: #050505;
    font-family: var(--font-display);
    font-size: clamp(38px, 11.5vw, 54px);
    font-weight: 400;
    line-height: 1;
    letter-spacing: 0;
    text-transform: lowercase;
    white-space: normal;
    text-wrap: balance;
  }

  .project-copy-flow__column,
  .project-documentation--lucas .project-copy-flow__column {
    padding: 0;
    color: #050505;
    font-family: "Violet Sans", Arial, sans-serif;
    font-size: 18px;
    font-weight: 400;
    line-height: 1.55;
  }

  .project-copy-flow__column--first,
  .project-documentation--lucas .project-copy-flow__column--first {
    padding-top: 34px;
  }

  .project-copy-flow__column--second {
    margin-top: 1.35em;
  }
}

html[data-appearance="night"] .project-documentation__header .project-copy-flow__primary h1,
html[data-appearance="night"] .project-copy-flow__column {
  color: var(--theme-text);
}

/* Keep the accessibility option visible at the start of every project. */
.project-documentation__header > .project-simple-language {
  z-index: 4;
  align-self: start;
  padding: 0;
  background: transparent;
  color: #050505;
}

.project-documentation__header > .project-simple-language .project-simple-language__panel {
  margin: clamp(28px, 3vw, 46px) 0 0;
}

@media (min-width: 901px) {
  .project-documentation__header > .project-simple-language {
    grid-column: 1 / 9;
    grid-row: 1;
  }

  .project-documentation__copy,
  .project-documentation--lucas .project-documentation__copy {
    grid-row: 2;
  }
}

@media (max-width: 900px) {
  .project-documentation__header > .project-simple-language {
    order: 1;
    width: 100%;
    margin-top: 32px;
  }

  .project-documentation__copy {
    order: 2;
  }

  .project-documentation__header > .project-simple-language .project-simple-language__panel {
    margin-top: 28px;
  }
}

html[data-appearance="night"] .project-documentation__header > .project-simple-language {
  color: var(--theme-text);
}

/* Expanded About reading field. */
.home-info-panel[data-panel="about"] .home-info-panel__content,
.info-view--about .info-body {
  width: 100%;
  max-width: none;
  font-family: var(--font-interface);
  font-size: clamp(18px, 1.45vw, 25px);
  font-weight: 400;
  line-height: 1.43;
}

.home-info-panel[data-panel="about"] .home-info-panel__label {
  grid-column: 1 / 13;
  grid-row: 1;
  margin: 0 0 clamp(48px, 5vw, 82px);
  font-family: var(--font-display);
  font-size: clamp(54px, 7.2vw, 118px);
  font-weight: 400;
  line-height: 0.92;
  letter-spacing: 0;
  text-transform: lowercase;
}

.home-info-panel[data-panel="about"] .home-info-panel__content {
  grid-column: 3 / 13;
  grid-row: 2;
  max-width: none;
}

.info-view--about .info-body {
  width: 92vw;
  margin: clamp(66px, 7vw, 110px) auto 0;
}

.about-reading,
.black-belt-chapter__text {
  columns: 2;
  column-gap: clamp(48px, 6vw, 118px);
  column-fill: balance;
}

.about-reading > p,
.black-belt-chapter__text > p {
  margin: 0 0 1.05em;
  break-inside: avoid-column;
  orphans: 3;
  widows: 3;
}

.about-further-reading {
  margin: 1.8em 0 2.2em;
  break-inside: avoid-column;
  font-family: var(--font-interface);
  font-size: clamp(15px, 1.2vw, 19px);
  font-weight: 400;
  line-height: 1.35;
}

.about-further-reading h3 {
  margin: 0 0 0.75em;
  font: inherit;
}

.about-further-reading ul {
  display: grid;
  gap: 0.55em;
  margin: 0;
  padding: 0;
  list-style: none;
}

.about-further-reading a {
  color: inherit;
  text-decoration-thickness: 1px;
  text-underline-offset: 0.18em;
}

.about-further-reading a:focus-visible {
  outline: 3px solid currentColor;
  outline-offset: 4px;
}

.about-key {
  padding: 0 0.05em;
  color: inherit;
  box-shadow: inset 0 -0.3em 0 color-mix(in srgb, currentColor 19%, transparent);
}

.about-simple-language {
  margin: 0 0 clamp(72px, 8vw, 124px);
}

.about-simple-language__toggle {
  min-height: 44px;
  padding: 10px 15px 11px;
  border: 1px solid currentColor;
  background: transparent;
  color: inherit;
  font-family: var(--font-interface) !important;
  font-size: 16px !important;
  font-weight: 400 !important;
  line-height: 1 !important;
  text-transform: lowercase;
  cursor: pointer;
}

.about-simple-language__toggle:is(:hover, :focus-visible) {
  background: var(--theme-text);
  color: var(--theme-base);
}

.about-simple-language__toggle:focus-visible {
  outline: 3px solid #C000FF;
  outline-offset: 3px;
}

.about-simple-language__panel {
  max-width: 68ch;
  margin: clamp(34px, 4vw, 60px) 0 0;
  font-family: var(--font-interface);
  font-size: clamp(17px, 1.25vw, 21px);
  font-weight: 400;
  line-height: 1.55;
}

.about-simple-language__panel > p {
  margin: 0 0 1.25em;
}

.about-people {
  margin-top: clamp(86px, 9vw, 150px);
}

.about-people > h2,
.black-belt-chapter > h2 {
  margin: 0 0 clamp(34px, 4vw, 64px);
  font-family: var(--font-display);
  font-size: clamp(54px, 7.2vw, 118px);
  font-weight: 400;
  line-height: 0.92;
  letter-spacing: 0;
  text-transform: lowercase;
}

.about-people__profiles {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: clamp(38px, 4vw, 72px) clamp(48px, 6vw, 118px);
}

.about-people__profiles > p {
  max-width: 46ch;
  margin: 0;
}

.about-people__profiles strong {
  font-weight: 400;
  box-shadow: inset 0 -0.3em 0 color-mix(in srgb, currentColor 19%, transparent);
}

.about-status {
  max-width: 56ch !important;
  margin: clamp(76px, 8vw, 132px) 0 0 !important;
}

.black-belt-chapter {
  width: 100%;
  margin-top: clamp(110px, 12vw, 190px);
  color: #C000FF;
}

.home-info-panel__label,
.black-belt-chapter,
#black-belt-title {
  scroll-margin-top: clamp(72px, 10svh, 112px);
}

.editions-coming-soon {
  position: relative;
  display: grid;
  place-items: center;
  width: clamp(220px, 28vw, 390px);
  aspect-ratio: 360 / 122;
  margin-top: clamp(48px, 6vw, 88px);
  color: inherit;
}

.editions-coming-soon svg {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  overflow: visible;
}

.editions-coming-soon path {
  fill: none;
  stroke: currentColor;
  stroke-width: 4;
  stroke-linecap: round;
  stroke-linejoin: round;
  vector-effect: non-scaling-stroke;
}

.editions-coming-soon span {
  position: relative;
  z-index: 1;
  font-family: var(--font-interface);
  font-size: clamp(18px, 2vw, 28px);
  font-weight: 400;
  line-height: 1;
  letter-spacing: 0;
  text-transform: uppercase;
}

.support-coming-soon {
  position: relative;
  display: grid;
  place-items: center;
  width: clamp(310px, 40vw, 570px);
  aspect-ratio: 520 / 178;
  margin: clamp(52px, 6vw, 92px) 0;
  color: inherit;
}

.support-coming-soon svg {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  overflow: visible;
}

.support-coming-soon path {
  fill: none;
  stroke: currentColor;
  stroke-width: 4;
  stroke-linecap: round;
  stroke-linejoin: round;
  vector-effect: non-scaling-stroke;
}

.support-coming-soon span {
  position: relative;
  z-index: 1;
  max-width: 31ch;
  padding: 0 1.5em;
  font-family: var(--font-interface);
  font-size: clamp(15px, 1.55vw, 22px);
  font-weight: 400;
  line-height: 1.2;
  letter-spacing: 0;
  text-align: center;
}

@media (max-width: 700px) {
  .editions-coming-soon,
  .support-coming-soon {
    width: 100%;
    max-width: 390px;
  }

  .support-coming-soon span {
    font-size: clamp(14px, 4vw, 17px);
  }
}

.black-belt-chapter__text > p:last-child {
  font-family: var(--font-display);
  font-size: clamp(28px, 3vw, 52px);
  line-height: 1.02;
}

.black-belt-chapter__further {
  margin: clamp(48px, 5vw, 78px) 0 0;
  font-family: var(--font-interface);
  font-size: clamp(15px, 1.2vw, 19px);
  line-height: 1.35;
}

.black-belt-chapter__further h3 {
  margin: 0 0 0.75em;
  font: inherit;
  font-weight: 400;
}

.black-belt-chapter__further ul {
  display: grid;
  gap: 0.55em;
  margin: 0;
  padding: 0;
  list-style: none;
}

.black-belt-chapter__further a {
  color: inherit;
  text-decoration-thickness: 1px;
  text-underline-offset: 0.18em;
}

.black-belt-chapter__further a:focus-visible {
  outline: 3px solid currentColor;
  outline-offset: 4px;
}

.spatial-app.has-menu-preview .home-info-panel[data-panel="about"] .black-belt-chapter {
  color: var(--menu-preview-ink);
}

@media (max-width: 900px) {
  .about-reading,
  .black-belt-chapter__text {
    columns: 1;
  }

  .about-people__profiles {
    grid-template-columns: 1fr;
  }

  .about-people__profiles > p {
    max-width: 52ch;
  }
}

@media (max-width: 700px) {
  .home-info-panel[data-panel="about"] .home-info-panel__label,
  .home-info-panel[data-panel="about"] .home-info-panel__content {
    grid-column: 1 / -1;
  }

  .home-info-panel[data-panel="about"] .home-info-panel__label {
    grid-row: 1;
    margin-bottom: 42px;
    font-size: clamp(48px, 17vw, 76px);
  }

  .home-info-panel[data-panel="about"] .home-info-panel__content {
    grid-row: 2;
  }

  .home-info-panel[data-panel="about"] .home-info-panel__content,
  .info-view--about .info-body {
    font-size: clamp(17px, 4.8vw, 20px);
    line-height: 1.48;
  }

  .info-view--about .info-body {
    width: 92vw;
    margin-top: clamp(52px, 13vw, 72px);
  }

  .about-people,
  .black-belt-chapter {
    margin-top: 84px;
  }

  .about-simple-language {
    margin-bottom: 64px;
  }

  .about-simple-language__panel {
    font-size: 17px;
  }

  .about-people > h2,
  .black-belt-chapter > h2 {
    margin-bottom: 34px;
    font-size: clamp(48px, 17vw, 76px);
  }

  .about-people__profiles {
    gap: 38px;
  }

  .about-status {
    margin-top: 70px !important;
  }

  .black-belt-chapter__text > p:last-child {
    font-size: clamp(27px, 8vw, 38px);
  }
}

/* Brighter irregular newsletter panel. */
#newsletter-modal {
  background: rgba(38, 0, 31, 0.72);
}

.modal__panel--newsletter {
  width: min(660px, calc(100vw - 32px));
  max-height: calc(100dvh - 32px);
  padding: 22px clamp(44px, 5vw, 66px) clamp(48px, 5vw, 66px);
  overflow: hidden auto;
  background: #E8D8FF;
  color: #050505;
  clip-path: polygon(4% 0, 86% 0, 89% 3%, 100% 3%, 98% 25%, 100% 33%, 99% 88%, 95% 100%, 18% 98%, 14% 100%, 0 94%, 2% 74%, 0 65%, 2% 45%, 0 31%, 3% 22%, 1% 8%);
}

.modal__panel--newsletter::before {
  display: none;
}

.modal__panel--newsletter .modal__close {
  top: 14px;
  margin-bottom: 12px;
  border: 1px solid #050505;
  background: #FAFAF5;
  color: #050505;
}

.modal__panel--newsletter .modal__close:focus-visible {
  outline: 3px solid #1537FF;
  outline-offset: 3px;
}

.modal__panel--newsletter h2 {
  margin: 0 0 18px;
  font-family: var(--font-interface);
  font-size: clamp(28px, 3.4vw, 42px);
  font-weight: 400;
  line-height: 1;
  letter-spacing: 0;
  text-transform: lowercase;
}

.modal__panel--newsletter #newsletter-description {
  max-width: 44ch;
  margin: 0;
  font-family: var(--font-interface);
  font-size: clamp(13px, 1.15vw, 16px);
  line-height: 1.35;
  letter-spacing: 0;
  text-transform: lowercase;
}

.modal__panel--newsletter .hyphae-newsletter-form {
  gap: 24px;
  margin-top: clamp(28px, 4vw, 44px);
}

.modal__panel--newsletter .entry__label {
  font-size: 12px;
  letter-spacing: 0;
}

.modal__panel--newsletter .entry__field input {
  min-height: 54px;
  font-size: clamp(19px, 2vw, 25px);
  border-bottom-width: 2px;
}

.modal__panel--newsletter .sib-form button[type="submit"] {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  min-height: clamp(88px, 9vw, 112px);
  padding: 18px 36px;
  border: 0;
  background: #1537FF;
  color: #FAFAF5;
  clip-path: polygon(0 12%, 7% 4%, 24% 8%, 31% 0, 52% 7%, 68% 2%, 75% 10%, 100% 5%, 97% 42%, 100% 70%, 92% 96%, 69% 91%, 59% 100%, 39% 93%, 24% 99%, 16% 90%, 2% 96%, 4% 58%);
  font-family: var(--font-display);
  font-size: clamp(30px, 5vw, 54px);
  font-weight: 400;
  line-height: 0.9;
  letter-spacing: 0;
  text-transform: uppercase;
  text-decoration: none;
}

.modal__panel--newsletter .sib-form button[type="submit"]:focus-visible {
  outline: 4px solid #050505;
  outline-offset: 5px;
}

.modal__panel--newsletter .newsletter-note,
.modal__panel--newsletter .newsletter-note .privacy-trigger {
  font-family: var(--font-interface);
  font-size: clamp(17px, 1.8vw, 23px);
  font-weight: 400;
  line-height: 1.2;
  letter-spacing: 0;
}

.modal__panel--newsletter .newsletter-note {
  margin: clamp(30px, 4vw, 46px) 0 0;
}

.modal__panel--newsletter .newsletter-note .privacy-trigger {
  display: inline-block;
  margin-top: 0.28em;
  border-bottom-width: 2px;
  text-transform: lowercase;
}

@media (max-width: 700px) {
  .modal__panel--newsletter {
    width: calc(100vw - 16px);
    max-height: calc(100dvh - 16px);
    padding: 18px 26px 44px;
    clip-path: polygon(3% 0, 88% 0, 91% 2%, 100% 2%, 98% 24%, 100% 32%, 99% 91%, 94% 100%, 17% 98%, 12% 100%, 0 95%, 2% 73%, 0 62%, 2% 43%, 0 30%, 3% 20%, 1% 7%);
  }

  .modal__panel--newsletter .modal__close {
    top: 10px;
    margin-bottom: 8px;
  }

  .modal__panel--newsletter h2 {
    font-size: clamp(27px, 8vw, 34px);
  }

  .modal__panel--newsletter #newsletter-description {
    font-size: 13px;
  }

  .modal__panel--newsletter .sib-form button[type="submit"] {
    min-height: 86px;
    padding-inline: 24px;
    font-size: clamp(29px, 10vw, 42px);
  }

  .modal__panel--newsletter .newsletter-note,
  .modal__panel--newsletter .newsletter-note .privacy-trigger {
    font-size: 17px;
  }
}

/* Optical centering for the Programs label within its branching outline. */
.home-opening .home-link--programs .home-link__label {
  transform: translateY(clamp(6px, 0.55vw, 8px));
}

/* Let the shared footer meet the viewport edges inside the padded Archive view. */
.archive-view > .global-footer {
  width: calc(100% + 6vw);
  margin-left: -3vw;
  margin-bottom: -70px;
}

@media (max-width: 700px) {
  .archive-view > .global-footer {
    width: calc(100% + 8vw);
    margin-left: -4vw;
    margin-bottom: -48px;
  }
}

/* Previous and next projects at the start of each project page. */
.project-documentation__navigation--top {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  gap: clamp(24px, 4vw, 72px);
  align-items: start;
  width: 100%;
  margin: 0 0 clamp(46px, 6vw, 82px);
  padding: 0;
  background: transparent;
  color: inherit;
  font-family: var(--font-interface);
  font-size: clamp(13px, 0.95vw, 15px);
  font-weight: 400;
  line-height: 1.35;
  text-transform: lowercase;
}

.project-documentation__navigation--top > :last-child {
  justify-self: end;
  text-align: right;
}

.project-documentation__navigation--top a {
  max-width: 34ch;
  text-decoration: none;
}

.project-documentation__navigation--top a:is(:hover, :focus-visible) {
  color: var(--project-accent);
  text-decoration: none;
}

.project-documentation__navigation--top a:focus-visible {
  outline: 2px solid currentColor;
  outline-offset: 4px;
}

@media (min-width: 901px) {
  .project-documentation__header {
    grid-template-rows: auto auto auto;
  }

  .project-documentation__navigation--top {
    grid-column: 1 / 13;
    grid-row: 1;
  }

  .project-documentation__location,
  .project-documentation__header > .project-simple-language {
    grid-row: 2;
  }

  .project-documentation__copy,
  .project-documentation--lucas .project-documentation__copy {
    grid-row: 3;
  }
}

@media (max-width: 900px) {
  .project-documentation__navigation--top {
    order: -1;
    margin-bottom: 44px;
    font-size: 13px;
  }
}
