/* ============================================================
   State Companies Page — Redesign (st-* classes)
   Pairs with new-best-moving-companies.css (bmf-* system)
   ============================================================ */
@import url('https://fonts.googleapis.com/css2?family=Noto+Serif:wght@400;600;700;800&family=Plus+Jakarta+Sans:wght@400;500;600;700&display=swap');

 p {
    font-family: 'Plus Jakarta Sans', sans-serif !important;
 }
:root {
    --st-navy: #16395C;
    --st-blue: #2E7FC4;
    --st-orange: #F26F21;
    --st-bg: #F6FBFE;
    --st-border: #D5E5F3;
    --st-text: #35485E;
    --st-muted: #5B6B7F;
    --st-serif: 'Noto Serif', serif;
    --st-sans: 'Plus Jakarta Sans', sans-serif;
}
.mgm-hero-section {

    background: linear-gradient(rgb(18, 48, 91) 0%, rgb(23, 58, 108) 100%);

    color: rgb(255, 255, 255);

    font-family: 'Plus Jakarta Sans', sans-serif;

}
.st-page {
    font-family: var(--st-sans);
    color: var(--st-text);
    background:#fff;
}

.st-container {
    max-width: 1260px;
    margin: 0 auto;
   
}
.bmf-sp-detail{
    margin: 20px 0px;
}
.mgm-section{
    max-width:1260px;
        margin: 0 auto;

}
.st-container-wide {
    max-width: 1240px;
    margin: 0 auto;
    
}

.st-eyebrow {
    display: block;
    font-family: var(--st-sans);
    font-size: 12px;
    font-weight: 600;
    letter-spacing: 3px;
    text-transform: uppercase;
    color: var(--st-blue);
    margin-bottom: 12px;
}

.st-h2 {
    font-family: var(--st-serif);
    font-weight: 600;
    font-size: 38px;
    line-height: 130%;
    letter-spacing: 0.01em;
    color: var(--st-navy);
    margin: 0 0 14px;
}

.st-h3 {
    font-family: var(--st-serif);
    font-weight: 600;
    font-size: 24px;
    line-height: 135%;
    color: var(--st-navy);
    margin: 0 0 12px;
}

.st-lead {
    font-family: var(--st-sans);
    font-size: 16px;
    line-height: 165%;
    color: var(--st-muted);
    margin: 0 0 14px;
}

.st-lead a,
.st-content-link {
    color: var(--st-blue);
    text-decoration: none;
    font-weight: 600;
}

.st-lead a:hover,
.st-content-link:hover {
    text-decoration: underline;
}

.st-section {
    padding: 40px 0;
}

/* ---------- HERO ---------- */

.st-hero {
    position: relative;
    overflow: hidden;
    padding: 30px 0 90px;
    background-color: var(--st-bg);
}

.st-hero-bg {
    position: absolute;
    inset: 0;
    background-position: center right;
    background-size: cover;
    background-repeat: no-repeat;
    z-index: 0;
}

.st-hero-bg::before {
    content: '';
    position: absolute;
    inset: 0;
    background: linear-gradient(89.48deg, #F6FBFE 45%, rgba(246, 251, 254, 0) 99.69%);
}

.st-hero-inner {
    position: relative;
    z-index: 1;
        display: flex;
}

.st-breadcrumb {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 14px;
    color: var(--st-muted);
    margin-bottom: 26px;
    flex-wrap: wrap;
}

.st-breadcrumb a {
    color: var(--st-blue);
    text-decoration: none;
    font-weight: 500;
}

.st-breadcrumb a:hover {
    text-decoration: underline;
}

.st-breadcrumb .st-sep {
    color: #9AA9BB;
}

.st-breadcrumb .st-current {
    color: var(--st-blue);
    font-weight: 600;
}

.st-hero-title {
    font-family: var(--st-serif);
    font-weight: 600;
    font-size: clamp(36px, 4.2vw, 56px);
    line-height: 120%;
    letter-spacing: -0.01em;
    color: var(--st-navy);
    margin: 0 0 22px;
    max-width: 820px;
}

.st-hero-desc {
    font-size: 17px;
    line-height: 165%;
    color: var(--st-text);
    max-width: 560px;
    margin: 0 0 28px;
}

.st-hero-chips {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    margin: 0;
    padding: 0;
    list-style: none;
}

.st-hero-chip {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    background: #FFFFFF;
    border: 1px solid var(--st-border);
    border-radius: 999px;
    padding: 10px 18px;
    font-size: 14px;
    font-weight: 600;
    color: var(--st-navy);
    box-shadow: 0 4px 14px -8px rgba(46, 127, 196, 0.25);
}

.st-hero-chip svg {
    width: 15px;
    height: 15px;
    color: #2FA37C;
    flex-shrink: 0;
}

/* ---------- CALC CARD (hero bottom) ---------- */

.st-calc {
    position: relative;
    z-index: 2;
    
    background: #FFFFFF;
    border: 1px solid var(--st-border);
    border-radius: 20px;
    box-shadow: 0 30px 60px -30px rgba(46, 127, 196, 0.28);
    padding: 26px 30px;
}

.st-calc-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    margin-bottom: 18px;
    flex-wrap: wrap;
}

.st-calc-title {
    font-family: var(--st-serif);
    font-weight: 600;
    font-size: 24px;
    color: var(--st-navy);
    margin: 0;
}

.st-calc-badge {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    background: #E6F6EE;
    color: #1E8A5A;
    border-radius: 999px;
    font-size: 13px;
    font-weight: 600;
    padding: 7px 15px;
    white-space: nowrap;
}

.st-calc-badge svg {
    width: 14px;
    height: 14px;
}

.st-calc-row {
    display: grid;
   gap: 18px;
    align-items: end;
}

.st-field label {
    display: block;
    font-size: 14px;
    font-weight: 600;
    color: var(--st-navy);
    margin-bottom: 8px;
}

.st-req {
    color: var(--st-orange);
}

.st-input-wrap {
    position: relative;
}

.st-input-wrap svg {
    position: absolute;
    left: 14px;
    top: 50%;
    transform: translateY(-50%);
    width: 17px;
    height: 17px;
    color: var(--st-blue);
    pointer-events: none;
}

.st-input {
    width: 100%;
    border: 1px solid var(--st-border);
    border-radius: 12px;
    background: #F4F9FD;
    padding: 14px 16px 14px 40px;
    font-family: var(--st-sans);
    font-size: 15px;
    color: var(--st-navy);
    outline: none;
    transition: border-color .15s ease, box-shadow .15s ease;
}

.st-input::placeholder {
    color: #8B9AAE;
}

.st-input:focus {
    border-color: var(--st-blue);
    box-shadow: 0 0 0 3px rgba(46, 127, 196, 0.15);
    background: #fff;
}

.st-btn-accent {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    background: var(--st-orange);
    color: #fff;
    border: none;
    border-radius: 999px;
    padding: 15px 28px;
    font-family: var(--st-sans);
    font-size: 15px;
    font-weight: 700;
    cursor: pointer;
    white-space: nowrap;
    transition: background .15s ease, transform .15s ease;
    text-decoration: none;
}

.st-btn-accent:hover {
    background: #E05E12;
    color: #fff;
    transform: translateY(-1px);
    text-decoration: none;
}

.st-btn-accent svg {
    width: 16px;
    height: 16px;
}

.st-calc-foot {
    margin: 14px 0 0;
    font-size: 13px;
    color: var(--st-muted);
}

/* ---------- EXPECT (What to Expect) ---------- */

.st-expect-card {
    background: #F4F9FD;
    border: 1px solid var(--st-border);
    border-radius: 20px;
    padding: 30px 34px;
}

.st-expect-list {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: 18px;
}

.st-expect-list li {
    display: flex;
    gap: 14px;
    font-size: 15.5px;
    line-height: 160%;
    color: var(--st-text);
}

.st-expect-list li::before {
    content: '';
    flex-shrink: 0;
    width: 9px;
    height: 9px;
    border-radius: 50%;
    background: var(--st-blue);
    margin-top: 8px;
}

/* ---------- RECOMMENDED MOVERS ---------- */

.st-reco {
    display: flex;
    flex-direction: column;
    gap: 24px;
}

.st-reco-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 18px;
}

.st-reco-card {
    position: relative;
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    gap: 10px;
    background: #fff;
    border: 1px solid var(--st-border);
    border-radius: 20px;
    padding: 28px 22px;
    box-shadow: 0 20px 45px -30px rgba(46, 127, 196, 0.2);
}

.st-reco-badge {
    position: absolute;
    top: 14px;
    left: 14px;
    background: #FFF3E9;
    color: var(--st-orange);
    font-size: 12px;
    font-weight: 700;
    border-radius: 999px;
    padding: 5px 12px;
}

.st-reco-logo {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 84px;
    height: 84px;
    border: 1px solid var(--st-border);
    border-radius: 16px;
    background: #fff;
    padding: 10px;
}

.st-reco-logo img {
    max-width: 100%;
    max-height: 100%;
    object-fit: contain;
}

.st-reco-logo-fb {
    font-family: var(--st-serif);
    font-size: 30px;
    font-weight: 700;
    color: var(--st-navy);
}

.st-reco-name {
    font-family: var(--st-serif);
    font-weight: 600;
    font-size: 19px;
    color: var(--st-navy);
    text-decoration: none;
}

.st-reco-name:hover {
    color: var(--st-blue);
}

.st-reco-rating {
    font-size: 14px;
    color: var(--st-muted);
}

.st-reco-rating strong {
    color: var(--st-navy);
}

.st-btn-quote {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    background: var(--st-blue);
    color: #fff;
    border-radius: 12px;
    padding: 12px 18px;
    font-size: 14.5px;
    font-weight: 700;
    text-decoration: none;
    transition: background .15s ease;
    margin-top: 6px;
}

