:root { color-scheme:dark; font-family:Inter,"Segoe UI",Arial,sans-serif; color:#f5f5f7; background:#0b0b0e; }
* { box-sizing:border-box; } body { margin:0; min-height:100svh; padding:32px; display:flex; flex-direction:column; justify-content:center; background:radial-gradient(ellipse at 90% 5%,#331016,transparent 42%),radial-gradient(ellipse at 3% 95%,#211015,transparent 40%),#0b0b0e; }
.entry-surface { width:100%; max-width:1392px; margin:auto; border:1px solid #ffffff19; border-radius:24px; background:#0a0a0c; overflow:hidden; box-shadow:0 32px 100px #0009; }
.entry-header { position:relative; z-index:2; display:flex; align-items:center; justify-content:space-between; gap:24px; padding:23px 48px; border-bottom:1px solid #ffffff0d; }
.brand-logo { position:relative; display:block; width:160px; height:50px; flex-shrink:0; overflow:hidden; }
.brand-logo img { position:absolute; width:152%; height:auto; left:-26.7%; top:-91%; mix-blend-mode:screen; }
.header-caption { color:#a2a2ac; font-size:10px; letter-spacing:.16em; }
.private-badge { font-size:11px; white-space:nowrap; color:#c5bcc0; border:1px solid #ffffff20; border-radius:999px; padding:8px 13px; }
.entry-body { display:grid; grid-template-columns:1fr 1fr; min-height:640px; }
.entry-content { position:relative; z-index:1; padding:46px 0 32px 68px; }
.eyebrow { display:flex; align-items:center; gap:12px; margin:0 0 20px; font-size:11px; font-weight:600; letter-spacing:.15em; color:#babac3; }
.eyebrow>span { width:26px; height:1px; background:#ef3247; }
h1 { font-size:clamp(40px,4.1vw,60px); font-weight:600; line-height:1.07; letter-spacing:-.052em; margin:0; }
h1>span { color:#fa3c50; }
.description { color:#a4a4ad; font-size:16px; line-height:1.7; margin:18px 0 0; }
form { max-width:370px; margin-top:28px; }
h2 { color:#e2e2e7; font-size:16px; font-weight:500; margin:0 0 20px; }
label { font-size:13px; color:#bbbbc4; display:block; margin:14px 0 8px; }
input,button { font:inherit; } input { width:100%; height:46px; color:#f5f5f7; font-size:14px; border:1px solid #ffffff20; border-radius:8px; background:#ffffff05; padding:0 14px; }
input:focus { outline:2px solid #ef3247; outline-offset:2px; } input::placeholder { color:#90909b; }
.password-field { position:relative; } .password-field input { padding-right:82px; }
.password-field button { position:absolute; right:9px; top:7px; height:32px; border:0; border-radius:4px; background:transparent; color:#b8b8c2; font-size:11px; cursor:pointer; }
button:focus-visible { outline:2px solid #ff8693; outline-offset:4px; }
.access-button { display:flex; align-items:center; justify-content:space-between; width:100%; margin-top:22px; height:48px; border:1px solid #f34256; border-radius:8px; padding:0 17px; color:#fff; background:#e92138; font-size:14px; font-weight:600; box-shadow:0 7px 28px #dd1b3020; cursor:pointer; }
.access-button:hover { background:#ff344c; } .access-button:disabled { opacity:.6; cursor:wait; }
#loginStatus { min-height:18px; color:#ff98a4; font-size:12px; line-height:1.5; margin:10px 0 0; }
.disclosure { color:#aaa2a8; font-size:12px; line-height:1.6; margin:6px 0 0; }
.entry-art { position:relative; min-width:0; overflow:hidden; }
.entry-art>img { position:absolute; width:100%; height:100%; object-fit:cover; object-position:center 44%; mix-blend-mode:screen; mask-image:linear-gradient(to bottom,transparent,#000 9%,#000 82%,transparent 99%); }
.art-caption { position:absolute; bottom:38px; left:38px; display:flex; gap:14px; }
.art-caption>span { width:27px; height:1px; background:#ed253b; margin-top:8px; }
.art-caption strong { font-size:12px; letter-spacing:.24em; font-weight:600; } .art-caption p { color:#a2a2ae; font-size:13px; margin:8px 0 0; }
footer { position:relative; display:flex; align-items:center; gap:9px; padding:20px 48px; border-top:1px solid #ffffff0b; color:#9a9aa3; font-size:12px; } footer>span { color:#b93c4c; } footer small { margin-left:auto; font-size:11px; }
.bottom-note { text-align:center; color:#978c95; font-size:10px; letter-spacing:.22em; margin:22px 0 0; }
@media(min-width:681px) and (max-height:800px) {
 body { padding:16px; }
 .entry-header { padding-block:14px; }
 .entry-body { min-height:0; }
 .entry-content { padding-top:26px; padding-bottom:22px; }
 .eyebrow { margin-bottom:14px; }
 h1 { font-size:44px; }
 .description { margin-top:12px; font-size:14px; line-height:1.5; }
 form { margin-top:20px; }
 h2 { margin-bottom:14px; }
 label { margin-top:10px; }
 input { height:40px; }
 .password-field button { top:4px; }
 .access-button { height:42px; margin-top:16px; }
 footer { padding-block:14px; }
 .bottom-note { margin-top:12px; }
}
@media(max-width:1000px) { .header-caption { display:none; } .entry-content { padding-left:36px; padding-right:12px; } .entry-header,footer { padding-inline:32px; } }
@media(max-width:680px) { body { padding:16px; } .entry-header { padding:18px 20px; gap:12px; } .brand-logo { width:120px; height:40px; } .entry-body { grid-template-columns:1fr; min-height:0; } .entry-content { padding:30px 24px; } .entry-art { display:none; } h1 { font-size:43px; } form { max-width:none; } footer { padding:18px 24px; flex-wrap:wrap; font-size:11px; } footer small { width:100%; margin:4px 0 0; } .private-badge { font-size:10px; } }
