/* =====================================================================
   ICA · Inesse Cecilio Alouhmy · V2 « agence »
   Charte : ivoire, bordeaux, olive, fuchsia. Instrument Serif + Inter Tight.
   ===================================================================== */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0;}
:root{
  --ivoire-clair:#F8F5EE;
  --ivoire:#F2EDE0;
  --blanc:#FFFDF9;
  --bordeaux:#4A1A1F;
  --bordeaux-profond:#3B1418;
  --olive:#5A6130;
  --olive-clair:#B9BC94;
  --fuchsia:#E8458B;
  --fuchsia-fonce:#C93573;
  --rose:#F9D2DE;
  --ligne:#E3D8C4;
  --texte:#3B1418;
  --texte-doux:#6E5054;
  --serif:'Instrument Serif',Georgia,serif;
  --sans:'Inter Tight',system-ui,sans-serif;
  --pad:clamp(16px,4vw,56px);
  --max:1440px;
  --ease:cubic-bezier(.2,.7,.1,1);
}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%;}
body{background:var(--ivoire-clair);color:var(--texte);font-family:var(--sans);font-size:17px;line-height:1.6;-webkit-font-smoothing:antialiased;overflow-x:hidden;}
@media(max-width:700px){body{font-size:16px;}}
img{display:block;max-width:100%;height:auto;}
a{color:inherit;}
button{font:inherit;color:inherit;}
::selection{background:var(--fuchsia);color:var(--blanc);}
:focus-visible{outline:2px solid var(--fuchsia-fonce);outline-offset:3px;}
.sr-only{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0;}
.ic{width:1.1em;height:1.1em;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0;}

