:root{
  --ink:#0A1A21;
  --ink-2:#0E2731;
  --paper:#F2EDE3;
  --dim:rgba(242,237,227,.60);
  --faint:rgba(242,237,227,.34);
  --ghost:rgba(242,237,227,.22);
  --marigold:#F9A66B;
  --rust:#D2603C;
  --hair:rgba(242,237,227,.14);
  --sans:"Bricolage Grotesque",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif;
  --serif:"Newsreader",Georgia,"Times New Roman",serif;
}

*{box-sizing:border-box;margin:0;padding:0}
html{background:var(--ink)}
body{
  font-family:var(--sans);
  color:var(--paper);
  background:var(--ink);
  min-height:100vh;
  -webkit-font-smoothing:antialiased;
  padding:64px 7vw 96px;
}

/* ---------- header ---------- */
header{
  display:flex;align-items:flex-start;justify-content:space-between;
  gap:40px;padding-bottom:56px;
}
.logo{
  width:132px;height:36px;flex:none;
  background:url("data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz48c3ZnIGlkPSJ1dWlkLTZiZmMwZjg4LWFjNzgtNGRlYy05MzlhLTJhZDQxMWQyYmIzYiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgNzM4IDE5OSI+PGRlZnM+PHN0eWxlPi51dWlkLTQ2OGU0MGYzLTk5OGYtNGVlZC1hY2IzLTgwYjY3YTkxNzU4OXtmaWxsOiNmZmY7fS51dWlkLTc2ZWFjNjAwLWE3MmItNDJiMy04NzExLTA4NmJjOGYwNWU1ZHtmaWxsOiNmOWE2NmI7fTwvc3R5bGU+PC9kZWZzPjxwYXRoIGNsYXNzPSJ1dWlkLTQ2OGU0MGYzLTk5OGYtNGVlZC1hY2IzLTgwYjY3YTkxNzU4OSIgZD0iTTEyOC4wMiw4NnYxMDAuMzloLTMzLjA4di0xNC44NWMtMy40MSw1LjE1LTguMjEsOS4xOC0xNC40MywxMi4wOHMtMTMuMjUsNC4zNi0yMS4wOSw0LjM2Yy05Ljc3LDAtMTguMzktMi4xMS0yNS44Ni02LjM0LTcuNDgtNC4yMi0xMy4zMi0xMC4yNi0xNy41NC0xOC4xMi00LjIyLTcuODUtNi4zMy0xNi45My02LjMzLTI3LjIzczIuMTEtMTkuNDcsNi4zMy0yNy41MmM0LjIyLTguMDUsMTAuMS0xNC4yOSwxNy42NS0xOC43MSw3LjU1LTQuNDIsMTYuMTMtNi42MywyNS43NS02LjYzLDcuODQsMCwxNC44NywxLjUyLDIxLjA5LDQuNTUsNi4yMiwzLjA0LDExLjAyLDcuMTMsMTQuNDMsMTIuMjh2LTE0LjI2aDMzLjA4Wk04OC4yOSwxNTcuNjdjNC40NC01LjAyLDYuNjYtMTIuMjgsNi42Ni0yMS43OHMtMi4yMi0xNi44LTYuNjYtMjEuODhjLTQuNDQtNS4wOC0xMC44MS03LjYyLTE5LjA5LTcuNjJzLTE0LjczLDIuNjQtMTkuMzEsNy45MmMtNC41OSw1LjI4LTYuODgsMTIuNjEtNi44OCwyMS45OHMyLjI1LDE2LjUzLDYuNzcsMjEuNDhjNC41MSw0Ljk1LDEwLjk5LDcuNDIsMTkuNDIsNy40MnMxNC42NS0yLjUxLDE5LjA5LTcuNTJaIi8+PHBhdGggY2xhc3M9InV1aWQtNDY4ZTQwZjMtOTk4Zi00ZWVkLWFjYjMtODBiNjdhOTE3NTg5IiBkPSJNMjY0LjcxLDEyMi45N1YxMWgtMzR2ODguMDNjLTMuMzktNC44LTguMDgtOC41OS0xNC4xMS0xMS4zNS02LjIyLTIuODQtMTMuMS00LjI2LTIwLjY1LTQuMjYtOS43NywwLTE4LjM5LDIuMTUtMjUuODYsNi40NC03LjQ4LDQuMjktMTMuMzIsMTAuMzYtMTcuNTQsMTguMjItNC4yMiw3Ljg1LTYuMzMsMTYuOTMtNi4zMywyNy4yM3MyLjExLDE5LjQ0LDYuMzMsMjcuNDJjNC4yMiw3Ljk5LDEwLjEsMTQuMTksMTcuNjUsMTguNjEsNy41NSw0LjQyLDE2LjEzLDYuNjMsMjUuNzUsNi42Myw3Ljg0LDAsMTQuODctMS40NSwyMS4wOS00LjM2LDUuNzgtMi43LDEwLjMyLTYuMzgsMTMuNjctMTEuMDF2MTUuMzdoMzR2LTMzLjQzaC0uMTZ2LTMxLjU3aC4xNlpNMjI0LjgxLDE1Ny41N2MtNC40NCw1LjA4LTEwLjgxLDcuNjItMTkuMDksNy42MnMtMTQuNzMtMi42LTE5LjMxLTcuODJjLTQuNTktNS4yMS02Ljg4LTEyLjU3LTYuODgtMjIuMDhzMi4yOS0xNi4zNyw2Ljg4LTIxLjM4YzQuNTktNS4wMiwxMS4wMi03LjUyLDE5LjMxLTcuNTJzMTQuNDYsMi41NCwxOC45OCw3LjYyYzQuNTEsNS4wOCw2Ljc3LDEyLjMxLDYuNzcsMjEuNjhzLTIuMjIsMTYuOC02LjY2LDIxLjg4WiIvPjxwYXRoIGNsYXNzPSJ1dWlkLTc2ZWFjNjAwLWE3MmItNDJiMy04NzExLTA4NmJjOGYwNWU1ZCIgZD0iTTQwMS4wOCw4NnYxMDAuMzloLTMzLjA4di0xNC44NWMtMTIuMzUsMTguNzktNDMuMTEsMjAuNTUtNjEuMzgsMTAuMS0xNi4wNi05LjEtMjMuOTctMjYuMzgtMjMuODYtNDUuMzQtLjEtMTkuMDYsNy44OC0zNi44MSwyMy45OC00Ni4yMywxOC40NC0xMS4xLDQ4LjktOC43LDYxLjI3LDEwLjJ2LTE0LjI2aDMzLjA4Wk0zNjEuMzQsMTU3LjY3YzguOTEtOS4wMSw4Ljg1LTM0LjYsMC00My42Ni04LjE3LTEwLjI3LTMwLjI3LTEwLjE2LTM4LjQxLjMtOS4wMyw5LjMtOS4yOSwzNC4zMy0uMTEsNDMuNDYsOC4wNyw5LjgyLDMwLjQ5LDEwLjAzLDM4LjUyLS4xWiIvPjxyZWN0IGNsYXNzPSJ1dWlkLTQ2OGU0MGYzLTk5OGYtNGVlZC1hY2IzLTgwYjY3YTkxNzU4OSIgeD0iNDI0LjM1IiB5PSIxMS4zOCIgd2lkdGg9IjM0IiBoZWlnaHQ9IjE3NSIvPjxwYXRoIGNsYXNzPSJ1dWlkLTQ2OGU0MGYzLTk5OGYtNGVlZC1hY2IzLTgwYjY3YTkxNzU4OSIgZD0iTTU5NS4xLDg2djEwMC4zOWgtMzMuMDh2LTE0Ljg1Yy0zLjQxLDUuMTUtOC4yMSw5LjE4LTE0LjQzLDEyLjA4LTYuMjIsMi45LTEzLjI1LDQuMzYtMjEuMDksNC4zNi05Ljc3LDAtMTguMzktMi4xMS0yNS44Ni02LjM0LTcuNDgtNC4yMi0xMy4zMi0xMC4yNi0xNy41NC0xOC4xMi00LjIyLTcuODUtNi4zMy0xNi45My02LjMzLTI3LjIzczIuMTEtMTkuNDcsNi4zMy0yNy41MmM0LjIyLTguMDUsMTAuMS0xNC4yOSwxNy42NS0xOC43MSw3LjU1LTQuNDIsMTYuMTMtNi42MywyNS43NS02LjYzLDcuODQsMCwxNC44NywxLjUyLDIxLjA5LDQuNTUsNi4yMiwzLjA0LDExLjAyLDcuMTMsMTQuNDMsMTIuMjh2LTE0LjI2aDMzLjA4Wk01NTUuMzcsMTU3LjY3YzQuNDQtNS4wMiw2LjY2LTEyLjI4LDYuNjYtMjEuNzhzLTIuMjItMTYuOC02LjY2LTIxLjg4Yy00LjQ0LTUuMDgtMTAuODEtNy42Mi0xOS4wOS03LjYycy0xNC43MywyLjY0LTE5LjMxLDcuOTJjLTQuNTksNS4yOC02Ljg4LDEyLjYxLTYuODgsMjEuOThzMi4yNSwxNi41Myw2Ljc3LDIxLjQ4YzQuNTEsNC45NSwxMC45OSw3LjQyLDE5LjQyLDcuNDJzMTQuNjUtMi41MSwxOS4wOS03LjUyWiIvPjxwYXRoIGNsYXNzPSJ1dWlkLTQ2OGU0MGYzLTk5OGYtNGVlZC1hY2IzLTgwYjY3YTkxNzU4OSIgZD0iTTcyOC4zLDEyNS42djYwLjc5aC0zMy41MnYtNTkuNGMwLTctMS40NC0xMi4xMS00LjMzLTE1LjM1LTIuODktMy4yMy03LjQ0LTQuODUtMTMuNjUtNC44NS03LjQsMC0xMy4zMiwyLjExLTE3Ljc2LDYuMzQtNC40NCw0LjIzLTYuNjYsOS45LTYuNjYsMTcuMDN2NTYuMjNoLTMzLjUydi03MS42OGMwLTEwLjY5LS41OS0yMC4yNi0xLjc4LTI4LjcxaDMxLjUybDIuMjIsMTUuODRjNC01Ljk0LDkuMjEtMTAuNDksMTUuNjUtMTMuNjYsNi40NC0zLjE3LDEzLjczLTQuNzUsMjEuODctNC43NSwyNi42NCwwLDM5Ljk2LDE0LjA2LDM5Ljk2LDQyLjE3WiIvPjwvc3ZnPg==") no-repeat center/contain;
  opacity:.92;
}
.tag{
  font-family:var(--serif);font-style:italic;
  font-size:22px;color:var(--marigold);margin-bottom:18px;font-weight:400;
}
h1{
  font-size:clamp(48px,7vw,92px);line-height:.96;font-weight:700;
  font-variation-settings:"wdth" 88,"opsz" 96;
  letter-spacing:-.035em;
}
.lead{
  font-size:clamp(20px,2.2vw,28px);line-height:1.42;color:var(--dim);
  font-weight:300;max-width:720px;margin-top:26px;
}
.lead strong{font-weight:500;color:var(--paper)}

