/* Toppingdom legal and policy pages */
.legal-hero{
  padding:72px 0 58px;
  background:linear-gradient(135deg,#12314a 0%,#1d506e 100%);
  color:#fff;
}
.legal-hero .legal-kicker{
  display:inline-flex;
  margin-bottom:14px;
  padding:7px 12px;
  border:1px solid rgba(255,255,255,.28);
  border-radius:999px;
  font-size:13px;
  font-weight:800;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.legal-hero h1{
  max-width:850px;
  margin:0 0 16px;
  color:#fff;
  font-size:clamp(36px,5vw,58px);
  line-height:1.08;
}
.legal-hero p{
  max-width:820px;
  margin:0;
  color:#e3edf3;
  font-size:17px;
  line-height:1.75;
}
.legal-meta{
  display:flex;
  flex-wrap:wrap;
  gap:12px;
  margin-top:24px;
}
.legal-meta span{
  padding:8px 12px;
  border-radius:8px;
  background:rgba(255,255,255,.1);
  color:#f4f8fa;
  font-size:13px;
  font-weight:700;
}
.legal-layout{
  display:grid;
  grid-template-columns:minmax(0,1fr) 290px;
  gap:34px;
  align-items:start;
  padding:62px 0 74px;
}
.legal-card{
  padding:34px;
  border:1px solid #e0e8ed;
  border-radius:18px;
  background:#fff;
  box-shadow:0 14px 36px rgba(18,49,74,.07);
}
.legal-card h2{
  margin:34px 0 12px;
  color:#12314a;
  font-size:25px;
  line-height:1.25;
}
.legal-card h2:first-child{margin-top:0}
.legal-card h3{
  margin:24px 0 8px;
  color:#1c455f;
  font-size:19px;
}
.legal-card p,.legal-card li{
  color:#536474;
  font-size:15.5px;
  line-height:1.78;
}
.legal-card p{margin:0 0 14px}
.legal-card ul,.legal-card ol{margin:8px 0 18px;padding-left:22px}
.legal-card li{margin-bottom:8px}
.legal-card strong{color:#243b4d}
.legal-callout{
  margin:24px 0;
  padding:17px 18px;
  border-left:4px solid #f47c20;
  border-radius:0 10px 10px 0;
  background:#fff7ef;
  color:#5b4a3d;
  line-height:1.7;
}
.legal-contact-box{
  margin-top:28px;
  padding:20px;
  border:1px solid #dce8e1;
  border-radius:14px;
  background:#f4fbf7;
}
.legal-contact-box h2{margin:0 0 8px;font-size:22px}
.legal-contact-box p:last-child{margin-bottom:0}
.legal-side{
  position:sticky;
  top:94px;
  padding:22px;
  border:1px solid #e0e8ed;
  border-radius:16px;
  background:#f7fafb;
}
.legal-side h2{
  margin:0 0 12px;
  color:#12314a;
  font-size:19px;
}
.legal-side a{
  display:block;
  margin:5px 0;
  padding:10px 12px;
  border-radius:9px;
  color:#435769;
  font-size:14px;
  font-weight:700;
  text-decoration:none;
}
.legal-side a:hover,.legal-side a.active{
  background:#e8f7ee;
  color:#087a3f;
}
.footer-legal-links{
  display:flex;
  flex-wrap:wrap;
  justify-content:center;
  gap:8px 16px;
  padding:18px 0 8px;
  border-top:1px solid rgba(255,255,255,.14);
}
.footer-legal-links a{
  color:#d9e3e9;
  font-size:13px;
  text-decoration:none;
}
.footer-legal-links a:hover{color:#fff;text-decoration:underline}
.legal-note{
  margin:0;
  padding:14px 16px;
  border-radius:10px;
  background:#f4f7f9;
  color:#627282;
  font-size:13px;
  line-height:1.65;
}
@media(max-width:900px){
  .legal-layout{grid-template-columns:1fr}
  .legal-side{position:static;order:-1}
}
@media(max-width:560px){
  .legal-hero{padding:54px 0 44px}
  .legal-layout{padding:42px 0 56px}
  .legal-card{padding:23px}
  .footer-legal-links{justify-content:flex-start}
}
