/* ══════════════════════════════════════════
   GLOBAL RESPONSIVE OVERRIDES
   Supplements per-page responsive rules.
   Load LAST after all other CSS files.
   ══════════════════════════════════════════ */

/* ── TABLET (max-width: 1100px) ── */
@media (max-width: 1100px) {
    /* Home: feature blocks */
    .feature-block .container {
        grid-template-columns: 1fr 1fr;
        gap: 48px;
    }
    .feature-block.reverse .container {
        grid-template-columns: 1fr 1fr;
    }

    /* Home: holdings */
    .holdings-header { grid-template-columns: 1fr 1fr; gap: 48px; }
    .property-card { grid-template-columns: 1fr 1fr; }

    /* Grids: 2-col */
    .ri-grid,
    .op-grid,
    .city-grid { grid-template-columns: repeat(2, 1fr); }

    /* About pillars */
    .about-pillar { grid-template-columns: 1fr 1fr; gap: 48px; }
    .about-pillar.reverse { grid-template-columns: 1fr 1fr; }

    /* About dual CTA */
    .about-dual-cta { min-height: auto; }

    /* Opportunity detail */
    .od-hero { grid-template-columns: 1fr 1fr; gap: 32px; }

    /* Footer */
    .footer-top { gap: 80px; }
}

