/* Responsive */

@media (max-width: 1024px) {
    .desktop-nav { display: none; }
    .mobile-nav { display: block; }
}

@media (max-width: 1200px) {
    .hero .container { gap: 36px; }
    .hero-title .gradient-text { font-size: 2.6rem; }
    .main-title { font-size: 2.1rem; }
    .hero-image { width: 320px; height: 440px; }
    .content-block { gap: 32px; }
}

@media (max-width: 992px) {
    .section-title { font-size: 1.9rem; }
    .privacy-grid { grid-template-columns: repeat(2, 1fr); }
    .pricing-grid { grid-template-columns: repeat(2, 1fr); align-items: start; }
    .pricing-card.featured { grid-column: span 2; max-width: 380px; margin: 0 auto; }
    .content-block, .content-block.reverse { flex-direction: column; text-align: center; }
    .content-block .content-image { flex: none; max-width: 440px; margin: 0 auto; }
    .footer-top { flex-direction: column; }
    .footer-brand { max-width: 100%; }
}

@media (max-width: 768px) {
    .hero { padding: 76px 0 50px; min-height: auto; }
    .hero .container { flex-direction: column; text-align: center; }
    .hero-content { max-width: 100%; }
    .hero-title .gradient-text { font-size: 2.2rem; }
    .main-title { font-size: 1.8rem; }
    .hero-description { max-width: 100%; margin-left: auto; margin-right: auto; }
    .cta-buttons { justify-content: center; }
    .trust-badges { justify-content: center; }
    .hero-image { width: 280px; height: 380px; margin-top: 32px; }
    section { padding: 64px 0; }
    .article-section { padding: 56px 0; }
    .section-title { font-size: 1.6rem; }
    .section-description { font-size: .92rem; margin-bottom: 36px; }
    .characters-scroll { gap: 14px; }
    .character-card { min-width: 250px; }
    .privacy-grid { grid-template-columns: 1fr; }
    .pricing-grid { grid-template-columns: 1fr; }
    .pricing-card.featured { grid-column: span 1; max-width: none; }
    .subsection h3 { font-size: 1.15rem; }
    .cta-title { font-size: 1.8rem; }
    .cta { padding: 70px 0; }
    .footer-nav { gap: 32px; }
    .footer-bottom { flex-direction: column; gap: 14px; text-align: center; }
}

@media (max-width: 576px) {
    .container { padding: 0 16px; }
    .promo-badge { font-size: .7rem; padding: 5px 10px; }
    .hero-title .gradient-text { font-size: 1.8rem; }
    .main-title { font-size: 1.45rem; }
    .hero-description { font-size: .92rem; }
    .cta-buttons { flex-direction: column; align-items: center; }
    .primary-btn, .secondary-btn { width: 100%; justify-content: center; }
    .trust-badges { flex-direction: column; align-items: center; gap: 8px; }
    .hero-image { width: 240px; height: 320px; }
    .section-title { font-size: 1.35rem; }
    .character-card { min-width: 230px; }
    .character-image { height: 250px; }
    .privacy-card { padding: 24px; }
    .pricing-card { padding: 24px; }
    .subsection blockquote { padding: 16px 18px; font-size: .92rem; }
    .faq-question { padding: 14px 16px; }
    .faq-question h3 { font-size: .9rem; }
    .faq-answer-inner { padding: 0 16px 16px; }
    .cta-title { font-size: 1.4rem; }
    .primary-btn.large { padding: 12px 24px; font-size: .92rem; }
    .content-image { border-radius: 10px; margin-bottom: 24px; }
    .footer { padding: 44px 0 22px; }
    .footer-nav { flex-direction: column; gap: 20px; }
}

@media (max-width: 375px) {
    .hero-title .gradient-text { font-size: 1.6rem; }
    .main-title { font-size: 1.25rem; }
    .section-title { font-size: 1.2rem; }
    .cta-title { font-size: 1.25rem; }
}

@media (prefers-reduced-motion: reduce) {
    *, *::before, *::after { animation: none !important; transition: none !important; }
}
