
:root { color-scheme: light; --paper:#F6FAF7; --white:#FFFFFF; --ink:#07130D; --ink2:#233830; --mint:#00FF8F; --green:#009E60; --teal:#0B7B6A; --muted:#5E6F68; --line:#E2EDE7; --disp:'Tomorrow',system-ui,sans-serif; --body:'Saira',system-ui,sans-serif; --mono:'IBM Plex Mono',monospace; }
* { box-sizing: border-box; }
body { margin:0; min-height:100vh; background:var(--paper); color:var(--ink); font-family:var(--body); -webkit-font-smoothing:antialiased; }
body::before { content:''; position:fixed; inset:0; pointer-events:none; opacity:.42; background-image:linear-gradient(rgba(11,123,106,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(11,123,106,.035) 1px,transparent 1px); background-size:44px 44px; mask-image:linear-gradient(to bottom,#000,transparent 72%); }
.access-shell { position:relative; width:min(600px,calc(100% - 32px)); margin:0 auto; padding:76px 0; }
.legal-shell { position:relative; width:min(900px,calc(100% - 32px)); margin:0 auto; padding:46px 0 96px; }
.access-brand { display:inline-flex; align-items:center; gap:10px; color:var(--ink); font:700 16px/1 var(--disp); letter-spacing:.01em; }
.access-brand::before { content:''; width:12px; height:12px; border-radius:4px; background:var(--mint); box-shadow:0 0 12px rgba(0,255,143,.7); }
.access-card { margin-top:24px; padding:clamp(26px,5vw,42px); border:1px solid var(--line); border-left:3px solid var(--mint); border-radius:24px; background:rgba(255,255,255,.96); box-shadow:0 30px 80px -34px rgba(7,19,13,.25); }
h1 { margin:0 0 16px; font:700 clamp(38px,7vw,64px)/.98 var(--disp); letter-spacing:-.05em; }
.legal-shell > h1 { margin-top:24px; padding:36px; border:1px solid var(--line); border-left:3px solid var(--mint); border-radius:24px; background:#fff; box-shadow:0 30px 80px -34px rgba(7,19,13,.25); }
h2 { margin:42px 0 12px; padding-top:20px; border-top:1px solid var(--line); font:700 28px/1.08 var(--disp); letter-spacing:-.03em; }
h3 { margin:28px 0 8px; font:700 19px/1.15 var(--disp); }
p,li { color:var(--ink2); line-height:1.72; }
li + li { margin-top:8px; }
label { display:block; margin:18px 0 7px; font-weight:700; }
input { width:100%; padding:13px 14px; border:1px solid #C8DED2; border-radius:11px; background:#fff; color:var(--ink); font:inherit; }
input:focus { border-color:var(--mint); outline:3px solid rgba(0,255,143,.18); }
button,.access-button { display:block; width:100%; margin-top:22px; padding:14px 18px; border:1px solid var(--ink); border-radius:999px; background:var(--ink); color:#fff; font:700 16px var(--body); text-align:center; text-decoration:none; cursor:pointer; transition:transform .2s,box-shadow .2s; }
button:hover,.access-button:hover { transform:translateY(-2px); box-shadow:0 14px 30px -10px rgba(7,19,13,.5); }
a { color:var(--teal); text-underline-offset:3px; }
a:hover { color:var(--green); }
.access-note { margin-top:20px; padding-top:18px; border-top:1px solid var(--line); color:var(--muted); font-size:14px; }
.consent { margin-top:24px; padding-top:8px; border-top:1px solid var(--line); }
.consent-row { display:grid; grid-template-columns:22px 1fr; gap:10px; align-items:start; margin:16px 0; color:var(--ink2); font-weight:500; line-height:1.45; }
.consent-row input { width:18px; height:18px; margin:2px 0 0; accent-color:var(--mint); }
.optional { color:var(--muted); }
details { margin-top:24px; padding-top:18px; border-top:1px solid var(--line); }
summary { color:var(--teal); cursor:pointer; font-weight:700; }
.legal-shell ul { padding-left:24px; }
.legal-back { display:inline-flex; margin:22px 0 0; padding:9px 15px; border:1px solid var(--line); border-radius:999px; background:#fff; color:var(--ink); font:600 11px var(--mono); letter-spacing:.08em; text-decoration:none; }
@media (max-width:600px) { body::before{display:none}.access-shell{padding:30px 0}.access-card{padding:24px}.legal-shell{padding-top:24px}.legal-shell>h1{padding:24px}h2{font-size:24px} }
