/* AT Pulse reach meter: pulse ring (270deg sweep). Form encodes the band: sweep length, stroke weight, tick marks, echo rings. */
.reach-meter{display:block;width:64px;height:64px;overflow:visible;flex:none;--rm-track:#46354726;--rm-fill:var(--accent);--rm-halo:var(--peri)}
.reach-meter.rm-sm{width:28px;height:28px}
.reach-meter.rm-md{width:40px;height:40px}
.rm-track{fill:none;stroke:var(--rm-track);stroke-width:6;stroke-linecap:round}
.rm-ticks line{stroke:var(--plum);stroke-opacity:.38;stroke-width:1.4;stroke-linecap:round}
.rm-fill{fill:none;stroke:var(--rm-fill);stroke-linecap:round}
.rm-glow{filter:drop-shadow(0 0 4px color-mix(in srgb,var(--rm-halo) calc(var(--glow)*100%),transparent))}
.rm-head{transform-origin:50px 50px}
.rm-head-halo{fill:var(--rm-halo);opacity:.45}
.rm-head-dot{fill:var(--white);stroke:var(--rm-fill);stroke-width:1.6}
.rm-echo{fill:none;stroke:var(--rm-halo);stroke-width:.9;stroke-dasharray:1.5 3;opacity:.7}
.rm-echo-2{opacity:.4}
.rm-num{font:600 36px var(--display);letter-spacing:-.05em;fill:var(--plum);font-feature-settings:'tnum'}
.rm-of{font:500 8.5px var(--mono);letter-spacing:.06em;fill:var(--muted)}
.rm-sm .rm-of{display:none}
.rm-sm .rm-num{font-size:38px;font-weight:700}
.rm-md .rm-num{font-size:40px}
.rm-md .rm-of{display:none}
.rm-sm .rm-ticks{display:none}
.rm-sm .rm-glow{filter:none}
.rm-b0{--glow:.22}.rm-b1{--glow:.36}.rm-b2{--glow:.55}.rm-b3{--glow:.8}
/* cards: tiny inline mark in the kicker row */
.reach-mark{display:inline-flex;align-items:center;gap:5px;flex:none;line-height:1;margin:0;white-space:nowrap}
.reach-label{font:600 10px/1 var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}
.lead-kicker>.reach-mark{margin-left:0;color:inherit;font:inherit;letter-spacing:0}
.lead-story .reach-mark{--rm-track:#ffffff40;--rm-fill:var(--pink);--rm-halo:var(--pink)}
.lead-story .rm-num{fill:#fff}
.lead-story .rm-head-dot{fill:var(--plum)}
.lead-story .reach-label{color:var(--pink)}
/* story page: one quiet line, details unfold beneath */
.reach-quiet{margin:16px 0 4px;font-size:14px;color:var(--muted)}
.reach-quiet summary{display:flex;align-items:center;gap:8px;flex-wrap:wrap;cursor:pointer;list-style:none;width:max-content;max-width:100%}
.reach-quiet summary::-webkit-details-marker{display:none}
.reach-word{font:600 15px/1 var(--display);letter-spacing:-.01em;color:var(--plum)}
.reach-link{font:500 13px/1 var(--sans);color:var(--accent);text-decoration:underline;text-underline-offset:3px;text-decoration-color:#9096C699;margin-left:6px}
.reach-link:after{content:" +"}
.reach-quiet[open] .reach-link:after{content:" \2212"}
.reach-quiet summary:focus-visible{outline:2px solid var(--accent);outline-offset:4px;border-radius:6px}
.reach-more{margin:8px 0 0;padding-left:12px;border-left:2px solid #9096C655;max-width:62ch}
.reach-more p{margin:0 0 8px;line-height:1.55}
.reach-basis{color:var(--plum)}
.reach-none{margin:16px 0 4px;font-size:13px;color:var(--muted)}
/* one-time draw-in */
@media(prefers-reduced-motion:no-preference){
 .rm-fill{animation:rm-draw 1.1s cubic-bezier(.2,.7,.2,1) both}
 .rm-head{animation:rm-sweep 1.1s cubic-bezier(.2,.7,.2,1) both}
 .rm-echo-1{animation:rm-echo 1.6s ease-out both}
 @keyframes rm-draw{from{stroke-dasharray:0 100}}
 @keyframes rm-sweep{from{transform:rotate(0deg)}}
 @keyframes rm-echo{from{opacity:0;transform:scale(.9);transform-origin:50px 50px}}
}
@media(max-width:580px){
 .story-list .story-card:has(.reach-mark) .card-kicker{grid-column:1/-1;grid-row:1}
 .story-list .story-card:has(.reach-mark) h3,.story-list .story-card:has(.reach-mark):nth-child(-n+4) h3{grid-row:2}
 .story-list .story-card:has(.reach-mark) .card-meta{grid-row:3;grid-column:1/-1}
}
