/* Solutions + Industries page-specific components (Carbon tokens only) */
.stat-row { display: grid; grid-template-columns: repeat(3, 1fr); gap: var(--cds-spacing-05, 1rem); }
.stat-box { background: var(--cds-layer-01); border: 1px solid var(--cds-border-subtle-01); padding: var(--cds-spacing-06, 1.5rem); text-align: center; }
.stat-box .num { font-family: var(--ca-font); font-size: clamp(2rem, 4vw, 2.75rem); line-height: 1.1; color: var(--cds-text-primary); }
.stat-box .num-unit { font-size: .5em; color: var(--cds-text-secondary); }
.stat-box .lbl { font-size: .875rem; color: var(--cds-text-secondary); margin-block-start: var(--cds-spacing-03, .5rem); }
.stat-box .lbl a { color: var(--cds-link-primary); }
@media (max-width: 42rem) { .stat-row { grid-template-columns: 1fr 1fr; } }

.flow-diagram { display: flex; flex-direction: column; align-items: stretch; gap: var(--cds-spacing-03, .5rem); }
.flow-box { background: var(--cds-layer-01); border: 1px solid var(--cds-border-subtle-01); padding: var(--cds-spacing-05, 1rem); text-align: center; color: var(--cds-text-primary); }
.flow-box span { display: block; font-size: .75rem; color: var(--cds-text-secondary); margin-block-start: var(--cds-spacing-02, .25rem); }
.flow-box.highlight { border-color: var(--ca-lime); }
.flow-arrow { text-align: center; color: var(--cds-text-secondary); }
.flow-outcomes { display: grid; grid-template-columns: 1fr 1fr; gap: var(--cds-spacing-03, .5rem); }
.flow-outcome { display: flex; flex-direction: column; align-items: center; gap: var(--cds-spacing-02, .25rem); padding: var(--cds-spacing-04, .75rem); border: 1px solid var(--cds-border-subtle-01); font-family: "IBM Plex Mono", monospace; font-size: .75rem; }
.flow-outcome.drop { color: var(--cds-support-error); border-color: var(--cds-support-error); }
.flow-outcome.pass { color: var(--cds-text-primary); border-color: var(--ca-lime); }
@media (max-width: 42rem) { .flow-outcomes { grid-template-columns: 1fr; } }

.attack-grid { display: flex; flex-direction: column; gap: var(--cds-spacing-09, 3rem); }
.attack-entry { display: flex; flex-direction: column; gap: var(--cds-spacing-05, 1rem); }
.attack-entry:not(:first-child) { padding-block-start: var(--cds-spacing-08, 2.5rem); border-block-start: 1px solid var(--cds-border-subtle-01); }
.attack-card-head { display: flex; align-items: center; flex-wrap: wrap; gap: var(--cds-spacing-04, .75rem); }
.attack-card-num { font-family: "IBM Plex Mono", monospace; font-size: .75rem; color: var(--cds-text-secondary); border: 1px solid var(--cds-border-strong-01); border-radius: 50%; inline-size: 2rem; block-size: 2rem; display: flex; align-items: center; justify-content: center; flex-shrink: 0; }
.attack-card-head h3 { margin: 0; font-family: var(--ca-font); font-size: 1.5rem; font-weight: 400; color: var(--cds-text-primary); }
.attack-kind { margin-inline-start: auto; font-family: "IBM Plex Mono", monospace; font-size: .6875rem; letter-spacing: .08em; text-transform: uppercase; color: var(--cds-text-secondary); border: 1px solid var(--cds-border-subtle-01); border-radius: 1rem; padding: .125rem .75rem; }
.attack-body-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--cds-spacing-07, 2rem); align-items: start; }
@media (max-width: 66rem) { .attack-body-grid { grid-template-columns: 1fr; } }
.attack-copy { display: flex; flex-direction: column; gap: var(--cds-spacing-05, 1rem); }
.attack-copy p { margin: 0; }
.attack-desc { color: var(--cds-text-secondary); line-height: 1.6; }
.attack-detail-list { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: var(--cds-spacing-03, .5rem); }
.attack-detail-list li { position: relative; padding-inline-start: var(--cds-spacing-05, 1rem); font-size: .875rem; color: var(--cds-text-secondary); }
.attack-detail-list li::before { content: "·"; position: absolute; inset-inline-start: 0; color: var(--ca-lime); font-weight: 700; }
.attack-detail-list strong, .attack-neuro strong { color: var(--cds-text-primary); font-weight: 600; }
.attack-neuro { font-size: .875rem; color: var(--cds-text-secondary); padding-block-start: var(--cds-spacing-05, 1rem); border-block-start: 1px solid var(--cds-border-subtle-01); }
.attack-card-img .frame { overflow: hidden; background: var(--cds-layer-01); }
.attack-card-img .attack-svg { display: block; inline-size: 100%; block-size: auto; aspect-ratio: 1200 / 760; pointer-events: none; }

