/* ═══════════════════════════════════════════════════════════════
   PROJECT ZERO — tout ce qui suit la vidéo du hero.
   Typographie, verre, lumière. Deux photos, rien d'autre.
   Mobile pensé à part, jamais une réduction du bureau.
   ═══════════════════════════════════════════════════════════════ */

.pz {
  --rouge: 244, 63, 94;
  --gris: rgba(255,255,255,.46);
  --gris-fort: rgba(255,255,255,.76);
  --eteint: rgba(255,255,255,.15);
  --titre: "Stack Sans Notch", "DM Sans", system-ui, sans-serif;
  --texte: "DM Sans", "Satoshi", system-ui, sans-serif;
  --bord: 20px;
  --rayon: 22px;
  --large: 1280px;
  width: 100%; max-width: 100vw; display: block;
  background: #07070a; color: #fff; font-family: var(--texte);
  overflow-x: clip; position: relative;
}
.pz *, .pz *::before, .pz *::after { box-sizing: border-box; }
@media (min-width: 768px)  { .pz { --bord: 44px; --rayon: 26px; } }
@media (min-width: 1200px) { .pz { --bord: 80px; --rayon: 32px; } }

/* ── verre ───────────────────────────────────────────────────── */
.pz-verre, .pz-plaque { position: relative; isolation: isolate; }
.pz-verre {
  background: linear-gradient(168deg, rgba(255,255,255,.055), rgba(255,255,255,.013) 58%, rgba(255,255,255,.007));
  border: 1px solid rgba(255,255,255,.07); border-radius: var(--rayon);
  backdrop-filter: blur(12px) saturate(126%); -webkit-backdrop-filter: blur(12px) saturate(126%);
  box-shadow: 0 1px 0 rgba(255,255,255,.05) inset, 0 18px 44px rgba(0,0,0,.42);
}
.pz-plaque {
  background: linear-gradient(166deg, rgba(255,255,255,.07), rgba(255,255,255,.019) 46%, rgba(255,255,255,.008)), rgba(10,10,14,.32);
  border: 1px solid rgba(255,255,255,.085); border-radius: clamp(24px, 5vw, 40px);
  backdrop-filter: blur(24px) saturate(138%); -webkit-backdrop-filter: blur(24px) saturate(138%);
  box-shadow: 0 44px 120px rgba(0,0,0,.7), 0 2px 0 rgba(255,255,255,.06) inset;
}
.pz-verre::before, .pz-plaque::before {
  content: ""; position: absolute; inset: 0; border-radius: inherit; padding: 1px;
  background: linear-gradient(152deg, rgba(255,255,255,.32), rgba(255,255,255,0) 32%, rgba(255,255,255,0) 70%, rgba(255,255,255,.1));
  -webkit-mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
  -webkit-mask-composite: xor; mask-composite: exclude; pointer-events: none; z-index: 4;
}
.pz-plaque::after {
  content: ""; position: absolute; top: 0; bottom: 0; width: 44%; left: -60%; z-index: 3;
  pointer-events: none; opacity: 0; transform: skewX(-14deg);
  background: linear-gradient(100deg, transparent, rgba(255,255,255,.07) 46%, transparent);
}
.pz-plaque.vu::after { animation: pz-reflet 2.2s cubic-bezier(.22,1,.3,1) .5s 1 forwards; }
@keyframes pz-reflet { 0%{left:-60%;opacity:0} 22%{opacity:1} 100%{left:118%;opacity:0} }
@media (max-width: 767px) {
  .pz-verre { backdrop-filter: blur(8px) saturate(118%); -webkit-backdrop-filter: blur(8px) saturate(118%);
              box-shadow: 0 1px 0 rgba(255,255,255,.05) inset, 0 10px 26px rgba(0,0,0,.38); }
  .pz-plaque { backdrop-filter: blur(15px) saturate(126%); -webkit-backdrop-filter: blur(15px) saturate(126%);
               box-shadow: 0 24px 64px rgba(0,0,0,.6), 0 1px 0 rgba(255,255,255,.05) inset; }
}
.pz-lueur { position: absolute; border-radius: 50%; pointer-events: none; z-index: 0;
  filter: blur(80px); opacity: .44;
  background: radial-gradient(circle, rgba(var(--rouge), .55), transparent 66%); }
@media (max-width: 767px) { .pz-lueur { filter: blur(54px); opacity: .38; } }

/* ── ossature ────────────────────────────────────────────────── */
.pz-section { position: relative; padding: clamp(88px, 15vw, 210px) var(--bord); overflow: hidden; }
.pz-large { width: 100%; max-width: var(--large); margin: 0 auto; position: relative; z-index: 2; }
.pz-label { font-size: clamp(10px, 2.7vw, 12px); letter-spacing: .24em; text-transform: uppercase;
  color: var(--gris); margin: 0 0 clamp(16px, 3.4vw, 24px); font-weight: 500; }
.pz-titre { font-family: var(--titre); font-weight: 700; text-transform: uppercase;
  letter-spacing: -.025em; line-height: 1.0; margin: 0; font-size: clamp(32px, 8.4vw, 68px); }
.pz-titre .doux { color: rgba(255,255,255,.34); }
.pz-centre { text-align: center; }
.pz-texte { color: var(--gris-fort); font-size: clamp(16px, 4vw, 18px); line-height: 1.62;
  margin: clamp(22px, 4vw, 30px) 0 0; max-width: 62ch; }
