/* JM.Micro — refinements shared by every page. Keep visual decisions here. */
:root { --jm-petrol: #1f4a4d; --jm-orange: #f36f21; }
body { -webkit-text-size-adjust: 100%; }
body :is(h1,h2,h3) { text-wrap: balance; }
body p { text-wrap: pretty; }
body.home-mobile .hero-copy .tag { background:transparent!important; color:#f36f21!important; }
body.home-mobile .hero-copy::before { display:none!important; }
@media(min-width:761px) {
  body.home-mobile .hero-copy { justify-content:center!important; gap:32px!important; }
  body.home-mobile .hero-foot { display:flex!important; flex-wrap:wrap; justify-content:flex-start!important; align-items:center!important; gap:18px 24px!important; }
  body.home-mobile .hero-foot .expert-line { flex-basis:100%; margin:0!important; }
  body.home-mobile .hero-foot small { text-align:left!important; }
  body #site-header .nav-links a { font-size:12px!important; letter-spacing:.045em!important; }
}
body :is(a,button,input,textarea):focus-visible { outline: 3px solid #f36f21; outline-offset: 5px; }
body :is(.cta,.orange-finale,.hygiene-finale,.results-cta) .button {
  display:inline-flex!important; align-items:center; justify-content:center;
  min-height:48px; color:#f4efe7!important; background:#1f4a4d!important;
  opacity:1!important; visibility:visible!important; box-shadow:none!important;
}
body :is(.cta,.orange-finale,.hygiene-finale,.results-cta) .button::after { display:none!important; }
body .chat-cta { animation:none!important; transition:opacity .25s ease,transform .25s ease; }
body .chat-cta::before {
  content:''!important; flex:0 0 22px; width:22px!important; height:22px!important;
  background:transparent!important; border:2px solid currentColor!important;
  border-radius:50%!important; transform:none!important;
}
body .contact-card { padding:0!important; border:0!important; background:transparent!important; box-shadow:none!important; }
body .contact-layout { gap:clamp(32px,5vw,72px); }
body .site-footer { padding-bottom:90px!important; }
body .site-footer .footer-links { display:flex!important; flex-wrap:wrap; gap:12px 20px!important; }
body .site-footer .footer-links a { display:inline-block; }
body #main-content .rates .zones-figure::after { display:none!important; }
body #main-content .rates .zones-figure { position:relative!important; background:transparent!important; mask:none!important; -webkit-mask:none!important; }
body #main-content .rates .zones-figure::before { content:''; position:absolute; inset:0; background:#f36f21; mask:url('/assets/schema-zones-original.png') 50% -45px/270% auto no-repeat; -webkit-mask:url('/assets/schema-zones-original.png') 50% -45px/270% auto no-repeat; }
@media(max-width:760px) {
  body.home-mobile .hero-v11 .hero-keyword { font-size:clamp(1.8rem,8.7vw,2.55rem)!important; line-height:1.04!important; letter-spacing:-.05em!important; }
  body .hero-v11 .hero-intro { padding-inline:20px!important; }
  body .hero-foot small { margin-top:15px!important; }
  body :is(.hero h1,.results-page-hero h1,.price-hero h1,.contact-hero h1) { overflow-wrap:anywhere; }
  body .rates-grid > div { display:block!important; }
  body #main-content .rates .rates-grid { display:flex!important; flex-direction:column!important; }
  body #main-content .rates .rates-grid > div { order:2!important; }
  body #main-content .rates .zones-figure { order:1!important; width:100%!important; min-height:220px!important; height:220px!important; margin:0!important; }
  body #main-content .rates .zones-figure::before { inset:0!important; mask-size:270% auto!important; -webkit-mask-size:270% auto!important; mask-position:50% -45px!important; -webkit-mask-position:50% -45px!important; }
  body .home-results-link { margin-bottom:0!important; padding-bottom:0!important; }
  body .results-gallery { padding-bottom:32px!important; }
  body .semantic-bridge { padding-top:32px!important; }
  body .chat-cta { bottom:max(12px,env(safe-area-inset-bottom))!important; }
}
@media(prefers-reduced-motion:reduce) {
  html { scroll-behavior:auto!important; }
  *,*::before,*::after { animation:none!important; transition:none!important; }
}
