/* A complete image-led opening, followed by the native capability chapters. */
@media (min-width: 1051px) {
  body.nuweb-site #content .page-story .scene.scene--page .scene-content .solutions-hero > .subhero-grid {
    position: relative;
    display: block;
    min-height: calc(100svh - var(--header-height) - 72px);
    isolation: isolate;
  }
  body.nuweb-site #content .page-story .scene.scene--page .scene-content .solutions-hero .subhero-copy {
    position: relative;
    z-index: 1;
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, .95fr);
    grid-template-rows: auto auto 1fr auto auto;
    gap: 14px 32px;
    min-height: calc(100svh - var(--header-height) - 72px);
    padding-block: 28px;
  }
  body.nuweb-site #content .page-story .scene.scene--page .scene-content .solutions-hero .subhero-copy > :is(.subhero-kicker, h1) {
    grid-column: 1 / -1;
  }
  body.nuweb-site #content .page-story .scene.scene--page .scene-content .solutions-hero .subhero-copy h1 {
    max-width: 20ch;
    font-size: clamp(60px, 6.4vw, 92px);
    line-height: 1.04;
    letter-spacing: -.03em;
  }
  body.nuweb-site #content .page-story .scene.scene--page .scene-content .solutions-hero .subhero-copy > p:not(.subhero-kicker) {
    grid-column: 2;
    grid-row: 4;
    width: 100%;
    color: var(--ink);
    font-size: 18px;
    line-height: 1.55;
  }
  body.nuweb-site #content .page-story .scene.scene--page .scene-content .solutions-hero .subhero-copy > .text-link {
    grid-column: 2;
    grid-row: 5;
  }
  body.nuweb-site #content .page-story .scene.scene--page .scene-content .solutions-hero .subhero-visual {
    position: absolute;
    inset: 0 calc(-1 * var(--nuweb-frame-pad));
    z-index: 0;
    width: auto;
    height: 100%;
  }
  body.nuweb-site #content .page-story .scene.scene--page .scene-content .solutions-hero .subhero-media {
    position: absolute;
    inset: 0;
    height: 100%;
    border-radius: 0;
  }
  body.nuweb-site #content .page-story .scene.scene--page .scene-content .solutions-hero .subhero-media :is(picture, img) {
    width: 100%;
    height: 100%;
    max-height: none;
    object-fit: cover;
    object-position: center top;
  }
  body.nuweb-site #content .page-story .scene.scene--page .scene-content .solutions-hero .subhero-media::after {
    content: '';
    position: absolute;
    inset: 0;
    background: linear-gradient(180deg, #020b078a, #020b0700 48%, #020b07eb), linear-gradient(90deg, #020b07e6, #020b0740);
    pointer-events: none;
  }
  body.nuweb-site #content .page-story .scene.scene--page .scene-content .solutions-hero .solutions-project-credit {
    position: absolute;
    inset: auto auto 28px var(--nuweb-frame-pad);
    z-index: 1;
    width: 42%;
    margin: 0;
    padding: 0;
    color: var(--muted);
    background: transparent;
    font-size: 12px;
    line-height: 1.5;
  }
}
@media (max-width: 1050px) {
  body.nuweb-site #content .page-story .scene.scene--page .scene-content .solutions-hero .subhero-media {
    height: clamp(320px, 52svh, 540px);
  }
}

