/* Shared desktop rhythm: two 100px paddings make a 200px content gap. */
:root { --section-space:100px; }
.overview,.care,.standards,.network,.services,.stories { padding-block:var(--section-space); }
.standards { padding-bottom:calc(var(--section-space) - 20px); }
.care__sticky,.standards__sticky { padding-block:0; }
.network__stage { width:100%; max-width:846px; margin-inline:auto; }
/* Preserve the original heading and outer edges; compact only the right list. */
.services { --section-content-width:1152px; }
.services__layout { grid-template-columns:minmax(0,462fr) minmax(0,738fr); gap:80px; }
.services__groups { width:100%; max-width:640px; justify-self:end; gap:32px; }
.services__list { grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px 24px; }
.services__button { gap:16px; }
.services__divider { margin:12px 0 14px; }
@media(max-width:1279px) {
 .services__layout { grid-template-columns:minmax(0,1fr); gap:48px; }
}
@media(max-width:900px) {
 :root { --section-space:48px; }
 .services__layout { gap:40px; }
}
@media(max-width:689px) {
 .services__groups { gap:20px; }
 .services__list { grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px 16px; }
 .services__button { gap:12px; }
}
@media(max-width:359px) { .services__button { gap:8px; } }

/* Scale the authored map composition as a single unit, including typography. */
.network__composition { position:relative; width:100%; height:100%; transform-origin:top left; }
@media(min-width:901px) {
  .network__stage { height:auto; aspect-ratio:1064 / 633; border-radius:calc(40px * var(--map-scale,.7951128)); }
  .network__composition { width:1064px; height:633px; }
  .network__number { font-size:104px; }
  .network__summary { left:48px; top:76px; }
  .network__controls { left:40px; right:40px; bottom:30px; gap:8px; }
  .network__controls button { padding:11px 17px; }
}
@media(min-width:901px) {
  /* The dense map needs a little more optical separation from the service grid. */
  .network { padding-bottom:calc(var(--section-space) + 20px); }
  .care__panel { position:relative; top:-48px; }
}
/* A shared crop keeps both phone screens at the same size and focal point. */
.care__crop { position:absolute; inset:0; width:800px; height:868px; transform:translate(-20.5px,-88px) scale(1.45); transform-origin:top left; }
.care__visual--mobile-report { display:none; }
.care__mobile-art { position:absolute; inset:0; width:800px; height:868px; transform:scale(var(--care-scale,.8)); transform-origin:top left; }
.stories { padding-bottom:calc(var(--section-space) + 80px); }
/* Mobile: every image and its copy are visible in natural reading order. */
@media(max-width:900px) {
  .standards { padding-bottom:calc(var(--section-space) + 20px); }
  .stories { padding-bottom:calc(var(--section-space) + 40px); }
  .overview__copy > p,.care li,.standards p,.network__intro { font-size:15px; line-height:22px; }
  .care .scene-progress,.standards .scene-progress { display:none; }
  .care.is-enhanced .care__track,.standards.is-enhanced .standards__track { height:auto; }
  .care.is-enhanced .care__sticky,.standards.is-enhanced .standards__sticky { position:static; min-height:0; display:block; }
  .care__visual,.standards__visual { width:100%; max-width:560px; }
  .care__layout { display:block; }
  .care__visual,.care__copy { margin-inline:auto; }
  .care.is-enhanced .care__copy { display:block; margin-top:32px; }
  .care.is-enhanced .care__panel { margin:0; opacity:1; visibility:visible; transform:none; transition:none; }
  .care__visual--mobile-report { display:block; margin-top:64px; margin-bottom:32px; }
  .standards.is-enhanced .standards__layout { display:block; }
  .standards.is-enhanced h2 { margin:0 auto 40px; }
  .standards.is-enhanced .standards__story { display:flex; flex-direction:column; gap:32px; }
  .standards.is-enhanced .standards__story + .standards__story { margin-top:64px; }
  .standards.is-enhanced .standards__visual { order:-1; align-self:center; opacity:1!important; }
  .standards.is-enhanced .standards__story .standards__copy { margin:0; align-self:center; opacity:1!important; visibility:visible; transform:none; transition:none; }
}

/* Mobile region chips match the compact header download button. */
@media (max-width:900px) {
  .network__controls { gap:8px; }
  .network__controls button {
    min-height:30px;
    padding:5px 12px;
    font-size:12px;
    line-height:18px;
    font-weight:600;
  }
}
