/* ==========================================================================
   FFE Guide Pages — visual layer on top of pair-page.css (.ffe-pp scope).
   Brand tokens: black bg, gold #e8b923, warm white #efe9dc (NO gray text).
   Mobile-first: single column by default, grids expand at 640/900px.
   Accessibility: meaning never by color alone (badges carry text), focus
   rings on links, prefers-reduced-motion respected via pair-page.css.
   ========================================================================== */

.ffe-guide{--g-gold:#e8b923;--g-gold-b:#f7d354;--g-text:#efe9dc;
  --g-line:rgba(232,185,35,.28);--g-card:rgba(20,20,26,.66);
  --g-good:#8fd694;--g-bad:#ff8a7a;--g-warn:#f2c14e}

/* ---- airiness: rhythm + breathing room ---------------------------------- */
.ffe-guide p{line-height:1.75;margin:0 0 1.15em;font-size:16.5px}
.ffe-guide ul,.ffe-guide ol{line-height:1.7;margin:0 0 1.3em;padding-left:1.25em}
.ffe-guide li{margin:0 0 .55em}
.ffe-guide h2{margin:2.1em 0 .65em;font-size:clamp(21px,2.6vw,27px);line-height:1.3;text-wrap:balance}
.ffe-guide h3{margin:1.5em 0 .5em;font-size:clamp(17.5px,2vw,20px);line-height:1.35}
.ffe-guide .ffe-pp__tablewrap{margin:1.4em 0 1.7em}

/* ---- kicker: small gold overline above a section H2 --------------------- */
.ffe-g__kicker{display:block;font-size:12.5px;font-weight:800;letter-spacing:.14em;
  text-transform:uppercase;color:var(--g-gold-b);margin:2.4em 0 -1.6em}
.ffe-g__kicker + h2{margin-top:2.1em}

/* ---- verdict / TL;DR box ------------------------------------------------- */
.ffe-g__verdict{margin:1.5em 0;padding:18px 20px;border-radius:14px;
  background:radial-gradient(120% 100% at 0% 0%,rgba(232,185,35,.10),transparent 60%),var(--g-card);
  border:1px solid var(--g-line);border-left:4px solid var(--g-gold)}
.ffe-g__verdict p:last-child{margin-bottom:0}
.ffe-g__verdict .ffe-g__vt{display:block;font-size:12.5px;font-weight:800;
  letter-spacing:.12em;text-transform:uppercase;color:var(--g-gold-b);margin:0 0 8px}

/* ---- mini table of contents ---------------------------------------------- */
.ffe-g__toc{display:flex;flex-wrap:wrap;gap:8px;margin:1.2em 0 1.8em;padding:0;list-style:none}
.ffe-g__toc li{margin:0}
.ffe-g__toc a{display:inline-block;padding:8px 14px;border-radius:999px;font-size:13.5px;
  font-weight:700;color:var(--g-gold-b);background:rgba(232,185,35,.08);
  border:1px solid var(--g-line);text-decoration:none;min-height:34px}
.ffe-g__toc a:hover{background:rgba(232,185,35,.16)}

/* ---- card grid (routes, pros/cons, criteria) ----------------------------- */
.ffe-g__cards{display:grid;grid-template-columns:1fr;gap:14px;margin:1.3em 0 1.7em}
@media (min-width:640px){.ffe-g__cards{grid-template-columns:1fr 1fr}}
@media (min-width:960px){.ffe-g__cards--3{grid-template-columns:1fr 1fr 1fr}}
.ffe-g__card{padding:16px 18px;border-radius:14px;background:var(--g-card);
  border:1px solid rgba(232,185,35,.18)}
.ffe-g__card h3,.ffe-g__card h4{margin:0 0 8px;font-size:16.5px;color:#fff}
.ffe-g__card p{font-size:14.5px;line-height:1.65;margin:0 0 .6em}
.ffe-g__card p:last-child{margin-bottom:0}
.ffe-g__card--good{border-left:4px solid var(--g-good)}
.ffe-g__card--bad{border-left:4px solid var(--g-bad)}
.ffe-g__card--warn{border-left:4px solid var(--g-warn)}
.ffe-g__card .ffe-g__ico{display:inline-flex;width:38px;height:38px;margin:0 0 10px;
  align-items:center;justify-content:center;border-radius:10px;
  background:rgba(232,185,35,.12);border:1px solid var(--g-line)}
.ffe-g__card .ffe-g__ico svg{width:22px;height:22px;stroke:var(--g-gold-b);fill:none;
  stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}

/* ---- yes/no/warn badges (used inside comparison tables) ------------------ */
.ffe-g__badge{display:inline-block;padding:3px 10px;border-radius:999px;
  font-size:12.5px;font-weight:800;letter-spacing:.02em;white-space:nowrap}
.ffe-g__badge--yes{color:#0d1a0d;background:var(--g-good)}
.ffe-g__badge--no{color:#2a0d09;background:var(--g-bad)}
.ffe-g__badge--warn{color:#241a04;background:var(--g-warn)}
.ffe-g__badge--na{color:var(--g-text);background:rgba(239,233,220,.14);
  border:1px solid rgba(239,233,220,.25)}

/* ---- score bars (kycnot.me visual) --------------------------------------- */
.ffe-g__scores{margin:1.2em 0 1.6em;padding:16px 18px;border-radius:14px;
  background:var(--g-card);border:1px solid rgba(232,185,35,.18)}
.ffe-g__scores figcaption{font-size:13px;color:var(--g-text);opacity:.85;margin:0 0 12px}
.ffe-g__score{display:grid;grid-template-columns:minmax(92px,130px) 1fr 44px;
  align-items:center;gap:10px;margin:0 0 9px;font-size:14px}
.ffe-g__score:last-child{margin-bottom:0}
.ffe-g__score-name{font-weight:700;color:#fff;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.ffe-g__score-bar{height:12px;border-radius:999px;background:rgba(239,233,220,.10);overflow:hidden}
.ffe-g__score-fill{display:block;height:100%;border-radius:999px;
  background:linear-gradient(90deg,#b8860b,var(--g-gold) 60%,var(--g-gold-b))}
.ffe-g__score--us .ffe-g__score-fill{background:linear-gradient(90deg,#3f7d45,var(--g-good))}
.ffe-g__score-val{font-weight:800;color:var(--g-gold-b);text-align:right;font-variant-numeric:tabular-nums}

/* ---- SVG flow diagram ----------------------------------------------------- */
.ffe-g__flow{margin:1.4em 0 1.8em;padding:14px;border-radius:14px;
  background:var(--g-card);border:1px solid rgba(232,185,35,.18);overflow-x:auto;
  -webkit-overflow-scrolling:touch}
.ffe-g__flow svg{display:block;width:100%;height:auto;min-width:560px}
.ffe-g__flow figcaption{font-size:13px;color:var(--g-text);opacity:.85;margin:10px 2px 0}

/* ---- numbered step cards -------------------------------------------------- */
.ffe-g__steps{counter-reset:gstep;list-style:none;padding:0;margin:1.2em 0 1.6em;
  display:grid;grid-template-columns:1fr;gap:12px}
@media (min-width:720px){.ffe-g__steps{grid-template-columns:1fr 1fr 1fr}}
.ffe-g__steps li{counter-increment:gstep;position:relative;margin:0;
  padding:16px 16px 16px 58px;border-radius:14px;background:var(--g-card);
  border:1px solid rgba(232,185,35,.18);font-size:14.5px;line-height:1.6}
.ffe-g__steps li::before{content:counter(gstep);position:absolute;left:14px;top:14px;
  width:30px;height:30px;border-radius:50%;display:flex;align-items:center;justify-content:center;
  font-weight:800;font-size:15px;color:#151004;background:linear-gradient(135deg,var(--g-gold-b),var(--g-gold))}
.ffe-g__steps b{color:#fff}

/* ---- sources / citations --------------------------------------------------- */
.ffe-g__src{margin:2.2em 0 0;padding:16px 18px;border-radius:14px;
  background:rgba(239,233,220,.045);border:1px solid rgba(239,233,220,.14)}
.ffe-g__src h2,.ffe-g__src h3{margin:0 0 10px;font-size:15.5px}
.ffe-g__src ol{margin:0;padding-left:1.3em;font-size:13.5px;line-height:1.7}
.ffe-g__src li{margin:0 0 4px;overflow-wrap:anywhere}
.ffe-g__src a{font-weight:600}

/* ---- service profile blocks ------------------------------------------------ */
.ffe-g__profile{margin:0 0 1.4em;padding:16px 18px;border-radius:14px;
  background:var(--g-card);border:1px solid rgba(232,185,35,.18)}
.ffe-g__profile h3{margin:0 0 6px}
.ffe-g__meta{display:flex;flex-wrap:wrap;gap:6px 8px;margin:0 0 10px;padding:0;list-style:none}
.ffe-g__meta li{margin:0;font-size:12.5px;font-weight:700;padding:3px 10px;border-radius:999px;
  color:var(--g-text);background:rgba(239,233,220,.10);border:1px solid rgba(239,233,220,.18)}
.ffe-g__profile p{font-size:14.5px;margin-bottom:.6em}
.ffe-g__profile p:last-child{margin-bottom:0}

/* ---- inline highlight for key numbers -------------------------------------- */
.ffe-g__num{color:var(--g-gold-b);font-weight:800;font-variant-numeric:tabular-nums}
