.hero h1{
  font-family:'Outfit', sans-serif;
  font-weight:800;
  letter-spacing:-1px;
}
h1{ font-weight:900; }
h2{ font-weight:700; }
h3{ font-weight:600; }
    :root{
      --blue:#19b2e8;
      --green:#9dc52a;
      --deep:#0f2f33;
      --light:#fafafa;
      --white:#ffffff;
    }

    *{margin:0;padding:0;box-sizing:border-box}

    body{
      font-family:Inter, sans-serif;
      color:var(--deep);
      background:var(--light);
      line-height:1.6;
    }

.store-badge img{
  height:auto;
  width:160px;
  display:block;
}
    /* HEADER */
    header{
      position:fixed;
      top:0; left:0;
      width:100%;
      z-index:100;
      background:rgba(255,255,255,.95);
      backdrop-filter: blur(10px);
      display:flex;
      align-items:center;
      justify-content:space-between;
      padding:12px 32px;
    }

    header .left{
      display:flex;
      align-items:center;
      gap:32px;
    }

header .logo{
  display:flex;
  align-items:center;
}

header .logo img{
  height:88px;
  width:auto;
}


    nav ul{
      display:flex;
      gap:22px;
      list-style:none;
    }

    nav a{
      text-decoration:none;
      color:var(--deep);
      font-weight:500;
      font-size:0.95rem;
    }

    nav a:hover{
      color:var(--blue);
    }

    /* HEADER CTA */
    .header-ctas{
      display:flex;
      gap:12px;
    }

    .header-ctas a{
      text-decoration:none;
      padding:10px 18px;
      border-radius:24px;
      font-weight:700;
      font-size:0.9rem;
      white-space:nowrap;
    }

    .cta-wissant{
      background:var(--blue);
      color:white;
    }

    .cta-audresselles{
      background:var(--green);
      color:var(--deep);
    }

    /* HERO */
.hero{
  height:100vh;
  background:
    linear-gradient(180deg, rgba(0,0,0,.25), rgba(0,0,0,.45)),
    url('/img/velo-a-wissant-cote-d-opale.jpg');
  background-size:cover;
  background-position:center;
  display:flex;
  align-items:center;
  padding:0 8%;
  color:white;
  margin-top:96px;
}
h2, h3{
  font-family:'Outfit', sans-serif;
}
    .hero h1{
      font-size:3.2rem;
      max-width:720px;
      line-height:1.15;
    }

    .hero p{
      margin:24px 0;
      max-width:520px;
      font-size:1.1rem;
    }
    
.cta{
  display:inline-block;
  background:var(--green);
  color:var(--deep);
  padding:14px 30px;
  border-radius:40px;
  font-weight:700;
  text-decoration:none;
}

    /* SECTIONS */
    section{
      padding:100px 8%;
    }

    h2{
      font-size:2.2rem;
      margin-bottom:40px;
      color:var(--blue);
    }

    /* AVIS */
    .reviews{
      background:white;
      margin-top:-80px;
      padding:60px 8%;
      border-radius:40px 40px 0 0;
      box-shadow:0 -20px 40px rgba(0,0,0,.08);
    }

    .reviews-grid{
      display:grid;
      grid-template-columns:repeat(auto-fit,minmax(260px,1fr));
      gap:32px;
    }

    .review{
      background:var(--light);
      border-radius:20px;
      padding:28px;
    }

    .stars{
      color:var(--green);
      font-size:1.2rem;
      margin-bottom:12px;
    }

    .review strong{
      display:block;
      margin-top:12px;
      font-size:0.95rem;
    }

    /* CARDS */
    .grid{
      display:grid;
      grid-template-columns:repeat(auto-fit,minmax(240px,1fr));
      gap:32px;
    }

    .card{
      background:white;
      border-radius:22px;
      padding:32px;
      box-shadow:0 20px 40px rgba(0,0,0,.08);
    }


    /* FOOTER */
    footer{
      background:var(--deep);
      color:white;
      padding:60px 8%;
    }

    footer a{
      color:var(--green);
      text-decoration:none;
    }

    @media(max-width:1024px){
      nav{display:none;}
    }

    @media(max-width:768px){
      header{
        flex-wrap:wrap;
        gap:12px;
        padding:12px 20px;
      }

      header .logo img{
        height:48px;
      }

      .header-ctas{
        width:100%;
      }

      .header-ctas a{
        flex:1;
        text-align:center;
      }

      .hero h1{
        font-size:2.2rem;
      }

      .hero{
        height: 100vh;
        height: 100dvh; /* tient compte de la barre Safari/Chrome mobile */
        align-items: flex-start;
        padding-top: 32%;
        background-position: center 30%;
      }
    }
