:root{
  --ink:#2f3a40; --soft:#5d6b72; --line:rgba(47,58,64,.18);
  --bg1:#e9eef0; --bg2:#dfe7e4; --bg3:#efe9e1;
}
*{box-sizing:border-box;margin:0;padding:0}
html,body{height:100%}
body{
  font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;
  color:var(--ink); line-height:1.6;
  background:linear-gradient(130deg,var(--bg1),var(--bg2),var(--bg3),var(--bg1));
  background-size:300% 300%; animation:drift 40s ease-in-out infinite;
  min-height:100vh; display:flex; flex-direction:column;
}
@keyframes drift{0%{background-position:0% 50%}50%{background-position:100% 50%}100%{background-position:0% 50%}}
@media (prefers-reduced-motion:reduce){body{animation:none}}
main{flex:1;display:flex;align-items:center;justify-content:center;padding:48px 24px}
.card{text-align:center;max-width:560px}
.brand{font-family:Georgia,"Times New Roman",serif;font-size:clamp(2.2rem,6vw,3.2rem);letter-spacing:.18em;font-weight:400}
.sub{font-size:.8rem;letter-spacing:.3em;text-transform:uppercase;color:var(--soft);margin-top:4px}
.rule{width:48px;height:1px;background:var(--ink);opacity:.4;margin:32px auto}
.msg{font-size:1.15rem}
.msg-en{color:var(--soft);font-size:.95rem;margin-top:6px}
.contact{margin-top:32px;font-size:.95rem}
a{color:var(--ink);text-decoration:none;border-bottom:1px solid var(--line)}
a:hover{border-bottom-color:var(--ink)}
footer{text-align:center;padding:24px;font-size:.8rem;color:var(--soft)}
footer a{color:var(--soft);margin:0 10px}
/* legal pages */
.legal{max-width:720px;margin:0 auto;padding:56px 24px;flex:1}
.legal h1{font-family:Georgia,serif;font-weight:400;font-size:2rem;margin-bottom:24px}
.legal h2{font-size:1.05rem;margin:28px 0 8px}
.legal p,.legal li{font-size:.95rem;margin-bottom:8px}
.legal ul{padding-left:20px}
.back{display:inline-block;margin-bottom:32px;font-size:.9rem}
.todo{background:#fff3c4;padding:0 4px;border-radius:3px}