/* ── MOBILE LANDSCAPE / SMALL TABLET (max-width: 900px) ── */
@media (max-width: 900px) {
    /* Nav */
    .nav-links { display: none; }
    .hamburger { display: block; }
    .nav-wrapper { padding: 12px 20px; }
    .nav-cta-desktop { display: none; }

    /* Home hero */
    .hero h1 { font-size: 36px; line-height: 42px; letter-spacing: -1.5px; }
    .hero-content { padding: 0 24px 60px; width: 90%; }
    .hero p { font-size: 15px; }

    /* Stats+Philosophy wrapper */
    .stats-philosophy-wrapper { gap: 60px !important; padding-bottom: 20px !important; }

    /* Philosophy */
    .philosophy h2 { font-size: 28px; line-height: 36px; letter-spacing: -1px; padding: 0 16px; }
    .philosophy { padding: 40px 0; }

    /* Features wrapper */
    .features-wrapper { padding-top: 60px !important; }

    /* Feature blocks → stack */
    .feature-block .container {
        grid-template-columns: 1fr;
        height: auto; gap: 32px;
    }
    .feature-block .feature-image { height: 300px; }
    .feature-block.reverse .feature-text { order: 1; }
    .feature-block.reverse .feature-image { order: 2; }
    .feature-buttons .btn-primary,
    .feature-buttons .btn-outline { width: auto; }

    /* Stats bar → stack */
    .stats-bar {
        flex-direction: column !important;
        align-items: flex-start !important;
        gap: 16px !important; height: auto !important;
        padding: 0 20px;
    }
    .stats-cards { flex-wrap: wrap; width: 100%; gap: 8px !important; }
    .stat-card { width: auto !important; flex: 1 1 auto; min-width: 140px; padding: 16px 20px !important; }
    .stats-label { width: auto; }

    /* Scarcity */
    .scarcity h2 { font-size: 28px; line-height: 36px; }
    .grid-4 { grid-template-columns: 1fr; }
    .grid-card { height: auto; }

    /* Holdings → stack */
    .holdings-header { grid-template-columns: 1fr; gap: 24px; }
    .property-card { grid-template-columns: 1fr; height: auto; }
    .property-image { margin: 0; border-radius: 0 0 16px 16px; height: 240px; }
    .property-image img { position: absolute; }

    /* Restricted / CTA headings */
    .restricted h2,
    .cta h2 { font-size: 32px; letter-spacing: -1.2px; line-height: 40px; }
    .restricted { height: auto; padding: 80px 24px; }
    .cta { height: auto; padding: 80px 24px; }

    /* Process → stack */
    .process-grid {
        flex-direction: column;
        width: auto; height: auto; gap: 32px;
    }
    .process-image { width: 100%; height: 280px; }
    .process-accordion { height: auto; gap: 12px; }

    /* FAQ → stack */
    .faq-header { grid-template-columns: 1fr; gap: 24px; }
    .faq-body { grid-template-columns: 1fr; }

    /* Footer → stack */
    .footer-top { grid-template-columns: 1fr; gap: 40px; }
    .footer-columns { gap: 32px; }
    .footer-inner { padding: 60px 24px 32px; gap: 48px; }
    .footer-address-text { font-size: 22px; line-height: 28px; }
    .footer-bottom span:last-child { font-size: 12px; line-height: 18px; }

    /* FAQ header → stack */
    .faq-header { grid-template-columns: 1fr; gap: 24px; }
    .faq-header-left h2 { font-size: 32px; line-height: 40px; }
    .faq-body { grid-template-columns: 1fr; }

    /* Global body padding for content sections */
    .scarcity,
    .holdings,
    .od-thesis,
    .od-related,
    .od-gated,
    .about-pillars,
    .about-partners,
    .hiw-journey,
    .hiw-paths,
    .city-thesis,
    .city-portfolio { padding-left: 20px !important; padding-right: 20px !important; }

    /* RI / OP grids → 1 col */
    .ri-grid,
    .op-grid { grid-template-columns: 1fr; gap: 24px; }

    /* RI / OP heroes */
    .ri-hero h1,
    .op-hero h1 { font-size: 32px; line-height: 40px; }
    .ri-hero, .op-hero { padding: 120px 0 48px; }
    .ri-hero-content, .op-hero-content { padding: 0 20px; }

    /* Filters → wrap */
    .ri-filters-inner,
    .op-filters-inner { gap: 8px; }
    .ri-filter-select,
    .op-filter-select { min-width: 100px; font-size: 13px; padding: 8px 28px 8px 10px; }
    .ri-filter-count,
    .op-filter-count { display: none; }

    /* City pages */
    .city-hero h1 { font-size: 32px; line-height: 40px; }
    .city-hero { height: auto; min-height: 400px; }
    .city-thesis-grid { grid-template-columns: 1fr; }
    .city-grid { grid-template-columns: 1fr; }
    .city-grid-panel.active { grid-template-columns: 1fr; }
    .city-portfolio h2 { font-size: 32px; }

    /* HIW */
    .hiw-hero h1 { font-size: 32px; line-height: 40px; }
    .hiw-hero { height: auto; min-height: 400px; }
    .hiw-journey-grid { grid-template-columns: 1fr; }
    .hiw-paths-grid { grid-template-columns: 1fr; }
    .hiw-step-num { font-size: 80px; }

    /* About */
    .about-hero h1 { font-size: 22px; line-height: 34px; }
    .about-hero { min-height: auto; padding: 120px 24px 60px; }
    .about-pillar { grid-template-columns: 1fr; gap: 24px; }
    .about-pillar.reverse { grid-template-columns: 1fr; }
    .about-pillar.reverse .about-pillar-text { order: 1; }
    .about-pillar.reverse .about-pillar-image { order: 2; }
    .about-pillar-image { height: 280px; }
    .about-partners-grid { grid-template-columns: 1fr 1fr; }
    .about-dual-cta { grid-template-columns: 1fr; }
    .about-cta-left, .about-cta-right { padding: 48px 24px; }

    /* FAQ page */
    .faqp-hero h1 { font-size: 32px; line-height: 40px; }
    .faqp-body { grid-template-columns: 1fr; gap: 32px; }
    .faqp-sidebar { position: static; }
    .faqp-sidebar-list { flex-direction: row; flex-wrap: wrap; gap: 8px; }
    .faqp-sidebar-link { font-size: 13px; padding: 8px 12px; }

    /* Contact → stack */
    .contact-hero h1 { font-size: 32px; line-height: 40px; }
    .contact-split { grid-template-columns: 1fr; gap: 48px; }
    .contact-info h2 { font-size: 32px; line-height: 40px; }

    /* Opportunity detail → stack */
    .od-hero { grid-template-columns: 1fr; margin-top: 90px; }
    .od-snapshot { position: static; }
    .od-snapshot h1 { font-size: 26px; line-height: 34px; }

    /* Legal */
    .legal-hero h1 { font-size: 32px; line-height: 40px; }

    /* Investor access → stack */
    .page-investor { flex-direction: column; }
    .ia-left { width: 100%; }
    .ia-left-content { position: relative; height: auto; padding: 100px 24px 48px; }
    .ia-logo { top: 24px; left: 24px; }
    .ia-left h1 { font-size: 28px; line-height: 36px; }
    .ia-right { padding: 32px 20px; }
    .ia-row { grid-template-columns: 1fr; }
    .ia-cards { flex-direction: column; }
    .ia-card-option { min-width: auto; }

    /* Pagination */
    .pagination { gap: 4px; }
    .pagination .prev, .pagination .next { padding: 0 12px; font-size: 13px; }

    /* Section gaps → tighter */
    .scarcity,
    .holdings,
    .restricted,
    .process,
    .faq,
    .hiw-journey,
    .hiw-pof,
    .hiw-paths,
    .about-pillars,
    .about-partners,
    .about-exclusivity,
    .about-dual-cta,
    .city-thesis,
    .city-portfolio,
    .od-related { margin-top: 80px !important; }
}