.card img{
  width:100%;
  height:auto;
  object-fit:contain;
  border-radius:16px;
  margin-bottom:20px;
  background:#f2f2f2; /* optionnel, pour éviter le vide */
}

.split-section{
  width:100vw;
  margin-left:calc(50% - 50vw);
  display:grid;
  grid-template-columns:1fr 1fr;
  min-height:520px;
}

.split-image{
  background-image:url('/img/location-de-velo-wissant.jpg');
  background-size:cover;
  background-position:center;
}

.split-content{
  background:var(--blue);
  color:white;
  padding:100px 10%;
  display:flex;
  flex-direction:column;
  justify-content:center;
}

.split-content h2{
  color:white;
  margin-bottom:24px;
  font-size:2.2rem;
}

.split-content p{
  font-size:1.15rem;
  max-width:520px;
}

@media(max-width:900px){
  .split-section{
    grid-template-columns:1fr;
  }

  .split-image{
    min-height:300px;
  }

  .split-content{
    padding:70px 32px;
  }
}
.fullwidth-split{
  width:100%;
  display:grid;
  grid-template-columns:1fr 1fr;
  min-height:540px;
}

.fullwidth-image{
  background-image:url('/img/location-de-velo-wissant.jpg');
  background-size:cover;
  background-position:center;
}

.fullwidth-content{
  background:var(--blue);
  color:white;
  padding:100px;
  display:flex;
  flex-direction:column;
  justify-content:center;
}

.fullwidth-content h2{
  color:white;
  font-size:2.3rem;
  margin-bottom:24px;
}

.fullwidth-content p{
  font-size:1.15rem;
  max-width:520px;
}

@media(max-width:900px){
  .fullwidth-split{
    grid-template-columns:1fr;
  }

  .fullwidth-image{
    min-height:300px;
  }

  .fullwidth-content{
    padding:60px 32px;
  }
}
.reviews-row{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:24px;
}

.review.highlight{
  background:white;
  box-shadow:0 25px 50px rgba(0,0,0,.15);
  border:2px solid var(--green);
}

.google-line{
  display:flex;
  align-items:center;
  gap:10px;
  margin-bottom:10px;
}

.google-logo{
  font-weight:700;
  font-size:1rem;
}

.google-stars{
  color:#fbbc04;
  font-size:1.2rem;
}

.google-score{
  font-size:1.6rem;
  display:block;
  margin-bottom:6px;
}

.google-meta{
  font-size:0.85rem;
  opacity:.85;
  display:block;
}

@media(max-width:1024px){
  .reviews-row{
    grid-template-columns:repeat(2,1fr);
  }
}

@media(max-width:600px){
  .reviews-row{
    grid-template-columns:1fr;
  }
}
.team-building{
  width:100%;
  min-height:520px;
  background:
    linear-gradient(180deg, rgba(0,0,0,.25), rgba(0,0,0,.45)),
    url('/img/team-building-cote-d-opale.jpg');
  background-size:cover;
  background-position:center;
  display:flex;
  align-items:center;
}

.team-building-content{
  padding:100px 8%;
  color:white;
  max-width:680px;
}

.team-building-content h2{
  color:white;
  font-size:2.6rem;
  margin-bottom:24px;
}

.team-building-content p{
  font-size:1.15rem;
  margin-bottom:32px;
}

@media(max-width:768px){
  .team-building{
    min-height:420px;
  }

  .team-building-content{
    padding:70px 32px;
  }

  .team-building-content h2{
    font-size:2rem;
  }
}
.team-building-split{
  width:100%;
  display:grid;
  grid-template-columns:2fr 1fr;
  min-height:520px;
}

.team-building-image{
  background-image:url('/img/team-building-cote-d-opale.jpg');
  background-size:cover;
  background-position:center;
}

.team-building-text{
  background:var(--green);
  color:var(--deep);
  padding:80px 60px;
  display:flex;
  flex-direction:column;
  justify-content:center;
}

