:root {
  --paper: #f2eee6;
  --paper-deep: #e9e4d9;
  --paper-blue: #e9edf6;
  --ink: #17171a;
  --dim: #66636a;
  --rule: #c9c2b6;
  --blue: #2f56b5;
  --indigo: #202763;
  --void: #11131c;
  --mono: 'IBM Plex Mono', ui-monospace, 'Input Mono', monospace;
  --unit: 8px;
  --radius: 0px;
  --edge-light: rgba(255, 255, 255, .42);
  --edge-shadow: rgba(23, 23, 26, .16);
  --panel-label-size: 9px;
  --panel-label-spacing: .18em;
  --panel-label-weight: 400;
  --spring: cubic-bezier(.22, .72, .22, 1);
  --hover-time: 90ms;
}

*, *::before, *::after {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
  border-radius: var(--radius);
}

html {
  background: var(--paper);
  color-scheme: light;
  scroll-behavior: smooth;
  -webkit-text-size-adjust: 100%;
}

body {
  min-width: 320px;
  overflow-x: hidden;
  background: var(--paper);
  color: var(--ink);
  font: 400 13px/1.65 var(--mono);
  -webkit-font-smoothing: antialiased;
}

a { color: inherit; text-decoration: none; }
img { display: block; max-width: 100%; }

.skip {
  position: fixed;
  left: -9999px;
  top: 0;
  z-index: 100;
  padding: calc(var(--unit) * 2) calc(var(--unit) * 3);
  border: 1px solid var(--ink);
  background: var(--paper);
}

.skip:focus { left: 0; }

.visually-hidden {
  position: absolute !important;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0 0 0 0);
  white-space: nowrap;
  border: 0;
}

:focus-visible {
  outline: 1px solid currentColor;
  outline-offset: 4px;
}

.panel-label {
  font-size: var(--panel-label-size);
  font-weight: var(--panel-label-weight);
  letter-spacing: var(--panel-label-spacing);
  text-transform: uppercase;
}

.panel-control,
.panel-surface {
  box-shadow:
    inset 1px 1px 0 var(--edge-light),
    inset -1px -1px 0 var(--edge-shadow);
}

.panel-control {
  transition:
    background-color var(--hover-time) var(--spring),
    border-color var(--hover-time) var(--spring),
    color var(--hover-time) var(--spring),
    transform var(--hover-time) var(--spring);
}

.panel-control:active { transform: translateY(1px); }

.eyebrow { color: var(--blue); }

.house-mast {
  position: absolute;
  inset: 0 0 auto;
  z-index: 20;
  min-height: calc(var(--unit) * 13);
  padding: calc(var(--unit) * 3) calc(var(--unit) * 9);
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
}

.house-mark {
  width: calc(var(--unit) * 4);
  height: calc(var(--unit) * 4);
  display: grid;
  place-items: center;
  border: 1px solid transparent;
}

.house-mark svg {
  width: calc(var(--unit) * 3);
  height: calc(var(--unit) * 3);
}

.house-nav {
  display: flex;
  gap: calc(var(--unit) * 4);
}

.house-nav a {
  padding: var(--unit) calc(var(--unit) * 2);
  border: 1px solid transparent;
}

.house-nav a:hover,
.house-nav a:focus-visible {
  border-color: var(--ink);
  background: rgba(242, 238, 230, .9);
}

.hero {
  position: relative;
  min-height: min(960px, 100svh);
  padding: calc(var(--unit) * 15) calc(var(--unit) * 9) calc(var(--unit) * 6);
  border-bottom: 1px solid var(--ink);
  background: var(--paper);
  overflow: hidden;
}

.hero-copy {
  position: relative;
  z-index: 2;
  width: min(50%, 720px);
  padding-top: calc(var(--unit) * 6);
}

.hero-copy h1 {
  margin-top: calc(var(--unit) * 6);
  font-weight: 400;
  line-height: 0;
}

