/* Archived EditorialPhotoHero geometry, scoped to the restored component.
   Photos and copy come from the approved content; no filter changes the assets. */
@font-face{font-family:Questrial;src:url('/questrial-latin.woff2') format('woff2');font-weight:400;font-style:normal;font-display:swap}
.ek-restored-hero{position:relative;display:flex;align-items:flex-end;isolation:isolate;width:100%;margin:0;min-height:clamp(560px,76svh,880px);padding:0;border:0;border-radius:0 0 clamp(28px,3.25vw,62px) clamp(28px,3.25vw,62px);overflow:hidden;background:var(--ek-graphite);--ph-bottom-gap:clamp(32px,3.5vw,52px)}
.ek-restored-hero--sub,.ek-restored-hero--detail{min-height:clamp(460px,66svh,660px)}
.ek-restored-hero--problem{min-height:clamp(480px,72svh,720px)}
.ek-restored-hero--problem.ek-restored-hero--detail{min-height:clamp(460px,66svh,660px)}
/* Parent service pages share Home B's minimum frame; child services retain
   their compact --sub frame. Minimums allow approved content to grow. */
body[data-route="/osteopatia/"] .ek-restored-hero,
body[data-route="/itv-corporal/"] .ek-restored-hero{min-height:clamp(640px,86svh,900px)}
@media(max-width:1000px){
 body[data-route="/osteopatia/"] .ek-restored-hero,
 body[data-route="/itv-corporal/"] .ek-restored-hero{min-height:clamp(680px,92svh,900px)}
 body[data-route="/osteopatia/"] .ek-restored-hero .hero-inner,
 body[data-route="/itv-corporal/"] .ek-restored-hero .hero-inner{padding-top:clamp(120px,22svh,200px);padding-bottom:32px}
}
.ek-restored-hero .ph-stage{position:absolute;inset:0;z-index:-1;overflow:hidden;border-radius:inherit}
.ek-restored-hero .ph-stage img{display:block;width:100%;height:100%;object-fit:cover;object-position:var(--ph-object-position,50% 42%)}
.ek-restored-hero .ph-overlay{position:absolute;inset:0;background:var(--ph-overlay,rgba(18,48,63,.38))}
.ek-restored-hero .hero-inner{position:relative;width:calc(100% - 2 * var(--ph-bottom-gap));margin:0 auto;padding:clamp(24px,3.4vw,48px) 0 var(--ph-bottom-gap)}
.ek-restored-hero .ph-card{position:relative;width:min(var(--ph-card-w,560px),100%);margin-inline:var(--ph-card-inline,0 auto);padding:clamp(22px,2.4vw,36px);border:0;border-radius:22px;background:var(--ph-card-bg,transparent);-webkit-backdrop-filter:blur(22px) brightness(var(--ph-card-dim,.7));backdrop-filter:blur(22px) brightness(var(--ph-card-dim,.7));color:#fff}
.ek-restored-hero .ph-card .breadcrumbs{margin:0 0 clamp(12px,1.4vw,18px);color:#ffffffb8}
.ek-restored-hero .ph-card .breadcrumbs a{color:inherit}
.ek-restored-hero .ph-card .eyebrow{margin:0 0 clamp(12px,1.5vw,18px);color:#ffffffb3}
.ek-restored-hero .ph-card h1,.ek-restored-hero .ph-title{max-width:none;margin:0;color:#fff;font:var(--ek-fw-heading) var(--ek-fs-h1)/var(--ek-lh-heading) var(--ek-font-display);letter-spacing:var(--ek-ls-heading);}
.ek-restored-hero .ph-title{display:block}
.ek-restored-hero .ph-card .ph-copy{max-width:46ch;margin:clamp(14px,1.6vw,20px) 0 0}
.ek-restored-hero .ph-card .ph-copy p{margin:0;color:#ffffffed;font-size:var(--ek-fs-body);line-height:var(--ek-lh-body);}
.ek-restored-hero .ph-card .ph-copy p+p{margin-top:var(--ek-space-text)}
/* ATO-474 · The summary keeps two lines: below that the introduction
   reads complete and no control is offered. */
.ek-restored-hero .ph-copy--clamp{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden}
.ek-restored-hero .ph-card:has(.ph-more[open]) .ph-copy--clamp{display:block;-webkit-line-clamp:unset;overflow:visible}
.ek-restored-hero .ph-card:has(.ph-more[open])>.ph-copy--with-full-intro{display:none}
.ek-restored-hero .ph-more{margin-top:12px}
.ek-restored-hero .ph-more summary{display:inline-flex;align-items:center;gap:6px;min-height:40px;font-size:var(--ek-fs-ui);color:#ffffffe6}
.ek-restored-hero .ph-more-body{margin-top:2px}
.ek-restored-hero .ph-more p{margin:var(--ek-space-text-sm) 0 0;color:#ffffffc7;font-size:var(--ek-fs-body);line-height:var(--ek-lh-body);}
.ek-restored-hero .hero-actions{margin-top:clamp(18px,2vw,26px)}
.ek-restored-hero .hero-actions .button{background:transparent;color:#fff;border-color:#ffffff73}
.ek-restored-hero .hero-actions .button:hover{background:#ffffff1f;color:#fff}
/* Home now shares the service photo hero and its compact left glass card. */
.home .ek-restored-hero .ph-card{text-align:left;--ph-card-inline:0 auto}
.home .ek-restored-hero .hero-actions{justify-content:flex-start}
.home .ek-restored-hero .hero-actions .button{background:transparent;color:#fff;border-color:#ffffff73}
.home .ek-restored-hero .hero-actions .button:hover{background:#ffffff1f;color:#fff}
.ek-compact-heading .catalog-intro{padding:36px 0 28px;min-height:0}
.ek-compact-heading .catalog-intro h1{margin:18px 0;font:var(--ek-fw-heading) var(--ek-fs-h1)/var(--ek-lh-heading) var(--ek-font-display);letter-spacing:var(--ek-ls-heading);max-width:18ch}
.ek-compact-heading .catalog-intro h1 span{font:inherit;color:inherit}
.ek-compact-heading .catalog-intro .ek-introduction{margin:0;max-width:70ch}
.ek-compact-heading .catalog-intro .catalog-intro-copy{margin:0;font-size:var(--ek-fs-body);line-height:var(--ek-lh-body);}
.ek-compact-heading .catalog-intro+.ek-problem-discovery{margin-top:0;margin-bottom:40px}
.ek-compact-heading .ek-problem-discovery>h2{margin:12px 0 24px}
.ek-compact-heading .catalog-intro~.reading{margin-top:0}
.ek-compact-heading .ek-restored-hero{min-height:clamp(460px,66svh,660px)}
.ek-compact-heading .ek-restored-hero+.reading{margin-top:32px}
/* /problemas/: original six-card directory (archived system.css ATO-138).
   Keep the approved text bytes while restoring crop, glass and title hierarchy.
   ATO-474 · Decisión aprobada 24/10/2026 (comentario 5f302227): panel
   translúcido grafito/marrón con blur, etiqueta superior en mayúsculas,
   título serif editorial y cuerpo blanco. El anclaje del enlace es una capa
   superpuesta para que el control «Leer más» no quede dentro de un enlace. */
.problem-index .ek-discovery-grid.ek-ed-cards{grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(20px,2.3vw,34px);margin:24px 0 0;align-items:start}
.problem-index .ek-ed-cards .ek-ed-card{position:relative;display:block;aspect-ratio:4/5;min-height:0;padding:0;margin:0;border:0;border-radius:clamp(16px,1.4vw,22px);overflow:hidden;background:var(--ek-graphite);color:#fff}
/* La tarjeta crece al expandir la descripción: nunca recorta el copy ampliado. */
.problem-index .ek-ed-card:has(.ek-ed-card-desc.is-expanded){aspect-ratio:auto;min-height:clamp(420px,52vw,560px)}
.problem-index .ek-ed-card:before{display:none}
.problem-index .ek-ed-card-hit{position:absolute;inset:0;z-index:1;border-radius:inherit}
.problem-index .ek-ed-card-hit:focus-visible{outline:2px solid #f0b49b;outline-offset:-5px}
.problem-index .ek-ed-card-photo{z-index:0;object-position:var(--ek-ed-pos,50% 45%)}
.problem-index .ek-ed-card-glass{display:block;position:absolute;left:0;right:0;bottom:0;z-index:1;height:62%;pointer-events:none;background:linear-gradient(to top,#1b26223d,#1b26221a 46%,#1b262200 78%);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);-webkit-mask-image:linear-gradient(to top,#000 16%,#0009 46%,transparent 74%);mask-image:linear-gradient(to top,#000 16%,#0009 46%,transparent 74%)}
/* Panel editorial translúcido: margen para que la fotografía siga visible. */
.problem-index .ek-ed-card-body{position:absolute;left:clamp(10px,1vw,14px);right:clamp(10px,1vw,14px);bottom:clamp(10px,1vw,14px);z-index:2;display:flex;flex-direction:column;gap:7px;padding:clamp(14px,1.3vw,20px);border:1px solid rgba(255,255,255,.10);border-radius:clamp(12px,1.1vw,16px);background:rgba(37,33,29,.66);backdrop-filter:blur(16px) saturate(1.08);-webkit-backdrop-filter:blur(16px) saturate(1.08);pointer-events:none}
.problem-index .ek-ed-card-label{display:block;margin:0;font:var(--ek-fw-body) var(--ek-fs-meta)/var(--ek-lh-compact) var(--ek-font-body);letter-spacing:var(--ek-ls-meta);text-transform:uppercase;color:rgba(255,255,255,.74)}
.problem-index .ek-ed-card-title{font:var(--ek-fw-heading-inter) var(--ek-fs-h3)/var(--ek-lh-heading) var(--ek-font-body);color:#fbf8f1;letter-spacing:var(--ek-ls-heading);margin:0;text-shadow:none}
.problem-index .ek-ed-card-desc{display:block;overflow:hidden;font-size:var(--ek-fs-small);line-height:var(--ek-lh-compact);color:rgba(255,255,255,.9);max-width:44ch;text-shadow:none}
/* Regla de truncado aprobada: 4 líneas reales como máximo con elipsis. */
.problem-index .ek-ed-card-desc.is-clamped{-webkit-box-orient:vertical;-webkit-line-clamp:4;display:-webkit-box;overflow:hidden}
.problem-index .ek-ed-card-desc.is-expanded{display:block;-webkit-line-clamp:unset;overflow:visible}
.problem-index .ek-ed-card-more{pointer-events:auto;align-self:flex-start;display:inline-flex;align-items:center;gap:6px;min-height:36px;margin:2px 0 0;padding:4px 0;border:0;background:none;color:#f0b49b;cursor:pointer;font:var(--ek-fw-body) var(--ek-fs-small)/var(--ek-lh-compact) var(--ek-font-body);letter-spacing:normal;text-decoration:underline;text-underline-offset:4px}
.problem-index .ek-ed-card-more:focus-visible{outline:2px solid #f0b49b;outline-offset:3px;border-radius:4px}
.problem-index .ed-more-less{display:none}
.problem-index .ek-ed-card-more[aria-expanded="true"] .ed-more-more{display:none}
.problem-index .ek-ed-card-more[aria-expanded="true"] .ed-more-less{display:inline}
.problem-index .ek-ed-card-cta{display:inline-flex;align-items:center;justify-content:flex-start;gap:7px;align-self:flex-start;margin-top:2px;font-size:var(--ek-fs-ui);line-height:var(--ek-lh-compact);color:#fffffff0}
.problem-index .ek-ed-card-arrow{font-size:inherit;}
@media(max-width:960px){.problem-index .ek-discovery-grid.ek-ed-cards{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}}
@media(max-width:640px){
 .problem-index .ek-discovery-grid.ek-ed-cards{grid-template-columns:minmax(0,1fr);justify-items:center}
 .problem-index .ek-discovery-grid.ek-ed-cards>.ek-ed-card{width:min(100%,440px)}
}
/* ATO-474 · Móvil: el panel mide menos de la mitad de la tarjeta para que la
   fotografía conserve el protagonismo y el sujeto siga reconocible. */
@media(max-width:640px){
  .problem-index .ek-ed-card-body{left:8px;right:8px;bottom:8px;gap:6px;padding:13px 14px;border-radius:12px}
  .problem-index .ek-ed-card-label{font-size:var(--ek-fs-meta);letter-spacing:var(--ek-ls-meta);}
  .problem-index .ek-ed-card-title{font-size:var(--ek-fs-h3);}
  .problem-index .ek-ed-card-desc{max-width:none;font-size:var(--ek-fs-small);line-height:var(--ek-lh-compact);}
  .problem-index .ek-ed-card-desc.is-clamped{-webkit-line-clamp:4}
  .problem-index .ek-ed-card-more{min-height:34px;font-size:var(--ek-fs-small);}
}
@media(max-width:1000px){
 .ek-restored-hero{min-height:clamp(500px,72svh,720px);--ph-bottom-gap:clamp(24px,6vw,40px);border-radius:0 0 28px 28px}
 .ek-restored-hero--sub,.ek-restored-hero--detail,.ek-restored-hero--problem,.ek-compact-heading .ek-restored-hero{min-height:clamp(430px,64svh,600px)}
 .ek-restored-hero .hero-inner{padding:24px 0 var(--ph-bottom-gap)}
 .ek-restored-hero .ph-card{width:100%;max-width:560px;margin-inline:0;padding:clamp(20px,5.4vw,28px);border-radius:16px}
 .ek-restored-hero .ph-card .ph-copy{max-width:none}
}
@media(max-width:640px){
 .ek-restored-hero .ph-card .ph-copy p,.ek-restored-hero .ph-more p{font-size:var(--ek-fs-body);line-height:var(--ek-lh-body);}
 .ek-compact-heading .catalog-intro{padding:28px 0 24px}
 .ek-compact-heading .catalog-intro h1{font-size:var(--ek-fs-h1);margin:16px 0}
 .ek-compact-heading .ek-problem-discovery>h2{margin:10px 0 20px}
}

.ek-restored-hero .ek-restored-context{margin-bottom:14px;font-size:var(--ek-fs-body);}
.ek-restored-hero .ph-card .ek-restored-context p{margin:0 0 8px}
.ek-restored-hero .ph-card .ek-restored-context .ek-intro-term{display:inline;font-size:var(--ek-fs-body);color:#ffffffcf}
.ek-restored-hero .ek-intro-term+.ek-intro-term:before{content:' / ';color:#ffffff70}

/* ======================================================================
   ATO-474 · Héroes fotográficos a sangre con la navegación sobre la foto
   ----------------------------------------------------------------------
   La fotografía ocupa toda la parte superior de la página y el menú se apoya
   sobre ella con controles blancos. Al desplazarse, la píldora grafito ya
   aprobada toma el relevo. Misma regla para escritorio y móvil: una sola
   plantilla, sin excepciones por ruta.
   ====================================================================== */

/* La superficie se pega al borde superior: sin barra crema ni cabecera propia. */
body.ek-unified:has(main.ek-photo-hero-page) .ek-document{padding-top:0}
body.ek-unified:has(main.ek-photo-hero-page) .ek-document>.ek-restored-hero{margin-top:calc(-1 * var(--ek-header-h,78px));padding-top:var(--ek-header-h,78px)}

/* La tarjeta de texto deja de invadir la fotografía. */
.ek-restored-hero .ph-card{--ph-card-blur:18px;backdrop-filter:blur(18px) brightness(var(--ph-card-dim,.7));-webkit-backdrop-filter:blur(18px) brightness(var(--ph-card-dim,.7))}
.ek-restored-hero .ph-card .ph-copy{max-width:44ch}

/* Separación intencional entre el héroe y el primer bloque de contenido.
   El bloque siguiente nunca queda pegado al final de la fotografía. */
.ek-photo-hero-page+.reading,.ek-photo-hero-page~.reading{margin-top:clamp(48px,6vw,88px)}
main.ek-photo-hero-page+.ek-document>.reading{margin-top:clamp(48px,6vw,88px)}
.ek-document>.ek-restored-hero+.reading{margin-top:clamp(48px,6vw,88px)}
.ek-document>.ek-restored-hero+.ek-page,.ek-document>.ek-restored-hero+.ek-compact-heading{margin-top:clamp(48px,6vw,88px)}
/* Un aire mínimo garantiza el corte visual aunque el bloque siguiente
   se apoye directamente en el héroe. */
.ek-document>.ek-restored-hero{margin-bottom:clamp(24px,3.4vw,48px)}
.home .ek-restored-hero{margin-bottom:clamp(26px,4vw,44px)}

@media(max-width:1000px){
  .ek-restored-hero .ph-card{padding:clamp(18px,4.6vw,24px);border-radius:16px}
  .ek-restored-hero .ph-card .ph-copy{max-width:none}
  .ek-restored-hero .hero-inner{padding-bottom:clamp(28px,7vw,46px)}
}

/* --- Home en móvil: la fotografía vuelve a respirar ------------------ */
/* La caja de texto se compacta y se apoya más abajo para mostrar más
   imagen. Se conserva íntegro el texto y los CTA: no hay «Leer más» en Home. */
@media(max-width:1000px){
  .home .ek-restored-hero{min-height:clamp(520px,74svh,680px);align-items:flex-end}
  .home .ek-restored-hero .hero-inner{padding-bottom:clamp(26px,7vw,44px)}
  .home .ek-restored-hero .ph-card{width:100%;max-width:none;margin-inline:0;padding:clamp(18px,5vw,24px);border-radius:18px}
  .home .ek-restored-hero .ph-card h1,.home .ek-restored-hero .ph-title{font-size:var(--ek-fs-h1);}
  .home .ek-restored-hero .ph-card .ph-copy p{font-size:var(--ek-fs-body);line-height:var(--ek-lh-body);}
  .home .ek-restored-hero .ph-card .ph-copy p+p{margin-top:8px}
  .home .ek-restored-hero .hero-actions{gap:10px;margin-top:16px}
  .home .ek-restored-hero .hero-actions .button{min-height:40px;padding:10px 16px;font-size:var(--ek-fs-ui);}
}
@media(max-width:640px){
  .home .ek-restored-hero{min-height:clamp(440px,64svh,540px)}
  .home .ek-restored-hero .ph-card{padding:15px 16px;border-radius:16px}
  .home .ek-restored-hero .ph-card .ph-copy p{font-size:var(--ek-fs-body);line-height:var(--ek-lh-body);}
  .home .ek-restored-hero .ph-card .ph-copy p+p{margin-top:6px}
  .home .ek-restored-hero .ph-card .ph-copy{margin-top:10px}
  .home .ek-restored-hero .ph-card h1,.home .ek-restored-hero .ph-title{font-size:var(--ek-fs-h1);line-height:var(--ek-lh-heading);margin:0 0 10px}
  .home .ek-restored-hero .eyebrow{margin-bottom:8px}
  .home .ek-restored-hero .hero-actions{margin-top:12px}
  .home .ek-restored-hero .ek-metadata-actions{margin-top:10px}
  .home .ek-restored-hero .hero-inner{padding-bottom:clamp(20px,5.5vw,34px)}
}

/* --- Tarjetas fotográficas con texto superpuesto ---------------------- */
/* Un tratamiento común: degradado oscuro dirigido a la zona de lectura,
   gaussiano perceptible sobre esa zona y desaturación suave. La fotografía
   sigue siendo reconocible y el texto blanco es realmente legible. */
.ek-restored-hero .ph-stage img{filter:saturate(.86) contrast(1.02)}
.ek-restored-hero .ph-overlay{background:var(--ph-overlay,rgba(18,48,63,.38))}
.ek-restored-hero .ph-card{background:rgba(20,28,26,.34);border-radius:22px}
.ek-restored-hero .ph-card h1,.ek-restored-hero .ph-title,.ek-restored-hero .ph-copy p,.ek-restored-hero .ph-more p{text-shadow:0 1px 12px rgba(10,16,14,.55)}
.ek-restored-hero .ph-card .ek-restored-context p{text-shadow:0 1px 10px rgba(10,16,14,.5)}
@media(max-width:1000px){
  .ek-restored-hero .ph-card{background:rgba(20,28,26,.42)}
}

/* ======================================================================
   ATO-475 · Héroe fotográfico del hub /problemas/
   ----------------------------------------------------------------------
   Fotografía original a sangre desde arriba, panel grafito translúcido con
   gaussiano a la izquierda y el retrato despejado a la derecha. El rostro
   completo, el mentón y las manos se mantienen dentro del encuadre.
   ====================================================================== */
.ek-hub-hero{position:relative;display:flex;align-items:flex-end;isolation:isolate;width:auto;margin-inline:calc(-1 * clamp(20px,4vw,60px));padding:0;border:0;min-height:clamp(520px,74svh,820px);background:var(--ek-graphite);overflow:hidden}
.ek-hub-hero .ph-stage{position:absolute;inset:0;z-index:-1;overflow:hidden}
.ek-hub-hero .ph-stage img{display:block;width:100%;height:100%;object-fit:cover;object-position:78% 40%}
.ek-hub-hero .ph-overlay{position:absolute;inset:0;background:linear-gradient(90deg,rgba(14,30,38,.30) 0%,rgba(14,30,38,.12) 46%,rgba(14,30,38,.04) 70%,rgba(14,30,38,.10) 100%)}
.ek-hub-hero .hero-inner{position:relative;z-index:2;width:min(1320px,calc(100% - 48px));margin:0 auto;padding:clamp(28px,4vw,54px) 0 clamp(40px,4.6vw,64px)}
/* Panel editorial: grafito/marrón oscuro translúcido, blur moderado, esquinas
   redondeadas, texto marfil y título serif amplio. No tapa el retrato. */
.ek-hub-hero .ph-card--hub{width:min(492px,100%);padding:clamp(24px,2.6vw,38px);border:1px solid rgba(255,255,255,.10);border-radius:clamp(16px,1.4vw,22px);background:rgba(19,31,37,.70);backdrop-filter:blur(16px) saturate(1.05);-webkit-backdrop-filter:blur(16px) saturate(1.05);color:#f7f3ea}
.ek-hub-hero .ph-card--hub .eyebrow{margin:0 0 clamp(12px,1.4vw,18px);color:rgba(255,255,255,.76);font:var(--ek-fw-body) var(--ek-fs-meta)/var(--ek-lh-compact) var(--ek-font-body);letter-spacing:var(--ek-ls-meta);text-transform:uppercase}
.ek-hub-hero .ph-card--hub h1{margin:0;font:var(--ek-fw-heading) var(--ek-fs-h1)/var(--ek-lh-heading) var(--ek-font-heading);letter-spacing:var(--ek-ls-heading);color:#fbf8f1}
.ek-hub-hero .ph-card--hub h1 .ritual-word{display:inline}
.ek-hub-hero .ph-card--hub .ek-introduction{max-width:52ch;margin:clamp(14px,1.6vw,20px) 0 0}
.ek-hub-hero .ph-card--hub .ek-intro-editorial-copy{max-width:none}
.ek-hub-hero .ph-card--hub .catalog-intro-copy p{margin:0 0 10px;font-size:var(--ek-fs-body);line-height:var(--ek-lh-body);color:rgba(255,255,255,.92)}
.ek-hub-hero .ph-card--hub .ek-metadata-actions{margin-top:clamp(16px,1.8vw,24px)}
.ek-hub-hero .ph-card--hub .share-trigger{color:#f7f3ea;border-color:rgba(255,255,255,.42)}
.ek-hub-hero .ph-card--hub .share-trigger:hover,.ek-hub-hero .ph-card--hub .share-trigger:focus-visible{color:#fff;border-color:#fff}
/* La navegación se apoya sobre la fotografía, no sobre una franja propia. */
body.ek-unified:has(main.ek-hub-hero-page) .ek-header{margin-bottom:calc(-1 * var(--ek-header-h))}
body.ek-unified:has(main.ek-hub-hero-page) .ek-header:not(.is-pill) .ek-header-inner{background:transparent;border-color:transparent;color:#fff;box-shadow:none;backdrop-filter:none;-webkit-backdrop-filter:none}
body.ek-unified:has(main.ek-hub-hero-page) .ek-header:not(.is-pill) .brand img{filter:brightness(0) invert(1)}
body.ek-unified:has(main.ek-hub-hero-page) .ek-header:not(.is-pill) .button{color:#fff;border-color:#ffffff9c}
body.ek-unified:has(main.ek-hub-hero-page) .ek-header:not(.is-pill) .ek-icon:hover,body.ek-unified:has(main.ek-hub-hero-page) .ek-header:not(.is-pill) .button:hover{background:#ffffff18;color:#fff}
body.ek-unified:has(main.ek-hub-hero-page) .ek-header:not(.is-pill) .ek-nav>a:hover,body.ek-unified:has(main.ek-hub-hero-page) .ek-header:not(.is-pill) .ek-explore>summary:hover{color:#f0b49b}
body.ek-unified:has(main.ek-hub-hero-page) .ek-header:not(.is-pill) .ek-explore>nav{background:rgba(35,39,41,.96);border-color:#ffffff24;color:#fff}
body.ek-unified:has(main.ek-hub-hero-page) .ek-header:not(.is-pill) .ek-explore>nav a:hover{background:#ffffff18;color:#fff}
/* El grafito del hub empieza bajo el héroe y continúa sin cortes. */
body.ek-unified:has(main.ek-problem-hub) main.ek-catalogue-page.ek-problem-hub:has(.ek-hub-hero){margin-top:calc(-1 * var(--ek-header-h));padding-top:0}
@media(max-width:1000px){body.ek-unified:has(main.ek-problem-hub) main.ek-catalogue-page.ek-problem-hub:has(.ek-hub-hero){margin-top:calc(-1 * var(--ek-header-h));padding-top:0}}
@media(max-width:600px){body.ek-unified:has(main.ek-problem-hub) main.ek-catalogue-page.ek-problem-hub:has(.ek-hub-hero){margin-top:calc(-1 * var(--ek-header-h));padding-top:0}}
main.ek-catalogue-page.ek-problem-hub:has(.ek-hub-hero) .ek-hub-hero{margin-top:0;padding-top:var(--ek-header-h)}
main.ek-catalogue-page.ek-problem-hub:has(.ek-hub-hero) .hub-search{margin-top:clamp(40px,4.6vw,64px)}
/* ATO-474 · El bloque que sigue al héroe nunca queda pegado a la foto. */
.ek-hub-hero + *{margin-top:clamp(34px,4vw,56px)}
@media(max-width:1000px){
  .ek-hub-hero{min-height:clamp(580px,80svh,780px)}
  .ek-hub-hero .ph-stage img{object-position:70% 36%}
  .ek-hub-hero .ph-overlay{background:linear-gradient(180deg,rgba(16,26,32,.30) 0%,rgba(16,26,32,.52) 46%,rgba(16,26,32,.78) 100%)}
  .ek-hub-hero .hero-inner{width:calc(100% - 32px);padding:24px 0 clamp(28px,5vw,40px)}
  .ek-hub-hero .ph-card--hub{width:100%;max-width:520px;padding:22px}
}
@media(max-width:640px){
  .ek-hub-hero .ph-stage img{object-position:60% 46%}
  .ek-hub-hero .hero-inner{width:calc(100% - 24px);padding:18px 0 22px}
  .ek-hub-hero .ph-card--hub{padding:18px 16px;border-radius:14px}
  .ek-hub-hero .ph-card--hub h1{font-size:var(--ek-fs-h1);}
  .ek-hub-hero .ph-card--hub .catalog-intro-copy p{font-size:var(--ek-fs-body);line-height:var(--ek-lh-body);}
  main.ek-catalogue-page.ek-problem-hub:has(.ek-hub-hero) .ek-hub-hero{margin-top:0;padding-top:var(--ek-header-h)}
}
@media(max-width:700px){.ek-hub-hero{margin-inline:-18px}}
/* Móvil: la fotografía es una banda a sangre arriba (menú encima) y el panel
   editorial cae debajo sobre el grafito. Así rostro y manos quedan libres. */
@media(max-width:700px){
  .ek-hub-hero{display:block;min-height:0;padding-top:0}
  .ek-hub-hero .ph-stage{position:relative;inset:auto;z-index:0;height:clamp(300px,84vw,430px)}
  /* ATO-366 · A · La fotografía original es horizontal: en la banda móvil el
     recorte es propio y mantiene el retrato protagonista, sin tocar el
     encuadre de escritorio ni el archivo. */
  .ek-unified .ek-hub-hero .ph-stage img{object-position:48% 36%!important}
  .ek-hub-hero .ph-overlay{position:absolute;inset:0;background:linear-gradient(180deg,rgba(16,26,32,.46) 0%,rgba(16,26,32,.10) 34%,rgba(16,26,32,.06) 100%)}
  .ek-hub-hero .hero-inner{position:relative;z-index:2;width:calc(100% - 36px);margin:0 auto;padding:22px 0 clamp(26px,6vw,40px)}
  .ek-hub-hero .ph-card--hub{width:100%;max-width:none}
}

/* ======================================================================
   ATO-360 (R7) · Rejilla de /problemas/: la tarjeta enseña solo el chip y
   el título sobre una base glass grafito. Al entrar con el puntero o al
   recibir el foco por teclado, la descripción y el enlace se despliegan
   hacia arriba, sin mover las tarjetas vecinas ni recortar el texto.
   En móvil y en dispositivos sin hover la información sigue visible.
   ====================================================================== */
html.ek-fine-pointer .problem-index .ek-discovery-grid .ek-ed-card :is(.ek-ed-card-desc,.ek-ed-card-more,.ek-ed-card-cta){
  max-height:0;margin-top:0;opacity:0;visibility:hidden;overflow:hidden;
  transition:max-height .32s cubic-bezier(.22,.61,.36,1),opacity .26s ease,visibility .32s;
}
html.ek-fine-pointer .problem-index .ek-discovery-grid .ek-ed-card:hover :is(.ek-ed-card-desc,.ek-ed-card-more,.ek-ed-card-cta),
html.ek-fine-pointer .problem-index .ek-discovery-grid .ek-ed-card:focus-within :is(.ek-ed-card-desc,.ek-ed-card-more,.ek-ed-card-cta){
  max-height:30rem;opacity:1;visibility:visible;overflow:visible;
}
html.ek-fine-pointer .problem-index .ek-discovery-grid .ek-ed-card:hover .ek-ed-card-desc.is-clamped,
html.ek-fine-pointer .problem-index .ek-discovery-grid .ek-ed-card:focus-within .ek-ed-card-desc.is-clamped{
  display:block;-webkit-line-clamp:unset;overflow:visible;
}
html.ek-fine-pointer .problem-index .ek-discovery-grid .ek-ed-card:hover .ek-ed-card-more,
html.ek-fine-pointer .problem-index .ek-discovery-grid .ek-ed-card:focus-within .ek-ed-card-more{margin-top:2px}
@media (prefers-reduced-motion:reduce){
  .problem-index .ek-discovery-grid .ek-ed-card :is(.ek-ed-card-desc,.ek-ed-card-more,.ek-ed-card-cta){transition:none!important}
  .problem-index .ek-discovery-grid .ek-ed-card-photo{transition:none!important}
}
