/* Dirección visual basada en la sala real: pared verde, superficies blancas y mesón gris. */
:root{--tinta:#183d33;--bosque:#176b51;--bosque-2:#104b3d;--hoja:#348e70;--hoja-2:#61ad87;--manzana:#e87769;--manzana-ink:#a83d35;--papel:#f2f5f3;--placa:#fff;--linea:#d8e3de;--suave:#536861;--font:Lato,Arial,sans-serif;--signo:Oswald,"Arial Narrow",sans-serif}
body.em{font-family:var(--font);background:var(--papel);color:var(--tinta);font-size:1rem;line-height:1.55}
body.em h1,body.em h2,body.em h3{font-family:var(--font);font-weight:900;letter-spacing:-.04em;color:var(--tinta);line-height:1.08}
body.em h2{font-size:clamp(2rem,3.8vw,3.4rem);max-width:20ch}
body.em h3{font-size:1.35rem}
body.em p{color:inherit}
.em .wrap{max-width:1280px;padding-inline:clamp(20px,4vw,56px)}
.arbol-vivo{display:none}
html{scroll-padding-top:80px}
.franja{background:#123b31;color:#d8eee4;font:700 .72rem var(--font);letter-spacing:.08em;text-transform:uppercase;padding:2px 0}
.cab{background:#fff;border-bottom:1px solid var(--linea);box-shadow:0 2px 14px rgba(22,65,48,.045)}
.cab .wrap{min-height:72px}
.marca span{font-family:var(--signo);font-size:1.34rem;font-weight:700;text-transform:uppercase;letter-spacing:.02em}
.marca img{width:49px;height:49px}
.cab nav a{font:700 .89rem var(--font);color:var(--tinta);padding:10px 12px}
.cab nav a:hover{background:#e9f4ee;color:var(--bosque)}
.bt{font:900 .92rem var(--font);border-radius:10px;min-height:49px;padding:0 19px;letter-spacing:.01em}
body.em a.bt-bosque{background:var(--bosque);color:#fff}
body.em a.bt-bosque:hover{background:#10553f}
body.em a.bt-linea{border-color:#93b9a9;background:#fff;color:var(--bosque)}
body.em a.bt-linea:hover{background:#e8f3ed;color:var(--bosque)}
.detalle-rotulo{font:700 .77rem var(--signo);letter-spacing:.16em;color:var(--bosque);margin-bottom:14px}
.sec{padding:clamp(54px,7vw,100px) 0;background:transparent}
.sec:nth-of-type(even){background:#fff}
.seccion-cab{display:grid;grid-template-columns:minmax(0,1fr) minmax(240px,.55fr);column-gap:42px;align-items:end;margin-bottom:30px;border-left:5px solid var(--hoja);padding-left:20px}
.seccion-cab .detalle-rotulo{grid-column:1/-1}
.seccion-cab h2{margin:0;max-width:17ch}
.seccion-cab p{margin:0;color:var(--suave);max-width:35ch}

/* Portada: dos planos equilibrados, sin fotografía de fachada ni vacío lateral. */
.portada{display:grid;grid-template-columns:53% 47%;min-height:min(700px,calc(100svh - 100px));background:#fff;max-width:1600px;margin:auto}
.portada-texto{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;padding:clamp(34px,6vw,98px) clamp(24px,5vw,80px);margin:0;background:#fff;border:0;box-shadow:none;min-width:0}
.hero-kicker{font:900 .77rem var(--font);letter-spacing:.14em;text-transform:uppercase;color:var(--bosque);display:flex;align-items:center;gap:10px;margin:0 0 20px!important}
.hero-kicker-dot{width:9px;height:9px;border-radius:50%;background:var(--manzana);box-shadow:0 0 0 5px #f8e4df}
body.em .portada h1{font-size:clamp(3.15rem,5.6vw,6.4rem);max-width:11ch;line-height:.99;margin:0 0 28px;letter-spacing:-.065em}
.portada h1 span{color:var(--bosque)}
.portada .baja{font-size:clamp(1.02rem,1.45vw,1.2rem);color:var(--suave);max-width:47ch;line-height:1.5;margin:0 0 29px}
.portada .acciones{display:flex;flex-direction:row;flex-wrap:wrap;gap:11px;margin:0}
.portada .acciones .bt{width:auto}
.portada .estado{position:static;display:inline-flex;margin:28px 0 0;max-width:100%;padding:10px 14px;background:#edf5ef;border-radius:8px;color:var(--bosque);font:700 .82rem var(--font)}
.hero-emblema{position:relative;display:grid;place-items:center;background:#e9f2ed;padding:clamp(26px,5vw,70px);overflow:hidden;isolation:isolate}
.hero-emblema:before{content:"";position:absolute;inset:25px;border:1px solid #b7d4c5;border-radius:28px;pointer-events:none}
.hero-emblema:after{content:"";position:absolute;width:70%;aspect-ratio:1;border:1px solid #c6ddd0;border-radius:50%;z-index:-1}
.hero-emblema img{width:min(100%,560px);height:auto;max-height:min(610px,70svh);object-fit:contain;filter:drop-shadow(0 12px 12px rgba(25,72,50,.1));animation:emblema-entrada .9s cubic-bezier(.2,.7,.2,1) both}
@keyframes emblema-entrada{from{opacity:0;transform:translateY(16px) scale(.96)}to{opacity:1;transform:none}}

/* Servicios: cada respuesta se abre junto al control que la invoca. */
.servicios-compactos{display:grid;grid-template-columns:1fr 1fr;gap:12px;align-items:start}
.servicio-acordeon{background:#fff;border:1px solid var(--linea);border-radius:16px;overflow:hidden;box-shadow:0 2px 4px rgba(13,66,41,.025)}
.servicio-acordeon[open]{grid-column:1/-1;border-color:#87bca6;box-shadow:0 10px 30px rgba(24,95,65,.08)}
.servicio-acordeon summary{list-style:none;display:flex;gap:16px;align-items:center;min-height:94px;padding:17px 20px;cursor:pointer}
.servicio-acordeon summary::-webkit-details-marker{display:none}
.servicio-acordeon summary>span:nth-child(2){display:grid;flex:1;line-height:1.25}
.servicio-acordeon strong{font-size:1.13rem;color:var(--tinta)}
.servicio-acordeon small{font-size:.82rem;color:var(--suave);margin-top:5px}
.serv-icon{display:grid;place-items:center;width:47px;height:47px;flex:none;border-radius:13px;background:#e9f4ee;color:var(--bosque);font:700 1.6rem var(--font)}
.serv-plus{color:var(--bosque);font:400 1.55rem var(--font);transition:transform .25s}
.servicio-acordeon[open] .serv-plus{transform:rotate(45deg)}
.serv-cuerpo{border-top:1px solid var(--linea);display:grid;grid-template-columns:220px 1fr;gap:25px;padding:16px 18px 18px;align-items:center}
.serv-cuerpo img{width:100%;height:160px;object-fit:cover;border-radius:10px}
.serv-cuerpo p{font-size:.9rem;color:var(--suave);line-height:1.45;margin:0 0 15px}
.serv-cuerpo a{font:900 .85rem var(--font);color:var(--bosque);text-decoration:none;border-bottom:1px solid currentColor;padding-bottom:3px}
.serv-cuerpo a:hover{color:#0a4f3b}

/* Domicilio: la foto contextualiza un solo mensaje. */
#domicilio{background:#e3eee8}
.dom-v2{display:grid;grid-template-columns:.9fr 1.1fr;gap:clamp(25px,5vw,70px);align-items:center}
.dom-v2-copy{padding:26px 0}
.dom-v2 h2{max-width:14ch;margin-bottom:20px}
.dom-v2-copy>p{color:var(--suave);max-width:43ch;font-size:1.05rem}
.dom-v2-tags{display:flex;gap:8px;flex-wrap:wrap;margin:24px 0 28px}
.dom-v2-tags span{background:#fff;border:1px solid #bad4c6;color:var(--bosque);border-radius:50px;padding:8px 12px;font:800 .78rem var(--font)}
.dom-v2 figure{position:relative;height:450px;overflow:hidden;border-radius:22px}
.dom-v2 figure img{width:100%;height:100%;object-fit:cover;object-position:center 58%}
.dom-v2 figcaption{position:absolute;left:15px;bottom:15px;background:#fff;color:var(--bosque);padding:8px 12px;border-radius:6px;font:800 .8rem var(--font)}

/* Equipo: imagen profesional verificable y reel oficial a elección. */
#doctora{background:#fff}
.doctora-v2{display:grid;grid-template-columns:.85fr 1.15fr;gap:clamp(35px,7vw,100px);align-items:center}
.doctora-info{background:#f3f7f4;border:1px solid #dae9df;border-radius:22px;padding:clamp(24px,4vw,52px)}
.doctora-info h2{max-width:13ch;margin-bottom:21px}
.doctora-info>p{color:var(--suave);max-width:43ch}
.doctora-info>p strong{color:var(--tinta)}
.doctora-dato{display:flex;gap:18px;border-top:1px solid #bfd4c7;padding:17px 0}
.doctora-dato span{font:700 1.25rem var(--signo);color:var(--bosque)}
.doctora-dato p{margin:0;color:var(--tinta);font-size:.92rem;max-width:33ch}
.doctora-info .bt{margin-top:10px}
.fuente-humana{font-size:.75rem;margin:17px 0 0!important}
.equipo-visual{min-width:0;background:#eef3ef;border-radius:22px;overflow:hidden;border:1px solid #d4e2d8}
.equipo-tabs{display:flex;background:#e6efe8;border-bottom:1px solid #c7dacc}
.equipo-tabs button{flex:1;padding:14px 10px;background:transparent;border:0;border-bottom:3px solid transparent;font:900 .86rem var(--font);color:#536c60;cursor:pointer}
.equipo-tabs button[aria-selected=true]{background:#fff;border-color:var(--bosque);color:var(--bosque)}
.equipo-pane[hidden]{display:none!important}
.equipo-pane{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:18px;height:560px}
.equipo-pane img{height:480px;width:100%;object-fit:cover;object-position:center 43%;border-radius:12px}
.equipo-pane iframe{width:min(100%,390px);height:510px;border:0;background:#e9eee9;border-radius:10px}
.equipo-pane a{font:900 .78rem var(--font);color:var(--bosque);margin-top:12px;text-decoration:underline;text-underline-offset:3px}

/* Pacientes: tres fotografías bastan para abrir una ventana al Instagram real. */
.redes{background:#153f34!important;color:#fff}
.redes-v2{display:grid;grid-template-columns:.65fr 1.35fr;gap:40px;align-items:center}
.redes-v2 .detalle-rotulo{color:#a8dac0}
body.em .redes-v2 h2{color:#fff;max-width:12ch;margin-bottom:15px}
.redes-v2 p{color:#d4eadd;max-width:30ch}
body.em .redes-v2 a{color:#fff;font-weight:900}
.redes-pacientes{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;height:275px}
.redes-pacientes figure{position:relative;overflow:hidden;border-radius:12px}
.redes-pacientes img{width:100%;height:100%;object-fit:cover}
.redes-pacientes figcaption{position:absolute;left:8px;bottom:8px;background:#fff;color:var(--bosque);font:800 .7rem var(--font);padding:5px 9px;border-radius:50px}

/* Reseñas: citas auténticas sin maquillar la valoración global. */
#resenas{background:#f3f6f3}
.gmaps{padding:0;background:#fff;border:1px solid var(--linea);border-radius:22px;overflow:hidden;box-shadow:0 10px 30px rgba(24,70,49,.05)}
.gmaps-h{display:flex;align-items:center;justify-content:space-between;gap:20px;background:#fff;padding:25px 30px;border-bottom:1px solid var(--linea)}
.gmaps-nombre{font-weight:900;color:var(--tinta);font-size:1.07rem}
.gmaps-lugar{font-size:.8rem;color:var(--suave)}
.gmaps-fuente{font:900 .81rem var(--font);color:var(--bosque);border:1px solid #a9cdb8;border-radius:7px;padding:11px 13px;text-decoration:none;white-space:nowrap}
.gmaps-aviso{padding:14px 30px 0;margin:0;color:var(--suave);font-size:.77rem}
.carril-marco{margin:0;padding:20px 65px 8px}
.carril{display:flex;gap:14px;overflow-x:auto;scroll-snap-type:x mandatory}
.resena{background:#f5f8f5;border:1px solid var(--linea);border-radius:13px;padding:24px;min-height:210px}
.resena-quien{font:900 .75rem var(--font);text-transform:uppercase;letter-spacing:.08em;color:var(--bosque)}
.resena-estrellas{color:#e7a630;letter-spacing:.12em;font-size:1.1rem;margin:0 0 8px!important}
.resena-texto{font-weight:700;font-size:1.02rem;line-height:1.5}
.carril-btn{background:#e8f2eb;color:var(--bosque);border-radius:50%}
.gmaps>.bt{margin:0 30px 28px}
.puntos,.desliza{display:none!important}

/* Ruta y horario, sin repetir siete filas iguales en la pantalla. */
#ubicacion{background:#fff}
.ubi{display:grid;grid-template-columns:1fr 1fr;gap:clamp(25px,5vw,65px);align-items:stretch}
.ubi-mapa{border-radius:22px;overflow:hidden;min-height:400px}
.ubi-mapa img{height:100%;width:100%;object-fit:cover}
.ubi>div:last-child{background:#eff5f0;border:1px solid #d5e4d9;border-radius:22px;padding:clamp(24px,3vw,44px)}
.ubi h2{max-width:none;margin-bottom:11px}
.ubi .dir{font-size:1.1rem;font-weight:900;color:var(--tinta)}
.horario-resumen{background:#fff;border:1px solid #d2e1d8;border-left:5px solid var(--bosque);border-radius:7px;padding:17px 19px;color:var(--tinta)}
.horario-resumen small{font-size:.8rem}
.horario{display:none}
.ubi .acciones{display:flex;flex-direction:row;flex-wrap:wrap;margin-top:20px}
.ubi .acciones .bt{width:auto}

/* Agenda y cierre. */
.reserva{background:#eaf1ec!important}
.reserva-txt{background:#fff;border:1px solid #d5e4d9;border-left:5px solid var(--bosque);border-radius:15px}
.agenda-muestra{border-radius:16px;box-shadow:none;background:#fff}
.agenda-cab,.agenda-opciones button{background:#f8faf8}
.agenda-opciones button{border-radius:9px}
.agenda-estado{border-radius:7px}
.pie{background:#123b31}
.pie-grid{padding-top:42px;padding-bottom:24px}
.pie-base{padding-bottom:22px}
.catapaz-firma{--catapaz-accent:#9fddba;--catapaz-accent-hover:#d1f3df}
.demo-dialogo{border-radius:18px;border:0;box-shadow:0 22px 80px rgba(4,28,17,.35);overflow:hidden}
.demo-cab{font-family:var(--font);font-weight:900;background:var(--bosque)}
body.em .demo-cuerpo h2{font-family:var(--font);text-transform:none;letter-spacing:-.045em}
.demo-seguir{font-family:var(--font);border-radius:8px}

@media(max-width:960px){
  .portada{grid-template-columns:1fr 1fr;min-height:620px}
  .portada-texto{padding:34px}
  body.em .portada h1{font-size:clamp(2.8rem,5.8vw,4.5rem)}
  .seccion-cab{grid-template-columns:1fr;gap:8px}
  .seccion-cab .detalle-rotulo{grid-column:1}
  .doctora-v2{grid-template-columns:1fr 1fr;gap:22px}
}
@media(max-width:719px){
  .em .wrap{padding-inline:20px}
  .cab .wrap{min-height:62px}
  .cab nav{display:none}
  .marca span{font-size:1.1rem}
  .marca img{height:43px;width:43px}
  .franja{font-size:.65rem}
  .portada{display:flex;flex-direction:column;min-height:0}
  .portada-texto{padding:25px 22px 26px}
  .hero-kicker{font-size:.68rem;line-height:1.3;justify-content:center;text-align:center;width:100%}
  body.em .portada h1{font-size:clamp(2.65rem,10vw,3.4rem);margin-bottom:15px}
  .portada .baja{font-size:.92rem;margin-bottom:18px}
  .portada .acciones{display:grid;grid-template-columns:1fr;gap:8px;width:100%}
  .portada .acciones .bt{width:100%;min-height:48px}
  .portada .estado{margin-top:18px;font-size:.74rem}
  .hero-emblema{order:-1;height:255px;min-height:0;padding:10px 42px 24px}
  .hero-emblema:before{inset:13px;border-radius:15px}
  .hero-emblema img{max-height:230px;width:auto}
  .sec{padding:55px 0}
  body.em h2{font-size:clamp(1.9rem,8vw,2.55rem)}
  .seccion-cab{padding-left:15px;margin-bottom:22px}
  .seccion-cab p{font-size:.91rem}
  .servicios-compactos{grid-template-columns:1fr;gap:9px}
  .servicio-acordeon[open]{grid-column:auto}
  .servicio-acordeon summary{min-height:76px;padding:12px 14px;gap:12px}
  .serv-icon{width:39px;height:39px;font-size:1.35rem;border-radius:10px}
  .servicio-acordeon strong{font-size:1rem}
  .servicio-acordeon small{font-size:.76rem}
  .serv-cuerpo{grid-template-columns:106px 1fr;gap:13px;padding:12px}
  .serv-cuerpo img{height:145px}
  .serv-cuerpo p{font-size:.79rem;margin-bottom:8px}
  .serv-cuerpo a{font-size:.74rem}
  .dom-v2{grid-template-columns:1fr;gap:20px}
  .dom-v2-copy{padding:0}
  .dom-v2 h2{max-width:17ch}
  .dom-v2-tags{margin:16px 0 20px}
  .dom-v2 figure{height:225px;border-radius:14px}
  .doctora-v2{grid-template-columns:1fr;gap:17px}
  .doctora-info{padding:22px;border-radius:15px}
  .doctora-info h2{max-width:18ch}
  .doctora-info>p{font-size:.9rem}
  .doctora-dato{padding:11px 0}
  .equipo-visual{border-radius:15px}
  .equipo-pane{height:420px;padding:12px}
  .equipo-pane img{height:360px}
  .equipo-pane iframe{height:365px}
  .redes-v2{grid-template-columns:1fr;gap:19px}
  .redes-pacientes{height:180px;gap:6px}
  .redes-pacientes figure{border-radius:8px}
  .redes-pacientes figcaption{font-size:.56rem;padding:4px 6px}
  .gmaps-h{padding:18px;align-items:start;flex-direction:column;gap:5px}
  .gmaps-aviso{padding:13px 18px 0}
  .carril-marco{padding:14px 18px 4px;margin:0}
  .carril{scroll-snap-type:none;display:grid;grid-template-columns:1fr;gap:8px;overflow:visible}
  .resena{min-height:0;padding:16px}
  .resena:nth-child(n+3){display:none}
  .resena-texto{font-size:.91rem;margin:0}
  .carril-btn{display:none}
  .gmaps>.bt{margin:14px 18px 20px;width:calc(100% - 36px)}
  .ubi{grid-template-columns:1fr;gap:0}
  .ubi-mapa{min-height:0;height:240px;border-radius:15px 15px 0 0}
  .ubi>div:last-child{border-radius:0 0 15px 15px;padding:22px}
  .ubi .dir{font-size:.96rem}
  .ubi .acciones{display:grid;grid-template-columns:1fr 1fr;gap:8px}
  .ubi .acciones .bt{width:100%;font-size:.78rem;padding:0 8px}
  .pie-grid{grid-template-columns:.9fr 1.1fr;gap:12px 18px}
  .pie-grid>.pie-marca{grid-column:1;grid-row:1}
  .pie-grid>div:nth-child(2){grid-column:1;grid-row:2}
  .pie-grid>div:nth-child(3){grid-column:2;grid-row:2;overflow-wrap:anywhere}
  .pie-grid>div:nth-child(4){grid-column:2;grid-row:1}
  .pie-grid p{font-size:.76rem;line-height:1.45}
  .pie-marca img{width:60px}
  .aviso-pie{font-size:.7rem}
  .barra{background:#fff;box-shadow:0 -4px 18px rgba(10,52,27,.1)}
}
@media(max-width:390px){.serv-cuerpo{grid-template-columns:90px 1fr}.serv-cuerpo img{height:154px}.hero-emblema{height:300px}}
@media(prefers-reduced-motion:reduce){.hero-emblema img,.serv-plus{animation:none!important;transition:none!important}}

/* Revisión de marca: el coral de las manzanas aporta contraste a titulares y acciones. */
:root{--naranja:#f87d6d;--naranja-ink:#bb4334;--naranja-suave:#fff0e9}
.detalle-rotulo,.hero-kicker{color:var(--naranja-ink)}
.hero-kicker-dot{background:var(--naranja)}
.seccion-cab{border-color:var(--naranja)}
body.em h2 em,body.em .reserva-txt h2 em,body.em .footer-cta h2 em{font-style:normal;color:var(--naranja-ink)}
body.em .portada h1{font-family:var(--signo);font-weight:700;font-size:clamp(3.65rem,5.7vw,6.2rem);letter-spacing:-.015em;line-height:1;text-transform:uppercase;max-width:11ch}
.portada h1 span{color:var(--naranja-ink)}
.hero-emblema:after{border-color:rgba(248,125,109,.38)}
.franja{background:#173c31;border-bottom:3px solid var(--naranja)}

/* Tres tarjetas fotográficas: el detalle queda dentro de la tarjeta elegida. */
.sec-servicios{background:#fff!important}
.servicios-compactos{grid-template-columns:repeat(3,minmax(0,1fr));gap:17px;align-items:start}
.servicio-acordeon,.servicio-acordeon[open]{grid-column:auto;border-radius:17px;border:1px solid #dce7df;box-shadow:0 9px 28px rgba(23,70,49,.055)}
.servicio-acordeon[open]{border-color:var(--naranja);box-shadow:0 13px 30px rgba(107,64,46,.11)}
.servicio-acordeon summary{display:block;position:relative;padding:0;min-height:0}
.serv-foto{display:block;height:235px;overflow:hidden;background:#e8eee8}
.serv-foto img{width:100%;height:100%;object-fit:cover;transition:transform .45s ease}
.servicio-acordeon:nth-child(3) .serv-foto img{object-position:65% center}
.servicio-acordeon summary:hover .serv-foto img,.servicio-acordeon[open] .serv-foto img{transform:scale(1.04)}
.servicio-acordeon summary>.serv-meta{display:grid;gap:4px;min-height:128px;padding:18px 54px 20px 20px;line-height:1.25}
.serv-no{color:var(--naranja-ink);font:900 .69rem var(--font);letter-spacing:.13em;text-transform:uppercase}
.servicio-acordeon strong{font:700 clamp(1.2rem,2vw,1.65rem)/1.08 var(--signo);letter-spacing:.01em;text-transform:uppercase;color:var(--tinta)}
.servicio-acordeon small{font-size:.82rem;margin:3px 0 0}
.serv-plus{position:absolute;right:18px;bottom:21px;display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:var(--naranja-suave);color:var(--naranja-ink);font-size:1.4rem}
.serv-cuerpo{display:block;padding:17px 20px 22px;border-top:1px solid #f0ded4}
.serv-cuerpo p{font-size:.91rem;line-height:1.5;margin:0 0 16px}
.serv-cuerpo a{color:var(--naranja-ink);font-size:.87rem}
.serv-cuerpo a:hover{color:#8b2e24}

/* Opiniones reales en un lenguaje propio, con el origen siempre visible. */
#resenas{background:#fff8f3}
.resenas-cab{display:flex;align-items:end;justify-content:space-between;gap:24px;margin-bottom:27px}
.resenas-cab h2{max-width:16ch;margin:0}
.resenas-cab>a{display:inline-flex;align-items:center;min-height:48px;padding:11px 16px;border:1px solid #e9b7a8;border-radius:50px;color:var(--naranja-ink);background:#fff;font:900 .88rem var(--font);text-decoration:none;white-space:nowrap}
.resenas-cab>a:hover{background:#ffe8df}
.resenas-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.resena-nueva{display:flex;flex-direction:column;min-height:265px;padding:24px;border:1px solid #efd9cf;border-top:5px solid var(--naranja);border-radius:17px;background:#fff;box-shadow:0 12px 28px rgba(99,54,37,.055)}
.resena-nueva:nth-child(2){border-top-color:#23795b}
.resena-nueva:nth-child(3){border-top-color:#e2a34f}
.resena-nueva-top{display:flex;align-items:center;justify-content:space-between;gap:9px}
.resena-nueva-top>span:last-child{font:700 .72rem var(--font);color:#6c7c71}
.resena-nueva .resena-estrellas{font-size:1.14rem;letter-spacing:.11em;color:#d8623f;margin:0!important}
.resena-nueva blockquote{margin:25px 0 22px;color:var(--tinta);font:800 clamp(1.04rem,1.5vw,1.22rem)/1.47 var(--font)}
.resena-autor{display:flex;align-items:center;gap:11px;border-top:1px solid #eee6e0;padding-top:16px;margin-top:auto}
.resena-autor>span{display:grid;place-items:center;width:38px;height:38px;flex:none;border-radius:50%;background:#e8f0e9;color:var(--bosque);font:900 .78rem var(--font)}
.resena-autor>div{display:grid;line-height:1.3}
.resena-autor strong{font-size:.91rem;color:var(--tinta)}
.resena-autor small{font-size:.74rem;color:var(--suave)}
.resenas-nota{font-size:.78rem;color:var(--suave);margin:17px 0 0;max-width:78ch}

/* El mapa ocupa su columna y precede a la información práctica. */
.ubi-mapa{width:100%;aspect-ratio:auto;margin:0}
.mapa-etiqueta{position:absolute;top:17px;left:17px;z-index:1;padding:9px 13px;background:#fff;border-left:4px solid var(--naranja);border-radius:5px;color:var(--tinta);font:900 .78rem var(--font);box-shadow:0 5px 16px rgba(20,46,31,.13)}
#ubicacion .ubi>div:last-child{background:#f7f3ee;border-color:#e7ddd2}
body.em #ubicacion h2{font-family:var(--signo);font-size:clamp(2.25rem,4.2vw,3.75rem);font-weight:700;letter-spacing:.005em;text-transform:uppercase;max-width:13ch}
#ubicacion .dir{font-size:1.03rem}
#ubicacion .horario-resumen{border-left-color:var(--naranja);margin-top:20px}

/* La propuesta de agenda tiene una jerarquía propia y tipografía más legible. */
.reserva-txt{padding:clamp(26px,4vw,48px);border-color:#f2d5c8;border-left:6px solid var(--naranja);background:#fffaf6}
body.em .reserva-txt h2{font-family:var(--signo);font-size:clamp(2.85rem,4.9vw,4.7rem);font-weight:700;letter-spacing:.005em;text-transform:uppercase;max-width:12ch;margin:0 0 19px}
.reserva-txt .detalle-rotulo{font-size:.83rem}
.reserva-frase{font-size:1.09rem;line-height:1.52;color:var(--tinta);max-width:39ch}
.reserva-pasos{display:flex;gap:9px;flex-wrap:wrap;margin:23px 0 18px!important}
.reserva-pasos span{display:flex;align-items:center;gap:6px;padding:8px 10px;background:#ffebe2;border:1px solid #f3cbbc;border-radius:7px;color:#7d382b;font:800 .78rem var(--font)}
.reserva-pasos b{color:var(--naranja-ink)}
.reserva-aviso{font-size:.82rem;line-height:1.45;color:var(--suave);max-width:41ch}
.agenda-muestra{border-color:#ead4ca;box-shadow:0 13px 29px rgba(64,76,50,.08)}
.agenda-cab{background:#fff7f2;padding:17px 21px}
.agenda-cab strong{font-size:1.28rem}
.agenda-etapas{font-size:.91rem;padding:18px 21px}
.agenda-cuerpo{padding:25px 21px}
body.em .agenda-cuerpo h3{font-size:1.8rem}
.agenda-cuerpo>p{font-size:1rem}
.agenda-opciones button{min-height:77px;padding:14px 16px;background:#fff}
.agenda-opciones button strong{font-size:1rem;font-weight:800}
.agenda-opciones button small{font-size:.87rem}
.agenda-etapas .actual{color:var(--naranja-ink)}
.agenda-opciones button:hover,.agenda-opciones button[aria-pressed="true"]{border-color:#df8a72;background:#fff0e8}
.agenda-opciones button[aria-pressed="true"] .radio-falso{border-color:var(--naranja-ink)}
.agenda-estado{background:#fff0e9;color:#843b31!important;font-size:.87rem!important}

/* Cierre más expresivo, conservando la información esencial. */
.pie{background:#123d32}
.footer-cta{display:flex;justify-content:space-between;align-items:center;gap:30px;position:relative;overflow:hidden;margin-top:0;margin-bottom:22px;padding:clamp(25px,3.5vw,42px)!important;border-radius:0 0 19px 19px;background:#f6ad98;color:var(--tinta)}
.footer-cta:after{content:"";position:absolute;width:210px;height:210px;border:2px solid rgba(187,67,52,.19);border-radius:50%;right:20%;top:-120px;pointer-events:none}
.footer-cta>div{position:relative;z-index:1}
.footer-cta>div>span{font:900 .7rem var(--font);letter-spacing:.13em;text-transform:uppercase;color:#7c342a}
body.em .footer-cta h2{font:700 clamp(2.1rem,3.2vw,3rem)/1.05 var(--signo);letter-spacing:.005em;text-transform:uppercase;max-width:17ch;color:var(--tinta);margin:11px 0 0}
body.em .footer-cta h2 em{color:#8a3128}
body.em .pie .footer-cta>a{position:relative;z-index:1;display:inline-flex;justify-content:space-between;align-items:center;gap:18px;min-height:51px;white-space:nowrap;padding:12px 18px;border-radius:8px;background:var(--tinta);color:#fff;text-decoration:none;font:900 .88rem var(--font)}
body.em .pie .footer-cta>a:hover{background:#285947;color:#fff}
.footer-cta>a span{font-size:1.2rem}
.pie-grid{padding-top:25px}
.pie-marca img{width:114px}
.pie-t{color:#ffb49e;font-weight:900;text-transform:uppercase;font-size:.74rem!important;letter-spacing:.09em;margin-bottom:10px!important}
.pie-base{border-top-color:rgba(246,173,152,.32)}
.catapaz-firma{--catapaz-accent:#ffaf99;--catapaz-accent-hover:#ffd0be}

@media(max-width:960px){
  .serv-foto{height:190px}
  .servicio-acordeon summary>.serv-meta{padding:17px 42px 19px 16px}
  .servicio-acordeon strong{font-size:1.22rem}
  .serv-cuerpo{padding:15px 16px 20px}
}
@media(min-width:720px){.barra{display:none}.pie{padding-bottom:42px}}
@media(min-width:720px) and (max-width:879px){
  .servicios-compactos{grid-template-columns:1fr;gap:13px}
  .servicio-acordeon summary{display:grid;grid-template-columns:200px minmax(0,1fr)}
  .serv-foto{height:100%;min-height:172px}
  .servicio-acordeon summary>.serv-meta{min-height:172px;align-content:center;padding:22px 65px 22px 24px}
  .servicio-acordeon strong{font-size:1.65rem}
  .serv-plus{right:23px;bottom:calc(50% - 17px)}
  .serv-cuerpo{padding:18px 24px 20px}
  .pie-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:28px 24px}
  .pie-marca{grid-column:auto}
}
@media(max-width:719px){
  body.em .portada h1{font-size:clamp(2.55rem,10.2vw,3.7rem);max-width:none}
  .hero-emblema{height:300px;padding:10px 30px 31px}
  .hero-emblema img{max-height:256px}
  .servicios-compactos{grid-template-columns:1fr;gap:11px}
  .servicio-acordeon summary{display:grid;grid-template-columns:clamp(105px,27vw,150px) minmax(0,1fr);align-items:stretch}
  .serv-foto{height:100%;min-height:115px;grid-row:1}
  .servicio-acordeon summary>.serv-meta{min-height:115px;padding:13px 42px 15px 13px;align-content:center}
  .servicio-acordeon strong{font-size:1.16rem}
  .servicio-acordeon small{font-size:.74rem}
  .serv-no{font-size:.62rem;letter-spacing:.08em}
  .serv-plus{right:11px;bottom:13px;width:29px;height:29px;font-size:1.2rem}
  .serv-cuerpo{padding:13px 16px 18px}
  .serv-cuerpo p{font-size:.85rem}
  .resenas-cab{align-items:flex-start;flex-direction:column;gap:15px}
  .resenas-cab>a{font-size:.82rem;white-space:normal}
  .resenas-grid{grid-template-columns:1fr;gap:10px}
  .resena-nueva{min-height:0;padding:18px}
  .resena-nueva:nth-child(n+3){display:none}
  .resena-nueva blockquote{margin:16px 0 18px;font-size:1.02rem}
  .ubi-mapa{width:100%;height:clamp(310px,63vw,420px);aspect-ratio:auto;margin:0}
  .ubi-mapa img{object-fit:cover}
  .ubi>div:last-child{padding:21px}
  body.em #ubicacion h2{font-size:clamp(2rem,7.8vw,2.8rem);max-width:none}
  .mapa-etiqueta{font-size:.7rem;padding:7px 10px}
  .reserva-txt{padding:23px}
  body.em .reserva-txt h2{font-size:clamp(2.6rem,9.5vw,3.55rem);max-width:12ch}
  .reserva-frase{font-size:.97rem}
  .reserva-pasos{gap:6px;margin:18px 0 15px!important}
  .reserva-pasos span{font-size:.7rem;padding:6px 8px}
  .agenda-cab{padding:13px 15px}
  .agenda-cab strong{font-size:1.16rem}
  .agenda-etapas{font-size:.78rem;padding:15px}
  .agenda-cuerpo{padding:20px 15px}
  body.em .agenda-cuerpo h3{font-size:1.55rem}
  .agenda-opciones button strong{font-size:.91rem}
  .footer-cta{flex-direction:column;align-items:stretch;gap:20px;margin-bottom:12px;padding:25px!important;border-radius:0 0 15px 15px}
  body.em .footer-cta h2{font-size:2.3rem;max-width:16ch}
  body.em .pie .footer-cta>a{width:100%;white-space:normal}
  .pie-grid{padding-top:24px}
  .pie-marca img{width:82px}
}
@media(prefers-reduced-motion:reduce){.serv-foto img{transition:none}}
