@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&family=JetBrains+Mono:wght@400;500;600&display=swap');

/* ---- /styles/colors_and_type.css ---- */
/* =============================================================
   Rate My Ratings — colors_and_type.css
   Foundations: type scale, color tokens, semantic mappings.
   Voice: editorial, evidence-based. Closer to The Economist than SaaS.
   ============================================================= */

/* ---------- Webfonts (Google Fonts) ----------------------------
   Inter for body/UI, JetBrains Mono for numerics, IDs, code.
   Loaded via @import for self-contained use; production should
   self-host or use <link rel="preconnect"> for performance.
--------------------------------------------------------------- */


:root {
  /* ---------- Brand palette (sampled from logo) ---------------- */
  --rmr-blue:        #1870E8;  /* primary brand — links, CTAs */
  --rmr-blue-700:    #1457B8;  /* hover / pressed */
  --rmr-blue-50:     #EAF2FD;  /* subtle backgrounds */
  --rmr-green:       #30A850;  /* positive deltas, "above market" */
  --rmr-green-700:   #228040;
  --rmr-green-50:    #EAF6EE;
  --rmr-amber:       #F8B800;  /* highlights, the dot on the map */
  --rmr-amber-700:   #C49000;
  --rmr-amber-50:    #FEF6E0;

  /* ---------- Editorial neutrals ------------------------------- */
  /* Warm-leaning paper neutrals; never pure #000 or #FFF for body. */
  --paper:           #FBFAF7;  /* page bg — slightly warm off-white */
  --paper-2:         #F4F2EC;  /* alternate band / table stripe */
  --rule:            #E6E2D8;  /* hairline rules between sections */
  --rule-strong:     #C9C3B3;
  --ink:             #14161A;  /* body text — near-black, not #000 */
  --ink-2:           #2B2E34;  /* sub-headings */
  --ink-muted:       #5C6068;  /* secondary copy, captions */
  --ink-faint:       #8A8E96;  /* metadata, footers */

  /* ---------- Foreground / background semantics ---------------- */
  --fg-1: var(--ink);          /* primary text */
  --fg-2: var(--ink-2);
  --fg-muted: var(--ink-muted);
  --fg-faint: var(--ink-faint);
  --fg-on-dark: #F4F2EC;
  --fg-link: var(--rmr-blue);

  --bg-1: var(--paper);        /* page */
  --bg-2: var(--paper-2);      /* card / band */
  --bg-3: #FFFFFF;             /* elevated surface (rare) */
  --bg-inverse: #14161A;       /* dark sections */

  --border: var(--rule);
  --border-strong: var(--rule-strong);

  /* ---------- Semantic — data viz ----------------------------- */
  /* "You" vs "competitors" pattern used throughout reports.       */
  --data-you:        var(--rmr-blue);
  --data-market:     #8A8E96;  /* anonymised competitors */
  --data-positive:   var(--rmr-green);
  --data-negative:   #C8412B;  /* deliberate brick-red, not red-red */
  --data-highlight:  var(--rmr-amber);
  --data-grid:       var(--rule);

  /* ---------- Type families ----------------------------------- */
  --font-sans:    'Inter', ui-sans-serif, system-ui, -apple-system, 'Segoe UI', Roboto, sans-serif;
  --font-mono:    'JetBrains Mono', ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
  /* Display = Inter at heavy weight + tight tracking. The brand
     does not use a serif. If a serif is ever wanted for editorial
     contrast, substitute 'Source Serif 4' as the closest match. */
  --font-display: var(--font-sans);

  /* ---------- Type scale (modular, generous) ------------------- */
  /* Step ratio ~1.20. Body 17/27 for comfortable reading.         */
  --fs-display:   56px;  --lh-display:   1.05;  --tr-display:   -0.022em;
  --fs-h1:        40px;  --lh-h1:        1.10;  --tr-h1:        -0.018em;
  --fs-h2:        28px;  --lh-h2:        1.20;  --tr-h2:        -0.012em;
  --fs-h3:        20px;  --lh-h3:        1.30;  --tr-h3:        -0.006em;
  --fs-eyebrow:   12px;  --lh-eyebrow:   1.20;  --tr-eyebrow:    0.12em;
  --fs-body:      17px;  --lh-body:      1.60;  --tr-body:       0;
  --fs-body-sm:   15px;  --lh-body-sm:   1.55;  --tr-body-sm:    0;
  --fs-caption:   13px;  --lh-caption:   1.45;  --tr-caption:    0.01em;
  --fs-mono:      14px;  --lh-mono:      1.50;  --tr-mono:       0;

  /* Reading width — comfortable measure. */
  --measure: 65ch;

  /* ---------- Spacing (4px base, generous) -------------------- */
  --s-1:  4px;
  --s-2:  8px;
  --s-3:  12px;
  --s-4:  16px;
  --s-5:  24px;
  --s-6:  32px;
  --s-7:  48px;
  --s-8:  64px;
  --s-9:  96px;
  --s-10: 128px;

  /* ---------- Radii — restrained ------------------------------ */
  --radius-0: 0;
  --radius-1: 2px;     /* default — buttons, inputs */
  --radius-2: 4px;
  --radius-3: 8px;     /* cards (rare) */
  --radius-pill: 999px;

  /* ---------- Borders / hairlines ----------------------------- */
  --hairline: 1px solid var(--border);
  --hairline-strong: 1px solid var(--border-strong);

  /* ---------- Elevation (very restrained, no coloured shadows) - */
  /* The brand avoids drop shadows on accent-coloured elements.   */
  --shadow-0: none;
  --shadow-1: 0 1px 0 rgba(20,22,26,0.04);                /* card */
  --shadow-2: 0 1px 2px rgba(20,22,26,0.06),
              0 1px 0 rgba(20,22,26,0.04);                /* menu */

  /* ---------- Motion ------------------------------------------ */
  --ease-out: cubic-bezier(0.2, 0.6, 0.2, 1);
  --ease-in-out: cubic-bezier(0.4, 0.0, 0.2, 1);
  --dur-fast: 120ms;
  --dur-base: 200ms;
  --dur-slow: 320ms;

  /* ---------- Layout ------------------------------------------ */
  --container: 1200px;
  --container-narrow: 760px;  /* article / report measure */
}

/* =============================================================
   Semantic element styles — apply globally when this file is
   linked. Components can opt out by overriding.
   ============================================================= */

html, body {
  background: var(--bg-1);
  color: var(--fg-1);
  font-family: var(--font-sans);
  font-size: var(--fs-body);
  line-height: var(--lh-body);
  font-feature-settings: 'ss01', 'cv11';
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}

h1, .h1 {
  font-family: var(--font-display);
  font-size: var(--fs-h1);
  line-height: var(--lh-h1);
  letter-spacing: var(--tr-h1);
  font-weight: 600;
  color: var(--fg-1);
  margin: 0;
}

h2, .h2 {
  font-family: var(--font-display);
  font-size: var(--fs-h2);
  line-height: var(--lh-h2);
  letter-spacing: var(--tr-h2);
  font-weight: 600;
  color: var(--fg-1);
  margin: 0;
}

h3, .h3 {
  font-size: var(--fs-h3);
  line-height: var(--lh-h3);
  letter-spacing: var(--tr-h3);
  font-weight: 600;
  color: var(--fg-1);
  margin: 0;
}

.display {
  font-family: var(--font-display);
  font-size: var(--fs-display);
  line-height: var(--lh-display);
  letter-spacing: var(--tr-display);
  font-weight: 600;
}

.eyebrow {
  font-family: var(--font-mono);
  font-size: var(--fs-eyebrow);
  line-height: var(--lh-eyebrow);
  letter-spacing: var(--tr-eyebrow);
  font-weight: 500;
  text-transform: uppercase;
  color: var(--fg-muted);
}

p {
  font-size: var(--fs-body);
  line-height: var(--lh-body);
  color: var(--fg-1);
  max-width: var(--measure);
  text-wrap: pretty;
  margin: 0;
}

small, .caption {
  font-size: var(--fs-caption);
  line-height: var(--lh-caption);
  letter-spacing: var(--tr-caption);
  color: var(--fg-muted);
}

code, kbd, samp, .mono {
  font-family: var(--font-mono);
  font-size: var(--fs-mono);
  line-height: var(--lh-mono);
  font-feature-settings: 'zero', 'ss01';
}

/* Numeric callouts — JetBrains Mono with tabular figures */
.numeric {
  font-family: var(--font-mono);
  font-variant-numeric: tabular-nums;
  font-feature-settings: 'tnum', 'zero';
}

a {
  color: var(--fg-link);
  text-decoration: underline;
  text-underline-offset: 0.18em;
  text-decoration-thickness: 1px;
  transition: color var(--dur-fast) var(--ease-out);
}
a:hover { color: var(--rmr-blue-700); }

hr {
  border: 0;
  border-top: var(--hairline);
  margin: var(--s-7) 0;
}

::selection {
  background: var(--rmr-amber);
  color: var(--ink);
}

/* ---- /styles/site.css ---- */
/* =========================================================
   Rate My Ratings — site.css
   Editorial layout system. Sparse hairlines, generous space.
   ========================================================= */

* { box-sizing: border-box; }
html { scroll-padding-top: 80px; }
body { margin: 0; }

.site { min-height: 100vh; background: var(--bg-1); color: var(--fg-1); font-family: var(--font-sans); }
/* Off-screen until a keyboard user tabs onto it; the first focusable element on every page. */
.skip-link { position: absolute; left: 16px; top: -100px; z-index: 40; background: var(--ink); color: var(--fg-on-dark); font-size: 14px; font-weight: 500; padding: 10px 16px; border-radius: var(--radius-1); text-decoration: none; }
.skip-link:focus { top: 12px; }
.container { max-width: 1200px; margin: 0 auto; padding: 0 32px; }
.container-narrow { max-width: 760px; margin: 0 auto; padding: 0 32px; }

/* ---------- Topbar (announcement + header) -------------- */
.topbar {
  background: var(--ink); color: var(--fg-on-dark);
  font-family: var(--font-mono); font-size: 11.5px; letter-spacing: 0.04em;
  padding: 10px 0;
}
.topbar__inner { max-width: 1200px; margin: 0 auto; padding: 0 32px; display: flex; justify-content: space-between; gap: 16px; flex-wrap: wrap; }
.topbar a { color: var(--fg-on-dark); text-decoration: underline; text-underline-offset: 0.2em; text-decoration-color: rgba(244,242,236,0.4); }
.topbar a:hover { text-decoration-color: var(--rmr-blue); color: white; }
.topbar__dot { display: inline-block; width: 6px; height: 6px; border-radius: 50%; background: var(--rmr-green); margin-right: 8px; vertical-align: middle; }

/* ---------- Header -------------------------------------- */
.hdr {
  position: sticky; top: 0; z-index: 30;
  background: rgba(251,250,247,0.94);
  backdrop-filter: saturate(140%) blur(8px);
  -webkit-backdrop-filter: saturate(140%) blur(8px);
  border-bottom: 1px solid transparent;
  transition: border-color 200ms var(--ease-out);
}
.hdr.scrolled { border-bottom-color: var(--rule); }
.hdr__inner { display: flex; align-items: center; justify-content: space-between; gap: 24px; padding: 16px 32px; max-width: 1200px; margin: 0 auto; }
.brand { display: flex; align-items: center; gap: 10px; text-decoration: none; color: var(--fg-1); }
.brand img { height: 26px; width: auto; }
.brand__name { font-size: 15px; font-weight: 600; letter-spacing: -0.012em; font-family: var(--font-sans, inherit); }
.nav { display: flex; gap: 28px; align-items: center; }
.nav a { color: var(--fg-2); text-decoration: none; font-size: 14px; font-weight: 500; transition: color 120ms var(--ease-out); }
.nav a:hover, .nav a.active { color: var(--rmr-blue); }
.hdr__cta { display: flex; align-items: center; gap: 10px; }
/* The catalogue's own button, marked as the current section. */
.hdr__cta .btn[aria-current] { border-color: var(--ink); color: var(--fg-1); background: var(--bg-2); }
.hdr__menu-btn { display: none; background: transparent; border: 0; width: 40px; height: 40px; padding: 8px; margin: -8px; cursor: pointer; flex-direction: column; justify-content: center; align-items: center; gap: 5px; border-radius: 2px; }
.hdr__menu-btn:focus-visible { outline: 2px solid var(--rmr-blue); outline-offset: 2px; }
.hdr__menu-line { display: block; width: 22px; height: 1.5px; background: var(--fg-1); border-radius: 1px; transition: transform 200ms var(--ease-out), opacity 200ms var(--ease-out); }
.hdr.menu-open .hdr__menu-line:nth-child(1) { transform: translateY(6.5px) rotate(45deg); }
.hdr.menu-open .hdr__menu-line:nth-child(2) { opacity: 0; }
.hdr.menu-open .hdr__menu-line:nth-child(3) { transform: translateY(-6.5px) rotate(-45deg); }

/* ---------- Buttons ------------------------------------- */
.btn { font-family: var(--font-sans); font-size: 14.5px; font-weight: 500; padding: 11px 18px; border-radius: 2px; border: 1px solid transparent; cursor: pointer; line-height: 1; display: inline-flex; align-items: center; gap: 8px; transition: background 120ms var(--ease-out), border-color 120ms var(--ease-out), color 120ms var(--ease-out); text-decoration: none; }
.btn--primary { background: var(--rmr-blue); color: white; }
.btn--primary:hover { background: var(--rmr-blue-700); color: white; }
.btn--primary:disabled { background: var(--ink-faint); cursor: not-allowed; }
.btn--secondary { background: transparent; color: var(--fg-1); border-color: var(--rule-strong); }
.btn--secondary:hover { background: var(--bg-2); border-color: var(--ink); color: var(--fg-1); }
.btn--ghost { background: transparent; color: var(--fg-1); border-radius: 0; padding: 4px 0; border-bottom: 1px solid var(--ink); }
.btn--ghost:hover { color: var(--rmr-blue); border-color: var(--rmr-blue); }
.btn--sm { padding: 8px 14px; font-size: 13.5px; }

/* ---------- Hero ---------------------------------------- */
.hero { padding: 96px 0 88px; border-bottom: var(--hairline); }
.hero__grid { display: grid; grid-template-columns: 1.05fr 1fr; gap: 80px; align-items: center; }
.hero__eyebrow { font-family: var(--font-mono); font-size: 12px; letter-spacing: 0.12em; text-transform: uppercase; color: var(--fg-muted); margin: 0 0 28px; display: inline-flex; align-items: center; gap: 12px; }
.hero__eyebrow::before { content: ""; width: 28px; height: 1px; background: var(--rmr-blue); }
.hero h1 { font-size: 60px; line-height: 1.04; letter-spacing: -0.024em; font-weight: 600; max-width: 16ch; margin: 0; text-wrap: balance; }
.hero h1 em { font-style: normal; color: var(--rmr-blue); }
.hero__sub { font-size: 19px; line-height: 1.55; color: var(--fg-2); max-width: 50ch; margin: 28px 0 0; }
.hero__ctas { display: flex; gap: 12px; margin-top: 36px; align-items: center; flex-wrap: wrap; }
.hero__meta { font-family: var(--font-mono); font-size: 12px; color: var(--fg-faint); margin-top: 28px; letter-spacing: 0.02em; }
.hero__visual { background: white; border: var(--hairline); border-radius: 4px; padding: 22px 26px; box-shadow: var(--shadow-1); }

/* Hero composite report panel */
.hero-report { display: flex; flex-direction: column; gap: 14px; }
.hero-report__bar { display: flex; justify-content: space-between; align-items: center; padding-bottom: 10px; border-bottom: 1px solid var(--ink); }
.hero-report__brand { display: inline-flex; align-items: center; gap: 8px; font-family: var(--font-mono); font-size: 10px; letter-spacing: 0.08em; text-transform: uppercase; color: var(--fg-2); }
.hero-report__brand img { height: 16px; width: auto; }
.hero-report__id { font-family: var(--font-mono); font-size: 10px; letter-spacing: 0.08em; text-transform: uppercase; color: var(--fg-faint); }
.hero-report__tabs { display: flex; gap: 6px; flex-wrap: wrap; }
.hero-report__tab { font-family: var(--font-mono); font-size: 9.5px; letter-spacing: 0.06em; text-transform: uppercase; padding: 5px 10px; border: var(--hairline); color: var(--fg-muted); border-radius: 2px; }
.hero-report__tab.active { background: var(--ink); color: white; border-color: var(--ink); }
.hero-report__title { margin-top: 2px; }
.hero-report__name { font-size: 17px; font-weight: 600; letter-spacing: -0.012em; margin: 0; color: var(--ink); }
.hero-report__meta { display: block; font-family: var(--font-mono); font-size: 10.5px; color: var(--fg-muted); margin-top: 4px; letter-spacing: 0.02em; }
.hero-report__kpis { display: grid; grid-template-columns: repeat(3, 1fr); gap: 10px; padding: 12px 0; border-top: var(--hairline); border-bottom: var(--hairline); }
.hero-report__kpis > div { display: flex; flex-direction: column; }
.hero-report__kpis .num { font-family: var(--font-mono); font-size: 22px; font-weight: 600; font-variant-numeric: tabular-nums; letter-spacing: -0.005em; color: var(--ink); line-height: 1; }
.hero-report__kpis .lbl { font-family: var(--font-mono); font-size: 9.5px; letter-spacing: 0.08em; text-transform: uppercase; color: var(--fg-muted); margin-top: 6px; }
.hero-report__sec { display: block; font-family: var(--font-mono); font-size: 9.5px; letter-spacing: 0.08em; text-transform: uppercase; color: var(--fg-muted); margin-bottom: 8px; }
.hero-report__chart .dist { height: 110px; padding-top: 4px; }
.hero-report__absa { padding-top: 6px; border-top: var(--hairline); }
.hero-report__absa-row { display: grid; grid-template-columns: 120px 1fr; align-items: center; gap: 10px; margin-top: 6px; }
.hero-report__absa-row .name { font-size: 11.5px; color: var(--fg-1); }
.hero-report__absa-row .absa__bar { height: 8px; }
.hero-report__absa-row .absa__seg { font-size: 0; }