/* ---------- sessions ---------- */
.sessions{
  display:grid;gap:2px;
  border-top:1px solid var(--hair);
}
.card{
  display:grid;
  grid-template-columns:150px minmax(0,1fr) 190px;
  gap:36px;align-items:baseline;
  padding:38px 4px;
  border-bottom:1px solid var(--hair);
  text-decoration:none;color:inherit;
  transition:background .25s ease,padding .25s ease;
}
a.card:hover,a.card:focus-visible{
  background:var(--ink-2);
  padding-left:22px;padding-right:22px;
  outline:none;
}
.card .num{
  font-size:20px;font-weight:600;color:var(--marigold);
  font-variation-settings:"wdth" 78;letter-spacing:.02em;
  white-space:nowrap;
}
.card.soon .num{color:var(--faint)}
.card h2{
  font-size:clamp(30px,3.4vw,44px);line-height:1.06;font-weight:600;
  font-variation-settings:"wdth" 90,"opsz" 72;
  letter-spacing:-.025em;
}
.card.soon h2{color:var(--faint)}
.card p{
  font-size:19px;line-height:1.5;color:var(--dim);
  font-weight:300;margin-top:12px;max-width:620px;
}
.card.soon p{color:var(--faint)}
.meta{
  justify-self:end;text-align:right;
  font-size:15px;color:var(--faint);letter-spacing:.03em;
  line-height:1.6;
}
.go{
  display:inline-flex;align-items:center;gap:10px;
  color:var(--marigold);font-size:16px;font-weight:500;letter-spacing:.02em;
}
.go .arrow{transition:transform .25s ease}
a.card:hover .arrow,a.card:focus-visible .arrow{transform:translateX(6px)}
.state{
  display:inline-block;font-size:13px;letter-spacing:.08em;
  text-transform:uppercase;color:var(--faint);
  border:1px solid var(--ghost);padding:5px 11px;border-radius:2px;
}