.hero-wordmark {
  width: min(78%, 530px);
  height: auto;
}

.hero-statement {
  max-width: 42ch;
  margin-top: calc(var(--unit) * 6);
  font-size: clamp(18px, 1.65vw, 24px);
  line-height: 1.45;
}

.hero-intro {
  max-width: 59ch;
  margin-top: calc(var(--unit) * 3);
  color: var(--dim);
  font-size: clamp(13px, 1.05vw, 15px);
  line-height: 1.8;
}

.hero-actions {
  margin-top: calc(var(--unit) * 6);
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--unit);
}

.action {
  min-height: calc(var(--unit) * 7);
  padding: 0 calc(var(--unit) * 3);
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: calc(var(--unit) * 3);
}

.action--player {
  border: 1px solid var(--indigo);
  background: var(--paper);
  color: var(--indigo);
}

.action--player:hover,
.action--player:focus-visible {
  border-color: var(--indigo);
  background: var(--paper-blue);
}

.action--studio {
  border: 1px solid var(--ink);
  background: var(--paper);
  color: var(--ink);
}

.action--studio:hover,
.action--studio:focus-visible {
  border-color: var(--indigo);
  background: var(--paper-deep);
  color: var(--indigo);
}

.hero-field {
  --field-x: 0px;
  --field-y: 0px;
  position: absolute;
  z-index: 1;
  inset: 0;
  overflow: hidden;
  pointer-events: none;
}

