/**
 * SmartHealth — Ensemble page (Figma 353:10)
 * Canvas: 1920. Spacing: calc(N * var(--sh-px))
 * Depends on design tokens in main.css (:root)
 */

/* --------------------------------------------------------------------------
   Page shell + solid header
   -------------------------------------------------------------------------- */
.sh-ens-page {
  overflow-x: clip;
}

body.page-template-page-ensemble {
  overflow-x: clip;
}

body.page-template-page-ensemble .sh-header,
body.page-template-page-ensemble .sh-ens-hero {
  width: 100%;
  max-width: none;
}

body.page-template-page-ensemble .sh-header__inner {
  max-width: calc(1920 * var(--sh-px));
}

/* --------------------------------------------------------------------------
   Shared section chrome
   -------------------------------------------------------------------------- */
.sh-ens-section {
  position: relative;
  width: 100%;
}

.sh-ens-section__inner {
  position: relative;
  z-index: 1;
  width: 100%;
  max-width: calc(1920 * var(--sh-px));
  margin-inline: auto;
  padding-inline: var(--sh-page-x);
}

.sh-ens-section__title {
  margin: 0 auto;
  max-width: calc(1558 * var(--sh-px));
  font-family: var(--sh-font-display);
  font-weight: 800;
  font-size: var(--sh-text-50);
  line-height: var(--sh-leading-52);
  text-align: center;
}

.sh-ens-section__title--cyan {
  color: var(--sh-cyan);
}

.sh-ens-section__title--plum {
  color: var(--sh-plum);
}

.sh-ens-section__title--green {
  color: var(--sh-green);
}

.sh-ens-section__title--gold {
  color: var(--sh-gold);
}

/* --------------------------------------------------------------------------
   Partner cards
   -------------------------------------------------------------------------- */
.sh-ens-cards {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  gap: calc(37 * var(--sh-px));
  justify-content: center;
}

.sh-ens-cards--3 {
  grid-template-columns: repeat(3, minmax(0, calc(482 * var(--sh-px))));
}

.sh-ens-cards--2 {
  grid-template-columns: repeat(2, minmax(0, calc(482 * var(--sh-px))));
}

.sh-ens-card {
  box-sizing: border-box;
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  min-height: calc(715 * var(--sh-px));
  padding: calc(108 * var(--sh-px)) calc(40 * var(--sh-px)) calc(48 * var(--sh-px));
  border-radius: 0 var(--sh-radius-card) 0 var(--sh-radius-card);
}

.sh-ens-card--cyan {
  background: #e6f8fd;
}

.sh-ens-card--cyan .sh-ens-card__bar {
  background: var(--sh-cyan);
}

.sh-ens-card--cyan .sh-ens-card__name {
  color: var(--sh-cyan);
}

.sh-ens-card--plum {
  background: #f2eff5;
  min-height: calc(653 * var(--sh-px));
}

.sh-ens-card--plum .sh-ens-card__bar {
  background: var(--sh-plum);
}

.sh-ens-card--plum .sh-ens-card__name {
  color: var(--sh-plum);
}

.sh-ens-card--green .sh-ens-card__bar {
  background: var(--sh-green);
}

.sh-ens-card--green .sh-ens-card__name {
  color: var(--sh-green);
}

.sh-ens-card--gold {
  background: #fff7ed;
  min-height: calc(662 * var(--sh-px));
}

.sh-ens-card--gold .sh-ens-card__bar {
  background: var(--sh-gold);
}

.sh-ens-card--gold .sh-ens-card__name {
  color: var(--sh-gold);
}

.sh-ens-card--navy .sh-ens-card__bar {
  background: var(--sh-dark-blue);
}

.sh-ens-card--navy .sh-ens-card__name {
  color: var(--sh-dark-blue);
}

.sh-ens-card--on-white {
  background: var(--sh-white);
  min-height: calc(784 * var(--sh-px));
}

.sh-ens-hci .sh-ens-card--on-white {
  min-height: calc(596 * var(--sh-px));
  width: 100%;
  max-width: calc(540 * var(--sh-px));
}

.sh-ens-card__logo-wrap {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: calc(121 * var(--sh-px));
  margin-bottom: calc(20 * var(--sh-px));
}

