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

/* --------------------------------------------------------------------------
   Page shell
   -------------------------------------------------------------------------- */
.sh-faq-page {
  overflow-x: clip;
}

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

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

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

/* --------------------------------------------------------------------------
   Shared FAQ cards (.sh-faq-card)
   Figma cost cards: pad-top 82, title→body 47, body w≈576
   -------------------------------------------------------------------------- */
.sh-faq-card {
  box-sizing: border-box;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: flex-start;
  min-height: calc(490 * var(--sh-px));
  padding: calc(82 * var(--sh-px)) calc(80 * var(--sh-px)) calc(48 * var(--sh-px));
  text-align: center;
}

.sh-faq-card__title {
  margin: 0;
  max-width: 100%;
  font-family: var(--sh-font-display);
  font-weight: 800;
  font-size: var(--sh-text-50);
  line-height: var(--sh-leading-62);
}

.sh-faq-card__body {
  margin: calc(47 * var(--sh-px)) 0 0;
  max-width: calc(576 * 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);
}

/* Plum — cost section */
.sh-faq-card--plum {
  background: #f2eff5;
  border-radius: var(--sh-radius-soft) 0 0 0;
}

.sh-faq-card--plum .sh-faq-card__title {
  color: var(--sh-plum);
}

/* Green — enrollment section */
.sh-faq-card--green {
  min-height: calc(529 * var(--sh-px));
  background: #f2f9f9;
  border-radius: var(--sh-radius-soft) 0 0 0;
}

.sh-faq-card--green .sh-faq-card__title {
  color: var(--sh-green);
}

/* Navy — coverage grid */
.sh-faq-card--navy {
  min-height: calc(472 * var(--sh-px));
  background: #e6ecf1;
  border-radius: var(--sh-radius-soft) 0 0 0;
}

.sh-faq-card--navy .sh-faq-card__title {
  color: var(--sh-darkest-blue);
}

.sh-faq-card--wide {
  grid-column: 1 / -1;
  width: 100%;
  max-width: 100%;
  min-height: calc(353 * var(--sh-px));
  padding-top: calc(58 * var(--sh-px)); /* 4001 − 3943 */
}

.sh-faq-card--wide .sh-faq-card__title {
  max-width: calc(1449 * var(--sh-px));
}

.sh-faq-card--wide .sh-faq-card__body {
  max-width: calc(1252 * var(--sh-px));
}

/* --------------------------------------------------------------------------
   Hero (30:2104) — photo band 868; content below 166 header = 702
   -------------------------------------------------------------------------- */
.sh-faq-hero {
  position: relative;
  z-index: 1;
  width: 100%;
  min-height: calc(702 * var(--sh-px)); /* 868 − 166 */
  color: var(--sh-white);
  overflow: visible;
}

.sh-faq-hero__media {
  position: absolute;
  inset: 0;
  z-index: 0;
  overflow: hidden;
  pointer-events: none;
}

.sh-faq-hero__bg {
  display: block;
  width: 100%;
  height: 100%;
  max-width: none;
  object-fit: cover;
  object-position: center center;
}

.sh-faq-hero__shade {
  position: absolute;
  inset: 0;
  background: rgba(0, 70, 118, 0.8);
  pointer-events: none;
}

.sh-faq-hero__copy {
  position: absolute;
  left: 50%;
  top: calc(128 * var(--sh-px)); /* 294 − 166 */
  z-index: 2;
  width: calc(1517 * var(--sh-px));
  max-width: calc(100% - (2 * var(--sh-page-x)));
  transform: translateX(-50%);
  text-align: center;
  box-sizing: border-box;
}

.sh-faq-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-faq-hero__subtitle {
  position: absolute;
  left: 0;
  right: 0;
  top: calc(279 * var(--sh-px)); /* 573 − 294 */
  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-faq-hero__notch {
  position: absolute;
  left: 50%;
  bottom: calc(-39 * var(--sh-px));
  z-index: 3;
  width: calc(134 * var(--sh-px));
  height: calc(78 * var(--sh-px));
  max-width: none;
  transform: translateX(-50%) rotate(180deg);
  pointer-events: none;
}

/* --------------------------------------------------------------------------
   Compliance (30:2165)
   -------------------------------------------------------------------------- */
/* Figma COMPLIANCE 30:2165 — frame 1558×736 @ x181 */
.sh-faq-compliance {
  width: 100%;
  max-width: calc(1558 * var(--sh-px));
  margin: calc(146 * var(--sh-px)) auto 0; /* 1014 − 868 */
  padding: 0;
  box-sizing: border-box;
  text-align: center;
  overflow: visible;
}

.sh-faq-compliance__irs-title {
  margin: 0 auto;
  max-width: calc(1558 * var(--sh-px));
  font-family: var(--sh-font-display);
  font-weight: 800;
  font-size: var(--sh-text-50);
  line-height: var(--sh-leading-52);
  color: var(--sh-gold);
}

.sh-faq-compliance__irs-body {
  margin: calc(47 * var(--sh-px)) auto 0; /* 1117 − 1014 − 56 */
  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);
}

/* Card 937 @ x203 + gap 101 + partners 482 @ x1241 = 1520 row */
.sh-faq-compliance__row {
  display: flex;
  align-items: flex-start;
  justify-content: flex-start;
  gap: calc(101 * var(--sh-px)); /* 1241 − 203 − 937 */
  width: calc(1520 * var(--sh-px)); /* 203→1723 */
  max-width: 100%;
  margin: calc(65 * var(--sh-px)) auto 0; /* 1362 − 1117 − 180 */
  padding-left: calc(22 * var(--sh-px)); /* 203 − 181 */
  box-sizing: border-box;
  text-align: left;
  overflow: visible;
}

