/* Veltrion Web Platform Phase 31: Header branding + start gate image + spacing cleanup */
.vweb-main {
    padding-top: 10px !important;
}

.vweb-header--portal {
    min-height: 72px !important;
    align-items: center !important;
}

.vweb-brand--portal {
    gap: 12px !important;
    min-height: 58px !important;
}

.vweb-brand--portal .vweb-brand__crest {
    width: 58px !important;
    height: 58px !important;
    min-width: 58px !important;
    min-height: 58px !important;
    border: 0 !important;
    background: none !important;
    box-shadow: none !important;
    border-radius: 0 !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    overflow: visible !important;
}

.vweb-brand--portal .vweb-brand__crest img {
    width: 58px !important;
    height: 58px !important;
    display: block !important;
    object-fit: contain !important;
    filter: drop-shadow(0 8px 18px rgba(255, 120, 32, 0.34));
}

.vweb-brand--portal strong {
    letter-spacing: .02em !important;
}

.vweb-brand--portal em {
    opacity: .72 !important;
    letter-spacing: .22em !important;
}

.vweb-portal {
    margin-top: 8px !important;
    padding-top: 20px !important;
    padding-bottom: 18px !important;
}

.vweb-portal__main {
    align-items: stretch !important;
    gap: 14px !important;
    min-height: 322px !important;
}

.vweb-portal__copy {
    padding-top: 28px !important;
    padding-bottom: 24px !important;
    display: flex !important;
    flex-direction: column !important;
    justify-content: center !important;
}

.vweb-portal__copy h1 {
    margin-top: 0 !important;
    margin-bottom: 12px !important;
    line-height: .9 !important;
}

.vweb-portal__eyebrow {
    margin-top: 0 !important;
    margin-bottom: 10px !important;
}

.vweb-portal__desc {
    margin-top: 6px !important;
    margin-bottom: 0 !important;
}

.vweb-portal__actions {
    margin-top: 26px !important;
}

.vweb-portal__party {
    align-self: stretch !important;
}

.vweb-portal__side {
    padding-top: 0 !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 12px !important;
}

.vweb-start-gate {
    padding-top: 14px !important;
    padding-bottom: 14px !important;
}

.vweb-start-gate__button {
    min-height: 146px !important;
    padding: 14px 18px 16px !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 2px !important;
    line-height: 1.05 !important;
}

.vweb-start-gate__button-icon {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 82px !important;
    height: 82px !important;
    margin-bottom: 2px !important;
}

.vweb-start-gate__button-icon img {
    width: 82px !important;
    height: 82px !important;
    display: block !important;
    object-fit: contain !important;
    filter: drop-shadow(0 8px 18px rgba(199, 68, 28, 0.42));
}

.vweb-start-gate__button-text {
    display: block !important;
    font-size: clamp(28px, 2.1vw, 38px) !important;
    font-weight: 800 !important;
    letter-spacing: .03em !important;
}

.vweb-start-gate__button small {
    display: block !important;
    margin-top: 6px !important;
    letter-spacing: .22em !important;
}

.vweb-start-gate__links {
    margin-top: 12px !important;
}

.vweb-login-card,
.vweb-community-card {
    margin-top: 0 !important;
}

@media (max-width: 1200px) {
    .vweb-portal__copy {
        padding-top: 24px !important;
        padding-bottom: 22px !important;
    }
    .vweb-start-gate__button {
        min-height: 134px !important;
    }
    .vweb-start-gate__button-icon,
    .vweb-start-gate__button-icon img {
        width: 70px !important;
        height: 70px !important;
    }
}

@media (max-width: 980px) {
    .vweb-main {
        padding-top: 8px !important;
    }
    .vweb-portal {
        padding-top: 16px !important;
    }
    .vweb-portal__main {
        min-height: auto !important;
    }
    .vweb-portal__copy {
        padding-top: 18px !important;
        padding-bottom: 20px !important;
    }
    .vweb-start-gate__button {
        min-height: 124px !important;
    }
}