:root{
  /* CHARTE THOMAS-GARNIER - Sans vert */
  --bg:#0B0D15;
  --bg-secondary:#10121C;
  --bg-dark:#01030C;
  --text:#FFFFFF;
  --muted:#9095AE;
  --primary:#6EC1E4; /* bleu clair */
  --secondary:#FFE301; /* jaune vif - couleur boutons */
  --blue-deep:#273786; /* bleu roi */
  --glass:rgba(16,18,28,0.7);
  --radius:20px;
  --shadow:0 10px 30px rgba(0,0,0,.45), 0 0 40px rgba(110,193,228,.08), 0 0 60px rgba(255,227,1,.06);
}
.footer-link {
  font-size: 0.8em;
}
*{box-sizing:border-box}
html,body{height:100%}
body{margin:0; font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,Cantarell,Arial,sans-serif; color:var(--text); background:var(--bg); overflow-x:hidden}

/* Subtle animated background - palette bleu/jaune */
.bg-wrap{position:fixed; inset:-22vmax; z-index:-2; filter:saturate(115%);
  background:
    radial-gradient(60vmax 60vmax at 12% 22%, rgba(110,193,228,.18), transparent 60%),
    radial-gradient(50vmax 50vmax at 88% 12%, rgba(255,227,1,.10), transparent 60%),
    radial-gradient(70vmax 70vmax at 28% 82%, rgba(39,55,134,.12), transparent 65%);
  animation:bgShift 48s ease-in-out infinite alternate;
}
.bg-wrap::after{
  content:""; position:absolute; inset:0; pointer-events:none;
  background:radial-gradient(120vmax 120vmax at 50% 50%, rgba(255,255,255,.015), transparent 70%);
  animation:bgBreath 64s ease-in-out infinite alternate;
}
@keyframes bgShift{to{transform:translate3d(1vmax,-1vmax,0) scale(1.01)}}
@keyframes bgBreath{to{opacity:.9; transform:scale(1.006)}}

header{padding: clamp(16px,2vw,24px) 24px; position:sticky; top:0; backdrop-filter: blur(10px);
  background:linear-gradient(180deg, rgba(11,13,21,.9), rgba(11,13,21,.4) 80%, transparent);
  border-bottom:1px solid rgba(255,255,255,.06); z-index:10}
.container{max-width:1100px; margin:0 auto; padding:0 20px}

.brand{display:flex; align-items:center; gap:14px; text-decoration:none; color:var(--text)}
.logo{font-family:"Press Start 2P", monospace; font-size: clamp(18px, 2.2vw, 26px);
  letter-spacing:.5px; line-height:1.1; position:relative; text-shadow:0 0 12px rgba(110,193,228,.55), 0 0 24px rgba(255,227,1,.25)}
.logo::after{content:""; position:absolute; left:-10px; right:-10px; bottom:-6px; height:3px;
  background: var(--secondary); opacity:1; border-radius: 2px}

.cta{margin-left:auto; display:flex; gap:12px; align-items:center}

/* BOUTONS JAUNES */
.btn{appearance:none; border:0; padding:12px 18px; border-radius:999px; font-weight:700; font-size:inherit; cursor:pointer; text-decoration:none; color:#0B0D15;
  background:var(--secondary); box-shadow:0 8px 20px rgba(255,227,1,.3), inset 0 0 0 1px rgba(255,255,255,.2);
  transition: transform .15s ease, filter .2s ease, box-shadow .2s ease; display:inline-flex; align-items:center; justify-content:center; white-space:nowrap; position:relative; z-index:1}
.btn:hover{transform:translateY(-2px); filter:brightness(1.1); box-shadow:0 12px 30px rgba(255,227,1,.4)}
.btn.alt{background:transparent; color:var(--text); border:1px solid rgba(255,255,255,.2)}
.btn.alt:hover{border-color:var(--secondary); color:var(--secondary)}

/* NOUVEAU HERO AVANT-GARDISTE */
.hero-new {
  position: relative;
  min-height: 85vh;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
  padding: 60px 20px;
}

/* Particules flottantes animées */
.hero-particles {
  position: absolute;
  inset: 0;
  overflow: hidden;
  z-index: 0;
}

