/* ============================================================================
   IMMERSION — Sections 4 à 10.
   Navy #0B1D33, crème #F3F1ED, warm light #ECE9E3, terracotta #C9775A,
   sauge #A7B7AE. Instrument Serif pour les titres, Inter Tight pour le reste.
   Règle de cette moitié de page : AUCUN dégradé. Les chapitres se séparent
   par un changement franc de surface, ou par un filet fin quand deux fonds
   sont trop proches pour que la coupure se lise seule.
   ========================================================================== */

.ed{
  --navy:#0B1D33;
  --navy-2:#0E2038;
  --cream:#F3F1ED;
  --warm:#ECE9E3;
  --terra:#C9775A;
  --terra-lo:#E2A385;
  --sage:#A7B7AE;
  --serif:'Instrument Serif',Georgia,serif;
  --sans:'Inter Tight',Arial,sans-serif;
  --wrap:1200px;
  --pad:clamp(24px,4.2vw,60px);
}
.ed *,.ed *::before,.ed *::after{box-sizing:border-box}
.ed__wrap{width:100%;max-width:var(--wrap);margin-inline:auto;padding-inline:var(--pad)}

/* ---------- éléments partagés ---------- */

.ed__eyebrow{margin:0;font:500 12px/1.5 var(--sans);letter-spacing:.17em;text-transform:uppercase}
.ed__eyebrow--terra{color:var(--terra)}
.ed__title{
  margin:.95rem 0 0;font-family:var(--serif);font-weight:400;
  font-size:clamp(2rem,1.2rem + 2.1vw,2.95rem);line-height:1.05;letter-spacing:-.025em;
}
.ed__lede{margin:1.05rem 0 0;font:300 clamp(15px,.9rem + .3vw,17px)/1.6 var(--sans);max-width:52ch}

.ed-rv{opacity:0;transform:translateY(16px);transition:opacity .9s cubic-bezier(.2,.7,.2,1) var(--d,0s),transform .9s cubic-bezier(.2,.7,.2,1) var(--d,0s)}
.ed-rv.is-in{opacity:1;transform:none}
.ed.no-js .ed-rv{opacity:1;transform:none}
@media(prefers-reduced-motion:reduce){.ed-rv{opacity:1;transform:none;transition:none}}

/* bouton : fond terracotta plein, lumière par ombres uniquement */
.ed__btn{
  position:relative;display:inline-flex;align-items:center;justify-content:center;gap:.62rem;
  min-height:54px;padding:15px 32px 15px 36px;border-radius:999px;
  font:500 16px/1 var(--sans);letter-spacing:.01em;color:var(--navy);text-decoration:none;
  background:#C9775A;
  border:1px solid rgba(226,163,133,.55);
  box-shadow:0 0 0 1px rgba(201,119,90,.3),0 0 24px -4px rgba(201,119,90,.4),0 18px 38px -18px rgba(201,119,90,.8);
  transition:transform .45s cubic-bezier(.16,1,.3,1),background-color .45s cubic-bezier(.16,1,.3,1),
             border-color .45s cubic-bezier(.16,1,.3,1),box-shadow .45s cubic-bezier(.16,1,.3,1);
  cursor:pointer;
}
.ed__btn svg{width:17px;height:17px;flex:none;transition:transform .45s cubic-bezier(.16,1,.3,1)}
.ed__btn:hover{
  transform:translateY(-2px);background:#CE7E60;border-color:rgba(240,192,169,.8);
  box-shadow:0 0 0 1px rgba(201,119,90,.55),0 0 38px -2px rgba(201,119,90,.72),0 26px 50px -18px rgba(201,119,90,.95);
}
.ed__btn:hover svg{transform:translateX(3px)}
.ed__btn:focus-visible{outline:2px solid var(--cream);outline-offset:4px}
.ed__btn--lg{min-height:60px;font-size:17px;padding:17px 36px 17px 40px}
.ed__btn[data-inactive]{cursor:default}
@media(prefers-reduced-motion:reduce){.ed__btn,.ed__btn svg{transition:none}}

.ed__note{margin:.85rem 0 0;font:300 13px/1.5 var(--sans)}

/* ============================================================================
   SECTION 4 — Une édition, un départ collectif
   ========================================================================== */

