/* A manifesto within the shared Aestelier system. */
.mission-page { --mission-blue: #172b46; --mission-deep: #101f34; --mission-sand: #dac3a4; color: var(--mission-blue); }
.manifest-masthead, .manifest-opening, .manifest-oath, .manifest-boundary, .manifest-invitation { --muted: #cbd3de; --rule: #718094; --accent: #dac3a4; --accent-on-dark: #dac3a4; --accent-ink: #101f34; background: var(--mission-blue); color: var(--paper); }
.manifest-masthead .site-header nav a { color: var(--paper); }
.manifest-masthead .brand-mark { background: var(--paper); }
.manifest-masthead .site-header { --rule: #718094; }
.manifest-masthead .language-switch > span[aria-hidden] { color: var(--muted); }
.manifest-opening .section-kicker, .manifest-oath .section-kicker { color: var(--mission-sand); }
.mission-page h1, .mission-page h2, .mission-page h3 { font-weight: 400; }
.mission-page em { font-family: 'Bodoni Moda', Georgia, serif; font-weight: 400; }
.mission-page :is(section[id], main[id]) { scroll-margin-top: 30px; }
.manifest-hero { display: grid; grid-template-columns: 1.05fr 1.15fr; gap: 2%; padding-block: 38px 32px; align-items: center; min-height: min(900px, calc(100svh - 80px)); }
.manifest-heading { padding-block: 15px 26px; position: relative; z-index: 1; }
.manifest-heading .section-kicker { margin-bottom: 36px; }
.manifest-heading h1 { font-family: Archivo, Arial, sans-serif; font-size: clamp(78px, 9.7vw, 154px); font-weight: 500; font-stretch: 90%; font-variation-settings: 'wdth' 90, 'wght' 500; letter-spacing: -.07em; line-height: .89; }
.manifest-title-line { display: block; overflow: hidden; padding-bottom: .12em; margin-bottom: -.12em; word-spacing: .1em; }
.manifest-title-line > span { display: block; }
.manifest-heading h1 .manifest-title-signature { display: block; font-size: clamp(36px, 4.25vw, 67px); line-height: 1.2; letter-spacing: -.055em; margin-top: .42em; }
.manifest-lead { font-size: clamp(20px, 2vw, 28px); line-height: 1.3; letter-spacing: -.025em; max-width: 21em; margin-top: 33px; }
.manifest-hero-actions { display: flex; align-items: center; flex-wrap: wrap; gap: 22px 30px; margin-top: 32px; }
.manifest-commitments-link { display: inline-flex; gap: 18px; padding-block: 12px; font-size: 14px; color: var(--mission-sand); }
.manifest-commitments-link:hover { text-decoration: underline; text-underline-offset: 5px; }
.manifest-hero-art { margin: 0; position: relative; min-width: 0; }
.manifest-art-frame { position: relative; display: grid; grid-template-columns: repeat(13, minmax(0, 1fr)); }
.manifest-art-frame::before, .manifest-art-frame::after { content: ''; position: absolute; height: 1px; background: #718094; opacity: .35; pointer-events: none; }
.manifest-art-frame::before { top: 0; left: calc(100% / 13); width: calc(300% / 13); }
.manifest-art-frame::after { bottom: 0; right: calc(100% / 13); width: calc(200% / 13); }
.manifest-art-lattice { position: absolute; inset: 0; pointer-events: none; }
.manifest-grid-cluster { position: absolute; left: 0; width: calc(200% / 13); display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); }
.manifest-grid-cluster-top { top: 0; aspect-ratio: 2 / 5; grid-template-rows: repeat(5, 1fr); }
.manifest-grid-cluster-bottom { bottom: 0; aspect-ratio: 2 / 3; grid-template-rows: repeat(3, 1fr); }
.manifest-grid-cluster > span { outline: 1px solid #71809445; outline-offset: -.5px; }
.manifest-grid-cluster > .manifest-grid-sand { background: #c6a989; outline-color: #c6a989; }
.manifest-grid-cluster > .manifest-grid-blue { background: #2b405a; outline-color: #2b405a; }
.manifest-grid-fragment { background-image: url('assets/art/delville-prometheus-960.webp'); background-size: 1000% auto; background-position: 0 0; }
.manifest-grid-fragment-low { background-position: 100% 42%; }
.manifest-lisiere-ready .manifest-grid-fragment { background-image: none; outline-color: transparent; }
.manifest-contour-layer { position: absolute; inset: 0; pointer-events: none; }
.manifest-art-edge-mask, .manifest-art-edge-cell { display: block; position: absolute; }
.manifest-art-edge-mask { background: var(--mission-blue, #172b46); will-change: transform; }
.manifest-art-edge-cell { outline: 1px solid #71809445; outline-offset: -.5px; }
.manifest-hero-window { grid-column: 3 / 13; position: relative; width: 100%; aspect-ratio: 1386 / 2351; overflow: hidden; }
.manifest-hero-window > img { display: block; width: 100%; height: 100%; object-fit: cover; object-position: 50% 0%; }
.manifest-art-pan .manifest-hero-window { max-height: clamp(480px, calc(100svh - 225px), 850px); }
.manifest-art-pan .manifest-hero-window > img { height: auto; will-change: transform; }
.manifest-hero-art figcaption { display: flex; justify-content: space-between; align-items: start; gap: 15px; color: var(--muted); font-size: 11px; line-height: 1.5; padding-top: 17px; }
.manifest-hero-art figcaption a { text-decoration: underline; text-underline-offset: 3px; }
.manifest-image-covers { display: grid; grid-template-columns: repeat(10, 1fr); position: absolute; inset: 0; pointer-events: none; }
.manifest-image-covers > span { background: var(--cover, var(--mission-blue)); transform-origin: center; }
/* Heading lines rise from their masks; italic overhangs stay visible. */
.manifest-line { display: block; overflow: hidden; overflow: visible clip; padding-block: .08em .14em; margin-block: -.08em -.14em; }
.manifest-line > span { display: block; }
/* The monumental word spans the measure and hangs from the cream section
   above: its top is cut by the threshold, then it descends into the blue. */
.manifest-oath { background: var(--mission-blue); padding-block: 0 clamp(50px, 8vh, 90px); overflow: hidden; }
.mission-page .manifest-oath-word { margin: -.16em 0 clamp(34px, 4.5vw, 64px); font-family: Archivo, Arial, sans-serif; font-weight: 900; font-stretch: 62%; font-variation-settings: 'wdth' 62, 'wght' 900; font-size: var(--oath-size, 43.9cqw); letter-spacing: -.05em; line-height: .8; text-transform: uppercase; white-space: nowrap; }
.manifest-oath-word > span { display: inline-block; }
html[lang="fr"] .mission-page .manifest-oath-word { font-size: var(--oath-size, 27.6cqw); }
.manifest-oath > .editorial-shell { container-type: inline-size; }
.manifest-oath > .editorial-shell > .section-kicker { margin-bottom: 26px; }
.manifest-oath-statement { display: grid; grid-template-columns: 1.3fr .7fr; gap: 12%; align-items: end; }
.manifest-oath-statement > p:first-child { max-width: 33em; font-size: clamp(22px, 2.65vw, 38px); line-height: 1.35; letter-spacing: -.025em; }
.manifest-oath-statement > p:last-child { font-size: 15px; line-height: 1.65; color: var(--muted); }
.manifest-distribution { margin: 45px 0 0; max-width: 510px; }
.manifest-distribution-map { display: grid; grid-template-columns: 1fr .35fr 1fr; align-items: center; gap: 5%; }
.manifest-power-source { position: relative; aspect-ratio: 1; border: 1px solid #718094; background: linear-gradient(to right, transparent calc(25% - 1px), #52647c 25%, transparent calc(25% + 1px), transparent calc(50% - 1px), #52647c 50%, transparent calc(50% + 1px), transparent calc(75% - 1px), #52647c 75%, transparent calc(75% + 1px)), linear-gradient(to bottom, transparent calc(25% - 1px), #52647c 25%, transparent calc(25% + 1px), transparent calc(50% - 1px), #52647c 50%, transparent calc(50% + 1px), transparent calc(75% - 1px), #52647c 75%, transparent calc(75% + 1px)); }
.manifest-power-source > span { position: absolute; inset: 25%; background: var(--mission-sand); }
.manifest-power-arrow { text-align: center; color: var(--mission-sand); font-size: 34px; }
.manifest-power-shared { display: grid; grid-template-columns: repeat(4, 1fr); gap: 7px; aspect-ratio: 1; }
.manifest-power-shared > span { background: var(--paper); border: 1px solid #cbd3de; }
.manifest-power-shared > span:nth-child(3n + 1) { background: var(--mission-sand); border-color: var(--mission-sand); }
.manifest-distribution figcaption { display: flex; justify-content: space-between; gap: 20px; font-size: 12px; color: var(--muted); margin-top: 17px; }
.manifest-art { margin: 0; min-width: 0; }
.manifest-art-window { position: relative; aspect-ratio: 1; }
.manifest-art img { width: 100%; height: 100%; object-fit: cover; object-position: 50% 52%; display: block; }
.manifest-art figcaption { display: flex; justify-content: space-between; gap: 15px; font-size: 12px; line-height: 1.5; padding-top: 14px; color: var(--muted); }
.manifest-art figcaption a { text-decoration: underline; text-underline-offset: 3px; }
.manifest-toc { display: grid; grid-template-columns: repeat(5, 1fr); padding: 0; gap: 0; border-block: 1px solid var(--rule); }
.manifest-toc a { display: flex; align-items: center; gap: 14px; padding: 22px 14px; font-size: 13px; line-height: 1.4; color: inherit; }
.manifest-toc a:first-child { padding-left: 0; }
.manifest-toc > a:nth-child(3) { display: flex; }
.manifest-toc a + a { border-left: 1px solid #52647c; }
.manifest-toc a::after { display: none; }
.manifest-toc a:hover { color: var(--accent); }
.manifest-toc span { font-size: 11px; color: var(--muted); }
.manifest-section { padding-block: 80px; }
.manifest-section > .section-kicker { margin-bottom: 38px; }
.manifest-split { display: grid; grid-template-columns: 1fr 1fr; gap: 9%; }
.mission-page h2 { font-size: clamp(32px, 3.55vw, 54px); letter-spacing: -.045em; line-height: 1.08; }
.manifest-prose { font-size: 18px; line-height: 1.65; color: var(--muted); }
.manifest-prose p + p { margin-top: 20px; }
.manifest-prose .manifest-aside { padding-left: 20px; border-left: 1px solid #b3a392; font-size: 15px; margin-top: 30px; }
.manifest-section-top { display: flex; align-items: baseline; justify-content: space-between; gap: 24px; margin-bottom: 35px; }
.manifest-section-top > p:not(.section-kicker) { font-size: 14px; color: var(--muted); }
.manifest-commitments { padding-top: 34px; }
.manifest-commitments > h2 { margin-bottom: 48px; }
/* A register: one row per principle, its commitments on the right at
   full measure, so each commitment usually holds on a single line. */
.manifest-principles { list-style: none; margin: 0; padding: 0; border-bottom: 1px solid var(--mission-blue); }
.manifest-principles > li { position: relative; display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); column-gap: 7%; padding-block: 26px 12px; }
.manifest-principles > li::before { content: ''; position: absolute; inset: 0 0 auto; height: 1px; background: var(--mission-blue); transform-origin: left; }
.principles-ready > li::before { transform: scaleX(0); transition: transform .9s cubic-bezier(.2, .7, .2, 1) calc(var(--i, 0) * 160ms); }
.principles-ready.is-drawn > li::before { transform: none; }
.manifest-principles h3 { margin: 0; max-width: 11em; font-size: clamp(24px, 2.4vw, 36px); letter-spacing: -.04em; line-height: 1.12; }
.manifest-principle > p { margin-top: 14px; max-width: 24em; font-size: 15px; line-height: 1.55; color: var(--muted); }
.manifest-practice { list-style: none; margin: 0; padding: 0; }
.manifest-practice > li { display: grid; grid-template-columns: 40px minmax(0, 1fr); padding-block: 5px 15px; font-size: 17px; line-height: 1.5; }
.manifest-practice > li + li { padding-top: 15px; border-top: 1px solid #c7bbae; }
.manifest-practice > li > span { padding-top: 4px; font-size: 12px; font-variant-numeric: tabular-nums; }
.manifest-boundary { background: var(--mission-deep); padding-block: 48px 64px; }
.manifest-boundary .section-kicker { color: #dac5b0; }
.manifest-boundary h2 { font-size: clamp(39px, 5.65vw, 88px); max-width: 17em; margin-top: 48px; }
.manifest-boundary-intro { display: grid; grid-template-columns: 1.4fr .6fr; gap: 12%; align-items: end; margin-block: 32px 45px; }
.manifest-boundary-intro > p:first-child { max-width: 40em; color: var(--muted); font-size: 18px; line-height: 1.6; }
.manifest-boundary-caption { font-size: 13px; line-height: 1.6; color: #d2bca7; max-width: 19em; }
.consent-diagram { display: grid; grid-template-columns: 1fr .85fr 1fr; border-block: 1px solid var(--rule); margin-bottom: 30px; }
.consent-side { padding: 28px 0 30px; }
.consent-side:last-child { padding-left: 18%; }
.consent-side h3 { font-size: clamp(26px, 3.2vw, 46px); letter-spacing: -.035em; line-height: 1.1; margin: 24px 0; }
.consent-side > p { font-size: 14px; line-height: 1.6; color: #dac5b0; max-width: 19em; }
.consent-gate { display: flex; flex-direction: column; align-items: center; justify-content: center; text-align: center; border-inline: 1px solid var(--rule); padding: 25px 20px; }
.consent-gate-symbol { font-family: Georgia, serif; color: var(--accent-on-dark); font-size: 74px; line-height: 1; margin-bottom: 15px; }
.consent-gate strong { font-size: 19px; font-weight: 400; }
.consent-gate p { color: #dac5b0; font-size: 14px; line-height: 1.6; margin-top: 12px; }
.consent-gate-note { font-size: 12px; padding-top: 20px; margin-top: 22px; border-top: 1px solid var(--rule); }
.manifest-boundary .editorial-link { font-size: 14px; }
.manifest-boundary :focus-visible { outline-color: var(--accent-on-dark); }
.manifest-corpus { display: grid; grid-template-columns: 1fr 1.2fr; gap: 9%; padding-block: 12px 32px; }
.manifest-corpus h3 { margin: 0; font-size: 28px; font-weight: 400; letter-spacing: -.025em; }
.manifest-corpus p { color: var(--muted); font-size: 16px; line-height: 1.65; }
.manifest-corpus p + p { margin-top: 18px; }
.manifest-corpus .editorial-link { margin-top: 30px; }
.manifest-horizon .manifest-split { align-items: end; }
.manifest-horizon-intro { font-size: 17px; line-height: 1.65; color: var(--muted); max-width: 29em; }
/* Each foundation carries its state once, instead of hedging every sentence. */
.manifest-foundations { list-style: none; margin: 55px 0 0; padding: 0; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 5%; }
.manifest-foundations > li { position: relative; padding-top: 22px; }
.manifest-foundations > li::before { content: ''; position: absolute; inset: 0 0 auto; height: 1px; background: var(--mission-blue); transform-origin: left; }
.foundations-ready > li::before { transform: scaleX(0); transition: transform .9s cubic-bezier(.2, .7, .2, 1) calc(var(--i, 0) * 160ms); }
.foundations-ready.is-drawn > li::before { transform: none; }
.manifest-foundation-meta { display: flex; justify-content: space-between; align-items: center; gap: 16px; font-size: 12px; }
.manifest-foundations h3 { font-size: clamp(23px, 2.2vw, 32px); letter-spacing: -.035em; line-height: 1.15; margin: 34px 0 18px; max-width: 12em; }
.manifest-foundations p { font-size: 16px; line-height: 1.65; color: var(--muted); }
.manifest-foundations p + p { margin-top: 14px; }
/* Section 04 leaves the Prometheus blue: Aestelier speaks in its own brown. */
.manifest-application { --cover: #efe9df; --rule-brown: rgba(57, 33, 21, .45); background: #efe9df; color: var(--brown); padding-block: 32px 102px; }
.manifest-signed { display: flex; align-items: center; gap: 16px; }
.manifest-monogram { display: block; width: 40px; height: 40px; flex: none; }
.manifest-application .manifest-section-top { align-items: center; }
/* Painting on the left; the text and the two projects stack on the right.
   The last project rule continues the painting’s bottom edge: the caption
   hangs below the painting without counting in the alignment. */
.manifest-origin { display: grid; grid-template-columns: 1.15fr 1fr; grid-template-rows: auto auto; column-gap: 7%; row-gap: 0; }
.manifest-origin > .manifest-art { grid-column: 1; grid-row: 1 / span 2; align-self: end; position: relative; }
.manifest-origin > .manifest-art > figcaption { position: absolute; top: 100%; left: 0; right: 0; }
.manifest-origin > div:not(.manifest-projects) { grid-column: 2; grid-row: 1; align-self: end; }
.manifest-origin .manifest-prose { margin-top: 28px; max-width: 34em; font-size: 17px; }
.manifest-origin .manifest-art-window { aspect-ratio: 4198 / 3110; border-block: 1px solid var(--brown); overflow: hidden; }
.manifest-origin .manifest-art img { object-fit: contain; object-position: center; }
/* The studio sits in the same square grid as the opening painting:
   twelve columns on the work, one margin column facing the text. */
.manifest-art-stage { position: relative; }
.manifest-art-grid { position: absolute; inset: 0; pointer-events: none; opacity: var(--grid-strength, .35); background-image: linear-gradient(to right, rgba(253, 252, 247, .5) 1px, transparent 1px), linear-gradient(to bottom, rgba(253, 252, 247, .5) 1px, transparent 1px); background-size: calc(100% / 12) calc(100% / 9); box-shadow: inset -1px -1px 0 rgba(253, 252, 247, .5); }
.manifest-art-cells { position: absolute; inset: 0; pointer-events: none; }
.manifest-art-cells > span { position: absolute; left: calc(var(--x) * 100% / 12); top: calc(var(--y) * 100% / 9); width: calc(100% / 12); height: calc(100% / 9); outline: 1px solid var(--rule-brown); outline-offset: -.5px; }
.manifest-art-cells > .is-brown { background: var(--brown); outline-color: var(--brown); }
.manifest-art-cells > .is-sand { background: var(--mission-sand); outline-color: var(--mission-sand); }
/* The projects as two compact register rows under the text: a small mosaic of
   each project’s homepage image, its axis and name, its line, its state and
   an arrow. On hover or focus, the closed cells of the mosaic open. */
.manifest-projects { grid-column: 2; grid-row: 2; align-self: end; margin-top: 36px; border-top: 1px solid var(--rule-brown); }
.manifest-projects > a { display: grid; grid-template-columns: auto minmax(0, 1fr) auto; column-gap: 20px; align-items: start; padding-block: 18px; border-bottom: 1px solid var(--rule-brown); }
.manifest-projects > a:focus-visible { outline: 2px solid var(--brown); outline-offset: 4px; }
/* Snapped beside the painting: each row is two grid rows high, its rules on
   the painting’s grid lines; the content sits in the middle of the row. */
.manifest-projects.is-snapped { border-top: 0; }
.manifest-projects.is-snapped > a { box-sizing: border-box; height: calc(2 * var(--grid-unit)); padding-block: 0; align-content: center; border-top: 1px solid var(--rule-brown); border-bottom: 0; }
.manifest-projects.is-snapped > a:last-child { border-bottom: 1px solid var(--rule-brown); }
.manifest-project-index { font-size: 12px; line-height: 1.4; }
.manifest-project-index strong { font-weight: 600; font-size: 11px; letter-spacing: .14em; text-transform: uppercase; color: #86603f; }
.manifest-projects h3 { margin: 6px 0 0; font-size: clamp(19px, 1.55vw, 23px); letter-spacing: -.02em; line-height: 1.25; transition: color .25s; }
.manifest-project-arrow { font-size: 20px; line-height: 1; padding-top: 2px; transition: transform .25s; }
.manifest-projects > a:is(:hover, :focus-visible) .manifest-project-arrow { transform: translate(3px, -3px); }
.manifest-projects > a:is(:hover, :focus-visible) h3 { color: #86603f; }
/* Each project keeps its homepage image, seen through six cells of a 3 × 3
   grid; the three closed cells open on hover or focus. */
.manifest-project-art { --unit: 22px; position: relative; width: calc(3 * var(--unit)); height: calc(3 * var(--unit)); margin-top: 2px; overflow: hidden; }
.manifest-project-art img { display: block; width: 100%; height: 100%; object-fit: cover; }
.manifest-project-art::after { content: ''; position: absolute; inset: 0; pointer-events: none; background-image: linear-gradient(to right, transparent calc(100% - 1px), #fdfcf788 0), linear-gradient(to bottom, transparent calc(100% - 1px), #fdfcf788 0); background-size: calc(100% / 3) calc(100% / 3); }
.manifest-art-gap { position: absolute; left: calc(var(--x) * 100% / 3); top: calc(var(--y) * 100% / 3); width: calc(100% / 3 + 1px); height: calc(100% / 3 + 1px); background: var(--cover, #efe9df); transition: transform .45s cubic-bezier(.65, 0, .35, 1) calc(var(--d) * 90ms); }
.manifest-projects > a:is(:hover, :focus-visible) .manifest-art-gap { transform: scale(0); }
.manifest-project-state { display: inline-flex; align-items: center; gap: 8px; margin-top: 10px; font-size: 10px; letter-spacing: .1em; text-transform: uppercase; color: var(--muted); }
.manifest-project-state::before { content: ''; width: 7px; height: 7px; border: 1px solid var(--brown); }
.is-active .manifest-project-state::before { background: var(--brown); }
.manifest-refusals { border-block: 1px solid #c7bbae; padding-block: 26px; margin-top: 70px; }
.manifest-refusals > p:not(.section-kicker) { font-size: clamp(24px, 2.8vw, 38px); letter-spacing: -.025em; line-height: 1.35; max-width: 30em; margin-block: 24px 18px; }
.manifest-refusals > span { font-size: 14px; color: var(--muted); }
/* Each refusal is struck through, one after the other. */
.manifest-refusal-list > span { background: linear-gradient(#a67c5b, #a67c5b) no-repeat 0 58% / 100% .065em; }
.refusals-ready .manifest-refusal-list > span { background-size: 0% .065em; transition: background-size .5s cubic-bezier(.65, 0, .35, 1) calc(var(--i, 0) * 220ms); }
.refusals-ready.is-struck .manifest-refusal-list > span { background-size: 100% .065em; }
.manifest-invitation { padding-block: 40px 80px; }
.manifest-invitation .section-kicker { margin-bottom: 36px; color: var(--mission-sand); }
.manifest-invitation .manifest-split > div > p { font-size: 18px; line-height: 1.6; max-width: 31em; color: var(--muted); }
.manifest-invitation .editorial-link { margin-block: 26px 15px; font-size: clamp(16px, 1.85vw, 25px); max-width: 100%; overflow-wrap: anywhere; }
.manifest-invitation .manifest-split .manifest-contact-note { font-size: 13px; }
@media (max-width: 1050px) {
  .manifest-hero { gap: 3%; }
  .manifest-heading h1 { font-size: clamp(68px, 9.7vw, 102px); }
  .manifest-heading .section-kicker { margin-bottom: 28px; }
  .manifest-toc a { gap: 8px; padding: 18px 10px; }
  .manifest-split { gap: 6%; }
  .manifest-art figcaption { flex-direction: column; gap: 5px; }
  .manifest-origin { column-gap: 6%; }
  .manifest-origin > .manifest-art { align-self: start; margin-top: 12px; }
  .manifest-origin > .manifest-art > figcaption { position: static; }
  .manifest-application { padding-bottom: 70px; }
  .manifest-hero-art figcaption { flex-direction: column; gap: 5px; }
  .manifest-oath-statement { gap: 7%; }
  .manifest-principles > li { column-gap: 5%; }
  .manifest-foundations { gap: 4%; }
}
@media (max-width: 760px) {
  .mission-page { --gutter: 5vw; }
  .manifest-hero { grid-template-columns: 1fr; padding-block: 34px; gap: 28px; min-height: 0; }
  .manifest-heading { padding-block: 0 12px; }
  .manifest-heading h1 { font-size: clamp(72px, 23vw, 140px); }
  .manifest-heading h1 .manifest-title-signature { font-size: clamp(32px, 8.5vw, 53px); }
  .manifest-lead { font-size: 22px; max-width: 25em; margin-top: 26px; }
  .manifest-art-window { overflow: hidden; }
  .manifest-hero-art figcaption { flex-direction: row; font-size: 11px; }
  .manifest-hero-actions { gap: 16px 25px; margin-top: 24px; }
  .manifest-oath { padding-bottom: 45px; }
  .mission-page .manifest-oath-word { margin-bottom: 28px; }
  .manifest-oath-statement { grid-template-columns: 1fr; gap: 22px; }
  .manifest-art figcaption { flex-direction: row; font-size: 11px; }
  .manifest-toc { grid-template-columns: 1fr 1fr; }
  .manifest-toc a { padding: 15px 10px; min-height: 50px; }
  .manifest-toc a:nth-child(odd) { border-left: 0; padding-left: 0; }
  .manifest-toc a:nth-child(n+3) { border-top: 1px solid #52647c; }
  .manifest-toc a:last-child { grid-column: 1 / -1; }
  .manifest-section { padding-block: 50px; }
  .manifest-section > .section-kicker { margin-bottom: 27px; }
  .manifest-split, .manifest-projects { grid-template-columns: 1fr; gap: 30px; }
  .mission-page h2 { font-size: clamp(31px, 7.6vw, 45px); }
  .manifest-prose { font-size: 17px; }
  .manifest-section-top { flex-direction: column; gap: 10px; margin-bottom: 27px; }
  .manifest-commitments { padding-top: 25px; }
  .manifest-commitments > h2 { margin-bottom: 32px; }
  .manifest-principles > li { grid-template-columns: 1fr; row-gap: 18px; padding-block: 22px 8px; }
  .manifest-principles h3 { font-size: 28px; }
  .manifest-practice > li { grid-template-columns: 32px minmax(0, 1fr); font-size: 16px; }
  .manifest-distribution { margin-top: 30px; }
  .manifest-boundary { padding-block: 30px 44px; }
  .manifest-boundary h2 { font-size: clamp(36px, 8.4vw, 54px); margin-top: 33px; }
  .manifest-boundary-intro { grid-template-columns: 1fr; gap: 20px; margin-block: 25px 30px; }
  .manifest-boundary-intro > p:first-child { font-size: 17px; }
  .manifest-boundary-caption { max-width: none; }
  .consent-diagram { grid-template-columns: 1fr; }
  .consent-side, .consent-side:last-child { padding: 26px 0; }
  .consent-side h3 { font-size: 32px; margin-block: 18px; }
  .consent-side h3 br { display: none; }
  .consent-side > p { max-width: none; }
  .consent-gate { border-inline: 0; border-block: 1px solid var(--rule); padding: 24px; }
  .consent-gate-symbol { font-size: 54px; margin-bottom: 10px; }
  .consent-gate-note { margin-top: 16px; padding-top: 16px; }
  .manifest-origin, .manifest-corpus { grid-template-columns: 1fr; gap: 26px; }
  .manifest-art-cells { display: none; }
  .manifest-origin > div:not(.manifest-projects) { grid-column: 1; grid-row: 1; }
  .manifest-origin > .manifest-art { grid-column: 1; grid-row: 2; }
  .manifest-origin > .manifest-projects { grid-column: 1; grid-row: 3; margin-top: 0; }
  .manifest-application { padding-block: 26px 45px; }
  .manifest-foundations { grid-template-columns: 1fr; gap: 38px; margin-top: 38px; }
  .manifest-foundations h3 { margin-top: 22px; }
  .manifest-refusals { margin-top: 45px; }
  .manifest-invitation { padding-bottom: 50px; }
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto !important; }
  .mission-page *, .mission-page *::before, .mission-page *::after { transition: none !important; }
}
@media print {
  .manifest-image-covers { display: none !important; }
  .mission-page main * { opacity: 1 !important; }
  .manifest-line > span, .section-kicker { transform: none !important; clip-path: none !important; }
}
