/*
 * MÜVA by VetHelps · tema a medida
 * Editorial cálido. Cristal en controles, animales sin contenedor.
 * Tipografías: Cormorant Garamond (display) + Manrope (texto).
 *
 * Los selectores :is(.muva *), :is(.logo,.logo *)… acotan cada bloque a su
 * sección y conservan la especificidad del diseño aprobado. Al editar una
 * regla, mantén su :is() para no alterar la cascada.
 */
:root {
  --lightningcss-light:initial;
  --lightningcss-dark:;
  color-scheme:light;
  --marfil:#f7f5ef;
  --crema:#e6dfd3;
  --bosque:#303c32;
  --bosque-p:#23352b;
  --salvia:#83927f;
  --salvia-p:#586652;
  --terra:#ad745b;
  --camel:#bb9a7f;
  --disp:"Cormorant Garamond", Georgia, serif;
  --body:"Manrope", Arial, sans-serif;
  --lab:var(--body);
  --pad:clamp(22px, 5.7vw, 88px);
  --e-out:cubic-bezier(.22, 1, .36, 1);
  --radio:999px;
}

*,:before,:after {
  box-sizing:border-box;
}

* {
  margin:0;
  padding:0;
}

html {
  scroll-behavior:smooth;
  scroll-padding-top:110px;
}

body {
  background:var(--marfil);
  color:var(--bosque-p);
  font:400 16px/1.75 var(--body);
  -webkit-font-smoothing:antialiased;
}

img,svg {
  max-width:100%;
  display:block;
}

img {
  height:auto;
}

a {
  color:inherit;
}

button {
  font:inherit;
  color:inherit;
  cursor:pointer;
}

button,a {
  -webkit-tap-highlight-color:transparent;
}

::selection {
  color:#1d2c23;
  background:#cad4be;
}

:focus-visible {
  outline-offset:6px;
  outline:2px solid;
}

h1,h2,h3 {
  font-family:var(--disp);
  letter-spacing:-.045em;
  text-wrap:balance;
  font-weight:400;
  line-height:.98;
}

h2 {
  font-size:clamp(48px,5.5vw,84px);
}

h3 {
  font-size:clamp(30px,3vw,44px);
}

em {
  font-weight:400;
}

p {
  text-wrap:pretty;
}

.wrap {
  width:min(100%,1320px);
  margin-inline:auto;
}

.eyebrow,.lab {
  font:500 13px/1.5 var(--body);
  letter-spacing:.16em;
  text-transform:uppercase;
}

.eyebrow {
  align-items:center;
  gap:12px;
  display:flex;
}

.eyebrow:before {
  content:"";
  opacity:.5;
  background:currentColor;
  width:28px;
  height:1px;
}

