/* Shared, bounded hero geometry. Scoped so planning and guest pages are unchanged. */
.vn-home .vn-cover {
    width: calc(100% - 96px);
    max-width: 1384px;
    min-height: 600px;
    margin: 32px auto 0;
    display: grid;
    grid-template-columns: minmax(0, 46fr) minmax(0, 54fr);
    align-items: stretch;
}
.vn-home .vn-cover-copy {
    grid-column: 1;
    grid-row: 1;
    align-self: center;
    width: auto;
    max-width: none;
    min-width: 0;
    margin: 0;
    padding: 56px 48px 56px 0;
}
.vn-home .vn-cover h1 {
    max-width: none;
    font-size: clamp(48px, 4.8vw, 76px);
    line-height: 1.04;
}
.vn-home .vn-cover-description,
.vn-home .vn-cover-actions,
.vn-home .vn-cover-note {
    max-width: none;
}
.vn-home .vn-cover-image {
    position: relative;
    inset: auto;
    grid-column: 2;
    grid-row: 1;
    width: 100%;
    height: 100%;
    min-height: 0;
    object-fit: cover;
    object-position: 62% center;
    z-index: 0;
    animation: none;
}
.vn-home .vn-cover-caption {
    right: 32px;
    bottom: 32px;
    z-index: 1;
}
.vn-home .vn-tool-dock {
    width: calc(100% - 96px);
    max-width: 1384px;
    margin: 0 auto;
}
@media (min-width: 768px) and (max-width: 1023px) {
    .vn-home .vn-cover { min-height: 540px; }
    .vn-home .vn-cover-copy { padding: 40px 28px 40px 0; }
    .vn-home .vn-cover h1 { font-size: 48px; }
    .vn-home .vn-cover-description { font-size: 16px; }
    .vn-home .vn-cover-actions { gap: 12px; }
    .vn-home .vn-cover-caption { right: 20px; bottom: 24px; }
    .vn-home .vn-cover-caption em { font-size: 22px; }
}
@media (max-width: 767px) {
    .vn-home .vn-cover {
        width: calc(100% - 40px);
        margin: 0 auto;
        min-height: 0;
        display: flex;
        flex-direction: column;
    }
    .vn-home .vn-cover-copy {
        align-self: stretch;
        padding: 40px 4px 32px;
    }
    .vn-home .vn-cover h1 { font-size: clamp(40px, 10.5vw, 64px); }
    .vn-home .vn-cover-image {
        flex: none;
        height: clamp(240px, 75vw, 380px);
        order: 2;
        object-position: 62% center;
    }
    .vn-home .vn-cover-caption { display: none; }
    .vn-home .vn-tool-dock {
        width: calc(100% - 40px);
        margin: 0 auto;
    }
    .vn-home .vn-tool-dock a { min-width: 0; padding-inline: 12px; }
}
