*,*::before,*::after{box-sizing:border-box;margin:0;padding:0;}
:root{--cream:#F5F2EC;--ink:#0E0E0C;--ink-soft:#3A3A35;--gold:#C8A96E;--muted:#9A9A90;--border:rgba(14,14,12,0.12);}
html{scroll-behavior:smooth;}
body{background:var(--cream);color:var(--ink);font-family:Georgia,serif;overflow-x:hidden;}
.bar-construction{background:var(--gold);color:var(--ink);text-align:center;padding:.6rem 1rem;font-family:Helvetica,Arial,sans-serif;font-size:.68rem;letter-spacing:.15em;text-transform:uppercase;font-weight:700;}
nav{position:sticky;top:0;z-index:100;display:flex;justify-content:space-between;align-items:center;padding:1.1rem 2.5rem;background:rgba(245,242,236,.97);border-bottom:.5px solid var(--border);}
.nav-logo{font-size:1.05rem;font-weight:700;letter-spacing:.06em;text-decoration:none;color:var(--ink);}
.nav-links{display:flex;gap:1.8rem;list-style:none;}
.nav-links a{font-size:.68rem;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-soft);text-decoration:none;font-family:Helvetica,Arial,sans-serif;}
.nav-cta{font-size:.68rem;letter-spacing:.12em;text-transform:uppercase;border:.5px solid var(--ink);color:var(--ink);padding:.5rem 1.2rem;text-decoration:none;font-family:Helvetica,Arial,sans-serif;}
.nav-cta:hover{background:var(--gold);border-color:var(--gold);color:#fff;}
.hero{position:relative;background:#080612;min-height:92vh;display:flex;flex-direction:column;justify-content:center;padding:5rem 2.5rem;overflow:hidden;}
.hero-pattern{position:absolute;inset:0;background-image:linear-gradient(rgba(200,169,110,.06) 1px,transparent 1px),linear-gradient(90deg,rgba(200,169,110,.06) 1px,transparent 1px);background-size:80px 80px;}
.hero-orb1{position:absolute;top:-10%;right:5%;width:580px;height:580px;border-radius:50%;background:radial-gradient(circle,rgba(200,169,110,.22) 0%,transparent 70%);}
.hero-orb2{position:absolute;bottom:-15%;left:-5%;width:480px;height:480px;border-radius:50%;background:radial-gradient(circle,rgba(200,169,110,.1) 0%,transparent 70%);}
.hero-v{position:absolute;right:-2%;top:50%;transform:translateY(-50%);font-size:clamp(16rem,26vw,30rem);font-weight:900;color:rgba(255,255,255,.03);line-height:1;letter-spacing:-.05em;user-select:none;pointer-events:none;}
.hero-line{position:absolute;left:0;top:0;bottom:0;width:3px;background:linear-gradient(to bottom,transparent,var(--gold),transparent);opacity:.4;}
.hero-content{position:relative;z-index:2;max-width:660px;}
.hero-badge{display:inline-flex;align-items:center;gap:.6rem;border:.5px solid rgba(200,169,110,.35);padding:.45rem .9rem;margin-bottom:2rem;}
.hero-badge-dot{width:6px;height:6px;border-radius:50%;background:var(--gold);animation:blink 2s ease-in-out infinite;}
@keyframes blink{0%,100%{opacity:1;}50%{opacity:.25;}}
.hero-badge-txt{font-family:Helvetica,Arial,sans-serif;font-size:.63rem;letter-spacing:.18em;text-transform:uppercase;color:rgba(255,255,255,.45);}
.hero-eye{font-size:.67rem;letter-spacing:.2em;text-transform:uppercase;color:var(--gold);margin-bottom:1.4rem;font-family:Helvetica,Arial,sans-serif;display:flex;align-items:center;gap:.9rem;}
.hero-eye::before{content:'';display:block;width:1.8rem;height:.5px;background:var(--gold);}
h1.hero-title{font-size:clamp(3rem,7vw,6.5rem);font-weight:900;line-height:.93;color:#fff;margin-bottom:1.8rem;letter-spacing:-.02em;}
h1.hero-title em{font-style:italic;font-weight:400;color:var(--gold);}
.hero-sub{font-size:.93rem;color:rgba(255,255,255,.5);max-width:460px;line-height:1.8;margin-bottom:2.8rem;font-family:Helvetica,Arial,sans-serif;}
.cta-group{display:flex;flex-wrap:wrap;gap:.9rem;align-items:center;}
.cta-wa{display:inline-flex;align-items:center;gap:.65rem;background:#25D366;color:#fff;font-family:Helvetica,Arial,sans-serif;font-size:.73rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;padding:.85rem 1.7rem;text-decoration:none;}
.cta-mail{display:inline-flex;align-items:center;gap:.65rem;border:.5px solid rgba(255,255,255,.25);color:rgba(255,255,255,.75);font-family:Helvetica,Arial,sans-serif;font-size:.73rem;letter-spacing:.1em;text-transform:uppercase;padding:.85rem 1.7rem;text-decoration:none;}
.cta-scroll{color:rgba(255,255,255,.35);font-family:Helvetica,Arial,sans-serif;font-size:.7rem;letter-spacing:.1em;text-transform:uppercase;text-decoration:none;padding:.85rem 0;}
.stats{background:#0E0E0C;display:grid;grid-template-columns:repeat(3,1fr);border-top:.5px solid rgba(255,255,255,.07);}
.stat-item{padding:3.5rem 2.5rem;border-right:.5px solid rgba(255,255,255,.07);}
.stat-item:last-child{border-right:none;}
.stat-num{font-size:clamp(3rem,5.5vw,5.5rem);font-weight:900;color:#fff;line-height:1;letter-spacing:-.04em;}
.stat-gold{color:var(--gold);}
.stat-label{font-size:.63rem;letter-spacing:.18em;text-transform:uppercase;color:rgba(255,255,255,.28);margin-top:.7rem;font-family:Helvetica,Arial,sans-serif;}
.stat-desc{font-size:.76rem;color:rgba(255,255,255,.16);margin-top:.45rem;font-family:Helvetica,Arial,sans-serif;line-height:1.6;}
.manifeste{background:#0E0E0C;color:#fff;text-align:center;padding:6rem 2.5rem;border-top:.5px solid rgba(255,255,255,.05);}
.manifeste-q{font-size:clamp(1.4rem,2.6vw,2.6rem);font-weight:400;font-style:italic;line-height:1.35;max-width:700px;margin:0 auto 1.4rem;}
.manifeste-q strong{font-style:normal;font-weight:900;color:var(--gold);}
.manifeste-attr{font-size:.63rem;letter-spacing:.18em;text-transform:uppercase;color:rgba(255,255,255,.2);font-family:Helvetica,Arial,sans-serif;}
.sec-label{font-size:.65rem;letter-spacing:.2em;text-transform:uppercase;color:var(--muted);margin-bottom:1.1rem;font-family:Helvetica,Arial,sans-serif;display:flex;align-items:center;gap:.8rem;}
.sec-label::before{content:'';display:block;width:1.4rem;height:.5px;background:var(--muted);}
.services{padding:7rem 2.5rem;background:var(--cream);}
.s-header{display:grid;grid-template-columns:1fr 1fr;gap:3rem;align-items:end;margin-bottom:4.5rem;}
.s-title{font-size:clamp(1.9rem,3vw,3rem);font-weight:900;line-height:1.05;letter-spacing:-.02em;}
.s-title em{font-style:italic;font-weight:400;}
.s-desc{font-size:.88rem;color:var(--ink-soft);line-height:1.8;font-family:Helvetica,Arial,sans-serif;}
.s-grid{display:grid;grid-template-columns:repeat(4,1fr);border-top:.5px solid var(--border);}
.s-item{padding:2.2rem 1.4rem 2.2rem 0;border-right:.5px solid var(--border);}
.s-item:last-child{border-right:none;}
.s-num{font-size:.76rem;color:var(--gold);margin-bottom:.9rem;font-style:italic;}
.s-name{font-size:1.15rem;font-weight:700;margin-bottom:.7rem;}
.s-p{font-size:.76rem;color:var(--ink-soft);line-height:1.7;font-family:Helvetica,Arial,sans-serif;}
.s-tags{display:flex;flex-wrap:wrap;gap:.35rem;margin-top:.85rem;}
.s-tag{font-size:.57rem;letter-spacing:.1em;text-transform:uppercase;border:.5px solid var(--border);color:var(--muted);padding:.26rem .52rem;font-family:Helvetica,Arial,sans-serif;}
.visib{padding:7rem 2.5rem;background:#0E0E0C;color:#fff;}
.visib .sec-label{color:rgba(255,255,255,.28);}
.visib .sec-label::before{background:rgba(255,255,255,.18);}
.visib-header{display:grid;grid-template-columns:1fr 1fr;gap:3rem;align-items:end;margin-bottom:4.5rem;}
.visib-title{font-size:clamp(1.9rem,3vw,3rem);font-weight:900;line-height:1.05;color:#fff;}
.visib-title em{font-style:italic;font-weight:400;color:var(--gold);}
.visib-intro{font-size:.88rem;color:rgba(255,255,255,.38);line-height:1.8;font-family:Helvetica,Arial,sans-serif;}
.visib-cols{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:rgba(255,255,255,.07);}
.visib-col{background:#0E0E0C;padding:2.8rem 2.2rem;}
.vcol-title{font-size:.62rem;letter-spacing:.2em;text-transform:uppercase;color:var(--gold);margin-bottom:1.8rem;font-family:Helvetica,Arial,sans-serif;display:flex;align-items:center;gap:.7rem;}
.vcol-title::before{content:'';display:block;width:1.2rem;height:.5px;background:var(--gold);}
.vi{border-top:.5px solid rgba(255,255,255,.07);padding:1.3rem 0;}
.vi:first-of-type{border-top:none;padding-top:0;}
.vi-name{font-size:.98rem;font-weight:700;color:#fff;margin-bottom:.32rem;}
.vi-desc{font-size:.75rem;color:rgba(255,255,255,.36);line-height:1.6;font-family:Helvetica,Arial,sans-serif;}
.vi-tags{display:flex;flex-wrap:wrap;gap:.32rem;margin-top:.65rem;}
.vi-tag{font-size:.55rem;letter-spacing:.1em;text-transform:uppercase;border:.5px solid rgba(255,255,255,.1);color:rgba(255,255,255,.26);padding:.2rem .42rem;font-family:Helvetica,Arial,sans-serif;}
.reel-label{background:#0E0E0C;padding:3.5rem 2.5rem 1.8rem;border-top:.5px solid rgba(255,255,255,.06);}
.reel-wrap{position:relative;overflow:hidden;height:500px;background:#000;}
.slides{display:flex;width:900%;height:100%;animation:slideshow 36s steps(9,end) infinite;}
@keyframes slideshow{0%{transform:translateX(0)}100%{transform:translateX(-100%)}}
.slide{width:11.111%;height:100%;display:flex;flex-direction:column;justify-content:flex-end;padding:2.8rem;flex-shrink:0;position:relative;overflow:hidden;}
.s1{background:radial-gradient(ellipse at 30% 40%,#2a1800 0%,#0a0500 100%);}
.s2{background:radial-gradient(ellipse at 60% 50%,#001525 0%,#000608 100%);}
.s3{background:radial-gradient(ellipse at 40% 30%,#1a0008 0%,#080005 100%);}
.s4{background:radial-gradient(ellipse at 50% 60%,#1a0018 0%,#070005 100%);}
.s5{background:radial-gradient(ellipse at 35% 45%,#1a1000 0%,#080600 100%);}
.s6{background:radial-gradient(ellipse at 55% 35%,#001818 0%,#000808 100%);}
.s7{background:radial-gradient(ellipse at 45% 55%,#001800 0%,#000800 100%);}
.s8{background:radial-gradient(ellipse at 30% 40%,#00001a 0%,#000008 100%);}
.s9{background:radial-gradient(ellipse at 60% 45%,#081500 0%,#030800 100%);}
.sorb{position:absolute;border-radius:50%;filter:blur(60px);animation:sorb1 3s ease-in-out infinite alternate;}
@keyframes sorb1{from{transform:scale(1);opacity:.4;}to{transform:scale(1.3);opacity:.8;}}
.sorb2{position:absolute;border-radius:50%;filter:blur(80px);animation:sorb2a 4s ease-in-out infinite alternate;}
@keyframes sorb2a{from{transform:scale(1.1);opacity:.2;}to{transform:scale(.8);opacity:.5;}}
.s1 .sorb{width:400px;height:400px;background:rgba(200,120,20,.35);top:-100px;right:-50px;}
.s2 .sorb{width:350px;height:350px;background:rgba(20,120,200,.35);top:50px;right:50px;}
.s3 .sorb{width:380px;height:380px;background:rgba(200,20,60,.35);top:-50px;right:0;}
.s4 .sorb{width:420px;height:420px;background:rgba(180,20,200,.35);top:-80px;right:30px;}
.s5 .sorb{width:360px;height:360px;background:rgba(200,160,20,.35);top:30px;right:-30px;}
.s6 .sorb{width:400px;height:400px;background:rgba(20,180,180,.35);top:-60px;right:20px;}
.s7 .sorb{width:350px;height:350px;background:rgba(40,200,80,.35);top:20px;right:-20px;}
.s8 .sorb{width:390px;height:390px;background:rgba(40,80,200,.35);top:-70px;right:10px;}
.s9 .sorb{width:370px;height:370px;background:rgba(100,180,20,.35);top:10px;right:-40px;}
.s1 .sorb2{width:300px;height:300px;background:rgba(220,160,40,.2);bottom:50px;left:50px;}
.s2 .sorb2{width:280px;height:280px;background:rgba(40,160,220,.2);bottom:30px;left:30px;}
.s3 .sorb2{width:290px;height:290px;background:rgba(220,60,80,.2);bottom:60px;left:40px;}
.s4 .sorb2{width:310px;height:310px;background:rgba(200,60,220,.2);bottom:40px;left:20px;}
.s5 .sorb2{width:270px;height:270px;background:rgba(220,180,40,.2);bottom:50px;left:60px;}
.s6 .sorb2{width:300px;height:300px;background:rgba(40,200,200,.2);bottom:35px;left:45px;}
.s7 .sorb2{width:260px;height:260px;background:rgba(60,220,100,.2);bottom:45px;left:35px;}
.s8 .sorb2{width:295px;height:295px;background:rgba(60,100,220,.2);bottom:55px;left:25px;}
.s9 .sorb2{width:280px;height:280px;background:rgba(120,200,40,.2);bottom:40px;left:50px;}
.slines{position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.02) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.02) 1px,transparent 1px);background-size:60px 60px;}
.svig{position:absolute;inset:0;background:radial-gradient(ellipse at 50% 50%,transparent 30%,rgba(0,0,0,.75) 100%);}
.stxt{position:relative;z-index:2;}
.ssector{font-family:Helvetica,Arial,sans-serif;font-size:.6rem;letter-spacing:.2em;text-transform:uppercase;color:rgba(255,255,255,.38);margin-bottom:.45rem;}
.sname{font-size:clamp(2rem,4vw,4rem);font-weight:900;color:#fff;line-height:.95;letter-spacing:-.02em;}
.swork{font-family:Helvetica,Arial,sans-serif;font-size:.72rem;color:rgba(255,255,255,.3);margin-top:.5rem;}
.snum{position:absolute;top:1.8rem;right:1.8rem;font-family:Georgia,serif;font-size:.7rem;font-style:italic;color:rgba(255,255,255,.1);z-index:2;}
.sbar{position:absolute;bottom:0;left:0;height:2px;background:rgba(255,255,255,.4);width:0;animation:sbarA 4s linear infinite;}
@keyframes sbarA{from{width:0}to{width:100%}}
.clients{padding:5rem 2.5rem 7rem;background:var(--cream);}
.c-top{display:grid;grid-template-columns:1fr 2fr;gap:4rem;align-items:start;margin-bottom:4.5rem;}
.c-counts{display:flex;flex-direction:column;gap:2rem;}
.cnum{font-size:clamp(2.8rem,4.5vw,4.5rem);font-weight:900;color:var(--gold);line-height:1;letter-spacing:-.04em;}
.clbl{font-size:.62rem;letter-spacing:.18em;text-transform:uppercase;color:var(--muted);margin-top:.35rem;font-family:Helvetica,Arial,sans-serif;}
.c-divider{width:2rem;height:.5px;background:var(--border);border:none;}
.c-title{font-size:clamp(1.8rem,3vw,3rem);font-weight:900;line-height:1;letter-spacing:-.02em;}
.c-title em{font-style:italic;font-weight:400;}
.c-intro{font-size:.87rem;color:var(--ink-soft);line-height:1.8;font-family:Helvetica,Arial,sans-serif;margin-top:1rem;}
.c-grid{display:grid;grid-template-columns:repeat(3,1fr);border-top:.5px solid var(--border);}
.c-item{border-bottom:.5px solid var(--border);border-right:.5px solid var(--border);padding:1.6rem 1.3rem;}
.c-item:nth-child(3n){border-right:none;}
.c-item:hover{background:rgba(200,169,110,.05);}
.c-sector{font-size:.57rem;letter-spacing:.16em;text-transform:uppercase;color:var(--gold);margin-bottom:.42rem;font-family:Helvetica,Arial,sans-serif;}
.c-name{font-size:1.05rem;font-weight:700;margin-bottom:.26rem;}
.c-work{font-size:.72rem;color:var(--muted);line-height:1.5;font-family:Helvetica,Arial,sans-serif;}
.c-band{margin-top:3.5rem;padding:1.8rem 0;border-top:.5px solid var(--border);overflow:hidden;}
.c-track{display:flex;gap:3rem;align-items:center;animation:cslide 22s linear infinite;width:max-content;}
@keyframes cslide{from{transform:translateX(0);}to{transform:translateX(-50%);}}
.c-bname{font-size:.67rem;letter-spacing:.18em;text-transform:uppercase;color:var(--muted);white-space:nowrap;font-family:Helvetica,Arial,sans-serif;}
.cite{background:#EDEAE1;padding:7rem 2.5rem;text-align:center;}
.cite-q{font-size:clamp(1.25rem,2.5vw,2.3rem);font-weight:400;font-style:italic;max-width:660px;margin:0 auto 1.8rem;line-height:1.35;}
.cite-q strong{font-style:normal;font-weight:900;}
.cite-attr{font-size:.63rem;letter-spacing:.18em;text-transform:uppercase;color:var(--muted);font-family:Helvetica,Arial,sans-serif;}
.contact-section{background:var(--cream);padding:7rem 2.5rem;border-top:.5px solid var(--border);}
.contact-inner{display:grid;grid-template-columns:1fr 1fr;gap:5rem;align-items:center;}
.contact-left h2{font-size:clamp(1.9rem,3vw,3rem);font-weight:900;line-height:1.05;letter-spacing:-.02em;margin-bottom:1rem;}
.contact-left h2 em{font-style:italic;font-weight:400;}
.contact-left p{font-size:.87rem;color:var(--ink-soft);line-height:1.8;font-family:Helvetica,Arial,sans-serif;}
.contact-cards{display:flex;flex-direction:column;gap:.9rem;}
.contact-card{display:flex;align-items:center;gap:1.1rem;border:.5px solid var(--border);padding:1.4rem;text-decoration:none;color:var(--ink);}
.contact-card:hover{border-color:var(--gold);}
.cc-icon{width:42px;height:42px;border-radius:50%;display:flex;align-items:center;justify-content:center;flex-shrink:0;}
.icon-wa{background:#25D366;}
.icon-mail{background:var(--ink);}
.cc-lbl{font-size:.58rem;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);font-family:Helvetica,Arial,sans-serif;margin-bottom:.28rem;}
.cc-title{font-size:.95rem;font-weight:700;}
.cc-sub{font-size:.74rem;color:var(--ink-soft);font-family:Helvetica,Arial,sans-serif;margin-top:.18rem;}
.cc-arrow{margin-left:auto;color:var(--muted);}
.footer-cta{background:#0E0E0C;color:#fff;text-align:center;padding:8rem 2.5rem;}
.fct-eye{font-size:.63rem;letter-spacing:.2em;text-transform:uppercase;color:var(--gold);margin-bottom:1.4rem;font-family:Helvetica,Arial,sans-serif;}
.fct-title{font-size:clamp(2.5rem,6vw,5.5rem);font-weight:900;line-height:.93;margin-bottom:2rem;letter-spacing:-.02em;}
.fct-title em{font-style:italic;font-weight:400;color:var(--gold);}
.fct-sub{font-size:.87rem;color:rgba(255,255,255,.36);margin-bottom:2.8rem;font-family:Helvetica,Arial,sans-serif;}
.fct-btns{display:flex;justify-content:center;gap:.9rem;flex-wrap:wrap;}
.fct-wa{display:inline-flex;align-items:center;gap:.65rem;background:#25D366;color:#fff;font-family:Helvetica,Arial,sans-serif;font-size:.73rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;padding:.88rem 1.7rem;text-decoration:none;}
.fct-wa2{background:#1aab52 !important;}
.fct-mail{display:inline-flex;align-items:center;gap:.65rem;border:.5px solid rgba(255,255,255,.22);color:rgba(255,255,255,.72);font-family:Helvetica,Arial,sans-serif;font-size:.73rem;letter-spacing:.1em;text-transform:uppercase;padding:.88rem 1.7rem;text-decoration:none;}
.site-footer{background:#0E0E0C;border-top:.5px solid rgba(255,255,255,.07);padding:1.6rem 2.5rem;display:flex;justify-content:space-between;align-items:center;}
.ft{font-size:.67rem;color:rgba(255,255,255,.2);font-family:Helvetica,Arial,sans-serif;}
.ft-links{display:flex;gap:1.4rem;}
.ft-links a{font-size:.67rem;color:rgba(255,255,255,.2);text-decoration:none;font-family:Helvetica,Arial,sans-serif;}
.wa-float{position:fixed;bottom:1.8rem;right:1.8rem;z-index:500;width:54px;height:54px;border-radius:50%;background:#25D366;display:flex;align-items:center;justify-content:center;text-decoration:none;}
.reveal{opacity:0;transform:translateY(18px);transition:opacity .7s ease,transform .7s ease;}
.reveal.on{opacity:1;transform:translateY(0);}
@media(max-width:768px){
  .nav-links{display:none;}
  .s-grid,.visib-cols,.c-top,.s-header,.contact-inner,.stats,.visib-header{grid-template-columns:1fr;}
  .s-item{border-right:none;border-bottom:.5px solid var(--border);padding-right:0;}
  .c-grid{grid-template-columns:1fr 1fr;}
  .stat-item{border-right:none;border-bottom:.5px solid rgba(255,255,255,.07);}
  .hero,.services,.clients,.visib,.contact-section,.footer-cta{padding:4rem 1.5rem;}
}

#hero-canvas{position:absolute;inset:0;width:100%;height:100%;z-index:0;}
.hero::after{content:'';position:absolute;inset:0;background:linear-gradient(to right,rgba(8,6,18,0.85) 0%,rgba(8,6,18,0.4) 60%,rgba(8,6,18,0.2) 100%);z-index:1;pointer-events:none;}
.hero-pattern{z-index:2 !important;}
.hero-orb1,.hero-orb2{z-index:2 !important;}
.hero-v{z-index:2 !important;}
.hero-line{z-index:2 !important;}
.hero-content{z-index:10 !important;}


/* Slides avec images locales */
.slide-img{background-size:cover;background-position:center;background-repeat:no-repeat;}
.slide-overlay{position:absolute;inset:0;background:linear-gradient(to top,rgba(0,0,0,0.88) 0%,rgba(0,0,0,0.35) 55%,rgba(0,0,0,0.1) 100%);z-index:1;}
.slide-img .slines{z-index:2;}
.slide-img .stxt{z-index:3;position:relative;}
.slide-img .snum{z-index:3;}
.slide-img .sbar{z-index:3;}
.slide-img .ssector{color:var(--gold);}
.slide-img .sname{color:#fff;text-shadow:0 2px 20px rgba(0,0,0,0.6);}
.slide-img .swork{color:rgba(255,255,255,0.6);}