.pz-centre .pz-texte { margin-left: auto; margin-right: auto; }
.pz-souligne { font-family: var(--titre); text-transform: uppercase; font-weight: 700;
  font-size: clamp(17px, 4.4vw, 26px); line-height: 1.16; letter-spacing: -.015em;
  margin: clamp(28px, 5vw, 40px) 0 0; }
.pz-souligne .doux { color: rgba(255,255,255,.38); }

/* ── révélations ─────────────────────────────────────────────── */
.pz-rev { opacity: 0; transform: translateY(26px); }
.pz-rev.vu { opacity: 1; transform: none;
  transition: opacity 1s cubic-bezier(.16,1,.3,1), transform 1s cubic-bezier(.16,1,.3,1); }
.pz-flou { filter: blur(9px); }
.pz-flou.vu { filter: none; transition: opacity 1.2s cubic-bezier(.16,1,.3,1),
  transform 1.2s cubic-bezier(.16,1,.3,1), filter 1.2s cubic-bezier(.16,1,.3,1); }
.pz-rev[data-r="1"].vu{transition-delay:.07s} .pz-rev[data-r="2"].vu{transition-delay:.14s}
.pz-rev[data-r="3"].vu{transition-delay:.21s} .pz-rev[data-r="4"].vu{transition-delay:.28s}
.pz-rev[data-r="5"].vu{transition-delay:.35s} .pz-rev[data-r="6"].vu{transition-delay:.42s}
.pz-rev[data-r="7"].vu{transition-delay:.49s}

/* ── 01 · trois piliers ──────────────────────────────────────── */
.pz-piliers { display: grid; grid-template-columns: 1fr; gap: 0; margin: clamp(46px, 8vw, 84px) 0 0; }
@media (min-width: 900px) { .pz-piliers { grid-template-columns: repeat(3, 1fr); gap: clamp(20px, 3vw, 44px); } }
.pz-pilier { padding: clamp(26px, 5vw, 0) 0; border-top: 1px solid rgba(255,255,255,.08); }
@media (min-width: 900px) { .pz-pilier { padding: 30px 0 0; } }
.pz-pilier .n { font-size: 11px; letter-spacing: .22em; color: rgba(var(--rouge), .8); }
.pz-pilier h3 { font-family: var(--titre); text-transform: uppercase; font-weight: 700;
  font-size: clamp(26px, 7vw, 40px); letter-spacing: -.022em; margin: 14px 0 0; line-height: 1; }
.pz-pilier p { color: var(--gris); font-size: clamp(15px, 3.8vw, 16px); line-height: 1.6; margin: 14px 0 0; }

/* ── 02 · pour qui ───────────────────────────────────────────── */
.pz-cas { display: grid; grid-template-columns: 1fr; gap: clamp(14px, 2.6vw, 20px); margin-top: clamp(36px, 6vw, 56px); }
@media (min-width: 900px) { .pz-cas { grid-template-columns: repeat(3, 1fr); } }
.pz-cas-item { padding: clamp(24px, 5vw, 32px); }
.pz-cas-item h4 { font-family: var(--titre); text-transform: uppercase; font-weight: 700;
  font-size: clamp(16px, 4.2vw, 20px); letter-spacing: -.012em; margin: 0; line-height: 1.14; }
.pz-cas-item p { color: var(--gris); font-size: clamp(15px, 3.8vw, 16px); line-height: 1.58; margin: 14px 0 0; }

/* ── 03 · parcours ───────────────────────────────────────────── */
.pz-parcours { position: relative; margin-top: clamp(44px, 8vw, 76px); padding-left: 34px; }
@media (min-width: 900px) { .pz-parcours { padding-left: 58px; } }
.pz-rail-fond, .pz-rail-plein { position: absolute; left: 10px; top: 8px; bottom: 8px; width: 2px; border-radius: 2px; }
@media (min-width: 900px) { .pz-rail-fond, .pz-rail-plein { left: 22px; } }
.pz-rail-fond { background: rgba(255,255,255,.09); }
.pz-rail-plein { background: linear-gradient(180deg, rgba(var(--rouge), .95), rgba(255,255,255,.75));
  bottom: auto; height: 0; box-shadow: 0 0 18px rgba(var(--rouge), .55); transition: height .18s linear; }