.sh-ens-card__logo {
  display: block;
  max-width: 76%;
  max-height: 100%;
  width: auto;
  height: auto;
  opacity: 0.4;
  object-fit: contain;
}

.sh-ens-card__wordmark {
  margin: 0 0 calc(20 * var(--sh-px));
  font-family: var(--sh-font-display);
  font-weight: 800;
  font-size: calc(80 * var(--sh-px));
  line-height: calc(80 * var(--sh-px));
  color: #aeaaa8;
  opacity: 0.7;
}

.sh-ens-card__bar {
  display: block;
  width: calc(289 * var(--sh-px));
  max-width: 100%;
  height: calc(25 * var(--sh-px));
  margin-bottom: calc(40 * var(--sh-px));
  border-radius: var(--sh-radius-soft) 0 var(--sh-radius-soft) 0;
}

.sh-ens-card__name {
  margin: 0 0 calc(24 * var(--sh-px));
  max-width: calc(399 * var(--sh-px));
  font-family: var(--sh-font-display);
  font-weight: 800;
  font-size: var(--sh-text-50);
  line-height: var(--sh-leading-52);
}

.sh-ens-card__copy {
  margin: 0;
  max-width: calc(350 * var(--sh-px));
  font-family: var(--sh-font-body);
  font-weight: 500;
  font-size: var(--sh-text-18);
  line-height: var(--sh-leading-36);
  color: var(--sh-black);
}

.sh-ens-card--green .sh-ens-card__copy,
.sh-ens-card--navy .sh-ens-card__copy {
  max-width: calc(399 * var(--sh-px));
}

/* --------------------------------------------------------------------------
   Hero
   -------------------------------------------------------------------------- */
.sh-ens-hero {
  position: relative;
  width: 100%;
  color: var(--sh-white);
  min-height: calc(964 * var(--sh-px));
  background: var(--sh-dark-blue);
  overflow: clip;
}

.sh-ens-hero__stage {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  align-items: center;
  gap: calc(24 * var(--sh-px));
  width: 100%;
  max-width: calc(1920 * var(--sh-px));
  min-height: calc(964 * var(--sh-px));
  margin-inline: auto;
  padding: calc(120 * var(--sh-px)) var(--sh-page-x) calc(48 * var(--sh-px));
  box-sizing: border-box;
}

.sh-ens-hero__title {
  margin: 0;
  max-width: calc(844 * var(--sh-px));
  font-family: var(--sh-font-display);
  font-weight: 800;
  font-size: var(--sh-text-112);
  line-height: var(--sh-leading-116);
  color: var(--sh-white);
}

.sh-ens-hero__subtitle {
  margin: calc(28 * var(--sh-px)) 0 0;
  max-width: calc(820 * var(--sh-px));
  font-family: var(--sh-font-display);
  font-weight: 800;
  font-size: var(--sh-text-50);
  line-height: var(--sh-leading-62);
  color: var(--sh-cyan);
}

.sh-ens-hero__graphic {
  margin: 0;
  justify-self: end;
  width: min(100%, calc(786 * var(--sh-px)));
  background: transparent;
}

.sh-ens-hero__graphic img {
  display: block;
  width: 100%;
  height: auto;
  background: transparent;
}

/* --------------------------------------------------------------------------
   Physical
   -------------------------------------------------------------------------- */
.sh-ens-physical {
  padding: calc(148 * var(--sh-px)) 0 calc(100 * var(--sh-px));
  background: var(--sh-white);
}

.sh-ens-physical .sh-ens-cards {
  margin-top: calc(82 * var(--sh-px));
}

/* --------------------------------------------------------------------------
   Mental
   -------------------------------------------------------------------------- */
.sh-ens-mental {
  padding: calc(80 * var(--sh-px)) 0 calc(120 * var(--sh-px));
  background: var(--sh-white);
  overflow: visible;
}

.sh-ens-mental .sh-ens-section__inner {
  overflow: visible;
}

/*
 * Figma 353:271 — photo 1098×928 @ x207; Yuna card 482×653 @ x1245/y2600.
 * Card overlaps photo by ~60px; sits 137px below photo top.
 */
