/* Starkwood Properties Inc. — Responsive Stylesheet */

/* ===== LARGE DESKTOP (1400px+) ===== */
@media (min-width: 1400px) {
    .container { max-width: 1360px; }
}

/* ===== DESKTOP (max 1200px) ===== */
@media (max-width: 1200px) {
    .about-grid { gap: 56px; }
    .project-showcase { gap: 48px; }
    .footer-grid { grid-template-columns: 1.2fr 1fr 1fr 1.1fr; gap: 36px; }
    .why-grid { gap: 20px; }
}

/* ===== TABLET LANDSCAPE (max 992px) ===== */
@media (max-width: 992px) {
    .section { padding: 72px 0; }

    /* Header */
    nav { display: none; }
    .hamburger { display: flex; }
    .header-actions .btn { display: none; }
    .header-actions { gap: 8px; }

    /* Hero */
    .hero-title { font-size: clamp(2rem, 5vw, 3rem); }
    .hero-subtitle { font-size: 1rem; }
    .hero-trust { gap: 8px; }
    .trust-badge { font-size: .75rem; padding: 6px 12px; }

    /* Stats Bar */
    .stats-bar-inner { grid-template-columns: repeat(2, 1fr); }
    .stat-item:nth-child(2) { border-right: none; }
    .stat-item:nth-child(3) { border-top: 1px solid var(--border); }
    .stat-item:nth-child(4) { border-top: 1px solid var(--border); border-right: none; }

    /* About */
    .about-grid { grid-template-columns: 1fr; gap: 48px; }
    .about-img-main { height: 400px; }
    .about-img-badge { bottom: -16px; right: -16px; padding: 20px 24px; min-width: 130px; }
    .about-content { padding-left: 0; }

    /* Featured Project */
    .project-showcase { grid-template-columns: 1fr; gap: 48px; }
    .project-img-main { height: 400px; }
    .project-img-thumb { width: 160px; height: 120px; bottom: -20px; right: -16px; }
    .project-info { padding-left: 0; }

    /* Why Choose */
    .why-grid { grid-template-columns: repeat(2, 1fr); }

    /* Amenities */
    .amenities-grid { grid-template-columns: repeat(3, 1fr); }

    /* Location */
    .location-grid { grid-template-columns: 1fr; gap: 48px; }
    .location-map-wrap { height: 380px; }
    .location-content { padding-right: 0; }

    /* Journey */
    .journey-grid::before { display: none; }

    /* Gallery */
    .gallery-masonry { grid-template-columns: repeat(2, 1fr); }
    .gallery-item:nth-child(1) { grid-row: span 1; }
    .gallery-item:nth-child(1) img { height: 200px; }

    /* CTA */
    .cta-inner { grid-template-columns: 1fr; gap: 28px; }
    .cta-actions { justify-content: flex-start; }

    /* Footer */
    .footer-grid { grid-template-columns: 1fr 1fr; gap: 40px; }
    .footer-brand { grid-column: span 2; }

    /* Quick Info */
    .quick-info-inner { grid-template-columns: repeat(2, 1fr); }
    .quick-info-item:nth-child(2) { border-right: none; }
    .quick-info-item:nth-child(3) { border-top: 1px solid var(--border); }
    .quick-info-item:nth-child(4) { border-top: 1px solid var(--border); border-right: none; }

    /* Contact Cards */
    .contact-cards-grid { grid-template-columns: 1fr; max-width: 480px; margin: 0 auto; }

    /* Gallery Full */
    .gallery-full-grid { grid-template-columns: repeat(2, 1fr); }
}

