/* Shared contrast corrections, loaded after all public MapX360 page styles. */
:root{--mapx-accent-on-light:#426000}
.section:not(.section-dark) .section-head .eyebrow,
.solution-card:not(.dark) .solution-number,
.faq summary:after{color:var(--mapx-accent-on-light)}
.section-dark .section-head .eyebrow,
.solution-card.dark .solution-number{color:var(--lime)}
.mx-value .mx-value-crm .eyebrow,
.mg-light .mg-text-link,
.mg-light .mg-feature-grid i{color:var(--mapx-accent-on-light)}
.mx-imp-hero .btn-ghost:hover,
.mx-imp-hero .btn-ghost:focus-visible,
.mx-flight .btn-ghost:hover,
.mx-flight .btn-ghost:focus-visible{background:#fff;color:#102a40;border-color:#fff}
.plan-card li:before{color:#08734b}
.plan-card.featured li:before{color:#173000}
.plan-card.featured .plan-price small{color:#355000}
.site-footer a:focus-visible,.site-nav a:focus-visible,
.mg-text-link:focus-visible,.faq summary:focus-visible{outline:3px solid currentColor;outline-offset:4px;border-radius:4px}
.mapx-consulta input:focus-visible,.mapx-consulta select:focus-visible,
.mapx-consulta textarea:focus-visible{outline:3px solid #102a40;outline-offset:2px}

/* Pricing: calm surfaces, brand accents and deliberate interaction states. */
.pricing-grid{gap:24px;padding-top:14px}
.pricing-grid .plan-card{
    color:#0b2540;background:#fff;border:1px solid #d9e3ec;
    box-shadow:0 4px 16px rgba(11,37,64,.035);
    transition:transform .24s ease,border-color .24s ease,box-shadow .24s ease,opacity .65s ease;
}
.pricing-grid .plan-card.featured{
    color:#0b2540;background:linear-gradient(160deg,#f5f9e9 0%,#fff 58%);
    border-color:#9bb55c;box-shadow:0 8px 28px rgba(11,37,64,.08),inset 0 3px 0 var(--lime);
}
.pricing-grid .plan-card h3{color:#0b2540}
.pricing-grid .plan-card .plan-includes,
.pricing-grid .plan-card .plan-price small{color:#52657a}
.pricing-grid .plan-card li{line-height:1.6}
.pricing-grid .plan-card li:before{color:#08734b}
.pricing-grid .plan-tag{background:#0b2540;color:#fff;box-shadow:0 4px 12px rgba(11,37,64,.12)}
.pricing-grid .plan-card .btn-lime,
.pricing-grid .plan-card .btn-white{
    background:#f5f8fb;color:#0b2540;border:1px solid #cbd8e5;box-shadow:none;
    text-decoration:none;transition:background .2s ease,border-color .2s ease,box-shadow .2s ease;
}
.pricing-grid .plan-card.featured .btn-white{
    background:var(--lime);border-color:var(--lime);color:#07111f;
}
.pricing-grid .plan-card:focus-within{border-color:#728da7;box-shadow:0 12px 30px rgba(11,37,64,.12)}
.pricing-grid .plan-card a:focus-visible{outline:3px solid #0b2540;outline-offset:4px;box-shadow:0 0 0 7px #fff}
@media(hover:hover) and (pointer:fine){
    .pricing-grid .plan-card:hover{transform:translateY(-6px);border-color:#8da3b8;box-shadow:0 18px 38px rgba(11,37,64,.12)}
    .pricing-grid .plan-card.featured:hover{border-color:#78963d;box-shadow:0 18px 38px rgba(11,37,64,.14),inset 0 3px 0 var(--lime)}
    .pricing-grid .plan-card a:hover{background:#0b2540;border-color:#0b2540;color:#fff;transform:none;box-shadow:0 6px 16px rgba(11,37,64,.14)}
}
@media(max-width:680px){.pricing-grid{gap:26px}.pricing-grid .plan-card{border-radius:22px}}
@media(prefers-reduced-motion:reduce){.pricing-grid .plan-card,.pricing-grid .plan-card a{transition:none}.pricing-grid .plan-card:hover{transform:none}}
