/**
 * SmartHealth — Figma homepage
 * Canvas: 1920 wide. Spacing uses fluid design-px tokens (no Bootstrap).
 *
 * Usage:
 *   padding: var(--sh-page-x);           // semantic
 *   margin-top: calc(80 * var(--sh-px)); // any Figma value in design-px
 */

/* --------------------------------------------------------------------------
   1. Design tokens (Figma → fluid)
   -------------------------------------------------------------------------- */
:root {
  /* Brand */
  --sh-gold: #fbb04c;
  --sh-plum: #805b9c;
  --sh-dark-blue: #026cb6;
  --sh-green: #81c7c7;
  --sh-black: #231f20;
  --sh-darkest-blue: #004676;
  --sh-cyan: #00b5ea;
  --sh-white: #ffffff;
  --sh-mint: #f3f9f9;

  /* Type */
  --sh-font-display: "Golos Text", sans-serif;
  --sh-font-body: "Inter", sans-serif;

  /* Canvas */
  --sh-canvas: 1920;
  --sh-hero-h: 1304; /* blue band; portrait bleeds to 1364 */
  --sh-u: min(100vw, 1920px);

  /* 1 Figma design-px, fluid + capped at desktop */
  --sh-px: calc(var(--sh-u) / var(--sh-canvas));

  /* Horizontal insets from Figma */
  --sh-page-x: calc(200 * var(--sh-px)); /* main content x=200 */
  --sh-panel-x: calc(92 * var(--sh-px)); /* panel frames x=92 */
  --sh-gutter: calc(38 * var(--sh-px));

  /* Vertical rhythm (common Figma gaps / padding) */
  --sh-space-2: calc(16 * var(--sh-px));
  --sh-space-3: calc(24 * var(--sh-px));
  --sh-space-4: calc(32 * var(--sh-px));
  --sh-space-5: calc(40 * var(--sh-px));
  --sh-space-6: calc(48 * var(--sh-px));
  --sh-space-7: calc(56 * var(--sh-px));
  --sh-space-8: calc(80 * var(--sh-px));
  --sh-space-9: calc(100 * var(--sh-px));
  --sh-space-10: calc(120 * var(--sh-px));

  /* Type scale (desktop Figma) */
  --sh-text-18: calc(18 * var(--sh-px));
  --sh-text-20: calc(20 * var(--sh-px));
  --sh-text-22: calc(22 * var(--sh-px));
  --sh-text-24: calc(24 * var(--sh-px));
  --sh-text-28: calc(28 * var(--sh-px));
  --sh-text-50: calc(50 * var(--sh-px));
  --sh-text-112: calc(112 * var(--sh-px));
  --sh-leading-36: calc(36 * var(--sh-px));
  --sh-leading-52: calc(52 * var(--sh-px));
  --sh-leading-62: calc(62 * var(--sh-px));
  --sh-leading-116: calc(116 * var(--sh-px));

  /* Controls */
  --sh-cta-h: calc(94 * var(--sh-px));
  --sh-cta-radius: calc(50 * var(--sh-px));
  --sh-badge: calc(55 * var(--sh-px));
  --sh-radius-card: calc(50 * var(--sh-px));
  --sh-radius-soft: calc(20 * var(--sh-px));
}

@media (max-width: 1099px) {
  :root {
    --sh-page-x: clamp(1.25rem, 4vw, 2.5rem);
    --sh-panel-x: clamp(1.25rem, 4vw, 2.5rem);
    --sh-gutter: 1.25rem;
    --sh-space-5: 1.75rem;
    --sh-space-6: 2rem;
    --sh-space-7: 2.25rem;
    --sh-space-8: 2.75rem;
    --sh-space-9: 3.25rem;
    --sh-space-10: 3.75rem;
    --sh-text-18: 1rem;
    --sh-text-20: 1.05rem;
    --sh-text-22: 1.05rem;
    --sh-text-24: 1.15rem;
    --sh-text-28: 1.35rem;
    --sh-text-50: clamp(1.75rem, 5vw, 2.5rem);
    --sh-leading-36: 1.6;
    --sh-leading-52: 1.2;
    --sh-leading-62: 1.2;
    --sh-cta-h: 4rem;
    --sh-cta-radius: 999px;
    --sh-badge: 2.75rem;
    --sh-radius-card: 1.75rem;
    --sh-radius-soft: 1.25rem;
  }
}

/* --------------------------------------------------------------------------
   2. Reset / base
   -------------------------------------------------------------------------- */
*,
*::before,
*::after {
  box-sizing: border-box;
}

html {
  -webkit-text-size-adjust: 100%;
  scroll-behavior: smooth;
}

body {
  margin: 0;
  font-family: var(--sh-font-body);
  color: var(--sh-black);
  background: var(--sh-white);
  line-height: 1.5;
}

body.sh-menu-open {
  overflow: hidden;
}

img {
  max-width: 100%;
  height: auto;
  display: block;
}

a {
  color: inherit;
}

button {
  font: inherit;
  color: inherit;
  background: none;
  border: none;
  padding: 0;
  cursor: pointer;
}

ul {
  margin: 0;
  padding: 0;
  list-style: none;
}

h1,
p,
figure {
  margin: 0;
}

.screen-reader-text {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

.skip-link:focus {
  position: fixed;
  top: 1rem;
  left: 1rem;
  z-index: 10000;
  width: auto;
  height: auto;
  margin: 0;
  padding: 0.75rem 1rem;
  clip: auto;
  background: var(--sh-cyan);
  color: var(--sh-white);
  font-weight: 700;
  text-decoration: none;
}

#page {
  min-height: 100vh;
  display: flex;
  flex-direction: column;
}

.site-content,
.site-main {
  flex: 1;
  overflow: visible;
}

/* Figma “Background Lines +s” — spans stats → conductor (1:12) */
.sh-home-band {
  position: relative;
  background: var(--sh-white);
  overflow: visible;
}

.sh-home-band__lines {
  position: absolute;
  left: 0;
  right: 0;
  top: 0;
  z-index: 0;
  height: calc(2707 * var(--sh-px));
  max-width: 1920px;
  margin-inline: auto;
  pointer-events: none;
  overflow: visible;
}

.sh-home-band__lines-img--desktop {
  display: block;
  position: absolute;
  left: calc(153 * var(--sh-px));
  top: 0;
  width: calc(1614 * var(--sh-px));
  height: calc(2707 * var(--sh-px));
  max-width: none;
  object-fit: fill;
}

.sh-home-band__lines-img--mobile {
  display: none;
}

.sh-home-band > .sh-stats,
.sh-home-band > .sh-benefits,
.sh-home-band > .sh-conductor {
  position: relative;
  z-index: 1;
  background: transparent;
}

.sh-container {
  width: 100%;
  max-width: 1920px;
  margin-inline: auto;
  padding-inline: var(--sh-page-x);
}

/* Section shells — horizontal insets from Figma frames */
.sh-section {
  width: 100%;
  max-width: 1920px;
  margin-inline: auto;
}

.sh-section--page {
  padding-inline: var(--sh-page-x);
}

.sh-section--panel {
  padding-inline: var(--sh-panel-x);
}

/* --------------------------------------------------------------------------
   3. Header (Figma: logo 201,77 493×95 · menu 1636,82 84×84)
   -------------------------------------------------------------------------- */
.sh-header {
  position: absolute;
  inset: 0 0 auto 0;
  z-index: 220;
  padding-top: calc(77 * var(--sh-px));
  pointer-events: none;
}

.sh-header__inner {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 1.5rem;
  pointer-events: auto;
}

body.sh-menu-open .sh-header__brand {
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.25s ease;
}

.sh-header__brand {
  transition: opacity 0.25s ease;
}

.sh-logo img {
  width: calc(493 * var(--sh-px));
  height: calc(95 * var(--sh-px));
  max-width: none;
  object-fit: contain;
}

.sh-menu-toggle {
  position: relative;
  z-index: 230;
  width: calc(84 * var(--sh-px));
  height: calc(84 * var(--sh-px));
  flex-shrink: 0;
  transition: transform 0.25s ease;
}

.sh-menu-toggle:hover {
  transform: scale(1.04);
}

.sh-menu-toggle__icon {
  display: block;
  width: 100%;
  height: 100%;
}

.sh-menu-toggle__icon img,
.sh-menu-toggle__icon svg {
  width: 100%;
  height: 100%;
  display: block;
}

.sh-menu-toggle__icon--close {
  display: none;
}

.sh-menu-toggle.is-active .sh-menu-toggle__icon--open {
  display: none;
}

.sh-menu-toggle.is-active .sh-menu-toggle__icon--close {
  display: block;
  animation: sh-menu-pop 0.35s cubic-bezier(0.22, 1, 0.36, 1);
}

@keyframes sh-menu-pop {
  from {
    transform: scale(0.7) rotate(-40deg);
    opacity: 0;
  }
  to {
    transform: scale(1) rotate(0deg);
    opacity: 1;
  }
}

/* --------------------------------------------------------------------------
   4. Menu overlay — modern brand navigation (no Figma; site tokens)
   -------------------------------------------------------------------------- */
.sh-menu-overlay {
  position: fixed;
  inset: 0;
  z-index: 200;
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  overflow-x: hidden;
  overflow-y: auto;
  overscroll-behavior: contain;
  -webkit-overflow-scrolling: touch;
  transition: opacity 0.4s ease, visibility 0.4s ease;
}

.sh-menu-overlay.is-open {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
}

/* Pin chrome to the viewport so only the panel content scrolls */
.sh-menu-overlay__backdrop {
  position: fixed;
  inset: 0;
  background:
    radial-gradient(1200px 700px at 85% 15%, rgba(0, 181, 234, 0.18), transparent 55%),
    radial-gradient(900px 600px at 10% 90%, rgba(128, 91, 156, 0.16), transparent 50%),
    linear-gradient(160deg, #003a63 0%, #004676 45%, #023a5c 100%);
  cursor: pointer;
}

.sh-menu-overlay__glow {
  position: fixed;
  inset: 0;
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.04), transparent 30%);
  pointer-events: none;
}

.sh-menu-overlay__lines {
  position: fixed;
  inset: 0;
  background-image: repeating-linear-gradient(
    90deg,
    rgba(230, 240, 248, 0.06) 0,
    rgba(230, 240, 248, 0.06) 1px,
    transparent 1px,
    transparent 120px
  );
  pointer-events: none;
  opacity: 0.7;
}

.sh-menu-overlay__panel {
  position: relative;
  z-index: 1;
  min-height: 100%;
  min-height: 100dvh;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  padding-top: calc(180 * var(--sh-px));
  padding-bottom: 1.75rem;
  pointer-events: none;
}

.sh-menu-overlay__panel > * {
  pointer-events: auto;
}

.sh-menu-overlay__grid {
  display: grid;
  grid-template-columns: minmax(0, 1.15fr) minmax(280px, 0.85fr);
  gap: clamp(2rem, 5vw, 5rem);
  align-items: center;
  flex: 1;
}

.sh-menu-overlay__eyebrow {
  margin: 0 0 1.25rem;
  font-family: var(--sh-font-body);
  font-size: 0.8rem;
  font-weight: 800;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--sh-cyan);
}

.sh-menu-overlay__nav ul {
  display: flex;
  flex-direction: column;
  gap: 0.15rem;
}

.sh-menu-overlay__nav li {
  opacity: 0;
  transform: translateY(18px);
  transition:
    opacity 0.45s cubic-bezier(0.22, 1, 0.36, 1),
    transform 0.45s cubic-bezier(0.22, 1, 0.36, 1);
  transition-delay: 0s;
}

.sh-menu-overlay.is-open .sh-menu-overlay__nav li {
  opacity: 1;
  transform: translateY(0);
  transition-delay: calc(0.08s + (var(--i, 0) * 0.055s));
}

.sh-menu-overlay__nav a {
  position: relative;
  display: grid;
  grid-template-columns: auto 1fr auto;
  align-items: center;
  gap: 1rem 1.25rem;
  padding: 0.7rem 0.85rem 0.7rem 0;
  color: rgba(255, 255, 255, 0.72);
  font-family: var(--sh-font-display);
  font-size: clamp(1.85rem, 3.4vw, 3.35rem);
  font-weight: 800;
  line-height: 1.1;
  text-decoration: none;
  border-radius: 0.5rem;
  transition: color 0.25s ease, background 0.25s ease, padding-left 0.25s ease;
}

.sh-menu-overlay__nav a::before {
  content: "";
  position: absolute;
  left: -0.85rem;
  top: 18%;
  bottom: 18%;
  width: 3px;
  border-radius: 999px;
  background: var(--sh-cyan);
  opacity: 0;
  transform: scaleY(0.4);
  transition: opacity 0.25s ease, transform 0.25s ease;
}

.sh-menu-overlay__nav a:hover,
.sh-menu-overlay__nav a:focus-visible {
  color: var(--sh-white);
  padding-left: 0.85rem;
  outline: none;
}

.sh-menu-overlay__nav a:hover::before,
.sh-menu-overlay__nav a:focus-visible::before {
  opacity: 1;
  transform: scaleY(1);
}

.sh-nav-num {
  font-family: var(--sh-font-body);
  font-size: clamp(0.85rem, 1vw, 1.05rem);
  font-weight: 800;
  font-style: italic;
  color: var(--sh-cyan);
  min-width: 1.75rem;
}

.sh-nav-arrow {
  width: 0.65rem;
  height: 0.65rem;
  border-right: 2px solid var(--sh-gold);
  border-top: 2px solid var(--sh-gold);
  transform: rotate(45deg) translateX(-4px);
  opacity: 0;
  transition: opacity 0.25s ease, transform 0.25s ease;
}

.sh-menu-overlay__nav a:hover .sh-nav-arrow,
.sh-menu-overlay__nav a:focus-visible .sh-nav-arrow {
  opacity: 1;
  transform: rotate(45deg) translateX(0);
}

.sh-menu-overlay__aside {
  position: relative;
  padding: clamp(1.5rem, 3vw, 2.5rem);
  border: 1px solid rgba(255, 255, 255, 0.12);
  border-radius: 0 2rem;
  background: rgba(255, 255, 255, 0.04);
  backdrop-filter: blur(14px);
  -webkit-backdrop-filter: blur(14px);
  box-shadow: 0 30px 80px rgba(0, 0, 0, 0.2);
  opacity: 0;
  transform: translateY(24px);
  transition: opacity 0.5s ease, transform 0.5s cubic-bezier(0.22, 1, 0.36, 1);
  transition-delay: 0s;
}

.sh-menu-overlay.is-open .sh-menu-overlay__aside {
  opacity: 1;
  transform: translateY(0);
  transition-delay: 0.22s;
}

.sh-menu-overlay__aside-title {
  margin: 0 0 1rem;
  font-family: var(--sh-font-display);
  font-weight: 800;
  font-size: clamp(1.5rem, 2.4vw, 2.35rem);
  line-height: 1.2;
  color: var(--sh-white);
}

.sh-menu-overlay__aside-copy {
  margin: 0 0 1.75rem;
  font-size: clamp(0.95rem, 1.1vw, 1.05rem);
  line-height: 1.65;
  color: rgba(255, 255, 255, 0.72);
  max-width: 34ch;
}

.sh-menu-overlay__actions {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 1rem;
  margin-bottom: 1.75rem;
}

.sh-menu-overlay__cta {
  width: min(100%, 320px);
  min-height: 64px;
  font-size: 1rem;
}

.sh-menu-overlay__cta .sh-cta__badge {
  width: 44px;
  height: 44px;
  right: 10px;
}

.sh-menu-overlay__phone {
  font-family: var(--sh-font-display);
  font-weight: 800;
  font-size: 1.35rem;
  color: var(--sh-white);
  text-decoration: none;
  letter-spacing: 0.01em;
  transition: color 0.2s ease;
}

.sh-menu-overlay__phone:hover {
  color: var(--sh-cyan);
}

.sh-menu-overlay__chips {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
  margin: 0;
  padding: 0;
  list-style: none;
}

.sh-menu-overlay__chips li {
  padding: 0.4rem 0.75rem;
  border: 1px solid rgba(255, 255, 255, 0.14);
  border-radius: 999px;
  font-size: 0.75rem;
  font-weight: 700;
  letter-spacing: 0.04em;
  color: rgba(255, 255, 255, 0.78);
  background: rgba(0, 0, 0, 0.12);
}

.sh-menu-overlay__foot {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 0.75rem 1.5rem;
  margin-top: 2rem;
  padding-top: 1.25rem;
  border-top: 1px solid rgba(255, 255, 255, 0.1);
  color: rgba(255, 255, 255, 0.45);
  font-size: 0.85rem;
}

.sh-menu-overlay__foot-links {
  display: flex;
  gap: 1.25rem;
}

.sh-menu-overlay__foot a {
  color: rgba(255, 255, 255, 0.55);
  text-decoration: none;
  transition: color 0.2s ease;
}

.sh-menu-overlay__foot a:hover {
  color: var(--sh-white);
}

@media (max-width: 1099px) {
  .sh-menu-overlay__panel {
    padding-top: 7rem;
  }

  .sh-menu-overlay__grid {
    grid-template-columns: 1fr;
    gap: 2.5rem;
    align-items: start;
  }

  .sh-menu-overlay__nav a {
    font-size: clamp(1.6rem, 7vw, 2.4rem);
  }

  .sh-menu-overlay__aside {
    border-radius: 1.25rem;
  }

  .sh-menu-overlay__aside-copy {
    max-width: none;
  }
}

/* --------------------------------------------------------------------------
   5. Hero stage (absolute Figma layout, fluid-scaled)
   -------------------------------------------------------------------------- */
/*
 * Hero — Figma 1920×1304 blue area.
 * Portrait card intentionally overlaps into the stats section
 * (top 234, height 1130 → extends ~60px past hero bottom).
 */
.sh-hero {
  position: relative;
  z-index: 3; /* keep overlapping portrait above stats */
  background: var(--sh-darkest-blue); /* full-bleed fill without 100vw */
  color: var(--sh-white);
  overflow: visible;
}

.sh-hero__stage {
  position: relative;
  width: 100%;
  max-width: 1920px;
  margin-inline: auto;
  aspect-ratio: 1920 / 1304;
  height: auto;
  overflow: visible;
}

/* Backdrop fills the stage (not 100vw — that caused sideways scroll with scrollbars) */
.sh-hero__bg {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 0;
  width: 100%;
  height: 100%;
  overflow: hidden;
  background: var(--sh-darkest-blue);
}

.sh-hero__bg-img {
  width: 100%;
  height: 100%;
  max-width: none;
  object-fit: cover;
  object-position: center;
}

.sh-hero__overlay {
  position: absolute;
  inset: 0;
  background: var(--sh-darkest-blue);
  opacity: 0.8;
}

/* Portrait — Figma 879,234 / 949×1130 / radius TR+BL 50; bleeds ~60px into stats */
.sh-hero__card {
  position: absolute;
  z-index: 2;
  left: calc(879 / 1920 * 100%);
  top: calc(234 / 1304 * 100%);
  width: calc(949 / 1920 * 100%);
  height: calc(1130 / 1304 * 100%);
  margin: 0;
  padding: 0;
  border-radius: 0 calc(50 * var(--sh-px)) 0 calc(50 * var(--sh-px));
  overflow: hidden;
  line-height: 0;
}

.sh-hero__track {
  position: absolute;
  inset: 0;
}

.sh-hero__slide {
  position: absolute;
  inset: 0;
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.7s ease, visibility 0.7s ease;
  pointer-events: none;
}

.sh-hero__slide.is-active {
  opacity: 1;
  visibility: visible;
  z-index: 1;
  pointer-events: auto;
}

/* Pre-cropped Figma asset (949×1130) — fill frame exactly, no cover re-crop */
.sh-hero__card-img {
  display: block;
  width: 100%;
  height: 100%;
  max-width: none;
  object-fit: fill;
  object-position: center top;
}

.sh-hero__card-shade {
  position: absolute;
  inset: 0;
  z-index: 2;
  background: #000;
  opacity: 0.2;
  pointer-events: none;
}

/* Arrows — side-by-side, 32px gap (Figma 1703 − 1671) */
.sh-hero__slider {
  position: absolute;
  z-index: 3;
  right: calc(108 / 949 * 100%);
  bottom: calc(162 / 1130 * 100%);
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: calc(32 * var(--sh-px));
}

.sh-hero__slider-btn {
  position: relative;
  display: inline-flex;
  flex-shrink: 0;
  width: calc(17 * var(--sh-px));
  height: calc(31 * var(--sh-px));
  padding: 0;
  border: 0;
  background: transparent;
  cursor: pointer;
  opacity: 0.95;
  transition: opacity 0.2s ease, transform 0.2s ease;
}

.sh-hero__slider-btn:hover {
  opacity: 1;
  transform: scale(1.08);
}

.sh-hero__slider-btn img {
  width: 100%;
  height: 100%;
  max-width: none;
}

.sh-hero__chevron--prev {
  display: block;
  width: 100%;
  height: 100%;
  transform: rotate(180deg);
}

.sh-hero__chevron--prev img {
  width: 100%;
  height: 100%;
}

/*
 * Content — Figma absolute Y positions as % of 1304 stage.
 * Locks bottom padding: link @ 1166 → 102px blue below (1304 − 1202).
 */
.sh-hero__content {
  position: absolute;
  z-index: 2;
  left: calc(200 / 1920 * 100%);
  top: 0;
  bottom: 0;
  width: calc(980 / 1920 * 100%);
}

.sh-hero__title {
  position: absolute;
  top: calc(294 / 1304 * 100%);
  left: 0;
  margin: 0;
  font-family: var(--sh-font-display);
  font-weight: 800;
  font-size: var(--sh-text-112);
  line-height: var(--sh-leading-116);
  letter-spacing: -0.01em;
  color: var(--sh-white);
  width: 100%;
}

.sh-hero__body {
  position: absolute;
  top: calc(567 / 1304 * 100%);
  left: 0;
  margin: 0;
  width: calc(622 / 980 * 100%);
  font-size: var(--sh-text-24);
  line-height: var(--sh-leading-36);
  font-weight: 500;
  color: var(--sh-white);
}

.sh-hero__body strong {
  font-weight: 800;
}

.sh-hero__brand {
  color: var(--sh-cyan);
  font-weight: 800;
}

.sh-hero__body em strong {
  font-style: italic;
  font-weight: 700;
}

.sh-hero__ctas {
  position: absolute;
  top: calc(889 / 1304 * 100%);
  left: 0;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: calc(33 * var(--sh-px)); /* 1016 − 889 − 94 */
  margin: 0;
}

/* CTA pills — Figma 94h, radius 50, badge 55 */
.sh-cta {
  position: relative;
  display: inline-flex;
  align-items: center;
  min-height: var(--sh-cta-h);
  padding: 0 calc(70 * var(--sh-px)) 0 calc(46 * var(--sh-px));
  border: calc(3 * var(--sh-px)) solid var(--sh-white);
  border-radius: var(--sh-cta-radius);
  color: var(--sh-white);
  text-decoration: none;
  font-family: var(--sh-font-display);
  font-size: var(--sh-text-20);
  font-weight: 800;
  line-height: 1.1;
  transition: background 0.2s ease, transform 0.2s ease;
}

.sh-cta:hover {
  background: rgba(255, 255, 255, 0.08);
  transform: translateY(-2px);
}

.sh-cta--save {
  width: calc(574 * var(--sh-px));
}

.sh-cta--talk {
  width: calc(462 * var(--sh-px));
}

.sh-cta__label {
  flex: 1;
  padding-right: calc(12 * var(--sh-px));
}

.sh-cta__badge {
  position: absolute;
  top: 50%;
  right: calc(19 * var(--sh-px));
  width: var(--sh-badge);
  height: var(--sh-badge);
  max-width: none;
  transform: translateY(-50%);
}

.sh-hero__link {
  position: absolute;
  top: calc(1166 / 1304 * 100%); /* Figma — leaves 102px blue below */
  left: 0;
  display: inline-flex;
  align-items: center;
  gap: calc(17 * var(--sh-px)); /* 227 − 200 − 10 */
  margin: 0;
  font-family: var(--sh-font-body);
  font-size: var(--sh-text-24);
  font-weight: 800;
  font-style: italic;
  line-height: var(--sh-leading-36);
  color: var(--sh-white);
  text-decoration: underline;
  text-underline-offset: 0.15em;
  transition: color 0.2s ease;
}

.sh-hero__link:hover {
  color: var(--sh-cyan);
}

.sh-hero__link-dot {
  width: calc(10 * var(--sh-px));
  height: calc(10 * var(--sh-px));
  max-width: none;
  flex-shrink: 0;
}

/* --------------------------------------------------------------------------
   6. Tablet — keep scaled layout, tighten readability
   -------------------------------------------------------------------------- */
@media (max-width: 1099px) {
  .sh-hero__title {
    width: min(100%, calc(720 * var(--sh-px)));
  }

  .sh-hero__body {
    width: min(100%, calc(520 * var(--sh-px)));
  }

  .sh-hero__card {
    opacity: 0.95;
  }
}

/* --------------------------------------------------------------------------
   7. Mobile — stacked composition (readable, same assets)
   -------------------------------------------------------------------------- */
@media (max-width: 767px) {
  :root {
    --sh-u-mobile-pad: 1.25rem;
  }

  .sh-container {
    padding-inline: var(--sh-u-mobile-pad);
  }

  .sh-header {
    padding-top: 1.25rem;
  }

  .sh-logo img {
    width: auto;
    height: 36px;
  }

  .sh-menu-toggle {
    width: 56px;
    height: 56px;
  }

  .sh-hero {
    z-index: 1;
  }

  .sh-hero__stage {
    aspect-ratio: auto;
    height: auto;
    display: flex;
    flex-direction: column;
    padding: 5.5rem var(--sh-u-mobile-pad) 0;
    overflow: hidden;
  }

  .sh-hero__bg {
    position: absolute;
    inset: 0;
    left: 0;
    width: 100%;
    height: 100%;
    transform: none;
  }

  .sh-hero__content {
    position: relative;
    left: auto;
    top: auto;
    bottom: auto;
    width: 100%;
    order: 1;
    padding-bottom: 1.75rem;
  }

  .sh-hero__title,
  .sh-hero__body,
  .sh-hero__ctas,
  .sh-hero__link {
    position: relative;
    top: auto;
    left: auto;
  }

  .sh-hero__title {
    width: 100%;
    font-size: clamp(2.25rem, 11vw, 3.25rem);
    line-height: 1.05;
    margin-bottom: 1.25rem;
  }

  .sh-hero__body {
    width: 100%;
    font-size: 1rem;
    line-height: 1.55;
    margin-bottom: 1.5rem;
  }

  .sh-hero__ctas {
    gap: 0.85rem;
    margin-bottom: 1.25rem;
    width: 100%;
  }

  .sh-hero__link {
    margin-bottom: 0.5rem;
  }

  .sh-cta,
  .sh-cta--save,
  .sh-cta--talk {
    width: 100%;
    min-height: 64px;
    padding: 0 4.25rem 0 1.25rem;
    border-width: 2px;
    border-radius: 999px;
    font-size: 0.95rem;
  }

  .sh-cta__badge {
    width: 44px;
    height: 44px;
    right: 10px;
  }

  .sh-hero__link {
    font-size: 1rem;
    line-height: 1.4;
    gap: 0.5rem;
  }

  .sh-hero__link-dot {
    width: 10px;
    height: 10px;
  }

  .sh-hero__card {
    position: relative;
    left: auto;
    top: auto;
    width: calc(100% + (var(--sh-u-mobile-pad) * 2));
    height: auto;
    aspect-ratio: 949 / 1130;
    max-height: 70vh;
    margin-left: calc(var(--sh-u-mobile-pad) * -1);
    margin-right: calc(var(--sh-u-mobile-pad) * -1);
    border-radius: 28px 28px 0 0;
    order: 2;
    box-shadow: none;
  }

  .sh-hero__slider {
    right: 1.25rem;
    bottom: 1.25rem;
    gap: 1rem;
  }

  .sh-hero__slider-btn {
    width: 14px;
    height: 26px;
  }

}

/* --------------------------------------------------------------------------
   8. Shared dark CTA (light sections)
   -------------------------------------------------------------------------- */
.sh-cta--dark {
  border-color: var(--sh-black);
  color: var(--sh-black);
  background: transparent;
}

.sh-cta--dark:hover {
  background: rgba(35, 31, 32, 0.04);
}

.sh-cta__badge-wrap {
  position: absolute;
  top: 50%;
  right: calc(19 * var(--sh-px));
  width: calc(55 * var(--sh-px));
  height: calc(55 * var(--sh-px));
  transform: translateY(-50%);
}

.sh-cta__badge-wrap .sh-cta__badge {
  position: static;
  transform: none;
  width: 100%;
  height: 100%;
}

.sh-cta__badge-icon {
  position: absolute;
  inset: 0;
  margin: auto;
  width: calc(14 * var(--sh-px));
  height: calc(14 * var(--sh-px));
  max-width: none;
}

/* --------------------------------------------------------------------------
   9. Stats / Infographic (Figma 1:41) — page y 1304→2158
   -------------------------------------------------------------------------- */
.sh-stats {
  position: relative;
  z-index: 1; /* below hero portrait overlap */
  background: transparent;
  overflow: visible;
}

.sh-stats__stage {
  position: relative;
  width: 100%;
  max-width: 1920px;
  margin-inline: auto;
  /* Figma: hero blue 1304 → benefits 2158 */
  height: calc(854 * var(--sh-px));
}

.sh-stat {
  position: absolute;
  z-index: 1;
  cursor: default;
  opacity: 0;
  transform: translate3d(0, 36px, 0) scale(0.86);
  transition:
    opacity 0.9s cubic-bezier(0.22, 1, 0.36, 1),
    transform 0.9s cubic-bezier(0.22, 1, 0.36, 1),
    filter 0.35s ease;
  will-change: transform, opacity;
}

.sh-stats.is-inview .sh-stat {
  opacity: 1;
  transform: translate3d(0, 0, 0) scale(1);
}

.sh-stats.is-inview .sh-stat--1 { transition-delay: 0.05s; }
.sh-stats.is-inview .sh-stat--2 { transition-delay: 0.22s; }
.sh-stats.is-inview .sh-stat--3 { transition-delay: 0.38s; }

.sh-stat__ring {
  position: relative;
  width: 100%;
  height: 100%;
  border-radius: 50%;
  transition: transform 0.45s cubic-bezier(0.22, 1, 0.36, 1);
}

.sh-stat__ring > img:first-child {
  width: 100%;
  height: 100%;
  max-width: none;
  transition: filter 0.45s ease;
}

.sh-stat__orbit {
  position: absolute;
  left: calc(89 / 505 * 100%);
  top: calc(32 / 505 * 100%);
  width: calc(388 / 505 * 100%);
  height: calc(442 / 505 * 100%);
  max-width: none;
  pointer-events: none;
}

.sh-stat__text {
  position: absolute;
  inset: 0;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
  color: var(--sh-white);
  padding: 18% 14% 12%;
  pointer-events: none;
  transition: transform 0.45s cubic-bezier(0.22, 1, 0.36, 1);
}

.sh-stat__value {
  font-family: var(--sh-font-display);
  font-weight: 800;
  font-size: calc(50 * var(--sh-px));
  line-height: 1.05;
  margin-bottom: calc(12 * var(--sh-px));
  transition: transform 0.45s cubic-bezier(0.22, 1, 0.36, 1);
}

.sh-stat__label {
  font-family: var(--sh-font-body);
  font-weight: 500;
  font-size: calc(24 * var(--sh-px));
  line-height: calc(36 * var(--sh-px));
  max-width: 12.5em;
}

/* Soft idle float after entrance */
.sh-stats.is-inview .sh-stat--1 .sh-stat__ring {
  animation: sh-stat-float 5.5s ease-in-out 1s infinite;
}

.sh-stats.is-inview .sh-stat--2 .sh-stat__ring {
  animation: sh-stat-float 6.2s ease-in-out 1.35s infinite;
}

.sh-stats.is-inview .sh-stat--3 .sh-stat__ring {
  animation: sh-stat-float 5.8s ease-in-out 1.7s infinite;
}

.sh-stat:hover {
  z-index: 5;
  filter: drop-shadow(0 18px 28px rgba(2, 108, 182, 0.22));
}

.sh-stat:hover .sh-stat__ring {
  animation: none;
  transform: scale(1.045);
}

.sh-stat:hover .sh-stat__ring > img:first-child {
  filter: brightness(1.06) saturate(1.08);
}

.sh-stat:hover .sh-stat__text {
  transform: translateY(-2px);
}

.sh-stat:hover .sh-stat__value {
  transform: scale(1.04);
}

@keyframes sh-stat-float {
  0%,
  100% { transform: translate3d(0, 0, 0); }
  50% { transform: translate3d(0, -10px, 0); }
}

@media (prefers-reduced-motion: reduce) {
  .sh-stat {
    opacity: 1;
    transform: none;
    transition: none;
  }

  .sh-stats.is-inview .sh-stat__ring {
    animation: none !important;
  }

  .sh-stat:hover .sh-stat__ring {
    transform: none;
  }

  .sh-stat:hover .sh-stat__text,
  .sh-stat:hover .sh-stat__value {
    transform: none;
  }
}

/* Circle positions relative to section start (page y − 1304) */
.sh-stat--1 {
  left: calc(292 * var(--sh-px));
  top: calc(109 * var(--sh-px));
  width: calc(505 * var(--sh-px));
  height: calc(505 * var(--sh-px));
  z-index: 3;
}

