/* ==========================================================================
 * CLIENT PROTECTION — SELLER'S-GUIDE STANDARD RESKIN · 18 August 2026
 *
 * Composition language adapted from /sales/sellers-guide/ (the site's design
 * authority): composed rounded panels with one page-turn corner on an open
 * cream ground, deliberate width rhythm between chapters, and the compact
 * guide control at the header seam. Adapted, not copied: the palette is this
 * page's own.
 *
 * Colour roles (two new tones introduced for this page):
 *   deep wine-ink #2b1d20  — NEW: the cinematic panel tone (hero, page close)
 *   pale gilt     #ecdfc9  — NEW: the evidence working surface (records)
 *   sand          #d9b98c  — NEW: the primary action on dark panels
 *   wine  #513538 — authority panel + actions on light  ·  navy #344052 —
 *   the meaning chapter and stage two  ·  beige #d8cec0 / #e7e0d5 — paper
 *   panels  ·  cream #f3efe7 — the page ground  ·  one premium white
 *   #fdfbf6 for every plate  ·  gold #c5a880 rules, numerals and on-dark
 *   labels  ·  deep gold #8a6a3c / copper #6b4a2b small accents on light.
 *
 * Width rhythm (all min(94vw, X)): hero + records + contact 96rem · company
 * + process 87.5rem · meaning + sources 82.5rem.
 *
 * Per-page stylesheet, loaded after dukes.css; every selector scoped under
 * .page--client-protection; shared shell untouched; the assistant panel
 * restyle targets this page's own copy of that markup only.
 * ========================================================================== */

.page--client-protection {
  --cpb-ink-deep: #2b1d20;
  --cpb-wine: #513538;
  --cpb-wine-deep: #40292c;
  --cpb-navy: #344052;
  --cpb-navy-deep: #293344;
  --cpb-gilt: #ecdfc9;
  --cpb-sand: #d9b98c;
  --cpb-beige: #d8cec0;
  --cpb-beige-soft: #e7e0d5;
  --cpb-cream: #f3efe7;
  --cpb-white: #fdfbf6;
  --cpb-ink: #222126;
  --cpb-muted: #5a5860;
  --cpb-gold: #c5a880;
  --cpb-gold-deep: #8a6a3c;
  --cpb-copper: #6b4a2b;
  --cpb-line: rgba(34, 33, 38, 0.16);
  --cpb-line-strong: rgba(34, 33, 38, 0.32);
  --cpb-line-gold: rgba(197, 168, 128, 0.45);
  --cpb-on-dark: #f4efe6;
  --cpb-on-dark-soft: rgba(244, 239, 230, 0.78);
  --cpb-display: "Gloock", "Iowan Old Style", "Palatino Linotype", Georgia, serif;
  --cpb-ease: var(--ease-arrive, cubic-bezier(0.22, 0.61, 0.21, 1));

  --cpb-w-wide: min(94vw, 96rem);
  --cpb-w-mid: min(94vw, 87.5rem);
  --cpb-w-tight: min(94vw, 82.5rem);
  --cpb-r-panel: 18px;
  --cpb-r-card: 10px;
  --cpb-r-turn: 72px;
  --cpb-r-turn-sm: 44px;
  --cpb-gap: clamp(1.5rem, 3vw, 2.6rem);
  --cpb-panel-pad: clamp(1.8rem, 3.6vw, 3.4rem);

  background: var(--cpb-cream);
  color: var(--cpb-ink);
  --cpl-dock-h: 0rem;
}

.page--client-protection [id] { scroll-margin-top: calc(var(--head-h) + 4.5rem); }

/* ------------------------------ Shared pieces ----------------------------- */

.page--client-protection .cpb-kicker,
.page--client-protection .cpb-section-eyebrow {
  margin: 0 0 1rem;
  font-size: 0.68rem;
  font-weight: 800;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  color: var(--cpb-copper);
}

.page--client-protection .cpb-section-intro {
  margin: 0 0 clamp(1.75rem, 3.2vw, 2.75rem);
  max-width: 52ch;
  color: var(--cpb-muted);
  font-size: 0.95rem;
  line-height: 1.65;
}

.page--client-protection .cpb-cue {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.6rem;
  min-height: 48px;
  padding: 0.75rem 1.25rem;
  width: fit-content;
  color: var(--cpb-ink);
  background: var(--cpb-white);
  border: 1px solid var(--cpb-line-strong);
  border-radius: var(--cpb-r-card);
  font-size: 0.88rem;
  font-weight: 750;
  text-decoration: none;
  transition: border-color 220ms var(--cpb-ease), color 220ms var(--cpb-ease), transform 220ms var(--cpb-ease);
}
.page--client-protection .cpb-cue::after {
  content: "\2192";
  font-family: Georgia, serif;
  transition: transform 220ms var(--cpb-ease);
}
@media (hover: hover) and (pointer: fine) {
  .page--client-protection .cpb-cue:hover {
    border-color: var(--cpb-wine);
    color: var(--cpb-wine);
    transform: translateY(-2px);
  }
  .page--client-protection .cpb-cue:hover::after { transform: translateX(4px); }
}
.page--client-protection .cpb-cue:focus-visible {
  outline: 2px solid var(--cpb-gold-deep);
  outline-offset: 4px;
}

/* ==========================================================================
 * THE GUIDE CONTROL — compact pill at the header seam (Seller's Guide
 * pattern), sticky from the first viewport, current section marked.
 * ========================================================================== */

.page--client-protection .cpb-guide-nav {
  position: sticky;
  top: calc(var(--head-h) + 0.5rem);
  z-index: 40;
  width: fit-content;
  margin: 0.75rem auto 0;
}

.page--client-protection .cpb-guide-nav summary {
  display: inline-flex;
  align-items: center;
  gap: 0.6rem;
  min-height: 48px;
  padding: 0.6rem 1.2rem;
  cursor: pointer;
  list-style: none;
  color: var(--cpb-ink);
  background: rgba(253, 251, 246, 0.96);
  border: 1px solid var(--cpb-line);
  border-radius: 999px;
  box-shadow: 0 0.9rem 2.4rem rgba(34, 33, 38, 0.14);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  font-size: 0.82rem;
  font-weight: 800;
  transition: border-color 200ms var(--cpb-ease);
}
.page--client-protection .cpb-guide-nav summary::-webkit-details-marker { display: none; }
.page--client-protection .cpb-guide-nav summary::marker { content: ""; }

.page--client-protection .cpb-guide-nav__caret {
  width: 0.55rem;
  height: 0.55rem;
  border-right: 2px solid var(--cpb-gold-deep);
  border-bottom: 2px solid var(--cpb-gold-deep);
  transform: rotate(45deg) translateY(-2px);
  transition: transform 220ms var(--cpb-ease);
}
.page--client-protection .cpb-guide-nav[open] .cpb-guide-nav__caret {
  transform: rotate(225deg) translateY(-2px);
}

