/* ========================================
   LEGADO CAPITAL - RESPONSIVE STYLES
   ======================================== */

@media (max-width: 1024px) {
    .bridge-grid { grid-template-columns: 1fr; }
    .projects-grid { grid-template-columns: repeat(2, 1fr); }
    .footer-grid { grid-template-columns: repeat(2, 1fr); }
    .org-nodes { padding: 0 2%; }
    .edu-grid { grid-template-columns: 1fr; }
    .compare-grid { grid-template-columns: 1fr; }
    .hero h1 { font-size: clamp(2.2rem, 4vw, 3.5rem); }
    .floating-card.card-1 { right: 3%; }
    .floating-card.card-2 { left: 3%; }
    .testimonials-container { grid-template-columns: repeat(2, 1fr); }
    .single-proyecto .project-body { grid-template-columns: 1fr; }
}

@media (max-width: 768px) {
    /* Navigation */
    .nav-links, .nav-cta { display: none !important; }
    .mobile-menu-btn { display: flex !important; }
    
    /* Hero */
    .hero-stats {
        flex-direction: column;
        gap: 1.5rem;
        bottom: 2rem;
    }
    .floating-card { display: none; }
    .hero { min-height: 100vh; height: auto; padding: 6rem 0; }
    .hero-content { padding: 2rem 1.5rem; }
    
    /* Sections */
    section { padding: 4rem 5%; }
    
    /* Org */
    .org-nodes {
        flex-direction: column;
        gap: 2rem;
        align-items: center;
    }
    .org-node { max-width: 100%; width: 100%; }
    .org-line-top { display: none; }
    .org-dot { margin: 1rem auto; }
    .org-line-down { display: none; }
    
    /* Fund Structure */
    .sd-row-mid, .sd-row-bottom { flex-wrap: wrap; }
    .sd-node { flex: 1 1 45%; max-width: none; }
    
    /* Simulator */
    .simulator-container { grid-template-columns: 1fr; gap: 2rem; }
    
    /* Projects */
    .projects-grid { grid-template-columns: 1fr; }
    .projects-tabs { gap: 0.5rem; }
    .tab-btn { padding: 0.5rem 1rem; font-size: 0.8rem; }
    
    /* Steps */
    .steps-line { left: 2rem; }
    .step-item, .step-item:nth-child(even) {
        flex-direction: column;
        align-items: flex-start;
        padding-left: 5rem;
    }
    .step-content { width: 100%; }
    .step-number {
        left: 2rem;
        transform: translateX(-50%);
    }
    
    /* Payments */
    .payments-grid { grid-template-columns: 1fr 1fr; }
    
    /* Cycle */
    .cycle-horizontal { flex-wrap: wrap; gap: 1rem; }
    .h-phase { flex: 1 1 45%; min-width: 140px; }
    .h-arrow { display: none; }
    .cycle-summary { gap: 1rem; padding: 1rem; }
    .summary-divider { display: none; }
    
    /* Footer */
    .footer-grid { grid-template-columns: 1fr; gap: 2rem; }
    
    /* Contact */
    .contact-grid { grid-template-columns: 1fr; gap: 2rem; }
    .form-row { grid-template-columns: 1fr; }
    
    /* Testimonials */
    .testimonials-container { grid-template-columns: 1fr; }
    .testimonials-section { padding: 4rem 5%; }
    
    /* Modals */
    .aviso-modal { max-height: 95vh; }
    .aviso-header { padding: 1.5rem 1.5rem 0.5rem; }
    .aviso-content { padding: 1.5rem; }
    .aviso-actions { padding: 1rem 1.5rem 1.5rem; }
    .privacy-modal { max-height: 95vh; }
    .privacy-header { padding: 1.5rem 1.5rem 1rem; }
    .privacy-content { padding: 1.5rem; }
    .privacy-footer { padding: 1rem 1.5rem 1.5rem; }
    .modal { padding: 2rem 1.5rem; }
    
    /* Cursor */
    .cursor, .cursor-dot { display: none !important; }
    
    /* Typography */
    .hero h1 { font-size: clamp(1.8rem, 6vw, 2.5rem); }
    .section-header h2 { font-size: clamp(1.5rem, 4vw, 2rem); }
    
    /* Structure diagram */
    .structure-diagram { padding: 1rem; }
    .sd-row-mid, .sd-row-bottom { flex-direction: column; align-items: center; }
    .sd-node { flex: 1 1 100%; max-width: 100%; }
    .sd-connector-v { height: 30px; }
}

@media (max-width: 480px) {
    .payments-grid { grid-template-columns: 1fr; }
    .h-phase { flex: 1 1 100%; }
    .hero-buttons { flex-direction: column; }
    .btn-primary, .btn-secondary { width: 100%; }
    nav { padding: 1rem 3%; }
    .result-value { font-size: 2rem; }
    .org-card { padding: 1.5rem 1rem; }
    .cycle-summary { flex-direction: column; }
    .contact-info-block { padding: 1rem; }
    .contact-form-block { padding: 1.5rem; }
    .testimonial-item { padding: 1.5rem; }
    .section-header { margin-bottom: 2rem; }
    .single-proyecto .project-meta-bar { flex-direction: column; gap: 1rem; }
    .error-404 h1 { font-size: 5rem; }
}

/* ===== ACCESSIBILITY ===== */
@media (prefers-reduced-motion: reduce) {
    *, *::before, *::after {
        animation-duration: 0.01ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: 0.01ms !important;
    }
    .loader-bar::after { animation: none; left: 0; }
    #blockchain-canvas { display: none; }
}

/* ===== HIGH CONTRAST ===== */
@media (prefers-contrast: high) {
    :root {
        --text: #ffffff;
        --text-muted: #cccccc;
        --glass-border: rgba(201, 169, 110, 0.5);
    }
}

/* ===== PRINT ===== */
@media print {
    nav, .cursor, .cursor-dot, .loader, .floating-card,
    .mobile-menu-btn, .mobile-menu-overlay, .modal-overlay,
    .aviso-overlay, .privacy-overlay,
    #blockchain-canvas, .hero-glow-top, .hero-glow-bottom,
    .hero-vignette, .hero-overlay {
        display: none !important;
    }
    body { background: #fff; color: #000; }
    section { padding: 2rem 0; page-break-inside: avoid; }
    .hero { height: auto; padding: 2rem 0; }
    a { color: #000; text-decoration: underline; }
}
