/* Pulso Web — global styles (from Pulso Web.dc.html design) */
body { margin: 0; background: #F5F7F8; font-family: Manrope, sans-serif; color: #2B333C; }
* { box-sizing: border-box; }
button, input { font-family: inherit; }
a { text-decoration: none; }

@keyframes pulsedash { 0% { stroke-dashoffset: 70; } 55% { stroke-dashoffset: 0; } 100% { stroke-dashoffset: -70; } }
@keyframes fadein { from { opacity: 0; transform: translateY(10px); } to { opacity: 1; transform: translateY(0); } }
@keyframes vitadot { 0%, 100% { opacity: 0.4; } 50% { opacity: 1; } }

a, button, [role="button"] { cursor: pointer; }
a, button, input, textarea, [role="button"] { transition: background-color 0.16s ease-out, border-color 0.16s ease-out, color 0.16s ease-out, box-shadow 0.16s ease-out, transform 0.16s ease-out; }
button:active, [role="button"]:active { transform: translateY(1px); }
button:focus-visible, a:focus-visible, input:focus-visible { outline: 3px solid rgba(0, 175, 165, 0.55); outline-offset: 2px; }
@media (prefers-reduced-motion: reduce) { * { animation: none !important; transition: none !important; } }

/* hover / focus helpers (the design uses style-hover / style-focus) */
.hv-bg:hover { background: #F5F7F8 !important; }
.hv-bd:hover { border-color: #101D2A !important; }
.btn-cta:hover { background: #F28A18 !important; }
.hv-navy:hover { background: #1A2B3C !important; }
.hv-white:hover { color: #FFFFFF !important; }
input.inp:focus { border-color: #00AFA5 !important; }
.vita-fab:hover { transform: translateY(-2px) scale(1.02); box-shadow: 0 12px 30px rgba(11,23,36,0.38) !important; opacity: 1 !important; }
.vita-fab:active { transform: scale(0.97); }