/* Real capabilities first; native customer problem, outcome and scope remain intact. */
body.nuweb-site #content .service-capabilities {
  display: block;
  width: min(1180px, calc(100% - 12vw));
}
body.nuweb-site #content .service-capabilities > h2 {
  max-width: 21ch;
  margin: 0 0 clamp(30px, 4svh, 56px);
  font-size: clamp(38px, 4.8vw, 66px);
  line-height: 1.06;
  letter-spacing: -.045em;
}
body.nuweb-site #content .service-capability-list {
  border-top: 1px solid var(--line);
}
body.nuweb-site #content .service-capability-row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  align-items: center;
  column-gap: clamp(35px, 6vw, 85px);
  padding-block: clamp(17px, 2.5svh, 27px);
  border-bottom: 1px solid var(--line);
}
body.nuweb-site #content .service-capability-row h3 {
  max-width: none;
  margin: 0;
  font-size: clamp(27px, 3.2vw, 43px);
  line-height: 1.08;
  letter-spacing: -.04em;
}
body.nuweb-site #content .service-capability-row p {
  max-width: 45ch;
  margin: 0;
  color: var(--muted);
  font-size: clamp(17px, 1.45vw, 20px);
  line-height: 1.5;
}
body.nuweb-site #content .solution-problem-layout {
  display: grid;
  grid-template-columns: minmax(0, 1.05fr) minmax(0, 1fr);
  gap: clamp(40px, 6vw, 85px);
  align-items: center;
  margin: 0;
  padding: 0;
  color: var(--ink);
}
body.nuweb-site #content .solution-problem-heading,
body.nuweb-site #content .solution-problem-context {
  min-width: 0;
}
body.nuweb-site #content .solution-problem-heading {
  container-type: inline-size;
}
body.nuweb-site #content .solution-capability-label,
body.nuweb-site #content .page-story .scene-content .solution-detail-copy > .solution-capability-label {
  max-width: 46ch;
  margin: 0 0 20px;
  color: var(--green);
  font-size: var(--nuweb-eyebrow-size);
  font-weight: 600;
  line-height: 1.45;
  letter-spacing: .015em;
}
body.nuweb-site #content .page-story .scene-content .solution-problem-heading h2 {
  max-width: none;
  margin: 0 0 24px;
  font-size: clamp(28px, 10cqw, 64px);
  line-height: 1.16;
  letter-spacing: -.045em;
}
body.nuweb-site #content .solution-problem-heading > .solution-original-summary {
  max-width: 49ch;
  margin: 0;
  color: var(--muted);
  font-size: clamp(17px, 1.5vw, 20px);
  line-height: 1.55;
}
body.nuweb-site #content .solution-context-media {
  width: min(100%, 390px);
  margin: 25px 0 20px;
  overflow: clip;
  border: 1px solid var(--line);
  border-radius: 3px;
}
body.nuweb-site #content .solution-context-media img {
  display: block;
  width: 100%;
  height: clamp(120px, 17svh, 175px);
  object-fit: cover;
}
body.nuweb-site #content .solution-context-step {
  margin: 0;
  padding: 22px 0;
  border-top: 1px solid var(--line);
}
body.nuweb-site #content .solution-context-step strong {
  display: block;
  color: var(--green);
  font-size: 13px;
  font-weight: 500;
  line-height: 1.4;
  letter-spacing: .025em;
}
body.nuweb-site #content .solution-context-step p {
  max-width: 42ch;
  margin: 12px 0 0;
  color: var(--muted);
  font-size: clamp(18px, 1.65vw, 22px);
  line-height: 1.5;
}
body.nuweb-site #content .solution-context-step--outcome p {
  color: var(--ink);
  font-weight: 500;
}
body.nuweb-site #content .solution-concrete-features {
  margin: 0;
  padding-top: 20px;
  border-top: 1px solid var(--line);
  color: var(--muted);
  font-size: 15px;
  line-height: 1.55;
}
body.nuweb-site #content .solution-concrete-features ul {
  display: grid;
  gap: 9px;
  margin: 0;
  padding-left: 20px;
}
body.nuweb-site #content .solution-concrete-features li {
  margin: 0;
  padding: 0;
}
body.nuweb-site #content .solution-concrete-features li::marker {
  color: var(--green);
}
body.nuweb-site #content .solution-detail-context .solution-consulting-card {
  padding-top: 26px;
}
body.nuweb-site #content .solution-detail-context .solution-step-title {
  max-width: none;
  margin: 0 0 22px;
  color: var(--green);
  font-size: 19px;
  font-weight: 500;
  letter-spacing: 0;
}
body.nuweb-site #content .solution-detail-context .solution-detail-statement {
  max-width: 24ch;
  margin: 0;
  font-size: clamp(28px, 3.2vw, 44px);
  font-weight: 500;
  line-height: 1.24;
  letter-spacing: -.035em;
}
@media (min-width: 1051px) and (max-height: 800px) {
  body.nuweb-site #content .page-story .scene-content .service-capabilities > h2 {
    margin-bottom: 24px;
    font-size: clamp(42px, 4vw, 56px);
  }
  body.nuweb-site #content .page-story .scene-content .service-capability-row {
    padding-block: 12px;
  }
  body.nuweb-site #content .page-story .scene-content .service-capability-row h3 {
    font-size: clamp(28px, 2.7vw, 36px);
  }
  body.nuweb-site #content .page-story .scene-content .service-capability-row p {
    font-size: 17px;
    line-height: 1.5;
  }
}
@media (max-width: 1050px) {
  body.nuweb-site #content .service-capability-row,
  body.nuweb-site #content .solution-problem-layout {
    grid-template-columns: 1fr;
    gap: 15px;
  }
  body.nuweb-site #content .solution-problem-layout {
    gap: 42px;
  }
  body.nuweb-site #content .page-story .scene-content .solution-problem-heading h2 {
    max-width: 22ch;
  }
  body.nuweb-site #content .service-capability-row {
    padding-block: 24px;
  }
  body.nuweb-site #content .service-capability-row p {
    max-width: 60ch;
  }
  body.nuweb-site #content .solution-context-media {
    width: min(100%, 540px);
  }
  body.nuweb-site #content .solution-context-media img {
    height: auto;
    max-height: none;
  }
}
@media (max-width: 700px) {
  body.nuweb-site #content .service-capabilities {
    width: calc(100% - 40px);
  }
  body.nuweb-site #content .service-capabilities > h2 {
    font-size: clamp(34px, 8vw, 46px);
  }
  body.nuweb-site #content .service-capability-row h3 {
    font-size: clamp(26px, 6.8vw, 36px);
  }
  body.nuweb-site #content .page-story .scene-content .solution-problem-heading h2 {
    font-size: clamp(24px, 10cqw, 48px);
  }
  body.nuweb-site #content .solution-detail-context .solution-detail-statement {
    font-size: clamp(27px, 7vw, 36px);
  }
}