.ed-ed{background:var(--navy);color:var(--cream);padding:clamp(64px,6.6vw,100px) 0 clamp(62px,6.4vw,94px)}
.ed-ed .ed__lede{color:rgba(236,233,227,.7)}

.ed-ed__top{
  display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);
  gap:clamp(34px,4vw,72px);align-items:start;
}

.ed-ed__dates{display:flex;gap:clamp(24px,3vw,48px);margin:clamp(26px,2.6vw,36px) 0 0;flex-wrap:wrap}
.ed-ed__dates div{border-top:1px solid rgba(243,241,237,.18);padding-top:.7rem}
.ed-ed__dates dt{font:500 10.5px/1 var(--sans);letter-spacing:.18em;text-transform:uppercase;color:var(--sage)}
.ed-ed__dates dd{margin:.5rem 0 0;font:400 15.5px/1.2 var(--sans);color:var(--cream)}
/* La date limite est dite clairement, sans alarme : même famille que la lede. */
.ed-ed__deadline{
  margin:clamp(16px,1.6vw,22px) 0 0;
  max-width:34rem;
  font:300 13px/1.55 var(--sans);
  color:rgba(236,233,227,.72);
}

/* -- le compte à rebours : quatre colonnes, filets fins, chiffres tabulaires -- */
.ed-ed__clock{padding-top:.4rem}
.ed-clock__lb{margin:0 0 1.05rem;font:500 11px/1 var(--sans);letter-spacing:.2em;text-transform:uppercase;color:var(--terra)}
.ed-clock{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-top:1px solid rgba(243,241,237,.2)}
.ed-clock__u{
  display:flex;flex-direction:column;align-items:center;gap:.55rem;
  padding:clamp(18px,1.8vw,26px) .4rem clamp(14px,1.4vw,20px);
}
.ed-clock__u + .ed-clock__u{border-left:1px solid rgba(243,241,237,.14)}
.ed-clock__n{
  font-family:var(--serif);font-weight:400;
  font-size:clamp(2.5rem,1.6rem + 2.6vw,3.9rem);line-height:.95;letter-spacing:-.03em;
  font-variant-numeric:tabular-nums;
}
.ed-clock__c{font:500 10px/1 var(--sans);letter-spacing:.18em;text-transform:uppercase;color:var(--sage)}
.ed-clock__closed{
  display:inline-flex;align-items:center;padding:.75rem 1.3rem;border-radius:999px;
  border:1px solid rgba(201,119,90,.55);
  font:500 12px/1 var(--sans);letter-spacing:.18em;text-transform:uppercase;color:var(--terra);
}

/* -- ce que contient l'édition : grille éditoriale numérotée, pas de cartes -- */
.ed-incl{margin-top:clamp(46px,4.6vw,72px);padding-top:clamp(30px,3vw,42px);border-top:1px solid rgba(243,241,237,.16)}
.ed-incl__lb{color:var(--sage);margin-bottom:clamp(20px,2vw,28px)}
.ed-incl__grid{
  display:grid;grid-template-columns:repeat(4,minmax(0,1fr));
  gap:clamp(16px,1.8vw,26px) clamp(20px,2.4vw,38px);
  margin:0;padding:0;list-style:none;
}
.ed-incl__grid li{
  display:flex;align-items:baseline;gap:.7rem;
  padding-top:.75rem;border-top:1px solid rgba(243,241,237,.12);
  font:300 14.5px/1.4 var(--sans);color:rgba(236,233,227,.88);
}
.ed-incl__grid li span{
  flex:none;font:500 10px/1 var(--sans);letter-spacing:.12em;color:var(--terra);
  font-variant-numeric:tabular-nums;
}

/* -- l'étiquette de prix -- */
.ed-price{
  display:flex;align-items:center;justify-content:space-between;gap:clamp(24px,3vw,48px);flex-wrap:wrap;
  margin-top:clamp(42px,4.2vw,64px);
  padding:clamp(24px,2.6vw,34px) clamp(24px,2.8vw,38px);
  border:1px solid rgba(243,241,237,.18);
  border-radius:16px;
  background:var(--navy-2);
}
.ed-price__tag{display:flex;align-items:center;gap:clamp(18px,2vw,30px);flex-wrap:wrap}
.ed-price__n{
  font-family:var(--serif);font-weight:400;
  font-size:clamp(2.8rem,1.9rem + 2.4vw,4rem);line-height:.9;letter-spacing:-.035em;color:var(--cream);
}
.ed-price__meta{display:flex;flex-direction:column;gap:.34rem;margin:0;padding:0 0 0 clamp(18px,2vw,30px);list-style:none;border-left:1px solid rgba(243,241,237,.18)}
.ed-price__meta li{font:400 13.5px/1.3 var(--sans);color:rgba(236,233,227,.74)}
.ed-price__act{display:flex;flex-direction:column;align-items:flex-start;gap:.2rem}
.ed-price__act .ed__note{color:rgba(236,233,227,.45)}

