.loader{position:fixed;inset:0;z-index:99999;background:#FAFAFA;display:flex;align-items:center;justify-content:center;transition:opacity .8s cubic-bezier(.16,1,.3,1),transform .8s cubic-bezier(.16,1,.3,1)}.loader.fade-out{opacity:0;transform:scale(1.05);pointer-events:none}.loader-content{text-align:center;display:flex;flex-direction:column;align-items:center;gap:1.5rem}.loader-turntable{position:relative;width:160px;height:160px}.loader-turntable .vinyl{width:100%;height:100%;animation:vinylSpin 6s linear infinite}@keyframes vinylSpin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.loader-tonearm{position:absolute;top:15%;right:5%;width:4px;height:60px;background:linear-gradient(180deg,#888,#555);border-radius:2px;transform-origin:top center;transform:rotate(-20deg);animation:tonearmMove 2s ease-in-out infinite alternate}@keyframes tonearmMove{0%{transform:rotate(-20deg)}to{transform:rotate(-5deg)}}.loader-eq{display:flex;gap:4px;align-items:flex-end;height:30px}.loader-eq span{width:6px;background:var(--color-accent);border-radius:3px;animation:eqBounce .8s ease-in-out infinite alternate}.loader-eq span:first-child{height:10px;animation-delay:0s}.loader-eq span:nth-child(2){height:20px;animation-delay:.1s}.loader-eq span:nth-child(3){height:30px;animation-delay:.2s}.loader-eq span:nth-child(4){height:15px;animation-delay:.3s}.loader-eq span:nth-child(5){height:25px;animation-delay:.4s}@keyframes eqBounce{0%{transform:scaleY(.3)}to{transform:scaleY(1)}}.loader-percent{font-family:var(--font-display);font-size:2rem;font-weight:700;color:var(--color-accent);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.loader-text{font-family:var(--font-body);font-size:.85rem;color:var(--color-text-muted);letter-spacing:.05em}.hero{min-height:100vh;display:flex;align-items:center;position:relative;overflow:hidden;padding-top:var(--nav-height)}.hero-bg{position:absolute;inset:0;z-index:0;background:radial-gradient(ellipse 80% 60% at 70% 40%,rgba(108,60,233,.12) 0,transparent 70%),radial-gradient(ellipse 60% 80% at 20% 80%,rgba(108,60,233,.08) 0,transparent 60%),radial-gradient(ellipse 50% 50% at 50% 50%,rgba(139,92,246,.06) 0,transparent 80%),linear-gradient(180deg,var(--color-bg) 0,#EDE8FF 50%,var(--color-bg) 100%)}.hero-bg:before{content:"";position:absolute;top:15%;right:5%;width:min(400px,80vw);height:min(400px,80vw);border-radius:50%;border:1px solid rgba(108,60,233,.1);animation:hero-orbit 20s linear infinite}.hero-bg:after{content:"";position:absolute;top:25%;right:10%;width:min(250px,60vw);height:min(250px,60vw);border-radius:50%;border:1px dashed rgba(108,60,233,.08);animation:hero-orbit 15s linear infinite reverse}@keyframes hero-orbit{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.hero-particles{position:absolute;inset:0;z-index:0;overflow:hidden;pointer-events:none}.particle{position:absolute;font-size:1.2rem;opacity:0}.hero-content{position:relative;z-index:1;padding-top:clamp(3rem,8vw,6rem);padding-bottom:clamp(3rem,8vw,6rem)}.hero-badge{display:inline-flex;align-items:center;gap:.5rem;padding:.5rem 1rem;background:var(--color-white);border:1px solid var(--color-border);border-radius:var(--radius-full);font-size:.8rem;font-weight:500;color:var(--color-text-muted);margin-bottom:2rem;box-shadow:var(--shadow-sm)}.hero-badge .dot{width:6px;height:6px;border-radius:50%;background:var(--color-success);animation:pulse-dot 3s ease-in-out infinite}@keyframes pulse-dot{0%,to{opacity:1}50%{opacity:.4}}.hero h1{margin-bottom:.25em;font-family:Playfair Display,serif;font-weight:900;font-style:normal;letter-spacing:-.01em}.hero h1 .line{display:inline-block}.hero h1 .accent{color:var(--color-accent)}.hero-subtitle{font-size:clamp(1.1rem,2vw,1.35rem);color:var(--color-text-muted);max-width:700px;min-height:1.6em;margin-bottom:2.5rem;font-weight:300;line-height:1.6;text-align:left}.hero-subtitle .typed-word-wrapper{display:inline-block;position:relative;vertical-align:bottom}.hero-subtitle .typed-word-sizer{visibility:hidden;display:block;height:0;overflow:hidden}.hero-subtitle .typed-word{color:var(--color-accent);font-weight:500}.hero-subtitle .typed-cursor{display:inline-block;width:2px;height:1.1em;background:var(--color-accent);margin-left:2px;vertical-align:text-bottom;animation:cursorFade 2s ease-in-out infinite!important}@keyframes cursorFade{0%{opacity:0}50%{opacity:1}to{opacity:0}}.hero-actions{display:flex;gap:1rem;flex-wrap:wrap;align-items:center}.stats-banner{background:var(--color-accent);padding:3rem 0}.stats-banner-inner{display:flex;justify-content:center;align-items:center;gap:4rem}.stats-banner-item{display:flex;align-items:center;gap:1.25rem}.stats-banner-item svg{color:rgba(255,255,255,.7);flex-shrink:0}.stats-banner-number{font-family:var(--font-numbers);font-size:clamp(2.2rem,3.5vw,3.2rem);font-weight:700;color:#fff;line-height:1;letter-spacing:-.03em}.stats-banner-label{font-size:.9rem;color:rgba(255,255,255,.75);font-weight:400;margin-top:.2rem}.stats-banner-divider{width:1px;height:50px;background:rgba(255,255,255,.25)}.about{background:var(--color-white)}.about-grid{display:grid;grid-template-columns:1fr 1fr;grid-gap:clamp(2rem,5vw,5rem);gap:clamp(2rem,5vw,5rem);align-items:center}.about-images{display:grid;grid-template-columns:1fr 1fr;grid-gap:1rem;gap:1rem;position:relative}.about-images .img-wrapper{border-radius:var(--radius-lg);overflow:hidden;aspect-ratio:3/4}.about-images .img-wrapper:nth-child(2){margin-top:2rem}.about-images .img-wrapper img,.gallery-item img{width:100%;height:100%;object-fit:cover;transition:transform 1.2s cubic-bezier(.16,1,.3,1);will-change:transform}.about-images .img-wrapper:hover img{transform:scale(1.04)}.img-placeholder{width:100%;height:100%;display:flex;align-items:center;justify-content:center;font-family:var(--font-body);font-size:.8rem;font-weight:500;color:rgba(255,255,255,.7);text-align:center;padding:1rem;letter-spacing:.05em;transition:transform 1.2s cubic-bezier(.16,1,.3,1);will-change:transform}.img-placeholder.dj{background:linear-gradient(135deg,#1A1A2E,#16213E 50%,#0F3460)}.img-placeholder.percu{background:linear-gradient(135deg,#2D1B69,#4A1A8A 50%,#6C3CE9)}.img-placeholder.event{background:linear-gradient(135deg,#0A0A0A,#1A1A2E 50%,#2D1B69)}.img-placeholder.mariage{background:linear-gradient(135deg,#16213E,#1A1A2E 50%,#2D1B69)}.img-placeholder.festival{background:linear-gradient(135deg,#4A1A8A,#6C3CE9 50%,#8B5CF6)}.about-images .img-wrapper:hover .img-placeholder,.gallery-item:hover .img-placeholder{transform:scale(1.04)}.reveal-text{-webkit-clip-path:inset(0 100% 0 0);clip-path:inset(0 100% 0 0)}.reveal-text.revealed{-webkit-clip-path:inset(0 0 0 0);clip-path:inset(0 0 0 0);transition:-webkit-clip-path 1.4s cubic-bezier(.16,1,.3,1);transition:clip-path 1.4s cubic-bezier(.16,1,.3,1);transition:clip-path 1.4s cubic-bezier(.16,1,.3,1),-webkit-clip-path 1.4s cubic-bezier(.16,1,.3,1)}.about-text h2{margin-bottom:1.5rem}.about-text p{color:var(--color-text-muted);margin-bottom:1rem;font-size:1.05rem}.about-features{display:grid;grid-template-columns:1fr 1fr;grid-gap:1rem;gap:1rem;margin-top:2rem}.about-feature{display:flex;align-items:center;gap:.75rem;padding:.75rem 1rem;background:var(--color-bg);border-radius:var(--radius-md)}.about-feature .icon{width:36px;height:36px;border-radius:var(--radius-sm);background:var(--color-accent-glow);display:flex;align-items:center;justify-content:center;font-size:1rem;flex-shrink:0}.about-feature span{font-size:.85rem;font-weight:500}.formation-toggle{display:flex;align-items:center;justify-content:center;gap:2rem;margin:2rem auto 2.5rem;padding:1.5rem 2rem;background:white;border-radius:20px;border:1px solid var(--color-border-light);box-shadow:0 4px 24px rgba(0,0,0,.06);max-width:700px}.toggle-option{display:flex;flex-direction:column;align-items:center;gap:.5rem;cursor:pointer;transition:all .4s cubic-bezier(.16,1,.3,1);opacity:.4;padding:.75rem;border-radius:12px}.toggle-option.active{opacity:1}.toggle-option:hover{opacity:.8}.toggle-option.active:hover{opacity:1}.toggle-icon{width:48px;height:48px;color:var(--color-text-muted);transition:color .4s ease}.toggle-icon.icon-duo{width:64px}.toggle-option.active .toggle-icon{color:var(--color-accent)}.toggle-label{font-family:var(--font-display);font-weight:700;font-size:1rem;color:var(--color-text);transition:color .3s ease}.toggle-sublabel{font-size:.8rem;color:var(--color-text-muted)}.toggle-option.active .toggle-label{color:var(--color-accent)}.toggle-switch{cursor:pointer;padding:.5rem}.toggle-track{width:56px;height:30px;background:#E8E5F0;border-radius:15px;position:relative;transition:background .4s ease}.toggle-track.duo{background:var(--color-accent)}.toggle-thumb{width:24px;height:24px;background:white;border-radius:50%;position:absolute;top:3px;left:3px;transition:transform .4s cubic-bezier(.16,1,.3,1);box-shadow:0 2px 8px rgba(0,0,0,.15)}.toggle-track.duo .toggle-thumb{transform:translateX(26px)}.pricing{background:var(--color-white)}.pricing-header{text-align:center;max-width:640px;margin:0 auto 2rem}.pricing-header p{color:var(--color-text-muted);font-size:1.1rem;margin-top:1rem}.pricing-grid{display:grid;grid-template-columns:1fr;max-width:520px;margin:0 auto;grid-gap:1.5rem;gap:1.5rem;align-items:center}.pricing-card{background:var(--color-bg);border:1px solid var(--color-border-light);border-radius:var(--radius-lg);padding:2.5rem 2rem;transition:all .4s ease;position:relative}.pricing-card.featured{background:var(--color-white);color:var(--color-text);border:2px solid var(--color-accent);transform:scale(1.04);z-index:1;box-shadow:var(--shadow-lg),0 0 0 4px var(--color-accent-glow)}.pricing-card.featured .pricing-name{color:var(--color-accent)}.pricing-card.featured .price-label,.pricing-card.featured .pricing-feature{color:var(--color-text-muted)}.pricing-card.featured .pricing-feature .check{color:var(--color-accent)}.pricing-card.featured:hover{transform:scale(1.06) translateY(-4px)}.pricing-card:not(.featured):hover{border-color:var(--color-accent);transform:translateY(-4px);box-shadow:var(--shadow-md)}.pricing-name{font-family:var(--font-body);font-size:.8rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase;margin-bottom:1rem}.pricing-price{margin-bottom:.25rem}.pricing-price .amount{font-family:var(--font-numbers);font-size:clamp(2.5rem,3.5vw,3.2rem);font-weight:700;line-height:1;letter-spacing:-.03em}.pricing-price .currency{font-family:var(--font-numbers);font-size:1.5rem;font-weight:500}.price-label{font-size:.85rem;color:var(--color-text-muted);margin-bottom:2rem}.pricing-divider{width:100%;height:1px;background:var(--color-border);margin-bottom:2rem}.pricing-card.featured .pricing-divider{background:var(--color-accent-glow)}.pricing-features{list-style:none;margin-bottom:2rem}.pricing-feature{display:flex;align-items:center;gap:.6rem;padding:.45rem 0;font-size:.9rem;color:var(--color-text-muted)}.pricing-feature .check{color:var(--color-accent);font-size:1rem}.pricing-card .btn{width:100%;justify-content:center}.pricing-note{text-align:center;margin-top:2rem;font-size:.85rem;color:var(--color-text-light)}.gallery{padding-bottom:clamp(3rem,6vw,5rem)}.gallery-header{text-align:center;max-width:640px;margin:0 auto 3rem}.gallery-header p{color:var(--color-text-muted);font-size:1.1rem;margin-top:1rem}.gallery-grid{display:grid;grid-template-columns:repeat(4,1fr);grid-template-rows:auto auto;grid-gap:1rem;gap:1rem}.gallery-item{border-radius:var(--radius-md);overflow:hidden;aspect-ratio:4/3;position:relative;cursor:pointer}.gallery-item:first-child{grid-column:span 2;grid-row:span 2;aspect-ratio:auto}.gallery-item img{width:100%;height:100%;object-fit:cover;transition:transform .6s ease}.gallery-item:hover img{transform:scale(1.06)}.gallery-item .overlay{position:absolute;inset:0;background:linear-gradient(180deg,transparent 50%,rgba(0,0,0,.5));opacity:0;transition:opacity .4s ease;display:flex;align-items:flex-end;padding:1.25rem}.gallery-item:hover .overlay{opacity:1}.gallery-item .overlay span{color:var(--color-white);font-size:.85rem;font-weight:500}.reviews{background:var(--color-white)}.reviews-header{text-align:center;max-width:640px;margin:0 auto 3rem}.reviews-header p{color:var(--color-text-muted);font-size:1.1rem;margin-top:1rem}.reviews-score{display:flex;align-items:center;justify-content:center;gap:2rem;margin-bottom:3rem;padding:2rem;background:var(--color-bg);border-radius:var(--radius-lg);max-width:480px;margin-left:auto;margin-right:auto}.reviews-score .big-number{font-family:var(--font-numbers);font-size:3.5rem;font-weight:700;line-height:1;letter-spacing:-.03em;color:var(--color-text)}.reviews-score .stars{font-size:1.3rem;letter-spacing:2px;display:inline-flex;gap:1px}.star.full{color:#F59E0B}.star.partial{background:linear-gradient(90deg,#F59E0B 80%,#D1D5DB 0);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.reviews-score .source{font-size:.8rem;color:var(--color-text-muted);margin-top:.25rem}.reviews-score .source a{color:var(--color-accent);text-decoration:underline;text-underline-offset:2px}.reviews-grid{display:grid;grid-template-columns:1fr 1fr;grid-gap:1.5rem;gap:1.5rem;max-width:900px;margin:0 auto}.review-card{background:var(--color-bg);border-radius:var(--radius-lg);padding:2rem;position:relative}.review-card .quote-mark{font-family:var(--font-display);font-size:4rem;color:var(--color-accent);opacity:.2;line-height:1;position:absolute;top:1rem;right:1.5rem}.review-card .stars{color:var(--color-star);font-size:.85rem;margin-bottom:1rem;letter-spacing:1px}.review-card p{font-size:.95rem;color:var(--color-text-muted);line-height:1.7;margin-bottom:1.25rem;font-style:italic}.review-author{font-size:.85rem;font-weight:600;color:var(--color-text)}.review-event{font-size:.75rem;color:var(--color-text-light);margin-top:.15rem}.faq-header{text-align:center;max-width:640px;margin:0 auto 3rem}.faq-header p{color:var(--color-text-muted);font-size:1.1rem;margin-top:1rem}.faq-list{max-width:760px;margin:0 auto}.faq-item{border-bottom:1px solid var(--color-border-light)}.faq-question{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1.5rem 0;cursor:pointer;width:100%;background:none;border:none;font-family:var(--font-body);font-size:1.05rem;font-weight:500;color:var(--color-text);text-align:left;transition:color .3s ease}.faq-question:hover{color:var(--color-accent)}.faq-icon{width:36px;height:36px;border-radius:50%;border:1.5px solid var(--color-border);display:flex;align-items:center;justify-content:center;font-size:1.2rem;flex-shrink:0;transition:all .3s ease;color:var(--color-text-muted)}.faq-item.active .faq-icon{background:var(--color-accent);border-color:var(--color-accent);color:var(--color-white);transform:rotate(45deg)}.faq-answer{max-height:0;overflow:hidden;transition:max-height .4s cubic-bezier(.16,1,.3,1),padding .4s ease}.faq-answer-inner{padding-bottom:1.5rem;color:var(--color-text-muted);font-size:.95rem;line-height:1.7;text-align:justify!important}.contact{background:var(--color-white)}.contact-grid{display:grid;grid-template-columns:1fr 1fr;grid-gap:clamp(2rem,5vw,4rem);gap:clamp(2rem,5vw,4rem)}.contact-info h2{margin-bottom:1rem}.contact-info>p{color:var(--color-text-muted);font-size:1.05rem;margin-bottom:2rem}.contact-details{display:flex;flex-direction:column;gap:1.25rem}.contact-detail{display:flex;align-items:flex-start;gap:1rem}.contact-detail .icon{width:40px;height:40px;border-radius:var(--radius-sm);background:var(--color-accent-glow);display:flex;align-items:center;justify-content:center;font-size:1rem;flex-shrink:0}.contact-detail .detail-label{font-size:.75rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--color-text-light)}.contact-detail .detail-value{font-size:.95rem;color:var(--color-text);margin-top:.15rem}.contact-form-wrapper{background:var(--color-bg);border-radius:var(--radius-lg);padding:clamp(1.5rem,3vw,2.5rem)}.form-group{margin-bottom:1.25rem}.form-group label{display:block;font-size:.8rem;font-weight:600;letter-spacing:.05em;text-transform:uppercase;color:var(--color-text-muted);margin-bottom:.5rem}.form-group input,.form-group select,.form-group textarea{width:100%;padding:.8rem 1rem;border:1.5px solid var(--color-border);border-radius:var(--radius-md);font-family:var(--font-body);font-size:.95rem;color:var(--color-text);background:var(--color-white);transition:border-color .3s ease,box-shadow .3s ease;outline:none}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{border-color:var(--color-accent);box-shadow:0 0 0 3px var(--color-accent-glow)}.form-group textarea{resize:vertical;min-height:100px}.form-row{display:grid;grid-template-columns:1fr 1fr;grid-gap:1rem;gap:1rem}.contact-form-wrapper .btn{width:100%;justify-content:center;margin-top:.5rem}.about-text p,.service-card p,p{text-align:justify}.faq-answer p,.faq-answer-inner{text-align:justify!important}.btn,.hero-badge,.hero-stats,.nav-links,.section-header,.section-label,h1,h2,h3,h4,h5,h6{text-align:left}@media (max-width:768px){.about-text p,.service-card p,p{text-align:left}.faq-answer p,.faq-answer-inner{text-align:left!important}}@media (max-width:1024px){.pricing-grid{grid-template-columns:1fr;max-width:480px;margin-left:auto;margin-right:auto}.pricing-card.featured{transform:none}.pricing-card{padding:2rem 1.5rem}.about-grid{grid-template-columns:1fr;gap:3rem}.about-images{max-width:500px;margin:0 auto}.gallery-grid{grid-template-columns:repeat(2,1fr);overflow:hidden}.gallery-item:first-child{grid-column:span 2;grid-row:span 1;aspect-ratio:16/9}.gallery-item{overflow:hidden;min-width:0}.gallery-item .img-placeholder{min-width:0;max-width:100%;box-sizing:border-box}.about-feature{gap:.85rem}.about-feature .icon{flex-shrink:0;min-width:36px}.contact-detail{gap:1rem}.contact-detail .icon{flex-shrink:0;min-width:40px}.contact-grid{grid-template-columns:1fr}.stats-banner-inner{gap:2rem;flex-wrap:wrap;justify-content:center;padding:0 1rem}.stats-banner-item{gap:.75rem}.stats-banner-item svg{width:28px;height:28px}.stats-banner-number{font-size:clamp(1.6rem,3vw,2.2rem)}.stats-banner-label{font-size:.8rem}.stats-banner-divider{height:40px}.reviews-grid{grid-template-columns:1fr;max-width:600px;margin-left:auto;margin-right:auto}.formation-toggle{gap:1.25rem;padding:1.25rem 1.5rem;max-width:100%}}@media (max-width:768px){.stats-banner-inner{display:grid;grid-template-columns:repeat(2,1fr);grid-gap:1.5rem;gap:1.5rem;justify-items:center}.stats-banner-item{gap:.75rem}.stats-banner-item svg{width:24px;height:24px}.stats-banner-number{font-size:1.8rem}.stats-banner-divider{display:none}.hero h1{font-size:clamp(2.5rem,10vw,4rem);word-break:break-word}.hero-content{padding-top:clamp(2rem,6vw,4rem);padding-bottom:clamp(2rem,6vw,4rem)}.hero h1,.hero-content,.hero-subtitle{text-align:center}.hero-subtitle{margin-left:auto;margin-right:auto}.hero-actions{justify-content:center}.hero-subtitle{font-size:1rem;min-height:3.2em}.hero-badge{font-size:.75rem;padding:.4rem .85rem}.about-features{grid-template-columns:1fr}.gallery-grid{grid-template-columns:1fr 1fr;gap:.75rem}.gallery-item:first-child{grid-column:span 2}.reviews-score{flex-direction:column;gap:.75rem;text-align:center;padding:1.25rem}.form-row{grid-template-columns:1fr}}@media (max-width:480px){.formation-toggle{flex-direction:column;gap:.75rem;padding:1.25rem 1rem}.toggle-option{flex-direction:row;gap:.75rem}.toggle-icon{width:36px;height:36px}.toggle-icon.icon-duo{width:48px}.toggle-label{font-size:.85rem}.toggle-sublabel{font-size:.7rem}.hero-actions{flex-direction:column;align-items:stretch}.hero-actions .btn{justify-content:center;height:56px;min-width:100%;box-sizing:border-box}.gallery-grid{grid-template-columns:1fr}.gallery-item:first-child{grid-column:span 1}.stats-banner{padding:2rem 0}.stats-banner-inner{grid-template-columns:1fr}.about-images{max-width:100%}}@media (max-width:768px){.form-group input[type=date]{height:48px;-webkit-appearance:none;-moz-appearance:none;appearance:none}.form-group input,.form-group select,.form-group textarea{font-size:16px}}