/* ===== MODERN RESPONSIVE DESIGN ===== */

/* Large Desktop */
@media (min-width: 1400px) {
  .container {
    max-width: 1320px;
  }

  .hero h1 {
    font-size: var(--text-7xl);
  }

  .section-title {
    font-size: var(--text-6xl);
  }
}

/* Desktop */
@media (max-width: 1200px) {
  .container {
    padding: 0 var(--space-6);
  }

  .hero h1 {
    font-size: clamp(var(--text-3xl), 4vw, var(--text-5xl));
  }

  .service-grid {
    grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
  }

  .projects-grid {
    grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
  }
}

/* Tablet */
@media (max-width: 1024px) {
  .section {
    padding: var(--space-18) 0;
  }

  .container {
    padding: 0 var(--space-6);
  }

  .header-inner {
    gap: var(--space-4);
  }

  .navbar ul {
    gap: var(--space-6);
  }

  .hero-logo {
    width: 100px;
  }

  .hero h1 {
    font-size: clamp(var(--text-2xl), 3.5vw, var(--text-4xl));
  }

  .hero .sub {
    font-size: var(--text-lg);
  }

  .service-grid {
    grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
    gap: var(--space-6);
  }

  .projects-grid {
    grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
    gap: var(--space-6);
  }

  .map-grid {
    grid-template-columns: 1fr;
    gap: var(--space-6);
  }

  .footer-grid {
    grid-template-columns: 1fr 1fr;
    gap: var(--space-6);
  }

  /* Projects slider containment + peek */
  .projects-slider {
    padding: 8px 48px;
  }

  .projects-slider .swiper-slide {
    flex: 0 0 46%;
  }
}

/* Mobile Landscape */
@media (max-width: 820px) {
  .section {
    padding: var(--space-16) 0;
  }

  .container {
    padding: 0 var(--space-4);
  }

  .navbar {
    display: none;
  }

  .menu-toggle {
    display: flex;
  }

  .mobile-drawer.open {
    width: 300px;
  }

  .drawer-backdrop.show {
    opacity: 1;
    pointer-events: auto;
  }

  .hero {
    min-height: 90vh;
  }

  .hero-semicircle {
    width: 500px;
    height: 250px;
    border-radius: 250px 250px 0 0;
  }

  .video-content {
    gap: 30px;
  }

  .engineer-icon,
  .hvac-icon,
  .gear-icon {
    font-size: 36px;
  }

  .company-name {
    font-size: var(--text-3xl);
  }

  .company-tagline {
    font-size: var(--text-xs);
  }

  .stat {
    min-width: 100px;
    padding: var(--space-3) var(--space-4);
  }

  .stat-number {
    font-size: var(--text-lg);
  }

  .stat-label {
    font-size: 10px;
  }

  .stat-1 {
    top: 15%;
    left: 5%;
  }

  .stat-2 {
    top: 5%;
    right: 10%;
  }

  .stat-3 {
    bottom: 25%;
    right: 2%;
  }

  .stat-4 {
    bottom: 15%;
    left: 2%;
  }

  .service-grid {
    grid-template-columns: 1fr;
    gap: var(--space-6);
  }

  .projects-grid {
    grid-template-columns: 1fr;
    gap: var(--space-6);
  }

  /* Projects slider mobile landscape */
  .projects-slider {
    padding: 6px 40px;
  }

  .projects-slider .swiper-slide {
    flex: 0 0 84%;
  }

  .contact-form .row {
    grid-template-columns: 1fr;
    gap: var(--space-4);
  }

  .footer-grid {
    grid-template-columns: 1fr;
    gap: var(--space-6);
    text-align: center;
  }

  .fb-inner {
    flex-direction: column;
    text-align: center;
    gap: var(--space-4);
  }
}

/* Mobile Portrait */
@media (max-width: 640px) {
  .container {
    padding: 0 var(--space-4);
  }

  .logo {
    width: 120px;
  }

  .section {
    padding: var(--space-16) 0;
  }

  .section-title {
    font-size: clamp(var(--text-2xl), 4vw, var(--text-3xl));
    margin-bottom: var(--space-8);
  }

  .hero {
    min-height: 80vh;
  }

  .hero-semicircle {
    width: 320px;
    height: 160px;
    border-radius: 160px 160px 0 0;
  }

  .video-content {
    gap: 20px;
  }

  .engineer-icon,
  .hvac-icon,
  .gear-icon {
    font-size: 28px;
  }

  .company-name {
    font-size: var(--text-2xl);
  }

  .company-tagline {
    font-size: 10px;
  }

  .hero-brand {
    bottom: 15px;
  }

  .hero-logo {
    width: 60px;
  }

  .stat {
    min-width: 80px;
    padding: var(--space-2) var(--space-3);
  }

  .stat-number {
    font-size: var(--text-base);
  }

  .stat-label {
    font-size: 9px;
  }

  .stat-1 {
    top: 5%;
    left: 5%;
  }

  .stat-2 {
    top: 5%;
    right: 5%;
  }

  .stat-3 {
    bottom: 15%;
    right: 5%;
  }

  .stat-4 {
    bottom: 5%;
    left: 5%;
  }

  .scroll-down {
    width: 40px;
    height: 40px;
    bottom: 20px;
  }

  .service-card {
    padding: var(--space-6);
  }

  .icon {
    width: 50px;
    height: 50px;
    font-size: var(--text-lg);
  }

  .proj-card .thumb {
    height: 160px;
  }

  .proj-card .meta {
    padding: var(--space-4) var(--space-6);
  }

  .contact-form {
    padding: var(--space-6);
  }

  .info-card {
    padding: var(--space-6);
  }

  .projects-slider {
    padding: 6px 36px;
  }

  .projects-slider .swiper-slide {
    flex: 0 0 86%;
  }

  .map-frame {
    height: 300px;
  }
}

/* Small Mobile */
@media (max-width: 480px) {
  .container {
    padding: 0 var(--space-3);
  }

  .projects-slider {
    padding: 6px 28px;
  }

  .projects-slider .swiper-slide {
    flex: 0 0 88%;
  }

  .logo {
    width: 100px;
  }

  .hero h1 {
    font-size: var(--text-lg);
  }

  .hero .sub {
    font-size: var(--text-xs);
  }

  .section-title {
    font-size: var(--text-xl);
  }

  .service-card,
  .proj-card,
  .info-card,
  .contact-form {
    padding: var(--space-4);
  }

  .btn {
    padding: var(--space-2) var(--space-4);
    font-size: var(--text-xs);
  }
}

/* High DPI Displays */
@media (-webkit-min-device-pixel-ratio: 2),
(min-resolution: 192dpi) {

  .hero::before,
  .pattern::before {
    background-size: 50px 50px;
  }
}

/* Print Styles */
@media print {

  .page-dots,
  .mobile-drawer,
  .drawer-backdrop,
  .hero::before,
  .pattern::before {
    display: none;
  }

  .hero {
    background: white;
    color: black;
  }

  .hero h1 {
    color: black;
  }

  .service-card,
  .proj-card,
  .info-card,
  .contact-form {
    box-shadow: none;
    border: 1px solid #ccc;
  }
}