.reading-progress{height:3px;position:fixed;inset:0 0 auto;z-index:100;pointer-events:none;transform:scaleX(var(--progress,0));transform-origin:left;background:var(--vivid-lime,#d7f35d)}.terroir-site .reading-progress{background:#781c36}.ak-site .reading-progress{background:#ffe01a}.breadcrumbs{padding-block:18px 0;font-size:11px;color:var(--muted);position:relative;z-index:1}.breadcrumbs ol{list-style:none;padding:0;margin:0;display:flex;align-items:center;flex-wrap:wrap;gap:10px}.breadcrumbs li+li:before{content:'/';margin-right:10px;opacity:.55}.breadcrumbs a{text-decoration:underline;text-underline-offset:4px}.experience-controls{display:flex;align-items:center;flex-wrap:wrap;gap:12px 25px;padding-block:20px 30px;border-top:1px solid #ffffff26;color:#f8f6df;font-size:11px}.experience-controls p{margin:0}.motion-control{color:inherit;border:1px solid #ffffff70;border-radius:30px;background:transparent;font:inherit;padding:10px 16px;min-height:44px;cursor:pointer}.motion-control:before{content:'';display:inline-block;width:6px;height:6px;background:#d7f35d;border-radius:50%;margin-right:8px}.motion-control[aria-pressed=true]:before{background:#f7c68b}.motion-control:disabled{cursor:default;opacity:.8}.experience-controls [role=status]{font-size:10px}.experience-pending{opacity:0;transform:translateY(28px) scale(.98)}.experience-visible{animation:experience-reveal .7s cubic-bezier(.2,.7,.2,1) both;animation-delay:var(--experience-delay,0ms)}.vivid-poster-wrap,.terroir-main-photo,.ak-poster{transform:perspective(1100px) rotateX(var(--tilt-x,0deg)) rotateY(var(--tilt-y,0deg));transition:transform .45s ease}.vivid-hero h1 em,.ak-hero h1 em,.terroir-bright-hero h1 em{position:relative}.vivid-hero h1 em:after,.ak-hero h1 em:after,.terroir-bright-hero h1 em:after{content:'';display:block;height:3px;width:70px;background:currentColor;margin-top:15px;transform-origin:left;animation:accent-grow 1s .5s both}.poster-corner-tag,.origin-stamp{animation:stamp-float 7s ease-in-out infinite}.vivid-ribbon{overflow:hidden}.vivid-ribbon span{animation:ribbon-enter .8s both}.vivid-ribbon span:nth-child(2){animation-delay:.12s}.vivid-ribbon span:nth-child(3){animation-delay:.24s}.vivid-ribbon span:nth-child(4){animation-delay:.36s}.steps-grid .step-number{display:inline-block;transition:transform .35s}.steps-grid article:hover .step-number{transform:translateX(6px)}.pest-card,.catalogue-card,.location-card{transition:transform .35s,box-shadow .35s,border-color .35s}.pest-card:hover,.location-card:hover{transform:translateY(-5px);box-shadow:0 15px 30px #122a1b10}.contact-form:focus-within{box-shadow:0 0 0 2px var(--green,#576749),0 18px 40px #122a1b0a}.contact-form{transition:box-shadow .3s}.contact-form button:disabled{opacity:.5;cursor:not-allowed}.draft-open{margin-block:10px 20px;max-width:100%;font-size:12px;white-space:normal;text-align:center}.draft-help{font-size:12px;line-height:1.7;margin-bottom:18px}.email-fallback:not([hidden]){animation:experience-reveal .35s ease-out both}.form-status{scroll-margin-top:120px}.contact-form textarea[readonly]{font-family:inherit}.contact-form [aria-invalid=true]{border-color:#a22626}.contact-form .field input,.contact-form .field textarea{scroll-margin-top:120px}.motion-control:focus-visible,.draft-open:focus-visible{outline:3px solid #f6a74e;outline-offset:4px}
.experience-visible,.motion-visible{animation-fill-mode:backwards}
@keyframes experience-reveal{from{opacity:0;transform:translateY(28px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes accent-grow{from{transform:scaleX(0);opacity:0}to{transform:scaleX(1);opacity:1}}@keyframes stamp-float{0%,100%{translate:0 0;rotate:0deg}50%{translate:0 -5px;rotate:2deg}}@keyframes ribbon-enter{from{opacity:0;translate:0 10px}to{opacity:1;translate:0 0}}
html[data-motion=paused] *,html[data-motion=paused] *:before,html[data-motion=paused] *:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}html[data-motion=paused] .experience-pending,html[data-motion=paused] .motion-pending{opacity:1;transform:none}html[data-motion=paused] .vivid-poster-wrap,html[data-motion=paused] .terroir-main-photo,html[data-motion=paused] .ak-poster{transform:none}html[data-motion=paused] .reading-progress{display:none}
@media(max-width:600px){.experience-controls{align-items:flex-start;flex-direction:column;gap:12px;padding-bottom:25px}.motion-control{font-size:11px;max-width:100%;text-align:left}.breadcrumbs{font-size:10px}.vivid-hero h1 em:after,.ak-hero h1 em:after,.terroir-bright-hero h1 em:after{height:2px;width:45px;margin-top:12px}.draft-open{font-size:11px;padding-inline:14px}}
@media(prefers-reduced-motion:reduce){.experience-pending{opacity:1;transform:none}.reading-progress{display:none}.vivid-poster-wrap,.terroir-main-photo,.ak-poster{transform:none}*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}

/* Continuous local motion; the footer control and reduced-motion setting take priority. */
.vivid-ribbon .ribbon-track{display:flex;width:max-content;animation:ribbon-travel 32s linear infinite}
.vivid-ribbon .ribbon-group{display:flex;align-items:center;justify-content:space-around;flex-shrink:0;gap:48px;min-width:100vw;padding:20px 32px}
.vivid-ribbon .ribbon-group span{display:inline-flex;align-items:center;flex-shrink:0;white-space:nowrap;animation:none}
.vivid-ribbon .ribbon-group span:before{content:'';display:block;flex-shrink:0;width:6px;height:6px;margin-right:24px;border-radius:50%;background:currentColor}
.vivid-ribbon:hover .ribbon-track{animation-play-state:paused}
.vivid-hero:before{animation:hero-breathe 10s ease-in-out infinite}
@keyframes ribbon-travel{to{transform:translateX(-50%)}}
@keyframes hero-breathe{50%{transform:translate(-35px,-25px) scale(1.08)}}
@media(max-width:600px){.vivid-ribbon .ribbon-group{gap:35px;padding:18px 24px}.vivid-ribbon .ribbon-group span:before{width:4px;height:4px;margin-right:16px}}
@media(prefers-reduced-motion:reduce){.vivid-ribbon .ribbon-track{width:100%;display:block;animation:none}.vivid-ribbon .ribbon-group{min-width:0;flex-wrap:wrap;justify-content:center;gap:16px 25px}.vivid-ribbon .ribbon-group[aria-hidden=true]{display:none}.vivid-hero:before{animation:none}}
html[data-motion=paused] .ribbon-track{width:100%;display:block}html[data-motion=paused] .ribbon-group{min-width:0;flex-wrap:wrap;justify-content:center;gap:16px 25px}html[data-motion=paused] .ribbon-group[aria-hidden=true]{display:none}

/* Local updates: shared layout, each site keeps its existing palette. */
.local-news .news-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:28px;align-items:stretch}
.local-news .news-card{background:var(--paper,#fffef6);border:1px solid var(--line,#cfdcbe);border-top:5px solid var(--orange,#ff8629);border-radius:12px;padding:32px}
.ak-site .local-news .news-card{border-top-color:#c1a500}
.local-news h3{font-size:clamp(24px,2.5vw,34px);line-height:1.15;margin:17px 0}
.local-news p{font-size:14px;line-height:1.85;margin-block:15px}
.local-news .news-date{font-size:11px;margin:0;white-space:nowrap}
.local-news .news-aside{padding:25px 12px}
.local-news .news-details{list-style:none;padding:0;margin:23px 0;display:grid;gap:16px}
.local-news .news-details li{border-left:3px solid var(--orange,#ff8629);padding-left:14px;font-size:13px}
.local-news .news-details strong,.local-news .news-details span{display:block}
.local-news .news-details span{font-size:12px;margin-top:4px}
.local-news .news-actions{display:flex;align-items:center;gap:15px;flex-wrap:wrap;margin-top:24px}
.local-news .news-actions .button{font-size:11px;min-height:46px;white-space:normal}
.local-news .news-card .small-note{font-size:11px}
.local-news a:focus-visible{outline:3px solid var(--green,#075636);outline-offset:4px}
@media(max-width:760px){.local-news .news-grid{grid-template-columns:1fr;gap:10px}.local-news .news-card{padding:24px}.local-news .news-aside{padding:22px 8px}.local-news .section-heading{align-items:flex-start}.local-news .news-date{white-space:normal}}

/* Illustration des cours en salle — 25 octobre 2026 */
.session-room{margin:32px 0 0;overflow:hidden;border-radius:20px;background:#edf3e8}.session-room img{display:block;width:100%;height:auto;max-height:540px;object-fit:cover;object-position:center}.session-room figcaption{padding:18px 22px;color:#263d30;font-size:12px;line-height:1.7}.session-room figcaption a{text-decoration:underline;text-underline-offset:3px}.session-room figcaption a:focus-visible{outline:3px solid currentColor;outline-offset:4px}@media(max-width:600px){.session-room{margin-top:24px;border-radius:14px}.session-room figcaption{padding:14px 16px}}

/* Commande accessible dès l’accueil ; partage l’état du contrôle de pied de page. */
.vitali-site .hero-motion-control{margin-top:22px;color:#e9f2df;border-color:#96b996;font-size:11px;text-align:left;max-width:100%;line-height:1.5}
.hero-motion-control[hidden]{display:none}
.hero-motion-control:hover{background:#ffffff12}
.hero-motion-control:focus-visible{outline:3px solid #d7f35d;outline-offset:4px}
.vitali-site .vivid-poster-wrap{animation:photo-arrive .9s .15s cubic-bezier(.22,.61,.36,1) backwards}
