/* =========================================================
   MyD Aduana — Estilos responsive (mobile first en cascada)
   Breakpoints: 1200 · 1100 (menú hamburguesa) · 768 · 576 · 420
   ========================================================= */

/* ---------- ≤ 1200px : laptops pequeñas ---------- */
@media (max-width:1200px){
  .section{padding:80px 0}
  .services{padding-top:110px}
  .nav__link{padding:0 9px;font-size:.7rem;letter-spacing:.01em}
  .nav__link::after{left:9px;right:9px}
  .quote-btn{font-size:.7rem;padding:0 16px 0 22px}
  .header__meta{gap:22px}
  .header__meta li:first-child{display:none}
  .about__grid{gap:40px}
  .policies__grid{gap:20px}
  .footer__top{grid-template-columns:1.4fr 1fr 1fr;gap:36px}
  .footer__col--news{grid-column:1 / -1}
  .footer__col--news p{max-width:520px}
  .projects__grid{grid-template-columns:repeat(4,1fr)}
}

/* ---------- ≤ 1100px : pasa al menú hamburguesa ----------
   El menú tiene 7 pestañas + el botón de cotización: por debajo de este
   ancho ya no caben en una sola línea, así que se usa el panel lateral. */
@media (max-width:1100px){
  :root{--header-h:68px}

  .topbar__info li:nth-child(2){display:none}

  /* La cabecera completa queda fija; la barra naranja pasa a ser el botón de cotización */
  .header{position:sticky;top:0;box-shadow:0 4px 18px rgba(10,26,79,.12)}
  .header__top-inner{padding:10px 0}
  .logo img{height:46px}
  .header__meta{display:none}
  .navbar{position:static;box-shadow:none}
  .navbar__inner{min-height:0}
  .icon-btn{display:none}
  .quote-btn{width:100%;margin:0;padding:13px 20px;justify-content:center;text-align:center}
  .quote-btn::before{right:0;transform:none}

  /* Menú lateral deslizante */
  .burger{display:flex}
  .nav{
    position:fixed;top:0;right:0;bottom:0;width:min(330px,88vw);z-index:1000;
    display:block;background:#fff;box-shadow:-12px 0 40px rgba(6,16,47,.2);
    padding:74px 22px 30px;overflow-y:auto;margin:0;
    transform:translateX(105%);transition:transform .4s var(--ease);
  }
  .nav.is-open{transform:none}
  .nav__close{
    display:block;position:absolute;top:14px;right:18px;
    font-size:2.4rem;line-height:1;color:var(--navy);
  }
  .nav__close:hover{color:var(--orange)}
  .nav__list{flex-direction:column;align-items:stretch;flex-wrap:nowrap}
  .has-drop{display:block}
  .nav__link{
    padding:14px 4px;height:auto;font-size:.88rem;justify-content:space-between;
    color:var(--navy);border-bottom:1px solid var(--gray-100);
  }
  .nav__link:hover,.nav__link.is-active{background:transparent;color:var(--orange)}
  .nav__link::after{display:none}
  .has-drop .caret{transition:transform var(--t)}
  .has-drop.is-open .caret{transform:rotate(180deg)}
  .dropdown{
    position:static;opacity:1;visibility:visible;transform:none;
    box-shadow:none;border-top:0;border-radius:0;padding:0;min-width:0;
    max-height:0;overflow:hidden;transition:max-height .35s var(--ease);
    background:var(--gray-50);
  }
  .has-drop.is-open .dropdown{max-height:340px}
  .dropdown a{padding:11px 18px;font-size:.85rem}

  /* Accesos rápidos dentro del menú móvil */
  .nav__mobile-extra{display:block;margin-top:24px}
  .nav__phone{
    display:block;text-align:center;margin-top:14px;
    font-size:1.05rem;font-weight:800;color:var(--orange);
  }

  /* Fondo oscuro detrás del menú */
  .nav-backdrop{
    position:fixed;inset:0;z-index:999;background:rgba(6,16,47,.55);
    opacity:0;visibility:hidden;transition:opacity var(--t),visibility var(--t);
  }
  .nav-backdrop.is-open{opacity:1;visibility:visible}

  .hero{height:auto;min-height:560px;padding:110px 0 90px}
  .hero__slide{position:absolute;display:flex}
  .hero__dots{right:auto;left:50%;top:auto;bottom:22px;transform:translateX(-50%);flex-direction:row}
  .hero__content{padding-bottom:40px}

  .industries{margin-top:0;padding-top:0}
  .industries__grid{grid-template-columns:1fr;box-shadow:var(--shadow)}
  .ind-card + .ind-card::before{left:22px;right:22px;top:0;bottom:auto;width:auto;height:1px}
  .services{padding-top:80px}

  .services__grid{grid-template-columns:repeat(2,1fr)}
  .svc-card p{min-height:0}
  .policies__grid{grid-template-columns:1fr}

  .about__grid,.faq__grid,.contact__grid{grid-template-columns:1fr;gap:48px}
  .about__media{max-width:520px;margin-inline:auto;padding-left:24px}

  .counters__grid{grid-template-columns:repeat(2,1fr);gap:32px}
  .counter{justify-content:flex-start}

  .projects__grid{grid-template-columns:repeat(3,1fr)}

  .process__grid{grid-template-columns:repeat(2,1fr);gap:20px}
  .step::after{display:none}

  .blog__grid{grid-template-columns:repeat(2,1fr)}
  .blog__grid .post:last-child{grid-column:1 / -1;max-width:520px;margin-inline:auto}

  .footer__top{grid-template-columns:1fr 1fr;gap:36px;padding-top:56px}
  .footer__col--about{grid-column:1 / -1}
}

