/* TABLET LANDSCAPE & BELOW (<=1024px) */
@media(max-width:1024px){
  /* Nav - slide-out drawer */
  .nav-links{position:fixed;top:0;right:-100%;width:280px;height:100vh;background:var(--navy-deep);flex-direction:column;padding:5rem 2rem;transition:var(--transition);box-shadow:var(--shadow-lg);z-index:1000}
  .nav-links.open{right:0}
  .nav{background:rgba(6,24,39,0.97);backdrop-filter:blur(16px);box-shadow:0 8px 28px rgba(3,12,22,0.22);padding:.75rem 0}
  .hamburger{display:flex;width:44px;height:44px;align-items:center;justify-content:center;gap:6px;border-radius:10px}
  .hamburger span{width:28px;height:2.5px}
  .nav-inner{padding:0 1.25rem;min-height:50px}
  .nav-brand{min-width:0;gap:.75rem}
  .nav-brand-text{font-size:1.28rem;letter-spacing:1.2px;line-height:1;white-space:nowrap}
  .nav-logo{width:42px;height:42px;padding:3px;border-radius:9px}
  .nav-cta{padding:.7rem 1.15rem!important}

  /* Hero */
  .hero{min-height:auto;padding:8.5rem 0 3rem;align-items:flex-start}
  .hero-inner{grid-template-columns:1fr;text-align:center}
  .hero-content{display:flex;flex-direction:column;align-items:center;width:min(100%,42rem);margin:0 auto}
  .hero-visual{margin-top:2rem}
  .hero-visual::before{width:312px;height:312px;box-shadow:0 0 0 19px rgba(31,111,168,0.055),0 0 0 41px rgba(61,154,215,0.03),0 0 46px rgba(31,111,168,0.18)}
  .hero-visual::after{width:228px;height:228px;box-shadow:0 0 0 12px rgba(61,154,215,0.04),inset 0 0 28px rgba(31,111,168,0.12)}
  .hero-phone-img{max-width:380px}
  .hero p{margin:0 auto 2rem}
  .hero-buttons{justify-content:center}
  .hero-badge{justify-content:center;text-align:center;line-height:1.5;max-width:min(100%,22rem);margin-top:.25rem}

  /* Sub hero */
  .hero-sub{min-height:auto;padding-top:7rem;padding-bottom:3rem}

  /* Grids */
  .about-grid{grid-template-columns:1fr}
  .about-content{order:-1}
  .about-image-box{padding:2rem}
  .about-logo-display .dz{font-size:4.5rem}
  .services-grid{grid-template-columns:repeat(2,1fr)}
  .why-grid{grid-template-columns:repeat(2,1fr)}
  .team-grid{grid-template-columns:repeat(2,1fr)}
  .contact-grid{grid-template-columns:1fr;gap:3rem}
  .footer-grid{grid-template-columns:repeat(2,1fr)}

  /* Misc */
  .cta-box{padding:3rem 2rem}
  .cta-box h2{font-size:2rem}
}