@media (hover: hover) and (pointer: fine) {
  .page--client-protection .cpb-guide-nav summary:hover { border-color: var(--cpb-gold); }
}
.page--client-protection .cpb-guide-nav summary:focus-visible {
  outline: 2px solid var(--cpb-gold-deep);
  outline-offset: 3px;
}

.page--client-protection .cpb-guide-nav nav {
  position: absolute;
  top: calc(100% + 0.45rem);
  left: 50%;
  transform: translateX(-50%);
  display: grid;
  min-width: 16rem;
  padding: 0.45rem;
  background: var(--cpb-white);
  border: 1px solid var(--cpb-line);
  border-radius: 14px;
  box-shadow: 0 1.4rem 3.2rem rgba(34, 33, 38, 0.18);
}

.page--client-protection .cpb-guide-nav nav a {
  display: flex;
  align-items: center;
  min-height: 48px;
  padding: 0.6rem 0.9rem;
  color: var(--cpb-ink);
  border-radius: 9px;
  font-size: 0.84rem;
  font-weight: 700;
  text-decoration: none;
  transition: background-color 180ms var(--cpb-ease), color 180ms var(--cpb-ease);
}
@media (hover: hover) and (pointer: fine) {
  .page--client-protection .cpb-guide-nav nav a:hover { background: var(--cpb-beige-soft); }
}
.page--client-protection .cpb-guide-nav nav a[aria-current="true"] {
  background: var(--cpb-wine);
  color: var(--cpb-on-dark);
}
.page--client-protection .cpb-guide-nav nav a:focus-visible {
  outline: 2px solid var(--cpb-gold-deep);
  outline-offset: 2px;
}

/* ==========================================================================
 * HERO — the cinematic split: deep wine-ink panel beside the photograph,
 * one page-turn corner, caption beneath the composition.
 * ========================================================================== */

.page--client-protection .cpl-hero {
  max-width: none;
  margin: 0;
  background: transparent;
  border: 0;
  padding: clamp(0.9rem, 2vw, 1.6rem) var(--inset) 0;
}

.page--client-protection .cpl-hero__grid {
  width: var(--cpb-w-wide);
  margin-inline: auto;
  display: grid;
  gap: 0;
  align-items: stretch;
}
@media (min-width: 64em) {
  .page--client-protection .cpl-hero__grid {
    grid-template-columns: minmax(24rem, 0.85fr) minmax(0, 1.15fr);
  }
}

.page--client-protection .cpl-hero__copy {
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: clamp(2.2rem, 4.5vw, 4.25rem);
  color: var(--cpb-on-dark);
  background: var(--cpb-ink-deep);
  border-radius: var(--cpb-r-panel) var(--cpb-r-panel) 0 0;
}
@media (min-width: 64em) {
  .page--client-protection .cpl-hero__copy {
    border-radius: var(--cpb-r-panel) 0 0 var(--cpb-r-panel);
  }
}

.page--client-protection .cpb-kicker { color: var(--cpb-gold); }

.page--client-protection .cpl-hero__title {
  margin: 0 0 1.1rem;
  max-width: 14ch;
  font-family: var(--cpb-display);
  font-weight: 400;
  font-size: clamp(2.4rem, 1.6rem + 3.2vw, 4.2rem);
  line-height: 1;
  letter-spacing: -0.02em;
  color: var(--cpb-on-dark);
}

.page--client-protection .cpl-hero__rule {
  display: block;
  width: 4.5rem;
  height: 2px;
  background: var(--cpb-gold);
  margin: 0 0 1.1rem;
}

.page--client-protection .cpl-hero__lede {
  margin: 0;
  max-width: 44ch;
  color: var(--cpb-on-dark-soft);
  font-size: 1rem;
  line-height: 1.65;
}

.page--client-protection .cpl-hero__actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.75rem 1rem;
  margin-top: clamp(1.5rem, 3vw, 2.25rem);
}

.page--client-protection .cpl-hero__action {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 48px;
  padding: 0.75rem 1.25rem;
  border-radius: var(--cpb-r-card);
  font-size: 0.88rem;
  font-weight: 750;
  line-height: 1.2;
  text-decoration: none;
  transition: color 220ms var(--cpb-ease), background-color 220ms var(--cpb-ease), border-color 220ms var(--cpb-ease);
}
.page--client-protection .cpl-hero__action--primary {
  color: var(--cpb-ink);
  background: var(--cpb-sand);
  border: 1px solid var(--cpb-sand);
}
.page--client-protection .cpl-hero__action--quiet {
  padding: 0.75rem 1.25rem;
  color: var(--cpb-on-dark);
  background: transparent;
  border: 1px solid rgba(244, 239, 230, 0.4);
}
@media (hover: hover) and (pointer: fine) {
  .page--client-protection .cpl-hero__action--primary:hover {
    color: var(--cpb-ink);
    background: var(--cpb-on-dark);
    border-color: var(--cpb-on-dark);
  }
  .page--client-protection .cpl-hero__action--quiet:hover {
    border-color: var(--cpb-on-dark);
    background: rgba(244, 239, 230, 0.08);
  }
}
.page--client-protection .cpl-hero__action:focus-visible {
  outline: 2px solid var(--cpb-gold);
  outline-offset: 4px;
}

.page--client-protection .cpl-hero__media {
  position: relative;
  margin: 0;
  min-width: 0;
  overflow: hidden;
  background: var(--cpb-ink-deep);
  border-radius: 0 0 var(--cpb-r-panel) var(--cpb-r-turn-sm);
  padding: 0;
  border: 0;
  box-shadow: none;
  animation: none;
}
@media (min-width: 64em) {
  .page--client-protection .cpl-hero__media {
    border-radius: 0 var(--cpb-r-panel) var(--cpb-r-turn) 0;
  }
}
.page--client-protection .cpl-hero__media::after { content: none; }

.page--client-protection .cpl-hero__image {
  display: block;
  width: 100%;
  height: 100%;
  min-height: clamp(18rem, 40vw, 34rem);
  aspect-ratio: auto;
  object-fit: cover;
  object-position: 58% center;
}

.page--client-protection .cpl-hero__media figcaption {
  position: absolute;
  left: 0;
  bottom: 0;
  max-width: none;
  margin: 0;
  padding: 0.6rem 1rem;
  color: var(--cpb-on-dark);
  background: rgba(43, 29, 32, 0.9);
  border-radius: 0 var(--cpb-r-card) 0 0;
  font-size: 0.76rem;
  font-weight: 650;
  letter-spacing: 0.03em;
}

/* The caption must not sit on the photograph: it moves under the panel row
   as small text on the ground. */
.page--client-protection .cpl-hero__media figcaption {
  position: static;
  background: transparent;
  color: var(--cpb-muted);
  padding: 0.55rem 0.2rem 0;
  border-radius: 0;
}
.page--client-protection .cpl-hero__media {
  display: grid;
  grid-template-rows: 1fr auto;
  background: transparent;
  overflow: visible;
}
.page--client-protection .cpl-hero__media picture {
  display: block;
  overflow: hidden;
  border-radius: 0 0 var(--cpb-r-panel) var(--cpb-r-turn-sm);
  background: var(--cpb-ink-deep);
}
@media (min-width: 64em) {
  .page--client-protection .cpl-hero__media picture {
    border-radius: 0 var(--cpb-r-panel) var(--cpb-r-turn) 0;
  }
}

