:root{--sand:#eee0c5;--paper:#fff5e1;--ink:#563c26;--muted:#80684c;--line:#c5a879;--gold:#b88b3d;--brown:#76502f;--mono:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;--serif:Georgia,'Times New Roman',serif;color-scheme:light}
*{box-sizing:border-box}
html,body{margin:0;min-height:100%}
body{min-height:100vh;display:flex;flex-direction:column;color:var(--ink);background:radial-gradient(ellipse at 70% 0,#fff5df 0,transparent 55%),var(--sand);font:15px/1.6 system-ui,-apple-system,'Segoe UI',sans-serif}
.gate{flex:1;display:grid;grid-template-columns:minmax(0,1.15fr) minmax(320px,440px);gap:0;max-width:1080px;width:100%;margin:40px auto 0;padding:0 20px;align-items:stretch}
.hero{position:relative;min-height:520px;border:3px solid var(--line);border-right:0;background:#d9c39b url(/assets/coliseum.png) center/cover no-repeat;image-rendering:pixelated;box-shadow:inset 0 0 0 4px #f4e6c8}
.hero::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(238,224,197,0) 55%,rgba(238,224,197,.55))}
.banner{position:absolute;left:28px;top:0;z-index:1;width:92px;padding:18px 0 34px;text-align:center;background:#8a3b2a;border:3px solid #5d2a1d;border-top:0;clip-path:polygon(0 0,100% 0,100% 100%,50% 84%,0 100%);box-shadow:0 4px 0 rgba(0,0,0,.15)}
.banner span{font:900 13px var(--mono);letter-spacing:3px;color:#ffe7b0;writing-mode:vertical-rl;transform:rotate(180deg)}
.card{background:var(--paper);border:3px solid var(--line);box-shadow:inset 0 0 0 4px #f8ecd2,0 6px 0 #d2bb92;padding:40px 36px 32px;display:flex;flex-direction:column;justify-content:center}
.brand{display:flex;align-items:center;gap:12px;color:var(--ink);text-decoration:none;font:900 23px var(--mono);letter-spacing:3px;margin-bottom:34px}
.brand small{display:block;font-size:8px;letter-spacing:2px;margin-top:7px;color:var(--muted)}
.brand-emblem{display:grid;place-items:center;width:42px;height:49px;font:700 27px var(--serif);color:#95662f;border:2px solid #a27a44;background:#f7e9c8;clip-path:polygon(0 0,100% 0,100% 75%,50% 100%,0 75%)}
.eyebrow{font:700 10px var(--mono);letter-spacing:2px;color:#95703e;margin:0 0 8px}
h1{font:700 34px/1.15 var(--mono);letter-spacing:-1px;margin:0 0 12px}
.lead{margin:0 0 24px;color:var(--muted)}
.notice{margin:0 0 18px;padding:12px 14px;border:2px solid #a9c599;background:#eef4e4;font-size:14px}
.notice.warn{border-color:#d49a6a;background:#fbeadb}
.step{display:flex;flex-direction:column;gap:10px}
.step[hidden]{display:none}
label{font:700 10px var(--mono);letter-spacing:2px;color:#95703e;text-transform:uppercase}
input[type=email],input[type=text]{font:16px var(--mono);color:var(--ink);background:#fffaf0;border:2px solid var(--line);border-radius:3px;padding:13px 14px;width:100%}
input:focus{outline:3px solid var(--gold);outline-offset:1px;border-color:#a27a44}
#code{font-size:26px;letter-spacing:10px;text-align:center}
.primary{margin-top:6px;font:700 14px var(--mono);letter-spacing:.5px;color:#fff3d7;background:var(--brown);border:1px solid #9d7548;border-radius:3px;box-shadow:0 4px #543b26;padding:14px 18px;cursor:pointer;transition:transform .08s,box-shadow .08s}
.primary:hover{background:#86603c}
.primary:active{transform:translateY(3px);box-shadow:0 1px #543b26}
.primary:focus-visible{outline:3px solid var(--gold);outline-offset:3px}
.link{margin-top:6px;font-size:13px;color:#76502f;text-align:center}
.fine{margin:22px 0 0;font-size:12.5px;color:var(--muted)}
.foot{text-align:center;padding:26px 16px 30px;font:700 10px var(--mono);letter-spacing:2px;color:#95703e;text-transform:uppercase}
@media (max-width:760px){
 .gate{grid-template-columns:1fr;align-content:start;margin-top:16px;padding:0 16px}
 .hero{min-height:0;height:170px;background-position:center 30%;border-right:3px solid var(--line);border-bottom:0}
 .banner{left:18px;width:64px;padding:12px 0 24px}
 .banner span{font-size:10px}
 .card{padding:28px 22px 26px}
 .brand{margin-bottom:24px}
 h1{font-size:28px}
}
@media (prefers-reduced-motion:reduce){.primary{transition:none}}
