.solutions-hub {
  background: var(--paper);
  color: var(--ink);
  overflow: clip;
}

.solutions-hub h1,
.solutions-hub h2,
.solutions-hub h3,
.solutions-hub p { margin: 0; }

.solutions-hub h1,
.solutions-hub h2,
.solutions-hub h3 { font-family: var(--font-sans); letter-spacing: -.036em; }
.solutions-hub h2 { font-size: clamp(2.75rem, 5vw, 4.75rem); font-weight: 700; line-height: .96; }
.solutions-hub section[id], .solutions-capability[id] { scroll-margin-top: 2rem; }
.solutions-hub [data-reveal] { opacity: 1; transform: none; }

.solutions-kicker {
  align-items: center;
  color: var(--mute);
  display: flex;
  font-family: var(--font-mono);
  font-size: .6875rem;
  font-weight: 500;
  gap: .75rem;
  letter-spacing: .12em;
  line-height: 1.5;
  text-transform: uppercase;
}
.solutions-kicker::before { background: var(--volt); content: ""; flex: 0 0 2rem; height: 2px; }
.solutions-kicker--light { color: var(--paper-3); }
.solutions-index { color: var(--mute); font-family: var(--font-mono); font-size: .6875rem; font-weight: 500; letter-spacing: .1em; }
.solutions-arrow { color: var(--volt-deep); font-family: var(--font-mono); font-size: 1.5rem; }

.solutions-section-head {
  align-items: end;
  display: grid;
  gap: 2rem var(--gutter);
  grid-template-columns: repeat(12, minmax(0, 1fr));
  margin-block-end: clamp(3.5rem, 6vw, 5rem);
}
.solutions-section-head > div { grid-column: 1 / span 8; }
.solutions-section-head > p { color: var(--mute); font-size: 1.125rem; grid-column: 9 / -1; line-height: 1.5; max-width: 28rem; }
.solutions-section-head .solutions-kicker { margin-block-end: 1.5rem; }
.solutions-section-head--dark > p { color: var(--paper-3); }

/* A short diagnostic opening, deliberately unlike the Home hero. */
.solutions-hero { background: var(--paper); border-bottom: 1px solid var(--line); min-height: 39rem; }
.solutions-hero__inner {
  align-items: center;
  display: grid;
  gap: 4rem var(--gutter);
  grid-template-columns: repeat(12, minmax(0, 1fr));
  min-height: 39rem;
  padding-block: clamp(7rem, 10vw, 9rem) clamp(4.5rem, 7vw, 6rem);
}
.solutions-hero__copy { grid-column: 1 / span 7; }
.solutions-hero__copy .solutions-kicker { margin-block-end: 1.5rem; }
.solutions-hero h1 { font-size: clamp(4rem, 6.8vw, 6.5rem); font-weight: 800; line-height: .91; max-width: 10.5ch; }
.solutions-hero__options { color: var(--mute); font-size: clamp(1.35rem, 2vw, 1.8rem); font-weight: 500; line-height: 1.34; margin-block-start: 2rem !important; }
.solutions-hero__principle { font-size: 1rem; line-height: 1.5; margin-block-start: 1.25rem !important; max-width: 35rem; }
.solutions-hero__actions { align-items: center; display: flex; flex-wrap: wrap; gap: 1rem 1.5rem; margin-block-start: 2rem; }
.solutions-hero .c-button { min-width: 17rem; }
.solutions-hero__assessment { align-items: center; border: 1px solid var(--ink); color: var(--ink); display: inline-flex; font-size: .9375rem; font-weight: 600; gap: 1rem; justify-content: space-between; min-height: 3.5rem; padding-inline: 1.25rem; text-decoration: none; transition: background var(--motion-fast) var(--motion-ease), color var(--motion-fast) var(--motion-ease), transform var(--motion-fast) var(--motion-ease); }
.solutions-hero__assessment:hover, .solutions-hero__assessment:focus-visible { background: var(--ink); color: var(--paper); transform: translateY(-2px); }
.solutions-hero__map { align-self: stretch; border-left: 1px solid var(--line); grid-column: 8 / -1; min-height: 25rem; padding: 2rem 0 0 2rem; position: relative; }
.solutions-hero__map-label { color: var(--mute); font-family: var(--font-mono); font-size: .625rem; font-weight: 500; letter-spacing: .1em; }
.solutions-hero__map svg { height: calc(100% - 2rem); inset: 2rem 0 0 2rem; position: absolute; width: calc(100% - 2rem); z-index: 0; }
.solutions-hero__map path { fill: none; stroke: var(--ink); stroke-width: 1.25; vector-effect: non-scaling-stroke; }
.solutions-hero__map circle { fill: var(--volt-deep); }
.solutions-hero__map-steps { inset: 4rem 0 1rem 2rem; list-style: none; margin: 0; padding: 0; position: absolute; z-index: 1; }
.solutions-hero__map-steps li { background: var(--paper); max-width: 11.5rem; padding: .55rem .75rem .6rem 0; position: absolute; }
.solutions-hero__map-steps li:nth-child(1) { left: 0; top: 0; }
.solutions-hero__map-steps li:nth-child(2) { right: 0; top: 20%; }
.solutions-hero__map-steps li:nth-child(3) { left: 8%; top: 55%; }
.solutions-hero__map-steps li:nth-child(4) { bottom: 0; right: 0; }
.solutions-hero__map-steps span { color: var(--mute); display: block; font-family: var(--font-mono); font-size: .625rem; font-weight: 500; letter-spacing: .08em; line-height: 1.4; }
.solutions-hero__map-steps strong { display: block; font-size: .9375rem; font-weight: 600; line-height: 1.2; margin-block-start: .3rem; }