.st-btn-quote:hover {
    background: #1F6BAD;
    color: #fff;
    text-decoration: none;
}

.st-note-sm {
    font-size: 12.5px;
    color: var(--st-muted);
}

/* ---------- PICKS LIST (Top N Pick) ---------- */

.st-picks-list {
    list-style: none;
    margin: 26px 0 22px;
    padding: 0;
    background: #fff;
    border: 1px solid var(--st-border);
    border-radius: 18px;
    overflow: hidden;
}

.st-picks-list li {
    display: flex;
    align-items: center;
    gap: 18px;
    padding: 20px 26px;
}

.st-picks-list li + li {
    border-top: 1px solid #EBF1F7;
}

.st-pick-num {
    font-family: var(--st-serif);
    font-size: 22px;
    font-weight: 700;
    color: var(--st-orange);
    min-width: 34px;
}

.st-pick-link {
    font-family: var(--st-serif);
    font-size: 18px;
    font-weight: 600;
    color: var(--st-navy);
    text-decoration: none;
}

.st-pick-link:hover {
    color: var(--st-blue);
    text-decoration: underline;
}

.st-trust-picks {
    background: #DCEBFA;
    border-radius: 18px;
    padding: 26px 30px;
}

.st-trust-picks h3 {
    font-family: var(--st-serif);
    font-size: 21px;
    font-weight: 600;
    color: var(--st-navy);
    margin: 0 0 8px;
}

.st-trust-picks p {
    font-size: 14.5px;
    line-height: 160%;
    color: var(--st-text);
    margin: 0;
    max-width: 780px;
}

/* ---------- DETAIL CARD TABS ---------- */

.st-tabs {
    display: flex;
    gap: 4px;
    border-bottom: 1px solid #E2E8F0;
    margin-top: 20px;
    padding: 0 8px;
    overflow-x: auto;
}

.st-tabs .cc-tab {
    appearance: none;
    background: none;
    border: none;
    border-bottom: 3px solid transparent;
    padding: 14px 18px;
    font-family: var(--st-sans);
    font-size: 15px;
    font-weight: 600;
    cursor: pointer;
    min-height: 48px;
    white-space: nowrap;
    color: var(--st-muted);
    transition: color .15s ease, border-color .15s ease;
}

.st-tabs .cc-tab:hover {
    color: var(--st-navy);
}

.st-tabs .cc-tab.active {
    border-bottom-color: var(--st-orange) !important;
    color: var(--st-navy) !important;
}

.st-pane {
    padding: 26px 4px;
}

.st-pane h4 {
    margin: 0 0 12px;
    font-size: 17px;
    color: var(--st-navy);
    font-weight: 700;
    font-family: var(--st-sans);
}

/* ---------- DATA TABLES ---------- */

.st-table-card {
    background: #fff;
    border: 1px solid var(--st-border);
    border-radius: 16px;
    overflow: hidden;
    margin-bottom: 12px;
}

.st-table-scroll {
    overflow-x: auto;
}

.st-table {
    width: 100%;
    border-collapse: collapse;
    font-size: 15px;
    min-width: 640px;
    font-family: var(--st-sans);
}

.st-table thead th {
    background: var(--st-blue);
    color: #fff;
    text-align: left;
    padding: 14px 20px;
    font-size: 12.5px;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    font-weight: 700;
}

.st-table tbody td {
    padding: 14px 20px;
    border-top: 1px solid #EEF2F7;
    font-weight: 400;
    color: var(--st-text);
}

.st-table tbody td:first-child {
    font-weight: 600;
    color: var(--st-navy);
}

.st-table tbody tr:nth-child(even) {
    background: #F8FBFE;
}

.st-table a {
    color: var(--st-blue);
    text-decoration: none;
    font-weight: 600;
}

.st-table a:hover {
    text-decoration: underline;
}

.st-note {
    display: flex;
    gap: 10px;
    align-items: flex-start;
    background: #EAF3FB;
    border-radius: 12px;
    padding: 13px 18px;
    font-size: 13.5px;
    line-height: 155%;
    color: var(--st-muted);
    margin-top: 14px;
}

.st-note svg {
    flex-shrink: 0;
    width: 16px;
    height: 16px;
    color: var(--st-blue);
    margin-top: 2px;
}

/* ---------- SERVICES PILLS ---------- */

.st-pills {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    padding: 0;
    margin: 0;
    list-style: none;
}

.st-pills li {
    border: 1px solid var(--st-border);
    background: #F4F9FD;
    color: var(--st-navy);
    font-size: 13.5px;
    font-weight: 600;
    padding: 8px 16px;
    border-radius: 999px;
}

/* ---------- REVIEW SLIDER ---------- */

.st-review-card {
    background: #F8FBFE;
    border: 1px solid #EEF2F7;
    border-radius: 14px;
    padding: 20px 22px;
    min-height: 180px;
    height: 100%;
}

.st-review-head {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-bottom: 10px;
}

.st-review-avatar {
    width: 40px;
    height: 40px;
    border-radius: 50%;
    background: var(--st-navy);
    color: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: 700;
    font-size: 14px;
    flex-shrink: 0;
}

.st-review-name {
    font-weight: 700;
    color: var(--st-navy);
    font-size: 15px;
}

.st-review-meta {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 12px;
    color: var(--st-muted);
}

.st-review-text {
    margin: 0;
    font-size: 15px;
    line-height: 1.6;
    color: var(--st-text);
}

.st-review-text a {
    font-weight: 600;
    color: var(--st-orange);
    text-decoration: none;
}

/* ---------- DIRECTORY (Browse more) ---------- */

.st-dir .st-mini-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 16px;
    margin-top: 22px;
}

.st-mini-mover {
    display: flex;
    align-items: center;
    gap: 16px;
    background: #fff;
    border: 1px solid var(--st-border);
    border-radius: 16px;
    padding: 18px 20px;
}

.st-mini-logo {
    width: 64px;
    height: 64px;
    flex-shrink: 0;
    border: 1px solid var(--st-border);
    border-radius: 12px;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 6px;
    background: #fff;
}

.st-mini-logo img {
    max-width: 100%;
    max-height: 100%;
    object-fit: contain;
}

.st-mini-info {
    flex: 1;
    min-width: 0;
}

.st-mini-name-row {
    display: flex;
    align-items: center;
    gap: 8px;
    flex-wrap: wrap;
}

.st-mini-name {
    font-family: var(--st-sans);
    font-weight: 700;
    font-size: 15.5px;
    color: var(--st-navy);
    text-decoration: none;
}

.st-mini-name:hover {
    color: var(--st-blue);
}

.st-verified {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    font-size: 11.5px;
    font-weight: 700;
    color: #1E8A5A;
    background: #E6F6EE;
    border-radius: 999px;
    padding: 3px 9px;
    white-space: nowrap;
}

.st-verified i {
    font-size: 11px;
}

.st-mini-meta {
    display: flex;
    align-items: center;
    gap: 14px;
    flex-wrap: wrap;
    font-size: 12.5px;
    color: var(--st-muted);
    margin-top: 4px;
}

.st-mini-meta i {
    color: var(--st-blue);
    margin-right: 4px;
}

.st-mini-rating {
    display: flex;
    align-items: center;
    gap: 8px;
    margin-top: 4px;
    font-size: 13px;
    color: var(--st-muted);
}

.st-mini-btns {
    display: flex;
    flex-direction: column;
    gap: 8px;
    flex-shrink: 0;
}

.st-btn-outline {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border: 1px solid var(--st-border);
    background: #fff;
    color: var(--st-navy);
    border-radius: 10px;
    padding: 9px 18px;
    font-size: 13.5px;
    font-weight: 600;
    text-decoration: none;
    transition: border-color .15s ease, color .15s ease;
}

.st-btn-outline:hover {
    border-color: var(--st-blue);
    color: var(--st-blue);
    text-decoration: none;
}

.st-btn-soft {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: var(--st-blue);
    color: #fff;
    border-radius: 10px;
    padding: 9px 18px;
    font-size: 13.5px;
    font-weight: 700;
    text-decoration: none;
    transition: background .15s ease;
}

.st-btn-soft:hover {
    background: #1F6BAD;
    color: #fff;
    text-decoration: none;
}

/* ---------- PAGINATION ---------- */

.st-pagination {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    margin-top: 26px;
    flex-wrap: wrap;
}

.st-pagination .st-muted {
    font-size: 13px;
    color: var(--st-muted);
    margin-right: 6px;
}

.st-page-link,
.st-page-current {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 36px;
    height: 36px;
    padding: 0 10px;
    border-radius: 10px;
    font-size: 14px;
    font-weight: 600;
    text-decoration: none;
}

.st-page-link {
    background: #fff;
    border: 1px solid var(--st-border);
    color: var(--st-navy);
    transition: border-color .15s ease, color .15s ease;
}

.st-page-link:hover {
    border-color: var(--st-blue);
    color: var(--st-blue);
    text-decoration: none;
}

.st-page-current {
    background: var(--st-blue);
    color: #fff;
}

/* ---------- NEARBY CITIES ---------- */

.st-cities-card {
    background: #F4F9FD;
    border: 1px solid var(--st-border);
    border-radius: 20px;
    padding: 30px 34px;
    position: relative;
}

.st-cities-grid {
    display: flex;
    flex-wrap: wrap;
    gap: 14px;
    margin-top: 20px;
}

.st-city-pill {
    display: inline-flex;
    align-items: center;
    gap: 12px;
    background: #fff;
    border: 1px solid var(--st-border);
    border-radius: 14px;
    padding: 12px 20px 12px 14px;
    text-decoration: none;
    transition: border-color .15s ease, box-shadow .15s ease;
}

.st-city-pill:hover {
    border-color: var(--st-blue);
    box-shadow: 0 8px 20px -10px rgba(46, 127, 196, 0.35);
    text-decoration: none;
}

