@keyframes fadeInUp { from { opacity: 0; transform: translateY(28px); } to { opacity: 1; transform: translateY(0); } }
@keyframes fadeInLeft { from { opacity: 0; transform: translateX(-28px); } to { opacity: 1; transform: translateX(0); } }
@keyframes fadeInRight { from { opacity: 0; transform: translateX(28px); } to { opacity: 1; transform: translateX(0); } }
@keyframes scaleIn { from { opacity: 0; transform: scale(0.92); } to { opacity: 1; transform: scale(1); } }
@keyframes ripple { to { transform: scale(2.8); opacity: 0; } }
@keyframes spin { from { transform: rotate(0deg); } to { transform: rotate(360deg); } }
@keyframes blink { 0%, 100% { opacity: 1; } 50% { opacity: 0.4; } }
@keyframes bounceIn { 0% { opacity: 0; transform: scale(0.7); } 60% { transform: scale(1.08); } 80% { transform: scale(0.96); } 100% { opacity: 1; transform: scale(1); } }
@keyframes waveFloat { 0%, 100% { transform: translateY(0) scaleX(1); } 50% { transform: translateY(-8px) scaleX(1.03); } }
@keyframes gradientShift { 0% { background-position: 0% 50%; } 50% { background-position: 100% 50%; } 100% { background-position: 0% 50%; } }

.anim-fade-up { animation: fadeInUp 0.6s ease both; }
.anim-fade-left { animation: fadeInLeft 0.55s ease both; }
.anim-fade-right { animation: fadeInRight 0.55s ease both; }
.anim-scale { animation: scaleIn 0.5s ease both; }
.anim-bounce { animation: bounceIn 0.7s cubic-bezier(0.22, 0.61, 0.36, 1) both; }

.delay-1 { animation-delay: 0.10s; }
.delay-2 { animation-delay: 0.20s; }
.delay-3 { animation-delay: 0.32s; }
.delay-4 { animation-delay: 0.44s; }
.delay-5 { animation-delay: 0.56s; }
.delay-6 { animation-delay: 0.68s; }

.strategy-card:nth-child(1) { transition-delay: 0.05s; }
.strategy-card:nth-child(2) { transition-delay: 0.12s; }
.strategy-card:nth-child(3) { transition-delay: 0.19s; }
.strategy-card:nth-child(4) { transition-delay: 0.26s; }
.strategy-card:nth-child(5) { transition-delay: 0.33s; }
.strategy-card:nth-child(6) { transition-delay: 0.40s; }

.btn::after { content: ''; position: absolute; border-radius: inherit; left: 50%; top: 50%; width: 0; height: 0; background: rgba(255,255,255,0.30); transition: width 0.4s ease, height 0.4s ease, left 0.4s ease, top 0.4s ease, opacity 0.4s ease; opacity: 0; }
.btn { position: relative; overflow: hidden; }
.btn:active::after { width: 200%; height: 200%; left: -50%; top: -50%; opacity: 0; }

.section-block { transition: transform 0.28s ease, box-shadow 0.28s ease; }
.section-block:hover { transform: translateY(-2px); box-shadow: 0 14px 52px rgba(3, 60, 140, 0.26); }

.toc-list li { transition: transform 0.2s ease; }
.toc-list li:hover { transform: translateX(4px); }

.hero-badge { animation: waveFloat 4s ease-in-out infinite; }
.hero-badge:nth-child(2) { animation-delay: 0.8s; }
.hero-badge:nth-child(3) { animation-delay: 1.6s; }
.hero-badge:nth-child(4) { animation-delay: 2.4s; }

.trust-badge { transition: transform 0.22s ease, background 0.22s ease; }
.trust-badge:hover { transform: translateY(-2px); background: rgba(255,255,255,0.24); }

.footer-social a { transition: transform 0.22s ease, background 0.22s ease; }
.footer-social a:hover { transform: scale(1.15); }

.faq-item { transition: box-shadow 0.22s ease; }
.faq-item.is-open { box-shadow: 0 4px 18px rgba(3, 60, 140, 0.15); }

.b-wave-sep { width: 100%; overflow: hidden; line-height: 0; margin: 0; }
.b-wave-sep svg { display: block; width: 100%; height: 60px; }

.q2k7n1 { display: block; width: 100%; height: 1px; background: transparent; }
.m4p9r6 { display: none; }