.sh-faq-compliance__card {
  flex: 0 0 calc(937 * var(--sh-px));
  box-sizing: border-box;
  width: calc(937 * var(--sh-px));
  min-height: calc(388 * var(--sh-px));
  /* title @ 281/1421 → pad L/T 78/59; body ends ~1690 → pad B ~60 */
  padding: calc(59 * var(--sh-px)) calc(94 * var(--sh-px)) calc(60 * var(--sh-px)) calc(78 * var(--sh-px));
  background: #fff7ed;
  border-radius: var(--sh-radius-soft) 0 0 0;
}

.sh-faq-compliance__card-title {
  margin: 0;
  font-family: var(--sh-font-display);
  font-weight: 800;
  font-size: var(--sh-text-50);
  line-height: calc(58 * var(--sh-px));
  color: var(--sh-gold);
}

.sh-faq-compliance__card-body {
  margin: calc(31 * var(--sh-px)) 0 0; /* 1510 − 1421 − 58 */
  max-width: calc(765 * 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-faq-compliance__hl {
  color: var(--sh-gold);
  font-weight: 800;
  font-style: italic;
}

.sh-faq-compliance__partners {
  position: relative;
  flex: 0 0 calc(482 * var(--sh-px));
  width: calc(482 * var(--sh-px));
  display: flex;
  flex-direction: column;
  gap: calc(14 * var(--sh-px)); /* 1563 − 1362 − 187 */
  overflow: visible;
}

.sh-faq-compliance__logo-card {
  position: relative;
  display: block;
  box-sizing: border-box;
  width: calc(482 * var(--sh-px));
  height: calc(187 * var(--sh-px));
  background: #fff7ed;
  border-radius: 0 var(--sh-radius-card) 0 var(--sh-radius-card); /* TR + BL */
  overflow: visible;
}

/*
 * Zurich: cream fill sits ABOVE the black back (z-index), so black is hidden
 * under the pink card and only peeks where it clears the card edge / under the gold plate.
 */
.sh-faq-compliance__logo-card--zurich {
  background: transparent;
}

.sh-faq-compliance__logo-card--zurich::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 1;
  background: #fff7ed;
  border-radius: inherit;
  pointer-events: none;
}

.sh-faq-compliance__logo {
  position: absolute;
  z-index: 2;
  display: block;
  opacity: 0.4; /* Figma clearspring_BW / zurich_BW */
  object-fit: contain;
  max-width: none;
}

/* clearspring_BW @ 1326,1415 → +85,+53 inside CS card */
.sh-faq-compliance__logo--cs {
  left: calc(85 * var(--sh-px));
  top: calc(53 * var(--sh-px));
  width: calc(350 * var(--sh-px));
  height: calc(82 * var(--sh-px));
}

/* zurich_BW @ 1404,1595 → +163,+32 inside Zurich card */
.sh-faq-compliance__logo--zurich {
  left: calc(163 * var(--sh-px));
  top: calc(32 * var(--sh-px));
  width: calc(194 * var(--sh-px));
  height: calc(121 * var(--sh-px));
}

/* AM Best shield @ 1189,1398 → −52,+36 inside CS card; text 16px */
.sh-faq-compliance__am-badge {
  position: absolute;
  left: calc(-52 * var(--sh-px));
  top: calc(36 * var(--sh-px));
  z-index: 2;
  width: calc(102 * var(--sh-px));
  height: calc(116 * var(--sh-px));
  pointer-events: none;
}

.sh-faq-compliance__am-shield {
  position: absolute;
  inset: 0;
  width: calc(102 * var(--sh-px));
  height: calc(116 * var(--sh-px));
  max-width: none;
}

.sh-faq-compliance__am-text {
  position: absolute;
  left: 50%;
  top: calc(27 * var(--sh-px)); /* 1425 − 1398 */
  width: calc(143 * var(--sh-px));
  transform: translateX(-50%);
  font-family: var(--sh-font-display);
  font-weight: 800;
  font-size: calc(16 * var(--sh-px));
  line-height: 1.1;
  text-transform: uppercase;
  color: var(--sh-white);
  text-align: center;
}

/* Black back behind cream (::before z1) — only peeks left of card / under gold plate */
.sh-faq-compliance__gold-badge-back-wrap {
  position: absolute;
  /* badge (−52, +57) + Figma back offset (+3, −43) */
  left: calc(-49 * var(--sh-px));
  top: calc(14 * var(--sh-px));
  z-index: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  width: calc(122.598 * var(--sh-px));
  height: calc(126.345 * var(--sh-px));
  pointer-events: none;
}

.sh-faq-compliance__gold-badge-back {
  display: block;
  width: calc(86 * var(--sh-px));
  height: calc(96.239 * var(--sh-px));
  max-width: none;
  transform: rotate(-30deg);
  transform-origin: center center;
}

/* Gold plate + icon above cream */
.sh-faq-compliance__gold-badge {
  position: absolute;
  left: calc(-52 * var(--sh-px));
  top: calc(57 * var(--sh-px));
  z-index: 3;
  width: calc(86 * var(--sh-px));
  height: calc(96 * var(--sh-px));
  overflow: visible;
  pointer-events: none;
}

.sh-faq-compliance__gold-badge-plate {
  position: absolute;
  inset: 0;
  z-index: 1;
  background: var(--sh-gold);
}

.sh-faq-compliance__gold-badge-icon {
  position: absolute;
  left: calc(19 * var(--sh-px)); /* 1208 − 1189 */
  top: calc(14 * var(--sh-px)); /* 1634 − 1620 */
  z-index: 2;
  display: block;
  width: calc(47 * var(--sh-px));
  height: calc(68 * var(--sh-px));
  max-width: none;
}

/* --------------------------------------------------------------------------
   Cost (30:2124) — 1520×490 @ x203; cards 737 + gap 46
   -------------------------------------------------------------------------- */
.sh-faq-cost {
  display: grid;
  grid-template-columns: repeat(2, calc(737 * var(--sh-px)));
  justify-content: center;
  gap: calc(46 * var(--sh-px)); /* 986 − 203 − 737 */
  width: 100%;
  max-width: calc(1520 * var(--sh-px));
  margin: calc(98 * var(--sh-px)) auto 0; /* 1848 − 1750 */
  padding: 0;
  box-sizing: border-box;
}

.sh-faq-cost .sh-faq-card {
  width: calc(737 * var(--sh-px));
  max-width: 100%;
  margin: 0;
}

/* --------------------------------------------------------------------------
   Coverage (30:2138) — 1521×1906 @ x202
   -------------------------------------------------------------------------- */
.sh-faq-coverage {
  width: 100%;
  max-width: calc(1521 * var(--sh-px));
  margin: calc(94 * var(--sh-px)) auto 0; /* 2432 − 1848 − 490 */
  padding: 0;
  box-sizing: border-box;
  text-align: center;
  overflow: visible;
}

.sh-faq-coverage__vs-title {
  margin: 0 auto;
  max-width: calc(1089 * 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-darkest-blue);
}

/* Panels 669 @ x271/982; gap 42; VS centered in gap */
.sh-faq-coverage__vs {
  position: relative;
  display: flex;
  align-items: stretch;
  justify-content: center;
  gap: calc(42 * var(--sh-px)); /* 982 − 271 − 669 */
  width: calc(1380 * var(--sh-px)); /* 271→1651 */
  max-width: 100%;
  margin: calc(93 * var(--sh-px)) auto 0; /* 2643 − 2432 − 118 */
  overflow: visible;
}

.sh-faq-coverage__panel {
  position: relative;
  box-sizing: border-box;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: flex-start;
  flex: 0 0 calc(669 * var(--sh-px));
  width: calc(669 * var(--sh-px));
  min-height: calc(520 * var(--sh-px));
  /* label @ 344/2686 → pad L≈73 T≈43 */
  padding: calc(43 * var(--sh-px)) calc(80 * var(--sh-px)) calc(24 * var(--sh-px));
  background: #e6ecf1;
  color: var(--sh-dark-blue);
  text-align: center;
  overflow: visible;
}

.sh-faq-coverage__panel--left {
  border-radius: var(--sh-radius-card) 0 0 0;
}

.sh-faq-coverage__panel--right {
  border-radius: 0 var(--sh-radius-card) 0 0;
}

.sh-faq-coverage__panel-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);
}

