
/* ══ TOKENS ══ */
:root {
  --bg:      #0D0C09;
  --bg2:     #12100A;
  --bg3:     #17140D;
  --ink:     #F4F1EA;
  --dim:     #C9D5C4;
  --dimmer:  #9CA894;
  --border:  rgba(244,241,234,.12);
  --border2: rgba(244,241,234,.22);
  --gold:    #D98B5F;
  --rust:    #D98B5F;
  --moss:    #C9D5C4;
  --vert:    #C9D5C4;
  --vert-m:  #9CA894;
  --vert-c:  #3D4E38;
  --corail:  #D98B5F;
}
*{margin:0;padding:0;box-sizing:border-box;}
html{scroll-behavior:auto;overflow-x:hidden;}
body{background:var(--bg);color:var(--ink);font-family:'Inter',sans-serif;font-weight:300;overflow-x:hidden;-webkit-font-smoothing:antialiased;}
@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important;}body{cursor:auto;}.cursor,.cursor-ring{display:none;}}
@media(hover:none){body{cursor:auto;}.cursor,.cursor-ring{display:none;}}

/* grain */
body::before{content:"";position:fixed;inset:-200%;z-index:9000;pointer-events:none;opacity:.05;
  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)'/%3E%3C/svg%3E");
  }
@keyframes grain{0%{transform:translate(0,0);}20%{transform:translate(-3%,-5%);}40%{transform:translate(5%,3%);}60%{transform:translate(-4%,6%);}80%{transform:translate(7%,-2%);}100%{transform:translate(0,0);}}

/* curseur */
.cursor{position:fixed;z-index:800;pointer-events:none;width:8px;height:8px;border-radius:50%;background:var(--gold);transform:translate(-50%,-50%);mix-blend-mode:difference;}
.cursor-ring{position:fixed;z-index:799;pointer-events:none;width:44px;height:44px;border-radius:50%;border:1px solid rgba(200,97,74,.35);transform:translate(-50%,-50%);transition:width .3s,height .3s,border-color .3s;opacity:.7;}
.cursor-ring.big{width:78px;height:78px;border-color:rgba(200,97,74,.7);opacity:1;}

/* intro */
#intro{position:fixed;inset:0;z-index:700;background:var(--bg3);display:flex;align-items:center;justify-content:center;}
#iw{font-family:'Cormorant Garamond',serif;font-weight:300;font-style:italic;font-size:clamp(4rem,12vw,9rem);color:var(--ink);letter-spacing:.02em;text-align:center;opacity:0;transition:opacity .18s ease,transform .18s ease;transform:translateY(12px);}
#iw.s{opacity:1;transform:translateY(0);}
#iw.h{opacity:0;transform:translateY(-12px);}
#ib{position:absolute;bottom:0;left:0;height:1px;background:var(--gold);width:0;}

/* canvas arbre */
#tree-canvas{position:fixed;right:0;top:0;width:50vw;height:100vh;z-index:5;pointer-events:none;opacity:0;transition:opacity 1.2s ease;mix-blend-mode:screen;}
#tree-canvas.show{opacity:1;}

/* nav */
nav{position:fixed;top:0;left:0;right:0;z-index:100;display:flex;justify-content:space-between;align-items:center;padding:26px 5vw;opacity:0;mix-blend-mode:difference;transition:opacity .8s ease;}
nav.ready{opacity:1;}
nav .brand{font-family:'Space Mono',monospace;font-size:12px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--ink);}
nav ul{list-style:none;display:flex;gap:6px;}
nav ul li a{font-family:'Space Mono',monospace;font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:var(--dim);text-decoration:none;padding:8px 16px;border-radius:30px;border:1px solid transparent;transition:color .3s,border-color .3s;}
nav ul li a:hover{color:var(--ink);border-color:var(--border2);}
.nav-cta a{color:var(--ink)!important;border-color:var(--border2)!important;}

/* ═══ SECTIONS ═══ */
.page{position:relative;z-index:2;}
section{position:relative;min-height:100vh;padding:14vh 5vw 10vh;}
.section-tag{font-family:'Space Mono',monospace;font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--gold);margin-bottom:18px;display:flex;align-items:center;gap:12px;}
.section-tag::before{content:"";width:22px;height:1px;background:var(--gold);display:block;}
/* indicateur croissance arbre */
.tree-stage{font-family:'Space Mono',monospace;font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:var(--dimmer);margin-bottom:60px;display:flex;align-items:center;gap:10px;}
.tree-stage::before{content:"";width:14px;height:14px;border-radius:50%;border:1px solid var(--dimmer);display:block;flex-shrink:0;}

/* ═══ HERO ═══ */
#hero{min-height:100vh;display:flex;flex-direction:column;justify-content:flex-end;padding-bottom:9vh;}
.hero-headline{font-family:'Cormorant Garamond',serif;font-weight:300;font-size:clamp(2.8rem,6.5vw,6rem);line-height:.95;letter-spacing:-.02em;color:var(--ink);margin-bottom:44px;max-width:52vw;opacity:0;}
.hero-headline em{font-style:italic;color:var(--gold);}
.hero-meta{display:flex;justify-content:space-between;align-items:flex-end;gap:40px;flex-wrap:wrap;max-width:52vw;opacity:0;}
.hero-name{font-family:'Cormorant Garamond',serif;font-weight:500;font-size:1.6rem;letter-spacing:.03em;}
.hero-role{font-family:'Space Mono',monospace;font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:var(--dim);line-height:2.2;margin-top:8px;}
.hero-cta{display:inline-flex;align-items:center;gap:13px;text-decoration:none;font-family:'Space Mono',monospace;font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:var(--ink);opacity:0;}
.hero-cta .cc{width:42px;height:42px;border-radius:50%;border:1px solid var(--border2);display:flex;align-items:center;justify-content:center;font-size:14px;transition:background .35s,color .35s,transform .35s,border-color .35s;}
.hero-cta:hover .cc{background:var(--gold);border-color:var(--gold);color:var(--bg);transform:rotate(45deg);}
.hero-cta:hover{color:var(--gold);}
/* flottants hero */
.hf{position:absolute;font-family:'Space Mono',monospace;font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:var(--dimmer);opacity:0;}
.hf1{top:30%;left:6%;transform:rotate(-3deg);}
.hf2{top:42%;right:8%;transform:rotate(2deg);}
.hf3{bottom:30%;right:13%;transform:rotate(-2deg);}

/* ticker */
.ticker{overflow:hidden;border-top:1px solid var(--border);border-bottom:1px solid var(--border);padding:13px 0;position:relative;z-index:2;}
.tt{display:inline-flex;gap:50px;white-space:nowrap;animation:ticka 30s linear infinite;}
.tt span{font-family:'Cormorant Garamond',serif;font-style:italic;font-size:clamp(1rem,2.2vw,1.7rem);color:rgba(237,230,212,.18);}
.tt .hi{color:var(--gold);}
@keyframes ticka{from{transform:translateX(0);}to{transform:translateX(-50%);}}

/* ═══ WHO I AM ═══ */
#about{border-top:1px solid var(--border);display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center;}
/* carousel */
.about-visual{position:relative;}
.orbit-bg-svg{position:absolute;inset:-60px;pointer-events:none;z-index:0;overflow:visible;}
.orb-ring{fill:none;transition:stroke .6s;}
.orb-r1{stroke:rgba(200,97,74,.07);stroke-width:1;}
.orb-r2{stroke:rgba(201,96,59,.05);stroke-width:.8;stroke-dasharray:3 6;}
.orb-r3{stroke:rgba(45,74,62,.12);stroke-width:1.2;}
.orb-part{fill:rgba(200,97,74,.4);}
.photo-glow{position:absolute;top:40%;left:50%;transform:translate(-50%,-50%);width:72%;height:75%;border-radius:50%;z-index:0;opacity:0;transition:opacity .8s;background:radial-gradient(ellipse,rgba(200,97,74,.08) 0%,transparent 70%);}
.about-visual:hover .photo-glow{opacity:1;}
.carousel-wrap{position:relative;z-index:1;width:100%;max-width:380px;}
.carousel-slides{position:relative;aspect-ratio:3/4;overflow:hidden;border-radius:2px;}
.cslide{position:absolute;inset:0;opacity:0;transform:scale(1.05);}
.cslide.active{opacity:1;transform:scale(1);transition:opacity .9s ease,transform .9s ease;}
.cslide img{width:100%;height:100%;object-fit:cover;object-position:top center;display:block;
  -webkit-mask-image:radial-gradient(ellipse 90% 95% at 50% 46%,black 50%,transparent 100%);
  mask-image:radial-gradient(ellipse 90% 95% at 50% 46%,black 50%,transparent 100%);
  filter:contrast(1.06) brightness(.97);}
.cslide::after{content:"";position:absolute;left:0;right:0;bottom:0;height:44%;background:linear-gradient(to top,var(--bg),transparent);z-index:1;}
.sbadge{position:absolute;bottom:20px;left:50%;transform:translateX(-50%);z-index:3;text-align:center;opacity:0;transition:opacity .5s .4s;}
.cslide.active .sbadge{opacity:1;}
.sicon{width:42px;height:42px;border-radius:50%;border:1px solid var(--slide-color,var(--gold));background:rgba(13,12,9,.85);display:flex;align-items:center;justify-content:center;font-size:.95rem;margin:0 auto 9px;animation:sflt 3s ease-in-out infinite;}
@keyframes sflt{0%,100%{transform:translateY(0);}50%{transform:translateY(-5px);}}
.srole{font-family:'Space Mono',monospace;font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:var(--slide-color,var(--gold));white-space:nowrap;}
/* icône orbitale */
.orbit-icon{position:absolute;top:10%;right:-8%;z-index:4;display:flex;flex-direction:column;align-items:center;gap:7px;opacity:0;transition:opacity .5s ease .5s;pointer-events:none;}
.cslide.active .orbit-icon{opacity:1;}
.oi-circle{width:42px;height:42px;border-radius:50%;background:rgba(13,12,9,.85);border:1px solid var(--slide-color,var(--gold));display:flex;align-items:center;justify-content:center;font-size:.95rem;box-shadow:0 0 16px rgba(0,0,0,.4);}
.oi-label{font-family:'Space Mono',monospace;font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:var(--slide-color,var(--gold));white-space:nowrap;}
.carousel-nav{display:flex;gap:10px;margin-top:18px;justify-content:center;}
.cdot{width:26px;height:26px;border-radius:50%;border:1px solid rgba(237,230,212,.12);background:transparent;cursor:pointer;display:flex;align-items:center;justify-content:center;padding:0;}
.cdot::before{content:"";width:5px;height:5px;border-radius:50%;background:rgba(237,230,212,.2);transition:background .4s;}
.cdot.active{border-color:var(--slide-color,var(--gold));}
.cdot.active::before{background:var(--slide-color,var(--gold));}
/* texte about */
.about-text h2{font-family:'Cormorant Garamond',serif;font-weight:300;font-size:clamp(2rem,4vw,3.2rem);line-height:1.0;margin-bottom:44px;}
.about-text h2 em{font-style:italic;color:var(--gold);}
.journey{border-left:1px solid var(--border);padding-left:22px;}
.jitem{display:flex;align-items:center;gap:16px;padding:14px 0;border-bottom:1px solid var(--border);overflow:hidden;}
.jitem .ji{display:flex;align-items:center;gap:16px;transform:translateX(-28px);opacity:0;}
.jdot{width:7px;height:7px;border-radius:50%;background:var(--dimmer);flex-shrink:0;transition:background .4s,box-shadow .4s;}
.jitem.cur .jdot{background:var(--gold);box-shadow:0 0 10px rgba(200,97,74,.5);}
.jt{font-family:'Cormorant Garamond',serif;font-size:1.25rem;color:var(--dim);}
.jitem.cur .jt{color:var(--gold);font-weight:500;}
.about-desc{font-size:.92rem;line-height:1.85;color:var(--dim);margin-top:32px;font-family:'Inter',sans-serif;font-weight:300;border-left:2px solid rgba(200,97,74,.3);padding-left:18px;}

/* ═══ PROCESS — ANNEAUX ═══ */
#process{border-top:1px solid var(--border);background:var(--bg2);}
#process h2{font-family:'Cormorant Garamond',serif;font-weight:300;font-size:clamp(2rem,4.5vw,3.6rem);line-height:1.0;margin-bottom:60px;}
#process h2 em{font-style:italic;color:#5C6D57;}
.rings-container{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:center;max-width:1100px;}
.rings-svg-wrap{position:relative;aspect-ratio:1/1;max-width:460px;}
.rings-svg-wrap svg{width:100%;height:100%;}
.rarc{fill:none;stroke-width:22;cursor:pointer;stroke:rgba(237,230,212,.05);
  stroke-dasharray:var(--arc-len,1000);stroke-dashoffset:var(--arc-len,1000);
  transition:stroke .4s,stroke-width .4s;}