/* ============================================================================
   SECTION 5 — Niveaux
   ========================================================================== */

.ed-lv{background:var(--warm);color:var(--navy);padding:clamp(58px,6vw,88px) 0 clamp(60px,6.2vw,92px)}
.ed-lv .ed__eyebrow{color:#6c7d86}
.ed-lv__head{max-width:640px}
.ed-lv__grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(18px,2vw,28px);margin-top:clamp(34px,3.6vw,52px)}
.ed-lv__card{
  display:flex;flex-direction:column;
  padding:clamp(26px,2.6vw,36px) clamp(22px,2.2vw,30px) clamp(28px,2.8vw,38px);
  border:1px solid rgba(11,29,51,.14);
  border-radius:16px;
  background:var(--cream);
  transition:transform .5s cubic-bezier(.16,1,.3,1),border-color .5s ease;
}
.ed-lv__card:hover{transform:translateY(-3px);border-color:rgba(201,119,90,.45)}
.ed-lv__lb{margin:0;font:500 11px/1 var(--sans);letter-spacing:.22em;text-transform:uppercase;color:rgba(11,29,51,.5)}
.ed-lv__n{
  margin:.75rem 0 0;font-family:var(--serif);font-weight:400;
  font-size:clamp(2.5rem,1.7rem + 1.9vw,3.3rem);line-height:1;letter-spacing:-.03em;
}
/* Le système de classement reste secondaire : le nombre garde la vedette. */
.ed-lv__sys{
  margin:.45rem 0 0;
  font:400 11.5px/1.35 var(--sans);
  letter-spacing:.02em;
  color:rgba(11,29,51,.52);
}
.ed-lv__txt{
  margin:auto 0 0;padding-top:clamp(20px,2vw,28px);
  font:300 14.5px/1.5 var(--sans);color:rgba(11,29,51,.62);
}
@media(prefers-reduced-motion:reduce){.ed-lv__card{transition:none}}

/* ============================================================================
   SECTION 6 — Les visages de l'édition
   ========================================================================== */

