:root { color-scheme: light; --ink:#2f2728; --muted:#756a6b; --paper:#fffaf7; --line:#eaded8; --rose:#b45e69; --rose-dark:#8d4651; --sage:#708474; }
* { box-sizing: border-box; }
body { margin:0; background:var(--paper); color:var(--ink); font:16px/1.7 system-ui,-apple-system,"Segoe UI",sans-serif; }
main { width:min(720px,calc(100% - 32px)); margin:0 auto; padding:28px 0 64px; }
.hero { border-bottom:1px solid var(--line); padding:24px 0 28px; }
.eyebrow { color:var(--rose); font-size:13px; letter-spacing:.12em; }
h1 { margin:8px 0; font:700 clamp(28px,8vw,48px)/1.15 Georgia,serif; }
.subtitle { color:var(--muted); margin:0; }
.notice { border-left:3px solid var(--rose); background:#fff1ee; padding:12px 14px; margin:22px 0; }
section { margin-top:28px; }
h2 { font-size:18px; margin:0 0 12px; }
.hero-title { margin:8px 0; font:700 clamp(28px,8vw,48px)/1.15 Georgia,serif; }
.timeline { display:grid; gap:12px; }
.event { border:1px solid var(--line); border-radius:8px; padding:14px; background:#fff; }
.event-head { display:flex; align-items:baseline; gap:12px; flex-wrap:wrap; }
.time { color:var(--rose-dark); font-weight:700; min-width:88px; }
.event-title { font-weight:700; }
.event p { margin:5px 0 0; color:var(--muted); }
.place { color:var(--sage); font-size:14px; margin-top:5px; }
.contact { display:flex; justify-content:space-between; gap:12px; align-items:center; border-bottom:1px solid var(--line); padding:10px 0; }
.contact a { color:var(--rose-dark); }
.muted { color:var(--muted); }
.gate { max-width:420px; margin:12vh auto; text-align:center; }
label { display:block; text-align:left; font-weight:600; margin:14px 0 6px; }
input,button { width:100%; min-height:46px; border-radius:7px; font:inherit; }
input { border:1px solid #cfbfba; padding:10px 12px; background:#fff; }
input::placeholder { color:#6e6668; opacity:1; }
.demo-account { display:flex; justify-content:space-between; flex-wrap:wrap; gap:4px 16px; margin-top:14px; color:var(--muted); font-size:13px; text-align:left; }
.demo-account[hidden] { display:none; }
.demo-account strong { color:#5d5355; font-weight:600; }
button { border:0; background:var(--rose); color:#fff; font-weight:700; cursor:pointer; }
button:hover { background:var(--rose-dark); }
button:disabled,button:disabled:hover { background:#b9acab; cursor:not-allowed; }
.error { color:#a13f47; min-height:28px; }
footer { border-top:1px solid var(--line); margin-top:36px; padding-top:18px; color:var(--muted); font-size:13px; }
@media (max-width:420px) { main { width:min(100% - 24px,720px); } .time { min-width:68px; } }
