/* dwp-theme bundle: sales — generated by bin/build-assets.sh; do not edit. */

/* ---- fonts.css ---- */
/* IBM Plex Sans Arabic, self-hosted WOFF2 (Guide §2.2). Licence: assets/fonts/OFL.txt.
   Relative URLs resolve from assets/css/ and from assets/dist/ alike. */
@font-face {
  font-family: "IBM Plex Sans Arabic";
  src: url("../fonts/IBMPlexSansArabic-Regular.woff2") format("woff2");
  font-weight: 400; font-style: normal; font-display: swap;
}
@font-face {
  font-family: "IBM Plex Sans Arabic";
  src: url("../fonts/IBMPlexSansArabic-Medium.woff2") format("woff2");
  font-weight: 500; font-style: normal; font-display: optional; /* QA G1: no late swap (metric-matched fallback faces below) */
}
@font-face {
  font-family: "IBM Plex Sans Arabic";
  src: url("../fonts/IBMPlexSansArabic-SemiBold.woff2") format("woff2");
  font-weight: 600; font-style: normal; font-display: optional; /* QA G1: no late swap (metric-matched fallback faces below) */
}
@font-face {
  font-family: "IBM Plex Sans Arabic";
  src: url("../fonts/IBMPlexSansArabic-Bold.woff2") format("woff2");
  font-weight: 700; font-style: normal; font-display: swap;
}

/* Metric-matched fallback faces for IBM Plex Sans Arabic (QA G1: font-swap CLS). Omar, fix round after B5;
   folded in from font-fallback.css (Karim, 2026-09-26). Used through --dwp-font-sans in tokens.css.
   Values: size-adjust = Plex advance / fallback advance, from HarfBuzz-shaping the whole Arabic copy of new-copy.md
   (≈20k chars) per weight; ascent/descent-override = Plex hhea/typo metrics (1.085 / 0.415 em) ÷ size-adjust;
   line-gap 0. Script: /workspace/omar-qa/metrics.py. The fallback line boxes and line breaks then match Plex closely,
   so the swap to Plex no longer re-wraps text.
   Covered locals: Noto Sans Arabic (Android 12+, many Linux), Noto Naskh Arabic (older Android), DejaVu Sans (Linux default).
   Not covered yet: Segoe UI (Windows) and Tahoma (Windows/macOS): no font files on the box to measure (open item).
   B6-fix re-tune (Omar, QA G1): Noto Sans Arabic 400/600/700 size-adjust set to 94.10/93.00/91.50% by a wrap-parity search in
   Chrome (Plex vs fallback, every text block, 360–1440, both views: 46 → 28 blocks that change height, 0 in S1/S9); the
   plain local("Noto Sans Arabic") source is added to 500/600/700 as a last resort (Chrome on this box resolves the named
   instances already; it rejects the family-name source). */
@font-face { font-family: "DWP Fallback Noto Sans Arabic"; src: local("Noto Sans Arabic Regular"), local("NotoSansArabic-Regular"); font-weight: 400; font-style: normal; font-display: swap; size-adjust: 94.10%; ascent-override: 115.30%; descent-override: 44.10%; line-gap-override: 0%; }
@font-face { font-family: "DWP Fallback Noto Sans Arabic"; src: local("Noto Sans Arabic Medium"), local("NotoSansArabic-Medium"), local("Noto Sans Arabic"); font-weight: 500; font-style: normal; font-display: swap; size-adjust: 94.54%; ascent-override: 114.77%; descent-override: 43.90%; line-gap-override: 0%; }
@font-face { font-family: "DWP Fallback Noto Sans Arabic"; src: local("Noto Sans Arabic SemiBold"), local("NotoSansArabic-SemiBold"), local("Noto Sans Arabic"); font-weight: 600; font-style: normal; font-display: swap; size-adjust: 93.00%; ascent-override: 116.67%; descent-override: 44.62%; line-gap-override: 0%; }
@font-face { font-family: "DWP Fallback Noto Sans Arabic"; src: local("Noto Sans Arabic Bold"), local("NotoSansArabic-Bold"), local("Noto Sans Arabic"); font-weight: 700; font-style: normal; font-display: swap; size-adjust: 91.50%; ascent-override: 118.58%; descent-override: 45.36%; line-gap-override: 0%; }
@font-face { font-family: "DWP Fallback Noto Naskh Arabic"; src: local("Noto Naskh Arabic Regular"), local("NotoNaskhArabic-Regular"); font-weight: 400; font-style: normal; font-display: swap; size-adjust: 105.15%; ascent-override: 103.19%; descent-override: 39.47%; line-gap-override: 0%; }
@font-face { font-family: "DWP Fallback Noto Naskh Arabic"; src: local("Noto Naskh Arabic Medium"), local("NotoNaskhArabic-Medium"); font-weight: 500; font-style: normal; font-display: swap; size-adjust: 106.76%; ascent-override: 101.63%; descent-override: 38.87%; line-gap-override: 0%; }
@font-face { font-family: "DWP Fallback Noto Naskh Arabic"; src: local("Noto Naskh Arabic SemiBold"), local("NotoNaskhArabic-SemiBold"); font-weight: 600; font-style: normal; font-display: swap; size-adjust: 107.26%; ascent-override: 101.16%; descent-override: 38.69%; line-gap-override: 0%; }
@font-face { font-family: "DWP Fallback Noto Naskh Arabic"; src: local("Noto Naskh Arabic Bold"), local("NotoNaskhArabic-Bold"); font-weight: 700; font-style: normal; font-display: swap; size-adjust: 107.89%; ascent-override: 100.57%; descent-override: 38.47%; line-gap-override: 0%; }
@font-face { font-family: "DWP Fallback DejaVu Sans"; src: local("DejaVu Sans"), local("DejaVuSans"); font-weight: 400; font-style: normal; font-display: swap; size-adjust: 88.07%; ascent-override: 123.20%; descent-override: 47.12%; line-gap-override: 0%; }
@font-face { font-family: "DWP Fallback DejaVu Sans"; src: local("DejaVu Sans"), local("DejaVuSans"); font-weight: 500; font-style: normal; font-display: swap; size-adjust: 90.62%; ascent-override: 119.73%; descent-override: 45.80%; line-gap-override: 0%; }
@font-face { font-family: "DWP Fallback DejaVu Sans"; src: local("DejaVu Sans Bold"), local("DejaVuSans-Bold"); font-weight: 600; font-style: normal; font-display: swap; size-adjust: 78.30%; ascent-override: 138.57%; descent-override: 53.00%; line-gap-override: 0%; }
@font-face { font-family: "DWP Fallback DejaVu Sans"; src: local("DejaVu Sans Bold"), local("DejaVuSans-Bold"); font-weight: 700; font-style: normal; font-display: swap; size-adjust: 79.78%; ascent-override: 136.00%; descent-override: 52.02%; line-gap-override: 0%; }

/* ---- tokens.css ---- */
/* ==========================================================
   Content Creation Course AI (DWP) — design tokens v1.0
   Source: measured from 47 USE renders (ds-work/palette-measurements.md)
   Breakpoints (use in media queries; custom props can't be used there):
     --dwp-bp-xs: 360px   small phones (design floor)
     --dwp-bp-sm: 640px   large phones
     --dwp-bp-md: 768px   tablets portrait
     --dwp-bp-lg: 1024px  tablets landscape / small laptops
     --dwp-bp-xl: 1280px  desktop (fluid type stops growing here)
   ========================================================== */
:root {
  /* ---------- Brand: primary (burnt orange) ---------- */
  --dwp-primary-50:  #FFFBF2;
  --dwp-primary-100: #FEF4D9;  /* primary-soft tint (measured hue, L*95) */
  --dwp-primary-200: #FDEAB2;
  --dwp-primary-300: #FCDC80;
  --dwp-primary-400: #FACA40;  /* measured: light orange (061, 003, 058) */
  --dwp-primary-500: #F8B800;  /* measured: vivid brand orange (058, 048, 044) — icons/illustration only */
  --dwp-primary-600: #D39C00;  /* measured: deep orange (074, 072, 081) — button fill */
  --dwp-primary-700: #AE8100;  /* adjusted from 600: text-safe orange, hover */
  --dwp-primary-800: #886500;  /* adjusted: active/pressed */
  --dwp-primary-900: #634A00;

  --dwp-color-primary:        var(--dwp-primary-500);
  --dwp-color-primary-hover:  var(--dwp-primary-600);
  --dwp-color-primary-active: var(--dwp-primary-700);
  --dwp-color-primary-soft:   var(--dwp-primary-100);
  --dwp-color-primary-text:   var(--dwp-primary-800); /* orange used AS text */
  --dwp-color-brand-vivid:    var(--dwp-primary-500); /* never behind/as small text */

  /* ---------- Secondary (warm charcoal) & accent (peach/tan) ---------- */
  --dwp-color-secondary:       #4B4642;  /* measured #4B4C4D, warm-shifted */
  --dwp-color-secondary-hover: #2E2A27;
  --dwp-color-accent:          #FCDC80;  /* measured peach (003, 026, 040) — decorative */
  --dwp-color-accent-soft:     #FEF4D9;  /* from measured tan #EAD0B3 (003, 055, 013), lightened */

  /* ---------- Warm neutrals ---------- */
  --dwp-neutral-0:   #FFFFFF;
  --dwp-neutral-50:  #FBF8F3;  /* measured #FBF8F3 (075, 076, 085) */
  --dwp-neutral-100: #F5EFE7;
  --dwp-neutral-200: #EEE6DC;  /* measured #EEE6DC (006, 012, 013) */
  --dwp-neutral-300: #E4DBD0;
  --dwp-neutral-400: #C1B8AF;  /* measured #C1B8AF (013, 012, 116) */
  --dwp-neutral-500: #8F8780;  /* measured #898886 (116, 005, 058), warm-shifted */
  --dwp-neutral-600: #6B645E;
  --dwp-neutral-650: #7A726B;  /* strikethrough price */
  --dwp-neutral-700: #4B4642;  /* measured #4B4C4D, warm-shifted */
  --dwp-neutral-800: #2E2A27;
  --dwp-neutral-900: #030201;  /* measured #121415 (054, 064, 048), warmed + lifted */

  /* ---------- Backgrounds ---------- */
  --dwp-bg-page:        var(--dwp-neutral-50); /* light beige #FBF8F3 */
  --dwp-bg-section-alt: var(--dwp-neutral-0);   /* white; section bands never use the darker beige */
  --dwp-bg-card:        var(--dwp-neutral-0);
  --dwp-bg-dark:        var(--dwp-neutral-900);
  --dwp-bg-tint:        var(--dwp-primary-50);

  /* ---------- Text ---------- */
  --dwp-text-heading:    var(--dwp-neutral-900);
  --dwp-text-primary:    var(--dwp-neutral-800);
  --dwp-text-muted:      var(--dwp-neutral-600);
  --dwp-text-on-primary: #030201;
  --dwp-text-on-dark:    #EFE9E2;
  --dwp-text-on-dark-muted: var(--dwp-neutral-400);
  --dwp-text-on-dark-accent: var(--dwp-primary-400);
  --dwp-text-link:       var(--dwp-primary-800);
  --dwp-text-link-hover: var(--dwp-primary-800);
  --dwp-text-strike:     var(--dwp-neutral-650);

  /* ---------- Borders ---------- */
  --dwp-border-default: var(--dwp-neutral-300);  /* decorative dividers/card edges */
  --dwp-border-strong:  var(--dwp-neutral-500);  /* inputs, outline buttons (3:1) */
  --dwp-focus-ring:     var(--dwp-primary-600);
  --dwp-focus-ring-on-dark: var(--dwp-primary-400);

  /* ---------- Status ---------- */
  --dwp-success:      #3B6E52;  /* introduced (no green in renders) — guarantee & checks only */
  --dwp-success-soft: #EAF2EC;
  --dwp-warning:      #A63A2B;  /* restrained terracotta — discount badge only */
  --dwp-warning-soft: #FBE9E4;

  /* ---------- Typography ---------- */
  /* Metric-matched fallbacks (QA G1) are defined in fonts.css; Segoe UI / Tahoma not measured yet. */
  --dwp-font-sans: "IBM Plex Sans Arabic", "DWP Fallback Noto Sans Arabic", "DWP Fallback Noto Naskh Arabic", "DWP Fallback DejaVu Sans", "Segoe UI", Tahoma, system-ui, sans-serif;
  --dwp-fw-light: 300; --dwp-fw-regular: 400; --dwp-fw-medium: 500;
  --dwp-fw-semibold: 600; --dwp-fw-bold: 700;
  /* fluid sizes: min @360px → max @1280px */
  --dwp-fs-display: clamp(2.25rem, 1.761rem + 2.174vw, 3.5rem);   /* 36 → 56 */
  --dwp-fs-h1:      clamp(1.875rem, 1.533rem + 1.522vw, 2.75rem); /* 30 → 44 */
  --dwp-fs-h2:      clamp(1.625rem, 1.38rem + 1.087vw, 2.25rem);  /* 26 → 36 */
  --dwp-fs-h3:      clamp(1.3125rem, 1.19rem + 0.5435vw, 1.625rem); /* 21 → 26 */
  --dwp-fs-h4:      clamp(1.125rem, 1.076rem + 0.2174vw, 1.25rem); /* 18 → 20 */
  --dwp-fs-lead:    clamp(1.125rem, 1.076rem + 0.2174vw, 1.25rem); /* 18 → 20 */
  --dwp-fs-body:    clamp(1rem, 0.9511rem + 0.2174vw, 1.125rem);  /* 16 → 18 */
  --dwp-fs-small:   clamp(0.875rem, 0.8505rem + 0.1087vw, 0.9375rem); /* 14 → 15 */
  --dwp-fs-caption: 0.8125rem;                                    /* 13 */
  --dwp-fs-price:   clamp(2.75rem, 2.261rem + 2.174vw, 4rem);     /* 44 → 64 */
  --dwp-fs-button:  clamp(1rem, 0.9755rem + 0.1087vw, 1.0625rem); /* 16 → 17 */
  --dwp-lh-tight: 1.15;   /* price only */
  --dwp-lh-heading: 1.35; /* 1.3 display … 1.4 h3/h4 */
  --dwp-lh-body: 1.8;
  --dwp-lh-small: 1.75;
  --dwp-tracking: 0;      /* never letter-space Arabic */

  /* ---------- Spacing (4px base) ---------- */
  --dwp-space-0: 0;     --dwp-space-1: 4px;   --dwp-space-2: 8px;
  --dwp-space-3: 12px;  --dwp-space-4: 16px;  --dwp-space-5: 20px;
  --dwp-space-6: 24px;  --dwp-space-8: 32px;  --dwp-space-10: 40px;
  --dwp-space-12: 48px; --dwp-space-16: 64px; --dwp-space-20: 80px;
  --dwp-space-24: 96px; --dwp-space-32: 128px;
  --dwp-section-y: clamp(64px, 40px + 5vw, 112px);

  /* ---------- Radius ---------- */
  --dwp-radius-xs: 4px;  --dwp-radius-sm: 8px;  --dwp-radius-md: 12px;
  --dwp-radius-lg: 16px; --dwp-radius-xl: 24px; --dwp-radius-pill: 999px;

  /* ---------- Shadows (warm-tinted, from neutral-900 #1E1B18 + primary-900) ---------- */
  --dwp-shadow-1: 0 1px 2px rgba(30,27,24,.06), 0 1px 3px rgba(94,33,6,.05);
  --dwp-shadow-2: 0 4px 12px rgba(30,27,24,.07), 0 2px 4px rgba(94,33,6,.05);
  --dwp-shadow-3: 0 16px 40px rgba(30,27,24,.10), 0 4px 12px rgba(94,33,6,.06);

  /* ---------- Layout ---------- */
  --dwp-container: 1200px;
  --dwp-container-narrow: 760px;  /* S17 letter, S20 */
  --dwp-gutter: 24px;             /* 16px < 640px, 24px ≥ 640px, 32px ≥ 1280px */
  --dwp-page-pad: clamp(16px, 4vw, 40px);
  --dwp-duration: 160ms;
  --dwp-ease: cubic-bezier(.2,.7,.2,1);
}

/* ---------- Base (RTL) ---------- */
html[dir="rtl"] { font-family: var(--dwp-font-sans); }
body {
  margin: 0; background: var(--dwp-bg-page); color: var(--dwp-text-primary);
  font: var(--dwp-fw-regular) var(--dwp-fs-body)/var(--dwp-lh-body) var(--dwp-font-sans);
  letter-spacing: 0; -webkit-font-smoothing: antialiased; text-rendering: optimizeLegibility;
}
h1, h2, h3, h4 { color: var(--dwp-text-heading); line-height: var(--dwp-lh-heading); letter-spacing: 0; margin: 0 0 var(--dwp-space-4); text-wrap: balance; }
h1 { font-size: var(--dwp-fs-h1); font-weight: 700; }
h2 { font-size: var(--dwp-fs-h2); font-weight: 700; }
h3 { font-size: var(--dwp-fs-h3); font-weight: 600; line-height: 1.4; }
h4 { font-size: var(--dwp-fs-h4); font-weight: 600; line-height: 1.4; }
a { color: var(--dwp-text-link); text-decoration: none; text-underline-offset: .25em; } /* UI links: no underline; prose links underline (base.css) */
a:hover { color: var(--dwp-text-link-hover); }
:focus-visible { outline: 3px solid var(--dwp-focus-ring); outline-offset: 2px; }
.dwp-num, .dwp-price { font-variant-numeric: tabular-nums lining-nums; unicode-bidi: isolate; direction: ltr; display: inline-block; }
bdi, .dwp-ltr { unicode-bidi: isolate; }

.dwp-btn {
  display: inline-flex; align-items: center; justify-content: center; gap: var(--dwp-space-2);
  min-height: 52px; padding-block: 14px; padding-inline: 28px;
  font: var(--dwp-fw-semibold) var(--dwp-fs-button)/1.4 var(--dwp-font-sans);
  border-radius: var(--dwp-radius-md); border: 1.5px solid transparent; cursor: pointer;
  transition: background var(--dwp-duration) var(--dwp-ease), box-shadow var(--dwp-duration) var(--dwp-ease), transform var(--dwp-duration) var(--dwp-ease);
}
.dwp-btn--primary { background: var(--dwp-color-primary); color: var(--dwp-text-on-primary); box-shadow: var(--dwp-shadow-1); }
.dwp-btn--primary:hover { background: var(--dwp-color-primary-hover); box-shadow: var(--dwp-shadow-2); }
.dwp-btn--primary:active { background: var(--dwp-color-primary-active); transform: translateY(1px); box-shadow: none; }
.dwp-btn--secondary { background: var(--dwp-bg-card); color: var(--dwp-color-secondary); border-color: var(--dwp-border-strong); }
.dwp-btn--secondary:hover { background: var(--dwp-neutral-100); border-color: var(--dwp-color-secondary); }
.dwp-btn--ghost { background: transparent; color: var(--dwp-text-link); padding-inline: 12px; }
.dwp-btn--ghost:hover { background: var(--dwp-color-primary-soft); }
.dwp-btn:focus-visible { outline: 3px solid var(--dwp-focus-ring); outline-offset: 3px; }
.dwp-btn:disabled, .dwp-btn[aria-disabled="true"] { background: var(--dwp-neutral-200); color: var(--dwp-neutral-600); border-color: transparent; box-shadow: none; cursor: not-allowed; }
.dwp-btn[aria-busy="true"] { cursor: progress; }
.dwp-btn .dwp-icon-arrow { transform: none; } /* use the ← glyph/icon as-is in RTL: it points forward */

/* ---- base.css ---- */
/* Base layer: only what tokens.css doesn't already cover (plan C12).
   Mobile-first, logical properties only. */
*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; text-size-adjust: 100%; }
body { min-block-size: 100vh; overflow-wrap: break-word; }
img, svg, video { max-inline-size: 100%; block-size: auto; }
p { margin-block: 0 var(--dwp-space-4); text-wrap: pretty; }
p, li { text-align: start; }
em, i { font-style: normal; } /* no italics on Arabic */

/* Layout primitives */
.dwp-container { inline-size: 100%; max-inline-size: calc(var(--dwp-container) + 2 * var(--dwp-page-pad)); margin-inline: auto; padding-inline: var(--dwp-page-pad); }
.dwp-container--narrow { max-inline-size: calc(var(--dwp-container-narrow) + 2 * var(--dwp-page-pad)); }
.dwp-section { padding-block: var(--dwp-section-y); background: var(--dwp-bg-page); }
.dwp-section--tint { background: var(--dwp-bg-tint); }
.dwp-section--dark { background: var(--dwp-bg-dark); color: var(--dwp-text-on-dark); }
.dwp-section--dark :focus-visible { outline-color: var(--dwp-focus-ring-on-dark); }
.dwp-grid { display: grid; gap: var(--dwp-gutter); grid-template-columns: repeat(4, minmax(0, 1fr)); }
@media (min-width: 768px) { .dwp-grid { grid-template-columns: repeat(8, minmax(0, 1fr)); } }
@media (min-width: 1024px) { .dwp-grid { grid-template-columns: repeat(12, minmax(0, 1fr)); } }

/* Prose links (written content only: .dwp-entry on page/single/index, never Tutor pages or the front-page sections).
   UI links get no underline from tokens.css `a`. Buttons and button-styled links are excluded. */
body:not(.dwp-tutor-page) .dwp-entry a:not(.dwp-btn, .dwp-html-tool, .tutor-btn, .wp-block-button__link, .wp-element-button, [role="button"]) {
  text-decoration-line: underline; text-decoration-thickness: 1px; text-decoration-color: var(--dwp-color-primary); text-underline-offset: 3px;
}
body:not(.dwp-tutor-page) .dwp-entry a:not(.dwp-btn, .dwp-html-tool, .tutor-btn, .wp-block-button__link, .wp-element-button, [role="button"]):hover {
  text-decoration-thickness: 2px; text-decoration-color: var(--dwp-color-primary-hover);
}

