/* Future Proof Works v3 — Methodology Edition */
.methodology-section{padding:4.5rem 0;border-bottom:1px solid var(--line)}
.methodology-intro{display:grid;grid-template-columns:52px minmax(0,1fr);gap:1.5rem;margin-bottom:2.5rem}

/* Improve contour visibility in dark mode without changing the light treatment */
:root[data-theme="dark"] .contour-field{opacity:.72}
:root[data-theme="dark"] .contour-field path{stroke:#416779}

/* Public pages should use plain-language labels. Record strings are reserved for true provenance views, not decorative taglines. */
.record{display:none}

/* Keep the footer columns visually balanced. */
.site-footer p{margin:0}
.site-footer>div{display:grid;align-content:start;gap:.18rem}
.footer-brand{margin:0}

/* Vertical methodology thread */
.methodology-loop{position:relative;display:grid;gap:0;max-width:820px;margin:2.25rem 0 0;padding-left:58px}
.methodology-loop::before{content:"";position:absolute;left:17px;top:18px;bottom:18px;width:1px;background:var(--deep);transform:scaleY(0);transform-origin:top;animation:method-thread-draw 1.2s cubic-bezier(.2,.7,.2,1) forwards}
.method-step{position:relative;padding:0 0 2.6rem;min-height:0}
.method-step:last-child{padding-bottom:0}
.method-step::before{content:"";position:absolute;left:-45px;top:.55rem;width:11px;height:11px;border-radius:50%;background:var(--rust);box-shadow:0 0 0 5px var(--vellum);opacity:0;transform:scale(.5);animation:method-node-appear .45s ease forwards}
.method-step:nth-child(2)::before{animation-delay:.28s}.method-step:nth-child(3)::before{animation-delay:.52s}.method-step:nth-child(4)::before{animation-delay:.76s}
.method-number{font-family:var(--mono);font-size:.66rem;color:var(--rust);letter-spacing:.06em}
.method-step h3{margin:.25rem 0 .45rem;font-size:1.8rem}
.method-step p{margin:0;color:var(--muted);max-width:42ch;font-size:1.04rem}
.method-note{margin:2.25rem 0 0;max-width:760px;font-size:1.15rem;color:var(--deep)}
@keyframes method-thread-draw{to{transform:scaleY(1)}}
@keyframes method-node-appear{to{opacity:1;transform:scale(1)}}
@media(prefers-reduced-motion:reduce){.methodology-loop::before,.method-step::before{animation:none;transform:none;opacity:1}}

.investigation-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;background:var(--line);border:1px solid var(--line);margin-top:2rem}
.investigation-card{background:var(--vellum);padding:1.6rem;min-height:230px;transition:background .2s}.investigation-card:hover{background:var(--panel)}.investigation-card h3{font-size:1.55rem;margin:.25rem 0 .5rem}.investigation-card .thesis{margin-bottom:.8rem}.investigation-card .text-link{margin-top:.5rem}
.publication-feed{border-top:1px solid var(--line)}.publication-item{display:grid;grid-template-columns:130px minmax(0,1fr) auto;gap:1.25rem;align-items:start;padding:1.35rem 0;border-bottom:1px solid var(--line)}.publication-item h3{font-size:1.35rem;margin:0 0 .35rem}.publication-item p{margin:0;color:var(--muted)}.publication-source{font-family:var(--mono);font-size:.65rem;color:var(--deep);text-transform:uppercase}
.repo-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;background:var(--line);border:1px solid var(--line);margin-top:1.5rem}.repo-card{display:block;background:var(--vellum);padding:1.4rem;text-decoration:none;min-height:175px}.repo-card:hover{background:var(--panel)}.repo-card h2{font-size:1.75rem;margin:.2rem 0 .55rem}.repo-card p{color:var(--muted);margin-bottom:.75rem}.repo-card .record{margin-bottom:0}
.desk-note{max-width:560px}.desk-label{font-family:var(--sans);font-size:.62rem;letter-spacing:.14em;text-transform:uppercase;color:var(--rust);margin-bottom:.35rem}.desk-quote{font-family:var(--serif);font-size:.92rem;line-height:1.45;color:var(--deep);margin:0}.desk-attribution{font-family:var(--mono);font-size:.62rem;color:var(--muted);margin:.3rem 0 0}
.lifecycle-line{font-family:var(--mono);font-size:.68rem;color:var(--deep);letter-spacing:.04em;margin-top:1.5rem}.publication-filters{display:flex;flex-wrap:wrap;gap:.55rem;margin:1.5rem 0 2rem}.publication-filters span{border:1px solid var(--line);padding:.42rem .65rem;font-family:var(--sans);font-size:.62rem;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
@media(max-width:900px){.investigation-grid,.repo-grid{grid-template-columns:1fr}.publication-item{grid-template-columns:105px 1fr}.publication-item .text-link{grid-column:2}}
@media(max-width:650px){.methodology-intro{grid-template-columns:1fr}.methodology-loop{padding-left:44px}.methodology-loop::before{left:12px}.method-step::before{left:-37px}.publication-item{grid-template-columns:1fr}.publication-item .text-link{grid-column:1}}
