/* Editorial consolidation and the Approach decision-coordination diagram. */
[id] { scroll-margin-top: calc(var(--header) + 24px); }
.inline-link { color: var(--blue-500); text-decoration: underline; text-underline-offset: .2em; }
.inline-link:hover { color: var(--blue-600-hover); }
.context-links { display: flex; flex-wrap: wrap; gap: 16px 36px; margin-top: 32px; }
.case-heading-link:hover { color: var(--blue-500); text-decoration: underline; text-underline-offset: .16em; }
.case-heading-link > span { color: var(--blue-500); white-space: nowrap; }

/* A short, navigable engagement overview replaces a second long visual story. */
.engagement-overview .section-heading { margin-bottom: 40px; }
.engagement-links { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); list-style: none; margin: 0 0 36px; padding: 0; border-top: 1px solid var(--line-dark); }
.engagement-links li { border-bottom: 1px solid var(--line-dark); }
.engagement-links a { display: flex; flex-direction: column; height: 100%; padding: 24px 24px 24px 0; }
.engagement-links a:hover strong { color: var(--green-300); }
.engagement-links a > span { font: 12px var(--label); color: var(--green-300); margin-bottom: 16px; }
.engagement-links strong { font: 600 20px/1.25 var(--display); }
.engagement-links small { font-size: 14px; color: rgba(255,255,255,.76); margin-top: auto; padding-top: 12px; }
.engagement-links small span { color: var(--green-300); }

/* Decisions and the evidence behind them are read together. */
.decision-headings, .decision-deliverables article { display: grid; grid-template-columns: minmax(0, .85fr) minmax(0, 1.5fr); gap: 56px; }
.decision-headings { padding-bottom: 20px; color: var(--blue-700); font: 600 12px/1.4 var(--label); letter-spacing: .08em; text-transform: uppercase; }
.decision-deliverables article { border-top: 1px solid var(--line); padding: 28px 0; }
.decision-deliverables h3 { margin: 0; font-size: 23px; }
.decision-deliverables p { margin: 0; font-size: 18px; color: var(--slate-700); }
.scope-note { margin: 24px 0; padding-top: 28px; border-top: 1px solid var(--line); max-width: 880px; color: var(--slate-700); font-size: 17px; }

