body.page-index {
  margin: 0;
  background: #fff;
  color: var(--ps-charcoal);
  font-family: Arial, Helvetica, sans-serif;
  line-height: 1.5;
}

.page-index .skip-link {
  position: fixed;
  z-index: 200;
  top: -6.25rem;
  left: 1.25rem;
  padding: .875rem;
  background: var(--ps-ink);
  color: #fff;
  text-decoration: none;
  -webkit-tap-highlight-color: transparent;
}

.page-index .skip-link:focus {
  top: .75rem;
}

.page-index .skip-link:focus-visible {
  outline: .1875rem solid var(--ps-teal);
  outline-offset: .3125rem;
}

/* ---------- site header ---------- */

/* From 58.8125rem the hero carries "Bring PS to Your Community", so the
   header drops its CTA bar. */
@media (min-width: 58.8125rem) {
  .page-index .ps-site-header-cta {
    display: none;
  }

  .page-index .ps-site-header-spacer {
    height: var(--ps-site-header-height);
  }
}

/* ---------- shared ---------- */

.page-index .ps-eyebrow {
  color: var(--ps-teal-accessible);
}

.home-headline {
  margin: 0;
  font-size: clamp(2rem, 8.4vw, 3.2rem);
  font-weight: 800;
  line-height: 1.07;
  letter-spacing: -.045em;
  text-wrap: balance;
}

@media (min-width: 43.8125rem) {
  .home-headline {
    font-size: clamp(2.65rem, 4.4vw, 4.4rem);
    line-height: 1.035;
  }
}

/* The sections below the hero. */
.home-purpose,
.home-reels,
.home-resources,
.home-celebration,
.home-technology,
.home-design,
.home-voices,
.home-transition {
  padding-block: 3rem;
  scroll-margin-top: 10rem;
}

@media (min-width: 43.8125rem) {
  .home-purpose,
  .home-reels,
  .home-resources,
  .home-celebration,
  .home-technology,
  .home-design,
  .home-voices,
  .home-transition {
    padding-block: 4.5rem;
  }
}

/* ---------- hero ---------- */

.home-hero {
  position: relative;
  isolation: isolate;
  display: flex;
  flex-direction: column;
  justify-content: center;
  min-height: calc(100svh - var(--ps-site-header-height) - 4rem);
  padding-block: 2.375rem 1.25rem;
  overflow: hidden;
  background: var(--ps-charcoal);
  color: #fff;
}

.home-hero-video,
.home-hero-shade {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
}

.home-hero-video {
  z-index: -2;
  object-fit: cover;
  object-position: 58% center;
}

.home-hero-shade {
  z-index: -1;
  background: linear-gradient(90deg, rgb(17 17 17 / .8), rgb(17 17 17 / .5));
}

.home-hero-content {
  padding-bottom: 1.375rem;
}

.page-index .home-hero-eyebrow {
  color: var(--ps-mint);
}

.home-hero-title {
  max-width: 47.5rem;
}

.home-hero-title span {
  display: block;
  color: var(--ps-mint);
}

.home-hero-lead {
  max-width: 40.625rem;
  margin: 1.375rem 0 0;
  font-size: 1.05rem;
  line-height: 1.48;
}

/* Kept on one line: the type scales down below about 415px instead of wrapping. */
.home-hero-values {
  display: flex;
  align-items: center;
  gap: .5625rem;
  margin-top: 1.5rem;
  font-size: clamp(1.25rem, 8.2vw - .375rem, 1.75rem);
  white-space: nowrap;
  font-weight: 700;
  letter-spacing: .02625rem;
}

.home-hero-values span {
  width: .25rem;
  height: .25rem;
  background: var(--ps-teal);
  border-radius: 50%;
}

/* The header's CTA bar carries the same link until the hero has room for it. */
.home-hero-actions {
  display: none;
  flex-wrap: wrap;
  align-items: center;
  gap: .75rem;
  margin-top: 1.6875rem;
}

.home-hero-cta {
  background: var(--ps-teal-accessible);
  border-color: var(--ps-teal-accessible);
  color: #fff;
}

.home-hero-cta:hover {
  background: var(--ps-teal-accessible-dark);
  border-color: var(--ps-teal-accessible-dark);
}

.home-hero-controls {
  position: relative;
  display: flex;
  justify-content: flex-end;
}

.home-hero-toggle {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 2.75rem;
  height: 2.75rem;
  padding: 0;
  background: rgb(17 17 17 / .7);
  border: 1px solid rgb(255 255 255 / .8);
  border-radius: 50%;
  color: #fff;
  font: inherit;
  cursor: pointer;
  -webkit-tap-highlight-color: transparent;
}

.home-hero-toggle[hidden] {
  display: none;
}

.home-hero-toggle:hover {
  background: var(--ps-charcoal);
}

.home-hero-toggle:focus-visible {
  outline: .125rem solid #fff;
  outline-offset: .1875rem;
}

.home-hero-toggle:disabled {
  opacity: .55;
  cursor: default;
}

.home-hero-toggle svg {
  width: 1.125rem;
  height: 1.125rem;
  fill: currentColor;
}

.home-hero-pause-icon,
.home-hero-toggle[data-state="playing"] .home-hero-play-icon {
  display: none;
}

.home-hero-toggle[data-state="playing"] .home-hero-pause-icon {
  display: block;
}

@media (min-width: 43.8125rem) {
  .home-hero {
    padding-block: 3.875rem 1.625rem;
  }

  .home-hero-video {
    object-position: center;
  }

  .home-hero-shade {
    background: linear-gradient(90deg, rgb(17 17 17 / .82) 0%, rgb(17 17 17 / .63) 52%, rgb(17 17 17 / .2) 100%);
  }

  .home-hero-content {
    padding-bottom: 1.5rem;
  }

  .home-hero-lead {
    margin-top: 1.5625rem;
    font-size: clamp(1.05rem, 1.6vw, 1.3rem);
    line-height: 1.5;
  }

  .home-hero-values {
    gap: .6875rem;
    margin-top: 1.625rem;
  }
}

@media (min-width: 58.8125rem) {
  .home-hero {
    min-height: min(52.5rem, calc(100svh - var(--ps-site-header-height)));
  }

  .home-hero-title {
    max-width: 55.625rem;
  }

  .home-hero-actions {
    display: flex;
  }
}

