/* AIMS Editor utilities — width/spacing/text knobs + section backgrounds.
   Applied per-section by the Studio Website editor. Mobile-safe by design. */

/* Width knobs (act on the section's .wrap) */
section.ed-w-narrow .wrap { max-width: 720px; }
section.ed-w-wide .wrap { max-width: 1280px; }
section.ed-w-full .wrap { max-width: none; padding-inline: clamp(1rem, 4vw, 3rem); }

/* Spacing knobs */
section.ed-sp-tight { padding-block: clamp(1.5rem, 3vw, 2.5rem) !important; }
section.ed-sp-roomy { padding-block: clamp(4.5rem, 8vw, 7.5rem) !important; }

/* Text size steps */
section.ed-t-up { font-size: 1.08em; }
section.ed-t-up2 { font-size: 1.16em; }
section.ed-t-down { font-size: 0.93em; }

/* Hidden-by-editor sections (live site) */
[data-ed-hidden] { display: none !important; }

/* Section media backgrounds: image/video behind, scrim between, text in front */
section.ed-bg {
  position: relative;
  isolation: isolate;
  background: #1B1714; /* fallback + mobile-video fallback */
}
section.ed-bg .ed-bg__media {
  position: absolute;
  inset: 0;
  z-index: -2;
  overflow: hidden;
}
section.ed-bg .ed-bg__media > img,
section.ed-bg .ed-bg__media > video {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
section.ed-bg .ed-bg__scrim {
  position: absolute;
  inset: 0;
  z-index: -1;
  background: #1B1714;
  opacity: var(--ed-scrim, 0.45);
}
/* Legibility: flip text to porcelain over media */
section.ed-bg :is(h1, h2, h3, h4, p, li, .eyebrow, .lead, .stat__label, .step__title) { color: #F7F5F0; }
section.ed-bg :is(.muted, .step__body, .card__body, .mini__body) { color: rgba(247, 245, 240, 0.72); }

/* Images added via the editor */
.ed-added-img {
  display: block;
  width: 100%;
  max-width: 860px;
  height: auto;
  border-radius: 12px;
  margin: 1.4rem auto;
}

/* Phones: skip autoplay video (battery/data) — scrim over ink stays legible */
@media (max-width: 720px) {
  section.ed-bg .ed-bg__media > video { display: none; }
}