.team-building-text h2{
  color:var(--deep);
  font-size:2.2rem;
  margin-bottom:24px;
}

.team-building-text p{
  font-size:1.1rem;
  margin-bottom:32px;
}

@media(max-width:900px){
  .team-building-split{
    grid-template-columns:1fr;
  }

  .team-building-image{
    min-height:300px;
  }

  .team-building-text{
    padding:60px 32px;
  }
}

.separator{
  width:100%;
  max-width:1200px;
  height:1px;
  background:linear-gradient(90deg, transparent, var(--blue), transparent);
  margin:0px auto;
}
/* TOP BAR */
.topbar{
  position:fixed;
  top:0;
  left:0;
  width:100%;
  background:var(--deep);
  color:white;
  font-size:0.85rem;
  z-index:101;
}

.topbar-inner{
  max-width:1400px;
  margin:auto;
  padding:6px 32px;
  display:flex;
  justify-content:space-between;
  align-items:center;
  flex-wrap:wrap;
}

.topbar-links{
  display:flex;
  gap:18px;
  flex-wrap:wrap;
}

.topbar a{
  color:var(--green);
  text-decoration:none;
  font-weight:600;
}

.topbar a:hover{
  opacity:.8;
}

/* Décale le header vers le bas */
header{
  top:34px;
}
/* BURGER */
.burger{
  display:none;
  flex-direction:column;
  gap:6px;
  cursor:pointer;
}

.burger span{
  width:26px;
  height:3px;
  background:var(--deep);
  border-radius:2px;
  transition:.3s;
}

/* MOBILE MENU */
.mobile-menu{
  position:fixed;
  top:0;
  left:0;
  width:100%;
  height:100vh;
  background:rgba(15,47,51,.98);
  backdrop-filter: blur(10px);
  display:flex;
  justify-content:center;
  align-items:center;
  transform:translateY(-100%);
  transition:.4s;
  z-index:99;
}

.mobile-menu ul{
  list-style:none;
  text-align:center;
}

.mobile-menu li{
  margin:18px 0;
}

.mobile-menu a{
  color:white;
  font-size:1.6rem;
  font-weight:600;
  text-decoration:none;
}

.mobile-menu a:hover{
  color:var(--green);
}

.mobile-menu.active{
  transform:translateY(0);
}

/* Responsive */
@media(max-width:1024px){
  nav{
    display:none;
  }

  .burger{
    display:flex;
  }
}
@media(max-width:1024px){
  .header-ctas{
    display:none;
  }
}
/* BOOKING OVERLAY */
.booking-overlay{
  position:fixed;
  top:0;
  left:0;
  width:100%;
  height:100vh;
  background:rgba(15,47,51,.98);
  backdrop-filter: blur(10px);
  display:flex;
  justify-content:center;
  align-items:center;
  transform:translateY(-100%);
  transition:.4s;
  z-index:110;
}

.booking-overlay.active{
  transform:translateY(0);
}

.booking-content{
  text-align:center;
  color:white;
  position:relative;
  padding:40px 30px 30px;
}

.booking-note{
  margin-top:18px;
  font-size:0.85rem;
  opacity:.75;
  line-height:1.4;
  word-break:break-word;
}

.booking-content h2{
  font-size:2rem;
  margin-bottom:40px;
  color:white;
}

.booking-btn{
  display:block;
  margin:18px auto;
  padding:20px 50px;
  border-radius:50px;
  font-size:1.3rem;
  font-weight:700;
  text-decoration:none;
  width:280px;
  transition:.3s;
}

.booking-btn.blue{
  background:var(--blue);
  color:white;
}

.booking-btn.green{
  background:var(--green);
  color:var(--deep);
}

.booking-btn:hover{
  transform:scale(1.05);
}

/* Close button — centré au-dessus */
.booking-close{
  position:absolute;
  top:-56px;              /* ajuste si besoin */
  left:50%;
  transform:translateX(-50%);
  font-size:2.2rem;
  line-height:1;
  cursor:pointer;
  width:44px;
  height:44px;
  display:flex;
  align-items:center;
  justify-content:center;
  border-radius:999px;
  background:rgba(255,255,255,.12);
}
.booking-close:hover{
  background:rgba(255,255,255,.18);
}

