/* Six Fumaison — page Galerie : chapitres éditoriaux, mosaïque en colonnes, visionneuse plein écran */
.galerie-hero{padding-top:72px;padding-bottom:64px;display:flex;flex-direction:column;align-items:flex-start;gap:var(--s4)}
.galerie-hero .lead{max-width:36em}
.galerie-nav{display:flex;flex-wrap:wrap;gap:var(--s2);margin-top:var(--s4)}
.galerie-nav a{display:inline-flex;align-items:center;gap:10px;padding:8px 10px 8px 14px;border:1px solid var(--navy);border-radius:999px;font-size:16px;line-height:1.2;transition:background .3s,color .3s}
.galerie-nav a i{font-size:20px;color:var(--coral)}
.galerie-nav a em{font-style:normal;font-size:12px;min-width:24px;height:24px;padding:0 6px;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;background:var(--cream);color:var(--navy);transition:background .3s,color .3s}
.galerie-nav a:hover{background:var(--navy);color:#fff}
.galerie-nav a:hover em{background:var(--coral);color:#fff}
.galerie-vide{padding-bottom:96px}

.gchap{padding:96px 0;background:var(--bg);color:var(--navy)}
.gchap-dark{background:var(--navy);color:#f3f2f2}
.gchap-in{display:grid;grid-template-columns:minmax(240px,320px) 1fr;gap:72px;align-items:start}
.gchap-head{position:sticky;top:120px;display:flex;flex-direction:column;gap:var(--s3)}
.gchap-num{display:block;font-size:clamp(88px,10vw,140px);line-height:.9;letter-spacing:-.02em;color:transparent;-webkit-text-stroke:1px var(--coral)}
.gchap-t{margin:0;font-weight:400;font-size:clamp(28px,2.8vw,38px);line-height:1.15;display:flex;align-items:center;gap:12px;text-wrap:balance}
.gchap-t i{flex:none;font-size:1.05em;color:var(--coral)}
.gchap-dark .gchap-t{color:#fff}
.gchap-p{margin:0;font-size:17px;line-height:1.65;color:var(--n700);text-wrap:pretty}
.gchap-dark .gchap-p{color:rgba(243,242,242,.8)}
.gchap-count{font-size:13px;letter-spacing:.16em;text-transform:uppercase;color:var(--coral)}

.gchap-grid{columns:2;column-gap:14px}
.gitem{position:relative;margin:0 0 14px;break-inside:avoid;overflow:hidden;border-radius:var(--r);background:var(--cream)}
.gchap-dark .gitem{background:var(--navy-2)}
.gitem-hero{column-span:all}
.gbtn{all:unset;box-sizing:border-box;display:block;position:relative;width:100%;overflow:hidden;cursor:zoom-in;-webkit-tap-highlight-color:transparent}
.gbtn:focus-visible{outline:2px solid var(--coral);outline-offset:-4px}
.gbtn img{display:block;width:100%;height:auto;transition:transform 1.2s cubic-bezier(.2,.7,.2,1)}
.gitem::after{content:"";position:absolute;inset:12px;border:1px solid rgba(255,255,255,.9);opacity:0;transform:scale(1.04);transition:opacity .4s,transform .6s cubic-bezier(.2,.7,.2,1);pointer-events:none}
.gcap{position:absolute;left:0;right:0;bottom:0;display:flex;align-items:flex-end;gap:10px;padding:48px 20px 18px;color:#fff;font-size:15px;line-height:1.35;text-align:left;background:linear-gradient(180deg,rgba(21,48,61,0),rgba(21,48,61,.85));transform:translateY(100%);transition:transform .5s cubic-bezier(.2,.7,.2,1)}
.gcap i{flex:none;font-size:20px;color:var(--coral)}
@media (hover:hover){
  .gitem:hover img{transform:scale(1.05)}
  .gitem:hover::after{opacity:1;transform:none}
  .gitem:hover .gcap,.gbtn:focus-visible .gcap{transform:none}
}
@media (hover:none){.gcap{display:none}}

/* Visionneuse plein écran */
body.glb-lock{overflow:hidden}
.glb{position:fixed;inset:0;z-index:300;display:flex;align-items:center;justify-content:center;background:rgba(15,37,48,.96);opacity:0;visibility:hidden;transition:opacity .3s,visibility .3s}
.glb.is-open{opacity:1;visibility:visible}
.glb-fig{margin:0;max-width:min(94vw,1500px);display:flex;flex-direction:column;align-items:center;gap:16px;touch-action:pan-y}
.glb-img{display:block;max-width:100%;max-height:78vh;width:auto;height:auto;border-radius:var(--r);box-shadow:0 20px 60px rgba(0,0,0,.45);opacity:0;transform:scale(.985);transition:opacity .35s,transform .45s cubic-bezier(.2,.7,.2,1);user-select:none;-webkit-user-drag:none}
.glb-img.is-ready{opacity:1;transform:none}
.glb-cap{max-width:46em;padding:0 16px;color:#f3f2f2;text-align:center;font-size:17px;line-height:1.45}
.glb-cap small{display:block;margin-bottom:4px;font-size:12px;letter-spacing:.16em;text-transform:uppercase;color:var(--coral)}
.glb-count{position:absolute;top:26px;left:24px;font-size:14px;letter-spacing:.14em;color:rgba(243,242,242,.8)}
.glb-btn{position:absolute;width:52px;height:52px;border-radius:50%;border:1px solid rgba(255,255,255,.35);background:rgba(21,48,61,.7);color:#fff;font-size:22px;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:background .25s,border-color .25s}
.glb-btn:hover{background:var(--coral);border-color:var(--coral)}
.glb-close{top:16px;right:16px}
.glb-prev,.glb-next{top:50%;margin-top:-26px}
.glb-prev{left:16px}
.glb-next{right:16px}

@media (max-width:900px){
  .gchap{padding:64px 0}
  .gchap-in{grid-template-columns:1fr;gap:32px}
  .gchap-head{position:static}
  .gchap-num{font-size:84px}
  .gchap-grid{column-gap:10px}
  .gitem{margin-bottom:10px;border-radius:2px}
  .gitem::after{inset:8px}
}
@media (max-width:640px){
  .galerie-hero{padding-top:48px;padding-bottom:40px}
  .galerie-nav a{font-size:15px}
  .glb-img{max-height:66vh}
  .glb-cap{font-size:15px}
  .glb-prev,.glb-next{top:auto;bottom:20px;margin:0}
  .glb-prev{left:calc(50% - 64px)}
  .glb-next{right:calc(50% - 64px)}
  .glb-fig{margin-bottom:56px}
}