.particle {
  position: absolute;
  width: 3px;
  height: 3px;
  background: var(--primary);
  border-radius: 50%;
  opacity: 0;
  animation: particleFloat 8s ease-in-out infinite;
  box-shadow: 0 0 10px currentColor;
}

@keyframes particleFloat {
  0% {
    opacity: 0;
    transform: translate(0, 0) scale(1);
  }
  10% {
    opacity: 0.6;
  }
  90% {
    opacity: 0.6;
  }
  100% {
    opacity: 0;
    transform: translate(var(--tx), var(--ty)) scale(0.5);
  }
}

/* Cercles géométriques animés */
.hero-geometry {
  position: absolute;
  inset: 0;
  z-index: 0;
}

.geo-circle {
  position: absolute;
  border: 2px solid;
  border-radius: 50%;
  opacity: 0.1;
  animation: geoRotate 20s linear infinite;
}

.geo-circle:nth-child(1) {
  width: 300px;
  height: 300px;
  top: 10%;
  left: 5%;
  border-color: var(--primary);
  animation-duration: 25s;
}

.geo-circle:nth-child(2) {
  width: 450px;
  height: 450px;
  bottom: 5%;
  right: 10%;
  border-color: var(--secondary);
  animation-duration: 30s;
  animation-direction: reverse;
}

.geo-circle:nth-child(3) {
  width: 200px;
  height: 200px;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  border-color: var(--blue-deep);
  animation-duration: 20s;
}

@keyframes geoRotate {
  from { transform: rotate(0deg) scale(1); }
  50% { transform: rotate(180deg) scale(1.1); }
  to { transform: rotate(360deg) scale(1); }
}

/* Contenu hero */
.hero-content {
  position: relative;
  z-index: 1;
  max-width: 900px;
  text-align: center;
}

.hero-badge {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  padding: 10px 20px;
  background: rgba(110,193,228,0.1);
  border: 1px solid rgba(110,193,228,0.3);
  border-radius: 999px;
  margin-bottom: 30px;
  animation: badgePulse 3s ease-in-out infinite;
}

@keyframes badgePulse {
  0%, 100% { 
    box-shadow: 0 0 20px rgba(110,193,228,0.3);
    transform: scale(1);
  }
  50% { 
    box-shadow: 0 0 40px rgba(110,193,228,0.5);
    transform: scale(1.02);
  }
}

.hero-badge::before {
  content: '✨';
  font-size: 20px;
  animation: spin 4s linear infinite;
}

@keyframes spin {
  from { transform: rotate(0deg); }
  to { transform: rotate(360deg); }
}

/* TITRES BLANCS */
.hero-title {
  font-size: clamp(36px, 6vw, 72px);
  font-weight: 800;
  line-height: 1.1;
  margin: 0 0 24px;
  letter-spacing: -0.02em;
  color: var(--text);
}

.hero-title .word {
  display: inline-block;
  opacity: 0;
  animation: wordFadeIn 0.8s ease-out forwards;
}

.hero-title .word:nth-child(1) { animation-delay: 0.1s; }
.hero-title .word:nth-child(2) { animation-delay: 0.2s; }
.hero-title .word:nth-child(3) { animation-delay: 0.3s; }
.hero-title .word:nth-child(4) { animation-delay: 0.4s; }

@keyframes wordFadeIn {
  from {
    opacity: 0;
    transform: translateY(20px) rotateX(-90deg);
  }
  to {
    opacity: 1;
    transform: translateY(0) rotateX(0);
  }
}

/* Gradient text sur Bordeaux uniquement */
.hero-title .gradient-text {
  background: linear-gradient(135deg, var(--primary), var(--secondary));
  background-size: 200% 200%;
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
  animation: gradientShift 4s ease infinite;
}

@keyframes gradientShift {
  0%, 100% { background-position: 0% 50%; }
  50% { background-position: 100% 50%; }
}

.hero-subtitle {
  font-size: clamp(18px, 2.5vw, 24px);
  color: var(--muted);
  line-height: 1.6;
  max-width: 700px;
  margin: 0 auto 40px;
  opacity: 0;
  animation: fadeInUp 1s ease-out 0.6s forwards;
}

