/* =========================================================
   VISIT MY PROFILE — STAGING LAUNCH CLEANUP V6
   Loaded last so it can safely normalize earlier theme rules.
   ========================================================= */

:root {
    --vmp-layout-ink: #071735;
    --vmp-layout-blue: #1266f1;
    --vmp-layout-muted: #5c6981;
    --vmp-header-offset: 110px;
}

html {
    scroll-behavior: auto;
    scroll-padding-top: var(--vmp-header-offset);
}

body {
    overflow-x: clip;
}

#frontHomeTab,
#frontFeaturesTab,
#frontAboutTabUsTab,
#frontPricingTab,
#frontContactUsTab {
    scroll-margin-top: var(--vmp-header-offset) !important;
}

/* ---------- Stable glass header ---------- */

.vmp-v2-header {
    top: 16px !important;
    transform: none !important;
    transition: filter 220ms ease !important;
}

.vmp-v2-header.is-scrolled {
    top: 0 !important;
    padding: 9px 0;
    background: rgba(247, 250, 255, .96);
    box-shadow: 0 1px 0 rgba(39, 91, 164, .08);
    backdrop-filter: blur(18px);
    -webkit-backdrop-filter: blur(18px);
}

.vmp-v2-nav,
.vmp-v2-header.is-scrolled .vmp-v2-nav {
    min-height: 74px !important;
    height: 74px !important;
    padding-top: 0 !important;
    padding-bottom: 0 !important;
    transition:
        background-color 220ms ease,
        border-color 220ms ease,
        box-shadow 220ms ease !important;
}

.vmp-v2-header.is-scrolled .vmp-v2-nav {
    box-shadow:
        0 16px 42px rgba(26, 74, 145, .14),
        0 4px 14px rgba(23, 105, 255, .045),
        inset 0 1px 0 #fff !important;
}

.vmp-v2-menu a {
    min-width: 82px;
    justify-content: center;
    text-align: center;
}

.vmp-v2-menu a::after {
    display: none !important;
}

.vmp-v2-menu a.active {
    transform: none !important;
}

/* ---------- Section rhythm and heading safety ---------- */

.vmp-f2,
.vmp-i2,
.vmp-p2 {
    overflow: clip !important;
}

.vmp-f2,
.vmp-i2 {
    padding-top: 62px !important;
    padding-bottom: 76px !important;
}

.vmp-p2 {
    padding-top: 62px !important;
    padding-bottom: 76px !important;
}

.vmp-f2-heading,
.vmp-i2-heading,
.vmp-p2 .vmp-p2-heading {
    position: relative;
    z-index: 3;
    margin-bottom: 46px !important;
}

.vmp-f2-heading h2,
.vmp-i2-heading h2,
.vmp-p2 .vmp-p2-heading h2 {
    text-wrap: balance;
}

.vmp-p2 .vmp-p2-heading h2::before,
.vmp-p2 .vmp-p2-heading h2::after,
.vmp-p2 .section-heading h2::before,
.vmp-p2 .section-heading h2::after {
    display: none !important;
    width: 0 !important;
    content: none !important;
}

/* ---------- Feature cards: remove the artificial empty middle ---------- */

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

.vmp-f2-card-fallback {
    min-height: 280px !important;
    height: 100%;
    justify-content: flex-start !important;
    gap: 30px;
    padding: 30px !important;
}

.vmp-f2-fallback-icon {
    flex: 0 0 64px;
    width: 64px !important;
    height: 64px !important;
    margin: 0 !important;
}

.vmp-f2-card-fallback .vmp-f2-content {
    padding: 0 !important;
}

.vmp-f2-card-fallback .vmp-f2-content h3 {
    margin-bottom: 12px !important;
    font-size: 19px;
}

.vmp-f2-card-fallback .vmp-f2-description {
    max-width: 34rem;
    font-size: 13.5px;
    line-height: 1.7;
}

/* ---------- Interface panels: contain artwork and protect copy ---------- */

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

.vmp-i2-card,
.vmp-i2-card-reverse {
    grid-template-columns: minmax(0, .94fr) minmax(0, 1.06fr) !important;
    align-items: center !important;
    gap: clamp(28px, 3vw, 52px) !important;
    overflow: hidden;
    padding: 18px !important;
}

