/* =========================================================
   VISIT MY PROFILE — PREMIUM LAYOUT & READABILITY V10
   Loaded last. Restores readable typography, removes excess
   section height, rebuilds Platform as a balanced product
   bento, and keeps Resources static from the first paint.
   ========================================================= */

:root {
    --vmp-v10-ink: #071735;
    --vmp-v10-blue: #1769ff;
    --vmp-v10-blue-deep: #0754e8;
    --vmp-v10-copy: #52627a;
    --vmp-v10-muted: #718097;
    --vmp-v10-line: rgba(24, 76, 151, .12);
    --vmp-v10-section-space: 56px;
}

html {
    scroll-behavior: smooth;
}

body {
    color: var(--vmp-v10-ink);
    font-size: 16px !important;
    line-height: 1.65;
}

.vmp-v2-menu a[data-vmp-nav],
.vmp-v2-signin,
.vmp-v2-create {
    font-size: 15px !important;
}

/* ---------- Readable, deliberate homepage rhythm ---------- */

.vmp-t2,
.vmp-f2,
.vmp-i2,
.vmp-p2,
.vmp-testimonials-v2,
.vmp-contact-v2 {
    min-height: 0 !important;
}

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

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

.vmp-t2-eyebrow,
.vmp-f2-eyebrow,
.vmp-i2-eyebrow,
.vmp-p2 .vmp-p2-eyebrow {
    font-size: 13px !important;
}

.vmp-t2-heading h2,
.vmp-f2-heading h2,
.vmp-i2-heading h2,
.vmp-p2 .vmp-p2-heading h2 {
    font-size: clamp(42px, 4vw, 60px) !important;
    line-height: 1.05 !important;
}

.vmp-t2-heading > p,
.vmp-f2-heading > p,
.vmp-i2-heading > p,
.vmp-p2 .vmp-p2-subtitle {
    max-width: 720px;
    margin-top: 17px !important;
    font-size: 17px !important;
    line-height: 1.68 !important;
}

/* Template and Solutions copy was visibly undersized in V9. */

.vmp-t2-categories span {
    padding: 10px 15px !important;
    font-size: 13px !important;
}

.vmp-t2-card-meta small,
.vmp-t2-card-meta span,
.vmp-t2-footer-note,
.vmp-t2-explore {
    font-size: 14px !important;
}

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

.vmp-f2-card-fallback {
    min-height: 250px !important;
    padding: 28px !important;
}

.vmp-f2-content h3 {
    font-size: 21px !important;
    line-height: 1.3 !important;
}

.vmp-f2-description,
.vmp-f2-description p {
    font-size: 15.5px !important;
    line-height: 1.68 !important;
}

/* ---------- Platform rebuilt as a compact product bento ---------- */

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

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

.vmp-i2-stack {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 24px !important;
}