.sh-ens-mental__row {
  position: relative;
  display: block;
  margin-top: calc(100 * var(--sh-px));
  min-height: calc(928 * var(--sh-px));
  overflow: visible;
}

.sh-ens-mental__photo {
  position: relative;
  z-index: 1;
  margin: 0;
  width: calc(1098 * var(--sh-px));
  max-width: 100%;
  border-radius: var(--sh-radius-card) 0;
  overflow: visible;
}

.sh-ens-mental__photo > img:first-child {
  display: block;
  width: 100%;
  height: auto;
  border-radius: var(--sh-radius-card) 0;
  object-fit: cover;
  aspect-ratio: 1098 / 928;
}

/* Card overlaps right edge of photo (1245 − (207+1098−60) ≈ −60) */
.sh-ens-mental__card {
  position: absolute;
  top: calc(137 * var(--sh-px));
  right: 0;
  z-index: 2;
  width: calc(482 * var(--sh-px));
  max-width: calc(42% + 40px);
  box-sizing: border-box;
}

.sh-ens-mental__pluses {
  position: absolute;
  inset: 0;
  pointer-events: none;
  z-index: 3;
  overflow: visible;
}

.sh-ens-mental__plus {
  position: absolute;
  display: block;
  max-width: none;
  width: auto;
  height: auto;
  object-fit: contain;
  border-radius: 0;
}

/*
 * Figma MENTAL pluses 353:279–283 — vectors are scaleX(-1).
 * Metadata x is the RIGHT edge of the flipped box; visual left = inset left%.
 * Page 1920: visual lefts 149 / 433 / 247 / 126 / 105 vs photo @ 207,2463.
 *
 * a 121×122 → -58, +186  (straddles left edge of photo)
 * b  69×70  → +226, -29  (straddles top edge)
 * c  46×47  → +40, -92
 * d  29×30  → -81, +99
 * e  21×22  → -102, -79
 */
.sh-ens-mental__plus--a {
  left: calc(-58 * var(--sh-px));
  top: calc(186 * var(--sh-px));
  width: calc(121 * var(--sh-px));
  height: calc(122 * var(--sh-px));
}

.sh-ens-mental__plus--b {
  left: calc(226 * var(--sh-px));
  top: calc(-29 * var(--sh-px));
  width: calc(69 * var(--sh-px));
  height: calc(70 * var(--sh-px));
}

.sh-ens-mental__plus--c {
  left: calc(40 * var(--sh-px));
  top: calc(-92 * var(--sh-px));
  width: calc(46 * var(--sh-px));
  height: calc(47 * var(--sh-px));
  opacity: 0.85;
}

.sh-ens-mental__plus--d {
  left: calc(-81 * var(--sh-px));
  top: calc(99 * var(--sh-px));
  width: calc(29 * var(--sh-px));
  height: calc(30 * var(--sh-px));
  opacity: 0.7;
}

.sh-ens-mental__plus--e {
  left: calc(-102 * var(--sh-px));
  top: calc(-79 * var(--sh-px));
  width: calc(21 * var(--sh-px));
  height: calc(22 * var(--sh-px));
  opacity: 0.55;
}

/* --------------------------------------------------------------------------
   Financial
   -------------------------------------------------------------------------- */
.sh-ens-financial {
  padding: calc(159 * var(--sh-px)) 0 calc(100 * var(--sh-px));
  background: #f2f9f9;
  overflow: visible;
}

.sh-ens-financial .sh-ens-section__inner {
  overflow: visible;
}

.sh-ens-financial .sh-ens-cards {
  margin-top: calc(100 * var(--sh-px));
}

.sh-ens-gallery {
  position: relative;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, calc(458 * var(--sh-px))));
  gap: calc(33 * var(--sh-px));
  width: max-content;
  max-width: 100%;
  margin: calc(80 * var(--sh-px)) auto 0;
  align-items: end;
  overflow: visible;
}

.sh-ens-gallery__shot {
  position: relative;
  margin: 0;
  overflow: visible;
  border-radius: 0 var(--sh-radius-card) 0 var(--sh-radius-card);
}

.sh-ens-gallery__shot > img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  border-radius: inherit;
}

.sh-ens-gallery__shot--1,
.sh-ens-gallery__shot--3 {
  height: calc(443 * var(--sh-px));
}

