/*
 * D-111 (owner, 29 Oct 2026): the product-page sections built from the SEO briefs (partials/seo-page, data in
 * resources/data/seo-pages). Same look as the D-105 product-page design (product-pages.css: pp-sec, pp-tag, pp-h2,
 * pp-panel, pp-cards, pp-journey) with the pieces the briefs need: answer-first quick answers, comparison tables,
 * checklists, numbered methods, a glossary, notes, the closing call to action and the compliance block.
 * Tables become labelled cards on phones (each cell carries data-label).
 */

/* ---- section layouts ---- */
.ppx-wrap { display: grid; gap: 28px 64px; }
.ppx-wrap--split { grid-template-columns: minmax(0, 4fr) minmax(0, 7fr); align-items: start; }
.ppx-wrap--split .ppx-head { position: sticky; top: 104px; }
.ppx-wrap--media { grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); align-items: center; }
.ppx-wrap--media .ppx-head { grid-column: 1; }
.ppx-wrap--media .ppx-body { grid-column: 1; }
.ppx-wrap--media .ppx-media { grid-column: 2; grid-row: 1 / span 2; margin: 0; }
.ppx-wrap--center .ppx-head { align-items: center; text-align: center; margin: 0 auto; }
.ppx-wrap--center .ppx-body { width: 100%; max-width: 1000px; margin: 0 auto; }
.ppx-head { display: flex; flex-direction: column; align-items: flex-start; gap: 14px; max-width: 760px; }
.ppx-head .pp-h2 { font-size: 36px !important; line-height: 1.12 !important; }
.ppx-body { min-width: 0; display: flex; flex-direction: column; gap: 18px; }

/* ---- text ---- */
.ppx-p { font: 400 16.5px/27px var(--cy-font, Inter, sans-serif); color: var(--pp-ink-2); max-width: 72ch; }
.ppx-p a, .ppx-list a, .ppx-qa a, .ppx-terms a, .ppx-table a { color: var(--pp-coral-ink); font-weight: 600; text-decoration: underline; text-decoration-color: rgba(201, 65, 46, .35); text-underline-offset: 3px; }
.ppx-p a:hover, .ppx-list a:hover { text-decoration-color: currentColor; }
.ppx-h3 { margin: 10px 0 -4px !important; font: 700 19px/1.3 var(--cy-font, Inter, sans-serif) !important; letter-spacing: -.015em; color: var(--pp-ink); text-transform: none !important; }
.ppx-note { display: flex; gap: 10px; align-items: flex-start; padding: 12px 14px; border-radius: 14px; background: var(--pp-soft); box-shadow: inset 3px 0 0 var(--pp-coral); font: 400 13.5px/21px var(--cy-font, Inter, sans-serif); color: var(--pp-ink-2); }
.ppx-note .cy-icon { width: 18px; height: 18px; flex: none; margin-top: 1px; color: var(--pp-coral); }

