/* Ars Festum — legal pages (document style, brand-consistent) */
:root{
  --cream:#F5EFE7; --ink:#2A2320; --ink-soft:rgba(42,35,32,.66); --ink-faint:rgba(42,35,32,.42);
  --rose-ground:#5E2F3C; --rose-accent:#B9818C; --eyebrow:#AE7A85;
  --serif:"Cormorant Garamond",Georgia,"Times New Roman",serif;
  --sans:"Jost",system-ui,-apple-system,"Helvetica Neue",sans-serif;
  --edge:clamp(22px,6vw,80px);
}
*{ margin:0; padding:0; box-sizing:border-box; }
html{ -webkit-text-size-adjust:100%; scroll-behavior:smooth; }
body{ background:var(--cream); color:var(--ink); font-family:var(--sans); font-weight:300; -webkit-font-smoothing:antialiased; }

.legal-nav{
  display:flex; align-items:center; justify-content:space-between; gap:16px;
  padding:clamp(20px,3vh,30px) var(--edge);
  border-bottom:1px solid rgba(42,35,32,.10);
}
.legal-nav a.brand{ display:inline-flex; align-items:center; gap:12px; }
.legal-nav img{ width:54px; height:auto; display:block; }
.legal-nav .home{
  font-family:var(--sans); font-weight:400; font-size:11px; letter-spacing:0.26em;
  text-transform:uppercase; color:var(--ink-soft); transition:color .35s ease;
}
.legal-nav .home:hover{ color:var(--ink); }

.legal-wrap{ max-width:760px; margin:0 auto; padding:clamp(56px,10vh,120px) var(--edge) clamp(80px,12vh,140px); }
.legal-eyebrow{
  font-family:var(--sans); font-weight:400; font-size:11px; letter-spacing:0.3em;
  text-transform:uppercase; color:var(--eyebrow);
}
.legal-wrap h1{
  font-family:var(--serif); font-weight:400; letter-spacing:-0.012em; line-height:1.05;
  font-size:clamp(38px,6vw,64px); margin-top:clamp(14px,2vh,20px); color:var(--ink);
}
.legal-updated{ margin-top:18px; font-size:13px; letter-spacing:0.04em; color:var(--ink-faint); }

.legal-wrap h2{
  font-family:var(--serif); font-weight:500; letter-spacing:-0.005em; line-height:1.18;
  font-size:clamp(23px,3vw,32px); margin-top:clamp(44px,6vh,68px); color:var(--ink);
}
.legal-wrap h3{
  font-family:var(--sans); font-weight:500; font-size:15px; letter-spacing:0.02em;
  margin-top:clamp(26px,3.4vh,34px); color:var(--ink);
}
.legal-wrap p,
.legal-wrap li{
  font-family:var(--sans); font-weight:300; font-size:16px; line-height:1.85; color:var(--ink-soft);
  margin-top:16px; max-width:64ch;
}
.legal-wrap ul{ margin-top:8px; padding-left:1.2em; }
.legal-wrap li{ margin-top:8px; }
.legal-wrap a{ color:var(--ink); border-bottom:1px solid var(--rose-accent); padding-bottom:1px; transition:border-color .3s ease; }
.legal-wrap a:hover{ border-color:var(--ink); }
.legal-wrap strong{ font-weight:500; color:var(--ink); }
.legal-note{
  margin-top:clamp(40px,6vh,64px); padding:clamp(18px,3vw,26px);
  background:#EFE6DB; border-left:2px solid var(--rose-accent);
  font-size:14px; line-height:1.7; color:var(--ink-soft);
}

.legal-foot{
  border-top:1px solid rgba(42,35,32,.10);
  padding:clamp(34px,5vh,52px) var(--edge);
  display:flex; align-items:center; justify-content:space-between; gap:16px; flex-wrap:wrap;
}
.legal-foot nav{ display:flex; gap:clamp(16px,2.4vw,30px); flex-wrap:wrap; }
.legal-foot a, .legal-foot p{
  font-family:var(--sans); font-weight:300; font-size:12px; letter-spacing:0.06em; color:var(--ink-soft);
}
.legal-foot a{ transition:color .3s ease; }
.legal-foot a:hover{ color:var(--ink); }
@media (max-width:560px){ .legal-foot{ flex-direction:column; align-items:flex-start; gap:14px; } }
