.volcan-filterable-projects{width:100%}.volcan-filterable-projects__filters{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:12px;margin-bottom:40px}.volcan-filterable-projects__filter{appearance:none;border:1px solid #232323;border-radius:999px;background:#fff;color:#000;cursor:pointer;font:inherit;font-family:"Neue Haas Grot",sans-serif;font-size:13.6px;font-weight:700;letter-spacing:normal;line-height:1.2;padding:.35em .75em;text-transform:uppercase;transition:color .18s ease,border-color .18s ease;position:relative;overflow:hidden;isolation:isolate}.volcan-filterable-projects__filter::before{content:"";position:absolute;inset:0;background:#fff400;border-radius:inherit;transform:scaleX(0);transform-origin:left center;transition:transform .38s cubic-bezier(.14,1,.34,1);z-index:-1}.volcan-filterable-projects__filter:hover,.volcan-filterable-projects__filter:focus,.volcan-filterable-projects__filter.is-active{color:#000;border-color:#232323;outline:none}.volcan-filterable-projects__filter:hover::before,.volcan-filterable-projects__filter:focus::before,.volcan-filterable-projects__filter.is-active::before{transform:scaleX(1)}.volcan-filterable-projects__filter.is-active{background:#fff400}.volcan-filterable-projects__filter:focus-visible{outline:2px solid #232323;outline-offset:3px}.volcan-filterable-projects__filter:not(.is-active){opacity:1}.volcan-filterable-projects__grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:32px;align-items:start;opacity:1}.volcan-filterable-projects__card{min-width:0;opacity:1;transform:none;transform-origin:center center;backface-visibility:hidden;will-change:opacity,transform}.volcan-filterable-projects__card.is-hidden{display:none}.volcan-filterable-projects__grid.is-filtering .volcan-filterable-projects__card{pointer-events:none}.volcan-filterable-projects__image{display:block;width:100%;overflow:hidden;background:#f3f3f3;color:inherit;text-decoration:none}.volcan-filterable-projects__image img,.volcan-filterable-projects__placeholder{display:block;width:100%;height:360px;object-fit:cover}.volcan-filterable-projects__image img{transition:transform .42s cubic-bezier(.22,.61,.36,1)}.volcan-filterable-projects__card:hover .volcan-filterable-projects__image img{transform:scale(1.008)}.volcan-filterable-projects__content{padding-top:18px}.volcan-filterable-projects__title{margin:0;color:#000;font-family:"Neue Haas Grot",sans-serif;font-size:24px;font-weight:700;line-height:1.05;text-transform:uppercase}.volcan-filterable-projects__title a{color:inherit;text-decoration:none}.volcan-filterable-projects__excerpt{margin-top:10px;color:#000;font-family:"Neue Haas Grot",sans-serif;font-size:16px;font-weight:500;line-height:1.45}.volcan-filterable-projects__categories{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}.volcan-filterable-projects__category{display:inline-flex;align-items:center;border:1px solid #232323;border-radius:999px;background:#fff;color:#000;font-family:"Neue Haas Grot",sans-serif;font-size:13.6px;font-weight:700;line-height:1.2;padding:.35em .75em;text-transform:uppercase}.volcan-filterable-projects__empty{color:#000;font-family:"Neue Haas Grot",sans-serif}@media(max-width:1024px){.volcan-filterable-projects__grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:767px){.volcan-filterable-projects__grid{grid-template-columns:1fr}.volcan-filterable-projects__image img,.volcan-filterable-projects__placeholder{height:260px}}@media(prefers-reduced-motion:reduce){.volcan-filterable-projects__filter,.volcan-filterable-projects__card,.volcan-filterable-projects__image img{transition:none!important;animation:none!important;transform:none!important}}/* Lia: align nos-projets image ratio with footer project cards */.volcan-filterable-projects__image,.volcan-filterable-projects__placeholder{aspect-ratio:395/260;height:auto!important}.volcan-filterable-projects__image img{height:100%!important;object-fit:cover}.volcan-filterable-projects__placeholder{display:block;width:100%;object-fit:cover}@media(max-width:767px){.volcan-filterable-projects__image,.volcan-filterable-projects__placeholder{aspect-ratio:395/260;height:auto!important}.volcan-filterable-projects__image img{height:100%!important}}

/* Lia: center category filters and match project-tag reveal motion */
.volcan-filterable-projects__filters{justify-content:center;}
.volcan-filterable-projects__filter{opacity:0;visibility:hidden;transform:translate3d(0,18px,0);animation:volcan-filter-pill-reveal .75s cubic-bezier(.14,1,.34,1) forwards;animation-delay:1.15s;}
@keyframes volcan-filter-pill-reveal{0%{opacity:0;visibility:visible;transform:translate3d(0,18px,0)}100%{opacity:1;visibility:visible;transform:translate3d(0,0,0)}}
@media(prefers-reduced-motion:reduce){.volcan-filterable-projects__filter{opacity:1;visibility:visible;transform:none;animation:none!important}}

/* Scoped reset: prevent Hello/Elementor global button hover red from leaking into project filters. */
.volcan-filterable-projects__filter:hover,
.volcan-filterable-projects__filter:focus,
.volcan-filterable-projects__filter:active {
    background: #fff;
    color: #000;
    border-color: #232323;
    text-decoration: none;
}

.volcan-filterable-projects__filter.is-active {
    background: #fff400;
}

/* Scoped project filter hover fill: linear fill, no theme red bleed. */
button.volcan-filterable-projects__filter,
.volcan-filterable-projects__filter {
    background-color: #fff !important;
    background-image: linear-gradient(90deg, #fff400 0%, #fff400 100%) !important;
    background-position: left center !important;
    background-repeat: no-repeat !important;
    background-size: 0% 100% !important;
    color: #000 !important;
    border-color: #232323 !important;
    box-shadow: none !important;
    text-decoration: none !important;
    transition: background-size .42s cubic-bezier(.14,1,.34,1), color .18s ease, border-color .18s ease !important;
}

button.volcan-filterable-projects__filter::before,
.volcan-filterable-projects__filter::before {
    display: none !important;
}

button.volcan-filterable-projects__filter:hover,
button.volcan-filterable-projects__filter:focus,
button.volcan-filterable-projects__filter:active,
.volcan-filterable-projects__filter:hover,
.volcan-filterable-projects__filter:focus,
.volcan-filterable-projects__filter:active {
    background-color: #fff !important;
    background-image: linear-gradient(90deg, #fff400 0%, #fff400 100%) !important;
    background-position: left center !important;
    background-repeat: no-repeat !important;
    background-size: 100% 100% !important;
    color: #000 !important;
    border-color: #232323 !important;
    box-shadow: none !important;
    text-decoration: none !important;
    outline: none;
}

button.volcan-filterable-projects__filter.is-active,
.volcan-filterable-projects__filter.is-active {
    background-color: #fff400 !important;
    background-image: linear-gradient(90deg, #fff400 0%, #fff400 100%) !important;
    background-size: 100% 100% !important;
    color: #000 !important;
    border-color: #232323 !important;
    box-shadow: none !important;
}
/* Lia: project image hover flip with Hover projet field */
.volcan-filterable-projects__image--flip{position:relative;display:block;width:100%;aspect-ratio:395/260;height:auto!important;overflow:hidden;background:#f3f3f3;perspective:1200px;}
.volcan-filterable-projects__image-inner{position:relative;display:block;width:100%;height:100%;transform-style:preserve-3d;transform-origin:center center;transition:transform .72s cubic-bezier(.2,.72,.18,1);}
.volcan-filterable-projects__image-face{position:absolute;inset:0;display:flex;width:100%;height:100%;overflow:hidden;backface-visibility:hidden;-webkit-backface-visibility:hidden;}
.volcan-filterable-projects__image-face--front{background:#f3f3f3;transform:rotateY(0deg);}
.volcan-filterable-projects__image-face--front img,.volcan-filterable-projects__image-face--front .volcan-filterable-projects__placeholder{display:block;width:100%;height:100%!important;object-fit:cover;transition:none;transform:none!important;}
.volcan-filterable-projects__image-face--back{align-items:center;justify-content:center;background:#fff400;color:#000;transform:rotateY(180deg);padding:28px;text-align:center;}
.volcan-filterable-projects__hover-text{display:block;max-width:92%;font-family:"Neue Haas Grot",sans-serif;font-size:clamp(20px,2.3vw,34px);font-weight:700;line-height:1.04;text-transform:uppercase;letter-spacing:-.02em;}
.volcan-filterable-projects__card:hover .volcan-filterable-projects__image--flip .volcan-filterable-projects__image-inner,.volcan-filterable-projects__image--flip:focus-visible .volcan-filterable-projects__image-inner{transform:rotateY(-180deg);}
.volcan-filterable-projects__card:hover .volcan-filterable-projects__image--flip img{transform:none!important;}
@media(max-width:767px){.volcan-filterable-projects__image-face--back{padding:22px}.volcan-filterable-projects__hover-text{font-size:24px;}}
@media(prefers-reduced-motion:reduce){.volcan-filterable-projects__image-inner{transition:none!important}.volcan-filterable-projects__card:hover .volcan-filterable-projects__image--flip .volcan-filterable-projects__image-inner,.volcan-filterable-projects__image--flip:focus-visible .volcan-filterable-projects__image-inner{transform:none!important}.volcan-filterable-projects__image-face--back{display:none!important}}

/* Lia: category sections with editable H2 and CTA above project items. */
.volcan-filterable-projects--sectioned{display:flex;flex-direction:column;gap:clamp(56px,7vw,108px);}
.volcan-filterable-projects__section{width:100%;}
.volcan-filterable-projects__section-header{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin-bottom:clamp(22px,3vw,42px);}
.volcan-filterable-projects__section-title{margin:0;color:#000;font-family:"Neue Haas Grot",sans-serif;font-size:clamp(34px,5.2vw,86px);font-weight:700;line-height:.92;letter-spacing:-.045em;text-transform:uppercase;}
.volcan-filterable-projects__section-button{display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;border:1px solid #232323;border-radius:999px;background:#fff;color:#000;font-family:"Neue Haas Grot",sans-serif;font-size:13.6px;font-weight:700;line-height:1.2;padding:.55em 1em;text-decoration:none;text-transform:uppercase;background-image:linear-gradient(90deg,#fff400 0%,#fff400 100%);background-position:left center;background-repeat:no-repeat;background-size:0% 100%;transition:background-size .42s cubic-bezier(.14,1,.34,1),color .18s ease,border-color .18s ease;}
.volcan-filterable-projects__section-button:hover,.volcan-filterable-projects__section-button:focus{background-size:100% 100%;color:#000;border-color:#232323;text-decoration:none;outline:none;}
.volcan-filterable-projects__section-button--disabled{opacity:.55;pointer-events:none;}
@media(max-width:767px){.volcan-filterable-projects__section-header{align-items:flex-start;flex-direction:column;margin-bottom:24px}.volcan-filterable-projects__section-title{font-size:42px;line-height:.96}.volcan-filterable-projects__section-button{font-size:13px}}

/* Lia: headers are conditional overlays for the active filter, not separate project sections. */
.volcan-filterable-projects__section-panels{width:100%;}
.volcan-filterable-projects__section-header[hidden]{display:none!important;}
.volcan-filterable-projects__section-header.is-active{display:flex;}

/* Lia: keep category CTA next to the H2 and add arrow spacing. */
.volcan-filterable-projects__section-header{justify-content:flex-start!important;align-items:center!important;gap:clamp(14px,2vw,28px)!important;}
.volcan-filterable-projects__section-button{gap:.55em;}
.volcan-filterable-projects__section-button-arrow{display:inline-flex;align-items:center;line-height:1;transition:transform .32s cubic-bezier(.14,1,.34,1);}
.volcan-filterable-projects__section-button:hover .volcan-filterable-projects__section-button-arrow,.volcan-filterable-projects__section-button:focus .volcan-filterable-projects__section-button-arrow{transform:translateX(3px);}
@media(max-width:767px){.volcan-filterable-projects__section-header{align-items:flex-start!important;gap:12px!important;}}

/* Lia: use the same SVG arrow shape as the footer. */
.volcan-filterable-projects__section-button-arrow{display:none!important;}
.volcan-filterable-projects__section-button-svg{display:block;width:17.23px;height:12.77px;flex:0 0 auto;fill:currentColor;transition:transform .32s cubic-bezier(.14,1,.34,1);}
.volcan-filterable-projects__section-button:hover .volcan-filterable-projects__section-button-svg,.volcan-filterable-projects__section-button:focus .volcan-filterable-projects__section-button-svg{transform:translateX(3px);}

/* Lia: keep category title and CTA on one row on mobile. */
@media(max-width:767px){
  .volcan-filterable-projects__section-header{flex-direction:row!important;align-items:center!important;flex-wrap:nowrap!important;gap:10px!important;}
  .volcan-filterable-projects__section-title{min-width:0;flex:0 1 auto;font-size:clamp(30px,10vw,42px)!important;}
  .volcan-filterable-projects__section-button{flex:0 0 auto;white-space:nowrap;padding:.48em .8em;}
  .volcan-filterable-projects__section-button-svg{width:15px;height:auto;}
}
