
/* Pages 5 and 15 share the deck's title, spacing and colour system. */
.aligned-slide .section-title { margin-bottom: 0; }
.aligned-slide .unified-content { gap: clamp(14px, 2.4vh, 28px); min-height: 0; }
#solution-focus h2, #solution-outputs h2 {
  font: 500 var(--h2-size)/1.08 var(--sans);
  letter-spacing: -.035em;
  color: var(--ivory);
}
#solution-outputs h2 { display: flex; align-items: baseline; flex-wrap: wrap; gap: .15em 0; }
#solution-outputs h2 span { display: inline; margin: 0; font-size: 1em; }
#solution-outputs h2 .case-title-shift { font-size: .82em; line-height: 1.12; }
#solution-focus .rf-scene {
  border: 1px solid rgba(220,235,254,.22); border-radius: 0;
}
#solution-focus .rf-scene > img {
  height: clamp(220px, 46vh, 560px); max-height: none;
}
#solution-focus .rf-summary { gap: clamp(16px, 2.3vw, 38px); }
#solution-focus .rv-answer, #solution-outputs .rv-answer {
  min-width: 0; padding: clamp(10px, 1.5vh, 18px) 0 0;
  border: 0; border-top: 1px solid rgba(220,235,254,.25);
}
#solution-focus .rf-summary small {
  color: var(--vi-periwinkle); font-size: clamp(12px, 1vw, 17px);
  font-weight: 500; margin-bottom: clamp(6px, .8vh, 10px);
}
#solution-focus .rf-summary h3, #solution-outputs .ro-facts h3 {
  color: var(--ivory); font-family: var(--sans); font-weight: 600;
  font-size: clamp(17px, 1.7vw, 28px); line-height: 1.3; letter-spacing: -.025em;
}
#solution-outputs .unified-content {
  display: grid; grid-template-columns: minmax(0, 1fr); grid-template-rows: auto minmax(0, 1.65fr) minmax(0, 1fr) auto;
  gap: clamp(12px, 1.8vh, 22px);
}
#solution-outputs .ro-videos, #solution-outputs .ro-gallery {
  min-height: 0; gap: clamp(10px, 1.5vw, 24px);
}
#solution-outputs .ro-videos { grid-template-columns: repeat(2, minmax(0, 1fr)); }
#solution-outputs .rm-wide, #solution-outputs .ro-gallery figure {
  display: flex; flex-direction: column; min-height: 0; min-width: 0; margin: 0;
  overflow: hidden; border: 1px solid rgba(220,235,254,.22); border-radius: 0;
  background: rgba(220,235,254,.04);
}
#solution-outputs .ro-videos .rm-wide video, #solution-outputs .ro-gallery img {
  display: block; flex: 1 1 0; min-height: 0; width: 100%; height: 0; max-height: none;
  aspect-ratio: auto; object-fit: contain; background: rgba(3,7,13,.55);
}
#solution-outputs .ro-videos .rm-wide figcaption, #solution-outputs .ro-gallery figcaption {
  flex: 0 0 auto; padding: clamp(5px, .75vh, 9px) clamp(8px, .8vw, 14px);
  color: rgba(220,235,254,.74); font-family: var(--sans);
  font-size: clamp(11px, .9vw, 15px); font-weight: 400; line-height: 1.4;
}
#solution-outputs .ro-gallery button { color: var(--vi-periwinkle); white-space: nowrap; }
#solution-outputs .ro-facts {
  grid-template-columns: repeat(3, minmax(0, 1fr)); gap: clamp(12px, 2.3vw, 38px); margin: 0;
}
#solution-outputs .ro-facts .rv-answer { padding-left: 0; border-left: 0; }
#solution-outputs .ro-facts p {
  font: 400 var(--body-size)/1.5 var(--sans); color: rgba(220,235,254,.68);
  margin-top: clamp(5px, .7vh, 9px);
}
@media (max-width: 760px) and (orientation: portrait) {
  #solution-focus .unified-content { gap: clamp(12px, 2vh, 20px); padding-bottom: 24px; }
  #solution-focus .rf-scene > img { height: min(36vh, 280px); }
  #solution-focus .rf-summary { grid-template-columns: 1fr; gap: clamp(9px, 1.7vh, 16px); }
  #solution-focus .rv-answer { padding-top: 8px; }
  #solution-focus .rf-summary small { margin-bottom: 4px; }
  #solution-focus .rf-summary h3 { font-size: 18px; }
  #solution-outputs .unified-content {
    padding-bottom: 24px; gap: 10px;
    grid-template-rows: auto minmax(0, 2.15fr) minmax(0, .9fr) auto;
  }
  #solution-outputs .ro-videos { grid-template-columns: 1fr; grid-template-rows: repeat(2, minmax(0, 1fr)); gap: 8px; }
  #solution-outputs .ro-gallery { gap: 6px; }
  #solution-outputs .ro-gallery figcaption { min-height: 54px; padding: 4px 5px; font-size: 10px; gap: 2px; }
  #solution-outputs .ro-facts { gap: 10px; }
  #solution-outputs .ro-facts h3 { font-size: 16px; }
  #solution-outputs .ro-facts p { font-size: 12px; }
}
@media (min-width: 761px) and (max-width: 900px) and (orientation: portrait) {
  #solution-outputs .unified-content { grid-template-rows: auto minmax(0, 2.1fr) minmax(0, .9fr) auto; }
  #solution-outputs .ro-videos { grid-template-columns: 1fr; grid-template-rows: repeat(2, minmax(0, 1fr)); }
}
@media (orientation: landscape) and (max-height: 500px) {
  #solution-focus h2, #solution-outputs h2 { font-size: clamp(22px, 3.6vw, 30px); }
  #solution-focus .unified-content { display: grid; grid-template-columns: minmax(0, 1fr); grid-template-rows: auto minmax(0, 1fr) auto; gap: 8px; }
  #solution-focus .rf-scene { min-height: 0; height: 100%; }
  #solution-focus .rf-scene > img { height: 100%; }
  #solution-focus .rf-summary { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; }
  #solution-focus .rv-answer, #solution-outputs .rv-answer { padding-top: 6px; }
  #solution-focus .rf-summary small { font-size: 11px; margin-bottom: 3px; }
  #solution-focus .rf-summary h3, #solution-outputs .ro-facts h3 { font-size: 14px; }
  #solution-outputs .ro-facts p { font-size: 11px; margin-top: 3px; }
  #solution-outputs .unified-content { gap: 8px; }
  #solution-outputs .ro-gallery figcaption, #solution-outputs .ro-videos .rm-wide figcaption { font-size: 10px; padding: 3px 6px; }
  #solution-outputs .ro-gallery figcaption { flex-wrap: nowrap; }
}

/* Centre the page-5 content group between equal top and bottom margins. */
#solution-focus .unified-content {
  justify-content: center;
  padding-block: clamp(3rem, 8vh, 7.5rem);
}
/* Give page 15 a bounded media stack, with breathing room above and below. */
#solution-outputs .unified-content {
  align-content: center;
  padding-block: clamp(40px, 8vh, 100px);
}
@media (min-width: 901px) and (min-height: 501px) {
  #solution-outputs .unified-content {
    grid-template-rows: auto clamp(170px, 30vh, 330px) clamp(96px, 15vh, 168px) auto;
    gap: clamp(16px, 2.6vh, 28px);
  }
}
