/* 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(49, 45, 40,.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}
/* F7 · Sobre fotografía el enlace y su raya son blancos, también al enfocar:
   sin coral superpuesto sobre la imagen. */
.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:#fff;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;text-decoration-color:#fff}
.problem-index .ek-ed-card-more:focus-visible{outline:2px solid #fff;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(49, 45, 40,.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(32, 28, 23,.30) 0%,rgba(32, 28, 23,.12) 46%,rgba(32, 28, 23,.04) 70%,rgba(32, 28, 23,.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(33, 29, 24,.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(29, 25, 20,.30) 0%,rgba(29, 25, 20,.52) 46%,rgba(29, 25, 20,.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(29, 25, 20,.46) 0%,rgba(29, 25, 20,.10) 34%,rgba(29, 25, 20,.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}
}

/* Shared review presentation. Loaded after archival compatibility CSS.
   Keep original review DOM and scripts: filters, stories, sharing, disclosures. */
body.ek-integrated .ek-review-card.review {
  --ek-font-body:"Ekonatura Onest",system-ui,sans-serif; --ek-font-heading:"Ekonatura Onest",system-ui,sans-serif; --ek-coral:#e29578;
  box-sizing:border-box; position:relative; isolation:isolate; overflow:hidden;
  width:100%; max-width:860px; min-width:0; min-height:0;
  grid-column:1/-1; margin:32px auto; padding:36px 40px!important; scroll-margin-top:110px;
  border:1px solid rgba(244,240,231,.14)!important; border-radius:28px!important;
  background:#2b2722!important; color:#f4f0e7;
  box-shadow:none!important; transform:none; -webkit-backdrop-filter:none; backdrop-filter:none;
}
/* ATO-476.5 · Sober local surface for every inline review.
   The psychedelic pattern is gone: a calm graphite-green gradient, no image,
   no extra request and no new cost. */