.sh-stat--2 {
  left: calc(749 * var(--sh-px));
  top: calc(265 * var(--sh-px));
  width: calc(480 * var(--sh-px));
  height: calc(480 * var(--sh-px));
  z-index: 2;
}

.sh-stat--3 {
  left: calc(1202 * var(--sh-px));
  top: calc(229 * var(--sh-px));
  width: calc(425 * var(--sh-px));
  height: calc(425 * var(--sh-px));
  z-index: 1;
}

/* --------------------------------------------------------------------------
   10. Benefits green panel (Figma 1:60) — 1736×770, radius TL/BR 50
   -------------------------------------------------------------------------- */
/* Figma Benefits 1:60 — x92 y2158 w1736 h770; next frame +178 */
.sh-benefits {
  position: relative;
  background: transparent;
  padding: 0 var(--sh-panel-x);
  margin-bottom: calc(178 * var(--sh-px));
}

.sh-benefits__panel {
  max-width: calc(1736 * var(--sh-px));
  margin-inline: auto;
  background: var(--sh-mint);
  border-radius: var(--sh-radius-card) 0;
  padding: calc(105 * var(--sh-px)) calc(108 * var(--sh-px)) calc(112 * var(--sh-px));
  text-align: center;
}

.sh-benefits__title {
  font-family: var(--sh-font-display);
  font-weight: 800;
  font-size: var(--sh-text-50);
  line-height: var(--sh-leading-52);
  color: var(--sh-green);
  margin: 0 0 calc(18 * var(--sh-px));
}

.sh-benefits__subtitle {
  font-family: var(--sh-font-display);
  font-weight: 800;
  font-size: var(--sh-text-28);
  line-height: 1.25;
  color: var(--sh-black);
  margin: 0 0 var(--sh-space-5);
}

.sh-benefits__copy {
  max-width: calc(1207 * var(--sh-px));
  margin: 0 auto var(--sh-space-6);
  font-size: var(--sh-text-18);
  line-height: var(--sh-leading-36);
  font-weight: 500;
  color: var(--sh-black);
}

.sh-benefits__copy p + p {
  margin-top: calc(18 * var(--sh-px));
}

.sh-benefits__copy em {
  font-style: italic;
  font-weight: 700;
}

.sh-benefits__kicker {
  font-family: var(--sh-font-body);
  font-weight: 800;
  font-size: var(--sh-text-22);
  line-height: var(--sh-leading-36);
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--sh-green);
}

.sh-cta--benefits {
  width: calc(624 * var(--sh-px));
  max-width: 100%;
  margin-inline: auto;
}

/* --------------------------------------------------------------------------
   11. Conductor purple (Figma 1:69)
   -------------------------------------------------------------------------- */
/* Figma Conductor 1:69 - x200 y3106; gap 152 */
.sh-conductor {
  position: relative;
  background: transparent;
  padding: calc(20 * var(--sh-px)) 0 0; /* title sits 20px into frame */
  margin-bottom: calc(152 * var(--sh-px));
  overflow: visible; /* collage plus marks extend past shot boxes */
}

.sh-conductor__stage {
  position: relative;
  width: 100%;
  max-width: 1920px;
  margin-inline: auto;
  min-height: calc(736 * var(--sh-px));
  padding-inline: var(--sh-page-x);
  display: grid;
  grid-template-columns: minmax(0, 724fr) minmax(0, 796fr);
  gap: calc(55 * var(--sh-px)); /* 1044 − 200 − 724 */
  align-items: start;
}

.sh-conductor__title {
  font-family: var(--sh-font-display);
  font-weight: 800;
  font-size: calc(50 * var(--sh-px));
  line-height: calc(62 * var(--sh-px));
  color: var(--sh-plum);
  margin: 0 0 calc(30 * var(--sh-px));
  max-width: calc(724 * var(--sh-px));
}

.sh-conductor__body {
  max-width: calc(679 * var(--sh-px));
  font-size: calc(18 * var(--sh-px));
  line-height: calc(36 * var(--sh-px));
  font-weight: 500;
  color: var(--sh-black);
  margin-bottom: calc(42 * var(--sh-px));
}

.sh-conductor__kicker {
  margin-top: calc(18 * var(--sh-px));
  font-weight: 800;
  font-size: calc(22 * var(--sh-px));
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--sh-plum);
}

.sh-cta--conductor {
  width: calc(697 * var(--sh-px));
  max-width: 100%;
  margin-bottom: calc(46 * var(--sh-px));
}

.sh-conductor__link {
  display: inline-flex;
  align-items: center;
  gap: calc(17 * var(--sh-px)); /* 227 − 200 − 10 */
  font-size: calc(24 * var(--sh-px));
  font-weight: 800;
  font-style: italic;
  line-height: calc(36 * var(--sh-px));
  color: var(--sh-black);
  text-decoration: underline;
  text-decoration-color: var(--sh-black);
  text-decoration-thickness: max(2px, 0.08em);
  text-underline-offset: 0.22em;
}

.sh-conductor__link:hover {
  color: var(--sh-plum);
  text-decoration-color: var(--sh-plum);
}

.sh-conductor__link-dot {
  width: calc(10 * var(--sh-px));
  height: calc(10 * var(--sh-px));
  max-width: none;
  flex-shrink: 0;
}

.sh-conductor__media {
  position: relative;
  min-height: calc(736 * var(--sh-px));
  overflow: visible;
}

.sh-conductor__shot {
  position: absolute;
  margin: 0;
  overflow: visible; /* allow plus marks to sit outside crop */
  opacity: 0;
  will-change: transform, opacity;
  transition:
    opacity 0.85s cubic-bezier(0.22, 1, 0.36, 1),
    transform 0.85s cubic-bezier(0.22, 1, 0.36, 1),
    filter 0.35s ease;
}

.sh-conductor__shot > img:first-child {
  display: block;
  width: 100%;
  height: 100%;
  max-width: none;
  object-fit: cover;
  transition: transform 0.7s cubic-bezier(0.22, 1, 0.36, 1);
}

.sh-conductor__shot--a > img:first-child,
.sh-conductor__shot--d > img:first-child {
  border-radius: 0 calc(50 * var(--sh-px)) 0 calc(50 * var(--sh-px));
}

.sh-conductor__shot--b > img:first-child,
.sh-conductor__shot--c > img:first-child {
  border-radius: 50%;
}

/* Figma plus overlays 1:82 / 1:83 — lavender #D6CFDA */
.sh-conductor__plus {
  position: absolute;
  z-index: 2;
  display: block;
  max-width: none;
  pointer-events: none;
}

/* Plus on top-right circle B: page 1644,3157 → media +600,+51 */
.sh-conductor__plus--b {
  left: calc(240 * var(--sh-px)); /* 600 − 360 */
  top: calc(7 * var(--sh-px)); /* 51 − 44 */
  width: calc(77 * var(--sh-px));
  height: calc(77 * var(--sh-px));
}

/* Plus on bottom-left circle C: page 1087,3701 → media +43,+595 */
.sh-conductor__plus--c {
  left: calc(0 * var(--sh-px)); /* 43 − 43 */
  top: calc(231 * var(--sh-px)); /* 595 − 364 */
  width: calc(80 * var(--sh-px));
  height: calc(78 * var(--sh-px));
}

/* Collage positions relative to media column (Figma page coords − 1044 x / 3106 y) */
.sh-conductor__shot--a {
  left: 0;
  top: 0;
  width: calc(330 * var(--sh-px));
  height: calc(334 * var(--sh-px));
  border-radius: 0 calc(50 * var(--sh-px)) 0 calc(50 * var(--sh-px));
  transform: translate3d(-28px, -20px, 0) scale(0.9);
}

.sh-conductor__shot--b {
  left: calc(360 * var(--sh-px));
  top: calc(44 * var(--sh-px));
  width: calc(328 * var(--sh-px));
  height: calc(328 * var(--sh-px));
  border-radius: 50%;
  transform: translate3d(32px, -24px, 0) scale(0.88);
}

.sh-conductor__shot--c {
  left: calc(43 * var(--sh-px));
  top: calc(364 * var(--sh-px));
  width: calc(328 * var(--sh-px));
  height: calc(327 * var(--sh-px));
  border-radius: 50%;
  transform: translate3d(-24px, 28px, 0) scale(0.88);
}

.sh-conductor__shot--d {
  left: calc(401 * var(--sh-px));
  top: calc(402 * var(--sh-px));
  width: calc(330 * var(--sh-px));
  height: calc(334 * var(--sh-px));
  border-radius: 0 calc(50 * var(--sh-px)) 0 calc(50 * var(--sh-px));
  transform: translate3d(28px, 24px, 0) scale(0.9);
}

.sh-conductor.is-inview .sh-conductor__shot {
  opacity: 1;
  transform: translate3d(0, 0, 0) scale(1);
}

.sh-conductor.is-inview .sh-conductor__shot--a { transition-delay: 0.08s; }
.sh-conductor.is-inview .sh-conductor__shot--b { transition-delay: 0.22s; }
.sh-conductor.is-inview .sh-conductor__shot--c { transition-delay: 0.36s; }
.sh-conductor.is-inview .sh-conductor__shot--d { transition-delay: 0.5s; }

.sh-conductor.is-inview .sh-conductor__shot:hover {
  filter: drop-shadow(0 16px 28px rgba(128, 91, 156, 0.28));
  z-index: 2;
}

.sh-conductor.is-inview .sh-conductor__shot:hover > img:first-child {
  transform: scale(1.05);
}

@media (prefers-reduced-motion: reduce) {
  .sh-conductor__shot {
    opacity: 1;
    transform: none !important;
    transition: none;
  }

  .sh-conductor.is-inview .sh-conductor__shot:hover > img:first-child {
    transform: none;
  }
}

/* --------------------------------------------------------------------------
   12. Responsive — stats / benefits / conductor
   -------------------------------------------------------------------------- */
@media (max-width: 1099px) {
  .sh-stats__stage {
    height: auto;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
    gap: 1.25rem;
    padding: 3rem 1.25rem 2rem;
  }

  .sh-stat {
    position: relative;
    left: auto !important;
    top: auto !important;
  }

  .sh-stat--1 {
    width: min(280px, 70vw);
    height: min(280px, 70vw);
  }

  .sh-stat--2 {
    width: min(260px, 64vw);
    height: min(260px, 64vw);
  }

  .sh-stat--3 {
    width: min(240px, 58vw);
    height: min(240px, 58vw);
  }

  .sh-stat__value {
    font-size: clamp(1.5rem, 5vw, 2rem);
  }

  .sh-stat__label {
    font-size: 0.85rem;
    line-height: 1.35;
  }

  .sh-benefits {
    padding: 2rem 1.25rem 3rem;
  }

  .sh-benefits__panel {
    max-width: none;
    border-radius: 28px 0;
    padding: 2.5rem 1.5rem;
  }

  .sh-benefits__title {
    font-size: clamp(1.75rem, 5vw, 2.5rem);
    line-height: 1.15;
  }

  .sh-benefits__subtitle {
    font-size: 1.15rem;
  }

  .sh-benefits__copy {
    max-width: none;
    font-size: 1rem;
    line-height: 1.6;
  }

  .sh-benefits__kicker {
    font-size: 0.95rem;
    letter-spacing: 0.08em;
  }

  .sh-cta--benefits,
  .sh-cta--conductor {
    width: 100%;
  }

  .sh-conductor {
    padding: 3rem 0 4rem;
  }

  .sh-conductor__stage {
    grid-template-columns: 1fr;
    min-height: 0;
    padding-inline: 1.25rem;
    gap: 2.5rem;
  }

  .sh-conductor__title {
    font-size: clamp(1.75rem, 5vw, 2.5rem);
    line-height: 1.2;
    max-width: none;
  }

  .sh-conductor__body {
    max-width: none;
    font-size: 1rem;
    line-height: 1.6;
  }

  .sh-conductor__kicker {
    font-size: 0.95rem;
  }

  .sh-conductor__link {
    font-size: 1.05rem;
  }

  .sh-conductor__media {
    min-height: 0;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 0.85rem;
  }

  .sh-conductor__shot {
    position: relative;
    left: auto !important;
    top: auto !important;
    width: 100% !important;
    height: auto !important;
    aspect-ratio: 1;
  }

  .sh-conductor__shot--a,
  .sh-conductor__shot--d {
    border-radius: 0 28px 0 28px;
  }
}

@media (max-width: 767px) {
  .sh-stat--1,
  .sh-stat--2,
  .sh-stat--3 {
    width: min(260px, 78vw);
    height: min(260px, 78vw);
  }

  .sh-cta__badge-wrap {
    width: 44px;
    height: 44px;
    right: 10px;
  }

  .sh-cta__badge-icon {
    width: 12px;
    height: 12px;
  }
}

/* --------------------------------------------------------------------------
   13. Four dimensions / Benefit Cards (Figma 1:195)
   -------------------------------------------------------------------------- */
/* Figma Benefit Cards 1:195 - y3994; gap 160 */
.sh-dimensions {
  position: relative;
  background: rgba(2, 108, 182, 0.1);
  padding: calc(180 * var(--sh-px)) var(--sh-page-x) calc(152 * var(--sh-px));
  margin-bottom: calc(160 * var(--sh-px));
}

.sh-dimensions__inner {
  max-width: 1920px;
  margin-inline: auto;
}

.sh-dimensions__header {
  text-align: center;
  margin-bottom: calc(72 * var(--sh-px)); /* 4443 - (4335 + 36) */
}

.sh-dimensions__title {
  margin: 0 auto calc(37 * var(--sh-px)); /* 4335 - (4174 + 124) */
  max-width: calc(1520 * var(--sh-px));
  font-family: var(--sh-font-display);
  font-weight: 800;
  font-size: calc(50 * var(--sh-px));
  line-height: calc(62 * var(--sh-px));
  color: var(--sh-dark-blue);
}

.sh-dimensions__subtitle {
  margin: 0 auto;
  max-width: calc(1207 * var(--sh-px));
  font-size: calc(18 * var(--sh-px));
  line-height: calc(36 * var(--sh-px));
  font-weight: 500;
  color: var(--sh-black);
}

.sh-dimensions__grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  align-items: start; /* Financial grows with copy; Professional stays shorter */
  gap: calc(56 * var(--sh-px)) calc(38 * var(--sh-px));
  /* Space under taller financial bar → CTA */
  margin-bottom: calc(119 * var(--sh-px));
}

/* Figma Benefit Cards — Physical/Mental 741×347; Financial 442; Professional 430 */
.sh-dim-card {
  position: relative;
  display: flex;
  flex-direction: column;
  background: transparent;
  overflow: visible;
}

/* White panel only — bar hangs below into the section background */
.sh-dim-card::before {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  top: 0;
  z-index: 0;
  background: var(--sh-white);
  pointer-events: none;
}

.sh-dim-card--physical,
.sh-dim-card--mental {
  min-height: calc(347 * var(--sh-px));
}

.sh-dim-card--physical::before,
.sh-dim-card--mental::before {
  height: calc(304 * var(--sh-px));
}

.sh-dim-card--physical {
  border-radius: calc(20 * var(--sh-px)) 0 0 0;
}

.sh-dim-card--physical::before {
  border-radius: calc(20 * var(--sh-px)) 0 0 0;
}

.sh-dim-card--mental {
  border-radius: 0 calc(20 * var(--sh-px)) 0 0;
}

.sh-dim-card--mental::before {
  border-radius: 0 calc(20 * var(--sh-px)) 0 0;
}

/* Financial — taller with expanded copy; white panel + bar follow content */
.sh-dim-card--financial {
  min-height: 0;
  height: auto;
  padding-bottom: calc(45 * var(--sh-px)); /* bar hang below white */
  border-radius: calc(20 * var(--sh-px)) 0 0 0;
}

.sh-dim-card--financial::before {
  height: auto;
  top: 0;
  bottom: calc(45 * var(--sh-px));
  border-radius: calc(20 * var(--sh-px)) 0 0 0;
}

.sh-dim-card--financial .sh-dim-card__body {
  padding-bottom: calc(105 * var(--sh-px)); /* clear hanging bar */
}

.sh-dim-card--professional {
  min-height: calc(430 * var(--sh-px));
  border-radius: 0 calc(20 * var(--sh-px)) 0 0;
}

.sh-dim-card--professional::before {
  height: calc(397 * var(--sh-px));
  border-radius: 0 calc(20 * var(--sh-px)) 0 0;
}

/* Text y55, icon column, gap 35 (257 − 43 − 179) */
.sh-dim-card__body {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: calc(179 * var(--sh-px)) 1fr;
  column-gap: calc(35 * var(--sh-px));
  align-items: start;
  padding: calc(55 * var(--sh-px)) calc(44 * var(--sh-px)) 0 calc(43 * var(--sh-px));
  flex: 1;
}

.sh-dim-card__icon {
  position: relative;
  width: calc(179 * var(--sh-px));
  height: calc(133 * var(--sh-px));
  flex-shrink: 0;
  /* Figma: icon y85 vs text y55 → +30 (matches annotated screenshot) */
  margin-top: calc(30 * var(--sh-px));
  align-self: start;
}

.sh-dim-card__icon img {
  display: block;
  width: 100%;
  height: 100%;
  max-width: none;
  object-fit: contain;
  object-position: left top;
}

/* Physical — Figma 1:219 Layer_3 + Layer_4 */
.sh-dim-card--physical .sh-dim-card__icon > img:first-child {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 95.45%;
  object-fit: fill;
}

.sh-dim-card__icon-overlay {
  position: absolute;
  left: 16.31%;
  top: 9.23%;
  width: 68.57%;
  height: 90.77%;
  max-width: none;
  object-fit: fill;
}

.sh-dim-card--mental .sh-dim-card__icon {
  width: calc(177 * var(--sh-px));
  height: calc(133 * var(--sh-px));
  margin-left: calc(3 * var(--sh-px)); /* Figma x46 vs physical x43 */
}

.sh-dim-card--financial .sh-dim-card__icon {
  width: calc(175 * var(--sh-px));
  height: calc(136 * var(--sh-px));
  margin-top: calc(76 * var(--sh-px)); /* 131 − 55 */
}

.sh-dim-card--professional .sh-dim-card__icon {
  width: calc(177 * var(--sh-px));
  height: calc(127 * var(--sh-px));
  margin-top: calc(80 * var(--sh-px)); /* 135 − 55 */
  margin-left: calc(3 * var(--sh-px));
}

.sh-dim-card__label {
  margin: 0 0 0.35em;
  font-family: var(--sh-font-display);
  font-weight: 800;
  font-size: calc(28 * var(--sh-px));
  line-height: calc(28 * var(--sh-px));
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.sh-dim-card__copy {
  max-width: calc(440 * var(--sh-px));
  font-size: calc(18 * var(--sh-px));
  line-height: calc(36 * var(--sh-px));
  color: var(--sh-black);
}

.sh-dim-card__copy p {
  margin: 0;
}

.sh-dim-card__copy p + p {
  margin-top: 0.75em;
}

.sh-dim-card--physical .sh-dim-card__label { color: var(--sh-cyan); }
.sh-dim-card--mental .sh-dim-card__label { color: var(--sh-plum); }
.sh-dim-card--financial .sh-dim-card__label { color: var(--sh-green); }
.sh-dim-card--professional .sh-dim-card__label { color: var(--sh-gold); }

/* Bars — Figma 612×85, radius TL+BR 20; Physical/Mental top 262 */
.sh-dim-card__bar {
  position: absolute;
  left: 50%;
  top: calc(262 * var(--sh-px));
  z-index: 1;
  box-sizing: border-box;
  display: flex;
  align-items: center;
  justify-content: center;
  width: calc(612 * var(--sh-px));
  max-width: calc(100% - (130 * var(--sh-px)));
  height: calc(85 * var(--sh-px));
  margin: 0;
  padding: 0 calc(20 * var(--sh-px));
  transform: translateX(-50%);
  border-radius: calc(20 * var(--sh-px)) 0;
  color: var(--sh-white);
  text-align: center;
  font-size: calc(24 * var(--sh-px));
  line-height: calc(36 * var(--sh-px));
}

.sh-dim-card--financial .sh-dim-card__bar {
  top: auto;
  bottom: 0;
}

.sh-dim-card--financial .sh-dim-card__copy {
  max-width: calc(440 * var(--sh-px));
}

.sh-dim-card--professional .sh-dim-card__bar {
  top: calc(345 * var(--sh-px));
}

.sh-dim-card__bar p {
  margin: 0;
}

.sh-dim-card__bar em {
  font-style: italic;
  font-weight: 800;
}

.sh-dim-card__bar strong {
  font-style: normal;
  font-weight: 700;
}

.sh-dim-card--physical .sh-dim-card__bar { background: var(--sh-cyan); }
.sh-dim-card--mental .sh-dim-card__bar { background: var(--sh-plum); }
.sh-dim-card--financial .sh-dim-card__bar { background: var(--sh-green); }
.sh-dim-card--professional .sh-dim-card__bar { background: var(--sh-gold); }

.sh-cta--ensemble {
  display: flex;
  width: calc(356 * var(--sh-px));
  margin: 0 auto;
}



/* --------------------------------------------------------------------------
   14. Savings / Workforce Dividend (Figma 1:84)
   -------------------------------------------------------------------------- */
/* Figma Savings 1:84 - absolute: panel 868/960x1414, photo 0/+83/960x1249, title x750 */
.sh-savings {
  position: relative;
  background: var(--sh-white);
  padding: 0;
  margin-bottom: calc(135 * var(--sh-px));
  overflow: hidden;
}

.sh-savings__stage {
  position: relative;
  width: 100%;
  max-width: 1920px;
  margin-inline: auto;
  height: calc(1414 * var(--sh-px));
}

/* Blue block — taller/wider visual mass than photo; BR radius 50 */
.sh-savings__panel {
  position: absolute;
  left: calc(868 * var(--sh-px));
  top: 0;
  width: calc(960 * var(--sh-px));
  height: calc(1414 * var(--sh-px));
  background: var(--sh-dark-blue);
  border-radius: 0 0 var(--sh-radius-card) 0;
  z-index: 1;
}

/* Photo — same width as panel but shorter + inset 83 from top; overlaps panel by 92px */
.sh-savings__media {
  position: absolute;
  left: 0;
  top: calc(83 * var(--sh-px));
  width: calc(960 * var(--sh-px));
  height: calc(1249 * var(--sh-px));
  margin: 0;
  border-radius: 0 0 var(--sh-radius-card) 0;
  overflow: hidden;
  z-index: 2;
}

.sh-savings__media img {
  width: 100%;
  height: 100%;
  max-width: none;
  object-fit: cover;
  object-position: center top;
}

.sh-savings__media-shade {
  position: absolute;
  inset: 0;
  background: var(--sh-black);
  opacity: 0.2;
  pointer-events: none;
}

/* Title bridges photo + blue (Figma x750 / y200 / w970) */
.sh-savings__title {
  position: absolute;
  left: calc(750 * var(--sh-px));
  top: calc(200 * var(--sh-px));
  width: calc(970 * var(--sh-px));
  margin: 0;
  z-index: 3;
  font-family: var(--sh-font-display);
  font-weight: 800;
  font-size: calc(50 * var(--sh-px));
  line-height: calc(62 * var(--sh-px));
  color: var(--sh-white);
}

/* Body copy + CTAs sit on blue at x1094 */
.sh-savings__body {
  position: absolute;
  left: calc(1094 * var(--sh-px));
  top: calc(440 * var(--sh-px)); /* 6233 - 5793 */
  width: calc(641 * var(--sh-px));
  z-index: 3;
  color: var(--sh-white);
}

.sh-savings__lead {
  margin: 0 0 calc(54 * var(--sh-px));
  max-width: calc(626 * var(--sh-px));
  font-family: var(--sh-font-display);
  font-weight: 800;
  font-size: calc(28 * var(--sh-px));
  line-height: 1.25;
  color: var(--sh-white);
}

.sh-savings__copy {
  font-size: calc(18 * var(--sh-px));
  line-height: calc(36 * var(--sh-px));
  font-weight: 500;
  margin-bottom: calc(72 * var(--sh-px));
  color: var(--sh-white);
}

.sh-savings__copy p {
  margin: 0;
}

.sh-savings__copy p + p {
  margin-top: 1em;
}

.sh-savings__kicker {
  margin-top: calc(28 * var(--sh-px)) !important;
  max-width: calc(602 * var(--sh-px));
  font-weight: 800;
  font-size: calc(22 * var(--sh-px));
  line-height: calc(36 * var(--sh-px));
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.sh-savings__ctas {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: calc(33 * var(--sh-px));
}

.sh-cta--light {
  border-color: var(--sh-white);
  color: var(--sh-white);
}

.sh-cta--light:hover {
  background: rgba(255, 255, 255, 0.08);
}

.sh-cta--save-calc {
  width: calc(501 * var(--sh-px));
  max-width: 100%;
}

.sh-cta--save-talk {
  width: calc(462 * var(--sh-px));
  max-width: 100%;
}

/* --------------------------------------------------------------------------
   15. Partners (Figma 1:272)
   -------------------------------------------------------------------------- */
/* Figma Partners 1:272 - x92 y7342; gap 134 */
.sh-partners {
  position: relative;
  background: var(--sh-white);
  padding: 0 var(--sh-panel-x);
  margin-bottom: calc(134 * var(--sh-px));
}

.sh-partners__inner {
  max-width: calc(1736 * var(--sh-px));
  margin-inline: auto;
  text-align: center;
}

.sh-partners__header {
  margin-bottom: calc(56 * var(--sh-px));
}

.sh-partners__title {
  margin: 0 0 calc(36 * var(--sh-px));
  font-family: var(--sh-font-display);
  font-weight: 800;
  font-size: calc(50 * var(--sh-px));
  line-height: calc(52 * var(--sh-px));
  color: var(--sh-gold);
}

.sh-partners__copy {
  max-width: calc(1207 * var(--sh-px));
  margin: 0 auto;
  font-size: calc(18 * var(--sh-px));
  line-height: calc(36 * var(--sh-px));
  font-weight: 500;
  color: var(--sh-black);
}

.sh-partners__copy p {
  margin: 0;
}

.sh-partners__copy p + p {
  margin-top: 1em;
}

.sh-partners__kicker {
  font-weight: 800;
  font-size: calc(22 * var(--sh-px));
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--sh-gold);
}

/* Cream panel — Figma inset ~108 (logo x200 − panel x92) */
.sh-partners__panel {
  position: relative;
  background: rgba(251, 176, 76, 0.1);
  border-radius: calc(50 * var(--sh-px)) 0;
  padding: calc(90 * var(--sh-px)) calc(108 * var(--sh-px)) calc(64 * var(--sh-px));
  margin-bottom: calc(56 * var(--sh-px));
}

.sh-partners__pointer {
  position: absolute;
  left: 50%;
  top: calc(-16 * var(--sh-px)); /* sits on panel top edge */
  z-index: 1;
  width: calc(105 * var(--sh-px));
  height: auto;
  margin: 0;
  transform: translateX(-50%) rotate(180deg); /* SVG points up → flip to down */
  pointer-events: none;
}

.sh-partners__logos {
  display: flex;
  flex-wrap: nowrap;
  align-items: center;
  justify-content: space-between;
  gap: calc(40 * var(--sh-px));
  list-style: none;
  margin: 0;
  padding: 0;
}

.sh-partners__logos--row1 {
  margin-bottom: calc(48 * var(--sh-px));
}

.sh-partners__logos--row2 {
  /* Figma row-2 is inset further (~211 vs 108) and centered */
  width: calc(1331 / 1520 * 100%); /* 1331 content span / 1520 inner width */
  max-width: 100%;
  margin-inline: auto;
  justify-content: space-between;
}

.sh-partners__logos li {
  opacity: 0.4;
  flex: 0 1 auto;
  min-width: 0;
  display: flex;
  align-items: center;
  justify-content: center;
}

.sh-partners__logos--row1 li:nth-child(1) { width: calc(313 / 1520 * 100%); }
.sh-partners__logos--row1 li:nth-child(2) { width: calc(350 / 1520 * 100%); }
.sh-partners__logos--row1 li:nth-child(3) { width: calc(194 / 1520 * 100%); }
.sh-partners__logos--row1 li:nth-child(4) { width: calc(305 / 1520 * 100%); }
.sh-partners__logos--row1 li:nth-child(5) { width: calc(198 / 1520 * 100%); }

.sh-partners__logos--row2 li:nth-child(1) { width: calc(275 / 1331 * 100%); }
.sh-partners__logos--row2 li:nth-child(2) { width: calc(376 / 1331 * 100%); }
.sh-partners__logos--row2 li:nth-child(3) { width: calc(208 / 1331 * 100%); }
.sh-partners__logos--row2 li:nth-child(4) { width: calc(370 / 1331 * 100%); }

.sh-partners__logos img {
  width: 100%;
  height: auto;
  max-height: calc(100 * var(--sh-px));
  object-fit: contain;
  margin-inline: auto;
}

.sh-partners__logos--row2 li:nth-child(3) img {
  max-height: calc(120 * var(--sh-px)); /* HMHR mark is taller in Figma */
}

.sh-cta--partners {
  width: calc(646 * var(--sh-px));
  max-width: 100%;
  margin-inline: auto;
}

/* --------------------------------------------------------------------------
   16. Responsive - dimensions / savings / partners
   -------------------------------------------------------------------------- */
@media (max-width: 1099px) {

  /* Collapse desktop Figma inter-section gaps on tablet/mobile */
  .sh-benefits,
  .sh-conductor,
  .sh-dimensions,
  .sh-savings,
  .sh-partners,
  .sh-testimonials,
  .sh-bottom-ctas {
    margin-bottom: 2.5rem;
  }

  .sh-conductor {
    padding-top: 0;
  }

  .sh-partners {
    padding-inline: var(--sh-panel-x);
  }

  .sh-bottom-ctas {
    padding-inline: var(--sh-page-x);
  }
  .sh-dimensions {
    padding: 4rem 1.25rem;
  }

  .sh-dimensions__title {
    font-size: clamp(1.75rem, 4.5vw, 2.5rem);
    line-height: 1.2;
  }

  .sh-dimensions__grid {
    grid-template-columns: 1fr;
    gap: 2rem;
  }

  .sh-dim-card,
  .sh-dim-card--physical,
  .sh-dim-card--mental,
  .sh-dim-card--financial,
  .sh-dim-card--professional {
    border-radius: 20px;
    min-height: 0;
    padding-bottom: 2.5rem;
    background: var(--sh-white);
  }

  .sh-dim-card::before {
    display: none;
  }

  .sh-dim-card__body {
    grid-template-columns: 96px 1fr;
    column-gap: 1rem;
    padding: 1.5rem 1.25rem 1rem;
  }

  .sh-dim-card__icon,
  .sh-dim-card--physical .sh-dim-card__icon,
  .sh-dim-card--mental .sh-dim-card__icon,
  .sh-dim-card--financial .sh-dim-card__icon,
  .sh-dim-card--professional .sh-dim-card__icon {
    width: 96px;
    height: 71px;
    margin-top: 0.5rem;
    margin-left: 0;
  }

  .sh-dim-card__label {
    font-size: 1.25rem;
  }

  .sh-dim-card__copy {
    max-width: none;
    font-size: 1rem;
    line-height: 1.55;
  }

  .sh-dim-card__bar,
  .sh-dim-card--financial .sh-dim-card__bar,
  .sh-dim-card--professional .sh-dim-card__bar {
    position: relative;
    left: auto;
    top: auto;
    transform: none;
    width: auto;
    max-width: none;
    height: auto;
    margin: 0 1rem -0.75rem;
    font-size: 1rem;
    line-height: 1.35;
    padding: 0.85rem 1rem;
  }

  .sh-cta--ensemble,
  .sh-cta--partners {
    width: 100%;
  }

  .sh-savings {
    padding: 0 0 3rem;
    overflow: visible;
  }

  .sh-savings__stage {
    height: auto;
    display: flex;
    flex-direction: column;
  }

  .sh-savings__panel {
    display: none; /* decorative desktop fill; title/body supply blue on mobile */
  }

  .sh-savings__media {
    position: relative;
    left: auto;
    top: auto;
    width: 100%;
    height: auto;
    min-height: 280px;
    max-height: 420px;
    order: 1;
    border-radius: 0 0 1.75rem 0;
    z-index: 1;
  }

  .sh-savings__title {
    position: relative;
    left: auto;
    top: auto;
    width: auto;
    order: 3;
    margin: -2.25rem 0 0;
    padding: 2rem 1.25rem 0.75rem;
    font-size: clamp(1.75rem, 5vw, 2.5rem);
    line-height: 1.2;
    background: var(--sh-dark-blue);
    z-index: 3;
  }

  .sh-savings__body {
    position: relative;
    left: auto;
    top: auto;
    width: auto;
    order: 4;
    padding: 1.25rem 1.25rem 2.5rem;
    background: var(--sh-dark-blue);
    border-radius: 0 0 1.75rem 0;
    z-index: 3;
  }

  .sh-savings__lead {
    font-size: 1.15rem;
    margin-bottom: 1.25rem;
    max-width: none;
  }

  .sh-savings__copy,
  .sh-savings__kicker {
    font-size: 1rem;
    letter-spacing: normal;
    max-width: none;
  }

  .sh-savings__copy {
    margin-bottom: 1.75rem;
  }

  .sh-cta--save-calc,
  .sh-cta--save-talk {
    width: 100%;
  }

  .sh-partners {
    padding: 3.5rem 1.25rem;
  }

  .sh-partners__title {
    font-size: clamp(1.75rem, 5vw, 2.5rem);
    line-height: 1.15;
  }

  .sh-partners__copy {
    font-size: 1rem;
    line-height: 1.6;
  }

  .sh-partners__kicker {
    font-size: 0.95rem;
    letter-spacing: 0.08em;
  }

  .sh-partners__panel {
    padding: 2.5rem 1.75rem 2rem;
    border-radius: 28px 0;
  }

  .sh-partners__pointer {
    width: 72px;
    top: -12px;
  }

  .sh-partners__logos {
    flex-wrap: wrap;
    justify-content: center;
    gap: 1.5rem 1.25rem;
  }

  .sh-partners__logos--row1,
  .sh-partners__logos--row2 {
    width: 100%;
  }

  .sh-partners__logos li,
  .sh-partners__logos--row1 li:nth-child(n),
  .sh-partners__logos--row2 li:nth-child(n) {
    width: auto;
    flex: 1 1 28%;
    max-width: 160px;
  }
}

@media (max-width: 600px) {
  .sh-partners__panel {
    padding-inline: 1.25rem;
  }

  .sh-partners__logos li,
  .sh-partners__logos--row1 li:nth-child(n),
  .sh-partners__logos--row2 li:nth-child(n) {
    flex: 1 1 40%;
  }

  .sh-dim-card__body {
    grid-template-columns: 1fr;
    justify-items: start;
  }
}

/* --------------------------------------------------------------------------
   17. Testimonials (Figma 1:100)
   -------------------------------------------------------------------------- */
/* Figma Testimonials 1:100 - y8502; gap 146 */
.sh-testimonials {
  position: relative;
  color: var(--sh-white);
  overflow: hidden;
  min-height: calc(906 * var(--sh-px));
  margin-bottom: calc(146 * var(--sh-px));
  display: flex;
  align-items: center;
}

.sh-testimonials__bg {
  position: absolute;
  inset: 0;
  z-index: 0;
}

.sh-testimonials__bg img {
  width: 100%;
  height: 100%;
  max-width: none;
  object-fit: cover;
}

.sh-testimonials__overlay {
  position: absolute;
  inset: 0;
  background: var(--sh-darkest-blue);
  opacity: 0.8;
}

.sh-testimonials__inner {
  position: relative;
  z-index: 1;
  width: 100%;
  max-width: 1920px;
  margin-inline: auto;
  /* Figma: quote mark +157; inset page-x */
  padding: calc(157 * var(--sh-px)) var(--sh-page-x) calc(100 * var(--sh-px));
  text-align: center;
}

/* Figma Group 1:103 — 168×157; cyan arc + white arc + ” */
.sh-testimonials__quote-mark {
  position: relative;
  width: calc(168 * var(--sh-px));
  height: calc(157 * var(--sh-px));
  margin: 0 auto calc(24 * var(--sh-px));
}

.sh-testimonials__arc {
  position: absolute;
  display: block;
  max-width: none;
  pointer-events: none;
}

/* Vector 1:104 — x+26, y+0, 134×154 */
.sh-testimonials__arc--outer {
  left: calc(26 * var(--sh-px));
  top: 0;
  width: calc(134 * var(--sh-px));
  height: calc(154 * var(--sh-px));
}

/* Vector 1:106 — x+24, y+11, 98×132 */
.sh-testimonials__arc--inner {
  left: calc(24 * var(--sh-px));
  top: calc(11 * var(--sh-px));
  width: calc(98 * var(--sh-px));
  height: calc(132 * var(--sh-px));
}

/* Text ” — y+79, Inter ExtraBold 140 */
.sh-testimonials__quote-glyph {
  position: absolute;
  left: 0;
  right: 0;
  top: calc(79 * var(--sh-px));
  z-index: 1;
  font-family: var(--sh-font-body);
  font-weight: 800;
  font-size: calc(140 * var(--sh-px));
  line-height: calc(78 * var(--sh-px));
  letter-spacing: 0;
  color: var(--sh-white);
  text-align: center;
}

.sh-testimonials__title {
  margin: 0 0 calc(36 * var(--sh-px));
  font-family: var(--sh-font-display);
  font-weight: 800;
  font-size: calc(50 * var(--sh-px));
  line-height: calc(62 * var(--sh-px));
  color: var(--sh-cyan);
}

.sh-testimonials__viewport {
  position: relative;
  margin: 0 auto calc(40 * var(--sh-px));
  max-width: calc(1207 * var(--sh-px));
  min-height: calc(220 * var(--sh-px));
}

.sh-testimonials__quote {
  margin: 0;
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.55s ease, visibility 0.55s ease;
  pointer-events: none;
}

.sh-testimonials__quote.is-active {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
  position: relative;
  z-index: 1;
}

.sh-testimonials__quote:not(.is-active) {
  position: absolute;
  left: 0;
  right: 0;
  top: 0;
}

.sh-testimonials__quote p {
  margin: 0 0 calc(28 * var(--sh-px));
  font-size: calc(18 * var(--sh-px));
  line-height: calc(36 * var(--sh-px));
  font-weight: 800;
  font-style: italic;
  color: var(--sh-white);
}

.sh-testimonials__quote cite {
  font-style: normal;
  font-weight: 800;
  font-size: calc(22 * var(--sh-px));
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--sh-cyan);
}

