/* Prism product overview: deliberately scoped to the hero and current output examples. */
.prism-intro { background:#f5f5f0; color:#172b4d; border-bottom:1px solid #dce1e7; }
.prism-intro__inner { max-width:1320px; margin:auto; padding:clamp(2.5rem,5vw,5rem) clamp(1.25rem,4vw,3rem) 0; display:grid; grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr); gap:3rem 3.5rem; align-items:center; }
.prism-intro__eyebrow { display:flex; align-items:center; gap:.6rem; color:#284e83; font-size:.8rem; font-weight:750; letter-spacing:.05em; }
.prism-intro__eyebrow>span { color:#2563eb; font-size:1.3rem; }
.prism-intro h1 { margin:1.25rem 0 1.5rem; font-size:clamp(2.8rem,4.8vw,4.9rem); font-weight:650; line-height:1.06; letter-spacing:-.055em; color:#172b4d; }
.prism-intro h1 em { color:#1d4ed8; font-style:normal; }
.prism-intro__copy>p { max-width:29rem; font-size:1.05rem; line-height:1.75; color:#526477; }
.prism-intro__actions { display:flex; flex-wrap:wrap; align-items:center; gap:1rem 1.5rem; margin-top:1.75rem; }
.prism-intro__actions a { display:inline-flex; align-items:center; justify-content:space-between; gap:1.4rem; min-height:48px; font-size:.85rem; font-weight:700; text-decoration:none; }
.prism-intro__primary { background:#1d4ed8; color:#fff; padding:.85rem 1.15rem; border-radius:5px; }
.prism-intro__primary:hover { background:#183faa; }
.prism-intro__secondary { color:#172b4d; border-bottom:1px solid #aab9cc; }
.prism-intro__copy .prism-intro__note { font-size:.75rem; margin:.9rem 0 1.3rem; color:#526477; }
.prism-intro__creative { color:#284e83; font-size:.78rem; text-underline-offset:4px; }
.prism-intro__figure { margin:0; min-width:0; padding:clamp(1rem,2vw,1.75rem); border:1px solid #d3dce8; border-radius:8px; background:#fff; box-shadow:0 16px 45px -28px #172b4d66; transform:rotate(-1deg); }
.prism-intro__figure-heading { display:flex; justify-content:space-between; gap:1rem; color:#526477; font-size:.62rem; font-weight:650; letter-spacing:.04em; text-transform:uppercase; }
.prism-intro__figure-heading a { color:#1d4ed8; text-underline-offset:3px; }
.prism-intro__figure h2 { margin:1.5rem 0 .5rem; color:#172b4d; font-size:clamp(1.1rem,1.7vw,1.55rem); line-height:1.25; letter-spacing:-.025em; font-weight:650; }
.prism-intro__figure>p { margin:0 0 1.1rem; color:#526477; font-size:.74rem; }
.prism-intro__image { display:block; background:#f3f6fb; border-radius:3px; }
.prism-intro__image img { display:block; width:100%; height:auto; }
.prism-intro__figure figcaption { display:flex; justify-content:space-between; flex-wrap:wrap; gap:.7rem; margin-top:1rem; color:#526477; font-size:.64rem; line-height:1.5; }
.prism-intro__figure figcaption a { color:#1d4ed8; font-weight:650; text-underline-offset:3px; }
.prism-intro a:focus-visible { outline:3px solid #0f766e; outline-offset:5px; }
.prism-intro__principles { grid-column:1/-1; display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); border-top:1px solid #d3dce1; gap:2rem; }
.prism-intro__principles p { display:grid; grid-template-columns:auto 1fr; gap:.3rem .8rem; padding:1.5rem 0; margin:0; font-size:.76rem; }
.prism-intro__principles p>span:first-child { grid-row:1/3; color:#0f766e; padding-top:.1rem; font-size:.68rem; font-variant-numeric:tabular-nums; }
.prism-intro__principles strong { font-weight:650; }
.prism-intro__principles p>span:last-child { color:#526477; font-size:.7rem; line-height:1.5; }
@media(max-width:960px) { .prism-intro__inner { grid-template-columns:1fr; gap:2rem; } .prism-intro__copy>p { max-width:38rem; } .prism-intro h1 { max-width:40rem; } .prism-intro__figure { transform:none; } }
@media(max-width:560px) { .prism-intro__inner { padding:2.5rem 1.25rem 0; } .prism-intro h1 { font-size:3rem; } .prism-intro__copy>p { font-size:1rem; } .prism-intro__figure { padding:1rem .65rem; margin:0 -.25rem; } .prism-intro__figure-heading { font-size:.6rem; letter-spacing:0; } .prism-intro__figure h2,.prism-intro__figure>p,.prism-intro__figure figcaption { margin-left:.35rem; margin-right:.35rem; } .prism-intro__principles { grid-template-columns:1fr; gap:0; } .prism-intro__principles p { padding:1rem 0; border-bottom:1px solid #dce1e7; } }
@media(prefers-reduced-motion:reduce) { .prism-intro__figure { transform:none; } }

.prism-output { max-width:1320px; margin:0 auto; padding:clamp(3rem,7vw,6rem) clamp(1.25rem,4vw,3rem); color:#e9eef8; }
.prism-output__heading { display:grid; grid-template-columns:1.1fr .9fr; gap:3rem; align-items:end; margin-bottom:2.5rem; }
.prism-output__eyebrow { color:#a4c2ff; font-size:.7rem; font-weight:700; text-transform:uppercase; letter-spacing:.1em; }
.prism-output h2 { margin:.9rem 0 0; color:#f3f6fb; font-size:clamp(2rem,3.6vw,3.3rem); line-height:1.12; letter-spacing:-.045em; font-weight:600; }
.prism-output__heading>p { max-width:29rem; margin:0 0 .2rem; color:#a7b6cd; font-size:.96rem; line-height:1.8; }
.prism-output__choices { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); border-top:1px solid #394659; border-bottom:1px solid #394659; margin-bottom:2rem; }
.prism-output__choices button { display:flex; align-items:center; gap:.8rem; min-height:64px; border:0; border-bottom:3px solid transparent; padding:1rem .9rem; background:transparent; color:#b8c6dd; font:inherit; font-size:.85rem; text-align:left; cursor:pointer; }
.prism-output__choices button>span:first-child { color:#a6b9d5; font-size:.68rem; }
.prism-output__choices button>span:last-child { margin-left:auto; }
.prism-output__choices button[aria-pressed="true"] { border-bottom-color:#9ebdff; background:#21314d; color:#fff; }
.prism-output__choices button:hover { background:#253650; color:#fff; }
.prism-output__panel { display:grid; grid-template-columns:minmax(0,1.65fr) minmax(0,1fr); gap:2.5rem; align-items:start; }
.prism-output figure { min-width:0; margin:0; background:#f3f6fb; border-radius:6px; padding:1.25rem .75rem .75rem; color:#172b4d; }
.prism-output__figure-heading { display:flex; justify-content:space-between; align-items:center; gap:1rem; margin:0 .5rem 1rem; font-size:.68rem; }
.prism-output__figure-heading>span { font-weight:700; letter-spacing:.06em; text-transform:uppercase; }
.prism-output__figure-heading a { color:#1d4ed8; text-underline-offset:3px; }
.prism-output figure img { display:block; width:100%; height:auto; }
.prism-output figcaption { margin:1rem .5rem .25rem; padding-top:.85rem; border-top:1px solid #d3dce8; color:#526477; font-size:.72rem; line-height:1.5; }
.prism-output__story { min-width:0; padding-top:.4rem; }
.prism-output h3 { margin:.65rem 0 1rem; font-size:clamp(1.4rem,2.1vw,1.8rem); font-weight:600; line-height:1.25; letter-spacing:-.025em; color:#f3f6fb; }
.prism-output__story>p { color:#b3c0d4; font-size:.88rem; line-height:1.75; margin-bottom:1rem; }
.prism-output__story .prism-output__source-note { color:#a1b0c7; font-size:.72rem; line-height:1.6; }
.prism-output__data { margin:1.25rem 0 1rem; border-top:1px solid #394659; border-bottom:1px solid #394659; }
.prism-output__data summary { padding:1rem 0; color:#dce7fb; font-size:.78rem; font-weight:600; cursor:pointer; }
.prism-output__table-wrap { overflow-x:auto; margin-bottom:1rem; }
.prism-output table { width:100%; border-collapse:collapse; font-size:.65rem; font-variant-numeric:tabular-nums; }
.prism-output caption { text-align:left; padding:0 0 .75rem; color:#b3c0d4; }
.prism-output th,.prism-output td { text-align:right; padding:.5rem; border-bottom:1px solid #394659; white-space:nowrap; }
.prism-output th:first-child { text-align:left; }
.prism-output thead th { color:#a4c2ff; font-weight:600; }
.prism-output tbody th { font-weight:500; }
.prism-output__csv { display:block; color:#c5d8ff; font-size:.75rem; text-underline-offset:4px; }
.prism-output__try { display:flex; justify-content:space-between; align-items:center; gap:1rem; min-height:48px; margin-top:1.5rem; padding:.8rem 1rem; background:#dce8ff; color:#172b4d; border-radius:4px; font-size:.8rem; font-weight:700; text-decoration:none; }
.prism-output__try:hover { background:#bcd3ff; }
.prism-output__footer { display:flex; align-items:center; justify-content:space-between; gap:2rem; border-top:1px solid #394659; margin-top:2rem; padding-top:1.25rem; }
.prism-output__footer p { max-width:41rem; margin:0; color:#a7b6cd; font-size:.75rem; line-height:1.7; }
.prism-output__footer strong { color:#e0e9f9; font-weight:600; }
.prism-output__footer a { flex-shrink:0; color:#c5d8ff; font-size:.75rem; text-underline-offset:4px; }
.prism-output button:focus-visible,.prism-output a:focus-visible,.prism-output summary:focus-visible,.prism-output__table-wrap:focus-visible { outline:3px solid #5eead4; outline-offset:4px; }
.prism-output__sr-only { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip-path:inset(50%); white-space:nowrap; border:0; }
@media(max-width:960px) { .prism-output__panel { grid-template-columns:1fr; gap:1.75rem; } .prism-output__heading { gap:1.5rem; } .prism-output__story { max-width:40rem; } }
@media(max-width:600px) { .prism-output__heading { grid-template-columns:1fr; } .prism-output__choices { grid-template-columns:1fr; } .prism-output__choices button { min-height:48px; border-bottom-width:2px; } .prism-output figure { padding:1rem .25rem .75rem; margin:0 -.25rem; } .prism-output__footer { align-items:start; flex-direction:column; gap:1rem; } }

/* Carry the editorial treatment through the complete overview, not just its first screen. */
.prism-overview .prism-intro { border: 0; background: #f5f6f3; }
.prism-overview .prism-intro__inner { padding-top: clamp(3rem, 5vw, 4.5rem); }
.prism-overview .prism-intro__copy>p { font-size: 1.125rem; line-height: 1.75; }
.prism-overview .prism-intro__copy .prism-intro__note { font-size: .875rem; }
.prism-overview .prism-intro__actions a { font-size: .9375rem; }
.prism-overview .prism-intro__creative { font-size: .875rem; }
.prism-overview .prism-intro__figure { transform: none; padding: 1.5rem; }
.prism-overview .prism-intro__figure-heading { font-size: .75rem; line-height: 1.6; flex-wrap: wrap; }
.prism-overview .prism-intro__figure>p, .prism-overview .prism-intro__figure figcaption { font-size: .8125rem; }
.prism-overview .prism-intro__principles p { font-size: .9375rem; padding-block: 1.75rem; }
.prism-overview .prism-intro__principles p>span:first-child, .prism-overview .prism-intro__principles p>span:last-child { font-size: .8125rem; }
.prism-overview>.prism-output { max-width: none; background: #111c30; padding-inline: max(1.25rem, calc((100% - 1184px)/2)); }
.prism-overview .prism-output__heading>p { color: #c0cddd; font-size: 1.0625rem; line-height: 1.75; }
.prism-overview .prism-output__eyebrow { font-size: .8125rem; }
.prism-overview .prism-output__choices button { font-size: .9375rem; }
.prism-overview .prism-output__panel { grid-template-columns: minmax(0, 1.9fr) minmax(0, .9fr); gap: 2.5rem; }
.prism-overview .prism-output__story>p { color: #c0cddd; font-size: 1rem; }
.prism-overview .prism-output__story .prism-output__source-note { color: #bdcbe0; font-size: .875rem; }
.prism-overview .prism-output__figure-heading, .prism-overview .prism-output figcaption, .prism-overview .prism-output__csv, .prism-overview .prism-output__data summary, .prism-overview .prism-output__try, .prism-overview .prism-output__footer p, .prism-overview .prism-output__footer a { font-size: .875rem; }
.prism-overview .prism-output table { font-size: .8125rem; }
.prism-overview .prism-output__footer p { color: #c0cddd; }
.prism-overview .prism-showcase { padding-block: clamp(3.5rem, 7vw, 6rem); }
.prism-overview .prism-showcase__filters button { min-height: 44px; font-size: .875rem; }
.prism-overview .prism-showcase__card { border-radius: 8px; background: #18253c; }
.prism-overview .prism-showcase__card-copy { padding: 1.5rem; }
.prism-overview .prism-showcase__card-copy p { color: #c0cddd; font-size: .9375rem; line-height: 1.7; }
.prism-overview .prism-showcase__card-copy>span, .prism-overview .prism-showcase__heading>a { font-size: .875rem; }
.prism-overview .kit-sample { border: 0; padding: 0; background: transparent; }
.prism-overview .kit-sample__channels { gap: 1.25rem; }
.prism-overview .kit-sample__channel { padding: 1.25rem; border-color: #cbd4df; border-radius: 8px; }
.prism-overview .kit-sample__caption { font-size: 1rem; line-height: 1.75; }
.prism-overview .kit-sample details, .prism-overview .kit-sample__alt p, .prism-overview .kit-sample__eyebrow, .prism-overview .kit-sample h5, .prism-overview .kit-sample h4 span { font-size: .875rem; }
.prism-overview .kit-sample summary { min-height: 44px; padding-block: .55rem; }
.prism-overview .kit-sample__design img { max-height: 230px; object-fit: contain; }
.prism-overview-print { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, .75fr); gap: clamp(2rem, 6vw, 5rem); align-items: center; }
.prism-overview-print p { color: #c0cddd; margin-bottom: 1.25rem; }
.prism-overview-print figure { margin: 0; padding: 1rem; background: #e4e9ef; border-radius: 8px; }
.prism-overview-print img { display: block; width: 100%; height: auto; }
.prism-overview-tools { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); border-top: 1px solid #cbd4df; }
.prism-overview-tools a { display: grid; grid-template-columns: 1fr auto; gap: .3rem 1rem; padding: 1.25rem 1rem 1.25rem 0; border-bottom: 1px solid #cbd4df; color: #172b4d; text-decoration: none; }
.prism-overview-tools a>span:first-child { font-size: 1.1875rem; font-weight: 650; }
.prism-overview-tools a>span:last-child { grid-column: 2; grid-row: 1/3; align-self: center; color: #284ed1; }
.prism-overview-tools small { grid-column: 1; color: #526477; font-size: .875rem; }
.prism-overview-details>details { border-top: 1px solid #cbd4df; }
.prism-overview-details>details>summary { padding: 1.4rem 0; color: #172b4d; font-size: 1.125rem; font-weight: 600; }
.prism-overview-details .prism-capability-workflow { width: 100%; max-width: 75ch; margin: 0 0 2rem; padding: .5rem 0; border: 0; border-radius: 0; background: transparent; }
.prism-overview-details .prism-capability-workflow h2 { font-size: 1.5rem; }
.prism-overview-details .prism-capability-workflow h3 { color: #172b4d; font-size: 1.1875rem; }
.prism-overview-details .prism-capability-workflow p { color: #526477; font-size: 1.0625rem; line-height: 1.8; }
.prism-overview-details .prism-capability-gallery { padding: 0; }
.prism-overview-details .prism-capability-gallery a { color: #284ed1; }
.prism-overview-details .prism-capability-gallery-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.prism-overview-details .prism-capability-gallery img { height: auto; background: #e4e9ef; }
.prism-overview-details .prism-workflow-section { padding-bottom: 1.5rem; }
.prism-overview-details .prism-integration-section { display: grid; grid-template-columns: 1fr 1fr; gap: 2rem; }
.prism-overview-details .prism-overview-kicker { color: #284ed1; font-size: .875rem; }
.prism-overview-details .prism-overview-hero__actions { display: flex; flex-wrap: wrap; gap: 1rem; }
.prism-overview-details .prism-overview-hero__actions a { min-height: 44px; padding: .75rem 1rem; border: 1px solid #78879c; border-radius: 5px; background: #ffffff; color: #284ed1; }
.prism-overview-details .prism-overview-hero__actions a.prism-overview-hero__primary { background: #284ed1; border-color: #284ed1; color: #ffffff; }
@media (max-width: 960px) {
    .prism-overview .prism-output__panel { grid-template-columns: 1fr; }
    .prism-overview-print { grid-template-columns: 1fr; }
    .prism-overview-print figure { max-width: 480px; }
}
@media (max-width: 600px) {
    .prism-overview .prism-intro__figure { padding: 1rem .75rem; }
    .prism-overview .prism-intro__inner { padding-top: 2.5rem; }
    .prism-overview-tools, .prism-overview-details .prism-integration-section, .prism-overview-details .prism-capability-gallery-grid { grid-template-columns: 1fr; }
    .prism-overview .prism-output__choices button { min-height: 52px; }
    .prism-overview .kit-sample__design-grid { gap: .75rem; }
}

/* Keep the real chart ahead of actions on mobile, with matching source order. */
.prism-overview .prism-intro__inner { align-items: start; row-gap: 1.5rem; }
.prism-intro__copy { grid-column: 1; grid-row: 1; }
.prism-intro__figure { grid-column: 2; grid-row: 1 / 3; }
.prism-intro__decision { grid-column: 1; grid-row: 2; }
.prism-intro__decision .prism-intro__actions { margin-top: 0; }
@media (max-width: 960px) {
    .prism-intro__copy, .prism-intro__figure, .prism-intro__decision { grid-column: 1; grid-row: auto; }
}
@media (max-width: 560px) {
    .prism-overview .prism-intro__inner { padding-top: 1.75rem; }
    .prism-overview .prism-intro h1 { font-size: 2.6rem; }
}

.prism-overview .prism-intro__decision .prism-intro__note { font-size: .875rem; line-height: 1.7; color: #526477; }
