.access-main { max-width:680px; padding:76px 24px 80px; }
.access-main .eyebrow { color:var(--muted); margin-bottom:24px; }
.access-main h1 { font-size:clamp(42px,5.5vw,68px); font-weight:600; letter-spacing:-.04em; }
.access-intro { max-width:480px; color:var(--muted); font-size:16px; line-height:1.75; margin-bottom:32px; }
.access-main form { border-top:1px solid var(--line); padding-top:28px; }
.access-main label { display:block; font-size:14px; font-weight:500; margin-bottom:12px; }
.access-main input[type="password"] { width:100%; min-height:52px; border:1px solid var(--muted); border-radius:8px; padding:12px 14px; background:var(--card); color:var(--ink); font:inherit; }
.access-main input:focus-visible { outline:3px solid var(--accent); outline-offset:3px; }
#access-hint { color:var(--muted); font-size:12px; line-height:1.6; margin:12px 0 24px; }
.access-submit { display:flex; justify-content:space-between; align-items:center; gap:40px; min-height:48px; border:0; border-radius:8px; padding:12px 20px; background:var(--accent); color:var(--bg); font-size:14px; }
.access-message { padding:16px; border:1px solid var(--line); border-radius:8px; background:var(--accent-soft); font-size:14px; line-height:1.6; margin-bottom:24px; }
.access-back { display:inline-block; padding:12px 0; margin-top:24px; font-size:13px; }
.access-back:hover { color:var(--accent); }
.project-access-status { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:12px; max-width:1440px; margin:auto; padding:16px 32px; color:var(--muted); font-size:12px; }
.project-access-status button { min-height:44px; padding:8px 12px; border:1px solid var(--line); border-radius:8px; background:none; color:var(--ink); font-size:12px; }
@media (max-width:760px) { .access-main { padding-top:40px; }.project-access-status { padding:12px 22px; } }