/* Symptom-to-capability diagnostic matrix. */
.solutions-problem { padding-block: clamp(6rem, 9vw, 8rem); }
.solutions-problem__labels { border-bottom: 1px solid var(--ink); display: grid; font-family: var(--font-mono); font-size: .625rem; grid-template-columns: minmax(0, 7fr) minmax(18rem, 5fr); letter-spacing: .11em; padding: 0 0 .75rem 3.5rem; text-transform: uppercase; }
.solutions-problem__list { list-style: none; margin: 0; padding: 0; }
.solutions-problem__list > li { align-items: center; border-bottom: 1px solid var(--line); display: grid; gap: 1rem; grid-template-columns: 2.5rem minmax(0, 6fr) 2rem minmax(18rem, 5fr); min-height: 6.75rem; padding-block: 1.25rem; }
.solutions-problem__list > li > p { font-size: clamp(1.25rem, 1.8vw, 1.65rem); font-weight: 600; line-height: 1.15; max-width: 34ch; }
.solutions-problem__list ul { display: flex; flex-wrap: wrap; gap: .5rem; list-style: none; margin: 0; padding: 0; }
.solutions-problem__list ul a { border: 1px solid var(--line); color: var(--ink); display: block; font-family: var(--font-mono); font-size: .625rem; font-weight: 500; letter-spacing: .06em; padding: .7rem .8rem; text-decoration: none; text-transform: uppercase; transition: background var(--motion-fast) var(--motion-ease), color var(--motion-fast) var(--motion-ease), transform var(--motion-fast) var(--motion-ease); }
.solutions-problem__list ul a:hover, .solutions-problem__list ul a:focus-visible { background: var(--volt); color: var(--ink); transform: translateY(-2px); }