/* ===== TABLET PORTRAIT (max 768px) ===== */
@media (max-width: 768px) {
    .section { padding: 60px 0; }
    .container { padding: 0 16px; }

    /* Hero */
    .hero { min-height: 600px; }
    .hero-title { font-size: clamp(1.8rem, 6vw, 2.6rem); }
    .hero-actions { flex-direction: column; gap: 12px; }
    .hero-actions .btn { width: 100%; justify-content: center; }
    .hero-trust { display: none; }
    .hero-scroll { display: none; }

    /* Stats */
    .stats-bar-inner { grid-template-columns: repeat(2, 1fr); }
    .stat-number { font-size: 1.8rem; }

    /* About */
    .about-features { grid-template-columns: 1fr; }
    .about-img-main { height: 320px; }
    .about-img-badge { display: none; }
    .about-img-accent { display: none; }
    .about-actions { flex-direction: column; }
    .about-actions .btn { width: 100%; justify-content: center; }

    /* Project */
    .project-img-main { height: 300px; }
    .project-img-thumb { display: none; }
    .project-highlights { grid-template-columns: 1fr; }
    .project-actions { flex-direction: column; }
    .project-actions .btn { width: 100%; justify-content: center; }

    /* Why Choose */
    .why-grid { grid-template-columns: 1fr; }

    /* Amenities */
    .amenities-grid { grid-template-columns: repeat(2, 1fr); }

    /* Journey */
    .journey-grid { grid-template-columns: 1fr; gap: 40px; }

    /* Gallery */
    .gallery-masonry { grid-template-columns: 1fr 1fr; gap: 10px; }
    .gallery-item:nth-child(1) { grid-column: span 2; }
    .gallery-item:nth-child(1) img { height: 220px; }
    .gallery-item:not(:nth-child(1)) img { height: 160px; }

    /* CTA */
    .cta-actions { flex-direction: column; }
    .cta-actions .btn { width: 100%; justify-content: center; }

    /* Footer */
    .footer-grid { grid-template-columns: 1fr; gap: 32px; }
    .footer-brand { grid-column: span 1; }
    .footer-top { padding: 56px 0 40px; }
    .footer-bottom { flex-direction: column; text-align: center; gap: 12px; }

    /* Page Hero */
    .page-hero { height: 320px; padding-bottom: 40px; }
    .page-title { font-size: clamp(1.6rem, 5vw, 2.2rem); }

    /* Quick Info */
    .quick-info-inner { grid-template-columns: 1fr 1fr; }

    /* Section Header */
    .section-header-center { margin-bottom: 40px; }
    .section-desc { font-size: .95rem; }

    /* Gallery Full */
    .gallery-full-grid { grid-template-columns: repeat(2, 1fr); }

    /* Mobile Sticky CTA */
    .mobile-sticky-cta { display: block; }
    .floating-contact { bottom: 80px; }
    .scroll-top { bottom: 80px; }

    /* Nearby Grid */
    .nearby-grid { grid-template-columns: 1fr; }
}

/* ===== MOBILE (max 576px) ===== */
@media (max-width: 576px) {
    .section { padding: 48px 0; }

    /* Hero */
    .hero { min-height: 560px; }
    .hero-title { font-size: 1.9rem; line-height: 1.2; }
    .hero-subtitle { font-size: .95rem; }
    .hero-label { font-size: .7rem; }

    /* Stats */
    .stats-bar-inner { grid-template-columns: 1fr 1fr; }
    .stat-item { padding: 20px 12px; }
    .stat-number { font-size: 1.5rem; }
    .stat-label { font-size: .7rem; }

    /* Section Titles */
    .section-title { font-size: 1.6rem; }

    /* About */
    .about-img-main { height: 260px; }

    /* Amenities */
    .amenities-grid { grid-template-columns: repeat(2, 1fr); gap: 10px; }
    .amenity-card { padding: 20px 12px; }
    .amenity-icon { width: 44px; height: 44px; font-size: .95rem; }
    .amenity-name { font-size: .8rem; }

    /* Gallery */
    .gallery-masonry { grid-template-columns: 1fr; }
    .gallery-item:nth-child(1) { grid-column: span 1; }
    .gallery-item img,
    .gallery-item:nth-child(1) img,
    .gallery-item:not(:nth-child(1)) img { height: 220px; }

    /* Gallery Full */
    .gallery-full-grid { grid-template-columns: 1fr; }
    .gallery-full-item img { height: 220px; }

    /* Journey */
    .journey-card { padding: 36px 20px 24px; }

    /* Why Card */
    .why-card { padding: 28px 20px; }

    /* Footer */
    .footer-bottom-links { flex-direction: column; gap: 8px; }

    /* Floating */
    .floating-contact { bottom: 76px; right: 16px; }
    .scroll-top { bottom: 76px; left: 16px; }
    .floating-main-btn { width: 50px; height: 50px; font-size: 1.1rem; }

    /* Sticky CTA */
    .sticky-btn { font-size: .68rem; padding: 8px 4px; }
    .sticky-btn i { font-size: 1rem; }

    /* CTA Section */
    .cta-title { font-size: 1.5rem; }

    /* Quick Info */
    .quick-info-inner { grid-template-columns: 1fr; }
    .quick-info-item { border-right: none; border-bottom: 1px solid var(--border); }
    .quick-info-item:last-child { border-bottom: none; }

    /* Contact Cards */
    .contact-card { padding: 28px 20px; }

    /* FAQ */
    .faq-question { padding: 16px 18px; }
    .faq-q-text { font-size: .9rem; }
    .faq-item.open .faq-answer { padding: 16px 18px; }

    /* Lightbox */
    .lightbox-prev { left: 8px; }
    .lightbox-next { right: 8px; }

    /* Mobile Menu */
    .mobile-menu { padding: 72px 24px 32px; }
}

/* ===== PRINT ===== */
@media print {
    .header, .footer, .floating-contact, .mobile-sticky-cta, .scroll-top { display: none !important; }
    .hero { height: auto; min-height: 0; padding: 40px 0; }
    .hero-bg, .hero-overlay { display: none; }
    .hero-title, .hero-subtitle { color: var(--text) !important; }
    body { font-size: 12pt; }
}
