/* AWS core 01: the reviewed AEM 832×520 visual contract, gradient, fine edges
   and overlapping windows. Only this illustration uses container units; the
   surrounding grid, tab labels and copy retain the shared responsive system. */
.adobe-aem__visual.aws-infrastructure {
  position:relative;container:aws-infrastructure / inline-size;isolation:isolate;
  color:var(--wy-g700);font-family:var(--wy-font-cn);line-height:1.4;
  text-align:left;letter-spacing:normal;
}
.aws-infrastructure::after {
  content:"";position:absolute;inset:86% 0 0;pointer-events:none;
  background:linear-gradient(0deg,rgba(22,22,27,.07),rgba(22,22,27,.025) 45%,transparent);
}
.aws-infrastructure__scene { position:absolute;inset:0;z-index:1; }
.aws-infrastructure__scene *,.aws-infrastructure__scene *::before,.aws-infrastructure__scene *::after { box-sizing:border-box; }
.aws-infrastructure__window {
  position:absolute;left:5.7692cqw;top:5.7692cqw;width:84.6154cqw;height:47.1154cqw;
  overflow:hidden;border:1px solid color-mix(in srgb,var(--wy-blue-light) 32%,var(--wy-g100));
  border-radius:1.4423cqw;background:var(--wy-g0);
  box-shadow:0 .9615cqw 2.8846cqw -1.4423cqw color-mix(in srgb,var(--wy-blue-dark) 14%,transparent);
}
.aws-infrastructure__chrome {
  display:flex;align-items:center;gap:.7212cqw;height:4.3269cqw;padding:0 1.6827cqw;
  border-bottom:1px solid var(--wy-g100);background:#FAFAFC;color:var(--wy-g500);font-size:1.3221cqw;
}
.aws-infrastructure__dots { display:flex;gap:.4808cqw;margin-right:1.4423cqw; }
.aws-infrastructure__dots i { display:block;width:.7212cqw;height:.7212cqw;border-radius:50%;background:var(--wy-g200); }
.aws-infrastructure__dots i:nth-child(1) { background:#FF5F57; }
.aws-infrastructure__dots i:nth-child(2) { background:#FEBC2E; }
.aws-infrastructure__dots i:nth-child(3) { background:#28C840; }
.adobe-aem__visual .aws-infrastructure__icon {
  display:block;flex:none;width:1.9231cqw;height:1.9231cqw;fill:none;stroke:currentColor;
  stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round;
}
.aws-infrastructure__heading {
  position:absolute;top:6.7308cqw;left:2.8846cqw;right:2.8846cqw;
  display:flex;align-items:center;justify-content:space-between;gap:1.9231cqw;
}
.aws-infrastructure__title { font-size:2.1635cqw;font-weight:500;color:var(--wy-ink);white-space:nowrap; }
.aws-infrastructure__healthy {
  display:flex;align-items:center;gap:.601cqw;color:#33825D;font-size:1.3221cqw;white-space:nowrap;
}
.aws-infrastructure__healthy i { width:.601cqw;height:.601cqw;flex:none;border-radius:50%;background:var(--wy-success); }
.aws-infrastructure__map { position:absolute;left:2.8846cqw;top:12.5cqw;width:78.8462cqw;height:26.9231cqw; }
.adobe-aem__visual .aws-infrastructure__geography { display:block;width:100%;height:100%;overflow:visible; }
.aws-infrastructure__land { fill:url(#aws-infra-land-dots); }
.aws-infrastructure__route { fill:none;stroke:var(--wy-primary-light);stroke-width:1.5;stroke-dasharray:4 5;stroke-linecap:round; }
.aws-infrastructure__route--selected { stroke:var(--wy-primary);stroke-dasharray:none; }
.aws-infrastructure__pin-halo { fill:var(--wy-blue-subtle); }
.aws-infrastructure__pin { fill:var(--wy-blue);stroke:var(--wy-g0);stroke-width:2; }
.aws-infrastructure__pin-halo--selected { fill:var(--wy-primary-subtle);stroke:var(--wy-primary-light);stroke-width:1; }
.aws-infrastructure__pin--selected { fill:var(--wy-primary); }
.aws-infrastructure__region {
  position:absolute;display:flex;flex-direction:column;align-items:center;gap:.2404cqw;
  width:14.4231cqw;font-size:1.6827cqw;font-weight:500;color:var(--wy-ink);white-space:nowrap;
}
.aws-infrastructure__region small { color:var(--wy-g500);font-size:1.3221cqw;font-weight:400; }
.aws-infrastructure__region--americas { left:8.6538cqw;top:4.8077cqw; }
.aws-infrastructure__region--europe { left:32.2115cqw;top:1.2019cqw;color:var(--wy-primary); }
.aws-infrastructure__region--asia { left:62.9808cqw;top:6.1298cqw; }
.aws-infrastructure__entry {
  position:absolute;left:2.8846cqw;bottom:2.8846cqw;display:flex;align-items:center;gap:1.2019cqw;
  width:max-content;padding:1.4423cqw 1.6827cqw;border:1px solid var(--wy-g100);border-radius:.9615cqw;
  background:var(--wy-g0);
}
.aws-infrastructure__entry-symbol {
  display:grid;place-items:center;flex:none;width:3.8462cqw;height:3.8462cqw;
  border-radius:.7212cqw;background:var(--wy-primary-subtle);color:var(--wy-primary);
}
.aws-infrastructure__entry-symbol .aws-infrastructure__icon { width:2.1635cqw;height:2.1635cqw; }
.aws-infrastructure__entry-copy { display:flex;flex-direction:column;gap:.2404cqw;font-size:1.6827cqw;font-weight:500;color:var(--wy-ink);white-space:nowrap; }
.aws-infrastructure__entry-copy small { font-size:1.3221cqw;font-weight:400;color:var(--wy-g500); }
.aws-infrastructure__recovery {
  position:absolute;z-index:2;left:53.8462cqw;top:33.6538cqw;width:40.3846cqw;padding:2.4038cqw;
  border:1px solid color-mix(in srgb,var(--wy-primary-light) 26%,var(--wy-g100));
  border-radius:1.9231cqw;background:var(--wy-g0);
  box-shadow:0 1.4423cqw 3.8462cqw -1.4423cqw color-mix(in srgb,var(--wy-blue-dark) 16%,transparent),0 .2404cqw .7212cqw color-mix(in srgb,var(--wy-ink) 3%,transparent);
}
.aws-infrastructure__recovery-head { display:flex;align-items:center;justify-content:space-between;gap:.9615cqw; }
.aws-infrastructure__recovery-title { font-size:1.9231cqw;font-weight:500;color:var(--wy-ink);white-space:nowrap; }
.aws-infrastructure__recovery-region { margin-top:.4808cqw;font-size:1.4423cqw;color:var(--wy-g500); }
.aws-infrastructure__zones { position:relative;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.9231cqw;margin-top:1.9231cqw; }
.aws-infrastructure__zone { display:flex;flex-direction:column;justify-content:center;gap:.9615cqw;min-width:0;min-height:8.6538cqw;padding:1.4423cqw;border:1px solid var(--wy-g100);border-radius:.9615cqw;background:var(--wy-g10); }
.aws-infrastructure__zone-name { display:flex;align-items:center;gap:.7212cqw;font-size:1.5625cqw;font-weight:500;color:var(--wy-ink);white-space:nowrap; }
.aws-infrastructure__zone .aws-infrastructure__icon { width:1.9231cqw;height:1.9231cqw;color:var(--wy-g500); }
.aws-infrastructure__zone-status { display:flex;align-items:center;gap:.4808cqw;font-size:1.3221cqw;white-space:nowrap; }
.aws-infrastructure__zone-status i { display:block;flex:none;width:.4808cqw;height:.4808cqw;border-radius:50%;background:currentColor; }
.aws-infrastructure__zone--isolated .aws-infrastructure__zone-status { color:#B06727; }
.aws-infrastructure__zone--active { border-color:var(--wy-primary-light);background:color-mix(in srgb,var(--wy-primary-subtle) 32%,var(--wy-g0)); }
.aws-infrastructure__zone--active .aws-infrastructure__zone-status { color:#33825D; }
.aws-infrastructure__switch {
  position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);display:grid;place-items:center;
  width:3.3654cqw;height:3.3654cqw;border:1px solid var(--wy-g100);border-radius:50%;background:var(--wy-g0);color:var(--wy-primary);
}
.aws-infrastructure__switch .aws-infrastructure__icon { width:1.9231cqw;height:1.9231cqw; }
.aws-infrastructure__cursor { position:absolute;z-index:3;left:48.5577cqw;top:26.4423cqw;width:3.6058cqw;height:4.3269cqw;filter:drop-shadow(0 .2404cqw .2404cqw rgba(22,22,27,.15)); }
.adobe-aem__visual .aws-infrastructure__cursor svg { display:block;width:100%;height:100%;overflow:visible; }