@media (min-width: 100rem) {
  .home-hero {
    min-height: 48.75rem;
  }

  .home-hero-title {
    max-width: 60rem;
  }
}

/* ---------- purpose ---------- */

.home-purpose-grid {
  display: grid;
  grid-template-columns: 1fr;
  align-items: start;
  gap: 1.875rem;
}

.home-purpose-copy {
  max-width: 38.125rem;
  margin-top: 1.125rem;
}

.home-purpose-copy p {
  margin: 0 0 1.125rem;
  font-size: 1.0625rem;
  line-height: 1.6;
}

.home-purpose-copy p + p {
  margin-top: 1rem;
}

.home-purpose-media {
  display: grid;
  justify-items: center;
  gap: 1.125rem;
}

.home-purpose-photo,
.home-purpose-diagram {
  margin: 0;
}

.home-purpose-photo {
  width: 100%;
  aspect-ratio: 1519 / 1221;
  overflow: hidden;
  border-radius: 1.625rem;
}

.home-purpose-diagram {
  justify-self: center;
  width: min(100%, 18.125rem);
  max-width: 14.6875rem;
}

.home-purpose-media img {
  display: block;
  width: 100%;
  height: auto;
}

/* The Careers photo, framed to the handoff's tighter crop of it: the
   856×689 region at 216, 40 of the 1280×853 file. */
.home-purpose-photo img {
  height: 100%;
  object-fit: cover;
  object-position: 5% 50%;
  transform: scale(1.24);
  transform-origin: 100% 24%;
}

@media (min-width: 43.8125rem) {
  .home-purpose-grid {
    grid-template-columns: 1.1fr .9fr;
  }

  .home-purpose-copy p {
    font-size: 1.125rem;
  }

  .home-purpose-media {
    gap: 1.375rem;
  }

  .home-purpose-diagram {
    max-width: 29.375rem;
  }
}

@media (min-width: 58.8125rem) {
  .home-purpose-grid {
    gap: 3.5rem;
  }
}

/* ---------- salon moments ---------- */

.home-reels {
  background: var(--ps-mint-tint);
}

.home-reels-inner {
  width: 100%;
  max-width: 53.75rem;
}

.home-reels-head {
  display: flex;
  flex-direction: column;
  align-items: start;
  justify-content: space-between;
  gap: 1.25rem;
  margin-bottom: 1.875rem;
}

.home-reels-title {
  max-width: 47.5rem;
}

.home-reels-title span,
.home-resources-title > span {
  display: block;
}

.home-reels-controls {
  display: flex;
  flex-shrink: 0;
  gap: .5rem;
  padding-bottom: .3125rem;
}

.home-reels-controls[hidden] {
  display: none;
}

.home-step {
  display: grid;
  place-items: center;
  width: 2.5rem;
  height: 2.5rem;
  padding: 0;
  background: transparent;
  border: 1px solid var(--ps-teal-accessible);
  border-radius: 50%;
  color: var(--ps-teal-accessible);
  font: inherit;
  cursor: pointer;
  -webkit-tap-highlight-color: transparent;
}

.home-step:not(:disabled):hover {
  background: var(--ps-teal);
  border-color: var(--ps-teal);
  color: var(--ps-ink);
}

.home-step:disabled {
  opacity: .35;
  cursor: default;
}

.home-step svg {
  width: 1.375rem;
  height: 1.375rem;
}

.home-step--previous svg {
  transform: rotate(180deg);
}

.home-reels-track {
  display: grid;
  grid-auto-flow: column;
  grid-auto-columns: 84%;
  gap: 1.125rem;
  padding-bottom: 1rem;
  overflow-x: auto;
  overscroll-behavior-x: contain;
  scroll-snap-type: x mandatory;
  scrollbar-color: var(--ps-teal-accessible) transparent;
  scrollbar-width: thin;
}

.home-reel-card {
  display: flex;
  flex-direction: column;
  min-width: 0;
  scroll-snap-align: start;
}

.home-reel-cover {
  position: relative;
  isolation: isolate;
  display: block;
  flex-shrink: 0;
  aspect-ratio: 9 / 16;
  overflow: hidden;
  background: var(--ps-charcoal);
  border-radius: 1.25rem;
  color: inherit;
  text-decoration: none;
  -webkit-tap-highlight-color: transparent;
}

.home-reel-cover::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(rgb(0 0 0 / .2), transparent 24%, transparent 83%, rgb(0 0 0 / .1));
  pointer-events: none;
}

.home-reel-cover img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.home-reel-platform {
  position: absolute;
  z-index: 1;
  top: .75rem;
  left: .75rem;
  padding: .4375rem .6875rem;
  background: #fff;
  border-radius: 1.875rem;
  color: var(--ps-ink);
  font-size: .875rem;
  font-weight: 700;
  line-height: 1;
}

.home-reel-play {
  position: absolute;
  z-index: 1;
  top: 50%;
  left: 50%;
  display: grid;
  place-items: center;
  width: 3.625rem;
  height: 3.625rem;
  background: var(--ps-teal);
  border-radius: 50%;
  box-shadow: 0 .125rem .75rem rgb(0 0 0 / .2);
  color: var(--ps-ink);
  transform: translate(-50%, -50%);
}

.home-reel-cover:hover .home-reel-play {
  background: var(--ps-mint);
}

.home-reel-play svg {
  width: 1.875rem;
  height: 1.875rem;
  margin-left: .1875rem;
}

.home-reel-copy {
  display: flex;
  flex-direction: column;
  flex-grow: 1;
  padding-top: 1.0625rem;
}

.home-reel-copy h3 {
  margin: 0;
  font-size: 1.35rem;
  font-weight: 800;
  line-height: 1.2;
  letter-spacing: -.03375rem;
  text-wrap: balance;
}

.home-reel-copy p {
  margin: .625rem 0 0;
  color: var(--ps-muted);
  font-size: 1rem;
  line-height: 1.45;
}

.home-reel-link,
.home-reels-channels a {
  display: inline-flex;
  align-items: center;
  color: #006b68;
  font-size: .875rem;
  font-weight: 700;
  -webkit-tap-highlight-color: transparent;
}

