/* VIWI MX — additive polish only */
body.viwi-root-polish{
  color:#1f2937;
  line-height:1.55;
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
}

body.viwi-root-polish h1{
  font-size:clamp(2rem,4vw,3rem) !important;
  line-height:1.06 !important;
  letter-spacing:-.04em !important;
  font-weight:800 !important;
  margin-bottom:.75rem !important;
}

body.viwi-root-polish h2{
  font-size:clamp(1.45rem,2.4vw,2.15rem) !important;
  line-height:1.12 !important;
  letter-spacing:-.03em !important;
  font-weight:800 !important;
  margin-bottom:.6rem !important;
}

body.viwi-root-polish h3{
  font-size:clamp(1.05rem,1.7vw,1.35rem) !important;
  line-height:1.18 !important;
  letter-spacing:-.02em !important;
  font-weight:700 !important;
}

body.viwi-root-polish p,
body.viwi-root-polish li,
body.viwi-root-polish label,
body.viwi-root-polish small,
body.viwi-root-polish span{
  line-height:1.6 !important;
}

body.viwi-root-polish p{
  color:#4b5563 !important;
}

body.viwi-root-polish img,
body.viwi-root-polish video{
  max-width:100%;
  height:auto;
}

body.viwi-root-polish section,
body.viwi-root-polish .section,
body.viwi-root-polish .block,
body.viwi-root-polish .container,
body.viwi-root-polish .content,
body.viwi-root-polish .hero{
  box-sizing:border-box;
}

body.viwi-root-polish .container,
body.viwi-root-polish .wrapper,
body.viwi-root-polish .content,
body.viwi-root-polish .inner{
  max-width:min(1280px, 100%);
}

body.viwi-root-polish a,
body.viwi-root-polish button,
body.viwi-root-polish .btn,
body.viwi-root-polish input[type="submit"],
body.viwi-root-polish input[type="button"]{
  transition:all .18s ease;
}

body.viwi-root-polish button,
body.viwi-root-polish .btn,
body.viwi-root-polish input[type="submit"],
body.viwi-root-polish input[type="button"]{
  border-radius:12px !important;
  font-weight:700 !important;
  min-height:42px;
}

body.viwi-root-polish button:hover,
body.viwi-root-polish .btn:hover,
body.viwi-root-polish input[type="submit"]:hover,
body.viwi-root-polish input[type="button"]:hover{
  transform:translateY(-1px);
}

body.viwi-root-polish input[type="text"],
body.viwi-root-polish input[type="email"],
body.viwi-root-polish input[type="search"],
body.viwi-root-polish input[type="number"],
body.viwi-root-polish select,
body.viwi-root-polish textarea{
  min-height:42px;
  border-radius:12px !important;
  border-color:#d1d5db !important;
  box-shadow:none !important;
}

body.viwi-root-polish input:focus,
body.viwi-root-polish select:focus,
body.viwi-root-polish textarea:focus{
  outline:none !important;
  border-color:#fb923c !important;
  box-shadow:0 0 0 4px rgba(249,115,22,.10) !important;
}

body.viwi-root-polish [class*="card"],
body.viwi-root-polish [class*="box"],
body.viwi-root-polish [class*="tile"],
body.viwi-root-polish [class*="feature"],
body.viwi-root-polish [class*="service"]{
  border-radius:16px;
}

body.viwi-root-polish [class*="service"].viwi-active-service,
body.viwi-root-polish .viwi-active-service{
  outline:2px solid rgba(249,115,22,.55);
  outline-offset:2px;
  box-shadow:0 10px 22px rgba(249,115,22,.14);
}

body.viwi-root-polish [class*="hero"]{
  overflow-wrap:break-word;
}

body.viwi-root-polish [class*="hero"] p,
body.viwi-root-polish [class*="banner"] p{
  max-width:70ch;
}

body.viwi-root-polish [class*="nav"] a,
body.viwi-root-polish header a,
body.viwi-root-polish footer a{
  text-decoration:none;
}

body.viwi-root-polish [class*="badge"],
body.viwi-root-polish [class*="tag"],
body.viwi-root-polish [class*="chip"]{
  border-radius:999px;
}

body.viwi-root-polish video{
  border-radius:18px;
  overflow:hidden;
}

body.viwi-root-polish .viwi-locate-ux{
  display:inline-flex;
  align-items:center;
  gap:.45rem;
}

body.viwi-root-polish .viwi-soft-shadow{
  box-shadow:0 10px 24px rgba(17,24,39,.06);
}

@media (max-width: 768px){
  body.viwi-root-polish h1{
    font-size:clamp(1.7rem,7vw,2.35rem) !important;
  }
  body.viwi-root-polish h2{
    font-size:clamp(1.25rem,5vw,1.7rem) !important;
  }
}