.pz-etape { position: relative; padding: 0 0 clamp(44px, 8vw, 80px); }
.pz-etape:last-child { padding-bottom: 0; }
.pz-etape::before { content: ""; position: absolute; left: -30px; top: 7px; width: 10px; height: 10px;
  border-radius: 50%; background: #16161d; border: 1px solid rgba(255,255,255,.2); transition: all .5s; }
@media (min-width: 900px) { .pz-etape::before { left: -42px; width: 12px; height: 12px; } }
.pz-etape.actif::before { background: rgb(var(--rouge)); border-color: rgb(var(--rouge));
  box-shadow: 0 0 0 5px rgba(var(--rouge), .18); }
.pz-etape .n { font-size: 11px; letter-spacing: .22em; color: rgba(255,255,255,.3); }
.pz-etape h3 { font-family: var(--titre); text-transform: uppercase; font-weight: 700; margin: 12px 0 0;
  font-size: clamp(21px, 5.6vw, 34px); letter-spacing: -.02em; line-height: 1.04;
  color: rgba(255,255,255,.34); transition: color .6s; }
.pz-etape.actif h3 { color: #fff; }
.pz-etape p { color: var(--gris); font-size: clamp(15px, 3.8vw, 16px); line-height: 1.7; margin: 14px 0 0; }

/* ── 04 · agent IA ───────────────────────────────────────────── */
.pz-agent { position: relative; margin: clamp(46px, 8vw, 82px) auto 0; width: 100%;
  max-width: 660px; aspect-ratio: 1 / 1; }
@media (min-width: 900px) { .pz-agent { aspect-ratio: 16 / 11; max-width: 860px; } }
.pz-agent svg { position: absolute; inset: 0; width: 100%; height: 100%; overflow: visible; }
.pz-agent svg line { stroke: rgba(255,255,255,.12); stroke-width: 1; transition: stroke .45s, filter .45s; }
.pz-agent svg line.on { stroke: rgba(var(--rouge), .85); filter: drop-shadow(0 0 6px rgba(var(--rouge), .6)); }
.pz-noeud { position: absolute; transform: translate(-50%, -50%); padding: 10px 15px; border-radius: 999px;
  font-family: var(--titre); text-transform: uppercase; font-size: clamp(9.5px, 2.5vw, 11.5px);
  letter-spacing: .1em; color: var(--gris-fort); white-space: nowrap; cursor: default;
  transition: color .4s, transform .5s cubic-bezier(.16,1,.3,1); z-index: 3; }
.pz-noeud.on { color: #fff; }
.pz-centre-noeud { position: absolute; left: 50%; top: 50%; transform: translate(-50%,-50%);
  padding: clamp(16px,3.4vw,22px) clamp(20px,4.4vw,30px); border-radius: 18px; text-align: center;
  font-family: var(--titre); text-transform: uppercase; font-weight: 700;
  font-size: clamp(12px, 3.2vw, 17px); letter-spacing: .04em; z-index: 4; line-height: 1.2; }
.pz-agent-lueur { position: absolute; left: 50%; top: 50%; width: 62%; height: 62%;
  transform: translate(-50%,-50%); border-radius: 50%; filter: blur(60px); z-index: 0;
  background: radial-gradient(circle, rgba(var(--rouge), .4), transparent 68%); }
.pz-quatre { display: grid; grid-template-columns: repeat(2, 1fr); gap: 12px; margin-top: clamp(40px, 7vw, 72px); }
@media (min-width: 900px) { .pz-quatre { grid-template-columns: repeat(4, 1fr); gap: 16px; } }
.pz-quatre div { padding: clamp(20px, 4vw, 26px); }
.pz-quatre h4 { font-family: var(--titre); text-transform: uppercase; font-weight: 700; margin: 0;
  font-size: clamp(14px, 3.6vw, 17px); letter-spacing: -.005em; }
.pz-quatre p { color: var(--gris); font-size: clamp(13px, 3.2vw, 14.5px); line-height: 1.65; margin: 12px 0 0; }

/* ── 05 · fondateurs ─────────────────────────────────────────── */
.pz-duo { display: grid; grid-template-columns: 1fr; gap: clamp(20px, 4vw, 34px); margin-top: clamp(40px, 7vw, 70px); }
@media (min-width: 900px) { .pz-duo { grid-template-columns: repeat(2, 1fr); } }
.pz-fond { overflow: hidden; }
.pz-fond-photo { position: relative; aspect-ratio: 4 / 5; background: #0e0e14; }
@media (min-width: 900px) { .pz-fond-photo { aspect-ratio: 3 / 4; } }
.pz-fond-photo img { width: 100%; height: 100%; object-fit: cover; display: block; }
.pz-fond-photo[data-vide="1"]::after { content: attr(data-media); position: absolute; inset: 0;
  display: flex; align-items: center; justify-content: center; font-size: 10px; letter-spacing: .18em;
  color: rgba(255,255,255,.28); text-align: center; padding: 12px;
  background: radial-gradient(120% 90% at 30% 8%, rgba(var(--rouge), .14), transparent 60%),
    repeating-linear-gradient(135deg, rgba(255,255,255,.025) 0 2px, transparent 2px 9px), #0d0d12; }
.pz-fond-photo::before { content: ""; position: absolute; inset: 0; z-index: 2; pointer-events: none;
  background: linear-gradient(180deg, rgba(7,7,10,.1), rgba(7,7,10,.72)); }
.pz-fond-txt { padding: clamp(24px, 5vw, 34px); }
.pz-fond-txt h3 { font-family: var(--titre); text-transform: uppercase; font-weight: 700; margin: 0;
  font-size: clamp(20px, 5vw, 27px); letter-spacing: -.018em; }
.pz-fond-role { font-family: var(--titre); text-transform: uppercase; font-weight: 700;
  font-size: clamp(14px, 3.6vw, 17px); line-height: 1.24; margin: 14px 0 0; color: rgba(var(--rouge), .95); }
.pz-mots { display: flex; flex-wrap: wrap; gap: 7px; margin: 18px 0 0; }
.pz-mots span { padding: 7px 13px; border-radius: 999px; font-size: 11px; letter-spacing: .1em;
  text-transform: uppercase; color: var(--gris); border: 1px solid rgba(255,255,255,.08); }
.pz-fond-txt p { color: var(--gris-fort); font-size: clamp(15px, 3.8vw, 16px); line-height: 1.62; margin: 18px 0 0; }
.pz-fond-mission { font-family: var(--titre); text-transform: uppercase; font-weight: 700;
  font-size: clamp(14px, 3.6vw, 17px); line-height: 1.24; margin: 20px 0 0;
  padding-top: 20px; border-top: 1px solid rgba(255,255,255,.08); }

/* ── 06 · connexions ─────────────────────────────────────────── */
.pz-equations { display: flex; flex-direction: column; gap: clamp(34px, 7vw, 66px); margin-top: clamp(40px, 7vw, 68px); }
.pz-eq { display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; gap: clamp(8px, 2vw, 16px); }
.pz-eq-b { padding: clamp(16px, 3.6vw, 26px) clamp(11px, 2.6vw, 20px); text-align: center; border-radius: var(--rayon);
  font-family: var(--titre); text-transform: uppercase; font-weight: 700; line-height: 1.14;
  font-size: clamp(12px, 3.1vw, 19px); letter-spacing: -.008em;
  transition: transform 1.1s cubic-bezier(.16,1,.3,1); }
.pz-eq .g { transform: translateX(-24px); } .pz-eq .d { transform: translateX(24px); }
.pz-eq.vu .g, .pz-eq.vu .d { transform: none; }
.pz-eq-signe { font-family: var(--titre); font-size: clamp(14px, 3.6vw, 22px); color: rgba(255,255,255,.3); }
.pz-eq-res { margin: clamp(13px, 2.6vw, 18px) 0 0; text-align: center; font-family: var(--titre);
  text-transform: uppercase; font-weight: 700; font-size: clamp(16px, 4.4vw, 27px); letter-spacing: -.016em;
  background: linear-gradient(94deg, #fff, rgba(var(--rouge), .92));
  -webkit-background-clip: text; background-clip: text; color: transparent; }
.pz-pills { display: grid; grid-template-columns: repeat(2, 1fr); gap: 10px; margin-top: clamp(38px, 7vw, 62px); }
@media (min-width: 768px) { .pz-pills { grid-template-columns: repeat(6, 1fr); gap: 12px; } }
.pz-pills span { padding: 15px 8px; text-align: center; border-radius: 999px; font-family: var(--titre);
  text-transform: uppercase; font-size: clamp(10px, 2.7vw, 11.5px); letter-spacing: .13em; color: var(--gris-fort); }

/* ── 07 · bento ──────────────────────────────────────────────── */
.pz-bento { display: grid; grid-template-columns: 1fr; gap: 12px; margin-top: clamp(38px, 6vw, 62px); }
@media (min-width: 768px) {
  .pz-bento { grid-template-columns: repeat(6, 1fr); gap: 14px; grid-auto-rows: minmax(160px, auto); }
  .pz-bt[data-t="grand"] { grid-column: span 4; } .pz-bt[data-t="petit"] { grid-column: span 2; }
  .pz-bt[data-t="moyen"] { grid-column: span 3; }
}
.pz-bt { position: relative; isolation: isolate; padding: clamp(22px, 4.6vw, 32px); overflow: hidden;
  min-height: 146px; display: flex; flex-direction: column; justify-content: space-between; }
.pz-bt-num { font-size: 11px; letter-spacing: .2em; color: rgba(255,255,255,.26); }
.pz-bt h3 { font-family: var(--titre); text-transform: uppercase; font-weight: 700; margin: 13px 0 0;
  font-size: clamp(19px, 5vw, 27px); letter-spacing: -.018em; line-height: 1; }
.pz-bt p { margin: 12px 0 0; color: var(--gris); font-size: clamp(13px, 3.2vw, 14.5px); line-height: 1.62; }
.pz-bt-halo { position: absolute; width: 300px; height: 300px; border-radius: 50%; pointer-events: none;
  z-index: -1; opacity: 0; transition: opacity .5s; filter: blur(46px);
  background: radial-gradient(circle, rgba(var(--rouge), .3), transparent 68%); }
@media (hover: hover) { .pz-bt:hover .pz-bt-halo { opacity: 1; } }

/* ── 08 · chemins ────────────────────────────────────────────── */
.pz-chemins { margin: clamp(44px, 8vw, 82px) 0 0; display: flex; flex-direction: column;
  gap: clamp(13px, 3vw, 20px); text-align: center; }
.pz-chemins p { margin: 0; font-family: var(--titre); text-transform: uppercase; font-weight: 700;
  letter-spacing: -.018em; line-height: 1.06; font-size: clamp(18px, 5.2vw, 36px);
  color: var(--eteint); transition: color .7s ease; }
.pz-chemins p.actif { color: #fff; }

/* ── 09 · affiliation ────────────────────────────────────────── */
.pz-affil { padding: clamp(30px, 6vw, 62px) clamp(24px, 5vw, 60px); text-align: center; }
@media (min-width: 900px) { .pz-affil { text-align: left; } }
.pz-affil-lignes { margin: clamp(22px, 4.4vw, 32px) 0 0; }
.pz-affil-lignes p { margin: 0 0 11px; color: var(--gris-fort); font-size: clamp(15px, 3.8vw, 17px); line-height: 1.5; }
.pz-affil-fort { font-family: var(--titre); text-transform: uppercase; font-weight: 700;
  font-size: clamp(18px, 4.6vw, 26px); line-height: 1.14; margin: 18px 0 0 !important; color: #fff !important; }
.pz-legal { margin: clamp(24px, 4.6vw, 32px) 0 0; font-size: 11px; line-height: 1.55; color: rgba(255,255,255,.28); max-width: 48ch; }
@media (max-width: 899px) { .pz-legal { margin-left: auto; margin-right: auto; } }

/* ── 10 · références ─────────────────────────────────────────── */
.pz-ref-piste { overflow: hidden; margin-top: 14px;
  -webkit-mask-image: linear-gradient(90deg, transparent, #000 9%, #000 91%, transparent);
  mask-image: linear-gradient(90deg, transparent, #000 9%, #000 91%, transparent); }
.pz-ref-defile { display: flex; width: max-content; align-items: center; }
.pz-ref-defile img { height: clamp(23px, 6vw, 32px); width: auto; margin: 0 clamp(22px, 5.4vw, 46px);
  opacity: .34; filter: grayscale(1) brightness(1.8); transition: opacity .45s, filter .45s; }
@media (hover: hover) { .pz-ref-defile img:hover { opacity: 1; filter: none; } }
.pz-ref-a .pz-ref-defile { animation: pz-droite 42s linear infinite; }
.pz-ref-b .pz-ref-defile { animation: pz-gauche 52s linear infinite; }
@keyframes pz-droite { from{transform:translate3d(-33.3333%,0,0)} to{transform:none} }
@keyframes pz-gauche { from{transform:none} to{transform:translate3d(-33.3333%,0,0)} }

/* ── 11 · adhésion ───────────────────────────────────────────── */
.pz-adhesion { padding: clamp(34px, 7vw, 76px) clamp(24px, 5vw, 64px); text-align: center; }
.pz-prix { font-family: var(--titre); font-weight: 700; letter-spacing: -.035em; line-height: .9;
  font-size: clamp(62px, 18vw, 140px); margin: clamp(22px, 4vw, 34px) 0 0; }
.pz-prix small { display: block; font-size: clamp(12px, 3vw, 15px); letter-spacing: .22em;
  color: var(--gris); margin-top: 14px; font-weight: 500; }
.pz-acces-titre { font-size: 11px; letter-spacing: .22em; text-transform: uppercase; color: var(--gris);
  margin: clamp(34px, 6vw, 50px) 0 clamp(16px, 3vw, 22px); }
.pz-acces { display: grid; grid-template-columns: 1fr; gap: 9px; text-align: left; }
@media (min-width: 700px) { .pz-acces { grid-template-columns: repeat(2, 1fr); } }
.pz-acces span { padding: 14px 18px; border-radius: 14px; font-family: var(--titre); text-transform: uppercase;
  font-size: clamp(11px, 2.9vw, 12.5px); letter-spacing: .1em; color: var(--gris-fort); }

/* ── 12 · FAQ ────────────────────────────────────────────────── */
/* ═══════════════════════════════════════════════════════════════
   FAQ — dernière étape avant le pied de page.
   Une île blanche dans le noir du site, entaillée en haut et en bas
   par une encoche. Les panneaux passent en verre clair, l'or reste
   l'accent, et le texte se lit en graphite plutôt qu'en blanc.
   ═══════════════════════════════════════════════════════════════ */
.pz-sect-faq { position: relative; overflow: hidden;
  background: #F5F4F1; color: #0A0A0B;
  padding: clamp(78px, 12vw, 150px) var(--bord) clamp(78px, 12vw, 150px); }
/* les encoches noires : elles raccordent la section aux blocs voisins */
.pzf2-enc { position: absolute; left: 50%; z-index: 9; translate: -50% 0;
  width: clamp(46px, 14vw, 66px); height: clamp(22px, 7vw, 32px);
  overflow: visible; pointer-events: none; }
.pzf2-enc.haut { top: -1px; }
.pzf2-enc.bas { bottom: -1px; }
.pzf2-enc polygon { fill: #050505; }
/* un immense arc doré, presque invisible, pour que le blanc ne soit pas plat */
.pz-sect-faq::before {
  content: ""; position: absolute; left: 50%; top: -20%; z-index: 0;
  width: min(180vw, 1500px); aspect-ratio: 1; translate: -50% 0;
  border-radius: 50%; pointer-events: none;
  border: 1px solid rgba(150,120,50,.10);
  background: radial-gradient(circle, rgba(190,160,90,.055) 0%, transparent 62%); }
.pz-sect-faq .pz-large { position: relative; z-index: 1; max-width: 1180px; }

.pzf2-oeil { margin: 0; font-family: var(--titre); font-weight: 600;
  text-transform: uppercase; letter-spacing: .42em;
  font-size: clamp(9.5px, 2.5vw, 11px); text-align: center;
  background-image: linear-gradient(168deg, #C9A34D 0%, #8C6E2B 44%, #C9A34D 100%);
  -webkit-background-clip: text; background-clip: text; color: transparent;
  -webkit-text-fill-color: transparent; }
.pzf2-titre { margin: clamp(16px, 2.6vw, 24px) 0 0; text-align: center;
  font-family: var(--titre); font-weight: 700; text-transform: uppercase;
  letter-spacing: -.03em; line-height: .98;
  font-size: clamp(38px, 9vw, 76px); color: #0A0A0B; }

.pzf2-liste { margin: clamp(44px, 7vw, 78px) auto 0; display: grid;
  gap: clamp(10px, 1.4vw, 14px); }

/* ── un panneau ──────────────────────────────────────────────── */
.pzf2-item { position: relative; border-radius: 16px; overflow: hidden;
  background: rgba(255,255,255,.62);
  -webkit-backdrop-filter: blur(6px); backdrop-filter: blur(6px);
  box-shadow: inset 0 0 0 1px rgba(10,10,11,.10);
  transition: box-shadow .32s ease, background .32s ease; }
.pzf2-item.ouvert { background: rgba(255,255,255,.92);
  box-shadow: inset 0 0 0 1px rgba(10,10,11,.16),
              inset 0 1px 0 rgba(180,145,60,.55),
              0 18px 44px -34px rgba(10,10,11,.5); }

.pzf2-tete { display: grid; width: 100%; align-items: center;
  grid-template-columns: auto 1px 1fr auto;
  gap: clamp(12px, 3vw, 20px);
  padding: clamp(20px, 4.4vw, 26px) clamp(16px, 4vw, 26px);
  background: none; border: 0; cursor: pointer; text-align: left;
  -webkit-tap-highlight-color: transparent; }
.pzf2-num { font-family: var(--titre); font-weight: 600; letter-spacing: .12em;
  font-size: clamp(11px, 3vw, 12.5px); color: #9C7C33; }
.pzf2-filet { width: 1px; align-self: stretch; min-height: 26px;
  background: linear-gradient(180deg, transparent,
    rgba(156,124,51,.55) 22%, rgba(156,124,51,.55) 78%, transparent); }
.pzf2-q { font-family: var(--titre); font-weight: 600; text-transform: uppercase;
  letter-spacing: .015em; line-height: 1.32;
  font-size: clamp(13.5px, 3.7vw, 17px); color: #0A0A0B;
  text-wrap: balance; }

/* ── le bouton rond ──────────────────────────────────────────── */
.pzf2-bt { position: relative; width: clamp(34px, 9vw, 40px); aspect-ratio: 1;
  flex: 0 0 auto; border-radius: 50%;
  background: rgba(255,255,255,.7);
  box-shadow: inset 0 0 0 1px rgba(10,10,11,.16);
  transition: box-shadow .32s ease, rotate .34s cubic-bezier(.22,.61,.36,1); }
.pzf2-bt::before, .pzf2-bt::after {
  content: ""; position: absolute; left: 50%; top: 50%; border-radius: 1px;
  background: #0A0A0B; translate: -50% -50%;
  transition: opacity .22s linear, background .3s ease; }
.pzf2-bt::before { width: 40%; height: 1.4px; }
.pzf2-bt::after { width: 1.4px; height: 40%; }
.pzf2-tete:hover .pzf2-bt { box-shadow: inset 0 0 0 1px rgba(156,124,51,.6); }
.ouvert .pzf2-bt { rotate: 180deg;
  background: #0A0A0B;
  box-shadow: inset 0 0 0 1px rgba(156,124,51,.7),
              0 0 16px -6px rgba(156,124,51,.8); }
.ouvert .pzf2-bt::after { opacity: 0; }
.ouvert .pzf2-bt::before { background: #E8CE8E; }
.pzf2-tete:focus-visible { outline: 2px solid rgba(156,124,51,.7); outline-offset: -4px; }

/* ── la réponse ──────────────────────────────────────────────── */
.pzf2-rep { height: 0; overflow: hidden;
  transition: height .32s cubic-bezier(.22,.61,.36,1); }
.pzf2-corps { padding: 0 clamp(16px, 4vw, 26px) clamp(24px, 4.6vw, 30px);
  max-width: 68ch;
  opacity: 0; translate: 0 8px;
  transition: opacity .3s ease .04s, translate .3s cubic-bezier(.22,.61,.36,1) .04s; }
.ouvert .pzf2-corps { opacity: 1; translate: 0 0; }
@media (min-width: 560px) {
  .pzf2-corps { padding-left: calc(clamp(16px, 4vw, 26px) + 2ch + clamp(12px, 3vw, 20px) * 2 + 1px); }
}
.pzf2-rep p { margin: 0 0 clamp(12px, 2vw, 15px);
  color: rgba(10,10,11,.72); line-height: 1.72;
  font-size: clamp(17px, 4.1vw, 17.5px); }
.pzf2-rep p:last-child { margin-bottom: 0; }
.pzf2-rep b { color: #0A0A0B; font-weight: 600; }
.pzf2-inter { color: #0A0A0B !important; font-family: var(--titre);
  font-weight: 600; text-transform: uppercase; letter-spacing: .1em;
  font-size: clamp(12px, 3.1vw, 13px) !important;
  margin-top: clamp(18px, 3vw, 24px) !important; }
.pzf2-inter:first-child { margin-top: 0 !important; }
.pzf2-inter::before { content: "—"; color: #9C7C33; margin-right: .6em; }
.pzf2-net { margin-bottom: 5px !important; color: rgba(10,10,11,.88) !important; }
.pzf2-mots { list-style: none; margin: 0 0 clamp(16px, 3vw, 22px); padding: 0;
  display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 9px 18px; }
@media (min-width: 700px) { .pzf2-mots { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
.pzf2-mots li { font-family: var(--titre); font-weight: 500;
  text-transform: uppercase; letter-spacing: .14em;
  font-size: clamp(11px, 2.9vw, 12px); color: rgba(10,10,11,.72); }
.pzf2-mots li::before { content: ""; display: inline-block; width: 4px; height: 4px;
  border-radius: 50%; background: #9C7C33;
  margin-right: 10px; vertical-align: middle; }

@media (max-width: 559px) {
  .pzf2-tete { gap: 12px; padding: 19px 16px; }
  .pzf2-liste { gap: 9px; }
}

@media (prefers-reduced-motion: reduce) {
  .pzf2-item, .pzf2-bt, .pzf2-rep, .pzf2-corps { transition: none !important; }
  .pzf2-corps { opacity: 1; translate: none; }
}

/* ═══════════════════════════════════════════════════════════════
   LE PIED DE PAGE
   Fin de parcours. Un Ø géant en empreinte dorée dans la matière,
   la marque en grand, la même navigation que le menu en lignes
   numérotées, puis les mentions. Noir, blanc, or, des filets d'un
   pixel et beaucoup de vide.
   ═══════════════════════════════════════════════════════════════ */
.pzp2 { position: relative; overflow: hidden; isolation: isolate;
  background: #050506;
  padding: clamp(56px, 11vw, 104px) var(--bord) clamp(34px, 6vw, 54px); }
/* la surface : un métal noir très légèrement réchauffé */
.pzp2::before {
  content: ""; position: absolute; inset: 0; z-index: 0; pointer-events: none;
  background:
    radial-gradient(120% 70% at 84% 8%, rgba(214,184,117,.10), transparent 58%),
    radial-gradient(90% 60% at 8% 96%, rgba(255,255,255,.035), transparent 62%),
    linear-gradient(158deg, #0B0B0D 0%, #050506 52%, #08080A 100%); }
/* le grain, pour que le noir ait de la matière */
.pzp2::after {
  content: ""; position: absolute; inset: 0; z-index: 1; pointer-events: none; opacity: .05;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='180' height='180' filter='url(%23n)'/%3E%3C/svg%3E"); }

/* ── le Ø géant, coupé par le cadre ──────────────────────────── */
.pzp2-empreinte { position: absolute; z-index: 0; pointer-events: none;
  /* Coupé par le coin haut droit, et surtout éteint avant d'atteindre les
     textes : le tracé ne vit que dans l'angle et se dissout en arrivant
     sur la marque et la navigation. */
  width: min(118vw, 600px); height: auto; aspect-ratio: 1;
  right: -32%; top: -26%; rotate: -6deg; opacity: .85;
  -webkit-mask-image: radial-gradient(circle at 92% 6%,
    #000 0%, #000 34%, rgba(0,0,0,.42) 58%, rgba(0,0,0,.12) 74%, transparent 88%);
  mask-image: radial-gradient(circle at 92% 6%,
    #000 0%, #000 34%, rgba(0,0,0,.42) 58%, rgba(0,0,0,.12) 74%, transparent 88%); }
.pzp2-empreinte { filter: drop-shadow(0 0 22px rgba(214,184,117,.14)); }

.pzp2-dedans { position: relative; z-index: 2; max-width: 1180px; margin: 0 auto; }

/* ── le haut : tout est centré, la marque ouvre ──────────────── */
.pzp2-haut { text-align: center; }
.pzp2-marque img { display: block; margin: 0 auto;
  width: clamp(250px, 72vw, 430px); height: auto; }
.pzp2-mot { font-family: var(--titre); font-weight: 700; text-transform: uppercase;
  letter-spacing: .04em; font-size: clamp(38px, 11vw, 76px); line-height: 1; }
.pzp2-devise { margin: clamp(16px, 3.6vw, 24px) 0 0; font-family: var(--titre);
  font-weight: 400; text-transform: uppercase; letter-spacing: .34em;
  font-size: clamp(9.5px, 2.6vw, 11px); color: rgba(255,255,255,.55); }
.pzp2-devise b { font-weight: 400; color: rgba(214,184,117,.72); padding: 0 .8em; }

/* ── la navigation : un bloc centré, plus étroit que la page ─── */
.pzp2-nav { margin: clamp(34px, 7vw, 56px) auto 0;
  width: min(100%, 460px); }
.pzp2-ligne { position: relative; display: grid;
  grid-template-columns: 2.4em 1fr auto;
  align-items: center; gap: clamp(14px, 4vw, 22px);
  padding: clamp(16px, 3.8vw, 21px) clamp(4px, 2vw, 10px);
  text-decoration: none;
  transition: background .3s ease; }
/* le filet ne fait pas toute la largeur et s'allume au centre */
.pzp2-ligne + .pzp2-ligne::before {
  content: ""; position: absolute; left: 6%; right: 6%; top: 0; height: 1px;
  background: linear-gradient(90deg, transparent,
    rgba(255,255,255,.10) 18%, rgba(214,184,117,.42) 50%,
    rgba(255,255,255,.10) 82%, transparent); }
.pzp2-num { font-family: Georgia, "Times New Roman", serif; font-style: italic;
  font-weight: 400; letter-spacing: .04em;
  font-size: clamp(14px, 3.8vw, 16px); color: rgba(214,184,117,.9); }
.pzp2-sep { display: none; }
.pzp2-nom { font-family: var(--titre); font-weight: 500; text-transform: uppercase;
  letter-spacing: .2em; font-size: clamp(12.5px, 3.4vw, 15px); color: #fff; }
.pzp2-fleche { position: relative; width: clamp(22px, 6vw, 28px); height: 9px;
  flex: 0 0 auto; transition: translate .3s cubic-bezier(.22,.61,.36,1); }
.pzp2-fleche::before { content: ""; position: absolute; left: 0; top: 4px;
  width: 100%; height: 1px; background: rgba(214,184,117,.85); }
.pzp2-fleche::after { content: ""; position: absolute; right: 0; top: 1.5px;
  width: 7px; height: 7px; border-right: 1px solid rgba(214,184,117,.85);
  border-top: 1px solid rgba(214,184,117,.85); rotate: 45deg; }
@media (hover: hover) {
  .pzp2-ligne:hover { background: rgba(255,255,255,.028); }
  .pzp2-ligne:hover .pzp2-fleche { translate: 6px 0; }
}

/* ── le bouton ───────────────────────────────────────────────── */
.pzp2-bouton { display: flex; align-items: center; justify-content: center;
  gap: clamp(14px, 3.4vw, 20px);
  width: fit-content; margin: clamp(38px, 8vw, 62px) auto 0;
  padding: clamp(16px, 3.6vw, 20px) clamp(28px, 7vw, 44px);
  border-radius: 999px; text-decoration: none;
  font-family: var(--titre); font-weight: 500; text-transform: uppercase;
  letter-spacing: .26em; font-size: clamp(11px, 3vw, 12.5px); color: #fff;
  background: rgba(6,6,8,.7);
  box-shadow: inset 0 0 0 1px rgba(214,184,117,.55),
              0 0 34px -14px rgba(214,184,117,.55);
  transition: box-shadow .34s ease, translate .34s cubic-bezier(.22,.61,.36,1); }
.pzp2-bouton i { position: relative; width: 20px; height: 9px; flex: 0 0 auto;
  transition: translate .3s cubic-bezier(.22,.61,.36,1); }
.pzp2-bouton i::before { content: ""; position: absolute; left: 0; top: 4px;
  width: 100%; height: 1px; background: #D6B875; }
.pzp2-bouton i::after { content: ""; position: absolute; right: 0; top: 1.5px;
  width: 7px; height: 7px; border-right: 1px solid #D6B875;
  border-top: 1px solid #D6B875; rotate: 45deg; }
.pzp2-bouton:hover { translate: 0 -1px;
  box-shadow: inset 0 0 0 1px rgba(244,228,189,.9),
              0 0 42px -12px rgba(214,184,117,.75); }
.pzp2-bouton:hover i { translate: 5px 0; }

/* ── la ligne basse ──────────────────────────────────────────── */
.pzp2-filet { position: relative; height: 1px;
  margin: clamp(40px, 8vw, 66px) 0 clamp(28px, 5.6vw, 40px);
  background: linear-gradient(90deg, transparent, rgba(255,255,255,.10) 16%,
    rgba(214,184,117,.55) 50%, rgba(255,255,255,.10) 84%, transparent); }
.pzp2-petit { position: absolute; left: 50%; top: 50%; width: clamp(22px, 6vw, 26px);
  height: auto; aspect-ratio: 1; translate: -50% -50%;
  background: #050506; padding: 5px; border-radius: 50%; }
.pzp2-petit .trait { stroke: rgba(214,184,117,.75); fill: none; }

.pzp2-reseaux, .pzp2-legal { display: flex; flex-wrap: wrap;
  align-items: center; justify-content: center; }
.pzp2-reseaux { gap: 8px clamp(16px, 4vw, 26px); }
.pzp2-legal { gap: 8px clamp(14px, 3.4vw, 22px);
  margin-top: clamp(16px, 3.4vw, 22px); }
.pzp2-reseaux a { font-weight: 400; letter-spacing: .04em;
  font-size: clamp(13px, 3.4vw, 14px); color: rgba(255,255,255,.72);
  text-decoration: none; transition: color .25s ease; }
.pzp2-legal a { font-size: clamp(11.5px, 3vw, 12.5px);
  color: rgba(255,255,255,.42); text-decoration: none; transition: color .25s ease; }
.pzp2-reseaux a:hover, .pzp2-legal a:hover { color: #fff; }
.pzp2-reseaux a + a::before, .pzp2-legal a + a::before {
  content: "·"; color: rgba(214,184,117,.5); margin-right: clamp(16px, 4vw, 26px); }
.pzp2-legal a + a::before { margin-right: clamp(14px, 3.4vw, 22px); }
.pzp2-copy { margin: clamp(24px, 5vw, 34px) 0 0; text-align: center;
  font-size: clamp(11px, 2.9vw, 12px); color: rgba(255,255,255,.3);
  letter-spacing: .06em; }

/* ── grand écran : la même écriture, plus ample ──────────────── */
@media (min-width: 900px) {
  .pzp2 { padding-top: clamp(96px, 9vw, 140px); }
  .pzp2-empreinte { width: min(42vw, 660px); right: -10%; top: -32%; opacity: .7; }
  .pzp2-nav { width: min(100%, 560px); margin-top: clamp(50px, 5vw, 76px); }
  .pzp2-ligne { padding: clamp(20px, 2vw, 26px) 12px; }
  .pzp2-nom { font-size: clamp(15px, 1.5vw, 18px); }
}

@media (prefers-reduced-motion: reduce) {
  .pzp2-ligne, .pzp2-fleche, .pzp2-bouton, .pzp2-bouton i { transition: none !important; }
}
