.nba-access-gate {
    --nba-bg:none;
    margin:0;
    min-height:100vh;
    background:#030303 var(--nba-bg) center center/cover no-repeat;
    color:#fff;
    font-family:Montserrat,Arial,sans-serif;
    position:relative;
    overflow-x:hidden;
}

.nba-access-gate:before {
    content:"";
    position:fixed;
    inset:0;
    pointer-events:none;
    background:linear-gradient(90deg,rgba(0,0,0,.42) 0%,rgba(0,0,0,.08) 46%,rgba(0,0,0,.12) 100%),linear-gradient(0deg,rgba(0,0,0,.48),transparent 36%);
}

.nba-access-brand {
    position:fixed;
    left:48px;
    top:34px;
    z-index:3;
}

.nba-access-brand img {
    display:block;
    width:150px;
    height:auto;
    max-height:170px;
    object-fit:contain;
}

.nba-access-stage {
    min-height:100vh;
    display:flex;
    align-items:center;
    padding:120px 6vw 96px;
    box-sizing:border-box;
    position:relative;
    z-index:2;
}

.nba-access-card,.nba-access-popup {
    width:min(540px,calc(100% - 32px));
    box-sizing:border-box;
    background:rgba(5,5,5,.91);
    border:1px solid rgba(201,151,0,.58);
    border-radius:20px;
    padding:44px 46px;
    text-align:center;
    box-shadow:0 28px 90px rgba(0,0,0,.68);
    position:relative;
    backdrop-filter:blur(7px);
}

.nba-access-kicker {
    display:block;
    color:#C8102E;
    text-transform:uppercase;
    letter-spacing:.2em;
    font-size:12px;
    font-weight:800;
}

.nba-access-card h1,.nba-access-popup h2 {
    color:#fff;
    margin:14px 0 16px;
    text-transform:uppercase;
    letter-spacing:.025em;
    font-size:28px;
    line-height:1.15;
}

.nba-access-card>p,.nba-access-popup p {
    color:#ddd;
    line-height:1.65;
    margin:0;
}

.nba-access-form {
    margin-top:28px;
    text-align:left;
}

.nba-access-form label {
    display:block;
    color:#fff;
    font-size:13px;
    font-weight:700;
    margin-bottom:8px;
}

.nba-access-form input {
    width:100%;
    box-sizing:border-box;
    background:#fff;
    color:#111;
    border:2px solid transparent;
    border-radius:10px;
    padding:15px 16px;
    font-size:17px;
    letter-spacing:.08em;
    text-transform:uppercase;
    outline:none;
}

.nba-access-form input:focus {
    border-color:#C99700;
}

.nba-access-form button,.nba-access-button,.nba-access-secondary {
    display:block;
    width:100%;
    box-sizing:border-box;
    border-radius:10px;
    padding:15px 18px;
    margin-top:14px;
    text-decoration:none;
    font-weight:800;
    cursor:pointer;
}

.nba-access-form button,.nba-access-button {
    border:0;
    background:#C8102E;
    color:#fff;
}

.nba-access-form button:hover,.nba-access-button:hover {
    background:#a80d27;
}

.nba-access-error {
    margin-top:20px;
    padding:12px 14px;
    border-radius:9px;
    background:rgba(200,16,46,.18);
    border:1px solid #C8102E;
    color:#fff;
}

.nba-access-email-note {
    margin-top:24px;
    color:#aaa;
    font-size:12px;
    text-align:center;
}

.nba-access-email-note span {
    display:flex;
    align-items:center;
    gap:14px;
    justify-content:center;
}

.nba-access-email-note span:before,.nba-access-email-note span:after {
    content:"";
    height:1px;
    flex:1;
    background:rgba(201,151,0,.42);
}

.nba-access-email-note p {
    margin:10px 0 0;
    color:#aaa;
    font-size:12px;
}

.nba-access-overlay {
    position:fixed;
    inset:0;
    background:rgba(0,0,0,.84);
    display:grid;
    place-items:center;
    z-index:999999;
    padding:20px;
}

.nba-access-popup {
    color:#fff;
}

.nba-access-close {
    position:absolute;
    right:16px;
    top:12px;
    border:0;
    background:transparent;
    color:#fff;
    font-size:30px;
    cursor:pointer;
}

.nba-access-secondary {
    background:transparent;
    color:#fff;
    border:1px solid #555;
}

