/* cyrillic-ext */
@font-face {
  font-family: 'Advent Pro';
  font-style: normal;
  font-weight: 600;
  font-stretch: 100%;
  font-display: optional;
  src: url(/fonts/cfb-173b66c73c.woff2) format('woff2');
  unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
/* cyrillic */
@font-face {
  font-family: 'Advent Pro';
  font-style: normal;
  font-weight: 600;
  font-stretch: 100%;
  font-display: optional;
  src: url(/fonts/cfb-e7673658c6.woff2) format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* greek */
@font-face {
  font-family: 'Advent Pro';
  font-style: normal;
  font-weight: 600;
  font-stretch: 100%;
  font-display: optional;
  src: url(/fonts/cfb-4cef9e34f1.woff2) format('woff2');
  unicode-range: U+0370-0377, U+037A-037F, U+0384-038A, U+038C, U+038E-03A1, U+03A3-03FF;
}
/* latin-ext */
@font-face {
  font-family: 'Advent Pro';
  font-style: normal;
  font-weight: 600;
  font-stretch: 100%;
  font-display: optional;
  src: url(/fonts/cfb-b1c27ed4f2.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Advent Pro';
  font-style: normal;
  font-weight: 600;
  font-stretch: 100%;
  font-display: optional;
  src: url(/fonts/cfb-68db4aa521.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* cyrillic-ext */
@font-face {
  font-family: 'Advent Pro';
  font-style: normal;
  font-weight: 700;
  font-stretch: 100%;
  font-display: optional;
  src: url(/fonts/cfb-173b66c73c.woff2) format('woff2');
  unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
/* cyrillic */
@font-face {
  font-family: 'Advent Pro';
  font-style: normal;
  font-weight: 700;
  font-stretch: 100%;
  font-display: optional;
  src: url(/fonts/cfb-e7673658c6.woff2) format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* greek */
@font-face {
  font-family: 'Advent Pro';
  font-style: normal;
  font-weight: 700;
  font-stretch: 100%;
  font-display: optional;
  src: url(/fonts/cfb-4cef9e34f1.woff2) format('woff2');
  unicode-range: U+0370-0377, U+037A-037F, U+0384-038A, U+038C, U+038E-03A1, U+03A3-03FF;
}
/* latin-ext */
@font-face {
  font-family: 'Advent Pro';
  font-style: normal;
  font-weight: 700;
  font-stretch: 100%;
  font-display: optional;
  src: url(/fonts/cfb-b1c27ed4f2.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Advent Pro';
  font-style: normal;
  font-weight: 700;
  font-stretch: 100%;
  font-display: optional;
  src: url(/fonts/cfb-68db4aa521.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* vietnamese */
@font-face {
  font-family: 'Anton';
  font-style: normal;
  font-weight: 400;
  font-display: optional;
  src: url(/fonts/cfb-939d06e3d4.woff2) format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
/* latin-ext */
@font-face {
  font-family: 'Anton';
  font-style: normal;
  font-weight: 400;
  font-display: optional;
  src: url(/fonts/cfb-7bc989ab12.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Anton';
  font-style: normal;
  font-weight: 400;
  font-display: optional;
  src: url(/fonts/cfb-5f6dede79f.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* cyrillic-ext */
@font-face {
  font-family: 'Roboto Condensed';
  font-style: normal;
  font-weight: 400;
  font-display: optional;
  src: url(/fonts/cfb-9cb479c073.woff2) format('woff2');
  unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
/* cyrillic */
@font-face {
  font-family: 'Roboto Condensed';
  font-style: normal;
  font-weight: 400;
  font-display: optional;
  src: url(/fonts/cfb-01e1e8d4d7.woff2) format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* greek-ext */
@font-face {
  font-family: 'Roboto Condensed';
  font-style: normal;
  font-weight: 400;
  font-display: optional;
  src: url(/fonts/cfb-613002cde1.woff2) format('woff2');
  unicode-range: U+1F00-1FFF;
}
/* greek */
@font-face {
  font-family: 'Roboto Condensed';
  font-style: normal;
  font-weight: 400;
  font-display: optional;
  src: url(/fonts/cfb-307ccd1b71.woff2) format('woff2');
  unicode-range: U+0370-0377, U+037A-037F, U+0384-038A, U+038C, U+038E-03A1, U+03A3-03FF;
}
/* vietnamese */
@font-face {
  font-family: 'Roboto Condensed';
  font-style: normal;
  font-weight: 400;
  font-display: optional;
  src: url(/fonts/cfb-d52db0eaea.woff2) format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
/* latin-ext */
@font-face {
  font-family: 'Roboto Condensed';
  font-style: normal;
  font-weight: 400;
  font-display: optional;
  src: url(/fonts/cfb-e95e82c11d.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Roboto Condensed';
  font-style: normal;
  font-weight: 400;
  font-display: optional;
  src: url(/fonts/cfb-1cf6600ae3.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* cyrillic-ext */
@font-face {
  font-family: 'Roboto Condensed';
  font-style: normal;
  font-weight: 700;
  font-display: optional;
  src: url(/fonts/cfb-9cb479c073.woff2) format('woff2');
  unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
/* cyrillic */
@font-face {
  font-family: 'Roboto Condensed';
  font-style: normal;
  font-weight: 700;
  font-display: optional;
  src: url(/fonts/cfb-01e1e8d4d7.woff2) format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* greek-ext */
@font-face {
  font-family: 'Roboto Condensed';
  font-style: normal;
  font-weight: 700;
  font-display: optional;
  src: url(/fonts/cfb-613002cde1.woff2) format('woff2');
  unicode-range: U+1F00-1FFF;
}
/* greek */
@font-face {
  font-family: 'Roboto Condensed';
  font-style: normal;
  font-weight: 700;
  font-display: optional;
  src: url(/fonts/cfb-307ccd1b71.woff2) format('woff2');
  unicode-range: U+0370-0377, U+037A-037F, U+0384-038A, U+038C, U+038E-03A1, U+03A3-03FF;
}
/* vietnamese */
@font-face {
  font-family: 'Roboto Condensed';
  font-style: normal;
  font-weight: 700;
  font-display: optional;
  src: url(/fonts/cfb-d52db0eaea.woff2) format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
/* latin-ext */
@font-face {
  font-family: 'Roboto Condensed';
  font-style: normal;
  font-weight: 700;
  font-display: optional;
  src: url(/fonts/cfb-e95e82c11d.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Roboto Condensed';
  font-style: normal;
  font-weight: 700;
  font-display: optional;
  src: url(/fonts/cfb-1cf6600ae3.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* ============ Tokens — escalera oficial Glorion stb (19.10.2026) ============ */
:root{
  --bg:#0C1014;            /* brand-900: fondo de página */
  --bg-2:#0D131A;          /* brand-850: paneles de sección, bandas */
  --surface:#151D24;       /* brand-800: tarjetas, tablas, FAQ */
  --surface-2:#1B2733;     /* brand-700: cabeceras de tabla, chips */
  --surface-3:#25313D;     /* brand-2-600: hover de filas, cajas anidadas */
  --border:#30465C;        /* brand-500: bordes 1px */
  --ink:#FFFFFF;
  --text:#D7DEE6;
  --text-soft:#9EB3C7;     /* brand-0: pies, microcopy */
  --red:#D20A0A;           /* accent-500: placa CTA */
  --red-hover:#A80808;     /* accent-600 */
  --red-label:#ED6A6A;     /* accent-300: etiquetas «Ojo» y numerales ≥15px bold (AA ≥4.5:1 sobre surface-2) */
  --accent:var(--red);     /* hook del botón «volver arriba» (main.js) */
  --figure:#FFFFFF;        /* cifras clave en Advent Pro */
  --link:#9EB3C7;
  --plus:#4FC08D;          /* marcas de verificación / «A favor» */
  --plate-border:linear-gradient(180deg,#EF2F2F 0%,#3A0707 100%);
  --font-heading:"Anton","Arial Narrow",sans-serif;
  --font-body:"Roboto Condensed",Arial,sans-serif;
  --font-figures:"Advent Pro",Arial,sans-serif;
  --wrap:1120px;
  --gutter:clamp(16px,3vw,24px);
  --radius:8px;   /* SHAPE moderado */
  --radius-s:6px;
  --gap-xs:.5rem; --gap-s:.9rem; --gap-m:1.5rem; --gap-l:2.25rem;
  --space-section:clamp(20px,3.5vw,32px);  /* DENSITY denso */
  --panel-pad:clamp(18px,3vw,30px);
  --card:var(--surface);
  --mesh:
    repeating-linear-gradient(0deg,rgba(48,70,92,.08) 0 1px,transparent 1px 26px),
    repeating-linear-gradient(60deg,rgba(48,70,92,.08) 0 1px,transparent 1px 26px),
    repeating-linear-gradient(-60deg,rgba(48,70,92,.08) 0 1px,transparent 1px 26px);
}

/* ============ Base ============ */
*,*::before,*::after{box-sizing:border-box}
html{color-scheme:dark}
body{margin:0;background:var(--bg);color:var(--text);font:400 18px/1.7 var(--font-body);overflow-x:hidden;-webkit-font-smoothing:antialiased}
img,svg{max-width:100%}
button{font:inherit;color:inherit}
:where(div,section,article,aside,nav,ul,ol,dl,li,figure,main){min-width:0}
:where(p,li,td,th,dd,dt,summary,figcaption){overflow-wrap:anywhere}
a{color:var(--link);text-decoration:underline;text-underline-offset:3px}
:focus-visible{outline:2px solid var(--red-label);outline-offset:2px}
::selection{background:var(--red);color:#fff}
h1,h2,h3,h4,p,figure,dl,dd{margin:0}
ul[class],ol[class]{margin:0;padding:0;list-style:none}
.cfb-section :where(p+p){margin-top:.85em}
section[id]{scroll-margin-top:96px}

/* ============ Contenedor + arquetipo «cards»: la página es una pila de paneles ============ */
.cfb-container{width:100%;max-width:var(--wrap);margin-inline:auto;padding-inline:var(--gutter)}
.cfb-section{padding-block:var(--space-section)}
.cfb-section>.cfb-container,
.cfb-hero>.cfb-container,
.cfb-page-header>.cfb-container{
  background:var(--bg-2);border:1px solid var(--border);border-radius:var(--radius);
  box-shadow:0 14px 34px rgba(0,0,0,.38);
  padding:var(--panel-pad) clamp(16px,3vw,30px);
  display:flex;flex-direction:column;gap:var(--gap-m);
}
.cfb-section--alt>.cfb-container{background:var(--surface);--card:var(--surface-2)}

/* ============ Tipografía ============ */
.cfb-section h1{font:400 clamp(28px,4vw,38px)/1.08 var(--font-heading);text-transform:uppercase;letter-spacing:.01em;color:var(--ink)}
.cfb-section h2{font:400 clamp(23px,3vw,30px)/1.12 var(--font-heading);text-transform:uppercase;letter-spacing:.01em;color:var(--ink)}
.cfb-section h3{font:400 clamp(17px,2.2vw,20px)/1.25 var(--font-heading);text-transform:uppercase;color:var(--ink)}
.cfb-eyebrow{display:flex;align-items:baseline;gap:.6rem}
.cfb-eyebrow__num{font:700 13px/1 var(--font-figures);letter-spacing:.08em;color:var(--red-label)}
.cfb-eyebrow__name{font:700 13px/1.2 var(--font-body);text-transform:uppercase;letter-spacing:.18em;color:var(--text-soft)}
.cfb-fine{font-size:14px;line-height:1.55;color:var(--text-soft)}
.cfb-num{font-family:var(--font-figures);font-weight:700;color:var(--figure);font-variant-numeric:tabular-nums}

/* ============ Iconos (sprite inline, stroke:currentColor) ============ */
.cfb-icon{width:1.5em;height:1.5em;display:inline-block;vertical-align:middle;flex-shrink:0}

/* ============ Botones: una sola placa principal en todo el sitio ============ */
.cfb-btn{display:inline-flex;align-items:center;justify-content:center;gap:.6em;
  background:var(--red);color:#fff;border:0;border-radius:var(--radius-s);
  font:400 17px/1 var(--font-heading);text-transform:uppercase;letter-spacing:.04em;
  padding:15px 32px;text-decoration:none;cursor:pointer;transition:background .15s,transform .1s}
.cfb-btn:hover{background:var(--red-hover)}
.cfb-btn:active{transform:translateY(1px)}
.cfb-btn--sm{padding:11px 20px;font-size:16px}
.cfb-btn--xs{padding:9px 14px;font-size:13px}
.cfb-btn--ghost{background:transparent;color:var(--ink);border:1px solid var(--border)}
.cfb-btn--ghost:hover{background:var(--surface-3)}

/* ============ Chip angular (fechas de comprobación) ============ */
.cfb-chip{display:inline-flex;align-items:center;gap:.5em;width:fit-content;
  background:var(--surface-2);border:1px solid var(--red);border-radius:4px;padding:6px 12px;
  font:700 13px/1.2 var(--font-body);text-transform:uppercase;letter-spacing:.06em;color:var(--text)}

/* ============ Hero ============ */
.cfb-hero>.cfb-container{gap:var(--gap-m)}
.cfb-hero--home>.cfb-container{gap:var(--gap-l);padding-block:clamp(34px,6vw,58px)}
.cfb-hero--home h1{font-size:clamp(30px,5.2vw,46px)}
.cfb-hero__sub{font-size:clamp(18px,2vw,21px);color:var(--text)}
.cfb-hero__actions{display:flex;flex-wrap:wrap;align-items:center;gap:.9rem}
.cfb-hero__visual{position:relative;overflow:hidden;border:1px solid var(--border);border-radius:var(--radius);
  aspect-ratio:21/9;min-height:200px;
  background:linear-gradient(135deg,var(--surface) 0%,var(--surface-2) 55%,var(--surface-3) 100%)}
.cfb-hero__img{display:block;width:100%;height:auto;max-height:70vh;aspect-ratio:3/2;object-fit:cover;border-radius:var(--radius)}
.cfb-hero__visual>.cfb-hero__img{width:100%;height:100%;aspect-ratio:auto;max-height:none}
/* hero compacto de páginas interiores */
.cfb-hero--inner>.cfb-container{position:relative;overflow:hidden;min-height:clamp(140px,17vw,185px);justify-content:center;gap:.65rem}
.cfb-hero--inner .cfb-hero__img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:0;aspect-ratio:auto;max-height:none;border-radius:0}
.cfb-hero--inner>.cfb-container::after{content:"";position:absolute;inset:0;z-index:1;
  background:linear-gradient(90deg,rgba(12,16,20,.92) 0%,rgba(12,16,20,.78) 55%,rgba(12,16,20,.7) 100%)}
:where(.cfb-hero--inner>.cfb-container>:not(.cfb-hero__img)){position:relative;z-index:2}
.cfb-hero--inner h1{font-size:clamp(24px,3.4vw,30px)}
.cfb-hero__inner{position:relative;z-index:2;display:flex;flex-direction:column;gap:.65rem}

/* ============ Migas + page-header ============ */
.cfb-breadcrumb{display:flex;flex-wrap:wrap;gap:.45rem;font:400 13px/1.4 var(--font-body);color:var(--text-soft)}
.cfb-breadcrumb li+li::before{content:"/";margin-right:.45rem;color:var(--border)}
.cfb-breadcrumb a{color:var(--link)}
.cfb-page-header>.cfb-container{gap:.6rem;padding-block:clamp(22px,3.2vw,32px)}
.cfb-page-header h1{font-size:clamp(24px,3.4vw,30px)}
.cfb-page-header__sub{color:var(--text)}

/* ============ Overview ============ */
.cfb-overview{display:flex;flex-direction:column;gap:.9rem}
.cfb-overview__lead{font-size:20px;color:var(--text)}

/* ============ Feature cards (patrón grid) ============ */
.cfb-features{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(240px,100%),1fr));gap:var(--gap-s) clamp(.9rem,2vw,1.4rem)}
.cfb-feature{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);
  padding:clamp(16px,2.4vw,22px);display:flex;flex-direction:column;gap:.6rem}
.cfb-feature .cfb-icon{width:2em;height:2em;color:var(--text-soft)}
.cfb-feature h3{font-size:18px}
.cfb-feature p{font-size:16px}

/* ============ Cards grid genérico ============ */
.cfb-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(240px,100%),1fr));gap:var(--gap-s) clamp(.9rem,2vw,1.4rem)}
.cfb-card{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);
  padding:clamp(16px,2.4vw,22px);display:flex;flex-direction:column;gap:.6rem}

/* ============ Stats-bar (patrón tiles) ============ */
.cfb-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(170px,100%),1fr));gap:var(--gap-s)}
.cfb-stat{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);
  padding:16px 18px;display:flex;flex-direction:column;gap:.35rem}
.cfb-stat__value{font:700 clamp(1.7rem,3vw,2.3rem)/1 var(--font-figures);color:var(--figure)}
.cfb-stat__label{font:700 12px/1.35 var(--font-body);text-transform:uppercase;letter-spacing:.1em;color:var(--text-soft)}

/* ============ Categories bar ============ */
.cfb-cats{display:flex;flex-wrap:wrap;gap:.6rem}
.cfb-cats a,.cfb-cat{display:inline-flex;align-items:center;gap:.45em;background:var(--surface-2);
  border:1px solid var(--border);border-radius:4px;padding:8px 14px;
  font:700 13px/1 var(--font-body);letter-spacing:.06em;text-transform:uppercase;color:var(--text);text-decoration:none}
.cfb-cats a:hover{color:var(--ink);border-color:var(--text-soft)}

/* ============ Tablas de datos ============ */
.cfb-table-wrap{overflow-x:auto;max-width:100%;margin-block:1.5rem;
  border:1px solid var(--border);border-radius:var(--radius-s);background:var(--surface)}
.cfb-table{width:100%;border-collapse:collapse;border-spacing:0}
.cfb-table th{white-space:nowrap;background:var(--surface-2);color:var(--text-soft);
  font:700 13px/1.3 var(--font-figures);text-transform:uppercase;letter-spacing:.07em;text-align:left;padding:.75rem .9rem}
.cfb-table td{border-top:1px solid var(--border);padding:.75rem .9rem;color:var(--text);vertical-align:top}
.cfb-table tbody tr:hover{background:var(--surface-3)}
.cfb-table td:first-child{color:var(--ink);font-weight:700}
.cfb-table .cfb-icon{width:1.35em;height:1.35em;color:var(--text-soft)}
.cfb-pay-name{display:flex;align-items:center;gap:.6rem}

/* ============ Two-cols + panel de contenido ============ */
.cfb-two-cols{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,1fr);gap:var(--gap-m) clamp(1.2rem,3vw,2.2rem);align-items:start}
@media(max-width:759px){.cfb-two-cols{grid-template-columns:1fr}}
.cfb-panel{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);
  padding:clamp(16px,2.4vw,24px);display:flex;flex-direction:column;gap:var(--gap-s)}
.cfb-panel__title{font:400 18px/1.2 var(--font-heading);text-transform:uppercase;color:var(--ink)}
.cfb-facts{display:flex;flex-direction:column}
.cfb-facts__row{display:flex;justify-content:space-between;align-items:baseline;gap:1rem;padding:.65rem 0;border-bottom:1px solid var(--border)}
.cfb-facts__row:last-child{border-bottom:0}
.cfb-facts dt{color:var(--text-soft);font-size:15px}
.cfb-facts dd{text-align:right;color:var(--ink);font-weight:700;font-size:15px}
.cfb-checklist{display:flex;flex-direction:column;gap:.65rem}
.cfb-checklist li{display:flex;gap:.7rem;align-items:flex-start}
.cfb-checklist .cfb-icon{color:var(--plus);width:1.35em;height:1.35em;margin-top:.15em}
.cfb-mini{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(120px,100%),1fr));gap:.75rem}
.cfb-mini__item{background:var(--bg-2);border:1px solid var(--border);border-radius:var(--radius-s);
  padding:.85rem .9rem;display:flex;flex-direction:column;gap:.25rem}
.cfb-mini__value{font:700 1.5rem/1 var(--font-figures);color:var(--figure)}
.cfb-mini__label{font:700 11px/1.3 var(--font-body);text-transform:uppercase;letter-spacing:.1em;color:var(--text-soft)}
.cfb-score{display:flex;align-items:center;gap:.8rem}
.cfb-score__num{font:700 2.3rem/1 var(--font-figures);color:var(--figure)}
.cfb-score__label{font-size:13px;color:var(--text-soft)}

/* ============ Lista numerada + pasos «Protégete» ============ */
.cfb-numlist{counter-reset:cfbitem;display:flex;flex-direction:column;gap:.9rem}
.cfb-numlist li{position:relative;counter-increment:cfbitem;padding-inline-start:3.4rem}
.cfb-numlist li::before{content:counter(cfbitem,decimal-leading-zero);position:absolute;inset-inline-start:0;top:.05rem;
  font:700 14px/1 var(--font-figures);letter-spacing:.06em;color:var(--red-label);
  background:var(--surface-2);border:1px solid var(--border);border-radius:4px;padding:6px 8px}
.cfb-numlist h3{font-size:17px;margin-bottom:.2rem}
.cfb-steps li{background:var(--surface-2);border-inline-start:2px solid var(--border);
  border-radius:0 var(--radius-s) var(--radius-s) 0;padding:.85rem 1rem}

/* ============ Veredicto (marco oficial de placa) ============ */
.cfb-verdict{border:2px solid transparent;border-radius:var(--radius-s);
  background:linear-gradient(var(--surface),var(--surface)) padding-box,var(--plate-border) border-box;
  padding:clamp(18px,3vw,28px);display:flex;flex-direction:column;gap:var(--gap-m)}
.cfb-verdict__cols{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--gap-m)}
.cfb-verdict h3{font-size:18px}
.cfb-verdict ul{display:flex;flex-direction:column;gap:.55rem}
.cfb-verdict li{display:flex;gap:.6rem;align-items:flex-start}
.cfb-verdict li .cfb-icon{width:1.35em;height:1.35em;margin-top:.15em}
.cfb-verdict__pro .cfb-icon{color:var(--plus)}
.cfb-verdict__con .cfb-icon{color:var(--text-soft)}
@media(max-width:759px){.cfb-verdict__cols{grid-template-columns:1fr}}

/* ============ Pros & cons + «Ojo» / «Nuestra respuesta» ============ */
.cfb-pros-cons{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(280px,100%),1fr));gap:var(--gap-m)}
.cfb-pros,.cfb-cons{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);
  padding:clamp(16px,2.4vw,22px);display:flex;flex-direction:column;gap:.9rem}
.cfb-pros ul,.cfb-cons ul{display:flex;flex-direction:column;gap:.55rem}
.cfb-pros li,.cfb-cons li{display:flex;gap:.6rem;align-items:flex-start}
.cfb-pros .cfb-icon{color:var(--plus)}
.cfb-catch{display:flex;flex-direction:column;gap:.5rem;padding-block:.85rem;border-bottom:1px solid var(--border)}
.cfb-catch:last-child{border-bottom:0;padding-bottom:0}
.cfb-catch__label{font:700 15px/1.3 var(--font-body);color:var(--red-label);text-transform:uppercase;letter-spacing:.04em}
.cfb-answer{background:var(--bg-2);border-inline-start:2px solid var(--border);border-radius:0 4px 4px 0;
  padding:.7rem .9rem;display:flex;flex-direction:column;gap:.25rem}
.cfb-answer__label{color:var(--ink);font-weight:700}
.cfb-answer p{font-size:15px}

/* ============ Recuadro «Con claridad» ============ */
.cfb-note{background:var(--bg-2);border-inline-start:4px solid var(--red-label);
  border-radius:0 var(--radius-s) var(--radius-s) 0;padding:clamp(14px,2.2vw,20px);
  display:flex;flex-direction:column;gap:.4rem}
.cfb-note__label{font:700 12px/1 var(--font-body);text-transform:uppercase;letter-spacing:.18em;color:var(--red-label)}
.cfb-note p{color:var(--text)}

/* ============ Tarjetas de fuentes ============ */
.cfb-sources{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(280px,100%),1fr));gap:var(--gap-s) clamp(.9rem,2vw,1.4rem)}
.cfb-source{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);
  padding:clamp(16px,2.4vw,22px);display:flex;flex-direction:column;align-items:flex-start;gap:.7rem}
.cfb-source__name{font:400 18px/1.2 var(--font-heading);text-transform:uppercase;color:var(--ink)}
.cfb-source__list{display:flex;flex-direction:column;gap:.45rem;font-size:15px}
.cfb-source__list li{display:flex;gap:.55rem;align-items:flex-start}
.cfb-source__list .cfb-icon{width:1.3em;height:1.3em;margin-top:.15em}
.cfb-icon.is-plus{color:var(--plus)}
.cfb-icon.is-flag{color:var(--red-label)}
.cfb-source__link{font-size:15px}

/* ============ Metodología ============ */
.cfb-method{display:flex;flex-direction:column;gap:var(--gap-s)}
.cfb-method__step{display:grid;grid-template-columns:auto minmax(0,1fr);gap:1rem;align-items:start;
  background:var(--card);border:1px solid var(--border);border-radius:var(--radius);
  padding:clamp(14px,2.2vw,20px)}
.cfb-method__n{font:700 15px/1 var(--font-figures);letter-spacing:.06em;color:var(--red-label);
  background:var(--surface-2);border:1px solid var(--border);border-radius:4px;padding:6px 9px}
.cfb-method__body{display:flex;flex-direction:column;gap:.4rem}
.cfb-method__body h3{font-size:17px}

/* ============ Quick facts (ficha con fecha) ============ */
.cfb-quick-facts{display:flex;flex-direction:column;align-items:flex-start;gap:var(--gap-s)}
.cfb-quick-facts .cfb-table-wrap{width:100%;margin-block:0}

/* ============ TOC ============ */
.cfb-toc{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);
  padding:clamp(16px,2.4vw,22px);display:flex;flex-direction:column;gap:.6rem}
.cfb-toc__title{font:400 16px/1.2 var(--font-heading);text-transform:uppercase;color:var(--ink)}
.cfb-toc ol{counter-reset:cfbtoc}
.cfb-toc li{border-bottom:1px solid var(--border)}
.cfb-toc li:last-child{border-bottom:0}
.cfb-toc a{display:block;padding:.65rem 0;font-size:16px}

/* ============ Cuerpo legal con contador ============ */
.cfb-legal{counter-reset:cfblaw;display:flex;flex-direction:column;gap:1.1rem}
.cfb-legal h2{counter-increment:cfblaw;display:flex;align-items:baseline;gap:.6rem}
.cfb-legal h2::before{content:counter(cfblaw,decimal-leading-zero);
  font:700 15px/1 var(--font-figures);letter-spacing:.08em;color:var(--red-label)}
.cfb-legal h3{font-size:17px;margin-top:.4rem}
.cfb-legal ul,.cfb-legal ol{margin:0;padding-inline-start:1.2rem;display:flex;flex-direction:column;gap:.5rem}
.cfb-legal strong{color:var(--ink)}

/* ============ CTA block ============ */
.cfb-cta-block>.cfb-container{border-top:3px solid var(--red);text-align:center;gap:var(--gap-s)}
.cfb-cta-block__actions{display:flex;justify-content:center;flex-wrap:wrap;gap:.9rem}

/* ============ FAQ (patrón dos columnas) ============ */
summary{cursor:pointer;padding:1rem 0;font-weight:700;list-style:none}
summary::-webkit-details-marker{display:none}
summary::before{content:'+';margin-right:.5rem;transition:transform .2s;color:var(--text-soft)}
details[open] summary::before{content:'−';color:var(--red-label)}
details>:not(summary){padding:.5rem 0 1rem}
.cfb-faq{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 clamp(1.5rem,3vw,2.5rem);align-items:start}
.cfb-faq details{border-bottom:1px solid var(--border);border-inline-start:2px solid var(--border);padding-inline-start:1rem}
.cfb-faq details[open]{border-inline-start-color:var(--red)}
.cfb-faq summary{font:700 17px/1.35 var(--font-body);color:var(--ink)}
.cfb-faq details p{color:var(--text)}
@media(max-width:759px){.cfb-faq{grid-template-columns:1fr}}

/* ============ RTP grid (máx 4 por fila, centrado en la retícula) ============ */
.cfb-rtp{display:grid;gap:clamp(.6rem,1.5vw,1rem);grid-template-columns:repeat(2,minmax(0,1fr))}
@media(min-width:640px){.cfb-rtp{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(min-width:960px){.cfb-rtp{grid-template-columns:repeat(4,minmax(0,1fr))}}
.cfb-rtp-item{position:relative;overflow:hidden;min-width:0;background:var(--card);border:1px solid var(--border);border-radius:var(--radius-s)}
.cfb-rtp-item__thumb{display:block;aspect-ratio:3/2;position:relative;background:linear-gradient(135deg,var(--surface-2),var(--surface-3))}
.cfb-rtp-item__thumb img{width:100%;height:100%;object-fit:cover;display:block}
.cfb-rtp-item__name{display:block;padding:.65rem .75rem;font:700 14px/1.3 var(--font-body);color:var(--ink)}
.cfb-rtp-tooltip{position:absolute;bottom:0;inset-inline:0;padding:1.6rem .75rem .6rem;
  background:linear-gradient(180deg,rgba(12,16,20,0),rgba(12,16,20,.94));color:var(--text);
  font:700 13px/1.35 var(--font-body);pointer-events:none;opacity:0;transition:opacity .2s}
.cfb-rtp-item:hover .cfb-rtp-tooltip,.cfb-rtp-item:focus-within .cfb-rtp-tooltip{opacity:1}

/* ============ Barra móvil fija ============ */
.cfb-sticky-nav{position:fixed;left:0;right:0;bottom:0;z-index:900;display:none;align-items:stretch;gap:.5rem;
  padding:8px 10px calc(8px + env(safe-area-inset-bottom));
  background:rgba(13,19,26,.97);backdrop-filter:blur(8px);border-top:1px solid var(--border)}
@media(max-width:767px){.cfb-sticky-nav{display:flex}}
.cfb-sticky-nav a:not(.cfb-btn){flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;
  padding:6px 4px;font:700 11px/1.2 var(--font-body);letter-spacing:.05em;text-transform:uppercase;
  color:var(--text-soft);text-decoration:none}
.cfb-sticky-nav a:not(.cfb-btn) .cfb-icon{width:1.35em;height:1.35em}
.cfb-sticky-nav .cfb-btn{flex:2}

/* ============ Chat ============ */
.cfb-chat-btn{position:fixed;right:16px;bottom:16px;z-index:950;width:52px;height:52px;
  display:flex;align-items:center;justify-content:center;background:var(--red);color:#fff;border:0;
  border-radius:12px;cursor:pointer;box-shadow:0 10px 24px rgba(0,0,0,.45);transition:background .15s}
.cfb-chat-btn:hover{background:var(--red-hover)}
.cfb-chat-btn .cfb-icon{width:1.6em;height:1.6em}
.cfb-chat{position:fixed;right:16px;bottom:78px;z-index:960;width:min(340px,calc(100vw - 32px));
  background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);
  box-shadow:0 18px 44px rgba(0,0,0,.5);display:none;overflow:hidden}
.cfb-chat.is-open{display:block}
.cfb-chat__head{padding:14px 16px;background:var(--surface-2);color:var(--ink);
  font:400 16px/1.2 var(--font-heading);text-transform:uppercase;display:flex;gap:.6rem;align-items:center}
.cfb-chat__body{padding:14px 16px;display:flex;flex-direction:column;gap:.6rem;font-size:15px;color:var(--text)}
@media(max-width:767px){
  .cfb-chat-btn{bottom:calc(72px + env(safe-area-inset-bottom))}
  .cfb-chat{bottom:calc(134px + env(safe-area-inset-bottom))}
}

/* ============ Header: banda brand-850 con malla hexagonal ============ */
.cfb-header{position:sticky;top:0;z-index:1000;background-color:var(--bg-2);background-image:var(--mesh);border-bottom:1px solid var(--border)}
.cfb-header__bar{max-width:var(--wrap);margin-inline:auto;padding:10px var(--gutter);
  display:flex;align-items:center;gap:clamp(10px,1.8vw,20px)}
.cfb-logo{display:flex;align-items:baseline;gap:.55rem;text-decoration:none;white-space:nowrap;min-width:0}
.cfb-logo__main{font:400 clamp(18px,2.2vw,21px)/1 var(--font-heading);text-transform:uppercase;letter-spacing:.02em;color:var(--ink)}
.cfb-logo__sub{font:700 11px/1 var(--font-body);text-transform:uppercase;letter-spacing:.22em;color:var(--text-soft);padding-bottom:2px}
.cfb-nav{display:flex;align-items:center;gap:clamp(12px,1.8vw,22px);margin-inline-start:auto}
.cfb-nav a:not(.cfb-btn){font:700 14px/1 var(--font-body);text-transform:uppercase;letter-spacing:.08em;
  color:var(--text-soft);text-decoration:none;padding:10px 0;border-bottom:2px solid transparent;
  transition:color .15s,border-color .15s}
.cfb-nav a:not(.cfb-btn):hover{color:var(--ink);border-bottom-color:var(--red)}
.cfb-nav a:not(.cfb-btn)[aria-current="page"]{color:var(--ink);border-bottom-color:var(--red)}
a.cfb-nav__ghost{border:1px solid var(--border);border-radius:var(--radius-s);padding:9px 14px;color:var(--ink)}
a.cfb-nav__ghost:hover{background:var(--surface-3);border-color:var(--text-soft);border-bottom-color:var(--text-soft)}
.cfb-nav>.cfb-btn{display:none}                                /* escritorio: se oculta la copia del nav */
.cfb-nav>.cfb-btn{margin-top:.8rem}
.cfb-header__cta{flex-shrink:0}
.cfb-burger{flex-shrink:0;width:44px;height:44px;display:none;flex-direction:column;align-items:center;
  justify-content:center;gap:5px;background:transparent;border:1px solid var(--border);
  border-radius:var(--radius-s);cursor:pointer}
.cfb-burger span{display:block;width:22px;height:2px;background:var(--ink);transition:transform .2s,opacity .2s}
.cfb-header.is-open .cfb-burger span:nth-child(1){transform:translateY(7px) rotate(45deg)}
.cfb-header.is-open .cfb-burger span:nth-child(2){opacity:0}
.cfb-header.is-open .cfb-burger span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
@media(max-width:899px){
  .cfb-burger{display:flex}
  .cfb-header__cta{display:none}
  .cfb-nav>.cfb-btn{display:block;width:100%;text-align:center}
  .cfb-nav{display:none;position:absolute;top:100%;inset-inline:0;margin:0;flex-direction:column;align-items:stretch;gap:2px;
    background-color:var(--bg-2);border-bottom:1px solid var(--border);
    padding:10px var(--gutter) 18px;box-shadow:0 18px 30px rgba(0,0,0,.4)}
  .cfb-header.is-open .cfb-nav{display:flex}
  .cfb-nav a:not(.cfb-btn){padding:13px 0;border-bottom:1px solid var(--border);font-size:15px}
  a.cfb-nav__ghost{border:1px solid var(--border);text-align:center;margin-top:10px;border-bottom:1px solid var(--border)}
}
@media(max-width:479px){.cfb-logo__sub{display:none}}

/* ============ Footer ============ */
.cfb-footer{margin-top:var(--space-section);background:var(--bg-2);border-top:1px solid var(--border)}
.cfb-footer .cfb-container{display:flex;flex-direction:column;gap:clamp(1.6rem,3vw,2.4rem);padding-block:clamp(28px,5vw,48px)}
.cfb-footer__grid{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,.8fr) minmax(0,.8fr);gap:var(--gap-m) clamp(1.2rem,3vw,2.5rem)}
@media(max-width:759px){.cfb-footer__grid{grid-template-columns:1fr}}
.cfb-footer__brand{display:flex;flex-direction:column;align-items:flex-start;gap:.9rem}
.cfb-footer__brand p{font-size:15px;color:var(--text-soft)}
.cfb-footer__mail{font-size:15px}
.cfb-footer__title{font:400 15px/1 var(--font-heading);text-transform:uppercase;letter-spacing:.06em;color:var(--ink);margin-bottom:.9rem}
.cfb-footer__col ul{display:flex;flex-direction:column;gap:.55rem}
.cfb-footer__col a{color:var(--text-soft);text-decoration:none;font-size:15px}
.cfb-footer__col a:hover{color:var(--ink);text-decoration:underline;text-decoration-color:var(--red)}
.cfb-footer__disclaimer{border-top:1px solid var(--border);padding-top:1.2rem;display:flex;flex-direction:column;gap:.5rem}
.cfb-footer__bottom{background:var(--bg);border-top:1px solid var(--border)}
.cfb-footer__bottom p{max-width:var(--wrap);margin-inline:auto;padding:14px var(--gutter);font-size:13px;color:var(--text-soft)}

/* ============ Movimiento ============ */
@media(prefers-reduced-motion:reduce){
  *,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}
}
/* sa-responsive-net */
table th{white-space:nowrap}
figure,blockquote,dl,dd,fieldset{margin:0}
/* sa-logo-chip */
.cfb-footer .cfb-logo__img{filter:none;background:transparent;padding:0}
.cfb-footer .cfb-footer__logo-chip{background:transparent;padding:0}
/* sa-logo-fit */
.cfb-logo__img{object-fit:contain}
/* sa-ph-media */
.cfb-page-header:has(.cfb-hero__img){position:relative;overflow:hidden;isolation:isolate;min-height:clamp(200px,30vh,300px);display:flex;flex-direction:column;justify-content:center}
.cfb-page-header:has(.cfb-hero__img) .cfb-hero__img{position:absolute;inset:0;width:100%;height:100%;max-height:none;aspect-ratio:auto;object-fit:cover;margin:0;z-index:0}
.cfb-page-header:has(.cfb-hero__img)::after{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(180deg,rgba(10,12,18,.72),rgba(10,12,18,.5))}
:where(.cfb-page-header:has(.cfb-hero__img)>:not(.cfb-hero__img)){position:relative}
.cfb-page-header:has(.cfb-hero__img)>:not(.cfb-hero__img){z-index:2}
.cfb-page-header:has(.cfb-hero__img),.cfb-page-header:has(.cfb-hero__img) h1,.cfb-page-header:has(.cfb-hero__img) a,.cfb-page-header:has(.cfb-hero__img) p,.cfb-page-header:has(.cfb-hero__img) li,.cfb-page-header:has(.cfb-hero__img) span{color:#fff}
/* sa-hero-media */
.cfb-hero:has(>.cfb-hero__img){position:relative;isolation:isolate}
.cfb-hero:has(>.cfb-hero__img)>.cfb-hero__img{z-index:0}
.cfb-hero:has(>.cfb-hero__img)::after{z-index:1}
:where(.cfb-hero:has(>.cfb-hero__img)>:not(.cfb-hero__img)){position:relative}
.cfb-hero:has(>.cfb-hero__img)>:not(.cfb-hero__img){z-index:2}
/* sa-rhythm v3 */
:where(.cfb-table-wrap){margin-block:1.5rem}
:where(main) :where(ul,ol,table,.cfb-table-wrap)+p{margin-block-start:1rem}
main :is(ul,ol,table,.cfb-table-wrap,.cfb-rtp,.cfb-steps,.cfb-cards,.cfb-features)+:is(.cfb-actions,div:has(>.cfb-btn),p:has(>.cfb-btn)){margin-block-start:1.25rem}
/* sa-table-thead */
.cfb-table-wrap thead th,.cfb-table-wrap thead{position:static}
/* sa-slot-link v2 */
.cfb-rtp-item,.cfb-rtp-item:hover,.cfb-rtp-item:focus{color:inherit;text-decoration:none;cursor:pointer}
:where(.cfb-rtp-item){display:block}
/* sa-rtp-touch */
.cfb-rtp-item__thumb{display:block}
@media (hover:none){.cfb-rtp-item__thumb{aspect-ratio:auto;overflow:visible}.cfb-rtp-item__thumb img{height:auto}.cfb-rtp-tooltip{position:static;opacity:1;background:transparent;border-top:0;padding:.4rem .7rem 0;font-size:.74rem;line-height:1.35}.cfb-rtp-item__name{padding-top:.35rem}}
/* sa-skip-link */
.cfb-skip{position:absolute;left:-9999px;top:0;z-index:2000;background:var(--red);color:#fff;
  padding:11px 16px;font:700 14px/1 var(--font-body);text-decoration:none}
.cfb-skip:focus{left:0}
/* sa-consent */
.cfb-consent{background:var(--surface);border-bottom:1px solid var(--border);
  padding:12px var(--gutter);display:flex;flex-direction:column;gap:.65rem}
.cfb-consent[hidden]{display:none}
.cfb-consent__text{font-size:14px;line-height:1.5;color:var(--text);max-width:72ch}
.cfb-consent__btns{display:flex;flex-wrap:wrap;gap:.6rem}
@media(min-width:768px){
  .cfb-consent{flex-direction:row;align-items:center;justify-content:center;gap:1rem 1.4rem;padding-block:10px}
}
/* sa-table-hint: fundido del borde derecho mientras la tabla puede desplazarse (clases desde main.js) */
.cfb-table-wrap.is-scrollable:not(.at-scroll-end){
  background-image:linear-gradient(to left,rgba(7,10,13,.5),rgba(7,10,13,0));
  background-repeat:no-repeat;background-position:100% 0;background-size:16px 100%}
