.hero{position:relative;min-height:100vh;display:flex;align-items:center;justify-content:center;background-image:linear-gradient(135deg,#1a1a2eb3,#16213ebf),url(/images/background.png);background-size:cover;background-position:center;background-repeat:no-repeat;background-attachment:scroll;overflow:hidden}@media(min-width:769px){.hero{background-attachment:fixed}}.hero:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 20% 50%,rgba(0,255,136,.08) 0%,transparent 50%),radial-gradient(circle at 80% 80%,rgba(255,215,0,.08) 0%,transparent 50%);animation:float 20s ease-in-out infinite}@keyframes float{0%,to{transform:translate(0)}50%{transform:translate(20px,-20px)}}.hero-content{position:relative;z-index:2;text-align:center;max-width:1100px;padding:var(--spacing-md);animation:fadeInUp 1s ease-out}@keyframes fadeInUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.hero-badge{display:inline-block;background:#00ff881a;border:2px solid var(--color-accent);color:var(--color-accent);padding:.75rem 1.5rem;border-radius:var(--radius-full);font-weight:700;font-size:.95rem;margin-bottom:2rem;animation:pulse 2s ease-in-out infinite}@keyframes pulse{0%,to{transform:scale(1);box-shadow:0 0 #0f86}50%{transform:scale(1.05);box-shadow:0 0 0 10px #0f80}}.hero h1{color:var(--color-white);margin-bottom:1rem;line-height:1.1}.hero-accent{background:linear-gradient(135deg,var(--color-accent) 0%,var(--color-accent-alt) 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.hero h2{color:#ffffffe6;font-weight:600;margin-bottom:1.5rem}.hero p{color:#ffffffd9;font-size:1.25rem;line-height:1.8;max-width:800px;margin:0 auto 2rem}.hero-intro{margin-top:3rem;padding:2rem;background:#ffffff0d;backdrop-filter:none;-webkit-backdrop-filter:none;border-radius:var(--radius-lg);border:1px solid rgba(255,255,255,.1)}.hero-intro p{font-size:1.1rem;margin-bottom:.5rem}.btn{display:inline-block;padding:1rem 2.5rem;font-size:1.1rem;font-weight:700;border-radius:var(--radius-full);transition:var(--transition-smooth);cursor:pointer;position:relative;overflow:hidden;z-index:1}.btn:before{content:"";position:absolute;top:50%;left:50%;width:0;height:0;border-radius:50%;background:#fff3;transform:translate(-50%,-50%);transition:width .6s,height .6s;z-index:-1}.btn:hover:before{width:400px;height:400px}.btn-primary{background:linear-gradient(135deg,var(--color-accent) 0%,#00cc77 100%);color:var(--color-primary);box-shadow:var(--shadow-accent)}.btn-primary:hover{transform:translateY(-3px);box-shadow:0 12px 32px #0f86}.btn-secondary{background:transparent;color:var(--color-white);border:2px solid var(--color-accent)}.btn-secondary:hover{background:var(--color-accent);color:var(--color-primary);transform:translateY(-3px)}.btn-large{padding:1.25rem 3rem;font-size:1.2rem}.cta-group{display:flex;gap:1rem;justify-content:center;flex-wrap:wrap;margin-top:2rem}.section h2{text-align:center;margin-bottom:1rem;position:relative;display:inline-block;left:50%;transform:translate(-50%)}.section h2:after{content:"";position:absolute;bottom:-10px;left:50%;transform:translate(-50%);width:80px;height:4px;background:linear-gradient(90deg,var(--color-accent) 0%,var(--color-accent-alt) 100%);border-radius:2px}.section-subtitle{text-align:center;font-size:1.25rem;color:var(--color-gray-dark);margin-bottom:3rem;max-width:700px;margin-left:auto;margin-right:auto}.section.dark-bg .section-subtitle{color:#fffc}.services-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:2rem;margin-top:3rem}.service-card{background:var(--color-white);border-radius:var(--radius-lg);padding:2.5rem;box-shadow:var(--shadow-sm);transition:var(--transition-smooth);position:relative;overflow:hidden;border:2px solid transparent}.service-card{display:flex;flex-direction:column;height:100%}.service-card:before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:linear-gradient(90deg,var(--color-accent) 0%,var(--color-accent-alt) 100%)}.service-card:hover{transform:translateY(-8px);box-shadow:var(--shadow-lg);border-color:var(--color-accent)}.service-icon{font-size:3.5rem;margin-bottom:1.5rem;display:block;animation:bounce 2s ease-in-out infinite}.service-card h3{font-size:1.5rem;font-weight:700;margin-bottom:1rem;color:var(--color-primary)}.service-card>p{font-size:1rem;color:var(--color-gray-dark);line-height:1.7;margin-bottom:1.5rem}.service-benefits{margin:1.5rem 0;flex-grow:1}.service-benefits li{padding:.6rem 0;color:var(--color-text);font-size:.95rem;display:flex;align-items:center;gap:.5rem}.service-info{display:flex;justify-content:space-between;align-items:center;margin-top:1.5rem;padding-top:1.5rem;border-top:2px solid var(--color-gray)}.service-duration{color:var(--color-gray-dark);font-size:.9rem}.service-price{font-weight:800;color:var(--color-accent);font-size:1.3rem}@media(min-width:1200px){.cards-inline-desktop{grid-template-columns:repeat(4,minmax(0,1fr));align-items:stretch}}.zone-list,.specialites-grid{display:flex;flex-wrap:wrap;justify-content:center;gap:.75rem;margin:2rem 0}.zone-badge,.specialite-badge{display:inline-block;background:linear-gradient(135deg,var(--color-accent) 0%,#00cc77 100%);color:var(--color-primary);padding:.75rem 1.5rem;border-radius:var(--radius-full);font-size:.95rem;font-weight:700;transition:var(--transition-smooth);box-shadow:var(--shadow-sm)}.zone-badge:hover,.specialite-badge:hover{transform:translateY(-3px);box-shadow:var(--shadow-accent)}.horaires-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:2rem;margin:2rem 0}.horaire-item{background:var(--color-white);padding:2rem;border-radius:var(--radius-md);box-shadow:var(--shadow-sm);text-align:center;transition:var(--transition-smooth);border:2px solid transparent}.horaire-item:hover{transform:translateY(-5px);box-shadow:var(--shadow-md);border-color:var(--color-accent)}.horaire-item strong{display:block;font-size:1.2rem;color:var(--color-primary);margin-bottom:.5rem}.horaire-item span{display:block;font-size:1.5rem;font-weight:700;color:var(--color-accent)}.expertise-section{padding:var(--spacing-xl) var(--spacing-md)}.expertise-section .section-content{max-width:900px;margin:0 auto}.expertise-section h3{font-size:2rem;font-weight:700;margin:3rem 0 1.5rem;color:var(--color-accent)}.expertise-section p{font-size:1.125rem;line-height:1.8;color:#ffffffe6;margin-bottom:1rem}.diplome-list{margin:1.5rem 0}.diplome-list li{background:#00ff881a;padding:1.25rem 1.75rem;margin:1rem 0;border-radius:var(--radius-md);border-left:4px solid var(--color-accent);font-weight:500;color:#fffffff2;transition:var(--transition-medium)}.diplome-list li:hover{background:#00ff8826;transform:translate(5px)}.valeurs-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:2rem;margin-top:2rem}.valeur-item{background:#00ff880d;padding:2rem;border-radius:var(--radius-md);text-align:center;border:2px solid rgba(0,255,136,.2);transition:var(--transition-smooth)}.valeur-item:hover{background:#00ff881a;border-color:var(--color-accent);transform:translateY(-5px)}.valeur-item strong{display:block;font-size:1.4rem;margin-bottom:.75rem;color:var(--color-accent)}.valeur-item p{font-size:1rem;color:#ffffffd9}.deroulement-steps{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:2rem;margin:3rem 0}.step-item{text-align:center;padding:2rem;background:var(--color-white);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);transition:var(--transition-smooth);position:relative}.step-item:hover{transform:translateY(-8px);box-shadow:var(--shadow-md)}.step-number{width:60px;height:60px;background:linear-gradient(135deg,var(--color-accent) 0%,#00cc77 100%);color:var(--color-primary);font-size:1.8rem;font-weight:900;border-radius:50%;display:flex;align-items:center;justify-content:center;margin:0 auto 1rem;box-shadow:var(--shadow-accent)}.step-item h4{font-size:1.3rem;color:var(--color-primary);margin-bottom:.5rem}.step-item p{font-size:1rem;color:var(--color-gray-dark)}.testimonials-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:2rem;margin-top:3rem}.temoignage{background:var(--color-white);padding:2.5rem;border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);position:relative;transition:var(--transition-smooth);border:2px solid transparent}.temoignage:before{content:'"';position:absolute;top:-10px;left:20px;font-size:6rem;color:var(--color-accent);opacity:.15;font-family:Georgia,serif}.temoignage:hover{transform:translateY(-8px);box-shadow:var(--shadow-lg);border-color:var(--color-accent)}.testimonial-rating{margin-bottom:1.5rem;color:var(--color-accent-alt);font-size:1.3rem}.temoignage p{font-style:italic;line-height:1.8;color:var(--color-text);margin-bottom:1.5rem;position:relative;z-index:1}.testimonial-author{font-weight:700;color:var(--color-accent);text-align:right;font-size:1rem}.contact-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:2rem;margin-top:3rem}.contact-card{background:var(--color-white);padding:2.5rem;border-radius:var(--radius-lg);text-align:center;box-shadow:var(--shadow-sm);transition:var(--transition-smooth);border:2px solid transparent}.contact-card:hover{transform:translateY(-8px);box-shadow:var(--shadow-lg);border-color:var(--color-accent)}.contact-icon{font-size:3.5rem;margin-bottom:1rem}.contact-card h3{font-size:1.5rem;font-weight:700;margin-bottom:1rem;color:var(--color-primary)}.contact-card p{color:var(--color-text);font-size:1rem;line-height:1.6}.contact-link{display:block;color:var(--color-accent);font-weight:600;text-decoration:none;margin:.5rem 0;transition:var(--transition-medium);font-size:1rem;word-break:break-word;overflow-wrap:break-word}.contact-link:hover{color:var(--color-primary);transform:scale(1.02)}.cta-section{text-align:center;margin-top:3rem;padding-top:2rem}.cta-note{margin-top:1rem;font-size:1.1rem;color:var(--color-gray-dark)}.section.dark-bg .cta-note{color:#ffffffd9}.footer{background:linear-gradient(135deg,var(--color-primary) 0%,var(--color-secondary) 100%);color:var(--color-white);padding:4rem var(--spacing-md) 2rem}.footer-content{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:3rem;max-width:1200px;margin:0 auto 3rem}.footer-section h3{font-size:1.3rem;font-weight:700;margin-bottom:1rem;color:var(--color-accent)}.footer-section p{color:#fffc;font-size:1rem;margin:.25rem 0}.footer-section a{color:#fffc;transition:var(--transition-medium)}.footer-section a:hover{color:var(--color-accent)}.footer-nav{display:flex;flex-direction:column;gap:.75rem}.footer-nav a,.social-link{color:#fffc;text-decoration:none;transition:var(--transition-medium);padding:.25rem 0}.footer-nav a:hover,.social-link:hover{color:var(--color-accent);padding-left:5px}.social-links{display:flex;flex-direction:column;gap:.75rem}.footer-bottom{text-align:center;padding-top:2rem;border-top:1px solid rgba(255,255,255,.1);margin-top:2rem}.footer-bottom p{margin:.75rem 0;color:#ffffffb3;font-size:.95rem}.footer-seo{font-size:.85rem;opacity:.6}.footer-note{font-size:.85rem;font-style:italic}.subpart{margin-bottom:2rem}.text-center{text-align:center}.reveal{opacity:0;transform:translateY(30px);transition:opacity .8s ease,transform .8s ease}.reveal.active{opacity:1;transform:translateY(0)}@media(max-width:768px){.reveal{opacity:1;transform:translateY(0)}}.section.card-only{background:var(--color-white)}.section-image{min-height:400px;background:linear-gradient(135deg,#00ff881a,#ffd7001a);border-radius:var(--radius-lg);display:flex;align-items:center;justify-content:center;flex-direction:column;padding:2rem}.image-placeholder-text{font-size:3rem;color:var(--color-accent)}.gallery-placeholder{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1.5rem;margin-top:2rem}.gallery-item{background:linear-gradient(135deg,#00ff881a,#ffd7001a);border-radius:var(--radius-md);padding:3rem;display:flex;align-items:center;justify-content:center;font-size:3rem;min-height:200px;transition:var(--transition-smooth)}.gallery-item:hover{transform:scale(1.05);box-shadow:var(--shadow-md)}.fixed-menu-btn,.fixed-menu-dropdown,.accordion-toggle,.hero-image-placeholder{display:none}.services-section .container,#tarifs .container{max-width:1440px}.contact-section.dark-bg .contact-card{background:#fffffffa}.contact-section.dark-bg .contact-card h3{color:var(--color-primary)}.contact-section.dark-bg .contact-card p{color:var(--color-text)}@media(max-width:768px){.nav-links{display:none}.nav-toggle{display:block}.hero{min-height:auto;padding:4rem 1rem}.hero h1{font-size:2.5rem}.hero h2{font-size:1.3rem!important}.hero p{font-size:1rem!important}.hero-intro{padding:1.5rem}.hero-intro p{font-size:.95rem!important}.section{padding:3rem 0}.services-grid,.testimonials-grid,.contact-grid{grid-template-columns:1fr}.mobile-accordion .service-card{padding:0;overflow:hidden}.mobile-accordion .accordion-toggle{display:flex;width:100%;align-items:center;justify-content:space-between;background:transparent;border:none;cursor:pointer;padding:1.1rem 1.2rem;font-size:1rem;font-weight:700;color:var(--color-primary);text-align:left}.mobile-accordion .accordion-toggle-label{display:inline-flex;align-items:center;gap:.5rem;line-height:1.4}.mobile-accordion .accordion-toggle-indicator{font-size:1.4rem;font-weight:700;color:var(--color-accent);transition:transform .2s ease}.mobile-accordion .accordion-content{max-height:0;overflow:hidden;transition:max-height .25s ease,padding .25s ease;padding:0 1.2rem}.mobile-accordion .service-card.is-open .accordion-content{max-height:1200px;padding:0 1.2rem 1.2rem}.mobile-accordion .service-card.is-open .accordion-toggle-indicator{transform:rotate(45deg)}.mobile-accordion .accordion-content .service-icon{font-size:2.3rem;margin-bottom:1rem}.mobile-accordion .accordion-content h3{margin-bottom:.75rem}.service-card{padding:2rem}.cta-group{flex-direction:column;width:100%}.btn{width:100%;text-align:center}.horaires-grid,.deroulement-steps,.valeurs-list{grid-template-columns:1fr}.footer-content{grid-template-columns:1fr;gap:2rem}.subpart{margin-left:10px;margin-right:10px}.expertise-section h3{font-size:1.5rem}.zone-list,.specialites-grid{justify-content:center}.gallery-placeholder{grid-template-columns:1fr}}@media(min-width:769px)and (max-width:1024px){.services-grid,.testimonials-grid,.contact-grid,.valeurs-list,.deroulement-steps{grid-template-columns:repeat(2,1fr)}}