.vmp-i2-card,
.vmp-i2-card-reverse {
    display: flex !important;
    min-height: 0 !important;
    flex-direction: column !important;
    align-items: stretch !important;
    gap: 0 !important;
    padding: 12px !important;
    overflow: hidden;
    border: 1px solid var(--vmp-v10-line) !important;
    border-radius: 28px !important;
    background: linear-gradient(145deg, #fff 0%, #f8fbff 100%) !important;
    box-shadow: 0 20px 50px rgba(18, 55, 105, .085), inset 0 1px 0 #fff !important;
}

.vmp-i2-card:first-child {
    display: grid !important;
    grid-column: 1 / -1;
    grid-template-columns: minmax(0, 1.08fr) minmax(380px, .92fr) !important;
    align-items: center !important;
    gap: 18px !important;
}

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

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

.vmp-i2-media.vmp-v7-product-visual {
    height: 300px !important;
    min-height: 0 !important;
    padding: 22px !important;
    border-radius: 21px !important;
}

.vmp-i2-card:first-child .vmp-i2-media.vmp-v7-product-visual {
    height: 352px !important;
}

.vmp-v7-window {
    width: min(100%, 590px) !important;
}

.vmp-i2-content,
.vmp-i2-card-reverse .vmp-i2-content {
    max-width: none !important;
    padding: 30px 28px 28px !important;
}

.vmp-i2-card:first-child .vmp-i2-content {
    padding: 38px 42px 38px 30px !important;
}

.vmp-i2-index {
    width: 44px !important;
    height: 44px !important;
    margin-bottom: 18px !important;
    font-size: 13px !important;
}

.vmp-i2-content h3 {
    margin-bottom: 13px !important;
    font-size: clamp(28px, 2.4vw, 36px) !important;
    line-height: 1.14 !important;
}

.vmp-i2-card:not(:first-child) .vmp-i2-content h3 {
    font-size: clamp(25px, 2vw, 31px) !important;
}

.vmp-i2-content > p {
    color: var(--vmp-v10-copy) !important;
    font-size: 16px !important;
    line-height: 1.72 !important;
}

.vmp-i2-benefits {
    gap: 10px !important;
    margin-top: 22px !important;
}

.vmp-i2-benefits span {
    gap: 8px !important;
    padding: 9px 12px !important;
    color: #294c75 !important;
    font-size: 13px !important;
    line-height: 1.35;
}

.vmp-i2-benefits i {
    width: 18px !important;
    height: 18px !important;
    font-size: 8px !important;
}

.vmp-i2-meta {
    gap: 10px !important;
    margin-top: 20px !important;
    font-size: 12.5px !important;
}

.vmp-i2-media-chip small {
    font-size: 12px !important;
}

/* Restore readable pricing copy without increasing card height. */

.vmp-p2 .pricing-card .card-title {
    font-size: 21px !important;
}

.vmp-p2 .pricing-card .price {
    font-size: clamp(34px, 3.2vw, 48px) !important;
}

.vmp-p2 .pricing-card .btn,
.vmp-p2 .vmp-p2-features li,
.vmp-p2 .customSelect {
    font-size: 14.5px !important;
}

.vmp-p2 .vmp-p2-features {
    margin-bottom: 28px !important;
}

/* Testimonials and contact should read as content, not fine print. */

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

.vmp-testimonials-v2 p,
.vmp-testimonials-v2 blockquote,
.vmp-testimonials-v2__card p {
    font-size: 16px !important;
    line-height: 1.7 !important;
}

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

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

.vmp-contact-v2 p,
.vmp-contact-list a,
.vmp-contact-list span,
.vmp-contact-v2 input,
.vmp-contact-v2 textarea,
.vmp-contact-v2 button {
    font-size: 15.5px !important;
}

/* ---------- Resources: static first paint, no dynamic reflow ---------- */

html.vmp-resource-shell-ready,
html.vmp-resource-shell-ready body,
body.vmp-route-resources,
body.vmp-route-resources > div {
    min-height: 100%;
    background: #f7faff !important;
}

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

.vmp-route-resources .vmp-public-page,
.vmp-route-resources .vmp-resource-page {
    min-height: 0 !important;
    padding-top: var(--vmp-header-offset, 116px) !important;
}

.vmp-route-resources .vmp-page-hero {
    min-height: 0 !important;
    padding: 58px 0 46px !important;
}

.vmp-route-resources .vmp-page-hero h1 {
    margin-bottom: 16px !important;
    font-size: clamp(42px, 5vw, 64px) !important;
}

.vmp-route-resources .vmp-page-hero p {
    font-size: 17px !important;
}

.vmp-resource-hub {
    padding: 0 0 58px !important;
}

.vmp-resource-heading {
    padding-bottom: 25px !important;
}

.vmp-resource-heading > div > span,
.vmp-resource-articles-heading > span {
    font-size: 12px !important;
}

.vmp-resource-heading h2,
.vmp-resource-articles-heading h2 {
    font-size: clamp(30px, 3vw, 44px) !important;
}

.vmp-resource-heading > p {
    font-size: 15.5px !important;
}

.vmp-resource-card {
    padding: 29px !important;
}

.vmp-resource-card small,
.vmp-resource-article-copy > span {
    font-size: 11.5px !important;
}

.vmp-resource-card h3 {
    font-size: 21px !important;
}

.vmp-resource-card p,
.vmp-resource-support p,
.vmp-resource-article-copy p,
.vmp-resource-empty p {
    font-size: 15px !important;
}

.vmp-resource-card strong,
.vmp-resource-support-actions a,
.vmp-resource-article-link {
    font-size: 14px !important;
}

.vmp-resource-support span {
    font-size: 12px !important;
}

.vmp-resource-support h2 {
    font-size: clamp(24px, 2.2vw, 32px) !important;
}

.vmp-resource-articles {
    padding-bottom: 64px !important;
}

.vmp-resource-article-copy h3 {
    font-size: 20px !important;
}

/* ---------- Footer stays premium, but no longer reads as fine print ---------- */

.vmp-footer-v2 {
    padding-bottom: 26px !important;
}

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

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

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

.vmp-footer-v2 .vmp-footer-button {
    min-height: 48px !important;
    font-size: 14px !important;
}

.vmp-footer-grid {
    gap: clamp(34px, 5vw, 68px) !important;
    padding-bottom: 38px !important;
}

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

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

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

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

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

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

    .vmp-i2-card:first-child {
        grid-template-columns: minmax(0, 1fr) minmax(330px, .9fr) !important;
    }
}

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

    .vmp-i2-stack {
        grid-template-columns: 1fr;
    }

    .vmp-i2-card:first-child {
        grid-column: auto;
        grid-template-columns: 1fr !important;
    }

    .vmp-i2-card:first-child .vmp-i2-media.vmp-v7-product-visual,
    .vmp-i2-media.vmp-v7-product-visual {
        height: 330px !important;
    }

    .vmp-i2-card:first-child .vmp-i2-content,
    .vmp-i2-content,
    .vmp-i2-card-reverse .vmp-i2-content {
        padding: 28px 26px 30px !important;
    }
}

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

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

    .vmp-t2-heading h2,
    .vmp-f2-heading h2,
    .vmp-i2-heading h2,
    .vmp-p2 .vmp-p2-heading h2 {
        font-size: clamp(35px, 10vw, 47px) !important;
    }

    .vmp-route-resources .vmp-page-hero {
        padding: 45px 0 38px !important;
    }

    .vmp-resource-heading,
    .vmp-resource-support {
        gap: 20px !important;
    }
}

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

    .vmp-i2-card,
    .vmp-i2-card-reverse {
        padding: 8px !important;
        border-radius: 22px !important;
    }

    .vmp-i2-card:first-child .vmp-i2-media.vmp-v7-product-visual,
    .vmp-i2-media.vmp-v7-product-visual {
        height: auto !important;
        min-height: 300px !important;
        padding: 14px !important;
    }

    .vmp-i2-card:first-child .vmp-i2-content,
    .vmp-i2-content,
    .vmp-i2-card-reverse .vmp-i2-content {
        padding: 24px 18px 26px !important;
    }

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

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

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