.sh-faq-coverage__panel-body {
  margin: calc(12 * var(--sh-px)) 0 0; /* 2822 − 2686 − 124 */
  max-width: calc(401 * 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-faq-coverage__panel--right .sh-faq-coverage__panel-body {
  max-width: calc(407 * var(--sh-px));
}

.sh-faq-coverage__amount {
  margin: calc(82 * var(--sh-px)) 0 0; /* 2977 − 2822 − 73 */
  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);
}

.sh-faq-coverage__amount-note {
  margin: calc(40 * var(--sh-px)) 0 0; /* 3079 − 2977 − 62 */
  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);
}

.sh-faq-coverage__vs-badge {
  position: absolute;
  left: 50%;
  top: calc(121 * var(--sh-px)); /* 2764 − 2643 */
  z-index: 2;
  width: calc(151 * var(--sh-px));
  height: calc(151 * var(--sh-px));
  transform: translateX(-50%);
  pointer-events: none;
}

.sh-faq-coverage__vs-badge img {
  display: block;
  width: calc(151 * var(--sh-px));
  height: calc(151 * var(--sh-px));
  max-width: none;
}

.sh-faq-coverage__vs-badge span {
  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);
}

.sh-faq-coverage__plus {
  position: absolute;
  max-width: none;
  pointer-events: none;
  z-index: 3;
}

/* Pluses relative to right panel @ x982 y2643 */
.sh-faq-coverage__plus--lg {
  right: calc(-30 * var(--sh-px)); /* 1651 − (1551 + 130) */
  top: calc(-31 * var(--sh-px)); /* 2612 − 2643 */
  width: calc(130 * var(--sh-px));
  height: calc(150 * var(--sh-px));
}

.sh-faq-coverage__plus--md {
  right: calc(25 * var(--sh-px)); /* 1651 − (1583 + 43) */
  top: calc(23 * var(--sh-px)); /* 2666 − 2643 */
  width: calc(43 * var(--sh-px));
  height: calc(42 * var(--sh-px));
}

.sh-faq-coverage__plus--sm {
  right: calc(7 * var(--sh-px)); /* 1651 − (1549 + 95) */
  top: calc(-21 * var(--sh-px)); /* 2622 − 2643 */
  width: calc(95 * var(--sh-px));
  height: calc(130 * var(--sh-px));
}