.sh-testimonials__dots {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: calc(20 * var(--sh-px));
  margin-bottom: calc(28 * var(--sh-px));
}

.sh-testimonials__dot {
  width: calc(16 * var(--sh-px));
  height: calc(16 * var(--sh-px));
  padding: 0;
  border: 0;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.2);
  cursor: pointer;
  transition: background 0.25s ease, transform 0.2s ease;
}

.sh-testimonials__dot.is-active {
  background: var(--sh-cyan);
}

.sh-testimonials__dot:hover {
  transform: scale(1.12);
}

.sh-testimonials__nav {
  position: absolute;
  right: var(--sh-page-x);
  bottom: calc(80 * var(--sh-px));
  display: flex;
  align-items: center;
  gap: calc(32 * var(--sh-px));
}

.sh-testimonials__btn {
  display: inline-flex;
  flex-shrink: 0;
  width: calc(17 * var(--sh-px));
  height: calc(31 * var(--sh-px));
  padding: 0;
  border: 0;
  background: transparent;
  cursor: pointer;
  opacity: 0.95;
  transition: opacity 0.2s ease, transform 0.2s ease;
}

.sh-testimonials__btn:hover {
  opacity: 1;
  transform: scale(1.08);
}

.sh-testimonials__btn img {
  width: 100%;
  height: 100%;
  max-width: none;
}

.sh-testimonials__chevron--prev {
  transform: rotate(180deg);
}

/* --------------------------------------------------------------------------
   18. Bottom CTAs + trust bar (Figma 1:148)
   -------------------------------------------------------------------------- */
/* Figma Bottom CTAs 1:148 - x201 y9554; gap 141 */
.sh-bottom-ctas {
  position: relative;
  background: var(--sh-white);
  padding: 0 var(--sh-page-x);
  margin-bottom: calc(141 * var(--sh-px));
}

.sh-bottom-ctas__grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: calc(57 * var(--sh-px)); /* 989 - 201 - 731 */
  margin-bottom: calc(64 * var(--sh-px)); /* trust bar gap */
}

.sh-cta-box {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  padding: calc(47 * var(--sh-px)) calc(48 * var(--sh-px)) calc(56 * var(--sh-px));
  border-radius: 0 calc(50 * var(--sh-px)) 0 calc(50 * var(--sh-px));
  min-height: calc(923 * var(--sh-px));
}

.sh-cta-box--gold {
  background: rgba(251, 176, 76, 0.1);
}

.sh-cta-box--plum {
  background: rgba(128, 91, 156, 0.1);
}

.sh-cta-box__media {
  position: relative;
  width: 100%;
  max-width: calc(634 * var(--sh-px));
  /* Figma: image bottom → title = 52; accent hangs 12px into this gap */
  margin: 0 0 calc(52 * var(--sh-px));
  /* overflow visible so accent can straddle the image edge (Figma 1:170 / 1:171) */
  overflow: visible;
  aspect-ratio: 634 / 355;
}

.sh-cta-box__media img {
  display: block;
  width: 100%;
  height: 100%;
  max-width: none;
  object-fit: cover;
  border-radius: 0 calc(50 * var(--sh-px)) 0 calc(50 * var(--sh-px));
}

/* Figma: 397×25, radius TL+BR 20; top 389 vs image bottom 402 → 13px into image, 12px below */
.sh-cta-box__accent {
  position: absolute;
  left: 50%;
  bottom: calc(-12 * var(--sh-px));
  z-index: 1;
  transform: translateX(-50%);
  width: calc(397 * var(--sh-px));
  max-width: 100%;
  height: calc(25 * var(--sh-px));
  border-radius: calc(20 * var(--sh-px)) 0;
  pointer-events: none;
}

.sh-cta-box--gold .sh-cta-box__accent {
  background: var(--sh-gold);
}

.sh-cta-box--plum .sh-cta-box__accent {
  background: var(--sh-plum);
}

.sh-cta-box__title {
  margin: 0 0 calc(28 * var(--sh-px));
  max-width: calc(547 * var(--sh-px));
  font-family: var(--sh-font-display);
  font-weight: 800;
  font-size: calc(50 * var(--sh-px));
  line-height: calc(52 * var(--sh-px));
}

.sh-cta-box--gold .sh-cta-box__title {
  color: var(--sh-gold);
}

.sh-cta-box--plum .sh-cta-box__title {
  color: var(--sh-plum);
}

.sh-cta-box__copy {
  margin: 0 0 calc(40 * var(--sh-px));
  max-width: calc(564 * var(--sh-px));
  font-size: calc(18 * var(--sh-px));
  line-height: calc(36 * var(--sh-px));
  font-weight: 500;
  color: var(--sh-black);
}

.sh-cta--box {
  width: calc(434 * var(--sh-px));
  max-width: 100%;
}

.sh-cta-box--plum .sh-cta--box {
  width: calc(398 * var(--sh-px));
}

.sh-trust-bar {
  background: rgba(129, 199, 199, 0.1);
  border-radius: 0 calc(50 * var(--sh-px)) 0 calc(50 * var(--sh-px));
  padding: calc(48 * var(--sh-px)) calc(40 * var(--sh-px));
}

.sh-trust-bar ul {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  gap: calc(18 * var(--sh-px)) calc(28 * var(--sh-px));
  margin: 0;
  padding: 0;
  list-style: none;
  font-family: var(--sh-font-display);
  font-weight: 800;
  font-size: calc(28 * var(--sh-px));
  color: var(--sh-black);
}

.sh-trust-bar img {
  width: calc(10 * var(--sh-px));
  height: calc(10 * var(--sh-px));
  max-width: none;
  display: block;
}

/* --------------------------------------------------------------------------
   19. Homepage footer (Figma 1:172)
   -------------------------------------------------------------------------- */
/* Figma Footer 1:172 - y10843; inset x92 */
.sh-site-footer {
  position: relative;
  background: var(--sh-darkest-blue);
  color: var(--sh-white);
  padding: calc(123 * var(--sh-px)) var(--sh-panel-x) calc(48 * var(--sh-px)); /* tagline y10966 */
  overflow: hidden;
}

/* Figma Group 1 — inverted C: x92 y0, 598×679 (full footer height) */
.sh-site-footer__deco {
  position: absolute;
  left: calc(92 * var(--sh-px));
  top: 0;
  z-index: 0;
  width: calc(598 * var(--sh-px));
  height: calc(679 * var(--sh-px));
  max-height: 100%;
  pointer-events: none;
}

.sh-site-footer__deco img {
  display: block;
  width: 100%;
  height: 100%;
  max-width: none;
  object-fit: fill;
}

.sh-site-footer__inner {
  position: relative;
  z-index: 1;
  max-width: 1920px;
  margin-inline: auto;
}

.sh-site-footer__top {
  display: grid;
  grid-template-columns: minmax(0, 547fr) minmax(0, 1200fr);
  gap: calc(48 * var(--sh-px));
  margin-bottom: calc(56 * var(--sh-px));
}

.sh-site-footer__brand {
  position: relative;
}

.sh-site-footer__tagline {
  margin: 0;
  font-family: var(--sh-font-display);
  font-weight: 800;
  font-size: calc(60 * var(--sh-px));
  line-height: calc(72 * var(--sh-px));
  max-width: calc(547 * var(--sh-px));
}

.sh-site-footer__tagline-white {
  color: var(--sh-white);
}

.sh-site-footer__tagline-cyan {
  color: var(--sh-cyan);
}

.sh-site-footer__nav {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: calc(24 * var(--sh-px));
  align-content: start;
  padding-top: calc(40 * var(--sh-px));
}

.sh-site-footer__heading {
  margin: 0 0 calc(16 * var(--sh-px));
  font-family: var(--sh-font-body);
  font-weight: 800;
  font-size: calc(20 * var(--sh-px));
  line-height: calc(36 * var(--sh-px));
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--sh-cyan);
}

.sh-site-footer__col ul {
  margin: 0;
  padding: 0;
  list-style: none;
}

.sh-site-footer__col a {
  display: inline-block;
  padding: 0.15em 0;
  font-size: calc(18 * var(--sh-px));
  line-height: calc(42 * var(--sh-px));
  font-weight: 600;
  color: var(--sh-white);
  text-decoration: none;
}

.sh-site-footer__col a:hover {
  color: var(--sh-cyan);
}

.sh-site-footer__rule {
  margin-bottom: calc(28 * var(--sh-px));
}

.sh-site-footer__rule img {
  width: 100%;
  height: auto;
  display: block;
}

.sh-site-footer__bottom {
  display: grid;
  grid-template-columns: auto 1fr auto;
  gap: calc(24 * var(--sh-px));
  align-items: center;
}

.sh-site-footer__logo {
  width: calc(220 * var(--sh-px));
  height: auto;
}

.sh-site-footer__meta {
  margin: 0;
  text-align: center;
  font-size: calc(20 * var(--sh-px));
  line-height: calc(52 * var(--sh-px));
  font-weight: 500;
  color: var(--sh-white);
}

.sh-site-footer__meta a {
  color: inherit;
  text-decoration: none;
}

.sh-site-footer__meta a:hover {
  color: var(--sh-cyan);
}

.sh-site-footer__pipe {
  color: var(--sh-cyan);
  font-weight: 900;
  margin: 0 0.55em;
}

.sh-site-footer__copy {
  margin: 0;
  font-size: calc(20 * var(--sh-px));
  font-style: italic;
  font-weight: 500;
  opacity: 0.3;
  text-align: right;
  white-space: nowrap;
}

/* --------------------------------------------------------------------------
   20. Responsive — testimonials / bottom CTAs / footer
   -------------------------------------------------------------------------- */
@media (max-width: 1099px) {
  .sh-testimonials {
    min-height: 0;
  }

  .sh-testimonials__inner {
    padding: 4rem 1.25rem 5rem;
  }

  .sh-testimonials__title {
    font-size: clamp(1.75rem, 5vw, 2.5rem);
    line-height: 1.2;
  }

  .sh-testimonials__quote p {
    font-size: 1rem;
    line-height: 1.6;
  }

  .sh-testimonials__quote cite {
    font-size: 0.95rem;
    letter-spacing: 0.08em;
  }

  .sh-testimonials__nav {
    position: static;
    justify-content: center;
    margin-top: 1.5rem;
    gap: 1.25rem;
  }

  .sh-testimonials__btn {
    width: 14px;
    height: 26px;
  }

  .sh-bottom-ctas {
    padding: 3rem 1.25rem;
  }

  .sh-bottom-ctas__grid {
    grid-template-columns: 1fr;
    gap: 1.5rem;
  }

  .sh-cta-box {
    min-height: 0;
    padding: 1.5rem 1.25rem 2rem;
    border-radius: 0 28px;
  }

  .sh-cta-box__title {
    font-size: clamp(1.75rem, 5vw, 2.25rem);
    line-height: 1.15;
  }

  .sh-cta-box__copy {
    font-size: 1rem;
    line-height: 1.6;
  }

  .sh-cta--box {
    width: 100%;
  }

  .sh-trust-bar {
    border-radius: 0 28px;
    padding: 1.5rem 1rem;
  }

  .sh-trust-bar ul {
    font-size: 1rem;
    gap: 0.75rem 1rem;
  }

  .sh-site-footer {
    padding: 3.5rem 1.25rem 2rem;
  }

  .sh-site-footer__top {
    grid-template-columns: 1fr;
    gap: 2.5rem;
  }

  .sh-site-footer__tagline {
    font-size: clamp(2rem, 6vw, 2.75rem);
    line-height: 1.2;
    max-width: none;
  }

  .sh-site-footer__deco {
    left: 0;
    width: min(70%, 360px);
    height: 100%;
    opacity: 0.85;
  }

  .sh-site-footer__nav {
    grid-template-columns: 1fr 1fr;
    padding-top: 0;
  }

  .sh-site-footer__bottom {
    grid-template-columns: 1fr;
    justify-items: center;
    text-align: center;
    gap: 1rem;
  }

  .sh-site-footer__meta {
    font-size: 0.9rem;
    line-height: 1.7;
  }

  .sh-site-footer__copy {
    text-align: center;
    white-space: normal;
  }
}

@media (max-width: 600px) {
  .sh-site-footer__nav {
    grid-template-columns: 1fr;
  }

  .sh-site-footer__pipe {
    display: none;
  }

  .sh-site-footer__meta span,
  .sh-site-footer__meta a {
    display: block;
  }
}

/* --------------------------------------------------------------------------
   21. Minimal inner-page footer
   -------------------------------------------------------------------------- */
.sh-footer {
  padding: 2rem 0;
  background: var(--sh-darkest-blue);
  color: rgba(255, 255, 255, 0.7);
}

.sh-footer__copy {
  margin: 0;
  font-size: 0.875rem;
}

/* --------------------------------------------------------------------------
   22. How It Works page (Figma 30:514)
   -------------------------------------------------------------------------- */

/*
 * HIW header — Figma 30:543
 * Solid darkest-blue bar 166px tall (not transparent overlay like Home).
 * Logo y=35 / menu y=40 → vertically centered in 166.
 */
body.page-template-page-how-it-works .sh-header,
body.page-template-page-partners .sh-header,
body.page-template-page-for-employers .sh-header,
body.page-template-page-for-employees .sh-header,
body.page-template-page-physical-health .sh-header,
body.page-template-page-mental-health .sh-header,
body.page-template-page-financial-health .sh-header,
body.page-template-page-professional-health .sh-header,
body.page-template-page-faq .sh-header {
  position: relative;
  inset: auto;
  z-index: 220;
  height: calc(166 * var(--sh-px));
  padding-top: 0;
  background: var(--sh-darkest-blue);
  display: flex;
  align-items: center;
}

body.page-template-page-how-it-works .sh-header__inner,
body.page-template-page-partners .sh-header__inner,
body.page-template-page-for-employers .sh-header__inner,
body.page-template-page-for-employees .sh-header__inner,
body.page-template-page-physical-health .sh-header__inner,
body.page-template-page-mental-health .sh-header__inner,
body.page-template-page-financial-health .sh-header__inner,
body.page-template-page-professional-health .sh-header__inner,
body.page-template-page-faq .sh-header__inner {
  align-items: center;
  width: 100%;
}

.sh-hiw {
  overflow: clip;
}

/* Hero blue band 1104 — title at y=286 → 120px below header (286 − 166) */
.sh-hiw-hero {
  position: relative;
  background: var(--sh-dark-blue);
  color: var(--sh-white);
  min-height: calc(1104 * var(--sh-px));
}

.sh-hiw-hero__stage {
  position: relative;
  max-width: calc(1920 * var(--sh-px));
  margin-inline: auto;
  min-height: calc(1104 * var(--sh-px));
  padding: calc(120 * var(--sh-px)) var(--sh-page-x) calc(80 * var(--sh-px));
  overflow: hidden;
}

.sh-hiw-hero__waves {
  position: absolute;
  left: 0;
  top: calc(39 * var(--sh-px));
  width: 100%;
  height: calc(900 * var(--sh-px));
  pointer-events: none;
  transform: scaleY(-1) rotate(180deg);
}

.sh-hiw-hero__waves img {
  display: block;
  width: 100%;
  height: 100%;
  max-width: none;
  object-fit: cover;
}

.sh-hiw-hero__art {
  position: absolute;
  inset: 0;
  pointer-events: none;
}

.sh-hiw-hero__conductor {
  position: absolute;
  left: calc(1258 * var(--sh-px));
  top: calc(123 * var(--sh-px));
  width: calc(398 * var(--sh-px));
  height: calc(981 * var(--sh-px));
  max-width: none;
}

.sh-hiw-hero__icon {
  position: absolute;
  max-width: none;
}

.sh-hiw-hero__icon--physical {
  left: calc(1265 * var(--sh-px));
  top: calc(90 * var(--sh-px));
  width: calc(162 * var(--sh-px));
  height: calc(120 * var(--sh-px));
  overflow: hidden;
}

.sh-hiw-hero__icon--physical .sh-hiw-hero__icon-a {
  position: absolute;
  left: 11.59%;
  top: 10.5%;
  width: 62.15%;
  height: 50.01%;
  max-width: none;
}

.sh-hiw-hero__icon--physical .sh-hiw-hero__icon-b {
  position: absolute;
  left: 16.3%;
  top: 9.23%;
  width: 68.58%;
  height: 90.77%;
  max-width: none;
}

.sh-hiw-hero__icon--financial {
  left: calc(1159 * var(--sh-px));
  top: calc(366 * var(--sh-px));
  width: calc(159 * var(--sh-px));
  height: calc(123 * var(--sh-px));
}

.sh-hiw-hero__icon--mental {
  left: calc(1571 * var(--sh-px));
  top: calc(433 * var(--sh-px));
  width: calc(160 * var(--sh-px));
  height: calc(120 * var(--sh-px));
}

.sh-hiw-hero__copy {
  position: relative;
  z-index: 1;
  max-width: calc(912 * var(--sh-px));
}

