/* Notes and Community work: editorial layouts on the version 5 tokens. Classes are prefixed ed- to stay clear of the homepage's. */

/* ---------- shared ---------- */
.ed-kicker{display:flex;flex-wrap:wrap;align-items:center;gap:6px 16px;font-size:.9375rem;line-height:1.5;color:var(--muted)}
.ed-kicker .ed-no{font-family:var(--serif);font-weight:600;color:var(--act)}
.ed-theme{display:inline-flex;align-items:center;gap:8px;font-weight:600;color:var(--ink);text-decoration:none}
.ed-theme::before{content:"";flex:none;width:9px;height:9px;border-radius:50%;background:var(--theme, var(--act))}
.t-truth{--theme:var(--amber)}
.t-trust{--theme:var(--act)}
.t-field{--theme:var(--ink)}
.ed-label{font-size:.8125rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--muted)}
.ed-h2{font-size:clamp(1.875rem, 3.2vw, 2.75rem);line-height:1.08;letter-spacing:-.015em}
.ed-intro{max-width:38em;color:var(--text);margin-top:14px}
.ed-dot{display:flex;align-items:center;gap:8px;font-size:.875rem;font-weight:700;color:var(--ink)}
.ed-dot::before{content:"";flex:none;width:8px;height:8px;border-radius:50%;background:var(--ink)}
.ed-dot.open{color:var(--muted)}
.ed-dot.open::before{background:transparent;border:1.5px solid var(--muted);box-sizing:border-box}

/* ---------- notes index ---------- */
.ed-nx-hero{padding-top:clamp(28px, 4vw, 64px);padding-bottom:clamp(28px, 3.5vw, 44px)}
.ed-nx-hero h1{font-size:clamp(2.75rem, 7vw, 5.75rem);line-height:.98;letter-spacing:-.035em;max-width:11em}
.ed-nx-hero .ed-intro{font-size:clamp(1.1875rem, 1.7vw, 1.4375rem);line-height:1.5;margin-top:22px}
.ed-by{display:flex;align-items:center;gap:12px;margin-top:22px;font-size:.9375rem;color:var(--muted)}
.ed-by img{flex:none;width:40px;height:40px;border-radius:50%;object-fit:cover;object-position:center 30%;background:var(--surface)}
.ed-filters{display:flex;flex-wrap:wrap;gap:8px;margin-top:28px}
.ed-filters button{display:inline-flex;align-items:center;gap:8px;min-height:42px;padding:0 16px;border:1px solid var(--rule);border-radius:999px;background:var(--panel);color:var(--ink);font:600 .9375rem/1 var(--sans);cursor:pointer}
.ed-filters button[aria-pressed="true"]{background:var(--ink);border-color:var(--ink);color:var(--bg)}
.ed-filters button[aria-pressed="true"].ed-theme::before{box-shadow:0 0 0 2px var(--bg)}

.ed-lead{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.05fr);gap:28px clamp(32px, 5vw, 64px);align-items:center;padding:clamp(22px, 3.5vw, 44px);border:1px solid var(--rule);border-radius:16px;background:var(--panel);box-shadow:var(--shadow);color:inherit;text-decoration:none}
.ed-lead h2{font-size:clamp(2.125rem, 4vw, 3.5rem);line-height:1.02;letter-spacing:-.025em;margin-top:14px}
.ed-lead .ed-dek{font-family:var(--serif);font-style:italic;font-size:clamp(1.1875rem, 1.6vw, 1.375rem);line-height:1.45;color:var(--text);margin-top:14px}
.ed-lead .ed-excerpt{color:var(--text);margin-top:14px}
.ed-read{display:inline-block;margin-top:18px;font-weight:600;color:var(--act)}
.ed-lead:hover h2,.ed-card:hover h3{text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:5px}
.ed-lead .ed-fig{margin:0}
@media (max-width:860px){.ed-lead{grid-template-columns:minmax(0,1fr)}}

