/* Small, continuously playing studies beside the selected work. */
.hero { position:relative; isolation:isolate; }
.hero-copy, .portrait-gallery { position:relative; z-index:1; }
.hero-contours { position:absolute; z-index:0; pointer-events:none; width:500px; height:420px; right:90px; top:0; mask-image:radial-gradient(ellipse at 50% 45%,#000 5%,transparent 78%); }
.hero-contours path { fill:none; stroke:var(--accent); stroke-width:.8; opacity:.18; }
.project-card { padding-left:120px; }
.project-mark { position:absolute; left:0; top:40px; width:92px; height:80px; color:var(--accent); stroke:currentColor; stroke-width:1.6; stroke-linecap:round; stroke-linejoin:round; }
.project-mark .mark-guide { stroke:var(--border-strong); stroke-dasharray:2 5; }
.project-mark .mark-maze, .project-mark .mark-crossing { stroke:var(--border-strong); stroke-width:1; }
.project-mark .mark-wall { fill:var(--surface-2); stroke:var(--border-strong); stroke-width:1; }
.project-mark .mark-route { stroke:#95620d; opacity:.8; }
[data-theme="dark"] .project-mark .mark-route { stroke:#e1b65f; }
.project-mark circle, .project-mark .mark-ghost { fill:var(--bg); }
.project-mark .mark-ghost { stroke:#a56d65; }
[data-theme="dark"] .project-mark .mark-ghost { stroke:#d39a8e; }
.project-mark .mark-traveller, .project-mark .mark-packet { fill:currentColor; stroke:none; }
.project-mark[data-phase="caution"] .mark-traveller { fill:#95620d; }
[data-theme="dark"] .project-mark[data-phase="caution"] .mark-traveller { fill:#e1b65f; }
.project-mark .mark-packet { opacity:0; }
.mark-protein-base { stroke:var(--border-strong); stroke-width:3; }
.mark-protein-backbone { stroke:var(--muted); stroke-width:3.1; }
.mark-protein-target { stroke:currentColor; stroke-width:1.8; stroke-dasharray:2 3; }
.mark-protein-repair .mark-protein-backbone { stroke:#95620d; stroke-width:3.8; transition:stroke .4s; }
[data-theme="dark"] .mark-protein-repair .mark-protein-backbone { stroke:#e1b65f; }
.project-mark[data-repair-state="retained"] .mark-protein-repair .mark-protein-backbone { stroke:currentColor; }
.mark-protein-anchors { stroke:currentColor; stroke-width:1.4; }
.project-mark .mark-controller { stroke-width:1.3; }
.project-mark .mark-agent { stroke-width:1.8; }
.project-card:focus-within .project-mark { color:var(--accent-hover); }
.section-nav { position:sticky; top:0; z-index:20; background:var(--bg); }
.section-nav a[aria-current="location"] { color:var(--text); font-weight:500; }
.paper-plot { display:block; width:100%; height:auto; mix-blend-mode:multiply; }
[data-theme="dark"] .paper-plot { filter:invert(1); mix-blend-mode:screen; }
@media(max-width:760px) { .hero-contours { display:none; } }
@media(max-width:560px) {
  .project-card { padding-left:0; }
  .project-card h3 { padding-left:74px; min-height:62px; }
  .project-mark { width:60px; height:62px; top:22px; stroke-width:2; }
}
