@font-face {
  font-family: "Montserrat";
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("../assets/fonts/montserrat-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: "Montserrat";
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("../assets/fonts/montserrat-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: "Montserrat";
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("../assets/fonts/montserrat-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: "Montserrat";
  font-style: normal;
  font-weight: 800;
  font-display: swap;
  src: url("../assets/fonts/montserrat-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: "Oswald";
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("../assets/fonts/oswald-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: "Oswald";
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("../assets/fonts/oswald-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;
}


  :root{
    --red:#c8102e;
    --red-dark:#a10d24;
    --black:#0b0b0b;
    --bg:#121315;
    --text:#f4f4f5;
    --muted:#cfcfd2;
    --card:#1b1d20;
    --shadow:0 4px 14px rgba(0,0,0,.12);
    --radius:12px;
    --max:1100px;
    --reading:68ch;
    --space-1:4px;
    --space-2:8px;
    --space-3:12px;
    --space-4:16px;
    --space-5:24px;
    --space-6:32px;
    --space-7:48px;
    --space-8:64px;
    --border:#383b41;
  }

  *{box-sizing:border-box}

  html,body{
    margin:0;
    padding:0;
    background:var(--bg);
    color:var(--text);
    font-family:Montserrat,system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;
    scroll-behavior:smooth;
  }

  img{
    max-width:100%;
    height:auto;
  }

  a{color:inherit}

  .sr-only{
    position:absolute;
    width:1px;
    height:1px;
    padding:0;
    margin:-1px;
    overflow:hidden;
    clip:rect(0,0,0,0);
    white-space:nowrap;
    border:0;
  }

  .skip-link:focus{
    position:fixed;
    top:10px;
    left:10px;
    z-index:100;
    width:auto;
    height:auto;
    margin:0;
    padding:12px 16px;
    overflow:visible;
    clip:auto;
    white-space:normal;
    background:var(--black);
    color:var(--text);
    outline:2px solid var(--red);
  }

  .container{
    max-width:var(--max);
    margin:0 auto;
    padding:0 20px;
  }


  /* =====================================================
     HEADER
     ===================================================== */

  header{
    position:sticky;
    top:0;
    z-index:50;
    background:var(--black);
    border-bottom:1px solid var(--border);
  }

  .nav{
    display:flex;
    align-items:center;
    gap:12px;
    justify-content:space-between;
    padding:10px 0;
  }

  .brand{
    display:flex;
    align-items:center;
    gap:12px;
    text-decoration:none;
  }

  .brand img{
    width:50px;
    height:50px;
    border-radius:50%;
    object-fit:cover;
    border:2px solid var(--red);
  }

  .brand span{
    font-weight:800;
    letter-spacing:.4px;
  }


  /* =====================================================
     MENU MOBILE
     ===================================================== */

  .menu-toggle{
    display:none;
    align-items:center;
    gap:8px;
    border:1px solid rgba(255,255,255,.12);
    background:#151517;
    color:#fff;
    border-radius:12px;
    padding:10px 12px;
    font-weight:700;
  }

  .menu-toggle:focus{
    outline:2px solid var(--red);
    outline-offset:2px;
  }

  nav ul{
    display:flex;
    gap:10px;
    list-style:none;
    margin:0;
    padding:0;
    flex-wrap:wrap;
  }

  nav a{
    padding:10px 16px;
    border-radius:12px;
    text-decoration:none;
    font-weight:600;
    color:var(--muted);
  }

  nav a:hover,
  nav a:focus{
    color:var(--text);
    background:#1e1e22;
    outline:none;
  }


  /* =====================================================
     BOUTONS
     ===================================================== */

  .cta{
    display:inline-flex;
    align-items:center;
    gap:8px;
    padding:12px 18px;
    border-radius:14px;
    background:var(--red);
    color:white;
    text-decoration:none;
    font-weight:700;
    box-shadow:none;
  }

  .cta:hover{
    background:var(--red-dark);
  }

  .btn-outline{
    border:2px solid #2a2a2f;
    border-radius:14px;
    padding:12px 18px;
    font-weight:700;
    text-decoration:none;
  }

  .badge{
    display:inline-block;
    background:rgba(200,16,46,.2);
    color:#fff;
    border:1px solid rgba(200,16,46,.6);
    padding:6px 10px;
    border-radius:999px;
    font-size:12px;
    font-weight:700;
    letter-spacing:.3px;
  }


  /* =====================================================
     HERO
     ===================================================== */

  .hero{
    position:relative;
    isolation:isolate;
    overflow:hidden;
  }

  /*
  .hero::after{
    content:"";
    position:absolute;
    inset:auto -25% -20% -25%;
    height:60vh;
    background:
      linear-gradient(25deg,rgba(200,16,46,.22),transparent 55%),
      url('../assets/hero.png') center/cover no-repeat;
    opacity:.16;
    z-index:-1;
    filter:contrast(110%) saturate(120%);
  }
  */

  .hero-inner{
    display:grid;
    grid-template-columns:1.1fr .9fr;
    gap:28px;
    align-items:center;
    padding:72px 14px;
  }

  .title{
    font-family:Oswald,Impact,system-ui,sans-serif;
    font-size:clamp(36px,6vw,70px);
    line-height:1.02;
    margin:0 0 14px;
  }

  .subtitle{
    color:var(--muted);
    font-size:clamp(16px,2.2vw,20px);
    max-width:55ch;
  }

  .hero-actions{
    display:flex;
    gap:12px;
    margin-top:18px;
    flex-wrap:wrap;
  }

  .hero-card{
    background:var(--card);
    border:1px solid rgba(255,255,255,.06);
    border-radius:var(--radius);
    box-shadow:var(--shadow);
    padding:18px;
  }

  .hero-list{
    display:grid;
    grid-template-columns:repeat(2,1fr);
    gap:14px;
    margin-top:14px;
  }

  .hero-item{
    background:#121214;
    border:1px solid rgba(255,255,255,.06);
    border-radius:14px;
    padding:14px;
  }

  .hero-item b{
    display:block;
    font-size:18px;
    margin-bottom:4px;
  }

  .hero-fekm{
    margin-top:18px;
    padding:18px;
  }

  .hero-fekm img{
    margin-left:20px;
    margin-top:10px;
    height:100px;
    border-radius:50%;
    object-fit:cover;
  }


  .home .home-intro{
    font-family:Oswald,system-ui,sans-serif;
    font-size:clamp(24px,3.5vw,36px);
    margin:0 0 18px;
  }

  .home > section{
    padding:32px 0;
  }

  .home [id]{
    scroll-margin-top:120px;
  }

  @media (max-width:980px){
    .home .hero-card{
      order:0;
    }
  }

  /* =====================================================
     SECTIONS
     ===================================================== */

  section{
    padding:50px 0;
  }

  h2{
    font-family:Oswald,system-ui,sans-serif;
    font-size:clamp(26px,3.5vw,40px);
    margin:0 0 22px;
  }

  p{
    line-height:1.6;
  }

  .grid{
    display:grid;
    gap:18px;
  }

  @media (min-width:860px){
    .grid.cols-3{
      grid-template-columns:repeat(3,1fr);
    }

    .grid.cols-2{
      grid-template-columns:repeat(2,1fr);
    }
  }

  .card{
    background:var(--card);
    border:1px solid rgba(255,255,255,.06);
    border-radius:var(--radius);
    padding:22px;
    box-shadow:var(--shadow);
  }

  .check{
    display:inline-block;
    width:22px;
    height:22px;
    border-radius:50%;
    background:var(--red);
    margin-right:8px;
    vertical-align:-5px;
  }


  /* =====================================================
     HORAIRES
     ===================================================== */

  .schedule{
    display:grid;
    gap:14px;
  }

  .day{
    display:flex;
    justify-content:space-between;
    align-items:center;
    padding:16px 18px;
    border-radius:14px;
    background:#121214;
    border:1px solid rgba(255,255,255,.08);
  }

  .tag{
    background:#1f1f23;
    padding:6px 10px;
    border-radius:999px;
    font-weight:700;
    color:#eaeaec;
    border:1px solid rgba(255,255,255,.08);
  }


  /* =====================================================
     LIEU
     ===================================================== */

  .map{
    width:100%;
    height:360px;
    border:0;
    border-radius:var(--radius);
    filter:grayscale(.1) contrast(95%);
  }


  /* =====================================================
     TARIFS
     ===================================================== */

  .prices{
    display:grid;
    gap:14px;
  }

  .price{
    display:flex;
    justify-content:space-between;
    align-items:center;
    padding:16px 18px;
    border-radius:14px;
    background:#121214;
    border:1px solid rgba(255,255,255,.08);
  }

  .note{
    color:var(--muted);
    font-size:14px;
  }


  /* =====================================================
     FOOTER
     ===================================================== */

  footer{
    border-top:1px solid rgba(255,255,255,.06);
    padding:22px 0;
    color:#bdbdc2;
  }

  .legal-identity{
    font-size:13px;
    line-height:1.7;
    color:#cfcfd2;
    padding-bottom:16px;
    margin-bottom:16px;
    border-bottom:1px solid rgba(255,255,255,.09);
  }
  .legal-identity strong{color:#f4f4f5}
  .legal-identity a{text-underline-offset:3px}
  .legal-identity a:hover{color:#fff}

  .foot{
    display:flex;
    gap:14px;
    align-items:center;
    justify-content:space-between;
    flex-wrap:wrap;
  }

  .small{
    font-size:14px;
    color:#bdbdc2;
  }

  .flyer{
    max-width:100%;
    border-radius:14px;
    border:1px solid rgba(255,255,255,.08);
  }


  /* =====================================================
     RESPONSIVE GÉNÉRAL
     ===================================================== */

  @media (max-width:980px){

    .hero-inner{
      grid-template-columns:1fr;
      gap:20px;
      padding:40px 0;
    }

    .hero-card{
      order:-1;
    }

    .hero::after{
      height:40vh;
      opacity:.22;
    }
  }


  @media (max-width:820px){

    .menu-toggle{
      display:inline-flex;
    }

    nav{
      position:fixed;
      inset:60px 12px auto 12px;
      z-index:60;
    }

    nav ul{
      display:none;
      flex-direction:column;
      background:#111114;
      border:1px solid rgba(255,255,255,.08);
      border-radius:16px;
      padding:8px;
    }

    nav ul a{
      padding:12px 14px;
    }

    header[data-open="true"] nav ul{
      display:flex;
    }

    .nav{
      gap:8px;
    }
  }


  @media (max-width:600px){

    .container{
      padding:0 14px;
    }

    .hero-list{
      grid-template-columns:1fr;
    }

    .map{
      height:220px;
    }

    .brand img{
      width:38px;
      height:38px;
    }

    .cta,
    .btn-outline{
      padding:12px 16px;
    }
  }


  /* =====================================================
     INSTRUCTEURS
     ===================================================== */

  .instructor{
    display:grid;
    grid-template-columns:minmax(220px,280px) 1fr;
    gap:28px;
    align-items:start;
    margin-bottom:30px;
  }

  /*
     Toutes les photos ont maintenant le même ratio.
     object-fit:cover évite toute déformation.
  */
  .instructor img{
    width:100%;
    aspect-ratio:3 / 4;
    object-fit:cover;
    object-position:center top;
    display:block;
    border-radius:var(--radius);
    box-shadow:var(--shadow);
  }

  /*
     Alternance :
     Cédric = photo gauche
     Loan   = photo droite
     Eva    = photo gauche
  */
  .instructor.reverse{
    grid-template-columns:1fr minmax(220px,280px);
  }

  .instructor.reverse img{
    order:2;
  }


  /* =====================================================
     INSTRUCTEURS - TABLETTE
     ===================================================== */

  @media (max-width:900px) and (min-width:701px){

    .instructor{
      grid-template-columns:220px 1fr;
      gap:22px;
    }

    .instructor.reverse{
      grid-template-columns:1fr 220px;
    }
  }


  /* =====================================================
     INSTRUCTEURS - MOBILE
     ===================================================== */

  @media (max-width:700px){

    .instructor,
    .instructor.reverse{
      grid-template-columns:1fr;
      gap:18px;
    }

    .instructor img,
    .instructor.reverse img{
      order:0;
      width:min(100%,300px);
      aspect-ratio:3 / 4;
      object-fit:cover;
      object-position:center top;
      justify-self:center;
    }
  }


  /* =====================================================
     RÉSEAUX SOCIAUX
     ===================================================== */

  .social{
    display:flex;
    gap:10px;
    align-items:center;
  }

  .social-btn{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    width:44px;
    height:44px;
    border-radius:12px;
    background:#151517;
    border:1px solid rgba(255,255,255,.12);
    color:#e7e7ea;
    text-decoration:none;
    transition:
      transform .15s ease,
      background .2s ease,
      border-color .2s ease,
      color .2s ease;
  }

  .social-btn svg{
    width:22px;
    height:22px;
    fill:currentColor;
  }

  .social-btn:hover{
    transform:translateY(-1px);
    background:#1e1e22;
    border-color:rgba(255,255,255,.2);
  }

  .social-btn:focus{
    outline:2px solid var(--red);
    outline-offset:2px;
  }

  .social-btn.instagram:hover,
  .social-btn.instagram:focus{
    color:#E1306C;
  }

  .social-btn.facebook:hover,
  .social-btn.facebook:focus{
    color:#1877F2;
  }


  @media (max-width:820px){

    header .nav{
      gap:10px;
    }

    header .social{
      margin-left:auto;
    }
  }


  /* =====================================================
     GALERIE / CARROUSEL
     ===================================================== */

  .gallery{
    position:relative;
    margin:26px 0 10px;
    border-radius:var(--radius);
    border:1px solid rgba(255,255,255,.06);
    background:var(--card);
    box-shadow:var(--shadow);
    overflow:hidden;
  }

  .gallery-track{
    overflow:hidden;
  }

  .gallery-slides{
    display:flex;
    margin:0;
    padding:0;
    list-style:none;
    transition:transform .45s ease;
    will-change:transform;
  }

  .gallery-slide{
    flex:0 0 100%;
    position:relative;
    aspect-ratio:16 / 9;
    background:#0c0c0e;
    display:flex;
    justify-content:center;
    align-items:center;
  }

  .gallery-slide img{
    max-width:100%;
    max-height:100%;
    object-fit:contain;
    display:block;
  }


  /* Boutons précédent / suivant */

  .gal-btn{
    position:absolute;
    top:50%;
    transform:translateY(-50%);
    height:42px;
    min-width:42px;
    padding:0 10px;
    border:1px solid rgba(255,255,255,.12);
    background:rgba(15,15,16,.6);
    color:#fff;
    border-radius:10px;
    cursor:pointer;
    backdrop-filter:blur(4px);
    z-index:5;
    box-shadow:0 2px 6px rgba(0,0,0,.4);
  }

  .gal-btn:hover{
    background:rgba(15,15,16,.85);
  }

  .gal-btn:focus{
    outline:2px solid var(--red);
    outline-offset:2px;
  }

  .gal-prev{
    left:12px;
  }

  .gal-next{
    right:12px;
  }


  /* Points de navigation */

  .gal-dots{
    display:flex;
    flex-wrap:wrap;
    gap:0;
    justify-content:center;
    align-items:center;
  }

  .gal-dot{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    flex:0 0 44px;
    width:44px;
    height:44px;
    padding:0;
    border:0;
    background:transparent;
    cursor:pointer;
  }

  .gal-dot::before{
    content:"";
    width:9px;
    height:9px;
    border-radius:50%;
    border:1px solid rgba(255,255,255,.45);
    background:rgba(255,255,255,.15);
  }

  .gal-dot[aria-current="true"]::before{
    background:var(--red);
    border-color:var(--red);
  }
  .gal-dot:focus-visible{outline-offset:-4px}
  @media(max-width:700px){
    .gal-dot{flex-basis:28px;width:28px}
  }
  #galerie-photos:not([data-gallery-ready="true"]) .gal-btn,
  #galerie-photos:not([data-gallery-ready="true"]) .gal-dots{display:none}


  /* Légende du carrousel */

  .gal-caption{
    position:absolute;
    left:0;
    right:0;
    bottom:0;
    padding:10px 12px;
    font-size:14px;
    color:#e9e9ee;
    background:linear-gradient(
      180deg,
      rgba(0,0,0,0),
      rgba(0,0,0,.55)
    );
  }


  /* =====================================================
     SYSTÈME VISUEL COMMUN
     ===================================================== */

  body{
    font-size:16px;
    line-height:1.65;
  }

  h1,h2,h3,h4{
    font-family:Oswald,system-ui,sans-serif;
    font-weight:500;
    line-height:1.2;
    overflow-wrap:break-word;
  }

  .title,
  .page-intro__title{
    font-size:clamp(36px,5vw,56px);
    margin:0 0 var(--space-5);
  }

  h2{
    font-size:clamp(26px,3vw,36px);
    margin:0 0 var(--space-5);
  }

  h3{
    font-size:clamp(21px,2.4vw,26px);
    margin:0 0 var(--space-4);
  }

  h4{
    font-size:22px;
    margin:0 0 var(--space-3);
  }

  main p,
  .page-intro__lead{
    max-width:var(--reading);
    margin:0 0 var(--space-4);
    overflow-wrap:anywhere;
  }

  main ul:not(.gallery-slides){
    padding-left:var(--space-5);
  }

  main li:not(.gallery-slide) + li:not(.gallery-slide){
    margin-top:var(--space-2);
  }

  main a:not(.cta):not(.btn-outline){
    text-underline-offset:4px;
  }

  a:focus-visible,
  button:focus-visible,
  summary:focus-visible{
    outline:2px solid var(--text);
    outline-offset:4px;
  }

  section,
  .home > section{
    padding-block:clamp(32px,5vw,48px);
  }

  .page-intro{
    padding-block:clamp(40px,6vw,64px);
    border-bottom:1px solid var(--border);
  }
  main > section.page-intro{
    padding-block-start:clamp(24px,3vw,40px);
  }
  .page-intro .page-intro__eyebrow{
    font-family:Montserrat,system-ui,sans-serif;
    font-size:11px;
    font-weight:700;
    line-height:1.65;
    letter-spacing:.12em;
    text-transform:uppercase;
    color:var(--muted);
    margin:0 0 var(--space-4);
  }

  .page-intro__title{
    margin-bottom:0;
  }

  .page-intro__lead{
    margin-top:var(--space-5);
    font-size:clamp(17px,2vw,20px);
    color:var(--muted);
  }

  .page-intro__actions,
  .hero-actions{
    display:flex;
    flex-wrap:wrap;
    align-items:center;
    gap:var(--space-3);
    margin-top:var(--space-5);
  }

  .grid{
    gap:var(--space-5);
  }

  .card,
  .hero-card{
    padding:var(--space-5);
    border:1px solid var(--border);
    border-radius:var(--radius);
    box-shadow:none;
  }

  .card > :last-child{
    margin-bottom:0;
  }

  .cta,
  .btn-outline{
    display:inline-flex;
    justify-content:center;
    align-items:center;
    gap:var(--space-2);
    min-height:44px;
    max-width:100%;
    padding:var(--space-3) var(--space-5);
    border:1px solid transparent;
    border-radius:8px;
    font:600 15px/1.4 Montserrat,system-ui,sans-serif;
    text-align:center;
    text-decoration:none;
    white-space:normal;
  }

  .btn-outline{
    color:var(--text);
    background:transparent;
    border-color:#666b75;
  }

  .btn-outline:hover{
    background:#25282d;
    border-color:var(--text);
  }

  nav a{
    display:block;
    padding:var(--space-2) var(--space-3);
    font-size:14px;
    line-height:1.5;
    border-radius:6px;
  }

  nav a[aria-current="page"]{
    color:white;
    background:#24262b;
    box-shadow:inset 0 -3px var(--red);
  }

  .brand{
    flex-shrink:0;
  }

  .social{
    flex-shrink:0;
  }

  .social-btn{
    background:transparent;
    border-color:var(--border);
    border-radius:8px;
  }

  .schedule,
  .prices{
    gap:var(--space-3);
  }

  .day,
  .price{
    flex-wrap:wrap;
    gap:var(--space-3);
    padding:var(--space-4);
    background:var(--card);
    border-color:var(--border);
    border-radius:var(--radius);
  }

  details{
    border-top:1px solid var(--border);
    padding-block:var(--space-4);
  }

  details:last-child{
    border-bottom:1px solid var(--border);
  }

  summary{
    cursor:pointer;
    font-weight:600;
    line-height:1.5;
    padding-block:var(--space-2);
  }

  summary::marker{
    color:var(--red);
  }

  details[open] summary{
    margin-bottom:var(--space-3);
  }

  details p:last-child{
    margin-bottom:0;
  }

  footer{
    padding-block:var(--space-5);
    background:var(--black);
    border-color:var(--border);
  }

  .legal-identity{
    padding-bottom:var(--space-4);
    margin-bottom:var(--space-4);
    border-color:var(--border);
  }

  @media (max-width:1100px){
    .nav{
      flex-wrap:wrap;
      gap:var(--space-2);
    }

    .menu-toggle{
      display:none;
      font-family:inherit;
      min-height:44px;
    }
    header[data-menu-ready="true"] .menu-toggle{display:inline-flex}

    #primary-nav{
      position:static;
      inset:auto;
      width:100%;
    }
    header[data-menu-ready="true"] #primary-nav{position:absolute;inset:100% 12px auto;width:auto}

    #primary-nav ul{
      display:flex;
      flex-direction:column;
      padding:var(--space-2);
      background:var(--black);
      border:1px solid var(--border);
      border-radius:var(--radius);
      max-height:none;
      overflow-y:auto;
    }
    header[data-menu-ready="true"] #primary-nav ul{display:none;max-height:70vh}

    header[data-open="true"] #primary-nav ul{
      display:flex;
    }

    #primary-nav a{
      padding:var(--space-3) var(--space-4);
    }
  }

  @media (max-width:600px){
    .brand span{
      font-size:14px;
    }

    .card,
    .hero-card{
      padding:var(--space-4);
    }

    .hero-actions > a,
    .page-intro__actions > a{
      flex:1 1 220px;
    }
  }

  /* Accueil : photographie, bande pratique et temps fort de l'essai. */
  .home > section{padding-block:clamp(56px,8vw,104px)}
  .home .hero-inner{
    grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);
    gap:clamp(32px,5vw,64px);
    align-items:start;
    padding-block:clamp(48px,7vw,88px);
    padding-block-start:clamp(24px,3vw,40px);
    padding-inline:20px;
  }
  .home-eyebrow{
    font-size:11px;
    font-weight:700;
    letter-spacing:.14em;
    text-transform:uppercase;
    color:var(--muted);
  }
  .home-title{
    margin:0;
    font-size:clamp(72px,9vw,120px);
    line-height:.95;
    letter-spacing:-.025em;
    font-weight:700;
  }
  .home-title span{
    display:block;
    margin-top:var(--space-4);
    font-size:clamp(32px,3.6vw,46px);
    font-weight:500;
    letter-spacing:0;
  }
  .home p.home-location{
    margin-top:var(--space-2);
    margin-bottom:var(--space-6);
    font-size:clamp(16px,1.8vw,20px);
    font-weight:500;
  }
  .home .subtitle{font-size:16px;line-height:1.8;max-width:36ch;color:var(--muted)}
  .home-hero-photo{
    display:block;
    width:100%;
    height:auto;
    border-radius:4px;
  }
  .home > .home-practical-band{
    padding-block:var(--space-6);
    background:var(--black);
  }
  .home-practical{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr)) minmax(0,1.3fr);
    gap:var(--space-6);
    margin:0;
  }
  .home-practical dt{font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);margin-bottom:var(--space-3)}
  .home-practical dd{margin:0;line-height:1.4}
  .home-practical dd strong{
    display:block;
    font:600 17px/1.4 Montserrat,system-ui,sans-serif;
  }
  .home-practical dd span{display:block;font-size:13px;margin-top:var(--space-2)}
  .home-practical > div:first-child dd strong,
  .home-practical > div:nth-child(2) dd strong,
  .home-practical > div:nth-child(3) dd strong{
    font:500 clamp(26px,2.6vw,34px)/1.15 Oswald,system-ui,sans-serif;
    font-variant-numeric:tabular-nums;
  }
  .home-practical-link{display:inline-block;margin-top:var(--space-4);font-size:13px}
  .home-club{
    display:grid;
    grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);
    align-items:start;
    gap:clamp(32px,6vw,80px);
  }
  .home-club > div{padding-top:var(--space-7)}
  .home-club h2{font-size:clamp(36px,4.4vw,56px);line-height:1.12;letter-spacing:-.015em}
  .home-club-photo{display:block;width:100%;height:auto;border-radius:4px}
  .home-club p:not(.home-eyebrow):not(.home-affiliation){max-width:38ch;line-height:1.8}
  .home p.home-affiliation{margin-top:var(--space-5);margin-bottom:0;font-size:13px;color:var(--muted)}
  .home > .home-trial-section{background:#f4f4f5;color:#17171a;padding-block:clamp(64px,9vw,120px)}
  .home-trial{
    display:grid;
    grid-template-columns:minmax(0,1.35fr) minmax(0,.85fr);
    align-items:center;
    gap:clamp(32px,6vw,80px);
  }
  .home-trial .home-eyebrow{color:#51545a}
  .home-trial h2{font-size:clamp(40px,5.2vw,64px);line-height:1.08;letter-spacing:-.02em}
  .home-trial h2 span{display:inline-block;margin-top:var(--space-2);color:var(--red);font-size:1.45em}
  .home p.home-trial-terms{margin-top:var(--space-6);margin-bottom:0;font-size:14px;font-weight:600}
  .home-trial > div:last-child{max-width:36ch}
  .home-trial > div:last-child p{line-height:1.8;margin-bottom:var(--space-5)}
  .home-trial .cta{color:white}
  .home-trial a:focus-visible{outline-color:var(--black)}
  .home-registration{
    display:grid;
    grid-template-columns:minmax(0,1fr) minmax(0,1fr);
    gap:clamp(32px,6vw,80px);
    align-items:center;
  }
  .home-price > p:first-child{margin-bottom:var(--space-2)}
  .home-price > p:first-child > strong{font:500 clamp(72px,9vw,112px)/1 Oswald,system-ui,sans-serif;letter-spacing:-.03em}
  .home-price > p:first-child > span{font-size:18px}
  .home-price > p:last-child{margin:var(--space-4) 0 0;color:var(--muted);font-size:13px}
  .home-registration h2{font-size:clamp(30px,3vw,40px)}
  .home-registration .btn-outline{margin-top:var(--space-2)}
  .home > .home-contact{padding-block:var(--space-7);background:var(--black);border-top:1px solid var(--border)}
  .home-contact .container{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--space-4)}
  .home-contact h2{margin:0;font-size:clamp(28px,3vw,36px)}
  .home-contact a{font-weight:600;font-size:16px}
  .home .cta,.home .btn-outline{border-radius:6px;padding:14px 22px}
  .home a:not(.cta):not(.btn-outline):hover{color:#fff;text-decoration-thickness:2px}
  .home-trial a:not(.cta):hover{color:var(--red)}
  .home-page footer .container{max-width:1180px}
  .home-page footer{border-top:0;padding-block:var(--space-6)}
  .home-page .legal-identity{font-size:12px;line-height:1.8;border-color:#282a2f}
  .home-page .foot .small{font-size:12px}
  @media(max-width:860px){
    .home .hero-inner,.home-club,.home-trial,.home-registration{grid-template-columns:1fr;gap:var(--space-6)}
    .home-practical{grid-template-columns:repeat(2,minmax(0,1fr))}
    .home-club-photo{max-width:600px}
    .home-club > div{padding-top:0}
    .home-trial > div:last-child{max-width:48ch}
  }
  @media(max-width:600px){
    .home .hero-actions .cta{flex:1 1 100%}
    .home .hero-actions > a:not(.cta){flex:0 1 auto}
    .home-trial .cta{width:100%}
    .home-practical{gap:var(--space-5) var(--space-4)}
    .home-title{font-size:clamp(64px,19vw,88px)}
    .home .hero-inner{padding-inline:14px;gap:var(--space-6)}
    .home-trial h2{font-size:clamp(34px,9vw,48px)}
    .home-practical dd strong{font-size:15px}
    .home-practical > div:first-child dd strong,
    .home-practical > div:nth-child(2) dd strong,
    .home-practical > div:nth-child(3) dd strong{font-size:clamp(22px,6vw,28px)}
  }

  /* Page Cours : première venue et déroulement, sans modifier les autres pages. */
  .courses [id]{scroll-margin-top:120px}
  .courses > section{padding-block:clamp(40px,6vw,72px)}
  .courses .page-intro__title{font-size:clamp(48px,7vw,80px)}
  .courses .course-kicker{
    color:var(--muted);
    font-size:11px;
    font-weight:700;
    letter-spacing:.12em;
    text-transform:uppercase;
  }
  .courses .course-facts{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:var(--space-5);
    margin:var(--space-6) 0 var(--space-5);
  }
  .courses .course-facts dt{font-size:12px;color:var(--muted);margin-bottom:var(--space-2)}
  .courses .course-facts dd{margin:0;font:500 clamp(20px,2.5vw,28px)/1.3 Oswald,system-ui,sans-serif}
  .courses .course-split{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    align-items:start;
    gap:clamp(32px,6vw,72px);
  }
  .courses h2{font-size:clamp(30px,4vw,44px);line-height:1.15}
  .courses p{line-height:1.8}
  .courses .course-trial{background:#f4f4f5;color:#17171a}
  .courses .course-trial .course-kicker{color:#51545a}
  .courses .course-trial h2{font-size:clamp(40px,5vw,60px)}
  .courses .course-trial h2 span{color:var(--red)}
  .courses .course-lead{font-weight:600}
  .courses .course-trial h3:not(:first-child){margin-top:var(--space-6)}
  .courses .course-trial a:focus-visible{outline-color:var(--black)}
  .courses .course-bring{
    margin-top:var(--space-6);
    padding-top:var(--space-5);
    border-top:1px solid #c6c8ce;
  }
  .courses .course-bring.course-split{align-items:center}
  .courses .course-illustration{display:block;width:100%;max-width:380px;height:auto;border-radius:4px;margin-inline:auto}
  .courses .course-equipment-layout{margin-top:var(--space-6)}
  .courses .course-equipment-layout .course-illustration{margin-bottom:var(--space-5)}
  .courses .course-equipment-layout .course-equipment + h4{margin-top:var(--space-6)}
  .courses .course-bring ul{
    display:flex;
    flex-wrap:wrap;
    gap:var(--space-3) var(--space-6);
    padding-left:var(--space-5);
    margin-bottom:0;
  }
  .courses .course-bring li{flex:1 1 240px;margin-top:0}
  .courses .course-photo,
  .registration .course-photo{display:block;width:100%;height:auto;border-radius:4px;margin-top:var(--space-6)}
  .courses ol.course-sequence{
    list-style:none;
    counter-reset:course-step;
    margin:0;
    padding:0;
  }
  .courses .course-sequence li{
    counter-increment:course-step;
    position:relative;
    padding:0 0 var(--space-5) 52px;
    margin:0;
  }
  .courses .course-sequence li::before{
    content:counter(course-step,decimal-leading-zero);
    position:absolute;
    left:0;
    top:0;
    color:var(--muted);
    font:500 24px/1.2 Oswald,system-ui,sans-serif;
  }
  .courses .course-sequence p{margin:var(--space-2) 0 0;color:var(--muted);font-size:14px}
  .courses .course-pace{background:var(--black)}
  .courses .course-equipment{margin:0;padding-left:var(--space-5)}
  .courses .course-equipment li + li{margin-top:var(--space-4)}
  .courses .course-equipment + h3{margin-top:var(--space-6)}
  .courses .course-equipment-priority{
    list-style:none;
    margin-left:calc(-1 * var(--space-5));
    padding:var(--space-3) 0 var(--space-3) var(--space-4);
    border-left:3px solid var(--red);
    font-size:18px;
  }
  .courses .course-equipment li.course-equipment-extra{
    list-style:none;
    margin-top:var(--space-5);
    margin-left:calc(-1 * var(--space-5));
    padding-top:var(--space-4);
    border-top:1px solid var(--border);
    color:var(--muted);
    font-size:14px;
  }
  .courses .course-next{border-top:1px solid var(--border)}
  @media(max-width:860px){
    .courses .course-split{grid-template-columns:1fr;gap:var(--space-6)}
  }
  @media(max-width:600px){
    .courses .course-facts{grid-template-columns:1fr;gap:var(--space-4)}
    .courses .course-bring{margin-top:var(--space-6)}
    .courses .course-bring ul{display:block}
    .courses .course-bring li + li{margin-top:var(--space-3)}
    .courses .course-sequence li{padding-left:40px;padding-bottom:var(--space-4)}
    .courses .course-sequence li > strong{overflow-wrap:anywhere}
    .courses .course-trial h2{font-size:clamp(34px,9vw,44px)}
  }

  /* Inscription : coûts distincts, parcours et téléchargements. */
  .registration [id]{scroll-margin-top:120px}
  .registration > section{padding-block:clamp(40px,6vw,72px)}
  .registration .page-intro__title{font-size:clamp(40px,6vw,72px)}
  .registration h2{font-size:clamp(30px,4vw,44px);line-height:1.15}
  .registration p{line-height:1.8}
  .registration .registration-split{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    align-items:start;
    gap:clamp(32px,6vw,72px);
  }
  .registration .registration-costs{margin-top:var(--space-6)}
  .registration .registration-price{margin-bottom:var(--space-4)}
  .registration .registration-price strong{font:500 clamp(56px,6vw,80px)/1.1 Oswald,system-ui,sans-serif;letter-spacing:-.02em}
  .registration .registration-price span{display:block;margin-top:var(--space-2);font-size:14px;color:var(--muted)}
  .registration .registration-reduced strong{font-size:22px}
  .registration .registration-total{
    margin:var(--space-6) 0 0;
    padding-top:var(--space-5);
    border-top:1px solid var(--border);
    font-size:14px;
  }
  .registration .registration-included{background:var(--black)}
  .registration .registration-included ul{margin:0}
  .registration .registration-process{background:#f4f4f5;color:#17171a}
  .registration .registration-process .btn-outline{color:#17171a;border-color:#666b75}
  .registration .registration-process .btn-outline:hover{background:#e4e5e8}
  .registration .registration-process a:focus-visible{outline-color:var(--black)}
  .registration ol.registration-sequence{list-style:none;counter-reset:registration-step;padding:0;margin:0}
  .registration .registration-sequence > li{
    counter-increment:registration-step;
    position:relative;
    margin:0;
    padding:0 0 var(--space-6) 52px;
  }
  .registration .registration-sequence > li::before{
    content:counter(registration-step,decimal-leading-zero);
    position:absolute;
    left:0;
    top:0;
    color:var(--red);
    font:500 26px/1.2 Oswald,system-ui,sans-serif;
  }
  .registration .registration-sequence > li:last-child{padding-bottom:0}
  .registration .registration-sequence h3{font-size:24px}
  .registration .registration-sequence p{font-size:15px}
  .registration .registration-sequence ul{margin-bottom:var(--space-4)}
  .registration ul.registration-downloads{padding:0;margin:var(--space-6) 0 0;list-style:none}
  .registration .registration-downloads li{
    display:flex;
    flex-wrap:wrap;
    align-items:center;
    justify-content:space-between;
    gap:var(--space-4);
    margin:0;
    padding-block:var(--space-5);
    border-top:1px solid var(--border);
  }
  .registration .registration-downloads small{display:block;margin-top:var(--space-2);color:var(--muted)}
  .registration .registration-downloads .btn-outline{min-height:48px}
  .registration .registration-practical{background:var(--black)}
  .registration .registration-practical h3:not(:first-child){margin-top:var(--space-6)}
  .registration .registration-next{border-top:1px solid var(--border)}
  @media(max-width:860px){
    .registration .registration-split{grid-template-columns:1fr;gap:var(--space-6)}
  }
  @media(max-width:600px){
    .registration .registration-sequence > li{padding-left:40px}
    .registration .registration-downloads .btn-outline{width:100%}
    .registration h3{overflow-wrap:anywhere}
  }

  /* Le club : approche éditoriale, personnes et cadre fédéral. */
  .club-profile [id]{scroll-margin-top:120px}
  .club-profile > section{padding-block:clamp(40px,6vw,72px)}
  .club-profile .page-intro__title{font-size:clamp(48px,7vw,80px)}
  .club-profile h2{font-size:clamp(30px,4vw,44px);line-height:1.15}
  .club-profile p{line-height:1.8}
  .club-profile .club-kicker{font-size:11px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}
  .club-profile .club-split{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:clamp(32px,6vw,72px);
    align-items:center;
  }
  .club-profile .club-photo{display:block;width:100%;height:auto;border-radius:4px}
  .club-profile .club-approach,.club-profile .club-association{background:var(--black)}
  .club-profile .club-federation{background:#f4f4f5;color:#17171a}
  .club-profile .club-federation .club-kicker{color:#51545a}
  .club-profile .club-federation a:focus-visible{outline-color:var(--black)}
  .club-profile .club-federation-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,300px);align-items:center;gap:var(--space-6)}
  .club-profile .club-fekm-logo{width:100%;height:auto;display:block;border-radius:4px}
  .club-profile .instructor,.club-profile .instructor.reverse{
    grid-template-columns:minmax(0,220px) minmax(0,1fr);
    gap:clamp(24px,5vw,64px);
    margin:0;
    padding-block:var(--space-6);
  }
  .club-profile .instructor + .instructor{border-top:1px solid var(--border)}
  .club-profile .instructor img,.club-profile .instructor.reverse img{
    order:0;
    width:100%;
    height:auto;
    aspect-ratio:auto;
    object-fit:contain;
    border-radius:4px;
    box-shadow:none;
  }
  .club-profile .instructor h3{font-size:28px}
  /* Compense les 86 lignes transparentes inférieures, sans changer le portrait. */
  .club-profile .instructor img.instructor-portrait-cedric{width:260px;max-width:none;height:auto;margin-bottom:-117.068px}
  .club-profile .instructor p:first-of-type{font-size:15px;color:var(--muted)}
  .club-profile .club-board{margin-top:var(--space-6)}
  .club-profile .club-board img{display:block;width:100%;height:auto}
  .club-profile .club-board-members{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-5);margin:0}
  .club-profile .club-board-members dt{font-weight:700}
  .club-profile .club-board-members dd{margin:var(--space-1) 0 0;color:var(--muted);font-size:14px;overflow-wrap:anywhere}
  .club-profile .gallery{max-width:860px;margin-inline:auto;box-shadow:none}
  .club-profile .club-next{border-top:1px solid var(--border)}
  @media(max-width:860px){
    .club-profile .club-split{grid-template-columns:1fr;gap:var(--space-6)}
    .club-profile .club-federation-layout{grid-template-columns:1fr;gap:var(--space-5)}
    .club-profile .club-fekm-logo{max-width:300px}
  }
  @media(max-width:600px){
    .club-profile .instructor,.club-profile .instructor.reverse{grid-template-columns:1fr;gap:var(--space-5)}
    .club-profile .instructor img,.club-profile .instructor.reverse img{width:min(100%,220px);justify-self:start}
    .club-profile .instructor img.instructor-portrait-cedric{width:min(100%,260px);max-width:100%;margin-bottom:calc(-0.450262 * min(100%,260px))}
  }

  /* Contact : coordonnées immédiates, lieu et raccourcis. */
  .contact-page [id]{scroll-margin-top:120px}
  .contact-page > section{padding-block:clamp(32px,5vw,56px)}
  .contact-page .page-intro__title{font-size:clamp(48px,7vw,72px)}
  .contact-page h2{font-size:clamp(28px,3.5vw,38px);line-height:1.2}
  .contact-page .contact-types{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:var(--space-6);
    margin:var(--space-6) 0 0;
  }
  .contact-page .contact-type{min-width:0;border-top:1px solid var(--border);padding-top:var(--space-5)}
  .contact-page .contact-type h2{font-size:clamp(25px,3vw,32px);margin:0 0 var(--space-3)}
  .contact-page .contact-type > p{color:var(--muted);line-height:1.7;margin:0;max-width:48ch}
  .contact-page .contact-coordinates{display:grid;gap:var(--space-3);margin:var(--space-5) 0 0}
  .contact-page .contact-coordinates dt{color:var(--muted);font-size:13px;margin-bottom:var(--space-2)}
  .contact-page .contact-coordinates dd{margin:0}
  .contact-page .contact-coordinates a{
    display:inline-flex;
    align-items:center;
    min-height:48px;
    font-size:clamp(18px,2.4vw,26px);
    font-weight:600;
    overflow-wrap:anywhere;
    max-width:100%;
  }
  .contact-page .contact-location{background:#f4f4f5;color:#17171a}
  .contact-page .contact-split{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-6);align-items:center}
  .contact-page .contact-address{font-size:clamp(17px,2vw,21px);line-height:1.7}
  @media(min-width:701px){
    .contact-page .contact-town{white-space:nowrap}
  }
  .contact-page .contact-nearby{color:#51545a;font-size:14px}
  .contact-page .contact-location a:focus-visible{outline-color:var(--black)}
  .contact-page .contact-social-layout{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:var(--space-5)}
  .contact-page .contact-social-layout h2{margin:0}
  .contact-page .contact-social-links{display:flex;flex-wrap:wrap;gap:var(--space-5)}
  .contact-page .contact-social-link{display:inline-flex;align-items:center;gap:var(--space-3);min-height:48px;font-weight:600}
  .contact-page .contact-social-link svg{width:24px;height:24px;flex-shrink:0;fill:currentColor}
  .contact-page .contact-next{background:var(--black)}
  .contact-page .contact-next .hero-actions > a:not(.cta){display:inline-flex;align-items:center;min-height:44px}
  @media(max-width:700px){
    .contact-page .contact-types,.contact-page .contact-split{grid-template-columns:1fr}
    .contact-page .contact-coordinates a{font-size:clamp(17px,5vw,23px)}
    .contact-page .contact-social-links{gap:var(--space-3) var(--space-5)}
  }

  /* Footer commun aux cinq pages. */
  footer.site-footer{
    background:#0c0d0f;
    color:#cfcfd2;
    border-top:1px solid #383b41;
    padding-block:var(--space-6) var(--space-4);
    font-size:14px;
    line-height:1.7;
  }
  footer.site-footer .container{max-width:1100px}
  .site-footer .footer-grid{display:grid;grid-template-columns:1fr 1.2fr 1fr;gap:var(--space-6)}
  .site-footer .footer-grid > div{min-width:0}
  .site-footer .footer-brand{font-family:Oswald,sans-serif;font-size:36px;font-weight:700;color:#f4f4f5;text-decoration:none;display:inline-block}
  .site-footer .footer-identity p{max-width:28ch;margin:var(--space-2) 0 0}
  .site-footer .footer-title{font-family:Oswald,sans-serif;font-size:20px;line-height:1.3;color:#f4f4f5;margin:0 0 var(--space-3)}
  .site-footer .footer-address{font-style:normal}
  .site-footer .footer-coordinates{display:grid;margin-top:var(--space-3)}
  .site-footer a{color:#cfcfd2;overflow-wrap:anywhere;text-underline-offset:4px}
  .site-footer a:hover{color:#fff;text-decoration:underline}
  .site-footer a:focus-visible{outline:2px solid #fff;outline-offset:4px}
  .site-footer .footer-nav{position:static;inset:auto;z-index:auto}
  .site-footer .footer-nav ul{display:grid;gap:0;margin:0;padding:0;list-style:none;background:none;border:0;border-radius:0}
  .site-footer .footer-nav a{display:inline-block;padding:6px 0;font-weight:400;border-radius:0;background:none}
  .site-footer .footer-coordinates a,.site-footer .footer-social a{display:inline-block;padding-block:6px}
  .site-footer .footer-social{display:grid;margin-top:var(--space-3)}
  .site-footer .footer-bottom{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:var(--space-3) var(--space-5);border-top:1px solid #383b41;margin-top:var(--space-6);padding-top:var(--space-4);font-size:12px}
  .site-footer .footer-bottom p{display:flex;flex-wrap:wrap;gap:var(--space-2) var(--space-4);margin:0}
  .site-footer .footer-bottom-links{display:flex;flex-wrap:wrap;gap:var(--space-4);align-items:center;min-height:44px}
  @media(max-width:700px){
    .site-footer .footer-grid{grid-template-columns:1fr;gap:var(--space-5)}
    .site-footer .footer-nav a,.site-footer .footer-coordinates a,.site-footer .footer-social a{min-height:44px;display:flex;align-items:center}
    .site-footer .footer-bottom{align-items:flex-start}
  }
  @media(min-width:701px){
    footer.site-footer{padding-block:24px 12px;line-height:1.5}
    .site-footer .footer-title{margin-bottom:8px}
    .site-footer .footer-coordinates{margin-top:8px}
    .site-footer .footer-nav a{padding-block:3px}
    .site-footer .footer-coordinates a,.site-footer .footer-social a{padding-block:3px}
    .site-footer .footer-social{display:flex;flex-wrap:wrap;gap:4px 16px;margin-top:8px}
    .site-footer .footer-bottom{margin-top:16px;padding-top:8px;gap:8px 24px}
    .site-footer .footer-bottom p{gap:4px 8px}
    .site-footer .footer-bottom p > span + span::before{content:"·";margin-right:8px}
    .site-footer .footer-bottom-links{min-height:28px}
  }

  /* =====================================================
     ACCESSIBILITÉ - RÉDUCTION DES ANIMATIONS
     ===================================================== */

  @media (prefers-reduced-motion:reduce){

    *{
      scroll-behavior:auto;
    }

    .cta:hover{
      transform:none;
    }

    .social-btn,
    .social-btn:hover,
    .social-btn:focus{
      transition:none;
      transform:none;
    }

    .gallery-slides{
      transition:none;
    }
  }