.st-city-abv {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 40px;
    height: 40px;
    padding: 0 8px;
    background: #DCEBFA;
    border-radius: 10px;
    font-size: 12px;
    font-weight: 800;
    letter-spacing: 0.5px;
    color: var(--st-blue);
    text-transform: uppercase;
}

.st-city-label {
    display: flex;
    flex-direction: column;
    line-height: 1.3;
}

.st-city-label small {
    font-size: 11.5px;
    color: var(--st-muted);
}

.st-city-label strong {
    font-size: 14.5px;
    color: var(--st-navy);
    font-weight: 700;
}

/* ---------- COST FACTORS ---------- */

.st-factors {
    display: grid;
    grid-template-columns: 340px 1fr;
    gap: 44px;
    align-items: start;
    background: #fff;
    border: 1px solid var(--st-border);
    border-radius: 20px;
    padding: 34px 38px;
}

.st-factor-list {
    display: flex;
    flex-direction: column;
    gap: 22px;
    list-style: none;
    margin: 0;
    padding: 0;
}

.st-factor-item {
    display: flex;
    gap: 14px;
}

.st-factor-icon {
    flex-shrink: 0;
    width: 24px;
    height: 24px;
    border-radius: 50%;
    background: var(--st-blue);
    color: #fff;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    margin-top: 2px;
}

.st-factor-icon svg {
    width: 12px;
    height: 12px;
}

.st-factor-item h3 {
    font-family: var(--st-sans);
    font-size: 16px;
    font-weight: 700;
    color: var(--st-navy);
    margin: 0 0 4px;
}

.st-factor-item p {
    font-size: 14px;
    line-height: 155%;
    color: var(--st-muted);
    margin: 0;
}

/* ---------- CTA BAND ---------- */

.st-band {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 24px;
    background: #DCEBFA;
    border-radius: 20px;
    padding: 30px 36px;
    flex-wrap: wrap;
}

.st-band-title {
    font-family: var(--st-serif);
    font-size: 24px;
    font-weight: 600;
    color: var(--st-navy);
    margin: 0 0 6px;
}

.st-band-sub {
    font-size: 14.5px;
    color: var(--st-text);
    margin: 0;
}

/* ---------- CHECKLIST TIMELINE ---------- */

.st-timeline {
    list-style: none;
    margin: 28px 0 0;
    padding: 0;
    position: relative;
}

.st-timeline::before {
    content: '';
    position: absolute;
    left: 27px;
    top: 34px;
    bottom: 34px;
    width: 2px;
    background: #CFE2F3;
}

.st-timeline-item {
    display: flex;
    gap: 22px;
    position: relative;
}

.st-timeline-item + .st-timeline-item {
    margin-top: 30px;
}

.st-timeline-badge {
    flex-shrink: 0;
    width: 56px;
    height: 56px;
    border-radius: 50%;
    background: #DCEBFA;
    border: 2px solid #C9DFF5;
    color: var(--st-blue);
    font-size: 12px;
    font-weight: 800;
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    line-height: 1.15;
    z-index: 1;
}

.st-timeline-card {
    flex: 1;
    background: #FFFFFF;
    border: 1px solid var(--st-border);
    border-radius: 16px;
    padding: 22px 26px;
    box-shadow: 0 2px 8px rgba(18, 48, 91, 0.04);
}
.st-card{
            background: #F6F9FC;
    padding: 30px 25px;
    border-radius: 20px;
}
.st-timeline-title {
    font-family: var(--st-serif);
    font-size: 20px;
    font-weight: 600;
    color: var(--st-navy);
    margin: 0 0 14px;
}

.st-check-list {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.st-check-row {
    display: flex;
    gap: 12px;
    font-size: 14.5px;
    line-height: 155%;
    color: var(--st-text);
}

.st-check-row a {
    color: var(--st-navy);
    text-decoration: none;
}

.st-check-row a:hover {
    color: var(--st-blue);
    text-decoration: underline;
}

.st-check {
    flex-shrink: 0;
    width: 20px;
    height: 20px;
    border-radius: 50%;
    background: var(--st-blue);
    color: #fff;
    font-size: 10px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    margin-top: 2px;
}

/* ---------- COMPANY VS BROKER ---------- */

.st-vs-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 18px;
    margin-top: 24px;
}

.st-vs-card {
    background: #f6f9fc;
    border: 1px solid var(--st-border);
    border-radius: 18px;
    padding: 26px 28px;
}

.st-vs-title {
    display: flex;
    align-items: center;
    gap: 10px;
    font-family: var(--st-sans);
    font-size: 17px;
    font-weight: 700;
    color: var(--st-navy);
    margin: 0 0 10px;
}

.st-vs-icon {
    flex-shrink: 0;
    width: 24px;
    height: 24px;
    border-radius: 50%;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 13px;
    font-weight: 800;
}

.st-vs-icon-good {
    background: #E6F6EE;
    color: #1E8A5A;
}

.st-vs-icon-warn {
    background: #FFF3E9;
    color: var(--st-orange);
}

.st-vs-text {
    font-size: 14px;
    line-height: 160%;
    color: var(--st-muted);
    margin: 0 0 14px;
}

.st-vs-text a,
.st-vs-list a {
    color: var(--st-blue);
    text-decoration: none;
}

.st-vs-text a:hover,
.st-vs-list a:hover {
    text-decoration: underline;
}

