/* ============================================================
   МОБИЛЬНАЯ АДАПТАЦИЯ — продуманная, по брейкпоинтам
   ============================================================ */
@media(max-width:1080px){
  .nav{position:fixed;inset:0;background:var(--ink);flex-direction:column;justify-content:center;align-items:center;gap:1.7rem;transform:translateX(100%);transition:transform .5s var(--ease);z-index:1100;padding:2rem}
  .nav.open{transform:none}
  .nav a{color:var(--cream);font-size:1.35rem;font-family:var(--disp);opacity:0;transform:translateY(14px);transition:.45s var(--ease)}
  .nav.open a{opacity:1;transform:none}
  .nav.open a:nth-child(1){transition-delay:.08s}.nav.open a:nth-child(2){transition-delay:.14s}
  .nav.open a:nth-child(3){transition-delay:.2s}.nav.open a:nth-child(4){transition-delay:.26s}
  .nav.open a:nth-child(5){transition-delay:.32s}.nav.open a:nth-child(6){transition-delay:.38s}
  .nav.open a:nth-child(7){transition-delay:.44s}
  .nav__extra{display:flex;flex-direction:column;align-items:center;gap:.9rem;margin-top:1.6rem;padding-top:1.6rem;border-top:1px dashed var(--line-l);width:100%;max-width:280px}
  .nav__tel{color:var(--cream);font-weight:800;font-size:1.25rem}
  .nav__hrs{font-family:var(--mono);font-size:.66rem;letter-spacing:.14em;color:rgba(239,227,203,.55)}
  .burger{display:block}
  .hdr__phone{display:none}
}
@media(max-width:980px){
  .hero__grid{grid-template-columns:1fr}
  .hero__frame{display:none}
  .stamp{width:88px;height:88px;top:-22px;right:2px}
  .stamp__n{font-size:1.6rem}
  .srv{grid-template-columns:1fr}
  .srv__left{position:static}
  .srv-float{display:none}
  .ba-grid{grid-template-columns:1fr}
  .calc__grid{grid-template-columns:1fr}
  .calc__box{position:static}
  .mfg__grid{grid-template-columns:1fr}
  .lead__grid{grid-template-columns:1fr}
  .sec__head{flex-direction:column;align-items:flex-start;gap:1rem}
  .fab-tags{margin-left:0}
  .fab-grid{grid-template-columns:repeat(3,1fr)}
  .steps{grid-template-columns:repeat(2,1fr)}
  .steps::before{display:none}
}
@media(max-width:640px){
  .topbar .wrap{justify-content:center;text-align:center}
  .logo__t span{display:none}
  .hero{padding-top:2.4rem}
  .hero__cta .btn{flex:1 1 auto;justify-content:center}
  .hero__stats{grid-template-columns:1fr 1fr;gap:1.2rem}
  .ba{aspect-ratio:1/1.05}
  /* услуги — карточками, удобно пальцем */
  .srv-row{grid-template-columns:1fr;gap:.5rem;padding:1.3rem 1.2rem;background:var(--paper);border:1px solid var(--line);border-radius:14px;margin-bottom:1rem;box-shadow:0 10px 26px -18px rgba(27,23,18,.35)}
  .srv-row:last-child{border-bottom:1px solid var(--line)}
  .srv-row:hover{padding-left:1.2rem}
  .srv-row__meta{text-align:left;display:flex;gap:1.2rem;align-items:baseline}
  .srv-row .arr{display:none}
  /* этапы — вертикальная пунктирная нить */
  .steps{grid-template-columns:1fr;gap:0;padding-left:0}
  .steps::before{display:block;left:25px;top:10px;bottom:10px;border-top:0;border-left:2px dashed rgba(180,104,43,.4)}
  .step{padding:0 0 2.2rem 0}
  /* производство — «полароиды» стопкой */
  .mfg__photos{min-height:0;display:grid;gap:1.1rem}
  .mfg__photos figure{position:static;width:100%}
  .mfg__photos figure:nth-child(1){transform:rotate(-1.5deg)}
  .mfg__photos figure:nth-child(2){transform:rotate(1.5deg)}
  .mfg__photos figure:nth-child(3){width:100%;transform:rotate(-1deg)}
  .rev{width:86vw}
  .rev-wrap::before,.rev-wrap::after{width:36px}
  .fab-grid{grid-template-columns:repeat(2,1fr)}
  .fab-pill img{width:24px;height:24px}
  .calc__days{flex-wrap:wrap;gap:1rem}
  .form__row{grid-template-columns:1fr}
  .ftr__grid{grid-template-columns:1fr}
  .wa{right:14px;bottom:calc(14px + env(safe-area-inset-bottom));width:54px;height:54px}
  .sec{padding:4.2rem 0}
}
@media(max-width:380px){
  .fab-grid{grid-template-columns:1fr 1fr;gap:.8rem}
  .swatch__b{padding:.6rem .7rem}
  .pills{gap:.45rem}
  .pill span{padding:.55rem .85rem;font-size:.78rem}
}

