:root{
  --brand:#EB0A1E;
  --ink:#0F172A;
  --muted:#6B7280;
  --line:#E5E7EB;
  --bg:#F6F7F9;
  --surface:#FFFFFF;
  --soft:#F8FAFC;
  --navbar-h:70px;
  --shadow:0 18px 50px rgba(15,23,42,.10);
}
html,body{
  background:var(--bg);
  color:var(--ink);
}
.legal-hero{
  padding:calc(var(--navbar-h) + 3.25rem) 0 3.5rem;
  margin-top:calc(-1 * var(--navbar-h));
  background:
    radial-gradient(900px 360px at 86% 0%,rgba(235,10,30,.13),transparent 62%),
    linear-gradient(135deg,#111827,#1F2937);
  color:#fff;
}
.legal-eyebrow{
  display:inline-flex;
  align-items:center;
  gap:.5rem;
  margin-bottom:.75rem;
  color:#FCA5A5;
  font-size:.78rem;
  font-weight:900;
  letter-spacing:.16em;
  text-transform:uppercase;
}
.legal-title{
  max-width:900px;
  margin:0;
  font-size:clamp(2rem,5vw,3.7rem);
  font-weight:900;
  letter-spacing:-.035em;
  line-height:1.05;
}
.legal-subtitle{
  max-width:760px;
  margin:.9rem 0 0;
  color:#E5E7EB;
  font-size:clamp(1rem,2vw,1.18rem);
}
.legal-main{
  padding:2rem 0 4rem;
}
.legal-card{
  background:var(--surface);
  border:1px solid var(--line);
  border-radius:24px;
  padding:clamp(1.35rem,3vw,3rem);
  box-shadow:var(--shadow);
}
.legal-card + .legal-card{
  margin-top:1.25rem;
}
.legal-card h2{
  margin:2rem 0 .75rem;
  font-size:clamp(1.35rem,2.5vw,1.8rem);
  font-weight:900;
  letter-spacing:-.015em;
}
.legal-card h2:first-child{
  margin-top:0;
}
.legal-card h3{
  margin:1.35rem 0 .45rem;
  font-size:1.1rem;
  font-weight:850;
}
.legal-card p,
.legal-card li{
  color:#374151;
  line-height:1.72;
}
.legal-card ul,
.legal-card ol{
  padding-left:1.25rem;
}
.legal-card li + li{
  margin-top:.42rem;
}
.legal-note{
  margin:1.25rem 0;
  padding:1rem 1.1rem;
  border-left:4px solid var(--brand);
  border-radius:12px;
  background:#FFF5F6;
  color:#4B5563;
}
.legal-index-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:1rem;
}
.legal-index-link{
  display:block;
  height:100%;
  padding:1.25rem;
  border:1px solid var(--line);
  border-radius:16px;
  background:var(--soft);
  color:var(--ink);
  text-decoration:none;
  transition:.18s ease;
}
.legal-index-link:hover{
  transform:translateY(-2px);
  border-color:#D1D5DB;
  box-shadow:0 12px 28px rgba(15,23,42,.08);
}
.legal-index-link strong{
  display:block;
  margin-bottom:.25rem;
  font-size:1.05rem;
}
.legal-index-link span{
  color:var(--muted);
}
.legal-table-wrap{
  overflow:auto;
  margin:1rem 0;
}
.legal-table{
  width:100%;
  min-width:680px;
  border-collapse:collapse;
}
.legal-table th,
.legal-table td{
  padding:.9rem;
  border-bottom:1px solid var(--line);
  text-align:left;
  vertical-align:top;
}
.legal-table th{
  background:var(--soft);
  color:#374151;
  font-size:.78rem;
  letter-spacing:.05em;
  text-transform:uppercase;
}
.legal-anchor{
  scroll-margin-top:100px;
}
.legal-contact-box{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  justify-content:space-between;
  gap:1rem;
  margin-top:1.25rem;
  padding:1.2rem;
  border:1px solid var(--line);
  border-radius:16px;
  background:var(--soft);
}
.legal-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:44px;
  padding:.65rem 1.1rem;
  border-radius:999px;
  background:var(--brand);
  color:#fff;
  font-weight:850;
  text-decoration:none;
}
.legal-btn:hover{
  color:#fff;
  filter:brightness(.96);
}
.legal-updated{
  margin-top:1rem;
  color:#D1D5DB;
  font-size:.9rem;
}
@media(max-width:767.98px){
  .legal-index-grid{grid-template-columns:1fr}
  .legal-hero{padding-bottom:2.5rem}
}