body.ek-integrated .ek-review-card.review::before {
  content:""; position:absolute; inset:0; z-index:-1; pointer-events:none;
  background:
    radial-gradient(120% 85% at 84% -12%, rgba(244,240,231,.07), transparent 60%),
    linear-gradient(158deg,#36322d 0%,#2b2722 52%,#18211d 100%);
  filter:none; opacity:1; mix-blend-mode:normal;
}
body.ek-integrated .ek-review-card.review>* {position:relative;z-index:1}
body.ek-integrated .ek-review-card.review .review-top {
  display:flex;align-items:center;justify-content:space-between;gap:20px;
  font:800 var(--ek-fs-meta)/var(--ek-lh-compact) var(--ek-font-body);letter-spacing:normal;text-transform:uppercase;color:#dfe3d8;
}
body.ek-integrated .ek-review-card.review .review-top>span:first-child {display:inline-flex;align-items:center;gap:9px}
body.ek-integrated .ek-review-card.review .review-top>span:first-child::before {content:"";width:22px;height:2px;background:var(--ek-coral);flex:none}
body.ek-integrated .ek-review-card.review .stars {color:var(--ek-coral);font-size:0.9375rem;letter-spacing:var(--ek-ls-meta);white-space:normal}
body.ek-integrated .ek-review-card.review blockquote {
  max-width:none; margin:34px 0 36px; padding:0;border:0;
  color:#f4f0e7;font:var(--ek-fw-heading) var(--ek-fs-h2)/var(--ek-lh-heading) var(--ek-font-display)!important;
  letter-spacing:normal;text-wrap:pretty;
}
body.ek-integrated .ek-review-card.review .review-author {display:flex;align-items:center;justify-content:space-between;gap:20px;margin:0;padding:0 0 28px;font-size:var(--ek-fs-meta);color:#bdb9b4}
body.ek-integrated .review-author,
body.ek-integrated .review-author>*,
body.ek-integrated .review-author span{min-width:0;max-width:100%;white-space:normal;overflow-wrap:anywhere}
body.ek-integrated .ek-review-card.review .review-author strong {font-weight:var(--ek-fw-body);color:#f4f0e7}
body.ek-integrated .ek-review-card.review .review-author-profession {display:block;margin-top:4px;font-size:var(--ek-fs-meta);color:#bdb9b4}
body.ek-integrated .ek-review-card.review :is(.review-more,.ek-exp-more) {margin:18px 0 0;padding:0;border-top:1px solid #ffffff2e}
body.ek-integrated .ek-review-card.review :is(.review-more,.ek-exp-more)>summary {
  display:flex;align-items:center;justify-content:space-between;gap:16px;
  min-height:48px;margin:0;padding:20px 0 0;border:0;list-style:none;cursor:pointer;
  color:#f4f0e7;font:var(--ek-fw-body) calc(var(--ek-fs-ui) - .0625rem)/var(--ek-lh-compact) var(--ek-font-body);letter-spacing:normal;text-transform:none;
}
body.ek-integrated .ek-review-card.review summary::-webkit-details-marker {display:none}
body.ek-integrated .ek-review-card.review .review-more summary::after {display:none}
body.ek-integrated .ek-review-card.review summary i {font-style:normal;font-size:var(--ek-fs-ui);}
body.ek-integrated .ek-review-card.review summary:focus-visible {outline:2px solid var(--ek-coral);outline-offset:5px}
body.ek-integrated .ek-review-card.review :is(.review-expanded,.ek-exp-body) {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px;margin:24px 0 0;padding:24px 0 0;border-top:1px solid #ffffff24;color:#dad6d1}
body.ek-integrated .ek-review-card.review :is(.review-expanded,.ek-exp-body) p {color:#dad6d1!important;line-height:var(--ek-lh-body);font-size:var(--ek-fs-body)!important;margin:0 0 12px}
body.ek-integrated .ek-review-card.review :is(.review-kicker,.ek-exp-label) {font:var(--ek-fw-body) var(--ek-fs-meta)/var(--ek-lh-compact) var(--ek-font-body)!important;letter-spacing:var(--ek-ls-meta);text-transform:uppercase;color:#b4b0ab!important;margin-bottom:10px}
body.ek-integrated .ek-review-card.review :is(.owner-response,.ek-exp-reply) {margin:0;padding:0 0 0 24px;border:0;border-left:1px solid #ffffff26;border-radius:0;background:none}
body.ek-integrated .ek-review-card.review .ek-exp-full {margin:0}
body.ek-integrated .ek-review-card.review :is(.review-expanded>a,.ek-exp-link) {grid-column:1/-1;width:fit-content;max-width:100%;margin:0;color:#d6dacd;font-size:var(--ek-fs-meta);text-decoration:underline;text-underline-offset:4px;border:0;overflow-wrap:anywhere}
body.ek-integrated .ek-review-card.review .ek-review-actions {display:flex;justify-content:flex-end;margin:-2px 0 0}
body.ek-integrated .ek-review-card.review .ek-review-share {display:inline-flex;align-items:center;gap:7px;min-height:34px;padding:3px 0;border:0;border-bottom:1px solid #ffffff33;background:transparent;color:#d6dacd;font:var(--ek-fw-action) var(--ek-fs-ui)/var(--ek-lh-compact) var(--ek-font-body);cursor:pointer}
body.ek-integrated .ek-review-card.review .ek-review-share:hover {color:#fff;border-color:var(--ek-coral)}
body.ek-integrated .ek-review-card.review .ek-review-share:focus-visible {outline:2px solid var(--ek-coral);outline-offset:4px}
body.ek-integrated .home-experience .ek-reviews-track {justify-items:center}
@media(max-width:640px) {
  body.ek-integrated .ek-review-card.review {padding:28px 24px!important;border-radius:24px!important;margin-block:24px}
  body.ek-integrated .ek-review-card.review blockquote {font-size:var(--ek-fs-h2)!important;line-height:var(--ek-lh-body)!important;margin:28px 0}
  body.ek-integrated .ek-review-card.review .review-top {gap:12px;font-size:var(--ek-fs-meta);letter-spacing:normal;}
  body.ek-integrated .ek-review-card.review .review-top>span:first-child::before {width:16px}
  body.ek-integrated .ek-review-card.review .stars {font-size:0.8125rem;}
  body.ek-integrated .ek-review-card.review .review-author {align-items:flex-start;flex-direction:column;gap:12px;padding-bottom:16px}
  body.ek-integrated .ek-review-card.review :is(.review-expanded,.ek-exp-body) {grid-template-columns:1fr;gap:20px}
  body.ek-integrated .ek-review-card.review :is(.owner-response,.ek-exp-reply) {padding:20px 0 0;border-left:0;border-top:1px solid #ffffff26}
}
/* Preserve carousel and filter visibility. */
body.ek-integrated .ek-review-card.review[hidden],body.ek-integrated .ek-review-card.review.ek-review-hidden {display:none!important}

/* ======================================================================
   ATO-474 · «En sus palabras»: la banda oscura desaparece
   ----------------------------------------------------------------------
   La reseña usaba un borde claro sobre una superficie muy oscura dentro de
   una banda clara, y esa línea brillante junto al disparador «Leer reseña y
   respuesta» se leía como una sombra anómala. Ahora el borde acompaña a la
   superficie y el bloque respira respecto a la navegación sticky.
   El carrusel, los textos y la interacción no cambian.
   ====================================================================== */
body.ek-integrated .home-experience .ek-review-card.review{border:1px solid rgba(244,240,231,.10)!important}
body.ek-integrated .home-experience .ek-review-card.review::before{background:
  radial-gradient(120% 85% at 84% -12%, rgba(244,240,231,.05), transparent 60%),
  linear-gradient(158deg,#36322d 0%,#2b2722 52%,#18211d 100%)}
body.ek-integrated .home-experience .ek-review-card.review :is(.review-more,.ek-exp-more){border-top:1px solid rgba(244,240,231,.18)}
body.ek-integrated .home-experience .ek-review-card.review :is(.review-more,.ek-exp-more)>summary{color:#e7e9e0}
/* El bloque no se solapa con la barra de navegación: se le deja aire. */
body.ek-integrated .home-experience{padding-bottom:clamp(18px,2.4vw,32px)}
body.ek-integrated .home-experience .ek-review-card.review{scroll-margin-top:132px}

/* ======================================================================
   ATO-360 · Segunda ronda visual final
   R1  «En sus palabras»: la banda pálida y el degradado turbio desaparecen.
       La tarjeta de reseña es grafito de borde nítido, sin resplandor ni
       gradiente exterior, bajo la cabecera y sobre crema. El carrusel, el
       compartir y el copy aprobado no cambian.
   R5  /resenas/: cabecera editorial amplia con más aire superior, título
       protagonista y «Compartir» más abajo con su propia jerarquía.
   R13 Sin huerdas naranja sobre superficies oscuras.
   ====================================================================== */
body.ek-integrated .home-experience{
  --ek-surface:var(--ek-paper);
  background:transparent;
  border-radius:0;
  padding:clamp(46px,5.5vw,84px) 0 clamp(52px,6vw,96px);
  margin-block:clamp(18px,2.6vw,40px);
  border-bottom:0;
}
body.ek-integrated .home-experience .ek-review-card.review{
  background:#2b2722!important;
  border:1px solid rgba(244,240,231,.13)!important;
  box-shadow:none!important;
  backdrop-filter:none!important;
  -webkit-backdrop-filter:none!important;
}
body.ek-integrated .home-experience .ek-review-card.review::before{content:none!important;background:none!important}
body.ek-integrated .home-experience .ek-review-card.review :is(.review-more,.ek-exp-more){border-top-color:rgba(244,240,231,.14)}
body.ek-integrated .home-experience .ek-review-card.review .ek-review-share:hover{color:#fff;border-color:#f4f0e7}
body.ek-integrated .home-experience .ek-review-card.review :is(.review-more,.ek-exp-more)>summary:focus-visible,
body.ek-integrated .home-experience .ek-review-card.review .ek-review-share:focus-visible{outline-color:#f4f0e7}
@media(max-width:640px){
  body.ek-integrated .home-experience{padding:clamp(38px,9vw,60px) 0 clamp(44px,11vw,72px);margin-inline:0}
}
/* R5 · La cabecera de /resenas/ respira arriba y el título manda. */
body.ek-reviews-page main.ek-catalogue-page{
  --ek-catalogue-title:clamp(54px,7vw,92px);
  --ek-catalogue-top:clamp(50px,7vw,108px);
  --ek-catalogue-bottom:clamp(38px,4.5vw,64px);
}
body.ek-reviews-page .ek-catalogue-hero>h1{max-width:15ch;margin:clamp(18px,2.2vw,30px) 0}
body.ek-reviews-page .ek-catalogue-hero>.ek-page-actions{margin-top:clamp(28px,3.2vw,46px)}
body.ek-reviews-page .ek-catalogue-hero>.ek-page-actions .share-trigger{color:var(--ek-ink)}


/* Final review 28/10/2026 · Home testimonials carousel. The archive's home.css
   is not loaded by the integrated shell; controls live with the review component. */
body.ek-integrated .home-experience .ek-reviews{
 width:min(860px,100%);margin-inline:auto;min-width:0;
}
body.ek-integrated .home-experience .ek-reviews-track{
 display:grid;grid-template-columns:minmax(0,1fr);align-items:start;min-width:0;touch-action:pan-y pinch-zoom;
}
body.ek-integrated .home-experience .ek-reviews-track>.ek-review-card.review{
 grid-area:1/1;width:100%;margin:0 auto;
}
body.ek-integrated .home-experience .ek-reviews-nav{
 display:grid;grid-template-columns:minmax(105px,1fr) auto minmax(105px,1fr);
 align-items:center;gap:clamp(10px,2vw,24px);
 width:100%;margin:20px auto 0;padding:15px 0 0;
 border-top:1px solid var(--ek-line);
}
body.ek-integrated .home-experience .ek-reviews-nav[hidden]{display:none!important}
body.ek-integrated .home-experience :is(.ek-reviews-previous,.ek-reviews-next){
 appearance:none;display:inline-flex;align-items:center;justify-content:center;
 min-height:44px;max-width:170px;padding:10px 16px;
 border:1px solid #3c383340;border-radius:999px;
 background:#e8e9e1;color:var(--ek-ink);font:var(--ek-fw-action) var(--ek-fs-ui)/1.3 var(--ek-font-body);
 cursor:pointer;white-space:nowrap;
}
body.ek-integrated .home-experience .ek-reviews-previous{justify-self:start}
body.ek-integrated .home-experience .ek-reviews-next{justify-self:end}
body.ek-integrated .home-experience :is(.ek-reviews-previous,.ek-reviews-next):hover{
 background:#e1ddd8;border-color:#3c383370;
}
body.ek-integrated .home-experience .ek-reviews-nav-center{
 display:flex;flex-direction:column;align-items:center;gap:8px;min-width:0;
}
body.ek-integrated .home-experience .ek-reviews-progress{
 color:var(--ek-ink);font:var(--ek-fw-action) var(--ek-fs-ui)/1.3 var(--ek-font-body);
 font-variant-numeric:tabular-nums;
}
body.ek-integrated .home-experience .ek-reviews-dots{
 display:flex;align-items:center;justify-content:center;gap:0;flex-wrap:wrap;
}
body.ek-integrated .home-experience .ek-reviews-dot{
 appearance:none;display:grid;place-items:center;flex:0 0 24px;width:24px;height:24px;min-width:24px;min-height:24px;padding:0;
 border:0;border-radius:50%;background:transparent;cursor:pointer;
}
body.ek-integrated .home-experience .ek-reviews-dot::before{
 content:"";width:9px;height:9px;border-radius:50%;background:#aeaaa5;
 transition:transform .15s ease,background-color .15s ease;
}
body.ek-integrated .home-experience .ek-reviews-dot[aria-current="true"]::before{
 background:#9c4a39;transform:scale(1.45);
}
body.ek-integrated .home-experience .ek-reviews-nav :is(button):focus-visible{
 outline:2px solid var(--ek-ink);outline-offset:3px;
}
body.ek-integrated .home-experience .review-more[open] .review-expanded{
 max-height:min(55vh,440px);overflow-y:auto;overscroll-behavior:contain;
 padding-right:clamp(8px,1vw,14px);scrollbar-width:thin;
}
body.ek-integrated .home-experience .review-expanded:focus-visible{
 outline:2px solid #f4f0e7;outline-offset:-2px;
}
body.ek-integrated .home-experience>.home-text-link{
 display:block;width:max-content;max-width:100%;margin:22px auto 0;text-align:center;
}
@media(max-width:700px){
 body.ek-integrated .home-experience .ek-reviews-nav{
  grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 14px;
 }
 body.ek-integrated .home-experience .ek-reviews-nav-center{grid-column:1/-1;grid-row:1}
 body.ek-integrated .home-experience .ek-reviews-previous{grid-column:1;grid-row:2}
 body.ek-integrated .home-experience .ek-reviews-next{grid-column:2;grid-row:2}
 body.ek-integrated .home-experience :is(.ek-reviews-previous,.ek-reviews-next){width:100%;max-width:none}
}
@media(max-width:650px){
 body.ek-integrated .ek-reviews-nav>.ek-reviews-previous,
 body.ek-integrated .ek-reviews-nav>.ek-reviews-next{display:none}
 body.ek-integrated .home-experience .ek-reviews-nav{grid-template-columns:1fr}
}
/* Shared conversation hierarchy for all inline reviews: the original testimonial
   leads; the owner reply is nested, quieter and visually connected.
   Preserve the source, disclosure and sharing behavior. */
body.ek-integrated .ek-review-card.review{
 --ek-review-thread-full-size:1rem;
 --ek-review-thread-reply-size:.9375rem;
 --ek-review-thread-label-size:.6875rem;
}
body.ek-integrated .ek-review-card.review .review-expanded{
 display:flex;flex-direction:column;align-items:stretch;gap:16px;
}
body.ek-integrated .ek-review-card.review .review-expanded>div:first-child{
 min-width:0;max-width:66ch;
}
body.ek-integrated .ek-review-card.review .review-expanded .review-kicker{
 font:500 var(--ek-review-thread-label-size)/1.35 var(--ek-font-body)!important;
 letter-spacing:.03em!important;text-transform:none!important;
 color:#cac6c1!important;margin:0 0 8px!important;
}
body.ek-integrated .ek-review-card.review .review-expanded>div:first-child>p:not(.review-kicker){
 font-size:var(--ek-review-thread-full-size)!important;line-height:1.6!important;
 color:#edf0e8!important;margin:0;
}
body.ek-integrated .ek-review-card.review .review-expanded>.owner-response{
 position:relative;box-sizing:border-box;align-self:flex-start;min-width:0;
 width:calc(100% - clamp(14px,3vw,30px));max-width:66ch;
 margin:0 0 0 clamp(14px,3vw,30px);
 padding:18px 20px;
 border:1px solid rgba(244,240,231,.10);border-radius:16px;
 background:rgba(244,240,231,.055);
}
body.ek-integrated .ek-review-card.review .review-expanded>.owner-response::before{
 content:"";position:absolute;left:-18px;top:22px;width:11px;height:13px;
 border-left:1px solid rgba(244,240,231,.45);
 border-bottom:1px solid rgba(244,240,231,.45);border-bottom-left-radius:6px;
}
body.ek-integrated .ek-review-card.review .review-expanded>.owner-response>p:not(.review-kicker){
 font-size:var(--ek-review-thread-reply-size)!important;line-height:1.6!important;
 color:#d7d3ce!important;margin:0;
}
body.ek-integrated .ek-review-card.review .review-expanded>a{
 align-self:flex-start;margin-top:2px;
}
@media(max-width:640px){
 body.ek-integrated .ek-review-card.review{
  --ek-review-thread-full-size:.9375rem;
  --ek-review-thread-reply-size:.875rem;
 }
 body.ek-integrated .ek-review-card.review .review-expanded{gap:14px}
 body.ek-integrated .ek-review-card.review .review-expanded>.owner-response{
  width:calc(100% - 12px);margin-left:12px;padding:16px;
 }
 body.ek-integrated .ek-review-card.review .review-expanded>.owner-response::before{
  left:-13px;top:20px;width:7px;height:12px;
 }
}

/* /resenas/ uses the archived catalogue anatomy, not the inline <aside> card.
   Apply the same editorial hierarchy while preserving all 46 records, filters,
   disclosures, sources and share actions. No text is rewritten here. */
body.ek-integrated.ek-reviews-page main.ek-originals .ek-reviews-list .ek-review-entry .ek-exp-body{
  display:flex;flex-direction:column;align-items:stretch;gap:16px;
  min-width:0;margin-top:22px;padding-top:24px;
}
body.ek-integrated.ek-reviews-page main.ek-originals .ek-reviews-list .ek-review-entry .ek-exp-full{
  min-width:0;max-width:66ch;
}
body.ek-integrated.ek-reviews-page main.ek-originals .ek-reviews-list .ek-review-entry .ek-exp-label{
  font:500 .6875rem/1.35 var(--ek-font-body)!important;
  letter-spacing:.03em!important;text-transform:none!important;
  color:#6a6661!important;margin:0 0 8px!important;
}
body.ek-integrated.ek-reviews-page main.ek-originals .ek-reviews-list .ek-review-entry .ek-exp-full>p:not(.ek-exp-label){
  font-size:1rem!important;line-height:1.6!important;
  color:var(--ek-ink,#3c3833)!important;margin:0!important;
}
body.ek-integrated.ek-reviews-page main.ek-originals .ek-reviews-list .ek-review-entry .ek-exp-reply{
  position:relative;box-sizing:border-box;align-self:flex-start;
  min-width:0;width:calc(100% - clamp(14px,3vw,30px));max-width:66ch;
  margin:0 0 0 clamp(14px,3vw,30px);padding:18px 20px;
  border:1px solid rgba(60, 56, 51,.12);border-radius:16px;
  background:rgba(60, 56, 51,.045);
}
body.ek-integrated.ek-reviews-page main.ek-originals .ek-reviews-list .ek-review-entry .ek-exp-reply::before{
  content:"";position:absolute;left:-18px;top:22px;width:11px;height:13px;
  border-left:1px solid rgba(60, 56, 51,.3);border-bottom:1px solid rgba(60, 56, 51,.3);
  border-bottom-left-radius:6px;
}
body.ek-integrated.ek-reviews-page main.ek-originals .ek-reviews-list .ek-review-entry .ek-exp-reply>p:not(.ek-exp-label){
  font-size:.9375rem!important;line-height:1.6!important;
  color:#5a5651!important;margin:0!important;
}
body.ek-integrated.ek-reviews-page main.ek-originals .ek-reviews-list .ek-review-entry .ek-exp-link{
  align-self:flex-start;max-width:100%;overflow-wrap:anywhere;margin-top:2px;
}
@media(max-width:640px){
  body.ek-integrated.ek-reviews-page main.ek-originals .ek-reviews-list .ek-review-entry .ek-exp-body{gap:14px}
  body.ek-integrated.ek-reviews-page main.ek-originals .ek-reviews-list .ek-review-entry .ek-exp-full>p:not(.ek-exp-label){font-size:.9375rem!important}
  body.ek-integrated.ek-reviews-page main.ek-originals .ek-reviews-list .ek-review-entry .ek-exp-reply{
    width:calc(100% - 12px);margin-left:12px;padding:16px;
  }
  body.ek-integrated.ek-reviews-page main.ek-originals .ek-reviews-list .ek-review-entry .ek-exp-reply::before{
    left:-13px;top:20px;width:7px;height:12px;
  }
  body.ek-integrated.ek-reviews-page main.ek-originals .ek-reviews-list .ek-review-entry .ek-exp-reply>p:not(.ek-exp-label){font-size:.875rem!important}
}
@media(prefers-reduced-motion:reduce){
 body.ek-integrated .home-experience .ek-reviews-dot::before{transition:none}
}

/* ATO-539 share sheet: quiet introduction; hide empty technical status. */
.ek-review-export-intro{margin:14px 24px 18px;color:var(--ek-muted);font-family:var(--ek-font-body);font-size:var(--ek-fs-body);line-height:var(--ek-lh-body)}
.ek-review-export-status[hidden]{display:none!important}


/* LOTE A · P0 2026-11-07 · Sharing is ONLY an action on a review card.
   Neither inline read-more content nor any review modal/sheet may expose it.
   This shared component rule applies to Home, /resenas/ and service reviews.
   The card-level .ek-review-actions remains deliberately untouched. */
details.review-more .review-expanded :is([data-review-share],.ek-review-share,.review-share,.ek-exp-share,.review-share-lede),
details.ek-exp-more .ek-exp-body :is([data-review-share],.ek-review-share,.review-share,.ek-exp-share,.review-share-lede),
body .ek-sheet.ek-review-sheet :is([data-review-share],.ek-review-share,.review-share,.ek-exp-share,.review-share-lede),
body .ek-review-dialog :is([data-review-share],.ek-review-share,.review-share,.ek-exp-share,.review-share-lede),
body dialog[aria-label*="reseña"] :is([data-review-share],.ek-review-share,.review-share,.ek-exp-share,.review-share-lede){
  display:none!important;
}

/* Identical component and tokens on /problemas/ and /resenas/. */
main.ek-catalogue-page,main.ek-catalogue-page.ek-originals{width:min(1200px,calc(100% - 48px));max-width:none;margin:0 auto;padding:0 0 64px;--ek-catalogue-ink:var(--ek-ink);--ek-catalogue-muted:var(--ek-muted);--ek-catalogue-title:clamp(48px,5.5vw,76px);--ek-catalogue-top:36px;--ek-catalogue-bottom:28px}
.ek-catalogue-page .catalog-intro.ek-catalogue-hero{display:block;box-sizing:border-box;position:relative;width:100%;max-width:none;min-height:0;margin:0;padding:var(--ek-catalogue-top) 0 var(--ek-catalogue-bottom);border:0;border-radius:0;background:transparent;color:var(--ek-catalogue-ink)}
.ek-catalogue-page .ek-catalogue-hero>.eyebrow{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);color:var(--ek-catalogue-muted)}
.ek-catalogue-page .ek-catalogue-hero>.eyebrow:before{display:none}
.ek-catalogue-page .ek-catalogue-hero>h1{display:block;max-width:18ch;margin:18px 0;font:400 var(--ek-catalogue-title)/1.04 "Ekonatura Onest",system-ui,sans-serif;letter-spacing:var(--ek-ls-heading);color:var(--ek-catalogue-ink)}
.ek-catalogue-page .ek-catalogue-hero>h1 span{font:inherit;color:inherit}
.ek-catalogue-page .ek-catalogue-lead,.ek-catalogue-page .ek-catalogue-lead :is(.ek-introduction,.catalog-intro-copy){display:block;width:100%;max-width:70ch;margin:0;padding:0;background:transparent;border:0;border-radius:0}
.ek-catalogue-page .ek-catalogue-lead p{margin:0;color:var(--ek-catalogue-ink);font:var(--ek-fw-body) var(--ek-fs-body)/var(--ek-lh-body) var(--ek-font-body);}
.ek-catalogue-page .ek-catalogue-lead p+p{margin-top:var(--ek-space-text)}
.ek-catalogue-page .ek-catalogue-hero>.ek-page-actions{display:flex;margin:18px 0 0;padding:0;border:0}
.ek-catalogue-page .ek-catalogue-hero .share-trigger{color:var(--ek-catalogue-ink)}
.ek-catalogue-page .ek-problem-discovery,.ek-catalogue-page .ek-reviews-tools{width:100%;max-width:none}
/* Page actions also work beside the restored service hero copy. */
.ek-page-actions .share-trigger{display:inline-flex;align-items:center;gap:8px;min-height:44px;padding:8px 0;font:var(--ek-fw-action) var(--ek-fs-ui)/var(--ek-lh-compact) var(--ek-font-body);cursor:pointer}
.ek-page-actions .share-trigger svg{width:18px;height:18px;flex:none}
.ph-card>.ek-page-actions{margin-top:18px}
.ek-restored-hero .ek-page-actions .share-trigger,.home .ek-page-actions .share-trigger{color:#ffffffe6;border-color:#ffffff59}
/* Reviews remain an editorial reading page, with no photographic card surface. */
main.ek-editorial-reviews .ek-reviews-list{display:block;width:min(920px,100%);max-width:none;margin:0 auto;background:transparent}
main.ek-editorial-reviews .ek-reviews-list>.ek-review-entry{display:block;position:relative;width:100%;max-width:760px;margin:0 auto;padding:clamp(36px,5vw,64px) 0;border:0;border-top:1px solid var(--ek-line);border-radius:0;background:transparent;box-shadow:none;color:var(--ek-catalogue-ink)}
main.ek-editorial-reviews .ek-reviews-list>.ek-review-entry:first-child{border-top:0;padding-top:6px}
main.ek-editorial-reviews .ek-reviews-list>.ek-review-entry:before,main.ek-editorial-reviews .ek-reviews-list>.ek-review-entry:after{display:none}
main.ek-editorial-reviews .ek-reviews-list>.ek-review-entry>h2{margin:0;font:var(--ek-fw-heading) var(--ek-fs-h2)/var(--ek-lh-heading) var(--ek-font-display);letter-spacing:var(--ek-ls-heading);}
main.ek-editorial-reviews .ek-reviews-list .ek-exp-quote{width:100%;max-width:100%;margin:24px auto 0;text-align:left;font:var(--ek-fw-heading) var(--ek-fs-h3)/var(--ek-lh-heading) var(--ek-font-display);letter-spacing:normal;color:var(--ek-catalogue-ink);text-wrap:pretty}
main.ek-editorial-reviews .ek-reviews-list .ek-exp-meta{margin-top:24px}
@media(max-width:640px){
 main.ek-catalogue-page,main.ek-catalogue-page.ek-originals{width:calc(100% - 32px);--ek-catalogue-title:clamp(40px,11vw,58px);--ek-catalogue-top:28px;--ek-catalogue-bottom:24px}
 .ek-catalogue-page .ek-catalogue-hero>h1{margin:16px 0}
 .ek-catalogue-page .ek-catalogue-lead p{font-size:var(--ek-fs-body);line-height:var(--ek-lh-body);}
 main.ek-editorial-reviews .ek-reviews-list .ek-exp-quote{max-width:100%}
}

/* Revision editorial: 27/10/2026. */
body.ek-unified .ek-footer{margin-bottom:0!important;border-radius:30px 30px 0 0!important;padding-top:clamp(20px,3vw,45px)!important}
body.ek-unified:has(main.ek-problem-hub) .ek-footer{border-radius:30px 30px 0 0!important}
body.ek-unified .ek-footer-shell{padding-bottom:0!important}
@media(max-width:650px){body.ek-unified .ek-footer{margin:45px 0 0!important;border-radius:24px 24px 0 0!important}}
.ek-header .ek-explore[open]{z-index:120;isolation:isolate}
.ek-header .ek-explore>nav{z-index:121!important;pointer-events:auto!important}
.ek-header .ek-explore>nav>a{z-index:122!important;position:relative;pointer-events:auto!important;min-height:44px}
body.ek-integrated .ek-section-index a,body.ek-integrated .ek-section-index a:hover,body.ek-integrated .ek-problem-index a,body.ek-integrated .ek-problem-index a:hover{border-color:transparent!important;box-shadow:none!important}
body.ek-integrated .ek-section-index a:hover{background:#e8e9df!important}
body.ek-integrated .ek-section-index a:focus-visible{outline:2px solid #3c3833!important;outline-offset:3px}
.ek-integrated .home-flow .home-work-main>h2,.ek-integrated .home-flow .home-work-main>h2.is-stuck{background-image:none!important;mask-image:none!important;-webkit-mask-image:none!important}
.ek-integrated .home-flow .home-work-main>h2.is-stuck,.ek-integrated .ek-section>h2.is-stuck{font-size:var(--ek-fs-h2)!important;padding:14px 16px!important;background:#f4f0e7!important;border-bottom:1px solid #3c38331f}
.ek-integrated .home-flow .home-work-main>h2.is-stuck:after{display:none!important}
.ek-page-share{padding:clamp(25px,3vw,36px)!important;border:0!important;box-shadow:none!important}
/* ATO-366 · Las tres redes comparten una sola fila de tres columnas. */
.ek-page-share-links{padding-top:18px!important;margin-top:22px!important;gap:10px!important;grid-template-columns:repeat(3,minmax(0,1fr))!important}
.ek-page-share-links a{padding:12px 8px!important;min-height:76px!important}
.ek-page-share-status:empty{min-height:0;margin:0}
main.ek-showcase-page{width:100%!important;max-width:none!important;margin:0!important;padding:0 0 64px!important}
main.ek-showcase-page>.ek-showcase-hero{width:100%;max-width:none;min-height:clamp(700px,84svh,960px);margin:0 0 clamp(44px,6vw,86px);padding-top:var(--ek-header-h,100px);--ph-overlay:rgba(17,29,26,.27)}
/* Showcase cards inherit the shared hero glass, width and inset. Equal
   minimum height aligns their top edge despite different amounts of copy. */
main.ek-showcase-page>.ek-showcase-hero .ph-card{min-height:430px;color:#fff}
/* Reviews only: this short introduction needs its own natural card height. */
body.ek-reviews-page main.ek-showcase-page>.ek-showcase-hero .ph-card{min-height:0}
main.ek-showcase-page>.ek-showcase-hero .ph-card h1{font:var(--ek-fw-heading) var(--ek-fs-h1)/var(--ek-lh-heading) var(--ek-font-display);color:#fff;letter-spacing:var(--ek-ls-heading);max-width:17ch;margin:20px 0}
main.ek-showcase-page>.ek-showcase-hero .ph-card .eyebrow{font-size:var(--ek-fs-meta);letter-spacing:var(--ek-ls-meta);color:#f2ede4}
main.ek-showcase-page>.ek-showcase-hero .ph-card p,main.ek-showcase-page>.ek-showcase-hero .ph-card .ek-introduction{color:#f5f1e9!important;background:none!important;border:0!important;line-height:var(--ek-lh-body);}
main.ek-showcase-page>.ek-showcase-hero .ph-card .ek-page-actions{margin-top:22px}
main.ek-showcase-page>.ek-showcase-hero .ph-card .share-trigger{color:#fff!important}
main.ek-showcase-page>.ek-showcase-hero .ph-stage img{object-position:50% 45%}
body.ek-reviews-page main.ek-showcase-page>.ek-reviews-tools{width:min(1100px,calc(100% - 64px));margin-inline:auto;padding-top:28px;border-top:1px solid var(--ek-line)}
body.ek-reviews-page main.ek-showcase-page>.ek-reviews-list{width:min(880px,calc(100% - 64px));margin-inline:auto}
body.ek-questions main.ek-showcase-page>.ek-document{width:min(1100px,calc(100% - 64px));margin-inline:auto}
main.ek-editorial-reviews .ek-exp-action-row{display:flex;justify-content:flex-end;margin:16px 0 24px}
main.ek-editorial-reviews .ek-exp-share{display:inline-flex;gap:9px;align-items:center;min-height:42px;padding:9px 17px;border:0;border-radius:999px;background:#e8e9e1;color:#3c3833;font:var(--ek-fw-action) var(--ek-fs-ui)/var(--ek-lh-compact) var(--ek-font-body);cursor:pointer}
main.ek-editorial-reviews .ek-exp-share svg{width:18px;height:18px;flex:none}
main.ek-editorial-reviews .ek-exp-share:hover{background:#e1ddd8;color:#3c3833}
main.ek-editorial-reviews .ek-exp-share:focus-visible{outline:2px solid #3c3833;outline-offset:3px}
main.ek-editorial-reviews .ek-exp-meta{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.ek-integrated .goal-paths>a{display:flex!important;align-items:center!important;justify-content:flex-start!important;gap:12px!important}
.ek-integrated .goal-paths>a svg{position:static!important;flex:none;margin:0!important}
.ek-integrated .goal-paths>a span{flex:0 1 auto;min-width:0}
.ek-integrated .ek-problem-index li>a{display:flex!important;flex-direction:column;min-height:220px;height:100%}
.ek-integrated .ek-problem-index li>a>:last-child{margin-top:auto}
body.problem-index .ek-restored-hero--problem:not(.ek-restored-hero--detail) .ph-stage img{object-position:37% 42%!important}
.ek-about-journey{margin:clamp(55px,7vw,95px) 0;padding:clamp(32px,4vw,62px) 0;border-block:1px solid var(--ek-line)}
.ek-about-journey h2{margin:18px 0 34px;font-size:var(--ek-fs-h2);}
.ek-about-path{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px}
.ek-about-path>div{display:flex;flex-direction:column;gap:12px;padding:10px 0 24px;border-bottom:1px solid var(--ek-line)}
.ek-about-path span{letter-spacing:normal;text-transform:uppercase;font-size:var(--ek-fs-meta);}
.ek-about-path strong{font:var(--ek-fw-heading) var(--ek-fs-h3)/var(--ek-lh-heading) var(--ek-font-heading);}
.ek-about-journey>p:last-child{margin-top:28px;max-width:60ch}
@media(max-width:650px){
 main.ek-showcase-page>.ek-showcase-hero{min-height:max(800px,100svh)!important;padding-top:var(--ek-header-h,82px)}
 main.ek-showcase-page>.ek-showcase-hero .ph-card{min-height:0}
 main.ek-showcase-page>.ek-showcase-hero .ph-card h1{font-size:var(--ek-fs-h1);}
 body.ek-reviews-page main.ek-showcase-page>.ek-reviews-tools,body.ek-reviews-page main.ek-showcase-page>.ek-reviews-list,body.ek-questions main.ek-showcase-page>.ek-document{width:calc(100% - 36px)}
 main.ek-editorial-reviews .ek-exp-action-row{justify-content:flex-start}
 .ek-about-path{grid-template-columns:1fr}
}
@media(prefers-reduced-motion:reduce){.ek-showcase-hero *,main .ek-exp-share{transition:none!important}}

/* Sobre mí: three editorial focusses; all six original chapters remain accessible. */
.ek-about-curated{margin:clamp(65px,7vw,120px) 0;max-width:1040px}
.ek-about-curated>h2{margin:16px 0 36px;max-width:25ch;font:var(--ek-fw-heading) var(--ek-fs-h2)/var(--ek-lh-heading) var(--ek-font-heading);}
.ek-about-focus-grid,.ek-about-learning-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(18px,2.5vw,35px)}
.ek-about-focus-card{padding:23px 0;border-top:1px solid var(--ek-line);min-width:0}
.ek-about-focus-num{font:var(--ek-fw-body) var(--ek-fs-meta)/var(--ek-lh-compact) var(--ek-font-body);letter-spacing:normal;color:var(--ek-muted)}
.ek-about-focus-card h3{margin:18px 0 15px;font:var(--ek-fw-heading) var(--ek-fs-h3)/var(--ek-lh-heading) var(--ek-font-heading);}
.ek-about-focus-card p{font-size:var(--ek-fs-body);line-height:var(--ek-lh-body);max-width:40ch}
.ek-about-learning{margin:clamp(55px,7vw,100px) 0}
.ek-about-learning h2{font:var(--ek-fw-heading) var(--ek-fs-h2)/var(--ek-lh-heading) var(--ek-font-heading);margin:16px 0 28px}
.ek-about-learning-list span{display:block;border-top:1px solid var(--ek-line);padding:17px 0;font-size:var(--ek-fs-body);line-height:var(--ek-lh-body);}
.ek-about-chapters{margin:60px 0 80px;border-top:1px solid var(--ek-line);border-bottom:1px solid var(--ek-line)}
.ek-about-chapters>summary{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:25px 0;cursor:pointer;font-weight:var(--ek-fw-action);list-style:none}
.ek-about-chapters[open]>summary span{transform:rotate(45deg)}
.ek-about-chapters-body{padding:20px 0 40px}
.ek-about-chapters :is(summary,a):focus-visible{outline:2px solid #3c3833;outline-offset:3px}
@media(max-width:700px){.ek-about-focus-grid,.ek-about-learning-list{grid-template-columns:1fr}.ek-about-focus-card{padding-block:18px}.ek-about-curated>h2{margin-bottom:28px}}


/* 27/10/2026 · Last review, applied to the shared design system.
   Photographs stay as shot; glass is limited to text panels. */
.ek-unified :is(.ek-restored-hero,.ek-hub-hero,.ek-showcase-hero) .ph-stage img,
.ek-unified :is(.ek-ed-card,.related a) img,
.ek-unified :is(.ek-ed-card,.related a):hover img{
  filter:none!important;opacity:1!important;
}
/* The photograph keeps its light: no global veil. ATO-366 · I1 adds one
   LOCAL band under the header, so the 12px white links of the menu reach
   the WCAG 4.5:1 ratio on the real picture. The band fades out before the
   middle of the frame and the crop is untouched. */
.ek-unified :is(.ek-restored-hero,.ek-hub-hero,.ek-showcase-hero) .ph-overlay{
  background-color:transparent!important;
  background-image:linear-gradient(180deg,rgba(9,15,19,.62) 0,rgba(9,15,19,.54) 96px,rgba(9,15,19,.18) 180px,rgba(9,15,19,0) 260px)!important;
  background-repeat:no-repeat!important;
  background-size:100% 260px!important;
  backdrop-filter:none!important;-webkit-backdrop-filter:none!important;
}
.ek-unified .ek-ed-card:before{opacity:0!important}
.ek-unified .ek-ed-card-glass{background:none!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important}
.ek-unified .ek-ed-card-body{background:rgba(42, 38, 33,.84)!important;border:0!important}
.ek-unified .related>ul>li>a,
.ek-unified .related>ul>li>a:is(:hover,:active){border:0!important;box-shadow:none!important}
.ek-unified .related>ul>li>a:focus-visible{outline:2px solid #918d88!important;outline-offset:4px}
.ek-unified .related-image img{filter:none!important}
/* All PHOTO hero cards: same serif as Problemas que trato, sans for body. */
.ek-unified .ek-restored-hero .ph-card h1,
.ek-unified .ek-restored-hero .ph-card .ph-title,
.ek-unified .ek-showcase-hero .ph-card h1,
.ek-unified .ek-hub-hero .ph-card--hub h1{
  font-family:var(--ek-font-heading)!important;font-weight:var(--ek-fw-heading)!important;
  font-style:normal;line-height:var(--ek-lh-heading)!important;letter-spacing:var(--ek-ls-heading);
}
.ek-unified .ek-showcase-hero .ph-card h1{font-size:var(--ek-fs-h1)!important;}
@media(max-width:650px){
 .ek-unified .ek-showcase-hero .ph-card h1{font-size:var(--ek-fs-h1)!important;}
}
/* Problemas cover: breathing room, fewer text lines, face right of the panel. */
.ek-unified .ek-hub-hero .ph-card--hub{
  width:min(466px,100%)!important;background:rgba(33, 29, 24,.88);
  border:0!important;
}
.ek-unified .ek-hub-hero .ph-card--hub .ek-introduction{
  margin-top:clamp(27px,2.8vw,38px)!important;
}
.ek-unified .ek-hub-hero .ek-hub-intro-preview{
 display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3;overflow:hidden;
}
.ek-unified .ek-hub-hero .ph-card--hub:has(.ek-hub-intro-more[open]) .ek-hub-intro-preview{
 display:block;-webkit-line-clamp:unset;overflow:visible;
}
.ek-unified .ek-hub-hero .ek-hub-intro-more{margin-top:11px}
.ek-unified .ek-hub-hero .ek-hub-intro-more summary{
  display:inline-flex;align-items:center;min-height:42px;cursor:pointer;
  font-size:var(--ek-fs-ui);font-weight:var(--ek-fw-action);color:#fff;text-decoration:underline;
  text-underline-offset:5px;list-style:none;
}
.ek-unified .ek-hub-hero .ek-hub-intro-more summary::-webkit-details-marker{display:none}
.ek-unified .ek-hub-hero .ek-hub-intro-more summary:focus-visible{
  outline:2px solid #fff;outline-offset:4px;border-radius:4px;
}
.ek-unified .ek-hub-hero .ek-hub-collapse{display:none}
.ek-unified .ek-hub-hero .ek-hub-intro-more[open] .ek-hub-expand{display:none}
.ek-unified .ek-hub-hero .ek-hub-intro-more[open] .ek-hub-collapse{display:inline}
.ek-unified .ek-hub-hero .ek-hub-extra-copy{margin-top:6px}
@media(min-width:1001px){
 .ek-unified .ek-hub-hero .ph-stage img{
  object-position:32% 42%!important;transform:translateX(3%) scale(1.08);
 }
}
@media(max-width:1000px){
 .ek-unified .ek-hub-hero .ph-stage img{object-position:48% 36%!important;transform:none}
}
/* Reviews: hero full bleed; filters, search, chips and review text constrained. */
body.ek-reviews-page main.ek-showcase-page
:is(.ek-reviews-tools,.ek-reviews-filter,.ek-reviews-count,.ek-reviews-list){
  width:min(900px,calc(100% - 48px))!important;max-width:900px!important;
  margin-inline:auto!important;box-sizing:border-box;
}
body.ek-reviews-page main.ek-showcase-page .ek-reviews-filter{padding-inline:0!important}
@media(max-width:650px){
 body.ek-reviews-page main.ek-showcase-page
 :is(.ek-reviews-tools,.ek-reviews-filter,.ek-reviews-count,.ek-reviews-list){
  width:calc(100% - 36px)!important;
 }
}
/* ATO-558 review · Índices centrados en escritorio; móvil intacto. */
@media(min-width:801px){
 .ek-unified main nav.ek-section-index{
  box-sizing:border-box!important;
  width:min(760px,calc(100% - 48px))!important;
  max-width:760px!important;
  margin-inline:auto!important;
 }
}
/* Índice editorial: las dos líneas limitan exactamente la columna de
   lectura real (760px) y se centran igual que .reading.prose. */
@media(min-width:801px){
 body.ek-integrated main .page nav.ek-section-index,
 body.ek-integrated main .page--detail nav.ek-section-index,
 body.ek-integrated main .page--hub nav.ek-section-index{
  box-sizing:border-box!important;
  width:min(760px,calc(100% - 48px))!important;
  max-width:760px!important;
  margin-inline:auto!important;
  float:none!important;
 }
 body.ek-integrated main nav.ek-section-index .ek-index-disclosure{
  width:100%!important;
  max-width:none!important;
 }
}
/* Los accesos entre problemas son navegación editorial, no tarjetas CTA.
   Texto, rutas y flechas originales intactos; todos los hubs comparten forma. */
body.ek-integrated main nav.ek-problem-index .container{
 box-sizing:border-box!important;
 width:min(760px,calc(100% - 48px))!important;
 max-width:760px!important;
 margin-inline:auto!important;
}
body.ek-integrated main nav.ek-problem-index ul{
 display:grid!important;grid-template-columns:minmax(0,1fr)!important;
 gap:0!important;width:100%!important;max-width:none!important;
 margin:0!important;padding:0!important;list-style:none!important;
 border-top:1px solid var(--ek-line,#cbc6bd)!important;
 border-bottom:1px solid var(--ek-line,#cbc6bd)!important;
}
body.ek-integrated main nav.ek-problem-index li{
 display:block!important;width:100%!important;min-width:0!important;
 margin:0!important;padding:0!important;
}
body.ek-integrated main nav.ek-problem-index li>a{
 box-sizing:border-box!important;
 display:flex!important;flex-direction:row!important;
 align-items:center!important;justify-content:space-between!important;gap:16px!important;
 width:100%!important;height:auto!important;min-height:54px!important;
 padding:13px 8px!important;
 border:0!important;border-bottom:1px solid var(--ek-line,#cbc6bd)!important;
 border-radius:0!important;box-shadow:none!important;
 background:transparent!important;color:var(--ek-ink,#292d2e)!important;
 text-decoration:none!important;
 font:400 16px/1.5 var(--ek-font-body,system-ui,sans-serif)!important;
}
body.ek-integrated main nav.ek-problem-index li:last-child>a{border-bottom:0!important}
body.ek-integrated main nav.ek-problem-index li>a>span:first-child{min-width:0!important;flex:1 1 auto!important}
body.ek-integrated main nav.ek-problem-index li>a .ek-problem-index-arrow{
 margin:0 0 0 auto!important;flex:0 0 auto!important;
 font-size:19px!important;line-height:1!important;color:inherit!important;
}
body.ek-integrated main nav.ek-problem-index li>a:is(:hover,:focus-visible){
 background:rgba(150,82,62,.09)!important;
 color:var(--ek-v1-coral-dark,#96523e)!important;
}
:root[data-ek-theme="dark"] body.ek-integrated main nav.ek-problem-index li>a{
 color:#f5f1eb!important;border-color:#706b65!important;
}
:root[data-ek-theme="dark"] body.ek-integrated main nav.ek-problem-index li>a:is(:hover,:focus-visible){
 background:rgba(245,241,235,.07)!important;color:#dfa089!important;
}
@media(max-width:700px){
 body.ek-integrated main nav.ek-problem-index .container{
  width:calc(100% - 32px)!important;max-width:none!important;
 }
 body.ek-integrated main nav.ek-problem-index li>a{min-height:52px!important;padding:14px 3px!important}
}
/* F8 · Índice editorial desplegable. Un índice largo deja de ser una botonera
   permanente: se resume en una línea y despliega una lista de enlaces ligeros.
   Se conservan anclas, orden y etiquetas; solo cambia la presentación. */
.ek-unified nav.ek-section-index{
  display:block!important;margin-block:clamp(24px,3vw,40px)!important;
}
.ek-unified nav.ek-section-index .ek-index-disclosure{
  border-top:1px solid var(--ek-line)!important;
  border-bottom:1px solid var(--ek-line)!important;
}
.ek-unified nav.ek-section-index .ek-index-summary{
  display:flex!important;align-items:center!important;justify-content:space-between!important;
  gap:14px!important;min-height:52px!important;padding:12px 0!important;
  color:var(--ek-ink)!important;cursor:pointer;
  font:var(--ek-fw-action) var(--ek-fs-ui)/var(--ek-lh-compact) var(--ek-font-body)!important;
  list-style:none!important;overflow:hidden!important;
}
.ek-unified nav.ek-section-index .ek-index-summary::-webkit-details-marker{display:none!important}
/* El marcador es una caja cuadrada: al rotar 90° su contenedor no crece, así la
   fila no desborda el viewport. Sin caja cuadrada, rotar un glifo de 5px de
   ancho ensanchaba el resumen 9px y creaba scroll horizontal en móvil. */
.ek-unified nav.ek-section-index .ek-index-summary::after{
  content:"\203A";font-size:1.2em;line-height:1;color:var(--ek-muted);
  display:grid!important;place-items:center!important;flex:none!important;
  width:1.35em!important;height:1.35em!important;
  transform:rotate(90deg);transition:transform .18s ease;
}
.ek-unified nav.ek-section-index .ek-index-disclosure[open] .ek-index-summary::after{
  transform:rotate(-90deg);
}
.ek-unified nav.ek-section-index .ek-index-summary:focus-visible{
  outline:2px solid var(--ek-coral)!important;outline-offset:3px!important;
}
.ek-unified nav.ek-section-index .ek-index-list{
  list-style:none!important;margin:0!important;padding:0 0 14px!important;
  display:grid!important;gap:2px!important;
}
.ek-unified nav.ek-section-index .ek-index-list li{margin:0!important}
.ek-unified nav.ek-section-index .ek-index-list a{
  display:block!important;padding:9px 0!important;
  color:var(--ek-ink)!important;background:transparent!important;border:0!important;
  box-shadow:none!important;border-radius:0!important;
  font:var(--ek-fw-body) var(--ek-fs-body)/var(--ek-lh-body) var(--ek-font-body)!important;
  text-decoration:none!important;
}
.ek-unified nav.ek-section-index .ek-index-list a:is(:hover,:focus-visible){
  color:var(--ek-coral)!important;text-decoration:underline!important;
  text-underline-offset:4px!important;
}
.ek-unified nav.ek-section-index .ek-index-list a:focus-visible{
  outline:2px solid var(--ek-coral)!important;outline-offset:3px!important;
}
@media(max-width:650px){
 .ek-unified nav.ek-section-index .ek-index-list a{padding:10px 0!important}
}
/* Share is its own purposeful action, distinct from metadata.
   ATO-366 · The hero share trigger adopts the outline geometry of the
   «Pedir cita» CTA: thin outline, transparent fill, compact pill and a
   small linear icon. No cream block and no shadow. */
.ek-unified .ek-page-actions .share-trigger,
.ek-unified .ph-card .ek-page-actions .share-trigger{
  display:inline-flex!important;align-items:center;gap:10px;
  padding:10px 20px!important;min-height:44px!important;
  background:transparent!important;color:#3a3631!important;
  border:1px solid #3a3631!important;border-radius:99px!important;
  font:var(--ek-fw-action) var(--ek-fs-ui)/var(--ek-lh-compact) var(--ek-font-body)!important;
  box-shadow:none!important;-webkit-text-fill-color:#3a3631!important;
  opacity:1!important;text-shadow:none!important;
}
.ek-unified .ek-page-actions .share-trigger svg{
  width:16px;height:16px;flex:none;stroke-width:1.5;
}
.ek-unified .ek-page-actions .share-trigger:hover{
  background:#3a363114!important;color:#2d2924!important;
}
.ek-unified .ek-page-actions .share-trigger:focus-visible{
  outline:2px solid #3a3631!important;outline-offset:3px!important;
}
/* On a dark photographic panel the same geometry reads in ivory. */
.ek-unified .ek-restored-hero .ek-page-actions .share-trigger,
.ek-unified .ek-hub-hero .ek-page-actions .share-trigger,
.ek-unified main.ek-showcase-page>.ek-showcase-hero .ek-page-actions .share-trigger{
  color:#f7f4ec!important;border-color:#f7f4ec!important;
  -webkit-text-fill-color:#f7f4ec!important;
}
.ek-unified .ek-restored-hero .ek-page-actions .share-trigger:hover,
.ek-unified .ek-hub-hero .ek-page-actions .share-trigger:hover,
.ek-unified main.ek-showcase-page>.ek-showcase-hero .ek-page-actions .share-trigger:hover{
  background:#f7f4ec1f!important;color:#fff!important;
}
.ek-unified .ek-restored-hero .ek-page-actions .share-trigger:focus-visible,
.ek-unified .ek-hub-hero .ek-page-actions .share-trigger:focus-visible,
.ek-unified main.ek-showcase-page>.ek-showcase-hero .ek-page-actions .share-trigger:focus-visible{
  outline:2px solid #f7f4ec!important;outline-offset:3px!important;
}
main.ek-editorial-reviews .ek-exp-action-row{
 display:flex!important;justify-content:flex-start!important;
 margin:22px 0 26px!important;padding:0!important;
}
main.ek-editorial-reviews .ek-exp-share{
 background:#e8e4df!important;color:#37332e!important;
 padding:11px 20px!important;min-height:46px!important;
 font-size:var(--ek-fs-ui)!important;box-shadow:none!important;
}
main.ek-editorial-reviews .ek-exp-share:hover{
 background:#dbd7d2!important;color:#37332e!important;
}
/* Footer call to action: protected high-contrast hover and focus. */
.ek-unified .ek-footer .cta-banner__button,
.ek-unified .ek-footer .cta-banner__button:visited{
 background:#f4f0e7!important;color:#3b3732!important;
}
.ek-unified .ek-footer .cta-banner__button:is(:hover,:active,:focus-visible){
 background:#fff!important;color:#3b3732!important;
 text-shadow:none!important;opacity:1!important;
}
.ek-unified .ek-footer .cta-banner__button:focus-visible{
 outline:3px solid #fff!important;outline-offset:3px!important;
}

/* Ekonatura 28/10: final layout integration / one user-visible preview. */
/* Headings stay in-flow. A separate indicator uses the top strip. */
@media(min-width:1001px){
 body.ek-integrated .reading .ek-section:not(.ek-band):not(.help-section)>h2,
 body.ek-integrated .reading .ek-section>h2.is-stuck,
 body.ek-integrated .home-flow .home-block>h2,
 body.ek-integrated .home-flow .home-split-main>h2,
 body.ek-integrated .home-flow .home-work-main>h2{
  position:static!important;top:auto!important;z-index:auto!important;
  background:transparent!important;background-image:none!important;
  mask:none!important;-webkit-mask:none!important;
  backdrop-filter:none!important;-webkit-backdrop-filter:none!important;
  border:0!important;box-shadow:none!important;text-shadow:none!important;padding:0!important;
  font-size:var(--ek-fs-h2)!important;line-height:var(--ek-lh-heading)!important;}
 body.ek-integrated .reading .ek-section>h2::after,
 body.ek-integrated .home-flow .home-block>h2::after,
 body.ek-integrated .home-flow .home-work-main>h2::after,
 body.ek-integrated .home-flow .home-split-main>h2::after{
  content:none!important;display:none!important
 }
}
/* Full-width slim magazine-style section indicator with a 2px progress rule. */
.ek-reading-indicator{
 position:fixed;top:0;left:0;right:0;z-index:52;
 display:flex;align-items:center;gap:clamp(10px,2vw,27px);
 height:63px;padding:10px max(22px,calc((100vw - 1120px)/2));
 background:#f4f0e7;color:#3c3833;box-shadow:none;
 visibility:hidden;opacity:0;transform:translateY(-110%);
 transition:transform .2s ease,opacity .2s ease,visibility .2s
}
.ek-reading-indicator.is-visible{visibility:visible;opacity:1;transform:translateY(0)}
.ek-reading-kicker{font:var(--ek-fw-body) var(--ek-fs-meta)/var(--ek-lh-compact) var(--ek-font-body);letter-spacing:var(--ek-ls-meta);color:#78746f;white-space:normal}
.ek-reading-selector{position:relative;min-width:0}
.ek-reading-current{display:flex;align-items:center;gap:14px;max-width:min(65vw,670px);
 padding:8px 0;border:0;background:transparent;color:#3c3833;
 font:var(--ek-fw-body) var(--ek-fs-small)/var(--ek-lh-compact) var(--ek-font-body);text-align:left;cursor:pointer}
.ek-reading-label{overflow:hidden;text-overflow:ellipsis;white-space:normal}
.ek-reading-chevron{font-size:var(--ek-fs-h3);flex:none;opacity:.65}
.ek-reading-menu{position:absolute;top:100%;left:0;width:min(530px,calc(100vw - 44px));
 max-height:60vh;overflow:auto;padding:10px;background:#f4f0e7;border-radius:0 0 16px 16px;
 box-shadow:none}
.ek-reading-menu a{display:block;padding:10px 14px;color:#3c3833;text-decoration:none;
 font-size:var(--ek-fs-small);line-height:var(--ek-lh-body);border-radius:8px}
.ek-reading-menu a:is(:hover,:focus-visible){background:#e9e5e0;color:#3b3732}
.ek-reading-current:focus-visible{outline:2px solid #3c3833;outline-offset:3px}
.ek-reading-counter{font:var(--ek-fw-body) var(--ek-fs-meta)/var(--ek-lh-compact) var(--ek-font-body);margin-left:auto;white-space:normal;color:#78746f}
.ek-reading-track{position:absolute;bottom:0;left:0;right:0;height:2px;background:#3c383314}
.ek-reading-progress{display:block;width:100%;height:100%;transform:scaleX(0);
 transform-origin:left;background:#938f8a;transition:transform .1s linear}
@media(max-width:650px){
 .ek-reading-indicator{height:57px;padding-inline:16px;gap:8px}
 .ek-reading-kicker{display:none}
 .ek-reading-counter{font-size:var(--ek-fs-meta);}
 .ek-reading-current{max-width:73vw;font-size:var(--ek-fs-meta);}
}
@media(prefers-reduced-motion:reduce){.ek-reading-indicator,.ek-reading-progress{transition:none!important}}
/* Editorial navigation links: broad enough to click, not oversized cards. */
body.ek-integrated nav.ek-section-index{
 display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:10px!important
}
body.ek-integrated nav.ek-section-index>a,
body.ek-integrated nav.ek-section-index>a:is(:hover,:active),
body.ek-integrated .ek-problem-index li>a,
body.ek-integrated .ek-problem-index li>a:is(:hover,:active){
 display:flex!important;flex-direction:row!important;align-items:center!important;
 justify-content:space-between!important;gap:14px!important;
 min-height:52px!important;height:auto!important;padding:12px 19px!important;
 border:0!important;border-radius:14px!important;
 background:#3b3732!important;color:#f4f0e7!important;
 box-shadow:none!important;font:var(--ek-fw-body) var(--ek-fs-body)/var(--ek-lh-body) var(--ek-font-body)!important;
 text-decoration:none!important;overflow-wrap:anywhere
}
body.ek-integrated nav.ek-section-index>a::after{
 content:"→";font:var(--ek-fw-heading) 1.375rem/var(--ek-lh-heading) var(--ek-font-body);flex:none;margin-left:auto
}
body.ek-integrated nav.ek-section-index>a:hover,
body.ek-integrated .ek-problem-index li>a:hover{
 background:#504c47!important;color:#fff!important
}
body.ek-integrated :is(nav.ek-section-index,.ek-problem-index) a:focus-visible{
 outline:2px solid #3a3631!important;outline-offset:3px!important
}
body.ek-integrated .ek-problem-index li>a>:last-child{margin:0 0 0 auto!important}
@media(max-width:690px){
 body.ek-integrated nav.ek-section-index{grid-template-columns:1fr!important}
}
/* Return ALL photo hero titles to La experiencia's original "Ekonatura Onest" family. */
body.ek-unified :is(.ek-restored-hero,.ek-hub-hero,.ek-showcase-hero) .ph-card h1,
body.ek-unified :is(.ek-restored-hero,.ek-hub-hero,.ek-showcase-hero) .ph-card .ph-title,
body.ek-unified main.ek-showcase-page>.ek-showcase-hero .ph-card h1{
 font-family:var(--ek-font-display)!important;font-weight:var(--ek-fw-heading)!important;
 font-style:normal!important;letter-spacing:var(--ek-ls-heading)!important;line-height:var(--ek-lh-heading)!important;}
/* Horizontal photographs: cover crop, no stretch, consistent hero height. */
body.ek-questions main.ek-showcase-page>.ek-showcase-hero .ph-stage img{
 width:100%!important;height:100%!important;object-fit:cover!important;
 object-position:63% 45%!important
}
body.ek-service-detail .ek-restored-hero:not(.ek-restored-hero--detail) .ph-stage img{
 width:100%;height:100%;object-fit:cover!important;object-position:60% 47%!important
}
@media(max-width:690px){
 body.ek-questions main.ek-showcase-page>.ek-showcase-hero .ph-stage img{object-position:69% center!important}
 body.ek-service-detail .ek-restored-hero:not(.ek-restored-hero--detail) .ph-stage img{object-position:65% center!important}
}
/* Sharing: no white-on-white for either global share or per-review actions.
   ATO-366 · The trigger is an outlined pill on a transparent fill, so the
   label never disappears on a light surface. The dark photographic panels
   keep their ivory variant through the more specific rules above. */
body.ek-unified .share-control .share-trigger,
body.ek-unified .share-control .share-trigger:is(:hover,:focus-visible,:active),
body.ek-unified .ph-card .share-control .share-trigger:is(:hover,:focus-visible,:active){
 color:#393530!important;-webkit-text-fill-color:#393530!important;
 background:transparent!important;border-color:#393530!important;
 opacity:1!important;text-shadow:none!important
}
body.ek-unified .share-control .share-trigger:hover{background:#39353014!important}
body.ek-unified .ek-page-share .ek-page-share-copy:is(:hover,:active,:focus-visible){
 background:#3c3833!important;color:#fff!important;-webkit-text-fill-color:#fff!important
}
body.ek-unified .ek-exp-share:is(:hover,:focus-visible,:active),
body.ek-unified .ek-review-share:is(:hover,:focus-visible,:active){
 background:#e8e4df!important;color:#393530!important;-webkit-text-fill-color:#393530!important
}
/* FAQ search: plain matching questions, not illuminated grids of boxes.
   Keep only the input field's useful keyboard focus state. */
body.ek-questions .ek-faq-search-field:focus-within{
 outline:1px solid #84807b!important;outline-offset:1px!important;
 border-color:#84807b!important
}
body.ek-questions .ek-faq-panel>details{
 background:transparent!important;box-shadow:none!important;
 outline:0!important;border-left:0!important;border-right:0!important;
 margin-inline:0!important
}
body.ek-questions .ek-faq-panel>details[open]{
 background:transparent!important;box-shadow:none!important
}
body.ek-questions .ek-faq :is(button,summary):focus-visible{
 outline:2px solid #68645f!important;outline-offset:3px!important
}
/* /osteopatia/: regular editorial hierarchy, no erratic type size transitions. */
body[data-route="/osteopatia/"] .reading{font-size:var(--ek-fs-body)!important;line-height:var(--ek-lh-body);}
body[data-route="/osteopatia/"] .reading .ek-section>h2{
 font-size:var(--ek-fs-h2)!important;line-height:var(--ek-lh-heading)!important;
 margin-bottom:24px!important;max-width:32ch
}
body[data-route="/osteopatia/"] .reading :is(h3,.ek-intro-editorial-title){
 font-size:var(--ek-fs-h3)!important;line-height:var(--ek-lh-heading)!important;}
body[data-route="/osteopatia/"] .reading p{
 font-size:var(--ek-fs-body)!important;line-height:var(--ek-lh-body)!important;}
body[data-route="/osteopatia/"] .approved-techniques .technique-card>h3:first-child{
 font-size:var(--ek-fs-h3);line-height:var(--ek-lh-heading);}
body[data-route="/osteopatia/"] .approved-techniques .technique-card>p:not(:first-child){
 font-size:var(--ek-fs-body)!important;line-height:var(--ek-lh-body)!important;}
/* About: a discreet three-part narrative, not an oversized CV. */
.ek-unified .ek-about-learning{margin:clamp(74px,8vw,120px) 0;max-width:1040px;padding-top:14px}
.ek-unified .ek-about-learning h2{font-size:var(--ek-fs-h2);margin:16px 0 20px;max-width:25ch}
.ek-unified .ek-about-learning-lead{max-width:60ch;line-height:var(--ek-lh-body);font-size:var(--ek-fs-lede);margin:0 0 38px}
.ek-unified .ek-about-learning-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(16px,2.8vw,32px)}
.ek-unified .ek-about-learning-item{border-top:1px solid #3c383327;padding-top:19px}
.ek-unified .ek-about-learning-step{
 display:block;border:0;padding:0;margin:0 0 18px;
 font:var(--ek-fw-body) var(--ek-fs-meta)/var(--ek-lh-compact) var(--ek-font-body);letter-spacing:normal;text-transform:uppercase;color:#726e69
}
.ek-unified .ek-about-learning-item h3{
 font:var(--ek-fw-heading) var(--ek-fs-h3)/var(--ek-lh-heading) var(--ek-font-heading);margin:0 0 13px
}
.ek-unified .ek-about-learning-item p{font-size:var(--ek-fs-body);line-height:var(--ek-lh-body);max-width:40ch}
.ek-unified .ek-about-experiences{
 display:grid;grid-template-columns:165px minmax(0,1fr);gap:22px;
 align-items:start;margin:52px 0 0;padding:24px 0;border-top:1px solid #3c383325
}
.ek-unified .ek-about-experiences p{font-size:var(--ek-fs-body);line-height:var(--ek-lh-body);max-width:75ch}
@media(max-width:720px){
 .ek-unified .ek-about-learning-list,.ek-unified .ek-about-experiences{grid-template-columns:1fr}
 .ek-unified .ek-about-learning-list{gap:26px}
 .ek-unified .ek-about-experiences{gap:12px}
}
/* Home disclosure-banner: legible, stable headings and aligned media column. */
body.ek-home .home-banner{overflow:hidden}
body.ek-home .home-banner-summary{align-items:center!important;min-height:96px}
body.ek-home .home-banner-title{
 font-family:var(--ek-font-display)!important;
 font-size:var(--ek-fs-h2)!important;line-height:var(--ek-lh-body)!important;
 max-width:none!important;margin:0!important
}
body.ek-home .home-banner-panel{min-width:0}
body.ek-home .home-banner-visual img{width:100%!important;object-fit:cover!important}
@media(max-width:650px){body.ek-home .home-banner-summary{min-height:76px;padding:23px 22px!important}}

/* Expanded hero copy never changes its original photographed frame. */
.ek-unified :is(.ek-restored-hero,.ek-hub-hero).ek-hero-locked{
 height:var(--ek-hero-stable-height)!important;min-height:0!important
}
.ek-unified .ek-restored-hero.ek-hero-locked:has(.ph-more[open]) .ph-card,
.ek-unified .ek-hub-hero.ek-hero-locked:has(.ek-hub-intro-more[open]) .ph-card--hub{
 max-height:calc(var(--ek-hero-stable-height) - 154px);
 overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin
}
@media(max-width:700px){
 .ek-unified .ek-restored-hero.ek-hero-locked:has(.ph-more[open]) .ph-card{
  max-height:calc(var(--ek-hero-stable-height) - 90px)
 }
 .ek-unified .ek-hub-hero .ph-stage{height:clamp(300px,84vw,430px)!important;flex:none}
}
/* EKONATURA_MINIMAL_SHARE_FROSTED_READING_20261028: frosted editorial rail on regular Ekonatura pages ONLY; the personal white HTML keeps its original unchanged treatment. */
body.ek-unified:not([data-route="/sobre-mi/detalle/"]) .ek-reading-indicator{
  background:rgba(229,231,225,.91)!important;color:#36322d!important;
  border-bottom:1px solid rgba(59, 55, 50,.14)!important;box-shadow:none!important;
  -webkit-backdrop-filter:blur(14px) saturate(115%)!important;
  backdrop-filter:blur(14px) saturate(115%)!important;
}
body.ek-unified:not([data-route="/sobre-mi/detalle/"]) .ek-reading-current{
  display:inline-flex!important;align-items:center!important;
  min-height:44px!important;padding:7px 0!important;gap:9px!important;
  border:0!important;border-radius:0!important;
  background:transparent!important;box-shadow:none!important;
  color:#37332e!important;
}
body.ek-unified:not([data-route="/sobre-mi/detalle/"]) .ek-reading-current:is(:hover,:focus-visible){
  background:transparent!important;color:#24201b!important;
}
body.ek-unified:not([data-route="/sobre-mi/detalle/"]) .ek-reading-chevron{
  display:inline-flex!important;width:18px!important;height:18px!important;
  align-items:center!important;justify-content:center!important;
  opacity:1!important;font-size:0!important;line-height:var(--ek-lh-body)!important;
  color:transparent!important;background:none!important;
  border:0!important;box-shadow:none!important;flex:none!important;
}
body.ek-unified:not([data-route="/sobre-mi/detalle/"]) .ek-reading-chevron::before{
  content:"";display:block;width:6px;height:6px;
  border-right:1.5px solid #48443f;border-bottom:1.5px solid #48443f;
  transform:translateY(-2px) rotate(45deg);transition:transform .17s ease;
}
body.ek-unified:not([data-route="/sobre-mi/detalle/"]) .ek-reading-current[aria-expanded="true"] .ek-reading-chevron::before{
  transform:translateY(2px) rotate(225deg);
}
body.ek-unified:not([data-route="/sobre-mi/detalle/"]) .ek-reading-menu{
  background:rgba(236,238,232,.97)!important;color:#37332e!important;
  -webkit-backdrop-filter:blur(14px) saturate(110%)!important;
  backdrop-filter:blur(14px) saturate(110%)!important;
  border:1px solid rgba(59, 55, 50,.16)!important;border-top:0!important;
  box-shadow:none!important;
}
body.ek-unified:not([data-route="/sobre-mi/detalle/"]) .ek-reading-menu a{color:#3a3631!important}
body.ek-unified:not([data-route="/sobre-mi/detalle/"]) .ek-reading-menu a:is(:hover,:focus-visible){
  background:rgba(55, 51, 46,.08)!important;color:#302c27!important;
}
body.ek-unified:not([data-route="/sobre-mi/detalle/"]) .ek-reading-kicker,
body.ek-unified:not([data-route="/sobre-mi/detalle/"]) .ek-reading-counter{color:#66625d!important}
@media(prefers-reduced-motion:reduce){
  body.ek-unified:not([data-route="/sobre-mi/detalle/"]) .ek-reading-chevron::before{transition:none!important}
}


/* EKONATURA_MINIMAL_WHITE_READING_20261028: utility, not decoration.
   Applied to Ekonatura's cream pages only; never to the standalone B/W CV.
   A 47px white reading rail, non-translucent legible menu and a 1px progress line. */
body.ek-unified:not([data-route="/sobre-mi/detalle/"]) .ek-reading-indicator{
  height:47px!important;
  padding:0 max(22px,calc((100vw - 1120px)/2))!important;
  gap:clamp(10px,1.5vw,19px)!important;
  background:#fff!important;
  color:#37332e!important;
  border-bottom:1px solid #e1e5df!important;
  box-shadow:none!important;
  -webkit-backdrop-filter:none!important;
  backdrop-filter:none!important;
}
body.ek-unified:not([data-route="/sobre-mi/detalle/"]) .ek-reading-kicker{
  font:var(--ek-fw-body) var(--ek-fs-meta)/var(--ek-lh-compact) var(--ek-font-body)!important;
  letter-spacing:var(--ek-ls-meta)!important;
  color:#76726d!important;
}
body.ek-unified:not([data-route="/sobre-mi/detalle/"]) .ek-reading-selector{
  min-width:0!important;
}
body.ek-unified:not([data-route="/sobre-mi/detalle/"]) .ek-reading-current{
  display:inline-flex!important;
  min-height:44px!important;
  align-items:center!important;
  gap:8px!important;
  max-width:min(67vw,640px)!important;
  padding:0!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
  color:#3d3934!important;
  font:var(--ek-fw-body) var(--ek-fs-meta)/var(--ek-lh-compact) var(--ek-font-body)!important;
  letter-spacing:normal!important;
}
body.ek-unified:not([data-route="/sobre-mi/detalle/"]) .ek-reading-current:is(:hover,:focus-visible){
  background:transparent!important;
  color:#211d18!important;
}
body.ek-unified:not([data-route="/sobre-mi/detalle/"]) .ek-reading-chevron{
  width:15px!important;height:15px!important;min-width:15px!important;
  font-size:0!important;opacity:.8!important;
  padding:0!important;
  border:0!important;background:transparent!important;
  box-shadow:none!important;
}
body.ek-unified:not([data-route="/sobre-mi/detalle/"]) .ek-reading-chevron::before{
  width:5px!important;height:5px!important;
  border-right:1.2px solid #75716c!important;
  border-bottom:1.2px solid #75716c!important;
}
body.ek-unified:not([data-route="/sobre-mi/detalle/"]) .ek-reading-counter{
  font:var(--ek-fw-body) var(--ek-fs-meta)/var(--ek-lh-compact) var(--ek-font-body)!important;
  color:#827e79!important;
}
body.ek-unified:not([data-route="/sobre-mi/detalle/"]) .ek-reading-track{
  height:1px!important;
  background:#ebe7e2!important;
}
body.ek-unified:not([data-route="/sobre-mi/detalle/"]) .ek-reading-progress{
  background:#8d8984!important;
}
body.ek-unified:not([data-route="/sobre-mi/detalle/"]) .ek-reading-menu{
  top:calc(100% + 1px)!important;
  left:0!important;
  width:min(475px,calc(100vw - 32px))!important;
  max-height:min(58dvh,450px)!important;
  overflow-y:auto!important;
  padding:5px!important;
  background:#fff!important;
  color:#3c3833!important;
  border:1px solid #e4e0db!important;
  border-top:0!important;
  border-radius:0 0 9px 9px!important;
  box-shadow:none!important;
  -webkit-backdrop-filter:none!important;
  backdrop-filter:none!important;
}
body.ek-unified:not([data-route="/sobre-mi/detalle/"]) .ek-reading-menu a{
  display:block!important;
  min-height:38px!important;
  padding:10px 12px!important;
  border:0!important;
  border-radius:3px!important;
  background:transparent!important;
  color:#423e39!important;
  font:var(--ek-fw-body) var(--ek-fs-meta)/var(--ek-lh-compact) var(--ek-font-body)!important;
  text-decoration:none!important;
}
body.ek-unified:not([data-route="/sobre-mi/detalle/"]) .ek-reading-menu a:is(:hover,:focus-visible){
  background:#f1f4f0!important;
  color:#37332e!important;
}
body.ek-unified:not([data-route="/sobre-mi/detalle/"]) .ek-reading-menu a[aria-current="location"]{
  background:#f5f1ec!important;
  color:#3d3934!important;
  font-weight:var(--ek-fw-body)!important;
}
body.ek-unified:not([data-route="/sobre-mi/detalle/"]) .ek-reading-menu a:focus-visible{
  outline:1px solid #8d8984!important;
  outline-offset:-2px!important;
}
@media(max-width:650px){
 body.ek-unified:not([data-route="/sobre-mi/detalle/"]) .ek-reading-indicator{
   height:45px!important;
   padding:0 14px!important;
   gap:9px!important;
 }
 body.ek-unified:not([data-route="/sobre-mi/detalle/"]) .ek-reading-current{
   font-size:var(--ek-fs-meta)!important;
   max-width:72vw!important;
   min-height:44px!important;
 }
 body.ek-unified:not([data-route="/sobre-mi/detalle/"]) .ek-reading-menu{
   width:min(440px,calc(100vw - 28px))!important;
 }
}
/* EKONATURA_DARK_INDEX_WHITE_ARROWS_AND_BASE_NOTE_20261028
   Only dark-green problem shortcuts receive the white contrast arrow.
   Quiromasaje remains acknowledged as secondary training in the personal page. */
body.ek-integrated .ek-problem-index li>a .ek-problem-index-arrow{
  color:#fff!important;
}
body[data-route="/sobre-mi/detalle/"] .ek-personal-list .ek-personal-base-note{
  font-size:13px!important;
  font-weight:400!important;
  color:#666!important;
}

/* EKONATURA_PROBLEM_HUB_ROUNDED_HERO_20261028
   /problemas/: round both the photo's lower corners and the full hero's
   lower edge. On phones the photo stage is a separate stacked block, so
   both surfaces need clipping to show the curve. */
body.ek-integrated[data-route="/problemas/"] .ek-hub-hero {
  border-radius:0 0 clamp(24px,3vw,38px) clamp(24px,3vw,38px)!important;
  overflow:hidden!important;
}
body.ek-integrated[data-route="/problemas/"] .ek-hub-hero .ph-stage {
  border-radius:inherit!important;
  overflow:hidden!important;
}
/* Personal trajectory: quieter bold course titles in both training groups. */
body[data-route="/sobre-mi/detalle/"] .ek-personal-list h3{
  font-size:clamp(20px,2vw,22px)!important;
  line-height:1.2!important;
}
@media(max-width:600px){
  body[data-route="/sobre-mi/detalle/"] .ek-personal-list h3{
    font-size:19px!important;
  }
}

/* Ekonatura · consistency pass, 28 Oct 2026. Shared overrides only.
   All photographs remain original. No decorative shadow is added. */

/* Reading more never changes the original frame OR the text panel geometry. */
body.ek-unified :is(.ek-restored-hero,.ek-hub-hero).ek-hero-locked {
 box-sizing:border-box!important;
 height:auto!important;
 min-height:var(--ek-hero-stable-height)!important;
 overflow:visible!important;
}
body.ek-unified .ek-restored-hero.ek-hero-locked .ph-card:has(.ph-more[open]),
body.ek-unified .ek-hub-hero.ek-hero-locked .ph-card--hub:has(.ek-hub-intro-more[open]){
 box-sizing:border-box!important;
 height:auto!important;
 max-height:none!important;
 min-height:0!important;
 overflow-x:hidden!important;overflow-y:auto!important;
 overscroll-behavior:contain;
 scrollbar-width:thin;
}
body.ek-unified .ek-hub-hero .ph-stage img,
body.ek-unified .ek-restored-hero .ph-stage img {
 object-fit:cover!important;
}
@media(max-width:700px){
 body.ek-unified .ek-hub-hero .ph-stage{
  height:clamp(300px,84vw,430px)!important;
  flex:none!important;
 }
}

/* /osteopatia/estructural/: approved long introduction is editorial reading,
   not an oversized open/close block on the photo. No words removed. */
body[data-route="/osteopatia/estructural/"] .ek-structural-opening{
 max-width:850px;
 margin:clamp(28px,4vw,56px) auto clamp(54px,7vw,90px);
 padding:0 clamp(2px,1.5vw,16px);
 background:transparent!important;
 border:0!important;
}
body[data-route="/osteopatia/estructural/"] .ek-structural-opening-copy{
 max-width:70ch;
 columns:1;
}
body[data-route="/osteopatia/estructural/"] .ek-structural-opening-copy p{
 margin:0 0 18px;
 font-size:var(--ek-fs-body);line-height:var(--ek-lh-body);
 letter-spacing:normal;
}
body[data-route="/osteopatia/estructural/"] .ek-structural-opening-copy p:nth-of-type(3){
 margin-top:clamp(24px,3vw,40px);
}

/* Shared related destinations: photo + short title at rest. Expanding copy
   overlays the picture without changing card height or pushing neighbours. */
body.ek-unified .related>ul>li>a{
 display:block!important;position:relative!important;
 aspect-ratio:4/3;
 height:auto!important;min-height:300px!important;
 isolation:isolate;overflow:hidden;
 border:0!important;border-radius:18px!important;
 background:#292d2e!important;box-shadow:none!important;
 color:#fff!important;
}
body.ek-unified .related-image{
 display:block;position:absolute!important;
 inset:0;width:100%;height:100%;
 aspect-ratio:auto!important;z-index:-1;
}
body.ek-unified .related-image img{
 width:100%;height:100%;object-fit:cover;
 filter:none!important;
}
body.ek-unified .related-text{
 position:absolute;left:12px;right:12px;bottom:12px;
 display:flex;flex-direction:column;gap:9px;
 padding:18px!important;
 border:0!important;border-radius:14px;
 background:rgba(41,45,46,.90);
 color:#fff!important;
}
body.ek-unified .related-text strong{
 font:var(--ek-fw-heading-inter) var(--ek-fs-h3)/var(--ek-lh-heading) var(--ek-font-body);
 color:#fff!important;text-shadow:none!important;
}
/* Iván aprobó sans para los títulos del hub de problemas y de destinos relacionados. */
body.ek-unified .ek-problem-discovery>h2,
body.ek-unified .related>h2{
 font-family:var(--ek-font-body);
 font-weight:var(--ek-fw-heading-inter);
}
/* The osteopathy landing is a parent hero and follows the approved Home scale. */
body.ek-unified[data-route="/osteopatia/"] .ek-restored-hero{
 min-height:clamp(640px,86svh,900px);
}
@media(max-width:1000px){
 body.ek-unified[data-route="/osteopatia/"] .ek-restored-hero{
  min-height:clamp(680px,92svh,900px)!important;
 }
}
body.ek-unified .related-desc{color:#f4f0e7!important;line-height:var(--ek-lh-compact);}
body.ek-unified .related-action{color:#f4f0e7!important}
body.ek-unified .related>ul>li>a:is(:hover,:focus-visible){
 box-shadow:none!important;border:0!important;
}
body.ek-unified .related>ul>li>a:focus-visible{
 outline:2px solid #cecac5!important;outline-offset:3px!important;
}
@media (hover:hover) and (pointer:fine){
 body.ek-unified .related>ul>li>a :is(.related-desc,.related-action,.related-cta),
 body.ek-unified .related>ul>li>a .related-text>span:not(.related-label):not(.related-cta):not(.related-action){
  opacity:0;visibility:hidden;max-height:0;margin:0;
  overflow:hidden;
  transition:opacity .2s ease,max-height .2s ease,visibility .2s;
 }
 body.ek-unified .related>ul>li>a:is(:hover,:focus-visible) :is(.related-desc,.related-action,.related-cta),
 body.ek-unified .related>ul>li>a:is(:hover,:focus-visible) .related-text>span:not(.related-label):not(.related-cta):not(.related-action){
  opacity:1;visibility:visible;max-height:12em;
  margin-top:6px;
 }
}
@media (hover:none), (pointer:coarse), (max-width:700px){
 body.ek-unified .related>ul>li>a{
  min-height:0!important;
 }
 /* On touch devices these are navigation cards: title + destination CTA.
    The long supporting paragraph is not unfolded without a hover. */
 body.ek-unified .related-desc,
 body.ek-unified .related-text>span:not(.related-label):not(.related-cta):not(.related-action){
  display:none!important;
  visibility:hidden!important;
  opacity:0!important;
  max-height:0!important;
 }
 body.ek-unified .related-text :is(.related-action,.related-cta){
  display:inline-flex!important;
  visibility:visible!important;
  opacity:1!important;
  max-height:none!important;
 }
 body.ek-unified .related-text{padding:14px!important;gap:7px}
}
@media(max-width:700px){body.ek-unified .related>ul>li>a{aspect-ratio:4/5}}
/* Articles index is a preserved standalone page (not the integrated shell).
   Use the same presentation with keyboard focus and mobile text visible. */
body.ek-unified[data-template="editorial-index"] .stories .ek-ed-card{
 border:0!important;box-shadow:none!important;
}
@media (hover:hover) and (pointer:fine){
 body.ek-unified[data-template="editorial-index"] .stories .ek-ed-card
   :is(.ek-ed-card-desc,.ek-ed-card-cta){
  opacity:0;visibility:hidden;max-height:0;margin-top:0;
  overflow:hidden;transition:opacity .18s ease,max-height .18s ease,visibility .18s;
 }
 body.ek-unified[data-template="editorial-index"] .stories .ek-ed-card:is(:hover,:focus-visible)
   :is(.ek-ed-card-desc,.ek-ed-card-cta){
  opacity:1;visibility:visible;max-height:9em;margin-top:8px;
 }
}
body.ek-unified[data-template="editorial-index"] .stories .ek-ed-card:focus-visible{
 outline:2px solid #f4f0e7!important;outline-offset:-5px!important;
}

/* No exceptions for shadows on share buttons and review actions. */
body.ek-unified .ek-exp-share,
body.ek-unified .ek-exp-share:is(:hover,:focus-visible,:active),
body.ek-unified .ek-review-share,
body.ek-unified .ek-review-share:is(:hover,:focus-visible,:active),
body.ek-unified .share-control .share-trigger,
body.ek-unified .share-control .share-trigger:is(:hover,:focus-visible,:active),
body.ek-unified .ek-page-share,
body.ek-unified .ek-reading-indicator,
body.ek-unified .ek-reading-menu{
 box-shadow:none!important;
 filter:none;
}
body.ek-unified .ek-exp-share:is(:hover,:focus-visible,:active),
body.ek-unified .ek-review-share:is(:hover,:focus-visible,:active){
 background:#e8e4df!important;
 color:#393530!important;
 -webkit-text-fill-color:#393530!important;
}
/* Avoid an accidental filter on the scene when only the action is hovered. */
body.ek-unified :is(.related,.stories) a:hover img{
  filter:none!important;
}
@media (prefers-reduced-motion:reduce){
  body.ek-unified .related :is(.related-desc,.related-action),
  body.ek-unified .stories :is(.ek-ed-card-desc,.ek-ed-card-cta){
   transition:none!important;
  }
}

/* ======================================================================
   ATO-366 · I1 · Navigation over the photographic heroes
   ----------------------------------------------------------------------
   The menu sits on the photograph, so the white 12px links need a real
   background to be read against. The scrim is LOCAL: a band under the
   header that fades out before the middle of the picture. The photograph
   keeps its crop, its light and its lower half untouched. The band lives
   with the other hero overrides; here only the legibility of the label
   itself is reinforced.
   ====================================================================== */
body.ek-unified:has(main.ek-photo-hero-page) .ek-header:not(.is-pill) .ek-nav>a:hover,
body.ek-unified:has(main.ek-photo-hero-page) .ek-header:not(.is-pill) .ek-explore>summary:hover{
  color:#f7f4ec;
  text-shadow:0 1px 10px rgba(6,12,14,.75);
}
body.ek-unified:has(main.ek-photo-hero-page) .ek-header:not(.is-pill) .ek-nav>a,
body.ek-unified:has(main.ek-photo-hero-page) .ek-header:not(.is-pill) .ek-explore>summary{
  text-shadow:0 1px 10px rgba(6,12,14,.75);
}

/* ======================================================================
   ATO-366 · I4 · /sobre-mi/ uses the same "Ekonatura Onest" family as the
   other photographic heroes. Copy, photograph and sizes stay untouched.
   ====================================================================== */
body.ek-unified[data-route="/sobre-mi/"] .ek-hero .ph-card h1,
body.ek-unified[data-route="/sobre-mi/"] .ek-hero .ph-card .ph-title{
  font-family:var(--ek-font-display);
}

/* ======================================================================
   ATO-366 · M1 · The related action «Ver más» behaves like the
   description: hidden at rest on desktop, revealed on hover and on
   keyboard focus, always visible on touch and small screens.
   ====================================================================== */
@media (hover:none), (pointer:coarse), (max-width:700px){
  body.ek-unified .related-action{
   display:inline-flex!important;visibility:visible!important;
   opacity:1!important;max-height:none!important;margin-top:6px;
   align-items:center;gap:8px;font-size:var(--ek-fs-meta);font-weight:var(--ek-fw-body);
  }
}

/* ======================================================================
   ATO-366 · Consistencia de los dos modelos de compartir
   ----------------------------------------------------------------------
   El modal de página y el modal de reseña son dos componentes distintos
   con dos estructuras distintas: aquí solo se igualan los ACABADOS
   (radio, altura, tipografía, iconos pequeños, superficies, foco y
   contraste). La estructura Feed/Story, la imagen y el enlace propio de
   cada reseña se conservan intactos.
   ====================================================================== */
body.ek-unified .ek-share .ek-library-sheet{
  border-radius:24px!important;
  background:var(--ek-paper,#f4f0e7)!important;
  color:var(--ek-ink,#3c3833)!important;
  box-shadow:none!important;
}
body.ek-unified .ek-share .ek-library-head button{
  display:grid!important;place-items:center;flex:none;
  width:40px!important;height:40px!important;min-height:40px!important;
  padding:0!important;border-radius:50%!important;
  border:1px solid transparent!important;
  background:var(--ek-surface-alt,#e8e9df)!important;
  color:inherit!important;font:var(--ek-fw-action) var(--ek-fs-ui)/var(--ek-lh-compact) var(--ek-font-body)!important;
}
body.ek-unified .ek-share .ek-share-primary,
body.ek-unified .ek-share .ek-share-secondary .button{
  border-radius:999px!important;min-height:44px!important;
  font:var(--ek-fw-action) var(--ek-fs-ui)/var(--ek-lh-compact) var(--ek-font-body)!important;
}
body.ek-unified .ek-share .ek-share-secondary{gap:10px!important}
body.ek-unified .ek-share .ek-share-icon{
  width:40px!important;height:40px!important;border-radius:50%!important;
  border:1px solid var(--ek-line,#c9d3cf)!important;background:transparent!important;
}
body.ek-unified .ek-share .ek-share-icon svg{width:18px!important;height:18px!important}
body.ek-unified .ek-share .ek-share-icon:hover,
body.ek-unified .ek-share .ek-share-icon:focus-visible{
  background:var(--ek-surface-alt,#e8e9df)!important;
  border-color:var(--ek-ink,#3c3833)!important;color:inherit!important;
}
body.ek-unified .ek-share :focus-visible{
  outline:2px solid var(--ek-ink,#3c3833)!important;outline-offset:3px!important;
}

/* ======================================================================
   ATO-366 · Ficha «Formación y trayectoria» (en /sobre-mi/)
   ----------------------------------------------------------------------
   La ficha documental usa la sans contemporánea del sistema ("Ekonatura Onest"), NO
   "Ekonatura Onest": es contenido editorial, no un héroe. Sin bordes negros, sin
   sombras marcadas, sin fotografía nueva: solo el retrato en blanco y
   negro derivado de la fotografía que ya existía.
   ====================================================================== */
body.ek-unified .ek-about-training-card{
 display:grid;grid-template-columns:minmax(170px,290px) 1fr;
 gap:clamp(22px,3.4vw,48px);align-items:center;
 margin:clamp(26px,3vw,40px) 0 0;padding:clamp(20px,2.4vw,32px);
 border-radius:26px;background:var(--ek-surface-alt,#e8e9df);
}
body.ek-unified .ek-about-training-portrait{
 width:100%;aspect-ratio:3/4;object-fit:cover;object-position:50% 32%;
 border-radius:18px;
}
body.ek-unified .ek-about-training-card-body h3{
 margin:0 0 14px;font:var(--ek-fw-heading) var(--ek-fs-h3)/var(--ek-lh-heading) var(--ek-font-body);
 letter-spacing:var(--ek-ls-heading);color:var(--ek-ink,#3c3833);
}
body.ek-unified .ek-about-training-card-body .ek-about-learning-lead{
 margin:0;max-width:56ch;font-size:var(--ek-fs-lede);line-height:var(--ek-lh-body);
}
body.ek-unified .ek-about-training-grid{
 display:grid;grid-template-columns:repeat(2,minmax(0,1fr));
 gap:clamp(14px,2vw,24px);margin-top:clamp(20px,2.2vw,30px);
}
body.ek-unified .ek-about-training-item{
 min-width:0;padding:clamp(18px,2vw,26px);border-radius:22px;
 background:var(--ek-surface-alt,#e8e9df);
}
body.ek-unified .ek-about-training-step{
 display:block;font:var(--ek-fw-body) var(--ek-fs-meta)/var(--ek-lh-compact) var(--ek-font-body);letter-spacing:normal;
 text-transform:uppercase;color:var(--ek-muted,#726e69);
}
body.ek-unified .ek-about-training-item h3{
 margin:12px 0 9px;font:var(--ek-fw-heading) var(--ek-fs-h3)/var(--ek-lh-heading) var(--ek-font-body);
 letter-spacing:var(--ek-ls-heading);color:var(--ek-ink,#3c3833);
}
body.ek-unified .ek-about-training-item p{
 font-size:var(--ek-fs-body);line-height:var(--ek-lh-body);color:var(--ek-text,#3c3833);max-width:40ch;
}
/* Un único desplegable: el rótulo alterna sin JavaScript. */
body.ek-unified .ek-about-training-details{
 margin-top:clamp(20px,2.2vw,30px);border-top:1px solid var(--ek-line,#d4d5c9);
}
body.ek-unified .ek-about-training-details>summary{
 display:flex;justify-content:space-between;align-items:center;gap:18px;
 padding:20px 0;cursor:pointer;list-style:none;
 font:var(--ek-fw-action) var(--ek-fs-ui)/var(--ek-lh-compact) var(--ek-font-body);
}
body.ek-unified .ek-about-training-details>summary:after{
 content:'+';flex:none;font:var(--ek-fw-action) 1.25rem/var(--ek-lh-compact) var(--ek-font-body);color:var(--ek-coral,#a94b32);
}
body.ek-unified .ek-about-training-details[open]>summary:after{content:'−'}
body.ek-unified .ek-about-training-summary-close{display:none}
body.ek-unified .ek-about-training-details[open] .ek-about-training-summary-open{display:none}
body.ek-unified .ek-about-training-details[open] .ek-about-training-summary-close{display:inline}
body.ek-unified .ek-about-training-details>summary:focus-visible{
 outline:2px solid var(--ek-ink,#3c3833);outline-offset:3px;
}
body.ek-unified .ek-about-training-body{padding:2px 0 12px}
body.ek-unified .ek-about-timeline{
 list-style:none;padding:0;margin:26px 0 0;max-width:72ch;
}
body.ek-unified .ek-about-timeline li{
 display:grid;grid-template-columns:minmax(130px,190px) 1fr;gap:16px;
 padding:13px 0;border-top:1px solid var(--ek-line,#d4d5c9);
}
body.ek-unified .ek-about-timeline-when{
 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:var(--ek-muted,#726e69);
}
body.ek-unified .ek-about-timeline-what{font:var(--ek-fw-body) var(--ek-fs-body)/var(--ek-lh-body) var(--ek-font-body);}
body.ek-unified .ek-about-training-link{
 display:inline-flex;align-items:center;gap:10px;
 margin-top:clamp(18px,2vw,26px);padding:12px 22px;
 border:1px solid var(--ek-ink,#3c3833);border-radius:999px;
 font:var(--ek-fw-body) var(--ek-fs-meta)/var(--ek-lh-compact) var(--ek-font-body);color:var(--ek-ink,#3c3833);
 transition:background .2s,color .2s;
}
body.ek-unified .ek-about-training-link:hover,
body.ek-unified .ek-about-training-link:focus-visible{
 background:var(--ek-ink,#3c3833);color:var(--ek-paper,#f4f0e7);
}
body.ek-unified .ek-about-training-link:focus-visible{outline:2px solid var(--ek-ink,#3c3833);outline-offset:3px}

/* ======================================================================
   ATO-366 · Anexo documental /formacion-y-trayectoria/
   ----------------------------------------------------------------------
   Página de documento: sin héroe fotográfico, sin fotografía nueva y sin
   repetir capítulos. Sans contemporánea ("Ekonatura Onest") en todo el bloque.
   ====================================================================== */
body.ek-unified main.ek-formacion{
 width:min(var(--ek-width,1160px),calc(100% - 2*var(--ek-gutter,40px)));
 margin:0 auto;padding:clamp(34px,5vw,72px) 0 clamp(60px,8vw,110px);
 font-family:var(--ek-font-body);
}
body.ek-unified main.ek-formacion h1{
 margin:14px 0 22px;max-width:18ch;
 font:var(--ek-fw-heading) var(--ek-fs-h1)/var(--ek-lh-heading) var(--ek-font-body);letter-spacing:var(--ek-ls-heading);
}
body.ek-unified .ek-formacion-lead{
 max-width:64ch;font-size:var(--ek-fs-body);line-height:var(--ek-lh-body);
}
body.ek-unified .ek-formacion-breadcrumbs{margin-bottom:22px}
body.ek-unified .ek-formacion-index{
 display:flex;flex-wrap:wrap;gap:10px;margin:30px 0 44px;
}
body.ek-unified .ek-formacion-index a{
 border:1px solid var(--ek-line,#d4d5c9);border-radius:999px;
 padding:9px 15px;font-size:var(--ek-fs-ui);
}
body.ek-unified .ek-formacion-index a:hover,
body.ek-unified .ek-formacion-index a:focus-visible{
 background:var(--ek-surface-alt,#e8e9df);border-color:var(--ek-muted,#726e69);
}
body.ek-unified .ek-formacion-section{
 padding:clamp(26px,3vw,38px) 0;border-top:1px solid var(--ek-line,#d4d5c9);
}
body.ek-unified .ek-formacion-section h2{
 margin:0 0 18px;font:var(--ek-fw-heading) var(--ek-fs-h2)/var(--ek-lh-heading) var(--ek-font-body);
 letter-spacing:var(--ek-ls-heading);color:var(--ek-ink,#3c3833);
}
body.ek-unified .ek-formacion-section p{max-width:68ch}
body.ek-unified .ek-formacion-facts{
 display:grid;grid-template-columns:minmax(140px,200px) 1fr;gap:10px 24px;
 margin:26px 0 0;max-width:70ch;
}
body.ek-unified .ek-formacion-facts dt{
 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:var(--ek-muted,#726e69);
}
body.ek-unified .ek-formacion-facts dd{margin:0;font-size:var(--ek-fs-body);line-height:var(--ek-lh-body);}
body.ek-unified .ek-formacion-timeline{
 list-style:none;padding:0;margin:26px 0 0;max-width:70ch;
}
body.ek-unified .ek-formacion-timeline li{
 display:grid;grid-template-columns:minmax(140px,200px) 1fr;gap:16px;
 padding:13px 0;border-top:1px solid var(--ek-line,#d4d5c9);
}
body.ek-unified .ek-formacion-when{
 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:var(--ek-muted,#726e69);
}
body.ek-unified .ek-formacion-what{font:var(--ek-fw-body) var(--ek-fs-body)/var(--ek-lh-body) var(--ek-font-body);}
body.ek-unified .ek-formacion-note{
 margin-top:42px;padding-top:22px;border-top:1px solid var(--ek-line,#d4d5c9);
 font-size:var(--ek-fs-small);line-height:var(--ek-lh-compact);max-width:68ch;
}
@media(max-width:700px){
 body.ek-unified .ek-about-training-card{grid-template-columns:1fr;gap:20px}
 body.ek-unified .ek-about-training-portrait{aspect-ratio:4/3;object-position:50% 30%}
 body.ek-unified .ek-about-training-grid{grid-template-columns:1fr}
 body.ek-unified .ek-about-timeline li,
 body.ek-unified .ek-formacion-timeline li{grid-template-columns:1fr;gap:4px}
 body.ek-unified .ek-formacion-facts{grid-template-columns:1fr;gap:4px}
 body.ek-unified .ek-formacion-facts dd{margin:0 0 12px}
}

/* ======================================================================
   ATO-366 · Disparadores «Compartir» de los héroes
   ----------------------------------------------------------------------
   Todos los botones de compartir de los héroes adoptan la geometría del
   CTA «Pedir cita»: píldora de contorno fino, fondo transparente, sin
   sombra y sin relleno crema. Alto, padding, radio y cuerpo idénticos al
   del botón real, para que no compitan con él.
   ====================================================================== */
body.ek-unified :is(.ek-hero,.ek-restored-hero,.ek-hub-hero,.ek-showcase-hero,.ek-catalogue-hero,.ek-photo-hero-page) .share-trigger{
 display:inline-flex!important;align-items:center;gap:10px;
 min-height:44px!important;padding:10px 20px!important;
 border:1px solid currentColor!important;border-radius:99px!important;
 background:transparent!important;box-shadow:none!important;
 font:var(--ek-fw-action) var(--ek-fs-ui)/var(--ek-lh-compact) var(--ek-font-body)!important;
 text-shadow:none!important;
}
body.ek-unified :is(.ek-hero,.ek-restored-hero,.ek-hub-hero,.ek-showcase-hero,.ek-catalogue-hero,.ek-photo-hero-page) .share-trigger svg{
 width:16px;height:16px;flex:none;stroke-width:1.5;
}
body.ek-unified :is(.ek-hero,.ek-restored-hero,.ek-hub-hero,.ek-showcase-hero,.ek-catalogue-hero,.ek-photo-hero-page) .share-trigger:focus-visible{
 outline:2px solid currentColor!important;outline-offset:3px!important;
}


/* SHARE_HOVER_CONTRAST_20261028 — Contrast is tied to the ACTUAL surface, not the general share-control.
   Dark photographic hero: ivory label and outline in normal, hover and keyboard
   focus. Prevent the earlier global green -webkit-text-fill-color from leaking
   into a photographic card. The hero geometry and modal behaviour do not change. */
body.ek-unified :is(.ek-restored-hero,.ek-hub-hero,.ek-showcase-hero,.ek-photo-hero-page) .share-control .share-trigger,
body.ek-unified :is(.ek-restored-hero,.ek-hub-hero,.ek-showcase-hero,.ek-photo-hero-page) .share-control .share-trigger:is(:hover,:focus-visible,:active){
  color:#fff!important;
  -webkit-text-fill-color:#fff!important;
  border-color:rgba(255,255,255,.76)!important;
  background:rgba(0,0,0,.10)!important;
  opacity:1!important;
  text-shadow:none!important;
  filter:none!important;
}
body.ek-unified :is(.ek-restored-hero,.ek-hub-hero,.ek-showcase-hero,.ek-photo-hero-page) .share-control .share-trigger:is(:hover,:focus-visible,:active){
  background:rgba(255,255,255,.17)!important;
  border-color:#fff!important;
}
body.ek-unified :is(.ek-restored-hero,.ek-hub-hero,.ek-showcase-hero,.ek-photo-hero-page) .share-control .share-trigger :is(span,svg){
  color:#fff!important;
  -webkit-text-fill-color:#fff!important;
}
body.ek-unified :is(.ek-restored-hero,.ek-hub-hero,.ek-showcase-hero,.ek-photo-hero-page) .share-control .share-trigger svg{
  stroke:currentColor!important;
}
body.ek-unified :is(.ek-restored-hero,.ek-hub-hero,.ek-showcase-hero,.ek-photo-hero-page) .share-control .share-trigger:focus-visible{
  outline:2px solid #fff!important;
  outline-offset:3px!important;
}
/* Review cards have a reliably dark graphite surface; no washed-out pale
   hover pill or inherited dark text. Keep the simple underlined action. */
body.ek-unified .ek-review-card.review .ek-review-share,
body.ek-unified .ek-review-card.review .ek-review-share:is(:hover,:focus-visible,:active){
  background:transparent!important;
  color:#f4f0e7!important;
  -webkit-text-fill-color:#f4f0e7!important;
  opacity:1!important;
  border-bottom-color:rgba(244,240,231,.58)!important;
  text-shadow:none!important;
}
body.ek-unified .ek-review-card.review .ek-review-share:is(:hover,:focus-visible,:active){
  border-bottom-color:#fff!important;
  color:#fff!important;
  -webkit-text-fill-color:#fff!important;
}
body.ek-unified .ek-review-card.review .ek-review-share:focus-visible{
  outline:2px solid #fff!important;
  outline-offset:4px!important;
}
/* On pale review/editorial actions, keep foreground dark in every state. */
body.ek-unified main.ek-editorial-reviews .ek-exp-share,
body.ek-unified main.ek-editorial-reviews .ek-exp-share:is(:hover,:focus-visible,:active){
  color:#37332e!important;
  -webkit-text-fill-color:#37332e!important;
  opacity:1!important;
}

/* HERO_CARD_COPY_20261028: descriptive copy only, with H1 and labels untouched. */
body.ek-unified .ek-restored-hero .ph-card .ph-copy p,
body.ek-unified .ek-restored-hero .ph-card .ph-more p,
body.ek-unified .ek-hub-hero .ph-card--hub .catalog-intro-copy p,
body.ek-unified .ek-hub-hero .ph-card--hub .ek-introduction p,
body.ek-unified .ek-hub-hero .ph-card--hub .ek-hub-extra-copy p,
body.ek-unified main.ek-showcase-page>.ek-showcase-hero .ph-card p:not(.eyebrow):not(.kicker){
  font-size:var(--ek-fs-hero-card-copy);
}