.st-vs-list {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.st-vs-list li {
    display: flex;
    gap: 10px;
    font-size: 13.5px;
    line-height: 155%;
    color: var(--st-text);
}

.st-vs-list .st-vs-icon {
    width: 18px;
    height: 18px;
    font-size: 16px;
    margin-top: 2px;
}

.st-verdict {
    background: #F4F9FD;
    border: 1px solid var(--st-border);
    border-radius: 18px;
    padding: 26px 30px;
    margin-top: 22px;
}

.st-verdict h3 {
    font-family: var(--st-serif);
    font-size: 21px;
    font-weight: 600;
    color: var(--st-navy);
    margin: 0 0 10px;
}

.st-verdict p {
    font-size: 14.5px;
    line-height: 160%;
    color: var(--st-text);
    margin: 0 0 8px;
}

.st-verdict p:last-child {
    margin-bottom: 0;
}

/* ---------- SCAMS ---------- */

.st-scams-card {
    background: #fff;
    border: 1px solid var(--st-border);
    border-radius: 20px;
    padding: 30px 34px;
    margin-top: 22px;
}

.st-scams-list {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: 20px;
}

.st-scams-list li {
    display: flex;
    gap: 14px;
    font-size: 16px;
    line-height: 160%;
    color: var(--st-text);
}

.st-scams-list li::before {
    content: '';
    flex-shrink: 0;
    width: 9px;
    height: 9px;
    border-radius: 50%;
    background: var(--st-blue);
    margin-top: 8px;
}

.st-scams-list strong {
    color: var(--st-navy);
}

/* ---------- FAQ ---------- */

.st-faq-card {
    background: #fff;
    border: 1px solid var(--st-border);
    border-radius: 20px;
    padding: 30px 34px;
}

.st-faq-list {
    display: flex;
    flex-direction: column;
    margin-top: 20px;
    gap:20px;
}

.st-faq-list details {
    border-bottom: 1px solid #EEF2F7;
}

.st-faq-list details:last-child {
    border-bottom: none;
}

.st-faq-list summary {
    cursor: pointer;
    list-style: none;
    display: flex;
    align-items: center;
    gap: 16px;
    padding: 18px 6px;
    min-height: 44px;
    box-sizing: border-box;
}

.st-faq-list summary::-webkit-details-marker {
    display: none;
}

.st-faq-num {
    font-family: var(--st-serif);
    font-size: 15px;
    font-weight: 700;
    color: var(--st-blue);
    min-width: 26px;
}

.st-faq-q {
    flex: 1;
    font-family: var(--st-serif);
    font-size: 17px;
    font-weight: 600;
    color: var(--st-navy);
    margin: 0;
}

.st-faq-chevron {
    color: var(--st-blue);
    font-size: 14px;
    transition: transform .2s ease;
}

.st-faq-list details[open] .st-faq-chevron {
    transform: rotate(180deg);
}

.st-faq-a {
    margin: 0;
    padding: 0 6px 20px 48px;
    font-size: 14.5px;
    line-height: 165%;
    color: var(--st-muted);
}

/* ---------- RESOURCES ---------- */

.st-res {
    text-align: center;
}

.st-res-grid {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 12px;
    margin-top: 24px;
}

.st-res-pill {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    background: #fff;
    border: 1px solid var(--st-border);
    border-radius: 999px;
    padding: 11px 22px;
    font-size: 14px;
    font-weight: 600;
    color: var(--st-navy);
    text-decoration: none;
    transition: border-color .15s ease, color .15s ease;
}

.st-res-pill:hover {
    border-color: var(--st-blue);
    color: var(--st-blue);
    text-decoration: none;
}

.st-res-pill svg {
    width: 13px;
    height: 13px;
    color: var(--st-blue);
}

/* ---------- DIRECTORY DETAILS (collapsible) ---------- */

.st-dir details.st-details {
    background: transparent;
}

.st-dir details > summary {
    list-style: none;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
}

.st-dir details > summary::-webkit-details-marker {
    display: none;
}

.st-dir-hint {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    color: var(--st-blue);
    font-size: 14px;
    font-weight: 600;
    white-space: nowrap;
}

.st-dir details[open] .st-dir-hint i {
    transform: rotate(180deg);
}

.st-dir-hint i {
    transition: transform .2s ease;
}

/* ---------- RESPONSIVE ---------- */

@media (max-width: 991px) {
    .st-h2 {
        font-size: 30px;
    }
.st-hero-inner {
    flex-direction:column;
    gap:20px;
}
    .st-calc-row {
        grid-template-columns: 1fr;
    }

    .st-reco-grid {
        grid-template-columns: repeat(2, 1fr);
    }

    .st-dir .st-mini-grid {
        grid-template-columns: 1fr;
    }

    .st-factors {
        grid-template-columns: 1fr;
        gap: 24px;
    }

    .st-vs-grid {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 640px) {
    .st-hero {
        padding: 22px 0 60px;
    }

    .st-calc {
        padding: 20px;
    }

    .st-reco-grid {
        grid-template-columns: 1fr;
    }

    .st-expect-card,
    .st-cities-card,
    .st-faq-card,
    .st-scams-card {
        padding: 22px;
    }

    .st-factors {
        padding: 24px;
    }

    .st-mini-mover {
        flex-wrap: wrap;
    }

    .st-mini-btns {
        flex-direction: row;
        width: 100%;
    }

    .st-mini-btns a {
        flex: 1;
    }
}

/* ---------- STATE COST BLOCKS (statesLowerCard) ---------- */

.st-interstate-card {
    margin-top: 44px;
}

.st-ld-head {
    margin-bottom: 20px;
}

.st-calc-btn {
    margin: 4px 0 30px;
    padding: 12px 24px;
    font-size: 15px;
    border-radius: 999px;
}

.st-calc-btn i {
    font-size: 13px;
}

.st-avg-title {
    margin: 0 0 18px;
    font-size: 22px;
}

.st-table-note {
    margin: 14px 0 0;
}

.st-cta-wrap {
    text-align: left;
    margin: 24px 0 4px;
}

.st-routes-link {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    color: var(--st-blue);
    font-size: 15px;
    font-weight: 600;
    text-decoration: none;
}

.st-routes-link:hover {
    text-decoration: underline;
    color: var(--st-blue);
}

.st-routes-link i {
    font-size: 13px;
    transition: transform .15s ease;
}

.st-routes-link:hover i {
    transform: translateX(3px);
}


/* ========== Styles moved from new-best-moving-companies.css (used by state page) ========== */

/* =====================================================================
   FIGMA REDESIGN — Best Moving Companies page (bmf- prefix)
   ===================================================================== */

.bmf-hero {padding: 30px 0 20px;}

.bmf-breadcrumb {display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 8px;
    font-size: 14px;
    line-height: 18px;
    margin-bottom: 26px;}

.bmf-breadcrumb a {font-weight: 500;
    color: #55606C;
    text-decoration: none;}

.bmf-breadcrumb a:hover {color: #2E7FC4;}

.bmf-breadcrumb .mgm-breadcrumb-sep {color: #6C7076;}

.bmf-breadcrumb .mgm-breadcrumb-current {font-weight: 600;
    color: #2E7FC4;}

.bmf-hero-row {display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 24px;}

.bmf-hero-main {display: flex;
    flex-direction: column;
    gap: 14px;
    flex: 1 1 auto;
    min-width: 0;
    max-width: 840px;}

.bmf-hero-title {font-family: 'Noto Serif', serif;
    font-weight: 600;
    font-size: 60px;
    line-height: 120%;
    letter-spacing: -0.02em;
    color: #3A3A3C;
    margin: 0;
    max-width: 750px;}

.bmf-hero-desc {font-size: 16px;
    line-height: 26px;
    font-weight: 400;
    color: #55606C;
    margin: 0;
    max-width: 500px;
    flex: 0 0 500px;}

/* Figma pills: text-only, bordered */
.bmf-hero .mgm-hero-chips {display: flex;
    flex-wrap: wrap;
    gap: 16px;
    margin: 0;}

.bmf-hero .mgm-hero-chip {display: inline-flex;
    align-items: center;
    background: #FFFFFF;
    border: 1px solid #D5E5F3;
    border-radius: 50px;
    padding: 6px 14px;
    font-size: 14px;
    font-weight: 500;
    line-height: 150%;
    color: #55606C;}

.bmf-hero .mgm-hero-chip svg {display: none;}

/* ---------- Price calculator card ---------- */

.bmf-calc-wrap {padding: 24px 0 50px;}

.bmf-calc {background: #FFFFFF;
    box-shadow: 0px 20px 44px -10px rgba(22, 57, 92, 0.05);
    border-radius: 20px;
    padding: 26px 28px;}

.bmf-calc-head {display: flex;
    align-items: center;
    gap: 12px;
    margin-bottom: 18px;}

.bmf-calc-title {font-family: 'Noto Serif', serif;
    font-weight: 600;
    font-size: 20px;
    line-height: 150%;
    color: #3A3A3C;
    margin: 0;
    flex: 1;}

.bmf-calc-badge {display: inline-flex;
    align-items: center;
    gap: 6px;
    background: #E5F5EC;
    border-radius: 999px;
    padding: 6px 12px 6px 10px;
    font-size: 12.5px;
    font-weight: 600;
    line-height: 16px;
    color: #1E9E5A;}

.bmf-calc-badge svg {width: 12px;
    height: 12px;}

.bmf-calc-row {display: flex;
    align-items: flex-end;
    gap: 12px;}

.bmf-field {display: flex;
    flex-direction: column;
    gap: 10px;
    flex: 1;
    min-width: 0;}

.bmf-field label {font-size: 14px;
    font-weight: 400;
    line-height: 150%;
    color: #6C7076;
    margin: 0;}

.bmf-req {color: #6C7076;}

.bmf-input-wrap {display: flex;
    align-items: center;
    gap: 10px;
    background: #F6F9FC;
    border: 1px solid #D5E5F3;
    border-radius: 14px;
    padding: 16px 18px;
    height: 52px;
    box-sizing: border-box;}

.bmf-input-wrap svg {width: 18px;
    height: 18px;
    color: #2E7FC4;
    flex: none;}

.bmf-input {border: none;
    background: transparent;
    font-size: 16px;
    line-height: 150%;
    color: #3A3A3C;
    flex: 1;
    min-width: 0;
    outline: none;
    padding: 0;
    height: auto;
    box-shadow: none;}

.bmf-input::placeholder {color: #3A3A3C;
    opacity: 0.5;}

.bmf-input:focus {outline: none;
    box-shadow: none;
    border: none;}

.bmf-btn-accent {display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    background: #F57300;
    border: none;
    border-radius: 999px;
    padding: 12px 22px 12px 24px;
    height: 52px;
    font-size: 14px;
    font-weight: 600;
    line-height: 150%;
    color: #FFFFFF;
    white-space: nowrap;
    cursor: pointer;
    transition: background 0.2s ease;
    flex: none;}

.bmf-btn-accent:hover {background: #D96600;
    color: #FFFFFF;}

.bmf-btn-accent svg {width: 18px;
    height: 18px;}

/* ---------- Shared section bits ---------- */

.bmf-section {padding: 40px 0;}

.bmf-eyebrow {display: block;
    font-size: 12px;
    font-weight: 600;
    letter-spacing: 3px;
    text-transform: uppercase;
    color: #2E7FC4;
    margin-bottom: 10px;}

.bmf-h2 {font-family: 'Noto Serif', serif;
    font-weight: 600;
    font-size: 40px;
    line-height: 136%;
    letter-spacing: 0.01em;
    color: #16395C;
    margin: 0 0 14px;
    max-width: 750px;}

.bmf-section-desc {font-size: 18px;
    line-height: 150%;
    font-weight: 400;
    color: #55606C;
    margin: 0 0 34px;
    max-width: 750px;}

/* ---------- Key Takeaways ---------- */

.bmf-takeaways-card {background: #EAF3FB;
    border: 1px solid #BCD3EA;
    border-radius: 20px;
    padding: 36px;
    margin-top: 30px;}

.bmf-takeaways-card ul,
.bmf-takeaways-card ol {list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: 24px;}

.bmf-takeaways-card li {position: relative;
    padding-left: 26px;
    font-size: 18px;
    line-height: 150%;
    font-weight: 400;
    color: #17181A;}

.bmf-takeaways-card li::before {content: '';
    position: absolute;
    left: 0;
    top: 9px;
    width: 10px;
    height: 10px;
    border-radius: 50%;
    background: #2E7FC4;}

.bmf-takeaways-card p {font-size: 18px;
    line-height: 150%;
    color: #17181A;
    margin: 0 0 24px;}

.bmf-takeaways-card p:last-child {margin-bottom: 0;}

.bmf-takeaways-card p::before {content: '';
    display: inline-block;
    width: 10px;
    height: 10px;
    border-radius: 50%;
    background: #2E7FC4;
    margin-right: 16px;}

.bmf-takeaways-card h1,
.bmf-takeaways-card h2,
.bmf-takeaways-card h3,
.bmf-takeaways-card h4 {font-family: 'Noto Serif', serif;
    font-weight: 600;
    color: #16395C;
    margin: 0 0 20px;}

/* ---------- Recommended movers ---------- */

.bmf-reco-grid {display: flex;
    gap: 16px;
    margin-top: 30px;}

.bmf-reco-card {display: flex;
    flex-direction: column;
    align-items: stretch;
    background: #FFFFFF;
    border: 1px solid #D5E5F3;
    box-shadow: 0px 30px 70px -35px rgba(9, 92, 162, 0.15);
    border-radius: 24px;
    padding: 24px;
    flex: 1;
    min-width: 0;}

.bmf-reco-logo {display: flex;
    align-items: center;
    justify-content: center;
    background: #FFFFFF;
    border: 1px solid #E9E9E9;
    border-radius: 12px;
    padding: 12px;
    height: 150px;
    margin-bottom: 12px;}

.bmf-reco-logo img {max-width: 100%;
    max-height: 126px;
    object-fit: contain;}

.bmf-reco-name {font-family: 'Noto Serif', serif;
    font-weight: 600;
    font-size: 24px;
    line-height: 150%;
    color: #16395C;
    text-align: center;
    text-decoration: none;
    display: block;}

.bmf-reco-name:hover {color: #2E7FC4;
    text-decoration: none;}

.bmf-reco-rating-row {display: flex;
    flex-direction: column;
    align-items: center;
    gap: 10px;
    margin: 12px 0 10px;}

.bmf-stars {display: inline-flex;
    gap: 4px;
    font-size: 26px;
    color: #F5B301;
    line-height: 1;}

.bmf-stars .fa-regular,
.bmf-stars .far {color: #E4E4E4;}

.bmf-reco-rating {font-size: 18px;
    font-weight: 700;
    line-height: 150%;
    color: #2E7FC4;
    text-align: center;}

.bmf-reco-tag {display: block;
    font-size: 14px;
    font-weight: 400;
    line-height: 150%;
    color: #787D87;
    text-align: center;
    padding: 10px 0;}

.bmf-btn-quote {display: flex;
    align-items: center;
    justify-content: center;
    background: #2E7FC4;
    border-radius: 12px;
    padding: 18px 24px;
    font-family: 'Noto Serif', serif;
    font-weight: 500;
    font-size: 20px;
    line-height: 150%;
    letter-spacing: -0.005em;
    color: #FFFFFF;
    text-decoration: none;
    margin-top: auto;
    transition: background 0.2s ease;}

.bmf-btn-quote:hover {background: #2268A5;
    color: #FFFFFF;
    text-decoration: none;}

/* ---------- Top picks grid ---------- */

.bmf-picks-grid {display: grid;
    grid-template-columns: repeat(5, 1fr);
    gap: 16px;
    margin-top: 30px;}

.bmf-pick-card {display: flex;
    flex-direction: column;
    background: #FFFFFF;
    border: 1px solid #D5E5F3;
    box-shadow: 0px 30px 70px -35px rgba(9, 92, 162, 0.15);
    border-radius: 24px;
    padding: 16px;}

.bmf-pick-logo {display: flex;
    align-items: center;
    justify-content: center;
    background: #FFFFFF;
    border: 1px solid #E9E9E9;
    border-radius: 12px;
    padding: 12px;
    height: 120px;
    margin-bottom: 12px;}

.bmf-pick-logo img {max-width: 100%;
    max-height: 96px;
    object-fit: contain;}

.bmf-pick-name {font-family: 'Noto Serif', serif;
    font-weight: 500;
    font-size: 20px;
    line-height: 150%;
    letter-spacing: -0.005em;
    color: #16395C;
    text-align: center;
    text-decoration: none;
    display: block;}

.bmf-pick-name:hover {color: #2E7FC4;
    text-decoration: none;}

.bmf-pick-rating {font-family: 'Noto Serif', serif;
    font-weight: 600;
    font-size: 14px;
    line-height: 150%;
    color: #2E7FC4;
    text-align: center;
    display: block;
    margin-top: 6px;}

.bmf-pick-tag {display: block;
    font-size: 12px;
    font-weight: 400;
    line-height: 150%;
    color: #787D87;
    text-align: center;
    padding: 10px 0;}

.bmf-btn-quote-sm {display: flex;
    align-items: center;
    justify-content: center;
    background: #EAF3FB;
    border: 1px solid #D5E5F3;
    border-radius: 12px;
    padding: 14px 24px;
    font-size: 14px;
    font-weight: 600;
    line-height: 150%;
    color: #16395C;
    text-decoration: none;
    margin-top: auto;
    transition: background 0.2s ease;}

.bmf-btn-quote-sm:hover {background: #D6E9F8;
    color: #16395C;
    text-decoration: none;}

/* ---------- Trust band ---------- */

.bmf-band {background: #D6E9F8;
    border: 2px solid #E9E9E9;
    border-radius: 24px;
    padding: 44px 32px;
    margin: 60px 0;
    position: relative;
    overflow: hidden;}

.bmf-band-title {font-family: 'Noto Serif', serif;
    font-weight: 600;
    font-size: 32px;
    line-height: 44px;
    color: #16395C;
    margin: 0 0 14px;}

.bmf-band-text {font-size: 14px;
    line-height: 150%;
    font-weight: 400;
    color: #55606C;
    margin: 0;
    max-width: 750px;}

/* ---------- Best fit table ---------- */

.bmf-fit-table-card {background: #FFFFFF;
    border: 1px solid #D5E5F3;
    border-radius: 12px;
    overflow: hidden;
    margin-top: 30px;}

.bmf-fit-table {width: 100%;
    border-collapse: collapse;
    margin: 0;}

.bmf-fit-table thead th {background: #2E7FC4;
    color: #FFFFFF;
    font-size: 14px;
    font-weight: 400;
    line-height: 150%;
    padding: 14px 20px;
    text-align: left;
    border: none;}

.bmf-fit-table tbody td {padding: 15px 20px;
    font-size: 14px;
    line-height: 150%;
    vertical-align: middle;
    border: none;}

.bmf-fit-table tbody tr:nth-child(odd) {background: #F6F9FC;}

.bmf-fit-table tbody tr:nth-child(even) {background: #FFFFFF;}

.bmf-fit-need {font-weight: 600;
    color: #17181A;}

.bmf-fit-why {font-weight: 400;
    color: #55606C;}

.bmf-fit-mover,
.bmf-fit-quote {font-weight: 500;
    color: #2E7FC4;
    text-decoration: none;}

.bmf-fit-mover:hover,
.bmf-fit-quote:hover {text-decoration: underline;
    color: #2268A5;}

.bmf-fit-nowrap {white-space: nowrap;}

/* ---------- Responsive ---------- */










/* =====================================================================
   FIGMA PASS 2 — Detailed Explanation, Compare, Find Movers,
   Browse by State, How We Chose
   ===================================================================== */

.bmf-h2-lg {font-size: 44px;
    line-height: 120%;}

/* sponsored-style header inside the narrower detailed-explanation column */
#explaination .bmf-sp-top {flex-wrap: wrap;
    row-gap: 24px;}

#explaination .bmf-sp-logo-box {width: 200px;}

#explaination .bmf-sp-mid {padding: 0 24px;
    gap: 24px;}

#explaination .bmf-sp-cta {padding-left: 24px;}

#explaination .mgm-stars .bmf-stars {font-size: 18px;}

/* ---------- Compare section ---------- */

.bmf-compare {background: #F7FBFF;
    border: 1px solid #D5E5F3;
    border-radius: 24px;
    padding: 36px;}

.bmf-compare > summary {display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 20px;
    list-style: none;
    cursor: pointer;}

.bmf-compare > summary::-webkit-details-marker {display: none;}

.bmf-compare-head {display: flex;
    flex-direction: column;
    align-items: flex-start;}

.bmf-compare-head .bmf-eyebrow {margin-bottom: 8px;}

.bmf-compare-head .bmf-h2 {font-size: 34px;}

.bmf-compare .mgm-summary-hint,
.bmf-states .mgm-summary-hint {display: inline-flex;
    align-items: center;
    gap: 8px;
    font-family: 'Plus Jakarta Sans', sans-serif;
    font-size: 13px;
    font-weight: 600;
    color: #2E7FC4;
    white-space: nowrap;
    padding-bottom: 4px;}

.bmf-compare .mgm-details-body#moreMoversWrapper,
#moreMoversWrapper {display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 16px;
    margin-top: 28px;}

#moreMoversWrapper .mgm-mini-mover {display: flex;
    flex-direction: column;
    gap: 14px;
    background: #FFFFFF;
    border: 1px solid #D5E5F3;
    border-radius: 18px;
    padding: 20px;}

#moreMoversWrapper .mgm-mini-logo {width: 64px;
    height: 64px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: #F4F9FE;
    border: 1px solid #D5E5F3;
    border-radius: 14px;
    padding: 8px;}

#moreMoversWrapper .mgm-mini-logo img {max-width: 100%;
    max-height: 100%;
    object-fit: contain;}

#moreMoversWrapper .mgm-mini-info {display: flex;
    flex-direction: column;
    gap: 8px;}

.bmf-mini-name-row {display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    flex-wrap: wrap;}

#moreMoversWrapper .mgm-mini-name {font-family: 'Noto Serif', serif;
    font-size: 17px;
    font-weight: 600;
    color: #16395C;
    text-decoration: none;
    line-height: 1.3;}

#moreMoversWrapper .mgm-mini-name:hover {color: #2E7FC4;}

.bmf-verified {display: inline-flex;
    align-items: center;
    gap: 5px;
    font-family: 'Plus Jakarta Sans', sans-serif;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0.4px;
    text-transform: uppercase;
    color: #178A50;
    background: #E8F6EE;
    border: 1px solid #C9EAD6;
    padding: 4px 10px;
    border-radius: 999px;
    white-space: nowrap;}

.bmf-verified i {font-size: 11px;}

#moreMoversWrapper .mgm-stars .bmf-stars {font-size: 14px;
    gap: 2px;}

#moreMoversWrapper .mgm-rating-note-sm {font-family: 'Plus Jakarta Sans', sans-serif;
    font-size: 12.5px;
    color: #55606C;}

.bmf-mini-meta {display: flex;
    flex-wrap: wrap;
    gap: 6px 16px;
    font-family: 'Plus Jakarta Sans', sans-serif;
    font-size: 12.5px;
    color: #55606C;}

.bmf-mini-meta i {color: #2E7FC4;
    margin-right: 4px;}

#moreMoversWrapper .mgm-btn-row {display: flex;
    gap: 10px;
    margin-top: auto;
    padding-top: 4px;}

#moreMoversWrapper .mgm-btn-sm {flex: 1;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-family: 'Plus Jakarta Sans', sans-serif;
    font-size: 13.5px;
    font-weight: 700;
    padding: 10px 14px;
    border-radius: 12px;
    text-decoration: none;}

#moreMoversWrapper .mgm-btn-outline {background: #FFFFFF;
    color: #2E7FC4 !important;
    border: 1.5px solid #D5E5F3;}

#moreMoversWrapper .mgm-btn-outline:hover {border-color: #2E7FC4;
    background: #EAF3FB;}

#moreMoversWrapper .mgm-btn-soft {background: #FF8D3D;
    color: #fff !important;
    border: 1.5px solid #FF8D3D;}

#moreMoversWrapper .mgm-btn-soft:hover {background: #f07f2b;
    border-color: #f07f2b;}

#moreMoversWrapper .mgm-pagination {grid-column: 1 / -1;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-wrap: wrap;
    gap: 8px;
    margin-top: 12px;}

#moreMoversWrapper .mgm-page-link,
#moreMoversWrapper .mgm-page-current {display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 40px;
    height: 40px;
    padding: 0 12px;
    border-radius: 12px;
    font-family: 'Plus Jakarta Sans', sans-serif;
    font-size: 14px;
    font-weight: 600;
    text-decoration: none;}

#moreMoversWrapper .mgm-page-link {background: #FFFFFF;
    border: 1px solid #D5E5F3;
    color: #16395C;}

#moreMoversWrapper .mgm-page-link:hover {border-color: #2E7FC4;
    color: #2E7FC4;
    background: #EAF3FB;}

#moreMoversWrapper .mgm-page-current {background: #16395C;
    color: #fff;}

#moreMoversWrapper .mgm-muted {font-family: 'Plus Jakarta Sans', sans-serif;
    font-size: 13px;
    color: #55606C;
    padding: 0 4px;}

/* ---------- Find Movers Near You banner ---------- */

.bmf-find-banner {background: #EAF3FB;
    border: 1px solid #D5E5F3;
    border-radius: 24px;
    padding: 44px 40px;
    text-align: center;}

.bmf-find-banner .bmf-eyebrow {margin-bottom: 10px;}

.bmf-find-title {font-family: 'Noto Serif', serif;
    font-size: 34px;
    font-weight: 600;
    line-height: 1.25;
    color: #16395C;
    margin: 0 0 8px;}

.bmf-find-sub {font-family: 'Plus Jakarta Sans', sans-serif;
    font-size: 15px;
    color: #55606C;
    margin: 0 0 28px;}

.bmf-find-form {display: grid;
    grid-template-columns: 1fr 1fr auto;
    gap: 16px;
    align-items: end;
    max-width: 860px;
    margin: 0 auto;
    text-align: left;}

.bmf-find-btn {height: 54px;
    padding: 0 28px;
    font-size: 15px;}

/* ---------- Browse by State ---------- */

.bmf-states > summary {display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 20px;
    list-style: none;
    cursor: pointer;
    margin-bottom: 8px;}

.bmf-states > summary::-webkit-details-marker {display: none;}

.bmf-states .mgm-state-grid {display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 12px;
    margin-top: 20px;}

.bmf-states .mgm-state-link {display: flex;
    align-items: center;
    gap: 12px;
    background: #FFFFFF;
    border: 1px solid #D5E5F3;
    border-radius: 14px;
    padding: 12px 16px;
    font-family: 'Plus Jakarta Sans', sans-serif;
    font-size: 14px;
    font-weight: 600;
    color: #16395C;
    text-decoration: none;
    transition: border-color 0.2s ease, box-shadow 0.2s ease, transform 0.2s ease;}

.bmf-states .mgm-state-link::after {content: "\f054";
    font-family: "Font Awesome 6 Free";
    font-weight: 900;
    font-size: 10px;
    color: #2E7FC4;
    margin-left: auto;}

.bmf-states .mgm-state-link:hover {border-color: #2E7FC4;
    box-shadow: 0 8px 20px -10px rgba(46, 127, 196, 0.35);
    transform: translateY(-2px);}

.bmf-states .mgm-state-abbr {display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 38px;
    height: 38px;
    background: #EAF3FB;
    border-radius: 10px;
    color: #2E7FC4;
    font-size: 13px;
    font-weight: 800;
    letter-spacing: 0.5px;
    flex-shrink: 0;}

/* ---------- How We Chose ---------- */

.bmf-how-stats {display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 16px;
    margin: 28px 0;}

.bmf-how-stat {background: #EAF3FB;
    border: 1px solid #D5E5F3;
    border-radius: 18px;
    padding: 22px 20px;
    text-align: center;}

.bmf-how-stat strong {display: block;
    font-family: 'Noto Serif', serif;
    font-size: 28px;
    font-weight: 700;
    color: #16395C;
    line-height: 1.1;
    margin-bottom: 6px;}

.bmf-how-stat span {font-family: 'Plus Jakarta Sans', sans-serif;
    font-size: 13px;
    color: #55606C;}

.bmf-how-cols {display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 16px;}

.bmf-how-table-card,
.bmf-how-steps-card {background: #FFFFFF;
    border: 1px solid #D5E5F3;
    border-radius: 20px;
    padding: 28px;}

.bmf-how-subtitle {font-family: 'Noto Serif', serif;
    font-size: 20px;
    font-weight: 600;
    color: #16395C;
    margin: 0 0 20px;}

.bmf-how-weight-row {display: grid;
    grid-template-columns: minmax(0, 1fr) 110px 40px;
    align-items: center;
    gap: 12px;
    padding: 10px 0;
    border-bottom: 1px solid #EAF3FB;}

.bmf-how-weight-row:last-child {border-bottom: none;}

.bmf-how-weight-name {font-family: 'Plus Jakarta Sans', sans-serif;
    font-size: 13.5px;
    font-weight: 600;
    color: #3A3A3C;}

.bmf-how-weight-bar {height: 8px;
    background: #EAF3FB;
    border-radius: 999px;
    overflow: hidden;}

.bmf-how-weight-bar i {display: block;
    height: 100%;
    background: #2E7FC4;
    border-radius: 999px;}

.bmf-how-weight-pct {font-family: 'Plus Jakarta Sans', sans-serif;
    font-size: 13px;
    font-weight: 700;
    color: #16395C;
    text-align: right;}

.bmf-how-steps {margin: 0;
    padding-left: 20px;
    display: flex;
    flex-direction: column;
    gap: 14px;}

.bmf-how-steps li {font-family: 'Plus Jakarta Sans', sans-serif;
    font-size: 14px;
    line-height: 1.6;
    color: #3A3A3C;
    padding-left: 4px;}

.bmf-how-steps li::marker {font-family: 'Noto Serif', serif;
    font-weight: 700;
    color: #2E7FC4;}

.bmf-how-steps strong {color: #16395C;}

.bmf-how-note {display: flex;
    align-items: flex-start;
    gap: 14px;
    background: #EAF3FB;
    border: 1px solid #D5E5F3;
    border-radius: 16px;
    padding: 18px 22px;
    margin-top: 24px;}

.bmf-how-note i {color: #2E7FC4;
    font-size: 18px;
    margin-top: 2px;
    flex-shrink: 0;}

.bmf-how-note p {margin: 0;
    font-family: 'Plus Jakarta Sans', sans-serif;
    font-size: 13.5px;
    line-height: 1.6;
    color: #3A3A3C;}

.bmf-how-note strong {color: #16395C;}

/* Collapsed state must still hide bodies even though grid display is set */
.bmf-compare:not([open]) .mgm-details-body,
.bmf-states:not([open]) .mgm-details-body {display: none !important;}

.bmf-compare[open] > summary .fa-chevron-down,
.bmf-states[open] > summary .fa-chevron-down {transform: rotate(180deg);}

/* ---------- Sponsored placement card ---------- */

.bmf-sp-card {background: #FFFFFF;
    border: 2px solid #D5E5F3;
    box-shadow: 0px 30px 70px -35px rgba(9, 92, 162, 0.05);
    border-radius: 24px;
    overflow: hidden;}

.bmf-sp-body {display: flex;
    flex-direction: column;
    gap: 44px;
    padding: 32px 20px;
    border-bottom: 1px solid #D5E5F3;}

.bmf-sp-top {display: flex;
    align-items: center;
    gap: 0;}

.bmf-sp-logo-box {display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    gap: 24px;
    width: 230px;
    align-self: stretch;
    padding: 24px;
    background: #FFFFFF;
    border: 1px solid #D5E5F3;
    border-radius: 12px;
    flex-shrink: 0;}

.bmf-sp-logo {display: flex;
    justify-content: center;
    align-items: start;
    flex: 1;
    min-height: 0;
    width: 100%;}

.bmf-sp-logo img {max-width: 170px;
    max-height: 118px;
    object-fit: contain;
    border-radius: 10px;}

.bmf-sp-rating-pill {display: inline-flex;
    align-items: center;
    gap: 4px;
    padding: 8px 12px;
    background: #FFFFFF;
    border: 1px solid #D5E5F3;
    border-radius: 24px;
position: absolute;
    top: 172px;
}

.bmf-sp-stars {display: inline-flex;
    align-items: center;
    gap: 2px;}

.bmf-sp-stars i {font-size: 13px;
    color: #F5B301;}

.bmf-sp-stars .bmf-stars {font-size: 13px;
    gap: 2px;}

.bmf-sp-rating-val {font-family: 'Noto Serif', serif;
    font-weight: 500;
    font-size: 12px;
    line-height: 150%;
    color: #2E7FC4;}

.bmf-sp-mid {display: flex;
    flex-direction: column;
    justify-content: center;
    gap: 44px;
    padding: 0 20px;
    flex: 1;
    min-width: 0;
    align-self: stretch;}

.bmf-sp-title-block {display: flex;
    flex-direction: column;
    gap: 16px;}

.bmf-sp-title-row {display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 24px;}

.bmf-sp-name {font-family: 'Noto Serif', serif;
    font-weight: 600;
    font-size: 32px;
    line-height: 44px;
    color: #16395C;
    margin: 0;}

.bmf-sp-name a {color: inherit;
    text-decoration: none;}

.bmf-sp-name a:hover {color: #2E7FC4;}

.bmf-sp-badge {display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 6px 12px;
    background: #D5E5F3;
    border: 1px solid #2E7FC4;
    border-radius: 50px;
    font-family: 'Noto Serif', serif;
    font-weight: 600;
    font-size: 14px;
    line-height: 150%;
    color: #2E7FC4;
    white-space: nowrap;
    flex-shrink: 0;}

.bmf-sp-desc {font-family: 'Noto Serif', serif;
    font-weight: 600;
    font-size: 14px;
    line-height: 150%;
    color: #3A3A3C;
    margin: 0;
    max-width: 500px;}

.bmf-sp-stats {display: flex;
    gap: 10px;}

.bmf-sp-stat {display: flex;
    flex-direction: column;
    justify-content: space-between;
    align-items: flex-start;
    gap: 8px;
    flex: 1;
    min-width: 0;
    min-height: 80px;
    padding: 12px;
    background: #FFFFFF;
    border: 1px solid #D5E5F3;
    border-radius: 12px;}

.bmf-sp-stat:first-child {border-width: 1.5px;}

.bmf-sp-stat-label {font-family: 'Plus Jakarta Sans', sans-serif;
    font-weight: 500;
    font-size: 14px;
    line-height: 150%;
    color: #55606C;
    margin: 0 auto;}

.bmf-sp-stat:first-child .bmf-sp-stat-label {color: #1F5F97;}

.bmf-sp-stat-val {font-family: 'Plus Jakarta Sans', sans-serif;
    font-weight: 700;
    font-size: 18px;
    line-height: 150%;
    color: #16395C;
    margin: 0 auto;
    white-space: nowrap;}

.bmf-sp-stat-val.bmf-sp-good {color: #1E9E5A;}

.bmf-sp-stat-val.bmf-sp-bad {color: #F57300;}

.bmf-sp-cta {display: flex;
    flex-direction: column;
    justify-content: center;
    gap: 24px;
    align-self: stretch;
    padding-left: 20px;
    border-left: 1px solid #D5E5F3;
    flex-shrink: 0;}

.bmf-sp-phone,
.bmf-sp-quote {display: flex;
    justify-content: center;
    align-items: center;
    gap: 10px;
    width: 100%;
    padding: 14px 24px;
    border-radius: 12px;
    font-family: 'Noto Serif', serif;
    font-weight: 600;
    font-size: 14px;
    line-height: 150%;
    text-decoration: none;
    transition: background 0.2s ease, border-color 0.2s ease;}

.bmf-sp-phone {padding-left: 20px;
    background: #FFFFFF;
    border: 1px solid #D5E5F3;
    color: #16395C;}

.bmf-sp-phone svg {width: 16px;
    height: 16px;
    flex-shrink: 0;}

.bmf-sp-phone:hover {border-color: #2E7FC4;
    color: #16395C;}

.bmf-sp-quote {background: #2E7FC4;
    border: 1px solid #2E7FC4;
    color: #FFFFFF;}

.bmf-sp-quote:hover {background: #1F5F97;
    border-color: #1F5F97;
    color: #FFFFFF;}

/* tabs */

.bmf-sp-tabs {display: flex;
    gap: 12px;
    border-bottom: 1px solid #D5E5F3;}

.bmf-sp-tab {display: flex;
    justify-content: center;
    align-items: center;
    gap: 8px;
    flex: 1;
    min-width: max-content;
    padding: 12px 24px;
    background: none;
    border: none;
    font-family: 'Plus Jakarta Sans', sans-serif;
    font-weight: 600;
    font-size: 14px;
    line-height: 150%;
    color: #787D87;
    cursor: pointer;}

.bmf-sp-tab.is-active {color: #2E7FC4;
    border-bottom: 3px solid #2E7FC4;
    margin-bottom: -1px;}

/* panes */

.bmf-sp-pane {padding-top: 24px;}

.bmf-sp-pane[hidden] {display: none;}

.bmf-sp-picked {display: flex;
    flex-direction: column;
    gap: 14px;
    margin-bottom: 44px;}

.bmf-sp-h5 {font-family: 'Noto Serif', serif;
    font-weight: 600;
    font-size: 20px;
    line-height: 150%;
    color: #16395C;
    margin: 0;}

.bmf-sp-text {font-family: 'Plus Jakarta Sans', sans-serif;
    font-weight: 400;
    font-size: 14px;
    line-height: 150%;
    color: #3A3A3C;
    margin: 0;}

.bmf-sp-empty {color: #55606C;}

.bmf-sp-cols {display: flex;
    gap: 44px;}

.bmf-sp-col {display: flex;
    flex-direction: column;
    gap: 14px;
    flex: 1;
    min-width: 0;}

.bmf-sp-col > .bmf-sp-pill-group + .bmf-sp-pill-group {margin-top: 30px;}

.bmf-sp-table {display: flex;
    flex-direction: column;
    background: #FFFFFF;
    border: 1px solid #D5E5F3;
    border-radius: 16px;
    overflow: hidden;}

.bmf-sp-tr {display: flex;
    background: #FFFFFF;}

.bmf-sp-tr:nth-child(even) {background: #F6F9FC;}

.bmf-sp-td-label,
.bmf-sp-td-val {padding: 13px 20px;
    font-family: 'Plus Jakarta Sans', sans-serif;
    font-size: 14px;
    line-height: 150%;}

.bmf-sp-td-label {width: 220px;
    flex-shrink: 0;
    font-weight: 400;
    color: #55606C;}

.bmf-sp-td-val {flex: 1;
    font-weight: 600;
    color: #3A3A3C;}

.bmf-sp-td-val.bmf-sp-link-val {color: #2E7FC4;}

.bmf-sp-pill-group {display: flex;
    flex-direction: column;
    gap: 14px;}

.bmf-sp-pills {display: flex;
    flex-wrap: wrap;
    gap: 10px;}

.bmf-sp-pill {display: inline-flex;
    align-items: flex-start;
    padding: 12px 24px;
    background: #FFFFFF;
    border: 1px solid #D5E5F3;
    border-radius: 999px;
    font-family: 'Plus Jakarta Sans', sans-serif;
    font-weight: 600;
    font-size: 14px;
    line-height: 150%;
    color: #16395C;}

.bmf-sp-pill-fill {background: #EAF3FB;}

/* data tables */

.bmf-sp-mt {margin-top: 44px;}

.bmf-sp-table-wrap {overflow-x: auto;}

.bmf-sp-data-table {width: 100%;
    border-collapse: separate;
    border-spacing: 0;
    background: #FFFFFF;
    border: 1px solid #D5E5F3;
    border-radius: 16px;
    overflow: hidden;}

.bmf-sp-data-table th,
.bmf-sp-data-table td {padding: 13px 20px;
    font-family: 'Plus Jakarta Sans', sans-serif;
    font-size: 14px;
    line-height: 150%;
    text-align: left;}

.bmf-sp-data-table thead th {background: #F6F9FC;
    font-weight: 600;
    color: #16395C;
    white-space: nowrap;}

.bmf-sp-data-table tbody td {font-weight: 400;
    color: #3A3A3C;
    border-top: 1px solid #EAF3FB;}

.bmf-sp-data-table tbody tr:nth-child(even) td {background: #F6F9FC;}

.bmf-sp-data-table tbody td:first-child {font-weight: 600;}

.bmf-sp-pricing-stats {margin-top: 10px;}

.bmf-sp-val-sm {font-size: 14px;
    line-height: 150%;
    white-space: normal;
    text-align: center;}

.bmf-sp-note {margin-top: 16px;
    color: #55606C;}

.bmf-sp-note strong {color: #16395C;}

.bmf-sp-list {margin: 0;
    padding: 0;
    list-style: none;
    display: flex;
    flex-direction: column;
    gap: 14px;}

.bmf-sp-list li {position: relative;
    padding-left: 26px;
    font-family: 'Plus Jakarta Sans', sans-serif;
    font-weight: 400;
    font-size: 14px;
    line-height: 150%;
    color: #3A3A3C;}

.bmf-sp-list li::before {content: "\f00c";
    font-family: "Font Awesome 6 Free";
    font-weight: 900;
    font-size: 11px;
    color: #2E7FC4;
    position: absolute;
    left: 0;
    top: 4px;}

.bmf-sp-list li strong {font-weight: 600;
    color: #16395C;}

/* performance snapshot cards */

.bmf-sp-perf-grid {display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 10px;}

.bmf-sp-perf {display: flex;
    flex-direction: column;
    gap: 8px;
    padding: 16px;
    background: #FFFFFF;
    border: 1px solid #D5E5F3;
    border-radius: 12px;}

.bmf-sp-perf .bmf-sp-stat-label {margin: 0;}

.bmf-sp-perf-val {font-family: 'Plus Jakarta Sans', sans-serif;
    font-weight: 700;
    font-size: 20px;
    line-height: 150%;
    color: #16395C;}

.bmf-sp-perf-val.bmf-sp-good {color: #1E9E5A;}

.bmf-sp-perf-desc {font-family: 'Plus Jakarta Sans', sans-serif;
    font-weight: 400;
    font-size: 13px;
    line-height: 150%;
    color: #55606C;}

/* spacing between stacked sponsored cards */
.bmf-sp-card + .bmf-sp-card {margin-top: 32px;}

/* footer toggle */

.bmf-sp-more {display: flex;
    justify-content: center;
    align-items: center;
    gap: 10px;
    width: 100%;
    padding: 14px 24px;
    background: #FFFFFF;
    border: none;
    font-family: 'Plus Jakarta Sans', sans-serif;
    font-weight: 600;
    font-size: 14px;
    line-height: 150%;
    color: #55606C;
    cursor: pointer;}

.bmf-sp-chevron {width: 16px;
    height: 16px;
    transition: transform 0.2s ease;}

.bmf-sp-more[aria-expanded="true"] .bmf-sp-chevron {transform: rotate(180deg);}

@media (max-width: 1199px) {
    .bmf-picks-grid {grid-template-columns: repeat(3, 1fr);}

    .bmf-hero-title {font-size: 46px;}
}

@media (max-width: 991px) {
    .bmf-hero-row {flex-direction: column;
        align-items: flex-start;}

    .bmf-hero-desc {flex: none;
        max-width: 100%;}

    .bmf-calc-row {flex-direction: column;
        align-items: stretch;}

    .bmf-btn-accent {width: 100%;}

    .bmf-reco-grid {flex-direction: column;}

    .bmf-h2 {font-size: 32px;}
}

@media (max-width: 767px) {
    .bmf-hero-title {font-size: 34px;}

    .bmf-picks-grid {grid-template-columns: repeat(2, 1fr);}

    .bmf-takeaways-card {padding: 24px;}

    .bmf-band {padding: 30px 22px;}

    .bmf-band-title {font-size: 26px;
        line-height: 36px;}
}

@media (max-width: 520px) {
    .bmf-picks-grid {grid-template-columns: 1fr;}
}

@media (max-width: 991px) {
    .bmf-h2-lg {font-size: 32px;}
}

@media (max-width: 767px) {
    .bmf-compare {padding: 24px 18px;}

    .bmf-compare-head .bmf-h2 {font-size: 26px;}

    .bmf-compare .mgm-details-body#moreMoversWrapper,
    #moreMoversWrapper {grid-template-columns: 1fr;}
}

@media (max-width: 767px) {
    .bmf-find-banner {padding: 30px 20px;}

    .bmf-find-title {font-size: 26px;}

    .bmf-find-form {grid-template-columns: 1fr;}
}

@media (max-width: 991px) {
    .bmf-states .mgm-state-grid {grid-template-columns: repeat(3, 1fr);}
}

@media (max-width: 767px) {
    .bmf-states .mgm-state-grid {grid-template-columns: repeat(2, 1fr);}
}

@media (max-width: 480px) {
    .bmf-states .mgm-state-grid {grid-template-columns: 1fr;}
}

@media (max-width: 991px) {
    .bmf-how-stats {grid-template-columns: repeat(2, 1fr);}

    .bmf-how-cols {grid-template-columns: 1fr;}
}

@media (max-width: 480px) {
    .bmf-how-stats {grid-template-columns: 1fr;}

    .bmf-how-weight-row {grid-template-columns: minmax(0, 1fr) 70px 36px;}
}

@media (max-width: 1199px) {
    .bmf-sp-top {flex-wrap: wrap;
        row-gap: 24px;}

    .bmf-sp-mid {padding: 0 24px;
        gap: 24px;}

    .bmf-sp-cta {width: 100%;
        flex-direction: row;
        padding-left: 0;
        padding-top: 24px;
        border-left: none;
        border-top: 1px solid #D5E5F3;}

    .bmf-sp-cols {flex-direction: column;}
}

@media (max-width: 767px) {
    .bmf-sp-body {padding: 20px;
        gap: 28px;}

    .bmf-sp-logo-box {width: 100%;
        min-height: 180px;}

    .bmf-sp-mid {padding: 0;}

    .bmf-sp-title-row {flex-direction: column;
        gap: 12px;}

    .bmf-sp-name {font-size: 24px;
        line-height: 32px;}

    .bmf-sp-stats {flex-wrap: wrap;}

    .bmf-sp-stat {flex: 1 1 calc(50% - 10px);}

    .bmf-sp-cta {flex-direction: column;}

    .bmf-sp-perf-grid {grid-template-columns: repeat(2, 1fr);}

    .bmf-sp-td-label {width: 140px;}
}

@media (max-width: 480px) {
    .bmf-sp-perf-grid {grid-template-columns: 1fr;}
}


/* ========== RESPONSIVE — all screens ========== */

@media (max-width: 1199px) {
    .st-container,
    .st-container-wide,
    .mgm-section {
        padding-left: 24px;
        padding-right: 24px;
    }
}

@media (max-width: 991px) {
    .st-section {
        padding: 32px 0;
    }

    .st-h3,
    .st-avg-title {
        font-size: 22px;
    }

    .st-hero-desc {
        max-width: 100%;
    }

    .st-hero-chips {
        gap: 10px;
    }

    .st-timeline-item {
        gap: 16px;
    }

    .st-timeline-badge {
        width: 48px;
        height: 48px;
        font-size: 11px;
    }

    .st-timeline::before {
        left: 23px;
    }

    .st-city-pill {
        flex: 1 1 calc(50% - 14px);
    }
}

@media (max-width: 767px) {
    .st-container,
    .st-container-wide,
    .mgm-section {
        padding-left: 16px;
        padding-right: 16px;
    }

    .st-h2 {
        font-size: 26px;
    }

    .st-h3,
    .st-avg-title {
        font-size: 20px;
    }

    .st-lead {
        font-size: 15px;
    }

    .st-hero {
        padding: 20px 0 50px;
    }

    .st-hero-title {
        font-size: 30px;
    }

    .st-hero-desc {
        font-size: 15.5px;
    }

    .st-hero-chip {
        padding: 8px 14px;
        font-size: 13px;
    }

    /* company cards */
    .mgm-company-card {
        border-radius: 16px;
    }

    .bmf-sp-detail {
        margin: 12px 0;
    }

    .bmf-sp-more {
        padding: 12px 16px;
        font-size: 13.5px;
    }

    /* mini mover cards */
    .mmc-card {
        padding: 14px;
        gap: 12px;
        border-radius: 12px;
    }

    .mmc-logo {
        width: 54px;
        height: 54px;
        padding: 6px;
        border-radius: 10px;
    }

    .mmc-name {
        font-size: 14.5px;
    }

    .mmc-verified {
        font-size: 11px;
        padding: 2px 8px;
    }

    .mmc-btn {
        min-height: 42px;
        font-size: 13px;
    }

    /* checklist timeline */
    .st-timeline-item {
        gap: 12px;
    }

    .st-timeline-badge {
        width: 42px;
        height: 42px;
        font-size: 10px;
        border-width: 2px;
    }

    .st-timeline::before {
        left: 20px;
    }

    .st-timeline-card {
        padding: 16px 18px;
        border-radius: 12px;
    }

    .st-timeline-title {
        font-size: 18px;
    }

    .st-check-row {
        font-size: 14px;
    }

    /* cities */
    .st-city-pill {
        flex: 1 1 100%;
    }

    .st-cities-head summary,
    .st-cities-card details > summary {
        gap: 12px;
    }

    /* buttons / links */
    .st-btn-accent,
    .st-calc-btn {
        width: 100%;
        justify-content: center;
    }

    .st-cta-wrap {
        text-align: center;
    }

    /* pagination */
    .mgm-pagination {
        gap: 6px;
    }

    .mgm-page-link,
    .mgm-page-current {
        min-width: 36px;
        height: 36px;
        padding: 0 10px;
        font-size: 13px;
        border-radius: 8px;
    }

    /* tables keep horizontal scroll */
    .st-table-card {
        border-radius: 12px;
    }

    .st-table thead th,
    .st-table tbody td {
        padding: 12px 14px;
        font-size: 14px;
    }

    .st-note {
        font-size: 13px;
        padding: 12px 14px;
    }
}

@media (max-width: 480px) {
    .st-h2 {
        font-size: 24px;
    }

    .st-breadcrumb {
        font-size: 12.5px;
        gap: 6px;
    }

    .st-eyebrow {
        font-size: 11px;
        letter-spacing: 2px;
    }

    .mmc-name-row {
        flex-wrap: wrap;
    }

    .mmc-btn-row {
        flex-direction: column;
    }

    .mgm-details-body {
        padding: 0 12px 12px;
    }

    .st-vs-card,
    .st-expect-card,
    .st-cities-card,
    .st-faq-card,
    .st-scams-card {
        padding: 18px;
        border-radius: 14px;
    }
}


/* ---- Company card responsive (scoped overrides for #explaination) ---- */

@media (max-width: 991px) {
    #explaination .bmf-sp-mid {
        padding: 0 16px;
        gap: 20px;
    }

    #explaination .bmf-sp-cta {
        width: 100%;
        flex-direction: row;
        padding-left: 0;
        padding-top: 20px;
        border-left: none;
        border-top: 1px solid #D5E5F3;
        gap: 14px;
    }
}

@media (max-width: 767px) {
    #explaination .bmf-sp-top {
        flex-direction: column;
        align-items: stretch;
        row-gap: 20px;
    }

    #explaination .bmf-sp-logo-box {
        width: 100%;
        min-height: 140px;
        padding: 16px;
        gap: 14px;
    }

    #explaination .bmf-sp-logo img {
        max-height: 80px;
    }

    #explaination .bmf-sp-mid {
        padding: 0;
        gap: 18px;
    }

    #explaination .bmf-sp-cta {
        flex-direction: column;
    }

    #explaination .bmf-sp-desc {
        max-width: 100%;
    }

    #explaination .bmf-sp-rating-pill {
        border: none;
        padding: 0;
        background: transparent;
        flex-wrap: nowrap;
    }

    #explaination .bmf-sp-rating-val {
        font-size: 13px;
        white-space: nowrap;
    }
}

@media (max-width: 480px) {
    #explaination .bmf-sp-stat {
        flex: 1 1 100%;
        min-height: auto;
        flex-direction: row;
        align-items: center;
        justify-content: space-between;
    }

    #explaination .bmf-sp-stat-label,
    #explaination .bmf-sp-stat-val {
        margin: 0;
    }

    #explaination .bmf-sp-name {
        font-size: 21px;
        line-height: 30px;
    }
}