.home-reel-link {
  align-self: flex-start;
  gap: .4375rem;
  margin-top: auto;
  padding-top: .9375rem;
  text-decoration: underline;
  text-underline-offset: .25rem;
}

.home-reel-link svg,
.home-reels-channels svg {
  width: 1.0625rem;
  height: 1.0625rem;
}

.home-reels-footer {
  display: flex;
  flex-wrap: wrap;
  align-items: start;
  justify-content: space-between;
  gap: .8125rem;
  margin-top: 1.375rem;
}

.home-reels-footer p {
  margin: 0;
  color: var(--ps-muted);
  font-size: .875rem;
  line-height: 1.6;
}

.home-reels-channels {
  display: flex;
  flex-wrap: wrap;
  gap: 1.125rem;
}

.home-reels-channels a {
  gap: .3125rem;
  text-decoration: none;
}

.home-step:focus-visible,
.home-reels-track:focus-visible,
.home-reel-cover:focus-visible,
.home-reel-link:focus-visible,
.home-reels-channels a:focus-visible {
  outline: .1875rem solid var(--ps-teal);
  outline-offset: .3125rem;
}

/* ---------- reel player ---------- */

.home-reel-dialog {
  width: min(30rem, 100% - 1.5rem);
  max-width: calc(100% - 1.5rem);
  max-height: calc(100dvh - 1.5rem);
  margin: auto;
  padding: .875rem;
  overflow: auto;
  background: var(--ps-charcoal);
  border: 0;
  border-radius: 1.25rem;
  color: #fff;
}

.home-reel-dialog::backdrop {
  background: rgb(0 0 0 / .8);
}

.home-reel-dialog-top {
  position: sticky;
  z-index: 1;
  top: 0;
  display: flex;
  align-items: start;
  justify-content: space-between;
  gap: 1.125rem;
  margin-bottom: .875rem;
  background: var(--ps-charcoal);
}

.home-reel-dialog-top h2 {
  max-width: 19.375rem;
  margin: 0;
  font-size: 1.125rem;
  font-weight: 800;
  line-height: 1.3;
  letter-spacing: -.01125rem;
  text-wrap: balance;
}

.home-reel-close {
  display: inline-flex;
  flex-shrink: 0;
  align-items: center;
  gap: .4375rem;
  min-height: 2.5rem;
  padding: .5rem .75rem;
  background: none;
  border: 1px solid #777;
  border-radius: 1.875rem;
  color: #fff;
  font-family: inherit;
  font-size: .875rem;
  font-weight: 700;
  line-height: inherit;
  cursor: pointer;
  -webkit-tap-highlight-color: transparent;
}

.home-reel-close span {
  font-size: 1.3rem;
  line-height: 1;
}

.home-reel-player {
  width: min(100%, 56.25dvh - 7.73438rem);
  min-width: 10.625rem;
  aspect-ratio: 9 / 16;
  margin-inline: auto;
  overflow: hidden;
  background: #000;
  border-radius: .75rem;
}

.home-reel-player video,
.home-reel-player iframe {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
  border: 0;
}

.home-reel-dialog-bottom {
  margin-top: .875rem;
}

.home-reel-dialog-bottom p {
  margin: 0;
  color: #eee;
  font-size: .875rem;
  line-height: 1.4;
}

.home-reel-dialog-bottom .home-reel-status {
  margin-top: .625rem;
}

.home-reel-original {
  display: inline-flex;
  align-items: center;
  gap: .4375rem;
  margin-top: .6875rem;
  color: var(--ps-mint);
  font-size: .875rem;
  font-weight: 700;
  text-decoration: underline;
  text-underline-offset: .25rem;
}

.home-reel-original svg {
  width: 1.125rem;
  height: 1.125rem;
}

.home-reel-close:focus-visible,
.home-reel-original:focus-visible {
  outline: .1875rem solid var(--ps-teal);
  outline-offset: .3125rem;
}

@media (min-width: 23.8125rem) {
  .home-reels-head {
    flex-direction: row;
    align-items: end;
  }

  .home-reels-track {
    grid-auto-columns: 78%;
  }
}

@media (min-width: 43.8125rem) {
  .home-reels-head {
    gap: 1.5rem;
  }

  .home-reels-title span:first-child,
  .home-resources-title > span:first-child {
    white-space: nowrap;
  }

  .home-reels-controls {
    gap: .625rem;
  }

  .home-step {
    width: 2.875rem;
    height: 2.875rem;
  }

  .home-reels-track {
    grid-auto-columns: calc(33.3333% - 1rem);
    gap: 1.5rem;
  }

  .home-reel-cover {
    border-radius: 1.375rem;
  }

  .home-reel-platform {
    top: .875rem;
    left: .875rem;
  }

  .home-reel-copy h3 {
    font-size: 1.25rem;
    letter-spacing: -.03125rem;
  }

  .home-reels-footer {
    align-items: center;
    gap: 1.25rem;
  }

  .home-reel-dialog {
    padding: 1.125rem;
    border-radius: 1.5rem;
  }
}

@media (min-width: 75rem) {
  .home-reels-inner {
    max-width: 72rem;
  }

  .home-reels-track {
    grid-auto-columns: calc(25% - 1.125rem);
  }
}

/* ---------- resources ---------- */

.home-resources {
  background: var(--ps-ink);
  color: #fff;
}

.page-index .home-resources .ps-eyebrow {
  color: var(--ps-teal);
}

.home-resources-head {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  align-items: end;
  gap: 1.4375rem;
  margin-bottom: 2.5rem;
}

.home-resources-lead {
  max-width: 26.25rem;
  margin: 0;
  color: #d6dbd8;
  font-size: 1.0625rem;
  line-height: 1.6;
}

.home-resources-overview {
  display: grid;
  grid-template-columns: 1fr;
  align-items: center;
  gap: 1.75rem;
}

.home-resources-map {
  width: 100%;
  max-width: 45rem;
  min-width: 0;
  margin: 0 auto;
  scroll-margin-top: .75rem;
}

.home-resources-map img {
  display: block;
  width: 100%;
  height: auto;
  border-radius: 1rem;
}

.home-resources-people {
  min-width: 0;
}