/* TABLET PORTRAIT & BELOW (<=768px) */
@media(max-width:768px){
  /* Hero - Home */
  .hero{min-height:auto;padding:8rem 0 3rem}
  .hero h1{font-size:2.2rem}
  .hero p{font-size:1rem}
  .hero-badge{font-size:.7rem;padding:.35rem .75rem;max-width:min(100%,20rem)}
  .hero-visual{margin-top:1.5rem}
  .hero-visual::before{width:252px;height:252px;box-shadow:0 0 0 14px rgba(31,111,168,0.05),0 0 0 29px rgba(61,154,215,0.028),0 0 38px rgba(31,111,168,0.16)}
  .hero-visual::after{width:180px;height:180px;box-shadow:0 0 0 10px rgba(61,154,215,0.038),inset 0 0 22px rgba(31,111,168,0.11)}
  .hero-phone-img{max-width:300px}

  /* Hero - Sub pages */
  .hero-sub{padding:6rem 0 2.5rem}
  .hero-content-sub{max-width:100%}

  /* Sections */
  .section{padding:3.5rem 0}
  .section-header{margin-bottom:2.5rem}
  .section-title{font-size:1.8rem}
  .section-desc{font-size:.92rem}
  .container{padding:0 1.25rem}

  /* Grids */
  .services-grid{grid-template-columns:1fr}
  .why-grid{grid-template-columns:1fr}
  .team-grid{grid-template-columns:repeat(2,1fr);gap:1.25rem}
  .contact-grid{gap:2.5rem}

  /* Cards */
  .service-card{padding:1.75rem}
  .why-card{padding:1.5rem}
  .why-number{font-size:2rem}

  /* About */
  .about-image-box{padding:1.75rem}
  .about-logo-display .dz{font-size:3.5rem}
  .about-stats{gap:.75rem}
  .about-stat{padding:.75rem .5rem}
  .about-stat .num{font-size:1.2rem}
  .about-content h3{font-size:1.6rem}
  .reg-item{flex-direction:column;align-items:flex-start;gap:.15rem}
  .reg-item .reg-val{font-size:.75rem;word-break:break-all}

  /* Contact */
  .contact-info h3{font-size:1.6rem}

  /* Reviews */
  .reviews-heading{font-size:1.5rem;margin-bottom:1.25rem}
  .review-card{height:340px;padding:1.5rem}
  .review-text{font-size:.85rem;-webkit-line-clamp:6}
  .reviews-carousel-wrapper{margin-bottom:1.5rem}
  .view-more-btn .btn{width:100%}

  /* FAQ */
  .faq-question{padding:1rem 1.25rem;font-size:.9rem}
  .faq-answer-inner{padding:0 1.25rem 1rem;font-size:.85rem}
  .faq-toggle{width:28px;height:28px;min-width:28px}

  /* CTA */
  .cta-section{padding:3rem 0}
  .cta-box{padding:2.5rem 1.5rem;border-radius:var(--radius)}
  .cta-box h2{font-size:1.7rem}
  .cta-box p{font-size:.92rem}

  /* Footer */
  .footer-grid{grid-template-columns:1fr 1fr}
  .footer-bottom{flex-direction:column;text-align:center}
  .footer-disclaimer{font-size:.68rem}

  /* Team */
  .team-info{padding:1.25rem}
  .team-initials{font-size:2.8rem}

  /* Buttons */
  .btn{padding:.75rem 1.5rem;font-size:.88rem}

  /* Preloader */
  #preloader{background:linear-gradient(135deg,#061827 0%,#0b2035 42%,#1f4f77 100%)}
  #preloader::before,
  #preloader::after{display:none}
  .loader-image{width:200px}
  .loader-video{inset:0!important;width:100%!important;height:100%!important;max-height:none!important;aspect-ratio:auto;transform:none;object-fit:cover;object-position:center;background:transparent;box-shadow:none}
  .loader-video-copy{inset:0;top:auto;bottom:auto;display:flex;align-items:center;justify-content:center;transform:none;padding:0 1rem}
  .loader-text{font-size:1.5rem;letter-spacing:3px}
  .loader-tagline{font-size:.72rem;letter-spacing:2px}
}

