:root{
  --bg:#f5f5f5;
  --ink:#0f386b;
  --ink-soft:#3c5a82;
  --sky:#43c1ed;
  --line: rgba(15,56,107,0.16);
}
*{margin:0;padding:0;box-sizing:border-box;}
body{
  background:var(--bg);
  color:var(--ink);
  font-family:'Work Sans', sans-serif;
  line-height:1.65;
}
.wrap{max-width:720px; margin:0 auto; padding:0 28px;}
a{color:var(--sky); text-decoration:none;}
a:hover{text-decoration:underline;}
a:focus-visible{outline:2px solid var(--sky); outline-offset:3px;}

.legal-header{
  padding:24px 0; border-bottom:1px solid var(--line);
}
.legal-header .back{color:var(--ink-soft); font-size:0.92rem;}

.legal{padding:56px 0 80px;}
.legal h1{
  font-family:'Fraunces', serif; font-weight:400; font-size:clamp(2rem,4vw,2.6rem);
  margin-bottom:32px;
}
.legal h2{
  font-family:'Fraunces', serif; font-weight:500; font-size:1.15rem;
  margin:36px 0 12px;
}
.legal .kicker{
  font-family:'Space Mono', monospace; font-size:0.78rem; letter-spacing:0.18em;
  text-transform:uppercase; color:var(--sky); display:block; margin-bottom:14px;
}
.legal p{color:var(--ink-soft); margin-bottom:6px;}
.legal p.hint{
  margin-top:40px; padding:16px 18px; background:#fff; border:1px solid var(--line);
  font-size:0.88rem; font-style:italic;
}

.legal-footer{
  padding:28px 0 60px; border-top:1px solid var(--line); margin-top:20px;
}
.legal-footer .wrap{display:flex; justify-content:space-between; gap:16px; flex-wrap:wrap; font-size:0.85rem; color:var(--ink-soft);}