/* ---------- Reduced motion ---------- */
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation:none!important;transition:none!important}
  .rv{opacity:1;transform:none}
  .ln>span{transform:none}
  .mq__track,.rev-track{animation:none!important;flex-wrap:wrap;width:auto}
}


/* ---------- Усиленный адаптив ---------- */
@media(max-width:1080px){
  .hdr .wrap{gap:1rem}
  .nav a[aria-current="page"]{color:var(--copper-2)}
}
@media(max-width:980px){
  .home-links__grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .srv-row-link{grid-template-columns:64px 1fr auto}
}
@media(max-width:760px){
  .topbar .hide-m{display:none}
  .topbar .wrap{min-height:34px;align-items:center}
  .wrap{padding-left:18px;padding-right:18px}
  .hdr .wrap{gap:.7rem}
  .logo{min-width:0}
  .logo__t{min-width:0}
  .logo__t b{white-space:nowrap}
  .page-shell{padding-top:.6rem}
}
@media(max-width:640px){
  .wrap{padding-left:16px;padding-right:16px}
  .home-links__grid{grid-template-columns:1fr}
  .srv-row-link{grid-template-columns:1fr;gap:.5rem}
  .srv-row__n{display:block}
  .btn{white-space:normal;text-align:center;justify-content:center;max-width:100%}
  .hero__cta{display:grid;grid-template-columns:1fr}
  .hero__cta .btn{width:100%}
  .trust-chips{gap:.45rem}
  .chip{max-width:100%;white-space:normal}
  .hero__stats{grid-template-columns:repeat(2,minmax(0,1fr))}
  .sec__head>*{min-width:0;max-width:100%}
  .calc__grid>*{min-width:0}
  .calc__box{width:100%;max-width:100%}
  .field input,.field select,.field textarea{min-width:0;max-width:100%}
  .lead__mess .btn{flex:1 1 140px}
  .faq__q{font-size:.98rem;line-height:1.35}
  .breadcrumbs{font-size:.62rem}
  .ftr__bot{display:grid;grid-template-columns:1fr;gap:.6rem}
}
@media(max-width:420px){
  .logo__t b{font-size:.94rem}
  .mark{width:39px}
  .hdr .wrap{padding-top:.62rem;padding-bottom:.62rem}
  .hero h1{font-size:clamp(2.15rem,12vw,3.1rem)}
  .hero__stats{gap:.9rem}
  .stat span{font-size:.7rem}
  .fab-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .form{padding:1.25rem}
  .lead::before{inset:8px}
  .wa{width:52px;height:52px}
}
@media(max-width:340px){
  .wrap{padding-left:14px;padding-right:14px}
  .logo__t span{display:none}
  .hero__stats{grid-template-columns:1fr 1fr}
  .pill span{padding:.5rem .72rem;font-size:.74rem}
  .fab-grid{gap:.65rem}
}

/* Меню не расширяет layout за пределы viewport */
@media(max-width:1080px){
  html,body{overflow-x:clip}
  .nav{
    transform:none;
    opacity:0;
    visibility:hidden;
    pointer-events:none;
    transition:opacity .32s var(--ease),visibility 0s linear .32s;
  }
  .nav.open{
    transform:none;
    opacity:1;
    visibility:visible;
    pointer-events:auto;
    transition:opacity .32s var(--ease),visibility 0s;
  }
}


/* ---------- Mobile navigation v2 ---------- */
@media(max-width:1080px){
  .hdr{backdrop-filter:none;-webkit-backdrop-filter:none;background:rgba(250,246,238,.98)}
  .nav{
    position:fixed;
    inset:0;
    width:100vw;
    height:100dvh;
    min-height:100vh;
    margin:0;
    padding:calc(88px + env(safe-area-inset-top)) 24px calc(34px + env(safe-area-inset-bottom));
    display:flex;
    flex-direction:column;
    justify-content:flex-start;
    align-items:center;
    gap:1.15rem;
    overflow-y:auto;
    overscroll-behavior:contain;
    -webkit-overflow-scrolling:touch;
    background:var(--ink);
    opacity:0;
    visibility:hidden;
    pointer-events:none;
    transform:none;
    z-index:1100;
    transition:opacity .28s var(--ease),visibility 0s linear .28s;
  }
  .nav.open{opacity:1;visibility:visible;pointer-events:auto;transform:none;transition:opacity .28s var(--ease),visibility 0s}
  .nav a{font-size:clamp(1.12rem,5vw,1.35rem);line-height:1.25;text-align:center;opacity:1;transform:none}
  .nav__extra{margin-top:.7rem;padding-top:1rem}
  .burger{z-index:1200;flex:0 0 44px}
  .burger.open span{background:var(--cream)}
  html.menu-open,html.menu-open body{overflow:hidden;overscroll-behavior:none}
  html.menu-open .wa{opacity:0;visibility:hidden;pointer-events:none}
}