.logo a{
  display:flex;
}
.cta-team{
  background:var(--deep);
  color:white;
  padding:12px 22px;   /* réduit la taille */
  width:auto;
  flex:none;
  align-self:flex-start;
}

.cta-team:hover{
  background:#082124; /* vert foncé encore plus profond au hover */
  color:white;
}
.topbar{
  position:fixed;
  top:0;
  left:0;
  width:100%;
  background:var(--deep);
  color:white;
  font-size:0.85rem;
  z-index:101;
  overflow:hidden;
  height:34px;
}

/* Barre de progression */
.topbar::after{
  content:"";
  position:absolute;
  bottom:0;
  left:0;
  height:3px;
  width:0%;
  background:linear-gradient(90deg,var(--blue),var(--green));
  transition:width .15s linear;
  width:var(--progress-width,0%);
}


.topbar::after{
  content:"";
  position:absolute;
  bottom:-1px;   /* ← MAGIE */
  left:0;
  height:3px;
  width:var(--progress-width,0%);
  background:linear-gradient(90deg,var(--blue),var(--green));
  transition:width .15s linear;
}
.contact-section{
  background:var(--deep);
  color:white;
  text-align:center;
}

.contact-section h2{
  color:white;
  margin-bottom:60px;
  font-weight:800;
  font-size:2.8rem;
  letter-spacing:-1px;
  text-transform:uppercase;
}

.contact-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(240px,1fr));
  gap:60px;
  max-width:1100px;
  margin:auto;
}

.contact-block h3{
  color:var(--green);
  margin-bottom:18px;
  font-size:1.35rem;
  font-weight:700;
}

.contact-block p{
  font-size:1.1rem;
  line-height:1.9;
  opacity:.95;
}

.contact-section{
  background:var(--deep);
  color:white;
  text-align:center;
}

.contact-section h2{
  color:white;
  margin-bottom:60px;
}

.contact-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(260px,1fr));
  gap:60px;
  max-width:1100px;
  margin:auto;
}

.contact-block h3{
  color:var(--green);
  margin-bottom:18px;
}

.contact-block p{
  line-height:1.7;
  opacity:.9;
}

.contact-block a{
  color:var(--green);
  text-decoration:none;
  font-weight:600;
}

.contact-block a:hover{
  opacity:.8;
}

/* FOOTER */

footer{
  background:var(--deep);
  color:white;
  padding:0;
}

.footer-main{
  padding:40px 8%;
  text-align:center;
}

.footer-bottom{
  background:#082124; /* couleur légèrement différente */
  padding:18px 8%;
  text-align:center;
  font-size:0.85rem;
}

.footer-bottom a{
  color:var(--green);
  text-decoration:none;
}
.contact-grid{
  position:relative;
}

.contact-grid::before{
  content:"";
  position:absolute;
  top:10%;
  bottom:10%;
  left:50%;
  width:1px;
  background:rgba(255,255,255,.1);
}

@media(max-width:768px){
  .contact-grid::before{
    display:none;
  }
}
.reasons-aplat{
  padding:120px 8%;
}

.reasons-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(320px,1fr));
}

.reason{
  padding:80px 60px;
  color:white;
  display:flex;
  flex-direction:column;
  justify-content:center;
  min-height:320px;
  position:relative;
}

/* couleurs */
.reason.blue{
  background:var(--blue);
}

.reason.green{
  background:var(--green);
  color:var(--deep);
}

.reason.deep{
  background:var(--deep);
}

/* numéro ghost */
.reason-number{
  position:absolute;
  top:20px;
  right:30px;
  font-size:5rem;
  font-weight:800;
  opacity:.15;
  font-family:'Outfit';
}

/* titres */
.reason h3{
  font-size:1.7rem;
  margin-bottom:18px;
  font-weight:700;
}

