:root {
    --vmp-ink: #071735;
    --vmp-blue: #1266f1;
    --vmp-blue-deep: #0b49c1;
    --vmp-muted: #5c6981;
    --vmp-line: #dfe8f6;
    --vmp-surface: #f5f9ff;
}

html {
    scroll-padding-top: 126px;
}

#frontHomeTab,
#frontFeaturesTab,
#frontAboutTabUsTab,
#frontPricingTab,
#frontContactUsTab {
    scroll-margin-top: 126px;
}

.vmp-f2-card-fallback {
    display: flex;
    min-height: 330px;
    flex-direction: column;
    justify-content: space-between;
    padding: 34px;
    border: 1px solid #dce8fb;
    border-radius: 28px;
    background:
        radial-gradient(circle at 100% 0, rgba(18, 102, 241, .14), transparent 46%),
        linear-gradient(150deg, #fff 0, #f4f8ff 100%);
    box-shadow: 0 22px 54px rgba(20, 67, 136, .1);
}

.vmp-f2-fallback-icon {
    display: grid;
    width: 66px;
    height: 66px;
    margin-bottom: 42px;
    place-items: center;
    border-radius: 21px;
    color: #fff;
    background: linear-gradient(145deg, #0754e8, #2b7cff);
    box-shadow: 0 16px 32px rgba(18, 102, 241, .26);
    font-size: 26px;
}

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

.vmp-f2-card-fallback .vmp-f2-content h3 {
    margin-bottom: 14px;
}

.vmp-i2-media-illustration {
    display: grid;
    min-height: 500px;
    place-items: center;
    overflow: hidden;
    background: linear-gradient(145deg, #edf5ff, #f8fbff);
}

.vmp-i2-media-illustration img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.vmp-public-page {
    min-height: 60vh;
    color: var(--vmp-ink);
    background:
        radial-gradient(circle at 88% 4%, rgba(18, 102, 241, .13), transparent 28rem),
        linear-gradient(180deg, #f7faff 0, #fff 28rem);
}

.vmp-page-hero {
    padding: 190px 0 72px;
    text-align: center;
}

.vmp-page-eyebrow {
    display: inline-flex;
    align-items: center;
    gap: 9px;
    margin-bottom: 18px;
    padding: 8px 14px;
    border: 1px solid #cfe0fb;
    border-radius: 999px;
    color: var(--vmp-blue-deep);
    background: rgba(255, 255, 255, .8);
    font-size: 13px;
    font-weight: 700;
    letter-spacing: .02em;
}

.vmp-page-eyebrow::before {
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: var(--vmp-blue);
    box-shadow: 0 0 0 5px rgba(18, 102, 241, .1);
    content: "";
}

.vmp-page-hero h1 {
    max-width: 850px;
    margin: 0 auto 18px;
    color: var(--vmp-ink);
    font-size: clamp(42px, 6vw, 72px);
    font-weight: 800;
    line-height: 1.03;
    letter-spacing: -.045em;
}

.vmp-page-hero p {
    max-width: 700px;
    margin: 0 auto;
    color: var(--vmp-muted);
    font-size: 18px;
    line-height: 1.75;
}

.vmp-page-body {
    padding: 0 0 96px;
}

.vmp-content-panel,
.vmp-public-page .accordion-item,
.vmp-template-card {
    border: 1px solid var(--vmp-line);
    border-radius: 24px;
    background: rgba(255, 255, 255, .96);
    box-shadow: 0 18px 50px rgba(23, 68, 132, .08);
}

.vmp-content-panel {
    padding: clamp(26px, 5vw, 58px);
}

.vmp-rich-content {
    color: #34415a;
    font-size: 17px;
    line-height: 1.8;
}

.vmp-rich-content h1,
.vmp-rich-content h2,
.vmp-rich-content h3 {
    margin-top: 1.4em;
    color: var(--vmp-ink);
}

.vmp-public-page .accordion-item {
    overflow: hidden;
    margin-bottom: 16px;
}

.vmp-public-page .accordion-button {
    padding: 22px 24px;
    color: var(--vmp-ink);
    background: #fff;
    font-size: 17px;
    font-weight: 700;
    box-shadow: none;
}

.vmp-public-page .accordion-button:not(.collapsed) {
    color: var(--vmp-blue-deep);
    background: #f2f7ff;
}

.vmp-public-page .accordion-body {
    padding: 22px 24px;
    color: var(--vmp-muted);
    line-height: 1.75;
}

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

.vmp-template-card {
    position: relative;
    overflow: hidden;
    padding: 14px 14px 20px;
}

.vmp-template-card img {
    display: block;
    width: 100%;
    height: 460px;
    border-radius: 16px;
    background: #edf4ff;
    object-fit: cover;
    object-position: top center;
}

.vmp-template-card h2 {
    margin: 18px 8px 0;
    color: var(--vmp-ink);
    font-size: 18px;
    text-align: center;
}

.vmp-template-badge {
    position: absolute;
    top: 24px;
    right: 24px;
    z-index: 2;
    padding: 7px 11px;
    border-radius: 999px;
    color: #fff;
    background: var(--vmp-blue);
    font-size: 12px;
    font-weight: 700;
}

.vmp-blog-image {
    width: 100%;
    max-height: 560px;
    margin-bottom: 32px;
    border-radius: 20px;
    object-fit: cover;
}

.vmp-blog-meta {
    display: flex;
    justify-content: center;
    gap: 24px;
    margin-top: 22px;
    color: var(--vmp-muted);
    font-size: 14px;
}

.vmp-empty-state {
    padding: 44px 20px;
    color: var(--vmp-muted);
    text-align: center;
}

.vmp-contact-v2 {
    padding: 100px 0;
    background: #f5f9ff;
}

.vmp-contact-v2 .vmp-contact-shell {
    display: grid;
    grid-template-columns: .9fr 1.1fr;
    gap: 48px;
    padding: clamp(30px, 5vw, 62px);
    border: 1px solid var(--vmp-line);
    border-radius: 32px;
    background: #fff;
    box-shadow: 0 24px 70px rgba(23, 68, 132, .1);
}

.vmp-contact-v2 h2 {
    margin-bottom: 18px;
    color: var(--vmp-ink);
    font-size: clamp(36px, 5vw, 58px);
    font-weight: 800;
    letter-spacing: -.04em;
}

.vmp-contact-v2 p { color: var(--vmp-muted); line-height: 1.75; }
.vmp-contact-list { display: grid; gap: 14px; margin-top: 30px; }
.vmp-contact-list a,
.vmp-contact-list span { display: flex; gap: 12px; color: var(--vmp-ink); text-decoration: none; }
.vmp-contact-list i { width: 22px; color: var(--vmp-blue); text-align: center; }

.vmp-footer-v2 {
    padding: 76px 0 24px;
    color: #c4d1e8;
    background: #06142f;
}

.vmp-footer-grid {
    display: grid;
    grid-template-columns: 1.25fr .75fr .9fr;
    gap: 54px;
    padding-bottom: 50px;
}

.vmp-footer-brandmark {
    display: inline-flex;
    margin-bottom: 22px;
    padding: 12px 16px;
    border-radius: 18px;
    background: #fff;
    box-shadow: 0 14px 34px rgba(0, 0, 0, .18);
}
.vmp-footer-logo { display: block; width: 210px; max-width: 100%; }
.vmp-footer-v2 h3 { margin-bottom: 20px; color: #fff; font-size: 15px; text-transform: uppercase; letter-spacing: .11em; }
.vmp-footer-v2 p { max-width: 470px; line-height: 1.75; }
.vmp-footer-links { display: grid; gap: 12px; }
.vmp-footer-v2 a { color: #c4d1e8; text-decoration: none; }
.vmp-footer-v2 a:hover { color: #fff; }
.vmp-footer-social { display: flex; gap: 12px; margin-top: 20px; }
.vmp-footer-social a { display: grid; width: 40px; height: 40px; place-items: center; border: 1px solid #2a3b5b; border-radius: 12px; }
.vmp-footer-bottom { padding-top: 22px; border-top: 1px solid #203150; font-size: 14px; text-align: center; }

@media (max-width: 991px) {
    .vmp-template-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .vmp-contact-v2 .vmp-contact-shell,
    .vmp-footer-grid { grid-template-columns: 1fr; gap: 32px; }
}

@media (max-width: 575px) {
    .vmp-page-hero { padding: 150px 0 54px; }
    .vmp-template-grid { grid-template-columns: 1fr; }
    .vmp-template-card img { height: 420px; }
    .vmp-page-body { padding-bottom: 64px; }
    .vmp-blog-meta { flex-direction: column; gap: 7px; }
}
