:root{--black:#0a0a0a;--white:#f5f0eb;--accent:#ff3c2e;--accent2:#ffe033;--gray:#1a1a1a;--gray2:#2a2a2a;--text-muted:#666;}

/* THEME TOGGLE SWITCH */
.theme-toggle{position:relative;z-index:1;width:46px;height:24px;border-radius:12px;background:var(--gray2);border:1px solid rgba(255,255,255,.08);cursor:none;transition:background .3s;flex-shrink:0;}
.theme-toggle::before{content:'';position:absolute;top:3px;left:3px;width:16px;height:16px;border-radius:50%;background:var(--text-muted);transition:transform .3s,background .3s;}
.theme-toggle::after{content:'☽';position:absolute;right:5px;top:50%;transform:translateY(-50%);font-size:.6rem;opacity:.6;transition:opacity .3s;}

/* SOCIAL SVG ICONS */
.social-link{display:flex;align-items:center;gap:10px;padding:14px 28px;border:1px solid var(--gray2);background:var(--black);color:var(--white);text-decoration:none;font-size:.9rem;letter-spacing:.05em;transition:all .2s;}
.social-link:hover{transform:translateY(-3px);}
.social-link svg{width:18px;height:18px;flex-shrink:0;}
.social-link.ig:hover{border-color:#E1306C;color:#E1306C;}
.social-link.tt:hover{border-color:#69C9D0;color:#69C9D0;}
.social-link.li:hover{border-color:#0A66C2;color:#0A66C2;}
.social-link.pi:hover{border-color:#E60023;color:#E60023;}
.social-link.be:hover{border-color:#1769FF;color:#1769FF;}
.social-link.yt:hover{border-color:#FF0000;color:#FF0000;}

*,*::before,*::after{box-sizing:border-box;margin:0;padding:0;}
html{scroll-behavior:smooth;}
body{background:var(--black);color:var(--white);font-family:'DM Sans',sans-serif;font-weight:300;overflow-x:hidden;cursor:none;}
#cursor{width:12px;height:12px;background:var(--accent);border-radius:50%;position:fixed;pointer-events:none;z-index:9999;transform:translate(-50%,-50%);transition:transform .15s;}
#cursor-ring{width:40px;height:40px;border:1px solid rgba(255,60,46,.5);border-radius:50%;position:fixed;pointer-events:none;z-index:9998;transform:translate(-50%,-50%);transition:width .3s,height .3s,border-color .3s;}
body:has(a:hover) #cursor-ring,body:has(button:hover) #cursor-ring{width:60px;height:60px;border-color:var(--accent);}
body::before{content:'';position:fixed;inset:0;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='0.03'/%3E%3C/svg%3E");pointer-events:none;z-index:1;opacity:.4;}

nav{position:fixed;top:0;left:0;right:0;z-index:1000;display:flex;justify-content:space-between;align-items:center;padding:24px 48px;}
nav::before{content:'';position:absolute;inset:0;background:linear-gradient(to bottom,rgba(10,10,10,.9),transparent);pointer-events:none;}
.nav-logo{font-family:'Syne',sans-serif;font-weight:800;color:var(--white);text-decoration:none;position:relative;z-index:1;display:inline-flex;flex-direction:column;line-height:1.1;}
.logo-top{font-size:1.1rem;letter-spacing:.14em;white-space:nowrap;color:var(--white);}
.logo-top em{color:var(--accent);font-style:normal;}
.logo-bot{color:var(--accent);font-size:2rem;letter-spacing:.12em;display:block;margin-top:1px;}
.nav-links{display:flex;gap:40px;list-style:none;position:relative;z-index:1;}
.nav-links a{color:var(--white);text-decoration:none;font-size:.85rem;letter-spacing:.1em;text-transform:uppercase;opacity:.6;transition:opacity .2s;}
.nav-links a:hover{opacity:1;}
.nav-admin{position:relative;z-index:1;background:transparent;border:1px solid rgba(255,255,255,.1);color:rgba(255,255,255,.3);padding:7px 14px;font-family:'DM Sans',sans-serif;font-size:.7rem;letter-spacing:.1em;text-transform:uppercase;cursor:none;transition:all .2s;}
.nav-admin:hover{border-color:var(--accent);color:var(--accent);}

/* NAV CONTROLS */
.nav-controls{display:flex;align-items:center;gap:10px;position:relative;z-index:1;}

/* NAV AVAILABILITY BADGE */
.nav-avail{display:flex;align-items:center;gap:6px;font-size:.65rem;letter-spacing:.1em;text-transform:uppercase;font-family:'DM Sans',sans-serif;border:1px solid currentColor;padding:5px 12px;border-radius:0;opacity:.9;}
.navav-dot{width:7px;height:7px;border-radius:50%;background:currentColor;animation:blink 1.5s infinite;flex-shrink:0;}
.nav-avail.avail{color:#4ade80;}
.nav-avail.unavail{color:var(--accent);}
.navav-full{display:inline;}
.navav-short{display:none;}

.lang-switcher{position:relative;}
.lang-btn{background:transparent;border:1px solid rgba(128,128,128,.25);color:var(--white);padding:6px 12px;font-family:'DM Sans',sans-serif;font-size:.7rem;letter-spacing:.08em;text-transform:uppercase;cursor:none;transition:all .2s;display:flex;align-items:center;gap:5px;}
.lang-btn:hover{border-color:var(--accent);color:var(--accent);}
.lang-btn .lang-flag{font-size:.85rem;}
.lang-dropdown{position:absolute;top:calc(100% + 8px);right:0;background:var(--gray);border:1px solid var(--gray2);min-width:130px;flex-direction:column;z-index:100;display:none;}
.lang-dropdown.open{display:flex;}
.lang-opt{padding:10px 16px;font-size:.75rem;letter-spacing:.06em;color:rgba(255,255,255,.6);cursor:none;transition:all .15s;display:flex;align-items:center;gap:8px;background:transparent;border:none;text-align:left;width:100%;}
.lang-opt:hover{background:var(--gray2);color:var(--white);}
.lang-opt.active{color:var(--accent);}

.hero{min-height:100svh;display:flex;flex-direction:column;justify-content:center;padding:120px 48px 80px;position:relative;overflow:hidden;}
.hero-bg-text{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);font-family:'Syne',sans-serif;font-weight:800;font-size:clamp(120px,20vw,280px);color:rgba(255,255,255,.02);white-space:nowrap;pointer-events:none;user-select:none;letter-spacing:-.05em;}
.hero-tag{font-size:.8rem;letter-spacing:.2em;text-transform:uppercase;color:var(--accent);margin-bottom:28px;}
.hero-title{font-family:'Syne',sans-serif;font-weight:800;font-size:clamp(52px,9vw,120px);line-height:.92;letter-spacing:-.04em;opacity:0;animation:fadeUp .8s forwards .5s;}
.hero-title .ht-l1{display:block;}
.hero-title .ht-l2{display:block;color:var(--accent);-webkit-text-stroke:0;}
.hero-title .ht-l3{display:block;-webkit-text-stroke:1px var(--white);color:transparent;}
.hero-title .line2{display:block;-webkit-text-stroke:1px var(--white);color:transparent;}
.hero-title .accent{color:var(--accent);-webkit-text-stroke:0;}
.hero-sub{margin-top:28px;max-width:min(460px,100%);line-height:1.7;opacity:0;color:rgba(245,240,235,.6);animation:fadeUp .8s forwards .7s;}
.hero-cta{margin-top:36px;display:flex;gap:20px;align-items:center;opacity:0;animation:fadeUp .8s forwards .9s;}
.btn-primary{background:var(--accent);color:var(--white);border:none;padding:16px 36px;font-family:'Syne',sans-serif;font-weight:700;font-size:.9rem;letter-spacing:.05em;text-transform:uppercase;text-decoration:none;cursor:none;transition:transform .2s,background .2s;clip-path:polygon(0 0,calc(100% - 12px) 0,100% 12px,100% 100%,12px 100%,0 calc(100% - 12px));}
.btn-primary:hover{background:#ff5a4e;transform:translateY(-2px);}
.btn-ghost{color:var(--white);text-decoration:none;font-size:.85rem;letter-spacing:.1em;text-transform:uppercase;border-bottom:1px solid rgba(255,255,255,.3);padding-bottom:4px;transition:border-color .2s;}
.btn-ghost:hover{border-color:var(--white);}
.hero-scroll{position:absolute;right:48px;bottom:80px;writing-mode:vertical-rl;font-size:.7rem;letter-spacing:.2em;text-transform:uppercase;color:rgba(255,255,255,.3);display:flex;align-items:center;gap:12px;}
.hero-scroll::after{content:'';width:1px;height:60px;background:linear-gradient(to bottom,transparent,rgba(255,255,255,.3));}

.marquee-section{border-top:1px solid var(--gray2);border-bottom:1px solid var(--gray2);overflow:hidden;padding:16px 0;background:var(--accent);}
.marquee-track{display:flex;gap:48px;animation:marquee 18s linear infinite;white-space:nowrap;}
.marquee-item{font-family:'Syne',sans-serif;font-weight:700;font-size:.85rem;letter-spacing:.15em;text-transform:uppercase;color:var(--black);display:flex;align-items:center;gap:48px;}
.marquee-item::after{content:'✦';}

.section{padding:120px 48px;}
.section-label{font-size:.7rem;letter-spacing:.3em;text-transform:uppercase;color:var(--accent);margin-bottom:60px;display:flex;align-items:center;gap:16px;}
.section-label::before{content:'';width:30px;height:1px;background:var(--accent);}
.about-grid{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center;}
.about-title{font-family:'Syne',sans-serif;font-weight:800;font-size:clamp(36px,5vw,64px);line-height:1.05;letter-spacing:-.03em;}
.about-title em{font-style:italic;color:var(--accent);font-family:'DM Sans',sans-serif;font-weight:300;}
.about-text{color:rgba(245,240,235,.65);line-height:1.8;font-size:1.05rem;}
.about-stats{display:grid;grid-template-columns:1fr 1fr;gap:32px;margin-top:48px;}
.stat-num{font-family:'Syne',sans-serif;font-weight:800;font-size:3rem;letter-spacing:-.04em;color:var(--white);}
.stat-num span{color:var(--accent);}
.stat-label{font-size:.8rem;letter-spacing:.1em;text-transform:uppercase;color:var(--text-muted);margin-top:4px;}

/* PROJETS */
.portfolio-section{padding:120px 48px;}
.portfolio-header{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:60px;flex-wrap:wrap;gap:20px;}
.portfolio-title{font-family:'Syne',sans-serif;font-weight:800;font-size:clamp(40px,6vw,80px);letter-spacing:-.04em;line-height:1;}
.filter-tabs{display:flex;gap:8px;flex-wrap:wrap;}
.filter-tab{background:transparent;border:1px solid var(--gray2);color:rgba(255,255,255,.5);padding:8px 20px;font-family:'DM Sans',sans-serif;font-size:.8rem;letter-spacing:.1em;text-transform:uppercase;cursor:none;transition:all .2s;}
.filter-tab.active,.filter-tab:hover{background:var(--white);color:var(--black);border-color:var(--white);}
.projects-grid{display:grid;grid-template-columns:repeat(12,1fr);gap:16px;min-height:100px;}

/* ANIMATION CARTES */
.project-card{position:relative;overflow:hidden;background:var(--gray);cursor:none;opacity:0;transform:translateY(40px) scale(0.97);transition:opacity .7s cubic-bezier(.16,1,.3,1),transform .7s cubic-bezier(.16,1,.3,1),border-color .3s;}
.project-card.card-visible{opacity:1;transform:translateY(0) scale(1);}
.project-card:nth-child(1){grid-column:span 7;grid-row:span 2;}
.project-card:nth-child(2){grid-column:span 5;}
.project-card:nth-child(3){grid-column:span 5;}
.project-card:nth-child(4){grid-column:span 4;}
.project-card:nth-child(5){grid-column:span 4;}
.project-card:nth-child(6){grid-column:span 4;}
.project-card:nth-child(n+7){grid-column:span 4;}
.project-card:hover{border:1px solid rgba(255,60,46,.3);box-shadow:0 0 40px rgba(255,60,46,.05);}

.project-thumb{width:100%;height:280px;object-fit:cover;display:block;transition:transform .6s cubic-bezier(.16,1,.3,1);}
.project-card:nth-child(1) .project-thumb{height:100%;min-height:500px;}
.project-card:hover .project-thumb{transform:scale(1.06);}
.project-video-thumb{width:100%;height:280px;object-fit:cover;display:block;transition:transform .6s cubic-bezier(.16,1,.3,1);}
.project-card:nth-child(1) .project-video-thumb{height:100%;min-height:500px;}
.project-card:hover .project-video-thumb{transform:scale(1.06);}
.thumb-placeholder{width:100%;height:280px;background:linear-gradient(135deg,var(--gray2) 0%,#1f1f1f 100%);display:flex;align-items:center;justify-content:center;font-family:'Syne',sans-serif;font-weight:800;font-size:4rem;color:rgba(255,255,255,.05);position:relative;}
.project-card:nth-child(1) .thumb-placeholder{height:100%;min-height:500px;}

/* Compteur vues */
.project-views{position:absolute;top:14px;left:14px;background:rgba(10,10,10,.7);backdrop-filter:blur(6px);border:1px solid rgba(255,255,255,.1);padding:4px 10px;font-size:.68rem;letter-spacing:.08em;color:rgba(245,240,235,.7);display:flex;align-items:center;gap:5px;z-index:2;}
.views-dot{width:5px;height:5px;background:var(--accent2);border-radius:50%;animation:blink 2s infinite;}

.project-overlay{position:absolute;inset:0;background:linear-gradient(to top,rgba(10,10,10,.96) 0%,transparent 55%);opacity:0;transition:opacity .4s;display:flex;flex-direction:column;justify-content:flex-end;padding:28px;z-index:3;}
.project-card:hover .project-overlay{opacity:1;}
.project-cat{font-size:.7rem;letter-spacing:.2em;text-transform:uppercase;color:var(--accent);margin-bottom:6px;}
.project-name{font-family:'Syne',sans-serif;font-weight:700;font-size:1.2rem;}
.project-media-count{font-size:.72rem;color:rgba(245,240,235,.5);margin-top:4px;}
.project-actions{display:flex;gap:10px;margin-top:14px;flex-wrap:wrap;}
.project-btn{background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.2);color:var(--white);padding:7px 16px;font-size:.7rem;letter-spacing:.1em;text-transform:uppercase;cursor:none;transition:all .2s;backdrop-filter:blur(4px);}
.project-btn:hover{background:var(--accent);border-color:var(--accent);}
.project-btn.view-btn{background:rgba(255,224,51,.08);border-color:rgba(255,224,51,.4);color:var(--accent2);}
.project-btn.view-btn:hover{background:var(--accent2);color:var(--black);}
.share-btn{background:rgba(255,60,46,.15)!important;border-color:rgba(255,60,46,.4)!important;color:var(--accent)!important;font-weight:600;}
.share-btn:hover{background:var(--accent)!important;color:var(--white)!important;}

.projects-empty{grid-column:span 12;text-align:center;padding:80px 20px;color:var(--text-muted);}
.projects-empty .empty-icon{font-size:3rem;margin-bottom:16px;opacity:.3;}
.projects-empty p{font-size:.9rem;letter-spacing:.05em;}

.services-section{padding:120px 48px;border-top:1px solid var(--gray2);}
.services-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--gray2);margin-top:60px;}
.service-card{background:var(--black);padding:48px 36px;transition:background .3s;position:relative;overflow:hidden;}
.service-card::before{content:'';position:absolute;bottom:0;left:0;width:0;height:2px;background:var(--accent);transition:width .4s cubic-bezier(.16,1,.3,1);}
.service-card:hover::before{width:100%;}
.service-num{font-family:'Syne',sans-serif;font-weight:800;font-size:.7rem;letter-spacing:.2em;color:var(--accent);margin-bottom:24px;}
.service-name{font-family:'Syne',sans-serif;font-weight:700;font-size:1.4rem;margin-bottom:16px;}
.service-desc{color:rgba(245,240,235,.5);font-size:.9rem;line-height:1.7;}

.social-section{padding:120px 48px;background:var(--gray);}
.social-inner{max-width:900px;margin:0 auto;text-align:center;}
.social-title{font-family:'Syne',sans-serif;font-weight:800;font-size:clamp(36px,5vw,60px);letter-spacing:-.03em;margin-bottom:16px;}
.social-sub{color:var(--text-muted);margin-bottom:48px;}
.social-links{display:flex;justify-content:center;gap:16px;flex-wrap:wrap;}

.contact-section{padding:120px 48px;}
.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:80px;}
.contact-title{font-family:'Syne',sans-serif;font-weight:800;font-size:clamp(40px,5vw,70px);letter-spacing:-.04em;line-height:1;}
.contact-title span{color:var(--accent);display:block;}
.contact-info{margin-top:40px;display:flex;flex-direction:column;gap:20px;}
.contact-item{display:flex;flex-direction:column;gap:4px;}
.contact-item-label{font-size:.7rem;letter-spacing:.2em;text-transform:uppercase;color:var(--text-muted);}
.contact-item-val{font-size:1rem;}
.contact-form{display:flex;flex-direction:column;gap:20px;}
.form-group{display:flex;flex-direction:column;gap:8px;}
.form-label{font-size:.7rem;letter-spacing:.15em;text-transform:uppercase;color:var(--text-muted);}
.form-input,.form-textarea{background:var(--gray);border:1px solid var(--gray2);color:var(--white);padding:14px 18px;font-family:'DM Sans',sans-serif;font-size:.95rem;outline:none;transition:border-color .2s;}
.form-input:focus,.form-textarea:focus{border-color:var(--accent);}
.form-textarea{resize:vertical;min-height:120px;}
footer{border-top:1px solid var(--gray2);padding:40px 48px;display:flex;justify-content:space-between;align-items:center;}
.footer-logo{font-family:'Syne',sans-serif;font-weight:800;color:var(--white);display:inline-flex;flex-direction:column;line-height:1.1;}
.footer-copy{font-size:.8rem;color:var(--text-muted);}

/* LIGHTBOX PROJET */
.lightbox{position:fixed;inset:0;z-index:8000;background:rgba(10,10,10,.97);display:none;flex-direction:column;overflow-y:auto;}
.lightbox.open{display:flex;}
.lb-header{padding:24px 40px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--gray2);position:sticky;top:0;background:var(--black);z-index:2;flex-shrink:0;}
.lb-title-wrap{display:flex;flex-direction:column;gap:4px;}
.lb-title{font-family:'Syne',sans-serif;font-weight:800;font-size:1.6rem;letter-spacing:-.02em;}
.lb-meta{font-size:.75rem;color:var(--text-muted);letter-spacing:.1em;text-transform:uppercase;}
.lb-stats{display:flex;align-items:center;gap:24px;}
.lb-views{display:flex;align-items:center;gap:8px;font-size:.85rem;color:rgba(245,240,235,.6);}
.lb-views strong{font-family:'Syne',sans-serif;font-weight:700;color:var(--accent2);font-size:1.1rem;}
.lb-close{background:transparent;border:1px solid var(--gray2);color:var(--white);width:40px;height:40px;font-size:1.2rem;cursor:none;transition:all .2s;display:flex;align-items:center;justify-content:center;}
.lb-close:hover{border-color:var(--accent);color:var(--accent);}
.lb-body{padding:40px;display:flex;flex-direction:column;gap:40px;flex:1;}
.lb-desc{max-width:700px;}
.lb-desc-title{font-family:'Syne',sans-serif;font-weight:700;font-size:.8rem;letter-spacing:.2em;text-transform:uppercase;color:var(--accent);margin-bottom:12px;}
.lb-desc-text{color:rgba(245,240,235,.65);line-height:1.8;font-size:1rem;}
.lb-tts-btn{display:inline-flex;align-items:center;gap:8px;margin-top:14px;background:transparent;border:1px solid var(--gray2);color:var(--text-muted);padding:8px 18px;font-family:'DM Sans',sans-serif;font-size:.8rem;letter-spacing:.06em;cursor:none;transition:all .2s;}
.lb-tts-btn:hover,.lb-tts-btn.speaking{border-color:var(--accent2);color:var(--accent2);}
.lb-tts-btn.speaking .tts-icon::after{content:'⏹';}
.tts-icon::after{content:'▶';}
.lb-media-section{}
.lb-media-title{font-family:'Syne',sans-serif;font-weight:700;font-size:.8rem;letter-spacing:.2em;text-transform:uppercase;color:var(--text-muted);margin-bottom:20px;display:flex;align-items:center;gap:12px;}
.lb-media-title span{color:var(--white);}
.lb-gallery{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:14px;}
.lb-media-item{position:relative;overflow:hidden;background:var(--gray2);cursor:none;group:true;}
.lb-media-item img{width:100%;aspect-ratio:4/3;object-fit:cover;display:block;transition:transform .5s cubic-bezier(.16,1,.3,1);}
.lb-media-item video{width:100%;aspect-ratio:4/3;object-fit:cover;display:block;}
.lb-media-item:hover img{transform:scale(1.04);}
.lb-media-badge{position:absolute;top:8px;left:8px;background:rgba(10,10,10,.8);border:1px solid rgba(255,255,255,.1);padding:3px 9px;font-size:.65rem;letter-spacing:.1em;text-transform:uppercase;color:rgba(245,240,235,.7);backdrop-filter:blur(6px);}
.lb-media-badge.video{border-color:rgba(255,60,46,.4);color:var(--accent);}
.lb-fullscreen-btn{position:absolute;bottom:8px;right:8px;background:rgba(10,10,10,.7);border:1px solid rgba(255,255,255,.2);color:var(--white);width:32px;height:32px;display:flex;align-items:center;justify-content:center;font-size:.9rem;cursor:none;opacity:0;transition:opacity .2s;backdrop-filter:blur(4px);}
.lb-media-item:hover .lb-fullscreen-btn{opacity:1;}

/* FULLSCREEN IMG */
.fs-overlay{position:fixed;inset:0;z-index:9500;background:rgba(0,0,0,.97);display:none;align-items:center;justify-content:center;}
.fs-overlay.open{display:flex;}
.fs-img{max-width:92vw;max-height:92vh;object-fit:contain;}
.fs-close{position:absolute;top:20px;right:24px;background:transparent;border:none;color:var(--white);font-size:2rem;cursor:none;opacity:.5;transition:opacity .2s;}
.fs-close:hover{opacity:1;}

/* SHARE MODAL */
.modal-overlay{position:fixed;inset:0;background:rgba(10,10,10,.9);backdrop-filter:blur(12px);z-index:7000;display:none;align-items:center;justify-content:center;}
.modal-overlay.open{display:flex;}
.modal{background:var(--gray);border:1px solid var(--gray2);padding:48px;max-width:520px;width:90%;position:relative;animation:fadeUp .3s ease;}
.modal-close{position:absolute;top:20px;right:20px;background:transparent;border:none;color:var(--white);font-size:1.5rem;cursor:none;opacity:.5;transition:opacity .2s;}
.modal-close:hover{opacity:1;}
.modal-title{font-family:'Syne',sans-serif;font-weight:800;font-size:1.8rem;margin-bottom:8px;}
.modal-sub{color:var(--text-muted);font-size:.9rem;margin-bottom:32px;}
.platform-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:24px;}
.platform-btn{display:flex;align-items:center;gap:12px;padding:14px 18px;border:1px solid var(--gray2);background:transparent;color:var(--white);cursor:none;transition:all .2s;font-family:'DM Sans',sans-serif;font-size:.9rem;}
.platform-btn:hover{border-color:var(--accent);color:var(--accent);}
.platform-btn.selected{border-color:var(--accent);background:rgba(255,60,46,.1);color:var(--accent);}
.platform-icon{font-size:1.2rem;}
.format-options{margin-bottom:24px;}
.format-label{font-size:.75rem;letter-spacing:.2em;text-transform:uppercase;color:var(--text-muted);margin-bottom:12px;}
.format-btns{display:flex;gap:8px;}
.format-btn{padding:8px 16px;border:1px solid var(--gray2);background:transparent;color:rgba(255,255,255,.5);font-size:.8rem;cursor:none;transition:all .2s;}
.format-btn.active{border-color:var(--accent2);color:var(--accent2);}
.share-action-btn{width:100%;background:var(--accent);border:none;color:var(--white);padding:16px;font-family:'Syne',sans-serif;font-weight:700;font-size:1rem;letter-spacing:.05em;text-transform:uppercase;cursor:none;transition:background .2s,transform .2s;}
.share-action-btn:hover{background:#ff5a4e;transform:translateY(-2px);}
.share-note{text-align:center;font-size:.75rem;color:var(--text-muted);margin-top:12px;}

/* LOADER */
.loader{position:fixed;inset:0;z-index:99999;background:var(--black);display:flex;flex-direction:column;align-items:center;justify-content:center;transition:opacity .7s ease,visibility .7s ease;}
.loader.hidden{opacity:0;visibility:hidden;pointer-events:none;}
.loader-logo{font-family:'Syne',sans-serif;font-weight:800;text-align:center;line-height:1.1;margin-bottom:40px;}
.loader-logo .lt{font-size:clamp(1rem,3vw,1.4rem);letter-spacing:.18em;color:rgba(245,240,235,.4);}
.loader-logo .lb{font-size:clamp(2.5rem,7vw,5rem);letter-spacing:.1em;color:var(--accent);}
.loader-bar-wrap{width:200px;height:1px;background:rgba(255,255,255,.1);}
.loader-bar{height:1px;width:0%;background:var(--accent);transition:width .05s linear;}
.loader-pct{font-size:.7rem;letter-spacing:.2em;color:rgba(255,255,255,.3);margin-top:12px;}

/* WHATSAPP */
.wa-btn{position:fixed;bottom:48px;right:48px;z-index:5000;background:#25D366;border:none;color:#fff;border-radius:50px;padding:12px 22px;cursor:none;box-shadow:0 4px 24px rgba(37,211,102,.4);transition:transform .2s,box-shadow .2s,padding .3s;display:flex;align-items:center;gap:11px;text-decoration:none;overflow:hidden;}
.wa-btn:hover{transform:translateY(-3px);box-shadow:0 8px 32px rgba(37,211,102,.55);}
.wa-logo{width:22px;height:22px;flex-shrink:0;fill:#fff;}
.wa-label{font-size:.75rem;font-family:'DM Sans',sans-serif;font-weight:400;letter-spacing:.03em;white-space:nowrap;color:#fff;}
.wa-btn::before{content:'';position:absolute;inset:0;border-radius:inherit;background:#25D366;opacity:.3;animation:wa-pulse 2.5s ease-out infinite;pointer-events:none;}

/* TÉMOIGNAGES */
.testimonials-section{padding:120px 48px;border-top:1px solid var(--gray2);}
.testi-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:60px;}
.testi-card{background:var(--gray);border:1px solid var(--gray2);padding:36px;position:relative;transition:border-color .3s;}
.testi-card:hover{border-color:rgba(255,60,46,.3);}
.testi-card::before{content:'\201C';position:absolute;top:20px;right:24px;font-size:5rem;line-height:1;color:rgba(255,60,46,.08);font-family:'Syne',sans-serif;font-weight:800;}
.testi-stars{color:var(--accent2);font-size:.9rem;letter-spacing:2px;margin-bottom:16px;}
.testi-text{color:rgba(245,240,235,.7);font-size:.95rem;line-height:1.8;font-style:italic;margin-bottom:24px;}
.testi-author{display:flex;align-items:center;gap:14px;}
.testi-avatar{width:44px;height:44px;border-radius:50%;background:var(--gray2);object-fit:cover;flex-shrink:0;display:flex;align-items:center;justify-content:center;font-family:'Syne',sans-serif;font-weight:800;font-size:1rem;color:var(--accent);}
.testi-name{font-family:'Syne',sans-serif;font-weight:700;font-size:.9rem;}
.testi-role{font-size:.75rem;color:var(--text-muted);margin-top:2px;}

/* TARIFS */
.pricing-section{padding:120px 48px;border-top:1px solid var(--gray2);background:var(--gray);}
.pricing-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:60px;}
.price-card{background:var(--black);border:1px solid var(--gray2);padding:40px;position:relative;transition:border-color .3s,transform .3s;}
.price-card:hover{border-color:rgba(255,60,46,.4);transform:translateY(-4px);}
.price-card.featured{border-color:var(--accent);background:var(--black);}
.price-card.featured::before{content:'POPULAIRE';position:absolute;top:-12px;left:50%;transform:translateX(-50%);background:var(--accent);color:var(--white);font-family:'Syne',sans-serif;font-weight:700;font-size:.6rem;letter-spacing:.15em;padding:4px 16px;}
.price-plan{font-size:.72rem;letter-spacing:.2em;text-transform:uppercase;color:var(--text-muted);margin-bottom:12px;}
.price-amount{font-family:'Syne',sans-serif;font-weight:800;font-size:2.8rem;letter-spacing:-.03em;line-height:1;}
.price-amount span{font-size:1rem;color:var(--text-muted);font-weight:300;}
.price-desc{font-size:.82rem;color:var(--text-muted);margin-top:8px;margin-bottom:28px;line-height:1.6;}
.price-features{list-style:none;display:flex;flex-direction:column;gap:10px;margin-bottom:32px;}
.price-features li{font-size:.85rem;color:rgba(245,240,235,.65);display:flex;align-items:center;gap:10px;}
.price-features li::before{content:'✓';color:var(--accent);font-weight:700;flex-shrink:0;}
.price-cta{width:100%;background:transparent;border:1px solid var(--gray2);color:var(--white);padding:13px;font-family:'Syne',sans-serif;font-weight:700;font-size:.82rem;letter-spacing:.08em;text-transform:uppercase;cursor:none;transition:all .2s;}
.price-cta:hover,.price-card.featured .price-cta{background:var(--accent);border-color:var(--accent);color:var(--white);}

/* CLIENTS SECTION */
.clients-section{padding:100px 48px;border-top:1px solid var(--gray2);overflow:hidden;background:var(--black);position:relative;}
.clients-section::before{content:'';position:absolute;top:0;left:0;right:0;height:1px;background:linear-gradient(to right,transparent,var(--accent) 40%,var(--accent2) 60%,transparent);}
.clients-kicker{font-family:'Syne',sans-serif;font-weight:800;font-size:clamp(2rem,4vw,4rem);letter-spacing:-.03em;margin-bottom:60px;opacity:.08;text-transform:uppercase;pointer-events:none;user-select:none;line-height:1;}
.clients-marquee-wrap{-webkit-mask:linear-gradient(to right,transparent,black 8%,black 92%,transparent);mask:linear-gradient(to right,transparent,black 8%,black 92%,transparent);overflow:hidden;margin-top:0;}
.clients-track{display:flex;gap:0;width:max-content;animation:marquee 32s linear infinite;}
.clients-track:hover{animation-play-state:paused;}
.client-item{width:200px;height:110px;border-right:1px solid var(--gray2);background:transparent;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;padding:20px;cursor:none;transition:background .3s;flex-shrink:0;text-decoration:none;position:relative;overflow:hidden;}
.client-item::after{content:'';position:absolute;inset:0;background:var(--accent);transform:scaleY(0);transform-origin:bottom;transition:transform .4s cubic-bezier(.16,1,.3,1);z-index:0;}
.client-item:hover::after{transform:scaleY(1);}
.client-item img,.client-item-name{position:relative;z-index:1;}
.client-item img{max-width:110px;max-height:52px;object-fit:contain;filter:grayscale(1);opacity:.4;transition:filter .3s,opacity .3s;}
.client-item:hover img{filter:grayscale(0) brightness(10);opacity:1;}
.client-item-name{font-family:'Syne',sans-serif;font-weight:700;font-size:.65rem;letter-spacing:.18em;text-transform:uppercase;color:rgba(255,255,255,.3);transition:color .3s;text-align:center;}
.client-item:hover .client-item-name{color:var(--white);}

/* PROJECT CARDS AMÉLIORÉES */
.project-num{position:absolute;bottom:20px;right:20px;font-family:'Syne',sans-serif;font-weight:800;font-size:4rem;color:rgba(255,255,255,.04);line-height:1;pointer-events:none;z-index:1;transition:color .4s,font-size .4s;}
.project-card:hover .project-num{color:rgba(255,255,255,.08);font-size:4.5rem;}
.project-cat-badge{position:absolute;top:14px;left:14px;background:var(--accent);color:var(--white);font-size:.58rem;letter-spacing:.15em;text-transform:uppercase;padding:4px 10px;z-index:4;opacity:0;transform:translateY(-6px);transition:opacity .3s,transform .3s;}
.project-card:hover .project-cat-badge{opacity:1;transform:translateY(0);}

/* TOAST */
.toast{position:fixed;bottom:40px;right:48px;background:var(--accent2);color:var(--black);padding:14px 24px;font-family:'Syne',sans-serif;font-weight:700;font-size:.85rem;letter-spacing:.05em;z-index:9999;transform:translateY(100px);opacity:0;transition:all .4s cubic-bezier(.16,1,.3,1);}
.toast.show{transform:translateY(0);opacity:1;}
.toast.red{background:var(--accent);color:var(--white);}

/* SCROLL PROGRESS */
#scrollProgress{position:fixed;top:0;left:0;height:3px;background:linear-gradient(to right,var(--accent),var(--accent2));z-index:10001;width:0%;pointer-events:none;transition:width .08s linear;}

/* AVAILABILITY BADGE */
.avail-badge{display:inline-flex;align-items:center;gap:7px;background:rgba(37,211,102,.1);border:1px solid rgba(37,211,102,.25);color:#4ade80;padding:6px 14px;font-size:.65rem;letter-spacing:.14em;text-transform:uppercase;margin-top:20px;width:fit-content;}
.avail-dot{width:6px;height:6px;border-radius:50%;background:#4ade80;animation:blink 1.5s infinite;flex-shrink:0;}
.unavail-badge{background:rgba(255,60,46,.08);border-color:rgba(255,60,46,.2);color:var(--accent);}

/* PROFILE PHOTO */
.about-photo-wrap{position:relative;margin-bottom:32px;}
.about-photo{width:200px;height:200px;border-radius:50%;object-fit:cover;border:3px solid var(--gray2);display:block;}
.about-photo-placeholder{width:200px;height:200px;border-radius:50%;background:var(--gray2);display:flex;align-items:center;justify-content:center;font-size:3rem;color:var(--text-muted);border:3px solid var(--gray2);}

/* CV DOWNLOAD */
.cv-btn{display:inline-flex;align-items:center;gap:8px;margin-top:24px;background:transparent;border:1px solid var(--gray2);color:var(--white);padding:11px 22px;font-family:'Syne',sans-serif;font-weight:700;font-size:.78rem;letter-spacing:.08em;text-transform:uppercase;cursor:none;transition:all .2s;text-decoration:none;}
.cv-btn:hover{border-color:var(--accent2);color:var(--accent2);}

/* TIMELINE */
.timeline-section{padding:120px 48px;border-top:1px solid var(--gray2);}
.timeline-wrap{display:grid;grid-template-columns:1fr 2fr;gap:80px;align-items:start;margin-top:60px;}
.timeline-sticky{position:sticky;top:120px;}
.timeline-big{font-family:'Syne',sans-serif;font-weight:800;font-size:clamp(60px,8vw,100px);letter-spacing:-.05em;line-height:1;color:rgba(255,255,255,.06);}
.timeline-line{position:relative;padding-left:40px;}
.timeline-line::before{content:'';position:absolute;left:0;top:8px;bottom:0;width:1px;background:linear-gradient(to bottom,var(--accent),transparent);}
.timeline-item{position:relative;padding-bottom:48px;}
.timeline-item:last-child{padding-bottom:0;}
.timeline-item::before{content:'';position:absolute;left:-44px;top:7px;width:9px;height:9px;border-radius:50%;background:var(--accent);box-shadow:0 0 0 4px rgba(255,60,46,.15);}
.timeline-year{font-family:'Syne',sans-serif;font-weight:800;font-size:.7rem;letter-spacing:.2em;color:var(--accent);margin-bottom:6px;text-transform:uppercase;}
.timeline-title{font-family:'Syne',sans-serif;font-weight:700;font-size:1.15rem;margin-bottom:8px;}
.timeline-desc{color:rgba(245,240,235,.5);font-size:.88rem;line-height:1.75;}

/* WELCOME POPUP */
.welcome-popup{position:fixed;bottom:90px;left:48px;z-index:6500;background:var(--gray);border:1px solid var(--gray2);border-left:3px solid var(--accent);padding:24px 28px 22px;max-width:310px;transform:translateY(20px);opacity:0;pointer-events:none;transition:transform .5s cubic-bezier(.16,1,.3,1),opacity .5s;}
.welcome-popup.show{transform:translateY(0);opacity:1;pointer-events:auto;}
.wp-close{position:absolute;top:10px;right:12px;background:transparent;border:none;color:var(--text-muted);font-size:1rem;cursor:none;line-height:1;padding:4px;}
.wp-close:hover{color:var(--white);}
.wp-avatar{width:38px;height:38px;border-radius:50%;background:var(--accent);display:flex;align-items:center;justify-content:center;font-family:'Syne',sans-serif;font-weight:800;font-size:.9rem;color:#fff;margin-bottom:12px;}
.wp-title{font-family:'Syne',sans-serif;font-weight:800;font-size:.95rem;margin-bottom:6px;}
.wp-sub{font-size:.8rem;color:var(--text-muted);line-height:1.6;margin-bottom:14px;}
.wp-btn{background:var(--accent);border:none;color:#fff;padding:9px 18px;font-family:'Syne',sans-serif;font-weight:700;font-size:.72rem;letter-spacing:.06em;text-transform:uppercase;cursor:none;transition:background .2s;}
.wp-btn:hover{background:#ff5a4e;}

/* FEATURED PROJECT */
.project-card.featured-card{grid-column:span 12!important;position:relative;}
.project-card.featured-card .project-thumb,
.project-card.featured-card .project-video-thumb,
.project-card.featured-card .thumb-placeholder{height:500px;min-height:unset;}
.featured-ribbon{position:absolute;top:20px;right:20px;background:var(--accent2);color:var(--black);font-family:'Syne',sans-serif;font-weight:800;font-size:.58rem;letter-spacing:.2em;padding:5px 14px;z-index:5;text-transform:uppercase;}

/* DRAFT MODE */
.draft-overlay{position:absolute;inset:0;background:repeating-linear-gradient(45deg,rgba(255,60,46,.04),rgba(255,60,46,.04) 10px,transparent 10px,transparent 20px);z-index:1;pointer-events:none;}
.draft-label{position:absolute;top:12px;right:12px;background:rgba(10,10,10,.85);border:1px solid rgba(255,60,46,.4);color:var(--accent);font-size:.58rem;letter-spacing:.12em;padding:3px 8px;z-index:6;text-transform:uppercase;}
.proj-row.is-draft{opacity:.55;}
.draft-tag{font-size:.6rem;background:rgba(255,60,46,.12);border:1px solid rgba(255,60,46,.3);color:var(--accent);padding:2px 8px;letter-spacing:.1em;text-transform:uppercase;}

/* LIGHTBOX ZOOM */
.lb-media-item img.zoomable{cursor:zoom-in;transition:transform .25s cubic-bezier(.16,1,.3,1);transform-origin:center center;display:block;width:100%;}
.lb-media-item img.zoomable.zoomed{cursor:zoom-out;}
.lb-zoom-hint{font-size:.68rem;color:var(--text-muted);letter-spacing:.06em;margin-bottom:12px;text-align:right;}

/* RTL SUPPORT */
[dir="rtl"] nav{flex-direction:row-reverse;}
[dir="rtl"] .nav-links{flex-direction:row-reverse;}
[dir="rtl"] .hero{align-items:flex-end;}
[dir="rtl"] .hero-cta{flex-direction:row-reverse;}
[dir="rtl"] .section-label{flex-direction:row-reverse;}
[dir="rtl"] .section-label::before{margin-left:16px;margin-right:0;}
[dir="rtl"] .about-grid{direction:rtl;}
[dir="rtl"] .services-grid{direction:rtl;}
[dir="rtl"] .contact-grid{direction:rtl;}
[dir="rtl"] .hero-title{direction:rtl;}
[dir="rtl"] footer{flex-direction:row-reverse;}
[dir="rtl"] .clients-marquee-wrap{direction:ltr;}
[dir="rtl"] .clients-track{animation-direction:reverse;}

/* VIEW TOGGLE (Pinterest / Behance) */
.portfolio-header-right{display:flex;flex-direction:column;align-items:flex-end;gap:12px;}
.view-toggle{display:flex;gap:6px;}
.view-btn{background:transparent;border:1px solid var(--gray2);color:var(--text-muted);padding:7px 10px;cursor:none;transition:all .2s;display:flex;align-items:center;justify-content:center;}
.view-btn.active,.view-btn:hover{border-color:var(--accent);color:var(--accent);background:rgba(255,60,46,.06);}

/* VUE PINTEREST (masonry columns) */
.projects-grid.view-pinterest{display:block!important;columns:3;column-gap:16px;}
.projects-grid.view-pinterest .project-card{break-inside:avoid;display:inline-block;width:100%;margin-bottom:16px;grid-column:unset!important;grid-row:unset!important;}
.projects-grid.view-pinterest .project-thumb,
.projects-grid.view-pinterest .project-video-thumb{height:auto!important;min-height:unset!important;width:100%;object-fit:contain;background:var(--gray);}
.projects-grid.view-pinterest .thumb-placeholder{height:180px;}

/* VUE BEHANCE (scroll horizontal) */
.projects-grid.view-behance{display:flex!important;flex-wrap:nowrap;overflow-x:auto;gap:20px;padding-bottom:20px;scroll-snap-type:x mandatory;scrollbar-width:thin;scrollbar-color:var(--gray2) transparent;}
.projects-grid.view-behance::-webkit-scrollbar{height:4px;}
.projects-grid.view-behance::-webkit-scrollbar-thumb{background:var(--gray2);border-radius:2px;}
.projects-grid.view-behance .project-card{flex-shrink:0;width:340px;scroll-snap-align:start;grid-column:unset!important;grid-row:unset!important;}
.projects-grid.view-behance .project-thumb,
.projects-grid.view-behance .project-video-thumb{height:auto!important;min-height:unset!important;width:100%;object-fit:contain;background:var(--gray);max-height:500px;}
.projects-grid.view-behance .thumb-placeholder{height:260px;}

/* ── RECHERCHE PROJETS ── */
.projects-search-wrap{margin-bottom:20px;position:relative;}
.projects-search{width:100%;background:var(--gray);border:1px solid var(--gray2);color:var(--white);padding:13px 46px 13px 18px;font-family:'DM Sans',sans-serif;font-size:.9rem;outline:none;transition:border-color .2s;}
.projects-search:focus{border-color:var(--accent);}
.projects-search::placeholder{color:var(--text-muted);}
.projects-search-icon{position:absolute;right:14px;top:50%;transform:translateY(-50%);color:var(--text-muted);pointer-events:none;}
.projects-search-count{font-size:.72rem;color:var(--text-muted);margin-top:6px;letter-spacing:.06em;}

/* ── BADGE STATUT PROJET ── */
.project-status-badge{position:absolute;top:14px;right:14px;font-family:'Syne',sans-serif;font-weight:700;font-size:.55rem;letter-spacing:.15em;text-transform:uppercase;padding:4px 10px;z-index:5;pointer-events:none;}
.project-status-badge.ongoing{background:rgba(251,191,36,.9);color:#000;}
.project-status-badge.done{background:rgba(74,222,128,.9);color:#000;}
.project-status-badge.awarded{background:var(--accent2);color:#000;}

/* ── INLINE EDIT (mode admin sur le site) ── */
.project-card .card-admin-overlay{position:absolute;inset:0;background:rgba(10,10,10,.7);z-index:9;display:flex;align-items:center;justify-content:center;gap:12px;opacity:0;transition:opacity .2s;backdrop-filter:blur(2px);}
.project-card:hover .card-admin-overlay{opacity:1;}
.card-admin-btn{background:var(--accent);border:none;color:#fff;padding:10px 20px;font-family:'Syne',sans-serif;font-weight:700;font-size:.72rem;letter-spacing:.08em;text-transform:uppercase;cursor:pointer;transition:background .2s;display:flex;align-items:center;gap:6px;}
.card-admin-btn:hover{background:#ff5a4e;}
.card-admin-btn.ghost{background:transparent;border:1px solid rgba(255,255,255,.4);color:#fff;}
.card-admin-btn.ghost:hover{background:rgba(255,255,255,.1);}

/* ── FOOTER PAD quand admin bar visible ── */
.admin-mode-active footer{padding-bottom:80px;}

/* ── CORBEILLE BADGE ── */
.trash-badge{display:inline-flex;align-items:center;justify-content:center;background:rgba(255,60,46,.15);color:var(--accent);border:1px solid rgba(255,60,46,.3);font-size:.6rem;font-weight:700;letter-spacing:.1em;padding:2px 7px;border-radius:2px;margin-left:4px;}

/* ── PREVIEW MODE ── */
.preview-mode-banner{position:fixed;top:0;left:0;right:0;z-index:9100;background:var(--accent);color:#fff;text-align:center;padding:10px;font-family:'Syne',sans-serif;font-weight:700;font-size:.82rem;letter-spacing:.1em;display:none;}
.preview-mode-banner.active{display:block;}
.preview-mode-banner button{background:transparent;border:1px solid rgba(255,255,255,.5);color:#fff;padding:3px 12px;font-family:'DM Sans',sans-serif;font-size:.75rem;cursor:pointer;margin-left:12px;}

/* ── SPARKLINES (vbp) ── */
.vbp-item{display:flex;align-items:center;gap:10px;padding:8px 0;border-bottom:1px solid var(--gray2);}
.vbp-name{flex:1;font-size:.8rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.vbp-sparkline{display:flex;align-items:flex-end;gap:2px;height:20px;}
.vbp-spark-bar{width:6px;background:var(--gray2);border-radius:1px;transition:background .2s;}
.vbp-spark-bar.today{background:var(--accent);}
.vbp-total{font-size:.75rem;color:var(--text-muted);min-width:24px;text-align:right;}

/* ── TESTIMONIALS SECTION fix ── */
.testimonials-section{padding:120px 48px;border-top:1px solid var(--gray2);}
.testi-grid .testi-card{opacity:1;transform:none;}
