:root {
  --tp-bg: #0e1822;
  --tp-bg-soft: #142331;
  --tp-surface: #172735;
  --tp-surface-strong: #1b2d3d;
  --tp-text: #f6f8fb;
  --tp-muted: #acbac6;
  --tp-line: rgba(231, 239, 246, 0.13);
  --tp-line-strong: rgba(231, 239, 246, 0.24);
  --tp-header: #071827;
  --tp-accent: #b9ed28;
  --tp-accent-rgb: 185, 237, 40;
  --tp-accent-2: #43b7cb;
  --tp-accent-2-rgb: 67, 183, 203;
  --tp-accent-ink: #142000;
  --tp-accent-text: var(--tp-accent);
  --tp-focus: var(--tp-accent);
  --tp-blue: #43b7cb;
  --tp-blue-text: #43b7cb;
  --tp-purple: #9b78e8;
  --tp-orange: #f2a33a;
  --tp-shadow: 0 24px 70px rgba(0, 0, 0, 0.24);
  --tp-radius: 22px;
  --tp-max: 1180px;
  --tp-ease-out: cubic-bezier(0.16, 1, 0.3, 1);
}

html[data-theme="light"] {
  --tp-bg: #faf8f2;
  --tp-bg-soft: #f2eee4;
  --tp-surface: #ffffff;
  --tp-surface-strong: #f7f4ec;
  --tp-text: #0b1d2c;
  --tp-muted: #536474;
  --tp-line: rgba(11, 29, 44, 0.12);
  --tp-line-strong: rgba(11, 29, 44, 0.22);
  --tp-shadow: 0 24px 70px rgba(24, 39, 51, 0.1);
  --tp-accent-text: #4f6500;
  --tp-focus: #4f6500;
  --tp-blue-text: #0b6978;
}

html {
  scroll-padding-top: 86px;
}

body {
  background: var(--tp-bg) !important;
  color: var(--tp-text);
}

body:has(.trust-page) {
  min-height: 100%;
}

.trust-page {
  min-height: 100vh;
  padding: 0;
  overflow: clip;
  background: var(--tp-bg);
  color: var(--tp-text);
}

.tp-shell--faq,
.trust-page--faq {
  --tp-accent: #b9ed28;
  --tp-accent-rgb: 185, 237, 40;
  --tp-accent-2: #43b7cb;
  --tp-accent-2-rgb: 67, 183, 203;
  --tp-accent-ink: #142000;
}

.tp-shell--privacy,
.trust-page--privacy {
  --tp-accent: #45c7b2;
  --tp-accent-rgb: 69, 199, 178;
  --tp-accent-2: #9ed65a;
  --tp-accent-2-rgb: 158, 214, 90;
  --tp-accent-ink: #061f1b;
}

.tp-shell--cookies,
.trust-page--cookies {
  --tp-accent: #f5a83c;
  --tp-accent-rgb: 245, 168, 60;
  --tp-accent-2: #f26f4f;
  --tp-accent-2-rgb: 242, 111, 79;
  --tp-accent-ink: #2a1600;
}

.tp-shell--terms,
.trust-page--terms {
  --tp-accent: #a98af0;
  --tp-accent-rgb: 169, 138, 240;
  --tp-accent-2: #4f83dc;
  --tp-accent-2-rgb: 79, 131, 220;
  --tp-accent-ink: #180a36;
}

html:not([data-theme="light"]) body.tp-shell--faq {
  --tp-bg: #071421;
  --tp-bg-soft: #0b1b2a;
  --tp-surface: #0d2030;
  --tp-surface-strong: #102637;
  --tp-text: #f7fbff;
  --tp-muted: #a8b7c5;
  --tp-line: rgba(225, 238, 247, 0.13);
  --tp-line-strong: rgba(225, 238, 247, 0.24);
}

html:not([data-theme="light"]) body.tp-shell--privacy {
  --tp-bg: #071512;
  --tp-bg-soft: #0b211c;
  --tp-surface: #0e2922;
  --tp-surface-strong: #123229;
  --tp-text: #f4fbf8;
  --tp-muted: #adc2ba;
  --tp-line: rgba(218, 242, 232, 0.13);
  --tp-line-strong: rgba(218, 242, 232, 0.24);
}

html:not([data-theme="light"]) body.tp-shell--cookies {
  --tp-bg: #151109;
  --tp-bg-soft: #21190c;
  --tp-surface: #241b0f;
  --tp-surface-strong: #2d2112;
  --tp-text: #fff8eb;
  --tp-muted: #c6b79f;
  --tp-line: rgba(255, 239, 211, 0.13);
  --tp-line-strong: rgba(255, 239, 211, 0.24);
}

html:not([data-theme="light"]) body.tp-shell--terms {
  --tp-bg: #030d17;
  --tp-bg-soft: #071421;
  --tp-surface: #0b1724;
  --tp-surface-strong: #111d2c;
  --tp-text: #f6f8ff;
  --tp-muted: #aab6ca;
  --tp-line: rgba(210, 220, 242, 0.13);
  --tp-line-strong: rgba(210, 220, 242, 0.24);
}

html[data-theme="light"] body.tp-shell--faq {
  --tp-bg: #f7f5ef;
  --tp-bg-soft: #f0eee7;
  --tp-surface: #ffffff;
  --tp-surface-strong: #f8f7f3;
  --tp-text: #102438;
  --tp-muted: #586978;
  --tp-line: rgba(16, 36, 56, 0.12);
  --tp-line-strong: rgba(16, 36, 56, 0.22);
}

html[data-theme="light"] body.tp-shell--privacy {
  --tp-bg: #f7fbfa;
  --tp-bg-soft: #eaf5f1;
  --tp-surface: #ffffff;
  --tp-surface-strong: #f0f8f5;
  --tp-text: #0c2623;
  --tp-muted: #536d68;
  --tp-line: rgba(12, 57, 51, 0.12);
  --tp-line-strong: rgba(12, 57, 51, 0.22);
}

html[data-theme="light"] body.tp-shell--cookies {
  --tp-bg: #fff7e8;
  --tp-bg-soft: #f9e5bd;
  --tp-surface: #fffdf8;
  --tp-surface-strong: #fff2d9;
  --tp-text: #102438;
  --tp-muted: #5a6874;
  --tp-line: rgba(16, 36, 56, 0.13);
  --tp-line-strong: rgba(16, 36, 56, 0.23);
}

html[data-theme="light"] body.tp-shell--terms {
  --tp-bg: #f7f8fc;
  --tp-bg-soft: #eceff7;
  --tp-surface: #ffffff;
  --tp-surface-strong: #f2f0fb;
  --tp-text: #111a2a;
  --tp-muted: #566277;
  --tp-line: rgba(17, 26, 42, 0.12);
  --tp-line-strong: rgba(17, 26, 42, 0.22);
}

html[data-theme="light"] .tp-shell--privacy,
html[data-theme="light"] .trust-page--privacy {
  --tp-accent-text: #0b695a;
  --tp-focus: #0b695a;
}

html[data-theme="light"] .tp-shell--cookies,
html[data-theme="light"] .trust-page--cookies {
  --tp-accent-text: #8a4a00;
  --tp-focus: #8a4a00;
}

html[data-theme="light"] .tp-shell--terms,
html[data-theme="light"] .trust-page--terms {
  --tp-accent-text: #67449f;
  --tp-focus: #67449f;
}

.tp-dark-band,
.tp-trust-links,
.tp-footer {
  --tp-accent-text: var(--tp-accent);
  --tp-focus: var(--tp-accent);
}

.tp-container {
  width: min(var(--tp-max), calc(100% - 40px));
  margin-inline: auto;
}

.tp-skip-link {
  position: fixed;
  top: 10px;
  left: 10px;
  z-index: 2000;
  padding: 11px 16px;
  border-radius: 10px;
  background: var(--tp-accent);
  color: var(--tp-accent-ink) !important;
  font-weight: 800;
  transform: translateY(-160%);
  transition: transform 0.18s ease;
}

.tp-skip-link:focus {
  transform: translateY(0);
}

/* The trust pages keep a stable dark header in both themes. */
.site-header,
html[data-theme="light"] .site-header {
  position: sticky !important;
  top: 0;
  z-index: 1000;
  background: rgba(7, 24, 39, 0.98) !important;
  background-color: rgba(7, 24, 39, 0.98) !important;
  border-bottom: 1px solid rgba(255, 255, 255, 0.09) !important;
  box-shadow: 0 10px 34px rgba(0, 0, 0, 0.16) !important;
  backdrop-filter: blur(14px) !important;
  -webkit-backdrop-filter: blur(14px) !important;
}

.site-header::before,
html[data-theme="light"] .site-header::before {
  background: #071827 !important;
  opacity: 1 !important;
}

.site-header .header__inner {
  width: min(var(--tp-max), calc(100% - 28px));
  height: 64px;
  margin-inline: auto;
  padding: 0;
}

.site-header .logo-text,
.site-header .nav a,
html[data-theme="light"] .site-header .logo-text,
html[data-theme="light"] .site-header .nav a {
  color: #f7fbff !important;
  -webkit-text-fill-color: #f7fbff !important;
}

.site-header .logo-image {
  width: 30px;
  height: 30px;
}

.site-header .trust-nav {
  gap: 4px;
}

.site-header .trust-nav a {
  padding: 12px 10px;
  border-radius: 8px;
  font-size: 0.88rem !important;
  letter-spacing: 0.01em !important;
  text-transform: none !important;
}

.site-header .trust-nav a::after {
  inset: auto 10px 4px;
  height: 2px;
  border: 0;
  border-radius: 999px;
  background: var(--tp-accent);
  transform: scaleX(0);
  transform-origin: center;
  transition: transform 0.18s ease;
}

.site-header .trust-nav a:hover,
html[data-theme="light"] .site-header .trust-nav a:hover {
  color: #ffffff !important;
  background: rgba(255, 255, 255, 0.08) !important;
  box-shadow: none !important;
  transform: none;
}

.site-header .trust-nav a[aria-current="page"]::after,
.site-header .trust-nav a:hover::after {
  transform: scaleX(1);
}

.site-header .theme-toggle {
  margin-left: 8px;
  color: #f8fafc !important;
}

.site-header .theme-toggle:focus-visible {
  outline: 3px solid var(--tp-accent) !important;
  outline-offset: 4px !important;
  border-radius: 999px;
}

.site-header .theme-toggle__track {
  background: rgba(255, 255, 255, 0.1);
}

.site-header .theme-toggle__thumb,
html[data-theme="light"] .site-header .theme-toggle__thumb {
  background: #f8fafc;
}

.site-header #themeToggle .theme-toggle__icon,
html[data-theme="light"] .site-header #themeToggle .theme-toggle__icon {
  color: #f8fafc !important;
  -webkit-text-fill-color: #f8fafc !important;
}

.site-header #themeToggle .theme-toggle__icon--moon::before {
  content: "☾";
}

.site-header #themeToggle .theme-toggle__icon--sun::before {
  content: "☀︎";
}

.tp-breadcrumbs {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
  margin: 0 0 28px;
  color: var(--tp-muted);
  font-size: 0.82rem;
}

.tp-breadcrumbs a {
  color: inherit;
  text-decoration: none;
}

.tp-breadcrumbs a:hover {
  color: var(--tp-text);
  text-decoration: underline;
  text-underline-offset: 4px;
}

.tp-breadcrumbs span[aria-hidden="true"] {
  color: rgba(var(--tp-accent-rgb), 0.8);
}

.tp-hero {
  position: relative;
  padding: 64px 0 72px;
  background:
    radial-gradient(circle at 86% 16%, rgba(var(--tp-accent-rgb), 0.11), transparent 29rem),
    var(--tp-bg);
}

