/* Full-article presentation renderer. Site identity comes from shared design tokens. */
html,
body.page-post--presentation {
  overflow-x: clip !important;
}

.pa-document {
  --pa-brand: var(--color-primary, var(--cms-color-primary, #276b5d));
  --pa-accent: var(--pa-brand);
  --pa-accent-soft: color-mix(in srgb, var(--pa-accent) 12%, #fff);
  --pa-ink: var(--color-text, var(--cms-color-text, #17211f));
  --pa-muted: var(--color-text-muted, var(--cms-color-muted, #64716d));
  --pa-line: color-mix(in srgb, var(--pa-ink) 14%, transparent);
  --pa-surface: var(--color-surface, #fff);
  --pa-surface-alt: var(--color-surface-alt, #f3f6f4);
  --pa-radius: var(--radius-lg, 24px);
  position: relative;
  color: var(--pa-ink);
  /*
   * The breadcrumb and the presentation are consecutive surfaces. Keep the
   * document transparent so both always inherit the exact same site canvas,
   * including project-specific palettes and future theme changes.
   */
  background: transparent;
  padding: clamp(1.25rem, 3vw, 3rem) clamp(1rem, 3vw, 2.5rem) 7rem;
}

.pa-progress {
  position: fixed;
  inset: 0 0 auto;
  z-index: 90;
  height: 3px;
  pointer-events: none;
}

.pa-progress span {
  display: block;
  width: 0;
  height: 100%;
  background: var(--pa-accent);
  transition: width 160ms ease;
}

.pa-layout {
  display: grid;
  grid-template-columns: minmax(230px, 290px) minmax(0, 960px);
  align-items: start;
  justify-content: center;
  gap: clamp(2rem, 4vw, 5rem);
  max-width: 1440px;
  margin: 0 auto;
}

.pa-nav {
  position: sticky;
  top: 6.5rem;
  max-height: calc(100vh - 8rem);
  overflow: auto;
  scrollbar-width: thin;
  scrollbar-color: color-mix(in srgb, var(--pa-accent) 42%, transparent) transparent;
  padding: .4rem .65rem 1rem .2rem;
}

.pa-nav__head {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 1rem;
  margin-bottom: .8rem;
  color: var(--pa-muted);
  font-size: .78rem;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.pa-nav__head strong { color: var(--pa-ink); }

.pa-nav__track {
  height: 2px;
  overflow: hidden;
  border-radius: 999px;
  background: var(--pa-line);
  margin-bottom: 1rem;
}

.pa-nav__track span {
  display: block;
  width: 0;
  height: 100%;
  background: var(--pa-accent);
  transition: width 160ms ease;
}

.pa-nav__modes {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: .35rem;
  margin-bottom: .9rem;
}

.pa-nav__modes button {
  min-height: 2.35rem;
  border: 1px solid var(--pa-line);
  border-radius: 10px;
  background: var(--pa-surface);
  color: var(--pa-muted);
  font: inherit;
  font-size: .74rem;
  font-weight: 750;
  cursor: pointer;
}

.pa-nav__modes button:hover,
.pa-nav__modes button:focus-visible,
.pa-nav__modes button.is-active {
  border-color: color-mix(in srgb, var(--pa-accent) 42%, var(--pa-line));
  background: var(--pa-accent-soft);
  color: var(--pa-ink);
}

.pa-nav nav {
  display: grid;
  gap: .2rem;
}

.pa-nav a {
  --pa-item-accent: var(--pa-brand);
  display: grid;
  grid-template-columns: 2.1rem 1fr;
  gap: .65rem;
  align-items: start;
  padding: .65rem .7rem;
  border-radius: 12px;
  color: var(--pa-muted);
  font-size: .88rem;
  line-height: 1.35;
  text-decoration: none;
  transition: color 160ms ease, background 160ms ease, transform 160ms ease;
}

.pa-nav a:hover,
.pa-nav a:focus-visible,
.pa-nav a.is-active {
  color: var(--pa-ink);
  background: color-mix(in srgb, var(--pa-item-accent) 12%, #fff);
}

.pa-nav a.is-active {
  box-shadow: inset 3px 0 0 var(--pa-item-accent);
  transform: translateX(.2rem);
}
.pa-nav a > span { color: var(--pa-item-accent); font-variant-numeric: tabular-nums; font-weight: 800; }

.pa-nav a[data-pa-role="answer"] { --pa-item-accent: #1599ad; }
.pa-nav a[data-pa-role="concept"] { --pa-item-accent: #3776d0; }
.pa-nav a[data-pa-role="comparison"] { --pa-item-accent: #7056c8; }
.pa-nav a[data-pa-role="scenario"],
.pa-nav a[data-pa-role="route_selector"] { --pa-item-accent: #c96d21; }
.pa-nav a[data-pa-role="evidence"] { --pa-item-accent: #c34361; }
.pa-nav a[data-pa-role="decision"] { --pa-item-accent: #21835f; }
.pa-nav a[data-pa-role="sources"],
.pa-nav a[data-pa-role="faq"] { --pa-item-accent: #4a67bd; }

.pa-nav__hint {
  margin: 1.1rem .7rem 0;
  color: var(--pa-muted);
  font-size: .72rem;
  line-height: 1.5;
}

.pa-nav__hint kbd {
  display: inline-grid;
  min-width: 1.45rem;
  height: 1.45rem;
  place-items: center;
  margin-right: .18rem;
  border: 1px solid var(--pa-line);
  border-radius: 6px;
  background: var(--pa-surface);
  color: var(--pa-ink);
  font: inherit;
  font-weight: 800;
}

.pa-stage {
  min-width: 0;
  display: grid;
  gap: clamp(4rem, 8vw, 8rem);
}

.pa-slide {
  --pa-role-accent: var(--pa-brand);
  --pa-accent: var(--pa-role-accent);
  --pa-accent-soft: color-mix(in srgb, var(--pa-role-accent) 12%, #fff);
  position: relative;
  min-width: 0;
  scroll-margin-top: 7rem;
  overflow: hidden;
  border: 1px solid color-mix(in srgb, var(--pa-role-accent) 28%, var(--pa-line));
  border-top: 5px solid var(--pa-role-accent);
  border-radius: var(--pa-radius);
  background:
    radial-gradient(circle at 96% 2%, color-mix(in srgb, var(--pa-role-accent) 13%, transparent), transparent 34%),
    linear-gradient(145deg, color-mix(in srgb, var(--pa-role-accent) 4%, var(--pa-surface)), var(--pa-surface) 48%);
  box-shadow: 0 24px 70px color-mix(in srgb, var(--pa-ink) 8%, transparent);
  padding: clamp(1.5rem, 4vw, 4rem);
}

.pa-slide[data-pa-role="answer"] { --pa-role-accent: #1599ad; }
.pa-slide[data-pa-role="concept"] { --pa-role-accent: #3776d0; }
.pa-slide[data-pa-role="comparison"] { --pa-role-accent: #7056c8; }
.pa-slide[data-pa-role="scenario"],
.pa-slide[data-pa-role="route_selector"] { --pa-role-accent: #c96d21; }
.pa-slide[data-pa-role="evidence"] { --pa-role-accent: #c34361; }
.pa-slide[data-pa-role="decision"] { --pa-role-accent: #21835f; }
.pa-slide[data-pa-role="sources"],
.pa-slide[data-pa-role="faq"] { --pa-role-accent: #4a67bd; }

.pa-document[data-presentation-mode="slide"] .pa-slide {
  min-height: min(760px, calc(100vh - 9rem));
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
}

.pa-slide__marker {
  display: grid;
  grid-template-columns: auto minmax(2rem, 1fr) auto;
  align-items: center;
  gap: .7rem;
  width: min(15rem, 46%);
  margin: 0 0 clamp(1.5rem, 3vw, 3rem);
  color: var(--pa-muted);
  font-size: .72rem;
  font-style: normal;
  font-variant-numeric: tabular-nums;
}

.pa-slide__marker i {
  height: 1px;
  background: var(--pa-line);
}

.pa-slide__marker em { font-style: normal; }

.pa-slide__eyebrow {
  width: fit-content;
  margin: 0 0 1rem;
  padding: .38rem .65rem;
  border: 1px solid color-mix(in srgb, var(--pa-accent) 25%, transparent);
  border-radius: 999px;
  background: var(--pa-accent-soft);
  color: var(--pa-accent);
  font-size: .78rem;
  font-weight: 750;
  letter-spacing: .1em;
  text-transform: uppercase;
}

.pa-slide h1,
.pa-slide h2 {
  max-width: 18ch;
  margin: 0;
  color: inherit;
  font-size: clamp(2rem, 4.4vw, 4.6rem);
  line-height: .98;
  letter-spacing: -.045em;
  text-wrap: balance;
}

.pa-slide h1 {
  max-width: 16ch;
}

.pa-slide__lead {
  max-width: 58ch;
  margin: 1.2rem 0 0;
  color: var(--pa-muted);
  font-size: clamp(1.05rem, 1.6vw, 1.35rem);
  line-height: 1.55;
}

.pa-slide__blocks {
  display: grid;
  gap: clamp(1.2rem, 2.5vw, 2.2rem);
  margin-top: clamp(1.6rem, 3vw, 3rem);
}

.pa-slide__continue {
  --pa-role-accent: var(--pa-brand);
  display: none;
  justify-content: center;
  margin: clamp(1rem, 2vw, 1.5rem) auto clamp(2.4rem, 5vw, 4.5rem);
  padding-inline: clamp(.25rem, 2vw, 1rem);
}

.pa-slide__continue[data-pa-role="answer"] { --pa-role-accent: #1599ad; }
.pa-slide__continue[data-pa-role="concept"] { --pa-role-accent: #3776d0; }
.pa-slide__continue[data-pa-role="comparison"] { --pa-role-accent: #7056c8; }
.pa-slide__continue[data-pa-role="scenario"],
.pa-slide__continue[data-pa-role="route_selector"] { --pa-role-accent: #c96d21; }
.pa-slide__continue[data-pa-role="evidence"] { --pa-role-accent: #c34361; }
.pa-slide__continue[data-pa-role="decision"] { --pa-role-accent: #21835f; }
.pa-slide__continue[data-pa-role="sources"],
.pa-slide__continue[data-pa-role="faq"] { --pa-role-accent: #4a67bd; }

.pa-document.is-enhanced[data-presentation-mode="slide"] .pa-slide__continue.is-current {
  display: flex;
}

.pa-slide__continue-link {
  display: flex;
  width: min(100%, 23rem);
  min-height: 4.6rem;
  align-items: center;
  justify-content: space-between;
  gap: 1.2rem;
  padding: .85rem 1rem .85rem 1.25rem;
  border: 2px solid color-mix(in srgb, var(--pa-role-accent) 82%, #fff);
  border-radius: 1.15rem;
  background: var(--pa-role-accent);
  color: #fff;
  box-shadow: 0 14px 32px color-mix(in srgb, var(--pa-role-accent) 32%, transparent);
  text-decoration: none;
  transition: transform .18s ease, box-shadow .18s ease, filter .18s ease;
}

.pa-slide__continue-link span {
  display: grid;
  gap: .1rem;
  text-align: left;
}

.pa-slide__continue-link small {
  color: inherit;
  font-size: .68rem;
  font-weight: 750;
  letter-spacing: .09em;
  opacity: .82;
  text-transform: uppercase;
}

.pa-slide__continue-link strong {
  color: inherit;
  font-size: 1.08rem;
  line-height: 1.15;
}

.pa-slide__continue-link b {
  display: grid;
  width: 2.7rem;
  height: 2.7rem;
  flex: 0 0 2.7rem;
  place-items: center;
  border-radius: 999px;
  background: color-mix(in srgb, #fff 18%, transparent);
  color: inherit;
  font-size: 1.25rem;
}

.pa-slide__continue-link:hover {
  filter: brightness(1.08);
  transform: translateY(-2px);
  box-shadow: 0 18px 38px color-mix(in srgb, var(--pa-role-accent) 40%, transparent);
}

.pa-slide__continue-link:focus-visible {
  outline: 4px solid color-mix(in srgb, var(--pa-role-accent) 32%, #fff);
  outline-offset: 4px;
}

.pa-rich-text {
  min-width: 0;
  max-width: 72ch;
  overflow-wrap: anywhere;
  font-size: clamp(1rem, 1.25vw, 1.12rem);
  line-height: 1.75;
}

.pa-rich-text > :first-child { margin-top: 0; }
.pa-rich-text > :last-child { margin-bottom: 0; }
.pa-rich-text h3,
.pa-rich-text h4 { margin: 1.6em 0 .6em; color: inherit; }
.pa-rich-text pre {
  box-sizing: border-box;
  width: 100%;
  max-width: 100%;
  overflow: auto;
  padding: 1rem;
  border-radius: 14px;
  background: #111b19;
  color: #e8f3ef;
  white-space: pre;
}

.pa-media {
  min-width: 0;
  margin: 0;
}

.pa-media img {
  display: block;
  width: 100%;
  height: auto;
  max-height: 620px;
  object-fit: cover;
  border-radius: calc(var(--pa-radius) * .72);
  background: var(--pa-surface-alt);
}

.pa-embed {
  position: relative;
  width: 100%;
  overflow: hidden;
  aspect-ratio: 16 / 9;
  border: 1px solid color-mix(in srgb, var(--pa-accent) 20%, var(--pa-line));
  border-radius: calc(var(--pa-radius) * .72);
  background: #10201d;
  box-shadow: 0 18px 45px rgba(17, 36, 32, .13);
}

.pa-embed--map { aspect-ratio: 16 / 10; background: var(--pa-surface-alt); }

.pa-embed iframe {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  border: 0;
}

.pa-embed__placeholder {
  position: absolute;
  inset: 0;
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: 1rem;
  align-content: center;
  align-items: start;
  padding: clamp(1.2rem, 4vw, 3rem);
  background:
    radial-gradient(circle at 80% 15%, color-mix(in srgb, var(--pa-accent) 28%, transparent), transparent 34%),
    linear-gradient(145deg, #10201d, #1d3933);
  color: #fff;
}

.pa-embed--map .pa-embed__placeholder {
  background:
    linear-gradient(90deg, rgba(255, 255, 255, .055) 1px, transparent 1px),
    linear-gradient(rgba(255, 255, 255, .055) 1px, transparent 1px),
    linear-gradient(145deg, #183832, #2c6257);
  background-size: 34px 34px, 34px 34px, auto;
}

.pa-embed__icon {
  display: grid;
  width: 3.4rem;
  height: 3.4rem;
  place-items: center;
  border: 1px solid rgba(255, 255, 255, .18);
  border-radius: 16px;
  background: rgba(255, 255, 255, .1);
}

.pa-embed__placeholder > div { display: grid; max-width: 55ch; gap: .45rem; }
.pa-embed__placeholder small {
  color: #9ee4d2;
  font-size: .7rem;
  font-weight: 850;
  letter-spacing: .09em;
  text-transform: uppercase;
}
.pa-embed__placeholder strong { font-size: clamp(1.05rem, 2vw, 1.45rem); line-height: 1.3; }
.pa-embed__placeholder p { margin: 0; color: rgba(255, 255, 255, .74); font-size: .84rem; }
.pa-embed__placeholder button { width: fit-content; margin-top: .4rem; }

.pa-media figcaption {
  display: flex;
  justify-content: space-between;
  gap: 1rem;
  margin-top: .7rem;
  color: var(--pa-muted);
  font-size: .78rem;
}

.pa-list {
  display: grid;
  gap: .8rem;
  margin: 0;
  padding: 0;
  list-style: none;
  counter-reset: pa-list;
}

.pa-list li {
  display: grid;
  gap: .25rem;
  padding: 1rem 1.1rem;
  border: 1px solid var(--pa-line);
  border-radius: 14px;
  background: color-mix(in srgb, var(--pa-surface) 92%, transparent);
}

.pa-icon {
  display: block;
  width: 1.35rem;
  height: 1.35rem;
}

.pa-list li.has-icon {
  grid-template-columns: 2.5rem minmax(0, 1fr);
  column-gap: .8rem;
  align-items: start;
}

.pa-list__icon {
  display: grid;
  width: 2.5rem;
  height: 2.5rem;
  grid-row: 1 / span 3;
  place-items: center;
  border-radius: 12px;
  background: var(--pa-accent-soft);
  color: var(--pa-accent);
}

.pa-list li.has-icon > strong,
.pa-list li.has-icon > span:not(.pa-list__icon) { grid-column: 2; }

.pa-list--ordered li {
  grid-template-columns: 2rem 1fr;
  counter-increment: pa-list;
}

.pa-list--ordered li::before {
  content: counter(pa-list, decimal-leading-zero);
  grid-row: 1 / span 2;
  color: var(--pa-accent);
  font-weight: 800;
}

.pa-list--cards {
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
}

.pa-list--cards li {
  min-height: 100%;
  padding: 1.15rem;
  border-color: color-mix(in srgb, var(--pa-accent) 18%, #dfe5e2);
  background: #fff;
  box-shadow: 0 10px 26px rgba(22, 41, 37, .05);
}

.pa-list--cards li > strong {
  color: #171a19;
  font-size: 1rem;
}

.pa-list--cards li > span:not(.pa-list__icon) {
  color: #56615d;
  line-height: 1.55;
}

.pa-list--cards .pa-list__icon {
  background: color-mix(in srgb, var(--pa-accent) 10%, #fff);
  color: var(--pa-accent);
}

.pa-slide--interactive .pa-list--cards {
  align-items: stretch;
}

.pa-slide--interactive .pa-list--cards li {
  position: relative;
  border-color: color-mix(in srgb, var(--pa-accent) 25%, var(--pa-line));
  background: color-mix(in srgb, var(--pa-accent) 5%, var(--pa-surface));
}

.pa-slide--interactive.is-interactive-ready .pa-list--cards li {
  min-height: 100%;
  cursor: pointer;
  transition: border-color 160ms ease, box-shadow 160ms ease, transform 160ms ease, background 160ms ease;
}

.pa-slide--interactive.is-interactive-ready .pa-list--cards li::after {
  content: "Choisir";
  align-self: end;
  width: fit-content;
  margin-top: .55rem;
  padding: .32rem .58rem;
  border-radius: 999px;
  background: color-mix(in srgb, var(--pa-accent) 12%, #fff);
  color: var(--pa-accent);
  font-size: .72rem;
  font-weight: 850;
}

.pa-slide--interactive.is-interactive-ready .pa-list--cards li:hover,
.pa-slide--interactive.is-interactive-ready .pa-list--cards li:focus-visible,
.pa-slide--interactive.is-interactive-ready .pa-list--cards li.is-selected {
  border-color: var(--pa-accent);
  background: color-mix(in srgb, var(--pa-accent) 11%, var(--pa-surface));
  box-shadow: 0 12px 28px color-mix(in srgb, var(--pa-accent) 16%, transparent);
  outline: none;
  transform: translateY(-3px);
}

.pa-slide--interactive.is-interactive-ready .pa-list--cards li.is-selected::after {
  content: "Sélectionné";
  background: var(--pa-accent);
  color: #fff;
}

.pa-choice-intro {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  padding: .9rem 1rem;
  border-radius: 14px;
  background: var(--pa-accent-soft);
}

.pa-choice-intro strong { color: var(--pa-accent); }
.pa-choice-intro span { color: var(--pa-muted); font-size: .82rem; }

.pa-choice-result {
  display: grid;
  gap: .45rem;
  padding: 1.15rem 1.25rem;
  border: 1px solid color-mix(in srgb, var(--pa-accent) 35%, transparent);
  border-radius: 16px;
  background: linear-gradient(135deg, color-mix(in srgb, var(--pa-accent) 15%, #fff), #fff);
}

.pa-choice-result[hidden] { display: none; }
.pa-choice-result > span {
  color: var(--pa-accent);
  font-size: .72rem;
  font-weight: 850;
  letter-spacing: .08em;
  text-transform: uppercase;
}
.pa-choice-result > strong { font-size: clamp(1.12rem, 2vw, 1.45rem); }
.pa-choice-result > p { margin: 0; color: var(--pa-muted); }
.pa-choice-result > a {
  width: fit-content;
  margin-top: .25rem;
  color: var(--pa-accent);
  font-size: .82rem;
  font-weight: 850;
  text-decoration: none;
}

.pa-list--checklist li {
  grid-template-columns: 1.5rem 1fr;
}

.pa-list--checklist li::before {
  content: "✓";
  grid-row: 1 / span 2;
  color: var(--pa-accent);
  font-weight: 900;
}

.pa-list li strong,
.pa-list li span { grid-column: auto; }

.pa-list--checklist li > strong,
.pa-list--checklist li > span {
  grid-column: 2;
}

.pa-table-wrap {
  max-width: 100%;
  overflow-x: auto;
  border: 1px solid var(--pa-line);
  border-radius: 16px;
}

.pa-table {
  width: 100%;
  border-collapse: collapse;
  background: var(--pa-surface);
}

.pa-table caption {
  padding: 1rem;
  color: var(--pa-muted);
  text-align: left;
  font-size: .82rem;
  font-weight: 700;
}

.pa-table th,
.pa-table td {
  padding: .9rem 1rem;
  border-top: 1px solid var(--pa-line);
  text-align: left;
  vertical-align: top;
}

.pa-table thead th {
  color: var(--pa-muted);
  font-size: .78rem;
  text-transform: uppercase;
  letter-spacing: .05em;
}

.pa-table__cell--with-icon {
  display: inline-grid;
  grid-template-columns: 1.75rem minmax(0, 1fr);
  gap: .55rem;
  align-items: center;
}

.pa-table__icon {
  display: grid;
  width: 1.75rem;
  height: 1.75rem;
  place-items: center;
  border-radius: 50%;
  background: var(--pa-accent-soft);
  color: var(--pa-accent-strong);
}

.pa-table__icon .pa-icon {
  width: 1rem;
  height: 1rem;
}

.pa-metrics {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
  gap: .8rem;
  margin: 0;
}

.pa-metrics > div {
  padding: 1.1rem;
  border-radius: 16px;
  background: var(--pa-accent-soft);
}

.pa-metrics[data-pa-metric-count="1"] > div {
  position: relative;
  overflow: hidden;
  padding: 1.3rem 1.4rem 1.25rem;
  border: 1px solid color-mix(in srgb, var(--pa-accent) 24%, var(--pa-line));
  background: var(--pa-surface);
  box-shadow: 0 12px 34px color-mix(in srgb, var(--pa-ink) 7%, transparent);
}

.pa-metrics[data-pa-metric-count="1"] > div::before {
  position: absolute;
  inset: 0 auto 0 0;
  width: 5px;
  background: var(--pa-accent);
  content: "";
}

.pa-metrics[data-pa-metric-count="1"] dt {
  color: var(--pa-ink);
  font-size: clamp(2.8rem, 5vw, 4.5rem);
  font-weight: 780;
  letter-spacing: -.055em;
}

.pa-metrics[data-pa-metric-count="1"] dd strong {
  color: var(--pa-accent);
}

.pa-metrics > div.has-icon {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: .35rem .75rem;
  align-items: center;
}

.pa-metrics__icon {
  display: grid;
  width: 2.55rem;
  height: 2.55rem;
  place-items: center;
  border-radius: 12px;
  background: color-mix(in srgb, var(--pa-accent) 14%, #fff);
  color: var(--pa-accent);
}

.pa-metrics > div.has-icon dt { font-size: clamp(1.8rem, 3vw, 3rem); }
.pa-metrics > div.has-icon dd { grid-column: 1 / -1; }

.pa-metrics dt {
  color: var(--pa-accent);
  font-size: clamp(2rem, 4vw, 3.8rem);
  font-weight: 850;
  line-height: 1;
}

.pa-metrics dt.pa-metric-value--long,
.pa-metrics[data-pa-metric-count="1"] dt.pa-metric-value--long {
  font-size: clamp(1.65rem, 3.2vw, 2.8rem);
  line-height: 1.08;
}

.pa-metrics dt.pa-metric-value--very-long,
.pa-metrics[data-pa-metric-count="1"] dt.pa-metric-value--very-long {
  font-size: clamp(1.35rem, 2.6vw, 2.2rem);
  line-height: 1.12;
}

.pa-metrics dd {
  display: grid;
  gap: .3rem;
  margin: .7rem 0 0;
}

.pa-metrics dd span { color: var(--pa-muted); font-size: .82rem; }

.pa-quote {
  margin: 0;
  padding: 1.3rem 1.5rem;
  border-left: 4px solid var(--pa-accent);
  background: var(--pa-accent-soft);
}

.pa-quote p { margin: 0; font-size: 1.15rem; }
.pa-quote cite { display: block; margin-top: .7rem; color: var(--pa-muted); font-size: .82rem; }

.pa-code { min-width: 0; margin: 0; }
.pa-code figcaption { margin-bottom: .5rem; color: var(--pa-muted); font-size: .8rem; }
.pa-code pre { max-width: 100%; overflow: auto; margin: 0; padding: 1.2rem; border-radius: 14px; background: #111b19; color: #e8f3ef; }

.pa-callout {
  padding: 1.2rem 1.3rem;
  border: 1px solid var(--pa-line);
  border-left: 5px solid var(--pa-accent);
  border-radius: 14px;
  background: var(--pa-accent-soft);
}

.pa-callout p { margin: .45rem 0 0; }
.pa-callout--warning { --pa-accent: #b96a18; }
.pa-callout--success { --pa-accent: #237a55; }

.pa-component,
.pa-component-box { min-width: 0; }

.pa-component-box {
  padding: clamp(1rem, 2.4vw, 1.5rem);
  border: 1px solid var(--pa-line);
  border-radius: 18px;
  background: var(--pa-surface-alt);
}

.pa-component-box > h3,
.pa-faq > .cms-content-faq__eyebrow {
  display: block;
  margin: 0 0 .75rem;
  color: var(--pa-ink);
  font-size: clamp(1.05rem, 2vw, 1.35rem);
  font-weight: 800;
}

.pa-component-intro { margin: 0 0 1rem; color: var(--pa-muted); }

.pa-component-list,
.pa-component-sources,
.pa-component-timeline {
  display: grid;
  gap: .7rem;
  margin: 0;
  padding: 0;
  list-style: none;
}

.pa-component-list li {
  display: grid;
  grid-template-columns: 1.25rem minmax(0, 1fr);
  gap: .2rem .65rem;
  align-items: start;
}

.pa-component-list li::before {
  content: "✓";
  grid-row: 1 / span 2;
  color: var(--pa-accent);
  font-weight: 900;
}

.pa-component-list li strong,
.pa-component-list li span { grid-column: 2; }

.pa-component-box--checklist .pa-component-list li[role="checkbox"] {
  cursor: pointer;
  border-radius: 10px;
  padding: .45rem .55rem;
  transition: background 150ms ease, color 150ms ease, opacity 150ms ease;
}

.pa-component-box--checklist .pa-component-list li[role="checkbox"]::before {
  display: grid;
  width: 1.2rem;
  height: 1.2rem;
  place-items: center;
  box-sizing: border-box;
  content: "";
  border: 2px solid color-mix(in srgb, var(--pa-accent) 55%, #fff);
  border-radius: 50%;
  background: #fff;
  color: #fff;
  font-size: .72rem;
}

.pa-component-box--checklist .pa-component-list li[role="checkbox"]:hover,
.pa-component-box--checklist .pa-component-list li[role="checkbox"]:focus-visible {
  background: var(--pa-accent-soft);
  outline: 2px solid color-mix(in srgb, var(--pa-accent) 35%, transparent);
  outline-offset: 1px;
}

.pa-component-box--checklist .pa-component-list li[role="checkbox"].is-checked {
  background: color-mix(in srgb, var(--pa-accent) 9%, #fff);
  color: color-mix(in srgb, var(--pa-ink) 68%, #fff);
}

.pa-component-box--checklist .pa-component-list li[role="checkbox"].is-checked::before {
  content: "✓";
  border-color: var(--pa-accent);
  background: var(--pa-accent);
}

.pa-checklist-status {
  display: grid;
  grid-template-columns: 1fr auto;
  gap: .55rem 1rem;
  align-items: center;
  margin: 1rem 0 0;
  padding-top: 1rem;
  border-top: 1px solid var(--pa-line);
}

.pa-checklist-status > span {
  color: var(--pa-muted);
  font-size: .78rem;
  font-weight: 750;
}

.pa-checklist-status > button {
  border: 0;
  background: transparent;
  color: var(--pa-accent);
  font: inherit;
  font-size: .74rem;
  font-weight: 800;
  cursor: pointer;
}

.pa-checklist-status__track {
  grid-column: 1 / -1;
  height: 6px;
  overflow: hidden;
  border-radius: 999px;
  background: color-mix(in srgb, var(--pa-ink) 10%, #fff);
}

.pa-checklist-status__track i {
  display: block;
  width: 0;
  height: 100%;
  border-radius: inherit;
  background: var(--pa-accent);
  transition: width 160ms ease;
}

.pa-component-grid,
.pa-component-story {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(210px, 1fr));
  gap: .8rem;
}

:is(.pa-list--cards, .pa-component-grid, .pa-component-story, .pa-detail-grid)[data-pa-card-count="1"] {
  grid-template-columns: minmax(0, 1fr);
}

:is(.pa-list--cards, .pa-component-grid, .pa-component-story, .pa-detail-grid)[data-pa-card-count="2"],
:is(.pa-list--cards, .pa-component-grid, .pa-component-story, .pa-detail-grid)[data-pa-card-count="4"],
:is(.pa-list--cards, .pa-component-grid, .pa-component-story, .pa-detail-grid)[data-pa-card-count="6"] {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

:is(.pa-list--cards, .pa-component-grid, .pa-component-story, .pa-detail-grid)[data-pa-card-count="3"] {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

:is(.pa-list--cards, .pa-component-grid, .pa-component-story, .pa-detail-grid)[data-pa-card-count="5"] {
  grid-template-columns: repeat(6, minmax(0, 1fr));
}

:is(.pa-list--cards, .pa-component-grid, .pa-component-story, .pa-detail-grid)[data-pa-card-count="5"] > * {
  grid-column: span 2;
}

:is(.pa-list--cards, .pa-component-grid, .pa-component-story, .pa-detail-grid)[data-pa-card-count="5"] > :nth-last-child(-n + 2) {
  grid-column: span 3;
}

.pa-component-grid article,
.pa-component-story article {
  min-width: 0;
  padding: 1rem;
  border: 1px solid var(--pa-line);
  border-radius: 14px;
  background: var(--pa-surface);
}

.pa-component-grid article > span,
.pa-component-story article > span {
  display: block;
  margin-bottom: .55rem;
  color: var(--pa-accent);
  font-size: .74rem;
  font-weight: 850;
  letter-spacing: .06em;
  text-transform: uppercase;
}

.pa-component-grid h4,
.pa-component-story h4,
.pa-component-timeline h4 { margin: 0; color: var(--pa-ink); }

.pa-component-grid p,
.pa-component-story p,
.pa-component-timeline p { margin: .45rem 0 0; color: var(--pa-muted); }

.pa-component-story img {
  display: block;
  width: calc(100% + 2rem);
  max-width: none;
  aspect-ratio: 16 / 9;
  margin: -1rem -1rem .9rem;
  border-radius: 13px 13px 0 0;
  object-fit: cover;
}

.pa-component-box--story[data-pa-story-style="immersive"] {
  padding: 0;
  border: 0;
  background: transparent;
  box-shadow: none;
}

.pa-component-box--story[data-pa-story-style="immersive"] > h3,
.pa-component-box--story[data-pa-story-style="immersive"] > .pa-component-intro {
  padding-inline: .15rem;
}

.pa-component-box--story[data-pa-story-style="immersive"] .pa-component-story {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.pa-component-box--story[data-pa-story-style="immersive"] .pa-component-story article {
  position: relative;
  display: flex;
  min-height: 330px;
  overflow: hidden;
  flex-direction: column;
  justify-content: flex-end;
  padding: 1.2rem;
  border: 0;
  border-radius: 20px;
  background: #17372f;
  box-shadow: 0 18px 42px rgba(13, 32, 28, .16);
  isolation: isolate;
}

.pa-component-box--story[data-pa-story-style="immersive"] .pa-component-story article::after {
  position: absolute;
  z-index: -1;
  inset: 0;
  content: "";
  background: linear-gradient(180deg, rgba(7, 19, 17, .02) 20%, rgba(7, 19, 17, .9) 94%);
}

.pa-component-box--story[data-pa-story-style="immersive"] .pa-component-story img {
  position: absolute;
  z-index: -2;
  inset: 0;
  width: 100%;
  height: 100%;
  margin: 0;
  border-radius: inherit;
}

.pa-component-box--story[data-pa-story-style="immersive"] .pa-component-story article > span {
  width: fit-content;
  margin: 0 0 .55rem;
  padding: .28rem .52rem;
  border-radius: 999px;
  background: rgba(255, 255, 255, .15);
  color: #fff;
  backdrop-filter: blur(8px);
}

.pa-component-box--story[data-pa-story-style="immersive"] .pa-component-story h4 {
  color: #fff;
  font-size: clamp(1.05rem, 1.8vw, 1.35rem);
}

.pa-component-box--story[data-pa-story-style="immersive"] .pa-component-story p {
  color: rgba(255, 255, 255, .84);
  line-height: 1.55;
}

.pa-component-box--story[data-pa-story-style="horizontal"] .pa-component-story {
  grid-template-columns: minmax(0, 1fr);
}

.pa-component-box--story[data-pa-story-style="horizontal"] .pa-component-story[data-pa-card-count] > * {
  grid-column: auto !important;
}

.pa-component-box--story[data-pa-story-style="horizontal"] .pa-component-story article {
  display: grid;
  min-height: 230px;
  overflow: hidden;
  grid-template-columns: minmax(260px, 38%) minmax(0, 1fr);
  grid-template-rows: auto auto 1fr;
  gap: 0;
  padding: 0;
  border-radius: 18px;
  background: #fff;
  box-shadow: 0 12px 30px rgba(22, 41, 37, .06);
}

.pa-component-box--story[data-pa-story-style="horizontal"] .pa-component-story img {
  width: 100%;
  height: 100%;
  min-height: 230px;
  aspect-ratio: 4 / 3;
  grid-column: 1;
  grid-row: 1 / 4;
  margin: 0;
  border-radius: 17px 0 0 17px;
  object-fit: cover;
}

.pa-component-box--story[data-pa-story-style="horizontal"] .pa-component-story article > span,
.pa-component-box--story[data-pa-story-style="horizontal"] .pa-component-story h4,
.pa-component-box--story[data-pa-story-style="horizontal"] .pa-component-story p {
  grid-column: 2;
  margin-right: clamp(1rem, 3vw, 2rem);
  margin-left: clamp(1rem, 3vw, 2rem);
}

.pa-component-box--story[data-pa-story-style="horizontal"] .pa-component-story article > span {
  align-self: end;
  margin-top: clamp(1rem, 3vw, 1.6rem);
  margin-bottom: .55rem;
}

.pa-component-box--story[data-pa-story-style="horizontal"] .pa-component-story h4 {
  font-size: clamp(1.15rem, 2vw, 1.45rem);
}

.pa-component-box--story[data-pa-story-style="horizontal"] .pa-component-story p {
  margin-top: .55rem;
  margin-bottom: clamp(1rem, 3vw, 1.6rem);
  line-height: 1.55;
}

.pa-component-timeline { counter-reset: none; }

.pa-component-timeline li {
  display: grid;
  grid-template-columns: 2.4rem minmax(0, 1fr);
  gap: .8rem;
  align-items: start;
}

.pa-component-timeline li > span {
  display: grid;
  width: 2.4rem;
  height: 2.4rem;
  place-items: center;
  border-radius: 50%;
  background: var(--pa-accent-soft);
  color: var(--pa-accent);
  font-weight: 850;
}

.pa-component-timeline small { display: block; margin-top: .35rem; color: var(--pa-muted); }

.pa-component-sources li {
  display: flex;
  justify-content: space-between;
  gap: 1rem;
  align-items: start;
  padding: .85rem 0;
  border-top: 1px solid var(--pa-line);
}

.pa-component-sources p { margin: .3rem 0 0; color: var(--pa-muted); }
.pa-component-sources a { color: var(--pa-accent); font-weight: 750; white-space: nowrap; }

.pa-component-box--annotated-map {
  border-color: color-mix(in srgb, var(--pa-accent) 28%, var(--pa-line));
  background: linear-gradient(145deg, color-mix(in srgb, var(--pa-accent) 5%, #fff), #fff);
}

.pa-annotated-map__layout {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 1rem;
  align-items: start;
}

.pa-annotated-map__figure { min-width: 0; margin: 0; }

.pa-annotated-map__canvas {
  position: relative;
  overflow: hidden;
  border: 1px solid color-mix(in srgb, var(--pa-accent) 24%, var(--pa-line));
  border-radius: 16px;
  background: var(--pa-surface-alt);
  box-shadow: 0 16px 38px rgba(17, 36, 32, .1);
  aspect-ratio: 14 / 9;
}

.pa-annotated-map__canvas > img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.pa-annotated-map__marker {
  position: absolute;
  z-index: 2;
  top: var(--pa-map-y);
  left: var(--pa-map-x);
  display: grid;
  width: 2.35rem;
  height: 2.35rem;
  place-items: center;
  padding: 0;
  border: 3px solid #fff;
  border-radius: 50% 50% 50% 12%;
  background: #266bd0;
  color: #fff;
  box-shadow: 0 8px 22px rgba(9, 31, 27, .32);
  font: inherit;
  font-size: .78rem;
  font-weight: 900;
  cursor: pointer;
  transform: translate(-50%, -85%) rotate(-45deg);
  transition: transform 150ms ease, box-shadow 150ms ease, background 150ms ease;
}

.pa-annotated-map__marker > span { transform: rotate(45deg); }
.pa-annotated-map__marker:nth-of-type(2) { background: #1599ad; }
.pa-annotated-map__marker:nth-of-type(3) { background: #c96d21; }
.pa-annotated-map__marker:nth-of-type(4) { background: #7056c8; }
.pa-annotated-map__marker:nth-of-type(5) { background: #c34361; }

.pa-annotated-map__marker:hover,
.pa-annotated-map__marker:focus-visible,
.pa-annotated-map__marker.is-active {
  z-index: 4;
  outline: none;
  box-shadow: 0 0 0 5px color-mix(in srgb, var(--pa-accent) 22%, transparent), 0 12px 28px rgba(9, 31, 27, .38);
  transform: translate(-50%, -85%) rotate(-45deg) scale(1.12);
}

.pa-annotated-map__marker::after {
  position: absolute;
  bottom: 2.8rem;
  left: 50%;
  width: max-content;
  max-width: 13rem;
  padding: .4rem .55rem;
  border: 1px solid var(--pa-line);
  border-radius: 8px;
  background: #fff;
  color: var(--pa-ink);
  box-shadow: 0 8px 22px rgba(9, 31, 27, .18);
  content: attr(data-label);
  font-size: .68rem;
  line-height: 1.25;
  opacity: 0;
  pointer-events: none;
  transform: translateX(-50%) rotate(45deg) translateY(.25rem);
  transition: opacity 150ms ease, transform 150ms ease;
}

.pa-annotated-map__marker:hover::after,
.pa-annotated-map__marker:focus-visible::after {
  opacity: 1;
  transform: translateX(-50%) rotate(45deg) translateY(0);
}

.pa-annotated-map__figure figcaption {
  margin-top: .55rem;
  color: var(--pa-muted);
  font-size: .72rem;
}

.pa-annotated-map__points {
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: .55rem;
  align-content: start;
}

.pa-annotated-map__points[data-pa-card-count="1"] .pa-annotated-map__point { grid-column: span 6; }
.pa-annotated-map__points[data-pa-card-count="2"] .pa-annotated-map__point,
.pa-annotated-map__points[data-pa-card-count="4"] .pa-annotated-map__point { grid-column: span 3; }
.pa-annotated-map__points[data-pa-card-count="5"] .pa-annotated-map__point:nth-child(n + 4) { grid-column: span 3; }

.pa-annotated-map__point {
  display: grid;
  grid-template-columns: 2.35rem minmax(0, 1fr);
  grid-column: span 2;
  gap: .7rem;
  width: 100%;
  padding: .8rem;
  border: 1px solid var(--pa-line);
  border-radius: 13px;
  background: var(--pa-surface);
  color: var(--pa-ink);
  font: inherit;
  text-align: left;
  cursor: pointer;
  transition: border-color 150ms ease, background 150ms ease, transform 150ms ease;
}

.pa-annotated-map__point:hover,
.pa-annotated-map__point:focus-visible,
.pa-annotated-map__point.is-active {
  border-color: color-mix(in srgb, var(--pa-accent) 48%, var(--pa-line));
  outline: none;
  background: var(--pa-accent-soft);
  transform: translateX(.18rem);
}

.pa-annotated-map__point-icon {
  display: grid;
  width: 2.35rem;
  height: 2.35rem;
  place-items: center;
  border-radius: 11px;
  background: #fff;
  color: var(--pa-accent);
}

.pa-annotated-map__point-icon .pa-icon { width: 1.2rem; height: 1.2rem; }
.pa-annotated-map__point-copy { display: grid; gap: .18rem; }
.pa-annotated-map__point-copy small { color: var(--pa-accent); font-size: .66rem; font-weight: 850; letter-spacing: .07em; text-transform: uppercase; }
.pa-annotated-map__point-copy strong { font-size: .9rem; line-height: 1.25; }
.pa-annotated-map__point-copy > span { color: var(--pa-muted); font-size: .75rem; line-height: 1.45; }

.pa-component-box--details {
  border-color: color-mix(in srgb, var(--pa-accent) 24%, var(--pa-line));
  background: linear-gradient(145deg, color-mix(in srgb, var(--pa-accent) 6%, #fff), #fff);
}

.pa-detail-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(230px, 1fr));
  gap: .9rem;
}

.pa-detail-card {
  min-width: 0;
  border: 1px solid var(--pa-line);
  border-radius: 17px;
  background: var(--pa-surface);
  box-shadow: 0 10px 30px rgba(22, 41, 37, .06);
}

.pa-detail-card > summary {
  display: grid;
  gap: .9rem;
  min-height: 100%;
  align-items: start;
  padding: 1.1rem;
  list-style: none;
  cursor: pointer;
}

.pa-detail-card__image {
  display: block;
  width: calc(100% + 2.2rem);
  max-width: none;
  aspect-ratio: 4 / 3;
  margin: -1.1rem -1.1rem .15rem;
  border-radius: 16px 16px 0 0;
  object-fit: cover;
}

.pa-detail-card > summary::-webkit-details-marker { display: none; }
.pa-detail-card__icon {
  display: grid;
  width: 3rem;
  height: 3rem;
  place-items: center;
  border-radius: 14px;
  background: var(--pa-accent-soft);
  color: var(--pa-accent);
}
.pa-detail-card__icon .pa-icon { width: 1.45rem; height: 1.45rem; }

.pa-detail-card__heading {
  display: grid;
  grid-template-columns: 3rem minmax(0, 1fr);
  gap: .9rem;
  align-items: center;
}

.pa-detail-card__heading > strong {
  color: var(--pa-ink);
  font-size: 1.08rem;
  line-height: 1.25;
}

.pa-detail-card__copy {
  display: grid;
  gap: .45rem;
  width: 100%;
}

.pa-detail-card__copy small,
.pa-detail-card__detail header small {
  color: var(--pa-accent);
  font-size: .7rem;
  font-weight: 850;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.pa-detail-card__copy > span {
  color: var(--pa-muted);
  font-size: .88rem;
  line-height: 1.55;
}

.pa-detail-card__copy > em {
  width: fit-content;
  margin-top: .25rem;
  color: var(--pa-accent);
  font-size: .76rem;
  font-style: normal;
  font-weight: 850;
}

.pa-detail-card__detail {
  padding: 0 1.1rem 1.2rem;
  border-top: 1px solid var(--pa-line);
}

.pa-detail-card__detail > header {
  display: flex;
  gap: .9rem;
  align-items: center;
  padding: 1.1rem 0;
}

.pa-detail-card__detail h4 {
  margin: .18rem 0 0;
  color: var(--pa-ink);
  font-size: clamp(1.35rem, 2.5vw, 2rem);
}

.pa-detail-card__detail header button {
  display: grid;
  width: 2.6rem;
  height: 2.6rem;
  margin-left: auto;
  place-items: center;
  border: 1px solid var(--pa-line);
  border-radius: 50%;
  background: var(--pa-surface);
  color: var(--pa-ink);
  font: inherit;
  font-size: 1.5rem;
  cursor: pointer;
}

.pa-detail-card__summary {
  margin: 0;
  padding: 1rem;
  border-radius: 14px;
  background: var(--pa-accent-soft);
  color: var(--pa-ink);
  font-weight: 700;
}

.pa-detail-card__sections {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: .9rem;
  margin-top: 1rem;
}

.pa-detail-card__sections section {
  padding: 1rem;
  border: 1px solid var(--pa-line);
  border-radius: 14px;
  background: var(--pa-surface-alt);
}

.pa-detail-card__sections h5 { margin: 0; color: var(--pa-ink); font-size: 1rem; }
.pa-detail-card__sections p { margin: .45rem 0 0; color: var(--pa-muted); line-height: 1.6; }
.pa-detail-card__sections ul { margin: .7rem 0 0; padding-left: 1.15rem; color: var(--pa-ink); }
.pa-detail-card__sections li + li { margin-top: .35rem; }
.pa-detail-card__sections section:last-child:nth-child(odd) { grid-column: 1 / -1; }

.pa-detail-card.is-modal-ready > summary {
  transition: border-color 160ms ease, box-shadow 160ms ease, transform 160ms ease;
}

.pa-detail-card.is-modal-ready > summary:hover,
.pa-detail-card.is-modal-ready > summary:focus-visible {
  border-radius: inherit;
  outline: none;
  box-shadow: 0 16px 38px color-mix(in srgb, var(--pa-accent) 16%, transparent);
  transform: translateY(-2px);
}

.pa-detail-card__backdrop { display: none; }

.pa-detail-card.is-modal-open > .pa-detail-card__backdrop {
  position: fixed;
  z-index: 9998;
  inset: 0;
  display: block;
  width: 100%;
  height: 100%;
  border: 0;
  background: rgba(8, 20, 18, .72);
  backdrop-filter: blur(5px);
  cursor: zoom-out;
}

.pa-detail-card.is-modal-open > .pa-detail-card__detail {
  position: fixed;
  z-index: 9999;
  top: 50%;
  left: 50%;
  width: min(820px, calc(100vw - 2rem));
  max-height: min(86vh, 780px);
  overflow: auto;
  padding: 0 1.4rem 1.4rem;
  border: 1px solid color-mix(in srgb, var(--pa-accent) 30%, var(--pa-line));
  border-radius: 22px;
  background: var(--pa-surface);
  box-shadow: 0 35px 90px rgba(5, 18, 15, .32);
  transform: translate(-50%, -50%);
}

body.pa-modal-lock { overflow: hidden; }

.pa-product-selector {
  display: grid;
  gap: 1.15rem;
}

.pa-product-selector__head {
  display: grid;
  gap: .4rem;
}

.pa-product-selector__head > span {
  color: var(--pa-accent);
  font-size: .72rem;
  font-weight: 850;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.pa-product-selector__head h3,
.pa-product-selector__head p { margin: 0; }
.pa-product-selector__head h3 { color: var(--pa-ink); font-size: clamp(1.45rem, 3vw, 2.15rem); }
.pa-product-selector__head p { max-width: 780px; color: var(--pa-muted); line-height: 1.6; }

.pa-product-selector__form {
  display: grid;
  gap: 1rem;
  padding: 0;
  border: 0;
  background: transparent;
}

.pa-product-selector__fields {
  display: grid;
  grid-template-columns: 1fr;
  gap: .65rem;
}

.pa-product-selector fieldset {
  display: grid;
  grid-template-columns: minmax(210px, .85fr) minmax(0, 1.45fr);
  gap: 1rem;
  align-items: center;
  min-width: 0;
  margin: 0;
  padding: .75rem;
  border: 1px solid color-mix(in srgb, var(--pa-accent) 16%, var(--pa-line));
  border-radius: 16px;
  background: #fff;
  box-shadow: 0 8px 24px rgba(22, 41, 37, .04);
}

.pa-visually-hidden {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
  white-space: nowrap !important;
}

.pa-product-selector__question {
  display: grid;
  grid-template-columns: auto auto minmax(0, 1fr);
  gap: .55rem;
  align-items: center;
  color: var(--pa-ink);
}

.pa-product-selector__question > span {
  color: var(--pa-accent);
  font-size: .72rem;
  font-weight: 850;
}

.pa-product-selector__question > i {
  display: grid;
  width: 2.35rem;
  height: 2.35rem;
  place-items: center;
  border-radius: 11px;
  background: color-mix(in srgb, var(--pa-accent) 9%, #fff);
  color: var(--pa-accent);
  font-style: normal;
}

.pa-product-selector__question > i .pa-icon {
  width: 1.15rem;
  height: 1.15rem;
}

.pa-product-selector__question > strong {
  font-size: .88rem;
  line-height: 1.3;
}

.pa-product-selector__choices {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(125px, 1fr));
  gap: .4rem;
}

.pa-product-selector__choices label {
  position: relative;
  min-width: 0;
  cursor: pointer;
}

.pa-product-selector__choices input {
  position: absolute;
  width: 1px;
  height: 1px;
  opacity: 0;
}

.pa-product-selector__choices label span {
  display: grid;
  min-height: 42px;
  place-items: center;
  padding: .48rem .6rem;
  border: 1px solid var(--pa-line);
  border-radius: 11px;
  background: #f7f9f8;
  color: var(--pa-muted);
  font-size: .75rem;
  font-weight: 750;
  line-height: 1.25;
  text-align: center;
  transition: border-color 150ms ease, background 150ms ease, color 150ms ease;
}

.pa-product-selector__choices input:checked + span {
  border-color: var(--pa-accent);
  background: color-mix(in srgb, var(--pa-accent) 12%, #fff);
  color: color-mix(in srgb, var(--pa-accent) 88%, #10241f);
  box-shadow: inset 0 0 0 1px var(--pa-accent);
}

.pa-product-selector__choices input:focus-visible + span {
  outline: 3px solid color-mix(in srgb, var(--pa-accent) 30%, transparent);
  outline-offset: 2px;
}

.pa-product-selector__submit {
  width: fit-content;
  justify-self: end;
  min-height: 44px;
  padding: .72rem 1rem;
  border: 0;
  border-radius: 12px;
  background: var(--pa-accent);
  color: #fff;
  font: inherit;
  font-size: .85rem;
  font-weight: 850;
  cursor: pointer;
}

.pa-product-selector__status {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: .7rem 1rem;
  align-items: center;
  padding: 1rem 1.1rem;
  border-radius: 14px;
  background: var(--pa-accent-soft);
}

.pa-product-selector__status > div { display: grid; gap: .25rem; }
.pa-product-selector__status strong { color: var(--pa-accent); }
.pa-product-selector__status span { color: var(--pa-ink); font-size: .84rem; font-weight: 700; line-height: 1.45; }
.pa-product-selector__status em {
  max-width: 15rem;
  color: var(--pa-muted);
  font-size: .76rem;
  font-style: normal;
  line-height: 1.45;
  text-align: right;
}

.pa-product-selector__products .cms-aff-product-grid__head { display: none; }
.pa-product-selector__products .cms-aff-product-grid__cards {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  align-items: stretch;
}
.pa-product-selector__products .cms-aff-product-grid__card {
  position: relative;
  cursor: pointer;
  transition: border-color 160ms ease, box-shadow 160ms ease, opacity 160ms ease, transform 160ms ease;
}
.pa-product-selector__products .cms-aff-product-grid__card:hover,
.pa-product-selector__products .cms-aff-product-grid__card:focus-within {
  border-color: color-mix(in srgb, var(--pa-accent) 58%, var(--pa-line));
  box-shadow: 0 14px 34px color-mix(in srgb, var(--pa-ink) 13%, transparent);
  transform: translateY(-2px);
}
.pa-product-selector__products .cms-aff-product-grid__card:focus-within {
  outline: 3px solid color-mix(in srgb, var(--pa-accent) 34%, transparent);
  outline-offset: 3px;
}
.pa-product-selector__products .cms-aff-product-grid__cta::after {
  position: absolute;
  z-index: 2;
  inset: 0;
  content: "";
}
.pa-product-selector__products .cms-aff-product-grid__card[hidden] { display: none !important; }
.pa-product-selector__products .cms-aff-product-grid__card.is-pa-ranked { border-color: color-mix(in srgb, var(--pa-accent) 42%, var(--pa-line)); }
.pa-product-selector__products .cms-aff-product-grid__body { display: flex; }

.pa-diagnostic-selector {
  display: grid;
  gap: 22px;
}
.pa-diagnostic-selector__head {
  display: grid;
  gap: 7px;
}
.pa-diagnostic-selector__eyebrow {
  margin: 0;
  color: var(--pa-accent);
  font-size: .72rem;
  font-weight: 900;
  letter-spacing: .09em;
  text-transform: uppercase;
}
.pa-diagnostic-selector__head h3,
.pa-diagnostic-selector__head p { margin: 0; }
.pa-diagnostic-selector__head h3 {
  color: var(--pa-ink);
  font-size: clamp(1.25rem, 2vw, 1.75rem);
}
.pa-diagnostic-selector__head > p:last-child { color: var(--pa-muted); }
.pa-diagnostic-selector__fields {
  display: grid;
  gap: 12px;
}
.pa-diagnostic-selector fieldset {
  display: grid;
  grid-template-columns: minmax(220px, .8fr) minmax(0, 1.5fr);
  gap: 18px;
  align-items: center;
  margin: 0;
  padding: 14px 16px;
  border: 1px solid var(--pa-line);
  border-radius: 16px;
  background: #fff;
}
.pa-diagnostic-selector legend {
  display: grid;
  grid-template-columns: 38px minmax(0, 1fr);
  gap: 2px 10px;
  align-items: center;
}
.pa-diagnostic-selector legend > span {
  display: grid;
  grid-row: 1 / span 2;
  width: 38px;
  height: 38px;
  place-items: center;
  border-radius: 11px;
  background: color-mix(in srgb, var(--pa-accent) 11%, white);
  color: var(--pa-accent);
}
.pa-diagnostic-selector legend > span .pa-icon {
  width: 20px;
  height: 20px;
}
.pa-diagnostic-selector legend small {
  display: block;
  margin: 0;
  color: var(--pa-accent);
  font-size: .65rem;
  font-weight: 900;
  letter-spacing: .08em;
  line-height: 1;
  text-transform: uppercase;
}
.pa-diagnostic-selector legend strong {
  display: block;
  min-height: 0;
  padding: 0;
  color: var(--pa-ink);
  line-height: 1.25;
}
.pa-diagnostic-selector__choices {
  display: grid;
  grid-column: 1 / -1;
  grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
  gap: 8px;
  width: 100%;
  min-width: 0;
  justify-self: stretch;
}
.pa-diagnostic-selector__choices input {
  position: absolute;
  opacity: 0;
  pointer-events: none;
}
.pa-diagnostic-selector__choices label {
  display: grid;
  min-height: 44px;
  padding: 9px 12px;
  place-items: center;
  border: 1px solid var(--pa-line);
  border-radius: 11px;
  background: var(--pa-bg-soft);
  color: var(--pa-ink);
  cursor: pointer;
  font-size: .84rem;
  font-weight: 800;
  line-height: 1.2;
  text-align: center;
  transition: background 150ms ease, border-color 150ms ease, color 150ms ease, transform 150ms ease;
}
.pa-diagnostic-selector__choices label:hover {
  border-color: color-mix(in srgb, var(--pa-accent) 46%, var(--pa-line));
  transform: translateY(-1px);
}
.pa-diagnostic-selector__choices input:checked + label {
  border-color: var(--pa-accent);
  background: var(--pa-accent);
  color: #fff;
}
.pa-diagnostic-selector__choices input:focus-visible + label {
  outline: 3px solid color-mix(in srgb, var(--pa-accent) 34%, transparent);
  outline-offset: 2px;
}
.pa-diagnostic-selector__status {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: 8px 14px;
  align-items: center;
  padding: 13px 16px;
  border-radius: 14px;
  background: color-mix(in srgb, var(--pa-accent) 8%, white);
  color: var(--pa-ink);
}
.pa-diagnostic-selector__status span {
  font-size: .72rem;
  font-weight: 900;
  letter-spacing: .06em;
  text-transform: uppercase;
}
.pa-diagnostic-selector__status p { margin: 0; }
.pa-diagnostic-selector__outcomes {
  display: grid;
  gap: 14px;
}
.pa-diagnostic-selector.is-interactive-ready .pa-diagnostic-outcome[hidden] { display: none !important; }
.pa-diagnostic-outcome {
  --pa-diagnostic-tone: #2563eb;
  display: grid;
  gap: 18px;
  padding: clamp(20px, 3vw, 30px);
  border: 1px solid color-mix(in srgb, var(--pa-diagnostic-tone) 30%, var(--pa-line));
  border-top: 5px solid var(--pa-diagnostic-tone);
  border-radius: 20px;
  background: #fff;
  box-shadow: 0 18px 44px rgba(15, 23, 42, .09);
}
.pa-diagnostic-outcome[data-pa-diagnostic-tone="success"] { --pa-diagnostic-tone: #15803d; }
.pa-diagnostic-outcome[data-pa-diagnostic-tone="warning"] { --pa-diagnostic-tone: #d97706; }
.pa-diagnostic-outcome[data-pa-diagnostic-tone="danger"] { --pa-diagnostic-tone: #dc2626; }
.pa-diagnostic-outcome__head {
  display: grid;
  gap: 7px;
}
.pa-diagnostic-outcome__head > span {
  color: var(--pa-diagnostic-tone);
  font-size: .72rem;
  font-weight: 900;
  letter-spacing: .08em;
  text-transform: uppercase;
}
.pa-diagnostic-outcome__head h4,
.pa-diagnostic-outcome__head p { margin: 0; }
.pa-diagnostic-outcome__head h4 {
  color: var(--pa-ink);
  font-size: clamp(1.3rem, 2.2vw, 1.85rem);
}
.pa-diagnostic-outcome__head p { color: var(--pa-muted); }
.pa-diagnostic-outcome__signals {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
}
.pa-diagnostic-outcome__signals p {
  display: grid;
  gap: 5px;
  margin: 0;
  padding: 14px 15px 14px 44px;
  border-radius: 14px;
  background: #f8fafc;
  color: var(--pa-ink);
  position: relative;
}
.pa-diagnostic-outcome__signals p::before {
  position: absolute;
  top: 15px;
  left: 16px;
  font-size: 1.05rem;
  font-weight: 950;
}
.pa-diagnostic-outcome__action::before {
  color: #15803d;
  content: "✓";
}
.pa-diagnostic-outcome__tradeoff::before {
  color: #dc2626;
  content: "×";
}
.pa-diagnostic-outcome__signals strong { font-size: .82rem; }
.pa-diagnostic-outcome__signals span {
  color: var(--pa-muted);
  font-size: .86rem;
}
.pa-diagnostic-outcome__checks {
  display: grid;
  gap: 8px;
}
.pa-diagnostic-outcome__checks > strong { color: var(--pa-ink); }
.pa-diagnostic-outcome__checks ul {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
  margin: 0;
  padding: 0;
  list-style: none;
}
.pa-diagnostic-outcome__checks li {
  position: relative;
  padding: 10px 12px 10px 34px;
  border: 1px solid var(--pa-line);
  border-radius: 12px;
  color: var(--pa-ink);
  font-size: .86rem;
}
.pa-diagnostic-outcome__checks li::before {
  position: absolute;
  top: 9px;
  left: 12px;
  color: var(--pa-diagnostic-tone);
  content: "•";
  font-size: 1.2rem;
  line-height: 1;
}
.pa-diagnostic-outcome__next {
  display: inline-flex;
  min-height: 48px;
  align-items: center;
  justify-content: center;
  justify-self: start;
  padding: 12px 18px;
  border: 2px solid var(--pa-diagnostic-tone);
  border-radius: 13px;
  background: var(--pa-diagnostic-tone);
  box-shadow: 0 10px 24px color-mix(in srgb, var(--pa-diagnostic-tone) 24%, transparent);
  color: #fff;
  font-weight: 900;
  text-decoration: none;
  transition: transform .18s ease, box-shadow .18s ease, filter .18s ease;
}
.pa-diagnostic-outcome__next:hover,
.pa-diagnostic-outcome__next:focus-visible {
  box-shadow: 0 14px 30px color-mix(in srgb, var(--pa-diagnostic-tone) 34%, transparent);
  color: #fff;
  filter: brightness(.94);
  transform: translateY(-1px);
}
.pa-diagnostic-selector__noscript {
  margin: 0;
  color: var(--pa-muted);
  font-size: .85rem;
}
.pa-product-selector__products .cms-aff-product-grid__kicker { order: 1; }
.pa-product-selector__products .cms-aff-product-grid__body > h3 {
  display: -webkit-box;
  min-height: 2.4em;
  overflow: hidden;
  order: 2;
  line-height: 1.2;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}
.pa-product-selector__products .cms-aff-product-grid__chips,
.pa-product-selector__products .cms-aff-product-grid__proscons { display: none; }
.pa-product-selector__products .cms-aff-product-grid__desc { order: 4; }
.pa-product-selector__products .cms-aff-product-grid__footer {
  order: 3;
  margin-top: 0;
}

.pa-product-selector__match {
  display: grid;
  order: 5;
  gap: .55rem;
  margin-top: .15rem;
  padding: .65rem 0 0;
  border-top: 1px solid var(--pa-line);
  border-radius: 0;
  background: transparent;
}

.pa-product-selector__match > strong { color: var(--pa-accent); font-size: .75rem; }
.pa-product-selector__match p { margin: 0; font-size: .78rem; line-height: 1.4; }
.pa-product-selector__match .pa-product-selector__best-for,
.pa-product-selector__match .pa-product-selector__tradeoff {
  display: grid;
  grid-template-columns: 1.7rem minmax(0, 1fr);
  gap: .05rem .5rem;
  align-items: start;
  padding: .55rem;
  border: 1px solid #dfe8e4;
  border-radius: 11px;
  background: #f8fbf9;
}
.pa-product-selector__match .pa-product-selector__best-for::before,
.pa-product-selector__match .pa-product-selector__tradeoff::before {
  display: grid;
  width: 1.55rem;
  height: 1.55rem;
  grid-row: 1 / span 2;
  place-items: center;
  border-radius: 50%;
  color: #fff;
  font-size: .78rem;
  font-weight: 900;
}
.pa-product-selector__match .pa-product-selector__best-for::before {
  content: "✓";
  background: #238454;
}
.pa-product-selector__match .pa-product-selector__tradeoff::before {
  content: "×";
  background: #c54d45;
}
.pa-product-selector__match .pa-product-selector__best-for strong,
.pa-product-selector__match .pa-product-selector__best-for span,
.pa-product-selector__match .pa-product-selector__tradeoff strong,
.pa-product-selector__match .pa-product-selector__tradeoff span {
  grid-column: 2;
}
.pa-product-selector__match .pa-product-selector__best-for strong { color: #17683f; font-size: .68rem; }
.pa-product-selector__match .pa-product-selector__best-for span { color: #214c37; font-weight: 700; }
.pa-product-selector__match .pa-product-selector__tradeoff { border-color: #f0d7d4; background: #fff9f8; }
.pa-product-selector__match .pa-product-selector__tradeoff strong { color: #a53731; font-size: .68rem; }
.pa-product-selector__match .pa-product-selector__tradeoff span { color: #663a36; font-weight: 700; }

.pa-slide--media_full .pa-media,
.pa-slide--media_full .pa-embed {
  width: 100%;
}

.pa-slide--media_full .pa-embed {
  aspect-ratio: 16 / 9;
  min-height: 0;
}

.pa-faq {
  padding: clamp(1rem, 2.4vw, 1.5rem);
  border: 1px solid var(--pa-line);
  border-radius: 18px;
  background: var(--pa-surface-alt);
}

.pa-faq .cms-content-faq__item { border-top: 1px solid var(--pa-line); }
.pa-faq .cms-content-faq__trigger {
  display: flex;
  width: 100%;
  justify-content: space-between;
  gap: 1rem;
  padding: 1rem 0;
  border: 0;
  color: var(--pa-ink);
  background: transparent;
  text-align: left;
  cursor: pointer;
}
.pa-faq .cms-content-faq__answer-inner {
  max-width: 72ch;
  padding: 0 0 1rem;
  color: var(--pa-muted);
  line-height: 1.7;
}
.pa-faq .cms-content-faq__answer:not([hidden]) {
  height: auto !important;
  overflow: visible;
  opacity: 1;
}
.pa-faq .cms-content-faq__answer[hidden] { display: none !important; }
.pa-faq .cms-content-faq__icon { flex: 0 0 auto; transition: transform .2s ease; }
.pa-faq .cms-content-faq__icon.is-open { transform: rotate(180deg); }

.pa-slide--media_left .pa-slide__blocks,
.pa-slide--media_right .pa-slide__blocks {
  grid-template-columns: minmax(0, 1fr) minmax(0, 1.1fr);
  align-items: start;
}

.pa-slide__content-column {
  display: grid;
  min-width: 0;
  gap: clamp(1.2rem, 2.5vw, 2.2rem);
  align-self: start;
}

.pa-slide--media_left .pa-slide__blocks > .pa-media { grid-column: 1; }
.pa-slide--media_left .pa-slide__content-column { grid-column: 2; }
.pa-slide--media_right .pa-slide__blocks > .pa-media {
  grid-column: 2;
}
.pa-slide--media_right .pa-slide__content-column { grid-column: 1; grid-row: 1; }

/* A two-column visual needs a genuine visual counterweight, not a shallow banner. */
@media (min-width: 981px) {
  .pa-slide--media_left .pa-media img,
  .pa-slide--media_right .pa-media img {
    height: clamp(29rem, 37vw, 34rem);
    max-height: none;
    aspect-ratio: 4 / 5;
    object-fit: cover;
  }
}

.pa-slide--media_full {
  overflow: hidden;
}

.pa-slide--media_full .pa-media img { max-height: none; aspect-ratio: 16 / 8; }

.pa-slide--dark_emphasis {
  --pa-ink: #f5faf8;
  --pa-muted: #c1d0ca;
  --pa-line: rgba(255, 255, 255, .16);
  --pa-surface: #152522;
  --pa-surface-alt: #1d302c;
  --pa-accent-soft: color-mix(in srgb, var(--pa-accent) 28%, #152522);
  color: var(--pa-ink);
  background: radial-gradient(circle at 88% 10%, color-mix(in srgb, var(--pa-accent) 35%, transparent), transparent 35%), var(--pa-surface);
}

.pa-slide--dark_emphasis .pa-slide__lead,
.pa-slide--dark_emphasis .pa-slide__marker,
.pa-slide--dark_emphasis .pa-table caption { color: var(--pa-muted); }

.pa-author {
  display: flex;
  align-items: center;
  gap: 1rem;
  padding: 1.25rem;
  border-top: 1px solid var(--pa-line);
}

.pa-author img {
  width: 58px;
  height: 58px;
  border-radius: 50%;
  object-fit: cover;
}

.pa-author div { display: grid; gap: .2rem; }
.pa-author span { color: var(--pa-muted); font-size: .78rem; text-transform: uppercase; letter-spacing: .06em; }

.pa-controls {
  display: none;
  position: fixed;
  z-index: 80;
  left: 50%;
  bottom: 1.2rem;
  transform: translateX(-50%);
  align-items: center;
  gap: .45rem;
  padding: .45rem;
  border: 1px solid color-mix(in srgb, var(--pa-brand) 35%, var(--pa-line));
  border-radius: 999px;
  background: color-mix(in srgb, var(--pa-surface) 92%, transparent);
  box-shadow: 0 14px 40px color-mix(in srgb, var(--pa-ink) 24%, transparent), 0 0 0 4px color-mix(in srgb, var(--pa-brand) 8%, transparent);
  backdrop-filter: blur(16px);
}

.pa-document.is-enhanced .pa-controls { display: flex; }

.pa-document[data-presentation-mode="scroll"].is-enhanced > .pa-controls { display: none; }

.pa-controls button {
  min-width: 2.5rem;
  min-height: 2.5rem;
  border: 0;
  border-radius: 999px;
  color: var(--pa-ink);
  background: transparent;
  cursor: pointer;
}

.pa-controls button:hover,
.pa-controls button:focus-visible,
.pa-controls button.is-active {
  background: var(--pa-accent-soft);
}

.pa-controls button:disabled { opacity: .35; cursor: default; }
.pa-controls > span { min-width: 4rem; text-align: center; font-size: .82rem; font-variant-numeric: tabular-nums; }
.pa-controls__toc { display: none; place-items: center; }
.pa-controls__toc svg {
  width: 1.25rem;
  height: 1.25rem;
  fill: none;
  stroke: currentColor;
  stroke-width: 2;
  stroke-linecap: round;
}
.pa-mode { display: flex; padding-right: .4rem; border-right: 1px solid var(--pa-line); }
.pa-mode button { padding-inline: .9rem; font-size: .78rem; }

.pa-swipe-hint {
  display: none;
}

.pa-document.pa-has-progressed .pa-swipe-hint {
  display: none !important;
}

/*
 * In enhanced slide mode the page owns vertical scrolling. A step may grow
 * beyond the viewport; only explicit horizontal navigation changes it.
 */
@media (min-width: 981px) {
  .pa-document.is-enhanced > .pa-controls {
    left: max(11rem, calc((100vw - 1300px) / 2 + 140px));
  }

  .pa-document.is-enhanced[data-presentation-mode="slide"] .pa-stage {
    display: block;
  }

  .pa-document.is-enhanced[data-presentation-mode="slide"] .pa-slide {
    display: none;
    box-sizing: border-box;
    width: 100%;
    min-height: min(46rem, calc(100dvh - 9rem));
    overflow: visible;
    padding-bottom: 5.5rem;
  }

  .pa-document.is-enhanced[data-presentation-mode="slide"] .pa-slide.is-current {
    display: flex;
  }

  .pa-document.is-enhanced[data-presentation-mode="slide"] .pa-author {
    display: none;
  }
}

.pa-skin--editorial_contrast_v1 .pa-slide:nth-child(3n + 1):not(.pa-slide--dark_emphasis) {
  background: color-mix(in srgb, var(--pa-accent) 7%, var(--pa-surface));
}

.pa-skin--editorial_media_v1 .pa-slide {
  padding: clamp(1.4rem, 3vw, 3rem);
}

.pa-skin--editorial_media_v1 .pa-media img {
  border-radius: calc(var(--pa-radius) * .45);
}

@media (max-width: 980px) {
  .pa-layout { grid-template-columns: 1fr; }
  .pa-nav { display: none; }
  .pa-nav.is-mobile-open {
    display: block;
    position: fixed;
    z-index: 81;
    top: auto;
    right: auto;
    bottom: calc(4.65rem + env(safe-area-inset-bottom));
    left: 50%;
    width: min(32rem, calc(100vw - 1rem));
    max-height: min(68dvh, 34rem);
    margin: 0;
    padding: 1rem;
    overflow: auto;
    overscroll-behavior: contain;
    transform: translateX(-50%);
    border: 1px solid color-mix(in srgb, var(--pa-brand) 28%, var(--pa-line));
    border-radius: 20px;
    background: color-mix(in srgb, var(--pa-surface) 96%, transparent);
    box-shadow: 0 22px 58px color-mix(in srgb, var(--pa-ink) 28%, transparent);
    backdrop-filter: blur(18px);
    scrollbar-gutter: stable;
  }
  .pa-nav.is-mobile-open .pa-nav__modes,
  .pa-nav.is-mobile-open .pa-nav__hint { display: none; }
  .pa-document { padding-inline: clamp(.8rem, 3vw, 1.4rem); }
  .pa-document[data-presentation-mode] .pa-slide {
    min-height: 0;
    display: block;
  }
  .pa-stage { gap: 2rem; }
  .pa-slide { padding: clamp(1.3rem, 5vw, 2.4rem); }
  .pa-slide--media_left .pa-slide__blocks,
  .pa-slide--media_right .pa-slide__blocks { grid-template-columns: 1fr; }
  .pa-slide--media_left .pa-slide__blocks > .pa-media,
  .pa-slide--media_right .pa-slide__blocks > .pa-media,
  .pa-slide--media_left .pa-slide__content-column,
  .pa-slide--media_right .pa-slide__content-column {
    grid-column: 1;
    grid-row: auto;
  }
  .pa-slide--media_left .pa-media img,
  .pa-slide--media_right .pa-media img { height: auto; aspect-ratio: auto; }
  .pa-document.is-enhanced[data-presentation-mode="slide"] .pa-stage {
    display: block;
  }
  .pa-document.is-enhanced[data-presentation-mode="slide"] .pa-slide {
    display: none;
    touch-action: pan-y;
    overscroll-behavior-y: contain;
    overflow: visible;
    padding-bottom: 5.5rem;
  }
  .pa-document.is-enhanced[data-presentation-mode="slide"] .pa-slide.is-current {
    display: block;
  }
  .pa-slide__continue-link {
    width: 100%;
    min-height: 4.8rem;
  }
  .pa-slide__continue {
    margin-bottom: calc(6.5rem + env(safe-area-inset-bottom));
  }
  .pa-document.is-enhanced[data-presentation-mode="slide"] .pa-author {
    display: none;
  }
  .pa-document.is-enhanced .pa-controls {
    display: flex;
    bottom: max(.6rem, env(safe-area-inset-bottom));
    max-width: calc(100vw - 1rem);
  }
  .pa-controls__toc { display: inline-grid; }
  .pa-mode { display: none; }
  .pa-swipe-hint {
    display: block;
    position: fixed;
    z-index: 79;
    right: .75rem;
    bottom: calc(4.25rem + env(safe-area-inset-bottom));
    left: .75rem;
    margin: 0 auto;
    color: var(--pa-muted);
    font-size: .68rem;
    text-align: center;
    pointer-events: none;
  }
}

@media (max-width: 560px) {
  .pa-slide h1,
  .pa-slide h2 { font-size: clamp(1.8rem, 10vw, 3rem); }
  .pa-slide__marker { width: 68%; }
  .pa-list--cards,
  .pa-component-grid,
  .pa-component-story,
  .pa-detail-grid,
  .pa-product-selector__products .cms-aff-product-grid__cards {
    grid-template-columns: 1fr !important;
  }
  .pa-diagnostic-selector fieldset,
  .pa-diagnostic-selector__status,
  .pa-diagnostic-outcome__signals,
  .pa-diagnostic-outcome__checks ul {
    grid-template-columns: 1fr;
  }
  .pa-diagnostic-selector__choices {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .pa-diagnostic-outcome__next {
    width: 100%;
    justify-self: stretch;
    text-align: center;
  }
  :is(.pa-list--cards, .pa-component-grid, .pa-component-story, .pa-detail-grid)[data-pa-card-count="5"] > * {
    grid-column: auto !important;
  }
  .pa-media figcaption { display: grid; }
  .pa-choice-intro { display: grid; }
  .pa-choice-result { padding: 1rem; }
  .pa-detail-grid,
  .pa-detail-card__sections,
  .pa-annotated-map__layout { grid-template-columns: 1fr; }
  .pa-component-box--story[data-pa-story-style="immersive"] .pa-component-story,
  .pa-product-selector__fields { grid-template-columns: 1fr; }
  .pa-component-box--story[data-pa-story-style="immersive"] .pa-component-story article { min-height: 280px; }
  .pa-component-box--story[data-pa-story-style="horizontal"] .pa-component-story article {
    min-height: 0;
    grid-template-columns: 1fr;
    grid-template-rows: auto;
  }
  .pa-component-box--story[data-pa-story-style="horizontal"] .pa-component-story img {
    height: auto;
    min-height: 0;
    grid-column: 1;
    grid-row: auto;
    border-radius: 17px 17px 0 0;
  }
  .pa-component-box--story[data-pa-story-style="horizontal"] .pa-component-story article > span,
  .pa-component-box--story[data-pa-story-style="horizontal"] .pa-component-story h4,
  .pa-component-box--story[data-pa-story-style="horizontal"] .pa-component-story p {
    grid-column: 1;
  }
  .pa-annotated-map__points { grid-template-columns: 1fr; }
  .pa-annotated-map__points .pa-annotated-map__point { grid-column: 1 / -1; }
  .pa-product-selector__status { grid-template-columns: 1fr; }
  .pa-product-selector__status em { max-width: none; text-align: left; }
  .pa-product-selector fieldset { grid-template-columns: 1fr; }
  .pa-product-selector__choices { grid-template-columns: 1fr; }
  .pa-product-selector__submit { width: 100%; }
  .pa-detail-card.is-modal-open > .pa-detail-card__detail {
    width: calc(100vw - 1rem);
    max-height: calc(100vh - 1rem);
    padding-inline: 1rem;
    border-radius: 18px;
  }
}

@media print {
  .pa-document { padding: 0; background: #fff; }
  .pa-layout { display: block; }
  .pa-nav,
  .pa-controls,
  .pa-swipe-hint,
  .pa-slide__continue,
  .pa-progress { display: none !important; }
  .pa-stage { display: block; }
  .pa-slide,
  .pa-document[data-presentation-mode="slide"] .pa-slide {
    display: block;
    min-height: 0;
    break-inside: avoid;
    margin: 0 0 1.5rem;
    box-shadow: none;
  }
  .pa-faq .cms-content-faq__answer[hidden] {
    display: block !important;
    height: auto !important;
    overflow: visible !important;
    opacity: 1 !important;
  }
  .pa-detail-card:not([open]) > :not(summary) { display: block !important; }
  .pa-detail-card__backdrop,
  .pa-detail-card__detail header button { display: none !important; }
  .pa-annotated-map__marker::after { display: none !important; }
  .pa-detail-card__detail { position: static !important; max-height: none !important; transform: none !important; box-shadow: none !important; }
}

@media (prefers-reduced-motion: reduce) {
  .pa-document *,
  .pa-document *::before,
  .pa-document *::after {
    scroll-behavior: auto !important;
    transition-duration: .01ms !important;
    animation-duration: .01ms !important;
  }
}
