@font-face {
  font-family: Alexandria;
  src: url(/ui/alexandria.woff2) format("woff2"), url(/ui/alexandria.ttf) format("truetype");
  font-weight: 200 800;
  font-style: normal;
  font-display: swap;
}
:root {
  --paper: #f7f7f7;
  --ink: #171717;
  --muted: #595959;
  --rule: #c9c9c9;
  --white: #fff;
  --ink-hover: #383838;
  --stage: #121212;
  --artifact-ground: #ececec;
  --quiet-ground: #e8e8e8;
  --control-rule: #858585;
  --focus: #1559ad;
  --focus-inverse: #b5d4ff;
  --error: #9d2020;
  --inverse-text: #f6f6f6;
  --inverse-muted: #dedede;
  --saved-ground: #dceadc;
  --saved-ink: #163716;
  --scrollbar-thumb: #8b8b8b;
  --scrollbar-track: #eee;
  --soft-ground: #eee;
  --dialog-backdrop: #000c;
  --space: clamp(24px, 4vw, 72px);
  --ease: cubic-bezier(0.16, 1, 0.3, 1);
  color-scheme: light;
  font-family: Tajawal, Arial, sans-serif;
  color: var(--ink);
  background: var(--paper);
  font-synthesis: none;
}
* {
  box-sizing: border-box;
}
body {
  margin: 0;
}
a {
  color: inherit;
  text-underline-offset: 0.28em;
  text-decoration-thickness: 1px;
}
button,
input,
select,
textarea {
  font: inherit;
  color: inherit;
}
button,
a,
input,
select,
textarea {
  -webkit-tap-highlight-color: transparent;
}
button {
  cursor: pointer;
}
a,
button {
  touch-action: manipulation;
}
button:disabled {
  opacity: 0.55;
  cursor: not-allowed;
}
img,
video {
  max-width: 100%;
  display: block;
}
button,
input,
select,
textarea {
  border: 1px solid var(--control-rule);
  border-radius: 0;
  background: transparent;
}
input,
select,
textarea {
  width: 100%;
  padding: 14px;
  caret-color: var(--ink);
}
textarea {
  resize: vertical;
  line-height: 1.6;
}
button {
  padding: 12px 20px;
  min-height: 44px;
}
label {
  display: grid;
  gap: 9px;
  font-size: 18px;
}
fieldset {
  border: 0;
  padding: 0;
  margin: 0 0 28px;
  min-width: 0;
}
legend {
  font-size: 26px;
  font-weight: 700;
  margin-bottom: 20px;
}
p,
li {
  font-size: 20px;
  line-height: 1.7;
}
p {
  max-width: 65ch;
  margin: 0 0 20px;
}
h1,
h2,
h3 {
  margin: 0;
  text-wrap: balance;
  line-height: 1.18;
}
h1,
h2 {
  font-family: Alexandria, Tajawal, sans-serif;
  font-weight: 600;
}
h1 {
  font-size: clamp(42px, 5.5vw, 88px);
  letter-spacing: -0.03em;
}
html[dir="rtl"] h1,
html[dir="rtl"] h2 {
  letter-spacing: 0;
}
h2 {
  font-size: clamp(32px, 3.2vw, 52px);
}
h3 {
  font-size: 26px;
}
svg {
  width: 24px;
  height: 24px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.4;
  flex: none;
}
html[dir="rtl"] .text-link svg,
html[dir="rtl"] .solid svg,
html[dir="rtl"] .stage-action svg,
html[dir="rtl"] .contact-link svg,
html[dir="rtl"] .open-work svg {
  transform: rotate(180deg);
}
::selection {
  background: var(--ink);
  color: var(--white);
}
:focus-visible {
  outline: 2px solid var(--focus);
  outline-offset: 5px;
}
::-webkit-scrollbar {
  width: 9px;
  height: 8px;
}
::-webkit-scrollbar-thumb {
  background: var(--scrollbar-thumb);
}
::-webkit-scrollbar-track {
  background: var(--scrollbar-track);
}
[hidden] {
  display: none !important;
}
.skip {
  position: fixed;
  top: 10px;
  left: 10px;
  z-index: 300;
  background: var(--white);
  padding: 15px;
  transform: translateY(-200%);
}
.skip:focus {
  transform: none;
}
.site-header {
  height: 100px;
  padding: 0 var(--space);
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 30px;
}
.brand img {
  object-fit: contain;
  width: 145px;
  height: auto;
}
.site-header a {
  text-decoration: none;
}
.site-header nav {
  display: flex;
  gap: 34px;
  align-items: center;
}
.site-header nav a {
  padding-block: 12px;
  font-size: 19px;
  position: relative;
}
.site-header nav a:after {
  content: "";
  height: 1px;
  background: var(--ink);
  position: absolute;
  bottom: 4px;
  inset-inline: 0;
  transform: scaleX(0);
  transition: transform 0.25s;
}
.site-header nav a:hover:after,
.site-header nav a[aria-current]:after {
  transform: scaleX(1);
}
.header-end {
  display: flex;
  align-items: center;
  gap: 26px;
}
.language {
  font-size: 16px;
  padding: 12px;
}
.contact-link {
  display: flex;
  align-items: center;
  gap: 18px;
  font-weight: 700;
  font-size: 18px;
}
.section {
  padding: 100px var(--space);
}
.exhibition {
  padding: 32px var(--space) 82px;
  display: grid;
  grid-template-columns: minmax(0, 0.8fr) minmax(0, 1.6fr);
  gap: 5vw;
  align-items: center;
  min-height: calc(100svh - 100px);
}
.identity h1 {
  font-size: clamp(46px, 4.4vw, 72px);
  line-height: 1.3;
  margin-bottom: 28px;
}
html[lang="en"] .identity h1 {
  white-space: nowrap;
  overflow-wrap: normal;
}
@media (min-width: 701px) {
  html[lang="en"] .identity h1 {
    font-size: clamp(36px, 3.7vw, 64px);
  }
}
.discipline {
  font-size: 24px;
  font-weight: 700;
  line-height: 1.45;
  margin-bottom: 20px;
}
.identity-intro {
  font-size: 19px;
  max-width: 30ch;
}
.signature {
  display: flex;
  align-items: center;
  gap: 15px;
  margin-top: 44px;
  font-size: 15px;
  line-height: 1.5;
  max-width: 28ch;
}
.agency-signature { text-decoration-thickness:1px; text-underline-offset:.25em; }
.agency-signature:hover, .agency-signature:focus-visible { text-decoration-thickness:2px; }
.signature-portrait {
  flex: none;
  background: center top / cover no-repeat;
  width: 58px;
  height: 68px;
  filter: grayscale(1);
}
@media (min-width: 701px) {
  .signature-portrait { background-image: url(/assets/display/portrait-badge.webp?v=8a05ec27); }
}
.showcase {
  min-width: 0;
}
.showcase-stage {
  background: var(--stage);
  overflow: hidden;
  height: clamp(390px, 61vh, 630px);
}
.stage-panel {
  height: 100%;
  position: relative;
  display: flex;
  flex-direction: column;
}
.stage-panel > .work-image,
.stage-panel > .typographic-artifact {
  height: calc(100% - 104px);
  width: 100%;
  object-fit: contain;
  background: var(--stage);
}
.stage-panel > .logo-image {
  background: var(--white) !important;
  padding: 70px;
}
.stage-caption {
  background: var(--stage);
  color: var(--white);
  min-height: 104px;
  padding: 22px 25px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 20px;
  text-decoration: none;
  font-size: 20px;
  line-height: 1.3;
}
.stage-caption small {
  display: block;
  font-size: 14px;
  color: #cfcfcf;
  margin-top: 8px;
}
.stage-action {
  display: flex;
  align-items: center;
  gap: 15px;
  font-size: 15px;
  white-space: nowrap;
}
.work-select {
  display: flex;
  justify-content: space-between;
  gap: 8px;
  border-bottom: 1px solid var(--rule);
}
.work-select a {
  display:grid; place-items:center; text-align:center; text-decoration:none;
  border: 0;
  padding: 18px 6px;
  font-size: 17px;
  min-height: 60px;
  flex: 1;
  position: relative;
}
.work-select a[aria-current="true"]:after {
  content: "";
  position: absolute;
  bottom: -1px;
  inset-inline: 0;
  height: 3px;
  background: var(--ink);
}
.work-select a:hover {
  background: var(--quiet-ground);
}
.section-heading {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 12%;
  align-items: end;
  margin-bottom: 60px;
}
.section-heading p {
  max-width: 40ch;
}
.text-link {
  display: inline-flex;
  align-items: center;
  gap: 20px;
  font-weight: 700;
  min-height: 44px;
  margin-block: 8px;
  font-size: 20px;
  text-decoration: none;
  border-bottom: 1px solid var(--ink);
  padding-block: 8px;
}
.text-link:hover svg {
  translate: 4px 0;
}
.curated {
  display: grid;
  grid-template-columns: 1.2fr 0.8fr;
  gap: 80px 5vw;
}
.curated .tile-1 {
  margin-top: 180px;
}
.curated .tile-2 {
  grid-column: 1/-1;
  display: grid;
  grid-template-columns: 1.5fr 1fr;
  align-items: center;
  gap: 6vw;
  margin-inline: 9vw 0;
}
.work-tile {
  min-width: 0;
}
.artifact-link {
  display: block;
  position: relative;
  overflow: hidden;
  background: var(--artifact-ground);
  text-decoration: none;
}
.artifact-link .work-image {
  height: 440px;
  width: 100%;
  object-fit: contain;
  transition: scale 0.7s var(--ease);
  padding: 20px;
}
.artifact-link .logo-image {
  padding: 90px;
  background: var(--soft-ground);
}
.artifact-link:hover .work-image {
  scale: 1.025;
}
.open-work {
  display: flex;
  position: absolute;
  bottom: 20px;
  inset-inline-end: 20px;
  align-items: center;
  gap: 14px;
  background: var(--white);
  color: var(--ink);
  padding: 12px 18px;
  opacity: 0;
  translate: 0 10px;
  transition:
    opacity 0.3s,
    translate 0.3s;
  font-size: 15px;
}
.artifact-link:hover .open-work,
.artifact-link:focus-visible .open-work {
  opacity: 1;
  translate: 0 0;
}
.tile-caption {
  padding-top: 24px;
}
.tile-caption h3 {
  font-size: 25px;
  font-weight: 700;
}
.tile-caption a {
  text-decoration: none;
}
.tile-caption p {
  font-size: 17px;
  color: var(--muted);
  margin-top: 12px;
}
.typographic-artifact {
  padding: 40px;
  min-height: 300px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 30px;
  background: var(--quiet-ground);
}
.typographic-artifact span {
  font-family: Alexandria, sans-serif;
  font-size: 38px;
  line-height: 1.4;
}
.typographic-artifact small {
  font-size: 18px;
}
.approach {
  background: var(--ink);
  color: var(--inverse-text);
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 12%;
  padding-block: 110px;
}
.approach article {
  padding-bottom: 30px;
  margin-bottom: 30px;
  border-bottom: 1px solid #555;
}
.approach h3 {
  margin-bottom: 14px;
}
.approach p {
  font-size: 19px;
  color: var(--inverse-muted);
}
.approach .text-link {
  border-color: var(--white);
}
.journey-teaser {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 8vw;
  padding-block: 150px;
  align-items: center;
}
.journey-teaser h2 {
  margin-bottom: 28px;
}
.footer-invite {
  padding: 80px var(--space);
  border-top: 1px solid var(--rule);
}
.footer-invite .text-link {
  font-family: Alexandria, sans-serif;
  font-size: clamp(30px, 4vw, 62px);
  border: 0;
  display: flex;
  justify-content: space-between;
}
.footer-invite svg {
  width: 54px;
  height: 54px;
}
.footer-bottom {
  padding: 30px var(--space) 45px;
  display: flex;
  gap: 30px;
  align-items: center;
  justify-content: space-between;
  border-top: 1px solid var(--rule);
}
.footer-bottom p {
  font-size: 14px;
  margin: 0;
}
.footer-bottom > div {
  display: flex;
  gap: 20px;
}
.footer-bottom a {
  font-size: 16px;
}
.page-heading {
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 10%;
  margin-bottom: 65px;
}
.page-heading p {
  max-width: 40ch;
  margin: 0;
}
.archive {
  padding-top: 55px;
}
.archive-controls {
  display: grid;
  grid-template-columns: 1.5fr 1fr 0.65fr auto;
  gap: 20px;
  align-items: end;
  border-bottom: 1px solid var(--rule);
  padding-bottom: 32px;
}
.solid {
  background: var(--ink);
  color: var(--white);
  padding: 15px 26px;
  border: 1px solid var(--ink);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 14px;
  text-decoration: none;
  min-height: 48px;
  font-size: 18px;
}
.solid:hover {
  background: var(--ink-hover);
}
.result-count {
  font-size: 16px;
  margin-block: 30px;
}
.archive-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 70px 5vw;
}
.archive-grid .artifact-link .work-image {
  height: 350px;
}
.archive-grid .typographic-artifact {
  min-height: 350px;
}
.list-view {
  display: block;
}
.list-view .work-tile {
  display: grid;
  grid-template-columns: 210px 1fr;
  gap: 40px;
  align-items: center;
  border-top: 1px solid var(--rule);
  padding: 24px 0;
}
.list-view .artifact-link .work-image,
.list-view .typographic-artifact {
  height: 150px;
  min-height: 150px;
  padding: 15px;
}
.list-view .typographic-artifact span {
  font-size: 18px;
}
.list-view .typographic-artifact small {
  display: none;
}
.list-view .tile-caption {
  padding: 0;
}
.case-shell, .case-next {
  max-width: 1550px;
  margin-inline: auto;
  padding-inline: var(--space);
}
.case-path {
  display: flex;
  align-items: center;
  gap: 13px;
  min-height: 62px;
  color: var(--muted);
  border-bottom: 1px solid var(--rule);
  font-size: 16px;
}
.case-path .text-link { font-size: 16px; border: 0; margin: 0; gap: 8px; }
.case-path .text-link svg { display: none; }
.case-opening {
  display: grid;
  align-items: start;
  gap: clamp(26px,4vw,76px);
  padding-block: clamp(36px,5vw,80px);
}
.case-opening.with-work { grid-template-columns: minmax(0,.84fr) minmax(0,1.36fr); grid-template-areas:"brief work" "story work"; grid-template-rows:min-content 1fr; row-gap:12px; }
.with-work > .case-brief { grid-area:brief; }
.with-work > .case-storyline { grid-area:story; }
.with-work > .case-feature, .with-work > .presentation { grid-area:work; }
.case-opening.text-only { max-width: 790px; row-gap: 12px; }
.case-brief { min-width: 0; }
.case-brief h1 { font-size: clamp(38px,4.1vw,70px); line-height: 1.25; margin: 0; }
.case-abstract { font-size: clamp(19px,1.65vw,25px); line-height: 1.7; margin-block: 20px 26px; max-width: 48ch; }
.case-facts { margin: 22px 0 0; padding: 0; display: grid; }
.case-facts > div { display: grid; grid-template-columns: 4.5em 1fr; gap: 12px; align-items: baseline; padding-block: 11px; border-top: 1px solid var(--rule); }
.case-facts dt { color: var(--muted); font-size: 15px; }
.case-facts dd { margin: 0; font-size: 18px; line-height: 1.5; }
.case-feature { margin: 0; min-width: 0; }
.case-artwork-link {
  display: grid; place-items: center; position: relative; text-decoration: none;
  background: #161616; overflow: hidden;
}
.case-artwork-link .work-image { width: 100%; height: auto; max-height: 65vh; object-fit: contain; }
.case-feature.mark-only .case-artwork-link { background: var(--soft-ground); padding: 30px; }
.case-feature.mark-only .work-image { max-width: 220px; max-height: 140px; height: auto; }
.case-feature figcaption { margin-block-start: 10px; font-size: 15px; color: var(--muted); line-height: 1.5; }
.case-contribution { display: grid; grid-template-columns: minmax(0,.84fr) minmax(0,1.36fr); gap: clamp(26px,4vw,76px); padding-block: clamp(30px,4vw,60px); border-top: 1px solid var(--rule); }
.case-contribution h2, .case-next .text-link { font-size: clamp(25px,2.6vw,42px); }
.case-contribution ul { margin: 0; padding: 0; list-style: none; }
.case-contribution li { font-size: 20px; line-height: 1.65; padding-block: 11px; }
.case-contribution li + li { border-top: 1px solid var(--rule); }
.with-work > .study-model { grid-area:work; }
.study-model { min-width:0; align-self:start; border:1px solid var(--rule); background:var(--white); padding:clamp(20px,3vw,42px); scroll-margin-block-start:16px; }
.study-model .model-source,.model-attribution { margin:0; font-size:14px; line-height:1.65; color:var(--muted); }
.study-model h2 { font-size:clamp(26px,3vw,40px); line-height:1.25; margin:.35em 0 .75em; }
.model-variables { border-block-start:1px solid var(--ink); }
.model-variables details { border-block-end:1px solid var(--rule); }
.model-variables summary { cursor:pointer; padding:.7em 0; font-size:18px; line-height:1.5; }
.model-variables summary small { margin-inline-end:1em; color:var(--muted); font-size:14px; }
.model-variables summary span { font-weight:700; }
.model-variables summary:hover span,.model-variables summary:focus-visible span { text-decoration:underline; text-underline-offset:4px; }
.model-variables details p { margin:0 0 1em; max-width:58ch; line-height:1.65; }
.model-outcome { margin:1.25em 0; padding-block:1em .25em; border-block-start:1px solid var(--ink); }
.model-outcome > span { color:var(--muted); font-size:14px; }
.model-outcome h3 { margin:.35em 0; font-size:clamp(20px,2.1vw,29px); line-height:1.35; }
.model-outcome p { margin:.4em 0 0; line-height:1.65; max-width:55ch; }
.case-evidence { display:table; margin-block-start:.35em; font-size:15px; font-weight:700; text-underline-offset:4px; }
.guide-entry { margin-block-end:1rem; }
.field-guide { border-block:1px solid var(--rule); scroll-margin-block-start:16px; }
.guide-intro { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1.15fr); gap:clamp(24px,5vw,90px); align-items:end; margin-block-end:clamp(24px,3vw,46px); }
.guide-intro h2 { margin:0; font-size:clamp(34px,4vw,62px); line-height:1.14; }
.guide-intro p { margin:0; max-width:58ch; font-size:clamp(17px,1.6vw,21px); line-height:1.65; }
.guide-spread { display:grid; grid-template-columns:minmax(190px,.7fr) minmax(0,1.55fr); gap:clamp(30px,7vw,110px); }
.guide-index { align-self:start; border-block-start:1px solid var(--ink); }
.guide-index a { display:flex; justify-content:space-between; gap:.7em; align-items:center; min-height:48px; padding:10px 6px; border-block-end:1px solid var(--rule); text-decoration:none; line-height:1.4; }
.guide-index a bdi { color:var(--muted); font-variant-numeric:tabular-nums; font-size:14px; }
.guide-index a:hover span,.guide-index a:focus-visible span { text-decoration:underline; text-underline-offset:4px; }
.guide-index a[aria-current] { background:var(--ink); color:var(--white); padding-inline:12px; }
.guide-index a[aria-current] bdi { color:inherit; }
.guide-identity { margin:1.3rem 0 0; max-width:340px; }
.guide-identity a { display:block; text-decoration:none; }
.guide-identity img { width:100%; height:80px; object-fit:cover; }
.guide-identity span { color:var(--muted); font-size:14px; text-decoration:underline; text-underline-offset:4px; }
.guide-reading { border-block-start:1px solid var(--ink); padding-block-start:12px; }
.guide-page-ref,.guide-source { font-size:14px; color:var(--muted); }
.guide-reading h3 { margin:.35em 0; font-size:clamp(26px,3vw,42px); line-height:1.25; }
.guide-reading article > p:not(.guide-page-ref) { font-size:clamp(17px,1.6vw,21px); max-width:58ch; line-height:1.65; }
.guide-reading dl { margin:1.3em 0; }
.guide-reading dl > div { display:grid; grid-template-columns:minmax(8em,.75fr) minmax(0,1.7fr); gap:12px 22px; border-block-start:1px solid var(--rule); padding-block:.75em; }
.guide-reading dt { font-weight:700; }
.guide-reading dd { margin:0; line-height:1.65; }
.guide-projects { display:flex; align-items:baseline; flex-wrap:wrap; gap:.4em 1em; }
.guide-projects span { font-size:14px; color:var(--muted); }
.guide-projects a { font-weight:700; text-underline-offset:4px; }
.guide-source { margin:2.5em 0 0; max-width:78ch; line-height:1.65; }
@media (max-width:700px) {
  .guide-intro,.guide-spread { grid-template-columns:1fr; gap:22px; }
  .guide-sidebar { display:contents; }
  .guide-index { order:1; }
  .guide-reading { order:2; }
  .guide-identity { order:3; margin:0; max-width:200px; }
  .guide-identity img { height:45px; }
  .guide-index { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); column-gap:12px; }
  .guide-reading dl > div { grid-template-columns:1fr; gap:.25em; }
  .guide-source { margin-block-start:1.5em; }
}
.case-next { display: flex; align-items: baseline; gap: 24px; border-top: 1px solid var(--rule); padding-block: 26px; }
.enquiry-example { padding-block: 0 1rem; margin-block-end: 1rem; border-block-end: 1px solid var(--rule); }
.case-next > span { font-size: 16px; color: var(--muted); }
.case-next .text-link { border: 0; margin: 0; }
.presentation { min-width: 0; background: var(--white); border: 1px solid var(--rule); }
.reader-mast, .reader-controls, .reader-tabs { padding-inline: clamp(12px,1.4vw,22px); }
.reader-mast { display: flex; justify-content: space-between; align-items: center; padding-block: 12px; font-size: 16px; }
.reader-type { font: 600 12px/1 Alexandria,sans-serif; color: var(--muted); letter-spacing:.08em; }
.reader-tabs { display:flex; overflow-x:auto; gap:16px; border-top:1px solid var(--rule); }
.reader-tabs a { flex:none; padding-block:12px 8px; border-bottom:2px solid transparent; text-decoration:none; font-size:16px; }
.reader-tabs a[aria-current] { border-color:var(--ink); font-weight:700; }
.reader-page { padding: clamp(6px,1vw,15px); background: #eaeaea; }
.reader-caption { margin: .65em 0 0; font-size: 14px; line-height: 1.5; }
.reader-related { display:flex; flex-wrap:wrap; align-items:baseline; gap:6px 16px; padding:8px clamp(12px,1.4vw,22px); border-block-end:1px solid var(--rule); }
.reader-related > span { font-size:14px; color:var(--muted); }
.reader-related > div { display:flex; flex-wrap:wrap; gap:4px 16px; }
.reader-related a { padding-block:5px; font-weight:700; text-underline-offset:4px; }
.agency-actions { max-width:36ch; }
.agency-actions p { color:var(--muted); font-size:16px; line-height:1.65; margin-block:.7rem 1.25rem; }
.agency-actions .text-link { margin:0; font-size:16px; }
.agency-case .reader-page img { max-height:clamp(260px,48vh,490px); }
.office-pages { display:grid; gap:14px; max-width:680px; margin:auto; }
.office-pages img { display:block; width:100%; height:auto; }
.source-image.on-dark,.media-dialog img.on-dark { background:var(--ink); }
.reader-page a { display:block; position:relative; background: var(--white); }
.reader-page img { width:100%; height:auto; max-height:70vh; object-fit:contain; }
.zoom-hint { position:absolute; bottom:8px; inset-inline-end:8px; display:grid; place-items:center; width:30px; height:30px; font:19px/1 Arial,sans-serif; color:var(--white); background:#171717c9; pointer-events:none; }
.reader-controls { display:flex; flex-wrap:wrap; gap: 6px 18px; align-items:center; justify-content:space-between; padding-block:7px; }
.reader-paging { display:flex; align-items:center; gap:14px; }
.reader-step,.reader-download { display:inline-flex; align-items:center; min-height:44px; font-size:15px; font-weight:700; text-underline-offset:4px; }
.reader-step[aria-disabled] { color:#777; font-weight:400; }
.reader-controls { border-block: 1px solid var(--rule); }
.reader-paging select { width:auto; max-width:11em; padding:7px 4px; min-height:44px; font-size:16px; }
.presentation.has-page-picker [data-counter] { position:absolute; width:1px; height:1px; clip-path:inset(50%); overflow:hidden; }
.reader-paging output { font-size:14px; font-variant-numeric:tabular-nums; }
.reader-download { margin-inline-start:auto; }
.reader-actions { display:flex; flex-wrap:wrap; align-items:center; gap: 14px; }
.reader-open { display:inline-flex; align-items:center; min-height:44px; font-size:15px; font-weight:700; }
[data-native-reader] iframe { display:block; width:100%; height: min(75vh,850px); min-height:330px; border:0; }
[data-native-reader] > a { display:inline-block; margin:12px 16px; }
.lead {
  font-size: 26px;
  line-height: 1.7;
}
.contributions {
  list-style: none;
  padding: 0;
  margin: 40px 0;
}
.contributions li {
  border-top: 1px solid var(--rule);
  padding: 22px 0;
  font-size: 20px;
}
.film {
  background: var(--ink);
  color: var(--white);
}
.film h2 {
  margin-bottom: 35px;
}
.film video {
  width: 100%;
  height: auto;
  max-height: 750px;
  background: black;
}
.film p {
  font-size: 17px;
  margin-top: 25px;
}
.film .text-link {
  border-color: var(--white);
}
.artifacts h2 {
  margin-bottom: 55px;
}
.artifact-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 60px 45px;
}
.artifact-grid figure {
  margin: 0;
}
.gallery-link {
  display: flex;
  background: var(--soft-ground);
  justify-content: center;
  padding: 20px;
}
.gallery-link img {
  height: auto;
  object-fit: contain;
  width: 100%;
  max-height: 620px;
}
.gallery-link.is-logo {
  padding: 70px;
  min-height: 280px;
  align-items: center;
}
.artifact-grid figcaption {
  font-size: 17px;
  line-height: 1.6;
  margin-top: 20px;
}
.case-public-links {
  display: flex;
  flex-wrap: wrap;
  gap: 16px 28px;
  margin-block-start: 28px;
}
.next-work {
  display: grid;
  grid-template-columns: 1fr 2fr;
  gap: 12%;
}
.next-work .text-link {
  font-size: 32px;
}
.section.journey { padding-block-start:clamp(26px,3vw,48px); }
.journey .page-heading { margin-block-end:clamp(18px,2.5vw,33px); }
.year-nav {
  display: flex;
  gap: clamp(4px,1.2vw,20px);
  overflow-x: auto;
  border-bottom: 1px solid var(--rule);
  margin-bottom: clamp(24px,2.7vw,36px);
  scrollbar-width: thin;
}
.year-nav a {
  flex: none;
  font-size: 25px;
  text-decoration: none;
  padding: 12px clamp(10px,1.45vw,20px);
}
.year-nav a:hover, .year-nav a:focus-visible { text-decoration: underline; text-underline-offset: .24em; }
.year-nav a[aria-current] { background: var(--ink); color: var(--white); }
.journey-layout {
  --entry-direction: 1;
  display: grid;
  grid-template-columns: minmax(0,1fr) minmax(0,2fr);
  gap: 10%;
  align-items: start;
  touch-action: pan-y pinch-zoom;
}
[dir="rtl"] .journey-layout { --entry-direction: -1; }
.chapter-aside { position: sticky; top: 32px; }
.chosen-year { font-size: clamp(52px,7vw,96px); font-weight: 300; margin: 0; }
.journey-layout[data-chapter="undated"] .chosen-year { font-size: clamp(32px,4vw,54px); }
.chapter-work { margin-block-start:1.25rem; }
.chapter-exhibit { display:block; text-decoration:none; }
.chapter-brief { display:inline-block; font-size:15px; line-height:1.5; text-underline-offset:.2em; }
.chapter-exhibit figure { margin: 0; }
.chapter-exhibit img { width: 100%; height: clamp(120px,16.5vw,200px); object-fit: contain; background: var(--soft-ground); }
.chapter-exhibit figcaption { padding-block: .5rem; color: var(--ink); line-height: 1.45; }
.chapter-exhibit:hover figcaption, .chapter-exhibit:focus-visible figcaption { text-decoration: underline; text-underline-offset: .2em; }
.timeline-event { padding-bottom: 1.9rem; margin-bottom: 2rem; border-bottom: 1px solid var(--rule); }
.timeline-event[id] { scroll-margin-block-start:1rem; }
.timeline-event:target h3 { text-decoration:underline; text-decoration-thickness:1px; text-underline-offset:.18em; }
.case-journey { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(280px,100%),1fr)); align-items:start; gap:24px 32px; }
.case-journey > div { display:grid; justify-items:start; gap:8px; }
.case-journey .text-link { font-size:clamp(20px,2vw,30px); line-height:1.35; }
.case-journey > div > span,.case-journey .archive-return { font-size:16px; color:var(--muted); }
.case-journey .archive-return { justify-self:start; text-underline-offset:.2em; }
.timeline-event h3 { font-size: clamp(25px,2.45vw,34px); line-height: 1.22; margin-block: .35rem .65rem; }
.timeline-event h3 a { text-decoration: none; }
.timeline-event h3 a:hover, .timeline-event h3 a:focus-visible { text-decoration: underline; text-underline-offset: .18em; }
.timeline-event p { max-width: 65ch; margin-block: .3rem; }
.timeline-links { display:flex; flex-wrap:wrap; gap:.5rem 1.25rem; margin-block-start:.6rem; }
.timeline-links .text-link { margin:0; }
.chapter-pager { display:flex; flex-wrap:wrap; gap:1rem 2.4rem; padding-block:.5rem; }
.chapter-pager a { display:grid; gap:.15rem; text-decoration:none; }
.chapter-pager span { color:var(--muted); font-size:15px; }
.chapter-pager bdi { font-size:clamp(21px,2vw,30px); }
.chapter-pager a:hover bdi, .chapter-pager a:focus-visible bdi { text-decoration:underline; text-underline-offset:.18em; }
.journey-status { position:absolute; width:1px; height:1px; margin:0; overflow:hidden; clip-path:inset(50%); }
.chapter-forward { animation: chapter-forward .27s var(--ease) both; }
.chapter-back { animation: chapter-back .27s var(--ease) both; }
@keyframes chapter-forward { from { opacity:.45; transform:translateX(calc(28px * var(--entry-direction))); } }
@keyframes chapter-back { from { opacity:.45; transform:translateX(calc(-28px * var(--entry-direction))); } }
.date {
  font-size: 16px;
  color: var(--muted);
}
.about-opening {
  display: grid;
  grid-template-columns: 1.3fr 0.7fr;
  gap: 8vw;
  align-items: center;
}
.about-opening h1 {
  margin-bottom: 35px;
}
.about-opening > img {
  width: 100%;
  max-height: 650px;
  object-fit: contain;
}
.expertise {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 55px 10%;
  background: var(--artifact-ground);
}
.expertise h2 {
  grid-row: span 3;
}
.expertise h3 {
  margin-bottom: 15px;
}
.about-ai {
  display: grid;
  grid-template-columns: 1fr 1.7fr;
  gap: 10%;
}
.about-ai article {
  padding-top: 35px;
  margin-top: 35px;
  border-top: 1px solid var(--rule);
}
.about-ai article h3 {
  margin-bottom: 15px;
}
.related-links {
  display: flex;
  gap: 20px;
  flex-wrap: wrap;
}
.related-links .text-link {
  font-size: 17px;
}
.services {
  display: grid;
  grid-template-columns: 1fr 1.5fr;
  gap: 10%;
  border-top: 1px solid var(--rule);
}
.services ul {
  padding: 0;
  margin: 0;
  list-style: none;
}
.services li {
  font-size: 26px;
  padding: 18px 0;
  border-bottom: 1px solid var(--rule);
}
.credential-invite h2 {
  margin-bottom: 25px;
}
.issuer-strip {
  display: flex;
  gap: 30px;
  align-items: center;
  margin-top: 40px;
  flex-wrap: wrap;
}
.issuer-strip img {
  width: 100px;
  height: 80px;
  object-fit: contain;
}
.organizations h2 {
  margin-bottom: 25px;
}
.organization-grid {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 25px;
  margin-top: 60px;
}
.organization-grid :is(a, figure) {
  text-decoration: none;
  text-align: center;
  padding: 20px;
  font-size: 15px;
}
.organization-grid img {
  height: 90px;
  width: 100%;
  object-fit: contain;
  margin-bottom: 20px;
}
.credential {
  display: grid;
  grid-template-columns: 220px 1fr;
  gap: 60px;
  border-top: 1px solid var(--rule);
  padding: 50px 0;
}
.credential img {
  width: 100%;
  height: 210px;
  object-fit: contain;
}
.credential h2 {
  font-size: 30px;
  margin-bottom: 18px;
}
.credential p {
  font-size: 18px;
  margin-bottom: 12px;
}
.credential-status {
  color: var(--muted);
}
.contact-page {
  display: grid;
  grid-template-columns: 1fr 1.2fr;
  gap: 12%;
  align-items: start;
}
.contact-page h1 {
  margin-bottom: 30px;
}
.direct-contact {
  display: flex;
  gap: 25px;
}
.contact-page form {
  padding-top: 10px;
}
.check {
  display: flex;
  align-items: start;
  gap: 12px;
  font-size: 17px;
  line-height: 1.5;
  margin-block: 20px;
}
.check input {
  width: 20px;
  height: 20px;
  flex: none;
  accent-color: var(--ink);
  margin-top: 2px;
}
.form-note {
  font-size: 15px;
  color: var(--muted);
}
.step-controls {
  display: flex;
  justify-content: space-between;
  gap: 20px;
  margin-top: 30px;
}
.step-controls [data-back] {
  border: 0;
  text-decoration: underline;
  text-underline-offset: 5px;
}
.trap {
  position: absolute;
  width: 1px;
  height: 1px;
  overflow: hidden;
  clip-path: inset(50%);
}
.enquiry-review h2 {
  margin-bottom: 30px;
}
.enquiry-review dt {
  font-size: 16px;
  color: var(--muted);
  margin-top: 25px;
}
.enquiry-review dd {
  font-size: 20px;
  margin: 10px 0;
  white-space: pre-wrap;
  overflow-wrap: anywhere;
}
.enquiry-review > p {
  margin-top: 35px;
}
#form-error,
[role="alert"] {
  color: var(--error);
  line-height: 1.6;
}
.prose {
  max-width: 950px;
  margin: auto;
  min-height: 60vh;
}
.prose h1 {
  margin-bottom: 45px;
}
.arrival {
  position: fixed;
  inset: 0;
  z-index: 200;
  display: none;
  place-items: center;
  pointer-events: none;
  --mark-duration: 1.7s;
  isolation: isolate;
  animation: arrival-dismiss var(--mark-duration) linear both;
}
.arrival.is-running { display: grid; }
.arrival::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  background: var(--paper);
  animation: mark-curtain var(--mark-duration) linear both;
}
body:has(.arrival.can-dock) .site-header .brand img { visibility: hidden; }
.arrival.can-dock { --dock-alpha: 1; }
.arrival > .motion-mark {
  animation: mark-dock var(--mark-duration) cubic-bezier(.47,0,.15,1) both;
}
.motion-mark {
  --mark-start: -130px;
  --o-start: -26px;
  --mark-repeat: 1;
  display: block;
  width: min(78vw, 500px);
  height: auto;
  stroke: none;
  direction: ltr;
  fill: #000;
  overflow: visible;
}
.mark-c, .mark-o, .mark-letters, .mark-signature, .mark-mouth, .mark-c-rest {
  animation-duration: var(--mark-duration);
  animation-timing-function: cubic-bezier(.38, 0, .23, 1);
  animation-iteration-count: var(--mark-repeat);
  animation-fill-mode: both;
}
.mark-c { animation-name: mark-travel; }
.mark-o { transform-box: fill-box; transform-origin: center; animation-name: mark-bite; }
.mark-letters { animation-name: mark-reveal; }
.mark-signature { animation-name: mark-sign; }
.mark-mouth {
  /* Project the master C’s two cut edges through the disc’s right boundary. */
  --mouth-open: polygon(-2% -2%, 102% -2%, 102% -1.98%, 49.92% 49.94%, 102% 102.04%, 102% 103%, -2% 103%) fill-box;
  --mouth-shut: polygon(-2% -2%, 102% -2%, 102% 49.94%, 49.92% 49.94%, 102% 49.94%, 102% 103%, -2% 103%) fill-box;
  clip-path: var(--mouth-open);
  animation-name: mark-chomp, mark-mouth-finish;
}
.mark-c-rest { animation-name: mark-c-finish; }
@keyframes mark-mouth-finish {
  0%, 67% { opacity: 1; }
  72%, 100% { opacity: 0; }
}
@keyframes mark-c-finish {
  0%, 67% { opacity: 0; }
  72%, 100% { opacity: 1; }
}

