/* One presentation system for full case studies, project notes, and work lists. */
.work-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:46px 30px}
.work-grid .project:nth-child(2){padding-top:0}
.work-grid .project-media{aspect-ratio:4/3;border:1px solid var(--line);border-radius:8px;background:var(--surface);overflow:hidden}
.work-grid .project-media.cozonac{padding:5%}
.work-grid .project-media.cozonac img{width:100%;transform:none;border-radius:4px}
.work-grid .project:hover .project-media img{transform:scale(1.015)}
.work-grid .project-title{align-items:start;flex-direction:column;gap:6px;min-height:0}
.work-grid .project-title h3{font-size:clamp(25px,2.8vw,36px);line-height:1.2}
.work-grid .project-title>span{font-size:12px;line-height:1.6}
.work-grid .project>p{color:var(--muted);font-size:15px;line-height:1.6}

.case-page{padding-right:0}
.case-page:has(.case-timeline){padding-right:196px}
.case-page .case-layout{display:block;margin-top:48px}
.case-reading{max-width:880px;margin-inline:auto;min-width:0}
.case-page .case-hero{padding-top:34px;padding-bottom:40px}
.case-page .case-kicker{margin-top:35px}
.case-page .case-hero h1{font-size:clamp(44px,6.5vw,100px);line-height:1.05;letter-spacing:-.055em;max-width:15ch;overflow-wrap:break-word}
.case-page .case-deck{font-size:clamp(23px,2.8vw,36px);line-height:1.4;max-width:33ch}
.case-page .case-meta{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:28px;margin-top:38px;padding-top:25px;border-top:1px solid var(--line)}
.case-page .case-meta dt{font-size:12px;line-height:1.5;color:var(--muted);margin-bottom:9px}
.case-page .case-meta dd{font-size:14px;line-height:1.55;margin:0;overflow-wrap:break-word}
.case-page .full-figure{border:1px solid var(--line);border-radius:8px;overflow:hidden;background:var(--surface);margin:0}
.case-page .full-figure>img{width:100%;height:auto;max-height:680px;object-fit:contain}
.case-page .figcaption{align-items:start;gap:24px;margin-top:14px;margin-bottom:0;font-size:12px;line-height:1.6;color:var(--muted)}
.case-page .figcaption>span:first-child{max-width:75ch}
.case-page .figcaption>span:last-child{text-align:right;flex-shrink:0}
.case-page .case-chapter{padding:44px 0 50px;border-bottom:1px solid var(--line);scroll-margin-top:24px}
.case-page .case-chapter:first-child{padding-top:10px}
.case-page .case-chapter>.eyebrow{color:var(--accent);font-size:11px}
.case-page .case-chapter h2{font-size:clamp(30px,3.5vw,46px);line-height:1.15;letter-spacing:-.045em;margin:18px 0 25px;max-width:24ch}
.case-page .case-chapter>p{font-size:17px;line-height:1.8;max-width:76ch}
.case-page .case-chapter>.lead{font-size:clamp(20px,2.4vw,26px);line-height:1.6}
.case-page .case-next{margin-top:55px;padding-block:35px}
.case-return{padding:0 0 30px}
.case-page .legacy-conversation{margin-top:30px;border-top:0;padding-top:0}

.case-timeline{width:170px;--timeline-step:64px;max-height:calc(100dvh - 120px);overflow:auto;scrollbar-width:none}
.case-timeline::-webkit-scrollbar{display:none}
.case-timeline a{height:var(--timeline-step);min-height:44px;gap:15px}
.case-timeline .timeline-track{top:calc(var(--timeline-step)/2);bottom:calc(var(--timeline-step)/2)}
.case-timeline .timeline-label{font-size:13px;line-height:1.35;padding-right:4px}
.case-timeline .timeline-label small{font-size:10px}

.work-timeline{position:relative;padding-left:44px;--work-progress:0px}
.work-timeline ol{list-style:none;margin:0;padding:0}
.work-timeline-track{position:absolute;left:10px;top:47px;bottom:0;width:1px;background:var(--line)}
.work-timeline-track i{display:block;width:1px;height:var(--work-progress);background:var(--accent)}
.work-stop{position:relative;margin:0;padding:0}
.work-timeline .legacy-row{position:relative;display:grid;grid-template-columns:minmax(0,1fr) 190px 24px;gap:25px;padding:30px 0;border-bottom:1px solid var(--line);border-radius:0;background:none}
.work-timeline .timeline-point{position:absolute;left:-44px;top:43px;width:9px;height:9px;margin-left:6px}
.work-timeline .work-entry-meta{display:flex;align-items:center;gap:12px;font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin:0 0 12px;line-height:1.5}
.work-entry-meta>span{font-variant-numeric:tabular-nums;color:var(--muted)}
.work-timeline .legacy-name h3{font-size:clamp(25px,3vw,36px);font-weight:450;letter-spacing:-.04em;line-height:1.25}
.work-timeline .legacy-name>span:not(.work-entry-meta){font-size:14px;line-height:1.65;max-width:63ch;margin-top:12px}
.work-timeline .legacy-medium{font-size:13px;align-self:start;margin-top:2px;color:var(--text)}
.work-timeline .legacy-medium small{font-size:12px;margin-top:8px;color:var(--muted);line-height:1.5}
.work-timeline .legacy-arrow{align-self:start;margin-top:0;grid-column:auto;grid-row:auto}
.work-stop.is-current .timeline-point,.work-stop:hover .timeline-point,.work-stop:focus-within .timeline-point{border-color:var(--accent);background:var(--accent);box-shadow:0 0 0 5px var(--bg),0 0 0 6px var(--accent)}
.work-stop.is-past .timeline-point{border-color:var(--accent);background:var(--accent)}
.work-stop.is-current h3,.work-stop:hover h3,.work-stop:focus-within h3{color:var(--accent)}
.work-timeline .legacy-row:focus-visible{outline-offset:7px}

