/* The inner-page system is scoped so accepted Home and map studies cannot drift. */
.detail-page {
  --detail-gap: var(--content-gap);
  --detail-space: clamp(64px, 6.3vw, 100px);
}
.detail-page .page-intro {
  padding-top: 56px;
  padding-bottom: 60px;
}
.detail-page .page-intro h1 {
  max-width: 1120px;
  font-size: clamp(42px, 4.3vw, 68px);
  line-height: 1.12;
  letter-spacing: -.048em;
  text-wrap: balance;
}
.detail-page .page-intro > p {
  max-width: 880px;
  font-size: clamp(18px, 1.5vw, 21px);
  line-height: 1.65;
  margin-top: 26px;
}
.detail-page .page-intro .actions { margin-top: 30px; }
.detail-page .back-link { margin-bottom: 26px; }
.detail-page .detail-demo {
  padding-top: 0;
  padding-bottom: var(--detail-space);
}
.detail-inner {
  width: var(--page);
  max-width: 1440px;
  margin-inline: auto;
}
.detail-chapter {
  padding-block: var(--detail-space);
  scroll-margin-top: 110px;
}
.detail-soft { background: #f4f4f1; }
.detail-introduction {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  column-gap: var(--detail-gap);
  align-items: start;
}
.detail-introduction h2,
.detail-questions h2 {
  font-size: clamp(30px, 2.8vw, 44px);
  line-height: 1.2;
  letter-spacing: -.04em;
  text-wrap: balance;
}
.detail-introduction p {
  font-size: 19px;
  line-height: 1.75;
  color: var(--muted);
  max-width: 660px;
}
.detail-introduction .text-link { margin-top: 22px; }
.detail-capabilities {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  column-gap: var(--detail-gap);
  margin-top: 50px;
}
.detail-capabilities article {
  padding: 27px 0 30px;
  border-top: 1px solid #d7d7d2;
}
.detail-capabilities h3 {
  font-size: 24px;
  line-height: 1.3;
  letter-spacing: -.025em;
  max-width: 560px;
}
.detail-capabilities p {
  font-size: 17px;
  line-height: 1.75;
  color: var(--muted);
  margin-top: 13px;
  max-width: 590px;
}
.detail-capabilities article:last-child:nth-child(odd) { grid-column: 1 / -1; display: grid; grid-template-columns: 1fr 1fr; gap: var(--detail-gap); }
.detail-capabilities article:last-child:nth-child(odd) p { margin-top: 0; }

/* One connected editorial story instead of another application mockup. */
.detail-visual-chapter .detail-introduction { align-items: center; }
.impact-story {
  margin: 40px 0 0;
  border: 1px solid #dededb;
  border-radius: 12px;
  background: #f5f5f3;
  overflow: clip;
}
.impact-story-main { margin: 0; display: grid; grid-template-columns: minmax(0, 1.4fr) minmax(0, 1fr); }
.impact-network {
  position: relative;
  min-width: 0;
  height: 400px;
  align-self: center;
  margin: 28px 26px;
}
.impact-connections { position: absolute; inset: 0; width: 100%; height: 100%; fill: none; }
.impact-connections path { vector-effect: non-scaling-stroke; stroke-width: 1.75; }
.impact-track { stroke: #d9d3e3; }
.impact-trace { stroke: #8951c4; stroke-dasharray: 1; stroke-dashoffset: 0; }
.impact-mobile { display: none; }
.impact-node {
  position: absolute;
  transform: translate(-50%, -50%);
  width: 28%;
  max-width: 170px;
  min-height: 80px;
  padding: 20px 10px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 10px;
  text-align: center;
  background: #fff;
  border: 1px solid #dededa;
  border-radius: 10px;
  box-shadow: 0 2px 3px #17171b05, 0 8px 20px #17171b05;
}
.impact-node strong { font-size: 18px; font-weight: 500; line-height: 1.3; }
.impact-node > span { font-size: 16px; line-height: 1.3; }
.impact-node > .icon { width: 28px; height: 28px; margin-bottom: 2px; }
.impact-source { left: 14%; top: 50%; background: #202125; border-color: #3f4046; color: #fff; }
.impact-source > span { color: #d9d7df; }
.impact-source > .icon { color: #c7aae8; }
.impact-primary { left: 50%; top: 23%; }
.impact-backup { left: 50%; top: 77%; }
.impact-business { left: 86%; top: 50%; border-color: #c9b6e2; }
.impact-business :is(.icon, span) { color: #6329a5; }
.impact-conclusion {
  padding: clamp(32px, 3.5vw, 52px);
  padding-left: clamp(24px, 2.5vw, 38px);
  display: flex;
  flex-direction: column;
  justify-content: center;
  border-left: 1px solid #e2e2df;
}
.impact-conclusion h3 { font-size: clamp(26px, 2.35vw, 34px); line-height: 1.24; letter-spacing: -.035em; text-wrap: balance; }
.impact-conclusion p { margin-top: 22px; font-size: 18px; line-height: 1.6; color: #69696e; }
.impact-conclusion .impact-decision { color: #28282d; }
.impact-conclusion .text-link { align-self: start; margin-top: 24px; font-size: 16px; }
.impact-evidence { border-top: 1px solid #dededb; background: #fff; }
.impact-evidence summary {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  min-height: 76px;
  padding: 22px 34px;
  list-style: none;
  font-size: 18px;
  line-height: 1.4;
  transition: background-color 180ms, color 180ms;
}
.impact-evidence summary::-webkit-details-marker { display: none; }
.impact-evidence summary:is(:hover, :focus-visible) { background: #faf8fc; color: #6329a5; }
.impact-evidence summary:focus-visible { outline-offset: -5px; }
.impact-evidence summary > .icon { flex: none; color: #763ac0; transition: transform 220ms; }
.impact-evidence[open] summary > .icon { transform: rotate(45deg); }
.impact-evidence-body { display: grid; grid-template-columns: minmax(0, 1.4fr) minmax(0, 1fr); padding: 8px 34px 32px; gap: 48px; }
.impact-records { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 28px; }
.impact-records > div { display: flex; gap: 14px; align-items: start; }
.impact-records > div > .icon { flex: none; color: #763ac0; margin-top: 2px; }
.impact-records h4 { font-size: 18px; line-height: 1.4; font-family: "IBM Plex Sans", sans-serif; font-weight: 600; }
.impact-records p, .impact-followup p { font-size: 16px; line-height: 1.6; color: #69696e; }
.impact-records p { margin-top: 8px; }
.impact-followup > a { display: flex; align-items: center; justify-content: space-between; gap: 16px; min-height: 44px; margin-top: 12px; font-size: 16px; line-height: 1.4; color: #6329a5; }
.impact-followup > a > .icon { flex: none; transition: transform 220ms; }
.impact-followup > a:is(:hover, :focus-visible) > .icon { transform: translateX(3px); }
@media (max-width: 1200px) {
  .impact-story-main { grid-template-columns: minmax(0, 1fr); }
  .impact-network { height: 340px; margin: 28px 32px; }
  .impact-conclusion { padding: 30px 34px; border-left: 0; border-top: 1px solid #dededb; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px 36px; }
  .impact-conclusion h3 { grid-row: span 2; font-size: 30px; }
  .impact-conclusion p { margin: 0; font-size: 17px; }
  .impact-conclusion .text-link { grid-column: 2; margin: 0; justify-self: start; }
  .impact-evidence-body { grid-template-columns: 1fr; gap: 26px; }
  .impact-followup { max-width: 640px; }
}
@media (max-width: 600px) {
  .impact-story { margin-top: 28px; }
  .impact-network { height: 450px; margin: 20px 18px; }
  .impact-desktop { display: none; }
  .impact-mobile { display: block; }
  .impact-node { width: 44%; max-width: 160px; padding: 16px 10px; gap: 6px; }
  .impact-node strong { font-size: 17px; }
  .impact-node > span { font-size: 16px; }
  .impact-node > .icon { width: 24px; height: 24px; }
  .impact-source { left: 50%; top: calc(75 / 450 * 100%); width: 62%; }
  .impact-primary { left: calc(78 / 320 * 100%); top: 50%; }
  .impact-backup { left: calc(242 / 320 * 100%); top: 50%; }
  .impact-business { left: 50%; top: calc(375 / 450 * 100%); width: 62%; }
  .impact-conclusion { display: flex; gap: 0; padding: 28px 24px 30px; }
  .impact-conclusion h3 { font-size: 28px; }
  .impact-conclusion p { margin-top: 18px; }
  .impact-conclusion .text-link { margin-top: 20px; }
  .impact-evidence summary { padding: 20px 24px; font-size: 17px; gap: 20px; }
  .impact-evidence-body { padding: 6px 24px 28px; }
  .impact-records { grid-template-columns: 1fr; gap: 24px; }
}
@media (prefers-reduced-motion: reduce) {
  .impact-story *, .impact-story *::before, .impact-story *::after { transition: none !important; }
}
.detail-questions .detail-inner {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  gap: var(--detail-gap);
}
.detail-questions .faq-list { width: 100%; max-width: none; margin: 0; }
.detail-questions .faq-list summary {
  font-size: 20px;
  line-height: 1.5;
  padding: 23px 0;
}
.detail-questions .faq-list details:first-child summary { padding-top: 4px; }
.detail-questions .faq-list p {
  font-size: 17px;
  line-height: 1.75;
  max-width: 680px;
}
.detail-next { padding-top: 0; }
.detail-demo + .detail-chapter:not(.detail-soft),
.detail-page .orbital-story + .detail-chapter:not(.detail-soft) { padding-top: 0; }
.detail-platform-overview .detail-next { padding-top: var(--detail-space); }
.detail-platform-overview .detail-demo + .detail-next { padding-top: 0; }
.detail-solutions-overview .detail-next { padding-top: var(--detail-space); }
.platform-experience-pages .detail-destinations { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.detail-destinations {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--detail-gap);
  margin-top: 35px;
}
.detail-destinations > a {
  display: flex;
  justify-content: space-between;
  gap: 22px;
  align-items: start;
  padding-block: 27px;
  border-top: 1px solid var(--line);
}
.detail-destinations h3 { font-size: 26px; line-height: 1.35; }
.detail-destinations p { margin-top: 10px; font-size: 17px; line-height: 1.7; color: var(--muted); max-width: 520px; }
.detail-destinations > a > .icon { flex: none; color: var(--purple); margin-top: 5px; transition: transform .18s; }
.detail-destinations > a:hover h3 { color: var(--purple); }
.detail-destinations > a:hover > .icon { transform: translateX(4px); }
.detail-page .solution-case { margin-top: 0; }
.detail-page .case-title h2 { font-size: clamp(28px, 2.6vw, 40px); }
.detail-page .case-title > p { font-size: 18px; }
.detail-page .case-path h3 { font-size: 22px; }
.detail-page .case-path span { font-size: 16px; color: var(--purple); }
.detail-page .solution-feed-link { gap: var(--detail-gap); }
.detail-page .solution-feed-link h2 { font-size: clamp(30px, 2.8vw, 44px); line-height: 1.2; letter-spacing: -.04em; }
.detail-page .brief-example { padding: clamp(26px, 3.2vw, 48px); }
.detail-page .brief-example h3 { margin-top: 0; font-size: 28px; }
.detail-page .brief-example p { font-size: 17px; }
.detail-page .brief-example .text-link { font-size: 16px; }
.detail-output-link { margin-top: 28px; }
.detail-page .closing { margin-top: 0; }
.detail-page .detail-soft + .closing { margin-top: var(--detail-space); }
.detail-introduction + .solution-grid { margin-top: 48px; column-gap: var(--detail-gap); }
.detail-page .platform-pages { margin-top: 38px; }
.detail-page .platform-overview { gap: 0; align-items: stretch; }
.detail-page .platform-flow { padding-block: 0; }
.detail-page .platform-flow h3 { font-size: 24px; }
.detail-page .platform-flow p { font-size: 17px; }
.detail-page .platform-world { min-height: 470px; }
.detail-page .platform-world h2 { font-size: clamp(32px, 3vw, 44px); }
.detail-page .platform-world p { font-size: 19px; line-height: 1.6; }
.detail-page .platform-world img { height: 58%; object-position: center top; }
.detail-page .platform-world :is(h2, p, .text-link) { position: relative; }
.detail-page .platform-overview { border-radius: 12px; }
.detail-page :is(.detail-introduction, .detail-capabilities, .detail-destinations) p { text-wrap: pretty; }
.detail-page .orbital-story { margin-bottom: var(--detail-space); }
.detail-page .feed-demo,
.detail-page .assessment-demo,
.detail-page .context-demo { box-shadow: 0 18px 60px #16151c08; }
.detail-page .product-bar > .preview-note { font-size: 13px; }
.detail-page .finding-meta { font-size: 13px; }
.detail-page .feed-item p { font-size: 17px; }
.detail-page .feed-item h4 { font-size: 26px; }
.detail-page .feed-item .text-link { font-size: 15px; }
.detail-page .feed-item-bottom > span { font-size: 13px; }
.detail-page .feed-sidebar > button { font-size: 15px; }
.detail-page .feed-sidebar > span,
.detail-page .feed-watch > span,
.detail-page .feed-watch p { font-size: 13px; }
.detail-page .alert-preview strong { font-size: 19px; }
.detail-page .alert-preview p { font-size: 16px; }
.detail-page .report-lead { font-size: 18px; }
.detail-page .report-columns h4 { font-size: 17px; }
.detail-page .report-columns p { font-size: 17px; }
.relationship-figure { margin: 0; background: #191a1e; color: #fff; border: 1px solid #323238; border-radius: 6px; overflow: hidden; }
.relationship-network { height: 400px; position: relative; margin: 25px 20px 26px; }
.relationship-lines { position: absolute; inset: 0; width: 100%; height: 100%; fill: none; stroke: #a28ac3; stroke-width: 1.5; }
.relationship-mobile { display: none; }
.relationship-node { position: absolute; transform: translate(-50%, -6px); display: flex; flex-direction: column; align-items: center; gap: 8px; width: 215px; text-align: center; }
.relationship-node strong { font-family: "Readex Pro", sans-serif; font-size: 21px; font-weight: 400; background: #191a1e; padding: 2px 10px; line-height: 1.4; }
.relationship-node > span:last-child { font-size: 15px; color: #bdbbc6; background: #191a1e; padding: 1px 8px; }
.relationship-point { display: block; width: 13px; height: 13px; border: 3px solid #191a1e; outline: 1px solid #c6a5fa; background: #c6a5fa; border-radius: 50%; margin-bottom: 7px; }
.relationship-origin { left: 17%; top: 43.75%; }
.relationship-primary { left: 50%; top: 21%; }
.relationship-backup { left: 50%; top: 66.5%; }
.relationship-business { left: 83%; top: 43.75%; }
.relationship-figure figcaption { display: grid; grid-template-columns: 1fr 1fr; gap: var(--detail-gap); border-top: 1px solid #38383e; padding: 32px 42px; align-items: center; }
.relationship-figure figcaption h2 { font-size: 29px; line-height: 1.3; }
.relationship-figure figcaption p { font-size: 17px; color: #c3c1ca; line-height: 1.7; }
.briefing-preview { margin: 0; padding: clamp(20px, 4vw, 60px); background: #f4f4f1; border-radius: 6px; }
.briefing-document { max-width: 1160px; margin-inline: auto; padding: clamp(26px, 4vw, 64px); background: #fff; border: 1px solid #deded9; box-shadow: 0 12px 35px #15151a07; }
.briefing-document-header { display: flex; align-items: center; justify-content: space-between; gap: 24px; padding-bottom: 28px; border-bottom: 1px solid var(--line); }
.briefing-document-header img { width: 200px; height: auto; }
.briefing-document-header > span { font-size: 16px; color: var(--muted); }
.briefing-document > h3 { max-width: 740px; margin-top: 35px; font-size: clamp(29px, 3vw, 42px); line-height: 1.22; letter-spacing: -.04em; text-wrap: balance; }
.briefing-summary { max-width: 740px; margin-top: 22px; font-size: 19px; line-height: 1.7; color: var(--muted); }
.briefing-findings { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 44px; margin-top: 36px; }
.briefing-findings > section { border-top: 1px solid var(--line); padding-top: 25px; }
.briefing-findings h4 { font-size: 24px; line-height: 1.35; letter-spacing: -.025em; }
.briefing-findings p { font-size: 17px; line-height: 1.7; color: var(--muted); margin-top: 18px; }
.briefing-findings .briefing-implication { color: var(--ink); }
.briefing-findings .text-link { font-size: 16px; margin-top: 24px; }
.briefing-preview figcaption { max-width: 1160px; margin: 22px auto 0; color: var(--muted); font-size: 16px; line-height: 1.6; }
@media (max-width: 900px) {
  .briefing-findings { gap: 28px; }
}
@media (max-width: 700px) {
  .briefing-preview { padding: 20px 14px; }
  .briefing-document { padding: 26px 22px; }
  .briefing-document-header { flex-direction: column; align-items: start; gap: 18px; padding-bottom: 22px; }
  .briefing-document-header img { width: 180px; max-width: 100%; }
  .briefing-document > h3 { margin-top: 26px; font-size: 29px; }
  .briefing-summary { font-size: 17px; }
  .briefing-findings { grid-template-columns: 1fr; margin-top: 26px; }
  .briefing-findings h4 { font-size: 23px; }
  .briefing-findings p { font-size: 16px; }
}
@media (max-width: 900px) {
  .platform-experience-pages .detail-destinations { grid-template-columns: 1fr; gap: 0; }
  .detail-introduction,
  .detail-questions .detail-inner { grid-template-columns: 1fr; gap: 25px; }
  .detail-introduction h2 { max-width: 690px; }
  .detail-introduction p { max-width: 760px; }
  .detail-page .platform-world { min-height: 410px; }
  .relationship-node { width: 180px; }
  .relationship-node strong { font-size: 18px; }
  .relationship-node > span:last-child { font-size: 13px; }
}
@media (max-width: 650px) {
  .detail-page { --detail-gap: 26px; --detail-space: 56px; }
  .detail-page .page-intro { padding-top: 30px; padding-bottom: 38px; }
  .detail-page .page-intro h1 { font-size: clamp(35px, 8.3vw, 49px); line-height: 1.16; }
  .detail-page .page-intro > p { font-size: 18px; }
  .detail-page .back-link { font-size: 14px; margin-bottom: 23px; }
  .detail-introduction h2,
  .detail-questions h2,
  .detail-page .solution-feed-link h2 { font-size: 30px; }
  .detail-introduction p { font-size: 18px; line-height: 1.7; }
  .detail-capabilities,
  .detail-destinations { grid-template-columns: 1fr; margin-top: 32px; gap: 0; }
  .detail-introduction + .solution-grid { margin-top: 32px; }
  .detail-capabilities h3 { font-size: 23px; }
  .detail-capabilities article { padding-block: 24px; }
  .detail-capabilities article:last-child:nth-child(odd) { display: block; }
  .detail-capabilities article:last-child:nth-child(odd) p { margin-top: 13px; }
  .detail-questions .faq-list summary { font-size: 19px; gap: 18px; }
  .detail-page .case-title h2 { font-size: 28px; }
  .detail-page .case-title > p,
  .detail-page .case-path h3 { font-size: 18px; }
  .detail-page .feed-item h4 { font-size: 23px; }
  .detail-page .feed-item p,
  .detail-page .report-columns p { font-size: 16px; }
  .detail-page .brief-example h3 { font-size: 25px; }
  .detail-page .feed-item-bottom { align-items: start; }
  .detail-page .product-bar { flex-wrap: wrap; gap: 8px; }
  .detail-page .product-bar > .preview-note { margin-left: 0; }
  .relationship-network { height: 470px; margin: 15px 0 24px; }
  .relationship-desktop { display: none; }
  .relationship-mobile { display: block; }
  .relationship-node { width: 46%; gap: 5px; }
  .relationship-node strong { font-size: 17px; padding-inline: 4px; }
  .relationship-node > span:last-child { font-size: 13px; padding-inline: 4px; }
  .relationship-origin { left: 50%; top: 15%; width: 80%; }
  .relationship-primary { left: 24%; top: 49%; }
  .relationship-backup { left: 76%; top: 49%; }
  .relationship-business { left: 50%; top: 80%; width: 80%; }
  .relationship-figure figcaption { grid-template-columns: 1fr; padding: 28px 24px; gap: 15px; }
  .relationship-figure figcaption h2 { font-size: 26px; }
}
@media (prefers-reduced-motion: reduce) {
  .detail-destinations > a > .icon { transition: none; }
}
@media (forced-colors: active) {
  .relationship-figure { background: Canvas; color: CanvasText; border-color: CanvasText; }
  .relationship-node strong,
  .relationship-node > span:last-child { background: Canvas; color: CanvasText; }
  .relationship-lines { stroke: CanvasText; }
  .relationship-point { background: Highlight; outline-color: CanvasText; }
}

/* Solution pages: one visual assessment, then a calm editorial capability read. */
.detail-solutions-overview .solution-grid { grid-template-columns: 1fr; border: 1px solid #dededb; border-radius: 10px; overflow: hidden; background: #f5f5f2; }
.detail-solutions-overview .solution-link { padding: 30px 36px; gap: 26px; border-top-color: #dededb; transition: background-color 180ms; }
.detail-solutions-overview .solution-link:first-child { border-top: 0; }
.detail-solutions-overview .solution-link:nth-child(even) { background: #fbfbf9; }
.detail-solutions-overview .solution-link > div { flex: 1; display: grid; grid-template-columns: minmax(0, .85fr) minmax(0, 1.15fr); gap: 40px; align-items: center; }
.detail-solutions-overview .solution-link h3 { font-size: 28px; }
.detail-solutions-overview .solution-link p { font-size: 18px; line-height: 1.6; margin: 0; max-width: 600px; }
.detail-solutions-overview .solution-link > .icon:first-child { width: 30px; height: 30px; color: #71637e; flex: none; }
.detail-solutions-overview .solution-link > .icon:last-child { width: 24px; color: #7b43b1; flex: none; }
.detail-solutions-overview .solution-link:is(:hover, :focus-visible) { background: #efebf4; }
.detail-solutions-overview .solution-link:focus-visible { outline-offset: -4px; }
.detail-solution .page-intro {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  column-gap: var(--detail-gap);
  padding-block: 56px 64px;
}
.detail-solution .page-intro .back-link { grid-column: 1 / -1; }
.detail-solution .page-intro h1 { grid-row: 2 / 4; font-size: clamp(42px, 4.1vw, 64px); max-width: 740px; text-wrap: pretty; }
.detail-solution .page-intro > p { margin: 4px 0 0; font-size: 20px; line-height: 1.6; }
.detail-solution .page-intro .actions { grid-column: 2; margin-top: 26px; gap: 24px; align-self: end; }
.detail-solution .solution-case { grid-template-columns: minmax(0, .85fr) minmax(0, 1.15fr); border-radius: 10px; }
.detail-solution .case-title { padding: clamp(32px, 3.4vw, 52px); display: flex; flex-direction: column; justify-content: center; }
.detail-solution .case-title h2 { font-size: clamp(30px, 2.8vw, 42px); line-height: 1.22; text-wrap: pretty; }
.detail-solution .case-title > p { font-size: 18px; line-height: 1.7; margin-top: 24px; }
.detail-solution .case-title .text-link { margin-top: 32px; align-self: start; font-size: 16px; gap: 22px; }
.solution-case-visual { min-width: 0; background: #fff; border-left: 1px solid #dededb; }
.solution-diagram { position: relative; height: 360px; margin: 24px 22px 8px; }
.solution-lines, .solution-terrain { position: absolute; inset: 0; width: 100%; height: 100%; fill: none; }
.solution-lines { stroke: #9463bd; stroke-width: 1.5; }
.solution-lines path { vector-effect: non-scaling-stroke; }
.solution-lines-mobile { display: none; }
.solution-node { position: absolute; top: var(--node-y); left: var(--node-x); transform: translate(-50%, -50%); width: 29%; max-width: 178px; padding: 22px 8px; border-radius: 8px; background: #f5f5f3; border: 1px solid #dcdcd8; text-align: center; box-shadow: 0 2px 3px #1d182304, 0 6px 16px #1d182306; }
.solution-node strong { display: block; font-family: "IBM Plex Sans", sans-serif; font-size: 18px; line-height: 1.25; font-weight: 600; }
.solution-node > span:last-child { display: block; margin-top: 8px; font-size: 16px; line-height: 1.3; color: #6a646f; }
.solution-node-origin { background: #222326; border-color: #222326; color: #fff; }
.solution-node-origin > span:last-child { color: #dbcaef; }
.solution-terrain { stroke: #e3e1e6; stroke-width: 1; }
.solution-terrain .solution-hazard { fill: #f0eaf5; stroke: #c1accf; stroke-dasharray: 4 5; }
.solution-footprint .solution-node:not(.solution-node-origin) { background: #fff; }
.solution-case-alert { padding: 24px 32px 28px; border-top: 1px solid #e4e1e8; background: #faf8fc; }
.solution-case-alert > span { display: flex; align-items: center; gap: 12px; color: #693695; font-size: 16px; }
.solution-case-alert h3 { margin-top: 12px; font-family: "IBM Plex Sans", sans-serif; font-size: 22px; line-height: 1.45; font-weight: 500; letter-spacing: -.01em; }
.solution-case-evidence { border-top: 1px solid #e4e1e8; }
.solution-case-evidence summary { display: flex; align-items: center; justify-content: space-between; gap: 16px; min-height: 60px; padding: 18px 32px; font-size: 16px; cursor: pointer; list-style: none; transition: color 180ms, background-color 180ms; }
.solution-case-evidence summary::-webkit-details-marker { display: none; }
.solution-case-evidence summary > .icon { flex: none; color: #713bab; transition: transform 220ms; }
.solution-case-evidence[open] summary > .icon { transform: rotate(45deg); }
.solution-case-evidence summary:is(:hover, :focus-visible) { color: #6329a5; background: #f8f6fa; }
.solution-case-evidence summary:focus-visible { outline-offset: -4px; }
.solution-case-evidence > div { padding: 0 32px 26px; }
.solution-case-evidence p { font-size: 17px; line-height: 1.65; color: #69696e; }
.solution-case-evidence p + p { margin-top: 14px; }
.solution-coverage .detail-inner { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: var(--detail-gap); }
.solution-coverage .detail-introduction { display: block; position: sticky; top: 130px; align-self: start; }
.solution-coverage .detail-introduction h2 { font-size: clamp(30px, 2.8vw, 42px); text-wrap: pretty; }
.solution-coverage .detail-introduction p { margin-top: 24px; font-size: 18px; line-height: 1.7; }
.solution-coverage .detail-capabilities { display: block; margin: 0; }
.solution-coverage .detail-capabilities article { padding: 24px 0 28px; }
.solution-coverage .detail-capabilities article:first-child { padding-top: 0; border-top: 0; }
.solution-coverage .detail-capabilities article:last-child { padding-bottom: 0; }
.solution-coverage .detail-capabilities h3 { font-size: 25px; max-width: none; }
.solution-coverage .detail-capabilities p { max-width: none; font-size: 18px; line-height: 1.65; }
.detail-solution .solution-updates .solution-feed-link { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }
.detail-solution .solution-updates .product-preview.brief-example { padding: 0; border-color: #dad4e2; box-shadow: 0 2px 4px #25202904, 0 18px 44px -18px #25202920; }
.solution-update-header { display: flex; align-items: center; gap: 12px; padding: 21px 30px; border-bottom: 1px solid #e6e2eb; font-size: 17px; }
.solution-update-header .icon { color: #7c3cbd; }
.solution-update-history { position: relative; padding: 24px 30px 0 55px; }
.solution-updates .solution-update-history p { margin: 0; font-size: 16px; color: #77717c; line-height: 1.5; }
.solution-history-dot { position: absolute; left: 32px; top: 31px; width: 7px; height: 7px; border: 1px solid #a999bc; border-radius: 50%; }
.solution-update-history::after { content: ""; position: absolute; left: 35px; top: 44px; bottom: -15px; border-left: 1px solid #e0d7e9; }
.solution-update-latest { padding: 22px 30px 30px; }
.detail-solution .solution-update-latest h3 { font-size: 27px; line-height: 1.25; letter-spacing: -.025em; }
.solution-updates .solution-update-latest p { margin-top: 16px; font-size: 18px; line-height: 1.6; }
.solution-update-decision { padding: 22px 30px; background: #f8f5fc; border-top: 1px solid #e6e2eb; }
.solution-updates .solution-update-decision p { margin: 0; font-size: 17px; line-height: 1.5; color: #473657; }
.solution-recovery { border-top: 1px solid #e6e2eb; padding: 26px 30px 30px; }
.solution-recovery .text-link { margin-top: 20px; }
.detail-solution .detail-questions { padding-bottom: 64px; }
.detail-solution .detail-next { padding-top: 36px; }
.detail-solution .detail-destinations { gap: var(--detail-gap); }
.detail-solution .detail-destinations > a { border: 1px solid #e1dfda; background: #f6f6f3; border-radius: 8px; padding: 28px; transition: border-color 180ms, background-color 180ms; }
.detail-solution .detail-destinations > a:is(:hover, :focus-visible) { border-color: #bda2d8; background: #f8f6fa; }

@media (max-width: 1100px) {
  .detail-solution .page-intro { grid-template-columns: 1fr; padding-bottom: 46px; }
  .detail-solution .page-intro h1 { grid-row: auto; font-size: 54px; max-width: 850px; }
  .detail-solution .page-intro > p { margin-top: 26px; }
  .detail-solution .page-intro .actions { grid-column: 1; }
  .detail-solution .solution-case { grid-template-columns: 1fr; }
  .detail-solution .case-title { padding: 36px; }
  .detail-solution .case-title h2 { max-width: 700px; }
  .detail-solution .case-title > p { max-width: 740px; }
  .solution-case-visual { border-left: 0; border-top: 1px solid #dededb; }
  .solution-diagram { max-width: 780px; margin-inline: auto; width: calc(100% - 48px); }
  .solution-coverage .detail-inner { grid-template-columns: 1fr; gap: 40px; }
  .solution-coverage .detail-introduction { position: static; max-width: 840px; }
  .solution-coverage .detail-capabilities { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 40px; }
  .solution-coverage .detail-capabilities article { border-top: 1px solid #d7d7d2; }
  .solution-coverage .detail-capabilities article:first-child { padding-top: 24px; border-top: 1px solid #d7d7d2; }
  .detail-solution .solution-updates .solution-feed-link { grid-template-columns: 1fr; gap: 32px; }
  .solution-updates .solution-feed-link > div > p { max-width: 720px; }
}
@media (max-width: 767px) {
  .detail-solutions-overview .solution-link { padding: 24px 20px; gap: 18px; align-items: start; }
  .detail-solutions-overview .solution-link > div { display: block; }
  .detail-solutions-overview .solution-link h3 { font-size: 23px; }
  .detail-solutions-overview .solution-link p { font-size: 17px; margin-top: 12px; }
  .detail-solutions-overview .solution-link > .icon:first-child { display: none; }
  .detail-solutions-overview .solution-link > .icon:last-child { margin-top: 3px; }
  .detail-solution .page-intro { padding-block: 30px 36px; }
  .detail-solution .page-intro h1 { font-size: clamp(35px, 8.3vw, 49px); }
  .detail-solution .page-intro > p { font-size: 18px; margin-top: 22px; }
  .detail-solution .page-intro .actions { gap: 16px; }
  .detail-solution .case-title { padding: 28px 24px; }
  .detail-solution .case-title h2 { font-size: 29px; }
  .detail-solution .case-title > p { font-size: 17px; margin-top: 18px; }
  .detail-solution .case-title .text-link { margin-top: 24px; }
  .solution-diagram { height: 440px; width: calc(100% - 28px); margin-block: 20px; }
  .solution-lines-desktop { display: none; }
  .solution-lines-mobile { display: block; }
  .solution-node { left: var(--mobile-x); top: var(--mobile-y); width: 46%; padding: 14px 6px; }
  .solution-node:first-of-type, .solution-node:last-of-type { width: 62%; }
  .solution-node strong { font-size: 16px; }
  .solution-node > span:last-child { font-size: 16px; margin-top: 6px; }
  .solution-case-alert { padding: 24px; }
  .solution-case-alert h3 { font-size: 21px; }
  .solution-case-evidence summary { padding-inline: 24px; }
  .solution-case-evidence > div { padding-inline: 24px; }
  .solution-coverage .detail-inner { gap: 28px; }
  .solution-coverage .detail-capabilities { display: block; }
  .solution-coverage .detail-capabilities h3 { font-size: 23px; }
  .solution-coverage .detail-capabilities p { font-size: 17px; }
  .solution-update-header { padding: 20px 24px; }
  .solution-update-history { padding: 22px 24px 0 47px; }
  .solution-history-dot { left: 25px; top: 29px; }
  .solution-update-history::after { left: 28px; }
  .solution-update-latest { padding: 22px 24px 26px; }
  .detail-solution .solution-update-latest h3 { font-size: 25px; }
  .solution-update-latest p { font-size: 17px; }
  .solution-update-decision { padding: 22px 24px; }
  .solution-recovery { padding: 24px; }
  .detail-solution .detail-next { padding-top: 0; }
  .detail-solution .detail-destinations > a { padding: 24px; }
}
@media (prefers-reduced-motion: reduce) {
  .solution-case-evidence *, .detail-solution .detail-destinations > a, .detail-solutions-overview .solution-link { transition: none !important; }
}
@media (forced-colors: active) {
  .solution-lines { stroke: CanvasText; }
  .solution-node, .solution-node-origin { background: Canvas; color: CanvasText; border-color: CanvasText; }
  .solution-node > span:last-child { color: CanvasText; }
}