/* Accessibility */
.dwp-skip-link { position: absolute; inset-block-start: var(--dwp-space-2); inset-inline-start: var(--dwp-space-2); z-index: 1000; padding: var(--dwp-space-3) var(--dwp-space-4); background: var(--dwp-bg-card); color: var(--dwp-text-link); border-radius: var(--dwp-radius-sm); transform: translateY(-200%); }
.dwp-skip-link:focus { transform: none; }
.dwp-visually-hidden, .screen-reader-text { position: absolute !important; inline-size: 1px; block-size: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; }

/* M1 shell note (preview only; removed as sections are built) */
.dwp-shell-note { margin: 0; padding: var(--dwp-space-4); border: 1.5px dashed var(--dwp-border-strong); border-radius: var(--dwp-radius-md); color: var(--dwp-text-muted); font-size: var(--dwp-fs-small); text-align: center; direction: ltr; }

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

/* ---- site/header.css ---- */
/* Site header (Guide §2.6, Nader O10): 72px light bar, wordmark at the start (right in RTL), nav slot at the end. */
/* Gutter per breakpoint, as the tokens.css comment specifies (16 < 640 ≤ 24 < 1280 ≤ 32). tokens.css stays verbatim;
   this only re-declares the custom property at the breakpoints (Ziad S1 #8). */
:root { --dwp-gutter: 16px; }
@media (min-width: 640px) { :root { --dwp-gutter: 24px; } }
@media (min-width: 1280px) { :root { --dwp-gutter: 32px; } }
.dwp-site-header { background: var(--dwp-neutral-0); border-block-end: 1px solid var(--dwp-border-default); }
@media (min-width: 1024px) {
  .dwp-site-header { position: sticky; inset-block-start: 0; z-index: 40; }
  body.admin-bar .dwp-site-header { inset-block-start: 32px; }
  html { scroll-padding-block-start: 5.5rem; }
  html:has(body.admin-bar) { scroll-padding-block-start: 7.5rem; }
}
.dwp-site-header__inner { display: flex; align-items: center; justify-content: space-between; gap: var(--dwp-space-4); min-block-size: 71px; } /* + 1px border = 72px */
.dwp-wordmark { font-weight: var(--dwp-fw-bold); font-size: var(--dwp-fs-h4); color: var(--dwp-text-heading); text-decoration: none; }
.dwp-site-header .dwp-wordmark { display: inline-flex; align-items: center; min-block-size: 44px; } /* 44px tap target */
.dwp-wordmark:hover { color: var(--dwp-text-heading); }
.dwp-wordmark--logo { line-height: 0; }
.dwp-wordmark .dwp-logo-picture { display: block; }
.dwp-wordmark .dwp-logo { display: block; block-size: 40px; inline-size: auto; max-inline-size: min(180px, 48vw); width: auto; height: 40px; }
@media (min-width: 640px) {
  .dwp-wordmark .dwp-logo { block-size: 40px; height: 40px; max-inline-size: 280px; block-size: 48px; height: 48px; }
}
.dwp-site-nav ul { display: flex; flex-wrap: wrap; gap: var(--dwp-space-4); margin: 0; padding: 0; list-style: none; }
.dwp-site-nav a { text-decoration: none; }
/* Compact header CTA (Nader O10, Omar B8): 48px primary at the inline end (left in RTL), sales page only.
   Hidden below 640: no room next to the 172px wordmark at 360–639; the sticky bar covers mobile after the hero. */
.dwp-site-header__tools {
	display: flex;
	align-items: center;
	gap: var(--dwp-space-3, 0.75rem);
	margin-inline-start: auto;
	flex: none;
}
.dwp-site-header__account {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	inline-size: 44px;
	block-size: 44px;
	border-radius: 999px;
	color: var(--dwp-color-primary-text);
	font-size: 0.9375rem;
	font-weight: var(--dwp-fw-semibold);
	line-height: 1;
	text-decoration: none;
}
.dwp-site-header__account:hover {
	color: var(--dwp-color-primary);
}
.dwp-site-header__account-label {
	position: absolute;
	inline-size: 1px;
	block-size: 1px;
	margin: -1px;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	white-space: nowrap;
	border: 0;
}
@media (min-width: 1024px) {
	.dwp-site-header__account {
		inline-size: auto;
	}
	.dwp-site-header__account-label {
		position: static;
		inline-size: auto;
		block-size: auto;
		margin: 0;
		overflow: visible;
		clip: auto;
	}
}
.dwp-site-header__sep {
	display: none;
	flex: none;
	inline-size: 1px;
	block-size: 28px;
	background: var(--dwp-neutral-400);
}
.dwp-site-header__title {
	margin: 0;
	font-size: 0.9375rem;
	font-weight: var(--dwp-fw-semibold);
	line-height: 1.3;
	color: var(--dwp-text-muted);
}
.dwp-site-header__cta { display: none; }
@media (min-width: 640px) {
	.dwp-site-header__cta { display: block; flex: none; }
	.dwp-site-header__sep { display: block; }
}

/* ---- site/footer.css ---- */
/* Dark site footer. Brand column (logo, short bio, circular social marks) then legal links.
   Mobile stacks. From 768px the legal links sit at the inline end. Copyright sits under a hairline. */
.dwp-site-footer { background: var(--dwp-bg-dark); color: var(--dwp-text-on-dark); padding-block: clamp(3rem, 6vw, 4.5rem) var(--dwp-space-12); }
.dwp-site-footer a { color: var(--dwp-text-on-dark-muted); text-decoration-color: color-mix(in srgb, currentColor 35%, transparent); text-underline-offset: .3em; }
.dwp-site-footer a:hover { color: var(--dwp-text-on-dark); text-decoration-color: currentColor; }
.dwp-site-footer :focus-visible { outline-color: var(--dwp-focus-ring-on-dark); }
.dwp-footer-legal { display: grid; gap: var(--dwp-space-6); }
.dwp-footer-legal__brand { display: grid; justify-items: center; gap: 0.85rem; max-inline-size: none; text-align: center; }
.dwp-footer-legal__wordmark { font-weight: var(--dwp-fw-bold); font-size: 1.25rem; color: var(--dwp-text-on-dark); margin: 0; }
.dwp-footer-legal__wordmark--logo { line-height: 0; }
.dwp-footer-legal__logo-link { display: inline-flex; align-items: center; min-block-size: 44px; text-decoration: none; color: inherit; }
.dwp-footer-legal__logo-link:hover { color: inherit; text-decoration: none; }
.dwp-footer-legal .dwp-logo-picture { display: block; }
.dwp-footer-legal .dwp-logo { display: block; block-size: 40px; inline-size: auto; max-inline-size: min(180px, 60vw); width: auto; height: 40px; }
.dwp-footer-legal__bio { margin: 0; max-inline-size: 28rem; font-size: 0.9375rem; line-height: 1.75; color: var(--dwp-text-on-dark-muted); text-align: center; }
.dwp-footer-legal__social { display: flex; flex-wrap: wrap; justify-content: center; gap: 0.65rem; margin: 0.15rem 0 0; padding: 0; list-style: none; }
.dwp-footer-legal__social a { display: inline-flex; align-items: center; justify-content: center; inline-size: 2.75rem; block-size: 2.75rem; border: 1px solid rgb(239 233 226 / 0.28); border-radius: 999px; color: var(--dwp-text-on-dark); text-decoration: none; }
.dwp-footer-legal__social a:hover { background: rgb(239 233 226 / 0.1); color: var(--dwp-text-on-dark); text-decoration: none; }
.dwp-footer-legal__social .dwp-icon { fill: currentColor; stroke: none; }
.dwp-footer-legal__links ul { display: flex; flex-direction: row; flex-wrap: nowrap; justify-content: center; align-items: center; gap: 0.75rem; margin: 0; padding: 0; list-style: none; font-size: 0.75rem; }
.dwp-footer-legal__links a { display: inline-flex; align-items: center; min-block-size: 44px; }
.dwp-footer-legal__pending { color: var(--dwp-text-on-dark); }
.dwp-footer-legal__copy { margin: 0; font-size: var(--dwp-fs-small); line-height: var(--dwp-lh-small); padding-block-start: var(--dwp-space-6); border-block-start: 1px solid rgb(239 233 226 / 0.15); text-align: center; }
.dwp-disclaimer { margin-block-start: var(--dwp-space-3); }
.dwp-disclaimer p { margin: 0; font-size: var(--dwp-fs-caption); font-weight: var(--dwp-fw-regular, 400); line-height: 1.8; color: var(--dwp-neutral-300); text-align: center; }
.dwp-footer-country { margin: var(--dwp-space-4) 0 0; font-size: var(--dwp-fs-caption); font-weight: var(--dwp-fw-medium); line-height: 1.8; color: var(--dwp-text-on-dark-muted); text-align: center; }
.dwp-footer-country[hidden] { display: none; }
@media (min-width: 768px) {
  .dwp-footer-legal { grid-template-columns: minmax(0, 1fr) auto; column-gap: var(--dwp-space-12); row-gap: var(--dwp-space-8); align-items: start; }
  .dwp-footer-legal__brand { justify-items: start; max-inline-size: 26rem; text-align: start; }
  .dwp-footer-legal__bio { text-align: start; }
  .dwp-footer-legal__social { justify-content: flex-start; }
  .dwp-footer-legal__links { grid-column: 2; grid-row: 1; justify-self: end; padding-block-start: 0.35rem; }
  .dwp-footer-legal__links ul { flex-direction: column; align-items: flex-end; gap: 0; font-size: 0.90625rem; }
  .dwp-footer-legal__copy { grid-column: 1 / -1; }
}

/* ---- site/preview-flag.css ---- */
.dwp-preview-flag { position: fixed; inset-block-end: var(--dwp-space-3); inset-inline-start: var(--dwp-space-3); z-index: 9999; padding: var(--dwp-space-1) var(--dwp-space-3); border-radius: var(--dwp-radius-pill); background: var(--dwp-bg-dark); color: var(--dwp-text-on-dark); font-size: var(--dwp-fs-caption); font-weight: var(--dwp-fw-semibold); direction: ltr; pointer-events: none; opacity: .85; }

/* ---- components/icon.css ---- */
.dwp-icon { display: inline-block; flex: none; vertical-align: middle; stroke: currentColor; fill: none; }
/* Directional icons are drawn for RTL (Nader, icons.md): flip ONLY in LTR contexts, never under [dir="rtl"]. */
[dir="ltr"] .dwp-icon--mirror { transform: scaleX(-1); }
.dwp-icon--brand-vivid { color: var(--dwp-color-brand-vivid); }
.dwp-icon--primary-text { color: var(--dwp-color-primary-text); }
.dwp-icon--muted { color: var(--dwp-text-muted); }
.dwp-icon--success { color: var(--dwp-success); }
.dwp-icon--on-dark { color: var(--dwp-text-on-dark); }
.dwp-icon--secondary { color: var(--dwp-color-secondary); } /* S5 equation chips (Nader decisions §C) */

/* ---- components/button.css ---- */
/* Button additions only; the base .dwp-btn lives in tokens.css (plan C12). Omar extends in B1. */
.dwp-btn { text-decoration: none; padding-block: 12px; } /* 12+12 + 1.4 line + 2×1.5 border < 52: min-block-size (52) sets the height, so it renders exactly 52px (Ziad S1 #7) */
.dwp-btn--compact { min-block-size: 48px; padding-block: 10px; padding-inline: 20px; }
.dwp-btn--large { min-block-size: 56px; }
.dwp-btn--full-mobile { inline-size: 100%; }
@media (min-width: 640px) { .dwp-btn--full-mobile { inline-size: auto; } }
/* B1: label + end icon (arrow-end ← points forward in RTL; flips only in LTR via .dwp-icon--mirror). */
.dwp-btn__label { min-inline-size: 0; text-align: center; }
.dwp-btn .dwp-icon { inline-size: 20px; block-size: 20px; }
/* QA G2: tokens.css `a:hover { color: link-hover }` (0,1,1) outranks the variant colours (0,1,0) on <a> buttons, so the
   label turned #886500 on hover/press (1.27:1 / 1.00:1 on primary). Pin every variant's label colour in all states (0,2,0).
   Disabled/aria-disabled is pinned last at (0,3,0) so it also beats these. */
.dwp-btn--primary:is(:hover, :active, :focus-visible) { color: var(--dwp-text-on-primary); }
.dwp-btn--secondary:is(:hover, :active, :focus-visible) { color: var(--dwp-color-secondary); }
.dwp-btn--ghost:is(:hover, :focus-visible) { color: var(--dwp-text-link); }
.dwp-btn--ghost:active { color: var(--dwp-primary-800); } /* DS 6.1: ghost active text primary-800 */
.dwp-btn:is(:disabled, [aria-disabled="true"]):is(:hover, :active, :focus-visible) { color: var(--dwp-neutral-600); background: var(--dwp-neutral-200); }

/* ---- components/placeholder.css ---- */
/* Placeholder (plan §18, DS §6.7 hatch style). Preview only; never rendered live. */
.dwp-ph { background: var(--dwp-warning-soft); color: var(--dwp-text-primary); border-radius: var(--dwp-radius-xs); padding-inline: var(--dwp-space-1); box-decoration-break: clone; -webkit-box-decoration-break: clone; }
.dwp-ph__num { font-weight: var(--dwp-fw-bold); unicode-bidi: isolate; }
.dwp-placeholder { display: grid; place-content: center; gap: var(--dwp-space-2); min-block-size: 160px; padding: var(--dwp-space-6); border: 1.5px dashed var(--dwp-border-strong); border-radius: var(--dwp-radius-lg); text-align: center; color: var(--dwp-text-muted); font-size: var(--dwp-fs-small);
  background: repeating-linear-gradient(135deg, var(--dwp-bg-card) 0 10px, var(--dwp-neutral-100) 10px 20px); }
.dwp-placeholder__num { justify-self: center; padding-inline: var(--dwp-space-2); border-radius: var(--dwp-radius-pill); background: var(--dwp-warning-soft); color: var(--dwp-text-primary); font-weight: var(--dwp-fw-bold); }
.dwp-placeholder__note { font-size: var(--dwp-fs-caption); }
.dwp-approval-tag { display: inline-block; padding-inline: var(--dwp-space-2); border-radius: var(--dwp-radius-pill); background: var(--dwp-warning-soft); font-size: var(--dwp-fs-caption); font-weight: var(--dwp-fw-semibold); }

/* ---- components/section-heading.css ---- */
/* Component: section-heading (Guide §2.4). Logical properties, mobile-first. */
/* DS §5: 48px between a section's heading block and its content, set once here (Ziad B3). Only when something
   follows the heading in the same parent (the S1 hero heading sits alone in its grid cell). Inside a card the
   card's flex gap (12) is already there, so the margin makes up the rest. Specificity beats `.dwp-card > *`. */
.dwp-section .dwp-section-heading:not(:last-child) { margin-block-end: var(--dwp-space-12); }
.dwp-section .dwp-card > .dwp-section-heading:not(:last-child) { margin-block-end: calc(var(--dwp-space-12) - var(--dwp-space-3)); }
.dwp-section-heading__title { margin-block: 0 var(--dwp-space-4); }
h1.dwp-section-heading__title { max-inline-size: 17em; }
.dwp-section-heading--display .dwp-section-heading__title { font-size: var(--dwp-fs-display); line-height: 1.3; }
.dwp-section-heading__subhead { margin-block: 0; max-inline-size: calc(60 * .6em); /* = 60ch in Plex (QA G1: font-independent measure) */ font-size: var(--dwp-fs-lead); line-height: 1.75; color: var(--dwp-text-primary); }
.dwp-section-heading--center { text-align: center; }
.dwp-section-heading--center .dwp-section-heading__title,
.dwp-section-heading--center .dwp-section-heading__subhead { margin-inline: auto; text-align: center; }

/* ---- components/prose.css ---- */
/* Component: prose (Guide §2.4 body rules). Measure 60–72ch via --dwp-prose-measure.
   QA G1: expressed as N × .6em (= N ch in IBM Plex Sans Arabic, whose "0" is exactly .6em) so the measure does not change while
   the metric-matched fallback is showing (ch follows the fallback's "0", which re-wrapped the S1 subhead/body). */
.dwp-prose { max-inline-size: var(--dwp-prose-measure, calc(68 * .6em)); }
.dwp-prose > p { margin-block: 0 var(--dwp-space-4); }
.dwp-prose > p:last-child { margin-block-end: 0; }
.dwp-prose--lead { font-size: var(--dwp-fs-lead); line-height: 1.75; }
.dwp-prose--small { font-size: var(--dwp-fs-small); line-height: var(--dwp-lh-small); }
.dwp-prose--caption { font-size: var(--dwp-fs-caption); font-weight: var(--dwp-fw-medium); line-height: 1.7; }
.dwp-prose--muted { color: var(--dwp-text-muted); }
.dwp-prose--on-dark { color: var(--dwp-text-on-dark); }

/* ---- components/media-frame.css ---- */
/* Component: media-frame (Guide §3.14). Fixed aspect-ratio box (inline style) = no CLS.
   Images are shown as supplied (object-fit: contain) unless fit=cover. */
.dwp-media-frame { position: relative; margin: 0; inline-size: 100%; overflow: hidden; background: var(--dwp-bg-tint); }
.dwp-media-frame--r-xl { border-radius: var(--dwp-radius-xl); }
.dwp-media-frame--r-lg { border-radius: var(--dwp-radius-lg); }
.dwp-media-frame--r-sm { border-radius: var(--dwp-radius-sm); }
.dwp-media-frame__img { display: block; inline-size: 100%; block-size: 100%; object-fit: contain; }
.dwp-media-frame--cover .dwp-media-frame__img { object-fit: cover; }
.dwp-media-frame__tag { position: absolute; inset-block-start: var(--dwp-space-3); inset-inline-start: var(--dwp-space-3); }

/* ---- components/path-strip.css ---- */
/* Component: path-strip, variant strip (Guide §3.3, DS §6.6, Nader decisions §C "S1 path").
   Mobile: vertical, 32 px circles on the inline-start (right) edge, joined by a 2 px line (line only).
   ≥ 1024: horizontal, step 1 at the inline start (far right in RTL), 44 px circles, 2 px connector
   with a 20 px muted chevron-end between steps. Circle: primary-soft, icon 22 px primary-text at every size (Nader §C). */
.dwp-path-strip { --dwp-path-dot: 32px; display: grid; gap: 0; margin: 0; padding: 0; list-style: none; }
.dwp-path-strip__step { position: relative; display: flex; align-items: center; gap: var(--dwp-space-4); padding-block-end: var(--dwp-space-4); }
.dwp-path-strip__step:last-child { padding-block-end: 0; }
.dwp-path-strip__step:not(:last-child)::before {
  content: ""; position: absolute; z-index: 0;
  inset-inline-start: calc(var(--dwp-path-dot) / 2 - 1px); inset-block-start: var(--dwp-path-dot); inset-block-end: 0;
  inline-size: 2px; background: var(--dwp-border-default);
}
.dwp-path-strip__marker {
  position: relative; z-index: 1; display: inline-grid; place-items: center; flex: none;
  inline-size: var(--dwp-path-dot); block-size: var(--dwp-path-dot); border-radius: var(--dwp-radius-pill);
  background: var(--dwp-color-primary-soft); color: var(--dwp-color-primary-text);
}
.dwp-path-strip__num { font-weight: var(--dwp-fw-semibold); font-size: var(--dwp-fs-small); }
.dwp-path-strip__text { display: grid; gap: var(--dwp-space-1); min-inline-size: 0; }
.dwp-path-strip__title { font-size: 1rem; font-weight: var(--dwp-fw-semibold); color: var(--dwp-text-heading); line-height: 1.5; } /* DS §6.6: 16px / 600 */
.dwp-path-strip__caption { font-size: var(--dwp-fs-caption); color: var(--dwp-text-muted); }
.dwp-path-strip__body { font-size: var(--dwp-fs-small); color: var(--dwp-text-primary); }
.dwp-path-strip__sep { display: none; }
.dwp-path-strip__step--current .dwp-path-strip__marker { background: var(--dwp-bg-card); box-shadow: 0 0 0 2px var(--dwp-color-primary), 0 0 0 7px var(--dwp-color-primary-soft); }

@media (min-width: 1024px) {
  .dwp-path-strip--desktop-horizontal { --dwp-path-dot: 44px; grid-template-columns: repeat(var(--dwp-path-count, 8), minmax(0, 1fr)); }
  .dwp-path-strip--desktop-horizontal .dwp-path-strip__step { flex-direction: column; align-items: center; gap: var(--dwp-space-2); padding-block-end: 0; padding-inline: var(--dwp-space-1); text-align: center; }
  .dwp-path-strip--desktop-horizontal .dwp-path-strip__step:not(:last-child)::before {
    inset-block-start: calc(var(--dwp-path-dot) / 2 - 1px); inset-block-end: auto;
    inset-inline-start: 50%; inline-size: 100%; block-size: 2px;
  }
  .dwp-path-strip--desktop-horizontal .dwp-path-strip__text { justify-items: center; }
  .dwp-path-strip--desktop-horizontal .dwp-path-strip__title { text-align: center; text-wrap: balance; }
  .dwp-path-strip--desktop-horizontal .dwp-path-strip__sep {
    position: absolute; z-index: 1; display: inline-grid; place-items: center;
    inset-block-start: calc(var(--dwp-path-dot) / 2 - 12px); inset-inline-start: 100%;
    inline-size: 24px; block-size: 24px; margin-inline-start: -12px;
    background: var(--dwp-band-bg, var(--dwp-bg-page)); color: var(--dwp-text-muted); /* band colour from bands.css */
  }
}

/* Variant line (S7 answer line, Guide §3.5/§4 S7): one clean accent line, 12px primary dots, text-only steps,
   arrow-end (←) in primary-text between steps on desktop. Vertical on mobile, horizontal from 1024. */
