/* Privacy page, on top of the site stylesheet. */
.legal-page{padding:28px 0 10px}
.legal h1{font-size:clamp(44px,7vw,76px);line-height:1.02;margin-top:18px;max-width:900px;font-weight:740}
.legal h2{font-size:clamp(26px,3vw,34px);line-height:1.15;margin:36px 0 10px}
.legal p,.legal li{color:var(--muted);font-size:17px;line-height:1.7}
.legal p{margin-top:12px}
.legal ul{margin:12px 0 0;padding-left:22px}
.legal a{color:var(--primary)}
.legal a:hover{text-decoration:underline}
.card{
  margin-top:48px;
  padding:28px 24px;
  background:var(--panel);
  border:1px solid var(--line);
  border-radius:var(--radius);
}
.card h2{font-size:clamp(26px,3vw,34px);line-height:1.15;margin-bottom:18px}
.card form label{display:block;font-weight:700;font-size:14px;margin-bottom:16px}
.card input[type=text],
.card input[type=email],
.card input[type=date]{
  display:block;
  width:100%;
  margin-top:6px;
  padding:13px 14px;
  border-radius:12px;
  border:1px solid var(--line);
  background:#0b0e0e;
  color:var(--text);
  color-scheme:dark;
}
.card input:focus{outline:none;border-color:var(--primary)}
.card fieldset{border:0;padding:0;margin:0 0 16px}
.card legend{font-weight:700;font-size:14px;margin-bottom:8px}
.card .choice,
.card .check{
  display:flex;
  gap:12px;
  align-items:flex-start;
  padding:14px;
  border:1px solid var(--line);
  border-radius:14px;
  margin-bottom:10px;
  font-weight:500;
  cursor:pointer;
}
.card .choice:has(input:checked){border-color:var(--primary);background:rgba(43,212,194,.08)}
.card .choice input,
.card .check input{margin-top:3px;accent-color:var(--primary);width:18px;height:18px;flex:none}
.card .req{color:#ff8a8a}
.card .opt{color:var(--muted);font-weight:400}
.card .btn{
  margin-top:6px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border:0;
  border-radius:999px;
  background:var(--primary);
  color:#021311;
  padding:13px 19px;
  font-size:14px;
  font-weight:790;
  cursor:pointer;
}
.card .btn:hover{opacity:.9}
.card .err{color:#ff8a8a;font-size:14px;margin-bottom:12px}
.card .confirm{
  padding:16px;
  border-radius:14px;
  background:rgba(43,212,194,.08);
  border:1px solid rgba(43,212,194,.26);
  color:#cfecea;
}
.publication-date{color:var(--muted);font-size:14px;margin:36px 0 56px}
.publication-date mark{
  background:transparent;
  color:var(--primary);
  font-weight:750;
  border-bottom:1px dashed var(--primary);
  padding:0 2px;
}
@media(max-width:640px){
  .legal h1{font-size:44px}
  .card{padding:22px 16px}
}
