/* ============================================================
   RESPONSIVE RULES
   Breakpoints: 1200 / 992 / 768 / 576
   ============================================================ */

@media (max-width: 1200px){
  :root{ --container-max: 1040px; }
  .hero-inner{ gap: var(--space-4); }
  .card-grid{ grid-template-columns: repeat(3,1fr); gap: var(--space-2); }
  .card-grid-4{ grid-template-columns: repeat(3,1fr); gap: var(--space-2); }
}

@media (max-width: 992px){
  .main-nav{ display:none; }
  .nav-toggle{ display:flex; flex-shrink:0; }
  .header-phone{ display:none; }
  .nav-wrap{ gap: var(--space-2); }
  .brand{ gap:0.6rem; min-width:0; }
  .brand-mark{ width:56px; height:56px; }
  .brand-text{ min-width:0; }
  .brand-text .name{ font-size:1.05rem; }
  .brand-text .sub{ font-size:0.66rem; }
  .header-cta{ gap:0.5rem; flex-shrink:0; }
  .header-cta .btn-primary.btn-sm{ padding:0.55em 0.9em; font-size:0.72rem; }
  .hero-inner{ grid-template-columns:1fr; text-align:left; }
  .hero-visual{ height:340px; margin-top:2rem; }
  .tri-card{ width:190px; padding:1.1rem; }
  .trivand{ grid-template-columns:1fr; }
  .trivand-item{ border-left:none; border-top:1px solid var(--line); }
  .trivand-item:first-child{ border-top:none; }
  .card-grid{ grid-template-columns: repeat(2,1fr); }
  .card-grid-2{ grid-template-columns: repeat(2,1fr); }
  .card-grid-4{ grid-template-columns: repeat(2,1fr); }
  .footer-top{ grid-template-columns: 1fr 1fr; gap: var(--space-4) var(--space-3); }
  .footer-brand{ grid-column: 1/-1; }
  .split{ grid-template-columns:1fr; gap: var(--space-4); }
  .split-media{ order:-1; }
  .stats-strip{ grid-template-columns: repeat(2,1fr); gap: var(--space-4) var(--space-2); }
  .stat-item{ border-right:none; border-bottom:1px solid var(--line-on-dark); padding-bottom: var(--space-3); }
  .gallery-grid{ grid-template-columns: repeat(3,1fr); }
}

@media (max-width: 768px){
  :root{ --space-6: 2.2rem; --space-7: 3.2rem; }
  .section{ padding: var(--space-5) 0; }
  .hero{ min-height:auto; padding-bottom: 4rem; }
  .hero-meta{ gap: var(--space-3); }
  .card-grid{ grid-template-columns: 1fr; }
  .card-grid-2{ grid-template-columns: 1fr; }
  .card-grid-4{ grid-template-columns: 1fr 1fr; gap: var(--space-2); }
  .footer-top{ grid-template-columns: 1fr; }
  .footer-bottom{ flex-direction:column; align-items:flex-start; }
  .page-hero{ padding: 8rem 0 3.5rem; }
  .gallery-grid{ grid-template-columns: repeat(2,1fr); }
  .job-card{ flex-direction:column; align-items:flex-start; }
  .job-card .btn{ width:100%; }
  .split-media img{ height:280px; }
  .contact-info-card{ flex-direction:column; }
}

@media (max-width: 576px){
  .container{ padding: 0 1.1rem; }
  .header-cta .btn-primary.btn-sm{ display:none; }
  .brand-mark{ width:44px; height:44px; }
  .brand-text .name{ font-size:0.92rem; }
  .brand-text .sub{ font-size:0.58rem; }
  .hero h1{ font-size: 2.2rem; }
  .hero-meta-item .num{ font-size:1.5rem; }
  .hero-visual{ display:none; }
  .btn{ padding: 0.85em 1.4em; font-size:0.86rem; }
  .card-grid-4{ grid-template-columns: 1fr; gap: var(--space-2); }
  .gallery-grid{ grid-template-columns: repeat(2,1fr); gap:0.5rem; }
  .newsletter-box{ flex-direction:column; }
  .back-to-top, .wa-float{ width:44px; height:44px; bottom:1.1rem; }
  .back-to-top{ right:1.1rem; }
  .wa-float{ left:1.1rem; }
  .stats-strip{ grid-template-columns: 1fr 1fr; }
  .section-head h2{ font-size:1.7rem; }
  .map-embed{ height:260px; }
}

/* ============================================================
   MOBILE ACTION BAR — WhatsApp / Enquiry / Call
   Sticky footer bar, mobile through tablet widths only.
   ============================================================ */
.mobile-action-bar{ display:none; }

@media (max-width: 991px){
  body{ padding-bottom: 56px; }
  .wa-float{ display:none; }
  .back-to-top{ bottom: calc(56px + 0.8rem); }

  .mobile-action-bar{
    display:flex;
    position:fixed; left:0; right:0; bottom:0;
    height:56px;
    background: var(--forest);
    box-shadow: 0 -6px 20px -8px rgba(0,0,0,0.4);
    z-index:1000;
    padding-bottom: env(safe-area-inset-bottom);
  }
  .mobile-action-bar .mab-item{
    flex:1; position:relative; display:flex; align-items:center; justify-content:center; gap:0.4rem;
    background:none; border:none; color:#fff; font-size:0.88rem; font-weight:600;
    font-family: inherit;
  }
  .mobile-action-bar .mab-item:not(:last-child)::after{
    content:""; position:absolute; right:0; top:14px; bottom:14px; width:1px;
    background: rgba(255,255,255,0.2);
  }
  .mobile-action-bar .mab-item svg{ width:20px; height:20px; flex-shrink:0; }
  .mobile-action-bar .mab-wa svg{ fill:#25D366; stroke:none; }
  .mobile-action-bar .mab-call svg{ stroke:#fff; }
}
