/* ══════════════════════════════════════════════════════════════════
   Henry Cove · capa de marca (se carga la última en todas las páginas)
   Paleta: azul #2B6BFF / #1F4FB0, blanco y negro #0A1A3A.
   Tipos: Cove Display (titulares) + Instrument Sans (texto). Sin serif.
   ══════════════════════════════════════════════════════════════════ */
@font-face{font-family:'Cove Display';font-style:normal;font-weight:400;font-display:swap;size-adjust:82%;src:url(/fonts/sora-700-latin-ext.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}
@font-face{font-family:'Cove Display';font-style:normal;font-weight:400;font-display:swap;size-adjust:82%;src:url(/fonts/sora-700-latin.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}
/* Instrument Sans variable (400–700 reales, sin negritas sintéticas) */
@font-face{font-family:'HC Sans';font-style:normal;font-weight:400 700;font-display:swap;src:url(/fonts/rethink-sans-normal-latin-ext-wght.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}
@font-face{font-family:'HC Sans';font-style:normal;font-weight:400 700;font-display:swap;src:url(/fonts/rethink-sans-normal-latin-wght.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}

:root{
  --hc-blue:#2B6BFF; --hc-blue-d:#1F4FB0; --hc-ink:#0A1A3A; --hc-white:#fff;
  --hc-text:rgba(255,255,255,.82); --hc-text-2:rgba(255,255,255,.68);
  --hc-line:rgba(255,255,255,.08); --hc-glow:rgba(43,107,255,.28);
  --hc-display:'Cove Display','Sora',system-ui,sans-serif;
  --hc-sans:'Rethink Sans',system-ui,-apple-system,'Segoe UI',sans-serif;
  /* las variables antiguas apuntan a la marca */
  --font-display:'Cove Display','Sora',system-ui,sans-serif; --font-body:'Rethink Sans',system-ui,-apple-system,'Segoe UI',sans-serif; --font-mono:var(--hc-sans); --font-sans:var(--hc-sans);
  --bg:#0A1A3A; --bg-2:#0A1A3A; --surface:#0f2350; --surface-2:#11285a; --surface-3:#142e66;
  --text:#fff; --text-2:rgba(255,255,255,.72); --text-3:rgba(255,255,255,.62); --text-4:rgba(255,255,255,.3);
  --coral:#2B6BFF; --coral-2:#2B6BFF; --coral-glow:rgba(43,107,255,.28);
  --gold:#fff; --gold-2:#fff; --mint:#2B6BFF;
  --border:rgba(255,255,255,.08); --border-2:rgba(255,255,255,.16); --border-3:rgba(43,107,255,.6);
}

/* ── Tipografía ─────────────────────────────────────────────────── */
html body{font-family:var(--hc-sans)!important;color:var(--hc-text);
  background-color:#0A1A3A!important;
  background-image:radial-gradient(ellipse 70% 40% at 100% 0%,rgba(43,107,255,.22),transparent 70%),
    radial-gradient(ellipse 60% 40% at 0% 60%,rgba(31,79,176,.28),transparent 70%),
    linear-gradient(rgba(255,255,255,.03) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.03) 1px,transparent 1px)!important;
  background-size:auto,auto,56px 56px,56px 56px!important;background-attachment:scroll}
html body :is(main,.l-sec,.related):not(#_){background-color:transparent!important}
html body :is(p,li,a,span,div,button,input,select,textarea,label,dd,dt,td,th,summary,blockquote,q,small,figcaption,em,i,strong,b):not(#_){font-family:var(--hc-sans)!important}
html body :is(h1,h2,h3,.hero-h1,.section-title,.about-hero-h,.reporting-card-h,.popup-title,.l-h1,.l-h2,.stat-value,[class*="stat-n"],[class*="big"]):not(#_),
html body :is(h1,h2,h3,.hero-h1,.section-title,.about-hero-h,.reporting-card-h,.popup-title) :is(span,em,i,b,strong):not(#_){
  font-family:var(--hc-display)!important;font-weight:400!important;font-style:normal!important;letter-spacing:.004em!important;font-synthesis:none}
html body :is(h1,h2):not(#_){line-height:1.02!important;text-wrap:balance}
html body h3:not(#_){letter-spacing:.012em!important;line-height:1.12!important}
/* el énfasis de los titulares deja de ser serif cursiva: Cove Display recto en azul */
html body :is(h1,h2,h3,.section-title,.hero-h1) :is(em,i):not(#_){color:var(--hc-blue)!important;-webkit-text-fill-color:var(--hc-blue)!important;background:none!important}
/* fuera de los titulares, ninguna cursiva serif */
html body *:not(#_){font-style:normal!important}
/* etiquetas pequeñas (antes en mono): sans en versalitas, legibles */
html body :is([class*="eyebrow"],[class*="kicker"],.hero-badge,.hero-trust,.stat-label,.section-label,.metric-key,.pipeline-header):not(#_){font-family:var(--hc-sans)!important;letter-spacing:.08em}
html body :is([class*="eyebrow"],.h1-kicker,.stat-label):not(#_){font-weight:600!important;text-transform:uppercase;font-size:max(.72rem,12px)}
html body :is([class*="eyebrow"],.h1-kicker):not(#_){color:#fff!important;-webkit-text-fill-color:#fff!important}
html body .h1-kicker:not(#_){display:inline-block;background:var(--hc-blue);color:#fff;padding:.35em .7em;border-radius:4px;font-size:max(.74rem,12px)!important;letter-spacing:.1em!important;margin-bottom:1.1rem!important;line-height:1.2}

/* Titulares grandes, sin gradientes de texto */
html body .hero-h1:not(#_){font-size:clamp(2.9rem,7.4vw,6.4rem)!important;text-transform:uppercase}
html body .hero-h1 .h1-line:not(#_) > span{background:none!important;-webkit-text-fill-color:#fff!important;color:#fff!important}
html body .hero-h1 .h1-line em:not(#_){-webkit-text-fill-color:var(--hc-blue)!important}
html body :is(.section-title,.about-hero-h,.l-h1,.l-h2):not(#_){font-size:clamp(2.3rem,5vw,4.2rem)!important;text-transform:uppercase}
html body main h1:not(.hero-h1):not(#_){font-size:clamp(2.4rem,6vw,4.6rem)!important;text-transform:uppercase}
html body :is(h2,h3):not(#_){background-image:none}
html body h2:not(#_){-webkit-text-fill-color:currentColor}

/* ── Fondo con textura en todas las secciones ───────────────────── */
html body::before{opacity:.35!important}
html body::after{display:none!important}
html body :is(section.section,section.hc-para,footer):not(#hero):not(#_){
  background-color:#0A1A3A!important;
  background-image:
    radial-gradient(ellipse 55% 45% at 92% 0%,rgba(43,107,255,.26),transparent 70%),
    radial-gradient(ellipse 40% 40% at 0% 100%,rgba(31,79,176,.30),transparent 70%),
    linear-gradient(rgba(255,255,255,.035) 1px,transparent 1px),
    linear-gradient(90deg,rgba(255,255,255,.035) 1px,transparent 1px)!important;
  background-size:auto,auto,56px 56px,56px 56px!important;
  position:relative}
/* secciones pares: puntos en vez de rejilla y brillo al otro lado */
html body :is(section.section,section.l-sec):nth-of-type(even):not(#hero):not(#_){
  background-image:
    radial-gradient(ellipse 50% 50% at 0% 10%,rgba(43,107,255,.24),transparent 70%),
    radial-gradient(rgba(255,255,255,.09) 1px,transparent 1.4px)!important;
  background-size:auto,22px 22px!important}
/* bandas azules con líneas diagonales: proceso, cifras y contacto */
html body :is(#proceso,#resultados,#contacto,.hc-band):not(#hero):not(#_):not(#_){
  background-color:#1F4FB0!important;
  background-image:
    radial-gradient(ellipse 60% 70% at 100% 0%,rgba(43,107,255,.9),transparent 70%),
    repeating-linear-gradient(135deg,rgba(255,255,255,.06) 0 1px,transparent 1px 18px),
    linear-gradient(180deg,#1F4FB0,#173d8a)!important;
  background-size:auto!important}
html body :is(#proceso,#resultados,#contacto,.hc-band) :is(h2,.section-title) :is(em,i):not(#_){color:#fff!important;-webkit-text-fill-color:#fff!important;text-decoration:underline;text-decoration-color:rgba(255,255,255,.45);text-decoration-thickness:.08em;text-underline-offset:.12em}
html body footer:not(#_){border-top:1px solid var(--hc-line)}

/* Hero: vídeo teñido de azul marca */
html body #hero:not(#_){background:#0A1A3A!important}
html body .hero-video-bg:not(#_){filter:grayscale(1) contrast(1.1) brightness(.75)}
html body .hero-video-overlay:not(#_){
  background:
    linear-gradient(90deg,rgba(10,26,58,.96) 0%,rgba(10,26,58,.82) 45%,rgba(10,26,58,.45) 100%),
    linear-gradient(0deg,rgba(10,26,58,1) 0%,rgba(10,26,58,0) 35%),
    linear-gradient(rgba(43,107,255,.35),rgba(43,107,255,.35))!important;mix-blend-mode:normal!important}
html body .hero-sub:not(#_){color:rgba(255,255,255,.86)!important;font-size:clamp(1.05rem,1.6vw,1.25rem)!important;max-width:38rem}
html body .hero-trust:not(#_){color:rgba(255,255,255,.75)!important}

/* ── Botones: un CTA principal azul por pantalla ────────────────── */
html body :is(.btn-primary,.nav-cta,.form-submit,.popup-btn,.sticky-cta-btn,.float-cta,.l-btn,.hc-cta):not(#_){
  background:#2B6BFF!important;background-image:none!important;color:#fff!important;-webkit-text-fill-color:#fff!important;
  border:0!important;border-radius:6px!important;box-shadow:0 10px 30px -8px rgba(43,107,255,.65)!important;
  font-family:var(--hc-sans)!important;font-weight:700!important;letter-spacing:.02em!important;text-transform:none!important}
html body :is(.btn-primary,.nav-cta,.form-submit,.popup-btn,.sticky-cta-btn,.float-cta,.l-btn,.hc-cta):not(#_):hover{background:#1F4FB0!important}
html body :is(.btn-primary,.hc-cta):not(#_){font-size:1.05rem!important;padding:1.05rem 1.7rem!important;min-height:52px;display:inline-flex;align-items:center;justify-content:center}
html body :is(.btn-secondary):not(#_){background:transparent!important;border:0!important;box-shadow:none!important;color:#fff!important;text-decoration:underline;text-underline-offset:4px;padding-inline:.4rem!important;text-transform:none!important}
:focus-visible{outline:3px solid #fff!important;outline-offset:3px!important;box-shadow:0 0 0 6px #2B6BFF!important}

/* ── Cajas blancas: tinta de marca ──────────────────────────────── */
/* Las preguntas del FAQ son <button>: cajas-blancas.css las ponía en blanco sobre blanco */
html body :is(.faq-item,details):not(#_) :is(.faq-q,button,summary):not(#_),
html body :is(.faq-item,details):not(#_) :is(.faq-q,button,summary) *:not(svg):not(#_){color:#0A1A3A!important;-webkit-text-fill-color:#0A1A3A!important;background:transparent!important;font-weight:600!important}
html body :is(.faq-item,details):not(#_) :is(.faq-q,button) svg{color:#2B6BFF!important}
html body :is(.testi,.testi-card,.review-card):not(#_) :is(p,q,blockquote):not(#_){font-size:1.02rem!important;line-height:1.6!important;color:#0A1A3A!important;-webkit-text-fill-color:#0A1A3A!important}

/* Texto secundario con contraste suficiente (WCAG AA) */
html body :is(.stat-label,.section-sub,.section-desc,.footer-col a,.footer-bottom,.footer-legal a):not(#_){color:rgba(255,255,255,.72)!important}

/* ── Sección "Para quién" (home) ────────────────────────────────── */
.hc-para{padding:clamp(4rem,8vw,7rem) clamp(1rem,4vw,3rem)}
.hc-para-in{max-width:1180px;margin:0 auto}
.hc-para .hc-eyebrow{display:inline-block;font-weight:600;font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:#fff;border:1px solid rgba(255,255,255,.25);padding:.4em .8em;border-radius:999px;margin-bottom:1.2rem}
.hc-para h2{color:#fff;margin:0 0 1rem}
.hc-para .hc-lead{max-width:44rem;color:rgba(255,255,255,.8);font-size:1.12rem;line-height:1.6;margin:0 0 2.6rem}
.hc-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.2rem;margin-bottom:2.6rem}
.hc-card{background:#fff;border:3px solid #2B6BFF;border-radius:14px;padding:1.8rem 1.6rem;color:#0A1A3A;position:relative;overflow:hidden;box-shadow:0 1px 2px rgba(10,26,58,.2),0 24px 50px -20px rgba(0,0,0,.6)}
.hc-card::before{content:none}
.hc-card .hc-n{font-family:var(--hc-display);font-size:2.6rem;line-height:1;color:#2B6BFF;display:block;margin-bottom:.8rem}
.hc-card h3{font-family:var(--hc-display)!important;text-transform:uppercase;font-size:1.55rem!important;color:#0A1A3A!important;-webkit-text-fill-color:#0A1A3A!important;margin:0 0 .7rem}
.hc-card p{margin:0;color:#33415f!important;-webkit-text-fill-color:#33415f!important;line-height:1.6;font-size:1rem}
.hc-card ul{margin:.9rem 0 0;padding:0;list-style:none}
.hc-card li{padding:.3rem 0 .3rem 1.3rem;position:relative;color:#0A1A3A;font-weight:500;font-size:.95rem}
.hc-card li::before{content:"";position:absolute;left:0;top:.75em;width:.55rem;height:.55rem;background:#2B6BFF;border-radius:2px}
.hc-para-cta{display:flex;flex-wrap:wrap;align-items:center;gap:1rem 1.4rem}
.hc-para-cta small{color:rgba(255,255,255,.75);font-size:.95rem}
.hc-cta{text-decoration:none}
@media (max-width:880px){.hc-grid{grid-template-columns:1fr}}

/* ── Banner de cookies ──────────────────────────────────────────── */
.hc-consent{position:fixed;z-index:2147483000;left:16px;right:16px;bottom:16px;max-width:560px;margin-left:auto;background:#fff;color:#0A1A3A;border-radius:14px;padding:1.2rem 1.25rem;box-shadow:0 24px 60px -10px rgba(0,0,0,.55);border:3px solid #2B6BFF;font-family:var(--hc-sans);font-size:.95rem;line-height:1.5}
.hc-consent[hidden]{display:none}
.hc-consent h2{font-family:var(--hc-display)!important;text-transform:uppercase;font-size:1.25rem!important;margin:0 0 .4rem;color:#0A1A3A!important;-webkit-text-fill-color:#0A1A3A!important;letter-spacing:.01em}
.hc-consent p{margin:0 0 .9rem;color:#33415f}
.hc-consent a{color:#1F4FB0;text-decoration:underline}
.hc-consent .hc-c-row{display:flex;flex-wrap:wrap;gap:.6rem}
.hc-consent button{font:600 .95rem var(--hc-sans);padding:.75rem 1.1rem;border-radius:6px;cursor:pointer;min-height:44px;flex:1 1 auto}
.hc-consent .hc-c-yes{background:#2B6BFF;color:#fff;border:2px solid #2B6BFF}
.hc-consent .hc-c-no{background:#fff;color:#0A1A3A;border:2px solid #0A1A3A}
.hc-consent .hc-c-cfg{background:none;border:0;color:#1F4FB0;text-decoration:underline;flex:0 0 auto;padding-inline:.3rem}
.hc-consent fieldset{border:1px solid #d6deee;border-radius:8px;padding:.6rem .8rem;margin:0 0 .9rem}
.hc-consent label{display:flex;gap:.6rem;align-items:flex-start;padding:.3rem 0;color:#0A1A3A}
.hc-consent input{width:20px;height:20px;accent-color:#2B6BFF;margin-top:.1rem;flex:none}
body.hc-has-sticky .hc-consent{bottom:84px}

/* Animaciones de aparición: el contenido nunca queda invisible */
@media (scripting:none){.reveal,.reveal-stagger>*{opacity:1!important;transform:none!important}}

/* ── Ajustes tras la primera revisión ───────────────────────────── */
html body .hero-h1 .h1-kicker:not(#_){font-family:var(--hc-sans)!important;font-weight:700!important;text-transform:uppercase}
html body .hero-h1:not(#_){font-size:clamp(2.7rem,6.2vw,5.6rem)!important}
html body :is(nav,.hero-stats,.marquee,.ticker,[class*="logos"],[class*="partners"]):not(#_){background-color:#0A1A3A!important}
html body nav.scrolled:not(#_){background:rgba(10,26,58,.92)!important;backdrop-filter:blur(12px)}
html body .hero-stats:not(#_){border-top:1px solid var(--hc-line)!important;background-image:linear-gradient(90deg,rgba(43,107,255,.14),transparent 60%)!important}
html body .stat-value span:not(#_){color:#2B6BFF!important;-webkit-text-fill-color:#2B6BFF!important;font-family:var(--hc-display)!important}
html body .stat-value:not(#_){font-size:clamp(2rem,3.4vw,2.8rem)!important;color:#fff!important;-webkit-text-fill-color:#fff!important}

/* Formulario de auditoría dentro de la caja blanca */
html body .lf-opt span:not(#_):not(#_){background:#F3F6FC!important;border:1px solid #cfd9ee!important;color:#0A1A3A!important;-webkit-text-fill-color:#0A1A3A!important;font-weight:500!important}
html body .lf-opt input:checked+span:not(#_):not(#_){background:#2B6BFF!important;border-color:#2B6BFF!important;color:#fff!important;-webkit-text-fill-color:#fff!important}
html body .lf-opt input:checked+span:not(#_)::before{border-color:#fff!important;background:#fff!important;box-shadow:inset 0 0 0 3px #2B6BFF!important}
html body .lf-opt span:not(#_)::before{border-color:#7f93bf!important}
html body :is(.lf-q,.lf-label):not(#_):not(#_){font-family:var(--hc-sans)!important;font-weight:700!important;text-transform:none!important;color:#0A1A3A!important;-webkit-text-fill-color:#0A1A3A!important;font-size:1rem!important;letter-spacing:0!important}
html body .form-title:not(#_):not(#_){font-family:var(--hc-display)!important;text-transform:uppercase;font-size:1.8rem!important;font-weight:400!important;color:#0A1A3A!important;-webkit-text-fill-color:#0A1A3A!important}
/* tarjetas "Para quién": nunca heredan los fondos de sección */
html body .hc-card:not(#_):not(#_){background:#fff!important}
html body #hero .hero-inner:not(#_){padding-top:clamp(6.5rem,11vh,8.5rem)!important}
html body .hc-card .hc-n:not(#_):not(#_){font-family:var(--hc-display)!important}
html body :is(.partner-strip,.sticky-cta):not(#_){background-color:#0A1A3A!important}
html body :is(.lf-next,.lf-submit):not(#_):not(#_){background:#2B6BFF!important;background-image:none!important;color:#fff!important;-webkit-text-fill-color:#fff!important;border-radius:6px!important;box-shadow:0 10px 30px -8px rgba(43,107,255,.65)!important}
/* landings: botón principal y secundario como enlace de texto */
html body .btn-p:not(#_){background:#2B6BFF!important;background-image:none!important;color:#fff!important;-webkit-text-fill-color:#fff!important;border:0!important;border-radius:6px!important;box-shadow:0 10px 30px -8px rgba(43,107,255,.65)!important;font-weight:700!important;text-transform:none!important;letter-spacing:.02em!important;font-size:1.02rem!important}
html body .btn-p:not(#_):hover{background:#1F4FB0!important}
html body .btn-s:not(#_){background:transparent!important;border:0!important;box-shadow:none!important;color:#fff!important;text-decoration:underline;text-underline-offset:4px;text-transform:none!important}
html body *:not(#_)::before,html body *:not(#_)::after{font-family:var(--hc-sans)!important;font-style:normal!important}
html body :is(.rcard-tag,.post-tag,.blog-tag,.tag):not(#_){color:#fff!important;-webkit-text-fill-color:#fff!important}
/* contraste AA: texto blanco sobre #2B6BFF solo en tamaño grande; los botones pequeños van en #1F4FB0 */
html body :is(.btn-primary,.btn-p,.hc-cta,.sticky-cta-btn,.form-submit,.lf-next,.lf-submit,.popup-btn):not(#_):not(#_){font-size:max(1.17rem,18.7px)!important;font-weight:700!important}
html body :is(.nav-cta,.float-cta,.l-btn):not(#_):not(#_){background:#1F4FB0!important}
html body :is(.nav-cta,.float-cta,.l-btn):not(#_):not(#_):hover{background:#2B6BFF!important}
html body .error-page a:not(#_),html body main :is(.card,.l-card) a:not(#_){color:#1F4FB0}

/* Correcciones P0 de la auditoría de diseño (AUDITORIA-DISENO.md) */
html body :is(.lf-next,.lf-submit)[hidden]:not(#_):not(#_):not(#_):not(#_){display:none!important}
html body .plantilla .tbl :is(td,th):not(#_):not(#_):not(#_):not(#_),html body .plantilla table :is(td,th):not(#_):not(#_):not(#_):not(#_){color:#0A1A3A!important;-webkit-text-fill-color:#0A1A3A!important;background:#fff!important}
html body .plantilla .tbl thead th:not(#_):not(#_):not(#_):not(#_),html body .plantilla table thead th:not(#_):not(#_):not(#_):not(#_){background:#eef3ff!important;color:#1F4FB0!important;-webkit-text-fill-color:#1F4FB0!important}