@keyframes mark-travel {
  0% { transform: translateX(var(--mark-start)); animation-timing-function: cubic-bezier(.42,0,.64,.95); }
  36% { transform: translateX(25px); animation-timing-function: ease-out; }
  47% { transform: translateX(45px); }
  54% { transform: translateX(44px); animation-timing-function: cubic-bezier(.3,0,.15,1); }
  71%, 100% { transform: translateX(0); }
}
@keyframes mark-bite {
  0% { transform: translateX(var(--o-start)) scale(1); }
  28% { transform: translateX(-4px) scale(.24); }
  36% { transform: translateX(-4px) scale(.18); }
  /* The O passes the C's lip before disappearing at its hinge. */
  44% { transform: translateX(-16px) scale(.10); }
  48% { transform: translateX(-20px) scale(0); }
  56% { transform: translateX(-27px) scale(0); }
  72%, 100% { transform: translateX(0) scale(1); }
}
@keyframes mark-chomp {
  0%, 30%, 37%, 69%, 100% { clip-path: var(--mouth-open); }
  13%, 49%, 54% { clip-path: var(--mouth-shut); }
}
@keyframes mark-reveal {
  0%, 51% { clip-path: inset(-2% -1% -2% 101%) fill-box; }
  73%, 100% { clip-path: inset(-2% -1% -2% -1%) fill-box; }
}
@keyframes mark-sign {
  0%, 62% { opacity: 0; transform: translateX(-4px); }
  74%, 100% { opacity: 1; transform: translateX(0); }
}
@keyframes arrival-dismiss {
  0%, 99.99% { visibility: visible; }
  100% { visibility: hidden; }
}
@keyframes mark-curtain {
  0%, 75% { opacity: 1; }
  97%, 100% { opacity: 0; }
}
@keyframes mark-dock {
  0%, 77% { transform: none; opacity: 1; }
  100% { transform: translate(var(--dock-x, 0px), var(--dock-y, 0px)) scale(var(--dock-scale, 1)); opacity: var(--dock-alpha, 0); }
}
.reader-status {
  position: absolute;
  inset: 54px 0 auto;
  display: flex;
  justify-content: center;
  align-items: center;
  gap: .7em;
  padding: .55em;
  background: var(--paper);
  color: var(--ink);
  pointer-events: none;
}
[data-native-reader] { position: relative; }
.navigation-progress {
  position:fixed; z-index:180; inset-block-end:16px; inset-inline-end:var(--space);
  display:flex; align-items:center; gap:.6em; padding:6px 12px;
  color:var(--ink); background:var(--paper); border:1px solid var(--rule); pointer-events:none;
}
.navigation-progress .motion-mark, .reader-status .motion-mark {
  --mark-duration: 1.2s;
  --mark-repeat: infinite;
  --mark-start: 0px;
  --o-start: 0px;
  width: 68px;
}
.navigation-progress .motion-mark { width:40px; }
.reader-status.is-still .motion-mark { display: none; }
@media (prefers-reduced-motion: reduce) {
  .navigation-progress .motion-mark, .reader-status .motion-mark { display:none; }
}
.media-dialog {
  border: 0;
  padding: 25px;
  background: var(--paper);
  max-width: 95vw;
  max-height: 95vh;
  width: 1000px;
}
.media-dialog::backdrop {
  background: var(--dialog-backdrop);
}
.media-dialog img {
  margin: 20px auto;
  max-height: 75vh;
  object-fit: contain;
}
.media-dialog .dialog-controls {
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.media-dialog a {
  font-size: 17px;
}
.admin-header {
  padding: 25px var(--space);
  display: flex;
  gap: 30px;
  align-items: center;
  border-bottom: 1px solid var(--rule);
}
.admin-header nav {
  display: flex;
  gap: 22px;
  flex: 1;
  flex-wrap: wrap;
}
.admin-main {
  padding: 50px var(--space);
  max-width: 1350px;
  margin: auto;
}
.admin-main h1 {
  font-size: 36px;
  margin-bottom: 40px;
}
.admin-table {
  overflow-x: auto;
  margin-top: 30px;
}
table {
  border-collapse: collapse;
  width: 100%;
  text-align: start;
  font-size: 18px;
}
th,
td {
  text-align: start;
  border-bottom: 1px solid var(--rule);
  padding: 20px 12px;
}
th {
  font-size: 15px;
}
.editor {
  max-width: 950px;
}
.bilingual {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 24px;
}
.bilingual legend {
  font-size: 23px;
  margin-block: 15px;
}
.form-row {
  display: flex;
  gap: 25px;
  margin-bottom: 30px;
}
.form-row > * {
  flex: 1;
}
.media-choices {
  max-height: 320px;
  overflow: auto;
  padding: 10px;
  border: 1px solid var(--rule);
}
.login-form {
  max-width: 500px;
}
.login-form > * {
  margin-bottom: 25px;
}
.admin-links li {
  padding: 15px 0;
  border-top: 1px solid var(--rule);
}
.inbox-item {
  border-top: 1px solid var(--rule);
  padding: 35px 0;
}
.inbox-item p {
  white-space: pre-wrap;
}
.inbox-item h2 {
  font-size: 28px;
  margin-bottom: 15px;
}
.inbox-item form {
  display: flex;
  gap: 20px;
  align-items: end;
  max-width: 500px;
}
.media-library {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 25px;
  margin-top: 50px;
}
.media-library figure {
  margin: 0;
}
.media-library img {
  height: 150px;
  width: 100%;
  object-fit: contain;
  background: var(--white);
}
.media-library figcaption {
  font-size: 15px;
  line-height: 1.6;
  margin-top: 10px;
}
#media-upload {
  max-width: 650px;
}
#media-upload > * {
  margin-bottom: 20px;
}
.saved {
  background: var(--saved-ground);
  color: var(--saved-ink);
  padding: 16px;
}
.admin [lang="en"] {
  font-family: Tajawal, sans-serif;
}
@media (prefers-reduced-motion: no-preference) {
  @view-transition {
    navigation: auto;
    types: section-slide;
  }
  :root { view-transition-name:none; }
  :root:active-view-transition-type(section-slide) { view-transition-name: root; }
  :root:active-view-transition-type(section-slide) .site-header { view-transition-name: studio-header; }
  :root { --page-in: 8vw; --page-out: -4vw; }
  :root:dir(rtl) { --page-in: -8vw; --page-out: 4vw; }
  :root:active-view-transition-type(going-back) { --page-in: -8vw; --page-out: 4vw; }
  :root:dir(rtl):active-view-transition-type(going-back) { --page-in: 8vw; --page-out: -4vw; }
  ::view-transition-old(root) { animation: section-leave .3s ease-out both; }
  ::view-transition-new(root) { animation: section-arrive .44s var(--ease) both; }
  ::view-transition-group(studio-header) { z-index: 2; animation-duration: .3s; }
  @keyframes section-arrive { from { opacity: .15; transform: translateX(var(--page-in)); } }
  @keyframes section-leave { to { opacity: 0; transform: translateX(var(--page-out)); } }
  ::view-transition { pointer-events:none; }
  ::view-transition-old(exhibit-artifact) {
    animation: fade-out 0.18s ease;
  }
  ::view-transition-new(exhibit-artifact) {
    animation: fade-in 0.35s var(--ease);
  }
}
@keyframes fade-out {
  to {
    opacity: 0;
  }
}
@keyframes fade-in {
  from {
    opacity: 0;
    translate: 0 10px;
  }
  to {
    opacity: 1;
    translate: 0;
  }
}
@media (min-width: 1600px) {
  .exhibition {
    max-width: 1900px;
    margin: auto;
  }
  .showcase-stage {
    height: 650px;
  }
}
@media (max-width: 1000px) {
  .site-header {
    height: 85px;
    gap: 20px;
  }
  .site-header nav {
    gap: clamp(9px,1.65vw,17px);
  }
  .header-end {
    gap: 10px;
  }
  .contact-link {
    font-size: 16px;
    gap: 8px;
  }
  .brand img {
    width: 115px;
  }
  .exhibition {
    grid-template-columns: 1fr 1.4fr;
    gap: 30px;
    min-height: 0;
    padding-top: 40px;
  }
  .identity h1 {
    font-size: 44px;
  }
  .identity-intro {
    font-size: 17px;
  }
  .discipline {
    font-size: 21px;
  }
  .stage-caption {
    font-size: 18px;
    flex-direction: column;
    align-items: start;
    gap: 10px;
    min-height: 130px;
  }
  .stage-panel > .work-image {
    height: calc(100% - 130px);
  }
  .showcase-stage {
    height: 490px;
  }
  .work-select {
    flex-wrap: wrap;
  }
  .work-select a {
    flex: 1 1 40%;
    padding: 13px 5px;
    min-height: 48px;
    font-size: 15px;
  }
  .section {
    padding-block: 75px;
  }
  .curated {
    gap: 50px;
  }
  .curated .tile-1 {
    margin-top: 130px;
  }
  .artifact-link .work-image {
    height: 320px;
  }
  .artifact-link .logo-image {
    padding: 40px;
  }
  .curated .tile-2 {
    margin: 0;
  }
  .archive-controls {
    grid-template-columns: 1fr 1fr;
  }
  .page-heading {
    align-items: start;
  }
  .organization-grid {
    grid-template-columns: repeat(4, 1fr);
  }
  .contact-page {
    gap: 7%;
  }
  .credential {
    grid-template-columns: 180px 1fr;
    gap: 35px;
  }
}
@media (max-width: 700px) {
  :root {
    --space: 22px;
  }
  .site-header {
    height: auto;
    min-height: 82px;
    display: grid;
    grid-template-columns: 1fr auto;
    gap: 5px 15px;
    padding-block: 18px;
  }
  .site-header nav {
    grid-column: 1/-1;
    grid-row: 2;
    justify-content: space-between;
    gap: clamp(6px,2vw,15px);
    overflow-x:auto;
    margin-top: 10px;
  }
  .site-header nav a {
    font-size: 17px;
    padding: 8px 0;
  }
  .header-end {
    grid-column: 2;
    grid-row: 1;
  }
  .contact-link {
    font-size: 15px;
  }
  .contact-link svg {
    width: 18px;
  }
  .language {
    padding: 8px;
  }
  .exhibition {
    display: block;
    padding-top: 25px;
    padding-bottom: 55px;
  }
  .identity h1 {
    font-size: 49px;
    line-height: 1.15;
    margin-bottom: 20px;
  }
  .identity h1 br {
    display: none;
  }
  .identity .discipline {
    font-size: 21px;
    max-width: none;
    margin-bottom: 12px;
  }
  .identity-intro {
    font-size: 17px;
    max-width: 38ch;
    margin-bottom: 28px;
  }
  .signature {
    display: none;
  }
  .showcase-stage {
    height: 460px;
  }
  .stage-caption {
    min-height: 120px;
    padding: 18px 20px;
    font-size: 18px;
  }
  .stage-panel > .work-image {
    height: calc(100% - 120px);
  }
  .stage-action {
    font-size: 15px;
  }
  .work-select {
    flex-wrap: nowrap;
    overflow-x: auto;
    justify-content: start;
  }
  .work-select a {
    white-space: nowrap;
    flex: 0 0 auto;
    font-size: 15px;
    padding: 14px 13px;
  }
  .section {
    padding-block: 60px;
  }
  .section-heading {
    display: block;
    margin-bottom: 40px;
  }
  .section-heading h2 {
    margin-bottom: 25px;
  }
  .section-heading p {
    font-size: 18px;
  }
  .curated {
    display: block;
  }
  .curated .work-tile,
  .curated .tile-1 {
    margin: 0 0 45px;
  }
  .curated .tile-2 {
    display: block;
  }
  .artifact-link .work-image {
    height: 340px;
  }
  .tile-caption h3 {
    font-size: 24px;
  }
  .tile-caption p {
    font-size: 17px;
  }
  .open-work {
    opacity: 1;
    translate: 0;
    font-size: 14px;
    padding: 10px 12px;
  }
  .approach {
    display: block;
  }
  .approach h2 {
    margin-bottom: 45px;
  }
  .approach p {
    font-size: 18px;
  }
  .journey-teaser {
    display: block;
  }
  .footer-invite {
    padding-block: 55px;
  }
  .footer-invite .text-link {
    font-size: 31px;
    align-items: start;
    gap: 20px;
  }
  .footer-invite svg {
    width: 32px;
    height: 32px;
  }
  .footer-bottom {
    flex-direction: column;
    align-items: start;
    gap: 25px;
  }
  .footer-bottom p {
    font-size: 14px;
  }
  .page-heading {
    display: block;
    margin-bottom: 35px;
  }
  .page-heading h1 {
    font-size: 47px;
    margin-bottom: 25px;
  }
  .page-heading p {
    font-size: 18px;
  }
  .archive-controls {
    gap: 20px 14px;
  }
  .archive-grid {
    display: block;
  }
  .archive-grid .work-tile {
    margin-bottom: 45px;
  }
  .archive-grid .artifact-link .work-image {
    height: 300px;
  }
  .list-view .work-tile {
    grid-template-columns: 90px 1fr;
    display: grid;
    gap: 18px;
    margin-bottom: 0;
  }
  .list-view .artifact-link .work-image {
    height: 100px;
    padding: 10px;
  }
  .list-view .tile-caption h3 {
    font-size: 19px;
  }
  .list-view .tile-caption p {
    font-size: 14px;
  }
  .list-view .typographic-artifact {
    height: 100px;
    min-height: 100px;
    padding: 6px;
  }
  .list-view .typographic-artifact span {
    font-size: 13px;
  }
  .list-view .open-work {
    display: none;
  }
  .case-opening.with-work, .case-contribution { grid-template-columns: 1fr; }
  .case-opening.with-work { grid-template-areas:"brief" "work" "story"; grid-template-rows:auto; row-gap:16px; }
  .case-opening { padding-block: 24px 30px; gap: 22px; }
  .case-brief h1 { font-size: clamp(35px,8.4vw,48px); }
  .case-abstract { margin-block: 12px 16px; font-size: 19px; }
  .case-facts { margin:12px 0 0; display:flex; flex-wrap:wrap; gap:5px 20px; }
  .case-facts > div { display:flex; flex-wrap:wrap; align-items:baseline; border:0; gap:5px; padding:0; }
  .case-facts dt {font-size:14px;}
  .case-facts dd {font-size:16px;}
  .case-public-links { margin-block-start: 4px; }
  .case-path { min-height: 46px; }
  .case-artwork-link .work-image { max-height: 50vh; }
  .case-contribution { gap: 12px; }
  .case-contribution li { font-size: 18px; }
  .reader-paging { gap: 10px; }
  .reader-download { margin-inline-start: 0; }
  .case-next { flex-wrap: wrap; gap: 12px; }
  .lead {
    font-size: 22px;
  }
  .contributions li {
    font-size: 18px;
  }
  .artifact-grid {
    display: block;
  }
  .artifact-grid figure {
    margin-bottom: 40px;
  }
  .gallery-link.is-logo {
    min-height: 200px;
    padding: 40px;
  }
  .gallery-link {
    padding: 8px;
  }
  .next-work {
    display: block;
  }
  .next-work h2 {
    margin-bottom: 25px;
  }
  .next-work .text-link {
    font-size: 25px;
  }
  .year-nav {
    gap: 5px;
    flex-wrap: nowrap;
    overflow: auto;
    margin-bottom: 35px;
  }
  .year-nav a {
    font-size: 21px;
    padding: 12px;
    flex: none;
  }
  .journey-layout {
    display: block;
  }
  .chapter-aside {
    position:static; display:flex; align-items:center; justify-content:space-between; gap:16px;
    margin-bottom:28px; padding-bottom:20px; border-bottom:1px solid var(--rule);
  }
  .chosen-year { font-size: clamp(43px,9vw,70px); }
  .chapter-work { width: min(48%,240px); margin:0; }
  .chapter-exhibit img { height: 100px; }
  .chapter-exhibit figcaption { font-size:14px; padding-bottom:0; }
  .timeline-event h3 { font-size:26px; }
  .timeline-event p {
    font-size: 18px;
  }
  .about-opening {
    display: flex;
    flex-direction: column-reverse;
    align-items: stretch;
    gap: 40px;
  }
  .about-opening > img {
    max-height: 450px;
    object-fit: contain;
    background: #eaeaea;
  }
  .about-opening h1 {
    font-size: 43px;
  }
  .expertise,
  .about-ai,
  .services {
    display: block;
  }
  .expertise h2,
  .about-ai h2,
  .services h2 {
    margin-bottom: 40px;
  }
  .expertise article {
    margin-bottom: 35px;
  }
  .expertise p,
  .about-ai p {
    font-size: 18px;
  }
  .services li {
    font-size: 22px;
  }
  .issuer-strip {
    gap: 25px;
  }
  .organization-grid {
    grid-template-columns: repeat(2, 1fr);
    gap: 12px;
  }
  .organization-grid :is(a, figure) {
    padding: 10px;
  }
  .credential {
    display: block;
    padding-block: 35px;
  }
  .credential > a {
    display: block;
    margin-bottom: 25px;
  }
  .credential img {
    height: 170px;
    object-position: right;
  }
  .credential h2 {
    font-size: 27px;
  }
  .credential p {
    font-size: 17px;
  }
  .contact-page {
    display: block;
  }
  .contact-page > div {
    margin-bottom: 55px;
  }
  .contact-page h1 {
    font-size: 50px;
  }
  .contact-page p {
    font-size: 18px;
  }
  legend {
    font-size: 25px;
  }
  .contact-page label {
    font-size: 17px;
  }
  .contact-page .form-note {
    font-size: 15px;
  }
  .contact-page .solid {
    width: 100%;
  }
  .step-controls .solid {
    width: auto;
  }
  .admin-header {
    flex-wrap: wrap;
    gap: 20px;
  }
  .admin-header nav {
    order: 3;
    flex-basis: 100%;
    gap: 15px;
    font-size: 15px;
  }
  .admin-main {
    padding: 40px 20px;
  }
  .admin-main h1 {
    font-size: 30px;
  }
  .bilingual {
    display: block;
  }
  .bilingual label {
    margin-bottom: 20px;
  }
  .form-row {
    display: block;
  }
  .form-row > * {
    margin-bottom: 20px;
  }
  .media-library {
    grid-template-columns: 1fr 1fr;
  }
  .admin-table {
    max-width: 100%;
  }
  th,
  td {
    font-size: 16px;
    padding: 15px 8px;
  }
  .media-dialog {
    padding: 15px;
    max-width: 100vw;
  }
  .dialog-controls {
    gap: 15px;
  }
  .media-dialog .dialog-controls a {
    font-size: 14px;
  }
}
@media (max-width: 350px) {
  :root {
    --space: 16px;
  }
  .brand img {
    width: 102px;
  }
  .contact-link {
    gap: 6px;
    font-size: 14px;
  }
  .identity h1 {
    font-size: 40px;
  }
  .showcase-stage {
    height: 405px;
  }
  .stage-caption {
    font-size: 16px;
  }
  .stage-panel > .logo-image {
    padding: 30px;
  }
  .page-heading h1 {
    font-size: 40px;
  }
  .footer-invite .text-link {
    font-size: 28px;
  }

}
@media (prefers-reduced-motion: reduce) {
  @view-transition {
    navigation: none;
  }
  *,
  *:before,
  *:after {
    animation: none !important;
    transition: none !important;
    scroll-behavior: auto !important;
  }
  .arrival {
    display: none !important;
  }
  ::view-transition-group(*),
  ::view-transition-image-pair(*),
  ::view-transition-old(*),
  ::view-transition-new(*) {
    animation: none !important;
    transition: none !important;
  }
}
@media (prefers-reduced-motion: no-preference) {
  .stage-panel:not([hidden]) > .stage-artwork > .work-image,
  .stage-panel:not([hidden]) > .work-image,
  .case-artwork-link > .work-image {
    view-transition-name: exhibit-artifact;
  }
  ::view-transition-group(exhibit-artifact) {
    animation-duration: 0.55s;
    animation-timing-function: var(--ease);
  }
}
.field-error {
  display: block;
  color: var(--error);
  font-size: 17px;
  line-height: 1.6;
}
.form-errors {
  color: var(--error);
  border-inline-start: 1px solid currentColor;
  padding-inline-start: 20px;
  margin-bottom: 30px;
}
.form-errors li {
  font-size: 18px;
}
h1,
h2,
h3 {
  overflow-wrap: break-word;
}
.section > * {
  min-width: 0;
}
@media (max-width: 700px) {
  .identity h1 br {
    display: block;
  }
  .identity h1 {
    font-size: clamp(36px, 11vw, 49px);
  }
  .contact-page h1 {
    font-size: clamp(37px, 10.5vw, 50px);
  }
}
.metadata-editor {
  border-top: 1px solid var(--rule);
  margin: 35px 0;
  padding: 20px 0;
}
.metadata-editor > summary {
  font-size: 23px;
  cursor: pointer;
  min-height: 44px;
}
.metadata-editor[open] > summary {
  margin-bottom: 35px;
}
.metadata-editor label {
  margin-bottom: 20px;
}
.reference-editor {
  border: 1px solid var(--rule);
  padding: 20px;
  margin-bottom: 25px;
}

