[hidden]{display:none!important}.privacy-links{margin-top:22px;color:#bba875;font-size:13px}.privacy-links a,.privacy-links button{color:inherit;text-decoration:underline;background:none;border:0;font:inherit;cursor:pointer}.privacy-panel{position:fixed;bottom:20px;left:20px;width:min(410px,calc(100vw - 40px));z-index:300;background:#13120e;color:#f5f0e5;border:1px solid #d4a843;border-radius:16px;padding:22px;box-shadow:0 20px 80px #000a;font-family:Inter,Arial,sans-serif}.privacy-panel h2{font-size:19px;margin:0 0 9px;font-family:inherit}.privacy-panel p{font-size:14px;line-height:1.6;margin:0 0 15px}.privacy-panel a{font-size:12px;color:#debf76}.privacy-actions{display:flex;gap:10px;margin-bottom:14px}.privacy-actions button{flex:1;background:#272317;border:1px solid #d4a843;color:#fff4d5;border-radius:7px;padding:11px 8px;font-size:13px;cursor:pointer}#join-dialog{background:#10100d;color:#f5f0e5;border:1px solid #b98e38;border-radius:18px;width:min(460px,calc(100vw - 30px));padding:30px;box-shadow:0 25px 100px #000b;font-family:Inter,Arial,sans-serif;margin:auto;max-height:90vh;overflow:auto}#join-dialog::backdrop{background:#000b}#join-dialog h2{font:600 25px 'Playfair Display',Georgia,serif;color:#e4c16a;margin:0 0 16px}#join-status{font-size:15px;line-height:1.5;margin:0 0 18px}#turnstile-widget{margin:16px 0;min-height:2px;max-width:100%;overflow:hidden}.dialog-close{position:absolute;right:10px;top:8px;border:0;background:none;color:#d9cfae;font-size:27px;padding:2px 8px;cursor:pointer}.dialog-primary,#join-copy,#join-retry{display:block;text-align:center;width:100%;box-sizing:border-box;padding:13px 16px;border-radius:8px;border:1px solid #c9a453;margin:10px 0;font:500 14px Inter,Arial,sans-serif;cursor:pointer;text-decoration:none}.dialog-primary{color:#171104;background:#d4a843}#join-copy,#join-retry{background:#211e14;color:#f8eed5}.dialog-note{font-size:12px;color:#b0a78e;margin-top:14px;line-height:1.5}:focus-visible{outline:3px solid #ffe094;outline-offset:3px}@media(max-width:480px){.privacy-panel{bottom:12px;left:12px;width:calc(100vw - 24px);padding:18px}.privacy-actions{gap:8px}#join-dialog{padding:25px 18px}}
/* The decorative 700px glow must not create a hidden horizontal scroll area.
   Otherwise restoring focus after the dialog can pan/crop the mobile hero. */
.hero { overflow: clip; }
.hero .container { min-width: 0; }

/* r7: zero-footprint managed check unless Cloudflare actually needs interaction.
   Do NOT hide the challenge iframe with CSS. Turnstile's appearance setting controls it. */
#join-security{position:fixed;z-index:320;right:16px;bottom:16px;width:min(354px,calc(100vw - 32px));font-family:Inter,Arial,sans-serif;color:#f5f0e5}
#join-security.is-interactive{background:#13120e;border:1px solid #d4a843;border-radius:14px;padding:14px;box-shadow:0 12px 48px #000a}
#join-security #turnstile-widget{margin:0;min-height:0;width:100%;overflow:visible}
#join-security-title{font-size:15px;line-height:1.5;margin:0 0 10px;font-weight:600}
#join-security .security-cancel{margin-top:10px;border:1px solid #b48d36;background:#252013;color:#fff0c8;padding:8px 14px;border-radius:7px;font:13px Inter,Arial,sans-serif;cursor:pointer}
.join-sr-only{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}
.btn-cta.is-opening{cursor:progress;transform:none;opacity:.85}
#join-diagnostic{font-size:12px;color:#bdb39a;overflow-wrap:anywhere;margin:14px 0 8px}
#join-copy-error{border:1px solid #6f5b29;background:#201b0e;color:#eddaad;border-radius:7px;padding:9px 12px;font:13px Inter,Arial,sans-serif;cursor:pointer}
#join-retry:disabled{cursor:wait;opacity:.65}
@media(max-width:359px){#join-security.is-interactive{width:210px}#join-security #turnstile-widget{width:150px;margin-inline:auto}}

/* R10 — concise, non-blocking consent notice. Do not enable Pixel without opt-in. */
.privacy-panel {
  bottom:max(12px, env(safe-area-inset-bottom, 0px));
  left:12px;
  width:min(356px,calc(100vw - 24px));
  padding:13px 15px 14px;
  border-radius:12px;
  box-shadow:0 8px 32px rgba(0,0,0,.6);
}
.privacy-panel .privacy-heading {display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:5px}
.privacy-panel .privacy-heading h2 {font-size:15px;line-height:1.25;margin:0;font-weight:700}
.privacy-panel #privacy-dismiss {
  flex:none;display:flex;align-items:center;justify-content:center;
  width:28px;height:28px;padding:0;border:0;background:transparent;
  color:#e9d29c;font-size:23px;line-height:1;cursor:pointer;
}
.privacy-panel p {font-size:12px;line-height:1.4;margin:0 0 10px;color:#e0d8ca}
.privacy-panel p a {font-size:inherit;color:#e9c36c;white-space:nowrap}
.privacy-panel .privacy-actions {gap:8px;margin:0}
.privacy-panel .privacy-actions button {min-height:36px;font-size:12px;line-height:1.2;padding:8px 6px}
.privacy-panel .privacy-actions button:first-child {background:#d4a843;color:#1b1509;font-weight:650}
.privacy-panel .privacy-actions button:last-child {background:#242016;color:#f6e8c7}
@media(min-width:700px){.privacy-panel{bottom:20px;left:20px}}

/* US-facing notice and opt-out: always accessible, never an entry gate. */
.hero-privacy-notice {max-width:540px;margin:12px auto 0;text-align:center;font:11px/1.55 Inter,Arial,sans-serif;color:#a9a49a;padding:0 10px;}
.hero-privacy-notice a,.hero-privacy-notice button {font:inherit;color:#d4a843;text-decoration:underline;}
.hero-privacy-notice button {background:transparent;border:0;padding:0;cursor:pointer;}
.privacy-panel #privacy-status{font-size:12px;line-height:1.45;color:#dfc68c;}
.privacy-panel .privacy-actions button:first-child{font-size:12px;}
.privacy-panel #privacy-optout:disabled {opacity:.65;cursor:default;}
@media(max-width:480px){.hero-privacy-notice{font-size:10px;line-height:1.4;margin:9px 5px 0;}}
