/* =========================================================
   VISIT MY PROFILE — PREMIUM RHYTHM & STABILITY V9
   Loaded last. Aligns navigation with page order, removes
   Resources reflow, compacts Platform, and balances the footer.
   ========================================================= */

:root {
    --vmp-v9-ink: #071735;
    --vmp-v9-blue: #1769ff;
    --vmp-v9-blue-deep: #0754e8;
    --vmp-v9-muted: #64728a;
    --vmp-v9-line: rgba(30, 80, 151, .12);
    --vmp-v9-section-space: 56px;
}

html,
body {
    overflow-x: clip;
    background: #f7faff;
}

body > div {
    background: #fff;
}

[data-vmp-anchor-heading] {
    scroll-margin-top: calc(var(--vmp-header-offset, 116px) + 18px) !important;
}

/* ---------- Navigation order and stable active state ---------- */

.vmp-v2-menu a[data-vmp-nav] {
    min-width: 88px;
}

.vmp-v2-menu a[data-vmp-nav].active {
    color: var(--vmp-v9-blue-deep) !important;
    border-color: rgba(23, 105, 255, .28) !important;
    background: linear-gradient(145deg, #fff, #edf5ff) !important;
    box-shadow: 0 8px 20px rgba(23, 105, 255, .10), inset 0 1px 0 #fff !important;
}

/* ---------- Consistent homepage rhythm ---------- */

.vmp-t2,
.vmp-f2,
.vmp-i2,
.vmp-p2 {
    padding-top: var(--vmp-v9-section-space) !important;
    padding-bottom: calc(var(--vmp-v9-section-space) - 8px) !important;
}

.vmp-t2-heading,
.vmp-f2-heading,
.vmp-i2-heading,
.vmp-p2-heading {
    margin-bottom: 44px !important;
}

.vmp-f2-grid {
    gap: 20px !important;
}

.vmp-f2-card-fallback {
    min-height: 220px !important;
    padding: 25px !important;
    gap: 20px !important;
}

.vmp-f2-fallback-icon {
    width: 54px !important;
    height: 54px !important;
    flex-basis: 54px !important;
}

.vmp-testimonials-v2 {
    padding: 78px 0 84px !important;
}

.vmp-testimonials-v2__heading {
    margin-bottom: 38px !important;
}

.vmp-contact-v2 {
    padding: 78px 0 !important;
}

.vmp-contact-v2 .vmp-contact-shell {
    gap: 38px !important;
    padding: clamp(32px, 4vw, 50px) !important;
}

/* ---------- Platform: denser proof-led product cards ---------- */

.vmp-i2-container {
    max-width: 1320px;
}

.vmp-i2-heading {
    max-width: 760px;
}

.vmp-i2-heading > p {
    margin-top: 16px !important;
}

.vmp-i2-stack {
    gap: 20px !important;
}

.vmp-i2-card,
.vmp-i2-card-reverse {
    min-height: 0 !important;
    grid-template-columns: minmax(0, 1.05fr) minmax(360px, .78fr) !important;
    gap: 22px !important;
    padding: 14px !important;
    border-radius: 27px !important;
    box-shadow: 0 18px 45px rgba(18, 55, 105, .075), inset 0 1px 0 #fff !important;
}

.vmp-i2-card-reverse {
    grid-template-columns: minmax(360px, .78fr) minmax(0, 1.05fr) !important;
}

.vmp-i2-media.vmp-v7-product-visual {
    height: 334px !important;
    min-height: 0 !important;
    aspect-ratio: auto !important;
    padding: clamp(17px, 1.8vw, 25px) !important;
    border-radius: 21px !important;
    background:
        radial-gradient(circle at 16% 12%, rgba(79, 148, 255, .23), transparent 32%),
        radial-gradient(circle at 88% 86%, rgba(23, 105, 255, .10), transparent 35%),
        linear-gradient(145deg, #edf5ff 0%, #fbfdff 53%, #e7f1ff 100%) !important;
}

.vmp-i2-media.vmp-v7-product-visual::before {
    background-size: 30px 30px !important;
}

.vmp-v7-window {
    width: min(100%, 560px) !important;
    border-color: rgba(23, 74, 149, .16) !important;
    box-shadow: 0 22px 48px rgba(25, 69, 133, .16), 0 4px 12px rgba(25, 69, 133, .06), inset 0 1px 0 #fff !important;
}

.vmp-v7-profile-layout {
    min-height: 224px !important;
}

.vmp-v7-profile-editor {
    padding: 20px 18px !important;
}

.vmp-v7-profile-preview {
    margin: 15px 15px 15px 0 !important;
    padding: 19px 10px !important;
}

.vmp-v7-share-window {
    gap: 17px !important;
    padding: 24px !important;
}

.vmp-v7-link-pill {
    margin: 16px 0 12px !important;
}

.vmp-v7-qr-card {
    padding: 13px !important;
}

.vmp-v7-qr-code {
    width: clamp(104px, 10vw, 142px) !important;
}

.vmp-v7-metric-grid {
    padding: 11px 13px 9px !important;
}

.vmp-v7-chart-panel {
    padding: 12px !important;
}

.vmp-v7-bars {
    height: 78px !important;
}

.vmp-i2-media-chip {
    left: 15px !important;
    bottom: 15px !important;
}

.vmp-i2-content,
.vmp-i2-card-reverse .vmp-i2-content {
    max-width: 500px;
    padding: 24px clamp(19px, 2.3vw, 34px) !important;
}

.vmp-i2-index {
    width: 40px !important;
    height: 40px !important;
    margin-bottom: 16px !important;
}

.vmp-i2-content h3 {
    margin-bottom: 11px !important;
    font-size: clamp(25px, 2.25vw, 32px) !important;
}

.vmp-i2-content > p {
    margin-bottom: 0 !important;
    color: var(--vmp-v9-muted) !important;
    font-size: 16px !important;
    line-height: 1.7 !important;
}

.vmp-i2-benefits {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-top: 20px;
}

.vmp-i2-benefits span {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    padding: 8px 10px;
    color: #355274;
    border: 1px solid rgba(23, 105, 255, .10);
    border-radius: 10px;
    background: #f4f8ff;
    font-size: 13px;
    font-weight: 720;
}

.vmp-i2-benefits i {
    display: grid;
    width: 16px;
    height: 16px;
    place-items: center;
    color: #fff;
    border-radius: 50%;
    background: var(--vmp-v9-blue);
    font-size: 7px;
}

.vmp-i2-meta {
    margin-top: 19px !important;
}

/* ---------- Stable, useful Resources page ---------- */

body.vmp-route-resources,
body.vmp-route-resources > div {
    background: #f7faff;
}

.vmp-route-resources .vmp-public-page,
.vmp-route-resources .vmp-page-hero,
.vmp-route-resources .vmp-page-body,
.vmp-route-resources .vmp-resource-hub {
    opacity: 1 !important;
    visibility: visible !important;
    transform: none !important;
    animation: none !important;
    transition: none !important;
}

.vmp-public-page {
    padding-top: var(--vmp-header-offset, 116px) !important;
}

.vmp-page-hero {
    padding: 70px 0 58px !important;
}

.vmp-page-hero h1 {
    max-width: 900px !important;
}

.vmp-page-body {
    padding-bottom: 74px !important;
}

.vmp-resource-page {
    min-height: 100vh;
}

.vmp-resource-hub {
    padding: 0 0 72px;
}

.vmp-resource-heading {
    display: flex;
    align-items: end;
    justify-content: space-between;
    gap: 40px;
    padding-bottom: 28px;
}

.vmp-resource-heading > div > span,
.vmp-resource-articles-heading > span {
    display: block;
    margin-bottom: 8px;
    color: var(--vmp-v9-blue-deep);
    font-size: 12px;
    font-weight: 820;
    letter-spacing: .14em;
    text-transform: uppercase;
}

.vmp-resource-heading h2,
.vmp-resource-articles-heading h2 {
    max-width: 650px;
    margin: 0;
    color: var(--vmp-v9-ink);
    font-size: clamp(27px, 3vw, 42px);
    font-weight: 790;
    line-height: 1.12;
    letter-spacing: -.035em;
}

.vmp-resource-heading > p {
    max-width: 440px;
    margin: 0;
    color: var(--vmp-v9-muted);
    font-size: 15.5px;
    line-height: 1.7;
}

.vmp-resource-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 18px;
}

.vmp-resource-card {
    position: relative;
    min-width: 0;
    padding: 27px;
    overflow: hidden;
    color: inherit;
    border: 1px solid var(--vmp-v9-line);
    border-radius: 22px;
    background:
        radial-gradient(circle at 95% 5%, rgba(23, 105, 255, .12), transparent 37%),
        linear-gradient(145deg, #fff, #f7faff);
    box-shadow: 0 17px 42px rgba(23, 68, 132, .075), inset 0 1px 0 #fff;
    text-decoration: none;
    transition: transform 180ms ease, border-color 180ms ease, box-shadow 180ms ease;
}

.vmp-resource-card:hover {
    color: inherit;
    border-color: rgba(23, 105, 255, .24);
    transform: translateY(-4px);
    box-shadow: 0 23px 50px rgba(23, 68, 132, .12), inset 0 1px 0 #fff;
}

.vmp-resource-icon {
    display: grid;
    width: 48px;
    height: 48px;
    margin-bottom: 24px;
    place-items: center;
    color: #fff;
    border-radius: 15px;
    background: linear-gradient(145deg, #2b82ff, #0756e8);
    box-shadow: 0 13px 27px rgba(23, 105, 255, .22), inset 0 1px 0 rgba(255, 255, 255, .30);
    font-size: 17px;
}

.vmp-resource-card small {
    color: #7d8ba0;
    font-size: 11.5px;
    font-weight: 800;
    letter-spacing: .12em;
    text-transform: uppercase;
}

.vmp-resource-card h3 {
    margin: 8px 0 10px;
    color: var(--vmp-v9-ink);
    font-size: 21px;
    font-weight: 760;
    line-height: 1.28;
    letter-spacing: -.02em;
}

.vmp-resource-card p {
    margin: 0;
    color: var(--vmp-v9-muted);
    font-size: 15px;
    line-height: 1.65;
}

.vmp-resource-card strong {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    margin-top: 20px;
    color: var(--vmp-v9-blue-deep);
    font-size: 14px;
    font-weight: 780;
}

.vmp-resource-support {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 30px;
    padding: 29px 32px;
    margin-top: 18px;
    color: #fff;
    border: 1px solid rgba(133, 186, 255, .30);
    border-radius: 22px;
    background:
        radial-gradient(circle at 86% 10%, rgba(90, 165, 255, .28), transparent 34%),
        linear-gradient(135deg, #0b3d83, #071b3e);
    box-shadow: 0 20px 48px rgba(4, 28, 66, .16), inset 0 1px 0 rgba(255, 255, 255, .12);
}

.vmp-resource-support span {
    color: #9bc8ff;
    font-size: 12px;
    font-weight: 800;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.vmp-resource-support h2 {
    margin: 8px 0 5px;
    color: #fff;
    font-size: clamp(21px, 2.2vw, 30px);
    letter-spacing: -.025em;
}

.vmp-resource-support p {
    margin: 0;
    color: #c7d8f1;
    font-size: 15px;
}

.vmp-resource-support-actions {
    display: flex;
    flex: 0 0 auto;
    gap: 9px;
}

.vmp-resource-support-actions a {
    padding: 12px 16px;
    color: #fff;
    border: 1px solid rgba(169, 208, 255, .25);
    border-radius: 11px;
    background: rgba(255, 255, 255, .07);
    font-size: 14px;
    font-weight: 750;
    text-decoration: none;
}

.vmp-resource-support-actions a:last-child {
    border-color: transparent;
    background: linear-gradient(145deg, #2b82ff, #0a5bea);
}

.vmp-resource-articles-heading {
    padding: 0 0 24px;
}

.vmp-resource-article-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 20px;
}

.vmp-resource-article-card {
    overflow: hidden;
    border: 1px solid var(--vmp-v9-line);
    border-radius: 21px;
    background: #fff;
    box-shadow: 0 17px 40px rgba(23, 68, 132, .075);
}

.vmp-resource-article-media {
    display: block;
    height: 210px;
    overflow: hidden;
    background: #edf4ff;
}

.vmp-resource-article-media img {
    width: 100%;
    height: 100%;
    border-radius: 0 !important;
    object-fit: cover;
}

.vmp-resource-article-copy {
    padding: 22px;
}

.vmp-resource-article-copy > span {
    color: #8793a5;
    font-size: 11.5px;
    font-weight: 750;
    letter-spacing: .09em;
    text-transform: uppercase;
}

.vmp-resource-article-copy h3 {
    margin: 8px 0 9px;
    font-size: 20px;
    line-height: 1.35;
}

.vmp-resource-article-copy h3 a {
    color: var(--vmp-v9-ink);
    text-decoration: none;
}

.vmp-resource-article-copy p {
    margin: 0;
    color: var(--vmp-v9-muted);
    font-size: 15px;
    line-height: 1.65;
}

.vmp-resource-article-link {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    margin-top: 16px;
    color: var(--vmp-v9-blue-deep);
    font-size: 14px;
    font-weight: 760;
    text-decoration: none;
}

.vmp-resource-empty {
    display: flex;
    align-items: center;
    gap: 18px;
    padding: 24px;
    border: 1px dashed rgba(23, 105, 255, .24);
    border-radius: 18px;
    background: rgba(255, 255, 255, .76);
}

.vmp-resource-empty > span {
    display: grid;
    width: 45px;
    height: 45px;
    flex: 0 0 45px;
    place-items: center;
    color: #fff;
    border-radius: 13px;
    background: var(--vmp-v9-blue);
}

.vmp-resource-empty h3,
.vmp-resource-empty p {
    margin: 0;
}

.vmp-resource-empty h3 {
    color: var(--vmp-v9-ink);
    font-size: 17px;
}

.vmp-resource-empty p {
    margin-top: 4px;
    color: var(--vmp-v9-muted);
    font-size: 15px;
}

/* ---------- Premium midnight footer, visually lighter ---------- */

.vmp-footer-v2 {
    padding-bottom: 24px !important;
    border-top-color: rgba(111, 173, 255, .27) !important;
    background:
        radial-gradient(circle at 8% 16%, rgba(43, 128, 255, .24), transparent 27%),
        radial-gradient(circle at 94% 88%, rgba(39, 126, 255, .18), transparent 30%),
        linear-gradient(145deg, #061832 0%, #092552 48%, #0b3a76 100%) !important;
}

.vmp-footer-v2::before {
    opacity: .20 !important;
}

.vmp-footer-cta {
    gap: 28px !important;
    padding: 29px 34px !important;
    margin-bottom: 38px !important;
    border-radius: 0 0 23px 23px !important;
    background:
        radial-gradient(circle at 88% 12%, rgba(116, 184, 255, .18), transparent 32%),
        linear-gradient(135deg, rgba(18, 76, 158, .72), rgba(8, 42, 91, .74)) !important;
    box-shadow: 0 18px 48px rgba(0, 8, 25, .18), inset 0 1px 0 rgba(255, 255, 255, .10) !important;
}

.vmp-footer-cta-kicker {
    margin-bottom: 7px !important;
    font-size: 12px !important;
}

.vmp-footer-cta h2 {
    font-size: clamp(25px, 2.25vw, 34px) !important;
}

.vmp-footer-cta p {
    margin-top: 9px !important;
    font-size: 15px !important;
}

.vmp-footer-v2 .vmp-footer-button {
    min-height: 45px !important;
    padding: 11px 17px !important;
    font-size: 14px !important;
}

.vmp-footer-grid {
    grid-template-columns: minmax(300px, 1.18fr) minmax(155px, .56fr) minmax(260px, .82fr) !important;
    gap: clamp(30px, 5vw, 70px) !important;
    padding-bottom: 35px !important;
}

.vmp-footer-brand {
    padding: 22px !important;
    border-radius: 20px !important;
    background: linear-gradient(145deg, rgba(255, 255, 255, .060), rgba(255, 255, 255, .018)) !important;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, .07), 0 16px 42px rgba(0, 7, 22, .12) !important;
}

.vmp-footer-logo-shell {
    padding: 9px 12px !important;
    margin-bottom: 17px !important;
    border-radius: 15px !important;
}

.vmp-footer-logo-shell .vmp-footer-logo {
    width: 166px !important;
}

.vmp-footer-v2 .vmp-footer-brand > p {
    font-size: 14.5px !important;
    line-height: 1.65 !important;
}

.vmp-footer-column {
    padding-top: 7px !important;
}

.vmp-footer-v2 h3 {
    margin-bottom: 18px !important;
    font-size: 13px !important;
}

.vmp-footer-v2 h3::after {
    margin-top: 8px !important;
}

.vmp-footer-links {
    gap: 10px !important;
}

.vmp-footer-links a,
.vmp-footer-links span {
    font-size: 14.5px !important;
    line-height: 1.52 !important;
}

.vmp-footer-social {
    margin-top: 18px !important;
}

.vmp-footer-social a {
    width: 38px !important;
    height: 38px !important;
}

.vmp-footer-bottom {
    padding-top: 18px !important;
    font-size: 13.5px !important;
}

@media (max-width: 1199px) {
    :root {
        --vmp-v9-section-space: 52px;
    }

    .vmp-i2-card,
    .vmp-i2-card-reverse {
        grid-template-columns: minmax(0, 1fr) minmax(320px, .8fr) !important;
    }

    .vmp-i2-card-reverse {
        grid-template-columns: minmax(320px, .8fr) minmax(0, 1fr) !important;
    }
}

@media (max-width: 991px) {
    :root {
        --vmp-v9-section-space: 46px;
    }

    .vmp-v2-menu a[data-vmp-nav] {
        min-width: 0;
    }

    .vmp-i2-card,
    .vmp-i2-card-reverse {
        grid-template-columns: 1fr !important;
    }

    .vmp-i2-media.vmp-v7-product-visual {
        height: 350px !important;
    }

    .vmp-i2-content,
    .vmp-i2-card-reverse .vmp-i2-content {
        max-width: none;
        padding: 22px 24px 27px !important;
    }

    .vmp-resource-grid,
    .vmp-resource-article-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .vmp-resource-grid .vmp-resource-card:last-child,
    .vmp-resource-article-grid .vmp-resource-article-card:last-child:nth-child(odd) {
        grid-column: 1 / -1;
    }

    .vmp-footer-grid {
        grid-template-columns: minmax(0, 1.1fr) minmax(150px, .55fr) !important;
    }
}

@media (max-width: 767px) {
    :root {
        --vmp-v9-section-space: 42px;
    }

    .vmp-t2-heading,
    .vmp-f2-heading,
    .vmp-i2-heading,
    .vmp-p2-heading {
        margin-bottom: 34px !important;
    }

    .vmp-i2-media.vmp-v7-product-visual {
        height: auto !important;
        min-height: 320px !important;
    }

    .vmp-page-hero {
        padding: 54px 0 44px !important;
    }

    .vmp-resource-heading,
    .vmp-resource-support {
        align-items: flex-start;
        flex-direction: column;
        gap: 18px;
    }

    .vmp-resource-grid,
    .vmp-resource-article-grid {
        grid-template-columns: 1fr;
    }

    .vmp-resource-grid .vmp-resource-card:last-child,
    .vmp-resource-article-grid .vmp-resource-article-card:last-child:nth-child(odd) {
        grid-column: auto;
    }

    .vmp-resource-support-actions {
        width: 100%;
        flex-wrap: wrap;
    }

    .vmp-resource-support-actions a {
        flex: 1 1 150px;
        text-align: center;
    }

    .vmp-footer-cta {
        padding: 27px 24px !important;
        margin-bottom: 32px !important;
    }

    .vmp-footer-grid {
        grid-template-columns: 1fr !important;
        gap: 26px !important;
    }
}

@media (max-width: 575px) {
    :root {
        --vmp-v9-section-space: 38px;
    }

    .vmp-f2-card-fallback {
        min-height: 0 !important;
    }

    .vmp-i2-card,
    .vmp-i2-card-reverse {
        padding: 9px !important;
    }

    .vmp-i2-content,
    .vmp-i2-card-reverse .vmp-i2-content {
        padding: 20px 14px 23px !important;
    }

    .vmp-i2-benefits {
        align-items: stretch;
        flex-direction: column;
    }

    .vmp-resource-card,
    .vmp-resource-support {
        padding: 23px;
    }

    .vmp-resource-article-media {
        height: 190px;
    }

    .vmp-footer-brand {
        padding: 19px !important;
    }
}

@media (prefers-reduced-motion: reduce) {
    .vmp-resource-card,
    .vmp-resource-support,
    .vmp-i2-card,
    .vmp-footer-v2 * {
        transition-duration: .01ms !important;
    }
}
