:root {
  --ph-container-max-wide: 1344px;
  --ph-container-max-content: 75rem;
  --ph-container-max-narrow: 700px;
  --ph-gutter: 1rem;
  --ph-gutter-fluid: 2rem;
  --ph-section-y-sm: 2.1875rem;
  --ph-section-y: 3.125rem;
  --ph-section-y-lg: 4rem;
  --ph-stack-gap: 1rem;
  --ph-stack-gap-lg: 1.5rem;
}

.ph-container {
  width: min(var(--ph-container-max-content), 100% - var(--ph-gutter) * 2);
  max-width: none;
  margin-inline: auto;
  position: relative;
}

.ph-container--wide {
  width: min(var(--ph-container-max-wide), 100% - var(--ph-gutter) * 2);
  max-width: none;
  margin-inline: auto;
  position: relative;
}

.ph-container--narrow {
  width: min(var(--ph-container-max-narrow), 100% - var(--ph-gutter) * 2);
  max-width: none;
  margin-inline: auto;
  position: relative;
}

.ph-container--fluid {
  width: 100%;
  max-width: none;
  margin-inline: auto;
  padding-inline: var(--ph-gutter-fluid);
  position: relative;
}

.container.is-widescreen {
  flex-grow: 0;
  width: min(var(--ph-container-max-wide), 100% - var(--ph-gutter) * 2);
  max-width: none;
  margin-inline: auto;
  position: relative;
}

:is(.ph-container, .ph-container--wide, .ph-container--narrow, .container.is-widescreen) .e-page-title,
:is(.ph-container, .ph-container--wide, .ph-container--narrow, .container.is-widescreen) .card-list.c-section,
:is(.ph-container, .ph-container--wide, .ph-container--narrow, .container.is-widescreen) .c-launchpad__row,
:is(.ph-container, .ph-container--wide, .ph-container--narrow, .container.is-widescreen) .c-bio-card__container {
  padding-left: 0;
  padding-right: 0;
}

.ph-section {
  padding-block: var(--ph-section-y);
}

.ph-section--sm {
  padding-block: var(--ph-section-y-sm);
}

.ph-section--lg {
  padding-block: var(--ph-section-y-lg);
}

.ph-section--flush {
  padding-block: 0;
}

.ph-stack {
  display: flex;
  flex-direction: column;
  gap: var(--ph-stack-gap);
}

.ph-stack--lg {
  gap: var(--ph-stack-gap-lg);
}

.ph-bleed {
  position: relative;
  width: 100vw;
  max-width: 100vw;
  margin-inline: calc(50% - 50vw);
}

.alignwide,
.wp-block-group.alignwide,
.wp-block[data-align=wide] > .wp-block-group {
  max-width: var(--ph-container-max-wide);
}

.alignfull {
  max-width: none;
}

.c-practice-office-page-shell .c-practice-office-providers {
  margin-block: 2rem;
}