/* =========================================
   CORE GROW ENTERPRISES — RESPONSIVE
========================================= */

/* ===== 4K / ULTRA-WIDE (>=1800px) ===== */
@media (min-width: 1800px) {
  .section-container { max-width: 1600px; }
  .hero-container { max-width: 1600px; }
  .footer-top { max-width: 1600px; }
  html { font-size: 18px; }
  .hero-title { font-size: 4.4rem; }
  .hero-core-circle { width: 320px; height: 320px; }
  .services-grid { gap: 34px; }
}

/* ===== LAPTOP (1200 - 1440) ===== */
@media (max-width: 1440px) {
  .section-container { max-width: 1140px; }
}

/* ===== TABLET LANDSCAPE (<=1100px) ===== */
@media (max-width: 1100px) {
  .hero-container { grid-template-columns: 1fr; text-align: center; gap: 40px; }
  .hero-btns, .hero-badge { justify-content: center; }
  .hero-btns { display: flex; }
  .hero-features { justify-content: center; }
  .hero-visual { height: 420px; margin: 0 auto; max-width: 480px; }
  .about .section-container { grid-template-columns: 1fr; }
  .about-right { max-width: 560px; margin: 0 auto; }
  .services-grid { grid-template-columns: repeat(2, 1fr); }
  .industries-grid { grid-template-columns: repeat(3, 1fr); }
  .why-grid { grid-template-columns: repeat(2, 1fr); }
  .contact-grid { grid-template-columns: 1fr; }
  .footer-top { grid-template-columns: 1fr 1fr; }
}

/* ===== TABLET PORTRAIT (<=900px) ===== */
@media (max-width: 900px) {
  :root { --nav-height: 72px; }

  /* Reveal from bottom only on smaller screens — horizontal slides push
     content off-canvas and cause sideways scrolling. :not(.in-view) keeps
     the settled (visible) state untouched. */
  .reveal[data-anim="fade-left"]:not(.in-view),
  .reveal[data-anim="slide-left"]:not(.in-view),
  .reveal[data-anim="slide-right"]:not(.in-view) {
    transform: translateY(40px);
  }

  .nav-links {
    position: fixed;
    top: 72px; left: 0; right: 0;
    flex-direction: column;
    align-items: stretch;
    background: rgba(255,255,255,0.98);
    backdrop-filter: blur(20px);
    padding: 20px 24px 30px;
    gap: 4px;
    box-shadow: var(--shadow-md);
    transform: translateY(-120%);
    opacity: 0;
    transition: transform 0.4s cubic-bezier(.2,.8,.2,1), opacity 0.4s ease;
    z-index: 999;
  }
  .nav-links.active { transform: translateY(0); opacity: 1; }
  .nav-link { padding: 14px 10px; border-bottom: 1px solid var(--border); }
  .nav-link::after { display: none; }

  .nav-cta { display: none; }
  .phone-btn span { display: none; }
  .phone-btn { padding: 10px; }
  .menu-toggle { display: flex; }

  .hero-badge { font-size: 0.78rem; }
  .hero-title { font-size: clamp(2rem, 7vw, 2.6rem); }
  .hero-features { gap: 12px; }

  .glass-card { position: static; margin-bottom: 14px; animation: none; }
  .hero-visual { flex-direction: column; height: auto; gap: 16px; }
  .hero-core-circle { order: -1; margin-bottom: 10px; width: 200px; height: 200px; }
  .core-inner span { font-size: 2rem; }

  .services-grid { grid-template-columns: repeat(2, 1fr); gap: 18px; }
  .industries-grid { grid-template-columns: repeat(2, 1fr); }
  .value-band { grid-template-columns: repeat(2, 1fr); gap: 28px 20px; }
  .value-box::after { display: none; }
  .form-row { grid-template-columns: 1fr; }
  .footer-top { grid-template-columns: 1fr; gap: 34px; }
}

/* ===== MOBILE (<=600px) ===== */
@media (max-width: 600px) {
  .section-container { padding: 0 18px; }
  .hero-container { padding: 30px 18px; }
  .about, .services, .industries, .why-us, .contact { padding: 66px 0; }

  .section-header { margin-bottom: 40px; }
  .section-title { font-size: 1.65rem; }
  .section-desc { font-size: 0.95rem; }

  /* Buttons go full-width for comfortable tapping */
  .hero-btns { flex-direction: column; align-items: stretch; width: 100%; }
  .hero-btns .btn { width: 100%; }

  .services-grid { grid-template-columns: 1fr; }
  .industries-grid { grid-template-columns: 1fr; gap: 16px; }
  .industry-card { padding: 26px 22px; }
  .why-grid { grid-template-columns: 1fr; gap: 18px; }
  .why-card { padding: 28px 24px; }

  .about-right { grid-template-columns: 1fr; max-width: 420px; }

  .value-band { grid-template-columns: repeat(2, 1fr); padding: 34px 20px; gap: 26px 16px; }

  .contact-form-wrap { padding: 26px 22px; }
  .info-card { padding: 30px 22px; }
  .info-sub { max-width: 100%; }
  /* Keep the three quick-actions on one row on phones */
  .contact-actions { gap: 8px; }
  .contact-action { min-width: 0; padding: 11px 8px; font-size: 0.8rem; gap: 6px; }
  .contact-action svg { width: 15px; height: 15px; }

  .footer-bottom { font-size: 0.78rem; padding: 20px; }

  .floating-buttons { bottom: 20px; right: 16px; gap: 10px; }
  .fab { width: 48px; height: 48px; }
  .back-to-top { bottom: 20px; left: 16px; width: 42px; height: 42px; }

  .hero-features { gap: 12px; }
  .hfeature { width: 100%; }

  .marquee-track span { font-size: 0.72rem; }
}

/* ===== SMALL MOBILE (<=380px) ===== */
@media (max-width: 380px) {
  .hero-title { font-size: 1.8rem; }
  .logo { font-size: 1.15rem; }
  .value-band { grid-template-columns: 1fr; }
  .value-box:not(:last-child) { border-bottom: 1px solid rgba(255,255,255,0.16); padding-bottom: 22px; }
}

/* Reduce motion for accessibility */
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after {
    animation-duration: 0.001ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.001ms !important;
    scroll-behavior: auto !important;
  }
}
