/* =====================================================================
   styles.css — CSS estático de index.html
   GENERADO por build/compilar_css.py · NO editar a mano.

   Reemplaza a cdn.tailwindcss.com, que compilaba el CSS en el navegador
   del paciente: ~350 KB de JavaScript bloqueante y CLS severo en móvil.

   Al modificar clases en index.html, volver a ejecutar:
       python3 build/compilar_css.py
   ===================================================================== */

*,::before,::after{box-sizing:border-box;border-width:0;border-style:solid;border-color:rgba(255,255,255,.1)}
html{line-height:1.5;-webkit-text-size-adjust:100%;font-family:Inter,ui-sans-serif,system-ui,sans-serif;scroll-behavior:smooth}
body{margin:0;line-height:inherit}
h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit;margin:0}
p,figure,blockquote,dl,dd{margin:0}
ul,ol{list-style:none;margin:0;padding:0}
a{color:inherit;text-decoration:inherit}
img,svg,video,canvas{display:block;max-width:100%;height:auto}
button,input,select,textarea{font-family:inherit;font-size:100%;margin:0;padding:0;color:inherit}
button,[type=button],[type=submit]{-webkit-appearance:button;background-color:transparent;background-image:none;cursor:pointer}
address{font-style:normal}
:disabled{cursor:default}

