
:root{
  --legal-navy:#0b2f4f;
  --legal-red:#9d0000;
  --legal-text:#17212b;
  --legal-muted:#5f6872;
  --legal-line:#d8dde3;
  --legal-bg:#f6f7f8;
  --legal-white:#fff;
}

*{box-sizing:border-box}

body.legal-page{
  margin:0;
  background:var(--legal-bg);
  color:var(--legal-text);
  font-family:Arial,Helvetica,sans-serif;
  line-height:1.65;
}

.legal-topbar{
  background:var(--legal-navy);
  color:#fff;
  border-top:5px solid var(--legal-red);
}

.legal-topbar-inner{
  max-width:980px;
  margin:0 auto;
  padding:20px 24px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:20px;
}

.legal-brand{
  font-weight:700;
  letter-spacing:.02em;
}

.legal-home{
  color:#fff;
  text-decoration:underline;
  font-size:14px;
}

.legal-shell{
  max-width:980px;
  margin:30px auto 50px;
  padding:0 20px;
}

.legal-card{
  background:var(--legal-white);
  border-top:5px solid var(--legal-red);
  padding:34px 38px 42px;
  box-shadow:0 6px 22px rgba(0,0,0,.06);
}

.legal-card h1{
  margin:0 0 4px;
  font-size:30px;
  line-height:1.2;
  color:#111;
}

.legal-updated{
  margin:0 0 28px;
  color:var(--legal-muted);
  font-size:14px;
}

.legal-nav{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin-bottom:28px;
  padding-bottom:20px;
  border-bottom:1px solid var(--legal-line);
}

.legal-nav a{
  color:var(--legal-navy);
  font-weight:700;
  text-decoration:none;
  border:1px solid var(--legal-line);
  padding:8px 12px;
}

.legal-nav a:hover{
  text-decoration:underline;
}

.legal-card section{
  margin-top:30px;
}

.legal-card h2{
  margin:0 0 12px;
  font-size:21px;
  line-height:1.35;
  color:var(--legal-navy);
}

.legal-card p{
  margin:9px 0;
}

.legal-card ol,
.legal-card ul{
  margin:10px 0 12px 22px;
  padding:0;
}

.legal-card li{
  margin:8px 0;
}

.legal-card a{
  color:var(--legal-red);
  overflow-wrap:anywhere;
}

.legal-contact{
  background:#f9fafb;
  border-left:4px solid var(--legal-navy);
  padding:14px 16px;
  margin:16px 0;
}

.legal-footer{
  max-width:980px;
  margin:0 auto 40px;
  padding:0 20px;
  color:var(--legal-muted);
  font-size:13px;
  text-align:center;
}

@media(max-width:650px){
  .legal-topbar-inner{
    padding:16px;
    align-items:flex-start;
    flex-direction:column;
  }

  .legal-shell{
    margin:18px auto 34px;
    padding:0 10px;
  }

  .legal-card{
    padding:24px 18px 30px;
  }

  .legal-card h1{
    font-size:25px;
  }

  .legal-card h2{
    font-size:19px;
  }
}
