/* === ALEX RAFIIE — LEGAL PAGES (Manifeste · Les Zengagés) === */
:root{
  --bg:#0a0703;
  --bg-soft:#120c05;
  --text:#e8dec8;
  --text-faded:rgba(232,222,200,.62);
  --text-muted:rgba(232,222,200,.42);
  --gold:#c9a84c;
  --gold-light:#f0d68a;
  --gold-dark:#8b6914;
  --line:rgba(201,168,76,.14);
  --line-soft:rgba(201,168,76,.07);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;background:var(--bg);color:var(--text);
  font-family:'Inter',-apple-system,system-ui,sans-serif;
  font-size:15.5px;line-height:1.72;font-weight:300;
  letter-spacing:.005em;-webkit-font-smoothing:antialiased;
  min-height:100vh;
  background-image:
    radial-gradient(ellipse 80% 50% at 50% -10%,rgba(201,168,76,.07),transparent 60%),
    radial-gradient(ellipse 60% 40% at 50% 100%,rgba(201,168,76,.04),transparent 60%);
  background-attachment:fixed;
}
a{color:var(--gold-light);text-decoration:none;transition:color .25s ease}
a:hover{color:var(--gold)}

/* Header */
.legal-header{
  position:sticky;top:0;z-index:50;
  background:rgba(7,5,2,.82);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);
  border-bottom:1px solid var(--line);
}
.legal-header-inner{
  max-width:1100px;margin:0 auto;padding:18px 28px;
  display:flex;align-items:center;justify-content:space-between;gap:24px;
}
.back-link{
  display:inline-flex;align-items:center;gap:8px;
  color:var(--text-faded);font-size:.78rem;
  text-transform:uppercase;letter-spacing:.18em;font-weight:500;
  transition:color .25s ease,gap .25s ease;
}
.back-link:hover{color:var(--gold-light);gap:12px}
.back-link svg{width:14px;height:14px;stroke:currentColor;fill:none;stroke-width:2}
.legal-brand{display:flex;align-items:center;gap:12px;text-decoration:none}
.legal-brand img{width:38px;height:38px;object-fit:contain}
.legal-brand-text{display:flex;flex-direction:column;gap:1px}
.legal-brand-name{
  font-family:'Cormorant Garamond',serif;font-size:1.05rem;font-weight:600;
  background:linear-gradient(135deg,#f0d68a,#c9a84c 55%,#e8d48b);
  -webkit-background-clip:text;background-clip:text;color:transparent;
  letter-spacing:.01em;line-height:1;
}
.legal-brand-tag{
  font-size:.6rem;letter-spacing:.22em;text-transform:uppercase;
  color:var(--text-muted);font-weight:500;
}

/* Main */
.legal-main{
  max-width:840px;margin:0 auto;padding:80px 28px 100px;
  position:relative;
}
.legal-eyebrow{
  display:inline-block;font-size:.7rem;letter-spacing:.32em;
  text-transform:uppercase;color:var(--gold);font-weight:600;
  margin-bottom:18px;padding:6px 14px;border-radius:30px;
  border:1px solid rgba(201,168,76,.32);
  background:linear-gradient(135deg,rgba(201,168,76,.08),rgba(201,168,76,.02));
}
.legal-main h1{
  font-family:'Cormorant Garamond',serif;font-weight:500;
  font-size:clamp(2.4rem,5vw,3.6rem);line-height:1.08;
  margin:0 0 22px;letter-spacing:-.01em;
  background:linear-gradient(135deg,#fff 0%,#f0d68a 60%,#c9a84c 100%);
  -webkit-background-clip:text;background-clip:text;color:transparent;
}
.legal-lead{
  font-family:'Cormorant Garamond',serif;font-style:italic;
  font-size:1.18rem;line-height:1.6;color:var(--text-faded);
  margin:0 0 56px;max-width:680px;font-weight:400;
}
.legal-updated{
  display:inline-block;font-size:.72rem;color:var(--text-muted);
  letter-spacing:.14em;text-transform:uppercase;margin-bottom:48px;
  padding-bottom:14px;border-bottom:1px solid var(--line-soft);
}

/* Sections */
.legal-section{margin:0 0 56px;scroll-margin-top:90px}
.legal-section h2{
  font-family:'Cormorant Garamond',serif;font-weight:500;
  font-size:1.85rem;color:var(--gold-light);
  margin:0 0 18px;letter-spacing:.005em;
  position:relative;padding-left:22px;
}
.legal-section h2::before{
  content:'';position:absolute;left:0;top:.45em;
  width:10px;height:10px;border-radius:50%;
  background:linear-gradient(135deg,#f0d68a,#8b6914);
  box-shadow:0 0 14px rgba(201,168,76,.35);
}
.legal-section h3{
  font-family:'Cormorant Garamond',serif;font-weight:500;
  font-size:1.3rem;color:var(--text);margin:32px 0 12px;
}
.legal-section p{margin:0 0 16px;color:var(--text-faded)}
.legal-section p strong,.legal-section strong{color:var(--text);font-weight:500}
.legal-section ul{margin:0 0 20px;padding:0;list-style:none}
.legal-section li{
  position:relative;padding:8px 0 8px 26px;
  color:var(--text-faded);line-height:1.65;
  border-bottom:1px solid var(--line-soft);
}
.legal-section li:last-child{border-bottom:none}
.legal-section li::before{
  content:'';position:absolute;left:0;top:18px;
  width:8px;height:1px;background:var(--gold);
}

/* Info cards (identity blocks) */
.legal-card{
  background:linear-gradient(135deg,rgba(201,168,76,.04),rgba(201,168,76,.01));
  border:1px solid var(--line);border-radius:14px;
  padding:28px 30px;margin:14px 0 20px;
  position:relative;overflow:hidden;
}
.legal-card::before{
  content:'';position:absolute;top:0;left:0;right:0;height:1px;
  background:linear-gradient(90deg,transparent,rgba(201,168,76,.45),transparent);
}
.legal-card-row{
  display:flex;flex-wrap:wrap;gap:6px 18px;align-items:baseline;
  padding:10px 0;border-bottom:1px dashed var(--line-soft);
}
.legal-card-row:last-child{border-bottom:none}
.legal-card-label{
  flex:0 0 200px;color:var(--text-muted);
  font-size:.72rem;letter-spacing:.18em;text-transform:uppercase;font-weight:500;
}
.legal-card-value{flex:1;min-width:220px;color:var(--text);font-weight:400}
.legal-card-value strong{color:var(--gold-light);font-weight:500}

/* Toc */
.legal-toc{
  background:linear-gradient(135deg,rgba(201,168,76,.04),rgba(201,168,76,.01));
  border:1px solid var(--line);border-radius:14px;
  padding:22px 26px;margin:0 0 56px;
}
.legal-toc-title{
  font-size:.68rem;letter-spacing:.24em;text-transform:uppercase;
  color:var(--gold);font-weight:600;margin-bottom:14px;
}
.legal-toc ol{margin:0;padding:0 0 0 20px;counter-reset:none}
.legal-toc li{
  padding:6px 0;color:var(--text-faded);font-size:.94rem;
  border:none;list-style:decimal;
}
.legal-toc li::before{display:none}
.legal-toc li::marker{color:var(--gold);font-weight:600}
.legal-toc a{color:var(--text);font-weight:400}
.legal-toc a:hover{color:var(--gold-light)}

/* Quote / callout */
.legal-callout{
  border-left:2px solid var(--gold);padding:14px 0 14px 22px;
  margin:24px 0;color:var(--text);font-style:italic;
  font-family:'Cormorant Garamond',serif;font-size:1.12rem;line-height:1.55;
}

/* Footer */
.legal-footer{
  border-top:1px solid var(--line);
  padding:48px 28px 40px;text-align:center;color:var(--text-muted);
  font-size:.82rem;letter-spacing:.04em;
  background:linear-gradient(180deg,transparent,rgba(4,3,1,.6));
}
.legal-footer-links{
  display:flex;flex-wrap:wrap;gap:8px 26px;justify-content:center;
  margin:0 0 20px;
}
.legal-footer-links a{
  color:var(--text-faded);font-size:.74rem;letter-spacing:.18em;
  text-transform:uppercase;font-weight:500;
}
.legal-footer-links a:hover{color:var(--gold-light)}
.legal-footer-sep{color:rgba(201,168,76,.22);user-select:none}
.legal-footer-copy strong{color:var(--gold-light);font-weight:500}

@media (max-width:680px){
  .legal-header-inner{padding:14px 18px;gap:12px}
  .legal-brand-tag{display:none}
  .legal-main{padding:52px 22px 70px}
  .legal-card{padding:22px 20px}
  .legal-card-label{flex-basis:auto}
}

/* Realised by — discret */
.realised-by{text-align:center;padding:14px 20px 6px;font-family:'Inter',sans-serif;font-size:.6rem;letter-spacing:.24em;text-transform:uppercase;color:rgba(232,222,200,.16);font-weight:400}
.realised-by a{color:inherit;text-decoration:none;transition:color .35s ease,letter-spacing .35s ease}
.realised-by a:hover{color:rgba(240,214,138,.55);letter-spacing:.28em}