/* ---------- ≤ 768px : móviles grandes ---------- */
@media (max-width:768px){
  :root{--gutter:18px}
  body{font-size:15px}
  .section{padding:64px 0}
  .section__head{margin-bottom:40px}

  .topbar__inner{justify-content:center;padding-block:8px}
  .topbar__info{justify-content:center;gap:16px;font-size:.78rem}
  .topbar__social{display:none}

  .logo img{height:40px}
  .quote-btn{font-size:.74rem;padding:12px 16px}
  .policy{padding:24px}
  .policy__actions{gap:14px}

  .hero{min-height:500px;padding:80px 0 70px}
  .hero__eyebrow{gap:14px;font-size:.7rem}
  .hero__text{font-size:.96rem}
  .hero__btns .btn{flex:1 1 auto;justify-content:center}

  .services__grid{grid-template-columns:1fr;gap:18px}
  .projects__grid{grid-template-columns:repeat(2,1fr)}
  .blog__grid{grid-template-columns:1fr;gap:22px}
  .blog__grid .post:last-child{max-width:none}

  .cta-band__inner{flex-direction:column;text-align:center}
  .cta-band .btn{width:100%;justify-content:center}

  .testi__item{padding:28px 22px}
  .testi__item p{font-size:.98rem}

  .contact__form{padding:24px}
  .field-row{grid-template-columns:1fr;gap:0}

  .footer__top{grid-template-columns:1fr;gap:32px;padding:48px 18px 40px}
  .footer__bottom-inner{flex-direction:column;text-align:center;gap:10px}
  .footer__bottom ul{justify-content:center;gap:14px}

  .float-wa{width:46px;height:46px;left:16px;bottom:18px}
  .to-top{width:44px;height:44px;right:16px;bottom:18px}

  .watermark{font-size:3.4rem;top:34px}
  .lightbox{padding:16px;gap:8px}
  .lightbox__nav{width:40px;height:40px}
}

/* ---------- ≤ 576px : móviles ---------- */
@media (max-width:576px){
  .counters__grid{grid-template-columns:1fr;gap:22px}
  .counter__num{font-size:2rem}
  .process__grid{grid-template-columns:1fr}
  .about__cta{flex-direction:column;align-items:flex-start;gap:18px}
  .about__cta .btn{width:100%;justify-content:center}
  .about__media{padding:0 0 60px 0}
  .about__img-sec{width:64%;right:0}
  .dots-pattern{display:none}
  .search-overlay__form{flex-direction:column}
  .search-overlay__form .btn{justify-content:center}
  .hero__title mark{padding:0 8px}
}

/* ---------- ≤ 420px : móviles pequeños ---------- */
@media (max-width:420px){
  .projects__grid{grid-template-columns:1fr}
  .filters__btn{padding:8px 16px;font-size:.78rem}
  .hero__btns{flex-direction:column;align-items:stretch}
  .topbar__info li:last-child{font-size:.74rem}
}

/* ---------- IMPRESIÓN ---------- */
@media print{
  .topbar,.header,.navbar,.hero__dots,.float-wa,.to-top,
  .preloader,.search-overlay,.lightbox,.filters,.cta-band{display:none!important}
  body{color:#000;font-size:12pt}
  .section{padding:20px 0;break-inside:avoid}
  .reveal{opacity:1!important;transform:none!important}
  a[href^="http"]::after{content:" (" attr(href) ")";font-size:9pt}
}
