*, *::before, *::after { box-sizing: border-box; }

.access-main {
    min-height: 65vh;
    padding: calc(70px + var(--site-logo-overhang, 32px)) 24px 80px;
    font-family: 'Manrope', system-ui, sans-serif;
    line-height: 1.65;
}

.access-card { width: min(580px, 100%); margin: 0 auto; text-align: center; }
.access-eyebrow { color: var(--brand-lime); font-size: 11px; font-weight: 800; letter-spacing: 1.5px; text-transform: uppercase; }
.access-card h1 { margin: 18px 0 14px; color: #fff; font-size: clamp(32px, 5vw, 46px); line-height: 1.15; letter-spacing: -1px; }
.access-intro { margin: 0 0 32px; color: var(--brand-muted); font-size: 17px; }
.access-notice { padding: 28px; border: 1px solid rgba(144, 234, 42, 0.18); border-radius: 24px; background: rgba(17, 27, 47, 0.8); }
.access-status { display: inline-block; padding: 4px 12px; border-radius: 999px; background: var(--brand-lime-soft); color: var(--brand-lime); font-size: 11px; font-weight: 800; }
.access-notice h2 { margin: 18px 0 12px; color: #fff; font-size: 21px; line-height: 1.4; }
.access-notice p { margin: 0; color: var(--brand-muted); font-size: 14px; }
.access-help { display: flex; justify-content: center; align-items: center; min-height: 52px; margin-top: 24px; padding: 14px 20px; border-radius: 999px; background: var(--brand-lime); color: var(--brand-navy); font-size: 14px; font-weight: 800; text-decoration: none; }
.access-help:hover { background: #a5f04b; }
.access-back { display: inline-flex; align-items: center; min-height: 44px; margin-top: 12px; color: var(--brand-text); font-size: 13px; text-underline-offset: 4px; }

@media (max-width: 600px) {
    .access-main { padding: calc(48px + var(--site-logo-overhang, 26px)) 20px 48px; }
    .access-notice { padding: 24px 20px; }
}