.home-stats {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.home-stat {
  padding: 1.1875rem .5rem;
}

.home-stat:nth-child(odd) {
  border-right: 1px solid #414541;
}

.home-stat:nth-child(-n+2) {
  border-bottom: 1px solid #414541;
}

.home-stat strong {
  display: block;
  color: var(--ps-teal);
  font-size: 2.4rem;
  font-weight: 800;
  font-variant-numeric: tabular-nums;
  line-height: 1;
  letter-spacing: -.055em;
}

.home-stat span {
  display: block;
  margin-top: .5rem;
  font-size: .9375rem;
  font-weight: 700;
}

.home-support-facts {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 1.25rem;
  margin-top: 1.375rem;
  padding: 1.375rem .875rem;
  border-top: 1px solid #414541;
}

.home-support-facts strong {
  display: block;
  color: var(--ps-mint);
  font-size: 1.7rem;
  line-height: 1.1;
}

.home-support-facts span {
  display: block;
  max-width: 11.875rem;
  margin-top: .5rem;
  color: #d6dbd8;
  font-size: .9375rem;
  line-height: 1.4;
}

.home-resources-link {
  display: inline-flex;
  align-items: center;
  gap: .6875rem;
  margin: .25rem 1.125rem 0 .875rem;
  padding-bottom: .3125rem;
  border-bottom: 1px solid currentColor;
  color: var(--ps-mint);
  font-size: 1rem;
  font-weight: 800;
  line-height: 1.4;
  text-decoration: none;
  -webkit-tap-highlight-color: transparent;
}

.home-resources-link:hover {
  color: #fff;
}

.home-resources-link svg {
  flex: none;
  width: 1.1875rem;
  height: 1.1875rem;
}

/* ---------- presentation & milestone videos ---------- */

.home-presentation,
.home-people {
  margin-top: 1.625rem;
  overflow: hidden;
  border: 1px solid #414541;
  border-radius: 1.25rem;
  scroll-margin-top: .75rem;
}

.home-presentation {
  background: #1c1e1c;
}

.home-presentation summary,
.home-people summary {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1.125rem;
  min-height: 4.125rem;
  padding: 1.125rem 1.25rem;
  font-size: 1rem;
  font-weight: 800;
  line-height: 1.3;
  list-style: none;
  cursor: pointer;
}

.home-presentation summary::-webkit-details-marker,
.home-people summary::-webkit-details-marker {
  display: none;
}

.home-presentation[open] summary {
  border-bottom: 1px solid #414541;
}

.home-presentation summary span,
.home-people summary span {
  flex: none;
  color: var(--ps-teal);
  font-size: 1.65rem;
  font-weight: 400;
  line-height: 1;
  transition: transform .18s;
}

.home-presentation[open] summary span,
.home-people[open] summary span {
  transform: rotate(45deg);
}

.home-presentation-content {
  display: grid;
  grid-template-columns: 1fr;
  align-items: start;
  gap: 1.875rem;
  padding: 1.375rem 1.25rem 1.25rem;
  background: #fff;
  color: var(--ps-charcoal);
}

.home-presentation-card {
  max-width: 28.125rem;
}

.home-presentation-deck {
  display: block;
  overflow: hidden;
  background: #fff;
  border: 1px solid var(--ps-line);
  border-radius: 1.25rem;
  color: inherit;
  text-decoration: none;
  -webkit-tap-highlight-color: transparent;
}

.home-presentation-deck img {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 1.65 / 1;
  object-fit: contain;
}

.home-presentation-card h3,
.home-video-card h3 {
  margin: 1.0625rem 0 0;
  font-size: 1.2rem;
  font-weight: 800;
  line-height: 1.3;
  letter-spacing: -.02em;
  text-wrap: balance;
}

.home-presentation-card p {
  margin: .625rem 0 1.25rem;
  font-size: 1rem;
  line-height: 1.6;
}

.home-videos {
  display: grid;
  grid-template-columns: 1fr;
  gap: 1.625rem;
  scroll-margin-top: .75rem;
}

.home-video-card {
  min-width: 0;
}

.home-video-card:first-child {
  grid-column: 1 / -1;
}

.home-video-card h3 {
  font-size: 1.125rem;
}

.home-video {
  position: relative;
  aspect-ratio: 16 / 9;
  overflow: hidden;
  background: var(--ps-ink);
  border-radius: 1.5rem;
}

.home-video-poster {
  position: relative;
  display: block;
  width: 100%;
  height: 100%;
  color: inherit;
  text-decoration: none;
  -webkit-tap-highlight-color: transparent;
}

.home-video-poster img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.home-video iframe {
  display: block;
  width: 100%;
  height: 100%;
  border: 0;
}

.home-resources-link:focus-visible,
.home-presentation summary:focus-visible,
.home-people summary:focus-visible,
.home-presentation-deck:focus-visible,
.home-video-poster:focus-visible {
  outline: .1875rem solid var(--ps-teal);
  outline-offset: .3125rem;
}

@media (min-width: 23.8125rem) {
  .home-stat {
    padding-inline: .875rem;
  }

  .home-stat strong {
    font-size: 2.8rem;
  }
}

@media (min-width: 43.8125rem) {
  .home-resources-lead {
    font-size: 1.125rem;
  }

  .home-stat {
    padding: 1.25rem 1.125rem;
  }

  .home-stat strong {
    font-size: 3.5rem;
  }

  .home-stat span {
    margin-top: .625rem;
  }

  .home-support-facts {
    padding-inline: 1.125rem;
  }

  .home-resources-link {
    margin-left: 1.125rem;
  }

  .home-presentation,
  .home-people {
    margin-top: 2rem;
  }

  .home-presentation summary,
  .home-people summary {
    padding: 1.25rem 1.5rem;
    font-size: 1.125rem;
  }

  .home-presentation-content {
    grid-template-columns: .75fr 1.25fr;
    gap: 1.75rem;
    padding: 1.625rem;
  }

  .home-presentation-card {
    max-width: none;
  }

  .home-videos {
    grid-template-columns: 1fr 1fr;
    gap: 1.5rem 1.25rem;
  }
}

@media (min-width: 58.8125rem) {
  .home-resources-head {
    grid-template-columns: minmax(0, 2fr) minmax(0, 1fr);
    gap: 2.25rem;
  }

  .home-resources-overview {
    grid-template-columns: 1fr 1fr;
  }

  .home-resources-map {
    width: auto;
    max-width: none;
    margin: 0;
  }

  .home-stat strong {
    font-size: clamp(2.8rem, 4.3vw, 3.6rem);
  }

  .home-presentation-content {
    gap: 2.5rem;
  }
}

@media (min-width: 68.8125rem) {
  .home-resources-overview {
    grid-template-columns: 1.15fr 1fr;
    gap: 3rem;
  }
}

/* ---------- celebration ---------- */

.home-celebration {
  background: var(--ps-mint-tint);
}

#engagement,
#advantage {
  scroll-margin-top: .75rem;
}

