/* Range: an editorial index of real roles and project evidence. */
.operator-chapter {
  --operator-sticky-top: 112px;
  --operator-anchor-gap: 24px;
  padding: 76px 0 48px;
  background: var(--solid-ink);
  color: var(--solid-white);
}
.operator-intro {
  display: grid;
  grid-template-columns: 1.45fr 1fr;
  align-items: end;
  gap: 6vw;
  margin-bottom: 64px;
}
.operator-intro h2 {
  font: 800 clamp(58px, 6.4vw, 96px)/.96 "Barlow Condensed", sans-serif;
  letter-spacing: -.025em;
  margin: 0;
}
.operator-intro h2 span { color: var(--solid-orange); }
.operator-positioning p { font-size: 17px; line-height: 1.7; margin: 0; color: var(--solid-inverse-muted); }
.operator-positioning p:first-child { font-size: 22px; line-height: 1.5; color: var(--solid-white); margin-bottom: 16px; }
.operator-hint { font-size: 13px; margin: 0 0 20px; color: var(--solid-inverse-muted); }
.operator-map {
  display: grid;
  grid-template-columns: minmax(0, .9fr) minmax(0, 1fr);
  align-items: start;
  gap: 8vw;
  border-top: 1px solid var(--solid-dark-rule);
}
.operator-index {
  position: sticky;
  top: var(--operator-sticky-top);
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  padding: 32px 12px 24px 0;
}
.operator-chapter[data-index-sticky="false"] .operator-index { position: static; }
.operator-role {
  position: relative;
  display: block;
  max-width: calc(100% - 12px);
  padding-block: 3px 8px;
  color: var(--solid-inverse-muted);
  font: 700 clamp(56px, 6.2vw, 90px)/1.06 "Barlow Condensed", sans-serif;
  letter-spacing: -.025em;
  text-decoration: none;
  transition: color 240ms ease, transform 360ms cubic-bezier(.16, 1, .3, 1);
}
.operator-role span { position: relative; display: inline-block; }
.operator-role span::after {
  content: "";
  position: absolute;
  inset: auto 0 0;
  height: 2px;
  background: currentColor;
  transform: scaleX(0);
  transform-origin: left;
  transition: transform 360ms cubic-bezier(.16, 1, .3, 1);
}
.operator-role:hover, .operator-role:focus-visible { color: var(--solid-white); }
.operator-role[aria-current="location"] { color: var(--solid-orange); transform: translateX(12px); }
.operator-role[aria-current="location"] span::after { transform: scaleX(1); }
.operator-role:focus-visible { outline-offset: 5px; }
.operator-detail-list { min-width: 0; }
.operator-detail {
  padding: 40px 0 54px;
  border-bottom: 1px solid var(--solid-dark-rule);
  scroll-margin-top: var(--operator-anchor-gap);
}
.operator-detail:last-child { border-bottom: 0; }
.operator-detail .operator-action {
  display: flex;
  flex-wrap: wrap;
  gap: 0 9px;
  margin: 0 0 20px;
  color: var(--solid-inverse-muted);
  font-size: 12px;
  line-height: 1.6;
}
.operator-action > span:last-child { color: var(--solid-inverse-muted); }
.operator-detail h3 {
  font: 700 clamp(34px, 3.6vw, 52px)/1.06 "Barlow Condensed", sans-serif;
  letter-spacing: -.012em;
  max-width: 25ch;
  margin: 0 0 22px;
  text-wrap: balance;
}
.operator-detail p { font-size: 16px; line-height: 1.75; margin: 0; max-width: 60ch; color: var(--solid-inverse-muted); }
.operator-detail p.operator-evidence { font-size: 13px; line-height: 1.7; margin-top: 20px; color: var(--solid-inverse-muted); }
.operator-projects { list-style: none; display: flex; flex-wrap: wrap; gap: 0 24px; margin: 20px 0 0; padding: 0; }
.operator-projects a {
  display: inline-flex;
  align-items: center;
  gap: 12px;
  min-height: 44px;
  font-size: 12px;
  font-weight: 600;
  color: var(--solid-white);
  text-decoration: underline;
  text-decoration-color: var(--solid-dark-rule);
  text-underline-offset: 5px;
  transition: color 180ms, text-decoration-color 180ms;
}
.operator-projects a:hover, .operator-projects a:focus-visible { color: var(--solid-orange); text-decoration-color: currentColor; }
.operator-projects a > span { font-size: 17px; }
.operator-footer { display: flex; align-items: baseline; justify-content: space-between; gap: 24px; border-top: 1px solid var(--solid-dark-rule); padding-top: 26px; }
.operator-footer p { font-size: 13px; margin: 0; max-width: 60ch; color: var(--solid-inverse-muted); }
.operator-footer .text-link { font-size: 14px; flex-shrink: 0; }

