:root {
  color-scheme: dark;
  --ink: #090c0f;
  --ink-2: #10161a;
  --ink-3: #182025;
  --paper: #f1eee8;
  --paper-2: #e8e4de;
  --white: #f8f7f4;
  --muted: #b6bab8;
  --red: #f14b55;
  --red-dark: #ca3643;
  --line: rgba(255, 255, 255, 0.16);
  --serif: Georgia, "Times New Roman", serif;
  --sans: Arial, Helvetica, sans-serif;
  --mono: "Courier New", monospace;
}
* {
  box-sizing: border-box;
}
[hidden] {
  display: none !important;
}
html {
  scroll-behavior: smooth;
}
body {
  margin: 0;
  background: var(--ink);
  color: var(--white);
  font-family: var(--sans);
  -webkit-font-smoothing: antialiased;
}
img {
  max-width: 100%;
  display: block;
}
a {
  color: inherit;
  text-decoration: none;
}
button,
input {
  font: inherit;
}
button {
  cursor: pointer;
}
em {
  font-style: normal;
  color: var(--red);
}
h1,
h2,
h3,
p {
  margin-top: 0;
}
::selection {
  background: var(--red);
  color: white;
}
:focus-visible {
  outline: 2px solid var(--red);
  outline-offset: 4px;
}
.wrap {
  width: min(100% - clamp(80px, 10vw, 144px), 1320px);
  margin-inline: auto;
}
.sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}
.skip-link {
  position: fixed;
  top: 12px;
  left: 12px;
  z-index: 1000;
  background: var(--red);
  padding: 12px 18px;
  transform: translateY(-200%);
}
.skip-link:focus {
  transform: none;
}
.site-header {
  height: 78px;
  padding: 0 clamp(28px, 5vw, 72px);
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 26px;
  background: #080a0ccc;
  border-bottom: 1px solid rgba(255, 255, 255, 0.1);
  position: relative;
  z-index: 50;
}
.brand {
  display: flex;
  align-items: center;
  gap: 13px;
  min-width: max-content;
}
.brand-mark {
  width: 46px;
  height: 46px;
  object-fit: contain;
  flex: none;
}
.brand-name {
  font-size: 19px;
  letter-spacing: 0.015em;
  font-weight: 900;
  line-height: 1;
}
.brand-name small {
  display: block;
  color: var(--red);
  font-size: 7px;
  letter-spacing: 0.2em;
  margin-top: 7px;
}
.desktop-nav {
  display: flex;
  align-items: center;
  gap: 30px;
  margin-left: auto;
}
.desktop-nav a,
.header-donate,
.mobile-nav a {
  font-size: 10px;
  font-weight: 800;
  letter-spacing: 0.14em;
  text-transform: uppercase;
}
.desktop-nav a {
  transition: color 0.2s;
}
.desktop-nav a:hover,
.desktop-nav a[aria-current] {
  color: var(--red);
}
.header-actions {
  display: flex;
  align-items: center;
  gap: 22px;
}
.icon-button {
  display: grid;
  place-items: center;
  width: 40px;
  height: 40px;
  border: 0;
  background: transparent;
  color: var(--white);
}
.icon-button svg {
  width: 20px;
  height: 20px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.8;
}
.header-donate {
  background: var(--red);
  padding: 17px 21px;
  white-space: nowrap;
  transition: background 0.2s;
}
.header-donate:hover,
.button-red:hover {
  background: var(--red-dark);
}
.header-donate span {
  margin-left: 18px;
}
.menu-button,
.mobile-nav {
  display: none;
}
.menu-button {
  background: transparent;
  border: 0;
  width: 40px;
  height: 40px;
  padding: 12px;
}
.menu-button span {
  display: block;
  height: 2px;
  background: var(--white);
  margin: 6px 0;
}
.eyebrow,
.hero-label,
.image-caption,
.page-hero-index,
.footer-label,
.hero-bottom,
.project-index,
.quote-number,
.result-count,
.source-note {
  font-family: var(--mono);
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 0.16em;
  text-transform: uppercase;
}
.eyebrow {
  color: var(--red);
}
.eyebrow-group {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-bottom: 25px;
}
.red-line {
  display: inline-block;
  width: 27px;
  height: 2px;
  background: var(--red);
  flex: none;
}
.section {
  padding-block: 150px;
}
h2 {
  font-family: var(--serif);
  font-size: clamp(44px, 5vw, 76px);
  line-height: 1.02;
  letter-spacing: -0.045em;
  font-weight: 400;
}
.large-copy {
  font-family: var(--serif);
  font-size: clamp(23px, 2.2vw, 32px);
  line-height: 1.35;
  letter-spacing: -0.02em;
}
.button {
  display: inline-flex;
  align-items: center;
  justify-content: space-between;
  gap: 30px;
  min-height: 54px;
  padding: 0 22px;
  font-size: 11px;
  font-weight: 900;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  transition:
    background 0.2s,
    border-color 0.2s,
    transform 0.2s;
}
.button:hover {
  transform: translateY(-2px);
}
.button[data-proximity],
.header-donate[data-proximity],
.hero-donate[data-proximity] {
  position: relative;
  isolation: isolate;
  --edge-strength: 0;
  --pointer-x: 50%;
  --pointer-y: 50%;
}
.button[data-proximity]:before,
.header-donate[data-proximity]:before,
.hero-donate[data-proximity]:before {
  content: "";
  position: absolute;
  inset: -2px;
  z-index: -1;
  padding: 2px;
  pointer-events: none;
  background: radial-gradient(105px circle at var(--pointer-x) var(--pointer-y), rgba(255, 255, 255, 0.98), rgba(241, 75, 85, 0.85) 38%, transparent 80%);
  -webkit-mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
  -webkit-mask-composite: xor;
  mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
  mask-composite: exclude;
  opacity: var(--edge-strength);
  transition: opacity 0.16s ease;
}
.button[data-proximity]:focus-visible,
.header-donate[data-proximity]:focus-visible,
.hero-donate[data-proximity]:focus-visible {
  --edge-strength: 1;
}
.button[data-proximity] > span,
.header-donate[data-proximity] > span {
  transition: transform 0.25s ease, text-shadow 0.25s ease;
}
.button[data-proximity]:hover > span,
.button[data-proximity]:focus-visible > span,
.header-donate[data-proximity]:hover > span,
.header-donate[data-proximity]:focus-visible > span {
  transform: translate(3px, -3px);
  text-shadow: 0 0 12px rgba(255, 255, 255, 0.85);
}
.button-red {
  background: var(--red);
  color: white;
}
.button-line {
  border: 1px solid rgba(255, 255, 255, 0.5);
  color: white;
}
.button-line:hover {
  border-color: var(--red);
  background: rgba(241, 75, 85, 0.08);
}
.button-light {
  background: var(--white);
  color: #121517;
}
.button-light:hover {
  background: #f7d8d8;
}
.text-link {
  display: inline-flex;
  align-items: center;
  gap: 22px;
  padding-bottom: 10px;
  border-bottom: 1px solid var(--red);
  font-size: 11px;
  font-weight: 900;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  transition:
    gap 0.2s,
    color 0.2s;
}
.text-link:hover {
  gap: 30px;
  color: var(--red);
}
.hero {
  position: relative;
  min-height: 860px;
  background: linear-gradient(90deg, #0b0e11, #101316);
  overflow: hidden;
  isolation: isolate;
}
.hero-background {
  position: absolute;
  inset: 0;
  background:
    linear-gradient(
      90deg,
      #090c0f 1%,
      rgba(9, 12, 15, 0.95) 23%,
      rgba(9, 12, 15, 0.47) 57%,
      rgba(9, 12, 15, 0.15) 100%
    ),
    url("/media/capitol-night.png") center 50% / cover no-repeat;
  opacity: 0.72;
  z-index: -3;
}
.hero-grid {
  position: absolute;
  inset: 0;
  background-image:
    linear-gradient(rgba(255, 255, 255, 0.035) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255, 255, 255, 0.035) 1px, transparent 1px);
  background-size: 90px 90px;
  mask-image: linear-gradient(to right, black, transparent 90%);
  z-index: -2;
}
.hero:after {
  content: "";
  position: absolute;
  inset: 0;
  background:
    linear-gradient(0deg, #090c0f 0%, transparent 29%),
    linear-gradient(90deg, #090c0f 0%, transparent 55%);
  z-index: -1;
  pointer-events: none;
}
.hero-body {
  min-height: 790px;
  position: relative;
  display: flex;
  align-items: center;
}
.hero-copy {
  position: relative;
  z-index: 5;
  width: min(820px, 64%);
  padding: 54px 0 190px;
  animation: enter-copy 0.35s both;
}
.hero-label {
  color: #d9ddda;
  display: flex;
  align-items: center;
  gap: 13px;
  margin-bottom: 39px;
  font-size: 10px;
  white-space: nowrap;
}
.signal-dot {
  height: 7px;
  width: 7px;
  background: var(--red);
  border-radius: 50%;
  box-shadow: 0 0 0 4px rgba(241, 75, 85, 0.14);
}
.hero-label-rule {
  width: 38px;
  height: 1px;
  background: var(--red);
  margin-inline: 3px;
}
.hero h1 {
  font-family: var(--serif);
  font-weight: 400;
  font-size: clamp(58px, 5.8vw, 96px);
  line-height: 1.01;
  letter-spacing: -0.06em;
  margin: 0 0 28px;
  text-wrap: balance;
}
.hero h1 em {
  display: inline-block;
}
.hero-deck {
  font-size: 19px;
  line-height: 1.55;
  color: #d7d9d8;
  max-width: 490px;
  margin-bottom: 36px;
}
.hero-actions,
.bio-actions {
  display: flex;
  gap: 13px;
  flex-wrap: wrap;
}
.hero-donate {
  display: flex;
  align-items: center;
  gap: 15px;
  width: min(100%, 410px);
  min-height: 76px;
  margin-top: 18px;
  padding: 12px 18px;
  border: 1px solid rgba(241, 75, 85, 0.67);
  background: linear-gradient(100deg, rgba(109, 29, 39, 0.89), rgba(24, 24, 28, 0.92));
  box-shadow: inset 3px 0 0 var(--red), 0 15px 37px rgba(0, 0, 0, 0.28), 0 0 25px rgba(241, 75, 85, 0.15);
  backdrop-filter: blur(14px);
  -webkit-backdrop-filter: blur(14px);
  transition: transform .25s ease, box-shadow .25s ease, border-color .25s ease;
}
.hero-donate:hover {
  transform: translateY(-3px);
  border-color: #ff9298;
  box-shadow: inset 3px 0 0 #ff727c, 0 20px 44px rgba(0, 0, 0, 0.3), 0 0 34px rgba(241, 75, 85, 0.32);
}
.hero-donate-icon {
  flex: none;
  display: grid;
  place-items: center;
  width: 37px;
  height: 37px;
  border: 1px solid rgba(255, 188, 192, 0.75);
  border-radius: 50%;
  color: #ffd6d8;
  font-size: 18px;
  box-shadow: 0 0 17px rgba(241, 75, 85, 0.37);
}
.hero-donate-copy { display: flex; flex-direction: column; gap: 5px; }
.hero-donate-copy strong { color: white; font-size: 12px; font-weight: 900; letter-spacing: .13em; }
.hero-donate-copy small { color: #e9bfc0; font-size: 11px; letter-spacing: .02em; text-transform: none; }
.hero-donate-arrow { margin-left: auto; color: #ff9ca3; font-size: 19px; }
.hero-portrait {
  position: absolute;
  z-index: 0;
  height: min(930px, 112%);
  width: auto;
  bottom: -66px;
  right: -4%;
  object-fit: contain;
  object-position: bottom;
  filter: brightness(0.92) contrast(1.07);
  --portrait-opacity: 1;
  pointer-events: none;
  animation: enter-portrait 1.85s 0.16s cubic-bezier(0.19, 1, 0.22, 1) both;
}
.hero-bottom {
  position: absolute;
  bottom: 30px;
  left: 0;
  right: 0;
  display: flex;
  justify-content: space-between;
  color: #aeb4b5;
}
.scroll-rule {
  height: 1px;
  width: 75px;
  display: inline-block;
  vertical-align: middle;
  background: var(--red);
  margin-left: 15px;
}
.hero-evidence {
  position: absolute;
  right: clamp(40px, 5vw, 72px);
  bottom: 56px;
  z-index: 6;
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 8px;
  width: min(900px, calc(100% - 104px));
  margin: 0;
  animation: evidence-in 0.5s 0.12s both;
}
.hero-evidence > div {
  min-height: 87px;
  padding: 13px 14px;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  gap: 10px;
  position: relative;
  border: 1px solid rgba(255, 255, 255, 0.15);
  background: linear-gradient(145deg, rgba(30, 39, 45, 0.7), rgba(9, 13, 16, 0.54));
  box-shadow: inset 0 1px rgba(255, 255, 255, 0.08), 0 18px 36px rgba(0, 0, 0, 0.18);
  backdrop-filter: blur(18px);
  -webkit-backdrop-filter: blur(18px);
}
.hero-evidence > div:before {
  content: "";
  position: absolute;
  top: -1px;
  left: 14px;
  width: 28px;
  height: 2px;
  background: var(--red);
  box-shadow: 0 0 14px rgba(241, 75, 85, 0.55);
}
.hero-evidence strong {
  font-family: var(--serif);
  font-weight: 400;
  line-height: 1;
  font-size: clamp(27px, 2.4vw, 36px);
  letter-spacing: -0.05em;
}
.hero-evidence strong span {
  font-family: var(--sans);
  font-size: 0.55em;
}
.hero-evidence > div > span {
  font: 700 8px var(--mono);
  letter-spacing: 0.1em;
  color: #d7dcdd;
}
.hero-signal {
  position: absolute;
  z-index: 7;
  left: 0;
  right: 0;
  bottom: 0;
  height: 6px;
  background: linear-gradient(90deg, #6f1824, #e23b49 35%, #ff7880 53%, #a72533);
  box-shadow: 0 -4px 23px rgba(241, 75, 85, 0.48), 0 -1px 5px rgba(255, 255, 255, 0.26);
  transform-origin: left;
  animation: signal-draw 1.8s 0.12s cubic-bezier(0.18, 0.7, 0.18, 1) both;
  overflow: hidden;
}
.hero-signal:after {
  content: "";
  position: absolute;
  inset: 0;
  width: 18%;
  background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.18) 20%, #fff 50%, rgba(255, 255, 255, 0.32) 80%, transparent);
  filter: blur(1.5px);
  animation: signal-gleam 2.1s 0.9s both;
}
.intro {
  display: grid;
  grid-template-columns: 1fr 1fr 0.86fr;
  gap: 55px;
  align-items: center;
  background: var(--paper);
  color: #1a2022;
}
.intro h2 {
  margin: 0;
}
.intro-copy > p:not(.large-copy) {
  font-size: 15px;
  line-height: 1.8;
  color: #475055;
  max-width: 530px;
}
.intro-copy .text-link {
  margin-top: 19px;
}
.intro-art {
  align-self: stretch;
  min-height: 360px;
  position: relative;
  overflow: hidden;
  background: #242626;
}
.intro-art img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  filter: grayscale(1) contrast(1.08);
}
.image-caption {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  background: #090c0fdf;
  color: white;
  padding: 14px 16px;
}
.feature-band {
  background: #11191e;
  position: relative;
  overflow: hidden;
}
.feature-band:before {
  content: "";
  position: absolute;
  inset: 0;
  background: url("/media/network.png") center/cover;
  opacity: 0.18;
}
.feature-inner {
  position: relative;
  min-height: 220px;
  display: grid;
  grid-template-columns: 210px 1fr 90px;
  align-items: center;
  gap: 45px;
}
.feature-inner p {
  font-family: var(--serif);
  font-size: clamp(27px, 3vw, 43px);
  line-height: 1.25;
  margin: 0;
}
.feature-seal {
  width: 78px;
  height: 78px;
  border: 1px solid var(--red);
  border-radius: 50%;
  display: grid;
  place-content: center;
  text-align: center;
  color: var(--red);
}
.feature-seal img {
  width: 43px;
  height: 43px;
  object-fit: contain;
  margin-inline: auto;
}
.feature-seal span {
  display: block;
  font: 700 8px var(--mono);
  letter-spacing: 0.2em;
}
.work-section {
  background: #0a0e11;
}
.section-heading-row {
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 50px;
  margin-bottom: 58px;
}
.section-heading-row h2 {
  margin: 0;
}
.section-side {
  max-width: 300px;
  padding-bottom: 4px;
}
.section-side p {
  font-size: 15px;
  line-height: 1.6;
  color: #aeb5b5;
  margin-bottom: 22px;
}
.project-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 20px;
}
.project-card {
  background: #151c20;
  border: 1px solid rgba(255, 255, 255, 0.13);
  min-width: 0;
  transition:
    transform 0.25s,
    border-color 0.25s;
}
.project-card:hover {
  transform: translateY(-6px);
  border-color: var(--red);
}
.project-card > a {
  display: block;
  height: 100%;
}
.project-image {
  height: 190px;
  position: relative;
  overflow: hidden;
  background: #222;
}
.project-image:after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(0deg, rgba(0, 0, 0, 0.8), transparent 55%);
}
.project-image img {
  height: 100%;
  width: 100%;
  object-fit: cover;
  filter: saturate(0.72);
  transition:
    transform 0.45s,
    filter 0.45s;
}
.project-card:hover img {
  transform: scale(1.045);
  filter: saturate(0.95);
}
.project-index {
  position: absolute;
  bottom: 15px;
  left: 18px;
  z-index: 1;
  color: white;
}
.project-content {
  padding: 24px 20px 22px;
  display: flex;
  flex-direction: column;
  min-height: 238px;
}
.project-content h3 {
  font-family: var(--serif);
  font-size: 27px;
  font-weight: 400;
  letter-spacing: -0.035em;
  line-height: 1.08;
  margin: 12px 0;
}
.project-content p {
  font-size: 13px;
  color: #b6bfc0;
  line-height: 1.55;
  margin-bottom: 22px;
}
.card-action {
  font: 700 10px var(--mono);
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--white);
  margin-top: auto;
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding-top: 13px;
  border-top: 1px solid rgba(255, 255, 255, 0.15);
}
.card-action span {
  color: var(--red);
  font-size: 18px;
}
.media-section {
  background: var(--paper);
  color: #11191e;
}
.media-layout {
  display: grid;
  grid-template-columns: 0.82fr 1.18fr;
  gap: 8%;
  align-items: center;
}
.media-main h2 {
  margin-bottom: 24px;
}
.media-main p {
  max-width: 420px;
  line-height: 1.7;
  color: #4e5859;
  margin-bottom: 32px;
}
.media-visual {
  height: 420px;
  position: relative;
  overflow: hidden;
  background: #111;
}
.media-visual > img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.5s;
}
.media-visual:hover > img {
  transform: scale(1.04);
}
.media-visual:after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(0deg, rgba(0, 0, 0, 0.88), transparent 55%);
}
.play-button {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 70px;
  height: 70px;
  border: 1px solid white;
  border-radius: 50%;
  display: grid;
  place-items: center;
  padding-left: 4px;
  background: #1119;
  color: white;
  z-index: 1;
}
.media-visual-label {
  position: absolute;
  bottom: 29px;
  left: 28px;
  right: 28px;
  z-index: 1;
  font-weight: 900;
  font-size: 19px;
  letter-spacing: 0.05em;
}
.media-visual-label small {
  display: block;
  color: var(--red);
  font: 700 10px var(--mono);
  letter-spacing: 0.15em;
  margin-top: 8px;
}
.endorsement-section {
  background: #141b1e;
  padding: 135px 0;
}
.endorsement-layout {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 9%;
  align-items: center;
}
.endorsement-layout h2 {
  font-size: clamp(42px, 4.4vw, 65px);
  margin-bottom: 31px;
}
.endorsement-layout blockquote {
  border-left: 2px solid var(--red);
  padding-left: 35px;
  margin: 0;
}
.endorsement-layout blockquote p {
  font: italic 35px/1.35 var(--serif);
  letter-spacing: -0.025em;
  margin-bottom: 24px;
}
.endorsement-layout footer,
.quote-grid footer {
  display: flex;
  flex-direction: column;
  gap: 7px;
}
.endorsement-layout footer span,
.quote-grid footer strong {
  font: 800 11px var(--mono);
  letter-spacing: 0.12em;
  color: var(--red);
}
.endorsement-layout footer small,
.quote-grid footer small {
  font-size: 12px;
  color: #aeb5b5;
}
.briefing {
  background: #a92734;
  position: relative;
  overflow: hidden;
}
.briefing:before {
  content: "";
  position: absolute;
  inset: 0;
  background: url("/media/capitol-night.png") center 55% / cover;
  opacity: 0.12;
  mix-blend-mode: multiply;
}
.briefing-inner {
  position: relative;
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 45px;
  min-height: 300px;
  padding-block: 60px;
}
.briefing .eyebrow {
  color: #fff;
}
.briefing .red-line {
  background: #fff;
}
.briefing h2 {
  font-size: clamp(45px, 4.5vw, 68px);
  margin: 0 0 8px;
}
.briefing p {
  max-width: 590px;
  line-height: 1.5;
  margin: 0;
  color: #fff6;
}
.briefing .button {
  flex: none;
  min-width: 235px;
}
.site-footer {
  background: #080b0d;
  border-top: 1px solid rgba(255, 255, 255, 0.12);
}
.footer-main {
  display: grid;
  grid-template-columns: 2.5fr 1fr 1fr;
  gap: 70px;
  padding-block: 105px;
}
.footer-main > div:not(.footer-brand) {
  display: flex;
  flex-direction: column;
  gap: 15px;
}
.footer-main a:not(.brand) {
  font-size: 13px;
  color: #c4c9c8;
}
.footer-main a:hover {
  color: var(--red);
}
.footer-label {
  color: var(--red);
  margin-bottom: 15px;
}
.footer-brand p {
  font-family: var(--serif);
  line-height: 1.5;
  color: #afb5b5;
  margin-top: 24px;
  font-size: 19px;
}
.footer-bottom {
  min-height: 75px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  border-top: 1px solid var(--line);
  font: 700 10px var(--mono);
  letter-spacing: 0.08em;
  color: #8c9495;
}
.footer-bottom a {
  color: var(--white);
}
.page-hero {
  min-height: 450px;
  background: #10171b;
  position: relative;
  overflow: hidden;
  display: flex;
  align-items: center;
  isolation: isolate;
}
.page-hero:before {
  content: "";
  position: absolute;
  inset: 0;
  background:
    radial-gradient(
      circle at 85% 40%,
      rgba(241, 75, 85, 0.12),
      transparent 25%
    ),
    linear-gradient(90deg, #0d1215, #10181c);
  z-index: -3;
}
.page-hero-art {
  position: absolute;
  right: 0;
  top: 0;
  height: 100%;
  width: 50%;
  object-fit: cover;
  z-index: -2;
  opacity: 0.34;
  filter: grayscale(0.7);
}
.page-hero:after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg, #0d1215 24%, transparent 100%);
  z-index: -1;
}
.page-hero-content {
  padding-block: 90px 105px;
}
.page-hero h1 {
  font: 400 clamp(60px, 7vw, 105px)/0.98 var(--serif);
  letter-spacing: -0.055em;
  max-width: 900px;
  margin: 0 0 24px;
}
.page-hero p {
  font-size: 18px;
  line-height: 1.5;
  max-width: 540px;
  color: #cbd0d0;
  margin: 0;
}
.page-hero-index {
  position: absolute;
  right: 52px;
  bottom: 28px;
  color: #a7b0b0;
}
.work-directory {
  background: var(--paper);
  color: #131a1d;
}
.directory-top {
  display: flex;
  justify-content: space-between;
  align-items: end;
  gap: 60px;
  margin-bottom: 44px;
}
.directory-top h2 {
  margin: 15px 0 0;
}
.directory-top > p {
  max-width: 350px;
  line-height: 1.6;
  color: #4b5558;
  margin-bottom: 7px;
}
.directory-controls {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  border-block: 1px solid #bdc2c0;
  padding-block: 18px;
}
.filter-list {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}
.filter-chip {
  background: transparent;
  border: 1px solid #bec3c0;
  color: #263134;
  padding: 12px 15px;
  font: 800 10px var(--mono);
  letter-spacing: 0.07em;
}
.filter-chip:hover,
.filter-chip.active {
  background: #12191c;
  color: white;
  border-color: #12191c;
}
.directory-search {
  display: flex;
  align-items: center;
  border: 1px solid #bdc2c0;
  background: #f9f7f3;
  padding: 0 13px;
  min-width: 235px;
  height: 43px;
}
.directory-search input {
  background: transparent;
  border: 0;
  outline: 0;
  min-width: 0;
  width: 100%;
  color: #111;
}
.directory-search span:not(.sr-only) {
  font-size: 25px;
}
.result-count {
  color: #7a8586;
  margin: 25px 0 18px;
}
.directory-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}
.directory-grid .project-card {
  display: block;
}
.directory-grid .project-card a {
  display: grid;
  grid-template-columns: 45% 1fr;
}
.directory-grid .project-image {
  height: 100%;
  min-height: 270px;
}
.directory-grid .project-content {
  min-height: 270px;
}
.directory-grid .project-content h3 {
  font-size: 34px;
}
.empty-results {
  padding: 50px 0;
  font-family: var(--serif);
  font-size: 24px;
}
.bio-section {
  display: grid;
  grid-template-columns: 0.85fr 1.15fr;
  gap: 9%;
  align-items: start;
  background: var(--paper);
  color: #1a2224;
}
.bio-side {
  position: sticky;
  top: 24px;
  background: #151c21;
  overflow: hidden;
}
.bio-photo {
  position: relative;
  margin: 0;
  overflow: hidden;
}
.bio-side img {
  width: 100%;
  height: auto;
  aspect-ratio: 4 / 5;
  object-fit: cover;
  object-position: center 28%;
}
.bio-photo figcaption {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  padding: 17px 20px;
  border-top: 1px solid rgba(241, 75, 85, 0.75);
  background: rgba(8, 12, 15, 0.82);
  color: white;
  font: 700 9px var(--mono);
  letter-spacing: 0.14em;
}
.bio-facts {
  display: flex;
  flex-direction: column;
  gap: 12px;
  color: #ddd;
  padding: 25px;
  font: 700 10px/1.4 var(--mono);
  letter-spacing: 0.1em;
}
.bio-facts span {
  border-left: 1px solid var(--red);
  padding-left: 12px;
}
.bio-story h2 {
  margin-bottom: 34px;
}
.bio-story > p:not(.large-copy) {
  line-height: 1.8;
  color: #4d5758;
  font-size: 16px;
}
.bio-story .large-copy {
  margin-bottom: 28px;
}
.bio-chapters {
  margin-top: 52px;
  border-top: 1px solid #aeb7b4;
}
.bio-chapter {
  position: relative;
  border-bottom: 1px solid #c9ceca;
  transition: background-color 240ms ease, box-shadow 240ms ease;
}
.bio-chapter[open] {
  background: #f5f2eb;
  box-shadow: inset 3px 0 0 var(--red);
}
.bio-chapter-toggle {
  display: grid;
  grid-template-columns: 128px minmax(0, 1fr) 36px;
  align-items: center;
  gap: 20px;
  min-height: 96px;
  padding: 20px 24px;
  list-style: none;
  cursor: pointer;
}
.bio-chapter-toggle::-webkit-details-marker { display: none; }
.bio-chapter-toggle:hover { background: rgba(155, 28, 45, 0.045); }
.bio-chapter-toggle:focus-visible { outline: 2px solid var(--red); outline-offset: -4px; }
.bio-chapter-index {
  color: #ad2635;
  font: 800 10px var(--mono);
  letter-spacing: 0.14em;
}
.bio-chapter h3 {
  margin: 0;
  color: #182023;
  font: 400 clamp(24px, 2.5vw, 32px)/1.12 var(--serif);
  letter-spacing: -0.035em;
}
.bio-chapter-icon {
  position: relative;
  width: 34px;
  height: 34px;
  border: 1px solid #adb8b5;
  border-radius: 50%;
  transition: border-color 240ms ease, background-color 240ms ease;
}
.bio-chapter-icon::before,
.bio-chapter-icon::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  width: 11px;
  height: 1px;
  background: #842333;
  transform: translate(-50%, -50%);
  transition: transform 240ms ease;
}
.bio-chapter-icon::after { transform: translate(-50%, -50%) rotate(90deg); }
.bio-chapter[open] .bio-chapter-icon { border-color: var(--red); background: var(--red); }
.bio-chapter[open] .bio-chapter-icon::before,
.bio-chapter[open] .bio-chapter-icon::after { background: white; }
.bio-chapter[open] .bio-chapter-icon::after { transform: translate(-50%, -50%) rotate(0); }
.bio-chapter-content { padding: 0 76px 26px 172px; }
.bio-chapter p {
  max-width: 66ch;
  margin-bottom: 18px;
  color: #465256;
  font-size: 16px;
  line-height: 1.8;
}
@media (max-width: 700px) {
  .page-biography .bio-story { order: 1; }
  .page-biography .bio-side { order: 2; margin-top: 12px; }
  .bio-chapters { margin-top: 38px; }
  .bio-chapter-toggle {
    grid-template-columns: minmax(0, 1fr) 34px;
    gap: 9px 14px;
    min-height: 88px;
    padding: 18px 20px;
  }
  .bio-chapter-index { grid-column: 1; }
  .bio-chapter h3 { grid-column: 1; font-size: clamp(24px, 7vw, 31px); }
  .bio-chapter-icon { grid-column: 2; grid-row: 1 / 3; }
  .bio-chapter-content { padding: 0 22px 18px; }
}
.bio-actions {
  margin-top: 32px;
}
.bio-actions .button-line {
  border-color: #788082;
  color: #161d20;
}
.bio-panels {
  background: #10171a;
  padding-block: 75px;
}
.bio-panel-grid,
.media-topic-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 30px;
}
.bio-panel-grid > div,
.media-topic-grid > div {
  border-top: 1px solid var(--red);
  padding-top: 25px;
}
.bio-panel-grid h3,
.media-topic-grid h3 {
  font: 400 31px var(--serif);
  margin: 20px 0 13px;
}
.bio-panel-grid p,
.media-topic-grid p {
  color: #b6c0c0;
  font-size: 14px;
  line-height: 1.6;
  max-width: 320px;
}
.media-page-main {
  display: grid;
  grid-template-columns: 0.8fr 1.2fr;
  gap: 9%;
  align-items: center;
  background: var(--paper);
  color: #182022;
}
.media-page-main p,
.contact-layout p {
  font-size: 17px;
  line-height: 1.7;
  color: #4d585a;
  max-width: 470px;
  margin-bottom: 32px;
}
.media-page-art {
  height: 430px;
  position: relative;
  overflow: hidden;
  background: #182022;
}
.media-page-art img {
  height: 100%;
  width: 100%;
  object-fit: cover;
}
.media-details {
  background: #12191d;
}
.media-topic-grid {
  margin-top: 45px;
}
.media-topic-grid > div > span {
  font: 700 12px var(--mono);
  color: var(--red);
}
.quotes-section {
  background: var(--paper);
  color: #12191c;
}
.quote-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 15px;
  margin-top: 40px;
}
.quote-grid blockquote {
  background: #151d21;
  color: white;
  margin: 0;
  padding: 29px;
  min-height: 330px;
  display: flex;
  flex-direction: column;
  border-top: 3px solid var(--red);
}
.quote-number {
  color: var(--red);
}
.quote-grid p {
  font: italic 26px/1.3 var(--serif);
  margin: 25px 0 30px;
}
.quote-grid footer {
  margin-top: auto;
}
.source-note {
  color: #687375;
  margin-top: 27px;
  letter-spacing: 0.03em;
  text-transform: none;
}
.contact-layout {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 10%;
  align-items: start;
  background: var(--paper);
  color: #12191c;
}
.contact-options > div {
  padding: 23px 0;
  border-top: 1px solid #bcc3c2;
}
.contact-options h3 {
  font: 400 29px var(--serif);
  margin: 12px 0 10px;
}
.contact-options p {
  font-size: 14px;
  margin: 0;
}
.contact-options .text-link {
  margin-top: 20px;
}
.briefing-signup {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: clamp(40px, 8vw, 120px);
  align-items: start;
  background: var(--paper);
  color: #12191c;
}
.briefing-signup > div > p { max-width: 450px; line-height: 1.7; }
.briefing-signup-form {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 22px;
  padding: clamp(28px, 4vw, 50px);
  background: #11191d;
  color: var(--white);
  border-top: 3px solid var(--red);
  box-shadow: 0 25px 55px #10171935;
}
.briefing-signup-form label { display: grid; gap: 10px; font: 700 11px var(--mono); letter-spacing: .09em; text-transform: uppercase; }
.briefing-signup-form label span { color: var(--red); }
.briefing-signup-form input { width: 100%; min-width: 0; padding: 13px 14px; background: #202a2e; color: white; border: 1px solid #526064; border-radius: 0; font: 15px var(--sans); }
.briefing-signup-form .briefing-email { grid-column: 1 / -1; }
.briefing-honeypot { position: absolute; left: -9999px; }
.briefing-consent, .briefing-message { grid-column: 1 / -1; margin: 0; color: #b9c3c3; font-size: 13px; line-height: 1.5; }
.briefing-signup-form .button { grid-column: 1 / -1; justify-self: start; }
.briefing-signup-form .button:disabled { opacity: .55; cursor: wait; }
.briefing-message { min-height: 1.5em; color: #f1bcc1; }
@media (max-width: 900px) { .briefing-signup { grid-template-columns: 1fr; } }
@media (max-width: 540px) { .briefing-signup-form { grid-template-columns: 1fr; } .briefing-signup-form .briefing-email { grid-column: auto; } }
.legal-content { max-width: 900px; background: var(--paper); color: #172024; line-height: 1.75; }
.legal-content h2 { margin: 2em 0 .5em; font-size: clamp(28px, 3vw, 40px); line-height: 1.15; }
.legal-content h3 { font: 400 26px var(--serif); margin: 1.2em 0 .35em; }
.legal-content p, .legal-content ul, .legal-content ol { margin-bottom: 1.1em; }
.legal-content a { color: #ae2434; text-decoration: underline; }
.legal-content li { padding-left: .15em; margin-bottom: .4em; }
.page-contact .contact-hero {
  min-height: 580px;
  background: #0a1115;
}
.contact-hero-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.12fr) minmax(320px, .88fr);
  align-items: center;
  gap: clamp(35px, 6vw, 100px);
  padding-block: 85px 105px;
}
.contact-hero-copy { min-width: 0; }
.page-contact .contact-hero h1 { font-size: clamp(58px, 6.4vw, 98px); }
.contact-hero-cta {
  position: relative;
  isolation: isolate;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  width: 100%;
  min-height: 310px;
  overflow: hidden;
  padding: clamp(27px, 3vw, 42px);
  text-align: left;
  color: var(--white);
  background: linear-gradient(145deg, #252a2d, #141b1f 58%, #3b1a22);
  border: 1px solid #a9444d;
  box-shadow: 0 22px 65px #0008, inset 0 1px #ffffff25, 0 0 38px #ee43531c;
  transition: transform .35s ease, box-shadow .35s ease, border-color .35s ease;
  animation: contact-cta-enter .8s cubic-bezier(.2,.8,.2,1) both;
}
.contact-hero-cta::before {
  content: "";
  position: absolute;
  inset: -1px;
  pointer-events: none;
  background: radial-gradient(220px circle at var(--pointer-x, 80%) var(--pointer-y, 25%), #f14b5538, transparent 85%);
  opacity: max(.25, var(--edge-strength, 0));
  transition: opacity .2s ease;
  z-index: -1;
}
.contact-hero-cta::after {
  content: "";
  position: absolute;
  inset: 0 auto 0 -150%;
  width: 75%;
  pointer-events: none;
  background: linear-gradient(90deg, transparent, #ffffff12, transparent);
  transform: skewX(-24deg);
  transition: left .7s ease;
}
.contact-hero-cta:hover, .contact-hero-cta:focus-visible {
  transform: translateY(-5px);
  border-color: #f57880;
  box-shadow: 0 30px 80px #000a, inset 0 1px #ffffff40, 0 0 48px #ee435342;
}
.contact-hero-cta:hover::after, .contact-hero-cta:focus-visible::after { left: 150%; }
.contact-cta-top, .contact-cta-bottom {
  display: flex;
  align-items: center;
  gap: 11px;
  font: 700 10px var(--mono);
  letter-spacing: .13em;
  line-height: 1.5;
}
.contact-cta-top { color: #f3a6ad; }
.contact-cta-top i {
  width: 8px;
  height: 8px;
  flex: none;
  border-radius: 50%;
  background: var(--red);
  box-shadow: 0 0 0 4px #f14b5525, 0 0 16px #f14b55;
}
.contact-cta-title {
  display: block;
  margin-block: 35px;
  font: 400 clamp(44px, 4.5vw, 72px)/.98 var(--serif);
  letter-spacing: -.05em;
}
.contact-cta-bottom { justify-content: space-between; color: #b9c0c0; }
.contact-cta-arrow {
  display: grid;
  place-items: center;
  flex: none;
  width: 46px;
  height: 46px;
  border: 1px solid #ed606c;
  border-radius: 50%;
  background: #e43d4d;
  color: white;
  font: 25px var(--sans);
  transition: transform .35s ease, background .35s ease;
}
.contact-hero-cta:hover .contact-cta-arrow { transform: rotate(45deg); background: #f35d69; }
@keyframes contact-cta-enter {
  from { opacity: 0; transform: translateY(24px); }
  to { opacity: 1; transform: translateY(0); }
}
@media (max-width: 900px) {
  .contact-hero-grid { grid-template-columns: 1fr; gap: 42px; }
  .contact-hero-cta { max-width: 620px; min-height: 270px; }
}
@media (max-width: 620px) {
  .contact-hero-grid { padding-block: 70px 100px; gap: 32px; }
  .page-contact .contact-hero h1 { font-size: clamp(52px, 12vw, 70px); }
  .contact-hero-cta { min-height: 255px; padding: 27px; }
  .contact-cta-title { font-size: clamp(47px, 10vw, 62px); margin-block: 26px; }
  .contact-cta-bottom { font-size: 9px; }
}
@media (prefers-reduced-motion: reduce) {
  .contact-hero-cta { animation: none; transition: none; }
  .contact-hero-cta::after, .contact-cta-arrow { transition: none; }
}
.request-dialog {
  width: min(760px, calc(100vw - 24px));
  max-height: min(90vh, 900px);
  padding: 0;
  border: 1px solid #5e3d3d;
  background: #101719;
  color: #f3f0e9;
  box-shadow: 0 30px 100px #000c, 0 0 45px #b7212420;
}
.request-dialog::backdrop { background: #030608e8; backdrop-filter: blur(9px); }
.request-dialog [hidden] { display: none !important; }
.request-panel { max-height: min(90vh, 900px); overflow-y: auto; padding: clamp(22px, 4vw, 42px); }
.request-head { display: flex; justify-content: space-between; gap: 20px; align-items: start; border-bottom: 1px solid #374044; padding-bottom: 20px; }
.request-head h2 { margin: 15px 0 0; font: 400 clamp(36px, 6vw, 56px)/1 var(--serif); }
.request-head h2 em { color: var(--red); }
.request-close { flex: none; }
.request-intro { color: #b6c0c1; margin: 20px 0 28px; }
.request-progress { display: block; color: var(--red); letter-spacing: .16em; font-size: 11px; margin-bottom: 22px; }
.request-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; }
.request-grid label { display: grid; gap: 8px; color: #d4dbda; font-size: 12px; letter-spacing: .04em; }
.request-grid label span { color: var(--red); }
.request-grid .request-wide { grid-column: 1 / -1; }
.request-grid input, .request-grid select, .request-grid textarea { width: 100%; box-sizing: border-box; border: 1px solid #4b575a; border-radius: 0; background: #1a2427; color: white; font: 15px/1.4 var(--sans); padding: 12px 13px; }
.request-grid textarea { resize: vertical; }
.request-grid input:focus, .request-grid select:focus, .request-grid textarea:focus { outline: 2px solid var(--red); outline-offset: 1px; }
.request-next { margin-top: 26px; }
.request-security { margin-top: 23px; min-height: 65px; }
.request-actions { display: flex; justify-content: space-between; gap: 15px; align-items: center; margin-top: 20px; }
.request-back { border: 0; background: none; color: #d4dbda; cursor: pointer; letter-spacing: .1em; }
.request-status { min-height: 1.4em; color: #f0bbb9; }
.request-honeypot { position: absolute; left: -9999px; }
.request-success { padding: 35px 0; }
.request-success h3 { font: 400 42px var(--serif); margin: 15px 0; }
.request-fallback a { color: #f4c5c3; text-decoration: underline; }
@media (max-width: 620px) { .request-grid { grid-template-columns: 1fr; } .request-grid .request-wide { grid-column: auto; } .request-actions { align-items: stretch; } }
.search-dialog {
  border: 1px solid #3b4648;
  background: #11191d;
  color: white;
  max-width: min(680px, calc(100vw - 30px));
  width: 100%;
  padding: 0;
  box-shadow: 0 25px 90px #000b;
}
.search-dialog::backdrop {
  background: #030608dc;
  backdrop-filter: blur(7px);
}
.search-panel {
  padding: 29px;
}
.search-top {
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.search-field {
  margin: 28px 0 12px;
  display: flex;
  align-items: center;
  gap: 10px;
  border-bottom: 1px solid var(--red);
  padding: 10px 0;
}
.search-field input {
  background: transparent;
  color: white;
  border: 0;
  outline: 0;
  font: 400 27px var(--serif);
  width: 100%;
}
.search-field > span:not(.sr-only) {
  font-size: 26px;
}
.search-results a {
  display: flex;
  justify-content: space-between;
  gap: 15px;
  border-bottom: 1px solid var(--line);
  padding: 16px 0;
  font-family: var(--serif);
  font-size: 22px;
}
.search-results a small {
  font: 700 10px var(--mono);
  color: var(--red);
  text-transform: uppercase;
  align-self: center;
}
.search-results a:hover {
  color: var(--red);
}
.search-hint {
  font-size: 12px;
  color: #9aa6a7;
  margin: 25px 0 0;
}
@keyframes enter-copy {
  from {
    opacity: 0;
    transform: translateY(12px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
@keyframes enter-portrait {
  from {
    opacity: 0;
    clip-path: inset(0 0 0 28%);
    transform: translate3d(46px, 14px, 0) scale(1.06);
  }
  to {
    opacity: var(--portrait-opacity);
    clip-path: inset(0);
    transform: translate3d(0, 0, 0) scale(1);
  }
}
@keyframes evidence-in {
  from { opacity: 0; transform: translateY(14px); }
  to { opacity: 1; transform: translateY(0); }
}
@keyframes signal-draw {
  from { transform: scaleX(0); }
  to { transform: scaleX(1); }
}
@keyframes signal-gleam {
  from { transform: translateX(-120%); }
  to { transform: translateX(570%); }
}
@keyframes mark-in {
  from {
    opacity: 0;
    transform: scale(0.86);
  }
  to {
    opacity: 1;
    transform: scale(1);
  }
}
.brand-mark {
  animation: mark-in 0.35s both;
}
@media (max-width: 1180px) {
  .desktop-nav {
    gap: 16px;
  }
  .hero h1 {
    font-size: clamp(54px, 6.4vw, 76px);
  }
  .hero-portrait {
    right: -13%;
    --portrait-opacity: 0.9;
  }
  .intro {
    grid-template-columns: 1fr 1fr;
  }
  .intro-art {
    grid-column: 2;
  }
  .section-heading {
    grid-row: 1 / span 2;
  }
  .project-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .project-image {
    height: 230px;
  }
  .feature-inner {
    grid-template-columns: 160px 1fr 70px;
  }
}
@media (max-width: 900px) {
  .wrap {
    width: min(100% - 72px, 1320px);
  }
  .section {
    padding-block: 115px;
  }
  .site-header {
    padding-inline: 28px;
  }
  .desktop-nav {
    display: none;
  }
  .menu-button {
    display: block;
  }
  .mobile-nav:not([hidden]) {
    display: flex;
    position: absolute;
    top: 78px;
    left: 0;
    right: 0;
    flex-direction: column;
    background: #0c1114;
    box-shadow: 0 30px 45px #0008;
    padding: 20px 28px 28px;
    border-bottom: 1px solid var(--red);
  }
  .mobile-nav a {
    display: flex;
    justify-content: space-between;
    padding: 16px 0;
    border-bottom: 1px solid var(--line);
    font-size: 15px;
  }
  .mobile-nav a[aria-current] {
    color: var(--red);
  }
  .hero {
    min-height: 830px;
  }
  .hero-body {
    min-height: 760px;
  }
  .hero-copy {
    width: 72%;
  }
  .hero-portrait {
    height: 720px;
    right: -21%;
    --portrait-opacity: 0.78;
  }
  .hero-evidence {
    right: 36px;
    width: calc(100% - 72px);
  }
  .intro {
    gap: 25px;
  }
  .feature-inner {
    min-height: 200px;
    grid-template-columns: 1fr 60px;
    gap: 20px;
  }
  .feature-inner > .eyebrow {
    grid-column: 1 / -1;
    align-self: end;
  }
  .feature-inner p {
    align-self: start;
  }
  .feature-seal {
    align-self: start;
  }
  .media-layout {
    gap: 5%;
  }
  .footer-main {
    gap: 30px;
  }
  .directory-grid .project-card a {
    grid-template-columns: 1fr;
  }
  .directory-grid .project-image {
    height: 230px;
    min-height: 0;
  }
  .directory-grid .project-content {
    min-height: 240px;
  }
}
@media (max-width: 650px) {
  .wrap {
    width: min(100% - 48px, 1320px);
  }
  .site-header {
    height: 68px;
    padding-inline: 24px;
    gap: 10px;
  }
  .brand-mark {
    width: 38px;
    height: 38px;
  }
  .brand-name {
    font-size: 15px;
  }
  .brand-name small {
    font-size: 5.5px;
  }
  .header-actions {
    gap: 5px;
  }
  .header-donate {
    display: none;
  }
  .mobile-nav:not([hidden]) {
    top: 68px;
  }
  .hero {
    min-height: 930px;
  }
  .hero-background {
    background-position: 60% center;
    opacity: 0.55;
  }
  .hero-body {
    min-height: 850px;
    align-items: flex-start;
  }
  .hero-portrait {
    height: 470px;
    right: -100px;
    bottom: 5px;
    --portrait-opacity: 0.83;
    filter: brightness(0.82);
  }
  .hero-copy {
    width: 100%;
    padding: 66px 0 0;
  }
  .hero-label {
    font-size: 8px;
    letter-spacing: 0.08em;
    gap: 7px;
    margin-bottom: 28px;
  }
  .hero-label-rule {
    width: 15px;
  }
  .hero h1 {
    font-size: clamp(47px, 10.5vw, 69px);
    max-width: 600px;
    margin-bottom: 20px;
    line-height: 1.02;
  }
  .hero-deck {
    font-size: 16px;
    max-width: 340px;
    margin-bottom: 26px;
  }
  .hero-actions {
    max-width: 250px;
  }
  .hero-actions .button {
    width: 100%;
    min-height: 50px;
  }
  .hero-donate {
    width: min(100%, 250px);
    min-height: 68px;
    margin-top: 15px;
    padding: 10px 12px;
    gap: 10px;
  }
  .hero-donate-icon { width: 32px; height: 32px; font-size: 15px; }
  .hero-donate-copy strong { font-size: 10px; letter-spacing: .09em; }
  .hero-donate-copy small { font-size: 10px; }
  .hero-donate-arrow { font-size: 15px; }
  .hero-bottom {
    bottom: 16px;
  }
  .hero-bottom > span:last-child {
    display: none;
  }
  .hero-bottom {
    font-size: 8px;
  }
  .hero-evidence {
    grid-template-columns: repeat(2, 1fr);
    gap: 8px;
    right: 24px;
    bottom: 52px;
    width: calc(100% - 48px);
  }
  .hero-evidence > div {
    min-height: 78px;
    padding: 11px 13px;
  }
  .hero-evidence > div:before {
    left: 14px;
    width: 27px;
  }
  .hero-evidence strong {
    font-size: 29px;
  }
  .hero-evidence > div > span {
    font-size: 8px;
  }
  .section {
    padding-block: 90px;
  }
  .intro {
    grid-template-columns: 1fr;
    gap: 30px;
  }
  .intro .section-heading {
    grid-row: auto;
  }
  .intro-art {
    grid-column: auto;
    min-height: 260px;
    max-height: 330px;
  }
  .intro-art img {
    object-position: center 35%;
  }
  .large-copy {
    font-size: 25px;
  }
  .feature-inner {
    padding-block: 38px;
    grid-template-columns: 1fr;
  }
  .feature-inner > .eyebrow {
    grid-column: auto;
  }
  .feature-seal {
    display: none;
  }
  .section-heading-row,
  .directory-top {
    display: block;
  }
  .section-side {
    margin-top: 20px;
  }
  .project-grid {
    grid-template-columns: 1fr;
  }
  .project-image {
    height: 210px;
  }
  .project-content {
    min-height: 215px;
  }
  .media-layout,
  .endorsement-layout,
  .bio-section,
  .media-page-main,
  .contact-layout {
    grid-template-columns: 1fr;
    gap: 35px;
  }
  .media-visual {
    height: 285px;
  }
  .endorsement-section {
    padding-block: 70px;
  }
  .endorsement-layout blockquote p {
    font-size: 28px;
  }
  .briefing-inner {
    display: block;
    min-height: 0;
    padding-block: 55px;
  }
  .briefing-inner .button {
    margin-top: 28px;
    width: 100%;
  }
  .footer-main {
    grid-template-columns: 1fr 1fr;
    gap: 40px;
    padding-block: 60px;
  }
  .footer-brand {
    grid-column: 1 / -1;
  }
  .footer-bottom {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    padding-block: 25px;
    gap: 11px;
  }
  .page-hero {
    min-height: 380px;
  }
  .page-hero-content {
    padding-block: 75px;
  }
  .page-hero h1 {
    font-size: clamp(54px, 12vw, 75px);
  }
  .page-hero-art {
    width: 85%;
    opacity: 0.18;
  }
  .page-hero-index {
    right: 19px;
    font-size: 8px;
  }
  .directory-controls {
    display: block;
  }
  .filter-list {
    margin-bottom: 18px;
  }
  .directory-search {
    width: 100%;
  }
  .directory-grid .project-card a {
    display: block;
  }
  .bio-side {
    position: static;
  }
  .bio-side img {
    height: auto;
  }
  .bio-panel-grid,
  .media-topic-grid,
  .quote-grid {
    grid-template-columns: 1fr;
  }
  .media-page-art {
    height: 290px;
  }
  .quote-grid blockquote {
    min-height: 270px;
  }
  .contact-options {
    margin-top: 15px;
  }
}
@media (max-width: 390px) {
  .brand-name {
    font-size: 13px;
  }
  .brand-name small {
    letter-spacing: 0.13em;
  }
  .hero h1 {
    font-size: 45px;
  }
  .hero-label {
    font-size: 7px;
  }
  .hero-portrait {
    right: -115px;
    opacity: 0.63;
  }
  .search-panel {
    padding: 22px;
  }
  .search-field input {
    font-size: 22px;
  }
}
.research-feature,
.research-directory {
  background: #e8e4dd;
  color: #161e20;
}
.research-feature h2 em,
.research-directory h2 em {
  color: #ad2635;
}
.research-feature .section-heading-row,
.research-directory .section-heading-row {
  margin-bottom: 43px;
}
.research-feature .section-side p,
.research-directory .research-intro {
  color: #465255;
  line-height: 1.6;
  font-size: 15px;
  max-width: 340px;
}
.research-feature .eyebrow,
.research-directory .eyebrow {
  color: #ad2635;
}
.article-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 22px;
}
.article-card {
  min-width: 0;
  background: #f7f5f0;
  border: 1px solid #c8cac4;
  transition:
    transform 0.25s,
    border-color 0.25s;
}
.article-card:hover {
  transform: translateY(-5px);
  border-color: #ad2635;
}
.article-card a {
  display: block;
  height: 100%;
}
.article-image {
  height: 225px;
  position: relative;
  overflow: hidden;
  background: #1b2123;
}
.article-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  filter: saturate(0.6);
  transition: transform 0.35s;
}
.article-card:hover img {
  transform: scale(1.045);
}
.article-image span {
  position: absolute;
  left: 19px;
  bottom: 17px;
  background: #101719;
  color: white;
  padding: 6px 8px;
  font: 700 10px var(--mono);
}
.article-body {
  padding: 24px 22px;
  display: flex;
  flex-direction: column;
  min-height: 235px;
}
.article-body h3 {
  font: 400 27px/1.18 var(--serif);
  letter-spacing: -0.025em;
  margin: 12px 0 28px;
}
.article-meta {
  margin-top: auto;
  display: flex;
  justify-content: space-between;
  gap: 10px;
  border-top: 1px solid #bdc3c0;
  padding-top: 14px;
  color: #526063;
  font: 700 9px/1.4 var(--mono);
  letter-spacing: 0.07em;
}
.research-more {
  text-align: right;
  margin-top: 33px;
}
.research-directory .section-heading-row {
  align-items: end;
}
.research-directory .section-heading-row h2 {
  margin: 0;
}
.research-directory .research-intro {
  margin: 0;
}
.header-donate,
.button-red {
  background: #b52b3a;
}
.header-donate:hover,
.button-red:hover {
  background: #92212d;
}
.project-card {
  color: var(--white);
}
.intro .eyebrow,
.media-section .eyebrow,
.work-directory .eyebrow,
.bio-section .eyebrow,
.media-page-main .eyebrow,
.quotes-section .eyebrow,
.contact-layout .eyebrow {
  color: #ad2635;
}
.work-directory .project-content .eyebrow {
  color: var(--red);
}
.result-count {
  color: #526064;
}
.source-note {
  color: #526064;
}
@media (max-width: 900px) {
  .article-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
@media (max-width: 650px) {
  .article-grid {
    grid-template-columns: 1fr;
  }
  .article-image {
    height: 205px;
  }
  .article-body {
    min-height: 205px;
  }
  .research-directory .section-heading-row {
    display: block;
  }
  .research-directory .research-intro {
    margin-top: 20px;
  }
  .hero-portrait {
    right: -100px;
    bottom: 5px;
    height: 460px;
    --portrait-opacity: 0.84;
  }
}
@media (max-width: 390px) {
  .hero-portrait {
    right: -105px;
  }
}
.briefing p {
  color: #fff;
}

/* Endorsements: an interactive signal map and complete reading archive. */
.page-endorsements .page-hero { min-height: 390px; background: radial-gradient(circle at 72% 50%, #222d34 0, #10171b 34%, #090c0f 72%); }
.endorsement-experience { position: relative; overflow: hidden; padding: clamp(80px, 9vw, 142px) 0 92px; background: #080d11; isolation: isolate; }
.endorsement-experience::before { content: ""; position: absolute; inset: 0; pointer-events: none; opacity: .26; background: repeating-linear-gradient(0deg, transparent 0 67px, #7e979c20 68px), repeating-linear-gradient(90deg, transparent 0 67px, #7e979c20 68px); mask-image: linear-gradient(to bottom, transparent, black 23%, black 75%, transparent); }
.endorsement-intro { display: flex; justify-content: space-between; align-items: end; gap: 40px; position: relative; z-index: 2; }
.endorsement-intro h2, .archive-heading h2 { font: 400 clamp(56px, 6vw, 98px)/.95 var(--serif); letter-spacing: -.055em; margin: 24px 0 0; }
.endorsement-intro > p { max-width: 315px; color: #b4c0c1; line-height: 1.65; font-size: 16px; margin-bottom: 6px; }
.globe-stage { position: relative; display: grid; grid-template-columns: minmax(0, 1fr) minmax(430px, .72fr); align-items: center; min-height: 710px; width: min(100%, 1600px); margin: 30px auto 0; }
.globe-viewport { height: 710px; position: relative; overflow: hidden; }
.globe-crosshair { position: absolute; top: 50%; left: 50%; width: 82px; height: 82px; transform: translate(-50%,-50%); border: 1px solid #b3c8ca2b; border-radius: 50%; pointer-events: none; }
.globe-crosshair::before, .globe-crosshair::after { content: ""; position: absolute; background: #b3c8ca50; }
.globe-crosshair::before { width: 1px; height: 120px; left: 50%; top: -20px; }
.globe-crosshair::after { height: 1px; width: 120px; top: 50%; left: -20px; }
.endorsement-globe { position: absolute; width: min(640px, calc(100% - 42px)); aspect-ratio: 1; left: 50%; top: 50%; transform: translate(-50%,-50%); cursor: grab; touch-action: pan-y; outline-offset: -6px; }
.endorsement-globe:active { cursor: grabbing; }
.endorsement-globe canvas { width: 100%; height: 100%; display: block; }
.globe-readout { position: absolute; left: 34px; top: 22px; display: flex; flex-direction: column; gap: 8px; color: #8fa6a9; font: 700 10px var(--mono); letter-spacing: .12em; }
.globe-readout i, .dossier-status i { display: inline-block; width: 6px; height: 6px; border-radius: 50%; background: var(--red); margin: 0 5px 1px; box-shadow: 0 0 12px var(--red); }
.globe-instruction { position: absolute; left: 16px; right: 16px; bottom: 20px; margin: 0; color: #9aaeb0; font: 700 10px var(--mono); letter-spacing: .16em; text-align: center; }
.globe-instruction span { color: var(--red); margin-inline: 7px; }
.signal-dossier { width: min(94%, 470px); height: 570px; min-height: 0; margin: 0 auto; position: relative; z-index: 2; display: flex; flex-direction: column; background: linear-gradient(145deg, #192329f2, #0c1217f7 68%); border: 1px solid #859ba34b; box-shadow: 0 32px 90px #0008, 0 0 60px #f14b550b; clip-path: polygon(0 0, calc(100% - 25px) 0, 100% 25px, 100% 100%, 0 100%); backdrop-filter: blur(20px); transition: border-color .3s, transform .4s; }
.signal-dossier::before { content: ""; position: absolute; top: 0; left: 0; width: 34%; height: 2px; background: var(--red); box-shadow: 0 0 18px var(--red); }
.signal-dossier.is-switching { transform: translateX(8px); border-color: #f14b5580; }
.dossier-top, .dossier-bottom { padding: 21px 27px; display: flex; align-items: center; justify-content: space-between; gap: 15px; color: #9eb0b4; font: 700 10px var(--mono); letter-spacing: .1em; }
.dossier-top { border-bottom: 1px solid #d3eaeb1c; }
.dossier-top b { color: #f6f5f0; }
.dossier-status { color: var(--red); white-space: nowrap; }
.dossier-body { flex: 1; min-height: 0; display: flex; flex-direction: column; padding: 28px 34px 23px; }
.dossier-avatar { position: relative; width: 74px; height: 74px; display: grid; place-items: center; border: 1px solid #d6e3e354; border-radius: 50%; background: radial-gradient(circle at 30% 25%, #35454a, #121b20 70%); color: white; font: 400 27px var(--serif); letter-spacing: -.05em; margin-bottom: 24px; box-shadow: 0 0 0 6px #a7d0d00b; }
.dossier-avatar i { position: absolute; right: -5px; bottom: 8px; width: 12px; height: 12px; border-radius: 50%; background: var(--red); border: 2px solid #131c20; box-shadow: 0 0 16px var(--red); }
.dossier-location { display: flex; flex-direction: column; gap: 5px; }
.dossier-state { color: var(--red); font: 700 11px var(--mono); letter-spacing: .17em; text-transform: uppercase; }
.dossier-coordinate { color: #788e94; font: 700 9px var(--mono); letter-spacing: .14em; }
.dossier-quote { display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 4; overflow: hidden; font: italic clamp(26px, 2.5vw, 38px)/1.18 var(--serif); letter-spacing: -.025em; margin: 20px 0 13px; }
.dossier-read-full { align-self: flex-start; color: #f5a8ad; font: 700 10px var(--mono); letter-spacing: .12em; border-bottom: 1px solid #f14b55a3; padding-bottom: 5px; }
.dossier-read-full:hover { color: white; }
.dossier-signature { display: flex; flex-direction: column; gap: 5px; margin-top: auto; }
.dossier-signature strong { font-size: 17px; letter-spacing: .02em; }
.dossier-signature span { color: #93a5a8; font-size: 12px; }
.dossier-bottom { border-top: 1px solid #d3eaeb1c; }
.dossier-source { color: white; border-bottom: 1px solid var(--red); padding-bottom: 4px; white-space: nowrap; }
.dossier-source:hover { color: var(--red); }
.signal-directory { position: relative; z-index: 2; margin-top: 25px; }
.signal-directory-label { display: flex; justify-content: space-between; color: #8a9da1; font: 700 10px var(--mono); letter-spacing: .16em; padding-bottom: 14px; border-bottom: 1px solid #d7e3e32d; }
.signal-selectors { display: grid; grid-template-columns: repeat(4, minmax(0,1fr)); }
.signal-select { display: flex; align-items: center; gap: 14px; width: 100%; padding: 22px 16px; border: 0; border-right: 1px solid #d7e3e320; border-bottom: 1px solid #d7e3e320; background: transparent; text-align: left; color: #d6dddd; transition: background .25s; }
.signal-select:nth-child(4n) { border-right: 0; }
.signal-select:nth-last-child(-n+4) { border-bottom: 0; }
.signal-select:hover, .signal-select.is-active { background: linear-gradient(90deg, #f14b5511, transparent); }
.signal-selector-index { align-self: start; color: #758b90; font: 700 10px var(--mono); margin-top: 3px; }
.signal-selector-pulse { position: relative; width: 10px; height: 10px; flex: none; border-radius: 50%; background: var(--red); box-shadow: 0 0 16px #f14b55b5; }
.signal-select.is-active .signal-selector-pulse::before { content: ""; position: absolute; inset: -9px; border: 1px solid #f14b5580; border-radius: 50%; animation: signal-pulse 2.6s ease-out infinite; }
@keyframes signal-pulse { from { transform: scale(.45); opacity: .9; } to { transform: scale(1.6); opacity: 0; } }
.signal-selector-name { font-size: 15px; font-weight: 700; flex: 1; }
.signal-selector-name small { display: block; color: #8a9da1; font: 700 10px var(--mono); letter-spacing: .1em; text-transform: uppercase; margin-top: 6px; }
.signal-selector-arrow { color: var(--red); font-size: 16px; }
.signal-disclaimer { color: #8d9da1; font-size: 12px; line-height: 1.6; margin: 16px 0 0; }
.signal-disclaimer a { color: #e86b72; text-decoration: underline; text-underline-offset: 4px; }
.archive-source a, .record-body a { color: #a72131; text-decoration: underline; text-underline-offset: 4px; }
.endorsement-archive { background: var(--paper); color: #172024; }
.archive-heading { display: flex; align-items: end; justify-content: space-between; gap: 35px; margin-bottom: 56px; }
.archive-heading h2 { font-size: clamp(54px, 6vw, 90px); }
.archive-heading > p { max-width: 300px; font-size: 15px; line-height: 1.65; color: #526064; margin: 0; }
.archive-heading .eyebrow { color: #ad2635; }
.endorsement-records { border-top: 1px solid #b8c1c1; }
.endorsement-record { border-bottom: 1px solid #b8c1c1; }
.endorsement-record summary { list-style: none; display: grid; grid-template-columns: 60px minmax(0,1fr) 140px 26px; align-items: center; gap: 14px; padding: 22px 12px 22px 0; cursor: pointer; transition: background .25s, padding .25s; }
.endorsement-record summary::-webkit-details-marker { display: none; }
.endorsement-record summary:hover, .endorsement-record[open] summary { background: #e1e5e2; padding-left: 12px; }
.record-index, .record-location { color: #9d303c; font: 700 11px var(--mono); letter-spacing: .1em; }
.record-location { color: #526064; text-transform: uppercase; }
.record-identity strong { display: block; font: 400 27px var(--serif); letter-spacing: -.025em; }
.record-identity small { display: block; color: #526064; margin-top: 3px; font-size: 12px; }
.record-plus { color: #a92b38; font: 400 25px var(--sans); text-align: right; }
.endorsement-record[open] .record-plus { transform: rotate(45deg); }
.record-body { padding: 4px 7% 33px 74px; max-width: 1000px; }
.record-body blockquote { margin: 0; }
.record-quote { font: italic clamp(20px, 2.1vw, 28px)/1.42 var(--serif); margin-bottom: 16px; }
.record-body > p { font-size: 12px; color: #58676a; }
.archive-source { font-size: 12px; line-height: 1.6; color: #57676b; margin: 30px 0 0; }
@media (max-width: 1100px) and (min-width: 701px) {
  .signal-selectors { grid-template-columns: repeat(2, minmax(0,1fr)); }
  .signal-select:nth-child(2n) { border-right: 0; }
  .signal-select:nth-last-child(-n+4) { border-bottom: 1px solid #d7e3e320; }
  .signal-select:nth-last-child(-n+2) { border-bottom: 0; }
}
@media (max-width: 900px) {
  .globe-stage { grid-template-columns: minmax(0,1fr) minmax(310px,.85fr); min-height: 630px; }
  .globe-viewport { height: 630px; }
  .endorsement-globe { width: min(540px, calc(100% - 24px)); }
  .signal-dossier { width: min(94%,470px); min-height: 450px; }
  .dossier-body { padding: 24px; }
  .dossier-quote { font-size: 27px; }
}
@media (max-width: 700px) {
  .page-endorsements .page-hero { min-height: 345px; }
  .endorsement-intro, .archive-heading { display: block; }
  .endorsement-intro > p, .archive-heading > p { margin-top: 25px; }
  .globe-stage { display: block; margin-top: 15px; }
  .globe-viewport { height: 450px; }
  .endorsement-globe { width: min(350px, calc(100% - 24px)); }
  .globe-readout { left: 24px; top: 18px; font-size: 9px; }
  .globe-instruction { bottom: 19px; font-size: 9px; }
  .signal-dossier { width: min(calc(100% - 44px), 520px); margin: 20px auto 0; min-height: 0; }
  .signal-directory { margin-top: 38px; }
  .signal-selectors { display: block; }
  .signal-select, .signal-select:nth-child(2), .signal-select:last-child { border-right: 0; border-bottom: 1px solid #d7e3e320; padding: 17px 5px; }
  .archive-heading { margin-bottom: 35px; }
  .endorsement-record summary { grid-template-columns: 34px minmax(0,1fr) 24px; gap: 10px; }
  .record-location { display: none; }
  .record-identity strong { font-size: 22px; }
  .record-body { padding: 0 12px 24px 44px; }
}
@media (prefers-reduced-motion: reduce) {
  .signal-select.is-active .signal-selector-pulse::before { animation: none; }
  .signal-dossier, .signal-select { transition: none; }
}

/* Home: an editorial archive with cinematic pacing. */
.page-home .intro {
  position: relative;
  background: #10171b;
  color: var(--white);
  grid-template-columns: minmax(0, 0.94fr) minmax(0, 1.06fr);
  padding-block: 175px 160px;
  column-gap: clamp(55px, 7vw, 110px);
  row-gap: 34px;
  overflow: hidden;
}
.page-home .intro .section-heading {
  grid-column: 1;
  grid-row: 1;
  align-self: end;
}
.page-home .intro-copy {
  grid-column: 1;
  grid-row: 2;
  align-self: start;
}
.page-home .intro-art {
  grid-column: 2;
  grid-row: 1 / span 2;
}
.page-home .intro:before {
  content: "01 / THE MISSION";
  position: absolute;
  top: 22px;
  right: 0;
  color: rgba(255, 255, 255, 0.055);
  font: 900 clamp(55px, 8vw, 124px)/1 var(--sans);
  letter-spacing: -0.08em;
  white-space: nowrap;
  pointer-events: none;
}
.page-home .intro .section-heading,
.page-home .intro-copy,
.page-home .intro-art {
  position: relative;
  z-index: 1;
}
.page-home .intro h2 {
  font-size: clamp(49px, 5.1vw, 78px);
}
.page-home .intro .eyebrow,
.page-home .media-section .eyebrow {
  color: #ff6b75;
}
.page-home .intro-copy {
  border-left: 1px solid rgba(241, 75, 85, 0.66);
  padding-left: clamp(22px, 2.5vw, 38px);
}
.page-home .intro-copy .large-copy {
  font-size: clamp(22px, 2vw, 29px);
}
.page-home .intro-copy > p:not(.large-copy) {
  color: #aebcc0;
}
.page-home .intro-art {
  min-height: 0;
  aspect-ratio: 3 / 2;
  align-self: center;
  border: 1px solid rgba(255, 255, 255, 0.17);
  box-shadow: 26px 26px 0 -25px rgba(241, 75, 85, 0.8), 0 40px 80px rgba(0, 0, 0, 0.25);
}
.page-home .intro-art:before {
  content: "ARCHIVE / 001";
  position: absolute;
  z-index: 2;
  top: 15px;
  left: 16px;
  color: var(--white);
  font: 700 9px var(--mono);
  letter-spacing: 0.15em;
  background: rgba(9, 12, 15, 0.75);
  padding: 9px 10px;
}
.page-home .intro-art img {
  object-fit: contain;
  object-position: center;
  filter: grayscale(1) contrast(1.18) brightness(0.78);
  transition: transform 0.7s ease, filter 0.7s ease;
}
.page-home .intro-art:hover img {
  transform: scale(1.015);
  filter: grayscale(0.8) contrast(1.12) brightness(0.87);
}
.page-home .image-caption {
  font: 700 9px var(--mono);
  letter-spacing: 0.13em;
  border-top: 1px solid rgba(241, 75, 85, 0.65);
}
.page-home .feature-band {
  border-block: 1px solid rgba(255, 255, 255, 0.13);
  background: #0b1013;
}
.page-home .feature-band:before {
  opacity: 0.1;
  background-position: center 40%;
}
.page-home .feature-inner {
  min-height: 185px;
}
.page-home .feature-inner:before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 140px;
  height: 2px;
  background: var(--red);
  box-shadow: 0 0 18px rgba(241, 75, 85, 0.7);
}
.page-home .feature-seal {
  border-radius: 0;
  box-shadow: 0 0 28px rgba(241, 75, 85, 0.13);
}
.page-home .work-section {
  position: relative;
  background: radial-gradient(ellipse at 74% 20%, #1c262b 0%, #0a0e11 55%);
  overflow: hidden;
}
.page-home .work-section:before {
  content: "";
  position: absolute;
  inset: 0;
  opacity: 0.22;
  pointer-events: none;
  background-image: linear-gradient(rgba(255, 255, 255, 0.045) 1px, transparent 1px), linear-gradient(90deg, rgba(255, 255, 255, 0.045) 1px, transparent 1px);
  background-size: 108px 108px;
  mask-image: linear-gradient(to bottom, black, transparent 75%);
}
.page-home .work-section .wrap {
  position: relative;
}
.page-home .project-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 18px;
}
.page-home .project-card {
  overflow: hidden;
  background: rgba(20, 28, 32, 0.88);
}
.page-home .project-card > a {
  display: grid;
  grid-template-columns: 47% 53%;
  min-height: 280px;
}
.page-home .project-image {
  height: 100%;
  min-height: 280px;
}
.page-home .project-image:before {
  content: "";
  position: absolute;
  z-index: 2;
  top: 0;
  bottom: 0;
  left: 0;
  width: 2px;
  background: var(--red);
  box-shadow: 0 0 18px var(--red);
  transform: translateX(-3px);
  transition: transform 0.35s ease;
}
.page-home .project-card:hover .project-image:before,
.page-home .project-card:focus-within .project-image:before {
  transform: translateX(0);
}
.page-home .project-content {
  min-height: 280px;
  padding: 25px;
}
.page-home .project-content h3 {
  font-size: clamp(27px, 2.5vw, 37px);
}
.page-home .project-card:hover {
  transform: translateY(-4px);
  border-color: rgba(241, 75, 85, 0.75);
  box-shadow: 0 24px 50px rgba(0, 0, 0, 0.35);
}
.page-home .media-section {
  background: #121a1f;
  color: var(--white);
  border-top: 1px solid rgba(255, 255, 255, 0.13);
}
.page-home .media-main p {
  color: #afbbbf;
}
.page-home .media-visual {
  border: 1px solid rgba(255, 255, 255, 0.2);
  box-shadow: 24px 24px 0 -23px var(--red), 0 35px 70px rgba(0, 0, 0, 0.3);
}
.page-home .media-visual:before {
  content: "REC / 001";
  position: absolute;
  z-index: 2;
  top: 20px;
  left: 20px;
  color: #fff;
  font: 700 10px var(--mono);
  letter-spacing: 0.16em;
  padding: 9px 12px 9px 22px;
  background: rgba(7, 10, 13, 0.72);
}
.page-home .media-visual-label {
  border-top: 1px solid rgba(255, 255, 255, 0.37);
  padding-top: 16px;
}
.page-home .endorsement-section {
  background: #0b1013;
  border-top: 1px solid rgba(255, 255, 255, 0.1);
}
.briefing {
  background: linear-gradient(110deg, #36171d, #151b1e 65%, #0c1114);
  border-top: 1px solid rgba(241, 75, 85, 0.6);
}
.briefing:before {
  opacity: 0.08;
}
.briefing-inner:before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 170px;
  height: 2px;
  background: var(--red);
  box-shadow: 0 0 18px var(--red);
}
.briefing .button-light {
  background: var(--red);
  color: white;
}
.briefing .button-light:hover {
  background: var(--red-dark);
}
.cinematic-reveal {
  transform: translateY(22px);
  transition: transform 0.85s cubic-bezier(0.19, 1, 0.22, 1) var(--reveal-delay, 0ms);
}
.cinematic-reveal.is-visible {
  transform: translateY(0);
}
.page-hero {
  min-height: 500px;
  background: #0a1115;
  border-bottom: 3px solid #b82b39;
  box-shadow: 0 9px 28px rgba(241, 75, 85, 0.12);
}
.page-hero-art {
  width: 58%;
  opacity: 0.5;
  filter: grayscale(0.55) contrast(1.16) brightness(0.78);
}
.page-hero-index {
  font: 700 10px var(--mono);
  letter-spacing: 0.16em;
}
.page-work .work-directory {
  position: relative;
  background: radial-gradient(ellipse at 75% 12%, #1c272c, #0c1216 60%);
  color: var(--white);
}
.page-work .work-directory:before {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  opacity: 0.17;
  background-image: linear-gradient(rgba(255, 255, 255, 0.05) 1px, transparent 1px), linear-gradient(90deg, rgba(255, 255, 255, 0.05) 1px, transparent 1px);
  background-size: 110px 110px;
  mask-image: linear-gradient(to bottom, black, transparent 70%);
}
.page-work .work-directory > * {
  position: relative;
}
.page-work .directory-top {
  border-left: 2px solid var(--red);
  padding-left: clamp(22px, 3vw, 45px);
}
.page-work .directory-top > p {
  color: #b7c2c4;
}
.page-work .work-directory .eyebrow {
  color: #ff6872;
}
.page-work .directory-controls {
  border-color: rgba(255, 255, 255, 0.22);
}
.page-work .filter-chip {
  border-color: rgba(255, 255, 255, 0.27);
  color: #d8dfe0;
  background: rgba(255, 255, 255, 0.03);
}
.page-work .filter-chip:hover,
.page-work .filter-chip.active {
  border-color: var(--red);
  background: rgba(241, 75, 85, 0.19);
  color: white;
}
.page-work .directory-search {
  background: rgba(255, 255, 255, 0.05);
  border-color: rgba(255, 255, 255, 0.3);
  color: white;
}
.page-work .directory-search input {
  color: white;
}
.page-work .directory-search input::placeholder {
  color: #aab8bb;
}
.page-work .result-count {
  color: #aebcc0;
}
.page-work .directory-grid .project-card {
  box-shadow: 0 18px 42px rgba(0, 0, 0, 0.18);
}
.page-work .directory-grid .project-card:hover,
.page-work .directory-grid .project-card:focus-within {
  box-shadow: 0 25px 60px rgba(0, 0, 0, 0.33);
}
@media (max-width: 1100px) {
  .page-home .intro {
    padding-block: 140px 130px;
    column-gap: 42px;
  }
  .page-home .intro-art {
    min-height: 0;
  }
  .page-home .project-card > a {
    grid-template-columns: 1fr;
  }
  .page-home .project-image {
    height: 230px;
    min-height: 0;
  }
}
@media (max-width: 650px) {
  .page-hero {
    min-height: 420px;
  }
  .page-hero-art {
    width: 85%;
    opacity: 0.25;
  }
  .page-home .intro {
    grid-template-columns: 1fr;
    padding-block: 110px 105px;
    row-gap: 35px;
  }
  .page-home .intro .section-heading,
  .page-home .intro-copy,
  .page-home .intro-art {
    grid-column: 1;
    grid-row: auto;
  }
  .page-home .intro:before {
    font-size: 55px;
  }
  .page-home .intro-copy {
    padding-left: 21px;
  }
  .page-home .intro-art {
    min-height: 0;
  }
  .page-home .project-grid {
    grid-template-columns: 1fr;
  }
  .page-home .feature-inner {
    min-height: 205px;
  }
}
.page-transition {
  position: fixed;
  inset: 0;
  z-index: 1000;
  display: grid;
  place-items: center;
  overflow: hidden;
  background: #030506;
  visibility: hidden;
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.04s linear, visibility 0s linear 0.5s;
}
.page-transition.is-active {
  visibility: visible;
  opacity: 1;
  pointer-events: auto;
  transition: opacity 0.04s linear;
}
.page-transition:before {
  content: "";
  position: absolute;
  inset: 0;
  background: radial-gradient(circle at center, rgba(180, 31, 43, 0.1), transparent 33%),
    linear-gradient(rgba(255, 255, 255, 0.025) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255, 255, 255, 0.025) 1px, transparent 1px);
  background-size: auto, 54px 54px, 54px 54px;
}
.transition-core {
  position: relative;
  width: clamp(112px, 13vw, 158px);
  aspect-ratio: 1;
  display: grid;
  place-items: center;
  border: 1px solid rgba(255, 255, 255, 0.18);
  background: rgba(8, 12, 15, 0.8);
  box-shadow: 0 0 0 1px rgba(241, 75, 85, 0.08), 0 0 75px rgba(241, 75, 85, 0.11);
  overflow: hidden;
}
.transition-core:before,
.transition-core:after {
  content: "";
  position: absolute;
  width: 28px;
  height: 2px;
  z-index: 2;
  background: var(--red);
  box-shadow: 0 0 13px var(--red);
}
.transition-core:before { top: 0; left: 0; }
.transition-core:after { bottom: 0; right: 0; }
.transition-core img {
  width: 76%;
  height: 76%;
  object-fit: contain;
  opacity: 0;
}
.page-transition.is-active .transition-core img {
  animation: transition-logo 0.5s cubic-bezier(0.19, 1, 0.22, 1) both;
}
.transition-scan {
  position: absolute;
  z-index: 3;
  left: 0;
  right: 0;
  top: 0;
  height: 2px;
  opacity: 0;
  background: #ff5a63;
  box-shadow: 0 0 12px 3px rgba(255, 60, 72, 0.8), 0 0 38px 12px rgba(255, 60, 72, 0.22);
}
.page-transition.is-active .transition-scan {
  animation: transition-scan 0.5s linear both;
}
.transition-caption {
  position: absolute;
  top: calc(50% + clamp(70px, 8vw, 102px));
  color: #c7d0d1;
  font: 700 9px var(--mono);
  letter-spacing: 0.2em;
  opacity: 0;
}
.transition-caption i {
  display: inline-block;
  width: 20px;
  height: 1px;
  background: var(--red);
  vertical-align: middle;
  margin-inline: 7px;
}
.page-transition.is-active .transition-caption {
  animation: transition-caption 0.5s both;
}
@keyframes transition-logo {
  0% { opacity: 0; transform: scale(0.92); filter: brightness(0.45); }
  50% { opacity: 0.9; filter: brightness(1.4); }
  100% { opacity: 1; transform: scale(1); filter: brightness(1); }
}
@keyframes transition-scan {
  0%, 10% { opacity: 0; transform: translateY(0); }
  24% { opacity: 1; }
  84% { opacity: 1; }
  100% { opacity: 0; transform: translateY(158px); }
}
@keyframes transition-caption {
  0%, 22% { opacity: 0; transform: translateY(5px); }
  65%, 100% { opacity: 1; transform: translateY(0); }
}
.briefing-transmission {
  position: fixed;
  inset: 0;
  width: min(620px, calc(100vw - 32px));
  max-height: calc(100dvh - 32px);
  padding: 0;
  overflow: visible;
  border: 0;
  color: var(--white);
  background: transparent;
  box-shadow: 0 30px 100px rgba(0, 0, 0, .75);
}
.briefing-transmission::backdrop {
  background: rgba(2, 5, 7, .84);
  backdrop-filter: blur(10px);
}
.briefing-transmission[open] {
  animation: transmission-open .52s cubic-bezier(.16, 1, .3, 1) both;
}
.transmission-panel {
  position: relative;
  overflow: hidden;
  min-height: 460px;
  border: 1px solid rgba(241, 75, 85, .42);
  background: radial-gradient(circle at 72% 15%, rgba(184, 34, 45, .13), transparent 34%),
    linear-gradient(90deg, rgba(255, 255, 255, .024) 1px, transparent 1px),
    linear-gradient(rgba(255, 255, 255, .024) 1px, transparent 1px), #0a0e11;
  background-size: auto, 32px 32px, 32px 32px, auto;
  box-shadow: inset 0 0 0 7px #0a0e11, inset 0 0 0 8px rgba(241, 75, 85, .18), 0 0 75px rgba(241, 75, 85, .12);
}
.transmission-panel:before,
.transmission-panel:after {
  content: "";
  position: absolute;
  z-index: 2;
  width: 54px;
  height: 54px;
  pointer-events: none;
}
.transmission-panel:before { top: 7px; left: 7px; border-top: 2px solid var(--red); border-left: 2px solid var(--red); }
.transmission-panel:after { right: 7px; bottom: 7px; border-right: 2px solid var(--red); border-bottom: 2px solid var(--red); }
.transmission-scan {
  position: absolute;
  z-index: 1;
  top: 0;
  left: 0;
  right: 0;
  height: 2px;
  background: #ff6570;
  box-shadow: 0 0 14px 4px rgba(241, 75, 85, .75), 0 0 42px 18px rgba(241, 75, 85, .13);
  opacity: 0;
  pointer-events: none;
}
.briefing-transmission[open] .transmission-scan { animation: transmission-scan 1.15s ease-out .18s both; }
.transmission-top,
.transmission-bottom {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 12px;
  padding: 22px 28px;
  font: 700 10px var(--mono);
  letter-spacing: .16em;
}
.transmission-top { border-bottom: 1px solid rgba(255, 255, 255, .13); }
.transmission-top > span { display: flex; align-items: center; gap: 9px; color: var(--red); }
.transmission-top i { width: 6px; height: 6px; border-radius: 50%; background: var(--red); box-shadow: 0 0 13px var(--red); }
.transmission-top small { margin-left: 12px; color: #8d989b; font-size: 10px; }
.transmission-close {
  display: grid;
  place-items: center;
  width: 32px;
  height: 32px;
  flex: none;
  border: 1px solid rgba(255, 255, 255, .22);
  background: rgba(255, 255, 255, .035);
  color: var(--white);
  font-size: 19px;
  line-height: 1;
  transition: border-color .2s, color .2s, background .2s;
}
.transmission-close:hover { border-color: var(--red); color: var(--red); background: rgba(241, 75, 85, .09); }
.transmission-body { position: relative; z-index: 1; padding: 33px 55px 38px; text-align: center; }
.transmission-seal {
  display: grid;
  place-items: center;
  width: 70px;
  height: 70px;
  margin: 0 auto 22px;
  border: 1px solid rgba(241, 75, 85, .5);
  background: rgba(241, 75, 85, .06);
  box-shadow: 0 0 0 8px rgba(241, 75, 85, .035), 0 0 34px rgba(241, 75, 85, .12);
}
.transmission-seal img { width: 52px; height: 52px; object-fit: contain; }
.transmission-kicker { margin-bottom: 12px; color: var(--red); font: 700 10px var(--mono); letter-spacing: .24em; }
.transmission-body h2 { margin-bottom: 16px; font: 400 clamp(32px, 5vw, 47px)/1.06 var(--serif); letter-spacing: -.045em; }
.transmission-body > p:not(.transmission-kicker) { max-width: 410px; margin: 0 auto 26px; color: #bfc7c8; font-size: 14px; line-height: 1.7; }
.transmission-accept {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 30px;
  width: min(330px, 100%);
  min-height: 54px;
  margin: 0 auto;
  padding: 0 20px;
  border: 1px solid #fa6870;
  background: linear-gradient(120deg, #ce3543, #f14b55);
  box-shadow: 0 8px 28px rgba(226, 52, 65, .23);
  color: white;
  font: 700 11px var(--mono);
  letter-spacing: .16em;
  text-align: left;
  transition: transform .24s, box-shadow .24s;
}
.transmission-accept:hover { transform: translateY(-2px); box-shadow: 0 12px 34px rgba(226, 52, 65, .38); }
.transmission-accept span { font-size: 17px; }
.transmission-later { margin-top: 17px; padding: 7px 12px; border: 0; background: none; color: #a4adaf; font: 700 10px var(--mono); letter-spacing: .16em; }
.transmission-later:hover { color: white; }
.transmission-bottom { padding-top: 17px; padding-bottom: 19px; border-top: 1px solid rgba(255, 255, 255, .12); color: #7f8c8e; font-size: 9px; }
.transmission-acknowledgment {
  position: absolute;
  z-index: 5;
  inset: 0;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 12px;
  background: rgba(5, 9, 11, .97);
  color: var(--white);
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
}
.transmission-acknowledgment span { display: grid; place-items: center; width: 56px; height: 56px; border: 1px solid var(--red); color: var(--red); font-size: 30px; }
.transmission-acknowledgment strong { font: 700 18px var(--mono); letter-spacing: .19em; }
.transmission-acknowledgment small { color: var(--red); font: 700 10px var(--mono); letter-spacing: .22em; }
.briefing-transmission.is-accepted .transmission-acknowledgment { visibility: visible; animation: transmission-ack .72s ease both; }
.briefing-transmission.is-sealing { animation: transmission-close .36s ease-in both; }
@keyframes transmission-open { from { opacity: 0; transform: scale(.94) translateY(20px); clip-path: inset(48% 0 48% 0); } 45% { opacity: 1; clip-path: inset(0); } to { opacity: 1; transform: none; } }
@keyframes transmission-scan { 0% { opacity: 0; transform: translateY(0); } 20% { opacity: 1; } 90% { opacity: .9; } 100% { opacity: 0; transform: translateY(480px); } }
@keyframes transmission-ack { 0% { opacity: 0; transform: scale(1.08); } 24%, 77% { opacity: 1; transform: scale(1); } 100% { opacity: 0; transform: scale(.95); } }
@keyframes transmission-close { to { opacity: 0; transform: scale(.97) translateY(-12px); clip-path: inset(48% 0 48% 0); } }
@media (max-width: 600px) {
  .briefing-transmission { width: calc(100vw - 24px); max-height: calc(100dvh - 24px); overflow-y: auto; }
  .transmission-panel { min-height: 0; }
  .transmission-top, .transmission-bottom { padding-inline: 18px; }
  .transmission-top small, .transmission-bottom span:last-child { display: none; }
  .transmission-body { padding: 28px 24px 30px; }
  .transmission-seal { width: 58px; height: 58px; margin-bottom: 18px; }
  .transmission-seal img { width: 43px; height: 43px; }
  .transmission-body h2 { font-size: clamp(30px, 8vw, 40px); }
  .transmission-body > p:not(.transmission-kicker) { font-size: 13px; }
}
@media (prefers-reduced-motion: reduce) {
  html {
    scroll-behavior: auto;
  }
  *,
  *:before,
  *:after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
  }
}
