/* Diagnóstico Integral FB — estilos (fiel al diseño Base44) */
:root{
  --navy:#1a3a62; --navy-hover:#142e50;
  --blue:#2B6CB0; --sky:#6BB7E7;
  --cta:#8cc6d7; --cta-hover:#7bb6c9;
  --rosa-soft:#f7adb5; --rosa-bg:#fdf2f2; --rosa-accent:#d8969b;
  --wa:#25D366;
  --slate-800:#1e293b; --slate-700:#334155; --slate-600:#475569;
  --slate-400:#94a3b8; --slate-200:#e2e8f0; --slate-100:#f1f5f9; --slate-50:#f8fafc;
  --f-body:'Inter',system-ui,sans-serif;
  --f-heading:'Plus Jakarta Sans','Inter',system-ui,sans-serif;
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{font-family:var(--f-body);color:var(--slate-800);background:#fff;line-height:1.6;-webkit-font-smoothing:antialiased}
img{display:block;max-width:100%}
a{color:inherit;text-decoration:none}
h1,h2,h3,h4{font-family:var(--f-heading);color:var(--navy)}
.contenedor{max-width:72rem;margin-inline:auto;padding-inline:1rem}
@media(min-width:640px){.contenedor{padding-inline:1.5rem}}
.contenedor-angosto{max-width:48rem}
.ic{width:1.25rem;height:1.25rem;flex-shrink:0}
.ic.azul{color:var(--blue)}

/* ---------- Botones ---------- */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;border:0;border-radius:9999px;
  font-family:var(--f-body);font-weight:600;font-size:.875rem;padding:.65rem 1.5rem;cursor:pointer;
  transition:background .2s,filter .2s,transform .2s;white-space:nowrap}
.btn-grande{padding:.9rem 1.5rem;font-size:1rem}
.btn-chico{padding:.6rem 1.25rem;margin-top:.5rem}
.btn-bloque{width:100%}
.btn-cta{background:var(--cta);color:#fff;box-shadow:0 1px 2px rgba(0,0,0,.08)}
.btn-cta:hover{background:var(--cta-hover)}
.btn-navy{background:var(--navy);color:#fff;box-shadow:0 1px 2px rgba(0,0,0,.08)}
.btn-navy:hover{background:var(--navy-hover)}
.btn-navy:disabled{opacity:.5;cursor:not-allowed}
.btn-rosa{background:var(--rosa-soft);color:var(--navy);box-shadow:0 10px 20px rgba(0,0,0,.2)}
.btn-rosa:hover{filter:brightness(1.05)}
.btn-blanco{background:#fff;color:var(--navy);box-shadow:0 10px 20px rgba(0,0,0,.2)}
.btn-blanco:hover{background:var(--slate-50)}
.btn-blanco .ic-wa{color:var(--wa)}

/* ---------- Header ---------- */
.header{position:sticky;top:0;z-index:50;background:rgba(255,255,255,.7);
  backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-bottom:1px solid rgba(255,255,255,.2)}
.header-fila{display:flex;align-items:center;justify-content:space-between;gap:1rem;height:4rem}
@media(min-width:640px){.header-fila{height:5rem}}
.header-logo img{height:54px;width:auto}
@media(min-width:640px){.header-logo img{height:66px}}
.nav-desktop{display:none;align-items:center;gap:2rem}
@media(min-width:1024px){.nav-desktop{display:flex}}
.nav-desktop a{font-size:.875rem;font-weight:500;color:var(--slate-700);transition:color .2s}
.nav-desktop a:hover{color:var(--navy)}
.header-cta{display:none}
@media(min-width:640px){.header-cta{display:inline-flex;padding:.65rem 1.25rem}}
.menu-toggle{display:inline-flex;background:none;border:0;padding:.5rem;color:var(--navy);cursor:pointer}
@media(min-width:1024px){.menu-toggle{display:none}}
.menu-toggle svg{width:1.5rem;height:1.5rem}
.menu-toggle .ic-cerrar{display:none}
.menu-toggle[aria-expanded="true"] .ic-menu{display:none}
.menu-toggle[aria-expanded="true"] .ic-cerrar{display:block}
.menu-movil{display:none;border-top:1px solid var(--slate-100);background:#fff}
.menu-movil.abierto{display:block}
.menu-movil nav{display:flex;flex-direction:column;padding-block:.75rem}
.menu-movil nav>a{padding:.75rem 0;font-size:1rem;font-weight:500;color:var(--slate-800);border-bottom:1px solid var(--slate-50)}
.menu-movil nav>a.btn{margin-top:.75rem;border-bottom:0;color:#fff}

/* ---------- Hero ---------- */
.hero{position:relative}
.hero-visual{position:relative;overflow:hidden}
.hero-fondo{position:absolute;inset:0}
.hero-fondo img{width:100%;height:100%;object-fit:cover;object-position:50% 22%}
@media(max-width:639px){.hero-fondo img{object-position:27% 25%}}
@media(min-width:640px) and (max-width:1023px){.hero-fondo img{object-position:38% 22%}}
.hero-degradado{position:absolute;inset:0;background:linear-gradient(to right,rgba(13,32,60,.85),rgba(13,32,60,.55) 45%,rgba(13,32,60,.18))}
@media(max-width:639px){.hero-degradado{background:linear-gradient(to bottom,rgba(13,32,60,.78),rgba(13,32,60,.55) 60%,rgba(13,32,60,.3))}}
.hero-contenido{position:relative;display:flex;align-items:center;justify-content:space-between;gap:2rem;
  min-height:600px;padding-top:4rem;padding-bottom:8.5rem}
@media(min-width:640px){.hero-contenido{min-height:680px;padding-top:2rem}}
.hero-texto{max-width:36rem;color:#fff}
.hero-badge{display:inline-flex;align-items:center;gap:.5rem;border-radius:9999px;background:rgba(255,255,255,.15);
  padding:.25rem .75rem;font-size:.8rem;font-weight:500;backdrop-filter:blur(4px);margin-bottom:1rem}
.hero-badge .punto{width:.5rem;height:.5rem;border-radius:50%;background:var(--rosa-soft)}
.hero-texto h1{color:#fff;font-size:1.875rem;font-weight:800;line-height:1.15;letter-spacing:-.02em;
  text-shadow:0 2px 8px rgba(0,0,0,.45)}
@media(min-width:640px){.hero-texto h1{font-size:3rem}}
.hero-bajada{margin-top:1rem;font-size:1rem;color:rgba(255,255,255,.9);text-shadow:0 1px 4px rgba(0,0,0,.4)}
@media(min-width:640px){.hero-bajada{font-size:1.125rem}}
.hero-botones{margin-top:1.75rem;display:flex;flex-direction:column;gap:.75rem}
@media(min-width:640px){.hero-botones{flex-direction:row}}
.hero-diferenciales{display:none;list-style:none;flex-direction:column;gap:1rem;max-width:20rem;text-align:right}
@media(min-width:1024px){.hero-diferenciales{display:flex}}
.hero-diferenciales li{display:flex;align-items:center;justify-content:flex-end;gap:.75rem;
  font-size:.875rem;color:rgba(255,255,255,.95);background:rgba(13,32,60,.38);border-radius:9999px;
  padding:.3rem .3rem .3rem 1rem;backdrop-filter:blur(3px);-webkit-backdrop-filter:blur(3px)}
.hero-diferenciales span{text-shadow:0 1px 4px rgba(0,0,0,.4)}
.dif-icono{display:flex;width:2.25rem;height:2.25rem;align-items:center;justify-content:center;flex-shrink:0;
  border-radius:50%;background:rgba(255,255,255,.15);backdrop-filter:blur(4px);color:var(--rosa-soft)}
.dif-icono svg{width:1rem;height:1rem}
.hero-tarjetas{display:grid;grid-template-columns:1fr;gap:1.25rem;margin-top:-5rem;position:relative;z-index:10}
@media(min-width:640px){.hero-tarjetas{grid-template-columns:repeat(3,1fr);margin-top:-6rem}}
.tarjeta-hero{border-radius:1rem;background:var(--bg,#fff);box-shadow:0 4px 10px rgba(0,0,0,.08);
  padding:2rem;text-align:center}
.tarjeta-icono{margin-inline:auto;display:flex;width:3.5rem;height:3.5rem;align-items:center;justify-content:center;
  border-radius:50%;background:#fff;box-shadow:0 1px 3px rgba(0,0,0,.1);margin-bottom:1.25rem}
.tarjeta-icono svg{width:1.75rem;height:1.75rem}
.tarjeta-icono.azul{color:var(--blue)}
.tarjeta-icono.rosa{color:var(--rosa-accent)}
.tarjeta-icono.verde{color:#10b981}
.tarjeta-hero h3{font-size:1.125rem;font-weight:700}
.tarjeta-hero p{margin-top:.5rem;font-size:.875rem;color:var(--slate-600)}
@keyframes subir{from{opacity:0;transform:translateY(24px)}to{opacity:1;transform:none}}
.anim{opacity:0;animation:subir .5s ease-out forwards}
.hero-tarjetas .anim:nth-child(1){animation-delay:.2s}
.hero-tarjetas .anim:nth-child(2){animation-delay:.35s}
.hero-tarjetas .anim:nth-child(3){animation-delay:.5s}
@media(prefers-reduced-motion:reduce){.anim{animation:none;opacity:1}}

/* ---------- Secciones ---------- */
.seccion{background:#fff;padding-block:4rem}
@media(min-width:640px){.seccion{padding-block:6rem}}
.seccion-rosa{background:var(--rosa-bg)}
.seccion-cabeza{text-align:center;max-width:42rem;margin:0 auto 3rem}
.sobretitulo{font-size:.875rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em}
.sobretitulo.azul{color:var(--blue)}
.sobretitulo.rosa{color:var(--rosa-accent)}
.seccion-cabeza h2,.domicilio-texto h2{margin-top:.5rem;font-size:1.875rem;font-weight:700}
@media(min-width:640px){.seccion-cabeza h2,.domicilio-texto h2{font-size:2.25rem}}
.bajada{margin-top:1rem;color:var(--slate-600);font-size:1.125rem}

/* ---------- Estudios ---------- */
.grilla-estudios{display:grid;grid-template-columns:1fr;gap:1.5rem}
@media(min-width:640px){.grilla-estudios{grid-template-columns:repeat(2,1fr)}}
@media(min-width:1024px){.grilla-estudios{grid-template-columns:repeat(3,1fr)}}
.tarjeta-estudio{border-radius:1rem;background:#fff;border:1px solid var(--slate-100);
  box-shadow:0 1px 2px rgba(0,0,0,.05);transition:box-shadow .2s;padding:1.5rem}
.tarjeta-estudio:hover{box-shadow:0 4px 10px rgba(0,0,0,.08)}
.tarjeta-estudio header{display:flex;align-items:center;gap:.75rem;margin-bottom:1rem}
.estudio-icono{display:flex;width:2.5rem;height:2.5rem;align-items:center;justify-content:center;flex-shrink:0;
  border-radius:50%;background:var(--rosa-bg);color:var(--rosa-accent)}
.estudio-icono svg{width:1.25rem;height:1.25rem}
.tarjeta-estudio h3{font-size:1.125rem;font-weight:700}
.tarjeta-estudio ul{list-style:none;display:flex;flex-direction:column;gap:.625rem}
.tarjeta-estudio li{display:flex;align-items:flex-start;gap:.5rem;font-size:.875rem;color:var(--slate-700)}
.tarjeta-estudio li::before{content:"";margin-top:.42rem;width:.375rem;height:.375rem;flex-shrink:0;
  border-radius:50%;background:var(--sky)}

/* ---------- Preparación (acordeón) ---------- */
.acordeon{display:flex;flex-direction:column;gap:.75rem}
.acordeon-item{border:1px solid var(--slate-200);border-radius:.75rem;background:#fff;padding-inline:1.25rem}
.acordeon-item[data-abierto]{box-shadow:0 1px 3px rgba(0,0,0,.06)}
.acordeon-boton{width:100%;display:flex;align-items:center;justify-content:space-between;gap:1rem;
  background:none;border:0;cursor:pointer;text-align:left;padding-block:1.25rem;
  font-family:var(--f-body);font-size:1rem;font-weight:600;color:var(--navy)}
.acordeon-boton svg{width:1rem;height:1rem;flex-shrink:0;color:var(--slate-400);transition:transform .2s}
.acordeon-item[data-abierto] .acordeon-boton svg{transform:rotate(180deg)}
.acordeon-panel{overflow:hidden;max-height:0;transition:max-height .25s ease-out}
.acordeon-panel p{color:var(--slate-600);padding-bottom:1.25rem}

/* ---------- Domicilio ---------- */
.grilla-domicilio{display:grid;grid-template-columns:1fr;gap:2.5rem;align-items:center}
@media(min-width:1024px){.grilla-domicilio{grid-template-columns:1fr 1fr;gap:3.5rem}}
.domicilio-foto{order:-1}
@media(min-width:1024px){.domicilio-foto{order:2}}
.domicilio-foto img{border-radius:1rem;box-shadow:0 10px 25px rgba(0,0,0,.12);aspect-ratio:4/3;width:100%;object-fit:cover}
.domicilio-mapa{border-radius:1rem;overflow:hidden;box-shadow:0 10px 25px rgba(0,0,0,.12);aspect-ratio:4/3}
.domicilio-mapa iframe{width:100%;height:100%;border:0;display:block}
.domicilio-texto .bajada{font-size:1.125rem}
.lista-domicilio{list-style:none;margin-top:1.5rem;display:flex;flex-direction:column;gap:.75rem}
.lista-domicilio li{display:flex;align-items:flex-start;gap:.75rem;color:var(--slate-700)}
.lista-domicilio .ic{margin-top:.15rem}
.domicilio-texto .btn{margin-top:2rem}

/* ---------- Profesionales ---------- */
.grilla-profesionales{display:grid;grid-template-columns:1fr;gap:2rem;max-width:48rem;margin-inline:auto}
@media(min-width:640px){.grilla-profesionales{grid-template-columns:repeat(2,1fr)}}
.tarjeta-profesional{overflow:hidden;border-radius:1rem;background:#fff;border:1px solid var(--slate-100);
  box-shadow:0 1px 2px rgba(0,0,0,.05)}
.prof-foto{aspect-ratio:3/4;background:var(--slate-100)}
.prof-foto img{width:100%;height:100%;object-fit:cover}
.prof-datos{padding:1.25rem;text-align:center}
.prof-datos h3{font-size:1.125rem;font-weight:700}
.prof-datos p{margin-top:.25rem;font-size:.875rem;font-weight:500;color:var(--rosa-accent)}

/* ---------- Turnos ---------- */
.grilla-turnos{display:grid;grid-template-columns:1fr;gap:2rem;align-items:start}
@media(min-width:1024px){.grilla-turnos{grid-template-columns:3fr 2fr;gap:3rem}}
.form-turnos{border-radius:1rem;border:1px solid var(--slate-100);box-shadow:0 1px 3px rgba(0,0,0,.06);
  padding:1.5rem;background:#fff}
@media(min-width:640px){.form-turnos{padding:2rem}}
.fila-2{display:grid;grid-template-columns:1fr;gap:1rem}
@media(min-width:640px){.fila-2{grid-template-columns:1fr 1fr}}
.campo{margin-top:1rem}
.fila-2 .campo{margin-top:0}
.form-turnos .fila-2:first-child .campo{margin-top:0}
.campo label{display:block;font-size:.875rem;font-weight:500;color:var(--slate-700);margin-bottom:.375rem}
.campo input,.campo select,.campo textarea{width:100%;border-radius:.5rem;border:1px solid var(--slate-200);
  background:#fff;padding:.75rem 1rem;font-size:.875rem;font-family:var(--f-body);color:var(--slate-800)}
.campo ::placeholder{color:var(--slate-400)}
.campo input:focus,.campo select:focus,.campo textarea:focus{outline:none;border-color:var(--blue);
  box-shadow:0 0 0 3px rgba(43,108,176,.15)}
.campo-check{margin-top:1.25rem;display:flex;align-items:flex-start;gap:.75rem;font-size:.875rem;color:var(--slate-600)}
.campo-check input{margin-top:.2rem;width:1rem;height:1rem;accent-color:var(--blue)}
.campo-check a{color:var(--blue);text-decoration:underline}
#btn-enviar{margin-top:1.5rem}
.form-aviso{margin-top:1rem;font-size:.875rem;font-weight:500;color:var(--blue)}
.panel-pasos{border-radius:1rem;background:var(--rosa-bg);padding:1.5rem}
@media(min-width:640px){.panel-pasos{padding:2rem}}
.panel-pasos h3{font-size:1.25rem;font-weight:700;margin-bottom:1.5rem}
.pasos{list-style:none;display:flex;flex-direction:column}
.pasos li{display:flex;gap:1rem;position:relative;padding-bottom:1.5rem}
.pasos li:last-child{padding-bottom:.5rem}
.pasos li:not(:last-child)::before{content:"";position:absolute;left:1.35rem;top:3rem;bottom:.25rem;
  width:1px;background:rgba(216,150,155,.4)}
.paso-icono{display:flex;width:2.75rem;height:2.75rem;align-items:center;justify-content:center;flex-shrink:0;
  border-radius:50%;background:var(--navy);color:#fff}
.paso-icono svg{width:1.25rem;height:1.25rem}
.paso-titulo{font-weight:600;color:var(--navy)}
.pasos p:not(.paso-titulo){margin-top:.25rem;font-size:.875rem;color:var(--slate-600)}
.panel-nota{margin-top:1.5rem;display:flex;align-items:center;gap:.5rem;border-radius:.5rem;
  background:rgba(255,255,255,.6);padding:.75rem 1rem;font-size:.875rem;color:var(--slate-600)}
.panel-nota .ic{width:1rem;height:1rem}

/* ---------- Contacto ---------- */
.grilla-contacto{display:grid;grid-template-columns:1fr;gap:2.5rem;align-items:stretch}
@media(min-width:1024px){.grilla-contacto{grid-template-columns:1fr 1fr}}
.contacto-datos{display:flex;flex-direction:column;justify-content:center;gap:1.5rem}
.contacto-item{display:flex;align-items:flex-start;gap:1rem}
.contacto-icono{display:flex;width:2.75rem;height:2.75rem;align-items:center;justify-content:center;flex-shrink:0;
  border-radius:50%;background:var(--rosa-bg);color:var(--rosa-accent)}
.contacto-icono svg{width:1.25rem;height:1.25rem}
.contacto-titulo{font-weight:600;color:var(--navy)}
.contacto-item p:not(.contacto-titulo){color:var(--slate-600)}
.contacto-link{color:var(--slate-600);cursor:pointer}
.contacto-link:hover{color:var(--blue)}
.mapa{overflow:hidden;border-radius:1rem;border:1px solid var(--slate-100);box-shadow:0 1px 3px rgba(0,0,0,.06);min-height:300px}
.mapa iframe{display:block;width:100%;height:100%;min-height:300px;border:0}

/* ---------- Footer ---------- */
.footer{background:var(--slate-50);border-top:1px solid var(--slate-200);padding-block:3rem}
.footer-grilla{display:grid;grid-template-columns:1fr;gap:2rem}
@media(min-width:768px){.footer-grilla{grid-template-columns:repeat(3,1fr)}}
.footer-logo{height:2.5rem;width:auto;margin-bottom:1rem}
.footer p,.footer li{font-size:.875rem;color:var(--slate-600)}
.footer-grilla>div>p{max-width:20rem}
.footer h4{font-size:.875rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;margin-bottom:.75rem}
.footer ul{list-style:none;display:flex;flex-direction:column;gap:.5rem}
.footer a{cursor:pointer}
.footer a:hover{color:var(--blue)}
.footer-legal{margin-top:2.5rem;padding-top:1.5rem;border-top:1px solid var(--slate-200);
  display:flex;flex-direction:column;align-items:center;justify-content:space-between;gap:1rem;text-align:center}
@media(min-width:640px){.footer-legal{flex-direction:row;text-align:left}}
.footer-legal p{font-size:.75rem;color:var(--slate-400)}
.footer-legal a:hover{color:var(--navy)}

/* ---------- WhatsApp flotante ---------- */
.wa-flotante{position:fixed;bottom:1.25rem;right:1.25rem;z-index:50;display:flex;width:3.5rem;height:3.5rem;
  align-items:center;justify-content:center;border-radius:50%;background:var(--wa);color:#fff;
  box-shadow:0 10px 20px rgba(0,0,0,.2);transition:transform .2s;cursor:pointer}
.wa-flotante:hover{transform:scale(1.05)}
