/* Soluna pre-read site. Look: the deck's "What a search shows" slide: lavender ground, purple caps eyebrows, serif headlines,
   white cards, torn-paper headline clippings, a deep plum band. Each section carries its own accent colour. */
:root {
  --bg: #EEE9F7; --card: #FFFFFF; --ink: #261A55; --body: #463C68; --muted: #776E95; --line: #DDD4EE;
  --plum: #2E2159; --violet: #6B3FC4; --coral: #D9774E; --green: #3C8A62; --gold: #C08A1E; --teal: #2A8C8F; --rose: #C2456F;
  --paper: #FBF8EF; --paper-ink: #1E1A16;
  --acc: var(--violet); --acc-soft: #E9E0FA;
  --display: "Libre Baskerville", Georgia, "Times New Roman", serif;
  --sans: "Public Sans", "Helvetica Neue", Arial, sans-serif;
}
@media (prefers-color-scheme: dark) { :root:not([data-theme="light"]) {
  --bg: #141024; --card: #1F1934; --ink: #F1ECFC; --body: #CFC6E6; --muted: #9F96BC; --line: #352C52;
  --plum: #2A1F55; --violet: #B79CF6; --coral: #F29C77; --green: #7ACB9E; --gold: #E7BE5E; --teal: #6CC9CB; --rose: #F08AAE;
  --paper: #EFE9DA; --paper-ink: #1E1A16; --acc-soft: #2C2450; color-scheme: dark } }
:root[data-theme="dark"] {
  --bg: #141024; --card: #1F1934; --ink: #F1ECFC; --body: #CFC6E6; --muted: #9F96BC; --line: #352C52;
  --plum: #2A1F55; --violet: #B79CF6; --coral: #F29C77; --green: #7ACB9E; --gold: #E7BE5E; --teal: #6CC9CB; --rose: #F08AAE;
  --paper: #EFE9DA; --paper-ink: #1E1A16; --acc-soft: #2C2450; color-scheme: dark }
body.s1 { --acc: var(--violet); } body.s2 { --acc: var(--coral); } body.s3 { --acc: var(--green); } body.s4 { --acc: var(--teal); } body.s5 { --acc: var(--gold); }
body.r1 { --acc: var(--rose); } body.r2 { --acc: var(--violet); } body.r3 { --acc: var(--teal); } body.r4 { --acc: var(--coral); }
* { box-sizing: border-box; }
html { height: auto; }
body { margin: 0; background: var(--bg); color: var(--body); font-family: var(--sans); font-size: 16px; line-height: 1.55; }
h1, h2, h3, h4 { margin: 0; color: var(--ink); text-wrap: balance; }
p { margin: 0; }
a { color: inherit; }
img { max-width: 100%; }
.gut { padding-left: max(18px, env(safe-area-inset-left, 0px)); padding-right: max(18px, env(safe-area-inset-right, 0px)); }
.wrap { max-width: 1180px; margin: 0 auto; }
:focus-visible { outline: 2px solid var(--acc); outline-offset: 2px; }

/* nav */
.top { background: var(--plum); padding-top: env(safe-area-inset-top, 0px); }
.top .wrap { display: flex; align-items: center; gap: 18px; padding-block: 12px; flex-wrap: wrap; }
.brand { font-family: var(--display); color: #FFFFFF; text-decoration: none; font-size: 17px; white-space: nowrap; }
.brand b { color: #F2A27F; font-family: var(--sans); font-size: 11px; letter-spacing: .16em; margin-left: 8px; }
.links { display: flex; gap: 4px; flex-wrap: wrap; margin-left: auto; }
.links a { color: #D7CEF0; text-decoration: none; font-size: 13.5px; font-weight: 600; padding: 6px 10px; border-radius: 999px; white-space: nowrap; }
.links a:hover { background: rgba(255,255,255,.1); color: #FFFFFF; }
.links a[aria-current="page"] { background: #FFFFFF; color: #2E2159; }
.links .sep { width: 1px; background: rgba(255,255,255,.2); margin: 4px 4px; }

/* page head */
.head { padding-block: 46px 26px; display: grid; gap: 12px; }
.eyebrow { font-size: 13px; font-weight: 800; letter-spacing: .16em; text-transform: uppercase; color: var(--acc); }
.head h1 { font-family: var(--display); font-weight: 400; font-size: clamp(32px, 4.6vw, 54px); line-height: 1.12; }
.head .sub { font-size: clamp(17px, 1.7vw, 20px); max-width: 64ch; }
main.wrap { display: grid; gap: 44px; padding-bottom: 70px; }
.block { display: grid; gap: 16px; }
.label { font-size: 12px; font-weight: 800; letter-spacing: .16em; text-transform: uppercase; color: var(--muted); display: flex; align-items: center; gap: 10px; }
.label::after { content: ""; flex: 1; height: 1px; background: var(--line); }

/* cards */
.grid { display: grid; gap: 14px; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); }
.grid.c3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.grid.c4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.card { background: var(--card); border-radius: 14px; padding: 20px; display: grid; gap: 8px; align-content: start; box-shadow: 0 1px 2px rgba(38,26,85,.06); }
.card.top-acc { border-top: 5px solid var(--acc); }
.big { font-size: clamp(34px, 3.6vw, 46px); font-weight: 800; line-height: 1; color: var(--acc); font-variant-numeric: tabular-nums; letter-spacing: -.01em; }
.card h3 { font-size: 17.5px; line-height: 1.3; }
.card p { font-size: 15px; }
.tiny { font-size: 12.5px; color: var(--muted); }
.flag { display: inline-block; font-size: 11px; font-weight: 800; letter-spacing: .06em; padding: 2px 9px; border-radius: 999px; background: #FBE6DC; color: #A8482A; white-space: nowrap; }

/* question cards (slide style) */
.qcard { background: var(--card); border-radius: 14px; padding: 20px; display: grid; grid-template-columns: 38px minmax(0, 1fr); gap: 14px; align-items: start; border-top: 5px solid var(--acc); }
.qmark { width: 34px; height: 34px; border-radius: 50%; background: var(--plum); color: #FFFFFF; display: grid; place-items: center; font-weight: 800; font-size: 17px; }
.qcard p { font-family: var(--display); color: var(--ink); font-size: 17px; line-height: 1.4; }

/* torn clippings */
.clips { display: grid; gap: 10px; }
.clip { background: var(--paper); color: var(--paper-ink); padding: 14px 16px 18px; box-shadow: 0 2px 6px rgba(0,0,0,.12);
  clip-path: polygon(0 0, 100% 0, 100% 88%, 96% 100%, 91% 90%, 85% 100%, 79% 91%, 73% 100%, 67% 90%, 61% 100%, 55% 91%, 49% 100%, 43% 90%, 37% 100%, 31% 91%, 25% 100%, 19% 90%, 13% 100%, 7% 91%, 2% 100%, 0 92%); }
.clip .src { font-size: 10.5px; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; color: #6E6458; margin-bottom: 4px; display: block; }
.clip .hl { font-family: var(--display); font-weight: 700; font-size: 16px; line-height: 1.3; color: #1E1A16; }
.clip a { text-decoration: none; }
.clip a:hover .hl { text-decoration: underline; }
.clip.pos { border-left: 4px solid #3C8A62; } .clip.neg { border-left: 4px solid #D9774E; } .clip.mix { border-left: 4px solid #C08A1E; } .clip.ctx { border-left: 4px solid #8D84AB; }

/* band */
.band { background: var(--plum); color: #E6DEF8; border-radius: 16px; padding: 22px 26px; display: grid; gap: 6px; }
.band .k { font-size: 12px; font-weight: 800; letter-spacing: .16em; color: #F2A27F; }
.band p { font-family: var(--display); color: #FFFFFF; font-size: clamp(19px, 2vw, 24px); line-height: 1.4; }
.stats { display: grid; grid-template-columns: repeat(auto-fit, minmax(160px, 1fr)); background: var(--plum); border-radius: 16px; overflow: hidden; }
.stats div { padding: 20px 22px; display: grid; gap: 4px; border-right: 1px solid rgba(255,255,255,.1); }
.stats b { font-size: 38px; font-weight: 800; color: #F2A27F; line-height: 1; font-variant-numeric: tabular-nums; }
.stats span { color: #E6DEF8; font-size: 14px; }

/* voices (stakeholder insight) */
.voice { background: var(--card); border-radius: 14px; padding: 18px 20px; display: grid; gap: 10px; border-left: 5px solid var(--acc); }
.voice blockquote { margin: 0; font-family: var(--display); font-style: italic; color: var(--ink); font-size: 16px; line-height: 1.5; }
.voice .who { font-size: 12px; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; color: var(--muted); }
.voice .so { font-size: 14.5px; color: var(--ink); font-weight: 600; }

/* gaps */
.gaps { display: grid; gap: 8px; }
.gap { background: var(--card); border-radius: 12px; padding: 14px 18px; display: grid; grid-template-columns: minmax(0, 1.6fr) minmax(0, 1fr) minmax(0, 1.2fr); gap: 16px; align-items: center; }
.gap h4 { font-size: 15.5px; }
.gap .k { font-size: 10.5px; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; color: var(--muted); display: block; }
.gap .v { font-size: 14.5px; color: var(--ink); font-weight: 600; }
.gaps .hd { display: grid; grid-template-columns: minmax(0, 1.6fr) minmax(0, 1fr) minmax(0, 1.2fr); gap: 16px; padding: 0 18px; font-size: 11px; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; color: var(--muted); }

/* home */
.hero { background: var(--plum); color: #DCD3F2; }
.hero .wrap { padding-block: 60px 54px; display: grid; gap: 18px; }
.hero .eyebrow { color: #F2A27F; }
.hero h1 { font-family: var(--display); font-weight: 400; color: #FFFFFF; font-size: clamp(36px, 5.4vw, 66px); line-height: 1.08; max-width: 17ch; }
.hero .sub { color: #DCD3F2; font-size: clamp(17px, 1.8vw, 21px); max-width: 60ch; }
.people { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 14px; }
.people .card { border-top: 5px solid var(--c); }
.people .n { font-size: 40px; font-weight: 800; color: var(--c); line-height: 1; }
.people ul { margin: 0; padding: 0; list-style: none; display: grid; gap: 7px; font-size: 14px; }
.people li strong { display: block; color: var(--ink); font-size: 14.5px; }
.theme { text-decoration: none; background: var(--card); border-radius: 14px; padding: 18px 20px; display: grid; gap: 8px; border-top: 5px solid var(--c); transition: transform .15s; }
.theme:hover { transform: translateY(-2px); }
.theme .t { font-size: 11.5px; font-weight: 800; letter-spacing: .14em; text-transform: uppercase; color: var(--c); }
.theme h3 { font-family: var(--display); font-weight: 400; font-size: 19px; line-height: 1.3; }
.theme .go { font-size: 13px; font-weight: 700; color: var(--c); }
.tiles { display: grid; grid-template-columns: repeat(auto-fit, minmax(210px, 1fr)); gap: 14px; }
.audpills { display: flex; flex-wrap: wrap; gap: 10px; }
.audpill { background: var(--plum); color: #FFFFFF; font-weight: 700; padding: 10px 22px; border-radius: 999px; font-size: 15px; }
.why5 { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 14px; }
.why5 .card { min-height: 230px; border: 1px solid var(--line); }
.why5 .wn { font-family: var(--display); font-size: 34px; color: var(--violet); line-height: 1; }
.why5 .lead { background: #47357F; border-color: #47357F; }
.why5 .lead h3, .why5 .lead p { color: #FFFFFF; } .why5 .lead .wn { color: #C9B6F7; }
.narr { display: grid; grid-template-columns: minmax(0, 1.05fr) minmax(0, 1fr); gap: 22px; align-items: start; }
.narrleft { display: grid; gap: 14px; }
.enables { margin: 0; padding-left: 20px; display: grid; gap: 8px; }
.enables li::marker { color: var(--violet); }
.keyq { background: var(--plum); border-radius: 16px; padding: 24px 26px; display: grid; gap: 14px; }
.keyq .k { font-size: 12.5px; font-weight: 800; letter-spacing: .16em; color: #F2A27F; }
.keyq ul { margin: 0; padding-left: 20px; display: grid; gap: 12px; color: #FFFFFF; font-size: 16.5px; }
.keyq li::marker { color: #F2A27F; }
@media (max-width: 900px) { .why5 { grid-template-columns: repeat(2, minmax(0, 1fr)); } .narr { grid-template-columns: minmax(0, 1fr); } .why5 .card { min-height: 0; } }
@media (max-width: 560px) { .why5 { grid-template-columns: minmax(0, 1fr); } }
.needlink { display: flex; align-items: center; justify-content: space-between; gap: 14px; background: var(--plum); color: #FFFFFF; border-radius: 14px; padding: 16px 20px; text-decoration: none; }
.needlink b { font-family: var(--display); font-weight: 400; font-size: 18px; } .needlink span { color: #F2A27F; font-weight: 700; white-space: nowrap; }
.file { background: var(--card); border-radius: 12px; padding: 14px 18px; display: grid; grid-template-columns: 52px minmax(0, 1fr) auto; gap: 14px; align-items: center; }
.file + .file { margin-top: 8px; }
.file .ext { width: 52px; height: 52px; border-radius: 10px; display: grid; place-items: center; font-size: 12px; font-weight: 800; color: #FFFFFF; background: var(--c, var(--violet)); letter-spacing: .04em; }
.file h4 { font-size: 15.5px; } .file p { font-size: 13px; color: var(--muted); }
.file button { font: inherit; font-size: 13.5px; font-weight: 700; padding: 8px 14px; border-radius: 999px; border: 0; background: var(--plum); color: #FFFFFF; cursor: pointer; white-space: nowrap; }
.file button:disabled { opacity: .5; cursor: default; }
@media (max-width: 560px) { .file { grid-template-columns: 44px minmax(0, 1fr); } .file button { grid-column: 1 / -1; } }
.tile { text-decoration: none; border-radius: 14px; padding: 20px; display: grid; gap: 8px; color: #FFFFFF; background: var(--c); min-height: 140px; align-content: space-between; }
.tile b { font-size: 11.5px; letter-spacing: .14em; text-transform: uppercase; opacity: .85; }
.tile h3 { color: #FFFFFF; font-family: var(--display); font-weight: 400; font-size: 21px; }
.tile span { font-size: 13.5px; opacity: .9; }

/* tables and dropdowns */
.tw { overflow-x: auto; background: var(--card); border-radius: 14px; }
table { border-collapse: collapse; width: 100%; min-width: 760px; font-size: 14px; }
th { text-align: left; padding: 12px 14px; font-size: 11px; letter-spacing: .12em; text-transform: uppercase; color: #FFFFFF; background: var(--plum); vertical-align: bottom; }
th:first-child { background: var(--acc); }
td { padding: 12px 14px; border-top: 1px solid var(--line); vertical-align: top; color: var(--ink); }
td.rowh { font-size: 11px; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; color: #FFFFFF; background: var(--plum); width: 140px; }
td .tag { display: block; font-size: 10.5px; font-weight: 800; letter-spacing: .12em; color: var(--acc); margin-bottom: 2px; }
td.sound { font-family: var(--display); font-style: italic; color: var(--coral); }
.button { background: var(--card); border-radius: 12px; padding: 14px 18px; display: flex; gap: 14px; align-items: center; }
.button b { background: var(--plum); color: #FFFFFF; font-size: 11px; letter-spacing: .14em; padding: 6px 12px; border-radius: 6px; }
.button span { font-family: var(--display); color: var(--ink); font-size: 18px; }
details { background: var(--card); border-radius: 12px; }
details + details { margin-top: 8px; }
summary { cursor: pointer; list-style: none; display: grid; grid-template-columns: 14px minmax(0, 1fr) auto; gap: 10px; align-items: center; padding: 14px 18px; color: var(--ink); font-weight: 700; }
summary::-webkit-details-marker { display: none; }
summary::before { content: "▸"; color: var(--acc); }
details[open] summary::before { content: "▾"; }
details[open] summary { border-bottom: 1px solid var(--line); }
.pill { font-size: 12px; font-weight: 700; color: var(--acc); background: var(--acc-soft); padding: 3px 10px; border-radius: 999px; white-space: nowrap; }
.dbody { padding: 14px 18px 18px; display: grid; gap: 12px; }
.align { background: #E3F1E9; color: #1F4A35; border-radius: 8px; padding: 10px 12px; font-size: 15px; }
.align b { font-size: 11px; letter-spacing: .12em; margin-right: 8px; }
ol.ans { margin: 0; padding: 0; list-style: none; display: grid; gap: 8px; counter-reset: a; }
ol.ans li { counter-increment: a; display: grid; grid-template-columns: 26px minmax(0, 1fr); gap: 8px; font-size: 15px; }
ol.ans li::before { content: counter(a); font-weight: 800; color: var(--coral); }
.chips { display: flex; gap: 8px; flex-wrap: wrap; }
.chip { font: inherit; font-size: 13px; font-weight: 700; padding: 6px 12px; border-radius: 999px; border: 1px solid var(--line); background: var(--card); color: var(--body); cursor: pointer; }
.chip[aria-pressed="true"] { background: var(--plum); color: #FFFFFF; border-color: var(--plum); }

/* states */
.usmap { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); gap: 5px; max-width: 760px; }
.st { aspect-ratio: 1; border-radius: 7px; border: 0; font: inherit; font-size: 12px; font-weight: 800; cursor: pointer; background: var(--card); color: var(--muted); display: grid; place-items: center; padding: 0; }
.st.tier1 { background: var(--violet); color: #FFFFFF; } .st.expand { background: var(--green); color: #FFFFFF; } .st.developing { background: var(--gold); color: #FFFFFF; }
.st.sel { outline: 3px solid var(--coral); outline-offset: 1px; }
.legend { display: flex; gap: 16px; flex-wrap: wrap; font-size: 13px; }
.legend span::before { content: ""; display: inline-block; width: 12px; height: 12px; border-radius: 3px; background: var(--c); margin-right: 6px; vertical-align: -1px; }
.statebody { display: grid; gap: 16px; }
.facts { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; }
.fact { background: var(--card); border-radius: 12px; padding: 14px 16px; display: grid; gap: 4px; align-content: start; }
.fact b { font-size: 10.5px; letter-spacing: .12em; text-transform: uppercase; color: var(--muted); }
.fact span { color: var(--ink); font-weight: 700; font-size: 15px; }
.fact small { font-size: 12.5px; color: var(--muted); }
.chg { display: grid; grid-template-columns: 130px minmax(0, 1fr); gap: 14px; background: var(--card); border-radius: 10px; padding: 12px 16px; align-items: start; }
.chg + .chg { margin-top: 6px; }
.status { font-size: 11px; font-weight: 800; letter-spacing: .06em; padding: 3px 9px; border-radius: 999px; text-align: center; }
.status.live { background: #DDF0E5; color: #1F5C3E; } .status.contract { background: #E9E0FA; color: #4A2B96; } .status.work { background: #FBF0D6; color: #7A5612; } .status.notyet { background: #FBE6DC; color: #A8482A; }
.chg h4 { font-size: 15px; } .chg p { font-size: 13.5px; color: var(--muted); }
.ctable td.bad { color: var(--coral); font-weight: 700; }

footer.wrap { padding-block: 24px 40px; font-size: 13px; color: var(--muted); border-top: 1px solid var(--line); padding-bottom: calc(40px + env(safe-area-inset-bottom, 0px)); }

@media (max-width: 900px) {
  .grid.c3, .grid.c4, .people, .tiles, .facts { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .gap, .gaps .hd { grid-template-columns: minmax(0, 1fr); gap: 6px; } .gaps .hd { display: none; }
  .links { margin-left: 0; }
}
@media (max-width: 560px) {
  .grid.c3, .grid.c4, .people, .tiles, .facts { grid-template-columns: minmax(0, 1fr); }
  .usmap { gap: 3px; } .st { font-size: 9.5px; border-radius: 4px; }
  .chg { grid-template-columns: minmax(0, 1fr); gap: 6px; }
}

/* real map with hover cards */
:root { --nomap: #E3E1DC; --mapline: #FFFFFF; }
@media (prefers-color-scheme: dark) { :root:not([data-theme="light"]) { --nomap: #3A3450; --mapline: #1F1934; } }
:root[data-theme="dark"] { --nomap: #3A3450; --mapline: #1F1934; }
.mapcard { background: var(--card); border-radius: 18px; padding: 22px 24px 18px; display: grid; gap: 12px; border: 1px solid var(--line); }
.maphint { font-weight: 700; color: var(--muted); font-size: 15px; }
.maphost { position: relative; }
.usmap2 { width: 100%; height: auto; display: block; }
.usmap2 .shape { fill: var(--nomap); stroke: var(--mapline); stroke-width: 1; cursor: pointer; transition: opacity .12s; }
.usmap2 .shape:hover, .usmap2 .shape:focus { opacity: .82; outline: none; }
.usmap2 .shape.sel { stroke: #1F1640; stroke-width: 2.5; }
.usmap2 .lbl { font: 700 11px var(--sans); fill: #2B2547; text-anchor: middle; dominant-baseline: middle; pointer-events: none; }
.usmap2 .klbl rect { fill: #F2C14E; stroke: #1F1640; stroke-width: 1.5; }
.usmap2 .klbl text { font: 800 12px var(--sans); fill: #1F1640; text-anchor: middle; dominant-baseline: middle; }
.usmap2 .klbl { cursor: pointer; }
.usmap2 .lead { stroke: #8A84A3; stroke-width: .8; }
.tip { position: absolute; z-index: 5; background: #1E2537; color: #C9D0E0; border-radius: 14px; padding: 16px 18px; min-width: 250px; max-width: 290px; pointer-events: none; box-shadow: 0 10px 30px rgba(0,0,0,.25); display: grid; gap: 2px; }
.tip[hidden] { display: none; }
.tip h4 { color: #FFFFFF; font-size: 19px; }
.tip .t1 { color: #FFFFFF; font-size: 15px; }
.tip .t2 { color: #AEB6C8; font-size: 15px; }
.tip dl { margin: 10px 0 0; display: grid; grid-template-columns: 1fr auto; gap: 7px 16px; font-size: 14.5px; }
.tip dt { color: #AEB6C8; } .tip dd { margin: 0; color: #FFFFFF; font-weight: 800; text-align: right; }
.legend span::before { background: var(--c); border-radius: 4px; }
.chipsgrid { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 12px; }
.schip { font: inherit; text-align: left; display: flex; gap: 12px; align-items: center; padding: 12px 14px; background: var(--card); border: 1px solid var(--line); border-left: 5px solid var(--c); border-radius: 14px; cursor: pointer; color: var(--ink); }
.schip.active { --c: #5BC06A; } .schip.pipeline { --c: #6A33D6; }
.schip.sel { box-shadow: 0 0 0 2px var(--c); }
.schip .code { width: 44px; height: 44px; border-radius: 10px; background: var(--c); color: #FFFFFF; font-weight: 800; display: grid; place-items: center; flex: none; }
.schip .nm { display: grid; } .schip b { font-size: 16px; } .schip small { font-size: 12px; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; color: var(--c); }
@media (max-width: 900px) { .chipsgrid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (hover: none) { .tip { display: none !important; } }

.onelist { display: grid; gap: 12px; }
.oneline { background: var(--card, #FFFFFF); border-radius: 14px; padding: 20px 24px; display: grid; grid-template-columns: minmax(0, 220px) minmax(0, 1fr); gap: 20px; align-items: center; border-left: 5px solid var(--c); }
.oneline h3 { margin: 0; color: var(--c); font-family: var(--sans); font-size: 19px; font-weight: 800; }
.oneline p { margin: 0; font-family: var(--display); font-size: 17px; line-height: 1.55; }
@media (max-width: 640px) { .oneline { grid-template-columns: minmax(0, 1fr); gap: 8px; } }

.plist { list-style: none; margin: 0 0 12px; padding: 6px 24px; background: var(--card); border-radius: 16px; columns: 2 320px; column-gap: 40px; }
.plist li { break-inside: avoid; padding: 12px 0; border-bottom: 1px solid rgba(106, 51, 214, .12); display: grid; gap: 2px; }
.plist strong { font-size: 16.5px; }
.plist span { color: var(--muted, #5B5470); font-size: 15px; }

ol.plist { counter-reset: who; }
ol.plist li { counter-increment: who; grid-template-columns: 34px minmax(0, 1fr); column-gap: 10px; }
ol.plist li::before { content: counter(who); grid-row: span 2; width: 28px; height: 28px; border-radius: 50%; background: var(--violet); color: #FFFFFF; font-size: 13px; font-weight: 800; display: grid; place-items: center; }

/* Media review: what a search shows, how Soluna gets described, two words */
.msearch { gap: 18px; }
.mh { margin: 0; font-family: var(--display); font-weight: 400; font-size: clamp(22px, 2.6vw, 30px); color: var(--ink); line-height: 1.3; }
.mbar { display: flex; flex-wrap: wrap; align-items: center; gap: 14px 24px; }
.mbox { background: var(--card); border: 1.5px solid var(--line); border-radius: 999px; padding: 10px 20px; display: flex; align-items: center; gap: 12px; min-width: min(420px, 100%); box-sizing: border-box; box-shadow: 0 2px 8px rgba(46, 33, 89, .1); font-size: 17px; color: var(--body); }
.mglass { width: 16px; height: 16px; border: 2.5px solid var(--muted); border-radius: 50%; position: relative; flex: none; }
.mglass::after { content: ""; position: absolute; width: 8px; height: 2.5px; background: var(--muted); right: -7px; bottom: -4px; transform: rotate(45deg); border-radius: 2px; }
.mbar b { color: var(--ink); font-size: 16px; }
.mq4 { display: grid; grid-template-columns: repeat(auto-fit, minmax(175px, 1fr)); gap: 16px; }
.mq { background: var(--card); border-radius: 14px; border-top: 6px solid var(--violet); padding: 16px 18px 18px; display: grid; gap: 10px; align-content: start; box-shadow: 0 2px 10px rgba(46, 33, 89, .08); }
.mqh { display: flex; align-items: center; gap: 10px; }
.mqi { width: 32px; height: 32px; border-radius: 50%; background: var(--plum); color: #FFFFFF; display: grid; place-items: center; font-weight: 800; }
.mqk { font-size: 12.5px; font-weight: 800; letter-spacing: .16em; color: var(--violet); }
.mq h3 { margin: 0 0 4px; font-family: var(--display); font-weight: 400; font-size: 19px; line-height: 1.35; color: var(--ink); }
.mclip { background: var(--paper); color: #1E1838; padding: 10px 14px 14px; display: grid; gap: 3px; box-shadow: 0 1px 3px rgba(0, 0, 0, .12); clip-path: polygon(0 0, 100% 0, 100% 88%, 96% 100%, 91% 90%, 85% 100%, 79% 91%, 72% 100%, 66% 90%, 59% 100%, 52% 91%, 46% 100%, 39% 90%, 32% 100%, 26% 91%, 19% 100%, 12% 90%, 6% 100%, 0 90%); }
.mclip b { font-family: var(--display); font-weight: 700; font-size: 14.5px; line-height: 1.3; }
.mclip.it b { font-style: italic; font-weight: 400; }
.mclip span { font-size: 10.5px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; color: #6A6380; }
.mband { background: var(--plum); border-radius: 14px; padding: 18px 26px; display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 16px 28px; }
.mband > div { display: flex; align-items: center; gap: 16px; }
.mband strong { font-size: 46px; font-weight: 800; color: #F2A27F; line-height: 1; }
.mband .miss strong { font-family: var(--display); font-weight: 400; font-size: 34px; }
.mband b { display: block; color: #FFFFFF; font-size: 16px; }
.mband span { color: #BDB7DC; font-size: 14px; }
.mdesc { display: grid; grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); gap: 16px; }
.mcol { background: var(--card); border: 1.5px solid var(--line); border-radius: 16px; padding: 16px; display: grid; gap: 12px; align-content: start; }
.mch { font-size: 13px; font-weight: 800; letter-spacing: .14em; }
.mcol.k .mch { color: var(--violet); }
.mcol.p .mch { color: var(--muted); }
.mcol.c .mch { color: #B8333F; }
.mtiles { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
.mtile { border-radius: 12px; font-size: 14.5px; color: var(--ink); }
.mcol.k .mtile { background: #EFE8FA; }
.mcol.p .mtile { background: #EEF0F6; }
.mcol.c .mtile { background: #FBE8E3; }
.mtile summary { list-style: none; cursor: pointer; padding: 14px; }
.mtile summary::-webkit-details-marker { display: none; }
.mtile[open] { grid-column: 1 / -1; }
.msrc { padding: 0 14px 14px; display: grid; gap: 6px; font-size: 13px; color: var(--body); }
.msrc p { margin: 0; font-style: italic; }
.msrc a { color: var(--violet); font-weight: 700; }
.mwords { display: grid; grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); gap: 18px; }
.mword { background: var(--card); border: 1.5px solid var(--line); border-radius: 18px; overflow: hidden; }
.mwh { background: linear-gradient(90deg, #3A1A7A, #6A33D6); color: #FFFFFF; font-family: var(--display); font-size: 26px; padding: 16px 24px; }
.mwb { padding: 18px 24px 22px; display: grid; gap: 10px; }
.mwb > p { margin: 0; color: var(--body); line-height: 1.6; }
.mwl { font-size: 12px; font-weight: 800; letter-spacing: .12em; color: var(--muted); }
.mrec { background: #F3EEFB; border-left: 4px solid var(--violet); border-radius: 0 12px 12px 0; padding: 14px 18px; display: grid; gap: 8px; }
.mrec .mwl { color: var(--violet); }
.mrec p { margin: 0; color: #261A55; line-height: 1.65; }
.mrec strong { color: #4B22A8; }
@media (prefers-color-scheme: dark) {
  :root:not([data-theme="light"]) .mcol .mtile { background: rgba(255, 255, 255, .06); }
}
.mtile summary { display: block !important; font-weight: 500 !important; font-size: 14.5px !important; color: var(--ink) !important; padding: 14px !important; background: none !important; }
.mtile summary::before, .mtile summary::after { content: none !important; display: none !important; }
.mtile { margin: 0 !important; border: 0 !important; box-shadow: none !important; }
.mdesc.press { grid-template-columns: minmax(0, 1fr); }
.mdesc.press .mtiles { grid-template-columns: repeat(auto-fill, minmax(190px, 1fr)); }
.plist2 { background: var(--card); }
.plist2 li { border-left: 4px solid var(--teal); padding-left: 12px; }

/* North Star: Why it matters, shown visually */
.oneline.wide { grid-template-columns: minmax(0, 1fr); align-items: start; }
.whyvis { display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(0, 1fr); gap: 20px 28px; align-items: start; }
.wv-k { margin: 0 0 10px; font-size: 12px; font-weight: 800; letter-spacing: .14em; color: var(--muted); font-family: var(--sans); }
.wv-grid { display: grid; grid-template-columns: repeat(10, minmax(0, 1fr)); gap: 8px 6px; max-width: 420px; }
.kid svg { display: block; width: 100%; height: auto; }
.kid.k0 svg { fill: #D9D2EA; }
.kid.k1 svg { fill: #E9A07F; }
.kid.k2 svg { fill: #B8333F; }
.wv-key { display: grid; gap: 6px; margin-top: 14px; font-family: var(--sans); font-size: 14.5px; color: var(--body); }
.wv-key span { display: flex; align-items: center; gap: 8px; }
.wv-key i { width: 12px; height: 12px; border-radius: 50%; flex: none; }
.wv-key .kk1 { background: #E9A07F; }
.wv-key .kk2 { background: #B8333F; }
.wv-key b { color: var(--ink); font-size: 16px; }
.wv-flow { display: grid; gap: 10px; }
.wv-step { display: grid; grid-template-columns: 30px minmax(0, 1fr); column-gap: 12px; row-gap: 2px; background: var(--bg); border-radius: 12px; padding: 12px 14px; font-family: var(--sans); }
.wv-step .wv-n { grid-row: span 2; width: 28px; height: 28px; border-radius: 50%; background: #B8333F; color: #FFFFFF; font-weight: 800; font-size: 14px; display: grid; place-items: center; }
.wv-step b { color: var(--ink); font-size: 15.5px; }
.wv-step span:last-child { color: var(--body); font-size: 14px; }
.wv-step.on .wv-n { background: var(--violet); }
.wv-step.res { background: #E6F3EC; }
.wv-step.res .wv-n { background: var(--green); }
.wv-end { grid-column: 1 / -1; margin: 0; font-family: var(--display) !important; font-size: 21px !important; color: var(--ink); text-align: center; padding-top: 4px; }
@media (max-width: 720px) { .whyvis { grid-template-columns: minmax(0, 1fr); } }
@media (prefers-color-scheme: dark) { :root:not([data-theme="light"]) .kid.k0 svg { fill: #3A3158; } :root:not([data-theme="light"]) .wv-step.res { background: rgba(122, 203, 158, .14); } }
.whyvis .wv-k { font-family: var(--sans) !important; font-size: 12px !important; font-weight: 800 !important; letter-spacing: .14em !important; color: var(--muted) !important; line-height: 1.4 !important; }
.grid.g5 { grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 14px; }
.grid.g5 .theme h3 { font-size: clamp(16px, 1.45vw, 20px); }
.grid.g5 .theme .t { font-size: 11px; letter-spacing: .1em; }
@media (max-width: 1050px) { .grid.g5 { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media (max-width: 640px) { .grid.g5 { grid-template-columns: minmax(0, 1fr); } }
.whyvis .wv-end { justify-self: center; background: linear-gradient(90deg, #6B3FC4, #D9774E); color: #FFFFFF !important; font-family: var(--display) !important; font-weight: 700 !important; font-size: clamp(22px, 2.4vw, 30px) !important; padding: 14px 30px !important; border-radius: 999px; box-shadow: 0 8px 22px rgba(107, 63, 196, .28); margin-top: 6px !important; line-height: 1.3; }

*, *::before, *::after { font-style: normal !important; }
.cgroup .label a { color: var(--c); text-decoration: none; }
.cgroup .gaps { border-top: 4px solid var(--c); }
.cgroup .sublabel { margin: 14px 0 8px; font-size: 12px; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; color: var(--c); }
.cgroup { gap: 4px; }
.cgroup .voice { border-left-color: var(--c) !important; }

/* Media review: Quotes that stick carousel */
.qcar { display: grid; gap: 12px; }
.qtrack { display: flex; gap: 16px; overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none; padding: 4px 2px 8px; outline: none; }
.qtrack::-webkit-scrollbar { display: none; }
.qtrack:focus-visible { outline: 2px solid var(--violet); outline-offset: 4px; border-radius: 16px; }
.qslide { flex: 0 0 min(560px, 86%); scroll-snap-align: start; background: var(--card); border-radius: 18px; padding: 24px 28px; display: grid; gap: 12px; align-content: start; border-left: 6px solid var(--coral); box-shadow: 0 4px 16px rgba(46, 33, 89, .08); }
.qslide.pos { border-left-color: var(--green); }
.qslide blockquote { margin: 0; font-family: var(--display); font-size: clamp(18px, 1.8vw, 22px); line-height: 1.5; color: var(--ink); }
.qslide .who { font-size: 12.5px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: var(--muted); }
.qtone { justify-self: start; font-size: 11px; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; padding: 3px 10px; border-radius: 999px; background: #FBE8E3; color: #B8333F; }
.qslide.pos .qtone { background: #E6F3EC; color: #2F7A52; }
.qbar { display: flex; align-items: center; gap: 12px; }
.qarrow { width: 40px; height: 40px; border-radius: 50%; border: 0; background: var(--plum); color: #FFFFFF; font-size: 18px; font-weight: 800; cursor: pointer; }
.qarrow:hover { background: var(--violet); }
.qdots { display: flex; gap: 6px; flex-wrap: wrap; }
.qdot { width: 9px; height: 9px; padding: 0; border: 0; border-radius: 50%; background: var(--line); cursor: pointer; }
.qdot[aria-current="true"] { background: var(--violet); width: 22px; border-radius: 999px; }
.qcount { margin-left: auto; font-size: 13px; font-weight: 700; color: var(--muted); font-variant-numeric: tabular-nums; }
.back2 { display: inline-block; font-weight: 700; color: var(--violet); text-decoration: none; margin-bottom: 8px; }
a.schip { text-decoration: none; color: inherit; }

/* Differentiation: Opportunities for positive storytelling (from Evie's slide) */
.ptitle { margin: 0 0 6px; font-family: var(--display); font-weight: 400; font-size: clamp(26px, 3vw, 38px); color: var(--ink); }
.pgrid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; }
.pcard { background: var(--card); border-radius: 14px; padding: 20px 24px 22px; display: grid; gap: 8px; align-content: start; box-shadow: 0 2px 10px rgba(46, 33, 89, .06); }
.pcard h3 { margin: 0; font-family: var(--sans); font-weight: 700; font-size: clamp(24px, 2.4vw, 32px); line-height: 1.1; color: #6B3FC4; }
.pcard p { margin: 0; font-size: 15px; line-height: 1.5; color: var(--ink); }
.pimpact { margin-top: 16px; background: #46357E; border-radius: 14px; padding: 18px 26px; display: grid; grid-template-columns: auto repeat(3, minmax(0, 1fr)); gap: 14px 28px; align-items: center; }
.pimpact .k { font-size: 13px; font-weight: 800; letter-spacing: .16em; color: #E6DEF8; }
.pimpact div { display: flex; align-items: center; gap: 14px; }
.pimpact b { font-size: clamp(30px, 3vw, 40px); font-weight: 800; color: #FFFFFF; line-height: 1; }
.pimpact span { font-size: 14.5px; line-height: 1.4; color: #E6DEF8; }
@media (max-width: 900px) { .pgrid { grid-template-columns: repeat(2, minmax(0, 1fr)); } .pimpact { grid-template-columns: minmax(0, 1fr); } }
@media (max-width: 560px) { .pgrid { grid-template-columns: minmax(0, 1fr); } }
@media (prefers-color-scheme: dark) { :root:not([data-theme="light"]) .pcard h3 { color: var(--violet); } }
.appframe { width: 100%; height: 860px; border: 0; border-radius: 18px; background: var(--card); display: block; }
@media (max-width: 900px) { .appframe { height: 1400px; } }

.nshero { position: relative; overflow: hidden; background: radial-gradient(120% 140% at 85% 0%, #6B3FC4 0%, #2E2159 55%, #1E1640 100%); padding-top: 64px; padding-bottom: 64px; }
.nshero::after { content: ""; position: absolute; right: -60px; top: -60px; width: 340px; height: 340px; border-radius: 50%; background: radial-gradient(circle, rgba(242, 162, 127, .35), rgba(242, 162, 127, 0) 70%); pointer-events: none; }
.nshero .wrap { position: relative; z-index: 1; display: grid; gap: 18px; }
.nshero .eyebrow { margin: 0; color: #F2A27F; }
.nshero h1 { margin: 0; font-family: var(--display); font-weight: 400; font-size: clamp(38px, 6vw, 76px); line-height: 1.05; color: #FFFFFF; letter-spacing: -.01em; }
.nslead { margin: 0; max-width: 46ch; font-family: var(--display); font-size: clamp(19px, 2vw, 25px); line-height: 1.45; color: #E6DEF8; }
.nstag { margin: 4px 0 0; justify-self: start; background: rgba(255, 255, 255, .1); border: 1px solid rgba(255, 255, 255, .22); color: #FFFFFF; font-size: 15.5px; font-weight: 600; padding: 10px 18px; border-radius: 999px; }

.dhero { background: radial-gradient(120% 140% at 90% 0%, #D9774E 0%, #6B3FC4 40%, #2E2159 75%, #1E1640 100%); }
.dhero h1 em { font-style: normal !important; color: #F2A27F; }
.dpills { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 4px; }
.dpills span { background: rgba(255, 255, 255, .1); border: 1px solid rgba(255, 255, 255, .22); color: #FFFFFF; font-size: 14px; font-weight: 600; padding: 8px 16px; border-radius: 999px; }

.nhead { margin: 0; font-family: var(--display); font-weight: 400; font-size: clamp(30px, 4vw, 50px); line-height: 1.1; color: var(--ink); max-width: 22ch; }
.nsub { margin: 4px 0 18px; max-width: 60ch; font-size: clamp(17px, 1.6vw, 20px); line-height: 1.55; color: var(--body); }

.phero { background: radial-gradient(120% 140% at 90% 0%, #D9774E 0%, #6B3FC4 40%, #2E2159 75%, #1E1640 100%); padding-top: 56px; padding-bottom: 56px; margin-bottom: 36px; }
.phero h1 { font-size: clamp(34px, 5vw, 62px); max-width: 20ch; }
.dhero, .nshero { margin-bottom: 36px; }

#state > .head { background: radial-gradient(120% 140% at 90% 0%, #D9774E 0%, #6B3FC4 40%, #2E2159 75%, #1E1640 100%); border-radius: 22px; padding: 40px 36px !important; margin-bottom: 24px; }
#state > .head .eyebrow { color: #F2A27F; }
#state > .head h1 { color: #FFFFFF; font-size: clamp(32px, 4.6vw, 56px); margin: 6px 0 10px; }
#state > .head .sub { color: #E6DEF8; max-width: 60ch; }

.stats .statnote { grid-column: span 3; display: flex; align-items: center; font-size: 16px; line-height: 1.55; color: #E6DEF8; border-right: 0; }
@media (max-width: 760px) { .stats .statnote { grid-column: auto; } }

/* Evidence: Proof points (Evie's model) */
.pphl { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; margin-top: 8px; }
.pph { background: linear-gradient(135deg, #24104F 0%, #3A1C86 55%, #5B2BC2 100%); border-radius: 16px; padding: 20px 22px 22px; display: grid; gap: 6px; align-content: start; color: #FFFFFF; }
.pph small { font-size: 11.5px; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; color: #CBB8F5; }
.pph b { font-family: var(--display); font-weight: 700; font-size: clamp(22px, 2.2vw, 28px); line-height: 1.15; }
.pph span { font-size: 14.5px; line-height: 1.55; color: #E6DEF8; }
.pptabs { display: flex; flex-wrap: wrap; gap: 10px; margin: 18px 0 8px; }
.pptab { font: inherit; font-weight: 600; font-size: 15px; display: inline-flex; align-items: center; gap: 10px; padding: 10px 16px; border-radius: 999px; border: 1.5px solid var(--line); background: var(--card); color: var(--ink); cursor: pointer; }
.pptab em { font-style: normal !important; font-size: 12px; font-weight: 800; background: #EFE8FA; color: #5B2BC2; border-radius: 999px; padding: 2px 9px; }
.pptab[aria-pressed="true"] { background: linear-gradient(135deg, #24104F, #5B2BC2); color: #FFFFFF; border-color: transparent; }
.pptab[aria-pressed="true"] em { background: rgba(255, 255, 255, .2); color: #FFFFFF; }
.ppdesc { margin: 6px 0 12px; color: var(--body); font-size: 15px; }
.ppgrid { display: grid; grid-template-columns: repeat(auto-fill, minmax(280px, 1fr)); gap: 12px; }
.ppc { background: var(--card); border-radius: 14px; padding: 16px 18px; display: grid; gap: 8px; align-content: start; border-left: 5px solid #3C8A62; }
.ppc.chk { border-left-color: #C08A1E; }
.ppc.fix { border-left-color: #B8333F; }
.ppc.q { border-left-color: #6B3FC4; }
.ppc p { margin: 0; font-size: 14.5px; line-height: 1.55; color: var(--ink); }
.ppc.q p { font-family: var(--display); font-size: 15.5px; }
.pptag, .ppwho { justify-self: start; font-size: 11px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; padding: 3px 9px; border-radius: 999px; background: #E6F3EC; color: #2F7A52; }
.ppc.chk .pptag { background: #FBF1DC; color: #8A6212; }
.ppc.fix .pptag { background: #FBE8E3; color: #B8333F; }
.ppwho { background: #EFE8FA; color: #5B2BC2; }
.ppsrc { font-size: 12px; color: var(--muted); line-height: 1.45; }
.ppsrc a { color: var(--violet); }
@media (max-width: 900px) { .pphl { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 560px) { .pphl { grid-template-columns: minmax(0, 1fr); } }
details.adapt { margin: 18px 0; }

.pwords { display: grid; grid-template-columns: repeat(auto-fill, minmax(200px, 1fr)); gap: 14px; margin-top: 6px; }
.pword { position: relative; background: var(--card); border-radius: 16px; padding: 18px 18px 16px; display: grid; gap: 10px; align-content: start; text-decoration: none; color: inherit; border-top: 5px solid var(--c, #6B3FC4); box-shadow: 0 2px 10px rgba(46, 33, 89, .06); transition: transform .15s, box-shadow .15s; }
a.pword:hover { transform: translateY(-2px); box-shadow: 0 8px 22px rgba(46, 33, 89, .14); }
.pword .pq { font-family: var(--display); font-size: 44px; line-height: .6; color: var(--c, #6B3FC4); height: 18px; }
.pword b { font-family: var(--display); font-weight: 400; font-size: 20px; line-height: 1.3; color: var(--ink); }
.pword small { font-size: 11.5px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: var(--muted); line-height: 1.4; }
.pword.c0 { --c: #6B3FC4; } .pword.c1 { --c: #D9774E; } .pword.c2 { --c: #3C8A62; } .pword.c3 { --c: #2A8C8F; } .pword.c4 { --c: #C08A1E; }
@media (prefers-reduced-motion: reduce) { .pword { transition: none; } }

.mwords { align-items: stretch; }
.mword { display: grid; grid-row: span 4; grid-template-rows: subgrid; row-gap: 0; }
.mwb { display: contents; }
.mwb > .mwl { margin: 18px 24px 8px; }
.mwb > p { margin: 0 24px 14px !important; }
.mwb > .mrec { margin: 0 24px 22px; }

/* Action items page */
.aowners { margin-bottom: 22px; }
.aowners > div { display: flex; flex-wrap: wrap; gap: 8px; }
.aowners span { background: var(--card); border: 1.5px solid var(--line); border-radius: 999px; padding: 7px 14px; font-size: 14px; color: var(--body); }
.aowners b { color: var(--ink); margin-right: 4px; }
.acards { display: grid; gap: 22px; margin-bottom: 30px; }
.acard { background: var(--card); border-radius: 20px; overflow: hidden; box-shadow: 0 4px 18px rgba(46, 33, 89, .07); border-top: 6px solid var(--c); }
.ahead { display: flex; align-items: center; gap: 16px; padding: 20px 26px 14px; }
.atag { width: 46px; height: 46px; border-radius: 14px; background: var(--c); color: #FFFFFF; font-weight: 800; font-size: 17px; display: grid; place-items: center; flex: none; }
.ahead a { display: block; font-family: var(--display); font-size: clamp(21px, 2.2vw, 27px); color: var(--ink); text-decoration: none; }
.ahead a:hover { text-decoration: underline; }
.ahead small { font-size: 13px; font-weight: 700; color: var(--muted); letter-spacing: .04em; }
.alist { padding: 0 18px 10px; }
.aitem { border-top: 1px solid var(--line); }
.aitem summary { list-style: none; cursor: pointer; display: grid; grid-template-columns: 30px minmax(0, 1fr) auto 18px; gap: 14px; align-items: center; padding: 14px 8px; border-radius: 12px; }
.aitem summary::-webkit-details-marker { display: none; }
.aitem summary::after { content: "▸"; color: var(--c); font-size: 14px; transition: transform .15s; }
.aitem[open] summary::after { transform: rotate(90deg); }
.aitem summary:hover { background: var(--bg); }
.anum { width: 28px; height: 28px; border-radius: 50%; background: var(--bg); color: var(--ink); font-size: 13px; font-weight: 800; display: grid; place-items: center; }
.aitem summary b { font-size: 16.5px; color: var(--ink); font-weight: 700; }
.aown { font-size: 12.5px; font-weight: 700; color: var(--c); background: color-mix(in srgb, var(--c) 12%, transparent); padding: 5px 12px; border-radius: 999px; white-space: nowrap; }
.adrop { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; margin: 0 8px 16px 52px; }
.adrop > div { background: var(--bg); border-radius: 12px; padding: 12px 16px; display: grid; gap: 4px; }
.adrop .k { font-size: 11px; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; color: var(--muted); }
.adrop .v { font-size: 15px; color: var(--ink); line-height: 1.5; }
.aheard { border-top: 1px solid var(--line); margin: 0 18px; padding-bottom: 16px; }
.aheard summary { list-style: none; cursor: pointer; padding: 14px 8px; font-size: 13px; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; color: var(--c); }
.aheard summary::-webkit-details-marker { display: none; }
.aheard summary::before { content: "▸ "; }
.aheard[open] summary::before { content: "▾ "; }
.aheard summary em { font-style: normal !important; color: var(--muted); font-weight: 700; letter-spacing: .04em; text-transform: none; margin-left: 6px; }
.aheard .voice { border-left-color: var(--c) !important; }
@media (max-width: 640px) { .aitem summary { grid-template-columns: 28px minmax(0, 1fr) 16px; } .aown { display: none; } .adrop { grid-template-columns: minmax(0, 1fr); margin-left: 8px; } }
@media (prefers-reduced-motion: reduce) { .aitem summary::after { transition: none; } }
.aitem { background: none; border-radius: 0; }
.aitem + .aitem { margin-top: 0; }
.aitem > summary::before { content: none !important; display: none !important; }
.aitem[open] > summary { border-bottom: 0; }
.aitem > summary { padding: 14px 8px; color: var(--ink); }
.aheard { background: none; border-radius: 0; }
.aheard > summary { display: block; padding: 14px 8px; }
.aheard[open] > summary { border-bottom: 0; }
.aheard > summary::before { color: var(--c); }
.chg.nostat { grid-template-columns: minmax(0, 1fr) !important; }
.iqsub { margin: 0 0 16px; font-size: 17px; color: var(--body); max-width: 70ch; }
.iqhead .chips { margin-bottom: 14px; }

/* Where to align: three topics */
.algn { border-top: 5px solid var(--violet); }
.algh { display: flex; justify-content: space-between; align-items: flex-start; gap: 12px; margin-bottom: 8px; }
.algh h3 { margin: 0; }
.algn .pill { flex: none; background: #FCE8E8; color: #B42318; font-size: 13px; font-weight: 700; padding: 4px 12px; border-radius: 999px; }
.algn p { margin: 0; line-height: 1.55; }
.algn p b { color: var(--violet); }