/* Capability map: fixed navigation rail plus editorial detail system. */
.solutions-capabilities { background: var(--ink); color: var(--paper); padding-block: clamp(6rem, 9vw, 8rem); }
.solutions-capabilities > .container { display: grid; gap: 0 var(--gutter); grid-template-columns: repeat(12, minmax(0, 1fr)); }
.solutions-capabilities .solutions-section-head { grid-column: 1 / -1; }
.solutions-capabilities__nav { align-self: start; grid-column: 1 / span 3; position: sticky; top: 2rem; }
.solutions-capabilities__nav ol { border-top: 1px solid rgba(250,250,247,.28); list-style: none; margin: 0; padding: 0; }
.solutions-capabilities__nav li { border-bottom: 1px solid rgba(250,250,247,.28); }
.solutions-capabilities__nav a { color: var(--paper); display: grid; font-size: 1.125rem; font-weight: 600; gap: .5rem; line-height: 1.15; min-height: 5.5rem; padding: 1.25rem 1rem 1.25rem 0; text-decoration: none; transition: color var(--motion-fast) var(--motion-ease), padding var(--motion-fast) var(--motion-ease); }
.solutions-capabilities__nav a span { color: var(--volt); font-family: var(--font-mono); font-size: .625rem; font-weight: 500; letter-spacing: .1em; }
.solutions-capabilities__nav a:hover, .solutions-capabilities__nav a:focus-visible { color: var(--volt); padding-inline-start: .5rem; }
.solutions-capabilities .solutions-index { color: var(--volt); }
.solutions-capabilities__stack { border-top: 1px solid rgba(250,250,247,.28); grid-column: 4 / -1; }
.solutions-capability { border-bottom: 1px solid rgba(250,250,247,.28); }
.solutions-capability summary { align-items: center; cursor: pointer; display: grid; gap: 1rem; grid-template-columns: 3rem 1fr 2rem; list-style: none; min-height: 7rem; padding: 1.25rem 0 1.25rem 2rem; }
.solutions-capability summary::-webkit-details-marker { display: none; }
.solutions-capability summary strong { font-size: clamp(2rem, 3.4vw, 3.25rem); line-height: 1; }
.solutions-capability summary > span:last-child { color: var(--volt); font-size: 1.75rem; justify-self: end; transition: transform var(--motion-fast) var(--motion-ease); }
.solutions-capability[open] summary { border-bottom: 2px solid var(--volt); }
.solutions-capability[open] summary > span:last-child { transform: rotate(45deg); }
.solutions-capability__body { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); padding-left: 2rem; }
.solutions-capability__body > div { border-bottom: 1px solid rgba(250,250,247,.2); min-height: 12.5rem; padding: 2rem 2rem 2.5rem 0; }
.solutions-capability__body > div:nth-child(even) { border-left: 1px solid rgba(250,250,247,.2); padding-left: 2rem; }
.solutions-capability__body h3 { color: var(--volt); font-family: var(--font-mono); font-size: .6875rem; font-weight: 500; letter-spacing: .12em; }
.solutions-capability__body p { color: var(--paper-3); line-height: 1.55; margin-block-start: 1rem; max-width: 34rem; }
.solutions-capability__body .solutions-capability__result p { color: var(--paper); font-size: 1.125rem; font-weight: 600; }
.solutions-capability__context { border-left: 2px solid var(--volt); color: var(--paper-3) !important; grid-column: 1 / -1; margin-block: 1.5rem 2rem !important; padding: 0 2rem !important; }
.solutions-capability__future-link { color: var(--volt); grid-column: 1 / -1; margin: 0 0 2rem; width: max-content; }

/* Operational composition patterns. */
.solutions-combination { background: var(--paper-2); padding-block: clamp(6rem, 9vw, 8rem); }
.solutions-combination__patterns { border-top: 1px solid var(--ink); list-style: none; margin: 0; padding: 0; }
.solutions-combination__patterns > li { align-items: center; border-bottom: 1px solid var(--line); display: grid; gap: 1rem var(--gutter); grid-template-columns: 2.5rem minmax(14rem, 4fr) minmax(0, 7fr); min-height: 9rem; padding-block: 1.5rem; }
.solutions-combination__patterns > li > p { font-size: clamp(1.25rem, 2vw, 1.75rem); font-weight: 600; line-height: 1.15; }
.solutions-combination__patterns ol { align-items: stretch; display: flex; list-style: none; margin: 0; padding: 0; }
.solutions-combination__patterns ol li { align-items: center; border: 1px solid var(--line); display: flex; flex: 1; font-size: .9375rem; font-weight: 600; gap: .75rem; min-height: 4.5rem; padding: 1rem; }
.solutions-combination__patterns ol li + li { border-left: 0; }
.solutions-combination__patterns ol span { color: var(--volt-deep); font-size: 1.25rem; }
.solutions-combination__close { border-left: 3px solid var(--volt); font-size: clamp(1.5rem, 2.5vw, 2.25rem); font-weight: 700; line-height: 1.1; margin-block-start: 3rem !important; max-width: 39ch; padding-inline-start: 1.25rem; }

/* Concrete problem-to-intervention ledger. */
.solutions-interventions { background: var(--ink); color: var(--paper); padding-block: clamp(6rem, 9vw, 8rem); }
.solutions-interventions__ledger { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); list-style: none; margin: 0; padding: 0; }
.solutions-interventions__ledger > li { align-items: start; border-top: 1px solid rgba(250,250,247,.26); display: grid; gap: 1rem; grid-template-columns: 2rem minmax(0, 1fr) 2rem minmax(0, 1fr); min-height: 10rem; padding: 1.5rem 1.5rem 2rem 0; }
.solutions-interventions__ledger > li:nth-child(even) { border-left: 1px solid rgba(250,250,247,.26); padding-left: 1.5rem; }
.solutions-interventions__ledger p { color: var(--paper-3); line-height: 1.4; }
.solutions-interventions__ledger strong { font-size: 1.125rem; line-height: 1.35; }
.solutions-interventions__ledger .solutions-index { color: var(--volt); }
.solutions-interventions__ledger .solutions-arrow { color: var(--volt); }