.ed-cards{display:grid;grid-template-columns:repeat(auto-fill, minmax(min(320px, 100%), 1fr));gap:20px;margin-top:20px}
.ed-card{display:flex;flex-direction:column;gap:12px;padding:24px;border:1px solid var(--rule);border-radius:14px;background:var(--panel);color:inherit;text-decoration:none;transition:border-color .15s ease, transform .15s ease}
.ed-card:hover{border-color:var(--ink);transform:translateY(-2px)}
.ed-card .ed-num{font-family:var(--serif);font-weight:600;font-size:2.75rem;line-height:1;color:var(--act)}
.ed-card h3{font-size:1.4375rem;line-height:1.22;letter-spacing:-.005em}
.ed-card .ed-dek{font-size:1rem;line-height:1.55;color:var(--text)}
.ed-card blockquote{margin:auto 0 0;padding-top:16px;border-top:1px solid var(--rule-soft);font-family:var(--serif);font-style:italic;font-size:1.0625rem;line-height:1.45;color:var(--ink)}
.ed-card .ed-meta{font-size:.875rem;color:var(--muted)}
@media (prefers-reduced-motion:reduce){.ed-card{transition:none}.ed-card:hover{transform:none}}

.ed-qband{padding-top:clamp(64px, 8vw, 112px);padding-bottom:clamp(64px, 8vw, 112px)}
.ed-qband blockquote{margin:0;font-family:var(--serif);font-weight:600;font-size:clamp(2.125rem, 5vw, 4rem);line-height:1.06;letter-spacing:-.025em;color:var(--band-text);max-width:16em;text-wrap:balance}
.ed-qband p{margin-top:20px;color:var(--band-muted)}
.ed-qband a{color:var(--band-text)}

/* ---------- reading page ---------- */
.ed-progress{position:fixed;top:0;left:0;z-index:30;width:100%;height:3px;background:var(--act);transform:scaleX(0);transform-origin:0 50%}
.ed-head{max-width:860px;margin:0 auto;padding:clamp(20px, 4vw, 56px) var(--gutter) 0}
.ed-head .ed-back{display:inline-block;font-size:.9375rem;font-weight:600;padding:6px 0;margin-bottom:14px}
.ed-head h1{font-size:clamp(2.5rem, 6vw, 4.75rem);line-height:1;letter-spacing:-.03em;margin-top:18px;text-wrap:balance}
.ed-head .ed-dek{font-family:var(--serif);font-style:italic;font-size:clamp(1.25rem, 2vw, 1.5625rem);line-height:1.45;color:var(--text);margin-top:20px;max-width:34em}
.ed-byline{display:flex;align-items:center;gap:12px;margin-top:26px;font-size:.9375rem;line-height:1.4;color:var(--muted)}
.ed-byline img{flex:none;width:46px;height:46px;border-radius:50%;object-fit:cover;object-position:center 30%;background:var(--surface)}
.ed-byline b{display:block;color:var(--ink)}

.ed-grid{max-width:1140px;margin:0 auto;padding:clamp(28px, 4vw, 52px) var(--gutter) 0;display:grid;grid-template-columns:minmax(0,680px) minmax(0,280px);gap:clamp(32px, 5vw, 72px);justify-content:center;align-items:start}
.ed-aside .ed-sticky{position:sticky;top:28px;display:flex;flex-direction:column;gap:16px}
@media (max-width:1020px){.ed-grid{grid-template-columns:minmax(0,680px)}.ed-aside{order:-1}.ed-aside .ed-sticky{position:static}}
.ed-evidence{margin:0;padding:18px 20px;border-radius:12px;background:var(--bar);display:flex;flex-direction:column;gap:14px;font-size:.9375rem;line-height:1.55}
.ed-evidence dd{margin:2px 0 0;color:var(--text)}
.ed-aside-links{display:flex;flex-direction:column;gap:2px;font-size:.9375rem}
.ed-aside-links a{padding:6px 0;font-weight:600}