/* ── MOBILE PORTRAIT (max-width: 600px) ── */
@media (max-width: 600px) {
    /* Hero */
    .hero h1 { font-size: 28px; letter-spacing: -1px; line-height: 34px; }

    /* Nav */
    .nav-wrapper { padding: 10px 16px; }

    /* Stats */
    .stat-card { min-width: 100%; padding: 16px 20px; }

    /* Section headings */
    .restricted h2,
    .cta h2 { font-size: 26px; line-height: 34px; }

    /* Feature buttons → stack */
    .feature-buttons { flex-direction: column; }
    .feature-buttons .btn-primary,
    .feature-buttons .btn-outline { width: 100%; justify-content: center; }

    /* Restricted / CTA buttons */
    .restricted-buttons { flex-direction: column; width: 100%; }
    .restricted-buttons .btn-primary,
    .restricted-buttons .btn-outline-white { width: 100%; }

    /* Process image */
    .process-image img { width: 100%; left: 0; }

    /* Footer */
    .footer-inner { padding: 48px 16px 24px !important; gap: 36px !important; }
    .footer-top { gap: 32px !important; }
    .footer-columns { flex-direction: column; gap: 28px; }
    .footer-address-text { font-size: 20px !important; line-height: 26px !important; }
    .footer-newsletter {
        flex-direction: column; height: auto !important;
        padding: 8px !important; gap: 8px;
        border-radius: 16px !important;
    }
    .footer-newsletter input { padding: 14px 16px; height: auto; }
    .footer-newsletter button {
        width: 100%; height: 48px !important;
        border-radius: 12px !important;
    }
    .footer-bottom { gap: 12px; }
    .footer-bottom span:last-child { font-size: 11px; line-height: 16px; }

    /* Global mobile padding */
    .ri-hero-content,
    .op-hero-content,
    .contact-hero-content,
    .faqp-hero-content,
    .legal-hero-content,
    .hiw-hero-content { padding: 0 16px !important; }

    .ri-grid-section,
    .op-grid-section,
    .od-thesis,
    .od-related { padding-left: 16px !important; padding-right: 16px !important; }

    .faq { padding: 0 16px !important; }
    .faq-header { gap: 20px; margin-bottom: 40px; }
    .faq-header-left h2 { font-size: 28px; line-height: 36px; }
    .faq-header-right .btn-primary { width: 100%; }

    .scarcity,
    .holdings,
    .about-pillars,
    .about-partners,
    .hiw-journey,
    .hiw-paths,
    .city-thesis,
    .city-portfolio { padding-left: 16px !important; padding-right: 16px !important; }

    /* Accordion */
    .accordion-header { font-size: 16px; padding: 0 16px; height: 72px; }
    .accordion-content p { padding: 0 16px 20px; }

    /* Investor access */
    .ia-progress { flex-wrap: wrap; gap: 8px; }
    .ia-progress-line { display: none; }
    .ia-progress-step { font-size: 12px; }

    /* HIW proof of funds */
    .hiw-pof-docs { grid-template-columns: 1fr; }
    .hiw-pof-inner { padding: 32px 20px; }

    /* About partners */
    .about-partners-grid { grid-template-columns: 1fr; }

    /* OD locked list */
    .od-locked-list { flex-direction: column; }

    /* CTA content */
    .cta-content { padding: 0 16px; }

    /* General padding reduction */
    .legal-body { padding: 48px 16px; }
    .contact-visual { height: 30vh; }

    /* Btn-primary-lg → full width on mobile */
    .btn-primary-lg { width: 100%; }

    /* Gallery thumbs → 4 col still but smaller gap */
    .od-gallery-thumbs { gap: 4px; }

    /* Success card */
    .success-card { padding: 40px 20px; }
    .success-card h1 { font-size: 28px; line-height: 36px; }

    /* Sitemap */
    .sitemap-body { grid-template-columns: 1fr; }
}

/* ── VERY SMALL (max-width: 380px) ── */
@media (max-width: 380px) {
    .hero h1 { font-size: 24px; line-height: 30px; }
    .btn-primary-lg { height: 50px; font-size: 14px; }
    .btn-outline-white { width: auto; height: 50px; font-size: 14px; }
    .hero-buttons { gap: 8px; }
    .od-metrics { grid-template-columns: 1fr; }
    .ia-left-content { padding: 80px 16px 32px; }
}
