/* ============================================
   CAPITAL ESTATES - Complete Mobile Responsive Styles
   Device-Free, Adaptive Design System
   ============================================ */

/* ============================================
   CSS Custom Properties for Responsive Design
   ============================================ */
:root {
    /* Responsive spacing */
    --mobile-padding: 1rem;
    --tablet-padding: 1.5rem;
    --desktop-padding: 2rem;

    /* Touch-friendly sizes */
    --touch-target-min: 44px;
    --touch-spacing: 8px;
}

/* ============================================
   Base Responsive Enhancements
   ============================================ */
html {
    -webkit-tap-highlight-color: transparent;
    -webkit-touch-callout: none;
    touch-action: manipulation;
}

/* Prevent text size adjustment on orientation change */
body {
    -webkit-text-size-adjust: 100%;
    -ms-text-size-adjust: 100%;
}

/* Make images responsive by default */
img, video, iframe {
    max-width: 100%;
    height: auto;
}

/* ============================================
   Desktop First - Large Screens (1400px+)
   ============================================ */
@media (min-width: 1400px) {
    .container {
        max-width: 1400px;
    }

    .hero__content {
        max-width: 1100px;
    }

    .property-grid {
        grid-template-columns: repeat(4, 1fr);
    }
}

/* ============================================
   Large Desktop (1200px - 1399px)
   ============================================ */
@media (max-width: 1399px) {
    .container {
        max-width: 1200px;
    }

    .hero__title {
        font-size: clamp(2.5rem, 5vw, 4rem);
    }
}

/* ============================================
   Desktop/Laptop (992px - 1199px)
   ============================================ */
