/* VoiceLoop shared layout */
html, body { margin: 0; padding: 0; background: #FFFFFF; -webkit-font-smoothing: antialiased; }
* { box-sizing: border-box; }
a { color: #FF5A3C; }
a:hover { color: #F04A2E; }

@keyframes vl-recpulse { 0%,100% { transform: scale(1); opacity: 1; } 50% { transform: scale(1.35); opacity: .55; } }
@keyframes vl-wave { 0%,100% { transform: scaleY(0.3); } 50% { transform: scaleY(1); } }
@keyframes vl-float { 0%,100% { transform: translateY(0); } 50% { transform: translateY(-12px); } }

.vl-desktop-nav { display: none; }
.vl-menu-toggle { display: inline-flex; }
@media (min-width: 960px) {
  .vl-desktop-nav { display: flex; }
  .vl-menu-toggle { display: none; }
  .vl-mobile-panel { display: none !important; }
}

.vl-foot-grid { display: grid; grid-template-columns: 1fr; gap: 36px; }
@media (min-width: 760px) {
  .vl-foot-grid { grid-template-columns: 1.4fr 1fr 1fr 1fr; gap: 40px; }
}

.vl-wrap { max-width: 1200px; margin: 0 auto; padding-left: 24px; padding-right: 24px; }
.vl-narrow { max-width: 820px; margin: 0 auto; padding-left: 24px; padding-right: 24px; }
