:root { --primary:#ff9418; --text:#242831; --muted:#68707b; }
* { box-sizing:border-box; }
body { margin:0; background:#f4f5f7; color:var(--text); font:16px/1.7 system-ui,-apple-system,"Segoe UI",sans-serif; }
header,main,footer { max-width:850px; margin:auto; }
header { display:flex; align-items:center; justify-content:space-between; gap:16px; padding:24px; }
.brand { display:flex; align-items:center; gap:8px; font-size:22px; font-weight:900; letter-spacing:-.04em; text-decoration:none; color:var(--text); }
.brand span { color:#ba5700; margin-left:-8px; }
main { background:#fff; border:1px solid #e9eaed; border-radius:24px; padding:clamp(24px,5vw,48px); }
h1 { font-size:clamp(28px,5vw,40px); line-height:1.18; letter-spacing:-.045em; margin:12px 0 20px; }
h2 { font-size:22px; line-height:1.3; margin:32px 0 12px; }
p { margin:12px 0; } li { margin:12px 0; } ul { padding-left:22px; }
a { color:#9c4b00; text-underline-offset:3px; overflow-wrap:anywhere; }
.eyebrow { color:#9c4b00; font-size:12px; text-transform:uppercase; letter-spacing:.09em; font-weight:750; }
.muted,.hint { color:var(--muted); } .hint { font-size:13px; }
.notice { background:#fff7ed; border:1px solid #ffe1bd; border-radius:16px; padding:20px; margin:24px 0; }
summary { cursor:pointer; }
form { margin:28px 0; } label { display:block; font-weight:650; margin-bottom:8px; }
input[type=text],input[type=password] { display:block; width:100%; border:1px solid #cbd0d7; border-radius:12px; padding:14px; font:inherit; margin-bottom:16px; }
.check { display:flex; gap:12px; font-weight:400; margin:24px 0; align-items:flex-start; }
input[type=checkbox] { margin-top:6px; width:20px; height:20px; flex:none; accent-color:#c56200; }
.button { display:inline-flex; align-items:center; justify-content:center; min-height:48px; padding:12px 22px; border:0; border-radius:12px; background:var(--primary); color:#242831; font:inherit; font-weight:750; text-decoration:none; cursor:pointer; }
.button.secondary { border:1px solid #efcfaa; background:#fff7ed; }
:focus-visible { outline:3px solid #ae5700; outline-offset:3px; }
.errorlist { color:#b32222; }
footer { display:flex; flex-wrap:wrap; gap:12px 24px; font-size:13px; padding:24px 24px max(24px,env(safe-area-inset-bottom)); }
@media(max-width:600px) { main { border-radius:20px; margin:0 12px; } header { padding:18px 24px; } .button { width:100%; } }
