.visuals{gap:.75rem}
.visual{border-radius:var(--radius-sm)}
.visual figcaption{left:.75rem;bottom:.75rem;background:rgb(14 54 41 / .8);font-size:.72rem}
.about .prose p:first-child{font-size:clamp(1.3rem,2.1vw,1.8rem);line-height:1.3;letter-spacing:-.02em}
.services-list--stack .service{position:relative}
.services-list--stack .service-title a::after{content:"";position:absolute;inset:0}
.services-list--stack .service-title{transition:color .4s var(--ease),transform .7s var(--ease)}
.services-list--stack .service:hover .service-title{color:var(--accent);transform:translateX(.6rem)}
.services-list--stack .service-desc{transition:color .4s var(--ease)}
.services-list--stack .service:hover .service-desc{color:var(--ink)}
.services-list--page .service{padding:2rem 0 2.2rem}
.services-list--page .service-title{font-size:clamp(2rem,4.4vw,3.6rem);line-height:1;letter-spacing:-.045em}
.services-list--page .service-desc{max-width:34rem;font-size:1.05rem}
.xp .xp-body{max-width:none}
.xp .service-visual{margin:0 0 3rem}
.xp .service-visual .visual img{aspect-ratio:16/9;object-position:50% 60%}
.xp .xp-body h2{margin:2.5rem 0 0;padding-top:1rem;border-top:1px solid var(--ink);font-size:clamp(1.35rem,2vw,1.75rem);letter-spacing:-.03em}
.xp .xp-list{list-style:none;padding:0;margin:.5rem 0 0}
.xp .xp-list li{padding:.95rem 0;border-bottom:1px solid var(--line);font-size:clamp(1.02rem,1.25vw,1.15rem);color:var(--muted)}
.xp .xp-list li+li{margin-top:0}
.xp .xp-list li:last-child{border-bottom:0}
.xp .xp-term{font-weight:600;color:var(--ink)}
.xp .xp-list a{color:var(--ink);text-decoration:underline;text-decoration-color:var(--accent);text-underline-offset:.22em;text-decoration-thickness:1px;transition:color .3s var(--ease)}
.xp .xp-list a:hover{color:var(--accent)}
.xp .xp-list li:has(>a),.xp .xp-list li:has(.xp-term a){position:relative;padding-right:2.5rem}
.xp .xp-list li>a,.xp .xp-list li:has(.xp-term a) .xp-term{font-size:clamp(1.2rem,1.8vw,1.55rem);font-weight:500;letter-spacing:-.03em;color:var(--ink)}
.xp .xp-list li>a,.xp .xp-list .xp-term a{text-decoration:none}
.xp .xp-list li>a::before,.xp .xp-list .xp-term a::before{content:"";position:absolute;inset:0}
.xp .xp-list li:has(>a)::after,.xp .xp-list li:has(.xp-term a)::after{content:"→";position:absolute;right:.25rem;top:50%;translate:0 -50%;color:var(--accent);font-size:1.3rem;transition:translate .5s var(--ease)}
.xp .xp-list li:has(>a):hover::after,.xp .xp-list li:has(.xp-term a):hover::after{translate:.4rem -50%}
.xp .xp-list li:hover>a,.xp .xp-list li:hover .xp-term a{color:var(--accent)}
body:has(.xp) #page-title{font-size:clamp(2.5rem,5vw,4.6rem);line-height:1;letter-spacing:-.045em}
.xp .xp-body>h2+p{max-width:none;margin-top:1rem;font-size:clamp(1.02rem,1.25vw,1.15rem);color:var(--muted)}
.xp .xp-body>p{max-width:40rem;margin-top:3rem;font-size:1.12rem}
.xp .xp-body>p:last-child:not(h2+p){padding:1.6rem 1.8rem;border-left:3px solid var(--accent);background:rgb(23 64 50 / .06);color:var(--ink);max-width:none}
.xp~.section .areas-block .section-title{font-size:clamp(1.15rem,1.6vw,1.35rem);letter-spacing:-.02em;color:var(--muted)}
.xp~.section .areas{display:grid;gap:0;margin-top:1rem;border-top:1px solid var(--ink)}
.xp~.section .areas li{background:none;border:0;border-bottom:1px solid var(--line);border-radius:0;padding:0}
.xp~.section .areas li:has(a):hover{background:none;color:var(--accent)}
.xp~.section .areas a{margin:0;padding:1.3rem 0;min-height:0;font-size:clamp(1.35rem,2.2vw,1.9rem);font-weight:500;letter-spacing:-.04em;color:var(--ink);transition:color .4s var(--ease),transform .7s var(--ease)}
.xp~.section .areas a:hover{color:var(--accent);transform:translateX(.6rem)}
@media (max-width:47.99rem){
  .visuals{grid-template-columns:1fr 1fr}
  .visual:first-child{grid-column:1/-1}
  .visual:not(:first-child) img{aspect-ratio:1}
}
@media (min-width:48rem){
  .visuals{grid-template-columns:minmax(0,1.5fr) minmax(0,1fr) minmax(0,1fr)}
  .visual img{aspect-ratio:auto;height:clamp(16rem,28vw,26rem)}
  .foot{grid-template-areas:"id call call" "nav nav nav"}
  .foot-call{justify-items:end;align-self:end;padding-bottom:0;border-bottom:0}
  .services-list--page .service-body{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);column-gap:3rem;align-items:baseline}
  .services-list--page .service-desc{margin-top:0}
  .xp .xp-body{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);column-gap:clamp(2rem,6vw,6rem);align-items:start}
  .xp .service-visual,.xp .xp-body>p{grid-column:1/-1}
  .xp .service-visual{margin-bottom:4.5rem}
  .xp .service-visual .visual img{aspect-ratio:21/9}
  .xp .xp-body h2{grid-column:1;margin:0 0 3.5rem;padding-top:1.1rem}
  .xp .xp-list{grid-column:2;margin:0 0 3.5rem;border-top:1px solid var(--ink)}
  .xp .xp-list li{padding:1.1rem 0}
  .xp .xp-body>h2+p{grid-column:2;margin:0 0 3.5rem;padding-top:1.1rem;border-top:1px solid var(--ink)}
  .xp .xp-body>p{margin-top:.5rem}
  .xp~.section .areas{grid-template-columns:repeat(3,minmax(0,1fr));column-gap:2rem}
}
.brand--wide .brand-logo img,.is-scrolled .brand--wide .brand-logo img{height:clamp(2.9rem,4.2vw,4.1rem);max-width:min(17rem,62vw)}
.nav{border-top:1px solid var(--line);margin-top:.6rem}
.nav ul{align-items:center}
.nav a{color:var(--ink);font-weight:500}
.nav li:first-child a,.nav li:has(>a[href$="a-propos.html"]) a,.nav li:has(>a[href$="contact.html"]) a,.nav li:has(>a[href*="rendez-vous"]) a{color:var(--muted);font-weight:400}
.nav li:has(>a[aria-current]) a[aria-current]:not([href*="demande-de-devis"]){color:var(--ink);font-weight:600}
.nav li:has(>a[href$="prestations.html"]){order:1}
.nav li:has(>a[href$="food-feed.html"]){order:2}
.nav li:has(>a[href$="biosources-industriels.html"]){order:3}
.nav li:has(>a[href$="distributeurs.html"]){order:4}
.nav li:has(>a[href$="accompagnement.html"]){order:5}
.nav li:has(>a[href$="a-propos.html"]){order:6}
.nav li:has(>a[href$="contact.html"]){order:7}
.nav li:has(>a[href*="rendez-vous"]){order:8}
.nav li:has(>a[href*="demande-de-devis"]){order:9;padding-inline:.35rem}
.nav a[href*="demande-de-devis"]{min-height:2.25rem;padding:0 1rem;border:1px solid var(--accent);border-radius:999px;color:var(--accent);font-weight:600;transition:background-color .25s,color .25s}
.nav a[href*="demande-de-devis"]::after{content:none}
.nav a[href*="demande-de-devis"]:hover,.nav a[href*="demande-de-devis"][aria-current]{background:var(--accent);color:var(--accent-ink)}
@media (max-width:63.99rem){
  .nav{margin-top:.5rem}
  .nav li:has(>a[href*="demande-de-devis"]){padding-inline:.25rem .5rem}
}
@media (min-width:64rem){
  .header-bar{flex-wrap:wrap;padding:.9rem 0 0}
  .is-scrolled .header-bar{padding:.45rem 0 0}
  .brand{flex:1 1 0}
  .nav{order:4;flex:1 0 100%;margin-top:.75rem}
  .is-scrolled .nav{margin-top:.4rem}
  .nav ul{margin-inline:calc(-1 * var(--nav-pad));padding-block:.15rem}
  .nav li:has(>a[href$="contact.html"]){margin-inline-start:auto}
  .is-scrolled .brand--wide .brand-logo img{height:2.9rem}
  .site-header.is-scrolled{border-radius:1.25rem;background:color-mix(in srgb,var(--card) 96%,transparent)}
}
@media (min-width:64rem) and (max-width:79.99rem){
  .nav{--nav-pad:.45rem}
  .nav a{font-size:.92rem}
}
.site-footer .foot-phone{font-size:min(calc(clamp(1.6rem,3.2vw,2.6rem) * var(--digit-scale,1)),100cqi / (var(--tel-em,8.3) * var(--figure-scale,1)))}
.chat-toggle{box-shadow:0 0 0 1px rgb(255 255 255 / .14),0 10px 30px rgb(0 0 0 / .38),0 2px 8px rgb(0 0 0 / .22)}
section.section.band > div.wrap.quick-grid > div.quick-call > a.quick-phone{font-size:20pt}
section.hero.hero-editorial > div.wrap.hero-grid > div.hero-head > h1.hero-title.keeps-compounds{font-size:44pt}
@media (prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important}}
