/* New Member Welcome — Banner Zone */

.nw-banner-wrap {
    width: 100%;
    height: 100%;
    position: relative;
    font-family: Roboto, sans-serif;
    container-type: size;
    display: flex;
    align-items: center;
    justify-content: center;
}

.nw-banner-wrap .nw-banner-card {
    width: 80cqw;
    height: 80cqh;
    background: linear-gradient(var(--bg), var(--light, var(--bg)));
    border-radius: 3cqh;
    box-shadow: -3cqh 3cqh var(--text);
    border: 1cqh solid var(--accent);
    display: flex;
    align-items: center;
    overflow: hidden;
    padding: 3cqh 5cqh;
    gap: 4cqw;
}

.nw-banner-wrap .nw-banner-photo {
    flex: 0 0 auto;
    width: 55cqh;
    height: 55cqh;
    border-radius: 50%;
    overflow: hidden;
    border: 0.8cqh solid var(--accent);
}

.nw-banner-wrap .nw-banner-photo img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

.nw-banner-wrap .nw-banner-photo-placeholder {
    width: 100%;
    height: 100%;
    background: linear-gradient(135deg, var(--accent), var(--bar, var(--accent)));
    display: flex;
    align-items: center;
    justify-content: center;
}

.nw-banner-wrap .nw-banner-photo-placeholder i {
    font-size: 18cqh !important;
    color: #fff;
    opacity: 0.7;
}

.nw-banner-wrap .nw-banner-subtitle {
    flex: 0 0 auto;
    font-family: Montserrat, sans-serif;
    font-size: 11cqh !important;
    font-weight: 400 !important;
    line-height: 1.3 !important;
    letter-spacing: 0.15em !important;
    color: var(--text);
    opacity: 0.6;
    text-transform: uppercase;
    text-align: center;
    -webkit-text-stroke: 0 !important;
    text-shadow: none !important;
}

.nw-banner-wrap .nw-banner-name {
    flex: 1;
    min-width: 0;
    font-family: Montserrat, sans-serif;
    font-size: 28cqh !important;
    font-weight: 700 !important;
    line-height: 1 !important;
    letter-spacing: normal !important;
    color: var(--text);
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    overflow-wrap: break-word;
    word-break: break-word;
    -webkit-text-stroke: 0 !important;
    text-shadow: none !important;
}

.nw-banner-wrap .nw-banner-position {
    flex: 0 0 auto;
    font-family: Montserrat, sans-serif;
    font-size: 10cqh !important;
    font-weight: 400 !important;
    line-height: 1.3 !important;
    letter-spacing: 0.1em !important;
    color: var(--text);
    opacity: 0.6;
    text-transform: uppercase;
    text-align: center;
    -webkit-text-stroke: 0 !important;
    text-shadow: none !important;
}