/* SMALL PHONES (<=480px) */
@media(max-width:480px){
  /* Nav */
  .nav-brand-text{font-size:1.08rem;letter-spacing:.8px}
  .nav-logo{width:38px;height:38px;padding:3px;border-radius:8px}
  .nav{padding:.65rem 0}
  .nav-inner{padding:0 1rem;min-height:46px}
  .hamburger{width:40px;height:40px;gap:5px}
  .hamburger span{width:26px;height:2.5px}
  .nav-links{width:min(260px,82vw);padding:4.5rem 1.5rem}

  /* Hero - Home */
  .hero{padding:7rem 0 2rem}
  .hero h1{font-size:1.7rem}
  .hero p{font-size:.88rem;line-height:1.6}
  .hero-badge{font-size:.62rem;letter-spacing:.5px;padding:.3rem .65rem;max-width:min(100%,18rem)}
  .hero-buttons{flex-direction:column;align-items:stretch;gap:.75rem}
  .hero-buttons .btn{justify-content:center;text-align:center}
  .hero-visual::before{width:180px;height:180px;box-shadow:0 0 0 10px rgba(31,111,168,0.045),0 0 0 19px rgba(61,154,215,0.025),0 0 29px rgba(31,111,168,0.14)}
  .hero-visual::after{width:134px;height:134px;box-shadow:0 0 0 7px rgba(61,154,215,0.035),inset 0 0 18px rgba(31,111,168,0.1)}
  .hero-phone-img{max-width:240px}

  /* Hero - Sub pages */
  .hero-sub{padding:5rem 0 2rem}
  .hero-sub h1{font-size:1.6rem}
  .hero-sub p{font-size:.85rem}

  /* Sections */
  .container{padding:0 1rem}
  .section{padding:2.5rem 0}
  .section-header{margin-bottom:1.75rem}
  .section-title{font-size:1.45rem}
  .section-desc{font-size:.82rem}

  /* Service cards */
  .service-card{padding:1.5rem}
  .service-card h3{font-size:1.1rem}
  .service-card p{font-size:.82rem}
  .service-icon{width:44px;height:44px;margin-bottom:1rem}
  .service-icon svg{width:22px;height:22px}

  /* Why cards */
  .why-number{font-size:1.6rem}
  .why-card h4{font-size:.95rem}
  .why-card p{font-size:.78rem}
  .why-card{padding:1.25rem}

  /* About */
  .about-image-box{padding:1.25rem}
  .about-logo-display .dz{font-size:2.5rem}
  .about-logo-display .tagline{font-size:.65rem;letter-spacing:1px}
  .about-stats{gap:.4rem}
  .about-stat .num{font-size:.95rem}
  .about-stat .lbl{font-size:.55rem;letter-spacing:.5px}
  .about-content h3{font-size:1.3rem}
  .about-content p{font-size:.85rem}

  /* Team */
  .team-grid{grid-template-columns:1fr;gap:1.25rem}
  .team-initials{font-size:2.5rem}
  .team-avatar{aspect-ratio:16/9}
  .team-info h3{font-size:1.05rem}
  .team-info p{font-size:.78rem}
  .team-info{padding:1rem}

  /* Contact */
  .contact-info h3{font-size:1.3rem}
  .contact-info > p{font-size:.85rem}
  .contact-detail h4{font-size:.88rem}
  .contact-detail p{font-size:.78rem}
  .contact-detail .icon-box{width:36px;height:36px;min-width:36px}
  .contact-detail .icon-box svg{width:16px;height:16px}
  .contact-detail{gap:.75rem;margin-bottom:1.25rem}

  /* Reviews */
  .reviews-heading{font-size:1.3rem;margin-bottom:1rem}
  .review-card{height:330px;padding:1.25rem}
  .review-text{font-size:.8rem;line-height:1.6;word-break:break-word;-webkit-line-clamp:7}
  .review-quote-icon{font-size:1.8rem;top:.75rem;right:1rem}
  .review-avatar{width:36px;height:36px;font-size:.9rem}
  .review-author-info h4{font-size:.85rem}
  .review-author-info p{font-size:.7rem}
  .carousel-dot{width:8px;height:8px}
  .reviews-carousel-wrapper{margin-bottom:1rem}

  /* FAQ */
  .faq-question{padding:.85rem 1rem;font-size:.82rem;gap:.6rem}
  .faq-answer-inner{padding:0 1rem .85rem;font-size:.78rem;line-height:1.7}
  .faq-toggle{width:24px;height:24px;min-width:24px}
  .faq-toggle svg{width:12px;height:12px}

  /* CTA */
  .cta-section{padding:2rem 0}
  .cta-box{padding:1.75rem 1.25rem}
  .cta-box h2{font-size:1.35rem}
  .cta-box p{font-size:.82rem;margin-bottom:1.25rem}

  /* Footer */
  .footer{padding:2.5rem 0 1.5rem}
  .footer-grid{grid-template-columns:1fr;gap:1.75rem;margin-bottom:1.75rem}
  .footer-brand .brand-name{font-size:1.3rem}
  .footer-logo{width:48px;height:48px}
  .footer-brand p{font-size:.78rem}
  .footer h4{font-size:.78rem;margin-bottom:.6rem}
  .footer ul a{font-size:.78rem}
  .footer-bottom p{font-size:.7rem}
  .footer-disclaimer{font-size:.62rem}

  /* Buttons */
  .btn{padding:.65rem 1.25rem;font-size:.8rem}
  .view-more-btn .btn{width:100%;justify-content:center;text-align:center}

  /* Preloader */
  #preloader{background:linear-gradient(135deg,#061827 0%,#0b2035 42%,#1f4f77 100%)}
  #preloader::before,
  #preloader::after{display:none}
  .loader-image{width:140px}
  .loader-video{inset:0!important;width:100%!important;height:100%!important;max-height:none!important;aspect-ratio:auto;transform:none;object-fit:cover;object-position:center;background:transparent;box-shadow:none}
  .loader-video-copy{inset:0;top:auto;bottom:auto;display:flex;align-items:center;justify-content:center;transform:none;padding:0 .85rem}
  .loader-video-title{font-size:1.45rem;letter-spacing:1.5px}
  .loader-video-tagline{font-size:.52rem;letter-spacing:.9px;margin-top:.45rem;line-height:1.45}
  .loader-text{font-size:1.1rem;letter-spacing:2px;margin-top:1rem}
  .loader-tagline{font-size:.6rem;letter-spacing:1.5px}

  /* Ticker */
  .ticker-item{font-size:.68rem;gap:.3rem}
  .ticker-track{gap:1.5rem}
  .ticker-bar{padding:.5rem 0}
}


@media(max-width:360px){
  .nav-inner{padding:0 .8rem}
  .nav-brand{gap:.55rem}
  .nav-brand-text{font-size:.95rem;letter-spacing:.6px}
  .nav-logo{width:34px;height:34px}
  .hamburger{width:38px;height:38px}
  .hamburger span{width:24px}
}
