/* =====================================================
   MUNAY CURA · OPCIÓN B (sobria y elegante)
   Identidad: Montserrat (texto y títulos), paleta del manual.
   Reglas de alineación:
   · Encabezados de sección ............ centrados
   · Contenido (texto, tarjetas, listas) . a la izquierda y justificado
   · Botones principales y acciones ...... a la derecha cuando comparten línea
   ===================================================== */
@font-face{font-family:"Montserrat";src:url("../fonts/montserrat-latin-wght-normal.woff2") format("woff2");font-weight:100 900;font-style:normal;font-display:swap}
@font-face{font-family:"Montserrat";src:url("../fonts/montserrat-latin-wght-italic.woff2") format("woff2");font-weight:100 900;font-style:italic;font-display:swap}

:root{
  --rosa:#F995BA; --rosa-hondo:#F27BA6; --rosa-texto:#B03A6C; --rosa-vel:#FDEDF3;
  --oro:#E8B643; --oro-texto:#8A6410;
  --crema:#FEFAF5; --humo:#F8F2F1; --gris:#D3D3D3;
  --tinta:#2C2C2C; --texto:#4A4346; --suave:#6A6266;
  --linea:rgba(44,44,44,.13); --verde:#066A45;
  --fuente:"Montserrat",system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;
  --ancho:1240px; --r:14px; --nav-h:78px;
  --sombra:0 24px 60px -34px rgba(44,44,44,.38);
}
*,*::before,*::after{box-sizing:border-box}
*{margin:0;padding:0}
html{scroll-behavior:smooth;scroll-padding-top:calc(var(--nav-h) + 8px);-webkit-text-size-adjust:100%}
body{font-family:var(--fuente);color:var(--texto);background:var(--crema);font-size:1rem;line-height:1.75;-webkit-font-smoothing:antialiased;overflow-x:hidden}
img,svg{display:block;max-width:100%;height:auto}
a{color:inherit}
button{font:inherit;color:inherit}
ul,ol{list-style:none}
[hidden]{display:none!important}
.envoltura{width:100%;max-width:var(--ancho);margin:0 auto;padding:0 32px}
.solo-lectores{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
:focus-visible{outline:2px solid var(--oro);outline-offset:3px;border-radius:4px}
.saltar{position:absolute;left:12px;top:-60px;z-index:300;background:var(--tinta);color:#fff;padding:10px 16px;border-radius:8px;text-decoration:none;font-size:.85rem;transition:top .2s}
.saltar:focus{top:12px}

/* ---------- Texto ---------- */
h1,h2,h3{font-family:var(--fuente);color:var(--tinta);font-weight:300;letter-spacing:-.012em;line-height:1.14}
h3{font-weight:600;letter-spacing:0;line-height:1.3}
p{hyphens:auto;-webkit-hyphens:auto}
.justificado,.nosotros p,.doctora p,.paso p,.valor p,.svc p,.consejo p,.tarjeta p,.legal p,.legal li,.faq p,.urgencia p{text-align:justify;text-justify:inter-word}
.eyebrow{display:inline-block;font-size:.8rem;font-weight:600;letter-spacing:.04em;color:var(--rosa-texto);margin-bottom:14px}
.eyebrow::before{content:"";display:inline-block;width:28px;height:1px;background:var(--oro);vertical-align:middle;margin-right:12px}

/* Encabezado de sección (centrado) */
.encabezado{max-width:720px;margin:0 auto 64px;text-align:center}
.encabezado .eyebrow::after{content:"";display:inline-block;width:28px;height:1px;background:var(--oro);vertical-align:middle;margin-left:12px}
.encabezado h2{font-size:clamp(1.9rem,3.3vw,2.7rem);margin-bottom:18px}
.encabezado p{color:var(--suave);text-align:center;font-size:1.02rem;hyphens:manual}
.seccion{padding:112px 0;position:relative}
.seccion--humo{background:var(--humo)}

/* ---------- Botones ---------- */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;font-family:var(--fuente);font-size:.92rem;font-weight:600;letter-spacing:.01em;text-decoration:none;padding:15px 28px;border-radius:10px;border:1.5px solid transparent;cursor:pointer;transition:background .25s,border-color .25s,transform .25s,box-shadow .25s}
.btn svg{width:18px;height:18px;flex-shrink:0}
.btn--lleno{background:var(--rosa);color:var(--tinta)}
.btn--lleno:hover{background:var(--rosa-hondo);transform:translateY(-1px)}
.btn--oscuro{background:var(--tinta);color:#fff}
.btn--oscuro:hover{background:#000}
.btn--linea{background:transparent;border-color:var(--linea);color:var(--tinta)}
.btn--linea:hover{border-color:var(--tinta)}
.btn[aria-disabled="true"]{opacity:.5;pointer-events:none}

/* ---------- Navegación ---------- */
.nav{position:sticky;top:0;z-index:100;background:rgba(254,250,245,.92);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border-bottom:1px solid var(--linea)}
.nav__caja{display:flex;align-items:center;gap:30px;height:var(--nav-h)}
.nav__logo{display:block;flex-shrink:0}
.nav__logo img{height:48px;width:auto}
.nav nav{margin-left:auto}
.nav__enlaces{display:flex;gap:34px}
.nav__enlaces a{font-size:.9rem;font-weight:500;color:var(--texto);text-decoration:none;padding:6px 0;position:relative}
.nav__enlaces a::after{content:"";position:absolute;left:0;bottom:0;width:0;height:1px;background:var(--tinta);transition:width .3s}
.nav__enlaces a:hover,.nav__enlaces a:focus-visible{color:var(--tinta)}
.nav__enlaces a:hover::after,.nav__enlaces a:focus-visible::after{width:100%}
.nav__cta{padding:12px 22px;font-size:.86rem;flex-shrink:0}
.nav__menu{display:none;background:none;border:0;cursor:pointer;padding:10px;margin-right:-10px}
.nav__menu span{display:block;width:22px;height:1.5px;background:var(--tinta);margin:5px 0;transition:transform .3s,opacity .3s}
.nav__menu[aria-expanded="true"] span:nth-child(1){transform:translateY(6.5px) rotate(45deg)}
.nav__menu[aria-expanded="true"] span:nth-child(2){opacity:0}
.nav__menu[aria-expanded="true"] span:nth-child(3){transform:translateY(-6.5px) rotate(-45deg)}

/* ---------- Hero ---------- */
.hero{position:relative;overflow:hidden;isolation:isolate;display:flex;align-items:center;min-height:min(86vh,800px);padding:96px 0 170px;background:var(--crema)}
.hero::before{content:"";position:absolute;inset:0;z-index:1;pointer-events:none;background:linear-gradient(100deg,rgba(254,250,245,.97) 0%,rgba(254,250,245,.88) 38%,rgba(254,250,245,.1) 64%,rgba(254,250,245,0) 100%)}
.hero__bg{position:absolute;inset:0;z-index:0;overflow:hidden;transform:translate3d(0,var(--py,0px),0);will-change:transform}
.hero__bg img{position:absolute;right:0;top:-10%;height:114%;width:auto;max-width:none;-webkit-mask-image:linear-gradient(90deg,transparent 0,#000 44%),linear-gradient(0deg,transparent 0,#000 22%);-webkit-mask-composite:source-in;mask-image:linear-gradient(90deg,transparent 0,#000 44%),linear-gradient(0deg,transparent 0,#000 22%);mask-composite:intersect}
.hero__caja{position:relative;z-index:2;width:100%}
.hero__texto{max-width:660px}
.hero__texto>*{animation:subir .9s cubic-bezier(.2,.8,.3,1) both}
.hero__texto>*:nth-child(2){animation-delay:.12s}
.hero__texto>*:nth-child(3){animation-delay:.24s}
.hero__texto>*:nth-child(4){animation-delay:.36s}
html.con-precarga .hero__texto>*{animation-play-state:paused}
@keyframes subir{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:none}}
.hero h1{font-size:clamp(2rem,3.6vw,3.1rem);margin-bottom:24px;max-width:15em}
.hero h1 em{font-style:normal;font-weight:500;color:var(--rosa-texto)}
.hero__parrafo{font-size:1.06rem;color:var(--texto);margin-bottom:34px}
.confianza{display:flex;flex-wrap:wrap;gap:12px 0}
.confianza li{display:flex;align-items:center;gap:10px;font-size:.88rem;font-weight:500;color:var(--tinta);padding:0 20px;border-left:1px solid var(--linea);white-space:nowrap}
.confianza li:first-child{padding-left:0;border-left:0}
.confianza svg{width:20px;height:20px;color:var(--rosa-texto);flex-shrink:0}

/* Agenda rápida */
.rapida-zona{position:relative;z-index:5;margin-top:-84px}
.rapida{display:grid;grid-template-columns:1fr 1.25fr 1fr auto;background:#fff;border:1px solid var(--linea);border-radius:16px;box-shadow:var(--sombra);padding:12px}
.rapida__campo{padding:12px 24px;border-right:1px solid var(--linea);display:flex;flex-direction:column;justify-content:center;min-width:0}
.rapida__campo label{font-size:.76rem;font-weight:600;color:var(--rosa-texto);margin-bottom:2px}
.rapida__campo select{width:100%;font-family:var(--fuente);font-size:1rem;font-weight:500;color:var(--tinta);background:transparent;border:0;padding:4px 20px 4px 0;appearance:none;-webkit-appearance:none;cursor:pointer;outline-offset:4px;text-overflow:ellipsis;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 8' fill='none' stroke='%232C2C2C' stroke-width='1.5'><path d='M1 1l5 5 5-5'/></svg>");background-repeat:no-repeat;background-position:right 2px center;background-size:11px}
.rapida__btn{border-radius:12px;padding:0 34px;margin:2px;min-height:62px}
.rapida__nota{margin-top:16px;font-size:.82rem;color:var(--suave);text-align:left}
.rapida__nota a{color:var(--rosa-texto);text-underline-offset:3px}

/* ---------- Valores ---------- */
.valores{padding:96px 0 0}
.valores__rejilla{display:grid;grid-template-columns:repeat(4,1fr);gap:0}
.valor{padding:6px 32px 6px 32px;border-left:1px solid var(--linea)}
.valor:first-child{padding-left:0;border-left:0}
.valor:last-child{padding-right:0}
.valor svg{width:30px;height:30px;color:var(--rosa-texto);margin-bottom:18px}
.valor h3{font-size:1.04rem;margin-bottom:10px}
.valor p{font-size:.92rem;color:var(--suave)}

/* ---------- Servicios ---------- */
.servicios{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.svc{background:#fff;border:1px solid var(--linea);border-radius:var(--r);padding:34px 32px 30px;display:flex;flex-direction:column;align-items:flex-start;text-align:left;transition:transform .35s cubic-bezier(.2,.8,.3,1),border-color .35s,box-shadow .35s}
.svc:hover{transform:translateY(-4px);border-color:rgba(249,149,186,.8);box-shadow:var(--sombra)}
.svc__icono{width:56px;height:56px;object-fit:contain;object-position:left center;margin-bottom:20px}
.svc__etiqueta{font-size:.78rem;font-weight:600;color:var(--oro-texto);margin-bottom:6px}
.svc h3{font-size:1.18rem;margin-bottom:10px}
.svc p{font-size:.93rem;color:var(--suave);margin-bottom:22px;flex:1}
.serv__pedir{background:none;border:0;cursor:pointer;text-decoration:none;padding:4px 0;font-size:.88rem;font-weight:600;color:var(--rosa-texto);display:inline-flex;align-items:center;gap:8px;border-bottom:1px solid transparent;transition:border-color .25s}
.serv__pedir:hover{border-color:var(--rosa-texto)}
.serv__pedir svg{width:14px;height:14px;transition:transform .25s}
.serv__pedir:hover svg{transform:translateX(4px)}
.svc--cta{background:var(--tinta);border-color:var(--tinta);justify-content:center}
.svc--cta h3{color:#fff;font-size:1.3rem;font-weight:400;margin-bottom:12px}
.svc--cta p{color:#CFC8CB;flex:0 0 auto}
.svc--cta:hover{border-color:var(--tinta)}

/* ---------- Dos columnas (Quiénes somos / Doctora) ---------- */
.nosotros,.doctora{display:grid;gap:88px;align-items:center}
.nosotros{grid-template-columns:.9fr 1.1fr}
.doctora{grid-template-columns:1.1fr .9fr}
.foto{position:relative}
.foto img{width:100%;aspect-ratio:4/5;object-fit:cover;border-radius:var(--r);background:var(--humo)}
.foto::after{content:"";position:absolute;inset:18px -18px -18px 18px;border:1px solid var(--oro);border-radius:var(--r);z-index:-1;opacity:.8}
.doctora .foto::after{inset:18px 18px -18px -18px}
.dos h2{font-size:clamp(1.8rem,3vw,2.5rem);margin-bottom:24px}
.dos p{color:var(--texto);margin-bottom:18px}
.compromisos{margin:28px 0 8px}
.compromisos li{display:flex;gap:14px;align-items:flex-start;padding:14px 0;border-top:1px solid var(--linea);font-size:.96rem;color:var(--tinta);font-weight:500}
.compromisos li:last-child{border-bottom:1px solid var(--linea)}
.compromisos svg{width:20px;height:20px;color:var(--rosa-texto);flex-shrink:0;margin-top:3px}
.nota-nombre{font-size:.86rem!important;color:var(--suave)!important;font-style:italic;margin-top:22px;margin-bottom:0!important;padding-left:16px;border-left:2px solid var(--oro)}
.titulos{margin-top:26px}
.titulos li{display:flex;gap:14px;align-items:flex-start;padding:13px 0;border-top:1px solid var(--linea);font-size:.95rem;color:var(--tinta);font-weight:500;line-height:1.5}
.titulos li:last-child{border-bottom:1px solid var(--linea)}
.titulos li::before{content:"";width:7px;height:7px;border-radius:50%;background:var(--oro);flex-shrink:0;margin-top:8px}

/* ---------- Pasos ---------- */
.pasos{display:grid;grid-template-columns:repeat(3,1fr);gap:40px;margin-bottom:72px}
.paso{border-top:1px solid var(--tinta);padding-top:22px}
.paso__num{display:block;font-size:2.6rem;font-weight:200;color:var(--oro-texto);line-height:1;margin-bottom:16px}
.paso h3{font-size:1.12rem;margin-bottom:10px}
.paso p{font-size:.94rem;color:var(--suave)}

/* ---------- Hoja de agenda ---------- */
.recetario{display:grid;grid-template-columns:1.1fr .9fr;border:1px solid var(--linea);border-radius:18px;overflow:hidden;background:#fff;box-shadow:var(--sombra)}
.hoja{background:#fff}
.hoja__cabeza{display:flex;justify-content:space-between;align-items:center;padding:24px 36px 20px;border-bottom:1px solid var(--linea)}
.hoja__marca img{height:56px;width:auto}
.hoja__doctora{text-align:right}
.hoja__doctora strong{display:block;font-size:.95rem;font-weight:600;color:var(--tinta)}
.hoja__doctora span{font-size:.82rem;color:var(--suave)}
.hoja__campos{padding:30px 36px 34px}
.campo{margin-bottom:22px}
.campo>label,.campo__etiqueta{display:block;font-size:.8rem;font-weight:600;color:var(--tinta);margin-bottom:6px}
.campo input[type="text"],.campo select,.campo textarea{width:100%;font-family:var(--fuente);font-size:.96rem;color:var(--tinta);background:transparent;border:0;border-bottom:1px solid #bdb5b9;padding:8px 2px;border-radius:0;outline-offset:4px}
.campo textarea{resize:vertical;min-height:76px;border:1px solid #cfc7cb;border-radius:10px;padding:12px}
.campo input:focus,.campo select:focus,.campo textarea:focus{border-color:var(--tinta)}
.campo select{appearance:none;-webkit-appearance:none;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 8' fill='none' stroke='%232C2C2C' stroke-width='1.5'><path d='M1 1l5 5 5-5'/></svg>");background-repeat:no-repeat;background-position:right 4px center;background-size:11px;padding-right:22px}
.campo--par{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.opciones{display:flex;gap:8px;flex-wrap:wrap}
.opcion{position:relative}
.opcion input{position:absolute;inset:0;opacity:0;width:100%;height:100%;cursor:pointer;margin:0}
.opcion span{display:inline-flex;align-items:center;border:1px solid #cfc7cb;border-radius:8px;padding:9px 18px;font-size:.88rem;color:var(--texto);transition:.25s}
.opcion input:checked+span{background:var(--tinta);border-color:var(--tinta);color:#fff;font-weight:600}
.opcion input:focus-visible+span{outline:2px solid var(--oro);outline-offset:2px}
.campo>label.acepto{font-weight:400;font-size:.84rem;color:var(--suave);margin:0}
.acepto{display:flex;gap:12px;align-items:flex-start;line-height:1.55}
.acepto input{margin-top:3px;width:17px;height:17px;accent-color:var(--tinta);flex-shrink:0}
.acepto a{color:var(--rosa-texto);text-underline-offset:3px}
.vista{background:var(--tinta);color:#fff;padding:36px;display:flex;flex-direction:column}
.vista__titulo{font-size:1.15rem;font-weight:400;margin-bottom:6px}
.vista__ayuda{font-size:.86rem;color:#CFC8CB;margin-bottom:22px}
.vista__burbuja{background:#fff;color:var(--tinta);border-radius:14px 14px 14px 4px;padding:18px 20px;font-size:.9rem;line-height:1.65;white-space:pre-wrap;flex:1;min-height:180px;text-align:left}
.vista__enviar{margin-top:22px;width:100%}
.vista__nota{font-size:.78rem;margin-top:14px;color:#CFC8CB;text-align:left}

/* ---------- Galería ---------- */
.galeria{display:grid;grid-template-columns:repeat(4,1fr);gap:22px}
.galeria figure{margin:0}
.galeria img{width:100%;aspect-ratio:4/5;object-fit:cover;border-radius:var(--r);background:var(--humo)}
.galeria figcaption{margin-top:12px;font-size:.88rem;font-weight:500;color:var(--tinta);text-align:left}

/* ---------- Consejos ---------- */
.consejos{display:grid;grid-template-columns:repeat(3,1fr);gap:48px 40px}
.consejo{border-top:1px solid var(--tinta);padding-top:22px}
.consejo svg{width:28px;height:28px;color:var(--oro-texto);margin-bottom:14px}
.consejo h3{font-size:1.04rem;margin-bottom:8px}
.consejo p{font-size:.93rem;color:var(--suave)}

/* ---------- Urgencias ---------- */
.urgencia{background:var(--tinta);color:#fff;padding:56px 0}
.urgencia__caja{display:flex;align-items:center;justify-content:space-between;gap:56px}
.urgencia h2{color:#fff;font-size:clamp(1.5rem,2.4vw,2rem);margin-bottom:10px}
.urgencia p{color:#D6CFD2;max-width:62ch;font-size:.97rem}
.urgencia .btn{flex-shrink:0}

/* ---------- Contacto ---------- */
.contacto-rejilla{display:grid;grid-template-columns:1fr 1fr;gap:24px}
.tarjeta{background:#fff;border:1px solid var(--linea);border-radius:var(--r);padding:38px 38px 34px;text-align:left}
.tarjeta h3{font-size:1.2rem;margin-bottom:12px}
.tarjeta>p{font-size:.95rem;color:var(--suave);margin-bottom:20px}
.puntos li{display:flex;gap:14px;align-items:flex-start;padding:13px 0;border-top:1px solid var(--linea);font-size:.95rem;color:var(--tinta);font-weight:500}
.puntos li:last-child{border-bottom:1px solid var(--linea)}
.puntos svg{width:20px;height:20px;color:var(--rosa-texto);flex-shrink:0;margin-top:3px}
.datos li{display:flex;gap:16px;align-items:center;padding:15px 0;border-top:1px solid var(--linea);font-size:.97rem}
.datos li:first-child{border-top:0;padding-top:4px}
.datos svg{width:20px;height:20px;color:var(--rosa-texto);flex-shrink:0}
.datos a{text-decoration:none;color:var(--tinta);font-weight:500;border-bottom:1px solid transparent;transition:border-color .25s}
.datos a:hover{border-color:var(--tinta)}

/* ---------- Preguntas ---------- */
.faq{max-width:880px;margin:0 auto}
.faq details{border-bottom:1px solid var(--linea)}
.faq details:first-child{border-top:1px solid var(--linea)}
.faq summary{cursor:pointer;list-style:none;padding:24px 44px 24px 0;position:relative;font-weight:600;font-size:1rem;color:var(--tinta);text-align:left}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"";position:absolute;right:6px;top:50%;width:9px;height:9px;border-right:1.5px solid var(--tinta);border-bottom:1.5px solid var(--tinta);transform:translateY(-70%) rotate(45deg);transition:transform .3s}
.faq details[open] summary::after{transform:translateY(-30%) rotate(-135deg)}
.faq p{padding:0 8px 26px 0;font-size:.96rem;color:var(--suave)}
.faq p a{color:var(--rosa-texto)}

/* ---------- Cierre ---------- */
.cierre{padding:120px 0;text-align:center;background:var(--crema)}
.cierre h2{font-size:clamp(1.9rem,3.6vw,2.9rem);margin-bottom:16px}
.cierre p{color:var(--suave);max-width:48ch;margin:0 auto 34px;text-align:center;hyphens:manual}

/* ---------- Pie ---------- */
.pie{background:var(--tinta);color:#D6CFD2;padding:80px 0 0}
.pie__cols{display:grid;grid-template-columns:1.4fr 1fr 1.3fr 1fr;gap:48px;text-align:left}
.pie__logo img{height:66px;width:auto;margin-bottom:20px}
.pie__lema{font-size:.95rem;color:#D6CFD2;max-width:30ch;line-height:1.6;hyphens:manual}
.pie h3{font-size:.92rem;font-weight:600;color:#fff;margin-bottom:18px}
.pie li{margin-bottom:11px;font-size:.92rem;line-height:1.5}
.pie a{text-decoration:none;color:#D6CFD2;transition:color .2s}
.pie a:hover{color:#fff}
.pie__enlace-btn{background:none;border:0;cursor:pointer;padding:0;font-size:.92rem;color:#D6CFD2;text-align:left}
.pie__enlace-btn:hover{color:#fff}
.pie__redes{display:flex;gap:10px;margin-top:20px}
.pie__redes a{display:grid;place-items:center;width:38px;height:38px;border:1px solid rgba(255,255,255,.25);border-radius:50%;transition:.25s}
.pie__redes a:hover{background:#fff}
.pie__redes svg{width:16px;height:16px;color:#fff}
.pie__redes a:hover svg{color:var(--tinta)}
.pie__legal{margin-top:64px;padding:26px 0 30px;border-top:1px solid rgba(255,255,255,.15);display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;font-size:.84rem;color:#B5ADB1}

/* ---------- WhatsApp flotante ---------- */
.flotante{position:fixed;right:24px;bottom:24px;z-index:90;display:inline-flex;align-items:center;background:var(--rosa);color:var(--tinta);text-decoration:none;border-radius:999px;padding:15px;box-shadow:0 14px 34px -12px rgba(44,44,44,.5);overflow:hidden;transition:padding .35s,background .25s,transform .25s}
.flotante svg{width:26px;height:26px;flex-shrink:0}
.flotante span{max-width:0;opacity:0;white-space:nowrap;overflow:hidden;font-size:.86rem;font-weight:600;transition:max-width .35s,opacity .3s,margin .35s}
.flotante:hover,.flotante:focus-visible{background:var(--rosa-hondo);padding-right:24px;transform:translateY(-2px)}
.flotante:hover span,.flotante:focus-visible span{max-width:200px;opacity:1;margin-left:10px}

/* ---------- Cookies ---------- */
.cookies{position:fixed;left:24px;bottom:24px;z-index:120;max-width:430px;width:calc(100% - 48px);background:#fff;border:1px solid var(--linea);border-radius:16px;box-shadow:0 26px 60px -22px rgba(44,44,44,.45);padding:26px 26px 22px;text-align:left}
.cookies h2{font-size:1.1rem;font-weight:600;margin-bottom:8px}
.cookies p{font-size:.86rem;color:var(--suave);margin-bottom:16px;hyphens:manual}
.cookies p a{color:var(--rosa-texto)}
.cookies__acciones{display:flex;flex-wrap:wrap;gap:8px}
.cookies .btn{padding:11px 18px;font-size:.82rem}
.cookies__panel{border-top:1px solid var(--linea);margin-top:16px;padding-top:14px}
.cookies__fila{display:flex;justify-content:space-between;gap:14px;align-items:flex-start;padding:9px 0;font-size:.84rem}
.cookies__fila strong{display:block;font-size:.86rem}
.cookies__fila span{color:var(--suave)}
.cookies__guardar{margin-top:10px}
.cookies__fila input{width:20px;height:20px;accent-color:var(--tinta);flex-shrink:0;margin-top:2px}

/* ---------- Precarga y progreso ---------- */
.precarga{position:fixed;inset:0;z-index:9999;display:grid;place-items:center;background:var(--crema);transition:opacity .55s ease,visibility .55s}
.precarga__caja{display:flex;flex-direction:column;align-items:center;gap:30px}
.precarga__logo{width:140px;height:auto}
.precarga__barra{position:relative;width:min(220px,60vw);height:2px;background:var(--linea)}
.precarga__relleno{position:absolute;left:0;top:0;bottom:0;background:var(--tinta);width:0;animation:llenar 1s cubic-bezier(.5,0,.2,1) forwards}
.precarga__huella{display:none}
@keyframes llenar{to{width:100%}}
.precarga--fuera{opacity:0;visibility:hidden}
html.con-precarga{overflow:hidden}
.progreso{position:fixed;left:0;right:0;top:0;height:2px;z-index:150;background:var(--rosa);transform:scaleX(0);transform-origin:left;pointer-events:none}

/* ---------- Páginas legales, guía, 404 ---------- */
.legal{padding:72px 0 110px}
.legal__caja{max-width:860px;margin:0 auto}
.legal h1{font-size:clamp(1.9rem,3.6vw,2.7rem);margin-bottom:10px}
.legal__fecha{font-size:.88rem;color:var(--suave);margin-bottom:30px}
.legal__volver{display:inline-flex;gap:8px;align-items:center;margin-bottom:28px;font-size:.88rem;font-weight:600;text-decoration:none;color:var(--suave)}
.legal__volver:hover{color:var(--tinta)}
.legal__indice{background:var(--humo);border:1px solid var(--linea);border-radius:var(--r);padding:24px 28px;margin-bottom:44px;text-align:left}
.legal__indice strong{display:block;font-size:.84rem;font-weight:600;color:var(--rosa-texto);margin-bottom:10px}
.legal__indice ol{padding-left:20px;columns:2;column-gap:32px;font-size:.9rem;list-style:decimal}
.legal__indice li{margin-bottom:5px;break-inside:avoid}
.legal__indice a{color:var(--texto);text-underline-offset:3px}
.legal h2{font-size:1.4rem;font-weight:400;margin:44px 0 14px}
.legal h3{font-size:1rem;margin:20px 0 8px}
.legal p,.legal li{font-size:.97rem;color:var(--texto);margin-bottom:12px}
.legal ul,.legal ol.num{padding-left:22px;margin-bottom:14px}
.legal ul{list-style:disc}
.legal ol.num{list-style:decimal}
.legal a{color:var(--rosa-texto);text-underline-offset:3px}
.legal mark.completar{background:#FFF1B8;color:#5b4300;padding:1px 6px;border-radius:5px;font-weight:600}
.tabla-wrap{overflow-x:auto;margin:14px 0 20px;border:1px solid var(--linea);border-radius:var(--r)}
.legal table{border-collapse:collapse;width:100%;min-width:560px;font-size:.88rem}
.legal th,.legal td{text-align:left;padding:12px 14px;border-bottom:1px solid var(--linea);vertical-align:top}
.legal th{background:var(--humo);font-size:.78rem;font-weight:600;color:var(--rosa-texto)}
.legal tr:last-child td{border-bottom:0}
.legal td,.legal .tabla-wrap p{text-align:left}
.guia-tabla{width:100%;border-collapse:collapse;font-size:.88rem}
.guia-tabla img{width:96px;height:72px;object-fit:cover;border-radius:10px;background:var(--humo)}
.guia-tabla code,.legal code{background:#F3EEDF;padding:2px 8px;border-radius:6px;font-size:.82rem;word-break:break-all}
.guia-estado{display:inline-block;font-size:.72rem;font-weight:700;padding:4px 10px;border-radius:999px}
.guia-estado--temp{background:#FFF1B8;color:#5b4300}
.guia-estado--ok{background:#DDF3E8;color:var(--verde)}
.guia-estado--off{background:#ECE8EA;color:var(--suave)}
.error404{min-height:60vh;display:grid;place-items:center;text-align:center;padding:90px 24px}
.error404 img{width:110px;margin:0 auto 22px}
.error404 h1{font-size:clamp(1.7rem,4vw,2.4rem);margin-bottom:12px}
.error404 p{color:var(--suave);margin:0 auto 28px;text-align:center}

img.img-fallida{background:var(--humo);color:transparent}
.js .rev{opacity:0;transform:translateY(16px);transition:opacity .8s ease,transform .8s cubic-bezier(.2,.8,.3,1)}
.js .rev.visible{opacity:1;transform:none}

/* ---------- Responsive ---------- */
@media(max-width:1100px){
  .servicios{grid-template-columns:1fr 1fr}
  .valores__rejilla{grid-template-columns:1fr 1fr;gap:40px 0}
  .valor:nth-child(3){padding-left:0;border-left:0}
  .consejos{grid-template-columns:1fr 1fr}
  .galeria{grid-template-columns:1fr 1fr}
  .pie__cols{grid-template-columns:1fr 1fr}
  .nosotros,.doctora{gap:56px}
}
@media(max-width:900px){
  .nav__caja{gap:12px}
  .nav nav{margin-left:0}
  .nav__cta{margin-left:auto}
  .nav__menu{display:block}
  .nav__enlaces{display:none}
  .nav__enlaces.abierto{display:flex;flex-direction:column;gap:6px;position:absolute;top:var(--nav-h);left:0;right:0;background:var(--crema);padding:18px 32px 26px;border-bottom:1px solid var(--linea)}
  .nav__enlaces a{display:block;padding:12px 0;font-size:1rem;border-bottom:1px solid var(--linea)}
  .nav__enlaces a::after{display:none}
  .hero{display:block;min-height:0;padding:56px 0 470px}
  .hero::before{background:linear-gradient(180deg,rgba(254,250,245,1) 0%,rgba(254,250,245,1) 50%,rgba(254,250,245,0) 70%)}
  .hero__bg{inset:auto 0 0 0;height:540px}
  .hero__bg img{top:0;left:50%;right:auto;height:100%;transform:translateX(-50%);-webkit-mask-image:linear-gradient(180deg,transparent 0,#000 36%),linear-gradient(90deg,transparent 0,#000 16%,#000 84%,transparent 100%);-webkit-mask-composite:source-in;mask-image:linear-gradient(180deg,transparent 0,#000 36%),linear-gradient(90deg,transparent 0,#000 16%,#000 84%,transparent 100%);mask-composite:intersect}
  .hero__texto{max-width:none}
  .hero__parrafo{margin-bottom:28px}
  .confianza{flex-direction:column;align-items:flex-start;gap:12px}
  .confianza li{padding:0;border-left:0}
  .rapida{grid-template-columns:1fr 1fr}
  .rapida__campo{border-right:0;border-bottom:1px solid var(--linea)}
  .rapida__btn{grid-column:1/3;min-height:56px}
  .nosotros,.doctora,.recetario,.contacto-rejilla{grid-template-columns:1fr}
  .doctora .foto{order:-1}
  .foto{max-width:460px}
  .pasos{grid-template-columns:1fr;gap:32px}
  .urgencia__caja{flex-direction:column;align-items:flex-start;gap:28px}
  .seccion{padding:84px 0}
  .encabezado{margin-bottom:48px}
}
@media(max-width:640px){
  .envoltura{padding:0 22px}
  .nav__logo img{height:42px}
  .nav__cta{padding:10px 14px;font-size:.82rem}
  .nav__cta svg,.nav__cta-pre{display:none}
  .seccion{padding:68px 0}
  .valores{padding-top:64px}
  .valores__rejilla{grid-template-columns:1fr;gap:0}
  .valor,.valor:nth-child(3){padding:26px 0;border-left:0;border-top:1px solid var(--linea)}
  .valor:first-child{border-top:0;padding-top:0}
  .servicios,.consejos{grid-template-columns:1fr}
  .svc{padding:28px 24px 26px}
  .galeria{grid-template-columns:1fr 1fr;gap:14px}
  .rapida{grid-template-columns:1fr;border-radius:14px}
  .rapida__btn{grid-column:auto}
  .rapida-zona{margin-top:-60px}
  .hero{padding-bottom:410px}
  .hero__bg{height:450px}
  .campo--par{grid-template-columns:1fr}
  .hoja__cabeza{flex-direction:column;align-items:flex-start;gap:12px;padding:22px 22px 18px}
  .hoja__doctora{text-align:left}
  .hoja__campos,.vista{padding:26px 22px}
  .tarjeta{padding:30px 24px 26px}
  .pie__cols{grid-template-columns:1fr;gap:36px}
  .pie__legal{flex-direction:column}
  .legal__indice ol{columns:1}
  .flotante{right:16px;bottom:16px}
  .cookies{left:12px;right:12px;bottom:12px;width:auto}
  .cierre{padding:84px 0}
}
@media(prefers-reduced-motion:reduce){
  *,*::before,*::after{animation:none!important;transition-duration:.01ms!important}
  html{scroll-behavior:auto}
  .js .rev{opacity:1;transform:none}
}
@media print{.nav,.flotante,.cookies,.precarga,.progreso,.urgencia,.cierre{display:none!important}.legal{padding:0}}
