/* =========================================================
   RESPONSIVE — desktop / laptop / tablet / mobile
   ========================================================= */

@media (max-width: 1199.98px){
  .services-grid{ grid-template-columns: repeat(2,1fr); }
  .about-points{ grid-template-columns: 1fr 1fr; }
  .footer-grid{ grid-template-columns: 1fr 1fr; }
  .counter-grid{ grid-template-columns: repeat(2,1fr); gap:40px 20px; }
}

@media (max-width: 991.98px){
  :root{ --nav-h:78px; }
  .nav-menu{
    position:fixed; inset:0 0 0 auto; width:min(78%,340px); height:100vh; background: var(--c-primary-deep);
    flex-direction:column; align-items:flex-start; justify-content:center; gap:8px; padding:40px 40px;
    transform: translateX(100%); transition: transform .28s cubic-bezier(.4,0,.2,1); z-index:920;
  }
  .nav-menu.open{ transform: translateX(0); }
  .nav-menu a{ color:var(--c-white); font-size:1.15rem; width:100%; padding:14px 0; border-bottom:1px solid rgba(255,255,255,.08); }
  .site-header.solid .nav-menu a{ color:var(--c-white); }
  .site-header.solid .nav-menu a.active{ color:var(--c-primary); }
  .nav-toggle{ display:flex; }
  .nav-cta .nav-call{ display:none; }
  .nav-cta .btn{ padding:12px 22px; font-size:.8rem; }

  .why-grid{ grid-template-columns: repeat(2,1fr); }
  .process-track{ grid-template-columns: 1fr 1fr; gap:50px 0; }
  .process-track::before{ display:none; }
  .about-media .frame img{ height:440px; }
  .footer-grid{ grid-template-columns: 1fr 1fr; gap:40px 20px; }
  #waterline{ display:none; }
}

@media (max-width: 767.98px){
  .section{ padding:80px 0; }
  .section-tight{ padding:60px 0; }
  .services-grid{ grid-template-columns: 1fr; }
  .about-points{ grid-template-columns: 1fr; }
  .why-grid{ grid-template-columns: 1fr; }
  .process-track{ grid-template-columns: 1fr; gap:36px 0; text-align:left; }
  .process-step{ display:flex; align-items:center; gap:20px; text-align:left; padding:0; }
  .process-num{ margin:0; width:70px; height:70px; font-size:1.2rem; flex-shrink:0; }
  .counter-grid{ grid-template-columns: 1fr 1fr; }
  .footer-grid{ grid-template-columns: 1fr; gap:36px; }
  .contact-form-card, .contact-info-card{ padding:28px; }
  .about-badge-float{ left:12px; bottom:-24px; padding:16px 18px; max-width:220px; }
  .about-year-tag{ right:12px; }
  .hero-stats{ gap:26px; }
  .cta-parallax{ padding:90px 0; background-attachment:scroll; }
  .page-hero{ padding: calc(var(--nav-h) + 70px) 0 80px; }
  .hero-title{ font-size: clamp(1.4rem, 4vw, 2.1rem); max-width:100%; }
  .hero-stats{ display:none; }
}

@media (max-width: 575.98px){
  .container-xl{ padding:0 18px; }
  .hero-btns{ flex-direction:column; align-items:stretch; }
  .hero-btns .btn{ width:100%; }
  .hero-stats{ justify-content:space-between; width:100%; }
  .cta-btns{ flex-direction:column; align-items:stretch; }
  .cta-btns .btn{ width:100%; }
  .about-media .frame img{ height:320px; }
  .about-badge-float{ position:static; margin-top:16px; max-width:100%; }
  .about-year-tag{ position:static; display:inline-flex; align-items:center; gap:8px; margin-bottom:16px; }
  .footer-bottom{ flex-direction:column; text-align:center; }
  #back-to-top{ width:44px; height:44px; bottom:20px; right:20px; }
  .brand-text strong{ font-size:.92rem; }
  .service-card{ padding:30px 22px; }
  .hero-title{ font-size: clamp(1.2rem, 5.6vw, 1.7rem); line-height:1.22; margin-bottom:16px; }
  .hero-badge{ font-size:.65rem; padding:7px 16px; }
}

@media (max-width: 375px){
  .hero-title{ font-size: clamp(1.05rem, 6vw, 1.4rem); }
}

@media (orientation:landscape) and (max-height:520px){
  .hero{ min-height:auto; height:auto; padding:140px 0 80px; }
  .page-hero{ padding: 120px 0 70px; }
}
