/* WebVizyon — ajustements premium mobile, sans toucher au design desktop */
@media (max-width: 767px) {
  html { overflow-x: hidden; }
  body { overflow-x: clip; }
  .wrap { width: min(100% - 32px, 620px) !important; margin-inline: auto !important; }
  header .nav { display:flex !important; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:10px; padding-block:12px !important; }
  header .brand { flex:1 1 140px; min-width:0; max-width:205px; display:flex; align-items:center; }
  header .brand img, .wv-logo-final { display:block; max-width:100% !important; width:auto !important; height:auto !important; max-height:62px; object-fit:contain; }
  header .nav > .btn { order:3; flex:1 0 100%; text-align:center; justify-content:center; min-height:46px; }
  header .mobile-menu { order:2; display:inline-flex !important; align-items:center; justify-content:center; width:44px; height:44px; flex:0 0 44px; border-radius:12px; }
  header .links { order:4; flex:1 0 100%; }
  header .links.mobile-links { display:flex !important; flex-direction:column; gap:0; padding:10px 0; }
  header .links.mobile-links a { padding:12px 14px; border-bottom:1px solid rgba(0,0,0,.08); }
  .hero { padding:24px 0 32px !important; }
  .hero > .wrap { display:flex !important; flex-direction:column !important; align-items:stretch !important; gap:16px !important; }
  .hero h1 { font-size:clamp(2.15rem,9.5vw,3.35rem) !important; line-height:1.08 !important; letter-spacing:-.045em; margin:12px 0 !important; text-wrap:balance; }
  .hero p { font-size:1rem !important; line-height:1.55 !important; max-width:38ch; }
  .hero .pill { max-width:100%; width:fit-content; }
  .hero-actions { display:grid !important; grid-template-columns:1fr !important; gap:10px !important; width:100%; }
  .hero-actions .btn { display:flex !important; justify-content:center; align-items:center; min-height:49px; width:100%; }
  .hero .small-benefits { display:flex !important; flex-wrap:wrap !important; gap:7px !important; margin-block:16px !important; }
  .hero .small-benefits span { font-size:.79rem; }
  .wv-mascot { width:min(100%,340px) !important; height:clamp(210px,68vw,310px) !important; min-height:210px; margin:0 auto !important; background-position:center center !important; background-size:contain !important; flex:none !important; }
  .categories { display:grid !important; grid-template-columns:repeat(2,minmax(0,1fr)) !important; gap:10px !important; padding-block:18px !important; }
  .categories .cat { min-width:0 !important; padding:15px 10px !important; }
  .wv-home-offers, .wv-automation { padding-block:34px !important; }
  .heading { display:flex !important; flex-direction:column !important; align-items:stretch !important; gap:14px !important; }
  .heading h2, .wv-automation h2 { font-size:clamp(1.65rem,7vw,2.2rem) !important; line-height:1.17 !important; }
  .wv-home-offers .btn, .wv-benefit-strip .btn { max-width:100%; }
  .wv-benefit-strip .wrap { display:flex !important; flex-wrap:wrap !important; gap:12px !important; }
  .wv-automation > .wrap { display:grid !important; grid-template-columns:1fr !important; gap:22px !important; }
  .wv-inner { padding-top:24px !important; padding-bottom:36px !important; }
  .wv-service-grid, .wv-review-grid, .examples, .flow { grid-template-columns:1fr !important; }
  .btn { white-space:normal !important; text-align:center; }
  input, select, textarea { max-width:100%; font-size:16px !important; }
}
@media (max-width: 375px) {
  .wrap { width:calc(100% - 24px) !important; }
  .hero h1 { font-size:2.05rem !important; }
  .wv-mascot { height:220px !important; }
}