.artifact-grid figcaption .text-link { display: inline-flex; margin-inline-start: .75em; }
.case-notes { display: grid; grid-template-columns: 1fr 1.8fr; gap: 10%; }
.case-notes details { border-top: 1px solid var(--rule); padding-block: 18px; }
.case-notes summary { cursor: pointer; font-size: 22px; font-weight: 700; }
.case-notes p, .case-notes ol { margin-block: 1em 0; }
.case-notes li + li { margin-block-start: .5em; }
@media (max-width: 700px) { .case-notes { display: block; } .case-notes h2 { margin-bottom: 24px; } }

.archive-file-link { margin-block: 0 1.5rem; }
.case-files, .file-index, .film-documents { min-width:0; }
.case-files > h2, .film-documents > h2, .file-index section > h2 { font-size:clamp(1.4rem,3vw,2.2rem); }
.film-documents .presentation { max-width:64rem; margin-inline:auto; }
.file-index section { margin-block:2rem; padding-block-start:1rem; border-block-start:1px solid var(--rule); }
.file-choices { display:flex;flex-wrap:wrap;gap:.5rem; }
.file-choices a, .sheet-paging a, .source-reader header a { display:inline-flex;align-items:center;gap:.7rem;min-height:44px;padding:.5rem .85rem;border:1px solid var(--rule);text-decoration:none; }
.file-choices a span { font-size:.75em;opacity:.7; }
.file-choices a[aria-current], .file-choices a:hover { border-color:currentColor; }
.source-reader { margin-block:1rem;border:1px solid var(--rule);padding:clamp(.85rem,2vw,2rem);min-width:0; }
.source-reader header { display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:1rem;margin-block-end:1.25rem; }
.source-reader header h3 { margin:0;font-size:clamp(1.2rem,2.5vw,1.75rem); }
.source-prose { max-width:76ch;line-height:1.9;overflow-wrap:anywhere; }
.source-prose p { white-space:pre-line; }
.source-prose h3,.source-prose h4,.source-prose h5,.source-prose h6 { margin:1.5rem 0 .5rem;font-size:1.06em; }
.source-prose ul,.source-prose ol { padding-inline-start:1.5em; }
.source-prose pre { white-space:pre-wrap; }
.sheet-search,.sheet-paging { display:flex;align-items:end;flex-wrap:wrap;gap:.75rem;margin-block:1rem; }
.sheet-search label { display:grid;gap:.35rem;max-width:100%; }
.sheet-search input,.sheet-search button { min-height:44px;border:1px solid var(--control-rule);background:transparent;color:inherit;padding:.45rem .8rem;max-width:100%;font:inherit; }
.sheet-search button { cursor:pointer; }
.sheet-paging { align-items:center; }
.source-table-scroll { max-width:100%;overflow:auto; }
.source-table-scroll table { border-collapse:collapse;text-align:start;font-size:.9rem; }
.source-table-scroll th,.source-table-scroll td { text-align:start;vertical-align:top;padding:.55rem .8rem;border:1px solid var(--rule);max-width:34ch;overflow-wrap:anywhere; }
.source-table-scroll th { font-weight:600; }
.source-table-scroll tbody th { min-width:12ch; }
.source-table-scroll thead th { white-space:nowrap; }
.source-image { display:block; }
.source-image img { display:block;width:auto;max-width:100%;max-height:70vh;margin-inline:auto;object-fit:contain; }