/* Evidence stays a compact proof strip, not a second case-study section. */
.solutions-evidence { background: var(--paper); padding-block: clamp(5rem, 7vw, 6.5rem); }
.solutions-evidence__header { display: grid; gap: 2rem; grid-template-columns: 4fr 8fr; margin-block-end: 3rem; }
.solutions-evidence__header h2 { max-width: 14ch; }
.solutions-evidence__strip { border-block: 1px solid var(--ink); display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); }
.solutions-evidence__strip article { min-height: 21rem; padding: 2.5rem 3rem 2.5rem 0; }
.solutions-evidence__strip article + article { border-left: 1px solid var(--ink); padding-left: 3rem; }
.solutions-evidence__strip h3 { color: var(--ink); font-family: var(--font-mono); font-size: .6875rem; font-weight: 500; letter-spacing: .12em; line-height: 1.4; text-transform: uppercase; }
.solutions-evidence__metric { align-items: baseline; display: flex; flex-wrap: wrap; gap: .5rem 1rem; }
.solutions-evidence__metric strong { font-size: clamp(3.25rem, 6vw, 6rem); font-weight: 800; letter-spacing: -.055em; line-height: .9; }
.solutions-evidence__metric strong:last-child { color: var(--volt-deep); }
.solutions-evidence__metric span { font-size: clamp(2rem, 4vw, 3.5rem); }
.solutions-evidence__strip h3 + .solutions-evidence__metric { margin-block-start: 1.5rem; }
.solutions-evidence__context { font-size: 1.25rem; font-weight: 600; line-height: 1.25; margin-block-start: 1.5rem !important; max-width: 32ch; }
.solutions-evidence__intervention { color: var(--mute); line-height: 1.5; margin-block-start: .75rem !important; max-width: 38rem; }
.solutions-evidence__disclaimer { color: var(--mute); font-family: var(--font-mono); font-size: .6875rem; line-height: 1.5; margin-block-start: 1.5rem !important; max-width: 65rem; }

/* Decisive CTA with a technical line map, no repeated Home photography. */
.solutions-final-cta { background: var(--volt); color: var(--ink); min-height: 34rem; overflow: hidden; }
.solutions-final-cta__inner { align-items: center; display: grid; gap: 4rem var(--gutter); grid-template-columns: repeat(12, minmax(0, 1fr)); min-height: 34rem; padding-block: 5rem; position: relative; }
.solutions-final-cta__inner > div { grid-column: 1 / span 7; position: relative; z-index: 1; }
.solutions-final-cta .solutions-kicker { color: var(--ink); margin-block-end: 1.5rem; }
.solutions-final-cta .solutions-kicker::before { background: var(--ink); }
.solutions-final-cta h2 { font-size: clamp(3.5rem, 6.5vw, 6rem); max-width: 10ch; }
.solutions-final-cta h2 + p { font-size: 1.25rem; line-height: 1.45; margin-block-start: 1.75rem; max-width: 35rem; }
.solutions-final-cta .c-button { background: var(--ink); color: var(--paper); margin-block-start: 2rem; min-width: 14rem; }
.solutions-final-cta small { display: block; font-family: var(--font-mono); font-size: .6875rem; letter-spacing: .06em; margin-block-start: 1rem; text-transform: uppercase; }
.solutions-final-cta__map { grid-column: 8 / -1; height: 100%; width: 100%; }
.solutions-final-cta__map path { fill: none; stroke: var(--ink); stroke-width: 1.25; vector-effect: non-scaling-stroke; }
.solutions-final-cta__map rect { fill: var(--ink); }

@media (max-width: 70rem) {
  .solutions-hero__copy { grid-column: 1 / span 8; }
  .solutions-hero__map { grid-column: 9 / -1; }
  .solutions-capabilities__nav { grid-column: 1 / span 4; }
  .solutions-capabilities__stack { grid-column: 5 / -1; }
  .solutions-interventions__ledger > li { grid-template-columns: 2rem minmax(0, 1fr) 1.5rem minmax(0, 1fr); }
}

