/* Find your neurotype — v6 skin for every page (Oct 2026).
   1) remaps the design-system variables of site.css to the v6 palette, so every page that uses them follows;
   2) neutralises the old inline gradients (blue→teal buttons, navy heroes) still written in many views;
   3) shared v6 components for the redesigned inner pages (blog, article, about...). Loaded after site.css. */

:root {
  --blue-900: #0b1f3a; --blue-800: #0a6fd6; --primary: #0a6fd6; --blue-600: #0756a8; --blue-100: #e7f0fc;
  --teal: #0b8a8f; --accent: #0b8a8f; --teal-lt: #dff3f1;
  --bg: #ffffff; --gray-50: #f7f9fc; --gray-100: #eef2f7; --gray-200: #e3e8ef; --border: #e3e8ef;
  --gray-500: #4f6076; --gray-600: #4f6076; --gray-700: #33435a; --gray-800: #0b1f3a; --text: #0b1f3a; --gray-900: #0b1f3a;
  --muted: #4f6076;
  --font-display: "Plus Jakarta Sans", system-ui, sans-serif; --font-body: "Plus Jakarta Sans", system-ui, sans-serif;
  --radius-sm: 12px; --radius: 20px; --radius-lg: 28px; --radius-xl: 40px;
  --shadow-sm: 0 2px 4px rgba(11,31,58,.04); --shadow: 0 2px 4px rgba(11,31,58,.04), 0 16px 32px -20px rgba(11,31,58,.25);
  --shadow-lg: 0 2px 4px rgba(11,31,58,.04), 0 24px 48px -24px rgba(11,31,58,.28);
}
body { background: #fff; color: var(--fyn-ink); font-family: var(--fyn-sans); }
main h1, main h2, main h3 { font-family: var(--fyn-sans); letter-spacing: -.025em; }
.page-container { max-width: 1240px; padding-left: 32px; padding-right: 32px; }
@media (max-width: 600px) { .page-container { padding-left: 16px; padding-right: 16px; } }

/* Old blue→teal gradients (buttons, badges, bars) become the v6 solid blue; buttons become pills */
main [style*="linear-gradient(135deg,#1247c9,#00c4a7)" i],
main [style*="linear-gradient(135deg, #1247c9, #00c4a7)" i],
main [style*="linear-gradient(135deg,#1247c9 0%,#00c4a7 100%)" i],
main [style*="linear-gradient(135deg,#1247c9,#0ea5c4)" i],
main [style*="linear-gradient(135deg,#1247c9,#2563eb)" i],
main [style*="linear-gradient(90deg,#1247c9,#00c4a7)" i],
main [style*="linear-gradient(90deg, #2563eb, #0d9488)" i] { background: var(--fyn-blue) !important; box-shadow: none !important; }
main a[style*="linear-gradient(135deg,#1247c9" i], main button[style*="linear-gradient(135deg,#1247c9" i] { border-radius: 999px !important; }
/* Old navy→blue(→teal) heroes and banners become solid ink (their text is white) */
main [style*="linear-gradient(135deg,#0c1b4a 0%,#1247c9 55%,#00c4a7 100%)" i],
main [style*="linear-gradient(135deg,#0a1628,#1247c9)" i],
main [style*="linear-gradient(135deg,#0d1b3e" i] { background: var(--fyn-ink) !important; }
/* Generic old buttons */
main .btn, main .btn-primary, main .btn-start { border-radius: 999px; font-family: var(--fyn-sans); }
main .btn-primary, main .btn-start { background: var(--fyn-blue); box-shadow: none; }
main .btn-primary:hover, main .btn-start:hover { background: var(--fyn-blue-d); }

/* ── v6 page components ─────────────────────────────────── */
.fyn-pg { font: 16px/1.6 var(--fyn-sans); color: var(--fyn-ink); padding: 48px 0 0; }
.fyn-pg h1, .fyn-pg h2, .fyn-pg h3 { margin: 0; font-weight: 800; letter-spacing: -.035em; line-height: 1.08; color: var(--fyn-ink); }
.fyn-pg p { margin: 0; }
.fyn-pg a { color: var(--fyn-blue-d); }
.fyn-pg .fyn-btn, .fyn-pg .fyn-btn:hover { color: #fff; }
.fyn-pg .fyn-btn.light { color: var(--fyn-ink); border: 1.5px solid var(--fyn-line); }
.fyn-pg .fyn-btn.light:hover { color: #fff; }
.fyn-ph { display: flex; justify-content: space-between; align-items: end; gap: 24px; flex-wrap: wrap; margin-bottom: 36px; }
.fyn-ph h1 { font-size: clamp(40px, 5vw, 64px); }
.fyn-ph p { color: var(--fyn-mute); font-size: 18px; max-width: 32em; }
.fyn-kicker { display: inline-block; font: 700 13px var(--fyn-sans); color: var(--fyn-blue-d); margin-bottom: 14px; }
.fyn-input { width: 100%; box-sizing: border-box; padding: 15px 22px; border: 1.5px solid var(--fyn-line); border-radius: 999px;
  font: 500 15px var(--fyn-sans); color: var(--fyn-ink); background: #fff; outline: none; }
.fyn-input:focus { border-color: var(--fyn-blue); }
.fyn-chips { display: flex; gap: 8px; flex-wrap: wrap; }
.fyn-chip { display: inline-flex; align-items: center; padding: 9px 16px; border-radius: 999px; font: 600 14px var(--fyn-sans);
  text-decoration: none; color: var(--fyn-ink) !important; background: #fff; border: 1.5px solid var(--fyn-line); }
.fyn-chip:hover { border-color: var(--fyn-ink); }
.fyn-chip.on { background: var(--fyn-ink); border-color: var(--fyn-ink); color: #fff !important; }

.fyn-panel { border-radius: 40px; padding: 56px 64px; }
.fyn-panel.blue { background: var(--fyn-blue-t); } .fyn-panel.teal { background: var(--fyn-teal-t); }
.fyn-panel.coral { background: var(--fyn-coral-t); } .fyn-panel.violet { background: var(--fyn-violet-t); }
.fyn-panel.ink { background: var(--fyn-ink); color: #fff; }
.fyn-panel.ink h2, .fyn-panel.ink h3 { color: #fff; }
@media (max-width: 960px) { .fyn-panel { padding: 40px 28px; border-radius: 28px; } }

/* cards: typographic coloured cover + body (blog, related reads) */
.fyn-cards { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: 20px; }
.fyn-card { text-decoration: none; color: var(--fyn-ink) !important; display: flex; flex-direction: column; border-radius: 28px; overflow: hidden;
  border: 1px solid var(--fyn-line); background: #fff; transition: transform .2s, box-shadow .2s; }
.fyn-card:hover { transform: translateY(-4px); box-shadow: 0 24px 48px -28px rgba(11,31,58,.35); }
.fyn-card .cover { aspect-ratio: 16/10; display: flex; align-items: flex-end; padding: 24px; font-size: 52px; font-weight: 800;
  letter-spacing: -.05em; line-height: .9; overflow: hidden; overflow-wrap: anywhere; position: relative; }
.fyn-card .cover img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.fyn-card .body { padding: 22px 24px 26px; display: flex; flex-direction: column; flex: 1; }
.fyn-card small { font: 700 13px var(--fyn-sans); color: var(--fyn-mute); }
.fyn-card h3 { font-size: 21px; letter-spacing: -.02em; line-height: 1.22; margin: 8px 0 10px; }
.fyn-card p { font-size: 15px; color: var(--fyn-mute); display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; }
.tint-b { background: var(--fyn-blue-t); color: var(--fyn-blue); } .tint-t { background: var(--fyn-teal-t); color: var(--fyn-teal); }
.tint-c { background: var(--fyn-coral-t); color: var(--fyn-coral); } .tint-v { background: var(--fyn-violet-t); color: var(--fyn-violet); }
@media (max-width: 1000px) { .fyn-cards { grid-template-columns: repeat(2, minmax(0,1fr)); } }
@media (max-width: 640px) { .fyn-cards { grid-template-columns: 1fr; } }

.fyn-pager { display: flex; gap: 6px; justify-content: center; flex-wrap: wrap; margin-top: 40px; }
.fyn-pager a { min-width: 42px; text-align: center; padding: 10px 14px; border-radius: 999px; border: 1.5px solid var(--fyn-line);
  text-decoration: none; font: 700 14px var(--fyn-sans); color: var(--fyn-ink); background: #fff; }
.fyn-pager a.on { background: var(--fyn-ink); border-color: var(--fyn-ink); color: #fff; }

/* long-form text: blog articles, legal pages, about */
.fyn-prose { font-size: 18px; line-height: 1.75; color: #1f3350; }
.fyn-prose > * + * { margin-top: 1em; }
.fyn-prose h2 { font-size: 30px; line-height: 1.15; margin-top: 1.8em; color: var(--fyn-ink); font-weight: 800; letter-spacing: -.03em; }
.fyn-prose h3 { font-size: 22px; line-height: 1.25; margin-top: 1.5em; color: var(--fyn-ink); font-weight: 800; letter-spacing: -.02em; }
.fyn-prose p { margin: 0; }
.fyn-prose p + p { margin-top: 1em; }
.fyn-prose ul, .fyn-prose ol { padding-left: 1.3em; }
.fyn-prose li + li { margin-top: .4em; }
.fyn-prose strong { color: var(--fyn-ink); }
.fyn-prose a { color: var(--fyn-blue-d); text-decoration: underline; text-underline-offset: 3px; }
.fyn-prose blockquote { margin: 1.6em 0; padding: 24px 28px; background: var(--fyn-violet-t); border-radius: 24px; color: var(--fyn-ink); font-style: normal; }
.fyn-prose img { max-width: 100%; height: auto; border-radius: 20px; }
.fyn-prose table { width: 100%; border-collapse: separate; border-spacing: 0; font-size: 15px; border: 1px solid var(--fyn-line); border-radius: 20px; overflow: hidden; }
.fyn-prose th { text-align: left; background: var(--fyn-blue-t); padding: 12px 16px; font-weight: 700; }
.fyn-prose td { padding: 12px 16px; border-top: 1px solid var(--fyn-line); }
.fyn-prose code { background: var(--fyn-blue-t); padding: 2px 6px; border-radius: 6px; font-size: .9em; }
/* boxes some articles carry with inline styles: keep them but in the v6 shape */
.fyn-prose div[style*="border"], .fyn-prose aside { border-radius: 20px !important; }

.fyn-meta { display: flex; flex-wrap: wrap; gap: 8px 22px; font: 600 14px var(--fyn-sans); color: var(--fyn-mute); }
.fyn-back { font: 700 14px var(--fyn-sans); color: var(--fyn-mute) !important; text-decoration: none; }
.fyn-back:hover { color: var(--fyn-ink) !important; }
.fyn-tags { display: flex; flex-wrap: wrap; gap: 8px; }
.fyn-tags a { padding: 7px 14px; border-radius: 999px; background: var(--fyn-blue-t); color: var(--fyn-blue-d) !important; text-decoration: none; font: 600 13px var(--fyn-sans); }
.fyn-tags a:hover { background: var(--fyn-blue-m); }

/* ── Test intro page (/test/CODE) ───────────────────────── */
.fyn-thero { --tc: var(--fyn-blue); --tcd: var(--fyn-blue-d); --tt: var(--fyn-blue-t); --tm: var(--fyn-blue-m);
  background: var(--tt); font-family: var(--fyn-sans); color: var(--fyn-ink); }
.fyn-thero.t-teal { --tc: var(--fyn-teal); --tcd: #086a6e; --tt: var(--fyn-teal-t); --tm: var(--fyn-teal-m); }
.fyn-thero.t-coral { --tc: var(--fyn-coral); --tcd: var(--fyn-coral-d); --tt: var(--fyn-coral-t); --tm: var(--fyn-coral-m); }
.fyn-thero.t-violet { --tc: var(--fyn-violet); --tcd: var(--fyn-violet-d); --tt: var(--fyn-violet-t); --tm: var(--fyn-violet-m); }
.fyn-thero-in { max-width: 1240px; margin: 0 auto; padding: 56px 32px 64px; display: grid; grid-template-columns: minmax(0,1fr) 400px; gap: 56px; align-items: center; }
.fyn-thero .fyn-back { display: inline-block; margin-bottom: 26px; }
.fyn-thero-label { display: block; font: 700 13px var(--fyn-sans); color: var(--tcd); margin-bottom: 14px; }
.fyn-thero h1 { font: 800 clamp(38px, 5vw, 64px)/1.04 var(--fyn-sans); letter-spacing: -.04em; margin: 0 0 20px; color: var(--fyn-ink); text-wrap: balance; }
.fyn-thero .lead { font-size: 19px; line-height: 1.55; color: #33435a; max-width: 34em; margin: 0 0 24px; }
.fyn-thero-meta { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 28px; }
.fyn-thero-meta span { padding: 8px 14px; border-radius: 999px; background: #fff; font: 600 14px var(--fyn-sans); color: var(--fyn-ink); }
.fyn-thero-meta .free { background: var(--tc); color: #fff; }
.fyn-thero-cta { display: flex; flex-wrap: wrap; gap: 10px; }
.fyn-thero-cta .fyn-btn { padding: 17px 28px; font-size: 16px; text-decoration: none; border: 0; cursor: pointer; }
.fyn-thero-cta .fyn-btn:not(.light) { background: var(--fyn-ink); color: #fff; }
.fyn-thero-cta .fyn-btn:not(.light):hover { background: #000; }
.fyn-thero-cta .fyn-btn.light { background: #fff; color: var(--fyn-ink); }
.fyn-thero-cta .fyn-btn.light:hover { background: var(--fyn-ink); color: #fff; }
.fyn-thero-trust { margin: 16px 0 0; font: 500 14px var(--fyn-sans); color: var(--fyn-mute); }
.fyn-thero-scale { margin: 6px 0 0; font: 600 13px var(--fyn-sans); color: var(--fyn-mute); }
.fyn-thero-card { background: #fff; border-radius: 32px; padding: 30px 30px 26px; box-shadow: 0 2px 4px rgba(11,31,58,.04), 0 24px 48px -28px rgba(11,31,58,.3); }
.fyn-thero-card .k { font: 700 13px var(--fyn-sans); color: var(--tcd); margin-bottom: 14px; }
.fyn-thero-card ol { list-style: none; margin: 0; padding: 0; counter-reset: s; }
.fyn-thero-card li { counter-increment: s; position: relative; padding: 0 0 18px 50px; }
.fyn-thero-card li::before { content: counter(s); position: absolute; left: 0; top: 0; width: 34px; height: 34px; border-radius: 50%;
  background: var(--tt); color: var(--tcd); font: 800 15px/34px var(--fyn-sans); text-align: center; }
.fyn-thero-card li:not(:last-child)::after { content: ""; position: absolute; left: 16px; top: 40px; bottom: 4px; width: 2px; background: var(--tt); }
.fyn-thero-card li b { display: block; font: 800 17px/1.3 var(--fyn-sans); letter-spacing: -.01em; margin: 6px 0 4px; }
.fyn-thero-card li span { display: block; font: 500 14.5px/1.5 var(--fyn-sans); color: var(--fyn-mute); }
.fyn-thero-pdf { display: block; margin-top: 4px; padding-top: 16px; border-top: 1px solid var(--fyn-line); font: 700 14px var(--fyn-sans); color: var(--fyn-blue-d) !important; text-decoration: none; }
.fyn-thero-pdf:hover { text-decoration: underline; }

.fyn-tbody { max-width: 1240px; margin: 0 auto; padding: 56px 32px 80px; display: grid; grid-template-columns: minmax(0,1fr) 380px; gap: 48px; align-items: start; font-family: var(--fyn-sans); color: var(--fyn-ink); }
.fyn-tmain { display: flex; flex-direction: column; gap: 20px; min-width: 0; }
.fyn-tside { display: flex; flex-direction: column; gap: 16px; position: sticky; top: 100px; }
.fyn-tbox { border: 1px solid var(--fyn-line); border-radius: 28px; padding: 28px 30px; background: #fff; }
.fyn-tbox.tint { background: var(--fyn-blue-t); border-color: transparent; }
.fyn-tbox h2 { font: 800 22px/1.2 var(--fyn-sans); letter-spacing: -.02em; margin: 0 0 14px; color: var(--fyn-ink); }
.fyn-tbox h3 { font: 800 22px/1.2 var(--fyn-sans); letter-spacing: -.02em; margin: 6px 0 16px; color: var(--fyn-ink); }
.fyn-tbox p { margin: 0; font-size: 16px; line-height: 1.6; color: #33435a; }
.fyn-tbox .k { font: 700 13px var(--fyn-sans); color: var(--fyn-blue-d); }
.fyn-dims { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 10px 20px; margin-bottom: 16px; }
.fyn-dims span { display: flex; align-items: center; gap: 10px; font: 600 15px var(--fyn-sans); }
.fyn-dims small { color: var(--fyn-mute); font-weight: 500; }
.fyn-dims i { width: 10px; height: 10px; border-radius: 50%; flex: none; background: var(--fyn-blue); }
.fyn-dims i.d-t { background: var(--fyn-teal); } .fyn-dims i.d-c { background: var(--fyn-coral); } .fyn-dims i.d-v { background: var(--fyn-violet); }
.fyn-tlinks a { display: flex; justify-content: space-between; gap: 16px; padding: 14px 0; border-top: 1px solid var(--fyn-line);
  font: 600 16px/1.45 var(--fyn-sans); color: var(--fyn-ink) !important; text-decoration: none; }
.fyn-tlinks a span { color: var(--fyn-blue); font-weight: 800; }
.fyn-tlinks a:hover { color: var(--fyn-blue-d) !important; }
.fyn-tguide { display: block; border-radius: 28px; padding: 24px 30px; background: var(--fyn-violet-t); text-decoration: none; color: var(--fyn-ink) !important; }
.fyn-tguide .k { display: block; font: 700 13px var(--fyn-sans); color: var(--fyn-violet-d); margin-bottom: 6px; }
.fyn-tguide b { font: 800 19px/1.35 var(--fyn-sans); letter-spacing: -.01em; }
.fyn-tguide:hover b { text-decoration: underline; }
.fyn-tseo { margin-top: 12px; font-size: 17px; }
.fyn-tseo h2 { font-size: 26px; margin-top: 1.4em; }
.fyn-tseo h2:first-child { margin-top: 0; }
.fyn-tbox.report { background: var(--fyn-ink); border-color: var(--fyn-ink); color: #fff; }
.fyn-tbox.report .k { color: #9cc7f5; }
.fyn-tbox.report h3 { color: #fff; }
.fyn-tbox.report .price { color: rgba(255,255,255,.75); font-size: 14.5px; margin: 18px 0; }
.fyn-tbox.report .price b { color: #fff; font-size: 20px; }
.fyn-tbox.report .fyn-btn { width: 100%; justify-content: center; border: 0; cursor: pointer; }
.fyn-ticks { list-style: none; margin: 0; padding: 0; }
.fyn-ticks li { position: relative; padding: 0 0 10px 30px; font: 500 15px/1.45 var(--fyn-sans); }
.fyn-ticks li::before { content: ""; position: absolute; left: 0; top: 2px; width: 18px; height: 18px; border-radius: 50%;
  background: var(--fyn-teal) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='3.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='5 12.5 10 17 19 7'/%3E%3C/svg%3E") center/11px no-repeat; }
.fyn-tnote { border-radius: 20px; padding: 18px 20px; background: #f4f6fa; font: 500 14px/1.55 var(--fyn-sans); color: #33435a; }
.fyn-tnote strong { color: var(--fyn-ink); }
.fyn-tnote.warn { background: var(--fyn-coral-t); }
.fyn-iq-full { display: block; border-radius: 22px; padding: 20px 24px; background: var(--fyn-ink); color: #fff !important; text-decoration: none; margin-bottom: 12px; }
.fyn-iq-full .k { color: #9cc7f5; }
.fyn-iq-full b { display: block; font: 800 20px var(--fyn-sans); margin: 4px 0; }
.fyn-iq-full span:last-child { font-size: 14px; color: rgba(255,255,255,.7); }
.fyn-iq-grid { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 10px; }
.fyn-iq-grid a { display: block; border-radius: 20px; padding: 16px 18px; background: var(--fyn-violet-t); text-decoration: none; color: var(--fyn-ink) !important; }
.fyn-iq-grid a:hover { background: var(--fyn-violet-m); }
.fyn-iq-grid b { display: block; font: 800 16px var(--fyn-sans); }
.fyn-iq-grid span { display: block; font-size: 14px; color: var(--fyn-mute); margin: 2px 0 6px; }
.fyn-iq-grid small { font: 700 12px var(--fyn-sans); color: var(--fyn-violet-d); }
.fyn-modal { position: fixed; inset: 0; z-index: 99999; background: rgba(11,31,58,.72); align-items: flex-start; justify-content: center; padding: 20px 12px 40px; overflow-y: auto; }
.fyn-modal-in { position: relative; max-width: 780px; width: 100%; margin: 20px auto 0; }
.fyn-modal-x { position: absolute; top: -12px; right: -4px; z-index: 10; width: 40px; height: 40px; border-radius: 50%; background: #fff; border: 0;
  color: var(--fyn-ink); font-size: 18px; font-weight: 700; cursor: pointer; box-shadow: 0 4px 12px rgba(0,0,0,.25); }
@media (max-width: 1000px) {
  .fyn-thero-in, .fyn-tbody { grid-template-columns: 1fr; gap: 32px; }
  .fyn-tside { position: static; }
}
@media (max-width: 600px) {
  .fyn-thero-in { padding: 32px 16px 40px; }
  .fyn-tbody { padding: 32px 16px 56px; }
  .fyn-thero .lead { font-size: 17px; }
  .fyn-thero-cta .fyn-btn { width: 100%; justify-content: center; }
  .fyn-thero-card, .fyn-tbox { padding: 24px 20px; border-radius: 24px; }
  .fyn-dims, .fyn-iq-grid { grid-template-columns: 1fr; }
}

/* ── Pricing ───────────────────────────────────────────── */
.fyn-pricing { padding-bottom: 88px; }
.fyn-plans { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 20px; }
.fyn-plan { border-radius: 36px; padding: 40px 40px 36px; background: var(--fyn-blue-t); display: flex; flex-direction: column; }
.fyn-plan .k { font: 700 13px var(--fyn-sans); color: var(--fyn-blue-d); }
.fyn-plan .amt { font: 800 64px/1 var(--fyn-sans); letter-spacing: -.05em; margin: 14px 0 10px; }
.fyn-plan .sub { color: var(--fyn-mute); font-size: 15px; margin-bottom: 26px; }
.fyn-plan .fyn-ticks { margin-bottom: 6px; }
.fyn-plan .fyn-ticks li { font-size: 16px; padding-bottom: 12px; }
.fyn-ticks.off li { color: var(--fyn-mute); text-decoration: line-through; text-decoration-color: rgba(79,96,118,.4); }
.fyn-ticks.off li::before { background: #c9d3e0; background-image: none; }
.fyn-plan .note { font-size: 14px; color: var(--fyn-mute); margin: 8px 0 0; }
.fyn-plan .fyn-btn { margin-top: auto; align-self: flex-start; text-decoration: none; }
.fyn-plan > .fyn-btn { margin-top: 26px; }
.fyn-plan.dark { background: var(--fyn-ink); color: #fff; }
.fyn-plan.dark .k { color: #9cc7f5; }
.fyn-plan.dark .sub, .fyn-plan.dark .note { color: rgba(255,255,255,.7); }
.fyn-plan.dark .fyn-btn { background: #fff; color: var(--fyn-ink); }
.fyn-plan.dark .fyn-btn:hover { background: var(--fyn-blue-t); color: var(--fyn-ink); }
.fyn-pfacts { display: grid; grid-template-columns: minmax(0,1fr) auto; gap: 20px; margin-top: 20px; }
.fyn-guarantee { border-radius: 28px; padding: 26px 32px; background: var(--fyn-teal-t); }
.fyn-guarantee b { display: block; font: 800 20px var(--fyn-sans); letter-spacing: -.02em; margin-bottom: 6px; }
.fyn-guarantee span { color: #33435a; font-size: 15.5px; }
.fyn-pstats { display: flex; gap: 0; margin: 0; border: 1px solid var(--fyn-line); border-radius: 28px; overflow: hidden; }
.fyn-pstats > div { padding: 22px 26px; min-width: 120px; }
.fyn-pstats > div + div { border-left: 1px solid var(--fyn-line); }
.fyn-pstats dt { font: 800 28px/1 var(--fyn-sans); letter-spacing: -.03em; }
.fyn-pstats dd { margin: 8px 0 0; font: 600 13px/1.3 var(--fyn-sans); color: var(--fyn-mute); }
.fyn-psample { margin-top: 88px; }
.fyn-psample h2, .fyn-previews h2, .fyn-faq h2 { font-size: clamp(32px, 4vw, 48px); }
.fyn-pflip { border-radius: 36px; background: var(--fyn-violet-t); padding: 32px; }
.fyn-previews { margin-top: 88px; }
.fyn-previews h2 { margin-bottom: 28px; }
.fyn-review { border: 1px solid var(--fyn-line); border-radius: 28px; padding: 26px; display: flex; flex-direction: column; gap: 14px; }
.fyn-review .stars { color: var(--fyn-coral); letter-spacing: 2px; }
.fyn-review .stars span { color: #d8dee8; }
.fyn-review p { font-size: 16px; line-height: 1.6; flex: 1; }
.fyn-review footer { font-size: 14px; color: var(--fyn-mute); }
.fyn-review footer b { color: var(--fyn-ink); }
.fyn-faq { margin-top: 88px; max-width: 860px; }
.fyn-faq h2 { margin-bottom: 24px; }
.fyn-faq details { border-top: 1px solid var(--fyn-line); }
.fyn-faq details:last-child { border-bottom: 1px solid var(--fyn-line); }
.fyn-faq summary { list-style: none; cursor: pointer; display: flex; justify-content: space-between; gap: 20px; padding: 22px 0;
  font: 700 18px/1.35 var(--fyn-sans); letter-spacing: -.01em; }
.fyn-faq summary::-webkit-details-marker { display: none; }
.fyn-faq summary::after { content: "+"; font: 500 26px/1 var(--fyn-sans); color: var(--fyn-blue); transition: transform .2s; flex: none; }
.fyn-faq details[open] summary::after { transform: rotate(45deg); }
.fyn-faq details p { padding: 0 0 24px; color: #33435a; font-size: 16px; line-height: 1.7; max-width: 46em; }
@media (max-width: 900px) {
  .fyn-plans, .fyn-pfacts { grid-template-columns: 1fr; }
  .fyn-pstats { flex-wrap: wrap; }
  .fyn-pstats > div { flex: 1 1 40%; }
}
@media (max-width: 600px) {
  .fyn-plan { padding: 30px 24px; border-radius: 28px; }
  .fyn-plan .amt { font-size: 52px; }
  .fyn-plan .fyn-btn { align-self: stretch; justify-content: center; }
  .fyn-pflip { padding: 16px; border-radius: 24px; }
  .fyn-psample, .fyn-previews, .fyn-faq { margin-top: 64px; }
}

/* ── Single video page (/videos/slug): v6 light skin over its own style block ── */
main .vd-page { background: #fff; color: var(--fyn-ink); font-family: var(--fyn-sans); padding-bottom: 88px; }
main .vd-container { max-width: 1000px; padding: 0 32px; }
main .vd-breadcrumb { color: var(--fyn-mute); font: 600 14px var(--fyn-sans); padding-top: 32px; }
main .vd-breadcrumb a, main .vd-back-link { color: var(--fyn-blue-d); }
main .vd-breadcrumb .sep { color: #b8c3d3; }
main .vd-player-wrap { border-radius: 28px; box-shadow: 0 24px 48px -28px rgba(11,31,58,.45); }
main .vd-cat-pill { background: var(--fyn-blue-t); border: 0; color: var(--fyn-blue-d); font: 700 13px var(--fyn-sans); padding: 7px 14px; }
main .vd-cat-pill:hover { background: var(--fyn-blue-m); color: var(--fyn-blue-d); }
main .vd-views, main .vd-duration, main .vd-date { color: var(--fyn-mute); font-size: 14px; }
main .vd-title { color: var(--fyn-ink); font: 800 clamp(30px, 4vw, 44px)/1.1 var(--fyn-sans); letter-spacing: -.035em; }
main .vd-translation-notice { background: var(--fyn-coral-t); border: 0; color: var(--fyn-coral-d); border-radius: 16px; }
main .vd-description { color: #33435a; font-size: 17px; }
main .vd-test-cta { background: var(--fyn-teal-t); border: 0; border-radius: 28px; padding: 28px 32px; }
main .vd-test-cta-icon { background: #fff; border-radius: 18px; }
main .vd-test-cta-content p:first-child { color: var(--fyn-teal); text-transform: none; letter-spacing: 0; font-size: 13px; }
main .vd-test-cta-content h3 { color: var(--fyn-ink); font-size: 20px; letter-spacing: -.02em; }
main .vd-test-cta-content p:last-of-type { color: #33435a; font-size: 15px; }
main .vd-test-cta-btn { background: var(--fyn-ink); color: #fff; border-radius: 999px; padding: 15px 24px; font: 700 15px var(--fyn-sans); }
main .vd-test-cta-btn:hover { background: #000; color: #fff; transform: none; }
main .vd-related-title { color: var(--fyn-ink); font: 800 28px var(--fyn-sans); letter-spacing: -.03em; border-bottom: 0; }
main .vd-related-card { background: #fff; border: 1px solid var(--fyn-line); border-radius: 28px; }
main .vd-related-card:hover { border-color: var(--fyn-line); box-shadow: 0 24px 48px -28px rgba(11,31,58,.35); }
main .vd-related-thumb { background-color: var(--fyn-blue-t); }
main .vd-related-body { padding: 18px 20px 22px; }
main .vd-related-card h4 { color: var(--fyn-ink); font: 800 16px/1.3 var(--fyn-sans); }
main .vd-related-card p { color: var(--fyn-mute); font-size: 14px; }
@media (max-width: 600px) { main .vd-container { padding: 0 16px; } }

/* ── Tests list (/tests) ──────────────────────────────── */
.fyn-alltests { padding-bottom: 88px; }
.fyn-tfilter { display: flex; flex-wrap: wrap; gap: 16px 24px; align-items: center; margin-bottom: 40px; }
.fyn-tfilter .fyn-input { max-width: 380px; }
.fyn-tempty { color: var(--fyn-mute); margin: -16px 0 32px; }
.fyn-fam { --tc: var(--fyn-blue); --tcd: var(--fyn-blue-d); --tt: var(--fyn-blue-t); --tm: var(--fyn-blue-m);
  scroll-margin-top: 110px; margin-bottom: 56px; }
.fyn-fam.t-teal { --tc: var(--fyn-teal); --tcd: #086a6e; --tt: var(--fyn-teal-t); --tm: var(--fyn-teal-m); }
.fyn-fam.t-coral { --tc: var(--fyn-coral); --tcd: var(--fyn-coral-d); --tt: var(--fyn-coral-t); --tm: var(--fyn-coral-m); }
.fyn-fam.t-violet { --tc: var(--fyn-violet); --tcd: var(--fyn-violet-d); --tt: var(--fyn-violet-t); --tm: var(--fyn-violet-m); }
.fyn-fam h2 { font-size: clamp(28px, 3vw, 40px); margin-bottom: 20px; display: flex; align-items: baseline; gap: 12px; }
.fyn-fam h2 span { font: 700 15px var(--fyn-sans); color: var(--tcd); background: var(--tt); padding: 4px 12px; border-radius: 999px; letter-spacing: 0; }
.fyn-tgrid { display: grid; grid-template-columns: repeat(4, minmax(0,1fr)); gap: 14px; }
.fyn-tcard { display: flex; flex-direction: column; gap: 8px; border-radius: 24px; padding: 22px 22px 20px; background: var(--tt);
  text-decoration: none; color: var(--fyn-ink) !important; transition: background .15s, transform .15s; }
.fyn-tcard:hover { background: var(--tm); transform: translateY(-2px); }
.fyn-tcard b { font: 800 18px/1.25 var(--fyn-sans); letter-spacing: -.015em; }
.fyn-tcard p { margin: 0; font-size: 14px; line-height: 1.5; color: #33435a; flex: 1;
  display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; }
.fyn-tcard .meta { display: flex; justify-content: space-between; font: 600 13px var(--fyn-sans); color: var(--tcd); margin-top: 6px; }
.fyn-tcard .meta i { font-style: normal; font-size: 16px; }
@media (max-width: 1100px) { .fyn-tgrid { grid-template-columns: repeat(3, minmax(0,1fr)); } }
@media (max-width: 800px) { .fyn-tgrid { grid-template-columns: repeat(2, minmax(0,1fr)); } }
@media (max-width: 520px) { .fyn-tgrid { grid-template-columns: 1fr; } .fyn-tfilter .fyn-input { max-width: none; } }

/* ── Test intro: immersive hero (per-test dark palette + neuron photo), v6 typography ── */
.fyn-thero.immersive { position: relative; overflow: hidden; background: var(--hbg); color: #fff; }
.fyn-thero.immersive .fyn-thero-bg { position: absolute; inset: 0; pointer-events: none; z-index: 0;
  background: url('/img/hero-neurons.jpg') center/cover no-repeat; opacity: .45; filter: brightness(.85) saturate(1.2); }
.fyn-thero.immersive::before { content: ""; position: absolute; inset: 0; pointer-events: none; z-index: 1; mix-blend-mode: multiply;
  background: linear-gradient(135deg, rgba(var(--hacc-rgb),.55) 0%, rgba(var(--hacc-rgb),.28) 55%, rgba(0,0,0,.55) 100%); }
.fyn-thero.immersive::after { content: ""; position: absolute; inset: 0; pointer-events: none; z-index: 1;
  background: radial-gradient(ellipse at 35% 50%, transparent 45%, rgba(0,0,0,.5) 100%); }
.fyn-thero.immersive .fyn-thero-in { position: relative; z-index: 2; padding-top: 64px; padding-bottom: 72px; }
.fyn-thero.immersive .fyn-back { color: rgba(255,255,255,.72) !important; }
.fyn-thero.immersive .fyn-back:hover { color: #fff !important; }
.fyn-thero.immersive .fyn-thero-label { display: table; background: var(--cta); color: #fff; padding: 7px 14px; border-radius: 999px; }
.fyn-thero.immersive h1 { color: #fff; text-shadow: 0 2px 24px rgba(0,0,0,.35); }
.fyn-thero.immersive .lead { color: rgba(255,255,255,.86); }
.fyn-thero.immersive .fyn-thero-meta span { background: rgba(255,255,255,.12); color: #fff; border: 1px solid rgba(255,255,255,.2); backdrop-filter: blur(8px); }
.fyn-thero.immersive .fyn-thero-meta .free { background: var(--cta); border-color: transparent; }
.fyn-thero.immersive .fyn-thero-cta .fyn-btn:not(.light) { background: var(--cta); color: #fff; box-shadow: 0 10px 32px rgba(var(--cta-rgb),.45); }
.fyn-thero.immersive .fyn-thero-cta .fyn-btn:not(.light):hover { background: #fff; color: var(--fyn-ink); }
.fyn-thero.immersive .fyn-thero-cta .fyn-btn.light { background: rgba(255,255,255,.12); color: #fff; border: 1px solid rgba(255,255,255,.3); }
.fyn-thero.immersive .fyn-thero-cta .fyn-btn.light:hover { background: #fff; color: var(--fyn-ink); }
.fyn-thero.immersive .fyn-thero-trust, .fyn-thero.immersive .fyn-thero-scale { color: rgba(255,255,255,.6); }
.fyn-thero.immersive .fyn-thero-card { box-shadow: 0 30px 60px -30px rgba(0,0,0,.6); color: var(--fyn-ink); }
.fyn-thero.immersive .fyn-thero-card .k { color: var(--fyn-ink); }
.fyn-thero.immersive .fyn-thero-card li::before { background: rgba(var(--cta-rgb),.14); color: var(--cta); }
.fyn-thero.immersive .fyn-thero-card li:not(:last-child)::after { background: rgba(var(--cta-rgb),.14); }
.fyn-tbody[style*="--cta-rgb"] .fyn-tbox.tint { background: rgba(var(--cta-rgb), .09); }
.fyn-tbody[style*="--cta-rgb"] .fyn-tlinks a span { color: var(--cta); }

/* ── Quiz (/test/CODE/take): dark band in the test's palette + v6 cards in the test's colour ── */
.qz-band { position: relative; height: 340px; margin-bottom: -340px; overflow: hidden; background: var(--hbg); }
.qz-band-bg { position: absolute; inset: 0; background: url('/img/hero-neurons.jpg') center/cover no-repeat; opacity: .45; filter: brightness(.85) saturate(1.2); }
.qz-band::before { content: ""; position: absolute; inset: 0; z-index: 1; mix-blend-mode: multiply;
  background: linear-gradient(135deg, rgba(var(--hacc-rgb),.55) 0%, rgba(var(--hacc-rgb),.28) 55%, rgba(0,0,0,.55) 100%); }
.qz-band::after { content: ""; position: absolute; inset: 0; z-index: 1; background: radial-gradient(ellipse at 50% 30%, transparent 40%, rgba(0,0,0,.5) 100%); }
.qz-disclaimer { position: relative; z-index: 2; max-width: 760px; margin: 20px auto 0; padding: 0 16px; }
.qz-v6 { position: relative; z-index: 2; max-width: 760px; font-family: var(--fyn-sans); }
.qz-v6 .quiz-header { border: 0; border-radius: 28px; padding: 22px 26px 18px; box-shadow: 0 30px 60px -34px rgba(0,0,0,.55); }
.qz-v6 .quiz-header h2 { font: 800 20px/1.25 var(--fyn-sans) !important; letter-spacing: -.02em; color: var(--fyn-ink) !important; }
.qz-v6 .quiz-header p { font-size: 14px !important; color: var(--fyn-mute) !important; }
.qz-v6 .quiz-progress-bar { height: 8px; background: rgba(var(--cta-rgb),.12); }
.qz-v6 .quiz-progress-fill { background: var(--cta); }
.qz-v6 .quiz-dot { background: rgba(var(--cta-rgb),.16); border-color: transparent; }
.qz-v6 .quiz-dot.answered, .qz-v6 .quiz-dot.answered:hover { background: var(--cta); filter: none; }
.qz-v6 .quiz-dot.current { background: var(--fyn-ink); }
.qz-v6 .quiz-dots-hint { font-family: var(--fyn-sans); }
.qz-v6 .timer-display { background: rgba(var(--cta-rgb),.12); color: var(--cta-d); border-radius: 999px; font-family: var(--fyn-sans); }
.qz-v6 .question-card { border: 0; border-radius: 32px; padding: 34px 34px 30px; box-shadow: 0 2px 4px rgba(11,31,58,.04), 0 24px 48px -28px rgba(11,31,58,.3); }
.qz-v6 .q-number { display: inline-block; margin: 0 6px 6px 0; background: rgba(var(--cta-rgb),.12); color: var(--cta-d); text-transform: none; letter-spacing: 0; font: 700 13px var(--fyn-sans); padding: 5px 12px; }
.qz-v6 .q-category { display: inline-block; text-transform: none; font: 600 13px var(--fyn-sans); padding: 5px 12px; background: #f1f4f8; color: var(--fyn-mute); }
.qz-v6 .q-text { font: 800 clamp(21px, 2.4vw, 26px)/1.3 var(--fyn-sans); letter-spacing: -.02em; color: var(--fyn-ink); margin: 16px 0 26px; }
.qz-v6 .options-grid { gap: 10px; }
.qz-v6 .option-label { border: 1.5px solid var(--fyn-line); border-radius: 999px; padding: 15px 22px; font-family: var(--fyn-sans); }
.qz-v6 .option-label::before { background: rgba(var(--cta-rgb),.08); }
.qz-v6 .option-label:hover { border-color: var(--cta); box-shadow: none; }
.qz-v6 .option-label.selected { border-color: var(--cta); background: rgba(var(--cta-rgb),.1); box-shadow: 0 0 0 3px rgba(var(--cta-rgb),.15); }
.qz-v6 .option-label.selected .option-dot { border-color: var(--cta); background: var(--cta); }
.qz-v6 .option-text { font: 600 16px var(--fyn-sans); color: var(--fyn-ink); }
.qz-v6 .option-label.selected .option-text { color: var(--fyn-ink); }
.qz-v6 .svg-option { border-radius: 24px; }
.qz-v6 .svg-option:hover, .qz-v6 .svg-option.selected { border-color: var(--cta) !important; background: rgba(var(--cta-rgb),.08); }
.qz-v6 .q-answered-badge { background: var(--cta); }
.qz-v6 .quiz-nav .btn { border-radius: 999px; font: 700 15px var(--fyn-sans); padding: 14px 24px; }
.qz-v6 .quiz-nav .btn-outline { background: #fff; border: 1.5px solid var(--fyn-line); color: var(--fyn-ink); }
.qz-v6 .quiz-nav .btn-outline:hover:not(:disabled) { border-color: var(--fyn-ink); }
.qz-v6 .quiz-nav .btn-primary { background: var(--fyn-ink); color: #fff; box-shadow: none; }
.qz-v6 .quiz-nav .btn-primary:hover { background: #000; }
.qz-v6 .quiz-nav .btn-accent { background: var(--cta); color: #fff; box-shadow: 0 10px 28px -10px rgba(var(--cta-rgb),.7); }
.qz-v6 #freeTextBlock > div { border: 0 !important; background: rgba(var(--cta-rgb),.07) !important; border-radius: 28px !important; padding: 24px !important; }
.qz-v6 #freeTextInput { border-radius: 20px !important; font-family: var(--fyn-sans) !important; font-size: 15px !important; }
.loading-overlay { font-family: var(--fyn-sans); }
@media (max-width: 600px) {
  .qz-band { height: 300px; margin-bottom: -300px; }
  .qz-v6 .question-card { padding: 26px 20px 22px; border-radius: 26px; }
  .qz-v6 .quiz-header { padding: 18px 18px 14px; border-radius: 24px; }
  .qz-v6 .option-label { padding: 14px 18px; }
}

/* ── Big titles: room for line breaks (accents of É, Ç, Ã... touched the line above at 1.04) ── */
main h1, main h2 { line-height: 1.12 !important; }
main h3 { line-height: 1.25 !important; }
html.fyn-comfort-on main h1, html.fyn-comfort-on main h2 { line-height: 1.22 !important; }
html.fyn-comfort-on main h3 { line-height: 1.35 !important; }