.sh-ens-gallery__shot--2 {
  height: calc(347 * var(--sh-px));
  margin-bottom: calc(32 * var(--sh-px));
}

.sh-ens-gallery__shot--3 > img {
  transform: scaleY(-1) rotate(180deg);
}

.sh-ens-gallery__pluses {
  position: absolute;
  inset: 0;
  pointer-events: none;
  z-index: 2;
  overflow: visible;
}

.sh-ens-gallery__plus {
  position: absolute;
  display: block;
  max-width: none;
  width: auto;
  height: auto;
  object-fit: contain;
  border-radius: 0;
  transform: none;
}

/*
 * Figma FINANCIAL pluses 353:235–239 vs Rectangle 72 (right photo @ 1207,4813):
 * User measurement match: large plus left 397 / top 129 from photo.
 * a 121×122 @ 1604,4942 → +397, +129  (right edge)
 * b  69×70  @ 1386,4778 → +179, -35   (top center)
 * c  46×47  @ 1561,4701 → +354, -112
 * d  29×30  @ 1710,4833 → +503, +20
 * e  21×22  @ 1733,4701 → +526, -112
 */
.sh-ens-gallery__plus--a {
  left: calc(397 * var(--sh-px));
  top: calc(129 * var(--sh-px));
  width: calc(121 * var(--sh-px));
  height: calc(122 * var(--sh-px));
}

.sh-ens-gallery__plus--b {
  left: calc(179 * var(--sh-px));
  top: calc(-35 * var(--sh-px));
  width: calc(69 * var(--sh-px));
  height: calc(70 * var(--sh-px));
}

.sh-ens-gallery__plus--c {
  left: calc(354 * var(--sh-px));
  top: calc(-112 * var(--sh-px));
  width: calc(46 * var(--sh-px));
  height: calc(47 * var(--sh-px));
}

.sh-ens-gallery__plus--d {
  left: calc(503 * var(--sh-px));
  top: calc(20 * var(--sh-px));
  width: calc(29 * var(--sh-px));
  height: calc(30 * var(--sh-px));
}

.sh-ens-gallery__plus--e {
  left: calc(526 * var(--sh-px));
  top: calc(-112 * var(--sh-px));
  width: calc(21 * var(--sh-px));
  height: calc(22 * var(--sh-px));
}

/* --------------------------------------------------------------------------
   Protection
   -------------------------------------------------------------------------- */
.sh-ens-protection {
  padding: calc(120 * var(--sh-px)) 0 calc(100 * var(--sh-px));
  background: var(--sh-white);
}

.sh-ens-protection .sh-ens-cards {
  margin-top: calc(100 * var(--sh-px));
}

/* --------------------------------------------------------------------------
   HCI
   -------------------------------------------------------------------------- */
.sh-ens-hci {
  position: relative;
  padding: calc(40 * var(--sh-px)) var(--sh-panel-x) calc(120 * var(--sh-px));
  background: var(--sh-white);
  overflow: visible;
}

/* Figma 353:241 — full-bleed spiral graphic (into white margins) */
.sh-ens-hci__bg {
  position: absolute;
  left: 0;
  right: 0;
  top: calc(40 * var(--sh-px));
  height: calc(900 * var(--sh-px));
  z-index: 0;
  pointer-events: none;
  opacity: 0.85;
}

.sh-ens-hci__bg img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}

/* Figma 353:247 — inset blue panel over spirals */
.sh-ens-hci__panel {
  position: relative;
  z-index: 1;
  border-radius: var(--sh-radius-card) 0 var(--sh-radius-card) 0;
  background: rgba(2, 108, 182, 0.1);
  min-height: calc(1006 * var(--sh-px));
  overflow: visible;
}

.sh-ens-hci__notch {
  position: absolute;
  left: 50%;
  top: 0;
  z-index: 2;
  width: calc(105 * var(--sh-px));
  height: auto;
  transform: translate(-50%, -1px) rotate(180deg);
}

.sh-ens-hci__inner {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: minmax(0, 1.15fr) minmax(0, 0.85fr);
  gap: calc(48 * var(--sh-px));
  align-items: center;
  padding: calc(80 * var(--sh-px)) calc(100 * var(--sh-px)) calc(72 * var(--sh-px));
  box-sizing: border-box;
}