.identity { min-width:0; }
.credential-shelf { margin-block-start:clamp(18px,3vh,32px); border-block-start:1px solid var(--rule); max-width:28rem; }
.credential-shelf-head { display:flex;align-items:center;justify-content:space-between;min-height:44px;gap:.75rem; }
.credential-directory { display:inline-flex;align-items:baseline;gap:.6em;font-weight:700;text-decoration:none; }
.credential-directory span { font-size:.78em;font-weight:400;color:var(--muted);font-variant-numeric:tabular-nums; }
.credential-directory:hover { text-decoration:underline;text-underline-offset:.2em; }
.credential-paging { display:flex;gap:2px; }
.credential-paging button { display:grid; place-items:center; padding:0; width:44px;height:44px;background:none;border:0;color:inherit;font:24px/1 Arial,sans-serif;cursor:pointer; }
.credential-paging button:disabled { opacity:.34;cursor:default; }
[dir=rtl] .credential-paging button { transform:scaleX(-1); }
.credential-marks { display:flex;gap:6px;align-items:center;overflow-x:auto;scroll-snap-type:x proximity;scrollbar-width:thin;scrollbar-color:var(--rule) transparent;margin:0;padding:1px 2px 4px;list-style:none; }
.credential-marks li { flex:none;scroll-snap-align:start; }
.credential-marks a { display:grid;place-items:center;width:52px;height:48px;border-block-end:1px solid transparent; }
.credential-marks a[data-preview], .credential-marks a:focus-visible { border-block-end-color:currentColor; }
.credential-marks img { display:block;width:44px;height:42px;object-fit:contain; }
.training-name { display:grid;text-align:center;line-height:1.2; }
.training-name b { font-size:14px; }
.training-name small { font-size:11px;color:var(--muted); }
.credential-caption { margin-block-start:4px;line-height:1.4; }
.credential-caption strong,.credential-caption span { display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis; }
.credential-caption strong { font-size:14px; }
.credential-caption span { font-size:13px;color:var(--muted); }
@media (max-width:700px) {
  .credential-shelf { margin-block:0 18px;max-width:none; }
  .identity-intro { margin-block-end:14px; }
}


.journey-index { display:grid;border-block-start:1px solid var(--rule); }
.journey-index a { display:grid;grid-template-columns:minmax(4.6rem,auto) 1fr;gap:1rem;align-items:baseline;padding-block:.6rem;border-block-end:1px solid var(--rule);text-decoration:none; }
.journey-index bdi { font-family:Alexandria,Tajawal,sans-serif;font-size:clamp(17px,2vw,27px);font-weight:500;font-variant-numeric:tabular-nums; }
.journey-index a:hover span,.journey-index a:focus-visible span { text-decoration:underline;text-underline-offset:.22em; }
@media (max-width:700px) { .journey-index { margin-block-start:2rem; } }


.education-page > .text-link { margin-block-end:1.4rem; }
.education-results { display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.2rem;margin-block:2rem; }
.education-results > div { border-block-start:1px solid var(--rule);padding-block:.85rem; }
.education-results small { display:block;margin-block-start:.25rem;font-weight:400; }
.education-results dt,.education-results small { font-size:1rem;color:var(--muted); }
.education-results dd { margin:.35rem 0;font-size:clamp(1.3rem,3vw,2rem);font-weight:700; }
.education-page .presentation { max-width:58rem;margin-inline:auto; }
.transcript-table { margin-block-start:2rem; }
.transcript-table summary { cursor:pointer;font-size:1.2rem;padding-block:1rem;border-block:1px solid var(--rule); }
.transcript-table table { width:100%; }
@media (max-width:700px) {
  .education-results { grid-template-columns:1fr;gap:0; }
  .education-results > div { display:grid;grid-template-columns:1fr 1fr;gap:.25rem 1rem;align-items:baseline; }
  .education-results small { grid-column:1/-1; }
}


.showcase-stage { touch-action:pan-y pinch-zoom; }
@media (max-width:700px) {
  .showcase-stage { height:clamp(300px,46svh,425px); }
  .stage-caption { order:-1;min-height:84px;padding:10px 15px;flex-direction:row;align-items:center; }
  .stage-panel > .work-image,.stage-panel > .typographic-artifact { flex:1;min-height:0;height:0; }
  .stage-caption .stage-action { white-space:normal;font-size:14px; }
}