.rarc:hover,.rarc.active{stroke:var(--gold);stroke-width:26;}
.rlabel{font-family:'Space Mono',monospace;font-size:12px;letter-spacing:.1em;text-transform:uppercase;fill:var(--dimmer);pointer-events:none;}
.rdetail .rnum{font-family:'Space Mono',monospace;font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--dimmer);margin-bottom:16px;}
.rdetail .ricon{font-size:1.8rem;margin-bottom:14px;display:block;}
.rdetail .rtitle{font-family:'Cormorant Garamond',serif;font-size:clamp(1.8rem,3.5vw,2.8rem);font-weight:300;margin-bottom:8px;}
.rdetail .rtitle em{font-style:italic;color:#5C6D57;}
.rdetail .rsubtitle{font-family:'Cormorant Garamond',serif;font-style:italic;font-size:1.1rem;color:#5C6D57;margin-bottom:16px;}
.rdetail .rdesc{font-size:.88rem;line-height:1.8;color:var(--dim);max-width:340px;}
.rpanel{display:none;opacity:0;transform:translateY(10px);transition:opacity .45s,transform .45s;}
.rpanel.active{display:block;opacity:1;transform:translateY(0);}

/* ═══ CASE STUDIES — BRANCHES ═══ */
#casestudies{border-top:1px solid var(--border);}
#casestudies h2{font-family:'Cormorant Garamond',serif;font-weight:300;font-size:clamp(2rem,4.5vw,3.6rem);line-height:1.0;margin-bottom:14px;}
#casestudies h2 em{font-style:italic;color:#5C6D57;}
#casestudies .cs-sub{font-family:'Space Mono',monospace;font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:var(--dim);margin-bottom:60px;}
.branches-wrap{display:flex;flex-direction:column;gap:0;}
.branch-item{border-bottom:1px solid var(--border);}
.branch-header{display:flex;align-items:center;gap:20px;padding:28px 0;cursor:pointer;position:relative;}
.branch-header::before{content:"";position:absolute;left:-5vw;top:50%;width:0;height:1px;background:var(--gold);transition:width .4s ease;}
.branch-item.open .branch-header::before{width:4vw;}
.branch-icon{font-size:1.2rem;flex-shrink:0;transition:transform .4s;}
.branch-item.open .branch-icon{transform:rotate(12deg);}
.branch-name{font-family:'Cormorant Garamond',serif;font-size:clamp(1.6rem,3.5vw,2.8rem);font-weight:300;color:var(--dim);transition:color .3s;flex:1;}
.branch-header:hover .branch-name,.branch-item.open .branch-name{color:var(--ink);}
.branch-tag{font-family:'Space Mono',monospace;font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:var(--dimmer);margin-left:auto;flex-shrink:0;}
.branch-arrow{color:var(--dimmer);font-size:.8rem;margin-left:14px;transition:transform .4s,color .3s;flex-shrink:0;}
.branch-item.open .branch-arrow{transform:rotate(90deg);color:var(--gold);}
.branch-content{max-height:0;overflow:hidden;transition:max-height 1.2s cubic-bezier(.2,.8,.2,1);content-visibility:auto;}
.branch-item.open .branch-content{max-height:9000px;}
.branch-inner{padding:0 0 40px 52px;display:grid;grid-template-columns:1.2fr .8fr;gap:50px;}
.branch-desc{font-size:1rem;line-height:1.8;color:var(--dim);margin-bottom:20px;}
.branch-tags-list{display:flex;flex-wrap:wrap;gap:8px;margin-top:16px;}
.branch-tag-item{font-family:'Space Mono',monospace;font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:#9CA894;border:1px solid rgba(201,213,196,.3);padding:5px 12px;border-radius:20px;}
.branch-year{font-family:'Cormorant Garamond',serif;font-style:italic;font-size:1.1rem;color:var(--gold);}
.branch-ph{aspect-ratio:16/9;background:repeating-linear-gradient(135deg,#181510 0 12px,#111008 12px 24px);border-radius:2px;display:flex;align-items:center;justify-content:center;font-family:'Space Mono',monospace;font-size:12px;text-transform:uppercase;color:var(--dimmer);border:1px dashed #2a2820;}
/* ═══ HERITAGE CASE STUDY — Atelier créatif ═══ */
.branch-inner.heritage{grid-template-columns:1fr;gap:50px;position:relative;}

/* sketch watermark en fond */
.heritage-sketch-bg{
  position:absolute;inset:-20px;z-index:0;pointer-events:none;
  overflow:hidden;border-radius:4px;
}
.heritage-sketch-bg img{
  width:100%;height:100%;object-fit:cover;object-position:center;
  opacity:.04;filter:invert(1) grayscale(1);
  transform:scale(1.06);
}

/* tous les blocs au-dessus du fond */
.heritage-header,.heritage-campaign,.heritage-process,.heritage-outcome{position:relative;z-index:1;}

.heritage-header{display:grid;grid-template-columns:1.1fr .9fr;gap:36px;align-items:start;}
.heritage-slogan{
  font-family:'Cormorant Garamond',serif;font-style:italic;
  font-size:clamp(1.3rem,2.2vw,1.8rem);color:var(--gold);
  margin:0 0 16px;line-height:1.2;
}
.heritage-desc{font-size:.88rem;line-height:1.88;color:var(--dim);margin-bottom:12px;}
.heritage-tags{display:flex;flex-wrap:wrap;gap:8px;margin:18px 0 12px;}
.branch-year-tag{font-family:'Space Mono',monospace;font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:var(--dimmer);}
/* logo final à droite */
/* ── LOGO FLIP CARD ── */
.hlogo-final{position:relative;perspective:1000px;cursor:pointer;}
.logo-flip{
  position:relative;width:100%;
  transform-style:preserve-3d;
  transition:transform .85s cubic-bezier(.4,.2,.2,1);
}
.hlogo-final:hover .logo-flip{transform:rotateY(180deg);}
.logo-face,.logo-back{
  position:relative;backface-visibility:hidden;-webkit-backface-visibility:hidden;
  border-radius:2px;overflow:hidden;
}
.logo-back{
  position:absolute;inset:0;
  transform:rotateY(180deg);
  background:#F8F3EA;
}
.logo-face img,.logo-back img{width:100%;height:100%;display:block;object-fit:cover;}
.logo-back img{filter:grayscale(.1) contrast(1.05);}
/* badge hint */
.hlogo-badge{
  position:absolute;bottom:12px;left:50%;transform:translateX(-50%);z-index:2;
  font-family:'Space Mono',monospace;font-size:12px;letter-spacing:.1em;text-transform:uppercase;
  color:var(--gold);background:rgba(13,12,9,.85);padding:4px 12px;border-radius:20px;
  white-space:nowrap;border:1px solid rgba(200,97,74,.3);
  opacity:1;transition:opacity .3s;pointer-events:none;
}
.hlogo-final:hover .hlogo-badge{opacity:0;}
/* badge au dos */
.logo-back-badge{
  position:absolute;bottom:12px;left:50%;transform:translateX(-50%);z-index:2;
  font-family:'Space Mono',monospace;font-size:12px;letter-spacing:.1em;text-transform:uppercase;
  color:#5a3a1a;background:rgba(248,243,234,.92);padding:4px 12px;border-radius:20px;
  white-space:nowrap;border:1px solid rgba(90,58,26,.2);
}
.logo-back-title{
  position:absolute;top:12px;left:50%;transform:translateX(-50%);z-index:2;
  font-family:'Space Mono',monospace;font-size:12px;letter-spacing:.1em;text-transform:uppercase;
  color:#5a3a1a;background:rgba(248,243,234,.88);padding:4px 12px;border-radius:20px;
  white-space:nowrap;
}
/* hint cursor */
.logo-hint{
  position:absolute;top:12px;right:12px;z-index:3;
  font-family:'Space Mono',monospace;font-size:12px;letter-spacing:.08em;text-transform:uppercase;
  color:var(--dimmer);background:rgba(13,12,9,.7);padding:3px 9px;border-radius:20px;
  display:flex;align-items:center;gap:5px;
}
.logo-hint::before{content:"↩";font-size:12px;}

/* ── CAMPAGNE : Polaroïds épinglés ── */
.section-sublabel{
  font-family:'Space Mono',monospace;font-size:12px;letter-spacing:.14em;
  text-transform:uppercase;color:var(--dimmer);margin-bottom:22px;
  display:flex;align-items:center;gap:12px;
}
.section-sublabel::before{content:"";width:18px;height:1px;background:var(--rust);display:block;}
.polaroid-board{
  display:flex;gap:0;align-items:flex-start;flex-wrap:nowrap;overflow:visible;
  padding:20px 10px 30px;
}
.polaroid{
  position:relative;flex:1;min-width:0;
  background:#F4EDE0;padding:8px 8px 28px;
  box-shadow:0 8px 30px rgba(0,0,0,.5),0 2px 8px rgba(0,0,0,.3);
  cursor:pointer;
  transform:rotate(var(--rot,0deg)) translateY(0);
  transition:transform .45s cubic-bezier(.2,.8,.2,1),box-shadow .45s ease;
  margin:0 4px;z-index:1;
}
.polaroid:nth-child(1){--rot:-3.5deg;margin-top:20px;}
.polaroid:nth-child(2){--rot:1.8deg;margin-top:0;}
.polaroid:nth-child(3){--rot:-2.2deg;margin-top:30px;}
.polaroid:nth-child(4){--rot:3deg;margin-top:10px;}
.polaroid:hover{
  transform:rotate(0deg) translateY(-16px) scale(1.08) !important;
  box-shadow:0 24px 60px rgba(0,0,0,.7),0 4px 16px rgba(0,0,0,.4);
  z-index:10;
}
.polaroid img{width:100%;height:auto;display:block;}
  width:100%;display:block;height:auto;
}
.polaroid-caption{
  text-align:center;margin-top:8px;
  font-family:'Space Mono',monospace;font-size:12px;letter-spacing:.06em;
  text-transform:uppercase;color:#5a4a3a;
}
/* épingle en haut */
.polaroid::before{
  content:"📌";position:absolute;top:-12px;left:50%;transform:translateX(-50%);
  font-size:16px;filter:drop-shadow(0 2px 4px rgba(0,0,0,.4));
}

/* ── PROCESSUS LOGO : sketch → logo ── */
.logo-process{display:grid;grid-template-columns:1.4fr 1fr;gap:28px;align-items:center;}

/* sketch avec effet "papier de recherche" */
.sketch-card{
  position:relative;border-radius:3px;overflow:hidden;
  background:#F8F3EA;
  box-shadow:0 6px 24px rgba(0,0,0,.5),0 1px 4px rgba(0,0,0,.3);
  transform:rotate(-1.5deg);
  transition:transform .5s ease;
}
.sketch-card:hover{transform:rotate(0deg) scale(1.02);}
.sketch-card img{width:100%;display:block;filter:grayscale(.15) contrast(1.05);}
.sketch-card-note{
  position:absolute;top:12px;left:12px;
  font-family:'Space Mono',monospace;font-size:12px;letter-spacing:.1em;text-transform:uppercase;
  color:#3a2a1a;background:rgba(248,243,234,.9);padding:4px 10px;border-radius:20px;
  border:1px solid rgba(58,42,26,.2);
}
.sketch-card-corner{
  position:absolute;bottom:10px;right:10px;
  font-family:'Cormorant Garamond',serif;font-style:italic;font-size:.8rem;
  color:#8a7060;opacity:.7;
}

/* logo final : effet révélation */
.logo-reveal{display:flex;flex-direction:column;gap:14px;align-items:center;}
.logo-reveal img{
  width:85%;display:block;
  border-radius:2px;
  box-shadow:0 0 40px rgba(200,97,74,.12);
}
.logo-reveal-title{
  font-family:'Space Mono',monospace;font-size:12px;letter-spacing:.12em;
  text-transform:uppercase;color:var(--gold);text-align:center;
}
.logo-reveal-desc{
  font-size:.82rem;line-height:1.8;color:var(--dim);text-align:center;max-width:260px;
}
/* flèche sketch → logo */
.process-arrow{
  position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);
  font-family:'Cormorant Garamond',serif;font-size:1.6rem;color:var(--gold);
  opacity:.6;pointer-events:none;
  display:none;
}

/* ── OUTCOME ── */
.heritage-outcome{
  padding:24px 28px;border-left:2px solid var(--gold);
  background:rgba(200,97,74,.04);border-radius:0 2px 2px 0;
}
.heritage-outcome p{
  font-family:'Cormorant Garamond',serif;font-style:italic;
  font-size:1rem;color:var(--dim);line-height:1.85;
}
.heritage-outcome strong{color:var(--gold);font-style:normal;}
/* ═══ RESTAURANT ATLANTIQUE ═══ */
.ra-inner{position:relative;z-index:1;display:flex;flex-direction:column;gap:44px;}
/* header : logo + texte */
.ra-header{display:grid;grid-template-columns:auto 1fr;gap:32px;align-items:start;}
.ra-logo-wrap{
  width:90px;height:90px;border-radius:50%;overflow:hidden;flex-shrink:0;
  box-shadow:0 0 30px rgba(229,104,36,.3);
}
.ra-logo-wrap img{width:100%;height:100%;object-fit:cover;display:block;}
.ra-brand-title{font-family:'Cormorant Garamond',serif;font-weight:300;font-size:clamp(1.8rem,3.5vw,2.8rem);line-height:1.0;margin-bottom:10px;}
.ra-brand-title em{font-style:italic;color:#E56824;}
.ra-tagline{font-family:'Cormorant Garamond',serif;font-style:italic;font-size:1.1rem;color:#E56824;margin-bottom:14px;}
.ra-desc{font-size:.88rem;line-height:1.88;color:var(--dim);}
/* défi / travaux */
.ra-work-label{font-family:'Space Mono',monospace;font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--dimmer);margin-bottom:14px;display:flex;align-items:center;gap:10px;}
.ra-work-label::before{content:"";width:18px;height:1px;background:#E56824;display:block;}
.ra-chips{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:16px;}
.ra-chip{font-family:'Space Mono',monospace;font-size:12px;letter-spacing:.08em;text-transform:uppercase;padding:5px 13px;border-radius:20px;border:1px solid rgba(229,104,36,.35);color:#E56824;}

/* grille magazine food */

.ra-img{border-radius:3px;cursor:pointer;position:relative;overflow:hidden;}
.ra-img img{width:100%;height:auto;display:block;
  transition:transform .5s ease,filter .4s;filter:brightness(.95);}
.ra-img:hover img{transform:scale(1.03);filter:brightness(1);}
/* grille simple 3 colonnes - images pleine hauteur */
.ra-grid{grid-template-columns:repeat(3,1fr) !important;}
.ra-i1,.ra-i2,.ra-i3,.ra-i4,.ra-i5,.ra-i6,.ra-i7,.ra-i8,.ra-i9{
  grid-column:auto;grid-row:auto;aspect-ratio:unset;}
/* caption au hover */
.ra-cap{
  position:absolute;bottom:0;left:0;right:0;z-index:2;
  background:linear-gradient(to top,rgba(13,12,9,.88),transparent);
  padding:20px 14px 12px;
  font-family:'Cormorant Garamond',serif;font-style:italic;
  font-size:.95rem;color:#fff;
  opacity:0;transform:translateY(8px);
  transition:opacity .35s,transform .35s;
}
.ra-img:hover .ra-cap{opacity:1;transform:translateY(0);}
/* outcome */
.ra-outcome{padding:22px 26px;border-left:2px solid #E56824;background:rgba(229,104,36,.04);}
.ra-outcome p{font-family:'Cormorant Garamond',serif;font-style:italic;font-size:.98rem;color:var(--dim);line-height:1.85;}
.ra-outcome strong{color:#E56824;font-style:normal;}
/* ═══ ONGLETS TRAVAUX RA ═══ */
.ra-tabs{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:0;}
.ra-tab{
  font-family:'Space Mono',monospace;font-size:12px;letter-spacing:.08em;text-transform:uppercase;
  padding:8px 16px;border-radius:30px;border:1px solid rgba(229,104,36,.3);
  color:var(--dim);background:transparent;cursor:pointer;
  transition:all .3s ease;
}
.ra-tab:hover{color:#E56824;border-color:#E56824;}
.ra-tab.active{color:var(--bg);background:#E56824;border-color:#E56824;}
.ra-panel{display:none;}
.ra-panel.active{display:block;animation:panelIn .45s ease;}
@keyframes panelIn{from{opacity:0;transform:translateY(14px);}to{opacity:1;transform:translateY(0);}}


/* ═══ RESTAURANT ATLANTIQUE — SUPPLÉMENTS ═══ */

/* SAC 3D animation */
.ra-print-section{display:flex;flex-direction:column;gap:40px;}
.ra-print-label{font-family:'Space Mono',monospace;font-size:12px;letter-spacing:.14em;
  text-transform:uppercase;color:var(--dimmer);margin-bottom:16px;
  display:flex;align-items:center;gap:10px;}
.ra-print-label::before{content:"";width:18px;height:1px;background:#E56824;display:block;}

/* Sac tournant */
.sac-scene{width:260px;height:320px;perspective:800px;cursor:pointer;margin:0 auto;}
.sac-wrap{
  width:100%;height:100%;position:relative;transform-style:preserve-3d;
  animation:sacRotate 8s ease-in-out infinite;
}
.sac-wrap:hover{animation-play-state:paused;}
.sac-face,.sac-back{
  position:absolute;inset:0;backface-visibility:hidden;-webkit-backface-visibility:hidden;
  border-radius:4px;overflow:hidden;
}
.sac-back{transform:rotateY(180deg);}
.sac-face img,.sac-back img{width:100%;height:100%;object-fit:contain;display:block;}
@keyframes sacRotate{
  0%{transform:rotateY(0deg);}
  45%{transform:rotateY(180deg);}
  50%{transform:rotateY(180deg);}
  95%{transform:rotateY(360deg);}
  100%{transform:rotateY(360deg);}
}
.sac-hint{text-align:center;font-family:'Space Mono',monospace;font-size:12px;
  letter-spacing:.1em;text-transform:uppercase;color:var(--dimmer);margin-top:12px;}

/* Affiches grid */
.affiches-grid{display:grid;grid-template-columns:1fr 1fr 1fr;gap:14px;align-items:start;}
.affiche-card{border-radius:3px;overflow:hidden;cursor:zoom-in;position:relative;
  transition:transform .4s ease,box-shadow .4s ease;}
.affiche-card:hover{transform:scale(1.03) translateY(-4px);
  box-shadow:0 20px 50px rgba(0,0,0,.6);}
.affiche-card img{width:100%;display:block;}
.affiche-label{font-family:'Space Mono',monospace;font-size:12px;letter-spacing:.1em;
  text-transform:uppercase;color:var(--dimmer);text-align:center;margin-top:8px;}
.affiche-card.terrain{cursor:default;}
.affiche-card.terrain::before{
  content:"📍 Photo terrain";position:absolute;top:10px;left:10px;
  font-family:'Space Mono',monospace;font-size:12px;letter-spacing:.1em;text-transform:uppercase;
  color:#E56824;background:rgba(13,12,9,.85);padding:4px 10px;border-radius:20px;
}

/* ── MENU FLIPBOOK ── */
.menu-book{
  position:relative;width:100%;max-width:680px;margin:0 auto;
  perspective:1800px;
}
.book-inner{
  position:relative;transform-style:preserve-3d;
  width:100%;
}
/* pages visibles */
.menu-pages{
  display:grid;grid-template-columns:1fr 1fr;gap:0;
  position:relative;
  box-shadow:0 20px 80px rgba(0,0,0,.7),0 4px 20px rgba(0,0,0,.5);
  border-radius:2px 8px 8px 2px;
}
.mpage{
  position:relative;overflow:hidden;
  transform-origin:left center;
  transition:transform .85s cubic-bezier(.4,.2,.2,1);
}
.mpage img{width:100%;display:block;min-height:300px;object-fit:cover;}
.mpage-spine{
  position:absolute;inset:0;width:4px;right:auto;
  background:linear-gradient(to right,rgba(0,0,0,.4),rgba(0,0,0,.1));
  z-index:2;pointer-events:none;
}
.mpage:last-child .mpage-spine{right:0;left:auto;
  background:linear-gradient(to left,rgba(0,0,0,.4),rgba(0,0,0,.1));}

/* navigation menu */
.menu-nav{display:flex;justify-content:center;align-items:center;gap:20px;margin-top:20px;}
.mnav-btn{
  width:40px;height:40px;border-radius:50%;
  border:1px solid rgba(229,104,36,.4);background:transparent;cursor:pointer;
  color:#E56824;font-size:1rem;display:flex;align-items:center;justify-content:center;
  transition:background .3s,border-color .3s;
}
.mnav-btn:hover{background:#E56824;border-color:#E56824;color:var(--bg);}
.mnav-btn:disabled{opacity:.25;cursor:default;}
.menu-pages-count{
  font-family:'Space Mono',monospace;font-size:12px;letter-spacing:.1em;color:var(--dimmer);
}
/* effet tournure de page */
.mpage.turning{
  animation:pageTurn .85s cubic-bezier(.4,.2,.2,1) forwards;
}
@keyframes pageTurn{
  0%{transform:rotateY(0deg);z-index:3;}
  50%{transform:rotateY(-90deg);z-index:3;}
  100%{transform:rotateY(-180deg);z-index:1;}
}
.mpage.unturning{
  animation:pageUnturn .85s cubic-bezier(.4,.2,.2,1) forwards;
}
@keyframes pageUnturn{
  0%{transform:rotateY(-180deg);z-index:3;}
  50%{transform:rotateY(-90deg);z-index:3;}
  100%{transform:rotateY(0deg);z-index:1;}
}

@media(max-width:700px){
  .ra-grid{grid-template-columns:1fr 1fr;}
  .ra-i1,.ra-i2,.ra-i3,.ra-i4,.ra-i5,.ra-i6,.ra-i7,.ra-i8,.ra-i9{grid-column:auto;grid-row:auto;aspect-ratio:1/1;}
  .ra-header{grid-template-columns:1fr;}
}


@media(max-width:700px){
  .heritage-header{grid-template-columns:1fr;}
  .polaroid-board{flex-wrap:wrap;gap:14px;padding:10px 0;}
  .polaroid{margin:0;flex:0 0 calc(50% - 7px);}
  .logo-process{grid-template-columns:1fr;}
}

/* ═══ SERVICES — FEUILLES ═══ */
#services{border-top:1px solid var(--border);background:var(--bg2);position:relative;overflow:hidden;}
#services::before{content:"";position:absolute;inset:0;background:radial-gradient(ellipse 70% 60% at 15% 60%,rgba(45,74,62,.14),transparent 60%);pointer-events:none;}
#services h2{font-family:'Cormorant Garamond',serif;font-weight:300;font-size:clamp(2rem,4.5vw,3.6rem);line-height:1.0;margin-bottom:60px;position:relative;z-index:1;}
#services h2 em{font-style:italic;color:#5C6D57;}
.stree{display:flex;gap:50px;position:relative;z-index:1;}
.sstem{width:2px;background:linear-gradient(to bottom,transparent,var(--rust) 5%,var(--rust) 95%,transparent);flex-shrink:0;transform-origin:top;transform:scaleY(0);}
.sleafs{flex:1;}
.leaf{border-bottom:1px solid var(--border);cursor:pointer;}
.ltrig{display:flex;align-items:center;gap:16px;padding:20px 0 20px 34px;position:relative;}
.ltrig::before{content:"";position:absolute;left:0;top:50%;width:28px;height:1px;background:var(--rust);opacity:.4;transition:opacity .3s,width .3s;}
.leaf:hover .ltrig::before,.leaf.open .ltrig::before{opacity:.9;width:32px;}
.leaf-em{font-size:1.1rem;flex-shrink:0;transition:transform .4s;}
.leaf.open .leaf-em{transform:rotate(12deg) translateY(3px);}
.leaf-name{font-family:'Cormorant Garamond',serif;font-size:clamp(1.3rem,2.5vw,1.9rem);font-weight:400;color:var(--dim);transition:color .3s;flex:1;}
.leaf:hover .leaf-name,.leaf.open .leaf-name{color:var(--ink);}
.leaf-num{font-family:'Space Mono',monospace;font-size:12px;letter-spacing:.1em;color:var(--dimmer);margin-left:auto;}
.larr{color:var(--dimmer);font-size:.78rem;margin-left:12px;transition:transform .4s,color .3s;}
.leaf.open .larr{transform:rotate(90deg);color:var(--gold);}
.leaf-detail{max-height:0;overflow:hidden;transition:max-height .65s cubic-bezier(.2,.8,.2,1);}
.leaf.open .leaf-detail{max-height:500px;}
.leaf-body{padding:0 0 32px 34px;display:grid;grid-template-columns:1.2fr .8fr;gap:40px;}
.leaf-tagline{font-family:'Cormorant Garamond',serif;font-style:italic;font-size:1.1rem;color:var(--gold);margin-bottom:12px;}
.leaf-desc{font-size:.88rem;line-height:1.8;color:var(--dim);margin-bottom:18px;}
.leaf-cols{display:grid;grid-template-columns:1fr 1fr;gap:20px;}
.leaf-col h4{font-family:'Space Mono',monospace;font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:var(--dimmer);margin-bottom:10px;}
.leaf-col ul{list-style:none;}
.leaf-col ul li{font-size:.82rem;line-height:1.9;color:var(--dim);padding-left:10px;position:relative;}
.leaf-col ul li::before{content:"·";position:absolute;left:0;color:var(--gold);}
.leaf-outcome{font-family:'Cormorant Garamond',serif;font-style:italic;font-size:.95rem;color:#C9D5C4;border-left:2px solid rgba(201,213,196,.4);padding-left:14px;margin-top:14px;}
/* bloc final services */
.services-close{margin-top:60px;padding:48px;border:1px solid var(--border);position:relative;z-index:1;max-width:700px;}
.sc-title{font-family:'Cormorant Garamond',serif;font-weight:300;font-size:clamp(1.8rem,3.5vw,2.6rem);line-height:1.05;margin-bottom:24px;}
.sc-title em{font-style:italic;color:var(--gold);}
.sc-text{font-size:.95rem;line-height:1.9;color:var(--dim);}

/* feuille qui tombe */
.falling-leaf{position:fixed;z-index:8000;pointer-events:none;font-size:1.5rem;animation:fl 1.8s ease-in forwards;}
@keyframes fl{0%{opacity:1;transform:translateY(0) rotate(0);}20%{transform:translateY(60px) rotate(-30deg);}40%{transform:translateY(120px) rotate(20deg);}60%{transform:translateY(190px) rotate(-15deg);}80%{transform:translateY(260px) rotate(25deg);opacity:.6;}100%{transform:translateY(340px) rotate(-10deg);opacity:0;}}

/* ═══ CONTACT ═══ */
#contact{border-top:1px solid var(--border);background:var(--bg2);display:flex;align-items:center;overflow:hidden;position:relative;}
#contact::before{content:"";position:absolute;inset:0;background:radial-gradient(ellipse 60% 50% at 85% 40%,rgba(45,74,62,.2),transparent 65%);pointer-events:none;}
.ct-bg-word{position:absolute;font-family:'Cormorant Garamond',serif;font-weight:300;font-style:italic;font-size:clamp(9rem,28vw,24rem);line-height:1;color:transparent;-webkit-text-stroke:1px rgba(237,230,212,.03);user-select:none;pointer-events:none;bottom:-8%;left:-2vw;white-space:nowrap;letter-spacing:-.04em;}
.ct-inner{position:relative;z-index:1;max-width:820px;}
.ct-label{font-family:'Space Mono',monospace;font-size:12px;letter-spacing:.16em;text-transform:uppercase;color:var(--dimmer);margin-bottom:48px;display:flex;align-items:center;gap:14px;}
.ct-label::before{content:"";width:28px;height:1px;background:var(--gold);display:block;}
.ct-head{font-family:'Cormorant Garamond',serif;font-weight:300;font-size:clamp(2.8rem,7vw,5.5rem);line-height:1.0;margin-bottom:60px;}
.ct-head em{font-style:italic;color:#5C6D57;}
.ct-head .s{color:transparent;-webkit-text-stroke:1.5px rgba(237,230,212,.2);}
.ct-email{display:inline-flex;align-items:center;gap:16px;font-family:'Cormorant Garamond',serif;font-size:clamp(1.2rem,2.8vw,2rem);font-weight:300;color:var(--ink);text-decoration:none;transition:color .35s;}
.ct-arr{width:48px;height:48px;border-radius:50%;border:1px solid var(--border2);display:flex;align-items:center;justify-content:center;font-size:18px;flex-shrink:0;transition:background .35s,border-color .35s,color .35s,transform .35s;}
.ct-email:hover{color:var(--gold);}
.ct-email:hover .ct-arr{background:var(--gold);border-color:var(--gold);color:var(--bg);transform:rotate(45deg);}
.ct-socials{display:flex;gap:10px;margin-top:32px;flex-wrap:wrap;}
.ct-socials a{font-family:'Space Mono',monospace;font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:var(--dim);text-decoration:none;padding:9px 16px;border:1px solid var(--border);border-radius:30px;transition:color .3s,border-color .3s;}
.ct-socials a:hover{color:var(--ink);border-color:var(--border2);}

footer{padding:26px 5vw;border-top:1px solid var(--border);display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:12px;position:relative;z-index:2;}
footer span{font-family:'Space Mono',monospace;font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--dimmer);}
.fdot{width:6px;height:6px;border-radius:50%;background:#6DBE7A;animation:pulse 2s ease-in-out infinite;display:inline-block;margin-right:7px;}
@keyframes pulse{0%,100%{opacity:1;}50%{opacity:.3;}}

@media(max-width:960px){
  #tree-canvas{display:none;}
  #about{grid-template-columns:1fr;gap:40px;}
  .rings-container{grid-template-columns:1fr;}
  .branch-inner,.leaf-body{grid-template-columns:1fr;gap:20px;}
  .leaf-cols{grid-template-columns:1fr;}
  #contact{min-height:auto;padding:14vh 5vw;}
}
@media(max-width:600px){
  .ct-bg-word{font-size:clamp(5rem,18vw,12rem);}
}

/* ── LIGHTBOX ── */
#lightbox{
  position:fixed;inset:0;z-index:9000;background:rgba(10,9,6,.95);
  display:flex;align-items:center;justify-content:center;
  opacity:0;pointer-events:none;transition:opacity .35s ease;
}
#lightbox.open{opacity:1;pointer-events:all;}
#lightbox img{
  max-width:92vw;max-height:92vh;object-fit:contain;
  display:block;border-radius:2px;
  transform:scale(.92);transition:transform .35s ease;
}
#lightbox.open img{transform:scale(1);}
#lb-close{
  position:absolute;top:20px;right:24px;font-size:1.8rem;color:var(--ink);
  cursor:pointer;opacity:.6;transition:opacity .2s;background:none;border:none;
  font-family:'Space Mono',monospace;
}
#lb-close:hover{opacity:1;}

/* ── GRILLE CONTENU UNIFORME ── */
.ra-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;}
.ra-img{
  border-radius:3px;cursor:pointer;position:relative;overflow:hidden;
  aspect-ratio:4/5;  /* toutes les mêmes proportions */
}
.ra-img img{
  width:100%;height:100%;object-fit:cover;object-position:top center;display:block;
  transition:transform .5s ease,filter .4s;filter:brightness(.95);
}
.ra-img:hover img{transform:scale(1.04);filter:brightness(1.04);}
/* hint click */
.ra-img::after{
  content:"🔍";position:absolute;top:10px;right:10px;
  font-size:.9rem;background:rgba(13,12,9,.7);
  width:30px;height:30px;border-radius:50%;
  display:flex;align-items:center;justify-content:center;
  opacity:0;transition:opacity .3s;
  font-size:.78rem;line-height:30px;text-align:center;
}
.ra-img:hover::after{opacity:1;}

/* ── PUB 3D VIDEO ── */
.pub3d-wrap{
  position:relative;border-radius:4px;overflow:hidden;
  background:#EDEBE5;
  box-shadow:0 12px 40px rgba(0,0,0,.6);
  max-width:540px;margin:0 auto;
}
.pub3d-wrap video{
  width:100%;display:block;border-radius:4px;
}
.pub3d-label{
  text-align:center;margin-top:14px;
  font-family:'Space Mono',monospace;font-size:12px;letter-spacing:.12em;
  text-transform:uppercase;color:var(--dimmer);
}

/* ── AFFICHES FLIP RECTO/VERSO ── */
.affiches-grid{display:grid;grid-template-columns:1fr 1fr 1fr;gap:14px;align-items:stretch;}
.affiche-flip{perspective:1000px;cursor:pointer;}
.affiche-flip-inner{
  position:relative;width:100%;
  transform-style:preserve-3d;
  transition:transform .75s cubic-bezier(.4,.2,.2,1);
}
.affiche-flip:hover .affiche-flip-inner{transform:rotateY(180deg);}
.affiche-face,.affiche-back{
  backface-visibility:hidden;-webkit-backface-visibility:hidden;
  border-radius:3px;overflow:hidden;
}
.affiche-back{
  position:absolute;inset:0;
  transform:rotateY(180deg);
}
.affiche-face img,.affiche-back img{width:100%;height:auto;display:block;}
.affiche-flip-hint{
  text-align:center;margin-top:8px;
  font-family:'Space Mono',monospace;font-size:12px;letter-spacing:.1em;
  text-transform:uppercase;color:var(--dimmer);
}
.affiche-card.terrain img{width:100%;height:auto;display:block;}
.affiche-badge-verso{
  position:absolute;bottom:10px;left:50%;transform:translateX(-50%);
  font-family:'Space Mono',monospace;font-size:12px;letter-spacing:.1em;text-transform:uppercase;
  background:rgba(229,104,36,.9);color:#fff;padding:4px 12px;border-radius:20px;
  white-space:nowrap;
}

/* ══ MEGA INDUSTRIE ══ */
.mega-inner{position:relative;z-index:1;display:flex;flex-direction:column;gap:44px;}

/* Fond carte du Cameroun */
.mega-map-bg{
  position:absolute;inset:0;z-index:0;pointer-events:none;overflow:hidden;
}
.mega-map-bg svg{
  position:absolute;right:-5%;bottom:-10%;width:55%;opacity:.06;
  filter:drop-shadow(0 0 30px rgba(255,204,0,.3));
}
.mega-map-bg .map-path{
  fill:none;stroke:#FFCC00;stroke-width:2;
  stroke-dasharray:3000;stroke-dashoffset:3000;
  animation:drawCam 3.5s ease forwards .5s;
}
.mega-map-bg .map-fill{fill:#FFCC00;opacity:0;animation:fillCam 1s ease forwards 3.5s;}
@keyframes drawCam{to{stroke-dashoffset:0;}}
@keyframes fillCam{to{opacity:.08;}}

/* Header */
.mega-header{display:grid;grid-template-columns:auto 1fr;gap:28px;align-items:center;position:relative;z-index:1;}
.mega-logo{
  width:80px;height:80px;border-radius:50%;overflow:hidden;
  border:2px solid rgba(255,204,0,.3);
  box-shadow:0 0 30px rgba(255,204,0,.15);
  flex-shrink:0;
}
.mega-logo img{width:100%;height:100%;object-fit:cover;display:block;}
.mega-brand-name{
  font-family:'Cormorant Garamond',serif;font-weight:300;
  font-size:clamp(1.8rem,3.5vw,2.8rem);line-height:1.0;
  color:var(--ink);
  letter-spacing:.06em;text-transform:uppercase;
}
.mega-brand-name em{font-style:normal;color:#FFCC00;}
.mega-slogan{
  font-family:'Space Mono',monospace;font-size:12px;letter-spacing:.18em;
  text-transform:uppercase;color:rgba(255,204,0,.7);margin-top:6px;
}
.mega-desc{font-size:.9rem;line-height:1.88;color:var(--dim);margin-top:12px;}
.mega-chips{display:flex;flex-wrap:wrap;gap:8px;margin-top:16px;}
.mega-chip{
  font-family:'Space Mono',monospace;font-size:12px;letter-spacing:.08em;text-transform:uppercase;
  padding:5px 14px;border-radius:20px;
  border:1px solid rgba(255,204,0,.3);color:#FFCC00;
}

/* Spot vidéo + description */
.mega-spot-wrap{
  display:grid;grid-template-columns:1fr 1fr;gap:36px;align-items:center;
  position:relative;z-index:1;
}
.mega-video-frame{
  position:relative;border-radius:6px;overflow:hidden;
  box-shadow:0 0 0 1px rgba(255,204,0,.15),0 16px 50px rgba(0,0,0,.6);
}
.mega-video-frame video{width:100%;display:block;border-radius:6px;}
/* badge "SPOT" */
.mega-video-frame::before{
  content:"▶ SPOT PUBLICITAIRE";
  position:absolute;top:14px;left:14px;z-index:2;
  font-family:'Space Mono',monospace;font-size:12px;letter-spacing:.12em;
  color:#FFCC00;background:rgba(13,12,9,.85);
  padding:5px 12px;border-radius:20px;
  border:1px solid rgba(255,204,0,.3);
}
.mega-spot-desc h3{
  font-family:'Cormorant Garamond',serif;font-weight:300;font-style:italic;
  font-size:clamp(1.3rem,2.5vw,1.9rem);color:#FFCC00;margin-bottom:16px;line-height:1.2;
}
.mega-spot-desc p{font-size:.88rem;line-height:1.85;color:var(--dim);margin-bottom:12px;}
.mega-spot-desc .spot-tag{
  display:inline-block;font-family:'Space Mono',monospace;font-size:12px;letter-spacing:.1em;
  text-transform:uppercase;color:rgba(255,204,0,.6);border:1px solid rgba(255,204,0,.2);
  padding:4px 10px;border-radius:20px;margin:4px 4px 0 0;
}

/* Garanties interactives */
.mega-guarantees{
  display:grid;grid-template-columns:repeat(3,1fr);gap:14px;
  position:relative;z-index:1;
}
.mega-guarantee{
  padding:22px 18px;border:1px solid rgba(255,204,0,.1);border-radius:4px;
  cursor:pointer;transition:border-color .4s,background .4s,transform .3s;
  position:relative;overflow:hidden;
}
.mega-guarantee::before{
  content:"";position:absolute;inset:0;
  background:linear-gradient(135deg,rgba(255,204,0,.06),transparent);
  opacity:0;transition:opacity .4s;
}
.mega-guarantee:hover{
  border-color:rgba(255,204,0,.4);
  transform:translateY(-3px);
}
.mega-guarantee:hover::before{opacity:1;}
.mg-icon{font-size:1.6rem;margin-bottom:12px;display:block;}
.mg-title{
  font-family:'Cormorant Garamond',serif;font-weight:400;font-size:1.2rem;
  color:var(--ink);margin-bottom:6px;
}
.mg-desc{font-size:.82rem;line-height:1.7;color:var(--dim);}
.mg-glow{
  position:absolute;bottom:-20px;right:-20px;
  width:80px;height:80px;border-radius:50%;
  background:rgba(255,204,0,.08);
  filter:blur(20px);
  transition:transform .4s;
}
.mega-guarantee:hover .mg-glow{transform:scale(1.8);}

/* Outcome */
.mega-outcome{
  padding:22px 28px;
  border-left:2px solid #FFCC00;
  background:rgba(255,204,0,.04);
  position:relative;z-index:1;
}
.mega-outcome p{font-family:'Cormorant Garamond',serif;font-style:italic;font-size:.98rem;color:var(--dim);line-height:1.85;}
.mega-outcome strong{color:#FFCC00;font-style:normal;}

@media(max-width:800px){
  .mega-spot-wrap,.mega-guarantees{grid-template-columns:1fr;}
}

/* ══ 3D PACKAGING SWIPER ══ */
.pkg-swiper{
  position:relative;width:100%;height:420px;
  display:flex;align-items:center;justify-content:center;
  perspective:1200px;
}
.pkg-deck{
  position:relative;width:360px;height:360px;
  transform-style:preserve-3d;
  cursor:grab;user-select:none;
}
.pkg-deck:active{cursor:grabbing;}
.pkg-card{
  position:absolute;inset:0;border-radius:8px;overflow:hidden;
  background:var(--bg2);
  box-shadow:0 20px 60px rgba(0,0,0,.7),0 4px 16px rgba(0,0,0,.4);
  transform-origin:center center;
  transition:transform .7s cubic-bezier(.2,.8,.2,1),
             box-shadow .7s ease,opacity .5s ease;
  backface-visibility:hidden;
}
.pkg-card img{width:100%;height:100%;object-fit:contain;display:block;padding:10px;}
.pkg-card.active{z-index:10;transform:translateZ(0) rotateY(0deg) scale(1);}
.pkg-card.prev{
  z-index:5;
  transform:translateZ(-80px) translateX(-120px) rotateY(15deg) scale(.88);
  opacity:.7;
}
.pkg-card.prev2{
  z-index:4;
  transform:translateZ(-160px) translateX(-200px) rotateY(20deg) scale(.76);
  opacity:.4;
}
.pkg-card.next{
  z-index:5;
  transform:translateZ(-80px) translateX(120px) rotateY(-15deg) scale(.88);
  opacity:.7;
}
.pkg-card.next2{
  z-index:4;
  transform:translateZ(-160px) translateX(200px) rotateY(-20deg) scale(.76);
  opacity:.4;
}
.pkg-card.hidden{opacity:0;transform:translateZ(-300px) scale(.5);}

.pkg-label{
  position:absolute;bottom:-50px;left:0;right:0;text-align:center;
  font-family:'Space Mono',monospace;font-size:12px;letter-spacing:.12em;
  text-transform:uppercase;color:var(--gold);
}
.pkg-counter{
  position:absolute;top:-36px;right:0;
  font-family:'Space Mono',monospace;font-size:12px;letter-spacing:.1em;
  text-transform:uppercase;color:var(--dimmer);
}
.pkg-nav{
  display:flex;justify-content:center;gap:14px;margin-top:60px;
}
.pkg-btn{
  width:44px;height:44px;border-radius:50%;
  border:1px solid rgba(200,97,74,.3);background:transparent;
  color:var(--gold);font-size:1rem;cursor:pointer;display:flex;
  align-items:center;justify-content:center;
  transition:background .3s,border-color .3s;
}
.pkg-btn:hover{background:var(--gold);border-color:var(--gold);color:var(--bg);}
.pkg-dots{display:flex;gap:8px;align-items:center;}
.pkg-dot{
  width:6px;height:6px;border-radius:50%;background:var(--dimmer);
  transition:background .3s,transform .3s;cursor:pointer;
}
.pkg-dot.active{background:var(--gold);transform:scale(1.4);}

/* Print videos */
.print-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;}
.print-vid{border-radius:6px;overflow:hidden;
  box-shadow:0 8px 30px rgba(0,0,0,.5);position:relative;}
.print-vid video{width:100%;display:block;}
.print-vid-label{
  position:absolute;bottom:0;left:0;right:0;
  background:linear-gradient(to top,rgba(13,12,9,.9),transparent);
  padding:20px 14px 12px;
  font-family:'Space Mono',monospace;font-size:12px;letter-spacing:.1em;
  text-transform:uppercase;color:var(--gold);
}


/* Photo principale */
.about-photo-main{
  position:relative;width:100%;max-width:480px;
  border-radius:4px;overflow:hidden;
  box-shadow:0 20px 60px rgba(0,0,0,.5);
  cursor:crosshair;
}
.about-photo-main img{
  width:100%;height:auto;display:block;
  -webkit-mask-image:radial-gradient(ellipse 88% 94% at 50% 48%,black 52%,transparent 100%);
  mask-image:radial-gradient(ellipse 88% 94% at 50% 48%,black 52%,transparent 100%);
  filter:brightness(.97) contrast(1.04);
  transition:transform .6s ease;
}
.about-photo-main:hover img{transform:scale(1.03);}
/* Hint hover */
.photo-hover-hint{
  position:absolute;bottom:20px;left:50%;transform:translateX(-50%);
  font-family:'Space Mono',monospace;font-size:12px;letter-spacing:.14em;
  text-transform:uppercase;color:var(--ink);
  background:rgba(13,12,9,.75);backdrop-filter:blur(8px);
  padding:8px 16px;border-radius:30px;border:1px solid rgba(237,230,212,.2);
  white-space:nowrap;z-index:20;
  display:flex;align-items:center;gap:8px;
  animation:hintPulse 2.5s ease-in-out infinite;
  transition:opacity .4s ease;
}
.about-photo-zone:hover .photo-hover-hint{opacity:0;}
@keyframes hintPulse{
  0%,100%{opacity:.8;transform:translateX(-50%) translateY(0);}
  50%{opacity:1;transform:translateX(-50%) translateY(-3px);}
}
.hint-dot{
  width:6px;height:6px;border-radius:50%;background:var(--gold);
  animation:hintDot 1.2s ease-in-out infinite;
}
@keyframes hintDot{0%,100%{opacity:1;}50%{opacity:.3;}}

/* Icônes flottantes au hover */
.about-icons{
  position:absolute;inset:-80px;pointer-events:none;
}
.aicon{
  position:absolute;
  display:flex;flex-direction:column;align-items:center;gap:7px;
  opacity:0;transform:scale(.4) translateY(10px);
  transition:opacity .4s ease,transform .4s cubic-bezier(.2,.8,.2,1);
}
.about-photo-zone:hover .aicon{opacity:1;transform:scale(1) translateY(0);}
/* positions orbitales */
.aicon:nth-child(1){top:2%;left:50%;transform:scale(.4) translate(-50%,10px);transition-delay:.04s;}
.aicon:nth-child(2){top:22%;right:-4%;transition-delay:.10s;}
.aicon:nth-child(3){bottom:22%;right:-6%;transition-delay:.16s;}
.aicon:nth-child(4){bottom:5%;left:50%;transform:scale(.4) translate(-50%,-10px);transition-delay:.22s;}
.aicon:nth-child(5){bottom:22%;left:-6%;transition-delay:.28s;}
.aicon:nth-child(6){top:22%;left:-4%;transition-delay:.34s;}
.about-photo-zone:hover .aicon:nth-child(1){transform:scale(1) translate(-50%,0);}
.about-photo-zone:hover .aicon:nth-child(4){transform:scale(1) translate(-50%,0);}
.aicon-circle{
  width:48px;height:48px;border-radius:50%;
  background:rgba(13,12,9,.9);
  border:1px solid var(--gold);
  display:flex;align-items:center;justify-content:center;
  font-size:1.1rem;
  box-shadow:0 0 20px rgba(200,97,74,.2);
  animation:aif 3s ease-in-out infinite;
}
.aicon:nth-child(2) .aicon-circle{animation-delay:.6s;border-color:var(--rust);}
.aicon:nth-child(3) .aicon-circle{animation-delay:1.2s;border-color:rgba(109,176,138,.7);}
.aicon:nth-child(4) .aicon-circle{animation-delay:.3s;}
.aicon:nth-child(5) .aicon-circle{animation-delay:.9s;border-color:var(--rust);}
.aicon:nth-child(6) .aicon-circle{animation-delay:1.5s;border-color:rgba(109,176,138,.7);}
@keyframes aif{0%,100%{transform:translateY(0);}50%{transform:translateY(-5px);}}
.aicon-label{
  font-family:'Space Mono',monospace;font-size:12px;letter-spacing:.1em;
  text-transform:uppercase;color:var(--gold);white-space:nowrap;
  text-shadow:0 0 10px rgba(200,97,74,.4);
}
.aicon:nth-child(2) .aicon-label,.aicon:nth-child(5) .aicon-label{color:var(--rust);}
.aicon:nth-child(3) .aicon-label,.aicon:nth-child(6) .aicon-label{color:#5C6D57;}

/* Texte about */
.about-text-block{flex:1;}
.about-title{
  font-family:'Cormorant Garamond',serif;font-weight:300;
  font-size:clamp(2.4rem,4.5vw,4rem);line-height:1.0;
  margin-bottom:32px;
}
.about-title em{font-style:italic;color:var(--gold);}
.about-title .blur-word{
  display:inline-block;filter:blur(8px);opacity:.3;
  animation:unblur 2s cubic-bezier(.2,.8,.2,1) 1s forwards;
}
@keyframes unblur{to{filter:blur(0px);opacity:1;}}
.about-body{font-size:1rem;line-height:1.85;color:var(--dim);margin-bottom:28px;}
.about-body strong{color:var(--ink);font-weight:500;}

/* Hint survol photo */
.photo-hover-hint{
  position:absolute;bottom:18px;left:50%;transform:translateX(-50%);
  display:flex;align-items:center;gap:8px;
  font-family:'Space Mono',monospace;font-size:12px;letter-spacing:.1em;text-transform:uppercase;
  color:var(--ink);background:rgba(13,12,9,.82);
  padding:8px 16px;border-radius:30px;border:1px solid rgba(200,97,74,.35);
  white-space:nowrap;z-index:5;
  animation:hintPulse 2.5s ease-in-out infinite;
  transition:opacity .4s;
}
.about-photo-zone:hover .photo-hover-hint{opacity:0;pointer-events:none;}
.hint-dot{width:6px;height:6px;border-radius:50%;background:var(--gold);animation:hintDot 1.4s ease-in-out infinite;flex-shrink:0;}
@keyframes hintPulse{0%,100%{box-shadow:0 0 0 0 rgba(200,97,74,.3);}50%{box-shadow:0 0 0 8px rgba(200,97,74,0);}}
@keyframes hintDot{0%,100%{transform:scale(1);}50%{transform:scale(1.6);}}

/* Géo */
.about-geo{
  display:flex;gap:14px;flex-wrap:wrap;margin-bottom:28px;
}
.geo-badge{
  display:flex;align-items:center;gap:8px;
  font-family:'Space Mono',monospace;font-size:12px;letter-spacing:.1em;text-transform:uppercase;
  color:var(--dim);border:1px solid var(--border);padding:7px 14px;border-radius:30px;
  transition:border-color .3s,color .3s;
}
.geo-badge:hover{border-color:var(--gold);color:var(--gold);}
.geo-flag{font-size:.9rem;}

/* Outils */
.tools-label{
  font-family:'Space Mono',monospace;font-size:12px;letter-spacing:.14em;
  text-transform:uppercase;color:var(--dimmer);margin-bottom:14px;
  display:flex;align-items:center;gap:10px;
}
.tools-label::before{content:"";width:16px;height:1px;background:var(--gold);display:block;}
.tools-grid{display:flex;flex-wrap:wrap;gap:8px;}
.tool-badge{
  font-family:'Space Mono',monospace;font-size:12px;letter-spacing:.06em;
  color:var(--dim);border:1px solid var(--border);padding:6px 14px;border-radius:20px;
  transition:color .3s,border-color .3s,background .3s;cursor:default;
  display:flex;align-items:center;gap:6px;
}
.tool-badge:hover{color:var(--ink);border-color:rgba(237,230,212,.2);background:rgba(237,230,212,.04);}
.tool-badge span{font-size:.85rem;}

/* ══ NOVEA HERO ══ */
#novea-hero{
  position:relative;min-height:100vh;display:flex;align-items:center;
  justify-content:center;overflow:hidden;
  background:#E5E3DC;
  z-index:2;
}

/* Fond particules/grain animé */
#novea-hero::before{
  content:"";position:absolute;inset:0;
  background:radial-gradient(ellipse 60% 50% at 50% 40%,rgba(200,97,74,.04),transparent 70%);
  animation:novea-pulse 4s ease-in-out infinite;pointer-events:none;
}
@keyframes novea-pulse{0%,100%{opacity:.5;}50%{opacity:1;}}

/* Container logo */
.novea-logo-wrap{
  position:relative;width:100%;text-align:center;cursor:crosshair;
  user-select:none;padding:0 4vw;
}
.novea-stages{position:relative;display:inline-block;}

/* Texte NOVEA — 4 couches empilées */
.novea-text{
  font-family:'Cormorant Garamond',serif;font-weight:600;
  font-size:clamp(5rem,18vw,17rem);line-height:.85;
  letter-spacing:-.04em;text-transform:uppercase;
  position:relative;display:block;
}
/* Couche de base = état 1 (bois brûlé) */
.novea-s1{
  color: #C0935A;
  -webkit-text-stroke: 1px rgba(160,100,40,.5);
  text-shadow: 0 0 80px rgba(160,100,40,.2), 3px 3px 12px rgba(0,0,0,.8);
  position:relative;z-index:4;
  letter-spacing:-.04em;
}
/* Couche 2 (abîmé) — clips sur la droite en fonction souris */
.novea-s2{
  /* ÉTAT 2 : abîmé — brun chaud */
  position:absolute;inset:0;z-index:3;
  background:linear-gradient(135deg,#A0622A 0%,#C87A38 35%,#8A4E20 70%,#B06828 100%);
  -webkit-background-clip:text;background-clip:text;color:transparent;
  clip-path:inset(0 100% 0 0);transition:clip-path .12s ease;
}
/* Couche 3 (scintillant) */
.novea-s3{
  position:absolute;inset:0;z-index:2;
  background:linear-gradient(135deg,#8B5E0A 0%,#C8614A 25%,#F5D070 50%,#C9903A 75%,#8B5E0A 100%);
  background-size:200% auto;
  -webkit-background-clip:text;background-clip:text;color:transparent;
  clip-path:inset(0 100% 0 0);transition:clip-path .15s ease;
  animation:novea-shimmer 2.5s linear infinite;
}
@keyframes novea-shimmer{to{background-position:200% center;}}
/* Couche 4 (fleurs) */
.novea-s4{
  position:absolute;inset:0;z-index:1;
  background:linear-gradient(135deg,#3D4E38 0%,#4a8060 30%,#5C6D57 60%,#3D4E38 100%);
  -webkit-background-clip:text;background-clip:text;color:transparent;
  clip-path:inset(0 100% 0 0);transition:clip-path .15s ease;
}

/* Sous-titre */
.novea-subtitle{
  font-family:'Space Mono',monospace;font-size:clamp(.7rem,1.2vw,1rem);
  letter-spacing:.3em;text-transform:uppercase;color:var(--dimmer);
  margin-top:20px;display:block;text-align:center;
  opacity:0;animation:fadeUp .8s ease 1.2s forwards;
}
@keyframes fadeUp{from{opacity:0;transform:translateY(16px);}to{opacity:1;transform:translateY(0);}}

/* Fleurs SVG autour du logo (état 4) */
.novea-flowers{
  position:absolute;inset:-40px;pointer-events:none;
  opacity:0;transition:opacity .4s ease;z-index:0;
}
.novea-stages.state4 .novea-flowers{opacity:1;}
.flower{
  position:absolute;font-size:clamp(1rem,2.5vw,2rem);
  animation:floatPetal 3s ease-in-out infinite;opacity:0;
  transition:opacity .4s ease;
}
.novea-stages.state4 .flower{opacity:.8;}
@keyframes floatPetal{
  0%,100%{transform:translateY(0) rotate(0deg) scale(1);}
  33%{transform:translateY(-10px) rotate(15deg) scale(1.1);}
  66%{transform:translateY(5px) rotate(-10deg) scale(.95);}
}

/* Barre de progression état */
.novea-state-bar{
  position:absolute;bottom:32px;left:50%;transform:translateX(-50%);
  display:flex;gap:6px;align-items:center;background:rgba(13,12,9,.6);
  padding:8px 16px;border-radius:30px;border:1px solid rgba(237,230,212,.08);
}
.nsb-dot{
  width:7px;height:7px;border-radius:50%;
  border:1px solid rgba(200,97,74,.25);background:transparent;
  transition:background .3s,border-color .3s,transform .3s;
  cursor:pointer;
}
.nsb-dot.on{background:var(--gold);border-color:var(--gold);transform:scale(1.5);}
.nsb-labels{
  display:flex;gap:14px;margin-left:8px;
}
.nsb-label-item{
  font-family:'Space Mono',monospace;font-size:12px;letter-spacing:.1em;
  text-transform:uppercase;color:var(--dimmer);
  transition:color .3s;
}
.nsb-label-item.on{color:var(--gold);}

/* Hint */
.novea-logo-wrap::before{
  content:"";position:absolute;top:50%;left:50%;
  transform:translate(-50%,-50%);
  width:60%;height:40%;
  background:radial-gradient(ellipse,rgba(80,40,10,.3) 0%,transparent 70%);
  pointer-events:none;z-index:0;
}
.novea-hint{
  position:absolute;bottom:60px;left:50%;transform:translateX(-50%);
  font-family:'Space Mono',monospace;font-size:12px;letter-spacing:.16em;
  text-transform:uppercase;color:var(--dimmer);
  display:flex;align-items:center;gap:8px;
  animation:hintPulse2 3s ease-in-out infinite;
}
.novea-hint::before{content:"";width:6px;height:6px;border-radius:50%;background:var(--gold);animation:hintDot2 1.4s ease-in-out infinite;}
@keyframes hintPulse2{0%,100%{opacity:.4;}50%{opacity:.9;}}
@keyframes hintDot2{0%,100%{transform:scale(1);}50%{transform:scale(1.6);}}

/* ══ CAROUSEL 3D PROJETS ══ */
#projects-3d{
  position:relative;min-height:100vh;
  background:radial-gradient(ellipse 100% 80% at 50% 50%,#111008 0%,#EDEBE5 100%);
  z-index:2;overflow:hidden;
}
#projects-3d::before{
  content:"";position:absolute;inset:0;
  background:radial-gradient(ellipse 40% 40% at 50% 50%,rgba(200,97,74,.04),transparent);
  pointer-events:none;
}
.proj3d-label{
  position:absolute;top:7vh;left:5vw;
  font-family:'Space Mono',monospace;font-size:12px;letter-spacing:.16em;
  text-transform:uppercase;color:var(--gold);z-index:10;
  display:flex;align-items:center;gap:12px;
}
.proj3d-label::before{content:"";width:22px;height:1px;background:var(--gold);display:block;}
.proj3d-hint{
  position:absolute;bottom:7vh;left:50%;transform:translateX(-50%);
  font-family:'Space Mono',monospace;font-size:12px;letter-spacing:.14em;
  text-transform:uppercase;color:var(--dimmer);z-index:10;
  animation:hintPulse2 3s ease-in-out infinite;
  display:flex;align-items:center;gap:8px;
}
.proj3d-hint::after{content:"↕ scroll · ← → swipe";}

/* Canvas Three.js */
#proj-canvas{
  position:absolute;inset:0;width:100%;height:100%;
  display:block;cursor:grab;
}
#proj-canvas:active{cursor:grabbing;}

/* Overlay info projet (centre-bas) */
.proj-info{
  position:absolute;bottom:13vh;left:0;right:0;text-align:center;z-index:10;
  pointer-events:none;
}
.proj-info-name{
  font-family:'Cormorant Garamond',serif;font-weight:300;
  font-size:clamp(1.2rem,2.5vw,2rem);color:var(--ink);
  opacity:0;transform:translateY(12px);
  transition:opacity .5s ease,transform .5s ease;
}
.proj-info-cas{
  font-family:'Space Mono',monospace;font-size:12px;letter-spacing:.14em;
  text-transform:uppercase;color:var(--gold);margin-bottom:6px;
  opacity:0;transform:translateY(8px);
  transition:opacity .5s ease .1s,transform .5s ease .1s;
}
.proj-info-name.on,.proj-info-cas.on{opacity:1;transform:translateY(0);}

/* Bouton entrer */
.proj-enter-btn{
  position:absolute;bottom:6vh;left:50%;transform:translateX(-50%);z-index:10;
  font-family:'Space Mono',monospace;font-size:12px;letter-spacing:.14em;
  text-transform:uppercase;color:var(--ink);
  border:1px solid var(--border2);padding:10px 24px;border-radius:30px;
  cursor:pointer;background:transparent;
  transition:background .3s,color .3s,border-color .3s;
  opacity:0;animation:fadeUp .6s ease .3s forwards;
}
.proj-enter-btn:hover{background:var(--gold);border-color:var(--gold);color:var(--bg);}

/* ══ VUE PROJET (deep-dive) ══ */
#project-view{
  position:fixed;inset:0;z-index:500;
  background:var(--bg);
  transform:translateZ(0) scale(0.9) rotateX(5deg);
  opacity:0;pointer-events:none;
  transition:transform .8s cubic-bezier(.2,.8,.2,1),opacity .6s ease;
  overflow-y:auto;
}
#project-view.open{
  transform:translateZ(0) scale(1) rotateX(0deg);
  opacity:1;pointer-events:all;
}

/* Back btn */
.pv-back{
  font-family:'Space Mono',monospace;font-size:12px;letter-spacing:.1em;text-transform:uppercase;
  color:var(--dim);background:transparent;border:1px solid var(--border);
  padding:8px 18px;border-radius:30px;cursor:pointer;
  transition:color .3s,border-color .3s;
}
.pv-back:hover{color:var(--gold);border-color:var(--gold);}

/* Tabs verticaux à droite */
.pv-tabs{
  position:fixed;right:3vw;top:50%;transform:translateY(-50%);z-index:600;
  display:flex;flex-direction:column;gap:6px;
}
.pv-tab{
  width:36px;height:36px;border-radius:50%;border:1px solid var(--border);
  background:rgba(13,12,9,.85);cursor:pointer;
  display:flex;align-items:center;justify-content:center;font-size:.9rem;
  transition:border-color .3s,background .3s,transform .3s;
  position:relative;
}
.pv-tab::after{
  content:attr(data-label);
  position:absolute;right:44px;top:50%;transform:translateY(-50%);
  font-family:'Space Mono',monospace;font-size:12px;letter-spacing:.1em;
  text-transform:uppercase;color:var(--dim);white-space:nowrap;
  opacity:0;transition:opacity .3s;pointer-events:none;
  background:rgba(13,12,9,.85);padding:4px 10px;border-radius:20px;
  border:1px solid var(--border);
}
.pv-tab:hover::after{opacity:1;}
.pv-tab.active{border-color:var(--gold);background:rgba(200,97,74,.12);}
.pv-tab:hover{transform:scale(1.15);}

/* Contenu projet */
.pv-content{padding:14vh 8vw 10vh 5vw;}
.pv-hero-section{min-height:60vh;display:flex;align-items:center;}
.pv-panel{display:none;}
.pv-panel.active{display:block;animation:panelIn .4s ease;}
@keyframes panelIn{from{opacity:0;transform:translateX(20px);}to{opacity:1;transform:translateX(0);}}

@media(max-width:900px){
  .pv-tabs{right:2vw;}
  .pv-tab::after{display:none;}
}

/* ══ CURSEUR PREMIUM ══ */
*, *::before, *::after {  }

#cursor-dot {
  position: fixed; z-index: 99999; pointer-events: none;
  width: 8px; height: 8px; border-radius: 50%;
  background: #fff; mix-blend-mode: difference;
  transform: translate(-50%,-50%);
  transition: width .2s, height .2s, opacity .3s;
  will-change: transform;
}
#cursor-ring {
  position: fixed; z-index: 99998; pointer-events: none;
  width: 44px; height: 44px; border-radius: 50%;
  border: 1px solid rgba(200,97,74,.6);
  transform: translate(-50%,-50%);
  transition: width .4s cubic-bezier(.2,.8,.2,1),
              height .4s cubic-bezier(.2,.8,.2,1),
              border-color .3s, background .3s;
  will-change: transform;
  backdrop-filter: invert(0%);
}
#cursor-ring.hover {
  width: 80px; height: 80px;
  border-color: rgba(200,97,74,1);
  background: rgba(200,97,74,.06);
}
#cursor-ring.click {
  width: 30px; height: 30px;
  background: rgba(200,97,74,.3);
}
#cursor-label {
  position: fixed; z-index: 99999; pointer-events: none;
  font-family: 'Space Mono', monospace; font-size:12px;
  letter-spacing: .14em; text-transform: uppercase;
  color: var(--gold); opacity: 0;
  transform: translate(-50%, 30px);
  transition: opacity .3s;
  white-space: nowrap;
}
#cursor-label.on { opacity: 1; }

/* smooth scroll désactivé - scroll natif */
#smooth-wrapper { position: relative; }

/* ══ TRANSITIONS ENTRE SECTIONS ══ */
.section-reveal {
  clip-path: inset(100% 0% 0% 0%);
  transition: clip-path 1s cubic-bezier(.76,0,.24,1);
}
.section-reveal.visible {
  clip-path: inset(0% 0% 0% 0%);
}

/* ══ MAGNÉTISME ══ */
.magnetic {
  display: inline-block;
  transition: transform .4s cubic-bezier(.2,.8,.2,1);
}

/* ══ TEXT SPLIT HOVER ══ */
.split-hover .char {
  display: inline-block;
  transition: transform .3s cubic-bezier(.2,.8,.2,1),
              color .3s ease;
}
.split-hover:hover .char {
  color: var(--gold);
}

/* ══ DISTORSION HOVER ══ */
.distort-hover {
  position: relative;
  overflow: hidden;
}
.distort-hover::after {
  content: '';
  position: absolute; inset: 0;
  background: linear-gradient(45deg,
    rgba(200,97,74,.0) 0%,
    rgba(200,97,74,.06) 50%,
    rgba(200,97,74,.0) 100%);
  transform: translateX(-100%) skewX(-15deg);
  transition: transform .6s cubic-bezier(.2,.8,.2,1);
  pointer-events: none;
}
.distort-hover:hover::after {
  transform: translateX(200%) skewX(-15deg);
}

/* ══ SCROLL PROGRESS ══ */
#scroll-progress {
  position: fixed; top: 0; left: 0; z-index: 9999;
  height: 2px; background: var(--gold);
  width: 0%; transition: width .1s linear;
  pointer-events: none;
}

/* ══ TEXTE CINÉMATIQUE ══ */
.cine-text {
  display: inline-block;
  will-change: transform;
}

/* ══ HOVER LINE REVEAL ══ */
.line-reveal {
  position: relative;
  display: inline-block;
}
.line-reveal::after {
  content: '';
  position: absolute;
  bottom: -2px; left: 0;
  width: 0%; height: 1px;
  background: var(--gold);
  transition: width .5s cubic-bezier(.76,0,.24,1);
}
.line-reveal:hover::after { width: 100%; }

/* ══ RAPPEL RACINES & BRANCHES — motif de fond général ══ */
#bg-roots-branches {
  position: fixed; inset: 0; z-index: 3;
  pointer-events: none; opacity: .05;
  mix-blend-mode: overlay;
  background-repeat: repeat;
  background-size: 340px 340px;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='340' height='340'%3E%3Cg fill='none' stroke='%233D4E38' stroke-width='1.1' stroke-linecap='round'%3E%3Cpath d='M30 320 Q46 260 34 220 Q22 178 62 156 Q98 136 86 94 Q80 62 106 34'/%3E%3Cpath d='M34 220 Q4 198 -6 156'/%3E%3Cpath d='M62 156 Q104 164 126 132'/%3E%3Cpath d='M86 94 Q118 84 138 52'/%3E%3Cpath d='M290 330 Q268 276 284 234 Q300 192 258 170 Q230 156 236 116 Q240 84 214 52'/%3E%3Cpath d='M284 234 Q322 222 340 188'/%3E%3Cpath d='M258 170 Q220 180 194 158'/%3E%3Cpath d='M236 116 Q204 104 182 72'/%3E%3C/g%3E%3C/svg%3E");
}

/* ══ GRAIN ANIMÉ PREMIUM ══ */
#grain-overlay {
  position: fixed; inset: 0; z-index: 9997;
  pointer-events: none; opacity: .035;
  background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 512 512' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.75' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
  animation: grain-anim .8s steps(3) infinite;
}
@keyframes grain-anim {
  0%   { transform: translate(0,0); }
  33%  { transform: translate(-2%,3%); }
  66%  { transform: translate(3%,-2%); }
  100% { transform: translate(-1%,2%); }
}

/* ══ SECTION TRANSITIONS ══ */
.page-transition {
  position: fixed; inset: 0; z-index: 9996;
  background: var(--bg);
  transform: scaleY(0);
  transform-origin: bottom;
  pointer-events: none;
}

/* Override nav pour interactions premium */
nav { mix-blend-mode: normal !important; }
nav a {  }


/* ══ CASESTUDIES PREMIUM ══ */
#casestudies {
  padding: 14vh 5vw;
  border-top: 1px solid var(--border);
}
#casestudies .section-tag {
  font-family: 'Space Mono', monospace;
  font-size:12px; letter-spacing: .16em;
  text-transform: uppercase; color: var(--gold);
  margin-bottom: 14px; display: flex; align-items: center; gap: 12px;
}
#casestudies .section-tag::before {
  content: ""; width: 22px; height: 1px; background: var(--gold); display: block;
}
#casestudies h2 {
  font-family: 'Cormorant Garamond', serif; font-weight: 300;
  font-size: clamp(2.5rem, 6vw, 5rem); line-height: .95;
  margin-bottom: 10px;
}
#casestudies h2 em { font-style: italic; color: #5C6D57; }
#casestudies .cs-sub {
  font-family: 'Space Mono', monospace; font-size:12px;
  letter-spacing: .1em; text-transform: uppercase;
  color: var(--dimmer); margin-bottom: 60px;
}
.branch-item {
  border-bottom: 1px solid var(--border);
  transition: background .3s;
}
.branch-item:hover { background: rgba(237,230,212,.02); }
.branch-header {
  display: flex; align-items: center; gap: 20px;
  padding: 32px 0; cursor: pointer;
}
.branch-name {
  font-family: 'Cormorant Garamond', serif;
  font-size: clamp(1.8rem, 4vw, 3.2rem);
  font-weight: 300; color: var(--dim);
  transition: color .3s, letter-spacing .4s;
  flex: 1;
}
.branch-item:hover .branch-name, .branch-item.open .branch-name {
  color: var(--ink);
}
.branch-tag-right {
  font-family: 'Space Mono', monospace; font-size:12px;
  letter-spacing: .1em; text-transform: uppercase;
  color: var(--dimmer); margin-left: auto; flex-shrink: 0;
  display: flex; align-items: center; gap: 10px;
}
.branch-tag-right::after {
  content: "›"; font-size: 1rem; color: var(--dimmer);
  transition: transform .3s, color .3s;
}
.branch-item:hover .branch-tag-right::after,
.branch-item.open .branch-tag-right::after {
  transform: rotate(90deg); color: var(--gold);
}


