/* SIVO Médico — landing estática. Fuente: mockup de diseño (design reference). */
:root{
  --primary:#0B7A38;
  --accent:#12B04F;
  --ink:#0E1B33;
  --muted:#4A5772;
  --page:#F5F8FC;
  --line:#E3E9F2;
  --dark:#0F1512;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:90px}
body{margin:0;background:var(--page);color:var(--ink);font-family:'DM Sans',system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;-webkit-font-smoothing:antialiased;overflow-x:hidden}
html{overflow-x:hidden}
a{color:inherit;text-decoration:none}
a:hover{opacity:.85}
img{max-width:100%}
h1,h2,h3{font-family:'Sora','DM Sans',sans-serif;margin:0}
.btn{transition:transform .2s ease,box-shadow .2s ease}
.btn:hover{transform:translateY(-2px);box-shadow:0 12px 26px rgba(10,40,22,.25)}
.lift{transition:transform .3s ease,box-shadow .3s ease}
.lift:hover{transform:translateY(-6px);box-shadow:0 22px 44px rgba(10,40,22,.16)}
.tooth{transition:transform .18s ease}
.tooth:hover{transform:translateY(-4px) scale(1.08)}
@keyframes floaty{0%,100%{transform:translateY(0)}50%{transform:translateY(-14px)}}
@keyframes floaty2{0%,100%{transform:translateY(0) rotate(-2deg)}50%{transform:translateY(10px) rotate(2deg)}}
@keyframes pulseRing{0%{transform:scale(.9);opacity:.7}100%{transform:scale(1.6);opacity:0}}
@keyframes fadeUp{from{opacity:0;transform:translateY(24px)}to{opacity:1;transform:none}}
@keyframes marquee{from{transform:translateX(0)}to{transform:translateX(-50%)}}
@keyframes spinSlow{to{transform:rotate(360deg)}}
.fu{animation:fadeUp .8s cubic-bezier(.2,.7,.2,1) both}
.fu2{animation:fadeUp .8s .15s cubic-bezier(.2,.7,.2,1) both}
.fu3{animation:fadeUp .8s .3s cubic-bezier(.2,.7,.2,1) both}
.float{animation:floaty 5s ease-in-out infinite}
.float2{animation:floaty2 6s ease-in-out infinite}
.ring{animation:pulseRing 2.4s ease-out infinite}
.marq{animation:marquee 28s linear infinite}
.spin{animation:spinSlow 40s linear infinite}
@media (prefers-reduced-motion: reduce){
  .fu,.fu2,.fu3,.float,.float2,.ring,.marq,.spin{animation:none!important}
}
/* Nav accesible */
.mnav{display:flex;gap:26px;flex-wrap:wrap;font-size:15px;font-weight:500;color:#33405A}
@media (max-width:720px){.mnav{display:none}}
