.stories-page,.story-detail-page{background:#080808;color:var(--ivory)}
.stories-main,.story-detail{padding-top:0}.stories-intro{padding:118px max(32px,7vw) 38px;border-bottom:1px solid rgba(255,255,255,.12)}.stories-intro h1{font-size:clamp(3.2rem,7vw,7rem);margin:.2em 0 .12em}.stories-intro>p:last-child{max-width:650px;color:#aaa;line-height:1.7}.stories-grid{padding:18px max(32px,7vw) 110px;display:grid;grid-template-columns:repeat(12,1fr);gap:18px}.story-card{position:relative;min-height:420px;grid-column:span 6;overflow:hidden;color:#fff}.story-card.is-featured{grid-column:span 12;min-height:620px}.story-card-img{position:absolute;inset:0;background-size:cover;background-position:center;transition:transform 1s ease}.story-card:hover .story-card-img{transform:scale(1.025)}.story-card-shade{position:absolute;inset:0;background:linear-gradient(180deg,transparent 25%,rgba(0,0,0,.84))}.story-card-copy{position:absolute;left:30px;right:30px;bottom:28px;z-index:2}.story-card-copy span{font-size:.74rem;font-weight:700;letter-spacing:.15em;color:var(--accent)}.story-card-copy h2{font-size:clamp(2rem,4vw,4.6rem);line-height:.96;margin:.2em 0}.story-card-copy p{max-width:760px;color:#ddd}.story-card-copy .place{text-transform:uppercase;letter-spacing:.1em;font-size:.7rem}.story-card-copy b{display:inline-block;margin-top:12px;font-size:.68rem;letter-spacing:.12em;text-transform:uppercase}
.story-hero{min-height:100svh;position:relative;display:grid;grid-template-columns:1.2fr .8fr;background:#060606}.story-hero-media{min-height:100svh;display:flex;align-items:center;justify-content:center;padding:85px 30px 30px}.story-hero-media img{width:100%;height:calc(100svh - 120px);object-fit:contain}.story-hero-copy{padding:120px 7vw 70px;display:flex;flex-direction:column;justify-content:center}.story-date{font-size:.75rem;font-weight:700;letter-spacing:.16em;color:var(--accent)}.story-hero-copy h1{font-size:clamp(2.8rem,5.4vw,6.5rem);line-height:.95;margin:.25em 0}.story-place{text-transform:uppercase;letter-spacing:.12em;font-size:.72rem;color:#aaa}.story-comment{font-size:1.05rem;line-height:1.72;color:#c6c6c6;max-width:600px}.story-gallery{padding:18px max(18px,5vw) 90px;display:grid;grid-template-columns:repeat(12,1fr);gap:18px}.story-shot{margin:0;min-height:420px;display:flex;align-items:center;justify-content:center;overflow:hidden;background:#050505}.story-shot img{width:100%;height:100%;max-height:82vh;object-fit:contain}.shot-1,.shot-4{grid-column:span 7}.shot-2,.shot-5{grid-column:span 5}.shot-3,.shot-6{grid-column:span 12}.story-video{padding:70px max(32px,7vw) 110px}.story-video-head h2{font-size:clamp(2.5rem,5vw,5rem);margin:.15em 0 .5em}.video-wrap{position:relative;aspect-ratio:16/9;max-width:1200px}.video-wrap iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
@media(max-width:800px){.stories-intro{padding:92px 18px 30px}.stories-grid{padding:18px}.story-card,.story-card.is-featured{grid-column:span 12;min-height:480px}.story-hero{display:block}.story-hero-media{min-height:auto;padding:90px 18px 20px}.story-hero-media img{height:auto;max-height:70vh}.story-hero-copy{padding:24px 18px 56px}.story-gallery{display:block;padding:18px}.story-shot{min-height:0;margin-bottom:18px}.story-shot img{height:auto;max-height:none}.story-video{padding:56px 18px 90px}}
/* V0.63 - Meme masonry CSS pour toutes les galeries Histoires. */
.story-gallery{
  display:block;
  column-count:2;
  column-gap:18px;
  padding:18px max(18px,5vw) 90px;
}
.story-shot,
.story-shot[class*="shot-"]{
  display:inline-block;
  width:100%;
  min-height:0;
  margin:0 0 18px;
  break-inside:avoid;
  page-break-inside:avoid;
  vertical-align:top;
  overflow:hidden;
  background:#050505;
  grid-column:auto;
}
.story-shot img{
  display:block;
  width:100%;
  height:auto;
  max-height:none;
  object-fit:contain;
}
@media(max-width:800px){
  .story-gallery{
    display:block;
    column-count:1;
    column-gap:0;
    padding:18px;
  }
  .story-shot,
  .story-shot[class*="shot-"]{margin:0 0 18px;}
}


/* V0.64 - Meme chronologie masonry pour les galeries Histoires. */
.story-gallery{
  display:block;
  column-count:initial;
  column-gap:0;
}
.story-gallery.masonry-managed{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(0,1fr);
  gap:18px;
  align-items:start;
}
.story-gallery .masonry-column{
  display:flex;
  flex-direction:column;
  gap:18px;
  min-width:0;
}
.story-gallery.masonry-managed .story-shot,
.story-gallery.masonry-managed .story-shot[class*="shot-"]{
  display:block;
  width:100%;
  margin:0;
  min-height:0;
  break-inside:auto;
}
@media(max-width:820px){
  .story-gallery,
  .story-gallery.masonry-managed{display:block;column-count:initial;}
  .story-gallery .masonry-column{display:contents;}
  .story-shot,
  .story-shot[class*="shot-"]{margin:0 0 18px;}
}


/* V0.65 - Toutes les galeries Histoires utilisent le meme rendu justifie. */
.story-gallery{
  display:block;
  column-count:initial;
  padding:18px max(18px,5vw) 90px;
}
.story-gallery .justified-row{
  display:flex;
  gap:18px;
  width:100%;
  margin:0 0 18px;
  align-items:stretch;
  justify-content:flex-start;
}
.story-gallery.justified-managed .story-shot,
.story-gallery.justified-managed .story-shot[class*="shot-"]{
  display:block;
  margin:0;
  min-height:0;
  min-width:0;
  overflow:hidden;
  background:#050505;
}
.story-gallery.justified-managed .story-shot img{
  display:block;
  width:100%;
  height:100%;
  max-height:none;
  object-fit:cover;
}
@media(max-width:820px){
  .story-gallery,.story-gallery.justified-managed{display:block;padding:18px;}
  .story-gallery .justified-row{display:contents;}
  .story-gallery .story-shot,
  .story-gallery .story-shot[class*="shot-"]{width:100%!important;height:auto!important;margin:0 0 18px;min-height:0;}
  .story-gallery .story-shot img{width:100%;height:auto!important;max-height:none;object-fit:contain;}
}


/* V0.67 - chargement séquentiel robuste pour les galeries Histoires. */
.story-shot.is-loading{background:#0c0c0c;position:relative;min-height:180px;}
.story-shot.is-loading::after{content:'';position:absolute;inset:0;background:linear-gradient(110deg,transparent 35%,rgba(255,255,255,.035) 50%,transparent 65%);background-size:220% 100%;animation:barthStoryLoading 1.6s linear infinite;pointer-events:none;}
@keyframes barthStoryLoading{to{background-position:-220% 0}}

/* V0.80 - lightbox Histoires */
.story-hero-media img,.story-shot{cursor:zoom-in}
.photo-lightbox[hidden]{display:none}
.photo-lightbox{position:fixed;z-index:9999;inset:0;background:rgba(0,0,0,.96);display:grid;grid-template-columns:88px 1fr 88px;align-items:center}
.lightbox-stage{position:relative;display:flex;align-items:center;justify-content:center;width:100%;height:100vh;padding:38px 0}
.lightbox-stage img{display:block;max-width:100%;max-height:calc(100vh - 76px);width:auto;height:auto;object-fit:contain}
.lightbox-close,.lightbox-prev,.lightbox-next{appearance:none;border:0;background:transparent;color:#fff;cursor:pointer;font:inherit}
.lightbox-close{position:absolute;z-index:3;top:22px;right:28px;font-size:2.2rem;font-weight:200;line-height:1}
.lightbox-prev,.lightbox-next{height:100%;font-size:1.8rem;color:rgba(255,255,255,.72);transition:color .2s ease}
.lightbox-prev:hover,.lightbox-next:hover,.lightbox-close:hover{color:var(--accent)}
.lightbox-count{position:absolute;bottom:18px;left:50%;transform:translateX(-50%);font-size:.62rem;letter-spacing:.14em;color:rgba(255,255,255,.62)}
body.lightbox-open{overflow:hidden}
@media(max-width:800px){.photo-lightbox{grid-template-columns:46px 1fr 46px}.lightbox-stage{padding:56px 0}.lightbox-stage img{max-height:calc(100vh - 112px)}}

/* Thomas Teissier - lien Instagram */
.thomas-instagram{color:inherit;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:.16em}
.thomas-instagram:hover,.thomas-instagram:focus{color:var(--accent)}
.story-card{cursor:pointer}
.story-card-open{color:inherit;text-decoration:none}