.dwp-path-strip--line { --dwp-path-dot: 12px; }
.dwp-path-strip--line .dwp-path-strip__step { gap: var(--dwp-space-3); padding-block-end: var(--dwp-space-5); }
.dwp-path-strip--line .dwp-path-strip__step:last-child { padding-block-end: 0; }
.dwp-path-strip--line .dwp-path-strip__marker { background: var(--dwp-color-primary); }
.dwp-path-strip--line .dwp-path-strip__step:not(:last-child)::before { background: var(--dwp-color-primary); inset-block-start: calc(50% - var(--dwp-space-5) / 2); inset-block-end: calc(-50% + var(--dwp-space-5) / 2); }
@media (min-width: 1024px) {
  .dwp-path-strip--line.dwp-path-strip--desktop-horizontal .dwp-path-strip__step:not(:last-child)::before { inset-block-start: calc(var(--dwp-path-dot) / 2 - 1px); inset-block-end: auto; }
  .dwp-path-strip--line.dwp-path-strip--desktop-horizontal .dwp-path-strip__sep { inset-block-start: calc(var(--dwp-path-dot) / 2 - 12px); }
}
.dwp-path-strip--line .dwp-path-strip__sep { color: var(--dwp-color-primary-text); } /* Ziad B3 L1: accent arrows, same family as the line (6.1:1 on page) */

/* Variant doors (S9, Nader decisions C7): vertical at every size. Numbered circle on the inline-start (right)
   rail, door card to its inline end. Neutral 2px connector through the circle centres (no tail, no fill).
   Door 1 = current ring (primary border + primary-soft halo, title primary-text); doors 2–5 neutral
   (border-strong ring, heading-colour title). No "done" state. < 1024: accordion (accordion.js, .is-enhanced);
   without JS every panel stays open. ≥ 1024: all open, 44px circles. */
.dwp-path-strip--doors { --dwp-path-dot: 32px; --dwp-door-gap: var(--dwp-space-4); --dwp-door-mt: 12px; gap: var(--dwp-door-gap); }
.dwp-door { position: relative; display: grid; grid-template-columns: var(--dwp-path-dot) minmax(0, 1fr); column-gap: var(--dwp-space-3); align-items: start; }
.dwp-door:not(:last-child)::before {
  content: ""; position: absolute; z-index: 0; inline-size: 2px; background: var(--dwp-border-default);
  inset-inline-start: calc(var(--dwp-path-dot) / 2 - 1px);
  inset-block-start: calc(var(--dwp-door-mt) + var(--dwp-path-dot) / 2);
  inset-block-end: calc(-1 * (var(--dwp-door-gap) + var(--dwp-door-mt) + var(--dwp-path-dot) / 2));
}
.dwp-door__marker {
  position: relative; z-index: 1; display: inline-grid; place-items: center; margin-block-start: var(--dwp-door-mt);
  inline-size: var(--dwp-path-dot); block-size: var(--dwp-path-dot); border-radius: var(--dwp-radius-pill);
  background: var(--dwp-bg-card); box-shadow: inset 0 0 0 2px var(--dwp-border-strong); color: var(--dwp-color-primary-text);
}
.dwp-door--current .dwp-door__marker { box-shadow: inset 0 0 0 2px var(--dwp-color-primary), 0 0 0 5px var(--dwp-color-primary-soft); }
.dwp-door__num { font-weight: var(--dwp-fw-bold); font-size: var(--dwp-fs-small); line-height: 1; }
.dwp-door__card { min-inline-size: 0; background: var(--dwp-bg-card); border: 1px solid var(--dwp-border-default); border-radius: var(--dwp-radius-lg); box-shadow: var(--dwp-shadow-1); }
.dwp-door__title { margin: 0; font-size: var(--dwp-fs-h3); font-weight: var(--dwp-fw-semibold); line-height: 1.4; color: var(--dwp-text-heading); }
.dwp-door--current .dwp-door__title { color: var(--dwp-color-primary-text); }
.dwp-door__head { display: flex; align-items: center; gap: var(--dwp-space-3); min-block-size: 56px; padding-block: var(--dwp-space-2); padding-inline: var(--dwp-space-5); } /* 20 on mobile (Ziad B4 L1) */
.dwp-door__head > .dwp-icon { inline-size: 20px; block-size: 20px; }
.dwp-door__text { flex: 1 1 auto; min-inline-size: 0; }
.dwp-door__chevron { display: none; flex: none; transition: transform var(--dwp-duration) var(--dwp-ease); }
.dwp-door__panel { display: grid; gap: var(--dwp-space-4); padding-block: 0 var(--dwp-space-5); padding-inline: var(--dwp-space-5); }
.dwp-door__panel > p { margin: 0; color: var(--dwp-text-primary); }
.dwp-door__panel[hidden] { display: none; }
.dwp-door__panel.is-opening { animation: dwp-door-open var(--dwp-duration) var(--dwp-ease); }
@keyframes dwp-door-open { from { opacity: 0; transform: translateY(-4px); } to { opacity: 1; transform: none; } }
@media (prefers-reduced-motion: reduce) {
  .dwp-door__panel.is-opening { animation: none; }
  .dwp-door__chevron { transition: none; }
}
/* First paint with JS (html.dwp-js is set inline in <head> before this CSS; Ziad B4 CLS fix): below 1024 the
   closed doors (no [data-dwp-acc-open]; door 1 carries it from the server) start collapsed and the chevrons show,
   so accordion.js only mirrors this state. Without JS nothing here applies: every door stays open. */
.dwp-js .dwp-path-strip--doors [data-dwp-acc-item]:not([data-dwp-acc-open]) .dwp-door__panel { display: none; }
.dwp-js .dwp-path-strip--doors .dwp-door__chevron { display: inline-flex; margin-inline-start: auto; }
/* Enhanced (JS, < 1024): the H3 holds a full-width button; chevron at the inline end, rotated when open. */
.dwp-acc__btn { display: block; inline-size: 100%; margin: 0; padding: 0; border: 0; border-radius: var(--dwp-radius-lg); background: none; color: inherit; font: inherit; text-align: start; cursor: pointer; }
.dwp-acc__btn:focus-visible { outline: 3px solid var(--dwp-focus-ring); outline-offset: 2px; }
.dwp-acc__btn[aria-expanded="true"] .dwp-door__chevron,
.dwp-js .dwp-path-strip--doors [data-dwp-acc-open] .dwp-door__chevron { transform: rotate(180deg); }
@media (min-width: 1024px) {
  .dwp-path-strip--doors { --dwp-path-dot: 44px; --dwp-door-gap: var(--dwp-space-6); --dwp-door-mt: 18px; }
  .dwp-door { column-gap: var(--dwp-space-6); }
  .dwp-door__num { font-size: var(--dwp-fs-body); }
  .dwp-door__head { min-block-size: 0; padding-block: var(--dwp-space-6) var(--dwp-space-3); padding-inline: var(--dwp-space-8); }
  .dwp-door__head > .dwp-icon { inline-size: 24px; block-size: 24px; }
  .dwp-door__panel, .dwp-door__panel[hidden] { display: grid; padding-block: 0 var(--dwp-space-6); padding-inline: var(--dwp-space-8); }
  .dwp-door__chevron, .dwp-js .dwp-path-strip--doors .dwp-door__chevron { display: none; }
  .dwp-js .dwp-path-strip--doors [data-dwp-acc-item]:not([data-dwp-acc-open]) .dwp-door__panel { display: grid; } /* all open ≥ 1024 */
}

/* ---- components/cta-block.css ---- */
/* Component: cta-block (Guide §3.1): primary button + Small/muted micro-copy with • separators. */
.dwp-cta-block { display: grid; justify-items: start; gap: var(--dwp-space-3); }
.dwp-cta-block--center { justify-items: center; text-align: center; }
.dwp-cta-block .dwp-btn--full-mobile { justify-self: stretch; }
.dwp-cta-block__micro { margin: 0; font-size: var(--dwp-fs-small); line-height: var(--dwp-lh-small); color: var(--dwp-text-muted); }
.dwp-cta-block__item { white-space: nowrap; }
/* Start-aligned micro-copy (Ziad S9 L2): items wrap as a flex row; each «•» sits in the gap before its item and the
   row is pulled into a clipped negative margin, so a separator that lands at the start of a line is cut off
   (no line starts or ends with «•»). */
.dwp-cta-block--start .dwp-cta-block__micro { overflow: clip; }
.dwp-cta-block--start .dwp-cta-block__list { display: flex; flex-wrap: wrap; column-gap: 0; margin-inline-start: -1.25em; }
.dwp-cta-block--start .dwp-cta-block__item { position: relative; padding-inline-start: 1.25em; }
.dwp-cta-block--start .dwp-cta-block__item:first-child { padding-inline-start: 1.25em; }
.dwp-cta-block--start .dwp-cta-block__sep { position: absolute; inset-inline-start: 0.4em; }
@media (min-width: 640px) {
  .dwp-cta-block .dwp-btn--full-mobile { justify-self: start; }
  .dwp-cta-block--center .dwp-btn--full-mobile { justify-self: center; }
}
/* S18 trust strip (bare) under the micro-copy (S15, S17). */
.dwp-cta-block .dwp-trust-strip { margin-block-start: var(--dwp-space-2); justify-self: stretch; }

/* ---- components/card.css ---- */
/* Component: card (Guide §3.2, DS §6.2). White, 1px border-default, radius 16, shadow-1, padding 20 → 24 (32 feature).
   Icon 24px at the top, inline start (top-right in RTL). */
.dwp-card { display: flex; flex-direction: column; align-items: flex-start; gap: var(--dwp-space-3); margin: 0; padding: var(--dwp-space-5); background: var(--dwp-bg-card); border: 1px solid var(--dwp-border-default); border-radius: var(--dwp-radius-lg); box-shadow: var(--dwp-shadow-1); }
.dwp-card > * { margin: 0; max-inline-size: 100%; }
.dwp-card__icon { display: inline-flex; }
.dwp-card__title { font-size: var(--dwp-fs-h4); font-weight: var(--dwp-fw-semibold); line-height: 1.4; }
.dwp-card__body { color: var(--dwp-text-primary); }
.dwp-card--tinted { background: var(--dwp-bg-section-alt); border-color: transparent; box-shadow: none; }
.dwp-card--answer { border-inline-start: 4px solid var(--dwp-color-primary); }
.dwp-card--clickable { transition: box-shadow var(--dwp-duration) var(--dwp-ease); }
.dwp-card--clickable:hover { box-shadow: var(--dwp-shadow-2); }
@media (min-width: 640px) {
  .dwp-card { padding: var(--dwp-space-6); }
  .dwp-card--feature { padding: var(--dwp-space-8); }
}
/* Icon tile (S10, Nader decisions): 36px icon in a 64px primary-soft tile, radius 16, top-right in RTL. */
.dwp-card__icon--tile { display: inline-grid; place-items: center; inline-size: 64px; block-size: 64px; border-radius: var(--dwp-radius-lg); background: var(--dwp-color-primary-soft); }

/* ---- components/icon-list.css ---- */
/* Component: icon-list (Guide §3.6). Icon at the start of each line (right in RTL), text aligned start.
   1 column below 1024; `cols-2` / `cols-4` from 1024. */
.dwp-icon-list { display: grid; grid-template-columns: minmax(0, 1fr); gap: var(--dwp-space-4); margin: 0; padding: 0; list-style: none; }
.dwp-icon-list--gap-sm { gap: var(--dwp-space-3); }
.dwp-icon-list--gap-lg { gap: var(--dwp-space-6); }
.dwp-icon-list__item { display: flex; align-items: flex-start; gap: var(--dwp-space-3); }
/* Icon box as tall as the first text line, so the icon centres on line 1 (line-height 1.8). */
.dwp-icon-list__icon { display: inline-flex; flex: none; align-items: center; justify-content: center; inline-size: var(--dwp-icon-list-size, 24px); block-size: calc(1em * var(--dwp-lh-body)); }
.dwp-icon-list__text { min-inline-size: 0; }
.dwp-icon-list__label { font-weight: var(--dwp-fw-bold); color: var(--dwp-text-heading); }
@media (min-width: 1024px) {
  .dwp-icon-list--cols-2 { grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: var(--dwp-space-8); }
  .dwp-icon-list--cols-4 { grid-template-columns: repeat(4, minmax(0, 1fr)); column-gap: var(--dwp-gutter); }
}
/* Optional item thumbnail (S13 certificate line): 240×160 under the text, radius 8 (Guide §3.14), width/height attrs = no CLS. */
.dwp-icon-list__thumb { display: block; margin-block-start: var(--dwp-space-3); inline-size: 240px; max-inline-size: 100%; }
.dwp-icon-list__thumb-img { display: block; inline-size: 100%; block-size: auto; aspect-ratio: 3 / 2; border-radius: var(--dwp-radius-sm); border: 1px solid var(--dwp-border-default); }

/* ---- components/stats-strip.css ---- */
/* Component: stats-strip (Guide §4 S3, DS §6.11): icon above a tabular number at H2 size, muted label under it.
   2×2 on mobile, one row of 4 from 768. First item at the right in RTL (DOM order). */
.dwp-stats-strip { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--dwp-space-6) var(--dwp-gutter); margin: 0; padding: 0; list-style: none; }
.dwp-stats-strip__item { display: flex; flex-direction: column; align-items: center; gap: var(--dwp-space-1); text-align: center; }
.dwp-stats-strip__icon { display: inline-flex; margin-block-end: var(--dwp-space-1); }
.dwp-stats-strip__value { font-size: var(--dwp-fs-h2); font-weight: var(--dwp-fw-bold); line-height: var(--dwp-lh-heading); color: var(--dwp-text-heading); }
.dwp-stats-strip__value .dwp-num { direction: ltr; }
/* Team-preview placeholder markers inside the big number stay readable, not H2-sized. */
.dwp-stats-strip__value .dwp-ph { display: inline; font-size: var(--dwp-fs-small); font-weight: var(--dwp-fw-medium); line-height: var(--dwp-lh-small); direction: rtl; text-align: center; }
.dwp-stats-strip__prefix, .dwp-stats-strip__label { font-size: var(--dwp-fs-small); color: var(--dwp-text-muted); }
@media (min-width: 768px) {
  .dwp-stats-strip { grid-template-columns: repeat(var(--dwp-stats-count, 4), minmax(0, 1fr)); }
}