@media(max-width:1100px) and (min-width:761px){
  .case-page:has(.case-timeline){padding-right:150px}.case-timeline{width:130px;right:10px}.case-timeline .timeline-label{font-size:12px}.case-page .case-meta{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}
  .work-timeline .legacy-row{grid-template-columns:minmax(0,1fr) 135px 20px;gap:16px}
}
@media(max-width:760px){
  .work-grid{grid-template-columns:1fr;gap:34px}
  .case-page:has(.case-timeline){padding-right:0}.case-page>main{margin-right:32px}.case-page:has(#privateGate:not([hidden]))>main{margin-right:0}
  .case-page .case-hero{padding-top:24px;padding-bottom:30px}.case-page .case-kicker{margin-top:27px}.case-page .case-hero h1{font-size:clamp(37px,10.7vw,66px);max-width:none;line-height:1.1}
  .case-page .case-deck{font-size:23px;line-height:1.4}.case-page .case-meta{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px 20px;margin-top:30px}.case-page .case-meta dd{font-size:12px}.case-page .case-meta dt{font-size:11px}
  .case-page .case-layout{margin-top:32px}.case-page .case-chapter{padding:30px 0 34px}.case-page .case-chapter h2{font-size:30px}.case-page .case-chapter>p{font-size:16px;line-height:1.75}.case-page .case-chapter>.lead{font-size:20px}.case-page .case-next{margin-top:35px;padding-block:28px}
  .case-page .figcaption{gap:5px}.case-page .figcaption>span:last-child{text-align:left;flex-shrink:1}.case-page .full-figure{border-radius:5px}
  .case-timeline{width:44px;right:0;--timeline-step:48px;overflow:visible;max-height:none}.case-timeline .timeline-track{top:32px;bottom:32px}.case-timeline .timeline-label{font-size:12px;padding:6px 10px}.case-timeline .timeline-label small{display:none}
  .work-timeline{padding-left:30px}.work-timeline-track{left:6px;top:36px}.work-timeline .legacy-row{grid-template-columns:minmax(0,1fr) 20px;gap:10px;padding:23px 0}.work-timeline .timeline-point{left:-34px;top:32px}.work-timeline .legacy-name h3{font-size:27px}.work-timeline .work-entry-meta{font-size:10px;gap:10px;margin-bottom:10px}.work-timeline .legacy-name>span:not(.work-entry-meta){font-size:13px;margin-top:10px}.work-timeline .legacy-medium{grid-column:1;grid-row:2;font-size:11px;margin-top:5px}.work-timeline .legacy-medium small{display:block;margin:4px 0 0;font-size:11px}.work-timeline .legacy-arrow{grid-column:2;grid-row:1;font-size:20px}
  .work-grid .project-title{flex-direction:column;gap:6px}.work-grid .project-title h3{font-size:27px}.work-grid .project-title>span{font-size:11px}.work-grid .project>p{font-size:14px}
  .work-grid .system-cover.compact{padding:18px;display:grid;grid-template-columns:minmax(0,1fr);align-content:center;min-width:0}
  .work-grid .system-cover.compact>.eyebrow,.work-grid .system-cover.compact .shared-context{display:none}
  .work-grid .compact .connected-views{gap:6px}.work-grid .compact .connected-views>div{padding:12px 5px}.work-grid .compact .connected-views strong{font-size:11px;margin-top:10px}.work-grid .compact .view-symbol{width:28px;height:28px}
  .work-grid .compact .pipeline-cover{gap:4px}.work-grid .compact .pipeline-sources span{font-size:9px;padding:8px 4px}.work-grid .compact .pipeline-core{padding:12px 6px}.work-grid .compact .pipeline-core strong{font-size:15px}.work-grid .compact .pipeline-core small{font-size:7px}
}
@media(max-width:380px){.work-grid .compact .pipeline-cover{grid-template-columns:minmax(0,.9fr) 9px minmax(0,1.5fr) 9px minmax(0,1.7fr);width:100%;min-width:0}.work-grid .compact .pipeline-core strong{font-size:12px}.work-grid .compact .pipeline-join{font-size:10px}.work-timeline .legacy-name h3{font-size:24px}}
@media(max-height:520px){.case-timeline{max-height:calc(100dvh - 90px);overflow-y:auto;overflow-x:hidden;top:calc(50% - 20px);scrollbar-width:none}.case-timeline .timeline-track{bottom:auto;height:calc((var(--timeline-count,6) - 1)*var(--timeline-step))}}
@media(prefers-reduced-motion:reduce){.work-stop .timeline-point,.work-stop h3,.work-grid .project-media img{transition:none}.work-grid .project:hover .project-media img{transform:none}}
@media print{.case-page:has(.case-timeline){padding-right:0}.case-timeline{display:none}.case-page>main{margin-right:0}.work-timeline-track{display:none}}