.sh-faq-coverage__vs-footer {
  margin: calc(82 * var(--sh-px)) auto 0; /* 3245 − 3163 */
  max-width: calc(1207 * 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);
}

.sh-faq-coverage__grid {
  display: grid;
  grid-template-columns: repeat(2, calc(737 * var(--sh-px)));
  justify-content: center;
  gap: calc(46 * var(--sh-px)); /* 985 − 202 − 737 */
  width: 100%;
  margin-top: calc(71 * var(--sh-px)); /* 3424 − 3245 − 108 */
}

.sh-faq-coverage__grid .sh-faq-card {
  width: calc(737 * var(--sh-px));
  max-width: 100%;
  margin: 0;
}

.sh-faq-coverage__grid .sh-faq-card--wide {
  width: 100%;
  max-width: calc(1521 * var(--sh-px));
  margin-top: calc(1 * var(--sh-px)); /* grid gap already 46; Figma 3943 − 3424 − 472 = 47 */
}

/* --------------------------------------------------------------------------
   Enrollment (30:2131) — 1520×529 @ x203
   -------------------------------------------------------------------------- */
.sh-faq-enrollment {
  display: grid;
  grid-template-columns: repeat(2, calc(737 * var(--sh-px)));
  justify-content: center;
  gap: calc(46 * var(--sh-px));
  width: 100%;
  max-width: calc(1520 * var(--sh-px));
  margin: calc(94 * var(--sh-px)) auto 0; /* 4432 − 4338 */
  padding: 0;
  box-sizing: border-box;
}

.sh-faq-enrollment .sh-faq-card {
  width: calc(737 * var(--sh-px));
  max-width: 100%;
  margin: 0;
}

.sh-faq-enrollment .sh-faq-card:last-child .sh-faq-card__body {
  margin-top: calc(32 * var(--sh-px)); /* 4732 − 4514 − 186 */
  max-width: calc(615 * var(--sh-px));
}

/* --------------------------------------------------------------------------
   Getting started (30:2202) — full-bleed photo + cyan panel
   -------------------------------------------------------------------------- */
.sh-faq-started {
  position: relative;
  width: 100%;
  max-width: calc(1920 * var(--sh-px));
  min-height: calc(1471 * var(--sh-px));
  margin: calc(119 * var(--sh-px)) auto 0; /* 5080 − 4432 − 529 */
  overflow: visible;
}

.sh-faq-started__photo {
  position: absolute;
  left: 0;
  top: calc(111 * var(--sh-px)); /* 5191 − 5080 */
  z-index: 3; /* above cyan panel — Figma overlap 964 − 872 = 92 */
  width: calc(964 * var(--sh-px));
  height: calc(1249 * var(--sh-px));
  margin: 0;
  border-radius: 0 0 var(--sh-radius-card) 0;
  overflow: hidden;
  pointer-events: none;
}

.sh-faq-started__photo img {
  display: block;
  width: calc(964 * var(--sh-px));
  height: calc(1249 * var(--sh-px));
  max-width: none;
  object-fit: cover;
  object-position: center center;
}

.sh-faq-started__panel {
  position: absolute;
  left: calc(872 * var(--sh-px));
  top: 0;
  z-index: 1;
  box-sizing: border-box;
  width: calc(957 * var(--sh-px));
  min-height: calc(1471 * var(--sh-px));
  /* text @ x1093 → pad-left 221; keeps 129 clearance from photo edge (1093 − 964) */
  padding: calc(148 * var(--sh-px)) calc(48 * var(--sh-px)) calc(66 * var(--sh-px)) calc(221 * var(--sh-px));
  background: #e6f8fd;
  border-radius: 0 0 var(--sh-radius-card) 0;
}

.sh-faq-started__item + .sh-faq-started__item {
  margin-top: calc(67 * var(--sh-px)); /* 5568 − 5385 − 116 */
}

.sh-faq-started__item:nth-child(3) {
  margin-top: calc(47 * var(--sh-px)); /* 5960 − 5797 − 116 */
}