/* ---- components/badge.css ---- */
/* Component: badge (Guide §3.7, DS §6.4): pill, padding 3/12, 14px / 600. No solid red fills, no blinking. */
.dwp-badge { display: inline-flex; align-items: center; gap: var(--dwp-space-1); padding-block: 3px; padding-inline: var(--dwp-space-3); border: 1px solid transparent; border-radius: var(--dwp-radius-pill); font-size: 0.875rem; font-weight: var(--dwp-fw-semibold); line-height: 1.6; }
.dwp-badge--neutral { background: var(--dwp-neutral-100); color: var(--dwp-text-primary); border-color: var(--dwp-border-default); }
.dwp-badge--discount { background: var(--dwp-warning-soft); color: var(--dwp-warning); border-color: #F1CFC6; }
.dwp-badge--gift { background: var(--dwp-color-primary-soft); color: var(--dwp-color-primary-text); }
.dwp-badge--success { background: var(--dwp-success-soft); color: var(--dwp-success); }

/* ---- components/equation-chips.css ---- */
/* Component: equation-chips (Guide §3.4): pill chips (neutral-100, 12/20 padding) joined by ×, centred; 2×2 on mobile. */
.dwp-equation { display: grid; justify-items: center; gap: var(--dwp-space-4); text-align: center; }
.dwp-equation__row { display: grid; grid-template-columns: auto auto auto; align-items: center; justify-content: center; gap: var(--dwp-space-3); margin: 0; }
.dwp-equation__chip { display: inline-flex; align-items: center; justify-content: center; gap: var(--dwp-space-2); padding-block: var(--dwp-space-3); padding-inline: var(--dwp-space-5); border: 1px solid var(--dwp-border-default); border-radius: var(--dwp-radius-pill); background: var(--dwp-neutral-100); color: var(--dwp-text-heading); font-size: var(--dwp-fs-lead); font-weight: var(--dwp-fw-semibold); line-height: 1.4; white-space: nowrap; }
.dwp-equation__sep { font-size: var(--dwp-fs-h3); font-weight: var(--dwp-fw-bold); color: var(--dwp-color-primary-text); line-height: 1; }
/* Mobile 2×2: chip × chip / × on its own row between the pairs would break the reading, so the 2nd separator
   spans the row as a small centred × (DOM order kept: chip1 × chip2 × chip3 × chip4). */
.dwp-equation__row > :nth-child(4) { grid-column: 1 / -1; }
.dwp-equation__caption { margin: 0; max-inline-size: calc(40 * .6em); /* = 40ch in Plex (QA G1) */ font-size: var(--dwp-fs-lead); line-height: 1.75; color: var(--dwp-text-primary); }
@media (min-width: 768px) {
  .dwp-equation__row { display: flex; flex-wrap: nowrap; }
  .dwp-equation__row > :nth-child(4) { grid-column: auto; }
}

/* ---- components/tag-cloud.css ---- */
/* Component: tag-cloud (Guide §3.5): grey pills (neutral-100 / border-default) at slight angles, wrapping loosely,
   over Nader's faint thumbnail shapes (currentColor = text-muted at 7–12% opacity, decorative). */
.dwp-tag-cloud { position: relative; isolation: isolate; overflow: clip; padding-block: var(--dwp-space-8); padding-inline: var(--dwp-space-2); }
.dwp-tag-cloud__shapes { position: absolute; inset: 0; z-index: -1; inline-size: 100%; block-size: 100%; color: var(--dwp-text-muted); pointer-events: none;
  /* Ziad B3 L4: fade the shapes out at every edge instead of a hard cut (mobile gutter and desktop sides). */
  -webkit-mask-image: linear-gradient(to right, transparent, #000 12%, #000 88%, transparent), linear-gradient(to bottom, transparent, #000 18%, #000 82%, transparent);
  -webkit-mask-composite: source-in;
  mask-image: linear-gradient(to right, transparent, #000 12%, #000 88%, transparent), linear-gradient(to bottom, transparent, #000 18%, #000 82%, transparent);
  mask-composite: intersect; }
.dwp-tag-cloud__list { display: flex; flex-wrap: wrap; justify-content: center; align-items: center; gap: var(--dwp-space-3) var(--dwp-space-4); margin: 0; padding: 0; list-style: none; }
.dwp-tag-cloud__tag { padding-block: var(--dwp-space-2); padding-inline: var(--dwp-space-4); border: 1px solid var(--dwp-border-default); border-radius: var(--dwp-radius-pill); background: var(--dwp-neutral-100); color: var(--dwp-text-primary); font-size: var(--dwp-fs-small); font-weight: var(--dwp-fw-medium); line-height: 1.6; white-space: nowrap; }
.dwp-tag-cloud__tag:nth-child(4n+1) { transform: rotate(-3deg); }
.dwp-tag-cloud__tag:nth-child(4n+2) { transform: rotate(2deg) translateY(4px); }
.dwp-tag-cloud__tag:nth-child(4n+3) { transform: rotate(-1.5deg) translateY(-3px); }
.dwp-tag-cloud__tag:nth-child(4n) { transform: rotate(3deg); }
@media (min-width: 768px) {
  .dwp-tag-cloud { padding-block: var(--dwp-space-12); padding-inline: var(--dwp-space-8); }
  .dwp-tag-cloud__list { gap: var(--dwp-space-5) var(--dwp-space-6); max-inline-size: 760px; margin-inline: auto; }
  .dwp-tag-cloud__tag { font-size: var(--dwp-fs-body); padding-inline: var(--dwp-space-5); }
}

/* ---- components/quote-block.css ---- */
/* Component: quote-block (Guide §3.5). Pull: centred line at H3 size, no border/italics. */
.dwp-quote-block { margin: 0; }
.dwp-quote-block__text { margin: 0; }
.dwp-quote-block--pull { text-align: center; }
.dwp-quote-block--pull .dwp-quote-block__text { font-size: var(--dwp-fs-h3); font-weight: var(--dwp-fw-semibold); line-height: 1.4; color: var(--dwp-text-heading); text-align: center; }
.dwp-quote-block__mark { display: block; font-size: var(--dwp-fs-display); line-height: 1; color: var(--dwp-color-accent); }
.dwp-quote-block__cite { margin-block-start: var(--dwp-space-2); font-size: var(--dwp-fs-small); color: var(--dwp-text-muted); }
/* Story (S8, Guide §4 S8): quote-style block with a large accent « at the inline start (top-right). */
.dwp-quote-block--story { position: relative; display: grid; gap: var(--dwp-space-4); padding-block: var(--dwp-space-6); padding-inline: var(--dwp-space-5); border-radius: var(--dwp-radius-lg); background: var(--dwp-bg-card); border: 1px solid var(--dwp-border-default); }
.dwp-quote-block--story .dwp-quote-block__mark { block-size: 0.5em; font-size: 4rem; line-height: 0.9; font-weight: var(--dwp-fw-bold); overflow: visible; }
.dwp-quote-block--story .dwp-quote-block__text { font-size: var(--dwp-fs-lead); line-height: 1.75; color: var(--dwp-text-primary); max-inline-size: calc(68 * .6em); } /* QA G1: measure in em = Plex ch (Plex "0" advance is exactly .6em at every weight), so it no longer changes with the fallback font. */
.dwp-quote-block--story .dwp-quote-block__text:first-of-type { font-weight: var(--dwp-fw-semibold); color: var(--dwp-text-heading); }
@media (min-width: 1024px) {
  .dwp-quote-block--story { padding-block: var(--dwp-space-8); padding-inline: var(--dwp-space-8); }
  .dwp-quote-block--story .dwp-quote-block__mark { font-size: 5rem; }
}

/* ---- components/testimonial-card.css ---- */
/* Component: testimonial-card (Guide §3.10, DS §6.2/§6.7, Nader C10). White card, radius 16, padding 20 → 24, shadow-1.
   Order: flag (sample only) → 34px « mark (primary-200) → quote → before/after (small, muted) → divider → person row at the
   bottom, start edge (right in RTL). Name 15/600, city 13 muted. Placeholder: .dwp-placeholder hatch + dashed border. No stars. */
.dwp-testimonial-card { display: flex; flex-direction: column; gap: var(--dwp-space-3); margin: 0; padding: var(--dwp-space-5); background: var(--dwp-bg-card); border: 1px solid var(--dwp-border-default); border-radius: var(--dwp-radius-lg); box-shadow: var(--dwp-shadow-1); }
.dwp-testimonial-card p { margin: 0; }
.dwp-testimonial-card--placeholder { border: 1.5px dashed var(--dwp-border-strong); box-shadow: none;
  background: repeating-linear-gradient(135deg, var(--dwp-bg-card) 0 10px, var(--dwp-neutral-100) 10px 20px); } /* same hatch as .dwp-placeholder */
.dwp-testimonial-card__flag { align-self: flex-start; padding-inline: var(--dwp-space-2); border-radius: var(--dwp-radius-pill); background: var(--dwp-warning-soft); color: var(--dwp-text-primary); font-size: var(--dwp-fs-caption); font-weight: var(--dwp-fw-semibold); }
.dwp-testimonial-card__mark { display: block; block-size: 0.6em; font-size: 34px; line-height: 1; font-weight: var(--dwp-fw-bold); color: var(--dwp-primary-200); }
.dwp-testimonial-card__quote { margin: 0; color: var(--dwp-text-primary); }
.dwp-testimonial-card__before, .dwp-testimonial-card__after { font-size: var(--dwp-fs-small); line-height: var(--dwp-lh-small); color: var(--dwp-text-muted); }
.dwp-testimonial-card__person { display: grid; gap: var(--dwp-space-3); margin-block-start: auto; }
.dwp-testimonial-card__divider { margin: 0; border: 0; border-block-start: 1px solid var(--dwp-border-default); }
.dwp-testimonial-card__row { display: flex; align-items: center; gap: var(--dwp-space-3); }
.dwp-testimonial-card__avatar { display: inline-grid; flex: none; place-items: center; inline-size: 42px; block-size: 42px; border-radius: 50%; background: var(--dwp-color-accent-soft); color: var(--dwp-color-secondary); font-size: 1.125rem; font-weight: var(--dwp-fw-bold); line-height: 1; }
.dwp-testimonial-card__who { display: grid; gap: var(--dwp-space-1); min-inline-size: 0; }
.dwp-testimonial-card__media { font-size: var(--dwp-fs-caption); line-height: var(--dwp-lh-small); color: var(--dwp-text-muted); }
.dwp-testimonial-card__name { font-size: 0.9375rem; font-weight: var(--dwp-fw-semibold); line-height: var(--dwp-lh-small); color: var(--dwp-text-heading); } /* 15/600 */
.dwp-testimonial-card__city { font-size: var(--dwp-fs-caption); line-height: var(--dwp-lh-small); color: var(--dwp-text-muted); } /* 13 muted */
@media (min-width: 640px) {
  .dwp-testimonial-card { padding: var(--dwp-space-6); }
}

/* ---- components/price-card.css ---- */
/* Component: price-card (Guide §3.8, DS §6.3/§6.4). Centred, max 480, radius 24, 2px primary border, shadow-3,
   padding 32 (QA B6 L2). No countdown, nothing gold, no coins. */
.dwp-price-card { display: flex; flex-direction: column; gap: var(--dwp-space-3); inline-size: 100%; max-inline-size: 480px; margin-inline: auto; padding: var(--dwp-space-8); background: var(--dwp-bg-card); border: 2px solid var(--dwp-color-primary); border-radius: var(--dwp-radius-xl); box-shadow: var(--dwp-shadow-3); }
.dwp-price-card p { margin: 0; }
.dwp-price-card__head { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: var(--dwp-space-3); }
.dwp-price-card__question { margin: 0; font-size: var(--dwp-fs-h3); line-height: var(--dwp-lh-heading); }
.dwp-price-card__old { color: var(--dwp-text-strike); }
.dwp-price-card__strike { color: var(--dwp-text-strike); text-decoration: line-through 2px var(--dwp-text-strike); }
.dwp-price-card__strike .dwp-price { display: inline; } /* QA B6 H1: inline-block (tokens .dwp-price) blocks the line-through from reaching «7,999» */
.dwp-price-card__new { display: grid; gap: var(--dwp-space-1); }
.dwp-price-card__new-label { font-weight: var(--dwp-fw-semibold); color: var(--dwp-text-heading); }
.dwp-price-card__amount { display: flex; flex-wrap: wrap; align-items: baseline; gap: var(--dwp-space-2); }
.dwp-price-card__amount .dwp-price { font-size: var(--dwp-fs-price); font-weight: var(--dwp-fw-bold); line-height: 1.1; color: var(--dwp-text-heading); }
.dwp-price-card__unit { font-size: 1.375rem; font-weight: var(--dwp-fw-semibold); color: var(--dwp-text-muted); } /* 22/600 muted */
.dwp-price-card__figure { font-weight: var(--dwp-fw-bold); color: var(--dwp-color-primary-text); }
.dwp-price-card__month { font-size: var(--dwp-fs-small); line-height: var(--dwp-lh-small); color: var(--dwp-text-muted); }
.dwp-price-card__urgency, .dwp-price-card__proof { display: grid; gap: var(--dwp-space-2); padding-block-start: var(--dwp-space-3); border-block-start: 1px solid var(--dwp-border-default); }
.dwp-price-card__note { font-size: var(--dwp-fs-caption); color: var(--dwp-text-muted); text-align: start; }
.dwp-price-card__divider { margin: 0; border: 0; border-block-start: 1px solid var(--dwp-border-default); }
.dwp-price-card__cta { margin-block-start: var(--dwp-space-3); }
.dwp-price-card__cta .dwp-btn { inline-size: 100%; }
/* Payment note: the three items never fit one line inside the 480 card, and a centred wrap can't hide a line-start «•»,
   so each item gets its own centred line and the (aria-hidden) separators are not drawn. */
.dwp-price-card__payment { display: flex; flex-direction: column; align-items: center; gap: 2px; font-size: var(--dwp-fs-caption); line-height: var(--dwp-lh-small); color: var(--dwp-text-muted); text-align: center; }
.dwp-price-card__sep { display: none; }
.dwp-price-card .dwp-placeholder--logo-row { display: flex; align-items: center; gap: var(--dwp-space-2); min-block-size: 44px; padding-block: var(--dwp-space-1); padding-inline: var(--dwp-space-3); text-align: start; } /* Nader C1/C2: one marked ~44px strip, preview only (QA B6 L1) */
.dwp-price-card .dwp-placeholder--logo-row .dwp-placeholder__num { flex: none; }
/* Marker: full text, wrapping, below 640 (team only; Tariq S18 round), one clipped line from 640. Never in a title. */
.dwp-price-card .dwp-placeholder--logo-row .dwp-placeholder__marker { flex: 1 1 auto; min-inline-size: 0; }
@media (min-width: 640px) {
  .dwp-price-card .dwp-placeholder--logo-row .dwp-placeholder__marker { display: block; overflow: hidden; white-space: nowrap; text-overflow: ellipsis; }
}
.dwp-price-card .dwp-placeholder--logo-row .dwp-placeholder__note { display: none; }
/* S18 trust strip (bare) closes the card (Nader C9: inside the price card, under the CTA). */
.dwp-price-card__trust { margin-block-start: var(--dwp-space-5); padding-block-start: var(--dwp-space-5); border-block-start: 1px solid var(--dwp-border-default); }

/* ---- components/guarantee-box.css ---- */
/* Component: guarantee-box (Guide §3.11, DS §6.9). success-soft, 1px #CFE0D5 border, radius 20, padding 20 → 26/30.
   64px white tile with a 36px shield-check on the inline start (right). Clarity line in a white chip, 15/600. */
.dwp-guarantee-box { display: flex; flex-direction: column; gap: var(--dwp-space-4); padding: var(--dwp-space-5); background: var(--dwp-success-soft); border: 1px solid #CFE0D5; border-radius: 20px; }
.dwp-guarantee-box p { margin: 0; }
.dwp-guarantee-box__head { display: flex; flex-direction: column; align-items: flex-start; gap: var(--dwp-space-4); } /* tile above the title below 640 */
.dwp-guarantee-box__tile { display: inline-grid; flex: none; place-items: center; inline-size: 64px; block-size: 64px; border-radius: var(--dwp-radius-lg); background: var(--dwp-bg-card); }
.dwp-guarantee-box__titles { display: grid; gap: var(--dwp-space-2); min-inline-size: 0; }
.dwp-guarantee-box__title { margin: 0; }
.dwp-guarantee-box__subhead { font-size: var(--dwp-fs-lead); line-height: 1.75; color: var(--dwp-text-primary); }
.dwp-guarantee-box__body { color: var(--dwp-text-primary); }
.dwp-guarantee-box__conditions { display: flex; flex-wrap: wrap; gap: var(--dwp-space-2) var(--dwp-space-5); margin: 0; padding: 0; list-style: none; }
.dwp-guarantee-box__conditions li { display: flex; align-items: center; gap: var(--dwp-space-2); font-size: 0.90625rem; font-weight: var(--dwp-fw-medium); color: var(--dwp-success); } /* 14.5/500 success */
.dwp-guarantee-box__conditions .dwp-icon { flex: none; }
.dwp-guarantee-box__clarity { align-self: flex-start; padding-block: var(--dwp-space-2); padding-inline: var(--dwp-space-4); border-radius: var(--dwp-radius-md); background: var(--dwp-bg-card); font-size: 0.9375rem; font-weight: var(--dwp-fw-semibold); color: var(--dwp-text-heading); } /* 15/600, not small print */
.dwp-guarantee-box__footer { margin-block-start: var(--dwp-space-2); }
@media (min-width: 640px) {
  .dwp-guarantee-box { padding-block: 26px; padding-inline: 30px; }
  .dwp-guarantee-box__head { flex-direction: row; }
}

/* ---- components/faq.css ---- */
/* Components: accordion + faq-item (Guide §3.9, DS §6.5). Card radius 16, rows split by border-default.
   Question H4 600 on the right, 20px chevron at the inline end (left): muted closed, primary-text + 180° open.
   Open row bg primary-50. Answer body 1.8 with padding-inline-end 32. Focus: inset 3px ring. 160ms, off with reduced motion.
   No-JS: every answer visible, no chevrons. With JS (html.dwp-js, set before the CSS) closed answers are hidden from
   the first paint, so accordion.js only mirrors that state (no layout shift). */
.dwp-accordion { background: var(--dwp-bg-card); border: 1px solid var(--dwp-border-default); border-radius: var(--dwp-radius-lg); overflow: hidden; }
.dwp-faq-item + .dwp-faq-item { border-block-start: 1px solid var(--dwp-border-default); }
.dwp-faq-item__q { margin: 0; font-size: var(--dwp-fs-h4); font-weight: var(--dwp-fw-semibold); line-height: 1.5; color: var(--dwp-text-heading); }
.dwp-faq-item__head { display: flex; align-items: center; justify-content: space-between; gap: var(--dwp-space-3); min-block-size: 56px; padding-block: var(--dwp-space-3); padding-inline: var(--dwp-space-5); }
.dwp-faq-item__text { min-inline-size: 0; }
.dwp-faq-item__chevron { display: none; flex: none; color: var(--dwp-text-muted); transition: transform var(--dwp-duration) var(--dwp-ease), color var(--dwp-duration) var(--dwp-ease); }
.dwp-faq-item__panel { padding-block: 0 var(--dwp-space-5); padding-inline: var(--dwp-space-5) calc(var(--dwp-space-5) + 32px); }
.dwp-faq-item__panel p { margin: 0; line-height: var(--dwp-lh-body); }
.dwp-faq-item__panel p + p { margin-block-start: var(--dwp-space-3); }
.dwp-faq-item__panel.is-opening { animation: dwp-faq-open var(--dwp-duration) var(--dwp-ease); }
@keyframes dwp-faq-open { from { opacity: 0; } to { opacity: 1; } }
.dwp-faq-note { display: block; font-size: var(--dwp-fs-caption); color: var(--dwp-text-muted); direction: ltr; text-align: start; }
/* JS on */
.dwp-js .dwp-faq-item__chevron { display: inline-flex; }
.dwp-js .dwp-faq-item:not([data-dwp-acc-open]) .dwp-faq-item__panel { display: none; }
.dwp-js .dwp-faq-item[data-dwp-acc-open] { background: var(--dwp-primary-50); }
.dwp-js .dwp-faq-item[data-dwp-acc-open] .dwp-faq-item__chevron { transform: rotate(180deg); color: var(--dwp-color-primary-text); }
.dwp-faq-item .dwp-acc__btn { border-radius: 0; }
.dwp-faq-item .dwp-acc__btn:focus-visible { outline: 3px solid var(--dwp-focus-ring); outline-offset: -3px; }
/* QA B6 L1: hover (existing tokens only). Closed rows take the open-row tint; the chevron goes primary-text. Pointer devices only. */
@media (hover: hover) {
  .dwp-faq-item .dwp-acc__btn { transition: background-color var(--dwp-duration) var(--dwp-ease); }
  .dwp-faq-item:not([data-dwp-acc-open]) .dwp-acc__btn:hover { background: var(--dwp-primary-50); }
  .dwp-faq-item .dwp-acc__btn:hover .dwp-faq-item__chevron { color: var(--dwp-color-primary-text); }
}
@media (prefers-reduced-motion: reduce) {
  .dwp-faq-item__panel.is-opening { animation: none; }
  .dwp-faq-item__chevron, .dwp-faq-item .dwp-acc__btn { transition: none; }
}
@media (min-width: 640px) {
  .dwp-faq-item__head { padding-inline: var(--dwp-space-6); }
  .dwp-faq-item__panel { padding-inline: var(--dwp-space-6) calc(var(--dwp-space-6) + 32px); }
}

/* ---- components/signature.css ---- */
/* Component: signature (Guide §4 S17). Sign-off at the inline start (bottom-right in RTL); name in heading colour 600.
   #45 image (transparent PNG) after the lines when supplied; team-only placeholder slot otherwise. */
.dwp-signature { display: grid; justify-items: start; gap: var(--dwp-space-3); margin-block-start: var(--dwp-space-10); }
.dwp-signature__lines { display: grid; gap: var(--dwp-space-1); margin: 0; }
.dwp-signature__line { color: var(--dwp-text-primary); }
.dwp-signature__name { font-size: var(--dwp-fs-h4); font-weight: var(--dwp-fw-semibold); line-height: var(--dwp-lh-heading); color: var(--dwp-text-heading); }
.dwp-signature__img { display: block; inline-size: auto; max-inline-size: 200px; max-block-size: 80px; block-size: auto; } /* Ziad B7 S17 L */
.dwp-signature .dwp-placeholder--signature { justify-self: stretch; min-block-size: 96px; max-inline-size: 360px; padding: var(--dwp-space-4); }

/* ---- components/trust-strip.css ---- */
/* Component: trust-strip (Guide §3.12 / S18, DS §6.8, Nader C9). 4 icon + text items, order starts at the right (RTL).
   Icons 22px outline in primary-text (icon to the right of each label = inline start); text 14.5px/500 text-primary. */
.dwp-trust-strip { container-type: inline-size; inline-size: 100%; }
.dwp-trust-strip__list { display: grid; grid-template-columns: minmax(0, 1fr); gap: var(--dwp-space-3) var(--dwp-space-4); margin: 0; padding: 0; list-style: none; }
.dwp-trust-strip__item { display: flex; align-items: flex-start; gap: var(--dwp-space-2); font-size: 0.90625rem; font-weight: var(--dwp-fw-medium); line-height: 1.5; color: var(--dwp-text-primary); text-align: start; }
.dwp-trust-strip__item .dwp-icon { margin-block-start: 0.05em; }
/* 2×2 once the strip is ≥ 320px wide (a single column in the S14 card and S15 box on phones, 263–301px, where 2 columns
   broke the payment item into 5 lines). */
@container (min-width: 320px) {
  .dwp-trust-strip--bare .dwp-trust-strip__list, .dwp-trust-strip--card .dwp-trust-strip__list { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
/* 2×2 with 4 items: the payment item (the longest) takes a full-width last row (Ziad S18 L2). Not the 3-item rule. */
@container (min-width: 320px) {
  .dwp-trust-strip--bare .dwp-trust-strip__list:not(:has(> :last-child:nth-child(3))) > .dwp-trust-strip__item:last-child,
  .dwp-trust-strip--card .dwp-trust-strip__list:not(:has(> :last-child:nth-child(3))) > .dwp-trust-strip__item:last-child { grid-column: 1 / -1; }
}
/* One row with dividers once there is room (S15 698 and S17 760 columns, Ziad S18 M2; S15 645 at 768 and the 412 S14 card
   stay 2×2 with the payment row full-width, Tariq: 680 so the payment item never gets a 4-line cell). */
@container (min-width: 680px) {
  .dwp-trust-strip--bare .dwp-trust-strip__list,
  .dwp-trust-strip--card .dwp-trust-strip__list { grid-template-columns: repeat(3, auto) minmax(0, 1fr); column-gap: 0; }
  .dwp-trust-strip--bare .dwp-trust-strip__list:not(:has(> :last-child:nth-child(3))) > .dwp-trust-strip__item:last-child,
  .dwp-trust-strip--card .dwp-trust-strip__list:not(:has(> :last-child:nth-child(3))) > .dwp-trust-strip__item:last-child { grid-column: auto; }
  .dwp-trust-strip--bare .dwp-trust-strip__item,
  .dwp-trust-strip--card .dwp-trust-strip__item { padding-inline: var(--dwp-space-4); }
  .dwp-trust-strip--bare .dwp-trust-strip__item:first-child,
  .dwp-trust-strip--card .dwp-trust-strip__item:first-child { padding-inline-start: 0; }
  .dwp-trust-strip--bare .dwp-trust-strip__item + .dwp-trust-strip__item,
  .dwp-trust-strip--card .dwp-trust-strip__item + .dwp-trust-strip__item { border-inline-start: 1px solid var(--dwp-border-default); }
}
/* Exactly 3 items (visitors, while the payment item waits for #44, F-H1): never a 2×2 with an empty cell.
   One column below 520px (S14 card, S17 on phones); one row with dividers from 520px (S15 at 768+, S17; Ziad S18 L-a). */
@container (min-width: 320px) {
  .dwp-trust-strip--bare .dwp-trust-strip__list:has(> :last-child:nth-child(3)),
  .dwp-trust-strip--card .dwp-trust-strip__list:has(> :last-child:nth-child(3)) { grid-template-columns: minmax(0, 1fr); }
}
@container (min-width: 520px) {
  .dwp-trust-strip--bare .dwp-trust-strip__list:has(> :last-child:nth-child(3)),
  .dwp-trust-strip--card .dwp-trust-strip__list:has(> :last-child:nth-child(3)) { grid-template-columns: repeat(3, auto) minmax(0, 1fr); column-gap: 0; }
  .dwp-trust-strip--bare .dwp-trust-strip__list:has(> :last-child:nth-child(3)) > .dwp-trust-strip__item,
  .dwp-trust-strip--card .dwp-trust-strip__list:has(> :last-child:nth-child(3)) > .dwp-trust-strip__item { padding-inline: var(--dwp-space-4); }
  .dwp-trust-strip--bare .dwp-trust-strip__list:has(> :last-child:nth-child(3)) > .dwp-trust-strip__item:first-child,
  .dwp-trust-strip--card .dwp-trust-strip__list:has(> :last-child:nth-child(3)) > .dwp-trust-strip__item:first-child { padding-inline-start: 0; }
  .dwp-trust-strip--bare .dwp-trust-strip__list:has(> :last-child:nth-child(3)) > .dwp-trust-strip__item + .dwp-trust-strip__item,
  .dwp-trust-strip--card .dwp-trust-strip__list:has(> :last-child:nth-child(3)) > .dwp-trust-strip__item + .dwp-trust-strip__item { border-inline-start: 1px solid var(--dwp-border-default); }
}
.dwp-trust-strip--card { padding: var(--dwp-space-5); background: var(--dwp-bg-card); border: 1px solid var(--dwp-border-default); border-radius: var(--dwp-radius-lg); }
/* Compact (sticky bar): one centred line, 3 items, 13px/500; 16px icons and tighter gaps below 400px so it fits 360
   (4px column gap below 375 so it stays one line with Plex Medium, Ziad S18 L1). */
.dwp-trust-strip--compact { container-type: normal; }
.dwp-trust-strip--compact .dwp-trust-strip__list { display: flex; flex-wrap: wrap; justify-content: center; gap: 2px var(--dwp-space-1); }
.dwp-trust-strip--compact .dwp-trust-strip__item { align-items: center; gap: var(--dwp-space-1); font-size: var(--dwp-fs-caption); white-space: nowrap; line-height: 1.5; }
.dwp-trust-strip--compact .dwp-icon { inline-size: 16px; block-size: 16px; margin: 0; }
@media (min-width: 375px) {
  .dwp-trust-strip--compact .dwp-trust-strip__list { column-gap: var(--dwp-space-2); }
}
@media (min-width: 400px) {
  .dwp-trust-strip--compact .dwp-trust-strip__list { column-gap: var(--dwp-space-3); }
  .dwp-trust-strip--compact .dwp-trust-strip__item { gap: 6px; }
  .dwp-trust-strip--compact .dwp-icon { inline-size: 20px; block-size: 20px; }
}

/* ---- components/sticky-cta.css ---- */
/* Component: sticky-cta (Guide §3.13, S1 note, S18; DS shadow-3; Nader C9/C13). Sales front page, below 1024 only.
   Fixed bottom bar: compact 48px primary button + compact trust strip (3 items). Out of flow; shown/hidden with
   transform + visibility only (no layout shift). Safe area: padding-block-end adds env(safe-area-inset-bottom).
   Without JS (no html.dwp-js) the bar is display:none. --dwp-sticky-h is the bar height without the safe area:
   12 + 48 + 8 + 20 (one-line trust strip) + 12 = 100 (+4 spare) below 768; 12 + 48 + 12 = 72 from 768 (one row). */
:root { --dwp-sticky-h: 104px; }
@media (min-width: 768px) { :root { --dwp-sticky-h: 72px; } }

.dwp-sticky-cta { display: none; }
html.dwp-js .dwp-sticky-cta {
  display: block; position: fixed; inset-inline: 0; inset-block-end: 0; z-index: 100;
  padding-block: var(--dwp-space-3) calc(var(--dwp-space-3) + env(safe-area-inset-bottom, 0px));
  padding-inline: max(var(--dwp-space-4), env(safe-area-inset-left, 0px)) max(var(--dwp-space-4), env(safe-area-inset-right, 0px));
  background: var(--dwp-bg-card); border-block-start: 1px solid var(--dwp-border-default); box-shadow: var(--dwp-shadow-3);
  transform: translateY(calc(100% + 48px)); visibility: hidden; /* parked off-screen; also inert + aria-hidden (JS) */
  transition: transform .22s ease, visibility 0s .22s; /* hides only after the slide-out */
}
html.dwp-js .dwp-sticky-cta.is-visible { transform: none; visibility: visible; transition: transform .22s ease, visibility 0s 0s; }
.dwp-sticky-cta__inner { display: grid; gap: var(--dwp-space-2); max-inline-size: var(--dwp-container); margin-inline: auto; }
.dwp-sticky-cta .dwp-btn { inline-size: 100%; }
.dwp-sticky-cta .dwp-trust-strip { inline-size: auto; min-inline-size: 0; }

/* The footer reserves the bar height, so the S20 disclaimer is never under the bar at the end of the page. */
html.dwp-js body.dwp-has-sticky-cta .dwp-site-footer::after { content: ""; display: block; block-size: calc(var(--dwp-sticky-h) + env(safe-area-inset-bottom, 0px)); }
/* Focused elements scroll clear of the visible bar (Guide §2.8); the team preview pill moves above it. */
html.dwp-sticky-on { scroll-padding-block-end: calc(var(--dwp-sticky-h) + env(safe-area-inset-bottom, 0px) + var(--dwp-space-4)); }
html.dwp-sticky-on .dwp-preview-flag { inset-block-end: calc(var(--dwp-sticky-h) + env(safe-area-inset-bottom, 0px) + var(--dwp-space-3)); }

@media (min-width: 768px) {
  .dwp-sticky-cta__inner { display: flex; align-items: center; justify-content: space-between; gap: var(--dwp-space-4); }
  .dwp-sticky-cta .dwp-btn { inline-size: auto; order: 2; flex: none; }
  .dwp-sticky-cta .dwp-trust-strip { flex: 1 1 auto; }
  .dwp-sticky-cta .dwp-trust-strip--compact .dwp-trust-strip__list { justify-content: flex-start; }
}
@media (min-width: 1024px) {
  html.dwp-js .dwp-sticky-cta { display: none; }
  html.dwp-js body.dwp-has-sticky-cta .dwp-site-footer::after { content: none; }
  html.dwp-sticky-on { scroll-padding-block-end: 0; }
}
@media (prefers-reduced-motion: reduce) {
  html.dwp-js .dwp-sticky-cta, html.dwp-js .dwp-sticky-cta.is-visible { transition: none; }
}

/* ---- sections/bands.css ---- */
/* Sales-page band backgrounds (Nader decisions §C). No dark bands inside the page.
   S1 and S2 share bg-page; from the 3rd RENDERED band on, alternate section-alt / page.
   Counting uses `:nth-child(… of …)` over the bands actually in the DOM, so a disabled section
   (not rendered), a deleted one (S3/S12 delete rules) or a section hidden from visitors never puts two
   same-colour bands next to each other. `--dwp-band-bg` exposes the band colour to components that
   need to mask a line with the band background (path-strip connectors). Unbuilt shells (team-only .dwp-shell-note) are skipped in the count.
   This file is the only source of sales-page band colours (the section registry no longer carries a page/alt
   `bg`; only off-band tint/dark surfaces print a modifier). Browsers without `nth-child(of S)` simply show
   every band on bg-page. */
.dwp-main > .dwp-section[data-dwp-section] { --dwp-band-bg: var(--dwp-bg-page); background: var(--dwp-band-bg); }
.dwp-main > .dwp-section[data-dwp-section]:nth-child(2n+3 of .dwp-section[data-dwp-section]:not(:has(.dwp-shell-note))):not(:has(.dwp-shell-note)) { --dwp-band-bg: var(--dwp-bg-section-alt); }

/* ---- front.css ---- */
/* Signature sales page — Elementor structure mapped to theme tokens.
   Accent red from the Elementor draft becomes --dwp-color-primary / primary-text.
   Type uses IBM Plex Sans Arabic via --dwp-font-sans. */

.dwp-fp {
	--dwp-band-bg: var(--dwp-bg-page);
	background: var(--dwp-band-bg);
	padding-block: var(--dwp-section-y, clamp(3.5rem, 2.5rem + 3vw, 5.625rem));
	padding-inline: var(--dwp-page-pad, clamp(1rem, 0.6rem + 1.5vw, 2rem));
	scroll-margin-block-start: 1.5rem;
	border-block-end: 1px solid var(--dwp-border-default);
}

.dwp-fp--alt {
	--dwp-band-bg: var(--dwp-bg-section-alt);
	background: var(--dwp-band-bg);
}

.dwp-fp__inner {
	display: grid;
	gap: var(--dwp-space-8, 2rem);
}

.dwp-fp--center .dwp-fp__heading,
.dwp-fp--center .dwp-fp__kicker,
.dwp-fp--center .dwp-fp__lead,
.dwp-fp--center .dwp-fp__closing,
.dwp-fp--center .dwp-fp__fine,
.dwp-fp--center .dwp-fp__cta {
	text-align: center;
}

.dwp-fp--center .dwp-fp__cta {
	justify-items: center;
}

.dwp-fp__heading {
	display: grid;
	gap: var(--dwp-space-4, 1rem);
	max-inline-size: 46rem;
}

.dwp-fp--center .dwp-fp__heading {
	margin-inline: auto;
}

.dwp-fp__kicker {
	margin: 0;
	font-size: var(--dwp-fs-caption);
	font-weight: var(--dwp-fw-bold);
	letter-spacing: 0.04em;
	color: var(--dwp-color-primary-text);
}

.dwp-fp__title {
	margin: 0;
	font-size: var(--dwp-fs-h2);
	font-weight: var(--dwp-fw-bold);
	line-height: var(--dwp-lh-heading);
	color: var(--dwp-text-heading);
	letter-spacing: -0.02em;
}

.dwp-fp01 .dwp-fp__title {
	font-size: var(--dwp-fs-h1);
}

.dwp-fp__lead,
.dwp-fp__prose p,
.dwp-fp__card-body {
	margin: 0;
	font-size: var(--dwp-fs-body);
	line-height: var(--dwp-lh-body, 1.8);
	color: var(--dwp-text-primary);
}

.dwp-fp__lead {
	font-size: var(--dwp-fs-lead);
	color: var(--dwp-text-heading);
}

.dwp-fp__prose {
	display: grid;
	gap: var(--dwp-space-3, 0.75rem);
}

.dwp-fp__cta {
	display: grid;
	gap: var(--dwp-space-3, 0.75rem);
	justify-items: start;
}

.dwp-fp__number {
	display: inline-block;
	font-size: var(--dwp-fs-h3);
	font-weight: var(--dwp-fw-bold);
	color: var(--dwp-color-primary-text);
	line-height: 1.2;
}

.dwp-fp__card {
	display: grid;
	gap: var(--dwp-space-3, 0.75rem);
	padding: var(--dwp-space-6, 1.5rem);
	background: var(--dwp-bg-card);
	border: 1px solid var(--dwp-border-default);
	border-radius: var(--dwp-radius-lg, 1rem);
	box-shadow: var(--dwp-shadow-1, 0 10px 30px rgb(33 25 13 / 0.04));
	min-inline-size: 0;
}

.dwp-fp__card--dark {
	background: var(--dwp-bg-dark);
	border-color: var(--dwp-bg-dark);
	color: var(--dwp-text-on-dark);
}

.dwp-fp__card--dark .dwp-fp__card-title,
.dwp-fp__card--dark .dwp-fp__number {
	color: var(--dwp-text-on-dark);
}

.dwp-fp__card--dark .dwp-fp__card-body {
	color: var(--dwp-text-on-dark-muted);
}

.dwp-fp__card-title {
	margin: 0;
	font-size: var(--dwp-fs-h3);
	font-weight: var(--dwp-fw-bold);
	line-height: var(--dwp-lh-heading);
	color: var(--dwp-text-heading);
}

.dwp-fp__grid {
	display: grid;
	gap: var(--dwp-space-5, 1.25rem);
	list-style: none;
	margin: 0;
	padding: 0;
	align-items: stretch;
}

.dwp-fp__grid--2 { grid-template-columns: 1fr; }
.dwp-fp__grid--3 { grid-template-columns: 1fr; }
.dwp-fp__grid--4 { grid-template-columns: 1fr; }
.dwp-fp__grid--5 { grid-template-columns: 1fr; }

@media (min-width: 640px) {
	.dwp-fp__grid--2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.dwp-fp__grid--3 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.dwp-fp__grid--4 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.dwp-fp__grid--5 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (min-width: 1024px) {
	.dwp-fp__grid--3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
	.dwp-fp__grid--4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
	.dwp-fp__grid--5 { grid-template-columns: repeat(5, minmax(0, 1fr)); }
}

.dwp-fp__img {
	display: block;
	inline-size: 100%;
	block-size: auto;
	border-radius: var(--dwp-radius-lg, 1rem);
}

.dwp-fp__checks {
	list-style: none;
	margin: 0;
	padding: 0;
	display: grid;
	gap: var(--dwp-space-2, 0.5rem);
	font-size: var(--dwp-fs-body);
	font-weight: var(--dwp-fw-medium);
	color: var(--dwp-text-primary);
}

.dwp-fp__checks li {
	position: relative;
	padding-inline-start: 1.5rem;
}

.dwp-fp__checks li::before {
	content: "✓";
	position: absolute;
	inset-inline-start: 0;
	color: var(--dwp-success);
	font-weight: var(--dwp-fw-bold);
}

.dwp-fp__band {
	margin: 0;
	padding: var(--dwp-space-6, 1.5rem) var(--dwp-space-7, 1.75rem);
	background: var(--dwp-bg-dark);
	color: var(--dwp-text-on-dark);
	border-radius: var(--dwp-radius-lg, 1rem);
	text-align: center;
	font-size: var(--dwp-fs-h3);
	font-weight: var(--dwp-fw-bold);
	line-height: var(--dwp-lh-heading);
}

.dwp-fp__band-text em,
.dwp-fp__band em {
	font-style: normal;
	color: var(--dwp-text-on-dark-accent);
}

.dwp-fp__closing {
	margin: 0;
	font-size: var(--dwp-fs-h3);
	font-weight: var(--dwp-fw-bold);
	color: var(--dwp-text-heading);
}

.dwp-fp__fine {
	margin: 0;
	font-size: var(--dwp-fs-small);
	color: var(--dwp-text-muted);
	line-height: 1.7;
}

/* SG01 hero — right-aligned (inline-start) copy, accent on the punch line. */
.dwp-fp01.dwp-fp--center .dwp-fp__heading,
.dwp-fp01.dwp-fp--center .dwp-fp__cta {
	text-align: start;
}

.dwp-fp01__grid {
	display: grid;
	gap: var(--dwp-space-8, 2rem);
	align-items: center;
}

@media (min-width: 1024px) {
	.dwp-fp01 {
		padding-block-start: 1.5rem;
	}

	.dwp-fp01__grid {
		grid-template-columns: minmax(0, 1.05fr) minmax(0, 0.95fr);
		gap: clamp(2rem, 4vw, 4.5rem);
	}
}

.dwp-fp01__copy {
	display: grid;
	justify-items: start;
	gap: var(--dwp-space-5, 1.25rem);
	text-align: start;
}

.dwp-fp01__kicker {
	margin: 0;
	font-size: var(--dwp-fs-small);
	font-weight: var(--dwp-fw-bold);
	line-height: 1.4;
	color: var(--dwp-color-primary);
}

.dwp-fp01__title {
	display: grid;
	gap: 0.12em;
	margin: 0;
	font-size: clamp(2.05rem, 1.35rem + 2.1vw, 3rem);
	font-weight: var(--dwp-fw-bold);
	line-height: 1.28;
	letter-spacing: 0;
	color: var(--dwp-text-heading);
}

.dwp-fp01__title-accent {
	color: var(--dwp-color-primary);
}

.dwp-fp01__promise {
	display: grid;
	gap: 0.2em;
	margin: 0;
	max-inline-size: 34rem;
	font-size: clamp(1.25rem, 1.08rem + 0.5vw, 1.5rem);
	font-weight: var(--dwp-fw-bold);
	line-height: 1.6;
	color: var(--dwp-text-heading);
}

.dwp-fp01__promise-accent {
	color: var(--dwp-color-primary);
}

.dwp-fp01__body {
	margin: 0;
	max-inline-size: 38rem;
	font-size: var(--dwp-fs-body);
	font-weight: var(--dwp-fw-regular);
	line-height: 1.9;
	color: var(--dwp-neutral-600);
}

.dwp-fp01__action {
	inline-size: min(100%, 36rem);
	justify-self: center;
	display: grid;
	justify-items: center;
	gap: var(--dwp-space-4, 1rem);
	margin-block-start: var(--dwp-space-8, 2rem);
}

.dwp-fp01__cta {
	inline-size: 100%;
}

.dwp-signature-sales .dwp-btn {
	border-radius: var(--dwp-radius-md);
}

.dwp-fp01__cta .dwp-btn {
	inline-size: 100%;
	min-block-size: 3.6rem;
	font-weight: var(--dwp-fw-bold);
	background: var(--dwp-color-primary);
}

.dwp-fp01__cta .dwp-btn:hover {
	background: var(--dwp-color-primary-hover);
}

.dwp-fp01__media {
	display: grid;
	justify-items: center;
	gap: var(--dwp-space-5, 1.25rem);
}

.dwp-fp01__photo {
	border-radius: 1.75rem;
	box-shadow: 0 18px 40px rgb(30 27 24 / 0.08);
}

@media (max-width: 1023px) {
	.dwp-fp01 {
		padding-inline: 0;
		padding-block-end: 0;
	}

	.dwp-fp01 > .dwp-fp__inner {
		padding-inline: 0;
	}

	.dwp-fp01__copy {
		padding-inline: var(--dwp-page-pad);
		justify-items: center;
		text-align: center;
	}

	.dwp-fp01__kicker,
	.dwp-fp01__title,
	.dwp-fp01__promise,
	.dwp-fp01__body {
		text-align: center;
	}

	.dwp-fp01__photo {
		border-radius: 0;
		box-shadow: none;
	}
}

.dwp-fp01__tools {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-wrap: nowrap;
	justify-content: center;
	align-items: flex-end;
	gap: var(--dwp-space-5, 1.25rem);
}

.dwp-fp01__tools li {
	flex: 0 0 auto;
}

.dwp-fp01__tool {
	inline-size: 4.5rem;
	max-inline-size: 4.5rem;
	block-size: auto;
	border-radius: 0;
	background: transparent;
}

.dwp-fp01__stats {
	list-style: none;
	margin: 0;
	padding: 0;
	inline-size: min(100%, 22rem);
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	text-align: center;
}

.dwp-fp01__stat {
	display: grid;
	justify-items: center;
	align-content: start;
	gap: 0.2rem;
	padding-inline: 0.4rem;
	text-align: center;
}

.dwp-fp01__stat + .dwp-fp01__stat {
	border-inline-start: 1px solid var(--dwp-border-default);
}

.dwp-fp01__stat-value {
	display: inline-flex;
	align-items: baseline;
	justify-content: center;
	direction: ltr;
	font-size: 1.35rem;
	font-weight: var(--dwp-fw-bold);
	color: var(--dwp-color-primary);
	line-height: 1;
	font-variant-numeric: tabular-nums;
}

.dwp-fp01__stat-suffix {
	font-size: 0.72em;
}

.dwp-fp01__stat-label {
	display: block;
	margin: 0;
	font-size: var(--dwp-fs-caption);
	font-weight: var(--dwp-fw-medium);
	line-height: 1.45;
	text-align: center;
	color: var(--dwp-text-muted);
}

@media (max-width: 1023px) {
	.dwp-fp01__stat-label {
		font-size: 0.6875rem;
		line-height: 1.35;
	}
}

.dwp-main > .dwp-section.dwp-fp01[data-dwp-section] {
	--dwp-band-bg: #fff;
	background: #fff;
}

.dwp-fp01 {
	border-block-end: 0;
}

.dwp-fp02 .dwp-fp__kicker {
	text-align: center;
}

.dwp-fp02__stage {
	display: grid;
	justify-items: center;
	gap: var(--dwp-space-8, 2rem);
	min-inline-size: 0;
}

.dwp-fp02__visual {
	margin: 0;
	max-inline-size: 11rem;
	justify-self: center;
}

.dwp-fp02__visual .dwp-fp__img {
	border-radius: 0;
}

.dwp-fp02__steps {
	list-style: none;
	margin: 0;
	padding: 0;
	display: grid;
}

.dwp-fp02__step {
	position: relative;
	display: grid;
	grid-template-columns: 2.75rem minmax(0, 1fr);
	column-gap: var(--dwp-space-4, 1rem);
	padding-block-end: var(--dwp-space-6, 1.5rem);
	text-align: start;
}

.dwp-fp02__step::before {
	content: "";
	position: absolute;
	inset-inline-start: 1.3rem;
	inset-block-start: 2.5rem;
	inset-block-end: 0;
	inline-size: 1px;
	background: var(--dwp-border-default);
}

.dwp-fp02__step:last-child {
	padding-block-end: 0;
}

.dwp-fp02__step:last-child::before {
	content: none;
}

.dwp-fp02__index {
	display: grid;
	place-items: center;
	inline-size: 2.6rem;
	block-size: 2.6rem;
	border: 1px solid var(--dwp-border-default);
	border-radius: var(--dwp-radius-pill);
	background: var(--dwp-bg-page);
	color: var(--dwp-color-primary);
	font-size: 0.8125rem;
	font-weight: var(--dwp-fw-bold);
	font-variant-numeric: tabular-nums;
	line-height: 1;
	position: relative;
	z-index: 1;
}

.dwp-fp02__step-title {
	margin: 0.35rem 0 0;
	font-size: 1.0625rem;
	font-weight: var(--dwp-fw-bold);
	line-height: 1.4;
	color: var(--dwp-text-heading);
}

.dwp-fp02__step-body {
	margin: 0.2rem 0 0;
	font-size: var(--dwp-fs-small);
	line-height: 1.7;
	color: var(--dwp-neutral-600);
	text-align: start;
}

@media (max-width: 1023px) {
	.dwp-fp02 {
		padding-inline: 0;
	}

	.dwp-fp02 > .dwp-fp__inner {
		grid-template-columns: minmax(0, 1fr);
		padding-inline: 0;
	}

	.dwp-fp02__stage .dwp-fp__heading,
	.dwp-fp02__even-title {
		padding-inline: var(--dwp-page-pad, 1rem);
	}

	.dwp-fp02__stage {
		gap: var(--dwp-space-4, 1rem);
		align-content: start;
	}

	.dwp-fp02__stage .dwp-fp__heading {
		gap: var(--dwp-space-2, 0.5rem);
	}

	.dwp-fp02__visual {
		max-inline-size: 7.5rem;
		margin-block-end: var(--dwp-space-6, 1.5rem);
	}

	.dwp-fp02__pin,
	.dwp-fp02__stage,
	.dwp-fp02__viewport {
		min-inline-size: 0;
		inline-size: 100%;
		max-inline-size: 100%;
	}

	.dwp-fp02__viewport {
		padding-inline: 1.5rem;
		overflow-x: auto;
		scroll-snap-type: x mandatory;
		scroll-padding-inline: 1.5rem;
		scrollbar-width: none;
	}

	.dwp-fp02__viewport::-webkit-scrollbar {
		display: none;
	}

	.dwp-fp02__pin.is-linked .dwp-fp02__stage {
		position: sticky;
		inset-block-start: 0;
		z-index: 2;
	}

	.dwp-fp02__pin.is-linked .dwp-fp02__viewport {
		overflow: hidden;
		scroll-snap-type: none;
	}

	.dwp-fp02__track {
		display: flex;
		flex-flow: row nowrap;
		inline-size: max-content;
		max-inline-size: none;
		gap: var(--dwp-space-3, 0.75rem);
		padding-inline: 0;
		will-change: transform;
	}

	.dwp-fp02__track > .dwp-fp__card {
		flex: 0 0 var(--dwp-fp02-card, 70vw);
		inline-size: var(--dwp-fp02-card, 70vw);
		max-inline-size: 70vw;
		scroll-snap-align: start;
	}

	.dwp-fp02__step {
		flex: 0 0 var(--dwp-fp02-card, 70vw);
		inline-size: var(--dwp-fp02-card, 70vw);
		max-inline-size: 70vw;
		min-inline-size: 0;
		grid-template-columns: 1fr;
		align-content: start;
		justify-items: center;
		row-gap: 1rem;
		padding: var(--dwp-space-5, 1.25rem);
		border: 1px solid var(--dwp-border-default);
		border-radius: var(--dwp-radius-lg, 1rem);
		background: var(--dwp-bg-card);
		text-align: center;
		scroll-snap-align: start;
	}

	.dwp-fp02__step-copy {
		justify-self: stretch;
	}

	.dwp-fp02__step-title,
	.dwp-fp02__step-body {
		text-align: center;
	}

	.dwp-fp02__step-title {
		margin-block-start: 0;
	}

	.dwp-fp02__step::before {
		content: none;
	}

	.dwp-fp02__even .dwp-fp02__viewport {
		overflow: visible;
		scroll-snap-type: none;
	}

	.dwp-fp02__even .dwp-fp02__track {
		flex-flow: column nowrap;
		inline-size: 100%;
		max-inline-size: 100%;
		gap: var(--dwp-space-4, 1rem);
		will-change: auto;
	}

	.dwp-fp02__even .dwp-fp02__track > .dwp-fp__card {
		position: sticky;
		inset-block-start: 0.75rem;
		z-index: 1;
		flex: none;
		inline-size: 86%;
		max-inline-size: none;
		margin-inline: auto;
		aspect-ratio: 4 / 3;
		align-content: center;
		justify-items: center;
		text-align: center;
	}

	.dwp-fp02__even .dwp-fp__card:nth-child(2) {
		inset-block-start: 1.35rem;
		z-index: 2;
	}

	.dwp-fp02__even .dwp-fp__card:nth-child(3) {
		inset-block-start: 1.95rem;
		z-index: 3;
	}

	.dwp-fp02__even .dwp-fp__card:nth-child(4) {
		inset-block-start: 2.55rem;
		z-index: 4;
	}

	.dwp-fp02__even .dwp-fp__card-title,
	.dwp-fp02__even .dwp-fp__card-body {
		text-align: center;
	}
}

@media (min-width: 1024px) {
	.dwp-fp02__visual {
		max-inline-size: 10.5rem;
	}

	.dwp-fp02__viewport {
		overflow: visible;
	}

	.dwp-fp02__steps {
		grid-template-columns: repeat(5, minmax(0, 1fr));
		column-gap: var(--dwp-space-5, 1.25rem);
		position: relative;
		padding-block-start: 0.25rem;
	}

	.dwp-fp02__steps::before {
		content: "";
		position: absolute;
		inset-inline: calc((100% - 4 * var(--dwp-space-5, 1.25rem)) / 10);
		inset-block-start: calc(0.25rem + 1.3rem);
		block-size: 1px;
		background: var(--dwp-border-default);
	}

	.dwp-fp02__step {
		grid-template-columns: 1fr;
		justify-items: center;
		padding-block-end: 0;
		text-align: center;
	}

	.dwp-fp02__step::before {
		content: none;
	}

	.dwp-fp02__step-title,
	.dwp-fp02__step-body {
		text-align: center;
	}
}

.dwp-fp02__even {
	display: block;
	margin-block-start: var(--dwp-space-8, 2rem);
}

.dwp-fp02__even .dwp-fp02__stage {
	gap: var(--dwp-space-5, 1.25rem);
}

.dwp-fp02__even-title {
	margin: 0;
	text-align: center;
	font-size: var(--dwp-fs-h2);
	color: #000;
}

.dwp-fp02__even .dwp-fp__card {
	justify-items: center;
	text-align: center;
	border-color: transparent;
}

.dwp-fp02__even .dwp-fp__card-title,
.dwp-fp02__even .dwp-fp__card-body {
	text-align: center;
}

.dwp-fp02__even .dwp-fp__card:nth-child(1) {
	background: #d4e8fa;
	border-color: #b7d4ef;
}

.dwp-fp02__even .dwp-fp__card:nth-child(1) .dwp-fp__card-title,
.dwp-fp02__even .dwp-fp__card:nth-child(1) .dwp-fp__card-body {
	color: #123a5c;
}

.dwp-fp02__even .dwp-fp__card:nth-child(2) {
	background: #e9e0f8;
	border-color: #d2c4ee;
}

.dwp-fp02__even .dwp-fp__card:nth-child(2) .dwp-fp__card-title,
.dwp-fp02__even .dwp-fp__card:nth-child(2) .dwp-fp__card-body {
	color: #3c2d78;
}

.dwp-fp02__even .dwp-fp__card:nth-child(3) {
	background: #d8f3df;
	border-color: #b7e4c4;
}

.dwp-fp02__even .dwp-fp__card:nth-child(3) .dwp-fp__card-title,
.dwp-fp02__even .dwp-fp__card:nth-child(3) .dwp-fp__card-body {
	color: #145233;
}

.dwp-fp02__even .dwp-fp__card:nth-child(4) {
	background: #f8e4ee;
	border-color: #efc9db;
}

.dwp-fp02__even .dwp-fp__card:nth-child(4) .dwp-fp__card-title,
.dwp-fp02__even .dwp-fp__card:nth-child(4) .dwp-fp__card-body {
	color: #6a2450;
}

.dwp-fp02__even .dwp-fp__card {
	transform: none;
	transition: transform 0.9s cubic-bezier(0.22, 1, 0.36, 1);
}

.dwp-fp02__even .dwp-fp__card:nth-child(2) {
	transition-delay: 0.08s;
}

.dwp-fp02__even .dwp-fp__card:nth-child(3) {
	transition-delay: 0.16s;
}

.dwp-fp02__even .dwp-fp__card:nth-child(4) {
	transition-delay: 0.24s;
}

.dwp-fp02__even.is-tilted .dwp-fp__card:nth-child(odd) {
	transform: rotate(-15deg);
}

.dwp-fp02__even.is-tilted .dwp-fp__card:nth-child(even) {
	transform: rotate(15deg);
}

@media (prefers-reduced-motion: reduce) {
	.dwp-fp02__even .dwp-fp__card {
		transition: none;
	}
}

@media (min-width: 1024px) {
	.dwp-fp02__even .dwp-fp__grid {
		padding-block: 2.5rem;
		gap: var(--dwp-space-8, 2rem);
	}

	.dwp-fp02__even .dwp-fp__card {
		aspect-ratio: 4 / 3;
		align-content: center;
	}

	.dwp-fp02__even .dwp-fp__card-title {
		font-size: 1.25rem;
		line-height: 1.45;
	}

	.dwp-fp02__even .dwp-fp__card-body {
		font-size: 1rem;
		line-height: 1.7;
	}
}

.dwp-fp03__list {
	list-style: none;
	margin: 0 auto;
	padding: 0;
	max-inline-size: 46rem;
}

.dwp-fp03__persona {
	position: relative;
	display: grid;
	grid-template-columns: 5.5rem minmax(0, 1fr);
	gap: var(--dwp-space-4, 1rem);
	align-items: center;
	padding-block: var(--dwp-space-5, 1.25rem);
	border-block-end: 1px solid var(--dwp-border-default);
}

.dwp-fp03__persona:first-child {
	border-block-start: 1px solid var(--dwp-border-default);
}

.dwp-fp03__media {
	margin: 0;
	background: #f6f1ea;
	border-radius: 1.25rem;
	overflow: hidden;
}

.dwp-fp03__photo {
	display: block;
	inline-size: 100%;
	aspect-ratio: 4 / 5;
	object-fit: cover;
	border-radius: 1.25rem;
	background: #f6f1ea;
}

.dwp-fp03__title {
	margin: 0;
	font-size: 1.2rem;
	font-weight: var(--dwp-fw-bold);
	line-height: 1.45;
	color: var(--dwp-text-heading);
}

.dwp-fp03__body {
	margin: 0.35rem 0 0;
	font-size: var(--dwp-fs-small);
	line-height: 1.7;
	color: var(--dwp-text-muted);
	text-align: start;
}

.dwp-fp03__closing {
	margin-block-start: var(--dwp-space-8, 2rem);
}

@media (min-width: 1024px) {
	.dwp-fp03__persona {
		grid-template-columns: 8.5rem minmax(0, 1fr);
		gap: var(--dwp-space-8, 2rem);
		padding-block: var(--dwp-space-6, 1.5rem);
	}

	.dwp-fp03__persona:nth-child(even) {
		grid-template-columns: minmax(0, 1fr) 8.5rem;
	}

	.dwp-fp03__persona:nth-child(even) .dwp-fp03__media {
		order: 2;
	}

	.dwp-fp03__title {
		font-size: 1.65rem;
	}

	.dwp-fp03__body {
		font-size: var(--dwp-fs-body);
	}

	.dwp-fp03__persona:not(:last-child)::after {
		content: "";
		position: absolute;
		z-index: 1;
		inline-size: 7.25rem;
		block-size: 10.5rem;
		inset-block-start: 68%;
		pointer-events: none;
		background: center / 100% 100% no-repeat url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 116 168' fill='none'%3E%3Cdefs%3E%3Cmarker id='h' markerWidth='8' markerHeight='8' refX='6.5' refY='4' orient='auto'%3E%3Cpath d='M0 0l8 4-8 4z' fill='%23BF410B'/%3E%3C/marker%3E%3C/defs%3E%3Cpath d='M72 10C10 32 6 104 104 156' stroke='%23BF410B' stroke-width='2.5' stroke-linecap='round' stroke-dasharray='7 9' marker-end='url(%23h)'/%3E%3C/svg%3E");
	}

	.dwp-fp03__persona:nth-child(odd):not(:last-child)::after {
		inset-inline-end: -8.5rem;
	}

	.dwp-fp03__persona:nth-child(even)::after {
		inset-inline-start: -8.5rem;
		transform: scaleX(-1);
	}
}

.dwp-fp13__row,
.dwp-fp18__row {
	display: grid;
	gap: var(--dwp-space-8, 2rem);
	align-items: center;
}

@media (min-width: 1024px) {
	.dwp-fp13__row,
	.dwp-fp18__row {
		grid-template-columns: minmax(0, 1.05fr) minmax(0, 1fr);
		gap: 3rem;
	}
}

.dwp-fp04__stage {
	display: grid;
	gap: var(--dwp-space-8, 2rem);
	align-items: center;
}

.dwp-fp04__beat {
	display: grid;
	gap: var(--dwp-space-3, 0.75rem);
	align-content: center;
}

.dwp-fp04__beat-title {
	margin: 0;
	font-size: 1.25rem;
	font-weight: var(--dwp-fw-bold);
	line-height: 1.45;
	color: var(--dwp-text-heading);
	text-align: center;
}

.dwp-fp04__beat-title::before {
	content: "";
	display: block;
	inline-size: 1.85rem;
	block-size: 1.85rem;
	margin-block-end: 0.7rem;
	margin-inline: auto;
	background-color: var(--dwp-success);
	-webkit-mask: center / contain no-repeat url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' stroke='%23000' stroke-linecap='round' stroke-linejoin='round' stroke-width='2.25' viewBox='0 0 24 24'%3E%3Cpath d='M20 6 9 17l-5-5'/%3E%3C/svg%3E");
	mask: center / contain no-repeat url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' stroke='%23000' stroke-linecap='round' stroke-linejoin='round' stroke-width='2.25' viewBox='0 0 24 24'%3E%3Cpath d='M20 6 9 17l-5-5'/%3E%3C/svg%3E");
}

.dwp-fp04__beat:first-of-type .dwp-fp04__beat-title::before {
	background-color: #c62828;
	-webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' stroke='%23000' stroke-linecap='round' stroke-linejoin='round' stroke-width='2.25' viewBox='0 0 24 24'%3E%3Cpath d='M18 6 6 18M6 6l12 12'/%3E%3C/svg%3E");
	mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' stroke='%23000' stroke-linecap='round' stroke-linejoin='round' stroke-width='2.25' viewBox='0 0 24 24'%3E%3Cpath d='M18 6 6 18M6 6l12 12'/%3E%3C/svg%3E");
}

.dwp-fp04__beat-body {
	margin: 0;
	font-size: var(--dwp-fs-body);
	line-height: 1.8;
	color: var(--dwp-text-muted);
	text-align: center;
}

.dwp-fp04__map {
	margin: 0;
	display: grid;
	justify-items: center;
	gap: var(--dwp-space-5, 1.25rem);
}

.dwp-fp04__globe {
	inline-size: min(100%, 18rem);
	border-radius: 0;
}

.dwp-fp04__places {
	list-style: none;
	margin: 0;
	padding: 0;
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: var(--dwp-space-3, 0.75rem);
	inline-size: min(100%, 24rem);
}

.dwp-fp04__place {
	margin: 0;
	display: grid;
	gap: 0.4rem;
	justify-items: center;
}

.dwp-fp04__place-photo {
	aspect-ratio: 4 / 3;
	object-fit: cover;
	border-radius: 0.7rem;
}

.dwp-fp04__place figcaption {
	font-size: var(--dwp-fs-caption);
	font-weight: var(--dwp-fw-semibold);
	text-align: center;
	color: var(--dwp-text-heading);
}

.dwp-fp04__asks {
	list-style: none;
	margin: var(--dwp-space-6, 1.5rem) 0 0;
	padding: 0;
	display: grid;
	border-block-start: 1px solid var(--dwp-border-default);
}

.dwp-fp04__ask {
	display: grid;
	gap: 0.35rem;
	padding-block: 1.15rem;
	border-block-end: 1px solid var(--dwp-border-default);
	text-align: center;
}

.dwp-fp04__ask-label {
	font-size: var(--dwp-fs-caption);
	font-weight: var(--dwp-fw-bold);
	color: var(--dwp-color-primary-text);
}

.dwp-fp04__ask-q {
	font-size: 1.05rem;
	font-weight: var(--dwp-fw-semibold);
	line-height: 1.5;
	color: var(--dwp-text-heading);
}

.dwp-fp04__line {
	margin: var(--dwp-space-12, 3rem) auto 0;
	max-inline-size: 36rem;
	text-align: center;
	font-size: clamp(1.35rem, 1rem + 1.4vw, 2rem);
	font-weight: var(--dwp-fw-bold);
	line-height: 1.45;
	color: var(--dwp-text-heading);
}

.dwp-fp04__line-quiet {
	color: var(--dwp-text-muted);
}

.dwp-fp04__line-accent {
	color: var(--dwp-color-primary-text);
}

@media (min-width: 1024px) {
	.dwp-fp04__stage {
		grid-template-columns: minmax(0, 1fr) minmax(16rem, 22rem) minmax(0, 1fr);
		grid-template-areas:
			"past globe now"
			". places .";
		column-gap: 3.5rem;
		row-gap: 2.5rem;
		align-items: center;
	}

	.dwp-fp04__beat:first-of-type {
		grid-area: past;
	}

	.dwp-fp04__map {
		display: contents;
	}

	.dwp-fp04__globe {
		grid-area: globe;
		inline-size: min(100%, 22rem);
		justify-self: center;
	}

	.dwp-fp04__places {
		grid-area: places;
		justify-self: center;
	}

	.dwp-fp04__beat:last-of-type {
		grid-area: now;
	}

	.dwp-fp04__asks {
		grid-template-columns: repeat(4, minmax(0, 1fr));
		margin-block-start: var(--dwp-space-8, 2rem);
		border-block-start: 0;
	}

	.dwp-fp04__ask {
		padding-block: 0;
		padding-inline: 1.5rem;
		border-block-end: 0;
		border-inline-start: 1px solid var(--dwp-border-default);
	}

	.dwp-fp04__ask:first-child {
		border-inline-start: 0;
	}

	.dwp-fp04__beat-title {
		font-size: 1.4rem;
	}
}

.dwp-fp05__panel {
	display: grid;
	background: var(--dwp-bg-card);
	border: 1px solid var(--dwp-border-default);
	border-radius: var(--dwp-radius-lg);
	overflow: hidden;
}

.dwp-fp05__visual {
	margin: 0;
	aspect-ratio: 1 / 1;
	min-block-size: 0;
	background: #f6f1ea;
}

.dwp-fp05__photo {
	inline-size: 100%;
	block-size: 100%;
	min-block-size: 0;
	aspect-ratio: 1 / 1;
	object-fit: cover;
	object-position: center 28%;
	border-radius: 0;
	background: #f6f1ea;
}

.dwp-fp05__points {
	display: grid;
	align-content: center;
	gap: 1.25rem;
	padding: clamp(1.25rem, 3vw, 2.25rem);
}

.dwp-fp05__point {
	display: grid;
	gap: 0.35rem;
}

.dwp-fp05__num {
	font-size: 0.8rem;
	font-weight: var(--dwp-fw-bold);
	letter-spacing: 0.08em;
	color: var(--dwp-color-primary-text);
}

.dwp-fp05__title {
	margin: 0;
	font-size: 1.3rem;
	font-weight: var(--dwp-fw-bold);
	line-height: 1.4;
	color: var(--dwp-text-heading);
	text-align: start;
}

.dwp-fp05__body,
.dwp-fp05__note,
.dwp-fp05__disclaimer,
.dwp-fp05__label {
	margin: 0;
	text-align: start;
}

.dwp-fp05__body,
.dwp-fp05__note {
	font-size: var(--dwp-fs-body);
	line-height: 1.8;
	color: var(--dwp-text-muted);
}

.dwp-fp05__figure {
	display: grid;
	justify-items: center;
	gap: 0.55rem;
	padding: clamp(1.25rem, 3vw, 2rem);
	background: var(--dwp-bg-card);
	border-block-start: 1px solid var(--dwp-border-default);
	text-align: center;
}

.dwp-fp05__label,
.dwp-fp05__note,
.dwp-fp05__disclaimer,
.dwp-fp05__equation {
	text-align: center;
}

.dwp-fp05__label {
	font-size: var(--dwp-fs-caption);
	font-weight: var(--dwp-fw-bold);
	color: var(--dwp-color-primary-text);
}

.dwp-fp05__equation {
	margin: 0;
	font-size: clamp(1.85rem, 1rem + 2.2vw, 2.75rem);
	font-weight: var(--dwp-fw-bold);
	line-height: 1.15;
	letter-spacing: -0.03em;
	color: var(--dwp-color-primary-text);
	font-variant-numeric: tabular-nums;
}

.dwp-fp05__note {
	max-inline-size: 46rem;
}

.dwp-fp05__disclaimer {
	max-inline-size: 36rem;
	font-size: var(--dwp-fs-caption);
	line-height: 1.6;
	color: var(--dwp-text-muted);
}

.dwp-fp05__line {
	margin: 0 auto;
	max-inline-size: 18em;
	text-align: center;
	font-size: clamp(1.35rem, 1rem + 1.4vw, 2rem);
	font-weight: var(--dwp-fw-bold);
	line-height: 1.45;
	color: var(--dwp-text-heading);
}

.dwp-fp05__line-accent {
	color: var(--dwp-color-primary-text);
}

@media (min-width: 1024px) {
	.dwp-fp05__panel {
		grid-template-columns: minmax(16rem, 0.72fr) minmax(0, 1.28fr);
	}

	.dwp-fp05__visual {
		position: relative;
		aspect-ratio: 1 / 1;
		min-block-size: 0;
		align-self: center;
	}

	.dwp-fp05__photo {
		position: absolute;
		inset: 0;
		min-block-size: 0;
		object-position: center 28%;
	}

	.dwp-fp05__figure {
		grid-column: 1 / -1;
	}

	.dwp-fp05__title {
		font-size: 1.5rem;
	}
}

.dwp-fp06 .dwp-fp__heading {
	justify-self: center;
	inline-size: min(100%, 40rem);
	text-align: center;
}

.dwp-fp06 .dwp-fp__kicker,
.dwp-fp06 .dwp-fp__title,
.dwp-fp06 .dwp-fp__lead {
	text-align: center;
}

.dwp-fp06 .dwp-fp__lead strong {
	font-weight: var(--dwp-fw-bold);
}

.dwp-fp06__stage {
	display: grid;
	background: var(--dwp-bg-card);
	border: 1px solid var(--dwp-border-default);
	border-radius: var(--dwp-radius-lg);
	overflow: hidden;
}

.dwp-fp06__visual {
	position: relative;
	display: grid;
	grid-template-rows: minmax(16rem, 1fr) auto;
	margin: 0;
	min-block-size: 18rem;
	background: #f6f1ea;
}

.dwp-fp06__notes {
	list-style: none;
	display: grid;
	grid-template-columns: 1fr;
	gap: 0.75rem;
	margin: 0;
	padding: clamp(1.25rem, 3vw, 2.5rem);
	background: var(--dwp-bg-page);
	border-radius: var(--dwp-radius-lg);
}

.dwp-fp06__card {
	display: flex;
	align-items: center;
	justify-content: center;
	position: relative;
	overflow: hidden;
	margin: 0;
	aspect-ratio: 2 / 1;
	padding: 1.25rem 1.15rem;
	background-color: var(--dwp-bg-card);
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='140' height='96' viewBox='0 0 140 96'%3E%3Ctext x='18' y='52' fill='%23BF410B' fill-opacity='0.07' font-family='Arial,sans-serif' font-size='46' font-weight='700' transform='rotate(-18 36 40)'%3E%D8%9F%3C/text%3E%3Ctext x='86' y='84' fill='%23BF410B' fill-opacity='0.045' font-family='Arial,sans-serif' font-size='28' font-weight='700' transform='rotate(12 98 74)'%3E%D8%9F%3C/text%3E%3C/svg%3E");
	background-repeat: repeat;
	border: 1px solid #d2c4b2;
	border-radius: 1.15rem;
	box-shadow: none;
	font-weight: var(--dwp-fw-semibold);
	line-height: 1.45;
	color: var(--dwp-text-heading);
	text-align: center;
}

.dwp-fp06__card::before {
	content: "";
	position: absolute;
	inset-block-start: 0;
	inset-inline: 0;
	block-size: 0.5rem;
	background: var(--dwp-color-primary);
}

@media (max-width: 767px) {
	.dwp-fp06__card {
		font-size: 1.5rem;
	}

	.dwp-fp06__pin {
		position: relative;
		overflow-anchor: none;
		margin-inline: calc(-2 * var(--dwp-page-pad, 1rem));
		inline-size: calc(100% + 4 * var(--dwp-page-pad, 1rem));
		max-inline-size: none;
		background-color: color-mix(in srgb, var(--dwp-bg-dark) calc(var(--dwp-fp08-dim, 0) * 100%), transparent);
	}

	.dwp-fp06__pin.is-linked .dwp-fp06__stack {
		position: sticky;
		z-index: 2;
		overflow: hidden;
		overflow-anchor: none;
	}

	.dwp-fp06__pin.is-linked .dwp-fp06__notes {
		position: relative;
		display: block;
		block-size: 100%;
		margin: 0;
		padding: 0;
		background: transparent;
		border-radius: 0;
	}

	.dwp-fp06__pin.is-linked .dwp-fp06__card {
		position: absolute;
		inset-block-start: 0;
		inset-inline: calc(2 * var(--dwp-page-pad, 1rem));
	}
}

@media (min-width: 768px) {
	.dwp-fp06__notes {
		grid-template-columns: repeat(3, minmax(0, 1fr));
		align-items: start;
		gap: 1rem 0.85rem;
	}
}

.dwp-fp06__copy {
	display: grid;
	align-content: center;
	gap: 0.35rem;
	padding: clamp(1.25rem, 3vw, 2.25rem);
}

.dwp-fp06__q-title {
	margin: 0 0 0.5rem;
	font-size: 1.25rem;
	font-weight: var(--dwp-fw-bold);
	line-height: 1.45;
	color: var(--dwp-text-heading);
	text-align: start;
}

.dwp-fp06__floats,
.dwp-fp06__path {
	list-style: none;
	margin: 0;
	padding: 0;
}

.dwp-fp06__floats {
	margin: 0;
	padding: 0.9rem 1.1rem;
	background: var(--dwp-bg-card);
	font-size: var(--dwp-fs-lead);
	font-weight: var(--dwp-fw-bold);
	line-height: 1.45;
	color: var(--dwp-color-primary-text);
	text-align: center;
}

.dwp-fp06__note {
	margin: clamp(1.5rem, 3vw, 2.25rem) auto 0;
	max-inline-size: 40rem;
	text-align: center;
	font-size: var(--dwp-fs-body);
	line-height: 1.8;
	color: var(--dwp-text-muted);
}

.dwp-fp06__path {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	align-items: center;
	gap: 0.85rem 2rem;
	margin-block-start: clamp(1.5rem, 3vw, 2.25rem);
	font-size: clamp(1.05rem, 0.85rem + 0.6vw, 1.25rem);
	font-weight: var(--dwp-fw-bold);
	color: var(--dwp-text-heading);
}

.dwp-fp06__path li {
	position: relative;
	padding: 0.7rem 0.95rem;
	background: var(--dwp-bg-card);
	border: 1px solid var(--dwp-border-default);
	border-radius: var(--dwp-radius-md);
}

.dwp-fp06__path li + li::before {
	content: "←";
	position: absolute;
	inset-inline-start: -1.4rem;
	inset-block-start: 50%;
	transform: translateY(-50%);
	color: var(--dwp-color-primary-text);
	font-weight: var(--dwp-fw-bold);
}

.dwp-fp06__word {
	margin: 0.35rem 0 0;
	text-align: center;
	font-size: clamp(2.4rem, 1.6rem + 2.4vw, 3.6rem);
	font-weight: var(--dwp-fw-bold);
	line-height: 1.15;
	color: var(--dwp-color-primary-text);
}

@media (min-width: 1024px) {
	.dwp-fp06__stage {
		grid-template-columns: minmax(16rem, 0.78fr) minmax(0, 1.22fr);
		min-block-size: 28rem;
	}

	.dwp-fp06__visual {
		min-block-size: 28rem;
	}

	.dwp-fp06__floats {
		position: absolute;
		inset-inline: 1rem;
		inset-block-end: 1rem;
		border-radius: var(--dwp-radius-md);
		padding: 0.75rem 1rem;
	}

	.dwp-fp06__q-title {
		font-size: 1.45rem;
	}

	.dwp-fp06__questions {
		min-block-size: 22rem;
	}
}

.dwp-fp07__profile {
	display: grid;
	gap: var(--dwp-space-6, 1.5rem);
	align-items: center;
}

.dwp-fp07__media {
	margin: 0;
	justify-self: center;
}

.dwp-fp07__photo {
	inline-size: min(100%, 22rem);
	border-radius: 1.5rem;
	box-shadow: 0 18px 40px rgb(30 27 24 / 0.08);
}

@media (max-width: 1023px) {
	.dwp-fp07__media {
		justify-self: stretch;
		inline-size: calc(100% + 4 * var(--dwp-page-pad, 1rem));
		max-inline-size: none;
		margin-inline: calc(-2 * var(--dwp-page-pad, 1rem));
	}

	.dwp-fp07__photo {
		inline-size: 100%;
		max-inline-size: none;
		border-radius: 0;
		box-shadow: none;
	}
}

.dwp-fp07__bio {
	display: grid;
	gap: 0.85rem;
	align-content: center;
	max-inline-size: 38rem;
}

.dwp-fp07__name {
	margin: 0;
	font-size: 1.45rem;
	font-weight: var(--dwp-fw-bold);
	line-height: 1.35;
	color: var(--dwp-text-heading);
	text-align: start;
}

.dwp-fp07__text {
	margin: 0;
	font-size: var(--dwp-fs-body);
	line-height: 1.8;
	color: var(--dwp-text-muted);
	text-align: start;
}

.dwp-fp07__line {
	margin: 0.15rem 0 0;
	font-size: var(--dwp-fs-lead);
	font-weight: var(--dwp-fw-bold);
	line-height: 1.6;
	color: var(--dwp-text-heading);
	text-align: start;
}

.dwp-fp07__line-accent {
	color: var(--dwp-color-primary-text);
}

.dwp-fp07__stats {
	list-style: none;
	margin: 0;
	padding: 0;
	display: grid;
	grid-template-columns: 1fr;
	border-block-start: 1px solid var(--dwp-border-default);
}

.dwp-fp07__stats li {
	display: grid;
	justify-items: center;
	align-content: start;
	gap: 0.45rem;
	padding-block: 1.15rem;
	border-block-end: 1px solid var(--dwp-border-default);
	text-align: center;
}

.dwp-fp07__stat-value {
	font-size: clamp(1.7rem, 1.2rem + 1.1vw, 2.35rem);
	font-weight: var(--dwp-fw-bold);
	line-height: 1.15;
	letter-spacing: -0.03em;
	color: var(--dwp-color-primary-text);
}

.dwp-fp07__stat-label {
	max-inline-size: 14rem;
	font-size: 0.95rem;
	line-height: 1.5;
	text-align: center;
	color: var(--dwp-text-muted);
}

@media (min-width: 1024px) {
	.dwp-fp07__profile {
		grid-template-columns: minmax(18rem, 24rem) minmax(0, 1fr);
		gap: 4rem;
	}

	.dwp-fp07__stats {
		grid-template-columns: repeat(3, minmax(0, 1fr));
		border-block-end: 1px solid var(--dwp-border-default);
	}

	.dwp-fp07__stats li {
		padding-block: 1.35rem 1.15rem;
		padding-inline: 1.5rem;
		border-block-end: 0;
		border-inline-start: 1px solid var(--dwp-border-default);
	}

	.dwp-fp07__stats li:first-child {
		border-inline-start: 0;
	}

	.dwp-fp07__name {
		font-size: 1.75rem;
	}
}

.dwp-fp08 .dwp-fp__cta {
	margin-block-start: var(--dwp-space-12, 3rem);
}

.dwp-fp08__keywords {
	margin: 0;
	text-align: center;
	font-size: var(--dwp-fs-small);
	font-weight: var(--dwp-fw-bold);
	letter-spacing: 0.08em;
	color: var(--dwp-text-muted);
}

.dwp-fp08__key {
	color: var(--dwp-color-primary);
}

.dwp-fp08__pin {
	background-color: color-mix(in srgb, var(--dwp-bg-dark) calc(var(--dwp-fp08-dim, 0) * 100%), transparent);
}

.dwp-fp08__pin,
.dwp-fp08__stage,
.dwp-fp08__viewport {
	min-inline-size: 0;
	inline-size: 100%;
	max-inline-size: 100%;
}

.dwp-fp08__path {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-flow: row nowrap;
	inline-size: max-content;
	gap: 0;
}

.dwp-fp08__step {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 0.85rem;
	flex: 0 0 var(--dwp-fp08-card, 70vw);
	inline-size: var(--dwp-fp08-card, 70vw);
	max-inline-size: 70vw;
	padding: 0.25rem 1.1rem 0;
	scroll-snap-align: start;
}

.dwp-fp08__step + .dwp-fp08__step {
	border-inline-start: 1px solid var(--dwp-border-default);
}

.dwp-fp08__num {
	font-size: 1rem;
	font-weight: var(--dwp-fw-bold);
	letter-spacing: 0.04em;
	color: var(--dwp-color-primary-text);
}

.dwp-fp08__media {
	order: -1;
	inline-size: 100%;
	margin: 0;
}

.dwp-fp08__copy {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 0.4rem;
}

.dwp-fp08__photo {
	inline-size: 100%;
	aspect-ratio: 4 / 3;
	object-fit: cover;
	border-radius: 0.85rem;
}

.dwp-fp08__title {
	margin: 0;
	font-size: 1.2rem;
	font-weight: var(--dwp-fw-bold);
	line-height: 1.35;
	color: var(--dwp-text-heading);
	text-align: center;
}

.dwp-fp08__body {
	margin: 0;
	font-size: 0.95rem;
	line-height: 1.65;
	color: var(--dwp-text-muted);
	text-align: center;
}

@media (max-width: 1023px) {
	.dwp-fp08__pin {
		margin-inline: calc(-2 * var(--dwp-page-pad, 1rem));
		inline-size: calc(100% + 4 * var(--dwp-page-pad, 1rem));
		max-inline-size: none;
	}

	.dwp-fp08__stage,
	.dwp-fp08__viewport {
		max-inline-size: none;
	}

	.dwp-fp08__viewport {
		padding-inline: var(--dwp-page-pad, 1rem);
		overflow-x: auto;
		scroll-snap-type: x mandatory;
		scroll-padding-inline: var(--dwp-page-pad, 1rem);
		scrollbar-width: none;
	}

	.dwp-fp08__track {
		gap: var(--dwp-space-4, 1rem);
	}

	.dwp-fp08__step {
		padding: 1rem 1rem 1.15rem;
		background: #fff;
		border: 1px solid var(--dwp-border-default);
		border-radius: var(--dwp-radius-lg, 1rem);
	}

	.dwp-fp08__step + .dwp-fp08__step {
		border-inline-start: 1px solid var(--dwp-border-default);
	}

	.dwp-fp08__viewport::-webkit-scrollbar {
		display: none;
	}

	.dwp-fp08__pin.is-linked .dwp-fp08__stage {
		position: sticky;
		inset-block-start: 0;
		z-index: 2;
	}

	.dwp-fp08__pin.is-linked .dwp-fp08__viewport {
		overflow: hidden;
		scroll-snap-type: none;
	}

	.dwp-fp08__track {
		will-change: transform;
	}
}

@media (min-width: 1024px) {
	.dwp-fp08__viewport {
		overflow: visible;
	}

	.dwp-fp08__path {
		display: grid;
		grid-template-columns: repeat(5, minmax(0, 1fr));
		inline-size: 100%;
		align-items: start;
	}

	.dwp-fp08__step {
		flex: none;
		inline-size: auto;
	}
}

.dwp-fp09__thread {
	list-style: none;
	margin: 0;
	padding: 0;
	display: grid;
	gap: clamp(1.25rem, 2vw, 1.75rem);
}

.dwp-fp09__beat {
	display: grid;
	background: var(--dwp-bg-card);
	border: 1px solid var(--dwp-border-default);
	border-radius: var(--dwp-radius-lg);
	overflow: hidden;
}

.dwp-fp09__visual {
	margin: 0;
	min-block-size: 16rem;
	background: #f6f1ea;
}

.dwp-fp09__photo {
	inline-size: 100%;
	block-size: 100%;
	min-block-size: 16rem;
	object-fit: cover;
	border-radius: 0;
	background: #f6f1ea;
}

.dwp-fp09__answer {
	display: grid;
	align-content: center;
	gap: 0.75rem;
	padding: clamp(1.25rem, 3vw, 2.25rem);
	min-inline-size: 0;
}

.dwp-fp09__label {
	margin: 0;
	font-size: var(--dwp-fs-caption);
	font-weight: var(--dwp-fw-bold);
	color: var(--dwp-color-primary-text);
	text-align: start;
}

.dwp-fp09__title {
	margin: 0;
	font-size: clamp(1.35rem, 1.1rem + 0.8vw, 1.75rem);
	font-weight: var(--dwp-fw-bold);
	line-height: 1.35;
	color: var(--dwp-text-heading);
	text-align: start;
}

.dwp-fp09__body {
	margin: 0;
	text-align: start;
	color: var(--dwp-text-muted);
}

.dwp-fp09__close {
	margin: 0.35rem 0 0;
	font-size: var(--dwp-fs-lead);
	font-weight: var(--dwp-fw-bold);
	line-height: 1.5;
	color: var(--dwp-color-primary-text);
	text-align: start;
}

@media (min-width: 1024px) {
	.dwp-fp09__beat {
		grid-template-columns: minmax(16rem, 0.72fr) minmax(0, 1.28fr);
		min-block-size: 24rem;
	}

	.dwp-fp09__visual {
		position: relative;
		min-block-size: 100%;
	}

	.dwp-fp09__photo {
		position: absolute;
		inset: 0;
		min-block-size: 0;
	}
}

.dwp-main > .dwp-section.dwp-fp10[data-dwp-section] {
	--dwp-band-bg: var(--dwp-bg-dark);
	background: var(--dwp-bg-dark);
	color: var(--dwp-text-on-dark);
	border-block-end-color: rgb(255 255 255 / 0.08);
}

.dwp-fp10 .dwp-fp__kicker {
	color: var(--dwp-primary-300);
}

.dwp-fp10 .dwp-fp__title {
	color: var(--dwp-text-on-dark);
}

.dwp-fp10 .dwp-fp__lead {
	color: var(--dwp-text-on-dark-muted);
}

.dwp-fp10 .dwp-fp__inner {
	grid-template-columns: minmax(0, 1fr);
}

.dwp-fp10__pin {
	--dwp-fp10-inset: calc(2 * var(--dwp-page-pad, 1rem));
	position: relative;
	min-inline-size: 0;
	inline-size: calc(100% + 2 * var(--dwp-fp10-inset));
	max-inline-size: none;
	margin-inline: calc(-1 * var(--dwp-fp10-inset));
}

.dwp-fp10__stage,
.dwp-fp10__viewport {
	min-inline-size: 0;
	max-inline-size: none;
	inline-size: 100%;
}

.dwp-fp10__viewport {
	overflow-x: auto;
	padding-inline: var(--dwp-fp10-inset);
	scrollbar-width: none;
}

.dwp-fp10__viewport::-webkit-scrollbar {
	display: none;
}

.dwp-fp10__pin.is-linked .dwp-fp10__stage {
	position: -webkit-sticky;
	position: sticky;
	inset-block-start: 0;
	z-index: 2;
}

.dwp-fp10__pin.is-linked .dwp-fp10__viewport {
	overflow: hidden;
	overflow: clip;
	touch-action: pan-y;
}

.dwp-fp10__track {
	list-style: none;
	display: flex;
	gap: 1rem;
	margin: 0;
	padding: 0;
	inline-size: max-content;
}

.dwp-fp10__poster {
	display: flex;
	flex-direction: column;
	flex: 0 0 clamp(16rem, 68vw, 18.5rem);
	scroll-snap-align: start;
	background: var(--dwp-bg-card);
	border-radius: var(--dwp-radius-lg);
	overflow: hidden;
}

.dwp-fp10__photo {
	aspect-ratio: 4 / 3;
	object-fit: cover;
	border-radius: 0;
	background: var(--dwp-bg-page);
}

.dwp-fp10__copy {
	display: grid;
	gap: 0.35rem;
	align-content: start;
	justify-items: center;
	padding: 0.95rem 1rem 1.1rem;
	text-align: center;
}

.dwp-fp10__name {
	margin: 0;
	color: var(--dwp-neutral-900);
	font-size: 1.05rem;
	font-weight: 700;
	line-height: 1.45;
	text-align: center;
}

.dwp-fp10__body {
	margin: 0;
	color: var(--dwp-color-primary-text);
	font-size: 0.92rem;
	font-weight: 600;
	line-height: 1.55;
	text-align: center;
}

@media (max-width: 1023px) {
	.dwp-fp10__poster {
		flex: 0 0 70vw;
		inline-size: 70vw;
		max-inline-size: 70vw;
	}

	.dwp-fp10__photo {
		inline-size: 100%;
	}
}

.dwp-fp11__compare {
	list-style: none;
	margin: 0;
	padding: 0;
	display: grid;
	gap: var(--dwp-space-8, 2rem);
}

.dwp-fp11__side {
	display: grid;
	gap: 0.75rem;
	align-content: start;
	min-inline-size: 0;
	padding: 1.25rem 1.35rem;
	background: var(--dwp-bg-card);
	border: 1px solid var(--dwp-border-default);
	border-radius: var(--dwp-radius-lg);
}

.dwp-fp11__side--now {
	background: var(--dwp-success-soft);
	border-color: rgb(59 110 82 / 0.35);
}

.dwp-fp11__side-title {
	margin: 0;
	font-size: var(--dwp-fs-h3);
	font-weight: var(--dwp-fw-bold);
	line-height: var(--dwp-lh-heading);
	color: var(--dwp-text-muted);
}

.dwp-fp11__side--now .dwp-fp11__side-title {
	color: var(--dwp-success);
}

.dwp-fp11__side-body {
	margin: 0;
	color: var(--dwp-text-primary);
}

@media (min-width: 1024px) {
	.dwp-fp11__compare {
		grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
		column-gap: var(--dwp-space-12, 3rem);
		align-items: stretch;
	}
}

.dwp-fp13__media,
.dwp-fp18__media {
	list-style: none;
	margin: 0;
	padding: 0;
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: var(--dwp-space-4, 1rem);
	align-items: center;
}

.dwp-fp11__offer {
	display: grid;
	gap: var(--dwp-space-8, 2rem);
	margin-block-start: var(--dwp-space-8, 2rem);
}

.dwp-fp11__offer .dwp-fp__title {
	font-size: var(--dwp-fs-h3);
}

.dwp-fp11__offer .dwp-fp__closing {
	margin-block-start: clamp(2rem, 4vw, 3.5rem);
}

.dwp-fp11__offer .dwp-fp__band {
	margin: 0;
	margin-block-start: clamp(1.5rem, 3vw, 2.5rem);
	padding: 0;
	background: none;
	border-radius: 0;
	color: var(--dwp-text-heading);
	font-size: var(--dwp-fs-h3);
	text-align: center;
}

.dwp-fp11__modules,
.dwp-fp11__bonuses {
	list-style: none;
	margin: 0;
	padding: 0;
}

.dwp-fp11__modules {
	display: grid;
	gap: 0.85rem;
}

.dwp-fp11__pin {
	background-color: color-mix(in srgb, var(--dwp-bg-dark) calc(var(--dwp-fp08-dim, 0) * 100%), transparent);
}

.dwp-fp11__pin,
.dwp-fp11__stage,
.dwp-fp11__viewport {
	min-inline-size: 0;
	inline-size: 100%;
	max-inline-size: 100%;
}

@media (max-width: 1023px) {
	.dwp-fp11__pin {
		margin-inline: calc(-2 * var(--dwp-page-pad, 1rem));
		inline-size: calc(100% + 4 * var(--dwp-page-pad, 1rem));
		max-inline-size: none;
	}

	.dwp-fp11__stage,
	.dwp-fp11__viewport {
		max-inline-size: none;
	}

	.dwp-fp11__viewport {
		padding-inline: var(--dwp-page-pad, 1rem);
		overflow-x: auto;
		scroll-snap-type: x mandatory;
		scroll-padding-inline: var(--dwp-page-pad, 1rem);
		scrollbar-width: none;
	}

	.dwp-fp11__viewport::-webkit-scrollbar {
		display: none;
	}

	.dwp-fp11__modules {
		display: flex;
		flex-flow: row nowrap;
		inline-size: max-content;
		gap: var(--dwp-space-4, 1rem);
		will-change: transform;
	}

	.dwp-fp11__module {
		flex: 0 0 var(--dwp-fp11-card, 70vw);
		inline-size: var(--dwp-fp11-card, 70vw);
		max-inline-size: 70vw;
		scroll-snap-align: start;
	}

	.dwp-fp11__module-title,
	.dwp-fp11__price,
	.dwp-fp11__badge {
		text-align: center;
	}

	.dwp-fp11__module-copy .dwp-fp__checks {
		justify-items: center;
	}

	.dwp-fp11__module-copy .dwp-fp__checks li {
		padding-inline-start: 0;
		text-align: center;
	}

	.dwp-fp11__module-copy .dwp-fp__checks li::before {
		content: none;
	}

	.dwp-fp11__bonus {
		justify-items: center;
		text-align: center;
	}

	.dwp-fp11__bonus-title,
	.dwp-fp11__bonus-body {
		text-align: center;
	}

	.dwp-fp11__pin.is-linked .dwp-fp11__stage {
		position: sticky;
		inset-block-start: 0;
		z-index: 2;
	}

	.dwp-fp11__pin.is-linked .dwp-fp11__viewport {
		overflow: hidden;
		scroll-snap-type: none;
	}
}

.dwp-fp11__module {
	display: grid;
	gap: 0.85rem;
	align-items: start;
	padding: 0 0 1.05rem;
	background: var(--dwp-bg-card);
	border: 1px solid var(--dwp-border-default);
	border-radius: var(--dwp-radius-lg);
	overflow: hidden;
	min-inline-size: 0;
}

.dwp-fp11__module-media {
	inline-size: 100%;
	block-size: auto;
	aspect-ratio: 4 / 3;
	justify-self: stretch;
	background: var(--dwp-bg-page);
	padding: 0;
}

.dwp-fp11__module-media .dwp-fp__img {
	inline-size: 100%;
	block-size: 100%;
	max-inline-size: none;
	max-block-size: none;
	object-fit: cover;
	object-position: center;
	border-radius: 0;
	background: var(--dwp-bg-page);
}

.dwp-fp11__module-copy,
.dwp-fp11__value {
	padding-inline: 1.1rem;
}

.dwp-fp11__module-copy {
	display: grid;
	gap: 0.75rem;
	min-inline-size: 0;
}

.dwp-fp11__module-title,
.dwp-fp11__bonus-title {
	margin: 0;
	font-size: var(--dwp-fs-h4, 1.125rem);
	font-weight: var(--dwp-fw-bold);
	line-height: var(--dwp-lh-heading);
	color: var(--dwp-text-heading);
}

.dwp-fp11__module-copy .dwp-fp__checks {
	grid-template-columns: 1fr;
	gap: 0.125rem 0.75rem;
	line-height: 1.35;
}

.dwp-fp11__value {
	display: flex;
	flex-wrap: wrap;
	align-items: baseline;
	justify-content: flex-start;
	gap: 0.65rem 0.85rem;
}

@media (max-width: 1023px) {
	.dwp-fp11__value {
		justify-content: center;
		inline-size: 100%;
	}
}

.dwp-fp11__price {
	margin: 0;
}

.dwp-fp11__price s {
	color: var(--dwp-text-strike);
	font-size: var(--dwp-fs-h4, 1.125rem);
	font-weight: var(--dwp-fw-bold);
}

.dwp-fp11__badge {
	margin: 0;
	padding: 0;
	background: none;
	border-radius: 0;
	color: var(--dwp-color-primary-text);
	font-size: var(--dwp-fs-small);
	font-weight: var(--dwp-fw-bold);
}

.dwp-fp11__bonuses {
	display: grid;
	gap: 1.25rem;
}

.dwp-fp11__bonus {
	display: grid;
	gap: 0.35rem;
	align-content: start;
	justify-items: center;
	padding: 1rem 1.1rem;
	background: var(--dwp-bg-card);
	border: 1px solid var(--dwp-border-default);
	border-radius: var(--dwp-radius-md);
	min-inline-size: 0;
	text-align: center;
}

.dwp-fp11__bonus-title,
.dwp-fp11__bonus-body {
	text-align: center;
}

.dwp-fp11__bonus-body {
	margin: 0;
	color: var(--dwp-text-primary);
}

@media (min-width: 768px) {
	.dwp-fp11__bonuses {
		grid-template-columns: 1fr 1fr;
		column-gap: 0.85rem;
	}
}

@media (min-width: 1024px) {
	.dwp-fp11__pin {
		max-inline-size: 990px;
		margin-inline: auto;
	}

	.dwp-fp11__module {
		grid-template-columns: 9.5rem minmax(0, 1fr) auto;
		column-gap: 1.5rem;
		align-items: center;
		padding: 1rem 1.15rem;
	}

	.dwp-fp11__module-media {
		inline-size: 9.5rem;
		block-size: 9.5rem;
		aspect-ratio: 1;
	}

	.dwp-fp11__module-copy,
	.dwp-fp11__value {
		padding-inline: 0;
	}

	.dwp-fp11__module-copy .dwp-fp__checks {
		inline-size: max-content;
		max-inline-size: 100%;
		grid-template-columns: max-content max-content;
		justify-content: start;
		column-gap: 1.5rem;
	}

	.dwp-fp11__value {
		flex-direction: column;
		align-items: flex-start;
		justify-self: start;
	}
}

@media (min-width: 1024px) {
	.dwp-fp11__bonuses {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}
}

.dwp-main > .dwp-section.dwp-fp13[data-dwp-section] {
	--dwp-band-bg: var(--dwp-bg-dark);
	background: var(--dwp-bg-dark);
	color: var(--dwp-text-on-dark);
	border-block-end-color: rgb(255 255 255 / 0.08);
}

.dwp-fp13 .dwp-fp__title {
	color: var(--dwp-text-on-dark);
}

.dwp-fp13 .dwp-fp__kicker {
	color: var(--dwp-primary-300);
}

.dwp-fp13__offer .dwp-fp__kicker {
	color: var(--dwp-color-primary-text);
}

.dwp-fp13__offer {
	justify-items: center;
	text-align: center;
	gap: 0.85rem;
	max-inline-size: 32rem;
	margin-inline: auto;
	padding: clamp(1.5rem, 3vw, 2.5rem);
	background: var(--dwp-bg-card);
	color: var(--dwp-text-primary);
	box-shadow: 0 24px 60px rgb(0 0 0 / 0.28);
}

.dwp-fp13__offer .dwp-fp__card-body {
	max-inline-size: 28rem;
}

.dwp-fp13__stack {
	display: grid;
	gap: 0.35rem;
	inline-size: 100%;
	padding-block: 0.85rem;
	border-block: 1px solid var(--dwp-border-default);
}

.dwp-fp13__value {
	margin: 0;
	font-weight: var(--dwp-fw-bold);
	color: var(--dwp-text-heading);
}

.dwp-fp13__was {
	margin: 0;
	color: var(--dwp-text-strike);
}

.dwp-fp13 .dwp-fp13__offer :is(p, .dwp-fp__kicker) {
	text-align: center;
}

.dwp-fp13__offer .dwp-fp__cta {
	inline-size: 100%;
	justify-items: stretch;
	margin-block-start: clamp(0.75rem, 2vw, 1.25rem);
}

.dwp-fp13__offer .dwp-btn {
	inline-size: 100%;
	justify-content: center;
}

.dwp-fp13__offer .dwp-fp__fine {
	max-inline-size: 28rem;
	color: var(--dwp-text-muted);
	font-size: var(--dwp-fs-caption);
}

.dwp-fp13__price {
	margin: 0;
	display: flex;
	flex-wrap: wrap;
	gap: 0.35rem 0.75rem;
	align-items: baseline;
	justify-content: center;
}

.dwp-fp13__amount {
	font-size: var(--dwp-fs-price);
	font-weight: var(--dwp-fw-bold);
	line-height: var(--dwp-lh-tight);
	color: var(--dwp-color-primary-text);
	font-variant-numeric: tabular-nums;
}

.dwp-fp13 .dwp-fp13__amount {
	color: var(--dwp-text-heading);
	font-size: clamp(2.25rem, 1.9rem + 1.5vw, 3.25rem);
}

.dwp-fp13__unit {
	font-size: var(--dwp-fs-h3);
	font-weight: var(--dwp-fw-bold);
	color: var(--dwp-text-heading);
}

.dwp-fp14__list {
	align-items: start;
	gap: 1rem;
}

.dwp-fp14__shot {
	min-inline-size: 0;
	background: var(--dwp-bg-card);
	border: 1px solid var(--dwp-border-default);
	border-radius: var(--dwp-radius-lg);
	overflow: hidden;
}

.dwp-fp14__link {
	display: block;
	inline-size: 100%;
	margin: 0;
	padding: 0;
	border: 0;
	background: transparent;
	color: inherit;
	font: inherit;
	cursor: zoom-in;
}

.dwp-fp14__link:focus-visible,
.dwp-fp14__nav:focus-visible,
.dwp-fp14__close:focus-visible {
	outline: 3px solid var(--dwp-focus-ring);
	outline-offset: 3px;
}

.dwp-fp14__photo {
	border-radius: 0;
	background: #fff;
}

.dwp-fp14__dialog {
	inline-size: fit-content;
	max-inline-size: calc(100vw - 1.5rem);
	max-block-size: calc(100dvh - 1.5rem);
	margin: auto;
	padding: 0;
	border: 0;
	background: transparent;
	overflow: visible;
}

.dwp-fp14__dialog::backdrop {
	background: rgb(30 27 24 / 0.78);
}

.dwp-fp14__frame {
	display: grid;
	grid-template-columns: 2.75rem minmax(0, 1fr) 2.75rem;
	align-items: center;
	gap: 0.75rem;
	max-inline-size: calc(100vw - 1.5rem);
}

.dwp-fp14__stage-wrap {
	position: relative;
	grid-column: 2;
	justify-self: center;
	max-inline-size: 100%;
}

.dwp-fp14__stage {
	display: block;
	inline-size: auto;
	block-size: auto;
	max-inline-size: min(42rem, calc(100vw - 8rem));
	max-block-size: calc(100dvh - 3rem);
	border-radius: var(--dwp-radius-lg);
	background: #fff;
	box-shadow: 0 16px 40px rgb(0 0 0 / 0.28);
}

.dwp-fp14__nav,
.dwp-fp14__close {
	display: grid;
	place-items: center;
	inline-size: 2.75rem;
	block-size: 2.75rem;
	margin: 0;
	padding: 0;
	border: 0;
	border-radius: 999px;
	background: #fff;
	color: var(--dwp-neutral-900, #1e1b18);
	cursor: pointer;
}

.dwp-fp14__close {
	position: absolute;
	inset-block-start: 0.55rem;
	inset-inline-end: 0.55rem;
	background: rgb(255 255 255 / 0.94);
}

.dwp-fp15__paths {
	list-style: none;
	margin: 0;
	padding: 0;
	display: grid;
	gap: var(--dwp-space-4, 1rem);
}

.dwp-fp15 > .dwp-fp__inner {
	max-inline-size: calc(990px + 2 * var(--dwp-page-pad, 1rem));
}

.dwp-fp15__path {
	grid-template-rows: auto 1fr;
	gap: 0;
	padding: 0;
	overflow: hidden;
	background: var(--dwp-neutral-50, #fbf8f3);
}

.dwp-fp15__path--pick {
	background: var(--dwp-success-soft);
	border-color: rgb(59 110 82 / 0.35);
	box-shadow: none;
}

.dwp-fp15__media {
	position: relative;
	align-self: start;
	inline-size: 100%;
	margin: 0;
	aspect-ratio: 4 / 3;
	overflow: hidden;
	background: #1e1b18;
}

.dwp-fp15__media .dwp-fp__img {
	position: absolute;
	inset: 0;
	inline-size: 100%;
	block-size: 100%;
	max-inline-size: none;
	object-fit: cover;
	border-radius: 0;
}

.dwp-fp15__copy {
	display: grid;
	gap: 0.35rem;
	justify-items: center;
	padding: 1.15rem 1.25rem 1.4rem;
	text-align: center;
}

.dwp-fp15__path .dwp-fp__number,
.dwp-fp15__path .dwp-fp__card-title,
.dwp-fp15__path .dwp-fp__card-body {
	text-align: center;
}

.dwp-fp15__path .dwp-fp__number {
	color: var(--dwp-text-muted);
}

.dwp-fp15__path--pick .dwp-fp__number,
.dwp-fp15__path--pick .dwp-fp__card-title {
	color: var(--dwp-success);
}

.dwp-fp15__path .dwp-fp__card-title {
	margin: 0;
}

.dwp-fp15__guarantee {
	grid-template-columns: 1fr;
	justify-items: center;
	align-items: center;
	gap: 0.35rem;
	margin-block-start: var(--dwp-space-4, 1rem);
	padding: clamp(1.5rem, 3vw, 2.5rem) clamp(1.35rem, 3vw, 2.75rem);
	border: 1px solid rgb(191 65 11 / 0.22);
	background:
		linear-gradient(to bottom, rgb(191 65 11 / 0.07), transparent 42%),
		var(--dwp-bg-card);
	box-shadow: none;
	text-align: center;
}

.dwp-fp15__seal {
	margin: 0;
	inline-size: 9rem;
}

.dwp-fp15__badge {
	inline-size: 100%;
	block-size: auto;
	max-inline-size: none;
	margin: 0;
	object-fit: contain;
	border-radius: 0;
	background: none;
}

.dwp-fp15__guarantee-copy {
	display: grid;
	gap: 0.4rem;
	justify-items: center;
	max-inline-size: 40rem;
	text-align: center;
}

.dwp-fp15__question {
	margin: 0;
	color: var(--dwp-text-muted);
	font-size: var(--dwp-fs-small);
	text-align: center;
}

.dwp-fp15__guarantee .dwp-fp__card-title {
	margin: 0;
	font-size: clamp(1.35rem, 1.2rem + 0.4vw, 1.65rem);
	line-height: 1.4;
	text-align: center;
}

.dwp-fp15__guarantee .dwp-fp__card-body {
	max-inline-size: 52ch;
	color: var(--dwp-text-primary);
	text-align: center;
}

.dwp-fp15__guarantee .dwp-fp__cta {
	margin-block-start: 0.85rem;
	justify-items: center;
}

@media (min-width: 768px) {
	.dwp-fp15__paths {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		align-items: stretch;
	}
}

.dwp-fp16__faq {
	inline-size: min(100%, 46rem);
	max-inline-size: 46rem;
	margin-inline: auto;
}

.dwp-fp16__faq .dwp-accordion {
	inline-size: 100%;
}

.dwp-fp16__extras {
	list-style: none;
	display: grid;
	gap: 1.5rem 1.25rem;
	max-inline-size: 46rem;
	margin: 0.25rem auto 0;
	padding: 0;
}

.dwp-fp16__extra {
	display: grid;
	justify-items: center;
	gap: 0.3rem;
	margin: 0;
	padding: 0;
	background: none;
	border: 0;
	box-shadow: none;
	text-align: center;
}

.dwp-fp16__extra .dwp-icon {
	margin-block-end: 0.15rem;
}

.dwp-fp16__extra .dwp-fp__card-title,
.dwp-fp16__extra .dwp-fp__card-body {
	text-align: center;
}

.dwp-fp16__extra .dwp-fp__card-title {
	font-size: var(--dwp-fs-body);
}

.dwp-fp16__extra .dwp-fp__card-body {
	color: var(--dwp-text-muted);
	font-size: var(--dwp-fs-small);
}

.dwp-fp16 .dwp-fp__cta {
	justify-items: center;
}

@media (min-width: 768px) {
	.dwp-fp16__extras {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}
}

.dwp-fp19__kit {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 1.25rem;
	list-style: none;
	margin: 0;
	padding: 0;
	align-items: stretch;
}

.dwp-fp19__item {
	display: grid;
	grid-template-columns: 42% minmax(0, 1fr);
	align-items: stretch;
	margin: 0;
	padding: 0;
	overflow: hidden;
	min-block-size: 8.75rem;
	background: var(--dwp-bg-card);
	border: 1px solid var(--dwp-border-default);
	border-radius: var(--dwp-radius-lg, 1rem);
	box-shadow: none;
}

.dwp-fp19__media {
	position: relative;
	margin: 0;
	min-block-size: 8.75rem;
	background: #f6f1ea;
}

.dwp-fp19__photo {
	position: absolute;
	inset: 0;
	inline-size: 100%;
	block-size: 100%;
	object-fit: cover;
	border-radius: 0;
}

.dwp-fp19__copy {
	display: grid;
	align-content: center;
	gap: 0.25rem;
	padding: 0.85rem 1rem;
	text-align: start;
}

.dwp-fp19__item .dwp-fp__card-title {
	font-size: var(--dwp-fs-body);
	line-height: 1.4;
}

.dwp-fp19__item .dwp-fp__card-body {
	text-align: start;
	color: var(--dwp-text-muted);
	font-size: var(--dwp-fs-small);
}

.dwp-fp19__note {
	margin: 0;
	text-align: start;
	color: var(--dwp-text-muted);
	font-size: var(--dwp-fs-small);
}

.dwp-fp19__close {
	display: grid;
	grid-template-columns: minmax(16rem, 0.72fr) minmax(0, 1.28fr);
	align-items: stretch;
	overflow: hidden;
	background: var(--dwp-bg-card);
	border: 1px solid var(--dwp-border-default);
	border-radius: var(--dwp-radius-lg, 1rem);
}

.dwp-fp19__close-media {
	position: relative;
	margin: 0;
	min-block-size: 22rem;
	background: #f6f1ea;
}

.dwp-fp19__close-photo {
	position: absolute;
	inset: 0;
	inline-size: 100%;
	block-size: 100%;
	object-fit: cover;
	object-position: center;
}

.dwp-fp19__close-copy {
	display: grid;
	align-content: center;
	justify-items: start;
	gap: 0.85rem;
	padding: clamp(1.5rem, 3vw, 2.75rem);
	text-align: start;
}

.dwp-fp19__close .dwp-fp19__note {
	color: var(--dwp-color-primary-text);
	font-weight: var(--dwp-fw-bold);
}

.dwp-fp19__close .dwp-fp__closing {
	margin: 0;
	max-inline-size: 18em;
	text-align: start;
	font-size: clamp(1.35rem, 1.05rem + 0.9vw, 1.85rem);
	line-height: 1.45;
}

.dwp-fp19__with {
	margin: 0;
	padding: 0;
	background: none;
	color: var(--dwp-text-muted);
	border-radius: 0;
	font-size: var(--dwp-fs-small);
	font-weight: var(--dwp-fw-semibold);
	line-height: 1.6;
}

.dwp-fp19__close .dwp-fp__cta {
	justify-items: start;
	margin: 0;
	margin-block-start: clamp(0.75rem, 2vw, 1.25rem);
}

@media (max-width: 767px) {
	.dwp-fp19__kit {
		grid-template-columns: 1fr;
		gap: 0.85rem;
	}

	.dwp-fp19__close {
		grid-template-columns: 1fr;
	}

	.dwp-fp19__close-media {
		min-block-size: 16rem;
	}

	.dwp-fp19__close-copy {
		justify-items: center;
		text-align: center;
	}

	.dwp-fp19__close .dwp-fp19__note,
	.dwp-fp19__close .dwp-fp__closing,
	.dwp-fp19__close .dwp-fp19__with {
		justify-self: center;
		text-align: center;
	}

	.dwp-fp19__close .dwp-fp__cta {
		justify-items: center;
		justify-self: center;
	}
}

.dwp-fp20__choice {
	margin: 0 auto;
	max-inline-size: 36rem;
	text-align: center;
	font-size: var(--dwp-fs-lead);
	font-weight: var(--dwp-fw-bold);
	line-height: 1.6;
	color: var(--dwp-text-heading);
}

.dwp-fp20__paths {
	list-style: none;
	display: grid;
	gap: 0.85rem;
	margin: 0 auto;
	padding: 0;
	max-inline-size: 46rem;
}

.dwp-fp20__path {
	display: grid;
	align-content: center;
	margin: 0;
	padding: 1.15rem 1.25rem;
	background: #fdeeee;
	border: 1px solid rgb(198 40 40 / 0.32);
	border-radius: var(--dwp-radius-lg);
	text-align: center;
}

.dwp-fp20__path--pick {
	background: var(--dwp-success-soft);
	border-color: rgb(59 110 82 / 0.35);
}

.dwp-fp20__path-icon {
	display: flex;
	justify-content: center;
	margin-block-end: 0.65rem;
}

.dwp-fp20__path-icon .dwp-icon {
	inline-size: 28px;
	block-size: 28px;
	color: #c62828;
}

.dwp-fp20__path-title {
	margin: 0;
	font-size: 1.15rem;
	font-weight: var(--dwp-fw-bold);
	line-height: 1.45;
	color: #9b2c2c;
	text-align: center;
}

.dwp-fp20__path--pick .dwp-fp20__path-title,
.dwp-fp20__path--pick .dwp-fp20__path-icon .dwp-icon {
	color: var(--dwp-success);
}

.dwp-fp20__path-body {
	margin: 0.4rem 0 0;
	font-size: var(--dwp-fs-small);
	line-height: 1.7;
	color: var(--dwp-text-muted);
	text-align: center;
}

.dwp-fp20__offer {
	display: grid;
	justify-items: center;
	gap: 0.7rem;
	max-inline-size: 36rem;
	margin-inline: auto;
	padding: clamp(1.5rem, 3vw, 2.5rem);
	background: var(--dwp-bg-card);
	border: 1px solid var(--dwp-border-default);
	border-radius: var(--dwp-radius-lg);
	text-align: center;
}

.dwp-fp20__subhead {
	margin: 0;
	font-size: 1.2rem;
	font-weight: var(--dwp-fw-bold);
	line-height: 1.45;
	color: var(--dwp-text-heading);
	text-align: center;
}

.dwp-fp20__body,
.dwp-fp20__fine,
.dwp-fp20__signoff {
	margin: 0;
	max-inline-size: 28rem;
	text-align: center;
	line-height: 1.7;
	color: var(--dwp-text-muted);
}

.dwp-fp20__was {
	margin: 0.35rem 0 0;
	color: var(--dwp-text-strike);
	text-align: center;
}

.dwp-fp20__price {
	margin: 0;
	font-size: clamp(2rem, 1.4rem + 1.6vw, 2.75rem);
	font-weight: var(--dwp-fw-bold);
	line-height: 1.15;
	color: var(--dwp-color-primary-text);
	text-align: center;
	font-variant-numeric: tabular-nums;
}

.dwp-fp20__fine {
	font-size: var(--dwp-fs-caption);
}

.dwp-fp20__decision {
	margin: 0.6rem 0 0;
	max-inline-size: 16em;
	font-size: clamp(1.35rem, 1.05rem + 0.9vw, 1.85rem);
	font-weight: var(--dwp-fw-bold);
	line-height: 1.45;
	color: var(--dwp-text-heading);
	text-align: center;
}

.dwp-fp20__offer .dwp-fp__cta {
	inline-size: 100%;
	justify-items: stretch;
	margin-block-start: clamp(0.75rem, 2vw, 1.25rem);
}

.dwp-fp20__offer .dwp-btn {
	inline-size: 100%;
	justify-content: center;
}

.dwp-fp20__signoff {
	margin-block-start: 0.35rem;
	font-size: var(--dwp-fs-small);
	white-space: pre-line;
}

@media (min-width: 1024px) {
	.dwp-fp20__grid {
		display: grid;
		grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.1fr);
		gap: 1.25rem;
		align-items: stretch;
	}

	.dwp-fp20__paths {
		max-inline-size: none;
		margin: 0;
		gap: 1.25rem;
		grid-template-columns: 1fr;
		grid-template-rows: 1fr 1fr;
		block-size: 100%;
	}

	.dwp-fp20__offer {
		max-inline-size: none;
		margin: 0;
		block-size: 100%;
		align-content: center;
	}
}

@media (max-width: 1023px) {
	.dwp-fp20__grid {
		display: grid;
		gap: 0.85rem;
	}

	.dwp-fp20__path {
		padding-block: 1rem 0.7rem;
	}

	.dwp-fp20__offer {
		padding-block-start: 0.85rem;
	}
}

/* CCC: header CTA uses brand orange with dark text */
.dwp-site-header .dwp-site-header__cta .dwp-btn, .dwp-site-header .dwp-site-header__cta .dwp-btn--primary { color: #030201 !important; }

/* CCC: logo keeps its proportions */
.dwp-logo { object-fit: contain; }
