/* ============================================================
   FAMILIAR.CSS — identidad visual exclusiva de las páginas
   de Consulting dentro de Grupos Familiares.
   Se carga DESPUÉS de shared.css y blinda el diseño de estas
   3 páginas para que cambios en shared.css (o en las páginas
   de Startups) no las igualen.
   ============================================================ */

/* Neutraliza cualquier estilo de hero heredado de Startups */
body.is-familiar .subhero,
body.is-familiar .subhero--dossier,
body.is-familiar .hero-text,
body.is-familiar .hero-overlap{ display: none !important; }

/* Header siempre legible: estas páginas tienen hero claro */
body.is-familiar #nav{ color: var(--ink); }
body.is-familiar #nav .nav__brand img.light{ display: none; }
body.is-familiar #nav .nav__brand img.dark{ display: block; }
body.is-familiar #nav .nav__cta{ border-color: var(--ink); color: var(--ink); }
body.is-familiar #nav .nav__cta:hover{ background: var(--ember); border-color: var(--ember); color: #fff; }

/* Firma común de las 3 páginas familiares: papel claro + acento ember */
body.is-familiar{ background: var(--paper); }

/* --- Hero editorial compartido por las 3 páginas familiares --- */
body.is-familiar .fh{ background: radial-gradient(48% 70% at 4% 104%, rgba(11,58,85,.11) 0%, rgba(11,58,85,0) 64%), var(--paper); text-align: left; padding: 200px 40px 60px; position: relative; overflow: hidden; }
/* Malla de puntos que se desvanece hacia abajo-izquierda */
body.is-familiar .fh::before{ content:''; display:block; position:absolute; inset:0; z-index:0; pointer-events:none; background-image: radial-gradient(rgba(0,38,58,.22) 1.1px, transparent 1.4px); background-size: 28px 28px; -webkit-mask-image: linear-gradient(200deg, #000 0%, rgba(0,0,0,.55) 35%, transparent 72%); mask-image: linear-gradient(200deg, #000 0%, rgba(0,0,0,.55) 35%, transparent 72%); }
body.is-familiar .fh::after{ display: none; }
body.is-familiar .fh__crumbs,
body.is-familiar .fh__eyebrow,
body.is-familiar .fh__title,
body.is-familiar .fh__lede{ max-width: 1120px; margin-left: auto; margin-right: auto; position: relative; z-index: 2; }
body.is-familiar .fh__crumbs{ margin-bottom: 0; padding-bottom: 18px; }
body.is-familiar .fh__eyebrow{ margin: 40px auto 0; display: flex; align-items: center; font-size: 10.5px; }
body.is-familiar .fh__eyebrow::before{ content:''; width: 56px; height: 1px; background: var(--ember); margin-right: 14px; }
body.is-familiar .fh__eyebrow::after{ display: none; }
body.is-familiar .fh__title{ font-weight: 200; letter-spacing: -0.045em; line-height: .86; font-size: clamp(56px, 8vw, 140px); margin-top: 26px; }
body.is-familiar .fh__title em{ display:block; color: var(--ember); position: relative; }
body.is-familiar .fh__lede{ margin-top: 52px; margin-left: max(0px, calc((100% - 1120px) / 2)); margin-right: auto; left: 0 !important; padding: 32px 0 0 0; font-size: 16.5px; line-height: 1.8; color: var(--ink-80); max-width: 62ch; }
@media (max-width: 900px){ body.is-familiar .fh__lede{ left: 0 !important; max-width: 62ch; column-count: 1; } body.is-familiar .fh{ padding-top: 150px; } body.is-familiar .fh__title{ line-height: .95; } body.is-familiar .fh__eyebrow::after{ display:none; } }
body.is-familiar .fh__greca{ display: none !important; }

/* Franja de datos: pegada al hero, tres celdas con divisores */
body.is-familiar .fh-strip{ background: var(--ink); color: #fff; margin-top: 0; padding: 0 40px; position: relative; }
body.is-familiar .fh-strip::before{ content:''; position:absolute; top:0; left:50%; transform:translateX(-50%); width:1120px; max-width:calc(100% - 80px); height:2px; background: linear-gradient(90deg, var(--ember) 0, var(--ember) 96px, rgba(255,255,255,.14) 96px); }
body.is-familiar .fh-strip__inner{ max-width: 1120px; margin: 0 auto; display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: 0; text-align: left; justify-content: stretch; }
body.is-familiar .fh-strip__inner > div{ padding: 40px 32px 44px; position: relative; }
body.is-familiar .fh-strip__inner > div:first-child{ padding-left: 0; }
body.is-familiar .fh-strip__inner > div + div{ border-left: 1px solid rgba(255,255,255,.14); }
body.is-familiar .fh-strip dt{ font-family: 'IBM Plex Mono', monospace; font-size: 10px; letter-spacing: .26em; text-transform: uppercase; color: var(--ember); margin-bottom: 14px; }
body.is-familiar .fh-strip dd{ font-size: clamp(14px, 1.3vw, 17px); font-weight: 300; letter-spacing: -0.01em; line-height: 1.3; color: #fff; }
@media (max-width: 900px){ body.is-familiar .fh-strip{ padding: 0 20px; } body.is-familiar .fh-strip__inner{ grid-template-columns: 1fr; } body.is-familiar .fh-strip__inner > div, body.is-familiar .fh-strip__inner > div:first-child{ padding: 26px 0; } body.is-familiar .fh-strip__inner > div + div{ border-left: none; border-top: 1px solid rgba(255,255,255,.14); } }

/* --- Asesoría: hero partido + grid de tarjetas --- */
body.is-familiar .af-hero{ background: var(--paper); color: var(--ink); }
body.is-familiar .af-hero__side{ border-left: 1px solid var(--ember); }
body.is-familiar .af-grid{ background: transparent; border: none; }

/* --- Acompañamiento: acordeón --- */
body.is-familiar .ac-hero{ background: var(--paper-2); text-align: left; }
body.is-familiar .ac-item.open .ac-item__plus{ color: var(--ember); }
