/* Solutions shares the homepage palette, navigation and type system. */
.solutions-page { --card: #e5ded0; --card-line: #c9c4b8; }
.solutions-page .solutions-hero { align-items: start; padding-bottom: 76px; }
.solutions-page .solutions-hero .solutions-intro-note { margin-top: 22px; color: var(--muted); font-size: 16px; line-height: 1.6; max-width: 48ch; }
.ia-foundry.home-page .plc-launch { padding-top: 0; }
.solutions-page .plc-launch-card { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); overflow: hidden; border-radius: 16px; background: var(--panel); }
.solutions-page .plc-launch-visual { align-self: center; margin: 0; min-width: 0; }
.solutions-page .plc-launch-visual img { display: block; width: 100%; height: auto; }
.solutions-page .plc-launch-visual figcaption { padding: 12px 24px 0; color: var(--muted); font-size: 11px; }
.solutions-page .plc-launch-copy { align-self: center; min-width: 0; padding: clamp(32px, 4vw, 56px); }
.solutions-page .plc-launch-copy .section-label { margin-bottom: 28px; }
.solutions-page .plc-launch-copy h2 { font-size: clamp(40px, 4.5vw, 64px); line-height: 1.05; letter-spacing: -.045em; }
.solutions-page .plc-launch-description { max-width: 25ch; margin-top: 22px; font: 400 26px/1.3 Georgia, "Times New Roman", serif; letter-spacing: -.02em; }
.solutions-page .plc-launch-details { margin: 32px 0 28px; }
.solutions-page .plc-launch-details > div { display: grid; grid-template-columns: 62px minmax(0, 1fr); gap: 16px; align-items: baseline; padding-block: 13px; border-top: 1px solid #bdc3b3; }
.solutions-page .plc-launch-details > div:last-child { border-bottom: 1px solid #bdc3b3; }
.solutions-page .plc-launch-details dt { font-size: 11px; text-transform: uppercase; letter-spacing: .065em; }
.solutions-page .plc-launch-details dd { margin: 0; font-size: 15px; text-align: right; }
.solutions-page .plc-launch-invitation { max-width: 32ch; font-size: 15px; line-height: 1.5; }
.solutions-page .plc-register-link { margin-top: 20px; gap: 24px; }
.solutions-page .plc-register-link span { font-size: 20px; line-height: 1; }
.solutions-page .plc-registration-note { max-width: 35ch; margin-top: 12px; color: var(--muted); font-size: 12px; line-height: 1.5; }
.solutions-page .case-catalogue { padding-top: 12px; }
.solutions-page .catalogue-heading { display: grid; grid-template-columns: 1.2fr 1fr; align-items: start; gap: 40px; margin-bottom: 36px; }
.solutions-page .catalogue-heading h2 { font-size: 30px; line-height: 1.2; letter-spacing: -.035em; }
.solutions-page .catalogue-heading p { max-width: 49ch; color: var(--muted); font-size: 15px; }
.solutions-page .case-card-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 28px; }
.solutions-page .case-card { min-width: 0; display: flex; flex-direction: column; align-items: start; min-height: 560px; padding: 32px; background: var(--card); border-radius: 16px; scroll-margin-top: calc(var(--home-nav-height, 160px) + 24px); }
.solutions-page .case-card h3 { font: 500 25px/1.18 "IA Foundry Sans", sans-serif; letter-spacing: -.035em; text-wrap: balance; }
.solutions-page .case-card-summary { margin-top: 16px; margin-bottom: 64px; font: 400 23px/1.3 Georgia, "Times New Roman", serif; letter-spacing: -.02em; }
.solutions-page .case-card-meta { width: 100%; margin: auto 0 28px; font-size: 14px; }
.solutions-page .case-card-meta > div { display: grid; grid-template-columns: 60px minmax(0, 1fr); align-items: baseline; gap: 18px; padding-block: 13px; border-top: 1px solid var(--card-line); }
.solutions-page .case-card-meta > div:last-child { border-bottom: 1px solid var(--card-line); }
.solutions-page .case-card-meta dt { font-size: 11px; font-weight: 500; text-transform: uppercase; letter-spacing: .065em; }
.solutions-page .case-card-meta dd { margin: 0; text-align: right; line-height: 1.45; }
.solutions-page .case-card-kpis { margin: 0; padding: 0; list-style: none; }
.solutions-page .case-card-kpis li + li { margin-top: 7px; }
.solutions-page .case-card-link { gap: 22px; justify-content: space-between; padding-inline: 19px; }
.solutions-page .case-card-link span { transition: transform 180ms ease; }
.solutions-page .case-card-link:hover span { transform: translateX(3px); }
.solutions-page .case-card-link:active { transform: translateY(1px); }
.solutions-page .licensing { border-top: 1px solid var(--line); padding-top: 76px; }
.solutions-page .licensing .section-head { margin-bottom: 52px; }
.solutions-page .offering { grid-template-columns: 1fr 1fr; gap: 64px; }
.solutions-page .offer, .solutions-page .offer:first-child, .solutions-page .offer + .offer { padding: 28px 0 0; border: 0; border-top: 1px solid var(--line); background: none; }
.solutions-page .offer h3 { font: 400 30px/1.2 Georgia, "Times New Roman", serif; letter-spacing: -.03em; }
.solutions-page .offer p { font-size: 16px; }
.solutions-page .offer .offer-tag { display: inline-block; margin-left: 12px; font: 400 12px/1.4 "IA Foundry Sans", sans-serif; letter-spacing: 0; vertical-align: middle; }
.solutions-page .autonomy { max-width: none; padding-inline: max(var(--gutter), calc((100vw - 1296px) / 2)); grid-template-columns: 1fr 1fr; gap: 64px; color: var(--ink); background: var(--panel); }
.solutions-page .autonomy p { color: var(--muted); font-size: 16px; }
.solutions-page .autonomy .section-label { color: var(--ink); font-size: 13px; }
.solutions-page .autonomy a:focus-visible { outline-color: var(--ink); }
.solutions-page .value-measurement { border: 0; }
.solutions-page .value-measurement .section-head { max-width: 740px; margin-bottom: 48px; }
.solutions-page .value-measurement .section-status { font: 400 23px/1.45 Georgia, "Times New Roman", serif; color: var(--ink); margin-top: 24px; }
.solutions-page .value-grid { gap: 40px; }
.solutions-page .value-grid > article { border-top: 1px solid var(--line); padding-top: 24px; }
.solutions-page .value-grid h3 { font: 400 28px/1.2 Georgia, "Times New Roman", serif; letter-spacing: -.025em; }

/* Each card opens the full workflow and its existing KPI definitions. */
.use-case-page .case-heading { max-width: 1440px; margin-inline: auto; padding: 48px var(--gutter) 76px; }
.use-case-page .case-heading-grid { display: grid; grid-template-columns: 1.2fr 1fr; gap: 64px; margin-top: 52px; }
.use-case-page .case-heading h1 { font-size: clamp(44px, 5vw, 72px); letter-spacing: -.045em; line-height: 1.05; }
.use-case-page .case-promise { font: 400 27px/1.35 Georgia, "Times New Roman", serif; letter-spacing: -.02em; }
.use-case-page .case-audience { margin-top: 24px; color: var(--muted); font-size: 14px; }
.use-case-page .case-workflow { display: grid; grid-template-columns: 1.2fr 1fr; gap: 64px; padding-top: 0; padding-bottom: 72px; align-items: start; }
.use-case-page .case-workflow h2, .use-case-page .case-handoff h2 { font-size: 28px; line-height: 1.2; letter-spacing: -.03em; }
.use-case-page .case-workflow p { margin-top: 22px; color: var(--muted); font-size: 17px; }
.use-case-page .case-workflow .text-link { margin-top: 24px; }
.use-case-page .case-result { padding: 32px; border-radius: 12px; background: var(--panel); }
.use-case-page .case-result p { color: var(--ink); font: 400 23px/1.4 Georgia, "Times New Roman", serif; }
.use-case-page .case-handoff { display: grid; grid-template-columns: 1.2fr 1fr; gap: 64px; border-top: 1px solid var(--line); padding-block: 40px; }
.use-case-page .case-handoff p { color: var(--muted); }
.use-case-page .case-metrics { padding-top: 60px; }
.use-case-page .case-metrics h2 { font-size: 36px; margin-bottom: 36px; }
.use-case-page .kpi-list { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 32px 64px; }
.use-case-page .kpi-list > div { padding-top: 22px; }
.use-case-page .kpi-list dt { font-size: 18px; }
.use-case-page .kpi-list dd { font-size: 15px; }

@media (max-width: 1100px) {
  .solutions-page .case-card-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px; }
  .solutions-page .case-card { min-height: 520px; }
  .solutions-page .catalogue-heading { gap: 32px; }
  .solutions-page .catalogue-heading p { max-width: 40ch; }
}
@media (max-width: 800px) {
  .solutions-page .plc-launch-card { grid-template-columns: 1fr; }
  .solutions-page .plc-launch-copy { padding: 36px; }
}
@media (max-width: 700px) {
  .solutions-page .solutions-hero { padding-bottom: 60px; }
  .solutions-page .plc-launch-copy { padding: 28px; }
  .solutions-page .plc-launch-copy h2 { font-size: clamp(36px, 8vw, 52px); }
  .solutions-page .plc-launch-description { font-size: 24px; }
  .solutions-page .case-catalogue { padding-top: 0; }
  .solutions-page .catalogue-heading { display: block; margin-bottom: 28px; }
  .solutions-page .catalogue-heading h2 { font-size: 30px; }
  .solutions-page .catalogue-heading p { max-width: none; margin-top: 16px; }
  .solutions-page .case-card-grid { grid-template-columns: 1fr; gap: 20px; }
  .solutions-page .case-card { min-height: 0; padding: 28px; border-radius: 12px; }
  .solutions-page .case-card h3 { font-size: 26px; }
  .solutions-page .case-card-summary { margin-bottom: 44px; font-size: 23px; }
  .solutions-page .offering, .solutions-page .autonomy { grid-template-columns: 1fr; gap: 36px; }
  .solutions-page .licensing .section-head { margin-bottom: 36px; }
  .solutions-page .value-grid { gap: 30px; }
  .use-case-page .case-heading { padding-block: 32px 52px; }
  .use-case-page .case-heading-grid { grid-template-columns: 1fr; gap: 26px; margin-top: 36px; }
  .use-case-page .case-heading h1 { font-size: clamp(39px, 8.5vw, 57px); }
  .use-case-page .case-promise { font-size: 24px; }
  .use-case-page .case-workflow { grid-template-columns: 1fr; gap: 32px; padding-top: 0; padding-bottom: 48px; }
  .use-case-page .case-result { padding: 26px; }
  .use-case-page .case-handoff { grid-template-columns: 1fr; gap: 20px; padding-block: 32px; }
  .use-case-page .case-metrics { padding-top: 48px; }
  .use-case-page .kpi-list { grid-template-columns: 1fr; gap: 28px; }
}
@media (max-width: 359px) {
  .solutions-page .plc-launch-copy { padding: 24px; }
  .solutions-page .plc-launch-details > div { grid-template-columns: 50px minmax(0, 1fr); gap: 12px; }
  .solutions-page .plc-register-link { gap: 12px; padding-inline: 16px; }
  .solutions-page .case-card { padding: 24px; }
  .solutions-page .case-card-summary { font-size: 22px; }
  .solutions-page .case-card-meta > div { grid-template-columns: 48px minmax(0, 1fr); gap: 12px; }
}