/* HTML labels remain readable at every viewport; SVG is only used for geometry. */
.coord-symbols { position: absolute; width: 0; height: 0; overflow: hidden; }
.coordination-diagram { margin: 32px 0 0; }
.coord-comparison { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 32px; }
.coord-panel { position: relative; padding: 32px; border: 1px solid var(--line); border-radius: 8px; background: var(--surface-subtle); }
.coord-panel-heading { min-height: 88px; }
.coord-panel-heading h3 { margin: 14px 0 28px; font-size: 25px; }
.coord-fragmented .section-index { color: var(--slate-700); }
.coord-nodes { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; }
.coord-node { display: flex; flex-direction: column; align-items: center; justify-content: center; min-height: 90px; padding: 12px 4px; border: 1px solid var(--slate-300); border-radius: 4px; color: var(--slate-700); background: var(--white); }
.coord-node svg { width: 36px; height: 36px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.coord-node span { margin-top: 9px; font-size: 14px; font-weight: 500; }
.coord-bus { display: block; width: 100%; height: 32px; fill: none; stroke: var(--slate-600); stroke-width: 1.5; }
.coord-bus-bottom { transform: scaleY(-1); }
.coord-center { min-height: 74px; display: flex; flex-direction: column; align-items: center; justify-content: center; text-align: center; padding: 12px; color: var(--slate-700); }
.coord-center span { font-size: 14px; }
.coord-connected { border-color: #a9cdbd; background: #f1f7f4; }
.coord-connected .section-index { color: var(--green-700); }
.coord-connected .coord-node { border-color: #a9cdbd; color: var(--green-700); }
.coord-connected .coord-node span { color: var(--slate-900); }
.coord-connected .coord-bus, .coord-deploy-bus { stroke: var(--green-700); }
.coord-connected .coord-center { position: relative; z-index: 1; background: var(--slate-950); color: var(--white); border-radius: 4px; }
.coord-center strong { font: 600 20px/1.3 var(--display); }
.coord-connected .coord-center span { margin-top: 4px; color: var(--green-300); }
.coord-outcome { margin-top: 0; }
.coord-deploy-bus { width: 100%; height: 40px; fill: none; stroke-width: 1.5; }
.coord-project-stubs { display: grid; grid-template-columns: repeat(3, 1fr); height: 40px; justify-items: center; }
.coord-project-stubs i { border-left: 1.5px dashed var(--slate-600); height: 24px; margin-top: 8px; }
.coord-buildings { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); justify-items: center; gap: 12px; }
.coord-buildings svg { width: 96px; height: 64px; stroke: var(--slate-600); fill: none; stroke-width: 1.5; stroke-linecap: round; stroke-linejoin: round; }
.coord-connected .coord-buildings svg { color: var(--green-700); stroke: currentColor; fill: rgba(43,186,126,.07); }
.coord-outcome p { margin: 14px 0 0; text-align: center; font-size: 15px; font-weight: 500; }
.coord-feedback { display: flex; align-items: center; justify-content: center; gap: 8px; margin-top: 20px; padding-top: 16px; border-top: 1px solid #a9cdbd; color: var(--green-700); font-size: 13px; }
.coord-feedback svg { width: 34px; height: 22px; flex: 0 0 auto; fill: none; stroke: currentColor; stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; }
.coordination-diagram figcaption { margin: 24px auto 0; max-width: 850px; text-align: center; color: var(--slate-700); font-size: 16px; }

@media (min-width: 601px) and (max-width: 1000px) {
  .evidence-card { grid-template-columns: minmax(0, 1fr); gap: 24px; }
}

@media (max-width: 1000px) {
  .coord-comparison { gap: 20px; }
  .coord-panel { padding: 22px; }
  .coord-nodes { gap: 8px; }
  .coord-node span { font-size: 12px; }
  .coord-center strong { font-size: 18px; }
  .coord-panel-heading h3 { font-size: 22px; }
  .engagement-links { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 760px) {
  .coord-comparison { grid-template-columns: 1fr; gap: 24px; }
  .coord-node span { font-size: 14px; }
  .coord-panel-heading { min-height: 0; }
  .coord-panel-heading h3 { font-size: 25px; }
  .coordination-diagram { margin-top: 16px; }
  .decision-headings { display: none; }
  .decision-deliverables article { grid-template-columns: 1fr; gap: 12px; padding: 24px 0; }
  .decision-deliverables h3 { font-size: 22px; }
  .decision-deliverables p { font-size: 17px; }
}
@media (max-width: 420px) {
  .coord-panel { padding: 20px 14px; }
  .coord-nodes { gap: 6px; }
  .coord-node span { font-size: 12px; }
  .coord-center strong { font-size: 17px; }
  .coord-center span { font-size: 12px; }
  .coord-feedback { font-size: 12px; gap: 4px; }
  .engagement-links { grid-template-columns: 1fr; }
  .engagement-links a { padding: 20px 0; }
  .engagement-links a > span { margin-bottom: 10px; }
}

/* IC business building: demand-led venture creation. */
.business-hero h1 { max-width: 1060px; }
.business-hero .page-hero-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 24px; }
.business-hero-link { color: var(--white); }
.business-hero-link:hover { color: var(--green-300); }
.business-benefit-strip { display: grid; grid-template-columns: repeat(4, 1fr); margin-top: 52px; border-top: 1px solid rgba(255,255,255,.2); border-left: 1px solid rgba(255,255,255,.2); }
.business-benefit-strip > div { min-height: 118px; display: flex; flex-direction: column; justify-content: center; padding: 18px; border-right: 1px solid rgba(255,255,255,.2); border-bottom: 1px solid rgba(255,255,255,.2); }
.business-benefit-strip strong { color: var(--green-300); font: 600 17px/1.25 var(--display); }
.business-benefit-strip span { margin-top: 8px; color: rgba(255,255,255,.68); font-size: 12px; line-height: 1.4; }
.business-positions { background: var(--white); }
.business-position-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 16px; }
.business-position-grid article { min-height: 350px; display: flex; flex-direction: column; padding: clamp(26px, 3vw, 38px); border: 1px solid var(--line); border-radius: var(--radius-card); background: linear-gradient(145deg, var(--white), #f6faf8); box-shadow: var(--shadow-sm); transition: border-color 220ms var(--ease), transform 220ms var(--ease), box-shadow 220ms var(--ease); }
.business-position-grid article:hover { border-color: #9bcab4; transform: translateY(-4px); box-shadow: var(--shadow-md); }
.business-position-grid .kicker { color: var(--green-700); }
.business-position-grid h3 { max-width: 470px; margin: 42px 0 18px; font-size: clamp(25px, 2.5vw, 32px); }
.business-position-grid article > p:not(.kicker) { max-width: 520px; color: var(--slate-700); font-size: 16px; }
.business-position-grid article > div { margin-top: auto; padding-top: 20px; border-top: 1px solid var(--line); }
.business-position-grid article > div span { display: block; color: var(--blue-500); font: 600 9px/1.4 var(--label); letter-spacing: .08em; text-transform: uppercase; }
.business-position-grid article > div strong { display: block; margin-top: 7px; color: var(--slate-700); font-size: 13px; }
.business-gap-section { background: #f6f8fa; }
.business-map { display: grid; grid-template-columns: minmax(250px, .62fr) minmax(0, 1.38fr); min-height: 650px; overflow: hidden; border: 1px solid var(--line); border-radius: var(--radius-panel); background: var(--white); box-shadow: var(--shadow-md); }
.business-map-copy { display: flex; flex-direction: column; padding: 18px; background: var(--slate-950); }
.business-map-step { display: grid; grid-template-columns: 34px minmax(0, 1fr); gap: 2px 12px; width: 100%; padding: 17px 16px; border: 0; border-bottom: 1px solid rgba(255,255,255,.1); text-align: left; color: rgba(255,255,255,.54); background: transparent; cursor: pointer; transition: color 220ms var(--ease), background 220ms var(--ease); }
.business-map-step span { grid-row: 1 / 3; padding-top: 2px; font: 600 10px var(--label); color: var(--green-300); }
.business-map-step strong { font: 600 17px/1.25 var(--display); }
.business-map-step small { font-size: 12px; line-height: 1.42; }
.business-map-step:hover, .business-map-step.is-active { color: var(--white); background: rgba(43,186,126,.11); }
.business-map-step.is-active { box-shadow: inset 3px 0 var(--green-300); }
.business-map-pause { align-self: flex-start; margin: auto 16px 6px; padding: 7px 0; border: 0; color: var(--green-300); background: transparent; font-size: 12px; font-weight: 600; cursor: pointer; }
.business-map-stage { position: relative; min-width: 0; padding: 32px; overflow: hidden; background: radial-gradient(circle at 48% 52%, rgba(43,186,126,.11), transparent 28%), linear-gradient(145deg, #f9fbfc, #edf3f6); }
.business-map-stage::before { content: ""; position: absolute; inset: 0; opacity: .45; background-image: linear-gradient(rgba(51,100,144,.06) 1px, transparent 1px), linear-gradient(90deg, rgba(51,100,144,.06) 1px, transparent 1px); background-size: 36px 36px; pointer-events: none; }
.business-map-stage > * { position: relative; z-index: 1; }
.business-map-label, .asset-bank > p, .repeat-demand > p { margin: 0 0 10px; color: var(--blue-700); font: 600 10px/1.4 var(--label); letter-spacing: .1em; text-transform: uppercase; }
.business-program-rail { display: grid; grid-template-columns: repeat(4, 1fr); overflow: hidden; border: 1px solid #a9c3d4; border-radius: 6px; background: rgba(255,255,255,.86); }
.business-program-rail > span { position: relative; min-height: 62px; display: flex; align-items: center; justify-content: center; border-right: 1px solid #c5d4de; color: var(--blue-700); font-family: var(--display); font-weight: 600; transition: color 350ms var(--ease), background 350ms var(--ease), border-color 350ms var(--ease); }
.business-program-rail > span:last-child { border-right: 0; }
.business-program-gap i { position: absolute; left: 50%; top: calc(100% + 8px); z-index: 4; width: max-content; padding: 4px 7px; border-radius: 999px; color: #844e1b; background: #fff1d8; font: 600 8px/1.2 var(--label); letter-spacing: .06em; text-transform: uppercase; opacity: 0; transform: translate(-50%, -6px); transition: opacity 350ms var(--ease), transform 350ms var(--ease); }
.business-map-field { position: relative; display: grid; grid-template-columns: .9fr 1fr .8fr; gap: 34px; align-items: center; min-height: 430px; }
.asset-bank, .repeat-demand { opacity: .18; transform: translateY(10px); transition: opacity 500ms var(--ease), transform 500ms var(--ease); }
.asset-bank > div { display: grid; grid-template-columns: 1fr 1fr; gap: 7px; }
.asset-bank span { display: flex; align-items: center; min-height: 42px; padding: 8px; border: 1px solid #b9c9d3; border-radius: 4px; color: var(--slate-700); background: rgba(255,255,255,.88); font-size: 11px; font-weight: 500; transition: border-color 350ms var(--ease), color 350ms var(--ease), transform 500ms var(--ease); }
.business-venture { position: relative; z-index: 2; padding: 26px 20px; border: 1px dashed #8ca5b6; border-radius: 12px; text-align: center; color: var(--slate-600); background: rgba(255,255,255,.35); opacity: .2; transform: scale(.92); transition: opacity 500ms var(--ease), transform 500ms var(--ease), color 500ms var(--ease), background 500ms var(--ease), border-color 500ms var(--ease), box-shadow 500ms var(--ease); }
.business-venture > small { display: block; margin-bottom: 16px; font: 600 9px var(--label); letter-spacing: .08em; text-transform: uppercase; }
.business-venture > strong { display: block; font: 700 23px/1.15 var(--display); }
.venture-additions { display: flex; flex-wrap: wrap; justify-content: center; gap: 5px; margin-top: 20px; }
.venture-additions span { padding: 5px 7px; border-radius: 999px; color: var(--green-700); background: #e9f8f0; font: 600 8px var(--label); text-transform: uppercase; opacity: 0; transform: translateY(6px); transition: opacity 350ms var(--ease), transform 350ms var(--ease); }
.demand-sites { display: grid; gap: 9px; }
.demand-sites span { min-height: 54px; display: flex; align-items: center; justify-content: center; border: 1px solid #a9c3d4; border-radius: 5px; color: var(--blue-700); background: rgba(255,255,255,.9); font: 600 11px var(--label); }
.business-flow-line { position: absolute; top: 50%; height: 2px; width: 13%; overflow: hidden; background: #bdd1dc; opacity: 0; transition: opacity 350ms var(--ease); }
.business-flow-line::after { content: ""; display: block; width: 46%; height: 100%; background: var(--green-500); animation: business-flow 1.2s linear infinite; }
.business-flow-a { left: 25%; }
.business-flow-b { right: 21%; }
.business-map-status { min-height: 48px; margin: 0; padding-top: 16px; border-top: 1px solid var(--line); color: var(--slate-700); font-size: 14px; font-weight: 500; text-align: center; }

.business-map[data-business-active="1"] .business-program-rail > span { color: var(--white); background: var(--blue-700); }
.business-map[data-business-active="2"] .business-program-rail > span:not(.business-program-gap) { color: var(--white); background: var(--blue-700); }
.business-map[data-business-active="2"] .business-program-gap { color: #844e1b; border: 2px dashed #c9802f; background: #fff7e9; }
.business-map[data-business-active="2"] .business-program-gap i { opacity: 1; transform: translate(-50%, 0); }
.business-map[data-business-active="3"] .business-program-gap,
.business-map[data-business-active="4"] .business-program-gap,
.business-map[data-business-active="5"] .business-program-gap { color: #844e1b; border-color: #c9802f; background: #fff7e9; }
.business-map[data-business-active="3"] .asset-bank,
.business-map[data-business-active="4"] .asset-bank,
.business-map[data-business-active="5"] .asset-bank { opacity: 1; transform: translateY(0); }
.business-map[data-business-active="3"] .asset-bank span { border-color: var(--green-500); color: var(--green-700); }
.business-map[data-business-active="4"] .business-venture,
.business-map[data-business-active="5"] .business-venture { opacity: 1; transform: scale(1); color: var(--white); border-color: var(--green-500); border-style: solid; background: linear-gradient(145deg, var(--blue-700), #25313d); box-shadow: 0 20px 44px rgba(51,100,144,.2); }
.business-map[data-business-active="4"] .venture-additions span,
.business-map[data-business-active="5"] .venture-additions span { opacity: 1; transform: translateY(0); }
.business-map[data-business-active="4"] .business-flow-a,
.business-map[data-business-active="5"] .business-flow-a,
.business-map[data-business-active="5"] .business-flow-b { opacity: 1; }
.business-map[data-business-active="5"] .repeat-demand { opacity: 1; transform: translateY(0); }
.business-map[data-business-active="5"] .business-program-gap { color: var(--white); border-color: var(--green-500); background: var(--green-700); }
@keyframes business-flow { from { transform: translateX(-120%); } to { transform: translateX(250%); } }

.capability-conversion { display: grid; grid-template-columns: 1fr 70px 1fr .9fr; gap: 0; margin-top: 52px; border: 1px solid var(--line-dark); border-radius: var(--radius-card); overflow: hidden; }
.conversion-column, .conversion-result { padding: 28px; }
.conversion-column { border-right: 1px solid var(--line-dark); }
.conversion-column .kicker, .conversion-result .kicker { color: var(--green-300); }
.conversion-column ul { margin: 26px 0 0; padding: 0; list-style: none; }
.conversion-column li { padding: 10px 0; border-top: 1px solid var(--line-dark); color: rgba(255,255,255,.78); }
.conversion-plus { display: flex; flex-direction: column; align-items: center; justify-content: center; border-right: 1px solid var(--line-dark); color: var(--green-300); }
.conversion-plus span { font: 700 30px var(--display); }
.conversion-plus small { writing-mode: vertical-rl; margin-top: 10px; font: 600 8px var(--label); letter-spacing: .08em; text-transform: uppercase; }
.conversion-result { display: flex; flex-direction: column; justify-content: center; color: var(--slate-950); background: var(--green-300); }
.conversion-result .kicker { color: var(--slate-950); }
.conversion-result strong { font: 700 25px/1.2 var(--display); }
.conversion-result small { margin-top: 20px; line-height: 1.45; }
.summit-proof { display: grid; grid-template-columns: 1.2fr .8fr; margin-top: 24px; overflow: hidden; border: 1px solid var(--line-dark); border-radius: var(--radius-card); background: rgba(255,255,255,.04); }
.summit-proof .proof-video { min-height: 370px; }
.summit-proof > div:last-child { display: flex; flex-direction: column; justify-content: center; padding: 32px; }
.summit-proof .kicker { color: var(--green-300); }
.summit-proof h3 { margin: 26px 0 18px; font-size: 27px; }
.summit-proof p { color: rgba(255,255,255,.72); }
.summit-proof small { margin-top: 16px; color: var(--green-300); line-height: 1.5; }

.ic-opportunity-grid { display: grid; grid-template-columns: repeat(4, 1fr); border-top: 1px solid var(--line); border-left: 1px solid var(--line); }
.ic-opportunity-grid article { min-height: 270px; padding: 28px; border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); background: var(--white); transition: color 220ms var(--ease), background 220ms var(--ease), transform 220ms var(--ease); }
.ic-opportunity-grid article:hover { color: var(--white); background: var(--blue-700); transform: translateY(-5px); }
.ic-opportunity-grid article > span { color: var(--green-700); font: 600 11px var(--label); }
.ic-opportunity-grid article:hover > span { color: var(--green-300); }
.ic-opportunity-grid h3 { margin: 72px 0 18px; font-size: 21px; }
.ic-opportunity-grid p { margin: 0; color: var(--slate-700); font-size: 14px; }
.ic-opportunity-grid article:hover p { color: rgba(255,255,255,.75); }

.business-evidence { background: linear-gradient(145deg, #edf6f2, #eaf3f8); }
.demand-loop { display: grid; grid-template-columns: 1fr 50px 1fr 50px 1fr 50px; align-items: center; padding: 24px; border: 1px solid #bcd5ca; border-radius: var(--radius-panel); background: rgba(255,255,255,.72); }
.demand-loop > div { min-height: 150px; padding: 22px; border-radius: 8px; background: var(--white); box-shadow: var(--shadow-sm); }
.demand-loop span { display: block; color: var(--green-700); font: 600 10px var(--label); }
.demand-loop strong { display: block; margin: 28px 0 8px; font: 700 22px var(--display); }
.demand-loop small { color: var(--slate-700); }
.demand-loop i { color: var(--green-700); font: normal 700 30px var(--display); text-align: center; }
.sto-case { display: grid; grid-template-columns: minmax(0, 1.45fr) minmax(230px, .55fr); gap: 40px; margin-top: 24px; padding: clamp(28px, 4vw, 48px); overflow: hidden; border-radius: var(--radius-panel); color: var(--white); background: linear-gradient(140deg, #25313d, var(--slate-950)); box-shadow: var(--shadow-md); }
.sto-case .kicker { color: var(--green-300); }
.sto-case h3 { margin: 26px 0 18px; font-size: clamp(28px, 3vw, 38px); }
.sto-case-copy > p:not(.kicker) { max-width: 720px; color: rgba(255,255,255,.76); font-size: 17px; }
.sto-case-flow { display: grid; grid-template-columns: 1fr 24px 1fr 24px 1fr 30px .65fr; align-items: stretch; gap: 5px; margin-top: 34px; }
.sto-case-flow > span, .sto-case-flow > strong { min-height: 94px; display: flex; flex-direction: column; justify-content: center; padding: 13px; border: 1px solid rgba(255,255,255,.14); border-radius: 5px; font-family: var(--display); font-size: 13px; }
.sto-case-flow small { margin-top: 7px; color: rgba(255,255,255,.58); font: 400 10px/1.4 var(--body); }
.sto-case-flow i { display: flex; align-items: center; justify-content: center; color: var(--green-300); font: normal 700 20px var(--display); }
.sto-case-flow > strong { color: var(--slate-950); background: var(--green-300); border-color: var(--green-300); font-size: 18px; text-align: center; }
.sto-funnel { display: grid; grid-template-columns: 1fr; align-content: center; }
.sto-funnel > div { display: grid; grid-template-columns: 72px 1fr; align-items: center; min-height: 58px; padding: 7px 14px; border: 1px solid rgba(255,255,255,.14); border-radius: 5px; background: rgba(255,255,255,.04); }
.sto-funnel strong { color: var(--green-300); font: 700 31px/1 var(--display); }
.sto-funnel span { color: rgba(255,255,255,.74); font-size: 12px; }
.sto-funnel i { height: 22px; color: rgba(255,255,255,.35); font: normal 18px/22px var(--display); text-align: center; }
.sto-funnel .sto-funnel-final { color: var(--slate-950); background: var(--green-300); border-color: var(--green-300); }
.sto-funnel-final strong, .sto-funnel-final span { color: var(--slate-950); }
.origin-proof-grid { display: grid; grid-template-columns: 1.45fr .75fr; gap: 18px; margin-top: 24px; }
.ted-proof, .problem-space-proof { border: 1px solid #c3d5dc; border-radius: var(--radius-panel); background: rgba(255,255,255,.82); overflow: hidden; }
.ted-proof { display: grid; grid-template-columns: 1.18fr .82fr; }
.ted-proof > div:last-child, .problem-space-proof { padding: 30px; }
.proof-video { position: relative; min-height: 350px; background: var(--slate-950); }
.proof-video iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; }
.origin-proof-grid .kicker { color: var(--blue-500); }
.origin-proof-grid h3 { margin: 28px 0 18px; font-size: 26px; }
.origin-proof-grid p { color: var(--slate-700); }
.problem-space-proof { display: flex; flex-direction: column; }
.problem-space-proof .text-link { align-self: flex-start; margin-top: auto; }
.business-offer-cta { align-self: flex-start; margin-top: 28px; }

@media (max-width: 1000px) {
  .business-map { grid-template-columns: 1fr; }
  .business-map-copy { display: grid; grid-template-columns: repeat(5, 1fr); }
  .business-map-step { grid-template-columns: 1fr; padding: 14px 10px; border-right: 1px solid rgba(255,255,255,.1); }
  .business-map-step span { grid-row: auto; }
  .business-map-step small { display: none; }
  .business-map-pause { grid-column: 1 / -1; margin: 10px; }
  .capability-conversion { grid-template-columns: 1fr 54px 1fr; }
  .conversion-result { grid-column: 1 / -1; min-height: 190px; }
  .ic-opportunity-grid { grid-template-columns: repeat(2, 1fr); }
  .origin-proof-grid { grid-template-columns: 1fr; }
  .business-benefit-strip { grid-template-columns: repeat(2, 1fr); }
  .summit-proof { grid-template-columns: 1fr; }
  .sto-case { grid-template-columns: 1fr; }
  .sto-funnel { grid-template-columns: repeat(9, auto); align-items: center; }
  .sto-funnel > div { grid-template-columns: 56px 1fr; }
  .sto-funnel i { width: 22px; height: auto; transform: rotate(-90deg); }
}
@media (max-width: 760px) {
  .business-map-copy { grid-template-columns: 1fr; }
  .business-map-step { grid-template-columns: 30px 1fr; border-right: 0; }
  .business-map-step span { grid-row: 1 / 3; }
  .business-map-step small { display: block; }
  .business-map-stage { padding: 22px 16px; }
  .business-program-rail { grid-template-columns: repeat(2, 1fr); }
  .business-program-rail > span:nth-child(2) { border-right: 0; }
  .business-program-rail > span:nth-child(-n+2) { border-bottom: 1px solid #c5d4de; }
  .business-map-field { grid-template-columns: 1fr; gap: 16px; min-height: 630px; padding-top: 34px; }
  .asset-bank, .business-venture, .repeat-demand { opacity: 1; transform: none; }
  .business-flow-line { display: none; }
  .business-venture { color: var(--white); border: 1px solid var(--green-500); background: linear-gradient(145deg, var(--blue-700), #25313d); }
  .venture-additions span { opacity: 1; transform: none; }
  .capability-conversion { grid-template-columns: 1fr; }
  .conversion-column, .conversion-plus { border-right: 0; border-bottom: 1px solid var(--line-dark); }
  .conversion-plus { min-height: 64px; }
  .conversion-plus small { writing-mode: horizontal-tb; margin: 0 0 0 10px; }
  .conversion-result { grid-column: auto; }
  .demand-loop { grid-template-columns: 1fr; gap: 10px; }
  .demand-loop i { transform: rotate(90deg); }
  .ted-proof { grid-template-columns: 1fr; }
  .proof-video { min-height: 280px; }
  .business-position-grid { grid-template-columns: 1fr; }
  .business-benefit-strip { grid-template-columns: 1fr; }
  .business-benefit-strip > div { min-height: 88px; }
  .sto-case-flow { grid-template-columns: 1fr; }
  .sto-case-flow i { min-height: 22px; }
  .sto-funnel { grid-template-columns: 1fr; }
  .sto-funnel i { width: auto; height: 22px; transform: none; }
}
@media (max-width: 520px) {
  .ic-opportunity-grid { grid-template-columns: 1fr; }
  .ic-opportunity-grid article { min-height: 220px; }
  .ic-opportunity-grid h3 { margin-top: 46px; }
}
@media (prefers-reduced-motion: reduce) {
  .business-flow-line::after { animation: none; }
  .business-map-step, .business-map-stage *, .ic-opportunity-grid article { transition: none !important; }
}