/* Grain discret sur tout le site */
body::after{content:'';position:fixed;inset:0;pointer-events:none;z-index:300;opacity:.05;mix-blend-mode:multiply;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");}

.wrap{max-width:var(--max);margin:0 auto;padding:0 var(--pad);}
.serif{font-family:var(--serif);font-weight:400;}
em,.it{font-family:var(--serif);font-style:italic;font-weight:400;}
.pk{color:var(--fuchsia);}

/* Petites étiquettes */
.eyebrow{display:inline-flex;align-items:center;gap:.6rem;font-size:.78rem;font-weight:500;letter-spacing:.14em;text-transform:uppercase;color:var(--olive);}
.eyebrow::before{content:'';width:8px;height:8px;border-radius:50%;background:var(--fuchsia);}
.tag{display:inline-flex;align-items:center;padding:.35rem .8rem;border:1px solid var(--ligne);border-radius:99px;font-size:.8rem;color:var(--texte-doux);background:var(--blanc);}
.tags{display:flex;flex-wrap:wrap;gap:.45rem;}

/* Titres */
.h-display{font-family:var(--serif);font-weight:400;font-size:clamp(3.6rem,13.5vw,15rem);line-height:.88;letter-spacing:-.025em;}
.h1{font-family:var(--serif);font-weight:400;font-size:clamp(3rem,8vw,8.5rem);line-height:.92;letter-spacing:-.02em;}
.h2{font-family:var(--serif);font-weight:400;font-size:clamp(2.4rem,5.4vw,5.2rem);line-height:.98;letter-spacing:-.015em;}
.h3{font-family:var(--serif);font-weight:400;font-size:clamp(1.7rem,2.6vw,2.4rem);line-height:1.08;}
.h1 em,.h2 em,.h-display em,.h3 em{color:var(--fuchsia);}
.lead{font-size:clamp(1.08rem,1.5vw,1.3rem);line-height:1.55;color:var(--texte);max-width:38ch;}
.muted{color:var(--texte-doux);}

/* Boutons */
.btn{display:inline-flex;align-items:center;gap:.6rem;padding:1rem 1.5rem;border-radius:99px;font-weight:500;font-size:.95rem;text-decoration:none;border:1px solid transparent;cursor:pointer;transition:background .3s var(--ease),color .3s var(--ease),border-color .3s,transform .3s var(--ease);}
.btn .ic{transition:transform .3s var(--ease);}
.btn:hover .ic{transform:translateX(4px);}
.btn-fill{background:var(--fuchsia-fonce);color:var(--blanc);}
.btn-fill:hover{background:var(--bordeaux);}
.btn-line{border-color:var(--bordeaux);color:var(--bordeaux);}
.btn-line:hover{background:var(--bordeaux);color:var(--ivoire-clair);}
.btn-light{background:var(--ivoire-clair);color:var(--bordeaux);}
.btn-light:hover{background:var(--rose);}
.link-u{text-decoration:none;background:linear-gradient(currentColor,currentColor) 0 100%/100% 1px no-repeat;padding-bottom:2px;transition:background-size .4s var(--ease);}
.link-u:hover{background-size:0 1px;background-position:100% 100%;}

/* ===== EN-TÊTE ===== */
.hd{position:fixed;top:0;left:0;right:0;z-index:100;transition:background .4s,box-shadow .4s,transform .4s var(--ease);}
.hd.scrolled{background:rgba(248,245,238,.86);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);box-shadow:0 1px 0 var(--ligne);}
.hd.hide{transform:translateY(-100%);}
.hd-in{display:flex;align-items:center;gap:1.5rem;height:76px;}
.logo{font-family:var(--serif);font-size:1.45rem;text-decoration:none;white-space:nowrap;margin-right:auto;line-height:1;}
.logo span{color:var(--fuchsia);font-style:italic;}
.nav{display:flex;gap:1.6rem;}
.nav a{font-size:.92rem;text-decoration:none;position:relative;padding:.3rem 0;}
.nav a::after{content:'';position:absolute;left:0;right:0;bottom:0;height:1px;background:currentColor;transform:scaleX(0);transform-origin:right;transition:transform .4s var(--ease);}
.nav a:hover::after,.nav a[aria-current="page"]::after{transform:scaleX(1);transform-origin:left;}
.nav a[aria-current="page"]{color:var(--fuchsia-fonce);}
.lang{display:flex;gap:.2rem;font-size:.82rem;}
.lang a,.lang span{padding:.3rem .45rem;text-decoration:none;border-radius:99px;}
.lang span{background:var(--bordeaux);color:var(--ivoire-clair);}
.hd-cta{padding:.7rem 1.15rem;font-size:.88rem;}
.burger{display:none;width:44px;height:44px;border-radius:50%;border:1px solid var(--bordeaux);background:none;cursor:pointer;align-items:center;justify-content:center;}
.burger .ic{width:20px;height:20px;}
@media(max-width:1180px){
  .nav,.hd-cta{display:none;}
  .burger{display:inline-flex;}
}
/* Menu plein écran */
.menu{position:fixed;inset:0;z-index:150;background:var(--bordeaux-profond);color:var(--ivoire-clair);display:flex;flex-direction:column;padding:1.2rem var(--pad) 2rem;clip-path:circle(0 at calc(100% - 40px) 40px);transition:clip-path .7s var(--ease);visibility:hidden;}
.menu.open{clip-path:circle(150% at calc(100% - 40px) 40px);visibility:visible;}
.menu-top{display:flex;justify-content:space-between;align-items:center;height:56px;}
.menu-close{width:44px;height:44px;border-radius:50%;border:1px solid var(--ivoire-clair);background:none;color:var(--ivoire-clair);cursor:pointer;display:flex;align-items:center;justify-content:center;}
.menu-links{list-style:none;margin:auto 0;display:flex;flex-direction:column;gap:.2rem;}
.menu-links a{font-family:var(--serif);font-size:clamp(2.4rem,9vw,4.6rem);line-height:1.05;text-decoration:none;display:inline-flex;align-items:baseline;gap:1rem;transition:color .3s,transform .4s var(--ease);}
.menu-links a small{font-family:var(--sans);font-size:.8rem;color:var(--olive-clair);}
.menu-links a:hover,.menu-links a[aria-current="page"]{color:var(--rose);transform:translateX(10px);}
.menu-foot{display:flex;flex-wrap:wrap;gap:1rem 2rem;justify-content:space-between;align-items:center;font-size:.9rem;color:var(--olive-clair);}
.menu-foot a{color:var(--ivoire-clair);}
body.menu-open{overflow:hidden;}

/* ===== HERO ACCUEIL ===== */
.hero{min-height:100svh;display:flex;flex-direction:column;justify-content:flex-end;padding:110px 0 2.2rem;position:relative;overflow:hidden;}
.hero-meta{display:flex;justify-content:space-between;gap:1rem;font-size:.85rem;color:var(--texte-doux);border-bottom:1px solid var(--ligne);padding-bottom:1rem;margin-bottom:clamp(1.5rem,5vh,3.5rem);}
.hero-meta b{font-weight:500;color:var(--texte);}
.clock{font-variant-numeric:tabular-nums;}
.hero-welcome{font-family:var(--serif);font-style:italic;font-size:clamp(1.6rem,3.4vw,3.2rem);color:var(--olive);line-height:1;margin-bottom:.2em;}
.hero-title{position:relative;}
.hero-title .line{display:block;overflow:hidden;}
.hero-title .line > span{display:inline-block;}
.hero-photo{position:absolute;right:0;top:-10%;width:clamp(120px,17vw,260px);aspect-ratio:4/5;border-radius:999px 999px 18px 18px;overflow:hidden;transform:rotate(4deg);box-shadow:0 30px 60px -30px rgba(59,20,24,.5);}
.hero-photo img{width:100%;height:100%;object-fit:cover;object-position:50% 40%;}
.hero-bottom{display:grid;grid-template-columns:1.1fr 1fr;gap:2rem;align-items:end;margin-top:clamp(1.6rem,4vh,3rem);}
.hero-actions{display:flex;flex-wrap:wrap;gap:.8rem;justify-content:flex-end;}
.hero-scroll{display:flex;align-items:center;gap:.6rem;font-size:.82rem;color:var(--texte-doux);margin-top:2rem;}
.hero-scroll i{display:block;width:1px;height:38px;background:var(--ligne);position:relative;overflow:hidden;}
.hero-scroll i::after{content:'';position:absolute;left:0;top:-40%;width:1px;height:40%;background:var(--fuchsia);animation:drip 2s infinite var(--ease);}
@keyframes drip{to{top:100%;}}
@media(max-width:820px){
  .hero{min-height:auto;padding-top:100px;}
  .hero-bottom{grid-template-columns:1fr;}
  .hero-actions{justify-content:flex-start;}
  .hero-photo{top:auto;bottom:calc(100% + .5rem);width:96px;}
  .hero-meta span:nth-child(2){display:none;}
}

