/* Page-specific layout on top of shared lab.css tokens */
.paper-shell{max-width:1280px;margin:0 auto;padding:0 clamp(20px,4vw,48px)}

.paper-head{padding:clamp(72px,11vh,120px) 0 clamp(40px,6vh,56px);border-bottom:1px solid var(--border)}
.paper-kicker{display:flex;align-items:center;gap:10px;flex-wrap:wrap;font-family:var(--sans);font-size:11px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--accent-2);margin-bottom:22px}
.paper-kicker .sep{color:var(--ink-4)}
.paper-title{font-family:var(--serif);font-weight:500;font-size:clamp(30px,4.4vw,54px);line-height:1.08;letter-spacing:-.02em;color:var(--ink);max-width:900px;margin-bottom:18px}
.paper-title em{font-style:italic;color:var(--accent-2)}
.paper-sub{font-family:var(--serif);font-size:clamp(16px,1.5vw,20px);font-style:italic;color:var(--ink-2);max-width:680px;line-height:1.5;margin-bottom:28px}
.paper-finding{font-family:var(--sans);font-size:clamp(15px,1.15vw,17px);line-height:1.75;color:var(--ink);max-width:680px;margin-bottom:32px}
.paper-meta-row{display:flex;flex-wrap:wrap;gap:10px;align-items:center}
.meta-pill{font-family:var(--sans);font-size:12px;color:var(--ink-3);border:1px solid var(--border);border-radius:5px;padding:6px 11px;display:inline-flex;align-items:center;gap:6px}
.meta-pill.doi{color:var(--accent-2);border-color:var(--accent-soft);background:var(--accent-soft)}
.meta-pill a{color:inherit;text-decoration:none}
.meta-pill a:hover{text-decoration:underline}
.paper-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:32px}
.btn-primary{font-family:var(--sans);font-size:13px;font-weight:600;color:#fff;background:var(--ink);border-radius:5px;padding:11px 20px;text-decoration:none;display:inline-flex;align-items:center;gap:8px;transition:background .15s}
.btn-primary:hover{background:var(--accent-2)}
.btn-secondary{font-family:var(--sans);font-size:13px;font-weight:500;color:var(--ink-3);border:1px solid var(--border);border-radius:5px;padding:10px 18px;text-decoration:none;display:inline-flex;align-items:center;gap:8px;transition:border-color .15s,color .15s}
.btn-secondary:hover{border-color:var(--ink-4);color:var(--ink)}

/* 3-column editorial grid */
.article-grid{display:grid;grid-template-columns:200px minmax(0,680px) 260px;gap:56px;padding:clamp(48px,7vh,80px) 0 clamp(72px,10vh,120px);align-items:start}
@media (max-width:1200px){.article-grid{grid-template-columns:180px minmax(0,1fr);gap:40px}.col-notes{display:none}}
@media (max-width:1000px){.article-grid{grid-template-columns:1fr}}

.col-toc{position:sticky;top:32px;font-family:var(--sans)}
@media (max-width:1000px){.col-toc{position:static;border:1px solid var(--border);border-radius:8px;padding:16px 18px;margin-bottom:8px}}
.toc-label{font-size:10px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-4);margin-bottom:14px}
.toc-list{list-style:none;display:flex;flex-direction:column;gap:9px}
.toc-list a{font-size:13px;color:var(--ink-3);text-decoration:none;line-height:1.4;display:block;border-left:2px solid transparent;padding-left:10px;margin-left:-12px;transition:color .15s,border-color .15s}
.toc-list a:hover,.toc-list a.active{color:var(--ink);border-color:var(--accent)}

.col-prose{min-width:0}
.col-prose h2{font-family:var(--serif);font-size:clamp(21px,2vw,27px);font-weight:500;letter-spacing:-.01em;color:var(--ink);margin:52px 0 16px;scroll-margin-top:24px}
.col-prose h2:first-child{margin-top:0}
.col-prose h3{font-family:var(--serif);font-size:17px;font-style:italic;font-weight:400;color:var(--ink-2);margin:28px 0 10px}
.col-prose p{font-family:var(--sans);font-size:15px;line-height:1.8;color:var(--ink-2);margin-bottom:18px}
.col-prose p.lead{font-size:17px;line-height:1.75;color:var(--ink);}
.col-prose strong{color:var(--ink);font-weight:600}
.col-prose em{font-style:italic}
.col-prose code{font-family:ui-monospace,'SF Mono',Menlo,monospace;font-size:.85em;background:var(--paper-2);border:1px solid var(--border);padding:1px 6px;border-radius:4px;color:var(--ink)}
.col-prose ul,.col-prose ol{margin:0 0 18px;padding-left:22px}
.col-prose li{font-family:var(--sans);font-size:15px;line-height:1.75;color:var(--ink-2);margin-bottom:8px}
.col-prose a{color:var(--accent-2);text-decoration:underline;text-decoration-color:var(--accent-soft);text-underline-offset:2px}
.col-prose a:hover{text-decoration-color:var(--accent-2)}