/* The cinema feature keeps the original artwork between a release strip and its credits. */
.cinema-stage { background:#101313; color:var(--white); }
.film-marquee,.film-caption { flex:none; padding-inline:clamp(14px,2vw,28px); }
.film-marquee { display:flex; align-items:baseline; justify-content:space-between; gap:12px; padding-block:9px; border-block-end:1px solid #384546; color:#d1e4e2; font-size:14px; line-height:1.45; }
.film-marquee time,.cinema-date time { font-weight:700; font-variant-numeric:tabular-nums; }
.cinema-stage > .work-image { flex:1; min-height:0; height:0; width:100%; object-fit:contain; background:#101313; }
.film-caption { display:flex; align-items:center; justify-content:space-between; gap:12px; padding-block:16px; border-block-start:1px solid #344040; }
.film-caption h2 { font-size:clamp(24px,2.4vw,40px); line-height:1.13; margin:0 0 5px; }
.film-caption > div > span { display:block; color:#cbcfcd; font-size:14px; }
.film-actions { display:grid; justify-items:start; gap:3px; }
.teaser-link,.film-case-link { display:inline-flex; align-items:center; gap:9px; min-height:44px; font-weight:650; line-height:1.3; text-decoration:none; }
.play-mark { display:inline-grid; place-items:center; width:27px; height:27px; flex:none; border:1px solid currentColor; border-radius:50%; }
.play-mark::after { content:""; margin-left:2px; border:solid transparent; border-width:4px 0 4px 7px; border-left-color:currentColor; }
.teaser-link:hover,.film-case-link:hover,.cinema-date:hover { text-decoration:underline; text-underline-offset:4px; }
.film-case-link { font-size:14px; color:#d5d9d7; }
.film-case-link svg,.cinema-date svg { width:19px; height:19px; flex:none; }
html[dir="rtl"] :is(.film-case-link,.cinema-date) svg { transform:scaleX(-1); }
.cinema-story { border-block-start:1px solid var(--rule); padding-block-start:18px; margin-block-start:24px; }
.cinema-story h2 { font-size:1.1rem; margin-block:0 6px; }
.cinema-story p { margin:0; line-height:1.65; }
.cinema-date { display:flex; flex-wrap:wrap; align-items:center; gap:4px 8px; margin-block:12px 6px; font-size:1rem; }
.case-contribution > .text-link { margin-block-start:18px; }
.teaser-dialog { color:var(--white); background:#111; width:min(940px,94vw); padding:14px; }
.teaser-dialog iframe { display:block; aspect-ratio:16/9; width:100%; max-height:75svh; margin-block-start:10px; border:0; background:#000; }
.teaser-dialog .dialog-controls :is(a,button) { display:inline-flex; align-items:center; min-height:44px; color:inherit; }
@media (max-width:700px) {
  .film-marquee { order:-2; font-size:12px; padding-block:6px; }
  .film-caption { order:-1; padding-block:7px; border-block-start:0; border-block-end:1px solid #344040; }
  .film-caption h2 { font-size:23px; }
  .film-caption > div > span,.film-case-link { font-size:12px; }
  .film-actions { gap:0; }
  .film-actions .teaser-link { font-size:14px; }
  .film-actions :is(.teaser-link,.film-case-link) { min-height:44px; }
  .play-mark { width:23px; height:23px; }
}

.agency-services { border-block-start:1px solid var(--rule); display:grid; grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr); gap:clamp(32px,8vw,130px); }
.agency-services h2 { font-size:clamp(32px,5vw,70px); margin:0 0 18px; }
.agency-services h3 { font-size:1rem; margin-block:20px 8px; }
.agency-services > div > p,.service-body > p { max-width:48ch; line-height:1.65; margin-block:0 16px; }
.agency-services > div > a,.service-brief-link { text-underline-offset:.25em; }
.service-list { border-block-start:1px solid var(--ink); }
.service-list details { border-block-end:1px solid var(--rule); scroll-margin-block-start:18px; }
.service-list summary { list-style:none; cursor:pointer; display:flex; align-items:center; justify-content:space-between; gap:20px; min-height:56px; padding:12px 0; font-weight:650; font-size:clamp(20px,2vw,29px); line-height:1.27; }
.service-list summary::-webkit-details-marker { display:none; }
.service-list summary:is(:hover,:focus-visible) { text-decoration:underline; text-underline-offset:.18em; }
.service-glyph { position:relative; display:block; flex:none; width:16px; height:16px; }
.service-glyph::before,.service-glyph::after { content:""; position:absolute; inset-block-start:7px; inset-inline:1px; height:1.5px; background:currentColor; }
.service-glyph::after { transform:rotate(90deg); }
.service-list details[open] .service-glyph::after { transform:rotate(0); }
.service-body { padding-block:2px 22px; }
.service-body ul { list-style:none; padding:0; margin:0; }
.service-body li a { display:grid; align-items:baseline; grid-template-columns:minmax(90px,.8fr) minmax(0,1.2fr); gap:12px; padding:10px 0; border-block-start:1px solid var(--rule); font-size:16px; text-decoration:none; }
.service-body li a:hover strong { text-decoration:underline; }
.service-body li span { color:var(--muted); }
.service-body li strong { display:flex; align-items:center; gap:8px; }
.service-body li img { width:40px; height:32px; object-fit:contain; background:var(--white); padding:3px; }
.service-brief-link { display:inline-flex; align-items:center; min-height:44px; margin-block-start:6px; font-weight:700; }
.services li a { display:block; text-decoration-thickness:1px; text-underline-offset:.18em; }
.brief-mode { display:flex; flex-wrap:wrap; gap:4px 18px; border-block-end:1px solid var(--rule); margin-block:20px 12px; }
.brief-mode a { display:inline-flex; align-items:center; min-height:44px; text-decoration:none; border-block-end:2px solid transparent; color:var(--muted); }
.brief-mode a[aria-current] { border-color:var(--ink); color:var(--ink); font-weight:700; }
.brief-mode a:hover { text-decoration:underline; text-underline-offset:.2em; }
.home-intents { display:flex; flex-wrap:wrap; gap:0 20px; margin-block-start:8px; }
.home-intents a { display:inline-flex; align-items:center; gap:6px; min-height:44px; font-weight:650; font-size:15px; text-decoration:none; }
.home-intents a:hover { text-decoration:underline; text-underline-offset:.22em; }
.home-intents svg { width:17px; height:17px; }
html[dir="rtl"] .home-intents svg { transform:scaleX(-1); }
.service-picker { margin-block:4px 12px; }
.service-picker summary { cursor:pointer; text-decoration:underline; text-underline-offset:.18em; padding-block:6px; }
.service-picker form { display:flex; flex-wrap:wrap; align-items:end; gap:8px; }
.service-picker label { flex-basis:100%; }
.service-picker select { flex:1 1 12rem; min-width:0; max-width:100%; min-height:44px; }
.service-picker button { min-height:44px; padding-inline:14px; border:1px solid var(--control-rule); }
.brief-topic { display:flex; gap:8px 12px; flex-wrap:wrap; align-items:baseline; margin-block:0 12px; }
.brief-topic span { color:var(--muted); }
@media (max-width:700px) {
  .agency-services { grid-template-columns:minmax(0,1fr); gap:26px; }
  .contact-page.section { padding-block-start:28px; }
  .contact-page > div { margin-block-end:24px; }
  .contact-page h1 { margin-block-end:12px; }
  .contact-page h1 br { display:none; }
  .contact-page > div > p { margin-block:6px; line-height:1.45; }
  .contact-page .brief-mode { margin-block:10px 6px; }
  .contact-page .enquiry-example { margin-block-end:10px; padding-block-end:6px; }
  .contact-page .enquiry-example .check { margin-block:6px; }
}

.article-guide,.case-certificates { border-block-start:1px solid var(--rule); }
.article-guide { display:grid; grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr); gap:clamp(32px,8vw,125px); }
.article-guide h2,.case-certificates h2 { font-size:clamp(32px,4.5vw,62px); line-height:1.15; margin-block:0 16px; }
.article-guide > div > p { max-width:46ch; line-height:1.65; }
.proposal-group { border-block-start:1px solid var(--ink); }
.proposal-group + .proposal-group { margin-block-start:32px; }
.proposal-head { display:flex; align-items:baseline; justify-content:space-between; gap:12px; padding-block:9px; color:var(--muted); font-size:15px; }
.proposal-head a { color:var(--ink); text-underline-offset:.2em; }
.proposal-group details { border-block-end:1px solid var(--rule); scroll-margin-block-start:16px; }
.proposal-group summary { display:flex; align-items:baseline; gap:14px; min-height:48px; padding:10px 0; list-style:none; cursor:pointer; font-size:clamp(18px,1.7vw,25px); font-weight:650; }
.proposal-group summary::-webkit-details-marker { display:none; }
.proposal-number { font-size:.72em; font-variant-numeric:tabular-nums; color:var(--muted); min-width:1.5em; }
.proposal-group summary::after { content:"+"; margin-inline-start:auto; font-weight:400; }
.proposal-group details[open] summary::after { content:"−"; }
.proposal-group summary:is(:hover,:focus-visible) { text-decoration:underline; text-underline-offset:.2em; }
.proposal-group details p { margin:0 0 20px; padding-inline-start:2.15em; max-width:60ch; line-height:1.65; }
.case-certificates > div { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(220px,100%),1fr)); gap:clamp(20px,4vw,72px); max-width:960px; }
.case-certificates a { display:grid; gap:6px; align-content:start; text-decoration:none; }
.case-certificates img { display:block; width:100%; max-height:245px; object-fit:contain; background:var(--white); margin-block:12px 6px; }
.case-certificates a:is(:hover,:focus-visible) strong { text-decoration:underline; }
.case-certificates a span { font-size:16px; line-height:1.55; }
.case-certificates a span:last-child { color:var(--muted); }
.credential.has-certificate > a > img { height:auto; max-height:230px; object-fit:contain; }
.credential:target h2 { text-decoration:underline; text-decoration-thickness:1px; text-underline-offset:.2em; }
@media (max-width:700px) {
  .article-guide { grid-template-columns:minmax(0,1fr); gap:18px; }
  .case-certificates > div { grid-template-columns:minmax(0,1fr); }
}

.case-opening.with-work > .initiative-report { grid-area:work; }
.initiative-report { min-width:0; align-self:start; color:var(--ink); background:var(--white); border-block:2px solid var(--ink); padding:clamp(16px,3vw,38px); scroll-margin-block:12px; font-variant-numeric:tabular-nums; }
.initiative-report > header,.initiative-report > footer,.report-step { display:flex; justify-content:space-between; align-items:baseline; gap:12px; }
.initiative-report > header { flex-wrap:wrap; padding-block-end:14px; border-block-end:1px solid var(--rule); font-size:.92rem; }
.initiative-report > h2 { margin:clamp(15px,2.5vw,30px) 0 12px; font-size:clamp(1.55rem,3vw,2.65rem); line-height:1.22; }
.report-content > p,.report-note p { margin:12px 0; max-width:62ch; line-height:1.65; }
.report-metric { display:grid; justify-items:start; gap:2px; padding-block:8px; }
.report-metric strong { font-size:clamp(2.75rem,6vw,5.4rem); font-weight:650; line-height:1; }
.report-counts,.report-matrix { width:100%; border-collapse:collapse; margin:14px 0; font-size:clamp(.9rem,1.4vw,1.02rem); }
.report-content caption { text-align:start; font-size:1.08rem; font-weight:700; padding-block:6px; }
.report-content :is(td,th) { padding:7px 4px; line-height:1.4; border-block-end:1px solid var(--rule); text-align:end; }
.report-content th:first-child { text-align:start; }
.report-content thead th { font-weight:600; border-block-end:1px solid var(--ink); }
.report-content tbody th { font-weight:400; }
.report-counts td,.report-matrix td { white-space:nowrap; }
.report-matrix-scroll { max-width:100%; overflow-x:auto; }
.initiative-report { container-type:inline-size; }
.report-matrix-scroll:focus-visible { outline-offset:-2px; }
.report-matrix th,.report-matrix td { vertical-align:top; }
.report-note { margin:16px 0; padding:8px 12px; border-inline-start:3px solid var(--ink); background:var(--paper); }
.report-note p { margin:4px 0; }
.report-credit { margin-block:16px; }
.report-credit div { display:grid; grid-template-columns:minmax(90px,.55fr) minmax(0,1fr); gap:8px; padding-block:4px; }
.report-credit dt { color:var(--muted); }
.report-credit dd { margin:0; }
.report-page-nav,.initiative-report > footer { border-block-start:1px solid var(--rule); margin-block-start:16px; padding-block-start:8px; }
.report-page-nav a,.initiative-report > footer a { min-height:44px; display:inline-flex; align-items:center; text-underline-offset:.22em; }
.report-contents { border-block-end:1px solid var(--rule); }
.report-contents summary { width:fit-content; min-height:44px; padding-block:9px; cursor:pointer; text-underline-offset:.22em; }
.report-contents summary:hover { text-decoration:underline; }
.report-contents ol { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(12rem,100%),1fr)); list-style:none; gap:0 16px; margin:0; padding:0 0 10px; }
.report-contents a { display:flex; align-items:baseline; gap:8px; min-height:44px; padding:6px 3px; line-height:1.35; text-decoration:none; }
.report-contents a:hover,.report-contents a[aria-current] span { text-decoration:underline; text-underline-offset:.2em; }
.report-contents a[aria-current] b { background:var(--ink); color:var(--white); }
.report-contents b { font-size:.8rem; padding:2px 5px; }
@media(max-width:700px) {
  .initiative-report { padding:14px; }
  .report-matrix { font-size:.84rem; min-width:295px; }
  .report-content :is(td,th) { padding-inline:3px; }
}
@container (max-width: 510px) {
  .report-matrix { display:block; width:100%; min-width:0; }
  .report-matrix caption,.report-matrix :is(thead,tbody) { display:block; }
  .report-matrix tr { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); }
  .report-matrix th:first-child { grid-column:1/-1; }
  .report-matrix th,.report-matrix td { text-align:start; }
  .report-matrix thead th { font-size:.82rem; overflow-wrap:anywhere; }
  .report-matrix thead th:first-child { border:0; color:var(--muted); }
  .report-matrix tbody th { border:0; font-weight:600; padding-block:9px 0; }
  .report-matrix td { padding-block:3px 8px; }
}

.paired-pages { display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(8px,1.2vw,20px);padding:clamp(8px,1.3vw,20px); }
.paired-page { min-width:0;text-decoration:none;display:block; }
.paired-page img { width:100%;height:auto;display:block; }
.paired-page span { display:block;padding-block:10px;font-size:.9rem;line-height:1.55; }
.paired-page:hover span,.paired-page:focus-visible span { text-decoration:underline;text-underline-offset:.25em; }
.pair-return,.print-actions a { display:inline-flex;align-items:center;min-height:44px;padding:6px 0;text-underline-offset:.2em; }
.pair-return { margin-inline:16px; }
.print-actions { display:flex;flex-wrap:wrap;gap:4px 22px;padding:8px 16px;border-block-start:1px solid var(--rule); }
.campaign-prints { display:grid;grid-template-columns:minmax(230px,.7fr) minmax(0,1.3fr);gap:clamp(22px,4vw,64px);border-block-start:1px solid var(--rule); }
.campaign-prints h2 { margin:0; }
.campaign-prints ol { list-style:none;padding:0; }
.campaign-prints li a { display:flex;align-items:baseline;gap:18px;padding:12px 4px;text-decoration:none;border-block-end:1px solid var(--rule); }
.campaign-prints li span { color:var(--muted);font-variant-numeric:tabular-nums; }
.campaign-prints li a:hover,.campaign-prints li [aria-current] { text-decoration:underline;text-underline-offset:.25em; }
.campaign-prints figure { margin:0;min-width:0; }
.campaign-prints figure p { line-height:1.6; }
.campaign-prints iframe { display:block;width:100%;height:clamp(340px,63vh,700px);border:0; }
@media(max-width:720px){.campaign-prints{grid-template-columns:minmax(0,1fr);}}
@media(min-width:721px) {
  .campaign-prints:not(:has(figure)) { display:block; }
  .campaign-prints:not(:has(figure)) > div { display:grid;grid-template-columns:minmax(230px,.7fr) minmax(0,1.3fr);grid-template-rows:auto 1fr;column-gap:clamp(22px,4vw,64px); }
  .campaign-prints:not(:has(figure)) ol { grid-column:2;grid-row:1/3;margin:0; }
}

.reader-highlights { padding:12px clamp(10px,1.2vw,18px) 14px;border-block-start:1px solid var(--rule); }
.reader-highlights[hidden] { display:none; }
.reader-highlights ol { display:grid;grid-auto-flow:column;grid-auto-columns:minmax(0,1fr);gap:10px;list-style:none;padding:0;margin:0; }
.reader-highlights a { display:block;color:inherit;text-decoration:none;line-height:1.45;padding-block-end:6px;border-block-end:2px solid transparent; }
.reader-highlights img { display:block;width:100%;aspect-ratio:16/10;object-fit:contain;background:#efefed; }
.reader-highlights span { display:block;font-size:.83rem;padding-block-start:6px; }
.reader-highlights bdi { color:var(--muted);white-space:nowrap;font-variant-numeric:tabular-nums; }
.reader-highlights a[aria-current] { border-color:var(--ink); }
.reader-highlights a:hover span,.reader-highlights a:focus-visible span { text-decoration:underline;text-underline-offset:.2em; }
@media(max-width:600px) {
  .reader-highlights ol { grid-auto-columns:minmax(105px,36%);overflow-x:auto;scroll-snap-type:x proximity;scroll-padding-inline:3px;padding:3px; }
  .reader-highlights li { scroll-snap-align:start; }
}

.project-heading {display:flex; align-items:center; justify-content:space-between; gap:clamp(10px,2vw,24px);}
.project-heading :is(h1,h2,h3) {min-inline-size:0;}
.project-signature {display:block; box-sizing:border-box; flex:none; inline-size:clamp(62px,7vw,96px); block-size:56px; padding:4px; object-fit:contain; background:var(--white);}
.case-brief .project-signature {inline-size:clamp(74px,8vw,110px); block-size:clamp(60px,7vw,88px);}
.list-view .project-signature {inline-size:58px; block-size:44px;}
.brief-stages {margin-block:4px 24px;}
.brief-stages ol {display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:clamp(4px,1vw,12px); margin:0; padding:0; list-style:none;}
.brief-stages button {display:flex; flex-wrap:wrap; align-items:center; gap:3px 7px; inline-size:100%; min-block-size:44px; padding:6px 0; border:0; border-block-start:2px solid var(--rule); text-align:start; font-size:clamp(16px,1.4vw,18px); color:var(--ink); line-height:1.3;}
.brief-stages small {font-variant-numeric:tabular-nums; font-size:.8em;}
.brief-stages button:disabled {color:var(--muted); cursor:default; opacity:1;}
.brief-stages button[aria-current] {border-color:var(--ink); font-weight:700;}
.brief-stages button:not(:disabled):hover span {text-decoration:underline; text-underline-offset:.2em;}
@media(max-width:700px) {
  .brief-stages {margin-block-end:12px;}
  .list-view .project-signature {inline-size:44px; block-size:38px;}
}

.workshop-practice {display:grid; grid-template-columns:minmax(0,.84fr) minmax(0,1.36fr); gap:clamp(24px,5vw,76px); border-block-start:1px solid var(--rule);}
.workshop-practice h2 {font-size:clamp(32px,4vw,52px); margin:0 0 14px;}
.workshop-practice h3 {font-size:clamp(23px,2.2vw,32px); line-height:1.45; margin:20px 0;}
.practice-source {color:var(--muted); font-size:16px;}
.practice-examples {display:flex; flex-wrap:wrap; gap:4px 16px; border-block-end:1px solid var(--rule);}
.practice-examples a {display:inline-flex; align-items:center; min-height:44px; border-block-end:2px solid transparent; text-decoration:none;}
.practice-examples a[aria-current] {border-color:var(--ink); font-weight:700;}
.practice-examples a:hover {text-decoration:underline; text-underline-offset:.2em;}
.workshop-practice fieldset {margin-block:0 14px;}
.workshop-practice legend {font-size:18px; margin-block-end:4px;}
.practice-options {display:flex; flex-wrap:wrap; gap:4px 18px;}
.practice-options label {display:inline-flex; gap:8px; align-items:center; min-height:44px; cursor:pointer;}
.practice-options input {inline-size:18px; block-size:18px; margin:0; accent-color:var(--ink);}
.practice-feedback {border-block-start:1px solid var(--ink); padding-block-start:16px; margin-block-start:20px;}
.practice-feedback p {margin-block:5px 0;}
@media(max-width:720px){.workshop-practice {grid-template-columns:minmax(0,1fr); gap:18px;}}

.practice-actions {display:flex; gap:4px 16px; flex-wrap:wrap; margin-block-start:8px;}
.practice-actions a {display:inline-flex; align-items:center; min-height:44px; text-underline-offset:.2em;}

.account-report {border-block-start:1px solid var(--rule);}
.account-heading,.account-chart nav,.account-dates,.account-day dl > div {display:flex; align-items:baseline; justify-content:space-between; gap:8px 20px;}
.account-heading {flex-wrap:wrap; margin-block-end:26px;}
.account-heading h2 {font-size:clamp(32px,4vw,52px); margin:0;}
.account-heading p {margin:8px 0 0; color:var(--muted);}
.account-layout {display:grid; grid-template-columns:minmax(0,1.65fr) minmax(0,1fr); gap:clamp(24px,4vw,72px);}
.account-chart {margin:0; min-width:0; background:var(--ink); color:var(--paper); padding:clamp(18px,3vw,44px);}
.account-chart nav {justify-content:flex-start; gap:2px 16px; flex-wrap:wrap; border-block-end:1px solid #555;}
.account-chart nav a {display:inline-flex; align-items:center; min-height:44px; text-decoration:none; border-block-end:2px solid transparent;}
.account-chart nav a[aria-current] {border-color:currentColor; font-weight:700;}
.account-chart nav a:hover,.account-peak a {text-decoration:underline; text-underline-offset:.22em;}
.account-chart figcaption {display:flex; flex-wrap:wrap; align-items:baseline; gap:5px 18px; margin:20px 0; color:inherit;}
.account-chart figcaption strong {font-size:clamp(38px,5vw,72px); font-variant-numeric:tabular-nums; line-height:1.2;}
.account-plot {display:flex; gap:8px; height:clamp(140px,17vw,230px);}
.account-scale {display:flex; flex-direction:column; justify-content:space-between; font-size:14px; color:var(--inverse-muted);}
.account-bars {display:grid; grid-template-columns:repeat(30,minmax(0,1fr)); flex:1; gap:clamp(1px,.3vw,5px); border-block:1px solid #666;}
.account-bars a {display:flex; align-items:flex-end; min-width:0;}
.account-bars i {display:block; width:100%; background:#b1c5bd;}
.account-bars a[aria-current] i,.account-bars a:hover i {background:#ffe2aa;}
.account-bars a[aria-current] {border-block-end:3px solid #ffe2aa;}
.account-bars a:focus-visible {outline-color:var(--white);}
.account-dates {margin-block-start:4px; font-size:15px; color:var(--inverse-muted);}
.account-peak {margin:14px 0 0; font-size:16px;}
.account-day h3,.account-reading h3 {font-size:clamp(23px,2vw,32px); margin:0 0 12px;}
.account-day form {display:grid; grid-template-columns:minmax(0,1fr) auto; align-items:center; gap:8px;}
.account-day label {grid-column:1/-1;}
.account-day select,.account-day button {min-height:44px; padding-inline:12px;}
.account-day button {border:1px solid var(--ink);}
.account-day dl {margin:18px 0;}
.account-day dl > div {padding-block:9px; border-block-end:1px solid var(--rule);}
.account-day dd {font-weight:700; margin:0; font-variant-numeric:tabular-nums;}
.account-breakdown,.account-reading small {font-size:16px; color:var(--muted);}
.account-reading {display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:clamp(20px,4vw,72px); padding-block-start:24px;}
.account-reading p {margin:0 0 10px; max-width:62ch;}
@media(max-width:760px){.account-layout,.account-reading {grid-template-columns:minmax(0,1fr);} .account-chart nav {font-size:16px; gap:2px 12px;} .account-day form select {flex:1;}}

.tile-caption .tile-study-link {display:inline-flex; align-items:center; gap:8px; min-height:44px; text-decoration:underline; text-underline-offset:.2em; font-weight:650;}
.tile-study-link svg {width:18px; height:18px;}
html[dir="rtl"] .tile-study-link svg {transform:scaleX(-1);}

.botbox-workflow { display:grid; grid-template-columns:minmax(0,1.12fr) minmax(0,.88fr); gap:clamp(28px,6vw,96px); border-block-start:1px solid var(--rule); padding-block:clamp(32px,5vw,76px); scroll-margin-top:5rem; }
.botbox-workflow h2, .botbox-workflow h3 { margin:0; }
.botbox-workflow h2 { font-size:clamp(30px,3.25vw,52px); max-width:21ch; line-height:1.25; }
.botbox-workflow h3 { font-size:clamp(24px,2.25vw,34px); }
.botbox-workflow p, .botbox-workflow dd { color:var(--muted); line-height:1.6; }
.botbox-register dl { margin:1.5rem 0 0; }
.botbox-register dl > div, .botbox-screens li { padding-block:12px; border-block-start:1px solid var(--rule); }
.botbox-register dt { font-size:1.24rem; font-weight:700; }
.botbox-register dt b { display:inline-block; margin-inline-end:.4em; font-variant-numeric:tabular-nums; }
.botbox-register dd, .botbox-screens li p { margin:.25rem 0 0; }
.botbox-screens ol { padding-inline-start:1.6em; }
.botbox-screens li::marker { color:var(--muted); font-variant-numeric:tabular-nums; }
.botbox-screens a { display:inline-block; padding-block:5px; font-size:1.18rem; font-weight:700; text-decoration:underline; text-underline-offset:.23em; }
@media (max-width:760px) { .botbox-workflow { grid-template-columns:1fr; } }

.case-film { scroll-margin-block-start:1rem; }
.film-header { display:flex; align-items:baseline; justify-content:space-between; gap:1rem; background:var(--ink); color:var(--white); padding:12px 18px; }
.film-header h2 { font-size:clamp(17px,1.7vw,23px); margin:0; }
.film-header bdi, .scene-cue bdi { font-variant-numeric:tabular-nums; }
.case-film video { display:block; width:100%; height:auto; background:#141414; }
.case-film nav { margin-block-start:22px; }
.case-film nav h3 { font-size:22px; margin:0 0 8px; }
.case-film ol { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:clamp(8px,1.3vw,16px); margin:0; padding:0; list-style:none; }
.scene-cue { display:block; position:relative; height:100%; border-block-end:2px solid transparent; padding-block-end:5px; font-weight:700; text-decoration:none; }
.scene-cue[aria-current], .scene-cue:hover { border-color:var(--ink); }
.scene-cue img { display:block; width:100%; height:auto; aspect-ratio:16/9; }
.scene-cue bdi { display:table; margin-block-start:5px; color:var(--muted); font-size:14px; line-height:1.4; }
.scene-cue span { font-size:clamp(15px,1.4vw,19px); line-height:1.3; }
.film-notes p, .film-caption-notes p { margin:10px 0; line-height:1.6; }
.film-doc-links { display:flex; flex-wrap:wrap; gap:4px 18px; }
.film-doc-links a, .film-caption-notes summary { font-weight:700; font-size:16px; text-underline-offset:.2em; padding-block:5px; }
.film-caption-notes { margin-block-start:12px; border-block-start:1px solid var(--rule); }
.film-caption-notes summary { cursor:pointer; }
.case-film .case-evidence { margin-block-start:6px; }

.holding-guide { margin-block:26px; border-block-start:1px solid var(--rule); padding-block-start:16px; scroll-margin-block-start:20px; }
.holding-heading { display:flex; align-items:baseline; justify-content:space-between; flex-wrap:wrap; gap:3px 12px; }
.holding-heading h2, .holding-guide h3 { margin:0; font-size:clamp(20px,1.7vw,26px); }
.holding-heading a, .holding-return { font-size:15px; font-weight:700; text-underline-offset:.2em; }
.holding-marks { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:4px; margin:12px 0 20px; }
.holding-marks a { display:flex; flex-direction:column; align-items:center; justify-content:flex-start; gap:5px; text-align:center; text-decoration:none; line-height:1.3; font-size:14px; font-weight:700; border-block-end:2px solid var(--rule); padding-block:6px; }
.holding-marks a[aria-current], .holding-marks a:hover { border-color:var(--ink); }
.holding-marks img { background:var(--white); object-fit:contain; max-width:100%; height:auto; aspect-ratio:1; }
.holding-guide p, .holding-index p { line-height:1.6; margin-block:8px 14px; }
.holding-sources { display:grid; }
.holding-citation { display:flex; align-items:baseline; justify-content:space-between; gap:12px; padding-block:8px; border-block-start:1px solid var(--rule); font-weight:700; text-underline-offset:.2em; }
.holding-citation small { flex:none; font-variant-numeric:tabular-nums; font-size:14px; color:var(--muted); }
.holding-return { display:table; margin:8px 16px; }
.holding-index { display:grid; grid-template-columns:minmax(0,.84fr) minmax(0,1.36fr); gap:clamp(24px,4vw,76px); padding-block:clamp(28px,4vw,60px); border-block-start:1px solid var(--rule); }
.holding-index h2 { font-size:clamp(28px,3vw,46px); margin:0; }
.holding-index summary { font-size:22px; padding-block:12px; font-weight:700; cursor:pointer; }
.holding-index details + details { border-block-start:1px solid var(--rule); }
.holding-index ul, .holding-index ol { margin:0; list-style:none; padding:0; }
.holding-index li p { color:var(--muted); margin-block:0 12px; }
@media (max-width:760px) { .holding-index { grid-template-columns:1fr; } }
@media (min-width:901px) {
  .case-opening:has(.holding-guide) > .presentation { position:sticky; top:16px; }
}

.identity-review { min-width:0; scroll-margin-block-start:16px; }
.identity-review h2 { margin:0 0 10px; font-size:clamp(23px,2.3vw,34px); }
.identity-topics, .identity-pairs { display:flex; flex-wrap:wrap; align-items:center; gap:2px 14px; }
.identity-topics { border-block:1px solid var(--rule); }
.identity-topics a, .identity-pairs a { display:inline-flex; align-items:center; min-height:44px; text-decoration:none; border-block-end:2px solid transparent; font-size:16px; font-weight:700; }
.identity-topics a[aria-current], .identity-pairs a[aria-current], .identity-topics a:hover, .identity-pairs a:hover { border-color:var(--ink); }
.identity-pairs { margin-block-start:4px; font-size:15px; }
.identity-pairs a { min-width:36px; justify-content:center; direction:ltr; }
.identity-key, .identity-originals { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; }
.identity-key { margin:12px 0 8px; }
.identity-key > div { display:flex; flex-direction:column; text-align:start; }
.identity-key small { color:var(--muted); font-size:14px; }
.identity-key strong { font-size:clamp(16px,1.5vw,22px); }
.identity-images { display:grid; position:relative; isolation:isolate; grid-template-columns:repeat(2,minmax(0,1fr)); align-items:start; gap:4px; }
.identity-images img { display:block; width:100%; height:auto; }
.identity-images.is-overlay { grid-template-columns:minmax(0,1fr); gap:0; }
.identity-images.is-overlay > img { grid-area:1/1; }
.identity-images.is-overlay > img:first-child { z-index:1; clip-path:inset(0 calc(100% - var(--split,50%)) 0 0); }
.identity-divider { position:absolute; z-index:2; inset-block:0; left:var(--split,50%); width:2px; transform:translateX(-50%); background:var(--white); box-shadow:0 0 0 1px #242424; pointer-events:none; }
.identity-divider svg { position:absolute; top:50%; left:50%; transform:translate(-50%,-50%); width:36px; height:26px; background:var(--ink); border:1px solid white; border-radius:16px; fill:none; stroke:var(--white); stroke-width:2; }
.identity-images { overflow:hidden; }
.identity-range { position:absolute; z-index:3; top:0; left:0; margin:0; width:100%; height:100%; cursor:ew-resize; appearance:none; background:transparent; opacity:0; direction:ltr; touch-action:pan-y pinch-zoom; }
.identity-range::-webkit-slider-runnable-track { height:100%; border:0; background:transparent; }
.identity-range::-webkit-slider-thumb { appearance:none; width:1px; height:100%; }
.identity-range::-moz-range-thumb { width:1px; border:0; }
.identity-images:has(.identity-range:focus-visible) { outline:3px solid var(--focus); outline-offset:2px; }
.identity-tools { display:flex; align-items:center; justify-content:space-between; gap:6px 16px; flex-wrap:wrap; color:var(--muted); font-size:15px; margin-block:6px 10px; }
.identity-tools button { min-height:44px; color:var(--ink); font-weight:700; text-decoration:underline; text-underline-offset:.22em; }
.identity-reading { font-size:clamp(17px,1.5vw,20px); line-height:1.6; margin-block:10px; }
.identity-originals a { padding-block:7px; border-block-start:1px solid var(--rule); font-size:15px; font-weight:700; text-underline-offset:.2em; }
@media(max-width:560px) { .identity-tools { line-height:1.4; } }
.ruht-audiences { border-block-start:1px solid var(--rule); margin-block:24px; padding-block-start:16px; }
.ruht-audiences h2 { font-size:clamp(22px,2vw,29px); margin:0; }
.ruht-audiences p { margin:6px 0 12px; line-height:1.55; }
.ruht-audiences a { display:flex; align-items:baseline; justify-content:space-between; border-block-start:1px solid var(--rule); padding-block:8px; gap:12px; font-weight:700; text-underline-offset:.2em; }
.ruht-audiences small { color:var(--muted); font-size:14px; font-variant-numeric:tabular-nums; }

.education-page.section { padding-block-start:clamp(24px,4vw,64px); }
.academic-heading h1 { margin:0 0 clamp(20px,3vw,42px); }
.academic-rail { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,9rem),1fr)); gap:2px 14px; }
.academic-rail a { display:grid; align-content:start; gap:3px; padding-block:9px 12px; border-block-start:2px solid var(--rule); text-decoration:none; line-height:1.3; font-weight:700; }
.academic-rail small, .academic-date { color:var(--muted); font-variant-numeric:tabular-nums; font-weight:500; font-size:15px; }
.academic-rail a[aria-current], .academic-rail a:hover { border-color:var(--ink); }
.academic-stage { scroll-margin-block-start:18px; margin-block-start:clamp(25px,4vw,60px); }
.academic-intro { display:grid; grid-template-columns:minmax(0,.92fr) minmax(0,1.08fr); align-items:end; gap:12px clamp(24px,4vw,68px); }
.academic-intro .academic-date, .academic-copy .academic-date { margin:0 0 7px; }
.academic-intro h2 { font-size:clamp(30px,4vw,60px); line-height:1.14; margin:0; }
.academic-intro > p, .academic-copy > p, .academic-research p { line-height:1.65; margin:0; max-width:62ch; }
.academic-samples { display:flex; flex-wrap:wrap; gap:0 clamp(16px,2.5vw,40px); border-block:1px solid var(--rule); margin-block-start:22px; }
.academic-samples a { min-height:44px; display:inline-flex; align-items:center; font-weight:700; text-decoration:none; border-block-end:2px solid transparent; }
.academic-samples a[aria-current], .academic-samples a:hover { border-color:var(--ink); }
.academic-spread { display:grid; grid-template-columns:minmax(0,1.16fr) minmax(0,.84fr); align-items:start; gap:18px clamp(24px,5vw,84px); margin-block:24px; }
.academic-spread:not(:has(.academic-source)) { grid-template-columns:minmax(0,60ch); }
.academic-source, .academic-source figure { display:block; margin:0; min-width:0; text-decoration:none; }
.academic-print { display:grid; place-items:center; background:#f0efeb; padding:clamp(8px,1.5vw,24px); }
.academic-print img { display:block; max-width:100%; max-height:min(52vh,470px); width:auto; height:auto; object-fit:contain; }
.academic-source figcaption { display:flex; align-items:center; justify-content:space-between; gap:.75rem; padding-block:8px; border-block-end:1px solid var(--rule); font-weight:700; font-size:16px; }
.academic-source:hover figcaption, .academic-source:focus-visible figcaption, .academic-rail a:hover span { text-decoration:underline; text-underline-offset:.22em; }
.academic-copy h3, .academic-research h3, .academic-enrolment h3 { font-size:clamp(24px,2.5vw,36px); line-height:1.23; margin:0 0 12px; }
.academic-links { margin-block-start:18px; display:grid; justify-items:start; gap:3px; }
.academic-link { display:inline-flex; align-items:center; min-height:44px; font-size:16px; font-weight:700; text-decoration:underline; text-underline-offset:.22em; }
.academic-other, .academic-footer { border-block-start:1px solid var(--rule); padding-block:9px; }
.academic-footer { margin-block-start:26px; display:flex; align-items:baseline; flex-wrap:wrap; gap:4px 28px; }
.academic-footer a:last-child { margin-inline-start:auto; }
.academic-research, .academic-enrolment { display:grid; grid-template-columns:minmax(0,.92fr) minmax(0,1.08fr); gap:20px clamp(24px,4vw,68px); border-block:1px solid var(--rule); padding-block:clamp(20px,3vw,40px); margin-block:24px 12px; }
.academic-research .academic-date { margin:0 0 8px; }
.academic-research ol { padding:0; margin:0; list-style:none; }
.academic-research li + li { border-block-start:1px solid var(--rule); }
.academic-research a { display:flex; align-items:baseline; gap:12px; padding:10px 0; text-decoration:none; }
.academic-research a:hover strong { text-decoration:underline; text-underline-offset:.2em; }
.academic-research a small { color:var(--muted); min-width:5.25rem; }
.academic-enrolment { align-items:center; }
.academic-enrolment > strong { font-size:clamp(60px,8vw,126px); line-height:1; letter-spacing:-.065em; text-align:center; }
.academic-enrolment p { margin:0 0 6px; }
@media (max-width:700px) {
  .academic-rail { grid-template-columns:repeat(2,minmax(0,1fr)); gap:0 13px; }
  .academic-rail a { padding-block:6px 8px; font-size:16px; }
  .academic-intro, .academic-spread, .academic-research, .academic-enrolment { grid-template-columns:minmax(0,1fr); }
  .academic-samples { gap:0 16px; }
  .academic-samples a { font-size:15px; }
  .academic-print img { max-height:340px; }
  .academic-enrolment > strong { text-align:start; }
  .academic-footer { column-gap:16px; }
  .academic-footer a:last-child { margin-inline-start:0; }
}

.business-choices { display:flex; flex-wrap:wrap; column-gap:clamp(14px,2vw,30px); border-block-end:1px solid var(--rule); margin-block:12px 15px; }
.business-choices a { display:inline-flex; align-items:center; min-height:44px; margin-block-end:-1px; border-block-end:2px solid transparent; font-weight:700; text-decoration:none; }
.business-choices a:is([aria-current],:hover,:focus-visible) { border-color:var(--ink); }
.business-feature { display:grid; gap:14px; margin-block-end:20px; }
.business-art { display:block; color:var(--ink); text-decoration:none; background:var(--wash,#eeede8); }
.business-art img { display:block; inline-size:100%; height:clamp(200px,21vw,320px); object-fit:contain; }
.business-art span { padding:9px 12px; font-size:15px; font-weight:650; display:flex; align-items:center; justify-content:space-between; gap:14px; background:var(--paper); border-block-end:1px solid var(--rule); }
.business-art b { font-weight:500; font-size:20px; }
.business-art:is(:hover,:focus-visible) span { text-decoration:underline; text-underline-offset:.2em; }
.business-reading small { color:var(--muted); font-weight:600; }
.agency-services .business-reading h3 { margin:4px 0; font-size:clamp(21px,2.2vw,32px); line-height:1.2; }
.business-reading p { margin:7px 0; line-height:1.5; max-width:56ch; }
.business-actions { display:flex; flex-wrap:wrap; gap:2px 20px; }
.business-reading a { display:inline-flex; gap:.3em; align-items:center; min-height:44px; text-underline-offset:.2em; }
.business-feature[data-case="qirsh"] { grid-template-columns:minmax(125px,.78fr) minmax(0,1.22fr); align-items:center; }
.business-feature[data-case="qirsh"] .business-art { background:#e7ebe3; }
.business-feature[data-case="qirsh"] img { height:clamp(200px,24vw,340px); padding:8px; }
@media (max-width:450px) {
  .business-choices { column-gap:14px; }
  .business-feature[data-case="qirsh"] { grid-template-columns:minmax(0,1fr); }
}

.journey-roles-link { display:inline-flex; align-items:center; min-height:44px; margin-block-end:12px; font-weight:700; text-underline-offset:.2em; }
.role-actions { display:flex; flex-wrap:wrap; align-items:baseline; gap:3px 22px; }
.role-actions .text-link { min-height:44px; }
.journey-teaser .text-link + .text-link { margin-inline-start:16px; }

.paired-library .paired-page img { height:clamp(230px,28vw,450px); object-fit:contain; }
@media (max-width:600px) { .paired-library .paired-page img { height:clamp(180px,50vw,270px); } }

.credential-marks a[data-text-mark] {
  width: auto;
  min-width: 82px;
  max-width: 146px;
  text-align: center;
  padding-inline: 4px;
}
.credential-text-mark { display: grid; gap: 2px; width: 100%; line-height: 1.15; }
.credential-text-mark b, .credential-text-mark small { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.credential-text-mark b { font-size: 14px; }
.credential-text-mark small { font-size: 11px; color: var(--muted); }
.credential-proof { display: grid; align-content: start; gap: 5px; }
.credential-proof span { font-size: 14px; }
.chapter-continuity, .year-intro { padding-block: 14px 22px; border-block-start: 1px solid var(--rule); }
.year-intro h3, .chapter-continuity h3 { margin: 0 0 5px; font-size: clamp(21px,2vw,31px); }
.year-intro p { margin: 6px 0; max-width: 62ch; line-height: 1.6; }
.year-intro nav, .chapter-continuity li { display: flex; align-items: baseline; flex-wrap: wrap; gap: 2px 16px; }
.year-intro nav .text-link, .chapter-continuity .text-link { font-size: 16px; min-height: 44px; margin: 0; }
.chapter-continuity ul { list-style: none; margin: 8px 0 0; padding: 0; }
.continuity-date { color: var(--muted); font-size: 15px; }
/* The archive editions have their own mat and proportions; never crop a print twice. */
.artifact-link .work-image.work-thumbnail,
.archive-grid .artifact-link .work-image.work-thumbnail {
  width: 100%;
  height: auto;
  aspect-ratio: 14/9;
  padding: 0;
}
.system-feature-entry > span {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  min-height: 48px;
  padding: 8px 18px;
  background: var(--ink);
  color: var(--white);
  font-weight: 700;
}
.case-feature .system-feature-entry { display: block; text-decoration: none; }
:dir(rtl) .system-feature-entry svg { transform: scaleX(-1); }
.system-feature-entry:is(:hover,:focus-visible) > span { text-decoration: underline; text-underline-offset: .3em; }

.brief-handoff-actions { display:flex; flex-wrap:wrap; align-items:center; gap:.5rem .9rem; }
.brief-handoff-actions button { background:transparent; border:1px solid var(--ink); font-weight:700; }
.brief-handoff-actions button:is(:hover,:focus-visible) { color:var(--white); background:var(--ink); }
.enquiry-review .brief-copy-status { font-size:1rem; margin:.55rem 0 0; }
.brief-copy-status:empty, .brief-copy-fallback[hidden] { display:none; }
.brief-copy-fallback { margin-block-start:.75rem; }
.brief-copy-fallback textarea { line-height:1.5; unicode-bidi:plaintext; }
.enquiry-review + .save-fields { border-block-start:1px solid var(--rule); padding-block-start:1.5rem; margin-block-start:1.5rem; }
.save-fields h2 { font-size:clamp(22px,2vw,30px); margin:0 0 1rem; }
.initiative-breakdown { max-inline-size:48rem; margin-block:.25rem; border-block-start:1px solid var(--rule); }
.initiative-breakdown summary { cursor:pointer; display:list-item; padding-block:.8rem; font-weight:700; }
.initiative-breakdown table { inline-size:100%; border-collapse:collapse; margin-block:0 1rem; }
.initiative-breakdown caption { text-align:start; color:var(--muted); padding-block:.25rem; }
.initiative-breakdown th, .initiative-breakdown td { padding:.4rem .35rem; border-block-end:1px solid var(--rule); text-align:start; }
.initiative-breakdown tbody th { font-weight:400; }
.initiative-breakdown td { position:relative; width:30%; text-align:end; }
.initiative-breakdown td bdi { position:relative; font-variant-numeric:tabular-nums; }
.initiative-fill { position:absolute; inset-inline-start:0; inset-block-end:0; width:var(--part); height:4px; background:#536e62; }
.agency-service-stages { padding-inline-start:1.65em; }
.agency-service-stages li { padding-block:.65rem; border-block-start:1px solid var(--rule); }
.agency-service-stages li::marker { font-weight:700; font-variant-numeric:tabular-nums; }
.agency-service-stages p { margin:0; line-height:1.55; }
[dir="rtl"] .agency-service-stages { list-style-type:arabic-indic; }
.campaign-audience-summary { margin-block: 1rem 2rem; }
.campaign-audience-summary h4 { margin:0; font-size:clamp(22px,2vw,30px); }
.campaign-audience-summary p { margin-block:.4rem 1rem; }
.campaign-audience-summary a { text-underline-offset:.2em; }
.campaign-audience-summary .sheet-scroll { overflow-x:auto; }
.campaign-audience-summary table { width:100%; border-collapse:collapse; }
.campaign-audience-summary :is(th,td) { padding:.5rem .4rem; text-align:start; border-block-end:1px solid var(--rule); }
.campaign-audience-summary td { font-variant-numeric:tabular-nums; }
.campaign-audience-summary caption { padding:.35rem; text-align:start; color:var(--muted); }
.sheet-clear { display:inline-flex; align-items:center; min-block-size:44px; text-underline-offset:.2em; }
#campaign-days { scroll-margin-block-start:3rem; }
#organizations, .organization-grid h3 { scroll-margin-block-start: 1rem; }
.mark-index { display:flex; align-items:center; gap:.2rem 1.2rem; flex-wrap:wrap; }
.mark-index a { display:inline-flex; align-items:center; min-height:44px; text-underline-offset:.22em; }
.organization-grid { gap:0 clamp(8px,1.3vw,20px); margin-block-start:1.25rem; }
.organization-grid h3 { grid-column:1/-1; padding-block:.9rem 1rem; border-block-start:1px solid var(--ink); font-size:clamp(20px,2.2vw,32px); }
.organization-grid h3:not(:first-child) { margin-block-start:1.7rem; }
.organization-grid :is(a,figure) { min-width:0; margin:0; padding:12px 8px 20px; }
.organization-grid img { height:clamp(52px,6vw,78px); margin-block-end:12px; }
.organization-grid a:is(:hover,:focus-visible) > span { text-decoration:underline; text-underline-offset:.2em; }
.organization-grid small { display:block; margin-block-start:.25em; font-size:14px; line-height:1.4; color:var(--muted); }

.chapter-selected { display:grid; gap:.3rem; max-width:29ch; }
.chapter-selected a, .milestone-open, .milestone-caption a { display:inline-flex; align-items:center; min-height:44px; text-underline-offset:.2em; }
.chapter-selected a:first-child { font-weight:700; }
.milestone-open { font-size:1rem; color:var(--muted); }
.milestone-work { display:grid; grid-template-columns:minmax(0,1.4fr) minmax(0,1fr); align-items:center; gap:clamp(.8rem,2vw,2rem); margin-block:1.1rem; }
.milestone-object { display:block; color:var(--ink); text-decoration:none; }
.milestone-object img { display:block; width:100%; height:auto; max-height:22rem; object-fit:contain; background:var(--artifact-ground); }
.milestone-object span { display:block; padding:.6rem .8rem; background:var(--ink); color:var(--paper); font-weight:700; }
.milestone-object:is(:hover,:focus-visible) span { text-decoration:underline; text-underline-offset:.2em; }
.milestone-caption { display:grid; align-content:center; justify-items:start; gap:.2rem; }
.milestone-caption strong { font-size:1.25rem; }
.milestone-caption .milestone-brief { margin-top:.4rem; font-weight:700; }
@media(max-width:740px) {
  .milestone-work { grid-template-columns:minmax(0,1fr); gap:.4rem; }
  .milestone-object img { max-height:14rem; }
  .chapter-selected { max-width:58%; }
}

.credential-marks .record-caption { display:none; }
.credential-directory { min-height:44px; align-items:center; text-decoration:underline; text-underline-offset:.22em; }
.credential-directory span { font-size:1em; color:var(--ink); }
dialog.credential-atlas { box-sizing:border-box; inset:0; width:min(60rem,calc(100% - 2rem)); max-height:88svh; overflow:auto; overscroll-behavior:contain; padding:clamp(1rem,3vw,2.5rem); border:1px solid var(--ink); background:var(--paper); color:var(--ink); }
dialog.credential-atlas::backdrop { background:rgb(17 17 17 / .65); }
html:has(#credential-gallery[open]) { overflow:hidden; }
.credential-atlas > header { position:sticky; top:calc(-1 * clamp(1rem,3vw,2.5rem)); z-index:1; display:flex; justify-content:space-between; align-items:center; gap:1rem; background:var(--paper); padding-block:.5rem; border-bottom:1px solid var(--rule); }
.credential-atlas h2 { font-size:clamp(26px,3vw,42px); line-height:1.25; margin:0; }
.credential-atlas button:not(.solid), .record-clear, .record-full, .record-index-return { color:var(--ink); display:inline-flex; align-items:center; min-height:44px; text-underline-offset:.2em; }
.credential-atlas button:not(.solid) { padding:.3rem .65rem; border:1px solid var(--rule); background:transparent; font:inherit; cursor:pointer; }
.credential-atlas button[hidden], .credential-atlas [hidden] { display:none!important; }
.credential-atlas .record-controls { display:flex; align-items:flex-end; flex-wrap:wrap; gap:.7rem 1rem; margin-block:1.1rem 0; }
.record-controls label { display:grid; flex:1 1 12rem; gap:.25rem; font-size:1rem; }
.record-controls :is(input,select) { box-sizing:border-box; width:100%; min-width:0; min-height:44px; border:1px solid var(--control-rule); border-radius:0; background:var(--white); color:var(--ink); padding:.4rem .6rem; font:inherit; }
.record-controls .solid { min-height:44px; }
.record-count { display:flex; align-items:center; justify-content:space-between; gap:.8rem; min-height:3.5rem; }
.record-count p { margin:0; }
.credential-atlas .credential-marks { display:grid; grid-template-columns:repeat(auto-fill,minmax(min(100%,15rem),1fr)); align-items:stretch; gap:0 1.4rem; padding:0; overflow:visible; scroll-snap-type:none; }
.credential-atlas .credential-marks li { display:flex; min-width:0; border-top:1px solid var(--rule); }
.credential-atlas .credential-marks a { width:100%; min-height:5.6rem; height:auto; display:flex; align-items:center; justify-content:start; gap:.85rem; padding:.7rem .2rem; text-decoration:none; border:0; }
.credential-atlas .credential-marks a:is(:focus-visible,:hover) strong { text-decoration:underline; text-underline-offset:.2em; }
.credential-atlas .credential-marks img,.credential-atlas .training-name { width:48px; flex:0 0 48px; object-fit:contain; }
.credential-atlas .credential-marks .credential-text-mark { display:none; }
.credential-atlas .record-caption { display:grid; gap:.25rem; text-align:start; line-height:1.28; }
.record-caption strong { font-size:1.05rem; }
.record-caption span { color:var(--muted); font-size:.93rem; }
.record-directory { margin-block:0 clamp(2.5rem,6vw,5rem); }
.record-full { margin-block-start:.6rem; }
.record-index-return { margin-inline-end:1rem; }
@media(max-width:600px) {
  dialog.credential-atlas { width:calc(100% - 1rem); max-height:calc(100svh - 1rem); padding:1rem; }
  .credential-atlas > header { top:-1rem; }
  .credential-atlas .record-controls { display:grid; grid-template-columns:minmax(0,1fr) auto; }
  .record-controls label:first-child { grid-column:1/-1; }
}
@media(min-width:701px) and (max-height:800px) {
  .exhibition { padding-block:1.3rem 2.2rem; }
  .identity h1 { margin-block-end:1rem; }
  .identity .discipline { margin-block-end:.65rem; }
  .identity .signature { margin-block-start:.3rem; }
  .identity .credential-shelf { margin-block-start:.35rem; }
}
.sign-detail { margin-top:.4rem; }
.sign-detail summary { min-height:44px; width:fit-content; padding:.45rem 0; font-size:1rem; font-weight:700; cursor:pointer; text-decoration:underline; text-underline-offset:.2em; }
.sign-detail svg { display:block; width:100%; max-height:23rem; }
.sign-detail .text-link { min-height:44px; margin:0; font-size:1rem; }

.botbox-family { margin-block:1.6rem .6rem; border-block-start:1px solid var(--rule); padding-block-start:1.2rem; }
.botbox-family h3 { margin:0 0 .6rem; font-size:1.45rem; }
.botbox-family ol { padding-inline-start:1.4em; }
.botbox-family .text-link { display:flex; width:fit-content; min-height:44px; margin:0; }
.library-finder { display:grid; grid-template-columns:minmax(0,1.3fr) minmax(0,1fr) minmax(0,1fr) auto; align-items:end; gap:.75rem 1rem; }
.library-finder label { display:grid; gap:.25rem; font-size:1rem; }
.library-finder :is(input,select) { box-sizing:border-box; min-width:0; width:100%; min-height:46px; padding:.4rem .6rem; color:var(--ink); border:1px solid var(--control-rule); background:var(--white); font:inherit; }
.library-watch,.library-result-count a { display:inline-flex; align-items:center; min-height:44px; text-underline-offset:.2em; font-weight:700; }
.library-result-count { display:flex; align-items:center; gap:1.2rem; min-height:52px; scroll-margin-block-start:1rem; }
.library-result-count p { margin:0; }
.library-file-copy small { display:block; line-height:1.35; font-size:.94rem; color:var(--muted); }
.team-screenings { margin-top:1.4rem; }
.team-screenings h3 { margin:0 0 .7rem; font-size:1.4rem; }
.team-screenings ul { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1rem; list-style:none; margin:0; padding:0; }
.team-screenings li,.artifacts figure[id^="watch-"],.case-public-links [id^="watch-"] { scroll-margin-block-start:1.5rem; }
.team-screenings img { width:100%; height:auto; display:block; }
.team-screenings a { display:grid; gap:.25rem; color:inherit; line-height:1.4; text-underline-offset:.2em; }
.team-screenings li:target a,.artifacts figure[id^="watch-"]:target figcaption { text-decoration:underline; text-underline-offset:.2em; }
@media(max-width:760px) {
  .library-finder { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .library-finder label:first-child, .library-finder button { grid-column:1/-1; }
}
@media(max-width:440px) { .team-screenings ul { grid-template-columns:minmax(0,1fr); } }

.library-demo-pair { display: grid; align-content: start; }
.file-index .file-choices .library-launch {
  justify-self: start; display: inline-flex; align-items: center; min-height: 44px;
  padding-inline: .2rem; color: var(--ink); text-decoration: underline; text-underline-offset: .22em;
}

.file-index.watch-index .file-choices {
  grid-template-columns: repeat(auto-fill,minmax(min(100%,18rem),1fr));
  gap: 1.75rem clamp(1rem,2vw,2rem);
}
.file-index.watch-index .file-choices a.library-file {
  grid-template-columns: minmax(0,1fr); align-content: start; align-items: start; gap: .9rem;
}
.watch-index .library-thumb { width: 100%; aspect-ratio: 16/9; background: #161616; }
.watch-index .library-thumb img { width: 100%; height: 100%; object-fit: contain; }
.watch-index .library-file-copy { padding-block-end: .35rem; }
.watch-index .library-file-copy strong { font-size: clamp(1rem,1.4vw,1.25rem); }

.brief-page { grid-template-areas:"heading enquiry" "support enquiry"; grid-template-rows:auto 1fr; row-gap:1rem; }
.brief-heading { grid-area: heading; }
.brief-page #enquiry { grid-area: enquiry; scroll-margin-block-start:1rem; }
.brief-support { grid-area: support; min-width:0; }
.brief-support p { max-inline-size:48ch; }
@media (max-width:700px) {
  .brief-page .brief-heading h1 { font-size:clamp(2.2rem,9.5vw,3.2rem); line-height:1.15; text-wrap:balance; margin:0 0 .65rem; }
  .brief-page .brief-mode { margin:0 0 .45rem; }
  .brief-page .brief-support { margin-block-start:2.5rem; border-block-start:1px solid var(--rule); padding-block-start:1rem; }
}

.journey-entry-actions { display:flex; flex-wrap:wrap; align-items:center; gap:.3rem 1.3rem; margin-bottom:.85rem; }
.journey-entry-actions a { display:inline-flex; align-items:center; min-height:44px; margin:0; }
.journey-begin { font-weight:700; }
.chosen-year[id] { scroll-margin-block-start:1rem; }
.timeline-event[data-current-stop] { border-block-start:2px solid var(--ink); padding-block-start:.8rem; }
.timeline-event[data-current-stop] > h3 { text-decoration:none; }
.stop-source { margin:1.25rem 0 .5rem; }
.stop-source a { display:block; width:fit-content; max-width:100%; text-decoration:none; }
.stop-source img { display:block; width:auto; max-width:100%; height:auto; max-height:clamp(12rem,38vh,26rem); object-fit:contain; }
.stop-source.source-mark img { width:5rem; height:5rem; object-fit:contain; }
.stop-source span,.credential-original span { display:inline-flex; min-height:44px; align-items:center; text-decoration:underline; text-underline-offset:.2em; font-weight:600; }
.stop-navigation { margin-block-start:1rem; }
.stop-index { border-block:1px solid var(--rule); }
.stop-index summary { cursor:pointer; min-height:44px; padding-block:.65rem; font-weight:600; }
.stop-index ol { padding-inline-start:1.4rem; margin-block:.3rem 1rem; }
.stop-index li::marker { color:var(--muted); }
.stop-index a { display:inline-flex; align-items:center; min-height:44px; }
.stop-index [aria-current] { font-weight:bold; }
.stop-turns { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1rem; margin-block-start:.8rem; }
.stop-turns a { text-decoration:none; display:grid; align-content:start; gap:.3rem; padding-block:.5rem; min-height:44px; }
.stop-turns span { color:var(--muted); font-size:.9rem; }
.stop-turns strong { line-height:1.45; font-size:clamp(1rem,1.65vw,1.35rem); }
.stop-turns a:is(:hover,:focus-visible) strong { text-decoration:underline; text-underline-offset:.2em; }
.credential-original { text-decoration:none; }
.credential-edition { display:flex; flex-wrap:wrap; align-items:center; gap:.2rem 1rem; }
.credential-edition > p { width:100%; }
.credential-edition > a { display:inline-flex; align-items:center; min-height:44px; }
@media(max-width:420px) { .stop-turns { gap:.6rem; } }
/* The selected stop has a full-width rule. Keep programmatic focus on its title. */
.timeline-event[data-current-stop]:focus-visible { outline:none; }
.timeline-event[data-current-stop]:focus-visible > h3 { text-decoration:underline; text-underline-offset:.18em; text-decoration-thickness:2px; }
.stop-source:not(.source-mark) a { width:100%; }
.stop-source:not(.source-mark) img { width:100%; height:clamp(13rem,39vh,25rem); max-height:none; padding:.55rem; background:var(--artifact-ground); }
.stop-turns a[data-stop-step="next"] { text-align:end; grid-column:2; }
.stop-turns a[data-stop-step="previous"] { grid-column:1; }
.stop-turns a[data-stop-step="next"] strong::after { content:" →"; }
.stop-turns a[data-stop-step="previous"] strong::before { content:"← "; }
[dir="rtl"] .stop-turns a[data-stop-step="next"] strong::after { content:" ←"; }
[dir="rtl"] .stop-turns a[data-stop-step="previous"] strong::before { content:"→ "; }

.academic-learning { display:grid; gap:1.3rem; }
.academic-learning article { padding-block-start:1rem; border-block-start:1px solid var(--rule); }
.academic-learning nav { display:flex; flex-wrap:wrap; gap:0 1rem; }
.academic-learning nav a { display:inline-flex; align-items:center; min-height:44px; }

/* Original account marks remain independent in the RBAB work gallery. */
.artifact-link .work-image.brand-thumbnail { background: var(--white); padding: clamp(38px,6vw,82px); }
.case-accounts { padding-block: 36px; border-block-start: 1px solid var(--rule); }
.case-accounts h2 { font-size: clamp(25px,2.6vw,42px); margin-block: 0 26px; }
.case-accounts .archive-grid { margin-block: 0; }

/* Shared interaction roles: a quiet rule divides content; a control edge is visible. */
:where(input,select,textarea)::placeholder { color:var(--muted); opacity:1; }
:where(.brand,.language,.contact-link,.credential-directory,.footer-bottom a) {
  display:inline-flex; align-items:center; min-block-size:44px;
}
.language { min-inline-size:44px; justify-content:center; }
.site-header nav a { display:inline-flex; align-items:center; justify-content:center; min-block-size:44px; min-inline-size:44px; }
.identity-pairs a { min-width:44px; justify-content:center; }
:where(.reader-step,.reader-download,.reader-tabs a,.reader-mode a) { min-inline-size:44px; justify-content:center; }
:where(.approach,.showcase-stage,.work-reel,.teaser-dialog,.account-chart) { --focus:var(--focus-inverse); }
:where(.showcase-stage,.work-reel) :focus-visible { outline-offset:-4px; }
.field-required { font-size:14px; font-weight:400; color:var(--muted); white-space:nowrap; }
.archive-results { display:flex; align-items:center; justify-content:space-between; gap:12px; margin-block:18px 28px; }
.archive-results .result-count { margin:0; }
.archive-results a { display:inline-flex; align-items:center; min-block-size:44px; font-size:17px; }
.archive-grid .tile-caption h2 { font:700 25px/1.25 Tajawal,Arial,sans-serif; }
.archive-grid.list-view .tile-caption h2 { font-size:24px; }
@media (max-width:700px) {
  .archive-grid .tile-caption h2 { font-size:24px; }
  .archive-grid.list-view .tile-caption h2 { font-size:19px; }
  .credential-shelf > .credential-marks li { flex:0 0 calc((100% - 18px) / 4); }
  .credential-shelf > .credential-marks a { width:100%; }
}

.brief-field-label { display:block; margin-block-end:9px; }

/* Shared audience navigation: evidence first, then the appropriate enquiry. */
.footer-paths {
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:30px;
  padding:38px var(--space);
  border-block-start:1px solid var(--rule);
}
.footer-paths h2 { font-family:Tajawal,sans-serif; font-size:22px; line-height:1.4; margin:0 0 10px; }
.footer-paths ul { list-style:none; padding:0; margin:0; }
.footer-paths a { display:inline-flex; align-items:center; min-block-size:44px; text-underline-offset:4px; font-size:18px; line-height:1.5; }
.archive-audience,.case-reading { display:flex; flex-wrap:wrap; align-items:center; gap:8px 24px; }
.archive-audience { border-block-start:1px solid var(--rule); margin-block:30px 8px; }
.archive-audience a { display:inline-flex; align-items:center; min-block-size:48px; border-block-end:3px solid transparent; text-decoration:none; }
.archive-audience a:is([aria-current],:hover,:focus-visible) { border-color:var(--ink); }
.archive-audience [aria-current] { font-weight:700; }
.archive-purpose { max-inline-size:65ch; color:var(--muted); margin:10px 0 20px; }
.case-reading { padding-block:10px; margin-block:0 24px; border-block-end:1px solid var(--rule); }
.case-reading a { display:inline-flex; align-items:center; min-block-size:44px; font-size:18px; text-underline-offset:4px; }
#case-summary,#case-contribution { scroll-margin-block-start:20px; }
@media(max-width:700px) {
  .footer-paths { grid-template-columns:repeat(2,minmax(0,1fr)); gap:24px 18px; padding-block:26px; }
  .footer-paths section:last-child { grid-column:1/-1; }
  .footer-paths section:last-child ul { display:flex; flex-wrap:wrap; gap:0 20px; }
  .archive-audience { gap:0 20px; }
  .case-reading { gap:0 18px; }
}
@media print { .footer-paths,.case-reading { display:none; } }

/* Motion follows interaction; artwork remains fully visible at rest. */
@media(prefers-reduced-motion:no-preference) {
  .case-reading a,.footer-paths a {
    text-decoration-color:transparent;
    transition:color .18s ease,text-decoration-color .2s ease;
  }
  .case-reading a:is(:hover,:focus-visible),.footer-paths a:is(:hover,:focus-visible) {
    text-decoration:underline;
    text-decoration-color:currentColor;
    text-underline-offset:6px;
  }
  .home-intents a svg,.audience-reading a svg,.stage-open svg,.stage-action svg {
    transition:translate .28s var(--ease);
  }
  :is(.home-intents,.audience-reading) a:is(:hover,:focus-visible) svg,
  .stage-artwork:is(:hover,:focus-visible) .stage-open svg,
  .stage-action:is(:hover,:focus-visible) svg { translate:5px 0; }
  [dir="rtl"] :is(.home-intents,.audience-reading) a:is(:hover,:focus-visible) svg,
  [dir="rtl"] .stage-artwork:is(:hover,:focus-visible) .stage-open svg,
  [dir="rtl"] .stage-action:is(:hover,:focus-visible) svg { translate:-5px 0; }
  .artifact-link { overflow:hidden; }
  .artifact-link .work-image { transition:transform .65s var(--ease),filter .35s ease; }
  .artifact-link:is(:hover,:focus-visible) .work-image { transform:scale(1.025); }
  .artifact-link .open-work { transition:background .2s ease,color .2s ease,translate .3s var(--ease); }
  .showcase .work-select a::after {
    content:""; position:absolute; inset-inline:0; bottom:0; block-size:3px;
    background:var(--ink); transform:scaleX(0); transform-origin:center;
    transition:transform .35s var(--ease);
  }
  .showcase .work-select a[aria-current="true"]::after { transform:scaleX(1); }
  .showcase .work-select img { transition:transform .35s var(--ease),filter .3s ease; }
  .showcase .work-select a:is(:hover,:focus-visible) img { transform:scale(1.08); }
  .credential-marks a { transition:background .2s ease,border-color .2s ease; }
  .credential-marks a:is(:hover,:focus-visible) { background:var(--quiet-ground); }
  .home-brief-nav a { transition:border-color .25s ease,color .25s ease; }
  button,.solid,.stage-open { transition:background .18s ease,color .18s ease; }
  button:active,.solid:active { translate:0 1px; }
}

/* Keep narrow navigation labels intact and give long English names room to wrap. */
@media(max-width:700px) { .site-header nav a { flex:none; } }
@media(max-width:380px) {
  html[lang="en"] .site-header nav { flex-wrap:wrap; justify-content:flex-start; gap:0 18px; }
}

/* Portable document reading on narrow screens. */
.reader-reading-links { display:flex;align-items:center;flex-wrap:wrap;gap:.25rem 1rem;padding:.25rem 1rem; }
.reader-reading-links a,.reader-file-choice summary { display:inline-flex;min-height:44px;align-items:center; }
.reader-file-choice { padding-inline:1rem; }
.reader-file-choice summary { cursor:pointer;font-weight:bold; }
.reader-file-choice nav.reader-tabs { display:flex;flex-wrap:wrap;white-space:normal;overflow:visible; }
.reader-file-choice nav.reader-tabs a { white-space:normal;overflow-wrap:anywhere; }
.reader-reading-links [hidden],.reader-actions [hidden],.reader-caption[hidden],[data-archive-source][hidden]{display:none!important}
@media(max-width:700px){.reader-controls .reader-actions{gap:.3rem .75rem;align-items:center}.reader-controls .reader-actions a,.reader-controls .reader-actions button{font-size:1rem}.reader-paging{width:100%}}

.reader-download-options{width:100%}.reader-download-options summary{min-height:44px;display:list-item;align-content:center;cursor:pointer}.reader-download-options>div{display:flex;flex-wrap:wrap;gap:.25rem 1rem;align-items:center}.reader-download-options a{display:inline-block;min-height:44px;align-content:center}
.reader-controls .reader-actions{flex-wrap:wrap}

/* Adhq's published recordings are the first exhibit after the project header. */
.brutalist-site .case .case-opening:has(.podcast-output) { gap:18px; padding-block-start:12px; }
.brutalist-site .case-opening:has(.podcast-output) .case-abstract { max-inline-size:64ch; font-size:clamp(17px,1.5vw,23px); }
.podcast-output h2 { font-size:clamp(24px,2.6vw,40px); margin-block:0 12px; line-height:1.35; }
.podcast-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:clamp(14px,2vw,28px); }
.podcast-card a { display:block; text-decoration:none; color:inherit; }
.podcast-card h3 { margin:7px 0 0; font-size:clamp(16px,1.45vw,23px); line-height:1.5; }
.podcast-poster { display:block; position:relative; }
.podcast-poster img { display:block; width:100%; height:auto; aspect-ratio:16/9; object-fit:cover; }
.podcast-play { position:absolute; inset-inline-start:10px; inset-block-end:10px; padding:5px 10px; color:#fff; background:#101010; border:1px solid #fff; font-weight:700; }
.podcast-card a:is(:focus-visible,:hover) h3 { text-decoration:underline; }
.brutalist-site .podcast-output .adhq-trailer { margin-block-start:24px; border-block-start:1px solid currentColor; padding-block-start:16px; }
.adhq-trailer .podcast-card { max-inline-size:24rem; }
@media(max-width:650px) {
  .podcast-grid { grid-template-columns:1fr; }
  .brutalist-site .case .podcast-output { padding:12px; }
  .brutalist-site .case-opening:has(.podcast-output) .case-brief { gap:12px; }
}