/* ===== BANDEAU DÉFILANT ===== */
.marquee{border-top:1px solid var(--ligne);border-bottom:1px solid var(--ligne);overflow:hidden;padding:1.1rem 0;background:var(--ivoire);}
.marquee-track{display:flex;width:max-content;animation:marq 38s linear infinite;}
.marquee:hover .marquee-track{animation-play-state:paused;}
.marquee-track span{font-family:var(--serif);font-size:clamp(1.8rem,3.6vw,3.2rem);white-space:nowrap;padding:0 1.6rem;display:inline-flex;align-items:center;gap:3.2rem;}
.marquee-track span::after{content:'';width:.42em;height:.42em;background:var(--fuchsia);transform:rotate(45deg);}
.marquee-track span:nth-child(even){font-style:italic;color:var(--olive);}
@keyframes marq{to{transform:translateX(-50%);}}

/* ===== SECTIONS ===== */
.sec{padding:clamp(4.5rem,11vw,9.5rem) 0;}
.sec-sm{padding:clamp(3rem,7vw,6rem) 0;}
.sec-ivoire{background:var(--ivoire);}
.sec-dark{background:var(--bordeaux-profond);color:var(--ivoire-clair);}
.sec-dark .eyebrow{color:var(--olive-clair);}
.sec-dark .muted{color:#d8c5c1;}
.sec-head{display:grid;grid-template-columns:1fr 1fr;gap:2rem;align-items:end;margin-bottom:clamp(2.5rem,6vw,5rem);}
.sec-head .eyebrow{margin-bottom:1.2rem;}
@media(max-width:820px){.sec-head{grid-template-columns:1fr;}}

/* Grande phrase révélée mot à mot */
.statement{font-family:var(--serif);font-size:clamp(2rem,4.6vw,4.4rem);line-height:1.08;letter-spacing:-.01em;max-width:22ch;}
.statement .w{opacity:.14;transition:opacity .5s var(--ease);}
.statement .w.on{opacity:1;}
.statement-row{display:grid;grid-template-columns:auto 1fr;gap:clamp(1.5rem,5vw,6rem);}
.statement-side{font-size:.9rem;color:var(--texte-doux);max-width:22ch;padding-top:.8rem;}
@media(max-width:820px){.statement-row{grid-template-columns:1fr;}}

/* ===== RÉALISATIONS (accueil) ===== */
.work{display:grid;grid-template-columns:repeat(12,1fr);gap:clamp(1rem,2vw,2rem);}
.work-item{grid-column:span 6;text-decoration:none;display:block;}
.work-item.w7{grid-column:span 7;}
.work-item.w5{grid-column:span 5;}
.work-item.off{margin-top:clamp(0rem,8vw,7rem);}
.work-media{position:relative;overflow:hidden;border-radius:14px;background:var(--ivoire);aspect-ratio:4/3;}
.work-item.tall .work-media{aspect-ratio:4/5;}
.work-media img{width:100%;height:100%;object-fit:cover;object-position:top;transition:transform 1.1s var(--ease);}
.work-item:hover .work-media img{transform:scale(1.05);}
.work-badge{position:absolute;left:1rem;bottom:1rem;display:inline-flex;align-items:center;gap:.5rem;padding:.55rem .9rem;border-radius:99px;background:var(--blanc);color:var(--bordeaux);font-size:.82rem;font-weight:500;transform:translateY(130%);transition:transform .5s var(--ease);}
.work-item:hover .work-badge,.work-item:focus-visible .work-badge{transform:none;}
.work-info{display:flex;justify-content:space-between;gap:1rem;align-items:baseline;margin-top:1rem;}
.work-info h3{font-family:var(--serif);font-weight:400;font-size:clamp(1.5rem,2.2vw,2.1rem);line-height:1.1;}
.work-info p{font-size:.85rem;color:var(--texte-doux);white-space:nowrap;}
@media(max-width:820px){.work-item,.work-item.w7,.work-item.w5{grid-column:span 12;}.work-item.off{margin-top:0;}}

/* ===== SERVICES (liste) ===== */
.svc-list{border-top:1px solid var(--ligne);}
.svc{position:relative;display:grid;grid-template-columns:5rem 1.3fr 1fr auto;gap:1.5rem;align-items:center;padding:clamp(1.4rem,3vw,2.4rem) 0;border-bottom:1px solid var(--ligne);text-decoration:none;isolation:isolate;}
.svc::before{content:'';position:absolute;inset:0 calc(var(--pad) * -1);background:var(--rose);transform:scaleY(0);transform-origin:bottom;transition:transform .5s var(--ease);z-index:-1;}
.svc:hover::before{transform:scaleY(1);}
.svc-n{font-family:var(--serif);font-style:italic;font-size:1.4rem;color:var(--olive);}
.svc-name{font-family:var(--serif);font-size:clamp(2rem,4.2vw,3.8rem);line-height:1;transition:transform .5s var(--ease);}
.svc:hover .svc-name{transform:translateX(12px);}
.svc-b{color:var(--texte-doux);font-size:.98rem;}
.svc-b .tags{margin-top:.7rem;}
.svc-arr{width:56px;height:56px;border-radius:50%;border:1px solid var(--bordeaux);display:flex;align-items:center;justify-content:center;transition:background .4s,color .4s,transform .5s var(--ease);}
.svc:hover .svc-arr{background:var(--bordeaux);color:var(--ivoire-clair);transform:rotate(-45deg);}
.svc-thumb{position:absolute;right:7rem;top:50%;width:180px;aspect-ratio:4/3;border-radius:10px;overflow:hidden;transform:translateY(-50%) scale(.6) rotate(-6deg);opacity:0;transition:opacity .4s,transform .6s var(--ease);pointer-events:none;box-shadow:0 20px 40px -20px rgba(59,20,24,.45);}
.svc-thumb img{width:100%;height:100%;object-fit:cover;}
.svc:hover .svc-thumb{opacity:1;transform:translateY(-50%) scale(1) rotate(-3deg);}
@media(max-width:1100px){.svc-thumb{display:none;}}
@media(max-width:820px){.svc{grid-template-columns:1fr auto;gap:.8rem 1rem;}.svc-n{grid-column:1/-1;}.svc-b{grid-column:1/-1;grid-row:3;}.svc-arr{width:46px;height:46px;}}

/* ===== PROCESSUS ===== */
.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:0;border-top:1px solid rgba(248,245,238,.2);}
.step{padding:2rem 1.6rem 0 0;border-right:1px solid rgba(248,245,238,.2);}
.step + .step{padding-left:1.6rem;}
.step:last-child{border-right:none;}
.step-n{font-family:var(--serif);font-style:italic;font-size:clamp(3rem,5vw,4.6rem);line-height:1;color:var(--rose);}
.step h3{font-family:var(--serif);font-weight:400;font-size:1.65rem;margin:1rem 0 1.2rem;}
.step h4{font-size:.95rem;font-weight:600;margin-top:1rem;}
.step p{font-size:.95rem;color:#d8c5c1;}
@media(max-width:980px){.steps{grid-template-columns:1fr 1fr;}.step:nth-child(2){border-right:none;}.step:nth-child(3){padding-left:0;}}
@media(max-width:600px){.steps{grid-template-columns:1fr;}.step,.step + .step{padding:2rem 0;border-right:none;border-bottom:1px solid rgba(248,245,238,.2);}}

/* ===== À PROPOS (aperçu) ===== */
.about{display:grid;grid-template-columns:.9fr 1.1fr;gap:clamp(2rem,6vw,7rem);align-items:center;}
.about-photo{position:relative;border-radius:999px 999px 20px 20px;overflow:hidden;aspect-ratio:4/5;max-width:460px;}
.about-photo img{width:100%;height:100%;object-fit:cover;object-position:50% 40%;}
.about-sign{position:absolute;left:1.2rem;bottom:1.2rem;font-family:var(--serif);font-style:italic;font-size:1.6rem;color:var(--ivoire-clair);}
.about-text p{margin-bottom:1.1rem;max-width:56ch;}
.about-text .about-big{font-family:var(--serif);font-size:clamp(1.6rem,2.6vw,2.3rem);line-height:1.2;max-width:28ch;}
.langs{display:flex;flex-wrap:wrap;gap:.5rem;margin:1.8rem 0 2rem;}
.langs span{display:inline-flex;gap:.5rem;align-items:center;padding:.5rem .9rem;border-radius:99px;background:var(--blanc);border:1px solid var(--ligne);font-size:.88rem;}
.langs b{font-weight:600;color:var(--fuchsia-fonce);}
@media(max-width:820px){.about{grid-template-columns:1fr;}.about-photo{max-width:340px;}}

/* ===== ENGAGEMENTS ===== */
.promises{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem;}
.promise{background:var(--blanc);border:1px solid var(--ligne);border-radius:16px;padding:1.8rem 1.5rem;display:flex;flex-direction:column;gap:1rem;min-height:250px;transition:transform .5s var(--ease),box-shadow .5s;}
.promise:hover{transform:translateY(-6px);box-shadow:0 26px 50px -30px rgba(59,20,24,.35);}
.promise-big{font-family:var(--serif);font-size:clamp(2.6rem,4vw,3.6rem);line-height:1;color:var(--fuchsia-fonce);}
.promise h3{font-size:1.05rem;font-weight:600;margin-top:auto;}
.promise p{font-size:.92rem;color:var(--texte-doux);}
@media(max-width:980px){.promises{grid-template-columns:1fr 1fr;}}
@media(max-width:560px){.promises{grid-template-columns:1fr;}.promise{min-height:0;}}

/* ===== CONTACT ===== */
.contact{display:grid;grid-template-columns:1fr 1fr;gap:clamp(2rem,6vw,6rem);}
.contact .h-display{font-size:clamp(3.2rem,8.6vw,9rem);}
.contact-lines{display:flex;flex-direction:column;border-top:1px solid rgba(248,245,238,.2);margin-top:2.5rem;}
.contact-lines a{display:flex;justify-content:space-between;align-items:center;gap:1rem;padding:1.15rem 0;border-bottom:1px solid rgba(248,245,238,.2);text-decoration:none;font-size:1.05rem;transition:color .3s,padding .4s var(--ease);}
.contact-lines a:hover{color:var(--rose);padding-left:.6rem;}
.contact-lines span{display:flex;align-items:center;gap:.8rem;}
.contact-lines .ic{color:var(--rose);}
.contact-form{background:var(--ivoire-clair);border-radius:20px;padding:clamp(1.2rem,3vw,2.2rem);color:var(--texte);}
.contact-form iframe{width:100%;min-height:520px;border:0;}
.contact-form h3{font-family:var(--serif);font-weight:400;font-size:1.8rem;margin-bottom:.4rem;}
.reassure{list-style:none;display:flex;flex-wrap:wrap;gap:.5rem;margin-top:1.8rem;}
.reassure li{display:inline-flex;align-items:center;gap:.45rem;padding:.5rem .85rem;border-radius:99px;border:1px solid rgba(248,245,238,.25);font-size:.85rem;}
.reassure .ic{color:var(--rose);}
@media(max-width:900px){.contact{grid-template-columns:1fr;}}

/* ===== PIED DE PAGE ===== */
.ft{background:var(--bordeaux-profond);color:var(--ivoire-clair);padding:clamp(3rem,6vw,5rem) 0 2rem;border-top:1px solid rgba(248,245,238,.12);}
.ft-cols{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:2rem;padding-bottom:3rem;}
.ft h4{font-size:.78rem;font-weight:500;letter-spacing:.14em;text-transform:uppercase;color:var(--olive-clair);margin-bottom:1rem;}
.ft ul{list-style:none;display:flex;flex-direction:column;gap:.45rem;}
.ft a{text-decoration:none;color:var(--ivoire-clair);opacity:.85;transition:opacity .3s,color .3s;}
.ft a:hover{opacity:1;color:var(--rose);}
.ft-claim{font-family:var(--serif);font-size:clamp(1.6rem,2.6vw,2.4rem);line-height:1.15;max-width:18ch;}
.ft-word{font-family:var(--serif);font-size:clamp(3rem,12.2vw,13rem);line-height:.85;letter-spacing:-.03em;white-space:nowrap;border-top:1px solid rgba(248,245,238,.15);padding-top:2rem;}
.ft-word em{color:var(--fuchsia);}
.ft-bottom{display:flex;flex-wrap:wrap;justify-content:space-between;gap:1rem;margin-top:1.6rem;font-size:.85rem;color:#cdb9b5;}
@media(max-width:900px){.ft-cols{grid-template-columns:1fr 1fr;}.ft-cols > div:first-child{grid-column:1/-1;}.ft-word{white-space:normal;}}
@media(max-width:700px){.ft{padding-bottom:6rem;}}

/* ===== BULLE CONTACT ===== */
.bubble{position:fixed;right:18px;bottom:18px;z-index:120;display:flex;flex-direction:column;align-items:flex-end;gap:.7rem;}
.bubble-btn{display:inline-flex;align-items:center;gap:.5rem;padding:.85rem 1.15rem;border-radius:99px;border:none;background:var(--fuchsia-fonce);color:var(--blanc);font-weight:500;font-size:.9rem;cursor:pointer;box-shadow:0 14px 34px -14px rgba(59,20,24,.55);transition:background .3s,transform .4s var(--ease),opacity .4s;}
.bubble-btn:hover{background:var(--bordeaux);}
.bubble.away .bubble-btn{opacity:0;transform:translateY(20px);pointer-events:none;}
.bubble-panel{width:290px;max-width:calc(100vw - 36px);background:var(--blanc);border:1px solid var(--ligne);border-radius:18px;padding:.6rem;box-shadow:0 30px 60px -30px rgba(59,20,24,.45);}
.bubble-panel[hidden]{display:none;}
.bubble-head{display:flex;justify-content:space-between;align-items:center;padding:.5rem .6rem .7rem;font-family:var(--serif);font-size:1.35rem;}
.bubble-x{background:none;border:none;cursor:pointer;display:flex;padding:.3rem;}
.bubble-opt{display:flex;align-items:center;gap:.75rem;padding:.85rem .7rem;border-radius:12px;text-decoration:none;font-size:.92rem;overflow-wrap:anywhere;}
.bubble-opt .ic{color:var(--fuchsia-fonce);}
.bubble-opt:hover{background:var(--ivoire);}
body.menu-open .bubble{display:none;}

/* ===== PAGES SERVICES ===== */
.p-hero{padding:150px 0 clamp(3rem,7vw,6rem);}
.crumb{display:flex;gap:.6rem;font-size:.85rem;color:var(--texte-doux);margin-bottom:2rem;}
.crumb a{text-decoration:none;}
.crumb a:hover{color:var(--fuchsia-fonce);}
.p-hero-grid{display:grid;grid-template-columns:1.25fr .75fr;gap:clamp(2rem,5vw,5rem);align-items:end;margin-top:2.4rem;}
.p-hero-grid .lead{max-width:46ch;}
.for{background:var(--blanc);border:1px solid var(--ligne);border-radius:18px;padding:1.8rem;}
.for h2{font-size:.8rem;font-weight:500;letter-spacing:.14em;text-transform:uppercase;color:var(--olive);margin-bottom:.8rem;}
.for p{font-family:var(--serif);font-size:1.45rem;line-height:1.25;}
@media(max-width:900px){.p-hero-grid{grid-template-columns:1fr;}}
.deliver{list-style:none;display:grid;grid-template-columns:repeat(2,1fr);border-top:1px solid var(--ligne);}
.deliver li{display:flex;gap:1.2rem;align-items:baseline;padding:1.3rem 0;border-bottom:1px solid var(--ligne);font-size:1.08rem;}
.deliver li:nth-child(odd){padding-right:2rem;}
.deliver li span{font-family:var(--serif);font-style:italic;color:var(--fuchsia-fonce);font-size:1.2rem;min-width:2rem;}
@media(max-width:700px){.deliver{grid-template-columns:1fr;}.deliver li:nth-child(odd){padding-right:0;}}

/* Études de cas */
.case{display:grid;grid-template-columns:1.35fr 1fr;gap:clamp(1.5rem,5vw,5rem);align-items:center;padding:clamp(2.5rem,6vw,5rem) 0;border-top:1px solid var(--ligne);}
.case:nth-child(even){grid-template-columns:1fr 1.35fr;}
.case:nth-child(even) .case-media{order:2;}
.case-media{position:relative;border-radius:16px;overflow:hidden;background:var(--ivoire);cursor:pointer;border:none;padding:0;display:block;width:100%;aspect-ratio:16/11;}
.case-media img{width:100%;height:100%;object-fit:cover;object-position:top;transition:transform 1.1s var(--ease);}
.case-media:hover img{transform:scale(1.04);}
.case-media .work-badge{transform:none;}
.case-cat{margin-bottom:1rem;}
.case h3{font-family:var(--serif);font-weight:400;font-size:clamp(2rem,3.6vw,3.3rem);line-height:1.02;margin-bottom:1.2rem;}
.case p{color:var(--texte-doux);max-width:46ch;}
.case .btn{margin-top:1.6rem;}
@media(max-width:860px){.case,.case:nth-child(even){grid-template-columns:1fr;}.case:nth-child(even) .case-media{order:0;}}

/* Articles */
.articles{border-top:1px solid var(--ligne);}
.article{display:grid;grid-template-columns:4rem 1fr auto;gap:1.5rem;align-items:center;padding:1.6rem 0;border-bottom:1px solid var(--ligne);text-decoration:none;transition:padding .4s var(--ease);}
.article:hover{padding-left:.8rem;}
.article-n{font-family:var(--serif);font-style:italic;color:var(--olive);font-size:1.3rem;}
.article h3{font-family:var(--serif);font-weight:400;font-size:clamp(1.4rem,2.2vw,2rem);line-height:1.15;}
.article p{font-size:.92rem;color:var(--texte-doux);margin-top:.4rem;max-width:70ch;}
.article .svc-arr{width:48px;height:48px;}
.article:hover .svc-arr{background:var(--bordeaux);color:var(--ivoire-clair);transform:rotate(-45deg);}
@media(max-width:700px){.article{grid-template-columns:1fr auto;}.article-n{display:none;}}

/* Expertises campagnes */
.expertise{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;}
.exp{background:var(--blanc);border:1px solid var(--ligne);border-radius:18px;padding:2rem 1.7rem;}
.exp-label{font-size:.75rem;letter-spacing:.14em;text-transform:uppercase;color:var(--olive);}
.exp h3{font-family:var(--serif);font-weight:400;font-size:2rem;line-height:1.05;margin:.8rem 0 1rem;}
.exp > p{color:var(--texte-doux);font-size:.97rem;}
.exp ul{list-style:none;margin-top:1.4rem;border-top:1px solid var(--ligne);}
.exp li{padding:.85rem 0;border-bottom:1px solid var(--ligne);font-size:.93rem;}
.exp li b{font-weight:600;color:var(--bordeaux);}
@media(max-width:980px){.expertise{grid-template-columns:1fr;}}

/* Service suivant */
.next{display:block;text-decoration:none;padding:clamp(3rem,8vw,6rem) 0;border-top:1px solid var(--ligne);}
.next small{font-size:.85rem;color:var(--texte-doux);}
.next-row{display:flex;justify-content:space-between;align-items:center;gap:1rem;margin-top:.6rem;}
.next .h1{transition:color .4s;}
.next:hover .h1{color:var(--fuchsia-fonce);}
.next:hover .svc-arr{background:var(--bordeaux);color:var(--ivoire-clair);transform:rotate(-45deg);}
.quote-note{display:inline-flex;align-items:center;gap:.6rem;padding:.6rem 1rem;border-radius:99px;background:var(--rose);color:var(--bordeaux);font-weight:500;font-size:.9rem;}

/* ===== À PROPOS (page) ===== */
.ab-hero{padding:150px 0 clamp(3rem,7vw,5rem);}
.ab-grid{display:grid;grid-template-columns:1fr 1.2fr;gap:clamp(2rem,6vw,7rem);align-items:end;}
.ab-grid{align-items:center;}
.ab-grid .about-photo{max-width:440px;}
.notes{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;}
.note{border-top:2px solid var(--bordeaux);padding-top:1.4rem;}
.note-k{font-family:var(--serif);font-style:italic;font-size:1.4rem;color:var(--fuchsia-fonce);}
.note h3{font-family:var(--serif);font-weight:400;font-size:1.9rem;line-height:1.08;margin:.6rem 0 .9rem;}
.note p{color:var(--texte-doux);}
@media(max-width:860px){.notes{grid-template-columns:1fr;gap:2.5rem;}.ab-grid{grid-template-columns:1fr;}}
.timeline{border-top:1px solid var(--ligne);}
.job{display:grid;grid-template-columns:12rem 1fr 1.2fr;gap:2rem;padding:2.2rem 0;border-bottom:1px solid var(--ligne);}
.job-year{font-family:var(--serif);font-style:italic;font-size:1.4rem;color:var(--olive);}
.job h3{font-family:var(--serif);font-weight:400;font-size:clamp(1.7rem,2.6vw,2.4rem);line-height:1.08;}
.job p{color:var(--texte-doux);margin-bottom:1rem;}
@media(max-width:900px){.job{grid-template-columns:1fr;gap:.8rem;}}
.lang-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem;}
.lang-card{background:var(--blanc);border:1px solid var(--ligne);border-radius:18px;padding:1.6rem;min-height:240px;display:flex;flex-direction:column;}
.lang-iso{font-family:var(--serif);font-size:4rem;line-height:1;color:var(--fuchsia-fonce);}
.lang-card h3{font-size:1.05rem;font-weight:600;margin-top:auto;}
.lang-card p{font-size:.9rem;color:var(--texte-doux);}
.lang-card blockquote{font-family:var(--serif);font-style:italic;font-size:1.15rem;line-height:1.3;margin-top:.8rem;color:var(--bordeaux);}
@media(max-width:980px){.lang-grid{grid-template-columns:1fr 1fr;}}
@media(max-width:520px){.lang-grid{grid-template-columns:1fr;}}
.edu{display:grid;grid-template-columns:1fr 1fr;gap:1rem;}
.edu-card{border:1px solid rgba(248,245,238,.25);border-radius:18px;padding:2rem;}
.edu-card .job-year{color:var(--olive-clair);}
.edu-card h3{font-family:var(--serif);font-weight:400;font-size:1.9rem;line-height:1.1;margin:.8rem 0;}
@media(max-width:760px){.edu{grid-template-columns:1fr;}}
.tool-groups{display:grid;grid-template-columns:repeat(3,1fr);gap:2.5rem 2rem;}
.tool-group h3{font-size:.78rem;font-weight:500;letter-spacing:.14em;text-transform:uppercase;color:var(--olive);padding-bottom:.8rem;border-bottom:1px solid var(--ligne);margin-bottom:.8rem;}
.tool-group ul{list-style:none;}
.tool-group li{font-family:var(--serif);font-size:1.7rem;line-height:1.35;}
@media(max-width:860px){.tool-groups{grid-template-columns:1fr 1fr;}}

/* ===== FAQ / BLOG / LÉGAL ===== */
.faq-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:clamp(2rem,6vw,6rem);align-items:start;}
.faq-side{position:sticky;top:110px;}
.faq details{border-bottom:1px solid var(--ligne);}
.faq details:first-child{border-top:1px solid var(--ligne);}
.faq summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;gap:1.5rem;align-items:center;padding:1.6rem 0;font-family:var(--serif);font-size:clamp(1.4rem,2.2vw,2rem);line-height:1.15;}
.faq summary::-webkit-details-marker{display:none;}
.faq summary i{flex-shrink:0;width:42px;height:42px;border-radius:50%;border:1px solid var(--bordeaux);position:relative;transition:background .3s,transform .5s var(--ease);}
.faq summary i::before,.faq summary i::after{content:'';position:absolute;left:50%;top:50%;width:14px;height:1.5px;background:currentColor;transform:translate(-50%,-50%);}
.faq summary i::after{transform:translate(-50%,-50%) rotate(90deg);transition:transform .4s var(--ease);}
.faq details[open] summary i{background:var(--bordeaux);color:var(--ivoire-clair);}
.faq details[open] summary i::after{transform:translate(-50%,-50%) rotate(0);}
.faq details p{padding:0 3.5rem 1.8rem 0;color:var(--texte-doux);max-width:62ch;}
@media(max-width:860px){.faq-grid{grid-template-columns:1fr;}.faq-side{position:static;}}
.empty{border:1px dashed var(--ligne);border-radius:20px;padding:clamp(2.5rem,7vw,5rem);text-align:center;}
.empty .h2{margin:1rem 0;}
.legal{max-width:760px;border-top:1px solid var(--ligne);}
.legal div{display:grid;grid-template-columns:14rem 1fr;gap:1.5rem;padding:1.4rem 0;border-bottom:1px solid var(--ligne);}
.legal dt{font-weight:600;}
.legal dd a{color:var(--fuchsia-fonce);}
@media(max-width:700px){.legal div{grid-template-columns:1fr;gap:.3rem;}}

