/* AT Pulse story timeline: vertical rail, sector-coloured dots, date pills and speech-bubble events. Pure CSS, no JS.
   Colours come from the sector variables (--s-accent/--s-bg/--s-ink) set by .sector-<key> in sectors.css. */
.timeline{--a:var(--s-accent,var(--accent));--b:var(--s-bg,var(--peri-soft));--i:var(--s-ink,var(--plum));--rail:color-mix(in srgb,var(--a) 34%,transparent);--when:148px;margin:16px 0 8px}
.prose .tl,.tl{list-style:none;margin:0;padding:0}
.tl-item{position:relative;display:grid;grid-template-columns:26px minmax(0,1fr);column-gap:14px;padding:0 0 14px;margin:0}
.prose .tl-item{padding-left:0;margin:0 0 0}
.tl-item:last-child{padding-bottom:0}
.tl-item::before{content:"";position:absolute;left:12px;top:0;bottom:0;width:2px;background:var(--rail)}
.tl-item:first-child::before{top:13px}
.tl-item:last-child::before{bottom:auto;height:13px}
.tl-item:only-child::before{display:none}
.tl-item::after{content:"";position:absolute;left:5px;top:5px;width:16px;height:16px;border-radius:50%;background:var(--a);border:3px solid #fff;box-shadow:0 0 0 2px var(--a)}
.tl-when{grid-column:2;grid-row:1;min-height:26px;display:flex;align-items:center}
.tl-pill{display:inline-block;padding:3px 12px;border-radius:14px;background:var(--a);color:#fff;font:650 13px/1.4 var(--sans);letter-spacing:.01em;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}
.tl-pill-n{background:var(--b);color:var(--i);box-shadow:inset 0 0 0 1px var(--a)}
.tl-bubble{grid-column:2;grid-row:2;position:relative;margin-top:8px;padding:12px 16px;min-width:0;background:color-mix(in srgb,var(--b) 48%,#fff);color:var(--i);border:1px solid color-mix(in srgb,var(--a) 30%,transparent);border-radius:18px}
.tl-bubble::before{content:"";position:absolute;top:-7px;left:22px;width:12px;height:12px;background:inherit;border:1px solid color-mix(in srgb,var(--a) 30%,transparent);border-width:1px 0 0 1px;border-radius:3px 0 0 0;transform:rotate(45deg)}
.prose .tl-title{font:650 17px/1.32 var(--sans);letter-spacing:-.005em;margin:0 0 6px;color:var(--i)}
.prose .tl-text{font:400 16px/1.55 var(--sans);margin:0;color:var(--i);overflow-wrap:anywhere}
.tl-foot{display:flex;flex-wrap:wrap;align-items:center;gap:4px 12px;margin-top:8px}
.tl-cites{display:flex;flex-wrap:wrap;gap:6px}
.tl-more[open]{flex:1 1 100%}
.prose a.tl-cite{display:inline-flex;align-items:center;gap:5px;max-width:100%;min-height:32px;padding:4px 12px;border:1px solid color-mix(in srgb,var(--a) 45%,transparent);border-radius:999px;background:#fff;color:var(--i);font:600 14px/1.3 var(--sans);text-decoration:none;overflow-wrap:anywhere}
.prose a.tl-cite:hover{background:var(--a);border-color:var(--a);color:#fff}
.prose a.tl-cite:focus-visible,.tl-more summary:focus-visible{outline:2px solid var(--a);outline-offset:2px}
.tl-more{margin:0}
.tl-more summary{list-style:none;cursor:pointer;display:inline-flex;align-items:center;gap:6px;min-height:32px;font:600 14px/1.3 var(--sans);color:var(--a)}
.tl-more summary::-webkit-details-marker{display:none}
.tl-more summary:before{content:"+";font-size:16px;line-height:1}
.tl-more[open] summary:before{content:"\2212"}
.tl-more summary:hover{text-decoration:underline;text-underline-offset:3px}
.prose .tl-more p{font-size:15px;line-height:1.6;margin:8px 0 0}
.prose .tl-src{list-style:none;margin:8px 0 0;padding:0;display:grid;gap:4px}
.prose .tl-src li{margin:0;padding:0;font-size:14px;line-height:1.4}
.prose .tl-src a{color:var(--i);text-decoration:underline;text-decoration-color:color-mix(in srgb,var(--a) 50%,transparent);text-underline-offset:3px;display:inline-block;padding:3px 0;overflow-wrap:anywhere}
.prose .tl-src a:hover{color:var(--a)}
.prose .tl-src small{display:inline;margin-left:8px;font:600 13px/1.3 var(--sans);color:var(--muted)}
.tl-item:hover .tl-bubble,.tl-item:focus-within .tl-bubble{border-color:var(--a);box-shadow:0 8px 20px -12px color-mix(in srgb,var(--a) 70%,transparent)}
.tl-item:hover .tl-bubble::before,.tl-item:focus-within .tl-bubble::before{border-color:var(--a)}
@media(prefers-reduced-motion:no-preference){.tl-bubble{transition:border-color .2s,box-shadow .2s}.tl-item::after{transition:transform .2s}.tl-item:hover::after,.tl-item:focus-within::after{transform:scale(1.18)}}
/* steps fallback (fewer than two events) */
.prose .tl-steps{list-style:none;margin:0;padding:0;display:grid;gap:8px;counter-reset:st}
.prose .tl-steps li{counter-increment:st;position:relative;margin:0;padding:11px 16px 11px 54px;background:color-mix(in srgb,var(--b) 48%,#fff);color:var(--i);border:1px solid color-mix(in srgb,var(--a) 30%,transparent);border-radius:16px;font-size:16px;line-height:1.5;overflow-wrap:anywhere}
.prose .tl-steps li strong{font-weight:650}
.prose .tl-steps .tl-cites{margin-top:6px}
.prose .tl-steps li::before{content:counter(st);position:absolute;left:14px;top:11px;width:26px;height:26px;border-radius:50%;background:var(--a);color:#fff;font:650 13px/1 var(--sans);display:grid;place-items:center}
@media(min-width:760px){
 .tl-item{grid-template-columns:var(--when) 26px minmax(0,1fr);column-gap:16px}
 .tl-item::before{left:calc(var(--when) + 16px + 12px)}
 .tl-item::after{left:calc(var(--when) + 16px + 5px)}
 .tl-when{grid-column:1;grid-row:1;justify-content:flex-end;text-align:right;align-items:flex-start;padding-top:1px}
 .tl-bubble{grid-column:3;grid-row:1;margin-top:0}
 .tl-bubble::before{top:9px;left:-7px;border-width:0 0 1px 1px;border-radius:0 0 0 3px}
}

/* story-concise: short extracts with per-section folds, compact headings, count-aware core ideas */
.article-main .prose{margin-top:28px}
.prose .sec{margin:0 0 6px}
.article-main .prose h2{margin:26px 0 10px;font-size:clamp(24px,2.4vw,28px)}
.prose .sec:first-child h2{margin-top:0}
.prose .sec-extract p,.prose .sec>p{font-size:17px;line-height:1.65;margin:0 0 .8em}
.prose .sec-brief .sec-extract p,.prose .sec-brief>p:first-of-type{font-size:19px;line-height:1.6}
.prose .sec-extract ul{margin:0 0 .6em}
.prose .sec-more{margin:6px 0 4px}
.prose .sec-more>summary{list-style:none;cursor:pointer;display:inline-flex;align-items:center;gap:8px;min-height:34px;padding:5px 15px;border:1px solid var(--line-strong);border-radius:999px;background:transparent;font:600 14px/1.3 var(--sans);color:var(--plum);transition:background .2s}
.prose .sec-more>summary::-webkit-details-marker{display:none}
.prose .sec-more>summary:after{content:"+";font-size:18px;line-height:1}
.prose .sec-more[open]>summary:after{content:"\2212"}
.prose .sec-more>summary:hover{background:#ffffff80}
.prose .sec-more[open]>summary{margin-bottom:14px}
.prose .sec:has(>.sec-more[open])>.sec-extract{display:none}
.prose .sec-sources .sec-extract p,.prose .sec-sources>p{font-size:15px;line-height:1.55;color:var(--muted)}
.core-list{display:grid}
.core-ideas[data-n="1"] .core-idea{border-top:0;padding:8px 0 4px}
.core-ideas[data-n="1"] .core-idea p{font-size:20px;line-height:1.5}
@media(min-width:700px){
 .core-ideas:not([data-n="1"]) .core-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
 .core-ideas[data-n="3"] .core-list{grid-template-columns:repeat(3,minmax(0,1fr))}
 .core-ideas:not([data-n="1"]) .core-idea{flex-direction:column;gap:10px;border:1px solid var(--line-strong);border-radius:var(--r-sm);padding:16px;background:#ffffff66}
 .core-ideas:not([data-n="1"]) .core-idea p{font-size:16px;margin:0}
 .core-ideas[data-n="3"] .core-idea p{font-size:15px}
}
.core-ideas{padding:28px 30px}
@media(max-width:640px){.core-ideas{padding:22px 18px}.core-idea{padding:14px 0}}
/* source trail: closed 'Sources (N)' fold (story.js opens it for #ref-N anchors); two columns on desktop, tight rows on mobile */
.ref-fold>summary{list-style:none;cursor:pointer;display:inline-flex;align-items:center;gap:8px;min-height:40px;padding:6px 18px;border:1px solid var(--line-strong);border-radius:999px;font:600 15px/1.3 var(--sans);color:var(--plum);background:#ffffff80}
.ref-fold>summary::-webkit-details-marker{display:none}
.ref-fold>summary:after{content:"+";font-size:18px;line-height:1}
.ref-fold[open]>summary:after{content:"\2212"}
.ref-fold>summary:hover{background:#fff}
.ref-fold[open]>summary{margin-bottom:12px}
.ref-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:8px}
@media(min-width:900px){.ref-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
.ref-alias{position:absolute}
.references>h2{margin-bottom:14px}
.article-main .references .reference-item{margin:0;padding:12px 14px;gap:12px}
.references .reference-item h3{font-size:16px;margin:0 0 3px}
.references .reference-item p{font-size:14px;margin:0 0 2px;display:-webkit-box;-webkit-line-clamp:1;-webkit-box-orient:vertical;overflow:hidden}
.references .reference-item h3{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
@media(max-width:640px){.references .reference-item p{display:none}.article-main .references .reference-item{padding:10px 12px}.references .reference-item h3{font-size:15px}}
.why-matters{padding:clamp(22px,3vw,34px) clamp(22px,3vw,40px)}
.why-matters p{margin-top:12px}
@media(prefers-reduced-motion:reduce){.prose .sec-more>summary{transition:none}}

/* story dek: always the full text, never clamped mid-sentence */
.article-page .article-dek{display:block;-webkit-line-clamp:unset;overflow:visible}

/* linked-video card and timestamp chips */
.article-main .prose p a.ts{font-size:13px;gap:5px;min-width:0;padding:0 10px 0 8px}
.article-main .prose p a.ts:before{content:"\25B6";font:700 11px/1 var(--sans);color:var(--accent)}
.article-main .prose p a.ts:after{content:attr(data-host);font:600 13px/1 var(--mono);font-variant-numeric:tabular-nums}
.article-main .prose p a.ts:hover:before{color:var(--pink)}
.prose a.tl-ts{font-variant-numeric:tabular-nums}
.video-card{margin:0 0 14px;padding:10px 14px;border:1px solid color-mix(in srgb,var(--s-accent,var(--accent)) 35%,transparent);border-left:4px solid var(--s-accent,var(--accent));border-radius:var(--r-sm);background:#ffffff80}
.vc-row{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:6px 16px}
.vc-watch{display:inline-flex;align-items:center;gap:7px;min-height:36px;padding:4px 14px;border-radius:999px;background:var(--plum);color:#fff;font:600 14px/1.3 var(--sans);overflow-wrap:anywhere}
.vc-watch b{font:600 13px var(--mono);opacity:.85}
.vc-watch:hover{background:var(--s-accent,var(--accent))}
.vc-watch:focus-visible,.vc-more summary:focus-visible{outline:2px solid var(--s-accent,var(--accent));outline-offset:2px}
.vc-prov{margin:6px 0 0;font-size:14px;line-height:1.45;color:var(--plum)}
.vc-more{margin-top:0}
.vc-more summary{list-style:none;cursor:pointer;display:inline-flex;align-items:center;gap:6px;min-height:30px;font:600 14px/1.3 var(--sans);color:var(--s-accent,var(--accent))}
.vc-more summary::-webkit-details-marker{display:none}
.vc-more summary:before{content:"+";font-size:16px}
.vc-more[open] summary:before{content:"\2212"}
.vc-more p{margin:4px 0 6px;font-size:14px;line-height:1.55;color:var(--muted)}
@media(max-width:640px){.vc-row{flex-wrap:nowrap;gap:8px}.vc-row .tiny-label{font-size:13px;letter-spacing:.06em}.vc-watch{padding:4px 11px;gap:5px;font-size:14px}}
@media(max-width:360px){.vc-row{flex-wrap:wrap}}