.-z-10{z-index:-10}
.absolute{position:absolute}
.antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}
.aspect-\[4\/5\]{aspect-ratio:4/5}
.backdrop-blur-md{backdrop-filter:blur(12px)}
.backdrop-blur-xl{backdrop-filter:blur(24px)}
.bg-\[\#08111a\]{background-color:#08111a}
.bg-\[\#1c2b3a\]{background-color:#1c2b3a}
.bg-charcoal\/30{background-color:rgba(18,24,38,0.3)}
.bg-cream{background-color:#f7f4ef}
.bg-gradient-to-t{background-image:linear-gradient(to top,var(--tw-from,transparent),var(--tw-to,transparent))}
.bg-gray-50{background-color:#f9fafb}
.bg-navy{background-color:#0a0f1e}
.bg-navy-light{background-color:#1b2d42}
.bg-navy-mid{background-color:#1a2e45}
.bg-navy-mid\/50{background-color:rgba(26,46,69,0.5)}
.bg-navy\/5{background-color:rgba(10,15,30,0.05)}
.bg-navy\/60{background-color:rgba(10,15,30,0.6)}
.bg-navy\/95{background-color:rgba(10,15,30,0.95)}
.bg-primary{background-color:#3d8a84}
.bg-primary\/10{background-color:rgba(61,138,132,0.1)}
.bg-primary\/20{background-color:rgba(61,138,132,0.2)}
.bg-primary\/40{background-color:rgba(61,138,132,0.4)}
.bg-primary\/5{background-color:rgba(61,138,132,0.05)}
.bg-primary\/90{background-color:rgba(61,138,132,0.9)}
.bg-white{background-color:#ffffff}
.bg-white\/10{background-color:rgba(255,255,255,0.1)}
.bg-white\/5{background-color:rgba(255,255,255,0.05)}
.block{display:block}
.blur-\[100px\]{filter:blur(100px)}
.blur-\[120px\]{filter:blur(120px)}
.border{border-width:1px;border-style:solid}
.border-b{border-bottom-width:1px;border-bottom-style:solid}
.border-gray-100{border-color:#f3f4f6}
.border-gray-200{border-color:#e5e7eb}
.border-l-2{border-left-width:2px;border-left-style:solid}
.border-l-4{border-left-width:4px;border-left-style:solid}
.border-navy-light{border-color:#1b2d42}
.border-primary{border-color:#3d8a84}
.border-primary\/20{border-color:rgba(61,138,132,0.2)}
.border-primary\/25{border-color:rgba(61,138,132,0.25)}
.border-primary\/30{border-color:rgba(61,138,132,0.3)}
.border-primary\/40{border-color:rgba(61,138,132,0.4)}
.border-r{border-right-width:1px;border-right-style:solid}
.border-t{border-top-width:1px;border-top-style:solid}
.border-t-4{border-top-width:4px;border-top-style:solid}
.border-t-transparent{border-top-color:transparent}
.border-transparent{border-color:transparent}
.border-white\/10{border-color:rgba(255,255,255,0.1)}
.border-white\/5{border-color:rgba(255,255,255,0.05)}
.bottom-0{bottom:0px}
.bottom-3{bottom:0.75rem}
.bottom-\[-10\%\]{bottom:-10%}
.brightness-75{filter:brightness(.75)}
.brightness-90{filter:brightness(.9)}
.duration-1000{transition-duration:1000ms}
.duration-300{transition-duration:300ms}
.duration-500{transition-duration:500ms}
.duration-700{transition-duration:700ms}
.fixed{position:fixed}
.flex{display:flex}
.flex-1{flex:1 1 0%}
.flex-col{flex-direction:column}
.flex-grow{flex-grow:1}
.flex-wrap{flex-wrap:wrap}
.font-bold{font-weight:700}
.font-light{font-weight:300}
.font-medium{font-weight:500}
.font-sans{font-family:Inter,ui-sans-serif,system-ui,-apple-system,'Segoe UI',Roboto,sans-serif}
.font-semibold{font-weight:600}
.font-serif{font-family:'Cormorant Garamond',ui-serif,Georgia,serif}
.font-thin{font-weight:100}
.from-black\/60{--tw-from:rgba(0,0,0,0.6)}
.from-navy\/80{--tw-from:rgba(10,15,30,0.8)}
.gap-1{gap:0.25rem}
.gap-10{gap:2.5rem}
.gap-12{gap:3rem}
.gap-2{gap:0.5rem}
.gap-3{gap:0.75rem}
.gap-4{gap:1rem}
.gap-6{gap:1.5rem}
.gap-8{gap:2rem}
.grayscale{filter:grayscale(1)}
.grid{display:grid}
.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}
.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}
.group:hover .group-hover\:bg-primary{background-color:#3d8a84}
.group:hover .group-hover\:bg-primary\/20{background-color:rgba(61,138,132,0.2)}
.group:hover .group-hover\:brightness-90{filter:brightness(.9)}
.group:hover .group-hover\:opacity-100{opacity:1.0}
.group:hover .group-hover\:scale-105{transform:scale(1.05)}
.group:hover .group-hover\:scale-110{transform:scale(1.1)}
.group:hover .group-hover\:text-navy{color:#0a0f1e}
.group:hover .group-hover\:text-primary{color:#3d8a84}
.group:hover .group-hover\:text-primary-light{color:#5aada6}
.group:hover .group-hover\:text-white{color:#ffffff}
.group:hover .group-hover\:translate-x-1{transform:translateX(0.25rem)}
.group:hover .group-hover\:w-20{width:5rem}
.group:hover .group-hover\:w-full{width:100%}
.h-1{height:0.25rem}
.h-10{height:2.5rem}
.h-14{height:3.5rem}
.h-16{height:4rem}
.h-20{height:5rem}
.h-36{height:9rem}
.h-48{height:12rem}
.h-72{height:18rem}
.h-8{height:2rem}
.h-\[1px\]{height:1px}
.h-\[500px\]{height:500px}
.h-\[600px\]{height:600px}
.h-full{height:100%}
.hidden{display:none}
.hover\:bg-primary:hover{background-color:#3d8a84}
.hover\:bg-primary-light:hover{background-color:#5aada6}
.hover\:border-primary:hover{border-color:#3d8a84}
.hover\:border-primary-light:hover{border-color:#5aada6}
.hover\:border-primary\/30:hover{border-color:rgba(61,138,132,0.3)}
.hover\:border-primary\/40:hover{border-color:rgba(61,138,132,0.4)}
.hover\:gap-3:hover{gap:0.75rem}
.hover\:grayscale-0:hover{filter:grayscale(0)}
.hover\:text-primary-light:hover{color:#5aada6}
.hover\:text-white:hover{color:#ffffff}
.inline-flex{display:inline-flex}
.inset-0{top:0;right:0;bottom:0;left:0}
.italic{font-style:italic}
.items-center{align-items:center}
.items-start{align-items:flex-start}
.justify-between{justify-content:space-between}
.justify-center{justify-content:center}
.justify-end{justify-content:flex-end}
.leading-\[0\.95\]{line-height:0.95}
.leading-\[1\.1\]{line-height:1.1}
.leading-loose{line-height:2}
.leading-none{line-height:1}
.leading-normal{line-height:1.5}
.leading-relaxed{line-height:1.625}
.leading-tight{line-height:1.25}
.left-0{left:0px}
.left-10{left:2.5rem}
.left-\[-5\%\]{left:-5%}
.max-w-2xl{max-width:42rem}
.max-w-5xl{max-width:64rem}
.max-w-7xl{max-width:80rem}
.max-w-\[480px\]{max-width:480px}
.max-w-lg{max-width:32rem}
.max-w-xl{max-width:36rem}
.mb-1{margin-bottom:0.25rem}
.mb-10{margin-bottom:2.5rem}
.mb-12{margin-bottom:3rem}
.mb-16{margin-bottom:4rem}
.mb-2{margin-bottom:0.5rem}
.mb-3{margin-bottom:0.75rem}
.mb-4{margin-bottom:1rem}
.mb-5{margin-bottom:1.25rem}
.mb-6{margin-bottom:1.5rem}
.mb-8{margin-bottom:2rem}
.min-h-screen{min-height:100vh}
.mt-0\.5{margin-top:0.125rem}
.mt-1{margin-top:0.25rem}
.mt-10{margin-top:2.5rem}
.mt-2{margin-top:0.5rem}
.mt-5{margin-top:1.25rem}
.mt-8{margin-top:2rem}
.mt-auto{margin-top:auto}
.mx-auto{margin-left:auto;margin-right:auto}
.not-italic{font-style:normal}
.object-cover{object-fit:cover}
.object-top{object-position:top}
.opacity-0{opacity:0.0}
.opacity-10{opacity:0.1}
.origin-left{transform-origin:left}
.overflow-hidden{overflow:hidden}
.overflow-x-hidden{overflow-x:hidden}
.p-4{padding:1rem}
.p-5{padding:1.25rem}
.p-6{padding:1.5rem}
.p-7{padding:1.75rem}
.p-8{padding:2rem}
.pb-20{padding-bottom:5rem}
.pb-24{padding-bottom:6rem}
.pb-6{padding-bottom:1.5rem}
.pl-6{padding-left:1.5rem}
.pointer-events-none{pointer-events:none}
.pr-4{padding-right:1rem}
.pt-16{padding-top:4rem}
.pt-2{padding-top:0.5rem}
.pt-3{padding-top:0.75rem}
.pt-32{padding-top:8rem}
.pt-4{padding-top:1rem}
.pt-6{padding-top:1.5rem}
.pt-8{padding-top:2rem}
.px-10{padding-left:2.5rem;padding-right:2.5rem}
.px-3{padding-left:0.75rem;padding-right:0.75rem}
.px-4{padding-left:1rem;padding-right:1rem}
.px-6{padding-left:1.5rem;padding-right:1.5rem}
.px-8{padding-left:2rem;padding-right:2rem}
.py-1{padding-top:0.25rem;padding-bottom:0.25rem}
.py-1\.5{padding-top:0.375rem;padding-bottom:0.375rem}
.py-12{padding-top:3rem;padding-bottom:3rem}
.py-16{padding-top:4rem;padding-bottom:4rem}
.py-20{padding-top:5rem;padding-bottom:5rem}
.py-24{padding-top:6rem;padding-bottom:6rem}
.py-3{padding-top:0.75rem;padding-bottom:0.75rem}
.py-4{padding-top:1rem;padding-bottom:1rem}
.py-5{padding-top:1.25rem;padding-bottom:1.25rem}
.py-6{padding-top:1.5rem;padding-bottom:1.5rem}
.relative{position:relative}
.right-0{right:0px}
.right-3{right:0.75rem}
.right-\[-5\%\]{right:-5%}
.rotate-12{transform:rotate(12deg)}
.rounded-2xl{border-radius:1rem}
.rounded-\[12px\]{border-radius:12px}
.rounded-\[60px\]{border-radius:60px}
.rounded-full{border-radius:9999px}
.rounded-lg{border-radius:.5rem}
.rounded-r-lg{border-top-right-radius:.5rem;border-bottom-right-radius:.5rem}
.rounded-xl{border-radius:.75rem}
.scale-150{transform:scale(1.5)}
.scale-75{transform:scale(0.75)}
.selection\:bg-primary\/30::selection{background-color:rgba(61,138,132,0.3)}
.selection\:text-white::selection{color:#ffffff}
.shadow-2xl{box-shadow:0 25px 50px -12px rgba(0,0,0,.25)}
.shadow-\[0_0_25px_rgba\(61\,138\,132\,\.3\)\]{box-shadow:0 10px 30px -5px 0 0 25px rgba(61,138,132,.3)}
.shadow-lg{box-shadow:0 10px 15px -3px rgba(0,0,0,.1),0 4px 6px -4px rgba(0,0,0,.1)}
.shadow-primary\/10{box-shadow:0 10px 30px -5px rgba(61,138,132,0.1)}
.shadow-primary\/20{box-shadow:0 10px 30px -5px rgba(61,138,132,0.2)}
.shadow-sm{box-shadow:0 1px 2px 0 rgba(0,0,0,.05)}
.shadow-xl{box-shadow:0 20px 25px -5px rgba(0,0,0,.1),0 8px 10px -6px rgba(0,0,0,.1)}
.size-10{width:2.5rem;height:2.5rem}
.size-12{width:3rem;height:3rem}
.space-y-1 > * + *{margin-top:0.25rem}
.space-y-10 > * + *{margin-top:2.5rem}
.space-y-16 > * + *{margin-top:4rem}
.space-y-3 > * + *{margin-top:0.75rem}
.space-y-4 > * + *{margin-top:1rem}
.text-2xl{font-size:1.5rem;line-height:2rem}
.text-3xl{font-size:1.875rem;line-height:2.25rem}
.text-4xl{font-size:2.25rem;line-height:2.5rem}
.text-5xl{font-size:3rem;line-height:1}
.text-\[10px\]{font-size:10px}
.text-\[11px\]{font-size:11px}
.text-\[300px\]{font-size:300px}
.text-base{font-size:1rem;line-height:1.5rem}
.text-center{text-align:center}
.text-gray-600{color:#4b5563}
.text-left{text-align:left}
.text-lg{font-size:1.125rem;line-height:1.75rem}
.text-navy{color:#0a0f1e}
.text-primary{color:#3d8a84}
.text-primary-light{color:#5aada6}
.text-slate-300{color:#cbd5e1}
.text-slate-400{color:#94a3b8}
.text-sm{font-size:.875rem;line-height:1.25rem}
.text-white{color:#ffffff}
.text-white\/75{color:rgba(255,255,255,0.75)}
.text-white\/80{color:rgba(255,255,255,0.8)}
.text-white\/90{color:rgba(255,255,255,0.9)}
.text-xl{font-size:1.25rem;line-height:1.75rem}
.text-xs{font-size:.75rem;line-height:1rem}
.to-transparent{--tw-to:transparent}
.top-0{top:0px}
.top-1\/4{top:25.0%}
.top-\[-10\%\]{top:-10%}
.tracking-\[0\.15em\]{letter-spacing:0.15em}
.tracking-\[0\.2em\]{letter-spacing:0.2em}
.tracking-\[0\.3em\]{letter-spacing:0.3em}
.tracking-\[0\.4em\]{letter-spacing:0.4em}
.tracking-tight{letter-spacing:-.025em}
.tracking-tighter{letter-spacing:-.05em}
.tracking-wide{letter-spacing:.025em}
.tracking-wider{letter-spacing:.05em}
.tracking-widest{letter-spacing:.1em}
.transition-all{transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}
.transition-colors{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}
.transition-opacity{transition-property:opacity;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}
.transition-transform{transition-property:transform;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}
.uppercase{text-transform:uppercase}
.w-10{width:2.5rem}
.w-12{width:3rem}
.w-14{width:3.5rem}
.w-16{width:4rem}
.w-24{width:6rem}
.w-8{width:2rem}
.w-\[500px\]{width:500px}
.w-\[600px\]{width:600px}
.w-full{width:100%}
.whitespace-nowrap{white-space:nowrap}
.z-0{z-index:0}
.z-10{z-index:10}
.z-20{z-index:20}
.z-50{z-index:50}
@media(min-width:640px){.sm\:block{display:block}.sm\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.sm\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(min-width:768px){.md\:flex-row{flex-direction:row}.md\:gap-12{gap:3rem}.md\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.md\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.md\:items-end{align-items:flex-end}.md\:p-12{padding:3rem}.md\:text-4xl{font-size:2.25rem;line-height:2.5rem}.md\:text-5xl{font-size:3rem;line-height:1}.md\:text-7xl{font-size:4.5rem;line-height:1}.md\:w-1\/2{width:50.0%}}
@media(min-width:1024px){.lg\:col-span-5{grid-column:span 5/span 5}.lg\:col-span-7{grid-column:span 7/span 7}.lg\:flex{display:flex}.lg\:flex-row{flex-direction:row}.lg\:gap-12{gap:3rem}.lg\:gap-6{gap:1.5rem}.lg\:grid-cols-12{grid-template-columns:repeat(12,minmax(0,1fr))}.lg\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.lg\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.lg\:h-12{height:3rem}.lg\:hidden{display:none}.lg\:ml-auto{margin-left:auto}.lg\:mt-0{margin-top:0px}.lg\:mx-0{margin-left:0px;margin-right:0px}.lg\:p-12{padding:3rem}.lg\:p-20{padding:5rem}.lg\:p-8{padding:2rem}.lg\:pb-8{padding-bottom:2rem}.lg\:pr-6{padding-right:1.5rem}.lg\:px-10{padding-left:2.5rem;padding-right:2.5rem}.lg\:px-12{padding-left:3rem;padding-right:3rem}.lg\:px-16{padding-left:4rem;padding-right:4rem}.lg\:px-8{padding-left:2rem;padding-right:2rem}.lg\:py-16{padding-top:4rem;padding-bottom:4rem}.lg\:py-5{padding-top:1.25rem;padding-bottom:1.25rem}.lg\:rounded-\[100px\]{border-radius:100px}.lg\:rounded-bl-\[240px\]{border-bottom-left-radius:240px}.lg\:rounded-tr-\[240px\]{border-top-right-radius:240px}.lg\:text-2xl{font-size:1.5rem;line-height:2rem}.lg\:text-5xl{font-size:3rem;line-height:1}.lg\:text-6xl{font-size:3.75rem;line-height:1}.lg\:text-8xl{font-size:6rem;line-height:1}.lg\:text-\[11px\]{font-size:11px}.lg\:text-base{font-size:1rem;line-height:1.5rem}.lg\:text-left{text-align:left}.lg\:text-lg{font-size:1.125rem;line-height:1.75rem}.lg\:text-sm{font-size:.875rem;line-height:1.25rem}.lg\:text-xl{font-size:1.25rem;line-height:1.75rem}.lg\:text-xs{font-size:.75rem;line-height:1rem}.lg\:w-1\/2{width:50.0%}.lg\:w-12{width:3rem}}
@media(min-width:1280px){.xl\:text-9xl{font-size:8rem;line-height:1}}

/* --- Utilidades del proyecto (venían en @layer utilities) --- */
.glass-panel{background-color:rgba(255,255,255,.03);backdrop-filter:blur(40px);border:1px solid rgba(255,255,255,.1)}
.text-glow{text-shadow:0 0 20px rgba(61,138,132,.4)}
.organic-mask{-webkit-mask-image:radial-gradient(circle at center,black 40%,transparent 100%);mask-image:radial-gradient(circle at center,black 40%,transparent 100%)}

body{background:radial-gradient(circle at 20% 20%,#1a2a29 0%,#0a0f1e 50%)}
.material-symbols-outlined{font-variation-settings:'FILL' 0,'wght' 400,'GRAD' 0,'opsz' 24}
.fill-icon{font-variation-settings:'FILL' 1,'wght' 400,'GRAD' 0,'opsz' 24}
::-webkit-scrollbar{width:4px}
::-webkit-scrollbar-track{background:#0a0f1e}
::-webkit-scrollbar-thumb{background:#3d8a84;border-radius:10px}
.sym-card:hover{border-color:#3d8a84;box-shadow:0 0 15px rgba(61,138,132,.3);transform:translateY(-2px)}
.spec-card:hover{border-top-color:#3d8a84;transform:translateY(-4px);box-shadow:0 10px 30px rgba(0,0,0,.15)}
@keyframes fadeUp{from{opacity:0;transform:translateY(24px)}to{opacity:1;transform:none}}
.fade-up{animation:fadeUp .8s ease both}

/* Accesibilidad */
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.01ms!important;transition-duration:.01ms!important;scroll-behavior:auto!important}
}
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{
  outline:3px solid #5aada6;outline-offset:2px;border-radius:4px
}
.skip-link{position:absolute;left:-9999px;top:0;z-index:200;background:#3d8a84;color:#fff;padding:12px 20px;border-radius:0 0 10px 0;font-weight:600}
.skip-link:focus{left:0}

/* --- Salida rápida ---------------------------------------------------------
   Móvil primero. En pantalla pequeña es un botón circular en la esquina
   inferior derecha, por encima de la barra de navegación (que mide 64px):
   la zona a la que el pulgar llega sin recolocar la mano. No se superpone al
   texto, que era el problema de la pestaña vertical.
   Desde 1024px recupera la pestaña vertical del borde derecho. */
#salida-rapida{
  position:fixed; right:16px; bottom:80px; z-index:100;
  width:56px; height:56px; border-radius:50%;
  display:flex; flex-direction:column; align-items:center; justify-content:center; gap:2px;
  background:rgba(10,15,30,.92); border:1px solid rgba(255,255,255,.18);
  backdrop-filter:blur(12px); cursor:pointer;
  box-shadow:0 6px 24px rgba(0,0,0,.45);
  color:rgba(255,255,255,.85);
}
#salida-rapida .punto{
  width:6px; height:6px; border-radius:50%;
  background:#ef4444; box-shadow:0 0 8px #ef4444;
}
#salida-rapida .icono{font-size:20px;line-height:1}
/* En móvil el texto no cabe en el círculo, pero debe seguir existiendo para
   los lectores de pantalla: se oculta visualmente, no semánticamente. */
#salida-rapida .rotulo{
  position:absolute; width:1px; height:1px; overflow:hidden;
  clip:rect(0 0 0 0); clip-path:inset(50%); white-space:nowrap;
}
#salida-rapida:hover{background:rgba(10,15,30,1);color:#fff}

@media(min-width:1024px){
  #salida-rapida{
    right:0; bottom:auto; top:50%; transform:translateY(-50%);
    width:auto; height:auto; gap:16px;
    padding:32px 12px; border-radius:24px 0 0 24px; border-right:0;
    background:rgba(255,255,255,.03); box-shadow:none;
  }
  #salida-rapida .icono{display:none}
  #salida-rapida .rotulo{
    position:static; width:auto; height:auto; overflow:visible;
    clip:auto; clip-path:none;
    writing-mode:vertical-rl; transform:rotate(180deg);
    text-transform:uppercase; letter-spacing:.2em; font-size:11px; font-weight:600;
  }
}

/* --- Tarjeta de la médica sobre la foto ------------------------------------
   Móvil primero. Superponer texto blanco a una fotografía nunca es fiable:
   la legibilidad depende de qué haya detrás en cada pantalla, y en la foto de
   la portada hay zonas claras. Bajo 1024px la tarjeta deja de superponerse y
   pasa debajo de la imagen, con fondo propio. Desde 1024px vuelve el efecto de
   cristal superpuesto, donde sí hay contraste suficiente. */
.tarjeta-medica{
  position:static; margin:16px auto 0; max-width:none;
  background:rgba(18,24,38,.96); border:1px solid rgba(255,255,255,.10);
  border-radius:20px;
}
@media(min-width:1024px){
  .tarjeta-medica{
    position:absolute; bottom:-1.5rem; left:-3rem; margin:0; max-width:280px;
    border-radius:1.5rem;
  }
}
/* El cristal claro (blanco al 3%) se apoyaba en que la foto detrás fuera
   oscura. No lo es: la bata blanca ocupa buena parte del encuadre y el texto
   desaparecía. Se conserva el desenfoque —que es lo que da el efecto— pero
   sobre base oscura, para que la legibilidad no dependa de qué haya detrás. */
.tarjeta-medica{
  background:rgba(10,15,30,.86);
  backdrop-filter:blur(24px);
  border:1px solid rgba(255,255,255,.12);
}

/* El contenedor de la foto tiene proporción fija 4/5. Con la tarjeta dentro y
   en flujo normal (móvil), no cabía: se desbordaba y la sección siguiente se
   dibujaba encima. Bajo 1024px se libera la proporción para que el bloque
   crezca hasta contener foto y tarjeta. Desde 1024px la tarjeta vuelve a ser
   absoluta y la proporción fija recupera su sentido. */
@media(max-width:1023px){
  .foto-medica{aspect-ratio:auto}
  .foto-medica img{height:auto}
}

/* Anclas bajo cabecera fija.
   La cabecera mide 80px y flota sobre el contenido, así que al saltar a #sedes
   el título quedaba tapado. Móvil primero: menos margen en pantallas pequeñas,
   donde cada píxel vertical cuenta. */
section[id],main[id]{scroll-margin-top:104px}
@media(min-width:1024px){section[id],main[id]{scroll-margin-top:120px}}

/* Objetivos táctiles.
   Móvil primero: en pantallas pequeñas todo enlace o botón debe alcanzar los
   44px que recomienda la guía de accesibilidad para el dedo, no para el ratón. */
@media(max-width:640px){
  a[href^="tel:"],a[href^="https://wa.me"],a[href^="mailto:"],button{min-height:44px}
  /* `:not(.hidden)` no es decorativo. Un selector de atributo pesa más que una clase,
     así que sin esa exclusión este `display` anulaba el `display:none` de `.hidden`
     y el botón de la cabecera —que es un enlace de WhatsApp— aparecía en móvil,
     partido en tres líneas y encima del nombre de la médica. */
  a[href^="tel:"]:not(.hidden),
  a[href^="https://wa.me"]:not(.hidden){display:inline-flex;align-items:center}
}
