/* =====================================================================
   CONSTRUCCIONES BERNI — Responsive
   Referencias: 1920 · 1440 · 1366 · 1024 · 768 · 480 · 390 · 360
   ===================================================================== */
@media (min-width:1700px){
  :root{--wrap:1440px}
  body{font-size:17.5px}
}
@media (max-width:1366px){
  .nav__link{padding:10px 9px;font-size:.86rem}
  .hdr__in{gap:18px}
}
@media (max-width:1240px){
  .hdr__cta{display:none}
}
/* Menú móvil desde 1100px para que la navegación nunca se comprima */
@media (max-width:1100px){
  :root{--hdr:72px}
  .burger{display:block}
  .hdr__cta{display:inline-flex}
  .nav{position:fixed;inset:var(--hdr) 0 0 0;margin:0;background:rgba(11,12,14,.98);backdrop-filter:blur(16px);padding:24px var(--gut) 40px;display:flex;flex-direction:column;gap:24px;overflow-y:auto;opacity:0;visibility:hidden;transform:translateY(-12px);transition:opacity .35s var(--ease),transform .45s var(--ease),visibility 0s .45s}
  .nav.is-open{opacity:1;visibility:visible;transform:none;transition:opacity .35s var(--ease),transform .45s var(--ease)}
  .nav__list{flex-direction:column;gap:0}
  .nav__list li{border-bottom:1px solid var(--line-d);opacity:0;transform:translateX(-14px);transition:opacity .4s var(--ease),transform .5s var(--ease)}
  .nav.is-open .nav__list li{opacity:1;transform:none}
  .nav.is-open .nav__list li:nth-child(2){transition-delay:.04s}.nav.is-open .nav__list li:nth-child(3){transition-delay:.08s}
  .nav.is-open .nav__list li:nth-child(4){transition-delay:.12s}.nav.is-open .nav__list li:nth-child(5){transition-delay:.16s}
  .nav.is-open .nav__list li:nth-child(6){transition-delay:.2s}.nav.is-open .nav__list li:nth-child(7){transition-delay:.24s}
  .nav__link{font-family:var(--ff-d);font-size:1.7rem;text-transform:uppercase;letter-spacing:.02em;padding:16px 0}
  .nav__link::after{left:0;right:auto;width:40px;bottom:10px}
  .nav__mobile-extra{display:grid;gap:14px}
  .nav__contact{display:flex;align-items:center;gap:12px;color:var(--steel);text-decoration:none}
  .nav__contact .ic{color:var(--orange)}
  .hdr.menu-open{background:rgba(11,12,14,.98)}

  .hero__in{grid-template-columns:minmax(0,1fr);gap:40px}
  .hero__brand{flex-direction:row;align-items:center;flex-wrap:wrap;gap:28px}
  .hero__marks{grid-template-columns:1fr}
  .about__grid,.faq__grid,.quote__grid,.svc-intro__grid{grid-template-columns:minmax(0,1fr)}
  .about__media{max-width:640px}
  .about__img{aspect-ratio:4/3}
  .about__badge{right:16px}
  .quote__aside{position:static}
  .srv{grid-template-columns:minmax(0,1fr)}
  .srv--rev .srv__media{order:0}
  .specs__grid{grid-template-columns:repeat(2,1fr)}
  .diff__cards,.diff__cards--4{grid-template-columns:repeat(2,1fr)}
  .ftr__top{grid-template-columns:1fr 1fr}
  .ftr__brand{grid-column:1/-1}
  .bigcards{grid-template-columns:repeat(2,1fr)}
  .ccards{grid-template-columns:repeat(2,1fr)}
  .specs-list{grid-template-columns:repeat(2,1fr)}
  .bigcard__p{max-height:120px;opacity:1}
}
@media (max-width:900px){
  .aud__grid{grid-template-columns:minmax(0,1fr)}
  .aud__in{min-width:0;width:100%}
  .aud__card .btn{white-space:normal;text-align:left}
  .aud__card{min-height:560px}
  .proc__list{grid-template-columns:1fr 1fr;gap:40px 24px}
  .proc__line{display:none}
  .svc-inc__grid{grid-template-columns:minmax(0,1fr)}
  .rel__grid{grid-template-columns:1fr 1fr}
  .mosaic{grid-template-columns:repeat(2,1fr);grid-auto-rows:200px}
  .mosaic .tile:nth-child(7n+1){grid-column:span 2;grid-row:span 2}
  .mosaic .tile:nth-child(7n+4){grid-row:span 1}
  .grid3{grid-template-columns:1fr 1fr}
  .grid3 .field:last-child{grid-column:1/-1}
}
@media (max-width:768px){
  body{font-size:16px}
  .sec{padding:72px 0}
  .sx{top:calc(var(--hdr) + 8px);margin-bottom:40px;border-radius:16px}
  .srv__cols{grid-template-columns:1fr;gap:20px}
  .srv__body{padding:22px}
  .phero{min-height:auto;padding-top:calc(var(--hdr) + 50px)}
  .phero__row{flex-direction:column;gap:20px}
  .phero__ic{width:64px;height:64px;border-radius:18px}
  .phero__ic .ic{width:32px;height:32px}
  .qsteps li{flex-direction:column;text-align:center;font-size:.72rem;gap:6px}
  .grid2{grid-template-columns:1fr}
  .prios{grid-template-columns:1fr}
  .lightbox{padding:70px 12px 90px}
  .lightbox__nav{top:auto;bottom:20px;transform:none}
  .lightbox__nav--prev{left:calc(50% - 64px)}
  .lightbox__nav--next{right:calc(50% - 64px)}
  .hero__scroll{display:none}
  .sec__head--split{flex-direction:column;align-items:flex-start}
  /* Dock compacto: sin etiquetas, sin tapar contenido */
  .dock{right:12px;bottom:12px;gap:8px}
  .dock__btn{height:50px}
  .dock__ic{width:50px;height:50px}
  .dock__pulse{width:50px;height:50px}
  .dock__btn:hover .dock__label,.dock__btn:focus-visible .dock__label{max-width:0;padding:0}
  .dock__btn--quote{display:none}
  .dock.is-near-form,.is-home:not(.past-hero) .dock{opacity:0;pointer-events:none;transform:translateY(20px)}
  .chat{right:0;bottom:0;width:100%;max-width:100%;height:100%;height:100dvh;border-radius:0}
  .ftr{padding-bottom:70px}
}
@media (max-width:600px){
  .hero{padding-top:calc(var(--hdr) + 28px);padding-bottom:60px;align-items:flex-start}
  .hero__brand{flex-direction:column;align-items:flex-start;gap:20px}
  .logo-plate--hero{padding:16px 20px}
  .logo-plate--hero .logo-img{height:88px}
  .hero__ring{inset:-12px;border-radius:26px}
  .hero__marks{display:flex;flex-wrap:wrap;gap:8px 16px}
  .hero__marks li{font-size:.86rem}
  .hero__h{font-size:clamp(2.5rem,12vw,3.4rem)}
  .hero__btns .btn{flex:1 1 100%}
  .hero__ticker{margin-top:28px}
  .hdr__cta{display:none}
  .logo-img{height:36px}
  .hdr.is-scrolled .logo-img{height:34px}
  .diff__cards,.diff__cards--4,.specs__grid,.bigcards,.ccards,.specs-list,.rel__grid{grid-template-columns:1fr}
  .proc__list{grid-template-columns:1fr}
  .ftr__top{grid-template-columns:1fr}
  .ftr__bottom{flex-direction:column;align-items:flex-start}
  .wif{justify-items:start;text-align:left}
  .about__badge{position:relative;right:auto;bottom:auto;margin:-40px 16px 0}
  .aud__card{min-height:auto;padding-top:220px}
  .bigcard{min-height:420px}
  .car__dot{width:18px}
  .car__dot[aria-current="true"]{width:30px}
  .car__ui{padding:12px;gap:8px}
  .car__btn{width:38px;height:38px}
  .drop{flex-direction:column;text-align:center;padding:22px 16px}
  .qform{padding:22px 16px;border-radius:18px}
  .qnav{flex-direction:column-reverse;align-items:stretch}
  .qnav .btn{width:100%}
  .qnav [data-back]{margin-right:0}
  .review{grid-template-columns:1fr;gap:2px}
  .review dd{margin-bottom:10px}
  .grid3{grid-template-columns:1fr}
  .mosaic{grid-template-columns:1fr;grid-auto-rows:240px}
  .mosaic .tile:nth-child(7n+1){grid-column:auto;grid-row:auto}
  .btn{white-space:normal;text-align:center}
}
@media (max-width:390px){
  .h1{font-size:2.15rem}
  .h2{font-size:1.85rem}
  .hero__h{font-size:2.4rem}
  .sx__chip span{display:none}
  .sx__chip{padding:10px 12px}
}
@media (max-width:360px){
  :root{--gut:14px}
  .logo-plate--hero .logo-img{height:76px}
  .chip span{padding:9px 13px;font-size:.85rem}
}
@media print{
  .hdr,.dock,.chat,.hero__dust,.ctaband,.lightbox{display:none!important}
  .hero,.phero{min-height:auto;color:#000;background:#fff}
}