.solution-card, .industry-card { display: flex; flex-direction: column; gap: var(--cds-spacing-04, .75rem); background: var(--cds-layer-01); padding: var(--cds-spacing-06, 1.5rem); color: var(--cds-text-primary); text-decoration: none; border: 1px solid var(--cds-border-subtle-01); transition: border-color .15s; }
a.solution-card:hover { border-color: var(--cds-text-primary); }
a.solution-card:hover .sol-title { text-decoration: underline; text-underline-offset: 3px; text-decoration-thickness: 1px; }
.sol-label, .ind-label { font-family: "IBM Plex Mono", monospace; font-size: .75rem; letter-spacing: .08em; text-transform: uppercase; color: var(--cds-text-secondary); }
.sol-title, .ind-title { font-family: var(--ca-font); font-size: 1.75rem; line-height: 1.2; }
.sol-desc, .ind-desc { margin: 0; color: var(--cds-text-secondary); line-height: 1.6; }
.sol-benefits, .pain-list { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: var(--cds-spacing-03, .5rem); font-size: .875rem; color: var(--cds-text-secondary); }
.sol-benefits li, .pain-list li { position: relative; padding-inline-start: var(--cds-spacing-05, 1rem); }
.sol-benefits li::before, .pain-list li::before { content: "·"; position: absolute; inset-inline-start: 0; color: var(--ca-lime); font-weight: 700; }
.industry-card .cds--btn { align-self: flex-start; margin-block-start: auto; }
.industry-grid { display: grid; grid-template-columns: 1fr; gap: var(--cds-spacing-05, 1rem); }
@media (min-width: 42rem) { .industry-grid { grid-template-columns: repeat(2, 1fr); } }
@media (min-width: 66rem) { .industry-grid { grid-template-columns: repeat(3, 1fr); } }

.pills, .use-case-pills { display: flex; flex-wrap: wrap; align-items: flex-start; gap: var(--cds-spacing-03, .5rem); }
.pills .cds--tag, .use-case-pills .cds--tag { margin: 0; }
.pills .cds--tag { align-self: flex-start; flex: 0 1 auto; height: auto; inline-size: fit-content; max-inline-size: 100%; white-space: normal; }
.use-case-pills .cds--tag { background: transparent; border: 1px solid var(--cds-border-strong-01); border-radius: 1rem; color: var(--cds-text-secondary); flex: 0 1 auto; height: auto; max-inline-size: 100%; white-space: normal; }

.env-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: var(--cds-spacing-05, 1rem); }
@media (max-width: 42rem) { .env-grid { grid-template-columns: 1fr; } }
.env-box { background: var(--cds-layer-01); border: 1px solid var(--cds-border-subtle-01); padding: var(--cds-spacing-05, 1rem); text-align: center; }
.env-name { font-family: "IBM Plex Mono", monospace; font-size: .75rem; text-transform: uppercase; letter-spacing: .08em; color: var(--cds-text-secondary); }
.env-product { font-family: var(--ca-font); font-size: 1.5rem; margin-block: var(--cds-spacing-03, .5rem); color: var(--cds-text-primary); }
.env-detail { font-size: .875rem; color: var(--cds-text-secondary); }
.env-connector { text-align: center; padding-block: var(--cds-spacing-05, 1rem); font-family: "IBM Plex Mono", monospace; font-size: .75rem; color: var(--cds-text-secondary); }

.split-grid { display: grid; grid-template-columns: 1fr; gap: var(--cds-spacing-05, 1rem); }
@media (min-width: 42rem) { .split-grid { grid-template-columns: repeat(2, 1fr); } }

.consequence-list { display: flex; flex-direction: column; }
.consequence-row { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 2fr); gap: var(--cds-spacing-06, 1.5rem); padding-block: var(--cds-spacing-05, 1rem); border-block-end: 1px solid var(--cds-border-subtle-01); }
.consequence-trigger { font-family: var(--ca-font); font-size: 1.125rem; color: var(--cds-text-primary); }
.consequence-result { color: var(--cds-text-secondary); line-height: 1.6; }
@media (max-width: 42rem) { .consequence-row { grid-template-columns: 1fr; gap: var(--cds-spacing-03, .5rem); } }


.comp-table td.muted, .muted { color: var(--cds-text-secondary); }


.comp-table { min-inline-size: 40rem; }
.ca-cols-2, .ca-cols-3 { column-gap: var(--cds-spacing-05, 1rem); align-items: start; }
.ca-cols-2 > div:not(.cds--tile) > .cds--tile { margin-block-start: var(--cds-spacing-05, 1rem); }
.ca-cols-2 > div:not(.cds--tile) > .ca-lede { margin-block-start: 0; }