.tp-hero::after {
  content: "";
  position: absolute;
  inset: auto 0 0;
  height: 1px;
  background: var(--tp-line);
}

.tp-hero__grid {
  display: grid;
  grid-template-columns: minmax(0, 0.88fr) minmax(460px, 1.12fr);
  gap: clamp(36px, 6vw, 78px);
  align-items: center;
}

.tp-hero h1 {
  max-width: 15ch;
  margin: 0;
  color: var(--tp-text);
  font-size: clamp(2.7rem, 5.2vw, 5rem);
  line-height: 0.98;
  letter-spacing: -0.055em;
}

.trust-page--faq .tp-hero h1 {
  max-width: 11ch;
}

.tp-hero__lead {
  max-width: 59ch;
  margin: 24px 0 0;
  color: var(--tp-muted);
  font-size: clamp(1.04rem, 1.45vw, 1.22rem);
  line-height: 1.75;
}

.tp-updated {
  display: flex;
  align-items: center;
  gap: 9px;
  margin: 22px 0 0;
  color: var(--tp-muted);
  font-size: 0.84rem;
}

.tp-updated svg {
  width: 17px;
  height: 17px;
  color: var(--tp-accent-text);
}

.tp-hero__media {
  position: relative;
}

.tp-hero__image-frame {
  position: relative;
  overflow: hidden;
  border: 1px solid var(--tp-line-strong);
  border-radius: 26px;
  background: #f8f2e7;
  box-shadow: var(--tp-shadow);
  transform: rotate(0.55deg);
}

.tp-hero__image-frame::before {
  content: "";
  position: absolute;
  inset: 14px;
  z-index: 1;
  border: 1px solid rgba(7, 24, 39, 0.08);
  border-radius: 16px;
  pointer-events: none;
}

.tp-hero__image-frame img {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 1400 / 788;
  object-fit: cover;
}

.tp-hero__image-frame picture,
.tp-save-media picture {
  display: block;
}

.tp-hero__badge {
  position: absolute;
  right: -12px;
  bottom: 22px;
  z-index: 2;
  display: flex;
  align-items: center;
  gap: 9px;
  padding: 11px 14px;
  border: 1px solid rgba(var(--tp-accent-rgb), 0.38);
  border-radius: 12px;
  background: var(--tp-surface);
  color: var(--tp-text);
  box-shadow: 0 16px 40px rgba(0, 0, 0, 0.18);
  font-size: 0.78rem;
  font-weight: 750;
}

.tp-hero__badge::before {
  content: "";
  width: 9px;
  height: 9px;
  border-radius: 50%;
  background: var(--tp-accent);
  box-shadow: 0 0 0 5px rgba(var(--tp-accent-rgb), 0.13);
}

.tp-search {
  max-width: 620px;
  margin-top: 32px;
}

.tp-search__label {
  display: block;
  margin-bottom: 9px;
  color: var(--tp-text);
  font-size: 0.86rem;
  font-weight: 750;
}

.tp-search__row {
  position: relative;
  display: flex;
  align-items: center;
}

.tp-search__icon {
  position: absolute;
  left: 17px;
  width: 21px;
  height: 21px;
  color: var(--tp-muted);
  pointer-events: none;
}

.tp-search input {
  width: 100%;
  min-height: 58px;
  padding: 0 112px 0 52px;
  border: 1px solid var(--tp-line-strong);
  border-radius: 14px;
  background: var(--tp-surface);
  color: var(--tp-text);
  box-shadow: 0 16px 38px rgba(0, 0, 0, 0.11);
  font: inherit;
  font-size: 1rem;
}

.tp-search input::placeholder {
  color: color-mix(in srgb, var(--tp-muted) 74%, transparent);
}

.tp-search input:focus {
  outline: 3px solid var(--tp-focus);
  outline-offset: 2px;
  border-color: var(--tp-focus);
}

.tp-search__clear {
  position: absolute;
  right: 10px;
  min-height: 38px;
  padding: 0 13px;
  border: 0;
  border-radius: 9px;
  background: rgba(var(--tp-accent-rgb), 0.14);
  color: var(--tp-text);
  font: inherit;
  font-size: 0.82rem;
  font-weight: 800;
  cursor: pointer;
}

.tp-search__clear:hover {
  background: rgba(var(--tp-accent-rgb), 0.22);
}

.tp-search__clear:focus-visible {
  outline: 3px solid var(--tp-focus);
  outline-offset: 2px;
}

.tp-search__status {
  min-height: 20px;
  margin: 9px 0 0;
  color: var(--tp-muted);
  font-size: 0.79rem;
}

.tp-quick-links {
  display: flex;
  flex-wrap: wrap;
  gap: 9px 15px;
  margin-top: 17px;
  font-size: 0.83rem;
}

.tp-quick-links span {
  color: var(--tp-muted);
}

.tp-quick-links a {
  color: var(--tp-text);
  text-decoration: underline;
  text-decoration-color: rgba(var(--tp-accent-rgb), 0.55);
  text-underline-offset: 4px;
}

.tp-section {
  position: relative;
  padding: 82px 0;
  border-bottom: 1px solid var(--tp-line);
}

.tp-section--surface {
  background: var(--tp-surface-strong);
}

.tp-section--white {
  background: var(--tp-surface);
}

.tp-section__header {
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 28px;
  margin-bottom: 42px;
}

.tp-section__header h2,
.tp-section h2 {
  margin: 0;
  color: var(--tp-text);
  font-size: clamp(2rem, 3.8vw, 3.35rem);
  line-height: 1.03;
  letter-spacing: -0.043em;
}

.tp-section__header p {
  max-width: 56ch;
  margin: 0;
  color: var(--tp-muted);
  line-height: 1.72;
}

.tp-paths {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  border-top: 1px solid var(--tp-line);
  border-bottom: 1px solid var(--tp-line);
}

.tp-path {
  position: relative;
  min-width: 0;
  padding: 32px clamp(20px, 3vw, 38px) 34px;
}

.tp-path + .tp-path {
  border-left: 1px solid var(--tp-line);
}

.tp-path__number {
  display: grid;
  place-items: center;
  width: 31px;
  height: 31px;
  margin-bottom: 24px;
  border-radius: 50%;
  background: var(--tp-accent);
  color: var(--tp-accent-ink);
  font-size: 0.84rem;
  font-weight: 900;
}

.tp-path:nth-child(2) .tp-path__number {
  background: var(--tp-purple);
  color: #100724;
}

.tp-path:nth-child(3) .tp-path__number {
  background: var(--tp-blue);
  color: #052026;
}

.tp-path__visual {
  display: grid;
  place-items: center;
  min-height: 130px;
  margin-bottom: 22px;
  border-radius: 17px;
  background: rgba(var(--tp-accent-rgb), 0.07);
}

.tp-path:nth-child(2) .tp-path__visual {
  background: rgba(155, 120, 232, 0.09);
}

.tp-path:nth-child(3) .tp-path__visual {
  background: rgba(67, 183, 203, 0.09);
}

.tp-path h3 {
  margin: 0;
  color: var(--tp-text);
  font-size: 1.25rem;
  letter-spacing: -0.025em;
}

.tp-path p {
  margin: 10px 0 18px;
  color: var(--tp-muted);
  line-height: 1.65;
}

.tp-arrow-link {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  color: var(--tp-text) !important;
  font-size: 0.88rem;
  font-weight: 800;
  text-decoration: none !important;
}

.tp-arrow-link::after {
  content: "→";
  color: var(--tp-accent-text);
  transition: transform 0.18s ease;
}

.tp-arrow-link:hover::after {
  transform: translateX(4px);
}

.tp-mini-wheel {
  position: relative;
  width: 88px;
  aspect-ratio: 1;
  border: 4px solid #0a2031;
  border-radius: 50%;
  background: conic-gradient(
    #f0526f 0 12.5%, #ff7a35 0 25%, #ffc52d 0 37.5%, #acd632 0 50%,
    #44b98e 0 62.5%, #35a9c7 0 75%, #536fd2 0 87.5%, #8d55bd 0
  );
  box-shadow: 0 10px 23px rgba(0, 0, 0, 0.18);
}

.tp-mini-wheel::before {
  content: "";
  position: absolute;
  inset: 36%;
  border: 3px solid #eef3f7;
  border-radius: 50%;
  background: #0a2031;
}

.tp-mini-wheel::after {
  content: "";
  position: absolute;
  top: 34px;
  right: -16px;
  border-top: 10px solid transparent;
  border-bottom: 10px solid transparent;
  border-right: 18px solid #f8fafc;
  filter: drop-shadow(0 2px 2px rgba(0, 0, 0, 0.22));
}

.tp-mini-history {
  display: grid;
  gap: 8px;
  width: min(190px, 90%);
}

.tp-mini-history span {
  display: grid;
  grid-template-columns: 20px 1fr 34px;
  align-items: center;
  gap: 8px;
  height: 28px;
  border-bottom: 1px solid var(--tp-line);
}

.tp-mini-history i {
  width: 15px;
  height: 15px;
  border-radius: 50%;
  background: var(--tp-purple);
}

.tp-mini-history span:nth-child(2) i {
  background: var(--tp-blue);
}

.tp-mini-history b,
.tp-mini-history em {
  height: 5px;
  border-radius: 99px;
  background: var(--tp-line-strong);
}

.tp-mini-history em {
  opacity: 0.55;
}

.tp-mini-file-flow {
  display: flex;
  align-items: center;
  gap: 14px;
}

.tp-mini-file-flow span {
  display: grid;
  place-items: center;
  width: 56px;
  height: 68px;
  border: 2px solid var(--tp-blue-text);
  border-radius: 10px;
  color: var(--tp-blue-text);
  font-weight: 900;
}

.tp-mini-file-flow i {
  width: 38px;
  border-top: 2px dashed var(--tp-muted);
}

.tp-steps {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  margin-top: 32px;
  border: 1px solid var(--tp-line);
  border-radius: 20px;
  overflow: hidden;
  background: var(--tp-surface);
  box-shadow: 0 18px 48px rgba(0, 0, 0, 0.08);
}

.tp-step {
  position: relative;
  min-height: 190px;
  padding: 28px 24px;
}

.tp-step + .tp-step {
  border-left: 1px solid var(--tp-line);
}

.tp-step__top {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-bottom: 36px;
}

.tp-step__number {
  display: grid;
  place-items: center;
  flex: 0 0 34px;
  width: 34px;
  height: 34px;
  border: 1px solid rgba(var(--tp-accent-rgb), 0.48);
  border-radius: 50%;
  color: var(--tp-accent-text);
  font-weight: 900;
}

.tp-step__line {
  flex: 1;
  border-top: 1px dashed var(--tp-line-strong);
}

.tp-step:last-child .tp-step__line {
  display: none;
}

.tp-step h3 {
  margin: 0;
  color: var(--tp-text);
  font-size: 1rem;
}

.tp-step p {
  margin: 8px 0 0;
  color: var(--tp-muted);
  font-size: 0.88rem;
  line-height: 1.6;
}

.tp-dark-band {
  padding: 76px 0;
  border-bottom: 1px solid rgba(255, 255, 255, 0.1);
  background:
    radial-gradient(circle at 78% 30%, rgba(185, 237, 40, 0.12), transparent 25rem),
    radial-gradient(circle at 20% 70%, rgba(67, 183, 203, 0.09), transparent 22rem),
    #061725;
  color: #f7fbff;
}

.tp-fairness-grid {
  display: grid;
  grid-template-columns: minmax(0, 0.78fr) repeat(2, minmax(0, 1fr));
  gap: 22px;
  align-items: stretch;
}

.tp-fairness-copy {
  padding: 18px 22px 18px 0;
}

.tp-fairness-copy h2 {
  margin: 0;
  color: #f7fbff;
  font-size: clamp(2rem, 3.7vw, 3.3rem);
  line-height: 1.02;
  letter-spacing: -0.045em;
}