/* ==========================================================================
 * HOW YOU ARE PROTECTED — the pale-gilt evidence panel (96rem), unified
 * white plates, verification stamps. Ledgers and copy buttons untouched.
 * ========================================================================== */

.page--client-protection .cpl-section {
  width: var(--cpb-w-wide);
  max-width: none;
  margin: var(--cpb-gap) auto;
  border: 0;
  background: var(--cpb-gilt);
  border-radius: var(--cpb-r-panel) var(--cpb-r-panel) var(--cpb-r-turn) var(--cpb-r-panel);
  padding: var(--cpb-panel-pad);
}

.page--client-protection .cpl-section > * {
  width: auto;
  margin-inline: 0;
}

.page--client-protection .cpl-section__title {
  margin: 0 0 1rem;
  max-width: 18ch;
  font-family: var(--cpb-display);
  font-weight: 400;
  font-size: clamp(2.1rem, 1.4rem + 2.8vw, 3.4rem);
  line-height: 1.02;
  letter-spacing: -0.02em;
  color: var(--cpb-ink);
}

.page--client-protection .cpl-section__grid { gap: clamp(1.1rem, 2.2vw, 1.8rem); }

.page--client-protection .cpl-card {
  display: flex;
  flex-direction: column;
  background: var(--cpb-white);
  border: 1px solid var(--cpb-line);
  border-top: 2px solid var(--cpb-gold);
  border-radius: var(--cpb-r-card);
  padding: clamp(1.25rem, 2.4vw, 1.9rem);
}

.page--client-protection .cpl-thumb {
  position: relative;
  display: block;
  background: var(--cpb-white);
  border: 1px solid var(--cpb-line);
  border-radius: calc(var(--cpb-r-card) - 4px);
  overflow: hidden;
  padding: 0.55rem;
  margin-bottom: 0.85rem;
}
.page--client-protection .cpl-thumb__img {
  display: block;
  width: 100%;
  aspect-ratio: 1684 / 1190;
  height: auto;
  object-fit: contain;
  background: #fff;
}

.page--client-protection .cpb-verify {
  display: flex;
  align-items: center;
  gap: 0.55rem;
  margin: 0 0 0.9rem;
  padding: 0.5rem 0.75rem;
  width: fit-content;
  background: var(--cpb-gilt);
  border: 1px solid var(--cpb-line);
  border-left: 2px solid var(--cpb-gold);
  border-radius: 6px;
  color: var(--cpb-ink);
  font-size: 0.78rem;
  font-weight: 700;
  letter-spacing: 0.02em;
}
.page--client-protection .cpb-verify svg {
  width: 1.5rem;
  height: 1.5rem;
  flex: 0 0 auto;
  color: var(--cpb-gold-deep);
  transform: rotate(-8deg);
}

.page--client-protection .cpl-card__facts { flex: 1 0 auto; }

/* The ledger copy buttons keep their look; only the hit area grows. */
.page--client-protection .cpl-copy {
  display: inline-grid;
  place-items: center;
  min-width: 48px;
  min-height: 48px;
  margin-block: -9px;
}

/* ==========================================================================
 * WHAT THIS PROTECTION MEANS — the navy chapter panel (82.5rem)
 * ========================================================================== */

.page--client-protection .cpl-meaning {
  width: var(--cpb-w-tight);
  margin: var(--cpb-gap) auto;
  background: var(--cpb-navy);
  color: var(--cpb-on-dark);
  border: 0;
  border-radius: var(--cpb-r-panel) var(--cpb-r-panel) var(--cpb-r-panel) var(--cpb-r-turn-sm);
  padding: var(--cpb-panel-pad);
}

.page--client-protection .cpl-meaning__inner {
  width: auto;
  margin-inline: 0;
}

.page--client-protection .cpl-meaning__head {
  display: block;
  margin-bottom: clamp(1.5rem, 2.8vw, 2.25rem);
}
.page--client-protection .cpl-meaning__eyebrow { color: var(--cpb-gold); }
.page--client-protection .cpl-meaning__title {
  margin: 0;
  max-width: 18ch;
  font-family: var(--cpb-display);
  font-weight: 400;
  font-size: clamp(2rem, 1.4rem + 2.4vw, 3.1rem);
  line-height: 1.04;
  letter-spacing: -0.02em;
  color: var(--cpb-on-dark);
}

.page--client-protection .cpl-meaning__grid {
  display: grid;
  gap: clamp(1.1rem, 2vw, 1.6rem);
  align-items: stretch;
}
@media (min-width: 48em) {
  .page--client-protection .cpl-meaning__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

.page--client-protection .cpl-mcard {
  display: flex;
  flex-direction: column;
  overflow: hidden;
  background: var(--cpb-white);
  border: 1px solid var(--cpb-navy-deep);
  border-top: 2px solid var(--cpb-gold);
  border-radius: var(--cpb-r-card);
  box-shadow: none;
  transition: transform 260ms var(--cpb-ease), box-shadow 260ms var(--cpb-ease);
}
.page--client-protection .cpl-mcard::before { content: none; }

@media (hover: hover) and (pointer: fine) {
  .page--client-protection .cpl-mcard:hover {
    transform: translateY(-4px);
    box-shadow: 0 18px 40px rgba(26, 32, 44, 0.28);
  }
  .page--client-protection .cpl-mcard:hover .cpl-mcard__image { transform: scale(1.03); }
}

.page--client-protection .cpl-mcard__media {
  position: relative;
  overflow: hidden;
  aspect-ratio: 16 / 7.5;
  background: var(--cpb-beige);
  border-bottom: 1px solid var(--cpb-line);
}
.page--client-protection .cpl-mcard__media::after { content: none; }
.page--client-protection .cpl-mcard__image {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transform: none;
  transition: transform 520ms var(--cpb-ease);
}

.page--client-protection .cpl-mcard__iconplate {
  position: absolute;
  left: 1.1rem;
  bottom: 0;
  display: grid;
  place-items: center;
  width: 3rem;
  height: 3rem;
  background: var(--cpb-navy);
  border: 1px solid var(--cpb-line-gold);
  border-bottom: 0;
  border-radius: 8px 8px 0 0;
  box-shadow: none;
  backdrop-filter: none;
  -webkit-backdrop-filter: none;
}
.page--client-protection .cpl-mcard__icon {
  width: 1.45rem;
  height: 1.45rem;
  filter: brightness(0) saturate(100%) invert(78%) sepia(23%) saturate(560%) hue-rotate(348deg) brightness(92%) contrast(87%);
}

.page--client-protection .cpl-mcard__body {
  display: flex;
  flex: 1;
  flex-direction: column;
  padding: 1.25rem 1.3rem 1.4rem;
}
.page--client-protection .cpl-mcard__label {
  margin: 0 0 0.5rem;
  font-size: 0.66rem;
  font-weight: 800;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--cpb-gold-deep);
}
.page--client-protection .cpl-mcard__lead {
  margin: 0 0 0.55rem;
  font-family: var(--cpb-display);
  font-weight: 400;
  font-size: clamp(1.35rem, 1.15rem + 0.8vw, 1.7rem);
  line-height: 1.12;
  color: var(--cpb-ink);
}
.page--client-protection .cpl-mcard__copy {
  margin: 0;
  max-width: 48ch;
  color: var(--cpb-muted);
  font-size: 0.9rem;
  line-height: 1.62;
}