.stat-line{display:flex;gap:24px;flex-wrap:wrap;margin:24px 0 28px;padding:20px 0;border-top:1px solid var(--border);border-bottom:1px solid var(--border)}
.stat-item{flex:1;min-width:130px}
.stat-num{font-family:var(--serif);font-size:26px;font-weight:500;color:var(--ink);letter-spacing:-.01em}
.stat-num .accent{color:var(--accent-2)}
.stat-cap{font-family:var(--sans);font-size:11.5px;color:var(--ink-3);line-height:1.4;margin-top:4px}

table.data-table{width:100%;border-collapse:collapse;margin:8px 0 24px;font-family:var(--sans);font-size:13px}
table.data-table th{text-align:left;font-weight:600;color:var(--ink-3);font-size:11px;letter-spacing:.04em;text-transform:uppercase;padding:8px 12px 8px 0;border-bottom:1px solid var(--ink-4)}
table.data-table td{padding:9px 12px 9px 0;border-bottom:1px solid var(--border);color:var(--ink-2)}
table.data-table td.num,table.data-table th.num{text-align:right}
table.data-table td strong{color:var(--ink)}

.limits-box{background:var(--paper-2);border:1px solid var(--border);border-left:3px solid var(--accent);border-radius:6px;padding:22px 24px;margin:20px 0}
.limits-box h3{margin-top:0;font-family:var(--sans);font-style:normal;font-weight:600;font-size:13px;letter-spacing:.04em;text-transform:uppercase;color:var(--ink)}
.limits-box ul{margin-bottom:0}
.limits-box li{color:var(--ink-2)}

.chart-card{border:1px solid var(--border);border-radius:8px;padding:24px 24px 12px;margin:20px 0 28px;background:var(--paper)}
.chart-card .chart-label{font-family:var(--sans);font-size:11px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-4);margin-bottom:14px}
.chart-wrap{position:relative;height:340px}

.col-notes{font-family:var(--sans);border-left:1px solid var(--border);padding-left:24px}
.note-block{margin-bottom:28px}
.note-num{font-size:11px;color:var(--accent-2);font-weight:600;margin-bottom:4px}
.note-text{font-size:12.5px;line-height:1.65;color:var(--ink-3)}
.note-text code{font-size:.9em}

.neuron-strip{height:120px;margin:8px 0 4px;background:var(--ink);-webkit-mask-image:url('/assets/neurons_mask.png');mask-image:url('/assets/neurons_mask.png');-webkit-mask-size:cover;mask-size:cover;-webkit-mask-position:center;mask-position:center;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;opacity:.06}

.fulltext-toggle-wrap{text-align:center;padding:8px 0 60px}
.fulltext-toggle{font-family:var(--sans);font-size:13px;color:var(--ink-3);border:1px solid var(--border);border-radius:99px;padding:10px 22px;background:none;cursor:pointer;display:inline-flex;align-items:center;gap:8px;transition:border-color .15s,color .15s}
.fulltext-toggle:hover{border-color:var(--ink-4);color:var(--ink)}

#full-text{border-top:1px solid var(--border);padding-top:clamp(48px,7vh,72px)}
.full-text-section{max-width:680px;margin:0 auto}
#full-text .ft-kicker{font-family:var(--sans);font-size:11px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-4);margin-bottom:8px}
#full-text h2{margin-top:44px}
#full-text h2:first-of-type{margin-top:0}

.orb-dock{display:flex;justify-content:center;padding:clamp(48px,7vh,72px) 0;border-top:1px solid var(--border);border-bottom:1px solid var(--border)}

.end-links{display:flex;justify-content:center;gap:28px;flex-wrap:wrap;padding:clamp(40px,6vh,56px) 0;font-family:var(--sans);font-size:13.5px}
.end-links a{color:var(--ink-3);text-decoration:none;display:inline-flex;align-items:center;gap:6px}
.end-links a:hover{color:var(--accent-2)}

.attn-hero-img{display:block;width:min(560px,90vw);margin:26px auto 10px;border-radius:18px;box-shadow:0 14px 48px rgba(23,21,21,.12)}