/* Forttic — legal / policy pages */

.legal-page{
  padding:48px 0 96px;
}
.legal-hero{
  padding:56px 0 40px;
  border-bottom:1px solid var(--ink-line);
  margin-bottom:48px;
}
.legal-hero h1{
  font-size:clamp(32px,4.5vw,48px);
  max-width:720px;
  margin-top:16px;
}
.legal-meta{
  margin-top:14px;
  font-size:14px;
  color:var(--ink-mute);
}
.legal-doc{
  max-width:760px;
}
.legal-doc > p.lede{
  font-size:17px;
  line-height:1.65;
  color:var(--ink-soft);
  margin-bottom:32px;
}
.legal-doc h2{
  font-size:clamp(22px,2.8vw,28px);
  margin:40px 0 14px;
  padding-top:8px;
}
.legal-doc h3{
  font-size:18px;
  margin:28px 0 10px;
  font-family:var(--body);
  font-weight:700;
  letter-spacing:0;
}
.legal-doc p,
.legal-doc li{
  font-size:15.5px;
  line-height:1.7;
  color:var(--ink-soft);
}
.legal-doc p{margin:0 0 16px;}
.legal-doc ul,
.legal-doc ol{
  margin:0 0 18px 1.25rem;
  display:flex;
  flex-direction:column;
  gap:8px;
}
.legal-doc a{
  color:var(--teal-deep);
  text-decoration:underline;
  text-underline-offset:3px;
}
.legal-doc a:hover{color:var(--ink);}
.legal-callout{
  background:var(--paper);
  border:1px solid var(--ink-line);
  border-radius:var(--radius);
  padding:18px 20px;
  margin:24px 0 32px;
  font-size:14px;
  line-height:1.6;
  color:var(--ink-mute);
}
.legal-doc table{
  width:100%;
  border-collapse:collapse;
  margin:16px 0 24px;
  font-size:14px;
}
.legal-doc th,
.legal-doc td{
  border:1px solid var(--ink-line);
  padding:10px 12px;
  text-align:left;
  vertical-align:top;
}
.legal-doc th{
  background:var(--cream-deep);
  font-weight:600;
  color:var(--ink);
}

@media (max-width:680px){
  .legal-page{padding:32px 0 72px;}
  .legal-hero{padding:40px 0 28px;margin-bottom:32px;}
}
