*, *::before, *::after { margin:0; padding:0; box-sizing:border-box; }

:root {
  --negro:#070604;
  --negro-card:#141209;
  --negro-line:rgba(255,255,255,0.05);
  --crema:#EDE8DF;
  --crema-soft:#DDD6CA;
  --crema-mute:#9B907F;
  --texto:#E0D9CE;
  --dorado:#B8973A;
  --dorado-claro:#D4AF62;
  --dorado-soft:rgba(184,151,58,0.18);
}

html, body { background:var(--negro) !important; }
body {
  font-family:'Jost',sans-serif;
  font-weight:300;
  color:var(--texto);
  line-height:1.85;
  -webkit-font-smoothing:antialiased;
}

.legal-wrap {
  max-width:680px;
  margin:0 auto;
  padding:48px 28px 80px;
}

/* Brand emblem */
.legal-emblem {
  text-align:center;
  margin:0 0 36px;
  padding-bottom:28px;
  border-bottom:1px solid var(--negro-line);
}
.legal-emblem .monogram {
  font-family:'Cormorant Garamond',serif;
  font-size:0.92rem;
  font-style:italic;
  color:var(--dorado);
  letter-spacing:5px;
  text-transform:uppercase;
  display:inline-block;
  padding:0 18px;
  position:relative;
}
.legal-emblem .monogram::before,
.legal-emblem .monogram::after {
  content:'';
  position:absolute;
  top:50%;
  width:32px;
  height:1px;
  background:var(--dorado-soft);
}
.legal-emblem .monogram::before { right:100%; }
.legal-emblem .monogram::after { left:100%; }

.legal-wrap h1 {
  font-family:'Cormorant Garamond',Georgia,serif;
  font-size:clamp(2rem,7vw,3rem);
  font-weight:400;
  color:var(--crema);
  margin-bottom:8px;
  line-height:1.1;
}
.legal-wrap .legal-updated {
  font-size:0.7rem;
  color:var(--crema-mute);
  letter-spacing:2px;
  text-transform:uppercase;
  margin-bottom:42px;
  display:block;
}
.legal-wrap h2 {
  font-family:'Cormorant Garamond',Georgia,serif;
  font-size:1.35rem;
  font-weight:500;
  color:var(--dorado);
  margin:40px 0 14px;
  letter-spacing:0.3px;
  line-height:1.3;
}
.legal-wrap p {
  font-size:0.88rem;
  color:var(--texto);
  margin-bottom:14px;
  line-height:1.85;
}
.legal-wrap p strong { color:var(--crema-soft); font-weight:400; }
.legal-wrap ul {
  list-style:none;
  padding:0;
  margin:10px 0 18px;
}
.legal-wrap ul li {
  font-size:0.86rem;
  color:var(--crema-soft);
  padding:5px 0 5px 18px;
  position:relative;
  line-height:1.78;
}
.legal-wrap ul li::before {
  content:'';
  position:absolute;
  left:0;
  top:14px;
  width:4px;
  height:4px;
  background:var(--dorado);
  border-radius:50%;
}
.legal-wrap ul li strong { color:var(--crema); font-weight:400; }
.legal-wrap .legal-data {
  background:var(--negro-card);
  border-left:2px solid var(--dorado);
  padding:20px 24px;
  margin:18px 0 22px;
  font-size:0.85rem;
  line-height:1.95;
}
.legal-wrap .legal-data strong { color:var(--crema-soft); font-weight:400; }
.legal-wrap .legal-data a {
  color:var(--dorado-claro);
  text-decoration:none;
  border-bottom:1px solid var(--dorado-soft);
}
.legal-wrap .legal-data a:hover { border-bottom-color:var(--dorado-claro); }
.legal-wrap a {
  color:var(--dorado-claro);
  text-decoration:none;
  border-bottom:1px solid var(--dorado-soft);
  transition:border-color 0.2s;
}
.legal-wrap a:hover { border-bottom-color:var(--dorado-claro); }

.legal-wrap .legal-footer {
  margin-top:56px;
  padding-top:28px;
  border-top:1px solid var(--negro-line);
  text-align:center;
  font-size:0.7rem;
  color:var(--crema-mute);
  line-height:1.7;
}
.legal-wrap .legal-footer strong { color:var(--crema-soft); font-weight:400; }
.legal-wrap .legal-footer a {
  color:var(--dorado);
  border-bottom-color:transparent;
  letter-spacing:0.5px;
}
.legal-wrap .legal-footer-links {
  display:flex;
  flex-wrap:wrap;
  justify-content:center;
  gap:8px 18px;
  margin-top:14px;
}

@media (max-width:560px) {
  .legal-wrap { padding:32px 22px 64px; }
}