/* SHFT movement vocabulary, using EASSML's existing materials and type. */
.motion-line-mask{overflow:hidden;padding-bottom:.08em;margin-bottom:-.08em}
.opening-scene{position:fixed;inset:0;z-index:900;background:var(--primary);color:#fff;overflow:hidden;display:grid;place-items:center}
.opening-copy{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:center;gap:18px;padding:24px;text-align:center;z-index:2;pointer-events:none}
.opening-copy>div{overflow:hidden}
.opening-copy span{display:block;font-size:clamp(30px,4.4vw,56px);font-weight:600;line-height:1.2;letter-spacing:-.035em}
.opening-copy>div:last-child{color:#fff}
.opening-media{position:absolute;inset:0;overflow:hidden;transform-origin:center;clip-path:inset(50% 36% 50% 36%)}
.opening-media img{height:100%;width:100%;object-fit:cover;object-position:46% center}
.opening-skip{position:absolute;right:28px;bottom:28px;z-index:3;background:var(--primary);color:#fff;padding:12px 18px;min-height:44px;font-size:14px;cursor:pointer}
.intro-panel{position:relative;z-index:3;background:#fff}
.hero.is-scroll-scene{position:relative;z-index:1}
.header{will-change:auto}
.partner-stack-enabled{overflow:hidden;min-height:540px;height:82svh;display:flex;align-items:center}
.partner-stack-enabled>.wrap{width:min(var(--max),calc(100% - 2 * var(--space)));align-items:center}
.partner-stack-enabled .partner-list{position:relative;display:block;height:400px;overflow:hidden}
.partner-stack-enabled .partner-list>div{position:absolute;inset:0;background:var(--olive);padding:48px 24px;display:flex;flex-direction:column;justify-content:center;border-top:1px solid var(--gold);overflow:hidden}
.partner-stack-enabled .partner-list>div>.partner-name{display:block;overflow:hidden;font-size:inherit;font-weight:inherit;color:inherit;margin:0}
.partner-stack-enabled .partner-name>span{font-size:inherit;font-weight:inherit;color:inherit;margin:0}.partner-stack-enabled .partner-detail>span{font:inherit;color:inherit;margin:0}
.partner-stack-enabled .partner-list>div>span{overflow:hidden}
.drag-rail{display:flex;overflow-x:auto;overscroll-behavior-x:contain;scrollbar-width:thin;scrollbar-color:var(--wp--preset--color--gold) transparent;gap:30px;padding-bottom:24px;touch-action:pan-x pan-y;cursor:grab;scroll-snap-type:x proximity}
.drag-rail>.news-card{flex:0 0 40%;min-width:0;scroll-snap-align:start}
.drag-rail.is-dragging{cursor:grabbing;scroll-snap-type:none;user-select:none}
.drag-rail img{-webkit-user-drag:none;user-select:none}
.drag-rail:focus-visible{outline:2px solid var(--forest);outline-offset:6px}
.news-scroll-section{padding-top:28px;padding-bottom:28px;background:#fff}
.news-scroll-section .section-head{margin-bottom:24px}
.news-scroll-section .news-photo{width:100%;height:clamp(140px,24svh,280px);aspect-ratio:auto}
@media(max-width:900px){.news-scroll-section{padding-top:16px;padding-bottom:16px}.news-scroll-section .section-head{margin-bottom:16px}.news-scroll-section .news-photo{height:clamp(130px,20svh,180px)}}
.drag-rail.is-scroll-driven{scroll-snap-type:none;scroll-behavior:auto;touch-action:pan-y;overscroll-behavior:auto;scrollbar-width:none}
.drag-rail.is-scroll-driven::-webkit-scrollbar{display:none}
.button,.text-link,.story-link{transition:background-color .25s,color .25s,transform .25s}
@media(hover:hover){.button:hover{transform:none}.text-link:hover,.story-link:hover{transform:scale(.97)}}
.viewer-stage{grid-template-columns:48px minmax(0,1fr) 48px}
.viewer-viewport{grid-column:2;min-width:0;width:100%;height:100%;overflow-x:auto;overflow-y:hidden;scrollbar-width:none;overscroll-behavior:contain;touch-action:pan-x;scroll-snap-type:x mandatory;cursor:grab}
.viewer-viewport::-webkit-scrollbar{display:none}
.viewer-viewport.is-tweening,.viewer-viewport.is-dragging{scroll-snap-type:none}
.viewer-viewport.is-dragging{cursor:grabbing}
.viewer-rail{position:relative;display:flex;align-items:center;gap:24px;padding:0 10%;height:100%;min-height:0}
.viewer-slide{margin:0;flex:0 0 100%;height:100%;min-width:0;display:grid;place-items:center;scroll-snap-align:center;opacity:.45;transition:opacity .3s}
.viewer-slide.is-current{opacity:1}
.viewer-slide .viewer-image{max-height:calc(100dvh - 170px);height:100%;width:100%;object-fit:contain;user-select:none;-webkit-user-drag:none}
@media(max-width:900px){.partner-stack-enabled{min-height:0;height:calc(100svh - 70px);padding:30px 0}.partner-stack-enabled>.wrap{display:block}.partner-stack-enabled .partner-list{height:250px;margin-top:26px}.partner-stack-enabled .partner-list>div{padding:24px 8px}.partner-stack-enabled .button{min-height:44px}.drag-rail>.news-card{flex-basis:78%}.drag-rail{gap:22px}.opening-skip{right:20px;bottom:20px}}
@media(max-width:600px){.viewer-stage{display:grid;grid-template-columns:minmax(0,1fr);padding-bottom:52px}.viewer-viewport{grid-column:1}.viewer-prev,.viewer-next{bottom:0}.viewer-rail{gap:12px;padding-inline:9%}.viewer-slide .viewer-image{max-height:calc(100dvh - 230px)}.viewer-caption{font-size:13px}}
@media(prefers-reduced-motion:reduce){.opening-scene{display:none}.drag-rail{scroll-behavior:auto}.motion-line{transform:none!important;opacity:1!important;visibility:visible!important}}

/* Image and title reveal through matching masks on the same timeline. */
.partner-image-mask{overflow:hidden;flex-shrink:0;margin-bottom:22px}
.partner-list .partner-image-mask .partner-image{margin:0}

.partner-list .partner-content{border:0;padding:0;font:inherit;color:inherit}

/* Plein écran olive entre la dernière actualité et les partenaires. */
.news-color-curtain{position:fixed;inset:0;z-index:60;pointer-events:none;clip-path:inset(100% 0 0 0);will-change:clip-path,opacity}

/* Une seule surface : les actualités cèdent définitivement la place aux partenaires. */
.news-partners-stage{display:grid;background:#fff;min-height:calc(100svh - 100px)}
.news-partners-stage>.news-scroll-section,.news-partners-stage>.cooperation{grid-area:1/1;align-self:center;width:100%;min-width:0}
.news-partners-stage>.news-scroll-section{background:transparent}
.news-partners-stage>.cooperation{background:transparent;border:0;padding-top:40px;padding-bottom:40px}
.news-partners-stage>.news-scroll-section.wrap{width:calc(100% - 2 * var(--space));max-width:var(--max)}
