/* Journal article pages (ar- prefix) */
.phero h1.ar-h1{font-size:clamp(36px,4.8vw,68px);line-height:1.04;max-width:16em}
.phero .eyebrow a{text-decoration:underline;text-underline-offset:3px}
.ar{padding-top:72px}
.ar-grid{display:grid;grid-template-columns:240px minmax(0,720px);gap:64px;justify-content:center}
.ar-side{position:sticky;top:96px;align-self:start;display:grid;gap:20px}
.ar-by{display:grid;gap:12px}
.ar-by>span{display:inline-flex}.ar-by>span+span{margin-left:-10px}
.ar-by{grid-template-columns:auto auto 1fr;align-items:center}
.ar-by p{grid-column:1/-1;font-size:14px;line-height:1.5;color:var(--ink-2)}
.ar-by time{color:var(--ink-3)}
.ar-side .btn{justify-self:start}
.ar-take{background:var(--sand-100);border-radius:var(--r-md);padding:24px 28px;margin-bottom:40px}
.ar-take .mono{color:var(--ink-3)}
.ar-take ul{margin:12px 0 0;padding-left:20px;display:grid;gap:8px}
.ar-take li{font-size:17px;line-height:1.5}
.ar-body>p:first-child{font-size:19px;color:var(--ink)}
.ar-body a,.ar-src a{color:var(--accent);text-decoration:underline;text-underline-offset:3px}
.ar-body ol{padding-left:22px;display:grid;gap:6px}
.ar-body table{width:100%;border-collapse:collapse;margin:24px 0;font-size:15px;display:block;overflow-x:auto}
.ar-body th,.ar-body td{text-align:left;padding:10px 12px;border-bottom:1px solid var(--line);vertical-align:top;min-width:110px}
.ar-body th{font-family:var(--font-mono);font-size:11px;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-3);font-weight:400}
.ar-body blockquote{margin:24px 0;padding:4px 0 4px 20px;border-left:3px solid var(--accent);color:var(--ink)}
.ar-body strong{color:var(--ink);font-weight:600}
.ar-faq,.ar-src{margin-top:56px}
.ar-faq h2,.ar-src h2{font-size:clamp(24px,2.4vw,30px);letter-spacing:-.03em;margin-bottom:12px}
.faq-list details{border-bottom:1px solid var(--line)}
.faq-list details:first-of-type{border-top:1px solid var(--line)}
.faq-list summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;gap:16px;padding:18px 0;font-size:18px;letter-spacing:-.01em}
.faq-list summary::-webkit-details-marker{display:none}
.faq-list summary::after{content:"+";font-size:22px;line-height:1;transition:transform .3s var(--ease)}
.faq-list details[open] summary::after{transform:rotate(45deg)}
.faq-list details p{padding:0 0 18px;color:var(--ink-2);line-height:1.6}
.ar-src ol{padding-left:22px;display:grid;gap:6px;font-size:14px;color:var(--ink-2);word-break:break-word}
.ar-rels{margin-top:18px}
.ar-rel{display:grid;gap:10px;align-content:start;background:var(--sand-50);border:1px solid var(--line);border-radius:var(--r-md);padding:22px;transition:transform .2s var(--ease)}
.ar-rel:hover{transform:translateY(-3px)}
.ar-rel b{font-size:19px;font-weight:500;letter-spacing:-.02em;line-height:1.25}
.ar-rel .mono{color:var(--ink-3)}
@media(max-width:900px){.ar-grid{grid-template-columns:minmax(0,1fr);gap:28px}.ar-side{position:static}.ar{padding-top:40px}}
/* Reading UX: progress bar, breadcrumb, meta row, cover, table of contents, CTA cards */
.ar-progress{position:fixed;top:0;left:0;right:0;height:3px;z-index:200;pointer-events:none}
.ar-progress i{display:block;height:100%;background:var(--accent);transform:scaleX(0);transform-origin:0 50%}
.ar-crumbs{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.ar-crumbs a{text-decoration:underline;text-underline-offset:3px}.ar-crumbs span{opacity:.6}
.ar-meta{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px 20px;padding-bottom:18px;margin-bottom:28px;border-bottom:1px solid var(--line)}
.ar-meta>.mono{color:var(--ink-3)}
.ar-end{border-bottom:0;border-top:1px solid var(--line);padding:18px 0 0;margin:48px 0 0}
.ar-share{display:flex;flex-wrap:wrap;align-items:center;gap:8px}
.ar-share .mono{color:var(--ink-3);margin-right:4px}
.ar-share a,.ar-share button{font:inherit;font-size:13px;color:var(--ink);background:var(--sand-100);border:1px solid var(--line);border-radius:999px;padding:5px 12px;cursor:pointer;transition:background .2s var(--ease)}
.ar-share a:hover,.ar-share button:hover{background:var(--mist)}
.ar-cover{margin:0 0 36px;border-radius:var(--r-lg);overflow:hidden;aspect-ratio:3/2;background:var(--sand-200)}
.ar-cover img{width:100%;height:100%;object-fit:cover;display:block}
.ar-body h2{scroll-margin-top:96px}
.ar-toc summary{list-style:none;cursor:pointer;color:var(--ink-3);padding-bottom:10px;border-bottom:1px solid var(--line)}
.ar-toc summary::-webkit-details-marker{display:none}
.ar-toc ol{list-style:none;margin:10px 0 0;padding:0;display:grid;gap:2px;max-height:46vh;overflow:auto}
.ar-toc a{display:block;font-size:14px;line-height:1.35;color:var(--ink-2);padding:6px 0 6px 12px;border-left:2px solid var(--line);transition:color .2s,border-color .2s}
.ar-toc a:hover{color:var(--ink)}
.ar-toc a.on{color:var(--ink);border-left-color:var(--navy);font-weight:500}
.ar-card{display:grid;gap:10px;background:var(--sand-100);border:1px solid var(--line);border-radius:var(--r-md);padding:20px}
.ar-card b{font-size:17px;font-weight:500;letter-spacing:-.02em;line-height:1.25}
.ar-card p{font-size:14px;color:var(--ink-2);line-height:1.45}
.ar-card .btn{justify-self:start}
.hs-kicker{color:var(--accent)}
.ar-cta{display:grid;gap:14px;background:var(--navy);color:#fff;border-radius:var(--r-lg);padding:28px 30px;margin:40px 0}
.ar-cta p{color:rgba(255,255,255,.8);margin:0}.ar-cta b{color:#fff;font-weight:500}
.ar-cta .hs-kicker{color:#9db8ff}.ar-cta .btn{justify-self:start}
.ar-rel img{width:100%;height:auto;aspect-ratio:3/2;object-fit:cover;border-radius:var(--r-sm);display:block}
@media(max-width:900px){.ar-card{display:none}.ar-toc{background:var(--sand-50);border:1px solid var(--line);border-radius:var(--r-md);padding:14px 16px}.ar-toc summary{border:0;padding:0}.ar-toc ol{max-height:none}}
@media(prefers-reduced-motion:reduce){.ar-progress{display:none}}
.ar-body .ar-cta a.btn{color:var(--navy);text-decoration:none}
.ar-body .ar-cta p{color:rgba(255,255,255,.8)}
.ar-toc summary{display:flex;justify-content:space-between}
.ar-toc summary::after{content:"+";transition:transform .3s var(--ease)}
.ar-toc[open] summary::after{transform:rotate(45deg)}