.sh-ens-hci__media {
  position: relative;
  min-height: calc(560 * var(--sh-px));
}

.sh-ens-hci__circle {
  position: absolute;
  left: 0;
  top: calc(40 * var(--sh-px));
  margin: 0;
  width: calc(452 * var(--sh-px));
  height: calc(452 * var(--sh-px));
  border-radius: 50%;
  overflow: hidden;
  z-index: 2;
}

.sh-ens-hci__circle img,
.sh-ens-hci__rect img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.sh-ens-hci__rect {
  position: absolute;
  left: calc(120 * var(--sh-px));
  top: calc(120 * var(--sh-px));
  margin: 0;
  width: calc(720 * var(--sh-px));
  max-width: calc(100% - 40 * var(--sh-px));
  height: calc(520 * var(--sh-px));
  border-radius: 0 var(--sh-radius-card) 0 var(--sh-radius-card);
  overflow: hidden;
  z-index: 1;
}

.sh-ens-hci__title {
  margin: 0 0 calc(40 * var(--sh-px));
  max-width: calc(540 * var(--sh-px));
  font-family: var(--sh-font-display);
  font-weight: 800;
  font-size: var(--sh-text-50);
  line-height: var(--sh-leading-62);
  color: var(--sh-dark-blue);
}

.sh-ens-hci__copy {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
}

/* --------------------------------------------------------------------------
   Tablet ≤1100 — desktop ≥1101 keeps Figma absolute layout
   -------------------------------------------------------------------------- */