/* ---------- Track record tally -------------------------- */
/* Four-up figure band sitting directly under the hero, with no
   heading of its own. Takes the band treatment the proof-point
   quote used to hold in this slot, and shares the ruled-column
   construction of .steps so the two read as the same family. */
.tally-band { padding: 80px 0; background: var(--bg-2); border-bottom: var(--hairline); }
.tally { display: grid; grid-template-columns: repeat(4, 1fr); gap: 0; }
.tally__item { padding: 32px 28px 32px 0; border-right: var(--hairline); display: flex; flex-direction: column; gap: 10px; min-width: 0; }
.tally__item:not(:first-child) { padding-left: 28px; }
.tally__item:last-child { border-right: 0; padding-right: 0; }
.tally__num { font-family: var(--font-mono); font-size: 44px; font-weight: 600; font-variant-numeric: tabular-nums; letter-spacing: -0.02em; line-height: 1; color: var(--ink); }
.tally__plus { color: var(--rmr-blue); }
.tally__lbl { font-family: var(--font-mono); font-size: 10.5px; letter-spacing: 0.08em; text-transform: uppercase; color: var(--rmr-blue); }
.tally__desc { font-size: 14.5px; line-height: 1.55; color: var(--fg-2); margin: 0; }

/* ---------- Section scaffolding ------------------------- */
.section { padding: 120px 0; border-bottom: var(--hairline); }
.section--alt { background: var(--bg-2); }
.section__eyebrow { font-family: var(--font-mono); font-size: 12px; letter-spacing: 0.12em; text-transform: uppercase; color: var(--fg-muted); margin: 0 0 20px; display: inline-flex; align-items: center; gap: 10px; }
.section__eyebrow .num { color: var(--rmr-blue); }
.section h2 { font-size: 40px; line-height: 1.1; letter-spacing: -0.02em; font-weight: 600; max-width: 22ch; margin: 0 0 24px; text-wrap: balance; }
.section__lede { font-size: 19px; line-height: 1.55; color: var(--fg-2); max-width: 60ch; margin: 0 0 56px; }

/* ---------- How it works steps -------------------------- */
.steps { display: grid; grid-template-columns: repeat(5, 1fr); gap: 0; border-top: 1px solid var(--ink); }
.step { padding: 32px 28px 32px 0; border-right: var(--hairline); display: flex; flex-direction: column; gap: 12px; min-width: 0; }
.step + .step { padding-left: 28px; }
.step:last-child { border-right: 0; padding-right: 0; }
.step h3, .step p { overflow-wrap: break-word; word-break: normal; hyphens: auto; }
.step__num { font-family: var(--font-mono); font-size: 11px; letter-spacing: 0.12em; color: var(--fg-faint); text-transform: uppercase; }
.step h3 { font-size: 17px; line-height: 1.3; font-weight: 600; letter-spacing: -0.006em; margin: 0; }
.step p { font-size: 14.5px; line-height: 1.55; color: var(--fg-2); margin: 0; }
.steps__foot { font-family: var(--font-mono); font-size: 12px; color: var(--fg-muted); margin-top: 32px; padding-top: 20px; border-top: var(--hairline); display: flex; gap: 32px; flex-wrap: wrap; }
.steps__foot strong { color: var(--fg-1); font-weight: 500; }

/* ---------- Report walkthrough -------------------------- */
.walk { display: flex; flex-direction: column; gap: 80px; margin-top: 24px; }
.walk__row { display: grid; grid-template-columns: 1fr 1.15fr; gap: 64px; align-items: center; }
.walk__row--flip { grid-template-columns: 1.15fr 1fr; }
.walk__row--flip .walk__copy { order: 2; }
.walk__cap { font-family: var(--font-mono); font-size: 11px; letter-spacing: 0.1em; text-transform: uppercase; color: var(--fg-muted); margin: 0 0 12px; display: flex; gap: 10px; align-items: center; }
.walk__cap .num { color: var(--rmr-blue); }
.walk__copy h3 { font-size: 26px; line-height: 1.2; letter-spacing: -0.014em; font-weight: 600; margin: 0 0 14px; max-width: 16ch; }
.walk__copy p { font-size: 16px; line-height: 1.6; color: var(--fg-2); margin: 0; max-width: 46ch; }
.walk__copy .askswer { font-style: italic; color: var(--fg-1); font-weight: 500; }
.walk__visual { background: white; border: var(--hairline); border-radius: 4px; padding: 32px; box-shadow: var(--shadow-1); }

/* ---------- Tables (report-style) ----------------------- */
.rep-table { width: 100%; border-collapse: collapse; font-size: 13px; }
.rep-table thead th { font-family: var(--font-mono); font-size: 10px; letter-spacing: 0.08em; text-transform: uppercase; color: var(--fg-muted); font-weight: 500; text-align: left; padding: 8px 0; border-top: 1px solid var(--ink); border-bottom: var(--hairline); }
.rep-table thead th.num { text-align: right; }
.rep-table tbody td { padding: 9px 0; border-bottom: var(--hairline); font-variant-numeric: tabular-nums; }
.rep-table tbody td.num { text-align: right; font-family: var(--font-mono); }
.rep-table tbody tr.you td { background: var(--rmr-blue-50); }
.rep-table tbody tr.you td:first-child { font-weight: 600; color: var(--rmr-blue-700); padding-left: 8px; }
.rep-table tbody tr.you td:last-child { padding-right: 8px; }
.rep-page__hdr { display: flex; justify-content: space-between; font-family: var(--font-mono); font-size: 10px; letter-spacing: 0.08em; text-transform: uppercase; color: var(--fg-faint); padding-bottom: 12px; border-bottom: 1px solid var(--ink); margin-bottom: 20px; }
.rep-page__cap { font-family: var(--font-mono); font-size: 10px; color: var(--fg-faint); margin-top: 14px; }
.rep-page__title { font-size: 18px; margin: 0 0 8px; letter-spacing: -0.012em; font-weight: 600; }
.rep-page__sub { font-size: 13.5px; line-height: 1.55; color: var(--fg-2); margin: 0 0 16px; max-width: 56ch; }

