/* KoinVoice public listening page, ported from "KoinVoice Public Web" in the design pack. */
body { margin: 0; background: #f4f1e9; font-family: 'Inter', system-ui, sans-serif; color: #12352a; -webkit-text-size-adjust: 100%; }
* { box-sizing: border-box; }
a { color: #1f6b46; }
a:hover { color: #12352a; }
button:focus-visible, a:focus-visible, input:focus-visible, select:focus-visible { outline: 3px solid #d5ae5b; outline-offset: 2px; }
button:disabled { cursor: not-allowed !important; opacity: .6; }
@media (prefers-reduced-motion: reduce) { * { transition: none !important; animation: none !important; } }
@media (max-width: 760px) { [data-footer-grid] { grid-template-columns: 1fr !important; gap: 28px !important; } }
@keyframes kv-pulse { 0%, 100% { opacity: 1 } 50% { opacity: .35 } }
.kv-dot { width: 8px; height: 8px; border-radius: 50%; display: inline-block; background: currentColor; }
.kv-dot.pulse { animation: kv-pulse 1.6s ease-in-out infinite; }
.soon { display: inline-block; margin-left: 6px; font-size: 10px; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; color: #7a5214; background: #f4e6c6; border-radius: 999px; padding: 2px 8px; vertical-align: middle; }
