:root{--paper:#f4f3ef;--ink:#0c0c0b;--line:rgba(12,12,11,.22);--muted:#64645f;--accent:#d7441d;--rail:224px;--pad:clamp(18px,4vw,58px)}
*{box-sizing:border-box}html{scroll-behavior:smooth;background:var(--paper);color:var(--ink)}body{margin:0;font-family:Inter,Arial,sans-serif;background:var(--paper);overflow-x:hidden}button,input,select{font:inherit;color:inherit}.rail{position:fixed;inset:0 auto 0 0;width:var(--rail);padding:24px 20px;border-right:1px solid var(--ink);display:flex;flex-direction:column;z-index:20;background:rgba(244,243,239,.96);backdrop-filter:blur(12px)}.wordmark{color:var(--ink);text-decoration:none;font-size:48px;line-height:.82;letter-spacing:-.075em;font-weight:500}.rail-label,.rail-roles,.topbar,.kicker,.intro-copy,.toolbar span,.entry-meta,.work-year,.work-role,footer,.dialog-close,.detail-meta dt,.detail-meta dd{font-family:"Space Mono",monospace}.rail-label{margin-top:52px;font-size:10px}.rail-roles{margin-top:auto;font-size:10px;line-height:1.65}.topbar{position:fixed;left:var(--rail);right:0;top:0;height:58px;padding:18px var(--pad);display:flex;justify-content:flex-end;gap:40px;border-bottom:1px solid var(--line);background:rgba(244,243,239,.92);backdrop-filter:blur(12px);z-index:15;font-size:10px}.topbar p{margin:0;margin-right:auto}.topbar button,.dialog-close{border:0;background:none;padding:0;cursor:pointer;font-size:10px}.topbar button:hover,.dialog-close:hover{color:var(--accent)}main,footer{margin-left:var(--rail)}.intro{min-height:52vh;padding:118px var(--pad) 46px;display:grid;grid-template-columns:1fr 1fr;align-items:end;border-bottom:1px solid var(--ink)}.kicker{font-size:10px;color:var(--accent)}.intro h1{margin:12px 0 0;font-size:clamp(65px,9vw,145px);line-height:.78;letter-spacing:-.085em;font-weight:500}.intro-copy{max-width:360px;justify-self:end;font-size:11px;line-height:1.55}.intro-copy p:last-child{margin-top:34px}.toolbar{display:grid;grid-template-columns:2fr 1fr;border-bottom:1px solid var(--ink)}.toolbar label{min-height:78px;padding:14px var(--pad);display:flex;flex-direction:column;gap:12px;border-right:1px solid var(--ink)}.toolbar label:last-child{border-right:0}.toolbar span{font-size:9px}.toolbar input,.toolbar select{border:0;outline:0;background:transparent;padding:0;font-size:15px}.decade{border-bottom:1px solid var(--ink);position:relative}.decade-header{width:100%;min-height:150px;border:0;background:transparent;padding:24px var(--pad);display:grid;grid-template-columns:1.1fr 2fr 28px;gap:30px;text-align:left;cursor:pointer;align-items:start}.decade-header:hover .decade-title{color:var(--accent)}.decade-title{font-size:clamp(38px,5vw,72px);line-height:.9;letter-spacing:-.07em}.decade-range{display:block;margin-top:8px;font-family:"Space Mono",monospace;font-size:9px;letter-spacing:0}.decade-preview{display:grid;gap:9px;padding-top:4px}.preview-row{display:grid;grid-template-columns:52px 1fr;gap:16px;font-family:"Space Mono",monospace;font-size:10px;line-height:1.35}.decade-symbol{font-size:20px}.decade-body{display:grid;grid-template-rows:0fr;transition:grid-template-rows .45s cubic-bezier(.77,0,.18,1);background:#fff}.decade.open .decade-body{grid-template-rows:1fr}.decade-inner{overflow:hidden}.work-list{border-top:1px solid var(--ink)}.work-row{width:100%;border:0;border-bottom:1px solid var(--line);background:#fff;padding:15px var(--pad);display:grid;grid-template-columns:58px 1.2fr 1.8fr 1.15fr 22px;gap:20px;text-align:left;align-items:center;cursor:pointer}.work-row:hover .work-title{color:var(--accent)}.work-year,.work-role{font-size:9px}.work-artist{font-family:"Space Mono",monospace;font-size:10px}.work-title{font-size:clamp(17px,2vw,27px);letter-spacing:-.04em}.work-arrow{justify-self:end}.empty{padding:40px var(--pad);font-family:"Space Mono",monospace;font-size:10px}.circle-mark{position:fixed;border:1px solid rgba(12,12,11,.13);border-radius:50%;pointer-events:none;z-index:0}.circle-mark:before,.circle-mark:after{content:"";position:absolute;border:1px solid rgba(12,12,11,.13);border-radius:50%;inset:15%}.circle-mark:after{inset:31%}.circle-mark--one{width:430px;height:430px;right:-180px;top:95px}.circle-mark--two{width:260px;height:260px;left:95px;bottom:-130px}.decade:nth-child(even):before{content:"";position:absolute;width:180px;height:180px;border:1px solid rgba(12,12,11,.08);border-radius:50%;right:8%;top:50%;transform:translateY(-50%);pointer-events:none}.decade:nth-child(even):after{content:"";position:absolute;width:110px;height:110px;border:1px solid rgba(12,12,11,.08);border-radius:50%;right:calc(8% + 35px);top:50%;transform:translateY(-50%);pointer-events:none}.detail-dialog,.about-dialog{margin:0 0 0 auto;width:min(720px,100%);height:100%;max-height:none;border:0;border-left:1px solid var(--ink);padding:0;background:var(--paper)}dialog::backdrop{background:rgba(0,0,0,.7);backdrop-filter:blur(3px)}.dialog-close{position:sticky;top:0;z-index:2;width:100%;padding:18px 22px;text-align:right;border-bottom:1px solid var(--ink);background:var(--paper)}.detail-body,.about-copy{padding:clamp(28px,6vw,76px)}.detail-body h2,.about-copy h2{font-size:clamp(48px,7vw,96px);line-height:.86;letter-spacing:-.075em;font-weight:500;margin:18px 0 50px}.detail-artist{font-size:22px;margin:-32px 0 50px}.detail-meta{margin:0}.detail-meta>div{display:grid;grid-template-columns:130px 1fr;gap:20px;border-top:1px solid var(--ink);padding:13px 0}.detail-meta dt,.detail-meta dd{font-size:9px;margin:0}.detail-description{font-size:22px;line-height:1.25;letter-spacing:-.035em;margin:52px 0}.detail-link{display:inline-block;color:var(--ink);text-decoration:none;border-bottom:1px solid var(--ink);font-family:"Space Mono",monospace;font-size:10px}.detail-link:hover{color:var(--accent);border-color:var(--accent)}footer{padding:24px var(--pad);display:flex;justify-content:space-between;gap:20px;font-size:9px;border-top:1px solid var(--ink)}
@media(max-width:800px){:root{--rail:0px}.rail{position:relative;width:auto;height:auto;border-right:0;border-bottom:1px solid var(--ink);padding:18px;display:block}.wordmark{font-size:34px}.rail-label{position:absolute;right:18px;top:18px;margin:0}.rail-roles{display:none}.topbar{left:0;top:83px}.topbar p{display:none}main,footer{margin-left:0}.intro{grid-template-columns:1fr;padding-top:120px;min-height:60vh}.intro-copy{justify-self:start;margin-top:50px}.toolbar{grid-template-columns:1fr}.toolbar label{border-right:0;border-bottom:1px solid var(--ink)}.decade-header{grid-template-columns:1fr 24px;min-height:130px}.decade-preview{grid-column:1/-1}.decade-symbol{grid-column:2;grid-row:1}.work-row{grid-template-columns:50px 1fr 20px;grid-template-areas:"year title arrow" "artist artist arrow" "role role arrow"}.work-year{grid-area:year}.work-title{grid-area:title}.work-artist{grid-area:artist;padding-left:70px}.work-role{grid-area:role;padding-left:70px}.work-arrow{grid-area:arrow}footer{flex-direction:column}.circle-mark--one{width:260px;height:260px}.decade:nth-child(even):before,.decade:nth-child(even):after{display:none}}

/* V4 — STRICT MINIMAL TIMELINE */
.circle-mark,.decade:before,.decade:after{display:none!important}
main{padding-top:58px}
.toolbar{grid-template-columns:2fr 1fr}
.decade-header{min-height:92px;grid-template-columns:1fr 120px 24px;align-items:center;padding-top:18px;padding-bottom:18px}
.decade-title{font-family:"Space Mono",monospace;font-size:clamp(15px,1.6vw,22px);line-height:1;letter-spacing:-.025em;font-weight:400}
.decade-range,.decade-preview{display:none!important}
.decade-count{font-family:"Space Mono",monospace;font-size:9px;color:var(--muted);justify-self:end}
.decade-symbol{font-family:"Space Mono",monospace;font-size:14px;justify-self:end}
.decade-header:hover .decade-title{color:var(--ink)}
.work-row{min-height:58px;padding-top:11px;padding-bottom:11px;grid-template-columns:58px 1.15fr 1.7fr 1.15fr 18px}
.work-title{font-family:Inter,Arial,sans-serif;font-size:15px;letter-spacing:-.025em}
.work-artist,.work-year,.work-role{font-size:9px}
.work-row:hover{background:#ecebe6}
.work-row:hover .work-title{color:var(--ink)}
footer{border-top:0}
@media(max-width:800px){main{padding-top:58px}.decade-header{grid-template-columns:1fr 90px 20px;min-height:78px}.decade-count{font-size:8px}.work-row{min-height:66px}}


/* V5 — QUIETER TYPE / EMPHASIZED ARTISTS / CIRCLE FIELD */
body{font-size:13px}
.topbar,.rail-label,.rail-roles,.toolbar span,footer,.dialog-close{font-size:8px}
.wordmark{font-size:43px}
.toolbar label{min-height:66px;padding-top:11px;padding-bottom:11px;gap:9px}
.toolbar input,.toolbar select{font-size:12px}
.decade-header{min-height:78px;padding-top:14px;padding-bottom:14px}
.decade-title{font-size:clamp(13px,1.35vw,18px)}
.decade-count{font-size:8px}
.decade-symbol{font-size:12px}
.work-row{min-height:54px;padding-top:9px;padding-bottom:9px;grid-template-columns:48px 1.35fr 1.7fr 1.05fr 16px}
.work-year,.work-role{font-size:8px;color:var(--muted)}
.work-title{font-size:13px;letter-spacing:-.02em}
.work-artist{font-family:Inter,Arial,sans-serif;font-size:clamp(15px,1.55vw,21px);font-weight:600;line-height:.95;letter-spacing:-.045em}
.work-arrow{font-size:11px}
.detail-artist{font-size:30px;font-weight:600;letter-spacing:-.045em}

.circle-field{position:fixed;right:-150px;top:105px;width:520px;height:520px;border:1px solid rgba(12,12,11,.09);border-radius:50%;pointer-events:none;z-index:0}
.circle-field span{position:absolute;border:1px solid rgba(12,12,11,.085);border-radius:50%}
.circle-field span:nth-child(1){inset:9%}
.circle-field span:nth-child(2){inset:19%}
.circle-field span:nth-child(3){inset:30%}
.circle-field span:nth-child(4){inset:40%}
.circle-field span:nth-child(5){inset:47%}
.rail,.topbar,main,footer{position:relative;z-index:1}
.rail{position:fixed}.topbar{position:fixed}
@media(max-width:800px){.circle-field{width:300px;height:300px;right:-135px;top:160px}.work-artist{font-size:17px}.work-title{font-size:12px}}

/* V6 — CURATOR CREDIT + FULL ARCHIVE DETAIL SYSTEM */
.footer-credit p,.footer-note{margin:0 0 5px}.footer-note{max-width:390px;text-align:right;line-height:1.5}.about-copy>p{max-width:48ch;font-size:14px;line-height:1.6}.about-curator{margin-top:52px!important;font-family:"Space Mono",monospace;font-size:10px!important}.archive-section{padding:25px 0;border-top:1px solid var(--ink)}.archive-section>p:not(.section-label),.archive-section li{font-size:15px;line-height:1.55}.archive-section ul{margin:0;padding-left:18px}.archive-section li+li{margin-top:8px}.section-label{margin:0 0 13px;font-family:"Space Mono",monospace;font-size:8px;color:var(--muted)}.related-list{border-top:1px solid var(--line)}.related-list button{width:100%;display:grid;grid-template-columns:46px 1fr 1.35fr;gap:14px;padding:12px 0;border:0;border-bottom:1px solid var(--line);background:transparent;text-align:left;cursor:pointer}.related-list button:hover em{color:var(--accent)}.related-list span{font-family:"Space Mono",monospace;font-size:8px;color:var(--muted)}.related-list strong{font-size:14px;letter-spacing:-.03em}.related-list em{font-style:normal;font-size:12px}.detail-link{margin-top:28px}.detail-body h2{font-size:clamp(40px,6vw,78px)}
@media(max-width:800px){.footer-note{text-align:left}.related-list button{grid-template-columns:40px 1fr}.related-list em{grid-column:2}.archive-section>p:not(.section-label),.archive-section li{font-size:14px}}


/* V7 — RESPONSIVE IPHONE PASS
   Desktop rules above remain unchanged. */
@media (max-width: 800px) {
  :root {
    --rail: 0px;
    --pad: 16px;
  }

  html {
    scroll-padding-top: 44px;
  }

  body {
    min-width: 0;
    overflow-x: hidden;
  }

  /* Compact mobile identity header. */
  .rail {
    position: relative;
    inset: auto;
    width: 100%;
    min-height: 74px;
    padding:
      max(15px, env(safe-area-inset-top))
      max(16px, env(safe-area-inset-right))
      14px
      max(16px, env(safe-area-inset-left));
    display: flex;
    flex-direction: row;
    align-items: flex-end;
    justify-content: space-between;
    border-right: 0;
    border-bottom: 1px solid var(--ink);
    background: var(--paper);
    backdrop-filter: none;
  }

  .wordmark {
    flex: 0 0 auto;
    font-size: 29px;
    line-height: .83;
    letter-spacing: -.065em;
  }

  .rail-label {
    position: static;
    margin: 0 0 1px;
    max-width: 90px;
    text-align: right;
    font-size: 7px;
    line-height: 1.35;
  }

  .rail-roles {
    display: none;
  }

  /* Sticky utility bar no longer overlaps the identity header. */
  .topbar {
    position: sticky;
    inset: auto;
    top: 0;
    left: auto;
    right: auto;
    width: 100%;
    height: 43px;
    padding:
      0
      max(16px, env(safe-area-inset-right))
      0
      max(16px, env(safe-area-inset-left));
    align-items: center;
    border-bottom: 1px solid var(--line);
    background: rgba(244, 243, 239, .97);
    z-index: 30;
  }

  .topbar p {
    display: block;
    margin: 0 auto 0 0;
    max-width: 180px;
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
    font-size: 7px;
  }

  .topbar button {
    min-width: 44px;
    min-height: 43px;
    font-size: 8px;
    text-align: right;
  }

  main,
  footer {
    width: 100%;
    margin-left: 0;
  }

  main {
    padding-top: 0;
  }

  /* Search and type stay compact without colliding. */
  .toolbar {
    grid-template-columns: minmax(0, 1.45fr) minmax(112px, .75fr);
  }

  .toolbar label {
    min-width: 0;
    min-height: 64px;
    padding: 10px 16px;
    gap: 8px;
    border-bottom: 0;
  }

  .toolbar label:first-child {
    border-right: 1px solid var(--ink);
  }

  .toolbar span {
    font-size: 7px;
  }

  .toolbar input,
  .toolbar select {
    min-width: 0;
    width: 100%;
    font-size: 11px;
  }

  .toolbar input {
    text-overflow: ellipsis;
  }

  /* Easier-to-tap decades with no overlapping columns. */
  .decade-header {
    min-height: 68px;
    padding: 14px 16px;
    grid-template-columns: minmax(0, 1fr) auto 18px;
    gap: 10px;
    align-items: center;
  }

  .decade-title {
    min-width: 0;
    font-size: 13px;
    line-height: 1.15;
    white-space: nowrap;
  }

  .decade-count {
    font-size: 7px;
    white-space: nowrap;
  }

  .decade-symbol {
    grid-column: auto;
    grid-row: auto;
    justify-self: end;
    font-size: 12px;
  }

  /* Vertical information hierarchy for catalogue rows. */
  .work-row {
    min-width: 0;
    min-height: 82px;
    padding: 13px 16px;
    grid-template-columns: 38px minmax(0, 1fr) 16px;
    grid-template-areas:
      "year artist arrow"
      ". title arrow"
      ". role arrow";
    column-gap: 10px;
    row-gap: 4px;
    align-items: start;
  }

  .work-year {
    grid-area: year;
    padding: 2px 0 0;
    font-size: 7px;
  }

  .work-artist {
    grid-area: artist;
    min-width: 0;
    padding: 0;
    font-size: clamp(13px, 4vw, 16px);
    line-height: 1.02;
    letter-spacing: -.035em;
    overflow-wrap: anywhere;
  }

  .work-title {
    grid-area: title;
    min-width: 0;
    padding: 0;
    font-size: 12px;
    line-height: 1.2;
    letter-spacing: -.015em;
    overflow-wrap: anywhere;
  }

  .work-role {
    grid-area: role;
    min-width: 0;
    padding: 0;
    font-size: 7px;
    line-height: 1.35;
    overflow-wrap: anywhere;
  }

  .work-arrow {
    grid-area: arrow;
    align-self: center;
    justify-self: end;
    font-size: 10px;
  }

  /* Keep the circles as quiet cropped arcs. */
  .circle-field {
    width: 250px;
    height: 250px;
    right: -174px;
    top: 128px;
    opacity: .62;
  }

  /* Mobile details become a true full-screen reading view. */
  .detail-dialog,
  .about-dialog {
    inset: 0;
    width: 100vw;
    max-width: 100vw;
    height: 100dvh;
    max-height: 100dvh;
    margin: 0;
    border: 0;
    padding: 0;
  }

  .dialog-close {
    min-height: 48px;
    padding:
      max(14px, env(safe-area-inset-top))
      max(16px, env(safe-area-inset-right))
      13px
      max(16px, env(safe-area-inset-left));
    font-size: 8px;
  }

  .detail-body,
  .about-copy {
    padding:
      28px
      max(18px, env(safe-area-inset-right))
      max(42px, env(safe-area-inset-bottom))
      max(18px, env(safe-area-inset-left));
  }

  .detail-body h2,
  .about-copy h2 {
    margin: 14px 0 36px;
    font-size: clamp(34px, 11vw, 48px);
    line-height: .91;
    letter-spacing: -.06em;
    overflow-wrap: anywhere;
  }

  .detail-artist {
    margin: -22px 0 34px;
    font-size: clamp(18px, 6vw, 24px);
    line-height: 1;
    overflow-wrap: anywhere;
  }

  .detail-meta > div {
    grid-template-columns: 94px minmax(0, 1fr);
    gap: 12px;
    padding: 11px 0;
  }

  .detail-meta dt,
  .detail-meta dd {
    min-width: 0;
    font-size: 8px;
    line-height: 1.45;
    overflow-wrap: anywhere;
  }

  .detail-description {
    margin: 36px 0;
    font-size: 18px;
    line-height: 1.3;
  }

  .archive-section {
    padding: 21px 0;
  }

  .archive-section > p:not(.section-label),
  .archive-section li,
  .about-copy > p {
    font-size: 13px;
    line-height: 1.55;
  }

  .related-list button {
    min-height: 58px;
    grid-template-columns: 34px minmax(0, 1fr);
    gap: 10px;
    padding: 11px 0;
  }

  .related-list strong {
    min-width: 0;
    font-size: 13px;
    overflow-wrap: anywhere;
  }

  .related-list em {
    grid-column: 2;
    min-width: 0;
    font-size: 11px;
    overflow-wrap: anywhere;
  }

  footer {
    padding:
      24px
      max(16px, env(safe-area-inset-right))
      max(28px, env(safe-area-inset-bottom))
      max(16px, env(safe-area-inset-left));
    flex-direction: column;
    gap: 22px;
    font-size: 7px;
    line-height: 1.5;
  }

  .footer-note {
    max-width: 44ch;
    text-align: left;
  }
}

@media (max-width: 430px) {
  .topbar p {
    max-width: 150px;
  }

  .toolbar {
    grid-template-columns: minmax(0, 1.3fr) minmax(104px, .7fr);
  }

  .decade-header {
    grid-template-columns: minmax(0, 1fr) auto 16px;
  }
}

@media (max-width: 360px) {
  .rail {
    min-height: 68px;
  }

  .wordmark {
    font-size: 26px;
  }

  .topbar p {
    max-width: 122px;
  }

  .toolbar {
    grid-template-columns: 1fr;
  }

  .toolbar label:first-child {
    border-right: 0;
    border-bottom: 1px solid var(--ink);
  }

  .decade-count {
    display: none;
  }

  .decade-header {
    grid-template-columns: minmax(0, 1fr) 18px;
  }
}