@media (max-width: 47.99rem) {
  .solutions-hub h2 { font-size: clamp(2.5rem, 11vw, 3.5rem); }
  .solutions-section-head { display: block; margin-block-end: 3rem; }
  .solutions-section-head > p { font-size: 1rem; margin-block-start: 1.5rem; }

  .solutions-hero, .solutions-hero__inner { min-height: 0; }
  .solutions-hero__inner { display: block; padding-block: 5.5rem 4.5rem; }
  .solutions-hero h1 { font-size: clamp(3.25rem, 14vw, 4.25rem); max-width: 9ch; }
  .solutions-hero__options { font-size: 1.25rem; }
  .solutions-hero .c-button { min-width: 0; width: 100%; }
  .solutions-hero__actions { align-items: stretch; display: grid; gap: .75rem; }
  .solutions-hero__assessment { width: 100%; }
  .solutions-hero__map { border-left: 0; border-top: 1px solid var(--line); height: 19rem; margin-block-start: 3rem; min-height: 0; padding: 1.5rem 0 0; }
  .solutions-hero__map svg { inset: 2rem 0 0; width: 100%; }
  .solutions-hero__map-steps { inset: 3.75rem 0 .5rem; }
  .solutions-hero__map-steps li { max-width: 9.75rem; padding-right: .5rem; }
  .solutions-hero__map-steps li:nth-child(1) { top: 0; }
  .solutions-hero__map-steps li:nth-child(2) { top: 18%; }
  .solutions-hero__map-steps li:nth-child(3) { left: 0; top: 58%; }
  .solutions-hero__map-steps strong { font-size: .8125rem; }

  .solutions-problem__labels { display: none; }
  .solutions-problem__list { border-top: 1px solid var(--ink); }
  .solutions-problem__list > li { align-items: start; gap: .75rem; grid-template-columns: 2rem 1fr; min-height: 0; padding-block: 1.25rem; }
  .solutions-problem__list > li > p { font-size: 1.25rem; }
  .solutions-problem__list > li > .solutions-arrow { display: none; }
  .solutions-problem__list ul { grid-column: 2; margin-block-start: .5rem; }

  .solutions-capabilities > .container { display: block; }
  .solutions-capabilities__nav { position: static; }
  .solutions-capabilities__nav ol { display: grid; grid-template-columns: repeat(2, 1fr); margin-block-end: 3rem; }
  .solutions-capabilities__nav li:nth-child(odd) { border-right: 1px solid rgba(250,250,247,.28); }
  .solutions-capabilities__nav a { font-size: .9375rem; min-height: 5rem; padding: 1rem; }
  .solutions-capability summary { gap: .75rem; grid-template-columns: 2rem 1fr 1.5rem; min-height: 5.75rem; padding-left: 0; }
  .solutions-capability summary strong { font-size: 1.75rem; }
  .solutions-capability__body { display: block; padding-left: 0; }
  .solutions-capability__body > div { min-height: 0; padding: 1.5rem 0 2rem; }
  .solutions-capability__body > div:nth-child(even) { border-left: 0; padding-left: 0; }
  .solutions-capability__context { margin-block: 1.5rem 0 !important; padding: 0 0 0 1rem !important; }

  .solutions-combination__patterns > li { display: grid; grid-template-columns: 2rem 1fr; min-height: 0; padding-block: 1.5rem; }
  .solutions-combination__patterns > li > p { font-size: 1.25rem; }
  .solutions-combination__patterns ol { display: block; grid-column: 2; }
  .solutions-combination__patterns ol li { border: 0; border-top: 1px solid var(--line); min-height: 3.5rem; padding: .75rem 0; }
  .solutions-combination__patterns ol li + li { border-left: 0; }
  .solutions-combination__close { font-size: 1.5rem; }

  .solutions-interventions__ledger { display: block; }
  .solutions-interventions__ledger > li, .solutions-interventions__ledger > li:nth-child(even) { border-left: 0; gap: .75rem; grid-template-columns: 2rem 1fr; min-height: 0; padding: 1.25rem 0 1.75rem; }
  .solutions-interventions__ledger .solutions-arrow { display: none; }
  .solutions-interventions__ledger strong { grid-column: 2; }

  .solutions-evidence__header { display: block; }
  .solutions-evidence__header h2 { margin-block-start: 1.5rem; }
  .solutions-evidence__strip { display: block; }
  .solutions-evidence__strip article { min-height: 0; padding: 2rem 0 2.5rem; }
  .solutions-evidence__strip article + article { border-left: 0; border-top: 1px solid var(--ink); padding-left: 0; }
  .solutions-evidence__metric strong { font-size: clamp(3rem, 14vw, 4rem); }

  .solutions-final-cta, .solutions-final-cta__inner { min-height: 0; }
  .solutions-final-cta__inner { display: block; padding-block: 4.5rem; }
  .solutions-final-cta h2 { font-size: clamp(3.25rem, 14vw, 4.25rem); }
  .solutions-final-cta h2 + p { font-size: 1.0625rem; }
  .solutions-final-cta .c-button { width: 100%; }
  .solutions-final-cta__map { height: 12rem; margin-block-start: 3rem; }
}

@media (prefers-reduced-motion: reduce) {
  .solutions-capability summary > span:last-child,
  .solutions-capabilities__nav a,
  .solutions-problem__list ul a,
  .solutions-hero__assessment { transition: none; }
}