@media (max-width: 1100px) {
  .sh-ens-page {
    overflow-x: clip;
  }

  .sh-ens-hero {
    min-height: 0;
  }

  .sh-ens-hero__stage {
    grid-template-columns: 1fr;
    min-height: 0;
    padding: 3.5rem var(--sh-page-x) 4rem;
    gap: 2rem;
  }

  /* Text first, graphic below (DOM order) */
  .sh-ens-hero__copy {
    order: 0;
  }

  .sh-ens-hero__graphic {
    order: 1;
    justify-self: center;
    width: min(100%, 28rem);
  }

  .sh-ens-hero__title {
    max-width: none;
    font-size: clamp(2.5rem, 8vw, 4.5rem);
    line-height: 1.05;
  }

  .sh-ens-hero__subtitle {
    margin-top: 1.25rem;
    max-width: none;
    font-size: clamp(1.35rem, 3.5vw, 2rem);
    line-height: 1.25;
  }

  .sh-ens-section__inner {
    padding-inline: var(--sh-page-x);
  }

  .sh-ens-section__title,
  .sh-ens-hci__title {
    max-width: none;
    font-size: clamp(1.75rem, 4vw, 2.5rem);
    line-height: 1.15;
  }

  .sh-ens-physical,
  .sh-ens-mental,
  .sh-ens-financial,
  .sh-ens-protection {
    padding-block: 3.5rem;
  }

  .sh-ens-physical .sh-ens-cards,
  .sh-ens-financial .sh-ens-cards,
  .sh-ens-protection .sh-ens-cards {
    margin-top: 2.5rem;
  }

  .sh-ens-cards--3,
  .sh-ens-cards--2 {
    grid-template-columns: 1fr;
    gap: 1.5rem;
    max-width: 32rem;
    margin-inline: auto;
  }

  .sh-ens-card,
  .sh-ens-card--plum,
  .sh-ens-card--gold,
  .sh-ens-card--on-white,
  .sh-ens-hci .sh-ens-card--on-white {
    width: 100%;
    max-width: none;
    min-height: 0;
    padding: 3rem 1.5rem 2rem;
  }

  .sh-ens-card__logo-wrap {
    height: 4.5rem;
    margin-bottom: 1rem;
  }

  .sh-ens-card__wordmark {
    font-size: clamp(2.5rem, 6vw, 3.5rem);
    line-height: 1;
    margin-bottom: 1rem;
  }

  .sh-ens-card__bar {
    width: min(100%, 12rem);
    height: 0.75rem;
    margin-bottom: 1.25rem;
  }

  /* Beat desktop .sh-ens-card--green/navy .sh-ens-card__copy max-width */
  .sh-ens-card__name,
  .sh-ens-card__copy,
  .sh-ens-card--green .sh-ens-card__copy,
  .sh-ens-card--navy .sh-ens-card__copy,
  .sh-ens-card--cyan .sh-ens-card__copy,
  .sh-ens-card--plum .sh-ens-card__copy,
  .sh-ens-card--gold .sh-ens-card__copy,
  .sh-ens-card--on-white .sh-ens-card__copy,
  .sh-ens-card--green .sh-ens-card__name,
  .sh-ens-card--navy .sh-ens-card__name,
  .sh-ens-hci .sh-ens-card__copy,
  .sh-ens-hci .sh-ens-card__name {
    width: 100%;
    max-width: none;
  }

  .sh-ens-card__name {
    font-size: clamp(1.75rem, 4vw, 2.5rem);
    line-height: 1.15;
    margin-bottom: 1rem;
  }

  /* Mental — stack; photo above card; hide absolute pluses */
  .sh-ens-mental__row {
    display: flex;
    flex-direction: column;
    min-height: 0;
    margin-top: 2.5rem;
    gap: 1.5rem;
  }

  .sh-ens-mental {
    overflow-x: clip;
  }

  .sh-ens-mental__photo {
    order: -1;
    width: 100%;
    max-width: none;
    overflow: hidden;
  }

  .sh-ens-mental__photo > img:first-child {
    max-width: none;
    aspect-ratio: 1098 / 800;
  }

  .sh-ens-mental__card {
    position: relative;
    top: auto;
    right: auto;
    width: 100%;
    max-width: none;
  }

  .sh-ens-mental__pluses,
  .sh-ens-gallery__pluses,
  .sh-ens-hci__notch {
    display: none;
  }

  /* Financial gallery — single column */
  .sh-ens-gallery {
    grid-template-columns: 1fr;
    width: 100%;
    max-width: 28rem;
    margin: 2.5rem auto 0;
    gap: 1.25rem;
    align-items: stretch;
  }

  .sh-ens-gallery__shot--1,
  .sh-ens-gallery__shot--2,
  .sh-ens-gallery__shot--3 {
    height: auto;
    margin-bottom: 0;
    aspect-ratio: 458 / 340;
  }

  .sh-ens-gallery__shot > img {
    height: 100%;
  }

  .sh-ens-gallery__shot--3 > img {
    transform: none;
  }

  /* HCI — stack; soften full-bleed spirals */
  .sh-ens-hci {
    padding: 3.5rem var(--sh-page-x);
  }

  .sh-ens-hci__bg {
    opacity: 0.35;
    top: 2rem;
    height: auto;
    bottom: 2rem;
  }

  .sh-ens-hci__panel {
    min-height: 0;
  }

  .sh-ens-hci__inner {
    grid-template-columns: 1fr;
    gap: 2rem;
    padding: 2.5rem 1.5rem;
  }

  .sh-ens-hci__media {
    order: -1;
    position: relative;
    min-height: 0;
    display: grid;
    gap: 1rem;
  }

  .sh-ens-hci__circle,
  .sh-ens-hci__rect {
    position: relative;
    left: auto;
    top: auto;
    width: 100%;
    max-width: none;
    height: auto;
  }

  .sh-ens-hci__circle {
    width: min(100%, 14rem);
    aspect-ratio: 1;
    margin-inline: auto;
  }

  .sh-ens-hci__rect {
    aspect-ratio: 720 / 420;
  }

  .sh-ens-hci__copy {
    align-items: stretch;
  }

  .sh-ens-hci__title {
    margin-bottom: 1.5rem;
  }
}

/* --------------------------------------------------------------------------
   Phone ≤767 — Figma mobile canvas via --sh-m
   -------------------------------------------------------------------------- */