.vmp-i2-card-reverse {
    grid-template-columns: minmax(0, 1.06fr) minmax(0, .94fr) !important;
}

.vmp-i2-media-wrap,
.vmp-i2-content {
    min-width: 0;
}

.vmp-i2-media-wrap {
    max-width: 100%;
    overflow: hidden;
    border-radius: 24px;
}

.vmp-i2-media,
.vmp-i2-media-illustration {
    width: 100%;
    height: clamp(330px, 26vw, 430px) !important;
    min-height: 0 !important;
    aspect-ratio: auto !important;
}

.vmp-i2-media-illustration img,
.vmp-i2-media img {
    max-width: 100%;
    max-height: 100%;
    object-fit: contain !important;
    object-position: center !important;
}

.vmp-i2-content,
.vmp-i2-card-reverse .vmp-i2-content {
    position: relative;
    z-index: 2;
    padding: clamp(20px, 3vw, 44px) !important;
}

.vmp-i2-content h3 {
    max-width: 620px;
    font-size: clamp(25px, 2.2vw, 34px) !important;
    text-wrap: balance;
}

.vmp-i2-content > p {
    max-width: 610px;
    font-size: 15px !important;
}

/* ---------- Pricing alignment ---------- */

.vmp-p2 .vmp-p2-heading {
    max-width: 920px !important;
}

.vmp-p2 .vmp-p2-eyebrow {
    margin-bottom: 16px !important;
}

.vmp-p2 .vmp-p2-subtitle {
    margin-top: 20px !important;
}

.vmp-p2 .vmp-p2-grid {
    gap: 24px !important;
}

/* ---------- Contact and footer spacing ---------- */

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

.vmp-contact-v2 .vmp-contact-shell {
    align-items: center;
    gap: clamp(36px, 4vw, 64px) !important;
}

.vmp-contact-v2 .contact-form {
    margin: 0;
}

.vmp-footer-v2 {
    padding-top: 68px !important;
}

.vmp-footer-logo-shell {
    display: inline-flex;
    margin-bottom: 22px;
    padding: 14px 18px;
    align-items: center;
    border: 1px solid rgba(255, 255, 255, .2);
    border-radius: 18px;
    background: #fff;
    box-shadow: 0 18px 44px rgba(0, 0, 0, .2);
}

.vmp-footer-logo-shell .vmp-footer-logo {
    width: 230px;
    max-width: 100%;
    margin: 0;
}

.vmp-footer-v2 > .container {
    width: min(100% - 48px, 1440px) !important;
    max-width: 1440px !important;
    margin-inline: auto !important;
}

.vmp-footer-grid {
    grid-template-columns: minmax(0, 1.35fr) minmax(170px, .55fr) minmax(300px, .85fr) !important;
    gap: clamp(32px, 4vw, 68px) !important;
}

.vmp-footer-grid > * {
    min-width: 0;
}

.vmp-footer-links a,
.vmp-footer-links span,
.vmp-footer-v2 p {
    overflow-wrap: anywhere;
}

/* ---------- Public Resources and policy pages ---------- */

.vmp-public-page {
    min-height: 0 !important;
    padding-top: var(--vmp-header-offset) !important;
}

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

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

.vmp-rich-content > :first-child {
    margin-top: 0 !important;
}

.vmp-rich-content h2,
.vmp-rich-content h3 {
    text-wrap: balance;
}

