/* AT Pulse sector design system (piece E). Colours mirror public_site/sectors.mjs (a test keeps them in sync).
   --s-bg tint surface, --s-ink text, --s-accent AA accent (text/rules), --s-band decorative fill, --s-pattern band motif, --s-shape mark clip. */
.sector-general{--s-bg:#EFD5CD;--s-ink:#463547;--s-accent:#4F5591;--s-band:#C9A9A4;--s-shape:circle(50%);--s-pattern:radial-gradient(#C9A9A4 1.2px,transparent 1.6px) 0 0/10px 10px}
.sector-safety{--s-bg:#F5D9E0;--s-ink:#4A1C2E;--s-accent:#A02757;--s-band:#E58AA8;--s-shape:circle(50%);--s-pattern:repeating-radial-gradient(circle at 100% 50%,transparent 0 8px,#E58AA8 8px 10px)}
.sector-business{--s-bg:#F4E5BE;--s-ink:#40300C;--s-accent:#7A5200;--s-band:#D9A730;--s-shape:inset(0);--s-pattern:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='104' height='34'%3E%3Cg fill='%23D9A730'%3E%3Crect x='0' y='26' width='14' height='8'/%3E%3Crect x='18' y='21' width='14' height='13'/%3E%3Crect x='36' y='23' width='14' height='11'/%3E%3Crect x='54' y='15' width='14' height='19'/%3E%3Crect x='72' y='9' width='14' height='25'/%3E%3Crect x='90' y='3' width='14' height='31'/%3E%3C/g%3E%3C/svg%3E") right bottom/104px 34px no-repeat,repeating-linear-gradient(0deg,transparent 0 8px,#D9A73088 8px 9px)}
.sector-agents{--s-bg:#DCDEF2;--s-ink:#2B2E5C;--s-accent:#4F5591;--s-band:#9096C6;--s-shape:polygon(50% 0,93% 25%,93% 75%,50% 100%,7% 75%,7% 25%);--s-pattern:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='64' height='34'%3E%3Cpath d='M8 24 26 9 44 25 58 11M26 9 32 30 44 25' stroke='%239096C6' stroke-width='1.2' fill='none'/%3E%3Cg fill='%239096C6'%3E%3Ccircle cx='8' cy='24' r='3'/%3E%3Ccircle cx='26' cy='9' r='3.5'/%3E%3Ccircle cx='44' cy='25' r='3'/%3E%3Ccircle cx='58' cy='11' r='3'/%3E%3Ccircle cx='32' cy='30' r='2.5'/%3E%3C/g%3E%3C/svg%3E") 0 0/64px 34px repeat-x}
.sector-infrastructure{--s-bg:#D6E4EE;--s-ink:#1C3444;--s-accent:#2C6288;--s-band:#6E9CBB;--s-shape:inset(0 round 1px);--s-pattern:linear-gradient(#6E9CBB99 1px,transparent 1px) 0 0/48px 48px,linear-gradient(90deg,#6E9CBB99 1px,transparent 1px) 0 0/48px 48px,linear-gradient(#6E9CBB55 1px,transparent 1px) 0 0/12px 12px,linear-gradient(90deg,#6E9CBB55 1px,transparent 1px) 0 0/12px 12px}
.sector-models{--s-bg:#E6D8EC;--s-ink:#3D2850;--s-accent:#703F8C;--s-band:#B08AC6;--s-shape:polygon(50% 0,100% 50%,50% 100%,0 50%);--s-pattern:repeating-linear-gradient(45deg,#B08AC666 0 1px,transparent 1px 9px),repeating-linear-gradient(-45deg,#B08AC666 0 1px,transparent 1px 9px),linear-gradient(90deg,transparent 30%,#B08AC655)}
.sector-policy{--s-bg:#EBDDD0;--s-ink:#3A2820;--s-accent:#83381C;--s-band:#C08A70;--s-shape:inset(0 30%);--s-pattern:repeating-linear-gradient(90deg,#C08A7077 0 2px,transparent 2px 14px),linear-gradient(#C08A70 0 1px,transparent 1px) 0 4px/100% 100% no-repeat}
.sector-research{--s-bg:#D3E9E4;--s-ink:#173835;--s-accent:#25675F;--s-band:#6FB5AA;--s-shape:inset(8% round 2px);--s-pattern:radial-gradient(#6FB5AA 1.1px,transparent 1.5px) 0 0/12px 11px,repeating-linear-gradient(0deg,transparent 0 10px,#6FB5AA77 10px 11px)}
.sector-coding{--s-bg:#DBE9D2;--s-ink:#22361B;--s-accent:#44692A;--s-band:#8DB56F;--s-shape:inset(0 round 3px);--s-pattern:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='46' height='34'%3E%3Cpath d='M11 10 4 17l7 7M35 10l7 7-7 7M26 8 20 26' stroke='%238DB56F' stroke-width='2' fill='none' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") 0 0/46px 34px repeat-x}
.sector-multimodal{--s-bg:#F8DCC9;--s-ink:#4A2410;--s-accent:#9C4111;--s-band:#EBA070;--s-shape:circle(50%);--s-pattern:radial-gradient(circle at 86% 50%,#EBA07066 0 15px,transparent 16px),radial-gradient(circle at 92% 50%,#F4C4A388 0 15px,transparent 16px),radial-gradient(circle at 80% 50%,#EBA07044 0 15px,transparent 16px),radial-gradient(circle at 74% 50%,#EBA07033 0 15px,transparent 16px)}
.sector-robotics{--s-bg:#E0DEDC;--s-ink:#2A2A30;--s-accent:#4D4D5E;--s-band:#9A9AAE;--s-shape:polygon(0 25%,25% 0,75% 0,100% 25%,100% 75%,75% 100%,25% 100%,0 75%);--s-pattern:repeating-linear-gradient(-45deg,#9A9AAE99 0 5px,transparent 5px 12px)}

/* sector mark: small coloured glyph; shape varies per sector */
.sx-mark,.card-kicker>span:first-child:before,.sx-kicker:before,.filter[class*="sector-"]:before,.sx-chip:before,.topic-tag[class*="sector-"]:before{content:"";display:inline-block;width:9px;height:9px;flex:none;background:var(--s-accent);clip-path:var(--s-shape);margin-right:7px;vertical-align:.02em}
.sx-band{display:flex;align-items:stretch;min-height:36px;background:var(--s-pattern),var(--s-bg);border-bottom:1px solid var(--s-accent)}
.sx-band>span{display:flex;align-items:center;padding:0 14px;background:var(--s-bg);color:var(--s-ink);font:600 13px/1.2 var(--sans);letter-spacing:.05em;text-transform:uppercase}

/* topic tags / chips everywhere */
.topic-tag[class*="sector-"]{background:var(--s-bg);color:var(--s-ink);border-color:color-mix(in srgb,var(--s-accent) 45%,transparent)}
.topic-tag[class*="sector-"]:hover{background:var(--s-accent);color:#fff;border-color:var(--s-accent)}
.topic-tag[class*="sector-"]:hover:before{background:#fff}
.lead-story .topic-tag[class*="sector-"],.story-feature .topic-tag[class*="sector-"],.archive-entry.is-latest .topic-tag[class*="sector-"]{background:#ffffff14;color:var(--pink);border-color:#e9cbc933}
.lead-story .topic-tag[class*="sector-"]:before,.story-feature .topic-tag[class*="sector-"]:before,.archive-entry.is-latest .topic-tag[class*="sector-"]:before{background:var(--s-band)}
.lead-story .topic-tag[class*="sector-"]:hover,.story-feature .topic-tag[class*="sector-"]:hover,.archive-entry.is-latest .topic-tag[class*="sector-"]:hover{background:#ffffff26;color:#fff;border-color:var(--pink)}

/* story rows: kicker colour, tinted thumbnail with a sector border */
.story-card[class*="sector-"] .card-kicker>span:first-child{color:var(--s-accent)}
.story-card[class*="sector-"] .card-art-link{position:relative;box-shadow:0 0 0 2px var(--s-band)}
.story-card[class*="sector-"] .card-art-link:after{content:"";position:absolute;inset:0;border-radius:inherit;background:var(--s-bg);mix-blend-mode:multiply;opacity:.4;pointer-events:none}
.story-card[class*="sector-"]:hover .card-art-link{box-shadow:0 0 0 2px var(--s-accent)}
.archive-thumb[class*="sector-"]{position:relative;box-shadow:0 0 0 2px var(--s-band)}
.archive-thumb[class*="sector-"]:after{content:"";position:absolute;inset:0;background:var(--s-bg);mix-blend-mode:multiply;opacity:.4}

/* /topics/ + edition filter chips: active chip takes the sector colour */
.filter[class*="sector-"]{border-color:color-mix(in srgb,var(--s-accent) 40%,transparent)}
.filter[class*="sector-"]:hover:not(.active){background:var(--s-bg);border-color:var(--s-accent)}
.filter[class*="sector-"].active{background:var(--s-accent);border-color:var(--s-accent);color:#fff}
.filter[class*="sector-"].active:before{background:#fff}
.filter[class*="sector-"]:before{margin-right:8px}

/* Big Picture sector chip row */
.bp-sectors{display:flex;flex-wrap:wrap;align-items:center;gap:8px 8px;padding:16px 0 0}
.bp-sectors>.tiny-label{margin-right:6px}
.prose a.sx-chip,.sx-chip{text-decoration:none;display:inline-flex;align-items:center;gap:0;padding:6px 12px;border:1px solid color-mix(in srgb,var(--s-accent) 50%,transparent);border-radius:999px;background:var(--s-bg);color:var(--s-ink);font:600 13px/1.3 var(--sans);transition:background .15s,color .15s}
.sx-chip b{margin-left:8px;padding-left:8px;border-left:1px solid color-mix(in srgb,var(--s-accent) 50%,transparent);font-weight:600;color:var(--s-accent)}
.prose a.sx-chip{color:var(--s-ink)}
.prose a.sx-chip:hover{color:#fff}
.sx-chip:hover{background:var(--s-accent);color:#fff;border-color:var(--s-accent)}
.sx-chip:hover:before{background:#fff}
.sx-chip:hover b{color:#fff;border-color:#ffffff88}

/* Connecting the dots: sector index, masonry columns, one design language per sector */
.themes-section{padding-block:32px 20px}
.themes-section .section-title{margin-bottom:14px}
.themes-section .section-title h2{font:600 clamp(24px,2.4vw,32px)/1.1 var(--display);letter-spacing:-.035em;max-width:none;margin:6px 0 0}
.sx-index{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:16px;border-top:2px solid var(--plum);padding-top:16px}
.sx-card{grid-column:span 4;display:flex;flex-direction:column;background:#FFFCFA;background:color-mix(in srgb,var(--s-bg) 22%,#fff);color:var(--s-ink);border:1px solid color-mix(in srgb,var(--s-accent) 45%,transparent);border-top:3px solid var(--s-accent);border-radius:8px;overflow:hidden;scroll-margin-top:96px}
.sx-w12{grid-column:span 12}.sx-w6{grid-column:span 6}.sx-w3{grid-column:span 3}
.sx-body{padding:14px 16px 12px;min-width:0;flex:1;display:flex;flex-direction:column}
.sx-head{display:flex;gap:12px;align-items:flex-start;justify-content:space-between}
.sx-card h3{font:600 clamp(22px,1.9vw,26px)/1.1 var(--display);letter-spacing:-.03em;margin:0 0 6px;color:var(--s-ink)}
.sx-card h3 a{color:inherit}
.sx-card h3 a:hover{color:var(--s-accent)}
.sx-card .theme-art{flex:none;width:52px;height:52px;border-radius:10px;overflow:hidden;position:relative;box-shadow:0 0 0 2px var(--s-band);margin-top:2px}
.sx-card .theme-art img{width:100%;height:100%;object-fit:cover;display:block}
.sx-card .theme-art:after{content:"";position:absolute;inset:0;background:var(--s-bg);mix-blend-mode:multiply;opacity:.4}
.sx-card p{font-size:15px;line-height:1.45;color:var(--s-ink);margin:0 0 8px}
.sx-card ul{list-style:none;margin:0;padding:0;border-top:1px solid color-mix(in srgb,var(--s-accent) 55%,transparent)}
.sx-card li{border-bottom:1px solid color-mix(in srgb,var(--s-accent) 28%,transparent)}
.sx-card li a{display:flex;flex-wrap:wrap;gap:0 9px;align-items:baseline;padding:8px 0;font:500 14.5px/1.35 var(--sans);color:var(--s-ink)}
.sx-card li a:before{content:"";flex:none;width:6px;height:6px;background:var(--s-accent);clip-path:var(--s-shape);transform:translateY(-1px)}
.sx-card li a>span{flex:1;min-width:0;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.sx-card li a>em{flex:0 0 100%;padding-left:15px;font:600 13px/1.4 var(--sans);font-style:normal;color:var(--s-accent)}
.sx-card li a:hover>span{color:var(--s-accent);text-decoration:underline;text-underline-offset:3px}
.sx-foot{margin-top:auto;display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:4px 12px;padding-top:10px;font:600 13px/1.3 var(--sans);letter-spacing:.02em}
.sx-foot b{font:600 20px/1 var(--display);letter-spacing:-.03em;margin-right:6px;color:var(--s-accent)}
.sx-foot a{color:var(--s-ink)}
.sx-foot a:hover{color:var(--s-accent);text-decoration:underline;text-underline-offset:3px}
.sx-foot .sx-more{color:var(--s-accent)}

/* sector key */
.sx-key{margin-top:4px;border-top:1px solid var(--line-strong);padding:10px 0 4px}
.sx-key>summary{list-style:none;cursor:pointer;display:inline-flex;align-items:center;gap:12px;padding:8px 16px;border:1px solid var(--line-strong);border-radius:999px;font:600 14px/1.2 var(--sans);min-height:40px}
.sx-key>summary::-webkit-details-marker{display:none}
.sx-key>summary:after{content:"+";font-size:18px;line-height:1}
.sx-key[open]>summary:after{content:"\2212"}
.sx-key>summary small{font:500 13px/1.2 var(--sans);color:var(--muted)}
.sx-key ul{list-style:none;margin:14px 0 0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px 24px}
.sx-key li a{display:grid;grid-template-columns:56px minmax(0,1fr);grid-template-rows:auto auto;column-gap:12px;align-items:center;padding:6px 0;border-bottom:1px solid var(--line);color:var(--plum)}
.sx-swatch{grid-row:1/3;width:56px;height:30px;background:var(--s-pattern),var(--s-bg);border:1px solid var(--s-accent);border-radius:4px}
.sx-key li b{font:600 14px/1.3 var(--sans);color:var(--s-ink)}
.sx-key li span{font:400 13px/1.35 var(--sans);color:var(--muted)}
.sx-key li a:hover b{color:var(--s-accent);text-decoration:underline;text-underline-offset:3px}
.sx-key-section{padding-block:8px 56px}
.sx-key-section .sx-key{border-top:0}

/* story page: sector header rule, kicker, sidebar accents */
.article-page[class*="sector-"] .article-header{border-top:0;position:relative;padding-top:0}
.article-page[class*="sector-"] .article-header:before{content:"";display:block;height:22px;margin-bottom:14px;background:var(--s-pattern),var(--s-bg);border-top:4px solid var(--s-accent);border-bottom:1px solid var(--s-accent)}
.sx-kicker{display:flex;align-items:center;flex-wrap:wrap;gap:0 10px;margin:0 0 14px;font:600 13px/1.4 var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--s-accent)}
.sx-kicker:before{width:10px;height:10px;margin:0}
.sx-kicker small{font:500 13px/1.4 var(--sans);letter-spacing:0;text-transform:none;color:var(--muted)}
.article-page[class*="sector-"] .core-idea>span{color:var(--s-accent)}
.article-page[class*="sector-"] .core-ideas{border-top:3px solid var(--s-accent)}
.article-page[class*="sector-"] .aside-panel{border-top:3px solid var(--s-accent)}
.article-page[class*="sector-"] .aside-panel>a:not(.moment),.article-page[class*="sector-"] .toc>a:hover{color:var(--s-accent)!important}
.article-page[class*="sector-"] .prose h2{border-top-color:var(--s-accent)}
.article-page[class*="sector-"] .aside-edition{box-shadow:inset 0 5px 0 var(--s-band)}
.article-page[class*="sector-"] .references .reference-item>span{color:var(--s-accent)}

@media(max-width:1000px){.sx-card,.sx-w3,.sx-w4{grid-column:span 6}.sx-w12{grid-column:span 12}.sx-key ul{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:640px){
 .sx-index{gap:12px;padding-top:14px}
 .sx-card,.sx-w3,.sx-w6,.sx-w12{grid-column:1/-1}
 .sx-key ul{grid-template-columns:1fr}
 .sx-card h3{font-size:22px}
 .sx-body{padding:12px 14px 10px}
 .sx-card li a{padding:7px 0}
 .sx-card .theme-art{width:44px;height:44px}
 .bp-sectors>.tiny-label{flex:0 0 100%}
}
@media(prefers-reduced-motion:reduce){.sx-chip{transition:none}}
