*{margin:0;padding:0;box-sizing:border-box;}
.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;}
body{font-family:'Libre Baskerville',serif;background:#f0f0f0;overflow-x:hidden;}
html{scroll-behavior:smooth;overflow-x:hidden;}
.reveal{opacity:0;transform:translateY(40px);transition:0.9s ease;}
.reveal.visible{opacity:1;transform:translateY(0);}
@keyframes fadeDown{from{opacity:0;transform:translateY(-20px);}to{opacity:1;transform:translateY(0);}}
@keyframes fadeUp{from{opacity:0;transform:translateY(20px);}to{opacity:1;transform:translateY(0);}}
@keyframes floatCircle{0%,100%{transform:translateY(0);}50%{transform:translateY(-8px);}}
@keyframes fadeIn{from{opacity:0;transform:scale(0.92);}to{opacity:1;transform:scale(1);}}
.logo{animation:fadeDown 0.8s ease 0.2s both;}
.esprit-circle{animation:floatCircle 6s ease-in-out infinite;}
section[id]{scroll-margin-top:90px;}
.navbar{height:80px;display:flex;justify-content:space-between;align-items:center;padding:0 40px;background:#fff;box-shadow:0 2px 5px rgba(0,0,0,0.1);position:sticky;top:0;z-index:1000;transition:0.3s;}
.logo{height:150px;margin-top:30px;transition:0.3s;}
.nav-links{list-style:none;display:flex;gap:28px;}
.nav-links a{text-decoration:none;font-family:'Bebas Neue';font-size:22px;color:#111;transition:color 0.3s;white-space:nowrap;}
.nav-links a:hover{color:#F49991;}
.socials{display:flex;gap:15px;}
.socials img{width:22px;height:22px;transition:0.3s;}
.socials img:hover{transform:scale(1.15);}
.menu-toggle{display:none;font-size:28px;cursor:pointer;background:none;border:none;}
.navbar.scrolled{height:60px;box-shadow:0 5px 15px rgba(0,0,0,0.1);}
.navbar.scrolled .logo{height:90px;margin-top:10px;}
.mobile-menu{display:flex;flex-direction:column;gap:20px;background:white;padding:20px;position:fixed;top:-100%;left:0;width:100%;box-shadow:0 5px 10px rgba(0,0,0,0.1);z-index:999;transition:top 0.4s ease;}
.mobile-menu.show{top:80px;}
.mobile-menu a{text-decoration:none;font-family:'Bebas Neue';font-size:26px;color:#111;opacity:0;transform:translateY(10px);transition:0.3s;}
.mobile-menu.show a{opacity:1;transform:translateY(0);}
.mobile-menu.show a:nth-child(1){transition-delay:0.1s;}
.mobile-menu.show a:nth-child(2){transition-delay:0.2s;}
.mobile-menu.show a:nth-child(3){transition-delay:0.3s;}
.mobile-menu.show a:nth-child(4){transition-delay:0.4s;}
.mobile-menu.show a:nth-child(5){transition-delay:0.5s;}
.mobile-menu.show a:nth-child(6){transition-delay:0.6s;}
.mobile-socials{display:flex;gap:20px;margin-top:10px;}
.mobile-socials img{width:24px;height:24px;}
.slideshow-container{width:100%;height:100vh;position:relative;overflow:hidden;}
.slide{position:absolute;width:100%;height:100%;opacity:0;transition:opacity 3s;}
.slide.active{opacity:1;}
.slide img{width:100%;height:100%;object-fit:cover;}

/* Slide overlays */
.slide-overlay{
  position:absolute;
  top:50%;
  left:50%;
  transform:translate(-50%,-50%);
  z-index:5;
  display:flex;
  align-items:center;
  justify-content:center;
  opacity:0;
  transition:opacity 1.5s ease 0.5s;
  pointer-events:none;
}
.slide.active .slide-overlay{
  opacity:1;
}

/* Slide 1 - Logo grand dans cercle blanc */
.slide-overlay-1{
  width:clamp(240px,28vw,420px);
  height:clamp(240px,28vw,420px);
  border-radius:50%;
  background:rgba(255,255,255,0.50);
  backdrop-filter:blur(4px);
  -webkit-backdrop-filter:blur(4px);
  display:flex;
  align-items:center;
  justify-content:center;
  overflow:hidden;
}

.slide-overlay-1 img{
  width:100%;
  height:100%;
  object-fit:contain;
  display:block;
  margin:auto;
  animation:fadeIn 1.2s ease 0.8s both;
}

/* Slide 2 & 3 - Mot sans cercle, texte centré */
.slide-overlay-word{
  flex-direction:column;
}
.slide-overlay-word span{
  font-family:'Bebas Neue';
  font-size:clamp(36px,5vw,72px);
  color:#fff;
  letter-spacing:4px;
  text-align:center;
  line-height:1;
  text-shadow:0 2px 20px rgba(0,0,0,0.6);
  animation:fadeIn 1.2s ease 0.8s both;
}

.slideshow-dots{position:absolute;bottom:30px;width:100%;display:flex;justify-content:center;gap:12px;z-index:10;}
.slideshow-dots span{width:15px;height:15px;border-radius:50%;background:#FFF;cursor:pointer;display:inline-block;transition:0.3s;}
.slideshow-dots span.active{transform:scale(1.3);}
.hero-text{position:absolute;bottom:160px;left:10%;z-index:10;color:#fff;animation:fadeUp 1s ease 0.5s both;}
.hero-text h1{font-family:'Bebas Neue';font-size:clamp(36px,5vw,72px);text-shadow:0 2px 20px rgba(0,0,0,0.5);}
.hero-text p{font-size:18px;text-shadow:0 1px 10px rgba(0,0,0,0.5);margin-top:8px;}
.about-section{padding:80px 10%;background:#ffffff;}
.about-header{text-align:center;margin-bottom:50px;}
.about-header h2{font-family:'Bebas Neue';font-size:48px;}
.about-header h3{font-family:'Bebas Neue';font-size:24px;color:#888;}
.about-content{display:flex;align-items:center;gap:40px;}
.about-image{flex:1;}
.about-image img{width:100%;border-radius:10px;}
.about-text{flex:1;font-size:18px;line-height:1.7;}
.esprit{background:#efefef;padding:80px 10%;}
.esprit>h2{font-family:'Bebas Neue';font-size:48px;text-align:center;margin-bottom:60px;}
.esprit-row{display:flex;align-items:center;margin-bottom:60px;gap:40px;}
.esprit-col-1{flex:0 0 auto;display:flex;flex-direction:column;align-items:center;text-align:center;}
.esprit-col-2{flex:1;font-family:'Libre Baskerville';font-size:18px;line-height:1.7;}
.esprit-title{font-family:'Bebas Neue';font-size:clamp(28px,7vw,60px);position:relative;z-index:2;white-space:nowrap;}
.esprit-circle{width:80px;height:80px;background:#F49991;border-radius:50%;position:absolute;top:-20px;left:-20px;z-index:1;}
.esprit-image{width:100%;max-width:220px;height:auto;margin-top:20px;border-radius:8px;object-fit:cover;}
.esprit-row-reverse .esprit-col-1{order:0;}
.esprit-row-reverse .esprit-col-2{order:0;}
.realisations{padding:80px 8%;background:#fff;text-align:center;}
.realisations h2{font-family:'Bebas Neue';font-size:52px;margin-bottom:30px;}
.poly-wrapper{position:relative;display:flex;flex-direction:column;align-items:center;margin-bottom:60px;}
.poly-circle,.poly-visual-circle{position:absolute;width:14.28vw;height:14.28vw;background:#F49991;border-radius:50%;top:-35px;z-index:0;opacity:0;transform:scale(0.5);transition:1s;}
.poly-circle.show,.poly-visual-circle.show{opacity:1;transform:scale(1);}
.poly-title{font-family:'Bebas Neue';font-size:40px;z-index:2;}
.poly-sub{max-width:700px;margin-top:10px;font-size:18px;z-index:2;}
.realisations-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;}
.real-item{position:relative;cursor:pointer;overflow:hidden;border-radius:8px;}
.real-item img{width:100%;height:450px;object-fit:cover;transition:transform 0.4s ease;border-radius:8px;}
.real-item:hover img{transform:scale(1.08);}
.play-overlay{position:absolute;top:0;left:0;width:100%;height:100%;display:flex;justify-content:center;align-items:center;opacity:1;transition:0.3s;}
.real-item:hover .play-overlay{background:rgba(0,0,0,0.35);}
.play-icon{width:60px;height:60px;border-radius:50%;background:rgba(255,255,255,0.85);display:flex;align-items:center;justify-content:center;font-size:25px;transition:transform 0.3s ease;box-shadow:0 2px 12px rgba(0,0,0,0.3);}
.play-icon::before{content:'\25BA';margin-left:5px;}
.real-item:hover .play-icon{transform:scale(1.2);background:white;}
.poly-visual-wrapper{display:flex;flex-direction:column;align-items:center;margin:60px 0;position:relative;}
.poly-visual-title{font-family:'Bebas Neue';font-size:40px;z-index:2;}
.poly-visual-sub{max-width:700px;margin-top:10px;font-size:18px;z-index:2;}
.poly-visual-grid{display:flex;gap:20px;flex-wrap:wrap;justify-content:center;margin-top:40px;}
.video-thumb{position:relative;cursor:pointer;border-radius:8px;overflow:hidden;}
.video-thumb img{width:300px;height:170px;object-fit:cover;border-radius:8px;transition:0.3s;display:block;}
.video-thumb:hover img{transform:scale(1.05);}
.video-thumb::after{content:'\25BA';position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);font-size:50px;color:white;opacity:0.8;transition:0.3s;}
.video-thumb:hover::after{transform:translate(-50%,-50%) scale(1.2);}
.video-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background:rgba(0,0,0,0.9);display:flex;align-items:center;justify-content:center;opacity:0;pointer-events:none;transition:0.4s;z-index:2000;}
.video-overlay.active{opacity:1;pointer-events:auto;}
.video-container{position:relative;width:80%;max-width:900px;aspect-ratio:16/9;transform:scale(0.9);transition:0.4s;}
.video-overlay.active .video-container{transform:scale(1);}
.video-container iframe{width:100%;height:100%;border-radius:10px;border:none;}
.close-video{position:absolute;top:-40px;right:0;font-size:30px;color:white;cursor:pointer;}
/* ── Lecteur audio ── */
.audio-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background:rgba(0,0,0,0.82);display:flex;align-items:center;justify-content:center;opacity:0;pointer-events:none;transition:0.4s;z-index:2000;}
.audio-overlay.active{opacity:1;pointer-events:auto;}
.audio-box{background:#1a1a1a;border-radius:16px;padding:36px 40px;width:min(500px,90vw);text-align:center;transform:scale(0.9);transition:0.4s;position:relative;}
.audio-overlay.active .audio-box{transform:scale(1);}
.audio-close{position:absolute;top:14px;right:18px;font-size:26px;color:#aaa;cursor:pointer;line-height:1;background:none;border:none;}
.audio-close:hover{color:#fff;}
.audio-title{font-family:'Bebas Neue';font-size:28px;color:#fff;letter-spacing:2px;margin-bottom:6px;}
.audio-subtitle{font-size:13px;color:#888;margin-bottom:20px;}
.audio-thumb{width:100%;max-height:180px;object-fit:cover;border-radius:10px;margin-bottom:20px;}
.audio-box audio{width:100%;outline:none;border-radius:8px;}
.audio-avantmix{display:inline-block;margin-top:16px;font-family:'Bebas Neue';font-size:15px;letter-spacing:1.5px;color:#F49991;text-decoration:none;border:1px solid #F49991;border-radius:6px;padding:6px 16px;transition:0.3s;}
.audio-avantmix:hover{background:#F49991;color:#fff;}
.audio-label{font-size:12px;color:#666;margin-top:10px;margin-bottom:4px;}
.contact{padding:80px 10%;background:#efefef;}
.contact h2{font-family:'Bebas Neue';font-size:48px;text-align:center;margin-bottom:40px;}
.contact-content{display:flex;gap:40px;flex-wrap:wrap;align-items:flex-start;}
.contact-image{flex:1;min-width:250px;}
.contact-image img{width:100%;border-radius:10px;}
.contact-text{flex:2;min-width:250px;font-size:18px;line-height:1.7;}
.contact-form{margin-top:20px;display:flex;flex-direction:column;gap:20px;}
.contact-form input,.contact-form textarea{padding:12px;font-size:16px;border:1px solid #ccc;border-radius:6px;width:100%;font-family:'Libre Baskerville';transition:border 0.3s;}
.contact-form input:focus,.contact-form textarea:focus{border-color:#F49991;outline:none;}
.contact-form button{padding:15px;font-size:18px;font-family:'Bebas Neue';letter-spacing:2px;border:none;background:#F49991;color:white;border-radius:6px;cursor:pointer;transition:0.3s;}
.contact-form button:hover{background:#e06666;}
.contact-form button:disabled{background:#ccc;cursor:not-allowed;}
#form-status{font-size:15px;text-align:center;padding:10px;border-radius:6px;display:none;}
#form-status.success{background:#d4edda;color:#155724;display:block;}
#form-status.error{background:#f8d7da;color:#721c24;display:block;}
footer{padding:60px 10% 30px;background:#111;color:#fff;}
.footer-top{display:flex;flex-wrap:wrap;gap:40px;justify-content:space-between;align-items:flex-start;padding-bottom:40px;border-bottom:1px solid #333;}
.footer-brand img{height:120px;filter:brightness(10);}
.footer-brand p{color:#aaa;margin-top:12px;font-size:14px;max-width:280px;line-height:1.7;}
.footer-nav h4,.footer-contact-col h4{font-family:'Bebas Neue';font-size:20px;letter-spacing:2px;color:#F49991;margin-bottom:16px;}
.footer-nav ul{list-style:none;}
.footer-nav ul li{margin-bottom:10px;}
.footer-nav ul li a{text-decoration:none;color:#aaa;font-size:15px;transition:color 0.3s;}
.footer-nav ul li a:hover{color:#F49991;}
.footer-contact-col p{color:#aaa;font-size:15px;line-height:2;}
.footer-contact-col a{color:#aaa;text-decoration:none;transition:color 0.3s;}
.footer-contact-col a:hover{color:#F49991;}
.footer-socials-row{display:flex;gap:16px;margin-top:16px;align-items:center;}
.footer-socials-row a{display:flex;align-items:center;justify-content:center;}
.footer-socials-row a img{width:28px;height:28px;object-fit:contain;filter:grayscale(100%) brightness(2);transition:0.3s;}
.footer-socials-row a:hover img{transform:scale(1.15);}
.footer-bottom{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;padding-top:24px;gap:10px;}
.footer-bottom p{color:#555;font-size:13px;}
.footer-bottom span{color:#F49991;}
#backToTop{position:fixed;bottom:30px;right:30px;width:48px;height:48px;border-radius:50%;background:#F49991;color:white;border:none;font-size:26px;cursor:pointer;z-index:900;opacity:0;pointer-events:none;transition:opacity 0.4s,transform 0.3s;box-shadow:0 4px 15px rgba(244,153,145,0.4);display:flex;align-items:center;justify-content:center;line-height:1;}

/* ── Bannière de consentement cookies (RGPD/CNIL) ── */
#cookieBanner{position:fixed;bottom:0;left:0;width:100%;background:#111;color:#fff;padding:18px 24px;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:16px;z-index:2000;box-shadow:0 -4px 20px rgba(0,0,0,0.25);}
#cookieBanner p{font-size:14px;line-height:1.5;margin:0;flex:1;min-width:240px;}
.cookie-banner-actions{display:flex;gap:12px;flex-shrink:0;}
.cookie-btn{font-family:'Bebas Neue';letter-spacing:1px;font-size:15px;padding:10px 22px;border-radius:6px;border:2px solid #fff;cursor:pointer;transition:0.3s;}
.cookie-btn-primary{background:#F49991;color:#111;border-color:#F49991;}
.cookie-btn-primary:hover{opacity:0.85;}
.cookie-btn-secondary{background:transparent;color:#fff;}
.cookie-btn-secondary:hover{background:rgba(255,255,255,0.15);}
@media(max-width:600px){
  #cookieBanner{flex-direction:column;align-items:stretch;text-align:center;}
  .cookie-banner-actions{justify-content:center;}
}
#backToTop.visible{opacity:1;pointer-events:auto;}
#backToTop:hover{transform:translateY(-4px);}
@media(max-width:900px){
  .nav-links,.socials{display:none;}
  .menu-toggle{display:block;}
  .about-content,.contact-content{flex-direction:column;}
  .about-image img,.contact-image img{width:80%;margin:0 auto;display:block;}
  .esprit-row{flex-direction:column;}
  .esprit-col-1{order:1;}
  .esprit-col-2{order:2;}
  .esprit-row-reverse .esprit-col-1{order:1;}
  .esprit-row-reverse .esprit-col-2{order:2;}
  .realisations-grid{grid-template-columns:repeat(2,1fr);}
  .real-item img{height:200px;}
  .video-thumb img{width:100%;height:200px;}
  .video-container{width:95%;}
  .contact-image{width:50%;display:block;margin:0 auto;}
  .footer-top{flex-direction:column;gap:30px;}
  .hero-text h1{font-size:36px;}
  .slide-overlay-1{width:200px;height:200px;}
  .slide-overlay-word{width:auto;height:auto;}
  .slide-overlay-word span{font-size:32px;}
  /* Fix espacements mobile */
  .nav-links a{letter-spacing:0;}
  .mobile-menu a{letter-spacing:0;word-spacing:normal;}
  .contact-text p{word-spacing:normal;letter-spacing:normal;}
  /* Numéro de tel sur une seule ligne */
  .contact-text a[href^="tel"]{white-space:nowrap;display:inline;}
  /* Logo réduit sur mobile : évite qu'il déborde de la navbar et
     ne vienne "voler" le clic du 1er lien du menu mobile (À propos) */
  .logo{height:70px;margin-top:0;}
  .navbar.scrolled .logo{height:52px;margin-top:0;}
}

/* ══════════════════════════════════════════════════════════
   Ajouts — restructuration multi-pages (SEO)
   ══════════════════════════════════════════════════════════ */

/* Section "Services" (page d'accueil) */
.services{padding:80px 10%;background:#efefef;text-align:center;}
.services>h2{font-family:'Bebas Neue';font-size:48px;margin-bottom:16px;}
.services>p{max-width:700px;margin:0 auto 50px;font-size:18px;color:#444;}
.services-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:30px;text-align:left;}
.service-card{background:#fff;border-radius:12px;padding:36px 30px;transition:transform 0.3s ease,box-shadow 0.3s ease;box-shadow:0 2px 10px rgba(0,0,0,0.04);}
.service-card:hover{transform:translateY(-6px);box-shadow:0 12px 30px rgba(0,0,0,0.09);}
.service-card h3{font-family:'Bebas Neue';font-size:28px;margin-bottom:14px;letter-spacing:1px;}
.service-card p{font-size:16px;line-height:1.6;color:#333;margin-bottom:20px;min-height:75px;}
.service-card a{display:inline-block;font-family:'Bebas Neue';letter-spacing:1px;font-size:16px;color:#F49991;text-decoration:none;border-bottom:1px solid #F49991;padding-bottom:2px;transition:0.3s;}
.service-card a:hover{color:#e06666;border-color:#e06666;}

/* En-tête de page interne (sous-pages) — motif de cercles de marque, pas de photo */
.page-hero{position:relative;overflow:hidden;padding:170px 10% 70px;background:#111;color:#fff;text-align:center;}
.page-hero::before{content:'';position:absolute;width:520px;height:520px;border-radius:50%;background:#F49991;opacity:0.14;top:-180px;right:-140px;pointer-events:none;}
.page-hero::after{content:'';position:absolute;width:320px;height:320px;border-radius:50%;background:#F49991;opacity:0.09;bottom:-140px;left:-90px;pointer-events:none;}
.page-hero h1,.page-hero p{position:relative;z-index:1;}
.page-hero h1{font-family:'Bebas Neue';font-size:clamp(36px,6vw,60px);letter-spacing:2px;}
.page-hero p{font-size:18px;color:#ccc;margin-top:14px;max-width:720px;margin-left:auto;margin-right:auto;line-height:1.6;}

/* Sections de contenu génériques (sous-pages) */
.page-section{padding:70px 10%;background:#fff;}
.page-section.alt{background:#efefef;}
.page-section h2{font-family:'Bebas Neue';font-size:38px;margin-bottom:22px;}
.page-section h3{font-family:'Bebas Neue';font-size:24px;margin:24px 0 10px;color:#333;}
.page-section p{font-size:18px;line-height:1.75;margin-bottom:16px;max-width:900px;}
.page-section-grid{display:flex;gap:50px;align-items:flex-start;flex-wrap:wrap;}
.page-section-grid>div{flex:1;min-width:280px;}
.page-section-grid img{width:100%;height:320px;object-fit:cover;border-radius:10px;background:#e5e5e5;}
.page-section-grid img.icon-image{width:auto;height:auto;max-width:260px;display:block;margin:20px auto 0;border-radius:0;background:none;object-fit:contain;}
.page-hero.has-bg{background-size:cover;background-position:center;}

.feature-list{list-style:none;margin:10px 0 26px;max-width:700px;}
.feature-list li{padding-left:30px;position:relative;margin-bottom:14px;font-size:17px;line-height:1.5;}
.feature-list li::before{content:'\2713';position:absolute;left:0;top:0;color:#F49991;font-weight:bold;font-size:18px;}

/* Bandeau d'appel à l'action (sous-pages) */
.cta-banner{padding:60px 10%;background:#F49991;text-align:center;color:#fff;}
.cta-banner h2{font-family:'Bebas Neue';font-size:34px;margin-bottom:10px;letter-spacing:1px;}
.cta-banner p{font-size:17px;margin-bottom:22px;opacity:0.95;}
.cta-button{display:inline-block;padding:14px 36px;background:#111;color:#fff;font-family:'Bebas Neue';font-size:18px;letter-spacing:2px;text-decoration:none;border-radius:6px;transition:0.3s;}
.cta-button:hover{background:#000;transform:translateY(-2px);}

@media(max-width:900px){
  .services-grid{grid-template-columns:1fr;}
  .page-section-grid{flex-direction:column;}
  .page-hero{padding:150px 8% 50px;}
}