.hero-field > img {
  position: absolute;
  inset: 50% auto auto 72%;
  width: min(1120px, 70vw);
  max-width: none;
  height: auto;
  transform: translate(calc(-50% + var(--field-x)), calc(-50% + var(--field-y))) scale(1.12);
  transform-origin: center;
  mix-blend-mode: multiply;
  -webkit-mask-image: linear-gradient(to right, transparent 0%, rgba(0, 0, 0, .12) 18%, #000 47%, #000 100%);
  mask-image: linear-gradient(to right, transparent 0%, rgba(0, 0, 0, .12) 18%, #000 47%, #000 100%);
  -webkit-mask-source-type: alpha;
  mask-mode: alpha;
  pointer-events: none;
  user-select: none;
}

.movement {
  padding: calc(var(--unit) * 18) calc(var(--unit) * 9);
  display: grid;
  grid-template-columns: 144px minmax(0, 1fr);
  gap: calc(var(--unit) * 12);
  border-bottom: 1px solid var(--rule);
}

.movement-index {
  padding-top: var(--unit);
  display: flex;
  flex-direction: column;
  gap: var(--unit);
  color: var(--dim);
}

.movement-index span:first-child { color: var(--blue); }
.movement-body { width: min(100%, 1120px); }

.movement h2 {
  margin-top: calc(var(--unit) * 2);
  font-size: clamp(26px, 3.4vw, 48px);
  font-weight: 400;
  line-height: 1.2;
}

.inquiry-body { max-width: 1030px; }
.inquiry h2 { max-width: 25ch; }

.inquiry-copy {
  max-width: 810px;
  margin-top: calc(var(--unit) * 9);
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: calc(var(--unit) * 4) calc(var(--unit) * 8);
  color: #35343a;
  font-size: clamp(14px, 1.25vw, 17px);
  line-height: 1.8;
}

.inquiry-question {
  margin-top: calc(var(--unit) * 10);
  padding-top: calc(var(--unit) * 3);
  border-top: 1px solid var(--ink);
  color: var(--indigo);
  font-size: clamp(20px, 2.4vw, 34px);
}

.entrances { background: var(--paper-deep); }
.entrances h2 { max-width: 18ch; }

.entrance-grid {
  margin-top: calc(var(--unit) * 10);
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  border-top: 1px solid var(--ink);
  border-bottom: 1px solid var(--ink);
}

.entrance {
  min-width: 0;
  padding: calc(var(--unit) * 6);
  display: flex;
  flex-direction: column;
  scroll-margin-top: calc(var(--unit) * 5);
}

.entrance + .entrance { border-left: 1px solid var(--ink); }

.entrance-preview {
  position: relative;
  aspect-ratio: 16/10;
  display: block;
  overflow: hidden;
  border: 1px solid #30323a;
  background: var(--void);
}

.entrance-preview img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.entrance-preview iframe {
  width: 100%;
  height: 100%;
  border: 0;
  background: var(--void);
  pointer-events: none;
}

.preview-shield { position: absolute; inset: 0; }

.entrance-preview--studio img {
  transform: scale(1.08);
  filter: saturate(.58) contrast(.86);
}

.entrance-register {
  margin-top: calc(var(--unit) * 3);
  padding-top: calc(var(--unit) * 2);
  display: flex;
  justify-content: space-between;
  gap: calc(var(--unit) * 3);
  border-top: 1px solid var(--rule);
  color: var(--blue);
}

.entrance h3 {
  margin-top: calc(var(--unit) * 6);
  font-size: clamp(19px, 2vw, 28px);
  font-weight: 400;
}

.entrance > p {
  max-width: 47ch;
  margin-top: calc(var(--unit) * 2);
  color: var(--dim);
  line-height: 1.8;
}

.entrance-actions {
  margin-top: auto;
  padding-top: calc(var(--unit) * 4);
}

.text-action {
  width: fit-content;
  margin-top: auto;
  padding: calc(var(--unit) * 2);
  display: inline-flex;
  gap: calc(var(--unit) * 3);
  border: 1px solid var(--ink);
}

.text-action:hover,
.text-action:focus-visible {
  border-color: var(--blue);
  background: var(--paper-blue);
  color: var(--blue);
}

.entrance-actions .text-action { margin-top: 0; }

.player-downloads {
  margin-top: calc(var(--unit) * 5);
  padding-top: calc(var(--unit) * 3);
  border-top: 1px solid var(--rule);
}

.player-downloads-head {
  display: flex;
  justify-content: space-between;
  gap: calc(var(--unit) * 2);
  color: var(--dim);
}

.player-downloads-head p:first-child { color: var(--blue); }

.player-download-grid {
  margin-top: calc(var(--unit) * 2);
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--unit);
}

.player-download {
  min-height: calc(var(--unit) * 8);
  padding: calc(var(--unit) * 2);
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: calc(var(--unit) / 2);
  border: 1px solid var(--rule);
}

.player-download:hover,
.player-download:focus-visible {
  border-color: var(--blue);
  background: var(--paper-blue);
  color: var(--blue);
}

.player-download small {
  color: var(--dim);
  font-size: 9px;
  letter-spacing: .04em;
  text-transform: none;
}

.player-download-note {
  margin-top: calc(var(--unit) * 2);
  color: var(--dim);
  font-size: 9px;
}

.studio-download-help {
  width: fit-content;
  margin-top: calc(var(--unit) * 2);
  padding-block: var(--unit);
  color: var(--dim);
  text-decoration: underline;
  text-decoration-thickness: 1px;
  text-underline-offset: 4px;
}

.studio-download-help:hover,
.studio-download-help:focus-visible { color: var(--blue); }

.research { background: var(--paper-blue); }
.research-body { max-width: 980px; }
.research h2 { max-width: 24ch; }

.research-copy {
  max-width: 800px;
  margin-top: calc(var(--unit) * 9);
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: calc(var(--unit) * 8);
  color: #373947;
  font-size: clamp(14px, 1.25vw, 17px);
  line-height: 1.8;
}

.field-sequence p + p { margin-top: calc(var(--unit) * 3); }

.research-family {
  margin-top: calc(var(--unit) * 10);
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  border-top: 1px solid var(--indigo);
  border-bottom: 1px solid var(--indigo);
}

.research-entry { padding: calc(var(--unit) * 5) calc(var(--unit) * 4); }
.research-entry:first-child { padding-left: 0; }
.research-entry + .research-entry { border-left: 1px solid var(--indigo); }

.research-entry h3 {
  max-width: 28ch;
  margin-top: calc(var(--unit) * 3);
  font-size: clamp(18px, 1.8vw, 25px);
  font-weight: 400;
  line-height: 1.35;
}

.research-entry > p:last-child {
  max-width: 52ch;
  margin-top: calc(var(--unit) * 3);
  color: #373947;
  line-height: 1.8;
}

.research-status { margin-top: calc(var(--unit) * 2); color: var(--blue); }

.research-inquiry .text-action { margin-top: calc(var(--unit) * 5); }

.research-copy .text-action { margin-top: calc(var(--unit) * 4); }

.trust-page .house-mast { position: relative; border-bottom: 1px solid var(--rule); }
.trust-page main { min-height: 70svh; }
.trust-page .movement:first-child { padding-top: calc(var(--unit) * 14); }
.trust-page .movement h1 {
  max-width: 24ch;
  margin-top: calc(var(--unit) * 2);
  font-size: clamp(32px, 4.2vw, 58px);
  font-weight: 400;
  line-height: 1.15;
}

.research-bridge {
  max-width: 36ch;
  margin-top: calc(var(--unit) * 6);
  color: var(--indigo);
  font-size: clamp(19px, 2vw, 28px);
  line-height: 1.5;
}

.research-page-copy,
.privacy-intro {
  max-width: 820px;
  margin-top: calc(var(--unit) * 7);
  color: #373947;
  font-size: clamp(14px, 1.25vw, 17px);
  line-height: 1.8;
}

.research-page-copy p + p,
.privacy-intro p + p { margin-top: calc(var(--unit) * 3); }

.research-page .research-family { margin-top: calc(var(--unit) * 8); }

.research-paper-feature {
  margin-top: calc(var(--unit) * 10);
  padding: calc(var(--unit) * 6);
  border: 1px solid var(--indigo);
}

.research-paper-feature h2 {
  max-width: 22ch;
  margin-top: calc(var(--unit) * 3);
  font-size: clamp(28px, 4vw, 54px);
  font-weight: 400;
  line-height: 1.12;
}

.research-paper-subtitle {
  max-width: 38ch;
  margin-top: calc(var(--unit) * 2);
  color: var(--indigo);
  font-size: clamp(18px, 2vw, 27px);
  line-height: 1.45;
}

.research-paper-status {
  max-width: 72ch;
  margin-top: calc(var(--unit) * 4);
  color: var(--blue);
  line-height: 1.7;
}

.research-paper-introduction,
.research-paper-abstract {
  max-width: 78ch;
  margin-top: calc(var(--unit) * 6);
  color: #373947;
  line-height: 1.85;
}

.research-paper-abstract {
  padding-top: calc(var(--unit) * 5);
  border-top: 1px solid var(--indigo);
}

.research-paper-abstract p + p { margin-top: calc(var(--unit) * 3); }
.research-paper-actions,
.paper-actions { margin-top: calc(var(--unit) * 5); display: flex; flex-wrap: wrap; gap: calc(var(--unit) * 2); }
.research-paper-actions .text-action,
.paper-actions .text-action { margin-top: 0; }

.paper-source {
  width: fit-content;
  padding: calc(var(--unit) * 2);
  display: inline-flex;
  gap: calc(var(--unit) * 3);
  align-items: center;
  border: 1px solid transparent;
  color: var(--indigo);
}

.paper-source:hover,
.paper-source:focus-visible { border-color: var(--indigo); }

.research-collaboration {
  margin-top: calc(var(--unit) * 10);
  padding-top: calc(var(--unit) * 5);
  border-top: 1px solid var(--indigo);
}

.research-collaboration h2 { margin-top: calc(var(--unit) * 3); }
.research-collaboration > p:not(.eyebrow) {
  max-width: 78ch;
  margin-top: calc(var(--unit) * 4);
  color: #373947;
  line-height: 1.85;
}
.research-collaboration .text-action { margin-top: calc(var(--unit) * 5); }

.paper-hero { background: var(--paper-blue); }
.paper-hero .movement-body { max-width: 980px; }
.paper-hero h1 {
  max-width: 17ch;
  margin-top: calc(var(--unit) * 3);
  font-size: clamp(38px, 6.3vw, 88px);
  font-weight: 400;
  line-height: 1.02;
}
.paper-subtitle {
  max-width: 35ch;
  margin-top: calc(var(--unit) * 4);
  color: var(--indigo);
  font-size: clamp(20px, 2.5vw, 34px);
  line-height: 1.4;
}
.paper-status {
  margin-top: calc(var(--unit) * 5);
  color: var(--blue);
  line-height: 1.8;
}
.paper-introduction {
  max-width: 74ch;
  margin-top: calc(var(--unit) * 7);
  color: #373947;
  font-size: clamp(15px, 1.35vw, 19px);
  line-height: 1.85;
}
.paper-publication-meta {
  margin-top: calc(var(--unit) * 8);
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  border-top: 1px solid var(--indigo);
}
.paper-publication-meta > div { padding: calc(var(--unit) * 3) 0; border-bottom: 1px solid var(--indigo); }
.paper-publication-meta > div:nth-child(odd) { padding-right: calc(var(--unit) * 4); }
.paper-publication-meta > div:nth-child(even) { padding-left: calc(var(--unit) * 4); border-left: 1px solid var(--indigo); }
.paper-publication-meta dt { color: var(--blue); font: 400 9px/1.4 var(--mono); letter-spacing: .18em; }
.paper-publication-meta dd { margin-top: var(--unit); color: #373947; line-height: 1.65; }

.paper-shell {
  max-width: 1440px;
  margin-inline: auto;
  display: grid;
  grid-template-columns: minmax(190px, 260px) minmax(0, 850px);
  gap: clamp(40px, 7vw, 110px);
  padding: calc(var(--unit) * 12) clamp(24px, 5vw, 80px);
  align-items: start;
}
.paper-toc { position: sticky; top: calc(var(--unit) * 4); display: grid; border-top: 1px solid var(--rule); }
.paper-toc > p { padding: calc(var(--unit) * 2) 0; color: var(--blue); }
.paper-toc a { padding: calc(var(--unit) * 1.5) 0; display: grid; grid-template-columns: 28px 1fr; gap: var(--unit); border-top: 1px solid var(--rule); line-height: 1.5; }
.paper-toc a span { color: var(--blue); }

.paper-prose { min-width: 0; color: #292b35; font-family: Georgia, 'Times New Roman', serif; font-size: clamp(17px, 1.45vw, 20px); line-height: 1.78; }
.paper-prose h1,
.paper-prose h2,
.paper-prose h3 { position: relative; color: var(--ink); font-family: var(--mono); font-weight: 400; line-height: 1.25; }
.paper-prose h1 { margin: calc(var(--unit) * 12) 0 calc(var(--unit) * 5); font-size: clamp(28px, 4vw, 52px); }
.paper-prose h2 { max-width: 25ch; margin: calc(var(--unit) * 11) 0 calc(var(--unit) * 4); font-size: clamp(26px, 3.2vw, 42px); }
.paper-prose h3 { margin: calc(var(--unit) * 7) 0 calc(var(--unit) * 3); font-size: clamp(19px, 2vw, 27px); }
.paper-prose > h2:first-child { margin-top: 0; }
.paper-anchor { position: absolute; left: calc(var(--unit) * -3); color: transparent; font-size: 12px; }
.paper-prose h1:hover .paper-anchor,
.paper-prose h2:hover .paper-anchor,
.paper-prose h3:hover .paper-anchor,
.paper-anchor:focus { color: var(--blue); }
.paper-prose p + p { margin-top: calc(var(--unit) * 3); }
.paper-prose ul,
.paper-prose ol { margin: calc(var(--unit) * 3) 0; padding-left: calc(var(--unit) * 4); }
.paper-prose li + li { margin-top: var(--unit); }
.paper-prose blockquote {
  margin: calc(var(--unit) * 6) 0;
  padding: calc(var(--unit) * 4);
  border-left: 2px solid var(--blue);
  background: var(--paper-blue);
  color: var(--indigo);
  font-family: var(--mono);
  font-size: .9em;
}
.paper-prose code { padding: 2px 4px; background: var(--paper-blue); font-family: var(--mono); font-size: .82em; }
.paper-prose a:not(.paper-anchor) { color: var(--indigo); text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 3px; }
.paper-prose hr { margin: calc(var(--unit) * 9) 0; border: 0; border-top: 1px solid var(--rule); }
.paper-table-scroll { max-width: 100%; margin: calc(var(--unit) * 5) 0; overflow-x: auto; border: 1px solid var(--rule); }
.paper-prose table { width: 100%; min-width: 680px; border-collapse: collapse; font-family: var(--mono); font-size: 12px; line-height: 1.55; }
.paper-prose th,
.paper-prose td { padding: calc(var(--unit) * 2); border: 1px solid var(--rule); vertical-align: top; text-align: left; }
.paper-prose th { color: var(--indigo); background: var(--paper-blue); font-weight: 400; }
.paper-prose strong,
.paper-publication-meta strong { font-weight: 500; }
.paper-figure { margin: calc(var(--unit) * 6) 0; padding: calc(var(--unit) * 4); border: 1px solid var(--indigo); background: var(--paper-blue); }
.paper-flow { display: grid; gap: 0; }
.paper-flow-step { display: grid; justify-items: center; color: var(--indigo); font-family: var(--mono); font-size: 12px; text-align: center; }
.paper-flow-step span { width: min(100%, 360px); padding: calc(var(--unit) * 2); border: 1px solid var(--indigo); background: rgba(255,255,255,.35); }
.paper-flow-step i { padding: var(--unit); color: var(--blue); font-style: normal; }
.paper-appendices { margin-top: calc(var(--unit) * 12); border-top: 1px solid var(--indigo); border-bottom: 1px solid var(--indigo); }
.paper-appendices summary { padding: calc(var(--unit) * 3) 0; display: flex; justify-content: space-between; cursor: pointer; color: var(--indigo); list-style: none; }
.paper-appendices summary::-webkit-details-marker { display: none; }
.paper-appendices[open] summary span { font-size: 0; }
.paper-appendices[open] summary span::after { content: 'CLOSE'; font-size: 9px; }
.paper-appendix-body { padding-bottom: calc(var(--unit) * 8); }

.research-page-inquiry {
  margin-top: calc(var(--unit) * 10);
  padding-top: calc(var(--unit) * 5);
  border-top: 1px solid var(--indigo);
}

.research-page-inquiry h2 {
  max-width: 30ch;
  font-size: clamp(21px, 2.4vw, 34px);
}

.inquiry-intro {
  max-width: 58ch;
  margin-top: calc(var(--unit) * 3);
  color: #373947;
  line-height: 1.8;
}

.inquiry-form {
  max-width: 820px;
  margin-top: calc(var(--unit) * 6);
  display: grid;
  gap: calc(var(--unit) * 4);
}

.inquiry-form-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: calc(var(--unit) * 3);
}

.inquiry-form label { display: grid; gap: var(--unit); }
.inquiry-form label > span { color: var(--indigo); }
.inquiry-form label small { color: var(--dim); font: inherit; }

.inquiry-form input,
.inquiry-form textarea {
  width: 100%;
  border: 1px solid var(--indigo);
  padding: calc(var(--unit) * 2);
  background: rgba(255, 255, 255, .22);
  color: var(--ink);
  font: 400 13px/1.65 var(--mono);
  resize: vertical;
}

.inquiry-form input:focus,
.inquiry-form textarea:focus {
  outline: 1px solid var(--blue);
  outline-offset: 2px;
  background: rgba(255, 255, 255, .42);
}

.inquiry-verification { min-height: 65px; }

.inquiry-submit-row {
  min-height: calc(var(--unit) * 7);
  display: flex;
  align-items: center;
  gap: calc(var(--unit) * 3);
}

.inquiry-submit-row .text-action {
  margin-top: 0;
  cursor: pointer;
}

.inquiry-submit-row .text-action:disabled { cursor: wait; opacity: .55; }
.inquiry-status { color: var(--dim); font-size: 11px; }
.inquiry-status[data-state='error'] { color: #7b2d25; }
.inquiry-status[data-state='success'] { color: var(--indigo); }

.inquiry-direct {
  color: var(--dim);
  font-size: 11px;
}

.inquiry-direct a {
  color: var(--indigo);
  text-decoration: underline;
  text-underline-offset: 4px;
}

.privacy-grid {
  margin-top: calc(var(--unit) * 9);
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  border-top: 1px solid var(--ink);
  border-bottom: 1px solid var(--ink);
}

.privacy-entry { padding: calc(var(--unit) * 5) calc(var(--unit) * 4); }
.privacy-entry:nth-child(even) { border-left: 1px solid var(--ink); }
.privacy-entry:nth-child(n + 3) { border-top: 1px solid var(--ink); }
.privacy-entry:nth-child(odd) { padding-left: 0; }

.privacy-entry h2 {
  margin-top: calc(var(--unit) * 2);
  font-size: clamp(18px, 1.8vw, 25px);
}

.privacy-entry p {
  max-width: 56ch;
  margin-top: calc(var(--unit) * 3);
  color: #373947;
  line-height: 1.8;
}

.house-foot {
  min-height: calc(var(--unit) * 21);
  padding: calc(var(--unit) * 4) calc(var(--unit) * 9);
  display: grid;
  grid-template-columns: 96px 1fr auto;
  align-items: center;
  gap: calc(var(--unit) * 6);
  background: var(--paper);
}

.foot-mark {
  width: 88px;
  padding: var(--unit);
  border: 1px solid transparent;
  line-height: 0;
}

.foot-mark img { width: 100%; height: auto; }
.house-foot p { color: var(--dim); }
.house-foot nav { display: flex; gap: calc(var(--unit) * 3); }

.house-foot nav a {
  padding: var(--unit) calc(var(--unit) * 2);
  border: 1px solid transparent;
}

.house-foot a:hover,
.house-foot a:focus-visible {
  border-color: var(--ink);
  color: var(--blue);
}

@media (max-width: 980px) {
  .house-mast { padding-inline: calc(var(--unit) * 6); }
  .hero { padding-inline: calc(var(--unit) * 6); }
  .hero-copy { width: min(60%, 620px); }
  .hero-actions { grid-template-columns: 1fr; }
  .hero-field > img { left: 80%; width: 900px; }
  .movement { padding-inline: calc(var(--unit) * 6); gap: calc(var(--unit) * 6); }
  .entrance-grid { grid-template-columns: 1fr; }
  .entrance + .entrance { border-left: 0; border-top: 1px solid var(--ink); }
  .house-foot { padding-inline: calc(var(--unit) * 6); }
  .paper-shell { grid-template-columns: 1fr; }
  .paper-toc { position: static; grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .paper-toc > p { grid-column: 1 / -1; }
  .paper-toc a:nth-last-child(1) { grid-column: 1 / -1; }
}

@media (max-width: 760px) {
  .house-mast { min-height: calc(var(--unit) * 10); padding: calc(var(--unit) * 2) calc(var(--unit) * 3); }
  .house-nav { gap: 0; }
  .house-nav a { padding: var(--unit); }
  .hero { min-height: 0; padding: calc(var(--unit) * 14) calc(var(--unit) * 3) calc(var(--unit) * 57); }
  .hero-copy { width: 100%; padding-top: 0; }
  .hero-copy h1 { margin-top: calc(var(--unit) * 5); }
  .hero-wordmark { width: 82%; }
  .hero-statement { margin-top: calc(var(--unit) * 5); font-size: 18px; }
  .hero-intro { color: var(--ink); }
  .hero-actions { margin-top: calc(var(--unit) * 4); }
  .hero-field > img {
    inset: auto auto -7% 61%;
    width: 720px;
    -webkit-mask-image: linear-gradient(to bottom, transparent 0%, rgba(0, 0, 0, .2) 18%, #000 48%, #000 100%);
    mask-image: linear-gradient(to bottom, transparent 0%, rgba(0, 0, 0, .2) 18%, #000 48%, #000 100%);
  }
  .movement { padding: calc(var(--unit) * 10) calc(var(--unit) * 3); grid-template-columns: 1fr; gap: calc(var(--unit) * 3); }
  .movement-index { flex-direction: row; }
  .movement h2 { font-size: 29px; }
  .inquiry-copy,
  .research-copy { margin-top: calc(var(--unit) * 5); grid-template-columns: 1fr; gap: calc(var(--unit) * 3); }
  .research-family { margin-top: calc(var(--unit) * 6); grid-template-columns: 1fr; }
  .inquiry-form-grid { grid-template-columns: 1fr; }
  .inquiry-submit-row { align-items: flex-start; flex-direction: column; }
  .research-entry { padding: calc(var(--unit) * 4) 0; }
  .research-entry + .research-entry { border-left: 0; border-top: 1px solid var(--indigo); }
  .inquiry-question { margin-top: calc(var(--unit) * 6); font-size: 24px; }
  .trust-page .movement h1 { font-size: 34px; }
  .research-paper-feature { padding: calc(var(--unit) * 4) calc(var(--unit) * 3); }
  .research-paper-actions,
  .paper-actions { align-items: flex-start; flex-direction: column; }
  .paper-hero h1 { font-size: 42px; }
  .paper-publication-meta { grid-template-columns: 1fr; }
  .paper-publication-meta > div:nth-child(odd),
  .paper-publication-meta > div:nth-child(even) { padding: calc(var(--unit) * 3) 0; border-left: 0; }
  .paper-shell { padding: calc(var(--unit) * 8) calc(var(--unit) * 3); gap: calc(var(--unit) * 7); }
  .paper-toc { grid-template-columns: 1fr; }
  .paper-toc a:nth-last-child(1) { grid-column: auto; }
  .paper-prose { font-size: 17px; line-height: 1.72; }
  .paper-prose h1 { font-size: 31px; }
  .paper-prose h2 { font-size: 28px; }
  .paper-anchor { position: static; margin-left: var(--unit); }
  .paper-figure { padding: calc(var(--unit) * 2); }
  .privacy-grid { grid-template-columns: 1fr; }
  .privacy-entry { padding: calc(var(--unit) * 4) 0; }
  .privacy-entry:nth-child(even) { border-left: 0; }
  .privacy-entry + .privacy-entry { border-top: 1px solid var(--ink); }
  .entrance-grid { margin-top: calc(var(--unit) * 6); }
  .entrance { padding: calc(var(--unit) * 5) 0; }
  .house-foot { min-height: calc(var(--unit) * 30); padding: calc(var(--unit) * 4) calc(var(--unit) * 3); grid-template-columns: 1fr; gap: calc(var(--unit) * 3); }
}

@media (max-width: 390px) {
  .house-nav a { padding-inline: var(--unit); }
  .entrance-register { flex-direction: column; gap: var(--unit); }
  .player-download-grid { grid-template-columns: 1fr; }
  .player-downloads-head { flex-direction: column; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  .panel-control { transition: none; }
  .hero-field > img { transform: translate(-50%, -50%) scale(1.12); }
}