.page--client-protection .cpl-meaning__note {
  display: flex;
  align-items: flex-start;
  gap: 0.7rem;
  margin: 1rem 0 0;
  padding: 0.95rem 1.15rem;
  border: 1px solid rgba(244, 239, 230, 0.22);
  border-left: 3px solid var(--cpb-gold);
  border-radius: var(--cpb-r-card);
  background: rgba(244, 239, 230, 0.07);
  color: var(--cpb-on-dark-soft);
  font-size: 0.86rem;
  line-height: 1.6;
  max-width: none;
}
.page--client-protection .cpl-meaning__note svg {
  width: 1.15rem;
  height: 1.15rem;
  flex: 0 0 auto;
  margin-top: 0.15rem;
  color: var(--cpb-gold);
}
.page--client-protection .cpl-meaning__note strong { color: var(--cpb-gold); }

/* ==========================================================================
 * THE DUKES STANDARD — wine + white composite panel (87.5rem), ledger value
 * rows, ghost crown, registrar ledger
 * ========================================================================== */

.page--client-protection .cpl-company {
  background: transparent;
  border: 0;
  padding: 0;
}

.page--client-protection .cpl-company__inner {
  width: var(--cpb-w-mid);
  margin: var(--cpb-gap) auto;
  display: grid;
  overflow: hidden;
  border: 1px solid rgba(101, 67, 41, 0.4);
  border-radius: var(--cpb-r-panel) var(--cpb-r-panel) var(--cpb-r-turn-sm) var(--cpb-r-panel);
  box-shadow: 0 24px 65px rgba(34, 33, 38, 0.18);
}
@media (min-width: 58em) {
  .page--client-protection .cpl-company__inner {
    grid-template-columns: minmax(20rem, 0.92fr) minmax(22rem, 1.08fr);
  }
}

.page--client-protection .cpl-company__brand {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  min-height: 0;
  display: block;
  padding: clamp(1.9rem, 4vw, 3.5rem);
  color: var(--cpb-on-dark);
  background: var(--cpb-wine);
}

.page--client-protection .cpb-company-ghost {
  position: absolute;
  z-index: -1;
  right: -12%;
  bottom: -14%;
  width: clamp(15rem, 24vw, 22rem);
  height: auto;
  opacity: 0.1;
  filter: grayscale(1) brightness(2.3);
  pointer-events: none;
}

.page--client-protection .cpl-company__mark {
  width: 8.25rem;
  height: 5.9rem;
  display: grid;
  place-items: center;
  margin-bottom: clamp(1.4rem, 2.6vw, 2rem);
  padding: 0.65rem 0.75rem;
  background: var(--cpb-white);
  border: 1px solid var(--cpb-line-gold);
  border-radius: 8px;
  box-shadow: 0 10px 26px rgba(34, 20, 22, 0.28);
}
.page--client-protection .cpl-company__mark img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.page--client-protection .cpl-company__title {
  margin: 0 0 1rem;
  max-width: 11ch;
  font-family: var(--cpb-display);
  font-weight: 400;
  font-size: clamp(2.2rem, 1.5rem + 2.8vw, 3.6rem);
  line-height: 1;
  letter-spacing: -0.025em;
  color: var(--cpb-on-dark);
}

.page--client-protection .cpl-company__statement {
  margin: 0;
  max-width: 44ch;
  color: var(--cpb-on-dark-soft);
  font-size: 0.98rem;
  line-height: 1.68;
}

.page--client-protection .cpl-company__values {
  list-style: none;
  counter-reset: cpb-value;
  margin: clamp(1.75rem, 3.4vw, 2.5rem) 0 0;
  padding: 0;
  border-top: 1px solid rgba(197, 168, 128, 0.5);
}
.page--client-protection .cpl-company__values li {
  counter-increment: cpb-value;
  display: grid;
  grid-template-columns: 2.6rem minmax(0, 1fr);
  gap: 1rem;
  align-items: center;
  min-height: 48px;
  padding: 0.95rem 0.25rem;
  border-bottom: 1px solid rgba(197, 168, 128, 0.28);
  color: var(--cpb-on-dark);
  font-size: 0.86rem;
  font-weight: 750;
  letter-spacing: 0.04em;
}
.page--client-protection .cpl-company__values li:last-child { border-bottom: 0; padding-bottom: 0.4rem; }
.page--client-protection .cpl-company__values li::before {
  content: "0" counter(cpb-value);
  font-family: var(--cpb-display);
  font-size: 1.6rem;
  font-weight: 400;
  line-height: 1;
  color: var(--cpb-gold);
}

.page--client-protection .cpl-company__details {
  padding: clamp(1.9rem, 4vw, 3.5rem);
  background: var(--cpb-white);
}

.page--client-protection .cpl-company__details-title {
  margin: 0 0 1.4rem;
  padding-bottom: 0.9rem;
  border-bottom: 2px solid var(--cpb-wine);
  font-family: var(--cpb-display);
  font-weight: 400;
  font-size: clamp(1.6rem, 1.3rem + 1.2vw, 2.2rem);
  line-height: 1.05;
  color: var(--cpb-ink);
}

.page--client-protection .cpl-company .cpl-register {
  margin: 0 0 1.5rem;
  max-width: none;
  border-bottom: 0;
}
.page--client-protection .cpl-company .cpl-register > div {
  display: grid;
  grid-template-columns: minmax(7.5rem, 0.55fr) minmax(0, 1.45fr);
  gap: 1rem;
  padding: 0.8rem 0;
  border-top: 0;
  border-bottom: 1px dotted var(--cpb-line-strong);
  font-size: 0.9rem;
}
.page--client-protection .cpl-company .cpl-register > div:last-child { border-bottom: 0; }
.page--client-protection .cpl-register dt {
  color: var(--cpb-muted);
  font-size: 0.78rem;
  font-weight: 750;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  padding-top: 0.1rem;
}
.page--client-protection .cpl-register dd { margin: 0; font-weight: 600; overflow-wrap: anywhere; }
.page--client-protection .cpl-register__note {
  display: block;
  margin-top: 0.3rem;
  color: var(--cpb-muted);
  font-size: 0.8rem;
  font-weight: 450;
  line-height: 1.5;
}