/* ══ OPTIM ACTION ══ */
.oag-inner{display:flex;flex-direction:column;gap:44px;position:relative;z-index:1;}

/* Header */
.oag-header{display:grid;grid-template-columns:auto 1fr;gap:28px;align-items:start;}
.oag-logo-badge{
  width:90px;height:90px;border-radius:50%;overflow:hidden;flex-shrink:0;
  background:#fff;padding:6px;
  box-shadow:0 0 30px rgba(176,149,90,.25);
}
.oag-logo-badge img{width:100%;height:100%;object-fit:contain;display:block;}
.oag-brand-name{
  font-family:'Cormorant Garamond',serif;font-weight:300;
  font-size:clamp(1.6rem,3.2vw,2.6rem);line-height:1.0;color:var(--ink);margin-bottom:8px;
}
.oag-brand-name em{font-style:italic;color:#B09550;}
.oag-tagline{font-family:'Space Mono',monospace;font-size:12px;letter-spacing:.14em;
  text-transform:uppercase;color:#8A9A8A;margin-bottom:14px;}
.oag-desc{font-size:.9rem;line-height:1.88;color:var(--dim);margin-bottom:16px;}
.oag-chips{display:flex;flex-wrap:wrap;gap:8px;}
.oag-chip{font-family:'Space Mono',monospace;font-size:12px;letter-spacing:.08em;text-transform:uppercase;
  padding:5px 14px;border-radius:20px;border:1px solid rgba(176,149,90,.3);color:#B09550;}

/* ── LOGO TRANSFORMATION ANIMATION ── */
.logo-transform-wrap{position:relative;max-width:560px;margin:0 auto;}
.logo-stages{position:relative;aspect-ratio:1/1;}
/* Stage sketch (fond blanc, style AI) */
.logo-stage-sketch{
  position:absolute;inset:0;border-radius:8px;overflow:hidden;
  background:#f8f5f0;
  border:1px solid rgba(176,149,90,.2);
  transition:opacity .8s ease,transform .8s ease;
}
.logo-stage-sketch img{
  width:80%;display:block;margin:auto;padding-top:10%;
  filter:saturate(0) contrast(.7) opacity(.85);
}
/* Stage final */
.logo-stage-final{
  position:absolute;inset:0;border-radius:8px;overflow:hidden;
  background:#fff;opacity:0;transform:scale(.96);
  transition:opacity .8s ease,transform .8s ease;
}
.logo-stage-final img{width:80%;display:block;margin:auto;padding-top:10%;}
/* Switch au hover / focus */
.logo-transform-wrap:hover .logo-stage-sketch{opacity:0;transform:scale(1.04);}
.logo-transform-wrap:hover .logo-stage-final{opacity:1;transform:scale(1);}
/* Badge hint */
.logo-transform-hint{
  text-align:center;margin-top:14px;
  font-family:'Space Mono',monospace;font-size:12px;letter-spacing:.12em;
  text-transform:uppercase;color:var(--dimmer);
  display:flex;align-items:center;justify-content:center;gap:10px;
}
.logo-transform-hint::before,.logo-transform-hint::after{content:"";flex:1;height:1px;background:var(--border);}
/* Barre de progression sketch → final */
.logo-progress{
  height:2px;background:var(--border);border-radius:1px;margin-top:8px;overflow:hidden;
}
.logo-progress-bar{
  height:100%;width:0%;background:linear-gradient(90deg,#7A8C80,#B09550);
  transition:width .8s ease;border-radius:1px;
}
.logo-transform-wrap:hover .logo-progress-bar{width:100%;}
/* Légende couleurs */
.oag-colors{display:flex;gap:14px;margin-top:24px;flex-wrap:wrap;}
.oag-color-item{display:flex;align-items:center;gap:8px;}
.oag-color-swatch{width:20px;height:20px;border-radius:50%;flex-shrink:0;}
.oag-color-name{font-family:'Space Mono',monospace;font-size:12px;letter-spacing:.1em;
  text-transform:uppercase;color:var(--dim);}
.oag-color-desc{font-size:.82rem;color:var(--dimmer);margin-top:2px;}

/* ── FLIPBOOK CHARTE ── */
.flipbook-wrap{position:relative;max-width:720px;margin:0 auto;}
.flipbook-lang-tabs{display:flex;gap:10px;margin-bottom:20px;}
.fb-lang-tab{
  font-family:'Space Mono',monospace;font-size:12px;letter-spacing:.1em;text-transform:uppercase;
  padding:8px 18px;border-radius:30px;border:1px solid var(--border);color:var(--dim);
  background:transparent;cursor:pointer;transition:all .3s;
}
.fb-lang-tab.active{background:#B09550;border-color:#B09550;color:#fff;}
.flipbook-viewer{position:relative;}
.flipbook-spread{
  display:grid;grid-template-columns:1fr 1fr;gap:3px;
  box-shadow:0 20px 60px rgba(0,0,0,.6);border-radius:4px;overflow:hidden;
}
.fb-page{overflow:hidden;position:relative;}
.fb-page img{width:100%;height:auto;display:block;}
.fb-page-num{
  position:absolute;bottom:8px;left:50%;transform:translateX(-50%);
  font-family:'Space Mono',monospace;font-size:12px;letter-spacing:.1em;
  text-transform:uppercase;color:rgba(255,255,255,.4);
}
.flipbook-spine{
  position:absolute;top:0;bottom:0;left:50%;width:4px;
  background:linear-gradient(to right,rgba(0,0,0,.4),rgba(0,0,0,.1));
  transform:translateX(-50%);pointer-events:none;z-index:2;
}
.flipbook-nav{
  display:flex;justify-content:center;align-items:center;gap:20px;margin-top:20px;
}
.fb-btn{
  width:40px;height:40px;border-radius:50%;border:1px solid rgba(176,149,90,.4);
  background:transparent;color:#B09550;font-size:1rem;cursor:pointer;
  display:flex;align-items:center;justify-content:center;
  transition:background .3s,border-color .3s;
}
.fb-btn:hover{background:#B09550;border-color:#B09550;color:#fff;}
.fb-btn:disabled{opacity:.2;cursor:default;}
.fb-count{font-family:'Space Mono',monospace;font-size:12px;letter-spacing:.1em;color:var(--dimmer);}
.fb-label{
  position:absolute;top:14px;right:14px;z-index:3;
  font-family:'Space Mono',monospace;font-size:12px;letter-spacing:.1em;text-transform:uppercase;
  color:#B09550;background:rgba(13,12,9,.85);padding:4px 12px;border-radius:20px;
  border:1px solid rgba(176,149,90,.3);
}


/* ══ ORY HOVER ══ */
.novea-s1{
  transition: filter .6s ease, color .6s ease, text-shadow .6s ease !important;
}
#noveaStages:hover .novea-s1{
  filter: brightness(2.2) saturate(0.6) !important;
  text-shadow: 0 0 80px rgba(255,220,150,.3), 0 0 30px rgba(255,200,100,.15) !important;
}
/* ORY flottant */
#noveaStages{
  animation: oryFloat 5s ease-in-out infinite !important;
}
@keyframes oryFloat{
  0%,100%{transform:translateY(0);}
  50%{transform:translateY(-12px);}
}
/* Glow de fond lumineux sous le logo */
#novea-hero::after{
  content:"";position:absolute;
  width:60%;height:35%;
  left:20%;bottom:12%;
  background:radial-gradient(ellipse,rgba(200,160,60,.08),transparent 70%);
  pointer-events:none;
  animation:glowPulse 4s ease-in-out infinite;
}
@keyframes glowPulse{0%,100%{opacity:.4;}50%{opacity:1;}}
/* Racines atténuées sous le logo */
#tree-canvas{opacity:.5 !important;}
#novea-hero #tree-canvas{opacity:.4 !important;}


/* Logo brodé plus grand dans brand identity */
#h-brand .logo-reveal img, #h-brand > div > div:last-child img {
  width: 100% !important;
}

.testi-card:hover{background:rgba(237,230,212,.03);border-color:rgba(237,230,212,.1) !important;}
.testi-card::before{content:"\201C";position:absolute;top:16px;right:20px;font-family:"Cormorant Garamond",serif;font-size:4rem;color:rgba(200,97,74,.08);line-height:1;pointer-events:none;}

/* ══ ORY LOGO REDESIGN ══ */
.novea-subtitle { display: none !important; }
.ory-logo-block {
  text-align: center; position: relative; z-index: 2;
}
.ory-name {
  font-family: 'Cormorant Garamond', serif; font-weight: 300;
  font-size: clamp(6rem, 20vw, 18rem); line-height: .8;
  letter-spacing: -.04em; text-transform: uppercase;
  display: block; position: relative; z-index: 4;
  color: #8B5E2A;
  -webkit-text-stroke: 1px rgba(180,120,50,.6);
  text-shadow: 0 0 80px rgba(180,120,50,.2), 2px 2px 0 #1a0c04;
}
.ory-consulting {
  font-family: 'Space Mono', monospace; font-weight: 700;
  font-size: clamp(.9rem, 2.5vw, 2rem); letter-spacing: .35em;
  text-transform: uppercase; color: var(--gold);
  display: block; margin-top: 4px;
}
.ory-tagline-sub {
  font-family: 'Space Mono', monospace; font-weight: 400;
  font-size: clamp(.6rem, 1.1vw, .85rem); letter-spacing: .22em;
  text-transform: uppercase; color: var(--dimmer);
  display: block; margin-top: 8px;
}
/* Couches état 2,3,4 positionnées sur le ORY uniquement */
.novea-stages { position: relative; display: inline-block; }
.novea-s2, .novea-s3, .novea-s4 { pointer-events: none; }



/* ══ BOUTON LANGUE ══ */
#lang-toggle {
  position: fixed; bottom: 28px; right: 28px; z-index: 500;
  font-family: 'Space Mono', monospace; font-size:12px;
  letter-spacing: .14em; text-transform: uppercase;
  color: var(--ink); background: rgba(13,12,9,.88);
  border: 1px solid var(--border2); padding: 10px 18px;
  border-radius: 30px; cursor: pointer;
  display: flex; align-items: center; gap: 8px;
  transition: border-color .3s, background .3s;
  box-shadow: 0 4px 20px rgba(0,0,0,.4);
}
#lang-toggle:hover { border-color: var(--gold); color: var(--gold); }
#lang-toggle .lang-flag { font-size: 1rem; }



/* ORY hero background — vert très sombre */
#novea-hero {
  background: radial-gradient(ellipse 70% 50% at 50% 40%, 
    rgba(61,78,56,.12) 0%, transparent 70%) !important;
}


