[hidden]{display:none!important}
.access-gate {min-height:80vh;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:36px 22px;max-width:680px;margin:auto;color:#f2eadb;background:linear-gradient(135deg,#051b2c,#082a33);border:1px solid #b78d4b55;border-radius:22px}
.access-gate h1{font:normal clamp(2rem,5vw,3.4rem) Georgia,serif;line-height:1.1;margin:16px 0}.access-gate p{line-height:1.65;color:#ddd4c4}
.access-gate .primary,.back-invites{display:inline-block;margin-top:16px;background:#cba567;color:#071b2b;padding:12px 20px;border-radius:9px;text-decoration:none;font-weight:700}
:root{--access-bg:#061b2c;--access-panel:#0a2838;--access-gold:#d4af72;--access-text:#f4e9d8}
body.access-page{background:radial-gradient(circle at 75% 10%,#194141,#061b2c 60%);color:var(--access-text);font-family:Inter,'Segoe UI',sans-serif;margin:0;min-height:100vh}
.access-container{max-width:900px;margin:auto;padding:clamp(28px,6vw,70px) 18px}.access-kicker{letter-spacing:.18em;color:var(--access-gold);font-size:.77rem}.access-container h1{font:normal clamp(2.3rem,6vw,4.2rem)/1.05 Georgia,serif;color:var(--access-text);margin:14px 0 22px}.access-container h2{font:normal 1.7rem Georgia,serif}.access-container p,.access-container small{color:#d8dad7;line-height:1.7}.access-panel{padding:clamp(18px,4vw,34px);background:rgba(12,39,52,.89);border:1px solid #cba56755;border-radius:18px;margin:24px 0}.access-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:14px}.access-slot{border:1px solid #d4af7259;border-radius:14px;padding:20px;background:#0a2936}.access-slot strong{display:block;margin:8px 0}.access-button{display:inline-block;padding:13px 19px;margin:10px 6px 0 0;border:0;border-radius:9px;background:var(--access-gold);color:#061c2b;font-weight:700;cursor:pointer;text-decoration:none}.access-button:disabled{opacity:.55}.access-secondary{background:transparent;color:var(--access-gold);border:1px solid var(--access-gold)}.access-status{padding:16px;border:1px solid #cba56755;border-radius:10px;white-space:pre-wrap}.access-input{width:100%;max-width:520px;padding:13px;border:1px solid #cba567aa;border-radius:8px;background:#081a26;color:#fff;box-sizing:border-box}.access-link{color:var(--access-gold);overflow-wrap:anywhere}

/* Mantener acceso visible por encima del fondo fijo. */
.access-gate{position:relative;z-index:1}
