/* ————————————————————————————————————————————————
   H EVENTS — feuille commune aux pages légales
   ———————————————————————————————————————————————— */

@font-face{
  font-family:'General Sans';
  src:url('assets/fonts/generalsans-variable.woff2') format('woff2');
  font-weight:200 700;font-style:normal;font-display:swap;
}

:root{
  color-scheme:light;
  --creme:#f5f1e5;
  --creme-2:#ebe4d2;
  --sable:#d9c7a3;
  --nuit:#191612;
  --nuit-2:#231f1a;
  --encre:#2c2720;
  --bronze:#7d6a41;
  --brume:#5e574a;
  --font:'General Sans',ui-sans-serif,system-ui,'Segoe UI',sans-serif;
  --gutter:clamp(20px,5.5vw,96px);
  --d-l:clamp(2.05rem,4.4vw,3.7rem);
  --d-s:clamp(1.12rem,1.5vw,1.35rem);
  --txt:clamp(0.98rem,1.02vw,1.09rem);
  --lab:0.665rem;
  --ls-lab:0.42em;
  --ease:cubic-bezier(.22,.61,.36,1);
}

*,*::before,*::after{box-sizing:border-box}

body{
  margin:0;background:var(--creme);color:var(--encre);
  font-family:var(--font);font-weight:300;font-size:var(--txt);
  line-height:1.75;-webkit-font-smoothing:antialiased;overflow-x:hidden;
}

img{max-width:100%;display:block}
a{color:inherit}
h1,h2,h3,h4,p,ul,ol,dl,dd{margin:0}
ul,ol{list-style:none;padding:0}
::selection{background:var(--sable);color:var(--nuit)}
:focus-visible{outline:2px solid var(--sable);outline-offset:3px}

.grain{
  position:fixed;top:-50%;left:-50%;width:200%;height:200%;
  z-index:90;pointer-events:none;
  opacity:.46;mix-blend-mode:soft-light;
  background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='180' height='180'><filter id='g'><feTurbulence type='fractalNoise' baseFrequency='0.82' numOctaves='3' stitchTiles='stitch'/><feColorMatrix type='saturate' values='0'/></filter><rect width='180' height='180' filter='url(%23g)' opacity='0.55'/></svg>");
  animation:grain 1.15s steps(1,end) infinite;will-change:transform;
}
@keyframes grain{
  0%{transform:translate(0,0)}
  12.5%{transform:translate(-41px,23px)}
  25%{transform:translate(29px,-37px)}
  37.5%{transform:translate(-13px,-52px)}
  50%{transform:translate(47px,17px)}
  62.5%{transform:translate(-31px,-9px)}
  75%{transform:translate(19px,44px)}
  87.5%{transform:translate(-53px,-29px)}
}

.lab{
  font-size:var(--lab);font-weight:500;text-transform:uppercase;
  letter-spacing:var(--ls-lab);line-height:1;display:block;
}
.lab--sable{color:var(--sable)}
.lab--bronze{color:var(--bronze)}
.aremplir{color:var(--bronze);border-bottom:1px dashed rgba(125,106,65,.5);font-size:.9em;letter-spacing:.03em}

/* ——— barre ——— */
.barre{
  position:sticky;top:0;z-index:70;
  background:var(--nuit);color:var(--creme);
  padding:18px var(--gutter);
  padding-top:calc(18px + env(safe-area-inset-top,0px));
  display:flex;align-items:center;justify-content:space-between;gap:24px;
}
.barre .marque{display:flex;align-items:center;gap:12px;text-decoration:none}
.barre .marque svg{width:26px;height:auto;fill:var(--sable)}
.barre .marque span{
  font-size:var(--lab);font-weight:500;text-transform:uppercase;letter-spacing:var(--ls-lab);
}
.barre .retour{
  font-size:var(--lab);font-weight:500;text-transform:uppercase;
  letter-spacing:var(--ls-lab);text-decoration:none;color:var(--sable);
  transition:color .4s var(--ease);white-space:nowrap;
}
.barre .retour:hover{color:var(--creme)}

/* ——— tête de page ——— */
.tete{
  background:var(--nuit);color:var(--creme);
  padding:clamp(56px,9vw,120px) var(--gutter) clamp(48px,7vw,96px);
}
.tete h1{
  font-weight:300;font-size:var(--d-l);line-height:1.06;letter-spacing:-.022em;
  margin-top:22px;max-width:20ch;text-wrap:balance;
}
.tete .maj{margin-top:26px;color:var(--sable);font-size:.88em}

