/* Product demonstrations for perception, chat and recommendations. */
.pd-demo .pm-toolbar { display:flex; align-items:center; justify-content:space-between; gap:16px; flex-wrap:wrap; }
.pd-demo .pm-method { display:flex; justify-content:space-between; flex-wrap:wrap; gap:8px 24px; margin-top:26px; padding-top:20px; border-top:1px solid #E8E8E4; color:#64748B; font-size:13px; line-height:1.6; }
.pd-demo .pm-sentiment { padding:28px 36px 24px; }
.pd-demo .pm-sentiment-main { display:grid; grid-template-columns:.9fr 1.1fr; align-items:center; gap:64px; max-width:900px; margin:24px auto 16px; }
.pd-demo .pm-ring-wrap { position:relative; max-width:330px; width:100%; margin:auto; }
.pd-demo .pm-ring { display:block; width:100%; overflow:visible; }
.pd-demo .pm-ring-track,.pd-demo .pm-ring-segment { fill:none; stroke-width:21; }
.pd-demo .pm-ring-segment { transition:stroke-dasharray .35s ease,stroke-dashoffset .35s ease; }
.pd-demo .pm-ring-track { stroke:#F2F2EE; }
.pd-demo .pm-ring-segment.is-positive { stroke:#387157; }
.pd-demo .pm-ring-segment.is-neutral { stroke:#B1BBC8; }
.pd-demo .pm-ring-segment.is-negative { stroke:#A65353; }
.pd-demo .pm-ring-label { position:absolute; inset:0; display:flex; flex-direction:column; align-items:center; justify-content:center; color:#1B2A4A; }
.pd-demo .pm-ring-label strong { font-size:clamp(48px,5.5vw,76px); letter-spacing:-.06em; line-height:1.05; font-weight:600; }
.pd-demo .pm-ring-label span { margin-top:10px; font-size:15px; font-weight:600; }
.pd-demo .pm-ring-label small { margin-top:5px; color:#64748B; font-size:12px; }
.pd-demo .pm-sentiment-summary h3 { margin:14px 0 24px; color:#1B2A4A; font-size:clamp(24px,2.5vw,32px); line-height:1.2; letter-spacing:-.035em; font-weight:600; }
.pd-demo .pm-sentiment-summary > p { margin-top:18px; max-width:400px; }
.pd-demo .pm-sentiment-legend { display:grid; gap:15px; }
.pd-demo .pm-sentiment-line { display:grid; grid-template-columns:1fr 64px 68px; align-items:center; gap:12px; }
.pd-demo .pm-sentiment-line > span { display:flex; align-items:center; gap:12px; font-size:16px; }
.pd-demo .pm-sentiment-line b { text-align:right; font-size:26px; letter-spacing:-.04em; font-weight:600; }
.pd-demo .pm-sentiment-line small { color:#64748B; font-size:13px; text-align:right; }
.pd-demo .pm-dot { display:inline-block; width:9px; height:9px; border-radius:50%; flex-shrink:0; }
.pd-demo .pm-dot.is-positive,.pd-demo .pm-stacked-bar > .is-positive { background:#387157; }
.pd-demo .pm-dot.is-neutral,.pd-demo .pm-stacked-bar > .is-neutral { background:#B1BBC8; }
.pd-demo .pm-dot.is-negative,.pd-demo .pm-stacked-bar > .is-negative { background:#A65353; }
.pd-demo .pm-theme-tabs { width:fit-content; max-width:100%; margin-bottom:24px; }
.pd-demo .pm-theme-panels { display:grid; grid-template-columns:minmax(0,1fr); padding-top:5px; }
.pd-demo .pm-theme-panel { display:contents; }
.pd-demo .pm-theme-panels .pm-theme-panel[hidden] { display:contents !important; }
.pd-demo .pm-theme-panel[hidden] > * { visibility:hidden; }
.pd-demo .pm-theme-panel > * { grid-column:1; align-self:start; }
.pd-demo .pm-theme-panel > :nth-child(1) { grid-row:1; }
.pd-demo .pm-theme-panel > :nth-child(2) { grid-row:2; }
.pd-demo .pm-theme-panel > :nth-child(3) { grid-row:3; }
.pd-demo .pm-theme-panel > :nth-child(4) { grid-row:4; }
.pd-demo .pm-theme-tone { display:flex; align-items:center; gap:8px; font-size:13px; font-weight:600; }
.pd-demo .pm-theme-tone.is-positive { color:#387157; }
.pd-demo .pm-theme-tone.is-negative { color:#A65353; }
.pd-demo .pm-quote { margin:18px 0 24px; color:#1B2A4A; font-size:clamp(20px,2vw,25px); line-height:1.5; letter-spacing:-.025em; font-weight:500; }
.pd-demo .pm-evidence-question { display:grid; gap:9px; padding:18px; background:#FAFAF8; border:1px solid #E8E8E4; border-radius:10px; }
.pd-demo .pm-evidence-question > strong { font-size:15px; line-height:1.6; font-weight:600; }
.pd-demo .pm-theme-explanation { margin-top:18px; color:#64748B; font-size:14px; line-height:1.6; }
.pd-demo .pm-trend { padding:32px; }
.pd-demo .pm-trend-heading { display:flex; align-items:center; justify-content:space-between; gap:24px; margin-bottom:32px; }
.pd-demo .pm-trend-heading > div { display:grid; gap:12px; }
.pd-demo .pm-trend-heading > p { font-size:16px; line-height:1.7; }
.pd-demo .pm-trend-number { font-size:44px; letter-spacing:-.05em; line-height:1.15; font-weight:600; }
.pd-demo .pm-trend-number > span { margin-inline:10px; color:#B1BBC8; font-weight:400; }
.pd-demo .pm-trend-bars { display:grid; gap:27px; }
.pd-demo .pm-trend-row > .pd-row { margin-bottom:10px; font-size:14px; }
.pd-demo .pm-trend-row > p { margin-top:9px; }
.pd-demo .pm-stacked-bar { display:flex; height:46px; border-radius:7px; overflow:hidden; }
.pd-demo .pm-stacked-bar > span { display:flex; align-items:center; justify-content:center; color:#fff; font-size:13px; font-weight:600; border-right:2px solid #fff; }
.pd-demo .pm-stacked-bar > .is-neutral { color:#1B2A4A; }
.pd-demo .pm-stacked-bar > span:last-child { border:0; }
.pd-demo .pm-trend-legend { display:flex; flex-wrap:wrap; gap:20px; margin-top:22px; font-size:13px; }
.pd-demo .pm-trend-legend > span { display:flex; align-items:center; gap:8px; }

.pd-demo [hidden] { display:none !important; }

@media (max-width:1000px) {
  .pd-demo .pm-sentiment-main { gap:32px; }
}
@media (max-width:760px) {
  .pd-demo .pm-sentiment { padding:24px; }
  .pd-demo .pm-sentiment-main { gap:20px; grid-template-columns:1fr; margin-top:25px; }
  .pd-demo .pm-ring-wrap { max-width:270px; }
  .pd-demo .pm-sentiment-summary { max-width:430px; width:100%; margin:auto; }
  .pd-demo .pm-sentiment-summary h3 { font-size:27px; }
  .pd-demo .pm-sentiment-summary h3 br { display:none; }
}
@media (max-width:480px) {
  .pd-demo .pm-sentiment { padding:20px 16px; }
  .pd-demo .pm-toolbar { gap:12px; }
  .pd-demo .pm-toolbar > .pd-tabs { width:100%; }
  .pd-demo .pm-toolbar > .pd-tabs > button { flex:1; }
  .pd-demo .pm-ring-wrap { max-width:245px; }
  .pd-demo .pm-ring-label strong { font-size:56px; }
  .pd-demo .pm-sentiment-line { grid-template-columns:1fr 48px 55px; gap:9px; }
  .pd-demo .pm-sentiment-line > span { gap:8px; font-size:14px; }
  .pd-demo .pm-sentiment-line b { font-size:23px; }
  .pd-demo .pm-sentiment-line small { font-size:12px; }
  .pd-demo .pm-method { margin-top:21px; padding-top:16px; font-size:12px; }
  .pd-demo .pm-theme-tabs { width:100%; }
  .pd-demo .pm-theme-tabs > button { flex:1; font-size:12px; padding-inline:9px; }
  .pd-demo .pm-quote { font-size:20px; }
  .pd-demo .pm-evidence-question { padding:14px; }
  .pd-demo .pm-trend { padding:20px 16px; }
  .pd-demo .pm-trend-heading { align-items:flex-start; flex-direction:column; gap:16px; }
  .pd-demo .pm-trend-heading > p { font-size:14px; }
  .pd-demo .pm-trend-number { font-size:36px; }
  .pd-demo .pm-trend-number > span { margin-inline:5px; }
  .pd-demo .pm-trend-row > .pd-row { gap:8px; font-size:12px; }
  .pd-demo .pm-stacked-bar { height:38px; }
  .pd-demo .pm-stacked-bar > span { font-size:11px; border-right-width:1px; }
  .pd-demo .pm-trend-legend { gap:15px; font-size:12px; }
}
@media (prefers-reduced-motion:reduce) {
  .pd-demo [class*="pm-"] { animation:none !important; transition:none !important; scroll-behavior:auto !important; }
}