.nba-access-footer-links {
    display:flex;
    align-items:center;
    justify-content:center;
    gap:8px;
    width:100%;
    box-sizing:border-box;
    padding:14px 16px;
    font-family:Montserrat,Arial,sans-serif;
    font-size:12px;
    line-height:1.4;
    letter-spacing:.04em;
    color:rgba(255,255,255,.62);
}

.nba-access-footer-links a {
    color:inherit;
    text-decoration:none;
    transition:color .18s ease;
}

.nba-access-footer-links a:hover,.nba-access-footer-links a:focus {
    color:#fff;
    text-decoration:underline;
    text-underline-offset:3px;
}

.nba-access-gate .nba-access-footer-links {
    position:fixed;
    left:0;
    right:0;
    bottom:0;
    z-index:4;
    border-top:1px solid rgba(201,151,0,.38);
    background:rgba(0,0,0,.54);
    backdrop-filter:blur(6px);
}

@media(max-width:900px){.nba-access-brand {
    left:28px;
    top:24px;
}

.nba-access-brand img {
    width:118px;
}

.nba-access-stage {
    justify-content:center;
    padding:126px 20px 90px;
}

.nba-access-gate {
    background-position:64% center;
}

.nba-access-card {
    width:min(560px,100%);
}

}
@media(max-width:640px){.nba-access-gate {
    background-position:69% center;
}

.nba-access-gate:before {
    background:linear-gradient(rgba(0,0,0,.62),rgba(0,0,0,.78));
}

.nba-access-brand {
    position:absolute;
    left:50%;
    transform:translateX(-50%);
    top:22px;
}

.nba-access-brand img {
    width:100px;
}

.nba-access-stage {
    padding-top:150px;
    align-items:flex-start;
}

.nba-access-card,.nba-access-popup {
    padding:34px 22px;
}

.nba-access-card h1 {
    font-size:28px;
}

}.nba-access-hidden-cta,[hidden].nba-access-hidden-cta {
    display:none!important;
}

.nba-access-hidden-header-cta {
    visibility:hidden!important;
    opacity:0!important;
    pointer-events:none!important;
}

.nba-access-request-link {
    margin-top:12px!important;
}

.nba-access-request-link a,.nba-request-back a {
    color:#fff;
    text-underline-offset:3px;
}

.nba-request-card {
    width:min(680px,calc(100% - 32px));
    margin:35px 0;
}

.nba-request-form input,.nba-request-form textarea {
    letter-spacing:normal;
    text-transform:none;
}

.nba-request-form textarea {
    width:100%;
    box-sizing:border-box;
    border-radius:10px;
    padding:14px;
    border:2px solid transparent;
    font:inherit;
}

.nba-form-row {
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:14px;
}

.nba-request-form label {
    margin-bottom:14px;
}

.nba-request-message {
    margin:22px 0 0;
    padding:13px;
    border:1px solid rgba(201,151,0,.65);
    border-radius:9px;
    background:rgba(201,151,0,.12);
    line-height:1.5;
}

.nba-request-back {
    margin-top:20px!important;
}

.nba-honeypot {
    position:absolute!important;
    left:-9999px!important;
    opacity:0!important;
}

/* Request page desktop composition: preserve the original left layout and shift it subtly right. */
@media (min-width:1201px){.is-request .nba-access-stage {
    align-items:center;
    justify-content:flex-start;
    padding:135px 6vw 96px;
    padding-left:calc(6vw + 110px);
}

}
@media(min-width:901px) and (max-width:1200px){.is-request .nba-access-stage {
    align-items:flex-start;
    justify-content:center;
    padding-top:110px;
}

}
@media(max-width:640px){.nba-form-row {
    grid-template-columns:1fr;
}

.nba-request-card {
    margin:0;
}

.is-request .nba-access-stage {
    padding-top:140px;
}

}/* Embedded access request page */
.nba-access-request-embed {
    max-width:760px;
    margin:48px auto;
    padding:0 20px;
}

.nba-access-request-content {
    background:#101010;
    border:1px solid rgba(201,151,0,.38);
    border-radius:18px;
    padding:clamp(24px,5vw,48px);
    color:#fff;
    box-shadow:0 24px 70px rgba(0,0,0,.28);
}

.nba-access-request-content h1 {
    margin:.25rem 0 1rem;
    color:#fff;
}

.nba-access-request-content>p {
    color:rgba(255,255,255,.76);
}

.nba-access-request-content .nba-access-form {
    margin-top:24px;
}