/* ---------- Distribution / chart parts ------------------ */
.dist { display: grid; grid-template-columns: 28px 1fr; gap: 8px; height: 200px; padding: 12px 0 0; }
.dist__yaxis { display: flex; flex-direction: column; justify-content: space-between; font-family: var(--font-mono); font-size: 10px; color: var(--fg-faint); text-align: right; padding: 6px 0 22px; }
.dist__plot { position: relative; border-bottom: 1px solid var(--ink); border-left: 1px solid var(--ink); padding-bottom: 22px; }
.dist__grid { position: absolute; left: 0; right: 0; height: 1px; background: var(--ink-faintest, rgba(0,0,0,0.06)); border-top: 1px dashed rgba(0,0,0,0.07); }
.dist__median { position: absolute; top: 0; bottom: 22px; width: 1px; background: var(--rmr-red, #b8443a); pointer-events: none; }
.dist__median-lbl { position: absolute; top: -4px; left: 4px; font-family: var(--font-mono); font-size: 9.5px; letter-spacing: 0.06em; text-transform: uppercase; color: var(--rmr-red, #b8443a); white-space: nowrap; background: var(--paper, #f6f4ef); padding: 0 4px; }
.dist__bars { position: absolute; inset: 0 0 22px 0; display: flex; align-items: flex-end; gap: 4px; padding: 0 4px; }
.dist__bar { flex: 1; display: flex; flex-direction: column; align-items: center; gap: 6px; height: 100%; justify-content: flex-end; position: relative; }
.dist__bar-stack { width: 100%; height: 100%; display: flex; align-items: flex-end; }
.dist__col { width: 100%; background: var(--ink-faint); position: relative; }
.dist__col.you { background: var(--rmr-blue); }
.dist__col-lbl { position: absolute; top: -16px; left: 50%; transform: translateX(-50%); font-family: var(--font-mono); font-size: 9px; letter-spacing: 0.08em; color: var(--rmr-blue); font-weight: 600; }
.dist__lbl { position: absolute; bottom: -22px; font-family: var(--font-mono); font-size: 10px; color: var(--fg-muted); }
.dist__axis-title { font-family: var(--font-mono); font-size: 10.5px; color: var(--fg-faint); text-align: center; margin-top: 8px; letter-spacing: 0.04em; }
.dist__legend { display: flex; gap: 20px; font-family: var(--font-mono); font-size: 10.5px; letter-spacing: 0.06em; text-transform: uppercase; color: var(--fg-muted); margin-top: 16px; padding-top: 14px; border-top: var(--hairline); }
.dist__legend span::before { content: ""; display: inline-block; width: 10px; height: 10px; margin-right: 6px; vertical-align: -1px; }
.dist__legend .you::before { background: var(--rmr-blue); }
.dist__legend .mkt::before { background: var(--ink-faint); }

/* Theme bars */
.theme-list { display: flex; flex-direction: column; gap: 16px; }
.theme { display: grid; grid-template-columns: 1fr; gap: 6px; }
.theme__head { display: flex; justify-content: space-between; font-size: 13px; }
.theme__head .name { font-weight: 500; }
.theme__head .count { font-family: var(--font-mono); font-size: 11px; color: var(--fg-muted); }
.theme__bar { display: grid; grid-template-columns: 32px 1fr 36px; gap: 10px; align-items: center; }
.theme__bar .lbl { font-family: var(--font-mono); font-size: 9.5px; color: var(--fg-muted); }
.theme__bar .lbl.you { color: var(--rmr-blue-700); }
.theme__bar .track { height: 8px; background: var(--bg-2); position: relative; }
.theme__bar .fill { position: absolute; left: 0; top: 0; height: 100%; background: var(--ink-faint); }
.theme__bar .fill.you { background: var(--rmr-blue); }
.theme__bar .pct { font-family: var(--font-mono); font-size: 10.5px; text-align: right; }

/* Quadrant / scatter */
.quad { position: relative; height: 280px; background: white; border: var(--hairline); margin-left: 14px; }
.quad__grid { position: absolute; inset: 24px; border-left: 1px solid var(--rule); border-bottom: 1px solid var(--rule); }
.quad__hline { position: absolute; left: 0; right: 0; top: 50%; border-top: 1px dashed var(--rule); }
.quad__vline { position: absolute; top: 0; bottom: 0; left: 50%; border-left: 1px dashed var(--rule); }
.quad__dot { position: absolute; width: 8px; height: 8px; border-radius: 50%; background: var(--ink-faint); transform: translate(-50%, 50%); }
.quad__dot.you { width: 12px; height: 12px; background: var(--rmr-blue); box-shadow: 0 0 0 3px rgba(24,112,232,0.18); }
.quad__dot.lead { background: var(--rmr-amber); }
.quad__lbl { position: absolute; font-family: var(--font-mono); font-size: 10px; letter-spacing: 0.08em; text-transform: uppercase; color: var(--fg-muted); }
.quad__lbl.x { bottom: 4px; right: 8px; }
.quad__lbl.y { left: 16px; top: 50%; transform: translate(-50%, -50%) rotate(-90deg); transform-origin: center; white-space: nowrap; color: var(--fg-muted); }
.quad__cap { font-family: var(--font-mono); font-size: 10px; color: var(--fg-faint); margin-top: 10px; }

/* Phrase pills */
.phrases { display: grid; grid-template-columns: 1fr 1fr; gap: 24px; }
.phrases__col h4 { font-family: var(--font-mono); font-size: 10.5px; letter-spacing: 0.1em; text-transform: uppercase; margin: 0 0 14px; color: var(--fg-muted); display: flex; align-items: center; gap: 8px; }
.phrases__col .stars { font-family: var(--font-mono); color: var(--ink); }
.phrases__col.pos h4 .stars { color: var(--rmr-green-700); }
.phrases__col.neg h4 .stars { color: var(--data-negative); }
.phrase { display: flex; justify-content: space-between; padding: 8px 0; border-bottom: var(--hairline); font-size: 13.5px; }
.phrase:last-child { border-bottom: 0; }
.phrase .word { color: var(--fg-1); }
.phrase .cnt { font-family: var(--font-mono); font-size: 11px; color: var(--fg-muted); }

/* Recommendations list */
.recs { display: flex; flex-direction: column; gap: 0; border-top: 1px solid var(--ink); }
.rec { padding: 18px 0; border-bottom: var(--hairline); display: grid; grid-template-columns: 36px 1fr; gap: 16px; align-items: baseline; }
.rec__num { font-family: var(--font-mono); font-size: 11px; color: var(--rmr-blue); letter-spacing: 0.06em; }
.rec h4 { font-size: 15px; font-weight: 600; margin: 0 0 4px; letter-spacing: -0.006em; }
.rec p { font-size: 13.5px; line-height: 1.55; color: var(--fg-2); margin: 0; max-width: 60ch; }

/* Persona preview */
.persona-preview { display: grid; grid-template-columns: 1fr 1fr; gap: 18px 24px; border-top: 1px solid var(--ink); padding-top: 18px; }
.persona-preview > div:last-child { grid-column: 1 / -1; padding-top: 14px; border-top: var(--hairline); }
.persona-preview .lbl { font-family: var(--font-mono); font-size: 10px; letter-spacing: 0.08em; text-transform: uppercase; color: var(--fg-muted); display: block; margin-bottom: 6px; }
.persona-preview p { font-size: 13.5px; line-height: 1.55; color: var(--fg-1); margin: 0; max-width: 60ch; }
.persona-preview p.num { font-family: var(--font-mono); font-size: 15px; color: var(--rmr-blue-700); letter-spacing: 0.02em; }
.persona-preview p.note { font-size: 12px; color: var(--fg-muted); margin-top: 6px; line-height: 1.5; }

/* ABSA stacked-bar list */
.absa { display: flex; flex-direction: column; gap: 14px; }
.absa__row { display: flex; flex-direction: column; gap: 6px; }
.absa__head { display: flex; justify-content: space-between; align-items: baseline; font-size: 13px; }
.absa__head .name { font-weight: 500; color: var(--fg-1); }
.absa__head .count { font-family: var(--font-mono); font-size: 11px; color: var(--fg-muted); }
.absa__bar { display: flex; height: 14px; background: var(--bg-2); overflow: hidden; }
.absa__seg { height: 100%; display: flex; align-items: center; justify-content: center; font-family: var(--font-mono); font-size: 9.5px; letter-spacing: 0.02em; color: rgba(255,255,255,0.95); }
.absa__seg.pos { background: var(--rmr-green-700); }
.absa__seg.neu { background: var(--ink-faint); color: var(--fg-2); }
.absa__seg.neg { background: var(--data-negative); }
.absa__legend { display: flex; gap: 18px; margin-top: 16px; padding-top: 14px; border-top: var(--hairline); font-family: var(--font-mono); font-size: 10.5px; letter-spacing: 0.06em; text-transform: uppercase; color: var(--fg-muted); }
.absa__legend span::before { content: ""; display: inline-block; width: 10px; height: 10px; margin-right: 6px; vertical-align: -1px; }
.absa__legend .pos::before { background: var(--rmr-green-700); }
.absa__legend .neu::before { background: var(--ink-faint); }
.absa__legend .neg::before { background: var(--data-negative); }

/* SWOT 4-box grid */
.swot { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.swot__cell { padding: 14px 16px; border: var(--hairline); border-left-width: 3px; background: var(--bg-2); }
.swot__cell--strengths { border-left-color: var(--rmr-green-700); }
.swot__cell--weaknesses { border-left-color: var(--data-negative); }
.swot__cell--opportunities { border-left-color: var(--rmr-blue); }
.swot__cell--threats { border-left-color: var(--rmr-amber, #c98a32); }
.swot__k { font-family: var(--font-mono); font-size: 10px; letter-spacing: 0.08em; text-transform: uppercase; color: var(--fg-muted); display: block; margin-bottom: 10px; }
.swot__cell ul { margin: 0; padding-left: 16px; list-style: disc; }
.swot__cell li { font-size: 12px; line-height: 1.45; color: var(--fg-1); margin: 0 0 4px; }
.swot__cell li:last-child { margin-bottom: 0; }

/* ---------- Form ---------------------------------------- */
.req { padding: 120px 0; background: var(--ink); color: var(--fg-on-dark); border-bottom: 1px solid var(--ink); }
.req__grid { display: grid; grid-template-columns: 1fr 1fr; gap: 80px; align-items: start; }
.req__copy h2 { font-size: 40px; line-height: 1.1; letter-spacing: -0.02em; font-weight: 600; max-width: 16ch; margin: 0 0 20px; color: var(--fg-on-dark); }
.req__copy p { font-size: 17px; line-height: 1.6; color: rgba(244,242,236,0.75); max-width: 46ch; margin: 0 0 32px; }
.req__copy .eyebrow { color: rgba(244,242,236,0.55); }
.req__assure { display: flex; flex-direction: column; gap: 14px; padding-top: 28px; border-top: 1px solid rgba(244,242,236,0.12); }
.req__assure .row { display: grid; grid-template-columns: 16px 1fr; gap: 12px; align-items: baseline; font-size: 14px; color: rgba(244,242,236,0.85); }
.req__assure .row svg { width: 14px; height: 14px; stroke: var(--rmr-green); fill: none; stroke-width: 1.5; stroke-linecap: round; stroke-linejoin: round; margin-top: 4px; }

.form-card { background: var(--paper); color: var(--fg-1); padding: 40px; border-radius: 4px; }
.form-card h3 { font-size: 18px; margin: 0 0 24px; font-weight: 600; letter-spacing: -0.008em; }
.field { display: flex; flex-direction: column; gap: 6px; margin-bottom: 18px; }
.field__lbl { font-family: var(--font-mono); font-size: 11px; letter-spacing: 0.08em; text-transform: uppercase; color: var(--fg-muted); }
.field__help { font-size: 12.5px; color: var(--fg-faint); margin-top: 2px; }
.field input { font-family: var(--font-sans); font-size: 16px; padding: 12px 14px; border: 1px solid var(--rule-strong); background: white; border-radius: 2px; outline: none; color: var(--fg-1); transition: border-color 120ms var(--ease-out), box-shadow 120ms var(--ease-out); }
.field input:focus { border-color: var(--rmr-blue); box-shadow: 0 0 0 2px rgba(24,112,232,0.16); }
.field input.err { border-color: var(--data-negative); }
.field__err { font-size: 12.5px; color: var(--data-negative); margin-top: 2px; }
.field--hp { position: absolute; left: -9999px; opacity: 0; pointer-events: none; }
.form-card__consent { font-size: 12.5px; line-height: 1.5; color: var(--fg-muted); margin: 16px 0 0; max-width: 48ch; }
.form-card__consent a { color: var(--fg-1); }
.form-card__err { background: #FCEEEB; color: #8C2C19; border: 1px solid #E8B5A8; padding: 10px 14px; font-size: 13.5px; border-radius: 2px; margin-bottom: 16px; }
.form-card__btn { width: 100%; justify-content: center; margin-top: 8px; padding: 14px 18px; }

.form-card--success { display: flex; flex-direction: column; gap: 16px; }
.form-card--success .tick { width: 40px; height: 40px; border-radius: 50%; background: var(--rmr-green-50); color: var(--rmr-green-700); display: inline-flex; align-items: center; justify-content: center; }
.form-card--success .tick svg { width: 20px; height: 20px; stroke: currentColor; fill: none; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }
.form-card--success h3 { margin: 0; font-size: 22px; }
.form-card--success p { font-size: 15px; line-height: 1.6; color: var(--fg-2); margin: 0; max-width: 44ch; }
.form-card--success .ack { font-family: var(--font-mono); font-size: 12px; color: var(--fg-faint); padding-top: 14px; border-top: var(--hairline); }

/* ---------- Pricing context ----------------------------- */
.price { display: grid; grid-template-columns: 1fr 1.1fr; gap: 64px; align-items: start; }
.price__range { background: var(--bg-2); padding: 32px 36px; border: var(--hairline); border-radius: 4px; }
.price__range .lbl { font-family: var(--font-mono); font-size: 11px; letter-spacing: 0.08em; text-transform: uppercase; color: var(--fg-muted); margin: 0 0 12px; display: block; }
.price__range .num { font-family: var(--font-mono); font-variant-numeric: tabular-nums; font-size: 56px; font-weight: 600; letter-spacing: -0.024em; line-height: 1; }
.price__range .num .small { font-size: 30px; color: var(--fg-muted); margin: 0 6px; }
.price__range .desc { font-size: 14px; color: var(--fg-2); margin: 16px 0 0; line-height: 1.55; max-width: 36ch; }
.price__range hr { margin: 24px 0; border: 0; border-top: var(--hairline); }
.price__range .meta { display: flex; flex-direction: column; gap: 10px; font-size: 13.5px; }
.price__range .meta .row { display: flex; justify-content: space-between; gap: 16px; }
.price__range .meta .row .k { color: var(--fg-muted); font-family: var(--font-mono); font-size: 11px; letter-spacing: 0.06em; text-transform: uppercase; }
.price__range .meta .row .v { font-family: var(--font-mono); font-variant-numeric: tabular-nums; }

/* ---------- About --------------------------------------- */
.about { display: grid; grid-template-columns: 1fr 1.4fr; gap: 80px; align-items: start; }
.about__card { border: var(--hairline); padding: 28px; background: white; border-radius: 4px; }
.about__card .photo { width: 64px; height: 64px; border-radius: 50%; background: var(--bg-2); border: var(--hairline); display: flex; align-items: center; justify-content: center; font-family: var(--font-mono); color: var(--fg-muted); font-size: 13px; }
.about__card h4 { margin: 16px 0 4px; font-size: 17px; font-weight: 600; }
.about__card .role { font-family: var(--font-mono); font-size: 11.5px; color: var(--fg-muted); letter-spacing: 0.04em; }
.about__card .meta { margin-top: 20px; padding-top: 16px; border-top: var(--hairline); display: flex; flex-direction: column; gap: 8px; font-family: var(--font-mono); font-size: 11.5px; color: var(--fg-muted); }
.about__card .meta a { color: var(--fg-1); text-decoration: none; }
.about__card .meta a:hover { color: var(--rmr-blue); }
.about__copy p { font-size: 17px; line-height: 1.65; color: var(--fg-2); margin: 0 0 18px; max-width: 60ch; }
.about__copy p strong { color: var(--fg-1); font-weight: 600; }
.about__values { margin-top: 28px; display: grid; grid-template-columns: 1fr 1fr; gap: 0; border-top: 1px solid var(--ink); }
.about__values .v { padding: 16px 16px 16px 0; border-right: var(--hairline); }
.about__values .v:nth-child(2n) { border-right: 0; padding-right: 0; padding-left: 16px; }
.about__values .v:nth-child(n+3) { border-top: var(--hairline); }
.about__values .v .lbl { font-family: var(--font-mono); font-size: 10.5px; letter-spacing: 0.08em; text-transform: uppercase; color: var(--rmr-blue); display: block; margin-bottom: 6px; }
.about__values .v .desc { font-size: 14px; line-height: 1.5; color: var(--fg-2); margin: 0; }

/* ---------- Methodology teaser grid --------------------- */
.meth-grid { margin-top: 40px; display: grid; grid-template-columns: 1fr 1fr 1fr; gap: 0; border-top: 1px solid var(--ink); }
.meth-grid__item { padding: 24px 24px 24px 0; border-right: var(--hairline); border-bottom: var(--hairline); display: flex; flex-direction: column; gap: 8px; min-width: 0; }
.meth-grid__item:nth-child(3n) { border-right: 0; padding-right: 0; }
.meth-grid__item:nth-child(3n+1) { padding-left: 0; }
.meth-grid__item:nth-child(3n+2) { padding-left: 24px; }
.meth-grid__item:nth-child(3n) { padding-left: 24px; }
.meth-grid__item:nth-last-child(-n+3) { border-bottom: 0; }
.meth-grid__k { font-family: var(--font-mono); font-size: 10.5px; letter-spacing: 0.1em; text-transform: uppercase; color: var(--rmr-blue); }
.meth-grid__v { font-size: 14.5px; line-height: 1.55; color: var(--fg-1); margin: 0; max-width: 36ch; overflow-wrap: break-word; hyphens: auto; }
.meth-grid__foot { margin-top: 28px; display: flex; gap: 24px; align-items: center; flex-wrap: wrap; }
.btn--ghost { display: inline-flex; align-items: center; gap: 8px; padding: 10px 16px; border: 1px solid var(--ink); background: transparent; color: var(--fg-1); font-size: 14px; text-decoration: none; transition: background 120ms; }
.btn--ghost:hover { background: var(--ink); color: var(--fg-on-dark); }
@media (max-width: 920px) {
  .meth-grid { grid-template-columns: 1fr; }
  .meth-grid__item { padding: 20px 0 !important; border-right: 0; }
}

/* ---------- Footer logo --------------------------------- */
.ftr__logo { width: 56px; height: 56px; display: block; object-fit: contain; flex: none; }
.ftr__brand-link { display: inline-flex; align-items: center; gap: 14px; text-decoration: none; color: inherit; }
.ftr__brand-name { font-family: inherit; font-size: 15px; letter-spacing: -0.012em; color: var(--fg-on-dark); font-weight: 600; line-height: 1; }

/* ---------- FAQ ----------------------------------------- */
.faq { border-top: 1px solid var(--ink); }
.faq__item { border-bottom: var(--hairline); padding: 22px 0; cursor: pointer; }
.faq__q { display: flex; justify-content: space-between; gap: 24px; font-size: 17px; font-weight: 500; color: var(--fg-1); align-items: baseline; }
.faq__q-text { font: inherit; letter-spacing: inherit; color: inherit; margin: 0; }
.faq__sign { font-family: var(--font-mono); font-size: 16px; color: var(--fg-muted); flex: none; transition: transform 200ms var(--ease-out); }
.faq__item.open .faq__sign { transform: rotate(45deg); color: var(--rmr-blue); }
.faq__a { font-size: 15px; line-height: 1.65; color: var(--fg-2); margin: 14px 0 0; max-width: 64ch; }
.faq__a a { color: var(--rmr-blue); }
.faq__item:not(.open) .faq__a { display: none; }

/* ---------- Final CTA ----------------------------------- */
.final-cta { padding: 120px 0; text-align: left; background: var(--paper); border-bottom: var(--hairline); }
.final-cta__inner { max-width: 760px; margin: 0 auto; padding: 0 32px; }
.final-cta h2 { font-size: 48px; line-height: 1.05; letter-spacing: -0.022em; font-weight: 600; margin: 0 0 24px; max-width: 18ch; text-wrap: balance; }
.final-cta p { font-size: 18px; line-height: 1.55; color: var(--fg-2); max-width: 52ch; margin: 0 0 32px; }
.final-cta__cta { display: flex; gap: 16px; align-items: center; flex-wrap: wrap; }
.final-cta__cta .or { font-family: var(--font-mono); font-size: 12px; color: var(--fg-faint); }
.final-cta__cta a.email { color: var(--fg-1); text-decoration: underline; text-underline-offset: 0.2em; font-size: 14.5px; }

/* ---------- Footer -------------------------------------- */
.ftr { background: var(--ink); color: var(--fg-on-dark); padding: 72px 0 40px; }
.ftr__inner { max-width: 1200px; margin: 0 auto; padding: 0 32px; display: grid; grid-template-columns: 2fr 1fr 1fr 1fr; gap: 56px; }
.ftr__brand { display: flex; flex-direction: column; gap: 14px; }
.ftr__brand img { height: 30px; width: auto; }
.ftr__tag { font-size: 13.5px; line-height: 1.6; color: rgba(244,242,236,0.6); max-width: 32ch; margin: 0; }
/* The secondary button, recoloured for the dark footer. */
.ftr__cta { align-self: flex-start; color: var(--fg-on-dark); border-color: rgba(244,242,236,0.35); }
.ftr__cta:hover { background: rgba(244,242,236,0.08); border-color: var(--fg-on-dark); color: white; }
.ftr__col { display: flex; flex-direction: column; gap: 10px; }
.ftr__col h2 { font-family: var(--font-mono); font-size: 11px; line-height: inherit; letter-spacing: 0.12em; text-transform: uppercase; color: rgba(244,242,236,0.5); margin: 0 0 6px; font-weight: 500; }
.ftr__col a { color: rgba(244,242,236,0.85); text-decoration: none; font-size: 13.5px; transition: color 120ms; }
.ftr__col a:hover { color: white; }
.ftr__legal { max-width: 1200px; margin: 56px auto 0; padding: 24px 32px 0; border-top: 1px solid rgba(244,242,236,0.12); display: grid; grid-template-columns: 1.5fr 1fr; gap: 32px; font-family: var(--font-mono); font-size: 11px; color: rgba(244,242,236,0.55); line-height: 1.7; }
.ftr__legal a { color: rgba(244,242,236,0.75); text-decoration: underline; text-underline-offset: 0.2em; }
.ftr__legal-links { display: flex; flex-wrap: wrap; gap: 4px 20px; margin-top: 8px; }
.ftr__legal-links a { text-decoration: none; transition: color 120ms; }
.ftr__legal-links a:hover { color: white; }

/* ---------- Article (legal/methodology pages) ----------- */
.article { padding: 80px 0 120px; }
.article__head { padding-bottom: 40px; border-bottom: var(--hairline); margin-bottom: 48px; }
.article__eyebrow { font-family: var(--font-mono); font-size: 12px; letter-spacing: 0.12em; text-transform: uppercase; color: var(--fg-muted); margin: 0 0 16px; }
.article h1 { font-size: 48px; line-height: 1.08; letter-spacing: -0.022em; font-weight: 600; margin: 0 0 16px; max-width: 18ch; }
.article__lede { font-size: 19px; line-height: 1.55; color: var(--fg-2); max-width: 60ch; margin: 0; }
.article__meta { font-family: var(--font-mono); font-size: 11px; color: var(--fg-faint); letter-spacing: 0.04em; margin-top: 24px; display: flex; gap: 24px; }
.article__body { display: grid; grid-template-columns: 200px 1fr; gap: 56px; align-items: start; }
.article__toc { position: sticky; top: 88px; }
.article__toc h2 { font-family: var(--font-mono); font-size: 10.5px; line-height: inherit; letter-spacing: 0.1em; text-transform: uppercase; color: var(--fg-muted); margin: 0 0 12px; font-weight: 500; }
.article__toc ol { list-style: none; padding: 0; margin: 0; counter-reset: toc; display: flex; flex-direction: column; gap: 8px; }
.article__toc li { counter-increment: toc; font-size: 13px; }
.article__toc li::before { content: counter(toc, decimal-leading-zero) " · "; font-family: var(--font-mono); color: var(--fg-faint); font-size: 11px; }
.article__toc a { color: var(--fg-2); text-decoration: none; }
.article__toc a:hover { color: var(--rmr-blue); }
.article__content h2 { font-size: 26px; line-height: 1.2; letter-spacing: -0.014em; font-weight: 600; margin: 56px 0 16px; counter-increment: sec; }
.article__content h2:first-child { margin-top: 0; }
.article__content h3 { font-size: 17px; font-weight: 600; margin: 28px 0 8px; letter-spacing: -0.006em; }
.article__content p { font-size: 16.5px; line-height: 1.7; color: var(--fg-1); margin: 0 0 16px; max-width: 65ch; }
.article__content ul { padding-left: 20px; margin: 0 0 16px; }
.article__content li { font-size: 16.5px; line-height: 1.7; color: var(--fg-1); margin-bottom: 6px; max-width: 64ch; }
.article__content code { background: var(--bg-2); padding: 2px 6px; border-radius: 2px; font-size: 14px; }
.article__content blockquote { border-left: 2px solid var(--rmr-blue); padding: 4px 0 4px 20px; margin: 16px 0; color: var(--fg-2); font-size: 16px; line-height: 1.6; max-width: 60ch; }
.article__content table { width: 100%; border-collapse: collapse; margin: 20px 0 24px; font-size: 14.5px; }
.article__content th { font-family: var(--font-mono); font-size: 10.5px; letter-spacing: 0.08em; text-transform: uppercase; color: var(--fg-muted); font-weight: 500; text-align: left; padding: 8px 12px 8px 0; border-top: 1px solid var(--ink); border-bottom: var(--hairline); }
.article__content td { padding: 10px 12px 10px 0; border-bottom: var(--hairline); vertical-align: top; line-height: 1.5; }
.article__content td:first-child { font-weight: 500; width: 28%; }

/* Cookie table: four columns, so it scrolls on narrow screens rather than
   crushing Purpose into the 28% the two-column tables give a first column.
   The min-width:0 is load-bearing — .article__content is a grid item, and a
   grid item's default min-width:auto would let the table widen the column
   instead of scrolling, pushing the whole page sideways on mobile. */
.article__content { min-width: 0; }
.article__content .table-scroll { overflow-x: auto; margin: 20px 0 24px; }
.article__content .table-scroll table { margin: 0; min-width: 520px; }
.article__content .cookie-table td:first-child { width: 12%; }
.article__content .cookie-table td:last-child { white-space: nowrap; }

/* Unsubscribe form */
.unsub { padding: 80px 0 120px; }
.unsub__card { background: white; border: var(--hairline); padding: 40px; border-radius: 4px; max-width: 520px; }

/* ---------- Responsive ---------------------------------- */
@media (max-width: 920px) {
  .hero { padding: 56px 0; }
  .hero__grid, .intro__grid, .walk__row, .walk__row--flip, .req__grid, .price, .about, .article__body { grid-template-columns: 1fr; gap: 40px; }
  .walk__row--flip .walk__copy { order: 0; }
  .hero h1 { font-size: 44px; }
  .section { padding: 72px 0; }
  .section h2 { font-size: 30px; }
  .steps { grid-template-columns: 1fr 1fr; }
  .step { border-right: 0; border-bottom: var(--hairline); padding: 24px 0; }
  .step + .step { padding-left: 0; }
  .ftr__inner { grid-template-columns: 1fr 1fr; }
  .ftr__brand { grid-column: 1 / -1; }
  .tally { grid-template-columns: 1fr 1fr; }
  .tally__item { padding: 24px 20px 24px 0; }
  .tally__item:not(:first-child) { padding-left: 0; }
  .tally__item:nth-child(2n) { border-right: 0; padding-right: 0; padding-left: 20px; }
  .tally__item:nth-child(n+3) { border-top: var(--hairline); }
  .tally__num { font-size: 38px; }
  .article__toc { position: static; }
  .final-cta h2 { font-size: 34px; }
}

@media (max-width: 720px) {
  .hdr__inner { padding: 14px 20px; gap: 12px; }
  .hdr__menu-btn { display: inline-flex; }
  .nav, .hdr__cta { display: none; }
  .hdr.menu-open { border-bottom-color: var(--rule); }
  .hdr.menu-open .hdr__inner { flex-wrap: wrap; row-gap: 0; }
  .hdr.menu-open .nav { display: flex; flex-direction: column; gap: 0; align-items: stretch; width: 100%; order: 3; padding: 8px 0 4px; border-top: var(--hairline); margin-top: 12px; }
  .hdr.menu-open .nav a { padding: 14px 4px; font-size: 16px; border-bottom: var(--hairline); color: var(--fg-1); }
  .hdr.menu-open .nav a:last-child { border-bottom: 0; }
  .hdr.menu-open .hdr__cta { display: flex; flex-direction: column; align-items: stretch; gap: 10px; width: 100%; order: 4; padding-top: 12px; padding-bottom: 4px; }
  .hdr.menu-open .hdr__cta .btn { width: 100%; justify-content: center; padding: 14px 18px; font-size: 15px; }
}

@media (max-width: 640px) {
  .container, .container-narrow { padding: 0 20px; }
  .topbar__inner { padding: 0 20px; }
  .hero { padding: 40px 0 56px; }
  .hero__eyebrow { margin-bottom: 20px; }
  .hero h1 { font-size: 34px; line-height: 1.06; max-width: 100%; }
  .hero__sub { font-size: 16px; margin-top: 20px; }
  .hero__ctas { gap: 10px; margin-top: 28px; }
  .hero__ctas .btn { width: 100%; justify-content: center; }
  .hero__visual { padding: 18px 16px; overflow-x: auto; -webkit-overflow-scrolling: touch; }
  .section { padding: 56px 0; }
  .section h2 { font-size: 26px; }
  .section__lede { font-size: 16px; margin-bottom: 36px; }
  .steps { grid-template-columns: 1fr; }
  .step { padding: 20px 0; }
  .req { padding: 64px 0; }
  .req__copy h2 { font-size: 28px; }
  .req__copy p { font-size: 15.5px; }
  .form-card { padding: 24px; }
  .about__values { grid-template-columns: 1fr; }
  .about__values .v { padding: 16px 0 !important; border-right: 0; border-bottom: var(--hairline); }
  .about__values .v:last-child { border-bottom: 0; }
  .about__values .v:nth-child(n+3) { border-top: 0; }
  .final-cta { padding: 64px 0; }
  .final-cta__inner { padding: 0 20px; }
  .final-cta h2 { font-size: 28px; }
  .final-cta p { font-size: 16px; }
  .final-cta__cta { gap: 12px; }
  .final-cta__cta .btn { width: 100%; justify-content: center; }
  .ftr { padding: 56px 0 32px; }
  .ftr__inner { grid-template-columns: 1fr; gap: 32px; padding: 0 20px; }
  .ftr__brand { grid-column: auto; }
  .ftr__legal { grid-template-columns: 1fr; gap: 16px; padding: 24px 20px 0; margin-top: 40px; }
  .article { padding: 56px 0 80px; }
  .article h1 { font-size: 32px; }
  .article__head { margin-bottom: 32px; padding-bottom: 28px; }
  .article__content h2 { font-size: 22px; margin: 40px 0 12px; }
  .article__content p, .article__content li { font-size: 15.5px; }
  .tally { grid-template-columns: 1fr; }
  .tally__item,
  .tally__item:not(:first-child),
  .tally__item:nth-child(2n) { padding: 20px 0; border-right: 0; }
  .tally__item { border-bottom: var(--hairline); }
  .tally__item:nth-child(n+3) { border-top: 0; }
  .tally__item:last-child { border-bottom: 0; }
  .tally__num { font-size: 34px; }
  .tally-band { padding: 56px 0; }
  .walk__visual { padding: 20px; }
  .walk__copy h3 { font-size: 22px; }
  .price__range { padding: 24px; }
  .price__range .num { font-size: 44px; }
  .price__range .num .small { font-size: 22px; }
  .unsub { padding: 56px 0 80px; }
  .unsub__card { padding: 24px; }
}

@media print {
  .topbar, .hdr, .ftr, .req__assure { display: none; }
}

/* ---- /styles/methodology.css ---- */
/* =============================================================
   Rate My Ratings — methodology.css
   "The Review Census" — the proprietary method.
   Scoped under the .census wrapper. Uses the site's NATIVE
   branding: Inter type and the brand blue / green / amber
   palette, so these sections read as part of the website rather
   than a separate artifact. Every visual is preserved — only the
   type and colour are brought onto the brand.
   Used by: the home-page methodology teaser, and /methodology.
   ============================================================= */

.census {
  /* ---- Brand tokens (native site palette) ---- */
  --paper: #FBFAF7;          /* page ground (site --paper) */
  --paper-card: #FFFFFF;     /* card surface */
  --ink: #14161A;            /* body text (site --ink) */
  --ink-muted: #5C6068;      /* secondary copy */
  --hair: #E6E2D8;           /* hairline rules (site --rule) */
  --hair-dot: #D8D3C6;       /* dotted rules */
  --slate: #1870E8;          /* accent → brand blue (nums, links, tags) */
  --slate-soft: #EAF2FD;
  --green: #30A850;          /* positive (site --rmr-green) */
  --green-soft: #EAF6EE;
  --brick: #C8412B;          /* negative (site --data-negative) */
  --brick-soft: #F7E7E3;
  --clay: #8A8E96;           /* neutral / market grey (site --data-market) */
  --amber-ink: #C49000;      /* amber-700, for the "passive" band */
  --amber-soft: #FEF6E0;

  /* Native type: Inter for everything (the brand uses no serif);
     mono inherits the site's JetBrains Mono. */
  --font-display: var(--font-sans);
  --font-body: var(--font-sans);

  --measure: 65ch;
  --gap-section: clamp(3.5rem, 8vw, 6rem);

  color: var(--ink);
  font-family: var(--font-body);
  font-size: 1.0625rem;
  line-height: 1.62;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}

.census *,
.census *::before,
.census *::after { box-sizing: border-box; }

/* The full-page treatment gets the paper ground; the teaser stays
   transparent so it blends into the home page's alt band. */
.census-page { background: var(--paper); }
.census .wrap { max-width: 1080px; margin: 0 auto; padding: clamp(1.5rem, 5vw, 3.5rem) clamp(1.25rem, 5vw, 3rem) 4rem; }

.census .eyebrow { font-family: var(--font-mono); font-size: 0.75rem; letter-spacing: 0.12em; text-transform: uppercase; color: var(--ink-muted); margin: 0; font-weight: 500; }
.census h1, .census h2, .census h3, .census h4 { font-family: var(--font-display); font-weight: 600; text-wrap: balance; color: var(--ink); }

/* ---------- Masthead ---------- */
.census .masthead { border-bottom: 1px solid var(--ink); padding-bottom: clamp(1.5rem, 4vw, 2.5rem); position: relative; padding-right: clamp(108px, 15vw, 168px); }
.census .masthead .census-badge { position: absolute; top: 0; right: 0; width: clamp(88px, 11vw, 132px); height: auto; }
.census .masthead .rule-top { display: flex; justify-content: space-between; align-items: baseline; gap: 1rem; flex-wrap: wrap; border-top: 1px solid var(--ink); padding-top: 0.75rem; margin-bottom: clamp(2rem, 6vw, 3.5rem); }
.census .masthead .rule-top span { font-family: var(--font-mono); font-size: 0.72rem; letter-spacing: 0.12em; text-transform: uppercase; color: var(--ink-muted); }
.census .masthead .brand { display: flex; align-items: center; gap: 0.65rem; }
.census .masthead .brand-mark { width: 34px; height: 34px; display: block; }
.census .masthead .rule-top .brand-name { font-family: var(--font-display); font-size: 1.15rem; font-weight: 600; letter-spacing: -0.012em; text-transform: none; color: var(--ink); }
.census .masthead h1 { font-size: clamp(2.5rem, 6.5vw, 4rem); line-height: 1.04; letter-spacing: -0.022em; margin: 0.5rem 0 0; }
.census .masthead .sub { font-size: clamp(1.15rem, 2.6vw, 1.45rem); font-weight: 500; color: var(--ink-muted); margin: 0.9rem 0 0; letter-spacing: -0.008em; }
.census .deck { max-width: var(--measure); margin: 1.4rem 0 0; color: var(--ink-muted); font-size: 1.075rem; }
.census .spine { display: flex; flex-wrap: wrap; align-items: center; gap: 0.5rem 0.7rem; margin-top: clamp(1.75rem, 4vw, 2.5rem); font-family: var(--font-mono); font-size: 0.74rem; letter-spacing: 0.1em; text-transform: uppercase; }
.census .spine em { color: var(--ink-muted); font-style: normal; }
.census .spine b { color: var(--ink); font-weight: 600; }
.census .spine i { color: var(--slate); font-style: normal; }

/* ---------- Section scaffolding ---------- */
.census section { margin-top: var(--gap-section); }
.census .sec-head { display: flex; align-items: baseline; gap: 0.9rem; margin-bottom: clamp(1.5rem, 4vw, 2.25rem); }
.census .sec-head .num { font-family: var(--font-mono); font-size: clamp(1.5rem, 3.4vw, 2.1rem); font-weight: 500; color: var(--slate); letter-spacing: 0.01em; line-height: 1; padding-top: 0.1rem; }
.census .sec-head h2 { font-size: clamp(1.6rem, 3.6vw, 2.35rem); line-height: 1.1; margin: 0; letter-spacing: -0.018em; }
.census .sec-head p { margin: 0.4rem 0 0; color: var(--ink-muted); max-width: 56ch; font-size: 1rem; }

/* ---------- Thesis + census ---------- */
.census .thesis { font-size: clamp(1.8rem, 4.2vw, 2.75rem); line-height: 1.12; letter-spacing: -0.02em; margin: 0; max-width: 20ch; }
.census .thesis em { font-style: normal; color: var(--slate); }
.census .thesis-body { max-width: var(--measure); margin: 1.3rem 0 0; color: var(--ink-muted); }
.census .census-wrap { position: relative; margin: clamp(1.75rem, 4vw, 2.5rem) 0 0; height: clamp(240px, 42vw, 380px); border: 1px solid var(--hair); border-radius: 4px; background: linear-gradient(180deg, #FDFCFA, #F4F2EC); overflow: hidden; }
.census canvas { display: block; width: 100%; height: 100%; }
.census .survey-box { position: absolute; left: 6%; top: 20%; width: 17%; height: 36%; border: 2.5px dashed var(--slate); background: rgba(24,112,232,0.10); box-shadow: 0 0 0 4px rgba(251,250,247,0.85); pointer-events: none; }
.census .survey-tag { position: absolute; left: 6%; top: calc(20% - 1.85rem); background: var(--slate); color: #fff; font-family: var(--font-mono); font-size: 0.66rem; font-weight: 600; letter-spacing: 0.08em; text-transform: uppercase; padding: 0.25rem 0.6rem; border-radius: 2px; pointer-events: none; white-space: nowrap; }
.census .survey-tag::after { content: ""; position: absolute; left: 12px; bottom: -5px; width: 0; height: 0; border-left: 5px solid transparent; border-right: 5px solid transparent; border-top: 5px solid var(--slate); }
.census .census-cap { display: flex; justify-content: space-between; gap: 1rem; flex-wrap: wrap; margin-top: 0.85rem; font-family: var(--font-mono); font-size: 0.7rem; letter-spacing: 0.06em; color: var(--ink-muted); text-transform: uppercase; }
.census .census-legend { display: flex; gap: 1.1rem; flex-wrap: wrap; }
.census .census-legend span { display: inline-flex; align-items: center; gap: 0.4rem; }
.census .dot { width: 8px; height: 8px; border-radius: 50%; display: inline-block; }
.census .dot.g { background: var(--green); } .census .dot.n { background: var(--clay); } .census .dot.r { background: var(--brick); }

/* ---------- Why it's different ---------- */
.census .whys { display: grid; grid-template-columns: repeat(2, 1fr); gap: 1px; background: var(--hair); border: 1px solid var(--hair); border-radius: 4px; overflow: hidden; }
.census .why-card { background: var(--paper-card); padding: clamp(1.25rem, 2.5vw, 1.7rem); display: flex; flex-direction: column; gap: 0.55rem; }
.census .why-card .lbl { font-family: var(--font-mono); font-size: 0.66rem; letter-spacing: 0.1em; text-transform: uppercase; color: var(--slate); }
.census .why-card h3 { margin: 0; font-size: 1.22rem; line-height: 1.2; letter-spacing: -0.012em; }
.census .why-card p { margin: 0; font-size: 0.95rem; color: var(--ink-muted); line-height: 1.55; max-width: none; }
.census .why-card.lead { grid-column: 1 / -1; background: var(--ink); color: #fff; }
.census .why-card.lead .lbl { color: #7FB0F2; }
.census .why-card.lead h3 { font-size: clamp(1.35rem, 3vw, 1.85rem); max-width: 30ch; color: #fff; letter-spacing: -0.018em; }
.census .why-card.lead p { color: #C7CBD1; max-width: 60ch; font-size: 1rem; }

/* ---------- Four lenses ---------- */
.census .lenses { display: flex; flex-direction: column; }
.census .lens { border-top: 1px solid var(--hair); padding: clamp(2rem, 5vw, 3rem) 0; }
.census .lens:last-child { border-bottom: 1px solid var(--hair); }
.census .lens-head { display: flex; align-items: baseline; gap: 0.7rem; flex-wrap: wrap; }
.census .lens-num { font-family: var(--font-mono); font-size: 0.72rem; letter-spacing: 0.12em; text-transform: uppercase; color: var(--slate); }
.census .lens-tag { font-family: var(--font-mono); font-size: 0.68rem; letter-spacing: 0.1em; text-transform: uppercase; color: var(--ink-muted); border: 1px solid var(--hair); border-radius: 2px; padding: 0.15rem 0.55rem; }
.census .lens h3 { width: 100%; font-size: clamp(1.5rem, 3.4vw, 2rem); margin: 0.7rem 0 0; letter-spacing: -0.02em; }
.census .lens-q { width: 100%; font-style: normal; color: var(--ink-muted); font-size: 1.12rem; line-height: 1.45; margin: 0.4rem 0 0; }
.census .lens-grid { display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(0, 0.85fr); gap: clamp(1.5rem, 4vw, 2.75rem); align-items: start; margin-top: 1.6rem; }

.census .mini-label { font-family: var(--font-mono); font-size: 0.64rem; letter-spacing: 0.1em; text-transform: uppercase; color: var(--slate); margin: 0 0 0.6rem; }
.census .methods { list-style: none; margin: 0; padding: 0; }
.census .methods li { padding: 0.65rem 0; border-top: 1px dotted var(--hair-dot); font-size: 0.96rem; color: var(--ink-muted); line-height: 1.5; max-width: none; }
.census .methods li:first-child { border-top: none; padding-top: 0; }
.census .methods li b { color: var(--ink); font-weight: 600; }
.census .diff { margin: 1.5rem 0 0; padding: 1rem 1.2rem; background: var(--green-soft); border-left: 3px solid var(--green); border-radius: 0 2px 2px 0; font-size: 1.05rem; line-height: 1.5; color: var(--ink); font-weight: 500; max-width: none; }
.census .diff b { font-family: var(--font-mono); font-size: 0.66rem; letter-spacing: 0.1em; text-transform: uppercase; display: block; color: var(--green-700, #228040); margin-bottom: 0.4rem; font-weight: 600; }

.census .viz { border: 1px solid var(--hair); border-radius: 4px; background: var(--paper-card); padding: clamp(1rem, 2.4vw, 1.4rem); }
.census .viz-cap { font-family: var(--font-mono); font-size: 0.64rem; letter-spacing: 0.08em; text-transform: uppercase; color: var(--ink-muted); margin: 0 0 0.9rem; }

/* ABSA bars (Experience) */
.census .absa { display: flex; flex-direction: column; gap: 0.85rem; }
.census .absa .row .lab { display: flex; justify-content: space-between; font-family: var(--font-mono); font-size: 0.66rem; letter-spacing: 0.04em; text-transform: uppercase; color: var(--ink-muted); margin-bottom: 0.3rem; }
.census .absa .bar { display: flex; height: 20px; border: 1px solid var(--hair); border-radius: 2px; overflow: hidden; }
.census .absa .seg { height: 100%; }
.census .absa .seg.pos { background: var(--green); } .census .absa .seg.neu { background: var(--clay); } .census .absa .seg.neg { background: var(--brick); }
.census .net { display: flex; align-items: baseline; gap: 0.5rem; margin-top: 1rem; padding-top: 0.85rem; border-top: 1px solid var(--hair); }
.census .net .n { font-family: var(--font-mono); font-size: 1.5rem; color: var(--green); font-weight: 600; font-variant-numeric: tabular-nums; }
.census .net .cap { font-family: var(--font-mono); font-size: 0.64rem; letter-spacing: 0.06em; text-transform: uppercase; color: var(--ink-muted); }

/* NPS gauge (Persona) */
.census .score-row { display: flex; align-items: baseline; gap: 0.5rem; margin-bottom: 0.9rem; }
.census .score-row .big { font-family: var(--font-mono); font-size: 2.1rem; font-weight: 600; color: var(--ink); line-height: 1; font-variant-numeric: tabular-nums; }
.census .score-row .of { font-family: var(--font-mono); font-size: 0.8rem; color: var(--ink-muted); }
.census .score-row .band { margin-left: auto; font-family: var(--font-mono); font-size: 0.64rem; letter-spacing: 0.08em; text-transform: uppercase; color: var(--amber-ink); background: var(--amber-soft); border: 1px solid #EBD9A6; border-radius: 2px; padding: 0.12rem 0.5rem; }
.census .gauge { position: relative; }
.census .gauge .track { display: flex; height: 14px; border: 1px solid var(--hair); border-radius: 2px; overflow: hidden; }
.census .gauge .z1 { flex: 6.5; background: var(--brick-soft); } .census .gauge .z2 { flex: 2; background: #EEECE6; } .census .gauge .z3 { flex: 1.5; background: var(--green-soft); }
.census .gauge .mk { position: absolute; top: -5px; bottom: -5px; width: 2px; background: var(--ink); left: 80%; }
.census .gauge .ends { display: flex; justify-content: space-between; font-family: var(--font-mono); font-size: 0.6rem; color: var(--ink-muted); margin-top: 0.35rem; }
.census .pchips { display: flex; flex-wrap: wrap; gap: 0.35rem; margin-top: 1rem; }
.census .pchip { font-family: var(--font-mono); font-size: 0.62rem; letter-spacing: 0.03em; text-transform: uppercase; border: 1px solid var(--hair); border-radius: 2px; padding: 0.15rem 0.5rem; color: var(--ink-muted); }
.census .calib { font-family: var(--font-mono); font-size: 0.62rem; letter-spacing: 0.04em; text-transform: uppercase; color: var(--slate); margin: 0.9rem 0 0; }

/* Quadrant (Benchmark) */
.census .viz svg { width: 100%; height: auto; display: block; }

/* Evidence chain (Strategy) */
.census .chain { display: flex; flex-direction: column; }
.census .cnode { border: 1px solid var(--hair); border-radius: 3px; background: var(--paper); padding: 0.7rem 0.85rem; }
.census .cnode .k { font-family: var(--font-mono); font-size: 0.58rem; letter-spacing: 0.1em; text-transform: uppercase; color: var(--slate); }
.census .cnode .t { font-size: 0.95rem; margin-top: 0.15rem; color: var(--ink); }
.census .cchips { display: flex; gap: 0.35rem; margin-top: 0.5rem; flex-wrap: wrap; }
.census .cchip { font-family: var(--font-mono); font-size: 0.56rem; letter-spacing: 0.05em; text-transform: uppercase; border: 1px solid var(--hair); border-radius: 2px; padding: 0.08rem 0.38rem; color: var(--ink-muted); }
.census .cchip.hi { color: var(--brick); border-color: #E9BAAF; }
.census .cchip.now { color: var(--slate); border-color: #B6CDF3; }
.census .cchip.metric { color: var(--green); border-color: #B2DCBE; }
.census .clink { display: flex; align-items: center; gap: 0.55rem; padding: 0.3rem 0 0.3rem 0.8rem; }
.census .clink .ln { width: 1px; height: 15px; background: var(--slate); }
.census .clink span { font-family: var(--font-mono); font-size: 0.56rem; letter-spacing: 0.08em; text-transform: uppercase; color: var(--ink-muted); }

/* ---------- Comparison table ---------- */
.census .table-scroll { overflow-x: auto; border: 1px solid var(--hair); border-radius: 4px; }
.census table { border-collapse: collapse; width: 100%; min-width: 560px; font-size: 0.98rem; }
.census thead th { text-align: left; font-family: var(--font-mono); font-size: 0.68rem; letter-spacing: 0.08em; text-transform: uppercase; font-weight: 500; padding: 0.9rem 1.1rem; background: var(--ink); color: #fff; }
.census thead th:last-child { color: #fff; }
.census .table-scroll thead th:last-child { background: var(--slate); }
.census tbody th { text-align: left; font-family: var(--font-mono); font-size: 0.7rem; letter-spacing: 0.06em; text-transform: uppercase; color: var(--ink-muted); font-weight: 500; padding: 0.85rem 1.1rem; background: var(--paper-card); white-space: nowrap; }
.census tbody td { padding: 0.85rem 1.1rem; vertical-align: top; background: var(--paper-card); }
.census tbody td.old { color: var(--ink-muted); }
.census tbody td.new { color: var(--ink); font-weight: 600; background: var(--slate-soft); }
.census tbody tr + tr th, .census tbody tr + tr td { border-top: 1px solid var(--hair); }

/* ---------- Close ---------- */
.census .close { margin-top: var(--gap-section); border-top: 1px solid var(--ink); padding-top: clamp(2rem, 5vw, 3rem); }
.census .taglines { display: flex; flex-direction: column; gap: 0.4rem; }
.census .taglines p { font-size: clamp(1.4rem, 3.5vw, 2rem); font-weight: 600; line-height: 1.2; margin: 0; letter-spacing: -0.02em; max-width: none; color: var(--ink); }
.census .taglines p:nth-child(2) { color: var(--slate); }
.census .colophon { display: flex; justify-content: space-between; flex-wrap: wrap; gap: 1rem; margin-top: clamp(2rem, 5vw, 3rem); font-family: var(--font-mono); font-size: 0.7rem; letter-spacing: 0.08em; text-transform: uppercase; color: var(--ink-muted); }

.census a { color: var(--slate); }
.census :focus-visible { outline: 2px solid var(--slate); outline-offset: 3px; }

/* =============================================================
   The method in detail — the substantive dossier, preserved
   from the original methodology page, in the native brand style.
   ============================================================= */
.census .dossier { margin-top: var(--gap-section); border-top: 1px solid var(--ink); padding-top: clamp(2rem, 5vw, 3rem); }
.census .dossier__grid { display: flex; flex-direction: column; border-bottom: 1px solid var(--hair); }
.census .dossier__item { display: grid; grid-template-columns: minmax(0, 200px) minmax(0, 1fr); gap: clamp(1.25rem, 4vw, 2.75rem); border-top: 1px solid var(--hair); padding: 1.35rem 0; align-items: start; }
.census .dossier__item > h3 { font-size: 0.98rem; font-weight: 600; letter-spacing: -0.004em; line-height: 1.35; margin: 0; color: var(--ink); }
.census .dossier__body { min-width: 0; }
.census .dossier__body > :first-child { margin-top: 0; }
.census .dossier__body > :last-child { margin-bottom: 0; }
.census .dossier__body h4 { font-size: 0.88rem; font-weight: 600; margin: 1rem 0 0.4rem; color: var(--ink); letter-spacing: -0.004em; }
.census .dossier__body p { font-size: 0.9rem; line-height: 1.58; color: var(--ink-muted); margin: 0 0 0.7rem; max-width: 70ch; }
.census .dossier__body ul { margin: 0 0 0.7rem; padding-left: 1.05rem; }
.census .dossier__body li { font-size: 0.9rem; line-height: 1.55; color: var(--ink-muted); margin-bottom: 0.35rem; max-width: 68ch; }
.census .dossier__body li strong, .census .dossier__body p strong { color: var(--ink); font-weight: 600; }
.census .dossier__body table { min-width: 0; margin: 0.5rem 0 0.2rem; font-size: 0.84rem; }
.census .dossier__body thead th { background: var(--ink); font-size: 0.6rem; padding: 0.55rem 0.85rem; }
.census .dossier__body tbody th, .census .dossier__body tbody td { padding: 0.5rem 0.85rem; font-size: 0.84rem; }
@media (max-width: 640px) {
  .census .dossier__item { grid-template-columns: 1fr; gap: 0.5rem; }
}

/* =============================================================
   Home-page teaser — a condensed census that sits inside the
   site's normal section rhythm (no paper card; blends onto the
   alt band). Bracketed by the site's .section spacing.
   ============================================================= */
.census-teaser { max-width: 1080px; }
/* Hand-stamped Review Census seal on the top-right corner of the dot visual */
.census-teaser .census-visual { position: relative; }
.census-teaser .census-visual .census-badge { position: absolute; z-index: 2; top: -18px; right: -14px; width: clamp(80px, 9vw, 112px); height: auto; transform: rotate(-8deg); transform-origin: center; mix-blend-mode: multiply; opacity: 0.88; pointer-events: none; }
.census-teaser .thesis { margin-top: 1.1rem; max-width: 24ch; font-size: clamp(1.9rem, 4vw, 2.5rem); }
/* Home section keeps blue only on the LENS labels (.lx) — everything else neutral. */
.census-teaser .thesis em { color: var(--ink); }
.census-teaser .mini-label { color: var(--ink-muted); }
.census-teaser .survey-box { border-color: var(--ink); background: rgba(20,22,26,0.09); }
.census-teaser .survey-tag { background: var(--ink); }
.census-teaser .survey-tag::after { border-top-color: var(--ink); }
.census-teaser .thesis-body { margin-top: 1.2rem; font-size: 1.075rem; }
.census-teaser .census-grid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 0.92fr); gap: clamp(1.5rem, 5vw, 3.5rem); align-items: center; margin-top: clamp(1.75rem, 4vw, 2.5rem); }
.census-teaser .census-wrap { margin-top: 0; height: clamp(230px, 34vw, 330px); }
.census-teaser .lens-list { list-style: none; margin: 0; padding: 0; }
.census-teaser .lens-list li { display: flex; gap: 0.9rem; padding: 0.85rem 0; border-top: 1px solid var(--hair); align-items: baseline; }
.census-teaser .lens-list li:first-child { border-top: none; }
.census-teaser .lens-list .lx { font-family: var(--font-mono); font-size: 0.66rem; letter-spacing: 0.1em; text-transform: uppercase; color: var(--slate); white-space: nowrap; padding-top: 0.15rem; min-width: 4.5rem; }
.census-teaser .lens-list .ld b { font-weight: 600; font-size: 1.08rem; color: var(--ink); display: block; letter-spacing: -0.012em; }
.census-teaser .lens-list .ld span { font-size: 0.92rem; color: var(--ink-muted); line-height: 1.45; }
.census-teaser .census-foot { margin-top: clamp(1.75rem, 4vw, 2.5rem); }
/* Dark CTA button (no blue) for the home teaser. */
.census .btn--dark { background: var(--ink); color: #fff; border-color: var(--ink); }
.census .btn--dark:hover { background: #2B2E34; color: #fff; border-color: #2B2E34; }

/* ---------- Responsive ---------- */
@media (max-width: 860px) {
  .census-teaser .census-grid { grid-template-columns: 1fr; }
  /* visual spans full width when stacked — tuck the stamp inside the corner */
  .census-teaser .census-visual .census-badge { top: 10px; right: 10px; width: clamp(68px, 15vw, 92px); }
}
@media (max-width: 760px) {
  .census .lens-grid { grid-template-columns: 1fr; }
}
@media (max-width: 540px) {
  .census .whys { grid-template-columns: 1fr; }
  .census .masthead { padding-right: 0; }
  .census .masthead .census-badge { position: static; display: block; width: 84px; margin: 0 auto 1.25rem 0; }
}

/* ---- /styles/catalogue.css ---- */
/* =========================================================
   Rate My Ratings — catalogue.css
   The report catalogue (/reports) and individual report pages.
   Same editorial system as site.css: hairlines, mono eyebrows,
   tabular numerics, restrained radii.
   ========================================================= */

/* ---------- Breadcrumbs --------------------------------- */
.crumbs { margin: 0 0 28px; }
.crumbs ol { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 8px; font-family: var(--font-mono); font-size: 11px; letter-spacing: 0.08em; text-transform: uppercase; color: var(--fg-faint); }
.crumbs li + li::before { content: "/"; margin-right: 8px; color: var(--rule-strong); }
.crumbs a { color: var(--fg-muted); text-decoration: none; }
.crumbs a:hover { color: var(--rmr-blue); }
.crumbs li[aria-current] { color: var(--fg-2); }

/* ---------- Catalogue head ------------------------------ */
.cat-head { padding: 64px 0 48px; border-bottom: var(--hairline); }
.cat-head h1 { font-size: 48px; line-height: 1.06; letter-spacing: -0.022em; font-weight: 600; margin: 0 0 24px; max-width: 20ch; text-wrap: balance; }
.cat-head__lede { font-size: 19px; line-height: 1.55; color: var(--fg-2); max-width: 62ch; margin: 0; }
.cat-head__count { font-family: var(--font-mono); font-size: 12px; letter-spacing: 0.06em; text-transform: uppercase; color: var(--fg-muted); margin-top: 28px; }
.cat-head__count .num { color: var(--rmr-blue); font-weight: 600; font-variant-numeric: tabular-nums; }

/* ---------- Filter toolbar ------------------------------ */
/* Deliberately quiet: this is a small catalogue, so the filters should
   sit under the listings rather than compete with them. */
.cat-body { padding: 48px 0 96px; border-bottom: var(--hairline); }
.cat-body--related { background: var(--bg-2); }
.cat-tools { display: flex; align-items: flex-start; gap: 28px; flex-wrap: wrap; padding-bottom: 24px; margin-bottom: 36px; border-bottom: var(--hairline); }

.vh { position: absolute; width: 1px; height: 1px; margin: -1px; padding: 0; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0; }

.cat-search { position: relative; display: flex; align-items: center; flex: 0 0 268px; margin-left: auto; }
.cat-search__icon { position: absolute; left: 12px; width: 15px; height: 15px; fill: none; stroke: var(--fg-faint); stroke-width: 1.5; stroke-linecap: round; pointer-events: none; transition: stroke var(--dur-base) var(--ease-out); }
.cat-search input { font-family: var(--font-sans); font-size: 14.5px; padding: 9px 14px 9px 34px; width: 100%; border: 1px solid transparent; border-radius: var(--radius-1); background: var(--bg-2); color: var(--fg-1); transition: background var(--dur-base) var(--ease-out), border-color var(--dur-base) var(--ease-out); }
.cat-search input::placeholder { color: var(--fg-faint); }
.cat-search input:hover { background: var(--paper-2); border-color: var(--rule); }
.cat-search input:focus { outline: none; background: var(--bg-3); border-color: var(--rule-strong); }
.cat-search input:focus + .cat-search__icon, .cat-search:focus-within .cat-search__icon { stroke: var(--fg-muted); }
.cat-search input::-webkit-search-cancel-button { cursor: pointer; }

.cat-filters { display: flex; flex-direction: column; align-items: flex-start; gap: 10px; flex: 1 1 auto; min-width: 0; }
.cat-filter { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; }
.cat-filter__more { font-family: var(--font-sans); font-size: 12.5px; padding: 6px 4px; margin-left: 4px; border: 0; background: none; color: var(--rmr-blue); cursor: pointer; text-decoration: underline; text-underline-offset: 0.18em; text-decoration-thickness: 1px; transition: color var(--dur-fast) var(--ease-out); }
.cat-filter__more:hover { color: var(--rmr-blue-700); }
.cat-filter__more:focus-visible { outline: 2px solid var(--rmr-blue); outline-offset: 2px; border-radius: 2px; }
.cat-filter__lbl { font-size: 12.5px; color: var(--fg-faint); margin-right: 2px; flex: 0 0 62px; }
.chip { font-family: var(--font-sans); font-size: 13px; padding: 6px 12px; border: 1px solid transparent; background: transparent; color: var(--fg-muted); border-radius: var(--radius-1); cursor: pointer; transition: background var(--dur-base) var(--ease-out), color var(--dur-base) var(--ease-out); }
.chip:hover { background: var(--bg-2); color: var(--fg-1); }
.chip.is-on { background: var(--ink); color: var(--fg-on-dark); }
.chip:focus-visible { outline: 2px solid var(--rmr-blue); outline-offset: 2px; }
.linklike { background: none; border: 0; padding: 0; font: inherit; color: var(--rmr-blue); text-decoration: underline; text-underline-offset: 0.18em; cursor: pointer; }

/* ---------- Catalogue grid ------------------------------ */
.cat-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; }
.cat-card { position: relative; display: flex; flex-direction: column; gap: 10px; background: white; border: var(--hairline); border-radius: 4px; padding: 26px; box-shadow: var(--shadow-1); transition: border-color 120ms var(--ease-out), transform 120ms var(--ease-out); min-width: 0; }
.cat-card:hover { border-color: var(--ink); transform: translateY(-2px); }
.cat-card[hidden] { display: none; }
@keyframes catCardIn { from { opacity: 0; transform: translateY(6px); } to { opacity: 1; transform: none; } }
.cat-card.is-in { animation: catCardIn 220ms var(--ease-out); }
/* Featured ("Pinned" in the admin panel): an accent edge along the top,
   inside the card's radius. */
.cat-card--featured { border-color: var(--rmr-blue); box-shadow: inset 0 2px 0 var(--rmr-blue), var(--shadow-1); }
.cat-card--featured:hover { border-color: var(--rmr-blue-700); box-shadow: inset 0 2px 0 var(--rmr-blue-700), var(--shadow-1); }
/* Badges sit in one row, so a card carrying both "Featured" and "Free" is
   still exactly as tall as a card carrying one. */
.cat-grid--flagged .cat-card:not(.cat-card--flagged)::before { content: ""; display: block; height: 22px; }
.cat-card__flags { display: flex; align-items: center; flex-wrap: wrap; gap: 6px; margin: 0; min-height: 22px; }
.cat-card__flag { display: inline-flex; align-items: center; height: 22px; font-family: var(--font-mono); font-size: 9.5px; letter-spacing: 0.1em; text-transform: uppercase; color: white; background: var(--rmr-blue); border-radius: var(--radius-1); padding: 0 8px; }
/* Free ("Interest" upstream): the report is given away for an email address
   rather than sold. Green, so it never reads as a second kind of "pinned". */
.cat-card__flag--free { background: var(--rmr-green); }
.cat-card__meta { font-family: var(--font-mono); font-size: 10.5px; letter-spacing: 0.08em; text-transform: uppercase; color: var(--fg-muted); margin: 0; }
.cat-card__title { font-size: 21px; line-height: 1.25; letter-spacing: -0.012em; font-weight: 600; margin: 0; }
.cat-card__title a { color: var(--fg-1); text-decoration: none; }
.cat-card__title a::after { content: ""; position: absolute; inset: 0; border-radius: 4px; }
.cat-card:hover .cat-card__title a { color: var(--rmr-blue); }
.cat-card__title a:focus-visible { outline: none; }
.cat-card__title a:focus-visible::after { outline: 2px solid var(--rmr-blue); outline-offset: 3px; }
.cat-card__summary { font-size: 14.5px; line-height: 1.6; color: var(--fg-2); margin: 0; max-width: none; }
.cat-card__foot { margin-top: auto; padding-top: 16px; border-top: var(--hairline); display: flex; justify-content: space-between; align-items: baseline; gap: 12px; }
.cat-card__price { font-family: var(--font-mono); font-size: 17px; font-weight: 600; font-variant-numeric: tabular-nums; color: var(--fg-1); }
.cat-card__price--none { font-size: 13px; font-weight: 400; color: var(--fg-muted); }
.cat-card__price--free { color: var(--rmr-green-700); }
.cat-card__go { font-size: 13.5px; color: var(--rmr-blue); font-weight: 500; }
.cat-card__pub { font-family: var(--font-mono); font-size: 10.5px; letter-spacing: 0.04em; color: var(--fg-faint); margin: 0; }

.cat-none { margin-top: 32px; font-size: 15.5px; color: var(--fg-2); }
.cat-empty { border: var(--hairline); background: white; border-radius: 4px; padding: 48px; max-width: 640px; }
.cat-empty h2 { font-size: 26px; margin: 0 0 14px; letter-spacing: -0.014em; }
.cat-empty p { font-size: 16px; line-height: 1.6; color: var(--fg-2); margin: 0 0 24px; }

.cat-related__h { font-size: 22px; letter-spacing: -0.014em; margin: 0 0 24px; }
.cat-related__more { margin-top: 28px; font-size: 14.5px; }
.cat-related__more a { text-decoration: none; font-weight: 500; }
.cat-related__more a:hover { text-decoration: underline; }

/* ---------- Catalogue foot band ------------------------- */
.cat-foot { padding: 88px 0; background: var(--bg-2); }
.cat-foot__grid { display: grid; grid-template-columns: 1fr 1fr; gap: 64px; align-items: start; }
.cat-foot h2 { font-size: 34px; line-height: 1.12; letter-spacing: -0.018em; font-weight: 600; margin: 0 0 20px; max-width: 18ch; text-wrap: balance; }
.cat-foot p { font-size: 16.5px; line-height: 1.65; color: var(--fg-2); max-width: 52ch; }
.cat-foot__cta { display: flex; gap: 12px; align-items: center; flex-wrap: wrap; margin-top: 28px; }
.cat-foot__facts { list-style: none; margin: 0; padding: 0; border-top: 1px solid var(--ink); }
.cat-foot__facts li { display: flex; flex-direction: column; gap: 6px; padding: 18px 0; border-bottom: var(--hairline); }
.cat-foot__facts .k { font-family: var(--font-mono); font-size: 10.5px; letter-spacing: 0.1em; text-transform: uppercase; color: var(--rmr-blue); }
.cat-foot__facts .v { font-size: 14.5px; line-height: 1.55; color: var(--fg-1); }

/* ---------- Report detail ------------------------------- */
.rep-head { padding: 64px 0 72px; border-bottom: var(--hairline); }
.rep-head__grid { display: grid; grid-template-columns: 1.35fr 1fr; gap: 64px; align-items: start; }
.rep-chips { display: flex; gap: 8px; flex-wrap: wrap; margin: 0 0 20px; }
.chip--static { cursor: default; background: var(--bg-2); color: var(--fg-2); font-size: 12.5px; padding: 5px 12px; }
/* Matches the catalogue card's badge, so a free report is marked the same
   way on the card and on the page it opens. */
.chip--free { background: var(--rmr-green-50); color: var(--rmr-green-700); }
.rep-head h1 { font-size: 46px; line-height: 1.06; letter-spacing: -0.022em; font-weight: 600; margin: 0 0 24px; max-width: 18ch; text-wrap: balance; }
.rep-head__lede { font-size: 18.5px; line-height: 1.6; color: var(--fg-2); max-width: 56ch; margin: 0; }
.rep-head__cta { display: flex; gap: 12px; align-items: center; flex-wrap: wrap; margin-top: 32px; }
.rep-head__note { font-family: var(--font-mono); font-size: 11.5px; line-height: 1.6; color: var(--fg-faint); margin-top: 20px; max-width: 46ch; letter-spacing: 0.02em; }
.rep-facts { background: white; border: var(--hairline); border-radius: 4px; padding: 26px; box-shadow: var(--shadow-1); }
.rep-facts dl { margin: 0; display: flex; flex-direction: column; }
.rep-facts dl > div { display: flex; justify-content: space-between; gap: 20px; align-items: baseline; padding: 12px 0; border-bottom: var(--hairline); }
.rep-facts dl > div:first-child { padding-top: 0; }
.rep-facts dl > div:last-child { border-bottom: 0; padding-bottom: 0; }
.rep-facts dt { font-family: var(--font-mono); font-size: 10.5px; letter-spacing: 0.1em; text-transform: uppercase; color: var(--fg-muted); }
.rep-facts dd { margin: 0; font-size: 14.5px; color: var(--fg-1); text-align: right; font-weight: 500; }
.rep-facts dd.mono { font-family: var(--font-mono); font-variant-numeric: tabular-nums; letter-spacing: 0.04em; }

/* The price closes the panel — the last thing read before the CTA. */
.rep-price { display: flex; flex-direction: column; gap: 4px; margin-top: 24px; padding-top: 20px; border-top: 1px solid var(--ink); }
.rep-price__k { font-family: var(--font-mono); font-size: 10.5px; letter-spacing: 0.1em; text-transform: uppercase; color: var(--fg-muted); }
.rep-price__v { font-family: var(--font-mono); font-size: 40px; font-weight: 600; font-variant-numeric: tabular-nums; letter-spacing: -0.02em; line-height: 1.05; color: var(--fg-1); }
.rep-price--none .rep-price__v { font-size: 24px; }
.rep-price--free { border-top-color: var(--rmr-green); }
.rep-price--free .rep-price__v { color: var(--rmr-green-700); }

.rep-parts { padding: 88px 0; border-bottom: var(--hairline); }
.rep-parts h2 { font-size: 34px; line-height: 1.12; letter-spacing: -0.018em; font-weight: 600; margin: 0 0 20px; max-width: 20ch; text-wrap: balance; }
.rep-parts__grid { display: grid; grid-template-columns: repeat(5, 1fr); gap: 0; border-top: 1px solid var(--ink); }
.rep-part { padding: 28px 24px 28px 0; border-right: var(--hairline); display: flex; flex-direction: column; gap: 10px; min-width: 0; }
.rep-part + .rep-part { padding-left: 24px; }
.rep-part:last-child { border-right: 0; padding-right: 0; }
.rep-part__n { font-family: var(--font-mono); font-size: 11px; letter-spacing: 0.12em; color: var(--fg-faint); }
.rep-part h3 { font-size: 16px; font-weight: 600; letter-spacing: -0.006em; margin: 0; }
.rep-part p { font-size: 14px; line-height: 1.55; color: var(--fg-2); margin: 0; overflow-wrap: break-word; hyphens: auto; }
.rep-parts__foot { margin-top: 32px; padding-top: 20px; border-top: var(--hairline); font-size: 14.5px; color: var(--fg-muted); max-width: 68ch; }

/* ---------- Home teaser --------------------------------- */
.cat-teaser__head { display: flex; justify-content: space-between; align-items: flex-end; gap: 32px; flex-wrap: wrap; margin-bottom: 40px; }
.cat-teaser__head h2 { margin-bottom: 0; }
.cat-teaser__all { font-size: 14.5px; font-weight: 500; text-decoration: none; white-space: nowrap; }
.cat-teaser__all:hover { text-decoration: underline; }
.cat-teaser .cat-grid { grid-template-columns: repeat(3, 1fr); }
.cat-teaser__foot { margin-top: 36px; padding-top: 20px; border-top: var(--hairline); font-family: var(--font-mono); font-size: 12px; letter-spacing: 0.02em; color: var(--fg-muted); }

/* ---------- Responsive ---------------------------------- */
@media (max-width: 1020px) {
  .cat-grid, .cat-teaser .cat-grid { grid-template-columns: repeat(2, 1fr); }
  .rep-parts__grid { grid-template-columns: repeat(2, 1fr); }
  .rep-part { border-right: 0; border-bottom: var(--hairline); padding: 24px 0; }
  .rep-part + .rep-part { padding-left: 0; }
}

@media (max-width: 920px) {
  .rep-head__grid, .cat-foot__grid { grid-template-columns: 1fr; gap: 40px; }
  .cat-head h1 { font-size: 34px; }
  .rep-head h1 { font-size: 34px; }
  .cat-foot h2, .rep-parts h2 { font-size: 28px; }
}

@media (max-width: 640px) {
  .cat-head { padding: 40px 0 32px; }
  .cat-head h1, .rep-head h1 { font-size: 28px; }
  .cat-head__lede, .rep-head__lede { font-size: 16px; }
  .cat-body { padding: 36px 0 64px; }
  .cat-grid, .cat-teaser .cat-grid { grid-template-columns: 1fr; }
  .rep-parts__grid { grid-template-columns: 1fr; }
  .cat-card { padding: 22px; }
  /* One card per row — nothing to align against, so drop the reserved row. */
  .cat-grid--flagged .cat-card:not(.cat-card--flagged)::before { display: none; }
  .cat-empty { padding: 28px; }
  .cat-foot { padding: 56px 0; }
  .rep-head { padding: 40px 0 48px; }
  .rep-parts { padding: 56px 0; }
  .rep-head__cta .btn, .cat-foot__cta .btn { width: 100%; justify-content: center; }
  .cat-tools { gap: 18px; }
  .cat-search { order: -1; flex: 1 1 100%; margin-left: 0; }
  .cat-filters { gap: 14px; width: 100%; }
  .cat-filter { width: 100%; }
  .cat-filter__lbl { flex: 0 0 100%; }
  .rep-price__v { font-size: 34px; }
}

@media print {
  .cat-tools, .cat-foot, .rep-head__cta { display: none; }
}

/* ---- /vendor/cookieconsent-3.1.0.css ---- */
#cc-main{background:transparent;color:var(--cc-primary-color);font-family:var(--cc-font-family);font-size:16px;font-weight:400;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;line-height:1.15;position:relative;text-rendering:optimizeLegibility;-webkit-text-size-adjust:100%;position:fixed;z-index:var(--cc-z-index)}#cc-main :after,#cc-main :before,#cc-main a,#cc-main button,#cc-main div,#cc-main h2,#cc-main input,#cc-main p,#cc-main span{all:unset;box-sizing:border-box}#cc-main .pm__badge,#cc-main button{all:initial;box-sizing:border-box;color:unset;visibility:unset}#cc-main .pm__badge,#cc-main a,#cc-main button,#cc-main input{-webkit-appearance:none;appearance:none;cursor:pointer;font-family:inherit;font-size:100%;line-height:normal;margin:0;outline:revert;outline-offset:2px;overflow:hidden}#cc-main table,#cc-main tbody,#cc-main td,#cc-main th,#cc-main thead,#cc-main tr{all:revert;color:inherit;font-family:inherit;font-size:inherit;font-weight:inherit}:root{--cc-font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol";--cc-modal-border-radius:.5rem;--cc-btn-border-radius:.4rem;--cc-modal-transition-duration:.25s;--cc-link-color:var(--cc-btn-primary-bg);--cc-modal-margin:1rem;--cc-z-index:2147483647;--cc-bg:#fff;--cc-primary-color:#2c2f31;--cc-secondary-color:#5e6266;--cc-btn-primary-bg:#30363c;--cc-btn-primary-color:#fff;--cc-btn-primary-border-color:var(--cc-btn-primary-bg);--cc-btn-primary-hover-bg:#000;--cc-btn-primary-hover-color:#fff;--cc-btn-primary-hover-border-color:var(--cc-btn-primary-hover-bg);--cc-btn-secondary-bg:#eaeff2;--cc-btn-secondary-color:var(--cc-primary-color);--cc-btn-secondary-border-color:var(--cc-btn-secondary-bg);--cc-btn-secondary-hover-bg:#d4dae0;--cc-btn-secondary-hover-color:#000;--cc-btn-secondary-hover-border-color:#d4dae0;--cc-separator-border-color:#f0f4f7;--cc-toggle-on-bg:var(--cc-btn-primary-bg);--cc-toggle-off-bg:#667481;--cc-toggle-on-knob-bg:#fff;--cc-toggle-off-knob-bg:var(--cc-toggle-on-knob-bg);--cc-toggle-enabled-icon-color:var(--cc-bg);--cc-toggle-disabled-icon-color:var(--cc-bg);--cc-toggle-readonly-bg:#d5dee2;--cc-toggle-readonly-knob-bg:#fff;--cc-toggle-readonly-knob-icon-color:var(--cc-toggle-readonly-bg);--cc-section-category-border:var(--cc-cookie-category-block-bg);--cc-cookie-category-block-bg:#f0f4f7;--cc-cookie-category-block-border:#f0f4f7;--cc-cookie-category-block-hover-bg:#e9eff4;--cc-cookie-category-block-hover-border:#e9eff4;--cc-cookie-category-expanded-block-bg:transparent;--cc-cookie-category-expanded-block-hover-bg:#dee4e9;--cc-overlay-bg:rgba(0,0,0,.65);--cc-webkit-scrollbar-bg:var(--cc-section-category-border);--cc-webkit-scrollbar-hover-bg:var(--cc-btn-primary-hover-bg);--cc-footer-bg:var(--cc-btn-secondary-bg);--cc-footer-color:var(--cc-secondary-color);--cc-footer-border-color:#e4eaed;--cc-pm-toggle-border-radius:4em}#cc-main.cc--rtl{direction:rtl}#cc-main .cm__title,#cc-main a,#cc-main b,#cc-main em,#cc-main strong{font-weight:600}#cc-main button>span{pointer-events:none}#cc-main .cc__link,#cc-main a{background-image:linear-gradient(currentColor,currentColor);background-position:0 100%;background-repeat:no-repeat;background-size:0 1px;font-weight:600;position:relative;transition:background-size .25s,color .25s ease}#cc-main .cc__link:hover,#cc-main a:hover{background-size:100% 1px;color:var(--cc-primary-color)}#cc-main .cc__link{color:var(--cc-link-color)}#cc-main .cm__desc,#cc-main .pm__body{overscroll-behavior:auto contain;scrollbar-width:thin}@media screen and (min-width:640px){#cc-main ::-webkit-scrollbar,#cc-main ::-webkit-scrollbar-thumb,#cc-main ::-webkit-scrollbar-track{all:revert}#cc-main ::-webkit-scrollbar-thumb{-webkit-background-clip:padding-box;background-clip:padding-box;background:var(--cc-toggle-readonly-bg);border:.25rem solid var(--cc-bg);border-radius:1rem}#cc-main ::-webkit-scrollbar-thumb:hover{background:var(--cc-toggle-off-bg)}#cc-main ::-webkit-scrollbar{background:transparent;width:12px}}html.disable--interaction.show--consent,html.disable--interaction.show--consent body{height:auto!important;overflow:hidden!important}@media (prefers-reduced-motion){#cc-main{--cc-modal-transition-duration:0s}}.cc--darkmode{--cc-bg:#161a1c;--cc-primary-color:#ebf3f6;--cc-secondary-color:#aebbc5;--cc-btn-primary-bg:#c2d0e0;--cc-btn-primary-color:var(--cc-bg);--cc-btn-primary-border-color:var(--cc-btn-primary-bg);--cc-btn-primary-hover-bg:#98a7b6;--cc-btn-primary-hover-color:#000;--cc-btn-primary-hover-border-color:var(--cc-btn-primary-hover-bg);--cc-btn-secondary-bg:#242c31;--cc-btn-secondary-color:var(--cc-primary-color);--cc-btn-secondary-border-color:var(--cc-btn-secondary-bg);--cc-btn-secondary-hover-bg:#353d43;--cc-btn-secondary-hover-color:#fff;--cc-btn-secondary-hover-border-color:var(--cc-btn-secondary-hover-bg);--cc-separator-border-color:#222a30;--cc-toggle-on-bg:var(--cc-btn-primary-bg);--cc-toggle-off-bg:#525f6b;--cc-toggle-on-knob-bg:var(--cc-btn-primary-color);--cc-toggle-off-knob-bg:var(--cc-btn-primary-color);--cc-toggle-enabled-icon-color:var(--cc-btn-primary-color);--cc-toggle-disabled-icon-color:var(--cc-btn-primary-color);--cc-toggle-readonly-bg:#343e45;--cc-toggle-readonly-knob-bg:#5f6b72;--cc-toggle-readonly-knob-icon-color:var(--cc-toggle-readonly-bg);--cc-section-category-border:#1e2428;--cc-cookie-category-block-bg:#1e2428;--cc-cookie-category-block-border:var(--cc-section-category-border);--cc-cookie-category-block-hover-bg:#242c31;--cc-cookie-category-block-hover-border:#232a2f;--cc-cookie-category-expanded-block-bg:transparent;--cc-cookie-category-expanded-block-hover-bg:var(--cc-toggle-readonly-bg);--cc-overlay-bg:rgba(0,0,0,.65);--cc-webkit-scrollbar-bg:var(--cc-section-category-border);--cc-webkit-scrollbar-hover-bg:var(--cc-btn-primary-hover-bg);--cc-footer-bg:#0c0e0f;--cc-footer-color:var(--cc-secondary-color);--cc-footer-border-color:#060809}.cc--darkmode #cc-main{color-scheme:dark}#cc-main .cm{background:var(--cc-bg);border-radius:var(--cc-modal-border-radius);box-shadow:0 .625em 1.875em rgba(0,0,2,.3);display:flex;flex-direction:column;max-width:24rem;opacity:0;overflow:hidden;position:fixed;transform:translateY(1.6em);visibility:hidden;z-index:1}#cc-main .cm--top{top:var(--cc-modal-margin)}#cc-main .cm--middle{top:50%;transform:translateY(calc(-50% + 1.6em))}#cc-main .cm--bottom{bottom:var(--cc-modal-margin)}#cc-main .cm--center{left:var(--cc-modal-margin);margin:0 auto;right:var(--cc-modal-margin);width:unset}#cc-main .cm--left{left:var(--cc-modal-margin);margin-right:var(--cc-modal-margin)}#cc-main .cm--right{margin-left:var(--cc-modal-margin);right:var(--cc-modal-margin)}#cc-main .cm__body{display:flex;flex-direction:column;justify-content:space-between;position:relative}#cc-main .cm__btns,#cc-main .cm__links{padding:1rem 1.3rem;width:unset}#cc-main .cm__texts{display:flex;flex:1;flex-direction:column;justify-content:center;padding:1rem 0 0}#cc-main .cm__desc,#cc-main .cm__title{padding:0 1.3rem}#cc-main .cm__title{font-size:1.05em}#cc-main .cm__title+.cm__desc{margin-top:1.1em}#cc-main .cm__desc{color:var(--cc-secondary-color);font-size:.9em;line-height:1.5;max-height:40vh;overflow-x:visible;overflow-y:auto;padding-bottom:1em}#cc-main .cm__btns{border-top:1px solid var(--cc-separator-border-color);display:flex;flex-direction:column;justify-content:center}#cc-main .cm__btn-group{display:grid;grid-auto-columns:minmax(0,1fr)}#cc-main .cm__btn+.cm__btn,#cc-main .cm__btn-group+.cm__btn-group{margin-top:.375rem}#cc-main .cm--flip .cm__btn+.cm__btn,#cc-main .cm--flip .cm__btn-group+.cm__btn-group{margin-bottom:.375rem;margin-top:0}#cc-main .cm--inline .cm__btn+.cm__btn{margin-left:.375rem;margin-top:0}#cc-main .cm--inline.cm--flip .cm__btn+.cm__btn{margin-bottom:0;margin-left:0;margin-right:.375rem}#cc-main .cm--inline.cm--flip .cm__btn-group+.cm__btn-group{margin-bottom:.375rem;margin-right:0}#cc-main .cm--wide .cm__btn+.cm__btn,#cc-main .cm--wide .cm__btn-group+.cm__btn-group{margin-left:.375rem;margin-top:0}#cc-main .cm--wide.cm--flip .cm__btn+.cm__btn,#cc-main .cm--wide.cm--flip .cm__btn-group+.cm__btn-group{margin-bottom:0;margin-right:.375rem}#cc-main .cm--bar:not(.cm--inline) .cm__btn-group--uneven,#cc-main .cm--wide .cm__btn-group--uneven{display:flex;flex:1;justify-content:space-between}#cc-main .cm--bar:not(.cm--inline).cm--flip .cm__btn-group--uneven,#cc-main .cm--wide.cm--flip .cm__btn-group--uneven{flex-direction:row-reverse}#cc-main .cm__btn{background:var(--cc-btn-primary-bg);border:1px solid var(--cc-btn-primary-border-color);border-radius:var(--cc-btn-border-radius);color:var(--cc-btn-primary-color);font-size:.82em;font-weight:600;min-height:42px;padding:.5em 1em;text-align:center}#cc-main .cm__btn:hover{background:var(--cc-btn-primary-hover-bg);border-color:var(--cc-btn-primary-hover-border-color);color:var(--cc-btn-primary-hover-color)}#cc-main .cm__btn--secondary{background:var(--cc-btn-secondary-bg);border-color:var(--cc-btn-secondary-border-color);color:var(--cc-btn-secondary-color)}#cc-main .cm__btn--secondary:hover{background:var(--cc-btn-secondary-hover-bg);border-color:var(--cc-btn-secondary-hover-border-color);color:var(--cc-btn-secondary-hover-color)}#cc-main .cm__btn--close{border-radius:0;border-bottom-left-radius:var(--cc-btn-border-radius);border-right:none;border-top:none;display:none;font-size:1em;height:42px;min-width:auto!important;overflow:hidden;padding:0!important;position:absolute;right:0;top:0;width:42px}#cc-main .cm__btn--close svg{stroke:var(--cc-btn-primary-color);transform:scale(.5);transition:stroke .15s ease}#cc-main .cm__btn--close:hover svg{stroke:var(--cc-btn-primary-hover-color)}#cc-main .cm__btn--close.cm__btn--secondary svg{stroke:var(--cc-btn-secondary-color)}#cc-main .cm__btn--close.cm__btn--secondary:hover svg{stroke:var(--cc-btn-secondary-hover-color)}#cc-main .cm__btn--close+.cm__texts .cm__title{padding-right:3rem}#cc-main .cm--inline .cm__btn-group{grid-auto-flow:column}#cc-main .cm__footer{background:var(--cc-footer-bg);border-top:1px solid var(--cc-footer-border-color);color:var(--cc-footer-color);padding:.4em 0 .5em}#cc-main .cm__links{display:flex;flex-direction:row;padding-bottom:0;padding-top:0}#cc-main .cm__link-group{display:flex;flex-direction:row;font-size:.8em;width:100%}#cc-main .cm__link-group>*+*{margin-left:1.3rem}#cc-main .cm--flip .cm__btn:last-child{grid-row:1}#cc-main .cm--inline.cm--flip .cm__btn:last-child{grid-column:1}#cc-main .cm--box .cm__btn--close{display:block}#cc-main .cm--box.cm--flip .cm__btns{flex-direction:column-reverse}#cc-main .cm--box.cm--wide{max-width:36em}#cc-main .cm--box.cm--wide .cm__btns{flex-direction:row;justify-content:space-between}#cc-main .cm--box.cm--wide .cm__btn-group{grid-auto-flow:column}#cc-main .cm--box.cm--wide .cm__btn{min-width:120px;padding-left:1.8em;padding-right:1.8em}#cc-main .cm--box.cm--wide.cm--flip .cm__btns{flex-direction:row-reverse}#cc-main .cm--box.cm--wide.cm--flip .cm__btn:last-child{grid-column:1}#cc-main .cm--cloud{max-width:54em;width:unset}#cc-main .cm--cloud .cm__body{flex-direction:row}#cc-main .cm--cloud .cm__texts{flex:1}#cc-main .cm--cloud .cm__desc{max-height:9.4em}#cc-main .cm--cloud .cm__btns{border-left:1px solid var(--cc-separator-border-color);border-top:none;max-width:23em}#cc-main .cm--cloud .cm__btn-group{flex-direction:column}#cc-main .cm--cloud .cm__btn{min-width:19em}#cc-main .cm--cloud.cm--flip .cm__btn-group,#cc-main .cm--cloud.cm--flip .cm__btns{flex-direction:column-reverse}#cc-main .cm--cloud.cm--inline .cm__btn-group{flex-direction:row}#cc-main .cm--cloud.cm--inline .cm__btn{min-width:10em}#cc-main .cm--cloud.cm--inline.cm--flip .cm__btn-group{flex-direction:row-reverse}#cc-main .cm--bar{border-radius:0;left:0;margin:0;max-width:unset;opacity:1;right:0;transform:translateY(0);width:100vw;--cc-modal-transition-duration:.35s}#cc-main .cm--bar.cm--top{top:0;transform:translateY(-100%)}#cc-main .cm--bar.cm--bottom{bottom:0;transform:translateY(100%)}#cc-main .cm--bar .cm__body,#cc-main .cm--bar .cm__links{margin:0 auto;max-width:55em;width:100%}#cc-main .cm--bar .cm__body{padding:.5em 0 .9em}#cc-main .cm--bar .cm__btns{border-top:none;flex-direction:row;justify-content:space-between}#cc-main .cm--bar .cm__btn-group{grid-auto-flow:column}#cc-main .cm--bar:not(.cm--inline) .cm__btn+.cm__btn,#cc-main .cm--bar:not(.cm--inline) .cm__btn-group+.cm__btn-group{margin-left:.375rem;margin-top:0}#cc-main .cm--bar .cm__btn{min-width:120px;padding-left:2em;padding-right:2em}#cc-main .cm--bar.cm--flip:not(.cm--inline) .cm__btn+.cm__btn,#cc-main .cm--bar.cm--flip:not(.cm--inline) .cm__btn-group+.cm__btn-group{margin-bottom:0;margin-left:0;margin-right:.375rem}#cc-main .cm--bar.cm--flip .cm__btns{flex-direction:row-reverse}#cc-main .cm--bar.cm--flip .cm__btn:last-child{grid-column:1}#cc-main .cm--bar.cm--inline .cm__body,#cc-main .cm--bar.cm--inline .cm__links{max-width:74em}#cc-main .cm--bar.cm--inline .cm__body{flex-direction:row;padding:0}#cc-main .cm--bar.cm--inline .cm__btns{flex-direction:column;justify-content:center;max-width:23em}#cc-main .cm--bar.cm--inline.cm--flip .cm__btns{flex-direction:column-reverse}#cc-main .cc--anim .cm,#cc-main .cc--anim.cm-wrapper:before{transition:opacity var(--cc-modal-transition-duration) ease,visibility var(--cc-modal-transition-duration) ease,transform var(--cc-modal-transition-duration) ease}#cc-main .cc--anim .cm__btn,#cc-main .cc--anim .cm__close{transition:background-color .15s ease,border-color .15s ease,color .15s ease}.disable--interaction #cc-main .cm-wrapper:before{background:var(--cc-overlay-bg);bottom:0;content:"";left:0;opacity:0;position:fixed;right:0;top:0;visibility:hidden;z-index:0}.show--consent #cc-main .cc--anim .cm{opacity:1;transform:translateY(0);visibility:visible!important}.show--consent #cc-main .cc--anim .cm--middle{transform:translateY(-50%)}.show--consent #cc-main .cc--anim .cm--bar{transform:translateY(0)}.show--consent #cc-main .cc--anim.cm-wrapper:before{opacity:1;visibility:visible}#cc-main.cc--rtl .cm__btn--close{border-bottom-left-radius:unset;border-bottom-right-radius:var(--cc-btn-border-radius);left:0;right:unset}#cc-main.cc--rtl .cm__btn--close+.cm__texts .cm__title{padding-left:3rem!important;padding-right:1.3rem}#cc-main.cc--rtl .cm--inline .cm__btn+.cm__btn{margin-left:0;margin-right:.375rem}#cc-main.cc--rtl .cm--inline.cm--flip .cm__btn+.cm__btn{margin-left:.375rem;margin-right:0}#cc-main.cc--rtl .cm:not(.cm--inline).cm--bar .cm__btn+.cm__btn,#cc-main.cc--rtl .cm:not(.cm--inline).cm--bar .cm__btn-group+.cm__btn-group,#cc-main.cc--rtl .cm:not(.cm--inline).cm--wide .cm__btn+.cm__btn,#cc-main.cc--rtl .cm:not(.cm--inline).cm--wide .cm__btn-group+.cm__btn-group{margin-left:0;margin-right:.375rem}#cc-main.cc--rtl .cm:not(.cm--inline).cm--bar.cm--flip .cm__btn+.cm__btn,#cc-main.cc--rtl .cm:not(.cm--inline).cm--wide.cm--flip .cm__btn+.cm__btn{margin-left:.375rem;margin-right:0}#cc-main.cc--rtl .cm__link-group>*+*{margin-left:0;margin-right:1.3rem}@media screen and (max-width:640px){#cc-main{--cc-modal-margin:.5em}#cc-main .cm{max-width:none!important;width:auto!important}#cc-main .cm__body{flex-direction:column!important;padding:0!important}#cc-main .cm__btns,#cc-main .cm__desc,#cc-main .cm__links,#cc-main .cm__title{padding-left:1.1rem!important;padding-right:1.1rem!important}#cc-main .cm__btns{border-left:none!important;border-top:1px solid var(--cc-separator-border-color)!important;flex-direction:column!important;max-width:none!important;min-width:auto!important}#cc-main .cm__btn+.cm__btn,#cc-main .cm__btn-group+.cm__btn-group{margin:.375rem 0 0!important}#cc-main .cm--flip .cm__btn+.cm__btn,#cc-main .cm--flip .cm__btn-group+.cm__btn-group{margin-bottom:.375rem!important;margin-top:0!important}#cc-main .cm__btn-group{display:flex!important;flex-direction:column!important;min-width:auto!important}#cc-main .cm__btn{flex:auto!important}#cc-main .cm__link-group{justify-content:center!important}#cc-main .cm--flip .cm__btn-group,#cc-main .cm--flip .cm__btns{flex-direction:column-reverse!important}}#cc-main .pm-wrapper{position:relative;z-index:2}#cc-main .pm{background:var(--cc-bg);border-radius:var(--cc-modal-border-radius);box-shadow:0 .625em 1.875em rgba(0,0,2,.3);display:flex;flex-direction:column;opacity:0;overflow:hidden;position:fixed;visibility:hidden;width:100%;width:unset;z-index:1}#cc-main svg{fill:none;width:100%}#cc-main .pm__body,#cc-main .pm__footer,#cc-main .pm__header{padding:1em 1.4em}#cc-main .pm__header{align-items:center;border-bottom:1px solid var(--cc-separator-border-color);display:flex;justify-content:space-between}#cc-main .pm__title{align-items:center;display:flex;flex:1;font-weight:600;margin-right:2em}#cc-main .pm__close-btn{background:var(--cc-btn-secondary-bg);border:1px solid var(--cc-btn-secondary-border-color);border-radius:var(--cc-btn-border-radius);height:40px;position:relative;transition:all .15s ease;width:40px}#cc-main .pm__close-btn span{display:flex;height:100%;width:100%}#cc-main .pm__close-btn svg{stroke:var(--cc-btn-secondary-color);transform:scale(.5);transition:stroke .15s ease}#cc-main .pm__close-btn:hover{background:var(--cc-btn-secondary-hover-bg);border-color:var(--cc-btn-secondary-hover-border-color)}#cc-main .pm__close-btn:hover svg{stroke:var(--cc-btn-secondary-hover-color)}#cc-main .pm__body{flex:1;overflow-y:auto;overflow-y:overlay}#cc-main .pm__section,#cc-main .pm__section--toggle{border-radius:var(--cc-btn-border-radius);display:flex;flex-direction:column;margin-bottom:.5em}#cc-main .pm__section--toggle .pm__section-desc-wrapper{border:1px solid var(--cc-cookie-category-block-border);border-radius:var(--cc-btn-border-radius);border-top:none;border-top-left-radius:0;border-top-right-radius:0;display:none;margin-top:0!important;overflow:hidden}#cc-main .pm__section{border:1px solid var(--cc-separator-border-color);padding:1em;transition:background-color .25s ease,border-color .25s ease}#cc-main .pm__section:first-child{border:none;margin-bottom:2em;margin-top:0;padding:0;transition:none}#cc-main .pm__section:not(:first-child):hover{background:var(--cc-cookie-category-block-bg);border-color:var(--cc-cookie-category-block-border)}#cc-main .pm__section-toggles+.pm__section{margin-top:2em}#cc-main .pm__section--toggle{background:var(--cc-cookie-category-block-bg);border-top:none;margin-bottom:.375rem}#cc-main .pm__section--toggle .pm__section-title{align-items:center;background:var(--cc-cookie-category-block-bg);border:1px solid var(--cc-cookie-category-block-border);display:flex;justify-content:space-between;min-height:58px;padding:1.1em 5.4em 1.1em 1.2em;position:relative;transition:background-color .25s ease,border-color .25s ease;width:100%}#cc-main .pm__section--toggle .pm__section-title:hover{background:var(--cc-cookie-category-block-hover-bg);border-color:var(--cc-cookie-category-block-hover-border)}#cc-main .pm__section--toggle .pm__section-desc{margin-top:0;padding:1em}#cc-main .pm__section--toggle.is-expanded{--cc-cookie-category-block-bg:var(--cc-cookie-category-expanded-block-bg);--cc-cookie-category-block-border:var(--cc-cookie-category-expanded-block-hover-bg)}#cc-main .pm__section--toggle.is-expanded .pm__section-title{border-bottom-left-radius:0;border-bottom-right-radius:0}#cc-main .pm__section--toggle.is-expanded .pm__section-arrow svg{transform:scale(.5) rotate(180deg)}#cc-main .pm__section--toggle.is-expanded .pm__section-desc-wrapper{display:flex}#cc-main .pm__section--expandable .pm__section-title{cursor:pointer;padding-left:3.4em}#cc-main .pm__section--expandable .pm__section-arrow{background:var(--cc-toggle-readonly-bg);border-radius:100%;display:flex;height:20px;justify-content:center;left:18px;pointer-events:none;position:absolute;width:20px}#cc-main .pm__section--expandable .pm__section-arrow svg{stroke:var(--cc-btn-secondary-color);transform:scale(.5)}#cc-main .pm__section-title-wrapper{align-items:center;display:flex;position:relative}#cc-main .pm__section-title-wrapper+.pm__section-desc-wrapper{margin-top:.85em}#cc-main .pm__section-title{border-radius:var(--cc-btn-border-radius);font-size:.95em;font-weight:600}#cc-main .pm__badge{align-items:center;background:var(--cc-btn-secondary-bg);border-radius:5em;color:var(--cc-secondary-color);display:flex;flex:none;font-size:.8em;font-weight:600;height:23px;justify-content:center;margin-left:1em;min-width:23px;overflow:hidden;padding:0 .6em 1px;position:relative;text-align:center;white-space:nowrap;width:auto}#cc-main .pm__service-counter{background:var(--cc-btn-primary-bg);color:var(--cc-btn-primary-color);padding:0;width:23px}#cc-main .pm__service-counter[data-counterlabel]{padding:0 .6em 1px;width:auto}#cc-main .section__toggle,#cc-main .section__toggle-wrapper,#cc-main .toggle__icon,#cc-main .toggle__label{border-radius:var(--cc-pm-toggle-border-radius);height:23px;transform:translateZ(0);width:50px}#cc-main .section__toggle-wrapper{cursor:pointer;position:absolute;right:18px;z-index:1}#cc-main .toggle-service{height:19px;position:relative;right:0;width:42px}#cc-main .toggle-service .section__toggle,#cc-main .toggle-service .toggle__icon,#cc-main .toggle-service .toggle__label{height:19px;width:42px}#cc-main .toggle-service .toggle__icon{position:relative}#cc-main .toggle-service .toggle__icon-circle{height:19px;width:19px}#cc-main .toggle-service .section__toggle:checked~.toggle__icon .toggle__icon-circle{transform:translateX(23px)}#cc-main .pm__section--toggle:nth-child(2) .section__toggle-wrapper:after{display:none!important}#cc-main .section__toggle{border:0;cursor:pointer;display:block;left:0;margin:0;position:absolute;top:0}#cc-main .section__toggle:disabled{cursor:not-allowed}#cc-main .toggle__icon{background:var(--cc-toggle-off-bg);box-shadow:0 0 0 1px var(--cc-toggle-off-bg);display:flex;flex-direction:row;pointer-events:none;position:absolute;transition:all .25s ease}#cc-main .toggle__icon-circle{background:var(--cc-toggle-off-knob-bg);border:none;border-radius:var(--cc-pm-toggle-border-radius);box-shadow:0 1px 2px rgba(24,32,3,.36);display:block;height:23px;left:0;position:absolute;top:0;transition:transform .25s ease,background-color .25s ease;width:23px}#cc-main .toggle__icon-off,#cc-main .toggle__icon-on{height:100%;position:absolute;transition:opacity .15s ease;width:100%}#cc-main .toggle__icon-on{opacity:0;transform:rotate(45deg)}#cc-main .toggle__icon-on svg{stroke:var(--cc-toggle-on-bg);transform:scale(.55) rotate(-45deg)}#cc-main .toggle__icon-off{opacity:1}#cc-main .toggle__icon-off svg{stroke:var(--cc-toggle-off-bg);transform:scale(.55)}#cc-main .section__toggle:checked~.toggle__icon{background:var(--cc-toggle-on-bg);box-shadow:0 0 0 1px var(--cc-toggle-on-bg)}#cc-main .section__toggle:checked~.toggle__icon .toggle__icon-circle{background-color:var(--cc-toggle-on-knob-bg);transform:translateX(27px)}#cc-main .section__toggle:checked~.toggle__icon .toggle__icon-on{opacity:1}#cc-main .section__toggle:checked~.toggle__icon .toggle__icon-off{opacity:0}#cc-main .section__toggle:checked:disabled~.toggle__icon{background:var(--cc-toggle-readonly-bg);box-shadow:0 0 0 1px var(--cc-toggle-readonly-bg)}#cc-main .section__toggle:checked:disabled~.toggle__icon .toggle__icon-circle{background:var(--cc-toggle-readonly-knob-bg);box-shadow:none}#cc-main .section__toggle:checked:disabled~.toggle__icon svg{stroke:var(--cc-toggle-readonly-knob-icon-color)}#cc-main .toggle__label{opacity:0;overflow:hidden;pointer-events:none;position:absolute;top:0;z-index:-1}#cc-main .pm__section-desc-wrapper{color:var(--cc-secondary-color);display:flex;flex-direction:column;font-size:.9em}#cc-main .pm__section-desc-wrapper>:not(:last-child){border-bottom:1px solid var(--cc-cookie-category-block-border)}#cc-main .pm__section-services{display:flex;flex-direction:column}#cc-main .pm__service{align-items:center;display:flex;justify-content:space-between;padding:.4em 1.2em;position:relative;transition:background-color .15s ease}#cc-main .pm__service:hover{background-color:var(--cc-cookie-category-block-hover-bg)}#cc-main .pm__service-header{align-items:center;display:flex;margin-right:1em;width:100%}#cc-main .pm__service-icon{border:2px solid;border-radius:100%;height:8px;margin-left:6px;margin-right:20px;margin-top:1px;min-width:8px}#cc-main .pm__service-title{font-size:.95em;width:100%;word-break:break-word}#cc-main .pm__section-desc{line-height:1.5em}#cc-main .pm__section-table{border-collapse:collapse;font-size:.9em;margin:0;overflow:hidden;padding:0;text-align:left;width:100%}#cc-main .pm__table-caption{text-align:left}#cc-main .pm__table-caption,#cc-main .pm__table-head>tr{border-bottom:1px dashed var(--cc-separator-border-color);color:var(--cc-primary-color);font-weight:600}#cc-main .pm__table-tr{transition:background-color .15s ease}#cc-main .pm__table-tr:hover{background:var(--cc-cookie-category-block-hover-bg)}#cc-main .pm__table-caption,#cc-main .pm__table-td,#cc-main .pm__table-th{padding:.625em .625em .625em 1.2em;vertical-align:top}#cc-main .pm__footer{border-top:1px solid var(--cc-separator-border-color);display:flex;justify-content:space-between}#cc-main .pm__btn-group{display:flex}#cc-main .pm__btn+.pm__btn,#cc-main .pm__btn-group+.pm__btn-group{margin-left:.375rem}#cc-main .pm--flip .pm__btn+.pm__btn,#cc-main .pm--flip .pm__btn-group+.pm__btn-group{margin-left:0;margin-right:.375rem}#cc-main .pm__btn{background:var(--cc-btn-primary-bg);border:1px solid var(--cc-btn-primary-border-color);border-radius:var(--cc-btn-border-radius);color:var(--cc-btn-primary-color);flex:auto;font-size:.82em;font-weight:600;min-height:42px;min-width:110px;padding:.5em 1.5em;text-align:center;transition:background-color .15s ease,border-color .15s ease,color .15s ease}#cc-main .pm__btn:hover{background:var(--cc-btn-primary-hover-bg);border-color:var(--cc-btn-primary-hover-border-color);color:var(--cc-btn-primary-hover-color)}#cc-main .pm__btn--secondary{background:var(--cc-btn-secondary-bg);border-color:var(--cc-btn-secondary-border-color);color:var(--cc-btn-secondary-color)}#cc-main .pm__btn--secondary:hover{background:var(--cc-btn-secondary-hover-bg);border-color:var(--cc-btn-secondary-hover-border-color);color:var(--cc-btn-secondary-hover-color)}#cc-main .pm--box{height:calc(100% - 2em);left:var(--cc-modal-margin);margin:0 auto;max-height:37.5em;max-width:43em;right:var(--cc-modal-margin);top:50%;transform:translateY(calc(-50% + 1.6em))}#cc-main .pm--box.pm--flip .pm__btn-group,#cc-main .pm--box.pm--flip .pm__footer{flex-direction:row-reverse}#cc-main .pm--bar{border-radius:0;bottom:0;height:100%;margin:0;max-height:none;max-width:29em;opacity:1;top:0;width:100%;--cc-modal-transition-duration:.35s}#cc-main .pm--bar .pm__section-table,#cc-main .pm--bar .pm__table-body,#cc-main .pm--bar .pm__table-td,#cc-main .pm--bar .pm__table-th,#cc-main .pm--bar .pm__table-tr{display:block}#cc-main .pm--bar .pm__table-head{display:none}#cc-main .pm--bar .pm__table-caption{display:block}#cc-main .pm--bar .pm__table-tr:not(:last-child){border-bottom:1px solid var(--cc-separator-border-color)}#cc-main .pm--bar .pm__table-td{display:flex;justify-content:space-between}#cc-main .pm--bar .pm__table-td:before{color:var(--cc-primary-color);content:attr(data-column);flex:1;font-weight:600;min-width:100px;overflow:hidden;padding-right:2em;text-overflow:ellipsis}#cc-main .pm--bar .pm__table-td>div{flex:3}#cc-main .pm--bar:not(.pm--wide) .pm__body,#cc-main .pm--bar:not(.pm--wide) .pm__footer,#cc-main .pm--bar:not(.pm--wide) .pm__header{padding:1em 1.3em}#cc-main .pm--bar:not(.pm--wide) .pm__btn-group,#cc-main .pm--bar:not(.pm--wide) .pm__footer{flex-direction:column}#cc-main .pm--bar:not(.pm--wide) .pm__btn+.pm__btn,#cc-main .pm--bar:not(.pm--wide) .pm__btn-group+.pm__btn-group{margin:.375rem 0 0}#cc-main .pm--bar:not(.pm--wide).pm--flip .pm__btn-group,#cc-main .pm--bar:not(.pm--wide).pm--flip .pm__footer{flex-direction:column-reverse}#cc-main .pm--bar:not(.pm--wide).pm--flip .pm__btn+.pm__btn,#cc-main .pm--bar:not(.pm--wide).pm--flip .pm__btn-group+.pm__btn-group{margin-bottom:.375rem;margin-top:0}#cc-main .pm--bar:not(.pm--wide) .pm__badge{display:none}#cc-main .pm--bar.pm--left{left:0;transform:translateX(-100%)}#cc-main .pm--bar.pm--right{right:0;transform:translateX(100%)}#cc-main .pm--bar.pm--wide{max-width:35em}#cc-main .pm--bar.pm--wide .pm__body,#cc-main .pm--bar.pm--wide .pm__footer,#cc-main .pm--bar.pm--wide .pm__header{padding:1em 1.4em}#cc-main .pm--bar.pm--wide.pm--flip .pm__btn-group,#cc-main .pm--bar.pm--wide.pm--flip .pm__footer{flex-direction:row-reverse}#cc-main .pm-overlay{background:var(--cc-overlay-bg);bottom:0;content:"";left:0;opacity:0;position:fixed;right:0;top:0;visibility:hidden;z-index:1}#cc-main .cc--anim .pm,#cc-main .cc--anim .pm-overlay{transition:opacity var(--cc-modal-transition-duration) ease,visibility var(--cc-modal-transition-duration) ease,transform var(--cc-modal-transition-duration) ease}.show--preferences #cc-main .cc--anim .pm{opacity:1;visibility:visible!important}.show--preferences #cc-main .cc--anim .pm--box{transform:translateY(-50%)}.show--preferences #cc-main .cc--anim .pm--bar{transform:translateX(0)}.show--preferences #cc-main .cc--anim .pm-overlay{opacity:1;visibility:visible}#cc-main.cc--rtl .pm__service-header{margin-left:1em;margin-right:0}#cc-main.cc--rtl .pm__section-arrow{left:unset;right:18px}#cc-main.cc--rtl .section__toggle-wrapper{left:18px;right:unset;transform-origin:left}#cc-main.cc--rtl .toggle-service{left:0}#cc-main.cc--rtl .pm__service-icon{margin-left:20px;margin-right:5px}#cc-main.cc--rtl .pm__section--toggle .pm__section-title{padding-left:5.4em;padding-right:1.2em}#cc-main.cc--rtl .pm__section--expandable .pm__section-title{padding-right:3.4em}#cc-main.cc--rtl .pm__badge{margin-left:unset;margin-right:1em}#cc-main.cc--rtl .toggle__icon-circle{transform:translateX(27px)}#cc-main.cc--rtl .toggle-service .toggle__icon-circle{transform:translateX(23px)}#cc-main.cc--rtl .section__toggle:checked~.toggle__icon .toggle__icon-circle{transform:translateX(0)}#cc-main.cc--rtl .pm__table-td,#cc-main.cc--rtl .pm__table-th{padding-left:unset;padding-right:1.2em;text-align:right}#cc-main.cc--rtl .pm__table-td{padding-left:unset;padding-right:1.2em}#cc-main.cc--rtl .pm__table-td:before{padding-left:2em;padding-right:unset}#cc-main.cc--rtl .pm__btn+.pm__btn,#cc-main.cc--rtl .pm__btn-group+.pm__btn-group{margin-left:0;margin-right:.375rem}#cc-main.cc--rtl .pm--flip .pm__btn+.pm__btn,#cc-main.cc--rtl .pm--flip .pm__btn-group+.pm__btn-group{margin-left:.375rem;margin-right:0}#cc-main.cc--rtl .pm--flip.pm--bar:not(.pm--wide) .pm__btn+.pm__btn,#cc-main.cc--rtl .pm--flip.pm--bar:not(.pm--wide) .pm__btn-group+.pm__btn-group{margin-left:0}@media screen and (max-width:640px){#cc-main .pm{border-radius:0;bottom:0;height:auto;left:0;max-height:100%;max-width:none!important;right:0;top:0;transform:translateY(1.6em)}#cc-main .pm__body,#cc-main .pm__footer,#cc-main .pm__header{padding:.9em!important}#cc-main .pm__badge{display:none}#cc-main .pm__section-table,#cc-main .pm__table-body,#cc-main .pm__table-caption,#cc-main .pm__table-td,#cc-main .pm__table-th,#cc-main .pm__table-tr{display:block}#cc-main .pm__table-head{display:none}#cc-main .pm__table-tr:not(:last-child){border-bottom:1px solid var(--cc-separator-border-color)}#cc-main .pm__table-td{display:flex;justify-content:space-between}#cc-main .pm__table-td:before{color:var(--cc-primary-color);content:attr(data-column);flex:1;font-weight:600;min-width:100px;overflow:hidden;padding-right:2em;text-overflow:ellipsis}#cc-main .pm__table-td>div{flex:3}#cc-main .pm__btn-group,#cc-main .pm__footer{flex-direction:column!important}#cc-main .pm__btn-group{display:flex!important}#cc-main .pm__btn+.pm__btn,#cc-main .pm__btn-group+.pm__btn-group{margin:.375rem 0 0!important}#cc-main .pm--flip .pm__btn+.pm__btn,#cc-main .pm--flip .pm__btn-group+.pm__btn-group{margin-bottom:.375rem!important;margin-top:0!important}#cc-main .pm--flip .pm__btn-group,#cc-main .pm--flip .pm__footer{flex-direction:column-reverse!important}.show--preferences #cc-main .cc--anim .pm{transform:translateY(0)!important}}