/* ===== VISIONNEUSE ===== */
.lb{position:fixed;inset:0;z-index:400;background:rgba(30,10,12,.94);display:none;align-items:center;justify-content:center;padding:clamp(16px,4vw,48px);}
.lb.open{display:flex;}
.lb figure{max-width:min(1200px,100%);text-align:center;}
.lb img{max-height:80vh;width:auto;margin:0 auto;border-radius:8px;}
.lb figcaption{color:var(--ivoire-clair);font-family:var(--serif);font-size:1.3rem;margin-top:1rem;}
.lb-close{position:absolute;top:16px;right:16px;width:48px;height:48px;border-radius:50%;border:1px solid var(--ivoire-clair);background:none;color:var(--ivoire-clair);cursor:pointer;display:flex;align-items:center;justify-content:center;}
.lb-nav{display:flex;justify-content:center;align-items:center;gap:1.2rem;margin-top:1rem;color:var(--ivoire-clair);font-size:.9rem;}
.lb-nav button{border:1px solid rgba(248,245,238,.5);background:none;color:var(--ivoire-clair);border-radius:99px;padding:.55rem 1rem;cursor:pointer;}
.lb-nav button:disabled{opacity:.3;cursor:default;}

/* ===== APPARITIONS AU DÉFILEMENT ===== */
.js .rv{opacity:0;transform:translateY(40px);transition:opacity 1s var(--ease),transform 1s var(--ease);}
.js .rv.in{opacity:1;transform:none;}
.js .rv-d1{transition-delay:.1s;}.js .rv-d2{transition-delay:.2s;}.js .rv-d3{transition-delay:.3s;}
.js .hero-title .line > span{transform:translateY(105%);transition:transform 1.2s var(--ease);}
.js .loaded .hero-title .line > span{transform:none;}
.js .loaded .hero-title .line:nth-child(2) > span{transition-delay:.12s;}
.js .loaded .hero-title .line:nth-child(3) > span{transition-delay:.24s;}
.js .img-rv{clip-path:inset(100% 0 0 0);transition:clip-path 1.3s var(--ease);}
.js .img-rv.in{clip-path:inset(0 0 0 0);}
@media(prefers-reduced-motion:reduce){
  *,*::before,*::after{animation:none!important;transition:none!important;}
  .js .rv,.js .img-rv,.js .hero-title .line > span{opacity:1;transform:none;clip-path:none;}
  .statement .w{opacity:1;}
  html{scroll-behavior:auto;}
}

/* Correctifs mobile */
.menu-foot .btn-light{color:var(--bordeaux);}
.menu-foot .lang-inline a{margin-left:.4rem;}
@media(max-width:820px){
  .h-display{font-size:clamp(3.6rem,20vw,9rem);}
  .hero-photo{position:relative;top:auto;right:auto;bottom:auto;display:block;width:118px;margin:1.2rem 0 0 auto;}
}