.page--client-protection .cpl-register__act { margin: 0; }
.page--client-protection .cpl-register__act .cpl-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.55rem;
  min-height: 48px;
  padding: 0.75rem 1.3rem;
  color: var(--cpb-on-dark);
  background: var(--cpb-wine);
  border: 1px solid var(--cpb-wine);
  border-radius: var(--cpb-r-card);
  font-size: 0.88rem;
  font-weight: 750;
  text-decoration: none;
  transition: color 220ms var(--cpb-ease), background-color 220ms var(--cpb-ease);
}
.page--client-protection .cpl-register__act .cpl-link::after {
  content: "\2197";
  font-family: Georgia, serif;
}
@media (hover: hover) and (pointer: fine) {
  .page--client-protection .cpl-register__act .cpl-link:hover {
    color: var(--cpb-wine);
    background: transparent;
  }
}
.page--client-protection .cpl-register__act .cpl-link:focus-visible {
  outline: 2px solid var(--cpb-gold-deep);
  outline-offset: 4px;
}

/* ==========================================================================
 * THE COMPLAINTS PROCESS — open ground chapter (87.5rem): wine/navy/beige
 * cards, arrows, numerals, spine, equal heights, pressable cue
 * ========================================================================== */

.page--client-protection .cpl-stepper-band {
  background: transparent;
  color: var(--cpb-ink);
  border: 0;
  padding: var(--cpb-gap) var(--inset);
}

.page--client-protection .cpl-stepper-band__inner {
  width: var(--cpb-w-mid);
  margin-inline: auto;
}

.page--client-protection .cpl-stepper-band__head {
  max-width: 49rem;
  margin-bottom: clamp(1.75rem, 3.2vw, 2.75rem);
}

.page--client-protection .cpl-stepper-band__title {
  margin: 0 0 0.9rem;
  max-width: 20ch;
  font-family: var(--cpb-display);
  font-weight: 400;
  font-size: clamp(2rem, 1.4rem + 2.4vw, 3.1rem);
  line-height: 1.04;
  letter-spacing: -0.02em;
  color: var(--cpb-ink);
}

.page--client-protection .cpl-stepper-band__intro {
  margin: 0;
  max-width: 56ch;
  color: var(--cpb-muted);
  font-size: 0.95rem;
  line-height: 1.65;
}

.page--client-protection .cpl-journey {
  position: relative;
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  gap: clamp(1.4rem, 2.6vw, 2.6rem);
}

.page--client-protection .cpl-journey::before {
  content: "";
  position: absolute;
  z-index: 0;
  top: 1.55rem;
  left: 1.55rem;
  right: calc(33.333% - 1.55rem);
  height: 1px;
  background: linear-gradient(90deg, var(--cpb-line-gold), rgba(197, 168, 128, 0.14));
  pointer-events: none;
}

.page--client-protection .cpl-journey__stage {
  position: relative;
  z-index: 1;
  min-width: 0;
  display: flex;
  flex-direction: column;
  overflow: hidden;
  color: var(--cpb-on-dark);
  background: var(--cpb-wine);
  border: 1px solid rgba(197, 168, 128, 0.38);
  border-radius: var(--cpb-r-card);
  transition: transform 300ms var(--cpb-ease), box-shadow 300ms var(--cpb-ease);
}
.page--client-protection .cpl-journey__stage:nth-child(2) { background: var(--cpb-navy); }
.page--client-protection .cpl-journey__stage:nth-child(3) {
  color: var(--cpb-ink);
  background: var(--cpb-beige);
  border-color: var(--cpb-line-strong);
}

.page--client-protection .cpl-journey__stage:not(:last-child)::after {
  content: "\203A";
  position: absolute;
  z-index: 3;
  top: 0.45rem;
  right: clamp(-1.7rem, -1.3vw, -0.9rem);
  color: var(--cpb-gold-deep);
  font-family: Georgia, serif;
  font-size: 2rem;
  line-height: 1;
  pointer-events: none;
}

.page--client-protection .cpl-journey__track {
  position: relative;
  z-index: 2;
  display: flex;
  align-items: center;
  gap: 0.75rem;
  min-height: 3.1rem;
  padding: 0.65rem 1rem;
  background: inherit;
}

.page--client-protection .cpl-journey__badge {
  display: grid;
  place-items: center;
  width: 2.2rem;
  height: 2.2rem;
  flex: 0 0 auto;
  border-radius: 50%;
  border: 1px solid rgba(197, 168, 128, 0.72);
  color: #d9c2a0;
  background: inherit;
  font-family: var(--cpb-display);
  font-size: 0.92rem;
  font-variant-numeric: tabular-nums;
}
.page--client-protection .cpl-journey__stage:nth-child(3) .cpl-journey__badge {
  color: #654329;
  border-color: rgba(101, 67, 41, 0.58);
}