/* texte */
.reason p{
  font-size:1.05rem;
  line-height:1.8;
  max-width:420px;
}
@media (max-width:768px){

  .contact-grid{
    gap:0 !important;
  }
  .contact-block{
    margin:0 !important;
    padding:0 !important;
    border:0 !important;
  }

  .contact-block + .contact-block::before{
    content:"";
    display:block;
    height:1px;
    background:rgba(255,255,255,.12);
    margin:26px 0 !important;   /* <-- même espace haut/bas */
  }
}
.contact-cta{
  margin-top:20px;
  display:inline-block;
}
.contact-cta{
  margin-top:25px;
  display:inline-flex;
  align-items:center;
  justify-content:center;

  padding:16px 42px;
  border-radius:50px;

  background:var(--green);
  color:var(--deep);   /* ← TEXTE visible */

  font-weight:700;
  text-decoration:none;
}
.contact-cta{
  margin-top:25px;
  display:inline-flex;
  align-items:center;
  justify-content:center;

  padding:16px 42px;
  border-radius:50px;

  background:var(--green);

  color:#0f2f33 !important;   /* ← FORCE couleur texte */
  font-weight:700;
  text-decoration:none;
}
.mobile-cta{
  display:none;
  background:var(--blue);
  color:white;
  padding:10px 20px;
  border-radius:30px;
  font-weight:700;
  text-decoration:none;
}

/* MOBILE */
@media(max-width:1024px){

  .mobile-cta{
    display:block;
  }

}
.faq-section{
  padding:120px 8%;
  max-width:900px;
  margin:auto;
}

.faq h1{
  margin-bottom:60px;
}

.faq-item{
  border-bottom:1px solid rgba(0,0,0,.1);
}

.faq-question{
  width:100%;
  background:none;
  border:none;
  padding:26px 0;
  font-size:1.2rem;
  font-weight:700;
  text-align:left;
  cursor:pointer;
}

.faq-answer{
  max-height:0;
  overflow:hidden;
  transition:.3s;
  padding-right:40px;
}

.faq-item.active .faq-answer{
  max-height:200px;
  padding-bottom:20px;
}
.page-content{
  padding-top:140px;
}
.faq-category{
  margin-top:70px;
}

.faq-item{
  border-bottom:1px solid rgba(0,0,0,.1);
}

.faq-question{
  width:100%;
  background:none;
  border:none;
  padding:24px 0;
  font-size:1.2rem;
  font-weight:700;
  text-align:left;
  cursor:pointer;
}

.faq-answer{
  max-height:0;
  overflow:hidden;
  transition:.3s;
  padding-right:40px;
}

.faq-item.active .faq-answer{
  max-height:250px;
  padding-bottom:20px;
}

.faq-intro{
  margin-bottom:40px;
  opacity:.8;
}
.route-btn{
  display:block;
  text-align:center;
  margin-top:10px;
  padding:12px 14px;
  border-radius:12px;
  background:#0f2f33;
  color:white;
  font-weight:700;
  text-decoration:none;
  transition:.25s;
}

.route-btn:hover{
  transform:translateY(-2px);
  box-shadow:0 12px 18px rgba(0,0,0,.15);
}
.routes-text{
  max-width:700px;
  margin-top:15px;
  line-height:1.6;
  color:#444;
}

.app-buttons{
  margin-top:25px;
  display:flex;
  gap:15px;
  flex-wrap:wrap;
}

.app-btn{
  padding:12px 22px;
  border-radius:8px;
  font-weight:600;
  text-decoration:none;
  color:white;
  transition:0.3s;
}

.app-btn:hover{
  transform:translateY(-2px);
  opacity:0.9;
}

.app-btn.apple{
  background:#000;
}

.app-btn.google{
  background:#34a853;
}
.program-offer{
  display:grid;
  grid-template-columns:1fr 1fr;
  margin-bottom:80px;
  border-radius:16px;
  overflow:hidden;
  box-shadow:0 10px 40px rgba(0,0,0,0.08);
}

.program-offer img{
  width:100%;
  height:100%;
  object-fit:cover;
}

.offer-content{
  padding:70px 60px;
  color:white;
  display:flex;
  flex-direction:column;
  justify-content:center;
}

.offer-blue{
  background:#19b2e8;
}

.offer-green{
  background:#9dc52a;
}

.offer-deep{
  background:#0f2f33;
}

.offer-content h3{
  font-size:32px;
  margin-bottom:20px;
}

.offer-content ul{
  margin-top:15px;
}

.offer-content li{
  margin-bottom:8px;
}

@media(max-width:800px){

.program-offer{
  grid-template-columns:1fr;
}

.offer-content{
  padding:40px 30px;
}

}
.offer-content ul{
  list-style-position:inside;
  padding-left:0;
}




@media(max-width:800px){




}