.tp-fairness-copy p {
  margin: 20px 0 25px;
  color: #b5c3cf;
  line-height: 1.72;
}

.tp-fairness-copy .tp-arrow-link {
  color: #f7fbff !important;
}

.tp-proof-panel {
  min-height: 290px;
  padding: 27px;
  border: 1px solid rgba(255, 255, 255, 0.13);
  border-radius: 18px;
  background: rgba(255, 255, 255, 0.025);
}

.tp-proof-panel h3 {
  margin: 0 0 22px;
  color: #f7fbff;
  font-size: 0.9rem;
}

.tp-odds {
  display: grid;
  grid-template-columns: 120px 1fr;
  gap: 23px;
  align-items: center;
}

.tp-odds__wheel {
  position: relative;
  width: 120px;
  aspect-ratio: 1;
  border: 4px solid #dce6ed;
  border-radius: 50%;
  background: conic-gradient(#f0526f 0 12.5%, #ffc52d 0 25%, #acd632 0 50%, #35a9c7 0 75%, #8d55bd 0);
}

.tp-odds__wheel::after {
  content: "";
  position: absolute;
  inset: 40%;
  border-radius: 50%;
  background: #061725;
}

.tp-odds__list {
  display: grid;
  gap: 9px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.tp-odds__list li {
  display: grid;
  grid-template-columns: 10px 1fr auto;
  gap: 8px;
  align-items: center;
  color: #d8e2e9;
  font-size: 0.78rem;
}

.tp-odds__list i {
  width: 9px;
  height: 9px;
  border-radius: 2px;
  background: #f0526f;
}

.tp-odds__list li:nth-child(2) i { background: #ffc52d; }
.tp-odds__list li:nth-child(3) i { background: #acd632; }
.tp-odds__list li:nth-child(4) i { background: #35a9c7; }
.tp-odds__list li:nth-child(5) i { background: #8d55bd; }

.tp-result-list {
  display: grid;
  gap: 0;
  margin: 0;
  padding: 0;
  list-style: none;
}

.tp-result-list li {
  display: grid;
  grid-template-columns: 25px 1fr auto;
  gap: 11px;
  align-items: center;
  min-height: 44px;
  border-bottom: 1px solid rgba(255, 255, 255, 0.09);
  color: #e5edf2;
  font-size: 0.8rem;
}

.tp-result-list li::before {
  width: 0.5rem;
  height: 0.5rem;
  border-radius: 999px;
  background: var(--tp-accent);
  box-shadow: 0 0 0 0.25rem color-mix(in srgb, var(--tp-accent) 14%, transparent);
  content: "";
}

.tp-result-list time {
  color: #8298a9;
  font-variant-numeric: tabular-nums;
}

.tp-save-grid {
  display: grid;
  grid-template-columns: minmax(0, 0.72fr) minmax(0, 1.28fr);
  gap: clamp(36px, 6vw, 74px);
  align-items: center;
}

.tp-save-copy h2 {
  max-width: 12ch;
}

.tp-save-copy > p {
  margin: 22px 0 0;
  color: var(--tp-muted);
  line-height: 1.75;
}

.tp-check-list {
  display: grid;
  gap: 16px;
  margin: 28px 0 0;
  padding: 0;
  list-style: none;
}

.tp-check-list li {
  display: grid;
  grid-template-columns: 28px 1fr;
  gap: 12px;
  align-items: start;
  color: var(--tp-muted);
  line-height: 1.6;
}

.tp-check-list span {
  display: grid;
  place-items: center;
  width: 26px;
  height: 26px;
  border-radius: 50%;
  background: rgba(var(--tp-accent-rgb), 0.14);
  color: var(--tp-accent-text);
  font-weight: 900;
}

.tp-save-media {
  overflow: hidden;
  border: 1px solid var(--tp-line);
  border-radius: 22px;
  background: #f8f2e7;
  box-shadow: var(--tp-shadow);
}

.tp-save-media img {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 1400 / 788;
  object-fit: cover;
}

.tp-status-note {
  display: grid;
  grid-template-columns: 42px 1fr;
  gap: 16px;
  margin-top: 24px;
  padding: 19px 20px;
  border-left: 3px solid var(--tp-orange);
  background: rgba(242, 163, 58, 0.08);
}

.tp-status-note__icon {
  display: grid;
  place-items: center;
  width: 40px;
  height: 40px;
  border: 1px solid rgba(242, 163, 58, 0.35);
  border-radius: 12px;
  color: var(--tp-orange);
  font-weight: 900;
}

.tp-status-note strong {
  display: block;
  margin-bottom: 5px;
  color: var(--tp-text);
}

.tp-status-note p {
  margin: 0;
  color: var(--tp-muted);
  line-height: 1.62;
}

.tp-faq-shell,
.tp-editorial-shell {
  display: grid;
  grid-template-columns: 240px minmax(0, 1fr);
  gap: clamp(34px, 5vw, 72px);
  align-items: start;
}

.tp-topic-nav,
.tp-toc {
  position: sticky;
  top: 88px;
  max-height: calc(100vh - 110px);
  padding: 18px 0;
  overflow-y: auto;
  overscroll-behavior: contain;
}

.tp-topic-nav h2,
.tp-toc h2 {
  margin: 0 0 17px;
  color: var(--tp-muted);
  font-size: 0.72rem;
  font-weight: 900;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}

.tp-topic-nav ul,
.tp-toc ol {
  display: grid;
  gap: 3px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.tp-topic-nav a,
.tp-toc a {
  position: relative;
  display: block;
  padding: 10px 12px 10px 17px;
  border-radius: 9px;
  color: var(--tp-muted);
  font-size: 0.88rem;
  line-height: 1.4;
  text-decoration: none;
}

.tp-topic-nav a::before,
.tp-toc a::before {
  content: "";
  position: absolute;
  top: 9px;
  bottom: 9px;
  left: 0;
  width: 3px;
  border-radius: 999px;
  background: var(--tp-accent);
  opacity: 0;
  transform: scaleY(0.4);
  transition: opacity 0.18s ease, transform 0.18s ease;
}

.tp-topic-nav a:hover,
.tp-topic-nav a[aria-current="location"],
.tp-toc a:hover,
.tp-toc a[aria-current="location"] {
  background: rgba(var(--tp-accent-rgb), 0.08);
  color: var(--tp-text);
}

.tp-topic-nav a[aria-current="location"]::before,
.tp-toc a[aria-current="location"]::before {
  opacity: 1;
  transform: scaleY(1);
}

.tp-topic-nav a:focus-visible,
.tp-toc a:focus-visible,
.tp-arrow-link:focus-visible,
.tp-guide:focus-visible,
.tp-footer a:focus-visible {
  outline: 3px solid var(--tp-focus);
  outline-offset: 3px;
}

.tp-faq-main,
.tp-editorial-content {
  min-width: 0;
}

.tp-faq-toolbar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  margin-bottom: 34px;
  padding-bottom: 18px;
  border-bottom: 1px solid var(--tp-line);
}

.tp-faq-toolbar p {
  margin: 0;
  color: var(--tp-muted);
  font-size: 0.84rem;
}

.tp-faq-toolbar__buttons {
  display: flex;
  gap: 8px;
}

.tp-text-button {
  min-height: 40px;
  padding: 0 13px;
  border: 1px solid var(--tp-line);
  border-radius: 9px;
  background: transparent;
  color: var(--tp-text);
  font: inherit;
  font-size: 0.8rem;
  font-weight: 800;
  cursor: pointer;
}

.tp-text-button:hover {
  border-color: var(--tp-line-strong);
  background: rgba(var(--tp-accent-rgb), 0.08);
}

.tp-text-button:focus-visible {
  outline: 3px solid var(--tp-focus);
  outline-offset: 2px;
}

.tp-faq-category {
  scroll-margin-top: 94px;
}

.tp-faq-category + .tp-faq-category {
  margin-top: 62px;
  padding-top: 56px;
  border-top: 1px solid var(--tp-line);
}

.tp-faq-category__heading {
  display: grid;
  grid-template-columns: 46px 1fr;
  gap: 18px;
  align-items: start;
  margin-bottom: 24px;
}

.tp-faq-category__number {
  display: grid;
  place-items: center;
  width: 43px;
  height: 43px;
  border: 1px solid rgba(var(--tp-accent-rgb), 0.5);
  border-radius: 50%;
  color: var(--tp-accent-text);
  font-weight: 900;
}

.tp-faq-category h2 {
  margin: 0;
  color: var(--tp-text);
  font-size: clamp(1.7rem, 3vw, 2.45rem);
  letter-spacing: -0.035em;
}

.tp-faq-category__heading p {
  margin: 8px 0 0;
  color: var(--tp-muted);
  line-height: 1.65;
}

.tp-faq-item {
  border-top: 1px solid var(--tp-line);
}

.tp-faq-item:last-child {
  border-bottom: 1px solid var(--tp-line);
}

.tp-faq-item[hidden],
.tp-faq-category[hidden],
.tp-topic-nav li[hidden] {
  display: none !important;
}

.tp-faq-item summary {
  position: relative;
  display: block;
  padding: 21px 54px 21px 0;
  color: var(--tp-text);
  cursor: pointer;
  list-style: none;
  font-size: 1.02rem;
  font-weight: 770;
  line-height: 1.48;
}

.tp-faq-item summary::-webkit-details-marker {
  display: none;
}

.tp-faq-item summary::before,
.tp-faq-item summary::after {
  content: "";
  position: absolute;
  top: 50%;
  right: 5px;
  width: 18px;
  height: 2px;
  background: var(--tp-accent);
  transition: transform 0.2s ease;
}

.tp-faq-item summary::after {
  transform: rotate(90deg);
}

.tp-faq-item[open] summary::after {
  transform: rotate(0);
}

.tp-faq-item summary:hover {
  color: color-mix(in srgb, var(--tp-text) 80%, var(--tp-accent));
}

.tp-faq-item summary:focus-visible {
  outline: 3px solid var(--tp-focus);
  outline-offset: 4px;
  border-radius: 6px;
}

.tp-faq-answer {
  max-width: 72ch;
  padding: 0 54px 23px 0;
  color: var(--tp-muted);
}

.tp-faq-answer p {
  margin: 0 0 13px;
  line-height: 1.78;
}

.tp-faq-answer p:first-child {
  color: var(--tp-text);
  font-weight: 680;
}

.tp-faq-answer ul,
.tp-faq-answer ol {
  margin: 12px 0 13px;
  padding-left: 22px;
}

.tp-faq-answer li {
  margin-bottom: 8px;
  line-height: 1.68;
}

.tp-faq-answer a,
.tp-editorial-content a {
  color: var(--tp-text);
  text-decoration: underline;
  text-decoration-color: rgba(var(--tp-accent-rgb), 0.6);
  text-underline-offset: 4px;
}

.tp-faq-answer a:hover,
.tp-editorial-content a:hover {
  text-decoration-color: var(--tp-accent);
}

.tp-faq-empty {
  padding: 42px 24px;
  border: 1px dashed var(--tp-line-strong);
  border-radius: 16px;
  text-align: center;
}

.tp-faq-empty h2 {
  margin: 0 0 9px;
  font-size: 1.4rem;
}

.tp-faq-empty p {
  margin: 0;
  color: var(--tp-muted);
}

.tp-guides {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 18px;
}

.tp-guide {
  position: relative;
  min-height: 330px;
  overflow: hidden;
  border: 1px solid var(--tp-line);
  border-radius: 18px;
  background: var(--tp-surface);
  color: var(--tp-text) !important;
  text-decoration: none !important;
}

.tp-guide__image {
  display: block;
  width: 100%;
  height: 190px;
  object-fit: cover;
}

.tp-guide__body {
  padding: 21px 22px 24px;
}

.tp-guide__body span {
  color: var(--tp-accent-text);
  font-size: 0.7rem;
  font-weight: 900;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.tp-guide__body h3 {
  margin: 7px 0 8px;
  color: var(--tp-text);
  font-size: 1.24rem;
}

.tp-guide__body p {
  margin: 0;
  color: var(--tp-muted);
  font-size: 0.88rem;
  line-height: 1.58;
}

.tp-guide--fairness {
  background:
    radial-gradient(circle at 50% 22%, rgba(185, 237, 40, 0.16), transparent 13rem),
    #071827;
}

.tp-guide--fairness .tp-guide__visual {
  display: grid;
  place-items: center;
  height: 190px;
}

.tp-guide--fairness .tp-mini-wheel {
  width: 118px;
}

.tp-contact-band {
  padding: 46px 0;
  background: rgba(var(--tp-accent-rgb), 0.1);
}

.tp-contact-band__inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 28px;
}

.tp-contact-band h2 {
  margin: 0;
  color: var(--tp-text);
  font-size: clamp(1.55rem, 3vw, 2.3rem);
  letter-spacing: -0.035em;
}

.tp-contact-band p {
  margin: 8px 0 0;
  color: var(--tp-muted);
}

.tp-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 48px;
  padding: 0 20px;
  border: 1px solid var(--tp-accent);
  border-radius: 10px;
  background: var(--tp-accent);
  color: var(--tp-accent-ink) !important;
  font-weight: 900;
  text-decoration: none !important;
  box-shadow: 0 12px 28px rgba(var(--tp-accent-rgb), 0.16);
}

.tp-button:hover {
  filter: brightness(1.04);
  transform: translateY(-1px);
}

.tp-button:focus-visible {
  outline: 3px solid var(--tp-focus);
  outline-offset: 4px;
}

/* Shared editorial legal pages */
.tp-legal-hero__visual {
  min-height: 360px;
  padding: 28px;
  border: 1px solid var(--tp-line);
  border-radius: 24px;
  background: var(--tp-surface);
  box-shadow: var(--tp-shadow);
}

.tp-browser-window {
  position: relative;
  min-height: 244px;
  overflow: hidden;
  border: 2px solid color-mix(in srgb, var(--tp-text) 78%, transparent);
  border-radius: 17px;
  background: var(--tp-bg-soft);
}

.tp-browser-window::before {
  content: "•••";
  display: flex;
  align-items: center;
  height: 34px;
  padding-left: 13px;
  border-bottom: 1px solid var(--tp-line);
  color: var(--tp-accent-text);
  letter-spacing: 4px;
}

.tp-data-path {
  display: grid;
  grid-template-columns: 1fr 54px 1fr;
  align-items: center;
  gap: 10px;
  padding: 38px 24px;
}

.tp-data-node {
  display: grid;
  place-items: center;
  min-height: 112px;
  padding: 16px;
  border: 1px solid var(--tp-line);
  border-radius: 14px;
  background: var(--tp-surface-strong);
  text-align: center;
}

.tp-data-node svg {
  width: 35px;
  height: 35px;
  margin-bottom: 9px;
  color: var(--tp-accent-text);
}

.tp-data-node strong {
  color: var(--tp-text);
  font-size: 0.82rem;
}

.tp-data-arrow {
  height: 2px;
  background: repeating-linear-gradient(90deg, var(--tp-accent) 0 8px, transparent 8px 14px);
}

.tp-visual-caption {
  margin: 18px 0 0;
  color: var(--tp-muted);
  font-size: 0.8rem;
  line-height: 1.55;
  text-align: center;
}

.tp-cookie-stack {
  display: grid;
  gap: 12px;
  padding: 30px 25px;
}

.tp-cookie-row {
  display: grid;
  grid-template-columns: 39px 1fr auto;
  gap: 12px;
  align-items: center;
  min-height: 54px;
  padding: 10px 13px;
  border: 1px solid var(--tp-line);
  border-radius: 12px;
  background: var(--tp-surface-strong);
}

.tp-cookie-row span:first-child {
  display: grid;
  place-items: center;
  width: 34px;
  height: 34px;
  border-radius: 10px;
  background: rgba(var(--tp-accent-rgb), 0.14);
  color: var(--tp-accent-text);
  font-weight: 900;
}

.tp-cookie-row strong {
  color: var(--tp-text);
  font-size: 0.82rem;
}

.tp-cookie-row small {
  color: var(--tp-muted);
  font-size: 0.7rem;
}

.tp-cookie-row em {
  padding: 5px 8px;
  border-radius: 999px;
  background: rgba(var(--tp-accent-rgb), 0.12);
  color: var(--tp-accent-text);
  font-size: 0.65rem;
  font-style: normal;
  font-weight: 900;
  text-transform: uppercase;
}

.tp-terms-split {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 13px;
  padding: 30px 22px;
}

.tp-terms-list {
  min-height: 170px;
  padding: 20px;
  border: 1px solid var(--tp-line);
  border-radius: 15px;
  background: var(--tp-surface-strong);
}

.tp-terms-list h3 {
  display: flex;
  align-items: center;
  gap: 9px;
  margin: 0 0 16px;
  color: var(--tp-text);
  font-size: 0.88rem;
}

.tp-terms-list h3 span {
  display: grid;
  place-items: center;
  width: 24px;
  height: 24px;
  border-radius: 50%;
  background: rgba(var(--tp-accent-rgb), 0.14);
  color: var(--tp-accent-text);
}

.tp-terms-list ul {
  display: grid;
  gap: 10px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.tp-terms-list li {
  padding-left: 16px;
  color: var(--tp-muted);
  font-size: 0.76rem;
  line-height: 1.45;
}

.tp-terms-list li::before {
  content: "•";
  float: left;
  margin-left: -14px;
  color: var(--tp-accent-text);
}

.tp-fact-rail {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  border-bottom: 1px solid var(--tp-line);
}

.tp-fact {
  min-width: 0;
  padding: 31px clamp(18px, 2.5vw, 30px);
}

.tp-fact + .tp-fact {
  border-left: 1px solid var(--tp-line);
}

.tp-fact svg {
  width: 30px;
  height: 30px;
  margin-bottom: 18px;
  color: var(--tp-accent-text);
}

.tp-fact h2,
.tp-fact h3 {
  margin: 0;
  color: var(--tp-text);
  font-size: 1rem;
  letter-spacing: -0.02em;
}

.tp-fact p {
  margin: 8px 0 0;
  color: var(--tp-muted);
  font-size: 0.83rem;
  line-height: 1.6;
}

.tp-editorial-section {
  scroll-margin-top: 92px;
}

.tp-editorial-section + .tp-editorial-section {
  margin-top: 54px;
  padding-top: 49px;
  border-top: 1px solid var(--tp-line);
}

.tp-editorial-heading {
  display: grid;
  grid-template-columns: 44px 1fr;
  gap: 17px;
  align-items: start;
  margin-bottom: 20px;
}

.tp-editorial-number {
  color: var(--tp-accent-text);
  font-size: 1.35rem;
  font-weight: 900;
  font-variant-numeric: tabular-nums;
}

.tp-editorial-heading h2 {
  margin: 0;
  color: var(--tp-text);
  font-size: clamp(1.52rem, 2.8vw, 2.15rem);
  letter-spacing: -0.035em;
}

.tp-editorial-content > p,
.tp-editorial-content .tp-editorial-section > p {
  margin: 0 0 16px;
  color: var(--tp-muted);
  line-height: 1.78;
}

.tp-editorial-content .tp-editorial-section > p:first-of-type {
  color: var(--tp-text);
  font-size: 1.02rem;
}

.tp-editorial-content ul,
.tp-editorial-content ol {
  margin: 17px 0;
  padding-left: 23px;
}

.tp-editorial-content li {
  margin-bottom: 10px;
  color: var(--tp-muted);
  line-height: 1.68;
}

.tp-callout {
  margin: 22px 0;
  padding: 18px 19px;
  border-left: 3px solid var(--tp-accent);
  background: rgba(var(--tp-accent-rgb), 0.08);
  color: var(--tp-muted);
  line-height: 1.68;
}

.tp-callout strong {
  color: var(--tp-text);
}

.tp-table-wrap {
  margin: 24px 0;
  overflow-x: auto;
  border: 1px solid var(--tp-line);
  border-radius: 15px;
  background: var(--tp-surface);
  -webkit-overflow-scrolling: touch;
}

.tp-table {
  width: 100%;
  min-width: 720px;
  border-collapse: collapse;
  color: var(--tp-muted);
  font-size: 0.79rem;
}

.tp-table th,
.tp-table td {
  padding: 15px 16px;
  border-bottom: 1px solid var(--tp-line);
  text-align: left;
  vertical-align: top;
  line-height: 1.55;
}

.tp-table th {
  background: rgba(var(--tp-accent-rgb), 0.1);
  color: var(--tp-text);
  font-size: 0.72rem;
  letter-spacing: 0.03em;
}

.tp-table tr:last-child td {
  border-bottom: 0;
}

.tp-table code,
.tp-technical-list code {
  color: var(--tp-text);
  font-family: Consolas, "Courier New", monospace;
  font-size: 0.9em;
  overflow-wrap: anywhere;
}

.tp-technical-list {
  margin-top: 22px;
  border-top: 1px solid var(--tp-line);
  border-bottom: 1px solid var(--tp-line);
}

.tp-technical-list summary {
  padding: 17px 42px 17px 0;
  color: var(--tp-text);
  cursor: pointer;
  font-weight: 800;
}

.tp-technical-list summary:focus-visible {
  outline: 3px solid var(--tp-focus);
  outline-offset: 3px;
}

.tp-technical-list__body {
  padding-bottom: 18px;
  color: var(--tp-muted);
}

.tp-trust-links {
  display: grid;
  grid-template-columns: 0.8fr repeat(4, 1fr);
  border-top: 1px solid rgba(255, 255, 255, 0.1);
  border-bottom: 1px solid rgba(255, 255, 255, 0.1);
  background: #061725;
  color: #f7fbff;
}

.tp-trust-links__intro,
.tp-trust-link {
  padding: 30px clamp(18px, 2.6vw, 34px);
}

.tp-trust-link {
  border-left: 1px solid rgba(255, 255, 255, 0.1);
  color: #f7fbff !important;
  text-decoration: none !important;
}

.tp-trust-links__intro h2 {
  margin: 0;
  color: #f7fbff;
  font-size: 1.35rem;
}

.tp-trust-links__intro p,
.tp-trust-link p {
  margin: 8px 0 0;
  color: #9fb0be;
  font-size: 0.8rem;
  line-height: 1.55;
}

.tp-trust-link strong {
  display: block;
  color: var(--tp-accent);
  font-size: 0.84rem;
}

.tp-trust-link:hover {
  background: rgba(255, 255, 255, 0.045);
}

.tp-legal-note {
  display: grid;
  grid-template-columns: 38px 1fr;
  gap: 14px;
  margin-top: 26px;
  padding: 18px;
  border: 1px solid var(--tp-line);
  border-radius: 13px;
  background: var(--tp-surface-strong);
}

.tp-legal-note__icon {
  display: grid;
  place-items: center;
  width: 36px;
  height: 36px;
  border-radius: 10px;
  background: rgba(var(--tp-accent-rgb), 0.12);
  color: var(--tp-accent-text);
  font-weight: 900;
}

.tp-legal-note p {
  margin: 0;
  color: var(--tp-muted);
  font-size: 0.84rem;
  line-height: 1.6;
}

.site-footer.tp-footer,
html[data-theme="light"] .site-footer.tp-footer {
  padding: 0;
  border-top: 0 !important;
  background: #07131f !important;
  background-color: #07131f !important;
  color: #9fb0be !important;
}

.tp-footer .footer__grid {
  grid-template-columns: minmax(240px, 1.3fr) repeat(4, minmax(120px, 1fr));
  padding: 52px 0 38px;
}

.tp-footer .footer__name,
html[data-theme="light"] .tp-footer .footer__name {
  color: #f7fbff !important;
}

.tp-footer .footer__heading {
  color: #d9e3ea !important;
}

.tp-footer a,
html[data-theme="light"] .tp-footer a {
  color: #9fb0be !important;
}

.tp-footer a:hover,
html[data-theme="light"] .tp-footer a:hover {
  color: #ffffff !important;
}

.tp-footer .footer__inner,
.tp-footer p,
.tp-footer .footer__bottom,
html[data-theme="light"] .tp-footer .footer__inner,
html[data-theme="light"] .tp-footer p,
html[data-theme="light"] .tp-footer .footer__bottom {
  color: #9fb0be !important;
}

.tp-footer .footer__bottom {
  padding: 18px 0 24px;
  border-top-color: rgba(255, 255, 255, 0.1) !important;
}

/* Page-specific editorial identities. The structure stays shared, but every
   explainer gets its own palette, visual metaphor, and reading rhythm. */
.tp-shell {
  color-scheme: dark;
}

html[data-theme="light"] .tp-shell {
  color-scheme: light;
}

#main-content:focus {
  outline: none;
}

.tp-summary {
  position: relative;
  border-bottom: 1px solid var(--tp-line);
  background: var(--tp-surface);
}

/* FAQ: active, colorful, and task-led. */
.tp-shell--faq .tp-hero--faq {
  padding-top: 58px;
  padding-bottom: 88px;
  background:
    radial-gradient(circle at 91% 10%, rgba(var(--tp-accent-rgb), 0.15), transparent 26rem),
    radial-gradient(circle at 74% 76%, rgba(var(--tp-accent-2-rgb), 0.1), transparent 24rem),
    var(--tp-bg);
}

.tp-shell--faq .tp-hero__grid {
  grid-template-columns: minmax(0, 0.84fr) minmax(500px, 1.16fr);
  gap: clamp(40px, 6vw, 84px);
}

.tp-shell--faq .tp-hero__image-frame {
  border-radius: 22px;
  transform: none;
  box-shadow: 0 26px 72px rgba(5, 21, 33, 0.18);
}

.tp-shell--faq .tp-hero__image-frame::before {
  inset: 12px;
  border-radius: 13px;
}

.tp-shell--faq .tp-search input {
  border-color: color-mix(in srgb, var(--tp-accent-2) 36%, var(--tp-line));
  border-radius: 12px;
  box-shadow: 0 18px 44px rgba(5, 21, 33, 0.13);
}

.tp-section--faq-paths {
  background:
    linear-gradient(180deg, rgba(var(--tp-accent-rgb), 0.035), transparent 36%),
    var(--tp-surface);
}

.tp-section--faq-paths .tp-paths {
  border-color: var(--tp-line-strong);
}

.tp-section--faq-paths .tp-path {
  transition: background-color 0.22s ease;
}

.tp-section--faq-paths .tp-path:hover {
  background: color-mix(in srgb, var(--tp-surface-strong) 78%, transparent);
}

.tp-section--faq-paths .tp-path__visual {
  background: color-mix(in srgb, var(--tp-accent) 8%, var(--tp-surface));
}

.tp-section--faq-steps {
  background: var(--tp-bg-soft);
}

.tp-section--faq-steps .tp-steps {
  border: 0;
  border-radius: 0;
  overflow: visible;
  background: transparent;
  box-shadow: none;
}

.tp-section--faq-steps .tp-step {
  min-height: 170px;
  padding-inline: clamp(18px, 2.5vw, 30px);
}

.tp-section--faq-steps .tp-step + .tp-step {
  border-left-color: var(--tp-line-strong);
}

.tp-section--faq-save {
  background:
    radial-gradient(circle at 87% 22%, rgba(var(--tp-accent-2-rgb), 0.08), transparent 28rem),
    var(--tp-surface);
}

.tp-section--faq-answers {
  background: var(--tp-bg);
}

.tp-shell--faq #getting-started { --tp-chapter: #b9ed28; --tp-chapter-rgb: 185, 237, 40; --tp-chapter-ink: #142000; }
.tp-shell--faq #fairness { --tp-chapter: #43b7cb; --tp-chapter-rgb: 67, 183, 203; --tp-chapter-ink: #052026; }
.tp-shell--faq #customizing { --tp-chapter: #9b78e8; --tp-chapter-rgb: 155, 120, 232; --tp-chapter-ink: #180a36; }
.tp-shell--faq #saving { --tp-chapter: #f2a33a; --tp-chapter-rgb: 242, 163, 58; --tp-chapter-ink: #2a1600; }
.tp-shell--faq #presenting { --tp-chapter: #f0526f; --tp-chapter-rgb: 240, 82, 111; --tp-chapter-ink: #31040c; }
.tp-shell--faq #privacy-support { --tp-chapter: #45c7b2; --tp-chapter-rgb: 69, 199, 178; --tp-chapter-ink: #061f1b; }

.tp-shell--faq .tp-faq-category__heading {
  position: relative;
  margin-bottom: 18px;
  padding: 22px 24px;
  border-top: 2px solid var(--tp-chapter);
  background: linear-gradient(90deg, rgba(var(--tp-chapter-rgb), 0.09), transparent 72%);
}

.tp-shell--faq .tp-faq-category__number {
  border-color: transparent;
  background: var(--tp-chapter);
  color: var(--tp-chapter-ink);
}

.tp-shell--faq .tp-faq-item {
  transition: background-color 0.2s ease, box-shadow 0.2s ease;
}

.tp-shell--faq .tp-faq-item[open] {
  background: linear-gradient(90deg, rgba(var(--tp-chapter-rgb), 0.07), transparent 72%);
  box-shadow: inset 3px 0 0 var(--tp-chapter);
}

.tp-shell--faq .tp-faq-item summary,
.tp-shell--faq .tp-faq-answer {
  padding-left: 18px;
}

.tp-shell--faq .tp-faq-item summary::before,
.tp-shell--faq .tp-faq-item summary::after {
  background: var(--tp-chapter);
}

.tp-shell--faq .tp-topic-nav a[href="#getting-started"] { --tp-topic: #7ea500; }
.tp-shell--faq .tp-topic-nav a[href="#fairness"] { --tp-topic: #16869a; }
.tp-shell--faq .tp-topic-nav a[href="#customizing"] { --tp-topic: #7650c1; }
.tp-shell--faq .tp-topic-nav a[href="#saving"] { --tp-topic: #a65a00; }
.tp-shell--faq .tp-topic-nav a[href="#presenting"] { --tp-topic: #b42b49; }
.tp-shell--faq .tp-topic-nav a[href="#privacy-support"] { --tp-topic: #147969; }

.tp-shell--faq .tp-topic-nav a::before {
  background: var(--tp-topic, var(--tp-accent));
}

.tp-shell--faq .tp-guide {
  border-radius: 14px;
  transition: transform 0.28s var(--tp-ease-out), border-color 0.2s ease, box-shadow 0.28s ease;
}

.tp-shell--faq .tp-guide:hover {
  border-color: var(--tp-line-strong);
  box-shadow: 0 20px 48px rgba(5, 21, 33, 0.12);
  transform: translateY(-4px);
}

.tp-shell--faq .tp-contact-band {
  background: linear-gradient(100deg, #d8f75d, #b9ed28 58%, #9fdb28);
}

.tp-shell--faq .tp-contact-band h2,
.tp-shell--faq .tp-contact-band p {
  color: #102438;
}

/* Privacy: a calm local-data boundary. */
.tp-shell--privacy .tp-hero--privacy {
  padding-bottom: 86px;
  background:
    radial-gradient(circle at 76% 40%, rgba(var(--tp-accent-rgb), 0.13), transparent 28rem),
    radial-gradient(circle at 92% 7%, rgba(var(--tp-accent-2-rgb), 0.08), transparent 22rem),
    var(--tp-bg);
}

.tp-shell--privacy .tp-hero__grid {
  grid-template-columns: minmax(0, 0.78fr) minmax(520px, 1.22fr);
}

.tp-privacy-map {
  min-height: 410px;
  margin: 0;
  padding: 16px 4px 0;
  border: 0;
  background: transparent;
  box-shadow: none;
}

.tp-privacy-map__scene {
  display: grid;
  grid-template-columns: minmax(280px, 1fr) minmax(160px, 0.62fr);
  gap: 36px;
  align-items: center;
  min-height: 330px;
}

.tp-privacy-boundary {
  position: relative;
  display: grid;
  place-items: center;
  width: min(320px, 100%);
  aspect-ratio: 1;
  margin-inline: auto;
  padding: 54px 42px 34px;
  border: 1px solid rgba(var(--tp-accent-rgb), 0.55);
  border-radius: 50%;
  background: color-mix(in srgb, var(--tp-surface) 90%, var(--tp-accent) 10%);
  box-shadow:
    0 0 0 18px rgba(var(--tp-accent-rgb), 0.055),
    0 0 0 38px rgba(var(--tp-accent-rgb), 0.028),
    0 24px 64px rgba(8, 45, 38, 0.12);
}

.tp-privacy-boundary__shield {
  position: absolute;
  top: -18px;
  display: grid;
  place-items: center;
  width: 48px;
  height: 48px;
  border-radius: 50%;
  background: var(--tp-accent);
  color: var(--tp-accent-ink);
  box-shadow: 0 12px 28px rgba(var(--tp-accent-rgb), 0.24);
}

.tp-privacy-boundary__shield svg,
.tp-privacy-device svg,
.tp-privacy-email svg {
  width: 26px;
  height: 26px;
}

.tp-privacy-device {
  display: grid;
  place-items: center;
  gap: 7px;
  color: var(--tp-text);
  text-align: center;
}

.tp-privacy-device svg {
  width: 40px;
  height: 40px;
  color: var(--tp-accent-text);
}

.tp-privacy-device strong,
.tp-privacy-email strong {
  font-size: 0.9rem;
}

.tp-privacy-device small,
.tp-privacy-email small {
  color: var(--tp-muted);
  font-size: 0.7rem;
  line-height: 1.45;
}

.tp-privacy-local-items {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 7px;
  width: 100%;
  margin-top: 18px;
}

.tp-privacy-local-items span {
  padding: 7px 9px;
  border: 1px solid var(--tp-line);
  border-radius: 7px;
  background: var(--tp-surface);
  color: var(--tp-muted);
  font-size: 0.66rem;
  font-weight: 760;
  text-align: center;
}

.tp-privacy-email-lane {
  display: grid;
  gap: 18px;
  align-items: center;
}

.tp-privacy-email-lane .tp-data-arrow {
  transform-origin: left center;
}

.tp-privacy-email {
  display: grid;
  place-items: center;
  gap: 7px;
  min-height: 138px;
  padding: 20px 16px;
  border: 1px solid var(--tp-line-strong);
  border-radius: 12px;
  background: var(--tp-surface);
  color: var(--tp-text);
  text-align: center;
  box-shadow: 0 18px 42px rgba(8, 45, 38, 0.1);
}

.tp-privacy-email svg {
  color: var(--tp-accent-text);
}

.tp-summary--privacy {
  background:
    linear-gradient(90deg, rgba(var(--tp-accent-rgb), 0.08), rgba(var(--tp-accent-2-rgb), 0.045)),
    var(--tp-surface);
}

.tp-fact-rail--privacy {
  border-top: 1px solid var(--tp-line);
}

.tp-shell--privacy .tp-toc a[aria-current="location"] {
  background: rgba(var(--tp-accent-rgb), 0.12);
}

.tp-shell--privacy #privacy-disabled {
  margin-inline: -28px;
  padding: 34px 30px;
  border: 0;
  border-radius: 14px;
  background:
    radial-gradient(circle at 88% 16%, rgba(var(--tp-accent-rgb), 0.13), transparent 17rem),
    #071f1d;
}

.tp-shell--privacy #privacy-disabled .tp-editorial-number {
  color: #62d5c2;
}

.tp-shell--privacy #privacy-disabled h2,
.tp-shell--privacy #privacy-disabled > p:first-of-type {
  color: #f4fbf8;
}

.tp-shell--privacy #privacy-disabled > p {
  color: #aec5bd;
}

/* Cookies: warm, practical browser-storage ledger. */
.tp-shell--cookies .tp-hero--cookies {
  padding-bottom: 102px;
  background:
    radial-gradient(circle at 82% 34%, rgba(var(--tp-accent-rgb), 0.14), transparent 29rem),
    linear-gradient(180deg, transparent, rgba(var(--tp-accent-rgb), 0.045)),
    var(--tp-bg);
}

.tp-shell--cookies .tp-hero__grid {
  grid-template-columns: minmax(0, 0.82fr) minmax(520px, 1.18fr);
}

.tp-storage-cabinet {
  min-height: 404px;
  margin: 0;
  padding: 26px 8px 0;
  border: 0;
  background: transparent;
  box-shadow: none;
}

.tp-storage-cabinet__scene {
  position: relative;
  padding: 42px 24px 24px;
  border: 1px solid color-mix(in srgb, var(--tp-accent) 28%, var(--tp-line));
  border-radius: 12px;
  background:
    linear-gradient(145deg, color-mix(in srgb, var(--tp-surface) 88%, var(--tp-accent) 12%), var(--tp-surface-strong));
  box-shadow: 0 28px 62px rgba(78, 47, 10, 0.16);
}

.tp-storage-tabs {
  position: absolute;
  top: -23px;
  left: 28px;
  display: flex;
  align-items: end;
  gap: 7px;
}

.tp-storage-tabs span {
  padding: 10px 15px 8px;
  border: 1px solid color-mix(in srgb, var(--tp-accent) 28%, var(--tp-line));
  border-bottom: 0;
  border-radius: 8px 8px 0 0;
  background: var(--tp-surface-strong);
  color: var(--tp-muted);
  font-size: 0.65rem;
  font-weight: 800;
}

.tp-storage-tabs span:first-child {
  background: var(--tp-surface);
  color: var(--tp-text);
}

.tp-storage-cabinet .tp-cookie-stack {
  gap: 9px;
  padding: 0;
}

.tp-storage-cabinet .tp-cookie-row {
  min-height: 62px;
  border-color: color-mix(in srgb, var(--tp-accent) 20%, var(--tp-line));
  border-radius: 8px;
  background: var(--tp-surface);
  box-shadow: 0 8px 18px rgba(80, 48, 10, 0.07);
}

.tp-storage-cabinet .tp-cookie-row em {
  background: rgba(72, 139, 70, 0.12);
  color: color-mix(in srgb, #2f7d49 84%, var(--tp-text));
}

.tp-storage-cabinet .tp-cookie-row:nth-child(3) em {
  background: rgba(var(--tp-accent-rgb), 0.16);
  color: var(--tp-accent-text);
}

.tp-storage-cabinet .tp-cookie-row--off em {
  background: rgba(var(--tp-accent-2-rgb), 0.13);
  color: color-mix(in srgb, var(--tp-accent-2) 72%, var(--tp-text));
}

.tp-summary--cookies {
  z-index: 2;
  padding-bottom: 42px;
  background: var(--tp-bg);
}

.tp-fact-rail--cookies {
  border: 1px solid var(--tp-line);
  border-radius: 15px;
  background: var(--tp-surface);
  box-shadow: 0 24px 52px rgba(78, 47, 10, 0.11);
  transform: translateY(-28px);
}

.tp-section--cookies-details {
  background: var(--tp-surface);
}

.tp-shell--cookies .tp-toc a[aria-current="location"] {
  background: rgba(var(--tp-accent-rgb), 0.13);
}

.tp-shell--cookies .tp-table th {
  background: rgba(var(--tp-accent-rgb), 0.14);
}

.tp-storage-compare {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
  margin: 24px 0 18px;
}

.tp-storage-compare article {
  min-width: 0;
  padding: 20px 18px;
  border-top: 2px solid var(--tp-accent);
  background: rgba(var(--tp-accent-rgb), 0.055);
}

.tp-storage-compare article:nth-child(2) {
  border-top-color: #53a348;
  background: rgba(83, 163, 72, 0.055);
}

.tp-storage-compare article:nth-child(3) {
  border-top-color: var(--tp-accent-2);
  background: rgba(var(--tp-accent-2-rgb), 0.055);
}

.tp-storage-compare article > span {
  display: grid;
  place-items: center;
  width: 30px;
  height: 30px;
  margin-bottom: 18px;
  border-radius: 7px;
  background: rgba(var(--tp-accent-rgb), 0.15);
  color: var(--tp-accent-text);
  font-size: 0.76rem;
  font-weight: 900;
}

.tp-storage-compare article:nth-child(2) > span {
  background: rgba(83, 163, 72, 0.13);
  color: color-mix(in srgb, #2f7d49 80%, var(--tp-text));
}

.tp-storage-compare article:nth-child(3) > span {
  background: rgba(var(--tp-accent-2-rgb), 0.13);
  color: color-mix(in srgb, var(--tp-accent-2) 76%, var(--tp-text));
}

.tp-storage-compare h3 {
  margin: 0;
  color: var(--tp-text);
  font-size: 1rem;
}

.tp-storage-compare p {
  margin: 9px 0 0 !important;
  color: var(--tp-muted) !important;
  font-size: 0.84rem;
  line-height: 1.62 !important;
}

.tp-storage-compare__note {
  padding: 16px 18px;
  border-left: 3px solid var(--tp-accent);
  background: rgba(var(--tp-accent-rgb), 0.07);
}

.tp-shell--cookies #storage-duration > p {
  position: relative;
  margin-left: 7px;
  padding: 0 0 20px 24px;
  border-left: 1px solid rgba(var(--tp-accent-rgb), 0.48);
}

.tp-shell--cookies #storage-duration > p::before {
  content: "";
  position: absolute;
  top: 0.5em;
  left: -5px;
  width: 9px;
  height: 9px;
  border-radius: 50%;
  background: var(--tp-accent);
  box-shadow: 0 0 0 5px rgba(var(--tp-accent-rgb), 0.13);
}

.tp-shell--cookies #storage-clear {
  margin-inline: -28px;
  padding: 34px 30px;
  border: 1px solid rgba(var(--tp-accent-2-rgb), 0.32);
  border-radius: 14px;
  background: linear-gradient(120deg, rgba(var(--tp-accent-2-rgb), 0.12), rgba(var(--tp-accent-rgb), 0.12));
}

.tp-shell--cookies #storage-clear ol {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px 28px;
  padding-left: 24px;
}

/* Terms: precise, cool, and deliberately more formal. */
.tp-shell--terms .tp-hero--terms {
  padding-bottom: 86px;
  background:
    radial-gradient(circle at 84% 16%, rgba(var(--tp-accent-rgb), 0.12), transparent 26rem),
    radial-gradient(circle at 69% 74%, rgba(var(--tp-accent-2-rgb), 0.07), transparent 23rem),
    var(--tp-bg);
}

.tp-shell--terms .tp-hero__grid {
  grid-template-columns: minmax(0, 0.82fr) minmax(520px, 1.18fr);
}

.tp-terms-blueprint {
  min-height: 390px;
  margin: 0;
  padding: 20px 6px 0;
  border: 0;
  background: transparent;
  box-shadow: none;
}

.tp-terms-blueprint__scene {
  position: relative;
  overflow: hidden;
  padding: 38px 24px;
  border: 1px solid rgba(var(--tp-accent-2-rgb), 0.22);
  border-radius: 10px;
  background:
    radial-gradient(circle at 50% 50%, transparent 0 54px, rgba(var(--tp-accent-2-rgb), 0.13) 55px 56px, transparent 57px),
    linear-gradient(120deg, rgba(var(--tp-accent-2-rgb), 0.035), transparent 46%),
    var(--tp-surface);
}

.tp-terms-blueprint__axis {
  position: absolute;
  top: 24px;
  bottom: 24px;
  left: 50%;
  width: 1px;
  background: linear-gradient(transparent, rgba(var(--tp-accent-2-rgb), 0.3), transparent);
}

.tp-terms-blueprint .tp-terms-split {
  position: relative;
  z-index: 1;
  gap: 20px;
  padding: 0;
}

.tp-terms-blueprint .tp-terms-list {
  min-height: 220px;
  border-radius: 10px;
  background: color-mix(in srgb, var(--tp-surface) 94%, transparent);
  box-shadow: 0 18px 38px rgba(15, 23, 42, 0.08);
}

.tp-terms-list--good {
  border-color: rgba(83, 163, 72, 0.42) !important;
}

.tp-terms-list--blocked {
  border-color: rgba(240, 82, 111, 0.38) !important;
}

.tp-terms-list--good h3 span {
  background: #58a94e;
  color: #ffffff;
}

.tp-terms-list--blocked h3 span {
  background: #f0526f;
  color: #ffffff;
}

.tp-terms-list--good li::before {
  color: #58a94e;
}

.tp-terms-list--blocked li::before {
  color: #f0526f;
}

.tp-summary--terms {
  background: linear-gradient(90deg, rgba(var(--tp-accent-rgb), 0.055), rgba(var(--tp-accent-2-rgb), 0.035)), var(--tp-surface);
}

.tp-fact-rail--terms {
  border-top: 1px solid var(--tp-line);
}

.tp-fact-rail--terms .tp-fact:first-child svg {
  color: #4c9f45;
}

.tp-fact-rail--terms .tp-fact:nth-child(3) svg {
  color: var(--tp-blue-text);
}

.tp-section--terms-details {
  background: var(--tp-bg);
}

.tp-editorial-shell--terms .tp-toc {
  padding: 20px 16px;
  border: 1px solid var(--tp-line);
  border-radius: 12px;
  background: var(--tp-surface);
}

.tp-editorial-shell--terms .tp-editorial-content {
  position: relative;
  padding-left: 22px;
}

.tp-editorial-shell--terms .tp-editorial-content::before {
  content: "";
  position: absolute;
  top: 8px;
  bottom: 10px;
  left: 42px;
  width: 1px;
  background: linear-gradient(var(--tp-line-strong), var(--tp-line), transparent);
}

.tp-shell--terms .tp-editorial-heading,
.tp-shell--terms .tp-editorial-section > p,
.tp-shell--terms .tp-editorial-section > ul,
.tp-shell--terms .tp-editorial-section > ol,
.tp-shell--terms .tp-editorial-section > .tp-callout,
.tp-shell--terms .tp-editorial-section > .tp-legal-note {
  position: relative;
  z-index: 1;
}

.tp-shell--terms .tp-editorial-number {
  display: grid;
  place-items: center;
  width: 38px;
  height: 38px;
  border: 1px solid rgba(var(--tp-accent-rgb), 0.46);
  border-radius: 50%;
  background: var(--tp-bg);
  font-size: 0.78rem;
}

.tp-shell--terms .tp-editorial-section--chapter {
  margin-left: -18px;
  padding: 28px 28px 30px 18px;
  border-top: 0;
  border-radius: 12px;
  background: linear-gradient(90deg, rgba(var(--tp-accent-rgb), 0.09), transparent 78%);
}

.tp-shell--terms #terms-high-stakes,
.tp-shell--terms #terms-law {
  margin-left: -18px;
  padding: 30px 28px 32px 18px;
  border: 1px solid var(--tp-line);
  border-radius: 12px;
  background: var(--tp-surface);
}

.tp-shell--terms #terms-high-stakes {
  border-left: 4px solid #f0526f;
}

.tp-shell--terms #terms-law {
  border-left: 4px solid var(--tp-accent);
}

.tp-shell--terms .tp-toc a[aria-current="location"] {
  background: rgba(var(--tp-accent-rgb), 0.12);
}

/* Motion is progressive: JavaScript adds the pending class only below the fold. */
.tp-motion .tp-reveal-pending {
  opacity: 0;
  transform: translateY(18px);
}

.tp-motion [data-tp-reveal] {
  transition: opacity 0.62s var(--tp-ease-out), transform 0.62s var(--tp-ease-out);
}

.tp-motion [data-tp-reveal].is-visible {
  opacity: 1;
  transform: translateY(0);
}

.tp-motion [data-tp-reveal="faq-hero"].tp-reveal-pending {
  transform: translateY(14px) scale(0.985);
}

.tp-motion [data-tp-reveal="faq-paths"].tp-reveal-pending,
.tp-motion [data-tp-reveal="faq-steps"].tp-reveal-pending,
.tp-motion [data-tp-reveal="faq-fairness"].tp-reveal-pending,
.tp-motion [data-tp-reveal="privacy-flow"].tp-reveal-pending,
.tp-motion [data-tp-reveal="privacy-facts"].tp-reveal-pending,
.tp-motion [data-tp-reveal="cookie-stack"].tp-reveal-pending,
.tp-motion [data-tp-reveal="cookie-facts"].tp-reveal-pending,
.tp-motion [data-tp-reveal="terms-split"].tp-reveal-pending,
.tp-motion [data-tp-reveal="terms-facts"].tp-reveal-pending,
.tp-motion [data-tp-reveal="faq-guides"].tp-reveal-pending {
  opacity: 1;
  transform: none;
}

.tp-motion [data-tp-reveal="faq-paths"] .tp-path,
.tp-motion [data-tp-reveal="faq-steps"] .tp-step,
.tp-motion [data-tp-reveal="privacy-facts"] .tp-fact,
.tp-motion [data-tp-reveal="cookie-facts"] .tp-fact,
.tp-motion [data-tp-reveal="terms-facts"] .tp-fact,
.tp-motion [data-tp-reveal="faq-guides"] .tp-guide {
  transition: opacity 0.58s var(--tp-ease-out), transform 0.58s var(--tp-ease-out);
}

.tp-motion [data-tp-reveal="faq-paths"].tp-reveal-pending .tp-path,
.tp-motion [data-tp-reveal="faq-steps"].tp-reveal-pending .tp-step,
.tp-motion [data-tp-reveal="privacy-facts"].tp-reveal-pending .tp-fact,
.tp-motion [data-tp-reveal="cookie-facts"].tp-reveal-pending .tp-fact,
.tp-motion [data-tp-reveal="terms-facts"].tp-reveal-pending .tp-fact,
.tp-motion [data-tp-reveal="faq-guides"].tp-reveal-pending .tp-guide {
  opacity: 0;
  transform: translateY(16px);
}

.tp-motion [data-tp-reveal="faq-paths"].is-visible .tp-path,
.tp-motion [data-tp-reveal="faq-steps"].is-visible .tp-step,
.tp-motion [data-tp-reveal="privacy-facts"].is-visible .tp-fact,
.tp-motion [data-tp-reveal="cookie-facts"].is-visible .tp-fact,
.tp-motion [data-tp-reveal="terms-facts"].is-visible .tp-fact,
.tp-motion [data-tp-reveal="faq-guides"].is-visible .tp-guide {
  opacity: 1;
  transform: none;
}

.tp-motion [data-tp-reveal="faq-paths"] > :nth-child(2),
.tp-motion [data-tp-reveal="faq-steps"] > :nth-child(2),
.tp-motion [data-tp-reveal="privacy-facts"] > :nth-child(2),
.tp-motion [data-tp-reveal="cookie-facts"] > :nth-child(2),
.tp-motion [data-tp-reveal="terms-facts"] > :nth-child(2),
.tp-motion [data-tp-reveal="faq-guides"] > :nth-child(2) {
  transition-delay: 70ms;
}

.tp-motion [data-tp-reveal="faq-paths"] > :nth-child(3),
.tp-motion [data-tp-reveal="faq-steps"] > :nth-child(3),
.tp-motion [data-tp-reveal="privacy-facts"] > :nth-child(3),
.tp-motion [data-tp-reveal="cookie-facts"] > :nth-child(3),
.tp-motion [data-tp-reveal="terms-facts"] > :nth-child(3),
.tp-motion [data-tp-reveal="faq-guides"] > :nth-child(3) {
  transition-delay: 140ms;
}

.tp-motion [data-tp-reveal="faq-steps"] > :nth-child(4),
.tp-motion [data-tp-reveal="privacy-facts"] > :nth-child(4),
.tp-motion [data-tp-reveal="cookie-facts"] > :nth-child(4),
.tp-motion [data-tp-reveal="terms-facts"] > :nth-child(4) {
  transition-delay: 210ms;
}

.tp-motion [data-tp-reveal="faq-steps"] .tp-step__line {
  transform-origin: left center;
  transition: transform 0.52s var(--tp-ease-out);
}

.tp-motion [data-tp-reveal="faq-steps"].tp-reveal-pending .tp-step__line {
  transform: scaleX(0);
}

.tp-motion [data-tp-reveal="faq-steps"].is-visible .tp-step__line {
  transform: scaleX(1);
}

.tp-motion [data-tp-reveal="faq-paths"].tp-reveal-pending .tp-mini-wheel {
  transform: rotate(-14deg) scale(0.94);
}

.tp-motion [data-tp-reveal="faq-paths"] .tp-mini-wheel {
  transition: transform 0.72s var(--tp-ease-out);
}

.tp-motion [data-tp-reveal="faq-paths"].is-visible .tp-mini-wheel {
  transform: rotate(0) scale(1);
}

.tp-motion [data-tp-reveal="faq-save-copy"].tp-reveal-pending {
  transform: translateX(-18px);
}

.tp-motion [data-tp-reveal="faq-save-media"].tp-reveal-pending {
  transform: translateX(18px);
}

.tp-motion [data-tp-reveal="faq-fairness"] .tp-fairness-copy,
.tp-motion [data-tp-reveal="faq-fairness"] .tp-proof-panel {
  transition: opacity 0.58s var(--tp-ease-out), transform 0.62s var(--tp-ease-out);
}

.tp-motion [data-tp-reveal="faq-fairness"].tp-reveal-pending .tp-fairness-copy {
  opacity: 0;
  transform: translateX(-18px);
}

.tp-motion [data-tp-reveal="faq-fairness"].tp-reveal-pending .tp-proof-panel {
  opacity: 0;
  transform: translateX(18px);
}

.tp-motion [data-tp-reveal="faq-fairness"].is-visible .tp-fairness-copy,
.tp-motion [data-tp-reveal="faq-fairness"].is-visible .tp-proof-panel {
  opacity: 1;
  transform: none;
}

.tp-motion [data-tp-reveal="faq-fairness"] .tp-proof-panel:last-child {
  transition-delay: 90ms;
}

.tp-faq-item[open] .tp-faq-answer {
  animation: tp-answer-in 0.22s var(--tp-ease-out) both;
}

@keyframes tp-answer-in {
  from { opacity: 0; transform: translateY(-5px); }
  to { opacity: 1; transform: translateY(0); }
}

.tp-motion [data-tp-reveal="privacy-flow"] .tp-privacy-boundary,
.tp-motion [data-tp-reveal="privacy-flow"] .tp-data-arrow,
.tp-motion [data-tp-reveal="privacy-flow"] .tp-privacy-email {
  transition: opacity 0.58s var(--tp-ease-out), transform 0.68s var(--tp-ease-out);
}

.tp-motion [data-tp-reveal="privacy-flow"].tp-reveal-pending .tp-privacy-boundary {
  opacity: 0;
  transform: scale(0.965);
}

.tp-motion [data-tp-reveal="privacy-flow"].tp-reveal-pending .tp-data-arrow {
  opacity: 0;
  transform: scaleX(0);
}

.tp-motion [data-tp-reveal="privacy-flow"].tp-reveal-pending .tp-privacy-email {
  opacity: 0;
  transform: translateX(14px);
}

.tp-motion [data-tp-reveal="privacy-flow"].is-visible .tp-privacy-boundary,
.tp-motion [data-tp-reveal="privacy-flow"].is-visible .tp-data-arrow,
.tp-motion [data-tp-reveal="privacy-flow"].is-visible .tp-privacy-email {
  opacity: 1;
  transform: none;
}

.tp-motion [data-tp-reveal="privacy-flow"] .tp-data-arrow {
  transition-delay: 130ms;
}

.tp-motion [data-tp-reveal="privacy-flow"] .tp-privacy-email {
  transition-delay: 240ms;
}

.tp-motion [data-tp-reveal="cookie-stack"] .tp-storage-cabinet__scene,
.tp-motion [data-tp-reveal="cookie-stack"] .tp-cookie-row,
.tp-motion [data-tp-reveal="cookie-stack"] .tp-cookie-row em {
  transition: opacity 0.54s var(--tp-ease-out), transform 0.62s var(--tp-ease-out);
}

.tp-motion [data-tp-reveal="cookie-stack"].tp-reveal-pending .tp-storage-cabinet__scene,
.tp-motion [data-tp-reveal="cookie-stack"].tp-reveal-pending .tp-cookie-row {
  opacity: 0;
  transform: translateY(14px) scale(0.988);
}

.tp-motion [data-tp-reveal="cookie-stack"].tp-reveal-pending .tp-cookie-row em {
  opacity: 0;
  transform: scale(0.88);
}

.tp-motion [data-tp-reveal="cookie-stack"].is-visible .tp-storage-cabinet__scene,
.tp-motion [data-tp-reveal="cookie-stack"].is-visible .tp-cookie-row,
.tp-motion [data-tp-reveal="cookie-stack"].is-visible .tp-cookie-row em {
  opacity: 1;
  transform: none;
}

.tp-motion [data-tp-reveal="cookie-stack"] .tp-cookie-row:nth-child(2) { transition-delay: 60ms; }
.tp-motion [data-tp-reveal="cookie-stack"] .tp-cookie-row:nth-child(3) { transition-delay: 120ms; }
.tp-motion [data-tp-reveal="cookie-stack"] .tp-cookie-row:nth-child(4) { transition-delay: 180ms; }
.tp-motion [data-tp-reveal="cookie-stack"] .tp-cookie-row em { transition-delay: 220ms; }

.tp-motion [data-tp-reveal="terms-split"] .tp-terms-list {
  transition: opacity 0.62s var(--tp-ease-out), transform 0.7s var(--tp-ease-out);
}

.tp-motion [data-tp-reveal="terms-split"].tp-reveal-pending .tp-terms-list:first-child {
  opacity: 0;
  transform: translateX(-14px);
}

.tp-motion [data-tp-reveal="terms-split"].tp-reveal-pending .tp-terms-list:last-child {
  opacity: 0;
  transform: translateX(14px);
}

.tp-motion [data-tp-reveal="terms-split"].is-visible .tp-terms-list {
  opacity: 1;
  transform: none;
}

.tp-motion .trust-page--privacy .tp-editorial-section.tp-reveal-pending,
.tp-motion .trust-page--cookies .tp-editorial-section.tp-reveal-pending,
.tp-motion .trust-page--terms .tp-editorial-section.tp-reveal-pending {
  transform: translateY(10px);
}

.tp-motion .trust-page--terms .tp-editorial-section.tp-reveal-pending .tp-editorial-number {
  transform: scale(0.88);
}

.tp-motion .trust-page--terms .tp-editorial-number {
  transition: transform 0.46s var(--tp-ease-out);
}

@media (max-width: 1060px) {
  .tp-hero__grid {
    grid-template-columns: minmax(0, 0.92fr) minmax(390px, 1.08fr);
    gap: 38px;
  }

  .tp-fairness-grid {
    grid-template-columns: 1fr 1fr;
  }

  .tp-fairness-copy {
    grid-column: 1 / -1;
  }

  .tp-trust-links {
    grid-template-columns: repeat(2, 1fr);
  }

  .tp-trust-links__intro {
    grid-column: 1 / -1;
  }

  .tp-trust-link:nth-of-type(odd) {
    border-left: 0;
  }

  .tp-trust-link:nth-of-type(n + 3) {
    border-top: 1px solid rgba(255, 255, 255, 0.1);
  }
}

@media (max-width: 900px) {
  .site-header .trust-nav a[data-nav-secondary] {
    display: none;
  }

  .tp-hero {
    padding: 50px 0 60px;
  }

  .tp-hero__grid {
    grid-template-columns: 1fr;
  }

  .tp-hero__media {
    width: min(720px, 100%);
  }

  .tp-paths,
  .tp-fact-rail {
    grid-template-columns: 1fr 1fr;
  }

  .tp-path:nth-child(3),
  .tp-fact:nth-child(n + 3) {
    border-top: 1px solid var(--tp-line);
  }

  .tp-path:nth-child(3) {
    grid-column: 1 / -1;
    border-left: 0;
  }

  .tp-fact:nth-child(3) {
    border-left: 0;
  }

  .tp-steps {
    grid-template-columns: 1fr 1fr;
  }

  .tp-step:nth-child(3) {
    border-top: 1px solid var(--tp-line);
    border-left: 0;
  }

  .tp-step:nth-child(4) {
    border-top: 1px solid var(--tp-line);
  }

  .tp-save-grid {
    grid-template-columns: 1fr;
  }

  .tp-save-copy h2 {
    max-width: 18ch;
  }

  .tp-faq-shell,
  .tp-editorial-shell {
    grid-template-columns: 1fr;
    gap: 28px;
  }

  .tp-topic-nav,
  .tp-toc {
    position: static;
    max-height: none;
    padding: 0 0 10px;
    overflow-x: auto;
    overflow-y: hidden;
    overscroll-behavior: auto;
  }

  .tp-topic-nav ul,
  .tp-toc ol {
    display: flex;
    width: max-content;
    min-width: 100%;
    gap: 7px;
  }

  .tp-topic-nav a,
  .tp-toc a {
    padding: 10px 13px;
    border: 1px solid var(--tp-line);
    white-space: nowrap;
  }

  .tp-topic-nav a::before,
  .tp-toc a::before {
    content: none;
  }

  .tp-guides {
    grid-template-columns: 1fr 1fr;
  }

  .tp-guide:last-child {
    grid-column: 1 / -1;
  }

  .tp-footer .footer__grid {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (max-width: 660px) {
  html {
    scroll-padding-top: 74px;
  }

  .tp-container {
    width: min(100% - 28px, var(--tp-max));
  }

  .site-header .header__inner {
    width: calc(100% - 20px);
    height: 58px;
  }

  .site-header .logo-text {
    font-size: 0.92rem !important;
  }

  .site-header .trust-nav a {
    display: none;
  }

  .site-header .trust-nav a[data-nav-home],
  .site-header .trust-nav a[aria-current="page"] {
    display: block;
    padding-inline: 8px;
    font-size: 0.78rem !important;
  }

  .site-header .theme-toggle {
    margin-left: 2px;
  }

  .tp-breadcrumbs {
    margin-bottom: 22px;
  }

  .tp-hero {
    padding: 38px 0 46px;
  }

  .tp-hero h1 {
    max-width: 100%;
    font-size: clamp(2.45rem, 13vw, 3.65rem);
  }

  .trust-page--faq .tp-hero h1 {
    max-width: 10ch;
  }

  .tp-hero__lead {
    margin-top: 18px;
    font-size: 1rem;
  }

  .tp-search {
    margin-top: 25px;
  }

  .tp-search input {
    min-height: 54px;
    padding-right: 92px;
  }

  .tp-hero__image-frame {
    border-radius: 18px;
    transform: none;
  }

  .tp-hero__badge {
    right: 10px;
    bottom: 10px;
  }

  .tp-section,
  .tp-dark-band {
    padding: 58px 0;
  }

  .tp-section__header {
    display: block;
    margin-bottom: 28px;
  }

  .tp-section__header p {
    margin-top: 14px;
  }

  .tp-paths,
  .tp-fact-rail,
  .tp-steps,
  .tp-fairness-grid,
  .tp-guides {
    grid-template-columns: 1fr;
  }

  .tp-path,
  .tp-path:nth-child(3),
  .tp-fact,
  .tp-step,
  .tp-step:nth-child(3),
  .tp-step:nth-child(4) {
    grid-column: auto;
    border-left: 0;
    border-top: 1px solid var(--tp-line);
  }

  .tp-path:first-child,
  .tp-fact:first-child,
  .tp-step:first-child {
    border-top: 0;
  }

  .tp-step__line {
    display: none;
  }

  .tp-fairness-copy {
    grid-column: auto;
  }

  .tp-proof-panel {
    min-height: auto;
    padding: 22px 18px;
  }

  .tp-odds {
    grid-template-columns: 105px 1fr;
    gap: 16px;
  }

  .tp-odds__wheel {
    width: 105px;
  }

  .tp-status-note {
    grid-template-columns: 1fr;
  }

  .tp-faq-toolbar {
    display: block;
  }

  .tp-faq-toolbar__buttons {
    margin-top: 13px;
  }

  .tp-faq-category + .tp-faq-category {
    margin-top: 46px;
    padding-top: 42px;
  }

  .tp-faq-category__heading {
    grid-template-columns: 38px 1fr;
    gap: 13px;
  }

  .tp-faq-category__number {
    width: 36px;
    height: 36px;
  }

  .tp-faq-item summary {
    padding-right: 44px;
  }

  .tp-faq-answer {
    padding-right: 0;
  }

  .tp-guide:last-child {
    grid-column: auto;
  }

  .tp-contact-band__inner {
    display: block;
  }

  .tp-contact-band .tp-button {
    margin-top: 20px;
  }

  .tp-legal-hero__visual {
    min-height: auto;
    padding: 16px;
  }

  .tp-data-path {
    grid-template-columns: 1fr;
    padding: 24px 16px;
  }

  .tp-data-arrow {
    width: 2px;
    height: 34px;
    margin-inline: auto;
    background: repeating-linear-gradient(180deg, var(--tp-accent) 0 8px, transparent 8px 14px);
  }

  .tp-terms-split {
    grid-template-columns: 1fr;
  }

  .tp-editorial-heading {
    grid-template-columns: 34px 1fr;
    gap: 12px;
  }

  .tp-trust-links {
    grid-template-columns: 1fr;
  }

  .tp-trust-links__intro,
  .tp-trust-link {
    grid-column: auto;
    border-left: 0;
    border-top: 1px solid rgba(255, 255, 255, 0.1);
  }

  .tp-trust-links__intro {
    border-top: 0;
  }

  .tp-footer .footer__grid {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 900px) {
  .tp-shell--faq .tp-hero__grid,
  .tp-shell--privacy .tp-hero__grid,
  .tp-shell--cookies .tp-hero__grid,
  .tp-shell--terms .tp-hero__grid {
    grid-template-columns: 1fr;
  }

  .tp-privacy-map,
  .tp-storage-cabinet,
  .tp-terms-blueprint {
    width: min(760px, 100%);
  }

  .tp-privacy-map__scene {
    grid-template-columns: minmax(280px, 1fr) 210px;
  }

  .tp-editorial-shell--terms .tp-toc {
    padding: 0 0 10px;
    border: 0;
    border-radius: 0;
    background: transparent;
  }

  .tp-topic-nav,
  .tp-toc {
    mask-image: linear-gradient(90deg, #000 0 calc(100% - 34px), transparent 100%);
  }
}

@media (max-width: 660px) {
  .tp-shell--faq .tp-hero--faq,
  .tp-shell--privacy .tp-hero--privacy,
  .tp-shell--cookies .tp-hero--cookies,
  .tp-shell--terms .tp-hero--terms {
    padding: 38px 0 50px;
  }

  .tp-shell--terms .tp-hero h1 {
    font-size: clamp(2.35rem, 11.7vw, 3.4rem);
  }

  .tp-shell--faq .tp-faq-category__heading {
    padding: 18px 14px;
  }

  .tp-shell--faq .tp-faq-item summary,
  .tp-shell--faq .tp-faq-answer {
    padding-left: 14px;
  }

  .tp-privacy-map,
  .tp-storage-cabinet,
  .tp-terms-blueprint {
    padding-inline: 0;
  }

  .tp-privacy-map__scene {
    grid-template-columns: 1fr;
    gap: 44px;
  }

  .tp-privacy-boundary {
    width: min(270px, calc(100% - 50px));
    padding: 48px 34px 30px;
    box-shadow:
      0 0 0 13px rgba(var(--tp-accent-rgb), 0.05),
      0 0 0 27px rgba(var(--tp-accent-rgb), 0.025),
      0 20px 44px rgba(8, 45, 38, 0.1);
  }

  .tp-privacy-email-lane {
    gap: 12px;
  }

  .tp-privacy-email {
    min-height: 116px;
  }

  .tp-shell--privacy #privacy-disabled,
  .tp-shell--cookies #storage-clear,
  .tp-shell--terms .tp-editorial-section--chapter,
  .tp-shell--terms #terms-high-stakes,
  .tp-shell--terms #terms-law {
    margin-inline: 0;
    padding: 24px 20px;
  }

  .tp-storage-cabinet__scene {
    padding: 36px 12px 14px;
  }

  .tp-storage-tabs {
    left: 10px;
    gap: 3px;
  }

  .tp-storage-tabs span {
    padding: 8px 8px 7px;
    font-size: 0.56rem;
  }

  .tp-storage-cabinet .tp-cookie-row {
    grid-template-columns: 34px 1fr;
    gap: 9px;
    padding: 10px;
  }

  .tp-storage-cabinet .tp-cookie-row em {
    grid-column: 2;
    justify-self: start;
  }

  .tp-fact-rail--cookies {
    transform: translateY(-18px);
  }

  .tp-shell--cookies #storage-clear ol {
    grid-template-columns: 1fr;
  }

  .tp-storage-compare {
    grid-template-columns: 1fr;
  }

  .tp-terms-blueprint__scene {
    padding: 22px 12px;
  }

  .tp-terms-blueprint__axis {
    display: none;
  }

  .tp-terms-blueprint .tp-terms-list {
    min-height: auto;
    padding: 18px;
  }

  .tp-editorial-shell--terms .tp-editorial-content {
    padding-left: 0;
  }

  .tp-editorial-shell--terms .tp-editorial-content::before {
    left: 17px;
  }

  .tp-shell--terms .tp-editorial-number {
    width: 34px;
    height: 34px;
  }
}

@media (prefers-reduced-motion: reduce) {
  html {
    scroll-behavior: auto;
  }

  .tp-skip-link,
  .tp-arrow-link::after,
  .tp-faq-item summary::before,
  .tp-faq-item summary::after,
  .tp-motion [data-tp-reveal],
  .tp-motion [data-tp-reveal] * {
    transition: none !important;
    animation: none !important;
  }

  .tp-motion .tp-reveal-pending,
  .tp-motion .tp-reveal-pending * {
    opacity: 1 !important;
    transform: none !important;
  }
}

@media print {
  .tp-motion .tp-reveal-pending,
  .tp-motion .tp-reveal-pending * {
    opacity: 1 !important;
    transform: none !important;
    animation: none !important;
    transition: none !important;
  }
}