.page--client-protection .cpl-journey__route {
  font-size: 0.65rem;
  font-weight: 800;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--cpb-on-dark-soft);
}
.page--client-protection .cpl-journey__stage:nth-child(3) .cpl-journey__route { color: #654329; }

.page--client-protection .cpl-journey__media {
  position: relative;
  margin: 0;
  overflow: hidden;
  background: #242321;
}
.page--client-protection .cpl-journey__media img {
  display: block;
  width: 100%;
  aspect-ratio: 3 / 2;
  object-fit: cover;
  transition: transform 520ms var(--cpb-ease);
}

.page--client-protection .cpl-journey__body {
  display: flex;
  flex: 1;
  flex-direction: column;
  padding: 1.25rem 1.15rem 1.45rem;
}

.page--client-protection .cpl-journey__title {
  margin: 0 0 0.6rem;
  font-family: var(--cpb-display);
  font-weight: 400;
  font-size: clamp(1.35rem, 1.15rem + 0.8vw, 1.75rem);
  line-height: 1.1;
  color: inherit;
}
.page--client-protection .cpl-journey__stage:nth-child(3) .cpl-journey__title { color: var(--cpb-ink); }

.page--client-protection .cpl-journey__copy {
  margin: 0;
  color: var(--cpb-on-dark-soft);
  font-size: 0.88rem;
  line-height: 1.62;
}
.page--client-protection .cpl-journey__stage:nth-child(3) .cpl-journey__copy { color: var(--cpb-muted); }

@media (hover: hover) and (pointer: fine) {
  .page--client-protection .cpl-journey__stage:hover {
    transform: translateY(-4px);
    box-shadow: 0 18px 40px rgba(34, 33, 38, 0.16);
  }
  .page--client-protection .cpl-journey__stage:hover .cpl-journey__media img { transform: scale(1.04); }
}

@media (min-width: 64em) {
  .page--client-protection .cpl-journey {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    align-items: stretch;
  }
}
@media (max-width: 63.99em) {
  .page--client-protection .cpl-journey::before {
    top: 1.2rem;
    bottom: 1.2rem;
    left: 1.75rem;
    right: auto;
    width: 1px;
    height: auto;
  }
  .page--client-protection .cpl-journey__stage:not(:last-child)::after { content: none; }
}

.page--client-protection .cpl-stepper-band__act { margin: clamp(1.9rem, 3.6vw, 3rem) 0 0; }
.page--client-protection .cpl-stepper-band__act .cpl-action {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.6rem;
  min-height: 48px;
  padding: 0.75rem 1.25rem;
  width: fit-content;
  color: var(--cpb-ink);
  background: var(--cpb-white);
  border: 1px solid var(--cpb-line-strong);
  border-radius: var(--cpb-r-card);
  font-size: 0.88rem;
  font-weight: 750;
  text-decoration: none;
  transition: border-color 220ms var(--cpb-ease), color 220ms var(--cpb-ease), transform 220ms var(--cpb-ease);
}
.page--client-protection .cpl-stepper-band__act .cpl-action::after {
  content: "\2192";
  font-family: Georgia, serif;
  transition: transform 220ms var(--cpb-ease);
}
.page--client-protection .cpl-stepper-band__act .cpl-action__arrow { display: none; }
@media (hover: hover) and (pointer: fine) {
  .page--client-protection .cpl-stepper-band__act .cpl-action:hover {
    border-color: var(--cpb-wine);
    color: var(--cpb-wine);
    transform: translateY(-2px);
  }
  .page--client-protection .cpl-stepper-band__act .cpl-action:hover::after { transform: translateX(4px); }
}
.page--client-protection .cpl-stepper-band__act .cpl-action:focus-visible {
  outline: 2px solid var(--cpb-gold-deep);
  outline-offset: 4px;
}

/* ==========================================================================
 * SOURCE RECORDS — beige paper panel (82.5rem), pressable chips
 * ========================================================================== */

.page--client-protection .cpl-sources {
  width: var(--cpb-w-tight);
  margin: var(--cpb-gap) auto;
  background: var(--cpb-beige-soft);
  border: 0;
  border-radius: var(--cpb-r-panel) var(--cpb-r-panel) var(--cpb-r-turn-sm) var(--cpb-r-panel);
  padding: var(--cpb-panel-pad);
}

.page--client-protection .cpl-sources__inner {
  width: auto;
  margin-inline: 0;
}

.page--client-protection .cpl-sources__head {
  display: block;
  margin-bottom: clamp(1.5rem, 2.8vw, 2.25rem);
}
.page--client-protection .cpl-sources__title {
  margin: 0 0 0.9rem;
  max-width: 16ch;
  font-family: var(--cpb-display);
  font-weight: 400;
  font-size: clamp(2rem, 1.4rem + 2.4vw, 3.1rem);
  line-height: 1.02;
  letter-spacing: -0.02em;
  color: var(--cpb-ink);
}
.page--client-protection .cpl-sources__intro {
  margin: 0;
  max-width: 52ch;
  color: var(--cpb-muted);
  font-size: 0.95rem;
  line-height: 1.65;
}

.page--client-protection .cpl-sources__grid {
  display: grid;
  gap: 1.1rem;
}
@media (min-width: 48em) {
  .page--client-protection .cpl-sources__grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}

.page--client-protection .cpl-source-card {
  position: relative;
  display: grid;
  grid-template-rows: 12rem auto;
  min-width: 0;
  color: inherit;
  text-decoration: none;
  background: var(--cpb-white);
  border: 1px solid var(--cpb-line);
  border-radius: var(--cpb-r-card);
  overflow: hidden;
  transition: transform 260ms var(--cpb-ease), box-shadow 260ms var(--cpb-ease);
}

.page--client-protection .cpl-source-card::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 2px;
  background: var(--cpb-gold);
  transform: scaleX(0);
  transform-origin: left;
  transition: transform 340ms var(--cpb-ease);
  z-index: 1;
}

@media (hover: hover) and (pointer: fine) {
  .page--client-protection .cpl-source-card:hover {
    transform: translateY(-4px);
    box-shadow: 0 18px 44px rgba(34, 33, 38, 0.14);
  }
  .page--client-protection .cpl-source-card:hover::before { transform: scaleX(1); }
  .page--client-protection .cpl-source-card:hover .cpl-source-card__visual img { transform: scale(1.045); }
  .page--client-protection .cpl-source-card:hover .cpl-source-card__action {
    border-color: var(--cpb-wine);
    color: var(--cpb-wine);
  }
}

.page--client-protection .cpl-source-card:focus-visible {
  outline: 2px solid var(--cpb-gold-deep);
  outline-offset: 3px;
}

.page--client-protection .cpl-source-card__visual {
  display: grid;
  place-items: center;
  min-width: 0;
  overflow: hidden;
  background: var(--cpb-white);
  border-bottom: 1px solid var(--cpb-line);
}
.page--client-protection .cpl-source-card__visual picture { display: contents; }
.page--client-protection .cpl-source-card__visual img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
  padding: 1.5rem;
  transition: transform 480ms var(--cpb-ease);
}
.page--client-protection .cpl-source-card__visual img[src*="source-"] {
  padding: 0;
  object-fit: cover;
}
.page--client-protection .cpl-source-card__visual img[src*="source-company"] { object-position: 50% 48%; }
.page--client-protection .cpl-source-card__visual img[src*="source-complaints"] { object-position: 50% 42%; }

.page--client-protection .cpl-source-card__body {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 0.35rem;
  padding: 1.2rem 1.25rem 1.35rem;
}

.page--client-protection .cpl-source-card__body strong {
  font-family: var(--cpb-display);
  font-weight: 400;
  font-size: clamp(1.3rem, 1.1rem + 0.8vw, 1.6rem);
  line-height: 1.1;
  color: var(--cpb-ink);
}

.page--client-protection .cpl-source-card__body > span:not(.cpl-source-card__action) {
  color: var(--cpb-muted);
  font-size: 0.86rem;
  line-height: 1.55;
}

.page--client-protection .cpl-source-card__action {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  margin-top: 0.8rem;
  min-height: 48px;
  padding: 0.7rem 1.1rem;
  color: var(--cpb-ink);
  background: var(--cpb-white);
  border: 1px solid var(--cpb-line-strong);
  border-radius: calc(var(--cpb-r-card) - 2px);
  font-size: 0.84rem;
  font-weight: 750;
  transition: color 220ms var(--cpb-ease), border-color 220ms var(--cpb-ease);
}
.page--client-protection .cpl-source-card__action::after {
  content: "\2192";
  font-family: Georgia, serif;
}
.page--client-protection .cpl-source-card[target="_blank"] .cpl-source-card__action::after { content: "\2197"; }

/* ==========================================================================
 * ASK DUKES DIRECTLY — wine panel (96rem) with the page-turn close
 * ========================================================================== */

.page--client-protection .cpb-contact {
  width: var(--cpb-w-wide);
  margin: var(--cpb-gap) auto;
  background: var(--cpb-wine);
  color: var(--cpb-on-dark);
  border: 0;
  border-radius: var(--cpb-r-panel) var(--cpb-r-panel) var(--cpb-r-turn) var(--cpb-r-panel);
  padding: var(--cpb-panel-pad);
}