/* ——— corps ——— */
.corps{padding:clamp(52px,7vw,96px) var(--gutter) clamp(72px,10vw,132px)}
.corps .dedans{max-width:74ch;margin-inline:auto}

.corps section + section{margin-top:clamp(40px,5vw,64px)}
.corps h2{
  font-weight:400;font-size:var(--d-s);line-height:1.3;letter-spacing:-.008em;
  padding-top:clamp(28px,3.4vw,40px);border-top:1px solid rgba(44,39,32,.14);
  display:flex;gap:16px;align-items:baseline;
}
.corps h2 .num{
  font-size:var(--lab);letter-spacing:var(--ls-lab);color:var(--bronze);
  font-weight:500;flex:none;padding-top:.35em;
}
.corps h3{
  font-weight:500;font-size:1em;letter-spacing:.01em;
  margin-top:26px;color:var(--nuit);
}
.corps p{margin-top:16px;color:var(--brume)}
.corps section > p:first-of-type{margin-top:18px}
.corps a{color:var(--bronze);text-underline-offset:3px}
.corps strong{font-weight:500;color:var(--encre)}

.corps ul.puces{margin-top:16px;display:grid;gap:10px}
.corps ul.puces li{
  color:var(--brume);padding-left:22px;position:relative;
}
.corps ul.puces li::before{
  content:"";position:absolute;left:0;top:.72em;
  width:7px;height:1px;background:var(--sable);
}

/* ——— fiches d'identité ——— */
.fiche{
  margin-top:22px;background:var(--creme-2);
  padding:clamp(24px,3.2vw,38px);
  display:grid;grid-template-columns:auto 1fr;gap:14px 30px;align-items:baseline;
}
.fiche dt{
  font-size:var(--lab);font-weight:500;text-transform:uppercase;
  letter-spacing:var(--ls-lab);color:var(--bronze);line-height:1.6;
}
.fiche dd{line-height:1.6}
@media (max-width:620px){
  .fiche{grid-template-columns:1fr;gap:4px 0}
  .fiche dd{margin-bottom:14px}
  .fiche dd:last-child{margin-bottom:0}
}

/* ——— tableau des durées ——— */
.tableau{margin-top:22px;width:100%;border-collapse:collapse;text-align:left}
.tableau th{
  font-size:var(--lab);font-weight:500;text-transform:uppercase;
  letter-spacing:var(--ls-lab);color:var(--bronze);
  padding:0 18px 12px 0;border-bottom:1px solid rgba(44,39,32,.14);vertical-align:bottom;
}
.tableau td{
  padding:14px 18px 14px 0;border-bottom:1px solid rgba(44,39,32,.08);
  color:var(--brume);vertical-align:top;
}
.tableau td:first-child{color:var(--encre)}
@media (max-width:620px){
  .tableau,.tableau tbody,.tableau tr,.tableau td{display:block;width:100%}
  .tableau thead{display:none}
  .tableau tr{padding-block:14px;border-bottom:1px solid rgba(44,39,32,.08)}
  .tableau td{border:0;padding:2px 0}
  .tableau td:first-child{font-weight:500}
}

/* ——— encart ——— */
.encart{
  margin-top:22px;border-left:2px solid var(--sable);
  padding:4px 0 4px 22px;color:var(--brume);font-size:.95em;
}

/* ——— pied ——— */
.pied{background:var(--nuit);color:var(--creme);padding:clamp(40px,5vw,64px) var(--gutter)}
.pied-in{
  display:flex;flex-wrap:wrap;gap:18px 34px;align-items:center;justify-content:space-between;
  font-size:var(--lab);text-transform:uppercase;letter-spacing:var(--ls-lab);font-weight:500;
}
.pied-in a{text-decoration:none;color:var(--sable);transition:color .4s var(--ease)}
.pied-in a:hover{color:var(--creme)}
.pied-liens{display:flex;flex-wrap:wrap;gap:18px 26px}

@media (prefers-reduced-motion:reduce){
  .grain{animation:none}
  *{animation-duration:.01ms!important;transition-duration:.01ms!important}
}