#main-content,
#home-celebration-title,
#celebration-rewards,
#service-history,
#community-experience,
#communications-title,
#communications-track,
#product-sustainability-title,
#resources-design-title,
#design,
#dp-support-title,
#transition-title {
  scroll-margin-top: 10rem;
}

.home-celebration-grid {
  display: grid;
  grid-template-columns: 1fr;
  align-items: start;
  gap: 1.875rem;
}

.home-celebration-benefits {
  min-width: 0;
}

.home-celebration-head {
  max-width: 61.25rem;
  margin-bottom: 1.75rem;
}

.home-celebration-lead {
  max-width: 53.125rem;
  margin: 1.5rem 0 0;
}

.home-celebration-lead,
.home-celebration-proof p,
.home-technology-lead,
.home-transition-content > p {
  font-size: 1.0625rem;
  line-height: 1.6;
}

.home-icon {
  flex: none;
  width: 1.5rem;
  height: 1.5rem;
  color: var(--ps-teal-accessible);
  fill: none;
  stroke: currentColor;
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-width: 1.7;
}

.home-rewards {
  padding: 1.5rem 1.125rem;
  background: #fff;
  border: 1px solid var(--ps-mint);
  border-radius: 1.5rem;
  box-shadow: 0 .625rem 1.75rem rgb(0 127 123 / .05);
}

.home-rewards-title {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: .75rem;
  text-align: center;
}

.home-rewards-title .home-icon {
  width: 1.75rem;
  height: 1.75rem;
}

.home-rewards-title h3 {
  margin: 0;
  font-size: 1.35rem;
  font-weight: 800;
  line-height: 1.2;
  letter-spacing: -.025em;
  text-wrap: balance;
}

.home-rewards-intro {
  margin: .875rem auto 0;
  font-size: 1rem;
  line-height: 1.5;
  text-align: center;
  text-wrap: pretty;
}

.home-rewards-amounts {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: .625rem;
  margin-top: 1.5rem;
}

.home-rewards-amounts p {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  min-width: 0;
  margin: 0;
  padding: 1.375rem .5rem;
  background: var(--ps-mint-tint);
  border: 1px solid var(--ps-mint);
  border-radius: 1rem;
  font-size: 1.0625rem;
  line-height: 1.6;
  text-align: center;
}

.home-rewards-amounts strong,
.home-rewards-equation strong {
  display: block;
  font-variant-numeric: lining-nums tabular-nums;
  line-height: 1.1;
  letter-spacing: -.045em;
  white-space: nowrap;
}

.home-rewards-amounts strong,
.home-rewards-total strong {
  color: var(--ps-teal-accessible);
}

.home-rewards-amounts strong {
  font-size: 2.25rem;
}

.home-rewards-amounts span {
  display: block;
  margin-top: .625rem;
  font-size: .875rem;
  font-weight: 700;
  line-height: 1.35;
}

.home-rewards-equation {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr) auto minmax(0, 1fr);
  align-items: center;
  gap: .25rem;
  margin-top: 1.25rem;
  padding: 1.375rem .375rem;
  background: #fff;
  border: 1px solid var(--ps-mint);
  border-radius: 1rem;
  text-align: center;
}

.home-rewards-equation div {
  min-width: 0;
}

.home-rewards-equation strong {
  font-size: 1.45rem;
}

.home-rewards-equation div span {
  display: block;
  margin-top: .4375rem;
  font-size: .75rem;
  font-weight: 700;
  line-height: 1.3;
}

.home-rewards-operator {
  padding-bottom: 1.375rem;
  color: var(--ps-teal);
  font-size: 3rem;
  line-height: 1;
}

.home-rewards-rule {
  max-width: 21.689941rem;
  margin: 1.125rem auto 0;
  color: var(--ps-muted);
  font-size: .8125rem;
  line-height: 1.5;
  text-align: center;
  text-wrap: pretty;
}

.home-celebration-media {
  display: flex;
  flex-direction: column;
  align-self: stretch;
  min-width: 0;
}

.home-celebration-photo {
  margin: 0;
  overflow: hidden;
  border-radius: 1.5rem;
}

.home-celebration-photo img {
  display: block;
  width: 100%;
  height: auto;
  max-height: 20rem;
  aspect-ratio: 16 / 9;
  object-fit: cover;
  object-position: 50% 35%;
}

.home-celebration-proof {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 1.25rem;
  padding-top: 1.375rem;
}

.home-celebration-proof p {
  margin: 0;
}

.home-celebration-proof strong {
  display: block;
  color: var(--ps-teal-accessible);
  font-size: clamp(2.5rem, 3.5vw, 3.3rem);
  line-height: 1;
  letter-spacing: -.045em;
}

.home-celebration-proof span {
  display: block;
  max-width: 12.5rem;
  margin-top: .5625rem;
  font-size: 1rem;
  line-height: 1.4;
}

.home-celebration-tools {
  display: grid;
  grid-template-columns: 1fr;
  margin-top: 1.5rem;
}

.home-feature-line {
  display: flex;
  align-items: start;
  gap: 1rem;
  padding-block: 1.0625rem;
  border-top: 1px solid var(--ps-line);
  font-size: 1.0625rem;
  font-weight: 700;
}

.home-feature-line h3 {
  margin: 0;
  font-size: 1.15rem;
  font-weight: 800;
  line-height: 1.3;
  text-wrap: balance;
}

.home-feature-line small {
  display: block;
  margin-top: .3125rem;
  font-size: 1rem;
  font-weight: 400;
  line-height: 1.5;
}

.home-celebration-actions {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  justify-content: flex-end;
  gap: 1.5rem;
  margin-top: auto;
  padding-top: 1.75rem;
}