.ed-prose{font-family:var(--serif);font-size:1.25rem;line-height:1.75;color:var(--ink)}
.ed-prose > p + p{margin-top:1.1em}
.ed-prose .ed-lede{font-size:clamp(1.3125rem, 2vw, 1.4375rem);line-height:1.65}
.ed-prose .ed-lede::first-letter{float:left;font-size:4.1em;line-height:.8;font-weight:600;margin:.07em .1em 0 0;color:var(--act)}
.ed-prose mark{background:#FBE3A9;color:#1F2150;padding:1px 3px;border-radius:3px;-webkit-box-decoration-break:clone;box-decoration-break:clone}
.ed-pq{margin:1.5em 0;padding:4px 0 4px 22px;border-left:3px solid var(--act);font-weight:600;font-size:clamp(1.5rem, 2.6vw, 1.9375rem);line-height:1.28;letter-spacing:-.01em;color:var(--ink)}
.ed-signoff{margin-top:1.6em;padding-top:1.1em;border-top:1px solid var(--rule);font-weight:600;font-size:clamp(1.375rem, 2.2vw, 1.625rem);line-height:1.38}
.ed-signoff + svg{display:block;margin:28px auto 0}

.ed-after{max-width:1140px;margin:0 auto;padding:clamp(48px, 6vw, 80px) var(--gutter) clamp(56px, 7vw, 96px);display:grid;grid-template-columns:minmax(0,680px) minmax(0,280px);gap:clamp(32px, 5vw, 72px);justify-content:center}
.ed-after > *{grid-column:1}
@media (max-width:1020px){.ed-after{grid-template-columns:minmax(0,680px)}}
.ed-next{display:block;padding:24px 26px;border-radius:14px;background:var(--band);color:var(--band-text);text-decoration:none}
.ed-next .ed-label{color:var(--band-muted)}
.ed-next b{display:block;margin-top:8px;font-family:var(--serif);font-weight:600;font-size:clamp(1.5rem, 2.6vw, 2rem);line-height:1.15;color:var(--band-text)}
.ed-next span:last-child{display:block;margin-top:8px;color:var(--band-muted)}
.ed-next:hover b{text-decoration:underline;text-underline-offset:5px}
.ed-more{margin-top:36px}
.ed-more ol{list-style:none;margin:12px 0 0;padding:0}
.ed-more li{border-top:1px solid var(--rule)}
.ed-more a{display:flex;gap:14px;align-items:baseline;padding:14px 0;text-decoration:none;color:var(--ink)}
.ed-more a:hover span:last-child{text-decoration:underline;text-underline-offset:4px}
.ed-more .ed-no{flex:none;width:2em;font-family:var(--serif);font-weight:600;color:var(--act)}
.ed-more span:last-child{font-family:var(--serif);font-weight:600;font-size:1.1875rem;line-height:1.35}
.ed-author{display:flex;gap:18px;align-items:flex-start;margin-top:40px;padding-top:28px;border-top:1px solid var(--rule)}
.ed-author img{flex:none;width:72px;height:72px;border-radius:50%;object-fit:cover;object-position:center 30%;background:var(--surface)}
.ed-author h2{font-family:var(--sans);font-size:1.0625rem;font-weight:700}
.ed-author p{margin-top:6px;color:var(--text)}
.ed-author .ed-acts{display:flex;flex-wrap:wrap;gap:10px 22px;align-items:center;margin-top:14px}
.ed-btn{display:inline-flex;align-items:center;min-height:46px;padding:0 20px;border-radius:6px;background:var(--act);color:var(--on-act);font-weight:600;text-decoration:none}
.ed-btn:hover{background:var(--act-hover);color:var(--on-act)}

/* ---------- figures ---------- */
.ed-fig{margin:1.7em 0;font-family:var(--sans);font-size:1rem;line-height:1.5;color:var(--ink)}
.ed-fig-box{border:1px solid var(--rule);border-radius:12px;background:var(--panel);padding:clamp(16px, 2.6vw, 24px)}
.ed-fig figcaption{margin-top:10px;font-size:.875rem;line-height:1.5;color:var(--muted)}
.ed-fig .ed-label{display:block;margin-bottom:10px}
.ed-bars{display:flex;flex-direction:column;gap:20px}
.ed-bar-lab{display:flex;justify-content:space-between;align-items:baseline;gap:12px;font-size:.9375rem;color:var(--text)}
.ed-bar-lab b{font-family:var(--serif);font-size:1.5rem;color:var(--ink);white-space:nowrap}
.ed-bar{height:16px;margin-top:6px;border-radius:8px;background:var(--surface)}
.ed-bar i{display:block;height:100%;min-width:10px;border-radius:8px;background:var(--ink)}
.ed-bar.act i{background:var(--act)}
.ed-checks{list-style:none;margin:0;padding:0}
.ed-checks li{display:flex;gap:12px;align-items:flex-start;padding:11px 0;border-top:1px solid var(--rule-soft)}
.ed-checks li:first-child{border-top:0;padding-top:0}
.ed-checks b{display:block;font-weight:600}
.ed-checks span.ed-why{display:block;font-size:.9375rem;color:var(--muted)}
.ed-mk{flex:none;display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;margin-top:1px;border-radius:50%;font-size:.8125rem;font-weight:700;line-height:1}
.ed-mk.ok{background:var(--ink);color:var(--bg)}
.ed-mk.no{border:1.5px solid var(--act);color:var(--act)}
.ed-split{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.3fr);gap:14px}
@media (max-width:560px){.ed-split{grid-template-columns:minmax(0,1fr)}}
.ed-cell{border:1px solid var(--rule);border-radius:10px;padding:16px;background:var(--panel)}
.ed-cell.shade{background:var(--surface)}
.ed-cell h4{font-family:var(--serif);font-size:1.1875rem;line-height:1.3;margin:0}
.ed-cell p{margin-top:8px;font-size:.9375rem;color:var(--text)}
.ed-flow{list-style:none;margin:0;padding:0;display:flex;align-items:stretch;gap:8px}
.ed-flow li.ed-node{flex:1 1 0;min-width:0;border:1px solid var(--rule);border-radius:10px;padding:14px;background:var(--panel)}
.ed-flow li.ed-node b{display:block;font-family:var(--serif);font-size:1.0625rem;line-height:1.3}
.ed-flow li.ed-node span{display:block;margin-top:6px;font-size:.875rem;line-height:1.45;color:var(--muted)}
.ed-flow li.ed-arr{flex:none;align-self:center;color:var(--muted);font-size:1.25rem}
@media (max-width:640px){.ed-flow{flex-direction:column}.ed-flow li.ed-arr{align-self:center;transform:rotate(90deg)}}
.ed-bracket{margin-top:12px;padding:10px 14px;border-radius:8px;background:var(--bar);font-size:.9375rem;color:var(--ink)}
.ed-mail{border:1px solid var(--rule);border-radius:10px;overflow:hidden;background:var(--panel)}
.ed-mail-top{display:flex;justify-content:space-between;gap:10px;padding:10px 16px;background:var(--bar);font-size:.875rem;color:var(--muted)}
.ed-mail-body{padding:16px;font-family:var(--serif);font-size:1.125rem;line-height:1.7}
.ed-mail-body mark{background:#FBE3A9;color:#1F2150;padding:1px 3px;border-radius:3px}
.ed-badge{display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;margin-left:3px;border-radius:50%;background:var(--ink);color:var(--bg);font:700 .6875rem/1 var(--sans);vertical-align:3px}
.ed-mail-notes{list-style:none;margin:0;padding:12px 16px 16px;display:flex;flex-direction:column;gap:8px;border-top:1px solid var(--rule-soft);font-size:.9375rem;color:var(--text)}
.ed-mail-notes li{display:flex;gap:10px;align-items:flex-start}
.ed-mail-notes .ed-badge{flex:none;margin:2px 0 0}
.ed-stages{display:grid;grid-template-columns:repeat(3, minmax(0,1fr));gap:12px}
@media (max-width:640px){.ed-stages{grid-template-columns:minmax(0,1fr)}}
.ed-stage{border:1px solid var(--rule);border-radius:10px;padding:14px;background:var(--panel)}
.ed-stage svg{display:block;width:52px;height:52px;margin-bottom:8px}
.ed-stage b{display:block;font-family:var(--serif);font-size:1.0625rem;line-height:1.3}
.ed-stage span{display:block;margin-top:6px;font-size:.875rem;line-height:1.45;color:var(--muted)}

/* ---------- community work ---------- */
.ed-cw-hero{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:32px clamp(36px, 5vw, 72px);align-items:center;padding-top:clamp(24px, 4vw, 56px);padding-bottom:clamp(40px, 5vw, 64px)}
.ed-cw-hero h1{font-size:clamp(2.75rem, 6.4vw, 5.25rem);line-height:.98;letter-spacing:-.035em;margin-top:16px;text-wrap:balance}
.ed-cw-hero .ed-intro{font-size:clamp(1.1875rem, 1.7vw, 1.375rem);line-height:1.5;margin-top:20px}
.ed-cw-hero .ed-note{margin-top:16px;font-size:.9375rem;color:var(--muted);max-width:36em}
.ed-cw-hero .ed-links{display:flex;flex-wrap:wrap;gap:8px 26px;margin-top:22px;font-weight:600}
.ed-cw-hero .ed-links a{padding:8px 0}
.ed-photo{margin:0}
.ed-photo img{display:block;width:100%;height:auto;border-radius:14px;background:var(--surface);box-shadow:var(--shadow)}
.ed-photo figcaption{margin-top:10px;font-size:.875rem;color:var(--muted)}
@media (max-width:900px){.ed-cw-hero{grid-template-columns:minmax(0,1fr)}}
.ed-facts{display:grid;grid-template-columns:repeat(4, minmax(0,1fr));border-top:1px solid var(--rule);border-bottom:1px solid var(--rule)}
.ed-fact{padding:24px 20px 24px 0}
.ed-fact + .ed-fact{padding-left:20px;border-left:1px solid var(--rule)}
.ed-fact b{display:block;font-family:var(--serif);font-weight:600;font-size:clamp(2rem, 3.6vw, 3rem);line-height:1;letter-spacing:-.02em;color:var(--ink)}
.ed-fact span{display:block;margin-top:8px;font-size:.9375rem;line-height:1.45;color:var(--muted)}
@media (max-width:760px){.ed-facts{grid-template-columns:repeat(2, minmax(0,1fr))}.ed-fact:nth-child(3){padding-left:0;border-left:0}.ed-fact:nth-child(n+3){border-top:1px solid var(--rule)}}
.ed-sys{margin-top:28px}
.ed-sys .ed-bracket{margin-top:14px}
.ed-two{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:28px clamp(32px, 5vw, 64px);margin-top:28px}
@media (max-width:760px){.ed-two{grid-template-columns:minmax(0,1fr)}}
.ed-list{list-style:none;margin:10px 0 0;padding:0}
.ed-list li{padding:14px 0;border-top:1px solid var(--rule);color:var(--text)}
.ed-cw-quote{margin:32px 0 0;padding-left:22px;border-left:3px solid var(--act);font-family:var(--serif);font-style:italic;font-size:clamp(1.25rem, 2vw, 1.5rem);line-height:1.45;color:var(--ink);max-width:36em}
.ed-people{display:grid;grid-template-columns:repeat(3, minmax(0,1fr));gap:20px;margin-top:28px}
@media (max-width:760px){.ed-people{grid-template-columns:minmax(0,1fr)}}
.ed-person{padding-top:18px;border-top:2px solid var(--ink)}
.ed-person h3{font-size:1.375rem;line-height:1.25}
.ed-person p{margin-top:8px;color:var(--text)}
.ed-band-quote{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:28px clamp(36px, 5vw, 80px);align-items:end}
.ed-band-quote blockquote{margin:0;font-family:var(--serif);font-weight:600;font-size:clamp(2.5rem, 6vw, 4.75rem);line-height:1;letter-spacing:-.03em;color:var(--band-text)}
.ed-band-quote p{color:var(--band-muted)}
.ed-band-quote p + p{margin-top:14px}
.ed-band-quote a{color:var(--band-text);font-weight:600}
@media (max-width:820px){.ed-band-quote{grid-template-columns:minmax(0,1fr)}}
.ed-tl{list-style:none;margin:32px 0 0;padding:0 0 0 30px;border-left:2px solid var(--rule);max-width:760px}
.ed-tl li{position:relative;padding:0 0 28px}
.ed-tl li:last-child{padding-bottom:0}
.ed-tl li::before{content:"";position:absolute;left:-39px;top:5px;width:16px;height:16px;border-radius:50%;background:var(--ink);box-shadow:0 0 0 4px var(--bg)}
.ed-tl li.ed-tl-field::before{background:var(--act)}
.ed-tl li.ed-tl-next::before{background:var(--bg);border:2px solid var(--muted);box-sizing:border-box}
.ed-tl .ed-when{font-size:.875rem;font-weight:700;color:var(--muted)}
.ed-tl h3{margin-top:4px;font-size:1.3125rem;line-height:1.3}
.ed-tl h3 a{text-underline-offset:4px}
.ed-tl p{margin-top:4px;color:var(--text)}