.ed-fc{border-top:1px solid rgba(11,29,51,.12);background:var(--cream);color:var(--navy);padding:clamp(58px,6vw,88px) 0 clamp(58px,6vw,88px)}
.ed-fc .ed__eyebrow{color:#6c7d86}
.ed-fc .ed__lede{color:rgba(11,29,51,.64)}
.ed-fc__head{max-width:660px}

.ed-fc__grid{display:grid;grid-template-columns:minmax(0,1.02fr) minmax(0,1.98fr);gap:clamp(22px,2.4vw,38px);margin-top:clamp(34px,3.6vw,52px);align-items:start}
.ed-fc__guests{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(18px,2vw,28px)}

.ed-fc__ph{
  position:relative;width:100%;aspect-ratio:4/5;border-radius:14px;overflow:hidden;
  background:#DCD8D0;border:1px solid rgba(11,29,51,.1);
}
.ed-fc__lead .ed-fc__ph{aspect-ratio:4/4.75}
.ed-fc__ph img{width:100%;height:100%;object-fit:cover;object-position:50% 20%;display:block;transition:transform .7s cubic-bezier(.16,1,.3,1)}
.ed-fc__lead:hover .ed-fc__ph img,.ed-fc__guest:hover .ed-fc__ph img{transform:scale(1.03)}
.ed-fc__num{
  position:absolute;left:13px;top:11px;font:500 10.5px/1 var(--sans);letter-spacing:.2em;
  color:var(--cream);text-shadow:0 1px 6px rgba(11,29,51,.65);
}
.ed-fc__empty{position:absolute;inset:0;display:flex;align-items:center;justify-content:center}
.ed-fc__empty b{font-family:var(--serif);font-weight:400;font-size:2.6rem;color:rgba(11,29,51,.16)}

.ed-fc__body{padding-top:.9rem;margin-top:.9rem;border-top:1px solid rgba(11,29,51,.14)}
/* Le titre échiquéen ouvre la carte : petites capitales espacées, teinte
   désaturée. Il annonce le nom sans jamais lui disputer la vedette. */
.ed-fc__gm{
  margin:0;
  display:flex;align-items:center;flex-wrap:wrap;
  gap:.42rem;
  font:500 10px/1.35 var(--sans);
  /* .13em plutôt que .17 : « Grand maître international » et sa pastille
     tiennent alors sur une seule ligne dans la colonne des invités, à toutes
     les largeurs. Le label reste espacé, le nom n'est pas touché. */
  letter-spacing:.13em;
  text-transform:uppercase;
  color:rgba(11,29,51,.52);
}
/* Pastille de titre, dans l'esprit des badges de titre Chess.com : petit
   rectangle plein à coins arrondis, initiales en ivoire. Le grand maître
   prend le terracotta, le maître reste en navy — la hiérarchie se lit d'un
   coup sans que la carte devienne un bloc de badges. */
.ed-fc__badge{
  flex:0 0 auto;
  display:inline-flex;align-items:center;justify-content:center;
  min-width:22px;height:15px;
  padding:0 4px;
  border-radius:3px;
  background:rgba(11,29,51,.6);
  color:var(--cream);
  font:700 9px/1 var(--sans);
  letter-spacing:.06em;
}
.ed-fc__badge--gm{background:var(--terra)}
.ed-fc__badge:empty{display:none}
/* La ligne de niveau : lisible, nettement plus discrète que le nom. */
.ed-fc__elo{
  margin:.28rem 0 0;
  font:400 11.5px/1.4 var(--sans);
  color:rgba(11,29,51,.55);
}
.ed-fc__elo:empty{display:none}
/* Le rôle dans l'édition passe sous le nom : titre, puis identité, puis rôle. */
.ed-fc__role{margin:.5rem 0 0;font:500 10.5px/1.3 var(--sans);letter-spacing:.16em;text-transform:uppercase;color:rgba(11,29,51,.45)}
.ed-fc__role--host{color:var(--terra)}
.ed-fc__name{margin:.3rem 0 0;font-family:var(--serif);font-weight:400;font-size:clamp(1.3rem,1.05rem + .55vw,1.65rem);line-height:1.1;letter-spacing:-.02em}
.ed-fc__txt{margin:.3rem 0 0;font:300 13.5px/1.45 var(--sans);color:rgba(11,29,51,.6)}
.ed-fc__foot{margin:clamp(28px,2.8vw,40px) 0 0;font:300 12.5px/1.5 var(--sans);color:rgba(11,29,51,.45)}
@media(prefers-reduced-motion:reduce){.ed-fc__ph img{transition:none}}

/* ============================================================================
   SECTION 7 — Preuve / bêta
   ========================================================================== */


/* ============================================================================
   SECTION 8 — CTA final
   ========================================================================== */

.ed-fin{border-top:1px solid rgba(243,241,237,.14);background:var(--navy);color:var(--cream);padding:clamp(56px,5.8vw,86px) 0}
.ed-fin__in{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(30px,3.4vw,60px);align-items:center}
.ed-fin__start{margin:1.15rem 0 0;font:300 14.5px/1.5 var(--sans);color:rgba(236,233,227,.6)}
.ed-fin__start b{font-weight:500;color:var(--cream)}
.ed-fin__act{display:flex;flex-direction:column;align-items:flex-start;gap:1.35rem}
.ed-fin__meta{display:flex;flex-wrap:wrap;gap:.5rem 0;margin:0;padding:0;list-style:none;font:300 13.5px/1.4 var(--sans);color:rgba(236,233,227,.6)}
.ed-fin__meta li{display:inline-flex;align-items:baseline}
.ed-fin__meta li + li::before{content:"·";margin:0 .7rem;color:var(--terra)}

/* ============================================================================
   SECTION 9 — FAQ
   ========================================================================== */

.ed-faq{background:var(--warm);color:var(--navy);padding:clamp(58px,6vw,88px) 0}
.ed-faq .ed__eyebrow{color:#6c7d86}
.ed-faq__grid{display:grid;grid-template-columns:minmax(0,.72fr) minmax(0,1.28fr);gap:clamp(32px,4vw,72px);align-items:start}
.ed-faq__head{position:sticky;top:34px}
.ed-faq__list{border-top:1px solid rgba(11,29,51,.14)}
.ed-faq__item{border-bottom:1px solid rgba(11,29,51,.14)}
.ed-faq__q{
  width:100%;display:flex;align-items:flex-start;justify-content:space-between;gap:1.2rem;
  padding:1.1rem 0;background:none;border:0;
  font:500 16px/1.45 var(--sans);color:var(--navy);text-align:left;cursor:pointer;
}
.ed-faq__q:focus-visible{outline:2px solid var(--terra);outline-offset:3px;border-radius:3px}
.ed-faq__ico{position:relative;flex:none;width:18px;height:18px;margin-top:.2rem}
.ed-faq__ico::before,.ed-faq__ico::after{
  content:"";position:absolute;left:50%;top:50%;background:var(--terra);
  transform:translate(-50%,-50%);transition:transform .4s cubic-bezier(.16,1,.3,1),opacity .4s ease;
}
.ed-faq__ico::before{width:14px;height:1.5px}
.ed-faq__ico::after{width:1.5px;height:14px}
.ed-faq__q[aria-expanded="true"] .ed-faq__ico::after{transform:translate(-50%,-50%) scaleY(0);opacity:0}
.ed-faq__a{overflow:hidden;height:0;transition:height .42s cubic-bezier(.16,1,.3,1)}
.ed-faq__a > div{padding:0 0 1.2rem;max-width:62ch}
.ed-faq__a p{margin:0;font:300 15px/1.65 var(--sans);color:rgba(11,29,51,.72)}
@media(prefers-reduced-motion:reduce){.ed-faq__a{transition:none}.ed-faq__ico::before,.ed-faq__ico::after{transition:none}}

/* ============================================================================
   SECTION 10 — Pied de page
   ========================================================================== */

.ed-foot{border-top:1px solid rgba(243,241,237,.12);background:var(--navy);color:rgba(236,233,227,.62);padding:clamp(38px,3.8vw,56px) 0}
.ed-foot__in{display:flex;align-items:center;justify-content:space-between;gap:1.6rem;flex-wrap:wrap}
.ed-foot__logo img{display:block;height:22px;width:auto}
.ed-foot__nav{display:flex;gap:1.5rem;flex-wrap:wrap}
.ed-foot__nav a{color:rgba(236,233,227,.62);text-decoration:none;font:300 13px/1 var(--sans);transition:color .4s ease}
.ed-foot__nav a:hover{color:var(--cream)}
.ed-foot__nav a:focus-visible{outline:2px solid var(--cream);outline-offset:3px}
.ed-foot__c{font:300 12px/1 var(--sans);color:rgba(236,233,227,.38)}

/* ============================================================================
   Responsive
   ========================================================================== */

@media(max-width:1023px){
  .ed-ed__top{grid-template-columns:minmax(0,1fr);gap:clamp(30px,4vw,44px)}
  .ed-incl__grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .ed-fc__grid{grid-template-columns:minmax(0,1fr);gap:clamp(26px,3vw,38px)}
  .ed-fc__lead .ed-fc__ph{aspect-ratio:16/9}
  .ed-fin__in{grid-template-columns:minmax(0,1fr);gap:clamp(26px,3vw,38px)}
  .ed-faq__grid{grid-template-columns:minmax(0,1fr)}
  .ed-faq__head{position:static}
}

@media(max-width:767px){
  .ed-ed{padding:52px 0 56px}
  .ed-clock{grid-template-columns:repeat(2,minmax(0,1fr))}
  .ed-clock__u:nth-child(3),.ed-clock__u:nth-child(4){border-top:1px solid rgba(243,241,237,.14)}
  .ed-clock__u:nth-child(3){border-left:0}
  .ed-incl__grid{grid-template-columns:minmax(0,1fr);gap:0}
  .ed-incl__grid li{padding-block:.72rem}
  .ed-price{flex-direction:column;align-items:stretch;gap:1.5rem}
  .ed-price__tag{justify-content:space-between}
  .ed-price__act{align-items:stretch}
  .ed-lv__grid{grid-template-columns:minmax(0,1fr)}
  .ed-fc__guests{grid-template-columns:minmax(0,1fr);gap:1.5rem}
  .ed-fc__guest{display:grid;grid-template-columns:96px minmax(0,1fr);gap:1rem;align-items:center}
  .ed-fc__guest .ed-fc__body{margin-top:0;padding-top:0;border-top:0}
  .ed-fin__act{align-items:stretch}
  .ed__btn{width:100%}
  .ed-foot__in{flex-direction:column;align-items:flex-start;gap:1.2rem}
}

/* --- Cartes de niveau ------------------------------------------------------
   Un filet, un repère terracotta qui se déplace d'une carte à l'autre, et le
   nombre. Rien d'autre : la phrase commune vit sous la grille. */
.ed-lv__rail{
  position:relative;display:block;height:1px;
  background:rgba(11,29,51,.14);
  margin-bottom:clamp(22px,2.2vw,30px);
}
.ed-lv__rail i{
  position:absolute;top:-3px;
  width:7px;height:7px;
  background:var(--terra);
  transform:translateX(-50%);
}
.ed-lv__card--1 .ed-lv__rail i{left:14%}
.ed-lv__card--2 .ed-lv__rail i{left:50%}
.ed-lv__card--3 .ed-lv__rail i{left:86%}

.ed-lv__n{margin-top:.6rem;font-size:clamp(3rem,2rem + 2.4vw,4.1rem)}

.ed-lv__shared{
  margin:clamp(30px,2.8vw,42px) auto 0;
  max-width:44rem;
  text-align:center;
  font-size:clamp(.95rem,.9rem + .2vw,1.06rem);
  line-height:1.55;
  color:rgba(11,29,51,.66);
}
.ed-lv__hint{
  margin:.55rem auto 0;
  max-width:44rem;
  text-align:center;
  font:300 12.5px/1.5 var(--sans);
  color:rgba(11,29,51,.5);
}

/* --- Visages : Samuel en tête, Gabriel annoncé, deux invités encore tus --- */
.ed-fc__guest--soon .ed-fc__ph{background:#20293A;border-color:rgba(11,29,51,.16)}
.ed-fc__guest--soon .ed-fc__empty{flex-direction:column;gap:.7rem}
.ed-fc__guest--soon .ed-fc__empty b{
  font-size:clamp(3rem,2.2rem + 1.6vw,4.1rem);line-height:1;color:rgba(243,241,237,.16);
}
.ed-fc__guest--soon .ed-fc__empty::after{
  content:"";width:26px;height:1px;background:rgba(201,119,90,.7);
}
.ed-fc__guest--soon .ed-fc__num{display:none}
.ed-fc__guest--soon .ed-fc__name{color:rgba(11,29,51,.5)}

/* --- Invités encore tus : une révélation à venir, pas un trou -----------
   Grain fin en motif SVG (aucun dégradé), bandeau terracotta qui glisse au
   survol, numéro qui se décale légèrement. */
.ed-fc__guest--soon .ed-fc__ph{position:relative;overflow:hidden}
.ed-fc__grain{
  position:absolute;inset:0;z-index:1;pointer-events:none;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='7' height='7'%3E%3Ccircle cx='1' cy='1' r='.6' fill='%23F3F1ED' fill-opacity='.075'/%3E%3Ccircle cx='4.5' cy='4' r='.5' fill='%23F3F1ED' fill-opacity='.05'/%3E%3C/svg%3E");
}
.ed-fc__veil{
  position:absolute;left:0;right:0;top:56%;z-index:2;
  height:1px;background:rgba(201,119,90,.8);
  transition:transform .55s cubic-bezier(.16,1,.3,1), opacity .55s ease;
}
.ed-fc__veil::after{
  content:"";position:absolute;left:0;right:0;top:1px;
  height:44%;background:rgba(11,29,51,.28);
}
.ed-fc__guest--soon .ed-fc__empty{position:relative;z-index:3}
.ed-fc__guest--soon:hover .ed-fc__veil{transform:translateY(-9px);opacity:.75}
.ed-fc__guest--soon:hover .ed-fc__empty b{transform:translateY(-2px);opacity:.9}
.ed-fc__guest--soon .ed-fc__empty b{transition:transform .55s cubic-bezier(.16,1,.3,1), opacity .55s ease}

/* --- Retours du bêta-test : une ligne, quatre emplacements ---------------- */
@media(prefers-reduced-motion:reduce){
  .ed-fc__veil,.ed-fc__guest--soon .ed-fc__empty b{transition:none}
}

/* --- Bandeau de preuve : quatre mini-cartes éditoriales ------------------
   Le sol de la section est un ivoire froid, légèrement bleuté : il descend du
   navy commercial au-dessus. Les cartes, elles, sont en ivoire chaud, très
   proche de celui de la FAQ en dessous. La section fait donc le passage à elle
   seule — fond froid, cartes chaudes — au lieu de le subir.
   Aucun dégradé : la matière vient d'un grain SVG d'un demi-pixel et les
   reliefs, d'ombres portées très ouvertes. */
.ed-pf{
  position:relative;
  border-bottom:1px solid rgba(11,29,51,.08);
  background:#E6E9EC;
  color:var(--navy);
  padding:clamp(30px,3vw,44px) 0 clamp(28px,2.6vw,38px);
}
/* grain très fin : la surface cesse d'être un aplat mort sans devenir texture */
.ed-pf::before{
  content:"";
  position:absolute;inset:0;
  pointer-events:none;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='7' height='7'%3E%3Ccircle cx='1' cy='1' r='.5' fill='%230B1D33' fill-opacity='.045'/%3E%3Ccircle cx='4.5' cy='4' r='.45' fill='%23FFFFFF' fill-opacity='.5'/%3E%3C/svg%3E");
}
.ed-pf__in{position:relative;z-index:1}

.ed-pf .ed__eyebrow{color:rgba(11,29,51,.62);margin:0}
.ed-pf__head{
  display:flex;align-items:baseline;
  gap:clamp(12px,1.6vw,26px);
  flex-wrap:wrap;
  /* un filet ferme l'entête : la section paraît dessinée, pas posée */
  padding-bottom:clamp(14px,1.3vw,18px);
  border-bottom:1px solid rgba(11,29,51,.11);
}
.ed-pf__t{
  margin:0;
  font:400 clamp(.98rem,.92rem + .2vw,1.12rem)/1.4 var(--serif);
  letter-spacing:0;
  color:rgba(11,29,51,.92);
}
/* La citation de Sylvain reçoit plus de largeur ; le corps reste lisible
   et les quatre signatures s'alignent sur une même ligne. */
.ed-pf__grid{
  display:grid;
  grid-template-columns:minmax(0,1.55fr) minmax(0,.86fr) minmax(0,.75fr) minmax(0,.9fr);
  gap:clamp(12px,1.1vw,16px);
  margin-top:clamp(18px,1.6vw,22px);
}
.ed-pf__q{
  position:relative;
  display:flex;flex-direction:column;
  min-width:0;
  margin:0;
  padding:clamp(16px,1.2vw,20px);
  border:1px solid rgba(11,29,51,.07);
  /* arête haute plus claire : la lumière vient du haut, la carte se décolle */
  border-top-color:rgba(255,255,255,.9);
  border-radius:18px;
  background:#F5F3EF;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.75),
    0 1px 2px rgba(11,29,51,.05),
    0 12px 26px -18px rgba(11,29,51,.42);
  transition:transform .45s cubic-bezier(.16,1,.3,1), box-shadow .45s ease;
}
/* segment terracotta d'un pixel sur l'arête haute : la seule couleur d'accent */
.ed-pf__q::before{
  content:"";
  position:absolute;
  top:-1px;left:clamp(16px,1.2vw,20px);
  width:22px;height:1px;
  background:rgba(201,119,90,.6);
}
.ed-pf__q:hover{
  transform:translateY(-2px);
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.8),
    0 1px 2px rgba(11,29,51,.05),
    0 18px 34px -20px rgba(11,29,51,.5);
}
.ed-pf__q p{
  margin:0;
  font:300 14.5px/1.62 var(--sans);
  color:rgba(11,29,51,.84);
}
/* les signatures s'alignent sur une même ligne, quelle que soit la
   longueur de la citation */
.ed-pf__q footer{
  margin-top:auto;
  padding-top:.85rem;
  display:flex;align-items:baseline;gap:.45rem;flex-wrap:wrap;
  font:500 10.5px/1 var(--sans);
  letter-spacing:.12em;text-transform:uppercase;
}
.ed-pf__q footer b{font-weight:500;color:rgba(11,29,51,.9)}
.ed-pf__q footer span{color:rgba(11,29,51,.66);white-space:nowrap}
.ed-pf__q footer span::before{content:"·";margin-right:.45rem;color:rgba(201,119,90,.75)}
.ed-pf__note{
  margin:clamp(18px,1.6vw,22px) 0 0;
  max-width:52rem;
  font:300 11.5px/1.5 var(--sans);
  color:rgba(11,29,51,.58);
}
/* Sous 1360 px, quatre colonnes deviendraient trop étroites : on passe en
   deux par deux plutôt que de rapetisser le texte. */
@media(max-width:1359px){
  .ed-pf__grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:clamp(12px,1.4vw,16px);
  }
}
/* Mobile : quatre cartes compactes, sans réduire le corps des citations. */
@media(max-width:699px){
  .ed-pf{padding:26px 0 24px}
  .ed-pf__head{gap:10px;padding-bottom:12px}
  .ed-pf__grid{grid-template-columns:minmax(0,1fr);gap:10px;margin-top:16px}
  .ed-pf__q{padding:14px 16px;border-radius:16px}
  .ed-pf__q::before{left:16px}
  .ed-pf__q footer{padding-top:.6rem}
  .ed-pf__q p{font-size:14px}
  .ed-pf__note{margin-top:14px}
}
@media(prefers-reduced-motion:reduce){
  .ed-pf__q{transition:none}
  .ed-pf__q:hover{transform:none}
}

/* Mobile : « Grand maître international » est long. On l'autorise à passer sur
   deux lignes et on resserre légèrement son interlettrage, sans jamais toucher
   à la taille du nom. */
@media(max-width:767px){
  .ed-fc__gm{font-size:9.5px;letter-spacing:.14em}
}

/* Mobile : la pastille suit le label sur sa ligne, ou passe dessous si le
   titre occupe déjà toute la largeur. Ni le nom ni la pastille ne rétrécissent. */
@media(max-width:767px){
  .ed-fc__gm{gap:.36rem}
  .ed-fc__elo{font-size:11px}
}

/* --- Rendez-vous en direct ---------------------------------------------------
   Une information pratique, pas un argument : même registre que les deux lignes
   au-dessus, un filet fin pour la séparer, aucune carte, aucune couleur forte.
   On la trouve quand on la cherche ; elle ne coupe pas le parcours. */
.ed-lv__live{
  margin:clamp(22px,2.2vw,30px) auto 0;
  padding-top:clamp(14px,1.4vw,18px);
  max-width:44rem;
  border-top:1px solid rgba(11,29,51,.1);
  text-align:center;
}
.ed-lv__live-t{
  margin:0;
  font:500 10px/1.3 var(--sans);
  letter-spacing:.16em;
  text-transform:uppercase;
  color:rgba(11,29,51,.48);
}
.ed-lv__live-list{
  margin:.6rem 0 0;
  padding:0;
  list-style:none;
  display:flex;
  flex-wrap:wrap;
  justify-content:center;
  gap:.3rem 0;
  font:400 12.5px/1.5 var(--sans);
  color:rgba(11,29,51,.66);
}
.ed-lv__live-list li{display:inline-flex;align-items:baseline;gap:.4rem;white-space:nowrap}
.ed-lv__live-list li + li::before{
  content:"";
  display:inline-block;
  width:3px;height:3px;
  margin:0 .9rem;
  border-radius:50%;
  background:rgba(201,119,90,.7);
  transform:translateY(-3px);
}
.ed-lv__live-list b{font-weight:500;color:rgba(11,29,51,.78)}
.ed-lv__live-note{
  margin:.55rem auto 0;
  max-width:38rem;
  font:300 12px/1.55 var(--sans);
  color:rgba(11,29,51,.5);
}
@media(max-width:699px){
  .ed-lv__live-list{flex-direction:column;align-items:center;gap:.2rem}
  .ed-lv__live-list li + li::before{display:none}
}

/* Horaires dans la FAQ : une liste sobre, dans le corps de la réponse. */
.ed-faq__hours{
  margin:.45rem 0 .7rem;
  padding-left:1.1rem;
  font:300 15px/1.65 var(--sans);
  color:rgba(11,29,51,.72);
}
.ed-faq__hours li::marker{color:rgba(201,119,90,.8)}