/* Le retour vers l'accueil de la racine, en tete de la page d'un groupe.
   La racine, elle, n'a nulle part ou remonter : le gabarit ne le pose pas. */
.up{
  display:inline-flex;align-items:center;gap:9px;
  font-size:15px;letter-spacing:.03em;color:var(--faint);
  text-decoration:none;margin-bottom:20px;
  transition:color .2s ease;
}
.up:hover,.up:focus-visible{color:var(--marigold);outline:none}
.up .arrow{transition:transform .25s ease}
.up:hover .arrow,.up:focus-visible .arrow{transform:translateX(-4px)}

/* ---------- footer ---------- */
footer{
  margin-top:64px;display:flex;flex-wrap:wrap;gap:14px 34px;
  align-items:center;font-size:15px;color:var(--faint);
}
footer a{color:var(--dim);text-decoration:none;border-bottom:1px solid var(--ghost)}
footer a:hover{color:var(--marigold);border-bottom-color:var(--marigold)}
footer .sep{color:var(--ghost)}

@media (max-width:820px){
  body{padding:40px 6vw 64px}
  header{flex-direction:column-reverse;align-items:flex-start;gap:28px;padding-bottom:40px}
  .card{grid-template-columns:1fr;gap:14px;padding:30px 4px}
  a.card:hover,a.card:focus-visible{padding-left:14px;padding-right:14px}
  .meta{justify-self:start;text-align:left}
}
