/* Logo Facial Ultrasound Lab: construcción letra a letra + viaje a la esquina */
.fl-logo{position:fixed;left:0;top:0;z-index:20;display:inline-grid;font-family:Montserrat,system-ui,sans-serif;font-size:clamp(20px,5.6vw,58px);color:#2b2b2b;line-height:1.25;text-decoration:none;transform-origin:0 0;will-change:transform;backface-visibility:hidden}
.fl-row{display:flex;white-space:nowrap}
.fl-row span.ch{display:inline-block;margin-right:.62em}
.fl-row span.ch:last-child{margin-right:0}
.fl-last{align-items:center;margin-top:.15em}
.fl-line{flex:1;height:.09em;background:#c7282b;margin-right:.9em;margin-left:.1em} /* .1em = hueco lateral de la F y la U: la línea arranca donde empieza la tinta */
.fl-lab{display:flex;color:#c7282b;font-weight:700}
.fl-lab span.ch{margin-right:.55em}
.js .fl-row span.ch{opacity:0;transform:translateX(-1.2em);animation:fl-in .55s cubic-bezier(.2,.7,.2,1) forwards;animation-delay:var(--d)}
.js .fl-lab span.ch{transform:translateX(1.2em)}
.js .fl-line{transform:scaleX(0);transform-origin:left;animation:fl-line .8s cubic-bezier(.6,0,.2,1) 1.35s forwards}
@keyframes fl-in{to{opacity:1;transform:none}}
@keyframes fl-line{to{transform:scaleX(1)}}
.topbar{position:fixed;inset:0 0 auto 0;height:76px;background:rgba(255,255,255,.94);backdrop-filter:blur(6px);border-bottom:1px solid #eee;z-index:10;opacity:0;pointer-events:none;transition:opacity .3s}
.topbar.on{opacity:1}
@media (max-width:600px){.topbar{height:62px}}
/* Inscríbete en la barra: aparece suave cuando el logo llega a su esquina; se retira al llegar a la sección de inscripción */
.topbar.on{pointer-events:auto}
.tb-cta{position:absolute;left:28px;top:50%;transform:translateY(calc(-50% + 8px));opacity:0;
  font-size:.68rem;font-weight:500;letter-spacing:.22em;text-transform:uppercase;text-decoration:none;
  color:#141414;border:1px solid #141414;padding:10px 20px;background:transparent;
  transition:opacity .6s ease .15s,transform .8s cubic-bezier(.2,.7,.2,1) .15s,background .25s,border-color .25s,color .25s}
.topbar.on .tb-cta{opacity:1;transform:translateY(-50%)}
.topbar.cta-off .tb-cta{opacity:0;transform:translateY(calc(-50% + 8px));pointer-events:none}
.tb-cta:hover,.tb-cta:focus-visible{background:#c7282b;border-color:#c7282b;color:#fff;outline:none}
@media (max-width:600px){.tb-cta{left:24px;padding:8px 13px;font-size:.6rem;letter-spacing:.18em}}
@media (prefers-reduced-motion:reduce){.fl-row span.ch,.fl-line{animation-duration:.01s!important;animation-delay:0s!important}}

