/* Style commun aux pages légales Le juste Psy */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0;}
:root{
  --paper:#EEEEE3;
  --cream:#F8F8EF;
  --ink:#26302A;
  --ink-soft:#5E6B5F;
  --line:#CDD0BD;
  --primary:#6E8159;
  --primary-deep:#4E5E3D;
  --font-serif:'Instrument Serif',Georgia,serif;
  --font-sans:'Inter',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;
}
html{-webkit-font-smoothing:antialiased;}
body{
  font-family:var(--font-sans);
  background:var(--paper);
  color:var(--ink);
  font-size:16px;
  line-height:1.65;
  min-height:100vh;
}
header{
  background:var(--paper);
  border-bottom:1px solid var(--line);
  padding:14px 24px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  position:sticky;top:0;z-index:100;
}
.logo{
  font-family:var(--font-serif);
  font-size:21px;
  color:var(--ink);
  text-decoration:none;
}
.logo span{color:var(--primary);}
.header-link{font-size:13px;color:var(--ink-soft);text-decoration:none;}
.header-link:hover{color:var(--primary);}
main{
  max-width:720px;
  margin:0 auto;
  padding:48px 24px 80px;
}
h1{
  font-family:var(--font-serif);
  font-size:clamp(32px,5vw,44px);
  font-weight:400;
  letter-spacing:-.02em;
  margin-bottom:8px;
}
.subtitle{
  color:var(--ink-soft);
  font-size:14px;
  margin-bottom:32px;
}
h2{
  font-family:var(--font-serif);
  font-size:24px;
  font-weight:400;
  color:var(--primary-deep);
  margin:36px 0 12px;
  letter-spacing:-.01em;
}
h3{
  font-size:16px;
  font-weight:700;
  color:var(--ink);
  margin:20px 0 6px;
}
p,ul,ol{margin-bottom:14px;}
ul,ol{padding-left:22px;}
li{margin-bottom:6px;}
a{color:var(--primary-deep);text-decoration:underline;text-underline-offset:2px;}
a:hover{color:var(--primary);}
strong{font-weight:600;}
.todo{
  background:#FFF4D6;
  border-left:3px solid #C9A227;
  padding:8px 12px;
  margin:8px 0;
  font-size:14px;
  color:#7A5C0F;
}
.todo::before{content:"⚠ À REMPLIR : ";font-weight:700;}
.callout{
  background:var(--cream);
  border:1px solid var(--line);
  border-radius:14px;
  padding:18px 22px;
  margin:24px 0;
}
.callout p:last-child{margin-bottom:0;}
footer{
  border-top:1px solid var(--line);
  margin-top:48px;
  padding-top:20px;
  font-size:13px;
  color:var(--ink-soft);
  text-align:center;
}
footer a{color:var(--ink-soft);text-decoration:none;margin:0 8px;}
footer a:hover{color:var(--primary);}
