:root { color-scheme:dark; font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif; background:#070b12; color:#e8edf3; }
* { box-sizing:border-box; }
body { margin:0; min-height:100vh; background:radial-gradient(circle at 50% -10%,rgba(35,77,91,.36),transparent 38%),#070b12; }
button,input,select { font:inherit; }
.access-header { display:flex; align-items:center; justify-content:space-between; min-height:72px; padding:12px clamp(18px,4vw,54px); border-bottom:1px solid #1e2936; }
.access-brand { display:flex; align-items:center; gap:10px; color:#eed183; font-family:Georgia,serif; font-weight:700; letter-spacing:.11em; text-decoration:none; }
.access-brand img { width:44px; height:44px; object-fit:contain; }
.language { min-height:36px; padding:7px 10px; border:1px solid #2d3948; border-radius:8px; background:#0a111b; color:#c6d0dc; }
.access-shell { width:min(600px,calc(100% - 28px)); margin:0 auto; padding:70px 0 90px; }
.access-card { padding:clamp(24px,5vw,42px); border:1px solid #293646; border-radius:20px; background:linear-gradient(145deg,rgba(16,24,35,.98),rgba(9,15,24,.98)); box-shadow:0 30px 90px rgba(0,0,0,.3); }
.icon { display:grid; place-items:center; width:52px; height:52px; margin-bottom:22px; border:1px solid rgba(228,183,84,.35); border-radius:14px; background:rgba(228,183,84,.07); color:#e4b754; font-size:23px; }
.eyebrow { margin:0 0 8px; color:#d5ad57; font-size:10px; font-weight:750; letter-spacing:.18em; }
h1 { margin:0 0 13px; font-family:Georgia,serif; font-size:clamp(31px,6vw,45px); line-height:1.08; }
.intro { margin:0 0 25px; color:#8fa0b3; line-height:1.65; }
.invitation-summary,.subscription-summary { display:grid; gap:9px; margin:22px 0; padding:15px; border:1px solid #253241; border-radius:11px; background:#090f18; }
.summary-row { display:flex; justify-content:space-between; gap:14px; color:#8192a5; font-size:12px; }
.summary-row strong { color:#dce4ed; text-align:right; }
form { display:grid; gap:14px; }
label { display:grid; gap:7px; color:#b2bfcd; font-size:12px; }
input { min-height:46px; padding:10px 12px; border:1px solid #2e3c4d; border-radius:9px; outline:none; background:#070d15; color:#fff; }
input:focus { border-color:#d1aa53; box-shadow:0 0 0 3px rgba(209,170,83,.1); }
.primary,.secondary { display:inline-flex; align-items:center; justify-content:center; min-height:46px; padding:10px 18px; border:1px solid #e4b754; border-radius:9px; background:#e4b754; color:#111722; font-weight:750; text-decoration:none; cursor:pointer; }
.secondary { border-color:#334154; background:#111a26; color:#d3dce6; }
.primary:disabled { opacity:.55; cursor:wait; }
.error,.success { margin:15px 0 0; padding:12px 13px; border:1px solid #6a3041; border-radius:9px; background:#251018; color:#ff8298; font-size:12px; line-height:1.5; }
.success { border-color:#285847; background:#0d211c; color:#63ddb0; }
.access-actions { display:flex; flex-wrap:wrap; gap:9px; margin-top:22px; }
.legal { margin:18px 0 0; color:#627286; font-size:10px; line-height:1.55; }
.trial-facts { display:flex; flex-wrap:wrap; gap:8px; margin:0 0 22px; }
.trial-facts span { padding:7px 9px; border:1px solid rgba(228,183,84,.25); border-radius:999px; background:rgba(228,183,84,.06); color:#d8c182; font-size:10px; }
.consent-row { grid-template-columns:18px 1fr; align-items:start; gap:10px; color:#8494a7; line-height:1.55; }
.consent-row input { width:17px; min-height:17px; margin:2px 0 0; accent-color:#e4b754; }
.consent-row a { color:#d8b45f; }
.privacy-tools { margin-top:14px; color:#77889b; font-size:11px; line-height:1.55; }
.privacy-tools summary { width:max-content; max-width:100%; color:#9baabb; cursor:pointer; text-decoration:underline; text-underline-offset:3px; }
.privacy-tools p { margin:9px 0; }
.privacy-tools button { padding:7px 10px; border:1px solid #334154; border-radius:7px; background:#111a26; color:#d3dce6; font-size:11px; cursor:pointer; }
.privacy-tools button:disabled { opacity:.55; cursor:wait; }
.honeypot { position:absolute!important; left:-10000px!important; width:1px!important; height:1px!important; overflow:hidden!important; }
.status-badge { display:inline-flex; margin-bottom:18px; padding:7px 10px; border:1px solid #314155; border-radius:999px; color:#9cacc0; font-size:11px; text-transform:uppercase; letter-spacing:.08em; }
.status-badge.active { border-color:rgba(58,208,153,.35); color:#59dcaa; }
.subscription-shell { width:min(720px,calc(100% - 28px)); }
.plan-offer { display:grid; grid-template-columns:minmax(165px,.7fr) 1.3fr; gap:26px; margin:26px 0 18px; padding:22px; border:1px solid rgba(228,183,84,.28); border-radius:14px; background:linear-gradient(135deg,rgba(228,183,84,.09),rgba(9,15,24,.92)); }
.plan-offer>div { display:grid; align-content:center; }
.plan-offer span { color:#d8b45f; font-size:9px; font-weight:800; letter-spacing:.15em; }
.plan-offer strong { margin-top:10px; color:#f5d887; font:400 42px/1 Georgia,serif; }
.plan-offer small { margin-top:6px; color:#7e8da0; font-size:11px; }
.plan-offer .tax-included { width:max-content; margin-top:10px; padding:4px 7px; border:1px solid rgba(58,208,153,.3); border-radius:999px; color:#59dcaa; font-size:9px; font-weight:800; letter-spacing:.05em; text-transform:uppercase; }
.plan-offer .plan-currency-note { max-width:210px; margin-top:9px; color:#8b9aae; font-size:9px; line-height:1.5; }
.plan-offer ul { display:grid; gap:10px; margin:0; padding:0; list-style:none; }
.plan-offer li { position:relative; padding-left:17px; color:#aab7c5; font-size:11px; line-height:1.45; }
.plan-offer li::before { position:absolute; top:.52em; left:0; width:5px; height:5px; content:""; border-radius:50%; background:#e4b754; box-shadow:0 0 9px rgba(228,183,84,.55); }
.billing-message { margin:14px 0; padding:12px 13px; border:1px solid #315068; border-radius:9px; background:#0c1a27; color:#8fc5e8; font-size:12px; line-height:1.5; }
.billing-message.error { border-color:#6a3041; background:#251018; color:#ff8298; }
.trial-warning { margin:18px 0; padding:16px 18px; border:1px solid #744152; border-radius:11px; background:#251018; color:#ffb3c0; }
.trial-warning strong { display:block; margin-bottom:8px; color:#ff8298; font-size:12px; letter-spacing:.06em; }
.trial-warning p { margin:0; font-size:11px; line-height:1.65; }
.community-access { margin:22px 0 4px; padding:18px; border:1px solid #2a4650; border-radius:13px; background:linear-gradient(135deg,rgba(28,97,83,.11),rgba(9,15,24,.96)); }
.community-heading { display:flex; align-items:flex-start; justify-content:space-between; gap:15px; }
.community-heading h2 { margin:0; font-size:19px; line-height:1.25; }
.community-heading .status-badge { margin:0; flex:none; }
.community-copy { margin:13px 0 16px; color:#9cabbc; font-size:12px; line-height:1.65; }
.community-detail { margin:12px 0 0; color:#6f8093; font-size:10px; line-height:1.55; }
@media(max-width:520px){.access-shell{padding-top:36px}.access-card{border-radius:15px}.summary-row{display:grid;gap:3px}.summary-row strong{text-align:left}}
@media(max-width:620px){.plan-offer{grid-template-columns:1fr}.plan-offer ul{padding-top:17px;border-top:1px solid rgba(255,255,255,.07)}}