.sh-hiw-hero__title {
  margin: 0;
  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-hiw-hero__subtitle {
  margin: calc(31 * var(--sh-px)) 0 0;
  max-width: calc(846 * 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-hiw-hero__body {
  margin: calc(41 * var(--sh-px)) 0 0;
  max-width: calc(901 * var(--sh-px));
  font-family: var(--sh-font-body);
  font-weight: 500;
  font-size: var(--sh-text-24);
  line-height: var(--sh-leading-36);
  color: var(--sh-white);
}

.sh-hiw-hero__body strong {
  font-weight: 800;
}

/* Ensemble band with background lines */
.sh-hiw-band {
  position: relative;
  background: var(--sh-white);
}

.sh-hiw-band__lines {
  position: absolute;
  left: 50%;
  top: 0;
  width: calc(1617 * var(--sh-px));
  height: calc(2040 * var(--sh-px));
  transform: translateX(-50%);
  pointer-events: none;
  overflow: hidden;
}

.sh-hiw-band__lines-img {
  display: block;
  width: 100%;
  height: 100%;
  max-width: none;
  object-fit: cover;
  object-position: top center;
}

.sh-hiw-ensemble {
  position: relative;
  z-index: 1;
  padding: calc(146 * var(--sh-px)) var(--sh-page-x) calc(155 * var(--sh-px));
  text-align: center;
}

.sh-hiw-ensemble__inner {
  max-width: calc(1558 * var(--sh-px));
  margin-inline: auto;
}

.sh-hiw-ensemble__title {
  margin: 0;
  font-family: var(--sh-font-display);
  font-weight: 800;
  font-size: var(--sh-text-50);
  line-height: var(--sh-leading-52);
  color: var(--sh-dark-blue);
}

.sh-hiw-ensemble__intro {
  margin: calc(44 * var(--sh-px)) auto 0;
  max-width: calc(1530 * 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-hiw-ensemble__intro p {
  margin: 0;
}

.sh-hiw-ensemble__intro-kicker {
  margin-top: calc(18 * var(--sh-px)) !important;
  font-weight: 800;
  font-size: var(--sh-text-22);
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--sh-dark-blue);
}

.sh-hiw-ensemble__graphic {
  margin: calc(37 * var(--sh-px)) auto 0;
  width: min(100%, calc(1198 * var(--sh-px)));
}

.sh-hiw-ensemble__graphic > img {
  display: block;
  width: 100%;
  height: auto;
  max-width: none;
}

.sh-hiw-ensemble__cred {
  margin: calc(56 * var(--sh-px)) auto 0;
  max-width: calc(830 * var(--sh-px));
  font-family: var(--sh-font-body);
  font-weight: 800;
  font-size: var(--sh-text-22);
  line-height: var(--sh-leading-36);
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--sh-dark-blue);
}

.sh-hiw-ensemble__cta {
  margin-top: calc(44 * var(--sh-px));
  width: calc(503 * var(--sh-px));
  max-width: 100%;
}

/* Mechanism steps */
.sh-hiw-steps {
  position: relative;
  padding: 0 var(--sh-panel-x);
  margin-bottom: calc(180 * var(--sh-px));
}

.sh-hiw-steps__panel {
  max-width: calc(1736 * var(--sh-px));
  margin-inline: auto;
  padding: calc(128 * var(--sh-px)) calc(108 * var(--sh-px)) calc(132 * var(--sh-px));
  background: #fff7ed;
  border-radius: var(--sh-radius-card) 0 var(--sh-radius-card) 0;
}

.sh-hiw-steps__title {
  margin: 0;
  text-align: center;
  font-family: var(--sh-font-display);
  font-weight: 800;
  font-size: var(--sh-text-50);
  line-height: var(--sh-leading-52);
  color: var(--sh-gold);
}

.sh-hiw-steps__cols {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: calc(90 * var(--sh-px));
  margin-top: calc(118 * var(--sh-px));
}

.sh-hiw-steps__col {
  position: relative;
  min-height: calc(334 * var(--sh-px));
}

.sh-hiw-steps__num {
  position: absolute;
  left: calc(-55 * var(--sh-px));
  top: calc(-48 * var(--sh-px));
  font-family: var(--sh-font-display);
  font-weight: 800;
  font-size: calc(202 * var(--sh-px));
  line-height: calc(116 * var(--sh-px));
  color: var(--sh-gold);
  opacity: 0.15;
  pointer-events: none;
}

.sh-hiw-steps__copy {
  position: relative;
  margin: 0;
  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-hiw-steps__lead {
  font-weight: 900;
  color: var(--sh-gold);
}

.sh-hiw-steps__ctas {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: calc(38 * var(--sh-px));
  margin-top: calc(107 * var(--sh-px));
}

.sh-hiw-steps__cta--calc {
  width: calc(505 * var(--sh-px));
  max-width: 100%;
}

.sh-hiw-steps__cta--talk {
  width: calc(461 * var(--sh-px));
  max-width: 100%;
}

/* Dimensions split */
.sh-hiw-dimensions {
  position: relative;
  margin-bottom: calc(180 * var(--sh-px));
}

.sh-hiw-dimensions__stage {
  display: grid;
  grid-template-columns: calc(854 * var(--sh-px)) minmax(0, 1fr);
  gap: calc(76 * var(--sh-px));
  align-items: start;
  max-width: calc(1920 * var(--sh-px));
  margin-inline: auto;
  min-height: calc(1249 * var(--sh-px));
}

.sh-hiw-dimensions__media {
  position: relative;
  margin: 0;
  width: calc(854 * var(--sh-px));
  height: calc(1249 * var(--sh-px));
  border-radius: 0 0 var(--sh-radius-card) 0;
  overflow: hidden;
}

.sh-hiw-dimensions__media > img {
  display: block;
  width: 100%;
  height: 100%;
  max-width: none;
  object-fit: cover;
}

.sh-hiw-dimensions__media-shade {
  position: absolute;
  inset: 0;
  background: var(--sh-black);
  opacity: 0.2;
  pointer-events: none;
}

.sh-hiw-dimensions__content {
  padding: calc(40 * var(--sh-px)) var(--sh-page-x) 0 0;
  max-width: calc(970 * var(--sh-px));
}

.sh-hiw-dimensions__title {
  margin: 0;
  font-family: var(--sh-font-display);
  font-weight: 800;
  font-size: var(--sh-text-50);
  line-height: var(--sh-leading-62);
  color: var(--sh-darkest-blue);
}

.sh-hiw-dimensions__subtitle {
  margin: calc(28 * var(--sh-px)) 0 0;
  max-width: calc(626 * var(--sh-px));
  font-family: var(--sh-font-display);
  font-weight: 800;
  font-size: var(--sh-text-28);
  line-height: 1.2;
  color: var(--sh-black);
}

.sh-hiw-dimensions__list {
  list-style: none;
  margin: calc(56 * var(--sh-px)) 0 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: calc(33 * var(--sh-px));
  max-width: calc(790 * var(--sh-px));
}

.sh-hiw-dim {
  display: grid;
  grid-template-columns: calc(130 * var(--sh-px)) minmax(0, 1fr);
  gap: calc(28 * var(--sh-px));
  align-items: center;
  min-height: calc(171 * var(--sh-px));
  padding: calc(24 * var(--sh-px)) calc(36 * var(--sh-px)) calc(24 * var(--sh-px)) calc(33 * var(--sh-px));
  border-radius: 0 var(--sh-radius-card) 0 var(--sh-radius-card);
}

.sh-hiw-dim--physical {
  background: #e6f8fd;
}

.sh-hiw-dim--mental {
  background: #f2eff5;
}

.sh-hiw-dim--financial {
  min-height: calc(209 * var(--sh-px));
  background: rgba(129, 199, 199, 0.1);
}

.sh-hiw-dim--professional {
  min-height: calc(209 * var(--sh-px));
  background: #fff7ed;
}

/* Icon boxes — Figma SVGs include organic white blob paths (not square fills) */
.sh-hiw-dim__icon {
  position: relative;
  display: block;
  width: calc(130 * var(--sh-px));
  height: calc(96 * var(--sh-px));
  flex-shrink: 0;
  background: transparent;
  overflow: visible;
}

.sh-hiw-dim__icon > img {
  display: block;
  width: 100%;
  height: 100%;
  max-width: none;
  object-fit: contain;
  object-position: left top;
}

/* Physical — Figma 30:682 Layer_3 + Layer_4 (same dual-layer as homepage) */
.sh-hiw-dim--physical .sh-hiw-dim__icon {
  width: calc(130 * var(--sh-px));
  height: calc(96 * var(--sh-px));
}

.sh-hiw-dim--physical .sh-hiw-dim__icon > img:first-child {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 95.45%; /* inset bottom 4.55% */
  object-fit: fill;
}

.sh-hiw-dim__icon-overlay {
  position: absolute;
  left: 16.3%;
  top: 9.23%;
  width: 68.58%; /* 100% − 15.12% − 16.3% */
  height: 90.77%; /* 100% − 9.23% */
  max-width: none;
  object-fit: fill;
}

.sh-hiw-dim--mental .sh-hiw-dim__icon {
  width: calc(128 * var(--sh-px));
  height: calc(96 * var(--sh-px));
}

.sh-hiw-dim--financial .sh-hiw-dim__icon {
  width: calc(126 * var(--sh-px));
  height: calc(99 * var(--sh-px));
}

.sh-hiw-dim--professional .sh-hiw-dim__icon {
  width: calc(128 * var(--sh-px));
  height: calc(92 * var(--sh-px));
}

.sh-hiw-dim__label {
  margin: 0;
  font-family: var(--sh-font-display);
  font-weight: 800;
  font-size: var(--sh-text-28);
  line-height: calc(28 * var(--sh-px));
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.sh-hiw-dim--physical .sh-hiw-dim__label,
.sh-hiw-dim--physical .sh-hiw-dim__copy strong {
  color: var(--sh-cyan);
}

.sh-hiw-dim--mental .sh-hiw-dim__label,
.sh-hiw-dim--mental .sh-hiw-dim__copy strong {
  color: var(--sh-plum);
}

.sh-hiw-dim--financial .sh-hiw-dim__label,
.sh-hiw-dim--financial .sh-hiw-dim__copy strong {
  color: var(--sh-green);
}

.sh-hiw-dim--professional .sh-hiw-dim__label,
.sh-hiw-dim--professional .sh-hiw-dim__copy strong {
  color: var(--sh-gold);
}

.sh-hiw-dim__copy {
  margin: calc(6 * var(--sh-px)) 0 0;
  font-family: var(--sh-font-body);
  font-weight: 400;
  font-size: var(--sh-text-18);
  line-height: var(--sh-leading-36);
  color: var(--sh-black);
}

.sh-hiw-dim__copy strong {
  font-weight: 900;
}

/* Business impact CTA */
.sh-hiw-business {
  position: relative;
  padding: 0 var(--sh-panel-x);
  margin-bottom: calc(152 * var(--sh-px));
}

.sh-hiw-business__panel {
  display: grid;
  grid-template-columns: minmax(0, 1fr) calc(760 * var(--sh-px));
  gap: calc(80 * var(--sh-px));
  align-items: center;
  max-width: calc(1736 * var(--sh-px));
  margin-inline: auto;
  min-height: calc(660 * var(--sh-px));
  padding: calc(70 * var(--sh-px)) calc(109 * var(--sh-px));
  background: #f2f9f9;
  border-radius: var(--sh-radius-card) 0 var(--sh-radius-card) 0;
}

.sh-hiw-business__title {
  margin: 0;
  max-width: calc(817 * 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-green);
}

.sh-hiw-business__body {
  margin: calc(20 * var(--sh-px)) 0 0;
  max-width: calc(799 * 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-hiw-business__lead {
  font-weight: 900;
  color: var(--sh-green);
}

.sh-hiw-business__cta {
  margin-top: calc(45 * var(--sh-px));
  width: calc(460 * var(--sh-px));
  max-width: 100%;
}

.sh-hiw-business__media {
  position: relative;
  margin: 0;
  width: calc(760 * var(--sh-px));
  max-width: 100%;
}

.sh-hiw-business__media-img {
  display: block;
  width: 100%;
  height: auto;
  max-width: none;
}

@media (max-width: 1099px) {
  /* Tablet / mid sizes — stack layouts; leave ≥1100px desktop Figma intact */
  .sh-hiw {
    overflow-x: clip;
  }

  .sh-hiw-hero {
    min-height: 0;
  }

  .sh-hiw-hero__stage {
    min-height: 0;
    padding-top: 3rem;
    padding-bottom: 3.5rem;
  }

  .sh-hiw-hero__title {
    font-size: clamp(2.5rem, 8vw, 4.5rem);
    line-height: 1.05;
  }

  .sh-hiw-hero__subtitle {
    font-size: clamp(1.35rem, 3.5vw, 2rem);
    line-height: 1.25;
    max-width: 36rem;
  }

  .sh-hiw-hero__body {
    font-size: 1.05rem;
    line-height: 1.55;
    max-width: 36rem;
  }

  .sh-hiw-hero__copy {
    position: relative;
    z-index: 2;
    max-width: min(100%, 36rem);
  }

  /* Decorative art: soften so it doesn't fight copy on mid widths */
  .sh-hiw-hero__waves {
    height: min(70vw, 28rem);
    opacity: 0.45;
  }

  .sh-hiw-hero__conductor {
    left: auto;
    right: -1.5rem;
    top: 28%;
    width: min(42vw, 15rem);
    height: auto;
    aspect-ratio: 398 / 981;
    opacity: 0.4;
  }

  .sh-hiw-hero__icon {
    display: none;
  }

  .sh-hiw-band__lines {
    width: 100%;
    max-width: none;
    height: 100%;
    opacity: 0.55;
  }

  .sh-hiw-ensemble {
    padding-top: 3.5rem;
    padding-bottom: 3.5rem;
  }

  .sh-hiw-ensemble__intro {
    text-align: left;
  }

  .sh-hiw-ensemble__cta {
    width: min(100%, 28rem);
  }

  .sh-hiw-steps {
    margin-bottom: 4rem;
  }

  .sh-hiw-steps__panel {
    padding: 3rem clamp(1.25rem, 4vw, 2.5rem);
  }

  .sh-hiw-steps__cols {
    grid-template-columns: 1fr;
    gap: 2rem;
    margin-top: 2.5rem;
  }

  .sh-hiw-steps__col {
    min-height: 0;
    padding-top: 2.25rem;
  }

  .sh-hiw-steps__num {
    left: 0;
    top: -0.35rem;
    font-size: clamp(4rem, 14vw, 6rem);
    line-height: 1;
  }

  .sh-hiw-steps__ctas {
    margin-top: 2.5rem;
    gap: 1rem;
  }

  .sh-hiw-steps__cta--calc,
  .sh-hiw-steps__cta--talk {
    width: min(100%, 28rem);
  }

  .sh-hiw-dimensions {
    margin-bottom: 4rem;
  }

  .sh-hiw-dimensions__stage {
    grid-template-columns: 1fr;
    min-height: 0;
    gap: 1.75rem;
  }

  .sh-hiw-dimensions__media {
    width: 100%;
    height: auto;
    aspect-ratio: 854 / 1249;
    max-height: 28rem;
  }

  .sh-hiw-dimensions__content {
    padding: 0.5rem var(--sh-page-x) 0;
    max-width: none;
  }

  .sh-hiw-dimensions__list {
    max-width: none;
    margin-top: 1.75rem;
  }

  .sh-hiw-dim {
    min-height: 0;
    grid-template-columns: clamp(4.5rem, 18vw, 6.5rem) minmax(0, 1fr);
    gap: 1rem;
    padding: 1.15rem 1.25rem;
  }

  .sh-hiw-dim--financial,
  .sh-hiw-dim--professional {
    min-height: 0;
  }

  .sh-hiw-dim__icon,
  .sh-hiw-dim--physical .sh-hiw-dim__icon,
  .sh-hiw-dim--mental .sh-hiw-dim__icon,
  .sh-hiw-dim--financial .sh-hiw-dim__icon,
  .sh-hiw-dim--professional .sh-hiw-dim__icon {
    width: 100%;
    height: auto;
    aspect-ratio: 130 / 96;
  }

  .sh-hiw-business {
    margin-bottom: 4rem;
  }

  .sh-hiw-business__panel {
    grid-template-columns: 1fr;
    gap: 2.5rem;
    min-height: 0;
    padding: 2.5rem var(--sh-page-x);
  }

  .sh-hiw-business__media {
    order: -1; /* image above copy on tablet/mobile */
    width: min(100%, 28rem);
    margin-inline: auto;
  }

  .sh-hiw-business__title,
  .sh-hiw-business__body {
    max-width: none;
  }

  .sh-hiw-business__cta {
    width: min(100%, 28rem);
  }
}

/* Mechanism flow — Figma Group 3 @ y3941 vs text boxes ending ~y3946 → ~0 gap */
.sh-hiw-steps__flow {
  margin: 0 auto;
  width: min(100%, calc(1520 * var(--sh-px)));
}

.sh-hiw-steps__flow img {
  display: block;
  width: 100%;
  height: auto;
  max-width: none;
}


/* ==========================================================================
   Partners page — Figma 30:86
   (Use .sh-partners-page — do NOT reuse homepage .sh-partners section padding.)
   ========================================================================== */

.sh-partners-page {
  overflow: clip;
  width: 100%;
  max-width: none;
  padding: 0;
  margin: 0;
  background: transparent;
}

.sh-partners-band {
  position: relative;
}

.sh-partners-band__lines {
  position: absolute;
  inset: 0;
  pointer-events: none;
  overflow: hidden;
}

.sh-partners-band__lines-img {
  display: block;
  width: calc(1617 * var(--sh-px));
  max-width: none;
  height: 100%;
  margin-inline: auto;
  object-fit: cover;
  opacity: 0.55;
}

body.page-template-page-partners .sh-header,
body.page-template-page-partners .sh-partners-hero {
  width: 100%;
  max-width: none;
}

/* ---- Hero (30:391) — full-bleed photo under solid 166 header; title +120 ---- */
.sh-partners-hero {
  position: relative;
  width: 100%;
  color: var(--sh-white);
  min-height: calc(964 * var(--sh-px));
  background: var(--sh-darkest-blue);
  overflow: clip;
}

/* Full-bleed media — outside padded stage so no white side gutters */
.sh-partners-hero__media {
  position: absolute;
  inset: 0;
  z-index: 0;
  pointer-events: none;
  overflow: hidden;
}

.sh-partners-hero__bg {
  position: absolute;
  /* Figma 30:393 object transform */
  left: -17.6%;
  top: -11.15%;
  width: 117.6%;
  height: 143.82%;
  max-width: none;
  object-fit: cover;
  object-position: center center;
}

.sh-partners-hero__shade {
  position: absolute;
  inset: 0;
  background: rgba(0, 70, 118, 0.8); /* Figma Rectangle 9 */
}

.sh-partners-hero__stage {
  position: relative;
  z-index: 1;
  width: 100%;
  max-width: calc(1920 * var(--sh-px));
  margin-inline: auto;
  min-height: calc(964 * var(--sh-px));
  padding: calc(120 * var(--sh-px)) var(--sh-page-x) calc(48 * var(--sh-px));
  box-sizing: border-box;
}

.sh-partners-hero__copy {
  position: relative;
  z-index: 2;
  max-width: calc(846 * var(--sh-px));
}

.sh-partners-hero__title {
  margin: 0;
  max-width: calc(830 * 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-partners-hero__subtitle {
  margin: calc(31 * var(--sh-px)) 0 0;
  max-width: calc(846 * 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);
}

/* Ensemble graphic 30:476 — 775×746 @ x1041, y247 → top 81 below header */
.sh-partners-hero__graphic {
  position: absolute;
  left: calc(1041 * var(--sh-px));
  top: calc(81 * var(--sh-px));
  width: calc(775 * var(--sh-px));
  height: calc(746 * var(--sh-px));
  margin: 0;
  z-index: 1;
  pointer-events: none;
  overflow: visible;
}

.sh-partners-hero__graphic img {
  display: block;
  width: calc(775 * var(--sh-px));
  height: calc(746 * var(--sh-px));
  max-width: none;
  max-height: none;
  object-fit: contain;
  object-position: center;
}

/* ---- Overview (30:115) ---- */
.sh-partners-overview {
  position: relative;
  padding: calc(149 * var(--sh-px)) var(--sh-page-x) calc(120 * var(--sh-px));
  overflow: visible;
}

.sh-partners-overview__inner {
  position: relative;
  z-index: 1;
  max-width: calc(1558 * var(--sh-px));
  margin-inline: auto;
  text-align: center;
}

.sh-partners-overview__title {
  margin: 0;
  font-family: var(--sh-font-display);
  font-weight: 800;
  font-size: var(--sh-text-50);
  line-height: var(--sh-leading-52);
  color: var(--sh-gold);
}

.sh-partners-overview__copy {
  margin: calc(50 * var(--sh-px)) auto 0;
  max-width: calc(1342 * 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-partners-overview__copy p {
  margin: 0;
}

.sh-partners-overview__kicker {
  margin-top: calc(36 * var(--sh-px)) !important;
  font-weight: 800;
  font-size: var(--sh-text-22);
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--sh-gold);
}

.sh-partners-overview__cta {
  width: calc(425 * var(--sh-px));
  max-width: 100%;
  margin: calc(52 * var(--sh-px)) auto 0;
}

/* Figma 30:148–152 — tops ~13.92%–17.46% of page; photos @ y1801 → spiral stack starts ~360px above photos */
.sh-partners-overview__gallery {
  position: relative;
  margin-top: calc(82 * var(--sh-px));
  z-index: 1;
}

.sh-partners-overview__spirals {
  position: absolute;
  left: 50%;
  top: calc(-360 * var(--sh-px));
  width: 100vw;
  max-width: calc(1920 * var(--sh-px));
  height: calc(652 * var(--sh-px));
  transform: translateX(-50%);
  z-index: 0;
  pointer-events: none;
  overflow: visible;
}

.sh-partners-overview__spiral {
  position: absolute;
  left: 0;
  display: block;
  width: 100%;
  max-width: none;
  height: auto;
  transform: rotate(180deg);
  transform-origin: center center;
}

/* Stagger: page tops 1441 → 1807 (Δ366) relative to photo top 1801 */
.sh-partners-overview__spiral--1 {
  top: calc(366 * var(--sh-px));
  height: calc(534 * var(--sh-px));
}

.sh-partners-overview__spiral--2 {
  top: calc(275 * var(--sh-px));
  height: calc(534 * var(--sh-px));
}

.sh-partners-overview__spiral--3 {
  top: calc(184 * var(--sh-px));
  height: calc(535 * var(--sh-px));
}

.sh-partners-overview__spiral--4 {
  top: calc(92 * var(--sh-px));
  height: calc(581 * var(--sh-px));
}

.sh-partners-overview__spiral--5 {
  top: 0;
  height: calc(652 * var(--sh-px));
}

.sh-partners-overview__photos {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: calc(33 * var(--sh-px));
  align-items: end;
}

.sh-partners-overview__photo {
  margin: 0;
  overflow: hidden;
  border-radius: 0 var(--sh-radius-card) 0 var(--sh-radius-card);
}

.sh-partners-overview__photo img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.sh-partners-overview__photo--tall {
  height: calc(443 * var(--sh-px));
}

.sh-partners-overview__photo--mid {
  height: calc(373 * var(--sh-px));
  margin-bottom: calc(35 * var(--sh-px));
}

/* ---- Compare table (30:250) ---- */
.sh-partners-compare {
  position: relative;
  padding: 0 var(--sh-panel-x);
  margin-bottom: calc(100 * var(--sh-px));
}

.sh-partners-compare__panel {
  max-width: calc(1736 * var(--sh-px));
  margin-inline: auto;
  padding: calc(128 * var(--sh-px)) calc(108 * var(--sh-px)) calc(137 * var(--sh-px));
  background: rgba(129, 199, 199, 0.1); /* #81C7C7 @ 10% */
  border-radius: var(--sh-radius-card) 0 var(--sh-radius-card) 0; /* tl + br */
}

.sh-partners-compare__title {
  margin: 0;
  text-align: center;
  font-family: var(--sh-font-display);
  font-weight: 800;
  font-size: var(--sh-text-50);
  line-height: var(--sh-leading-52);
  color: var(--sh-green); /* #81C7C7 */
}

.sh-partners-compare__subtitle {
  margin: calc(44 * var(--sh-px)) 0 0;
  text-align: center;
  font-family: var(--sh-font-display);
  font-weight: 800;
  font-size: var(--sh-text-28);
  line-height: 1.2;
  color: var(--sh-black);
}

.sh-partners-compare__table-wrap {
  margin-top: calc(65 * var(--sh-px));
  overflow-x: auto;
}

.sh-partners-compare__table {
  width: 100%;
  border-collapse: separate;
  border-spacing: 0;
  table-layout: fixed;
}

.sh-partners-compare__table thead th {
  padding: 0 calc(16 * var(--sh-px)) calc(24 * var(--sh-px));
  font-family: var(--sh-font-display);
  font-weight: 800;
  font-size: var(--sh-text-28);
  line-height: calc(28 * var(--sh-px));
  letter-spacing: calc(3.36 * var(--sh-px));
  text-transform: uppercase;
  text-align: left;
  vertical-align: bottom;
}

.sh-partners-compare__corner {
  width: 26%;
}

.sh-partners-compare__head-typical {
  width: 28%;
  color: var(--sh-black);
}

.sh-partners-compare__head-smart {
  width: 46%;
  color: var(--sh-green);
}

.sh-partners-compare__table tbody th,
.sh-partners-compare__table tbody td {
  height: calc(66 * var(--sh-px));
  padding: 0 calc(20 * var(--sh-px));
  vertical-align: middle;
  font-size: var(--sh-text-18);
  line-height: calc(66 * var(--sh-px));
  color: var(--sh-black);
  background: transparent;
  white-space: nowrap;
}

.sh-partners-compare__table tbody th {
  font-family: var(--sh-font-body);
  font-weight: 800;
  font-size: var(--sh-text-20);
  letter-spacing: 0.02em;
  text-transform: uppercase;
  color: var(--sh-green);
  text-align: left;
}

.sh-partners-compare__table tbody td:nth-child(2) {
  font-family: var(--sh-font-body);
  font-weight: 400;
  text-align: left;
  color: var(--sh-black);
}

.sh-partners-compare__table tbody td:nth-child(3) {
  font-family: var(--sh-font-body);
  font-weight: 800;
  text-align: left;
  color: var(--sh-darkest-blue); /* #004676 */
}

/* Alternating white pills — Figma Rect 70–74, radius bl/tr 25 */
.sh-partners-compare__table tbody tr:nth-child(odd) th,
.sh-partners-compare__table tbody tr:nth-child(odd) td {
  background: var(--sh-white);
}

.sh-partners-compare__table tbody tr:nth-child(odd) th {
  border-radius: 0 0 0 calc(25 * var(--sh-px));
}

.sh-partners-compare__table tbody tr:nth-child(odd) td:last-child {
  border-radius: 0 calc(25 * var(--sh-px)) 0 0;
}

.sh-partners-compare__check {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: calc(26 * var(--sh-px));
  height: calc(26 * var(--sh-px));
  margin-right: calc(14 * var(--sh-px));
  vertical-align: middle;
  flex-shrink: 0;
}

.sh-partners-compare__check > img:first-child {
  display: block;
  width: 100%;
  height: 100%;
  max-width: none;
}

.sh-partners-compare__check-mark {
  position: absolute !important;
  left: 50%;
  top: 50%;
  width: calc(11 * var(--sh-px)) !important;
  height: auto !important;
  max-width: none;
  transform: translate(-50%, -50%);
}

.sh-partners-compare__smart {
  display: inline;
  vertical-align: middle;
}

.sh-partners-compare__ctas {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: calc(38 * var(--sh-px));
  margin-top: calc(100 * var(--sh-px));
}

.sh-partners-compare__cta {
  background: transparent;
}

.sh-partners-compare__cta--calc {
  width: calc(505 * var(--sh-px));
  max-width: 100%;
}

.sh-partners-compare__cta--talk {
  width: calc(461 * var(--sh-px));
  max-width: 100%;
}

.sh-partners-compare__cta .sh-cta__label {
  color: var(--sh-black);
}

/* ---- Noise / why (30:291) ---- */
.sh-partners-noise {
  position: relative;
  padding: 0 0 calc(80 * var(--sh-px)) var(--sh-page-x);
  margin-bottom: calc(40 * var(--sh-px));
  min-height: calc(819 * var(--sh-px));
  overflow: hidden;
}

.sh-partners-noise__copy {
  position: relative;
  z-index: 2;
  max-width: calc(726 * var(--sh-px));
  padding-top: calc(143 * var(--sh-px)); /* title y 3897 − art y 3754 */
}

.sh-partners-noise__title {
  margin: 0;
  max-width: calc(691 * 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); /* #026CB6 */
}

.sh-partners-noise__body {
  margin: calc(50 * var(--sh-px)) 0 0;
  max-width: calc(726 * var(--sh-px));
}

.sh-partners-noise__body p {
  margin: 0;
  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-partners-noise__body p + p {
  margin-top: calc(36 * var(--sh-px)); /* blank line between paras in Figma */
}

.sh-partners-noise__closing {
  font-family: var(--sh-font-body) !important;
  font-weight: 800 !important;
  font-size: var(--sh-text-22) !important;
  line-height: var(--sh-leading-36) !important;
  letter-spacing: calc(2.64 * var(--sh-px));
  text-transform: uppercase;
  color: var(--sh-dark-blue) !important; /* #026CB6 */
}

.sh-partners-noise__art {
  position: absolute;
  top: 0;
  left: calc(763 * var(--sh-px));
  width: calc(1157 * var(--sh-px));
  height: calc(819 * var(--sh-px));
  margin: 0;
  z-index: 1;
  pointer-events: none;
}

.sh-partners-noise__art img {
  display: block;
  width: calc(1157 * var(--sh-px));
  height: calc(819 * var(--sh-px));
  max-width: none;
  max-height: none;
  object-fit: contain;
  object-position: left top;
}

/* ---- Credentials (30:178) ---- */
.sh-partners-cred {
  position: relative;
  padding: calc(159 * var(--sh-px)) var(--sh-page-x) calc(140 * var(--sh-px));
  background: rgba(128, 91, 156, 0.1);
  margin-bottom: calc(80 * var(--sh-px));
}

.sh-partners-cred__inner {
  max-width: calc(1520 * var(--sh-px));
  margin-inline: auto;
  text-align: center;
}

.sh-partners-cred__title {
  margin: 0;
  font-family: var(--sh-font-display);
  font-weight: 800;
  font-size: var(--sh-text-50);
  line-height: var(--sh-leading-52);
  color: var(--sh-plum);
}

.sh-partners-cred__intro {
  margin: calc(50 * var(--sh-px)) auto 0;
  max-width: calc(1520 * 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-partners-cred__intro em {
  font-style: italic;
  font-weight: 800;
  color: var(--sh-plum);
}

.sh-partners-cred__cards {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: calc(37 * var(--sh-px));
  list-style: none;
  margin: calc(87 * var(--sh-px)) 0 0;
  padding: 0;
  text-align: center;
}

.sh-partners-cred__card {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  min-height: calc(768 * var(--sh-px));
  padding: calc(120 * var(--sh-px)) calc(40 * var(--sh-px)) calc(48 * var(--sh-px));
  background: var(--sh-white);
  border-radius: 0 var(--sh-radius-card) 0 var(--sh-radius-card);
}

.sh-partners-cred__shield {
  position: absolute;
  top: calc(-28 * var(--sh-px));
  left: calc(42 * var(--sh-px));
  width: calc(86 * var(--sh-px));
  height: calc(96 * var(--sh-px));
}

.sh-partners-cred__shield-bg,
.sh-partners-cred__shield-icon {
  position: absolute;
  max-width: none;
}

.sh-partners-cred__shield-bg {
  inset: 0;
  width: 100%;
  height: 100%;
}

.sh-partners-cred__shield-icon {
  left: calc(19 * var(--sh-px));
  top: calc(14 * var(--sh-px));
  width: calc(47 * var(--sh-px));
  height: calc(68 * var(--sh-px));
}

.sh-partners-cred__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-partners-cred__logo {
  display: block;
  max-width: 72%;
  max-height: 100%;
  width: auto;
  height: auto;
  opacity: 0.4;
  object-fit: contain;
}

.sh-partners-cred__bar {
  display: block;
  width: calc(289 * var(--sh-px));
  height: calc(25 * var(--sh-px));
  margin-bottom: calc(40 * var(--sh-px));
  background: var(--sh-plum);
  border-radius: var(--sh-radius-soft) 0 var(--sh-radius-soft) 0;
}

.sh-partners-cred__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);
  color: var(--sh-plum);
}

.sh-partners-cred__copy {
  margin: 0;
  max-width: calc(375 * 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-partners-cred__outro {
  margin: calc(87 * var(--sh-px)) auto 0;
  max-width: calc(1038 * var(--sh-px));
  font-family: var(--sh-font-body);
  font-weight: 800;
  font-size: var(--sh-text-22);
  line-height: var(--sh-leading-36);
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--sh-plum);
}

.sh-partners-cred__cta {
  width: calc(428 * var(--sh-px));
  max-width: 100%;
  margin: calc(58 * var(--sh-px)) auto 0;
}

/* ---- VS gap (30:368) ---- */
.sh-partners-vs {
  position: relative;
  padding: 0 var(--sh-page-x);
  margin-bottom: calc(146 * var(--sh-px));
}

.sh-partners-vs__inner {
  position: relative;
  z-index: 1;
  max-width: calc(1520 * var(--sh-px));
  margin-inline: auto;
  text-align: center;
}

.sh-partners-vs__title {
  margin: 0;
  font-family: var(--sh-font-display);
  font-weight: 800;
  font-size: var(--sh-text-50);
  line-height: var(--sh-leading-62);
  color: var(--sh-darkest-blue); /* #004676 */
}

.sh-partners-vs__intro {
  margin: calc(50 * var(--sh-px)) auto 0;
  max-width: calc(1341 * 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-partners-vs__grid {
  position: relative;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: calc(47 * var(--sh-px));
  margin-top: calc(98 * var(--sh-px));
  align-items: stretch;
  overflow: visible;
}

.sh-partners-vs__card {
  position: relative;
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  align-items: center;
  min-height: calc(456 * var(--sh-px));
  padding: calc(79 * var(--sh-px)) calc(56 * var(--sh-px)) calc(48 * var(--sh-px));
  background: #e6ecf1;
  color: var(--sh-dark-blue);
  text-align: center;
  overflow: visible;
}

.sh-partners-vs__card--left {
  border-radius: 0 0 0 var(--sh-radius-card); /* bl 50 */
}

.sh-partners-vs__card--right {
  border-radius: 0 var(--sh-radius-card) 0 0; /* tr 50 */
}

.sh-partners-vs__card-label {
  margin: 0;
  max-width: calc(556 * var(--sh-px));
  font-family: var(--sh-font-display);
  font-weight: 800;
  font-size: calc(40 * var(--sh-px));
  line-height: calc(60 * var(--sh-px));
  color: var(--sh-dark-blue); /* #026CB6 */
}

.sh-partners-vs__amount {
  margin: calc(36 * var(--sh-px)) 0 0;
  font-family: var(--sh-font-display);
  font-weight: 800;
  font-size: var(--sh-text-112);
  line-height: var(--sh-leading-62);
  color: var(--sh-cyan); /* #00B5EA */
}

.sh-partners-vs__note {
  margin: calc(40 * var(--sh-px)) 0 0;
  font-family: var(--sh-font-body);
  font-weight: 800;
  font-size: var(--sh-text-22);
  line-height: var(--sh-leading-36);
  letter-spacing: calc(2.64 * var(--sh-px));
  text-transform: uppercase;
  color: var(--sh-darkest-blue); /* #004676 */
}

.sh-partners-vs__badge {
  position: absolute;
  left: 50%;
  top: 50%;
  width: calc(151 * var(--sh-px));
  height: calc(151 * var(--sh-px));
  transform: translate(-50%, -50%);
  z-index: 2;
}

.sh-partners-vs__badge img {
  display: block;
  width: 100%;
  height: 100%;
  max-width: none;
}

.sh-partners-vs__badge-text {
  position: absolute;
  inset: 0;
  display: grid;
  place-items: center;
  font-family: var(--sh-font-display);
  font-weight: 800;
  font-size: var(--sh-text-50);
  line-height: calc(60 * var(--sh-px));
  color: var(--sh-white);
}

/* Plus ornament — Figma 30:382–384 relative to right card */
.sh-partners-vs__ornament {
  position: absolute;
  top: calc(-32 * var(--sh-px));
  right: calc(-32 * var(--sh-px));
  width: calc(130 * var(--sh-px));
  height: calc(150 * var(--sh-px));
  pointer-events: none;
  z-index: 3;
}

.sh-partners-vs__ornament img {
  position: absolute;
  display: block;
  max-width: none;
}

.sh-partners-vs__ornament-arc-outer {
  left: 0;
  top: 0;
  width: calc(130 * var(--sh-px));
  height: calc(150 * var(--sh-px));
}

.sh-partners-vs__ornament-arc-inner {
  left: calc(-2 * var(--sh-px));
  top: calc(10 * var(--sh-px));
  width: calc(95 * var(--sh-px));
  height: calc(130 * var(--sh-px));
}

.sh-partners-vs__ornament-plus {
  left: calc(32 * var(--sh-px));
  top: calc(54 * var(--sh-px));
  width: calc(43 * var(--sh-px));
  height: calc(42 * var(--sh-px));
}

.sh-partners-vs__outro {
  margin: calc(96 * var(--sh-px)) auto 0;
  max-width: calc(1038 * var(--sh-px));
  font-family: var(--sh-font-body);
  font-weight: 800;
  font-size: var(--sh-text-22);
  line-height: var(--sh-leading-36);
  letter-spacing: calc(2.64 * var(--sh-px));
  text-transform: uppercase;
  color: var(--sh-darkest-blue); /* #004676 */
}

/* ---- Exposure (30:223 + bars 30:385–390) ---- */
.sh-partners-exposure {
  position: relative;
  padding: calc(159 * var(--sh-px)) var(--sh-page-x) calc(156 * var(--sh-px));
  background: #f2f9f9;
  margin-bottom: 0;
}

.sh-partners-exposure__inner {
  max-width: calc(1558 * var(--sh-px));
  margin-inline: auto;
  text-align: center;
}

.sh-partners-exposure__title {
  margin: 0;
  font-family: var(--sh-font-display);
  font-weight: 800;
  font-size: var(--sh-text-50);
  line-height: var(--sh-leading-52);
  color: var(--sh-green); /* #81C7C7 */
}

.sh-partners-exposure__body {
  margin: calc(50 * var(--sh-px)) auto 0;
  max-width: calc(1306 * 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-partners-exposure__grid {
  position: relative;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: calc(47 * var(--sh-px));
  max-width: calc(1520 * var(--sh-px));
  margin: calc(50 * var(--sh-px)) auto 0;
}

.sh-partners-exposure__card {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  min-height: calc(280 * var(--sh-px));
  padding: calc(48 * var(--sh-px)) calc(56 * var(--sh-px));
  background: #e6ecf1;
  text-align: center;
}

.sh-partners-exposure__card--left {
  border-radius: 0 0 0 var(--sh-radius-card); /* bl 50 */
}

.sh-partners-exposure__card--right {
  border-radius: 0 var(--sh-radius-card) 0 0; /* tr 50 */
}

.sh-partners-exposure__label {
  margin: 0;
  max-width: calc(556 * var(--sh-px));
  font-family: var(--sh-font-display);
  font-weight: 800;
  font-size: calc(40 * var(--sh-px));
  line-height: calc(60 * var(--sh-px));
  color: var(--sh-green); /* #81C7C7 */
}

.sh-partners-exposure__value {
  margin: calc(20 * var(--sh-px)) 0 0;
  max-width: calc(667 * var(--sh-px));
  font-family: var(--sh-font-body);
  font-weight: 800;
  font-size: var(--sh-text-22);
  line-height: var(--sh-leading-36);
  letter-spacing: calc(2.64 * var(--sh-px));
  text-transform: uppercase;
  color: var(--sh-darkest-blue); /* #004676 */
}

.sh-partners-exposure__badge {
  position: absolute;
  left: 50%;
  top: 50%;
  width: calc(151 * var(--sh-px));
  height: calc(151 * var(--sh-px));
  transform: translate(-50%, -50%);
  z-index: 2;
}

.sh-partners-exposure__badge img {
  display: block;
  width: 100%;
  height: 100%;
  max-width: none;
}

.sh-partners-exposure__badge-text {
  position: absolute;
  inset: 0;
  display: grid;
  place-items: center;
  font-family: var(--sh-font-display);
  font-weight: 800;
  font-size: var(--sh-text-50);
  line-height: calc(60 * var(--sh-px));
  color: var(--sh-white);
}

/* ---- Bottom CTA (30:157) — panel 1736×1081, media left + copy right ---- */
.sh-partners-cta {
  position: relative;
  padding: 0 var(--sh-panel-x);
  margin-top: calc(146 * var(--sh-px)); /* exposure end 8332 → CTA 8478 */
  margin-bottom: calc(114 * var(--sh-px)); /* CTA end 9559 → footer 9673 */
}

.sh-partners-cta__panel {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  box-sizing: border-box;
  width: 100%;
  max-width: calc(1736 * var(--sh-px));
  height: calc(1081 * var(--sh-px));
  margin-inline: auto;
  /* Figma: Ellipse 16 @ left 108 / top 114; copy @ ~972 / 171 */
  padding: calc(114 * var(--sh-px)) calc(73 * var(--sh-px)) calc(136 * var(--sh-px)) calc(108 * var(--sh-px));
  background: rgba(251, 176, 76, 0.1); /* #FBB04C @ 10% */
  border-radius: var(--sh-radius-card) 0 var(--sh-radius-card) 0; /* tl + br */
  overflow: hidden;
}

.sh-partners-cta__media {
  flex: 0 0 calc(760 * var(--sh-px));
  width: calc(760 * var(--sh-px));
  margin: 0;
  line-height: 0;
}

.sh-partners-cta__media img {
  display: block;
  width: 100%;
  height: auto;
  max-width: none;
}

.sh-partners-cta__copy {
  flex: 0 0 calc(691 * var(--sh-px));
  width: calc(691 * var(--sh-px));
  padding-top: calc(57 * var(--sh-px)); /* 171 − 114 */
}

.sh-partners-cta__title {
  margin: 0;
  font-family: var(--sh-font-display);
  font-weight: 800;
  font-size: var(--sh-text-50);
  line-height: var(--sh-leading-62);
  color: var(--sh-gold); /* #FBB04C */
}

.sh-partners-cta__body {
  margin: calc(38 * var(--sh-px)) 0 0;
  max-width: calc(652 * 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-partners-cta__actions {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: calc(38 * var(--sh-px));
  margin-top: calc(72 * var(--sh-px));
}

.sh-partners-cta__btn {
  background: transparent;
  max-width: 100%;
}

.sh-partners-cta__btn--calc {
  width: calc(510 * var(--sh-px));
}

.sh-partners-cta__btn--talk {
  width: calc(466 * var(--sh-px));
}

.sh-partners-cta__btn .sh-cta__label {
  color: var(--sh-black);
}

@media (max-width: 1100px) {
  /* Tablet / mid — stack; desktop ≥1101 keeps Figma absolute layout */
  .sh-partners-page {
    overflow-x: clip;
  }

  .sh-partners-band__lines-img {
    width: 100%;
    max-width: none;
  }

  .sh-partners-hero {
    min-height: 0;
  }

  .sh-partners-hero__stage {
    min-height: 0;
    padding: 3rem var(--sh-page-x) 2.5rem;
  }

  .sh-partners-hero__copy {
    max-width: min(100%, 36rem);
  }

  .sh-partners-hero__title {
    max-width: none;
    font-size: clamp(2.5rem, 8vw, 4.5rem);
    line-height: 1.05;
  }

  .sh-partners-hero__subtitle {
    margin-top: 1.25rem;
    max-width: none;
    font-size: clamp(1.35rem, 3.5vw, 2rem);
    line-height: 1.25;
  }

  .sh-partners-hero__graphic {
    right: -8%;
    left: auto;
    top: 18%;
    width: min(48vw, 20rem);
    height: auto;
    aspect-ratio: 775 / 746;
    opacity: 0.28;
  }

  .sh-partners-hero__graphic img {
    width: 100%;
    height: 100%;
  }

  .sh-partners-overview {
    padding: 3.5rem var(--sh-page-x);
  }

  .sh-partners-overview__inner,
  .sh-partners-overview__copy {
    max-width: none;
  }

  .sh-partners-overview__cta {
    width: min(100%, 28rem);
  }

  .sh-partners-overview__spirals {
    display: none;
  }

  .sh-partners-overview__gallery {
    margin-top: 2.5rem;
  }

  .sh-partners-overview__photos {
    grid-template-columns: 1fr;
    gap: 1rem;
    align-items: stretch;
  }

  .sh-partners-overview__photo--tall,
  .sh-partners-overview__photo--mid {
    height: auto;
    aspect-ratio: 458 / 373;
    margin-bottom: 0;
  }

  .sh-partners-compare {
    padding: 0 var(--sh-page-x);
    margin-bottom: 3.5rem;
  }

  .sh-partners-compare__panel {
    padding: 3rem clamp(1.25rem, 4vw, 2.5rem);
  }

  .sh-partners-compare__table thead th {
    font-size: clamp(0.85rem, 2.2vw, 1.15rem);
    line-height: 1.2;
    letter-spacing: 0.06em;
    padding-bottom: 1rem;
  }

  .sh-partners-compare__table tbody th,
  .sh-partners-compare__table tbody td {
    height: auto;
    min-height: 3rem;
    padding: 0.85rem 0.75rem;
    line-height: 1.35;
    white-space: normal;
  }

  .sh-partners-compare__check {
    width: 1.25rem;
    height: 1.25rem;
    margin-right: 0.5rem;
  }

  .sh-partners-compare__check-mark {
    width: 0.55rem !important;
  }

  .sh-partners-compare__ctas {
    flex-direction: column;
    align-items: stretch;
    gap: 1rem;
    margin-top: 2.5rem;
  }

  .sh-partners-compare__cta--calc,
  .sh-partners-compare__cta--talk {
    width: min(100%, 28rem);
    margin-inline: auto;
  }

  .sh-partners-noise {
    display: flex;
    flex-direction: column;
    padding: 0 var(--sh-page-x) 3rem;
    margin-bottom: 2rem;
    min-height: 0;
    overflow: visible;
  }

  .sh-partners-noise__copy {
    max-width: none;
    padding-top: 0;
    order: 2;
  }

  .sh-partners-noise__title,
  .sh-partners-noise__body {
    max-width: none;
  }

  .sh-partners-noise__closing {
    letter-spacing: 0.08em;
  }

  .sh-partners-noise__art {
    order: 1; /* image above copy */
    position: relative;
    left: auto;
    top: auto;
    width: min(100%, 36rem);
    height: auto;
    aspect-ratio: 1157 / 819;
    margin: 0 auto 1.75rem;
  }

  .sh-partners-noise__art img {
    width: 100%;
    height: 100%;
  }

  .sh-partners-cred {
    padding: 3.5rem var(--sh-page-x);
    margin-bottom: 3rem;
  }

  .sh-partners-cred__inner,
  .sh-partners-cred__intro {
    max-width: none;
  }

  .sh-partners-cred__cards {
    grid-template-columns: 1fr;
    gap: 2.5rem;
    margin-top: 3rem;
  }

  .sh-partners-cred__card {
    width: 100%;
    max-width: 28rem;
    min-height: 0;
    margin-inline: auto;
    padding: 3.5rem 1.5rem 2rem;
  }

  .sh-partners-cred__shield {
    top: -1.25rem;
    left: 1.25rem;
    width: 3.5rem;
    height: 3.9rem;
  }

  .sh-partners-cred__shield-icon {
    left: 22%;
    top: 14%;
    width: 55%;
    height: auto;
  }

  .sh-partners-cred__logo-wrap {
    height: 4.5rem;
    margin-bottom: 1rem;
  }

  .sh-partners-cred__bar {
    width: min(100%, 12rem);
    height: 0.75rem;
    margin-bottom: 1.25rem;
  }

  .sh-partners-cred__name,
  .sh-partners-cred__copy,
  .sh-partners-cred__outro {
    max-width: none;
  }

  .sh-partners-cred__name {
    font-size: clamp(1.75rem, 4vw, 2.5rem);
    line-height: 1.15;
  }

  .sh-partners-cred__cta {
    width: min(100%, 28rem);
  }

  .sh-partners-vs {
    padding: 3.5rem var(--sh-page-x);
  }

  .sh-partners-vs__inner {
    max-width: none;
  }

  .sh-partners-vs__grid {
    grid-template-columns: 1fr;
    gap: 1.5rem;
  }

  .sh-partners-vs__card {
    width: 100%;
    max-width: none;
    min-height: 0;
    padding: 2rem 1.5rem;
  }

  .sh-partners-vs__card-label,
  .sh-partners-vs__note,
  .sh-partners-vs__intro,
  .sh-partners-vs__outro {
    max-width: none;
  }

  .sh-partners-vs__card-label {
    font-size: clamp(1.35rem, 3.5vw, 2rem);
    line-height: 1.25;
  }

  .sh-partners-vs__amount {
    font-size: clamp(2.5rem, 8vw, 4.5rem);
    line-height: 1.05;
  }

  .sh-partners-vs__note {
    letter-spacing: 0.08em;
  }

  .sh-partners-vs__ornament {
    display: none;
  }

  .sh-partners-vs__badge {
    position: relative;
    left: auto;
    top: auto;
    transform: none;
    width: 4.5rem;
    height: 4.5rem;
    margin: -0.5rem auto;
  }

  .sh-partners-exposure {
    padding: 3.5rem var(--sh-page-x);
  }

  .sh-partners-exposure__inner {
    max-width: none;
  }

  .sh-partners-exposure__body {
    max-width: none;
  }

  .sh-partners-exposure__grid {
    grid-template-columns: 1fr;
    gap: 1.5rem;
  }

  .sh-partners-exposure__card {
    width: 100%;
    max-width: none;
    min-height: 0;
    padding: 2rem 1.5rem;
    align-items: center;
    text-align: center;
  }

  .sh-partners-exposure__label,
  .sh-partners-exposure__value {
    max-width: none;
    width: 100%;
    text-align: center;
  }

  .sh-partners-exposure__label {
    font-size: clamp(1.35rem, 3.5vw, 2rem);
    line-height: 1.25;
  }

  .sh-partners-exposure__value {
    letter-spacing: 0.08em;
  }

  .sh-partners-exposure__badge {
    position: relative;
    left: auto;
    top: auto;
    transform: none;
    width: 4.5rem;
    height: 4.5rem;
    margin: -0.5rem auto;
  }

  .sh-partners-cta {
    padding: 0 var(--sh-page-x);
    margin-bottom: 3.5rem;
  }

  .sh-partners-cta__panel {
    flex-direction: column;
    align-items: stretch;
    height: auto;
    padding: 2.5rem clamp(1.25rem, 4vw, 2.5rem);
  }

  .sh-partners-cta__media {
    order: -1; /* image above copy */
    flex: none;
    width: min(100%, 28rem);
    margin: 0 auto 1.75rem;
  }

  .sh-partners-cta__copy {
    flex: none;
    width: 100%;
    max-width: none;
  }

  .sh-partners-cta__body {
    max-width: none;
  }

  .sh-partners-cta__actions {
    flex-direction: column;
    align-items: stretch;
    gap: 1rem;
  }

  .sh-partners-cta__btn--calc,
  .sh-partners-cta__btn--talk {
    width: min(100%, 28rem);
  }
}

/* --------------------------------------------------------------------------
   For Employers (Figma 30:855)
   -------------------------------------------------------------------------- */
body.page-template-page-for-employers .sh-header,
body.page-template-page-for-employers .sh-emp-hero {
  width: 100%;
  max-width: none;
}

.sh-emp-page {
  overflow: visible;
}

/* ---- Hero (30:966) — navy band 1332 (1166 below header); portrait + pills bleed past it ---- */
.sh-emp-hero {
  position: relative;
  z-index: 2;
  width: 100%;
  color: var(--sh-white);
  min-height: calc(1166 * var(--sh-px));
  background: var(--sh-darkest-blue);
  overflow: visible;
}

.sh-emp-hero__media {
  position: absolute;
  inset: 0;
  z-index: 0;
  pointer-events: none;
  overflow: hidden;
}

.sh-emp-hero__bg {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  max-width: none;
  object-fit: cover;
  object-position: center center;
}

.sh-emp-hero__shade {
  position: absolute;
  inset: 0;
  background: rgba(0, 70, 118, 0.8);
}

.sh-emp-hero__stage {
  position: relative;
  z-index: 1;
  width: 100%;
  max-width: calc(1920 * var(--sh-px));
  margin-inline: auto;
  min-height: calc(1166 * var(--sh-px));
  padding: calc(128 * var(--sh-px)) var(--sh-page-x) 0;
  box-sizing: border-box;
}

.sh-emp-hero__portrait {
  position: absolute;
  right: calc(90 * var(--sh-px));
  top: calc(68 * var(--sh-px));
  width: calc(949 * var(--sh-px));
  height: calc(1236 * var(--sh-px));
  margin: 0;
  border-radius: 0 var(--sh-radius-card) 0 var(--sh-radius-card);
  overflow: hidden;
  z-index: 1;
  pointer-events: none;
}

.sh-emp-hero__portrait img {
  display: block;
  width: 100%;
  height: 100%;
  max-width: none;
  object-fit: cover;
}

.sh-emp-hero__portrait-shade {
  position: absolute;
  inset: 0;
  background: rgba(0, 0, 0, 0.2);
}

.sh-emp-hero__copy {
  position: relative;
  z-index: 2;
  max-width: calc(1151 * var(--sh-px));
}

.sh-emp-hero__title {
  margin: 0;
  max-width: calc(1151 * 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-emp-hero__subtitle {
  margin: calc(45 * var(--sh-px)) 0 0;
  max-width: calc(594 * 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-emp-hero__pills {
  position: absolute;
  left: 0;
  top: 0;
  z-index: 3;
  list-style: none;
  margin: 0;
  padding: 0;
}

.sh-emp-hero__pill {
  position: absolute;
  display: flex;
  align-items: center;
  gap: calc(18 * var(--sh-px));
  height: calc(109 * var(--sh-px));
  padding: 0 calc(40 * var(--sh-px)) 0 calc(60 * var(--sh-px));
  box-sizing: border-box;
  border-radius: 0 var(--sh-radius-card) 0 var(--sh-radius-card);
}

/* Figma y 1016 / 1148 / 1280 − header 166 */
.sh-emp-hero__pill--1 {
  left: calc(202 * var(--sh-px));
  top: calc(850 * var(--sh-px));
  width: calc(1060 * var(--sh-px));
  background: var(--sh-dark-blue);
}

.sh-emp-hero__pill--2 {
  left: calc(262 * var(--sh-px));
  top: calc(982 * var(--sh-px));
  width: calc(796 * var(--sh-px));
  background: var(--sh-plum);
}

.sh-emp-hero__pill--3 {
  left: calc(322 * var(--sh-px));
  top: calc(1114 * var(--sh-px));
  width: calc(658 * var(--sh-px));
  background: var(--sh-gold);
}

.sh-emp-hero__pill-value {
  flex: 0 0 auto;
  font-family: var(--sh-font-display);
  font-weight: 800;
  font-size: calc(30 * var(--sh-px));
  line-height: 1.2;
  color: var(--sh-white);
  white-space: nowrap;
}

.sh-emp-hero__pill-label {
  font-family: var(--sh-font-body);
  font-weight: 500;
  font-size: var(--sh-text-24);
  line-height: var(--sh-leading-36);
  color: var(--sh-white);
}

/* ---- Outcome band + section (30:996) ---- */
.sh-emp-band {
  position: relative;
}

.sh-emp-band__lines {
  position: absolute;
  inset: 0;
  pointer-events: none;
  overflow: hidden;
}

.sh-emp-band__lines-img {
  display: block;
  width: calc(1617 * var(--sh-px));
  max-width: none;
  height: 100%;
  margin-inline: auto;
  object-fit: cover;
  opacity: 0.55;
}

.sh-emp-outcome {
  position: relative;
  z-index: 1;
  padding: calc(279 * var(--sh-px)) var(--sh-page-x) 0; /* navy end 1332 → title 1611 */
}

.sh-emp-outcome__title {
  margin: 0 auto;
  max-width: calc(1558 * var(--sh-px));
  text-align: center;
  font-family: var(--sh-font-display);
  font-weight: 800;
  font-size: var(--sh-text-50);
  line-height: var(--sh-leading-52);
  color: var(--sh-cyan);
}

.sh-emp-outcome__body {
  margin: calc(44 * var(--sh-px)) auto 0;
  max-width: calc(1342 * var(--sh-px));
  text-align: center;
  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-emp-outcome__closing {
  margin: calc(36 * var(--sh-px)) auto 0;
  max-width: calc(1342 * var(--sh-px));
  text-align: center;
  font-family: var(--sh-font-body);
  font-weight: 800;
  font-size: var(--sh-text-22);
  line-height: var(--sh-leading-36);
  letter-spacing: calc(2.64 * var(--sh-px));
  text-transform: uppercase;
  color: var(--sh-cyan);
}

.sh-emp-outcome__visual {
  position: relative;
  width: 100%;
  max-width: calc(1558 * var(--sh-px));
  height: calc(709 * var(--sh-px));
  margin: calc(88 * var(--sh-px)) auto 0;
}

.sh-emp-outcome__photo {
  position: absolute;
  left: calc(141 * var(--sh-px));
  top: calc(47 * var(--sh-px));
  width: calc(1400 * var(--sh-px));
  height: calc(662 * var(--sh-px));
  margin: 0;
  border-radius: var(--sh-radius-card) 0 var(--sh-radius-card) 0;
  overflow: hidden;
}

.sh-emp-outcome__photo img {
  display: block;
  width: 100%;
  height: 100%;
  max-width: none;
  object-fit: cover;
}

.sh-emp-outcome__stat {
  position: absolute;
  left: calc(21 * var(--sh-px));
  top: 0;
  width: calc(458 * var(--sh-px));
  height: calc(312 * var(--sh-px));
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
  background: var(--sh-cyan);
  border-radius: 0 var(--sh-radius-card) 0 var(--sh-radius-card);
  z-index: 2;
}

.sh-emp-outcome__stat-value,
.sh-emp-outcome__stat-label {
  margin: 0;
  font-family: var(--sh-font-display);
  font-weight: 800;
  color: var(--sh-white);
}

.sh-emp-outcome__stat-value {
  font-size: calc(40 * var(--sh-px));
  line-height: calc(38 * var(--sh-px));
}

.sh-emp-outcome__stat-label {
  margin-top: calc(8 * var(--sh-px));
  font-size: var(--sh-text-28);
  line-height: calc(38 * var(--sh-px));
}

.sh-emp-outcome__plus {
  position: absolute;
  right: calc(57 * var(--sh-px));
  top: 0;
  width: calc(121 * var(--sh-px));
  height: calc(122 * var(--sh-px));
  max-width: none;
  z-index: 2;
}

/* ---- Three wins (30:883) ---- */
.sh-emp-wins {
  position: relative;
  margin-top: calc(188 * var(--sh-px));
  padding: calc(159 * var(--sh-px)) var(--sh-page-x) calc(166 * var(--sh-px));
  background: rgba(128, 91, 156, 0.1);
}

.sh-emp-wins__inner {
  max-width: calc(1520 * var(--sh-px));
  margin-inline: auto;
}

.sh-emp-wins__title {
  margin: 0;
  text-align: center;
  font-family: var(--sh-font-display);
  font-weight: 800;
  font-size: var(--sh-text-50);
  line-height: var(--sh-leading-52);
  color: var(--sh-plum);
}

.sh-emp-wins__intro {
  margin: calc(44 * var(--sh-px)) auto 0;
  max-width: calc(1104 * var(--sh-px));
  text-align: center;
  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-emp-wins__grid {
  display: grid;
  grid-template-columns: repeat(3, calc(482 * var(--sh-px)));
  justify-content: space-between;
  gap: calc(37 * var(--sh-px));
  margin-top: calc(141 * var(--sh-px));
}

.sh-emp-wins__card {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  min-height: calc(792 * var(--sh-px));
  padding: calc(67 * var(--sh-px)) calc(66 * var(--sh-px)) calc(48 * var(--sh-px));
  box-sizing: border-box;
  background: var(--sh-white);
  border-radius: 0 var(--sh-radius-card) 0 var(--sh-radius-card);
  text-align: center;
}

.sh-emp-wins__icon {
  display: block;
  width: auto;
  height: calc(124 * var(--sh-px));
  max-width: calc(175 * var(--sh-px));
}

.sh-emp-wins__bar {
  display: block;
  width: calc(289 * var(--sh-px));
  height: calc(25 * var(--sh-px));
  margin: calc(40 * var(--sh-px)) 0 calc(19 * var(--sh-px));
  background: var(--sh-plum);
  border-radius: var(--sh-radius-soft) 0 var(--sh-radius-soft) 0;
}

.sh-emp-wins__card-title {
  margin: 0;
  font-family: var(--sh-font-display);
  font-weight: 800;
  font-size: var(--sh-text-28);
  line-height: var(--sh-leading-52);
  color: var(--sh-plum);
}

.sh-emp-wins__card-body {
  margin: calc(9 * var(--sh-px)) 0 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-emp-wins__closing {
  margin: calc(69 * var(--sh-px)) auto 0;
  max-width: calc(1038 * var(--sh-px));
  text-align: center;
  font-family: var(--sh-font-body);
  font-weight: 800;
  font-size: var(--sh-text-22);
  line-height: var(--sh-leading-36);
  letter-spacing: calc(2.64 * var(--sh-px));
  text-transform: uppercase;
  color: var(--sh-plum);
}

.sh-emp-wins__actions {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: calc(64 * var(--sh-px));
  margin-top: calc(81 * var(--sh-px));
}

.sh-emp-wins__btn {
  background: transparent;
}

.sh-emp-wins__btn--calc {
  width: calc(505 * var(--sh-px));
}

.sh-emp-wins__btn--talk {
  width: calc(470 * var(--sh-px));
}

.sh-emp-wins__btn .sh-cta__label {
  color: var(--sh-black);
}

/* ---- How it actually works (30:1003) ---- */
.sh-emp-how {
  position: relative;
  padding: 0 var(--sh-panel-x);
  margin-top: calc(128 * var(--sh-px));
}

.sh-emp-how__panel {
  max-width: calc(1736 * var(--sh-px));
  margin-inline: auto;
  padding: calc(125 * var(--sh-px)) calc(108 * var(--sh-px)) calc(100 * var(--sh-px));
  background: #fff7ed;
  border-radius: var(--sh-radius-card) 0 var(--sh-radius-card) 0;
}

.sh-emp-how__title {
  margin: 0;
  text-align: center;
  font-family: var(--sh-font-display);
  font-weight: 800;
  font-size: var(--sh-text-50);
  line-height: var(--sh-leading-52);
  color: var(--sh-gold);
}

.sh-emp-how__intro {
  margin: calc(58 * var(--sh-px)) auto 0;
  max-width: calc(1104 * var(--sh-px));
  text-align: center;
  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-emp-how__cols {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: calc(90 * var(--sh-px));
  margin-top: calc(79 * var(--sh-px));
}

.sh-emp-how__col {
  position: relative;
  min-height: calc(252 * var(--sh-px));
}

.sh-emp-how__num {
  position: absolute;
  left: calc(-55 * var(--sh-px));
  top: calc(-48 * var(--sh-px));
  font-family: var(--sh-font-display);
  font-weight: 800;
  font-size: calc(202 * var(--sh-px));
  line-height: calc(116 * var(--sh-px));
  color: var(--sh-gold);
  opacity: 0.15;
  pointer-events: none;
}

.sh-emp-how__copy {
  position: relative;
  margin: 0;
  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-emp-how__lead {
  font-weight: 900;
  color: var(--sh-gold);
}

/* Same asset + spacing as HIW mechanism flow (1520×308, 0 gap after step cols). */
.sh-emp-how__flow {
  margin: 0 auto;
  width: min(100%, calc(1520 * var(--sh-px)));
}

.sh-emp-how__flow img {
  display: block;
  width: 100%;
  height: auto;
  max-width: none;
}

.sh-emp-how__closing {
  margin: calc(100 * var(--sh-px)) auto 0;
  max-width: calc(1038 * var(--sh-px));
  text-align: center;
  font-family: var(--sh-font-body);
  font-weight: 800;
  font-size: var(--sh-text-22);
  line-height: var(--sh-leading-36);
  letter-spacing: calc(2.64 * var(--sh-px));
  text-transform: uppercase;
  color: var(--sh-gold);
}

/* ---- Bottom CTA (30:1051) ---- */
.sh-emp-cta {
  position: relative;
  padding: 0 var(--sh-panel-x);
  margin-top: calc(138 * var(--sh-px));
  margin-bottom: calc(135 * var(--sh-px));
}

.sh-emp-cta__panel {
  position: relative;
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  box-sizing: border-box;
  max-width: calc(1736 * var(--sh-px));
  height: calc(660 * var(--sh-px));
  margin-inline: auto;
  /* Figma Ellipse 16: top 70 / right 108 / bottom 70; copy left 109 */
  padding: calc(70 * var(--sh-px)) calc(108 * var(--sh-px)) calc(70 * var(--sh-px)) calc(109 * var(--sh-px));
  background: #f2f9f9;
  border-radius: var(--sh-radius-card) 0 var(--sh-radius-card) 0;
  overflow: hidden;
}

.sh-emp-cta__copy {
  position: relative;
  z-index: 2;
  width: calc(817 * var(--sh-px));
  padding-top: calc(84 * var(--sh-px)); /* title y154 − panel pad 70 */
}

.sh-emp-cta__title {
  margin: 0;
  font-family: var(--sh-font-display);
  font-weight: 800;
  font-size: var(--sh-text-50);
  line-height: var(--sh-leading-62);
  color: var(--sh-green);
}

.sh-emp-cta__body {
  margin: calc(21 * var(--sh-px)) 0 0;
  max-width: calc(799 * 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-emp-cta__btn {
  margin-top: calc(48 * var(--sh-px));
  width: calc(460 * var(--sh-px));
  background: transparent;
}

.sh-emp-cta__btn .sh-cta__label {
  color: var(--sh-black);
}

.sh-emp-cta__media {
  position: relative;
  flex: 0 0 calc(520 * var(--sh-px));
  width: calc(520 * var(--sh-px));
  height: calc(520 * var(--sh-px));
  pointer-events: none;
}

.sh-emp-cta__photo {
  display: block;
  width: calc(520 * var(--sh-px));
  height: calc(520 * var(--sh-px));
  max-width: none;
  border-radius: 50%;
  object-fit: cover;
}

.sh-emp-cta__plus {
  position: absolute;
  left: calc(381 * var(--sh-px));
  top: calc(11 * var(--sh-px));
  width: calc(121 * var(--sh-px));
  height: calc(122 * var(--sh-px));
  max-width: none;
  z-index: 1;
}

.sh-emp-cta__diagram {
  position: absolute;
  left: calc(-174 * var(--sh-px));
  top: calc(260 * var(--sh-px));
  width: calc(347 * var(--sh-px));
  height: calc(267 * var(--sh-px));
  max-width: none;
  z-index: 2;
}

@media (max-width: 1100px) {
  /* Tablet / mid — stack; desktop ≥1101 keeps Figma absolute layout */
  .sh-emp-page {
    overflow-x: clip;
  }

  .sh-emp-hero {
    min-height: 0;
    overflow: hidden;
  }

  .sh-emp-hero__stage {
    min-height: 0;
    padding: 3rem var(--sh-page-x) 2.5rem;
  }

  .sh-emp-hero__title {
    font-size: clamp(2.5rem, 8vw, 4.5rem);
    line-height: 1.05;
    max-width: none;
  }

  .sh-emp-hero__subtitle {
    margin-top: 1.25rem;
    max-width: 36rem;
    font-size: clamp(1.35rem, 3.5vw, 2rem);
    line-height: 1.25;
  }

  .sh-emp-hero__copy {
    max-width: min(100%, 36rem);
  }

  .sh-emp-hero__portrait {
    right: -10%;
    top: 12%;
    width: min(55vw, 22rem);
    height: auto;
    aspect-ratio: 949 / 1236;
    opacity: 0.28;
  }

  .sh-emp-hero__pills {
    position: relative;
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
    margin-top: 2rem;
  }

  .sh-emp-hero__pill,
  .sh-emp-hero__pill--1,
  .sh-emp-hero__pill--2,
  .sh-emp-hero__pill--3 {
    position: relative;
    left: auto;
    top: auto;
    width: 100%;
    height: auto;
    min-height: 0;
    padding: 1rem 1.25rem;
    flex-wrap: wrap;
    gap: 0.5rem 1rem;
  }

  .sh-emp-hero__pill-value {
    font-size: clamp(1.15rem, 3vw, 1.5rem);
  }

  .sh-emp-hero__pill-label {
    font-size: 1rem;
    line-height: 1.45;
  }

  .sh-emp-band__lines-img {
    width: 100%;
    max-width: none;
  }

  .sh-emp-outcome {
    padding: 3.5rem var(--sh-page-x) 0;
  }

  .sh-emp-outcome__visual {
    height: auto;
    margin-top: 2.5rem;
  }

  .sh-emp-outcome__photo,
  .sh-emp-outcome__stat,
  .sh-emp-outcome__plus {
    position: relative;
    left: auto;
    right: auto;
    top: auto;
    width: 100%;
    height: auto;
  }

  .sh-emp-outcome__photo {
    aspect-ratio: 1400 / 662;
  }

  .sh-emp-outcome__stat {
    width: min(100%, 28rem);
    margin: -2.5rem auto 0;
    padding: 2rem 1.5rem;
    z-index: 2;
  }

  .sh-emp-outcome__stat-value {
    font-size: clamp(1.75rem, 5vw, 2.25rem);
    line-height: 1.15;
  }

  .sh-emp-outcome__plus {
    width: 5rem;
    height: 5rem;
    margin: 1rem 0 0 auto;
  }

  .sh-emp-wins {
    margin-top: 3.5rem;
    padding: 3.5rem var(--sh-page-x);
  }

  .sh-emp-wins__grid {
    grid-template-columns: 1fr;
    justify-content: stretch;
    gap: 1.5rem;
    margin-top: 2.5rem;
  }

  .sh-emp-wins__card {
    width: 100%;
    max-width: 28rem;
    min-height: 0;
    margin-inline: auto;
    padding: 2rem 1.5rem;
  }

  .sh-emp-wins__icon {
    height: 4.5rem;
    max-width: 7rem;
  }

  .sh-emp-wins__bar {
    width: min(100%, 12rem);
    height: 0.75rem;
    margin: 1.25rem 0 0.75rem;
  }

  .sh-emp-wins__card-body {
    max-width: none;
    width: 100%;
  }

  .sh-emp-wins__closing {
    letter-spacing: 0.08em;
  }

  .sh-emp-wins__actions {
    flex-direction: column;
    align-items: stretch;
    gap: 1rem;
    margin-top: 2.5rem;
  }

  .sh-emp-wins__btn--calc,
  .sh-emp-wins__btn--talk {
    width: min(100%, 28rem);
    margin-inline: auto;
  }

  .sh-emp-how {
    margin-top: 3.5rem;
  }

  .sh-emp-how__panel {
    padding: 3rem clamp(1.25rem, 4vw, 2.5rem);
  }

  .sh-emp-how__cols {
    grid-template-columns: 1fr;
    gap: 2rem;
    margin-top: 2.25rem;
  }

  .sh-emp-how__col {
    min-height: 0;
    padding-top: 2.25rem;
  }

  .sh-emp-how__num {
    left: 0;
    top: -0.25rem;
    font-size: clamp(4rem, 14vw, 6rem);
    line-height: 1;
  }

  .sh-emp-how__flow {
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
  }

  .sh-emp-how__flow img {
    width: auto;
    min-width: 32rem;
    max-width: none;
    height: auto;
  }

  .sh-emp-how__closing {
    margin-top: 2.5rem;
  }

  .sh-emp-cta {
    margin-top: 3.5rem;
    margin-bottom: 3.5rem;
  }

  .sh-emp-cta__panel {
    flex-direction: column;
    height: auto;
    padding: 2.5rem var(--sh-page-x);
    overflow: visible;
  }

  .sh-emp-cta__copy {
    width: 100%;
    max-width: none;
    padding-top: 0;
    order: 2;
  }

  .sh-emp-cta__btn {
    width: min(100%, 28rem);
  }

  .sh-emp-cta__media {
    order: 1; /* image above copy */
    flex: none;
    width: min(100%, 20rem);
    height: auto;
    aspect-ratio: 1;
    margin: 0 auto 1.75rem;
  }

  .sh-emp-cta__photo {
    width: 100%;
    height: 100%;
  }

  .sh-emp-cta__plus,
  .sh-emp-cta__diagram {
    display: none;
  }
}

/* --------------------------------------------------------------------------
   For Employees (Figma 30:1089)
   -------------------------------------------------------------------------- */
body.page-template-page-for-employees .sh-header,
body.page-template-page-for-employees .sh-ee-hero {
  width: 100%;
  max-width: none;
}

.sh-ee-page {
  overflow: visible;
}

/* ---- Hero (30:1162) — navy 1146 (980 below header); portrait hangs 118 ---- */
.sh-ee-hero {
  position: relative;
  z-index: 2;
  width: 100%;
  color: var(--sh-white);
  min-height: calc(980 * var(--sh-px));
  background: var(--sh-darkest-blue);
  overflow: visible;
}

.sh-ee-hero__media {
  position: absolute;
  inset: 0;
  z-index: 0;
  pointer-events: none;
  overflow: hidden;
}

.sh-ee-hero__bg {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  max-width: none;
  object-fit: cover;
  object-position: center center;
}

.sh-ee-hero__shade {
  position: absolute;
  inset: 0;
  background: rgba(0, 70, 118, 0.8);
}

.sh-ee-hero__stage {
  position: relative;
  z-index: 1;
  width: 100%;
  max-width: calc(1920 * var(--sh-px));
  margin-inline: auto;
  min-height: calc(980 * var(--sh-px));
  padding: calc(128 * var(--sh-px)) var(--sh-page-x) 0;
  box-sizing: border-box;
}

.sh-ee-hero__portrait {
  position: absolute;
  right: calc(90 * var(--sh-px));
  top: calc(68 * var(--sh-px));
  width: calc(949 * var(--sh-px));
  height: calc(1030 * var(--sh-px));
  margin: 0;
  border-radius: 0 var(--sh-radius-card) 0 var(--sh-radius-card);
  overflow: hidden;
  z-index: 1;
  pointer-events: none;
}

.sh-ee-hero__portrait img {
  display: block;
  width: 100%;
  height: 100%;
  max-width: none;
  object-fit: cover;
}

.sh-ee-hero__portrait-shade {
  position: absolute;
  inset: 0;
  background: rgba(0, 0, 0, 0.2);
}

.sh-ee-hero__copy {
  position: relative;
  z-index: 2;
  max-width: calc(1151 * var(--sh-px));
}

.sh-ee-hero__title {
  margin: 0;
  max-width: calc(1151 * 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-ee-hero__subtitle {
  margin: calc(41 * var(--sh-px)) 0 0;
  max-width: calc(615 * 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);
}

/* Gold pill 658×109; label continues over the portrait (Figma 30:1184 w799). */
.sh-ee-hero__pill {
  position: absolute;
  left: calc(322 * var(--sh-px));
  top: calc(790 * var(--sh-px));
  z-index: 3;
  display: flex;
  align-items: center;
  height: calc(109 * var(--sh-px));
  padding: 0 0 0 calc(60 * var(--sh-px));
  box-sizing: border-box;
  pointer-events: none;
}

.sh-ee-hero__pill-bg {
  position: absolute;
  left: 0;
  top: 0;
  width: calc(658 * var(--sh-px));
  height: calc(109 * var(--sh-px));
  background: var(--sh-gold);
  border-radius: 0 var(--sh-radius-card) 0 var(--sh-radius-card);
  z-index: 0;
}

.sh-ee-hero__pill-value,
.sh-ee-hero__pill-label {
  position: relative;
  z-index: 1;
}

.sh-ee-hero__pill-value {
  flex: 0 0 auto;
  font-family: var(--sh-font-display);
  font-weight: 800;
  font-size: calc(30 * var(--sh-px));
  line-height: 1.2;
  color: var(--sh-white);
  white-space: nowrap;
}

.sh-ee-hero__pill-label {
  margin-left: calc(17 * var(--sh-px));
  width: calc(799 * var(--sh-px));
  font-family: var(--sh-font-body);
  font-weight: 500;
  font-size: var(--sh-text-24);
  line-height: var(--sh-leading-36);
  color: var(--sh-white);
}

/* ---- Background line bands ---- */
.sh-ee-band {
  position: relative;
}

.sh-ee-band__lines {
  position: absolute;
  left: calc(150 * var(--sh-px));
  top: 0;
  width: calc(1617 * var(--sh-px));
  pointer-events: none;
  overflow: hidden;
  z-index: 0;
}

.sh-ee-band__lines-img {
  display: block;
  width: 100%;
  height: auto;
  max-width: none;
}

.sh-ee-band > *:not(.sh-ee-band__lines) {
  position: relative;
  z-index: 1;
}

/* ---- Different (30:1211) — title y1388, first row y1647 ---- */
.sh-ee-diff {
  padding-top: calc(242 * var(--sh-px));
}

.sh-ee-diff__title {
  margin: 0 auto;
  max-width: calc(1558 * var(--sh-px));
  text-align: center;
  font-family: var(--sh-font-display);
  font-weight: 800;
  font-size: var(--sh-text-50);
  line-height: var(--sh-leading-52);
  color: var(--sh-dark-blue);
}

.sh-ee-diff__intro {
  margin: calc(44 * var(--sh-px)) auto 0;
  max-width: calc(1342 * var(--sh-px));
  text-align: center;
  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-ee-diff__rows {
  list-style: none;
  margin: calc(80 * var(--sh-px)) auto 0;
  padding: 0;
  max-width: calc(1516 * var(--sh-px));
  display: flex;
  flex-direction: column;
  gap: calc(22 * var(--sh-px));
}

.sh-ee-diff__row {
  display: flex;
  align-items: flex-start;
  box-sizing: border-box;
  min-height: calc(180 * var(--sh-px));
  padding: calc(39 * var(--sh-px)) calc(49 * var(--sh-px)) calc(20 * var(--sh-px)) calc(66 * var(--sh-px));
  border-radius: var(--sh-radius-soft) 0 0 0;
  overflow: visible;
}

.sh-ee-diff__row--midnight { background: #e6f0f8; }
.sh-ee-diff__row--physical { background: #e6f8fd; }
.sh-ee-diff__row--mental { background: #f2eff5; }
.sh-ee-diff__row--financial { background: #f2f9f9; }
.sh-ee-diff__row--professional { background: #fff7ed; }

.sh-ee-diff__icon {
  position: relative;
  flex: 0 0 calc(137 * var(--sh-px));
  width: calc(137 * var(--sh-px));
  height: calc(106 * var(--sh-px));
}

.sh-ee-diff__icon > img {
  display: block;
  width: calc(137 * var(--sh-px));
  height: auto;
  max-width: none;
}

.sh-ee-diff__row--physical .sh-ee-diff__icon {
  height: calc(102 * var(--sh-px));
}

.sh-ee-diff__row--physical .sh-ee-diff__icon > img:first-child {
  width: calc(137 * var(--sh-px));
  height: calc(97 * var(--sh-px));
}

.sh-ee-diff__icon-overlay {
  position: absolute;
  left: calc(22 * var(--sh-px));
  top: calc(9 * var(--sh-px));
  width: calc(94 * var(--sh-px)) !important;
  height: calc(93 * var(--sh-px)) !important;
}

.sh-ee-diff__copy {
  margin-left: calc(53 * var(--sh-px));
  padding-top: calc(15 * var(--sh-px));
}

.sh-ee-diff__lead {
  margin: 0;
  font-family: var(--sh-font-display);
  font-weight: 800;
  font-size: var(--sh-text-28);
  line-height: calc(28 * var(--sh-px));
  letter-spacing: calc(3.36 * var(--sh-px));
  text-transform: uppercase;
}

.sh-ee-diff__row--midnight .sh-ee-diff__lead { color: var(--sh-dark-blue); }
.sh-ee-diff__row--physical .sh-ee-diff__lead { color: var(--sh-cyan); }
.sh-ee-diff__row--mental .sh-ee-diff__lead { color: var(--sh-plum); }
.sh-ee-diff__row--financial .sh-ee-diff__lead { color: var(--sh-green); }
.sh-ee-diff__row--professional .sh-ee-diff__lead { color: var(--sh-gold); }

.sh-ee-diff__body {
  margin: calc(6 * var(--sh-px)) 0 0;
  max-width: calc(1237 * var(--sh-px));
  font-family: var(--sh-font-body);
  font-weight: 400;
  font-size: var(--sh-text-18);
  line-height: var(--sh-leading-36);
  color: var(--sh-black);
}

/* ---- Paycheck (30:1290) — panel 1736×778; media 842×605 @ right 108 / top 88 ---- */
.sh-ee-pay {
  padding: 0 var(--sh-panel-x);
  margin-top: calc(163 * var(--sh-px));
}

.sh-ee-pay__panel {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  box-sizing: border-box;
  max-width: calc(1736 * var(--sh-px));
  height: calc(778 * var(--sh-px));
  margin-inline: auto;
  padding: calc(88 * var(--sh-px)) calc(108 * var(--sh-px)) calc(85 * var(--sh-px)) calc(109 * var(--sh-px));
  background: #f2f9f9;
  border-radius: var(--sh-radius-card) 0 var(--sh-radius-card) 0;
}

.sh-ee-pay__copy {
  width: calc(645 * var(--sh-px));
  padding-top: calc(125 * var(--sh-px));
}

.sh-ee-pay__title {
  margin: 0;
  font-family: var(--sh-font-display);
  font-weight: 800;
  font-size: var(--sh-text-50);
  line-height: var(--sh-leading-62);
  color: var(--sh-darkest-blue);
}

.sh-ee-pay__body {
  margin: calc(18 * var(--sh-px)) 0 0;
  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-ee-pay__media {
  flex: 0 0 calc(842 * var(--sh-px));
  width: calc(842 * var(--sh-px));
  margin: 0;
  line-height: 0;
}

.sh-ee-pay__media img {
  display: block;
  width: 100%;
  height: auto;
  max-width: none;
}

/* ---- Covered (30:1186) ---- */
.sh-ee-cov {
  padding-top: calc(163 * var(--sh-px));
}

.sh-ee-cov__title {
  margin: 0 auto;
  max-width: calc(1173 * var(--sh-px));
  text-align: center;
  font-family: var(--sh-font-display);
  font-weight: 800;
  font-size: var(--sh-text-50);
  line-height: var(--sh-leading-62);
  color: var(--sh-green);
}

.sh-ee-cov__intro {
  margin: calc(36 * var(--sh-px)) auto 0;
  max-width: calc(1342 * var(--sh-px));
  text-align: center;
  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-ee-cov__stage {
  position: relative;
  width: calc(1440 * var(--sh-px));
  max-width: 100%;
  height: calc(443 * var(--sh-px));
  margin: calc(99 * var(--sh-px)) auto 0;
  overflow: visible;
}

.sh-ee-cov__photo {
  position: absolute;
  display: block;
  max-width: none;
  object-fit: cover;
  border-radius: 0 var(--sh-radius-card) 0 var(--sh-radius-card);
}

.sh-ee-cov__photo--1 {
  left: 0;
  top: 0;
  width: calc(458 * var(--sh-px));
  height: calc(443 * var(--sh-px));
}

.sh-ee-cov__photo--2 {
  left: calc(491 * var(--sh-px));
  top: calc(66 * var(--sh-px));
  width: calc(458 * var(--sh-px));
  height: calc(347 * var(--sh-px));
}

.sh-ee-cov__photo--3 {
  left: calc(982 * var(--sh-px));
  top: 0;
  width: calc(458 * var(--sh-px));
  height: calc(443 * var(--sh-px));
}

.sh-ee-cov__icon {
  position: absolute;
  left: calc(628 * var(--sh-px));
  top: calc(-51 * var(--sh-px));
  width: calc(199 * var(--sh-px));
  height: calc(154 * var(--sh-px));
  max-width: none;
  z-index: 2;
}

/* ---- Have their back (30:1392) ---- */
.sh-ee-cta {
  position: relative;
  width: 100%;
  max-width: calc(1920 * var(--sh-px));
  height: calc(1019 * var(--sh-px));
  margin: calc(163 * var(--sh-px)) auto calc(143 * var(--sh-px));
  overflow: visible;
}

.sh-ee-cta__navy {
  position: absolute;
  left: calc(870 * var(--sh-px));
  top: 0;
  width: calc(960 * var(--sh-px));
  height: calc(1019 * var(--sh-px));
  background: var(--sh-darkest-blue);
  border-radius: 0 0 var(--sh-radius-card) 0;
}

.sh-ee-cta__photo {
  position: absolute;
  left: calc(2 * var(--sh-px));
  top: calc(82 * var(--sh-px));
  width: calc(960 * var(--sh-px));
  height: calc(855 * var(--sh-px));
  margin: 0;
  border-radius: 0 0 var(--sh-radius-card) 0;
  overflow: hidden;
  z-index: 1;
}

.sh-ee-cta__photo img {
  display: block;
  width: 100%;
  height: 100%;
  max-width: none;
  object-fit: cover;
}

.sh-ee-cta__photo-shade {
  position: absolute;
  inset: 0;
  background: rgba(35, 31, 32, 0.2);
}

.sh-ee-cta__copy {
  position: absolute;
  left: calc(752 * var(--sh-px));
  top: calc(200 * var(--sh-px));
  z-index: 2;
  width: calc(970 * var(--sh-px));
}

.sh-ee-cta__title {
  margin: 0;
  font-family: var(--sh-font-display);
  font-weight: 800;
  font-size: var(--sh-text-50);
  line-height: var(--sh-leading-62);
  color: var(--sh-white);
}

.sh-ee-cta__body {
  margin: calc(53 * var(--sh-px)) 0 0 calc(344 * var(--sh-px));
  width: calc(626 * 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-white);
}

.sh-ee-cta__lead {
  font-weight: 800;
  color: var(--sh-gold);
}

.sh-ee-cta__actions {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: calc(33 * var(--sh-px));
  margin: calc(64 * var(--sh-px)) 0 0 calc(344 * var(--sh-px));
}

.sh-ee-cta__btn--calc {
  width: calc(501 * var(--sh-px));
}

.sh-ee-cta__btn--talk {
  width: calc(462 * var(--sh-px));
}

@media (max-width: 1100px) {
  /* Tablet / mid — stack; desktop ≥1101 keeps Figma absolute layout */
  .sh-ee-page {
    overflow-x: clip;
  }

  .sh-ee-hero {
    min-height: 0;
    overflow: hidden;
  }

  .sh-ee-hero__stage {
    min-height: 0;
    padding: 3rem var(--sh-page-x) 2.5rem;
  }

  .sh-ee-hero__title {
    font-size: clamp(2.5rem, 8vw, 4.5rem);
    line-height: 1.05;
    max-width: none;
  }

  .sh-ee-hero__subtitle {
    margin-top: 1.25rem;
    max-width: 36rem;
    font-size: clamp(1.35rem, 3.5vw, 2rem);
    line-height: 1.25;
  }

  .sh-ee-hero__copy {
    max-width: min(100%, 36rem);
  }

  .sh-ee-hero__portrait {
    right: -10%;
    top: 12%;
    width: min(55vw, 22rem);
    height: auto;
    aspect-ratio: 949 / 1030;
    opacity: 0.28;
  }

  .sh-ee-hero__pill {
    position: relative;
    left: auto;
    top: auto;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.5rem 1rem;
    width: 100%;
    height: auto;
    min-height: 0;
    margin-top: 2rem;
    padding: 1rem 1.25rem;
  }

  .sh-ee-hero__pill-bg {
    width: 100%;
    height: 100%;
  }

  .sh-ee-hero__pill-value {
    font-size: clamp(1.15rem, 3vw, 1.5rem);
    white-space: normal;
  }

  .sh-ee-hero__pill-label {
    margin-left: 0;
    width: auto;
    max-width: none;
    font-size: 1rem;
    line-height: 1.45;
  }

  .sh-ee-band__lines {
    left: 0;
    width: 100%;
  }

  .sh-ee-band__lines-img {
    width: 100%;
    max-width: none;
  }

  .sh-ee-diff {
    padding: 3.5rem var(--sh-page-x) 0;
  }

  .sh-ee-diff__title,
  .sh-ee-diff__intro,
  .sh-ee-diff__rows,
  .sh-ee-diff__body {
    max-width: none;
  }

  .sh-ee-diff__rows {
    margin-top: 2.5rem;
    gap: 1rem;
  }

  .sh-ee-diff__row {
    flex-direction: column;
    align-items: flex-start;
    gap: 1rem;
    min-height: 0;
    padding: 1.5rem 1.25rem;
  }

  .sh-ee-diff__icon {
    flex: none;
    width: 5.5rem;
    height: auto;
  }

  .sh-ee-diff__row--physical .sh-ee-diff__icon {
    height: auto;
  }

  .sh-ee-diff__icon > img,
  .sh-ee-diff__row--physical .sh-ee-diff__icon > img:first-child {
    width: 100%;
    height: auto;
  }

  .sh-ee-diff__icon-overlay {
    left: 16%;
    top: 8%;
    width: 68% !important;
    height: auto !important;
  }

  .sh-ee-diff__copy {
    margin-left: 0;
    padding-top: 0;
    width: 100%;
  }

  .sh-ee-diff__lead {
    line-height: 1.2;
    letter-spacing: 0.08em;
  }

  .sh-ee-pay {
    margin-top: 3.5rem;
    padding: 0 var(--sh-page-x);
  }

  .sh-ee-pay__panel {
    flex-direction: column;
    height: auto;
    padding: 2.5rem clamp(1.25rem, 4vw, 2.5rem);
  }

  .sh-ee-pay__media {
    order: -1; /* image above copy */
    flex: none;
    width: min(100%, 28rem);
    margin: 0 auto 1.75rem;
  }

  .sh-ee-pay__copy {
    width: 100%;
    max-width: none;
    padding-top: 0;
  }

  .sh-ee-cov {
    padding: 3.5rem var(--sh-page-x) 0;
  }

  .sh-ee-cov__title,
  .sh-ee-cov__intro {
    max-width: none;
  }

  .sh-ee-cov__stage {
    width: 100%;
    height: auto;
    margin-top: 2.5rem;
    display: flex;
    flex-direction: column;
    gap: 1rem;
  }

  .sh-ee-cov__photo,
  .sh-ee-cov__photo--1,
  .sh-ee-cov__photo--2,
  .sh-ee-cov__photo--3,
  .sh-ee-cov__icon {
    position: relative;
    left: auto;
    top: auto;
    width: 100%;
    height: auto;
  }

  .sh-ee-cov__icon {
    width: min(40%, 8rem);
    margin: 0 auto;
    order: -1;
  }

  .sh-ee-cta {
    display: flex;
    flex-direction: column;
    width: 100%;
    max-width: none;
    height: auto;
    margin: 3.5rem auto;
    padding: 0 var(--sh-page-x);
    background: var(--sh-darkest-blue);
    border-radius: var(--sh-radius-card) 0 var(--sh-radius-card) 0;
    overflow: hidden;
  }

  .sh-ee-cta__navy {
    display: none;
  }

  .sh-ee-cta__photo {
    order: -1; /* image above copy */
    position: relative;
    left: auto;
    top: auto;
    width: 100%;
    height: auto;
    aspect-ratio: 960 / 700;
    margin: 0;
    border-radius: 0;
  }

  .sh-ee-cta__copy {
    position: relative;
    left: auto;
    top: auto;
    width: 100%;
    max-width: none;
    padding: 2.5rem clamp(1.25rem, 4vw, 2rem);
  }

  .sh-ee-cta__body,
  .sh-ee-cta__actions {
    margin-left: 0;
    width: 100%;
    max-width: none;
  }

  .sh-ee-cta__actions {
    align-items: stretch;
    gap: 1rem;
    margin-top: 1.75rem;
  }

  .sh-ee-cta__btn--calc,
  .sh-ee-cta__btn--talk {
    width: 100%;
    max-width: 28rem;
  }
}

/* --------------------------------------------------------------------------
   Physical Health (Figma 30:1406)
   -------------------------------------------------------------------------- */
body.page-template-page-physical-health .sh-header,
body.page-template-page-physical-health .sh-ph-hero,
body.page-template-page-mental-health .sh-header,
body.page-template-page-mental-health .sh-mh-hero,
body.page-template-page-financial-health .sh-header,
body.page-template-page-financial-health .sh-fh-hero,
body.page-template-page-professional-health .sh-header,
body.page-template-page-professional-health .sh-pr-hero,
body.page-template-page-faq .sh-header,
body.page-template-page-faq .sh-faq-hero {
  width: 100%;
  max-width: none;
}

.sh-ph-page {
  overflow: visible;
}

/* ---- Hero (30:1457) — cyan 1237; portrait hangs 130 into band (to y1367) ---- */
/* Stack: copy > intro monitor > portrait hang > grid lines */
.sh-ph-hero {
  position: relative;
  z-index: auto;
  width: 100%;
  color: var(--sh-white);
  /* Cyan band only (1237 − 166); portrait bleeds into .sh-ph-band */
  min-height: calc(1071 * var(--sh-px));
  background: transparent;
  overflow: visible;
}

.sh-ph-hero__cyan {
  position: absolute;
  left: 0;
  right: 0;
  top: 0;
  height: 100%;
  background: var(--sh-cyan);
  z-index: 0;
  pointer-events: none;
}

.sh-ph-hero__stage {
  position: relative;
  z-index: auto;
  width: 100%;
  max-width: calc(1920 * var(--sh-px));
  margin-inline: auto;
  min-height: calc(1071 * var(--sh-px));
  padding: 0;
  box-sizing: border-box;
}

.sh-ph-hero__portrait {
  position: absolute;
  /* Figma Rectangle 7: x918 → right 1920−(918+912)=90; y234−166=68 */
  right: calc(90 * var(--sh-px));
  top: calc(68 * var(--sh-px));
  width: calc(912 * var(--sh-px));
  height: calc(1133 * var(--sh-px));
  margin: 0;
  z-index: 1; /* under monitor icon */
  pointer-events: none;
}

.sh-ph-hero__portrait-frame {
  position: relative;
  width: 100%;
  height: 100%;
  border-radius: var(--sh-radius-card) 0 var(--sh-radius-card) 0; /* Figma TL + BR */
  overflow: hidden;
}

.sh-ph-hero__portrait-frame > img {
  display: block;
  width: 100%;
  height: 100%;
  max-width: none;
  object-fit: cover;
}

.sh-ph-hero__portrait-shade {
  position: absolute;
  inset: 0;
  background: rgba(0, 0, 0, 0.2);
}

.sh-ph-hero__plus {
  position: absolute;
  max-width: none;
  z-index: 4;
}

/* Pluses relative to portrait box (Figma − portrait origin 918/234) */
.sh-ph-hero__plus--lg {
  left: calc(670 * var(--sh-px));
  top: calc(42 * var(--sh-px));
  width: calc(121 * var(--sh-px));
  height: calc(122 * var(--sh-px));
}

.sh-ph-hero__plus--md {
  left: calc(805 * var(--sh-px));
  top: calc(178 * var(--sh-px));
  width: calc(46 * var(--sh-px));
  height: calc(47 * var(--sh-px));
}

.sh-ph-hero__plus--sm {
  left: calc(776 * var(--sh-px));
  top: calc(295 * var(--sh-px));
  width: calc(29 * var(--sh-px));
  height: calc(30 * var(--sh-px));
}

.sh-ph-hero__plus--xs {
  left: calc(849 * var(--sh-px));
  top: calc(81 * var(--sh-px));
  width: calc(21 * var(--sh-px));
  height: calc(22 * var(--sh-px));
}

.sh-ph-hero__copy {
  position: absolute;
  left: var(--sh-page-x);
  top: calc(128 * var(--sh-px)); /* title y294 − header 166 */
  z-index: 3; /* above portrait + intro where text overlaps */
  width: calc(974 * var(--sh-px));
  max-width: calc(100% - (2 * var(--sh-page-x)));
}

.sh-ph-hero__title {
  margin: 0;
  max-width: calc(974 * var(--sh-px));
  /* Figma 30:1462 text box height — keeps subtitle gap stable */
  min-height: calc(350 * 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-ph-hero__subtitle {
  /* Figma 30:1477 top 803 − title top 294 = 509 (box gap after h350 = 159) */
  position: absolute;
  left: 0;
  top: calc(509 * var(--sh-px));
  margin: 0;
  max-width: calc(660 * 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: #e6f8fd;
}

/* ---- Band + lines ---- */
/* Band starts at cyan end (Figma y1237). Lines must NOT pull into cyan. */
/* Stack: lines (0) < portrait (1) < intro/monitor (2) < copy (3) */
.sh-ph-band {
  position: relative;
  z-index: auto;
}

.sh-ph-band__lines {
  position: absolute;
  left: calc(150 * var(--sh-px));
  top: 0; /* Figma Background Lines @ y1237 = cyan bottom */
  width: calc(1617 * var(--sh-px));
  pointer-events: none;
  overflow: hidden;
  z-index: 0;
}

.sh-ph-band__lines-img {
  display: block;
  width: 100%;
  height: auto;
  max-width: none;
}

.sh-ph-band > *:not(.sh-ph-band__lines) {
  position: relative;
  z-index: 2; /* monitor + content above portrait hang */
}

/* ---- Intro (30:1534) — icon y1278; cyan ends y1237 → 41 below band start ---- */
.sh-ph-intro {
  margin-top: calc(41 * var(--sh-px));
  padding-top: 0;
  text-align: center;
}

.sh-ph-intro__icon {
  position: relative;
  display: block;
  width: calc(235 * var(--sh-px));
  height: calc(175 * var(--sh-px));
  margin: 0 auto;
}

.sh-ph-intro__icon > img:first-child {
  display: block;
  width: calc(235 * var(--sh-px));
  height: calc(167 * var(--sh-px));
  max-width: none;
}

.sh-ph-intro__icon-overlay {
  position: absolute;
  left: calc(38 * var(--sh-px));
  top: calc(16 * var(--sh-px));
  width: calc(161 * var(--sh-px)) !important;
  height: calc(159 * var(--sh-px)) !important;
  max-width: none;
}

.sh-ph-intro__title {
  margin: calc(78 * var(--sh-px)) auto 0;
  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);
  color: var(--sh-cyan);
}

.sh-ph-intro__body {
  margin: calc(44 * var(--sh-px)) auto 0;
  max-width: calc(1381 * 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);
}

/* ---- Partner cards (30:1519) ---- */
.sh-ph-partners {
  display: flex;
  justify-content: center;
  gap: calc(98 * var(--sh-px));
  max-width: calc(1520 * var(--sh-px));
  margin: calc(83 * var(--sh-px)) auto 0;
  padding: 0 var(--sh-page-x);
  box-sizing: border-box;
}

.sh-ph-card {
  flex: 0 0 calc(711 * var(--sh-px));
  width: calc(711 * var(--sh-px));
  box-sizing: border-box;
  min-height: calc(1128 * var(--sh-px));
  padding: calc(75 * var(--sh-px)) calc(57 * var(--sh-px)) calc(48 * var(--sh-px));
  background: #e6f8fd;
  border-radius: var(--sh-radius-card) 0 var(--sh-radius-card) 0;
  text-align: center;
}

.sh-ph-card__media {
  position: relative;
  width: calc(584 * var(--sh-px));
  margin: 0 auto;
}

/* Figma partner photos — Recuro TL+BR 50; Superpower TR+BL 50 */
.sh-ph-card__photo-frame {
  position: relative;
  width: calc(584 * var(--sh-px));
  height: calc(387 * var(--sh-px));
  overflow: hidden;
}

.sh-ph-card--recuro .sh-ph-card__photo-frame {
  border-radius: var(--sh-radius-card) 0 var(--sh-radius-card) 0; /* TL + BR */
}

.sh-ph-card--super .sh-ph-card__photo-frame {
  border-radius: 0 var(--sh-radius-card) 0 var(--sh-radius-card); /* TR + BL */
}

.sh-ph-card__photo {
  position: absolute;
  display: block;
  max-width: none;
  border-radius: 0;
}

/* Recuro fill: w100% h226.33% top-99.34% left0 */
.sh-ph-card--recuro .sh-ph-card__photo {
  left: 0;
  top: -99.34%;
  width: 100%;
  height: 226.33%;
}

/* Superpower fill: w125.66% h100% top0 left-5.98% */
.sh-ph-card--super .sh-ph-card__photo {
  left: -5.98%;
  top: 0;
  width: 125.66%;
  height: 100%;
}

.sh-ph-card__logo-wrap {
  position: absolute;
  left: calc(111 * var(--sh-px));
  bottom: calc(-59 * var(--sh-px));
  display: flex;
  align-items: center;
  justify-content: center;
  width: calc(362 * var(--sh-px));
  height: calc(116 * var(--sh-px));
  background: var(--sh-white);
  border-radius: var(--sh-radius-card) 0 var(--sh-radius-card) 0; /* TL + BR 50 */
  z-index: 1;
}

.sh-ph-card__logo-wrap--super {
  left: calc(68 * var(--sh-px));
  width: calc(447 * var(--sh-px));
}

.sh-ph-card__logo {
  display: block;
  max-width: none;
  opacity: 0.4;
}

.sh-ph-card__logo--recuro {
  width: calc(293 * var(--sh-px));
  height: calc(71 * var(--sh-px));
  object-fit: contain;
}

.sh-ph-card__logo--super {
  width: calc(376 * var(--sh-px));
  height: calc(103 * var(--sh-px));
  object-fit: contain;
}

.sh-ph-card__title {
  margin: calc(120 * var(--sh-px)) auto 0;
  max-width: calc(561 * 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-ph-card--super .sh-ph-card__title {
  max-width: calc(528 * var(--sh-px));
}

.sh-ph-card__body,
.sh-ph-card__why {
  margin: calc(21 * var(--sh-px)) auto 0;
  max-width: calc(553 * 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-ph-card--super .sh-ph-card__body,
.sh-ph-card--super .sh-ph-card__why {
  max-width: calc(499 * var(--sh-px));
}

.sh-ph-card__why-lead {
  font-weight: 800;
  color: var(--sh-cyan);
}

/* ---- Marquee (30:1508) ---- */
.sh-ph-marquee {
  position: relative;
  width: 100%;
  max-width: calc(1920 * var(--sh-px));
  height: calc(1445 * var(--sh-px));
  margin: calc(144 * var(--sh-px)) auto 0;
  overflow: visible;
}

.sh-ph-marquee__navy {
  position: absolute;
  left: calc(870 * var(--sh-px));
  top: 0;
  width: calc(960 * var(--sh-px));
  height: calc(1445 * var(--sh-px));
  background: var(--sh-darkest-blue);
  border-radius: 0 0 var(--sh-radius-card) 0;
}

.sh-ph-marquee__photos {
  position: absolute;
  left: 0;
  top: 0;
  width: calc(960 * var(--sh-px));
  height: 100%;
  z-index: 1;
  pointer-events: none;
}

.sh-ph-marquee__photo {
  position: absolute;
  display: block;
  max-width: none;
  object-fit: cover;
}

.sh-ph-marquee__photo--1 {
  left: calc(2 * var(--sh-px));
  top: calc(107 * var(--sh-px));
  width: calc(911 * var(--sh-px));
  height: calc(726 * var(--sh-px));
  border-radius: 0 0 0 var(--sh-radius-card);
}

.sh-ph-marquee__photo--2 {
  left: calc(266 * var(--sh-px));
  top: calc(875 * var(--sh-px));
  width: calc(559 * var(--sh-px));
  height: calc(446 * var(--sh-px));
  border-radius: 0 0 var(--sh-radius-card) 0;
}

.sh-ph-marquee__copy {
  position: absolute;
  left: calc(1030 * var(--sh-px));
  top: calc(126 * var(--sh-px));
  z-index: 2;
  width: calc(692 * var(--sh-px));
}

.sh-ph-marquee__title {
  margin: 0;
  max-width: calc(800 * 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-white);
}

.sh-ph-marquee__logo {
  display: block;
  width: calc(420 * var(--sh-px));
  height: calc(128 * var(--sh-px));
  margin-top: calc(45 * var(--sh-px));
  max-width: none;
  object-fit: contain;
  object-position: left center;
  opacity: 0.4;
}

.sh-ph-marquee__body,
.sh-ph-marquee__why {
  margin: calc(54 * var(--sh-px)) 0 0;
  font-family: var(--sh-font-body);
  font-weight: 500;
  font-size: var(--sh-text-18);
  line-height: var(--sh-leading-36);
  color: var(--sh-white);
}

.sh-ph-marquee__why {
  margin-top: calc(36 * var(--sh-px));
}

.sh-ph-marquee__why-lead {
  font-weight: 800;
  color: var(--sh-cyan);
}

.sh-ph-marquee__cta {
  margin-top: calc(57 * var(--sh-px));
  width: calc(462 * var(--sh-px));
}

/* ---- Bottom CTA (30:1482) ---- */
.sh-ph-cta {
  position: relative;
  padding: 0 var(--sh-page-x);
  margin-top: calc(134 * var(--sh-px));
  margin-bottom: calc(143 * var(--sh-px));
}

.sh-ph-cta__panel {
  position: relative;
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  box-sizing: border-box;
  max-width: calc(1520 * var(--sh-px));
  min-height: calc(636 * var(--sh-px));
  margin-inline: auto;
  padding: calc(93 * var(--sh-px)) calc(118 * var(--sh-px)) calc(52 * var(--sh-px)) calc(95 * var(--sh-px));
  background: #e6f8fd;
  border-radius: var(--sh-radius-card) 0 var(--sh-radius-card) 0;
  overflow: visible;
}

.sh-ph-cta__notch {
  position: absolute;
  left: 50%;
  top: calc(-16 * var(--sh-px));
  width: calc(105 * var(--sh-px));
  height: calc(59 * var(--sh-px));
  max-width: none;
  /* Figma 30:1488 — polygon rotated 180° so tip points down into the panel */
  transform: translateX(-50%) rotate(180deg);
  pointer-events: none;
}

.sh-ph-cta__copy {
  position: relative;
  z-index: 2;
  width: calc(667 * var(--sh-px));
}

.sh-ph-cta__title {
  margin: 0;
  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-ph-cta__body {
  margin: calc(21 * var(--sh-px)) 0 0;
  max-width: calc(646 * 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-ph-cta__btn {
  margin-top: calc(53 * var(--sh-px));
  width: calc(462 * var(--sh-px));
}

.sh-ph-cta__media {
  position: relative;
  flex: 0 0 calc(567 * var(--sh-px));
  width: calc(567 * var(--sh-px));
  margin: calc(3 * var(--sh-px)) 0 0;
  line-height: 0;
}

.sh-ph-cta__media > img:first-child {
  display: block;
  width: 100%;
  height: auto;
  max-width: none;
}

.sh-ph-cta__plus {
  position: absolute;
  max-width: none;
  pointer-events: none;
}

/* Plus cluster near top-right of CTA frame (Figma 30:1489–1492). */
.sh-ph-cta__plus--lg {
  left: calc(1360 * var(--sh-px));
  top: calc(-49 * var(--sh-px));
  width: calc(121 * var(--sh-px));
  height: calc(122 * var(--sh-px));
}

.sh-ph-cta__plus--md {
  left: calc(1495 * var(--sh-px));
  top: calc(87 * var(--sh-px));
  width: calc(46 * var(--sh-px));
  height: calc(47 * var(--sh-px));
}

.sh-ph-cta__plus--sm {
  left: calc(1466 * var(--sh-px));
  top: calc(204 * var(--sh-px));
  width: calc(29 * var(--sh-px));
  height: calc(30 * var(--sh-px));
}

.sh-ph-cta__plus--xs {
  left: calc(1539 * var(--sh-px));
  top: calc(-10 * var(--sh-px));
  width: calc(21 * var(--sh-px));
  height: calc(22 * var(--sh-px));
}

@media (max-width: 1100px) {
  /* Tablet / mid — stack; desktop ≥1101 keeps Figma absolute layout */
  .sh-ph-page {
    overflow-x: clip;
  }

  .sh-ph-hero {
    min-height: 0;
    overflow: hidden;
  }

  .sh-ph-hero__stage {
    min-height: 0;
    padding: 3rem var(--sh-page-x) 2.5rem;
  }

  .sh-ph-hero__portrait {
    right: -8%;
    top: 10%;
    width: min(50vw, 20rem);
    height: auto;
    aspect-ratio: 912 / 1133;
    opacity: 0.28;
  }

  .sh-ph-hero__plus {
    display: none;
  }

  .sh-ph-hero__copy {
    position: relative;
    left: auto;
    top: auto;
    width: 100%;
    max-width: min(100%, 36rem);
  }

  .sh-ph-hero__title {
    max-width: none;
    min-height: 0;
    font-size: clamp(2.5rem, 8vw, 4.5rem);
    line-height: 1.05;
  }

  .sh-ph-hero__subtitle {
    position: relative;
    left: auto;
    top: auto;
    margin-top: 1.25rem;
    max-width: none;
    font-size: clamp(1.35rem, 3.5vw, 2rem);
    line-height: 1.25;
  }

  .sh-ph-band__lines {
    left: 0;
    width: 100%;
  }

  .sh-ph-band__lines-img {
    width: 100%;
    max-width: none;
  }

  .sh-ph-intro {
    margin-top: 2.5rem;
    padding: 0 var(--sh-page-x);
  }

  .sh-ph-intro__icon {
    width: 7rem;
    height: auto;
  }

  .sh-ph-intro__icon > img:first-child {
    width: 100%;
    height: auto;
  }

  .sh-ph-intro__icon-overlay {
    left: 16%;
    top: 8%;
    width: 68% !important;
    height: auto !important;
  }

  .sh-ph-intro__title,
  .sh-ph-intro__body {
    max-width: none;
  }

  .sh-ph-intro__title {
    margin-top: 1.75rem;
    font-size: clamp(1.75rem, 4vw, 2.5rem);
    line-height: 1.15;
  }

  .sh-ph-partners {
    flex-direction: column;
    align-items: stretch;
    gap: 2rem;
    max-width: none;
    margin-top: 2.5rem;
    padding: 0 var(--sh-page-x) 3rem;
  }

  .sh-ph-card {
    flex: none;
    width: 100%;
    max-width: 28rem;
    min-height: 0;
    margin-inline: auto;
    padding: 2rem 1.5rem;
  }

  .sh-ph-card__media,
  .sh-ph-card__photo-frame {
    width: 100%;
  }

  .sh-ph-card__photo-frame {
    height: auto;
    aspect-ratio: 584 / 387;
  }

  .sh-ph-card--recuro .sh-ph-card__photo,
  .sh-ph-card--super .sh-ph-card__photo {
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
  }

  .sh-ph-card__logo-wrap,
  .sh-ph-card__logo-wrap--super {
    left: 50%;
    bottom: -1.75rem;
    transform: translateX(-50%);
    width: min(70%, 14rem);
    height: 3.5rem;
  }

  .sh-ph-card__logo--recuro,
  .sh-ph-card__logo--super {
    width: auto;
    max-width: 85%;
    height: auto;
    max-height: 70%;
  }

  .sh-ph-card__title,
  .sh-ph-card--super .sh-ph-card__title,
  .sh-ph-card__body,
  .sh-ph-card__why,
  .sh-ph-card--super .sh-ph-card__body,
  .sh-ph-card--super .sh-ph-card__why {
    max-width: none;
  }

  .sh-ph-card__title {
    margin-top: 3rem;
    font-size: clamp(1.75rem, 4vw, 2.5rem);
    line-height: 1.15;
  }

  .sh-ph-marquee {
    display: flex;
    flex-direction: column;
    width: 100%;
    max-width: none;
    height: auto;
    margin-top: 3.5rem;
    padding: 0 var(--sh-page-x);
    overflow: hidden;
  }

  .sh-ph-marquee__navy {
    display: none;
  }

  .sh-ph-marquee__photos {
    order: -1; /* photos above copy */
    position: relative;
    left: auto;
    top: auto;
    width: 100%;
    height: auto;
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
  }

  .sh-ph-marquee__photo,
  .sh-ph-marquee__photo--1,
  .sh-ph-marquee__photo--2 {
    position: relative;
    left: auto;
    top: auto;
    width: 100%;
    height: auto;
    aspect-ratio: 16 / 10;
  }

  .sh-ph-marquee__copy {
    position: relative;
    left: auto;
    top: auto;
    width: 100%;
    max-width: none;
    padding: 2.5rem clamp(1.25rem, 4vw, 2rem);
    background: var(--sh-darkest-blue);
    border-radius: 0 0 var(--sh-radius-card) 0;
  }

  .sh-ph-marquee__title {
    max-width: none;
  }

  .sh-ph-marquee__logo {
    width: min(100%, 16rem);
    height: auto;
  }

  .sh-ph-marquee__cta {
    width: min(100%, 28rem);
  }

  .sh-ph-cta {
    margin-top: 3.5rem;
    margin-bottom: 3.5rem;
  }

  .sh-ph-cta__panel {
    flex-direction: column;
    min-height: 0;
    height: auto;
    padding: 2.5rem clamp(1.25rem, 4vw, 2rem);
  }

  .sh-ph-cta__notch {
    width: 4rem;
    height: 2.25rem;
    top: -0.75rem;
  }

  .sh-ph-cta__media {
    order: -1; /* image above copy */
    flex: none;
    width: min(100%, 22rem);
    margin: 0 auto 1.75rem;
  }

  .sh-ph-cta__copy {
    width: 100%;
    max-width: none;
  }

  .sh-ph-cta__body {
    max-width: none;
  }

  .sh-ph-cta__btn {
    width: min(100%, 28rem);
  }

  .sh-ph-cta__plus {
    display: none;
  }
}

/* --------------------------------------------------------------------------
   Mental Health (Figma 30:1548)
   -------------------------------------------------------------------------- */
.sh-mh-page {
  overflow-x: clip;
  overflow-y: visible;
}

body.page-template-page-mental-health {
  overflow-x: clip;
}

/* ---- Hero (30:1599) � plum 1112; portrait 912�982 @ 918/234; hang 104 ---- */
/* Stack: copy > portrait > lines */
.sh-mh-hero {
  position: relative;
  z-index: auto;
  width: 100%;
  color: var(--sh-white);
  min-height: calc(946 * var(--sh-px)); /* 1112 - 166 */
  background: transparent;
  overflow: visible;
}

.sh-mh-hero__plum {
  position: absolute;
  left: 0;
  right: 0;
  top: 0;
  height: 100%;
  background: var(--sh-plum);
  z-index: 0;
  pointer-events: none;
}

.sh-mh-hero__stage {
  position: relative;
  z-index: auto;
  width: 100%;
  max-width: calc(1920 * var(--sh-px));
  margin-inline: auto;
  min-height: calc(946 * var(--sh-px));
  padding: 0;
  box-sizing: border-box;
}

.sh-mh-hero__portrait {
  position: absolute;
  right: calc(90 * var(--sh-px));
  top: calc(68 * var(--sh-px)); /* 234 - 166 */
  width: calc(912 * var(--sh-px));
  height: calc(982 * var(--sh-px));
  margin: 0;
  z-index: 1;
  pointer-events: none;
}

.sh-mh-hero__portrait-frame {
  position: relative;
  width: 100%;
  height: 100%;
  border-radius: 0 var(--sh-radius-card) 0 var(--sh-radius-card); /* TR + BL */
  overflow: hidden;
  isolation: isolate;
}

.sh-mh-hero__portrait-img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center center;
}

.sh-mh-hero__portrait-shade {
  position: absolute;
  inset: 0;
  border-radius: inherit;
  background: rgba(0, 0, 0, 0.2);
  pointer-events: none;
}

.sh-mh-hero__plus {
  position: absolute;
  max-width: none;
  z-index: 2;
}

.sh-mh-hero__plus--lg {
  left: calc(669 * var(--sh-px));
  top: calc(39 * var(--sh-px));
  width: calc(121 * var(--sh-px));
  height: calc(122 * var(--sh-px));
}

.sh-mh-hero__plus--md {
  left: calc(804 * var(--sh-px));
  top: calc(175 * var(--sh-px));
  width: calc(46 * var(--sh-px));
  height: calc(47 * var(--sh-px));
}

.sh-mh-hero__plus--sm {
  left: calc(775 * var(--sh-px));
  top: calc(292 * var(--sh-px));
  width: calc(29 * var(--sh-px));
  height: calc(30 * var(--sh-px));
}

.sh-mh-hero__plus--xs {
  left: calc(848 * var(--sh-px));
  top: calc(78 * var(--sh-px));
  width: calc(21 * var(--sh-px));
  height: calc(22 * var(--sh-px));
}

.sh-mh-hero__copy {
  position: absolute;
  left: var(--sh-page-x);
  top: calc(128 * var(--sh-px)); /* 294 - 166 */
  z-index: 3;
  width: calc(1016 * var(--sh-px));
  max-width: calc(100% - (2 * var(--sh-page-x)));
}

.sh-mh-hero__title {
  margin: 0;
  max-width: calc(1016 * var(--sh-px));
  min-height: calc(482 * 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-mh-hero__subtitle {
  position: absolute;
  left: 0;
  top: calc(509 * var(--sh-px)); /* 803 - 294 */
  margin: 0;
  max-width: calc(691 * 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: #f2eff5;
}

/* ---- Band + lines (start at plum end y1112) ---- */
.sh-mh-band {
  position: relative;
  z-index: auto;
}

.sh-mh-band__lines {
  position: absolute;
  left: calc(150 * var(--sh-px));
  top: 0;
  width: calc(1617 * var(--sh-px));
  max-width: calc(100% - (150 * var(--sh-px)));
  pointer-events: none;
  overflow: hidden;
  z-index: 0;
}

.sh-mh-band__lines-img {
  display: block;
  width: 100%;
  height: auto;
  max-width: none;
}

.sh-mh-band > *:not(.sh-mh-band__lines) {
  position: relative;
  z-index: 1;
}

/* ---- Waitlist (30:1676) � y1312; 200 below plum end ---- */
.sh-mh-waitlist {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: calc(40 * var(--sh-px));
  max-width: calc(1920 * var(--sh-px));
  margin: calc(200 * var(--sh-px)) auto 0;
  padding: 0 var(--sh-page-x);
  box-sizing: border-box;
}

.sh-mh-waitlist__art {
  position: relative;
  flex: 0 0 calc(620 * var(--sh-px));
  width: calc(620 * var(--sh-px));
  height: calc(424 * var(--sh-px));
}

.sh-mh-waitlist__graphic {
  display: block;
  width: 100%;
  height: 100%;
  max-width: none;
}

.sh-mh-waitlist__head {
  position: absolute;
  left: calc(-39 * var(--sh-px)); /* 202 - 241 */
  top: calc(232 * var(--sh-px)); /* 1544 - 1312 */
  width: calc(256 * var(--sh-px));
  height: calc(192 * var(--sh-px));
  max-width: none;
}

.sh-mh-waitlist__copy {
  flex: 1 1 auto;
  max-width: calc(840 * var(--sh-px));
  padding-top: calc(84 * var(--sh-px)); /* 1396 - 1312 */
}

.sh-mh-waitlist__title {
  margin: 0;
  font-family: var(--sh-font-display);
  font-weight: 800;
  font-size: var(--sh-text-50);
  line-height: var(--sh-leading-62);
  color: var(--sh-plum);
}

.sh-mh-waitlist__body {
  margin: calc(41 * var(--sh-px)) 0 0; /* 1499 - 1396 - 62 */
  max-width: calc(807 * 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);
}

/* ---- Yuna (30:1655) ---- */
.sh-mh-yuna {
  position: relative;
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  box-sizing: border-box;
  max-width: calc(1520 * var(--sh-px));
  min-height: calc(1348 * var(--sh-px));
  margin: calc(155 * var(--sh-px)) auto 0; /* 1891 − (1312 + 424) */
  padding: calc(108 * var(--sh-px)) calc(95 * var(--sh-px)) calc(82 * var(--sh-px));
  background: #f2eff5;
  border-radius: var(--sh-radius-card) 0 var(--sh-radius-card) 0;
}

.sh-mh-yuna__notch {
  position: absolute;
  left: calc(95 * var(--sh-px));
  top: calc(-16 * var(--sh-px));
  width: calc(105 * var(--sh-px));
  height: calc(59 * var(--sh-px));
  max-width: none;
  transform: rotate(180deg);
  pointer-events: none;
}

.sh-mh-yuna__copy {
  position: relative;
  z-index: 2;
  width: calc(667 * var(--sh-px));
}

.sh-mh-yuna__title {
  margin: 0;
  font-family: var(--sh-font-display);
  font-weight: 800;
  font-size: var(--sh-text-50);
  line-height: var(--sh-leading-62);
  color: var(--sh-plum);
}

.sh-mh-yuna__intro {
  margin: calc(36 * var(--sh-px)) 0 0;
  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-mh-yuna__list {
  margin: calc(24 * var(--sh-px)) 0 0;
  padding-left: calc(27 * 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-mh-yuna__list li {
  margin: 0 0 calc(8 * var(--sh-px));
}

.sh-mh-yuna__list-lead {
  font-weight: 800;
}

.sh-mh-yuna__why {
  margin: calc(28 * var(--sh-px)) 0 0;
  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-mh-yuna__why-lead {
  font-weight: 800;
  color: var(--sh-plum);
}

.sh-mh-yuna__actions {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: calc(35 * var(--sh-px));
  margin-top: calc(58 * var(--sh-px));
}

.sh-mh-yuna__btn--calc {
  width: calc(506 * var(--sh-px));
}

.sh-mh-yuna__btn--talk {
  width: calc(462 * var(--sh-px));
}

.sh-mh-yuna__media {
  position: relative;
  flex: 0 0 calc(611 * var(--sh-px));
  width: calc(611 * var(--sh-px));
  min-height: calc(1117 * var(--sh-px));
  margin-top: calc(9 * var(--sh-px));
}

.sh-mh-yuna__photo-frame {
  position: absolute;
  overflow: hidden;
}

.sh-mh-yuna__photo-frame--1 {
  right: 0;
  top: 0;
  width: calc(611 * var(--sh-px));
  height: calc(639 * var(--sh-px));
  border-radius: 0 0 var(--sh-radius-card) 0; /* BR only */
}

.sh-mh-yuna__photo-frame--2 {
  right: calc(43 * var(--sh-px)); /* 1055 vs 1012 */
  top: calc(675 * var(--sh-px)); /* 2683 - 2008 */
  width: calc(526 * var(--sh-px));
  height: calc(442 * var(--sh-px));
  border-radius: 0 0 var(--sh-radius-card) 0; /* BR only */
}

.sh-mh-yuna__photo {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center center;
}

.sh-mh-yuna__logo-wrap {
  position: absolute;
  left: calc(65 * var(--sh-px)); /* 1077 - 1012 */
  top: calc(-35 * var(--sh-px)); /* 1973 - 2008 */
  display: flex;
  align-items: center;
  justify-content: center;
  width: calc(201 * var(--sh-px));
  height: calc(122 * var(--sh-px));
  background: var(--sh-white);
  border-radius: var(--sh-radius-card) 0 var(--sh-radius-card) 0;
  z-index: 2; /* above purple badge strip */
}

.sh-mh-yuna__logo {
  display: block;
  width: calc(164 * var(--sh-px));
  height: calc(95 * var(--sh-px));
  max-width: none;
  object-fit: contain;
  opacity: 0.4;
}

.sh-mh-yuna__badge {
  position: absolute;
  /* Logo wrap ends ~266; keep slight overlap under logo, pad text clear of it */
  left: calc(246 * var(--sh-px));
  top: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
  width: calc(328 * var(--sh-px));
  height: calc(68 * var(--sh-px));
  padding-left: calc(36 * var(--sh-px));
  background: var(--sh-plum);
  border-radius: 0 0 var(--sh-radius-card) 0;
  font-family: var(--sh-font-display);
  font-weight: 800;
  font-size: var(--sh-text-22);
  line-height: 1.1;
  text-transform: uppercase;
  color: var(--sh-white);
  text-align: center;
  z-index: 1; /* under white Yuna logo wrap */
}

/* ---- Cost / blue section (30:1650) ---- */
.sh-mh-cost {
  position: relative;
  width: 100%;
  max-width: calc(1920 * var(--sh-px));
  height: calc(727 * var(--sh-px));
  margin: calc(151 * var(--sh-px)) auto 0; /* 3390 - 1891 - 1348 */
  overflow: visible;
}

.sh-mh-cost__navy {
  position: absolute;
  left: calc(870 * var(--sh-px));
  top: 0;
  width: calc(960 * var(--sh-px));
  height: calc(648 * var(--sh-px));
  background: var(--sh-darkest-blue);
  border-radius: 0 0 var(--sh-radius-card) 0;
}

.sh-mh-cost__photo-frame {
  position: absolute;
  left: calc(94 * var(--sh-px));
  top: calc(74 * var(--sh-px));
  width: calc(819 * var(--sh-px));
  height: calc(653 * var(--sh-px));
  border-radius: 0 0 var(--sh-radius-card) 0; /* BR only */
  overflow: hidden;
  isolation: isolate;
  z-index: 1;
}

.sh-mh-cost__photo {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center center;
}

.sh-mh-cost__copy {
  position: absolute;
  left: calc(1030 * var(--sh-px));
  top: calc(126 * var(--sh-px));
  z-index: 2;
  width: calc(692 * var(--sh-px));
}

.sh-mh-cost__title {
  margin: 0;
  font-family: var(--sh-font-display);
  font-weight: 800;
  font-size: var(--sh-text-50);
  line-height: var(--sh-leading-62);
  color: var(--sh-white);
}

.sh-mh-cost__body {
  margin: calc(54 * var(--sh-px)) 0 0; /* 3694 - 3516 - 124 */
  max-width: calc(674 * 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-white);
}

/* ---- Bottom CTA (30:1625) ---- */
.sh-mh-cta {
  position: relative;
  max-width: calc(1920 * var(--sh-px));
  margin: calc(229 * var(--sh-px)) auto 0; /* 4267 − (3390 + 648) */
  padding: 0 var(--sh-page-x) calc(100 * var(--sh-px));
  box-sizing: border-box;
}

.sh-mh-cta__panel {
  position: relative;
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  box-sizing: border-box;
  max-width: calc(1520 * var(--sh-px));
  min-height: calc(606 * var(--sh-px));
  margin-inline: auto;
  padding: calc(93 * var(--sh-px)) calc(98 * var(--sh-px)) calc(52 * var(--sh-px)) calc(95 * var(--sh-px));
  background: #f2eff5;
  border-radius: var(--sh-radius-card) 0 var(--sh-radius-card) 0;
  overflow: visible;
}

.sh-mh-cta__notch {
  position: absolute;
  left: 50%;
  top: calc(-16 * var(--sh-px));
  width: calc(105 * var(--sh-px));
  height: calc(59 * var(--sh-px));
  max-width: none;
  transform: translateX(-50%) rotate(180deg);
  pointer-events: none;
}

.sh-mh-cta__copy {
  position: relative;
  z-index: 2;
  width: calc(683 * var(--sh-px));
}

.sh-mh-cta__title {
  margin: 0;
  font-family: var(--sh-font-display);
  font-weight: 800;
  font-size: var(--sh-text-50);
  line-height: var(--sh-leading-62);
  color: var(--sh-plum);
}

.sh-mh-cta__body {
  margin: calc(21 * var(--sh-px)) 0 0;
  max-width: calc(646 * 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-mh-cta__btn {
  margin-top: calc(49 * var(--sh-px));
  width: calc(462 * var(--sh-px));
}

.sh-mh-cta__media {
  position: relative;
  z-index: 1;
  width: calc(567 * var(--sh-px));
  margin: calc(32 * var(--sh-px)) 0 0;
}

.sh-mh-cta__media > img {
  display: block;
  width: 100%;
  height: auto;
  max-width: none;
}

.sh-mh-cta__plus {
  position: absolute;
  max-width: none;
  z-index: 2;
  pointer-events: none;
}

.sh-mh-cta__plus--lg {
  right: calc(40 * var(--sh-px));
  top: calc(-49 * var(--sh-px));
  width: calc(121 * var(--sh-px));
  height: calc(122 * var(--sh-px));
}

.sh-mh-cta__plus--md {
  right: calc(-20 * var(--sh-px));
  top: calc(87 * var(--sh-px));
  width: calc(46 * var(--sh-px));
  height: calc(47 * var(--sh-px));
}

.sh-mh-cta__plus--sm {
  right: calc(8 * var(--sh-px));
  top: calc(204 * var(--sh-px));
  width: calc(29 * var(--sh-px));
  height: calc(30 * var(--sh-px));
}

.sh-mh-cta__plus--xs {
  right: calc(-42 * var(--sh-px));
  top: calc(-10 * var(--sh-px));
  width: calc(21 * var(--sh-px));
  height: calc(22 * var(--sh-px));
}

@media (max-width: 1100px) {
  /* Tablet / mid — stack; desktop ≥1101 keeps Figma absolute layout */
  .sh-mh-page {
    overflow-x: clip;
  }

  .sh-mh-hero {
    min-height: 0;
    overflow: hidden;
  }

  .sh-mh-hero__stage {
    min-height: 0;
    padding: 3rem var(--sh-page-x) 2.5rem;
  }

  .sh-mh-hero__portrait {
    right: -8%;
    top: 10%;
    width: min(50vw, 20rem);
    height: auto;
    aspect-ratio: 912 / 982;
    opacity: 0.28;
  }

  .sh-mh-hero__plus {
    display: none;
  }

  .sh-mh-hero__copy {
    position: relative;
    left: auto;
    top: auto;
    width: 100%;
    max-width: min(100%, 36rem);
  }

  .sh-mh-hero__title {
    max-width: none;
    min-height: 0;
    font-size: clamp(2.5rem, 8vw, 4.5rem);
    line-height: 1.05;
  }

  .sh-mh-hero__subtitle {
    position: relative;
    left: auto;
    top: auto;
    margin-top: 1.25rem;
    max-width: none;
    font-size: clamp(1.35rem, 3.5vw, 2rem);
    line-height: 1.25;
  }

  .sh-mh-band__lines {
    left: 0;
    width: 100%;
    max-width: none;
  }

  .sh-mh-band__lines-img {
    width: 100%;
    max-width: none;
  }

  .sh-mh-waitlist {
    flex-direction: column;
    align-items: stretch;
    gap: 1.75rem;
    margin-top: 3rem;
    padding: 0 var(--sh-page-x);
  }

  .sh-mh-waitlist__art {
    order: -1; /* graphic above copy */
    position: relative;
    flex: none;
    width: min(100%, 22rem);
    height: auto;
    margin-inline: auto;
  }

  .sh-mh-waitlist__graphic {
    width: 100%;
    height: auto;
  }

  .sh-mh-waitlist__head {
    position: static;
    left: auto;
    top: auto;
    display: block;
    width: min(42%, 7.5rem);
    height: auto;
    margin: -3rem auto 0; /* rest on graphic only; title stays in copy below */
  }

  .sh-mh-waitlist__copy {
    position: relative;
    z-index: 2;
    max-width: none;
    padding-top: 1.25rem; /* clear of head overlap onto graphic */
    margin-top: 0;
  }

  .sh-mh-waitlist__title {
    position: relative;
    z-index: 2;
  }

  .sh-mh-waitlist__body {
    max-width: none;
  }

  .sh-mh-yuna {
    flex-direction: column;
    width: 100%;
    max-width: none;
    min-height: 0;
    margin: 3rem 0 0;
    padding: 2.5rem var(--sh-page-x);
    box-sizing: border-box;
  }

  .sh-mh-yuna__notch {
    left: 1.5rem;
    width: 4rem;
    height: 2.25rem;
    top: -0.75rem;
  }

  .sh-mh-yuna__media {
    order: -1; /* photos above copy */
    flex: none;
    width: 100%;
    max-width: 28rem;
    min-height: 0;
    margin: 0 auto 2rem;
  }

  .sh-mh-yuna__photo-frame,
  .sh-mh-yuna__photo-frame--1,
  .sh-mh-yuna__photo-frame--2 {
    position: relative;
    right: auto;
    top: auto;
    width: 100%;
    height: auto;
  }

  .sh-mh-yuna__photo-frame--1 {
    aspect-ratio: 611 / 639;
    margin-bottom: 0.75rem;
  }

  .sh-mh-yuna__photo-frame--2 {
    aspect-ratio: 526 / 442;
  }

  .sh-mh-yuna__logo-wrap {
    position: relative;
    left: auto;
    top: auto;
    width: min(50%, 10rem);
    height: 3.5rem;
    margin: 1rem auto 0;
  }

  .sh-mh-yuna__logo {
    width: auto;
    max-width: 85%;
    height: auto;
    max-height: 70%;
  }

  .sh-mh-yuna__badge {
    position: relative;
    left: auto;
    top: auto;
    width: auto;
    max-width: 100%;
    height: auto;
    margin: 0.75rem auto 0;
    padding: 0.75rem 1.25rem;
  }

  .sh-mh-yuna__copy {
    width: 100%;
    max-width: none;
  }

  .sh-mh-yuna__actions {
    align-items: stretch;
    gap: 1rem;
    margin-top: 1.75rem;
  }

  .sh-mh-yuna__btn--calc,
  .sh-mh-yuna__btn--talk {
    width: min(100%, 28rem);
  }

  .sh-mh-cost {
    display: flex;
    flex-direction: column;
    width: 100%;
    max-width: none;
    height: auto;
    margin-top: 3.5rem;
    padding: 0 var(--sh-page-x);
    overflow: hidden;
  }

  .sh-mh-cost__navy {
    display: none;
  }

  .sh-mh-cost__photo-frame {
    order: -1; /* photo above copy */
    position: relative;
    left: auto;
    top: auto;
    width: 100%;
    height: auto;
    aspect-ratio: 819 / 653;
  }

  .sh-mh-cost__copy {
    position: relative;
    left: auto;
    top: auto;
    width: 100%;
    max-width: none;
    padding: 2.5rem clamp(1.25rem, 4vw, 2rem);
    background: var(--sh-darkest-blue);
    border-radius: 0 0 var(--sh-radius-card) 0;
  }

  .sh-mh-cost__body {
    max-width: none;
  }

  .sh-mh-cta {
    margin-top: 3.5rem;
    padding: 0 var(--sh-page-x) 3.5rem;
  }

  .sh-mh-cta__panel {
    flex-direction: column;
    min-height: 0;
    padding: 2.5rem clamp(1.25rem, 4vw, 2rem);
  }

  .sh-mh-cta__notch {
    width: 4rem;
    height: 2.25rem;
    top: -0.75rem;
  }

  .sh-mh-cta__media {
    order: -1; /* image above copy */
    width: min(100%, 22rem);
    margin: 0 auto 1.75rem;
  }

  .sh-mh-cta__copy {
    width: 100%;
    max-width: none;
  }

  .sh-mh-cta__body {
    max-width: none;
  }

  .sh-mh-cta__btn {
    width: min(100%, 28rem);
  }

  .sh-mh-cta__plus {
    display: none;
  }
}

/* --------------------------------------------------------------------------
   Financial Health (Figma 30:1712)
   -------------------------------------------------------------------------- */
.sh-fh-page {
  overflow-x: clip;
  overflow-y: visible;
}

body.page-template-page-financial-health {
  overflow-x: clip;
}

/* ---- Hero (30:1763) � mint 1034; portrait 912 sq @ 918/234; hang 112 ---- */
.sh-fh-hero {
  position: relative;
  z-index: auto;
  width: 100%;
  color: var(--sh-white);
  min-height: calc(868 * var(--sh-px)); /* 1034 - 166 */
  background: transparent;
  overflow: visible;
}

.sh-fh-hero__mint {
  position: absolute;
  left: 0;
  right: 0;
  top: 0;
  height: 100%;
  background: var(--sh-green);
  z-index: 0;
  pointer-events: none;
}

.sh-fh-hero__stage {
  position: relative;
  z-index: auto;
  width: 100%;
  max-width: calc(1920 * var(--sh-px));
  margin-inline: auto;
  min-height: calc(868 * var(--sh-px));
  padding: 0;
  box-sizing: border-box;
}

.sh-fh-hero__portrait {
  position: absolute;
  right: calc(90 * var(--sh-px)); /* 1920 - 918 - 912 */
  top: calc(68 * var(--sh-px)); /* 234 - 166 */
  width: calc(912 * var(--sh-px));
  height: calc(912 * var(--sh-px));
  margin: 0;
  z-index: 1;
  pointer-events: none;
}

.sh-fh-hero__portrait-frame {
  position: relative;
  width: 100%;
  height: 100%;
  border-radius: 0 var(--sh-radius-card) 0 var(--sh-radius-card); /* TR + BL */
  overflow: hidden;
  isolation: isolate;
}

.sh-fh-hero__portrait-img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center center;
}

.sh-fh-hero__portrait-shade {
  position: absolute;
  inset: 0;
  border-radius: inherit;
  background: rgba(0, 0, 0, 0.2);
  pointer-events: none;
}

.sh-fh-hero__plus {
  position: absolute;
  max-width: none;
  z-index: 2;
}

.sh-fh-hero__plus--lg {
  left: calc(672 * var(--sh-px)); /* 1590 - 918 */
  top: calc(43 * var(--sh-px)); /* 277 - 234 */
  width: calc(121 * var(--sh-px));
  height: calc(122 * var(--sh-px));
}

.sh-fh-hero__plus--md {
  left: calc(807 * var(--sh-px));
  top: calc(179 * var(--sh-px));
  width: calc(46 * var(--sh-px));
  height: calc(47 * var(--sh-px));
}

.sh-fh-hero__plus--sm {
  left: calc(778 * var(--sh-px));
  top: calc(296 * var(--sh-px));
  width: calc(29 * var(--sh-px));
  height: calc(30 * var(--sh-px));
}

.sh-fh-hero__plus--xs {
  left: calc(851 * var(--sh-px));
  top: calc(82 * var(--sh-px));
  width: calc(21 * var(--sh-px));
  height: calc(22 * var(--sh-px));
}

.sh-fh-hero__copy {
  position: absolute;
  left: var(--sh-page-x);
  top: calc(128 * var(--sh-px)); /* 294 - 166 */
  z-index: 3;
  width: calc(1218 * var(--sh-px));
  max-width: calc(100% - (2 * var(--sh-page-x)));
}

.sh-fh-hero__title {
  margin: 0;
  max-width: calc(1218 * var(--sh-px));
  min-height: calc(350 * 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-fh-hero__subtitle {
  position: absolute;
  left: 0;
  top: calc(405 * var(--sh-px)); /* 699 - 294 */
  margin: 0;
  max-width: calc(660 * 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: #f2f9f9;
}

/* ---- Band + lines (start at mint end y1034) ---- */
.sh-fh-band {
  position: relative;
  z-index: auto;
}

.sh-fh-band__lines {
  position: absolute;
  left: calc(150 * var(--sh-px));
  top: 0;
  width: calc(1617 * var(--sh-px));
  max-width: calc(100% - (150 * var(--sh-px)));
  pointer-events: none;
  overflow: hidden;
  z-index: 0;
}

.sh-fh-band__lines-img {
  display: block;
  width: 100%;
  height: auto;
  max-width: none;
}

.sh-fh-band > *:not(.sh-fh-band__lines) {
  position: relative;
  z-index: 1;
}

/* ---- Bill (30:1838) � y1216; 182 below mint end ---- */
.sh-fh-bill {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: calc(40 * var(--sh-px));
  max-width: calc(1920 * var(--sh-px));
  margin: calc(182 * var(--sh-px)) auto 0; /* 1216 - 1034 */
  padding: 0 var(--sh-page-x);
  box-sizing: border-box;
}

.sh-fh-bill__art {
  flex: 0 0 calc(487 * var(--sh-px));
  width: calc(487 * var(--sh-px));
  margin-left: calc(114 * var(--sh-px)); /* 314 - 200 */
}

.sh-fh-bill__art img {
  display: block;
  width: 100%;
  height: auto;
  max-width: none;
}

.sh-fh-bill__copy {
  flex: 1 1 auto;
  max-width: calc(773 * var(--sh-px));
  padding-top: calc(123 * var(--sh-px)); /* 1339 - 1216 */
}

.sh-fh-bill__title {
  margin: 0;
  font-family: var(--sh-font-display);
  font-weight: 800;
  font-size: var(--sh-text-50);
  line-height: var(--sh-leading-62);
  color: var(--sh-green);
}

.sh-fh-bill__body {
  margin: calc(43 * var(--sh-px)) 0 0; /* 1505 - 1339 - 123 */
  max-width: calc(770 * 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-fh-bill__hl {
  color: var(--sh-green);
  font-weight: 800;
}

/* ---- Zurich (30:1879) ---- */
.sh-fh-zurich {
  position: relative;
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  box-sizing: border-box;
  max-width: calc(1520 * var(--sh-px));
  min-height: calc(1015 * var(--sh-px));
  margin: calc(145 * var(--sh-px)) auto 0; /* 1937 − (1216 + 577) */
  padding: calc(108 * var(--sh-px)) calc(95 * var(--sh-px)) calc(82 * var(--sh-px));
  background: #f2f9f9;
  border-radius: var(--sh-radius-card) 0 var(--sh-radius-card) 0;
  overflow: visible;
}

.sh-fh-zurich__notch {
  position: absolute;
  left: calc(95 * var(--sh-px)); /* flush with copy padding; Figma 297 − 202 */
  top: calc(-16 * var(--sh-px)); /* 1953 − 1937 */
  width: calc(105 * var(--sh-px));
  height: calc(59 * var(--sh-px));
  max-width: none;
  transform: rotate(180deg);
  pointer-events: none;
  z-index: 3;
}

.sh-fh-zurich__copy {
  position: relative;
  z-index: 2;
  width: calc(667 * var(--sh-px));
}

.sh-fh-zurich__title {
  margin: 0;
  font-family: var(--sh-font-display);
  font-weight: 800;
  font-size: var(--sh-text-50);
  line-height: var(--sh-leading-62);
  color: var(--sh-green);
}

.sh-fh-zurich__intro {
  margin: calc(36 * var(--sh-px)) 0 0;
  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-fh-zurich__list {
  margin: calc(24 * var(--sh-px)) 0 0;
  padding-left: calc(27 * 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-fh-zurich__list li {
  margin: 0 0 calc(8 * var(--sh-px));
}

.sh-fh-zurich__list-lead {
  font-weight: 800;
}

.sh-fh-zurich__why {
  margin: calc(28 * var(--sh-px)) 0 0;
  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-fh-zurich__why-lead {
  font-weight: 800;
  color: var(--sh-green);
}

/* Media column = photo box; logo + badge overlay on top of portrait */
.sh-fh-zurich__media {
  position: relative;
  flex: 0 0 calc(559 * var(--sh-px));
  width: calc(559 * var(--sh-px));
  height: calc(783 * var(--sh-px));
  margin-top: calc(9 * var(--sh-px)); /* 2070 − 1953 − 108 padding */
  overflow: visible;
}

.sh-fh-zurich__photo-frame {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  border-radius: 0 0 var(--sh-radius-card) 0; /* BR only */
  overflow: hidden;
  isolation: isolate;
  z-index: 0;
}

.sh-fh-zurich__photo {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center center;
}

.sh-fh-zurich__logo-wrap {
  position: absolute;
  left: calc(39 * var(--sh-px)); /* 1103 − 1064 */
  top: calc(-35 * var(--sh-px)); /* 2035 − 2070 */
  display: flex;
  align-items: center;
  justify-content: center;
  width: calc(201 * var(--sh-px));
  height: calc(140 * var(--sh-px));
  background: var(--sh-white);
  border-radius: var(--sh-radius-card) 0 var(--sh-radius-card) 0; /* TL + BR */
  z-index: 2; /* above badge + photo */
}

.sh-fh-zurich__logo {
  display: block;
  width: calc(145 * var(--sh-px));
  height: calc(91 * var(--sh-px));
  max-width: none;
  object-fit: contain;
  opacity: 0.4; /* Figma zurich_BW */
}

.sh-fh-zurich__badge {
  position: absolute;
  left: calc(192 * var(--sh-px)); /* 1256 − 1064 */
  top: 0; /* flush with photo top */
  display: flex;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
  width: calc(328 * var(--sh-px));
  height: calc(68 * var(--sh-px));
  padding-left: calc(36 * var(--sh-px));
  background: var(--sh-green);
  border-radius: 0 0 var(--sh-radius-card) 0;
  font-family: var(--sh-font-display);
  font-weight: 800;
  font-size: var(--sh-text-22);
  line-height: 1.1;
  text-transform: uppercase;
  color: var(--sh-white);
  text-align: center;
  z-index: 1; /* under white logo wrap */
}

/* ---- ClearSpring (30:1818) ---- */
.sh-fh-cs {
  position: relative;
  width: 100%;
  max-width: calc(1920 * var(--sh-px));
  height: calc(1394 * var(--sh-px));
  margin: calc(166 * var(--sh-px)) auto 0; /* 3134 - 1937 - 1015 */
  overflow: visible;
}

.sh-fh-cs__navy {
  position: absolute;
  left: calc(870 * var(--sh-px));
  top: 0;
  width: calc(960 * var(--sh-px));
  height: calc(1394 * var(--sh-px));
  background: var(--sh-darkest-blue);
  border-radius: 0 0 var(--sh-radius-card) 0;
}

.sh-fh-cs__media {
  position: absolute;
  inset: 0;
  z-index: 1;
  pointer-events: none;
}

.sh-fh-cs__photo {
  position: absolute;
  overflow: hidden;
  isolation: isolate;
}

.sh-fh-cs__photo img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center center;
}

.sh-fh-cs__photo--1 {
  left: calc(2 * var(--sh-px));
  top: calc(90 * var(--sh-px)); /* 3224 - 3134 */
  width: calc(911 * var(--sh-px));
  height: calc(726 * var(--sh-px));
  border-radius: 0 0 var(--sh-radius-card) 0; /* BR */
}

.sh-fh-cs__photo--2 {
  left: calc(266 * var(--sh-px));
  top: calc(858 * var(--sh-px)); /* 3992 - 3134 */
  width: calc(559 * var(--sh-px));
  height: calc(446 * var(--sh-px));
  border-radius: 0 0 0 var(--sh-radius-card); /* BL */
}

.sh-fh-cs__badge {
  position: absolute;
  left: calc(716 * var(--sh-px));
  top: calc(46 * var(--sh-px)); /* 3180 - 3134 */
  width: calc(248 * var(--sh-px));
  height: calc(283 * var(--sh-px));
  z-index: 2;
}

.sh-fh-cs__badge-shield {
  position: absolute;
  left: calc(49 * var(--sh-px));
  top: calc(5 * var(--sh-px));
  width: calc(199 * var(--sh-px));
  height: calc(227 * var(--sh-px));
  max-width: none;
}

.sh-fh-cs__badge-text {
  position: absolute;
  left: calc(49 * var(--sh-px)); /* align to shield */
  top: calc(57 * var(--sh-px));
  width: calc(199 * var(--sh-px));
  font-family: var(--sh-font-display);
  font-weight: 800;
  font-size: calc(28 * var(--sh-px));
  line-height: 1.15;
  text-transform: uppercase;
  color: var(--sh-white);
  text-align: center;
}

.sh-fh-cs__copy {
  position: absolute;
  left: calc(1030 * var(--sh-px));
  top: calc(126 * var(--sh-px)); /* 3260 - 3134 */
  z-index: 2;
  width: calc(692 * var(--sh-px));
  color: var(--sh-white);
}

.sh-fh-cs__title {
  margin: 0;
  font-family: var(--sh-font-display);
  font-weight: 800;
  font-size: var(--sh-text-50);
  line-height: var(--sh-leading-62);
  color: var(--sh-white);
}

.sh-fh-cs__logo {
  display: block;
  margin-top: calc(56 * var(--sh-px)); /* 3440 - 3260 - 124 */
  width: calc(443 * var(--sh-px));
  height: calc(104 * var(--sh-px));
  max-width: none;
  object-fit: contain;
  object-position: left center;
  opacity: 0.4;
}

.sh-fh-cs__intro {
  margin: calc(43 * var(--sh-px)) 0 0; /* 3587 - 3440 - 104 */
  font-family: var(--sh-font-body);
  font-weight: 500;
  font-size: var(--sh-text-18);
  line-height: var(--sh-leading-36);
  color: var(--sh-white);
}

.sh-fh-cs__list {
  margin: calc(16 * var(--sh-px)) 0 0;
  padding-left: calc(27 * 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-white);
}

.sh-fh-cs__list li {
  margin: 0 0 calc(4 * var(--sh-px));
}

.sh-fh-cs__list-lead {
  font-weight: 800;
}

.sh-fh-cs__why {
  margin: calc(24 * var(--sh-px)) 0 0;
  font-family: var(--sh-font-body);
  font-weight: 500;
  font-size: var(--sh-text-18);
  line-height: var(--sh-leading-36);
  color: var(--sh-white);
}

.sh-fh-cs__why-lead {
  font-weight: 800;
  color: var(--sh-green);
}

.sh-fh-cs__actions {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: calc(35 * var(--sh-px));
  margin-top: calc(48 * var(--sh-px));
}

.sh-fh-cs__btn--calc {
  width: calc(506 * var(--sh-px));
}

.sh-fh-cs__btn--talk {
  width: calc(462 * var(--sh-px));
}

/* ---- Marquee (30:1906) ---- */
.sh-fh-marquee {
  position: relative;
  max-width: calc(1469 * var(--sh-px));
  margin: calc(169 * var(--sh-px)) auto 0; /* 4697 − 3134 − 1394 */
  padding: 0 0 calc(70 * var(--sh-px)); /* 70px clear to CTA big plus */
  text-align: center;
  box-sizing: border-box;
}

.sh-fh-marquee__logo-wrap {
  display: flex;
  align-items: center;
  justify-content: center;
  width: calc(368 * var(--sh-px));
  height: calc(120 * var(--sh-px));
  margin: 0 auto;
  background: #f2f9f9;
  border-radius: var(--sh-radius-card) 0 var(--sh-radius-card) 0; /* TL + BR */
}

.sh-fh-marquee__logo {
  display: block;
  width: calc(263 * var(--sh-px));
  height: calc(80 * var(--sh-px));
  max-width: none;
  object-fit: contain;
  opacity: 0.4; /* Figma Marquee-Health-Logo_BW */
}

.sh-fh-marquee__title {
  margin: calc(41 * var(--sh-px)) auto 0; /* 4858 − 4697 − 120 */
  max-width: calc(1424 * 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-green);
  text-align: center;
}

.sh-fh-marquee__copy {
  margin: calc(48 * var(--sh-px)) auto 0; /* 4968 − 4858 − 62 title line */
  max-width: calc(1433 * var(--sh-px));
}

.sh-fh-marquee__body {
  margin: 0;
  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);
  text-align: center;
}

.sh-fh-marquee__body--follow {
  margin-top: calc(48 * var(--sh-px));
}

/* ---- Bottom CTA (30:1789) ---- */
.sh-fh-cta {
  position: relative;
  max-width: calc(1920 * var(--sh-px));
  margin: calc(49 * var(--sh-px)) auto 0; /* plus-lg overhang; marquee padding-bottom supplies the 70px to the plus */
  padding: 0 var(--sh-page-x) calc(100 * var(--sh-px));
  box-sizing: border-box;
}

.sh-fh-cta__panel {
  position: relative;
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  box-sizing: border-box;
  max-width: calc(1520 * var(--sh-px));
  min-height: calc(606 * var(--sh-px));
  margin-inline: auto;
  padding: calc(93 * var(--sh-px)) calc(98 * var(--sh-px)) calc(52 * var(--sh-px)) calc(95 * var(--sh-px));
  background: #f2f9f9;
  border-radius: var(--sh-radius-card) 0 var(--sh-radius-card) 0;
  overflow: visible;
}

.sh-fh-cta__notch {
  position: absolute;
  left: 50%;
  top: calc(-16 * var(--sh-px));
  width: calc(105 * var(--sh-px));
  height: calc(59 * var(--sh-px));
  max-width: none;
  transform: translateX(-50%) rotate(180deg);
  pointer-events: none;
}

.sh-fh-cta__copy {
  position: relative;
  z-index: 2;
  width: calc(683 * var(--sh-px));
}

.sh-fh-cta__title {
  margin: 0;
  font-family: var(--sh-font-display);
  font-weight: 800;
  font-size: var(--sh-text-50);
  line-height: var(--sh-leading-62);
  color: var(--sh-green);
}

.sh-fh-cta__body {
  margin: calc(21 * var(--sh-px)) 0 0;
  max-width: calc(646 * 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-fh-cta__btn {
  margin-top: calc(49 * var(--sh-px));
  width: calc(462 * var(--sh-px));
}

.sh-fh-cta__media {
  position: relative;
  z-index: 1;
  width: calc(567 * var(--sh-px));
  margin: calc(-2 * var(--sh-px)) 0 0; /* 5430 - 5339 - 93 */
}

.sh-fh-cta__media > img {
  display: block;
  width: 100%;
  height: auto;
  max-width: none;
}

.sh-fh-cta__plus {
  position: absolute;
  max-width: none;
  z-index: 2;
  pointer-events: none;
}

.sh-fh-cta__plus--lg {
  right: calc(40 * var(--sh-px));
  top: calc(-49 * var(--sh-px));
  width: calc(121 * var(--sh-px));
  height: calc(122 * var(--sh-px));
}

.sh-fh-cta__plus--md {
  right: calc(-20 * var(--sh-px));
  top: calc(87 * var(--sh-px));
  width: calc(46 * var(--sh-px));
  height: calc(47 * var(--sh-px));
}

.sh-fh-cta__plus--sm {
  right: calc(8 * var(--sh-px));
  top: calc(204 * var(--sh-px));
  width: calc(29 * var(--sh-px));
  height: calc(30 * var(--sh-px));
}

.sh-fh-cta__plus--xs {
  right: calc(-42 * var(--sh-px));
  top: calc(-10 * var(--sh-px));
  width: calc(21 * var(--sh-px));
  height: calc(22 * var(--sh-px));
}

@media (max-width: 1100px) {
  /* Tablet / mid — stack; desktop ≥1101 keeps Figma absolute layout */
  .sh-fh-page {
    overflow-x: clip;
  }

  .sh-fh-hero {
    min-height: 0;
    overflow: hidden;
  }

  .sh-fh-hero__stage {
    min-height: 0;
    padding: 3rem var(--sh-page-x) 2.5rem;
  }

  .sh-fh-hero__portrait {
    right: -8%;
    top: 10%;
    width: min(50vw, 20rem);
    height: auto;
    aspect-ratio: 1;
    opacity: 0.28;
  }

  .sh-fh-hero__plus {
    display: none;
  }

  .sh-fh-hero__copy {
    position: relative;
    left: auto;
    top: auto;
    width: 100%;
    max-width: min(100%, 36rem);
  }

  .sh-fh-hero__title {
    max-width: none;
    min-height: 0;
    font-size: clamp(2.5rem, 8vw, 4.5rem);
    line-height: 1.05;
  }

  .sh-fh-hero__subtitle {
    position: relative;
    left: auto;
    top: auto;
    margin-top: 1.25rem;
    max-width: none;
    font-size: clamp(1.35rem, 3.5vw, 2rem);
    line-height: 1.25;
  }

  .sh-fh-band__lines {
    left: 0;
    width: 100%;
    max-width: none;
  }

  .sh-fh-band__lines-img {
    width: 100%;
    max-width: none;
  }

  .sh-fh-bill {
    flex-direction: column;
    align-items: stretch;
    gap: 1.75rem;
    margin-top: 3rem;
    padding: 0 var(--sh-page-x);
  }

  .sh-fh-bill__art {
    order: -1; /* graphic above copy */
    flex: none;
    width: min(100%, 18rem);
    margin-left: 0;
    margin-inline: auto;
  }

  .sh-fh-bill__copy {
    max-width: none;
    padding-top: 0;
  }

  .sh-fh-bill__body {
    max-width: none;
  }

  .sh-fh-zurich {
    flex-direction: column;
    width: 100%;
    max-width: none;
    min-height: 0;
    margin: 3rem 0 0;
    padding: 2.5rem var(--sh-page-x);
    box-sizing: border-box;
  }

  .sh-fh-zurich__notch {
    left: 1.5rem;
    width: 4rem;
    height: 2.25rem;
    top: -0.75rem;
  }

  .sh-fh-zurich__media {
    order: -1; /* photo above copy */
    flex: none;
    width: 100%;
    max-width: 28rem;
    height: auto;
    margin: 0 auto 2rem;
  }

  .sh-fh-zurich__photo-frame {
    position: relative;
    inset: auto;
    width: 100%;
    height: auto;
    aspect-ratio: 559 / 783;
  }

  .sh-fh-zurich__logo-wrap {
    position: relative;
    left: auto;
    top: auto;
    width: min(50%, 10rem);
    height: 4rem;
    margin: 1rem auto 0;
  }

  .sh-fh-zurich__logo {
    width: auto;
    max-width: 85%;
    height: auto;
    max-height: 70%;
  }

  .sh-fh-zurich__badge {
    position: relative;
    left: auto;
    top: auto;
    width: auto;
    max-width: 100%;
    height: auto;
    margin: 0.75rem auto 0;
    padding: 0.75rem 1.25rem;
  }

  .sh-fh-zurich__copy {
    width: 100%;
    max-width: none;
  }

  .sh-fh-cs {
    display: flex;
    flex-direction: column;
    width: 100%;
    max-width: none;
    height: auto;
    margin-top: 3.5rem;
    padding: 0 var(--sh-page-x);
    overflow: hidden;
  }

  .sh-fh-cs__navy {
    display: none;
  }

  .sh-fh-cs__media {
    order: -1;
    position: relative;
    inset: auto;
    width: 100%;
    height: auto;
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
    pointer-events: auto;
  }

  .sh-fh-cs__photo,
  .sh-fh-cs__photo--1,
  .sh-fh-cs__photo--2 {
    position: relative;
    left: auto;
    top: auto;
    width: 100%;
    height: auto;
  }

  .sh-fh-cs__photo--1 {
    aspect-ratio: 911 / 726;
  }

  .sh-fh-cs__photo--2 {
    aspect-ratio: 559 / 446;
  }

  .sh-fh-cs__badge {
    position: relative;
    left: auto;
    top: auto;
    width: min(40%, 8rem);
    height: auto;
    aspect-ratio: 248 / 283;
    margin: 0 auto;
    order: -1;
  }

  .sh-fh-cs__badge-shield {
    left: 20%;
    top: 2%;
    width: 80%;
    height: auto;
  }

  .sh-fh-cs__badge-text {
    left: 20%;
    top: 20%;
    width: 80%;
    font-size: clamp(0.85rem, 2.5vw, 1.15rem);
  }

  .sh-fh-cs__copy {
    position: relative;
    left: auto;
    top: auto;
    width: 100%;
    max-width: none;
    padding: 2.5rem clamp(1.25rem, 4vw, 2rem);
    background: var(--sh-darkest-blue);
    border-radius: 0 0 var(--sh-radius-card) 0;
  }

  .sh-fh-cs__logo {
    width: min(100%, 16rem);
    height: auto;
  }

  .sh-fh-cs__actions {
    align-items: stretch;
    gap: 1rem;
  }

  .sh-fh-cs__btn--calc,
  .sh-fh-cs__btn--talk {
    width: min(100%, 28rem);
  }

  .sh-fh-marquee {
    width: 100%;
    max-width: none;
    margin-top: 3.5rem;
    padding: 0 var(--sh-page-x) 3rem;
  }

  .sh-fh-marquee__logo-wrap {
    width: min(70%, 14rem);
    height: 4rem;
  }

  .sh-fh-marquee__logo {
    width: auto;
    max-width: 85%;
    height: auto;
    max-height: 70%;
  }

  .sh-fh-marquee__title,
  .sh-fh-marquee__copy {
    max-width: none;
  }

  .sh-fh-cta {
    margin-top: 2rem;
    padding: 0 var(--sh-page-x) 3.5rem;
  }

  .sh-fh-cta__panel {
    flex-direction: column;
    width: 100%;
    max-width: none;
    min-height: 0;
    padding: 2.5rem var(--sh-page-x);
    box-sizing: border-box;
  }

  .sh-fh-cta__notch {
    width: 4rem;
    height: 2.25rem;
    top: -0.75rem;
  }

  .sh-fh-cta__media {
    order: -1;
    width: min(100%, 22rem);
    margin: 0 auto 1.75rem;
  }

  .sh-fh-cta__copy {
    width: 100%;
    max-width: none;
  }

  .sh-fh-cta__body {
    max-width: none;
  }

  .sh-fh-cta__btn {
    width: min(100%, 28rem);
  }

  .sh-fh-cta__plus {
    display: none;
  }
}

/* --------------------------------------------------------------------------
   Professional Health (Figma 30:1912)
   -------------------------------------------------------------------------- */
.sh-pr-page {
  overflow-x: clip;
  overflow-y: visible;
}

body.page-template-page-professional-health {
  overflow-x: clip;
}

/* ---- Hero (30:1963) — gold 974; portrait 912×874 @ 918/234 ---- */
.sh-pr-hero {
  position: relative;
  z-index: auto;
  width: 100%;
  color: var(--sh-white);
  min-height: calc(808 * var(--sh-px)); /* 974 - 166 */
  background: transparent;
  overflow: visible;
}

.sh-pr-hero__gold {
  position: absolute;
  left: 0;
  right: 0;
  top: 0;
  height: 100%;
  background: var(--sh-gold);
  z-index: 0;
  pointer-events: none;
}

.sh-pr-hero__stage {
  position: relative;
  z-index: auto;
  width: 100%;
  max-width: calc(1920 * var(--sh-px));
  margin-inline: auto;
  min-height: calc(808 * var(--sh-px));
  padding: 0;
  box-sizing: border-box;
}

.sh-pr-hero__portrait {
  position: absolute;
  right: calc(90 * var(--sh-px));
  top: calc(68 * var(--sh-px)); /* 234 - 166 */
  width: calc(912 * var(--sh-px));
  height: calc(874 * var(--sh-px));
  margin: 0;
  z-index: 1;
  pointer-events: none;
}

.sh-pr-hero__portrait-frame {
  position: relative;
  width: 100%;
  height: 100%;
  border-radius: 0 var(--sh-radius-card) 0 var(--sh-radius-card); /* TR + BL */
  overflow: hidden;
  isolation: isolate;
}

.sh-pr-hero__portrait-img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center center;
}

.sh-pr-hero__portrait-shade {
  position: absolute;
  inset: 0;
  border-radius: inherit;
  background: rgba(0, 0, 0, 0.2);
  pointer-events: none;
}

.sh-pr-hero__plus {
  position: absolute;
  max-width: none;
  z-index: 2;
}

.sh-pr-hero__plus--lg {
  left: calc(672 * var(--sh-px));
  top: calc(43 * var(--sh-px));
  width: calc(121 * var(--sh-px));
  height: calc(122 * var(--sh-px));
}

.sh-pr-hero__plus--md {
  left: calc(807 * var(--sh-px));
  top: calc(179 * var(--sh-px));
  width: calc(46 * var(--sh-px));
  height: calc(47 * var(--sh-px));
}

.sh-pr-hero__plus--sm {
  left: calc(778 * var(--sh-px));
  top: calc(296 * var(--sh-px));
  width: calc(29 * var(--sh-px));
  height: calc(30 * var(--sh-px));
}

.sh-pr-hero__plus--xs {
  left: calc(851 * var(--sh-px));
  top: calc(82 * var(--sh-px));
  width: calc(21 * var(--sh-px));
  height: calc(22 * var(--sh-px));
}

.sh-pr-hero__copy {
  position: absolute;
  left: var(--sh-page-x);
  top: calc(128 * var(--sh-px)); /* 294 - 166 */
  z-index: 3;
  width: calc(1074 * var(--sh-px));
  max-width: calc(100% - (2 * var(--sh-page-x)));
}

.sh-pr-hero__title {
  margin: 0;
  max-width: calc(1074 * 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-pr-hero__subtitle {
  position: absolute;
  left: 0;
  top: calc(284 * var(--sh-px)); /* 578 - 294 */
  margin: 0;
  max-width: calc(660 * 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: #fee7c9;
}

/* ---- Band + lines (start at gold end y974) ---- */
.sh-pr-band {
  position: relative;
  z-index: auto;
}

.sh-pr-band__lines {
  position: absolute;
  left: calc(150 * var(--sh-px));
  top: 0;
  width: calc(1617 * var(--sh-px));
  max-width: calc(100% - (150 * var(--sh-px)));
  pointer-events: none;
  overflow: hidden;
  z-index: 0;
}

.sh-pr-band__lines-img {
  display: block;
  width: 100%;
  height: auto;
  max-width: none;
}

.sh-pr-band > *:not(.sh-pr-band__lines) {
  position: relative;
  z-index: 1;
}

/* ---- Safety (30:2035) — y1141; 167 below gold ---- */
.sh-pr-safety {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: calc(40 * var(--sh-px));
  max-width: calc(1920 * var(--sh-px));
  margin: calc(167 * var(--sh-px)) auto 0;
  padding: 0 var(--sh-page-x);
  box-sizing: border-box;
}

.sh-pr-safety__art {
  flex: 0 0 calc(449 * var(--sh-px));
  width: calc(449 * var(--sh-px));
  margin-left: calc(110 * var(--sh-px)); /* 310 - 200 */
}

.sh-pr-safety__art img {
  display: block;
  width: 100%;
  height: auto;
  max-width: none;
}

.sh-pr-safety__copy {
  flex: 1 1 auto;
  max-width: calc(773 * var(--sh-px));
  padding-top: calc(102 * var(--sh-px)); /* 1243 - 1141 */
}

.sh-pr-safety__title {
  margin: 0;
  font-family: var(--sh-font-display);
  font-weight: 800;
  font-size: var(--sh-text-50);
  line-height: var(--sh-leading-62);
  color: var(--sh-gold);
}

.sh-pr-safety__body {
  margin: calc(39 * var(--sh-px)) 0 0;
  max-width: calc(770 * 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);
}

/* ---- WorkShield (30:2020) ---- */
.sh-pr-ws {
  position: relative;
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  box-sizing: border-box;
  max-width: calc(1520 * var(--sh-px));
  min-height: calc(861 * var(--sh-px));
  margin: calc(117 * var(--sh-px)) auto 0; /* 1815 - (1141 + 557) */
  padding: calc(108 * var(--sh-px)) calc(95 * var(--sh-px)) calc(82 * var(--sh-px));
  background: var(--sh-darkest-blue);
  border-radius: var(--sh-radius-card) 0 var(--sh-radius-card) 0;
  overflow: visible;
  color: var(--sh-white);
}

.sh-pr-ws__notch {
  position: absolute;
  left: calc(95 * var(--sh-px));
  top: calc(-16 * var(--sh-px));
  width: calc(105 * var(--sh-px));
  height: calc(59 * var(--sh-px));
  max-width: none;
  transform: rotate(180deg);
  pointer-events: none;
  z-index: 3;
}

.sh-pr-ws__copy {
  position: relative;
  z-index: 2;
  width: calc(667 * var(--sh-px));
}

.sh-pr-ws__title {
  margin: 0;
  font-family: var(--sh-font-display);
  font-weight: 800;
  font-size: var(--sh-text-50);
  line-height: var(--sh-leading-62);
  color: var(--sh-gold);
}

.sh-pr-ws__body {
  margin: calc(36 * var(--sh-px)) 0 0;
  font-family: var(--sh-font-body);
  font-weight: 500;
  font-size: var(--sh-text-18);
  line-height: var(--sh-leading-36);
  color: var(--sh-white);
}

.sh-pr-ws__why {
  margin: calc(36 * var(--sh-px)) 0 0;
  font-family: var(--sh-font-body);
  font-weight: 500;
  font-size: var(--sh-text-18);
  line-height: var(--sh-leading-36);
  color: var(--sh-white);
}

.sh-pr-ws__why-lead {
  font-weight: 800;
  color: var(--sh-gold);
}

.sh-pr-ws__btn {
  margin-top: calc(57 * var(--sh-px));
  width: calc(462 * var(--sh-px));
}

.sh-pr-ws__media {
  position: relative;
  flex: 0 0 calc(609 * var(--sh-px));
  width: calc(609 * var(--sh-px));
  height: calc(637 * var(--sh-px));
  margin-top: calc(9 * var(--sh-px));
  overflow: visible;
}

.sh-pr-ws__photo-frame {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  border-radius: 0 0 var(--sh-radius-card) 0; /* BR only */
  overflow: hidden;
  isolation: isolate;
  z-index: 0;
}

.sh-pr-ws__photo {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center center;
}

.sh-pr-ws__logo-wrap {
  position: absolute;
  left: calc(17 * var(--sh-px));
  top: calc(-35 * var(--sh-px));
  display: flex;
  align-items: center;
  justify-content: center;
  width: calc(255 * var(--sh-px));
  height: calc(140 * var(--sh-px));
  background: var(--sh-white);
  border-radius: var(--sh-radius-card) 0 var(--sh-radius-card) 0;
  z-index: 2;
}

.sh-pr-ws__logo {
  display: block;
  width: calc(202 * var(--sh-px));
  height: calc(83 * var(--sh-px));
  max-width: none;
  object-fit: contain;
  opacity: 0.4;
}

.sh-pr-ws__badge {
  position: absolute;
  left: calc(228 * var(--sh-px));
  top: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
  width: calc(364 * var(--sh-px));
  height: calc(68 * var(--sh-px));
  padding-left: calc(36 * var(--sh-px));
  background: var(--sh-gold);
  border-radius: 0 0 var(--sh-radius-card) 0;
  font-family: var(--sh-font-display);
  font-weight: 800;
  font-size: var(--sh-text-22);
  line-height: 1.1;
  text-transform: uppercase;
  color: var(--sh-white);
  text-align: center;
  z-index: 1;
}

/* ---- Bottom CTA (30:1989) ---- */
.sh-pr-cta {
  position: relative;
  max-width: calc(1920 * var(--sh-px));
  margin: calc(135 * var(--sh-px)) auto 0;
  padding: 0 var(--sh-page-x) calc(100 * var(--sh-px));
  box-sizing: border-box;
}

.sh-pr-cta__panel {
  position: relative;
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  box-sizing: border-box;
  max-width: calc(1520 * var(--sh-px));
  min-height: calc(606 * var(--sh-px));
  margin-inline: auto;
  padding: calc(93 * var(--sh-px)) calc(98 * var(--sh-px)) calc(52 * var(--sh-px)) calc(95 * var(--sh-px));
  background: #fff7ed;
  border-radius: var(--sh-radius-card) 0 var(--sh-radius-card) 0;
  overflow: visible;
}

.sh-pr-cta__notch {
  position: absolute;
  left: 50%;
  top: calc(-16 * var(--sh-px));
  width: calc(105 * var(--sh-px));
  height: calc(59 * var(--sh-px));
  max-width: none;
  transform: translateX(-50%) rotate(180deg);
  pointer-events: none;
}

.sh-pr-cta__copy {
  position: relative;
  z-index: 2;
  width: calc(683 * var(--sh-px));
}

.sh-pr-cta__title {
  margin: 0;
  font-family: var(--sh-font-display);
  font-weight: 800;
  font-size: var(--sh-text-50);
  line-height: var(--sh-leading-62);
  color: var(--sh-gold);
}

.sh-pr-cta__body {
  margin: calc(21 * var(--sh-px)) 0 0;
  max-width: calc(646 * 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-pr-cta__btn {
  margin-top: calc(49 * var(--sh-px));
  width: calc(462 * var(--sh-px));
}

.sh-pr-cta__media {
  position: relative;
  z-index: 1;
  width: calc(571 * var(--sh-px));
  margin: calc(12 * var(--sh-px)) 0 0;
}

.sh-pr-cta__media > img {
  display: block;
  width: 100%;
  height: auto;
  max-width: none;
}

.sh-pr-cta__plus {
  position: absolute;
  max-width: none;
  z-index: 2;
  pointer-events: none;
}

.sh-pr-cta__plus--lg {
  right: calc(40 * var(--sh-px));
  top: calc(-49 * var(--sh-px));
  width: calc(121 * var(--sh-px));
  height: calc(122 * var(--sh-px));
}

.sh-pr-cta__plus--md {
  right: calc(-20 * var(--sh-px));
  top: calc(87 * var(--sh-px));
  width: calc(46 * var(--sh-px));
  height: calc(47 * var(--sh-px));
}

.sh-pr-cta__plus--sm {
  right: calc(8 * var(--sh-px));
  top: calc(204 * var(--sh-px));
  width: calc(29 * var(--sh-px));
  height: calc(30 * var(--sh-px));
}

.sh-pr-cta__plus--xs {
  right: calc(-42 * var(--sh-px));
  top: calc(-10 * var(--sh-px));
  width: calc(21 * var(--sh-px));
  height: calc(22 * var(--sh-px));
}

@media (max-width: 1100px) {
  /* Tablet / mid — stack; desktop ≥1101 keeps Figma absolute layout */
  .sh-pr-page {
    overflow-x: clip;
  }

  .sh-pr-hero {
    min-height: 0;
    overflow: hidden;
  }

  .sh-pr-hero__stage {
    min-height: 0;
    padding: 3rem var(--sh-page-x) 2.5rem;
  }

  .sh-pr-hero__portrait {
    right: -8%;
    top: 10%;
    width: min(50vw, 20rem);
    height: auto;
    aspect-ratio: 912 / 874;
    opacity: 0.28;
  }

  .sh-pr-hero__plus {
    display: none;
  }

  .sh-pr-hero__copy {
    position: relative;
    left: auto;
    top: auto;
    width: 100%;
    max-width: min(100%, 36rem);
  }

  .sh-pr-hero__title {
    max-width: none;
    font-size: clamp(2.5rem, 8vw, 4.5rem);
    line-height: 1.05;
  }

  .sh-pr-hero__subtitle {
    position: relative;
    left: auto;
    top: auto;
    margin-top: 1.25rem;
    max-width: none;
    font-size: clamp(1.35rem, 3.5vw, 2rem);
    line-height: 1.25;
  }

  .sh-pr-band__lines {
    left: 0;
    width: 100%;
    max-width: none;
  }

  .sh-pr-band__lines-img {
    width: 100%;
    max-width: none;
  }

  .sh-pr-safety {
    flex-direction: column;
    align-items: stretch;
    gap: 1.75rem;
    margin-top: 3rem;
    padding: 0 var(--sh-page-x);
  }

  .sh-pr-safety__art {
    order: -1; /* graphic above copy */
    flex: none;
    width: min(100%, 18rem);
    margin-left: 0;
    margin-inline: auto;
  }

  .sh-pr-safety__copy {
    max-width: none;
    padding-top: 0;
  }

  .sh-pr-safety__body {
    max-width: none;
  }

  .sh-pr-ws {
    flex-direction: column;
    width: 100%;
    max-width: none;
    min-height: 0;
    margin: 3rem 0 0;
    padding: 2.5rem var(--sh-page-x);
    box-sizing: border-box;
  }

  .sh-pr-ws__notch {
    left: 1.5rem;
    width: 4rem;
    height: 2.25rem;
    top: -0.75rem;
  }

  .sh-pr-ws__media {
    order: -1; /* photo above copy */
    flex: none;
    width: 100%;
    max-width: 28rem;
    height: auto;
    margin: 0 auto 2rem;
  }

  .sh-pr-ws__photo-frame {
    position: relative;
    inset: auto;
    width: 100%;
    height: auto;
    aspect-ratio: 609 / 637;
  }

  .sh-pr-ws__logo-wrap {
    position: relative;
    left: auto;
    top: auto;
    width: min(55%, 12rem);
    height: 4rem;
    margin: 1rem auto 0;
  }

  .sh-pr-ws__logo {
    width: auto;
    max-width: 85%;
    height: auto;
    max-height: 70%;
  }

  .sh-pr-ws__badge {
    position: relative;
    left: auto;
    top: auto;
    width: auto;
    max-width: 100%;
    height: auto;
    margin: 0.75rem auto 0;
    padding: 0.75rem 1.25rem;
  }

  .sh-pr-ws__copy {
    width: 100%;
    max-width: none;
  }

  .sh-pr-ws__btn {
    width: min(100%, 28rem);
  }

  .sh-pr-cta {
    margin-top: 3.5rem;
    padding: 0 var(--sh-page-x) 3.5rem;
  }

  .sh-pr-cta__panel {
    flex-direction: column;
    width: 100%;
    max-width: none;
    min-height: 0;
    padding: 2.5rem var(--sh-page-x);
    box-sizing: border-box;
  }

  .sh-pr-cta__notch {
    width: 4rem;
    height: 2.25rem;
    top: -0.75rem;
  }

  .sh-pr-cta__media {
    order: -1;
    width: min(100%, 22rem);
    margin: 0 auto 1.75rem;
  }

  .sh-pr-cta__copy {
    width: 100%;
    max-width: none;
  }

  .sh-pr-cta__body {
    max-width: none;
  }

  .sh-pr-cta__btn {
    width: min(100%, 28rem);
  }

  .sh-pr-cta__plus {
    display: none;
  }
}