.sh-faq-started__title {
  margin: 0;
  max-width: calc(735 * 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-faq-started__item:nth-child(2) .sh-faq-started__title,
.sh-faq-started__item:nth-child(3) .sh-faq-started__title {
  max-width: calc(691 * var(--sh-px));
}

.sh-faq-started__body {
  margin: calc(47 * var(--sh-px)) 0 0; /* 5385 − 5228 − 110 */
  max-width: calc(614 * 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-faq-started__item:nth-child(3) .sh-faq-started__body {
  max-width: calc(628 * var(--sh-px));
}

/* --------------------------------------------------------------------------
   Bottom CTA (30:2185) — plum panel 1520×645 @ x200
   -------------------------------------------------------------------------- */
.sh-faq-cta {
  position: relative;
  width: 100%;
  max-width: calc(1920 * var(--sh-px));
  margin: calc(82 * var(--sh-px)) auto 0; /* 6633 − 6551 */
  padding: 0 0 calc(100 * var(--sh-px));
  box-sizing: border-box;
  overflow: visible;
}

.sh-faq-cta__panel {
  position: relative;
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  box-sizing: border-box;
  width: calc(1520 * var(--sh-px));
  max-width: calc(100% - (2 * var(--sh-page-x)));
  min-height: calc(645 * var(--sh-px));
  margin-inline: auto;
  padding: calc(93 * var(--sh-px)) calc(48 * var(--sh-px)) calc(52 * var(--sh-px)) calc(95 * var(--sh-px)); /* 295 − 200 */
  background: #f2eff5;
  border-radius: var(--sh-radius-card) 0 var(--sh-radius-card) 0;
  overflow: visible;
}

.sh-faq-cta__notch {
  position: absolute;
  left: 50%;
  top: calc(-16 * var(--sh-px)); /* 6666 − 6682 */
  width: calc(105 * var(--sh-px));
  height: calc(59 * var(--sh-px));
  max-width: none;
  transform: translateX(-50%) rotate(180deg);
  pointer-events: none;
}

.sh-faq-cta__copy {
  position: relative;
  z-index: 2;
  flex: 0 1 calc(799 * var(--sh-px));
  width: calc(799 * var(--sh-px));
  max-width: 100%;
}

.sh-faq-cta__title {
  margin: 0;
  max-width: calc(777 * 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-plum);
}

.sh-faq-cta__body {
  margin: calc(21 * var(--sh-px)) 0 0; /* 6931 − 6775 − 135 */
  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-faq-cta__btn {
  margin-top: calc(45 * var(--sh-px)); /* 7152 − 6931 − 176 */
  width: calc(462 * var(--sh-px));
}

.sh-faq-cta__media {
  position: relative;
  z-index: 1;
  flex: 0 0 calc(531 * var(--sh-px));
  width: calc(531 * var(--sh-px));
  height: calc(528 * var(--sh-px));
  margin: calc(59 * var(--sh-px)) 0 0; /* 6741 − 6682 */
  border-radius: 0 0 var(--sh-radius-card) 0;
  overflow: hidden;
}

.sh-faq-cta__media > img {
  display: block;
  width: calc(531 * var(--sh-px));
  height: calc(528 * var(--sh-px));
  max-width: none;
  object-fit: cover;
  object-position: center center;
}

.sh-faq-cta__plus {
  position: absolute;
  max-width: none;
  z-index: 2;
  pointer-events: none;
}

/* Pluses relative to panel right edge x1720 / top 6682 */
.sh-faq-cta__plus--lg {
  right: calc(39 * var(--sh-px)); /* 1720 − 1560 − 121 */
  top: calc(-49 * var(--sh-px)); /* 6633 − 6682 */
  width: calc(121 * var(--sh-px));
  height: calc(122 * var(--sh-px));
}

.sh-faq-cta__plus--md {
  right: calc(-21 * var(--sh-px)); /* 1720 − 1695 − 46 */
  top: calc(87 * var(--sh-px)); /* 6769 − 6682 */
  width: calc(46 * var(--sh-px));
  height: calc(47 * var(--sh-px));
}

.sh-faq-cta__plus--sm {
  right: calc(25 * var(--sh-px)); /* 1720 − 1666 − 29 */
  top: calc(204 * var(--sh-px)); /* 6886 − 6682 */
  width: calc(29 * var(--sh-px));
  height: calc(30 * var(--sh-px));
}

.sh-faq-cta__plus--xs {
  right: calc(-40 * var(--sh-px)); /* 1720 − 1739 − 21 */
  top: calc(-10 * var(--sh-px)); /* 6672 − 6682 */
  width: calc(21 * var(--sh-px));
  height: calc(22 * var(--sh-px));
}

/* --------------------------------------------------------------------------
   Responsive — tablet ≤1100 (desktop ≥1101 keeps Figma absolute layout)
   -------------------------------------------------------------------------- */
@media (max-width: 1100px) {
  .sh-faq-hero {
    min-height: 0;
  }

  .sh-faq-hero__copy {
    position: relative;
    left: auto;
    top: auto;
    transform: none;
    width: 100%;
    max-width: none;
    padding: 3rem var(--sh-page-x) 2.5rem;
  }

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

  .sh-faq-hero__subtitle {
    position: relative;
    left: auto;
    right: auto;
    top: auto;
    margin-top: 1.25rem;
    font-size: clamp(1.35rem, 3.5vw, 2rem);
    line-height: 1.25;
  }

  .sh-faq-hero__notch {
    display: none;
  }

  .sh-faq-card {
    width: 100%;
    max-width: none;
    min-height: 0;
    padding: 2rem 1.5rem;
  }

  .sh-faq-card__title,
  .sh-faq-card__body,
  .sh-faq-card--wide .sh-faq-card__title,
  .sh-faq-card--wide .sh-faq-card__body {
    max-width: none;
  }

  .sh-faq-card__title {
    font-size: clamp(1.75rem, 4vw, 2.5rem);
    line-height: 1.15;
  }

  .sh-faq-compliance {
    width: 100%;
    max-width: none;
    margin-top: 3.5rem;
    padding: 0 var(--sh-page-x);
  }

  .sh-faq-compliance__irs-title,
  .sh-faq-compliance__irs-body {
    max-width: none;
  }

  .sh-faq-compliance__row {
    flex-direction: column;
    align-items: stretch;
    gap: 1.5rem;
    width: 100%;
    max-width: none;
    padding-left: 0;
  }

  .sh-faq-compliance__card,
  .sh-faq-compliance__partners,
  .sh-faq-compliance__logo-card {
    width: 100%;
    max-width: none;
    flex: none;
  }

  .sh-faq-compliance__card {
    min-height: 0;
    padding: 1.75rem 1.5rem;
  }

  .sh-faq-compliance__card-title {
    line-height: 1.15;
  }

  .sh-faq-compliance__card-body {
    max-width: none;
  }

  .sh-faq-compliance__partners {
    padding-left: 0;
    gap: 1rem;
  }

  .sh-faq-compliance__logo-card {
    height: auto;
    min-height: 7rem;
    padding: 2rem 1.5rem;
  }

  .sh-faq-compliance__logo--cs,
  .sh-faq-compliance__logo--zurich {
    position: relative;
    left: auto;
    top: auto;
    transform: none;
    display: block;
    margin: 0 auto;
    width: min(70%, 12rem);
    height: auto;
  }

  .sh-faq-compliance__am-badge,
  .sh-faq-compliance__gold-badge,
  .sh-faq-compliance__gold-badge-back-wrap,
  .sh-faq-compliance__logo-card--zurich::before {
    display: none;
  }

  .sh-faq-cost,
  .sh-faq-enrollment,
  .sh-faq-coverage,
  .sh-faq-coverage__grid {
    width: 100%;
    max-width: none;
    margin-top: 2.5rem;
    padding-left: var(--sh-page-x);
    padding-right: var(--sh-page-x);
    grid-template-columns: 1fr;
    justify-content: stretch;
    gap: 1.25rem;
  }

  .sh-faq-cost .sh-faq-card,
  .sh-faq-enrollment .sh-faq-card,
  .sh-faq-coverage__grid .sh-faq-card {
    width: 100%;
    max-width: none;
  }

  .sh-faq-coverage__vs-title,
  .sh-faq-coverage__vs-footer {
    max-width: none;
    letter-spacing: 0.08em;
  }

  .sh-faq-coverage__vs {
    flex-direction: column;
    align-items: stretch;
    gap: 1.5rem;
    width: 100%;
    max-width: none;
    box-sizing: border-box;
  }

  .sh-faq-coverage__panel,
  .sh-faq-coverage__panel--left,
  .sh-faq-coverage__panel--right {
    flex: 1 1 auto;
    width: 100%;
    max-width: none;
    min-height: 0;
    padding: 2rem 1.5rem;
    box-sizing: border-box;
  }

  .sh-faq-coverage__panel-label,
  .sh-faq-coverage__panel-body,
  .sh-faq-coverage__panel--left .sh-faq-coverage__panel-body,
  .sh-faq-coverage__panel--right .sh-faq-coverage__panel-body,
  .sh-faq-coverage__amount-note {
    max-width: none;
    width: 100%;
  }

  .sh-faq-coverage__panel-label {
    font-size: clamp(1.35rem, 3.5vw, 2rem);
    line-height: 1.25;
  }

  .sh-faq-coverage__amount {
    font-size: clamp(2.5rem, 8vw, 4.5rem);
    line-height: 1.05;
    margin-top: 1.5rem;
  }

  .sh-faq-coverage__amount-note {
    letter-spacing: 0.08em;
  }

  .sh-faq-coverage__vs-badge {
    position: relative;
    left: auto;
    top: auto;
    transform: none;
    width: 4.5rem;
    height: 4.5rem;
    margin: -0.5rem auto;
  }

  .sh-faq-coverage__vs-badge img {
    width: 100%;
    height: 100%;
  }

  .sh-faq-coverage__plus {
    display: none;
  }

  .sh-faq-started {
    width: 100%;
    max-width: none;
    min-height: 0;
    margin-top: 3rem;
    padding: 0 var(--sh-page-x);
    display: flex;
    flex-direction: column;
  }

  .sh-faq-started__photo {
    order: -1;
    position: relative;
    left: auto;
    top: auto;
    width: 100%;
    height: auto;
    aspect-ratio: 964 / 900;
  }

  .sh-faq-started__photo img {
    width: 100%;
    height: 100%;
  }

  .sh-faq-started__panel {
    position: relative;
    left: auto;
    top: auto;
    width: 100%;
    max-width: none;
    min-height: 0;
    margin-top: 0;
    padding: 2.5rem clamp(1.25rem, 4vw, 2rem);
  }

  .sh-faq-started__title,
  .sh-faq-started__body,
  .sh-faq-started__item:nth-child(2) .sh-faq-started__title,
  .sh-faq-started__item:nth-child(3) .sh-faq-started__title,
  .sh-faq-started__item:nth-child(3) .sh-faq-started__body {
    max-width: none;
  }

  .sh-faq-cta {
    width: 100%;
    max-width: none;
    margin-top: 3rem;
    padding: 0 var(--sh-page-x) 3.5rem;
  }

  .sh-faq-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-faq-cta__notch {
    width: 4rem;
    height: 2.25rem;
    top: -0.75rem;
  }

  .sh-faq-cta__media {
    order: -1;
    flex: none;
    width: min(100%, 20rem);
    height: auto;
    aspect-ratio: 1;
    margin: 0 auto 1.75rem;
  }

  .sh-faq-cta__media > img {
    width: 100%;
    height: 100%;
  }

  .sh-faq-cta__copy {
    flex: none;
    width: 100%;
    max-width: none;
  }

  .sh-faq-cta__title,
  .sh-faq-cta__body {
    max-width: none;
  }

  .sh-faq-cta__btn {
    width: min(100%, 28rem);
  }

  .sh-faq-cta__plus {
    display: none;
  }
}

/* --------------------------------------------------------------------------
   Responsive — phone ≤767 (430 canvas via --sh-m from mobile.css)
   -------------------------------------------------------------------------- */
@media (max-width: 767px) {
  .sh-faq-hero {
    min-height: 0;
  }

  .sh-faq-hero__copy {
    position: relative;
    left: auto;
    top: auto;
    transform: none;
    width: 100%;
    max-width: none;
    padding: calc(40 * var(--sh-m)) calc(28 * var(--sh-m)) calc(48 * var(--sh-m));
  }

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

  .sh-faq-hero__subtitle {
    position: relative;
    left: auto;
    right: auto;
    top: auto;
    margin-top: calc(20 * var(--sh-m));
    font-size: calc(22 * var(--sh-m));
    line-height: calc(28 * var(--sh-m));
  }

  .sh-faq-hero__notch {
    display: none;
  }

  .sh-faq-card {
    width: 100%;
    max-width: none;
    min-height: 0;
    padding: calc(28 * var(--sh-m)) calc(22 * var(--sh-m));
  }

  .sh-faq-card--green,
  .sh-faq-card--navy,
  .sh-faq-card--wide {
    min-height: 0;
  }

  .sh-faq-card__title,
  .sh-faq-card__body,
  .sh-faq-card--wide .sh-faq-card__title,
  .sh-faq-card--wide .sh-faq-card__body {
    max-width: none;
  }

  .sh-faq-card__title {
    font-size: calc(28 * var(--sh-m));
    line-height: calc(34 * var(--sh-m));
  }

  .sh-faq-card__body {
    margin-top: calc(14 * var(--sh-m));
    font-size: calc(15 * var(--sh-m));
    line-height: calc(26 * var(--sh-m));
  }

  .sh-faq-compliance {
    width: 100%;
    max-width: none;
    margin-top: calc(48 * var(--sh-m));
    padding: 0 calc(28 * var(--sh-m));
  }

  .sh-faq-compliance__irs-title {
    max-width: none;
    font-size: calc(28 * var(--sh-m));
    line-height: calc(34 * var(--sh-m));
  }

  .sh-faq-compliance__irs-body {
    margin-top: calc(16 * var(--sh-m));
    max-width: none;
    font-size: calc(15 * var(--sh-m));
    line-height: calc(26 * var(--sh-m));
  }

  .sh-faq-compliance__row {
    flex-direction: column;
    align-items: stretch;
    gap: calc(16 * var(--sh-m));
    width: 100%;
    max-width: none;
    margin-top: calc(28 * var(--sh-m));
    padding-left: 0;
  }

  .sh-faq-compliance__card,
  .sh-faq-compliance__partners,
  .sh-faq-compliance__logo-card {
    width: 100%;
    max-width: none;
    flex: none;
  }

  .sh-faq-compliance__card {
    min-height: 0;
    padding: calc(24 * var(--sh-m)) calc(20 * var(--sh-m));
  }

  .sh-faq-compliance__card-title {
    font-size: calc(28 * var(--sh-m));
    line-height: calc(34 * var(--sh-m));
  }

  .sh-faq-compliance__card-body {
    margin-top: calc(12 * var(--sh-m));
    max-width: none;
    font-size: calc(15 * var(--sh-m));
    line-height: calc(26 * var(--sh-m));
  }

  .sh-faq-compliance__partners {
    padding-left: 0;
    gap: calc(12 * var(--sh-m));
  }

  .sh-faq-compliance__logo-card {
    height: auto;
    min-height: calc(100 * var(--sh-m));
    padding: calc(28 * var(--sh-m)) calc(20 * var(--sh-m));
  }

  .sh-faq-compliance__logo--cs,
  .sh-faq-compliance__logo--zurich {
    position: relative;
    left: auto;
    top: auto;
    transform: none;
    display: block;
    margin: 0 auto;
    width: min(70%, calc(200 * var(--sh-m)));
    height: auto;
  }

  .sh-faq-compliance__am-badge,
  .sh-faq-compliance__gold-badge,
  .sh-faq-compliance__gold-badge-back-wrap,
  .sh-faq-compliance__logo-card--zurich::before {
    display: none;
  }

  .sh-faq-cost,
  .sh-faq-enrollment,
  .sh-faq-coverage,
  .sh-faq-coverage__grid {
    width: 100%;
    max-width: none;
    margin-top: calc(32 * var(--sh-m));
    padding-left: calc(28 * var(--sh-m));
    padding-right: calc(28 * var(--sh-m));
    grid-template-columns: 1fr;
    justify-content: stretch;
    gap: calc(16 * var(--sh-m));
  }

  .sh-faq-cost .sh-faq-card,
  .sh-faq-enrollment .sh-faq-card,
  .sh-faq-coverage__grid .sh-faq-card {
    width: 100%;
    max-width: none;
  }

  .sh-faq-enrollment .sh-faq-card:last-child .sh-faq-card__body {
    margin-top: calc(14 * var(--sh-m));
    max-width: none;
  }

  .sh-faq-coverage__vs-title {
    max-width: none;
    font-size: calc(28 * var(--sh-m));
    line-height: calc(34 * var(--sh-m));
  }

  .sh-faq-coverage__vs {
    flex-direction: column;
    align-items: stretch;
    gap: calc(16 * var(--sh-m));
    width: 100%;
    max-width: none;
    margin-top: calc(28 * var(--sh-m));
    box-sizing: border-box;
  }

  .sh-faq-coverage__panel,
  .sh-faq-coverage__panel--left,
  .sh-faq-coverage__panel--right {
    flex: 1 1 auto;
    width: 100%;
    max-width: none;
    min-height: 0;
    padding: calc(28 * var(--sh-m)) calc(22 * var(--sh-m));
    box-sizing: border-box;
  }

  .sh-faq-coverage__panel-label,
  .sh-faq-coverage__panel-body,
  .sh-faq-coverage__panel--left .sh-faq-coverage__panel-body,
  .sh-faq-coverage__panel--right .sh-faq-coverage__panel-body,
  .sh-faq-coverage__amount-note {
    max-width: none;
    width: 100%;
  }

  .sh-faq-coverage__panel-label {
    font-size: calc(22 * var(--sh-m));
    line-height: 1.25;
  }

  .sh-faq-coverage__panel-body {
    margin-top: calc(10 * var(--sh-m));
    font-size: calc(15 * var(--sh-m));
    line-height: calc(26 * var(--sh-m));
  }

  .sh-faq-coverage__amount {
    margin-top: calc(20 * var(--sh-m));
    font-size: calc(48 * var(--sh-m));
    line-height: 1.05;
  }

  .sh-faq-coverage__amount-note {
    margin-top: calc(12 * var(--sh-m));
    font-size: calc(14 * var(--sh-m));
    line-height: calc(22 * var(--sh-m));
    letter-spacing: 0.08em;
  }

  .sh-faq-coverage__vs-badge {
    position: relative;
    left: auto;
    top: auto;
    transform: none;
    width: calc(64 * var(--sh-m));
    height: calc(64 * var(--sh-m));
    margin: calc(-4 * var(--sh-m)) auto;
  }

  .sh-faq-coverage__vs-badge img {
    width: 100%;
    height: 100%;
  }

  .sh-faq-coverage__vs-badge span {
    font-size: calc(18 * var(--sh-m));
    line-height: 1;
  }

  .sh-faq-coverage__plus {
    display: none;
  }

  .sh-faq-coverage__vs-footer {
    margin-top: calc(24 * var(--sh-m));
    max-width: none;
    font-size: calc(14 * var(--sh-m));
    line-height: calc(24 * var(--sh-m));
    letter-spacing: 0.08em;
  }

  .sh-faq-started {
    width: 100%;
    max-width: none;
    min-height: 0;
    margin-top: calc(40 * var(--sh-m));
    padding: 0 calc(18 * var(--sh-m));
    display: flex;
    flex-direction: column;
  }

  .sh-faq-started__photo {
    order: -1;
    position: relative;
    left: auto;
    top: auto;
    width: 100%;
    height: auto;
    aspect-ratio: 964 / 900;
  }

  .sh-faq-started__photo img {
    width: 100%;
    height: 100%;
  }

  .sh-faq-started__panel {
    position: relative;
    left: auto;
    top: auto;
    width: 100%;
    max-width: none;
    min-height: 0;
    margin-top: 0;
    padding: calc(36 * var(--sh-m)) calc(22 * var(--sh-m));
    border-radius: 0 0 calc(28 * var(--sh-m)) 0;
  }

  .sh-faq-started__item + .sh-faq-started__item,
  .sh-faq-started__item:nth-child(3) {
    margin-top: calc(28 * var(--sh-m));
  }

  .sh-faq-started__title,
  .sh-faq-started__body,
  .sh-faq-started__item:nth-child(2) .sh-faq-started__title,
  .sh-faq-started__item:nth-child(3) .sh-faq-started__title,
  .sh-faq-started__item:nth-child(3) .sh-faq-started__body {
    max-width: none;
  }

  .sh-faq-started__title {
    font-size: calc(28 * var(--sh-m));
    line-height: calc(34 * var(--sh-m));
  }

  .sh-faq-started__body {
    margin-top: calc(12 * var(--sh-m));
    font-size: calc(15 * var(--sh-m));
    line-height: calc(26 * var(--sh-m));
  }

  .sh-faq-cta {
    width: 100%;
    max-width: none;
    margin-top: calc(40 * var(--sh-m));
    padding: 0 calc(18 * var(--sh-m)) calc(64 * var(--sh-m));
  }

  .sh-faq-cta__panel {
    flex-direction: column;
    width: 100%;
    max-width: none;
    min-height: 0;
    padding: calc(36 * var(--sh-m)) calc(22 * var(--sh-m));
    border-radius: calc(28 * var(--sh-m)) 0 calc(28 * var(--sh-m)) 0;
    box-sizing: border-box;
  }

  .sh-faq-cta__notch {
    width: calc(64 * var(--sh-m));
    height: calc(36 * var(--sh-m));
    top: calc(-12 * var(--sh-m));
  }

  .sh-faq-cta__media {
    order: -1;
    flex: none;
    width: min(100%, calc(260 * var(--sh-m)));
    height: auto;
    aspect-ratio: 1;
    margin: 0 auto calc(24 * var(--sh-m));
  }

  .sh-faq-cta__media > img {
    width: 100%;
    height: 100%;
  }

  .sh-faq-cta__copy {
    flex: none;
    width: 100%;
    max-width: none;
  }

  .sh-faq-cta__title {
    max-width: none;
    font-size: calc(28 * var(--sh-m));
    line-height: calc(34 * var(--sh-m));
  }

  .sh-faq-cta__body {
    margin-top: calc(14 * var(--sh-m));
    max-width: none;
    font-size: calc(15 * var(--sh-m));
    line-height: calc(26 * var(--sh-m));
  }

  .sh-faq-cta__btn {
    width: 100%;
    max-width: none;
    margin-top: calc(24 * var(--sh-m));
  }

  .sh-faq-cta__plus {
    display: none;
  }
}