@media (max-width: 767px) {
  body.page-template-page-ensemble .sh-header {
    height: calc(96 * var(--sh-m));
    padding-top: 0;
  }

  .sh-ens-hero__stage {
    padding: calc(36 * var(--sh-m)) calc(28 * var(--sh-m)) calc(48 * var(--sh-m));
    gap: calc(28 * var(--sh-m));
  }

  .sh-ens-hero__graphic {
    width: min(100%, calc(320 * var(--sh-m)));
  }

  .sh-ens-hero__title {
    font-size: calc(40 * var(--sh-m));
    line-height: calc(46 * var(--sh-m));
  }

  .sh-ens-hero__subtitle {
    margin-top: calc(16 * var(--sh-m));
    font-size: calc(22 * var(--sh-m));
    line-height: calc(30 * var(--sh-m));
  }

  .sh-ens-section__inner {
    padding-inline: calc(28 * var(--sh-m));
  }

  .sh-ens-section__title,
  .sh-ens-hci__title,
  .sh-ens-card__name {
    font-size: calc(28 * var(--sh-m));
    line-height: calc(34 * var(--sh-m));
  }

  .sh-ens-physical,
  .sh-ens-mental,
  .sh-ens-financial,
  .sh-ens-protection,
  .sh-ens-hci {
    padding-block: calc(48 * var(--sh-m));
  }

  .sh-ens-physical .sh-ens-cards,
  .sh-ens-financial .sh-ens-cards,
  .sh-ens-protection .sh-ens-cards,
  .sh-ens-mental__row {
    margin-top: calc(28 * var(--sh-m));
    gap: calc(20 * var(--sh-m));
  }

  .sh-ens-cards--3,
  .sh-ens-cards--2 {
    max-width: none;
    width: 100%;
    gap: calc(20 * var(--sh-m));
  }

  .sh-ens-card,
  .sh-ens-card--plum,
  .sh-ens-card--gold,
  .sh-ens-card--cyan,
  .sh-ens-card--green,
  .sh-ens-card--navy,
  .sh-ens-card--on-white,
  .sh-ens-hci .sh-ens-card--on-white {
    width: 100%;
    max-width: none;
    padding: calc(40 * var(--sh-m)) calc(24 * var(--sh-m)) calc(32 * var(--sh-m));
    border-radius: 0 calc(28 * var(--sh-m)) 0 calc(28 * var(--sh-m));
  }

  .sh-ens-card__name,
  .sh-ens-card__copy,
  .sh-ens-card--green .sh-ens-card__copy,
  .sh-ens-card--navy .sh-ens-card__copy,
  .sh-ens-hci .sh-ens-card__copy {
    width: 100%;
    max-width: none;
  }

  .sh-ens-card__logo-wrap {
    height: calc(72 * var(--sh-m));
    margin-bottom: calc(16 * var(--sh-m));
  }

  .sh-ens-card__wordmark {
    font-size: calc(48 * var(--sh-m));
    margin-bottom: calc(16 * var(--sh-m));
  }

  .sh-ens-card__bar {
    width: calc(160 * var(--sh-m));
    height: calc(14 * var(--sh-m));
    margin-bottom: calc(20 * var(--sh-m));
  }

  .sh-ens-card__name {
    margin-bottom: calc(14 * var(--sh-m));
  }

  .sh-ens-card__copy {
    font-size: calc(15 * var(--sh-m));
    line-height: calc(26 * var(--sh-m));
  }

  .sh-ens-mental__photo {
    border-radius: calc(28 * var(--sh-m)) 0;
  }

  .sh-ens-mental__photo > img:first-child {
    border-radius: inherit;
    aspect-ratio: 4 / 3;
  }

  .sh-ens-gallery {
    max-width: none;
    margin-top: calc(28 * var(--sh-m));
    gap: calc(16 * var(--sh-m));
  }

  .sh-ens-gallery__shot {
    border-radius: 0 calc(28 * var(--sh-m)) 0 calc(28 * var(--sh-m));
  }

  .sh-ens-hci {
    padding-inline: calc(28 * var(--sh-m));
  }

  .sh-ens-hci__bg {
    display: none;
  }

  .sh-ens-hci__panel {
    border-radius: calc(28 * var(--sh-m)) 0 calc(28 * var(--sh-m)) 0;
  }

  .sh-ens-hci__inner {
    padding: calc(32 * var(--sh-m)) calc(20 * var(--sh-m));
    gap: calc(24 * var(--sh-m));
  }

  .sh-ens-hci__circle {
    width: min(100%, calc(200 * var(--sh-m)));
  }

  .sh-ens-hci__title {
    margin-bottom: calc(20 * var(--sh-m));
  }
}