/* FORCE le blanc dans le HERO Team Building */
.team-hero,
.team-hero *{
  color:#fff !important;
}
.hero,
.hero *{
  color:white !important;
}
.hero--team{
  min-height:60vh;
  display:flex;
  align-items:center;
}
.hero.hero--team{
  height:auto;
  min-height:60vh;
}
.hero-content{
  max-width:720px;
}
.hero.hero--team{
  height:auto;
  min-height:60vh;
}
.hero.hero--team{
  height:auto;
  min-height:60vh;
}

.hero--team .hero-content{
  max-width:720px;
}
/* FORCE typo identique homepage pour hero Team */

.hero--team h1{
  font-family:'Outfit', sans-serif;
  font-weight:800;
  letter-spacing:-1px;
  font-size:3.2rem;
  line-height:1.15;
  max-width:720px;
}

.hero--team p{
  font-size:1.1rem;
  max-width:520px;
  margin:24px 0;
}
/* TYPO HERO → toujours Outfit */

.hero,
.hero *{
  font-family:'Outfit', sans-serif;
}

h1, h2, h3, h4, h5, h6{
  font-family:'Outfit', sans-serif;
}
/* ================================
   FIX Leaflet sous header / topbar
   ================================ */

.leaflet-container{
  position: relative;
  z-index: 1 !important;
}

.leaflet-pane,
.leaflet-top,
.leaflet-bottom{
  z-index: 2 !important;
}
/* CTA TEAM BUILDING – FLAT & PREMIUM */
.cta-block.cta-block--alt{
  background:#19b2e8; /* bleu signature */
  color:white;
  padding:100px 8%;
  text-align:center;
}

.cta-block.cta-block--alt h2{
  color:white;
  font-size:2.4rem;
  margin-bottom:18px;
}

.cta-block.cta-block--alt p{
  max-width:640px;
  margin:0 auto 36px;
  font-size:1.15rem;
  opacity:.95;
}

/* Bouton CTA */
.cta-block.cta-block--alt .cta{
  background:#9dc52a;   /* vert signature */
  color:#0f2f33;
  padding:16px 42px;
  border-radius:50px;
  font-size:1.1rem;
  font-weight:800;
  text-decoration:none;
  display:inline-block;
  transition:.25s;
}

.cta-block.cta-block--alt .cta:hover{
  transform:translateY(-2px);
  box-shadow:0 14px 24px rgba(0,0,0,.2);
}
.clients{
  padding:80px 0;
  text-align:center;
  background:#fafafa;
}

.clients h2{
  margin-bottom:50px;
}

.clients-slider{
  width:100vw;
  overflow:hidden;
  position:relative;

  /* centre même si parent a padding */
  margin-left:50%;
  transform:translateX(-50%);
}

.clients-track{
  display:flex;
  width:max-content;
  animation:scrollClients 20s linear infinite;
  will-change:transform;
  backface-visibility:hidden;
}
.clients-slider:hover .clients-track{
  animation-play-state:paused;
}

.clients-track img{
  height:60px;
  margin:0 60px;
  filter:grayscale(0%);
  transition:0.3s;
}



/* Animation défilement */

@keyframes scrollClients{
  from{transform:translateX(0);}
  to{transform:translateX(-50%);}
}
.clients-head{
  max-width:1100px;
  margin:auto;
  padding:0 8%;
}
.faq-question,
.faq-question:visited,
.faq-question:active,
.faq-question:focus{
  color: #000;
}

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

/* Topbar */
.topbar-social-link{
  display:inline-flex;
  align-items:center;
  color:var(--green) !important;
  transition:opacity .2s;
}
.topbar-social-link:hover{
  opacity:.75 !important;
}
.topbar-social-link svg{
  display:block;
}

/* Footer */
.footer-social{
  background:#082124;
  display:flex;
  justify-content:center;
  align-items:center;
  gap:24px;
  padding:20px 8%;
  border-bottom:1px solid rgba(255,255,255,.08);
}
.footer-social a{
  display:inline-flex;
  align-items:center;
  gap:8px;
  color:rgba(255,255,255,.6);
  text-decoration:none;
  font-size:0.88rem;
  font-weight:500;
  transition:color .2s;
}
.footer-social a:hover{
  color:white;
}
.footer-social svg{
  display:block;
  flex-shrink:0;
}