/**
 * Homepage section shell + reusable block width containment.
 * Outer bands full width; inner content uses allowlisted width modes.
 */

.home-pres__inner {
  width: 100%;
  margin-left: auto;
  margin-right: auto;
  padding-left: var(--home-pres-pad-x, clamp(1.25rem, 4vw, 2.5rem));
  padding-right: var(--home-pres-pad-x, clamp(1.25rem, 4vw, 2.5rem));
  box-sizing: border-box;
}

.home-pres__inner--contained {
  max-width: 72rem;
}

.home-pres__inner--wide {
  max-width: 90rem;
}

.home-pres__inner--full {
  max-width: none;
  padding-left: 0;
  padding-right: 0;
}

/* Reusable block shells on homepage / composer */
.rj-reusable-shell {
  width: 100%;
  box-sizing: border-box;
}

.rj-reusable-shell--contained,
.rj-reusable-shell--inherit {
  max-width: 72rem;
  margin-left: auto;
  margin-right: auto;
}

.rj-reusable-shell--wide {
  max-width: 90rem;
  margin-left: auto;
  margin-right: auto;
}

.rj-reusable-shell--full_bleed {
  width: 100vw;
  max-width: 100vw;
  margin-left: calc(50% - 50vw);
  margin-right: calc(50% - 50vw);
  padding-left: var(--home-pres-pad-x, clamp(1.25rem, 4vw, 2.5rem));
  padding-right: var(--home-pres-pad-x, clamp(1.25rem, 4vw, 2.5rem));
  box-sizing: border-box;
}

.site-home-composer .rj-reusable-shell--contained,
.site-home-composer .rj-reusable-shell--inherit {
  max-width: 100%;
}

.site-home-composer .rj-reusable-shell--wide {
  max-width: 100%;
}

/* Card composer: reusable host inside site-container */
.rj-composer-block__reusable-host.rj-reusable-shell--full_bleed {
  width: calc(100% + 2 * var(--space-md, 1rem));
  max-width: none;
  margin-left: calc(-1 * var(--space-md, 1rem));
  margin-right: calc(-1 * var(--space-md, 1rem));
  padding-left: var(--space-md, 1rem);
  padding-right: var(--space-md, 1rem);
}

/* Preserve structured reusable layouts (columns share article-content rules) */
.rj-reusable-host.rj-article-content {
  min-width: 0;
}

.home-pres--composer {
  margin-left: 0;
  margin-right: 0;
  width: 100%;
  max-width: none;
}

.home-pres__portfolio-strip-head {
  max-width: 72rem;
  margin-left: auto;
  margin-right: auto;
  padding-left: var(--home-pres-pad-x, clamp(1.25rem, 4vw, 2.5rem));
  padding-right: var(--home-pres-pad-x, clamp(1.25rem, 4vw, 2.5rem));
  box-sizing: border-box;
}

.home-pres__composer-embed .rj-composer-block {
  max-width: none;
}

.home-pres__composer-embed .rj-reusable-shell--full_bleed .home-pres__inner--full {
  padding-left: 0;
  padding-right: 0;
}