/* ══ THÈME CLAIR — PALETTE ORY CONSULTING ══ */
body, .page { background: var(--bg) !important; color: var(--ink) !important; }

/* Navigation */
nav { background: rgba(13,12,9,.82) !important; backdrop-filter: blur(12px); 
  border-bottom: 1px solid var(--border); }
nav ul li a { color: var(--dim) !important; }
nav ul li a:hover { color: #5C6D57 !important; }

/* Hero ORY — fond ivoire profond */
#novea-hero { background: #1C1F1D !important; }
#novea-hero::before { background: radial-gradient(ellipse 60% 50% at 50% 40%, rgba(61,78,56,.15), transparent 70%) !important; }

/* About */
#about { background: var(--bg) !important; }
.about-title { color: var(--dim) !important; }
.about-body { color: var(--dimmer) !important; }
.geo-badge { border-color: var(--border) !important; color: var(--dimmer) !important; }
.geo-badge:hover { border-color: var(--corail) !important; color: var(--corail) !important; }

/* Process */
#process { background: var(--bg2) !important; }
#process h2 { color: var(--dim) !important; }
.rarc { stroke: rgba(61,78,56,.15) !important; }
.rarc.active { stroke: var(--corail) !important; }
.rarc:hover { stroke: rgba(200,97,74,.4) !important; }
.rpanel { background: rgba(61,78,56,.05) !important; border-color: rgba(61,78,56,.15) !important; }
.rpanel h3 { color: var(--corail) !important; }
.rpanel p { color: var(--dimmer) !important; }

/* Case studies / Branches */
#casestudies { background: var(--bg) !important; }
.section-tag { color: var(--corail) !important; }
.section-tag::before { background: var(--corail) !important; }
#casestudies h2, .branch-name { color: var(--dim) !important; }
.branch-item { border-bottom-color: var(--border) !important; }
.branch-item:hover { background: rgba(61,78,56,.04) !important; }
.branch-item:hover .branch-name, .branch-item.open .branch-name { color: var(--vert) !important; }
.branch-tag-right { color: var(--dimmer) !important; }
.branch-content { background: var(--bg2) !important; border-top: 1px solid var(--border) !important; }

/* Tabs */
.ra-tab { border-color: rgba(61,78,56,.3) !important; color: var(--dimmer) !important; }
.ra-tab.active { background: #5C6D57 !important; border-color: #5C6D57 !important; color: #F4F1EA !important; }
.ra-work-label { color: var(--corail) !important; }
.ra-work-label::before { background: var(--corail) !important; }

/* Services */
#services { background: var(--bg2) !important; }
#services h2 { color: var(--dim) !important; }
#services h2 em { color: #5C6D57 !important; }
.leaf { border-bottom-color: var(--border) !important; }
.leaf:hover { background: rgba(61,78,56,.04) !important; }
.leaf-name { color: var(--dim) !important; }
.ltrig:hover .leaf-name { color: var(--corail) !important; }
.lbody-hook { color: var(--corail) !important; }

/* Testimonials */
#testimonials { background: var(--bg) !important; }
#testimonials h2 { color: var(--dim) !important; }
#testimonials h2 em { color: #5C6D57 !important; }
.testi-card { border-color: var(--border) !important; background: var(--bg2) !important; }
.testi-card:hover { background: rgba(61,78,56,.06) !important; }

/* Contact */
#contact { background: var(--bg2) !important; }
#contact h2, .ct-head { color: var(--dim) !important; }
.ct-head em { color: #5C6D57 !important; }
.ct-email { color: var(--dim) !important; border-color: rgba(61,78,56,.2) !important; }
.ct-email:hover { color: var(--corail) !important; border-color: var(--corail) !important; }

/* Curseur */
#cursor-dot { background: var(--dim) !important; }
#cursor-ring { border-color: rgba(61,78,56,.5) !important; }
#cursor-ring.hover { border-color: var(--corail) !important; background: rgba(200,97,74,.06) !important; }

/* Scroll progress */
#scroll-progress { background: var(--corail) !important; }

/* Lang toggle */
#lang-toggle { background: rgba(13,12,9,.82) !important; border-color: var(--border) !important; color: var(--dim) !important; }
#lang-toggle:hover { border-color: #5C6D57 !important; color: #5C6D57 !important; }

/* Tree canvas — atténué sur fond clair */
#tree-canvas { opacity: .55 !important; mix-blend-mode: normal !important; }

/* WhatsApp modal */
#wa-modal { background: rgba(28,31,29,.85) !important; }



/* ── PANNEAU GAUCHE — sombre */
.ab-left {
  background: #1C1F1D;
  padding: 80px 60px;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  position: relative;
  z-index: 2;
}
.ab-eyebrow {
  font-family: 'Space Grotesk', 'Space Mono', sans-serif;
  font-size:12px;
  font-weight: 600;
  letter-spacing: .22em;
  text-transform: uppercase;
  color: #C9D5C4;
  opacity: .7;
}
.ab-reveal-title {
  font-family: 'Cormorant Garamond', serif;
  font-size: clamp(52px, 6vw, 88px);
  font-weight: 300;
  line-height: .9;
  color: #F7F5F1;
}
.ab-reveal-title em {
  font-style: italic;
  color: #C9D5C4;
}
.ab-hint {
  display: flex;
  align-items: center;
  gap: 12px;
  font-family: 'Space Grotesk', 'Space Mono', sans-serif;
  font-size:12px;
  letter-spacing: .18em;
  text-transform: uppercase;
  color: #C9D5C4;
  opacity: .6;
  transition: opacity .4s;
  cursor: default;
}
.ab-hint-dot {
  width: 8px; height: 8px;
  border-radius: 50%;
  background: #C8614A;
  animation: abDotPulse 2s ease-in-out infinite;
  flex-shrink: 0;
}
@keyframes abDotPulse {
  0%,100% { transform: scale(1); opacity: .6; }
  50% { transform: scale(1.5); opacity: 1; }
}
.ab3-photo-wrap:hover .ab-hint--photo { opacity: 0; }
.ab-hint--photo {
  position: absolute;
  left: 16px; bottom: 16px; z-index: 3;
  background: rgba(28,31,29,.5);
  padding: 8px 14px;
  border-radius: 30px;
}

/* Racines SVG dans panneau gauche */
.ab-roots {
  position: absolute;
  bottom: 0; right: 0;
  width: 200px; height: 300px;
  opacity: 0;
  transition: opacity 1.4s ease .2s;
  pointer-events: none;
}
#about:hover .ab-roots { opacity: 1; }
.ab-root-line {
  stroke: #3D4E38;
  stroke-width: 1;
  fill: none;
  stroke-dasharray: 300;
  stroke-dashoffset: 300;
  transition: stroke-dashoffset 1.8s cubic-bezier(.2,.8,.2,1);
}
#about:hover .ab-root-line { stroke-dashoffset: 0; }
.ab-root-line:nth-child(2) { transition-delay: .2s; }
.ab-root-line:nth-child(3) { transition-delay: .4s; }
.ab-root-line:nth-child(4) { transition-delay: .6s; }

/* ── PANNEAU DROIT — révélation */
.ab-right {
  background: #3D4E38;
  position: relative;
  overflow: hidden;
  cursor: crosshair;
}

/* État initial : symbole ORY centré */
.ab-right-init {
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: opacity .6s ease;
  z-index: 1;
}
.ab-init-symbol {
  width: 120px;
  opacity: .18;
  filter: brightness(0) invert(1);
  transition: opacity .4s;
}
#about:hover .ab-right-init { opacity: 0; pointer-events: none; }

/* Photo */
.ab-photo-wrap {
  position: absolute;
  inset: 0;
  opacity: 0;
  transform: scale(1.04);
  transition: opacity .9s ease .2s, transform 1.2s cubic-bezier(.2,.8,.2,1) .2s;
  z-index: 2;
}
#about:hover .ab-photo-wrap { opacity: 1; transform: scale(1); }
.ab-photo-wrap img {
  width: 100%; height: 100%;
  object-fit: cover;
  object-position: center top;
  -webkit-mask-image: linear-gradient(to right, rgba(0,0,0,.95) 60%, transparent 100%);
  mask-image: linear-gradient(to right, rgba(0,0,0,.95) 60%, transparent 100%);
}

/* Overlay vert sur la photo */
.ab-photo-wrap::after {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(to right, rgba(61,78,56,.3), rgba(61,78,56,.05));
  z-index: 1;
}

/* Icônes orbitales */
.ab-icons {
  position: absolute;
  inset: 0;
  pointer-events: none;
  z-index: 3;
  opacity: 0;
  transition: opacity .5s ease .8s;
}
#about:hover .ab-icons { opacity: 1; }
.ab-icon {
  position: absolute;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 6px;
  opacity: 0;
  transform: scale(.3) translateY(10px);
  transition: opacity .4s ease, transform .5s cubic-bezier(.2,.8,.2,1);
}
#about:hover .ab-icon { opacity: 1; transform: scale(1) translateY(0); }
#about:hover .ab-icon:nth-child(1) { transition-delay: .9s; }
#about:hover .ab-icon:nth-child(2) { transition-delay: 1.05s; }
#about:hover .ab-icon:nth-child(3) { transition-delay: 1.2s; }
#about:hover .ab-icon:nth-child(4) { transition-delay: 1.35s; }
#about:hover .ab-icon:nth-child(5) { transition-delay: 1.5s; }
#about:hover .ab-icon:nth-child(6) { transition-delay: 1.65s; }
.ab-icon-circle {
  width: 42px; height: 42px;
  border-radius: 50%;
  background: rgba(25,32,25,.8);
  border: 1px solid rgba(201,213,196,.4);
  display: flex; align-items: center; justify-content: center;
  font-size: .95rem;
  animation: abIconFloat 3.5s ease-in-out infinite;
  box-shadow: 0 0 16px rgba(200,97,74,.15);
}
.ab-icon-label {
  font-family: 'Space Grotesk', 'Space Mono', monospace;
  font-size:12px;
  letter-spacing: .12em;
  text-transform: uppercase;
  color: #C9D5C4;
  white-space: nowrap;
}
@keyframes abIconFloat {
  0%,100% { transform: translateY(0); }
  50% { transform: translateY(-6px); }
}
.ab-icon:nth-child(1) { top: 8%; left: 48%; }
.ab-icon:nth-child(2) { top: 22%; right: 8%; }
.ab-icon:nth-child(3) { bottom: 22%; right: 6%; }
.ab-icon:nth-child(4) { bottom: 8%; left: 48%; }
.ab-icon:nth-child(5) { bottom: 22%; left: 6%; }
.ab-icon:nth-child(6) { top: 22%; left: 6%; }
.ab-icon:nth-child(2) .ab-icon-circle { animation-delay: .5s; border-color: rgba(200,97,74,.4); }
.ab-icon:nth-child(3) .ab-icon-circle { animation-delay: 1s; }
.ab-icon:nth-child(4) .ab-icon-circle { animation-delay: .3s; }
.ab-icon:nth-child(5) .ab-icon-circle { animation-delay: .8s; border-color: rgba(200,97,74,.4); }
.ab-icon:nth-child(6) .ab-icon-circle { animation-delay: 1.3s; }

/* Texte glissant gauche → droite */
.ab-slide-text {
  position: absolute;
  bottom: 0; left: 0; right: 0;
  padding: 40px 36px;
  background: linear-gradient(to top, rgba(15,20,15,.92) 0%, rgba(15,20,15,.6) 70%, transparent 100%);
  z-index: 4;
  transform: translateX(-40px);
  opacity: 0;
  transition: transform 1s cubic-bezier(.2,.8,.2,1) 1s, opacity .8s ease 1s;
}
#about:hover .ab-slide-text {
  transform: translateX(0);
  opacity: 1;
}
.ab-slide-title {
  font-family: 'Cormorant Garamond', serif;
  font-size: clamp(1.4rem, 2.5vw, 2rem);
  font-weight: 300;
  color: #F7F5F1;
  line-height: 1.05;
  margin-bottom: 12px;
}
.ab-slide-title em { font-style: italic; color: #C9D5C4; }
.ab-slide-body {
  font-family: 'Space Grotesk', sans-serif;
  font-size: .82rem;
  line-height: 1.8;
  color: rgba(201,213,196,.8);
  max-width: 320px;
  margin-bottom: 16px;
}
.ab-slide-geo {
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
}
.ab-slide-badge {
  font-family: 'Space Grotesk', 'Space Mono', monospace;
  font-size:12px;
  letter-spacing: .12em;
  text-transform: uppercase;
  color: #C9D5C4;
  border: 1px solid rgba(201,213,196,.25);
  padding: 5px 12px;
  border-radius: 20px;
  display: flex;
  align-items: center;
  gap: 6px;
}

/* Ligne de croissance (racines côté droit) */
.ab-growth-line {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 2px;
  height: 0;
  background: linear-gradient(to top, rgba(200,97,74,.6), transparent);
  transition: height 1.6s cubic-bezier(.2,.8,.2,1) .4s;
  z-index: 5;
}
#about:hover .ab-growth-line { height: 45%; }

/* Responsive */
@media(max-width:768px) {
  #about { grid-template-columns: 1fr; }
  .ab-left { min-height: 50vh; }
  .ab-right { min-height: 60vh; }
}

/* ══ ADAPTATION MOBILE — élégance conservée sur petit écran ══ */
@media(max-width:640px) {
  /* Navigation — évite le débordement, garde l'élégance */
  nav { padding: 14px 4vw; }
  nav ul { gap: 4px; overflow-x: auto; -webkit-overflow-scrolling: touch; scrollbar-width: none; max-width: 68vw; padding-right: 6vw; flex-shrink: 0; }
  nav ul::-webkit-scrollbar { display: none; }
  nav ul li { flex-shrink: 0; }
  nav ul li a { font-size:12px; padding: 7px 9px; white-space: nowrap; }
  .brand img { max-height: 24px; }

  /* Qui suis-je */
  .ab3-center { grid-template-columns: 1fr !important; gap: 36px !important; }
  .ab3-photo-wrap { max-height: 420px; }
  .ab3-title { font-size: clamp(26px,7vw,38px) !important; }
  .ab3-view { gap: 18px; }
  .ab3-fp { font-size: .86rem; line-height: 1.7; }
  .ab3-toggle { padding: 12px 20px; font-size:12px; }

  /* Stats */
  .ab3-stats { grid-template-columns: 1fr !important; max-width: 92vw; }
  .ab3-stat { border-left: none !important; border-top: 1px solid rgba(61,78,56,.16); }
  .ab3-stat:first-child { border-top: none; }

  /* Anneaux de croissance */
  .rings-container { gap: 32px; }
  .rpanel { padding: 28px 24px !important; }

  /* Études de cas — grilles de médias ajoutées (affiches, 3D viz, Makos) */
  .rg-media { grid-template-columns: 1fr !important; }
  .branch-header { flex-wrap: wrap; gap: 10px; padding: 20px 0; }
  .branch-tag-right { font-size:12px !important; }

  /* Contenu général plus respirant sur mobile */
  .branch-inner { padding: 0 4vw 32px 4vw !important; }
  .ra-work-label { font-size:12px; }

  /* Héritage — polaroids : garantit le retour à la ligne (pas de coupe en bord d'écran) */
  .polaroid-board { flex-wrap: wrap !important; overflow: visible !important; gap: 16px !important; justify-content: center; }
  .polaroid { flex: 0 0 42% !important; min-width: 130px !important; margin: 0 !important; }

  /* Hero / titres larges — s'assure qu'ils restent lisibles, pas juste petits */
  h2 { line-height: 1.08; }

  /* Footer */
  footer { padding: 22px 5vw; flex-direction: column; align-items: flex-start; }
}

@media(max-width:420px) {
  nav ul li a { font-size:12px; padding: 6px 8px; }
  .ab3-stat-num { font-size: clamp(34px,10vw,46px) !important; }
  .ra-header,
  .mega-header,
  .oag-header { grid-template-columns: 1fr !important; text-align: left; }
  .hlogo-final { width: 120px !important; margin: 0 auto 16px; }
}





/* Panneau gauche */
.ab-left {
  background: #1C1F1D;
  padding: 80px 56px;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  position: relative;
  z-index: 2;
}
.ab-eyebrow {
  font-family: 'Space Grotesk','Space Mono',sans-serif;
  font-size:12px; font-weight:600;
  letter-spacing:.22em; text-transform:uppercase;
  color:#C9D5C4; opacity:.7;
}
.ab-reveal-title {
  font-family:'Cormorant Garamond',serif;
  font-size:clamp(54px,6.5vw,92px);
  font-weight:300; line-height:.88;
  color:#F7F5F1;
}
.ab-reveal-title em { font-style:italic; color:#C9D5C4; }

.ab-hint {
  display:flex; align-items:center; gap:12px;
  font-family:'Space Grotesk','Space Mono',sans-serif;
  font-size:12px; letter-spacing:.18em; text-transform:uppercase;
  color:#C9D5C4;
  transition:opacity .4s;
}
#about.revealed .ab-hint { opacity:0; }
.ab-hint-dot {
  width:8px; height:8px; border-radius:50%;
  background:#C8614A;
  animation:abPulse 2s ease-in-out infinite;
  flex-shrink:0;
}
@keyframes abPulse { 0%,100%{transform:scale(1);opacity:.7;} 50%{transform:scale(1.6);opacity:1;} }

/* Racines SVG */
.ab-roots {
  position:absolute; bottom:0; right:0;
  width:180px; height:260px;
  pointer-events:none; overflow:visible;
}
.ab-root-path {
  fill:none; stroke:#3D4E38; stroke-linecap:round;
  stroke-dasharray:400; stroke-dashoffset:400;
  transition:stroke-dashoffset 2s cubic-bezier(.2,.8,.2,1);
}
.ab-root-path:nth-child(2) { stroke:#5C6D57; stroke-width:.8; transition-delay:.3s; }
.ab-root-path:nth-child(3) { transition-delay:.6s; }
.ab-root-path:nth-child(4) { stroke:#5C6D57; stroke-width:.6; transition-delay:.9s; }
#about.revealed .ab-root-path { stroke-dashoffset:0; }

/* Panneau droit */
.ab-right {
  background:#3D4E38;
  position:relative;
  overflow:hidden;
}

/* Etat initial */
.ab-init {
  position:absolute; inset:0; z-index:1;
  display:flex; align-items:center; justify-content:center;
  transition:opacity .5s ease;
}
#about.revealed .ab-init { opacity:0; }
.ab-init img { width:110px; opacity:.15; filter:brightness(0) invert(1); }

/* Photo */
.ab-photo {
  position:absolute; inset:0; z-index:2;
  opacity:0; transform:scale(1.06);
  transition:opacity .9s ease .15s, transform 1.4s cubic-bezier(.2,.8,.2,1) .15s;
}
#about.revealed .ab-photo { opacity:1; transform:scale(1); }
.ab-photo img {
  width:100%; height:100%;
  object-fit:cover; object-position:center top;
  -webkit-mask-image:linear-gradient(to right,black 55%,transparent 100%);
  mask-image:linear-gradient(to right,black 55%,transparent 100%);
}
.ab-photo::after {
  content:''; position:absolute; inset:0;
  background:linear-gradient(to right,rgba(61,78,56,.35),rgba(61,78,56,.05));
  z-index:1;
}

/* Ligne croissance */
.ab-growth {
  position:absolute; bottom:0; left:0;
  width:2px; height:0; z-index:3;
  background:linear-gradient(to top,#C8614A,transparent);
  transition:height 1.8s cubic-bezier(.2,.8,.2,1) .4s;
}
#about.revealed .ab-growth { height:50%; }

/* Icônes */
.ab-icons { position:absolute; inset:0; z-index:4; pointer-events:none; }
.ab-icon {
  position:absolute;
  display:flex; flex-direction:column; align-items:center; gap:5px;
  opacity:0; transform:scale(.2) translateY(12px);
  transition:opacity .4s ease, transform .5s cubic-bezier(.2,.8,.2,1);
}
#about.revealed .ab-icon { opacity:1; transform:scale(1) translateY(0); }
#about.revealed .ab-icon:nth-child(1){transition-delay:.85s;}
#about.revealed .ab-icon:nth-child(2){transition-delay:1.0s;}
#about.revealed .ab-icon:nth-child(3){transition-delay:1.15s;}
#about.revealed .ab-icon:nth-child(4){transition-delay:1.3s;}
#about.revealed .ab-icon:nth-child(5){transition-delay:1.45s;}
#about.revealed .ab-icon:nth-child(6){transition-delay:1.6s;}
.ab-icon-c {
  width:40px; height:40px; border-radius:50%;
  background:rgba(15,20,15,.85);
  border:1px solid rgba(201,213,196,.35);
  display:flex; align-items:center; justify-content:center;
  font-size:.9rem;
  animation:abFloat 3.5s ease-in-out infinite;
}
.ab-icon-l {
  font-family:'Space Grotesk','Space Mono',monospace;
  font-size:12px; letter-spacing:.1em; text-transform:uppercase;
  color:#C9D5C4; white-space:nowrap;
}
@keyframes abFloat{ 0%,100%{transform:translateY(0);}50%{transform:translateY(-5px);} }
.ab-icon:nth-child(1){top:8%;left:44%;}
.ab-icon:nth-child(2){top:24%;right:10%;}
.ab-icon:nth-child(3){bottom:28%;right:8%;}
.ab-icon:nth-child(4){bottom:8%;left:44%;}
.ab-icon:nth-child(5){bottom:28%;left:8%;}
.ab-icon:nth-child(6){top:24%;left:8%;}
.ab-icon:nth-child(2) .ab-icon-c{animation-delay:.5s;border-color:rgba(200,97,74,.4);}
.ab-icon:nth-child(5) .ab-icon-c{animation-delay:.9s;border-color:rgba(200,97,74,.4);}

/* Texte reveal */
.ab-slide {
  position:absolute; bottom:0; left:0; right:0; z-index:5;
  padding:40px 32px;
  background:linear-gradient(to top,rgba(10,14,10,.95) 0%,rgba(10,14,10,.7) 60%,transparent 100%);
  opacity:0; transform:translateX(-48px);
  transition:opacity .8s ease .95s, transform 1s cubic-bezier(.2,.8,.2,1) .95s;
}
#about.revealed .ab-slide { opacity:1; transform:translateX(0); }
.ab-slide-t {
  font-family:'Cormorant Garamond',serif;
  font-size:clamp(1.3rem,2.2vw,1.9rem);
  font-weight:300; color:#F7F5F1; line-height:1.05;
  margin-bottom:10px;
}
.ab-slide-t em { font-style:italic; color:#C9D5C4; }
.ab-slide-p {
  font-size:.82rem; line-height:1.8;
  color:rgba(201,213,196,.8);
  max-width:300px; margin-bottom:14px;
}
.ab-slide-geo { display:flex; gap:8px; flex-wrap:wrap; }
.ab-slide-badge {
  font-family:'Space Grotesk','Space Mono',monospace;
  font-size:12px; letter-spacing:.12em; text-transform:uppercase;
  color:#C9D5C4; border:1px solid rgba(201,213,196,.25);
  padding:5px 12px; border-radius:20px;
  display:flex; align-items:center; gap:6px;
}



/* Bandeau titre pleine largeur */
.ab-header {
  background: #3D4E38;
  padding: 48px 60px 40px;
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 40px;
}
.ab-header-left {
  display: flex;
  flex-direction: column;
  gap: 12px;
}
.ab-label {
  font-family: 'Space Grotesk','Space Mono',sans-serif;
  font-size:12px;
  font-weight: 600;
  letter-spacing: .22em;
  text-transform: uppercase;
  color: #C9D5C4;
  opacity: .7;
}
.ab-big-title {
  font-family: 'Cormorant Garamond', serif;
  font-size: clamp(44px, 6vw, 80px);
  font-weight: 300;
  line-height: .9;
  color: #F7F5F1;
}
.ab-big-title em {
  font-style: italic;
  color: #C9D5C4;
}
.ab-header-right {
  font-family: 'Cormorant Garamond', serif;
  font-style: italic;
  font-size: clamp(14px, 1.6vw, 20px);
  font-weight: 300;
  color: #C9D5C4;
  max-width: 320px;
  line-height: 1.5;
  opacity: .85;
  text-align: right;
  flex-shrink: 0;
}

/* Corps principal */
.ab-body {
  display: grid;
  grid-template-columns: 1fr 1fr;
  min-height: 65vh;
}

/* Colonne photo */
.ab-col-photo {
  position: relative;
  overflow: hidden;
  background: #C9D5C4;
}
.ab-col-photo img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center top;
  display: block;
  filter: grayscale(8%) contrast(1.02);
  transition: transform 6s ease;
}
.ab-col-photo:hover img { transform: scale(1.03); }
.ab-photo-overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(
    to top,
    rgba(61,78,56,.7) 0%,
    rgba(61,78,56,.1) 50%,
    transparent 100%
  );
  z-index: 1;
}
.ab-photo-caption {
  position: absolute;
  bottom: 28px;
  left: 28px;
  z-index: 2;
  display: flex;
  gap: 10px;
}
.ab-badge {
  font-family: 'Space Grotesk','Space Mono',monospace;
  font-size:12px;
  letter-spacing: .12em;
  text-transform: uppercase;
  color: #F7F5F1;
  border: 1px solid rgba(247,245,241,.3);
  padding: 6px 14px;
  border-radius: 20px;
  backdrop-filter: blur(8px);
  background: rgba(61,78,56,.4);
  display: flex;
  align-items: center;
  gap: 6px;
}

/* Icônes sur la photo */
.ab-icons-overlay {
  position: absolute;
  inset: 0;
  z-index: 2;
  pointer-events: none;
}
.ab-ico {
  position: absolute;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 5px;
  animation: abiFloat 3.5s ease-in-out infinite;
}
.ab-ico-c {
  width: 38px; height: 38px;
  border-radius: 50%;
  background: rgba(10,14,10,.75);
  border: 1px solid rgba(201,213,196,.4);
  display: flex; align-items: center; justify-content: center;
  font-size: .85rem;
}
.ab-ico-l {
  font-family: 'Space Grotesk','Space Mono',monospace;
  font-size:12px; letter-spacing: .1em;
  text-transform: uppercase;
  color: #C9D5C4;
  white-space: nowrap;
  text-shadow: 0 1px 4px rgba(0,0,0,.6);
}
@keyframes abiFloat {
  0%,100%{ transform:translateY(0); }
  50%{ transform:translateY(-6px); }
}
.ab-ico:nth-child(1){ top:12%; left:18%; animation-delay:0s; }
.ab-ico:nth-child(2){ top:12%; right:18%; animation-delay:.5s; }
.ab-ico:nth-child(3){ top:46%; left:8%; animation-delay:1s; }
.ab-ico:nth-child(4){ top:46%; right:8%; animation-delay:.3s; }
.ab-ico:nth-child(5){ bottom:28%; left:18%; animation-delay:.8s; }
.ab-ico:nth-child(6){ bottom:28%; right:18%; animation-delay:1.3s; }

/* Colonne texte */
.ab-col-text {
  background: #F7F5F1;
  padding: 56px 52px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 28px;
  border-left: 1px solid rgba(61,78,56,.1);
}
.ab-text-title {
  font-family: 'Cormorant Garamond', serif;
  font-size: clamp(28px, 3.2vw, 44px);
  font-weight: 300;
  line-height: 1.05;
  color: #3D4E38;
}
.ab-text-title em {
  font-style: italic;
  color: #C8614A;
}
.ab-text-body {
  font-family: 'Space Grotesk', sans-serif;
  font-size: .95rem;
  line-height: 1.9;
  color: #5C6D57;
  max-width: 420px;
}
.ab-text-body strong {
  color: #3D4E38;
  font-weight: 500;
}
.ab-divider {
  width: 48px; height: 2px;
  background: #C8614A;
  border-radius: 1px;
}
.ab-text-geo {
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
}
.ab-geo-badge {
  font-family: 'Space Grotesk','Space Mono',monospace;
  font-size:12px;
  letter-spacing: .12em;
  text-transform: uppercase;
  color: #5C6D57;
  border: 1px solid rgba(61,78,56,.2);
  padding: 7px 16px;
  border-radius: 30px;
  display: flex;
  align-items: center;
  gap: 7px;
  transition: border-color .3s, color .3s;
}
.ab-geo-badge:hover {
  border-color: #C8614A;
  color: #C8614A;
}
.ab-signature {
  font-family: 'Cormorant Garamond', serif;
  font-style: italic;
  font-size: 1.1rem;
  color: #C9D5C4;
  padding-top: 16px;
  border-top: 1px solid rgba(61,78,56,.1);
}


/* ══ ABOUT — ÉDITORIAL ══ */
#about {
  background: #F7F5F1;
  position: relative;
  overflow: hidden;
}
.ab-editorial {
  display: grid;
  grid-template-columns: 80px 1fr 1fr;
  min-height: 100vh;
}

/* Colonne latérale verticale */
.ab-sidebar {
  background: #3D4E38;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: space-between;
  padding: 56px 0;
}
.ab-sidebar-label {
  writing-mode: vertical-rl;
  text-orientation: mixed;
  transform: rotate(180deg);
  font-family: 'Space Grotesk','Space Mono',sans-serif;
  font-size:12px;
  font-weight: 600;
  letter-spacing: .22em;
  text-transform: uppercase;
  color: #C9D5C4;
  opacity: .8;
}
.ab-sidebar-num {
  font-family: 'Cormorant Garamond',serif;
  font-size:12px;
  color: #C9D5C4;
  opacity: .4;
  letter-spacing: .1em;
}
.ab-sidebar-line {
  flex: 1;
  width: 1px;
  background: linear-gradient(to bottom, transparent, rgba(201,213,196,.25), transparent);
  margin: 20px 0;
}

/* Colonne photo */
.ab-photo-col {
  position: relative;
  overflow: hidden;
  min-height: 100vh;
}
.ab-photo-col img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center top;
  display: block;
  transition: transform 8s ease;
}
.ab-photo-col:hover img { transform: scale(1.04); }

/* Overlay dégradé sur photo */
.ab-photo-grad {
  position: absolute;
  inset: 0;
  background: linear-gradient(to right, transparent 60%, rgba(247,245,241,.95) 100%),
              linear-gradient(to top, rgba(61,78,56,.6) 0%, transparent 40%);
  z-index: 1;
}

/* Icônes sur photo */
.ab-icons-grid {
  position: absolute;
  inset: 0;
  z-index: 2;
  pointer-events: none;
}
.ab-icon-item {
  position: absolute;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 5px;
  animation: abFloat 3.5s ease-in-out infinite;
}
.ab-icon-item:nth-child(1){ top:14%; left:12%; animation-delay:0s; }
.ab-icon-item:nth-child(2){ top:14%; right:18%; animation-delay:.6s; }
.ab-icon-item:nth-child(3){ top:44%; left:6%; animation-delay:1.1s; }
.ab-icon-item:nth-child(4){ bottom:30%; left:12%; animation-delay:.4s; }
.ab-icon-item:nth-child(5){ bottom:30%; right:18%; animation-delay:.9s; }
.ab-icon-item:nth-child(6){ top:44%; right:8%; animation-delay:1.4s; }
@keyframes abFloat{ 0%,100%{transform:translateY(0);}50%{transform:translateY(-7px);} }
.ab-icon-bubble {
  width: 44px; height: 44px;
  border-radius: 50%;
  background: rgba(15,20,15,.75);
  border: 1px solid rgba(201,213,196,.4);
  backdrop-filter: blur(8px);
  display: flex; align-items: center; justify-content: center;
  font-size: .9rem;
  box-shadow: 0 4px 20px rgba(0,0,0,.3);
}
.ab-icon-txt {
  font-family: 'Space Grotesk','Space Mono',monospace;
  font-size:12px; letter-spacing: .1em; text-transform: uppercase;
  color: #C9D5C4; white-space: nowrap;
  text-shadow: 0 1px 4px rgba(0,0,0,.7);
}

/* Badges photo bas */
.ab-photo-badges {
  position: absolute;
  bottom: 32px; left: 24px;
  z-index: 3;
  display: flex;
  gap: 8px;
}
.ab-ph-badge {
  font-family: 'Space Grotesk','Space Mono',monospace;
  font-size:12px; letter-spacing: .12em; text-transform: uppercase;
  color: #F7F5F1;
  border: 1px solid rgba(247,245,241,.3);
  padding: 6px 13px; border-radius: 20px;
  backdrop-filter: blur(8px);
  background: rgba(61,78,56,.5);
  display: flex; align-items: center; gap: 6px;
}

/* Colonne texte */
.ab-text-col {
  padding: 72px 56px 72px 48px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 32px;
  background: #F7F5F1;
}
.ab-text-eyebrow {
  display: flex;
  align-items: center;
  gap: 14px;
  font-family: 'Space Grotesk','Space Mono',sans-serif;
  font-size:12px;
  font-weight: 600;
  letter-spacing: .2em;
  text-transform: uppercase;
  color: #C8614A;
}
.ab-text-eyebrow::before {
  content: '';
  width: 28px; height: 2px;
  background: #C8614A;
  display: block;
  border-radius: 1px;
}
.ab-main-title {
  font-family: 'Cormorant Garamond', serif;
  font-size: clamp(36px, 4vw, 58px);
  font-weight: 300;
  line-height: .95;
  color: #3D4E38;
}
.ab-main-title em {
  font-style: italic;
  color: #C8614A;
}
.ab-rule {
  width: 48px; height: 1px;
  background: rgba(61,78,56,.2);
}
.ab-main-body {
  font-family: 'Space Grotesk', sans-serif;
  font-size: .93rem;
  line-height: 1.9;
  color: #5C6D57;
  max-width: 400px;
}
.ab-main-body strong { color: #3D4E38; font-weight: 500; }
.ab-geo-row {
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
}
.ab-geo-pill {
  font-family: 'Space Grotesk','Space Mono',monospace;
  font-size:12px; letter-spacing: .12em; text-transform: uppercase;
  color: #5C6D57;
  border: 1px solid rgba(61,78,56,.18);
  padding: 7px 16px; border-radius: 30px;
  display: flex; align-items: center; gap: 7px;
  transition: border-color .3s, color .3s, background .3s;
}
.ab-geo-pill:hover { border-color: #C8614A; color: #C8614A; }
.ab-sig {
  font-family: 'Cormorant Garamond', serif;
  font-style: italic;
  font-size: 1.05rem;
  color: #C9D5C4;
  padding-top: 20px;
  border-top: 1px solid rgba(61,78,56,.1);
}


/* ══ HERO VIDEO ONLY ══ */
#novea-hero {
  position: relative;
  min-height: 100vh;
  overflow: hidden;
  background: #0F1410;
  display: flex;
  align-items: flex-end;
  justify-content: flex-start;
}

/* Vidéo plein écran */
.hero-video-frame {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  overflow: hidden;
  z-index: 0;
}
.hero-video-frame iframe {
  position: absolute;
  top: 50%; left: 50%;
  transform: translate(-50%,-50%) scale(1.12);
  min-width: 100%; min-height: 100%;
  width: 177.78vh; height: 56.25vw;
  border: none;
  pointer-events: none;
}

/* Overlays */
.hero-overlay-dark {
  position: absolute; inset: 0; z-index: 1;
  background: rgba(10,14,10,.28);
}
.hero-overlay-grad {
  position: absolute; inset: 0; z-index: 2;
  background: 
    linear-gradient(to top, rgba(10,14,10,.85) 0%, transparent 45%),
    linear-gradient(to right, rgba(10,14,10,.4) 0%, transparent 60%);
}

/* Contenu bas gauche */
.hero-content {
  position: relative;
  z-index: 3;
  padding: 0 60px 64px;
  animation: heroFadeUp 1.4s cubic-bezier(.2,.8,.2,1) .3s both;
}
@keyframes heroFadeUp {
  from { opacity:0; transform:translateY(30px); }
  to   { opacity:1; transform:translateY(0); }
}
.hero-eyebrow {
  font-family: 'Space Grotesk','Space Mono',sans-serif;
  font-size:12px; font-weight:600; letter-spacing:.22em; text-transform:uppercase;
  color: #C9D5C4; opacity:.7; margin-bottom:16px;
  display: flex; align-items:center; gap:12px;
}
.hero-eyebrow::before {
  content:''; width:22px; height:1px; background:#C8614A; display:block;
}
.hero-main-title {
  font-family: 'Cormorant Garamond', serif;
  font-size: clamp(38px,5vw,68px);
  font-weight: 300; line-height:.92;
  color: #F7F5F1;
  margin-bottom: 24px;
}
.hero-main-title em { font-style:italic; color:#C9D5C4; }
.hero-sub {
  font-family: 'Space Grotesk','Space Mono',sans-serif;
  font-size:12px; letter-spacing:.16em; text-transform:uppercase;
  color: #C9D5C4; opacity:.6;
  display: flex; align-items:center; gap:14px;
}
.hero-sub::after {
  content:''; flex:1; max-width:80px; height:1px;
  background: rgba(201,213,196,.3); display:block;
}

/* Scroll indicator droite */
.hero-scroll {
  position: absolute;
  right: 40px; bottom: 60px;
  z-index: 3;
  writing-mode: vertical-rl;
  font-family: 'Space Grotesk','Space Mono',sans-serif;
  font-size:12px; letter-spacing:.18em; text-transform:uppercase;
  color: rgba(201,213,196,.4);
  display: flex; align-items:center; gap:10px;
  animation: heroFadeUp 1.4s cubic-bezier(.2,.8,.2,1) .8s both;
}
.hero-scroll-line {
  width: 1px; height:50px;
  background: linear-gradient(to bottom, rgba(201,213,196,.4), transparent);
  animation: heroScrollAnim 1.8s ease-in-out infinite;
}
@keyframes heroScrollAnim {
  0%,100%{ height:50px; opacity:.4; }
  50%{ height:28px; opacity:.8; }
}

/* Cacher state bar ORY sur hero */
#novea-hero .novea-state-bar,
#novea-hero .novea-hint { display:none !important; }


/* ══ ABOUT V3 ══ */
#about {
  background: #F7F5F1;
  padding: 100px 5vw 80px;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 80px;
}

/* Label section */
.ab3-label {
  font-family: 'Space Grotesk','Space Mono',sans-serif;
  font-size:12px; font-weight:600; letter-spacing:.22em; text-transform:uppercase;
  color: #C8614A; text-align:center;
  display: flex; align-items:center; gap:14px;
}
.ab3-label::before, .ab3-label::after {
  content:''; flex:1; max-width:60px; height:1px; background:#C8614A;
}

/* Bloc central photo + texte */
.ab3-center {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 60px;
  align-items: center;
  max-width: 1100px;
  width: 100%;
  margin: 0 auto;
}

/* Photo avec hover icons */
.ab3-photo-wrap {
  position: relative;
  border-radius: 4px;
  overflow: hidden;
  aspect-ratio: 3/4;
  max-height: 620px;
}
.ab3-photo-wrap img {
  width: 100%; height: 100%;
  object-fit: cover;
  object-position: center top;
  display: block;
  transition: transform 6s ease;
}
.ab3-photo-wrap:hover img { transform: scale(1.04); }

/* Overlay discret */
.ab3-photo-overlay {
  position: absolute; inset: 0;
  background: linear-gradient(to top, rgba(61,78,56,.4) 0%, transparent 50%);
  z-index: 1; pointer-events:none;
}

/* Icônes hover */
.ab3-icons {
  position: absolute; inset: 0; z-index: 2;
  pointer-events: none;
}
.ab3-icon {
  position: absolute;
  display: flex; flex-direction: column; align-items: center; gap: 5px;
  opacity: 0;
  transform: scale(.4) translateY(8px);
  transition: opacity .35s ease, transform .45s cubic-bezier(.2,.8,.2,1);
}
.ab3-photo-wrap:hover .ab3-icon { opacity: 1; transform: scale(1) translateY(0); }
.ab3-photo-wrap:hover .ab3-icon:nth-child(1){transition-delay:.05s;}
.ab3-photo-wrap:hover .ab3-icon:nth-child(2){transition-delay:.12s;}
.ab3-photo-wrap:hover .ab3-icon:nth-child(3){transition-delay:.19s;}
.ab3-photo-wrap:hover .ab3-icon:nth-child(4){transition-delay:.26s;}
.ab3-photo-wrap:hover .ab3-icon:nth-child(5){transition-delay:.33s;}
.ab3-photo-wrap:hover .ab3-icon:nth-child(6){transition-delay:.40s;}
.ab3-icon-c {
  width: 44px; height: 44px; border-radius: 50%;
  background: rgba(10,14,10,.82);
  border: 1px solid rgba(201,213,196,.45);
  backdrop-filter: blur(6px);
  display: flex; align-items: center; justify-content: center;
  font-size: .9rem;
  animation: ab3Float 3.5s ease-in-out infinite;
  box-shadow: 0 4px 16px rgba(0,0,0,.3);
}
.ab3-icon-l {
  font-family:'Space Grotesk','Space Mono',monospace;
  font-size:12px; letter-spacing:.1em; text-transform:uppercase;
  color:#F4F2EC; white-space:nowrap;
  background: rgba(10,14,10,.72);
  border: 1px solid rgba(201,213,196,.3);
  backdrop-filter: blur(6px);
  padding: 4px 9px;
  border-radius: 20px;
}
@keyframes ab3Float{0%,100%{transform:translateY(0);}50%{transform:translateY(-6px);}}
.ab3-icon:nth-child(1){top:10%;left:12%;}
.ab3-icon:nth-child(2){top:10%;right:12%;}
.ab3-icon:nth-child(3){top:44%;left:5%;}
.ab3-icon:nth-child(4){top:44%;right:5%;}
.ab3-icon:nth-child(5){bottom:22%;left:12%;}
.ab3-icon:nth-child(6){bottom:22%;right:12%;}
.ab3-icon:nth-child(2) .ab3-icon-c{animation-delay:.5s;}
.ab3-icon:nth-child(3) .ab3-icon-c{animation-delay:1s;}
.ab3-icon:nth-child(4) .ab3-icon-c{animation-delay:.3s;}
.ab3-icon:nth-child(5) .ab3-icon-c{animation-delay:.8s;}
.ab3-icon:nth-child(6) .ab3-icon-c{animation-delay:1.3s;}

/* Colonne texte */
.ab3-text {
  display: flex; flex-direction: column; gap: 28px;
}
.ab3-title {
  font-family: 'Cormorant Garamond', serif;
  font-size: clamp(32px,3.8vw,52px);
  font-weight: 300; line-height: 1.0;
  color: #F4F1EA;
}
.ab3-title em { font-style: italic; color: #5C6D57; }
.ab3-divider { width:44px; height:2px; background:#D98B5F; border-radius:1px; }
.ab3-quote {
  font-family: 'Cormorant Garamond', serif;
  font-style: italic;
  font-size: clamp(1rem,1.5vw,1.25rem);
  line-height: 1.65;
  color: #C9D5C4;
  border-left: 2px solid #D98B5F;
  padding-left: 20px;
}
.ab3-body {
  font-family: 'Space Grotesk', sans-serif;
  font-size: .9rem; line-height: 1.9;
  color: #FFFFFF;
}
.ab3-body strong { color: #FFFFFF; font-weight: 500; }
.ab3-geo { display:flex; gap:8px; flex-wrap:wrap; }
.ab3-pill {
  font-family:'Space Grotesk','Space Mono',monospace;
  font-size:12px; letter-spacing:.12em; text-transform:uppercase;
  color:#C9D5C4; border:1px solid rgba(244,241,234,.18);
  padding:7px 16px; border-radius:30px;
  display:flex; align-items:center; gap:7px;
  transition:border-color .3s,color .3s;
}
.ab3-pill:hover{border-color:#D98B5F;color:#D98B5F;}

/* Stats — bande épurée, sans encadré coloré */
.ab3-stats {
  display: grid;
  grid-template-columns: repeat(3,1fr);
  max-width: 900px;
  width: 100%;
  margin: 10px auto 0;
  border-top: 1px solid rgba(61,78,56,.16);
  border-bottom: 1px solid rgba(61,78,56,.16);
}
.ab3-stat {
  background: transparent;
  padding: 44px 24px;
  text-align: center;
  display: flex; flex-direction: column; gap: 10px;
  border-left: 1px solid rgba(61,78,56,.16);
}
.ab3-stat:first-child { border-left: none; }
.ab3-stat-num {
  font-family: 'Cormorant Garamond', serif;
  font-size: clamp(40px,4.4vw,60px);
  font-weight: 300; line-height: 1;
  font-style: italic;
  color: var(--moss);
}
.ab3-stat-num span { color: var(--gold); }
.ab3-stat-label {
  font-family:'Space Grotesk','Space Mono',sans-serif;
  font-size:12px; letter-spacing:.14em; text-transform:uppercase;
  color:var(--dim); opacity:.85;
}
.ab3-stat-sub {
  font-family:'Cormorant Garamond',serif;
  font-style:italic; font-size:.92rem;
  color:var(--dimmer); opacity:.9;
}
/* Compteur animé */
.ab3-counter { display:inline-block; }

/* ── Qui est ORY : deux vues dans le même bloc ── */
.ab3-views { display:grid; }
.ab3-view {
  grid-area: 1 / 1;
  display:flex; flex-direction:column; gap:22px;
  opacity:0; visibility:hidden; pointer-events:none;
  transform: translateX(18px);
  transition: opacity .5s ease, transform .5s ease, visibility 0s linear .5s;
}
.ab3-view.is-on {
  opacity:1; visibility:visible; pointer-events:auto; transform:none;
  transition: opacity .5s ease .1s, transform .5s ease .1s, visibility 0s;
}
.ab3-view .ab3-body { margin:0; }
.ab3-fkicker {
  font-family:'Space Grotesk','Space Mono',sans-serif;
  font-size:12px; letter-spacing:.22em; text-transform:uppercase; color:#C9D5C4;
}
.ab3-fp {
  font-family:'Space Grotesk',sans-serif;
  font-size:.84rem; line-height:1.72; color:#FFFFFF; margin:0;
}
.ab3-fsign {
  font-family:'Cormorant Garamond',serif; font-size:1.5rem; font-weight:300; color:#F4F1EA;
}
.ab3-fsign em { color:#5C6D57; font-style:italic; }
.ab3-fmeta {
  display:flex; flex-direction:column; gap:6px;
  font-family:'Space Grotesk',sans-serif; font-size:.78rem; color:#C9D5C4;
}
.ab3-toggle {
  align-self:flex-start; cursor:pointer;
  display:inline-flex; align-items:center; gap:12px;
  background:transparent; color:#F4F1EA;
  border:1px solid rgba(244,241,234,.28); border-radius:30px;
  padding:11px 22px;
  font-family:'Space Grotesk','Space Mono',sans-serif;
  font-size:12px; letter-spacing:.16em; text-transform:uppercase;
  transition: border-color .3s, color .3s, background .3s;
}
.ab3-toggle:hover { border-color:#5C6D57; background:rgba(109,126,103,.14); }
.ab3-arrow { font-size:15px; letter-spacing:0; transition: transform .3s; }
.ab3-toggle:hover .ab3-arrow { transform: translateX(5px); }
.ab3-toggle--back:hover .ab3-arrow { transform: translateX(-5px); }
.ab3-toggle:focus-visible { outline:2px solid #C9D5C4; outline-offset:3px; }


/* Panneau détail — carte épurée, plus vendeuse qu'un aplat couleur */
.rpanel {
  background: var(--bg) !important;
  border: 1px solid rgba(61,78,56,.16) !important;
  border-left: 3px solid var(--gold) !important;
  border-radius: 4px !important;
  padding: 40px 42px !important;
  box-shadow: 0 18px 40px -20px rgba(61,78,56,.25) !important;
}
.rpanel h3,.rpanel .rp-title { font-family:"Cormorant Garamond",serif!important; font-size:1.8rem!important; font-style:italic!important; font-weight:300!important; color:#F7F5F1!important; margin:12px 0 8px!important; }
.rpanel .rp-hook { font-family:"Cormorant Garamond",serif!important; font-style:italic!important; color:#C9D5C4!important; font-size:1rem!important; margin-bottom:14px!important; }
.rpanel p,.rpanel .rp-body { font-size:.88rem!important; line-height:1.8!important; color:rgba(201,213,196,.8)!important; }


.lbody-deliverables { list-style:none; display:flex; flex-direction:column; gap:6px; }
.lbody-deliverables li { font-size:.85rem; color:var(--dim); padding-left:14px; position:relative; line-height:1.6; }
.lbody-deliverables li::before { content:"·"; position:absolute; left:0; color:var(--gold); }

/* Accordéon "Ce qui pousse" — une seule rubrique ouverte à la fois */
.lbody { max-height:0; overflow:hidden; transition:max-height .65s cubic-bezier(.2,.8,.2,1); }
.leaf.open .lbody { /* max-height défini dynamiquement en JS selon le contenu */ }


/* ══ v19 — un seul fond qui s'éclaircit, une seule couleur d'accent ══ */
:root{--acc:#D98B5F;--ink-rgb:244,241,234;--bgc:13,12,9;--panel:#1B1610;--cream:#F4F1EA;--ory:#202028;--btn:#A95432;
  --dim:#D9D2C3;--dimmer:#A89F8E;--vert:#D98B5F;--moss:#D9D2C3;}
html{background:#0D0C09;}
body,.page{background:transparent!important;}
#bgfield{position:fixed;inset:0;z-index:0;pointer-events:none;background:#0D0C09;}
section:not(#novea-hero),#smooth-wrapper{background:transparent!important;}
#figures,#challenges,#about,#values,#services,#process,#casestudies,#testimonials,#contact{border-top:0!important;background:transparent!important;}
#about::before,#contact::before,#services::before,#challenges::before{display:none!important;}
.hero-tee{font-family:'Cormorant Garamond',serif;font-size:clamp(1rem,1.5vw,1.3rem);line-height:1.5;color:#F4F1EA;opacity:.85;margin-top:14px;max-width:560px;}
.hero-tee em{font-style:italic;color:#E9D7C3;}

/* titres : une seule couleur d'accent */
.section-tag{color:var(--acc)!important;}
.section-tag::before{background:var(--acc)!important;}
#about h2 em,#challenges h2 em,#services h2 em,#process h2 em,#casestudies h2 em,#testimonials h2 em,.ct-head em,.ab3-title em,.ct-title em{color:var(--acc)!important;}
#challenges h2,#services h2,#process h2,#casestudies h2,#testimonials h2,.ct-title,.ct-head{color:var(--ink)!important;}
.cs-section-tag{color:var(--acc)!important;}

/* traits et révélations entre les blocs */
.sec-rule{position:absolute;top:0;left:5vw;right:5vw;height:1px;background:var(--border2);transform:scaleX(0);transform-origin:left;transition:transform 1.6s cubic-bezier(.16,1,.3,1);}
.sec-rule.in{transform:scaleX(1);}
.rv{opacity:0;}
.rv.in{opacity:1;animation:rvIn 1s cubic-bezier(.16,1,.3,1) backwards;}
@keyframes rvIn{from{opacity:0;transform:translateY(28px);}to{opacity:1;transform:none;}}

@keyframes rvInEven{from{opacity:0;transform:translateY(84px);}to{opacity:1;transform:translateY(56px);}}
.ch-b:nth-child(even).rv.in{animation-name:rvInEven;}
@media(max-width:640px){.ch-b:nth-child(even).rv.in{animation-name:rvIn;}}
/* aube : le fond bascule du sombre au clair */
.dawn{position:relative;height:112vh;}
.dawn-in{position:sticky;top:0;height:100vh;display:flex;align-items:center;justify-content:center;overflow:hidden;}
.dawn-glow{position:absolute;left:50%;top:50%;width:70vmin;height:70vmin;margin:-35vmin 0 0 -35vmin;border-radius:50%;background:radial-gradient(circle,rgba(var(--ink-rgb),.22),rgba(var(--ink-rgb),0) 68%);transform:scale(calc(.25 + var(--dp,0)*1.6));opacity:calc(var(--dp,0)*1.2);}
.dawn-line{position:absolute;left:50%;top:0;bottom:0;width:1px;margin-left:-.5px;background:rgba(var(--ink-rgb),.14);}
.dawn-line i{position:absolute;left:0;top:0;width:100%;height:calc(var(--dp,0)*100%);background:var(--acc);}

/* ── Chiffres ── */
#figures{position:relative;min-height:auto;padding:clamp(80px,13vh,150px) 5vw clamp(70px,11vh,120px);}
#figures::before{content:"";display:block!important;position:absolute;left:0;right:0;top:0;height:200px;background:linear-gradient(180deg,#1C1F1D,rgba(28,31,29,0));pointer-events:none;}
.fg-grid{position:relative;max-width:1280px;margin:0 auto;display:grid;grid-template-columns:repeat(3,1fr);}
.fg-item{position:relative;padding:0 clamp(18px,3vw,48px);}
.fg-item+.fg-item{border-left:1px solid var(--border2);}
.fg-item:first-child{padding-left:0;}
.fg-num{display:flex;align-items:baseline;font-family:'Cormorant Garamond',serif;font-weight:300;font-size:clamp(5.4rem,12.5vw,11.5rem);line-height:.86;letter-spacing:-.035em;color:var(--ink);font-variant-numeric:tabular-nums lining-nums;white-space:nowrap;}
.fg-plus{font-style:italic;font-weight:300;color:var(--acc);margin-left:.04em;font-size:.6em;transform:translateY(-.18em);}
.fg-bar{display:block;height:1px;margin:clamp(18px,2.6vw,30px) 0 18px;background:var(--border2);position:relative;overflow:hidden;}
.fg-bar i{position:absolute;inset:0;background:var(--acc);transform:scaleX(0);transform-origin:left;transition:transform 2.4s cubic-bezier(.16,1,.3,1);}
.fg-item.on .fg-bar i{transform:scaleX(1);}
.fg-label{font-family:'Space Grotesk','Space Mono',sans-serif;font-size:clamp(11px,1vw,13px);font-weight:500;letter-spacing:.2em;text-transform:uppercase;color:var(--ink);margin-bottom:8px;}
.fg-sub{font-family:'Cormorant Garamond',serif;font-style:italic;font-size:clamp(1.05rem,1.5vw,1.4rem);color:var(--dim);}
.fg-num,.fg-label,.fg-sub{opacity:0;transform:translateY(22px);transition:opacity .9s ease,transform .9s cubic-bezier(.16,1,.3,1);}
.fg-item.on .fg-num,.fg-item.on .fg-label,.fg-item.on .fg-sub{opacity:1;transform:none;}
.fg-item.on .fg-label{transition-delay:.25s}.fg-item.on .fg-sub{transition-delay:.4s}

/* ── Défis : cartes au trait, réponse ORY qui monte ── */
#challenges{min-height:auto;padding:clamp(80px,12vh,140px) 5vw clamp(80px,12vh,130px);overflow:hidden;}
.ch-head{max-width:1250px;margin:0 auto clamp(40px,6vh,70px);display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,.75fr);gap:clamp(30px,6vw,90px);align-items:end;}
#challenges h2{font-family:'Cormorant Garamond',serif;font-weight:300;font-size:clamp(2.4rem,5.4vw,4.8rem);line-height:.98;margin:0;letter-spacing:-.01em;}
.ch-sub{font-size:.95rem;line-height:1.85;color:var(--dim);margin:0;padding-bottom:6px;}
.ch-collage{max-width:1250px;margin:0 auto;display:grid;grid-template-columns:1fr 1fr;gap:clamp(14px,1.8vw,24px) clamp(14px,2.4vw,34px);padding-bottom:56px;}
.ch-b:nth-child(even){transform:translateY(56px);}
.ch-b{position:relative;overflow:hidden;cursor:pointer;outline:none;min-height:230px;padding:28px 30px 24px;display:flex;flex-direction:column;justify-content:space-between;gap:18px;border:1px solid var(--border2);background:rgba(var(--ink-rgb),.025);color:var(--ink);transition:border-color .4s,background .4s;}
.ch-n{font-family:'Space Mono',monospace;font-size:12px;letter-spacing:.2em;color:var(--acc);}
.ch-q{font-family:'Cormorant Garamond',serif;font-weight:400;font-size:clamp(1.5rem,2.3vw,2.2rem);line-height:1.12;margin:0;letter-spacing:-.005em;}
.ch-more{align-self:flex-start;display:inline-flex;align-items:center;gap:10px;font-family:'Space Grotesk','Space Mono',sans-serif;font-size:12px;letter-spacing:.18em;text-transform:uppercase;color:var(--dim);}
.ch-more::after{content:"+";display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;border-radius:50%;border:1px solid currentColor;font-size:15px;letter-spacing:0;transition:transform .4s;}
.ch-r{position:absolute;inset:0;background:linear-gradient(rgba(var(--ink-rgb),.09),rgba(var(--ink-rgb),.09)),rgb(var(--bgc));color:var(--ink);padding:28px 30px 24px;display:flex;flex-direction:column;gap:12px;transform:translateY(102%);transition:transform .6s cubic-bezier(.7,0,.2,1);border-top:2px solid var(--acc);}
.ch-lab{font-family:'Space Mono',monospace;font-size:12px;letter-spacing:.24em;color:var(--acc);}
.ch-a{font-size:.9rem;line-height:1.65;color:var(--ink);margin:0;}
.ch-link{margin-top:auto;align-self:flex-start;font-family:'Space Grotesk','Space Mono',sans-serif;font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--ink);text-decoration:none;border-bottom:1px solid var(--acc);padding-bottom:3px;}
.ch-link:hover{color:var(--acc);}
.ch-b.on .ch-r,.ch-b:focus-visible .ch-r{transform:none;}
.ch-b.on .ch-more::after{transform:rotate(45deg);}
@media (hover:hover){.ch-b:hover .ch-r{transform:none;}.ch-b:hover{border-color:var(--acc);}}
.ch-b:focus-visible{outline:2px solid var(--acc);outline-offset:4px;}
.ch-cta-wrap{max-width:1250px;margin:clamp(34px,5vh,56px) auto 0;display:flex;justify-content:flex-end;}
.ch-cta{display:inline-block;font-family:'Space Grotesk','Space Mono',sans-serif;font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--ink);text-decoration:none;border:1px solid var(--border2);border-radius:30px;padding:14px 26px;transition:background .3s,border-color .3s,color .3s;}
.ch-cta:hover{background:var(--acc);border-color:var(--acc);color:#14110C;}

/* ── À propos ── */
#about .ab3-label{font-family:'Cormorant Garamond',serif!important;font-weight:300!important;font-style:italic;font-size:clamp(3.6rem,10vw,8.5rem)!important;line-height:.95;letter-spacing:-.02em!important;text-transform:none!important;color:var(--ink)!important;margin-bottom:clamp(30px,6vh,64px);justify-content:center;}
#about .ab3-label::before,#about .ab3-label::after{display:none!important;}
.ab3-text{min-width:0;}
.ab3-title,.ab3-body,.ab3-fp,.ab3-fkicker{color:var(--ink)!important;}
.ab3-body,.ab3-fp{color:var(--dim)!important;}
.ab3-photo-wrap{border-radius:2px;box-shadow:16px 16px 0 0 rgba(217,139,95,.28);}
.ab3-tabs{display:inline-flex;gap:4px;padding:4px;border:1px solid var(--border2);border-radius:40px;margin-bottom:28px;background:transparent;align-self:flex-start;}
.ab3-tab{cursor:pointer;background:transparent;color:var(--dim);border:none;border-radius:30px;padding:10px 20px;font-family:'Space Grotesk','Space Mono',sans-serif;font-size:12px;letter-spacing:.14em;text-transform:uppercase;transition:all .3s;}
.ab3-tab:hover{color:var(--ink);}
.ab3-tab.is-on{background:var(--cream);color:#1C1A15;}
.ab3-tab:focus-visible{outline:2px solid var(--acc);outline-offset:2px;}
.ab3-pill{border-color:var(--border2)!important;color:var(--dim)!important;}
.ab3-toggle{border-color:var(--border2)!important;color:var(--ink)!important;}
.ab3-img--b{position:absolute;inset:0;opacity:0;object-position:center 12%;transform:scale(1.28);transition:opacity .7s ease,transform 6s ease;}
.ab3-center.is-founder .ab3-img--b{opacity:1;}
.ab3-center.is-founder .ab3-img--a{opacity:0;}
.ab3-img--a{transition:opacity .7s ease,transform 6s ease;}
.ab3-photo-wrap:hover .ab3-img--b{transform:scale(1.34);}
.ab3-icon-c svg{width:20px;height:20px;stroke:currentColor;fill:none;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round;}

/* ── Valeurs ── */
#values{position:relative;min-height:auto;padding:clamp(40px,8vh,90px) 5vw clamp(80px,12vh,130px);}
#values .ab3-values{width:100%;max-width:1250px;margin:0 auto;}
#values .ab3-vhead{display:flex;align-items:center;gap:22px;margin-bottom:clamp(28px,5vh,52px);}
#values .ab3-vkick{font-family:'Cormorant Garamond',serif;font-style:italic;font-size:clamp(2.2rem,4.6vw,4rem);font-weight:300;color:var(--ink);line-height:1;}
#values .ab3-vline{flex:1;height:1px;background:var(--border2);}
#values .ab3-vgrid{display:grid;grid-template-columns:repeat(5,1fr);gap:16px;}
#values .ab3-val{position:relative;border:1px solid var(--border2);border-radius:0;padding:26px 22px 28px;background:rgba(var(--ink-rgb),.03);transition:transform .35s,background .35s,border-color .35s;overflow:hidden;}
#values .ab3-val:hover{transform:translateY(-6px);background:var(--cream);border-color:var(--cream);}
#values .ab3-val-n{position:absolute;top:14px;right:16px;font-family:'Cormorant Garamond',serif;font-size:2.6rem;font-weight:300;line-height:1;color:rgba(var(--ink-rgb),.16);transition:color .35s;}
#values .ab3-val:hover .ab3-val-n{color:rgba(28,26,21,.14);}
#values .ab3-val-ic{display:flex;align-items:center;justify-content:center;width:46px;height:46px;border-radius:50%;background:transparent;border:1px solid var(--acc);color:var(--acc);margin-bottom:46px;}
#values .ab3-val-ic svg{width:23px;height:23px;}
#values .ab3-val-t{font-family:'Cormorant Garamond',serif;font-size:1.6rem;font-weight:400;color:var(--ink);margin-bottom:10px;line-height:1.08;transition:color .35s;}
#values .ab3-val-d{font-size:.84rem;line-height:1.65;color:var(--dim);margin:0;transition:color .35s;}
#values .ab3-val:hover .ab3-val-t{color:#1C1A15;}
#values .ab3-val:hover .ab3-val-d{color:#4A4338;}

/* ── Services ── */
#services{position:relative;min-height:auto;padding:clamp(80px,12vh,140px) 5vw clamp(80px,12vh,130px);}
#services>*{position:relative;z-index:1;}
.sv-sub{max-width:660px;font-size:.95rem;line-height:1.8;color:var(--dim);margin:-30px 0 44px;}
.sv-list{border-top:1px solid var(--border2);max-width:1250px;}
.sv-row{all:unset;box-sizing:border-box;width:100%;cursor:pointer;display:grid;grid-template-columns:70px minmax(0,1fr) auto;align-items:center;gap:28px;padding:30px 24px;border-bottom:1px solid var(--border2);position:relative;
  background:linear-gradient(90deg,#F4F1EA,#F4F1EA) no-repeat left/0% 100%;transition:background-size .55s cubic-bezier(.2,.8,.2,1),padding .35s;}
.sv-row:hover,.sv-row.active{background-size:100% 100%;padding-left:34px;}
.sv-row:focus-visible{outline:2px solid var(--acc);outline-offset:-2px;}
.sv-n{font-family:'Cormorant Garamond',serif;font-size:2.2rem;font-weight:300;color:var(--acc);line-height:1;transition:color .3s;}
.sv-main{display:flex;flex-direction:column;gap:8px;min-width:0;}
.sv-t{font-family:'Cormorant Garamond',serif;font-size:clamp(1.6rem,2.8vw,2.4rem);font-weight:300;line-height:1.05;color:var(--ink);transition:color .3s;}
.sv-d{font-size:.9rem;line-height:1.6;color:var(--dim);max-width:620px;transition:color .3s;}
.sv-side{display:flex;align-items:center;gap:20px;flex-shrink:0;}
.sv-min{font-family:'Space Mono',monospace;font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--acc);white-space:nowrap;transition:color .3s;}
.sv-plus{width:38px;height:38px;border-radius:50%;border:1px solid var(--border2);display:flex;align-items:center;justify-content:center;font-size:20px;color:var(--ink);transition:transform .4s,background .3s,color .3s,border-color .3s;}
.sv-row:hover .sv-t,.sv-row.active .sv-t{color:#1C1A15;}
.sv-row:hover .sv-d,.sv-row.active .sv-d{color:#4A4338;}
.sv-row:hover .sv-n,.sv-row.active .sv-n,.sv-row:hover .sv-min,.sv-row.active .sv-min{color:#A95432;}
.sv-row:hover .sv-plus,.sv-row.active .sv-plus{background:#1C1A15;border-color:#1C1A15;color:#fff;}
.sv-row.active .sv-plus{transform:rotate(45deg);}
.sv-detail{display:none;scroll-margin-top:90px;grid-template-columns:1.1fr 1fr 1fr;gap:20px;align-items:stretch;padding:34px 24px 38px;border-bottom:1px solid var(--border2);background:#F4F1EA;color:#1C1A15;max-width:1250px;}
.sv-detail.open{display:grid;animation:svIn .5s ease both;}
@keyframes svIn{from{opacity:0;transform:translateY(-10px);}to{opacity:1;transform:none;}}
.sv-d-left{padding:4px 10px 4px 0;display:flex;flex-direction:column;}
.sv-d-t{font-family:'Cormorant Garamond',serif;font-weight:400;font-size:clamp(1.8rem,3vw,2.6rem);line-height:1.05;color:#1C1A15;margin:0 0 14px;}
.sv-d-p{font-size:.92rem;line-height:1.8;color:#3E382E;margin:0 0 22px;}
.sv-d-btns{display:flex;gap:14px;align-items:center;flex-wrap:wrap;margin-top:auto;}
.sv-book{font-family:'Space Grotesk','Space Mono',sans-serif;font-size:12px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:#fff;background:var(--btn);border-radius:30px;padding:14px 24px;text-decoration:none;transition:transform .3s,background .3s;}
.sv-book:hover{background:#1C1A15;transform:translateY(-2px);}
.sv-close{cursor:pointer;background:transparent;border:none;color:#6A6254;font-family:'Space Grotesk','Space Mono',sans-serif;font-size:12px;letter-spacing:.14em;text-transform:uppercase;padding:10px 4px;}
.sv-close:hover{color:#1C1A15;}
.sv-d-card{border-radius:0;padding:26px 24px;background:var(--ory);color:#fff;}
.sv-d-card--get{background:var(--btn);}
.sv-d-card h4{font-family:'Cormorant Garamond',serif;font-weight:400;font-size:1.45rem;color:#fff;margin:0 0 16px;}
.sv-d-card ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:11px;}
.sv-d-card li{position:relative;padding-left:22px;font-size:.86rem;line-height:1.55;color:#fff;}
.sv-d-card li::before{content:'✓';position:absolute;left:0;color:#E9B08F;}
.sv-d-card--get li::before{color:#fff;}

/* ── Méthode : escalier ── */
#process{min-height:auto;padding:clamp(60px,10vh,120px) 5vw clamp(80px,12vh,130px);}
.proc-intro{max-width:1250px;margin:0 auto;}
.pr-steps{position:relative;max-width:1180px;margin:clamp(40px,7vh,80px) auto 0;padding:10px 0;--fill:0;}
.pr-line{position:absolute;left:50%;top:0;bottom:0;width:1px;margin-left:-.5px;background:var(--border2);}
.pr-line i{position:absolute;left:-.5px;top:0;width:2px;height:calc(var(--fill)*100%);background:var(--acc);}
.pr-step{position:relative;display:grid;grid-template-columns:minmax(0,1fr) 72px minmax(0,1fr);align-items:center;padding:clamp(18px,3.4vh,34px) 0;opacity:0;transform:translateY(40px);transition:opacity .9s ease,transform .9s cubic-bezier(.16,1,.3,1);}
.pr-step.in{opacity:1;transform:none;}
.pr-card{grid-column:3;grid-row:1;position:relative;padding:30px 32px 32px;background:rgba(var(--ink-rgb),.035);border:1px solid var(--border2);border-radius:0;transition:border-color .5s,background .5s;}
.pr-num{grid-column:1;grid-row:1;justify-self:end;padding-right:12px;font-family:'Cormorant Garamond',serif;font-weight:300;font-size:clamp(6rem,13vw,11rem);line-height:.8;color:transparent;-webkit-text-stroke:1px var(--border2);transition:-webkit-text-stroke-color .6s;user-select:none;}
.pr-step:nth-of-type(even) .pr-card{grid-column:1;}
.pr-step:nth-of-type(even) .pr-num{grid-column:3;justify-self:start;padding:0 0 0 12px;}
.pr-node{grid-column:2;grid-row:1;justify-self:center;width:15px;height:15px;border-radius:50%;background:rgb(var(--bgc));border:1px solid var(--border2);z-index:2;transition:background .5s,border-color .5s,box-shadow .5s;}
.pr-step.lit .pr-node{background:var(--acc);border-color:var(--acc);box-shadow:0 0 0 6px rgba(217,139,95,.2);}
.pr-step.lit .pr-card{border-color:var(--acc);}
.pr-step.lit .pr-num{-webkit-text-stroke-color:var(--acc);}
.pr-n-sm{display:none;font-family:'Space Mono',monospace;font-size:12px;letter-spacing:.2em;color:var(--acc);margin-bottom:12px;}
.pr-step .rtitle{font-family:'Cormorant Garamond',serif;font-size:clamp(2.2rem,4vw,3.5rem);font-weight:300;line-height:1;margin:0 0 10px;color:var(--ink);}
.pr-step .rtitle em{font-style:italic;color:var(--ink);}
.pr-step .rsubtitle{font-family:'Cormorant Garamond',serif;font-style:italic;font-size:clamp(1.1rem,1.6vw,1.4rem);color:var(--acc);margin-bottom:14px;line-height:1.3;}
.pr-step .rdesc{font-size:.92rem;line-height:1.75;color:var(--dim);}

/* ── Études de cas, avis, contact : suivent le fond ── */
.branch-content{background:rgba(var(--ink-rgb),.045)!important;border-top-color:var(--border2)!important;}
.branch-item{border-bottom-color:var(--border2)!important;}
.branch-item:hover{background:rgba(var(--ink-rgb),.03)!important;}
.branch-item:hover .branch-name,.branch-item.open .branch-name{color:var(--acc)!important;}
.branch-name{color:var(--ink)!important;}
.branch-desc{color:var(--dim)!important;}
.branch-tag-item{color:var(--dim)!important;border-color:var(--border2)!important;}
.branch-ph{background:repeating-linear-gradient(135deg,rgba(var(--ink-rgb),.05) 0 12px,rgba(var(--ink-rgb),.02) 12px 24px)!important;}
.testi-card{background:rgba(var(--ink-rgb),.035)!important;border-color:var(--border2)!important;}
.testi-card:hover{background:rgba(var(--ink-rgb),.06)!important;}
#testimonials h2{color:var(--ink)!important;}
.ct-email{color:var(--ink)!important;border-color:var(--border2)!important;}
.ct-email:hover{color:var(--acc)!important;border-color:var(--acc)!important;}
footer span{color:var(--dimmer);}

nav{background:rgba(var(--bgc),.86)!important;border-bottom:1px solid var(--border);}
nav ul li a{color:var(--dim)!important;}
nav ul li a:hover{color:var(--ink)!important;}
nav .nav-cta a,nav ul li.nav-cta a{color:var(--ink)!important;border-color:var(--border2)!important;}
#lang-toggle{background:rgb(var(--bgc))!important;color:var(--ink)!important;border-color:var(--border2)!important;box-shadow:0 4px 20px rgba(0,0,0,.25)!important;}
.branch-icon{filter:grayscale(1) brightness(1.1);opacity:.7;}
.testi-card div[style*="margin-left:auto"]{color:var(--acc)!important;}
.testi-card::before{color:rgba(var(--ink-rgb),.08)!important;}
/* filtres des cas */
.cs-filters{display:flex;gap:10px;flex-wrap:wrap;margin:-34px 0 36px;}
.cs-f{cursor:pointer;background:transparent;color:var(--dim);border:1px solid var(--border2);border-radius:30px;padding:10px 20px;font-family:'Space Grotesk','Space Mono',sans-serif;font-size:12px;letter-spacing:.14em;text-transform:uppercase;transition:all .3s;}
.cs-f:hover{border-color:var(--acc);color:var(--ink);}
.cs-f.is-on{background:var(--ink);border-color:var(--ink);color:rgb(var(--bgc));}

/* ── Anneau de progression ── */
.ring-nav{position:fixed;left:24px;bottom:24px;z-index:480;display:flex;align-items:center;gap:12px;opacity:0;pointer-events:none;transform:translateY(12px);transition:opacity .5s,transform .5s;}
.ring-nav.show{opacity:1;pointer-events:auto;transform:none;}
.rn-btn{all:unset;box-sizing:border-box;cursor:pointer;position:relative;width:56px;height:56px;border-radius:50%;background:rgb(var(--bgc));box-shadow:0 6px 22px rgba(0,0,0,.28);display:flex;align-items:center;justify-content:center;}
.rn-btn:focus-visible{outline:2px solid var(--acc);outline-offset:3px;}
.rn-svg{position:absolute;inset:0;width:100%;height:100%;transform:rotate(-90deg);}
.rn-svg circle{fill:none;stroke-width:2.5;}
.rn-bg{stroke:var(--border2);}
.rn-fg{stroke:var(--acc);stroke-linecap:round;stroke-dasharray:138.2;stroke-dashoffset:138.2;transition:stroke-dashoffset .25s linear;}
.rn-n{font-family:'Space Mono',monospace;font-size:12px;letter-spacing:.06em;color:var(--ink);}
.rn-cur{font-family:'Space Grotesk','Space Mono',sans-serif;font-size:12px;letter-spacing:.18em;text-transform:uppercase;color:var(--ink);background:rgb(var(--bgc));padding:8px 14px;border-radius:30px;white-space:nowrap;}
.rn-list{position:absolute;left:0;bottom:70px;list-style:none;margin:0;padding:10px;background:rgb(var(--bgc));border:1px solid var(--border2);border-radius:4px;display:none;min-width:190px;box-shadow:0 14px 40px rgba(0,0,0,.3);}
.ring-nav.open .rn-list{display:block;}
.rn-list a{display:flex;gap:12px;align-items:baseline;padding:8px 12px;font-family:'Space Grotesk','Space Mono',sans-serif;font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--dim);text-decoration:none;}
.rn-list a b{font-family:'Space Mono',monospace;font-weight:400;color:var(--acc);font-size:12px;}
.rn-list a:hover,.rn-list a.on{background:rgba(var(--ink-rgb),.08);color:var(--ink);}
body.light #tree-canvas{opacity:0!important;}

@media(max-width:1100px){
  #values .ab3-vgrid{grid-template-columns:repeat(3,1fr);}
  .sv-detail.open{grid-template-columns:1fr;}
}
@media(max-width:900px){
  .ch-head{grid-template-columns:1fr;gap:20px;}
  .ch-cta-wrap{justify-content:flex-start;}
}
@media(max-width:760px){
  .pr-line{left:18px;margin-left:0;}
  .pr-step{grid-template-columns:38px minmax(0,1fr);padding:14px 0;}
  .pr-node{grid-column:1;justify-self:start;margin-left:11px;}
  .pr-card,.pr-step:nth-of-type(even) .pr-card{grid-column:2;padding:22px 20px 24px;}
  .pr-num{display:none;}
  .pr-n-sm{display:block;}
  .ring-nav{left:14px;bottom:14px;}
  .rn-btn{width:48px;height:48px;}
  .rn-cur{display:none;}
}
@media(max-width:640px){
  #figures{padding:70px 6vw 56px;}
  .fg-grid{grid-template-columns:1fr;}
  .fg-item,.fg-item:first-child{padding:26px 0;display:grid;grid-template-columns:auto 1fr;column-gap:22px;align-items:end;}
  .fg-item+.fg-item{border-left:0;border-top:1px solid var(--border2);}
  .fg-item:first-child{padding-top:0;}
  .fg-num{font-size:clamp(4.6rem,24vw,6.4rem);grid-row:1/span 3;}
  .fg-bar{display:none;}
  .fg-label{margin-bottom:4px;align-self:end;}
  .fg-sub{align-self:start;}
  .ch-collage{grid-template-columns:1fr;padding-bottom:0;}
  .ch-b:nth-child(even){transform:none;}
  .ch-b{min-height:215px;padding:24px 22px 20px;}
  .ch-r{padding:24px 22px 20px;}
  .ab3-photo-wrap{max-height:420px;box-shadow:10px 10px 0 0 rgba(217,139,95,.28);}
  .ab3-tabs{display:flex;width:100%;}
  .ab3-tab{flex:1;padding:10px 8px;font-size:12px;letter-spacing:.08em;}
  #values .ab3-vgrid{grid-template-columns:1fr;gap:14px;}
  #values .ab3-val-ic{margin-bottom:26px;}
  .sv-sub{margin-top:-24px;}
  .sv-row{grid-template-columns:44px minmax(0,1fr) 34px;gap:14px;padding:24px 8px;}
  .sv-row:hover,.sv-row.active{padding-left:14px;}
  .sv-side{flex-direction:column-reverse;align-items:flex-end;gap:10px;}
  .sv-side .sv-min{display:none;}
  .sv-plus{width:32px;height:32px;font-size:18px;}
  .sv-n{font-size:1.6rem;}
  .sv-detail{padding:26px 14px 30px;}
  .cs-filters{margin-top:-26px;gap:8px;}
  .cs-f{padding:9px 14px;font-size:12px;}
}
@media(max-width:640px){
  nav ul{max-width:none !important;padding-right:0 !important;gap:0 !important;overflow:visible !important;flex-shrink:1 !important;}
  nav ul li a{font-size:12px !important;padding:6px 3px !important;letter-spacing:0 !important;}
  nav{padding-left:14px !important;padding-right:10px !important;gap:6px !important;}
  nav .brand img{height:24px !important;}
}
@media (prefers-reduced-motion:reduce){
  .fg-num,.fg-label,.fg-sub,.pr-step{opacity:1!important;transform:none!important;transition:none!important;}
  .fg-bar i,.sec-rule{transform:scaleX(1)!important;transition:none!important;}
  .rv{opacity:1!important;animation:none!important;}
}
/* ══ v21 — ma DA : sombre chaud, cuivre, racine, grain ; fond qui s'éclaircit jusqu'au blanc ══ */
.fg-num{font-size:clamp(3.4rem,7vw,6.2rem)!important;letter-spacing:-.03em;}
.fg-plus{font-size:.55em;}
.fg-label{font-size:clamp(10px,.85vw,12px);}
.fg-sub{font-size:clamp(.95rem,1.2vw,1.15rem);}
#figures{padding:clamp(60px,10vh,110px) 5vw clamp(54px,9vh,100px);}
.fg-bar{margin:clamp(14px,2vw,22px) 0 14px;}

#challenges h2{font-size:clamp(2rem,3.9vw,3.3rem)!important;}
.ch-collage{grid-template-columns:repeat(4,1fr)!important;gap:16px!important;padding-bottom:0!important;}
.ch-b:nth-child(even){transform:none!important;}
.ch-b{min-height:215px!important;padding:20px 20px 18px!important;gap:12px!important;}
.ch-q{font-size:clamp(1.15rem,1.55vw,1.4rem)!important;line-height:1.18!important;}
.ch-n{font-size:12px;}
.ch-more{font-size:12px;}
.ch-more::after{width:22px;height:22px;font-size:13px;}
.ch-r{padding:20px 20px 18px!important;gap:9px!important;}
.ch-a{font-size:.8rem!important;line-height:1.55!important;}
.ch-link{font-size:12px!important;}
.ch-b:nth-child(even).rv.in{animation-name:rvIn!important;}
@media(max-width:1100px){.ch-collage{grid-template-columns:repeat(2,1fr)!important;}}
@media(max-width:640px){.ch-collage{grid-template-columns:1fr!important;}.ch-b{min-height:190px!important;}.ch-q{font-size:1.35rem!important;}}

/* valeurs : cases de couleur permanentes (une seule teinte, en dégradé) */
#values .ab3-val{border:0!important;color:#fff;}
#values .ab3-val:nth-child(1){background:#A8602F!important;}
#values .ab3-val:nth-child(2){background:#96542A!important;}
#values .ab3-val:nth-child(3){background:#854824!important;}
#values .ab3-val:nth-child(4){background:#743E20!important;}
#values .ab3-val:nth-child(5){background:#63341B!important;}
#values .ab3-val:hover{transform:translateY(-6px);}
#values .ab3-val-n{color:rgba(255,255,255,.22)!important;}
#values .ab3-val:hover .ab3-val-n{color:rgba(255,255,255,.32)!important;}
#values .ab3-val-ic{border-color:rgba(255,255,255,.7)!important;color:#fff!important;}
#values .ab3-val-t,#values .ab3-val:hover .ab3-val-t{color:#fff!important;}
#values .ab3-val-d,#values .ab3-val:hover .ab3-val-d{color:rgba(255,255,255,.9)!important;}

/* services : « Pour qui » sans couleur */
.sv-d-card:not(.sv-d-card--get){background:transparent!important;color:#1C1A15!important;border:1px solid rgba(28,26,21,.22);}
.sv-d-card:not(.sv-d-card--get) h4{color:#1C1A15!important;}
.sv-d-card:not(.sv-d-card--get) li{color:#2E2A22!important;}
.sv-d-card:not(.sv-d-card--get) li::before{color:#A8602F!important;}

.polaroid-caption{display:none!important;}
/* ══ v22 — charte ORY : #F7F5F1 · #5C6D57 · #252728 · #CCD4C5 · #E07A5F ══ */
:root{--acc:#E07A5F;--btn:#5C6D57;--cream:#F7F5F1;--ory:#252728;--sage:#5C6D57;--sage-l:#CCD4C5;--coral:#E07A5F;}

/* chiffres : plus compacts, centrés */
.fg-grid{max-width:900px!important;}
.fg-item{padding:0 clamp(14px,2.2vw,32px)!important;}
.fg-num{font-size:clamp(3rem,5.6vw,5rem)!important;}
.fg-label{font-size:12px!important;letter-spacing:.18em!important;}
.fg-sub{font-size:1rem!important;}
#figures{padding:clamp(54px,8vh,90px) 5vw clamp(50px,8vh,84px)!important;}
@media(max-width:640px){.fg-num{font-size:clamp(3.4rem,17vw,4.6rem)!important;line-height:1!important;}.fg-item,.fg-item:first-child{padding:20px 0!important;}.ch-cta{font-size:12px;padding:12px 18px;}}

/* à propos : titre plus discret */
#about .ab3-label{font-size:clamp(2.2rem,4.6vw,3.8rem)!important;margin-bottom:clamp(24px,4vh,44px)!important;}

/* défis : titre à gauche, petites cartes à droite */
#challenges{padding:clamp(70px,11vh,120px) 5vw clamp(70px,11vh,110px)!important;}
.ch-wrap{max-width:1150px;margin:0 auto;display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.25fr);gap:clamp(30px,5vw,70px);align-items:start;}
.ch-left{position:sticky;top:110px;}
#challenges h2{font-size:clamp(1.9rem,3.2vw,2.8rem)!important;line-height:1.05!important;margin:0 0 20px!important;}
.ch-sub{margin:0 0 26px!important;font-size:.92rem!important;}
.ch-collage{display:grid!important;grid-template-columns:1fr 1fr!important;gap:12px!important;padding:0!important;margin:0!important;max-width:none!important;align-items:start;}
.ch-b{min-height:0!important;padding:0!important;display:block!important;border-radius:10px;overflow:hidden;background:rgba(var(--ink-rgb),.05)!important;border:1px solid var(--border2)!important;transform:none!important;box-shadow:none;}
.ch-b:nth-child(even){transform:none!important;}
.ch-top{display:flex;align-items:flex-start;gap:12px;padding:16px 16px 16px;}
.ch-x{flex:0 0 auto;width:22px;height:22px;border-radius:50%;border:1.5px solid var(--acc);color:var(--acc);display:flex;align-items:center;justify-content:center;font-size:12px;line-height:1;margin-top:1px;}
.ch-q{flex:1;font-size:.98rem!important;line-height:1.3!important;font-weight:500;letter-spacing:0!important;font-family:'Inter',sans-serif!important;}
.ch-plus{flex:0 0 auto;width:20px;height:20px;border-radius:50%;border:1px solid var(--border2);display:flex;align-items:center;justify-content:center;font-size:13px;line-height:1;color:var(--dim);transition:transform .35s,background .3s;}
.ch-b.on .ch-plus{transform:rotate(45deg);background:var(--acc);border-color:var(--acc);color:#fff;}
.ch-r{position:static!important;inset:auto!important;transform:none!important;border-top:0!important;padding:0 16px!important;background:transparent!important;max-height:0;overflow:hidden;opacity:0;transition:max-height .5s ease,opacity .4s ease,padding .4s;display:flex;flex-direction:column;gap:8px!important;}
.ch-b.on .ch-r{max-height:260px;opacity:1;padding:0 16px 16px!important;}
.ch-b.on{border-color:var(--acc)!important;}
.ch-lab{display:none;}
.ch-a{font-size:.82rem!important;line-height:1.55!important;color:var(--dim)!important;padding-top:12px;border-top:1px solid var(--border2);}
.ch-link{margin-top:2px!important;font-size:12px!important;}
@media (hover:hover){.ch-b:hover{border-color:var(--acc)!important;}.ch-b:hover .ch-r{transform:none!important;}}
.ch-cta-wrap{display:none!important;}
.ch-cta{display:inline-block;}
@media(max-width:900px){.ch-wrap{grid-template-columns:1fr;gap:28px;}.ch-left{position:static;}}
@media(max-width:560px){.ch-collage{grid-template-columns:1fr!important;}}

/* valeurs : cases aux couleurs de la charte */
#values .ab3-val:nth-child(1){background:#5C6D57!important;color:#fff;}
#values .ab3-val:nth-child(2){background:#252728!important;}
#values .ab3-val:nth-child(3){background:#CCD4C5!important;}
#values .ab3-val:nth-child(4){background:#E07A5F!important;}
#values .ab3-val:nth-child(5){background:#F7F5F1!important;}
#values .ab3-val:nth-child(3) .ab3-val-t,#values .ab3-val:nth-child(5) .ab3-val-t,#values .ab3-val:nth-child(3):hover .ab3-val-t,#values .ab3-val:nth-child(5):hover .ab3-val-t{color:#252728!important;}
#values .ab3-val:nth-child(3) .ab3-val-d,#values .ab3-val:nth-child(5) .ab3-val-d,#values .ab3-val:nth-child(3):hover .ab3-val-d,#values .ab3-val:nth-child(5):hover .ab3-val-d{color:#3b3f40!important;}
#values .ab3-val:nth-child(3) .ab3-val-ic,#values .ab3-val:nth-child(5) .ab3-val-ic{border-color:#5C6D57!important;color:#5C6D57!important;}
#values .ab3-val:nth-child(3) .ab3-val-n,#values .ab3-val:nth-child(5) .ab3-val-n{color:rgba(37,39,40,.16)!important;}
#values .ab3-val:nth-child(4) .ab3-val-t,#values .ab3-val:nth-child(4) .ab3-val-d{color:#fff!important;}

/* services */
.sv-row{background:linear-gradient(90deg,#F7F5F1,#F7F5F1) no-repeat left/0% 100%!important;}
.sv-row:hover .sv-t,.sv-row.active .sv-t{color:#252728!important;}
.sv-row:hover .sv-d,.sv-row.active .sv-d{color:#4A4E4F!important;}
.sv-row:hover .sv-n,.sv-row.active .sv-n,.sv-row:hover .sv-min,.sv-row.active .sv-min{color:#C0563C!important;}
.sv-row:hover .sv-plus,.sv-row.active .sv-plus{background:#5C6D57!important;border-color:#5C6D57!important;color:#fff!important;}
.sv-detail{background:#F7F5F1!important;color:#252728!important;}
.sv-d-t{color:#252728!important;}.sv-d-p{color:#3b3f40!important;}
.sv-book{background:#5C6D57!important;color:#fff!important;box-shadow:none!important;}
.sv-book:hover{background:#252728!important;}
.sv-close{color:#6b6f70!important;}
.sv-d-card:not(.sv-d-card--get){border:1px solid rgba(37,39,40,.25)!important;background:transparent!important;color:#252728!important;}
.sv-d-card:not(.sv-d-card--get) h4{color:#252728!important;}
.sv-d-card:not(.sv-d-card--get) li{color:#2e3233!important;}
.sv-d-card:not(.sv-d-card--get) li::before{color:#5C6D57!important;}
.sv-d-card--get{background:#E07A5F!important;box-shadow:none!important;}
.sv-d-card--get h4,.sv-d-card--get li{color:#252728!important;}
.sv-d-card--get li::before{color:#252728!important;}

/* méthode : plus fin, plus soigné */
.pr-steps{max-width:960px!important;}
.pr-line{bottom:calc(var(--ext,0px)*-1)!important;}
.pr-line i{height:var(--fillpx,0px)!important;}
.pr-step{grid-template-columns:minmax(0,1fr) 56px minmax(0,1fr)!important;padding:12px 0!important;}
.pr-card{width:100%;max-width:400px;justify-self:start;padding:20px 24px 22px!important;border-radius:2px!important;}
.pr-step:nth-of-type(even) .pr-card{justify-self:end;}
.pr-num{font-size:clamp(3rem,5vw,4.4rem)!important;line-height:1!important;padding-right:20px!important;-webkit-text-stroke:1px var(--border2);}
.pr-step:nth-of-type(even) .pr-num{padding:0 0 0 20px!important;}
.pr-node{width:14px!important;height:14px!important;}
.pr-step .rtitle{font-size:clamp(1.7rem,2.6vw,2.2rem)!important;margin:0 0 6px!important;}
.pr-step .rsubtitle{font-size:1rem!important;margin-bottom:10px!important;}
.pr-step .rdesc{font-size:.85rem!important;line-height:1.65!important;}
@media(max-width:760px){.pr-step{grid-template-columns:38px minmax(0,1fr)!important;}.pr-card,.pr-step:nth-of-type(even) .pr-card{justify-self:stretch;max-width:none;}}

/* arbre ORY (celui des tee-shirts) */
#ory-tree{position:fixed;right:clamp(10px,2.2vw,40px);top:50%;transform:translateY(-50%);height:88vh;width:auto;z-index:1;pointer-events:none;color:var(--ink);opacity:.42;overflow:visible;}
#ory-tree .tl{opacity:0;transition:opacity .6s ease;}
#ory-tree .tl.on{opacity:1;}
#ory-tree text{font-family:'Space Grotesk','Inter',sans-serif;fill:currentColor;text-anchor:middle;}
#ory-tree .tr-b{font-weight:700;}
#ory-tree .tr-l{font-weight:300;}
#ory-tree .tr-note{font-size:12px;font-weight:500;text-anchor:start;}
#ory-tree .tr-ln{stroke:currentColor;stroke-width:.8;}
#ory-tree .tr-dot{fill:currentColor;}
#ory-tree .tr-red{fill:#E07A5F;}
#ory-tree .tr-roots{fill:currentColor;}
#tree-canvas{display:none!important;}
@media(max-width:900px){#ory-tree{display:none;}}

/* ══ v23 ══ */
/* défis : cartes sage pleines + bouton plein */
.ch-right{min-width:0;}
.ch-hint{display:flex;align-items:center;gap:10px;margin:0 0 16px;font-size:.84rem;color:var(--dim);}
.ch-hint-i{flex:0 0 auto;width:20px;height:20px;border-radius:50%;background:#5C6D57;color:#fff;display:flex;align-items:center;justify-content:center;font-size:13px;line-height:1;}
.ch-cta{background:#5C6D57!important;border:1px solid #5C6D57!important;color:#fff!important;border-radius:30px;padding:14px 26px!important;font-weight:600;transition:background .3s,transform .3s;}
.ch-cta:hover{background:#5A6A55!important;border-color:#5A6A55!important;transform:translateY(-2px);}
.ch-b{background:#5C6D57!important;border:1px solid #5C6D57!important;color:#fff!important;}
.ch-b:hover,.ch-b.on{background:#5F6F59!important;border-color:#5F6F59!important;}
.ch-tx{flex:1;min-width:0;display:flex;flex-direction:column;gap:5px;}
.ch-q{color:#fff!important;}
.ch-m{font-size:.78rem;letter-spacing:.12em;text-transform:uppercase;color:#D8E0D3;font-family:'Space Grotesk',sans-serif;}
.ch-b.on .ch-m{display:none;}
.ch-x{border-color:#F7F5F1!important;color:#F7F5F1!important;}
.ch-plus{border-color:rgba(255,255,255,.7)!important;color:#fff!important;}
.ch-b.on .ch-plus{background:#F7F5F1!important;border-color:#F7F5F1!important;color:#5F6F59!important;}
.ch-a{color:#F7F5F1!important;border-top:1px solid rgba(255,255,255,.35)!important;}
.ch-lab{display:block!important;color:#E9EEE6!important;font-size:12px;letter-spacing:.22em;padding-top:12px;}
.ch-a{padding-top:0!important;border-top:0!important;}
.ch-link{color:#fff!important;border-bottom:1px solid #fff!important;}
.ch-link:hover{color:#F7F5F1!important;}
.ch-b:focus-visible{outline:2px solid #F7F5F1;outline-offset:3px;}
@media (hover:hover){.ch-b:hover{border-color:#5F6F59!important;}}

/* valeurs : une seule couleur */
#values .ab3-val:nth-child(n){background:#5C6D57!important;color:#fff!important;}
#values .ab3-val:nth-child(n) .ab3-val-t,#values .ab3-val:nth-child(n):hover .ab3-val-t{color:#fff!important;}
#values .ab3-val:nth-child(n) .ab3-val-d,#values .ab3-val:nth-child(n):hover .ab3-val-d{color:#E9EEE6!important;}
#values .ab3-val:nth-child(n) .ab3-val-ic{border-color:#F7F5F1!important;color:#F7F5F1!important;}
#values .ab3-val:nth-child(n) .ab3-val-n{color:rgba(255,255,255,.2)!important;}

/* services : survol vert (sage), plus de noir */
.sv-row{background-image:linear-gradient(90deg,#5C6D57,#5C6D57)!important;background-repeat:no-repeat!important;background-position:left!important;background-size:0% 100%!important;}
.sv-row:hover,.sv-row.active{background-size:100% 100%!important;}
.sv-row:hover .sv-t,.sv-row.active .sv-t{color:#fff!important;}
.sv-row:hover .sv-d,.sv-row.active .sv-d{color:#E9EEE6!important;}
.sv-row:hover .sv-n,.sv-row.active .sv-n,.sv-row:hover .sv-min,.sv-row.active .sv-min{color:#F7F5F1!important;}
.sv-row:hover .sv-plus,.sv-row.active .sv-plus{background:#F7F5F1!important;border-color:#F7F5F1!important;color:#5C6D57!important;}
.sv-book{background:#5C6D57!important;color:#fff!important;}
.sv-book:hover{background:#5A6A55!important;}
.sv-d-card--get{background:#5C6D57!important;}
.sv-d-card--get h4,.sv-d-card--get li{color:#fff!important;}
.sv-d-card--get li::before{color:#F7F5F1!important;}

/* arbre : tronc continu + racines vers le bas et les côtés */
#ory-tree{position:fixed!important;inset:0!important;right:auto!important;top:0!important;transform:none!important;width:100vw!important;height:100vh!important;opacity:.11!important;z-index:1;pointer-events:none;color:var(--ink);}
#ory-tree .tr-trunk,#ory-tree .tr-roots{fill:currentColor;}

/* ══ v24 ══ */
/* défis : cartes de même hauteur */
.ch-top{min-height:112px;box-sizing:border-box;align-items:center!important;}
.ch-x{margin-top:0!important;}
@media(max-width:560px){.ch-top{min-height:84px;}}

/* à propos : logo animé */
@property --ora{syntax:'<angle>';inherits:false;initial-value:360deg;}
.ab3-logo-wrap{position:sticky;top:16vh;align-self:start;display:flex;align-items:center;justify-content:center;min-height:clamp(420px,58vw,800px);}
.ab3-logo-wrap::before{content:"";position:absolute;width:78%;aspect-ratio:1;border-radius:50%;background:radial-gradient(circle,rgba(109,126,103,.30),rgba(109,126,103,0) 68%);}
.ory-logo{--ora:0deg;position:relative;width:min(124%,900px);aspect-ratio:1009/650;}
.ory-logo::before{content:"";position:absolute;inset:0;background:url(img/d-1l7sI7kgSf.webp) center/contain no-repeat;
  -webkit-mask:conic-gradient(from 0deg at 50% 50%,#000 0,#000 var(--ora),transparent var(--ora));mask:conic-gradient(from 0deg at 50% 50%,#000 0,#000 var(--ora),transparent var(--ora));}
.ory-logo.play{--ora:360deg;}
.ory-logo.play::before{animation:oryDraw 3.2s cubic-bezier(.45,.05,.25,1) 1 both,oryGlow 2.4s ease-in-out 3.1s 1 both;}
@keyframes oryDraw{0%{--ora:0deg}100%{--ora:360deg}}
@keyframes oryGlow{0%,100%{filter:drop-shadow(0 0 0 rgba(224,122,95,0))}45%{filter:drop-shadow(0 0 22px rgba(224,122,95,.85))}}
@media(prefers-reduced-motion:reduce){.ory-logo{--ora:360deg}.ory-logo::before{animation:none!important}}
@media(max-width:900px){.ab3-logo-wrap{min-height:340px;position:relative;top:auto}.ory-logo{width:min(100%,500px)}}

/* à propos : bouton « Un mot de la fondatrice » en couleur */
.ab3-toggle{background:#5C6D57!important;border-color:#5C6D57!important;color:#fff!important;border-radius:30px;}
.ab3-toggle:hover{background:#5A6A55!important;border-color:#5A6A55!important;}
.ab3-toggle .ab3-toggle-t,.ab3-toggle .ab3-arrow{color:#fff!important;}

/* valeurs : sauge clair, passe au neutre (crème) au survol */
#values .ab3-val:nth-child(n){position:relative;overflow:hidden;background:#CCD4C5!important;border-color:transparent!important;color:#252728!important;transition:transform .45s cubic-bezier(.16,1,.3,1),box-shadow .45s!important;}
#values .ab3-val:nth-child(n)::before{content:"";position:absolute;inset:0;background:#F7F5F1;transform:scaleY(0);transform-origin:bottom;transition:transform .55s cubic-bezier(.16,1,.3,1);z-index:0;}
#values .ab3-val:nth-child(n):hover::before{transform:scaleY(1);}
#values .ab3-val:nth-child(n):hover{transform:translateY(-6px);box-shadow:0 18px 40px -18px rgba(0,0,0,.55);}
#values .ab3-val:nth-child(n)>*{position:relative;z-index:1;}
#values .ab3-val:nth-child(n) .ab3-val-n{position:absolute;color:rgba(37,39,40,.16)!important;}
#values .ab3-val:nth-child(n) .ab3-val-t,#values .ab3-val:nth-child(n):hover .ab3-val-t{color:#252728!important;}
#values .ab3-val:nth-child(n) .ab3-val-d,#values .ab3-val:nth-child(n):hover .ab3-val-d{color:#3b3f40!important;}
#values .ab3-val:nth-child(n) .ab3-val-ic{background:transparent!important;border:1px solid #5C6D57!important;color:#5C6D57!important;transition:background .4s,color .4s;}
#values .ab3-val:nth-child(n):hover .ab3-val-ic{background:#5C6D57!important;color:#fff!important;}

/* chiffres : remplissage de couleur qui monte pendant le compte */
.fg-count{display:inline-block;color:transparent;-webkit-text-stroke:1px var(--ink);background:linear-gradient(var(--ink),var(--ink)) no-repeat left bottom;background-size:100% 0%;-webkit-background-clip:text;background-clip:text;transition:background-size 2.6s cubic-bezier(.16,1,.3,1) .2s;}
.fg-item.on .fg-count{background-size:100% 100%;}
.fg-plus{-webkit-text-stroke:0;}

/* méthode : numéros qui se remplissent */
.pr-num{background:linear-gradient(var(--acc),var(--acc)) no-repeat left bottom;background-size:100% 0%;-webkit-background-clip:text;background-clip:text;transition:background-size 1.3s cubic-bezier(.16,1,.3,1),-webkit-text-stroke-color .6s!important;}
.pr-step.lit .pr-num{background-size:100% 100%;}
#figures::before{display:none!important;}

/* ══ v25 : défis ══ */
.ch-x,.ch-m,.ch-lab{display:none!important;}
.ch-top{min-height:84px;}
.ch-r{background:transparent;}
.ch-b.on .ch-r{background:#F7F5F1!important;padding:18px 18px 18px!important;border-left:3px solid #E07A5F;max-height:320px;}
.ch-b.on .ch-a{font-family:'Cormorant Garamond',serif!important;font-style:italic;font-size:1.12rem!important;line-height:1.45!important;color:#252728!important;margin:0;}
.ch-b.on .ch-link{color:#4F5F4A!important;border-bottom:1px solid #5C6D57!important;}
.ch-b.on .ch-link:hover{color:#252728!important;}
.ch-left,.ch-right{will-change:transform,opacity;}
@media(max-width:560px){.ch-top{min-height:64px;}}

/* ══ v27 ══ */
.ab3-visual{position:sticky;top:15vh;align-self:start;display:grid;}
.ab3-visual>*{grid-area:1/1;transition:opacity .7s ease,transform .8s cubic-bezier(.16,1,.3,1);}
.ab3-logo-wrap{position:relative!important;top:auto!important;align-self:center;}
.ab3-visual .ab3-photo-wrap{opacity:0;transform:scale(.96);pointer-events:none;aspect-ratio:3/4;max-height:560px;box-shadow:16px 16px 0 0 rgba(109,126,103,.25);}
.ab3-center.is-founder .ab3-logo-wrap{opacity:0;transform:scale(.94);}
.ab3-center.is-founder .ab3-photo-wrap{opacity:1;transform:none;pointer-events:auto;}
.ab3-center.is-founder .ab3-img--b{opacity:1;}
.ab3-center.is-founder .ab3-img--a{opacity:0;}
@media(max-width:900px){.ab3-visual{position:relative;top:auto}.ab3-visual .ab3-photo-wrap{max-height:420px}}

/* valeurs : blanc permanent, vert (opacité réduite) au survol */
#values .ab3-val:nth-child(n){background:#F7F5F1!important;}
#values .ab3-val:nth-child(n)::before{background:rgba(109,126,103,.9);}
#values .ab3-val:nth-child(n):hover .ab3-val-t{color:#fff!important;}
#values .ab3-val:nth-child(n):hover .ab3-val-d{color:#F0F3EC!important;}
#values .ab3-val:nth-child(n):hover .ab3-val-n{color:rgba(255,255,255,.3)!important;}
#values .ab3-val:nth-child(n):hover .ab3-val-ic{background:#F7F5F1!important;color:#5C6D57!important;border-color:#F7F5F1!important;}

.ab3-visual .ab3-photo-wrap{width:100%;max-width:440px;justify-self:center;}
#about .ab3-title{font-size:clamp(1.9rem,3.1vw,2.6rem)!important;line-height:1.1!important;}

/* v28 */
.ab3-val-n{display:none!important;}
nav .brand-logo{height:74px!important;width:auto!important;max-height:none!important;display:block;opacity:.92;transition:opacity .3s,filter .3s;}
nav .brand-logo:hover{opacity:1;}
body.light nav .brand-logo{filter:invert(1);}
.ab3-body--last{font-family:'Cormorant Garamond',serif;font-style:italic;font-size:1.15rem!important;color:var(--ink);}
@media(max-width:900px){nav .brand-logo{height:52px!important;}}
/* v29 — logos plus grands, entrées de blocs, chiffres, titre services */
nav{padding:12px 5vw!important;}
@media(max-width:900px){nav{padding:8px 4vw!important;}}
.hero-sub,.hero-sub span{font-weight:700!important;opacity:1!important;color:#E4EADF!important;}
.hero-sub::after{background:rgba(228,234,223,.45)!important;}
/* entrées de blocs */
.bi{opacity:0!important;transform:var(--bt)!important;filter:blur(var(--bb,10px))!important;will-change:transform,opacity,filter;}
.bi.rs{transition:none!important;}
.bi.in{opacity:var(--bo,1)!important;transform:none!important;filter:blur(0)!important;transition:transform var(--bu,1.25s) cubic-bezier(.18,1.3,.32,1) var(--bd,0s),opacity .9s ease var(--bd,0s),filter 1.1s ease var(--bd,0s)!important;}
@media(prefers-reduced-motion:reduce){.bi{opacity:1!important;transform:none!important;filter:none!important;}}
/* chiffres */
.fg-num{opacity:0;transform:translateY(80px) scale(.9);filter:blur(10px);transition:opacity 1s ease,transform 1.3s cubic-bezier(.18,1.3,.32,1),filter 1s ease;}
.fg-item.on .fg-num{opacity:1;transform:none;filter:none;}
.fg-label,.fg-sub{transform:translateY(34px);}
.fg-item:not(.on) .fg-num,.fg-item:not(.on) .fg-label,.fg-item:not(.on) .fg-sub,.fg-item:not(.on) .fg-bar i,.fg-item:not(.on) .fg-count{transition:none!important;}
/* titre services : même typographie que À propos / Nos valeurs */
#services .sv-vhead{display:flex;align-items:center;gap:22px;margin-bottom:clamp(20px,3.4vh,36px);}
#services .sv-vhead .ab3-vkick{font-family:'Cormorant Garamond',serif;font-style:italic;font-weight:300;font-size:clamp(2.2rem,4.6vw,4rem);color:var(--ink);line-height:1;}
#services .sv-vhead .ab3-vline{flex:1;height:1px;background:var(--border2);}
/* v30 — réservation, avis en défilement */
html.bk-lock,html.bk-lock body{overflow:hidden!important;}
/* avis */
#testimonials .tm-slider{position:relative;max-width:980px;overflow:hidden;}
#testimonials .tm-track{display:flex!important;grid-template-columns:none!important;gap:0!important;transition:transform .95s cubic-bezier(.65,0,.2,1);will-change:transform;}
#testimonials .tm-track .testi-card{flex:0 0 100%;min-width:0;box-sizing:border-box;padding:clamp(26px,4.4vw,56px)!important;border:1px solid var(--border2)!important;opacity:.25;transition:opacity .8s ease,background .4s!important;}
#testimonials .tm-track .testi-card.is-act{opacity:1;}
#testimonials .tm-track .testi-card p{font-size:clamp(1.15rem,2vw,1.6rem)!important;line-height:1.7!important;}
.tm-nav{display:flex;align-items:center;gap:18px;margin-top:22px;}
.tm-b{width:46px;height:46px;border-radius:50%;border:1px solid var(--border2);background:transparent;color:var(--ink);font-size:1.15rem;transition:background .3s,color .3s,border-color .3s;}
.tm-b:hover{background:#5C6D57;color:#fff;border-color:#5C6D57;}
.tm-dots{display:flex;gap:10px;align-items:center;}
.tm-dot{width:9px;height:9px;padding:0;border-radius:50%;border:0;background:rgba(var(--ink-rgb),.25);transition:width .4s,background .4s;}
.tm-dot.on{width:28px;border-radius:6px;background:#5C6D57;}
/* v31 — fond net : plus de grain */
body::before,#grain-overlay{display:none!important;animation:none!important;}
#values .section-tag{margin-bottom:clamp(22px,4vh,38px);}
/* v32 — hero hiérarchie, pied de page, avis centrés */
.hero-sub{font-family:'Cormorant Garamond',serif!important;font-size:clamp(1.15rem,2vw,1.75rem)!important;letter-spacing:.01em!important;text-transform:none!important;line-height:1.2!important;}
.hero-sub,.hero-sub span{font-weight:700!important;color:#F4F1EA!important;opacity:.96!important;}
.hero-sub::after{display:none!important;}
.hero-tee{font-family:'Space Grotesk','Inter',sans-serif!important;font-size:clamp(.6rem,.82vw,.74rem)!important;letter-spacing:.18em!important;text-transform:uppercase!important;font-weight:500!important;color:#C9D5C4!important;opacity:.85!important;margin-top:12px!important;max-width:none!important;line-height:1.6!important;}
.hero-tee,.hero-tee span{font-style:normal!important;}
/* avis centrés */
#testimonials{text-align:center;}
#testimonials .tm-tag{justify-content:center!important;}
#testimonials h2{margin-left:auto;margin-right:auto;}
#testimonials .tm-wrap{max-width:980px;margin:0 auto;}
#testimonials .tm-slider{max-width:none;}
#testimonials .tm-track .testi-card{text-align:center;}
#testimonials .tm-track .testi-card > div:first-child{justify-content:center;}
#testimonials .tm-track .testi-card > div:first-child > div[style*="margin-left:auto"]{margin-left:12px!important;}
#testimonials .tm-nav{justify-content:center;}
/* pied de page */
.ft{position:relative;z-index:5;background:#252728;color:#F7F5F1;padding:clamp(56px,9vh,96px) 5vw clamp(26px,4vh,40px);}
.ft-in{max-width:1250px;margin:0 auto;}
.ft-grid{display:grid;grid-template-columns:1.35fr 1fr 1.25fr 1.25fr;gap:clamp(28px,4vw,64px);}
.ft-logo{display:block;height:clamp(64px,7vw,92px);width:auto;margin:0 0 22px -6px;}
.ft-p{font-size:.95rem;line-height:1.8;color:#C9CDC6;max-width:340px;margin:0 0 26px;}
.ft-cta{display:inline-flex;align-items:center;gap:10px;font-family:'Space Grotesk','Space Mono',sans-serif;font-weight:600;font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:#252728;background:#F7F5F1;padding:14px 24px;border-radius:40px;text-decoration:none;transition:background .3s,color .3s,transform .3s;}
.ft-cta:hover{background:#5C6D57;color:#fff;transform:translateY(-2px);}
.ft-col h4{font-family:'Space Grotesk','Space Mono',sans-serif;font-weight:600;font-size:12px;letter-spacing:.2em;text-transform:uppercase;color:#CCD4C5;margin:6px 0 22px;}
.ft-col ul{list-style:none;margin:0;padding:0;display:grid;gap:14px;}
.ft-col a{color:#F7F5F1;text-decoration:none;font-size:.98rem;line-height:1.5;opacity:.88;position:relative;transition:color .3s,opacity .3s;word-break:break-word;}
.ft-col a:hover{color:#E07A5F;opacity:1;}
.ft-bar{display:flex;justify-content:space-between;gap:12px 24px;flex-wrap:wrap;margin-top:clamp(40px,7vh,72px);padding-top:24px;border-top:1px solid rgba(247,245,241,.18);font-size:.78rem;letter-spacing:.04em;color:#9aa09a;}
@media(max-width:960px){.ft-grid{grid-template-columns:1fr 1fr;}.ft-brand{grid-column:1/-1;}}
@media(max-width:520px){.ft-grid{grid-template-columns:1fr;}}

.ft span{font:inherit!important;text-transform:none!important;letter-spacing:inherit!important;color:inherit!important;opacity:1!important;}
.ft-cta span{text-transform:uppercase!important;letter-spacing:.14em!important;}
.ft-bar span{font-size:.78rem!important;}
.ft a,.ft p,.ft h4,.ft li{font-family:'Inter',sans-serif;}
.ft-col h4,.ft-cta{font-family:'Space Grotesk','Space Mono',sans-serif!important;}
.ft-p{text-transform:none!important;letter-spacing:normal!important;font-size:.95rem!important;color:#C9CDC6!important;}
.ft{padding-bottom:clamp(88px,13vh,120px)!important;}
/* v33 — Opération BACK TO WOK */
.bw{max-width:900px;}
.bw-intro{font-size:.98rem;line-height:1.8;color:var(--dim);margin:0 0 28px;}
.bw-h{font-family:'Space Grotesk','Space Mono',sans-serif;font-size:12px;letter-spacing:.2em;text-transform:uppercase;color:var(--acc);font-weight:600;margin:0 0 14px;}
.bw-ol{list-style:none;padding:0;margin:0 0 38px;display:grid;grid-template-columns:repeat(2,1fr);gap:0 32px;}
.bw-ol li{position:relative;padding:13px 0 13px 24px;border-top:1px solid var(--border2);font-size:.95rem;line-height:1.55;color:var(--ink);}
.bw-ol li::before{content:"";position:absolute;left:0;top:22px;width:8px;height:8px;border-radius:50%;background:#5C6D57;}
.bw-steps{list-style:none;margin:0;padding:0;position:relative;}
.bw-steps::before{content:"";position:absolute;left:21px;top:22px;bottom:30px;width:1px;background:var(--border2);}
.bw-step{position:relative;display:grid;grid-template-columns:44px 1fr;gap:20px;padding:0 0 28px;}
.bw-n{width:44px;height:44px;border-radius:50%;background:#5C6D57;color:#fff;display:flex;align-items:center;justify-content:center;font-family:'Cormorant Garamond',serif;font-size:1.1rem;font-weight:600;position:relative;z-index:1;}
.bw-t{font-family:'Cormorant Garamond',serif;font-size:1.5rem;font-weight:500;color:var(--ink);line-height:1.15;margin:4px 0 6px;}
.bw-b p{margin:0;font-size:.92rem;line-height:1.75;color:var(--dim);max-width:660px;}
.bw-chip{display:inline-block;margin:0 0 8px;padding:4px 12px;border:1px solid #5C6D57;color:#5a6a55;font-size:12px;letter-spacing:.14em;text-transform:uppercase;border-radius:20px;font-family:'Space Grotesk','Space Mono',sans-serif;font-weight:600;}
.branch-item.open .bw-step,.branch-item.open .bw-ol li{animation:bwIn .85s cubic-bezier(.18,1.2,.32,1) both;animation-delay:calc(var(--i,0)*.13s + .3s);}
@keyframes bwIn{from{opacity:0;transform:translateX(-34px)}to{opacity:1;transform:none}}
@media(max-width:700px){.bw-ol{grid-template-columns:1fr;}.bw-step{grid-template-columns:38px 1fr;gap:14px;}.bw-n{width:38px;height:38px;}.bw-steps::before{left:18px;}}
@media(prefers-reduced-motion:reduce){.branch-item.open .bw-step,.branch-item.open .bw-ol li{animation:none;}}
/* v33 : médias Kawok, contact, créneaux */
.ct-title .ct-ens{color:#5C6D57 !important;}
.bw-sh{font-family:'Space Grotesk','Space Mono',sans-serif;font-size:12px;letter-spacing:.16em;text-transform:uppercase;color:#5C6D57;font-weight:600;margin:20px 0 8px;}
.bw-b>.bw-sh:first-of-type{margin-top:6px;}
.bw-ul{list-style:none;padding:0;margin:8px 0 10px;max-width:660px;}
.bw-ul li{position:relative;padding:5px 0 5px 20px;font-size:.92rem;line-height:1.65;color:var(--dim);}
.bw-ul li::before{content:"";position:absolute;left:2px;top:14px;width:6px;height:6px;border-radius:50%;background:#5C6D57;}
.bw-qs{display:flex;flex-wrap:wrap;gap:10px;margin:12px 0 4px;}
.bw-qs blockquote{margin:0;padding:10px 16px;border-left:2px solid #E07A5F;background:rgba(109,126,103,.09);font-family:'Cormorant Garamond',serif;font-style:italic;font-size:1.08rem;color:var(--ink);line-height:1.35;}
.bw-media{display:flex;flex-wrap:wrap;gap:16px;margin:12px 0 6px;}
.bw-th:hover{transform:translateY(-3px);box-shadow:0 10px 26px rgba(37,39,40,.18);}
.bw-th.nf::after,.bw-face.nf::after{content:"";position:absolute;inset:0;background:linear-gradient(135deg,#CCD4C5,#e8e5df);}
.bw-zoom{position:absolute;right:8px;bottom:8px;width:28px;height:28px;border-radius:50%;background:rgba(255,255,255,.92);color:#252728;display:flex;align-items:center;justify-content:center;font-size:14px;z-index:2;}
.bw-play{position:absolute;left:50%;top:50%;width:54px;height:54px;margin:-27px 0 0 -27px;border-radius:50%;background:rgba(224,122,95,.95);z-index:2;}
.bw-play::before{content:"";position:absolute;left:21px;top:16px;border-left:17px solid #fff;border-top:11px solid transparent;border-bottom:11px solid transparent;}
.bw-fig figcaption{font-size:.78rem;line-height:1.4;color:var(--dim);margin-top:7px;}
.bw-face img{width:100%;height:100%;object-fit:cover;display:block;}
.bw-fa{transform:rotateY(0);}
.bw-fb{transform:rotateY(180deg);}
.bw-flip.fl .bw-fa{transform:rotateY(-180deg);}
.bw-flip.fl .bw-fb{transform:rotateY(0);}
.bw-flip-ctl{display:flex;align-items:center;gap:8px;margin-top:12px;flex-wrap:wrap;}
.bw-fs{padding:6px 14px;border:1px solid rgba(109,126,103,.5);background:transparent;border-radius:999px;font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:#252728;cursor:pointer;font-family:'Space Grotesk','Space Mono',sans-serif;}
.bw-fs.on{background:#5C6D57;color:#fff;border-color:#5C6D57;}
.bw-hint{font-size:.78rem;color:var(--dim);margin-left:4px;}
.bw-kpi{display:flex;align-items:baseline;flex-wrap:wrap;gap:6px 16px;margin-top:12px;padding:18px 22px;max-width:560px;border:1px solid rgba(109,126,103,.4);background:rgba(204,212,197,.35);border-radius:4px;}
.bw-kpi b{font-family:'Cormorant Garamond',serif;font-weight:500;font-size:3.2rem;line-height:1;color:#E07A5F;}
.bw-kpi span{font-size:1rem;color:var(--ink);}
.bw-kpi em{flex-basis:100%;font-style:normal;font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:#5C6D57;}
.bw-lb{position:fixed;inset:0;z-index:99990;background:rgba(20,21,22,.88);display:flex;align-items:center;justify-content:center;padding:4vh 4vw;opacity:0;pointer-events:none;transition:opacity .3s;}
.bw-lb.on{opacity:1;pointer-events:auto;}
.bw-lb-c{width:min(1100px,100%);height:100%;display:flex;align-items:center;justify-content:center;}
.bw-lb-c img{max-width:100%;max-height:100%;object-fit:contain;border-radius:4px;background:#fff;}
.bw-lb-c video{width:100%;max-height:82vh;border-radius:4px;background:#000;}.bw-lb-c iframe{width:100%;height:100%;max-height:82vh;border:0;border-radius:4px;background:#000;}
.bw-lb-x{position:absolute;top:14px;right:18px;width:44px;height:44px;border-radius:50%;border:1px solid rgba(255,255,255,.4);background:transparent;color:#fff;font-size:26px;line-height:1;cursor:pointer;}

@media(prefers-reduced-motion:reduce){.bw-face,.bw-th{transition:none;}}

.bw-logo{background:#252728;box-shadow:0 0 30px rgba(224,122,95,.35);}
.bw-logo img{object-fit:contain;}
.bw-h2{font-family:'Space Mono',monospace;font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:#5C6D57;margin:18px 0 4px;}
.bw-inner .bw-ol{margin:0;max-width:760px;}
.bw-inner .ra-header .bw-ol li{font-size:.9rem;padding:8px 0 8px 22px;}
.bw-inner .ra-header .bw-ol li::before{top:16px;}
.bw-pn{max-width:1000px;}
.bw-p{margin:0 0 12px;font-size:.92rem;line-height:1.8;color:var(--dim);max-width:640px;}
.bw-two{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:28px 40px;align-items:start;margin:0 0 30px;}
.bw-one{display:flex;justify-content:center;}
.bw-fig{margin:0;width:100%;max-width:340px;}
.bw-fig--p{max-width:320px;}
.bw-fig--wide{max-width:420px;}
.bw-media{display:flex;flex-wrap:wrap;gap:20px;margin:12px 0 6px;align-items:flex-start;}
.bw-media .bw-fig{width:300px;}
.bw-media .bw-fig--p{width:240px;}
.bw-th{position:relative;display:block;width:100%;padding:0;border:1px solid rgba(109,126,103,.35);background:#e8e5df;border-radius:4px;overflow:hidden;cursor:pointer;transition:transform .35s cubic-bezier(.18,1.2,.32,1),box-shadow .35s;box-shadow:0 10px 28px rgba(37,39,40,.14);}
.bw-th:hover{transform:translateY(-3px);box-shadow:0 14px 34px rgba(37,39,40,.22);}
.bw-th img{width:100%;height:auto;display:block;}
.bw-fig--vid .bw-th{aspect-ratio:16/10;background:#252728;}
.bw-fig--vid .bw-th img{height:100%;object-fit:cover;}
.bw-fig--doc .bw-th{aspect-ratio:3/4;}
.bw-fig--doc .bw-th img{height:100%;object-fit:contain;}
.bw-flip{width:min(520px,100%);margin:10px 0 8px;}
.bw-flip-in{position:relative;aspect-ratio:1100/705;perspective:1400px;touch-action:pan-y;}
.bw-face{position:absolute;inset:0;padding:0;border:0;border-radius:8px;background:#252728;overflow:hidden;cursor:pointer;backface-visibility:hidden;-webkit-backface-visibility:hidden;transition:transform .8s cubic-bezier(.3,1.1,.4,1);box-shadow:0 14px 34px rgba(37,39,40,.28);}
.bw-face img{width:100%;height:100%;object-fit:contain;display:block;}
@media(max-width:800px){.bw-two{grid-template-columns:1fr;gap:6px;}.bw-one{justify-content:flex-start;margin-bottom:18px;}.bw-media .bw-fig,.bw-media .bw-fig--p{width:calc(50% - 10px);}.bw-media .bw-fig--vid{width:100%;}.bw-kpi b{font-size:2.6rem;}.bw-fig--wide{max-width:100%;}}
.branch-header{padding-left:0;}
.branch-item.cs-in{animation:csIn .85s cubic-bezier(.18,1.2,.32,1) both;animation-delay:var(--ci,0s);}
@keyframes csIn{from{opacity:0;transform:translate3d(0,46px,0) scale(.96);}to{opacity:1;transform:none;}}
@media(prefers-reduced-motion:reduce){.branch-item.cs-in{animation:none;}}
/* v38 : tablette & téléphone */
html,body{overflow-x:hidden;}
#lang-toggle,.ring-nav{transition:opacity .35s ease,transform .35s ease;}
@media(max-width:1024px){
  #about,#casestudies,#testimonials{min-height:0 !important;}
  #casestudies,#testimonials{padding:76px 5vw !important;}
  #contact{padding:76px 5vw !important;}
  .hero-content{padding:0 5vw 56px !important;}
  .dawn{height:62vh;}
  .dawn-in{height:56vh;}
  .pr-line{left:18px;margin-left:0;}
  .pr-step{grid-template-columns:38px minmax(0,1fr) !important;padding:14px 0;}
  .pr-node{grid-column:1;justify-self:start;margin-left:11px;}
  .pr-card,.pr-step:nth-of-type(even) .pr-card{grid-column:2;justify-self:stretch;max-width:none;padding:22px 24px 24px;}
  .pr-num{display:none;}
  .pr-n-sm{display:block;}
  .rn-cur{display:none;}
  .ring-nav{left:14px;bottom:14px;}
  .rn-btn{width:46px;height:46px;}
  #lang-toggle{bottom:18px;right:14px;padding:9px 14px;}
  html.is-scrolling .ring-nav,html.is-scrolling #lang-toggle{opacity:0;transform:translateY(10px);pointer-events:none;}
}
@media(max-width:700px){
  #casestudies,#testimonials,#contact{padding:60px 20px !important;}
  .hero-content{padding:0 20px 48px !important;}
  .rn-btn{width:42px;height:42px;}
  #lang-toggle{padding:8px 12px;font-size:12px;gap:6px;}
  .branch-header{align-items:flex-start;}
  .branch-name{font-size:1.25rem !important;line-height:1.2;}
  .branch-tag-right{order:3;width:100%;}
}

/* v39 : tablette & téléphone */
@media(max-width:1024px){
  /* texte du hero plus à gauche */
  #novea-hero{padding-left:0 !important;padding-right:0 !important;}
  .hero-content{padding:0 4vw 56px 4vw !important;}
  /* chiffres centrés */
  .fg-item,.fg-item:first-child{display:block !important;text-align:center !important;}
  .fg-num{justify-content:center !important;margin-left:auto;margin-right:auto;}
  .fg-label,.fg-sub{text-align:center !important;margin-left:auto;margin-right:auto;}
  .fg-bar{margin-left:auto !important;margin-right:auto !important;}
  /* valeurs : carte verte quand elle passe au centre de l'écran */
  #values .ab3-val:nth-child(n).is-act::before{transform:scaleY(1);}
  #values .ab3-val:nth-child(n).is-act{transform:translateY(-6px);box-shadow:0 18px 40px -18px rgba(0,0,0,.55);}
  #values .ab3-val:nth-child(n).is-act .ab3-val-t{color:#fff !important;}
  #values .ab3-val:nth-child(n).is-act .ab3-val-d{color:#F0F3EC !important;}
  #values .ab3-val:nth-child(n).is-act .ab3-val-ic{background:#F7F5F1 !important;color:#5C6D57 !important;border-color:#F7F5F1 !important;}
  /* vidéos / documents lus directement dans la page */
  .bw-th.is-play{cursor:default;transform:none !important;}
  .bw-th.is-play iframe{position:absolute;inset:0;width:100%;height:100%;border:0;background:#000;display:block;}
  .bw-th.is-play .bw-zoom,.bw-th.is-play .bw-play{display:none;}
}
/* tronc et racines en fond, avec l'animation au défilement */
@media(max-width:900px){
  #ory-tree{display:block !important;opacity:.13 !important;}
}

.seo-h1{position:absolute !important;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0;}

.hero-two{display:flex;flex-wrap:wrap;gap:8px 22px;margin-top:18px;font-family:'Space Grotesk','Space Mono',sans-serif;font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:#C9D5C4;opacity:.75}
.hero-two span+span::before{content:'';display:inline-block;width:5px;height:5px;border-radius:50%;background:#B5503A;margin-right:22px;vertical-align:middle}
.hero-offer{display:inline-flex;align-items:center;gap:22px;margin-top:28px;padding:7px 7px 7px 28px;border:1px solid rgba(247,245,241,.28);border-radius:60px;background:rgba(247,245,241,.06);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);color:#F7F5F1;text-decoration:none;transition:border-color .3s,background .3s}
.ho-t{display:flex;flex-direction:column;gap:3px}
.ho-t small{font:12px 'Space Mono',monospace;letter-spacing:.22em;text-transform:uppercase;color:#C9D5C4;opacity:.8}
.ho-t em{font:italic 300 clamp(1.35rem,2.4vw,1.75rem)/1 'Cormorant Garamond',serif;color:#F7F5F1}
.ho-a{flex:none;width:46px;height:46px;border-radius:50%;background:#B5503A;display:flex;align-items:center;justify-content:center;font-size:18px;transition:transform .3s,background .3s}
.ho-a{position:relative}
.ho-a i{font-style:normal;display:block;animation:hoNudge 1.8s ease-in-out infinite}
.ho-a::after{content:"";position:absolute;inset:0;border-radius:50%;border:1px solid #B5503A;animation:hoPulse 2.4s ease-out infinite;pointer-events:none}
@keyframes hoNudge{0%,100%{transform:translateX(-2px)}50%{transform:translateX(5px)}}
@keyframes hoPulse{0%{transform:scale(1);opacity:.75}100%{transform:scale(1.6);opacity:0}}
.hero-offer:hover{border-color:#B5503A;background:rgba(200,97,74,.16)}
.hero-offer:hover .ho-a{transform:translateX(4px);background:#9C4130}
.call-fab{opacity:0;transform:translateY(16px);pointer-events:none;visibility:hidden;position:fixed;right:18px;bottom:92px;z-index:650;display:flex;align-items:center;gap:10px;height:52px;min-width:52px;padding:0 20px 0 16px;border-radius:26px;background:#B5503A;color:#fff!important;text-decoration:none;font:500 13px/1 'Space Grotesk',sans-serif;letter-spacing:.04em;box-shadow:0 8px 24px rgba(0,0,0,.28);transition:opacity .45s,transform .45s,background .2s,visibility .45s}
.call-fab.show{opacity:1;transform:none;pointer-events:auto;visibility:visible}
.call-fab.show:hover{background:#9C4130;transform:translateY(-2px)}
.call-fab svg{width:20px;height:20px;flex:none}
@media(max-width:700px){.call-fab{padding:0;width:52px;justify-content:center;right:14px;bottom:84px}.call-fab span{display:none}.hero-two span+span::before{display:none}}
.cs-cta{display:flex;flex-wrap:wrap;gap:12px;align-items:center;margin-top:30px;padding-top:24px;border-top:1px solid rgba(120,120,110,.25)}
.cs-cta a{font-family:'Space Mono',monospace;font-size:12px;letter-spacing:.12em;text-transform:uppercase;text-decoration:none;padding:13px 22px;border-radius:30px;border:1px solid #B5503A;color:#B5503A;transition:background .2s,color .2s}
.cs-cta a:last-child{background:#B5503A;color:#fff}
.cs-cta a.cs-more{border:0;border-bottom:1px solid currentColor;border-radius:0;padding:4px 0;color:#5E5D56;background:none!important;order:2}
.cs-cta a.cs-more:hover{color:#B5503A;background:none}
.cs-cta a:hover{background:#9C4130;color:#fff;border-color:#9C4130}
.ct-offer{max-width:520px;margin:0 0 34px;padding:6px 0 6px 22px;border-left:2px solid #B5503A}
.ct-offer-h{font-family:'Cormorant Garamond',serif;font-weight:300;font-size:clamp(1.6rem,3vw,2.3rem);line-height:1.05;margin-bottom:10px;color:var(--ink)}
.ct-offer-h em{font-style:italic;color:#B5503A}
.ct-offer-p{font-size:.95rem;line-height:1.7;color:var(--dim);margin:0}
.ct-call{margin-top:22px}
.ct-call a{display:inline-block;font-family:'Space Mono',monospace;font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:#fff;background:#B5503A;text-decoration:none;padding:14px 26px;border-radius:30px}
.ct-call a:hover{background:#9C4130}
.ft-legal{display:flex;flex-wrap:wrap;gap:6px 22px}.ft-legal a{color:inherit;opacity:.75;text-decoration:none;border-bottom:1px solid transparent}.ft-legal a:hover{opacity:1;border-color:currentColor}

.ct-offer{max-width:620px;margin:0 0 40px;padding:0;border:0}
.ct-kick{display:block;font:12px 'Space Mono',monospace;letter-spacing:.24em;text-transform:uppercase;color:#B5503A;margin-bottom:14px}
.ct-offer-h{font:300 clamp(3rem,8.5vw,6rem)/.95 'Cormorant Garamond',serif;letter-spacing:-.01em;color:var(--ink);margin:0 0 20px}
.ct-offer-h em{font-style:italic;color:#B5503A}
.ct-offer-p{font-size:1rem;line-height:1.8;color:var(--dim);margin:0;max-width:440px}
.ct-actions{display:flex;flex-wrap:wrap;align-items:center;gap:16px 30px}
.ct-wa{display:inline-flex;align-items:center;gap:12px;padding:15px 28px 15px 22px;border-radius:50px;background:#23221E;color:#F7F5F1;text-decoration:none;font:12px 'Space Mono',monospace;letter-spacing:.12em;text-transform:uppercase;transition:background .25s,transform .25s}
.ct-wa svg{width:20px;height:20px;flex:none;color:#B5503A}
.ct-wa:hover{background:#B5503A;transform:translateY(-2px)}.ct-wa:hover svg{color:#fff}
.ct-cal{display:inline-flex;align-items:center;padding:15px 30px;border-radius:50px;background:#B5503A;color:#fff;text-decoration:none;font:12px 'Space Mono',monospace;letter-spacing:.12em;text-transform:uppercase;transition:background .25s,transform .25s}
.ct-cal:hover{background:#9C4130;transform:translateY(-2px)}
.ct-mail{font:12px 'Space Mono',monospace;letter-spacing:.06em;color:#23221E;text-decoration:none;border-bottom:1px solid rgba(35,34,30,.3);padding:4px 0;transition:color .2s,border-color .2s}
.ct-mail:hover{color:#B5503A;border-color:#B5503A}

.bw-h2{color:#9DB094}.ft-legal a{opacity:1;color:#C9CBC6}.hero-scroll{color:rgba(201,213,196,.75)}

/* v85 — accessibilité et sobriété : grain figé, curseur natif, libellés lisibles */
#grain-overlay{animation:none!important}
#cursor-dot,#cursor-ring,#cursor-label{display:none!important}
:root{--dimmer:#B4BFAC}

@media(max-width:420px){nav ul li:nth-child(3){display:none}}

.ft-legal a,.ft-bot a,footer a{display:inline-block;padding:8px 6px}

/* H1 d'accueil = titre visible du hero */
.hero-h1{margin:0;padding:0;font:inherit;color:inherit;letter-spacing:inherit;text-transform:none;font-weight:inherit}
.hero-h1>span{display:block}
@media all{:where(img[width][height]){height:auto}}