/* Preserve the portrait's separate, intentionally hidden cat disclosure. */
.page-home .portrait-byline { padding-right: 52px; }
.page-home .home-cat-easter-egg { right: 0; bottom: 0; }

@media (max-width: 1100px) {
  .operator-intro { gap: 35px; grid-template-columns: 1.35fr 1fr; }
  .operator-intro h2 { font-size: 70px; }
  .operator-positioning p { font-size: 15px; }
  .operator-positioning p:first-child { font-size: 20px; }
  .operator-map { gap: 6vw; }
  .operator-role { font-size: clamp(52px, 6.2vw, 68px); }
}
@media (max-width: 840px) {
  .operator-chapter { --operator-sticky-top: 76px; --operator-anchor-gap: 100px; padding: 48px 0 36px; }
  .operator-intro { grid-template-columns: 1fr; gap: 24px; margin-bottom: 36px; }
  .operator-intro h2 { font-size: 70px; }
  .operator-positioning { max-width: 65ch; }
  .operator-map { display: block; }
  .operator-index {
    z-index: 2;
    flex-direction: row;
    flex-wrap: wrap;
    gap: 0 24px;
    align-items: center;
    padding: 10px 0;
    background: var(--solid-ink);
    border-bottom: 1px solid var(--solid-dark-rule);
  }
  .operator-role { display: inline-flex; align-items: center; max-width: none; min-height: 44px; padding: 0; font-size: 27px; letter-spacing: -.01em; }
  .operator-role[aria-current="location"] { transform: none; }
  .operator-role span::after { bottom: -3px; }
  .operator-detail { padding: 32px 0 36px; }
  .operator-detail h3 { max-width: 28ch; font-size: 40px; }
  .operator-detail p { max-width: 65ch; }
  .operator-footer { flex-direction: column; gap: 15px; }
}
@media (max-width: 600px) {
  .operator-chapter { padding-top: 36px; }
  .operator-intro h2 { font-size: clamp(47px, 12.8vw, 64px); }
  .operator-positioning p:first-child { font-size: 19px; }
  .operator-positioning p { font-size: 15px; }
  .operator-hint { font-size: 12px; margin-bottom: 14px; }
  .operator-index { gap: 0 20px; }
  .operator-role { font-size: 25px; }
  .operator-detail h3 { font-size: 36px; }
  .operator-detail p { font-size: 15px; }
  .operator-detail .operator-action { font-size: 12px; margin-bottom: 16px; }
  .operator-detail p.operator-evidence { font-size: 13px; }
  .operator-projects { column-gap: 18px; margin-top: 16px; }
  .operator-footer .text-link { font-size: 13px; }
  .page-home .portrait-byline { padding-right: 0; }
}
@media (max-height: 620px) {
  .operator-index { position: static; }
  .operator-chapter { --operator-anchor-gap: 24px; }
}
@media (min-width: 841px) and (max-height: 720px) {
  .operator-index { position: static; }
}
@media (prefers-reduced-motion: reduce) {
  .operator-role, .operator-role span::after, .operator-projects a { transition: none; }
  .operator-role[aria-current="location"] { transform: none; }
}
body[data-motion="reduced"] .operator-role,
body[data-motion="reduced"] .operator-role span::after,
body[data-motion="reduced"] .operator-projects a { transition: none; }
body[data-motion="reduced"] .operator-role[aria-current="location"] { transform: none; }
@media print {
  .operator-index { position: static; }
  .operator-role { font-size: 28px; }
}