.vmp-resource-empty {
    display: grid;
    max-width: 880px;
    margin: 0 auto;
    padding: clamp(34px, 5vw, 58px);
    place-items: center;
    border: 1px solid #dfe8f6;
    border-radius: 28px;
    color: var(--vmp-layout-muted);
    background:
        radial-gradient(circle at 100% 0, rgba(18, 102, 241, .12), transparent 46%),
        linear-gradient(145deg, #fff, #f6f9ff);
    box-shadow: 0 22px 54px rgba(20, 67, 136, .09);
    text-align: center;
}

.vmp-resource-empty-icon {
    display: grid;
    width: 62px;
    height: 62px;
    margin-bottom: 22px;
    place-items: center;
    border-radius: 20px;
    color: #fff;
    background: linear-gradient(145deg, #0754e8, #2b7cff);
    box-shadow: 0 14px 30px rgba(18, 102, 241, .24);
    font-size: 24px;
}

.vmp-resource-empty h2 {
    margin: 0 0 12px;
    color: var(--vmp-layout-ink);
    font-size: clamp(26px, 3vw, 38px);
    font-weight: 780;
    letter-spacing: -.035em;
}

.vmp-resource-empty p {
    max-width: 620px;
    margin: 0;
    font-size: 16px;
    line-height: 1.7;
}

.vmp-resource-empty-actions {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 12px;
    margin-top: 26px;
}

.vmp-resource-empty-actions a {
    display: inline-flex;
    min-height: 46px;
    padding: 0 18px;
    align-items: center;
    justify-content: center;
    border: 1px solid #d7e3f5;
    border-radius: 13px;
    color: #17375f;
    background: #fff;
    font-size: 13px;
    font-weight: 700;
    text-decoration: none;
}

.vmp-resource-empty-actions a:first-child {
    border-color: transparent;
    color: #fff;
    background: linear-gradient(135deg, #0754e8, #2b7cff);
    box-shadow: 0 12px 26px rgba(18, 102, 241, .2);
}

/* ---------- Motion restraint ---------- */

.vmp-f2-heading,
.vmp-f2-card,
.vmp-i2-heading,
.vmp-i2-card,
.vmp-p2 .vmp-p2-heading,
.vmp-p2 .vmp-p2-card {
    animation-duration: 560ms !important;
    animation-delay: 0ms !important;
}

@media (max-width: 1199.98px) {
    :root {
        --vmp-header-offset: 112px;
    }

    .vmp-v2-header {
        top: 12px !important;
    }

    .vmp-v2-header.is-scrolled {
        top: 0 !important;
        padding: 8px 0;
    }

    .vmp-v2-nav,
    .vmp-v2-header.is-scrolled .vmp-v2-nav {
        min-height: 68px !important;
        height: 68px !important;
    }

    .vmp-v2-menu a {
        min-width: 0;
    }

    .vmp-i2-media,
    .vmp-i2-media-illustration {
        height: clamp(300px, 34vw, 390px) !important;
    }

    .vmp-footer-grid {
        grid-template-columns: minmax(0, 1.1fr) minmax(160px, .55fr) minmax(260px, .9fr) !important;
        gap: 32px !important;
    }
}

@media (max-width: 991.98px) {
    .vmp-footer-grid {
        grid-template-columns: 1fr !important;
    }
}

@media (max-width: 767.98px) {
    :root {
        --vmp-header-offset: 98px;
    }

    .vmp-v2-nav,
    .vmp-v2-header.is-scrolled .vmp-v2-nav {
        min-height: 62px !important;
        height: 62px !important;
    }

    .vmp-f2,
    .vmp-i2,
    .vmp-p2 {
        padding-top: 54px !important;
        padding-bottom: 64px !important;
    }

    .vmp-f2-card-fallback {
        min-height: 0 !important;
        gap: 24px;
        padding: 24px !important;
    }

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

    .vmp-i2-card-reverse .vmp-i2-media-wrap,
    .vmp-i2-card-reverse .vmp-i2-content {
        order: initial !important;
    }

    .vmp-i2-media,
    .vmp-i2-media-illustration {
        height: auto !important;
        min-height: 0 !important;
        aspect-ratio: 1.35 / 1 !important;
    }

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

    .vmp-page-hero {
        padding: 40px 0 48px !important;
    }

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

@media (max-width: 575.98px) {
    .vmp-v2-brand img {
        max-width: 142px !important;
        max-height: 40px !important;
    }

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

    .vmp-resource-empty-actions {
        flex-direction: column;
        width: 100%;
    }

    .vmp-resource-empty-actions a {
        width: 100%;
    }
}

@media (prefers-reduced-motion: reduce) {
    html {
        scroll-behavior: auto !important;
    }

    *,
    *::before,
    *::after {
        animation-duration: .01ms !important;
        animation-iteration-count: 1 !important;
        scroll-behavior: auto !important;
        transition-duration: .01ms !important;
    }
}