.liquid {
  -webkit-backdrop-filter:blur(22px)saturate(1.65);
  background:linear-gradient(120deg,#ffffffb8,#f8faf1a8 42%,#ffffff85);
  border:1px solid #fff;
  position:relative;
  box-shadow:inset 2px 2px 2px #fff,inset -2px -3px 3px #334c302d,0 9px 25px #23352b22,0 2px 3px #23352b12;
}

.liquid:before {
  content:"";
  pointer-events:none;
  border-radius:inherit;
  background:radial-gradient(ellipse at var(--shine-x,20%) var(--shine-y,0%),#ffffff75,transparent 58%);
  border:1px solid #ffffff65;
  position:absolute;
  inset:2px;
}

.liquid>* {
  position:relative;
}

.crystal-panel {
  background:linear-gradient(120deg,#ffffff65,#ffffff28 42%,#ffffff50);
  border:1px solid #ffffffb0;
  box-shadow:inset 1px 1px #fff,inset -1px -1px #4d624b12,0 16px 45px #23352b09;
}

.forest .crystal-panel {
  background:linear-gradient(120deg,#ffffff13,#ffffff05 50%,#cde0ca10);
  border-color:#ffffff35;
  box-shadow:inset 1px 1px #ffffff45,0 20px 45px #10231818;
}

.crystal-lens {
  transform:rotate(calc(var(--section-progress,0) * 9deg));
  background:linear-gradient(135deg,#ffffff35,#0000 42%,#b4d9ca24 65%,#ffffff36);
  border:1px solid #ffffff8a;
  box-shadow:inset 2px 2px 2px #ffffff70,inset -3px -2px 4px #405d4018,0 12px 45px #23352b08;
}

.forest .crystal-lens {
  background:linear-gradient(135deg,#ffffff1a,#0000 45%,#d0f6e318);
}

.motion-ready [data-reveal] {
  opacity:0;
  transition:opacity .8s var(--e-out), transform .8s var(--e-out);
  transition-delay:var(--reveal-delay,0s);
  transform:translateY(22px);
}

.motion-ready [data-reveal].is-visible {
  opacity:1;
  transform:none;
}

.chapter-dock.liquid {
  z-index:50;
  border-radius:100px;
  gap:4px;
  max-width:calc(100% - 28px);
  padding:7px;
  display:flex;
  position:fixed;
  bottom:20px;
  left:50%;
  transform:translate(-50%);
}

.chapter-dock.liquid[hidden] {
  display:none;
}

.chapter-dock a {
  border-radius:40px;
  align-items:center;
  gap:8px;
  min-height:46px;
  padding:8px 18px;
  font-size:13px;
  text-decoration:none;
  transition:background .25s,color .25s;
  display:flex;
}

.chapter-dock a small {
  font-size:11px;
}

.chapter-dock a:hover {
  background:#ffffff90;
}

.chapter-dock a[aria-current] {
  color:#fff8f0;
  background:linear-gradient(135deg,#9b634b,#7d4835);
  box-shadow:inset 0 1px #f8decb70,0 4px 12px #75452d24;
}

@media (max-width:600px) {
  .chapter-dock.liquid {
    bottom:max(12px,env(safe-area-inset-bottom));
    gap:0;
    padding:5px;
  }
  .chapter-dock a {
    min-height:44px;
    padding:8px 10px;
    font-size:11px;
  }
  .chapter-dock a small {
    display:none;
  }
}

.reading-progress {
  z-index:70;
  pointer-events:none;
  height:3px;
  position:fixed;
  inset:0 0 auto;
}

.reading-progress i {
  height:100%;
  transform:scaleX(var(--reading,0));
  transform-origin:0;
  background:#a86d50;
  display:block;
}

.top {
  transition:box-shadow .3s,background .3s;
}

html[data-scrolled] .top {
  box-shadow:inset 2px 2px 2px #fff,inset -2px -2px 3px #334c3025,0 12px 35px #132c2926;
}

@media (prefers-reduced-transparency:reduce) {
  .liquid {
    -webkit-backdrop-filter:none;
    background:#f7f5ef;
  }
  .crystal-panel {
    background:#f7f5ef;
  }
  .forest .crystal-panel {
    background:#304537;
  }
  .crystal-lens {
    background:0 0;
  }
}

@supports not ((-webkit-backdrop-filter:blur(1px)) or (backdrop-filter:blur(1px))) {
  .liquid {
    background:#f7f5ef;
  }
}

@media (prefers-reduced-motion:reduce) {
  html {
    scroll-behavior:auto;
  }
  *,:before,:after {
    transition:none!important;
    animation:none!important;
  }
  .motion-ready [data-reveal] {
    opacity:1;
    transform:none;
  }
  [data-parallax] {
    transform:none!important;
  }
}

:root {
  --control-rim:#fff4eacc;
  --control-shadow:0 6px 20px #75452d18, inset 0 1px 1px #fff9efdb;
  --control-motion:.24s var(--e-out);
}

.action:is(.btn,.text-link) {
  isolation:isolate;
  color:#512b1e;
  max-width:100%;
  min-height:58px;
  font:600 15px/1.4 var(--body);
  -webkit-backdrop-filter:blur(20px)saturate(1.35);
  transition:transform var(--control-motion), box-shadow var(--control-motion), background var(--control-motion);
  background:linear-gradient(125deg,#f6d7c5ed,#dba68ad9 48%,#e4b69bba);
  border:1px solid #ad72577d;
  border-radius:999px;
  justify-content:space-between;
  align-items:center;
  gap:22px;
  padding:7px 8px 7px 24px;
  text-decoration:none;
  display:inline-flex;
  position:relative;
  box-shadow:inset 0 2px 2px #fff3eaca,inset 0 -2px 3px #995a3938,0 7px 20px #75452d21;
}

.action:is(.btn,.text-link):before {
  content:"";
  border-radius:inherit;
  pointer-events:none;
  opacity:1;
  background:radial-gradient(at 28% 0,#fff8eeb3,#0000 68%);
  border:1px solid #fff4eaa3;
  position:absolute;
  inset:3px;
}

.action.text-link>.action-label,.action.btn>.action-label {
  border:0;
  padding:0;
  position:relative;
}

.action .arrow {
  width:40px;
  height:40px;
  transition:background var(--control-motion), transform var(--control-motion);
  background:#ffebdb80;
  border:1px solid #fff6ecd4;
  border-radius:50%;
  flex:0 0 40px;
  place-items:center;
  display:grid;
  box-shadow:inset 0 1px 2px #fff9f0b3,inset 0 -1px 2px #9455362a;
}

.action .arrow svg {
  fill:none;
  stroke:currentColor;
  stroke-width:1.6px;
  width:21px;
  height:21px;
  transition:transform .18s var(--e-out);
}

.action:is(.text-link,.btn-light) {
  color:#613624;
  box-shadow:var(--control-shadow), inset 0 -2px #995a3921;
  background:linear-gradient(135deg,#fff3e8ed,#e9c7b0cc);
  border-color:#ab70535c;
}

.action:is(.text-link,.btn-light) .arrow {
  color:#613624;
  background:#e8b99e75;
  border-color:#fff5ebd9;
}

:is(.action:focus-visible,.menu-toggle:focus-visible) {
  outline-offset:5px;
  outline:3px solid;
}

@media (hover:hover) {
  .action:is(.btn,.text-link):hover {
    color:#512b1e;
    background:linear-gradient(125deg,#ffe4d1,#dfad91e6 50%,#eac6aee6);
    transform:translateY(-2px);
    box-shadow:inset 0 2px 2px #fff8ee,inset 0 -2px #a36a4b35,0 12px 26px #75452d30;
  }
  .action:hover .arrow {
    background:#fff1e8bb;
  }
  .action:hover .arrow svg {
    transform:scale(1.08);
  }
}

.action:is(.btn,.text-link):active {
  transform:translateY(0)scale(.98);
  box-shadow:inset 0 2px 5px #75452d30;
}

@media (prefers-reduced-transparency:reduce) {
  .action:is(.btn,.text-link) {
    -webkit-backdrop-filter:none;
    backdrop-filter:none;
    background:#e5baa0;
  }
}

.action.btn-whatsapp:is(.btn,.text-link) {
  color:#092e1a;
  background:linear-gradient(135deg,#58e88b,#25d366 70%);
  border-color:#168847;
  box-shadow:inset 0 2px 2px #ffffffa0,inset 0 -2px 3px #11964640,0 7px 20px #16884724;
}

.action.btn-whatsapp:before {
  background:radial-gradient(at 28% 0,#ffffff80,#0000 68%);
  border-color:#ffffff70;
}

.action.btn-whatsapp .arrow {
  color:#092e1a;
  background:#eaffec80;
  border-color:#ffffffa6;
  box-shadow:inset 0 1px 2px #ffffffb3,inset 0 -1px 2px #16884724;
}

@media (hover:hover) {
  .action.btn-whatsapp:is(.btn,.text-link):hover {
    color:#092e1a;
    background:linear-gradient(135deg,#72f09e,#39e579 70%);
    box-shadow:inset 0 2px 2px #ffffffb3,inset 0 -2px #11964635,0 12px 26px #16884730;
  }
  .action.btn-whatsapp:hover .arrow {
    background:#eaffecb3;
  }
}

.action.btn-whatsapp:is(.btn,.text-link):active {
  box-shadow:inset 0 2px 5px #16884745;
}

.care-nav.care-nav {
  border-top:0;
  gap:12px;
  padding-top:4px;
}

.care-nav.care-nav a {
  box-shadow:var(--control-shadow);
  min-height:94px;
  transition:background var(--control-motion), box-shadow var(--control-motion);
  background:linear-gradient(130deg,#ffffffd9,#e4baa2a3);
  border:1px solid #a461433b;
  border-radius:20px;
  grid-template-columns:1fr auto;
  align-items:center;
  gap:8px 10px;
  padding:16px;
  text-decoration:none;
  display:grid;
  position:relative;
}

.care-nav.care-nav small {
  color:#794b37;
  letter-spacing:.12em;
  grid-column:1;
  font-size:11px;
}

.care-nav.care-nav a>span:first-of-type {
  grid-column:1;
  font-size:14px;
  font-weight:600;
  line-height:1.5;
}

.care-nav.care-nav a>span:last-child {
  background:#e9c3ae;
  border:1px solid #ffffffc0;
  border-radius:50%;
  grid-area:1/2/3;
  place-items:center;
  width:34px;
  height:34px;
  display:grid;
}

.care-nav.care-nav a:hover {
  background:#f2dfd1;
  box-shadow:inset 0 1px #fff,0 10px 25px #23352b16;
}

.service-list.service-list {
  border:0;
  gap:8px;
  display:grid;
}

body .service-list.service-list li {
  border:0;
}

body .service-list.service-list a {
  min-height:54px;
  transition:background var(--control-motion), border-color var(--control-motion);
  background:#ffffff50;
  border:1px solid #a4614330;
  border-radius:15px;
  justify-content:space-between;
  align-items:center;
  gap:16px;
  padding:9px 10px 9px 15px;
  text-decoration:none;
  display:flex;
  box-shadow:inset 0 1px #ffffffa0;
}

body .service-list.service-list a>span:last-child {
  opacity:1;
  width:30px;
  height:30px;
  transition:transform var(--control-motion), background var(--control-motion);
  background:#fff1e780;
  border:1px solid #a4614330;
  border-radius:50%;
  flex:0 0 30px;
  place-items:center;
  font-size:17px;
  display:grid;
}

body .service-list.service-list a:hover {
  background:#ffffffe0;
  border-color:#a4614370;
  padding-left:15px;
}

.service-list.service-list a:hover>span:last-child {
  background:#e2b398;
  transform:rotate(8deg);
}

.forest .service-list.service-list a {
  background:#ffffff09;
  border-color:#ffffff25;
  box-shadow:inset 0 1px #ffffff17;
}

.forest .service-list.service-list a>span:last-child {
  background:#ffffff0d;
  border-color:#ffffff32;
}

.forest .service-list.service-list a:hover {
  background:#ffffff16;
  border-color:#ffffff60;
}

.forest .service-list.service-list a:hover>span:last-child {
  background:#ffffff25;
}

.hero-card.hero-card .card-arrow {
  background:#e9c3ae;
  border:1px solid #fff;
  border-radius:50%;
  flex:0 0 42px;
  place-items:center;
  height:42px;
  display:grid;
  box-shadow:inset 0 1px #fff;
}

.topnav.topnav {
  gap:6px;
}

.topnav.topnav a {
  transition:background var(--control-motion), border-color var(--control-motion);
  border:1px solid #0000;
  border-radius:99px;
  padding:10px 16px;
}

.topnav.topnav a:after {
  display:none;
}

.topnav.topnav a:hover,.topnav.topnav a[aria-current] {
  background:#ffffffb8;
  border-color:#ffffffd9;
  box-shadow:inset 0 1px #fff,0 3px 10px #23352b09;
}

.menu-toggle.menu-toggle {
  box-shadow:var(--control-shadow);
  background:linear-gradient(130deg,#fff,#ecd0bc);
  border-color:#a4614350;
}

.menu-toggle.menu-toggle[aria-expanded=true] {
  background:#e2b398;
}

.footer .footer-bottom a {
  background:#ffffff70;
  border:1px solid #a4614340;
  border-radius:99px;
  align-items:center;
  min-height:44px;
  padding:8px 18px;
  font-size:13px;
  display:inline-flex;
  box-shadow:inset 0 1px #ffffffd0;
}

.footer .footer-bottom a:hover {
  background:#fff;
  text-decoration:none;
}

.footer .footer-top a {
  align-items:center;
  min-height:44px;
  display:flex;
}

@media (max-width:1100px) and (min-width:801px) {
  .topnav.topnav a {
    padding-inline:10px;
    font-size:13px;
  }
}

@media (max-width:800px) {
  .action:is(.btn,.text-link) {
    gap:16px;
    min-height:56px;
    padding-left:20px;
    font-size:14px;
  }
  .hero-actions .action.text-link {
    display:inline-flex;
  }
  .care-nav.care-nav a {
    min-height:98px;
    padding:13px;
  }
  .care-nav.care-nav a>span:first-of-type {
    font-size:13px;
  }
  .care-nav.care-nav a>span:last-child {
    width:30px;
    height:30px;
  }
  .tools .action.btn {
    gap:9px;
    min-height:44px;
    padding:6px 7px 6px 14px;
    font-size:12px;
  }
  .tools .action .arrow {
    flex-basis:28px;
    width:28px;
    height:28px;
  }
  .tools .action .topic-icon {
    width:18px;
    height:18px;
  }
}

@media (max-width:370px) {
  .tools .action.btn {
    gap:6px;
    padding-left:12px;
  }
  .care-nav.care-nav a {
    gap:6px;
    padding:11px;
  }
}

@media (prefers-reduced-motion:reduce) {
  .action:is(.btn,.text-link):hover,.action:is(.btn,.text-link):active,.action:hover .arrow svg {
    transform:none;
  }
}

.topic-icon:is(.topic-icon,.topic-icon *) {
  flex-shrink:0;
  width:21px;
  height:21px;
}

.logo:is(.logo,.logo *) {
  flex-shrink:0;
  line-height:0;
  display:block;
}

.logo:is(.logo,.logo *) img:is(.logo,.logo *) {
  height:var(--alto);
  width:auto;
  transition:opacity .16s;
}

.logo:is(.logo,.logo *)[data-cambiando] img:is(.logo,.logo *) {
  opacity:.6;
}

@media (max-width:800px) {
  .logo:is(.logo,.logo *) img:is(.logo,.logo *) {
    height:41px;
  }
}

@media (max-width:370px) {
  .logo:is(.logo,.logo *) img:is(.logo,.logo *) {
    height:34px;
  }
}

.saltar:is(.muva *) {
  background:var(--bosque-p);
  color:#fff;
  z-index:100;
  padding:12px 22px;
  position:fixed;
  top:-100px;
  left:20px;
}

.saltar:is(.muva *):focus {
  top:10px;
}

.top:is(.muva *) {
  z-index:60;
  top:20px;
  left:var(--pad);
  right:var(--pad);
  border-radius:100px;
  justify-content:space-between;
  align-items:center;
  gap:20px;
  max-width:1320px;
  min-height:76px;
  margin-inline:auto;
  padding:10px 12px 10px 30px;
  display:flex;
  position:fixed;
}

.topnav:is(.muva *) {
  align-items:center;
  gap:clamp(24px,3vw,46px);
  display:flex;
}

.topnav:is(.muva *) a:is(.muva *) {
  padding-block:12px;
  font-size:15px;
  text-decoration:none;
  position:relative;
}

.tools:is(.muva *) {
  align-items:center;
  gap:12px;
  display:flex;
}

.cta-short:is(.muva *) {
  display:none;
}

.tools:is(.muva *) .btn {
  min-height:50px;
}

.menu-toggle:is(.muva *) {
  background:0 0;
  border:1px solid #23352b20;
  border-radius:50%;
  flex-direction:column;
  flex-shrink:0;
  justify-content:center;
  align-items:center;
  gap:5px;
  width:44px;
  height:44px;
  display:none;
}

.menu-toggle:is(.muva *) span:is(.muva *) {
  background:currentColor;
  width:16px;
  height:1px;
  transition:transform .2s;
  display:block;
}

.menu-toggle:is(.muva *)[aria-expanded=true] span:is(.muva *):first-child {
  transform:translateY(3px)rotate(45deg);
}

.menu-toggle:is(.muva *)[aria-expanded=true] span:is(.muva *):last-child {
  transform:translateY(-3px)rotate(-45deg);
}

.mobile-nav:is(.muva *) {
  background:#f7f5effa;
  border:1px solid #fff;
  border-radius:24px;
  padding:18px 26px;
  position:absolute;
  top:calc(100% + 12px);
  left:0;
  right:0;
  box-shadow:0 16px 40px #23352b20;
}

.mobile-nav:is(.muva *) a:is(.muva *) {
  font:30px/1.3 var(--disp);
  border-bottom:1px solid #23352b20;
  align-items:center;
  gap:16px;
  padding:16px 0;
  text-decoration:none;
  display:flex;
}

.mobile-nav:is(.muva *) small:is(.muva *) {
  font:11px var(--body);
  opacity:.65;
}

.mobile-nav:is(.muva *) a:is(.muva *) span:is(.muva *) {
  margin-left:auto;
}

.mobile-nav:is(.muva *) p:is(.muva *) {
  margin-top:18px;
  font-size:12px;
}

.footer:is(.muva *) {
  padding:72px var(--pad) 24px;
  background:#eae9df;
}

.footer-top:is(.muva *) {
  grid-template-columns:1.2fr 1fr 1.3fr .7fr;
  gap:36px;
  padding-bottom:64px;
  display:grid;
}

.footer-logo:is(.muva *) {
  width:125px;
  margin-bottom:22px;
}

.footer:is(.muva *) p:is(.muva *),.footer:is(.muva *) a:is(.muva *) {
  font-size:15px;
  line-height:1.9;
}

.footer:is(.muva *) a:is(.muva *) {
  width:fit-content;
  padding-block:4px;
  text-decoration:none;
  display:block;
}

.footer:is(.muva *) a:is(.muva *):hover {
  text-underline-offset:5px;
  text-decoration:underline;
}

.footer:is(.muva *) .lab:is(.muva *) {
  color:#586652;
  margin-bottom:20px;
  font-size:12px;
}

.footer-top:is(.muva *) p:is(.muva *) span:is(.muva *) {
  white-space:nowrap;
  margin-left:10px;
}

.footer-bottom:is(.muva *) {
  border-top:1px solid #23352b25;
  justify-content:space-between;
  align-items:center;
  gap:20px;
  padding-top:22px;
  display:flex;
}

.footer-bottom:is(.muva *) p:is(.muva *) {
  font-size:12px;
}

@media (min-width:801px) {
  .mobile-nav:is(.muva *) {
    display:none;
  }
}

@media (max-width:800px) {
  .top:is(.muva *) {
    gap:12px;
    min-height:66px;
    padding:9px 10px 9px 22px;
    top:12px;
    left:16px;
    right:16px;
  }
  .topnav:is(.muva *) {
    display:none;
  }
  .menu-toggle:is(.muva *) {
    display:flex;
  }
  .tools:is(.muva *) {
    gap:8px;
  }
  .tools:is(.muva *) .btn {
    gap:10px;
    min-height:44px;
    padding-left:16px;
    font-size:12px;
  }
  .tools:is(.muva *) .arrow {
    flex-basis:28px;
    width:28px;
    height:28px;
  }
  .footer-top:is(.muva *) {
    grid-template-columns:1fr 1fr;
    gap:36px 25px;
  }
  .footer-bottom:is(.muva *) {
    flex-wrap:wrap;
    align-items:flex-start;
  }
  .footer-bottom:is(.muva *) p:is(.muva *):last-child {
    width:100%;
  }
}

@media (max-width:370px) {
  .cta-full:is(.muva *) {
    display:none;
  }
  .cta-short:is(.muva *) {
    display:inline;
  }
  .top:is(.muva *) {
    padding-left:16px;
  }
  .tools:is(.muva *) .arrow {
    flex-basis:24px;
    width:24px;
    height:24px;
  }
  .tools:is(.muva *) .btn {
    white-space:nowrap;
    gap:6px;
    padding:7px 8px 7px 12px;
    font-size:13px;
  }
}

.mascota:is(.mascota,.mascota *) {
  pointer-events:none;
  transform:translate3d(0,var(--pet-y,0px),0) rotate(var(--pet-r,0deg));
  transform-origin:50% 80%;
  position:relative;
}

.mascota:is(.mascota,.mascota *) img:is(.mascota,.mascota *) {
  width:100%;
  height:auto;
}

.pet-film:is(.pet-film,.pet-film *) {
  width:100%;
  position:relative;
}

.film-surface:is(.pet-film,.pet-film *) {
  isolation:isolate;
  aspect-ratio:1120/720;
  position:relative;
  overflow:hidden;
}

.film-poster:is(.pet-film,.pet-film *),video:is(.pet-film,.pet-film *) {
  object-fit:cover;
  object-position:50% 50%;
  width:100%;
  height:100%;
  position:absolute;
  inset:0;
}

video:is(.pet-film,.pet-film *) {
  opacity:0;
  pointer-events:none;
}

.pet-film:is(.pet-film,.pet-film *)[data-ready] video:is(.pet-film,.pet-film *) {
  opacity:1;
}

.pet-film:is(.pet-film,.pet-film *)[data-ready] .film-poster:is(.pet-film,.pet-film *) {
  opacity:0;
}

.film-hero:is(.pet-film,.pet-film *) .film-surface:is(.pet-film,.pet-film *) {
  aspect-ratio:1.08;
  -webkit-mask-composite:source-in;
  -webkit-mask-image:linear-gradient(#0000 0%,#000 8% 86%,#0000 99%),linear-gradient(90deg,#0000,#000 15% 88%,#0000);
  mask-image:linear-gradient(#0000 0%,#000 8% 86%,#0000 99%),linear-gradient(90deg,#0000,#000 15% 88%,#0000);
  -webkit-mask-composite:source-in;
  mask-composite:intersect;
}

.film-studio:is(.pet-film,.pet-film *) {
  background:#fff;
}

.film-studio:is(.pet-film,.pet-film *) .film-surface:is(.pet-film,.pet-film *) {
  aspect-ratio:16/9;
}

.film-cat:is(.pet-film,.pet-film *),.film-hero:is(.pet-film,.pet-film *) {
  mix-blend-mode:multiply;
}

.film-cat:is(.pet-film,.pet-film *) .film-surface:is(.pet-film,.pet-film *) {
  box-shadow:none;
  border:0;
}

.wall-sign:is(.pet-film,.pet-film *) {
  z-index:1;
  pointer-events:none;
  width:25%;
  position:absolute;
  top:4.5%;
  left:50%;
  transform:translate(-50%);
}

.wall-logo:is(.pet-film,.pet-film *) {
  filter:brightness(0);
  width:100%;
  height:auto;
}

@media (max-width:800px) {
  .film-hero:is(.pet-film,.pet-film *) .film-surface:is(.pet-film,.pet-film *) {
    aspect-ratio:1.05;
  }
  .film-studio:is(.pet-film,.pet-film *) .film-surface:is(.pet-film,.pet-film *) {
    aspect-ratio:1/1.05;
  }
  .wall-sign:is(.pet-film,.pet-film *) {
    width:38%;
    top:5%;
  }
}

@media (prefers-reduced-motion:reduce) {
  .pet-film:is(.pet-film,.pet-film *)[data-ready] video:is(.pet-film,.pet-film *) {
    opacity:0;
  }
  .pet-film:is(.pet-film,.pet-film *)[data-ready] .film-poster:is(.pet-film,.pet-film *) {
    opacity:1;
  }
}

.brand-ribbon:is(.brand-ribbon,.brand-ribbon *) {
  isolation:isolate;
  background:#23382d;
  height:34px;
  position:relative;
  overflow:hidden;
}

video:is(.brand-ribbon,.brand-ribbon *) {
  object-fit:cover;
  pointer-events:none;
  width:max(100%,980px);
  max-width:none;
  height:100%;
  position:absolute;
  top:50%;
  left:50%;
  transform:translate(-50%,-50%);
}

@media (max-width:600px) {
  .brand-ribbon:is(.brand-ribbon,.brand-ribbon *) {
    height:28px;
  }
}

.wrap:is(.team,.team *) {
  width:100%;
  max-width:1440px;
  padding-inline:var(--pad);
  margin-inline:auto;
}

.team:is(.team,.team *) {
  background:#f7f5ef;
  padding:100px 0;
}

.heading:is(.team,.team *) {
  grid-template-columns:1.3fr 1fr;
  align-items:end;
  gap:70px;
  margin-bottom:50px;
  display:grid;
}

h2:is(.team,.team *) {
  font:400 clamp(48px,5.5vw,82px)/.98 var(--disp);
  letter-spacing:-.035em;
}

h2:is(.team,.team *) em:is(.team,.team *) {
  color:#82705c;
}

.heading:is(.team,.team *)>p:is(.team,.team *) {
  color:#596154;
  max-width:390px;
  line-height:1.9;
}

.portraits:is(.team,.team *) {
  grid-template-columns:repeat(3,1fr);
  gap:30px;
  display:grid;
}

.portrait-space:is(.team,.team *),.person:is(.team,.team *) img:is(.team,.team *) {
  aspect-ratio:4/5;
  object-fit:cover;
  border-radius:160px 160px 20px 20px;
  width:100%;
}

.portrait-space:is(.team,.team *) {
  color:#9c9485;
  background:radial-gradient(at 50% 30%,#fbfaf6,#e9e3d8);
  border:1px solid #ddd7cb;
  place-items:center;
  display:grid;
  position:relative;
  overflow:hidden;
}

.reserved:is(.team,.team *):nth-child(2) .portrait-space:is(.team,.team *) {
  background:radial-gradient(at 50% 30%,#f7f8f1,#dde2d5);
}

.portrait-space:is(.team,.team *) svg:is(.team,.team *) {
  opacity:.5;
  width:38%;
}

.index:is(.team,.team *) {
  letter-spacing:.12em;
  font-size:12px;
  position:absolute;
  top:30px;
}

.portrait-caption:is(.team,.team *) {
  font:italic 30px var(--disp);
  position:absolute;
  bottom:30px;
}

.reserved:is(.team,.team *)>p:is(.team,.team *) {
  color:#666b61;
  margin-top:18px;
  font-size:13px;
}

.person:is(.team,.team *) h3:is(.team,.team *) {
  font:400 32px var(--disp);
  margin-top:20px;
}

.person:is(.team,.team *) p:is(.team,.team *) {
  line-height:1.7;
}

.role:is(.team,.team *) {
  margin:8px 0;
  font-size:13px;
}

@media (max-width:800px) {
  .team:is(.team,.team *) {
    padding:65px 0;
  }
  .heading:is(.team,.team *) {
    grid-template-columns:1fr;
    gap:26px;
  }
  .portraits:is(.team,.team *) {
    gap:14px;
  }
  .portrait-caption:is(.team,.team *) {
    font-size:21px;
    bottom:15px;
  }
  .index:is(.team,.team *) {
    top:20px;
  }
  .reserved:is(.team,.team *)>p:is(.team,.team *) {
    font-size:11px;
  }
}

@media (max-width:480px) {
  .portraits:is(.team,.team *) {
    grid-template-columns:1fr;
  }
  .portrait-space:is(.team,.team *) {
    aspect-ratio:5/4;
    border-radius:100px 100px 20px 20px;
  }
  .portrait-space:is(.team,.team *) svg:is(.team,.team *) {
    width:25%;
  }
  .reserved:is(.team,.team *)>p:is(.team,.team *) {
    font-size:13px;
  }
  .portrait-caption:is(.team,.team *) {
    font-size:28px;
  }
}

section:is(.location,.location *) {
  background:#e9e2d6;
  padding:95px 0 70px;
  scroll-margin-top:110px;
}

.location-wrap:is(.location,.location *) {
  max-width:1440px;
  padding-inline:var(--pad);
  margin:auto;
}

header:is(.location,.location *) {
  justify-content:space-between;
  align-items:end;
  gap:30px;
  margin-bottom:48px;
  display:flex;
}

h2:is(.location,.location *) {
  font:400 clamp(48px,5.5vw,82px)/1 var(--disp);
  letter-spacing:-.035em;
}

h2:is(.location,.location *) em:is(.location,.location *) {
  color:#897059;
}

.district:is(.location,.location *) {
  letter-spacing:.12em;
  text-align:right;
  flex-shrink:0;
  font-size:11px;
  line-height:2;
}

.location-grid:is(.location,.location *) {
  background:#f9f7f1;
  border:1px solid #ffffffb0;
  border-radius:30px;
  grid-template-columns:.8fr 1.3fr;
  display:grid;
  overflow:hidden;
  box-shadow:0 25px 70px #44352510;
}

.details:is(.location,.location *) {
  padding:45px 38px;
}

.label:is(.location,.location *) {
  text-transform:uppercase;
  letter-spacing:.14em;
  color:#73685c;
  margin-bottom:18px;
  font-size:10px;
}

address:is(.location,.location *) {
  font:400 clamp(29px,2.8vw,42px)/1.1 var(--disp);
}

address:is(.location,.location *) span:is(.location,.location *) {
  font:400 14px/1.6 var(--body);
  color:#60665a;
  margin-top:12px;
  display:block;
}

.welcome:is(.location,.location *) {
  margin:25px 0;
  font-size:14px;
  line-height:1.8;
}

.hours:is(.location,.location *) {
  border-top:1px solid #ded8cb;
  margin-top:32px;
  padding-top:25px;
}

dl:is(.location,.location *) div:is(.location,.location *) {
  justify-content:space-between;
  gap:16px;
  font-size:12px;
  line-height:2.2;
  display:flex;
}

dd:is(.location,.location *) {
  font-variant-numeric:tabular-nums;
  margin:0;
}

.map:is(.location,.location *) {
  background:#e1e6dc;
  min-width:0;
}

.map:is(.location,.location *) iframe:is(.location,.location *) {
  border:0;
  width:100%;
  height:100%;
  min-height:560px;
  display:block;
}

.map-note:is(.location,.location *) {
  color:#5f6158;
  margin-top:20px;
  font-size:12px;
  line-height:1.6;
}

@media (max-width:800px) {
  section:is(.location,.location *) {
    padding:65px 0 45px;
  }
  header:is(.location,.location *) {
    margin-bottom:30px;
    display:block;
  }
  .district:is(.location,.location *) {
    text-align:left;
    margin-top:25px;
    display:block;
  }
  .location-grid:is(.location,.location *) {
    grid-template-columns:1fr;
  }
  .details:is(.location,.location *) {
    padding:30px 25px;
  }
  .map:is(.location,.location *) iframe:is(.location,.location *) {
    height:380px;
    min-height:380px;
  }
  h2:is(.location,.location *) {
    font-size:clamp(45px,8vw,65px);
  }
}

.hero:is(.muva *) {
  isolation:isolate;
  padding:130px var(--pad) 0;
  background:radial-gradient(at 78% 40%,#eef2ef 0,#f2f4ef 28%,#f7f5ef 62%);
  position:relative;
  overflow:clip;
}

.hero-grain:is(.muva *) {
  z-index:-1;
  opacity:.25;
  pointer-events:none;
  background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Cpath fill='%23999' opacity='.2' filter='url(%23n)' d='M0 0h180v180H0z'/%3E%3C/svg%3E");
  position:absolute;
  inset:0;
}

.hero-grid:is(.muva *) {
  grid-template-columns:1fr 1fr;
  gap:20px;
  min-height:640px;
  display:grid;
}

.hero-copy:is(.muva *) {
  z-index:3;
  padding:22px 0 30px;
  position:relative;
}

.hero-copy:is(.muva *) .eyebrow:is(.muva *) {
  margin-bottom:30px;
}

h1:is(.muva *) {
  letter-spacing:-.052em;
  font-size:clamp(76px,7.8vw,122px);
  line-height:.89;
}

h1:is(.muva *) em:is(.muva *) {
  color:#657554;
}

.hero-description:is(.muva *) {
  color:#53604e;
  max-width:450px;
  margin-top:22px;
  font-size:18px;
  line-height:1.7;
}

.hero-actions:is(.muva *) {
  flex-wrap:wrap;
  align-items:center;
  gap:14px 24px;
  margin-top:28px;
  display:flex;
}

.hero-location:is(.muva *) {
  color:#52604e;
  align-items:center;
  gap:10px;
  margin-top:32px;
  font-size:14px;
  display:flex;
}

.hero-location:is(.muva *)>span:is(.muva *):first-child {
  font-size:18px;
}

.separator:is(.muva *) {
  opacity:.5;
  padding-inline:5px;
}

.hero-scene:is(.muva *) {
  align-items:flex-end;
  min-width:0;
  display:flex;
  position:relative;
}

.hero-scene:is(.muva *) .film-hero {
  flex-shrink:0;
  width:113%;
  margin-bottom:35px;
  margin-left:-5%;
}

.hero-orbit:is(.muva *) {
  aspect-ratio:1;
  border:1px solid #81936b24;
  border-radius:50%;
  width:100%;
  position:absolute;
  bottom:8%;
  right:-6%;
}

.orbit-two:is(.muva *) {
  border-color:#81936b12;
  width:118%;
  bottom:0;
  right:-15%;
}

.hero-card:is(.muva *) {
  z-index:4;
  transition:transform .2s var(--e-out);
  border-radius:20px;
  align-items:center;
  gap:15px;
  padding:22px;
  text-decoration:none;
  display:flex;
  position:absolute;
  bottom:16px;
  right:0;
}

.hero-card:is(.muva *):hover {
  transform:translateY(-4px);
}

.card-symbol:is(.muva *) {
  color:#657554;
  font-size:32px;
  line-height:1;
}

.hero-card:is(.muva *) strong:is(.muva *),.hero-card:is(.muva *) small:is(.muva *) {
  display:block;
}

.hero-card:is(.muva *) strong:is(.muva *) {
  font-size:16px;
  font-weight:500;
}

.hero-card:is(.muva *) small:is(.muva *) {
  color:#34422e;
  margin-top:3px;
  font-size:13px;
}

.card-arrow:is(.muva *) {
  margin-left:18px;
  font-size:22px;
}

.hero-bottom:is(.muva *) {
  color:#56634e;
  border-top:1px solid #23352b22;
  justify-content:space-between;
  align-items:center;
  gap:20px;
  padding-block:20px;
  font-size:12px;
  display:flex;
}

.hero-bottom:is(.muva *) a:is(.muva *) {
  gap:24px;
  text-decoration:none;
  display:flex;
}

.hero-bottom:is(.muva *) a:is(.muva *) span:is(.muva *) {
  font-size:15px;
}

.care-intro:is(.muva *) {
  padding:65px var(--pad) 0;
}

.intro-heading:is(.muva *) {
  grid-template-columns:1.5fr 1fr;
  align-items:end;
  gap:20px 50px;
  padding-bottom:35px;
  display:grid;
}

.intro-heading:is(.muva *) .eyebrow:is(.muva *) {
  grid-column:1/-1;
  margin-bottom:10px;
}

.intro-heading:is(.muva *) h2:is(.muva *) {
  font-size:clamp(44px,4.9vw,72px);
}

.intro-heading:is(.muva *)>p:is(.muva *):last-child {
  color:#5a6655;
  max-width:430px;
  padding-bottom:5px;
  font-size:18px;
}

.care-nav:is(.muva *) {
  grid-template-columns:repeat(4,1fr);
  padding-bottom:28px;
  display:grid;
}

.care-section:is(.muva *) {
  padding:58px var(--pad);
  position:relative;
  overflow:clip;
}

.sage:is(.muva *) {
  background:#e7ebdf;
}

.warm:is(.muva *) {
  background:#eae0d4;
}

.forest:is(.muva *) {
  color:#f7f5ef;
  background:#26382e;
}

.care-grid:is(.muva *) {
  grid-template-columns:1fr 1fr;
  align-items:center;
  gap:clamp(25px,4vw,60px);
  display:grid;
}

.care-copy:is(.muva *) {
  z-index:2;
  border-radius:28px;
  max-width:none;
  padding:clamp(26px,3.1vw,45px);
  position:relative;
}

.care-copy:is(.muva *) .eyebrow:is(.muva *) {
  margin-bottom:30px;
}

.care-copy:is(.muva *) h2:is(.muva *) {
  font-size:clamp(46px,4.4vw,68px);
}

.care-body:is(.muva *) {
  color:#53604e;
  max-width:480px;
  margin-top:28px;
  font-size:18px;
  line-height:1.7;
}

.forest:is(.muva *) .care-body:is(.muva *) {
  color:#d2d9ce;
}

.service-list:is(.muva *) {
  max-width:none;
  margin:26px 0;
  list-style:none;
}

.service-list:is(.muva *) li:is(.muva *) {
  font-size:16px;
}

.care-note:is(.muva *) {
  color:#43513d;
  max-width:410px;
  margin:-8px 0 25px;
  font-size:14px;
}

.pet-scene:is(.muva *) {
  align-self:stretch;
  align-items:flex-end;
  min-width:0;
  min-height:530px;
  display:flex;
  position:relative;
}

.pet-reveal:is(.muva *) {
  z-index:1;
  width:100%;
  position:relative;
}

.scene-line:is(.muva *) {
  border:1px solid #76836a25;
  border-radius:44% 56% 45% 55%;
  height:68%;
  position:absolute;
  bottom:18%;
  left:2%;
  right:2%;
}

.pet-caption:is(.muva *) {
  letter-spacing:.015em;
  border-top:1px solid #23352b25;
  justify-content:space-between;
  align-items:center;
  padding-top:16px;
  font-size:13px;
  display:flex;
  position:absolute;
  bottom:0;
  left:0;
  right:0;
}

.pet-caption:is(.muva *) span:is(.muva *) {
  font-size:22px;
}

.forest:is(.muva *) .scene-line:is(.muva *),.forest:is(.muva *) .pet-caption:is(.muva *) {
  border-color:#fff2;
}

.ivory:is(.muva *) .care-copy:is(.muva *),.forest:is(.muva *) .care-copy:is(.muva *) {
  grid-area:1/1;
}

.ivory:is(.muva *) .pet-scene:is(.muva *),.forest:is(.muva *) .pet-scene:is(.muva *) {
  grid-area:1/2;
}

#diagnostico:is(.muva *) .pet-scene:is(.muva *) {
  align-items:center;
  padding-block:30px 65px;
}

#diagnostico:is(.muva *) .pet-reveal:is(.muva *) {
  mix-blend-mode:multiply;
}

#consulta:is(.muva *) .pet-scene:is(.muva *) {
  align-self:center;
  min-height:0;
  padding:0 0 48px;
}

#consulta:is(.muva *) .pet-reveal:is(.muva *),#cirugia:is(.muva *) .pet-reveal:is(.muva *) {
  width:100%;
}

#consulta:is(.muva *) .scene-line:is(.muva *),#diagnostico:is(.muva *) .scene-line:is(.muva *),#cirugia:is(.muva *) .scene-line:is(.muva *),#cirugia:is(.muva *) .pet-caption:is(.muva *) {
  display:none;
}

#cirugia:is(.muva *) .pet-scene:is(.muva *) {
  justify-content:center;
  align-self:center;
  align-items:center;
  min-height:0;
  padding:0;
}

#cirugia:is(.muva *) .pet-reveal:is(.muva *) {
  width:100%;
  max-width:620px;
  margin:0 auto;
}

.care-photo:is(.muva *) {
  aspect-ratio:1;
  border-radius:24px;
  width:100%;
  height:auto;
  display:block;
}

#bienestar:is(.muva *) {
  background:#fff;
  padding:0;
}

.wellness-heading:is(.muva *) {
  padding:75px var(--pad) 50px;
  grid-template-columns:1.25fr 1fr;
  align-items:end;
  gap:60px;
  display:grid;
}

.wellness-heading:is(.muva *) .eyebrow:is(.muva *) {
  margin-bottom:26px;
}

.wellness-heading:is(.muva *) h2:is(.muva *) {
  font-size:clamp(60px,6.7vw,102px);
}

.wellness-heading:is(.muva *) h2:is(.muva *) em:is(.muva *) {
  color:#687257;
}

.wellness-intro:is(.muva *) {
  color:#52604e;
  max-width:440px;
  padding-bottom:8px;
  font-size:18px;
}

.wellness-stage:is(.muva *) {
  width:100%;
}

.wellness-footer:is(.muva *) {
  padding:45px var(--pad) 65px;
  grid-template-columns:1fr 1.1fr;
  align-items:center;
  gap:25px 70px;
  display:grid;
}

.wellness-note:is(.muva *) {
  font:400 clamp(30px,3vw,45px)/1.15 var(--disp);
  letter-spacing:-.03em;
  margin-top:18px;
}

.wellness-note:is(.muva *) em:is(.muva *) {
  color:#626e54;
}

.wellness-footer:is(.muva *) .service-list:is(.muva *) {
  margin:0;
}

.wellness-footer:is(.muva *)>.action {
  grid-column:2;
  justify-self:start;
}

.home-visit:is(.muva *) {
  padding:110px var(--pad);
  color:#f7f5ef;
  background:radial-gradient(at 79% 48%,#496b57 0,#2e4739 31%,#20352a 69%);
  position:relative;
  overflow:clip;
}

.home-visit:is(.muva *):before {
  content:"";
  pointer-events:none;
  opacity:.28;
  background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 160 160' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.45'/%3E%3C/svg%3E");
  position:absolute;
  inset:0;
}

.home-visit-grid:is(.muva *) {
  grid-template-columns:1.05fr .95fr;
  align-items:center;
  gap:clamp(48px,9vw,150px);
  display:grid;
  position:relative;
}

.home-visit-copy:is(.muva *) {
  z-index:1;
  max-width:600px;
  position:relative;
}

.home-visit-copy:is(.muva *) .eyebrow:is(.muva *) {
  color:#d9e8d3;
  margin-bottom:28px;
}

.home-visit-copy:is(.muva *) h2:is(.muva *) {
  font-size:clamp(56px,5.7vw,88px);
}

.home-visit-copy:is(.muva *) h2:is(.muva *) em:is(.muva *) {
  color:#b7d0a2;
}

.home-visit-copy:is(.muva *)>p:is(.muva *) {
  color:#e3ece0;
  max-width:520px;
  margin-top:28px;
  font-size:17px;
  line-height:1.8;
}

.visit-benefits:is(.muva *) {
  gap:11px;
  margin:31px 0 29px;
  list-style:none;
  display:grid;
}

.visit-benefits:is(.muva *) li:is(.muva *) {
  color:#f8faf4;
  align-items:center;
  gap:13px;
  font-size:15px;
  display:flex;
}

.home-pending:is(.muva *) {
  cursor:not-allowed;
  opacity:.82;
}

.home-visit-copy:is(.muva *)>small:is(.muva *) {
  color:#d5e2d0;
  max-width:340px;
  margin-top:13px;
  font-size:12px;
  line-height:1.5;
  display:block;
}

.home-visit-scene:is(.muva *) {
  isolation:isolate;
  place-items:center;
  min-height:440px;
  display:grid;
  position:relative;
}

.home-visit-scene:is(.muva *):before {
  content:"";
  aspect-ratio:1;
  filter:blur(1px);
  background:radial-gradient(circle,#d7f6bd2b 0 5%,#a9d49216 28%,#0000 67%);
  border-radius:50%;
  width:min(35vw,470px);
  position:absolute;
}

.route:is(.muva *) {
  border:1px solid #d8efc345;
  border-radius:50%;
  display:block;
  position:absolute;
  transform:rotate(-27deg);
}

.route-one:is(.muva *) {
  width:105%;
  height:45%;
}

.route-two:is(.muva *) {
  border-color:#d8efc326;
  width:76%;
  height:73%;
  transform:rotate(34deg);
}

.route-three:is(.muva *) {
  border-color:#d8efc31c;
  width:51%;
  height:105%;
  transform:rotate(-11deg);
}

.visit-signal:is(.muva *) {
  z-index:1;
  aspect-ratio:1;
  -webkit-backdrop-filter:blur(12px);
  backdrop-filter:blur(12px);
  background:#e6f1d54d;
  border:1px solid #f8ffed9c;
  border-radius:50%;
  place-items:center;
  width:170px;
  display:grid;
  position:relative;
  box-shadow:inset 0 1px #fff,inset 0 -12px 25px #385d454f,0 20px 55px #0b221b63;
}

.signal-ring:is(.muva *) {
  border-radius:inherit;
  border:1px solid #efffe070;
  position:absolute;
  inset:13px;
}

.signal-core:is(.muva *) {
  color:#173326;
  background:#c9f1aa;
  border-radius:50%;
  place-items:center;
  width:70px;
  height:70px;
  display:grid;
  box-shadow:inset 0 2px #fff,0 0 0 13px #c9f1aa24,0 0 45px #c9f1aa9c;
}

.home-visit-scene:is(.muva *) p:is(.muva *) {
  z-index:1;
  text-align:right;
  color:#f5f9ee;
  font:400 clamp(28px, 3vw, 45px)/1.02 var(--disp);
  letter-spacing:-.035em;
  position:absolute;
  bottom:4%;
  right:4%;
}

.home-visit-scene:is(.muva *) p:is(.muva *) em:is(.muva *) {
  color:#b9d8a8;
}

.experience:is(.muva *) {
  padding:75px var(--pad) 70px;
}

.experience-heading:is(.muva *) {
  grid-template-columns:1.4fr 1fr;
  align-items:end;
  gap:70px;
  margin-bottom:50px;
  display:grid;
}

.experience-heading:is(.muva *) .eyebrow:is(.muva *) {
  margin-bottom:25px;
}

.experience-heading:is(.muva *)>p:is(.muva *) {
  color:#53604e;
  max-width:430px;
  font-size:18px;
}

.venue-label:is(.muva *) {
  border-radius:999px;
  width:fit-content;
  max-width:calc(100% - 24px);
  padding:9px 15px;
  font-size:13px;
  position:absolute;
  bottom:14px;
  left:12px;
  right:12px;
}

figcaption:is(.muva *) {
  justify-content:space-between;
  gap:8px;
  padding-top:17px;
  font-size:14px;
  display:flex;
}

figcaption:is(.muva *) small:is(.muva *) {
  color:#64715c;
  font-size:12px;
}

@media (max-width:1100px) {
  .hero-actions:is(.muva *) {
    gap:8px;
  }
  .home-visit:is(.muva *) {
    padding-block:85px;
  }
}

@media (max-width:1100px) and (min-width:801px) {
  h1:is(.muva *) {
    font-size:76px;
  }
  .care-copy:is(.muva *) {
    padding:26px;
  }
  .hero-scene:is(.muva *) .film-hero {
    width:115%;
    margin-bottom:110px;
  }
}

@media (max-width:800px) {
  .hero:is(.muva *) {
    padding-top:112px;
  }
  .hero-grid:is(.muva *) {
    grid-template-columns:1fr;
    gap:0;
    min-height:0;
  }
  .hero-copy:is(.muva *) {
    padding-top:0;
    padding-bottom:0;
  }
  .hero-copy:is(.muva *) .eyebrow:is(.muva *) {
    margin-bottom:24px;
    font-size:12px;
  }
  h1:is(.muva *) {
    font-size:clamp(58px,11vw,86px);
  }
  .hero-description:is(.muva *) {
    margin-top:20px;
    font-size:17px;
    line-height:1.65;
  }
  .hero-actions:is(.muva *) {
    gap:12px 20px;
    margin-top:23px;
  }
  .hero-actions:is(.muva *) .text-link {
    display:inline-flex;
  }
  .hero-location:is(.muva *) {
    display:none;
  }
  .hero-scene:is(.muva *) {
    margin-inline:auto;
    width:min(100%,420px);
    min-height:0;
    margin-top:16px;
  }
  .hero-scene:is(.muva *) .film-hero {
    width:114%;
    margin:0 -7% 75px;
  }
  .hero-card:is(.muva *) {
    gap:12px;
    padding:16px;
    bottom:8px;
    left:0;
    right:0;
  }
  .hero-card:is(.muva *) strong:is(.muva *) {
    font-size:14px;
  }
  .hero-card:is(.muva *) small:is(.muva *) {
    font-size:12px;
  }
  .card-arrow:is(.muva *) {
    margin-left:auto;
  }
  .hero-bottom:is(.muva *) {
    margin-top:20px;
  }
  .hero-bottom:is(.muva *)>span:is(.muva *):first-child {
    max-width:175px;
  }
  .hero-bottom:is(.muva *)>span:is(.muva *):last-child {
    display:none;
  }
  .care-intro:is(.muva *) {
    padding-top:45px;
  }
  .intro-heading:is(.muva *) {
    grid-template-columns:1fr;
  }
  .intro-heading:is(.muva *) .eyebrow:is(.muva *) {
    margin-bottom:0;
  }
  .intro-heading:is(.muva *)>p:is(.muva *):last-child,.experience-heading:is(.muva *)>p:is(.muva *) {
    font-size:17px;
  }
  .care-nav:is(.muva *) {
    grid-template-columns:1fr 1fr;
    padding-bottom:25px;
  }
  .care-section:is(.muva *) {
    padding:30px 16px;
  }
  .care-grid:is(.muva *) {
    flex-direction:column-reverse;
    align-items:stretch;
    gap:24px;
    display:flex;
  }
  .care-copy:is(.muva *) {
    border-radius:24px;
    padding:28px 22px;
  }
  .care-copy:is(.muva *) .eyebrow:is(.muva *) {
    letter-spacing:.14em;
    margin-bottom:22px;
    font-size:12px;
  }
  .care-copy:is(.muva *) h2:is(.muva *) {
    font-size:clamp(42px,8vw,60px);
  }
  .care-body:is(.muva *) {
    margin-top:22px;
    font-size:17px;
  }
  .pet-scene:is(.muva *) {
    width:min(100%,450px);
    min-height:0;
    margin-inline:auto;
    padding-top:18px;
  }
  .pet-reveal:is(.muva *) {
    width:85%;
    margin-inline:auto;
  }
  .pet-caption:is(.muva *) {
    font-size:12px;
  }
  .wellness-heading:is(.muva *) {
    grid-template-columns:1fr;
    gap:24px;
    padding:48px 24px 32px;
  }
  .wellness-heading:is(.muva *) h2:is(.muva *) {
    font-size:clamp(54px,10vw,76px);
  }
  .wellness-heading:is(.muva *) .eyebrow:is(.muva *) {
    margin-bottom:22px;
    font-size:11px;
  }
  .wellness-intro:is(.muva *) {
    padding:0;
    font-size:17px;
  }
  .wellness-footer:is(.muva *) {
    grid-template-columns:1fr;
    gap:26px;
    padding:30px 24px 48px;
  }
  .wellness-footer:is(.muva *)>.action {
    grid-column:1;
  }
  .home-visit:is(.muva *) {
    padding:70px 24px;
  }
  .home-visit-grid:is(.muva *) {
    grid-template-columns:1fr;
    gap:35px;
  }
  .home-visit-copy:is(.muva *) h2:is(.muva *) {
    font-size:clamp(50px,10vw,70px);
  }
  .home-visit-copy:is(.muva *)>p:is(.muva *) {
    font-size:16px;
  }
  .home-visit-scene:is(.muva *) {
    min-height:310px;
  }
  .home-visit-scene:is(.muva *):before {
    width:min(92vw,440px);
  }
  .route-one:is(.muva *) {
    width:108%;
    height:48%;
  }
  .visit-signal:is(.muva *) {
    width:142px;
  }
  .signal-core:is(.muva *) {
    width:59px;
    height:59px;
  }
  .home-visit-scene:is(.muva *) p:is(.muva *) {
    font-size:33px;
    bottom:0;
    right:0;
  }
  .experience:is(.muva *) {
    padding:45px var(--pad);
  }
  .experience-heading:is(.muva *) {
    grid-template-columns:1fr;
    gap:25px;
    margin-bottom:35px;
  }
  .venue-label:is(.muva *) {
    padding:8px 10px;
    font-size:12px;
  }
  figcaption:is(.muva *) {
    font-size:13px;
  }
}

@media (max-width:380px) {
  .hero-actions:is(.muva *) {
    gap:5px;
  }
}

@media (max-width:370px) {
  .hero-card:is(.muva *) {
    padding:16px 14px;
  }
  .hero-card:is(.muva *) .card-symbol:is(.muva *) {
    display:none;
  }
  .hero-card:is(.muva *) strong:is(.muva *) {
    font-size:13px;
  }
}

/* ==========================================================================
   Páginas interiores
   Misma línea del home: marfil con grano, titulares serif con itálica salvia,
   cristal en controles, arcos con fotos reales y mascotas sin contenedor.
   ========================================================================== */

.visually-hidden { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }

/* Hero */
.page-hero { padding-bottom: 40px; }
.page-hero .hero-grid { grid-template-columns: 1.05fr .95fr; gap: clamp(30px, 5vw, 80px); min-height: 620px; align-items: center; }
.page-hero .hero-copy { padding: 10px 0 40px; }
.page-hero h1 { font-size: clamp(56px, 5.6vw, 92px); line-height: .92; letter-spacing: -.048em; }
.page-hero h1 em { color: #657554; }
.page-hero .hero-scene { align-items: center; justify-content: center; }
.page-hero .hero-location { flex-wrap: wrap; }
.page-hero.is-compact .hero-grid { grid-template-columns: 1fr; min-height: 0; }
.page-hero.is-compact .hero-copy { max-width: 980px; padding-bottom: 50px; }

/* Composición: arco con foto real, burbuja y etiqueta de cristal */
.medal { display: grid; place-items: center; flex: 0 0 38px; width: 38px; height: 38px; border: 1px solid #fff; border-radius: 50%; background: #e9c3ae; box-shadow: inset 0 1px #fff; color: #512b1e; }
.medal svg { width: 19px; height: 19px; }
.svc-media { position: relative; isolation: isolate; width: min(100%, 480px); margin-inline: auto; padding: 24px 40px 46px 64px; }
.svc-ring { position: absolute; z-index: -1; inset: 0 12px 30px 96px; border: 1px solid #ad745b57; border-radius: 999px 999px 30px 30px; transform: rotate(3deg); transform-origin: 50% 100%; }
.svc-arch { position: relative; overflow: hidden; aspect-ratio: .76; border-radius: 999px 999px 26px 26px; background: var(--crema); box-shadow: 0 34px 70px -24px #23352b4d, 0 2px 6px #23352b14; animation: arch-open 900ms var(--e-out) both; }
.svc-arch img { width: 100%; height: 100%; object-fit: cover; transform: scale(1.02); transition: transform 900ms var(--e-out); }
.svc-arch::after { content: ''; position: absolute; inset: 0; border-radius: inherit; pointer-events: none; box-shadow: inset 0 0 0 1px #ffffff45; background: linear-gradient(180deg, #ffffff12, transparent 32%, transparent 68%, #1b2a2133); }
.svc-bubble { position: absolute; z-index: 2; left: 0; bottom: 0; width: 44%; aspect-ratio: 1; overflow: hidden; border: 7px solid var(--marfil); border-radius: 50%; box-shadow: 0 22px 44px -16px #23352b66; transform: translate3d(0, var(--pet-y, 0px), 0); animation: bubble-in 800ms 250ms var(--e-out) both; }
.svc-bubble img { width: 100%; height: 100%; object-fit: cover; }
.svc-tag { position: absolute; z-index: 3; top: 16%; right: 0; display: flex; align-items: center; gap: 12px; padding: 8px 18px 8px 8px; border-radius: 999px; font-size: 14px; font-weight: 600; line-height: 1.2; animation: tag-in 600ms 450ms var(--e-out) both; }
.svc-tag small { display: block; margin-top: 2px; font-size: 11px; font-weight: 500; letter-spacing: .06em; color: #56634e; }
.svc-media.is-pet { width: min(100%, 520px); padding: 0 0 70px; }
.svc-media.is-pet .hero-orbit { right: 0; bottom: 14%; }
.svc-pet { position: relative; z-index: 1; transform: translate3d(0, var(--pet-y, 0px), 0); }
.svc-pet img { width: 100%; height: auto; -webkit-mask-image: linear-gradient(to bottom, #000 80%, transparent); mask-image: linear-gradient(to bottom, #000 80%, transparent); }
.svc-media.is-pet .svc-tag { top: auto; bottom: 26px; right: 4%; }
@media (hover: hover) { .svc-media:hover .svc-arch img { transform: scale(1.06); } }
@keyframes arch-open { from { opacity: .3; clip-path: inset(24% 12% 0 12% round 999px 999px 26px 26px); } to { opacity: 1; clip-path: inset(0 round 999px 999px 26px 26px); } }
@keyframes bubble-in { from { opacity: 0; scale: .85; } }
@keyframes tag-in { from { opacity: 0; translate: 0 12px; } }

/* Encabezado de bloque compartido */
.related-head { display: grid; grid-template-columns: 1.3fr 1fr; gap: 20px 70px; align-items: end; margin-bottom: 46px; }
.related-head .eyebrow { margin-bottom: 22px; }
.related-head h2, .svc-about-head h2 { font-size: clamp(44px, 4.4vw, 68px); }
.related-head h2 em, .svc-about-head h2 em, .guide-card h2 em { color: #657554; }
.related-head > p { max-width: 430px; padding-bottom: 5px; font-size: 18px; line-height: 1.7; color: #53604e; }

/* Servicio: qué es y cómo lo hacemos */
.svc-about { position: relative; padding: 100px var(--pad); }
.svc-about-grid { display: grid; grid-template-columns: .82fr 1.18fr; gap: clamp(36px, 6vw, 100px); align-items: start; }
.svc-about-head { position: sticky; top: 130px; }
.svc-about-head .eyebrow { margin-bottom: 26px; }
.svc-about-head > p { max-width: 400px; margin-top: 24px; font-size: 18px; line-height: 1.7; color: #53604e; }
.svc-body { padding: clamp(28px, 3.4vw, 52px); border-radius: 30px; }
.svc-text p { font-size: 18px; line-height: 1.8; color: #34422e; }
.svc-text p + p { margin-top: 16px; }
.steps { margin-top: 36px; list-style: none; border-bottom: 1px solid #23352b1f; }
.steps li { display: grid; grid-template-columns: 58px 1fr; gap: 16px; padding: 26px 0; border-top: 1px solid #23352b1f; }
.steps small { padding-top: 12px; font: 600 12px/1 var(--body); letter-spacing: .14em; color: #794b37; }
.steps h3 { font-size: clamp(28px, 2.3vw, 36px); line-height: 1.05; letter-spacing: -.03em; }
.steps p { margin-top: 8px; font-size: 16px; line-height: 1.7; color: #53604e; }

/* Servicio: cuándo y antes de venir */
.svc-guide { padding: 90px var(--pad); }
.guide-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 22px; }
.guide-card { display: flex; flex-direction: column; padding: clamp(28px, 3.2vw, 48px); border-radius: 30px; }
.guide-card .medal { margin-bottom: 26px; }
.guide-card .eyebrow { margin-bottom: 18px; }
.guide-card h2 { margin-bottom: 26px; font-size: clamp(38px, 3.6vw, 56px); }
.guide-list { list-style: none; border-bottom: 1px solid #23352b1a; }
.guide-list li { display: flex; align-items: flex-start; gap: 14px; padding: 15px 0; border-top: 1px solid #23352b1a; font-size: 16px; line-height: 1.6; color: #34422e; }
.guide-list svg { flex: 0 0 18px; width: 18px; height: 18px; margin-top: 3px; color: #9b634b; }
.guide-note { margin-top: 24px; padding: 16px 18px; border: 1px solid #a4614330; border-radius: 16px; background: #ffffff8c; font-size: 14px; line-height: 1.6; color: #43513d; }
.hub-note { max-width: 560px; }

/* Tarjetas de servicio y de artículo */
.svc-related, .hub-group { padding: 95px var(--pad); }
.related-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(270px, 1fr)); gap: 20px; }
.related-foot { margin-top: 36px; }
.svc-card { display: flex; flex-direction: column; height: 100%; min-width: 0; border: 1px solid #ffffffc0; border-radius: 30px; background: linear-gradient(135deg, #ffffffbd, #ffffff5c); box-shadow: inset 1px 1px 0 #fff, 0 18px 40px -24px #23352b40; text-decoration: none; transition: transform 240ms var(--e-out), box-shadow 240ms var(--e-out); }
.svc-card-media { position: relative; display: block; margin: 10px 10px 0; aspect-ratio: 1.08; overflow: hidden; border-radius: 999px 999px 20px 20px; background: radial-gradient(ellipse at 50% 30%, #fbfaf6, #e6dfd3); }
.svc-card-media img { width: 100%; height: 100%; object-fit: cover; transition: transform 700ms var(--e-out); }
.svc-card-media.is-pet img { padding: 14% 10% 0; object-fit: contain; object-position: 50% 100%; }
.svc-card-body { display: flex; flex: 1; flex-direction: column; gap: 10px; padding: 22px 22px 20px; }
.svc-card-body small { font: 600 11px/1.4 var(--body); letter-spacing: .14em; text-transform: uppercase; color: #794b37; }
.svc-card-title { font: 400 clamp(30px, 2.5vw, 38px)/1 var(--disp); letter-spacing: -.035em; }
.svc-card-text { font-size: 15px; line-height: 1.65; color: #53604e; }
.card-go { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-top: auto; padding-top: 16px; border-top: 1px solid #23352b1a; font-size: 14px; font-weight: 600; }
.card-go .medal { flex-basis: 36px; width: 36px; height: 36px; transition: background 240ms var(--e-out), transform 240ms var(--e-out); }
a.svc-card:active { transform: scale(.98); }
@media (hover: hover) {
  a.svc-card:hover { transform: translateY(-4px); box-shadow: inset 1px 1px 0 #fff, 0 30px 50px -26px #23352b66; }
  a.svc-card:hover .svc-card-media img { transform: scale(1.05); }
  a.svc-card:hover .card-go .medal { background: #e2b398; transform: rotate(-8deg); }
}

/* Directorio */
.cat-section { padding: 95px var(--pad) 70px; }
.cat-tiles { display: grid; grid-template-columns: 1fr 1fr; gap: 22px; }
.cat-tile { position: relative; isolation: isolate; display: block; min-height: 640px; overflow: hidden; border-radius: 34px; color: #fff; text-decoration: none; box-shadow: 0 30px 60px -34px #23352b80; }
.cat-tile-media, .cat-tile-media img { position: absolute; inset: 0; width: 100%; height: 100%; }
.cat-tile-media img { object-fit: cover; transition: transform 1s var(--e-out); }
.cat-tile::after { content: ''; position: absolute; inset: 0; z-index: 0; background: linear-gradient(180deg, #16241c0d 0%, #16241c24 38%, #16241ce0 100%); }
.cat-tile-body { position: absolute; z-index: 1; right: 0; bottom: 0; left: 0; display: grid; gap: 16px; padding: clamp(26px, 3vw, 44px); }
.cat-tile-kicker { font: 600 12px/1 var(--body); letter-spacing: .16em; text-transform: uppercase; color: #f3eadf; }
.cat-tile-title { font: 400 clamp(46px, 4.4vw, 72px)/.95 var(--disp); letter-spacing: -.045em; color: #fff; }
.cat-tile-title em { display: block; color: #dcebd0; }
.cat-tile-list { max-width: 480px; font-size: 15px; line-height: 1.7; color: #f1f3ec; }
.cat-tile-go { justify-self: start; display: inline-flex; align-items: center; gap: 14px; padding: 7px 7px 7px 20px; border-radius: 999px; font-size: 15px; font-weight: 600; color: #23352b; }
@media (hover: hover) { .cat-tile:hover .cat-tile-media img { transform: scale(1.05); } }
.svc-index { padding: 95px var(--pad); }
.index-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; align-items: start; }
.index-col { padding: 26px 20px 22px; border-radius: 28px; }
.index-col .eyebrow { margin-bottom: 12px; }
.index-col h3 { margin-bottom: 18px; font-size: clamp(28px, 2.2vw, 34px); line-height: 1; }
.index-col .service-list { margin: 0; }
.home-visit-link { margin-top: 18px; }

/* Quiénes somos */
.manifesto { padding: clamp(90px, 10vw, 150px) var(--pad); background: #e9e2d6; text-align: center; }
.manifesto .eyebrow { justify-content: center; margin-bottom: 34px; }
.manifesto-text { max-width: 1080px; margin-inline: auto; font-size: clamp(40px, 4.8vw, 76px); line-height: 1.04; letter-spacing: -.04em; }
.manifesto-text em { color: #7c6450; }
.facts { display: grid; grid-template-columns: repeat(4, 1fr); max-width: 1100px; margin: clamp(56px, 6vw, 90px) auto 0; border-top: 1px solid #23352b24; }
.facts div { padding: 30px 16px 0; }
.facts div + div { border-left: 1px solid #23352b24; }
.facts dt { font: 400 clamp(56px, 5vw, 84px)/1 var(--disp); letter-spacing: -.04em; color: #23352b; }
.facts dd { margin: 10px 0 0; font-size: 14px; color: #5a6655; }
.pillars { padding: 95px var(--pad); }
.pillars-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 22px; }
.pillar { padding: clamp(28px, 3vw, 44px); border-radius: 30px; }
.pillar .medal { margin-bottom: 34px; }
.pillar small { display: block; margin-bottom: 10px; font: 600 12px/1 var(--body); letter-spacing: .14em; color: #794b37; }
.pillar h3 { font-size: clamp(32px, 2.8vw, 42px); line-height: 1; }
.pillar p { margin-top: 16px; font-size: 16px; line-height: 1.75; color: #53604e; }

/* Blog */
.blog-list { padding: 70px var(--pad) 100px; }
.chips { display: flex; flex-wrap: wrap; gap: 10px; margin-bottom: 46px; }
.chip { display: inline-flex; align-items: center; min-height: 44px; padding: 10px 20px; border: 1px solid #a4614338; border-radius: 999px; background: #ffffff80; box-shadow: inset 0 1px #fff; font-size: 14px; font-weight: 600; text-decoration: none; transition: background 120ms ease-out, border-color 120ms ease-out; }
.chip:hover { border-color: #a4614370; background: #fff; }
.chip[aria-current] { border-color: #7d4835; background: linear-gradient(135deg, #9b634b, #7d4835); box-shadow: inset 0 1px #f8decb70, 0 4px 12px #75452d24; color: #fff8f0; }
.post-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 22px; }
.post-card { min-width: 0; }
.post-card.is-featured { grid-column: span 2; }
.post-card.is-featured .svc-card { flex-direction: row; }
.post-card.is-featured .svc-card-media { flex: 0 0 50%; aspect-ratio: auto; min-height: 440px; margin: 10px; }
.post-card.is-featured .svc-card-body { justify-content: center; padding: 34px; }
.post-card.is-featured .svc-card-title { font-size: clamp(38px, 3.4vw, 54px); }
.post-meta { margin-top: auto; padding-top: 16px; border-top: 1px solid #23352b1a; font-size: 13px; color: #5a6655; }
.post-card.is-upcoming .svc-card { background: linear-gradient(135deg, #ffffff8c, #ffffff38); }
.soon { display: inline-block; margin-right: 8px; padding: 3px 10px; border-radius: 999px; background: #e9c3ae; color: #512b1e; font-size: 12px; font-weight: 600; }
.pagination .nav-links { display: flex; flex-wrap: wrap; justify-content: center; gap: 8px; margin-top: 50px; }
.pagination .page-numbers { display: inline-flex; align-items: center; min-width: 44px; min-height: 44px; justify-content: center; padding: 8px 16px; border: 1px solid #a4614338; border-radius: 999px; background: #ffffff80; font-size: 14px; font-weight: 600; text-decoration: none; }
.pagination .page-numbers.current { border-color: #7d4835; background: #7d4835; color: #fff8f0; }

/* Centro de respuestas: una biblioteca editorial, no una FAQ genérica. */
.knowledge { padding: clamp(86px, 9vw, 138px) var(--pad); background: #e9e2d6; }
.knowledge-grid { display: grid; grid-template-columns: minmax(300px, .82fr) minmax(0, 1.18fr); gap: clamp(48px, 7vw, 108px); align-items: start; }
.knowledge-intro { position: sticky; top: 116px; }
.knowledge-intro .eyebrow { margin-bottom: 24px; }
.knowledge-intro h2, .knowledge-close h2, .service-answers h2 { font-size: clamp(44px, 4.5vw, 70px); line-height: .98; letter-spacing: -.045em; }
.knowledge-intro h2 em, .knowledge-close h2 em, .service-answers h2 em { color: #7c6450; }
.knowledge-intro > p { max-width: 530px; margin-top: 28px; font-size: 18px; line-height: 1.75; color: #53604e; }
.knowledge-trust { display: grid; grid-template-columns: auto 1fr; gap: 15px; align-items: center; max-width: 500px; margin-top: 34px; padding-top: 28px; border-top: 1px solid #23352b20; }
.knowledge-trust .medal { width: 46px; height: 46px; }
.knowledge-trust strong, .knowledge-trust small { display: block; }
.knowledge-trust strong { font-size: 14px; font-weight: 600; }
.knowledge-trust small { margin-top: 4px; font-size: 12px; line-height: 1.5; color: #66705f; }
.knowledge-list { display: grid; gap: 12px; counter-reset: question; }
.knowledge-item, .service-answer { overflow: clip; border-radius: 24px; }
.knowledge-item::details-content, .service-answer::details-content { transition: block-size 260ms var(--e-out), content-visibility 260ms; transition-behavior: allow-discrete; }
.knowledge-item summary, .service-answer summary { cursor: pointer; list-style: none; }
.knowledge-item summary::-webkit-details-marker, .service-answer summary::-webkit-details-marker { display: none; }
.knowledge-item summary { display: grid; grid-template-columns: 42px minmax(0, 1fr) 34px; gap: 16px; align-items: center; min-height: 94px; padding: 20px 24px; }
.knowledge-number { align-self: start; padding-top: 6px; font-size: 11px; font-weight: 600; letter-spacing: .14em; color: #94634d; }
.knowledge-question { font: 400 clamp(23px, 2vw, 30px)/1.12 var(--disp); letter-spacing: -.025em; color: #23352b; }
.knowledge-toggle { position: relative; width: 32px; height: 32px; border: 1px solid #7d483542; border-radius: 50%; transition: transform 220ms var(--e-out), background 160ms ease-out; }
.knowledge-toggle::before, .knowledge-toggle::after { content: ''; position: absolute; top: 50%; left: 50%; width: 11px; height: 1px; background: #6d4636; transform: translate(-50%, -50%); }
.knowledge-toggle::after { transform: translate(-50%, -50%) rotate(90deg); transition: transform 200ms var(--e-out); }
details[open] > summary .knowledge-toggle { background: #f1d3bf; transform: rotate(180deg); }
details[open] > summary .knowledge-toggle::after { transform: translate(-50%, -50%) rotate(0); }
.knowledge-answer { padding: 0 74px 30px 82px; }
.knowledge-answer p { font-size: 16px; line-height: 1.75; color: #4e5a49; }
.knowledge-answer p + p { margin-top: 10px; }
.knowledge-answer .enlace-icono { display: inline-flex; margin-top: 18px; font-size: 14px; font-weight: 600; }
.knowledge-item summary:focus-visible, .service-answer summary:focus-visible { outline: 2px solid #9b634b; outline-offset: -4px; border-radius: inherit; }
.knowledge-close { display: grid; grid-template-columns: 1.05fr .8fr auto; gap: clamp(28px, 5vw, 76px); align-items: center; margin-top: clamp(64px, 8vw, 108px); padding: clamp(34px, 4vw, 58px); border-radius: 34px; background: #243a2e; box-shadow: 0 30px 70px -42px #132119a8; color: #f6f1e8; }
.knowledge-close .eyebrow { margin-bottom: 16px; color: #d7e4cf; }
.knowledge-close h2 { font-size: clamp(38px, 3.8vw, 58px); color: #fffaf2; }
.knowledge-close h2 em { color: #e7b99e; }
.knowledge-close > p { font-size: 16px; line-height: 1.7; color: #e2e8df; }
.knowledge-actions { display: grid; gap: 10px; justify-items: stretch; }
.knowledge-actions .action { justify-content: space-between; white-space: nowrap; }

/* Respuestas específicas dentro de cada servicio. */
.service-answers { padding: clamp(76px, 8vw, 118px) var(--pad); background: #f7f5ef; }
.service-answers-grid { display: grid; grid-template-columns: minmax(280px, .85fr) minmax(0, 1.15fr); gap: clamp(44px, 7vw, 100px); align-items: start; }
.service-answers header .eyebrow { margin-bottom: 22px; }
.service-answers header > p { max-width: 500px; margin-top: 24px; font-size: 17px; line-height: 1.72; color: #586452; }
.service-answers-list { display: grid; gap: 12px; }
.service-answer summary { display: grid; grid-template-columns: minmax(0, 1fr) 34px; gap: 18px; align-items: center; min-height: 86px; padding: 20px 22px 20px 26px; font: 400 clamp(22px, 1.8vw, 28px)/1.15 var(--disp); letter-spacing: -.02em; }
.service-answer > div { padding: 0 72px 26px 26px; }
.service-answer p { font-size: 16px; line-height: 1.75; color: #53604e; }

/* Artículo */
.article-hero .hero-copy { max-width: 1000px; }
.article-hero h1 { font-size: clamp(48px, 5vw, 84px); }
.article-meta { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 12px; margin-top: 26px; font-size: 15px; color: #53604e; }
.article-meta strong { font-weight: 600; color: #23352b; }
.article-cover { padding: 0 var(--pad); }
.article-cover img { width: 100%; aspect-ratio: 2; object-fit: cover; border-radius: 34px; box-shadow: 0 34px 70px -40px #23352b66; }
.article { padding: 64px var(--pad) 100px; }
.article-grid { display: grid; grid-template-columns: minmax(0, 720px) 320px; justify-content: space-between; gap: 60px; }
.article-aside { position: sticky; top: 120px; align-self: start; display: grid; gap: 18px; }
.author-card, .aside-cta { padding: 28px; border-radius: 28px; }
.author-card .medal { margin-bottom: 20px; }
.author-name { margin-top: 10px; font: 400 34px/1 var(--disp); letter-spacing: -.03em; }
.author-role { margin-top: 8px; font-size: 14px; color: #5a6655; }
.author-card a { display: inline-block; margin-top: 16px; font-size: 14px; font-weight: 600; }
.aside-cta p { margin-bottom: 18px; font: 400 28px/1.1 var(--disp); letter-spacing: -.02em; }

/* Texto editorial: artículos y documentos legales */
.prose { min-width: 0; font-size: 18px; line-height: 1.85; color: #34422e; }
.prose > * + * { margin-top: 1.1em; }
.prose .lead { font-size: 21px; line-height: 1.7; color: #23352b; }
.prose h2 { margin-top: 2.2em; font-size: clamp(34px, 3vw, 46px); line-height: 1.02; color: #23352b; scroll-margin-top: 120px; }
.prose h3 { margin-top: 1.8em; font-size: clamp(26px, 2.2vw, 32px); line-height: 1.1; }
.prose h2 + *, .prose h3 + * { margin-top: .7em; }
.prose ul, .prose ol { display: grid; gap: .55em; list-style: none; }
.prose ul li { position: relative; padding-left: 26px; }
.prose ul li::before { content: ''; position: absolute; top: .72em; left: 4px; width: 7px; height: 7px; border-radius: 50%; background: #ad745b; }
.prose ol { counter-reset: paso; }
.prose ol li { position: relative; padding-left: 36px; counter-increment: paso; }
.prose ol li::before { content: counter(paso, decimal-leading-zero); position: absolute; left: 0; font: 600 12px/2.6 var(--body); letter-spacing: .08em; color: #794b37; }
.prose strong { font-weight: 600; color: #23352b; }
.prose a { color: #23352b; text-decoration-color: #ad745b; text-underline-offset: 4px; }
.prose blockquote { padding: 6px 0 6px 28px; border-left: 1px solid #ad745b; font: italic 400 clamp(26px, 2.4vw, 34px)/1.3 var(--disp); color: #23352b; }
.prose img { border-radius: 24px; }
.prose figure figcaption { display: block; padding-top: 10px; font-size: 14px; color: #5a6655; }
.prose-solo { max-width: 760px; }

/* Documento legal */
.legal { padding: 20px var(--pad) 110px; }
.legal-grid { display: grid; grid-template-columns: 300px minmax(0, 760px); justify-content: space-between; gap: 70px; }
.toc { position: sticky; top: 120px; align-self: start; padding: 26px 18px 20px; border-radius: 28px; }
.toc .eyebrow { margin: 0 0 14px 10px; }
.toc ol { display: grid; gap: 2px; margin-bottom: 22px; list-style: none; }
.toc a { display: block; padding: 7px 10px; border-radius: 10px; font-size: 14px; line-height: 1.45; color: #34422e; text-decoration: none; transition: background 120ms ease-out; }
.toc a:hover { background: #ffffffa8; }
.toc .action { width: 100%; font-size: 14px; }

@media (max-width: 1100px) {
  .svc-about-grid { grid-template-columns: 1fr; }
  .svc-about-head { position: static; }
  .index-grid, .post-grid { grid-template-columns: 1fr 1fr; }
  .cat-tile { min-height: 560px; }
  .article-grid { grid-template-columns: 1fr; }
  .article-aside { position: static; grid-template-columns: 1fr 1fr; }
  .legal-grid { grid-template-columns: 1fr; gap: 36px; }
  .toc { position: static; }
}
@media (max-width: 800px) {
  .page-hero { padding-bottom: 24px; }
  .page-hero .hero-grid { grid-template-columns: 1fr; gap: 8px; min-height: 0; }
  .page-hero .hero-copy { padding: 0 0 12px; }
  .page-hero h1 { font-size: clamp(46px, 12vw, 70px); }
  .page-hero .hero-location { display: flex; }
  .page-hero .hero-scene { width: 100%; margin-top: 10px; }
  .svc-media { width: min(100%, 390px); padding: 18px 26px 36px 46px; }
  .svc-ring { inset: 0 8px 26px 70px; }
  .svc-tag { right: -6px; padding-right: 14px; font-size: 13px; }
  .svc-media.is-pet { width: min(100%, 380px); padding-bottom: 60px; }
  .related-head { grid-template-columns: 1fr; gap: 18px; margin-bottom: 30px; }
  .related-head > p { font-size: 17px; }
  .svc-about, .svc-guide, .svc-related, .hub-group, .svc-index, .pillars, .cat-section { padding: 60px 16px; }
  .svc-body { padding: 26px 20px; border-radius: 24px; }
  .svc-text p { font-size: 17px; }
  .steps li { grid-template-columns: 40px 1fr; gap: 8px; }
  .guide-grid, .cat-tiles, .pillars-grid, .index-grid, .post-grid, .related-grid { grid-template-columns: 1fr; }
  .guide-card { padding: 28px 22px; border-radius: 24px; }
  .cat-tile { min-height: 500px; border-radius: 28px; }
  .manifesto { padding: 80px 20px; }
  .facts { grid-template-columns: 1fr 1fr; }
  .facts div:nth-child(3) { border-left: 0; }
  .facts div:nth-child(n+3) { margin-top: 26px; border-top: 1px solid #23352b24; }
  .blog-list { padding: 40px 16px 70px; }
  .chips { flex-wrap: nowrap; margin: 0 -16px 34px; padding: 0 16px 6px; overflow-x: auto; scrollbar-width: none; }
  .chip { flex: 0 0 auto; }
  .post-card.is-featured { grid-column: auto; }
  .post-card.is-featured .svc-card { flex-direction: column; }
  .post-card.is-featured .svc-card-media { flex: none; min-height: 0; aspect-ratio: 1.08; margin: 10px 10px 0; }
  .post-card.is-featured .svc-card-body { padding: 22px; }
  .knowledge { padding: 72px 16px; }
  .knowledge-grid, .service-answers-grid { grid-template-columns: 1fr; gap: 34px; }
  .knowledge-intro { position: static; }
  .knowledge-intro > p { font-size: 17px; }
  .knowledge-item summary { grid-template-columns: 30px minmax(0, 1fr) 32px; gap: 10px; min-height: 84px; padding: 18px 16px; }
  .knowledge-answer { padding: 0 48px 24px 56px; }
  .knowledge-close { grid-template-columns: 1fr; gap: 24px; margin-top: 60px; padding: 30px 22px; border-radius: 28px; }
  .knowledge-actions { justify-items: start; }
  .knowledge-actions .action { width: 100%; }
  .service-answers { padding: 62px 16px; }
  .service-answer summary { min-height: 78px; padding: 18px; }
  .service-answer > div { padding: 0 50px 22px 18px; }
  .article-cover { padding: 0 16px; }
  .article-cover img { aspect-ratio: 4 / 3; border-radius: 24px; }
  .article { padding: 40px 16px 70px; }
  .article-aside { grid-template-columns: 1fr; }
  .prose { font-size: 17px; }
  .prose .lead { font-size: 19px; }
  .legal { padding: 10px 16px 70px; }
}
@media (prefers-reduced-motion: reduce) {
  .svc-arch, .svc-bubble, .svc-tag { animation: none; }
}

/* Relacionados con pocos servicios: encabezado y tarjetas lado a lado */
.svc-related.is-few .wrap { display: grid; grid-template-columns: .9fr 1.1fr; grid-template-rows: auto 1fr; column-gap: clamp(40px, 6vw, 90px); align-items: start; }
.svc-related.is-few .related-head { grid-template-columns: 1fr; margin-bottom: 0; }
.svc-related.is-few .related-grid { grid-column: 2; grid-row: 1 / 3; grid-template-columns: 1fr 1fr; }
.svc-related.is-few .related-foot { grid-column: 1; grid-row: 2; }
@media (max-width: 800px) {
  .svc-related.is-few .wrap { display: block; }
  .svc-related.is-few .related-head { margin-bottom: 30px; }
  .svc-related.is-few .related-grid { grid-template-columns: 1fr; }
}

/* Estados pendientes y legibilidad en móvil */
.page-hero .home-pending { opacity: .5; filter: saturate(.3); box-shadow: none; }
@media (max-width: 800px) {
  .cat-tile::after { background: linear-gradient(180deg, #16241c14 0%, #16241c8c 34%, #16241cf2 72%); }
  .article-meta { gap: 4px 16px; }
  .article-meta .separator { display: none; }
}

/* ==========================================================================
   Menú de servicios
   Escritorio: panel desplegable. Móvil: acordeón dentro del menú.
   Los selectores con .top ganan a los estilos generales de enlaces del menú.
   ========================================================================== */
.top .topnav.topnav, .nav-services { position: static; }
.nav-services { display: flex; }
.nav-trigger { display: inline-flex; align-items: center; gap: 8px; padding: 10px 14px 10px 16px; border: 1px solid transparent; border-radius: 99px; background: transparent; font-size: 15px; line-height: 1.75; transition: background var(--control-motion), border-color var(--control-motion); }
.nav-trigger svg { width: 15px; height: 15px; transition: transform 200ms var(--e-out); }
.nav-trigger[aria-expanded="true"] svg { transform: rotate(180deg); }
.nav-trigger:hover, .nav-trigger[aria-expanded="true"], .nav-trigger[aria-current] { border-color: #ffffffd9; background: #ffffffb8; box-shadow: inset 0 1px #fff, 0 3px 10px #23352b09; }

.mega { position: absolute; z-index: 5; top: calc(100% + 10px); right: 0; left: 0; display: grid; grid-template-columns: 280px 1fr; gap: 34px; max-height: calc(100vh - 130px); overflow-y: auto; padding: 30px; border: 1px solid #fff; border-radius: 30px; background: linear-gradient(135deg, #fbfaf6fa, #f2eee6f7); box-shadow: 0 34px 70px -30px #23352b66, 0 2px 8px #23352b14, inset 0 1px #fff; opacity: 0; visibility: hidden; transform: translateY(-8px); transition: opacity 200ms var(--e-out), transform 200ms var(--e-out), visibility 0s 200ms; }
.mega[data-open] { opacity: 1; visibility: visible; transform: none; transition: opacity 200ms var(--e-out), transform 200ms var(--e-out), visibility 0s; }
.mega::before { content: ''; position: absolute; top: -12px; right: 0; left: 0; height: 12px; }
.mega-intro { display: flex; flex-direction: column; gap: 14px; padding: 4px 30px 4px 4px; border-right: 1px solid #23352b17; }
.mega-intro .eyebrow { margin: 0; }
.mega-title { font: 400 34px/1 var(--disp); letter-spacing: -.035em; color: #23352b; }
.mega-title em { color: #657554; }
.mega-text { font-size: 14px; line-height: 1.6; color: #53604e; }
.top .mega a.mega-visit { display: flex; align-items: center; gap: 12px; margin-top: auto; padding: 12px 14px; border: 0; border-radius: 18px; background: #26382e; color: #f7f5ef; font-size: 14px; line-height: 1.3; }
.top .mega a.mega-visit small { display: block; font-size: 10px; letter-spacing: .14em; text-transform: uppercase; color: #b9d8a8; }
.top .mega a.mega-visit .medal { flex-basis: 34px; width: 34px; height: 34px; }
.top .mega a.mega-all { display: flex; align-items: center; justify-content: space-between; gap: 10px; padding: 12px 6px 4px; border: 0; border-top: 1px solid #23352b17; border-radius: 0; font-size: 14px; font-weight: 600; }
.top .mega a.mega-all svg { width: 18px; height: 18px; transition: transform 200ms var(--e-out); }
.top .mega a.mega-all:hover { background: none; box-shadow: none; }
.top .mega a.mega-all:hover svg { transform: translateX(4px); }
.mega-groups { display: grid; grid-template-columns: repeat(auto-fit, minmax(190px, 1fr)); gap: 22px 24px; align-content: start; }
.top .mega a.mega-group-link { display: block; margin: 0 0 12px; padding: 0; border: 0; border-radius: 0; }
.top .mega a.mega-group-link:hover { background: none; box-shadow: none; }
.mega-kicker { display: block; font: 600 11px/1.4 var(--body); letter-spacing: .14em; text-transform: uppercase; color: #794b37; }
.mega-group-title { display: block; margin-top: 6px; font: 400 25px/1.05 var(--disp); letter-spacing: -.03em; color: #23352b; transition: color 120ms ease-out; }
.top .mega a.mega-group-link:hover .mega-group-title { color: #657554; }
.mega-list { display: grid; gap: 2px; list-style: none; }
.top .mega .mega-list a { display: flex; align-items: center; gap: 10px; margin-left: -7px; padding: 6px 10px 6px 6px; border: 1px solid transparent; border-radius: 14px; font-size: 14px; line-height: 1.3; color: #34422e; transition: background 120ms ease-out, border-color 120ms ease-out; }
.top .mega .mega-list a:hover, .top .mega .mega-list a:focus-visible, .top .mega .mega-list a[aria-current] { border-color: #ffffff; background: #ffffffd9; box-shadow: inset 0 1px #fff, 0 3px 10px #23352b0d; color: #23352b; }
.mega-list .medal { flex: 0 0 28px; width: 28px; height: 28px; transition: background 120ms ease-out; }
.mega-list .medal svg { width: 15px; height: 15px; }
.top .mega .mega-list a:hover .medal, .top .mega .mega-list a[aria-current] .medal { background: #e2b398; }

.top .mobile-nav { max-height: calc(100dvh - 100px); overflow-y: auto; overscroll-behavior: contain; }
.m-trigger { display: flex; align-items: center; gap: 16px; width: 100%; padding: 16px 0; border: 0; border-bottom: 1px solid #23352b20; background: none; font: 30px/1.3 var(--disp); text-align: left; }
.m-trigger small { font: 11px var(--body); opacity: .65; }
.m-trigger svg { width: 20px; height: 20px; margin-left: auto; transition: transform 200ms var(--e-out); }
.m-trigger[aria-expanded="true"] svg { transform: rotate(180deg); }
.m-panel { padding: 4px 0 16px; border-bottom: 1px solid #23352b20; }
.top .mobile-nav p.m-group { margin: 16px 0 4px; font: 600 11px/1.4 var(--body); letter-spacing: .14em; text-transform: uppercase; color: #794b37; }
.top .mobile-nav .m-panel a { display: flex; align-items: center; gap: 12px; padding: 8px 0; border: 0; font: 500 16px/1.4 var(--body); }
.top .mobile-nav .m-panel a span { margin-left: 0; }
.top .mobile-nav .m-panel a[aria-current] { font-weight: 600; }
.top .mobile-nav .m-panel .medal { flex-basis: 30px; width: 30px; height: 30px; }
.top .mobile-nav .m-panel a.m-all { margin-top: 12px; font-weight: 600; text-decoration: underline; text-underline-offset: 5px; }

@media (max-width: 1100px) and (min-width: 801px) {
  .nav-trigger { padding-inline: 10px; }
  .mega { grid-template-columns: 1fr; gap: 20px; padding: 24px; }
  .mega-intro { flex-direction: row; flex-wrap: wrap; align-items: center; padding: 0 0 18px; border-right: 0; border-bottom: 1px solid #23352b17; }
  .mega-title, .mega-text { display: none; }
  .top .mega a.mega-visit { margin-top: 0; }
  .top .mega a.mega-all { margin-left: auto; padding: 0; border-top: 0; }
}
@media (prefers-reduced-motion: reduce) { .mega, .mega[data-open] { transform: none; } }

/* ==========================================================================
   Medallones y filas de servicios en cristal terracota, como los botones
   ========================================================================== */
.medal, .care-nav.care-nav a > span:last-child, body .service-list.service-list a > span:last-child, body .forest .service-list.service-list a > span:last-child, .hero-card.hero-card .card-arrow {
  border: 1px solid #ad72577d;
  background: linear-gradient(125deg, #f6d7c5, #dba68a 55%, #e4b69b);
  box-shadow: inset 0 1.5px 1px #fff3eacc, inset 0 -1.5px 2px #995a3940, 0 3px 8px #75452d1f;
  color: #512b1e;
}
body .service-list.service-list a > span:last-child { flex-basis: 32px; width: 32px; height: 32px; }
body .service-list.service-list a > span:last-child svg { width: 17px; height: 17px; stroke-width: 1.7; }
.medal svg, .care-nav.care-nav a > span:last-child svg { stroke-width: 1.7; }
body .service-list.service-list a { border-color: #ad725740; background: linear-gradient(135deg, #fff8f2eb, #f3ddcdb8); box-shadow: inset 0 1px #fffaf5, 0 4px 14px #75452d0f; color: #3d2a20; }
@media (hover: hover) {
  body .service-list.service-list a:hover { border-color: #ad725780; background: linear-gradient(135deg, #fff1e6, #eecbb4e6); box-shadow: inset 0 1px #fff, 0 8px 20px #75452d1f; }
  body .service-list.service-list a:hover > span:last-child, .top .mega .mega-list a:hover .medal, a.svc-card:hover .card-go .medal, .care-nav.care-nav a:hover > span:last-child { background: linear-gradient(125deg, #ffe4d1, #dfad91 55%, #eac6ae); }
}
.top .mega .mega-list a[aria-current] .medal { background: linear-gradient(125deg, #ffe4d1, #dfad91 55%, #eac6ae); }
body .forest .service-list.service-list a { border-color: #ffffff25; background: #ffffff09; box-shadow: inset 0 1px #ffffff17; color: inherit; }
@media (hover: hover) { body .forest .service-list.service-list a:hover { border-color: #ffffff60; background: #ffffff16; } }
.nav-trigger { color: var(--bosque-p); }
.top .mobile-nav .m-panel a span.medal { margin-left: 0; }

/* ==========================================================================
   Escenas de scroll por cuadros: capítulos de Clínica y Estética, y A domicilio.
   El bloque queda fijo en pantalla mientras el scroll avanza los cuadros (inc/escenas.php).
   ========================================================================== */
.hub-group.has-scrub { padding-top: 0; }
.scrub { position: relative; height: 320vh; background: inherit; }
.scrub-sticky { position: sticky; top: 0; height: 100vh; height: 100svh; padding-top: 84px; display: grid; align-items: center; overflow: hidden; background: inherit; }
.scrub .care-grid { width: 100%; }
.scrub.is-flip .scrub-scene { order: -1; }
.scrub-scene { position: relative; min-width: 0; margin: 0; }
.scrub-caption { display: flex; justify-content: space-between; align-items: center; margin-top: 14px; padding-top: 16px; border-top: 1px solid #23352b25; font-size: 13px; letter-spacing: .015em; }
.scrub-caption span { font-size: 22px; }
.scrub-after { display: none; }

.scrub-stage { position: relative; aspect-ratio: 16 / 10; overflow: hidden; }
.scrub-plate { position: absolute; top: 0; left: 0; width: 100%; height: 100%; }
.scrub-plate > img, .scrub-plate > canvas, .scrub-xray { position: absolute; inset: 0; width: 100%; height: 100%; }
.scrub-poster, .scrub-stage canvas { mix-blend-mode: multiply; }
.scrub-stage canvas { opacity: 0; }
.scrub-stage.is-ready canvas { opacity: 1; }
.scrub-stage.is-ready .scrub-poster { opacity: 0; }
.scrub-stage.is-tarjeta { border-radius: 24px; background: #fff; box-shadow: 0 16px 45px #23352b0f; }
.scrub-stage:is(.is-tarjeta, .is-arco) :is(.scrub-poster, canvas) { mix-blend-mode: normal; }
.scrub-stage.is-arco { aspect-ratio: 4 / 5; width: min(100%, 58svh); margin-inline: auto; border-radius: 50% 50% 18px 18px / 40% 40% 18px 18px; background: var(--crema); }
.scrub-stage.is-arco .scrub-plate { width: 222.2%; left: -45.5%; }

/* Radiografía: se revela detrás de la línea de luz */
.scrub-xray { clip-path: inset(0 calc(100% - var(--sweep, 0) * 100%) 0 0); }
.scrub-xray-body { position: absolute; inset: 0; -webkit-mask: url(../media/escenas/diagnostico/rayos-x.webp) 0 0 / 100% 100% no-repeat; mask: url(../media/escenas/diagnostico/rayos-x.webp) 0 0 / 100% 100% no-repeat; }
.scrub-xray-body img { width: 100%; height: 100%; }
.scrub-xray-body::after { content: ''; position: absolute; inset: 0; background: linear-gradient(90deg, transparent calc(var(--sweep, 0) * 100% - 16%), #d8ecd566 calc(var(--sweep, 0) * 100% - 1%), transparent calc(var(--sweep, 0) * 100%)); }
.scrub-scan { position: absolute; top: 0; bottom: 0; left: calc(var(--sweep, 0) * 100%); width: 2px; margin-left: -1px; background: linear-gradient(to bottom, transparent, #fff 18%, #fff 82%, transparent); box-shadow: 0 0 12px 2px #c9e2c8cc, 0 0 34px 4px #b9d6b833; opacity: 0; transition: opacity 200ms linear; }
.scrub.is-scanning .scrub-scan { opacity: 1; }

/* Filas y beneficios que se encienden con el avance: mismo estado que el hover */
body .scrub .service-list.service-list li.is-on a { border-color: #ad725780; background: linear-gradient(135deg, #fff1e6, #eecbb4e6); box-shadow: inset 0 1px #fff, 0 8px 20px #75452d1f; }
body .scrub .service-list.service-list li.is-on a > span:last-child { transform: rotate(8deg); background: linear-gradient(125deg, #ffe4d1, #dfad91 55%, #eac6ae); }
/* A domicilio: el bloque fijo ocupa todo el ancho y lleva el degradado y el grano de la sección,
   medidos contra la pantalla; así no se ve una caja más oscura dentro de otra. */
body.muva .home-visit.visit-scrub { padding: 0; background: #20352a; }
body.muva .visit-scrub::before { display: none; }
.visit-scrub .scrub-sticky { padding-inline: var(--pad); background: radial-gradient(ellipse at 79% 48%, #496b57 0, #2e4739 31%, #20352a 69%); }
.visit-scrub .scrub-sticky::before { content: ''; position: absolute; inset: 0; pointer-events: none; opacity: .28; background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 160 160' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.45'/%3E%3C/svg%3E"); }
.visit-scrub .scrub-stage.is-arco { width: min(100%, 62svh); box-shadow: 0 40px 80px -40px #07140d99; }
.visit-scrub .scrub-after { padding-inline: var(--pad); }
.visit-scrub .scrub-desk .visit-benefits li { opacity: .45; transition: opacity var(--control-motion); }
.visit-scrub .scrub-desk .visit-benefits li.is-on { opacity: 1; }

/* Pantallas de escritorio bajas: el panel entra completo en el bloque fijo */
@media (min-width: 801px) and (max-height: 1000px) {
  body.muva .scrub .care-copy { padding: 24px 30px; }
  body.muva .scrub .care-copy .eyebrow { margin-bottom: 14px; }
  body.muva .scrub .care-copy h2 { font-size: clamp(40px, 3.5vw, 54px); }
  body.muva .scrub .care-body { margin-top: 12px; font-size: 16px; line-height: 1.6; }
  body.muva .scrub .service-list.service-list { margin: 14px 0; gap: 6px; }
  body.muva .scrub .service-list.service-list a { min-height: 44px; padding-block: 5px; }
  body.muva .visit-scrub .home-visit-copy h2 { font-size: clamp(48px, 4.8vw, 72px); }
  body.muva .visit-scrub .visit-benefits { margin: 22px 0 0; }
}

@media (max-width: 800px) {
  /* Sin fijar: una escena fija de pantalla completa dejaba un hueco vacío bajo la imagen. */
  .scrub { height: auto; }
  .scrub-sticky { position: relative; height: auto; padding-top: 28px; display: block; }
  body.muva .scrub .care-grid, body.muva .visit-scrub .home-visit-grid { grid-template-columns: 1fr; gap: 16px; }
  .scrub.is-flip .scrub-scene { order: 0; }
  .scrub-desk { display: none; }
  .scrub-after { display: block; padding-bottom: 36px; }
  body.muva .scrub-after .care-body { margin-top: 0; }
  .scrub-after .action { margin-top: 22px; }
  .scrub-stage:not(.is-arco) { aspect-ratio: 5 / 4; }
  .scrub-stage:not(.is-arco) .scrub-plate { width: 128%; left: -14%; }
  .scrub-stage.is-arco { width: min(100%, 42svh); }
  body.muva .scrub .care-copy { padding: 20px 22px; border-radius: 24px; }
  body.muva .scrub .care-copy .eyebrow { margin-bottom: 12px; font-size: 12px; letter-spacing: .14em; }
  body.muva .scrub .care-copy h2 { font-size: clamp(36px, 9vw, 52px); }
  body.muva .visit-scrub .home-visit-copy h2 { font-size: clamp(42px, 10vw, 64px); }
  .visit-scrub .scrub-sticky, .visit-scrub .scrub-after { padding-inline: 16px; }
  .visit-scrub .scrub-stage.is-arco { width: min(100%, 42svh); }
  .visit-scrub .scrub-after .visit-benefits { margin-top: 0; }
}

/* Página de servicio: "El servicio" queda fijo junto a la escena y los momentos se encienden */
.svc-about.has-scrub { padding-top: 0; }
.svc-scrub-grid { display: grid; grid-template-columns: .9fr 1.1fr; gap: clamp(30px, 5vw, 80px); align-items: center; }
.svc-scrub-grid .eyebrow { margin-bottom: 22px; }
.svc-scrub-grid h2 { font-size: clamp(44px, 4.4vw, 68px); }
.svc-scrub-grid h2 em { color: #657554; }
.svc-scrub-grid .steps { margin-top: 26px; }
.scrub-desk .steps li { opacity: .42; transition: opacity var(--control-motion); }
.scrub-desk .steps li.is-on { opacity: 1; }
.svc-about.has-scrub .svc-about-grid { margin-top: 20px; }
.scrub-solo-movil { display: none; }
@media (min-width: 801px) and (max-height: 1000px) {
  .svc-scrub-grid .svc-body { padding: 26px 34px; }
  .svc-scrub-grid .eyebrow { margin-bottom: 14px; }
  .svc-scrub-grid h2 { font-size: clamp(38px, 3.4vw, 52px); }
  .svc-scrub-grid .steps { margin-top: 16px; }
  .svc-scrub-grid .steps li { padding: 15px 0; }
  .svc-scrub-grid .steps h3 { font-size: clamp(24px, 2vw, 30px); }
  .svc-scrub-grid .steps p { margin-top: 4px; font-size: 15px; line-height: 1.6; }
}
@media (max-width: 800px) {
  .svc-scrub-grid { grid-template-columns: 1fr; gap: 16px; }
  .svc-scrub-grid .svc-body { padding: 20px 22px; border-radius: 24px; }
  .svc-scrub-grid .eyebrow { margin-bottom: 12px; }
  .svc-scrub-grid h2 { font-size: clamp(36px, 9vw, 52px); }
  .scrub-solo-movil { display: block; }
  .svc-about.has-scrub .svc-about-grid { margin-top: 0; }
  /* Sujetos muy horizontales: en móvil se muestra el cuadro completo, sin recortar a 5:4 */
  .scrub-stage.is-ancho { aspect-ratio: 16 / 10; }
  .scrub-stage.is-ancho .scrub-plate { width: 100%; left: 0; }
}

/* El home usa #bienestar para su sección editorial (fondo blanco, sin márgenes);
   el capítulo del hub de Estética recupera su fondo salvia y sus márgenes. */
body.muva .hub-group#bienestar { padding: 0 var(--pad) 95px; background: #e7ebdf; }
@media (max-width: 800px) { body.muva .hub-group#bienestar { padding: 0 16px 60px; } }

/* ==========================================================================
   Acento en bloques de información: panel más sólido, filete y marcas en terracota,
   el mismo tono de medallones y botones, para que el bloque no se pierda en el fondo.
   ========================================================================== */
body.muva :is(.svc-body, .guide-card, .scrub .care-copy) {
  border: 1px solid #ad725738;
  background: linear-gradient(135deg, #fffdf8f2, #fbf5ede6);
  box-shadow: inset 0 1px 0 #fff, 0 22px 48px -24px #75452d38;
}
body.muva :is(.svc-body, .guide-card, .scrub .care-copy) .eyebrow { color: #8a5238; }
body.muva :is(.svc-body, .guide-card, .scrub .care-copy) .eyebrow::before { background: #ad745b; opacity: 1; }
body.muva .steps { border-bottom-color: #ad725730; }
body.muva .steps li { position: relative; align-items: start; border-top-color: #ad725730; }
body.muva .steps small {
  display: grid; place-items: center; width: 40px; height: 40px; padding: 0;
  border: 1px solid #ad72577d; border-radius: 50%;
  background: linear-gradient(125deg, #f6d7c5, #dba68a 55%, #e4b69b);
  box-shadow: inset 0 1.5px 1px #fff3eacc, inset 0 -1.5px 2px #995a3940, 0 3px 8px #75452d1f;
  color: #512b1e; font-size: 12px; letter-spacing: .04em;
}
body.muva .steps h3 { color: #23352b; }
body.muva .scrub-desk .steps li::before { content: ''; position: absolute; top: 18px; bottom: 18px; left: -16px; width: 2px; border-radius: 2px; background: #ad745b; opacity: 0; transition: opacity var(--control-motion); }
body.muva .scrub-desk .steps li.is-on::before { opacity: 1; }
body.muva :is(.guide-note, .care-note) { border-left: 3px solid #ad745b; }
body.muva .care-note { padding-left: 12px; }
@media (min-width: 801px) and (max-height: 1000px) { body.muva .svc-scrub-grid .steps li::before { top: 12px; bottom: 12px; } }
@media (max-width: 800px) { body.muva .steps small { width: 34px; height: 34px; font-size: 11px; } }

/* Sin movimiento: la escena queda en su último cuadro, en flujo normal */
.scrub.is-still { height: auto; }
.scrub.is-still .scrub-sticky { position: relative; height: auto; padding-block: 40px; }
.scrub.is-still .scrub-scan { opacity: 1; }

/* Tipografías alojadas en el tema (subconjunto latin de Google Fonts, incluye tildes y ñ) */
@font-face { font-family: 'Cormorant Garamond'; font-style: normal; font-weight: 400 500; font-display: swap; src: url(../fonts/cormorant-garamond-normal-400-500.woff2) format('woff2'); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face { font-family: 'Cormorant Garamond'; font-style: italic; font-weight: 400 500; font-display: swap; src: url(../fonts/cormorant-garamond-italic-400-500.woff2) format('woff2'); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face { font-family: 'Manrope'; font-style: normal; font-weight: 400 600; font-display: swap; src: url(../fonts/manrope-normal-400-600.woff2) format('woff2'); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }

/* ==========================================================================
   Íconos del sistema en lugar de flechas de texto: menú móvil y pie
   ========================================================================== */
.top .mobile-nav > a .medal { display: grid; place-items: center; flex: 0 0 34px; width: 34px; height: 34px; margin-left: auto; border-radius: 50%; }
.top .mobile-nav > a .medal svg { width: 16px; height: 16px; }
.footer a .topic-icon { display: inline-block; flex: 0 0 auto; width: 14px; height: 14px; margin-left: 6px; vertical-align: -2px; transform: rotate(-45deg); }
.footer .footer-bottom a .topic-icon { transform: rotate(-90deg); }
@media (max-width: 440px) {
  body.muva .tools .cta-full { display: none; }
  body.muva .tools .cta-short { display: inline; }
}

/* ==========================================================================
   Agendar: selector de sede o domicilio (template-parts/agendar.php)
   Mismo lenguaje de los paneles de información: marfil sólido, filete y medallones terracota.
   ========================================================================== */
html:has(.agendar[open]) { overflow: hidden; }
.agendar { width: min(100% - 32px, 500px); max-width: none; max-height: none; margin: auto; padding: 0; border: 0; background: transparent; color: var(--bosque-p); overflow: visible; }
.agendar::backdrop { background: #16241c73; -webkit-backdrop-filter: blur(6px); backdrop-filter: blur(6px); }
.agendar-panel { position: relative; padding: 34px 32px 26px; border: 1px solid #ad725738; border-radius: 30px; background: linear-gradient(135deg, #fffdf8, #f7f1e8); box-shadow: inset 0 1px 0 #fff, 0 40px 90px -30px #16241c80; }
.agendar[open] .agendar-panel { animation: agendar-entra 260ms var(--e-out); }
@keyframes agendar-entra { from { opacity: 0; transform: translateY(14px) scale(.98); } }
.agendar .eyebrow { margin-bottom: 16px; color: #8a5238; }
.agendar .eyebrow::before { background: #ad745b; opacity: 1; }
.agendar h2 { padding-right: 44px; font-size: clamp(38px, 5vw, 50px); }
.agendar h2 em { color: #657554; }
.agendar-servicio { margin-top: 12px; font-size: 14px; line-height: 1.5; color: #53604e; }
.agendar-opciones { display: grid; gap: 10px; margin-top: 24px; }
.agendar-opcion { display: grid; grid-template-columns: 44px 1fr auto; align-items: center; gap: 14px; min-height: 78px; padding: 14px 14px 14px 16px; border: 1px solid #ad725740; border-radius: 20px; background: linear-gradient(135deg, #fff8f2eb, #f3ddcdb8); box-shadow: inset 0 1px #fffaf5, 0 4px 14px #75452d0f; color: #3d2a20; text-decoration: none; transition: background var(--control-motion), border-color var(--control-motion), transform var(--control-motion); }
.agendar-opcion .medal { display: grid; place-items: center; width: 44px; height: 44px; border-radius: 50%; }
.agendar-opcion .medal svg { width: 20px; height: 20px; }
.agendar-texto strong { display: block; font: 400 28px/1.05 var(--disp); letter-spacing: -.02em; color: #23352b; }
.agendar-texto small { display: block; margin-top: 4px; font-size: 13px; line-height: 1.4; color: #6a5a4e; }
.agendar-ir { display: grid; place-items: center; width: 42px; height: 42px; border: 1px solid #168847; border-radius: 50%; background: linear-gradient(135deg, #58e88b, #25d366 70%); box-shadow: inset 0 2px 2px #ffffffa0, inset 0 -2px 3px #11964640; color: #092e1a; }
.agendar-ir svg { width: 20px; height: 20px; }
.agendar-tag { padding: 7px 10px; border: 1px solid #ad725740; border-radius: 99px; background: #ffffffb0; font: 600 10.5px/1 var(--body); letter-spacing: .08em; text-transform: uppercase; color: #8a5238; white-space: nowrap; }
.agendar-opcion.is-pronto { background: #ffffff85; box-shadow: inset 0 1px #fff; }
.agendar-opcion.is-pronto .agendar-texto strong { color: #53604e; }
@media (hover: hover) {
  .agendar-opcion:hover { border-color: #ad725780; background: linear-gradient(135deg, #fff1e6, #eecbb4e6); transform: translateY(-2px); }
  .agendar-opcion.is-pronto:hover { background: #fff; }
}
.agendar-opcion:focus-visible, .agendar-cerrar:focus-visible { outline: 2px solid #23352b; outline-offset: 3px; }
.agendar-nota { margin-top: 16px; font-size: 13px; line-height: 1.5; color: #53604e; }
.agendar-cerrar { position: absolute; top: 18px; right: 18px; display: grid; place-items: center; width: 40px; height: 40px; border: 1px solid #ad725740; border-radius: 50%; background: #ffffffb0; color: #3d2a20; }
.agendar-cerrar svg { width: 18px; height: 18px; }
/* Llamado a agendar dentro de "El servicio" */
.svc-cta { margin-top: 26px; }
@media (min-width: 801px) and (max-height: 1000px) { .svc-scrub-grid .svc-cta { margin-top: 16px; } }
@media (max-width: 800px) {
  .agendar { width: 100%; margin: auto 0 0; }
  .agendar-panel { padding: 28px 20px calc(22px + env(safe-area-inset-bottom)); border-radius: 28px 28px 0 0; }
  .agendar[open] .agendar-panel { animation-name: agendar-sube; }
  .agendar-texto strong { font-size: 25px; }
}
@keyframes agendar-sube { from { opacity: 0; transform: translateY(40px); } }
@media (prefers-reduced-motion: reduce) { .agendar[open] .agendar-panel { animation: none; } }

/* Flechas de enlaces de texto con el ícono del sistema */
.enlace-icono .topic-icon, .nav-links .topic-icon { display: inline-block; width: 15px; height: 15px; vertical-align: -3px; }
.enlace-icono .topic-icon { margin-left: 6px; }
.nav-links .icono-atras { display: inline-block; transform: rotate(180deg); }

/* Equipo · tarjetas tipo historia (retratos 0.65 con nombre y cargo sobre la foto) */
.team .portraits.is-stories { grid-template-columns: repeat(4, 1fr); gap: 20px; }
.team .story { margin: 0; }
.team .story-media { position: relative; aspect-ratio: .65; border-radius: 22px; overflow: hidden; background: #e9e3d8; box-shadow: 0 24px 50px -30px #2b221a73; }
.team .story .story-media img { position: absolute; inset: 0; width: 100%; height: 100%; aspect-ratio: auto; border-radius: 0; object-fit: cover; transform: scale(1.001); transition: transform .9s var(--e-out); }
.team .story:hover .story-media img { transform: scale(1.04); }
.team .story-media::after { content: ""; position: absolute; inset: 45% 0 0; background: linear-gradient(to top, #1d1a16d9, #1d1a1666 45%, transparent); pointer-events: none; }
.team .story-kicker { position: absolute; top: 16px; left: 50%; z-index: 1; transform: translateX(-50%); padding: 7px 14px; border-radius: 999px; font-size: 12px; white-space: nowrap; }
.team .story-caption { position: absolute; left: 0; right: 0; bottom: 22px; z-index: 1; display: grid; justify-items: center; gap: 10px; padding: 0 14px; text-align: center; }
.team .story .story-caption h3 { margin: 0; color: #fff; font: 500 clamp(24px, 2.1vw, 31px)/1.05 var(--disp); letter-spacing: -.01em; }
.team .story .story-caption .role { margin: 0; padding: 5px 12px 4px; color: #fff; font: 500 13px/1.2 var(--disp); letter-spacing: .12em; text-transform: uppercase; }
.team .tone-terra .role { background: var(--terra); }
.team .tone-salvia .role { background: var(--salvia-p); }
.team .story-bio { margin-top: 16px; color: #596154; line-height: 1.7; }

@media (max-width: 800px) {
  .team .portraits.is-stories { display: flex; gap: 14px; margin-inline: calc(var(--pad) * -1); padding: 4px var(--pad) 18px; overflow-x: auto; scroll-snap-type: x mandatory; scroll-padding-inline: var(--pad); scrollbar-width: none; }
  .team .portraits.is-stories::-webkit-scrollbar { display: none; }
  .team .portraits.is-stories .story { flex: 0 0 min(72%, 300px); scroll-snap-align: start; }
}

/* Página «Muy pronto» (inc/mantenimiento.php): la espera con el lenguaje del hero */
.espera { display: grid; min-height: 100vh; min-height: 100svh; padding: 56px var(--pad); place-items: center; }
.espera-inner { display: grid; justify-items: center; max-width: 760px; text-align: center; }
.espera .espera-logo { width: clamp(150px, 20vw, 210px); height: auto; margin-bottom: 44px; }
.espera .eyebrow { margin-bottom: 26px; color: #53604e; }
.espera h1 { color: var(--bosque-p); font-size: clamp(54px, 7vw, 96px); }
.espera .hero-description { margin-inline: auto; }
.espera .hero-actions { justify-content: center; margin-top: 34px; }
.espera-data { display: flex; flex-wrap: wrap; justify-content: center; gap: 22px 64px; margin-top: 52px; padding-top: 30px; border-top: 1px solid #23352b1f; color: #53604e; font-size: 15px; line-height: 1.8; }
.espera-data .lab { display: block; margin-bottom: 6px; color: #23352b; font-size: 12px; }
.espera-data a { color: #23352b; text-underline-offset: 4px; }
@media (max-width: 560px) {
  .espera { padding-block: 40px; }
  .espera .espera-logo { margin-bottom: 34px; }
  .espera .eyebrow { font-size: 11px; }
  .espera-data { flex-direction: column; gap: 20px; margin-top: 40px; }
}

/* ── Portada 2.6: capítulos Servicios · Nosotros · Bienestar · Espacios ── */
.home-chapter { scroll-margin-top: 90px; }
.team.home-chapter .team-facts { margin: 0 0 44px; max-width: none; }
.team-more { display: flex; justify-content: center; margin-top: 40px; }
.experience-heading.has-pet { grid-template-columns: minmax(0, 1.1fr) minmax(0, .9fr); align-items: center; }
.experience-lead { max-width: 460px; margin-top: 24px; color: #53604e; font-size: 17px; line-height: 1.75; }
.experience-pet { justify-self: end; width: min(100%, 460px); }
.experience-pet .pet-film { margin: 0; }
@media (max-width: 800px) {
  .team.home-chapter .team-facts { grid-template-columns: repeat(2, 1fr); margin-bottom: 30px; }
  .team.home-chapter .team-facts div:nth-child(3) { border-left: 0; }
  .experience-heading.has-pet { grid-template-columns: 1fr; }
  .experience-pet { justify-self: center; width: min(100%, 340px); }
}

/* Preguntas: buscador */
.faq-search { position: relative; margin-top: 28px; }
.faq-search-field { display: flex; align-items: center; gap: 10px; padding: 0 18px; border: 1px solid #23352b26; border-radius: 999px; background: #fffdf8; box-shadow: 0 10px 30px -22px #23352b66; transition: border-color 150ms ease-out, box-shadow 150ms ease-out; }
.faq-search-field:focus-within { border-color: #7d4835; box-shadow: 0 0 0 3px #e9c3ae80; }
.faq-search-icon { display: grid; color: #7d4835; }
.faq-search-icon svg { width: 18px; height: 18px; }
.faq-search input { flex: 1; min-width: 0; min-height: 50px; border: 0; background: none; color: #23352b; font: 400 16px var(--body); outline: 0; }
.faq-search input::placeholder { color: #7a8274; }
.faq-results { display: grid; gap: 2px; max-height: 360px; margin-top: 10px; padding: 6px; overflow: auto; border-radius: 22px; background: #fffdf8; box-shadow: 0 20px 44px -30px #23352b80; list-style: none; }
.faq-results a { display: grid; gap: 2px; padding: 10px 14px; border-radius: 14px; text-decoration: none; }
.faq-results a:hover, .faq-results a:focus-visible { background: #f3e4d8; }
.faq-results span { font-size: 15px; line-height: 1.4; color: #23352b; }
.faq-results small { font-size: 12px; color: #7d4835; }
.faq-search [hidden], .faq-index [hidden] { display: none !important; }
.faq-empty { margin-top: 12px; font-size: 14px; color: #53604e; }
.faq-note { margin-top: 26px; font-size: 13px; line-height: 1.6; color: #6a7264; }

/* Preguntas del blog, más compactas */
.knowledge.is-compact { padding-block: clamp(64px, 7vw, 100px); }
.knowledge.is-compact .knowledge-intro h2 { font-size: clamp(36px, 3.4vw, 52px); }
.knowledge.is-compact .knowledge-intro > p { font-size: 16px; }
.knowledge.is-compact .knowledge-intro > .enlace-icono { display: inline-flex; margin-top: 18px; font-size: 14px; font-weight: 600; }
.knowledge.is-compact .knowledge-list { gap: 8px; }
.knowledge.is-compact .knowledge-item summary { grid-template-columns: 34px minmax(0, 1fr) 30px; min-height: 68px; padding: 14px 18px; }
.knowledge.is-compact .knowledge-question { font-size: clamp(19px, 1.5vw, 23px); }
.knowledge.is-compact .knowledge-toggle { width: 28px; height: 28px; }
.knowledge.is-compact .knowledge-answer { padding: 0 60px 22px 68px; }
.knowledge.is-compact .knowledge-answer p { font-size: 15px; }
.knowledge-links { display: flex; flex-wrap: wrap; align-items: center; gap: 10px 22px; margin-top: 14px; }
.knowledge-links .enlace-icono { margin-top: 0 !important; }
.knowledge-more { font-size: 13px; color: #6a7264; text-underline-offset: 3px; }
.service-answer .knowledge-more { display: inline-block; margin-top: 12px; }
.service-answers header .enlace-icono { display: inline-flex; margin-top: 20px; font-size: 14px; font-weight: 600; }
.knowledge.is-close-only { padding: clamp(40px, 5vw, 70px) var(--pad); background: #f7f5ef; }
.knowledge.is-close-only .knowledge-close { margin-top: 0; }

/* Índice /preguntas/ */
.page-hero.is-faq .hero-grid { min-height: 0; }
.page-hero.is-question h1 { font-size: clamp(40px, 4.6vw, 68px); line-height: 1.02; max-width: 17ch; }
.faq-index { padding: 10px var(--pad) clamp(70px, 8vw, 110px); }
.faq-index .faq-search { max-width: 640px; margin: 0 0 44px; }
.faq-groups { columns: 2 440px; column-gap: clamp(30px, 5vw, 80px); }
.faq-group { break-inside: avoid; margin-bottom: 38px; }
.faq-group h2 { margin-bottom: 12px; font-size: clamp(26px, 2.2vw, 32px); letter-spacing: -.03em; color: #23352b; }
.faq-group ul, .faq-links { list-style: none; border-top: 1px solid #23352b1f; }
.faq-group li, .faq-links li { border-bottom: 1px solid #23352b1f; }
.faq-group a, .faq-links a { display: flex; align-items: center; justify-content: space-between; gap: 14px; padding: 13px 2px; font-size: 16px; line-height: 1.45; color: #2f3b2c; text-decoration: none; transition: color 140ms ease-out; }
.faq-group a svg, .faq-links a svg { flex: 0 0 16px; width: 16px; height: 16px; color: #a4614b; transition: transform 160ms var(--e-out); }
.faq-group a:hover, .faq-links a:hover { color: #7d4835; }
.faq-group a:hover svg, .faq-links a:hover svg { transform: translateX(3px); }
.faq-index .faq-note { max-width: 640px; }

/* Página de una pregunta */
.faq-article { padding: 20px var(--pad) clamp(60px, 7vw, 100px); }
.faq-article-grid { display: grid; grid-template-columns: minmax(0, 720px) 340px; justify-content: space-between; gap: 60px; align-items: start; }
.faq-answer .enlace-icono { display: inline-flex; align-items: center; gap: 8px; font-size: 16px; font-weight: 600; }
.faq-aside { position: sticky; top: 120px; display: grid; gap: 16px; }
.faq-aside .eyebrow { margin-bottom: -4px; }
.faq-aside-cta { display: grid; gap: 14px; padding: 24px; border-radius: 26px; }
.faq-aside-cta p { font: 400 26px/1.1 var(--disp); letter-spacing: -.02em; color: #23352b; }
.faq-more { padding: clamp(60px, 7vw, 96px) var(--pad); background: #efe9df; }
.faq-more .wrap { max-width: 900px; }
.faq-more h2 { margin: 14px 0 26px; font-size: clamp(36px, 3.6vw, 54px); }
.faq-more h2 em { color: #7c6450; }
.faq-more > .wrap > .enlace-icono { display: inline-flex; margin-top: 24px; font-size: 14px; font-weight: 600; }
@media (max-width: 900px) {
  .faq-article-grid { grid-template-columns: 1fr; gap: 36px; }
  .faq-aside { position: static; }
}
@media (max-width: 800px) {
  .knowledge.is-compact .knowledge-answer { padding: 0 20px 20px 20px; }
  .knowledge.is-compact .knowledge-item summary { grid-template-columns: 28px minmax(0, 1fr) 28px; gap: 10px; padding: 14px; }
  .faq-index { padding: 0 16px 60px; }
  .faq-article, .faq-more { padding-inline: 16px; }
  .knowledge.is-close-only { padding: 30px 16px; }
}

/* Blog: los gatitos arriba en móvil */
@media (max-width: 800px) {
  .page-hero.is-blog .hero-scene { order: -1; margin: 0 0 6px; }
}

/* Contacto */
.contact-channels { padding: 20px var(--pad) clamp(70px, 8vw, 110px); }
.channels-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 20px; }
.channel { display: flex; flex-direction: column; align-items: flex-start; gap: 12px; padding: 30px; border-radius: 30px; }
.channel .medal { width: 46px; height: 46px; flex-basis: 46px; margin-bottom: 6px; }
.channel .eyebrow { display: flex; flex-wrap: wrap; gap: 8px; font-size: 12px; }
.channel .eyebrow::before { display: none; }
.channel h2 { font-size: clamp(32px, 2.6vw, 42px); line-height: 1; }
.channel h2 em { color: #7c6450; }
.channel > p:not(.eyebrow) { color: #53604e; line-height: 1.7; }
.channel-dato { font: 400 24px/1.2 var(--disp); color: #23352b !important; }
.channel-dato.is-muted { font: 400 15px/1.6 var(--body); color: #6a7264 !important; }
.channel .action { margin-top: auto; }
.channel.is-pending { background: linear-gradient(135deg, #fbf6ef, #efe6da); }
@media (max-width: 900px) {
  .channels-grid { grid-template-columns: 1fr; }
  .contact-channels { padding-inline: 16px; }
  .channel { padding: 24px; }
}

/* Quiénes somos: el equipo en acción */
.in-action { padding: clamp(60px, 7vw, 100px) var(--pad); }
.action-gallery { display: grid; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); gap: 18px; }
.action-gallery img { width: 100%; aspect-ratio: 4 / 5; object-fit: cover; border-radius: 22px; }
.action-gallery figcaption { margin-top: 10px; font-size: 14px; color: #53604e; }

body.home .hero .hero-description { max-width: 540px; }

/* Portada en móvil: titular, líneas y botones compactos para que el dálmata asome al entrar */
@media (max-width: 800px) {
  body.home .hero { padding-top: 100px; }
  body.home .hero h1 { font-size: clamp(42px, 11.4vw, 60px); line-height: .95; }
  body.home .hero .hero-description { margin-top: 14px; font-size: 15.5px; line-height: 1.6; }
  body.home .hero .hero-description br { display: none; }
  body.home .hero .hero-actions { gap: 10px; margin-top: 18px; }
  body.home .hero .hero-scene { margin-top: 0; }
}

/* ==========================================================================
   Instagram: perfil en el pie, bajo el logo, con su propio ícono.
   ========================================================================== */
.footer .footer-social {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  margin-top: 22px;
  padding: 10px 18px 10px 12px;
  border: 1px solid currentColor;
  border-radius: var(--radio);
  width: fit-content;
  opacity: .9;
  transition: opacity .2s var(--e-out), background .2s var(--e-out);
}
.footer .footer-social:hover { opacity: 1; background: #ffffff14; }
/* Los íconos del pie giran -45° porque casi todos son la flecha; el de Instagram no. */
.footer a .topic-icon[data-icon="instagram"] {
  width: 20px;
  height: 20px;
  margin: 0 4px 0 0;
  transform: none;
}

/*
 * La palabra müva con el trazo del logo (inc/marca.php). Máscara en el color del texto: el
 * cuerpo de las letras mide lo mismo que las mayúsculas de alrededor y la base se apoya en la
 * línea del texto. --marca-alto ajusta el tamaño donde haga falta.
 * Trazo: assets/media/logo/muva-palabra.svg (aquí en línea, para que aparezca con el texto).
 */
.marca-muva {
  --marca-alto: .86em;
  --marca-trazo: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1758.5 414.01'%3E%3Cpath fill-rule='nonzero' d='M584.27 337.75L537.22 178.29C514.27 101.04 476.75 85.21 427.47 85.21C374.86 85.21 329.16 118 295.34 142.93C275.21 101.98 247.04 85.21 198.82 85.21C152.92 85.21 109.71 112.45 80.02 134.44L80.02 94.08L0 118.11L0 124.28L1.8 124.82C29.41 133.02 29.41 151.51 29.41 172.92L29.41 338.47C29.41 371.56 26.38 384.7 8.42 397.27L7.35 398.02L7.35 404.27L102.07 404.27L102.07 398.02L101 397.27C83.05 384.7 80.02 371.56 80.02 338.47L80.02 146.22C92.95 137 133.29 110.92 175.29 110.92C218.35 110.92 241.94 130.86 256.69 179.72L304.48 341.6C313.28 371.94 310.66 385.47 293.7 397.27L292.62 398.02L292.62 404.27L402.78 404.27L402.78 397.83L401.46 397.12C378.39 384.63 364.25 366.32 355.62 337.75L308.57 178.32C306.15 169.8 303.23 162.08 300.66 155.28C300.31 154.35 299.96 153.43 299.62 152.54C315.62 140.99 358.63 110.92 403.94 110.92C447.01 110.92 470.59 130.86 485.35 179.72L533.13 341.6C541.93 371.94 539.31 385.47 522.35 397.27L521.27 398.02L521.27 404.27L631.43 404.27L631.43 397.83L630.11 397.12C607.04 384.63 592.9 366.32 584.27 337.75 M865.64 48.84C882.43 48.84 894.62 38.57 894.62 24.42C894.62 10.27 882.43 0 865.64 0C848.85 0 836.66 10.27 836.66 24.42C836.66 38.57 848.85 48.84 865.64 48.84 M792.12 48.84C808.91 48.84 821.1 38.57 821.1 24.42C821.1 10.27 808.91 0 792.12 0C775.33 0 763.14 10.27 763.14 24.42C763.14 38.57 775.33 48.84 792.12 48.84 M979.91 326.29L979.91 94.08L899.89 118.11L899.89 124.28L901.69 124.82C929.3 133.02 929.3 151.51 929.3 172.92L929.3 324.08C922.77 343.9 878.33 392.56 809.77 392.56C776.66 392.56 721.11 381.73 721.11 309.25L721.11 94.08L641.09 118.11L641.09 124.28L642.89 124.82C670.5 133.02 670.5 151.51 670.5 172.92L670.5 309.25C670.5 377.79 709.25 414.01 782.56 414.01C841.69 414.01 902.45 379.33 929.3 345.02L929.3 405.14L1009.32 381.11L1009.32 374.93L1007.52 374.4C979.91 366.2 979.91 347.71 979.91 326.29 M1624.02 268.32C1616.91 339.2 1555.24 392.56 1480.28 392.56C1440.05 392.56 1408.53 369.6 1408.53 340.29C1408.53 305.9 1436.56 287.12 1472.04 263.34C1486 253.99 1501.82 243.38 1517.16 230.86C1539.91 212.32 1552.18 189.27 1551.71 165.95C1551.42 151.89 1546.53 138.6 1537.92 127.79C1555.65 138.79 1570.06 156.05 1581.68 180.1L1624.02 268.32M1757.18 397.12C1739.85 387.74 1727.82 372.11 1711.19 337.38L1634.73 177.91C1604.87 116.4 1557.61 85.21 1494.25 85.21C1438.27 85.21 1393.14 102.73 1356.29 138.8C1324.75 169.66 1303.61 209.92 1284.66 248.51L1224.05 372.46C1218.29 363.85 1212.46 353.29 1204.63 337.38L1119.34 159.67C1103.91 127.42 1098.48 111.22 1115.33 102.1L1116.65 101.39L1116.65 94.94L1018.99 94.94L1018.99 101.39L1020.31 102.1C1037.63 111.48 1049.67 127.11 1066.29 161.84L1183.14 404.28L1251.93 404.28L1251.93 397.83L1250.61 397.12C1230.18 386.06 1248.51 347.27 1252.41 339.57L1295.79 250.72C1326.47 188.44 1364.65 110.92 1470.72 110.92C1504.34 110.92 1529.54 125.01 1538.13 148.6C1546.83 172.51 1536.48 201.37 1511.74 222.13C1488.32 241.97 1460.97 257.93 1436.84 272.01C1394.5 296.73 1357.92 318.08 1357.92 350.64C1357.92 387.36 1397.94 414.01 1453.08 414.01C1496.67 414.01 1538.71 400.85 1571.45 376.94C1603.5 353.54 1624.57 322.04 1632.73 285.48L1661.08 344.42C1675.19 373.93 1677.08 385.7 1660.44 397.27L1659.36 398.02L1659.36 404.28L1758.5 404.28L1758.5 397.83L1757.18 397.12'/%3E%3C/svg%3E");
  position: relative;
  display: inline-block;
  height: var(--marca-alto);
  aspect-ratio: 1758.5 / 414;
  margin: 0 .05em;
  vertical-align: -.02em;
  background-color: currentColor;
  -webkit-mask: var(--marca-trazo) center / contain no-repeat;
  mask: var(--marca-trazo) center / contain no-repeat;
}
.marca-muva > span { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
@media (forced-colors: active) { .marca-muva { forced-color-adjust: none; background-color: CanvasText; } }


/*
 * Baraja de la sede (template-parts/sede-cartas.php). La carta de arriba sigue el dedo o el
 * cursor y se inclina; al soltarla lejos sale volando y la siguiente sube. Las de atrás se
 * asoman más pequeñas y crecen mientras se arrastra la de arriba (--avance, 0 a 1).
 */
/* La carta que sale vuela fuera de la sección: se recorta en su borde, sin scroll horizontal. */
.experience:has(.cartas) { overflow-x: clip; }
.cartas { display: grid; justify-items: center; margin-top: 6px; }
.cartas-mazo { position: relative; width: min(100%, 680px); aspect-ratio: 4 / 3; margin-bottom: 78px; touch-action: pan-y; user-select: none; -webkit-user-select: none; }
.carta {
  --p: calc(var(--pos) - var(--avance, 0));
  position: absolute;
  inset: 0;
  z-index: calc(10 - var(--pos));
  margin: 0;
  overflow: hidden;
  border-radius: 28px;
  background: #e6dfd3;
  box-shadow: 0 34px 60px -30px #23352b73, 0 8px 18px -10px #23352b40;
  transform: translate3d(var(--x, 0px), calc(var(--y, 0px) + var(--p) * 36px), 0) rotate(var(--r, 0deg)) scale(calc(1 - var(--p) * .05));
  transition: transform .55s var(--e-out), opacity .45s var(--e-out);
}
.carta::after { content: ''; position: absolute; inset: 0; pointer-events: none; background: #f7f5ef; opacity: calc(var(--p) * .16); transition: opacity .55s var(--e-out); }
.carta img { width: 100%; height: 100%; object-fit: cover; pointer-events: none; }
.carta .venue-label { position: absolute; left: 18px; bottom: 18px; padding: 9px 15px; border-radius: 999px; font-size: 13px; }
.carta.is-arriba { --p: 0; cursor: grab; }
.carta.is-oculta { opacity: 0; }
.carta.is-saliendo { z-index: 20; opacity: 0; transition: transform .6s cubic-bezier(.25, .7, .35, 1), opacity .5s ease-in .1s; }
.carta.is-arrastrando, .cartas-mazo.is-tirando .carta, .cartas-mazo.is-tirando .carta::after, .carta.sin-transicion { transition: none; }
.carta.is-arrastrando { cursor: grabbing; }
.carta.is-pista { animation: carta-pista 1.4s var(--e-out) .3s; }
@keyframes carta-pista { 0%, 100% { transform: none; } 30% { transform: translateX(-34px) rotate(-4deg); } 60% { transform: translateX(16px) rotate(2deg); } }

.cartas-controles { display: flex; align-items: center; gap: 22px; }
.cartas-boton { display: grid; place-items: center; width: 60px; height: 60px; border: 1px solid #fff; border-radius: 50%; background: linear-gradient(145deg, #fbfaf6, #efeae0); color: #23352b; box-shadow: 0 14px 28px -16px #23352b80, inset 0 1px #fff; transition: transform .3s var(--e-out), background-color .3s var(--e-out), color .3s var(--e-out); }
.cartas-boton svg { width: 22px; height: 22px; }
.cartas-boton[data-carta-izq] svg { transform: scaleX(-1); }
.cartas-boton:hover { transform: scale(1.08); background: #23352b; color: #f7f5ef; }
.cartas-boton:active { transform: scale(.94); }
.cartas-contador { min-width: 76px; text-align: center; font: italic 400 22px/1 var(--disp); color: #23352b; font-variant-numeric: tabular-nums; }

@media (prefers-reduced-motion: reduce) {
  .carta, .carta::after, .carta.is-saliendo { transition: opacity .3s; }
  .carta.is-pista { animation: none; }
}
@media (max-width: 760px) {
  .cartas-mazo { margin-bottom: 52px; }
  .carta { border-radius: 22px; transform: translate3d(var(--x, 0px), calc(var(--y, 0px) + var(--p) * 22px), 0) rotate(var(--r, 0deg)) scale(calc(1 - var(--p) * .05)); }
  .carta .venue-label { left: 14px; bottom: 14px; font-size: 12px; padding: 7px 12px; }
  .cartas-boton { width: 54px; height: 54px; }
}
