
.footer-logo{height:86px; display:block; align-self:center;}
.info-value a:hover{color:#d9bc7c; border-color:#d9bc7c;}
/* ---------- SECTION : INTRO ASSOCIATION ---------- */
.intro-section{padding:110px 0 100px;}
.intro-wrap{
    max-width:1760px;
    margin:0 auto;
    padding:0 clamp(24px, 4vw, 72px);
    text-align:center;
  }
.intro-wrap p{
    color:#ece8dd;
    font-size:clamp(1.1rem, 1.8vw, 1.4rem);
    line-height:1.6;
    max-width:1180px;
    margin:0 auto;
    font-weight:500;
  }
/* ---------- SECTION : HISTOIRE (FRISE) ---------- */
.history-section{padding:0 0 120px;}
.history-wrap{
    max-width:1760px;
    margin:0 auto;
    padding:0 clamp(24px, 4vw, 72px);
  }
.history-head{max-width:640px; margin-bottom:64px;}
.thin-divider{
    width:100%;
    height:1px;
    background:rgba(198,161,91,0.15);
    margin-bottom:28px;
  }
.history-head h2{
    font-family:'Manrope', sans-serif;
    font-weight:800;
    font-size:clamp(1.9rem, 3.2vw, 2.7rem);
    line-height:1.1;
    margin-bottom:16px;
  }
.history-head h2 em{
    font-style:normal;
    background:linear-gradient(180deg, #d9bc7c, #c6a15b);
    -webkit-background-clip:text;
    background-clip:text;
    -webkit-text-fill-color:transparent;
  }
.history-head p{color:#c9cad3; font-size:1.02rem; line-height:1.6;}
.timeline{
    max-width:1140px;
    margin:0;
    position:relative;
  }
.timeline::before{
    content:'';
    position:absolute;
    left:80.5px;
    top:15px;
    bottom:15px;
    width:1px;
    background-image:linear-gradient(to bottom, rgba(198,161,91,0.4) 0 6px, transparent 6px 12px);
    background-size:1px 12px;
    background-repeat:repeat-y;
  }
.timeline-item{
    display:flex;
    align-items:flex-start;
    gap:20px;
    padding-bottom:36px;
  }
.timeline-item:last-child{padding-bottom:0;}
.timeline-year{
    width:56px;
    flex-shrink:0;
    text-align:right;
    font-family:'IBM Plex Mono', monospace;
    font-size:0.98rem;
    font-weight:600;
    color:#d9bc7c;
    padding-top:2px;
  }
.timeline-dot{
    flex-shrink:0;
    width:9px;
    height:9px;
    box-sizing:border-box;
    border-radius:50%;
    background:#0b0f1e;
    border:1.5px solid #d9bc7c;
    margin-top:6px;
    position:relative;
    z-index:1;
  }
.timeline-item p{
    color:#c9cad3;
    font-size:0.98rem;
    line-height:1.65;
    max-width:1000px;
    padding-top:1px;
  }
@media (max-width:640px){
    .timeline-year{width:44px; font-size:0.82rem;}
    .timeline::before{left:68.5px;}
  }
.history-grid{
    display:grid;
    grid-template-columns:2fr 1fr;
    gap:56px;
    align-items:center;
  }
/* ---------- SABLIER ANIME ---------- */
.hourglass-widget{display:flex; justify-content:center;}
.hourglass-graphic{width:130px;}
.hourglass-graphic svg{width:100%; height:auto; overflow:visible;}
.hg-line{
    fill:none;
    stroke:#d9bc7c;
    stroke-width:2;
    stroke-linecap:round;
    stroke-linejoin:round;
    stroke-dasharray:0.1 6;
  }
.hg-sand-top{
    fill:#d9bc7c;
    opacity:0.5;
    transform-origin:50px 78px;
    animation:drain-top 8.0s linear infinite;
  }
@keyframes drain-top{
    0%{clip-path:inset(0% 0 0% 0);}
100%{clip-path:inset(100% 0 0% 0);}
}

  .hg-sand-bottom{
    fill:#d9bc7c;
    opacity:0.5;
    animation:fill-bottom 8.0s linear infinite;
  }
@keyframes fill-bottom{
    0%{clip-path:inset(100% 0 0 0);}
100%{clip-path:inset(0% 0 0 0);}
}

  .sand-grain{
    fill:#f2c14e;
    filter:drop-shadow(0 0 3px #f2c14e);
    animation-name: grain-fall;
    animation-duration: 8.0s;
    animation-iteration-count: infinite;
    animation-timing-function: linear;
  }
@keyframes grain-fall{
    0%{offset-distance:0%; opacity:0;}
1%{opacity:1;}
10%{offset-distance:100%; opacity:1;}
13%{opacity:0;}
100%{offset-distance:100%; opacity:0;}
}

  .grain-0 {
    offset-path: path('M48.75,80 L50.625,150.0');
    animation-delay: 0.0s;
  }
.grain-1 {
    offset-path: path('M49.75,80 L50.125,147.85');
    animation-delay: 0.572s;
  }
.grain-2 {
    offset-path: path('M50.75,80 L49.625,145.72');
    animation-delay: 1.142s;
  }
.grain-3 {
    offset-path: path('M49.0,80 L50.5,143.57');
    animation-delay: 1.714s;
  }
.grain-4 {
    offset-path: path('M50.0,80 L50.0,141.43');
    animation-delay: 2.286s;
  }
.grain-5 {
    offset-path: path('M51.0,80 L49.5,139.28');
    animation-delay: 2.858s;
  }
.grain-6 {
    offset-path: path('M49.25,80 L50.375,137.15');
    animation-delay: 3.428s;
  }
.grain-7 {
    offset-path: path('M50.25,80 L49.875,135.0');
    animation-delay: 4.0s;
  }
.grain-8 {
    offset-path: path('M51.25,80 L49.375,132.85');
    animation-delay: 4.572s;
  }
.grain-9 {
    offset-path: path('M49.5,80 L50.25,130.72');
    animation-delay: 5.142s;
  }
.grain-10 {
    offset-path: path('M50.5,80 L49.75,128.57');
    animation-delay: 5.714s;
  }
.grain-11 {
    offset-path: path('M48.75,80 L50.625,126.43');
    animation-delay: 6.286s;
  }
.grain-12 {
    offset-path: path('M49.75,80 L50.125,124.28');
    animation-delay: 6.858s;
  }
.grain-13 {
    offset-path: path('M50.75,80 L49.625,122.14');
    animation-delay: 7.428s;
  }
@media (max-width:900px){
    .history-grid{grid-template-columns:1fr;}
    .hourglass-widget{order:-1; margin-bottom:20px;}
  }
@media (prefers-reduced-motion: reduce){
    .sand-grain{animation:none; opacity:0;}
    .hg-sand-top{animation:none; clip-path:inset(0% 0 50% 0);}
    .hg-sand-bottom{animation:none; clip-path:inset(50% 0 0 0);}
  }
/* ---------- SECTION : GALERIE ---------- */
.gallery-section{padding:0 0 130px;}
.gallery-wrap{
    max-width:1760px;
    margin:0 auto;
    padding:0 clamp(24px, 4vw, 72px);
  }
.gallery-head{max-width:640px; margin-bottom:56px;}
.gallery-head h2{
    font-family:'Manrope', sans-serif;
    font-weight:800;
    font-size:clamp(1.9rem, 3.2vw, 2.7rem);
    line-height:1.1;
    margin-bottom:16px;
  }
.gallery-head h2 em{
    font-style:normal;
    background:linear-gradient(180deg, #d9bc7c, #c6a15b);
    -webkit-background-clip:text;
    background-clip:text;
    -webkit-text-fill-color:transparent;
  }
.gallery-head p{color:#c9cad3; font-size:1.02rem; line-height:1.6;}
.gallery-grid{
    display:grid;
    grid-template-columns:2fr 1fr;
    gap:20px;
  }
.gallery-tile{
    position:relative;
    border:1px solid rgba(198,161,91,0.25);
    border-radius:6px;
    overflow:hidden;
    background:rgba(15,20,40,0.5);
  }
.gallery-tile img, .gallery-tile video{
    width:100%;
    height:100%;
    object-fit:cover;
    display:block;
  }
.tile-vertical img{object-position:center 15%;}
.tile-video{grid-column:1; grid-row:1; aspect-ratio:16/9;}
.tile-vertical{grid-column:2; grid-row:1 / 3;}
.tile-horizontal{grid-column:1; grid-row:2; aspect-ratio:3/2;}
.tile-placeholder{
    position:absolute;
    inset:0;
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    gap:12px;
    text-align:center;
    padding:24px;
    border:1.5px dashed rgba(198,161,91,0.3);
    margin:6px;
    border-radius:4px;
  }
.tile-placeholder svg{width:32px; height:32px; stroke:#d9bc7c;}
.tile-placeholder .ph-title{
    font-family:'IBM Plex Mono', monospace;
    font-size:0.78rem;
    letter-spacing:0.06em;
    text-transform:uppercase;
    color:#d9bc7c;
  }
.tile-placeholder .ph-sub{color:#6f7688; font-size:0.82rem;}
@media (max-width:800px){
    .gallery-grid{
      grid-template-columns:1fr;
      grid-template-rows:none;
      height:auto;
    }
    .tile-video{grid-column:1; grid-row:auto; aspect-ratio:16/9;}
    .tile-vertical{grid-column:1; grid-row:auto; aspect-ratio:3/4;}
    .tile-horizontal{grid-column:1; grid-row:auto; aspect-ratio:16/9;}
  }