.page--client-protection .cpb-contact__inner {
  width: auto;
  margin-inline: 0;
  display: grid;
  gap: clamp(1.75rem, 4vw, 4rem);
  align-items: center;
}
@media (min-width: 58em) {
  .page--client-protection .cpb-contact__inner {
    grid-template-columns: minmax(0, 1.1fr) minmax(20rem, 0.9fr);
  }
}

.page--client-protection .cpb-contact__eyebrow {
  margin: 0 0 0.75rem;
  font-size: 0.68rem;
  font-weight: 800;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--cpb-gold);
}

.page--client-protection .cpb-contact__title {
  margin: 0 0 0.9rem;
  max-width: 16ch;
  font-family: var(--cpb-display);
  font-weight: 400;
  font-size: clamp(1.9rem, 1.3rem + 2.4vw, 3.2rem);
  line-height: 1.02;
  letter-spacing: -0.02em;
  color: var(--cpb-on-dark);
}

.page--client-protection .cpb-contact__text {
  margin: 0;
  max-width: 52ch;
  color: var(--cpb-on-dark-soft);
  font-size: 0.95rem;
  line-height: 1.65;
}

.page--client-protection .cpb-contact-card {
  background: var(--cpb-white);
  border: 1px solid var(--cpb-wine-deep);
  border-top: 2px solid var(--cpb-gold);
  border-radius: var(--cpb-r-card);
  padding: clamp(1.1rem, 2.4vw, 1.6rem);
}

.page--client-protection .cpb-contact-card__label {
  margin: 0 0 0.75rem;
  font-size: 0.66rem;
  font-weight: 800;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--cpb-gold-deep);
}

.page--client-protection .cpb-contact-card ul {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  gap: 0.55rem;
}

.page--client-protection .cpb-contact-row {
  display: grid;
  grid-template-columns: 2.4rem minmax(0, 1fr) auto;
  align-items: center;
  gap: 0.75rem;
  min-height: 52px;
  padding: 0.6rem 0.8rem;
  color: var(--cpb-ink);
  background: var(--cpb-white);
  border: 1px solid var(--cpb-line);
  border-radius: calc(var(--cpb-r-card) - 2px);
  text-decoration: none;
  transition: border-color 220ms var(--cpb-ease), transform 220ms var(--cpb-ease);
}
.page--client-protection .cpb-contact-row .cpb-ico {
  display: grid;
  place-items: center;
  width: 2.4rem;
  height: 2.4rem;
  background: var(--cpb-cream);
  border: 1px solid var(--cpb-line);
  border-radius: 7px;
  color: var(--cpb-wine);
}
.page--client-protection .cpb-contact-row .cpb-ico svg { width: 1.15rem; height: 1.15rem; }
.page--client-protection .cpb-contact-row span:not(.cpb-ico) {
  font-size: 0.78rem;
  font-weight: 700;
  color: var(--cpb-muted);
}
.page--client-protection .cpb-contact-row strong {
  font-size: 0.88rem;
  font-weight: 800;
  overflow-wrap: anywhere;
  text-align: right;
}
@media (hover: hover) and (pointer: fine) {
  .page--client-protection .cpb-contact-row:hover {
    border-color: var(--cpb-wine);
    transform: translateX(3px);
  }
}
.page--client-protection .cpb-contact-row:focus-visible {
  outline: 2px solid var(--cpb-gold-deep);
  outline-offset: 3px;
}

.page--client-protection .cpb-contact__alt {
  margin: 0.9rem 0 0;
  color: var(--cpb-on-dark-soft);
  font-size: 0.85rem;
}
.page--client-protection .cpb-contact__alt a {
  color: var(--cpb-gold);
  font-weight: 750;
  text-decoration: none;
  border-bottom: 1px solid rgba(197, 168, 128, 0.45);
  transition: color 220ms var(--cpb-ease), border-color 220ms var(--cpb-ease);
}
@media (hover: hover) and (pointer: fine) {
  .page--client-protection .cpb-contact__alt a:hover {
    color: var(--cpb-on-dark);
    border-color: var(--cpb-on-dark);
  }
}
.page--client-protection .cpb-contact__alt a:focus-visible {
  outline: 2px solid var(--cpb-gold);
  outline-offset: 3px;
}

/* ==========================================================================
 * THE ASSISTANT PANEL — deep wine-ink close band; surgery on this page's
 * instance only
 * ========================================================================== */

.page--client-protection .reception {
  background: var(--cpb-ink-deep);
  border-top: 1px solid rgba(197, 168, 128, 0.28);
  padding: clamp(3.25rem, 6.5vw, 6rem) var(--inset);
  margin-top: var(--cpb-gap);
}

.page--client-protection .reception__inner {
  width: var(--cpb-w-mid);
  margin-inline: auto;
  display: grid;
  gap: clamp(1.9rem, 4vw, 3.5rem);
  align-items: start;
}
@media (min-width: 64em) {
  .page--client-protection .reception__inner {
    grid-template-columns: minmax(20rem, 0.8fr) minmax(0, 1.2fr);
  }
}

.page--client-protection .reception__intro { max-width: none; }

.page--client-protection .cpb-assure {
  display: flex;
  align-items: flex-start;
  gap: 0.6rem;
  margin: 1.1rem 0 0;
  padding: 0.7rem 0.9rem;
  width: fit-content;
  background: rgba(244, 239, 230, 0.07);
  border: 1px solid rgba(244, 239, 230, 0.16);
  border-left: 2px solid var(--cpb-gold);
  border-radius: 8px;
  color: var(--cpb-on-dark-soft);
  font-size: 0.8rem;
  line-height: 1.5;
}
.page--client-protection .cpb-assure svg {
  width: 1rem;
  height: 1rem;
  flex: 0 0 auto;
  margin-top: 0.1rem;
  color: var(--cpb-gold);
}

.page--client-protection .cpb-reception-contact {
  list-style: none;
  margin: 1.4rem 0 0;
  padding: 0;
  display: grid;
  gap: 0.55rem;
}

.page--client-protection .cpb-reception-contact .cpb-contact-row {
  background: rgba(244, 239, 230, 0.05);
  border-color: rgba(244, 239, 230, 0.18);
  color: var(--cpb-on-dark);
}
.page--client-protection .cpb-reception-contact .cpb-contact-row .cpb-ico {
  background: rgba(244, 239, 230, 0.08);
  border-color: rgba(244, 239, 230, 0.2);
  color: var(--cpb-gold);
}
.page--client-protection .cpb-reception-contact .cpb-contact-row span:not(.cpb-ico) { color: var(--cpb-on-dark-soft); }
.page--client-protection .cpb-reception-contact .cpb-contact-row strong { color: var(--cpb-on-dark); }
@media (hover: hover) and (pointer: fine) {
  .page--client-protection .cpb-reception-contact .cpb-contact-row:hover { border-color: var(--cpb-gold); }
}
.page--client-protection .cpb-reception-contact .cpb-contact-row:focus-visible {
  outline: 2px solid var(--cpb-gold);
  outline-offset: 3px;
}

