.portfolio{background:#f3f0e8;padding-bottom:65px}.portfolio-heading{padding-bottom:50px!important}.project-grid{display:grid;grid-template-columns:1fr 1fr;gap:65px 36px;padding:0 5%}.project img{display:block;width:100%;height:350px;object-fit:cover;background:#d9ded5}.project-info{padding:23px 0 0}.project-info .eyebrow{font-size:12px;color:#193c31}.project-info h3{margin:13px 0 15px;font-size:28px}.project-info p{max-width:610px}.archive-label{display:inline-block;font-size:12px;border:1px solid #c3ccc1;padding:7px 10px;margin-top:8px}.archive-source{margin:55px 5% 0;font-size:13px;max-width:800px}.archive-source a{text-decoration:underline;text-underline-offset:4px}@media(max-width:800px){.project-grid{grid-template-columns:1fr;gap:45px;padding:0 6%}.project img{height:280px}.portfolio{padding-bottom:45px}.archive-source{margin:35px 6% 0}}
:root{--green:#527b68;--deep:#193c31;--ink:#171c19;--paper:#f3f0e8;--line:#cdd3cb;font-family:'DM Sans',Arial,sans-serif;color:var(--ink);background:#fff;scroll-behavior:smooth}*{box-sizing:border-box}body{margin:0}a{color:inherit;text-decoration:none}button{font:inherit}a:focus-visible,button:focus-visible{outline:3px solid #986044;outline-offset:6px}.skip{position:absolute;left:20px;top:-100px;background:#fff;padding:15px;z-index:9}.skip:focus{top:10px}header{display:flex;justify-content:space-between;align-items:center;padding:28px 5%;border-bottom:1px solid var(--line);gap:30px}.brand{font-family:Manrope,Arial,sans-serif;font-size:25px;letter-spacing:4px;font-weight:600}.brand span{display:block;font-family:'DM Sans',Arial,sans-serif;letter-spacing:0;font-size:12px;font-weight:400;margin-top:5px}nav{display:flex;gap:30px;font-size:14px}nav a:hover{text-decoration:underline;text-underline-offset:7px}.menu{display:none}.hero{padding:60px 5% 0;background:var(--paper);overflow:hidden}.eyebrow{font-size:13px;font-weight:600;letter-spacing:1.4px;line-height:1.6}.hero-title{display:flex;align-items:center;justify-content:space-between;gap:40px}.hero h1{font-family:Manrope,Arial,sans-serif;font-size:clamp(48px,6.5vw,98px);line-height:1.07;font-weight:500;letter-spacing:-5px;margin:42px 0}em{font-family:Georgia,serif;font-weight:400;color:var(--green)}.hero-title img{width:19%;height:auto;max-width:250px}.hero-bottom{display:flex;align-items:center;justify-content:space-between;margin:10px 0 66px}.hero-bottom p{font-size:19px;line-height:1.65}.round-link{font-size:15px;display:flex;align-items:center;gap:23px}.round-link span{border:1px solid var(--ink);border-radius:50%;display:grid;place-items:center;width:48px;height:48px;font-size:24px}.wordmark{color:var(--deep);margin-bottom:-5px}.wordmark svg{display:block;width:100%;height:auto}.section{display:grid;grid-template-columns:1fr 2.25fr;gap:5%;padding:110px 5%}h2{font-family:Manrope,Arial,sans-serif;font-size:clamp(34px,3.8vw,58px);font-weight:500;letter-spacing:-2px;line-height:1.16;margin:0 0 30px}.lead{font-size:21px;line-height:1.65;max-width:760px}.services{padding:0 5% 90px;display:grid;grid-template-columns:repeat(3,1fr);gap:36px}.services article{border-top:1px solid var(--ink);padding-top:25px}.number{font-size:14px;color:var(--deep)}h3{font-family:Manrope,Arial,sans-serif;font-size:30px;font-weight:500;letter-spacing:-.8px;margin:22px 0}p{line-height:1.7;font-size:17px}.services ul{list-style:none;padding:0;font-size:14px;line-height:2.2;margin-top:32px}.services li{border-bottom:1px solid #e2e6df;padding:7px 0}.vision{margin:0;background:var(--paper)}.vision img{display:block;width:100%;max-height:650px;object-fit:cover;object-position:center 47%}.vision figcaption{font-size:13px;padding:18px 5%;color:var(--deep)}.steps{margin-top:50px}.steps article{display:flex;gap:32px;border-top:1px solid var(--line);padding:23px 0}.steps span{font-size:14px;padding-top:6px;color:var(--green)}.steps h3{margin:0;font-size:26px}.steps p{margin:12px 0;max-width:600px}.heritage{background:var(--deep);color:white}.heritage .eyebrow{color:#d6e3d9}.decade{font-size:140px;letter-spacing:-8px;line-height:1;font-family:Manrope,Arial,sans-serif;margin-bottom:48px}.decade span{font-size:15px;letter-spacing:0;display:inline-block;margin-left:25px}.heritage h2{max-width:850px}.heritage p{color:#e0e9e1}.dialogue{padding:105px 5%;background:var(--paper)}.dialogue h2{font-size:clamp(50px,7vw,100px);margin-top:38px}.contact-slot{border-top:1px solid #bdc6bc;padding-top:25px;margin-top:45px;font-size:15px}footer{display:flex;justify-content:space-between;gap:25px;flex-wrap:wrap;padding:35px 5%;font-size:13px}section[id]{scroll-margin-top:30px}@media(min-width:1600px){header,.hero,.section,.services,.dialogue,footer{padding-left:max(5%,calc((100vw - 1500px)/2));padding-right:max(5%,calc((100vw - 1500px)/2))}}@media(max-width:800px){header{padding:22px 6%;flex-wrap:wrap}.brand span{font-size:12px}.menu{display:block;background:none;border:1px solid var(--line);padding:10px 15px;font-size:14px}nav{display:none;width:100%;flex-direction:column;padding:20px 0 8px;gap:23px}nav.open{display:flex}.hero{padding:42px 6% 0}.hero h1{font-size:clamp(42px,8.5vw,70px);letter-spacing:-2.5px}.hero-title{gap:8px}.hero-title img{width:18%}.hero-bottom{align-items:flex-start;flex-direction:column;gap:15px;margin-bottom:45px}.hero-bottom p{font-size:17px}.section{grid-template-columns:1fr;padding:65px 6%;gap:28px}.services{grid-template-columns:1fr;padding:0 6% 65px;gap:40px}.services h3{font-size:34px}.services ul{margin-top:20px}.lead{font-size:19px}h2{letter-spacing:-1.2px}.vision img{height:380px;object-position:center}.decade{font-size:110px;letter-spacing:-6px}.decade span{font-size:14px;margin-left:20px}.dialogue{padding:65px 6%}.dialogue h2{letter-spacing:-2px}.steps article{gap:22px}footer{padding:30px 6%;flex-direction:column}}@media(prefers-reduced-motion:reduce){:root{scroll-behavior:auto}}

/* AVOKA — conceptual visual series */
.services .expertise-art{margin:0 0 28px;overflow:hidden;background:#193c31;aspect-ratio:3/2}.expertise-art img{width:100%;height:100%;display:block;object-fit:cover}.services article{padding-top:0;border-top:0}.services .number{display:block;padding-top:20px;border-top:1px solid var(--line)}@media(max-width:800px){.services .expertise-art{margin-bottom:22px}}

/* Green rhythm and client-focused services */
header,footer{background:var(--deep);color:#fff}nav{gap:22px}.hero{background:#e5eddf}.hero h1 em{display:inline;transform:none;font-style:italic;vertical-align:baseline}.hero-line{white-space:nowrap}.hero-title img{animation:avoka-breathe 7s ease-in-out infinite}.intro,.services{background:#193c31;color:#fff}.services .number{color:#c5df9e}.services li{border-color:#486557}.method{background:#e1ebdd}.dialogue{background:#a6c3aa}.dialogue em{color:#193c31}.portfolio{background:#f0f3eb}.audiences{padding:100px 5%;background:#f0f3eb}.audiences>h2{margin-top:24px}.audience-tabs{display:flex;gap:8px;flex-wrap:wrap;margin:40px 0 0;border-bottom:1px solid #a8b9aa;padding-bottom:18px}.audience-tabs button{padding:13px 18px;border:1px solid #98ad9c;border-radius:30px;color:#193c31;background:transparent;cursor:pointer;font-size:15px}.audience-tabs button[aria-selected=true]{background:#193c31;color:white;border-color:#193c31}.audience-panel{padding:40px 0 0}.audience-panel[hidden]{display:none}.panel-intro{max-width:850px}.panel-intro h3{font-size:clamp(30px,3vw,46px);margin:14px 0}.panel-intro p{font-size:20px}.needs-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:32px;margin:35px 0}.needs-grid>div{border-top:1px solid #9eafa0;padding-top:20px}.needs-grid h4{font-family:Manrope,Arial,sans-serif;font-size:22px;line-height:1.3;margin:0 0 16px;font-weight:500}.needs-grid p{margin:0}.deliverables{padding:22px 25px;background:#dce8d6}.deliverables strong{display:block;font-size:14px;text-transform:uppercase;letter-spacing:1px;margin-bottom:7px}.text-link{display:inline-block;border-bottom:1px solid currentColor;padding:8px 0;margin-top:12px;font-size:16px}.crisis{background:#b7d780;color:#193c31}.crisis-mark{display:block;font-size:140px;font-weight:400;margin-top:25px}.crisis-steps{margin-top:40px}.crisis-steps article{border-top:1px solid #769656;padding:25px 0 10px}.crisis-steps span{font-size:14px;letter-spacing:1px}.crisis-steps h3{font-size:25px;margin:12px 0}.crisis-steps p{margin:0 0 15px}.brand span,.eyebrow,.archive-label,.archive-source,.vision figcaption,footer{font-size:14px}@keyframes avoka-breathe{50%{transform:translateY(-8px) rotate(3deg)}}@media(max-width:1100px){nav{gap:15px;font-size:13px}}@media(max-width:800px){.audiences{padding:65px 6%}.audience-tabs{gap:8px}.audience-tabs button{font-size:14px;padding:11px 14px}.needs-grid{grid-template-columns:1fr;gap:25px}.panel-intro p{font-size:18px}.crisis-mark{display:none}.hero h1{font-size:clamp(36px,8vw,65px)}nav{font-size:16px}}@media(prefers-reduced-motion:reduce){.hero-title img{animation:none}}

.conviction{background:#193c31;color:#fff}.conviction em{color:#b7d780}.conviction p{max-width:780px}

@media(max-width:800px){.hero h1{font-size:clamp(25px,6.5vw,52px);letter-spacing:-1.5px}.hero-title img{flex-shrink:0}}

.profile-block{padding:65px 0;border-top:1px solid #b2c2b0;margin-top:45px}.profile-top{display:grid;grid-template-columns:1.1fr 1fr;gap:6%;align-items:center}.profile-top figure{margin:0;aspect-ratio:4/3;overflow:hidden;background:#cbd9c6}.profile-top img{width:100%;height:100%;object-fit:cover;display:block}.profile-top .panel-intro h3{font-size:clamp(30px,3.2vw,49px)}.profile-block:nth-of-type(even) .profile-top figure{order:2}.profile-block .needs-grid{margin-top:45px}.talent-photos{display:grid;grid-template-columns:1fr 1fr;height:100%;gap:8px}.talent-photos img{min-width:0}.photo-note{font-size:14px;max-width:850px}.photo-note a{text-decoration:underline}.case-details summary{cursor:pointer;padding:20px 0;margin-top:20px;border-top:1px solid #a8b9aa;font-size:17px}.case-details img{height:auto;max-height:550px;object-fit:contain;margin-top:20px}.portfolio h1{font-family:Manrope,Arial,sans-serif;font-size:clamp(40px,5vw,72px);line-height:1.1;margin:0 0 30px}.project-grid .project{border-top:1px solid #a8b9aa}.credits-list{max-width:950px;padding:70px 6%;margin:auto}.credits-list a{text-decoration:underline;overflow-wrap:anywhere}@media(max-width:800px){.profile-top{grid-template-columns:1fr;gap:25px}.profile-block:nth-of-type(even) .profile-top figure{order:0}.profile-block{padding:40px 0;margin-top:30px}.profile-top .panel-intro p{font-size:18px}}

#profil-dirigeants .profile-top img{object-position:center 28%}.talent-photos img:first-child{object-position:center 30%}

/* Audience names lead each editorial spread. */
.profile-top{grid-template-columns:1fr 1.12fr;gap:5%}.profile-top .panel-intro .profile-title{font-family:Manrope,Arial,sans-serif;font-size:clamp(38px,4.7vw,72px);font-weight:500;line-height:1.04;letter-spacing:-2.8px;margin:0 0 28px;overflow-wrap:normal}.profile-title em{font-family:Georgia,serif;color:#527b68}.profile-top .panel-intro .profile-promise{font-family:Manrope,Arial,sans-serif;font-size:23px;line-height:1.35;margin:0 0 20px;letter-spacing:-.5px}.profile-top figure{aspect-ratio:4/3}.crisis{grid-template-columns:1fr 1.12fr;gap:5%}.crisis-heading h2{font-size:clamp(56px,7.5vw,115px);letter-spacing:-4px;line-height:1.03}.crisis-heading em{color:#35542d}.crisis-promise{font-size:clamp(28px,3vw,43px);line-height:1.2;margin:0 0 24px}.crisis .lead{font-size:20px}@media(max-width:800px){.profile-top,.crisis{grid-template-columns:1fr}.profile-top .panel-intro .profile-title{font-size:clamp(35px,8.5vw,60px);letter-spacing:-1.5px}.profile-top .panel-intro .profile-promise{font-size:21px}.crisis-heading h2{font-size:clamp(58px,13vw,90px);letter-spacing:-2.5px}}

.services .expertise-icon{display:grid;place-items:center;background:#28523f;color:#d2e9b4;aspect-ratio:3/2;border:1px solid #416950}.expertise-icon svg{width:30%;max-width:130px;height:auto;overflow:visible}.services article:nth-child(2) .expertise-icon{background:#345f49}.services article:nth-child(3) .expertise-icon{background:#406e54}

.region{background:#e1ebdd}

.expertise-directory{padding:95px 5%;background:#193c31;color:#eef2e8}.expertise-directory h2{margin-top:25px}.expertise-list{margin-top:45px}.expertise-list details{border-top:1px solid #66816a}.expertise-list summary{list-style:none;display:flex;align-items:center;gap:25px;padding:25px 0;cursor:pointer;font-family:Manrope,Arial,sans-serif;font-size:clamp(24px,3vw,42px);line-height:1.2}.expertise-list summary::-webkit-details-marker{display:none}.expertise-num{font-size:14px;color:#c5df9e;min-width:30px}.expertise-plus{margin-left:auto;color:#c5df9e}.expertise-list details[open] .expertise-plus{transform:rotate(45deg)}.expertise-body{max-width:850px;padding:0 0 30px 55px}.expertise-body h3{font-size:25px;color:#c5df9e}.expertise-body p{font-size:18px}.references-page{padding:90px 6%;background:#eef2e8}.references-page h1{font-size:clamp(38px,5vw,65px);font-weight:500;line-height:1.1}.reference-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:35px;margin:60px 0}.reference-cards article{border-top:1px solid #78977c;padding-top:20px}.reference-cards span{font-size:14px}.reference-cards h2{font-size:30px;letter-spacing:-1px;margin-top:25px}.contact-slot a{text-decoration:underline;text-underline-offset:5px}@media(max-width:800px){.reference-cards{grid-template-columns:1fr}.expertise-body{padding-left:0}.expertise-list summary{gap:15px}.expertise-directory{padding:65px 6%}}

.reference-cards .case-details img{display:block;width:100%;height:auto}.reference-cards .case-details h3{font-size:22px}

/* Preserve wide contextual photography without tight portrait cropping. */
.profile-top figure{aspect-ratio:16/9}.profile-top img{object-position:center!important}.profile-top{grid-template-columns:1.15fr 1fr;gap:4%}@media(max-width:800px){.profile-top{grid-template-columns:1fr}.profile-top figure{aspect-ratio:16/9}}
.team-section{background:#f3f1eb;display:grid;gap:3rem}.team-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;background:rgba(20,30,25,.18)}.team-grid article{background:#f3f1eb;padding:2rem}.team-grid article span{font-size:.72rem;letter-spacing:.12em;color:#527b68}.team-grid h3{font-size:1.45rem;margin:.7rem 0}.team-featured{background:#dfe8e1!important}.team-network{margin-top:1.5rem;max-width:72rem}.territory-intro{display:flex;flex-wrap:wrap;gap:1rem;margin:2rem 0 3rem}.territory-intro>*{border-top:1px solid currentColor;padding-top:.75rem;min-width:13rem}.territory-intro strong{width:100%}@media(max-width:850px){.team-grid{grid-template-columns:1fr}.territory-intro{display:grid}}
.case-sources{display:grid;gap:.55rem;margin-top:1.35rem;padding-top:1rem;border-top:1px solid rgba(21,33,27,.18)}.case-sources strong{font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;color:#527b68}.case-sources a{color:inherit;text-decoration:none;border-bottom:1px solid rgba(21,33,27,.28);padding-bottom:.25rem;width:fit-content}.case-sources a:hover{border-color:#527b68}.case-sources small{color:#59655f;font-size:.72rem;line-height:1.5}

/* ===== AVOKA v2 — navigation, blocs et mouvement ===== */
:root{--ease:cubic-bezier(.2,.7,.2,1);--lime:#c5df9e;interpolate-size:allow-keywords}
html{scroll-padding-top:84px}
section[id],article[id]{scroll-margin-top:84px}
img{max-width:100%}

/* Focus visible lisible sur fond sombre */
header :focus-visible,footer :focus-visible,.conviction :focus-visible,.heritage :focus-visible,.expertise-directory :focus-visible{outline-color:var(--lime)}
.nav-sub :focus-visible{outline-color:var(--deep)}

/* En-tête sticky */
header{position:sticky;top:0;z-index:100;background:var(--deep);border-bottom-color:rgba(255,255,255,.1);transition:padding .35s var(--ease),box-shadow .35s}
@supports(backdrop-filter:blur(1px)){header.is-scrolled{background:rgba(25,60,49,.92);backdrop-filter:saturate(140%) blur(12px)}}
header.is-scrolled{padding-top:14px;padding-bottom:14px;box-shadow:0 14px 30px -20px rgba(0,0,0,.6)}
.brand span{max-height:22px;overflow:hidden;transition:max-height .35s var(--ease),opacity .25s,margin .35s var(--ease)}
header.is-scrolled .brand span{max-height:0;opacity:0;margin-top:0}
.progress{position:absolute;left:0;right:0;bottom:-1px;height:3px;background:var(--lime);transform-origin:0 50%;transform:scaleX(0);pointer-events:none}

/* Liens de navigation */
nav{align-items:center}
nav>a,.nav-more{position:relative;padding:8px 2px;color:inherit;transition:color .25s}
nav a:hover{text-decoration:none}
nav>a:not(.nav-cta)::after{content:"";position:absolute;left:2px;right:2px;bottom:2px;height:1px;background:var(--lime);transform:scaleX(0);transform-origin:0 50%;transition:transform .35s var(--ease)}
nav>a:not(.nav-cta):hover::after,nav>a.is-active::after{transform:scaleX(1)}
nav>a:not(.nav-cta):hover,nav>a.is-active,.nav-more:hover,.nav-group.has-active .nav-more{color:var(--lime)}
.nav-more{display:inline-flex;align-items:center;gap:9px;border:0;background:none;cursor:pointer;font-size:inherit}
.nav-more::after{content:"";width:6px;height:6px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:rotate(45deg) translateY(-2px);transition:transform .3s var(--ease)}
.nav-group.open .nav-more::after{transform:rotate(225deg) translateY(-2px)}
.nav-cta{background:var(--lime);color:var(--deep)!important;padding:11px 18px!important;border-radius:999px;font-weight:600;transition:background-color .25s,transform .25s var(--ease)}
.nav-cta:hover{background:#fff;transform:translateY(-2px)}
.nav-cta span{display:inline-block;transition:transform .25s var(--ease)}
.nav-cta:hover span{transform:translate(2px,-2px)}

/* Sous-menu « L’agence » */
.nav-group{position:relative}
.nav-sub{position:absolute;right:0;top:calc(100% + 16px);min-width:240px;display:grid;gap:2px;padding:8px;background:#fff;color:var(--ink);border-radius:12px;box-shadow:0 26px 50px -20px rgba(0,0,0,.55);opacity:0;visibility:hidden;transform:translateY(8px);transition:opacity .25s var(--ease),transform .25s var(--ease),visibility .25s}
.nav-sub::before{content:"";position:absolute;left:0;right:0;top:-18px;height:18px}
.nav-sub a{padding:11px 14px;border-radius:8px;font-size:14px;transition:background-color .2s,color .2s}
.nav-sub a:hover,.nav-sub a.is-active{background:#e5eddf;color:var(--deep)}
.nav-sub a.is-active{font-weight:600}
.nav-group.open .nav-sub{opacity:1;visibility:visible;transform:none}
@media(hover:hover) and (min-width:801px){.nav-group:hover .nav-sub{opacity:1;visibility:visible;transform:none}}

/* Bouton menu mobile */
.menu{align-items:center;gap:12px;color:#fff;background:transparent;border:1px solid rgba(255,255,255,.35);border-radius:999px;padding:9px 16px;cursor:pointer}
.menu-icon{position:relative;display:block;width:18px;height:10px}
.menu-icon i{position:absolute;left:0;right:0;height:1.5px;background:currentColor;transition:transform .35s var(--ease),top .35s var(--ease)}
.menu-icon i:first-child{top:0}.menu-icon i:last-child{top:8px}
.menu[aria-expanded=true] .menu-icon i:first-child{top:4px;transform:rotate(45deg)}
.menu[aria-expanded=true] .menu-icon i:last-child{top:4px;transform:rotate(-45deg)}

@media(max-width:1100px){nav{gap:18px}}
@media(max-width:800px){
  html.nav-open{overflow:hidden}
  header{flex-wrap:nowrap;align-items:center}
  .menu{display:inline-flex;color:#fff;border-color:rgba(255,255,255,.35)}
  nav{display:flex;position:absolute;left:0;right:0;top:100%;width:auto;height:calc(100dvh - 100%);flex-direction:column;align-items:stretch;gap:0;padding:8px 6% 40px;overflow:auto;background:var(--deep);opacity:0;visibility:hidden;transform:translateY(-10px);transition:opacity .3s var(--ease),transform .3s var(--ease),visibility .3s}
  nav.open{opacity:1;visibility:visible;transform:none}
  nav>a,.nav-more{width:100%;justify-content:space-between;padding:19px 0;font-family:Manrope,Arial,sans-serif;font-size:24px;letter-spacing:-.5px;border-bottom:1px solid rgba(255,255,255,.14)}
  nav>a::after{display:none}
  .nav-more::after{width:9px;height:9px}
  .nav-sub{position:static;display:none;min-width:0;padding:4px 0 10px 14px;background:transparent;color:#fff;box-shadow:none;border-radius:0;opacity:1;visibility:visible;transform:none}
  .nav-sub::before{display:none}
  .nav-group.open .nav-sub{display:grid}
  .nav-sub a{padding:12px 0;font-size:18px;color:#d6e3d9;border-radius:0}
  .nav-sub a:hover,.nav-sub a.is-active{background:none;color:var(--lime)}
  .nav-cta{margin-top:26px;justify-content:center;text-align:center;font-family:'DM Sans',Arial,sans-serif;font-size:18px;letter-spacing:0;border-bottom:0;padding:17px 20px!important}
  .hero h1{font-size:clamp(28px,9.2vw,60px);letter-spacing:-1.5px}
}

/* Hero : entrée au chargement */
@keyframes rise{from{opacity:0;transform:translateY(26px)}}
@keyframes pop{from{opacity:0;scale:.82;rotate:-8deg}}
.hero .eyebrow{animation:rise .8s var(--ease) both}
.hero h1{animation:rise 1s .12s var(--ease) both}
.hero-title img{animation:pop 1s .3s var(--ease) both,avoka-breathe 7s 1.3s ease-in-out infinite}
.hero-bottom{animation:rise 1s .45s var(--ease) both}
.round-link span{transition:background-color .3s,color .3s,transform .3s var(--ease)}
.round-link:hover span{background:var(--deep);color:#fff;border-color:var(--deep);transform:translateY(5px)}
.wordmark path,.wordmark circle{stroke-dasharray:1;stroke-dashoffset:0}
.js .wordmark path,.js .wordmark circle{stroke-dashoffset:1;transition:stroke-dashoffset 2.4s cubic-bezier(.6,0,.2,1)}
.js .wordmark.in path,.js .wordmark.in circle{stroke-dashoffset:0}

/* Apparition au scroll (classes posées par app.js) */
.js .reveal{opacity:0;transform:translateY(30px);transition:opacity .85s var(--ease) var(--d,0s),transform .85s var(--ease) var(--d,0s)}
.js .reveal.in{opacity:1;transform:none}
.js .reveal-media{transform:none}
.reveal-media img{transition:scale 1.5s var(--ease),transform 1.2s var(--ease)}
.js .reveal-media.reveal img{scale:1.12}
.js .reveal-media.reveal.in img{scale:1}
.decade{font-variant-numeric:tabular-nums}

/* Blocs « Pour vous » */
.audiences{counter-reset:profile}
.profile-block{counter-increment:profile}
.profile-top .panel-intro::before{content:counter(profile,decimal-leading-zero);display:block;margin-bottom:18px;font-family:Manrope,Arial,sans-serif;font-size:14px;font-weight:600;letter-spacing:.14em;color:var(--green)}
.profile-top figure{border-radius:8px;box-shadow:0 30px 60px -38px rgba(25,60,49,.6)}
.profile-top img{transition:transform 1.2s var(--ease)}
.profile-block:hover .profile-top img{transform:scale(1.035)}
.needs-grid{gap:20px}
.needs-grid>div{background:rgba(255,255,255,.6);border:1px solid #d3ddd0;border-top:3px solid var(--green);border-radius:10px;padding:26px 24px 28px;transition:transform .35s var(--ease),box-shadow .35s,background-color .3s,border-top-color .3s}
.needs-grid>div:hover{transform:translateY(-5px);background:#fff;border-top-color:var(--deep);box-shadow:0 26px 40px -30px rgba(25,60,49,.55)}
.deliverables{border-left:4px solid var(--green);border-radius:0 10px 10px 0}
.text-link{position:relative;transition:padding-right .3s var(--ease),color .25s,border-color .25s}
.text-link:hover{padding-right:10px;color:var(--green);border-color:var(--green)}

/* Crise & réputation */
.crisis-steps{display:grid;gap:16px}
.crisis-steps article{background:rgba(255,255,255,.38);border:0;border-left:4px solid var(--deep);border-radius:0 12px 12px 0;padding:26px 28px 22px;transition:transform .35s var(--ease),background-color .3s}
.crisis-steps article:hover{transform:translateX(8px);background:rgba(255,255,255,.62)}
.crisis-steps span{display:inline-block;font-weight:600;letter-spacing:.14em}
.crisis-steps p{margin:0}

/* Expertises : accordéon */
.expertise-list details{transition:background-color .3s}
.expertise-list details[open]{background:rgba(255,255,255,.045)}
.expertise-list summary{transition:color .25s,padding .4s var(--ease)}
.expertise-list summary:hover{color:var(--lime);padding-left:14px}
.expertise-plus{display:grid;place-items:center;flex:none;width:46px;height:46px;border:1px solid #66816a;border-radius:50%;font-size:26px;line-height:1;transition:transform .45s var(--ease),background-color .25s,color .25s,border-color .25s}
.expertise-list summary:hover .expertise-plus{border-color:var(--lime)}
.expertise-list details[open] .expertise-plus{background:var(--lime);color:var(--deep);border-color:var(--lime)}
.expertise-list details[open] .expertise-body{animation:fold .5s var(--ease)}
@keyframes fold{from{opacity:0;transform:translateY(-10px)}}
.expertise-list details::details-content{block-size:0;overflow:clip;transition:block-size .45s var(--ease),content-visibility .45s allow-discrete}
.expertise-list details[open]::details-content{block-size:auto}

/* Approche */
.steps article{transition:padding-left .4s var(--ease),border-color .3s}
.steps article:hover{padding-left:14px;border-top-color:var(--green)}
.steps span{min-width:38px;font-family:Manrope,Arial,sans-serif;font-size:22px;font-weight:600;padding-top:2px}

/* Équipe */
.team-grid{border-radius:10px;overflow:hidden}
.team-grid article{position:relative;transition:background-color .3s}
.team-grid article::before{content:"";position:absolute;left:0;right:0;top:0;height:3px;background:var(--green);transform:scaleX(0);transform-origin:0 50%;transition:transform .55s var(--ease)}
.team-grid article:hover{background:#fff}
.team-grid article:hover::before{transform:scaleX(1)}
.team-grid article span{display:block;font-size:.75rem;font-weight:600;color:#3d6753;line-height:1.5}

/* Références */
.reference-cards{align-items:start;gap:28px}
.reference-cards article{background:#fff;border:1px solid #d3ddd0;border-top:3px solid var(--green);border-radius:10px;padding:26px;transition:transform .35s var(--ease),box-shadow .35s}
.reference-cards article:hover{transform:translateY(-4px);box-shadow:0 28px 44px -32px rgba(25,60,49,.6)}
.reference-cards article>span{display:block;line-height:1.5;color:#3d6753;font-weight:600;letter-spacing:.04em}
.reference-cards h2{margin:16px 0 12px}
.case-details summary{display:inline-flex;align-items:center;margin-top:8px;padding:11px 18px;border:1px solid #98ad9c;border-radius:999px;font-size:15px;list-style:none;transition:background-color .25s,color .25s,border-color .25s}
.case-details summary::-webkit-details-marker{display:none}
.case-details summary:hover,.case-details[open] summary{background:var(--deep);border-color:var(--deep);color:#fff}
.case-details[open] summary{margin-bottom:16px}
.case-details img{border-radius:8px}

/* Contact & pied de page */
.contact-slot{display:flex;flex-wrap:wrap;align-items:center;gap:12px 24px}
.contact-slot a{font-family:Manrope,Arial,sans-serif;font-size:clamp(22px,2.6vw,34px);letter-spacing:-.6px;text-decoration:none;border-bottom:2px solid var(--deep);transition:color .25s,border-color .25s}
.contact-slot a:hover{color:var(--green);border-color:var(--green)}
footer{align-items:center}
footer a{text-decoration:underline;text-underline-offset:4px;transition:color .25s}
footer a:hover{color:var(--lime)}
@media(max-width:800px){footer{align-items:flex-start}}

/* Accessibilité & impression */
@media(prefers-reduced-motion:reduce){
  .hero .eyebrow,.hero h1,.hero-title img,.hero-bottom{animation:none}
  .js .reveal{opacity:1;transform:none;transition:none}
  .js .wordmark path,.js .wordmark circle{stroke-dashoffset:0;transition:none}
  *,::before,::after{transition-duration:.01ms!important}
}
@media print{
  header{position:static}.progress{display:none}
  .js .reveal{opacity:1!important;transform:none!important}
  .js .wordmark path,.js .wordmark circle{stroke-dashoffset:0}
}
.vision{overflow:hidden}
@media(max-width:380px){.brand span{font-size:12px}}
.brand span{white-space:nowrap}
.credits-list h1{font-family:Manrope,Arial,sans-serif;font-size:clamp(34px,5vw,60px);font-weight:500;letter-spacing:-1.5px;line-height:1.1;margin:18px 0 24px}
