/* ── La page de vente « Founder Class » : le Pack Fondateur à 97 € HT (offre du 29/10/2026). Refaite le 28/10/2026, téléphone d'abord.
   Le monde : un terminal la nuit et une carte d'embarquement. Nuit, papier d'ivoire, encre, et la menthe du C de YLC ;
   Anton pour l'affichage, Geist pour le texte, Geist Mono pour ce qui se compte (tableau, champs, prix).
   Une lumière par scène (menthe sur l'équipe, ambre sur la box, couchant sur le Campus), un grain fixe sur toute la nuit,
   des révélations au défilement ([data-rv], vente.js) en transform/opacity seulement, et rien qui bouge si l'on a demandé
   moins d'animations. Tout est rangé sous .fc (classes fc-*), pour ne rien toucher de accueil.css ni de l'habillage. ── */
:root {
  --fc-nuit: #090a0c; --fc-nuit-2: #111317; --fc-nuit-3: #1a1d22;
  --fc-ligne: rgba(236, 240, 245, .1); --fc-ligne-2: rgba(236, 240, 245, .18);
  --fc-texte: #eef0f3; --fc-doux: #a7adb7; --fc-pale: #80868f;
  --fc-papier: #f2ede3; --fc-papier-2: #e4dccb; --fc-encre: #17160f; --fc-encre-2: #575244;
  --fc-menthe: #e7c88a; --fc-menthe-2: #f3dfb0; --fc-menthe-encre: #1a1306;
  --fc-laiton: #f0c674; --fc-laiton-2: #c9a865;
  --fc-f-aff: "Anton", "Arial Narrow", sans-serif;
  --fc-f-txt: Geist, "Geist Fallback", system-ui, sans-serif;
  --fc-f-mono: "Geist Mono", ui-monospace, Menlo, monospace;
  --fc-sortie: cubic-bezier(.16, 1, .3, 1);
  --fc-ressort: cubic-bezier(.32, .72, 0, 1);
}
:root { --fond: #090a0c; }
html { background: var(--fc-nuit); scrollbar-color: #2c3037 var(--fc-nuit); }
body { background: var(--fc-nuit); }
@keyframes fc-tic { 0% { transform: scaleY(1); } 45% { transform: scaleY(.15); } 100% { transform: scaleY(1); } }
@keyframes fc-pouls { 0%, 100% { opacity: 1; } 50% { opacity: .35; } }
@keyframes fc-ouvre { from { background: rgba(231, 200, 138, .4); } }
@keyframes fc-monte { from { opacity: 0; transform: translateY(26px); } }
@keyframes fc-equipe { from { opacity: 0; transform: translateY(46px) scale(.96); } }
@keyframes fc-pousse { 0%, 100% { transform: translateX(0); } 50% { transform: translateX(5px); } }
@keyframes fc-defile { to { transform: translateY(calc(-100% + var(--h, 0px))); } }
@keyframes fc-onde { from { transform: scale(.6); opacity: .9; } to { transform: scale(2.6); opacity: 0; } }

/* Le grain : un seul calque fixe, sans clic, au-dessus de la nuit. */
body:has(main.fc)::after { content: ""; position: fixed; inset: 0; z-index: 2; pointer-events: none; opacity: .05;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='g'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 .55 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23g)'/%3E%3C/svg%3E"); }

.fc { position: relative; overflow-x: clip; color: var(--fc-texte); font-family: var(--fc-f-txt); background: var(--fc-nuit);
  ::selection { background: var(--fc-menthe); color: var(--fc-menthe-encre); }
  /* Une seule gouttière pour toute la page (16 à 20 px sur téléphone) : le texte, les scènes bord à bord et le carrousel s'y alignent. */
  --fc-gout: clamp(16px, 5vw, 20px);
  .fc-env { width: min(1160px, 100% - 2 * var(--fc-gout)); margin-inline: auto; }
  h1, h2, h3, h5 { margin: 0; text-wrap: balance; }
  p { margin: 0; }
  h1, h2 { font-family: var(--fc-f-aff); font-weight: 400; text-transform: uppercase; letter-spacing: .004em; color: #fff; }
  h1 em, h2 em, h3 em { font-style: normal; color: var(--fc-menthe); }
  h2 { font-size: clamp(44px, 11.6vw, 88px); line-height: .98; }
  :focus-visible { outline: 2px solid var(--fc-menthe); outline-offset: 3px; border-radius: 8px; }
  .fc-sr { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }

  .fc-bloc { position: relative; padding-block: clamp(56px, 10vw, 136px); scroll-margin-top: 80px; }
  .fc-tete { max-width: 880px; margin-bottom: clamp(32px, 5vw, 60px); }
  .fc-sous { margin-top: 18px; max-width: 58ch; color: var(--fc-doux); font-size: clamp(16.5px, 1.5vw, 19px); line-height: 1.55; }

  /* Les révélations : rien n'est caché sans script, ni pour qui demande moins d'animations. */
  [data-rv] { transition: opacity .9s var(--fc-sortie), translate 1s var(--fc-sortie); transition-delay: var(--rv-d, 0ms); }

  /* ── Les boutons : menthe sur la nuit, encre sur le papier ; la flèche dans son rond. ── */
  .fc-btn { display: inline-flex; align-items: center; justify-content: center; gap: 12px; min-height: 54px; padding: 0 26px; border-radius: 999px; border: 0; cursor: pointer;
    font: 650 16px/1.1 var(--fc-f-txt); text-decoration: none; text-align: center; -webkit-tap-highlight-color: transparent;
    transition: transform .45s var(--fc-ressort), background-color .2s ease, box-shadow .45s var(--fc-ressort), border-color .2s ease;
    > svg { width: 18px; height: 18px; flex: none; fill: none; stroke: currentColor; stroke-width: 2.2; stroke-linecap: round; stroke-linejoin: round; transition: translate .45s var(--fc-ressort); }
    &:hover { transform: translateY(-2px); > svg { translate: 3px 0; } }
    &:active { transform: translateY(0) scale(.98); } }
  .fc-btn-rond { display: grid; place-items: center; width: 42px; height: 42px; flex: none; margin-right: -16px; border-radius: 50%; background: rgba(26, 19, 6, .1); transition: transform .45s var(--fc-ressort), background-color .2s;
    svg { width: 19px; height: 19px; fill: none; stroke: currentColor; stroke-width: 2.3; stroke-linecap: round; stroke-linejoin: round; } }
  .fc-btn:hover .fc-btn-rond { transform: translate(3px, -1px) scale(1.06); background: rgba(26, 19, 6, .16); }
  .fc-btn-menthe { background: var(--fc-menthe); color: var(--fc-menthe-encre); box-shadow: 0 18px 40px -16px rgba(231, 200, 138, .55), inset 0 1px 0 rgba(255, 255, 255, .45);
    &:hover { background: var(--fc-menthe-2); box-shadow: 0 24px 50px -16px rgba(231, 200, 138, .7), inset 0 1px 0 rgba(255, 255, 255, .5); } }
  .fc-btn-encre { background: var(--fc-encre); color: var(--fc-menthe); box-shadow: 0 14px 30px -16px rgba(23, 22, 15, .8);
    &:hover { background: #000; } &:focus-visible { outline-color: var(--fc-encre); } }
  .fc-btn-trait { background: transparent; color: var(--fc-encre); border: 1.5px solid rgba(23, 22, 15, .32);
    &:hover { border-color: var(--fc-encre); } &:focus-visible { outline-color: var(--fc-encre); } }
  .fc-btn-grand { min-height: 64px; padding: 0 26px 0 28px; font-size: clamp(15.5px, 4.3vw, 17.5px); white-space: nowrap; }
  .fc-lien { display: inline-flex; align-items: center; gap: 8px; min-height: 44px; color: var(--fc-texte); font: 600 15px/1.2 var(--fc-f-txt);
    text-decoration: underline; text-decoration-color: rgba(238, 240, 243, .35); text-underline-offset: 5px; transition: text-decoration-color .2s;
    svg { width: 16px; height: 16px; fill: none; stroke: currentColor; stroke-width: 2.2; stroke-linecap: round; stroke-linejoin: round; }
    &:hover { text-decoration-color: var(--fc-menthe); } }

  /* ── Le héros : le titre, le bouton, puis l'équipe en vrai, debout, et le tableau des départs posé devant. ── */
  .fc-hero { position: relative; isolation: isolate; padding-top: clamp(100px, 12vw, 148px); }
  .fc-hero::before { content: ""; position: absolute; z-index: -1; inset: 0 0 auto; height: 100%; pointer-events: none;
    background:
      radial-gradient(60% 34% at 50% 64%, rgba(231, 200, 138, .2), transparent 70%),
      radial-gradient(70% 40% at 50% 0%, rgba(120, 150, 180, .16), transparent 72%),
      linear-gradient(180deg, transparent 70%, var(--fc-nuit)); }
  .fc-hero-centre { display: flex; flex-direction: column; align-items: center; text-align: center; }
  .fc-pastille { display: inline-flex; align-items: center; gap: 10px; max-width: 100%; padding: 5px 14px 5px 5px; border-radius: 999px; background: rgba(17, 19, 23, .8); border: 1px solid var(--fc-ligne-2); color: var(--fc-doux); font: 500 12.5px/1.3 var(--fc-f-txt); text-align: left; box-shadow: inset 0 1px 0 rgba(255, 255, 255, .06); }
  .fc-avatars { display: inline-flex; flex: none; padding-left: 8px;
    img { width: 26px; height: 26px; margin-left: -8px; border-radius: 50%; border: 2px solid var(--fc-nuit-2); background: var(--fc-nuit-3); } }
  @media (max-width: 480px) { .fc-pastille .fc-avatars img:nth-child(n+4) { display: none; } }
  h1 { margin-top: 22px; font-size: clamp(56px, 15.2vw, 136px); line-height: .92; letter-spacing: 0; }
  h1 .l1, h1 em { display: block; }
  .fc-insec { white-space: nowrap; }
  @media (min-width: 760px) { h1 { font-size: min(8.4vw, 120px); } }
  .fc-hero-sous { margin-top: 20px; max-width: 46ch; color: var(--fc-doux); font-size: clamp(16.5px, 1.6vw, 19.5px); line-height: 1.5; }
  .fc-hero-cta { margin-top: 28px; width: 100%; display: grid; justify-items: center; gap: 14px;
    .fc-btn { width: min(100%, 420px); } }
  .fc-hero-prix { display: flex; flex-wrap: wrap; justify-content: center; gap: 6px 18px; color: var(--fc-texte); font-size: 15.5px; font-weight: 600; line-height: 1.4;
    b { color: #fff; font-weight: 650; } }
  .fc-hero-prix-2 { font-size: 14px; font-weight: 500; }
  /* 29/10/2026 : le prix (97 € HT) en grand sous le bouton du héros, pour qu'il se voie tout de suite. */
  .fc-hero-prix .fc-gros { margin-right: 4px; color: var(--fc-menthe); font: 400 clamp(40px, 11vw, 52px)/1 var(--fc-f-aff); vertical-align: -6px; }
  .fc-ttc { max-width: 44ch; color: var(--fc-pale); font-size: 12.5px; line-height: 1.45; }
  .fc-ttc-papier { margin-top: 6px; color: var(--fc-encre-2); }
  .fc-hero-cta { gap: 10px !important; } .fc-hero-cta .fc-btn { margin-bottom: 4px; }
  .fc-hero-garantie { display: inline-flex; align-items: center; gap: 6px; color: var(--fc-texte);
    svg { width: 16px; height: 16px; fill: none; stroke: var(--fc-menthe); stroke-width: 1.9; stroke-linecap: round; stroke-linejoin: round; } }

  .fc-scene-equipe { position: relative; z-index: -1; margin: 18px 0 0 calc(50% - 80vw); width: 160vw; pointer-events: none;
    img { display: block; width: 100%; height: auto; -webkit-mask-image: linear-gradient(180deg, #000 80%, transparent); mask-image: linear-gradient(180deg, #000 80%, transparent); }
    &::after { content: ""; position: absolute; left: 18%; right: 18%; bottom: 4%; height: 26%; z-index: -1; border-radius: 50%; background: radial-gradient(closest-side, rgba(231, 200, 138, .34), transparent); filter: blur(10px); } }
  @media (min-width: 760px) { .fc-scene-equipe { width: min(1240px, 100vw); margin: clamp(24px, 4vw, 48px) auto 0; } }

  /* Le tableau des départs : des palettes qui tombent une fois, à l'arrivée. */
  .fc-tableau { position: relative; margin: -18px auto 0; width: 100%; max-width: 1100px; padding: 16px clamp(14px, 2.6vw, 28px) 18px; border-radius: 18px;
    background: linear-gradient(180deg, rgba(23, 25, 30, .94), rgba(12, 14, 17, .96)); border: 1px solid var(--fc-ligne-2); box-shadow: 0 40px 90px -40px #000, inset 0 1px 0 rgba(255, 255, 255, .07);
    -webkit-backdrop-filter: blur(10px); backdrop-filter: blur(10px);
    dl { margin: 0; display: grid; grid-template-columns: repeat(5, auto); justify-content: space-between; gap: 16px 20px; }
    dt { margin-bottom: 10px; color: var(--fc-pale); font: 500 10.5px/1 var(--fc-f-mono); letter-spacing: .16em; text-transform: uppercase; text-align: left; white-space: nowrap; }
    dd { margin: 0; display: flex; flex-wrap: nowrap; gap: 3px; align-items: center; font: 500 clamp(14px, 1.45vw, 20px)/1 var(--fc-f-mono); color: var(--fc-texte); }
    dd.fc-menthe { color: var(--fc-menthe); }
    dd > span:first-child { letter-spacing: .08em; }
    &.fc-pret dd > span:first-child { display: none; } }
  @media (min-width: 760px) { .fc-tableau { margin-top: clamp(-90px, -6vw, -40px); } }
  .fc-case { display: grid; place-items: center; width: .82em; height: 1.34em; border-radius: 4px; color: inherit;
    background: linear-gradient(180deg, #23262c 0 50%, #1c1f24 50%); box-shadow: inset 0 -1px 0 rgba(0, 0, 0, .55), 0 1px 0 rgba(255, 255, 255, .03); position: relative; }
  .fc-case::after { content: ""; position: absolute; inset: 50% 0 auto; height: 1px; background: rgba(0, 0, 0, .7); }
  .fc-case.tic { animation: fc-tic .09s linear; }
  .fc-statut dd::before { content: ""; width: 8px; height: 8px; margin-right: 6px; border-radius: 50%; background: var(--fc-menthe); box-shadow: 0 0 12px rgba(231, 200, 138, .8); animation: fc-pouls 2.4s ease-in-out infinite; }
  @media (max-width: 759px) {
    .fc-tableau dl { grid-template-columns: 1fr 1fr; justify-content: stretch; }
    .fc-tableau .fc-statut { grid-column: 1 / -1; }
    .fc-tableau dd { font-size: min(16px, 4vw); flex-wrap: wrap; letter-spacing: .06em; }
  }

  .fc-video { margin-top: clamp(40px, 6vw, 64px);
    .vy-cadre { border-radius: 24px; overflow: hidden; border: 1px solid var(--fc-ligne-2); } }

  /* ── Ce que tu reçois : quatre chiffres, comme une ligne de tableau chacun. ── */
  .fc-chiffres { list-style: none; margin: 0; padding: 0; border-top: 1px solid var(--fc-ligne);
    li { border-bottom: 1px solid var(--fc-ligne); }
    a { display: grid; grid-template-columns: 122px minmax(0, 1fr) 20px; gap: 14px; align-items: start; padding: 22px 0; color: inherit; text-decoration: none; }
    a > svg { width: 20px; height: 20px; margin-top: 6px; fill: none; stroke: var(--fc-pale); stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; transition: translate .45s var(--fc-ressort), stroke .2s; }
    a:hover > svg { translate: 4px 0; stroke: var(--fc-menthe); }
    .fc-chiffre { color: var(--fc-menthe); font: 400 clamp(44px, 12vw, 92px)/.86 var(--fc-f-aff); font-variant-numeric: tabular-nums; white-space: nowrap; letter-spacing: -.01em; }
    small { display: block; color: var(--fc-pale); font: 500 10.5px/1.3 var(--fc-f-mono); letter-spacing: .14em; text-transform: uppercase; }
    strong { display: block; margin-top: 7px; color: #fff; font: 400 23px/1.02 var(--fc-f-aff); text-transform: uppercase; letter-spacing: .015em; }
    a > span > span { display: block; margin-top: 8px; color: var(--fc-doux); font-size: 14.5px; line-height: 1.5; }
    li:last-child small { color: var(--fc-laiton-2); } }
  @media (max-width: 559px) {
    .fc-chiffres a { grid-template-columns: minmax(0, 1fr) 20px; gap: 10px 12px; padding: 20px 0 22px; }
    .fc-chiffres .fc-chiffre { grid-column: 1; font-size: clamp(52px, 15vw, 64px); }
    .fc-chiffres a > svg { grid-column: 2; grid-row: 1; align-self: center; }
    .fc-chiffres a > span { grid-column: 1 / -1; } }
  @media (min-width: 1000px) {
    .fc-chiffres { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); border-bottom: 1px solid var(--fc-ligne);
      li { border-bottom: 0; }
      li + li { border-left: 1px solid var(--fc-ligne); }
      a { height: 100%; box-sizing: border-box; grid-template-columns: minmax(0, 1fr) 20px; grid-template-rows: auto 1fr; gap: 26px 10px; padding: 32px 26px 30px; transition: background-color .3s; }
      a:hover { background: rgba(255, 255, 255, .025); }
      .fc-chiffre { grid-column: 1; }
      a > svg { grid-column: 2; grid-row: 1; }
      a > span { grid-column: 1 / -1; }
      li:first-child a { padding-left: 0; } }
  }

  /* ── Le sommaire de ce qu'on reçoit, dans le héros : quatre tuiles, chacune mène à sa section. ── */
  .fc-recois { margin-top: 28px; }
  .fc-recois .fc-recois-t { margin-bottom: 12px; color: var(--fc-pale); font: 500 11px/1.2 var(--fc-f-mono); letter-spacing: .16em; text-transform: uppercase; }
  .fc-tuiles { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px;
    a { position: relative; height: 100%; box-sizing: border-box; display: flex; flex-direction: column; gap: 6px; padding: 14px 14px 13px; border-radius: 18px; background: var(--fc-nuit-2); border: 1px solid var(--fc-ligne); color: inherit; text-decoration: none; transition: border-color .25s, transform .45s var(--fc-ressort); }
    a:hover { border-color: rgba(231, 200, 138, .45); transform: translateY(-2px); }
    .fc-chiffre { color: var(--fc-menthe); font: 400 clamp(36px, 10.5vw, 56px)/.9 var(--fc-f-aff); white-space: nowrap; font-variant-numeric: tabular-nums; }
    strong { color: #fff; font: 650 14.5px/1.25 var(--fc-f-txt); }
    small { margin-top: auto; color: var(--fc-pale); font: 500 10px/1.3 var(--fc-f-mono); letter-spacing: .1em; text-transform: uppercase; }
    li:last-child small { color: var(--fc-laiton-2); } }
  @media (min-width: 900px) { .fc-tuiles { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; a { padding: 20px; } } }

  /* ── L'agence : trois gestes au chiffre détouré, puis l'équipe. ── */
  .fc-gestes { list-style: none; margin: 0; padding: 0; display: grid; gap: 0; counter-reset: none;
    li { display: grid; grid-template-columns: 84px minmax(0, 1fr); grid-template-areas: "n t" "n p"; column-gap: 12px; padding: 20px 0; border-top: 1px solid var(--fc-ligne); }
    i { grid-area: n; font: 400 64px/.86 var(--fc-f-aff); font-style: normal; color: transparent; -webkit-text-stroke: 1.4px rgba(231, 200, 138, .75); }
    b { grid-area: t; color: #fff; font: 400 28px/1 var(--fc-f-aff); text-transform: uppercase; letter-spacing: .01em; }
    span { grid-area: p; margin-top: 8px; color: var(--fc-doux); font-size: 15px; line-height: 1.5; max-width: 38ch; } }
  @media (min-width: 900px) {
    .fc-gestes { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 32px;
      li { grid-template-columns: minmax(0, 1fr); grid-template-areas: "n" "t" "p"; padding-top: 26px; }
      i { font-size: 96px; margin-bottom: 18px; }
      b { font-size: 34px; } }
  }
  .fc-eq-tete { display: flex; justify-content: space-between; align-items: end; gap: 16px; margin-top: clamp(56px, 8vw, 96px); margin-bottom: 22px;
    h3 { color: #fff; font: 400 clamp(34px, 8.6vw, 56px)/.98 var(--fc-f-aff); text-transform: uppercase; max-width: 14ch; } }
  .fc-glisse { flex: none; display: inline-flex; align-items: center; gap: 6px; padding-bottom: 6px; color: var(--fc-pale); font: 500 10.5px/1.2 var(--fc-f-mono); letter-spacing: .12em; text-transform: uppercase; text-align: right; max-width: 15ch;
    svg { width: 16px; height: 16px; flex: none; fill: none; stroke: var(--fc-menthe); stroke-width: 2.2; stroke-linecap: round; stroke-linejoin: round; animation: fc-pousse 1.8s var(--fc-sortie) infinite; } }
  .fc-equipage { list-style: none; margin: 0; padding: 4px var(--fc-gout) 8px; display: grid; grid-auto-flow: column; grid-auto-columns: min(68vw, 300px); gap: 12px;
    overflow-x: auto; overscroll-behavior-x: contain; scroll-snap-type: x mandatory; scroll-padding-inline: var(--fc-gout); scrollbar-width: none;
    &::-webkit-scrollbar { display: none; }
    li { position: relative; scroll-snap-align: start; display: flex; flex-direction: column; overflow: hidden; border-radius: 24px; padding-bottom: 22px;
      background: radial-gradient(120% 70% at 50% 0%, color-mix(in srgb, var(--c) 30%, transparent), transparent 70%), var(--fc-nuit-2);
      border: 1px solid var(--fc-ligne); box-shadow: inset 0 1px 0 rgba(255, 255, 255, .06); }
    img { display: block; width: 100%; aspect-ratio: 1; height: auto; object-fit: cover; object-position: 50% 20%; -webkit-mask-image: linear-gradient(180deg, #000 72%, transparent); mask-image: linear-gradient(180deg, #000 72%, transparent); }
    b { margin: -18px 20px 0; color: #fff; font: 400 46px/.95 var(--fc-f-aff); text-transform: uppercase; letter-spacing: .01em; }
    span { margin: 8px 20px 0; color: var(--c); font: 500 11px/1.2 var(--fc-f-mono); letter-spacing: .14em; text-transform: uppercase; }
    p { margin: 10px 20px 0; color: var(--fc-doux); font-size: 14.5px; line-height: 1.5; } }
  @media (min-width: 1000px) {
    .fc-glisse { display: none; }
    .fc-equipage { width: min(1160px, 100% - 32px); margin-inline: auto; padding: 0; grid-auto-flow: row; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 16px; overflow: visible;
      li { transition: transform .6s var(--fc-ressort), border-color .3s; }
      li:hover { transform: translateY(-6px); border-color: color-mix(in srgb, var(--c) 50%, transparent); } }
  }

  /* ── Les apps : des onglets par besoin du client, puis une grille compacte (icône, nom, ce qu'elle fait, qui s'en sert). ── */
  .fc-apps { margin-top: clamp(56px, 8vw, 96px); }
  .fc-ap-tete { max-width: 760px;
    h3 { color: #fff; font: 400 clamp(34px, 8.6vw, 56px)/.98 var(--fc-f-aff); text-transform: uppercase; }
    p { margin-top: 14px; color: var(--fc-doux); font-size: 15.5px; line-height: 1.55; } }
  .fc-ap-onglets { position: relative; display: flex; gap: 8px; margin: 22px calc(-1 * var(--fc-gout)) 0; padding: 2px var(--fc-gout) 4px; overflow-x: auto; scrollbar-width: none; scroll-padding-inline: var(--fc-gout);
    -webkit-mask-image: linear-gradient(90deg, #000 calc(100% - 28px), transparent); mask-image: linear-gradient(90deg, #000 calc(100% - 28px), transparent);
    &::-webkit-scrollbar { display: none; }
    button { flex: none; display: inline-flex; align-items: center; gap: 8px; min-height: 44px; padding: 0 14px 0 16px; border-radius: 999px; border: 1px solid var(--fc-ligne-2); background: rgba(255, 255, 255, .03); color: var(--fc-texte); font: 600 14px/1.1 var(--fc-f-txt); cursor: pointer; transition: background-color .25s, border-color .25s, color .25s; }
    button i { display: grid; place-items: center; min-width: 22px; height: 22px; padding: 0 6px; box-sizing: border-box; border-radius: 999px; background: rgba(255, 255, 255, .08); font: 600 11.5px/1 var(--fc-f-mono); font-style: normal; }
    button[aria-selected="true"] { background: var(--fc-menthe); border-color: var(--fc-menthe); color: var(--fc-menthe-encre); }
    button[aria-selected="true"] i { background: rgba(26, 19, 6, .14); } }
  @media (min-width: 760px) { .fc-ap-onglets { flex-wrap: wrap; margin-inline: 0; padding-inline: 0; overflow: visible; -webkit-mask-image: none; mask-image: none; } }
  .fc-ap-panneau { list-style: none; margin: 14px 0 0; padding: 0; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px;
    &[hidden] { display: none; }
    li { display: flex; flex-direction: column; gap: 6px; min-width: 0; padding: 14px; border-radius: 20px; background: var(--fc-nuit-2); border: 1px solid var(--fc-ligne); box-shadow: inset 0 1px 0 rgba(255, 255, 255, .05); animation: fc-monte .5s var(--fc-sortie) both; }
    .fc-ap-ico { width: 44px; height: 44px; border-radius: 12px; margin-bottom: 4px; }
    b { color: #fff; font: 400 22px/1 var(--fc-f-aff); text-transform: uppercase; letter-spacing: .02em; }
    p { color: var(--fc-doux); font-size: 13.5px; line-height: 1.45; }
    .fc-ap-qui { display: flex; align-items: center; gap: 7px; margin-top: auto; padding-top: 6px; color: var(--fc-pale); font: 500 10.5px/1.2 var(--fc-f-mono); letter-spacing: .06em; text-transform: uppercase; }
    .fc-ap-qui img { width: 22px; height: 22px; border-radius: 50%; } }
  @media (min-width: 760px) { .fc-ap-panneau { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; li { padding: 18px; } } }
  @media (min-width: 1080px) { .fc-ap-panneau { grid-template-columns: repeat(4, minmax(0, 1fr)); } }

  /* ── La preuve : ce que l'équipe prépare, et le reçu qui paie le Pack. ── */
  .fc-escale { display: grid; gap: 28px; align-items: start; }
  @media (min-width: 980px) { .fc-escale { grid-template-columns: minmax(0, 1.1fr) minmax(0, 1fr); gap: 56px; align-items: center; } }
  /* L'exemple : les métiers en étiquettes, puis le café Little Fern et ses vrais visuels. */
  .fc-metiers { list-style: none; margin: 22px 0 0; padding: 0; display: flex; flex-wrap: wrap; gap: 8px;
    li { padding: 8px 14px; border-radius: 999px; border: 1px solid var(--fc-ligne-2); color: var(--fc-texte); font: 500 13.5px/1.2 var(--fc-f-txt); background: rgba(255, 255, 255, .03); }
    li:first-child { border-color: rgba(240, 160, 90, .6); color: #f3b47a; background: rgba(240, 160, 90, .08); } }
  .fc-cafe-tete { display: grid; grid-template-columns: 64px minmax(0, 1fr); gap: 16px; align-items: center; margin-bottom: 18px;
    img { width: 64px; height: 64px; padding: 2px; box-sizing: border-box; border-radius: 18px; background: #f6efe4; object-fit: contain; }
    h3 { color: #fff; font: 400 clamp(26px, 6.8vw, 40px)/1 var(--fc-f-aff); text-transform: uppercase; }
    h3 em { color: #f3b47a; }
    p { margin-top: 6px; color: var(--fc-doux); font-size: 14px; line-height: 1.5; max-width: 62ch; } }
  .fc-galerie { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); grid-auto-rows: auto; gap: 8px; margin-bottom: 32px;
    figure { position: relative; margin: 0; overflow: hidden; border-radius: 18px; aspect-ratio: 1; background: #f6efe4; box-shadow: 0 30px 60px -40px #000; }
    figure > img { display: block; width: 100%; height: 100%; object-fit: cover; }
    .fc-g-site, .fc-g-video { grid-row: span 2; aspect-ratio: auto; }
    .fc-g-logo img { object-fit: contain; padding: 14%; box-sizing: border-box; }
    .fc-g-video { background: #232d22; } }
  .fc-g-defile { position: absolute; inset: 0;
    img { display: block; width: 100%; height: auto; } }
  .fc-g-lire { position: absolute; inset: 0; padding: 0; border: 0; cursor: pointer; background: var(--fond-video, #24301f);
    img { display: block; width: 100%; height: 100%; object-fit: contain; }
    i { position: absolute; left: 50%; top: 84%; display: grid; place-items: center; width: 56px; height: 56px; translate: -50% -50%; border-radius: 50%; background: rgba(255, 255, 255, .92); box-shadow: 0 14px 30px -10px rgba(0, 0, 0, .6); transition: transform .45s var(--fc-ressort); }
    i svg { width: 24px; height: 24px; margin-left: 3px; fill: var(--fc-encre); }
    &:hover i { transform: scale(1.08); } }
  .fc-g-video video { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: contain; background: #000; }
  @media (min-width: 900px) {
    .fc-galerie { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; margin-bottom: 48px; }
    .fc-galerie .fc-g-video { grid-column: 3; grid-row: 1 / 3; }
    .fc-galerie .fc-g-site { grid-column: 1; grid-row: 1 / 3; }
  }
  .fc-demo-lien { margin-top: 14px; color: var(--fc-menthe); text-decoration-color: rgba(231, 200, 138, .45); }
  .fc-livrables-t { color: var(--fc-pale); font: 500 11px/1.3 var(--fc-f-mono); letter-spacing: .14em; text-transform: uppercase; }
  .fc-livrables ul { list-style: none; margin: 14px 0 0; padding: 0; border-top: 1px solid var(--fc-ligne);
    li { display: grid; grid-template-columns: 56px minmax(0, 1fr); gap: 16px; align-items: center; padding: 14px 0; border-bottom: 1px solid var(--fc-ligne); }
    img { width: 56px; height: 56px; border-radius: 16px; object-fit: cover; }
    b { display: block; font: 650 16px/1.3 var(--fc-f-txt); }
    b span { color: #fff; }
    small { display: block; margin-top: 3px; color: var(--fc-doux); font-size: 14px; line-height: 1.45; } }
  .fc-recu { --z: 10px; position: relative; padding: 26px 24px calc(30px + var(--z)); background: var(--fc-papier); color: var(--fc-encre); border-radius: 10px 10px 0 0;
    -webkit-mask: linear-gradient(#000 0 0) top / 100% calc(100% - var(--z)) no-repeat, conic-gradient(from -45deg at bottom, #0000, #000 1deg 89deg, #0000 90deg) bottom / calc(var(--z) * 2) var(--z) repeat-x;
    mask: linear-gradient(#000 0 0) top / 100% calc(100% - var(--z)) no-repeat, conic-gradient(from -45deg at bottom, #0000, #000 1deg 89deg, #0000 90deg) bottom / calc(var(--z) * 2) var(--z) repeat-x;
    ::selection { background: var(--fc-encre); color: var(--fc-menthe); }
    h3 { margin-top: 14px; font: 400 clamp(34px, 9vw, 46px)/.98 var(--fc-f-aff); text-transform: uppercase; }
    dl { margin: 20px 0 0; }
    dl div { display: flex; justify-content: space-between; align-items: baseline; gap: 14px; padding: 12px 0; border-bottom: 1.5px dashed rgba(23, 22, 15, .3); }
    dt { font-size: 15px; line-height: 1.35; }
    dd { margin: 0; font: 500 15.5px/1 var(--fc-f-mono); font-variant-numeric: tabular-nums; white-space: nowrap; }
    .fc-recu-total { border-bottom: 2px solid var(--fc-encre); }
    .fc-recu-total dt { font-weight: 650; }
    .fc-recu-total dd { padding: 5px 9px; border-radius: 5px; background: var(--fc-menthe); font: 400 30px/1 var(--fc-f-aff); }
    .fc-recu-pack { border-bottom: 0; color: var(--fc-encre-2); } }
  @media (min-width: 980px) { .fc-recu { rotate: 1.4deg; box-shadow: 0 60px 110px -60px #000; } }
  .fc-recu-ex { color: var(--fc-encre-2); font: 500 11px/1.4 var(--fc-f-mono); letter-spacing: .1em; text-transform: uppercase; }
  .fc-avertit { margin-top: 16px; color: var(--fc-encre-2); font-size: 12.5px; line-height: 1.5; }

  /* ── La box fondateur, en « déballage » (refonte du 29/10/2026) : l'écrin noir ouvert, son couvercle relevé, le shot
     debout dedans (la scène 3D), la carte de membre inclinée devant, l'étiquette d'expédition collée sur la face. Tout
     se mesure sur la scène (cqi), pour garder la même composition de 360 px au bureau. La carte suit le pointeur et le
     défilement (vente.js : --rx, --ry, --sx, --lv), jamais si l'on a demandé moins d'animations. ── */
  .fc-box-bloc { isolation: isolate; }
  .fc-box { display: grid; gap: 26px; align-items: center; }
  @media (min-width: 980px) { .fc-box { grid-template-columns: minmax(0, 1.1fr) minmax(0, .9fr); gap: clamp(40px, 5vw, 72px); } }
  .fc-bx-scene { position: relative; z-index: 0; container-type: inline-size; width: calc(100% + 2 * var(--fc-gout)); margin: 0 calc(-1 * var(--fc-gout)); aspect-ratio: 1 / .98;
    --rx: 9deg; --ry: -14deg; --sx: 30%; --lv: 0;
    /* La lumière : une clé chaude derrière l'écrin, un reflet menthe sous la carte, et l'ombre de l'écrin au sol. */
    &::before { content: ""; position: absolute; z-index: -1; inset: -6% -4% 0; pointer-events: none;
      background: radial-gradient(30% 13% at 54% 52%, rgba(246, 184, 26, .34), transparent 72%), radial-gradient(38% 34% at 56% 36%, rgba(246, 184, 26, .16), transparent 70%), radial-gradient(30% 22% at 30% 78%, rgba(231, 200, 138, .12), transparent 72%), radial-gradient(46% 30% at 72% 30%, rgba(155, 63, 150, .12), transparent 72%); }
    &::after { content: ""; position: absolute; z-index: -1; left: 4%; right: 4%; top: 74%; height: 16%; border-radius: 50%; background: radial-gradient(closest-side, rgba(0, 0, 0, .85), transparent); filter: blur(6px); pointer-events: none; } }
  @media (min-width: 760px) { .fc-bx-scene { width: 100%; max-width: 660px; margin-inline: auto; aspect-ratio: 1 / .9; } }
  /* Le couvercle relevé, penché vers l'arrière : le Y gaufré et « Founder box ». */
  .fc-bx-couvercle { position: absolute; left: 17%; width: 66%; top: 3%; height: 45%; display: grid; justify-items: start; align-content: start; gap: 2.2cqi; padding: 5cqi 0 0 4.2cqi; box-sizing: border-box; border-radius: 2cqi 2cqi .6cqi .6cqi;
    background: linear-gradient(118deg, transparent 40%, rgba(255, 255, 255, .035) 52%, transparent 64%), radial-gradient(70% 60% at 50% 30%, #262930, #131519 60%, #0a0b0e); border: 1px solid rgba(255, 255, 255, .08); border-top-color: rgba(255, 255, 255, .2);
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, .12), inset 0 -3cqi 4cqi -2cqi rgba(0, 0, 0, .8), 0 4cqi 8cqi -4cqi #000;
    transform: perspective(110cqi) rotateX(14deg); transform-origin: 50% 100%;
    span { color: rgba(255, 255, 255, .26); font: 500 max(8.5px, 1.6cqi)/1 var(--fc-f-mono); letter-spacing: .24em; text-transform: uppercase; text-shadow: 0 1px 0 rgba(0, 0, 0, .9); } }
  .fc-bx-y { width: 9cqi; height: 9cqi; fill: none; stroke: #0b0c0f; stroke-width: 7; stroke-linecap: round; stroke-linejoin: round; filter: drop-shadow(0 -1px 0 rgba(255, 255, 255, .1)) drop-shadow(0 1px 0 rgba(255, 255, 255, .06)); }
  /* Le creux de l'écrin, vu d'en haut : un fond sombre, et la lumière qui monte de l'intérieur. */
  .fc-bx-creux { position: absolute; left: 12%; width: 76%; top: 47%; height: 10%; background: radial-gradient(60% 120% at 55% 100%, rgba(246, 184, 26, .22), transparent 70%), linear-gradient(180deg, #030304, #0d0e11 70%, #181a1f); clip-path: polygon(6% 0, 94% 0, 100% 100%, 0 100%); }
  /* Le shot, debout dans l'écrin : la scène 3D (scene3d.js, mode « flacon »). */
  .fc-bx-scene .fc-scene3d { inset: auto; left: 22%; width: 66%; top: 0; height: 74%; z-index: 1; }
  .fc-scene3d { position: absolute; inset: 0; cursor: grab; touch-action: pan-y;
    &.tenu { cursor: grabbing; }
    canvas { position: absolute; inset: 0; width: 100%; height: 100%; display: block; } }
  .fc-repli { position: absolute; left: 50%; top: 18%; height: 66%; width: auto; max-width: 100%; translate: -50% 0; transition: opacity .6s ease; }
  .fc-scene3d.pret .fc-repli { opacity: 0; }
  /* La face de l'écrin : noir mat, un liseré de lumière en haut. */
  .fc-bx-face { position: absolute; z-index: 2; left: 8%; width: 84%; top: 56%; height: 25%; border-radius: .6cqi .6cqi 1.6cqi 1.6cqi;
    background: linear-gradient(180deg, #23262c 0, #121418 7%, #0b0c0f 60%, #060708); border-top: 1px solid rgba(255, 255, 255, .2);
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, .06), inset 0 -2cqi 3cqi -2cqi rgba(255, 255, 255, .04), 0 5cqi 7cqi -4cqi #000;
  }
  /* L'étiquette d'expédition, collée sur la face, à droite. */
  .fc-etiquette { position: absolute; z-index: 3; right: 9%; top: 60%; width: 33%; padding: 2.2cqi 2.4cqi 2cqi; box-sizing: border-box; border-radius: 1.2cqi; background: var(--fc-papier); color: var(--fc-encre); rotate: 4deg; box-shadow: 0 2cqi 4cqi -1.6cqi rgba(0, 0, 0, .9); pointer-events: none;
    &::before { content: ""; position: absolute; top: 1.8cqi; right: 2cqi; width: 1.6cqi; height: 1.6cqi; border-radius: 50%; background: var(--fc-nuit); box-shadow: 0 0 0 .5cqi var(--fc-papier-2); }
    p { margin-top: 1.4cqi; padding-top: 1.2cqi; border-top: 1.5px dashed rgba(23, 22, 15, .32); font: 500 max(8.5px, 1.55cqi)/1.25 var(--fc-f-mono); letter-spacing: .03em; } }
  .fc-et-route { display: flex; align-items: center; justify-content: space-between; gap: 1cqi; padding-right: 2.6cqi;
    > span { display: grid; gap: .6cqi; min-width: 0; }
    small { color: var(--fc-encre-2); font: 500 max(7.5px, 1.3cqi)/1 var(--fc-f-mono); letter-spacing: .14em; text-transform: uppercase; }
    b { font: 400 max(13px, 3.6cqi)/1 var(--fc-f-aff); text-transform: uppercase; white-space: nowrap; }
    em { color: var(--fc-encre-2); font: 500 max(7.5px, 1.4cqi)/1 var(--fc-f-mono); font-style: normal; }
    svg { width: 2.8cqi; min-width: 12px; flex: none; fill: none; stroke: var(--fc-encre); stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; } }
  /* La carte de membre fondateur : noire, brossée, le Y menthe, la puce, le numéro (exemple). Mesurée en em (1em = 1cqi). */
  .fc-carte-m { position: absolute; z-index: 4; left: 3%; top: 49%; width: 52em; aspect-ratio: 1.586; font-size: 1cqi; perspective: 120em; pointer-events: none;
    &::after { content: ""; position: absolute; left: 6%; right: 2%; bottom: -9%; height: 22%; border-radius: 50%; background: rgba(0, 0, 0, .75); filter: blur(1.6em); transform: rotate(-6deg) translateY(calc(var(--lv) * 2em)); z-index: -1; transition: transform .8s var(--fc-ressort); } }
  .fc-cm-face { position: absolute; inset: 0; display: grid; grid-template-rows: auto 1fr auto; padding: 3.4em 3.8em 3.2em; border-radius: 3em; overflow: hidden;
    background: repeating-linear-gradient(100deg, rgba(255, 255, 255, .022) 0 1px, transparent 1px 3px), radial-gradient(120% 100% at 14% 0%, #30333a 0, #15171b 44%, #07080a 100%);
    border: 1px solid rgba(255, 255, 255, .16);
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, .22), inset 0 0 0 .5em rgba(255, 255, 255, .015), 0 2.4em 4em -1.6em rgba(0, 0, 0, .95);
    transform: rotateZ(-7deg) rotateX(var(--rx)) rotateY(var(--ry)) translateY(calc(var(--lv) * -2.4em)); transform-origin: 50% 80%;
    transition: transform .8s var(--fc-ressort);
    /* Le reflet qui glisse sur le métal. */
    &::after { content: ""; position: absolute; inset: 0; pointer-events: none; mix-blend-mode: screen;
      background: linear-gradient(112deg, transparent 32%, rgba(255, 255, 255, .13) 44%, rgba(231, 200, 138, .1) 50%, transparent 62%) var(--sx) 0 / 260% 100% no-repeat; transition: background-position .8s var(--fc-ressort); } }
  .fc-cm-haut { display: flex; align-items: flex-start; justify-content: space-between; gap: 2em;
    span { margin-top: .8em; color: rgba(255, 255, 255, .62); font: 500 max(7px, 1.9em)/1 var(--fc-f-mono); letter-spacing: .22em; text-transform: uppercase; white-space: nowrap; } }
  .fc-cm-y { width: 7.4em; height: 7.4em; fill: none; stroke: var(--fc-menthe); stroke-width: 7.5; stroke-linecap: round; stroke-linejoin: round; filter: drop-shadow(0 0 .9em rgba(231, 200, 138, .55)); }
  .fc-cm-puce { align-self: center; width: 7em; height: 5.3em; border-radius: 1em; background: linear-gradient(90deg, transparent 32%, rgba(0, 0, 0, .28) 32% 34%, transparent 34% 66%, rgba(0, 0, 0, .28) 66% 68%, transparent 68%), linear-gradient(0deg, transparent 47%, rgba(0, 0, 0, .28) 47% 53%, transparent 53%), linear-gradient(135deg, #e7e8ec, #8e9198 48%, #d4d6db); box-shadow: inset 0 0 0 1px rgba(0, 0, 0, .3); }
  .fc-cm-bas { display: flex; align-items: flex-end; justify-content: space-between; gap: 2em;
    > span { display: grid; gap: .9em; }
    small { color: rgba(255, 255, 255, .5); font: 500 max(6.5px, 1.6em)/1 var(--fc-f-mono); letter-spacing: .22em; text-transform: uppercase; white-space: nowrap; }
    b { color: #fff; font: 400 6em/.9 var(--fc-f-aff); letter-spacing: .03em; white-space: nowrap; font-variant-numeric: tabular-nums; text-shadow: 0 1px 0 rgba(0, 0, 0, .6); }
    em { color: rgba(255, 255, 255, .86); font: 400 4.2em/.9 var(--fc-f-aff); font-style: normal; letter-spacing: .04em; } }
  .fc-bx-ill { position: absolute; right: var(--fc-gout); top: 89%; margin: 0; color: var(--fc-pale); font: 500 10px/1.3 var(--fc-f-mono); letter-spacing: .06em; text-align: right; }
  @media (min-width: 760px) { .fc-bx-ill { right: 0; } }
  /* Le texte : court. Un sur-titre, le titre, une phrase, trois repères numérotés, le rituel, la ligne hors Europe. */
  .fc-box-texte h2 { font-size: clamp(40px, 5.2vw, 66px); line-height: 1; }
  .fc-bx-liste { list-style: none; margin: 26px 0 0; padding: 0; border-top: 1px solid var(--fc-ligne);
    li { display: grid; grid-template-columns: 36px minmax(0, 1fr); gap: 12px; align-items: baseline; padding: 14px 0; border-bottom: 1px solid var(--fc-ligne); }
    li > b { color: var(--fc-menthe); font: 500 12px/1 var(--fc-f-mono); letter-spacing: .1em; }
    span { display: grid; gap: 3px; min-width: 0; }
    strong { color: #fff; font: 650 16.5px/1.3 var(--fc-f-txt); }
    small { color: var(--fc-doux); font-size: 14.5px; line-height: 1.4; } }
  .fc-bx-rituel { margin-top: 16px; padding-left: 12px; border-left: 2px solid rgba(231, 200, 138, .55); color: var(--fc-doux); font-size: 13.5px; line-height: 1.5; max-width: 52ch; }
  .fc-bx-hors { display: flex; align-items: center; gap: 9px; margin-top: 14px; color: var(--fc-pale); font: 500 12px/1.45 var(--fc-f-mono);
    svg { width: 16px; height: 16px; flex: none; fill: none; stroke: currentColor; stroke-width: 1.6; } }

  /* Le mode Entreprise d'abord (29/10/2026) : les deux parcours, l'exemple du Café Grenadine (trois créations). */
  .fc-parcours-k { margin: 6px 0 14px; color: var(--fc-menthe); font: 500 11.5px/1.3 var(--fc-f-mono); letter-spacing: .16em; text-transform: uppercase; }
  .fc-parcours-ag { color: #f6c453; }
  .fc-gestes-ent { margin-bottom: clamp(30px, 5vw, 56px); }
  .fc-galerie.fc-galerie-3 { grid-template-columns: repeat(3, minmax(0, 1fr)); grid-auto-rows: auto; }
  .fc-galerie.fc-galerie-3 > figure.fc-g-site, .fc-galerie.fc-galerie-3 > figure.fc-g-video, .fc-galerie.fc-galerie-3 > figure.fc-g-logo { grid-column: auto; grid-row: auto; aspect-ratio: 9 / 16; }
  .fc-galerie.fc-galerie-3 > figure.fc-g-logo { background: #fbf4ea; }
  .fc-concret { padding: clamp(18px, 2.4vw, 26px); border-radius: 22px; background: var(--fc-papier); color: var(--fc-encre);
    h3 { font: 400 clamp(28px, 6vw, 40px)/1 var(--fc-f-aff); text-transform: uppercase; }
    > p:not(.fc-avertit) { margin-top: 10px; font-size: 17px; font-weight: 600; line-height: 1.45; }
    .fc-metiers { margin-top: 14px; li { color: var(--fc-encre); border-color: rgba(23, 22, 15, .25); background: transparent; } li:first-child { color: #9a4a12; border-color: rgba(154, 74, 18, .45); } }
    .fc-avertit { margin-top: 14px; } }

  /* « Ce que vaut ton Pack » (28/10/2026, nuit) : trois cartes (la valeur en crédits, deux exemples, le reste sans
     chiffre), puis « Tout ça pour 97 € HT ». Les lignes s'empilent ([data-rv], décalées par vente.js). */
  .fc-valeur { padding-bottom: 0; }
  .fc-val-k { margin-bottom: 10px; color: var(--fc-menthe); font: 500 11px/1.2 var(--fc-f-mono); letter-spacing: .16em; text-transform: uppercase; }
  .fc-val-cartes { display: grid; gap: 12px; }
  @media (min-width: 980px) { .fc-val-cartes { grid-template-columns: 1.15fr 1fr 1fr; gap: 16px; align-items: stretch; } }
  .fc-val-carte { padding: clamp(18px, 2.4vw, 24px); border-radius: 22px; background: linear-gradient(180deg, #14161a, #0e1013); border: 1px solid var(--fc-ligne); }
  .fc-val-credits { border-color: rgba(231, 200, 138, .35); }
  .fc-val-lignes { list-style: none; margin: 0; padding: 0; display: grid;
    li { display: flex; justify-content: space-between; align-items: baseline; gap: 12px; padding: 12px 0; border-bottom: 1px dashed var(--fc-ligne); font-size: 15.5px; color: var(--fc-texte); }
    b { color: var(--fc-menthe); font: 400 clamp(26px, 6.4vw, 34px)/1 var(--fc-f-aff); white-space: nowrap; } }
  .fc-val-total { margin-top: 14px; color: var(--fc-texte); font: 700 17px/1.4 var(--fc-f-txt); }
  .fc-val-m { margin-top: 8px; color: var(--fc-pale); font-size: 12.5px; line-height: 1.45; }
  .fc-val-sk { margin-bottom: 10px; color: var(--fc-pale); font: 500 10.5px/1.2 var(--fc-f-mono); letter-spacing: .14em; text-transform: uppercase; }
  .fc-val-ex { list-style: none; margin: 0; padding: 0; display: grid; gap: 14px;
    li { display: grid; gap: 4px; }
    small { color: #f6c453; font: 500 11px/1.2 var(--fc-f-mono); letter-spacing: .12em; text-transform: uppercase; }
    b { color: var(--fc-texte); font-size: 15.5px; line-height: 1.4; }
    span { color: var(--fc-pale); font-size: 12.5px; line-height: 1.45; } }
  .fc-val-plus { list-style: none; margin: 0; padding: 0; display: grid; gap: 9px;
    li { display: flex; gap: 10px; align-items: baseline; color: var(--fc-doux); font-size: 15px; line-height: 1.4; }
    li::before { content: "+"; flex: none; color: var(--fc-menthe); font-weight: 800; } }
  .fc-val-fin { margin-top: clamp(22px, 4vw, 40px); text-align: center; }
  .fc-val-pour { font: 400 clamp(38px, 9vw, 72px)/1 var(--fc-f-aff); text-transform: uppercase; color: #fff;
    em { color: var(--fc-menthe); font-style: normal; white-space: nowrap; } }
  .fc-val-trois { margin-top: 8px; color: var(--fc-doux); font: 500 13px/1.3 var(--fc-f-mono); letter-spacing: .06em; }

  /* Les apps à venir, incluses (28/10/2026, nuit) : une ligne en menthe sous l'explication des apps. */
  .fc-ap-nouv { display: inline-flex; align-items: center; gap: 10px; margin-top: 14px; padding: 8px 14px 8px 8px; border-radius: 999px; background: rgba(231, 200, 138, .1); border: 1px solid rgba(231, 200, 138, .35); color: var(--fc-texte); font-weight: 600; font-size: 14.5px; line-height: 1.35;
    i { flex: none; display: grid; place-items: center; width: 24px; height: 24px; border-radius: 50%; background: var(--fc-menthe); color: var(--fc-menthe-encre); font-style: normal; font-weight: 800; } }

  /* ── Le Guest Pass (28/10/2026 au soir) : une typographie forte et un reçu d'exemple, sans photo d'hôtel. ── */
  .fc-guest { padding-bottom: 0; }
  .fc-gp { display: grid; gap: 26px; align-items: center; }
  @media (min-width: 980px) { .fc-gp { grid-template-columns: minmax(0, 1.1fr) minmax(0, 1fr); gap: 56px; } }
  .fc-gp-k { display: inline-flex; align-items: center; gap: 8px; margin-bottom: 14px; color: #f6c453; font: 500 11px/1.2 var(--fc-f-mono); letter-spacing: .16em; text-transform: uppercase;
    i { width: 8px; height: 8px; border-radius: 50%; background: #f6c453; box-shadow: 0 0 14px rgba(246, 196, 83, .7); } }
  .fc-gp-grand { display: flex; flex-wrap: wrap; align-items: baseline; gap: 4px 14px; margin-top: 22px;
    b { color: #f6c453; font: 400 clamp(84px, 24vw, 168px)/.85 var(--fc-f-aff); letter-spacing: -.01em; white-space: nowrap; }
    small { color: var(--fc-doux); font: 500 12px/1.3 var(--fc-f-mono); letter-spacing: .12em; text-transform: uppercase; }
    small:first-child { flex-basis: 100%; } }
  .fc-gp-ticket { position: relative; margin: 0; padding: clamp(18px, 2.6vw, 26px); border-radius: 22px; background: var(--fc-papier); color: var(--fc-encre); box-shadow: 0 40px 80px -36px rgba(246, 196, 83, .35);
    &::before, &::after { content: ""; position: absolute; top: 50%; width: 22px; height: 22px; border-radius: 50%; background: var(--fc-nuit); translate: 0 -50%; }
    &::before { left: -11px; } &::after { right: -11px; }
    dl { margin: 14px 0 0; display: grid; }
    dl > div { display: flex; justify-content: space-between; align-items: baseline; gap: 12px; padding: 10px 0; border-bottom: 1.5px dashed rgba(23, 22, 15, .22); }
    dt { font-size: 14.5px; line-height: 1.35; }
    dd { margin: 0; font: 600 15px/1.2 var(--fc-f-mono); white-space: nowrap; }
    .fc-gp-moins s { color: var(--fc-encre-2); font-weight: 500; }
    .fc-gp-total dt { font-weight: 700; }
    .fc-gp-total dd { padding: 4px 10px; border-radius: 8px; background: var(--fc-encre); color: #f6c453; font: 400 28px/1 var(--fc-f-aff); }
    .fc-gp-pack { border-bottom: 0; color: var(--fc-encre-2); }
    figcaption { margin-top: 12px; display: grid; gap: 8px; }
    .fc-gp-ex { font-size: 14px; line-height: 1.5; }
    .fc-gp-peut { font-weight: 700; font-size: 15px; }
    .fc-gp-mention { color: var(--fc-encre-2); font-size: 12px; line-height: 1.45; } }
  .fc-gp-ticket-k { display: flex; justify-content: space-between; gap: 10px; color: var(--fc-encre-2); font: 500 11px/1.2 var(--fc-f-mono); letter-spacing: .14em; text-transform: uppercase;
    span:last-child { color: #c9961f; letter-spacing: .1em; } }
  /* Cinq tuiles : la dernière prend toute la largeur sur téléphone, cinq colonnes sur ordinateur. */
  .fc-tuiles li:last-child:nth-child(odd) { grid-column: 1 / -1; }
  /* Six tuiles sur grand écran depuis le 29/10 (les recharges −20 %) : trois par rangée, sur la même largeur. */
  @media (min-width: 900px) { .fc-tuiles { grid-template-columns: repeat(6, minmax(0, 1fr)); } .fc-tuiles li { grid-column: span 2; } }

  /* ── Le 25 décembre : les crédits versés sur le compte (100 depuis le 29/10/2026), avant la box. ── */
  .fc-credits { padding-bottom: 0; }
  .fc-cr { display: grid; gap: 22px; align-items: center; }
  .fc-cr .fc-tete { margin-bottom: 0; }
  @media (min-width: 980px) { .fc-cr { grid-template-columns: minmax(0, 1.1fr) minmax(0, 1fr); gap: 56px; } }
  .fc-cr-carte { position: relative; overflow: hidden; padding: clamp(18px, 2.6vw, 26px); border-radius: 24px; background: linear-gradient(180deg, #14161a, #0e1013); border: 1px solid rgba(231, 200, 138, .28); box-shadow: inset 0 1px 0 rgba(255, 255, 255, .05), 0 40px 80px -40px rgba(231, 200, 138, .25);
    &::before { content: ""; position: absolute; inset: auto -20% -60% -20%; height: 90%; background: radial-gradient(50% 50% at 50% 50%, rgba(231, 200, 138, .14), transparent 70%); pointer-events: none; } }
  .fc-cr-haut { position: relative; display: flex; justify-content: space-between; align-items: center; gap: 12px;
    span { color: var(--fc-pale); font: 500 10.5px/1.2 var(--fc-f-mono); letter-spacing: .13em; text-transform: uppercase; }
    b { padding: 5px 10px; border-radius: 999px; background: var(--fc-menthe); color: var(--fc-nuit); font: 600 11px/1 var(--fc-f-mono); letter-spacing: .1em; white-space: nowrap; } }
  .fc-cr-solde { position: relative; display: flex; flex-wrap: wrap; align-items: baseline; gap: 4px 10px; margin-top: 18px;
    i { color: var(--fc-menthe); font: 400 clamp(44px, 12vw, 76px)/1 var(--fc-f-aff); font-style: normal; }
    b { color: var(--fc-menthe); font: 400 clamp(56px, 15vw, 96px)/.95 var(--fc-f-aff); font-variant-numeric: tabular-nums; white-space: nowrap; }
    span { color: var(--fc-texte); font: 650 17px/1.2 var(--fc-f-txt); } }
  .fc-cr-lignes { position: relative; list-style: none; margin: 18px 0 0; padding: 14px 0 0; border-top: 1px solid var(--fc-ligne); display: grid; gap: 9px;
    li { display: flex; gap: 10px; align-items: baseline; color: var(--fc-doux); font-size: 14.5px; line-height: 1.4; }
    li::before { content: "✓"; flex: none; color: var(--fc-menthe); font-weight: 700; } }

  /* ── La fiche du shot : une étiquette de boisson sur papier, les doses en gros, puis les précautions entières. ── */
  .fc-fiche { margin-top: clamp(44px, 7vw, 80px); display: grid; gap: 14px; align-items: start; }
  @media (min-width: 900px) { .fc-fiche { grid-template-columns: minmax(0, 1.5fr) minmax(0, 1fr); gap: 20px; } }
  .fc-etiq { position: relative; padding: 22px 20px 20px; border-radius: 22px; background: var(--fc-papier); color: var(--fc-encre); box-shadow: 0 50px 100px -60px #000, 0 0 0 1px rgba(255, 255, 255, .5) inset;
    ::selection { background: var(--fc-encre); color: var(--fc-menthe); }
    .fc-etiq-tete { padding-right: 124px; padding-bottom: 14px; border-bottom: 8px solid var(--fc-encre); }
    .fc-etiq-tete b { display: block; font: 400 clamp(54px, 15vw, 84px)/.86 var(--fc-f-aff); letter-spacing: .01em; }
    .fc-etiq-tete p { margin-top: 10px; color: var(--fc-encre-2); font: 500 11px/1.35 var(--fc-f-mono); letter-spacing: .1em; text-transform: uppercase; }
    dl { margin: 0; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); }
    dl > div { padding: 14px 0; border-bottom: 1.5px solid rgba(23, 22, 15, .2); min-width: 0; }
    dl > div:nth-child(even) { padding-right: 14px; }
    dl > div:nth-child(odd):not(.fc-etiq-large) { padding-left: 14px; border-left: 1.5px solid rgba(23, 22, 15, .2); }
    dt { color: var(--fc-encre-2); font: 500 10.5px/1.2 var(--fc-f-mono); letter-spacing: .12em; text-transform: uppercase; }
    dd { margin: 6px 0 0; }
    dd b { display: block; font: 400 clamp(30px, 8.4vw, 42px)/1 var(--fc-f-aff); letter-spacing: .005em; font-variant-numeric: tabular-nums; }
    dd span { display: block; margin-top: 6px; color: var(--fc-encre-2); font-size: 13px; line-height: 1.45; }
    .fc-etiq-large { grid-column: 1 / -1; }
    .fc-etiq-large dd b { font-size: clamp(26px, 7vw, 36px); }
    .fc-etiq-large dd span { max-width: 52ch; } }
  .fc-etiq-flacon { position: absolute; top: -26px; right: 8px; width: 104px; height: auto; rotate: 6deg; filter: drop-shadow(0 22px 24px rgba(0, 0, 0, .45)); pointer-events: none; }
  @media (min-width: 900px) { .fc-etiq { padding: 32px 32px 28px; } .fc-etiq .fc-etiq-tete { padding-right: 170px; } .fc-etiq-flacon { width: 150px; top: -40px; right: 20px; } }
  .fc-etiq-par { padding: 9px 0; border-bottom: 3px solid var(--fc-encre); font: 650 13px/1 var(--fc-f-txt); text-transform: uppercase; letter-spacing: .06em; }
  .fc-etiq-base { margin-top: 14px; color: var(--fc-encre-2); font-size: 13px; line-height: 1.5; }
  .fc-prec { padding: 22px 20px; border-radius: 22px; background: var(--fc-nuit-2); border: 1px solid var(--fc-ligne-2);
    ul { list-style: none; margin: 14px 0 0; padding: 0; display: grid; gap: 10px; }
    li { position: relative; padding-left: 20px; color: var(--fc-doux); font-size: 14.5px; line-height: 1.5; }
    li::before { content: ""; position: absolute; left: 2px; top: .62em; width: 7px; height: 7px; border-radius: 50%; border: 1.5px solid var(--fc-menthe); } }
  @media (min-width: 900px) { .fc-prec { padding: 28px; } }
  .fc-prec-t { display: flex; align-items: center; gap: 12px; color: #fff; font: 400 26px/1 var(--fc-f-aff); text-transform: uppercase; letter-spacing: .02em;
    i { display: grid; place-items: center; width: 44px; height: 44px; flex: none; border-radius: 50%; border: 2px solid var(--fc-texte); font: 600 13px/1 var(--fc-f-mono); font-style: normal; letter-spacing: 0; } }

  /* ── Le badge du prélancement ── */
  .fc-badge { display: inline-flex; align-items: center; gap: 9px; padding: 8px 14px; border-radius: 999px; border: 1px solid rgba(231, 200, 138, .55); background: rgba(231, 200, 138, .08); color: var(--fc-menthe); font: 500 11.5px/1.2 var(--fc-f-mono); letter-spacing: .14em; text-transform: uppercase;
    i { width: 8px; height: 8px; flex: none; border-radius: 50%; background: var(--fc-menthe); box-shadow: 0 0 12px rgba(231, 200, 138, .9); animation: fc-pouls 1.6s ease-in-out infinite; } }
  @media (max-width: 480px) { .fc-badge { gap: 7px; padding: 7px 12px; font-size: 10px; letter-spacing: .08em; } }

  /* ── Le Campus : la scène bord à bord sur téléphone, sous un couchant. ── */
  .fc-campus { isolation: isolate; }
  .fc-campus::before { content: ""; position: absolute; z-index: -1; inset: 10% 0 auto; height: 60%; pointer-events: none; background: radial-gradient(60% 50% at 50% 40%, rgba(255, 122, 60, .12), transparent 70%); }
  .fc-cp-scene { position: relative; margin: 0 calc(-1 * var(--fc-gout)); aspect-ratio: 1 / 1.05; overflow: hidden; background: #0a1024; border-block: 1px solid var(--fc-ligne-2);
    > .fc-cp-fixe img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
    &::after { content: ""; position: absolute; inset: auto 0 0; height: 30%; pointer-events: none; background: linear-gradient(transparent, rgba(9, 10, 12, .55)); } }
  @media (min-width: 640px) { .fc-cp-scene { margin: 0; aspect-ratio: 4 / 3; border-radius: 28px; border: 1px solid var(--fc-ligne-2); box-shadow: 0 60px 120px -70px rgba(255, 106, 43, .55); } }
  @media (min-width: 980px) { .fc-cp-scene { aspect-ratio: 16 / 8.2; } }
  .fc-cp-3d { position: absolute; inset: 0; cursor: grab; touch-action: pan-y;
    &.tenu { cursor: grabbing; }
    canvas { position: absolute; inset: 0; width: 100%; height: 100%; display: block; opacity: 0; transition: opacity .8s ease; }
    &.pret canvas { opacity: 1; } }
  .fc-cp-panneau { position: absolute; z-index: 1; left: 12px; top: 12px; display: flex; flex-wrap: wrap; width: max-content; max-width: calc(100% - 24px); border-radius: 12px; overflow: hidden; background: rgba(8, 9, 11, .8); border: 1px solid var(--fc-ligne-2); pointer-events: none; -webkit-backdrop-filter: blur(8px); backdrop-filter: blur(8px);
    > span { display: grid; gap: 6px; padding: 10px 13px; }
    > span + span { border-left: 1px solid var(--fc-ligne); }
    small { color: var(--fc-pale); font: 500 9.5px/1 var(--fc-f-mono); letter-spacing: .14em; text-transform: uppercase; }
    b { font: 400 clamp(15px, 1.7vw, 19px)/1.05 var(--fc-f-aff); text-transform: uppercase; letter-spacing: .02em; }
    > span + span b { color: var(--fc-menthe); } }
  .fc-cp-lieux { list-style: none; margin: 24px 0 0; padding: 0; display: grid; grid-template-columns: minmax(0, 1fr); column-gap: 24px;
    li { display: grid; grid-template-columns: 30px minmax(0, 1fr); align-content: start; column-gap: 12px; padding: 15px 0; border-top: 1px solid var(--fc-ligne); }
    em { grid-row: span 2; display: grid; place-items: center; width: 26px; height: 26px; border-radius: 50%; background: var(--fc-menthe); color: var(--fc-menthe-encre); font: 600 13px/1 var(--fc-f-mono); font-style: normal; }
    li:nth-child(4) em { background: var(--fc-laiton); color: #2e1f04; }
    b { font: 650 15.5px/1.3 var(--fc-f-txt); }
    span { margin-top: 4px; color: var(--fc-doux); font-size: 14px; line-height: 1.5; } }
  @media (min-width: 760px) { .fc-cp-lieux { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
  @media (min-width: 1080px) { .fc-cp-lieux { grid-template-columns: repeat(4, minmax(0, 1fr)); } }

  .fc-priorite { margin-top: clamp(40px, 6vw, 72px); display: grid; gap: 28px; align-items: center; padding: clamp(22px, 4.4vw, 52px); border-radius: 28px; background: radial-gradient(80% 60% at 100% 0%, rgba(240, 198, 116, .07), transparent 70%), linear-gradient(180deg, #15171b, #0d0f12); border: 1px solid var(--fc-ligne); box-shadow: inset 0 1px 0 rgba(255, 255, 255, .05);
    h3 { color: #fff; font: 400 clamp(36px, 9.4vw, 58px)/.96 var(--fc-f-aff); text-transform: uppercase; }
    .fc-priorite-texte > p { margin-top: 14px; max-width: 56ch; color: var(--fc-doux); font-size: 15.5px; line-height: 1.55; }
    .fc-priorite-texte ul { list-style: none; margin: 22px 0 0; padding: 0; }
    .fc-priorite-texte li { display: grid; grid-template-columns: 92px minmax(0, 1fr); gap: 14px; align-items: center; padding: 14px 0; border-top: 1px solid var(--fc-ligne); }
    .fc-priorite-texte li > b { color: var(--fc-menthe); font: 400 34px/1 var(--fc-f-aff); white-space: nowrap; }
    .fc-grave { display: block; width: 52px; height: 30px; fill: none; stroke: var(--fc-menthe); stroke-width: 2.4; stroke-linecap: round; stroke-linejoin: round; } /* la plaque gravée du Mur (29/10/2026 : plus de « ∞ », qui disait « à vie ») */
    .fc-grave .fc-vis { fill: var(--fc-menthe); stroke: none; }
    strong { display: block; font: 650 16px/1.3 var(--fc-f-txt); }
    small { display: block; margin-top: 4px; color: var(--fc-doux); font-size: 14px; line-height: 1.45; } }
  @media (min-width: 980px) { .fc-priorite { grid-template-columns: minmax(0, 1.3fr) minmax(0, .7fr); gap: 56px; } }
  .fc-priorite-cta { display: flex; flex-wrap: wrap; align-items: center; gap: 12px 18px; margin-top: 26px;
    .fc-fin-vente { color: var(--fc-doux); text-align: left; } }
  @media (max-width: 599px) { .fc-priorite-cta .fc-btn { width: 100%; } }
  .fc-plaque { padding: 22px; border-radius: 16px; background: linear-gradient(160deg, #2d2922, #17150f); border: 1px solid rgba(240, 198, 116, .32); box-shadow: inset 0 1px 0 rgba(255, 255, 255, .06), 0 34px 70px -36px #000;
    ul { list-style: none; margin: 16px 0 0; padding: 0; display: grid; gap: 10px; }
    li { height: 30px; border-radius: 6px; opacity: .55; background: repeating-linear-gradient(90deg, rgba(240, 198, 116, .26) 0 44px, transparent 44px 54px) center / 100% 8px no-repeat; }
    li.toi { height: auto; padding: 16px 12px; opacity: 1; text-align: center; background: rgba(240, 198, 116, .09); border: 1px solid rgba(240, 198, 116, .55); }
    li.toi b { display: block; color: var(--fc-laiton); font: 400 30px/1 var(--fc-f-aff); letter-spacing: .14em; text-transform: uppercase; }
    li.toi small { display: block; margin-top: 7px; color: var(--fc-laiton-2); font: 500 10px/1.2 var(--fc-f-mono); letter-spacing: .16em; text-transform: uppercase; } }
  @media (max-width: 979px) { .fc-plaque { width: min(100%, 340px); justify-self: center; ul li:not(.toi) { height: 18px; } } }
  .fc-plaque-mur { color: var(--fc-laiton); font: 500 11px/1.3 var(--fc-f-mono); letter-spacing: .2em; text-transform: uppercase; text-align: center; }
  .fc-campus > .fc-env > .fc-avertit { margin-top: 20px; max-width: 92ch; color: var(--fc-pale); }

  /* ── Le club : une grille à cinq cases de tailles différentes. ── */
  .fc-club-grille { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: minmax(0, 1fr); gap: 10px;
    li { position: relative; overflow: hidden; display: flex; flex-direction: column; gap: 8px; padding: 22px; border-radius: 24px; background: var(--fc-nuit-2); border: 1px solid var(--fc-ligne); box-shadow: inset 0 1px 0 rgba(255, 255, 255, .05); }
    li > b { margin-bottom: 6px; color: var(--fc-menthe); font: 400 42px/1 var(--fc-f-aff); text-transform: uppercase; white-space: nowrap; }
    li > b svg { display: block; width: 36px; height: 36px; fill: none; stroke: var(--fc-menthe); stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; }
    strong { display: block; color: #fff; font: 400 25px/1.02 var(--fc-f-aff); text-transform: uppercase; letter-spacing: .01em; }
    small { display: block; color: var(--fc-doux); font-size: 14.5px; line-height: 1.5; max-width: 52ch; }
    .fc-lien { margin-top: 4px; align-self: flex-start; } }
  .fc-cg-groupe { background: radial-gradient(90% 80% at 0% 0%, rgba(231, 200, 138, .12), transparent 60%), var(--fc-nuit-2) !important; }
  .fc-cg-visages { display: flex; margin-top: auto; padding-top: 18px; padding-left: 10px;
    img { width: 44px; height: 44px; margin-left: -10px; border-radius: 50%; border: 2px solid var(--fc-nuit-2); } }
  .fc-cg-live { display: inline-flex; align-items: center; gap: 10px; align-self: flex-start; }
  .fc-cg-live::before { content: ""; width: 12px; height: 12px; border-radius: 50%; background: var(--fc-menthe); box-shadow: 0 0 0 0 rgba(231, 200, 138, .6), 0 0 16px rgba(231, 200, 138, .8); animation: fc-pouls 1.6s ease-in-out infinite; }
  .fc-cg-amb { border-color: rgba(231, 200, 138, .45) !important; background: linear-gradient(135deg, rgba(231, 200, 138, .13), rgba(231, 200, 138, .02) 60%), var(--fc-nuit-2) !important; }
  .fc-cg-amb > b { font-size: 56px !important; }
  @media (min-width: 900px) {
    .fc-club-grille { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px;
      li { padding: 28px; }
      .fc-cg-groupe { grid-column: 1 / 3; grid-row: 1 / 3; }
      .fc-cg-groupe strong { font-size: 40px; max-width: 14ch; }
      .fc-cg-groupe small { font-size: 16px; }
      .fc-cg-amb { grid-column: 2 / 4; } }
  }

  /* ── Les trois dates : un rail, un nœud allumé « tu es ici », Noël sur papier. ── */
  .fc-dates { position: relative; list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: minmax(0, 1fr); gap: 0;
    &::before { content: ""; position: absolute; left: 9px; top: 12px; bottom: 40px; width: 2px; background: repeating-linear-gradient(180deg, rgba(231, 200, 138, .7) 0 8px, transparent 8px 14px); }
    li { position: relative; display: flex; flex-direction: column; gap: 8px; padding: 0 0 34px 42px; }
    li::before { content: ""; position: absolute; left: 0; top: 2px; width: 20px; height: 20px; box-sizing: border-box; border-radius: 50%; background: var(--fc-nuit); border: 2px solid var(--fc-menthe); }
    small { color: var(--fc-pale); font: 500 11px/1 var(--fc-f-mono); letter-spacing: .16em; text-transform: uppercase; }
    b { color: #fff; font: 400 clamp(38px, 10vw, 56px)/.95 var(--fc-f-aff); text-transform: uppercase; }
    strong { font: 650 17px/1.3 var(--fc-f-txt); }
    span { color: var(--fc-doux); font-size: 15px; line-height: 1.55; max-width: 46ch; }
    .fc-fin-vente { color: var(--fc-menthe); font-style: normal; text-align: left; text-transform: uppercase; letter-spacing: .1em; }
    li.ouvert::before { background: var(--fc-menthe); box-shadow: 0 0 18px rgba(231, 200, 138, .8); }
    li.ouvert::after { content: ""; position: absolute; left: 0; top: 2px; width: 20px; height: 20px; border-radius: 50%; border: 2px solid var(--fc-menthe); animation: fc-onde 2.2s var(--fc-sortie) infinite; }
    li.ouvert small { color: var(--fc-menthe); }
    li.noel { padding: 22px 22px 24px; margin-left: 42px; border-radius: 22px; background: var(--fc-papier); color: var(--fc-encre); }
    li.noel::before { left: -42px; top: 24px; background: var(--fc-papier); border-color: var(--fc-papier); }
    li.noel b { color: var(--fc-encre); }
    li.noel small, li.noel span { color: var(--fc-encre-2); } }
  @media (min-width: 900px) {
    .fc-dates { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 28px;
      &::before { left: 0; right: 0; top: 9px; bottom: auto; width: auto; height: 2px; background: repeating-linear-gradient(90deg, rgba(231, 200, 138, .7) 0 8px, transparent 8px 14px); }
      li { padding: 44px 0 0; }
      li::before, li.ouvert::after { top: 0; }
      li.noel { margin: 0; padding: 30px 26px 28px; margin-top: 30px; }
      li.noel::before { left: 26px; top: -30px; } }
  }

  /* ── Le billet : l'offre entière, en carte d'embarquement. ── */
  .fc-tarifs .fc-tete { margin-inline: auto; text-align: center; .fc-sous { margin-inline: auto; } }
  .fc-billet { position: relative; display: grid; grid-template-columns: minmax(0, 1fr); border-radius: 26px; background: var(--fc-papier); color: var(--fc-encre);
    box-shadow: 0 70px 120px -60px rgba(0, 0, 0, .95), 0 0 0 1px rgba(255, 255, 255, .5) inset, 0 40px 120px -80px rgba(231, 200, 138, .5);
    ::selection { background: var(--fc-encre); color: var(--fc-menthe); }
    :focus-visible { outline-color: var(--fc-encre); } }
  @media (min-width: 940px) { .fc-billet { grid-template-columns: minmax(0, 1fr) 360px; } }
  .fc-billet-corps { padding: clamp(20px, 3.6vw, 44px); min-width: 0; }
  .fc-billet-haut { display: flex; justify-content: space-between; align-items: baseline; gap: 12px; padding-bottom: 16px; border-bottom: 2px solid var(--fc-encre);
    b { font: 400 clamp(19px, 2.4vw, 24px)/1 var(--fc-f-aff); letter-spacing: .05em; white-space: nowrap; }
    span { color: var(--fc-encre-2); font: 500 10.5px/1.3 var(--fc-f-mono); letter-spacing: .14em; text-transform: uppercase; text-align: right; } }
  .fc-champs { margin: 0; padding: 18px 0 20px; display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 16px 14px; border-bottom: 1.5px dashed rgba(23, 22, 15, .32);
    dt { color: var(--fc-encre-2); font: 500 10px/1.2 var(--fc-f-mono); letter-spacing: .15em; text-transform: uppercase; }
    dd { margin: 7px 0 0; font: 400 clamp(20px, 2vw, 25px)/1.05 var(--fc-f-aff); text-transform: uppercase; letter-spacing: .02em; }
    div:nth-child(2) dd { display: inline-block; padding: 3px 7px 2px; margin-left: -7px; background: var(--fc-menthe); border-radius: 4px; } }
  @media (max-width: 700px) { .fc-champs { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
  .fc-manifeste { list-style: none; margin: 0; padding: 0;
    li { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 16px; align-items: center; padding: 14px 0; border-bottom: 1px solid rgba(23, 22, 15, .12); }
    b { display: block; font: 650 16px/1.3 var(--fc-f-txt); }
    small { display: block; margin-top: 4px; color: var(--fc-encre-2); font-size: 14px; line-height: 1.45; }
    em { padding: 7px 10px; border: 1.5px solid var(--fc-encre); border-radius: 6px; font: 500 13px/1 var(--fc-f-mono); font-style: normal; letter-spacing: .03em; font-variant-numeric: tabular-nums; white-space: nowrap; }
    li:nth-child(4) em, li:nth-child(5) em { background: var(--fc-menthe); }
    li:last-child { border-bottom: 0; } }
  @media (max-width: 599px) { .fc-manifeste small { display: none; } .fc-manifeste li { padding: 12px 0; } }
  .fc-total { display: flex; justify-content: space-between; align-items: center; gap: 14px; margin-top: 10px; padding: 16px 20px; border-radius: 14px; background: var(--fc-encre); color: var(--fc-papier);
    span { font: 500 12px/1.3 var(--fc-f-mono); letter-spacing: .12em; text-transform: uppercase; }
    b { font: 400 clamp(32px, 3.6vw, 44px)/1 var(--fc-f-aff); color: var(--fc-menthe); font-variant-numeric: tabular-nums; white-space: nowrap; } }
  .fc-talon { position: relative; display: flex; flex-direction: column; padding: clamp(24px, 3.6vw, 40px); border-top: 2px dashed rgba(23, 22, 15, .32); }
  .fc-talon::before, .fc-talon::after { content: ""; position: absolute; top: -16px; width: 30px; height: 30px; border-radius: 50%; background: var(--fc-nuit); }
  .fc-talon::before { left: -15px; } .fc-talon::after { right: -15px; }
  @media (min-width: 940px) {
    .fc-talon { border-top: 0; border-left: 2px dashed rgba(23, 22, 15, .32); }
    .fc-talon::before, .fc-talon::after { left: -16px; right: auto; }
    .fc-talon::before { top: -15px; } .fc-talon::after { top: auto; bottom: -15px; }
  }
  .fc-talon-l { color: var(--fc-encre-2); font: 500 11px/1 var(--fc-f-mono); letter-spacing: .16em; text-transform: uppercase; }
  .fc-prix { margin-top: 12px; font: 400 clamp(84px, 24vw, 104px)/.86 var(--fc-f-aff); letter-spacing: -.01em; font-variant-numeric: tabular-nums;
    small { display: block; margin-top: 12px; color: var(--fc-encre-2); font: 500 12.5px/1.3 var(--fc-f-mono); letter-spacing: .1em; text-transform: uppercase; } }
  @media (min-width: 940px) { .fc-prix { font-size: clamp(80px, 7.4vw, 100px); } }
  /* Les fondateurs (28/10/2026, nuit) : deux cartes, photo, prénom, rôle, trois phrases. */
  .fc-fd { list-style: none; margin: 0; padding: 0; display: grid; gap: 14px; }
  @media (min-width: 900px) { .fc-fd { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; } }
  .fc-fd-carte { display: grid; gap: 8px; padding: clamp(18px, 2.4vw, 26px); border-radius: 22px; background: linear-gradient(180deg, #14161a, #0e1013); border: 1px solid var(--fc-ligne);
    img { width: 96px; height: 96px; border-radius: 50%; object-fit: cover; }
    b { font: 400 30px/1 var(--fc-f-aff); text-transform: uppercase; }
    small { color: var(--fc-menthe); font: 500 11px/1.2 var(--fc-f-mono); letter-spacing: .14em; text-transform: uppercase; }
    p { color: var(--fc-doux); font-size: 15px; line-height: 1.5; } }

  /* « Une question ? Réserve 15 min avec nous » (28/10/2026, nuit) : un lien discret en forme de pastille. */
  .fc-rdv { display: inline-flex; align-items: center; gap: 9px; margin-top: 14px; padding: 10px 16px; border-radius: 999px; border: 1.5px solid currentColor; color: inherit; font-weight: 600; font-size: 14.5px; text-decoration: none;
    svg { width: 18px; height: 18px; fill: none; stroke: currentColor; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }
    &:hover { background: rgba(127, 127, 127, .12); } }
  .fc-rdv-faq { margin-top: 18px; color: var(--fc-texte); }
  .fc-rdv-faq:empty { display: none; }

  /* Les 100 premiers et les avis (28/10/2026, nuit) : cachés tant que l'API du compte ne répond pas. */
  .fc-cent { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 12px; margin-top: 14px; padding: 12px 16px; border-radius: 16px; background: rgba(246, 196, 83, .1); border: 1px solid rgba(246, 196, 83, .4); color: var(--fc-texte); font-weight: 600; font-size: 14.5px; line-height: 1.4;
    i { color: #f6c453; font-style: normal; }
    b { margin-left: auto; color: #f6c453; font: 500 12px/1.2 var(--fc-f-mono); letter-spacing: .1em; text-transform: uppercase; } }
  .fc-cent[hidden], .fc-avis[hidden], .fc-cent b[hidden] { display: none; }
  .fc-avis-liste { list-style: none; margin: 0; padding: 0; display: grid; gap: 12px; }
  @media (min-width: 900px) { .fc-avis-liste { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; } }
  .fc-avis-liste li { display: grid; gap: 10px; padding: 20px; border-radius: 20px; background: linear-gradient(180deg, #14161a, #0e1013); border: 1px solid var(--fc-ligne);
    p { color: var(--fc-texte); font-size: 15px; line-height: 1.5; }
    b { color: var(--fc-pale); font: 500 11px/1.2 var(--fc-f-mono); letter-spacing: .12em; text-transform: uppercase; }
    img, video { width: 100%; aspect-ratio: 4 / 3; object-fit: cover; border-radius: 14px; background: #0b0c0f; } }

  /* Le paiement en 3 fois, en grand (28/10/2026, nuit). */
  .fc-trois-grand { margin-top: 10px; color: var(--fc-encre); font: 400 clamp(26px, 6vw, 34px)/1.05 var(--fc-f-aff); text-transform: uppercase; }
  .fc-trois-jour { margin-top: 6px; color: var(--fc-encre); font-weight: 600; font-size: 14.5px; line-height: 1.4; }
  .fc-hero-jour { color: var(--fc-doux); font-size: 13.5px; line-height: 1.4; text-align: center; }
  .fc-trois { margin-top: 12px; color: var(--fc-encre-2); font-size: 14px; line-height: 1.5; }
  .fc-talon-cta { display: grid; gap: 10px; margin-top: 24px;
    .fc-btn { padding: 0 18px; font-size: 15.5px; white-space: nowrap; min-height: 56px; } }
  /* 29/10 : sur 360 px, « Commander le Pack Fondateur » dépassait le talon de 20 px. */
  @media (max-width: 400px) { .fc-talon-cta .fc-btn { min-width: 0; padding: 0 14px; gap: 8px; font-size: 14.5px; white-space: normal; text-align: center; } }
  /* La caisse (29/10/2026) : deux choix sur le papier du talon, Europe (box livrée, +12 € HT) et hors Europe (sans box),
     chacun en 1 ou 3 fois. Aucun choix coché d'avance : chaque bouton dit ce qu'il paie. */
  .fc-choix { display: grid; gap: 12px; scroll-margin-top: 90px; }
  .fc-choix-t { color: var(--fc-encre-2); font: 500 11px/1 var(--fc-f-mono); letter-spacing: .16em; text-transform: uppercase; }
  .fc-choix-o { display: grid; gap: 10px; padding: 16px; border-radius: 18px; background: rgba(255, 255, 255, .55); border: 1.5px solid rgba(23, 22, 15, .16);
    .fc-btn { min-height: 52px; padding: 0 16px; font-size: 15px; white-space: normal; text-align: center; justify-content: center; } }
  .fc-choix-nom { display: grid; gap: 4px;
    b { color: var(--fc-encre); font: 400 24px/1.05 var(--fc-f-aff); text-transform: uppercase; }
    span { color: var(--fc-encre-2); font-size: 13.5px; line-height: 1.4; } }
  .fc-choix-prix { display: grid; gap: 2px; color: var(--fc-encre); font-size: 15px; line-height: 1.35;
    b { font: 400 34px/1 var(--fc-f-aff); font-variant-numeric: tabular-nums; }
    small { color: var(--fc-encre-2); font-size: 13.5px; } }
  .fc-fin-vente { color: var(--fc-encre-2); font: 500 12px/1.4 var(--fc-f-mono); letter-spacing: .04em; text-align: center; }
  .fc-fin-vente:empty { display: none; }
  .fc-confiance { list-style: none; margin: 20px 0 0; padding: 0; display: grid; gap: 9px; color: var(--fc-encre-2); font-size: 13.5px; line-height: 1.4;
    li { position: relative; padding-left: 22px; }
    li::before { content: ""; position: absolute; left: 3px; top: .32em; width: 10px; height: 5px; border-left: 2px solid var(--fc-encre); border-bottom: 2px solid var(--fc-encre); rotate: -45deg; } }
  .fc-code-barres { margin-top: auto; padding-top: 24px; height: 58px; background-clip: content-box; opacity: .88;
    background-image: repeating-linear-gradient(90deg, var(--fc-encre) 0 2px, transparent 2px 4px, var(--fc-encre) 4px 5px, transparent 5px 8px, var(--fc-encre) 8px 11px, transparent 11px 12px, var(--fc-encre) 12px 13px, transparent 13px 17px); }
  .fc-petit { margin: 18px auto 0; max-width: 72ch; color: var(--fc-pale); font-size: 13px; line-height: 1.5; text-align: center; }

  /* ── La garantie : un tampon, trois règles. ── */
  .fc-garantie { padding-top: 0; }
  .fc-garantie-grille { display: grid; gap: 30px; align-items: center; padding: clamp(28px, 5vw, 64px) clamp(20px, 5vw, 64px); border-radius: 28px; border: 1px solid rgba(231, 200, 138, .3);
    background: radial-gradient(70% 90% at 0% 50%, rgba(231, 200, 138, .1), transparent 70%), var(--fc-nuit-2);
    h2 { font-size: clamp(40px, 10.4vw, 72px); } }
  @media (min-width: 900px) { .fc-garantie-grille { grid-template-columns: 260px minmax(0, 1fr); gap: 64px; } }
  .fc-tampon { justify-self: center; display: grid; place-content: center; gap: 8px; width: 184px; aspect-ratio: 1; border-radius: 50%; text-align: center; rotate: -9deg;
    border: 3px solid var(--fc-menthe); box-shadow: inset 0 0 0 6px var(--fc-nuit-2), inset 0 0 0 7.5px rgba(231, 200, 138, .7); color: var(--fc-menthe);
    b { font: 400 22px/1 var(--fc-f-aff); text-transform: uppercase; letter-spacing: .03em; }
    small { font: 500 10.5px/1.2 var(--fc-f-mono); letter-spacing: .1em; text-transform: uppercase; } }
  @media (min-width: 900px) { .fc-tampon { width: 236px; b { font-size: 29px; } small { font-size: 12px; } } }
  .fc-regles { list-style: none; margin: 26px 0 0; padding: 0; counter-reset: r;
    li { position: relative; display: grid; gap: 4px; padding: 14px 0 14px 40px; border-top: 1px solid var(--fc-ligne); counter-increment: r; }
    li::before { content: counter(r); position: absolute; left: 0; top: 15px; display: grid; place-items: center; width: 26px; height: 26px; border-radius: 50%; border: 1.5px solid var(--fc-menthe); color: var(--fc-menthe); font: 600 12px/1 var(--fc-f-mono); }
    b { font: 650 16.5px/1.3 var(--fc-f-txt); color: #fff; }
    span { color: var(--fc-doux); font-size: 15px; line-height: 1.5; } }

  /* ── Les questions ── */
  .fc-faq-grille { display: grid; gap: 8px; }
  @media (min-width: 980px) { .fc-faq-grille { grid-template-columns: minmax(0, .8fr) minmax(0, 1.2fr); gap: 56px; align-items: start; }
    .fc-faq-grille .fc-tete { position: sticky; top: 120px; } }
  .fc-faq { border-top: 1px solid var(--fc-ligne);
    details { margin: 0; padding: 0; border: 0; border-bottom: 1px solid var(--fc-ligne); border-radius: 0; background: none; box-shadow: none; }
    details[open] { border-color: var(--fc-ligne); background: none; }
    summary { position: relative; margin: 0; padding: 19px 44px 19px 0; background: none; list-style: none; cursor: pointer; font: 650 16.5px/1.35 var(--fc-f-txt); transition: color .2s; }
    summary::-webkit-details-marker { display: none; }
    summary::after { content: ""; position: absolute; right: 4px; top: 50%; width: 14px; height: 14px; translate: 0 -50%; transition: rotate .35s var(--fc-sortie);
      background: linear-gradient(var(--fc-menthe) 0 0) center / 14px 2px no-repeat, linear-gradient(var(--fc-menthe) 0 0) center / 2px 14px no-repeat; }
    summary:hover { color: #fff; }
    details[open] summary::after { rotate: 45deg; }
    details p { max-width: 68ch; margin: 0; padding: 0 0 20px; color: var(--fc-doux); font-size: 15.5px; line-height: 1.6; }
    details p + p { margin-top: -8px; } }

  /* ── Le dernier appel ── */
  .fc-fin { isolation: isolate; padding-bottom: clamp(110px, 13vw, 160px); }
  .fc-fin::before { content: ""; position: absolute; z-index: -1; inset: 0; pointer-events: none; background: radial-gradient(60% 45% at 50% 45%, rgba(231, 200, 138, .13), transparent 70%); }
  .fc-fin-centre { display: grid; justify-items: center; text-align: center;
    .fc-sous { margin-inline: auto; } }
  .fc-fin-centre h2:has(.l1) { font-size: clamp(44px, 12.2vw, 112px); line-height: .96;
    .l1, em { display: block; } }
  .fc-stock { margin-top: 28px; display: grid; justify-items: center; gap: 6px;
    .fc-chiffre { color: var(--fc-menthe); font: 400 clamp(80px, 24vw, 200px)/.84 var(--fc-f-aff); font-variant-numeric: tabular-nums; white-space: nowrap; letter-spacing: -.01em; text-shadow: 0 0 60px rgba(231, 200, 138, .3); }
    span { color: var(--fc-texte); font: 500 12px/1.3 var(--fc-f-mono); letter-spacing: .14em; text-transform: uppercase; }
    small { margin-top: 6px; max-width: 40ch; color: var(--fc-doux); font-size: 14px; line-height: 1.45; } }
  .fc-fin-cta { display: grid; justify-items: center; gap: 14px; margin-top: 34px; width: 100%;
    .fc-btn-grand { width: min(100%, 420px); }
    .fc-fin-vente { color: var(--fc-doux); } }
  .fc-mention { margin-top: 56px; max-width: 80ch; color: var(--fc-pale); font-size: 12.5px; line-height: 1.55; }

  /* ── La barre collante : un talon de papier, une fois le héros passé. ── */
  .fc-collant { position: fixed; z-index: 60; left: 0; right: 0; bottom: var(--cookies-h, 0px); padding: 10px 10px calc(10px + env(safe-area-inset-bottom, 0px)); translate: 0 120%; visibility: hidden; transition: translate .6s var(--fc-ressort), visibility 0s .6s; pointer-events: none;
    &.montre { translate: 0 0; visibility: visible; transition: translate .6s var(--fc-ressort), visibility 0s; pointer-events: auto; }
    .fc-btn { min-height: 48px; padding: 0 20px; font-size: 15.5px; white-space: nowrap; background: var(--fc-encre); color: var(--fc-menthe); box-shadow: none; }
    .fc-btn:hover { background: #000; }
    .fc-btn:focus-visible { outline-color: var(--fc-encre); } }
  .fc-collant-in { position: relative; max-width: 620px; margin-inline: auto; display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 8px 8px 8px 18px; border-radius: 18px; background: var(--fc-papier); color: var(--fc-encre); box-shadow: 0 24px 60px -16px rgba(0, 0, 0, .95), 0 0 0 1px rgba(255, 255, 255, .4) inset; }
  .fc-collant-txt { min-width: 0;
    b { display: block; font: 400 clamp(15px, 4.3vw, 18px)/1 var(--fc-f-aff); text-transform: uppercase; letter-spacing: .02em; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
    > span { display: block; margin-top: 5px; color: var(--fc-encre-2); font: 500 11.5px/1.35 var(--fc-f-mono); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
    .fc-col-fin { display: block; color: var(--fc-encre); }
    .fc-col-fin:has(:empty) { display: none; } }
  @media (min-width: 560px) { .fc-collant-txt .fc-col-fin { display: inline; } .fc-collant-txt .fc-col-fin::before { content: " · "; color: var(--fc-encre-2); } }

  @media (prefers-reduced-motion: reduce) { *, *::before, *::after { animation: none !important; transition: none !important; } }
}

/* L'entrée du héros et les révélations : seulement avec le script, et seulement si l'on accepte les animations. */
@media (prefers-reduced-motion: no-preference) {
  .fc .fc-galerie.vu .fc-g-defile img { animation: fc-defile 16s ease-in-out 1s infinite alternate; }
  .fc .fc-entre { animation: fc-monte 1s var(--fc-sortie) both; animation-delay: calc(var(--d, 0) * 90ms + 60ms); }
  .fc .fc-scene-equipe.fc-entre { animation: fc-equipe 1.5s var(--fc-sortie) both; animation-delay: .35s; }
  html.fc-js .fc [data-rv]:not(.vu) { opacity: 0; translate: 0 32px; }
}
html[lang="ro"] .fc :is(h1, h2) { line-height: 1.12; }
html.fondateur-fini .fc .fc-collant { display: none; }
/* 29/10 (tournée téléphone) : menu ouvert, la barre collante se range (elle couvrait le bouton Commander du menu). */
html:has(#entete.menu-ouvert) .fc .fc-collant.montre { translate: 0 120%; visibility: hidden; pointer-events: none; }
html:has(.fc-collant.montre) .ylc-aide { bottom: calc(92px + env(safe-area-inset-bottom, 0px)); transition: bottom .35s ease; }
  /* 30/10 (David) : la flèche « Revenir en haut » se cachait derrière la bulle de discussion — elle se pose
     toujours au-dessus d'elle (bulle 64 px + 16 px d'écart), barre collante sortie ou non. */
  html:has(.ylc-aide) .vers-haut { right: 32px; bottom: calc(104px + env(safe-area-inset-bottom, 0px)); }
  html:has(.fc-collant.montre):has(.ylc-aide) .vers-haut { bottom: calc(172px + env(safe-area-inset-bottom, 0px)); }
#entete.hb .v2-commencer, .hb .hb-p-cta { background: var(--fc-menthe); color: var(--fc-menthe-encre); box-shadow: 0 10px 28px -12px rgba(231, 200, 138, .55); }
/* Sur la page unique, la bande d'ancres passe à la nuit ; sur téléphone elle se range dans le menu (moins de bandeaux au pouce). */
body:has(main.fc) .hb .hb-sous-in { background: rgba(12, 13, 16, .9); border-color: var(--fc-ligne-2); }
body:has(main.fc) .hb .hb-sous a[aria-current] { background: var(--fc-menthe); color: var(--fc-menthe-encre); }
@media (max-width: 759px) { body:has(main.fc) #entete .hb-sous { display: none; } html.hb-a-sous:has(main.fc) { scroll-padding-top: 84px; } }
@media (max-width: 639px) { .fc .fc-cp-panneau { left: 10px; top: 10px; > span { padding: 9px 11px; } } }

/* Audit mobile du 28/10 : les cibles de l'en-tête et du pied font au moins 44 px sur la page de vente. */
body:has(main.fc) #entete .v2-logo { display: inline-flex; align-items: center; min-height: 44px; }
body:has(main.fc) #entete .v2-commencer { min-height: 44px; }
body:has(main.fc) .hb .pd-simple :is(a, .lien-cookies) { min-height: 44px; }
/* En paysage sur téléphone : le titre se règle sur la hauteur, pour que le bouton reste dans l'écran. */
@media (max-height: 500px) and (orientation: landscape) { .fc h1 { margin-top: 0; font-size: min(8.4vw, 12svh, 120px); } .fc .fc-pastille { display: none; } .fc .fc-hero { padding-top: 80px; } .fc .fc-hero-sous { margin-top: 10px; font-size: 15px; } .fc .fc-hero-cta { margin-top: 14px; gap: 8px; } body:has(main.fc) #entete .hb-sous { display: none; } }

/* Relecture du 28/10 au téléphone : tout plus court, un seul passage détaillé par sujet. */
@media (max-width: 759px) {
  /* Les apps en lignes compactes : icône, nom, phrase, employé. */
  .fc .fc-ap-panneau { grid-template-columns: minmax(0, 1fr); gap: 6px;
    li { display: grid; grid-template-columns: 40px minmax(0, 1fr); column-gap: 12px; row-gap: 2px; padding: 12px 14px; border-radius: 16px; }
    .fc-ap-ico { grid-row: 1 / span 3; width: 40px; height: 40px; margin: 0; }
    b { font-size: 19px; }
    p { font-size: 13px; }
    .fc-ap-qui { padding-top: 2px; } }
  /* La galerie du café : trois colonnes, le site et la vidéo en long. */
  .fc .fc-galerie { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 6px; margin-bottom: 24px;
    figure { border-radius: 14px; }
    .fc-g-site { grid-column: 1; grid-row: 1 / 3; }
    .fc-g-video { grid-column: 2; grid-row: 1 / 3; }
    .fc-g-lire i { width: 44px; height: 44px; }
    .fc-g-plus { display: none; } }
  .fc .fc-cafe-tete p { font-size: 13px; }
  .fc .fc-livrables ul li { grid-template-columns: 44px minmax(0, 1fr); gap: 12px; padding: 10px 0;
    img { width: 44px; height: 44px; border-radius: 13px; } }
  /* La fiche du shot plus serrée. */
  .fc .fc-etiq { padding: 18px 16px 16px;
    dd b { font-size: 28px; }
    dd span { font-size: 12.5px; }
    dl > div { padding: 11px 0; } }
  .fc .fc-prec { padding: 18px 16px; li { font-size: 13.5px; } }
  /* Le club en liste : un repère, un titre, une phrase. */
  .fc .fc-club-grille { gap: 0; border-top: 1px solid var(--fc-ligne);
    li { display: grid; grid-template-columns: 64px minmax(0, 1fr); column-gap: 12px; row-gap: 4px; align-items: start; padding: 16px 0; border: 0; border-bottom: 1px solid var(--fc-ligne); border-radius: 0; background: none !important; box-shadow: none; }
    li > b { grid-row: 1 / span 3; margin: 0; font-size: 30px; }
    li > b svg { width: 30px; height: 30px; }
    strong { font-size: 20px; }
    .fc-cg-visages { display: none; }
    .fc-cg-amb { margin-top: 10px; padding: 16px; border: 1px solid rgba(231, 200, 138, .45) !important; border-radius: 18px; background: linear-gradient(135deg, rgba(231, 200, 138, .13), rgba(231, 200, 138, .02) 60%) !important; }
    .fc-cg-amb > b { font-size: 34px !important; } }
  .fc .fc-cg-live { font-size: 22px !important; }
  /* Le Campus : un bloc, la plaque plus petite. */
  .fc .fc-priorite { padding: 18px 16px; gap: 20px; }
  .fc .fc-plaque { padding: 16px; ul { margin-top: 10px; gap: 7px; } li.toi { padding: 12px; } li.toi b { font-size: 24px; } ul li:not(.toi) { height: 12px; } }
  .fc .fc-dates li { padding-bottom: 26px; }
  .fc .fc-livrables ul { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: 12px;
    li { grid-template-columns: 36px minmax(0, 1fr); gap: 10px; align-items: start; }
    img { width: 36px; height: 36px; border-radius: 11px; }
    b { font-size: 14px; } small { font-size: 12.5px; } }
  .fc .fc-equipage img { aspect-ratio: 1 / .82; }
  body:has(main.fc) .hb .pd-env:has(.pd-simple) { gap: 22px; }
  .fc h2 { font-size: clamp(38px, 10.4vw, 88px); }
  .fc .fc-box-texte h2 { font-size: clamp(36px, 10.4vw, 56px); }
  .fc .fc-sous, .fc .fc-ap-tete p { font-size: 15px; line-height: 1.5; margin-top: 14px; }
  .fc .fc-club-grille li { grid-template-columns: 78px minmax(0, 1fr); } .fc .fc-club-grille li > b { font-size: 26px; }
  .fc .fc-bloc { padding-block: 46px; }
  .fc .fc-hero { padding-bottom: 8px; }
  .fc .fc-manifeste li { padding: 10px 0; gap: 12px; } .fc .fc-manifeste b { font-size: 14.5px; } .fc .fc-manifeste em { padding: 5px 8px; font-size: 12px; }
  .fc .fc-confiance { display: none; }
  .fc .fc-talon .fc-code-barres { height: 34px; padding-top: 16px; }
  .fc .fc-champs { padding: 14px 0 16px; gap: 12px 14px; }

  .fc .fc-cp-scene { aspect-ratio: 1 / .9; }
  .fc .fc-gestes li { grid-template-columns: 64px minmax(0, 1fr); padding: 16px 0; } .fc .fc-gestes i { font-size: 50px; } .fc .fc-gestes b { font-size: 24px; }
    .fc .fc-tampon { width: 140px; b { font-size: 18px; } small { font-size: 9.5px; letter-spacing: .04em; } }
  .fc .fc-garantie-grille { gap: 18px; padding: 24px 18px; }
  .fc .fc-regles { margin-top: 18px; li { padding: 11px 0 11px 38px; } li::before { top: 12px; } }
  .fc .fc-tuiles small { display: none; }
  .fc .fc-tuiles a { padding: 12px 13px; }
  .fc .fc-fin-cta { margin-top: 22px; }
  .fc .fc-mention { margin-top: 32px; }
  body:has(main.fc) footer .pd-geant { display: none; }
  .fc .fc-ap-panneau li { grid-template-areas: "ico nom qui" "ico p p"; grid-template-columns: 40px minmax(0, 1fr) auto; }
  .fc .fc-ap-panneau .fc-ap-ico { grid-area: ico; grid-row: auto; }
  .fc .fc-ap-panneau b { grid-area: nom; align-self: center; }
  .fc .fc-ap-panneau p { grid-area: p; }
  .fc .fc-ap-panneau .fc-ap-qui { grid-area: qui; margin: 0; padding: 0; font-size: 9.5px; }
  .fc .fc-ap-panneau .fc-ap-qui img + span > span { display: none; }
  .fc .fc-ap-panneau .fc-ap-qui { max-width: 120px; text-align: right; }
  .fc .fc-petit-d { max-width: 72ch; margin-inline: auto; }
  .fc .fc-eq-tete { margin-top: 48px; }
  .fc .fc-apps { margin-top: 48px; }
  .fc .fc-fiche { margin-top: 36px; }
  .fc .fc-tete { margin-bottom: 26px; }
  /* Pas deux « Commander » à la fois : celui de l'en-tête s'efface quand la barre collante est là. */
  html:has(.fc-collant.montre) #entete .v2-commencer { visibility: hidden; opacity: 0; }
  /* Le bandeau cookies sur une ligne : phrase courte, boutons de 44 px. */
  body:has(main.fc) .cookies.compact { left: 6px; right: 6px; gap: 6px; padding: 4px 4px 4px 12px; border-radius: 14px; align-items: center; }
  body:has(main.fc) .cookies.compact p { font-size: 12px; line-height: 1.3; }
  body:has(main.fc) .cookies.compact button { min-height: 44px; padding: 0 11px; font-size: 12.5px; }
}
.fc .fc-mentions { margin-top: 18px; border-top: 1px solid var(--fc-ligne);
  summary { display: flex; align-items: center; min-height: 44px; list-style: none; cursor: pointer; color: var(--fc-pale); font: 500 11px/1.2 var(--fc-f-mono); letter-spacing: .12em; text-transform: uppercase; }
  summary::-webkit-details-marker { display: none; }
  summary::after { content: "+"; margin-left: 8px; color: var(--fc-menthe); font-size: 15px; }
  &[open] summary::after { content: "−"; }
  p { padding-bottom: 12px; max-width: 92ch; color: var(--fc-pale); font-size: 12.5px; line-height: 1.55; } }

/* ── Ventes closes (30/10/2026, David) : passé le 24 décembre 2026 au soir, <html> porte « fondateur-fini » (à la date dans
   le navigateur, ou en dur si la page est régénérée après). Ce qui vend [data-vente] et ses boutons [data-fondateur-cta]
   partent ; l'entrée des membres et « Être prévenu de la suite » [data-clos] arrivent. Les trois dates passent au passé :
   le nœud allumé n'est plus « aujourd'hui », c'est Noël. ── */
html:not(.fondateur-fini) .fc [data-clos] { display: none !important; }
html.fondateur-fini .fc [data-vente], html.fondateur-fini [data-fondateur-cta] { display: none !important; }
.fc .fc-clos { justify-items: center; }
.fc .fc-clos-depuis { display: inline-flex; align-items: center; gap: 9px; margin: 2px 0 0; color: var(--fc-texte); font: 500 11.5px/1.35 var(--fc-f-mono); letter-spacing: .14em; text-transform: uppercase; text-align: center;
  i { width: 8px; height: 8px; flex: none; border-radius: 50%; background: var(--fc-menthe); box-shadow: 0 0 12px rgba(231, 200, 138, .9); animation: fc-pouls 2.4s ease-in-out infinite; } }
.fc .fc-clos-nb { margin: 0; color: var(--fc-menthe); font: 400 22px/1.1 var(--fc-f-aff); letter-spacing: .02em; text-transform: uppercase; font-variant-numeric: tabular-nums; }
.fc .fc-clos .fc-lien { color: var(--fc-doux); text-align: center; text-decoration: underline; text-decoration-color: rgba(167, 173, 183, .35); text-underline-offset: 4px;
  svg { width: 16px; height: 16px; flex: none; fill: none; stroke: currentColor; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }
  &:hover { color: var(--fc-texte); } }
@media (max-width: 480px) { .fc .fc-clos-depuis { font-size: 10.5px; letter-spacing: .1em; } }
html.fondateur-fini .fc .fc-escale { grid-template-columns: minmax(0, 1fr); max-width: 760px; }
html.fondateur-fini .fc .fc-dates {
  li.ouvert::before { background: var(--fc-nuit); box-shadow: none; }
  li.ouvert::after { content: none; }
  li.ouvert small { color: var(--fc-pale); }
  li.noel::before { background: var(--fc-menthe); border-color: var(--fc-menthe); box-shadow: 0 0 18px rgba(231, 200, 138, .8); } }

/* ── Le rappel avant la fin des ventes (28/10/2026) : une carte de la nuit sous le dernier appel, téléphone d'abord. ── */
.fc .rp { width: 100%; max-width: 560px; margin: 36px auto 0; padding: 22px; box-sizing: border-box; border: 1px solid var(--fc-ligne-2); border-radius: 22px; background: var(--fc-nuit-2); text-align: left;
  &[hidden] { display: none; }
  .rp-k { display: inline-flex; align-items: center; gap: 8px; margin: 0 0 10px; color: var(--fc-menthe); font: 500 10.5px/1 var(--fc-f-mono); letter-spacing: .15em; text-transform: uppercase;
    i { width: 7px; height: 7px; border-radius: 50%; background: var(--fc-menthe); box-shadow: 0 0 10px rgba(231, 200, 138, .8); } }
  h3 { margin: 0 0 8px; color: #fff; font: 400 clamp(24px, 6.4vw, 30px)/1.04 var(--fc-f-aff); text-transform: uppercase; letter-spacing: .01em; }
  .rp-intro { margin: 0; color: var(--fc-doux); font-size: 14.5px; line-height: 1.5; }
  form { display: grid; gap: 14px; margin-top: 16px; }
  .rp-ligne { display: flex; flex-wrap: wrap; gap: 10px; }
  input[type=email] { flex: 1 1 220px; min-width: 0; height: 52px; padding: 0 18px; box-sizing: border-box; border-radius: 999px; border: 1px solid var(--fc-ligne-2); background: var(--fc-nuit); color: #fff; font: 400 16px/1 var(--fc-f-txt);
    &::placeholder { color: var(--fc-pale); }
    &:focus-visible { outline: 2px solid var(--fc-menthe); outline-offset: 2px; } }
  .fc-btn { flex: 0 0 auto; min-height: 52px; padding: 0 24px; font-size: 15.5px; }
  .fc-btn:disabled { opacity: .55; cursor: not-allowed; }
  .rp-case { display: flex; gap: 10px; align-items: flex-start; color: var(--fc-doux); font-size: 13px; line-height: 1.5; cursor: pointer;
    input { width: 18px; height: 18px; margin: 2px 0 0; flex: none; accent-color: var(--fc-menthe); }
    a { color: var(--fc-menthe-2); text-underline-offset: 3px; } }
  .rp-piege { position: absolute !important; left: -9999px !important; width: 1px; height: 1px; overflow: hidden; }
  .rp-etat { min-height: 1.2em; color: var(--fc-menthe-2); font-size: 14px;
    &:empty { display: none; }
    &.rp-erreur { color: #ff8f80; } } }
@media (max-width: 480px) { .fc .rp { padding: 18px; .fc-btn { width: 100%; } } }

/* ── Les vidéos des apps (29/10/2026) : une rangée d'affiches 9:16 au pouce (une grille sur grand écran), la vidéo en plein écran. ── */
.fc {
  .fc-films { padding-top: clamp(32px, 6vw, 72px); }
  .fc-films-tete { margin-top: 0; h2 { font-size: clamp(40px, 10.4vw, 72px); } .fc-sous { margin-top: 14px; } }
  .fc-films-rang { list-style: none; margin: 0; padding: 14px var(--fc-gout) 10px; display: grid; grid-auto-flow: column; grid-auto-columns: min(46vw, 230px); gap: 12px;
    overflow-x: auto; overscroll-behavior-x: contain; scroll-snap-type: x mandatory; scroll-padding-inline: var(--fc-gout); scrollbar-width: none;
    &::-webkit-scrollbar { display: none; }
    li { scroll-snap-align: start; } }
  .fc-film-lire { position: relative; display: block; width: 100%; aspect-ratio: 9 / 16; padding: 0; border: 1px solid var(--fc-ligne); border-radius: 20px; overflow: hidden; cursor: pointer;
    background: var(--fc-nuit-2); transition: transform .5s var(--fc-ressort), border-color .3s;
    img { display: block; width: 100%; height: 100%; object-fit: cover; }
    i { position: absolute; right: 12px; bottom: 12px; display: grid; place-items: center; width: 46px; height: 46px; border-radius: 50%; background: rgba(255, 255, 255, .92); box-shadow: 0 14px 30px -10px rgba(0, 0, 0, .6); transition: transform .45s var(--fc-ressort); }
    i svg { width: 20px; height: 20px; margin-left: 3px; fill: var(--fc-encre); }
    &:hover { border-color: color-mix(in srgb, var(--fc-menthe) 50%, transparent); i { transform: scale(1.08); } }
    /* Le cadre de sélection à l'intérieur de la carte : à l'extérieur, la rangée (overflow-x) le coupait. */
    &:focus-visible { outline: 2px solid var(--fc-menthe); outline-offset: -2px; } }
  /* Sur grand écran, la même rangée (neuf affiches en grille faisaient deux rangées trop hautes), calée sur la colonne du texte. */
  @media (min-width: 1000px) {
    .fc-films-rang { grid-auto-columns: 216px; gap: 16px; padding-inline: max(var(--fc-gout), calc((100% - 1160px) / 2)); scroll-padding-inline: max(var(--fc-gout), calc((100% - 1160px) / 2));
      li:hover .fc-film-lire { transform: translateY(-6px); } } }
  .fc-film { position: fixed; inset: 0; z-index: 90; display: grid; place-items: center; padding: max(12px, env(safe-area-inset-top)) 12px max(12px, env(safe-area-inset-bottom)); background: rgba(4, 7, 12, .94); backdrop-filter: blur(8px);
    &[hidden] { display: none; }
    video { display: block; max-width: 100%; max-height: 100%; width: auto; height: auto; border-radius: 16px; background: #000; }
    .fc-film-x { position: absolute; top: max(12px, env(safe-area-inset-top)); right: 12px; z-index: 1; display: grid; place-items: center; width: 44px; height: 44px; padding: 0; border: 1px solid rgba(255, 255, 255, .2); border-radius: 50%; background: rgba(0, 0, 0, .55); color: #fff; cursor: pointer;
      svg { width: 20px; height: 20px; fill: none; stroke: currentColor; stroke-width: 2.2; stroke-linecap: round; } } }
}

/* ── GUEST PASS by YLC : l'habillage propre au site (30/10/2026). Le monde : un palace la nuit. Fond nuit bleutée,
   or champagne et sable doré (le doré du Guest Pass de la vidéo du club), une carte-clé d'hôtel et une carte d'arrivée
   ivoire. Cormorant Garamond pour l'affichage (servie par le site, aucune police tierce), Geist pour le texte, Geist
   Mono pour ce qui se compte. Le vert menthe de YLC n'existe plus ici : style.css est recoloré à la construction
   (construire.py remplace la menthe par l'or). Le flacon IMPACT garde ses couleurs, et seulement lui.
   Contrastes sur --nuit (#07080c) : --or (#e7c88a) 12,4:1, --sable (#c9a46a) 8,6:1, texte #eef0f3 17:1 (AA partout). ── */
:root {
  --nuit: #07080c; --nuit-2: #0d0f16; --nuit-3: #151823;
  --or: #e7c88a; --or-2: #f3dfb0; --sable: #c9a46a; --or-fonce: #8a6a35; --ivoire: #f4ecdc;
  --dore: linear-gradient(100deg, #f7e9c6 0%, #e7c88a 34%, #c9a46a 66%, #f3dfb0 100%);
  --fc-nuit: var(--nuit); --fc-nuit-2: var(--nuit-2); --fc-nuit-3: var(--nuit-3);
  --fc-menthe: var(--or); --fc-menthe-2: var(--or-2); --fc-menthe-encre: #1a1306; --fc-laiton: var(--or); --fc-laiton-2: var(--sable);
  --fc-papier: var(--ivoire); --fc-papier-2: #e8dcc4;
  --fc-f-aff: "Cormorant", Georgia, "Times New Roman", serif;
  --fond: var(--nuit);
}
@font-face { font-family: 'Cormorant'; font-style: normal; font-weight: 300 700; font-display: swap; src: url(/polices/cormorant-garamond-var-latin.woff2) format('woff2'); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face { font-family: 'Cormorant'; font-style: italic; font-weight: 300 700; font-display: swap; src: url(/polices/cormorant-garamond-var-italic-latin.woff2) format('woff2'); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face { font-family: 'Geist Fallback'; src: local('Arial'), local('Helvetica Neue'), local('Helvetica'); ascent-override: 95.94%; descent-override: 28.16%; line-gap-override: 0%; size-adjust: 104.76%; }
@font-face { font-family: 'Geist'; font-style: normal; font-weight: 100 900; font-display: swap; src: url(/polices/geist-latin.woff2) format('woff2'); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face { font-family: 'Geist'; font-style: normal; font-weight: 100 900; font-display: swap; src: url(/polices/geist-latin-ext.woff2) format('woff2'); unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+1E00-1E9F, U+20A0-20AB, U+20AD-20C0, U+2C60-2C7F, U+A720-A7FF; }
@font-face { font-family: 'Geist Mono'; font-style: normal; font-weight: 500; font-display: swap; src: url(/polices/geist-mono-latin.woff2) format('woff2'); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face { font-family: 'Anton'; font-style: normal; font-weight: 400; font-display: swap; src: url(/polices/anton-latin.woff2) format('woff2'); }

*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; scroll-behavior: smooth; }
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } }
body { margin: 0; background: var(--noir); color: #eef0f3; font-family: Geist, 'Geist Fallback', system-ui, sans-serif; -webkit-font-smoothing: antialiased; }
img { max-width: 100%; }
a { color: inherit; }
ul, ol { padding: 0; }


/* ── La box : la scène 3D (les 12 flacons dans leur présentoir), l'étiquette d'expédition devant. ── */
.fc .im-bx-scene { position: relative; z-index: 0; margin: 0 calc(-1 * var(--fc-gout)); container-type: inline-size; aspect-ratio: 1 / .95; }
@media (min-width: 760px) { .fc .im-bx-scene { margin: 0; aspect-ratio: 1.2 / 1; } }
.fc .im-bx-scene::before { content: ""; position: absolute; z-index: -1; inset: 0; pointer-events: none; background: radial-gradient(46% 36% at 50% 60%, rgba(231, 200, 138, .16), transparent 72%), radial-gradient(36% 30% at 80% 30%, rgba(70, 90, 150, .16), transparent 72%); }
.fc .im-scene3d { inset: 0; }
.fc .im-bx-scene .fc-repli { top: 12%; height: 70%; }
.fc .im-bx-scene .fc-etiquette { top: auto; bottom: 13%; right: 4%; width: 42%; }
@media (min-width: 760px) { .fc .im-bx-scene .fc-etiquette { width: 34%; } }
.fc .im-bx-scene .fc-bx-ill { position: absolute; left: var(--fc-gout); right: auto; top: auto; bottom: 1%; text-align: left; max-width: 60%; }
@media (min-width: 760px) { .fc .im-bx-scene .fc-bx-ill { left: 0; } }

/* La fiche : la liste des ingrédients, la conservation, l'étiquette. */
.fc .im-ingr { margin-top: 16px; padding-top: 14px; border-top: 1px solid rgba(23, 22, 15, .16); }
.fc .im-ingr summary { cursor: pointer; font: 500 11px/1.2 'Geist Mono', monospace; letter-spacing: .14em; text-transform: uppercase; color: var(--fc-encre-2); min-height: 32px; }
.fc .im-ingr p { margin-top: 8px; font-size: 13.5px; line-height: 1.55; color: var(--fc-encre); }
.fc .im-prec-plus { margin-top: 12px; color: var(--fc-doux); font-size: 13.5px; line-height: 1.5; }
.fc .im-prec-plus a { color: var(--or); text-underline-offset: 4px; }


/* La caisse : un seul choix (Europe). */
.fc .im-choix-pays { margin-top: 10px; color: var(--fc-encre-2); font-size: 13px; line-height: 1.4; }
.fc .im-choix-fiche { margin-top: 4px; font-size: 13px; }
.fc .im-choix-fiche a { color: var(--fc-encre); text-underline-offset: 4px; display: inline-flex; min-height: 32px; align-items: center; }
.fc .im-faq-plus { margin-top: 18px; }
.fc .fc-btn-encre { color: var(--or-2); }



/* ── L'affichage : du serif de palace, en casse normale pour les titres, en capitales espacées pour les petits titres.
   Les règles de style.css (Anton, capitales serrées) sont reprises ici, sous .fc. ── */
/* Cormorant écrit ses chiffres en bas de casse par défaut : des chiffres alignés partout (!important : le raccourci `font` de style.css remet font-feature-settings à zéro). */
.fc, .fc *, .gp-entete, .gp-entete *, .gp-pied, .gp-pied * { font-feature-settings: "lnum" 1 !important; }
.fc h1, .fc h2 { font-family: var(--fc-f-aff); font-weight: 500; text-transform: none; letter-spacing: -.012em; line-height: 1; }
.fc h3, .fc strong, .fc b { text-transform: none; }
.fc h1 em, .fc h2 em { font-style: italic; font-weight: 500; background: var(--dore); -webkit-background-clip: text; background-clip: text; color: transparent; padding: 0 .06em .04em 0; }
.fc .fc-chiffre, .fc .fc-prix, .fc .fc-gros { font-weight: 600; letter-spacing: -.01em; }
/* Les étiquettes du shot gardent l'Anton du flacon (c'est le produit, pas le palace). */
.fc .fc-etiq-tete b, .fc .fc-etiq dd b, .fc .fc-prec-t { font-family: Anton, 'Arial Narrow', sans-serif !important; font-weight: 400 !important; text-transform: uppercase; }

/* ── L'en-tête : le mot Guest Pass, trois ancres, la langue, « Commander ». ── */
.gp-entete { position: fixed; z-index: 70; inset: 0 0 auto; transition: background-color .4s cubic-bezier(.16, 1, .3, 1), border-color .4s cubic-bezier(.16, 1, .3, 1); border-bottom: 1px solid transparent; }
.gp-entete.plie { background: rgba(7, 8, 12, .82); -webkit-backdrop-filter: blur(14px); backdrop-filter: blur(14px); border-bottom-color: rgba(231, 200, 138, .12); }
.gp-entete-in { width: min(1160px, 100% - 2 * clamp(16px, 5vw, 20px)); margin-inline: auto; height: 64px; display: flex; align-items: center; gap: 18px; }
.gp-logo { display: inline-flex; align-items: baseline; gap: 8px; text-decoration: none; color: #fff; margin-right: auto; white-space: nowrap; }
.gp-logo b, .gp-pied-logo b { font: 600 26px/1 Cormorant, Georgia, serif; letter-spacing: .01em; background: var(--dore); -webkit-background-clip: text; background-clip: text; color: transparent; }
.gp-logo small, .gp-pied-logo small { color: #a7adb7; font: 500 10.5px/1 'Geist Mono', ui-monospace, monospace; letter-spacing: .14em; text-transform: uppercase; }
.gp-nav { display: none; gap: 22px; }
.gp-nav a { color: #c9ced6; text-decoration: none; font-size: 14.5px; font-weight: 500; }
.gp-nav a:hover { color: var(--or-2); }
@media (min-width: 860px) { .gp-nav { display: flex; } }
.gp-langue { display: inline-flex; align-items: center; min-height: 44px; padding: 0 4px; color: #c9ced6; font: 500 12px/1 'Geist Mono', ui-monospace, monospace; letter-spacing: .12em; text-decoration: none; }
.gp-langue:hover { color: #fff; }
.gp-entete-cta { display: inline-flex; align-items: center; min-height: 40px; padding: 0 16px; border-radius: 999px; background: var(--dore); color: #1a1306; font-weight: 650; font-size: 14px; text-decoration: none; transition: transform .45s cubic-bezier(.32, .72, 0, 1); }
.gp-entete-cta:hover { transform: translateY(-1px); }
.gp-entete-cta:active { transform: scale(.98); }
@media (max-width: 380px) { .gp-logo small { display: none; } .gp-entete-in { gap: 10px; } }

/* ── Le héros : le club d'abord, l'accroche Guest Pass, la carte-clé à droite (dessous sur téléphone). ── */
.fc .gp-hero::before { background:
  radial-gradient(46% 38% at 74% 44%, rgba(231, 200, 138, .16), transparent 70%),
  radial-gradient(38% 30% at 90% 14%, rgba(70, 90, 150, .22), transparent 72%),
  radial-gradient(70% 44% at 20% 0%, rgba(201, 164, 106, .10), transparent 72%),
  linear-gradient(180deg, transparent 72%, var(--nuit)); }
.fc .gp-hero { padding-top: clamp(96px, 11vw, 136px); }
.fc .gp-hero-grille { display: flex; flex-direction: column; align-items: center; text-align: center; }
@media (min-width: 980px) {
  .fc .gp-hero-grille { display: grid; grid-template-columns: minmax(0, 1.08fr) minmax(0, .92fr); grid-template-rows: auto auto auto auto auto 1fr; column-gap: 48px; align-items: start; text-align: left; }
  .fc .gp-hero-grille > :not(.gp-cle) { grid-column: 1; justify-self: start; }
  .fc .gp-hero-grille > .gp-cle { grid-column: 2; grid-row: 1 / span 6; align-self: center; }
  .fc .gp-hero-grille .fc-hero-cta { justify-items: start; }
  .fc .gp-hero-grille .fc-hero-prix, .fc .gp-hero-grille .fc-hero-jour { justify-content: flex-start; text-align: left; }
  .fc .gp-hero-grille .fc-ttc { text-align: left; }
}
.fc .gp-hero h1 { font-size: clamp(42px, 12.2vw, 120px); line-height: .94; letter-spacing: -.02em; max-width: 12ch; text-wrap: balance; }
.fc .gp-hero h1 .l1 { display: block; color: #fff; }
@media (min-width: 980px) { .fc .gp-hero h1 { font-size: min(5.6vw, 80px); max-width: none; } .fc .gp-hero h1 em { white-space: nowrap; } }
.fc .gp-point { width: 8px; height: 8px; margin-left: 6px; border-radius: 50%; background: var(--or); box-shadow: 0 0 12px rgba(231, 200, 138, .9); animation: fc-pouls 2.4s cubic-bezier(.45, 0, .55, 1) infinite; }
.fc .gp-hero .fc-pastille { border-color: rgba(231, 200, 138, .28); background: rgba(231, 200, 138, .06); }
.fc .gp-accroche { margin: 18px 0 0; max-width: 20ch; color: var(--or-2); font: italic 500 clamp(27px, 7.4vw, 40px)/1.08 var(--fc-f-aff); letter-spacing: -.005em; text-wrap: balance; }
.fc .gp-accroche-note { margin: 10px 0 0; color: #a7adb7; font: 500 11px/1.5 'Geist Mono', ui-monospace, monospace; letter-spacing: .12em; text-transform: uppercase; max-width: 36ch; }
.fc .gp-hero .fc-hero-sous { max-width: 52ch; }
.fc .fc-hero-prix-2 { gap: 6px 16px; }
.fc .fc-hero-garantie svg { stroke: var(--or); }
.fc .gp-hero-boutons { display: flex; flex-wrap: wrap; align-items: center; justify-content: center; gap: 10px 18px; }
@media (min-width: 980px) { .fc .gp-hero-boutons { justify-content: flex-start; } }
.fc .gp-btn-club { display: inline-flex; align-items: center; gap: 8px; min-height: 48px; padding: 0 6px; color: var(--or-2); font-weight: 600; font-size: 15.5px; text-decoration: none; border-bottom: 1px solid rgba(231, 200, 138, .35); }
.fc .gp-btn-club svg { width: 16px; height: 16px; fill: none; stroke: currentColor; stroke-width: 1.6; stroke-linecap: round; stroke-linejoin: round; transition: transform .5s cubic-bezier(.32, .72, 0, 1); }
.fc .gp-btn-club:hover svg { transform: translateY(2px); }
.fc .fc-btn-menthe { background: var(--dore); }

/* La clé : la carte d'arrivée ivoire derrière, la carte-clé noire et or devant. */
.fc .gp-cle { position: relative; margin: 26px auto 34px; width: min(100%, 360px); aspect-ratio: 1 / 1.02; container-type: inline-size; text-align: left; }
@media (min-width: 980px) { .fc .gp-cle { width: 100%; max-width: 520px; margin: 0; aspect-ratio: 1 / 1.06; } }
.fc .gp-halo { position: absolute; inset: 8% -6% 6%; border-radius: 50%; background: radial-gradient(closest-side, rgba(231, 200, 138, .26), rgba(201, 164, 106, .08) 60%, transparent 100%); filter: blur(10px); }
.fc .gp-halo::after { content: ""; position: absolute; inset: 18% 10%; border-radius: 50%; border: 1px solid rgba(231, 200, 138, .18); box-shadow: 0 0 0 18px rgba(231, 200, 138, .03), 0 0 0 40px rgba(231, 200, 138, .02); }
.fc .gp-arrivee { position: absolute; z-index: 1; top: 0; right: 0; width: 66%; padding: 6.2cqi 6cqi 7cqi; border-radius: 4.4cqi; background: linear-gradient(180deg, #f7f0e1, #ece1cb); color: #2a2418; rotate: 6deg;
  box-shadow: 0 30px 60px -30px rgba(0, 0, 0, .9), inset 0 1px 0 rgba(255, 255, 255, .7); }
.fc .gp-arr-k { display: flex; justify-content: space-between; margin: 0 0 4cqi; padding-bottom: 3cqi; border-bottom: 1px solid rgba(42, 36, 24, .16); color: #6b5d43; font: 500 max(8px, 2.6cqi)/1 'Geist Mono', monospace; letter-spacing: .16em; text-transform: uppercase; }
.fc .gp-arr-k span:last-child { color: var(--or-fonce); letter-spacing: .05em; }
.fc .gp-arrivee dl { margin: 0; display: grid; gap: 2.6cqi; }
.fc .gp-arrivee dt { color: #6b5d43; font: 500 max(7.5px, 2.3cqi)/1 'Geist Mono', monospace; letter-spacing: .16em; text-transform: uppercase; }
.fc .gp-arrivee dd { margin: 1.2cqi 0 0; color: #1d1910; font: 600 max(13px, 4.8cqi)/1.05 var(--fc-f-aff); }
.fc .gp-arr-trous { position: absolute; left: 0; right: 0; bottom: 3cqi; height: 1px; border-top: 1px dashed rgba(42, 36, 24, .25); }
.fc .gp-carte { position: absolute; z-index: 2; left: 0; bottom: 3%; width: 76%; aspect-ratio: 1.586; display: grid; grid-template-rows: auto 1fr auto; padding: 5.2cqi 5.6cqi 4.6cqi; border-radius: 4.4cqi; overflow: hidden; rotate: -7deg;
  background: radial-gradient(120% 90% at 0% 0%, rgba(231, 200, 138, .16), transparent 55%), repeating-linear-gradient(115deg, rgba(255, 255, 255, .018) 0 1px, transparent 1px 4px), linear-gradient(160deg, #191c27 0%, #0b0d14 55%, #050609 100%);
  border: 1px solid rgba(231, 200, 138, .32); box-shadow: 0 40px 70px -30px #000, 0 0 0 1px rgba(0, 0, 0, .6), inset 0 1px 0 rgba(255, 255, 255, .10); }
.fc .gp-carte::before { content: ""; position: absolute; inset: 2.2cqi; border-radius: 3cqi; border: 1px solid rgba(231, 200, 138, .16); pointer-events: none; }
.fc .gp-carte::after { content: ""; position: absolute; inset: -40% -60%; background: linear-gradient(105deg, transparent 42%, rgba(247, 233, 198, .14) 50%, transparent 58%); translate: -30% 0; pointer-events: none; }
@media (prefers-reduced-motion: no-preference) {
  .fc .gp-carte::after { animation: gp-reflet 7s cubic-bezier(.45, 0, .55, 1) infinite; }
  .fc .gp-carte { animation: gp-flotte 8s cubic-bezier(.45, 0, .55, 1) infinite; }
  @keyframes gp-reflet { 0%, 55% { translate: -40% 0; } 85%, 100% { translate: 40% 0; } }
  @keyframes gp-flotte { 0%, 100% { transform: translateY(0); } 50% { transform: translateY(-1.6%); } }
}
.fc .gp-carte-haut { position: relative; display: flex; justify-content: space-between; align-items: baseline; gap: 2cqi; }
.fc .gp-carte-mot { font: 600 max(16px, 6.4cqi)/1 var(--fc-f-aff); letter-spacing: .02em; background: var(--dore); -webkit-background-clip: text; background-clip: text; color: transparent; }
.fc .gp-carte-haut small, .fc .gp-carte-bas small { color: rgba(243, 223, 176, .62); font: 500 max(7px, 2.1cqi)/1 'Geist Mono', monospace; letter-spacing: .16em; text-transform: uppercase; }
.fc .gp-carte-chiffre { position: relative; align-self: center; margin: 0; display: grid; }
.fc .gp-carte-chiffre small { color: rgba(243, 223, 176, .7); font: italic 500 max(11px, 4cqi)/1 var(--fc-f-aff); }
.fc .gp-carte-chiffre b { font: 600 max(34px, 15cqi)/.95 var(--fc-f-aff); letter-spacing: -.02em; background: var(--dore); -webkit-background-clip: text; background-clip: text; color: transparent; white-space: nowrap; }
.fc .gp-carte-bas { position: relative; display: flex; justify-content: space-between; align-items: end; }
.fc .gp-carte-bas span { display: grid; gap: 1.2cqi; }
.fc .gp-carte-bas b { color: #f3eee4; font: 500 max(10px, 3.2cqi)/1 'Geist Mono', monospace; letter-spacing: .1em; }
.fc .gp-carte-sans-contact svg { width: max(16px, 6cqi); height: max(16px, 6cqi); fill: none; stroke: var(--or); stroke-width: 1.4; stroke-linecap: round; opacity: .85; }
.fc .gp-cle-leg { position: absolute; left: 0; right: 0; text-align: center; bottom: -26px; color: #80868f; font: 500 10.5px/1.2 'Geist Mono', monospace; letter-spacing: .08em; }
@media (max-width: 979px) { .fc .gp-hero .fc-tableau { margin-top: 24px; } }
@media (min-width: 980px) { .fc .gp-hero .fc-tableau { margin-top: 36px; } }

/* Les tuiles : celle du Guest Pass est la commande, en or. */
.fc .gp-tuile-pass a { background: radial-gradient(90% 120% at 100% 0%, rgba(231, 200, 138, .22), transparent 60%), linear-gradient(160deg, #191c27, #0b0d14); border-color: rgba(231, 200, 138, .5); }
.fc .fc-tuiles li.gp-tuile-pass { grid-column: 1 / -1; }
.fc .fc-tuiles li:last-child:nth-child(odd) { grid-column: auto; }
@media (min-width: 900px) { .fc .fc-tuiles { grid-template-columns: repeat(4, minmax(0, 1fr)); } .fc .fc-tuiles li { grid-column: auto; } .fc .fc-tuiles li.gp-tuile-pass { grid-column: span 1; grid-row: span 2; } .fc .gp-tuile-pass a { height: 100%; justify-content: center; } }

/* ── Le Guest Pass en détail ── */
.fc .gp-detail { position: relative; }
.fc .gp-detail::before { content: ""; position: absolute; inset: 0; z-index: -1; pointer-events: none; background: radial-gradient(50% 40% at 80% 30%, rgba(231, 200, 138, .08), transparent 70%), radial-gradient(40% 40% at 0% 80%, rgba(70, 90, 150, .10), transparent 70%); }
.fc .gp-d-tete { max-width: 760px; }
.fc .gp-d-tete h2 { font-size: clamp(48px, 12.6vw, 112px); line-height: .94; }
.fc .gp-regles { list-style: none; margin: clamp(30px, 5vw, 52px) 0 0; display: grid; gap: 1px; grid-template-columns: minmax(0, 1fr); border-radius: 26px; overflow: hidden; border: 1px solid rgba(231, 200, 138, .16); background: rgba(231, 200, 138, .14); }
@media (min-width: 820px) { .fc .gp-regles { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
.fc .gp-regles li { display: grid; gap: 8px; align-content: start; padding: clamp(22px, 3vw, 32px); background: linear-gradient(180deg, #10121a, #0a0b11); }
.fc .gp-regles b { font: 600 clamp(46px, 12vw, 64px)/.95 var(--fc-f-aff); letter-spacing: -.02em; background: var(--dore); -webkit-background-clip: text; background-clip: text; color: transparent; white-space: nowrap; }
.fc .gp-regles strong { color: #fff; font: 600 21px/1.2 var(--fc-f-txt); letter-spacing: -.01em; }
.fc .gp-regles span { color: var(--fc-doux); font-size: 15px; line-height: 1.55; }
.fc .gp-d-grille { display: grid; gap: clamp(22px, 4vw, 44px); margin-top: clamp(26px, 4vw, 44px); align-items: start; }
@media (min-width: 980px) { .fc .gp-d-grille { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); } }
.fc .gp-recevoir { padding: clamp(22px, 3vw, 34px); border-radius: 26px; border: 1px solid rgba(236, 240, 245, .09); background: rgba(255, 255, 255, .02); }
.fc .gp-recevoir h3 { margin: 0 0 18px; color: #fff; font: 500 clamp(30px, 7vw, 42px)/1 var(--fc-f-aff); }
.fc .gp-recevoir ol { list-style: none; margin: 0; display: grid; gap: 0; }
.fc .gp-recevoir li { display: grid; grid-template-columns: 44px minmax(0, 1fr); gap: 4px 14px; padding: 16px 0; border-top: 1px solid rgba(236, 240, 245, .08); }
.fc .gp-recevoir li:first-child { border-top: 0; padding-top: 4px; }
.fc .gp-recevoir li > i { color: var(--or); font: 500 12px/1.9 'Geist Mono', monospace; letter-spacing: .14em; font-style: normal; }
.fc .gp-recevoir li strong { display: block; color: #fff; font-size: 17px; line-height: 1.3; }
.fc .gp-recevoir li small { display: block; margin-top: 4px; color: var(--fc-doux); font-size: 14.5px; line-height: 1.5; }
.fc .gp-faux-bouton { grid-column: 2; justify-self: start; margin-top: 10px; display: inline-flex; align-items: center; min-height: 40px; padding: 0 16px; border-radius: 999px; background: rgba(231, 200, 138, .1); border: 1px solid rgba(231, 200, 138, .45); color: var(--or-2); font: 600 14px/1 var(--fc-f-txt); font-style: normal; }
.fc .gp-partenaire { margin: 14px 0 0; padding-top: 16px; border-top: 1px solid rgba(236, 240, 245, .08); color: #a7adb7; font-size: 14px; line-height: 1.55; }
/* Le folio : l'addition d'un hôtel, en papier ivoire, toujours marquée « exemple indicatif ». */
.fc .gp-folio { position: relative; margin: 0; padding: clamp(22px, 3vw, 32px); border-radius: 26px; background: linear-gradient(180deg, #f7f0e1, #efe5d0); color: #1d1910; box-shadow: 0 50px 90px -50px rgba(231, 200, 138, .35), 0 30px 60px -30px rgba(0, 0, 0, .8); }
.fc .gp-folio::before { content: ""; position: absolute; inset: 8px; border-radius: 20px; border: 1px solid rgba(138, 106, 53, .22); pointer-events: none; }
.fc .gp-folio-k { position: relative; display: flex; justify-content: space-between; gap: 10px; margin: 0; color: #6b5d43; font: 500 11px/1.2 'Geist Mono', monospace; letter-spacing: .16em; text-transform: uppercase; }
.fc .gp-folio-k span:first-child { padding: 5px 9px; border-radius: 6px; background: #1d1910; color: var(--or-2); }
.fc .gp-folio-k span:last-child { color: var(--or-fonce); align-self: center; }
.fc .gp-folio-lieu { position: relative; margin: 18px 0 8px; font: 500 clamp(30px, 7.4vw, 40px)/1.02 var(--fc-f-aff); }
.fc .gp-folio dl { position: relative; margin: 0; }
.fc .gp-folio dl div { display: flex; justify-content: space-between; align-items: baseline; gap: 14px; padding: 13px 0; border-bottom: 1px dashed rgba(42, 36, 24, .22); }
.fc .gp-folio dt { font-size: 15px; color: #3a3324; }
.fc .gp-folio dd { margin: 0; font: 500 16px/1 'Geist Mono', monospace; white-space: nowrap; }
.fc .gp-moins { color: #8a4a2a; }
.fc .gp-folio-total dt { font-weight: 700; color: #1d1910; }
.fc .gp-folio-total dd { padding: 6px 12px; border-radius: 8px; background: #1d1910; color: var(--or-2); font: 600 30px/1 var(--fc-f-aff); font-family: var(--fc-f-aff); }
.fc .gp-folio-pack { border-bottom: 0 !important; color: #6b5d43; }
.fc .gp-folio-pack dt, .fc .gp-folio-pack dd { color: #6b5d43; }
.fc .gp-folio-plus { position: relative; margin: 10px 0 0; font: italic 500 clamp(22px, 5.6vw, 27px)/1.15 var(--fc-f-aff); color: #1d1910; }
.fc .gp-folio-mention { position: relative; margin-top: 14px; color: #6b5d43; font-size: 12.5px; line-height: 1.5; }
.fc .gp-d-cta { display: flex; flex-wrap: wrap; align-items: center; gap: 12px 18px; margin-top: clamp(26px, 4vw, 40px); }
.fc .gp-d-cta .fc-fin-vente { color: #a7adb7; font-size: 14px; }
.fc .gp-bonus-tete { padding-bottom: 0; }
.fc .gp-bonus-tete h2 { font-size: clamp(42px, 10.4vw, 92px); }

/* La vidéo (sous le héros, masquée tant que VIDEO_PRETE est faux) : le lecteur de ylcnetwork.com, recoloré. */
.vy-cadre { border-color: rgba(231, 200, 138, .3) !important; box-shadow: 0 0 0 6px rgba(231, 200, 138, .04), 0 50px 120px -50px rgba(0, 0, 0, .9) !important; }
.vy-lire { background: var(--or) !important; color: #1a1306 !important; }

/* ── Le pied de page : celui de ylcnetwork.com (version page unique), en or ; le mot géant « GUEST PASS » en filigrane. ── */
.gp-pied { position: relative; z-index: 3; overflow: hidden; border-top: 1px solid rgba(231, 200, 138, .12); padding: clamp(48px, 7vw, 80px) 0 calc(120px + env(safe-area-inset-bottom, 0px)); color: #a7adb7; font-size: 14px; line-height: 1.6; text-align: center;
  background: radial-gradient(60% 45% at 50% 0%, rgba(231, 200, 138, .10), transparent 70%), radial-gradient(40% 30% at 50% 100%, rgba(231, 200, 138, .06), transparent 70%), #05060a; }
@media (min-width: 760px) { .gp-pied { padding-bottom: 40px; } }
.gp-pied-in { width: min(980px, 100% - 2 * clamp(16px, 5vw, 20px)); margin-inline: auto; display: grid; justify-items: center; gap: 16px; }
.gp-pied-logo { display: inline-flex; align-items: baseline; gap: 8px; min-height: 44px; text-decoration: none; }
.gp-pied-logo b { font-size: 34px; }
.gp-pied-kick { margin: 0; color: var(--or); font: 600 11.5px/1 'Geist Mono', ui-monospace, monospace; letter-spacing: .32em; text-transform: uppercase; }
.gp-pied-phrase { margin: 0; max-width: 560px; color: #eef0f3; font: 500 clamp(21px, 2.6vw, 27px)/1.3 var(--fc-f-aff); text-wrap: balance; }
.gp-pied-mail { display: inline-flex; align-items: center; min-height: 44px; color: #9fa8b4; font-size: 14.5px; text-decoration: none; }
.gp-pied-mail:hover { color: var(--or-2); }
.gp-pied-reseaux { display: flex; gap: 10px; }
.gp-pied-reseaux a { display: grid; place-items: center; width: 44px; height: 44px; border-radius: 12px; color: #e3dccd; background: rgba(255, 255, 255, .05); box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .1); transition: color .3s, background .3s, transform .45s cubic-bezier(.32, .72, 0, 1); }
.gp-pied-reseaux a:hover { color: #1a1306; background: var(--or); transform: translateY(-2px); }
.gp-pied-reseaux svg { width: 20px; height: 20px; }
.gp-pied-pilules { display: flex; flex-wrap: wrap; justify-content: center; gap: 10px; margin-top: 14px; }
.gp-pied-pilules a { display: inline-flex; align-items: center; gap: 8px; min-height: 44px; padding: 0 18px; border-radius: 999px; border: 1px solid rgba(255, 255, 255, .10); background: rgba(255, 255, 255, .03); color: #cfd3d9; font-size: 14.5px; font-weight: 500; text-decoration: none; transition: color .3s, border-color .3s, background .3s; }
.gp-pied-pilules a:hover { color: #fff; border-color: rgba(255, 255, 255, .28); background: rgba(255, 255, 255, .06); }
.gp-pied-pilules .gp-pied-amb { color: #1a1306; font-weight: 700; border-color: transparent; background: var(--dore); box-shadow: 0 12px 34px -14px rgba(231, 200, 138, .8); }
.gp-pied-pilules .gp-pied-amb:hover { color: #1a1306; background: var(--dore); filter: brightness(1.06); }
@media (max-width: 600px) { .gp-pied-pilules { gap: 8px; } .gp-pied-pilules a { padding: 0 15px; font-size: 14px; } .gp-pied-pilules .gp-pied-amb { flex-basis: 100%; justify-content: center; } }
.gp-pied-geant { margin: clamp(36px, 6vw, 64px) 0 0; padding: 0 12px; font: 600 clamp(64px, 17.4vw, 250px)/.82 Cormorant, Georgia, serif; letter-spacing: -.02em; white-space: nowrap; user-select: none; pointer-events: none;
  background: linear-gradient(180deg, rgba(243, 223, 176, .5) 0%, rgba(201, 164, 106, .16) 58%, rgba(7, 8, 12, 0) 100%); -webkit-background-clip: text; background-clip: text; color: transparent; }
.gp-pied-bas { width: min(1160px, 100% - 2 * clamp(16px, 5vw, 20px)); margin: 0 auto; display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 12px 24px; padding-top: 22px; border-top: 1px solid rgba(236, 240, 245, .08); font-size: 14px; text-align: left; }
.gp-pied-langues { display: flex; gap: 6px; }
.gp-pied-langues a { display: inline-grid; place-items: center; min-width: 44px; min-height: 40px; padding: 0 10px; border-radius: 999px; border: 1px solid rgba(255, 255, 255, .12); color: #cfd3d9; font: 500 12.5px/1 'Geist Mono', monospace; letter-spacing: .1em; text-decoration: none; }
.gp-pied-langues a[aria-current] { background: var(--or); border-color: transparent; color: #1a1306; }
.gp-pied-editeur { width: min(1160px, 100% - 2 * clamp(16px, 5vw, 20px)); margin: 12px auto 0; color: #80868f; font-size: 12.5px; text-align: left; }

/* Le prix du billet : Cormorant a besoin d'un peu plus d'interligne que l'Anton. */
.fc .fc-prix { line-height: 1; font-weight: 600; }
.fc .fc-prix small { margin-top: 8px; }