.page--client-protection .cpb-follow {
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
  margin-top: 1rem;
  min-height: 48px;
  width: fit-content;
  color: var(--cpb-on-dark-soft);
  font-size: 0.8rem;
  font-weight: 700;
  text-decoration: none;
  border-bottom: 1px solid rgba(244, 239, 230, 0.25);
  transition: color 220ms var(--cpb-ease), border-color 220ms var(--cpb-ease);
}
@media (hover: hover) and (pointer: fine) {
  .page--client-protection .cpb-follow:hover { color: var(--cpb-on-dark); border-color: var(--cpb-on-dark); }
}
.page--client-protection .cpb-follow:focus-visible {
  outline: 2px solid var(--cpb-gold);
  outline-offset: 3px;
}

.page--client-protection .reception__routes {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  gap: 0.7rem;
}

.page--client-protection .reception__route { margin: 0; }

.page--client-protection .reception__disclosure {
  background: rgba(244, 239, 230, 0.05);
  border: 1px solid rgba(244, 239, 230, 0.16);
  border-radius: var(--cpb-r-card);
  transition: border-color 220ms var(--cpb-ease), background-color 220ms var(--cpb-ease);
}
.page--client-protection .reception__disclosure[open] {
  background: rgba(244, 239, 230, 0.08);
  border-color: var(--cpb-line-gold);
}

.page--client-protection .reception__summary {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: 1rem;
  min-height: 56px;
  padding: 0.95rem 1.1rem;
  cursor: pointer;
  list-style: none;
}
.page--client-protection .reception__summary::-webkit-details-marker { display: none; }
.page--client-protection .reception__summary::marker { content: ""; }
.page--client-protection .reception__summary:focus-visible {
  outline: 2px solid var(--cpb-gold);
  outline-offset: 3px;
}

.page--client-protection .reception__label {
  color: var(--cpb-on-dark);
  font-size: 0.95rem;
  font-weight: 750;
}

.page--client-protection .reception__body { padding: 0.15rem 1.1rem 1.2rem; }

.page--client-protection .cpb-route-act {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.7rem 1.1rem;
  margin-top: 1rem;
  padding-top: 0.9rem;
  border-top: 1px solid rgba(244, 239, 230, 0.14);
}

.page--client-protection .cpb-route-act__primary {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
  min-height: 48px;
  padding: 0.7rem 1.15rem;
  color: var(--cpb-ink);
  background: var(--cpb-sand);
  border: 1px solid var(--cpb-sand);
  border-radius: calc(var(--cpb-r-card) - 2px);
  font-size: 0.85rem;
  font-weight: 800;
  text-decoration: none;
  transition: background-color 220ms var(--cpb-ease), border-color 220ms var(--cpb-ease);
}
@media (hover: hover) and (pointer: fine) {
  .page--client-protection .cpb-route-act__primary:hover {
    background: var(--cpb-on-dark);
    border-color: var(--cpb-on-dark);
  }
}
.page--client-protection .cpb-route-act__primary:focus-visible {
  outline: 2px solid var(--cpb-gold);
  outline-offset: 3px;
}

.page--client-protection .cpb-route-act__alt {
  display: inline-flex;
  align-items: center;
  min-height: 48px;
  color: var(--cpb-on-dark-soft);
  font-size: 0.84rem;
  font-weight: 700;
  text-decoration: none;
  border-bottom: 1px solid rgba(244, 239, 230, 0.25);
  transition: color 220ms var(--cpb-ease), border-color 220ms var(--cpb-ease);
}
@media (hover: hover) and (pointer: fine) {
  .page--client-protection .cpb-route-act__alt:hover { color: var(--cpb-on-dark); border-color: var(--cpb-on-dark); }
}
.page--client-protection .cpb-route-act__alt:focus-visible {
  outline: 2px solid var(--cpb-gold);
  outline-offset: 3px;
}

/* ------------------------- Motion and forced colours ---------------------- */

@media (prefers-reduced-motion: reduce) {
  .page--client-protection .cpl-hero__action,
  .page--client-protection .cpb-cue,
  .page--client-protection .cpb-cue::after,
  .page--client-protection .cpb-guide-nav summary,
  .page--client-protection .cpb-guide-nav nav a,
  .page--client-protection .cpb-guide-nav__caret,
  .page--client-protection .cpl-mcard,
  .page--client-protection .cpl-mcard__image,
  .page--client-protection .cpl-journey__stage,
  .page--client-protection .cpl-journey__media img,
  .page--client-protection .cpl-source-card,
  .page--client-protection .cpl-source-card::before,
  .page--client-protection .cpl-source-card__visual img,
  .page--client-protection .cpl-source-card__action,
  .page--client-protection .cpl-stepper-band__act .cpl-action,
  .page--client-protection .cpl-stepper-band__act .cpl-action::after,
  .page--client-protection .cpl-register__act .cpl-link,
  .page--client-protection .cpb-contact-row,
  .page--client-protection .cpb-follow,
  .page--client-protection .cpb-route-act__primary,
  .page--client-protection .cpb-route-act__alt,
  .page--client-protection .reception__disclosure,
  .page--client-protection .cpb-contact__alt a {
    transition: none !important;
  }
  .page--client-protection .cpl-mcard:hover,
  .page--client-protection .cpl-journey__stage:hover,
  .page--client-protection .cpl-source-card:hover,
  .page--client-protection .cpb-cue:hover,
  .page--client-protection .cpl-stepper-band__act .cpl-action:hover,
  .page--client-protection .cpb-contact-row:hover { transform: none; }
  .page--client-protection .cpl-mcard:hover .cpl-mcard__image,
  .page--client-protection .cpl-journey__stage:hover .cpl-journey__media img,
  .page--client-protection .cpl-source-card:hover .cpl-source-card__visual img { transform: none; }
}

html[data-motion="static"] .page--client-protection .cpl-mcard,
html[data-motion="static"] .page--client-protection .cpl-journey__stage,
html[data-motion="static"] .page--client-protection .cpl-source-card,
html[data-motion="static"] .page--client-protection .cpb-cue,
html[data-motion="static"] .page--client-protection .cpl-stepper-band__act .cpl-action,
html[data-motion="static"] .page--client-protection .cpb-contact-row {
  transition: none !important;
  transform: none !important;
}

@media (forced-colors: active) {
  .page--client-protection .cpl-card,
  .page--client-protection .cpl-mcard,
  .page--client-protection .cpl-journey__stage,
  .page--client-protection .cpl-source-card,
  .page--client-protection .cpb-contact-card,
  .page--client-protection .cpb-contact-row,
  .page--client-protection .cpb-guide-nav summary,
  .page--client-protection .cpb-guide-nav nav,
  .page--client-protection .reception__disclosure,
  .page--client-protection .cpl-company__mark,
  .page--client-protection .cpl-company__inner,
  .page--client-protection .cpl-hero__copy { border: 1px solid CanvasText; }
  .page--client-protection .cpb-guide-nav nav a[aria-current="true"] { border: 3px solid Highlight; }
}