.home-celebration-link {
  display: flex;
  align-items: center;
  align-self: center;
  gap: .875rem;
  min-height: 3rem;
  color: inherit;
  text-decoration: none;
  -webkit-tap-highlight-color: transparent;
}

.home-celebration-link img {
  display: block;
  flex: none;
  width: 2.375rem;
  height: 2.6875rem;
  object-fit: contain;
}

.home-celebration-link strong,
.home-comms-track strong {
  display: block;
  font-size: 1.05rem;
  line-height: 1.3;
}

.home-celebration-link small {
  display: block;
  margin-top: .25rem;
  color: var(--ps-teal-accessible);
  font-size: .9375rem;
  text-decoration: underline;
  text-underline-offset: .25rem;
}

.home-celebration-link svg {
  flex: none;
  width: 1.375rem;
  height: 1.375rem;
}

/* ---------- print & digital communications ---------- */

.home-comms {
  margin-top: 1.5rem;
  padding-top: 1.5rem;
  border-top: 1px solid var(--ps-mint);
}

.home-comms-head {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: space-between;
  gap: 1.125rem;
  margin-bottom: 1.5rem;
}

.home-comms-intro {
  max-width: 53.125rem;
}

.home-comms-intro h3 {
  margin: 0;
  font-size: 1.65rem;
  font-weight: 800;
  line-height: 1.2;
  letter-spacing: -.025em;
  text-wrap: balance;
}

.home-comms-intro p {
  margin: .875rem 0 0;
  font-size: 1rem;
  line-height: 1.55;
}

.home-comms-controls {
  display: flex;
  flex: none;
  align-self: flex-end;
  gap: .625rem;
}

.home-comms-controls[hidden] {
  display: none;
}

.home-comms-controls .home-step {
  width: 2.75rem;
  height: 2.75rem;
}

.home-comms-track {
  display: grid;
  grid-auto-flow: column;
  grid-auto-columns: 82%;
  gap: 1.125rem;
  padding: .25rem .125rem 1rem;
  overflow-x: auto;
  scroll-padding-inline: .125rem;
  scroll-snap-type: x mandatory;
}

.home-comms-track figure {
  display: flex;
  flex-direction: column;
  min-width: 0;
  margin: 0;
  scroll-snap-align: start;
}

.home-comms-track a {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 15.625rem;
  padding: .875rem;
  overflow: hidden;
  background: #fff;
  border: 1px solid var(--ps-mint);
  border-radius: 1.125rem;
  color: inherit;
  text-decoration: none;
  -webkit-tap-highlight-color: transparent;
}

.home-comms-track img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.home-comms-track figcaption {
  padding-top: .875rem;
}

.home-comms-track span {
  display: block;
  margin-top: .3125rem;
  color: var(--ps-muted);
  font-size: .9375rem;
  line-height: 1.4;
}

.home-celebration-link:focus-visible,
.home-comms-track a:focus-visible {
  outline: .1875rem solid var(--ps-teal);
  outline-offset: .3125rem;
}

@media (min-width: 23.8125rem) {
  .home-rewards-title h3 {
    font-size: 1.55rem;
  }

  .home-rewards-amounts strong {
    font-size: clamp(2.5rem, 3.7vw, 3.5rem);
  }

  .home-rewards-equation {
    gap: .3125rem;
    padding-inline: .5rem;
  }

  .home-rewards-equation strong {
    font-size: clamp(1.4rem, 6.3vw, 2rem);
  }

  .home-rewards-equation div span {
    font-size: .875rem;
  }

  .home-rewards-operator {
    font-size: 4.2rem;
  }
}

@media (min-width: 43.8125rem) {
  .home-celebration-lead,
  .home-celebration-proof p,
  .home-technology-lead,
  .home-transition-content > p {
    font-size: 1.125rem;
  }

  .home-rewards {
    padding: 1.75rem;
  }

  .home-rewards-amounts {
    gap: .875rem;
  }

  .home-rewards-amounts p {
    padding: 1.5rem .625rem;
    font-size: 1.125rem;
  }

  .home-rewards-amounts span {
    font-size: 1rem;
  }

  .home-rewards-equation {
    gap: .5rem;
    padding-inline: .75rem;
  }

  .home-rewards-equation strong {
    font-size: clamp(1.7rem, 2.8vw, 2.5rem);
  }

  .home-celebration-proof {
    padding-top: 1.625rem;
  }

  .home-celebration-tools {
    margin-top: 1.875rem;
  }

  .home-celebration-actions {
    flex-direction: row;
    align-items: center;
    gap: 1.75rem;
  }

  .home-celebration-link {
    align-self: auto;
  }

  .home-comms {
    margin-top: 2rem;
    padding-top: 1.875rem;
  }

  .home-comms-head {
    flex-direction: row;
    align-items: flex-end;
    gap: 1.75rem;
  }

  .home-comms-controls {
    align-self: auto;
  }

  .home-comms-track {
    grid-auto-columns: calc(33.3333% - 1rem);
    gap: 1.5rem;
  }

  .home-comms-track a {
    height: 16.875rem;
  }
}

@media (min-width: 56.3125rem) {
  .home-celebration-grid {
    grid-template-columns: 1fr 1fr;
    gap: 2.75rem;
  }

  .home-celebration-head {
    margin-bottom: 2.375rem;
  }
}

/* ---------- technology ---------- */

.home-technology-grid {
  display: grid;
  grid-template-columns: 1fr;
  align-items: start;
  gap: 2.125rem;
}

.home-technology-lead {
  margin: 1.5rem 0 0;
}

.home-operations {
  display: grid;
  grid-template-columns: 1fr;
  gap: 1.625rem 1.375rem;
}

.home-operations article {
  min-width: 0;
}

.home-operations-thumb {
  display: flex;
  align-items: center;
  justify-content: center;
  max-height: 13.125rem;
  aspect-ratio: 16 / 10;
  margin: 0 0 1.25rem;
  padding: .875rem;
  overflow: hidden;
  background: var(--ps-mint-tint);
  border: 1px solid var(--ps-mint);
  border-radius: 1rem;
}

.home-operations-thumb--education {
  padding: 0;
}

