:root{
  --jaune:#FFD200;--rouge:#C8102E;
  --noir:#1A1A1A;--gris-fonce:#3A3A3A;
  --gris:#6B6B6B;--gris-clair:#E8E5DE;
  --creme:#F5F1E8;--blanc:#FAF8F2;
  --serif:Georgia,'Times New Roman',serif;
  --display:'Playfair Display',Georgia,serif;
  --sans:'Inter','Helvetica Neue',sans-serif;
}
*{box-sizing:border-box;margin:0;padding:0}
body{font-family:var(--serif);color:var(--noir);background:var(--blanc);line-height:1.7;-webkit-font-smoothing:antialiased}
a{color:var(--noir);text-decoration:underline;text-decoration-color:var(--jaune);text-decoration-thickness:2px;text-underline-offset:3px;transition:.2s}
a:hover{color:var(--rouge)}

.topbar{background:var(--noir);color:var(--creme);font-size:.78rem;padding:.4rem 0;letter-spacing:.05em}
.topbar-inner{max-width:1100px;margin:0 auto;padding:0 1.5rem;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:1rem}
.topbar a{color:var(--creme);text-decoration:none}
.topbar a:hover{color:var(--jaune)}

.legal-header{border-bottom:3px double var(--noir);padding:1.5rem;text-align:center;background:var(--blanc)}
.brand-link{text-decoration:none;color:var(--noir)}
.brand{font-family:var(--display);font-size:2rem;font-weight:900;letter-spacing:-.02em}
.brand em{color:var(--rouge);font-style:normal}
.legal-header nav{margin-top:1rem;font-family:var(--sans);font-size:.8rem;color:var(--gris)}
.legal-header nav a{text-decoration:none;color:var(--gris-fonce)}
.legal-header nav a:hover{color:var(--rouge)}

.legal-content{max-width:760px;margin:0 auto;padding:3rem 1.5rem 4rem}
.legal-content h1{font-family:var(--display);font-size:clamp(2rem,4vw,3rem);font-weight:900;line-height:1.1;margin-bottom:1.5rem;border-bottom:3px solid var(--jaune);padding-bottom:1rem}
.legal-content h2{font-family:var(--display);font-size:clamp(1.3rem,2.5vw,1.7rem);font-weight:900;margin:2.5rem 0 1rem;color:var(--noir)}
.legal-content h3{font-family:var(--display);font-size:1.15rem;font-weight:700;margin:1.5rem 0 .8rem;color:var(--gris-fonce)}
.legal-content p{margin-bottom:1rem;color:var(--gris-fonce)}
.legal-content p strong{color:var(--noir)}
.legal-content .legal-lede{font-size:1.05rem;color:var(--gris-fonce);font-style:italic;border-left:4px solid var(--jaune);padding:.5rem 0 .5rem 1.2rem;margin-bottom:2rem}
.legal-content section{margin-bottom:2rem}
.legal-content ul{margin:1rem 0 1rem 1.5rem;color:var(--gris-fonce)}
.legal-content li{margin-bottom:.5rem}
.legal-content table{width:100%;border-collapse:collapse;margin:1.5rem 0;font-size:.92rem}
.legal-content th{background:var(--noir);color:var(--creme);padding:.7rem 1rem;text-align:left;font-family:var(--sans);font-size:.78rem;letter-spacing:.1em;text-transform:uppercase}
.legal-content td{padding:.7rem 1rem;border-bottom:1px solid var(--gris-clair);color:var(--gris-fonce)}
.legal-content td strong{color:var(--noir)}
.last-update{margin-top:3rem;padding-top:1.5rem;border-top:1px solid var(--gris-clair);font-size:.85rem;color:var(--gris);text-align:right;font-style:italic}

.callout{background:var(--creme);border-left:4px solid var(--rouge);padding:1.2rem 1.5rem;margin:1.5rem 0;font-size:.95rem}
.callout strong{color:var(--rouge)}

.legal-footer{background:var(--noir);color:var(--creme);padding:2rem 1.5rem;text-align:center;font-size:.85rem;line-height:1.8}
.legal-footer a{color:var(--creme);text-decoration:none}
.legal-footer a:hover{color:var(--jaune)}
.legal-footer div{max-width:900px;margin:0 auto}
.legal-footer div:first-child{margin-bottom:.5rem}
