/* Prevent content from being clipped instead of hiding horizontal overflow. */
html body .mid-site-frame .e-con,
html body .mid-site-frame .e-con-inner,
html body .mid-site-frame .elementor-widget,
html body .mid-site-frame .elementor-widget-container { min-width: 0; }
html body .mid-site-frame h1,
html body .mid-site-frame h2,
html body .mid-site-frame h3,
html body .mid-site-frame p,
html body .mid-site-frame li { overflow-wrap: anywhere; }
html body .mid-site-frame .mid-publications-grid > .e-con-inner { grid-template-columns: repeat(2,minmax(0,1fr)) !important; gap: 24px !important; }
html body .mid-publication-card .elementor-widget-button { margin-top: auto; }
html body .mid-nav-expertise .mid-nav-solutions-panel { width: min(320px,88vw) !important; }
/* Set sizes on the real heading, not only its Elementor wrapper: h2's
   default 1.5em was multiplying the wrapper size into oversized titles. */
html body .mid-site-frame .elementor .mid-section-title,
html body .mid-site-frame .elementor .mid-section-title .elementor-heading-title,
html body .mid-site-frame .elementor h2.elementor-heading-title,
html body .mid-site-frame .mid-partners-2026 h2 {
    font-size: clamp(28px,2.9vw,42px) !important;
    line-height: 1.18 !important;
    letter-spacing: -.025em !important;
    font-weight: 700 !important;
    overflow-wrap: break-word !important;
}
html body .mid-site-frame .elementor .mid-section-title .elementor-heading-title {
    margin: 0 !important;
}
html body .mid-site-frame .elementor .mid-section-label,
html body .mid-site-frame .elementor .mid-eyebrow,
html body .mid-site-frame .mid-partners-2026 .eyebrow {
    font-size: clamp(14px,1.1vw,16px) !important;
    line-height: 1.5 !important;
    letter-spacing: .09em !important;
    margin-bottom: 18px !important;
}
html body .mid-site-frame .elementor .mid-editorial-card h3.elementor-heading-title,
html body .mid-site-frame .elementor .mid-product-card h3.elementor-heading-title,
html body .mid-site-frame .elementor .mid-science-step h3.elementor-heading-title,
html body .mid-site-frame .mid-partners-2026 h3 {
    font-size: clamp(20px,1.6vw,24px) !important;
    line-height: 1.25 !important;
    letter-spacing: -.015em !important;
}
html body .mid-site-frame .mid-partners-2026 h1 {
    font-size: clamp(34px,3.6vw,52px) !important;
    line-height: 1.12 !important;
    letter-spacing: -.025em !important;
}
@media (max-width: 1024px) {
    html body .mid-site-frame .mid-hero,
    html body .mid-site-frame .mid-product-hero { grid-template-columns: minmax(0,1fr) minmax(0,1fr) !important; gap: 28px !important; }
    html body .mid-site-frame .mid-contact-grid > .e-con-inner { grid-template-columns: minmax(0,1fr) minmax(0,.8fr) !important; gap: 28px !important; }
    html body .mid-site-frame .mid-card-grid > .e-con-inner { grid-template-columns: repeat(2,minmax(0,1fr)) !important; }
}
@media (max-width: 760px) {
    html body .mid-site-frame .elementor .mid-section-title,
    html body .mid-site-frame .elementor .mid-section-title .elementor-heading-title,
    html body .mid-site-frame .elementor h2.elementor-heading-title,
    html body .mid-site-frame .mid-partners-2026 h2 {
        font-size: clamp(25px,6.5vw,32px) !important;
        line-height: 1.22 !important;
    }
    html body .mid-site-frame .elementor .mid-section-label,
    html body .mid-site-frame .elementor .mid-eyebrow,
    html body .mid-site-frame .mid-partners-2026 .eyebrow {
        font-size: 13px !important;
        letter-spacing: .07em !important;
        margin-bottom: 14px !important;
    }
    html body .mid-site-frame .mid-hero,
    html body .mid-site-frame .mid-product-hero { display: block !important; grid-template-columns: none !important; }
    html body .mid-site-frame .mid-card-grid > .e-con-inner,
    html body .mid-site-frame .mid-product-grid > .e-con-inner,
    html body .mid-site-frame .mid-contact-grid > .e-con-inner,
    html body .mid-site-frame .mid-publications-grid > .e-con-inner { grid-template-columns: minmax(0,1fr) !important; }
    html body .mid-site-frame .mid-science-grid h3,
    html body .mid-site-frame .mid-split-copy .elementor-heading-title,
    html body .mid-site-frame .mid-section-title .elementor-heading-title { font-size: clamp(1.5rem,6vw,2rem) !important; line-height: 1.2 !important; max-width: 100% !important; }
    html body .mid-site-frame .mid-science-grid > .e-con-inner { grid-template-columns: minmax(0,1fr) !important; }
    html body .mid-site-frame .mid-stats-row > .e-con-inner { grid-template-columns: repeat(2,minmax(0,1fr)) !important; }
    html body .mid-site-frame .elementor-button { max-width: 100%; white-space: normal; }
}
/* October client revision: larger characteristics, discreet notice before IFU. */
html body .mid-site-frame .elementor .mid-home-regulatory-minimal {
    background: #fff !important;
    padding: 20px 24px !important;
}
html body .mid-site-frame .elementor .mid-home-regulatory-minimal > .e-con-inner {
    max-width: 1200px !important;
    width: 100% !important;
    margin: 0 auto !important;
}
html body .mid-site-frame .elementor .mid-home-regulatory-minimal .mid-regulatory-disclosure {
    max-width: 100% !important;
    background: transparent !important;
    border: 0 !important;
    border-top: 1px solid #e3eaf2 !important;
    box-shadow: none !important;
    padding: 16px 0 0 !important;
    margin: 0 !important;
}
html body .mid-site-frame .elementor .mid-home-regulatory-minimal .mid-regulatory-disclosure p {
    font-size: 13px !important;
    line-height: 1.65 !important;
    color: #596c82 !important;
    margin: 0 !important;
}
html body .mid-site-frame .elementor .mid-section-dark .mid-rich-copy li {
    font-size: 18px !important;
    line-height: 1.65 !important;
    margin-bottom: 8px !important;
    color: #e5edf6 !important;
}
html body .mid-site-frame .elementor .mid-section-dark .mid-rich-copy ul {
    padding-left: 1.35em !important;
}
html body .mid-site-frame .elementor .mid-section-dark .mid-product-regulatory-inline {
    width: 100% !important;
    max-width: 1080px !important;
    margin: 8px 0 0 !important;
    padding: 0 !important;
    background: transparent !important;
    border: 0 !important;
}
html body .mid-site-frame .elementor .mid-section-dark .mid-product-regulatory-inline .mid-regulatory-disclosure {
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
}
html body .mid-site-frame .elementor .mid-section-dark .mid-product-regulatory-inline p {
    color: #c5d1de !important;
    font-size: 13px !important;
    line-height: 1.7 !important;
    margin: 0 !important;
}
html body .mid-site-frame .elementor .mid-section-dark .mid-product-regulatory-inline a {
    color: #fff !important;
    text-decoration: underline;
}
@media (max-width: 760px) {
    html body .mid-site-frame .elementor .mid-section-dark .mid-rich-copy li {
        font-size: 16px !important;
    }
}