@media (max-width: 1199px) {
    :root {
        --container-padding: 2rem;
    }

    .container {
        max-width: 960px;
    }

    /* Header adjustments */
    .header__top-contact {
        gap: var(--space-4);
    }

    .nav__list {
        gap: 0;
    }

    .nav__link {
        padding: var(--space-2) var(--space-3);
        font-size: var(--text-xs);
    }

    /* Property grid */
    .property-grid {
        grid-template-columns: repeat(3, 1fr);
        gap: var(--space-6);
    }

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

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

    /* Footer grid */
    .footer__grid {
        grid-template-columns: repeat(2, 1fr);
        gap: var(--space-8);
    }

    /* About section */
    .about__content {
        gap: var(--space-10);
    }

    /* Hero stats */
    .hero__stats {
        gap: var(--space-8);
    }

    /* CTA section */
    .cta__content {
        gap: var(--space-6);
    }

    /* Search widget */
    .search-widget__form {
        grid-template-columns: repeat(3, 1fr);
    }

    /* Stats grid */
    .stats-grid {
        grid-template-columns: repeat(4, 1fr);
        gap: var(--space-6);
    }

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

/* ============================================
   Tablet Landscape / Small Desktop (768px - 991px)
   ============================================ */
@media (max-width: 991px) {
    :root {
        --container-padding: 1.5rem;
    }

    .container {
        max-width: 720px;
    }

    /* Section spacing */
    .section {
        padding: var(--space-16) 0;
    }

    .section-lg {
        padding: var(--space-20) 0;
    }

    /* Typography scaling */
    h1 { font-size: var(--text-5xl); }
    h2 { font-size: var(--text-4xl); }
    h3 { font-size: var(--text-3xl); }

    /* Header - Show mobile navigation */
    .header__top {
        display: none;
    }

    .nav__list {
        display: none;
    }

    .nav__toggle {
        display: flex;
        order: 3;
        margin-left: auto;
    }

    .nav .btn {
        display: none;
    }

    .header__content {
        padding: var(--space-2) 0;
        position: relative;
        z-index: var(--z-fixed);
    }

    /* Fix logo z-index for mobile */
    .logo {
        position: relative;
        z-index: calc(var(--z-fixed) + 1);
    }

    /* Fix hero badge z-index - ensure it stays behind header */
    .hero__badge {
        position: relative;
        z-index: 1;
    }

    .hero__content {
        padding-top: var(--space-16);
    }

    /* Hero section */
    .hero {
        min-height: 90vh;
    }

    .hero__title {
        font-size: var(--text-4xl);
    }

    .hero__subtitle {
        font-size: var(--text-lg);
    }

    .hero__stats {
        flex-wrap: wrap;
        gap: var(--space-6);
        justify-content: center;
    }

    .hero__stat {
        flex: 0 0 calc(33.333% - var(--space-4));
    }

    .hero__buttons {
        flex-direction: column;
        align-items: center;
        gap: var(--space-3);
    }

    .hero__buttons .btn {
        width: 100%;
        max-width: 300px;
    }

    /* Property grid */
    .property-grid {
        grid-template-columns: repeat(2, 1fr);
        gap: var(--space-6);
    }

    /* About section */
    .about__content {
        grid-template-columns: 1fr;
        gap: var(--space-10);
    }

    .about__image-wrapper {
        order: -1;
    }

    .about__experience {
        position: relative;
        right: auto;
        bottom: auto;
        margin-top: calc(-1 * var(--space-10));
        margin-left: auto;
        width: fit-content;
    }

    /* CTA section */
    .cta__content {
        flex-direction: column;
        text-align: center;
    }

    .cta__buttons {
        justify-content: center;
    }

    /* Search widget */
    .search-widget__form {
        grid-template-columns: repeat(2, 1fr);
    }

    .search-widget__btn {
        grid-column: span 2;
    }

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

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

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

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

    /* Contact info grid */
    .contact-info-grid {
        grid-template-columns: repeat(2, 1fr);
    }

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

    /* Page header */
    .page-header {
        padding: var(--space-24) 0 var(--space-12);
    }

    .page-header__title {
        font-size: clamp(2rem, 5vw, 3rem);
    }

    /* Newsletter */
    .newsletter__content {
        flex-direction: column;
        text-align: center;
    }

    .newsletter__form {
        width: 100%;
        max-width: 400px;
    }

    /* Filter bar */
    .filter-bar {
        flex-direction: column;
        gap: var(--space-4);
    }

    .filter-bar__actions {
        width: 100%;
        justify-content: space-between;
    }
}

/* ============================================
   Tablet Portrait (576px - 767px)
   ============================================ */
@media (max-width: 767px) {
    :root {
        --container-padding: 1.25rem;
    }

    .container {
        max-width: 540px;
    }

    /* Section spacing */
    .section {
        padding: var(--space-12) 0;
    }

    .section-lg {
        padding: var(--space-16) 0;
    }

    /* Typography */
    h1 { font-size: var(--text-4xl); }
    h2 { font-size: var(--text-3xl); }
    h3 { font-size: var(--text-2xl); }

    .section-header {
        margin-bottom: var(--space-10);
    }

    .section-header__title {
        font-size: var(--text-3xl);
    }

    .section-header__description {
        font-size: var(--text-base);
    }

    /* Hero section */
    .hero {
        min-height: 100vh;
        min-height: 100dvh; /* Dynamic viewport height for mobile */
    }

    .hero__content {
        padding: var(--space-4);
    }

    .hero__badge {
        font-size: var(--text-xs);
        padding: var(--space-2) var(--space-4);
        margin-bottom: var(--space-6);
    }

    .hero__title {
        font-size: var(--text-3xl);
        margin-bottom: var(--space-4);
    }

    .hero__subtitle {
        font-size: var(--text-base);
        margin-bottom: var(--space-8);
    }

    .hero__stats {
        flex-direction: column;
        gap: var(--space-4);
        margin-top: var(--space-10);
        padding-top: var(--space-6);
    }

    .hero__stat {
        flex: 1;
    }

    .hero__stat-number {
        font-size: var(--text-4xl);
    }

    .hero__scroll {
        display: none;
    }

    /* Property grid */
    .property-grid {
        grid-template-columns: 1fr;
        gap: var(--space-6);
    }

    .property-card__image {
        height: 220px;
    }

    .property-card__content {
        padding: var(--space-5);
    }

    .property-card__features {
        flex-wrap: wrap;
        gap: var(--space-3);
    }

    /* Features grid */
    .features-grid {
        grid-template-columns: 1fr;
        gap: var(--space-4);
    }

    .feature-card {
        padding: var(--space-6);
    }

    .feature-card__icon {
        width: 60px;
        height: 60px;
        margin-bottom: var(--space-4);
    }

    /* Areas grid */
    .areas-grid {
        grid-template-columns: 1fr;
        gap: var(--space-4);
    }

    .area-card {
        height: 280px;
    }

    /* Footer */
    .footer__grid {
        grid-template-columns: 1fr;
        gap: var(--space-8);
        text-align: center;
    }

    .footer__brand {
        padding-right: 0;
    }

    .footer__social {
        justify-content: center;
    }

    .footer__title::after {
        left: 50%;
        transform: translateX(-50%);
    }

    .footer__links a::before {
        display: none;
    }

    .footer__links a:hover {
        padding-left: 0;
    }

    .footer__contact-item {
        justify-content: center;
    }

    .footer__bottom {
        flex-direction: column;
        gap: var(--space-4);
        text-align: center;
    }

    .footer__bottom-links {
        flex-wrap: wrap;
        justify-content: center;
        gap: var(--space-4);
    }

    /* Search widget */
    .search-widget {
        margin-top: -30px;
    }

    .search-widget__card {
        padding: var(--space-5);
    }

    .search-widget__form {
        grid-template-columns: 1fr;
    }

    .search-widget__btn {
        width: 100%;
        grid-column: auto;
    }

    /* About section */
    .about__experience {
        padding: var(--space-6);
    }

    .about__experience-number {
        font-size: var(--text-4xl);
    }

    .about__list-item {
        padding: var(--space-3);
    }

    /* CTA section */
    .cta__text h2 {
        font-size: var(--text-2xl);
    }

    .cta__buttons {
        flex-direction: column;
        width: 100%;
    }

    .cta__buttons .btn {
        width: 100%;
    }

    /* Testimonials */
    .testimonial-card {
        padding: var(--space-6);
    }

    .testimonial-card__avatar {
        width: 60px;
        height: 60px;
    }

    .testimonial-card__text {
        font-size: var(--text-base);
    }

    /* Partners */
    .partners-slider .swiper-slide {
        width: 150px;
    }

    .partner-logo {
        padding: var(--space-4);
        height: 80px;
    }

    .partner-logo img {
        max-width: 120px;
        max-height: 50px;
    }

    /* Page header */
    .page-header {
        padding: var(--space-20) 0 var(--space-10);
    }

    .page-header__title {
        font-size: var(--text-3xl);
    }

    .breadcrumb {
        font-size: var(--text-xs);
        flex-wrap: wrap;
    }

    /* Forms */
    .form-row {
        grid-template-columns: 1fr;
    }

    .contact-form-card {
        padding: var(--space-6);
    }

    /* Contact info */
    .contact-info-grid {
        grid-template-columns: 1fr;
    }

    .contact-info-card {
        padding: var(--space-6);
    }

    /* Map */
    .map-container {
        height: 300px;
    }

    /* Blog */
    .blog-grid {
        grid-template-columns: 1fr;
    }

    .blog-card__image {
        height: 200px;
    }

    /* Services */
    .services-grid {
        grid-template-columns: 1fr;
    }

    .service-card {
        padding: var(--space-6);
    }

    /* Team */
    .team-grid {
        grid-template-columns: 1fr;
    }

    .team-card__image {
        height: 250px;
    }

    /* Stats */
    .stats-section {
        padding: var(--space-10) 0;
    }

    .stats-grid {
        grid-template-columns: repeat(2, 1fr);
        gap: var(--space-4);
    }

    .stat-item__number {
        font-size: clamp(2rem, 8vw, 2.5rem);
    }

    .stat-item__label {
        font-size: var(--text-xs);
    }

    /* Newsletter */
    .newsletter {
        padding: var(--space-10) 0;
    }

    .newsletter__form {
        flex-direction: column;
    }

    .newsletter__input {
        min-width: auto;
        width: 100%;
    }

    /* Gallery */
    .gallery-grid {
        grid-template-columns: repeat(2, 1fr);
        gap: var(--space-3);
    }

    /* Tabs */
    .tabs__nav {
        flex-wrap: wrap;
        justify-content: center;
    }

    .tab-btn {
        padding: var(--space-3) var(--space-4);
        font-size: var(--text-xs);
    }

    /* Accordion */
    .accordion-header {
        padding: var(--space-4);
    }

    .accordion-header h3 {
        font-size: var(--text-base);
    }

    .accordion-body {
        padding: 0 var(--space-4) var(--space-4);
    }

    /* Modal */
    .modal {
        padding: var(--space-4);
    }

    .modal__content {
        max-height: 85vh;
    }

    .modal__header,
    .modal__body,
    .modal__footer {
        padding: var(--space-4);
    }

    /* Filter bar */
    .filter-bar__actions {
        flex-direction: column;
        gap: var(--space-3);
    }

    .filter-bar__sort {
        width: 100%;
    }

    .filter-bar__sort select {
        flex: 1;
    }

    .filter-bar__view {
        width: 100%;
        justify-content: center;
    }

    /* Pagination */
    .pagination {
        flex-wrap: wrap;
    }

    .pagination__btn {
        width: 40px;
        height: 40px;
    }

    /* WhatsApp & Back to top */
    .whatsapp-btn {
        width: 55px;
        height: 55px;
        bottom: var(--space-4);
        right: var(--space-4);
        font-size: var(--text-2xl);
    }

    .back-to-top {
        width: 45px;
        height: 45px;
        bottom: var(--space-4);
        right: calc(var(--space-4) + 65px);
    }
}

/* ============================================
   Mobile Portrait (up to 575px)
   ============================================ */
@media (max-width: 575px) {
    :root {
        --container-padding: 1rem;
    }

    .container {
        max-width: 100%;
        padding: 0 var(--container-padding);
    }

    /* Section spacing */
    .section {
        padding: var(--space-10) 0;
    }

    /* Typography */
    h1 { font-size: var(--text-3xl); }
    h2 { font-size: var(--text-2xl); }
    h3 { font-size: var(--text-xl); }

    .section-header__title {
        font-size: var(--text-2xl);
    }

    .section-header__badge {
        font-size: 0.65rem;
    }

    .section-header__badge::before,
    .section-header__badge::after {
        width: 30px;
    }

    /* Hero */
    .hero__badge {
        font-size: 0.65rem;
        padding: var(--space-1) var(--space-3);
    }

    .hero__title {
        font-size: var(--text-2xl);
    }

    .hero__subtitle {
        font-size: var(--text-sm);
    }

    .hero__stat-number {
        font-size: var(--text-3xl);
    }

    .hero__stat-label {
        font-size: var(--text-xs);
    }

    /* Buttons */
    .btn {
        width: 100%;
        padding: var(--space-3) var(--space-6);
        font-size: var(--text-xs);
    }

    .btn-lg {
        padding: var(--space-4) var(--space-6);
    }

    .btn-sm {
        padding: var(--space-2) var(--space-4);
    }

    /* Logo */
    .logo__text {
        font-size: var(--text-xl);
    }

    /* Property cards */
    .property-card__image {
        height: 200px;
    }

    .property-card__title {
        font-size: var(--text-lg);
    }

    .property-card__features {
        gap: var(--space-2);
    }

    .property-card__feature {
        font-size: var(--text-xs);
    }

    .property-card__price {
        font-size: var(--text-lg);
    }

    /* Feature cards */
    .feature-card {
        padding: var(--space-5);
    }

    .feature-card__icon {
        width: 50px;
        height: 50px;
        font-size: var(--text-xl);
    }

    .feature-card__title {
        font-size: var(--text-lg);
    }

    /* Area cards */
    .area-card {
        height: 240px;
    }

    .area-card__overlay {
        padding: var(--space-4);
    }

    .area-card__name {
        font-size: var(--text-lg);
    }

    /* About */
    .about__experience {
        padding: var(--space-5);
    }

    .about__experience-number {
        font-size: var(--text-3xl);
    }

    .about__list-item i {
        font-size: var(--text-base);
    }

    /* CTA */
    .cta__text h2 {
        font-size: var(--text-xl);
    }

    .cta__text p {
        font-size: var(--text-sm);
    }

    /* Testimonials */
    .testimonial-card {
        padding: var(--space-5);
    }

    .testimonial-card__avatar {
        width: 50px;
        height: 50px;
    }

    .testimonial-card__text {
        font-size: var(--text-sm);
        line-height: 1.6;
    }

    .testimonial-card__name {
        font-size: var(--text-base);
    }

    /* Page header */
    .page-header {
        padding: var(--space-16) 0 var(--space-8);
    }

    .page-header__title {
        font-size: var(--text-2xl);
    }

    /* Forms */
    .form-control {
        padding: var(--space-3);
        font-size: var(--text-sm);
    }

    .form-group label {
        font-size: var(--text-xs);
    }

    textarea.form-control {
        min-height: 120px;
    }

    .contact-form-card {
        padding: var(--space-5);
    }

    .contact-form-card__title {
        font-size: var(--text-xl);
    }

    /* Contact info */
    .contact-info-card {
        padding: var(--space-5);
    }

    .contact-info-card__icon {
        width: 55px;
        height: 55px;
        font-size: var(--text-xl);
    }

    .contact-info-card__title {
        font-size: var(--text-base);
    }

    /* Map */
    .map-container {
        height: 250px;
    }

    /* Blog */
    .blog-card__image {
        height: 180px;
    }

    .blog-card__content {
        padding: var(--space-4);
    }

    .blog-card__meta {
        flex-direction: column;
        gap: var(--space-2);
    }

    .blog-card__title {
        font-size: var(--text-lg);
    }

    /* Services */
    .service-card {
        padding: var(--space-5);
    }

    .service-card__icon {
        width: 55px;
        height: 55px;
        font-size: var(--text-2xl);
    }

    .service-card__title {
        font-size: var(--text-lg);
    }

    /* Team */
    .team-card__image {
        height: 220px;
    }

    .team-card__content {
        padding: var(--space-4);
    }

    .team-card__name {
        font-size: var(--text-lg);
    }

    /* Stats */
    .stats-grid {
        grid-template-columns: 1fr 1fr;
        gap: var(--space-3);
    }

    .stat-item__number {
        font-size: clamp(1.75rem, 8vw, 2rem);
    }

    /* Newsletter */
    .newsletter__text h3 {
        font-size: var(--text-xl);
    }

    .newsletter__input {
        padding: var(--space-3) var(--space-4);
    }

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

    /* Accordion */
    .accordion-header {
        padding: var(--space-3);
    }

    .accordion-header h3 {
        font-size: var(--text-sm);
    }

    .accordion-body {
        padding: 0 var(--space-3) var(--space-3);
        font-size: var(--text-sm);
    }

    /* Modal */
    .modal {
        padding: var(--space-3);
    }

    .modal__title {
        font-size: var(--text-lg);
    }

    /* Pagination */
    .pagination__btn {
        width: 36px;
        height: 36px;
        font-size: var(--text-xs);
    }

    /* Fixed buttons */
    .whatsapp-btn {
        width: 50px;
        height: 50px;
        bottom: var(--space-3);
        right: var(--space-3);
    }

    .back-to-top {
        width: 40px;
        height: 40px;
        bottom: var(--space-3);
        right: calc(var(--space-3) + 58px);
    }
}

/* ============================================
   Extra Small Devices (up to 374px)
   ============================================ */
@media (max-width: 374px) {
    :root {
        --container-padding: 0.75rem;
    }

    h1 { font-size: var(--text-2xl); }
    h2 { font-size: var(--text-xl); }
    h3 { font-size: var(--text-lg); }

    .hero__title {
        font-size: 1.75rem;
    }

    .hero__subtitle {
        font-size: var(--text-xs);
    }

    .hero__stat-number {
        font-size: var(--text-2xl);
    }

    .section-header__title {
        font-size: var(--text-xl);
    }

    .btn {
        padding: var(--space-3) var(--space-4);
        font-size: 0.65rem;
    }

    .logo__text {
        font-size: var(--text-lg);
    }

    .property-card__image {
        height: 180px;
    }

    .area-card {
        height: 200px;
    }

    .feature-card__icon {
        width: 45px;
        height: 45px;
    }

    .stats-grid {
        grid-template-columns: 1fr;
        gap: var(--space-4);
    }
}

/* ============================================
   Landscape Mode Adjustments
   ============================================ */
@media (max-height: 500px) and (orientation: landscape) {
    .hero {
        min-height: auto;
        padding: var(--space-20) 0 var(--space-10);
    }

    .hero__stats {
        margin-top: var(--space-6);
        padding-top: var(--space-4);
    }

    .hero__scroll {
        display: none;
    }

    .mobile-nav__list a {
        font-size: var(--text-xl);
    }

    .mobile-nav__list li {
        margin-bottom: var(--space-2);
    }
}

/* ============================================
   Touch Device Optimizations
   ============================================ */
@media (hover: none) and (pointer: coarse) {
    /* Remove hover effects on touch devices */
    .property-card:hover,
    .feature-card:hover,
    .service-card:hover,
    .blog-card:hover,
    .team-card:hover,
    .area-card:hover,
    .partner-logo:hover {
        transform: none;
    }

    /* Make interactive elements touch-friendly */
    .btn,
    .nav__link,
    .mobile-nav__list a,
    .footer__links a,
    .pagination__btn,
    .filter-bar__view-btn {
        min-height: var(--touch-target-min);
    }

    /* Disable cursor follower */
    .cursor-follower {
        display: none !important;
    }

    /* Show property card actions always on touch */
    .property-card__actions {
        opacity: 1;
        transform: translateX(0);
    }

    /* Show team social always on touch */
    .team-card__social {
        opacity: 1;
        transform: translateY(0);
    }
}

/* ============================================
   High DPI / Retina Displays
   ============================================ */
@media (-webkit-min-device-pixel-ratio: 2),
       (min-resolution: 192dpi) {
    /* Ensure crisp borders */
    .property-card,
    .feature-card,
    .service-card,
    .blog-card,
    .contact-info-card,
    .accordion-item,
    .form-control,
    .btn-outline,
    .btn-outline-white {
        border-width: 0.5px;
    }
}

/* ============================================
   Print Styles
   ============================================ */
@media print {
    .header,
    .footer,
    .whatsapp-btn,
    .back-to-top,
    .mobile-nav,
    .hero__scroll,
    .cursor-follower,
    .scroll-progress {
        display: none !important;
    }

    body {
        background: white !important;
        color: black !important;
    }

    .hero {
        min-height: auto;
        padding: 2rem 0;
    }

    .section {
        padding: 1rem 0;
        page-break-inside: avoid;
    }

    .property-card,
    .feature-card,
    .service-card {
        break-inside: avoid;
    }
}

/* ============================================
   Safe Area Insets (for notched devices)
   ============================================ */
@supports (padding: max(0px)) {
    .header {
        padding-top: max(0px, env(safe-area-inset-top));
    }

    .footer__bottom {
        padding-bottom: max(var(--space-6), env(safe-area-inset-bottom));
    }

    .whatsapp-btn,
    .back-to-top {
        bottom: max(var(--space-4), calc(var(--space-4) + env(safe-area-inset-bottom)));
    }

    .mobile-nav {
        padding-top: max(var(--space-20), env(safe-area-inset-top));
        padding-bottom: max(var(--space-8), env(safe-area-inset-bottom));
        padding-left: max(var(--space-4), env(safe-area-inset-left));
        padding-right: max(var(--space-4), env(safe-area-inset-right));
    }
}

/* ============================================
   Dark Mode Responsive Adjustments
   ============================================ */
@media (prefers-color-scheme: dark) {
    [data-theme="auto"] {
        --color-bg: #0a0a0a;
        --color-surface: #18181b;
        --color-text: #fafafa;
        --color-text-muted: #a1a1aa;
    }
}

/* ============================================
   Reduced Motion Preferences
   ============================================ */
@media (prefers-reduced-motion: reduce) {
    *,
    *::before,
    *::after {
        animation-duration: 0.01ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: 0.01ms !important;
        scroll-behavior: auto !important;
    }

    .hero__shapes,
    .hero__particles {
        display: none;
    }

    .cursor-follower {
        display: none !important;
    }
}

/* ============================================
   Container Query Support (Future-proofing)
   ============================================ */
@supports (container-type: inline-size) {
    .property-grid,
    .features-grid,
    .areas-grid,
    .blog-grid,
    .services-grid,
    .team-grid {
        container-type: inline-size;
    }
}