.home-operations-thumb img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.home-operations-thumb--teams img {
  width: 48%;
  height: 82%;
}

.home-operations h3,
.home-people-list dt,
.home-education h3 {
  margin: 0;
  font-size: 1.3rem;
  font-weight: 800;
  line-height: 1.2;
  letter-spacing: -.025em;
}

.home-operations h3,
.home-education h3 {
  text-wrap: balance;
}

.home-operations p {
  margin: .75rem 0 0;
  font-size: 1rem;
  line-height: 1.55;
}

/* ---------- people, products and local support ---------- */

.home-people {
  background: #fff;
  border-color: var(--ps-mint);
  color: var(--ps-charcoal);
}

.home-people summary span {
  color: var(--ps-teal-accessible);
}

.home-people-content {
  display: grid;
  grid-template-columns: 1fr;
  align-items: start;
  gap: 1.5rem;
  padding: 0 1.25rem 1.25rem;
}

.home-people-list {
  display: grid;
  align-content: space-between;
  align-self: stretch;
  gap: 1.5rem;
  margin: 0;
}

.home-people-list dd,
.home-education p {
  margin: .625rem 0 0;
  font-size: 1.125rem;
  line-height: 1.6;
}

.home-people-media {
  min-width: 0;
}

.home-people-gallery {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: .875rem;
  min-width: 0;
}

.home-people-gallery figure {
  margin: 0;
}

.home-people-gallery img {
  display: block;
  width: 100%;
  height: 10.3125rem;
  object-fit: cover;
  border-radius: 1rem;
}

.home-sustainability {
  margin-top: 1.5rem;
  padding-top: 1.25rem;
  border-top: 1px solid var(--ps-line);
}

.home-sustainability h3 {
  margin: 0 0 .625rem;
  font-size: 1.125rem;
  font-weight: 800;
  line-height: 1.3;
  letter-spacing: -.01em;
  text-wrap: balance;
}

.home-sustainability p {
  margin: 0;
  font-size: 1rem;
  line-height: 1.6;
}

.home-sustainability a,
.home-education a {
  display: inline-block;
  margin-top: .75rem;
  font-weight: 700;
  line-height: 1.5;
  text-decoration: underline;
  text-underline-offset: .1875rem;
  -webkit-tap-highlight-color: transparent;
}

.home-sustainability a {
  max-width: 100%;
  color: var(--ps-teal-accessible);
  font-size: .875rem;
}

.home-education {
  display: grid;
  grid-column: 1 / -1;
  grid-template-columns: minmax(0, 1fr);
  gap: 1.5rem;
  padding-top: 1.25rem;
  border-top: 1px solid var(--ps-line);
}

.home-education article {
  min-width: 0;
}

.home-education img {
  display: block;
  width: 18rem;
  max-width: 100%;
  height: 5rem;
  margin: 0 0 .75rem;
  object-fit: contain;
  object-position: left center;
}

.home-education a {
  color: var(--ps-charcoal);
  font-size: 1rem;
}

.home-sustainability a:focus-visible,
.home-education a:focus-visible {
  outline: .1875rem solid var(--ps-teal);
  outline-offset: .3125rem;
}

@media (min-width: 35.0625rem) {
  .home-operations {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .home-operations-thumb {
    max-height: none;
  }
}

@media (min-width: 43.8125rem) {
  .home-operations {
    gap: 2rem;
  }

  .home-people-content {
    padding-inline: 1.5rem;
    padding-bottom: 1.5rem;
  }

  .home-people-gallery img {
    height: 12.5rem;
  }
}

@media (min-width: 50.0625rem) {
  .home-people-content {
    grid-template-columns: 1fr 1fr;
    gap: 1.875rem;
  }

  .home-education {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1.875rem;
  }
}

@media (min-width: 58.8125rem) {
  .home-technology-grid {
    gap: 2.5rem;
  }
}

@media (min-width: 75rem) {
  .home-operations {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }
}

/* ---------- design & procurement ---------- */

.home-design-card {
  display: grid;
  grid-template-columns: 1fr;
  align-items: stretch;
  gap: 1.375rem;
  margin-top: 1.75rem;
  padding: 1.25rem;
  background: #fff;
  border: 1px solid var(--ps-line);
  border-radius: 1.5rem;
  color: var(--ps-charcoal);
}

.home-design-column,
.home-design-media {
  min-width: 0;
}

.home-design-brand,
.home-design-actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
}

.home-design-brand {
  gap: 1rem;
}

.home-design-brand img {
  display: block;
  flex: none;
  width: 5.75rem;
  max-width: 100%;
  height: auto;
}

.home-design-brand h3 {
  margin: 0;
  font-size: 1.45rem;
  font-weight: 800;
  line-height: 1.15;
  letter-spacing: -.05em;
  text-wrap: balance;
}

.home-design-lead {
  margin: 1.75rem 0 0;
  font-size: 1.25rem;
  line-height: 1.5;
}

.home-design-support,
.home-transition-content {
  margin-top: 1.5rem;
}

.home-design-support h3 {
  margin: 0;
  font-size: 1.125rem;
  font-weight: 800;
  line-height: 1.35;
  letter-spacing: -.025em;
  text-wrap: balance;
}

.home-design-support p {
  margin: .75rem 0 0;
  font-size: 1.125rem;
  line-height: 1.6;
}

.home-design-examples {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: .875rem;
  margin-top: 1.5rem;
}

.home-design-examples figure {
  height: 10.3125rem;
  min-width: 0;
  margin: 0;
  overflow: hidden;
  background: var(--ps-mint-tint);
  border-radius: 1rem;
}

.home-design-examples img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  border-radius: 1rem;
}

.home-design-examples .home-design-equipment {
  background: #fff;
  border: 1px solid var(--ps-line);
}

.home-design-equipment img {
  padding: .75rem;
  object-fit: contain;
}

.home-design-photo {
  min-width: 0;
  margin: 0;
  overflow: hidden;
  border-radius: 1.125rem;
}

.home-design-photo img {
  display: block;
  width: 100%;
  height: auto;
  max-height: 20.625rem;
  aspect-ratio: 16 / 9;
  object-fit: cover;
}

.home-design-actions {
  gap: .75rem;
  margin-top: 1.25rem;
}

