    :root {
      --red: #d3122a;
      --ink: #0e0e0e;
      --paper: #ffffff;
      --soft: #f4f4f4;
      --muted: #6b6b6b;
      --line: rgba(14, 14, 14, .22);
      --gutter: clamp(1.25rem, 4vw, 4.5rem);
      --max: 1440px;
      --ease-out: cubic-bezier(.23, 1, .32, 1);
      --ease-in-out: cubic-bezier(.77, 0, .175, 1);
      --axis: 58.333%;
      --thread-stroke: 3px;
      --safe-left: env(safe-area-inset-left, 0px);
      --safe-right: env(safe-area-inset-right, 0px);
      --safe-top: env(safe-area-inset-top, 0px);
      --safe-bottom: env(safe-area-inset-bottom, 0px);
    }

    *, *::before, *::after { box-sizing: border-box; }

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

    body {
      margin: 0;
      color: var(--ink);
      background: var(--paper);
      font-family: "Instrument Sans", Arial, sans-serif;
      font-size: 1rem;
      line-height: 1.55;
      text-rendering: optimizeLegibility;
      -webkit-font-smoothing: antialiased;
      overflow-x: hidden;
    }

    body.menu-open { overflow: hidden; }

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

    .skip-link {
      position: fixed;
      inset: .75rem auto auto .75rem;
      z-index: 100;
      padding: .8rem 1rem;
      background: var(--ink);
      color: var(--paper);
      font-family: "Geist Mono", monospace;
      font-size: .78rem;
      transform: translateY(-180%);
    }

    .skip-link:focus { transform: translateY(0); }

    :focus-visible {
      outline: 3px solid var(--red);
      outline-offset: 4px;
      border-radius: 2px;
    }

    .wrap {
      width: min(100%, var(--max));
      margin-inline: auto;
      padding-left: max(var(--gutter), var(--safe-left));
      padding-right: max(var(--gutter), var(--safe-right));
    }

    .mono {
      font-family: "Geist Mono", Consolas, monospace;
      font-size: clamp(.68rem, .72vw, .78rem);
      font-weight: 500;
      letter-spacing: .11em;
      line-height: 1.35;
      text-transform: uppercase;
    }

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

    section[id]:not(.work) { scroll-margin-top: 6rem; }

    .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;
    }

    .site-header {
      position: sticky;
      top: 0;
      z-index: 50;
      min-height: 82px;
      background: rgba(255, 255, 255, .94);
      -webkit-backdrop-filter: blur(18px) saturate(125%);
      backdrop-filter: blur(18px) saturate(125%);
      transform: translate3d(0, 0, 0);
      transition: transform 220ms var(--ease-out);
      will-change: transform;
      padding-top: var(--safe-top);
    }

    .site-header.is-hidden {
      transform: translate3d(0, -105%, 0);
    }

    .header-grid {
      min-height: 82px;
      display: grid;
      grid-template-columns: minmax(14rem, 1.35fr) 2fr minmax(8rem, 1fr);
      align-items: center;
      gap: clamp(1rem, 2.5vw, 2.5rem);
    }

    .brand {
      display: inline-flex;
      align-items: center;
      justify-self: start;
      min-height: 44px;
      line-height: 1;
      font-family: "Outfit", sans-serif;
      font-size: 1.08rem;
      font-weight: 750;
      letter-spacing: -.035em;
    }

    .brand-logo-crop {
      position: relative;
      display: block;
      flex: none;
      width: clamp(7.25rem, 9vw, 8.75rem);
      aspect-ratio: 1863 / 457;
      overflow: hidden;
    }

    .brand-logo-crop img {
      position: absolute;
      top: -162%;
      left: -4.08%;
      display: block;
      width: 107.35%;
      max-width: none;
      height: auto;
    }

    .chapter-nav {
      display: flex;
      justify-content: center;
      gap: clamp(1rem, 2.2vw, 2.25rem);
    }

    .chapter-nav a {
      position: relative;
      display: grid;
      grid-template-columns: auto auto;
      align-items: baseline;
      gap: .42rem;
      min-height: 44px;
      padding: .9rem 0;
      color: var(--ink);
      font-family: "Instrument Sans", sans-serif;
      font-size: .76rem;
      font-weight: 600;
      letter-spacing: .01em;
    }

    .chapter-nav .nav-index {
      color: var(--red);
      font-family: "Geist Mono", monospace;
      font-size: .56rem;
      font-weight: 600;
      letter-spacing: .06em;
    }

    .chapter-nav a::after {
      content: "";
      position: absolute;
      right: 0;
      bottom: .65rem;
      left: 0;
      height: 2px;
      background: var(--red);
      transform: scaleX(0);
      transform-origin: right;
      transition: transform 200ms var(--ease-out);
    }

    .text-link::after {
      content: "";
      position: absolute;
      right: 0;
      bottom: .55rem;
      left: 0;
      height: 1px;
      background: var(--red);
      transform: scaleX(0);
      transform-origin: right;
      transition: transform 200ms var(--ease-out);
    }

    .header-cta {
      position: relative;
      display: inline-flex;
      align-items: center;
      justify-self: end;
      gap: .7rem;
      min-height: 48px;
      color: var(--ink);
      font-family: "Instrument Sans", sans-serif;
      font-size: .82rem;
      font-weight: 650;
      letter-spacing: -.01em;
      transition: color 180ms ease, transform 140ms var(--ease-out);
    }

    .header-cta-arrow {
      display: grid;
      place-items: center;
      width: 2.15rem;
      aspect-ratio: 1;
      border: 1px solid var(--ink);
      border-radius: 50%;
      font-size: 1rem;
      line-height: 1;
      transition: color 200ms ease, background-color 200ms ease, border-color 200ms ease, transform 220ms var(--ease-out);
    }

    .header-cta:active,
    .cta-button:active,
    .menu-toggle:active { transform: scale(.97); }

    .menu-toggle {
      display: none;
      width: 48px;
      height: 48px;
      border: 0;
      background: transparent;
      cursor: pointer;
      transition: transform 140ms var(--ease-out);
    }

    .menu-toggle span,
    .menu-toggle::before {
      content: "";
      display: block;
      width: 23px;
      height: 1px;
      margin: 7px auto;
      background: var(--ink);
      transition: transform 200ms var(--ease-out);
    }

    .menu-toggle[aria-expanded="true"]::before { transform: translateY(4px) rotate(45deg); }
    .menu-toggle[aria-expanded="true"] span { transform: translateY(-4px) rotate(-45deg); }

    .mobile-nav {
      position: fixed;
      inset: 82px 0 0;
      z-index: 49;
      display: none;
      padding: clamp(2.5rem, 8vh, 5rem) var(--gutter) max(2rem, env(safe-area-inset-bottom));
      background: var(--paper);
      transform-origin: top right;
      overflow-y: auto;
      padding-bottom: max(2rem, var(--safe-bottom));
      -webkit-overflow-scrolling: touch;
    }

    .mobile-nav[aria-hidden="false"] {
      display: flex;
      flex-direction: column;
    }

    .mobile-nav a {
      display: grid;
      grid-template-columns: 2.5rem 1fr auto;
      align-items: baseline;
      gap: 1rem;
      min-height: clamp(4.35rem, 11vh, 6rem);
      padding: .65rem 0;
      font-family: "Outfit", sans-serif;
      font-size: clamp(1.65rem, 6vw, 2.5rem);
      font-weight: 700;
      letter-spacing: -.04em;
    }

    .mobile-nav .nav-index {
      color: var(--red);
      font-family: "Geist Mono", monospace;
      font-size: .62rem;
      font-weight: 600;
      letter-spacing: .08em;
    }

    .mobile-nav .nav-arrow {
      font-family: "Instrument Sans", sans-serif;
      font-size: 1.25rem;
      font-weight: 400;
      transition: transform 200ms var(--ease-out);
    }

    .mobile-nav .mobile-contact {
      margin-top: auto;
      padding-top: 1.5rem;
      color: var(--red);
    }

    .mobile-nav .mobile-contact .nav-index { color: var(--ink); }

    .mobile-nav[aria-hidden="false"] a {
      animation: nav-entry 420ms both var(--ease-out);
      animation-delay: calc(var(--nav-order) * 45ms);
    }

    @keyframes nav-entry {
      from { opacity: 0; transform: translateY(12px); }
      to { opacity: 1; transform: translateY(0); }
    }

    .hero {
      position: relative;
      min-height: calc(100svh - 78px);
      overflow: clip;
    }

    .hero-inner {
      position: relative;
      min-height: calc(100svh - 78px);
      padding-top: clamp(2.25rem, 4vw, 4.75rem);
      padding-bottom: clamp(1.7rem, 3vw, 3rem);
      display: grid;
      grid-template-rows: auto 1fr auto;
    }

    .hero-kicker {
      display: grid;
      grid-template-columns: var(--axis) 1fr;
      position: relative;
      z-index: 5;
    }

    .hero-kicker span:first-child { padding-right: 2rem; }
    .hero-kicker span:last-child { padding-left: 2rem; }

    .hero-stage {
      position: relative;
      min-height: clamp(31rem, 59vw, 47rem);
      margin-top: .25rem;
    }

    .hero-title {
      position: absolute;
      inset: clamp(1rem, 2vw, 2rem) 0 auto;
      z-index: 3;
      margin: 0;
      display: grid;
      grid-template-columns: repeat(12, 1fr);
      grid-template-rows: repeat(4, minmax(0, auto));
      align-items: start;
      column-gap: clamp(.65rem, 1vw, 1.25rem);
      color: var(--ink);
      font-family: "Outfit", sans-serif;
      font-size: clamp(4.2rem, 8.35vw, 8rem);
      font-weight: 800;
      letter-spacing: -.052em;
      line-height: .82;
    }

    .hero-title .line-1 { grid-column: 1 / 10; grid-row: 1; }

    .hero-i-accent {
      position: relative;
      display: inline-block;
    }

    .hero-i-accent::after {
      content: "";
      position: absolute;
      z-index: 1;
      top: .045em;
      left: .125em;
      width: .21em;
      aspect-ratio: 1;
      border-radius: 50%;
      background: var(--red);
      pointer-events: none;
      transform: translateX(-50%);
    }

    .hero-title .line-2 { grid-column: 1 / 7; grid-row: 2; margin-top: .12em; }
    .hero-title .line-3a { grid-column: 1 / 7; grid-row: 3; margin-top: .12em; }
    .hero-title .line-3b { grid-column: 9 / 13; grid-row: 3; margin-top: .12em; text-align: right; }
    .hero-title .line-4 {
      position: relative;
      grid-column: 8 / 13;
      grid-row: 4;
      margin-top: .12em;
      color: var(--red);
      text-align: right;
    }

    .hero-title .line-4 > span {
      position: relative;
      z-index: 2;
      display: inline-block;
      padding: .04em .08em .07em .22em;
    }

    .hero-title .hero-period-accent { color: var(--ink); }

    .hero-portrait {
      position: absolute;
      z-index: 2;
      isolation: isolate;
      top: clamp(5rem, 8.5vw, 7.6rem);
      left: calc(var(--axis) - clamp(5.6rem, 7.8vw, 7.5rem));
      width: clamp(13rem, 18vw, 17.5rem);
      height: clamp(24rem, 37vw, 35rem);
      margin: 0;
      overflow: visible;
      background: transparent;
    }

    .hero-portrait::before {
      content: "";
      position: absolute;
      z-index: -1;
      inset: 0;
      background: var(--muted);
      clip-path: polygon(0 0, 100% 0, 100% 86%, 13% 100%);
      transform: translate(13px, 10px) rotate(2.35deg);
      transform-origin: 50% 50%;
    }

    .hero-portrait img {
      display: block;
      width: 100%;
      height: 100%;
      object-fit: cover;
      object-position: 51% 30%;
      clip-path: polygon(0 0, 100% 0, 100% 86%, 13% 100%);
      filter: grayscale(1) contrast(1.03);
      transform: scale(1.02);
    }

    .portrait-note {
      position: absolute;
      z-index: 6;
      right: .1rem;
      top: clamp(27rem, 42vw, 39rem);
      width: clamp(8.5rem, 12vw, 11rem);
      color: var(--muted);
      text-align: right;
    }

    .hero-bottom {
      position: relative;
      z-index: 7;
      width: min(100%, 58rem);
      margin-inline: auto;
      display: flex;
      flex-direction: column;
      align-items: center;
      gap: 1rem;
      text-align: center;
    }

    .hero-intro {
      max-width: 55rem;
      margin: 0;
      font-size: clamp(1.08rem, 1.5vw, 1.35rem);
      line-height: 1.42;
    }

    .hero-roles {
      display: flex;
      flex-direction: column;
      align-items: center;
      gap: .85rem;
    }

    .hero-roles p { margin: 0; color: var(--muted); }

    .cta-button {
      --cta-face: var(--paper);
      position: relative;
      z-index: 0;
      isolation: isolate;
      display: inline-flex;
      align-items: center;
      justify-content: space-between;
      gap: 1.2rem;
      min-width: 10rem;
      min-height: 52px;
      padding: .75rem 1rem;
      border: 1px solid var(--ink);
      border-radius: 1.15rem 0 1.15rem 0;
      background: var(--paper);
      font-family: "Geist Mono", monospace;
      font-size: .76rem;
      font-weight: 600;
      letter-spacing: .09em;
      text-transform: uppercase;
      transition: color 180ms ease, background-color 180ms ease, border-color 180ms ease, transform 140ms var(--ease-out);
    }

    .cta-button::before {
      content: "";
      position: absolute;
      z-index: -1;
      inset: 0;
      border-radius: inherit;
      background: var(--red);
      transform: translate(3px, 3px) rotate(1.2deg);
      transition: transform 180ms var(--ease-out);
    }

    .cta-button::after {
      content: "";
      position: absolute;
      z-index: -1;
      inset: 0;
      border-radius: inherit;
      background: var(--cta-face);
      border: 1px solid var(--ink);
      transition: background-color 180ms ease, border-color 180ms ease;
    }

    .cta-button .arrow {
      color: var(--red);
      font-size: 1.1rem;
      line-height: 1;
    }

    .journey {
      position: relative;
      padding-block: clamp(6rem, 11vw, 10rem);
      background: var(--soft);
      overflow: clip;
    }

    .journey-head {
      display: flex;
      flex-direction: column;
      align-items: center;
      margin-bottom: clamp(4rem, 8vw, 7rem);
      text-align: center;
    }

    .journey-head h2 {
      max-width: 14ch;
      margin: .75rem 0 0;
      font-family: "Outfit", sans-serif;
      font-size: clamp(3.2rem, 6vw, 6.6rem);
      font-weight: 700;
      letter-spacing: -.047em;
      line-height: .92;
    }

    .journey-head h2 span { color: var(--red); }

    .journey-grid {
      position: relative;
      display: grid;
      grid-template-columns: 1fr 1fr;
    }

    .journey-axis {
      position: absolute;
      z-index: 1;
      top: -2rem;
      bottom: -3rem;
      left: 50%;
      width: var(--thread-stroke);
      background: var(--red);
      transform: translateX(-50%);
      transform-origin: top;
    }

    .journey-axis::before,
    .journey-axis::after {
      content: "+";
      position: absolute;
      left: 50%;
      display: grid;
      width: 2rem;
      height: 2rem;
      place-items: center;
      border-radius: 50%;
      background: var(--soft);
      color: var(--red);
      font-family: "Geist Mono", monospace;
      font-size: 1.15rem;
      transform: translate(-50%, -50%);
    }

    .journey-axis::before { top: 0; }
    .journey-axis::after { top: 100%; }

    .record {
      position: relative;
      min-height: 43rem;
      padding: 0 clamp(2rem, 6vw, 6rem);
    }

    .record-lived { padding-left: 0; text-align: right; }
    .record-studied { padding-right: 0; }

    .record-label {
      display: inline-flex;
      align-items: center;
      gap: .75rem;
      margin-bottom: clamp(2rem, 4vw, 4rem);
      color: var(--red);
    }

    .record-label::after {
      content: "";
      width: 3rem;
      height: 2px;
      background: currentColor;
    }

    .record-studied .record-label::before {
      content: "";
      width: 3rem;
      height: 2px;
      background: currentColor;
    }

    .record-studied .record-label::after { display: none; }

    .record-year {
      margin: 0;
      font-family: "Outfit", sans-serif;
      font-size: clamp(5.5rem, 11vw, 11rem);
      font-weight: 700;
      letter-spacing: -.07em;
      line-height: .72;
    }

    .record-lived .record-year { color: var(--red); }

    .record h3 {
      margin: clamp(2.5rem, 5vw, 5rem) 0 1.3rem;
      font-family: "Outfit", sans-serif;
      font-size: clamp(1.8rem, 3vw, 3.2rem);
      font-weight: 700;
      letter-spacing: -.035em;
      line-height: 1.02;
    }

    .record p {
      max-width: 34rem;
      margin: 0;
      font-size: clamp(1.05rem, 1.4vw, 1.25rem);
      line-height: 1.55;
    }

    .record-lived p { margin-left: auto; }

    .credentials {
      margin: 3rem 0 0;
      padding: 0;
      list-style: none;
      border-top: 1px solid var(--ink);
    }

    .credentials li {
      display: grid;
      grid-template-columns: 7rem 1fr;
      gap: 1rem;
      padding: 1rem 0;
      border-bottom: 1px solid var(--line);
      text-align: left;
    }

    .credentials time { color: var(--red); }

    .journey-conclusion-shell {
      position: relative;
      z-index: 2;
      isolation: isolate;
      width: min(58rem, 76%);
      height: clamp(18rem, 29vw, 24rem);
      margin: clamp(7rem, 12vw, 11rem) auto 1rem;
    }

    .journey-conclusion-shell::before {
      content: "";
      position: absolute;
      z-index: -1;
      inset: 0;
      background: var(--red);
      clip-path: polygon(0 0, 100% 0, 100% 100%, 13% 100%);
      transform: translate(-12px, 11px) rotate(-2deg);
      transform-origin: 50% 50%;
    }

    .journey-conclusion {
      position: relative;
      width: 100%;
      height: 100%;
      display: grid;
      place-items: center;
      background: var(--ink);
      color: var(--paper);
      text-align: center;
      clip-path: polygon(0 0, 100% 0, 100% 100%, 13% 100%);
    }

    .journey-conclusion::after {
      content: "+";
      position: absolute;
      z-index: 3;
      top: 9%;
      right: 8%;
      display: grid;
      width: 2.5rem;
      height: 2.5rem;
      place-items: center;
      border: 1.5px solid var(--red);
      border-radius: 50%;
      background: var(--paper);
      color: var(--red);
      font-family: "Geist Mono", monospace;
      font-size: 1.1rem;
    }

    .journey-conclusion p {
      position: relative;
      z-index: 2;
      width: min(70%, 48rem);
      margin: 0;
      padding: 0;
      background: transparent;
      font-family: "Outfit", sans-serif;
      font-size: clamp(1.7rem, 2.7vw, 3rem);
      font-weight: 600;
      letter-spacing: -.035em;
      line-height: 1.08;
    }

    .journey-exit-thread {
      position: absolute;
      z-index: 3;
      right: 0;
      bottom: 0;
      left: 0;
      height: clamp(4rem, 8vw, 7rem);
      pointer-events: none;
    }

    .journey-exit-thread span {
      position: absolute;
      background: var(--red);
    }

    .thread-end {
      position: absolute;
      z-index: 5;
      display: grid;
      width: 2rem;
      height: 2rem;
      place-items: center;
      border-radius: 50%;
      background: var(--soft);
      color: var(--red);
      font-family: "Geist Mono", monospace;
      font-size: 1.1rem;
      font-style: normal;
      line-height: 1;
      pointer-events: none;
    }

    .journey-exit-thread .thread-end {
      top: 0;
      left: 50%;
      transform: translate(-50%, -50%);
    }

    .journey-exit-thread .h-exit {
      top: 34%;
      left: 25%;
      width: 25%;
      height: var(--thread-stroke);
      transform: translateY(-50%);
    }

    .journey-exit-thread .v-origin {
      top: 0;
      left: 50%;
      width: var(--thread-stroke);
      height: 34%;
      transform: translateX(-50%);
    }

    .journey-exit-thread .v-exit {
      top: 34%;
      bottom: 0;
      left: 25%;
      width: var(--thread-stroke);
      transform: translateX(-50%);
    }

    .manifesto {
      position: relative;
      --manifesto-first-row: 51.667svh;
      min-height: 175svh;
      overflow: clip;
      background: var(--paper);
    }

    .manifesto-grid {
      min-height: 175svh;
      display: grid;
      grid-template-rows: 51.667svh 51.667svh 1fr;
    }

    .manifesto-row {
      position: relative;
      display: grid;
      grid-template-columns: repeat(12, 1fr);
      align-items: center;
      border-bottom: 1px solid var(--line);
    }

    .manifesto-row:last-child { border-bottom: 0; }
    .manifesto-row:nth-child(1),
    .manifesto-row:nth-child(2) { border-bottom: 0; }

    .manifesto-row p {
      position: relative;
      z-index: 4;
      margin: 0;
      font-family: "Outfit", sans-serif;
      font-size: clamp(2.7rem, 5.6vw, 6rem);
      font-weight: 700;
      letter-spacing: -.048em;
      line-height: .98;
    }

    .manifesto-row:nth-child(-n+2) p {
      background: var(--paper);
      box-shadow: -.16em 0 0 var(--paper), .16em 0 0 var(--paper);
    }

    .manifesto-row:nth-child(1) p { grid-column: 1 / 8; }
    .manifesto-row:nth-child(2) p { grid-column: 4 / 13; }
    .manifesto-row:nth-child(3) { padding-bottom: clamp(5rem, 10vw, 9rem); }
    .manifesto-row:nth-child(3) p {
      grid-column: 6 / 13;
      justify-self: end;
      width: min(100%, 9ch);
      padding: clamp(1.5rem, 3vw, 2.75rem);
      border-radius: clamp(1.15rem, 2vw, 2rem) clamp(1.15rem, 2vw, 2rem) clamp(1.15rem, 2vw, 2rem) 0;
      background: var(--red);
      color: var(--paper);
      isolation: isolate;
    }

    .manifesto-row:nth-child(3)::before {
      display: none;
    }

    .manifesto-row:nth-child(3) p::before {
      content: "";
      position: absolute;
      z-index: -1;
      inset: 0;
      border-radius: inherit;
      background: var(--ink);
      transform: translate(-9px, 10px) rotate(-1.8deg);
      transform-origin: 50% 50%;
    }

    .manifesto-row:nth-child(3) p::after {
      content: "";
      position: absolute;
      z-index: -1;
      inset: 0;
      border-radius: inherit;
      background: var(--red);
    }

    .manifesto-thread {
      position: absolute;
      z-index: 3;
      inset: 0;
      pointer-events: none;
    }

    .manifesto-thread span { position: absolute; background: var(--red); }
    .manifesto-thread .v0,
    .manifesto-thread .h0 { display: none; }
    .manifesto-thread .v1 {
      left: 25%;
      top: 0;
      width: var(--thread-stroke);
      height: var(--manifesto-first-row);
      transform: translateX(-50%);
    }
    .manifesto-thread .h1 {
      left: 25%;
      top: var(--manifesto-first-row);
      width: 50%;
      height: var(--thread-stroke);
      transform: translateY(-50%);
    }
    .manifesto-thread .v2 {
      left: 75%;
      top: var(--manifesto-first-row);
      bottom: 0;
      width: var(--thread-stroke);
      transform: translateX(-50%);
    }
    .manifesto-thread .h2 {
      left: 50%;
      bottom: 0;
      width: 25%;
      height: var(--thread-stroke);
      transform: translateY(50%);
    }

    /* En pantallas amplias, la línea comparte el mismo ancho editorial que el
       contenido. Así el tramo vertical cae en el centro del bloque rojo y no
       se desplaza hacia el borde cuando el viewport supera el ancho máximo. */
    @media (min-width: 1101px) {
      .journey-exit-thread {
        right: auto;
        left: 50%;
        width: min(100%, var(--max));
        transform: translateX(-50%);
      }

      .manifesto-thread {
        inset: 0 auto 0 50%;
        width: min(100%, var(--max));
        transform: translateX(-50%);
      }

      .manifesto-row:nth-child(2) p { grid-column: 5 / 13; }
    }

    .perspective {
      position: relative;
      padding-block: clamp(6rem, 11vw, 10rem);
      background: var(--soft);
    }

    .perspective-thread {
      position: absolute;
      top: 0;
      left: 50%;
      width: var(--thread-stroke);
      height: clamp(2.5rem, 6vw, 5rem);
      background: var(--red);
      transform: translateX(-50%);
      pointer-events: none;
    }

    .perspective-end {
      top: clamp(2.5rem, 6vw, 5rem);
      left: 50%;
      transform: translate(-50%, -50%);
    }

    .motion-path-segment { will-change: clip-path; }

    .motion-mask {
      display: inline-block;
      overflow: clip;
      vertical-align: bottom;
    }

    .motion-word {
      display: inline-block;
      will-change: transform;
    }

    .motion-reveal {
      will-change: transform, opacity;
    }

    .motion-media {
      overflow: clip;
      will-change: clip-path, opacity;
    }

    .motion-media > img {
      will-change: transform;
    }

    .manifesto-row p .motion-word {
      opacity: .16;
      will-change: opacity;
    }

    .section-head {
      display: grid;
      grid-template-columns: 3fr 6fr 3fr;
      align-items: start;
      gap: 1.5rem;
      margin-bottom: clamp(3.5rem, 7vw, 6rem);
    }

    .section-head h2 {
      grid-column: 2;
      margin: -.15em 0 0;
      font-family: "Outfit", sans-serif;
      font-size: clamp(3.5rem, 6.4vw, 6.8rem);
      font-weight: 700;
      letter-spacing: -.05em;
      line-height: .9;
    }

    .section-head .side-note {
      grid-column: 3;
      max-width: 20rem;
      margin: .25rem 0 0;
      color: var(--muted);
      font-size: .95rem;
    }

    .perspective .section-head {
      display: flex;
      flex-direction: column;
      align-items: center;
      gap: 0;
      text-align: center;
    }

    .perspective .section-head h2 {
      max-width: 12ch;
      margin-top: .8rem;
    }

    .perspective .section-head .side-note {
      max-width: 36rem;
      margin-top: 1.35rem;
    }

    .relation-map {
      position: relative;
      display: grid;
      grid-template-columns: 1fr 1fr;
    }

    .relation-map::before,
    .relation-map::after {
      content: "";
      position: absolute;
      z-index: 2;
      background: var(--red);
      pointer-events: none;
    }

    .relation-map::before { left: 50%; top: 0; bottom: 0; width: var(--thread-stroke); transform: translateX(-50%); }
    .relation-map::after { left: 0; right: 0; top: 50%; height: var(--thread-stroke); transform: translateY(-50%); }

    .relation-map.motion-map::before {
      clip-path: inset(0 0 var(--map-v-clip, 100%) 0);
    }

    .relation-map.motion-map::after {
      clip-path: inset(0 var(--map-h-clip, 50%) 0 var(--map-h-clip, 50%));
    }

    .relation-end { background: var(--soft); }
    .relation-end-top { top: 0; left: 50%; transform: translate(-50%, -50%); }
    .relation-end-right { top: 50%; right: 0; transform: translate(50%, -50%); }
    .relation-end-bottom { bottom: 0; left: 50%; transform: translate(-50%, 50%); }
    .relation-end-left { top: 50%; left: 0; transform: translate(-50%, -50%); }

    .relation-center {
      position: absolute;
      z-index: 4;
      top: 50%;
      left: 50%;
      display: grid;
      width: clamp(9rem, 14vw, 13rem);
      aspect-ratio: 1;
      place-items: center;
      border: 2px solid var(--red);
      background: var(--red);
      color: var(--ink);
      font-family: "Geist Mono", monospace;
      font-size: clamp(.8rem, 1.15vw, 1rem);
      font-weight: 600;
      letter-spacing: .12em;
      border-radius: 50%;
      transform: translate(-50%, -50%);
      isolation: isolate;
      transition: color 180ms ease, background-color 180ms ease, border-color 180ms ease, transform 240ms var(--ease-out);
    }

    .relation-center > span {
      display: inline-block;
      transform: scale(1);
      transition: transform 220ms var(--ease-out);
    }

    .relation {
      position: relative;
      z-index: 1;
      min-height: clamp(22rem, 31vw, 29rem);
      padding: clamp(2rem, 4vw, 4.5rem);
      overflow: hidden;
      transition: background-color 200ms ease, color 200ms ease;
    }

    .relation::before,
    .relation::after {
      content: "";
      position: absolute;
      z-index: 3;
      background: var(--red);
      opacity: 0;
      pointer-events: none;
      transition: transform 220ms var(--ease-out), opacity 160ms ease;
    }

    .relation:nth-of-type(1)::before,
    .relation:nth-of-type(2)::before {
      bottom: 0;
      width: 2px;
      height: 58%;
      transform: scaleY(.08);
      transform-origin: bottom;
    }

    .relation:nth-of-type(3)::before,
    .relation:nth-of-type(4)::before {
      top: 0;
      width: 2px;
      height: 58%;
      transform: scaleY(.08);
      transform-origin: top;
    }

    .relation:nth-of-type(odd)::before { right: -1px; }
    .relation:nth-of-type(even)::before { left: -1px; }

    .relation:nth-of-type(1)::after,
    .relation:nth-of-type(2)::after {
      bottom: -1px;
      width: 58%;
      height: 2px;
      transform: scaleX(.08);
    }

    .relation:nth-of-type(3)::after,
    .relation:nth-of-type(4)::after {
      top: -1px;
      width: 58%;
      height: 2px;
      transform: scaleX(.08);
    }

    .relation:nth-of-type(odd)::after { right: 0; transform-origin: right; }
    .relation:nth-of-type(even)::after { left: 0; transform-origin: left; }

    /* El hover conserva un único trazo de conexión; se elimina el segundo
       recorrido horizontal que duplicaba visualmente la línea del mapa. */
    .relation::after { display: none; }

    .relation:is(:hover, :focus-within)::before {
      opacity: 1;
      transform: scale(1);
    }

    .relation-center:hover,
    .relation-map:has(.relation:is(:hover, :focus-within)) .relation-center {
      border-color: var(--red);
      background: var(--red);
      color: var(--paper);
      transform: translate(-50%, -50%);
    }

    .relation-center:hover > span,
    .relation-map:has(.relation:is(:hover, :focus-within)) .relation-center > span {
      transform: scale(1.16);
    }

    .relation:nth-of-type(odd) { padding-right: clamp(5rem, 10vw, 10rem); }
    .relation:nth-of-type(even) { padding-left: clamp(5rem, 10vw, 10rem); }
    .relation:nth-of-type(-n+2) { border-bottom: 1px solid var(--line); }

    .relation summary {
      display: flex;
      min-height: 44px;
      align-items: center;
      justify-content: space-between;
      gap: 1rem;
      cursor: pointer;
      list-style: none;
    }

    .relation summary::-webkit-details-marker { display: none; }

    .relation h3 {
      margin: 0;
      font-family: "Outfit", sans-serif;
      font-size: clamp(2rem, 3.5vw, 4rem);
      font-weight: 700;
      letter-spacing: -.04em;
      line-height: .95;
    }

    .relation-controls {
      display: inline-flex;
      align-items: center;
      flex: 0 0 auto;
      gap: .75rem;
    }

    .relation .number { color: var(--red); }

    .relation-toggle {
      display: grid;
      width: 44px;
      height: 44px;
      place-items: center;
      border: 1px solid var(--line);
      border-radius: 50%;
      font-family: "Geist Mono", monospace;
      font-size: 1rem;
      line-height: 1;
      transition: color 180ms ease, background-color 180ms ease, border-color 180ms ease;
    }

    .relation-toggle::before { content: "+"; }
    .relation[open] .relation-toggle::before { content: "−"; }
    .relation:is(:hover, :focus-within) .relation-toggle { border-color: var(--red); background: var(--red); color: var(--ink); }

    .relation p {
      max-width: 34rem;
      margin: clamp(2.5rem, 5vw, 5rem) 0 0;
      font-size: clamp(1rem, 1.35vw, 1.2rem);
      line-height: 1.58;
    }

    .work {
      --work-top: 78px;
      position: relative;
      scroll-margin-top: var(--work-top);
      background: linear-gradient(
        180deg,
        var(--soft) 0%,
        var(--paper) 18%,
        var(--soft) 78%,
        var(--paper) 100%
      );
      color: var(--ink);
      overflow: clip;
    }

    .work-pin {
      min-height: 100svh;
      padding-block: clamp(2rem, 4vh, 3.5rem);
      background: transparent;
      overflow: hidden;
    }

    .work .section-head {
      margin-bottom: clamp(1.25rem, 2.5vh, 2.25rem);
    }

    .work .section-head h2 {
      grid-column: 1 / 3;
      font-size: clamp(3.25rem, 5.4vw, 5.8rem);
    }

    .work .section-head p { color: var(--muted); }

    .work-progress {
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 1rem;
      margin-bottom: 1rem;
      color: var(--muted);
    }

    .work-progress-line {
      display: none;
    }

    .work-progress-fill {
      position: absolute;
      inset: 0;
      background: var(--red);
      transform: scaleX(0);
      transform-origin: left;
    }

    .work-instruction {
      margin: 0;
      color: var(--muted);
      text-align: right;
    }

    .work-viewport {
      width: 100%;
      overflow-x: auto;
      overflow-y: hidden;
      overscroll-behavior-inline: contain;
      scroll-snap-type: x mandatory;
      scrollbar-width: thin;
      scrollbar-color: rgba(14,14,14,.38) rgba(14,14,14,.1);
    }

    .work-viewport::-webkit-scrollbar { height: 7px; }
    .work-viewport::-webkit-scrollbar-track { background: rgba(14,14,14,.1); }
    .work-viewport::-webkit-scrollbar-thumb { background: rgba(14,14,14,.38); }

    .work-track {
      display: flex;
      width: max-content;
      gap: var(--gutter);
      padding: 0 var(--gutter) clamp(1rem, 2vh, 1.5rem);
      will-change: transform;
    }

    .intervention {
      position: relative;
      flex: 0 0 clamp(42rem, 72vw, 68rem);
      min-width: 0;
      scroll-snap-align: start;
      background: transparent;
      color: var(--ink);
    }

    .panel-media {
      position: relative;
      height: clamp(16rem, 39svh, 24rem);
      overflow: hidden;
      background: var(--soft);
    }

    .panel-media img {
      width: 100%;
      height: 100%;
      object-fit: cover;
      object-position: 50% 29%;
      filter: grayscale(1) contrast(1.05);
    }

    .photo-status {
      position: absolute;
      z-index: 5;
      top: 1.1rem;
      right: 1.1rem;
      display: inline-flex;
      align-items: center;
      min-height: 30px;
      padding: .35rem .55rem;
      border: 1px solid currentColor;
      background: var(--paper);
      color: var(--ink);
      font-family: "Geist Mono", monospace;
      font-size: .58rem;
      font-weight: 600;
      letter-spacing: .09em;
      text-transform: uppercase;
    }

    .panel-media-real::after {
      display: none;
    }

    .panel-media-placeholder {
      overflow: hidden;
      background: var(--soft);
    }

    .panel-media-placeholder img {
      display: block;
      width: 100%;
      height: 100%;
      object-fit: cover;
    }

    .panel-media-school {
      display: grid;
      place-items: center;
      background: var(--soft);
    }

    .school-word {
      font-family: "Outfit", sans-serif;
      font-size: clamp(5rem, 12vw, 11rem);
      font-weight: 800;
      letter-spacing: -.08em;
      line-height: .72;
    }

    .school-orbit {
      position: absolute;
      inset: auto 6% 8% auto;
      display: flex;
      align-items: center;
      gap: .45rem;
    }

    .school-orbit span {
      display: grid;
      width: clamp(3.2rem, 5vw, 4.5rem);
      aspect-ratio: 1;
      place-items: center;
      border: 1px solid var(--ink);
      border-radius: 50%;
      background: var(--paper);
      font-family: "Geist Mono", monospace;
      font-size: .54rem;
      letter-spacing: .05em;
      text-transform: uppercase;
    }

    .school-orbit i { display: none; }

    .panel-media-event {
      isolation: isolate;
      display: grid;
      grid-template-columns: minmax(0, 1.35fr) minmax(9rem, .65fr);
      -webkit-mask: none;
      mask: none;
      border-radius: 0 0 13% 4% / 0 0 7% 3%;
      background: var(--ink);
      color: var(--ink);
    }

    .panel-media-event::before,
    .panel-media-event::after {
      content: "";
      position: absolute;
      z-index: 3;
      bottom: -2.65rem;
      height: 5rem;
      border-radius: 50%;
      background: var(--ink);
      pointer-events: none;
    }

    .panel-media-event::before {
      left: -4%;
      width: 36%;
    }

    .panel-media-event::after {
      left: 26%;
      width: 43%;
      bottom: -2.9rem;
    }

    .event-words {
      position: relative;
      z-index: 2;
      align-self: center;
      padding: clamp(2.5rem, 4vw, 3.75rem) clamp(1.5rem, 3.4vw, 3rem) clamp(3.5rem, 5vw, 4.75rem);
      font-family: "Outfit", sans-serif;
      font-size: clamp(2.75rem, 4.45vw, 4.7rem);
      font-weight: 800;
      letter-spacing: -.052em;
      line-height: .86;
      text-transform: uppercase;
    }

    .event-words span { display: block; }

    .event-measure {
      display: grid;
      grid-template-rows: repeat(4, 1fr);
      gap: 1px;
      padding-left: 1px;
      background: var(--red);
    }

    .event-measure span {
      display: flex;
      align-items: flex-end;
      justify-content: flex-end;
      padding: .8rem;
      background: var(--ink);
      color: var(--paper);
      font-family: "Geist Mono", monospace;
      font-size: .65rem;
      font-weight: 600;
      letter-spacing: .08em;
    }

    .panel-media-event .photo-status {
      border-color: var(--ink);
      background: var(--ink);
      color: var(--paper);
    }

    .panel-media-care {
      display: grid;
      grid-template-columns: 1fr 1fr;
      background: var(--paper);
    }

    .care-rings {
      position: relative;
      overflow: hidden;
      border-right: 1px solid var(--ink);
    }

    .care-rings span {
      position: absolute;
      top: 50%;
      left: 50%;
      width: var(--ring);
      aspect-ratio: 1;
      border: 1.5px solid var(--ink);
      border-radius: 50%;
      transform: translate(-50%, -50%);
    }

    .care-rings span:nth-child(1) { --ring: 74%; }
    .care-rings span:nth-child(2) { --ring: 52%; }
    .care-rings span:nth-child(3) { --ring: 30%; background: var(--ink); }

    .care-words {
      align-self: center;
      padding: clamp(1.5rem, 4vw, 3.5rem);
      font-family: "Outfit", sans-serif;
      font-size: clamp(3.3rem, 6vw, 5.7rem);
      font-weight: 750;
      letter-spacing: -.055em;
      line-height: .83;
    }

    .care-words span { display: block; }
    .care-words span:nth-child(2) { color: var(--red); }

    .panel-media-rights {
      display: grid;
      place-items: center;
      background: var(--soft);
    }

    .rights-path {
      display: grid;
      grid-template-columns: auto minmax(5rem, 12vw) auto;
      align-items: center;
      width: min(88%, 54rem);
      font-family: "Outfit", sans-serif;
      font-size: clamp(2.7rem, 6vw, 6rem);
      font-weight: 800;
      letter-spacing: -.06em;
      line-height: .82;
      text-transform: uppercase;
    }

    .rights-path i {
      position: relative;
      height: 2px;
      margin-inline: 1rem;
      background: var(--ink);
    }

    .rights-path i::after {
      content: "+";
      position: absolute;
      top: 50%;
      right: 0;
      display: grid;
      width: 2.2rem;
      height: 2.2rem;
      place-items: center;
      border-radius: 50%;
      background: var(--red);
      color: var(--ink);
      font: 600 1rem/1 "Geist Mono", monospace;
      transform: translate(50%, -50%);
    }

    .intervention-copy {
      display: grid;
      grid-template-columns: 3.75rem minmax(0, 1fr);
      column-gap: clamp(1rem, 2vw, 2rem);
      row-gap: 0;
      align-items: start;
      min-height: 13rem;
      padding: clamp(1.25rem, 2.5vw, 2.25rem);
      border-top: 1px solid var(--ink);
      background: var(--paper);
    }

    .intervention .number { color: var(--red); }

    .intervention h3 {
      grid-column: 2;
      max-width: 22ch;
      margin: 0;
      font-family: "Outfit", sans-serif;
      font-size: clamp(2rem, 2.8vw, 3.25rem);
      font-weight: 700;
      letter-spacing: -.045em;
      line-height: .96;
      overflow-wrap: break-word;
    }

    .intervention p {
      grid-column: 2;
      width: min(100%, 42rem);
      max-width: none;
      margin: 1.15rem 0 0;
      padding-top: 1rem;
      border-top: 1px solid var(--line);
      font-size: clamp(1rem, 1.25vw, 1.15rem);
      line-height: 1.48;
      overflow-wrap: break-word;
    }

    .work-finale {
      flex: 0 0 clamp(34rem, 64vw, 58rem);
      min-height: 100%;
      display: grid;
      align-content: center;
      padding: clamp(3rem, 7vw, 7rem);
      border: 1px solid var(--line);
      background: rgba(255,255,255,.72);
      scroll-snap-align: end;
    }

    .work-finale .mono { color: var(--red); }

    .work-quote {
      margin: 1.5rem 0 0;
      padding-top: 0;
      font-family: "Outfit", sans-serif;
      font-size: clamp(3rem, 6vw, 6.5rem);
      font-weight: 650;
      letter-spacing: -.05em;
      line-height: .93;
    }

    .work[data-enhanced="true"] .work-pin {
      position: sticky;
      top: 0;
      height: 100svh;
    }

    .work[data-enhanced="true"] .work-viewport {
      overflow: hidden;
      scroll-snap-type: none;
    }

    .share {
      padding-block: clamp(6rem, 10vw, 9rem);
      background: var(--paper);
    }

    .share-title {
      display: grid;
      grid-template-columns: 1fr 1fr;
      align-items: end;
      gap: 2rem;
      margin-bottom: clamp(3.5rem, 7vw, 7rem);
    }

    .share-title h2 {
      margin: 0;
      font-family: "Outfit", sans-serif;
      font-size: clamp(3.6rem, 8vw, 8.4rem);
      font-weight: 700;
      letter-spacing: -.055em;
      line-height: .82;
    }

    .share-title p {
      max-width: 31rem;
      margin: 0 0 .5rem;
      font-size: clamp(1.05rem, 1.45vw, 1.25rem);
    }

    .share-grid {
      display: grid;
      grid-template-columns: 5fr 7fr;
      gap: clamp(.8rem, 1.5vw, 1.25rem);
    }

    .agenda,
    .archive {
      position: relative;
      z-index: 0;
      isolation: isolate;
      min-width: 0;
      padding: clamp(2rem, 4vw, 4rem);
      border: 1px solid var(--ink);
      background: var(--paper);
    }

    .agenda { border-radius: 0 clamp(2rem, 4vw, 4rem) 0 clamp(2rem, 4vw, 4rem); }
    .archive { border-radius: clamp(2rem, 4vw, 4rem) 0 clamp(2rem, 4vw, 4rem) 0; }

    .agenda::before,
    .archive::before {
      content: "";
      position: absolute;
      z-index: -2;
      inset: 0;
      border-radius: inherit;
      transform-origin: 50% 50%;
    }

    .agenda::before {
      background: var(--soft);
      border: 1px solid var(--muted);
      transform: translate(-7px, 8px) rotate(-1.35deg);
    }

    .archive::before {
      background: var(--soft);
      border: 1px solid var(--muted);
      transform: translate(8px, 7px) rotate(1.15deg);
    }

    .module-title {
      display: flex;
      align-items: center;
      justify-content: space-between;
      min-height: 44px;
      margin-bottom: 2.5rem;
    }

    .module-title .count { color: var(--red); }

    .event {
      display: grid;
      grid-template-columns: 5rem 1fr;
      gap: clamp(1rem, 3vw, 3rem);
      padding: 1.6rem 0;
      border-top: 1px solid var(--line);
    }

    .event:last-child { border-bottom: 1px solid var(--line); }

    .event .date {
      color: var(--red);
      font-family: "Outfit", sans-serif;
      font-size: 1.4rem;
      font-weight: 700;
      line-height: 1;
    }

    .event p { margin: 0; }
    .event strong { display: block; margin-bottom: .45rem; font-size: 1.12rem; }
    .event small { color: var(--muted); font-size: .9rem; }

    .filters {
      display: flex;
      flex-wrap: wrap;
      justify-content: center;
      gap: .5rem;
      margin-bottom: 2rem;
    }

    .filter {
      position: relative;
      z-index: 0;
      isolation: isolate;
      min-height: 44px;
      padding: .65rem .85rem;
      border: 1px solid var(--line);
      border-radius: .9rem 0 .9rem 0;
      background: transparent;
      font-family: "Geist Mono", monospace;
      font-size: .65rem;
      font-weight: 500;
      letter-spacing: .08em;
      text-transform: uppercase;
      cursor: pointer;
      transition: color 180ms ease, background-color 180ms ease, border-color 180ms ease, transform 140ms var(--ease-out);
    }

    .filter::before {
      content: "";
      position: absolute;
      z-index: -1;
      inset: 0;
      border-radius: inherit;
      background: var(--red);
      transform: translate(2px, 2px) rotate(1deg);
      transition: transform 180ms var(--ease-out), opacity 180ms ease;
      opacity: .8;
    }

    .filter::after {
      content: "";
      position: absolute;
      z-index: -1;
      inset: 0;
      border-radius: inherit;
      background: var(--paper);
    }

    .filter[aria-pressed="true"]::after { background: var(--ink); }

    .filter[aria-pressed="true"] { border-color: var(--ink); background: var(--ink); color: var(--paper); }
    .filter:active { transform: scale(.97); }

    .resource-list { margin: 0; padding: 0; list-style: none; }

    .resource-item {
      display: grid;
      grid-template-columns: 2.7rem 1fr auto;
      align-items: center;
      gap: 1rem;
      min-height: 77px;
      border-top: 1px solid var(--line);
    }

    .resource-item:last-child { border-bottom: 1px solid var(--line); }
    .resource-item[hidden] { display: none; }

    .resource-item a {
      display: flex;
      align-items: center;
      min-height: 76px;
      font-family: "Outfit", sans-serif;
      font-size: clamp(1.05rem, 1.7vw, 1.4rem);
      font-weight: 650;
      line-height: 1.12;
    }

    .resource-item .tag { color: var(--muted); }

    .closing {
      position: relative;
      min-height: 92svh;
      overflow: clip;
      background: var(--soft);
    }

    .closing-inner {
      position: relative;
      min-height: 92svh;
      display: grid;
      grid-template-columns: repeat(12, 1fr);
      grid-template-rows: 1fr auto 1fr;
      align-items: center;
      padding-block: clamp(4rem, 8vw, 8rem);
    }

    .closing .eyebrow {
      grid-column: 7 / 13;
      align-self: start;
      justify-self: end;
      text-align: right;
    }

    .closing-title {
      grid-column: 5 / 13;
      grid-row: 2;
      justify-self: end;
      margin: 0;
      text-align: right;
      font-family: "Outfit", sans-serif;
      font-size: clamp(4rem, 9.8vw, 10.5rem);
      font-weight: 700;
      letter-spacing: -.06em;
      line-height: .83;
    }

    .closing-title > span:not(.motion-mask) { display: inline; color: var(--red); }
    .closing-title .motion-mask,
    .closing-title .motion-word { display: inline-block; }

    .closing-action {
      position: relative;
      grid-column: 1 / 13;
      grid-row: 3;
      align-self: end;
      display: grid;
      grid-template-columns: minmax(4rem, 1fr) auto auto;
      align-items: center;
      gap: 1rem;
      width: 100%;
    }

    .closing-action::before {
      content: "";
      position: static;
      width: 100%;
      height: 2px;
      background: var(--red);
    }

    .closing-action .you {
      position: relative;
      z-index: 2;
      padding: .2rem .6rem;
      background: var(--soft);
      color: var(--red);
    }

    .closing-action .cta-button {
      --cta-face: var(--ink);
      position: relative;
      z-index: 2;
      min-width: 0;
      min-height: 56px;
      padding-inline: 1.25rem;
      background: var(--ink);
      color: var(--paper);
      font-size: .78rem;
    }

    .site-footer {
      background: var(--paper);
      padding-block: clamp(3rem, 6vw, 5rem) 2rem;
    }

    .footer-grid {
      display: grid;
      grid-template-columns: 4fr 3fr 5fr;
      gap: 2rem;
      align-items: start;
    }

    .footer-name {
      margin: 0;
      font-family: "Outfit", sans-serif;
      font-size: clamp(1.7rem, 2.5vw, 2.8rem);
      font-weight: 700;
      letter-spacing: -.035em;
      line-height: 1;
    }

    .footer-contact a {
      display: inline-block;
      min-height: 44px;
      padding-top: .6rem;
      text-decoration: underline;
      text-decoration-color: var(--red);
      text-underline-offset: .3rem;
    }

    .footer-note { margin: 0; color: var(--muted); font-size: .93rem; line-height: 1.55; }

    .footer-bottom {
      display: flex;
      justify-content: space-between;
      gap: 1rem;
      margin-top: clamp(3rem, 6vw, 6rem);
      padding-top: 1rem;
      border-top: 1px solid var(--ink);
      color: var(--muted);
    }

    .footer-links { display: flex; flex-wrap: wrap; gap: 1rem; }

    .text-link { position: relative; display: inline-flex; align-items: center; min-height: 44px; }

    @media (hover: hover) and (pointer: fine) {
      .chapter-nav a:hover::after,
      .text-link:hover::after { transform: scaleX(1); transform-origin: left; }
      .header-cta:hover { color: var(--red); }
      .header-cta:hover .header-cta-arrow {
        border-color: var(--red);
        background: var(--red);
        color: var(--ink);
        transform: rotate(-35deg);
      }
      .mobile-nav a:hover .nav-arrow { transform: translateX(.35rem); }
      .cta-button:hover { --cta-face: var(--red); border-color: var(--red); background: var(--red); color: var(--ink); }
      .cta-button:hover::after { border-color: var(--red); background: var(--red); }
      .cta-button:hover::before { transform: translate(4px, 4px) rotate(1.8deg); }
      .cta-button:hover .arrow { color: var(--ink); }
      .relation:is(:hover, :focus-within) {
        background: var(--paper);
      }
      .relation:nth-of-type(1):is(:hover, :focus-within) {
        background: radial-gradient(ellipse at 100% 100%, var(--paper) 0 48%, rgba(255,255,255,.9) 64%, rgba(255,255,255,0) 100%);
      }
      .relation:nth-of-type(2):is(:hover, :focus-within) {
        background: radial-gradient(ellipse at 0 100%, var(--paper) 0 48%, rgba(255,255,255,.9) 64%, rgba(255,255,255,0) 100%);
      }
      .relation:nth-of-type(3):is(:hover, :focus-within) {
        background: radial-gradient(ellipse at 100% 0, var(--paper) 0 48%, rgba(255,255,255,.9) 64%, rgba(255,255,255,0) 100%);
      }
      .relation:nth-of-type(4):is(:hover, :focus-within) {
        background: radial-gradient(ellipse at 0 0, var(--paper) 0 48%, rgba(255,255,255,.9) 64%, rgba(255,255,255,0) 100%);
      }
      .relation:is(:hover, :focus-within) .number { color: var(--ink); }
      .filter:hover { border-color: var(--ink); }
      .filter:hover::before { transform: translate(3px, 3px) rotate(1.5deg); opacity: 1; }
      .resource-item:hover { background: var(--soft); }
    }

    @media (max-width: 980px) {
      :root { --axis: 54%; }
      .chapter-nav { display: none; }
      .header-grid { grid-template-columns: 1fr auto auto; gap: .5rem; }
      .header-cta { grid-column: 2; }
      .menu-toggle { display: block; grid-column: 3; }
      .hero-title { font-size: clamp(4rem, 9vw, 6rem); }
      .hero-title .line-1 { grid-column: 1 / 11; }
      .hero-title .line-2, .hero-title .line-3a { grid-column: 1 / 7; }
      .hero-title .line-3b { grid-column: 9 / 13; }
      .hero-title .line-4 { grid-column: 7 / 13; }
      .hero-portrait { width: clamp(12rem, 23vw, 15rem); left: calc(var(--axis) - 5rem); }
      .hero-bottom { grid-template-columns: 1fr 1fr; }
      .hero-intro { grid-column: 1; }
      .hero-roles { grid-column: 2; }
      .section-head { grid-template-columns: 2fr 7fr 3fr; }
      .relation { padding: 2rem; padding-bottom: 4rem; }
      .relation:nth-of-type(odd) { padding-right: 5rem; }
      .relation:nth-of-type(even) { padding-left: 5rem; }
    }

    @media (min-width: 768px) and (max-width: 1100px) {
      .intervention-copy {
        grid-template-columns: 3.25rem minmax(0, 1fr);
        min-height: 14rem;
      }
    }

    @media (min-width: 768px) {
      .intervention {
        padding-bottom: clamp(1.75rem, 3.5vh, 3.5rem);
      }
    }

    @media (max-width: 767px) {
      .work-pin {
        min-height: 100svh;
        padding-block: 5rem;
      }

      .work .section-head {
        display: block;
        margin-bottom: 2rem;
      }

      .work .section-head h2 {
        margin-top: .8rem;
        font-size: clamp(3.2rem, 15vw, 4.5rem);
      }

      .work .section-head .side-note { margin-top: 1.25rem; }
      .work-progress { padding-inline: var(--gutter); }
      .work-instruction { max-width: 13rem; font-size: .62rem; }

      .work-track {
        gap: .85rem;
        padding-bottom: 1.25rem;
      }

      .intervention { flex-basis: calc(100vw - (2 * var(--gutter)) - .75rem); }
      .panel-media { height: clamp(18rem, 72vw, 22rem); }

      .photo-status {
        top: .75rem;
        right: .75rem;
        max-width: 9rem;
        font-size: .58rem;
      }

      .school-word { font-size: clamp(3.9rem, 19vw, 6.5rem); }
      .school-orbit { right: 4%; bottom: 6%; }
      .school-orbit span { width: 3.1rem; }
      .school-orbit i { width: .7rem; }

      .panel-media-event {
        grid-template-columns: minmax(0, 1fr) 5rem;
      }
      .panel-media-event::before {
        left: -7%;
        width: 42%;
        bottom: -2.85rem;
      }
      .panel-media-event::after {
        left: 27%;
        width: 47%;
        bottom: -3rem;
      }
      .event-words {
        align-self: center;
        padding: 2.5rem 1rem 3.65rem 1.25rem;
        font-size: clamp(1.95rem, 8.65vw, 2.8rem);
        letter-spacing: -.045em;
        line-height: .88;
      }
      .event-measure span { padding: .55rem .45rem; font-size: .6rem; }

      .panel-media-care { grid-template-columns: .85fr 1.15fr; }
      .care-words { padding: 1rem; font-size: clamp(2.2rem, 9vw, 3.5rem); }

      .rights-path {
        grid-template-columns: 1fr;
        gap: 1.2rem;
        font-size: clamp(3rem, 14vw, 4.8rem);
        text-align: center;
      }

      .rights-path i { width: 2px; height: 3rem; margin: auto; }
      .rights-path i::after { top: auto; right: 50%; bottom: 0; transform: translate(50%, 50%); }

      .intervention-copy {
        grid-template-columns: 2.1rem minmax(0, 1fr);
        column-gap: .7rem;
        min-height: 17rem;
        padding: 1.25rem;
      }

      .intervention h3 { max-width: 100%; font-size: clamp(1.9rem, 8vw, 2.45rem); }
      .intervention p { font-size: 1rem; }

      .work-finale {
        flex-basis: calc(100vw - (2 * var(--gutter)) - .75rem);
        min-height: 33rem;
        padding: 2rem;
      }

      .work-quote { font-size: clamp(3rem, 13vw, 4.4rem); }
    }

    @media (max-width: 700px) {
      :root {
        --gutter: 1.25rem;
        --axis: 55%;
        --mobile-thread-origin: calc(max(var(--gutter), var(--safe-left)) + .5rem);
      }
      .site-header, .header-grid { min-height: 70px; }
      .brand { font-size: .93rem; }
      .header-cta { gap: .5rem; font-size: .74rem; }
      .header-cta-arrow { width: 1.9rem; }
      .menu-toggle { width: 44px; height: 44px; }
      .mobile-nav { inset: 70px 0 0; }
      .hero { min-height: 780px; }
      .hero-inner { min-height: 780px; padding-top: 1.7rem; padding-bottom: 1.4rem; }
      .hero-kicker { grid-template-columns: var(--axis) 1fr; }
      .hero-kicker span:first-child { padding-right: .75rem; }
      .hero-kicker span:last-child { padding-left: .75rem; font-size: .56rem; }
      .hero-stage { min-height: 500px; margin-top: .7rem; }
      .hero-title {
        top: .2rem;
        font-size: clamp(3.35rem, 15.5vw, 4.25rem);
        line-height: .83;
        letter-spacing: -.055em;
      }
      .hero-title .line-1 { grid-column: 1 / 13; grid-row: 1; }
      .hero-title .line-2 { grid-column: 1 / 8; grid-row: 2; margin-top: .16em; }
      .hero-title .line-3a { grid-column: 1 / 8; grid-row: 3; margin-top: .16em; }
      .hero-title .line-3b { grid-column: 1 / 6; grid-row: 4; margin-top: .16em; text-align: left; }
      .hero-title .line-4 { grid-column: 4 / 13; grid-row: 5; margin-top: .16em; }
      .hero-title .line-4 > span {
        padding-left: .17em;
      }
      .hero-portrait {
        top: 8.1rem;
        left: calc(var(--axis) - .1rem);
        width: 45%;
        height: 17rem;
      }
      .hero-portrait::before,
      .hero-portrait img { clip-path: polygon(0 0, 100% 0, 100% 100%, 17% 100%); }
      .hero-portrait::before { transform: translate(7px, 7px) rotate(1.8deg); }
      .portrait-note { display: none; }
      .hero-bottom { grid-template-columns: 1fr; gap: 1.15rem; }
      .hero-intro { grid-column: 1; font-size: 1rem; line-height: 1.42; }
      .hero-roles { grid-column: 1; grid-template-columns: 1fr auto; gap: 1rem; }
      .hero-roles p { font-size: .84rem; }
      .cta-button { min-height: 48px; min-width: 9rem; }

      .journey { padding-block: 5rem; }
      .journey-head { display: flex; margin-left: 0; margin-bottom: 4.5rem; }
      .journey-head h2 { font-size: clamp(3rem, 14vw, 4rem); }
      .journey-grid { display: block; padding-left: 2.4rem; }
      .journey-axis { left: .5rem; top: -2rem; bottom: -3rem; }
      .record { min-height: 0; padding: 0 0 5.5rem; text-align: left; }
      .record:last-child { padding-bottom: 0; }
      .record-lived p { margin-left: 0; }
      .record-label { margin-bottom: 2rem; }
      .record-studied .record-label::before { display: none; }
      .record-studied .record-label::after { display: block; }
      .record-year { font-size: clamp(5rem, 27vw, 7.2rem); }
      .record h3 { margin: 2rem 0 1rem; font-size: 2rem; }
      .record p { font-size: 1rem; }
      .credentials { margin-top: 2rem; }
      .credentials li { grid-template-columns: 5.5rem 1fr; gap: .5rem; font-size: .86rem; }
      .journey-conclusion-shell {
        width: 92%;
        height: 18rem;
        margin: 6rem auto 1rem;
      }
      .journey-conclusion {
        padding: 0;
        text-align: center;
        clip-path: polygon(0 0, 100% 0, 83% 100%, 0 88%);
      }
      .journey-conclusion-shell::before {
        clip-path: polygon(0 0, 100% 0, 83% 100%, 0 88%);
        transform: translate(7px, 8px) rotate(1.6deg);
      }
      .journey-conclusion p { width: 76%; padding: 0; font-size: clamp(1.7rem, 6.5vw, 2.1rem); }
      .journey-conclusion::after {
        top: 5%;
        right: auto;
        left: 2%;
        width: 2.15rem;
        height: 2.15rem;
      }

      .manifesto {
        --manifesto-first-row: 43.333svh;
        --manifesto-entry-drop: clamp(3.5rem, 10svh, 6rem);
      }
      .manifesto, .manifesto-grid { min-height: 150svh; }
      .manifesto-grid { grid-template-rows: 43.333svh 43.333svh 1fr; }
      .manifesto-row { grid-template-columns: repeat(6, 1fr); }
      .manifesto-row p { font-size: clamp(2.4rem, 11vw, 3.25rem); }
      .manifesto-row:nth-child(1) p { grid-column: 1 / 6; }
      .manifesto-row:nth-child(2) p { grid-column: 2 / 7; }
      .manifesto-row:nth-child(3) { padding-bottom: clamp(3.5rem, 16vw, 6rem); }
      .manifesto-row:nth-child(3) p {
        grid-column: 2 / 7;
        width: min(100%, 8.5ch);
        padding: 1.35rem 1rem 1.35rem 1.5rem;
      }
      .journey-exit-thread .h-exit { display: none; }
      .journey-exit-thread .thread-end { left: var(--mobile-thread-origin); }
      .journey-exit-thread .v-origin,
      .journey-exit-thread .v-exit { left: var(--mobile-thread-origin); width: var(--thread-stroke); }
      .manifesto-thread .v0 {
        display: block;
        top: 0;
        left: var(--mobile-thread-origin);
        width: var(--thread-stroke);
        height: var(--manifesto-entry-drop);
        transform: translateX(-50%);
      }
      .manifesto-thread .h0 {
        display: block;
        top: var(--manifesto-entry-drop);
        left: var(--mobile-thread-origin);
        width: calc(16.666% - var(--mobile-thread-origin));
        height: var(--thread-stroke);
        transform: translateY(-50%);
      }
      .manifesto-thread .v1 {
        left: 16.666%;
        top: var(--manifesto-entry-drop);
        height: calc(var(--manifesto-first-row) - var(--manifesto-entry-drop));
      }
      .manifesto-thread .h1 { left: 16.666%; top: var(--manifesto-first-row); width: 33.334%; }
      .manifesto-thread .v2 { left: 50%; top: var(--manifesto-first-row); bottom: 0; height: auto; }
      .manifesto-thread .h2 { display: none; }

      .perspective { padding-block: 5rem; }
      .section-head { display: block; margin-bottom: 3rem; }
      .section-head h2 { margin-top: 1rem; font-size: clamp(3.2rem, 15vw, 4.5rem); }
      .section-head .side-note { margin-top: 1.5rem; }
      .relation-map { display: block; border: 0; }
      .relation-map::before { left: 1.2rem; width: var(--thread-stroke); }
      .relation-map::after, .relation-center { display: none; }
      .relation-end-left, .relation-end-right { display: none; }
      .relation-end-top,
      .relation-end-bottom { left: 1.2rem; }
      .relation::before, .relation::after { display: none; }
      .relation {
        min-height: 0;
        padding: 1.6rem 0 2.5rem 3.25rem !important;
        border-top: 0;
        border-right: 0;
      }
      .relation::after {
        content: "";
        display: block;
        position: absolute;
        z-index: 1;
        top: 0;
        right: 0 !important;
        left: 2.35rem !important;
        width: auto !important;
        height: 1px;
        background: var(--ink);
        opacity: 1;
        transform: none !important;
        transform-origin: center !important;
      }
      .relation:first-of-type::after { display: none; }
      .relation:last-child { border-bottom: 0; }
      .relation summary { min-height: 44px; align-items: center; }
      .relation h3 { font-size: 2rem; }
      .relation p { margin-top: 1.2rem; font-size: .96rem; }

      .share { padding-block: 5rem; }
      .share-title { display: block; margin-bottom: 3rem; }
      .share-title h2 { font-size: clamp(3.8rem, 17vw, 5.2rem); }
      .share-title p { margin-top: 1.75rem; }
      .share-grid {
        display: block;
      }
      .agenda, .archive { padding: 2.5rem 1.25rem; }
      .agenda { margin-bottom: 1rem; }
      .event { grid-template-columns: 4.2rem 1fr; gap: 1rem; }
      .resource-item { grid-template-columns: 2.2rem 1fr; gap: .65rem; }
      .resource-item .tag { grid-column: 2; padding-bottom: .7rem; }

      .closing, .closing-inner { min-height: 760px; }
      .closing-inner { grid-template-rows: auto 1fr auto; padding-block: 4rem; }
      .closing .eyebrow { grid-column: 3 / 13; }
      .closing-title { grid-column: 2 / 13; font-size: clamp(4.2rem, 19vw, 5.6rem); }
      .closing-action { grid-column: 1 / 13; grid-template-columns: minmax(2rem, 1fr) auto auto; gap: .65rem; }
      .closing-action .cta-button { min-height: 52px; min-width: 0; padding-inline: 1rem; }

      .footer-grid { display: block; }
      .footer-contact { margin-top: 2.5rem; }
      .footer-note { margin-top: 2rem; }
      .footer-bottom { display: block; }
      .footer-links { margin-top: 1.5rem; }
    }

    @media (max-width: 767px) {
      .intervention:nth-child(3) .panel-media-event {
        -webkit-mask: none;
        mask: none;
      }
    }

    @media (max-width: 520px) {
      .header-grid { grid-template-columns: minmax(0, 1fr) auto; }
      .header-cta { display: none; }
      .menu-toggle { grid-column: 2; }
    }

    /* Pasada responsive integral: conserva la composición y evita cortes en
       anchos intermedios, pantallas bajas y dispositivos con safe areas. */
    @media (max-width: 1100px) {
      .share { overflow: clip; }
      .agenda::before { transform: translate(-5px, 6px) rotate(-1deg); }
      .archive::before { transform: translate(5px, 6px) rotate(1deg); }
      .closing-title { max-width: 9ch; }
    }

    @media (min-width: 701px) and (max-width: 900px) {
      :root { --gutter: clamp(1.75rem, 4vw, 2.5rem); }

      .hero {
        min-height: max(46rem, calc(100svh - 82px));
      }

      .hero-inner {
        min-height: max(46rem, calc(100svh - 82px));
        padding-top: clamp(2rem, 4vh, 3.25rem);
      }

      .hero-stage { min-height: clamp(30rem, 60vw, 35rem); }
      .hero-title { font-size: clamp(4rem, 9.2vw, 5rem); }
      .hero-portrait {
        top: clamp(4.8rem, 9vw, 6rem);
        left: calc(var(--axis) - 4rem);
        width: clamp(11.5rem, 25vw, 13rem);
        height: clamp(22rem, 43vw, 27rem);
      }
      .portrait-note { top: clamp(25rem, 47vw, 31rem); }

      .hero-bottom { width: min(100%, 44rem); }
      .hero-intro { font-size: 1.05rem; }

      .journey-conclusion-shell { width: min(86%, 42rem); }

      .manifesto-row p { font-size: clamp(3.25rem, 7.5vw, 4.5rem); }
      .manifesto-row:nth-child(2) p { grid-column: 3 / 13; }
      .manifesto-row:nth-child(3) p { grid-column: 6 / 13; }

      .relation { padding: 1.75rem; padding-bottom: 3.25rem; }
      .relation:nth-of-type(odd) { padding-right: 4rem; }
      .relation:nth-of-type(even) { padding-left: 4rem; }

      .work-pin { min-height: auto; padding-block: clamp(4.5rem, 8vw, 6rem); }
      .work-track { gap: 1.25rem; }
      .intervention { flex-basis: min(78vw, 44rem); }
      .panel-media { height: clamp(19rem, 48vw, 25rem); }
      .work-finale { flex-basis: min(70vw, 38rem); min-height: 36rem; }

      .share-grid { grid-template-columns: 1fr; gap: 1.5rem; }
      .agenda,
      .archive { padding: clamp(2.5rem, 6vw, 4rem); }
    }

    @media (max-width: 430px) {
      :root { --gutter: clamp(1rem, 5vw, 1.25rem); }

      .brand { max-width: calc(100vw - 6rem); }
      .hero,
      .hero-inner { min-height: max(47rem, calc(100svh - 70px)); }
      .hero-stage { min-height: clamp(28rem, 132vw, 31rem); }
      .hero-title { font-size: clamp(3rem, 15.2vw, 4.05rem); }
      .hero-portrait {
        top: clamp(7.35rem, 38vw, 8.35rem);
        left: calc(var(--axis) - .35rem);
        width: min(46%, 10.5rem);
        height: clamp(15.25rem, 78vw, 18rem);
      }
      .hero-bottom { gap: 1rem; }
      .hero-roles { width: 100%; }
      .hero-roles p { max-width: 24rem; font-size: 1rem; line-height: 1.4; }

      .journey-head h2 { font-size: clamp(2.75rem, 13.5vw, 3.75rem); }
      .record-year { font-size: clamp(4.65rem, 25vw, 6.75rem); }
      .credentials li { grid-template-columns: 4.8rem minmax(0, 1fr); }
      .journey-conclusion-shell { width: calc(100% - .5rem); height: clamp(17rem, 82vw, 19rem); }
      .journey-conclusion p { width: 82%; font-size: clamp(1.65rem, 7.4vw, 2rem); }

      .manifesto { --manifesto-first-row: 40svh; }
      .manifesto,
      .manifesto-grid { min-height: 142svh; }
      .manifesto-grid { grid-template-rows: 40svh 46svh minmax(50svh, auto); }
      .manifesto-row { min-width: 0; }
      .manifesto-row p {
        min-width: 0;
        font-size: clamp(2.15rem, 10.7vw, 3rem);
        overflow-wrap: normal;
        word-break: normal;
      }
      .manifesto-row:nth-child(2) p { grid-column: 2 / 7; }
      .manifesto-row:nth-child(3) p {
        width: min(100%, 8.3ch);
        padding: 1.25rem 1rem 1.3rem 1.35rem;
      }
      .motion-mask { max-width: 100%; }

      .section-head h2 { font-size: clamp(2.85rem, 14vw, 4rem); }
      .relation { padding-left: 2.8rem !important; }
      .relation-map::before,
      .relation-end-top,
      .relation-end-bottom { left: 1rem; }
      .relation summary { gap: .5rem; }
      .relation h3 { font-size: clamp(1.75rem, 9vw, 2rem); }
      .relation-controls { gap: .35rem; }

      .work-pin { padding-block: 4rem; }
      .work-progress { gap: .6rem; }
      .work-instruction { max-width: 9rem; }
      .intervention,
      .work-finale { flex-basis: calc(100vw - (2 * var(--gutter)) - .25rem); }
      .panel-media { height: clamp(16rem, 82vw, 20rem); }
      .intervention-copy { min-height: 16rem; padding: 1.1rem; }
      .intervention h3 { font-size: clamp(1.75rem, 8vw, 2.25rem); }

      .share-title h2 { font-size: clamp(3.45rem, 16vw, 4.7rem); }
      .agenda,
      .archive { padding: 2.25rem 1rem; }
      .event { grid-template-columns: 3.65rem minmax(0, 1fr); }
      .module-title { gap: .75rem; }
      .module-title .count { text-align: right; }
      .filters { gap: .45rem; }
      .filter { padding-inline: .72rem; }
      .resource-item { grid-template-columns: 1.8rem minmax(0, 1fr); }
      .resource-item a { font-size: 1.05rem; overflow-wrap: anywhere; }

      .closing,
      .closing-inner { min-height: max(42rem, 100svh); }
      .closing-title { grid-column: 1 / 13; font-size: clamp(3.65rem, 18vw, 5rem); }
      .closing .eyebrow { grid-column: 2 / 13; }
      .closing-action { grid-template-columns: minmax(1.25rem, 1fr) auto auto; }

      .footer-name { font-size: clamp(2rem, 11vw, 3rem); overflow-wrap: anywhere; }
      .footer-contact a { overflow-wrap: anywhere; }
    }

    @media (max-width: 350px) {
      .hero-kicker span:last-child { font-size: .52rem; letter-spacing: .07em; }
      .hero-title { font-size: clamp(2.8rem, 14.8vw, 3.25rem); }
      .hero-portrait { top: 7rem; height: 15rem; }
      .hero-intro,
      .hero-roles p,
      .record p,
      .relation p,
      .intervention p,
      .share-title p,
      .event small,
      .footer-note { font-size: 1rem; }
      .closing-action .you { display: none; }
      .closing-action { grid-template-columns: 1fr auto; }
    }

    @media (min-width: 901px) and (max-height: 759px) {
      .hero,
      .hero-inner { min-height: 46rem; }
      .hero-inner { padding-top: 1.75rem; padding-bottom: 1.75rem; }
      .hero-stage { min-height: 34rem; }
      .work-pin { min-height: auto; padding-block: 4.5rem; }
      .panel-media { height: clamp(18rem, 47vh, 22rem); }
    }

    @media (orientation: landscape) and (max-height: 620px) {
      .site-header,
      .header-grid { min-height: 64px; }
      .mobile-nav { inset-block-start: calc(64px + var(--safe-top)); }
      .mobile-nav a { min-height: 3.35rem; font-size: clamp(1.3rem, 5vh, 2rem); }
      .hero,
      .hero-inner { min-height: 42rem; }
      .hero-stage { min-height: 30rem; }
      .work-pin { min-height: auto; padding-block: 4rem; }
      .closing,
      .closing-inner { min-height: 40rem; }
    }

    @media (prefers-reduced-motion: reduce) {
      html { scroll-behavior: auto; }
      .site-header { transition: none; }
      .mobile-nav[aria-hidden="false"] a { animation: none; }
      .work { height: auto !important; }
      .work-pin { position: relative !important; top: auto !important; height: auto !important; }
      .work-track { transform: none !important; will-change: auto; }
      .work-viewport { overflow-x: auto !important; scroll-snap-type: x mandatory !important; }
      *, *::before, *::after {
        animation-duration: .01ms !important;
        animation-iteration-count: 1 !important;
        scroll-behavior: auto !important;
        transition-duration: .01ms !important;
      }
      .manifesto-row p .motion-word { opacity: 1 !important; }
      .motion-reveal, .motion-media, .motion-media > img, .motion-word {
        opacity: 1 !important;
        transform: none !important;
        clip-path: none !important;
      }
    }

    @media (prefers-reduced-transparency: reduce) {
      .site-header { background: var(--paper); -webkit-backdrop-filter: none; backdrop-filter: none; }
    }

    @media (prefers-contrast: more) {
      :root { --line: rgba(14,14,14,.65); }
      .site-header { background: var(--paper); }
      .filter { border-color: var(--ink); }
      .cta-button::before,
      .filter::before { transition: none; }
    }