/* ---- lists ---- */
.ppx-list { display: grid; grid-template-columns: repeat(var(--cols, 1), minmax(0, 1fr)); gap: 10px; }
.ppx-list li { display: flex; align-items: flex-start; gap: 12px; padding: 13px 16px; border-radius: 14px; background: #fff; box-shadow: inset 0 0 0 1px var(--pp-line); font: 400 15px/23px var(--cy-font, Inter, sans-serif); color: var(--pp-ink-2); }
.ppx-list li b { color: var(--pp-ink); font-weight: 650; }
.ppx-list__ic { display: grid; place-items: center; width: 24px; height: 24px; flex: none; border-radius: 50%; background: var(--pp-tint); color: var(--pp-coral); }
.ppx-list__ic .cy-icon { width: 14px; height: 14px; stroke-width: 2.6; }
.ppx-list--cross .ppx-list__ic { background: #f3efed; color: #8a827d; }
.ppx-list--refresh .ppx-list__ic { background: #e9f2fd; color: #2563c9; }
.pp-sec--band .ppx-list li { background: #fff; }

/* numbered method */
.ppx-steps { counter-reset: none; display: flex; flex-direction: column; gap: 0; position: relative; }
.ppx-steps li { position: relative; display: flex; gap: 16px; align-items: flex-start; padding: 0 0 18px; font: 400 15.5px/24px var(--cy-font, Inter, sans-serif); color: var(--pp-ink-2); }
.ppx-steps li b { color: var(--pp-ink); font-weight: 650; }
.pp-sec--dark .ppx-steps li b { color: #fff; }
.ppx-steps li:not(:last-child)::before { content: ""; position: absolute; left: 15px; top: 34px; bottom: 2px; width: 2px; background: var(--pp-line-coral); }
.ppx-steps__n { display: grid; place-items: center; width: 32px; height: 32px; flex: none; border-radius: 10px; background: var(--pp-coral); color: #fff; font: 700 14px/1 var(--cy-font, Inter, sans-serif); box-shadow: 0 8px 16px -10px rgba(229, 83, 63, .9); }
.ppx-steps li > span:last-child { padding-top: 4px; }

/* quick answer: four answer cards */
.ppx-qa { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; margin: 0; }
.ppx-qa__item { padding: 18px 20px; border-radius: 18px; background: #fff; box-shadow: inset 0 0 0 1px var(--pp-line), 0 16px 30px -26px rgba(92, 23, 14, .4); }
.ppx-qa__item:first-child { background: radial-gradient(120% 120% at 100% 0%, #ff7a5c, var(--pp-coral) 45%, #8e2a1c); box-shadow: 0 24px 40px -28px rgba(92, 23, 14, .8); }
.ppx-qa dt { margin: 0 0 6px; font: 700 11.5px/16px var(--cy-font, Inter, sans-serif); letter-spacing: .08em; text-transform: uppercase; color: var(--pp-coral-ink); }
.ppx-qa dd { margin: 0; font: 500 15.5px/24px var(--cy-font, Inter, sans-serif); color: var(--pp-ink); }
.ppx-qa__item:first-child dt { color: #ffd9cf; }
.ppx-qa__item:first-child dd { color: #fff; }

/* glossary */
.ppx-terms { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; margin: 0; }
.ppx-terms > div { padding: 16px 18px; border-radius: 16px; background: #fff; box-shadow: inset 0 0 0 1px var(--pp-line); }
.ppx-terms dt { margin: 0 0 4px; font: 700 15px/21px var(--cy-font, Inter, sans-serif); color: var(--pp-ink); }
.ppx-terms dt::before { content: ""; display: inline-block; width: 8px; height: 8px; margin-right: 9px; border-radius: 2px; background: var(--pp-coral); transform: rotate(45deg); vertical-align: 2px; }
.ppx-terms dd { margin: 0; font: 400 14.5px/22px var(--cy-font, Inter, sans-serif); color: var(--pp-ink-2); }

/* cards inside a section body */
.ppx-cards { gap: 12px; }
.ppx-cards .pp-card { padding: 20px; gap: 10px; }
.ppx-cards .pp-card h3 { font-size: 16px; }
.ppx-cards .pp-card p { font-size: 14px; line-height: 21px; }

/* ---- tables ---- */
.ppx-table { overflow-x: auto; border-radius: 20px; background: #fff; box-shadow: inset 0 0 0 1px var(--pp-line), 0 24px 44px -34px rgba(92, 23, 14, .45); }
.ppx-table table { width: 100%; border-collapse: collapse; font-family: var(--cy-font, Inter, sans-serif); }
.ppx-table th, .ppx-table td { padding: 15px 18px; text-align: left; vertical-align: top; font-size: 14.5px; line-height: 22px; border-bottom: 1px solid var(--pp-line); }
.ppx-table thead th { padding-top: 16px; padding-bottom: 14px; background: var(--pp-soft); font-size: 12px; line-height: 16px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; color: var(--pp-coral-ink); }
.ppx-table tbody th { font-weight: 650; color: var(--pp-ink); }
.ppx-table td { color: var(--pp-ink-2); }
.ppx-table tbody tr:last-child > * { border-bottom: 0; }
.ppx-table .is-hl { background: rgba(253, 235, 231, .55); }
.ppx-table thead .is-hl { background: var(--pp-coral); color: #fff; }
.ppx-table--total tbody tr:last-child > * { background: var(--pp-tint); color: var(--pp-ink); font-weight: 700; }
.ppx-table--total td:last-child, .ppx-table--total th:last-child { text-align: right; white-space: nowrap; }
.pp-sec--dark .ppx-table { background: rgba(255, 255, 255, .04); box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .1); }
.pp-sec--dark .ppx-table thead th { background: rgba(255, 255, 255, .06); color: #ffb3a5; }
.pp-sec--dark .ppx-table th, .pp-sec--dark .ppx-table td { border-color: rgba(255, 255, 255, .08); }
.pp-sec--dark .ppx-table tbody th { color: #fff; }
.pp-sec--dark .ppx-table td { color: #cfc4be; }
.pp-sec--dark .ppx-p, .pp-sec--dark .ppx-h3 { color: #e9e1dc !important; }
.pp-sec--dark .ppx-note { background: rgba(255, 255, 255, .05); color: #cfc4be; }

/* ---- closing call to action ---- */
.ppx-cta { padding-top: 24px !important; padding-bottom: 24px !important; }
.ppx-cta__box { display: flex; align-items: center; justify-content: space-between; gap: 24px 40px; padding: 36px 40px; border-radius: 28px; background: radial-gradient(90% 140% at 0% 0%, #ff8a6b, var(--pp-coral) 45%, #8e2a1c); box-shadow: 0 40px 70px -40px rgba(92, 23, 14, .8); }
body .ppx-cta__box .pp-h2 { color: #fff !important; font-size: 32px !important; }
.ppx-cta__box .pp-lead { margin-top: 10px; color: #ffe3dc; }
.ppx-cta__box .cy-btn { flex: none; --_bg: #fff; --_fg: var(--pp-coral-ink); --_bg-hover: #fff5f2; }

/* ---- compliance block ---- */
.ppx-legal { padding: 28px max(24px, env(safe-area-inset-right, 0px)) 40px max(24px, env(safe-area-inset-left, 0px)); background: #fff; }
.ppx-legal .pp-wrap { padding-top: 22px; border-top: 1px solid var(--pp-line); display: grid; gap: 6px; }
.ppx-legal p { margin: 0; font: 400 12.5px/19px var(--cy-font, Inter, sans-serif); color: var(--pp-mute); max-width: 120ch; }
.ppx-legal strong { color: var(--pp-ink-2); }
.ppx-legal a { color: var(--pp-ink-2); text-decoration: underline; text-underline-offset: 2px; }

/* ---- hero additions (kicker line, three points, broker note) ---- */
.ph__kicker { display: inline-flex; align-items: center; gap: 8px; margin: 0; padding: 6px 14px 6px 6px; border-radius: 999px; background: var(--pp-tint, #fdebe7); color: var(--pp-coral-ink, #c9412e); font: 600 13px/18px var(--cy-font, Inter, sans-serif); max-width: 100%; }
.ph__kicker > span { display: grid; place-items: center; width: 22px; height: 22px; flex: none; border-radius: 50%; background: var(--pp-coral, #e5533f); color: #fff; }
.ph__kicker .cy-icon { width: 13px; height: 13px; stroke-width: 2.6; }
.ph__points { display: grid; gap: 7px; margin: 16px 0 0; padding: 0; list-style: none; }
.ph__points li { display: flex; gap: 10px; align-items: flex-start; font: 500 15px/22px var(--cy-font, Inter, sans-serif); color: var(--cy-neutral-800, #2b2522); }
.ph__points .cy-icon { width: 18px; height: 18px; flex: none; margin-top: 2px; padding: 3px; border-radius: 50%; background: var(--pp-tint, #fdebe7); color: var(--pp-coral, #e5533f); stroke-width: 3; }
.ph__note { margin: 0 0 12px; max-width: 62ch; font: 400 12.5px/18px var(--cy-font, Inter, sans-serif); color: var(--cy-neutral-500, #77706b); }

/* ---- responsive ---- */
@media (max-width: 1099px) {
  .ppx-wrap--split, .ppx-wrap--media { grid-template-columns: minmax(0, 1fr); }
  .ppx-wrap--split .ppx-head { position: static; }
  .ppx-wrap--media .ppx-media { grid-column: 1; grid-row: auto; }
  .ppx-head .pp-h2 { font-size: 32px !important; }
  .ppx-cta__box { flex-direction: column; align-items: flex-start; padding: 30px 28px; }
}
@media (max-width: 767px) {
  .ppx-list, .ppx-qa, .ppx-terms { grid-template-columns: minmax(0, 1fr); }
  .ppx-cards { grid-template-columns: minmax(0, 1fr) !important; }
  /* tables become one card per row, each value labelled with its column */
  .ppx-table { overflow: visible; background: none; box-shadow: none; border-radius: 0; }
  .ppx-table table, .ppx-table tbody, .ppx-table tr, .ppx-table th, .ppx-table td { display: block; width: 100%; }
  .ppx-table thead { display: none; }
  .ppx-table tbody { display: grid; gap: 12px; }
  .ppx-table tr { padding: 14px 16px; border-radius: 18px; background: #fff; box-shadow: inset 0 0 0 1px var(--pp-line), 0 16px 30px -26px rgba(92, 23, 14, .4); }
  .ppx-table th, .ppx-table td { padding: 0; border: 0; }
  .ppx-table tbody th { padding-bottom: 8px; margin-bottom: 8px; border-bottom: 1px solid var(--pp-line); font-size: 15.5px; }
  .ppx-table td { padding: 6px 0; display: grid; grid-template-columns: minmax(0, 2fr) minmax(0, 3fr); gap: 12px; }
  .ppx-table td::before { content: attr(data-label); font-size: 12px; line-height: 20px; font-weight: 700; letter-spacing: .04em; text-transform: uppercase; color: var(--pp-coral-ink); }
  .ppx-table td[data-label=""]::before { content: none; }
  .ppx-table .is-hl { background: none; }
  .ppx-table td.is-hl { margin: 2px -8px; padding: 6px 8px; border-radius: 10px; background: var(--pp-soft); }
  .ppx-table--total td:last-child { text-align: left; }
  .ppx-table--total tbody tr:last-child { background: var(--pp-tint); }
  .pp-sec--dark .ppx-table tr { background: rgba(255, 255, 255, .05); box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .1); }
  .ppx-head .pp-h2 { font-size: 28px !important; }
  .ppx-cta__box { padding: 26px 20px; border-radius: 22px; }
  body .ppx-cta__box .pp-h2 { font-size: 26px !important; }
  .ppx-cta__box .cy-btn { width: 100%; justify-content: center; }
}

/* figures row (e.g. "CoverYou at a glance" on the PI brief) */
.ppx-stats { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; margin: 0; padding: 0; list-style: none; }
.ppx-stats li { padding: 16px 18px; border-radius: 16px; background: #fff; box-shadow: inset 0 0 0 1px var(--pp-line); }
.ppx-stats b { display: block; font: 800 26px/1.1 var(--cy-font, Inter, sans-serif); letter-spacing: -.03em; color: var(--pp-coral); }
.ppx-stats span { display: block; margin-top: 4px; font: 500 13px/18px var(--cy-font, Inter, sans-serif); color: var(--pp-ink-2); }
@media (max-width: 767px) { .ppx-stats { grid-template-columns: repeat(2, minmax(0, 1fr)); } }

/* covered / not covered, side by side (SeoPage::blocks turns the briefs' two-column lists into this) */
.ppx-cols { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }
.ppx-col { padding: 20px 22px; border-radius: 20px; background: #fff; box-shadow: inset 0 0 0 1px var(--pp-line), 0 18px 34px -30px rgba(92, 23, 14, .45); }
.ppx-col--check { box-shadow: inset 0 0 0 1.5px var(--pp-line-coral), 0 18px 34px -30px rgba(92, 23, 14, .45); }
.ppx-col__title { display: flex; align-items: center; gap: 10px; margin: 0 0 12px !important; font: 700 16px/1.3 var(--cy-font, Inter, sans-serif) !important; color: var(--pp-ink); text-transform: none !important; }
.ppx-col--cross .ppx-list__ic { background: #f3efed; color: #8a827d; }
.ppx-col ul { display: grid; gap: 0; margin: 0; padding: 0; list-style: none; }
.ppx-col li { position: relative; padding: 9px 0 9px 22px; border-top: 1px dashed var(--pp-line); font: 400 14.5px/22px var(--cy-font, Inter, sans-serif); color: var(--pp-ink-2); }
.ppx-col li:first-child { border-top: 0; }
.ppx-col li::before { content: ""; position: absolute; left: 4px; top: 17px; width: 7px; height: 7px; border-radius: 50%; background: var(--pp-coral); }
.ppx-col--cross li::before { background: #b9b1ac; }
.ppx-col li b { color: var(--pp-ink); font-weight: 650; }
@media (max-width: 767px) { .ppx-cols { grid-template-columns: minmax(0, 1fr); } }

/* product cards with a one-line description (home page "Insurance solutions for doctors") */
.ppx-products { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; margin: 0; padding: 0; list-style: none; }
.ppx-products a { display: flex; align-items: center; gap: 14px; height: 100%; padding: 16px 18px; color: var(--pp-ink); text-decoration: none; }
.ppx-products__t { flex: 1; min-width: 0; }
.ppx-products__t b { display: block; font: 650 15.5px/21px var(--cy-font, Inter, sans-serif); }
.ppx-products__t span { display: block; margin-top: 2px; font: 400 13.5px/20px var(--cy-font, Inter, sans-serif); color: var(--pp-ink-2); }
.ppx-products .pp-go { width: 18px; height: 18px; flex: none; color: var(--pp-coral); }
@media (max-width: 767px) { .ppx-products { grid-template-columns: minmax(0, 1fr); } }

/* ---- D-117: story aids ---- */
/* "On this page" chapter bar: sticks under the floating header */
.ppx-toc { position: sticky; top: 84px; z-index: 40; padding: 10px max(16px, env(safe-area-inset-right, 0px)) 10px max(16px, env(safe-area-inset-left, 0px)); pointer-events: none; }
.ppx-toc__in { pointer-events: auto; display: flex; align-items: center; gap: 4px; width: max-content; max-width: 100%; margin: 0 auto; padding: 5px; overflow-x: auto; scrollbar-width: none; border-radius: 999px; background: rgba(255, 255, 255, .86); -webkit-backdrop-filter: blur(12px); backdrop-filter: blur(12px); box-shadow: 0 0 0 1px var(--pp-line), 0 14px 30px -20px rgba(92, 23, 14, .45); transition: box-shadow .25s; }
.ppx-toc__in::-webkit-scrollbar { display: none; }
.ppx-toc__lbl { flex: none; padding: 0 10px 0 12px; font: 700 11px/1 var(--cy-font, Inter, sans-serif); letter-spacing: .08em; text-transform: uppercase; color: var(--pp-mute); }
.ppx-toc a { flex: none; padding: 8px 14px; border-radius: 999px; font: 600 13.5px/1 var(--cy-font, Inter, sans-serif); color: var(--pp-ink-2); text-decoration: none; transition: background-color .2s, color .2s; }
.ppx-toc a:hover { background: var(--pp-soft); color: var(--pp-ink); }
.ppx-toc a.is-active { background: var(--pp-coral); color: #fff; }
.ppx-toc a:focus-visible { outline: 2px solid var(--pp-coral); outline-offset: 2px; }
.ppx-toc.is-stuck .ppx-toc__in { box-shadow: 0 0 0 1px var(--pp-line), 0 18px 34px -18px rgba(92, 23, 14, .55); }
/* anchors land below the header and the bar */
.ppx[id], .ppx-group > li[id], .cy-faq[id], .ppx-groupsec { scroll-margin-top: 150px; }

/* short sections shown together */
.ppx-group { display: grid; grid-template-columns: repeat(auto-fit, minmax(320px, 1fr)); gap: 14px; margin: 0; padding: 0; list-style: none; }
.ppx-group > li { display: flex; flex-direction: column; gap: 10px; padding: 24px; }
body .ppx-group__t { margin: 0; font: 700 21px/1.25 var(--cy-font, Inter, sans-serif) !important; letter-spacing: -.02em; color: var(--pp-ink); text-transform: none !important; }
.ppx-group .ppx-p { font-size: 15px; line-height: 24px; }

/* mid-page call to action */
.ppx-midcta { padding-top: 8px !important; padding-bottom: 8px !important; }
.ppx-midcta__box { display: flex; align-items: center; gap: 16px 20px; padding: 18px 20px; border-radius: 22px; background: var(--pp-soft); box-shadow: inset 0 0 0 1.5px var(--pp-line-coral); }
.ppx-midcta__ic { display: grid; place-items: center; width: 46px; height: 46px; flex: none; border-radius: 14px; background: var(--pp-coral); color: #fff; }
.ppx-midcta__ic .cy-icon { width: 22px; height: 22px; }
.ppx-midcta__box > div { flex: 1; min-width: 0; }
.ppx-midcta__box > div > b { display: block; font: 700 17px/1.3 var(--cy-font, Inter, sans-serif); color: var(--pp-ink); }
.ppx-midcta__box > div > span { display: block; margin-top: 2px; font-size: 14.5px; line-height: 21px; color: var(--pp-ink-2); }
.ppx-midcta__box .cy-btn { flex: none; }
.ppx-midcta__box .cy-btn .cy-icon { width: 16px; height: 16px; }

@media (max-width: 991px) { .ppx-toc { top: 72px; } }
@media (max-width: 767px) {
  .ppx-toc { padding-top: 8px; padding-bottom: 8px; }
  .ppx-toc__lbl { display: none; }
  .ppx-toc a { padding: 8px 12px; font-size: 13px; }
  .ppx-group { grid-template-columns: minmax(0, 1fr); }
  .ppx-midcta__box { flex-wrap: wrap; }
  .ppx-midcta__box .cy-btn { width: 100%; justify-content: center; }
}

/* D-117 audit (phones): comfortable tap sizes and readable small print */
@media (max-width: 767px) {
  .ppx-toc a { padding: 11px 13px; }
  .ph-card .pdl-add { height: 36px; padding: 0 14px; }
  .ph-card__legal, .ph-card .quote-disclaimer { font-size: 11.5px !important; line-height: 17px !important; }
  .ph-card__legal a, .ph-card .quote-disclaimer a { display: inline-block; padding: 4px 0; }
}

/* D-117: the chapter bar fades out at the end of the page (closing CTA, compliance block, footer) */
.ppx-toc__in { transition: box-shadow .25s, opacity .25s, transform .25s; }
.ppx-toc.is-done .ppx-toc__in { opacity: 0; transform: translateY(-8px); pointer-events: none; }

/* ---- D-118 (owner, 30 Oct: "too much negative spacing"): heading on top, content uses the full width ---- */
.pp-sec.ppx { padding-top: 56px; padding-bottom: 56px; }
.ppx-wrap--split { grid-template-columns: minmax(0, 1fr); gap: 22px; }
.ppx-wrap--split .ppx-head { position: static; max-width: 820px; }
.ppx-wrap--center .ppx-body { max-width: none; }
.ppx-head .pp-h2 { font-size: 34px !important; }
.ppx-body { gap: 16px; }
/* text-only sections: the paragraphs flow in two columns */
.ppx-body:has(> .ppx-p + .ppx-p):not(:has(> :not(.ppx-p))) { display: block; columns: 2; column-gap: 48px; }
.ppx-body:has(> .ppx-p + .ppx-p):not(:has(> :not(.ppx-p))) .ppx-p { max-width: none; margin: 0 0 16px; break-inside: avoid; }
/* quick answer: the four answers in one row */
.ppx-qa { grid-template-columns: repeat(2, minmax(0, 1fr)); }
/* lists of four or more: two columns */
.ppx-list:has(> li:nth-child(4)) { grid-template-columns: repeat(2, minmax(0, 1fr)); }
/* numbered methods and checklists: a grid of numbered cards */
.ppx-steps { display: grid; grid-template-columns: repeat(auto-fill, minmax(300px, 1fr)); gap: 12px; }
.ppx-steps li { padding: 16px 18px; border-radius: 16px; background: #fff; box-shadow: inset 0 0 0 1px var(--pp-line); }
.ppx-steps li:not(:last-child)::before { display: none; }
.pp-sec--dark .ppx-steps li { background: rgba(255, 255, 255, .05); box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .1); color: #e9e1dc; }
@media (max-width: 1099px) {
  .ppx-qa { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .ppx-head .pp-h2 { font-size: 30px !important; }
}
@media (max-width: 767px) {
  .ppx-qa, .ppx-list:has(> li:nth-child(4)) { grid-template-columns: minmax(0, 1fr); }
  .ppx-body:has(> .ppx-p + .ppx-p):not(:has(> :not(.ppx-p))) { columns: 1; }
  .pp-sec.ppx { padding-top: 44px; padding-bottom: 44px; }
  .ppx-head .pp-h2 { font-size: 26px !important; }
}

/* ---- D-118 (owner: "On this page should be on the left"): a slim rail at the edge on desktop ----
   D-254 (owner, 5 Nov: "the left quick navigator should be on right"): it is at the RIGHT edge now (every page with the rail);
   it opens leftward on hover. OLD (D-118): left: 16px.
   Shown once the first section is in view, hidden again at the end of the page. Under 1560px wide (not enough room
   beside the content) it shows dots, with the labels on hover or keyboard focus. Phones and tablets keep the bar. */
@media (min-width: 1100px) {
  .ppx-toc { position: fixed; left: auto; right: max(16px, env(safe-area-inset-right, 0px)); top: 50%; z-index: 45; padding: 0; transform: translateY(-50%); opacity: 0; pointer-events: none; transition: opacity .3s; }
  .ppx-toc.is-on:not(.is-done) { opacity: 1; }
  .ppx-toc.is-on:not(.is-done) .ppx-toc__in { pointer-events: auto; }
  .ppx-toc.is-done .ppx-toc__in { transform: none; }
  .ppx-toc__in { flex-direction: column; align-items: stretch; width: auto; padding: 8px; gap: 2px; overflow: visible; border-radius: 18px; }
  .ppx-toc__lbl { padding: 6px 10px 8px; font-size: 10px; }
  .ppx-toc a { display: flex; align-items: center; gap: 10px; padding: 8px 12px 8px 10px; border-radius: 12px; font-size: 13px; white-space: nowrap; }
  .ppx-toc a::before { content: ""; width: 7px; height: 7px; flex: none; border-radius: 50%; background: #d8cfcb; transition: background-color .2s, transform .2s; }
  .ppx-toc a:hover::before { background: var(--pp-coral); }
  .ppx-toc a.is-active::before { background: #fff; transform: scale(1.2); }
}
@media (min-width: 1100px) and (max-width: 1559px) {
  .ppx-toc__lbl { display: none; }
  .ppx-toc a { gap: 0; padding: 10px; font-size: 0; }
  .ppx-toc a::before { width: 9px; height: 9px; }
  .ppx-toc__in:hover a, .ppx-toc__in:focus-within a { gap: 10px; padding: 8px 12px 8px 10px; font-size: 13px; }
  .ppx-toc__in:hover, .ppx-toc__in:focus-within { box-shadow: 0 0 0 1px var(--pp-line), 0 24px 44px -20px rgba(92, 23, 14, .5); }
}

/* ---- D-120: collapsed "read more" sections (SeoPage::OPEN lists the open ones) ---- */
.ppx-moresec { padding-top: 40px !important; padding-bottom: 40px !important; }
.ppx-more { display: grid; gap: 10px; }
.ppx-more__item { border-radius: 16px; background: #fff; box-shadow: inset 0 0 0 1px var(--pp-line); scroll-margin-top: 166px; }
.pp-sec--band .ppx-more__item { background: #fff; }
.ppx-more__sum { display: flex; align-items: center; gap: 16px; padding: 20px 22px; cursor: pointer; list-style: none; border-radius: 16px; }
.ppx-more__sum::-webkit-details-marker { display: none; }
.ppx-more__sum:hover .ppx-more__t { color: var(--pp-coral-ink); }
.ppx-more__sum:focus-visible { outline: 2px solid var(--pp-coral); outline-offset: 2px; }
body .ppx-more__t { flex: 1; margin: 0; font: 650 20px/1.3 var(--cy-font, Inter, sans-serif) !important; letter-spacing: -.015em; color: var(--pp-ink); text-transform: none !important; }
.ppx-more__go { display: grid; place-items: center; width: 36px; height: 36px; flex: none; border-radius: 50%; background: var(--pp-tint); color: var(--pp-coral-ink); transition: transform .25s var(--pp-ease); }
.ppx-more__item[open] .ppx-more__go { transform: rotate(180deg); }
.ppx-more__body { padding: 4px 22px 24px; }
.ppx-more__img { margin: 0; max-width: 520px; }
.ppx-more__img img { width: 100%; height: auto; border-radius: 14px; }
@media (prefers-reduced-motion: no-preference) {
  .ppx-more__item[open] .ppx-more__body { animation: ppx-open .3s var(--pp-ease); }
}
@keyframes ppx-open { from { opacity: 0; transform: translateY(-6px); } }
@media (max-width: 767px) {
  .ppx-more__sum { padding: 16px; }
  body .ppx-more__t { font-size: 17px !important; }
  .ppx-more__body { padding: 0 16px 18px; }
}
/* v2 look */
.ds-v2 .ppx-more__item { background: var(--v2-tone); box-shadow: none; }
.ds-v2 .pp-sec--band .ppx-more__item { background: #fff; }
.ds-v2 .ppx-more__go { background: #fff; color: var(--v2-accent); }

/* ---- D-120: the "On this page" dropdown on phones and tablets (desktop keeps the left rail) ---- */
.ppx-toc__btn { display: none; }
.ppx-toc__list { display: contents; }
@media (max-width: 1099px) {
  .ppx-toc__in { position: relative; display: block; width: auto; max-width: 420px; padding: 0; overflow: visible; border-radius: 16px; }
  .ppx-toc__lbl { display: none; }
  .ppx-toc__btn { display: flex; align-items: center; gap: 6px; width: 100%; min-height: 46px; padding: 0 16px; border: 0; border-radius: 16px; background: none; font: 600 14.5px/1.2 var(--cy-font, Inter, sans-serif); color: var(--pp-ink); cursor: pointer; }
  .ppx-toc__btn [data-ppx-toc-now] { color: var(--pp-coral-ink); }
  .ppx-toc__btn [data-ppx-toc-now]:not(:empty)::before { content: "\00B7"; margin-right: 6px; color: var(--pp-ink-3, #8a7f7a); }
  .ppx-toc__btn .cy-icon { width: 18px; height: 18px; margin-left: auto; color: var(--pp-coral-ink); transition: transform .2s; }
  .ppx-toc.is-open .ppx-toc__btn .cy-icon { transform: rotate(180deg); }
  .ppx-toc__list { display: none; padding: 0 6px 6px; }
  .ppx-toc.is-open .ppx-toc__list { display: grid; }
  .ppx-toc__list a { padding: 12px 12px; border-radius: 12px; font-size: 15px; }
}

/* ===================== D-122: tables as cards, tables as tabs, the "Good to know" block ===================== */
/* cards: one per table row; a numbered coral chip, a gradient hairline on top, lift on hover */
.ppx-tcards { display: grid; grid-template-columns: repeat(var(--cols, 2), minmax(0, 1fr)); gap: 16px; margin: 6px 0 4px; padding: 0; list-style: none; }
.ppx-tcards__item { position: relative; display: flex; flex-direction: column; gap: 8px; padding: 24px 22px 22px; border-radius: 22px; overflow: hidden;
  background: linear-gradient(180deg, #fff, var(--pp-soft)); box-shadow: inset 0 0 0 1px var(--pp-line-coral), 0 18px 40px -32px rgba(92, 23, 14, .45);
  transition: transform .35s var(--pp-ease), box-shadow .35s var(--pp-ease); }
.ppx-tcards__item::before { content: ""; position: absolute; inset: 0 0 auto; height: 3px; background: linear-gradient(90deg, var(--pp-coral), rgba(240, 93, 73, 0) 75%); }
.ppx-tcards__item::after { content: ""; position: absolute; right: -60px; top: -60px; width: 160px; height: 160px; border-radius: 50%; background: radial-gradient(circle, rgba(240, 93, 73, .10), transparent 70%); pointer-events: none; }
@media (hover: hover) { .ppx-tcards__item:hover { transform: translateY(-4px); box-shadow: inset 0 0 0 1px rgba(240, 93, 73, .32), 0 24px 44px -26px rgba(92, 23, 14, .45); } }
.ppx-tcards__n { display: inline-grid; place-items: center; width: 34px; height: 34px; border-radius: 11px; background: var(--pp-tint); color: var(--pp-coral-ink); font: 700 13px/1 var(--cy-font, Inter, sans-serif); letter-spacing: .02em; }
.ppx-tcards__item:first-child .ppx-tcards__n { background: var(--pp-coral); color: #fff; box-shadow: 0 10px 22px -10px rgba(229, 83, 63, .9); }
.ppx-tcards__t { margin: 6px 0 0; font: 650 17.5px/1.3 var(--cy-font, Inter, sans-serif); letter-spacing: -.015em; color: var(--pp-ink); }
.ppx-tcards__p { margin: 0; font-size: 15.5px; line-height: 1.55; color: var(--pp-ink-2); }
.ppx-tcards__k { display: block; margin: 6px 0 2px; font: 700 11.5px/1.3 var(--cy-font, Inter, sans-serif); letter-spacing: .08em; text-transform: uppercase; color: var(--pp-coral-ink); }

/* tabs: numbered list on the left, a glass panel with a big faded index on the right */
.ppx-tabs { display: grid; grid-template-columns: minmax(220px, 300px) minmax(0, 1fr); gap: 22px; align-items: start; margin: 8px 0 4px; }
.ppx-tabs__list { display: flex; flex-direction: column; gap: 6px; position: sticky; top: 150px; }
.ppx-tabs__tab { display: flex; align-items: center; gap: 12px; width: 100%; min-height: 48px; padding: 10px 14px; border: 0; border-radius: 14px; background: transparent; text-align: left;
  font: 600 15.5px/1.3 var(--cy-font, Inter, sans-serif); color: var(--pp-ink-2); cursor: pointer; transition: background .25s, color .25s, box-shadow .25s, transform .25s var(--pp-ease); }
.ppx-tabs__n { flex: none; display: inline-grid; place-items: center; width: 30px; height: 30px; border-radius: 10px; background: var(--pp-tint); color: var(--pp-coral-ink); font: 700 12px/1 var(--cy-font, Inter, sans-serif); transition: background .25s, color .25s; }
.ppx-tabs__tab:hover { background: rgba(240, 93, 73, .06); color: var(--pp-ink); }
.ppx-tabs__tab[aria-selected="true"] { background: #fff; color: var(--pp-ink); box-shadow: inset 0 0 0 1px var(--pp-line-coral), 0 14px 30px -20px rgba(92, 23, 14, .5); transform: translateX(4px); }
.ppx-tabs__tab[aria-selected="true"] .ppx-tabs__n { background: linear-gradient(135deg, #f26a55, var(--pp-coral-ink)); color: #fff; box-shadow: 0 8px 18px -8px rgba(229, 83, 63, .9); }
.ppx-tabs__tab:focus-visible { outline: 2px solid var(--pp-coral); outline-offset: 2px; }
.ppx-tabs__panel { position: relative; overflow: hidden; min-height: 100%; padding: 30px 32px; border-radius: 26px;
  background: radial-gradient(120% 90% at 100% 0%, rgba(240, 93, 73, .10), transparent 55%), linear-gradient(180deg, #fff, var(--pp-soft));
  box-shadow: inset 0 0 0 1px var(--pp-line-coral), 0 24px 50px -36px rgba(92, 23, 14, .55); }
.ppx-tabs__panel + .ppx-tabs__panel { margin-top: 14px; }
.ppx-tabs.is-ready .ppx-tabs__panel { grid-column: 2; grid-row: 1; margin-top: 0; animation: ppx-tab-in .45s var(--pp-ease); }
.ppx-tabs__panel::after { content: attr(data-n); position: absolute; right: 24px; bottom: 6px; font: 800 72px/1 var(--cy-font, Inter, sans-serif); letter-spacing: -.04em; color: rgba(240, 93, 73, .09); pointer-events: none; }
.ppx-tabs__panel:focus-visible { outline: 2px solid var(--pp-coral); outline-offset: 3px; }
.ppx-tabs__t { margin: 0 0 16px; font: 700 24px/1.25 var(--cy-font, Inter, sans-serif); letter-spacing: -.02em; color: var(--pp-ink); }
.ppx-tabs__dl { display: grid; gap: 16px; margin: 0; position: relative; z-index: 1; }
.ppx-tabs__dl > div { padding-left: 16px; border-left: 2px solid rgba(240, 93, 73, .28); }
.ppx-tabs__dl dt { font: 700 11.5px/1.3 var(--cy-font, Inter, sans-serif); letter-spacing: .08em; text-transform: uppercase; color: var(--pp-coral-ink); }
.ppx-tabs__dl dd { margin: 5px 0 0; font-size: 16.5px; line-height: 1.6; color: var(--pp-ink-2); max-width: 68ch; }
@keyframes ppx-tab-in { from { opacity: 0; transform: translateY(8px); } to { opacity: 1; transform: none; } }
@media (prefers-reduced-motion: reduce) { .ppx-tabs.is-ready .ppx-tabs__panel { animation: none; } .ppx-tabs__tab[aria-selected="true"] { transform: none; } }
.pp-sec--dark .ppx-tabs__panel, .pp-sec--dark .ppx-tcards__item { background: rgba(255, 255, 255, .05); box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .12); }

/* the "Good to know" reference block */
.ppx-more__intro { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 14px; margin-bottom: 18px; }
.ppx-more__intro p { margin: 0; font-size: 15.5px; color: var(--pp-ink-2); }
.ppx-more__eyebrow { display: inline-flex; align-items: center; gap: 8px; padding: 7px 14px 7px 10px; border-radius: 999px; background: linear-gradient(135deg, #fff, var(--pp-tint));
  box-shadow: inset 0 0 0 1px var(--pp-line-coral); font: 700 12.5px/1 var(--cy-font, Inter, sans-serif); letter-spacing: .08em; text-transform: uppercase; color: var(--pp-coral-ink); }
.ppx-more__eyebrow .cy-icon { width: 16px; height: 16px; }

@media (max-width: 991px) {
  .ppx-tcards { --cols: 2 !important; }
  .ppx-tabs { grid-template-columns: minmax(0, 1fr); gap: 14px; }
  .ppx-tabs__list { position: static; flex-direction: row; gap: 8px; overflow-x: auto; margin: 0 -16px; padding: 4px 16px 10px; scroll-snap-type: x proximity; scrollbar-width: none; }
  .ppx-tabs__list::-webkit-scrollbar { display: none; }
  .ppx-tabs__tab { flex: none; width: auto; min-height: 44px; padding: 8px 14px 8px 8px; border-radius: 999px; background: #fff; box-shadow: inset 0 0 0 1px var(--pp-line); scroll-snap-align: start; white-space: nowrap; font-size: 14.5px; }
  .ppx-tabs__tab[aria-selected="true"] { transform: none; }
  .ppx-tabs__n { width: 28px; height: 28px; border-radius: 999px; }
  .ppx-tabs.is-ready .ppx-tabs__panel { grid-column: 1; grid-row: 2; }
}
@media (max-width: 599px) {
  .ppx-tcards { --cols: 1 !important; gap: 12px; }
  .ppx-tcards__item { padding: 20px 18px; }
  .ppx-tabs__panel { padding: 24px 20px 56px; border-radius: 22px; }
  .ppx-tabs__panel::after { font-size: 52px; right: 18px; }
  .ppx-tabs__t { font-size: 20px; }
  .ppx-tabs__dl dd { font-size: 15.5px; }
}
/* D-122 round 2: the tab panel is a column with its call to action at the foot; reference rows get a tile and a read time */
.ppx-tabs { align-items: stretch; }
.ppx-tabs__list { align-self: start; }
.ppx-tabs__panel { display: flex; flex-direction: column; }
.ppx-tabs .ppx-tabs__t { margin: 0 0 22px; padding-right: 90px; }
.ppx-tabs__cta { position: relative; z-index: 1; align-self: flex-start; display: inline-flex; align-items: center; gap: 8px; margin-top: auto; padding-top: 26px;
  font: 650 15px/1.2 var(--cy-font, Inter, sans-serif); color: var(--pp-coral-ink); text-decoration: none; }
.ppx-tabs__cta .cy-icon { width: 18px; height: 18px; transition: transform .25s var(--pp-ease); }
.ppx-tabs__cta:hover .cy-icon { transform: translateX(4px); }
.ppx-tabs__panel::after { bottom: 14px; }
.ppx-more__sum { gap: 16px; }
.ppx-more__ic { width: 42px; height: 42px; border-radius: 13px; }
.ppx-more__ic .cy-icon { width: 20px; height: 20px; }
.ppx-more__item[open] .ppx-more__ic { background: var(--pp-coral); color: #fff; box-shadow: 0 10px 22px -10px rgba(229, 83, 63, .9); }
.ppx-more__t { flex: 1; min-width: 0; }
.ppx-more__meta { flex: none; padding: 5px 10px; border-radius: 999px; background: var(--pp-soft); box-shadow: inset 0 0 0 1px var(--pp-line-coral); font: 600 12.5px/1 var(--cy-font, Inter, sans-serif); color: var(--pp-ink-2); white-space: nowrap; }
@media (max-width: 599px) {
  .ppx-more__ic { display: none; }
  .ppx-more__meta { display: none; }
  .ppx-tabs .ppx-tabs__t { padding-right: 0; }
}
@media (max-width: 991px) { .ppx-tabs__list { margin: 0; padding: 4px 0 10px; } }
@media (max-width: 599px) { .ppx-tabs__panel { padding-bottom: 24px; } .ppx-tabs__panel::after { display: none; } }
/* the table's column names, shown once above its cards or tabs */
.ppx-tlegend { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 8px; margin: 10px 0 12px; font: 700 11.5px/1.4 var(--cy-font, Inter, sans-serif); letter-spacing: .08em; text-transform: uppercase; color: var(--pp-ink-2); }
.ppx-tlegend .cy-icon { width: 14px; height: 14px; color: var(--pp-coral); }
.pp-sec--dark .ppx-tlegend { color: rgba(255, 255, 255, .7); }

/* ===================== D-125: designed sections - hub, staircase, path (owner: "a webpage, not a pdf; no rectangle blocks") ===================== */
/* --- hub: one policy in the centre, features around it --- */
.ppx-hub { list-style: none; margin: 30px 0 8px; padding: 0; display: grid; grid-template-columns: minmax(0, 1fr) 300px minmax(0, 1fr); column-gap: 60px; row-gap: 46px; align-items: center; }
.ppx-hub__core { grid-area: core; justify-self: center; position: relative; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 4px; width: 260px; height: 260px; border-radius: 50%; text-align: center;
  background: radial-gradient(circle at 35% 28%, #fff, #fff5f2 55%, #ffe3db); box-shadow: 0 46px 80px -44px rgba(229, 83, 63, .6), inset 0 0 0 1px rgba(240, 93, 73, .18); }
.ppx-hub__ring { position: absolute; border-radius: 50%; pointer-events: none; }
.ppx-hub__ring--1 { inset: -22px; border: 1.5px dashed rgba(240, 93, 73, .38); }
.ppx-hub__ring--2 { inset: -50px; border: 1px solid rgba(240, 93, 73, .12); background: radial-gradient(circle, transparent 62%, rgba(255, 225, 217, .35) 100%); }
@media (prefers-reduced-motion: no-preference) { .ppx-hub__ring--1 { animation: ppx-spin 60s linear infinite; } }
@keyframes ppx-spin { to { transform: rotate(360deg); } }
.ppx-hub__shield { display: grid; place-items: center; width: 74px; height: 74px; margin-bottom: 10px; border-radius: 50%; background: linear-gradient(140deg, #f7836f, var(--cy-primary, #f05d49) 55%, var(--pp-coral-ink)); color: #fff; box-shadow: 0 16px 30px -12px rgba(229, 83, 63, .9), inset 0 2px 0 rgba(255, 255, 255, .35); }
.ppx-hub__shield .cy-icon { width: 34px; height: 34px; }
.ppx-hub__core b { font: 700 21px/1.2 var(--cy-font, Inter, sans-serif); letter-spacing: -.02em; color: var(--pp-ink); }
.ppx-hub__script { max-width: 190px; font: 400 19px/1.3 Pacifico, "Brush Script MT", cursive; color: var(--cy-primary, #f05d49); }
.ppx-hub__item { position: relative; display: flex; align-items: flex-start; gap: 18px; }
.ppx-hub__item--l { flex-direction: row-reverse; text-align: right; }
.ppx-hub__item--b { grid-column: 1 / -1; justify-self: center; flex-direction: column; align-items: center; max-width: 440px; text-align: center; }
.ppx-hub__ic { position: relative; z-index: 1; display: grid; place-items: center; flex: none; width: 56px; height: 56px; border-radius: 50%; background: #fff; color: var(--cy-primary, #f05d49);
  box-shadow: inset 0 0 0 1.5px #f3c7bf, 0 14px 28px -16px rgba(229, 83, 63, .8); transition: background .3s, color .3s, transform .35s var(--pp-ease); }
.ppx-hub__ic .cy-icon { width: 24px; height: 24px; }
.ppx-hub__item:hover .ppx-hub__ic { background: var(--cy-primary, #f05d49); color: #fff; transform: scale(1.06); }
.ppx-hub__item--l::after, .ppx-hub__item--r::after, .ppx-hub__item--b::after { content: ""; position: absolute; pointer-events: none; }
.ppx-hub__item--l::after { top: 28px; left: 100%; width: 72px; border-top: 2px dashed rgba(240, 93, 73, .4); }
.ppx-hub__item--r::after { top: 28px; right: 100%; width: 72px; border-top: 2px dashed rgba(240, 93, 73, .4); }
.ppx-hub__item--b::after { bottom: 100%; left: 50%; height: 60px; border-left: 2px dashed rgba(240, 93, 73, .4); }
.ppx-hub__t { margin: 4px 0 6px; font: 650 18px/1.3 var(--cy-font, Inter, sans-serif); letter-spacing: -.015em; color: var(--pp-ink); }
.ppx-hub__p { margin: 0; font-size: 15.5px; line-height: 1.6; color: var(--pp-ink-2); }

/* --- staircase: rising tiers --- */
.ppx-ladder { position: relative; margin: 28px 0 10px; }
.ppx-ladder__arrow { position: absolute; left: 2%; top: 0; width: 30%; height: 110px; overflow: visible; pointer-events: none; }
.ppx-ladder__arrow path { fill: none; stroke: var(--cy-primary, #f05d49); stroke-width: 2.4; stroke-linecap: round; stroke-linejoin: round; vector-effect: non-scaling-stroke; }
.ppx-ladder__arrow path:first-child { stroke-dasharray: 2 8; }
.ppx-ladder__script { position: absolute; left: 3%; top: 68px; font: 400 21px/1.2 Pacifico, "Brush Script MT", cursive; color: var(--cy-primary, #f05d49); transform: rotate(-6deg); pointer-events: none; }
.ppx-ladder__steps { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(var(--n), minmax(0, 1fr)); gap: 20px; align-items: end; border-bottom: 2px solid rgba(240, 93, 73, .22); }
.ppx-ladder__step { display: flex; flex-direction: column; gap: 14px; }
.ppx-ladder__text { display: flex; flex-direction: column; gap: 10px; padding: 0 6px; }
.ppx-ladder__p { margin: 0; font-size: 15.5px; line-height: 1.55; color: var(--pp-ink-2); }
.ppx-ladder__k { display: block; margin-bottom: 3px; font: 700 11.5px/1.3 var(--cy-font, Inter, sans-serif); letter-spacing: .08em; text-transform: uppercase; color: var(--pp-coral-ink); }
.ppx-ladder__p--note { align-self: flex-start; display: inline-flex; align-items: center; padding: 6px 13px; border-radius: 999px; background: #fff; box-shadow: inset 0 0 0 1px var(--pp-line-coral), 0 8px 18px -14px rgba(92, 23, 14, .5); font: 600 13.5px/1.35 var(--cy-font, Inter, sans-serif); color: var(--pp-ink); }
.ppx-ladder__p--note .ppx-ladder__k { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.ppx-ladder__bar { position: relative; overflow: hidden; display: flex; flex-direction: column; gap: 6px; height: calc(150px + var(--i) * 64px); padding: 22px 24px; border-radius: 28px 28px 8px 8px; }
.ppx-ladder__bar::after { content: ""; position: absolute; inset: 0; background: linear-gradient(115deg, rgba(255, 255, 255, .45), transparent 40%); pointer-events: none; }
.ppx-ladder__step:nth-child(1) .ppx-ladder__bar { background: linear-gradient(180deg, #fff1ed, #fddcd3); box-shadow: inset 0 0 0 1px rgba(240, 93, 73, .16); }
.ppx-ladder__step:nth-child(2) .ppx-ladder__bar { background: linear-gradient(180deg, #fcc7bb, #f8a08e); box-shadow: 0 24px 40px -28px rgba(229, 83, 63, .8); }
.ppx-ladder__step:nth-child(3) .ppx-ladder__bar { background: linear-gradient(180deg, #f6826d, var(--cy-primary, #f05d49) 60%, #e5533f); box-shadow: 0 30px 50px -26px rgba(229, 83, 63, .95); color: #fff; }
.ppx-ladder__n { position: relative; z-index: 1; font: 700 11.5px/1.3 var(--cy-font, Inter, sans-serif); letter-spacing: .08em; text-transform: uppercase; color: var(--pp-coral-ink); }
.ppx-ladder__t { position: relative; z-index: 1; margin: 0; font: 750 30px/1.1 var(--cy-font, Inter, sans-serif); letter-spacing: -.03em; color: var(--pp-ink); }
.ppx-ladder__step:nth-child(3) .ppx-ladder__n, .ppx-ladder__step:nth-child(3) .ppx-ladder__t { color: #fff; }

/* --- path: factor by factor --- */
.ppx-path { list-style: none; margin: 14px 0 6px; padding: 0; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); column-gap: 30px; row-gap: 46px;
  background: radial-gradient(60% 80% at 50% 50%, rgba(255, 228, 220, .45), transparent 70%); }
.ppx-path__item { position: relative; }
.ppx-path__item::before { content: ""; position: absolute; top: 29px; left: 70px; right: -24px; border-top: 2px dashed rgba(240, 93, 73, .38); pointer-events: none; }
.ppx-path__item:nth-child(4n)::before, .ppx-path__item:last-child::before { display: none; }
.ppx-path__dot { position: relative; z-index: 1; display: grid; place-items: center; width: 58px; height: 58px; margin-bottom: 16px; border-radius: 50%; background: #fff; color: var(--cy-primary, #f05d49);
  box-shadow: inset 0 0 0 2px #f6c1b6, 0 14px 28px -16px rgba(229, 83, 63, .85); font: 750 16px/1 var(--cy-font, Inter, sans-serif); letter-spacing: -.01em; transition: background .3s, color .3s, transform .35s var(--pp-ease); }
.ppx-path__item:first-child .ppx-path__dot, .ppx-path__item:hover .ppx-path__dot { background: linear-gradient(140deg, #f7836f, var(--cy-primary, #f05d49)); color: #fff; box-shadow: 0 16px 30px -12px rgba(229, 83, 63, .9); }
.ppx-path__item:hover .ppx-path__dot { transform: translateY(-3px); }
.ppx-path__t { margin: 0 0 6px; font: 650 17px/1.3 var(--cy-font, Inter, sans-serif); letter-spacing: -.015em; color: var(--pp-ink); }
.ppx-path__p { margin: 0; font-size: 15px; line-height: 1.6; color: var(--pp-ink-2); }

@media (max-width: 991px) {
  .ppx-hub { grid-template-columns: minmax(0, 1fr); grid-template-areas: none !important; row-gap: 30px; }
  .ppx-hub__core { width: 210px; height: 210px; margin: 30px 0 34px; }
  .ppx-hub__ring--2 { inset: -36px; }
  .ppx-hub__item { grid-area: auto !important; flex-direction: row; text-align: left; justify-self: stretch; align-items: flex-start; max-width: none; }
  .ppx-hub__item::after { top: 56px !important; bottom: -30px; left: 27px !important; right: auto !important; width: 0 !important; height: auto !important; border-top: 0 !important; border-left: 2px dashed rgba(240, 93, 73, .4); }
  .ppx-hub__item:last-child::after { display: none; }
  .ppx-ladder__arrow, .ppx-ladder__script { display: none; }
  .ppx-path { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .ppx-path__item:nth-child(n)::before { display: block; }
  .ppx-path__item:nth-child(2n)::before, .ppx-path__item:last-child::before { display: none; }
}
@media (max-width: 767px) {
  .ppx-ladder__steps { grid-template-columns: minmax(0, 1fr); gap: 26px; border-bottom: 0; }
  .ppx-ladder__bar { order: -1; height: auto; width: calc(72% + var(--i) * 14%); padding: 18px 20px; border-radius: 22px; }
  .ppx-ladder__t { font-size: 25px; }
}
@media (max-width: 599px) {
  .ppx-path { grid-template-columns: minmax(0, 1fr); row-gap: 26px; }
  .ppx-path__item { padding-left: 76px; min-height: 58px; }
  .ppx-path__dot { position: absolute; left: 0; top: 0; margin: 0; }
  .ppx-path__item:nth-child(n)::before { display: block; top: 58px; left: 28px; right: auto; bottom: -26px; border-top: 0; border-left: 2px dashed rgba(240, 93, 73, .38); }
  .ppx-path__item:last-child::before { display: none; }
  .ppx-path__t { padding-top: 4px; }
}
/* D-125 round 2: room for the hub's rings under the heading; shorter steps with a shield that grows tier by tier; the arrow starts after the script */
.ppx-hub { margin-top: 74px; margin-bottom: 20px; }
.ppx-ladder__bar { height: calc(104px + var(--i) * 54px); }
.ppx-ladder__ic { position: absolute; right: 18px; bottom: 12px; z-index: 0; display: grid; place-items: center; color: var(--cy-primary, #f05d49); opacity: .5; }
.ppx-ladder__ic .cy-icon { width: calc(38px + var(--i) * 18px); height: calc(38px + var(--i) * 18px); stroke-width: 1.6; }
.ppx-ladder__step:nth-child(3) .ppx-ladder__ic { color: #fff; opacity: .55; }
.ppx-ladder__script { left: 1%; top: 86px; }
.ppx-ladder__arrow { left: 17%; top: 0; width: 18%; height: 96px; }
@media (max-width: 991px) { .ppx-hub { margin-top: 30px; } }
@media (max-width: 767px) { .ppx-ladder__bar { min-height: calc(84px + var(--i) * 14px); } .ppx-ladder__ic .cy-icon { width: calc(30px + var(--i) * 10px); height: calc(30px + var(--i) * 10px); } }
/* D-125 round 3: hub spacing as padding (a list reset zeroes its margin); the staircase script + arrow sit in tier 1's own column */
.ppx-hub { padding-top: 64px; }
.ppx-ladder__deco { position: relative; height: 96px; }
.ppx-ladder__deco .ppx-ladder__script { left: 4px; top: auto; bottom: 8px; }
.ppx-ladder__deco .ppx-ladder__arrow { left: 58%; top: 0; width: 70%; height: 80px; }
@media (max-width: 991px) { .ppx-hub { padding-top: 10px; } .ppx-ladder__deco { display: none; } }
/* .pp-sec ul/ol { margin: 0; padding: 0 } in product-pages.css outranks single-class rules; restate the spacing at its weight */
.pp-sec .ppx-hub { margin: 0 0 20px; padding-top: 76px; }
.pp-sec .ppx-path { margin: 18px 0 6px; }
@media (max-width: 991px) { .pp-sec .ppx-hub { padding-top: 40px; } }
@media (max-width: 991px) { .ppx-hub__core { grid-area: auto; } }

/* ===================== D-127: "directly vs through CoverYou" as a versus layout ===================== */
.ppx-vs { position: relative; margin: 22px 0 8px; padding: 6px 0 4px;
  background: radial-gradient(42% 70% at 80% 55%, rgba(240, 93, 73, .13), transparent 72%), radial-gradient(30% 50% at 18% 50%, rgba(21, 17, 15, .035), transparent 70%); }
.ppx-vs__head, .ppx-vs__row { display: grid; grid-template-columns: minmax(0, 1fr) 170px minmax(0, 1fr); align-items: center; column-gap: 26px; }
.ppx-vs__head { margin-bottom: 8px; }
.ppx-vs__side { display: flex; align-items: center; gap: 12px; margin: 0; font: 700 13px/1.3 var(--cy-font, Inter, sans-serif); letter-spacing: .09em; text-transform: uppercase; }
.ppx-vs__side--a { justify-content: flex-end; color: var(--pp-ink-2); }
.ppx-vs__side--a .ppx-vs__ic { order: 2; }
.ppx-vs__side--b { color: var(--pp-coral-ink); }
.ppx-vs__ic { display: grid; place-items: center; flex: none; width: 44px; height: 44px; border-radius: 50%; }
.ppx-vs__ic .cy-icon { width: 21px; height: 21px; }
.ppx-vs__side--a .ppx-vs__ic { background: #f3f0ee; color: #8a817c; box-shadow: inset 0 0 0 1px rgba(21, 17, 15, .08); }
.ppx-vs__side--b .ppx-vs__ic { background: linear-gradient(140deg, #f7836f, var(--cy-primary, #f05d49)); color: #fff; box-shadow: 0 14px 26px -12px rgba(229, 83, 63, .9); }
.ppx-vs__badge { position: relative; justify-self: center; display: grid; place-items: center; width: 66px; height: 66px; border-radius: 50%;
  background: linear-gradient(140deg, #f7836f, var(--cy-primary, #f05d49) 55%, var(--pp-coral-ink)); color: #fff; font: 800 19px/1 var(--cy-font, Inter, sans-serif); letter-spacing: .02em;
  box-shadow: 0 0 0 8px rgba(240, 93, 73, .12), 0 18px 34px -14px rgba(229, 83, 63, .95), inset 0 2px 0 rgba(255, 255, 255, .3); z-index: 1; }
.ppx-vs__rows { position: relative; margin: 0; }
.ppx-vs__rows::before { content: ""; position: absolute; left: 50%; top: -6px; bottom: 18px; border-left: 2px dashed rgba(240, 93, 73, .35); pointer-events: none; }
.ppx-vs__row { grid-template-areas: "a label b"; padding: 16px 0; }
.ppx-vs__row + .ppx-vs__row { border-top: 1px solid transparent; background-image: linear-gradient(90deg, transparent, rgba(21, 17, 15, .07) 20%, rgba(21, 17, 15, .07) 38%, transparent 44%, transparent 56%, rgba(240, 93, 73, .16) 62%, rgba(240, 93, 73, .16) 80%, transparent);
  background-size: 100% 1px; background-repeat: no-repeat; background-position: top; }
.ppx-vs__label { grid-area: label; justify-self: center; position: relative; z-index: 1; margin: 0; padding: 8px 15px; border-radius: 999px; background: #fff; text-align: center;
  box-shadow: inset 0 0 0 1px var(--pp-line-coral), 0 10px 22px -16px rgba(92, 23, 14, .55); font: 650 13.5px/1.25 var(--cy-font, Inter, sans-serif); color: var(--pp-ink); transition: background .25s, color .25s; }
.ppx-vs__row:hover .ppx-vs__label { background: var(--cy-primary, #f05d49); color: #fff; }
.ppx-vs__a { grid-area: a; margin: 0; text-align: right; font-size: 16px; line-height: 1.5; color: #7a716c; }
.ppx-vs__b { grid-area: b; display: flex; align-items: flex-start; gap: 12px; margin: 0; font: 600 16.5px/1.5 var(--cy-font, Inter, sans-serif); color: var(--pp-ink); }
.ppx-vs__tick { display: grid; place-items: center; flex: none; width: 24px; height: 24px; margin-top: 1px; border-radius: 50%; background: var(--cy-primary, #f05d49); color: #fff; box-shadow: 0 6px 14px -6px rgba(229, 83, 63, .9); }
.ppx-vs__tick .cy-icon { width: 14px; height: 14px; stroke-width: 3; }
.ppx-vs__who { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
@media (max-width: 767px) {
  .ppx-vs { background: radial-gradient(80% 60% at 70% 50%, rgba(240, 93, 73, .1), transparent 72%); }
  .ppx-vs__head { grid-template-columns: minmax(0, 1fr) 52px minmax(0, 1fr); column-gap: 10px; margin-bottom: 18px; }
  .ppx-vs__side { flex-direction: column; gap: 8px; font-size: 11.5px; text-align: center; }
  .ppx-vs__side--a { justify-content: center; }
  .ppx-vs__side--a .ppx-vs__ic { order: 0; }
  .ppx-vs__badge { width: 48px; height: 48px; font-size: 15px; box-shadow: 0 0 0 6px rgba(240, 93, 73, .12), 0 12px 24px -12px rgba(229, 83, 63, .95); }
  .ppx-vs__rows::before { display: none; }
  .ppx-vs__row { grid-template-columns: minmax(0, 1fr); grid-template-areas: "label" "a" "b"; row-gap: 10px; padding: 16px 0; }
  .ppx-vs__row + .ppx-vs__row { background-image: linear-gradient(90deg, rgba(21, 17, 15, .08), rgba(240, 93, 73, .18)); }
  .ppx-vs__label { justify-self: start; }
  .ppx-vs__a { text-align: left; font-size: 15px; }
  .ppx-vs__b { font-size: 15.5px; }
  .ppx-vs__who { position: static; width: auto; height: auto; overflow: visible; clip: auto; white-space: normal; font-weight: 700; }
  .ppx-vs__a .ppx-vs__who { color: var(--pp-ink-2); }
  .ppx-vs__b .ppx-vs__who { color: var(--pp-coral-ink); }
}

/* ===================== D-127: the rest of the PI page as designed elements ===================== */
/* .pp-sec ul/ol/p/h3 { margin: 0 } (product-pages.css) outranks single classes, so list containers here carry .pp-sec */

/* --- quick answer: spread --- */
.ppx-spread { display: grid; grid-template-columns: minmax(0, 1.05fr) minmax(0, 1fr); gap: 34px 56px; align-items: start; margin: 6px 0 0; }
.ppx-spread__lead { position: relative; padding: 6px 0 0 30px; }
.ppx-spread__lead::before { content: ""; position: absolute; left: 0; top: 10px; bottom: 6px; width: 4px; border-radius: 4px; background: linear-gradient(180deg, var(--cy-primary, #f05d49), rgba(240, 93, 73, .1)); }
.ppx-spread__lead dt { display: flex; align-items: baseline; gap: 12px; margin: 0 0 12px; font: 700 12px/1.3 var(--cy-font, Inter, sans-serif); letter-spacing: .1em; text-transform: uppercase; color: var(--pp-coral-ink); }
.ppx-spread__script { font: 400 24px/1 Pacifico, "Brush Script MT", cursive; letter-spacing: 0; text-transform: none; color: var(--cy-primary, #f05d49); }
.ppx-spread__lead dd { margin: 0; font: 500 22px/1.55 var(--cy-font, Inter, sans-serif); letter-spacing: -.012em; color: var(--pp-ink); }
.ppx-spread__rest { display: flex; flex-direction: column; }
.ppx-spread__item { display: flex; gap: 16px; padding: 18px 0; }
.ppx-spread__item + .ppx-spread__item { border-top: 1.5px dashed rgba(240, 93, 73, .25); }
.ppx-spread__item:first-child { padding-top: 4px; }
.ppx-spread__ic { display: grid; place-items: center; flex: none; width: 44px; height: 44px; border-radius: 50%; background: #fff; color: var(--cy-primary, #f05d49); box-shadow: inset 0 0 0 1.5px #f3c7bf, 0 12px 24px -14px rgba(229, 83, 63, .8); }
.ppx-spread__item:last-child .ppx-spread__ic { color: #8a817c; box-shadow: inset 0 0 0 1.5px rgba(21, 17, 15, .14); }
.ppx-spread__ic .cy-icon { width: 21px; height: 21px; }
.ppx-spread__item dt { margin: 0 0 4px; font: 700 11.5px/1.3 var(--cy-font, Inter, sans-serif); letter-spacing: .09em; text-transform: uppercase; color: var(--pp-coral-ink); }
.ppx-spread__item dd { margin: 0; font-size: 15.5px; line-height: 1.6; color: var(--pp-ink-2); }

/* --- figures as a band --- */
.pp-sec .ppx-band { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); margin: 6px 0 0; padding: 26px 0 4px; list-style: none; border-top: 1.5px dashed rgba(240, 93, 73, .25); }
.ppx-band li { position: relative; display: flex; flex-direction: column; gap: 4px; padding: 0 24px; }
.ppx-band li:first-child { padding-left: 0; }
.ppx-band li + li::before { content: ""; position: absolute; left: 0; top: 6px; bottom: 6px; width: 1.5px; background: linear-gradient(180deg, transparent, rgba(240, 93, 73, .35), transparent); }
.ppx-band b { font: 800 42px/1.05 var(--cy-font, Inter, sans-serif); letter-spacing: -.035em; background: linear-gradient(120deg, #f7836f, var(--cy-primary, #f05d49) 50%, var(--pp-coral-ink)); -webkit-background-clip: text; background-clip: text; color: transparent; }
.ppx-band span { font-size: 14.5px; color: var(--pp-ink-2); }

/* --- definition statement --- */
.ppx-p--big { position: relative; column-span: all; max-width: 900px !important; margin: 0 0 26px !important; padding-left: 58px; font: 500 22px/1.55 var(--cy-font, Inter, sans-serif) !important; letter-spacing: -.012em; color: var(--pp-ink); }
.ppx-p__quote { position: absolute; left: 0; top: -14px; font: 400 88px/1 Pacifico, Georgia, serif; color: var(--cy-primary, #f05d49); opacity: .85; }

/* --- speech bubbles (claim triggers) --- */
.pp-sec .ppx-list--bubble { display: flex; flex-direction: column; gap: 14px; margin: 4px 0 6px; }
.ppx-list--bubble li { position: relative; align-self: flex-start; display: flex; align-items: center; gap: 12px; max-width: 92%; padding: 13px 18px 13px 14px; border-radius: 22px 22px 22px 6px; background: #fff;
  box-shadow: inset 0 0 0 1px var(--pp-line-coral), 0 16px 30px -22px rgba(92, 23, 14, .55); font-size: 15.5px; color: var(--pp-ink); }
.ppx-list--bubble li:nth-child(2) { margin-left: 34px; border-radius: 22px 22px 6px 22px; }
.ppx-list--bubble li:nth-child(3) { margin-left: 12px; }
.ppx-list--bubble .ppx-list__ic { display: grid; place-items: center; flex: none; width: 32px; height: 32px; border-radius: 50%; background: var(--pp-tint); color: var(--cy-primary, #f05d49); }
.ppx-list--bubble .ppx-list__ic .cy-icon { width: 17px; height: 17px; }

/* --- personas --- */
.pp-sec .ppx-personas { display: grid; grid-template-columns: repeat(var(--n, 4), minmax(0, 1fr)); gap: 28px; margin: 18px 0 6px; list-style: none; }
.ppx-personas__item { display: flex; flex-direction: column; gap: 14px; }
.ppx-personas__ic { position: relative; display: grid; place-items: center; width: 74px; height: 74px; border-radius: 50%; color: var(--cy-primary, #f05d49);
  background: radial-gradient(circle at 35% 30%, #fff, #fff1ed 70%); box-shadow: inset 0 0 0 1.5px #f3c7bf, 0 18px 34px -18px rgba(229, 83, 63, .75); }
.ppx-personas__ic::after { content: ""; position: absolute; inset: -8px; border-radius: 50%; border: 1.5px dashed rgba(240, 93, 73, .28); }
.ppx-personas__item:last-child .ppx-personas__ic { background: linear-gradient(140deg, #f7836f, var(--cy-primary, #f05d49)); color: #fff; box-shadow: 0 18px 34px -14px rgba(229, 83, 63, .9); }
.ppx-personas__ic .cy-icon { width: 30px; height: 30px; }
.pp-sec .ppx-personas p { margin: 0; font-size: 15.5px; line-height: 1.6; color: var(--pp-ink-2); }
.ppx-personas p b { display: block; margin-bottom: 4px; font: 650 17px/1.3 var(--cy-font, Inter, sans-serif); color: var(--pp-ink); }

/* --- quadrant --- */
.ppx-quad { position: relative; margin: 26px 0 6px; }
.pp-sec .ppx-quad__list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); list-style: none; margin: 0; }
.ppx-quad__list::before, .ppx-quad__list::after { content: ""; position: absolute; pointer-events: none; }
.ppx-quad__list::before { left: 50%; top: 0; bottom: 0; border-left: 2px dashed rgba(240, 93, 73, .3); }
.ppx-quad__list::after { top: 50%; left: 0; right: 0; border-top: 2px dashed rgba(240, 93, 73, .3); }
.ppx-quad__item { display: flex; flex-direction: column; gap: 10px; padding: 34px 64px 38px 6px; }
.ppx-quad__item:nth-child(2n) { padding: 34px 6px 38px 64px; }
.ppx-quad__core { position: absolute; left: 50%; top: 50%; z-index: 1; display: grid; place-items: center; width: 82px; height: 82px; border-radius: 50%; transform: translate(-50%, -50%);
  background: linear-gradient(140deg, #f7836f, var(--cy-primary, #f05d49) 55%, var(--pp-coral-ink)); color: #fff; box-shadow: 0 0 0 10px rgba(255, 255, 255, .85), 0 0 0 11.5px rgba(240, 93, 73, .2), 0 22px 40px -16px rgba(229, 83, 63, .9); }
.ppx-quad__core .cy-icon { width: 36px; height: 36px; }
.ppx-quad__ic { display: grid; place-items: center; width: 50px; height: 50px; border-radius: 16px; background: var(--pp-tint); color: var(--cy-primary, #f05d49); transform: rotate(-6deg); }
.ppx-quad__item:nth-child(2n) .ppx-quad__ic { transform: rotate(6deg); }
.ppx-quad__ic .cy-icon { width: 24px; height: 24px; transform: rotate(6deg); }
.ppx-quad__item:nth-child(2n) .ppx-quad__ic .cy-icon { transform: rotate(-6deg); }
.pp-sec .ppx-quad__t { margin: 4px 0 2px; font: 650 19px/1.3 var(--cy-font, Inter, sans-serif); letter-spacing: -.015em; color: var(--pp-ink); }
.pp-sec .ppx-quad__p { margin: 0; font-size: 15.5px; line-height: 1.65; color: var(--pp-ink-2); }

/* --- covered / not covered (PI page) --- */
.pl-page .ppx-cols { gap: 0 70px; position: relative; }
.pl-page .ppx-cols::before { content: ""; position: absolute; left: 50%; top: 10px; bottom: 10px; border-left: 2px dashed rgba(240, 93, 73, .25); }
.pl-page .ppx-col { padding: 4px 0 0; background: none !important; box-shadow: none !important; border: 0 !important; }
.pl-page .ppx-col__title { display: flex; align-items: center; gap: 14px; margin: 0 0 14px !important; font: 700 21px/1.25 var(--cy-font, Inter, sans-serif) !important; letter-spacing: -.02em; }
.pl-page .ppx-col__title .ppx-list__ic { display: grid; place-items: center; width: 52px; height: 52px; border-radius: 50%; }
.pl-page .ppx-col__title .ppx-list__ic .cy-icon { width: 24px; height: 24px; }
.pl-page .ppx-col--check .ppx-col__title .ppx-list__ic { background: linear-gradient(140deg, #f7836f, var(--cy-primary, #f05d49)); color: #fff; box-shadow: 0 14px 28px -12px rgba(229, 83, 63, .9); }
.pl-page .ppx-col--cross .ppx-col__title .ppx-list__ic { background: #f3f0ee; color: #7a716c; box-shadow: inset 0 0 0 1px rgba(21, 17, 15, .1); }
.pl-page .ppx-col ul { margin: 0 !important; }
.pl-page .ppx-col li { position: relative; padding: 12px 0 12px 32px !important; border: 0 !important; font-size: 16px; line-height: 1.55; }
.pl-page .ppx-col li::before { content: "" !important; position: absolute; left: 4px; top: 19px; width: 12px; height: 12px; border-radius: 50%; background: var(--cy-primary, #f05d49) !important; box-shadow: 0 0 0 4px rgba(240, 93, 73, .15); }
.pl-page .ppx-col--cross li { color: #6b625d; }
.pl-page .ppx-col--cross li::before { background: none !important; box-shadow: none; width: 12px; height: 2px; top: 24px; border-radius: 2px; background-color: #a39a95 !important; }

/* --- how to buy: journey without the panel (PI page) --- */
.pl-page #how-to-buy .pp-journey { background: none; box-shadow: none; padding: 10px 0 0; }
.pl-page #how-to-buy .pp-step .pp-tile { width: 62px; height: 62px; border-radius: 50%; font-size: 20px; }
.pl-page #how-to-buy .pp-step b { font-size: 18px; }
.pl-page #how-to-buy .pp-step__t { font-size: 15px; line-height: 1.6; }

/* --- claims track (dark) --- */
.pp-sec .ppx-track { display: grid; grid-template-columns: repeat(var(--n, 4), minmax(0, 1fr)); gap: 0 34px; margin: 22px 0 10px; list-style: none; }
.ppx-track__item { position: relative; display: flex; flex-direction: column; gap: 18px; }
.ppx-track__item::before { content: ""; position: absolute; top: 31px; left: 72px; right: -26px; height: 2px; background: linear-gradient(90deg, rgba(240, 93, 73, .8), rgba(240, 93, 73, .15)); }
.ppx-track__item:last-child::before { display: none; }
.ppx-track__n { position: relative; display: grid; place-items: center; width: 62px; height: 62px; border-radius: 50%; background: linear-gradient(140deg, #f7836f, var(--cy-primary, #f05d49)); color: #fff; font: 800 22px/1 var(--cy-font, Inter, sans-serif);
  box-shadow: 0 0 0 8px rgba(240, 93, 73, .14), 0 0 40px rgba(240, 93, 73, .45); }
.pp-sec .ppx-track p { margin: 0; font-size: 15.5px; line-height: 1.6; color: rgba(255, 255, 255, .82); }
.ppx-track p b { color: #fff; }

/* --- claim walkthrough timeline (dark) --- */
.ppx-tl { margin: 18px 0 4px; }
.pp-sec .ppx-tl__head { display: grid; grid-template-columns: minmax(0, 1fr) 210px minmax(0, 1fr); gap: 26px; margin: 0 0 8px; font: 700 11.5px/1.3 var(--cy-font, Inter, sans-serif); letter-spacing: .1em; text-transform: uppercase; color: #f7a493; }
.ppx-tl__head span:first-child { text-align: right; }
.ppx-tl__head span:nth-child(2) { text-align: center; }
.pp-sec .ppx-tl__list { position: relative; list-style: none; margin: 0; }
.ppx-tl__list::before { content: ""; position: absolute; left: 50%; top: 8px; bottom: 8px; width: 2px; transform: translateX(-1px); background: linear-gradient(180deg, rgba(240, 93, 73, .85), rgba(240, 93, 73, .2)); }
.ppx-tl__row { display: grid; grid-template-columns: minmax(0, 1fr) 210px minmax(0, 1fr); gap: 26px; align-items: center; padding: 14px 0; }
.pp-sec .ppx-tl__a { margin: 0; text-align: right; font-size: 15.5px; line-height: 1.6; color: rgba(255, 255, 255, .78); }
.pp-sec .ppx-tl__b { margin: 0; font-size: 15.5px; line-height: 1.6; color: #fff; }
.pp-sec .ppx-tl__stage { position: relative; z-index: 1; justify-self: center; display: inline-flex; align-items: center; gap: 8px; margin: 0; padding: 9px 16px 9px 10px; border-radius: 999px;
  background: #2a1d1a; box-shadow: inset 0 0 0 1px rgba(240, 93, 73, .45), 0 10px 26px -12px rgba(0, 0, 0, .7); font: 650 14px/1.2 var(--cy-font, Inter, sans-serif); color: #fff; white-space: nowrap; }
.ppx-tl__dot { width: 10px; height: 10px; border-radius: 50%; background: var(--cy-primary, #f05d49); box-shadow: 0 0 0 4px rgba(240, 93, 73, .25), 0 0 14px rgba(240, 93, 73, .8); }
.ppx-tl__k { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }

/* --- mistakes: struck numerals --- */
.pp-sec .ppx-donts { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px 56px; margin: 14px 0 4px; list-style: none; }
.ppx-donts__item { position: relative; display: grid; grid-template-columns: 76px minmax(0, 1fr); align-items: center; gap: 16px; padding: 14px 0; }
.ppx-donts__n { position: relative; font: 800 50px/1 var(--cy-font, Inter, sans-serif); letter-spacing: -.04em; color: transparent; -webkit-text-stroke: 1.6px rgba(240, 93, 73, .65); }
.ppx-donts__n::after { content: ""; position: absolute; left: -4px; right: 0; top: 52%; height: 3px; border-radius: 3px; background: var(--cy-primary, #f05d49); transform: rotate(-12deg); }
.ppx-donts__x { position: absolute; left: 56px; top: 10px; display: grid; place-items: center; width: 22px; height: 22px; border-radius: 50%; background: var(--cy-primary, #f05d49); color: #fff; box-shadow: 0 6px 14px -6px rgba(229, 83, 63, .9); }
.ppx-donts__x .cy-icon { width: 13px; height: 13px; stroke-width: 3; }
.pp-sec .ppx-donts p { margin: 0; font-size: 16px; line-height: 1.55; color: var(--pp-ink); }

/* --- reasons: medallions --- */
.pp-sec .ppx-reasons { display: grid; grid-template-columns: repeat(var(--n, 5), minmax(0, 1fr)); gap: 26px; margin: 16px 0 8px; list-style: none; }
.ppx-reasons__item { display: flex; flex-direction: column; align-items: center; gap: 16px; text-align: center; }
.ppx-reasons__ic { position: relative; display: grid; place-items: center; width: 78px; height: 78px; border-radius: 50%; background: #fff; color: var(--cy-primary, #f05d49);
  box-shadow: inset 0 0 0 1.5px #f3c7bf, 0 20px 36px -20px rgba(229, 83, 63, .85); }
.ppx-reasons__ic::before { content: ""; position: absolute; inset: -9px; border-radius: 50%; background: conic-gradient(from 200deg, rgba(240, 93, 73, .55), rgba(240, 93, 73, 0) 40%, rgba(240, 93, 73, .35) 70%, rgba(240, 93, 73, 0)); -webkit-mask: radial-gradient(circle, transparent 60%, #000 61%); mask: radial-gradient(circle, transparent 60%, #000 61%); }
.ppx-reasons__item:first-child .ppx-reasons__ic { background: linear-gradient(140deg, #f7836f, var(--cy-primary, #f05d49)); color: #fff; }
.ppx-reasons__ic .cy-icon { width: 32px; height: 32px; }
.pp-sec .ppx-reasons p { margin: 0; font-size: 15px; line-height: 1.6; color: var(--pp-ink-2); }

/* --- scenarios: case-file notes --- */
.pp-sec .ppx-stories { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 34px; margin: 34px 0 10px; list-style: none; }
.ppx-stories__item { position: relative; display: flex; flex-direction: column; gap: 10px; padding: 34px 26px 28px; border-radius: 6px 6px 28px 6px; background: linear-gradient(180deg, #fffdfb, #fff6f2);
  box-shadow: 0 1px 0 rgba(21, 17, 15, .04), 0 26px 44px -30px rgba(92, 23, 14, .55), inset 0 0 0 1px rgba(240, 93, 73, .12); transform: rotate(-1.6deg); transition: transform .4s var(--pp-ease); }
.ppx-stories__item:nth-child(2) { transform: rotate(1.2deg) translateY(14px); }
.ppx-stories__item:nth-child(3) { transform: rotate(-.8deg); }
@media (hover: hover) { .ppx-stories__item:hover { transform: rotate(0) translateY(-4px); } }
.ppx-stories__item::after { content: ""; position: absolute; right: 0; bottom: 0; width: 34px; height: 34px; border-radius: 0 0 28px 0; background: linear-gradient(315deg, transparent 50%, #fbd9d0 50%); }
.ppx-stories__tape { position: absolute; left: 50%; top: -12px; width: 92px; height: 24px; transform: translateX(-50%) rotate(-3deg); background: rgba(240, 93, 73, .22); box-shadow: inset 0 0 0 1px rgba(240, 93, 73, .15); }
.ppx-stories__stamp { position: absolute; right: 18px; top: 22px; padding: 3px 9px; border: 2px solid rgba(240, 93, 73, .55); border-radius: 8px; transform: rotate(8deg); font: 800 10.5px/1.3 var(--cy-font, Inter, sans-serif); letter-spacing: .14em; text-transform: uppercase; color: rgba(229, 83, 63, .75); }
.ppx-stories__ic { display: grid; place-items: center; width: 52px; height: 52px; border-radius: 50%; background: linear-gradient(140deg, #f7836f, var(--cy-primary, #f05d49)); color: #fff; box-shadow: 0 14px 26px -12px rgba(229, 83, 63, .9); }
.ppx-stories__ic .cy-icon { width: 24px; height: 24px; }
.ppx-stories__file { margin-top: 8px; font: 700 11.5px/1.3 var(--cy-font, Inter, sans-serif); letter-spacing: .12em; text-transform: uppercase; color: var(--pp-coral-ink); }
.pp-sec .ppx-stories__t { margin: 0; font: 700 20px/1.25 var(--cy-font, Inter, sans-serif); letter-spacing: -.02em; color: var(--pp-ink); }
.pp-sec .ppx-stories__p { margin: 0; font-size: 15.5px; line-height: 1.65; color: var(--pp-ink-2); }

/* --- tablets and phones --- */
@media (max-width: 991px) {
  .ppx-spread { grid-template-columns: minmax(0, 1fr); gap: 26px; }
  .pp-sec .ppx-band { grid-template-columns: repeat(2, minmax(0, 1fr)); row-gap: 22px; }
  .ppx-band li:nth-child(3) { padding-left: 0; }
  .ppx-band li:nth-child(3)::before { display: none; }
  .pp-sec .ppx-personas { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .pp-sec .ppx-track { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 30px 30px; }
  .ppx-track__item:nth-child(2)::before { display: none; }
  .pp-sec .ppx-reasons { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .pp-sec .ppx-reasons .ppx-reasons__item { flex-direction: row; align-items: flex-start; text-align: left; }
  .ppx-reasons__ic { flex: none; width: 60px; height: 60px; }
  .ppx-reasons__ic .cy-icon { width: 26px; height: 26px; }
  .pp-sec .ppx-stories { grid-template-columns: minmax(0, 1fr); max-width: 560px; margin-left: auto; margin-right: auto; }
  .ppx-stories__item:nth-child(2) { transform: rotate(1deg); }
}
@media (max-width: 767px) {
  .ppx-spread__lead dd, .ppx-p--big { font-size: 19px !important; }
  .ppx-p--big { padding-left: 44px; }
  .ppx-p__quote { font-size: 64px; }
  .ppx-band b { font-size: 34px; }
  .pp-sec .ppx-personas { grid-template-columns: minmax(0, 1fr); gap: 22px; }
  .ppx-personas__item { flex-direction: row; align-items: flex-start; gap: 18px; }
  .ppx-personas__ic { flex: none; width: 58px; height: 58px; }
  .ppx-personas__ic .cy-icon { width: 24px; height: 24px; }
  .pp-sec .ppx-quad__list { grid-template-columns: minmax(0, 1fr); }
  .ppx-quad__list::before, .ppx-quad__list::after, .ppx-quad__core { display: none; }
  .ppx-quad__item, .ppx-quad__item:nth-child(2n) { padding: 20px 0; }
  .ppx-quad__item + .ppx-quad__item { border-top: 1.5px dashed rgba(240, 93, 73, .28); }
  .pl-page .ppx-cols::before { display: none; }
  .pl-page .ppx-cols { gap: 30px; }
  .pp-sec .ppx-track { grid-template-columns: minmax(0, 1fr); gap: 0; }
  .ppx-track__item { flex-direction: row; gap: 18px; padding-bottom: 26px; }
  .ppx-track__item::before { display: block !important; top: 64px; bottom: 0; left: 30px; right: auto; width: 2px; height: auto; background: linear-gradient(180deg, rgba(240, 93, 73, .7), rgba(240, 93, 73, .1)); }
  .ppx-track__item:last-child::before { display: none !important; }
  .ppx-track__n { flex: none; width: 52px; height: 52px; font-size: 19px; }
  .pp-sec .ppx-tl__head { display: none; }
  .ppx-tl__list::before { left: 14px; }
  .ppx-tl__row { grid-template-columns: minmax(0, 1fr); gap: 8px; padding: 12px 0 18px 40px; }
  .pp-sec .ppx-tl__stage { order: -1; justify-self: start; margin-left: -40px; }
  .pp-sec .ppx-tl__a { text-align: left; }
  .ppx-tl__k { position: static; width: auto; height: auto; overflow: visible; clip: auto; display: block; margin-bottom: 2px; font: 700 11px/1.3 var(--cy-font, Inter, sans-serif); letter-spacing: .09em; text-transform: uppercase; color: #f7a493; }
  .pp-sec .ppx-donts { grid-template-columns: minmax(0, 1fr); }
  .ppx-donts__item { grid-template-columns: 62px minmax(0, 1fr); }
  .ppx-donts__n { font-size: 40px; }
  .ppx-donts__x { left: 44px; }
  .pp-sec .ppx-reasons { grid-template-columns: minmax(0, 1fr); }
  .ppx-list--bubble li, .ppx-list--bubble li:nth-child(2), .ppx-list--bubble li:nth-child(3) { max-width: 100%; margin-left: 0; }
}
/* D-127 round 2: solid soft numerals for the mistakes (the hollow outline dropped glyphs); room for the definition's quote mark */
.ppx-donts__n { color: #fbcfc4; -webkit-text-stroke: 0; font-weight: 800; }
.ppx-donts__n::after { left: -2px; right: 6px; height: 2.5px; top: 50%; background: var(--cy-primary, #f05d49); transform: rotate(-10deg); }
.ppx-donts__x { left: auto; right: 6px; top: 6px; }
.ppx-donts__item { grid-template-columns: 84px minmax(0, 1fr); }
.ppx-p--big { margin-top: 14px !important; }
@media (max-width: 767px) { .ppx-donts__item { grid-template-columns: 68px minmax(0, 1fr); } }
.ppx-donts__n { font-weight: 700; letter-spacing: -.02em; font-variant-numeric: lining-nums tabular-nums; }
.ppx-donts__x { left: 60px; right: auto; top: 6px; }
@media (max-width: 767px) { .ppx-donts__x { left: 46px; } }
.ppx-donts__n { font-size: 54px; }
.ppx-donts__n::after { right: 30px; }
.ppx-donts__x { left: 34px; }
@media (max-width: 767px) { .ppx-donts__n { font-size: 44px; } .ppx-donts__x { left: 28px; } }
.ppx-donts__item { grid-template-columns: 70px minmax(0, 1fr); }
@media (max-width: 767px) { .ppx-donts__item { grid-template-columns: 58px minmax(0, 1fr); } }
@media (max-width: 767px) {
  .ppx-vs__b { display: block; position: relative; padding-left: 36px; }
  .ppx-vs__tick { position: absolute; left: 0; top: 1px; margin: 0; }
}

/* D-128 (owner, 30 Oct: "properly set the page shading and background" on the home page): the home page paints one
   continuous decor background (.homepage-figma-bg, style.css). The SEO-brief sections and the FAQ painted their own
   white / pink band on top, cutting it into blocks with hard edges; on the home page they are transparent. */
.homepage-figma-bg .pp-sec, .homepage-figma-bg .pp-sec--band, .homepage-figma-bg .cy-faq { background: transparent; }
/* D-129 (owner: "align it properly, it is not fully set with the page; fix these bugs throughout the page"): text in the
   designed blocks starts on the same edge as the section heading - decoration sits above the text, not beside it */
.ppx-p--big { max-width: none !important; padding: 52px 0 0; font-size: 24px !important; line-height: 1.5 !important; }
.ppx-p__quote { left: -4px; top: -10px; font-size: 76px; line-height: 1; }
.ppx-spread__lead { padding: 22px 0 0; }
.ppx-spread__lead::before { left: 0; top: 0; bottom: auto; width: 56px; height: 4px; background: linear-gradient(90deg, var(--cy-primary, #f05d49), rgba(240, 93, 73, .15)); }
.ppx-ladder__text { padding: 0; }
@media (max-width: 767px) { .ppx-p--big { padding: 42px 0 0; font-size: 19px !important; } .ppx-p__quote { font-size: 60px; top: -8px; } }
.ppx-quad__item { padding-left: 0; }
.ppx-quad__item:nth-child(2n) { padding-right: 0; }
.ppx-p--big { padding-top: 40px; }
@media (max-width: 767px) { .ppx-quad__item, .ppx-quad__item:nth-child(2n) { padding-left: 0; padding-right: 0; } }
.ppx-p__quote { left: 0; }

/* ===================== D-130: banner layout (owner: "this was supposed to be a banner, not a section") ===================== */
/* a rounded coral banner across the content width, like the home page's fraud-alert and review banners:
   heading + disclaimer on the left, the cases as compact rows on the right */
.pp-sec:has(> .ppx-wrap--banner) { padding-top: 40px; padding-bottom: 40px; }
.ppx-wrap--banner { position: relative; overflow: hidden; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); gap: 18px 56px; align-items: center; padding: 50px 56px; border-radius: 32px; color: #fff;
  background: radial-gradient(70% 120% at 100% 0%, rgba(255, 255, 255, .16), transparent 55%), linear-gradient(125deg, #f7836f, var(--cy-primary, #f05d49) 45%, var(--cy-brand-700, #c9412e));
  box-shadow: 0 40px 70px -40px rgba(229, 83, 63, .75); }
.ppx-wrap--banner::before, .ppx-wrap--banner::after { content: ""; position: absolute; border-radius: 50%; pointer-events: none; }
.ppx-wrap--banner::before { width: 420px; height: 420px; left: -160px; bottom: -230px; border: 1.5px dashed rgba(255, 255, 255, .28); }
.ppx-wrap--banner::after { width: 260px; height: 260px; left: -70px; bottom: -150px; background: rgba(255, 255, 255, .08); }
.ppx-wrap--banner .ppx-body { display: contents; }
.ppx-wrap--banner .ppx-head { grid-column: 1; grid-row: 1; align-self: end; position: relative; z-index: 1; gap: 12px; }
.ppx-wrap--banner .ppx-head .pp-tag { background: rgba(255, 255, 255, .18); color: #fff; box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .3); }
.ppx-wrap--banner .ppx-head .pp-tag span { background: #fff; color: var(--cy-primary, #f05d49); }
.ppx-wrap--banner .ppx-head h2 { color: #fff; }
.ppx-wrap--banner .ppx-head h2::after { content: "what if…?"; display: block; margin-top: 6px; font: 400 26px/1.3 Pacifico, "Brush Script MT", cursive; letter-spacing: 0; color: rgba(255, 255, 255, .92); }
.ppx-wrap--banner .ppx-body > .ppx-p { grid-column: 1; grid-row: 2; align-self: start; position: relative; z-index: 1; max-width: 42ch; margin: 0; font-size: 14.5px; line-height: 1.6; color: rgba(255, 255, 255, .85); }
.ppx-wrap--banner .ppx-cases { grid-column: 2; grid-row: 1 / span 2; position: relative; z-index: 1; }
.pp-sec .ppx-cases { display: flex; flex-direction: column; margin: 0; list-style: none; }
.ppx-cases__item { display: grid; grid-template-columns: 52px minmax(0, 1fr); gap: 18px; align-items: start; padding: 18px 0; }
.ppx-cases__item + .ppx-cases__item { border-top: 1.5px dashed rgba(255, 255, 255, .32); }
.ppx-cases__item:first-child { padding-top: 0; }
.ppx-cases__item:last-child { padding-bottom: 0; }
.ppx-cases__ic { display: grid; place-items: center; width: 52px; height: 52px; border-radius: 50%; background: #fff; color: var(--cy-primary, #f05d49); box-shadow: 0 12px 24px -12px rgba(92, 23, 14, .6); }
.ppx-cases__ic .cy-icon { width: 24px; height: 24px; }
.ppx-cases__n { display: block; font: 700 11px/1.3 var(--cy-font, Inter, sans-serif); letter-spacing: .12em; text-transform: uppercase; color: rgba(255, 255, 255, .78); }
.pp-sec .ppx-cases__t { margin: 3px 0 4px; font: 700 18px/1.3 var(--cy-font, Inter, sans-serif); letter-spacing: -.015em; color: #fff; }
.pp-sec .ppx-cases__p { margin: 0; font-size: 15px; line-height: 1.6; color: rgba(255, 255, 255, .9); }
@media (max-width: 991px) {
  .ppx-wrap--banner { grid-template-columns: minmax(0, 1fr); padding: 40px 32px; }
  .ppx-wrap--banner .ppx-head, .ppx-wrap--banner .ppx-body > .ppx-p, .ppx-wrap--banner .ppx-cases { grid-column: 1; grid-row: auto; }
  .ppx-wrap--banner .ppx-cases { margin-top: 10px; }
}
@media (max-width: 599px) {
  .ppx-wrap--banner { padding: 32px 22px; border-radius: 26px; }
  .ppx-wrap--banner .ppx-head h2::after { font-size: 22px; }
  .ppx-cases__item { grid-template-columns: 44px minmax(0, 1fr); gap: 14px; }
  .ppx-cases__ic { width: 44px; height: 44px; }
}

/* D-130 round 2: banner heading in white (a heading rule outranked it); the decorative rings stay in the corner, clear of text */
.pp-sec .ppx-wrap--banner .ppx-head h2 { color: #fff; }
.ppx-wrap--banner::before { width: 300px; height: 300px; left: -170px; bottom: -190px; }
.ppx-wrap--banner::after { width: 200px; height: 200px; left: -110px; bottom: -120px; }

/* D-131: disclaimers - a labelled line instead of the tinted box with an info pointer and coral side bar */
.pp-sec .ppx-note { display: flex; align-items: baseline; gap: 14px; margin: 6px 0 0; padding: 14px 0 0; border-radius: 0; background: none; box-shadow: none;
  border-top: 1.5px dashed rgba(240, 93, 73, .3); font: 400 13.5px/1.6 var(--cy-font, Inter, sans-serif); color: var(--pp-ink-2); }
.ppx-note__label { flex: none; display: inline-flex; align-items: center; gap: 6px; padding: 4px 10px 4px 7px; border-radius: 999px; background: var(--pp-tint); color: var(--pp-coral-ink);
  font: 700 11px/1.2 var(--cy-font, Inter, sans-serif); letter-spacing: .1em; text-transform: uppercase; transform: translateY(-1px); }
.ppx-note__label .cy-icon { width: 14px; height: 14px; margin: 0; color: currentColor; }
.ppx-note__text { min-width: 0; }
.pp-sec--dark .ppx-note { background: none; border-top-color: rgba(255, 255, 255, .16); color: rgba(255, 255, 255, .72); }
.pp-sec--dark .ppx-note__label { background: rgba(240, 93, 73, .2); color: #f9b4a6; }
.ppx-wrap--banner .ppx-note { border-top-color: rgba(255, 255, 255, .35); color: rgba(255, 255, 255, .9); }
.ppx-wrap--banner .ppx-note__label { background: rgba(255, 255, 255, .2); color: #fff; }
@media (max-width: 599px) { .pp-sec .ppx-note { flex-direction: column; gap: 8px; } }

/* D-134 (owner: "a lot of empty spacing in the card"): tabs as a wrapping chip row above a compact panel, whose fields
   sit side by side - the panel is as tall as its content, not as tall as the list of tabs */
@media (min-width: 992px) {
  .ppx-tabs { grid-template-columns: minmax(0, 1fr); gap: 18px; }
  .ppx-tabs__list { position: static; flex-direction: row; flex-wrap: wrap; gap: 10px; }
  .ppx-tabs__tab { width: auto; min-height: 46px; padding: 7px 16px 7px 8px; border-radius: 999px; background: #fff; box-shadow: inset 0 0 0 1px var(--pp-line); font-size: 15px; white-space: nowrap; }
  .ppx-tabs__tab[aria-selected="true"] { transform: none; box-shadow: inset 0 0 0 1.5px var(--cy-primary, #f05d49), 0 12px 26px -16px rgba(229, 83, 63, .7); }
  .ppx-tabs__n { width: 30px; height: 30px; border-radius: 999px; }
  .ppx-tabs.is-ready .ppx-tabs__panel { grid-column: 1; grid-row: 2; }
  .ppx-tabs__panel { display: grid; grid-template-columns: minmax(0, 1fr) auto; grid-template-areas: "t t" "dl cta"; align-items: end; gap: 0 40px; min-height: 0; padding: 28px 32px; }
  .ppx-tabs .ppx-tabs__t { grid-area: t; margin: 0 0 18px; padding-right: 150px; }
  .ppx-tabs__dl { grid-area: dl; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); gap: 16px 36px; }
  .ppx-tabs__cta { grid-area: cta; margin: 0; padding: 0 0 4px; white-space: nowrap; }
  .ppx-tabs__panel::after { top: 18px; bottom: auto; font-size: 56px; }
}
.ppx-tabs__tab:focus { outline: none; }
.ppx-tabs__tab:focus-visible { outline: 2px solid var(--cy-primary, #f05d49); outline-offset: 2px; }
@media (min-width: 992px) { .ppx-tabs__cta { align-self: end; } }

/* D-203 (owner, 2 Nov: "the icon pointers are not uniform, fix these throughout the website"): no solid odd-one-out in a
   set of icons on the older section pages either; each item keeps the same tinted style as its neighbours.
   OLD: the first number card, the last persona icon and the first reason icon were solid coral. */
.ppx-tcards__item:first-child .ppx-tcards__n { background: var(--pp-tint); color: var(--pp-coral-ink); box-shadow: none; }
.ppx-personas__item:last-child .ppx-personas__ic { background: radial-gradient(circle at 35% 30%, #fff, #fff1ed 70%); color: var(--cy-primary, #f05d49); box-shadow: inset 0 0 0 1.5px #f3c7bf, 0 18px 34px -18px rgba(229, 83, 63, .75); }
.ppx-reasons__item:first-child .ppx-reasons__ic { background: #fff; color: var(--cy-primary, #f05d49); box-shadow: inset 0 0 0 1.5px #f3c7bf, 0 20px 36px -20px rgba(229, 83, 63, .85); }
