/* MaMITs brand base for the software landing pages (shared). Tokens from mamits.com: red #cd2122/#a41a1b, blue #2236cc,
   ink #0d0f14/#303030, mist #eef0f4, blush #fbecec. Montserrat (headings) + Open Sans (body). Page layouts live in assets/<page>/<page>.css */
.mx{--red:#cd2122;--red2:#a41a1b;--blue:#2236cc;--ink:#0d0f14;--ink2:#303030;--mist:#eef0f4;--blush:#fbecec;--mut:#5f6678;
 --f1:"Montserrat",system-ui,sans-serif;--f2:"Open Sans",system-ui,sans-serif;--w:1240px;
 font-family:var(--f2);font-size:17.5px;line-height:1.7;color:var(--ink);background:#fff;-webkit-font-smoothing:antialiased;overflow-x:clip}
.mx *,.mx *:before,.mx *:after{box-sizing:border-box}
:where(.mx) :is(h1,h2,h3,h4,p,ul,ol,dl,dd,figure,blockquote){margin:0;padding:0}
:where(.mx) :is(ul,ol){list-style:none}
.mx :is(h1,h2,h3,.h3){font-family:var(--f1);letter-spacing:-.02em;line-height:1.15}
.mx img{max-width:100%;height:auto;display:block}
.mx a{color:var(--red);text-underline-offset:3px;text-decoration-thickness:1px}
.mx .in{max-width:var(--w);margin:0 auto;padding:0 28px}
.mx .k{display:inline-flex;align-items:center;gap:10px;font:700 12.5px var(--f1);letter-spacing:.16em;text-transform:uppercase;color:var(--red);margin-bottom:16px}
.mx .k:before{content:"";width:22px;height:2px;background:currentColor}
.mx .sh{max-width:820px;margin-bottom:44px}.mx .sh.c{text-align:center;margin-left:auto;margin-right:auto}.mx .sh.c .k:after{content:"";width:22px;height:2px;background:currentColor}
.mx .sh h2{font-size:clamp(28px,3.3vw,44px);font-weight:800}
.mx .sh .intro{margin-top:16px;font-size:18.5px;color:var(--mut)}
.mx .btns{display:flex;flex-wrap:wrap;gap:12px}
.mx .btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;padding:15px 26px;border-radius:6px;font:700 15.5px var(--f1);text-decoration:none;cursor:pointer;border:0;transition:transform .2s,box-shadow .2s,background .2s}
.mx .btn:hover{transform:translateY(-2px)}
.mx .btn.wa{background:var(--red);color:#fff;box-shadow:0 14px 28px -14px var(--red)}.mx .btn.wa:hover{background:var(--red2)}
.mx .btn.gh{background:transparent;color:inherit;border:1.5px solid currentColor}
.mx .btn.lt{background:#fff;color:var(--ink)}
.mx .fg{margin:40px 0 0;border-radius:14px;overflow:hidden;background:#fff;border:1px solid rgba(13,15,20,.08);box-shadow:0 30px 60px -36px rgba(13,15,20,.45)}
.mx .fg figcaption{font-size:14px;color:var(--mut);padding:12px 18px;border-top:1px solid rgba(13,15,20,.07);background:#fff}
.mx .rv{opacity:0;transform:translateY(24px);transition:opacity .7s ease,transform .7s cubic-bezier(.2,.7,.2,1)}.mx .rv.vis{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){.mx .rv{opacity:1;transform:none;transition:none}.mx *{animation-duration:.001s!important;animation-iteration-count:1!important}}
.mx table{width:100%;border-collapse:collapse;font-size:15.5px;min-width:720px}
.mx .tw{overflow-x:auto;border-radius:12px;border:1px solid rgba(13,15,20,.1);background:#fff}
.mx thead th{background:var(--ink);color:#fff;font:700 14px var(--f1);text-align:left;padding:16px 18px}.mx thead th:last-child{background:var(--red)}
.mx tbody th{font:700 15px var(--f1);text-align:left;padding:14px 18px;width:22%}.mx tbody td{padding:14px 18px;color:#3d4352}
.mx tbody tr{border-top:1px solid rgba(13,15,20,.08)}.mx tbody tr:nth-child(even){background:var(--mist)}
/* preview chrome only (not part of the WP template) */






.prog{position:fixed;left:0;top:0;height:3px;width:0;background:#cd2122;z-index:99}

@media (max-width:760px){
 
 .mx{font-size:16.5px}.mx .in{padding:0 18px}.mx .btn{width:100%}}
/* grouped location cards (build_pages.city_groups) */
.mx .cgs{display:grid;gap:36px;margin-top:56px}
.mx .cg-h{display:flex;align-items:baseline;gap:14px;flex-wrap:wrap;margin:0 0 14px;padding-bottom:12px;border-bottom:1px solid rgba(13,15,20,.1)}
.mx .cg-h b{font:800 15px "Montserrat",sans-serif;letter-spacing:.06em;text-transform:uppercase;color:#0d0f14}
.mx .cg-h span{font-size:14px;color:#6b7182}
.mx .cgs .cts{display:grid;gap:14px;margin:0;padding:0;background:none;border:0;border-radius:0;list-style:none;grid-template-columns:repeat(var(--c,3),minmax(0,1fr))}
.mx .cgs .cts.n1{--c:1}.mx .cgs .cts.n2{--c:2}.mx .cgs .cts.n3{--c:3}.mx .cgs .cts.n4{--c:4}
.mx .cgs .cc{padding:22px 22px 24px;border-radius:16px;background:#fff;border:1px solid rgba(13,15,20,.09)}
.mx .cgs .cc h3{display:flex;align-items:flex-start;gap:8px;margin:0 0 8px;font-size:16.5px;line-height:1.3}
.mx .cgs .cc h3 svg{flex:none;width:18px;height:18px;margin-top:2px}
.mx .cgs .cc p{font-size:14.5px;line-height:1.6;margin:0}
@media (max-width:1000px){.mx .cgs .cts.n3,.mx .cgs .cts.n4{--c:2}.mx .cgs .cts.n3>:last-child{grid-column:1/-1}}
@media (max-width:640px){.mx .cgs .cts{--c:1!important}.mx .cgs{margin-top:36px}}
/* "Other software" = 7 cards: wrap and centre the last row instead of leaving an empty cell (all 8 pages) */
.mx .rel .sbs{display:flex!important;flex-wrap:wrap;justify-content:center}
.mx .rel .sbs>.sb{flex:0 1 calc(25% - 9px);min-width:0}
@media (max-width:1100px){.mx .rel .sbs>.sb{flex-basis:calc(50% - 6px)}}
@media (max-width:640px){.mx .rel .sbs>.sb{flex-basis:100%}}

/* release 2026-11-05: summary label is <strong> for the SEO plugin, keep label look */
.mx .k strong{font-weight:inherit;color:inherit}

.mx :is(h1,h2,h3,h4){text-transform:none;font-weight:inherit}.mx :is(h1,h2,h3,h4){font-weight:700}.mx ul,.mx ol{margin-left:0}.mx li{list-style:none}.mx a:hover{text-decoration-color:currentColor}.mx p{margin-bottom:0}.mx table{border-collapse:collapse}.mx .btn,.mx .btn:hover{text-decoration:none}