.home-design-actions .ps-cta {
  width: 100%;
}

@media (min-width: 43.8125rem) {
  .home-design-card {
    gap: 1.875rem;
    padding: 1.5rem;
  }

  .home-design-brand {
    gap: 1.25rem;
  }

  .home-design-brand img {
    width: 7.25rem;
  }

  .home-design-brand h3 {
    font-size: 1.75rem;
  }

  .home-design-examples figure {
    height: 15rem;
  }

  .home-design-actions .ps-cta {
    width: auto;
  }
}

@media (min-width: 56.3125rem) {
  .home-design-card {
    grid-template-columns: 1fr 1fr;
  }

  .home-design-lead {
    font-size: 1.35rem;
  }

  /* The photo's frame takes the height the left column leaves. The image
     keeps its 16:9 ratio and max height at the top of the frame, as in the
     prototype. */
  .home-design-media {
    display: grid;
    grid-template-rows: minmax(0, 1fr) auto;
  }

  .home-design-photo {
    position: relative;
    min-height: 0;
  }

  .home-design-photo img {
    position: absolute;
    inset: 0;
  }
}

/* ---------- partner voices ---------- */

.home-voices {
  background: var(--ps-mint-tint);
}

.home-voices-intro {
  max-width: 49.375rem;
  margin-bottom: 2.375rem;
}

.home-voices-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 2.25rem;
}

.home-voices-grid figure {
  margin: 0;
  padding-top: 1.875rem;
  border-top: .1875rem solid var(--ps-teal);
}

.home-voices-grid blockquote {
  margin: 0;
  font-size: clamp(1.7rem, 2.5vw, 2.4rem);
  font-weight: 800;
  line-height: 1.25;
  letter-spacing: -.03em;
}

.home-voices-grid figcaption {
  margin-top: 1.5625rem;
  font-size: .875rem;
  line-height: 1.55;
}

.home-voices-grid strong {
  display: block;
}

@media (min-width: 43.8125rem) {
  .home-voices-grid {
    grid-template-columns: 1fr 1fr;
    gap: 3.4375rem;
  }
}

/* ---------- transition ---------- */

.home-transition-content > p {
  margin: 0;
}

/* Balanced, so "requirements." isn't left alone on narrow screens. */
.home-transition-timing + p {
  text-wrap: balance;
}

.home-transition-steps {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: .75rem;
  margin: 1.5rem 0 1.25rem;
  padding: 0;
  list-style: none;
}

.home-transition-steps li {
  min-width: 0;
  margin: 0;
  padding: 1.0625rem .9375rem;
  background: var(--ps-mint-tint);
  border: 1px solid var(--ps-mint);
  border-radius: 1.125rem;
}

.home-transition-step-top {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: .625rem;
  margin-bottom: 1.125rem;
}

.home-transition-number {
  display: grid;
  flex: none;
  place-items: center;
  width: 1.875rem;
  height: 1.875rem;
  background: var(--ps-teal-accessible);
  border-radius: 50%;
  color: #fff;
  font-size: .875rem;
  font-weight: 800;
  font-variant-numeric: tabular-nums;
}

.home-transition-steps .home-icon {
  width: 1.9375rem;
  height: 1.9375rem;
}

.home-transition-label {
  display: block;
  font-size: 1rem;
  font-weight: 700;
  line-height: 1.3;
}

.home-transition-timing {
  display: flex;
  align-items: center;
  gap: 1.125rem;
  padding: 1.125rem 1.25rem;
  background: var(--ps-ink);
  border-radius: 1.125rem;
  color: #fff;
}

.home-transition-timing .home-icon {
  width: 2.125rem;
  height: 2.125rem;
  color: var(--ps-teal);
}

/* Scales down below about 375px so "days" stays on the first line. */
.home-transition-timing strong {
  font-size: clamp(1rem, 3.64vw + .27rem, 1.125rem);
  font-weight: 700;
  line-height: 1.2;
}

.home-transition-timing strong span {
  padding-inline: .1875rem;
  color: var(--ps-teal);
  font-size: clamp(1.75rem, 6.36vw + .51rem, 2rem);
  font-weight: 800;
}

.home-transition-timing div > span {
  display: block;
  margin-top: .25rem;
  color: #d6dbd8;
  font-size: .875rem;
}

@media (min-width: 43.8125rem) {
  .home-transition-steps {
    gap: .875rem;
  }

  .home-transition-steps li {
    padding: 1.125rem 1rem;
  }
}

@media (min-width: 58.8125rem) {
  .home-transition-steps {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

/* ---------- contact ---------- */

/* ps-base.css sets this width on .ps-headline; the heading here is a
   .home-headline. */
.ps-contact-info .home-headline {
  max-width: 23.75rem;
}

/* The presentation button, under the lead. */
.home-contact-actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: .75rem;
  margin-top: 1.6875rem;
}

/* The links' shared 3.6875rem margin allows for an empty row of buttons. */
.home-contact-actions + .ps-contact-links {
  margin-top: 2rem;
}

@media (min-width: 43.8125rem) {
  .ps-contact-info .home-headline {
    max-width: none;
  }
}

/* The tracks' previous/next steps glide, unless reduced motion is on. */
@media (prefers-reduced-motion: no-preference) {
  .home-reels-track,
  .home-comms-track {
    scroll-behavior: smooth;
  }
}

/* ---------- print ---------- */

@media print {
  .home-hero {
    padding-block: 1.875rem;
    background: #fff;
    color: #000;
  }

  .page-index .home-hero-eyebrow,
  .home-hero-title span {
    color: #000;
  }

  .home-hero-cta {
    text-decoration: underline;
  }

  .home-hero-controls {
    display: none;
  }

  .home-reels {
    background: #fff;
    color: #000;
  }

  .home-reel-cover,
  .home-reels-channels a,
  .home-resources-link,
  .home-presentation-card .ps-cta {
    text-decoration: underline;
  }

  .home-resources,
  .home-celebration,
  .home-voices {
    background: #fff;
    color: #000;
  }

  .home-resources-lead,
  .home-presentation-card p {
    color: #000;
  }

  .home-stat strong {
    color: var(--ps-teal-accessible);
  }
}

@media print and (min-width: 58.8125rem) {
  .home-hero {
    min-height: 0;
  }
}