@keyframes fadeInUp {
  from {
    opacity: 0;
    transform: translateY(30px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

.hero-stats {
  display: flex;
  justify-content: center;
  gap: 40px;
  margin: 40px 0;
  flex-wrap: wrap;
  opacity: 0;
  animation: fadeInUp 1s ease-out 0.8s forwards;
}

.stat-item {
  text-align: center;
}

.stat-number {
  font-size: clamp(28px, 4vw, 42px);
  font-weight: 800;
  color: var(--secondary);
  display: block;
  line-height: 1;
  margin-bottom: 8px;
}

.stat-label {
  font-size: 14px;
  color: var(--muted);
  text-transform: uppercase;
  letter-spacing: 1px;
}

.hero-cta {
  display: flex;
  gap: 16px;
  justify-content: center;
  flex-wrap: wrap;
  opacity: 0;
  animation: fadeInUp 1s ease-out 1s forwards;
}

.hero-cta .btn {
  padding: 16px 32px;
  font-size: 16px;
}

.scroll-indicator {
  position: absolute;
  bottom: 30px;
  left: 50%;
  transform: translateX(-50%);
  animation: bounce 2s ease-in-out infinite;
  opacity: 0.5;
  cursor: pointer;
}

@keyframes bounce {
  0%, 100% { transform: translateX(-50%) translateY(0); }
  50% { transform: translateX(-50%) translateY(10px); }
}

.scroll-indicator svg {
  width: 30px;
  height: 30px;
  stroke: var(--primary);
  fill: none;
  stroke-width: 2;
}

.edito{margin:28px 0 8px; padding: 24px; border-radius: var(--radius);
  background: linear-gradient(180deg, rgba(255,255,255,.06), rgba(255,255,255,.02)); border:1px solid rgba(255,255,255,.08); box-shadow: var(--shadow)}
.edito p{margin: 0 0 14px; color:#e9ebff}

.grid{display:grid; grid-template-columns: repeat(12, 1fr); gap:18px; margin:40px 0}
.card{grid-column: span 12; padding:20px; border-radius: var(--radius); background:var(--glass); border:1px solid rgba(255,255,255,.10); box-shadow: var(--shadow); position:relative; overflow: hidden; z-index:0}
.card::before{content:""; position:absolute; inset:-40%; background: conic-gradient(from 0deg, var(--secondary), var(--primary), var(--blue-deep), var(--secondary)); opacity:.06; filter: blur(40px); transform: rotate(8deg); z-index:-1}
.card h3{margin:6px 0 8px; font-size: clamp(20px, 2.6vw, 26px); color: var(--text)}

/* Prix en jaune */
.price{font-size: clamp(22px, 3vw, 28px); font-weight:800; color: var(--secondary)}

.includes{margin:8px 0 20px; color:var(--muted)}
.includes li{margin:6px 0}
.card .actions{display:flex; flex-wrap:wrap; gap:10px; margin-top:8px}
.pill{display:inline-flex; align-items:center; gap:8px; padding:8px 12px; border-radius:999px; font-size:14px; border:1px solid rgba(255,255,255,.14); color:var(--text); position:relative; z-index:1}

.span-4{grid-column: span 12}
@media (min-width: 900px){ .span-4{grid-column: span 4} }

.span-6-desktop{grid-column: span 12}
@media (min-width: 900px){ .span-6-desktop{grid-column: span 6} }

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

.conclusion{margin:12px 0 40px; color:var(--muted)}

/* Titres de section blancs */
.conclusion h2{color: var(--text)}

.contact{display:grid; gap:8px; grid-template-columns: 1fr; margin:8px 0 60px}
.contact a{color:var(--text); text-decoration:none; border-bottom:1px dashed rgba(255,255,255,.25)}
.contact .wrap{display:flex; gap:14px; flex-wrap:wrap}

footer {
  border-top: none;
  text-align: center;
  background: none;
  padding-bottom: 20px;
  padding-top: 10px;
}

/* Section CTA réservation */
.reservation-cta {
  text-align: center;
  padding: 40px 20px 30px;
  background: linear-gradient(180deg, transparent, rgba(255,227,1,0.03), transparent);
  margin: 12px 0 20px;
}

/* Titre CTA blanc */
.reservation-cta h2 {
  font-size: clamp(28px, 4vw, 42px);
  margin-bottom: 20px;
  color: var(--text);
}

.reservation-cta p {
  color: var(--muted);
  font-size: 18px;
  margin-bottom: 30px;
}

.reservation-cta .btn {
  padding: 18px 40px;
  font-size: 18px;
  animation: ctaPulse 2s ease-in-out infinite;
}

@keyframes ctaPulse {
  0%, 100% { transform: scale(1); }
  50% { transform: scale(1.05); }
}

.tilt:hover{transform: perspective(900px) rotateX(1.5deg) rotateY(-1.5deg) translateY(-2px); transition: transform .2s ease}
.glow:hover{box-shadow: 0 0 0 1px rgba(255,227,1,.3), 0 10px 25px rgba(255,227,1,.25), 0 0 60px rgba(255,227,1,.15)}

/* Cartes avantages - Style bleu charte */
.avantage-card{
  padding: 35px 28px;
  border-radius: 20px;
  background: linear-gradient(135deg, #4a5dc9 0%, #3d4eb8 40%, #2d3a9e 100%);
  box-shadow: 0 10px 40px rgba(30, 40, 100, 0.5);
  transition: transform .3s ease, box-shadow .3s ease;
  position: relative;
  overflow: hidden;
}
.avantage-card::before{
  content: "";
  position: absolute;
  top: -50%;
  left: -50%;
  width: 100%;
  height: 100%;
  background: radial-gradient(ellipse at center, rgba(255,255,255,0.12) 0%, transparent 70%);
  pointer-events: none;
}
.avantage-card::after{
  content: "";
  position: absolute;
  inset: 0;
  background-image: url("data:image/png;base64,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");
  background-repeat: repeat;
  opacity: 0.5;
  pointer-events: none;
  border-radius: 20px;
  mix-blend-mode: overlay;
}
.avantage-card:hover{
  transform: translateY(-6px);
  box-shadow: 0 16px 50px rgba(30, 40, 100, 0.6);
}
.avantage-icon{
  color: rgba(255,255,255,0.5);
  margin-bottom: 24px;
  position: relative;
  z-index: 1;
}
.avantage-icon svg{
  stroke-width: 1.5;
}
.avantage-card h3{
  color: #FFFFFF;
  font-size: 18px;
  font-weight: 800;
  margin: 0 0 14px;
  text-transform: uppercase;
  letter-spacing: 1px;
  position: relative;
  z-index: 1;
}
.avantage-card p{
  color: rgba(255,255,255,0.85);
  font-size: 15px;
  line-height: 1.7;
  margin: 0;
  text-align: justify;
  position: relative;
  z-index: 1;
}

/* Section Château */
.chateau-section{
  margin: 60px 0;
  padding: 50px 40px;
  border-radius: var(--radius);
  background: linear-gradient(145deg, #1a1f3a 0%, #0f1225 100%);
  border: 1px solid rgba(110, 193, 228, 0.15);
  position: relative;
  overflow: hidden;
}
.chateau-section::before{
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 3px;
  background: linear-gradient(90deg, var(--primary), var(--secondary), var(--primary));
}
.chateau-grid{
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 50px;
  align-items: center;
}
@media (max-width: 900px){
  .chateau-grid{ grid-template-columns: 1fr; gap: 30px; }
  .chateau-section{ padding: 30px 20px; }
}
.chateau-content h2{
  color: #FFFFFF;
  font-size: clamp(28px, 4vw, 38px);
  margin: 0 0 20px;
  position: relative;
}
.chateau-content h2::after{
  content: "";
  display: block;
  width: 60px;
  height: 3px;
  background: var(--secondary);
  margin-top: 15px;
  border-radius: 2px;
}
.chateau-content p{
  color: rgba(255,255,255,0.75);
  font-size: 16px;
  line-height: 1.8;
  margin: 0 0 30px;
}
.chateau-features{
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 12px;
}
@media (max-width: 500px){
  .chateau-features{ grid-template-columns: 1fr; }
}
.chateau-feature{
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 14px 18px;
  background: rgba(255,255,255,0.05);
  border-radius: 12px;
  border: 1px solid rgba(255,255,255,0.08);
  transition: all 0.3s ease;
}
.chateau-feature:hover{
  background: rgba(110, 193, 228, 0.1);
  border-color: rgba(110, 193, 228, 0.3);
  transform: translateX(5px);
}
.chateau-feature span{
  color: #FFFFFF;
  font-size: 14px;
  font-weight: 600;
}
.chateau-feature .puce{
  color: var(--secondary);
  font-size: 10px;
  flex-shrink: 0;
}
.chateau-photos{
  display: grid;
  grid-template-columns: 1fr 1fr;
  grid-template-rows: 1fr 1fr;
  gap: 12px;
}
.chateau-photos img{
  width: 100%;
  height: 100%;
  object-fit: cover;
  border-radius: 12px;
  box-shadow: 0 8px 25px rgba(0,0,0,0.4);
}
.chateau-photos .photo-large{
  grid-row: span 2;
}

/* Section Formateur */
.formateur-section{
  margin: 60px 0;
  padding: 50px 40px;
  border-radius: var(--radius);
  background: linear-gradient(145deg, rgba(110, 193, 228, 0.08) 0%, rgba(255, 227, 1, 0.05) 100%);
  border: 1px solid rgba(110, 193, 228, 0.15);
  position: relative;
  overflow: hidden;
}
.formateur-grid{
  display: grid;
  grid-template-columns: 250px 1fr;
  gap: 50px;
  align-items: center;
}
@media (max-width: 800px){
  .formateur-grid{ grid-template-columns: 1fr; gap: 30px; text-align: center; }
  .formateur-section{ padding: 30px 20px; }
}
.formateur-photo{
  position: relative;
}
.formateur-photo img{
  width: 100%;
  max-width: 250px;
  aspect-ratio: 1;
  object-fit: cover;
  border-radius: 20px;
  box-shadow: 0 15px 40px rgba(0,0,0,0.4);
  border: 3px solid rgba(110, 193, 228, 0.3);
}
.formateur-photo::after{
  content: "";
  position: absolute;
  inset: -8px;
  border: 2px dashed rgba(255, 227, 1, 0.3);
  border-radius: 28px;
  pointer-events: none;
}
.formateur-content h2{
  color: #FFFFFF;
  font-size: clamp(26px, 3.5vw, 34px);
  margin: 0 0 20px;
}
.formateur-content h2 span{
  color: var(--secondary);
}
.formateur-content p{
  color: rgba(255,255,255,0.75);
  font-size: 16px;
  line-height: 1.8;
  margin: 0 0 30px;
}
.formateur-stats{
  display: flex;
  gap: 15px;
  flex-wrap: nowrap;
}
@media (max-width: 800px){
  .formateur-stats{ justify-content: center; flex-wrap: wrap; }
  .formateur-photo img{ margin: 0 auto; display: block; }
}
.formateur-stat{
  text-align: center;
  padding: 15px 18px;
  background: rgba(255,255,255,0.05);
  border-radius: 12px;
  border: 1px solid rgba(255,255,255,0.08);
  flex: 1;
  min-width: 100px;
  max-width: 140px;
}
.formateur-stat .number{
  display: block;
  font-size: 28px;
  font-weight: 800;
  color: var(--secondary);
  line-height: 1;
  margin-bottom: 6px;
}
.formateur-stat .label{
  font-size: 11px;
  color: rgba(255,255,255,0.6);
  text-transform: uppercase;
  letter-spacing: 0.5px;
  line-height: 1.3;
}

/* Section Pour qui */
.pourqui-section{
  margin: 60px 0;
  text-align: center;
}
.pourqui-section h2{
  color: #FFFFFF;
  font-size: clamp(28px, 4vw, 38px);
  margin: 0 0 10px;
}
.pourqui-section .subtitle{
  color: var(--muted);
  font-size: 17px;
  margin-bottom: 40px;
}
.pourqui-grid{
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 25px;
}
@media (max-width: 800px){
  .pourqui-grid{ grid-template-columns: 1fr; gap: 20px; }
}
.pourqui-card{
  padding: 35px 28px;
  border-radius: 20px;
  background: rgba(255,255,255,0.03);
  border: 1px solid rgba(255,255,255,0.08);
  text-align: left;
  transition: all 0.3s ease;
  position: relative;
  overflow: hidden;
}
.pourqui-card::before{
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 3px;
  background: linear-gradient(90deg, var(--primary), var(--secondary));
  opacity: 0;
  transition: opacity 0.3s ease;
}
.pourqui-card:hover{
  background: rgba(110, 193, 228, 0.08);
  border-color: rgba(110, 193, 228, 0.25);
  transform: translateY(-5px);
}
.pourqui-card:hover::before{
  opacity: 1;
}
.pourqui-icon{
  width: 50px;
  height: 50px;
  border-radius: 12px;
  background: linear-gradient(135deg, rgba(110, 193, 228, 0.2), rgba(255, 227, 1, 0.15));
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 20px;
}
.pourqui-icon svg{
  color: var(--secondary);
}
.pourqui-card h3{
  color: #FFFFFF;
  font-size: 20px;
  font-weight: 700;
  margin: 0 0 12px;
}
.pourqui-card p{
  color: rgba(255,255,255,0.65);
  font-size: 15px;
  line-height: 1.7;
  margin: 0;
}

/* Modal */
.modal-overlay{
  display: none;
  position: fixed;
  inset: 0;
  background: rgba(0,0,0,0.8);
  backdrop-filter: blur(5px);
  z-index: 1000;
  align-items: center;
  justify-content: center;
  padding: 20px;
}
.modal-overlay.active{
  display: flex;
}
.modal-content{
  background: linear-gradient(180deg, #1a1f3a 0%, #0f1225 100%);
  border: 1px solid rgba(110, 193, 228, 0.3);
  border-radius: 20px;
  padding: 40px;
  max-width: 500px;
  width: 100%;
  max-height: 90vh;
  overflow-y: auto;
  position: relative;
  box-shadow: 0 25px 50px rgba(0,0,0,0.5), 0 0 40px rgba(110, 193, 228, 0.1);
}
.modal-close{
  position: absolute;
  top: 15px;
  right: 20px;
  background: none;
  border: none;
  color: var(--muted);
  font-size: 32px;
  cursor: pointer;
  transition: color 0.2s ease;
  line-height: 1;
}
.modal-close:hover{
  color: var(--primary);
}
.modal-content h3{
  color: #FFFFFF;
  font-size: 24px;
  margin: 0 0 25px;
  text-align: center;
}
.form-group{
  margin-bottom: 18px;
}
.form-group label{
  display: block;
  color: rgba(255,255,255,0.8);
  font-size: 14px;
  margin-bottom: 6px;
  font-weight: 500;
}
.form-group input,
.form-group select,
.form-group textarea{
  width: 100%;
  padding: 12px 15px;
  background: rgba(255,255,255,0.05);
  border: 1px solid rgba(255,255,255,0.15);
  border-radius: 10px;
  color: #FFFFFF;
  font-size: 15px;
  font-family: inherit;
  transition: border-color 0.2s ease, background 0.2s ease;
}
.form-group input:focus,
.form-group select:focus,
.form-group textarea:focus{
  outline: none;
  border-color: var(--primary);
  background: rgba(110, 193, 228, 0.08);
}
.form-group input::placeholder,
.form-group textarea::placeholder{
  color: rgba(255,255,255,0.35);
}
.form-group select option{
  background: #1a1f3a;
  color: #FFFFFF;
}
.form-note{
  text-align: center;
  color: var(--muted);
  font-size: 12px;
  margin-top: 15px;
}

/* Section Logos défilants */
.logos-section{
  margin: 60px 0;
  overflow: hidden;
}
.logos-section h2{
  text-align: center;
  color: #FFFFFF;
  font-size: clamp(24px, 3.5vw, 32px);
  margin-bottom: 35px;
}
.logos-track-wrapper{
  overflow: hidden;
  mask-image: linear-gradient(to right, transparent, black 10%, black 90%, transparent);
  -webkit-mask-image: linear-gradient(to right, transparent, black 10%, black 90%, transparent);
}
.logos-track{
  display: flex;
  gap: 50px;
  animation: scrollLogos 120s linear infinite;
  width: max-content;
}
.logos-track:hover{
  animation-play-state: paused;
}
@keyframes scrollLogos{
  0%{ transform: translateX(0); }
  100%{ transform: translateX(-50%); }
}
.logo-item{
  flex-shrink: 0;
  width: 315px;
  height: 158px;
  display: flex;
  align-items: center;
  justify-content: center;
}
.logo-item img{
  max-width: 225px;
  max-height: 102px;
  object-fit: contain;
  filter: grayscale(100%) brightness(1.5);
  opacity: 0.7;
  transition: all 0.3s ease;
}
.logo-item:hover img{
  filter: grayscale(0%) brightness(1);
  opacity: 1;
}
.logo-placeholder{
  font-size: 14px;
  font-weight: 700;
  color: rgba(255,255,255,0.5);
  text-transform: uppercase;
  letter-spacing: 1px;
}

/* Section Témoignages défilants */
.testimonials-section{
  margin: 60px 0;
  overflow: hidden;
}
.testimonials-section h2{
  text-align: center;
  color: #FFFFFF;
  font-size: clamp(24px, 3.5vw, 32px);
  margin-bottom: 35px;
}
.testimonials-track-wrapper{
  overflow: hidden;
  mask-image: linear-gradient(to right, transparent, black 5%, black 95%, transparent);
  -webkit-mask-image: linear-gradient(to right, transparent, black 5%, black 95%, transparent);
}
.testimonials-track{
  display: flex;
  gap: 25px;
  animation: scrollTestimonials 240s linear infinite;
  width: max-content;
  align-items: stretch;
}
.testimonials-track:hover{
  animation-play-state: paused;
}
@keyframes scrollTestimonials{
  0%{ transform: translateX(0); }
  100%{ transform: translateX(-50%); }
}
.testimonial-card{
  flex-shrink: 0;
  width: 320px;
  padding: 25px;
  background: rgba(255,255,255,0.03);
  border: 1px solid rgba(255,255,255,0.08);
  border-radius: 16px;
  transition: all 0.3s ease;
  display: flex;
  flex-direction: column;
}
.testimonial-card:hover{
  background: rgba(110, 193, 228, 0.08);
  border-color: rgba(110, 193, 228, 0.25);
}
.testimonial-text{
  color: rgba(255,255,255,0.8);
  font-size: 14px;
  line-height: 1.6;
  margin-bottom: 18px;
  font-style: italic;
  flex-grow: 1;
}
.testimonial-text::before{
  content: '"';
  color: var(--primary);
  font-size: 24px;
  font-weight: bold;
  margin-right: 5px;
}
.testimonial-author{
  display: flex;
  align-items: center;
  gap: 12px;
  margin-top: auto;
}
.testimonial-avatar{
  width: 45px;
  height: 45px;
  min-width: 45px;
  min-height: 45px;
  flex-shrink: 0;
  border-radius: 50%;
  background: linear-gradient(135deg, var(--primary), var(--secondary));
  display: flex;
  align-items: center;
  justify-content: center;
  font-weight: 700;
  font-size: 16px;
  color: #0B0D15;
}
.testimonial-info h4{
  color: #FFFFFF;
  font-size: 14px;
  font-weight: 600;
  margin: 0 0 3px;
}
.testimonial-info p{
  color: var(--muted);
  font-size: 12px;
  margin: 0;
}

.reveal{opacity:0; transform: translateY(16px); transition: opacity .6s ease, transform .6s ease}
.reveal.visible{opacity:1; transform: translateY(0)}

/* --- Header responsive --- */
@media (max-width: 560px) {
  header .container {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    justify-content: center;
  }
  .brand {
    width: 100%;
    justify-content: center;
  }
  .cta {
    margin-left: 0;
    width: 100%;
    flex-wrap: wrap;
    gap: 8px;
    margin-top: 30px;
    justify-content: flex-start;
  }
  .cta .btn, 
  .cta .btn.alt {
    flex: 1 1 48%;
    max-width: 48%;
  }
  
  .hero-stats {
    gap: 20px;
  }
  
  .stat-item {
    flex: 1 1 100%;
  }
}

@media (max-width: 400px) {
  .cta .btn, 
  .cta .btn.alt {
    flex: 1 1 100%;
    max-width: 100%;
  }
}

.scroll-to-top {
  position: fixed;
  bottom: 20px;
  right: 20px;
  background: var(--secondary);
  backdrop-filter: blur(5px);
  color: #0B0D15;
  font-size: 24px;
  font-weight: bold;
  text-decoration: none;
  width: 50px;
  height: 50px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  box-shadow: 0 4px 15px rgba(255, 227, 1, 0.5);
  transition: all 0.3s ease;
  z-index: 999;
}

.scroll-to-top:hover {
  background: var(--secondary);
  box-shadow: 0 6px 25px rgba(255, 227, 1, 0.7);
  transform: translateY(-3px);
}

/* Titre offres blanc */
#offres h2 {
  color: var(--text) !important;
  background: none !important;
  -webkit-background-clip: unset !important;
  background-clip: unset !important;
}

/* Bannière RGPD */
.rgpd-banner {
  position: fixed;
  bottom: 0;
  left: 0;
  right: 0;
  background: linear-gradient(180deg, rgba(16,18,28,0.98), rgba(11,13,21,0.99));
  border-top: 1px solid rgba(110,193,228,0.3);
  padding: 20px;
  z-index: 10000;
  box-shadow: 0 -10px 40px rgba(0,0,0,0.5);
  transform: translateY(100%);
  transition: transform 0.4s ease;
}
.rgpd-banner.visible {
  transform: translateY(0);
}
.rgpd-content {
  max-width: 1100px;
  margin: 0 auto;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  flex-wrap: wrap;
}
.rgpd-text {
  flex: 1;
  min-width: 280px;
  color: rgba(255,255,255,0.85);
  font-size: 14px;
  line-height: 1.6;
}
.rgpd-text a {
  color: var(--primary);
  text-decoration: underline;
}
.rgpd-buttons {
  display: flex;
  gap: 12px;
  flex-wrap: wrap;
}
.rgpd-btn {
  padding: 12px 24px;
  border-radius: 999px;
  font-weight: 700;
  font-size: 14px;
  cursor: pointer;
  transition: all 0.2s ease;
  border: none;
}
.rgpd-btn-accept {
  background: var(--secondary);
  color: #0B0D15;
}
.rgpd-btn-accept:hover {
  filter: brightness(1.1);
  transform: translateY(-2px);
}
.rgpd-btn-refuse {
  background: transparent;
  color: var(--text);
  border: 1px solid rgba(255,255,255,0.3);
}
.rgpd-btn-refuse:hover {
  border-color: var(--primary);
  color: var(--primary);
}
@media (max-width: 600px) {
  .rgpd-content {
    flex-direction: column;
    text-align: center;
  }
  .rgpd-buttons {
    width: 100%;
    justify-content: center;
  }
}

/* Style pour les notifications Toast */
.toast-notification {
  position: fixed;
  bottom: 30px;
  right: 30px;
  padding: 16px 24px;
  border-radius: 12px;
  color: #fff;
  font-weight: 600;
  font-size: 15px;
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.5);
  opacity: 0;
  transform: translateY(20px);
  transition: opacity 0.3s ease, transform 0.3s ease;
  z-index: 10001; /* Doit être au-dessus de la modale */
}

/* Animation d'apparition */
.toast-notification.show {
  opacity: 1;
  transform: translateY(0);
}

/* Couleurs selon le type */
.toast-success {
  background: linear-gradient(135deg, #25D366, #1ca851);
}

.toast-error {
  background: linear-gradient(135deg, #ff4b4b, #d93838);
}

/* ========================================================= */
/* --- OVERRIDES POUR CAROUSELS DRAGGABLES (SOURIS) --- */
/* ========================================================= */
.logos-track, .testimonials-track {
  animation: none !important; /* Désactive l'ancienne animation CSS */
}
.logos-track-wrapper, .testimonials-track-wrapper {
  overflow-x: auto !important;
  cursor: grab;
  scrollbar-width: none; /* Cache la barre sur Firefox */
}
.logos-track-wrapper::-webkit-scrollbar, .testimonials-track-wrapper::-webkit-scrollbar {
  display: none; /* Cache la barre sur Chrome/Safari */
}
.logos-track-wrapper.active-drag, .testimonials-track-wrapper.active-drag {
  cursor: grabbing;
}
.logo-item img {
  pointer-events: none; /* Evite le drag natif de l'image par le navigateur */
}
.testimonial-card {
  user-select: none; /* Evite de sélectionner le texte en glissant avec la souris */
}