/* ATO-539 · User-authorized compact desktop cards, search sidebar, legal menu.
   This sheet is generated ONLY for the isolated Cloudflare preview. */

/* Legal information: same 12px typography as footer, narrower and quieter.
   Preserve 44px touch target on every link and on the legal trigger. */
.ek-footer .ek-legal-context nav {
  width:184px!important;
  max-width:min(184px,calc(100vw - 32px))!important;
  padding:6px!important;
  border-radius:14px!important;
}
.ek-footer .ek-legal-context nav a {
  font-size:12px!important;
  line-height:1.45!important;
  font-weight:400!important;
  min-height:44px!important;
  display:flex!important;
  align-items:center!important;
  box-sizing:border-box!important;
  padding:6px 9px!important;
}
.ek-footer .ek-legal-context summary {min-width:44px!important;min-height:44px!important}

/* DESKTOP: same native rail and related-dots logic already in F2.
   Two entire cards are visible, third is the second (last) scroll position.
   Mobile F2 is intentionally untouched. */
@media(min-width:901px){
  body.ek-integrated[data-route="/problemas/"] .ek-problem-discovery .ek-discovery-grid,
  body.ek-integrated[data-route="/"] .home-problems .directory {
    display:block!important;
    grid-template-columns:none!important;
    width:100%!important;
    min-width:0!important;
  }
  body.ek-integrated[data-route="/problemas/"] .ek-f2-group,
  body.ek-integrated[data-route="/"] .ek-f2-group{
    display:block!important;
    grid-column:auto!important;
    width:100%!important;
    margin:0 0 clamp(22px,3vw,38px)!important;
  }
  body.ek-integrated[data-route="/problemas/"] .ek-f2-group-title,
  body.ek-integrated[data-route="/"] .ek-f2-group-title{
    display:block!important;
    font:500 clamp(17px,1.5vw,20px)/1.3 var(--ek-font-body,"Ekonatura Onest",sans-serif)!important;
    margin:0 0 16px!important;
    color:inherit!important;
  }
  body.ek-integrated[data-route="/problemas/"] .ek-f2-group>.ek-f2-rail,
  body.ek-integrated[data-route="/"] .ek-f2-group>.ek-f2-rail{
    display:flex!important;
    flex-wrap:nowrap!important;
    gap:16px!important;
    overflow-x:auto!important;
    overflow-y:hidden!important;
    overscroll-behavior-x:contain;
    scroll-snap-type:x mandatory!important;
    scrollbar-width:none;
    width:100%!important;
    min-width:0!important;
    padding:0 0 3px!important;
    margin:0!important;
    align-items:stretch!important;
  }
  body.ek-integrated .ek-f2-group>.ek-f2-rail::-webkit-scrollbar{display:none}
  body.ek-integrated[data-route="/problemas/"] .ek-f2-rail>.ek-ed-card{
    flex:0 0 calc((100% - 16px)/2)!important;
    width:calc((100% - 16px)/2)!important;
    min-width:0!important;
    max-width:none!important;
    height:auto!important;
    min-height:300px!important;
    max-height:none!important;
    aspect-ratio:auto!important;
    scroll-snap-align:start;
    box-sizing:border-box!important;
    display:flex!important;
    flex-direction:column!important;
    justify-content:flex-end!important;
  }
  body.ek-integrated[data-route="/problemas/"] .ek-f2-rail>.ek-ed-card .ek-ed-card-body{
    min-width:0!important;
    padding:20px 24px 22px!important;
    height:auto!important;
    overflow:visible!important;
  }
  body.ek-integrated[data-route="/problemas/"] .ek-f2-rail>.ek-ed-card .ek-ed-card-title{
    font-size:clamp(21px,2.1vw,27px)!important;
    line-height:1.18!important;
    overflow:visible!important;
    white-space:normal!important;
    text-overflow:clip!important;
  }
  body.ek-integrated[data-route="/problemas/"] .ek-f2-rail>.ek-ed-card .ek-ed-card-desc{
    font-size:13px!important;line-height:1.42!important;
    max-height:none!important;overflow:visible!important;
    white-space:normal!important;-webkit-line-clamp:unset!important;
  }
  body.ek-integrated[data-route="/problemas/"] .ek-f2-rail>.ek-ed-card .ek-ed-card-more{display:none!important}
  body.ek-integrated[data-route="/"] .ek-f2-rail>.directory-item{
    flex:0 0 calc((100% - 16px)/2)!important;
    width:calc((100% - 16px)/2)!important;
    min-width:0!important;max-width:none!important;
    box-sizing:border-box!important;scroll-snap-align:start;
    min-height:230px!important;
    padding:25px 28px!important;
    display:flex!important;flex-direction:column;
  }
  body.ek-integrated[data-route="/"] .ek-f2-rail>.directory-item p:last-child{margin-top:auto!important}
  /* This shares the already-approved Te puede interesar dot shape. */
  body.ek-integrated[data-route="/problemas/"] .ek-f2-dots,
  body.ek-integrated[data-route="/"] .ek-f2-dots{
    display:flex!important;
    justify-content:center!important;
    gap:9px!important;
    margin:13px auto 0!important;
    min-height:24px;
  }
  body.ek-integrated[data-route="/problemas/"] .ek-f2-dots button,
  body.ek-integrated[data-route="/"] .ek-f2-dots button {
    width:7px!important;height:7px!important;min-width:7px!important;
    min-height:7px!important;border-radius:50%!important;
    border:0!important;padding:0!important;
    background:#b4b8ab;
    cursor:pointer;
  }
  body.ek-integrated .ek-f2-dots button[aria-current="true"]{
    background:var(--ek-ink,#3c3833)!important;
    transform:scale(1.15);
  }
  body.ek-integrated[data-route="/problemas/"] .ek-f2-dots button[aria-current="true"]{
    background:var(--ek-catalogue-ink,#eee)!important;
  }
  /* Search results are the same live search DOM and links, moved alongside. */
  body.ek-integrated[data-route="/problemas/"] .hub-search{width:min(1120px,100%)!important}
  body.ek-integrated[data-route="/problemas/"] .hub-search .symptom-search{
    display:grid!important;
    grid-template-columns:minmax(270px,2fr) minmax(0,3fr)!important;
    grid-template-rows:auto 1fr;
    grid-template-areas:"form results" "chips results";
    column-gap:clamp(24px,3vw,44px);
    align-items:start;
    max-width:100%!important;
    padding-top:24px!important;
  }
  body.ek-integrated[data-route="/problemas/"] .hub-search .symptom-form{
    grid-area:form;min-width:0;
  }
  body.ek-integrated[data-route="/problemas/"] .hub-search .symptom-chips{
    grid-area:chips;align-self:start;min-width:0;
  }
  body.ek-integrated[data-route="/problemas/"] .hub-search .ek-f5-search-sidebar{
    grid-area:results;
    min-width:0;max-width:100%;
    max-height:580px;overflow-y:auto;overscroll-behavior:contain;
    border:1px solid #ffffff26;
    border-radius:16px;
    background:#ffffff0b;
    padding:12px 14px 16px;
    box-sizing:border-box;
  }
  body.ek-integrated[data-route="/problemas/"] .hub-search .ek-f5-search-sidebar[hidden]{display:none!important}
  body.ek-integrated[data-route="/problemas/"] .hub-search .symptom-search:not(:has(.ek-f5-search-sidebar:not([hidden]))){
    grid-template-columns:1fr!important;
    grid-template-areas:"form" "chips";
  }
  body.ek-integrated[data-route="/problemas/"] .hub-search .ek-f5-search-sidebar .symptom-status{
    display:block;min-height:16px;margin:0 0 12px!important;
  }
  body.ek-integrated[data-route="/problemas/"] .hub-search .ek-f5-search-sidebar .symptom-results{
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:10px!important;
    margin:0!important;
  }
  body.ek-integrated[data-route="/problemas/"] .hub-search .ek-f5-search-sidebar .symptom-results[hidden]{display:none!important}
  body.ek-integrated[data-route="/problemas/"] .hub-search .ek-f5-search-sidebar .search-hit a{
    padding:13px!important;min-height:100%;
  }
  body.ek-integrated[data-route="/problemas/"] .hub-search .ek-f5-search-sidebar .symptom-result{
    padding:0!important;
  }
}
@media(min-width:901px) and (max-width:1119px){
  body.ek-integrated[data-route="/problemas/"] .hub-search .ek-f5-search-sidebar .symptom-results{
    grid-template-columns:1fr!important;
  }
}
@media(max-width:900px){
  /* Inline results, no sideways panel on tablets/mobile. */
  body.ek-integrated[data-route="/problemas/"] .hub-search .ek-f5-search-sidebar{
    display:block;min-width:0;width:100%;margin-top:16px;
  }
  body.ek-integrated[data-route="/problemas/"] .hub-search .ek-f5-search-sidebar[hidden]{
    display:none!important;
  }
}

/* ATO-539 · Photo card parity: same compact overlay as "Te puede interesar".
   Zero reserved description gap. The copy always stays in the DOM for SEO. */
@media(min-width:901px){
 body.ek-integrated[data-route="/problemas/"] .ek-f2-rail>.ek-ed-card,
 body.ek-unified[data-route="/problemas/"] main.ek-problem-hub .related>ul>li>a{
   height:300px!important;min-height:300px!important;max-height:300px!important;
   aspect-ratio:auto!important;position:relative!important;overflow:hidden!important;
   border-radius:18px!important;isolation:isolate;
 }
 body.ek-integrated[data-route="/problemas/"] .ek-f2-rail>.ek-ed-card .ek-ed-card-body,
 body.ek-unified[data-route="/problemas/"] main.ek-problem-hub .related .related-text{
   position:absolute!important;left:12px!important;right:12px!important;bottom:12px!important;
   width:auto!important;height:auto!important;min-height:0!important;
   padding:17px 19px!important;gap:8px!important;
   display:flex!important;flex-direction:column!important;justify-content:flex-end!important;
   background:rgba(29,39,35,.88)!important;border-radius:14px!important;
   box-sizing:border-box!important;
 }
 body.ek-integrated[data-route="/problemas/"] .ek-f2-rail>.ek-ed-card .ek-ed-card-desc{
   display:block!important;
   opacity:0!important;visibility:hidden!important;max-height:0!important;
   margin:0!important;overflow:hidden!important;
   -webkit-line-clamp:unset!important;white-space:normal!important;
   transition:opacity .2s ease,max-height .2s ease,visibility .2s!important;
 }
 body.ek-integrated[data-route="/problemas/"] .ek-f2-rail>.ek-ed-card:is(:hover,:focus-within) .ek-ed-card-desc{
   opacity:1!important;visibility:visible!important;max-height:15em!important;
   margin-top:6px!important;
 }
 body.ek-integrated[data-route="/problemas/"] .ek-f2-rail>.ek-ed-card .ek-ed-card-title{
   margin:0!important;min-height:0!important;
 }
 /* The existing related cards already have this exact reveal behavior.
    Keep their description collapsed too and match height with hub cards. */
 body.ek-unified[data-route="/problemas/"] main.ek-problem-hub .related>ul>li>a:is(:hover,:focus-visible) .related-text{max-height:calc(100% - 24px)}
}
@media(max-width:900px){
 /* Touch users cannot hover. Keep a compact legible caption with real text. */
 body.ek-integrated[data-route="/problemas/"] .ek-f2-rail>.ek-ed-card{
   min-height:290px!important;height:clamp(290px,76vw,370px)!important;
   max-height:none!important;
 }
 body.ek-integrated[data-route="/problemas/"] .ek-f2-rail>.ek-ed-card .ek-ed-card-body{
   padding:14px 17px!important;gap:7px!important;
   border-radius:14px!important;
 }
 body.ek-integrated[data-route="/problemas/"] .ek-f2-rail>.ek-ed-card .ek-ed-card-desc{
   display:-webkit-box!important;-webkit-box-orient:vertical!important;
   -webkit-line-clamp:3!important;line-clamp:3!important;
   overflow:hidden!important;max-height:4.6em!important;
   opacity:1!important;visibility:visible!important;
   font-size:13px!important;line-height:1.45!important;
 }
}
@media(prefers-reduced-motion:reduce){
 body.ek-integrated[data-route="/problemas/"] .ek-f2-rail>.ek-ed-card .ek-ed-card-desc{transition:none!important}
}

/* ATO-539 · Real search drawer, same graphite language as About reader.
   No sidebar in the grid and no automatic opening while typing. */
body.ek-integrated[data-route="/problemas/"] .hub-search .symptom-search{
 display:block!important;grid-template-columns:none!important;
 grid-template-areas:none!important;max-width:740px!important;margin-inline:auto!important;
 padding-top:24px!important;
}
body.ek-integrated[data-route="/problemas/"] .hub-search .symptom-search .symptom-chips{
 margin-top:20px!important;
}
html.ek-search-drawer-open,html.ek-search-drawer-open body{
 overflow:hidden!important;overscroll-behavior:none!important;
}
.ek-search-drawer-scrim[hidden]{display:none!important}
.ek-search-drawer-scrim{
 position:fixed!important;inset:0!important;z-index:169!important;
 background:rgba(12,20,17,.52)!important;
 backdrop-filter:blur(5px);
}
body.ek-integrated[data-route="/problemas/"] .hub-search .ek-f5-search-sidebar.ek-search-drawer{
 position:fixed!important;top:0!important;right:0!important;bottom:0!important;left:auto!important;
 display:flex!important;flex-direction:column!important;
 width:min(690px,calc(100vw - 24px))!important;height:100dvh!important;
 max-height:100dvh!important;max-width:100%!important;
 margin:0!important;padding:0!important;box-sizing:border-box!important;
 z-index:170!important;
 border:0!important;border-left:1px solid #e1ddd833!important;
 border-radius:0!important;
 background:#34302b!important;color:#f4f0e7!important;
 box-shadow:-18px 0 44px #17130e25!important;
 overflow:hidden!important;overscroll-behavior:contain!important;
 transform:translate3d(101%,0,0);
 transition:transform .22s cubic-bezier(.2,.7,.25,1);
}
body.ek-integrated[data-route="/problemas/"] .hub-search .ek-f5-search-sidebar.ek-search-drawer[hidden]{
 display:none!important
}
body.ek-integrated[data-route="/problemas/"] .hub-search .ek-f5-search-sidebar.ek-search-drawer.is-open{
 transform:translate3d(0,0,0)!important
}
.ek-search-drawer-head{
 flex:none;display:flex;align-items:flex-start;justify-content:space-between;gap:20px;
 padding:clamp(24px,4vw,40px) clamp(20px,3vw,36px) 20px;
 border-bottom:1px solid #ffffff26;
}
.ek-search-drawer-eyebrow{
 font-size:11px!important;letter-spacing:.06em!important;
 margin:0 0 10px!important;color:#d0ccc7!important;
}
.ek-search-drawer-head h2{
 font:400 clamp(26px,3vw,36px)/1.2 serif,serif!important;
 margin:0 0 8px!important;color:#f4f0e7!important;
}
.ek-search-drawer-head .symptom-status{
 margin:0!important;color:#d0ccc7!important;
 font-size:13px!important;line-height:1.4!important;
}
.ek-search-drawer-close{
 flex:none;display:grid;place-items:center;
 min-width:44px;min-height:44px;border-radius:50%;
 border:1px solid #ffffff66;background:#ffffff12;color:#f4f0e7;
 cursor:pointer;
}
.ek-search-drawer-close:focus-visible{outline:2px solid #fff;outline-offset:2px}
.ek-search-drawer-body{
 flex:1;min-height:0;overflow-y:auto!important;overscroll-behavior:contain;
 -webkit-overflow-scrolling:touch;
 padding:24px clamp(18px,3vw,34px) calc(32px + env(safe-area-inset-bottom,0));
}
body.ek-integrated[data-route="/problemas/"] .hub-search .ek-search-drawer .symptom-results{
 display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;
 gap:12px!important;margin:0!important;max-width:none!important;
}
body.ek-integrated[data-route="/problemas/"] .hub-search .ek-search-drawer .symptom-results[hidden]{
 display:none!important
}
body.ek-integrated[data-route="/problemas/"] .hub-search .ek-search-drawer .symptom-result{
 min-width:0!important;overflow-wrap:anywhere;
}
@media(max-width:700px){
 body.ek-integrated[data-route="/problemas/"] .hub-search .symptom-search{
   max-width:100%!important;padding-top:20px!important
 }
 body.ek-integrated[data-route="/problemas/"] .hub-search .ek-f5-search-sidebar.ek-search-drawer{
   left:0!important;right:0!important;top:auto!important;bottom:0!important;
   width:100%!important;height:min(88dvh,780px)!important;max-height:88dvh!important;
   border:0!important;border-top:1px solid #ffffff33!important;
   border-radius:22px 22px 0 0!important;
   transform:translate3d(0,101%,0);
 }
 body.ek-integrated[data-route="/problemas/"] .hub-search .ek-f5-search-sidebar.ek-search-drawer.is-open{
   transform:translate3d(0,0,0)!important
 }
 body.ek-integrated[data-route="/problemas/"] .hub-search .ek-search-drawer .symptom-results{
   grid-template-columns:minmax(0,1fr)!important;gap:10px!important
 }
 .ek-search-drawer-head{padding:20px 18px 16px;position:relative}
 .ek-search-drawer-body{padding:18px 16px calc(20px + env(safe-area-inset-bottom,0))}
 .ek-search-drawer-head h2{font-size:26px!important}
 /* F6 · Asa de arrastre: una pieza, arriba, que anuncia el gesto de bajar. */
 .ek-search-drawer-grab{
   position:absolute;top:8px;left:50%;transform:translateX(-50%);
   width:44px;height:5px;border-radius:99px;background:#ffffff59;
 }
 body.ek-integrated[data-route="/problemas/"] .hub-search .ek-f5-search-sidebar.ek-search-drawer.is-dragging{
   transition:none!important;
 }
}
@media(prefers-reduced-motion:reduce){
 body.ek-integrated[data-route="/problemas/"] .hub-search .ek-f5-search-sidebar.ek-search-drawer{
   transition:none!important
 }
}

/* Same photo/title/short-description model on mobile, without hover.
   Related content is not hidden for touch users on this hub. */
@media(max-width:700px){
 body.ek-unified[data-route="/problemas/"] main.ek-problem-hub .related>ul>li>a{
  height:clamp(290px,76vw,370px)!important;min-height:290px!important;
  aspect-ratio:auto!important;overflow:hidden!important;
 }
 body.ek-unified[data-route="/problemas/"] main.ek-problem-hub .related .related-text{
  left:12px!important;right:12px!important;bottom:12px!important;
  padding:14px 17px!important;
 }
 body.ek-unified[data-route="/problemas/"] main.ek-problem-hub .related .related-text>span:not(.related-label):not(.related-action):not(.related-cta){
  display:-webkit-box!important;visibility:visible!important;opacity:1!important;
  max-height:4.6em!important;overflow:hidden!important;
  -webkit-line-clamp:3!important;line-clamp:3!important;
  -webkit-box-orient:vertical!important;
  line-height:1.45!important;
 }
}

/* ATO-539 · Three approved preview-only rounds.
  1 Search: graphite + one result per row; global mobile search controls.
  2 Contact/reviews: move real text, full-bleed graphite, circular navigation.
  3 Related cards: match approved Problems screenshot, not vice versa. */

/* Problem-results drawer. Use the native graphite token, not dark green. */
body.ek-integrated[data-route="/problemas/"] .hub-search .ek-f5-search-sidebar.ek-search-drawer{
 background:var(--ek-graphite,#232729)!important;
 border-left-color:#ffffff24!important;border-top-color:#ffffff24!important;
}
body.ek-integrated[data-route="/problemas/"] .hub-search .ek-search-drawer .symptom-results{
 display:grid!important;grid-template-columns:minmax(0,1fr)!important;gap:10px!important;
}
body.ek-integrated[data-route="/problemas/"] .hub-search .ek-search-drawer .search-hit a{
 background:transparent!important;border:0!important;box-shadow:none!important;
 border-radius:0!important;padding:17px 12px!important;
 height:auto!important;color:#f5f1eb!important;
}
body.ek-integrated[data-route="/problemas/"] .hub-search .ek-search-drawer .search-hit a:is(:hover,:focus-visible){
 color:#dfa089!important;background:rgba(223,160,137,.10)!important;
}
/* Mobile global search: same semantics as before, small visual arrow, 44px tap. */
@media(max-width:700px){
 #ek-search .ek-search-card{
  grid-template-columns:minmax(0,1fr) 44px!important;
  gap:7px 8px!important;padding:13px 0!important;
 }
 #ek-search .ek-search-card h3{font-size:clamp(17px,4.3vw,20px)!important;line-height:1.25!important}
 #ek-search button.ek-search-expand{
  display:grid!important;place-items:center!important;
  width:44px!important;height:44px!important;min-width:44px!important;min-height:44px!important;
  padding:0!important;border:0!important;background:transparent!important;
  border-radius:50%!important;font-size:0!important;
 }
 #ek-search button.ek-search-expand svg{
  display:block!important;width:19px!important;height:19px!important;
  stroke:currentColor!important;transition:transform .18s ease;
 }
 #ek-search button.ek-search-expand[aria-expanded="true"] svg{transform:rotate(180deg)}
 #ek-search .ek-search-description{grid-column:1/-1;padding:0 0 12px}
 #ek-search .ek-search-description a{padding:7px 0!important;min-height:44px!important}
}
/* Contact: right column now receives existing first-visit copy. */
@media(min-width:960px){
 body[data-route="/contacto/"] .contact-content{
  align-items:start!important;
 }
 body[data-route="/contacto/"] .ek-contact-first-visit{
  margin-top:clamp(38px,4vw,66px)!important;
  padding-top:clamp(24px,3vw,36px)!important;
  border-top:1px solid var(--ek-line,#d4d5c9)!important;
 }
 body[data-route="/contacto/"] .ek-contact-first-visit h2{
  font-size:clamp(28px,2.6vw,40px)!important;
 }
}
@media(max-width:959px){
 body[data-route="/contacto/"] .ek-contact-first-visit{
  margin-top:30px;padding-top:24px;border-top:1px solid var(--ek-line,#d4d5c9)
 }
}
/* Home testimonies: full-bleed graphite band but original review panel intact. */
body.ek-integrated .home-experience{
 position:relative!important;isolation:isolate!important;
 background:transparent!important;
 padding-top:clamp(52px,6vw,84px)!important;
 padding-bottom:clamp(58px,6vw,90px)!important;
}
body.ek-integrated .home-experience::before{
 content:"";position:absolute;z-index:-1;
 top:0;bottom:0;left:50%;transform:translateX(-50%);
 width:100vw;background:var(--ek-graphite,#232729);
 pointer-events:none;
}
body.ek-integrated .home-experience>h2,
body.ek-integrated .home-experience>.eyebrow{
 color:#f4f0e7!important;
}
body.ek-integrated .home-experience .ek-reviews-nav{
 border-top-color:#ffffff30!important;
}
body.ek-integrated .home-experience .ek-reviews-progress{color:#f4f0e7!important}
body.ek-integrated .home-experience .ek-reviews-dot::before{background:#ffffff70!important}
body.ek-integrated .home-experience .ek-reviews-dot[aria-current="true"]::before{
 background:#fff!important;transform:scale(1.35)!important
}
body.ek-integrated .home-experience :is(.ek-reviews-previous,.ek-reviews-next){
 width:48px!important;height:48px!important;min-height:48px!important;min-width:48px!important;
 max-width:48px!important;padding:0!important;
 border:1px solid #ffffff94!important;border-radius:50%!important;
 color:#fff!important;background:transparent!important;
 font-size:0!important;line-height:0!important;display:grid!important;place-items:center!important;
}
body.ek-integrated .home-experience :is(.ek-reviews-previous,.ek-reviews-next)::before{
 content:"";display:block;width:12px;height:12px;border-top:2px solid #fff;border-right:2px solid #fff;
}
body.ek-integrated .home-experience .ek-reviews-previous::before{transform:translateX(2px) rotate(-135deg)}
body.ek-integrated .home-experience .ek-reviews-next::before{transform:translateX(-2px) rotate(45deg)}
body.ek-integrated .home-experience :is(.ek-reviews-previous,.ek-reviews-next):hover{
 background:#ffffff14!important;
}
body.ek-integrated .home-experience .ek-reviews-nav :is(button):focus-visible{
 outline-color:#fff!important;
}
body.ek-integrated .home-experience>.home-text-link{color:#fff!important;border-color:#ffffff65!important}
@media(min-width:1121px){
 body.ek-integrated .home-experience .ek-reviews{position:relative}
 body.ek-integrated .home-experience .ek-reviews-nav{
  display:flex!important;justify-content:center!important;
  width:100%!important;margin-top:18px!important;padding-top:16px!important;
 }
 body.ek-integrated .home-experience .ek-reviews-previous{
  position:absolute;left:-68px;top:38%;
 }
 body.ek-integrated .home-experience .ek-reviews-next{
  position:absolute;right:-68px;top:38%;
 }
}
@media(max-width:650px){
 body.ek-integrated .home-experience :is(.ek-reviews-previous,.ek-reviews-next){display:none!important}
}
/* The approved /problemas/ card sizing is unchanged. Match related photo cards
   on OTHER pages to those proportions; don't impose a fixed desktop height on mobile. */
@media(min-width:901px){
 body.ek-unified:not([data-route="/problemas/"]) .related>ul>li>a{
  height:300px!important;min-height:300px!important;max-height:300px!important;
  aspect-ratio:auto!important;overflow:hidden!important;
 }
}
@media(max-width:900px){
 body.ek-unified:not([data-route="/problemas/"]) .related>ul>li>a{
  height:clamp(290px,76vw,370px)!important;
  min-height:290px!important;max-height:370px!important;
  aspect-ratio:auto!important;overflow:hidden!important;
 }
}
@media(prefers-reduced-motion:reduce){
 #ek-search button.ek-search-expand svg{transition:none!important}
}

/* ATO-539 · Review source mark: keep Google's official color icon unmodified.
   The smaller surrounding attribution, including "Google", is white. */
body.ek-integrated .home-experience .review-author .ek-review-google-source{
 display:inline-flex!important;align-items:center;justify-content:flex-end;
 gap:6px!important;font:400 12px/1.4 var(--ek-font-body,"Ekonatura Onest",sans-serif)!important;
 color:#f4f0e7!important;letter-spacing:0!important;
 max-width:100%;white-space:normal;
}
body.ek-integrated .home-experience .ek-review-google-mark{
 display:inline-grid!important;place-items:center!important;flex:0 0 20px!important;
 width:20px!important;height:20px!important;border-radius:50%!important;
 background:#fff!important;box-shadow:0 0 0 1px #ffffff2e;
}
body.ek-integrated .home-experience .ek-review-google-mark img{
 display:block!important;width:16px!important;height:16px!important;max-width:none!important;
 object-fit:contain!important;
}
body.ek-integrated .home-experience .ek-review-google-name{font-weight:500!important;color:#fff!important}
/* Both arrows share one vertical reference: the visible review track, not nav height. */
@media(min-width:1121px){
 body.ek-integrated .home-experience .ek-reviews{position:relative!important}
 body.ek-integrated .home-experience :is(.ek-reviews-previous,.ek-reviews-next){
   top:var(--ek-review-card-middle,240px)!important;
   transform:translateY(-50%)!important;
   margin:0!important;box-sizing:border-box!important;
   justify-self:center!important;align-self:center!important;
 }
 body.ek-integrated .home-experience .ek-reviews-previous{left:-72px!important;right:auto!important}
 body.ek-integrated .home-experience .ek-reviews-next{right:-72px!important;left:auto!important}
 body.ek-integrated .home-experience .ek-reviews-previous::before{transform:rotate(-135deg)!important}
 body.ek-integrated .home-experience .ek-reviews-next::before{transform:rotate(45deg)!important}
}
@media(max-width:700px){
 body.ek-integrated .home-experience .review-author .ek-review-google-source{
   flex-wrap:wrap;justify-content:flex-start;gap:5px!important;font-size:11px!important
 }
}

/* ATO-539 · Final user review: less leading AND tracking on standalone CV. */
body[data-route="/sobre-mi/detalle/"] .ek-personal-html :is(.ek-personal-split h1,.ek-personal-chapter h2){
 line-height:1.055!important;
 letter-spacing:-.046em!important;
 text-wrap:balance;
}
body[data-route="/sobre-mi/detalle/"] .ek-personal-html :is(.ek-personal-split h1,.ek-personal-chapter h2){
 overflow-wrap:normal!important;hyphens:none!important;
}
body[data-route="/sobre-mi/detalle/"] .ek-personal-chapter{
 scroll-margin-top:92px!important;
}
body[data-route="/sobre-mi/detalle/"] .ek-personal-html .ek-personal-top nav a{
 font-size:11px!important;font-weight:450!important;
 text-decoration:none!important;white-space:nowrap!important;
 padding:9px 0!important;min-height:44px!important;
 display:inline-flex!important;align-items:center!important;
}
@media(max-width:1050px){
 body[data-route="/sobre-mi/detalle/"] .ek-personal-html .ek-personal-top{
  display:flex!important;flex-direction:column!important;
  align-items:flex-start!important;gap:2px!important;padding-block:8px!important;
 }
 body[data-route="/sobre-mi/detalle/"] .ek-personal-html .ek-personal-top nav{
  width:100%!important;max-width:100%!important;min-width:0!important;
  display:flex!important;flex-wrap:nowrap!important;gap:20px!important;
  justify-content:flex-start!important;overflow-x:auto!important;
  -webkit-overflow-scrolling:touch;scroll-snap-type:x proximity;
  scrollbar-width:none;
 }
 body[data-route="/sobre-mi/detalle/"] .ek-personal-html .ek-personal-top nav::-webkit-scrollbar{display:none}
 body[data-route="/sobre-mi/detalle/"] .ek-personal-html .ek-personal-top nav a{
  flex:none!important;scroll-snap-align:start;
 }
}
@media(max-width:700px){
 body[data-route="/sobre-mi/detalle/"] .ek-personal-html :is(.ek-personal-split h1,.ek-personal-chapter h2){
  line-height:1.09!important;letter-spacing:-.037em!important;
 }
}
/* Reviews: same graphite as the full-width band; retain fine border to define card. */
body.ek-integrated .home-experience .ek-review-card.review{
 background:var(--ek-graphite,#232729)!important;
 border:1px solid rgba(244,240,231,.20)!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;display:none!important;
}
/* Contact: replace the oversized 94px CTA with a deliberate, centered button. */
@media(min-width:960px){
 body[data-route="/contacto/"] .contact-first .ek-contact-actions{
  display:grid!important;grid-template-columns:minmax(0,1fr)!important;
  grid-template-rows:auto auto auto!important;gap:11px!important;
  max-width:520px!important;margin:22px auto 26px!important;
  justify-items:center!important;align-items:center!important;
 }
 body[data-route="/contacto/"] .contact-first .ek-contact-button--primary{
  grid-column:1!important;grid-row:1!important;
  height:auto!important;min-height:52px!important;max-height:58px!important;
  width:100%!important;max-width:460px!important;
  padding:12px 24px!important;
  font-size:15px!important;line-height:1.35!important;
  border-radius:999px!important;
 }
 body[data-route="/contacto/"] .contact-first .ek-contact-phone{
  grid-column:1!important;grid-row:2!important;
  justify-content:center!important;text-align:center!important;
  width:100%!important;padding:2px 0!important;
 }
 body[data-route="/contacto/"] .contact-first .ek-contact-save{
  grid-column:1!important;grid-row:3!important;
  width:100%!important;max-width:460px!important;
  border-left:0!important;border-top:1px solid #dedad5!important;
  padding:11px 12px!important;align-items:center!important;
  text-align:center!important;
 }
}
@media(max-width:959px){
 body[data-route="/contacto/"] .contact-first .ek-contact-button--primary{
  min-height:52px!important;height:auto!important;
  padding:12px 19px!important;border-radius:999px!important;
 }
}


/* ATO-539 · Matched editorial sequence:
   About / Mi forma de trabajar follows the wide numbered / experience reference.
   Preserve every paragraph and the order of the original steps. */
@media(min-width:801px){
 body[data-route="/sobre-mi/"] .reading.prose .ek-hero-intro--editorial{
  position:relative!important;left:50%!important;transform:translateX(-50%)!important;
  width:min(1120px,calc(100vw - 64px))!important;max-width:none!important;
  margin:0!important;padding:44px 0 10px!important;
  border-top:0!important;
 }
 body[data-route="/sobre-mi/"] .ek-hero-intro--editorial .ek-intro-editorial-head{
  max-width:none!important;margin:0 0 27px!important;
 }
 body[data-route="/sobre-mi/"] .ek-hero-intro--editorial .ek-intro-editorial-title{
  font:400 clamp(30px,3.1vw,41px)/1.12 var(--ek-font-heading,"Ekonatura Geist Serif",serif)!important;
  letter-spacing:-.028em!important;max-width:100%!important;text-wrap:balance;
 }
 body[data-route="/sobre-mi/"] .ek-hero-intro--editorial .ek-intro-editorial-row{
  grid-template-columns:minmax(340px,.47fr) minmax(0,.53fr)!important;
  column-gap:clamp(28px,4vw,52px)!important;
  padding:28px 0 30px!important;
  align-items:start!important;
 }
 body[data-route="/sobre-mi/"] .ek-hero-intro--editorial .ek-intro-editorial-label{
  display:flex!important;flex-direction:column!important;align-items:flex-start!important;
  gap:10px!important;font:400 clamp(22px,2.2vw,29px)/1.18 var(--ek-font-heading,"Ekonatura Geist Serif",serif)!important;
  letter-spacing:-.025em!important;color:var(--ek-ink)!important;max-width:none!important;
 }
 body[data-route="/sobre-mi/"] .ek-hero-intro--editorial .ek-intro-editorial-number{
  font:400 11px/1.3 var(--ek-font-body,"Ekonatura Onest",system-ui,sans-serif)!important;
  letter-spacing:.045em!important;color:var(--ek-muted)!important;
 }
 body[data-route="/sobre-mi/"] .ek-hero-intro--editorial .ek-intro-editorial-copy{
  max-width:none!important;padding-top:18px!important;
 }
}
/* ATO-545 · The numbered narrative of the consultation experience sits INSIDE
   the `.ek-band` reading card (760px), but this rule pulled the list out
   of the flow with `left:50%` + `translateX(-50%)` and gave it the full
   1120px measure of the page grid: the 01/02/03 markers and their text
   left the card and overlapped the surrounding column. The list now keeps
   the measure of the reading block that contains it, stays in the flow
   and can never escape the card. The markers, the copy and the order are
   untouched; only the geometry is corrected. */
@media(min-width:801px){
 body[data-route="/experiencia-ekonatura/"] .reading.prose .ek-observation-list{
  width:100%!important;max-width:100%!important;
  position:static!important;left:auto!important;transform:none!important;
 }
}
@media(max-width:800px){
 body[data-route="/sobre-mi/"] .ek-hero-intro--editorial{
  width:100%!important;max-width:none!important;margin:0!important;
  padding:30px 0 8px!important;left:auto!important;transform:none!important;
 }
 body[data-route="/sobre-mi/"] .ek-hero-intro--editorial .ek-intro-editorial-title{
  font:400 clamp(29px,7vw,37px)/1.13 var(--ek-font-heading,"Ekonatura Geist Serif",serif)!important;
  letter-spacing:-.025em!important;
 }
 body[data-route="/sobre-mi/"] .ek-hero-intro--editorial .ek-intro-editorial-row{
  display:grid!important;grid-template-columns:minmax(0,1fr)!important;
  gap:10px!important;padding:23px 0!important;
 }
 body[data-route="/sobre-mi/"] .ek-hero-intro--editorial .ek-intro-editorial-label{
  display:flex!important;flex-direction:column!important;align-items:flex-start!important;
  gap:6px!important;font:400 clamp(22px,5.5vw,27px)/1.18 var(--ek-font-heading,"Ekonatura Geist Serif",serif)!important;
  letter-spacing:-.023em!important;
 }
 body[data-route="/sobre-mi/"] .ek-hero-intro--editorial .ek-intro-editorial-number{
  font:400 11px/1.3 var(--ek-font-body,"Ekonatura Onest",sans-serif)!important;color:var(--ek-muted)!important;
 }
 body[data-route="/sobre-mi/"] .ek-hero-intro--editorial .ek-intro-editorial-copy{
  max-width:none!important;padding:0!important;
 }
}
/* Home: real adjacent wayfinding cards, not two small links in an oversized rail. */
body[data-route="/"] main>.goal-paths{
 display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;
 gap:14px!important;
 width:min(1120px,calc(100% - 2*var(--ek-gutter,28px)))!important;
 max-width:100%!important;margin:18px auto 36px!important;
 padding:0!important;border:0!important;
}
body[data-route="/"] main>.goal-paths>a{
 display:flex!important;flex-direction:row!important;align-items:center!important;
 justify-content:space-between!important;
 width:100%!important;min-width:0!important;
 min-height:78px!important;height:auto!important;
 margin:0!important;padding:20px 24px!important;
 border:1px solid var(--ek-line,#d4d5c9)!important;
 border-radius:16px!important;
 background:var(--ek-white,#fcfbf7)!important;
 color:var(--ek-ink,#3c3833)!important;
 font:500 clamp(16px,1.4vw,18px)/1.35 var(--ek-font-body,"Ekonatura Onest",sans-serif)!important;
 text-decoration:none!important;box-sizing:border-box!important;
 transition:border-color .15s ease,background .15s ease!important;
}
body[data-route="/"] main>.goal-paths>a svg{
 flex:none!important;width:23px!important;height:23px!important;
 align-self:center!important;margin-left:15px!important;
 stroke-width:1.5!important;
}
body[data-route="/"] main>.goal-paths>a:is(:hover,:focus-visible){
 background:var(--ek-surface-alt,#e8e9df)!important;
 border-color:var(--ek-ink,#3c3833)!important;
}
body[data-route="/"] main>.goal-paths>a:focus-visible{outline:2px solid var(--ek-ink)!important;outline-offset:3px!important}
@media(max-width:700px){
 body[data-route="/"] main>.goal-paths{
  gap:10px!important;width:calc(100% - 32px)!important;
  margin:14px auto 28px!important;
 }
 body[data-route="/"] main>.goal-paths>a{
  min-height:96px!important;padding:17px 16px!important;
  font-size:clamp(14px,3.8vw,16px)!important;gap:10px!important;
 }
 body[data-route="/"] main>.goal-paths>a svg{
  width:19px!important;height:19px!important;margin-left:auto!important;
 }
}
@media(max-width:370px){
 body[data-route="/"] main>.goal-paths{grid-template-columns:1fr!important}
 body[data-route="/"] main>.goal-paths>a{min-height:62px!important}
}
/* Review modal: contextual labels match the small typography of the About CV
   navigation. Only labels shrink; full text remains readable. */
.ek-review-dialog .ek-review-dialog-body .review-kicker,
.ek-review-dialog .ek-review-dialog-body .ek-exp-label,
.ek-sheet .ek-sheet-body .review-kicker,
.ek-sheet .ek-sheet-body .ek-exp-label{
 display:block!important;
 font:400 11px/1.4 var(--ek-font-body,"Ekonatura Onest",system-ui,sans-serif)!important;
 letter-spacing:.035em!important;text-transform:uppercase!important;
 color:var(--ek-muted,#726e69)!important;
 margin:0 0 10px!important;
}
.ek-review-dialog .ek-review-dialog-body .owner-response .review-kicker{
 font-size:11px!important;letter-spacing:.035em!important;
}
@media(prefers-reduced-motion:reduce){
 body[data-route="/"] main>.goal-paths>a{transition:none!important}
}

/* ATO-539 · About photo hero must share the site's established white-on-photo
   header, and only the independent Detail page can change light/dark theme. */
body[data-route="/sobre-mi/"] .ek-header{
 margin-bottom:calc(-1 * var(--ek-header-h,100px))!important;
}
body[data-route="/sobre-mi/"] .ek-header:not(.is-pill) .ek-header-inner{
 background:transparent!important;border-color:transparent!important;
 color:#fff!important;box-shadow:none!important;
 backdrop-filter:none!important;-webkit-backdrop-filter:none!important;
}
body[data-route="/sobre-mi/"] .ek-header:not(.is-pill) .brand img{
 filter:brightness(0) invert(1)!important;
}
body[data-route="/sobre-mi/"] .ek-header:not(.is-pill) :is(.button,.ek-search-open,.ek-menu,.ek-nav>a,.ek-explore>summary){
 color:#fff!important;border-color:#ffffff9c!important;
}
body[data-route="/sobre-mi/"] .ek-header:not(.is-pill) .ek-menu span{
 background:#fff!important;
}
/* The route-specific header is over the photo only at the top. Keep the
   site's graphite compact menu after scroll, unchanged. */
body[data-route="/sobre-mi/"] .ek-header.is-pill{
 margin-bottom:calc(-1 * var(--ek-header-h,100px))!important;
}

/* Independent 3-link CV header: original navigation and toggle at marked end. */
body[data-route="/sobre-mi/detalle/"] .ek-personal-html .ek-personal-top{
 display:flex!important;flex-direction:row!important;align-items:center!important;
 justify-content:space-between!important;min-height:66px!important;
 padding:10px clamp(16px,2.2vw,30px)!important;gap:14px!important;
}
body[data-route="/sobre-mi/detalle/"] .ek-detail-nav-actions{
 display:flex;align-items:center;justify-content:flex-end;gap:14px;
 min-width:0;margin-left:auto;
}
body[data-route="/sobre-mi/detalle/"] .ek-personal-html .ek-personal-top nav{
 display:flex!important;flex-direction:row!important;align-items:center!important;
 flex-wrap:nowrap!important;justify-content:flex-end!important;gap:clamp(12px,2vw,27px)!important;
 width:auto!important;overflow:visible!important;
}
body[data-route="/sobre-mi/detalle/"] .ek-personal-html .ek-personal-top nav a{
 display:inline-flex!important;align-items:center!important;min-height:44px!important;
 padding:8px 0!important;flex:none!important;
 font-size:11px!important;line-height:1.3!important;
 letter-spacing:0!important;font-weight:400!important;text-transform:uppercase!important;
}
body[data-route="/sobre-mi/detalle/"] .ek-personal-html .ek-personal-top nav a:first-child{
 display:inline-flex!important;
}
body[data-route="/sobre-mi/detalle/"] .ek-detail-theme-toggle{
 display:grid!important;place-items:center!important;flex:0 0 44px!important;
 width:44px!important;height:44px!important;padding:10px!important;
 border-radius:50%!important;border:1px solid currentColor!important;
 background:transparent!important;color:inherit!important;cursor:pointer;
 opacity:.82;
}
body[data-route="/sobre-mi/detalle/"] .ek-detail-theme-toggle:hover{
 opacity:1;background:currentColor!important;
}
body[data-route="/sobre-mi/detalle/"] .ek-detail-theme-toggle svg{
 display:block;width:19px;height:19px;stroke:currentColor;
}
body[data-route="/sobre-mi/detalle/"] .ek-detail-theme-sun{display:none!important}
body[data-route="/sobre-mi/detalle/"].ek-detail-dark .ek-detail-theme-sun{display:block!important}
body[data-route="/sobre-mi/detalle/"].ek-detail-dark .ek-detail-theme-moon{display:none!important}
@media(max-width:700px){
 body[data-route="/sobre-mi/detalle/"] .ek-personal-html .ek-personal-top{
  display:flex!important;flex-direction:column!important;align-items:stretch!important;
  justify-content:center!important;gap:2px!important;padding:8px 14px!important;
 }
 body[data-route="/sobre-mi/detalle/"] .ek-detail-nav-actions{
  width:100%!important;margin:0!important;gap:8px!important;justify-content:space-between!important;
 }
 body[data-route="/sobre-mi/detalle/"] .ek-personal-html .ek-personal-top nav{
  justify-content:flex-start!important;gap:clamp(8px,3vw,16px)!important;
  min-width:0!important;max-width:calc(100% - 50px)!important;
  overflow-x:auto!important;scrollbar-width:none!important;
  -webkit-overflow-scrolling:touch!important;
 }
 body[data-route="/sobre-mi/detalle/"] .ek-personal-html .ek-personal-top nav::-webkit-scrollbar{
  display:none!important;
 }
 body[data-route="/sobre-mi/detalle/"] .ek-personal-html .ek-personal-top nav a{
  font-size:clamp(9px,2.6vw,11px)!important;
 }
}
/* Separate, independently reversible graphite mode. Other routes stay original. */
body[data-route="/sobre-mi/detalle/"].ek-detail-dark{
 background:#202327!important;color:#eceeea!important;
}
body[data-route="/sobre-mi/detalle/"].ek-detail-dark .ek-personal-html{
 background:#202327!important;color:#eceeea!important;
}
body[data-route="/sobre-mi/detalle/"].ek-detail-dark .ek-personal-top{
 background:#202327!important;color:#eceeea!important;
 border-bottom:1px solid #ffffff28!important;
}
body[data-route="/sobre-mi/detalle/"].ek-detail-dark .ek-personal-html :is(h1,h2,h3,h4,p,small,li,figcaption,span,strong,a,.ek-personal-no,.ek-personal-teacher){
 color:#eceeea!important;-webkit-text-fill-color:#eceeea!important;
}
body[data-route="/sobre-mi/detalle/"].ek-detail-dark .ek-personal-html :is(.ek-personal-eyebrow,.ek-personal-no,.ek-personal-teacher,.ek-personal-provenance,.ek-personal-story figcaption,.ek-personal-list small){
 color:#b5bab8!important;-webkit-text-fill-color:#b5bab8!important;
}
body[data-route="/sobre-mi/detalle/"].ek-detail-dark .ek-personal-html :is(h1,h2) .ek-personal-title-muted{
 color:#c0c4c2!important;-webkit-text-fill-color:#c0c4c2!important;
}
body[data-route="/sobre-mi/detalle/"].ek-detail-dark .ek-personal-html :is(.ek-personal-story,.ek-personal-chapter,.ek-personal-list article,.ek-personal-music,.ek-personal-social){
 border-color:#ffffff2b!important;
}
body[data-route="/sobre-mi/detalle/"].ek-detail-dark .ek-personal-html :is(.ek-personal-back,.ek-personal-music-link){
 border-bottom-color:#ffffff90!important;color:#eceeea!important;
}
body[data-route="/sobre-mi/detalle/"].ek-detail-dark .ek-personal-html :is(.ek-personal-category,.ek-personal-fixed-back){
 background:#36322d!important;color:#eceeea!important;border-color:#ffffff60!important;
}
body[data-route="/sobre-mi/detalle/"].ek-detail-dark .ek-personal-html :is(a,button):focus-visible{
 outline:2px solid #fff!important;outline-offset:4px!important;
}
body[data-route="/sobre-mi/detalle/"].ek-detail-dark .ek-personal-html :is(a:hover,a:focus-visible){
 color:#fff!important;
}
body[data-route="/sobre-mi/detalle/"].ek-detail-dark .ek-reading-indicator,
body[data-route="/sobre-mi/detalle/"].ek-detail-dark .ek-reading-menu{
 background:#202327!important;color:#f0f0ec!important;border-color:#ffffff25!important;
}
body[data-route="/sobre-mi/detalle/"].ek-detail-dark .ek-reading-indicator :is(span,button,a),
body[data-route="/sobre-mi/detalle/"].ek-detail-dark .ek-reading-menu a{
 color:#f0f0ec!important;
}
body[data-route="/sobre-mi/detalle/"].ek-detail-dark .ek-reading-track{background:#ffffff40!important}
body[data-route="/sobre-mi/detalle/"].ek-detail-dark .ek-reading-progress{background:#fff!important}
body[data-route="/sobre-mi/detalle/"].ek-detail-dark .ek-personal-html .ek-detail-theme-toggle{
 color:#f4f0e7!important;border-color:#ffffff80!important;
}
body[data-route="/sobre-mi/detalle/"].ek-detail-dark .ek-personal-html .ek-detail-theme-toggle:hover{
 background:#ffffff18!important;
}
/* /sobre-mi/: the consultation banner and the two professional sections
   inherit the EXACT width of "Mi forma de trabajar" above (1120px).
   Reuse that approved measure, not a new layout token or another wrapper. */
body[data-route="/sobre-mi/"] .ek-personal-contact{
 margin:clamp(20px,3vw,44px) auto clamp(35px,5vw,64px)!important;
 box-sizing:border-box;
}
@media(min-width:801px){
 body[data-route="/sobre-mi/"] .reading.prose :is(.ek-about-curated,.ek-about-banner),
 body[data-route="/sobre-mi/"] .ek-personal-contact{
  position:relative!important;
  left:50%!important;
  transform:translateX(-50%)!important;
  width:min(1120px,calc(100vw - 64px))!important;
  max-width:none!important;
 }
}
@media(max-width:800px){
 body[data-route="/sobre-mi/"] .reading.prose :is(.ek-about-curated,.ek-about-banner),
 body[data-route="/sobre-mi/"] .ek-personal-contact{
  position:static!important;
  left:auto!important;
  transform:none!important;
  width:100%!important;
  max-width:100%!important;
 }
}
/* Review arrows: remove their decorative circles, not the 44px hit area. */
body.ek-integrated .home-experience :is(.ek-reviews-previous,.ek-reviews-next){
 border:0!important;border-radius:0!important;background:transparent!important;
 box-shadow:none!important;min-width:48px!important;min-height:48px!important;
}
body.ek-integrated .home-experience :is(.ek-reviews-previous,.ek-reviews-next):hover{
 background:transparent!important;opacity:.75!important;
}
body.ek-integrated .home-experience :is(.ek-reviews-previous,.ek-reviews-next):focus-visible{
 outline:2px solid #fff!important;outline-offset:2px!important;
}
/* Google white wordmark from supplied asset; subtle on the graphite review.
   Never remove original review source links or accessible text. */
body.ek-integrated .ek-review-google-source{
 display:inline-flex!important;align-items:center;justify-content:flex-end;
 flex-wrap:wrap;gap:7px!important;white-space:normal!important;
 font:400 11px/1.4 var(--ek-font-body,"Ekonatura Onest",system-ui,sans-serif)!important;
 letter-spacing:0!important;text-transform:none!important;
 color:#fff!important;-webkit-text-fill-color:#fff!important;
}
body.ek-integrated .ek-review-google-source .ek-review-google-name{
 font-weight:400!important;color:inherit!important;
}
body.ek-integrated .ek-review-google-source .ek-review-google-wordmark{
 display:inline-block!important;width:49px!important;height:17px!important;
 object-fit:contain!important;max-width:none!important;opacity:.88!important;
 vertical-align:middle!important;
}
body.ek-integrated .ek-review-entry .ek-review-google-source,
body.ek-integrated :is(.review-list-item,.ek-exp-item) .ek-review-google-source{
 background:#232729!important;border-radius:7px!important;
 padding:3px 6px!important;
}

/* Use the same restrained graphite on individual article review cards. */
body.ek-integrated .ek-review-card.review{
 background:#232729!important;border-color:#ffffff36!important;
 box-shadow:none!important;
}
body.ek-integrated .ek-review-card.review::before{
 background:none!important;content:none!important;display:none!important;
}
body[data-route="/sobre-mi/detalle/"] .ek-detail-theme-toggle:hover{
 background:#1414140d!important;
}

/* ATO-539 closeout: the original three Experience cards in one accessible rail.
   Two at a time on desktop, one plus next-card peek on touch. */
body[data-route="/experiencia-ekonatura/"] .related>ul.ek-experience-rail{
 display:flex!important;flex-wrap:nowrap!important;align-items:stretch!important;
 width:100%!important;min-width:0!important;gap:16px!important;
 overflow-x:auto!important;overflow-y:hidden!important;
 scroll-snap-type:x mandatory!important;overscroll-behavior-x:contain;
 scrollbar-width:none!important;padding:0 0 4px!important;
}
body[data-route="/experiencia-ekonatura/"] .ek-experience-rail::-webkit-scrollbar{display:none}
body[data-route="/experiencia-ekonatura/"] .ek-experience-rail>li{
 flex:0 0 calc((100% - 16px)/2)!important;width:calc((100% - 16px)/2)!important;
 min-width:0!important;max-width:none!important;box-sizing:border-box!important;
 scroll-snap-align:start!important;
}
body[data-route="/experiencia-ekonatura/"] .ek-experience-rail>li>a{
 display:block!important;height:300px!important;min-height:300px!important;
 max-height:300px!important;box-sizing:border-box!important;
}
body[data-route="/experiencia-ekonatura/"] .ek-experience-dots{
 display:flex!important;justify-content:center!important;align-items:center!important;
 gap:2px!important;margin:10px auto 20px!important;min-height:34px!important;
}
@media(max-width:900px){
 body[data-route="/experiencia-ekonatura/"] .ek-experience-rail>li{
  flex:0 0 calc(100% - 30px)!important;width:calc(100% - 30px)!important;
 }
 body[data-route="/experiencia-ekonatura/"] .ek-experience-rail>li>a{
  height:clamp(290px,76vw,370px)!important;max-height:370px!important;
 }
}
/* Wider touch targets without oversized dots. Shared visual cue on Home. */
body.ek-integrated:is([data-route="/"],[data-route="/experiencia-ekonatura/"]) .ek-f2-dots button{
 display:grid!important;place-items:center!important;flex:0 0 34px!important;
 width:34px!important;height:34px!important;min-width:34px!important;
 min-height:34px!important;padding:0!important;border:0!important;
 background:transparent!important;box-shadow:none!important;
 cursor:pointer!important;
}
body.ek-integrated:is([data-route="/"],[data-route="/experiencia-ekonatura/"]) .ek-f2-dots button::before{
 content:"";display:block;width:9px;height:9px;border-radius:50%;
 background:#9f9b96;transition:background .15s,transform .15s;
}
body.ek-integrated:is([data-route="/"],[data-route="/experiencia-ekonatura/"]) .ek-f2-dots button[aria-current="true"]::before{
 background:var(--ek-ink,#3c3833);transform:scale(1.25);
}
body.ek-integrated:is([data-route="/"],[data-route="/experiencia-ekonatura/"]) .ek-f2-dots button:focus-visible{
 outline:2px solid var(--ek-ink,#3c3833)!important;outline-offset:2px;
}
body[data-route="/resenas/"] .ek-exp-source.ek-review-google-source{
 display:inline-flex!important;align-items:center!important;
 gap:7px!important;color:#f4f0e7!important;
 background:#232729!important;border-radius:6px!important;padding:3px 7px!important;
 font-weight:400!important;font-size:11px!important;text-transform:none!important;
}


/* ATO-539 follow-up 20261101: concise review listing.
   The provider appears once above the stars, never on each quote. */
body[data-route="/resenas/"] .ek-reviews-platform{
 display:flex;align-items:center;gap:8px;
 width:fit-content;max-width:100%;margin:18px 0 8px;
 font:400 12px/1.4 var(--ek-font-body,"Ekonatura Onest",system-ui,sans-serif);
 color:var(--ek-muted,#726e69);
}
body[data-route="/resenas/"] .ek-reviews-platform-badge{
 display:inline-flex;align-items:center;justify-content:center;
 background:#232729;border-radius:6px;padding:3px 7px;
}
body[data-route="/resenas/"] .ek-reviews-platform-badge img{
 display:block;width:49px;height:17px;object-fit:contain;
}
body[data-route="/resenas/"] .ek-reviews-rating{
 display:flex;align-items:center;gap:0!important;
}
/* A brief preview is sufficient; the full words remain in "Leer completa". */
body.ek-integrated[data-route="/resenas/"] .ek-review-entry .ek-exp-quote{
 display:-webkit-box!important;
 -webkit-box-orient:vertical!important;
 -webkit-line-clamp:2!important;
 line-clamp:2!important;
 overflow:hidden!important;
 max-height:none!important;
}
/* Problems mobile photo tiles: two descriptive lines, never a dangling third. */
@media(max-width:900px){
 body.ek-integrated[data-route="/problemas/"] .ek-f2-rail>.ek-ed-card .ek-ed-card-desc{
  display:-webkit-box!important;
  -webkit-box-orient:vertical!important;
  -webkit-line-clamp:2!important;
  line-clamp:2!important;
  overflow:hidden!important;
  max-height:2.9em!important;
 }
}

/* ATO-539 final mobile review: one full-width Home action per row. */
@media(max-width:700px){
 body.ek-integrated[data-route="/"] main>.goal-paths{
  display:grid!important;grid-template-columns:minmax(0,1fr)!important;
  gap:12px!important;width:calc(100% - 32px)!important;
  margin:18px auto 38px!important;
 }
 body.ek-integrated[data-route="/"] main>.goal-paths>a{
  width:100%!important;min-height:74px!important;
  padding:18px 20px!important;font-size:clamp(16px,4vw,18px)!important;
 }
}
/* About biography card: graphite, breathing room, responsive natural height. */
body.profile[data-route="/sobre-mi/"] .ek-about-banner{
 background:#232729!important;background-color:#232729!important;
}
@media(max-width:760px){
 body.profile[data-route="/sobre-mi/"] .ek-about-banner{
  background:#232729!important;min-height:0!important;height:auto!important;
  padding:clamp(27px,6vw,38px)!important;gap:30px!important;
  align-items:stretch!important;
 }
 body.profile[data-route="/sobre-mi/"] .ek-about-banner-copy{
  width:100%!important;max-width:none!important;
 }
 body.profile[data-route="/sobre-mi/"] .ek-about-banner-label{margin:0 0 26px!important}
 body.profile[data-route="/sobre-mi/"] .ek-about-banner h2{
  margin:0 0 30px!important;line-height:1.12!important;
 }
 body.profile[data-route="/sobre-mi/"] .ek-about-banner-copy>p:not(.ek-about-banner-label){
  margin:0 0 34px!important;line-height:1.58!important;
  font-size:clamp(16px,4vw,18px)!important;
 }
 body.profile[data-route="/sobre-mi/"] .ek-about-banner-photo,
 body.profile[data-route="/sobre-mi/"] .ek-about-banner-copy>.ek-about-banner-photo{
  margin:12px 0 34px!important;width:100%!important;
  max-width:100%!important;
 }
 body.profile[data-route="/sobre-mi/"] .ek-about-banner-copy>.ek-about-chapters{
  margin:22px 0 0!important;
 }
 body.profile[data-route="/sobre-mi/"] .ek-about-banner-copy>.ek-about-chapters>summary{
  min-height:48px!important;line-height:1.45!important;
 }
 body.profile[data-route="/sobre-mi/"] .ek-about-banner-copy>a[href="/sobre-mi/detalle/"]{
  margin:27px 0 0!important;min-height:44px!important;line-height:1.45!important;
 }
}
/* Reviews: compact flow without changing source links or reviews. */
@media(max-width:700px){
 body[data-route="/resenas/"] .catalog-intro{margin-bottom:12px!important;padding-bottom:6px!important}
 body[data-route="/resenas/"] .ek-reviews-platform{
  margin:12px 0 5px!important;gap:8px!important;
 }
 body[data-route="/resenas/"] .ek-reviews-tools{
  margin:6px 0 12px!important;padding:0!important;
 }
 body[data-route="/resenas/"] .ek-reviews-rating{
  margin:0!important;padding:0!important;line-height:1.2!important;
 }
 body[data-route="/resenas/"] .ek-reviews-filter{
  margin:12px 0 8px!important;padding:0 0 5px!important;
 }
 body[data-route="/resenas/"] .ek-reviews-count{
  margin:4px 0 8px!important;
 }
}

/* ATO-539 final visual closeout. All surfaces and actions use the published tokens. */
body[data-route="/contacto/"] .contact-first{
 background:var(--ek-surface-alt)!important;color:var(--ek-ink)!important;
}
body[data-route="/contacto/"] .contact-first .ek-contact-button--primary,
body[data-route="/contacto/"] .ek-contact-toast{
 background:var(--ek-ink)!important;color:var(--ek-white)!important;
 border-color:var(--ek-ink)!important;
}
body[data-route="/contacto/"] .contact-first .ek-contact-button--secondary{
 background:transparent!important;color:var(--ek-ink)!important;
 border-color:var(--ek-ink)!important;
}
body[data-route="/contacto/"] .contact-first :is(.ek-contact-phone,.ek-contact-save,.ek-copy-phone){
 color:var(--ek-ink)!important;
}
body[data-route="/contacto/"] .contact-first :is(.ek-copy-phone,.ek-contact-save){
 border-color:var(--ek-line)!important;
}
body[data-route="/contacto/"] .contact-first .ek-copy-phone{
 background:transparent!important;
}
body[data-route="/contacto/"] .contact-first .ek-copy-phone:is(:hover,:focus-visible){
 background:var(--ek-paper)!important;
}
.ek-stories .ek-stories-bar{background:var(--ek-line)!important}
.ek-stories .ek-stories-bar.is-done{background:var(--ek-muted)!important}
.ek-stories .ek-stories-bar.is-current,
.ek-stories .ek-stories-stars{color:var(--ek-coral)!important;background-color:var(--ek-coral)}
.ek-stories .ek-stories-stars{background-color:transparent}
.ek-stories .ek-stories-eyebrow{color:var(--ek-ink)!important}
.ek-stories .ek-stories-reply-sheet{
 background:var(--ek-white)!important;color:var(--ek-ink)!important;
}
.ek-stories .ek-stories-reply-head{border-bottom-color:var(--ek-line)!important}
.ek-stories .ek-stories-reply-head .ek-stories-reply-label{
 color:var(--ek-ink)!important;font-weight:var(--ek-fw-body,400)!important;
 letter-spacing:normal!important;text-transform:none!important;
 font-size:var(--ek-fs-ui)!important;line-height:var(--ek-lh-compact)!important;
}
/* Single compact review summary, with the original Google wordmark. */
body.ek-integrated[data-route="/resenas/"] .ek-reviews-tools{
 display:flex!important;align-items:center!important;justify-content:space-between!important;
 flex-wrap:wrap!important;gap:10px 14px!important;
 margin:8px 0 12px!important;padding:10px 0!important;
 border-block:1px solid var(--ek-line)!important;
}
body.ek-integrated[data-route="/resenas/"] .ek-reviews-rating{
 display:flex!important;align-items:center!important;flex-wrap:wrap!important;
 gap:5px 8px!important;width:auto!important;min-width:0!important;
 font:var(--ek-fw-body) var(--ek-fs-ui)/var(--ek-lh-compact) var(--ek-font-body)!important;
}
body.ek-integrated[data-route="/resenas/"] .ek-reviews-rating .stars{
 color:var(--ek-coral)!important;white-space:nowrap!important;
 letter-spacing:.075em!important;
}
body.ek-integrated[data-route="/resenas/"] .ek-reviews-rating strong{
 font:var(--ek-fw-heading-inter) var(--ek-fs-h3)/1 var(--ek-font-body)!important;
 color:var(--ek-ink)!important;
}
body.ek-integrated[data-route="/resenas/"] .ek-reviews-rating-label{
 color:var(--ek-muted)!important;
}
body.ek-integrated[data-route="/resenas/"] .ek-reviews-rating-logo{
 display:inline-flex!important;align-items:center!important;justify-content:center!important;
 background:var(--ek-graphite)!important;border-radius:5px!important;
 padding:3px 5px!important;flex:none!important;
}
body.ek-integrated[data-route="/resenas/"] .ek-reviews-rating-logo img{
 display:block!important;width:45px!important;height:auto!important;object-fit:contain!important;
}
body.ek-integrated[data-route="/resenas/"] .ek-reviews-filter{
 display:flex!important;align-items:center!important;flex-wrap:wrap!important;
 overflow-x:visible!important;overflow-y:visible!important;
 scroll-snap-type:none!important;overscroll-behavior:auto!important;
 white-space:normal!important;width:100%!important;max-width:100%!important;
 gap:8px!important;margin:8px 0 5px!important;padding:0!important;
}
body.ek-integrated[data-route="/resenas/"] .ek-reviews-filter .chip{
 flex:0 0 auto!important;white-space:nowrap!important;scroll-snap-align:none!important;
}
body.ek-integrated[data-route="/resenas/"] .ek-reviews-count{
 margin:5px 0 12px!important;
}
@media(max-width:700px){
 body.ek-integrated[data-route="/resenas/"] .ek-reviews-tools .ek-stories-open{
  flex:0 0 auto!important;
 }
 body.ek-integrated[data-route="/resenas/"] .ek-reviews-rating{
  flex:1 1 200px!important;
 }
 body.ek-integrated[data-route="/resenas/"] .ek-reviews-filter{
  margin-top:8px!important;
 }
}

/* ATO-539: same mobile editorial measure as the Experience layout. */
@media(max-width:800px){
 body.profile[data-route="/sobre-mi/"] .reading.prose{
  width:calc(100% - 24px)!important;max-width:760px!important;margin-inline:auto!important;
 }
 body.profile[data-route="/sobre-mi/"] .reading .ek-hero-intro{
  width:100%!important;max-width:none!important;margin-inline:0!important;padding-inline:0!important;
 }
 body.profile[data-route="/sobre-mi/"] .ek-intro-editorial-head{max-width:none!important;margin-bottom:28px!important}
 body.profile[data-route="/sobre-mi/"] .ek-intro-editorial-title{
  font:var(--ek-fw-heading) var(--ek-fs-h2)/var(--ek-lh-heading) var(--ek-font-heading)!important;
 }
 body.profile[data-route="/sobre-mi/"] .ek-intro-editorial-row{
  width:100%!important;grid-template-columns:minmax(0,1fr)!important;gap:18px!important;padding:26px 0!important;
 }
 body.profile[data-route="/sobre-mi/"] .ek-intro-editorial-copy{max-width:none!important;width:100%!important}
 body.profile[data-route="/sobre-mi/"] .ek-intro-editorial-copy p{
  font-size:var(--ek-fs-body)!important;line-height:var(--ek-lh-body)!important;
 }
}

/* Ekonatura: approved professional profile within existing editorial layout. */
body.profile[data-route="/sobre-mi/"] .ek-intro-editorial-context{
 display:grid;gap:14px;max-width:min(100%,760px);
 margin:0 0 clamp(28px,4vw,42px);color:var(--ek-ink);
}
body.profile[data-route="/sobre-mi/"] .ek-intro-editorial-context p{
 margin:0!important;font:var(--ek-fw-body) var(--ek-fs-body)/var(--ek-lh-body) var(--ek-font-body)!important;
}
body[data-route="/sobre-mi/detalle/"] #formacion>div:nth-child(2)>p+p{
 margin-top:16px;
}

body[data-route="/sobre-mi/detalle/"] .ek-personal-teacher-profile {
 margin-block-start: 0.125rem;
}
body[data-route="/sobre-mi/detalle/"] .ek-personal-teacher-profile > summary {
 cursor: pointer;
 min-block-size: 24px;
 width: fit-content;
 color: #535755;
 font-size: 0.8125rem;
 line-height: 1.85;
}
body[data-route="/sobre-mi/detalle/"] .ek-personal-teacher-profile > summary:hover {
 text-decoration: underline;
}
body[data-route="/sobre-mi/detalle/"] .ek-personal-teacher-profile > summary:focus-visible {
 outline: 2px solid currentColor;
 outline-offset: 2px;
}
body[data-route="/sobre-mi/detalle/"] .ek-personal-list .ek-personal-teacher-profile > p {
 margin: 0.25rem 0 0;
 color: #535755;
 font-size: 0.875rem;
 line-height: 1.5;
}
body[data-route="/sobre-mi/detalle/"].ek-detail-dark .ek-personal-teacher-profile > summary {
 color: #b5bab8;
}

/* Ekonatura · opt-in dark editorial scheme, CSS loaded last. No global image filters. */
:root{
 --ek-theme-panel-bg:#f4f0e7;
 --ek-theme-panel-fg:#3c3833;
 --ek-theme-panel-line:#c9c5c0;
}
:root[data-ek-theme="dark"]{
 color-scheme:dark;
 --ek-paper:#292d2e;
 --ek-white:#35393a;
 --ek-ink:#f5f1eb;
 --ek-text:#f5f1eb;
 --ek-muted:#cac5bd;
 --ek-coral:#f0b399;
 --ek-almond:#35393a;
 --ek-line:#666561;
 --ek-surface-alt:#35393a;
 --ek-graphite:#292d2e;
 --ek-surface:var(--ek-paper);
 --ek-theme-panel-bg:#292d2e;
 --ek-theme-panel-fg:#f5f1eb;
 --ek-theme-panel-line:#666561;
}
:root[data-ek-theme="dark"] body{background:var(--ek-paper);color:var(--ek-ink)}
:root[data-ek-theme="dark"] ::selection{background:#7a7671;color:#fff}
:root[data-ek-theme="dark"] :is(input,select,textarea,button){accent-color:#f0b399}
:root[data-ek-theme="dark"] :is(a,button,input,select,textarea,summary):focus-visible{outline-color:#f0b399}
:root[data-ek-theme="dark"] :is(.ek-integrated .related>ul>li>a,.ek-search-card,.ek-page-share,.ek-reviews-tools,.ek-contact-card,.contact-practical,.ek-context-panel){
 border-color:var(--ek-line);
}
:root[data-ek-theme="dark"] :is(.ek-integrated .related>ul>li>a,.ek-search-card,.ek-page-share,.ek-contact-card){background-color:var(--ek-white)}
:root[data-ek-theme="dark"] :is(.ek-integrated .related-label,.related-desc,.ek-search-results small,.ek-reviews-progress,.ek-context-meta){color:var(--ek-muted)}
/* Preserve original deep-brand surfaces: their backgrounds rely on --ek-ink/--ek-paper inversion. */
:root[data-ek-theme="dark"] :is(.ek-footer,.home-principles,.ek-problem-index){
 --ek-paper:#f4f0e7;
 --ek-ink:#3c3833;
 --ek-muted:#cdc9c4;
 --ek-line:#64605b;
 --ek-coral:#f0b399;
}
:root[data-ek-theme="dark"] .ek-footer{background:#292d2e;color:#f5f1eb;--ek-ink:#292d2e;--ek-paper:#f5f1eb}
:root[data-ek-theme="dark"] .home-principles{background:#35393a;color:#f5f1eb}
:root[data-ek-theme="dark"] .ek-footer .cta-banner__button{background:#f4f0e7;color:#3c3833}
:root[data-ek-theme="dark"] .ek-footer .cta-banner__button:hover{background:#fff;color:#3c3833}
/* Headers above photographs and collapsed graphite header are intentionally unchanged. */
:root[data-ek-theme="dark"] body:not(.home):not(:has(main.ek-photo-hero-page)) .ek-header:not(.is-pill) .ek-header-inner{
 background:rgba(32,40,38,.94);border-color:#67635e;color:#f2f0e9;box-shadow:0 4px 25px #101a1636;
}
:root[data-ek-theme="dark"] .ek-header:not(.is-pill) .ek-explore>nav{background:var(--ek-v1-graphite);color:var(--ek-v1-cream);border:0;box-shadow:none}
:root[data-ek-theme="dark"] .ek-header:not(.is-pill) .ek-explore>nav a:hover{background:rgba(245,241,235,.09);color:var(--ek-v1-cream)}
:root[data-ek-theme="dark"] body:not(.home):not(:has(main.ek-photo-hero-page)) .ek-header:not(.is-pill) .brand img{filter:brightness(0) invert(1)}
:root[data-ek-theme="dark"] :is(.ek-index-button,.top-button){background:#3f3b36;color:#f2f0e9;border-color:#75716c}
:root[data-ek-theme="dark"] :is(.ek-index-button,.top-button):hover{background:#57534e}
:root[data-ek-theme="dark"] dialog.ek-dialog{background:var(--ek-v1-graphite);color:var(--ek-v1-cream);border:0}
:root[data-ek-theme="dark"] #ek-search .ek-search-input{background:transparent;border:0;border-bottom:1px solid rgba(245,241,235,.35);color:var(--ek-v1-cream)}
:root[data-ek-theme="dark"] #ek-search .ek-search-clear:hover{background:rgba(245,241,235,.09);color:var(--ek-v1-cream)}
:root[data-ek-theme="dark"] :is(.ek-search-results,.ek-search-card,.ek-search-description,.ek-search-suggestions){color:#f2f0e9}
:root[data-ek-theme="dark"] #ek-search .ek-search-card,
:root[data-ek-theme="dark"] #ek-search .ek-search-card:not(:hover):not(:focus-within){
 background:transparent!important;border-color:transparent!important;
 box-shadow:none!important;color:#f5f1eb!important;
}
:root[data-ek-theme="dark"] #ek-search .ek-search-card:is(:hover,:focus-within){
 background:rgba(245,241,235,.075)!important;border-color:transparent!important;
 color:#f5f1eb!important;
}
:root[data-ek-theme="dark"] #ek-search .ek-search-card :is(h3,p,span,small,.ek-result-type,.ek-search-description){color:inherit!important}
:root[data-ek-theme="dark"] .ek-search-card{background:transparent}
:root[data-ek-theme="dark"] .ek-search-description a{color:#f0b399}
:root[data-ek-theme="dark"] :is(.ek-reading-indicator,.ek-reading-menu,.ek-reading-bar){background-color:#37332e;color:#f2f0e9;border-color:#6d6964}
:root[data-ek-theme="dark"] :is(.ek-reading-menu a,.ek-reading-indicator button){color:inherit}
/* Fixed light background declarations from the legacy editorial layers. */
:root[data-ek-theme="dark"] .ek-integrated .home-flow .home-work-main>h2.is-stuck,
:root[data-ek-theme="dark"] .ek-integrated .ek-section>h2.is-stuck{background:#35312c!important;border-color:#6d6964!important;color:#f2f0e9!important}
:root[data-ek-theme="dark"] .ek-integrated .ek-section-index a:hover{background:#4a4641!important;color:#fff!important}
:root[data-ek-theme="dark"] .ek-integrated .ek-section-index a:focus-visible{outline-color:#f0b399!important}
:root[data-ek-theme="dark"] :is(.ek-integrated .reading,.ek-integrated .ek-document,.ek-integrated .home-flow,.ek-integrated .contact-content){color:var(--ek-ink)}
:root[data-ek-theme="dark"] :is(.ek-dialog,.ek-library,.ek-review-dialog,.ek-sheet,.ek-bottom-sheet){color:var(--ek-ink)}
:root[data-ek-theme="dark"] :is(.ek-library,.ek-review-dialog,.ek-sheet,.ek-bottom-sheet){background-color:var(--ek-white);border-color:var(--ek-line)}
:root[data-ek-theme="dark"] :is(.ek-personal-html,.ek-personal-top){background-color:var(--ek-paper);color:var(--ek-ink)}
:root[data-ek-theme="dark"] :is(.ek-personal-html h1,.ek-personal-html h2,.ek-personal-html h3){color:var(--ek-ink)}
/* The detail-page has an existing approved graphite variant; its class is managed by theme-controller.js. */
:root[data-ek-theme="dark"] body[data-route="/sobre-mi/detalle/"] .ek-personal-html{background:#202327!important;color:#eceeea!important}
:root[data-ek-theme="dark"] body[data-route="/sobre-mi/detalle/"] .ek-personal-top{background:#202327!important;color:#eceeea!important}
/* Accessible theme chooser: native details in desktop header; buttons in mobile menu. */
.ek-theme-desktop{position:relative;display:block;flex:none}
.ek-theme-desktop>summary{display:grid;place-items:center;width:44px;height:44px;border-radius:50%;color:inherit;cursor:pointer;list-style:none}
.ek-theme-desktop>summary::-webkit-details-marker{display:none}
.ek-theme-desktop>summary svg{width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:1.5}
.ek-theme-desktop>summary:hover{background:#95918c22}
.ek-theme-desktop[open]>summary{outline:2px solid currentColor;outline-offset:-4px}
.ek-theme-panel{display:grid;gap:4px;padding:9px;border:1px solid var(--ek-theme-panel-line);border-radius:14px;background:var(--ek-theme-panel-bg);color:var(--ek-theme-panel-fg);box-shadow:0 12px 35px #1c181360}
.ek-theme-desktop .ek-theme-panel{position:absolute;top:calc(100% + 10px);right:0;width:192px;z-index:125}
.ek-theme-panel button{display:flex;align-items:center;min-height:44px;width:100%;padding:10px 12px;border:0;border-radius:8px;background:transparent;color:inherit;font:500 14px/1.4 var(--ek-font-body);text-align:left;cursor:pointer}
.ek-theme-panel button:hover{background:#8b878226}
.ek-theme-panel button[aria-pressed="true"]{background:#7c787333;font-weight:700}
.ek-theme-panel button[aria-pressed="true"]:after{content:"✓";margin-left:auto;font-weight:700}
.ek-theme-mobile{margin-top:18px;border-top:1px solid var(--ek-line);padding-top:18px}
.ek-theme-mobile>p{margin:0 0 9px;font:600 13px/1.5 var(--ek-font-body)}
.ek-theme-mobile .ek-theme-panel{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;padding:0;background:transparent;box-shadow:none;border:0}
.ek-theme-mobile .ek-theme-panel button{justify-content:center;min-width:0;padding:11px 5px;border:1px solid var(--ek-line);font-size:12px;text-align:center}
.ek-theme-mobile .ek-theme-panel button[aria-pressed="true"]:after{content:none}
@media(max-width:1000px){.ek-header .ek-theme-desktop{display:none}}
@media(prefers-reduced-motion:reduce){.ek-theme-desktop>summary,.ek-theme-panel button{transition:none}}

/* Keep white-on-photograph CTAs and fallback image cards legible. */
:root[data-ek-theme="dark"] .skip{background:#3c3833;color:#fff}
:root[data-ek-theme="dark"] .ek-ed-card{background:#3c3833;color:#fff}
:root[data-ek-theme="dark"] .home .hero-actions .button:not(:first-child){color:#fff}
:root[data-ek-theme="dark"] .home .hero-actions .button:first-child{background:#3b3732;color:#f2f0e9;border-color:#9f9b96}
:root[data-ek-theme="dark"] .home .hero-actions .button:hover{background:#504c47;color:#fff}
:root[data-ek-theme="dark"] .ek-header .ek-theme-desktop .ek-theme-panel button{color:var(--ek-theme-panel-fg)}
/* Mobile menu headings and choices inherit dialog colors, not photographic hero text. */
:root[data-ek-theme="dark"] #ek-menu .ek-theme-mobile{color:#f2f0e9}
:root[data-ek-theme="dark"] #ek-menu .ek-theme-panel button[aria-pressed="true"]{border-color:#c8c4bf}

/* EKONATURA · Dark theme · About & Experiences legibility review.
   Only opt-in dark. Brand footer, photography, source text & light theme unchanged. */
:root[data-ek-theme="dark"]{
  --ek-review-paper:#37332e;
  --ek-review-ink:#f2f0e9;
  --ek-review-subtle:#cecac5;
  --ek-review-border:#74706b;
}

/* /sobre-mi/: editorial chapters, numerical highlights, reading boxes and links. */
:root[data-ek-theme="dark"] body[data-route="/sobre-mi/"] :is(
  .reading.prose,.ek-hero-intro--editorial,.ek-intro-editorial-context,
  .ek-about-curated,.ek-about-journey,.ek-about-learning,
  .ek-about-chapters,.ek-about-experiences,.ek-about-focus-card,
  .ek-about-learning-item,.ek-narrative-section,.ek-section-copy
){color:var(--ek-review-ink)}
:root[data-ek-theme="dark"] body[data-route="/sobre-mi/"] :is(
  .ek-about-focus-card,.ek-about-path>div,.ek-about-learning-item,
  .ek-about-experiences,.ek-about-chapters
){border-color:var(--ek-review-border)!important}
:root[data-ek-theme="dark"] body[data-route="/sobre-mi/"] :is(
  .ek-hero-intro--editorial,.ek-intro-editorial-context,.ek-about-curated,
  .ek-about-journey,.ek-about-learning,.ek-about-chapters-body,
  .ek-narrative-section,.ek-section-copy
){background-color:transparent;color:var(--ek-review-ink)}
:root[data-ek-theme="dark"] body[data-route="/sobre-mi/"] :is(
  .ek-hero-intro--editorial,.ek-intro-editorial-context,.ek-about-curated,
  .ek-about-journey,.ek-about-learning,.ek-about-chapters,
  .ek-personal-contact
) :is(h1,h2,h3,h4,p,li,span,strong,a,summary){
  color:inherit;
}
:root[data-ek-theme="dark"] body[data-route="/sobre-mi/"] :is(
 .ek-intro-editorial-number,.ek-about-focus-num,.ek-about-learning-step,
 .ek-about-experiences small,.ek-about-path span
){color:var(--ek-review-subtle)!important}
:root[data-ek-theme="dark"] body[data-route="/sobre-mi/"] :is(
 .ek-about-focus-grid,.ek-about-learning-list,.ek-about-path
){min-width:0}
:root[data-ek-theme="dark"] body[data-route="/sobre-mi/"] :is(
 .ek-about-focus-card,.ek-about-learning-item,.ek-about-path>div
){min-width:0;overflow-wrap:break-word}
:root[data-ek-theme="dark"] body[data-route="/sobre-mi/"] .ek-about-chapters :is(summary,a):focus-visible{outline-color:#f0b399!important}
/* Contact boxes and inverse CTAs: always pair surface and type colors. */
:root[data-ek-theme="dark"] body[data-route="/sobre-mi/"] :is(
 .ek-personal-contact,.ek-about-contact,.ek-about-cta
){border-color:var(--ek-review-border);color:var(--ek-review-ink)}
:root[data-ek-theme="dark"] body[data-route="/sobre-mi/"] :is(
 .ek-personal-contact,.ek-about-contact,.ek-about-cta
) :is(input,textarea,select){
  background:#202826;color:#f2f0e9;border-color:#77736e;
}
:root[data-ek-theme="dark"] body[data-route="/sobre-mi/"] :is(input,textarea)::placeholder{color:#cecac5}

/* /resenas/: review archive. Contrast on card, excerpt, full response, author & sources. */
:root[data-ek-theme="dark"] body[data-route="/resenas/"] :is(
 .ek-reviews-list,.ek-reviews-tools,.ek-reviews-filter,.ek-reviews-count,
 .ek-reviews-results,.ek-reviews-intro
){color:var(--ek-review-ink)}
:root[data-ek-theme="dark"] body[data-route="/resenas/"] .ek-reviews-list .ek-review-entry{
 background:transparent!important;
 border:0!important;
 border-radius:0!important;
 outline:0!important;
 color:var(--ek-review-ink)!important;
 box-shadow:none!important;
}
:root[data-ek-theme="dark"] body[data-route="/resenas/"] .ek-reviews-list .ek-review-entry :is(
 h2,h3,strong,blockquote,.ek-exp-quote,.ek-exp-full,.ek-exp-full>p,
 .ek-exp-body,.ek-exp-body p,.ek-exp-reply,.ek-exp-reply>p,
 .review-author,.review-author strong,.review-author-meta,
 .ek-exp-meta,.ek-exp-prof,.ek-exp-link,.ek-exp-more>summary,
 .ek-exp-action-row,.ek-exp-share,.review-expanded p
){color:var(--ek-review-ink)!important;-webkit-text-fill-color:var(--ek-review-ink)!important}
:root[data-ek-theme="dark"] body[data-route="/resenas/"] .ek-reviews-list .ek-review-entry :is(
 .ek-exp-label,.review-kicker,.ek-exp-prof,.ek-exp-meta,.review-author-profession
){color:var(--ek-review-subtle)!important;-webkit-text-fill-color:var(--ek-review-subtle)!important}
:root[data-ek-theme="dark"] body[data-route="/resenas/"] .ek-reviews-list .ek-review-entry :is(
 .ek-exp-reply,.owner-response
){
 background:#433f3a!important;
 border:1px solid var(--ek-review-border)!important;
 border-radius:14px;
}
:root[data-ek-theme="dark"] body[data-route="/resenas/"] .ek-reviews-list .ek-review-entry .ek-exp-reply::before{
 border-color:var(--ek-review-border);
}
:root[data-ek-theme="dark"] body[data-route="/resenas/"] .ek-reviews-list .ek-review-entry .ek-exp-share{
 background:#4f4b46!important;color:#f2f0e9!important;-webkit-text-fill-color:#f2f0e9!important;
 border:1px solid #928e89!important;
}
:root[data-ek-theme="dark"] body[data-route="/resenas/"] .ek-reviews-list .ek-review-entry .ek-exp-share:hover{
 background:#615d58!important;
}
:root[data-ek-theme="dark"] body[data-route="/resenas/"] .ek-reviews-list .ek-review-entry .ek-exp-link{
 text-decoration:underline;text-underline-offset:3px;
}
:root[data-ek-theme="dark"] body[data-route="/resenas/"] .ek-review-entry :is(a,button,summary):focus-visible{
 outline:2px solid #f0b399!important;outline-offset:3px;
}
:root[data-ek-theme="dark"] body[data-route="/resenas/"] .ek-reviews-filter :is(button,.chip,[role="button"]){
 color:#f2f0e9;border-color:#84807b;
}
:root[data-ek-theme="dark"] body[data-route="/resenas/"] .ek-reviews-filter :is(button,.chip,[role="button"]):is(:hover,[aria-pressed="true"],[aria-current="true"],.active){
 background:#524e49;color:#fff;border-color:#b9b5b0;
}
:root[data-ek-theme="dark"] body[data-route="/resenas/"] .ek-reviews-list .ek-reviews-cta{
 background:#3d3934!important;color:#f2f0e9!important;
}
:root[data-ek-theme="dark"] body[data-route="/resenas/"] .ek-reviews-list .ek-reviews-cta :is(h2,h3,p,span){
 color:#f2f0e9!important;
}
:root[data-ek-theme="dark"] body[data-route="/resenas/"] .ek-reviews-list .ek-reviews-cta .button{
 background:#f4f0e7!important;color:#3a3631!important;border-color:#f4f0e7!important;
}

/* /experiencia-ekonatura/: 3 related destination cards and editorial review links. */
:root[data-ek-theme="dark"] body[data-route="/experiencia-ekonatura/"] :is(
 .ek-experience-rail>li>a,.related>ul>li>a
){
 background:#38342f!important;color:#f2f0e9!important;border-color:#827e79!important;
}
:root[data-ek-theme="dark"] body[data-route="/experiencia-ekonatura/"] :is(
 .related-text strong,.related-label,.related-desc,.related-action,.ek-experience-rail a
){color:#f2f0e9!important}
:root[data-ek-theme="dark"] body[data-route="/experiencia-ekonatura/"] .related-label{
 color:#cecac5!important;
}
:root[data-ek-theme="dark"] body[data-route="/experiencia-ekonatura/"] :is(
 .ek-experience-dots button,.ek-f2-dots button
):focus-visible{outline:2px solid #f0b399!important;outline-offset:2px}

/* About side navigation, article index, and review bottom-sheet dialogs. */
:root[data-ek-theme="dark"] body[data-route="/sobre-mi/"] :is(
 .ek-reading-indicator,.ek-reading-bar,.ek-reading-menu,.ek-index-button
){background:#37332e!important;color:#f2f0e9!important;border-color:#726e69!important}
:root[data-ek-theme="dark"] body.ek-unified:not([data-route="/sobre-mi/detalle/"]) .ek-reading-menu{
 background:#37332e!important;color:#f2f0e9!important;border-color:#726e69!important;
}
:root[data-ek-theme="dark"] body.ek-unified:not([data-route="/sobre-mi/detalle/"]) .ek-reading-menu a,
:root[data-ek-theme="dark"] body.ek-unified:not([data-route="/sobre-mi/detalle/"]) .ek-reading-menu a[aria-current="location"]{
 color:#f2f0e9!important;background:transparent!important;
}
:root[data-ek-theme="dark"] body.ek-unified:not([data-route="/sobre-mi/detalle/"]) .ek-reading-menu a:is(:hover,:focus-visible){
 background:#55514c!important;color:#fff!important;
}
:root[data-ek-theme="dark"] :is(
 .ek-review-dialog,.ek-review-dialog.ek-review-mobile-sheet,
 .ek-sheet.ek-review-sheet,.ek-review-about-index
){background:#38342f!important;color:#f2f0e9!important;border:1px solid #75716c!important}
:root[data-ek-theme="dark"] .ek-review-dialog :is(
 .ek-review-dialog-head,.ek-review-dialog-nav
){border-color:#75716c!important}
:root[data-ek-theme="dark"] .ek-review-dialog :is(
 .ek-review-dialog-head h2,.ek-review-dialog-body,
 .ek-review-dialog-body h2,.ek-review-dialog-body h3,
 .ek-review-dialog-body p,.ek-review-dialog-body li,
 .ek-review-dialog-body strong,.ek-review-dialog-body span,
 .ek-review-dialog-body blockquote,.ek-review-dialog-body summary
){color:#f2f0e9!important;-webkit-text-fill-color:#f2f0e9!important}
:root[data-ek-theme="dark"] .ek-review-dialog :is(.ek-review-dialog-body a,.ek-review-dialog-nav button,.ek-review-dialog-close){
 color:#f0c6b5!important;-webkit-text-fill-color:#f0c6b5!important;
 border-color:#8d8984;
}
:root[data-ek-theme="dark"] .ek-review-dialog .ek-review-dialog-nav button[aria-current="true"]{
 color:#fff!important;background:#58544f!important;border-color:#bcb8b3!important;
 -webkit-text-fill-color:#fff!important;
}
:root[data-ek-theme="dark"] .ek-review-dialog :is(
 .review-expanded,.owner-response,.ek-exp-full,.ek-exp-reply
){background:transparent!important;color:#f2f0e9!important}
:root[data-ek-theme="dark"] :is(.ek-sheet.ek-review-sheet,.ek-review-about-index) :is(
 .ek-sheet-head,.ek-sheet-body,.ek-sheet-title,.ek-sheet-body p,
 .ek-sheet-body li,.ek-sheet-body a,.ek-sheet-body h2,.ek-sheet-body h3,
 .ek-sheet-body strong,.ek-sheet-body span
){color:#f2f0e9!important;-webkit-text-fill-color:#f2f0e9!important}
:root[data-ek-theme="dark"] :is(.ek-review-dialog,.ek-sheet,.ek-library) :is(button,a,summary):focus-visible{
 outline:2px solid #f0b399!important;outline-offset:2px;
}
:root[data-ek-theme="dark"] .ek-review-dialog :is(.ek-review-dialog-head h2,.ek-review-dialog-body h2){overflow-wrap:break-word}

/* Mobile share drawer: formerly fixed cream on light-ink rules. */
:root[data-ek-theme="dark"] .ek-share.ek-share-simple .ek-library-sheet{
 background:#393530!important;color:#f2f0e9!important;border:1px solid #75716c!important;
}
:root[data-ek-theme="dark"] .ek-share.ek-share-simple .ek-library-sheet :is(
 h2,h3,p,span,small,label,summary
){color:#f2f0e9!important}
:root[data-ek-theme="dark"] .ek-share.ek-share-simple .ek-share-primary{
 background:#f4f0e7!important;color:#3a3631!important;
}
:root[data-ek-theme="dark"] .ek-share.ek-share-simple .ek-share-formats button{
 color:#f2f0e9!important;background:#4f4b46!important;border:1px solid #837f7a!important;
}
:root[data-ek-theme="dark"] .ek-share.ek-share-simple .ek-share-formats button[aria-pressed="true"]{
 background:#6b6762!important;border-color:#cecac5!important;
}
:root[data-ek-theme="dark"] :is(.ek-review-dialog,.ek-sheet,.ek-library) :is(
 .ek-sheet-grab,.ek-library-grab
){background:#bbb7b2!important}

/* Image-covered hero remains deliberately white over photography. Never recolor images. */
@media(max-width:700px){
 :root[data-ek-theme="dark"] body[data-route="/sobre-mi/"] :is(
 .ek-about-focus-grid,.ek-about-learning-list,.ek-about-path
 ){grid-template-columns:minmax(0,1fr)}
 :root[data-ek-theme="dark"] body[data-route="/resenas/"] .ek-reviews-list .ek-review-entry{
  min-width:0;overflow-wrap:anywhere;
 }
 :root[data-ek-theme="dark"] .ek-review-dialog .ek-review-dialog-body{
  overscroll-behavior:contain;padding-bottom:calc(26px + env(safe-area-inset-bottom,0px));
 }
}


/* P1 · Reviews visually integrated with their page, no inset green tiles. */
:root[data-ek-theme="dark"] body[data-route="/resenas/"]{
 --ek-review-paper:var(--ek-paper);
 --ek-review-border:#58544f;
}
:root[data-ek-theme="dark"] body[data-route="/resenas/"] :is(main.ek-originals,main.ek-reviews-page,.ek-reviews-list,.ek-review-entry,.ek-review-entry.review){
 background:transparent!important;
 background-image:none!important;
 border-color:transparent!important;
 box-shadow:none!important;
}
:root[data-ek-theme="dark"] body[data-route="/resenas/"] .ek-reviews-list .ek-review-entry::before,
:root[data-ek-theme="dark"] body[data-route="/resenas/"] .ek-reviews-list .ek-review-entry::after{
 background:none!important;
 border:0!important;
 box-shadow:none!important;
}
:root[data-ek-theme="dark"] body[data-route="/resenas/"] .ek-reviews-list .ek-review-entry :is(.ek-exp-reply,.owner-response){
 background:transparent!important;
 border:0!important;
 border-radius:0!important;
 padding-inline:0!important;
}
:root[data-ek-theme="dark"] body[data-route="/resenas/"] .ek-reviews-list .ek-review-entry .ek-exp-reply::before{display:none!important}
:root[data-ek-theme="dark"] body[data-route="/resenas/"] :is(.ek-reviews-tools,.ek-reviews-rating,.ek-reviews-rating strong,.ek-reviews-rating-label,.ek-reviews-rating>span,.ek-reviews-count,.ek-reviews-summary,.ek-reviews-tools h2,.ek-reviews-tools p){
 color:#f2f0e9!important;
 -webkit-text-fill-color:#f2f0e9!important;
 opacity:1!important;
}
:root[data-ek-theme="dark"] body[data-route="/resenas/"] .ek-reviews-rating .stars{
 color:#f0b399!important;-webkit-text-fill-color:#f0b399!important;
}
:root[data-ek-theme="dark"] body[data-route="/resenas/"] :is(.ek-stories-open,.ek-stories-launch,.ek-stories-launch button,.ek-reviews-tools .ek-stories-open){
 color:#f2f0e9!important;
 -webkit-text-fill-color:#f2f0e9!important;
 opacity:1!important;
 border-color:#98948f!important;
}
:root[data-ek-theme="dark"] body[data-route="/resenas/"] :is(.ek-stories-open,.ek-stories-launch button):is(:hover,:focus-visible){
 background:#4e4a45!important;border-color:#cecac5!important;
}
:root[data-ek-theme="dark"] body[data-route="/resenas/"] :is(.ek-reviews-tools,.ek-reviews-rating) :is(a,button):focus-visible{outline:2px solid #f0b399!important;outline-offset:3px}
:root[data-ek-theme="dark"] body[data-route="/resenas/"] .ek-review-entry :is(.ek-exp-quote,.ek-exp-full p){
 max-width:100%;overflow-wrap:anywhere;
}
/* Stories are an independent full-screen component: all chrome must inherit the choice.
   Review text, attribution, controls, reply sheet and progress share one graphite palette.
   Never recolor exported images or screenshots. */
:root[data-ek-theme="dark"] .ek-stories{
 --ek-paper:#1c2421;
 --ek-white:#34302b;
 --ek-ink:#f2f0e9;
 --ek-text:#f2f0e9;
 --ek-muted:#cecac5;
 --ek-line:#65615c;
 --ek-coral:#f0b399;
 color:#f2f0e9!important;
 color-scheme:dark;
}
:root[data-ek-theme="dark"] .ek-stories :is(.ek-stories-frame,.ek-stories-stage,.ek-stories-body,.ek-stories-foot,.ek-stories-top){
 background:#1c2421!important;
 background-image:none!important;
 color:#f2f0e9!important;
 border-color:#625e59!important;
}
:root[data-ek-theme="dark"] .ek-stories :is(.ek-stories-text,.ek-stories-person,.ek-stories-id,.ek-stories-id strong,.ek-stories-eyebrow,.ek-stories-prof,.ek-stories-source,.ek-stories-reply-text,.ek-stories-reply-label,.ek-stories-reply-sign){
 color:#f2f0e9!important;
 -webkit-text-fill-color:#f2f0e9!important;
 opacity:1!important;
}
:root[data-ek-theme="dark"] .ek-stories :is(.ek-stories-prof,.ek-stories-source,.ek-stories-reply-sign){
 color:#cecac5!important;-webkit-text-fill-color:#cecac5!important;
}
:root[data-ek-theme="dark"] .ek-stories .ek-stories-stars{
 color:#f0b399!important;
 -webkit-text-fill-color:#f0b399!important;
 background:transparent!important;
}
:root[data-ek-theme="dark"] .ek-stories .ek-stories-bar{
 background:#67635e!important;
}
:root[data-ek-theme="dark"] .ek-stories .ek-stories-bar.is-done{
 background:#cbc7c2!important;
}
:root[data-ek-theme="dark"] .ek-stories .ek-stories-bar.is-current{
 background:#f0b399!important;
}
:root[data-ek-theme="dark"] .ek-stories :is(.ek-stories-reply,.ek-stories-reply-sheet,.ek-stories-reply-head,.ek-stories-reply-body){
 background:#38342f!important;color:#f2f0e9!important;border-color:#74706b!important;
}
:root[data-ek-theme="dark"] .ek-stories :is(button,.ek-stories-nav,.ek-stories-actions button,.ek-stories-share,.ek-stories-reply-open,.ek-stories-x,.ek-stories-reply-x){
 color:#f2f0e9!important;-webkit-text-fill-color:#f2f0e9!important;
 border-color:#8a8681!important;
}
:root[data-ek-theme="dark"] .ek-stories :is(button,.ek-stories-nav):focus-visible{
 outline:2px solid #f0b399!important;outline-offset:3px!important;
}
:root[data-ek-theme="dark"] .ek-stories .ek-stories-backdrop{background:#0f1717ec!important}
/* Both share implementations (legacy export and current library), without touching
   the Feed/Story image canvas, image pixels or preview card itself. */
:root[data-ek-theme="dark"] :is(.ek-review-export,.ek-library.ek-share){
 color:#f2f0e9!important;color-scheme:dark;
}
:root[data-ek-theme="dark"] .ek-review-export-panel{
 background:#36322d!important;color:#f2f0e9!important;border:1px solid #74706b!important;
}
:root[data-ek-theme="dark"] .ek-review-export-panel :is(h2,h3,p,span,small,label,.ek-review-export-status){
 color:#f2f0e9!important;-webkit-text-fill-color:#f2f0e9!important;
}
:root[data-ek-theme="dark"] .ek-review-export-panel :is(.ek-review-export-formats button,.ek-review-export-panel header button){
 border-color:#98948f!important;color:#f2f0e9!important;background:transparent!important;
}
:root[data-ek-theme="dark"] .ek-review-export-panel .ek-review-export-formats button[aria-selected="true"]{
 background:#5a5651!important;color:#fff!important;
}
:root[data-ek-theme="dark"] .ek-review-export-panel .ek-review-export-actions button{
 color:#37332e!important;background:#f4f0e7!important;border-color:#f4f0e7!important;
}
:root[data-ek-theme="dark"] .ek-review-export-panel .ek-review-export-actions [data-share-download]{
 color:#f2f0e9!important;background:transparent!important;border-color:#98948f!important;
}
:root[data-ek-theme="dark"] .ek-review-export-panel .ek-review-export-preview{
 background:#f4f0e7!important;color:#3c3833!important;
}
:root[data-ek-theme="dark"] .ek-library.ek-share .ek-library-sheet{
 background:#36322d!important;color:#f2f0e9!important;border-color:#74706b!important;
}
:root[data-ek-theme="dark"] .ek-library.ek-share :is(.ek-library-head,.ek-share-body,.ek-share-cta,.ek-share-note,.ek-share-status,.ek-share-hint,.ek-share-more){
 color:#f2f0e9!important;-webkit-text-fill-color:#f2f0e9!important;
}
:root[data-ek-theme="dark"] .ek-library.ek-share :is(.ek-segmented button,.ek-share-formats button,.ek-share-secondary button){
 color:#f2f0e9!important;-webkit-text-fill-color:#f2f0e9!important;
 background:transparent!important;border-color:#8a8681!important;
}
:root[data-ek-theme="dark"] .ek-library.ek-share :is(.ek-segmented button,.ek-share-formats button)[aria-pressed="true"],
:root[data-ek-theme="dark"] .ek-library.ek-share :is(.ek-segmented button,.ek-share-formats button)[aria-selected="true"]{
 background:#57534e!important;color:#fff!important;-webkit-text-fill-color:#fff!important;
}
:root[data-ek-theme="dark"] .ek-library.ek-share :is(.ek-share-primary,.ek-library-sheet .ek-share-primary){
 background:#f4f0e7!important;color:#393530!important;-webkit-text-fill-color:#393530!important;
}
:root[data-ek-theme="dark"] .ek-library.ek-share .ek-share-preview{
 background:#f4f0e7!important;
}
:root[data-ek-theme="dark"] .ek-library.ek-share :is(button,summary,a):focus-visible,
:root[data-ek-theme="dark"] .ek-review-export :is(button,summary,a):focus-visible{
 outline:2px solid #f0b399!important;outline-offset:3px;
}
/* P3 · One clear booking action only inside expanded mobile navigation.
   Header CTA remains unchanged. Primary is a link, not a duplicate dialog.

   ATO-545 · This block used to paint the mobile booking action as a CREAM
   PILL with green text (`#37332e`), a look inherited from the old green
   palette, and it competed with the shared mobile-menu contract in
   `components/ek-ux-final-contract.css`, which is the single owner of the
   menu. The pill is removed here, at its source; the action keeps its own
   graphite surface defined by that shared contract. */
@media(max-width:1000px){
 #ek-menu .ek-mobile-levels [data-menu-level="root"] > a.ek-mobile-booking-cta{
 display:flex!important;align-items:center!important;justify-content:center!important;
 gap:10px!important;min-height:52px!important;
 width:100%!important;max-width:100%!important;box-sizing:border-box!important;
 margin:22px 0 6px!important;padding:15px 22px!important;
 border:0!important;border-bottom:0!important;border-radius:10px!important;
 background:transparent!important;color:#f5f1eb!important;
 -webkit-text-fill-color:#f5f1eb!important;
 font:600 16px/1.25 var(--ek-font-body,"Ekonatura Onest",system-ui,sans-serif)!important;
 text-decoration:none!important;
 }
 #ek-menu .ek-mobile-booking-cta .ek-lucide{
 flex:none!important;width:20px!important;height:20px!important;stroke:currentColor!important;
 }
 #ek-menu .ek-mobile-booking-cta:is(:hover,:focus-visible){background:#35393a!important;color:#f5f1eb!important}
}

/* Editorial reading progress: follow resolved system/visitor theme across all routes.
   Source navigation anchors and headings are unchanged. */
:root[data-ek-theme="dark"] body .ek-reading-indicator,
:root[data-ek-theme="dark"] body .ek-reading-menu{
 background:#36322d!important;
 background-color:#36322d!important;
 color:#f2f0e9!important;
 border-color:#74706b!important;
}
:root[data-ek-theme="dark"] body .ek-reading-indicator :is(
 .ek-reading-kicker,.ek-reading-label,.ek-reading-counter,.ek-reading-chevron,
 .ek-reading-current,button,span,a
),
:root[data-ek-theme="dark"] body .ek-reading-menu a{
 color:#f2f0e9!important;
 -webkit-text-fill-color:#f2f0e9!important;
}
:root[data-ek-theme="dark"] body .ek-reading-track{
 background:#797570!important;
}
:root[data-ek-theme="dark"] body .ek-reading-progress{
 background:#f0b399!important;
}
:root[data-ek-theme="dark"] body .ek-reading-menu a:is(:hover,:focus-visible){
 background:#58544f!important;color:#fff!important;
}
/* Review response: a discreet divider instead of a nested AI-looking card.
   Existing content and spacing remain intact in both themes. */
body .ek-review-dialog :is(.owner-response,.ek-exp-reply),
body :is(.ek-sheet.ek-review-sheet,.ek-sheet.ek-review-mobile-sheet) :is(.owner-response,.ek-exp-reply){
 background:transparent!important;background-image:none!important;
 box-shadow:none!important;border:0!important;
 border-top:1px solid #c6c2bd!important;
 border-radius:0!important;
}
:root[data-ek-theme="dark"] body .ek-review-dialog :is(.owner-response,.ek-exp-reply),
:root[data-ek-theme="dark"] body :is(.ek-sheet.ek-review-sheet,.ek-sheet.ek-review-mobile-sheet) :is(.owner-response,.ek-exp-reply){
 border-top-color:#7d7974!important;
}
/* A restrained translucent dark reading sheet; the background remains visible
   without lowering the opacity of text or changing the light scheme. */
:root[data-ek-theme="dark"] :is(
 .ek-review-dialog.ek-review-mobile-sheet,
 .ek-review-dialog.ek-review-about-index,
 .ek-sheet.ek-review-sheet
){
 background:rgba(56, 52, 47,.94)!important;
 backdrop-filter:blur(12px);
 -webkit-backdrop-filter:blur(12px);
}

/* Home reviews: dots carry the position; the visible "1 de 6" counter is redundant.
   Preserve its existing DOM/aria updates and all six reviews. */
body[data-route="/"] .home-experience .ek-reviews-progress{display:none!important}

/* Ekonatura · Dark experiences & shared review flows.
   No image transformation and no changes to the light theme. */
:root[data-ek-theme="dark"] body[data-route="/resenas/"] .ek-reviews-list .ek-review-entry{
  background:transparent!important; /* Never inherit a light --ek-paper from legacy review scope. */
  background-image:none!important;
  border:0!important;outline:0!important;
  box-shadow:none!important;
  border-radius:0!important;
  color:var(--ek-v1-cream)!important;
  padding-inline:0!important;
  margin-block:0 clamp(36px,8vw,64px)!important;
}
:root[data-ek-theme="dark"] body[data-route="/resenas/"] .ek-reviews-list .ek-review-entry::before,
:root[data-ek-theme="dark"] body[data-route="/resenas/"] .ek-reviews-list .ek-review-entry::after{
  background:none!important;border:0!important;box-shadow:none!important;
}
:root[data-ek-theme="dark"] body[data-route="/resenas/"] .ek-review-entry :is(.ek-exp-reply,.owner-response){
  background:transparent!important;border:0!important;box-shadow:none!important;
  padding-inline:0!important;
}
:root[data-ek-theme="dark"] body.ek-integrated[data-route="/resenas/"] :is(
 .ek-reviews-rating strong,.ek-reviews-rating-label,.ek-reviews-count,
 .ek-reviews-summary,.ek-stories-open,.ek-stories-launch,
 .ek-reviews-tools .eyebrow,.ek-reviews-filter .chip,
 .ek-reviews-list .ek-review-entry .ek-exp-quote
){color:var(--ek-v1-cream)!important;-webkit-text-fill-color:var(--ek-v1-cream)!important;opacity:1!important}
:root[data-ek-theme="dark"] body.ek-integrated[data-route="/resenas/"] :is(
 .ek-reviews-rating-label,.ek-reviews-tools .eyebrow,.ek-reviews-filter .chip small,
 .ek-reviews-filter .chip span,.ek-reviews-list .ek-exp-label
){color:#c9c2bb!important;-webkit-text-fill-color:#c9c2bb!important;opacity:1!important}
:root[data-ek-theme="dark"] body.ek-integrated[data-route="/resenas/"] :is(.ek-stories-open,.ek-stories-launch){
 border:0!important;border-radius:999px;
 background:var(--ek-v1-graphite-mid)!important;
 padding:10px 17px;
}
:root[data-ek-theme="dark"] body.ek-integrated[data-route="/resenas/"] :is(.ek-stories-open,.ek-stories-launch):hover{
 background:var(--ek-v1-graphite-mid)!important;
}
:root[data-ek-theme="dark"] body[data-route="/resenas/"] .ek-reviews-filter :is(.chip,button)[aria-pressed="true"]{
 color:#fff!important;background:var(--ek-v1-graphite-mid)!important;
}
:root[data-ek-theme="dark"] body[data-route="/resenas/"] .ek-reviews-list .ek-review-entry :is(.ek-exp-share,.ek-share-trigger){
 background:var(--ek-v1-graphite-mid)!important;border:0!important;color:var(--ek-v1-cream)!important;
}
/* Stories are generated in JS outside the route's main; the html root must scope them. */
:root[data-ek-theme="dark"] .ek-stories,
:root[data-ek-theme="dark"] .ek-stories :is(.ek-stories-frame,.ek-stories-stage,.ek-stories-body,.ek-stories-foot){
 background:var(--ek-v1-graphite)!important;
 background-image:none!important;
 color:var(--ek-v1-cream)!important;
}
:root[data-ek-theme="dark"] .ek-stories :is(
 .ek-stories-text,.ek-stories-eyebrow,.ek-stories-id,
 .ek-stories-id strong,.ek-stories-prof,.ek-stories-source,
 .ek-stories-person,.ek-stories-top,.ek-stories-foot,
 .ek-stories-reply-text,.ek-stories-reply-sign
){color:var(--ek-v1-cream)!important;-webkit-text-fill-color:var(--ek-v1-cream)!important;opacity:1!important}
:root[data-ek-theme="dark"] .ek-stories :is(.ek-stories-eyebrow,.ek-stories-source,.ek-stories-prof){
 color:#c9c2bb!important;-webkit-text-fill-color:#c9c2bb!important;
}
:root[data-ek-theme="dark"] .ek-stories .ek-stories-backdrop{background:rgba(12,16,17,.93)!important}
:root[data-ek-theme="dark"] .ek-stories .ek-stories-bar{background:rgba(245,241,235,.22)!important}
:root[data-ek-theme="dark"] .ek-stories .ek-stories-bar.is-done{background:var(--ek-v1-stone)!important}
:root[data-ek-theme="dark"] .ek-stories .ek-stories-bar.is-current{background:#f0b399!important}
:root[data-ek-theme="dark"] .ek-stories .ek-stories-stars{
 background:transparent!important;color:#f0b399!important;
}
:root[data-ek-theme="dark"] .ek-stories :is(
 .ek-stories-reply,.ek-stories-reply-sheet,.ek-stories-reply-head,.ek-stories-reply-body
){background:var(--ek-v1-graphite-mid)!important;color:var(--ek-v1-cream)!important;border-color:transparent!important}
:root[data-ek-theme="dark"] .ek-stories :is(
 .ek-stories-x,.ek-stories-reply-x,.ek-stories-nav,
 .ek-stories-reply-open,.ek-stories-share,.ek-stories-actions button
){color:var(--ek-v1-cream)!important;-webkit-text-fill-color:var(--ek-v1-cream)!important;border-color:transparent!important}
:root[data-ek-theme="dark"] .ek-stories :is(.ek-stories-reply-open,.ek-stories-share):hover{
 background:rgba(245,241,235,.11)!important;
}
/* Shared review export: only its UI changes; the image and preview pixels stay original. */
:root[data-ek-theme="dark"] .ek-review-export .ek-review-export-panel,
:root[data-ek-theme="dark"] .ek-library.ek-share .ek-library-sheet{
 background:#292d2e!important;color:var(--ek-v1-cream)!important;border:0!important;
}
:root[data-ek-theme="dark"] .ek-review-export :is(
 .ek-review-export-panel h2,.ek-review-export-intro,
 .ek-review-export-status,.ek-review-export-note,
 .ek-review-export-panel header,.ek-review-export-panel label,
 .ek-review-export-panel p,.ek-review-export-panel span
),
:root[data-ek-theme="dark"] .ek-library.ek-share .ek-library-sheet :is(h2,h3,p,span,label,small){
 color:var(--ek-v1-cream)!important;-webkit-text-fill-color:var(--ek-v1-cream)!important;opacity:1!important;
}
:root[data-ek-theme="dark"] .ek-review-export .ek-review-export-panel header button{
 border-color:transparent!important;color:var(--ek-v1-cream)!important;
}
:root[data-ek-theme="dark"] .ek-review-export .ek-review-export-formats button{
 background:transparent!important;color:#f5f1eb!important;border:0!important;
}
:root[data-ek-theme="dark"] .ek-review-export .ek-review-export-formats button[aria-checked="true"]{
 background:transparent!important;color:#dfa089!important;border:0!important;
}
/* El formato seleccionado lo define aria-checked; no hay pills ni separador. */
:root[data-ek-theme="dark"] .ek-review-export :is(
 [data-share-native],[data-share-download],[data-share-copy]
){background:#35393a!important;color:#f5f1eb!important;border:1px solid transparent!important}
:root[data-ek-theme="dark"] .ek-review-export [data-share-native]{
 background:#f4f0e7!important;color:#292d2e!important;border-color:#f4f0e7!important
}
:root[data-ek-theme="dark"] :is(.ek-review-export,.ek-library.ek-share) img{
 filter:none!important;mix-blend-mode:normal!important;opacity:1!important;
}
:root[data-ek-theme="dark"] .ek-review-export .ek-review-export-preview{
 background:#e6e3dd!important; /* Neutral frame; exported bitmap stays cream. */
}
:root[data-ek-theme="dark"] :is(.ek-stories,.ek-review-export,.ek-library.ek-share)
 :is(button,a,summary):focus-visible{outline:2px solid #f0b399!important;outline-offset:3px}
@media(max-width:700px){
 :root[data-ek-theme="dark"] body[data-route="/resenas/"] .ek-reviews-list .ek-review-entry{
  padding-inline:0!important;border:0!important;border-radius:0!important;
 }
 :root[data-ek-theme="dark"] .ek-review-export .ek-review-export-panel{
  background:#292d2e!important;
 }
}

/* P1 root fix: archived review cards inherit the dark page canvas.
   Old review skins set light tiles; never allow light-on-light text. */
:root[data-ek-theme="dark"] body.ek-integrated.ek-reviews-page[data-route="/resenas/"]
 main.ek-originals .ek-reviews-list > section.ek-review-entry{
 background:transparent!important;background-color:transparent!important;
 background-image:none!important;border:0!important;box-shadow:none!important;
 outline:0!important;filter:none!important;
 opacity:1!important;visibility:visible!important;
}
:root[data-ek-theme="dark"] body.ek-integrated.ek-reviews-page[data-route="/resenas/"]
 main.ek-originals .ek-reviews-list > section.ek-review-entry :is(h2,h3,blockquote,.ek-exp-quote,.ek-exp-prof,.ek-exp-meta,.ek-exp-more>summary,.ek-exp-full p,.ek-exp-reply p,.ek-exp-link,.when-closed,.when-open){
 color:var(--ek-v1-cream)!important;-webkit-text-fill-color:var(--ek-v1-cream)!important;
 opacity:1!important;visibility:visible!important;
}
:root[data-ek-theme="dark"] body.ek-integrated.ek-reviews-page[data-route="/resenas/"]
 main.ek-originals .ek-reviews-list > section.ek-review-entry :is(.ek-exp-prof,.ek-exp-source,.ek-exp-label){
 color:#c9c2bb!important;-webkit-text-fill-color:#c9c2bb!important;
}
:root[data-ek-theme="dark"] body.ek-integrated.ek-reviews-page[data-route="/resenas/"]
 main.ek-originals .ek-reviews-list > section.ek-review-entry .ek-exp-reply{
 background:transparent!important;border:0!important;box-shadow:none!important;
}
/* Respect the native review visibility/filter logic; no blanket display override. */

/* Stories: progress bars, close and review metadata each own a separate row.
   The X uses a generous 44px target but never sits over a progress segment. */
.ek-stories .ek-stories-stage,.ek-stories .ek-stories-zone{touch-action:pan-y}
.ek-stories .ek-stories-progress{
 position:relative!important;top:auto!important;
 left:auto!important;right:auto!important;bottom:auto!important;
 z-index:2!important;
 display:flex!important;flex:none!important;
 width:100%!important;
 margin:0!important;
 padding:0!important;
 box-sizing:border-box!important;
}
.ek-stories .ek-stories-controls{
 position:relative!important;z-index:20!important;
 display:flex!important;justify-content:flex-end!important;align-items:center!important;
 width:100%!important;min-height:44px!important;
 margin:12px 0 12px!important;
}
.ek-stories .ek-stories-top{
 position:relative!important;display:flex!important;
 justify-content:space-between!important;align-items:center!important;
 padding-top:0!important;margin-top:0!important;
}
.ek-stories .ek-stories-x{
 position:static!important;inset:auto!important;
 z-index:20!important;display:grid!important;
 place-items:center!important;flex:none!important;
 width:44px!important;min-width:44px!important;max-width:44px!important;
 height:44px!important;min-height:44px!important;
 margin:0!important;padding:10px!important;
 border:1px solid #807c77!important;border-radius:50%!important;
 background:#f4f0e7!important;color:var(--ek-v1-graphite)!important;
 box-shadow:none!important;
 clip-path:none!important;overflow:visible!important;
 visibility:visible!important;opacity:1!important;
 cursor:pointer!important;pointer-events:auto!important;
}
.ek-stories .ek-stories-x::after{content:none!important;display:none!important}
.ek-stories .ek-stories-x svg{
 display:block!important;flex:none!important;
 width:20px!important;height:20px!important;stroke:currentColor!important;
}
.ek-stories .ek-stories-x:is(:hover,:focus-visible){
 outline:2px solid #a44a32!important;outline-offset:2px!important;
 background:#fff!important;
}
:root[data-ek-theme="dark"] .ek-stories .ek-stories-x{
 background:#48443f!important;color:var(--ek-v1-cream)!important;border-color:#aba7a2!important;
}
:root[data-ek-theme="dark"] .ek-stories .ek-stories-x:is(:hover,:focus-visible){
 background:var(--ek-v1-graphite-mid)!important;outline-color:#f0b399!important;
}
.ek-stories .ek-stories-reply-x .ek-lucide-x{display:block;width:20px;height:20px;stroke:currentColor}
@media(max-width:700px){
 .ek-stories .ek-stories-controls{margin:12px 0!important}
}
/* Ekonatura review trust block: evidence first, CTA second, filters separately.
   Distinct breathable surface in both palettes, independent of review text and filtering. */
body.ek-integrated[data-route="/resenas/"] .ek-reviews-tools{
 box-sizing:border-box!important;
 display:grid!important;
 grid-template-columns:minmax(0,1fr) auto!important;
 align-items:center!important;
 justify-content:stretch!important;
 column-gap:clamp(20px,4vw,42px)!important;
 row-gap:20px!important;
 width:min(1050px,calc(100% - 48px))!important;
 max-width:1050px!important;
 margin:clamp(24px,4vw,46px) auto clamp(38px,5vw,60px)!important;
 padding:clamp(24px,4vw,40px)!important;
 border:0!important;border-radius:24px!important;
 background:var(--ek-v1-stone)!important;
 box-shadow:none!important;
}
body.ek-integrated[data-route="/resenas/"] .ek-reviews-tools .ek-reviews-rating{
 display:flex!important;align-items:center!important;
 flex-wrap:wrap!important;column-gap:12px!important;row-gap:12px!important;
 width:auto!important;max-width:100%!important;
 color:var(--ek-v1-graphite)!important;
}
body.ek-integrated[data-route="/resenas/"] .ek-reviews-tools .stars{
 display:inline-block!important;flex:0 0 auto!important;
 font-size:clamp(23px,3vw,30px)!important;line-height:1.2!important;
 color:var(--ek-v1-coral-dark)!important;letter-spacing:.09em!important;
}
body.ek-integrated[data-route="/resenas/"] .ek-reviews-tools .ek-reviews-rating strong{
 font-size:clamp(28px,4vw,37px)!important;line-height:1.1!important;color:var(--ek-v1-graphite)!important;
}
body.ek-integrated[data-route="/resenas/"] .ek-reviews-tools .ek-reviews-rating-label{
 font-size:clamp(15px,2vw,17px)!important;
 line-height:1.4!important;color:#6b6862!important;opacity:1!important;
}
body.ek-integrated[data-route="/resenas/"] .ek-reviews-tools :is(.ek-stories-open,.ek-stories-launch){
 box-sizing:border-box!important;display:flex!important;
 justify-content:center!important;align-items:center!important;
 width:100%!important;min-width:220px!important;min-height:54px!important;
 margin:0!important;padding:14px 22px!important;
 border-radius:999px!important;border:1px solid var(--ek-v1-graphite)!important;
 background:var(--ek-v1-graphite)!important;color:#f4f0e7!important;
 font:500 17px/1.3 var(--ek-font-body,"Ekonatura Onest",system-ui,sans-serif)!important;
 text-decoration:none!important;
}
body.ek-integrated[data-route="/resenas/"] .ek-reviews-tools :is(.ek-stories-open,.ek-stories-launch):is(:hover,:focus-visible){
 background:var(--ek-v1-graphite-mid)!important;outline:2px solid var(--ek-v1-coral-dark)!important;outline-offset:3px!important;
}
/* Keep the filters outside the trust surface and give them their own generous rhythm. */
body.ek-integrated[data-route="/resenas/"] .ek-reviews-filter,
body.ek-integrated[data-route="/resenas/"] .ek-review-filter-rail{
 margin-top:clamp(24px,4vw,42px)!important;
}
:root[data-ek-theme="dark"] body.ek-integrated[data-route="/resenas/"] .ek-reviews-tools{
 background:var(--ek-v1-graphite-mid)!important;color:var(--ek-v1-cream)!important;
}
:root[data-ek-theme="dark"] body.ek-integrated[data-route="/resenas/"] .ek-reviews-tools :is(
 .ek-reviews-rating,.ek-reviews-rating strong,.ek-reviews-rating-label
){color:var(--ek-v1-cream)!important;-webkit-text-fill-color:var(--ek-v1-cream)!important}
:root[data-ek-theme="dark"] body.ek-integrated[data-route="/resenas/"] .ek-reviews-tools :is(.ek-stories-open,.ek-stories-launch){
 background:var(--ek-v1-graphite-mid)!important;border-color:transparent!important;color:var(--ek-v1-cream)!important;
 -webkit-text-fill-color:var(--ek-v1-cream)!important;
}
@media(max-width:700px){
 body.ek-integrated[data-route="/resenas/"] .ek-reviews-tools{
  grid-template-columns:minmax(0,1fr)!important;
  gap:24px!important;
  width:calc(100% - 36px)!important;
  margin:24px auto 38px!important;
  padding:clamp(22px,6vw,30px)!important;
  border-radius:24px!important;
 }
 body.ek-integrated[data-route="/resenas/"] .ek-reviews-tools .ek-reviews-rating{
  width:100%!important;gap:9px 12px!important;
 }
 body.ek-integrated[data-route="/resenas/"] .ek-reviews-tools :is(.ek-stories-open,.ek-stories-launch){
  min-width:0!important;width:100%!important;min-height:56px!important;
 }
}

/* Mobile review stories: breathing room is inside the viewport, never edge-to-edge.
   Step bars and X stay on separate rows; long reviews keep their scroll. */
.ek-stories .ek-stories-stage{
 box-sizing:border-box!important;
 padding-top:clamp(16px,3.6vw,28px)!important;
 padding-right:clamp(18px,4.8vw,32px)!important;
 padding-left:clamp(18px,4.8vw,32px)!important;
 padding-bottom:calc(clamp(18px,4vw,30px) + env(safe-area-inset-bottom,0px))!important;
}
.ek-stories .ek-stories-progress{
 width:100%!important;max-width:100%!important;
 margin:0!important;padding:0!important;
}
.ek-stories .ek-stories-controls{
 margin:clamp(14px,3vw,22px) 0 clamp(18px,3.4vw,26px)!important;
 width:100%!important;
}
.ek-stories .ek-stories-top{
 box-sizing:border-box!important;
 width:100%!important;max-width:100%!important;
 padding:0 0 clamp(14px,3vw,22px)!important;
}
.ek-stories .ek-stories-body{
 box-sizing:border-box!important;
 width:100%!important;max-width:100%!important;
 min-width:0!important;
 padding-left:clamp(4px,1.5vw,12px)!important;
 padding-right:clamp(4px,1.5vw,12px)!important;
 padding-bottom:clamp(18px,4vw,30px)!important;
}
.ek-stories .ek-stories-foot{
 box-sizing:border-box!important;
 width:100%!important;max-width:100%!important;
 padding:clamp(18px,4vw,28px) clamp(4px,1.5vw,12px) clamp(14px,3vw,22px)!important;
}
.ek-stories .ek-stories-actions{
 display:flex!important;align-items:center!important;justify-content:flex-start!important;
 gap:clamp(15px,3.5vw,24px)!important;
 margin-top:clamp(14px,3vw,22px)!important;
 padding-top:0!important;
}
@media(max-width:700px){
 .ek-stories .ek-stories-stage{
  padding-top:max(16px,env(safe-area-inset-top,0px))!important;
  padding-inline:clamp(18px,5vw,26px)!important;
 }
 .ek-stories .ek-stories-controls{margin-top:14px!important;margin-bottom:18px!important}
}

/* Review sharing · same quiet editorial bottom sheet as Preferences.
   The exported image remains deliberately cream in every appearance mode. */
.ek-review-export .ek-review-export-panel{
 gap:clamp(14px,2vw,22px)!important;
 padding:clamp(22px,3vw,34px)!important;
 border:0!important;
 border-radius:26px!important;
 box-shadow:0 18px 55px #211d1828!important;
}
.ek-review-export .ek-review-export-panel header{
 position:relative!important;
 display:flex!important;
 align-items:center!important;
 gap:18px!important;
 min-height:48px!important;
 margin:0!important;
 padding:0!important;
}
.ek-review-export .ek-review-export-panel h2{
 flex:1!important;
 font:400 clamp(25px,3.7vw,36px)/1.16 var(--ek-font-display,"Ekonatura Onest",sans-serif)!important;
}
.ek-review-export .ek-review-export-panel header [data-share-close]{
 position:static!important;
 flex:0 0 44px!important;
 display:grid!important;place-items:center!important;
 width:44px!important;height:44px!important;min-width:44px!important;
 margin-left:auto!important;padding:10px!important;
 border:1px solid #3c383355!important;border-radius:50%!important;
 background:transparent!important;box-shadow:none!important;
 font-size:0!important;
}
.ek-review-export .ek-review-export-panel header [data-share-close] .ek-lucide-x{
 display:block!important;width:20px!important;height:20px!important;
 stroke:currentColor!important;
}
.ek-review-export .ek-review-export-intro{
 margin:0!important;
 max-width:37ch!important;
 font:400 clamp(14px,2vw,16px)/1.5 var(--ek-font-body,"Ekonatura Onest",sans-serif)!important;
}
.ek-review-export .ek-review-export-formats{
 display:flex!important;align-items:center!important;justify-content:flex-start!important;
 flex-wrap:wrap!important;gap:clamp(12px,4vw,24px)!important;
 margin:0!important;
}
.ek-review-export .ek-review-export-formats button{
 display:inline-flex!important;align-items:center!important;justify-content:center!important;
 min-width:72px!important;min-height:44px!important;padding:10px 6px!important;
 border:0!important;border-radius:0!important;box-shadow:none!important;
 background:transparent!important;color:inherit!important;
 font-weight:500!important;text-decoration:underline!important;
 text-decoration-thickness:1px!important;text-underline-offset:5px!important;
}
.ek-review-export .ek-review-export-formats button[aria-checked="true"]{
 color:#dfa089!important;text-decoration-thickness:2px!important;
}
.ek-review-export .ek-review-export-formats button:focus-visible{
 outline:2px solid #dfa089!important;outline-offset:2px!important;
}
.ek-review-export .ek-review-export-preview{
 box-sizing:border-box!important;
 display:grid!important;place-items:center!important;
 min-height:0!important;
 padding:clamp(6px,2vw,14px)!important;
 margin:0!important;
 border:0!important;border-radius:16px!important;
 background:#e7e7df!important;
}
.ek-review-export .ek-review-export-preview img{
 max-width:100%!important;
 max-height:40dvh!important;
 height:auto!important;
 border:0!important;
 box-shadow:none!important;
}
.ek-review-export .ek-review-export-actions{
 display:block!important;
 margin:0!important;
}
.ek-review-export .ek-review-export-actions [data-share-native]{
 display:block!important;
 width:100%!important;
 min-height:52px!important;
 border-radius:999px!important;
 font:500 16px/1.3 var(--ek-font-body,"Ekonatura Onest",sans-serif)!important;
}
.ek-review-export .ek-review-export-status[hidden]{display:none!important}
:root[data-ek-theme="dark"] .ek-review-export .ek-review-export-panel{
 background:#292d2e!important;color:#f2f0e9!important;
 box-shadow:0 18px 55px #080d0a55!important;
}
:root[data-ek-theme="dark"] .ek-review-export .ek-review-export-preview{
 background:#d9dbd2!important;color:#3c3833!important;
}
:root[data-ek-theme="dark"] .ek-review-export .ek-review-export-panel header [data-share-close]{
 background:transparent!important;color:#f2f0e9!important;
 border-color:#b4b0ab!important;
}
@media(max-width:700px){
 .ek-review-export .ek-review-export-panel{
  left:0!important;right:0!important;bottom:0!important;top:auto!important;
  transform:none!important;
  width:100%!important;max-height:min(91dvh,950px)!important;
  gap:17px!important;
  padding:clamp(24px,5vw,32px) clamp(22px,5vw,30px) calc(24px + env(safe-area-inset-bottom,0px))!important;
  border-radius:28px 28px 0 0!important;
 }
 .ek-review-export .ek-review-export-panel .ek-share-handle{
  display:block!important;
  position:relative!important;
  inset:auto!important;left:auto!important;top:auto!important;
  width:44px!important;height:5px!important;
  margin:0 auto 14px!important;
  background:currentColor!important;opacity:.28!important;transform:none!important;
  border-radius:999px!important;
 }
 .ek-review-export .ek-review-export-panel header{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) 44px!important;
  align-items:center!important;
 }
 .ek-review-export .ek-review-export-panel header .ek-share-handle{
  grid-column:1/-1!important;
 }
 .ek-review-export .ek-review-export-panel .ek-review-export-preview img{max-height:35dvh!important}
}

/* Unified compact review disclosure: actual text action plus Lucide chevron,
   full review/reply remains present in the source DOM for indexing. */
body.ek-integrated .home-experience .review-more>summary,
body.ek-integrated[data-route="/resenas/"] .ek-review-entry .ek-exp-more>summary{
 display:flex!important;
 align-items:center!important;
 justify-content:space-between!important;
 min-height:44px!important;
 gap:12px!important;
 padding:12px 4px!important;
 font-size:clamp(14px,1.7vw,16px)!important;
 font-weight:500!important;
 line-height:1.35!important;
 cursor:pointer!important;
}
body.ek-integrated .home-experience .review-more>summary .ek-lucide,
body.ek-integrated[data-route="/resenas/"] .ek-review-entry .ek-exp-more>summary .ek-lucide{
 display:block!important;
 flex:none!important;
 width:19px!important;height:19px!important;
 margin-left:auto!important;
 stroke:currentColor!important;
 transition:transform .16s ease;
}
body.ek-integrated .home-experience .review-more[open]>summary .ek-lucide,
body.ek-integrated[data-route="/resenas/"] .ek-review-entry .ek-exp-more[open]>summary .ek-lucide{
 transform:rotate(90deg);
}
body.ek-integrated .home-experience .review-more>summary i,
body.ek-integrated[data-route="/resenas/"] .ek-review-entry .ek-exp-more>summary::after{
 display:none!important;
}
@media(prefers-reduced-motion:reduce){
 body.ek-integrated :is(.review-more,.ek-exp-more)>summary .ek-lucide{transition:none!important}
}

/* F6 · Universal mobile reading sheet: a translucent dark paper over the page,
   not a new full-screen opaque background. Keep the light appearance unchanged. */
:root[data-ek-theme="dark"] .ek-sheet{
 background:transparent!important;background-color:transparent!important;
 background-image:none!important;
}
:root[data-ek-theme="dark"] .ek-sheet .ek-sheet-scrim{
 background:rgba(26, 22, 17,.40)!important;
}
:root[data-ek-theme="dark"] .ek-sheet .ek-sheet-panel{
 background:rgba(54, 50, 45,.87)!important;
 background-color:rgba(54, 50, 45,.87)!important;
 background-image:none!important;
 -webkit-backdrop-filter:blur(8px);
 backdrop-filter:blur(8px);
 color:#f2f0e9!important;
 border:1px solid rgba(195, 191, 186,.38)!important;
 border-bottom:0!important;
}
:root[data-ek-theme="dark"] .ek-sheet .ek-sheet-head{
 background:transparent!important;background-color:transparent!important;
 background-image:none!important;
 border-bottom-color:rgba(195, 191, 186,.27)!important;
}
:root[data-ek-theme="dark"] .ek-sheet .ek-sheet-body{
 background:transparent!important;
 color:#f2f0e9!important;
}
:root[data-ek-theme="dark"] .ek-sheet .ek-sheet-body :is(p,blockquote,li,strong,span){
 color:#f2f0e9!important;-webkit-text-fill-color:#f2f0e9!important;
}
/* F7 · Stories is one canvas: progress / close / eyebrow all share the stage,
   with no second green strip or opaque header band in either appearance. */
.ek-stories .ek-stories-stage{
 background:#f4f0e7!important;
 background-image:none!important;
}
.ek-stories .ek-stories-stage :is(
 .ek-stories-progress,.ek-stories-controls,.ek-stories-top,
 .ek-stories-body,.ek-stories-foot
){
 background:transparent!important;background-color:transparent!important;
 background-image:none!important;
 box-shadow:none!important;
}
.ek-stories .ek-stories-top{
 border:0!important;border-radius:0!important;
}
:root[data-ek-theme="dark"] .ek-stories :is(.ek-stories-frame,.ek-stories-stage){
 background:#202826!important;background-color:#202826!important;
 background-image:none!important;
}
:root[data-ek-theme="dark"] .ek-stories .ek-stories-stage :is(
 .ek-stories-progress,.ek-stories-controls,.ek-stories-top,
 .ek-stories-body,.ek-stories-foot
){
 background:transparent!important;background-color:transparent!important;
 background-image:none!important;
 box-shadow:none!important;
}
/* F8 · Home: compose the session image with three clearly differentiated
   steps. No DOM rewriting, text clipping, text removal or new images. */
body[data-route="/"] .ek-home .home-method .home-split{
 display:grid!important;
 grid-template-columns:minmax(0,1.08fr) minmax(0,.92fr)!important;
 align-items:start!important;
 column-gap:clamp(28px,5vw,72px)!important;
 row-gap:clamp(22px,3.5vw,40px)!important;
}
body[data-route="/"] .ek-home .home-method .home-split-main{
 order:0!important;min-width:0!important;
}
body[data-route="/"] .ek-home .home-method .home-method-visual{
 order:1!important;margin:0!important;min-width:0!important;
}
body[data-route="/"] .ek-home .home-method .home-method-visual img{
 display:block!important;width:100%!important;
 height:auto!important;aspect-ratio:4/5!important;
 object-fit:cover!important;object-position:50% 50%!important;
 border-radius:22px!important;
}
body[data-route="/"] .ek-home .home-method .home-steps{
 list-style:none!important;counter-reset:ek-session!important;
 display:grid!important;
 margin:clamp(18px,3vw,30px) 0 0!important;
 padding:0!important;max-width:none!important;
}
body[data-route="/"] .ek-home .home-method .home-steps li{
 counter-increment:ek-session!important;
 display:grid!important;
 grid-template-columns:42px minmax(0,1fr)!important;
 gap:clamp(12px,2vw,22px)!important;
 align-items:start!important;
 margin:0!important;
 padding:clamp(20px,3vw,27px) 0!important;
 border-top:1px solid var(--ek-line,#cfcbc6)!important;
}
body[data-route="/"] .ek-home .home-method .home-steps li:first-child{
 border-top:1px solid var(--ek-line,#cfcbc6)!important;
}
body[data-route="/"] .ek-home .home-method .home-steps li::before{
 content:counter(ek-session, decimal-leading-zero)!important;
 display:grid!important;place-items:center!important;
 width:38px!important;height:38px!important;
 padding:0!important;border:1px solid currentColor!important;
 border-radius:50%!important;
 color:var(--ek-accent,#8b5f4d)!important;
 font:600 13px/1 var(--ek-font-body,"Ekonatura Onest",system-ui,sans-serif)!important;
 letter-spacing:0!important;
}
body[data-route="/"] .ek-home .home-method .home-steps li p{
 margin:0!important;min-width:0!important;max-width:56ch!important;
 font:400 clamp(16px,1.65vw,19px)/1.58 var(--ek-font-body,"Ekonatura Onest",system-ui,sans-serif)!important;
 letter-spacing:normal!important;
}
@media(max-width:800px){
 body[data-route="/"] .ek-home .home-method .home-split{
  grid-template-columns:minmax(0,1fr)!important;
  row-gap:clamp(22px,5vw,35px)!important;
 }
 body[data-route="/"] .ek-home .home-method .home-method-visual{order:0!important}
 body[data-route="/"] .ek-home .home-method .home-split-main{order:1!important}
 body[data-route="/"] .ek-home .home-method .home-method-visual img{
  height:auto!important;aspect-ratio:5/4!important;
  object-position:50% 50%!important;
 }
 body[data-route="/"] .ek-home .home-method .home-steps li{
  grid-template-columns:36px minmax(0,1fr)!important;
  gap:13px!important;padding:18px 0!important;
 }
 body[data-route="/"] .ek-home .home-method .home-steps li::before{
  width:34px!important;height:34px!important;font-size:12px!important;
 }
 body[data-route="/"] .ek-home .home-method .home-steps li p{
  font-size:16px!important;line-height:1.55!important;
 }
}
:root[data-ek-theme="dark"] body[data-route="/"] .ek-home .home-method .home-steps li{
 border-top-color:rgba(224, 220, 215,.29)!important;
}
:root[data-ek-theme="dark"] body[data-route="/"] .ek-home .home-method .home-steps li::before{
 color:#f0b399!important;border-color:rgba(240,179,153,.58)!important;
}

/* F6 finishing correction · The whole .ek-sheet is a FULL-VIEWPORT overlay,
   not the translucent reading surface. Override the more-specific legacy
   .ek-sheet.ek-review-sheet dark background on the overlay itself, and reserve
   translucency for the actual .ek-sheet-panel. */
:root[data-ek-theme="dark"] body .ek-sheet,
:root[data-ek-theme="dark"] body .ek-sheet.ek-review-sheet,
:root[data-ek-theme="dark"] body .ek-sheet.ek-hero-modal{
 background:transparent!important;
 background-color:transparent!important;
 background-image:none!important;
 border:0!important;box-shadow:none!important;
}
:root[data-ek-theme="dark"] body .ek-sheet .ek-sheet-scrim{
 background:rgba(26, 22, 17,.32)!important;
}
:root[data-ek-theme="dark"] body .ek-sheet .ek-sheet-panel{
 background:rgba(54, 50, 45,.88)!important;
 background-color:rgba(54, 50, 45,.88)!important;
 -webkit-backdrop-filter:blur(8px)!important;
 backdrop-filter:blur(8px)!important;
}
/* F7 finishing correction · Stories header belongs to the same canvas.
   Keep step bars and X separated; only remove the colored header strip. */
.ek-stories .ek-stories-stage .ek-stories-top,
.ek-stories .ek-stories-stage .ek-stories-controls,
.ek-stories .ek-stories-stage .ek-stories-progress{
 background:transparent!important;
 background-color:transparent!important;
 background-image:none!important;
 box-shadow:none!important;
}
.ek-stories .ek-stories-stage .ek-stories-top{
 border:0!important;
 outline:0!important;
}
:root[data-ek-theme="dark"] .ek-stories .ek-stories-stage .ek-stories-top,
:root[data-ek-theme="dark"] .ek-stories .ek-stories-stage .ek-stories-controls,
:root[data-ek-theme="dark"] .ek-stories .ek-stories-stage .ek-stories-progress{
 background:transparent!important;
 background-color:transparent!important;
 background-image:none!important;
 border-color:transparent!important;
 box-shadow:none!important;
}

/* A–C · The site's canonical editorial type remains "Ekonatura Onest" for reading,
   "Ekonatura Geist Serif" for display. These are local rhythm changes, not font replacements. */

/* A · Clean Home reviews pagination; preserve all seven buttons and data. */
body.ek-integrated[data-route="/"] .home-experience .ek-reviews-nav{
 border:0!important;border-top:0!important;
 padding-top:0!important;margin-top:clamp(18px,3vw,24px)!important;
 box-shadow:none!important;
}
body.ek-integrated[data-route="/"] .home-experience .ek-reviews-nav::before{
 display:none!important;content:none!important;
}

/* A · Mobile global menu: "Ekonatura Geist Serif" marks principal choices, while secondary
   destinations are clear, lightly tracked "Ekonatura Onest". Same in light and dark. */
@media(max-width:800px){
 #ek-menu .ek-mobile-levels [data-menu-level="root"]>:is(a,button){
  font-family:var(--ek-font-heading,"Ekonatura Geist Serif",serif)!important;
  font-size:clamp(18px,4.5vw,21px)!important;
  font-weight:400!important;line-height:1.25!important;
  letter-spacing:-.025em!important;
  padding:15px 0!important;min-height:56px!important;
 }
 #ek-menu .ek-mobile-levels [data-menu-level="explore"]>:is(a,button){
  font-family:var(--ek-font-body,"Ekonatura Onest",system-ui,sans-serif)!important;
  font-size:clamp(15px,3.9vw,17px)!important;
  font-weight:400!important;line-height:1.45!important;
  letter-spacing:-.018em!important;
  padding:13px 0!important;min-height:50px!important;
 }
 #ek-menu .ek-mobile-levels [data-menu-level] h3{
  font-family:var(--ek-font-heading,"Ekonatura Geist Serif",serif)!important;
  font-weight:400!important;letter-spacing:-.025em!important;
 }
}
/* B · One photo-card composition for problem entries and all related picture
   links; these are the existing anchor+image+copy nodes, untouched for SEO. */
body.ek-integrated[data-route="/problemas/"] .ek-f2-rail>.ek-ed-card,
body.ek-integrated[data-route="/problemas/"] .ek-discovery-grid>.ek-ed-card,
body.ek-integrated .related>ul>li>a:has(>.related-image),
body.ek-unified[data-route="/problemas/"] main.ek-problem-hub .related>ul>li>a{
 display:block!important;position:relative!important;isolation:isolate!important;
 box-sizing:border-box!important;
 height:clamp(295px,25vw,360px)!important;
 min-height:295px!important;max-height:360px!important;
 aspect-ratio:auto!important;
 overflow:hidden!important;border:0!important;border-radius:18px!important;
 background:var(--ek-v1-graphite)!important;box-shadow:none!important;
 color:#f4f0e7!important;
}
body.ek-integrated[data-route="/problemas/"] .ek-f2-rail>.ek-ed-card .ek-ed-card-photo,
body.ek-integrated[data-route="/problemas/"] .ek-discovery-grid>.ek-ed-card .ek-ed-card-photo,
body.ek-integrated .related>ul>li>a:has(>.related-image)>.related-image,
body.ek-unified[data-route="/problemas/"] main.ek-problem-hub .related>ul>li>a>.related-image{
 position:absolute!important;inset:0!important;z-index:0!important;
 display:block!important;width:100%!important;height:100%!important;
 max-width:none!important;aspect-ratio:auto!important;overflow:hidden!important;
}
body.ek-integrated .related>ul>li>a:has(>.related-image)>.related-image img{
 display:block!important;position:absolute!important;inset:0!important;
 width:100%!important;height:100%!important;object-fit:cover!important;
}
body.ek-integrated[data-route="/problemas/"] .ek-f2-rail>.ek-ed-card::before,
body.ek-integrated[data-route="/problemas/"] .ek-discovery-grid>.ek-ed-card::before{
 pointer-events:none!important;z-index:1!important;
 background:linear-gradient(to bottom,rgba(41,45,46,.06),rgba(41,45,46,.20))!important;
}
/* Upper category: compact opaque badge, out of the text block. */
body.ek-integrated[data-route="/problemas/"] .ek-f2-rail>.ek-ed-card::after,
body.ek-integrated[data-route="/problemas/"] .ek-discovery-grid>.ek-ed-card::after,
body.ek-integrated .related>ul>li>a:has(>.related-image)::after{
 content:"PROBLEMA";
 position:absolute!important;top:14px!important;left:14px!important;right:auto!important;z-index:5!important;
 display:inline-flex!important;align-items:center!important;justify-content:center!important;
 padding:7px 11px!important;max-width:calc(100% - 28px)!important;
 border-radius:4px!important;background:#f4f0e7!important;color:var(--ek-v1-graphite)!important;
 font:500 10px/1.25 var(--ek-font-body,"Ekonatura Onest",system-ui,sans-serif)!important;
 letter-spacing:.1em!important;text-transform:uppercase!important;
 pointer-events:none!important;
}
body.ek-integrated[data-route="/problemas/"] .ek-f2-rail>.ek-ed-card[href^="/itv-corporal/"]::after,
body.ek-integrated[data-route="/problemas/"] .ek-discovery-grid>.ek-ed-card[href^="/itv-corporal/"]::after,
body.ek-integrated .related>ul>li>a[href^="/osteopatia/"]:has(>.related-image)::after,
body.ek-integrated .related>ul>li>a[href^="/itv-corporal/"]:has(>.related-image)::after,
body.ek-integrated .related>ul>li>a[href^="/reeducacion-postural/"]:has(>.related-image)::after{content:"SERVICIO"}
body.ek-integrated .related>ul>li>a[href^="/resenas/"]:has(>.related-image)::after{content:"EXPERIENCIA"}
/* Full-bleed caption; fixed rhythm prevents per-card height wobble. */
body.ek-integrated[data-route="/problemas/"] .ek-f2-rail>.ek-ed-card .ek-ed-card-body,
body.ek-integrated[data-route="/problemas/"] .ek-discovery-grid>.ek-ed-card .ek-ed-card-body,
body.ek-integrated .related>ul>li>a:has(>.related-image)>.related-text,
body.ek-unified[data-route="/problemas/"] main.ek-problem-hub .related .related-text{
 position:absolute!important;inset:auto 0 0 0!important;z-index:3!important;
 left:0!important;right:0!important;bottom:0!important;top:auto!important;
 display:flex!important;flex-direction:column!important;justify-content:center!important;
 width:100%!important;height:145px!important;min-height:145px!important;max-height:145px!important;
 margin:0!important;padding:16px clamp(15px,2vw,21px)!important;
 gap:6px!important;overflow:hidden!important;box-sizing:border-box!important;
 background:rgba(41,45,46,.96)!important;color:#f4f0e7!important;
 border:0!important;border-radius:0!important;box-shadow:none!important;
 backdrop-filter:none!important;-webkit-backdrop-filter:none!important;
}
body.ek-integrated[data-route="/problemas/"] .ek-f2-rail>.ek-ed-card .ek-ed-card-title,
body.ek-integrated[data-route="/problemas/"] .ek-discovery-grid>.ek-ed-card .ek-ed-card-title,
body.ek-integrated .related>ul>li>a:has(>.related-image)>.related-text strong{
 display:-webkit-box!important;-webkit-box-orient:vertical!important;
 -webkit-line-clamp:2!important;line-clamp:2!important;
 overflow:hidden!important;min-height:0!important;max-height:2.6em!important;
 white-space:normal!important;text-overflow:ellipsis!important;
 margin:0!important;padding:0!important;
 font:400 clamp(18px,2vw,22px)/1.23 var(--ek-font-heading,"Ekonatura Geist Serif",serif)!important;
 letter-spacing:-.025em!important;color:#f4f0e7!important;
}
body.ek-integrated[data-route="/problemas/"] .ek-f2-rail>.ek-ed-card .ek-ed-card-desc,
body.ek-integrated[data-route="/problemas/"] .ek-discovery-grid>.ek-ed-card .ek-ed-card-desc,
body.ek-integrated .related>ul>li>a:has(>.related-image)>.related-text>span:not(.related-label):not(.related-action):not(.related-cta){
 display:-webkit-box!important;-webkit-box-orient:vertical!important;
 -webkit-line-clamp:2!important;line-clamp:2!important;
 opacity:1!important;visibility:visible!important;
 min-height:0!important;max-height:2.9em!important;
 overflow:hidden!important;text-overflow:ellipsis!important;
 white-space:normal!important;
 padding:0!important;margin:0!important;
 font:400 13px/1.44 var(--ek-font-body,"Ekonatura Onest",system-ui,sans-serif)!important;
 letter-spacing:-.005em!important;color:#ede9e4!important;
}
body.ek-integrated[data-route="/problemas/"] .ek-f2-rail>.ek-ed-card:is(:hover,:focus-within) .ek-ed-card-desc,
body.ek-integrated .related>ul>li>a:has(>.related-image):is(:hover,:focus-visible)>.related-text{
 max-height:145px!important;
}
body.ek-integrated[data-route="/problemas/"] .ek-f2-rail>.ek-ed-card :is(.ek-ed-card-cta,.ek-ed-card-more,.ek-ed-card-glass),
body.ek-integrated[data-route="/problemas/"] .ek-discovery-grid>.ek-ed-card :is(.ek-ed-card-cta,.ek-ed-card-more,.ek-ed-card-glass),
body.ek-integrated .related>ul>li>a:has(>.related-image)>.related-text :is(.related-label,.related-action,.related-cta){
 display:none!important;
}
@media(max-width:900px){
 body.ek-integrated[data-route="/problemas/"] .ek-f2-rail>.ek-ed-card,
 body.ek-integrated[data-route="/problemas/"] .ek-discovery-grid>.ek-ed-card,
 body.ek-integrated .related>ul>li>a:has(>.related-image){
  height:clamp(290px,76vw,370px)!important;min-height:290px!important;max-height:370px!important;
 }
}
@media(max-width:700px){
 body.ek-integrated[data-route="/problemas/"] .ek-f2-rail>.ek-ed-card .ek-ed-card-title,
 body.ek-integrated[data-route="/problemas/"] .ek-discovery-grid>.ek-ed-card .ek-ed-card-title,
 body.ek-integrated .related>ul>li>a:has(>.related-image)>.related-text strong{
  font-size:20px!important;line-height:1.23!important;
 }
}

/* Correct inherited negative z-index of hub photography. */
body.ek-integrated[data-route="/problemas/"] .ek-f2-rail>.ek-ed-card>.ek-ed-card-photo,
body.ek-integrated[data-route="/problemas/"] .ek-discovery-grid>.ek-ed-card>.ek-ed-card-photo{
 z-index:0!important;object-fit:cover!important;
}
/* Related badges reflect the underlying indexed destination, not a generic label. */
body.ek-integrated .related>ul>li>a:has(>.related-image)::after{content:"CONTENIDO"}
body.ek-integrated .related>ul>li>a[href^="/problemas/"]:has(>.related-image)::after{content:"PROBLEMA"}
body.ek-integrated .related>ul>li>a[href^="/experiencia-ekonatura/"]:has(>.related-image)::after{content:"EXPERIENCIA"}
body.ek-integrated .related>ul>li>a[href^="/sobre-mi/"]:has(>.related-image)::after{content:"SOBRE MÍ"}
body.ek-integrated .related>ul>li>a[href^="/preguntas-habituales/"]:has(>.related-image)::after{content:"INFORMACIÓN"}

/* REVIEW 02/11 · Reuse one category tag above the photo, never twice. */
body.ek-integrated[data-route="/problemas/"] :is(.ek-f2-rail,.ek-discovery-grid)>.ek-ed-card .ek-ed-card-body :is(.ek-ed-card-label,.ek-ed-card-category),
body.ek-integrated .related>ul>li>a:has(>.related-image)>.related-text>.related-label{
 display:none!important;
}
/* Canonical fonts + subtle editorial rhythm for reading text in both themes.
   Preserve headings, font sizes, approved layouts and independent CV page. */
body.ek-integrated:not([data-route="/sobre-mi/detalle/"]) :is(.reading.prose,.ek-section-copy,.ek-intro-editorial-copy,.ek-section-body) :is(p,li,dd){
 font-family:var(--ek-font-body,"Ekonatura Onest",system-ui,sans-serif)!important;
 font-weight:400!important;letter-spacing:-.012em!important;
 font-kerning:normal;font-optical-sizing:auto;
}
@media(max-width:800px){
 #ek-menu nav.ek-mobile-levels [data-menu-level="root"]>:is(a,button):not(.ek-mobile-booking-cta){
  font-family:var(--ek-font-heading,"Ekonatura Geist Serif",serif)!important;
  font-weight:400!important;letter-spacing:-.03em!important;line-height:1.25!important;
 }
 #ek-menu nav.ek-mobile-levels [data-menu-level="explore"]>:is(a,button),
 #ek-menu nav.ek-mobile-levels .ek-mobile-booking-cta{
  font-family:var(--ek-font-body,"Ekonatura Onest",system-ui,sans-serif)!important;
  font-weight:400!important;letter-spacing:-.015em!important;
 }
}

/* EDITORIAL_RHYTHM_20261102 · Canonical reading scale in light and dark.
   Scope is prose/chapters, never approved heroes, card captions or the CV. */
body.ek-integrated:not([data-route="/sobre-mi/detalle/"]) :is(.reading.prose,.ek-section-copy,.ek-intro-editorial-copy,.ek-section-body) :is(p,li,dd){
 font-family:var(--ek-font-body,"Ekonatura Onest",system-ui,sans-serif)!important;
 font-size:clamp(16px,1.18vw,17px)!important;
 font-weight:400!important;
 line-height:1.6!important;
 letter-spacing:-.012em!important;
 font-kerning:normal;
 text-wrap:pretty;
}
body.ek-integrated:not([data-route="/sobre-mi/detalle/"]) .reading.prose .ek-section>h2,
body.ek-integrated:not([data-route="/sobre-mi/detalle/"]) .ek-about-curated>h2{
 font-family:var(--ek-font-heading,"Ekonatura Geist Serif",serif)!important;
 font-weight:400!important;
 font-size:clamp(29px,2.8vw,42px)!important;
 line-height:1.13!important;
 letter-spacing:-.032em!important;
 text-wrap:balance;
}
body.ek-integrated:not([data-route="/sobre-mi/detalle/"]) .reading.prose .ek-section>h3{
 font-family:var(--ek-font-heading,"Ekonatura Geist Serif",serif)!important;
 font-weight:400!important;
 font-size:clamp(22px,2vw,29px)!important;
 line-height:1.2!important;
 letter-spacing:-.028em!important;
 text-wrap:balance;
}
@media(max-width:800px){
 #ek-menu nav.ek-mobile-levels [data-menu-level="root"]>:is(a,button):not(.ek-mobile-booking-cta){
  font-size:clamp(19px,4.7vw,22px)!important;
  line-height:1.22!important;
 }
 #ek-menu nav.ek-mobile-levels [data-menu-level="explore"]>:is(a,button){
  font-size:clamp(14px,3.8vw,16px)!important;
  line-height:1.4!important;
 }
}

/* EDITORIAL_PASS2_20261102
   Second editorial pass. Work with the site's existing "Ekonatura Geist Serif" / "Ekonatura Onest"
   roles and reading rhythm; no change to canonical body copy, photos or heroes.
   Consistent in both theme states without selecting theme colours. */
body.ek-integrated:not([data-route="/sobre-mi/detalle/"]):not([data-route="/sobre-mi/"]) .reading.prose .ek-intro-editorial-title{
 font-family:var(--ek-font-heading,"Ekonatura Geist Serif",serif)!important;
 font-weight:400!important;
 font-size:clamp(25px,2.35vw,35px)!important;
 line-height:1.16!important;
 letter-spacing:-.033em!important;
 font-optical-sizing:auto;
 text-wrap:balance;
}
body.ek-integrated:not([data-route="/sobre-mi/detalle/"]):not([data-route="/sobre-mi/"]) .reading.prose .ek-intro-editorial-copy>p:first-child{
 font-family:var(--ek-font-body,"Ekonatura Onest",system-ui,sans-serif)!important;
 font-size:clamp(17px,1.35vw,18px)!important;
 line-height:1.57!important;
 letter-spacing:-.014em!important;
 max-width:60ch;
}
body.ek-integrated:not([data-route="/sobre-mi/detalle/"]):not([data-route="/sobre-mi/"]) :is(.reading.prose,.ek-about-curated) :is(.ek-intro-editorial-eyebrow,.ek-intro-editorial-number){
 font-family:var(--ek-font-body,"Ekonatura Onest",system-ui,sans-serif)!important;
 font-size:12px!important;
 font-weight:500!important;
 letter-spacing:.075em!important;
 line-height:1.4!important;
}
/* Normalize the heading above existing image recommendations, not the cards'
   content or the curated recommendations' SEO markup. */
body.ek-integrated .related>h2{
 font-family:var(--ek-font-heading,"Ekonatura Geist Serif",serif)!important;
 font-size:clamp(27px,2.45vw,38px)!important;
 font-weight:400!important;
 line-height:1.16!important;
 letter-spacing:-.03em!important;
 text-wrap:balance;
}
/* Related image cards already share the Problems composition at all routes.
   Normalize remaining desktop size differences, excluding the approved
   3-card Experience carousel with its independent rail dimensions. */
@media(min-width:901px){
 body.ek-integrated:not([data-route="/experiencia-ekonatura/"]) .related>ul>li>a:has(>.related-image){
  height:clamp(295px,25vw,360px)!important;
  min-height:295px!important;
  max-height:360px!important;
 }
}
/* Improve readability at small widths without altering the 2-line clamp. */
@media(max-width:700px){
 body.ek-integrated .related>ul>li>a:has(>.related-image)>.related-text>.related-desc,
 body.ek-integrated .related>ul>li>a:has(>.related-image)>.related-text>span:not(.related-label):not(.related-action):not(.related-cta){
  font-size:14px!important;
  line-height:1.42!important;
  letter-spacing:-.007em!important;
 }
}
body.ek-integrated .related>ul>li>a:has(>.related-image):focus-visible{
 outline:2px solid var(--ek-coral,#a94b32)!important;
 outline-offset:3px!important;
}

/* EDITORIAL_PASS3_20261102 · Fixed the real mobile geometry discrepancy:
   /problemas/ related rail used 78% width versus the approved Problems
   photographic rail (100% - 30px). Equal-width cards read as rectangles;
   retain their shared height, overlay, badge, photography and swipe peek. */
@media(max-width:700px){
 body.ek-integrated[data-route="/problemas/"] main.ek-problem-hub .related{
  width:100%!important;
  max-width:100%!important;
  margin-inline:0!important;
 }
 body.ek-integrated[data-route="/problemas/"] .related--carousel>ul>li{
  flex:0 0 calc(100% - 30px)!important;
  width:calc(100% - 30px)!important;
  min-width:0!important;max-width:none!important;
  scroll-snap-align:start;
 }
 body.ek-integrated[data-route="/problemas/"] .related--carousel>ul>li>a:has(>.related-image){
  height:clamp(290px,76vw,370px)!important;
  min-height:290px!important;max-height:370px!important;
  aspect-ratio:auto!important;
 }
}
/* Third fine editorial pass: the ordinary introductory reading paragraphs
   had been bypassing the canonical section rules. Reuse the same "Ekonatura Onest"
   rhythm without altering any hero, quote, card, legal or independent CV. */
body.ek-integrated:not([data-route="/sobre-mi/detalle/"]) .reading.prose .ek-hero-intro:not(.ek-hero-intro--editorial)>p{
 font-family:var(--ek-font-body,"Ekonatura Onest",system-ui,sans-serif)!important;
 font-weight:400!important;
 font-size:clamp(16px,1.18vw,17px)!important;
 line-height:1.6!important;
 letter-spacing:-.012em!important;
 font-kerning:normal;
 text-wrap:pretty;
}
body.ek-integrated:not([data-route="/sobre-mi/detalle/"]) .reading.prose .ek-hero-intro:not(.ek-hero-intro--editorial)>p:first-child{
 font-size:clamp(17px,1.3vw,18px)!important;
 line-height:1.55!important;
}
body.ek-integrated :is(.reading.prose .ek-section>h2,.reading.prose .ek-section>h3,.reading.prose .ek-intro-editorial-title,.related>h2){
 font-kerning:normal;
 font-optical-sizing:auto;
 text-rendering:optimizeLegibility;
}

/* HOME_METHOD_TYPOGRAPHY_PARITY_20261102 */
/* Same editorial reading size as the neighbouring «Sobre mí» paragraph.
   Preserve steps, spacing, photo, lines and typography outside the home. */
body.ek-integrated[data-route="/"] .ek-home .home-method .home-steps li p{
 font:400 16px/1.58 var(--ek-font-body,"Ekonatura Onest",system-ui,sans-serif)!important;
 letter-spacing:normal!important;
}
@media(max-width:800px){
 body.ek-integrated[data-route="/"] .ek-home .home-method .home-steps li p{
  font-size:16px!important;line-height:1.58!important;
 }
}

/* Detail page: one coherent navigation row, no duplicate identity block.
   The only icons are meaningful controls: return, light and dark. */
body[data-route="/sobre-mi/detalle/"] .ek-personal-html .ek-personal-top{
 display:flex!important;
 flex-direction:row!important;
 align-items:center!important;
 justify-content:flex-start!important;
 gap:0!important;
 min-height:64px!important;
 padding:8px clamp(12px,3vw,28px)!important;
}
body[data-route="/sobre-mi/detalle/"] .ek-personal-html .ek-personal-top .ek-personal-brand{
 display:none!important;
}
body[data-route="/sobre-mi/detalle/"] .ek-personal-html .ek-detail-nav-actions{
 display:flex!important;
 flex:1 1 auto!important;
 flex-direction:row!important;
 align-items:center!important;
 justify-content:space-between!important;
 min-width:0!important;
 width:100%!important;
 max-width:100%!important;
 gap:clamp(6px,2vw,16px)!important;
 margin:0!important;
}
body[data-route="/sobre-mi/detalle/"] .ek-personal-html .ek-detail-nav-actions nav{
 display:flex!important;
 flex:1 1 auto!important;
 flex-direction:row!important;
 flex-wrap:nowrap!important;
 align-items:center!important;
 justify-content:flex-start!important;
 min-width:0!important;
 max-width:100%!important;
 width:auto!important;
 gap:clamp(5px,1.8vw,20px)!important;
 overflow:visible!important;
 scroll-snap-type:none!important;
}
body[data-route="/sobre-mi/detalle/"] .ek-personal-html .ek-detail-nav-actions nav a{
 display:inline-flex!important;
 align-items:center!important;
 justify-content:center!important;
 gap:4px!important;
 flex:0 1 auto!important;
 min-width:0!important;
 min-height:44px!important;
 white-space:nowrap!important;
 padding:8px 0!important;
 font:500 clamp(9px,2.5vw,12px)/1.3 var(--ek-font-body,"Ekonatura Onest",system-ui,sans-serif)!important;
 letter-spacing:0!important;
 text-transform:uppercase!important;
 text-decoration:none!important;
}
body[data-route="/sobre-mi/detalle/"] .ek-personal-html .ek-detail-nav-actions nav a.ek-detail-back-link{
 gap:5px!important;
}
body[data-route="/sobre-mi/detalle/"] .ek-personal-html .ek-detail-back-link .ek-lucide-arrow-left{
 display:block!important;
 width:15px!important;
 height:15px!important;
 flex:none!important;
 stroke:currentColor!important;
}
body[data-route="/sobre-mi/detalle/"] .ek-personal-html .ek-detail-theme-toggle{
 position:relative!important;
 display:grid!important;
 place-items:center!important;
 flex:0 0 44px!important;
 width:44px!important;
 height:44px!important;
 margin:0!important;
 padding:9px!important;
 background:transparent!important;
 color:inherit!important;
}
body[data-route="/sobre-mi/detalle/"] .ek-personal-html .ek-detail-theme-toggle:is(:hover,:focus-visible){
 background:currentColor!important;
 background-color:transparent!important;
 opacity:1!important;
}
body[data-route="/sobre-mi/detalle/"] .ek-personal-html .ek-detail-theme-toggle .ek-lucide{
 width:20px!important;height:20px!important;
 stroke:currentColor!important;
}
body[data-route="/sobre-mi/detalle/"] .ek-detail-theme-toggle:focus-visible,
body[data-route="/sobre-mi/detalle/"] .ek-detail-nav-actions nav a:focus-visible{
 outline:2px solid currentColor!important;
 outline-offset:2px!important;
 border-radius:5px!important;
}
@media(max-width:390px){
 body[data-route="/sobre-mi/detalle/"] .ek-personal-html .ek-personal-top{
  padding-inline:10px!important;
 }
 body[data-route="/sobre-mi/detalle/"] .ek-personal-html .ek-detail-nav-actions nav a{
  font-size:9px!important;
 }
 body[data-route="/sobre-mi/detalle/"] .ek-personal-html .ek-detail-nav-actions{
  gap:6px!important;
 }
}

/* Two editorial anchors left; back and appearance controls right. */
body[data-route="/sobre-mi/detalle/"] .ek-personal-html .ek-detail-nav-actions nav{
 justify-content:flex-start!important;
 gap:clamp(10px,3.5vw,28px)!important;
}
body[data-route="/sobre-mi/detalle/"] .ek-personal-html .ek-detail-nav-actions nav .ek-detail-back-link{
 margin-left:auto!important;flex:none!important;
}
body[data-route="/sobre-mi/detalle/"] .ek-personal-html .ek-detail-nav-actions{
 column-gap:clamp(8px,2.7vw,18px)!important;
}
@media(max-width:390px){
 body[data-route="/sobre-mi/detalle/"] .ek-personal-html .ek-detail-nav-actions nav{gap:10px!important}
 body[data-route="/sobre-mi/detalle/"] .ek-personal-html .ek-detail-nav-actions nav a{font-size:10px!important}
}

/* About detail: invitation follows Spotify without changing the established copy. */
body[data-route="/sobre-mi/detalle/"] .ek-personal-html .ek-personal-music-appointment{
 display:grid;
 justify-items:start;
 gap:clamp(14px,3vw,20px);
 margin-top:clamp(28px,5vw,38px)!important;
 padding-top:clamp(20px,4vw,28px)!important;
 border-top:1px solid currentColor;
 border-color:color-mix(in srgb,currentColor 22%,transparent);
}
body[data-route="/sobre-mi/detalle/"] .ek-personal-html .ek-personal-music-appointment p{
 margin:0!important;
 max-width:44ch;
 font:400 clamp(15px,2vw,18px)/1.55 var(--ek-font-body,"Ekonatura Onest",system-ui,sans-serif)!important;
}
body[data-route="/sobre-mi/detalle/"] .ek-personal-html a.ek-personal-music-booking,
body[data-route="/sobre-mi/detalle/"] .ek-personal-html a.ek-personal-music-booking:visited{
 box-sizing:border-box!important;
 display:inline-flex!important;
 justify-content:center!important;align-items:center!important;
 min-height:44px!important;min-width:158px!important;
 padding:11px 24px!important;
 border:1px solid #3c3833!important;
 border-radius:999px!important;
 text-decoration:none!important;
 background:#3c3833!important;color:#f4f0e7!important;
 font:500 15px/1.3 var(--ek-font-body,"Ekonatura Onest",system-ui,sans-serif)!important;
}
body[data-route="/sobre-mi/detalle/"] .ek-personal-html a.ek-personal-music-booking:hover{
 background:#56524d!important;color:#fff!important;
}
:root[data-ek-theme="dark"] body[data-route="/sobre-mi/detalle/"] .ek-personal-html a.ek-personal-music-booking,
body[data-route="/sobre-mi/detalle/"].ek-detail-dark .ek-personal-html a.ek-personal-music-booking{
 background:#f4f0e7!important;color:#38342f!important;border-color:#f4f0e7!important;
}
:root[data-ek-theme="dark"] body[data-route="/sobre-mi/detalle/"] .ek-personal-html a.ek-personal-music-booking:hover,
body[data-route="/sobre-mi/detalle/"].ek-detail-dark .ek-personal-html a.ek-personal-music-booking:hover{
 background:#fff!important;color:#38342f!important;
}
body[data-route="/sobre-mi/detalle/"] .ek-personal-html a.ek-personal-music-booking:focus-visible{
 outline:2px solid currentColor!important;outline-offset:3px!important;
}
/* Keep the floating return control compact while retaining a 44px touch target. */
body[data-route="/sobre-mi/detalle/"] .ek-personal-fixed-back{
 min-height:44px!important;
 padding:8px 12px!important;
 right:clamp(12px,3vw,20px)!important;
 bottom:calc(12px + env(safe-area-inset-bottom,0px))!important;
 font:500 clamp(12px,2vw,14px)/1.2 var(--ek-font-body,"Ekonatura Onest",system-ui,sans-serif)!important;
 letter-spacing:0!important;
 border-radius:999px!important;
}
@media(max-width:700px){
 body[data-route="/sobre-mi/detalle/"] .ek-personal-html .ek-personal-music-appointment{
  margin-top:26px!important;
 }
 body[data-route="/sobre-mi/detalle/"] .ek-personal-fixed-back{
  font-size:12px!important;
  padding-inline:10px!important;
 }
}

/* On dark detail pages the cream booking pill always uses dark ink,
   regardless of inherited editorial link color or WebKit text-fill. */
:root[data-ek-theme="dark"] body[data-route="/sobre-mi/detalle/"] .ek-personal-html a.ek-personal-music-booking,
:root[data-ek-theme="dark"] body[data-route="/sobre-mi/detalle/"] .ek-personal-html a.ek-personal-music-booking :is(span,strong),
body[data-route="/sobre-mi/detalle/"].ek-detail-dark .ek-personal-html a.ek-personal-music-booking{
 color:#38342f!important;
 -webkit-text-fill-color:#38342f!important;
 text-shadow:none!important;
 opacity:1!important;
}

/* Ekonatura · shared appointment action and stable brand footer.
   Preserve the approved contact structure and current routes in both themes. */
:root{
 --ek-booking-radius:999px;
 --ek-booking-button-min-height:52px;
 --ek-booking-cream:#f4f0e7;
 --ek-booking-forest:#292d2e;
}
/* The footer is ALWAYS deep-graphite; global theme tokens must not invert its surface.
   An explicit palette also protects against late route/theme CSS precedence. */
body .ek-footer,body.ek-unified .ek-footer{
 --ek-paper:#f5f1eb;
 --ek-ink:#292d2e;
 --ek-muted:#c9c4bd;
 background-color:#292d2e!important;
 background-image:none!important;
 color:#f4f0e7!important;
}
body .ek-footer :is(.ek-footer-main,.ek-footer-bottom,.ek-footer-brand,.ek-footer-accordion){
 color:#f4f0e7;
}
body .ek-footer .ek-footer-logo img{filter:brightness(0) invert(1);opacity:1}
body .ek-footer :is(.ek-footer-group-toggle,.ek-footer-group-head,.ek-footer-col h2){
 color:#f4f0e7!important;
}
body .ek-footer .ek-footer-group-panel a{color:#e9e6e0}
body .ek-footer .ek-footer-bottom .ek-footer-legal{color:#c9c4bd}
body .ek-footer .ek-footer-bottom .ek-footer-legal a{color:#f5f1eb}
/* Invitation flows with footer rather than a second nested green card. */
body .ek-footer .ek-final-cta{
 padding:clamp(44px,6vw,70px) 0 clamp(42px,6vw,58px)!important;
 border-color:#f4f0e730;
}
body .ek-footer .ek-final-cta .cta-inner{
 display:grid!important;
 grid-template-columns:minmax(0,1fr) minmax(250px,.85fr)!important;
 grid-template-rows:auto auto!important;
 gap:14px clamp(28px,5vw,70px)!important;
 align-items:start!important;
 max-width:1080px!important;
 margin:0 auto!important;
 padding:0!important;
 border:0!important;border-radius:0!important;
 background:transparent!important;box-shadow:none!important;
 color:#f4f0e7!important;
}
body .ek-footer .ek-final-cta .cta-banner__title{
 grid-column:1;grid-row:1;
 margin:0!important;
 max-width:18ch!important;
 font:400 clamp(32px,4.1vw,47px)/1.17 var(--ek-font-heading,"Ekonatura Geist Serif",serif)!important;
 letter-spacing:-.02em!important;
 color:#f4f0e7!important;
}
body .ek-footer .ek-final-cta .cta-banner__description{
 grid-column:1;grid-row:2;
 margin:0!important;
 max-width:43ch!important;
 font:400 clamp(15px,1.65vw,18px)/1.55 var(--ek-font-body,"Ekonatura Onest",system-ui,sans-serif)!important;
 color:#e9e5e0!important;
}
body .ek-footer .ek-final-cta .cta-copy{
 grid-column:2;grid-row:1/span 2;
 display:flex!important;flex-direction:column!important;
 gap:12px!important;
 align-items:stretch!important;justify-content:center!important;
 width:100%!important;max-width:460px!important;
 box-sizing:border-box!important;
 position:relative!important;
 min-height:0!important;
 margin:0!important;padding:0 0 0 clamp(20px,3vw,40px)!important;
 border:0!important;border-left:1px solid #f4f0e733!important;border-radius:0!important;
 background:none!important;box-shadow:none!important;overflow:visible!important;isolation:auto!important;
}
body .ek-footer .ek-final-cta .cta-copy::before,
body .ek-footer .ek-final-cta .cta-copy::after{content:none!important;display:none!important}
body .ek-footer .ek-final-cta :is(.cta-banner__button,.cta-banner__phone){
 display:flex!important;
 align-items:center!important;justify-content:center!important;
 width:100%!important;min-height:var(--ek-booking-button-min-height)!important;
 box-sizing:border-box!important;
 padding:12px 18px!important;
 margin:0!important;
 border-radius:var(--ek-booking-radius)!important;
 font:500 clamp(15px,1.8vw,17px)/1.35 var(--ek-font-body,"Ekonatura Onest",system-ui,sans-serif)!important;
 letter-spacing:0!important;text-align:center!important;text-decoration:none!important;
 text-shadow:none!important;opacity:1!important;
}
body .ek-footer .ek-final-cta .cta-banner__button,
body .ek-footer .ek-final-cta .cta-banner__button:visited{
 border:1px solid #f4f0e7!important;background:#f4f0e7!important;color:#38342f!important;
}
body .ek-footer .ek-final-cta .cta-banner__button:is(:hover,:focus-visible){
 background:#fff!important;color:#38342f!important;border-color:#fff!important;
}
body .ek-footer .ek-final-cta .cta-banner__phone{
 font-weight:400!important;
 background:transparent!important;color:#f4f0e7!important;
 border:1px solid #c2beb9!important;
}
body .ek-footer .ek-final-cta .cta-banner__phone:is(:hover,:focus-visible){
 background:#524e49!important;color:#fff!important;border-color:#f4f0e7!important;
}
body .ek-footer .ek-final-cta .cta-banner__number{
 display:block!important;
 font:400 15px/1.5 var(--ek-font-body,"Ekonatura Onest",system-ui,sans-serif)!important;
 text-align:center!important;color:#dfdbd6!important;margin:0!important;
}
body .ek-footer .ek-final-cta a:focus-visible{outline:2px solid #f0b399!important;outline-offset:3px}
/* Contact retains the published pale card in light and green card in dark.
   Match the footer pill's restrained letter weight and size. */
body[data-route="/contacto/"] .contact-first :is(.ek-contact-button--primary,.ek-contact-button--secondary){
 border-radius:var(--ek-booking-radius)!important;
 min-height:var(--ek-booking-button-min-height)!important;
 font:500 clamp(15px,1.8vw,17px)/1.4 var(--ek-font-body,"Ekonatura Onest",system-ui,sans-serif)!important;
 letter-spacing:0!important;text-shadow:none!important;
}
body[data-route="/contacto/"] .contact-first .ek-contact-button--secondary{
 font-weight:400!important;
}
:root[data-ek-theme="dark"] body[data-route="/contacto/"] .contact-first .ek-contact-button--primary{
 background:#f4f0e7!important;color:#38342f!important;border-color:#f4f0e7!important;
}
:root[data-ek-theme="dark"] body[data-route="/contacto/"] .contact-first .ek-contact-button--secondary{
 background:transparent!important;color:#f2f0e9!important;border-color:#c5c1bc!important;
}
@media(max-width:760px){
 body .ek-footer .ek-final-cta .cta-inner{
  display:flex!important;flex-direction:column!important;
  align-items:stretch!important;gap:22px!important;
 }
 body .ek-footer .ek-final-cta .cta-banner__description{margin-top:-10px!important}
 body .ek-footer .ek-final-cta .cta-copy{
  padding:0!important;border:0!important;max-width:none!important;
  margin-top:4px!important;
 }
 body .ek-footer .ek-final-cta .cta-banner__title{font-size:clamp(30px,7.7vw,40px)!important}
}
@media(prefers-reduced-motion:reduce){body .ek-footer .ek-final-cta a{transition:none!important}}

/* Footer hierarchy: address lives with the real brand logo; only two link groups remain. */
body .ek-footer .ek-footer-cols{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:clamp(24px,4vw,54px)!important}
body .ek-footer .ek-footer-location{display:grid;align-content:start;gap:8px;margin:clamp(20px,3vw,26px) 0 0;max-width:34ch;color:#ebe7e2}
body .ek-footer .ek-footer-location p{margin:0;font:400 14px/1.55 var(--ek-font-body,"Ekonatura Onest",system-ui,sans-serif);color:#ebe7e2}
body .ek-footer .ek-footer-location a{justify-self:start;display:inline-flex;align-items:center;min-height:36px;color:#f4f0e7;text-underline-offset:4px;font:500 14px/1.4 var(--ek-font-body,"Ekonatura Onest",system-ui,sans-serif)}
body .ek-footer .ek-footer-location a:is(:hover,:focus-visible){color:#fff}
@media(max-width:650px){body .ek-footer .ek-footer-location{margin:18px 0 24px;gap:4px}body .ek-footer .ek-footer-location p{font-size:14px}body .ek-footer .ek-footer-location a{min-height:44px}body .ek-footer .ek-footer-accordion{padding-top:0}}

/* A · Ekonatura editorial footer: same Information/Spotify hierarchy as mobile. */
@media(min-width:651px){
 body .ek-footer .ek-footer-main{grid-template-columns:minmax(190px,280px) minmax(0,1fr);column-gap:clamp(30px,6vw,80px)}
 body .ek-footer .ek-footer-cols{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:clamp(24px,4vw,54px)!important}
 body .ek-footer .ek-footer-cols .ek-footer-col:last-child{grid-column:auto;min-width:0}
 body .ek-footer .ek-footer-cols .ek-footer-col:last-child .ek-footer-col-list{display:flex;flex-direction:column;gap:14px}
 body .ek-footer .ek-footer-col .ek-footer-note{display:grid;align-content:start;gap:8px;margin:25px 0 0!important;padding:0!important;border:0!important}
 body .ek-footer .ek-footer-col .ek-footer-note p{margin:0!important;font:400 14px/1.55 var(--ek-font-body,"Ekonatura Onest",system-ui,sans-serif)!important;color:#e1ddd8}
 body .ek-footer .ek-footer-col .ek-footer-note .ek-footer-note-eyebrow{font:500 11px/1.35 var(--ek-font-body,"Ekonatura Onest",system-ui,sans-serif)!important;letter-spacing:.11em;text-transform:uppercase;color:#d7d3ce}
 body .ek-footer .ek-footer-col .ek-footer-note-link{margin:4px 0 0!important}
 body .ek-footer .ek-footer-col .ek-footer-note-link a{font:400 14px/1.55 var(--ek-font-body,"Ekonatura Onest",system-ui,sans-serif)!important;text-decoration:none}
 body .ek-footer .ek-footer-col .ek-footer-note-link a:hover{text-decoration:underline;text-underline-offset:3px}
 body .ek-footer .ek-footer-location p,body .ek-footer .ek-footer-location a,body .ek-footer .ek-footer-col-list a{font:400 14px/1.55 var(--ek-font-body,"Ekonatura Onest",system-ui,sans-serif)!important}
}
/* Desktop: refined, restrained appointments; mobile remains full width. */
@media(min-width:761px){
 body .ek-footer .ek-final-cta .cta-copy{align-items:flex-start!important;gap:10px!important}
 body .ek-footer .ek-final-cta .cta-copy>:is(.cta-banner__button,.cta-banner__phone){
  width:min(100%,306px)!important;min-height:46px!important;
  padding:10px 18px!important;font:400 14px/1.35 var(--ek-font-body,"Ekonatura Onest",system-ui,sans-serif)!important;
  letter-spacing:.005em!important;border-width:1px!important;
 }
 body .ek-footer .ek-final-cta .cta-banner__number{width:min(100%,306px)!important;text-align:center!important;font-size:13px!important}
}
@media(max-width:760px){
 body .ek-footer .ek-final-cta .cta-copy>:is(.cta-banner__button,.cta-banner__phone){
  min-height:52px!important;padding:12px 18px!important;
  font:400 clamp(14px,3.75vw,16px)/1.4 var(--ek-font-body,"Ekonatura Onest",system-ui,sans-serif)!important;
  letter-spacing:0!important;
 }
}

/* Ekonatura · Unified visitor preferences · Lucide-compatible inline SVGs.
   No icon font, CDN, tracking or new service. */
.ek-preferences-trigger{display:grid;place-items:center;min-width:44px;width:44px;height:44px;border:1px solid #ffffff65;border-radius:50%;background:transparent;color:#f4f0e7;cursor:pointer}
.ek-preferences-trigger svg,.ek-preferences svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;flex:none}
.ek-preferences-trigger:is(:hover,:focus-visible){background:#ffffff17}
.ek-preferences{box-sizing:border-box;width:min(520px,calc(100% - 36px));max-width:none;max-height:min(88dvh,780px);overflow-y:auto;overscroll-behavior:contain;padding:0;border:1px solid #d0d4c8;border-radius:26px;background:#f4f0e7;color:#3c3833;box-shadow:0 22px 65px #141a1680}
.ek-preferences:not([open]){display:none}
.ek-preferences::backdrop{background:#1b1712a8}
.ek-preferences-inner{display:grid;gap:0;padding:24px clamp(20px,4vw,30px) 28px}
.ek-preferences-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:20px}
.ek-preferences-head h2{display:flex;align-items:center;gap:12px;font:400 clamp(25px,4.3vw,32px)/1.2 var(--ek-font-heading,serif);margin:0}
.ek-preferences-head>button{display:grid;place-items:center;width:44px;height:44px;border:1px solid currentColor;border-radius:50%;background:transparent;color:inherit;cursor:pointer}
.ek-preferences-section{padding:20px 0;border-top:1px solid #aaa6a155}
.ek-preferences-section h3{font:600 15px/1.4 var(--ek-font-body,"Ekonatura Onest",sans-serif);margin:0 0 12px}
.ek-preferences-section .ek-pref-desc{font:400 13px/1.5 var(--ek-font-body,"Ekonatura Onest",sans-serif);margin:5px 0 0;opacity:.8}
.ek-pref-options{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.ek-pref-options button{display:grid;align-content:center;justify-items:center;gap:8px;min-width:0;min-height:89px;border:1px solid #98948f91;border-radius:15px;background:transparent;color:inherit;cursor:pointer;font:500 13px/1.2 var(--ek-font-body,"Ekonatura Onest",sans-serif)}
.ek-pref-options button svg{width:25px;height:25px}
.ek-pref-options button[aria-pressed="true"]{background:#e9e5e0;border-color:#6c6863;box-shadow:inset 0 0 0 1px #6c6863}
.ek-pref-row{display:flex;align-items:center;gap:14px;width:100%;min-height:58px;padding:12px 0;color:inherit;text-align:left;text-decoration:none;background:transparent;border:0;font:400 15px/1.4 var(--ek-font-body,"Ekonatura Onest",sans-serif)}
.ek-pref-row svg{width:21px;height:21px}
.ek-pref-row small{display:block;margin-top:3px;color:#6e6a65;font-size:12px}
.ek-pref-row span:nth-child(2){flex:1}
.ek-pref-row-button{cursor:pointer}
.ek-pref-row:is(a,button):is(:hover,:focus-visible){text-decoration:underline;text-underline-offset:4px}
.ek-pref-links{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.ek-pref-links a{min-height:44px;display:flex;align-items:center;color:inherit;text-underline-offset:4px;font:400 13px/1.4 var(--ek-font-body,"Ekonatura Onest",sans-serif)}
.ek-preferences :is(button,a):focus-visible,.ek-preferences-trigger:focus-visible{outline:2px solid #a64e38;outline-offset:3px}
:root[data-ek-theme="dark"] .ek-preferences{background:#302c27;color:#f2f0e9;border:1px solid #7a7671}
:root[data-ek-theme="dark"] .ek-pref-options button{border-color:#74706b}
:root[data-ek-theme="dark"] .ek-pref-options button[aria-pressed="true"]{background:#56524d;border-color:#bbb7b2;box-shadow:inset 0 0 0 1px #bbb7b2}
:root[data-ek-theme="dark"] .ek-pref-row small{color:#ccc8c3}
:root[data-ek-theme="dark"] .ek-preferences-section{border-color:#807c7755}
:root[data-ek-theme="dark"] .ek-preferences :is(button,a):focus-visible{outline-color:#f0b399}
:root[data-ek-theme="dark"] .ek-preferences-head>button{border-color:#87837e}
/* ATO-545 · This block restyled the mobile booking action as a rounded
   outlined pill with its own background, competing with the shared mobile-menu
   contract in `components/ek-ux-final-contract.css`, which is the single owner
   of the menu. The pill is removed here, at its source: the action keeps the
   flat graphite surface of the shared contract, with no extra border and no
   rounded outline. */
#ek-menu [data-menu-level="root"] a.ek-mobile-booking-cta{
 display:flex!important;align-items:center!important;justify-content:center!important;
 padding:11px 8px 5px!important;margin:16px 0 0!important;
 border:0!important;border-bottom:0!important;border-radius:10px!important;
 background:transparent!important;color:#f5f1eb!important;
 -webkit-text-fill-color:#f5f1eb!important;
 font:600 13px/1.25 var(--ek-font-body,"Ekonatura Onest",sans-serif)!important;
 text-align:center!important;
}
/* The mobile booking link uses the shared flat graphite menu, never a green CTA. */
#ek-menu [data-menu-level="root"] a.ek-mobile-booking-cta:is(:hover,:focus-visible){
 background:#35393a!important;color:#f5f1eb!important
}
:root[data-ek-theme="dark"] #ek-menu [data-menu-level="root"] a.ek-mobile-booking-cta{
 background:transparent!important;border:0!important;border-bottom:0!important;
 color:#f5f1eb!important
}
@media(max-width:700px){
 .ek-preferences{position:fixed;inset:auto 0 0 0;margin:0;width:100%;max-height:min(90dvh,860px);border-radius:25px 25px 0 0;border-bottom:0;padding-bottom:env(safe-area-inset-bottom,0px)}
 .ek-preferences-inner{padding:28px 22px 24px}
 .ek-preferences-inner::before{content:"";display:block;width:50px;height:5px;margin:-12px auto 22px;border-radius:10px;background:currentColor;opacity:.24}
 .ek-pref-options button{min-height:91px}
}
@media(prefers-reduced-motion:reduce){.ek-preferences *{scroll-behavior:auto!important}}

#ek-menu [data-menu-level="root"] a.ek-mobile-booking-cta svg{width:21px;height:21px;flex:none}

/* Preferences bottom sheet: the header and close control never touch the rim.
   The drag handle keeps its own row above the title. */
.ek-preferences-head{
 box-sizing:border-box!important;
 align-items:center!important;
 gap:clamp(14px,3vw,24px)!important;
 min-height:54px!important;
}
.ek-preferences-head>button{
 position:relative!important;
 flex:0 0 44px!important;
 width:44px!important;height:44px!important;
 min-width:44px!important;
 margin:0 3px 0 auto!important;
 border-radius:50%!important;
}
.ek-preferences-head h2{min-width:0!important}
@media(max-width:700px){
 .ek-preferences-inner{
  padding:clamp(30px,6vw,42px) clamp(22px,5vw,30px) calc(28px + env(safe-area-inset-bottom,0px))!important;
 }
 .ek-preferences-inner::before{
  margin:0 auto clamp(22px,5vw,30px)!important;
  flex:none!important;
 }
 .ek-preferences-head{
  margin:0 0 clamp(20px,5vw,30px)!important;
  padding:0 0 4px!important;
 }
 .ek-preferences-head>button{margin-right:2px!important}
}

/* ATO-556 · Preferencias compartidas en todas las rutas:
   Apariencia, Idioma, Privacidad e Información legal alineados a la izquierda. */
body.ek-integrated #ek-preferences .ek-preferences-section{
 text-align:left!important;
}
body.ek-integrated #ek-preferences .ek-preferences-section h3{
 display:block!important;width:100%;text-align:left!important;
 margin:0 0 14px!important;padding:0!important;
 justify-content:flex-start!important;
}
body.ek-integrated #ek-preferences .ek-pref-links{
 text-align:left!important;
}

/* ATO-534 · Tirador real: sustituye el dibujo sin acción de la versión anterior. */
.ek-preferences-inner::before{display:none!important}
.ek-preferences-handle-row{display:none}
@media(max-width:700px){
 .ek-preferences{transition:transform .18s ease-out;will-change:transform}
 .ek-preferences.is-dragging{transition:none!important}
 .ek-preferences-handle-row{display:flex;align-items:center;justify-content:center;min-height:44px;margin:-24px 0 8px}
 .ek-preferences-handle{appearance:none;border:0;background:transparent;color:inherit;width:112px;height:44px;display:grid;place-items:center;touch-action:none;cursor:grab;padding:0}
 .ek-preferences-handle::before{content:"";display:block;width:50px;height:5px;border-radius:99px;background:currentColor;opacity:.35}
 .ek-preferences-handle:active{cursor:grabbing}
 .ek-preferences-handle:focus-visible{outline:2px solid currentColor;outline-offset:2px}
}
@media(max-width:700px) and (prefers-reduced-motion:reduce){.ek-preferences{transition:none}}

/* Friendly, one-time night theme suggestion; independent of analytics consent. */
.ek-night-nudge{position:fixed;z-index:190;bottom:calc(18px + env(safe-area-inset-bottom,0px));left:50%;transform:translateX(-50%);width:min(440px,calc(100vw - 30px));box-sizing:border-box;padding:19px 20px 18px;border:1px solid #95918c;border-radius:20px;background:#3b3732;color:#f4f0e7;box-shadow:0 14px 42px #1d1914a6;font:400 14px/1.5 var(--ek-font-body,"Ekonatura Onest",sans-serif)}
.ek-night-nudge-heading{display:flex;gap:12px;align-items:flex-start;font-size:15px;line-height:1.35}
.ek-night-nudge-heading strong{font-weight:600}
.ek-night-nudge svg{width:23px;height:23px;flex:none;color:#eac5ad}
.ek-night-nudge p{margin:10px 0 17px;color:#e9e5e0}
.ek-night-nudge-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.ek-night-nudge-actions button{min-height:44px;padding:10px 12px;border-radius:999px;font:600 13px/1.3 var(--ek-font-body,"Ekonatura Onest",sans-serif);cursor:pointer}
.ek-night-nudge-actions [data-night-accept]{background:#f4f0e7;color:#3a3631;border:1px solid #f4f0e7}
.ek-night-nudge-actions [data-night-dismiss]{background:transparent;color:#f4f0e7;border:1px solid #b7b3ae}
.ek-night-nudge-actions button:focus-visible{outline:2px solid #f0b399;outline-offset:3px}
@media(max-width:420px){.ek-night-nudge{padding:16px}.ek-night-nudge-heading{font-size:14px}}
@media(prefers-reduced-motion:reduce){.ek-night-nudge{scroll-behavior:auto}}

/* Editorial V2 typography: official SIL OFL upstream, served by the site.
   The canonical @font-face and the family tokens now live in
   components/ek-visual-v1.css (autoalojadas, sin CDN). This layer keeps the
   shared interface contract only. */

/* EKONATURA · F0: shared visual contract V1, preview migration.
   Source: Linear Ekonatura NORMA VISUAL GLOBAL PRIORITARIA V1 · 2026-11-03.
   The release remains unpublished; each future family adopts this same layer.
   Do not duplicate interactive controllers, alter consent or change editorial copy. */
:root{
 --ek-v1-graphite:#292d2e;
 --ek-v1-graphite-mid:#35393a;
 --ek-v1-stone:#e9e6e0;
 --ek-v1-cream:#f5f1eb;
 --ek-v1-coral:#dfa089;
 --ek-v1-coral-dark:#96523e; /* accessible darker accent on cream */
 --ek-v1-rule:rgba(245,241,235,.12);
 --ek-v1-focus:#e5a68f;
 --ek-v1-icon:16px;
 --ek-v1-target:44px;
 --ek-v1-heading-gap:clamp(17px,2vw,28px);
}
/* Shared interface: quiet baseline and accessible indication of interaction. */
body.ek-integrated :is(.ek-nav>a,.ek-explore>summary,.ek-footer a,.ek-pref-links a,.ek-pref-row-button){
 text-decoration:none;text-underline-offset:.22em;text-decoration-thickness:1px;
}
@media(hover:hover){
 body.ek-integrated :is(.ek-nav>a,.ek-explore>summary,.ek-footer a,.ek-pref-links a,.ek-pref-row-button):hover{
  text-decoration:underline;text-underline-offset:.22em;
 }
}
body.ek-integrated :is(a,button,summary,[role="button"],input,select,textarea):focus-visible,
.ek-preferences :is(a,button):focus-visible{
 outline:2px solid var(--ek-v1-focus)!important;outline-offset:3px!important;
}
body.ek-integrated .ek-header .ek-header-inner{
 border-color:transparent;box-shadow:0 6px 24px rgba(32,34,33,.08);
}
/* The global header's outlined booking CTA and its contrast are owned by
   the shared header stencil in ek-ux-final-contract.css. No second CTA rule. */
body.ek-integrated .ek-header .ek-explore>nav{
 background:var(--ek-v1-graphite);color:var(--ek-v1-cream);
 border:0;box-shadow:none;
}
body.ek-integrated .ek-header .ek-explore>nav a:hover,
body.ek-integrated .ek-header .ek-explore>nav a:focus-visible{
 background:rgba(245,241,235,.09);color:var(--ek-v1-cream);text-decoration:none;
}
body.ek-integrated .ek-header :is(.ek-nav>a,.ek-explore>summary):hover{
 text-decoration:underline;text-decoration-color:var(--ek-v1-coral-dark);
}
/* F7 · Un solo indicador en la navegación: el subrayado del propio enlace.
   Se retiró el pseudo-elemento `::after` que pintaba una segunda raya. */
body.ek-integrated .ek-header :is(.ek-nav>a,.ek-explore>summary)[aria-current="page"]{
 text-decoration:underline;text-decoration-thickness:1px;
 text-underline-offset:.28em;text-decoration-color:var(--ek-v1-coral);
}
:root[data-ek-theme="dark"] body.ek-integrated .ek-header :is(.ek-nav>a,.ek-explore>summary)[aria-current="page"]{
 text-decoration-color:var(--ek-v1-coral);
}
/* The two surfaces are composition, not decorative frames. For interior pages
   the booking CTA remains compact and distinct from the deeper footer. */
body.ek-integrated .ek-footer{
 --ek-paper:var(--ek-v1-cream);--ek-ink:var(--ek-v1-graphite);
 color:var(--ek-v1-cream);background:var(--ek-v1-graphite);
}
body.ek-integrated .ek-footer .ek-final-cta{
 background:var(--ek-v1-graphite-mid);
 border:0;border-radius:16px;padding-inline:clamp(18px,3vw,34px);
}
body.ek-integrated .ek-footer .cta-copy{background:transparent;border:0;box-shadow:none}
body.ek-integrated .ek-footer .cta-copy:after{display:none}
body.ek-integrated .ek-footer .cta-banner__button{background:var(--ek-v1-cream);color:var(--ek-v1-graphite)}
body.ek-integrated .ek-footer .cta-banner__button:is(:hover,:focus-visible){background:#e9e2da;color:var(--ek-v1-graphite)}
body.ek-integrated .ek-footer .ek-footer-main{border-bottom-color:var(--ek-v1-rule)}
body.ek-integrated .ek-footer .ek-footer-note{border-top-color:var(--ek-v1-rule)}
body.ek-integrated .ek-footer :is(a,.ek-footer-group-panel a){color:var(--ek-v1-cream)}
body.ek-integrated .ek-footer :is(a,.ek-footer-group-panel a):is(:hover,:focus-visible){color:var(--ek-v1-coral);text-decoration:underline}
body.ek-integrated .ek-footer .ek-footer-note-eyebrow{color:#d2c9c1}
body.ek-integrated .ek-footer .ek-footer-group-icon{background:transparent;color:var(--ek-v1-cream)}
body.ek-integrated .ek-footer .ek-footer-group-icon svg{width:var(--ek-v1-icon);height:var(--ek-v1-icon)}
body.ek-integrated .ek-footer .ek-footer-group-chevron{width:15px;height:15px}
/* One theme controller; these controls are additional clients of its existing
   data-ek-theme-choice and data-ek-pref-open listeners. */
body.ek-integrated .ek-footer-quickprefs{
 display:inline-flex;align-items:center;justify-content:center;gap:4px;
 flex-wrap:nowrap;vertical-align:middle;margin-left:12px;
}
body.ek-integrated .ek-footer-quickprefs .ek-quick-theme{
 display:inline-flex;gap:0;align-items:center;padding:2px;border-radius:999px;
 background:rgba(255,255,255,.05);
}
body.ek-integrated .ek-footer-quickprefs :is(button,.ek-language-trigger){
 box-sizing:border-box;display:grid;place-items:center;flex:none;
 width:var(--ek-v1-target);height:var(--ek-v1-target);min-width:var(--ek-v1-target);
 padding:0;margin:0;background:transparent;border:0;border-radius:50%;
 color:var(--ek-v1-cream);
}
body.ek-integrated .ek-footer-quickprefs button{cursor:pointer}
body.ek-integrated .ek-footer-quickprefs .ek-quick-theme button[aria-pressed="true"]{
 background:#ffffff20;color:#fff;
}
body.ek-integrated .ek-footer-quickprefs .ek-quick-theme button:is(:hover,:focus-visible),
body.ek-integrated .ek-footer-quickprefs .ek-preferences-trigger:is(:hover,:focus-visible){
 background:#ffffff22;color:var(--ek-v1-coral);
}
body.ek-integrated .ek-footer-quickprefs svg{
 display:block;width:var(--ek-v1-icon)!important;height:var(--ek-v1-icon)!important;
 fill:none!important;stroke:currentColor!important;stroke-width:1.7!important;
 stroke-linecap:round!important;stroke-linejoin:round!important;
}
body.ek-integrated .ek-footer-quickprefs .ek-language-trigger{
 opacity:.75;cursor:pointer;
}
body.ek-integrated .ek-footer-quickprefs .ek-language-trigger:is(:hover,:focus-visible){
 opacity:1;
}
body.ek-integrated .ek-footer-quickprefs .ek-preferences-trigger{
 outline-offset:2px;
}
/* Preferences: same surface semantics in all appearances. Preserve native
   dialog on desktop and native mobile bottom-sheet positioning and focus. */
body.ek-integrated .ek-preferences{
 background:var(--ek-v1-cream)!important;color:var(--ek-v1-graphite)!important;
 border:1px solid #cdc8bf!important;box-shadow:0 25px 65px #12131473;
}
body.ek-integrated .ek-preferences-section{border-top:1px solid #302e2a22}
body.ek-integrated .ek-pref-options button{
 background:transparent;border-color:transparent!important;box-shadow:none!important;
}
body.ek-integrated .ek-preferences .ek-pref-row small{color:#625f5b}
body.ek-integrated .ek-preferences .ek-pref-links a:is(:hover,:focus-visible){
 color:var(--ek-v1-coral-dark);text-decoration:underline;
}
/* F5 · Selector de apariencia: tres iconos compactos, sin texto visible y sin
   recuadro exterior. Solo un indicador circular marca la opción activa; el
   foco de teclado sigue siendo visible y separado. */
body.ek-integrated .ek-pref-options{
 grid-template-columns:repeat(3,auto);justify-content:start;gap:4px;
}
body.ek-integrated .ek-pref-options button{
 position:relative;display:grid;place-items:center;
 width:var(--ek-v1-target);height:var(--ek-v1-target);min-width:var(--ek-v1-target);
 min-height:var(--ek-v1-target)!important;padding:0;
 border:0!important;border-radius:50%;
 background:transparent!important;box-shadow:none!important;
 color:var(--ek-v1-graphite);
}
body.ek-integrated .ek-pref-options button[aria-pressed="true"]{
 background:transparent!important;border-color:transparent!important;box-shadow:none!important;
}
/* El marcador del estado va debajo de los tres iconos, incluido Sistema. */
body.ek-integrated .ek-pref-options button svg{
 position:relative!important;z-index:2!important;display:block!important;
 opacity:1!important;visibility:visible!important;stroke:currentColor!important;
}
body.ek-integrated .ek-pref-options button[aria-pressed="true"]::before{
 content:"";position:absolute;inset:3px;border-radius:50%;z-index:0;background:#e7ddd7;pointer-events:none;
}
body.ek-integrated .ek-pref-options button:is(:hover,:focus-visible){
 background:transparent!important;border-color:transparent!important;
}
body.ek-integrated .ek-pref-options button:is(:hover,:focus-visible)::before{
 content:"";position:absolute;inset:3px;border-radius:50%;background:#ece3dc;pointer-events:none;
}
body.ek-integrated .ek-pref-options button:focus-visible{
 outline:2px solid var(--ek-v1-focus)!important;outline-offset:3px!important;
}
:root[data-ek-theme="dark"] body.ek-integrated .ek-pref-options button{
 background:transparent!important;border-color:transparent!important;box-shadow:none!important;
 color:var(--ek-v1-cream);
}
:root[data-ek-theme="dark"] body.ek-integrated .ek-pref-options button[aria-pressed="true"]::before{
 background:#62504b;
}
:root[data-ek-theme="dark"] body.ek-integrated .ek-pref-options button:is(:hover,:focus-visible)::before{
 background:#4b3c38;
}
body.ek-integrated .ek-preferences-trigger svg,
body.ek-integrated .ek-preferences svg{stroke:currentColor}
body.ek-integrated .ek-preferences-head svg,
body.ek-integrated .ek-pref-options svg,
body.ek-integrated .ek-pref-row svg{
 width:17px;height:17px;
}
:root[data-ek-theme="dark"] body.ek-integrated .ek-preferences{
 background:var(--ek-v1-graphite)!important;color:var(--ek-v1-cream)!important;
 border-color:#676a68!important;
}
:root[data-ek-theme="dark"] body.ek-integrated .ek-preferences-section{border-color:#f5f1eb24!important}
:root[data-ek-theme="dark"] body.ek-integrated .ek-pref-options button{
 border-color:transparent!important;background:transparent!important;box-shadow:none!important;
}
:root[data-ek-theme="dark"] body.ek-integrated .ek-preferences .ek-pref-row small{color:#c7c2ba!important}
:root[data-ek-theme="dark"] body.ek-integrated .ek-preferences .ek-pref-links a:is(:hover,:focus-visible){color:var(--ek-v1-coral)!important}
:root[data-ek-theme="dark"] body.ek-integrated .ek-footer{background:var(--ek-v1-graphite)!important;color:var(--ek-v1-cream)!important}
:root[data-ek-theme="dark"] body.ek-integrated .ek-footer .ek-final-cta{background:var(--ek-v1-graphite-mid)!important}
:root[data-ek-theme="dark"] body.ek-integrated .ek-footer .cta-copy{background:transparent!important}
:root[data-ek-theme="dark"] /* Menú compartido: grafito/coral canónicos para todas las rutas y temas.
   La estructura, niveles, focus, navegación y backdrop siguen siendo únicos. */
body.ek-integrated dialog#ek-menu{
 background:var(--ek-v1-graphite)!important;
 color:var(--ek-v1-cream)!important;
 border:0!important;box-shadow:none!important;
}
body.ek-integrated #ek-menu :is(.ek-dialog-head,nav.ek-mobile-levels,[data-menu-level],.mobile-explore){
 background:transparent!important;color:var(--ek-v1-cream)!important;
}
body.ek-integrated #ek-menu :is(.ek-dialog-head h2,nav a,nav button,nav summary,h3){
 color:var(--ek-v1-cream)!important;
}
body.ek-integrated #ek-menu :is(nav a,nav button,nav summary){
 border-color:rgba(245,241,235,.23)!important;
}
body.ek-integrated #ek-menu :is(nav a,nav button,nav summary):is(:hover,:focus-visible){
 background:rgba(223,160,137,.11)!important;color:var(--ek-v1-coral)!important;
}
body.ek-integrated #ek-menu .ek-dialog-head [data-close]{
 border-color:#817d76!important;color:var(--ek-v1-cream)!important;
 background:transparent!important;
}
/* Footer oficial de /contacto/: sin recuadro gris/verde insetado. */
body.ek-integrated .ek-footer,
:root[data-ek-theme="dark"] body.ek-integrated .ek-footer{
 background:var(--ek-footer-surface,var(--ek-v1-graphite))!important;
 color:var(--ek-v1-cream)!important;
 --ek-paper:var(--ek-v1-cream);--ek-ink:var(--ek-v1-graphite);
}
body.ek-integrated .ek-footer .ek-final-cta{
 background:transparent!important;border-radius:0!important;
}
body.ek-integrated .ek-footer .cta-copy{
 background:transparent!important;box-shadow:none!important;
}
body.ek-integrated .ek-footer :is(.ek-footer-group-toggle,.ek-footer-legal a,.ek-footer-group-panel a){
 color:var(--ek-v1-cream)!important;
}
body.ek-integrated .ek-footer :is(a,button):is(:hover,:focus-visible){
 color:var(--ek-v1-coral)!important;
}
/* Modals and read/share sheets use the same palette; keep their original
   markup, close behavior and native mobile positioning (no scroll-lock hacks). */
body.ek-integrated :is(.ek-review-dialog,.ek-sheet .ek-sheet-panel,.ek-review-export .ek-review-export-panel){
 background:var(--ek-v1-graphite)!important;color:var(--ek-v1-cream)!important;
 border-color:#746e69!important;
}
body.ek-integrated :is(.ek-review-dialog,.ek-sheet .ek-sheet-body,.ek-review-export .ek-review-export-panel) :is(p,blockquote,h2,h3,small,strong){
 color:var(--ek-v1-cream)!important;
}
body.ek-integrated :is(.ek-sheet .ek-sheet-body,.ek-review-dialog) a{
 color:var(--ek-v1-coral)!important;
}
body.ek-integrated .ek-sheet .ek-sheet-head{
 background:transparent!important;border-color:#f5f1eb22!important;
}
body.ek-integrated .ek-sheet .ek-sheet-body{background:transparent!important;color:var(--ek-v1-cream)!important}
body.ek-integrated .ek-sheet .ek-sheet-grab{background:#d6bfb1!important}
/* F0 photographic comparison ended: the legacy overrides that forced
   filter:none / overlay opacity:0 on Osteopathy, ITV and About prevented
   later Contact-referenced editorial grading from ever rendering.
   The canonical route grades now live only in ek-ux-final-contract.css. */
body.ek-integrated:is([data-route="/osteopatia/"],[data-route="/itv-corporal/"],[data-route="/sobre-mi/"])
 :is(.ek-restored-hero .ph-card,.ek-hub-hero .ph-card,.ek-hero .ph-card){
 backdrop-filter:none!important;-webkit-backdrop-filter:none!important;
 background:rgba(35,39,40,.67)!important;
}
/* Good spatial rhythm, not typographic inflation. The complete roll-out is F1–F3. */
:root{--ek-v1-section-title-gap:var(--ek-v1-heading-gap)}
@media(max-width:700px){
 body.ek-integrated .ek-footer-quickprefs{display:flex!important;width:max-content!important;max-width:100%!important;justify-content:center!important;margin:10px auto 0!important}
 body.ek-integrated .ek-footer .ek-footer-close{display:flex;flex-wrap:wrap;justify-content:center;gap:8px 12px}
 body.ek-integrated .ek-footer .ek-final-cta{padding-inline:20px}
}
@media(prefers-reduced-motion:reduce){
 body.ek-integrated .ek-footer-quickprefs :is(button,svg){transition:none!important}
}


/* ATO-545 / visual V1, phase A: one typographic rhythm for narrative copy,
   regardless of intro wrappers inherited from prior page families.
   Do not change headings, cards, reviews, buttons or standalone CV. */
body.ek-integrated:not([data-route="/resenas/"]):not([data-route="/sobre-mi/detalle/"])
 main :is(.reading.prose,.ek-section-copy,.ek-section-body,.ek-introduction,.ek-intro-editorial-copy,.ek-hero-intro) :is(p,li,dd){
 font-size:17px!important;line-height:1.65!important;
}
@media(max-width:700px){
 body.ek-integrated:not([data-route="/resenas/"]):not([data-route="/sobre-mi/detalle/"])
  main :is(.reading.prose,.ek-section-copy,.ek-section-body,.ek-introduction,.ek-intro-editorial-copy,.ek-hero-intro) :is(p,li,dd){
  font-size:16px!important;line-height:1.65!important;
 }
}
/* Search results are links, not decorative bordered cards.
   Preserve search JS, query state, destinations, and keyboard focus. */
body.ek-integrated[data-route="/problemas/"]
 main .symptom-results .search-hit>a{
 border:0!important;box-shadow:none!important;background:transparent!important;
 color:var(--ek-v1-graphite)!important;border-radius:0!important;
}
body.ek-integrated[data-route="/problemas/"]
 main .symptom-results .search-hit>a:is(:hover,:focus-visible){
 color:var(--ek-v1-coral-dark)!important;background:rgba(223,160,137,.12)!important;
}
/* Coherent section separators: one boundary only; never a second
   decorative rule inside the following heading. */
body.ek-integrated:not([data-route="/resenas/"])
 main .reading.prose .ek-section>h2{
 border-top:0!important;
}
/* Shared photo cards use graphite captions; coral can signal interactions
   without a visible permanent outline. */
body.ek-integrated :is(.ek-discovery-grid,.ek-f2-rail)>.ek-ed-card:is(:hover,:focus-within)
 .ek-ed-card-title,
body.ek-integrated .related>ul>li>a:has(>.related-image):is(:hover,:focus-visible) .related-text strong{
 color:var(--ek-v1-coral)!important;
}


/* Footer icons: visually quieter (14px) while keeping 44px hit area. */
body.ek-integrated .ek-footer-quickprefs{
 gap:0!important;margin-left:6px!important
}
body.ek-integrated .ek-footer-quickprefs .ek-quick-theme{
 gap:0!important;padding:0!important;border:0!important;
 border-radius:0!important;background:transparent!important;box-shadow:none!important
}
body.ek-integrated .ek-footer-quickprefs :is(button,.ek-language-trigger){
 position:relative;width:44px!important;height:44px!important;min-width:44px!important;
 border:0!important;background:transparent!important;box-shadow:none!important
}
body.ek-integrated .ek-footer-quickprefs .ek-quick-theme button[aria-pressed="true"]{
 background:transparent!important
}
body.ek-integrated .ek-footer-quickprefs .ek-quick-theme button[aria-pressed="true"]::before{
 content:"";position:absolute;inset:9px;border-radius:50%;
 background:#ffffff12;pointer-events:none
}
body.ek-integrated .ek-footer-quickprefs svg{
 position:relative;width:14px!important;height:14px!important;
 stroke-width:1.5!important
}

/* EKNT 04/11 · Cierre móvil: un solo menú real y una sola superficie de footer. */
/* El menú no puede heredar la superficie crema de .ek-dialog ni dejar texto
   claro sobre fondo claro. No se modifican niveles/hidden/acciones del JS. */
body.ek-integrated dialog#ek-menu,
:root[data-ek-theme="dark"] body.ek-integrated dialog#ek-menu{
 background:#292d2e!important;background-color:#292d2e!important;
 background-image:none!important;color:#f5f1eb!important;
 border-color:#74716c!important;box-shadow:0 24px 65px #11181777!important;
}
body.ek-integrated #ek-menu :is(.ek-dialog-head,nav.ek-mobile-levels,[data-menu-level],.mobile-explore){
 background:transparent!important;background-image:none!important;
 color:#f5f1eb!important;
}
body.ek-integrated #ek-menu :is(.ek-dialog-head h2,nav.ek-mobile-levels a,nav.ek-mobile-levels button,nav.ek-mobile-levels summary){
 color:#f5f1eb!important;-webkit-text-fill-color:#f5f1eb!important;
}
body.ek-integrated #ek-menu :is(nav a,nav button,nav summary):is(:hover,:focus-visible){
 background:rgba(223,160,137,.11)!important;
 color:#dfa089!important;-webkit-text-fill-color:#dfa089!important;
}
/* Shared mobile footer: one full-width booking surface. */
@media(max-width:800px){
 body.ek-integrated .ek-footer-shell{
  width:100%!important;max-width:none!important;margin:0!important;padding:0!important;
  background:transparent!important;
 }
 body.ek-integrated footer.ek-footer{
  --ek-footer-surface:linear-gradient(transparent 24px,var(--ek-v1-graphite) 24px);
  --ek-mobile-footer-gutter:clamp(20px,5vw,30px);
  box-sizing:border-box!important;width:100%!important;max-width:none!important;
  margin:0!important;padding-inline:0!important;padding-top:0!important;
  border:0!important;border-radius:0!important;overflow:visible!important;
 }
 body.ek-integrated footer.ek-footer > :not(.ek-final-cta){
  margin-inline:var(--ek-mobile-footer-gutter);
 }
 body.ek-integrated footer.ek-footer .ek-final-cta{
  box-sizing:border-box!important;width:100%!important;max-width:none!important;
  background:var(--ek-v1-graphite-mid)!important;background-image:none!important;
  margin:0!important;
  border:0!important;border-radius:24px 24px 0 0!important;
  padding:clamp(38px,8vw,48px) var(--ek-mobile-footer-gutter) 34px!important;
  box-shadow:none!important;
 }
 body.ek-integrated footer.ek-footer .ek-final-cta .cta-inner{
  width:100%!important;max-width:540px!important;
  margin:0 auto!important;padding:0!important;
  background:transparent!important;background-image:none!important;
  border:0!important;border-radius:0!important;box-shadow:none!important;
 }
 body.ek-integrated footer.ek-footer .ek-final-cta .cta-banner__title{
  text-align:center!important;align-items:center!important;
  justify-content:center!important;width:100%!important;
 }
 body.ek-integrated footer.ek-footer .ek-final-cta .cta-banner__description{
  max-width:460px!important;margin-left:auto!important;margin-right:auto!important;
 }
 body.ek-integrated footer.ek-footer .ek-final-cta .cta-copy{
  width:100%!important;max-width:none!important;
  padding:0!important;background:transparent!important;background-image:none!important;
  border:0!important;border-radius:0!important;box-shadow:none!important;
 }
 body.ek-integrated footer.ek-footer .ek-final-cta .cta-copy::before,
 body.ek-integrated footer.ek-footer .ek-final-cta .cta-copy::after{
  content:none!important;display:none!important;
 }
}

/* Desktop reading navigation uses the same paper/graphite pair as the chapter index. */
@media(min-width:801px){
 body.ek-integrated .ek-reading-indicator{
  --ek-reading-surface:var(--ek-ix-surface,#f5f1eb);
  --ek-reading-ink:var(--ek-ix-ink,#292d2e);
  --ek-reading-rule:var(--ek-ix-line,#d1cbc1);
  --ek-reading-hover:var(--ek-ix-hover,#e7e1da);
  background:var(--ek-reading-surface)!important;color:var(--ek-reading-ink)!important;
  border-color:var(--ek-reading-rule)!important;
 }
 :root[data-ek-theme="dark"] body.ek-integrated .ek-reading-indicator{
  --ek-reading-surface:#292d2e;--ek-reading-ink:#f5f1eb;
  --ek-reading-rule:#6a6a66;--ek-reading-hover:#383c3d;
 }
 body.ek-integrated .ek-reading-indicator .ek-reading-menu{
  background:var(--ek-reading-surface)!important;color:var(--ek-reading-ink)!important;
  border:1px solid var(--ek-reading-rule)!important;border-radius:0 0 14px 14px!important;
  padding:8px!important;max-height:min(56vh,520px)!important;overflow:auto!important;
 }
 body.ek-integrated .ek-reading-indicator :is(.ek-reading-current,.ek-reading-kicker,.ek-reading-counter,.ek-reading-menu a){
  color:var(--ek-reading-ink)!important;
 }
 body.ek-integrated .ek-reading-indicator .ek-reading-menu a{
  border-radius:10px!important;min-height:44px;padding:10px 12px!important;
  display:flex;align-items:center;
 }
 body.ek-integrated .ek-reading-indicator .ek-reading-menu a:is(:hover,:focus-visible,[aria-current]){
  background:var(--ek-reading-hover)!important;color:var(--ek-reading-ink)!important;
 }
}

/* Ekonatura F2 · Inner-page composition only (Home and /resenas/ excluded).
   ATO-545 + Visual system V1. No source copy, photography or overlay behavior
   changes; these selectors share one reusable family-level contract. */
body.ek-integrated:is(
 [data-template="problem-index"],[data-template="problem"],
 [data-template="service"],[data-template="method"],
 [data-template="profile"],[data-template="contact"]
){
 --ek-interior-section-gap:clamp(22px,3vw,32px);
 --ek-interior-footer-air:clamp(40px,5vw,72px);
 --ek-v1-focus:var(--ek-v1-coral-dark);
}
/* Editorial breathing room. A following text block is separated from the
   title, not fixed by changing typography or copying spacers per page. */
body.ek-integrated:is(
 [data-template="problem-index"],[data-template="problem"],
 [data-template="service"],[data-template="method"],
 [data-template="profile"],[data-template="contact"]
) main .reading.prose :is(h2,h3) + :is(p,ul,ol){
 margin-block-start:var(--ek-interior-section-gap);
}
body.ek-integrated:is(
 [data-template="problem-index"],[data-template="problem"],
 [data-template="service"],[data-template="method"],
 [data-template="profile"],[data-template="contact"]
) main :is(.ek-introduction,.ek-editorial-intro) :is(.ek-intro-editorial-head,.ek-intro-editorial-title) + :is(.ek-intro-editorial-copy,.ek-intro-editorial-row,p){
 margin-block-start:var(--ek-interior-section-gap);
}
body.ek-integrated:is(
 [data-template="problem-index"],[data-template="problem"],
 [data-template="service"],[data-template="method"],
 [data-template="profile"],[data-template="contact"]
) main .ek-section > h2 + .ek-section-body{
 margin-block-start:var(--ek-interior-section-gap);
}
/* Inner pages use the single shared footer contract; only content-specific layout stays here. */
/* Card groups need a visible surface, not a decorative permanent outline.
   Focus/hover may reveal a quiet boundary. */
body.ek-integrated:is(
 [data-template="problem-index"],[data-template="problem"],
 [data-template="service"],[data-template="method"],
 [data-template="profile"],[data-template="contact"]
) main .related > ul > li > a:not(:has(>.related-image)){
 border-color:transparent!important;background:var(--ek-v1-stone)!important;
 color:var(--ek-v1-graphite)!important;box-shadow:none!important;
 transition:border-color .2s,background-color .2s;
}
body.ek-integrated:is(
 [data-template="problem-index"],[data-template="problem"],
 [data-template="service"],[data-template="method"],
 [data-template="profile"],[data-template="contact"]
) main .related > ul > li > a:not(:has(>.related-image)):is(:hover,:focus-visible){
 border-color:#aa9689!important;background:#e2dcd3!important;
}
/* Specific tall landing heroes — adjust height only; preserve the photography,
   approved overlay removals in F0 and all hero copy / controls. */
body.ek-integrated:is([data-route="/osteopatia/"],[data-route="/itv-corporal/"])
 main .ek-restored-hero:not(.ek-hero-locked){
 min-height:clamp(460px,68svh,680px)!important;
}
@media(max-width:700px){
 body.ek-integrated:is([data-route="/osteopatia/"],[data-route="/itv-corporal/"])
  main .ek-restored-hero:not(.ek-hero-locked){
  min-height:clamp(420px,62svh,580px)!important;
 }
}

:root[data-ek-theme="dark"] body.ek-integrated:is(
 [data-template="problem-index"],[data-template="problem"],
 [data-template="service"],[data-template="method"],
 [data-template="profile"],[data-template="contact"]
){
 --ek-v1-focus:var(--ek-v1-coral);
}
:root[data-ek-theme="dark"] body.ek-integrated:is(
 [data-template="problem-index"],[data-template="problem"],
 [data-template="service"],[data-template="method"],
 [data-template="profile"],[data-template="contact"]
) main .related > ul > li > a:not(:has(>.related-image)){
 background:var(--ek-v1-graphite-mid)!important;
 color:var(--ek-v1-cream)!important;border-color:transparent!important;
}
:root[data-ek-theme="dark"] body.ek-integrated:is(
 [data-template="problem-index"],[data-template="problem"],
 [data-template="service"],[data-template="method"],
 [data-template="profile"],[data-template="contact"]
) main .related > ul > li > a:not(:has(>.related-image)):is(:hover,:focus-visible){
 background:#444b4a!important;border-color:#a99b91!important;
}

/* Mobile booking CTA uses the same shared component and geometry as Home. */
/* ATO-545 /osteopatia/: clean section rhythm only, no content rewrite.
   Remove orphan separators under techniques and before first process section. */
body.ek-integrated[data-route="/osteopatia/"] main .approved-techniques{
 border-bottom:0!important;box-shadow:none!important
}
body.ek-integrated[data-route="/osteopatia/"] main .approved-techniques::after{
 content:none!important;border:0!important
}
body.ek-integrated[data-route="/osteopatia/"] main .approved-techniques + .reading.prose{
 border-top:0!important
}
body.ek-integrated[data-route="/osteopatia/"] main .reading.prose
 .ek-section:has(>h2#primero-hablamos-de-lo-que-te-pasa){
 border-top:0!important;border-bottom:0!important;box-shadow:none!important
}
body.ek-integrated[data-route="/osteopatia/"] main .reading.prose
 .ek-section:has(>h2#primero-hablamos-de-lo-que-te-pasa)::before,
body.ek-integrated[data-route="/osteopatia/"] main .reading.prose
 .ek-section:has(>h2#primero-hablamos-de-lo-que-te-pasa)::after{
 content:none!important
}
body.ek-integrated[data-route="/osteopatia/"] main .reading.prose
 .ek-section.help-section + .ek-section{
 border-top:0!important
}
/* ATO-545 /osteopatia/: the introduction reads as body text (17/16 px), not as a
   lede. The shared layer raises the first paragraph of an editorial intro, so
   this page-scoped rule repeats its own guards to stay in control of it. */
body.ek-integrated[data-route="/osteopatia/"]:not([data-route="/sobre-mi/detalle/"]):not([data-route="/sobre-mi/"])
 main .reading.prose .ek-introduction .ek-intro-editorial-copy > p:first-child{
 font-family:"Ekonatura Onest",system-ui,sans-serif!important;
 font-size:17px!important;line-height:1.65!important;letter-spacing:normal!important
}
body.ek-integrated[data-route="/osteopatia/"] main .reading.prose
 .ek-introduction .ek-intro-editorial-copy p{
 font-family:"Ekonatura Onest",system-ui,sans-serif!important;
 font-size:17px!important;line-height:1.65!important;letter-spacing:normal!important
}
@media(max-width:700px){
 body.ek-integrated[data-route="/osteopatia/"]:not([data-route="/sobre-mi/detalle/"]):not([data-route="/sobre-mi/"])
  main .reading.prose .ek-introduction .ek-intro-editorial-copy > p:first-child{
  font-size:16px!important;line-height:1.65!important
 }
 body.ek-integrated[data-route="/osteopatia/"] main .reading.prose
  .ek-introduction .ek-intro-editorial-copy p{
  font-size:16px!important;line-height:1.65!important
 }
}

/* Cómo trabajo: four editorial rows, aligned with the reading column. */
body.ek-integrated[data-route="/osteopatia/"] main .approved-techniques,
body.ek-integrated[data-route="/osteopatia/"] main .approved-techniques > .ek-f2-rail{
 display:grid!important;grid-template-columns:minmax(0,1fr)!important;
 width:100%!important;max-width:none!important;gap:12px!important;
 padding:0!important;overflow:visible!important;scroll-snap-type:none!important;
}
body.ek-integrated[data-route="/osteopatia/"] main .approved-techniques{
 margin:20px 0 0!important;
}
body.ek-integrated[data-route="/osteopatia/"] main .approved-techniques .technique-card{
 min-height:0!important;width:100%!important;padding:20px clamp(18px,3vw,28px)!important;
}
body.ek-integrated[data-route="/osteopatia/"] main .reading.prose .ek-introduction{
 margin:clamp(14px,2vw,24px) 0 24px!important;padding-top:0!important;border-top:0!important;
}
body.ek-integrated[data-route="/osteopatia/"] main .ek-introduction :is(.ek-intro-editorial-head,.ek-intro-editorial-copy),
body.ek-integrated[data-route="/osteopatia/"] main .ek-introduction{
 border-top:0!important;
}
body.ek-integrated[data-route="/osteopatia/"] main .ek-introduction::before,
body.ek-integrated[data-route="/osteopatia/"] main .ek-introduction :is(.ek-intro-editorial-head,.ek-intro-editorial-copy)::before{
 content:none!important;display:none!important;
}

/* EKONATURA · F3 Reading visual system V1 (preview pilot).
   One index style across an integrated article and a preserved blog article.
   No replacement or duplicate of TOC, reader, share, overlays or review text. */
body.ek-integrated[data-route="/problemas/dolor-lumbar/"] main .ek-section-index{
 counter-reset:ek-reading-chapter;
 display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;
 gap:0 clamp(20px,3.4vw,44px)!important;
 width:min(100%,760px);margin:clamp(34px,5vw,60px) auto clamp(42px,6vw,72px)!important;
 padding:clamp(20px,3vw,30px) 0 0!important;
 background:transparent!important;border:0!important;border-top:1px solid #c6c3bc!important;
 border-radius:0!important;box-shadow:none!important;
}
body.ek-integrated[data-route="/problemas/dolor-lumbar/"] main .ek-section-index:before{
 content:"EN ESTA PÁGINA";grid-column:1/-1;
 display:block;margin-bottom:clamp(15px,2vw,24px);
 color:#77736c;font:600 12px/1.5 var(--ek-font-body,system-ui,sans-serif);
 letter-spacing:.08em;
}
body.ek-integrated[data-route="/problemas/dolor-lumbar/"] main .ek-section-index>a{
 counter-increment:ek-reading-chapter;display:grid!important;
 grid-template-columns:32px minmax(0,1fr);align-items:start!important;
 min-height:52px!important;padding:12px 4px 13px 0!important;
 background:transparent!important;color:var(--ek-v1-graphite)!important;
 border:0!important;border-bottom:1px solid #ccc6be99!important;
 border-radius:0!important;box-shadow:none!important;text-decoration:none!important;
 font:500 15px/1.45 var(--ek-font-body,system-ui,sans-serif)!important;
}
body.ek-integrated[data-route="/problemas/dolor-lumbar/"] main .ek-section-index>a::before{
 content:counter(ek-reading-chapter,decimal-leading-zero);
 display:block;color:var(--ek-v1-coral-dark)!important;font-size:12px;letter-spacing:.04em;
 padding-top:2px;
}
body.ek-integrated[data-route="/problemas/dolor-lumbar/"] main .ek-section-index>a:is(:hover,:focus-visible){
 color:var(--ek-v1-coral-dark)!important;background:transparent!important;
 text-decoration:underline!important;text-decoration-thickness:1px!important;text-underline-offset:4px!important;
}
body.ek-integrated[data-route="/problemas/dolor-lumbar/"] main .ek-section-index>a:focus-visible{
 outline:2px solid var(--ek-v1-coral-dark)!important;outline-offset:2px;
}
@media(max-width:700px){
 body.ek-integrated[data-route="/problemas/dolor-lumbar/"] main .ek-section-index{
  display:grid!important;grid-template-columns:minmax(0,1fr)!important;
  margin-block:32px 48px!important;padding-top:18px!important
 }
 body.ek-integrated[data-route="/problemas/dolor-lumbar/"] main .ek-section-index>a{
  min-height:48px!important;font-size:16px!important
 }
}
/* Long-form articles remain the preserved original markup, no new script.
   The palette mirrors the site without extending oversized Home heroes. */
body.ek-long-article{
 --ink:#292d2e;--moss:#35393a;--sea:#96523e;--paper:#f5f1eb;
 --cream:#e9e6e0;--line:#cfc9bf;--muted:#625f59;
 background:var(--paper)!important;color:var(--ink)!important;
}
body.ek-long-article .lead-grid .toc{
 padding:20px 0 0!important;border:0!important;border-top:1px solid #bcb6ad!important;
 border-radius:0!important;background:transparent!important;box-shadow:none!important;
}
body.ek-long-article .lead-grid .toc h2{
 margin:0 0 12px!important;color:#6c6964!important;
 font:600 12px/1.5 var(--sans,system-ui,sans-serif)!important;
 letter-spacing:.08em!important;text-transform:uppercase!important
}
body.ek-long-article .lead-grid .toc ol{
 display:block!important;margin:0!important;padding:0!important;list-style:none!important
}
body.ek-long-article .lead-grid .toc li{
 margin:0!important;padding:0!important;border:0!important
}
body.ek-long-article .lead-grid .toc a{
 display:grid!important;grid-template-columns:30px minmax(0,1fr)!important;
 gap:10px!important;min-height:44px!important;
 padding:11px 2px!important;border:0!important;border-bottom:1px solid #cfc9bf99!important;
 background:transparent!important;color:var(--ink)!important;
 text-decoration:none!important;font:500 15px/1.4 var(--sans,system-ui,sans-serif)!important;
}
body.ek-long-article .lead-grid .toc a span{
 color:#96523e!important;font:600 12px/1.5 var(--sans,system-ui,sans-serif)!important}
body.ek-long-article .lead-grid .toc a:is(:hover,:focus-visible){
 color:#96523e!important;background:transparent!important;text-decoration:underline!important;
 text-underline-offset:4px!important;
}
body.ek-long-article .lead-grid .toc a:focus-visible{
 outline:2px solid #96523e!important;outline-offset:2px!important;
}
body.ek-long-article .reading h2{
 scroll-margin-top:calc(var(--ek-header-h,80px) + 24px);
}
@media(max-width:800px){
 body.ek-long-article .lead-grid .toc a{font-size:16px!important}
}
/* Same fixed excerpt reading window for embedded, expandable testimonials.
   The full authentic quote/reply remains accessible via the existing details
   control and source link. /resenas/ keeps its own dedicated layout. */
body.ek-integrated:not([data-route="/"]):not([data-route="/resenas/"])
 main .ek-review-card.review:has(details.review-more){
 --ek-v1-quote-ink:#f5f1eb;--ek-v1-review-lines:5;
 background:var(--ek-v1-graphite)!important;color:var(--ek-v1-quote-ink)!important;
 border:0!important;box-shadow:none!important;
}
body.ek-integrated:not([data-route="/"]):not([data-route="/resenas/"])
 main .ek-review-card.review:has(details.review-more)::before{
 display:none!important;content:none!important;
}
body.ek-integrated:not([data-route="/"]):not([data-route="/resenas/"])
 main .ek-review-card.review:has(details.review-more) blockquote{
 display:-webkit-box!important;-webkit-box-orient:vertical!important;
 -webkit-line-clamp:var(--ek-v1-review-lines)!important;
 line-clamp:var(--ek-v1-review-lines)!important;
 overflow:hidden!important;
 height:calc(var(--ek-v1-review-lines) * 1.29em)!important;
 min-height:calc(var(--ek-v1-review-lines) * 1.29em)!important;
 max-height:calc(var(--ek-v1-review-lines) * 1.29em)!important;
 line-height:1.29!important;margin-block:clamp(19px,3vw,30px)!important;
 color:var(--ek-v1-quote-ink)!important
}
body.ek-integrated:not([data-route="/"]):not([data-route="/resenas/"])
 main .ek-review-card.review:has(details.review-more) .stars{
 color:var(--ek-v1-coral)!important
}
body.ek-integrated:not([data-route="/"]):not([data-route="/resenas/"])
 main .ek-review-card.review:has(details.review-more) .ek-review-share{
 color:var(--ek-v1-cream)!important
}
body.ek-integrated:not([data-route="/"]):not([data-route="/resenas/"])
 main .ek-review-card.review:has(details.review-more) :is(a,button,summary):focus-visible{
 outline:2px solid var(--ek-v1-coral)!important;outline-offset:3px!important
}
@media(max-width:700px){
 body.ek-integrated:not([data-route="/"]):not([data-route="/resenas/"])
  main .ek-review-card.review:has(details.review-more){
  --ek-v1-review-lines:5;padding:26px 23px!important
 }
}
/* Preserve genuine full-text accessibility: the expanded content itself is
   not clamped, and a visible source/reply is never silently hidden. */
body.ek-integrated:not([data-route="/"]):not([data-route="/resenas/"])
 main .ek-review-card.review details.review-more[open] .review-expanded{
 max-height:none!important;overflow:visible!important;
}
/* Ekonatura · Selector de idioma · Estilos.
 *
 * Tres piezas:
 *   1. el botón permanente del pie, con el código del idioma abierto;
 *   2. el menú contextual anclado a ese botón;
 *   3. el aviso compacto de sugerencia de inglés.
 *
 * El aviso usa los tokens existentes (--ek-ink, --ek-paper, --ek-line,
 * --ek-coral). El menú define su propia paleta clara/oscura porque vive
 * dentro del pie, cuyos tokens se invierten en modo oscuro.
 */

/* --- 1 · Botón permanente ------------------------------------------------ */
/* El botón es texto, no un círculo: «ES · EN». El sistema visual global
   aplica a los controles del pie un círculo de 44 px; aquí se aparta esa
   regla (una clase más de especificidad) porque el selector es un simple
   indicador de idioma y debe ocupar lo mínimo.
   El área táctil se conserva en móvil: con puntero grueso el botón mantiene
   44 px de alto, aunque lo que se ve siga siendo el texto. */
.ek-language-widget{position:relative;display:inline-flex;flex:none}
body.ek-integrated .ek-footer-quickprefs button.ek-language-trigger{
 display:inline-flex;align-items:center;justify-content:center;flex:none;
 box-sizing:border-box;
 /* El sistema visual global fija el círculo de 44 px con `!important`; aquí
    se deshace con la misma prioridad para que el selector sea un texto. */
 width:auto!important;min-width:0!important;height:auto!important;min-height:30px;
 padding:2px 5px;margin:0;
 border:0;border-radius:7px;
 background:transparent;color:inherit;cursor:pointer;
 opacity:1;
 font-family:inherit;font-size:.68rem;font-weight:600;
 letter-spacing:.1em;line-height:1;
 white-space:nowrap;
}
.ek-language-codes{display:inline-flex;align-items:center;gap:.32em}
/* El código que no es el abierto se atenúa, pero sin bajar del contraste
   mínimo (4.5:1) sobre el grafito del pie. */
.ek-language-code{opacity:.62;transition:opacity .15s ease}
.ek-language-code.is-current{opacity:1}
.ek-language-trigger:is(:hover,:focus-visible){background:#ffffff14;opacity:1}
.ek-language-trigger:focus-visible{outline:2px solid var(--ek-coral,#f0b399);outline-offset:3px}
@media(pointer:coarse){
 body.ek-integrated .ek-footer-quickprefs button.ek-language-trigger{min-height:44px;padding:0 8px}
}

/* --- 2 · Menú contextual anclado ------------------------------------------
 * No oscurece la página y no es un diálogo: queda junto a su botón, dentro
 * del pie (que es grafito también en modo claro).
 *
 * La paleta es propia del menú en vez de los tokens del pie: dentro del
 * footer los tokens se invierten en modo oscuro y dejarían texto oscuro
 * sobre fondo oscuro. Así texto, opción activa y estados mantienen el
 * contraste en claro y en oscuro. */
.ek-language-menu{
 --ek-menu-bg:#f7f4ef;
 --ek-menu-fg:#2b2f30;
 --ek-menu-muted:#5b5f60;
 --ek-menu-line:#dcd7cf;
 --ek-menu-alt:#eae7e1;
 --ek-menu-hover:#00000012;
 box-sizing:border-box;
 position:absolute;right:0;bottom:calc(100% + 8px);z-index:70;
 width:max-content;min-width:0;max-width:min(200px,calc(100vw - 24px));
 padding:5px;
 border:1px solid var(--ek-menu-line);
 border-radius:12px;
 background:var(--ek-menu-bg);
 color:var(--ek-menu-fg);
 box-shadow:0 14px 34px #1a1e1f33;
}
:root[data-ek-theme="dark"] .ek-language-menu{
 --ek-menu-bg:#444a4b;
 --ek-menu-fg:#f5f1eb;
 --ek-menu-muted:#d3cec6;
 --ek-menu-line:#6d7475;
 --ek-menu-alt:#525a5b;
 --ek-menu-hover:#ffffff1f;
}
.ek-language-menu[hidden]{display:none}

/* Opciones dentro del menú: mismo marcado que las de Preferencias, con la
   paleta del menú. */
/* Opciones del desplegable del pie: una línea por idioma, sin estados
   ni códigos repetidos. El idioma abierto se distingue por su peso
   tipográfico (y por `aria-current`), no por un recuadro. */
.ek-language-menu .ek-lang-list{display:grid;gap:1px}
.ek-language-menu .ek-lang-option{
 display:block;
 min-height:0;padding:6px 9px;
 border-color:transparent;
 border-radius:8px;
 background:transparent;
 color:var(--ek-menu-fg);
}
.ek-language-menu .ek-lang-option a{
 display:block;flex:none;min-width:0;
 color:var(--ek-menu-fg);
}
.ek-language-menu .ek-lang-option-name{font-size:.86rem;font-weight:450;line-height:1.25}
.ek-language-menu .ek-lang-option[data-current="true"]{border-color:transparent;background:var(--ek-menu-alt)}
.ek-language-menu .ek-lang-option[data-current="true"] .ek-lang-option-name{font-weight:600}
.ek-language-menu .ek-lang-option-state{color:var(--ek-menu-muted)}
.ek-language-menu .ek-lang-option:is(:has(a:hover),:has(a:focus-visible)){background:var(--ek-menu-hover)}
.ek-language-menu .ek-lang-option--fallback a{color:var(--ek-menu-fg)}
.ek-language-menu .ek-lang-option-note{
 display:block;margin-top:1px;
 font-size:.68rem;line-height:1.25;opacity:.72;
}
/* El pie pinta sus enlaces de crema con `body.ek-integrated .ek-footer :is(a,…)`
   —specificidad (0,3,2): una clase no basta y el enlace saldría crema sobre
   fondo claro (ratio ~1,02). El id del menú (único por página) gana sin
   depender de dónde viva el widget ni de `!important`. */
#ek-language-panel a,
.ek-language-menu .ek-lang-option a{color:var(--ek-menu-fg)}
#ek-language-panel a:is(:hover,:focus-visible){color:var(--ek-menu-fg)}
.ek-language-menu .ek-lang-option a:focus-visible{outline-color:var(--ek-coral,#f0b399)}

.ek-lang-list{list-style:none;margin:0;padding:0;display:grid;gap:6px}
.ek-lang-option{
 display:flex;align-items:center;justify-content:space-between;gap:12px;
 flex-wrap:wrap;
 min-height:48px;padding:10px 12px;
 border:1px solid transparent;border-radius:10px;
}
.ek-lang-option a{
 display:flex;align-items:center;justify-content:space-between;gap:12px;
 flex:1 1 auto;min-width:0;
 color:inherit;text-decoration:none;
}
.ek-lang-option-name{font-size:1rem;font-weight:500;line-height:1.3}
.ek-lang-option-state{
 font-size:.8rem;line-height:1.35;opacity:.72;text-align:right;
}
.ek-lang-option a:is(:hover,:focus-visible) .ek-lang-option-name{text-decoration:underline;text-underline-offset:3px}
.ek-lang-option a:focus-visible{outline:2px solid var(--ek-coral,#f0b399);outline-offset:2px;border-radius:8px}
.ek-lang-option[data-current="true"]{
 border-color:var(--ek-line,#666561);
 background:var(--ek-surface-alt,#e9e6e0);
}
.ek-lang-option[data-current="true"] .ek-lang-option-state{font-weight:600;opacity:1}
.ek-lang-option--fallback{
 flex-direction:column;align-items:flex-start;gap:4px;
}
.ek-lang-option--fallback .ek-lang-option-state{text-align:left;opacity:.8}
.ek-lang-option--fallback a{
 justify-content:flex-start;gap:8px;
 font-size:.86rem;text-decoration:underline;text-underline-offset:3px;
 min-height:32px;
}

/* --- 3 · Aviso compacto -------------------------------------------------- */
.ek-language-notice{
 position:fixed;z-index:9000;left:50%;bottom:max(16px,env(safe-area-inset-bottom));
 transform:translateX(-50%);
 width:min(520px,calc(100vw - 24px));
 display:flex;align-items:center;justify-content:space-between;gap:14px;
 flex-wrap:wrap;
 padding:12px 14px;
 border:1px solid var(--ek-line,#666561);
 border-radius:14px;
 background:var(--ek-paper,#f5f1eb);
 color:var(--ek-ink,#292d2e);
 box-shadow:0 10px 30px #1a1e1f2e;
 font-size:.9rem;line-height:1.4;
}
.ek-language-notice-text{margin:0;flex:1 1 180px;min-width:0}
.ek-language-notice-text strong{font-weight:600}
.ek-language-notice-actions{display:flex;align-items:center;gap:8px;flex:none;flex-wrap:wrap}
.ek-language-notice-en,.ek-language-notice-es{
 appearance:none;display:inline-flex;align-items:center;justify-content:center;
 min-height:40px;padding:8px 14px;
 border-radius:999px;font-size:.86rem;font-weight:500;line-height:1.2;
 cursor:pointer;text-decoration:none;
}
.ek-language-notice-en{
 background:var(--ek-ink,#292d2e);color:var(--ek-paper,#f5f1eb);border:1px solid var(--ek-ink,#292d2e);
}
.ek-language-notice-es{
 background:transparent;color:inherit;border:1px solid var(--ek-line,#666561);
}
.ek-language-notice-en:is(:hover,:focus-visible){opacity:.9}
.ek-language-notice-es:is(:hover,:focus-visible){background:#0000000f}
.ek-language-notice-en:focus-visible,
.ek-language-notice-es:focus-visible{outline:2px solid var(--ek-coral,#f0b399);outline-offset:2px}

@media(max-width:700px){
 .ek-language-notice{
  left:12px;right:12px;bottom:max(12px,env(safe-area-inset-bottom));
  width:auto;transform:none;
  padding:12px;
 }
 .ek-language-notice-actions{width:100%}
 .ek-language-notice-en,.ek-language-notice-es{flex:1 1 auto}
}

@media(prefers-reduced-motion:reduce){
 .ek-language-notice{transition:none}
}
