/* E360_FOUNDATION_START
 * Contrat généré depuis institutionnel : utilities, tokens et responsive canoniques.
 * Les !important ci-dessous appartiennent à institutionnel, pas à une compensation E360.
 */
.mt-5 {
    margin-top: 5px !important;
}


.mt-10 {
    margin-top: 10px;
}
.mt-15 {
    margin-top: 15px;
}
.mt-20 {
    margin-top: 20px;
}
.mt-25 {
    margin-top: 25px;
}
.mt-30 {
    margin-top: 30px;
}
.mt-35 {
    margin-top: 35px;
}
.mt-40 {
    margin-top: 40px;
}
.mt-45 {
    margin-top: 45px;
}
.mt-50 {
    margin-top: 50px;
}
.mt-55 {
    margin-top: 55px;
}
.mt-60 {
    margin-top: 60px;
}
.mt-65 {
    margin-top: 65px;
}
.mt-70 {
    margin-top: 70px;
}
.mt-75 {
    margin-top: 75px;
}
.mt-80 {
    margin-top: 80px;
}
.mt-85 {
    margin-top: 85px;
}
.mt-90 {
    margin-top: 90px;
}
.mt-95 {
    margin-top: 95px;
}
.mt-100 {
    margin-top: 100px;
}
.mt-105 {
    margin-top: 105px;
}
.mt-110 {
    margin-top: 110px;
}
.mt-115 {
    margin-top: 115px;
}
.mt-120 {
    margin-top: 120px;
}
.mt-125 {
    margin-top: 125px;
}
.mt-130 {
    margin-top: 130px;
}
.mt-135 {
    margin-top: 135px;
}
.mt-140 {
    margin-top: 140px;
}
.mt-145 {
    margin-top: 145px;
}
.mt-150 {
    margin-top: 150px;
}
.mt-155 {
    margin-top: 155px;
}
.mt-160 {
    margin-top: 160px;
}
.mt-165 {
    margin-top: 165px;
}
.mt-170 {
    margin-top: 170px;
}
.mt-175 {
    margin-top: 175px;
}
.mt-180 {
    margin-top: 180px;
}
.mt-185 {
    margin-top: 185px;
}
.mt-190 {
    margin-top: 190px;
}
.mt-195 {
    margin-top: 195px;
}
.mt-200 {
    margin-top: 200px;
}
.mb-5 {
    margin-bottom: 5px !important;
}
.mb-10 {
    margin-bottom: 10px;
}
.mb-15 {
    margin-bottom: 15px;
}
.mb-20 {
    margin-bottom: 20px;
}
.mb-25 {
    margin-bottom: 25px;
}
.mb-30 {
    margin-bottom: 30px;
}
.mb-35 {
    margin-bottom: 35px;
}
.mb-40 {
    margin-bottom: 40px;
}
.mb-45 {
    margin-bottom: 45px;
}
.mb-50 {
    margin-bottom: 50px;
}
.mb-55 {
    margin-bottom: 55px;
}
.mb-60 {
    margin-bottom: 60px;
}
.mb-65 {
    margin-bottom: 65px;
}
.mb-70 {
    margin-bottom: 70px;
}
.mb-75 {
    margin-bottom: 75px;
}
.mb-80 {
    margin-bottom: 80px;
}
.mb-85 {
    margin-bottom: 85px;
}
.mb-90 {
    margin-bottom: 90px;
}
.mb-95 {
    margin-bottom: 95px;
}
.mb-100 {
    margin-bottom: 100px;
}
.mb-105 {
    margin-bottom: 105px;
}
.mb-110 {
    margin-bottom: 110px;
}
.mb-115 {
    margin-bottom: 115px;
}
.mb-120 {
    margin-bottom: 120px;
}
.mb-125 {
    margin-bottom: 125px;
}
.mb-130 {
    margin-bottom: 130px;
}
.mb-135 {
    margin-bottom: 135px;
}
.mb-140 {
    margin-bottom: 140px;
}
.mb-145 {
    margin-bottom: 145px;
}
.mb-150 {
    margin-bottom: 150px;
}
.mb-155 {
    margin-bottom: 155px;
}
.mb-160 {
    margin-bottom: 160px;
}
.mb-165 {
    margin-bottom: 165px;
}
.mb-170 {
    margin-bottom: 170px;
}
.mb-175 {
    margin-bottom: 175px;
}
.mb-180 {
    margin-bottom: 180px;
}
.mb-185 {
    margin-bottom: 185px;
}
.mb-190 {
    margin-bottom: 190px;
}
.mb-195 {
    margin-bottom: 195px;
}
.mb-200 {
    margin-bottom: 200px;
}
.ml-5 {
    margin-left: 5px;
}
.ml-10 {
    margin-left: 10px;
}
.ml-15 {
    margin-left: 15px;
}
.ml-20 {
    margin-left: 20px;
}
.ml-25 {
    margin-left: 25px;
}
.ml-30 {
    margin-left: 30px;
}
.ml-35 {
    margin-left: 35px;
}
.ml-40 {
    margin-left: 40px;
}
.ml-45 {
    margin-left: 45px;
}
.ml-50 {
    margin-left: 50px;
}
.ml-55 {
    margin-left: 55px;
}
.ml-60 {
    margin-left: 60px;
}
.ml-65 {
    margin-left: 65px;
}
.ml-70 {
    margin-left: 70px;
}
.ml-75 {
    margin-left: 75px;
}
.ml-80 {
    margin-left: 80px;
}
.ml-85 {
    margin-left: 85px;
}
.ml-90 {
    margin-left: 90px;
}
.ml-95 {
    margin-left: 95px;
}
.ml-100 {
    margin-left: 100px;
}
.ml-105 {
    margin-left: 105px;
}
.ml-110 {
    margin-left: 110px;
}
.ml-115 {
    margin-left: 115px;
}
.ml-120 {
    margin-left: 120px;
}
.ml-125 {
    margin-left: 125px;
}
.ml-130 {
    margin-left: 130px;
}
.ml-135 {
    margin-left: 135px;
}
.ml-140 {
    margin-left: 140px;
}
.ml-145 {
    margin-left: 145px;
}
.ml-150 {
    margin-left: 150px;
}
.ml-155 {
    margin-left: 155px;
}
.ml-160 {
    margin-left: 160px;
}
.ml-165 {
    margin-left: 165px;
}
.ml-170 {
    margin-left: 170px;
}
.ml-175 {
    margin-left: 175px;
}
.ml-180 {
    margin-left: 180px;
}
.ml-185 {
    margin-left: 185px;
}
.ml-190 {
    margin-left: 190px;
}
.ml-195 {
    margin-left: 195px;
}
.ml-200 {
    margin-left: 200px;
}
.mr-5 {
    margin-right: 5px;
}
.mr-10 {
    margin-right: 10px;
}
.mr-15 {
    margin-right: 15px;
}
.mr-20 {
    margin-right: 20px;
}
.mr-25 {
    margin-right: 25px;
}
.mr-30 {
    margin-right: 30px;
}
.mr-35 {
    margin-right: 35px;
}
.mr-40 {
    margin-right: 40px;
}
.mr-45 {
    margin-right: 45px;
}
.mr-50 {
    margin-right: 50px;
}
.mr-55 {
    margin-right: 55px;
}
.mr-60 {
    margin-right: 60px;
}
.mr-65 {
    margin-right: 65px;
}
.mr-70 {
    margin-right: 70px;
}
.mr-75 {
    margin-right: 75px;
}
.mr-80 {
    margin-right: 80px;
}
.mr-85 {
    margin-right: 85px;
}
.mr-90 {
    margin-right: 90px;
}
.mr-95 {
    margin-right: 95px;
}
.mr-100 {
    margin-right: 100px;
}
.mr-105 {
    margin-right: 105px;
}
.mr-110 {
    margin-right: 110px;
}
.mr-115 {
    margin-right: 115px;
}
.mr-120 {
    margin-right: 120px;
}
.mr-125 {
    margin-right: 125px;
}
.mr-130 {
    margin-right: 130px;
}
.mr-135 {
    margin-right: 135px;
}
.mr-140 {
    margin-right: 140px;
}
.mr-145 {
    margin-right: 145px;
}
.mr-150 {
    margin-right: 150px;
}
.mr-155 {
    margin-right: 155px;
}
.mr-160 {
    margin-right: 160px;
}
.mr-165 {
    margin-right: 165px;
}
.mr-170 {
    margin-right: 170px;
}
.mr-175 {
    margin-right: 175px;
}
.mr-180 {
    margin-right: 180px;
}
.mr-185 {
    margin-right: 185px;
}
.mr-190 {
    margin-right: 190px;
}
.mr-195 {
    margin-right: 195px;
}
.mr-200 {
    margin-right: 200px;
}
.pt-5 {
    padding-top: 5px !important;
}
.pt-10 {
    padding-top: 10px;
}
.pt-15 {
    padding-top: 15px;
}
.pt-20 {
    padding-top: 20px;
}
.pt-25 {
    padding-top: 25px;
}
.pt-30 {
    padding-top: 30px;
}
.pt-35 {
    padding-top: 35px;
}
.pt-40 {
    padding-top: 40px;
}
.pt-45 {
    padding-top: 45px;
}
.pt-50 {
    padding-top: 50px;
}
.pt-55 {
    padding-top: 55px;
}
.pt-60 {
    padding-top: 60px;
}
.pt-65 {
    padding-top: 65px;
}
.pt-70 {
    padding-top: 70px;
}
.pt-75 {
    padding-top: 75px;
}
.pt-80 {
    padding-top: 80px;
}
.pt-85 {
    padding-top: 85px;
}
.pt-90 {
    padding-top: 90px;
}
.pt-95 {
    padding-top: 95px;
}
.pt-100 {
    padding-top: 100px;
}
.pt-105 {
    padding-top: 105px;
}
.pt-110 {
    padding-top: 110px;
}
.pt-115 {
    padding-top: 115px;
}
.pt-120 {
    padding-top: 120px;
}
.pt-125 {
    padding-top: 125px;
}
.pt-130 {
    padding-top: 130px;
}
.pt-135 {
    padding-top: 135px;
}
.pt-140 {
    padding-top: 140px;
}
.pt-145 {
    padding-top: 145px;
}
.pt-150 {
    padding-top: 150px;
}
.pt-155 {
    padding-top: 155px;
}
.pt-160 {
    padding-top: 160px;
}
.pt-165 {
    padding-top: 165px;
}
.pt-170 {
    padding-top: 170px;
}
.pt-175 {
    padding-top: 175px;
}
.pt-180 {
    padding-top: 180px;
}
.pt-185 {
    padding-top: 185px;
}
.pt-190 {
    padding-top: 190px;
}
.pt-195 {
    padding-top: 195px;
}
.pt-200 {
    padding-top: 200px;
}
.pt-250 {
    padding-top: 250px;
}
.pb-5 {
    padding-bottom: 5px !important;
}
.pb-10 {
    padding-bottom: 10px;
}
.pb-15 {
    padding-bottom: 15px;
}
.pb-20 {
    padding-bottom: 20px;
}
.pb-25 {
    padding-bottom: 25px;
}
.pb-30 {
    padding-bottom: 30px;
}
.pb-35 {
    padding-bottom: 35px;
}
.pb-40 {
    padding-bottom: 40px;
}
.pb-45 {
    padding-bottom: 45px;
}
.pb-50 {
    padding-bottom: 50px;
}
.pb-55 {
    padding-bottom: 55px;
}
.pb-60 {
    padding-bottom: 60px;
}
.pb-65 {
    padding-bottom: 65px;
}
.pb-70 {
    padding-bottom: 70px;
}
.pb-75 {
    padding-bottom: 75px;
}
.pb-80 {
    padding-bottom: 80px;
}
.pb-85 {
    padding-bottom: 85px;
}
.pb-90 {
    padding-bottom: 90px;
}
.pb-95 {
    padding-bottom: 95px;
}
.pb-100 {
    padding-bottom: 100px;
}
.pb-105 {
    padding-bottom: 105px;
}
.pb-110 {
    padding-bottom: 110px;
}
.pb-115 {
    padding-bottom: 115px;
}
.pb-120 {
    padding-bottom: 120px;
}
.pb-125 {
    padding-bottom: 125px;
}
.pb-130 {
    padding-bottom: 130px;
}
.pb-135 {
    padding-bottom: 135px;
}
.pb-140 {
    padding-bottom: 140px;
}
.pb-145 {
    padding-bottom: 145px;
}
.pb-150 {
    padding-bottom: 150px;
}
.pb-155 {
    padding-bottom: 155px;
}
.pb-160 {
    padding-bottom: 160px;
}
.pb-165 {
    padding-bottom: 165px;
}
.pb-170 {
    padding-bottom: 170px;
}
.pb-175 {
    padding-bottom: 175px;
}
.pb-180 {
    padding-bottom: 180px;
}
.pb-185 {
    padding-bottom: 185px;
}
.pb-190 {
    padding-bottom: 190px;
}
.pb-195 {
    padding-bottom: 195px;
}
.pb-200 {
    padding-bottom: 200px;
}
.pl-5 {
    padding-left: 5px;
}
.pl-10 {
    padding-left: 10px;
}
.pl-15 {
    padding-left: 15px;
}
.pl-20 {
    padding-left: 20px;
}
.pl-25 {
    padding-left: 25px;
}
.pl-30 {
    padding-left: 30px;
}
.pl-35 {
    padding-left: 35px;
}
.pl-40 {
    padding-left: 40px;
}
.pl-45 {
    padding-left: 45px;
}
.pl-50 {
    padding-left: 50px;
}
.pl-55 {
    padding-left: 55px;
}
.pl-60 {
    padding-left: 60px;
}
.pl-65 {
    padding-left: 65px;
}
.pl-70 {
    padding-left: 70px;
}
.pl-75 {
    padding-left: 75px;
}
.pl-80 {
    padding-left: 80px;
}
.pl-85 {
    padding-left: 85px;
}
.pl-90 {
    padding-left: 90px;
}
.pl-95 {
    padding-left: 95px;
}
.pl-100 {
    padding-left: 100px;
}
.pl-105 {
    padding-left: 105px;
}
.pl-110 {
    padding-left: 110px;
}
.pl-115 {
    padding-left: 115px;
}
.pl-120 {
    padding-left: 120px;
}
.pl-125 {
    padding-left: 125px;
}
.pl-130 {
    padding-left: 130px;
}
.pl-135 {
    padding-left: 135px;
}
.pl-140 {
    padding-left: 140px;
}
.pl-145 {
    padding-left: 145px;
}
.pl-150 {
    padding-left: 150px;
}
.pl-155 {
    padding-left: 155px;
}
.pl-160 {
    padding-left: 160px;
}
.pl-165 {
    padding-left: 165px;
}
.pl-170 {
    padding-left: 170px;
}
.pl-175 {
    padding-left: 175px;
}
.pl-180 {
    padding-left: 180px;
}
.pl-185 {
    padding-left: 185px;
}
.pl-190 {
    padding-left: 190px;
}
.pl-195 {
    padding-left: 195px;
}
.pl-200 {
    padding-left: 200px;
}
.pr-5 {
    padding-right: 5px;
}
.pr-10 {
    padding-right: 10px;
}
.pr-15 {
    padding-right: 15px;
}
.pr-20 {
    padding-right: 20px;
}
.pr-25 {
    padding-right: 25px;
}
.pr-30 {
    padding-right: 30px;
}
.pr-35 {
    padding-right: 35px;
}
.pr-40 {
    padding-right: 40px;
}
.pr-45 {
    padding-right: 45px;
}
.pr-50 {
    padding-right: 50px;
}
.pr-55 {
    padding-right: 55px;
}
.pr-60 {
    padding-right: 60px;
}
.pr-65 {
    padding-right: 65px;
}
.pr-70 {
    padding-right: 70px;
}
.pr-75 {
    padding-right: 75px;
}
.pr-80 {
    padding-right: 80px;
}
.pr-85 {
    padding-right: 85px;
}
.pr-90 {
    padding-right: 90px;
}
.pr-95 {
    padding-right: 95px;
}
.pr-100 {
    padding-right: 100px;
}
.pr-105 {
    padding-right: 105px;
}
.pr-110 {
    padding-right: 110px;
}
.pr-115 {
    padding-right: 115px;
}
.pr-120 {
    padding-right: 120px;
}
.pr-125 {
    padding-right: 125px;
}
.pr-130 {
    padding-right: 130px;
}
.pr-135 {
    padding-right: 135px;
}
.pr-140 {
    padding-right: 140px;
}
.pr-145 {
    padding-right: 145px;
}
.pr-150 {
    padding-right: 150px;
}
.pr-155 {
    padding-right: 155px;
}
.pr-160 {
    padding-right: 160px;
}
.pr-165 {
    padding-right: 165px;
}
.pr-170 {
    padding-right: 170px;
}
.pr-175 {
    padding-right: 175px;
}
.pr-180 {
    padding-right: 180px;
}
.pr-185 {
    padding-right: 185px;
}
.pr-190 {
    padding-right: 190px;
}
.pr-195 {
    padding-right: 195px;
}
.pr-200 {
    padding-right: 200px;
}
.pr-250 {
    padding-right: 250px;
}
.rotate-90 {
    rotate: 90deg;
}
.fz-100 {
    font-size: 100px;
}
.fz-150 {
    font-size: 120px;
}
.fz-170 {
    font-size: 130px;
}
.fz-180 {
    font-size: 160px;
}
.fz-200 {
    font-size: 150px;
}
.fz-240 {
    font-size: 240px;
}
.fz-290 {
    font-size: 220px;
}
.fz-120 {
    font-size: 80px;
}
.fz-ds-1 {
    font-size: 80px !important;
}
@media screen and (min-width: 1441px) {
.fz-150 {
    font-size: 150px;
}
}
@media screen and (min-width: 1441px) {
.fz-170 {
    font-size: 170px;
}
}
@media screen and (min-width: 1441px) {
.fz-180 {
    font-size: 180px;
}
}
@media screen and (min-width: 1441px) {
.fz-200 {
    font-size: 200px;
}
}
@media screen and (min-width: 1441px) {
.fz-290 {
    font-size: 290px;
}
}
@media screen and (min-width: 1441px) {
.fz-120 {
    font-size: 120px;
}
}
@media screen and (min-width: 1441px) {
.fz-ds-1 {
    font-size: 124px !important;
}
}
.fz-60 {
    font-size: 60px;
}
.fz-18 {
    font-size: 18px;
}
.opacity-10 {
    opacity: 0.1;
}
.invert-0 {
    filter: invert(0);
}
.invert-1 {
    filter: invert(1);
}
.text-truncate-1 {
    display: -webkit-box;
    -webkit-line-clamp: 1;
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
    max-height: 1.5em;
}
.text-truncate-2 {
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
    max-height: 3em;
}
.text-truncate-3 {
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
    max-height: 4.5em;
}
.text-truncate-4 {
    display: -webkit-box;
    -webkit-line-clamp: 4;
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
    max-height: 6em;
}
.text-truncate-5 {
    display: -webkit-box;
    -webkit-line-clamp: 5;
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
    max-height: 8em;
}
.border-bottom-900 {
    border-bottom: 1px solid var(--at-neutral-900);
}
.border-bottom-950 {
    border-bottom: 1px solid var(--at-neutral-950);
}
.border-100 {
    border: 1px solid var(--at-neutral-100) !important;
}
.border-bottom-opacity {
    border-bottom: 1px solid rgba(255, 255, 255, 0.3);
}
.border-top-opacity {
    border-top: 1px solid rgba(255, 255, 255, 0.3);
}
.border-top-100 {
    border-top: 1px solid var(--at-neutral-100) !important;
}
.border-bottom-100 {
    border-bottom: 1px solid var(--at-neutral-100) !important;
}
.border-white\/01 {
    border-right: 1px solid var(--at-neutral-100);
}
.border-dark\/01 {
    border-right: 1px solid var(--at-neutral-900);
}
@media (min-width: 768px) {
.md\:grid-cols-7 {
    grid-template-columns: repeat(7, minmax(0px, 1fr));
}
}
@media (max-width: 574.98px) {
.w-50 {
    width: 100% !important;
}
}
.size-30 {
    width: 30px;
    height: 30px;
}
.size-40 {
    width: 40px;
    height: 40px;
}
.size-50 {
    width: 50px;
    height: 50px;
}
.size-56 {
    width: 56px;
    height: 56px;
}
.size-80 {
    width: 80px;
    height: 80px;
}
.size-100 {
    width: 100px !important;
    height: 100px !important;
}
.size-190 {
    width: 190px;
    height: 190px;
}
:root {
    --at-ff-body: 'DM Sans', sans-serif;
    --at-ff-heading: 'DM Sans', sans-serif;
    --at-ff-fontawesome: "Font Awesome 6 Pro";
    --at-fz-body: 14px;
    --at-fz-font-label: 12px;
    --at-fz-font-md: 16px;
    --at-fz-font-lg: 20px;
    --at-fz-font-xl: 22px;
    --at-fz-font-2xl: 28px;
    --at-fz-font-3xl: 32px;
    --at-fz-ds-1: 124px;
    --at-fz-24: 24px;
    --at-fz-10: 10px;
    --at-common-white: #ffffff;
    --at-common-white-rgb: 255, 255, 255;
    --at-common-black: #1e1e1e;
    --at-common-black-rgb: 30, 30, 30;
    --at-common-bubbles: #e1eeb7;
    --at-common-dark-white: #1e1e1e;
    --at-common-dark-white-rgb: 30, 30, 30;
    --at-common-dark-black: #FFFFFF;
    --at-common-dark-black-rgb: 255, 255, 255;
    --at-common-dark-bubbles: #040403;
    --at-neutral-0: #FEFEFE;
    --at-neutral-0-rgb: 254, 254, 254;
    --at-neutral-50: #F2F2F2;
    --at-neutral-50-rgb: 242, 242, 242;
    --at-neutral-100: #DFDFDF;
    --at-neutral-200: #CDCCCC;
    --at-neutral-300: #B7B7B7;
    --at-neutral-500: #585959;
    --at-neutral-700: #303030;
    --at-neutral-800: #212121;
    --at-neutral-900: #1D1D1D;
    --at-neutral-950: #0F0F0F;
    --at-neutral-dark-0: #0C0C0C;
    --at-neutral-dark-0-rgb: 12, 12, 12;
    --at-neutral-dark-50: #141414;
    --at-neutral-dark-50-rgb: 20, 20, 20;
    --at-neutral-dark-100: #212121;
    --at-neutral-dark-200: #2D2D2D;
    --at-neutral-dark-300: #404040;
    --at-neutral-dark-500: #B3B3B3;
    --at-neutral-dark-700: #535353;
    --at-neutral-dark-800: #EAEAEA;
    --at-neutral-dark-900: #EFEFEF;
    --at-neutral-dark-950: #F4F4F4;
    --at-grey-1: #5e5959;
    --at-grey-2: #f3f3f3;
    --at-grey-3: #b6bcc6;
    --at-grey-4: #f6f6f6;
    --at-grey-5: #d7cdcd;
    --at-theme-primary: #F0460E;
    --at-gradient-primary: linear-gradient(90deg, #a020f0 0%, #00ffd1 100%);
}
.h1 {
    font-size: 70px;
}
.h2 {
    font-size: 60px;
}
.h3 {
    font-size: 52px;
}
.h4 {
    font-size: 38px;
}
.h5 {
    font-size: 26px;
}
.h6 {
    font-size: 20px;
}
.fz-font-lg {
    font-size: 18px !important;
}
@media screen and (min-width: 1401px) {
.h1 {
    font-size: 84px;
}
}
@media screen and (min-width: 1401px) {
.h2 {
    font-size: 72px;
}
}
@media screen and (min-width: 1401px) {
.h3 {
    font-size: 64px;
}
}
@media screen and (min-width: 1401px) {
.h4 {
    font-size: 48px;
}
}
@media screen and (min-width: 1401px) {
.h5 {
    font-size: 34px;
}
}
@media screen and (min-width: 1401px) {
.h6 {
    font-size: 24px;
}
}
@media screen and (min-width: 1401px) {
.fz-font-lg {
    font-size: 20px !important;
}
}
.overflow-unset {
    overflow: unset !important;
}
.w-img img {
    width: 100%;
}
.m-img img {
    max-width: 100%;
}
.fix {
    overflow: hidden;
}
.clear {
    clear: both;
}
.z-n1 {
    position: relative;
    z-index: -1;
}
.z-index-1 {
    position: relative;
    z-index: 1;
}
.z-index-2 {
    position: relative;
    z-index: 2;
}
.z-index-3 {
    position: relative;
    z-index: 3;
}
.z-index-4 {
    position: relative;
    z-index: 4;
}
.z-index-5 {
    position: relative;
    z-index: 5;
}
.z-index-6 {
    position: relative;
    z-index: 6;
}
.z-index-7 {
    position: relative;
    z-index: 7;
}
.z-index-8 {
    position: relative;
    z-index: 8;
}
.z-index-9 {
    position: relative;
    z-index: 9;
}
.z-index-10 {
    position: relative;
    z-index: 10;
}
.gx-5 {
    --bs-gutter-x: 5px;
}
.gx-10 {
    --bs-gutter-x: 10px;
}
.gx-20 {
    --bs-gutter-x: 20px;
}
.gx-30 {
    --bs-gutter-x: 30px;
}
.gx-40 {
    --bs-gutter-x: 40px;
}
.gx-45 {
    --bs-gutter-x: 45px;
}
.gx-50 {
    --bs-gutter-x: 50px;
}
@media only screen and (min-width: 1200px) and (max-width: 1399px), only screen and (min-width: 992px) and (max-width: 1199px), only screen and (min-width: 768px) and (max-width: 991px), only screen and (min-width: 576px) and (max-width: 767px), (max-width: 574.98px) {
.gx-50 {
    --bs-gutter-x: 30px;
}
}
.gx-60 {
    --bs-gutter-x: 60px;
}
@media only screen and (min-width: 1200px) and (max-width: 1399px), only screen and (min-width: 992px) and (max-width: 1199px), only screen and (min-width: 768px) and (max-width: 991px), only screen and (min-width: 576px) and (max-width: 767px), (max-width: 574.98px) {
.gx-60 {
    --bs-gutter-x: 30px;
}
}
.gx-70 {
    --bs-gutter-x: 70px;
}
@media only screen and (min-width: 1200px) and (max-width: 1399px), only screen and (min-width: 992px) and (max-width: 1199px), only screen and (min-width: 768px) and (max-width: 991px), only screen and (min-width: 576px) and (max-width: 767px), (max-width: 574.98px) {
.gx-70 {
    --bs-gutter-x: 30px;
}
}
.gx-80 {
    --bs-gutter-x: 80px;
}
@media only screen and (min-width: 1200px) and (max-width: 1399px), only screen and (min-width: 992px) and (max-width: 1199px), only screen and (min-width: 768px) and (max-width: 991px), only screen and (min-width: 576px) and (max-width: 767px), (max-width: 574.98px) {
.gx-80 {
    --bs-gutter-x: 30px;
}
}
.gx-90 {
    --bs-gutter-x: 90px;
}
@media only screen and (min-width: 1200px) and (max-width: 1399px), only screen and (min-width: 992px) and (max-width: 1199px), only screen and (min-width: 768px) and (max-width: 991px), only screen and (min-width: 576px) and (max-width: 767px), (max-width: 574.98px) {
.gx-90 {
    --bs-gutter-x: 30px;
}
}
.gx-100 {
    --bs-gutter-x: 100px;
}
@media only screen and (min-width: 1200px) and (max-width: 1399px), only screen and (min-width: 992px) and (max-width: 1199px), only screen and (min-width: 768px) and (max-width: 991px), only screen and (min-width: 576px) and (max-width: 767px), (max-width: 574.98px) {
.gx-100 {
    --bs-gutter-x: 30px;
}
}
.overflow-y-visible {
    overflow: hidden visible;
}
.p-relative {
    position: relative;
}
.p-absolute {
    position: absolute;
}
.bg-position {
    background-position: center bottom;
    background-size: cover;
    background-repeat: no-repeat;
}
.slide-transtion {
    transition-timing-function: linear;
}
.slide-transtion .swiper-slide {
    width: auto;
}
.common-underline {
    background-image: linear-gradient(currentcolor, currentcolor), linear-gradient(currentcolor, currentcolor);
    background-size: 0px 1px, 0px 1px;
    background-position: 100% 100%, 0px 100%;
    background-repeat: no-repeat;
    transition: background-size 0.3s linear;
}
.common-underline:hover {
    background-image: linear-gradient(currentcolor, currentcolor), linear-gradient(currentcolor, currentcolor);
    background-size: 0px 1px, 100% 1px;
    background-position: 100% 100%, 0px 100%;
    background-repeat: no-repeat;
    transition: background-size 0.3s linear;
}
.img-cover {
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.bg-cover {
    background-size: cover;
    background-position: center center;
    background-repeat: no-repeat;
}
.text-red {
    color: var(--at-theme-primary);
}
@media (min-width: 1400px) {
.container-1136 {
    max-width: 1136px;
    margin-left: auto;
    margin-right: auto;
}
}
@media (min-width: 1400px) {
.container-2200 {
    max-width: 2200px;
    margin-left: auto;
    margin-right: auto;
}
}
.at-ff-body {
    font-family: var(--at-ff-body);
}
.at-ff-heading {
    font-family: var(--at-ff-heading);
}
.at-ff-fontawesome {
    font-family: var(--at-ff-fontawesome);
}
.fw-100 {
    font-weight: 100;
}
.fw-200 {
    font-weight: 200;
}
.fw-300 {
    font-weight: 300;
}
.fw-400 {
    font-weight: 400;
}
.fw-500 {
    font-weight: 500;
}
.fw-600 {
    font-weight: 600;
}
.fw-700 {
    font-weight: 700;
}
.fw-800 {
    font-weight: 800;
}
.fw-900 {
    font-weight: 900;
}
.fz-body {
    font-size: var(--at-fz-body);
}
.fz-font-label {
    font-size: var(--at-fz-font-label);
}
.fz-font-md {
    font-size: var(--at-fz-font-md);
}
.fz-font-lg {
    font-size: var(--at-fz-font-lg);
}
.fz-font-xl {
    font-size: var(--at-fz-font-xl);
}
.fz-font-2xl {
    font-size: var(--at-fz-font-2xl);
}
.fz-font-3xl {
    font-size: var(--at-fz-font-3xl);
}
.fz-ds-1 {
    font-size: var(--at-fz-ds-1);
}
.fz-24 {
    font-size: var(--at-fz-24);
}
.fz-10 {
    font-size: var(--at-fz-10);
}
.common-white {
    color: var(--at-common-white) !important;
}
.common-white-rgb {
    color: var(--at-common-white-rgb) !important;
}
.common-black {
    color: var(--at-common-black) !important;
}
.common-black-rgb {
    color: var(--at-common-black-rgb) !important;
}
.common-bubbles {
    color: var(--at-common-bubbles) !important;
}
.common-dark-white {
    color: var(--at-common-dark-white) !important;
}
.common-dark-white-rgb {
    color: var(--at-common-dark-white-rgb) !important;
}
.common-dark-black {
    color: var(--at-common-dark-black) !important;
}
.common-dark-black-rgb {
    color: var(--at-common-dark-black-rgb) !important;
}
.common-dark-bubbles {
    color: var(--at-common-dark-bubbles) !important;
}
.neutral-0 {
    color: var(--at-neutral-0) !important;
}
.neutral-0-rgb {
    color: var(--at-neutral-0-rgb) !important;
}
.neutral-50 {
    color: var(--at-neutral-50) !important;
}
.neutral-50-rgb {
    color: var(--at-neutral-50-rgb) !important;
}
.neutral-100 {
    color: var(--at-neutral-100) !important;
}
.neutral-200 {
    color: var(--at-neutral-200) !important;
}
.neutral-300 {
    color: var(--at-neutral-300) !important;
}
.neutral-500 {
    color: var(--at-neutral-500) !important;
}
.neutral-700 {
    color: var(--at-neutral-700) !important;
}
.neutral-800 {
    color: var(--at-neutral-800) !important;
}
.neutral-900 {
    color: var(--at-neutral-900) !important;
}
.neutral-950 {
    color: var(--at-neutral-950) !important;
}
.neutral-dark-0 {
    color: var(--at-neutral-dark-0) !important;
}
.neutral-dark-0-rgb {
    color: var(--at-neutral-dark-0-rgb) !important;
}
.neutral-dark-50 {
    color: var(--at-neutral-dark-50) !important;
}
.neutral-dark-50-rgb {
    color: var(--at-neutral-dark-50-rgb) !important;
}
.neutral-dark-100 {
    color: var(--at-neutral-dark-100) !important;
}
.neutral-dark-200 {
    color: var(--at-neutral-dark-200) !important;
}
.neutral-dark-300 {
    color: var(--at-neutral-dark-300) !important;
}
.neutral-dark-500 {
    color: var(--at-neutral-dark-500) !important;
}
.neutral-dark-700 {
    color: var(--at-neutral-dark-700) !important;
}
.neutral-dark-800 {
    color: var(--at-neutral-dark-800) !important;
}
.neutral-dark-900 {
    color: var(--at-neutral-dark-900) !important;
}
.neutral-dark-950 {
    color: var(--at-neutral-dark-950) !important;
}
.grey-1 {
    color: var(--at-grey-1) !important;
}
.grey-2 {
    color: var(--at-grey-2) !important;
}
.grey-3 {
    color: var(--at-grey-3) !important;
}
.grey-4 {
    color: var(--at-grey-4) !important;
}
.grey-5 {
    color: var(--at-grey-5) !important;
}
.theme-primary {
    color: var(--at-theme-primary) !important;
}
.gradient-primary {
    color: var(--at-gradient-primary) !important;
}
.bg-common-white {
    background-color: var(--at-common-white) !important;
}
.bg-common-white-rgb {
    background-color: var(--at-common-white-rgb) !important;
}
.bg-common-black {
    background-color: var(--at-common-black) !important;
}
.bg-common-black-rgb {
    background-color: var(--at-common-black-rgb) !important;
}
.bg-common-bubbles {
    background-color: var(--at-common-bubbles) !important;
}
.bg-common-dark-white {
    background-color: var(--at-common-dark-white) !important;
}
.bg-common-dark-white-rgb {
    background-color: var(--at-common-dark-white-rgb) !important;
}
.bg-common-dark-black {
    background-color: var(--at-common-dark-black) !important;
}
.bg-common-dark-black-rgb {
    background-color: var(--at-common-dark-black-rgb) !important;
}
.bg-common-dark-bubbles {
    background-color: var(--at-common-dark-bubbles) !important;
}
.bg-neutral-0 {
    background-color: var(--at-neutral-0) !important;
}
.bg-neutral-0-rgb {
    background-color: var(--at-neutral-0-rgb) !important;
}
.bg-neutral-50 {
    background-color: var(--at-neutral-50) !important;
}
.bg-neutral-50-rgb {
    background-color: var(--at-neutral-50-rgb) !important;
}
.bg-neutral-100 {
    background-color: var(--at-neutral-100) !important;
}
.bg-neutral-200 {
    background-color: var(--at-neutral-200) !important;
}
.bg-neutral-300 {
    background-color: var(--at-neutral-300) !important;
}
.bg-neutral-500 {
    background-color: var(--at-neutral-500) !important;
}
.bg-neutral-700 {
    background-color: var(--at-neutral-700) !important;
}
.bg-neutral-800 {
    background-color: var(--at-neutral-800) !important;
}
.bg-neutral-900 {
    background-color: var(--at-neutral-900) !important;
}
.bg-neutral-950 {
    background-color: var(--at-neutral-950) !important;
}
.bg-neutral-dark-0 {
    background-color: var(--at-neutral-dark-0) !important;
}
.bg-neutral-dark-0-rgb {
    background-color: var(--at-neutral-dark-0-rgb) !important;
}
.bg-neutral-dark-50 {
    background-color: var(--at-neutral-dark-50) !important;
}
.bg-neutral-dark-50-rgb {
    background-color: var(--at-neutral-dark-50-rgb) !important;
}
.bg-neutral-dark-100 {
    background-color: var(--at-neutral-dark-100) !important;
}
.bg-neutral-dark-200 {
    background-color: var(--at-neutral-dark-200) !important;
}
.bg-neutral-dark-300 {
    background-color: var(--at-neutral-dark-300) !important;
}
.bg-neutral-dark-500 {
    background-color: var(--at-neutral-dark-500) !important;
}
.bg-neutral-dark-700 {
    background-color: var(--at-neutral-dark-700) !important;
}
.bg-neutral-dark-800 {
    background-color: var(--at-neutral-dark-800) !important;
}
.bg-neutral-dark-900 {
    background-color: var(--at-neutral-dark-900) !important;
}
.bg-neutral-dark-950 {
    background-color: var(--at-neutral-dark-950) !important;
}
.bg-grey-1 {
    background-color: var(--at-grey-1) !important;
}
.bg-grey-2 {
    background-color: var(--at-grey-2) !important;
}
.bg-grey-3 {
    background-color: var(--at-grey-3) !important;
}
.bg-grey-4 {
    background-color: var(--at-grey-4) !important;
}
.bg-grey-5 {
    background-color: var(--at-grey-5) !important;
}
.bg-theme-primary {
    background-color: var(--at-theme-primary) !important;
}
.bg-gradient-primary {
    background-color: var(--at-gradient-primary) !important;
}
.bg-primary-1 {
    background-color: var(--at-theme-primary);
}
.text-dark {
    color: var(--at-neutral-950) !important;
}
@media only screen and (min-width: 1200px) and (max-width: 1399px), only screen and (min-width: 992px) and (max-width: 1199px), only screen and (min-width: 768px) and (max-width: 991px), only screen and (min-width: 576px) and (max-width: 767px), (max-width: 574.98px) {
.pt-170 {
    padding-top: 115px;
}
}
@media only screen and (min-width: 1200px) and (max-width: 1399px), only screen and (min-width: 992px) and (max-width: 1199px), only screen and (min-width: 768px) and (max-width: 991px), only screen and (min-width: 576px) and (max-width: 767px), (max-width: 574.98px) {
.pt-165 {
    padding-top: 110px;
}
}
@media only screen and (min-width: 1200px) and (max-width: 1399px), only screen and (min-width: 992px) and (max-width: 1199px), only screen and (min-width: 768px) and (max-width: 991px), only screen and (min-width: 576px) and (max-width: 767px), (max-width: 574.98px) {
.pt-160 {
    padding-top: 100px;
}
}
@media only screen and (min-width: 1200px) and (max-width: 1399px), only screen and (min-width: 992px) and (max-width: 1199px), only screen and (min-width: 768px) and (max-width: 991px), only screen and (min-width: 576px) and (max-width: 767px), (max-width: 574.98px) {
.pt-155 {
    padding-top: 100px;
}
}
@media only screen and (min-width: 1200px) and (max-width: 1399px), only screen and (min-width: 992px) and (max-width: 1199px), only screen and (min-width: 768px) and (max-width: 991px), only screen and (min-width: 576px) and (max-width: 767px), (max-width: 574.98px) {
.pt-150 {
    padding-top: 100px;
}
}
@media only screen and (min-width: 1200px) and (max-width: 1399px), only screen and (min-width: 992px) and (max-width: 1199px), only screen and (min-width: 768px) and (max-width: 991px), only screen and (min-width: 576px) and (max-width: 767px), (max-width: 574.98px) {
.pt-145 {
    padding-top: 100px;
}
}
@media only screen and (min-width: 1200px) and (max-width: 1399px), only screen and (min-width: 992px) and (max-width: 1199px), only screen and (min-width: 768px) and (max-width: 991px), only screen and (min-width: 576px) and (max-width: 767px), (max-width: 574.98px) {
.pt-140 {
    padding-top: 100px;
}
}
@media only screen and (min-width: 1200px) and (max-width: 1399px), only screen and (min-width: 992px) and (max-width: 1199px), only screen and (min-width: 768px) and (max-width: 991px), only screen and (min-width: 576px) and (max-width: 767px), (max-width: 574.98px) {
.pt-135 {
    padding-top: 95px;
}
}
@media only screen and (min-width: 1200px) and (max-width: 1399px), only screen and (min-width: 992px) and (max-width: 1199px), only screen and (min-width: 768px) and (max-width: 991px), only screen and (min-width: 576px) and (max-width: 767px), (max-width: 574.98px) {
.pt-130 {
    padding-top: 90px;
}
}
@media only screen and (min-width: 1200px) and (max-width: 1399px), only screen and (min-width: 992px) and (max-width: 1199px), only screen and (min-width: 768px) and (max-width: 991px), only screen and (min-width: 576px) and (max-width: 767px), (max-width: 574.98px) {
.pt-125 {
    padding-top: 85px;
}
}
@media only screen and (min-width: 1200px) and (max-width: 1399px), only screen and (min-width: 992px) and (max-width: 1199px), only screen and (min-width: 768px) and (max-width: 991px), only screen and (min-width: 576px) and (max-width: 767px), (max-width: 574.98px) {
.pt-120 {
    padding-top: 80px;
}
}
@media only screen and (min-width: 1200px) and (max-width: 1399px), only screen and (min-width: 992px) and (max-width: 1199px), only screen and (min-width: 768px) and (max-width: 991px), only screen and (min-width: 576px) and (max-width: 767px), (max-width: 574.98px) {
.pt-115 {
    padding-top: 75px;
}
}
@media only screen and (min-width: 1200px) and (max-width: 1399px), only screen and (min-width: 992px) and (max-width: 1199px), only screen and (min-width: 768px) and (max-width: 991px), only screen and (min-width: 576px) and (max-width: 767px), (max-width: 574.98px) {
.pt-110 {
    padding-top: 70px;
}
}
@media only screen and (min-width: 1200px) and (max-width: 1399px), only screen and (min-width: 992px) and (max-width: 1199px), only screen and (min-width: 768px) and (max-width: 991px), only screen and (min-width: 576px) and (max-width: 767px), (max-width: 574.98px) {
.pt-105 {
    padding-top: 65px;
}
}
@media only screen and (min-width: 1200px) and (max-width: 1399px), only screen and (min-width: 992px) and (max-width: 1199px), only screen and (min-width: 768px) and (max-width: 991px), only screen and (min-width: 576px) and (max-width: 767px), (max-width: 574.98px) {
.pt-100 {
    padding-top: 60px;
}
}
@media only screen and (min-width: 1200px) and (max-width: 1399px), only screen and (min-width: 992px) and (max-width: 1199px), only screen and (min-width: 768px) and (max-width: 991px), only screen and (min-width: 576px) and (max-width: 767px), (max-width: 574.98px) {
.pb-170 {
    padding-bottom: 100px;
}
}
@media only screen and (min-width: 992px) and (max-width: 1199px), only screen and (min-width: 768px) and (max-width: 991px), only screen and (min-width: 576px) and (max-width: 767px), (max-width: 574.98px) {
.pt-180 {
    padding-top: 100px;
}
}
@media only screen and (min-width: 992px) and (max-width: 1199px), only screen and (min-width: 768px) and (max-width: 991px), only screen and (min-width: 576px) and (max-width: 767px), (max-width: 574.98px) {
.pt-190 {
    padding-top: 110px;
}
}
@media only screen and (min-width: 1200px) and (max-width: 1399px), only screen and (min-width: 992px) and (max-width: 1199px), only screen and (min-width: 768px) and (max-width: 991px), only screen and (min-width: 576px) and (max-width: 767px), (max-width: 574.98px) {
.pb-165 {
    padding-bottom: 100px;
}
}
@media only screen and (min-width: 1200px) and (max-width: 1399px), only screen and (min-width: 992px) and (max-width: 1199px), only screen and (min-width: 768px) and (max-width: 991px), only screen and (min-width: 576px) and (max-width: 767px), (max-width: 574.98px) {
.pb-160 {
    padding-bottom: 100px;
}
}
@media only screen and (min-width: 1200px) and (max-width: 1399px), only screen and (min-width: 992px) and (max-width: 1199px), only screen and (min-width: 768px) and (max-width: 991px), only screen and (min-width: 576px) and (max-width: 767px), (max-width: 574.98px) {
.pb-155 {
    padding-bottom: 100px;
}
}
@media only screen and (min-width: 1200px) and (max-width: 1399px), only screen and (min-width: 992px) and (max-width: 1199px), only screen and (min-width: 768px) and (max-width: 991px), only screen and (min-width: 576px) and (max-width: 767px), (max-width: 574.98px) {
.pb-150 {
    padding-bottom: 100px;
}
}
@media only screen and (min-width: 1200px) and (max-width: 1399px), only screen and (min-width: 992px) and (max-width: 1199px), only screen and (min-width: 768px) and (max-width: 991px), only screen and (min-width: 576px) and (max-width: 767px), (max-width: 574.98px) {
.pb-145 {
    padding-bottom: 100px;
}
}
@media only screen and (min-width: 1200px) and (max-width: 1399px), only screen and (min-width: 992px) and (max-width: 1199px), only screen and (min-width: 768px) and (max-width: 991px), only screen and (min-width: 576px) and (max-width: 767px), (max-width: 574.98px) {
.pb-140 {
    padding-bottom: 100px;
}
}
@media only screen and (min-width: 1200px) and (max-width: 1399px), only screen and (min-width: 992px) and (max-width: 1199px), only screen and (min-width: 768px) and (max-width: 991px), only screen and (min-width: 576px) and (max-width: 767px), (max-width: 574.98px) {
.pb-135 {
    padding-bottom: 95px;
}
}
@media only screen and (min-width: 1200px) and (max-width: 1399px), only screen and (min-width: 992px) and (max-width: 1199px), only screen and (min-width: 768px) and (max-width: 991px), only screen and (min-width: 576px) and (max-width: 767px), (max-width: 574.98px) {
.pb-130 {
    padding-bottom: 90px;
}
}
@media only screen and (min-width: 1200px) and (max-width: 1399px), only screen and (min-width: 992px) and (max-width: 1199px), only screen and (min-width: 768px) and (max-width: 991px), only screen and (min-width: 576px) and (max-width: 767px), (max-width: 574.98px) {
.pb-125 {
    padding-bottom: 85px;
}
}
@media only screen and (min-width: 1200px) and (max-width: 1399px), only screen and (min-width: 992px) and (max-width: 1199px), only screen and (min-width: 768px) and (max-width: 991px), only screen and (min-width: 576px) and (max-width: 767px), (max-width: 574.98px) {
.pb-120 {
    padding-bottom: 80px;
}
}
@media only screen and (min-width: 1200px) and (max-width: 1399px), only screen and (min-width: 992px) and (max-width: 1199px), only screen and (min-width: 768px) and (max-width: 991px), only screen and (min-width: 576px) and (max-width: 767px), (max-width: 574.98px) {
.pb-115 {
    padding-bottom: 75px;
}
}
@media only screen and (min-width: 1200px) and (max-width: 1399px), only screen and (min-width: 992px) and (max-width: 1199px), only screen and (min-width: 768px) and (max-width: 991px), only screen and (min-width: 576px) and (max-width: 767px), (max-width: 574.98px) {
.pb-110 {
    padding-bottom: 70px;
}
}
@media only screen and (min-width: 1200px) and (max-width: 1399px), only screen and (min-width: 992px) and (max-width: 1199px), only screen and (min-width: 768px) and (max-width: 991px), only screen and (min-width: 576px) and (max-width: 767px), (max-width: 574.98px) {
.pb-105 {
    padding-bottom: 65px;
}
}
@media only screen and (min-width: 1200px) and (max-width: 1399px), only screen and (min-width: 992px) and (max-width: 1199px), only screen and (min-width: 768px) and (max-width: 991px), only screen and (min-width: 576px) and (max-width: 767px), (max-width: 574.98px) {
.pb-100 {
    padding-bottom: 60px;
}
}
@media only screen and (min-width: 1200px) and (max-width: 1399px), only screen and (min-width: 992px) and (max-width: 1199px), only screen and (min-width: 768px) and (max-width: 991px), only screen and (min-width: 576px) and (max-width: 767px), (max-width: 574.98px) {
.pb-95 {
    padding-bottom: 55px;
}
}
@media only screen and (min-width: 1200px) and (max-width: 1399px), only screen and (min-width: 992px) and (max-width: 1199px), only screen and (min-width: 768px) and (max-width: 991px), only screen and (min-width: 576px) and (max-width: 767px), (max-width: 574.98px) {
.pb-90 {
    padding-bottom: 50px;
}
}
@media only screen and (min-width: 1200px) and (max-width: 1399px), only screen and (min-width: 992px) and (max-width: 1199px), only screen and (min-width: 768px) and (max-width: 991px), only screen and (min-width: 576px) and (max-width: 767px), (max-width: 574.98px) {
.pt-90 {
    padding-top: 50px;
}
}
@media only screen and (min-width: 1200px) and (max-width: 1399px), only screen and (min-width: 992px) and (max-width: 1199px) {
.fz-body {
    font-size: 16px !important;
}
}
@media only screen and (min-width: 1200px) and (max-width: 1399px), only screen and (min-width: 992px) and (max-width: 1199px) {
.fz-font-label {
    font-size: 12px !important;
}
}
@media only screen and (min-width: 1200px) and (max-width: 1399px), only screen and (min-width: 992px) and (max-width: 1199px) {
.fz-font-md {
    font-size: 18px !important;
}
}
@media only screen and (min-width: 1200px) and (max-width: 1399px), only screen and (min-width: 992px) and (max-width: 1199px) {
.fz-font-lg {
    font-size: 20px !important;
}
}
@media only screen and (min-width: 1200px) and (max-width: 1399px), only screen and (min-width: 992px) and (max-width: 1199px) {
.fz-font-xl {
    font-size: 22px !important;
}
}
@media only screen and (min-width: 1200px) and (max-width: 1399px), only screen and (min-width: 992px) and (max-width: 1199px) {
.fz-font-2xl {
    font-size: 26px !important;
}
}
@media only screen and (min-width: 1200px) and (max-width: 1399px), only screen and (min-width: 992px) and (max-width: 1199px) {
.fz-font-3xl {
    font-size: 28px !important;
}
}
@media only screen and (min-width: 1200px) and (max-width: 1399px), only screen and (min-width: 992px) and (max-width: 1199px) {
.fz-ds-1 {
    font-size: 72px !important;
}
}
@media only screen and (min-width: 1200px) and (max-width: 1399px), only screen and (min-width: 992px) and (max-width: 1199px) {
.h1 {
    font-size: 58px;
}
}
@media only screen and (min-width: 1200px) and (max-width: 1399px), only screen and (min-width: 992px) and (max-width: 1199px) {
.h2 {
    font-size: 50px;
}
}
@media only screen and (min-width: 1200px) and (max-width: 1399px), only screen and (min-width: 992px) and (max-width: 1199px) {
.h3 {
    font-size: 42px;
}
}
@media only screen and (min-width: 1200px) and (max-width: 1399px), only screen and (min-width: 992px) and (max-width: 1199px) {
.h4 {
    font-size: 30px;
}
}
@media only screen and (min-width: 1200px) and (max-width: 1399px), only screen and (min-width: 992px) and (max-width: 1199px) {
.h5 {
    font-size: 28px;
}
}
@media only screen and (min-width: 1200px) and (max-width: 1399px), only screen and (min-width: 992px) and (max-width: 1199px) {
.h6 {
    font-size: 20px;
}
}
@media only screen and (min-width: 1200px) and (max-width: 1399px), only screen and (min-width: 992px) and (max-width: 1199px) {
.fz-150 {
    font-size: 100px;
}
}
@media only screen and (min-width: 1200px) and (max-width: 1399px), only screen and (min-width: 992px) and (max-width: 1199px) {
.fz-170 {
    font-size: 100px;
}
}
@media only screen and (min-width: 1200px) and (max-width: 1399px), only screen and (min-width: 992px) and (max-width: 1199px) {
.fz-180 {
    font-size: 140px;
}
}
@media only screen and (min-width: 1200px) and (max-width: 1399px), only screen and (min-width: 992px) and (max-width: 1199px) {
.fz-200 {
    font-size: 120px;
}
}
@media only screen and (min-width: 1200px) and (max-width: 1399px), only screen and (min-width: 992px) and (max-width: 1199px) {
.fz-290 {
    font-size: 180px;
}
}
@media only screen and (min-width: 1200px) and (max-width: 1399px), only screen and (min-width: 992px) and (max-width: 1199px) {
.fz-120 {
    font-size: 84px;
}
}
@media only screen and (min-width: 1200px) and (max-width: 1399px), only screen and (min-width: 992px) and (max-width: 1199px) {
.fz-60 {
    font-size: 60px;
}
}
@media only screen and (min-width: 1200px) and (max-width: 1399px), only screen and (min-width: 992px) and (max-width: 1199px) {
.d-md-none {
    display: none;
}
}
@media only screen and (min-width: 768px) and (max-width: 991px) {
.fz-body {
    font-size: 14px !important;
}
}
@media only screen and (min-width: 768px) and (max-width: 991px) {
.fz-font-label {
    font-size: 12px !important;
}
}
@media only screen and (min-width: 768px) and (max-width: 991px) {
.fz-font-md {
    font-size: 16px !important;
}
}
@media only screen and (min-width: 768px) and (max-width: 991px) {
.fz-font-lg {
    font-size: 18px !important;
}
}
@media only screen and (min-width: 768px) and (max-width: 991px) {
.fz-font-xl {
    font-size: 20px !important;
}
}
@media only screen and (min-width: 768px) and (max-width: 991px) {
.fz-font-2xl {
    font-size: 24px !important;
}
}
@media only screen and (min-width: 768px) and (max-width: 991px) {
.fz-font-3xl {
    font-size: 26px !important;
}
}
@media only screen and (min-width: 768px) and (max-width: 991px) {
.fz-ds-1 {
    font-size: 60px !important;
}
}
@media only screen and (min-width: 768px) and (max-width: 991px) {
.h1 {
    font-size: 54px;
}
}
@media only screen and (min-width: 768px) and (max-width: 991px) {
.h2 {
    font-size: 52px;
}
}
@media only screen and (min-width: 768px) and (max-width: 991px) {
.h3 {
    font-size: 40px;
}
}
@media only screen and (min-width: 768px) and (max-width: 991px) {
.h4 {
    font-size: 36px;
}
}
@media only screen and (min-width: 768px) and (max-width: 991px) {
.h5 {
    font-size: 24px;
}
}
@media only screen and (min-width: 768px) and (max-width: 991px) {
.h6 {
    font-size: 20px;
}
}
@media only screen and (min-width: 768px) and (max-width: 991px) {
.fz-150 {
    font-size: 110px;
}
}
@media only screen and (min-width: 768px) and (max-width: 991px) {
.fz-170 {
    font-size: 70px;
}
}
@media only screen and (min-width: 768px) and (max-width: 991px) {
.fz-180 {
    font-size: 70px;
}
}
@media only screen and (min-width: 768px) and (max-width: 991px) {
.fz-200 {
    font-size: 80px;
}
}
@media only screen and (min-width: 768px) and (max-width: 991px) {
.fz-240 {
    font-size: 100px;
}
}
@media only screen and (min-width: 768px) and (max-width: 991px) {
.fz-290 {
    font-size: 180px;
}
}
@media only screen and (min-width: 768px) and (max-width: 991px) {
.fz-120 {
    font-size: 100px;
}
}
@media only screen and (min-width: 768px) and (max-width: 991px) {
.fz-60 {
    font-size: 60px;
}
}
@media only screen and (min-width: 768px) and (max-width: 991px) {
.d-md-none {
    display: none;
}
}
@media (max-width: 574.98px) {
.fz-body {
    font-size: 14px !important;
}
}
@media (max-width: 574.98px) {
.fz-font-label {
    font-size: 12px !important;
}
}
@media (max-width: 574.98px) {
.fz-font-md {
    font-size: 14px !important;
}
}
@media (max-width: 574.98px) {
.fz-font-lg {
    font-size: 16px !important;
}
}
@media (max-width: 574.98px) {
.fz-font-xl {
    font-size: 18px !important;
}
}
@media (max-width: 574.98px) {
.fz-font-2xl {
    font-size: 22px !important;
}
}
@media (max-width: 574.98px) {
.fz-font-3xl {
    font-size: 24px !important;
}
}
@media (max-width: 574.98px) {
.fz-ds-1 {
    font-size: 54px !important;
}
}
@media (max-width: 574.98px) {
.h1 {
    font-size: 50px;
}
}
@media (max-width: 574.98px) {
.h2 {
    font-size: 42px;
}
}
@media (max-width: 574.98px) {
.h3 {
    font-size: 36px;
}
}
@media (max-width: 574.98px) {
.h4 {
    font-size: 30px;
}
}
@media (max-width: 574.98px) {
.h5 {
    font-size: 20px;
}
}
@media (max-width: 574.98px) {
.h6 {
    font-size: 16px;
}
}
@media (max-width: 574.98px) {
.fz-150 {
    font-size: 52px;
}
}
@media (max-width: 574.98px) {
.fz-170 {
    font-size: 30px;
}
}
@media (max-width: 574.98px) {
.fz-180 {
    font-size: 38px;
}
}
@media (max-width: 574.98px) {
.fz-200 {
    font-size: 38px;
}
}
@media (max-width: 574.98px) {
.fz-240 {
    font-size: 100px;
}
}
@media (max-width: 574.98px) {
.fz-290 {
    font-size: 100px;
}
}
@media (max-width: 574.98px) {
.fz-120 {
    font-size: 90px;
}
}
@media (max-width: 574.98px) {
.fz-60 {
    font-size: 60px;
}
}
@media (max-width: 574.98px) {
.w-75 {
    width: 100% !important;
}
}
:root {
    --basic-ease: cubic-bezier(.625, .05, 0, 1);
}
.text-scale-anim {
    white-space: pre-wrap;
    transform-origin: left top;
}
:root {
    --numOfSlides: 5;
    --slidingAT: 1.3s;
    --controlSize: 60px;
}
.rotate-infinite {
    animation: 15s linear 0s infinite normal none running rotate-infinite;
}
.rotate-infinite-2 {
    animation: 15s linear 0s infinite normal none running rotate-infinite-2;
}
.hover-up {
    transition: transform 0.2s ease-in-out;
}
.hover-up:hover {
    transform: translateY(-3px);
}
@media only screen and (min-width: 992px) and (max-width: 1199px) {
.w-lg-50 {
    width: 50%;
}
}
.text-indent {
    text-indent: 20px;
}
@media (max-width: 574.98px) {
.d-xs-none {
    display: none;
}
}
/* E360_FOUNDATION_END */

/* Adaptations globales E360 : la palette n’est plus redéfinie par page. */
:root {
    --at-ff-body: "DM Sans E360", "DM Sans", sans-serif;
    --at-ff-heading: "DM Sans E360", "DM Sans", sans-serif;
    --at-theme-primary: var(--e360-theme-color, #1a58e2);
    --at-theme-primary-rgb: var(--e360-theme-color-rgb, 26, 88, 226);
    --at-common-black: #0f0f0f;
    --at-neutral-50: #f6f6f6;
    --at-neutral-400: #868686;
    --at-neutral-500: #696969;
    --at-neutral-700: #353535;
}


:root {
    --e360-card-border-color: var(--e360-gray-150);
    --e360-card-shadow: 0 4px 6px rgba(0, 0, 0, 0.02);
    --e360-footer-bg: var(--e360-gray-900);
    --e360-videos-bg: var(--e360-gray-950);
    --border-radius-sm: 0.188rem;
    --border-radius: 0.375rem;
    --border-radius-lg: 0.5rem;
    --border-radius-xl: 1rem;
    --e360-border-radius-xs: 2px;
    --e360-border-radius-sm: 3px;
    --e360-border-radius: 4px;
    --e360-border-radius-md: 6px;
    --e360-border-radius-lg: 8px;
    --e360-border-radius-xl: 12px;
    --e360-text-main: var(--e360-gray-900);
    --e360-text-muted: var(--e360-gray-500);
    --e360-text-subtle: var(--e360-gray-400);
    --e360-text-faint: var(--e360-gray-300);
    --e360-color-white: #ffffff;
    --e360-green-500: #22c55e;
    --e360-input-border-color: #e2e8f0;
    --e360-error-color: #dc3545;
    --e360-online-color: #85cc84;
    --e360-placeholder-color: #9AA2AA;
}

/* Reset média institutionnel : les attributs intrinsèques réservent l’espace sans étirer les photographies. */
img {
    max-width: 100%;
    height: auto;
}

/* Variantes directionnelles et groupe institutionnel ; le clavier bénéficie du même état que le survol. */
.at-btn:hover i.icon-arrow-right svg:first-child,
.at-btn:hover i.icon-arrow-right svg:last-child {
    transform: translate(16px, 0px);
}
.at-btn:hover i.icon-arrow-up-left svg:first-child,
.at-btn:hover i.icon-arrow-up-left svg:last-child {
    transform: translate(-16px, -16px);
}
.at-btn-group:hover > :nth-child(1),
.at-btn-group:focus-within > :nth-child(1) {
    transform: scale3d(1, 1, 1);
    margin-inline-end: 0px;
    background: rgb(29, 29, 29);
}
.at-btn-group:hover > :nth-child(2),
.at-btn-group:focus-within > :nth-child(2) {
    transform: scale3d(1, 1, 1);
    background: rgb(29, 29, 29);
}
.at-btn-group:hover > :nth-child(3),
.at-btn-group:focus-within > :nth-child(3) {
    transform: scale3d(0.5, 0.5, 1);
    margin-inline-start: -52px;
    background: rgb(29, 29, 29);
}
/* Composants institutionnel restaurés : boutons, étiquettes portfolio et métadonnées de process. */
.process-scroll .process-card__meta-label {
    display: inline-block;
    margin-left: 4px;
}
.cs-portfolio-tag ul li {
    list-style: none;
    display: inline-block;
}
.cs-portfolio-tag ul li:not(:first-child) {
    margin-left: 5px;
}
.cs-portfolio-tag ul li a {
    font-weight: 600;
    font-size: 16px;
    letter-spacing: -0.05em;
    text-transform: uppercase;
    color: var(--at-common-white);
    border: 1px solid rgba(255, 255, 255, 0.1);
    border-radius: 50px;
    padding: 8px 19px;
    line-height: 1;
    margin-bottom: 10px;
    display: inline-block;
}
.cs-portfolio-tag ul li a:hover {
    background: var(--at-common-white);
    color: var(--at-common-black);
    border-color: var(--at-common-white);
}
.mg-portfolio-content .cs-portfolio-tag {
    width: 40%;
}
@media only screen and (min-width: 768px) and (max-width: 991px) {
.mg-portfolio-content .cs-portfolio-tag {
    width: 50%;
}
}
@media only screen and (min-width: 576px) and (max-width: 767px), (max-width: 574.98px) {
.mg-portfolio-content .cs-portfolio-tag {
    width: 100%;
}
}
.mg-portfolio-content .cs-portfolio-tag ul li a {
    font-size: 12px;
    color: var(--at-common-black);
    border: 1px solid var(--at-neutral-100);
}
.mg-portfolio-content .cs-portfolio-tag ul li a:hover {
    border-color: var(--at-common-black);
    background: var(--at-common-black);
    color: var(--at-common-white);
}
.at-btn-group-transparent .at-btn {
    background: rgb(254, 254, 254);
    border: 1px solid rgba(38, 38, 38, 0.1);
    color: rgb(29, 29, 29);
}
.at-btn-group-transparent .at-btn-circle {
    background-color: rgb(254, 254, 254);
    color: rgb(29, 29, 29);
    border: 1px solid rgba(38, 38, 38, 0.1);
}
.at-btn-group-transparent:hover > :nth-child(2),
.at-btn-group-transparent:focus-within > :nth-child(2) {
    background: rgb(254, 254, 254);
}
.at-btn-group-transparent:hover > :nth-child(1),
.at-btn-group-transparent:focus-within > :nth-child(1) {
    background: rgb(254, 254, 254);
}
.at-btn i.icon-arrow-right svg:last-child {
    left: -16px;
    bottom: 0px;
}
.at-btn i.icon-arrow-up-left svg:last-child {
    left: 16px;
    bottom: -16px;
}
.at-btn.btn-sm {
    padding: 10px 20px;
}
.at-btn.filter-btn {
    border-radius: 100px;
    border: 1px solid var(--at-neutral-100, #DFDFDF);
    background: var(--at-neutral-0, #FEFEFE);
    color: var(--at-neutral-900);
}
.at-btn.active {
    background: var(--at-neutral-900);
    border-color: var(--at-neutral-900);
    color: var(--at-neutral-0);
}
.at-btn-group > :nth-child(1) {
    transform: scale3d(0.5, 0.5, 1);
    margin-inline-end: -52px;
}
.at-btn-group > :nth-child(2) {
    transform: scale3d(1, 1, 1);
}
.at-btn-group > :nth-child(3) {
    transform: scale3d(1, 1, 1);
    margin-inline-start: 0px;
}
.at-btn-group .at-btn-circle {
    text-align: center;
    width: 50px;
    height: 50px;
    font-weight: 500;
    font-size: 16px;
    line-height: 1.5;
    border-radius: 100%;
    display: flex;
    gap: 10px;
    align-items: center;
    justify-content: center;
    background-color: rgb(29, 29, 29);
    color: rgb(254, 254, 254);
}
.at-btn-group .at-btn-circle i {
    transform: rotate(-45deg);
}
.at-btn.has-dot {
    position: relative;
}
.at-btn.has-dot::before {
    content: "";
    position: absolute;
    top: 50%;
    left: 0px;
    transform: translate(-50%, -50%);
    width: 8px;
    height: 8px;
    background-color: rgb(255, 255, 255);
    border-radius: 50%;
    opacity: 0.5;
}

/*--------------------------------------------------------------
# Micro-interaction institutionnel des boutons à double libellé
--------------------------------------------------------------*/
.at-btn > span {
    position: relative;
    z-index: 1;
    display: inline-block;
    overflow: hidden;
    line-height: inherit;
    vertical-align: top;
}

.at-btn > span > .text-1,
.at-btn > span > .text-2 {
    display: block;
    width: 100%;
    line-height: inherit;
    white-space: nowrap;
    pointer-events: none;
}

.at-btn > span > .text-1 {
    position: relative;
    transition: transform 0.3s ease;
}

.at-btn > span > .text-2 {
    position: absolute;
    top: 100%;
    inset-inline-start: 0;
    transition: top 0.3s ease, transform 0.3s ease;
}

.at-btn > i {
    position: relative;
    display: inline-flex;
    width: 16px;
    height: 16px;
    margin-left: 4px;
    overflow: hidden;
}

.at-btn > i svg {
    position: absolute;
    bottom: -1px;
    left: 1px;
    transform: translateY(-2px);
    transition: all 0.2s ease-out;
}

.at-btn > i svg:last-child {
    bottom: -12px;
    left: -12px;
    visibility: hidden;
    opacity: 0;
    transform: translate(0, 0);
}

@media (hover: hover) and (pointer: fine) {
    .at-btn:hover > span > .text-1 {
        transform: translateY(-150%);
    }

    .at-btn:hover > span > .text-2 {
        top: 50%;
        transform: translateY(-50%);
    }

    .at-btn:hover > i svg:first-child {
        transform: translate(16px, -16px);
    }

    .at-btn:hover > i svg:last-child {
        visibility: visible;
        opacity: 1;
        transform: translate(13px, -13px);
    }
}

.at-btn:focus-visible > span > .text-1 {
    transform: translateY(-150%);
}

.at-btn:focus-visible > span > .text-2 {
    top: 50%;
    transform: translateY(-50%);
}

.at-btn:focus-visible > i svg:first-child {
    transform: translate(16px, -16px);
}

.at-btn:focus-visible > i svg:last-child {
    visibility: visible;
    opacity: 1;
    transform: translate(13px, -13px);
}

/* CSS requis par le vendor CarouselTicker livré avec institutionnel. */
.carouselTicker__list {
    padding: 0;
    overflow: hidden;
    list-style-type: none;
}

.carouselTicker__item {
    float: left;
    margin: 0 100px;
    text-align: center;
}

.carouselTicker_vertical .carouselTicker__list {
    margin: 0;
}

.carouselTicker_vertical .carouselTicker__item {
    margin: 0 0 5px;
    line-height: 60px;
    text-align: center;
}

.carouselTicker__item img {
    vertical-align: middle;
}

.carouselTicker[data-e360-carousel-ticker="ready"] .carouselTicker__list {
    animation: none;
}

@media (prefers-reduced-motion: reduce) {
    .at-btn > span > .text-1,
    .at-btn > span > .text-2,
    .at-btn > i svg {
        transition: none;
    }

    .at-btn:hover > span > .text-1,
    .at-btn:focus-visible > span > .text-1 {
        transform: none;
    }

    .at-btn:hover > span > .text-2,
    .at-btn:focus-visible > span > .text-2 {
        top: 100%;
        transform: none;
    }

    .at-btn:hover > i svg:first-child,
    .at-btn:focus-visible > i svg:first-child {
        transform: translateY(-2px);
    }

    .at-btn:hover > i svg:last-child,
    .at-btn:focus-visible > i svg:last-child {
        visibility: hidden;
        opacity: 0;
        transform: translate(0, 0);
    }
}

/*--------------------------------------------------------------
# Page institutionnelle Contact — portage institutionnel contact-2
--------------------------------------------------------------*/
body.institutional-contact {

    --contact-ink: #0f0f0f;
    --contact-muted: #696969;
    --contact-line: #dfdfdf;
    --contact-surface: #f6f6f6;
    color: var(--contact-ink);
    background: #ffffff;
    font-family: var(--at-ff-body);
    overflow-x: clip;
}

.institutional-contact #main-content {
    overflow: hidden;
    background: #ffffff;
}

.institutional-contact h1,
.institutional-contact h2,
.institutional-contact h3,
.institutional-contact h4,
.institutional-contact h5,
.institutional-contact h6,
.institutional-contact p,
.institutional-contact a,
.institutional-contact address,
.institutional-contact input,
.institutional-contact textarea,
.institutional-contact button {
    font-family: var(--at-ff-body);
}

.institutional-contact .sec-1-contact {
    background: #ffffff;
}

.at-btn.at-btn--eyebrow {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    border: 0;
    font-size: 14px;
    font-weight: 500;
    line-height: 1;
}

.institutional-contact .at-section-title {
    max-width: 730px;
    margin: 0;
    color: var(--contact-ink);
    font-size: 58px;
    font-weight: 600;
    line-height: 1.2;
    letter-spacing: -2.9px;
}

.institutional-contact .at-about-content {
    align-items: flex-start;
}

.institutional-contact .contact-info-item {
    flex: 1 1 0;
    min-width: 0;
}

.institutional-contact .contact-info-item > .icon {
    width: 40px;
    height: 40px;
    flex: 0 0 40px;
    color: var(--e360-theme-color);
}

.institutional-contact .contact-info-item h2 {
    max-width: 230px;
    margin: 0 0 10px;
    color: var(--contact-ink);
    font-size: 16px;
    font-weight: 600;
    line-height: 1.35;
    letter-spacing: -0.3px;
}

.institutional-contact .contact-info-lines {
    display: grid;
    gap: 5px;
    max-width: 260px;
    margin: 0;
    color: var(--contact-muted);
    font-size: 15px;
    font-style: normal;
    line-height: 1.48;
}

.institutional-contact .contact-info-lines a {
    color: var(--contact-ink);
    overflow-wrap: anywhere;
}

.institutional-contact .contact-info-lines a:hover,
.institutional-contact .contact-info-lines a:focus-visible {
    color: var(--e360-theme-color);
}

.institutional-contact .contact-cms-intro {
    max-width: 720px;
    margin-top: 30px;
    color: var(--contact-muted);
    font-size: 15px;
    line-height: 1.6;
}

.institutional-contact .scroll-rotate {
    display: inline-block;
    width: 100px;
    height: 100px;
    margin-left: 12px;
    color: var(--e360-theme-color);
    animation: contact-rotate 18s linear infinite;
}

.institutional-contact[data-orisa-internal-animations="ready"] .scroll-rotate {
    animation: none;
}

.institutional-contact .scroll-rotate svg {
    display: block;
    width: 100%;
    height: 100%;
}
.sec-2-home-5__avatars-row {
    flex-wrap: nowrap;
    margin-top: 14px;
}
.sec-2-home-5__avatar-sm {
    width: 58px;
    height: 58px;
    flex: 0 0 58px;
    overflow: hidden;
    border-radius: 8px;
    background: var(--contact-surface);
}
.sec-2-home-5__avatar-sm img {
    display: block;
    width: 100%;
    height: 100%;
    border-radius: 8px;
    filter: grayscale(100%);
    object-fit: cover;
    object-position: center 35%;
}

.institutional-contact .contact-side-note {
    max-width: 360px;
    margin: 0;
    color: var(--contact-ink);
    font-size: 17px;
    font-weight: 500;
    line-height: 1.45;
    letter-spacing: -0.3px;
}

.institutional-contact .contact-form-row {
    padding-bottom: 120px;
}

.institutional-contact .contact-form-title {
    margin: 0 0 12px;
    color: var(--contact-ink);
    font-size: 24px;
    font-weight: 600;
    line-height: 1.25;
    letter-spacing: -0.7px;
}

.sec-4-about-form {
    --contact-form-ink: var(--contact-ink, var(--at-neutral-900, #101828));
    --contact-form-muted: var(--contact-muted, var(--at-neutral-500, #667085));
}

.sec-4-about-form__field {
    position: relative;
    margin-bottom: 10px;
}

.sec-4-about-form__textarea {
    min-height: 120px;
    padding-top: 16px;
    resize: vertical;
}

.sec-4-about-form .contact-field-help,
.sec-4-about-form .contact-field-error {
    display: block;
    margin-top: 7px;
    font-size: 13px;
    line-height: 1.45;
}

.sec-4-about-form .contact-field-help {
    color: var(--contact-form-muted);
}

.sec-4-about-form .contact-field-error {
    color: #b42318;
    font-weight: 600;
}

.sec-4-about-form .contact-honeypot {
    position: absolute;
    left: -10000px;
    width: 1px;
    height: 1px;
    overflow: hidden;
}

.sec-4-about-form .contact-consent {
    display: grid;
    grid-template-columns: 20px minmax(0, 1fr);
    gap: 10px 12px;
    align-items: start;
    margin-top: 28px;
}

.sec-4-about-form .contact-consent input {
    width: 18px;
    height: 18px;
    margin-top: 2px;
    accent-color: var(--e360-theme-color);
}

.sec-4-about-form .contact-consent label {
    color: var(--contact-form-muted);
    font-size: 13px;
    line-height: 1.5;
}

.sec-4-about-form .contact-consent a {
    color: var(--contact-form-ink);
    text-decoration: underline;
    text-underline-offset: 3px;
}

.sec-4-about-form .contact-consent a:hover,
.sec-4-about-form .contact-consent a:focus-visible {
    color: var(--e360-theme-color);
}

.sec-4-about-form .contact-consent .contact-field-error {
    grid-column: 2;
    margin-top: 0;
}

.sec-4-about-form .contact-captcha {
    margin-top: 28px;
}

.sec-4-about-form__actions {
    margin-top: 36px;
}

.sec-4-about-form__btn {
    display: inline-flex;
    min-height: 52px;
    align-items: center;
    justify-content: center;
    gap: 18px;
    padding: 14px 24px;
    border: 1px solid var(--contact-form-ink);
    border-radius: 999px;
    color: #ffffff;
    background: var(--contact-form-ink);
    font-size: 15px;
    font-weight: 600;
    cursor: pointer;
    transition: border-color 180ms ease, background-color 180ms ease;
}

.sec-4-about-form__btn:hover,
.sec-4-about-form__btn:focus-visible {
    border-color: var(--e360-theme-color);
    background: var(--e360-theme-color);
}

.institutional-contact .contact-social-title {
    margin: 0;
    color: var(--contact-ink);
    font-size: 16px;
}

.institutional-contact .contact-social-list {
    width: 100%;
    max-width: 320px;
}

.institutional-contact .contact-social-list ul {
    margin: 0;
    padding: 0;
}

.institutional-contact .contact-social-list li {
    position: relative;
    list-style: none;
}

.institutional-contact .contact-social-list li::before {
    position: absolute;
    right: 0;
    bottom: 0;
    left: 0;
    border-bottom: 1px solid rgba(15, 15, 15, 0.28);
    content: "";
}

.institutional-contact .contact-social-list a {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 15px 0;
    color: var(--contact-muted);
    font-size: 16px;
    font-weight: 500;
    line-height: 1;
    letter-spacing: -0.3px;
    transition: color 220ms ease, padding 220ms ease;
}

.institutional-contact .contact-social-list .icon-social,
.institutional-contact .contact-social-list a > .icon {
    display: inline-flex;
    color: var(--contact-ink);
}

.institutional-contact .contact-social-list a:hover,
.institutional-contact .contact-social-list a:focus-visible {
    padding-right: 10px;
    padding-left: 10px;
    color: var(--contact-ink);
}

.contact-gallery {
    overflow: hidden;
    background: #ffffff;
}

.contact-gallery .moving-gallery {
    width: 100%;
}

.contact-gallery .wrapper-gallery {
    display: flex;
    align-items: center;
    gap: 12px;
    width: max-content;
    margin: 0;
    padding: 0;
    list-style: none;
    animation: contact-gallery-flow 36s ease-in-out infinite alternate;
}

.contact-gallery .carouselTicker__item {
    width: 280px;
    height: 420px;
    flex: 0 0 auto;
    float: none;
    overflow: hidden;
    margin: 0;
    border-radius: 8px;
    background: var(--contact-surface, #f6f6f6);
}

.contact-gallery .carouselTicker__item:nth-child(7n + 2),
.contact-gallery .carouselTicker__item:nth-child(7n + 5) {
    width: 230px;
}

.contact-gallery .carouselTicker__item:nth-child(7n + 3),
.contact-gallery .carouselTicker__item:nth-child(7n + 6) {
    width: 340px;
}

.contact-gallery img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.institutional-contact.contact-motion-ready .at_fade_anim,
.institutional-contact.contact-motion-ready .reveal-text {
    opacity: 0;
    transform: translateY(24px);
}

.institutional-contact.contact-motion-ready .at_fade_anim.is-visible,
.institutional-contact.contact-motion-ready .reveal-text.is-visible {
    opacity: 1;
    transform: translateY(0);
    transition: opacity 620ms ease, transform 620ms ease;
}

@keyframes contact-rotate {
    to {
        transform: rotate(360deg);
    }
}

@keyframes contact-gallery-flow {
    from {
        transform: translateX(0);
    }

    to {
        transform: translateX(-34%);
    }
}

@media (min-width: 1400px) {
    .institutional-contact .at-section-title {
        max-width: 730px;
        font-size: 58px;
        letter-spacing: -2.9px;
    }
}
@media (max-width: 1199.98px) {

    .institutional-contact .at-section-title {
        font-size: 52px;
        letter-spacing: -2.6px;
    }

    .institutional-contact .contact-info-item {
        display: block;
    }

    .institutional-contact .contact-info-item > .icon {
        margin-bottom: 16px;
    }
.sec-2-home-5__avatar-sm {
        width: 50px;
        height: 50px;
        flex-basis: 50px;
    }

    .institutional-contact .contact-form-row {
        padding-bottom: 96px;
    }
}
@media (max-width: 991.98px) {

    .institutional-contact .at-section-title {
        max-width: 690px;
        font-size: 48px;
        letter-spacing: -2.4px;
    }

    .institutional-contact .at-about-content {
        max-width: 700px;
    }

    .institutional-contact .sec-1-contact .row:first-child > div:last-child {
        margin-top: 54px;
    }

    .institutional-contact .scroll-rotate {
        margin-left: 0;
    }

    .institutional-contact .contact-side-note {
        max-width: 520px;
    }

    .institutional-contact .contact-form-row {
        padding-bottom: 80px;
    }

    .institutional-contact .contact-social-list {
        max-width: none;
    }
}
@media (max-width: 767.98px) {

    .institutional-contact .at-section-title {
        font-size: 40px;
        line-height: 1.12;
        letter-spacing: -2px;
    }

    .institutional-contact .at-about-content {
        gap: 32px;
    }

    .institutional-contact .contact-info-item {
        display: flex;
    }

    .institutional-contact .contact-info-item > .icon {
        margin-bottom: 0;
    }

    .institutional-contact .contact-info-lines {
        max-width: none;
    }

    .institutional-contact .sec-1-contact .row:first-child > div:last-child {
        margin-top: 40px;
    }

    .institutional-contact .contact-side-note {
        font-size: 16px;
    }

    .institutional-contact .contact-form-row {
        padding-bottom: 64px;
    }

    .institutional-contact .contact-form-title {
        font-size: 22px;
    }

    .institutional-contact .contact-social-list {
        margin-top: 42px;
    }

    .contact-gallery .wrapper-gallery {
        width: auto;
        overflow-x: auto;
        animation: none;
        scrollbar-width: thin;
    }

    .contact-gallery .carouselTicker__item,
    .contact-gallery .carouselTicker__item:nth-child(7n + 2),
    .contact-gallery .carouselTicker__item:nth-child(7n + 3),
    .contact-gallery .carouselTicker__item:nth-child(7n + 5),
    .contact-gallery .carouselTicker__item:nth-child(7n + 6) {
        width: 210px;
        height: 270px;
    }
}
@media (max-width: 389.98px) {
    .institutional-contact .at-section-title {
        font-size: 36px;
        letter-spacing: -1.8px;
    }
.sec-2-home-5__avatar-sm {
        width: 47px;
        height: 47px;
        flex-basis: 47px;
    }

    .sec-4-about-form__btn {
        width: 100%;
    }
}

@media (prefers-reduced-motion: reduce) {
    .institutional-contact *,
    .institutional-contact *::before,
    .institutional-contact *::after {
        scroll-behavior: auto;
        transition-duration: 0.01ms;
        animation-duration: 0.01ms;
        animation-iteration-count: 1;
    }

    .institutional-contact .scroll-rotate,
    .contact-gallery .wrapper-gallery {
        transform: none;
        animation: none;
    }
}

/*--------------------------------------------------------------
# Accueil institutionnel institutionnel / Éloquence 360
--------------------------------------------------------------*/
@font-face {
    font-family: "DM Sans E360";
    font-style: normal;
    font-weight: 100 1000;
    font-display: swap;
    src: url("../../../fonts/dm-sans/dm-sans-variable-100-1000.woff2") format("woff2");
}
body.institutional-home,
body.institutional-document-page {


    overflow-x: clip;
    color: var(--at-neutral-900);
    background: var(--at-neutral-0);
    font-family: var(--at-ff-body);
}

.institutional-home #main-content {
    overflow: hidden;
    background: var(--at-neutral-0);
}

.institutional-home h1,
.institutional-home h2,
.institutional-home h3,
.institutional-home h4,
.institutional-home h5,
.institutional-home h6,
.institutional-home p,
.institutional-home a,
.institutional-home button,
.institutional-home input {
    font-family: var(--at-ff-body);
}

/* Header public partagé : structure institutionnel et contexte de présentation serveur. */
#public-shell-header {
    --public-header-primary: var(--e360-theme-color, #1a58e2);
    --public-header-text: #15171c;
    --public-header-surface: #ffffff;
    --public-header-border: rgba(21, 23, 28, 0.16);
    --public-header-control-surface: rgba(21, 23, 28, 0.04);
    --public-header-menu-surface: #f4f5f6;
    --public-header-hover-surface: rgba(21, 23, 28, 0.08);
    --public-header-active-surface: color-mix(in srgb, var(--public-header-primary), transparent 90%);
    position: relative;
    /* Le header reste sous le voile (1050) et les modales (1055) de Bootstrap. */
    z-index: 1030;
    width: 100%;
    min-height: 78px;
    color: var(--public-header-text);
    font-family: "DM Sans E360", "DM Sans", sans-serif;
}

#public-shell-header[data-header-variant="overlay"] {
    position: absolute;
    inset: 0 0 auto;
    min-height: 0;
}

#public-shell-header[data-header-state="transparent"][data-header-tone="light"] {
    --public-header-text: #ffffff;
    --public-header-border: rgba(255, 255, 255, 0.3);
    --public-header-control-surface: rgba(255, 255, 255, 0.12);
    --public-header-menu-surface: rgba(255, 255, 255, 0.16);
    --public-header-hover-surface: rgba(255, 255, 255, 0.2);
    --public-header-active-surface: rgba(255, 255, 255, 0.2);
}

#public-shell-header[data-header-state="transparent"][data-header-tone="dark"] {
    --public-header-control-surface: rgba(255, 255, 255, 0.72);
    --public-header-menu-surface: rgba(255, 255, 255, 0.78);
}

#public-shell-header .public-header-main {
    position: relative;
    z-index: 1;
    padding: 18px 0;
    color: var(--public-header-text);
    background: var(--public-header-surface);
    transition: color 200ms ease, background-color 200ms ease, box-shadow 200ms ease;
}

#public-shell-header[data-header-state="transparent"] .public-header-main {
    position: absolute;
    inset: 0 0 auto;
    background: transparent;
}

#public-shell-header.is-scrolled .public-header-main {
    position: fixed;
    inset: 0 0 auto;
    color: #15171c;
    background: rgba(255, 255, 255, 0.98);
    box-shadow: 0 1px 0 rgba(21, 23, 28, 0.12);
    -webkit-backdrop-filter: blur(14px);
    backdrop-filter: blur(14px);
}

#public-shell-header .container {
    max-width: 1320px;
}

#public-shell-header .public-header-logo__image,
#public-shell-header .public-header-search__brand img,
#public-shell-header .public-header-panel__brand img {
    width: auto;
    max-width: 148px;
    height: 55px;
    object-fit: contain;
}

#public-shell-header .public-header-logo__image {
    display: none;
}

#public-shell-header[data-header-logo="light"] .public-header-logo__image--light,
#public-shell-header[data-header-logo="dark"] .public-header-logo__image--dark {
    display: block;
}

#public-shell-header.is-scrolled .public-header-logo__image--light {
    display: block;
}

#public-shell-header.is-scrolled .public-header-logo__image--dark {
    display: none;
}

#public-shell-header .public-header-main-menu {
    padding: 5px 8px;
    border: 0;
    background: transparent;
}

@media (min-width: 1200px) {
    #public-shell-header .public-header-main {
        padding-block: 17px;
    }

    #public-shell-header .public-header-main-menu {
        min-height: 44px;
        align-items: center;
    }
}

#public-shell-header.is-scrolled .public-header-main-menu {
    background: transparent;
}

#public-shell-header .public-header-main-menu nav > ul {
    display: flex;
    align-items: center;
    margin: 0;
    padding: 0;
    list-style: none;
}

#public-shell-header .public-header-main-menu nav li {
    position: relative;
    display: block;
    margin: 0;
    list-style: none;
}

#public-shell-header .public-header-main-menu nav > ul > li > a {
    --public-header-link-descender: 4px;
    position: relative;
    display: flex;
    align-items: center;
    gap: 5px;
    padding: 10px 10px calc(10px - var(--public-header-link-descender));
    border-radius: 0;
    color: var(--public-header-text);
    font-family: "DM Sans E360", "DM Sans", sans-serif;
    font-size: 16px;
    font-weight: 600;
    line-height: 14px;
    letter-spacing: -0.02em;
    white-space: nowrap;
}

#public-shell-header .public-header-main-menu nav > ul > li > a .at-link-swap {
    position: relative;
    display: inline-block;
    overflow: hidden;
    padding-bottom: var(--public-header-link-descender);
    line-height: inherit;
    vertical-align: top;
}

#public-shell-header .public-header-main-menu nav > ul > li > a .at-link-swap .text-1,
#public-shell-header .public-header-main-menu nav > ul > li > a .at-link-swap .text-2 {
    display: block;
    line-height: inherit;
    transition: transform 450ms cubic-bezier(0.5, 1.5, 0.35, 1);
}

#public-shell-header .public-header-main-menu nav > ul > li > a .at-link-swap .text-1 {
    position: relative;
}

#public-shell-header .public-header-main-menu nav > ul > li > a .at-link-swap .text-2 {
    position: absolute;
    inset: 0 0 auto;
    transform: translateY(calc(100% + var(--public-header-link-descender)));
}

#public-shell-header.is-scrolled .public-header-main-menu nav > ul > li > a {
    color: #15171c;
}

#public-shell-header .public-header-main-menu nav > ul > li.is-active > a {
    background: var(--public-header-active-surface);
}

#public-shell-header.is-scrolled .public-header-main-menu nav > ul > li.is-active > a {
    color: var(--public-header-primary);
    background: color-mix(in srgb, var(--public-header-primary), transparent 90%);
}

#public-shell-header .public-header-main-menu nav > ul > li:focus-within > a .at-link-swap .text-1 {
    transform: translateY(calc(-100% - var(--public-header-link-descender)));
}

#public-shell-header .public-header-main-menu nav > ul > li:focus-within > a .at-link-swap .text-2 {
    transform: translateY(0);
}

#public-shell-header .public-header-main-menu nav > ul > li > a:focus-visible {
    background: var(--public-header-hover-surface);
    box-shadow: inset 0 -2px 0 var(--public-header-primary);
}

#public-shell-header .public-header-dropdown-indicator {
    flex: 0 0 auto;
    pointer-events: none;
    transition: transform 180ms ease;
}

#public-shell-header .public-header-main-menu .at-submenu {
    position: absolute;
    top: 100%;
    left: 0;
    z-index: 1210;
    display: block;
    width: 250px;
    margin: 0;
    padding: 12px 0;
    border: 1px solid rgba(21, 23, 28, 0.08);
    border-radius: 12px;
    color: #15171c;
    background: rgba(255, 255, 255, 0.98);
    box-shadow: 0 20px 30px -8px rgba(19, 19, 22, 0.16);
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transform: translateY(6px);
    transform-origin: top left;
    transition: opacity 180ms ease, visibility 180ms ease, transform 180ms ease;
}

#public-shell-header .public-header-main-menu .at-submenu .at-submenu {
    top: -13px;
    left: calc(100% - 2px);
}

#public-shell-header .public-header-main-menu .has-dropdown:focus-within > .at-submenu,
#public-shell-header .public-header-main-menu .has-dropdown.is-open > .at-submenu {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
    transform: translateY(0);
}

#public-shell-header .public-header-main-menu .has-dropdown:focus-within > a .public-header-dropdown-indicator,
#public-shell-header .public-header-main-menu .has-dropdown.is-open > a .public-header-dropdown-indicator {
    transform: rotate(180deg);
}

#public-shell-header .public-header-main-menu .at-submenu li {
    width: 100%;
    padding: 0 10px;
}

#public-shell-header .public-header-main-menu .at-submenu a {
    display: flex;
    width: 100%;
    align-items: center;
    justify-content: space-between;
    padding: 11px 14px;
    border-radius: 8px;
    color: #626671;
    font-family: "DM Sans E360", "DM Sans", sans-serif;
    font-size: 15px;
    font-weight: 500;
    line-height: 18px;
    letter-spacing: -0.01em;
}

#public-shell-header .public-header-main-menu .at-submenu li.is-active > a,
#public-shell-header .public-header-main-menu .at-submenu a:hover,
#public-shell-header .public-header-main-menu .at-submenu a:focus-visible {
    color: var(--public-header-primary);
    background: #f4f5f6;
}

#public-shell-header .at-header-right {
    gap: 16px;
}

#public-shell-header .at-header-search-btn,
#public-shell-header .public-header-theme,
#public-shell-header .at-menu-bar {
    display: inline-grid;
    padding: 0;
    place-items: center;
    border: 0;
    color: var(--public-header-text);
    background: transparent;
}

#public-shell-header .at-header-search-btn {
    width: 20px;
    height: 20px;
}

#public-shell-header .public-header-theme {
    width: 28px;
    height: 28px;
}

#public-shell-header .at-menu-bar {
    width: 40px;
    height: 40px;
    border-radius: 50%;
}

#public-shell-header.is-scrolled .at-header-search-btn,
#public-shell-header.is-scrolled .public-header-theme,
#public-shell-header.is-scrolled .at-menu-bar {
    color: #15171c;
    background: transparent;
}

#public-shell-header .at-header-search-btn:hover,
#public-shell-header .public-header-theme:hover,
#public-shell-header .at-menu-bar:hover {
    color: var(--public-header-primary);
}

#public-shell-header .at-header-search-btn:focus-visible,
#public-shell-header .public-header-theme:focus-visible,
#public-shell-header .at-menu-bar:focus-visible {
    color: var(--public-header-primary);
    outline: 2px solid currentColor;
    outline-offset: 4px;
}

.public-header-search {
    position: fixed;
    inset: 0;
    z-index: 1300;
    overflow-y: auto;
    padding: 32px 0;
    color: #0f0f0f;
    background: #ffffff;
    opacity: 0;
    visibility: hidden;
    transform: translateY(-24px);
    transition: opacity 220ms ease, visibility 220ms ease, transform 220ms ease;
}

.public-header-search.is-open {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
}

.public-header-search__top {
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.public-header-search__close,
.public-header-panel__close {
    display: inline-grid;
    width: 48px;
    height: 48px;
    padding: 0;
    place-items: center;
    border: 1px solid #dfdfdf;
    border-radius: 50%;
    color: #0f0f0f;
    background: transparent;
}

.public-header-search__form {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 16px;
    margin-top: 120px;
    padding-bottom: 18px;
    border-bottom: 1px solid #868686;
}

.public-header-search__form input {
    min-width: 0;
    padding: 0;
    border: 0;
    color: #0f0f0f;
    background: transparent;
    font-size: 80px;
    font-weight: 600;
    letter-spacing: -0.04em;
    outline: 0;
}

.public-header-search__form button {
    align-self: center;
    padding: 14px 24px;
    border: 0;
    border-radius: 100px;
    color: #ffffff;
    background: var(--e360-theme-color, #1a58e2);
    font-weight: 600;
}

.public-header-overlay {
    position: fixed;
    inset: 0;
    z-index: 1190;
    background: rgba(15, 15, 15, 0.58);
    opacity: 0;
    visibility: hidden;
    transition: opacity 220ms ease, visibility 220ms ease;
}

.public-header-overlay.is-open {
    opacity: 1;
    visibility: visible;
}

.public-header-panel {
    position: fixed;
    top: 0;
    right: 0;
    z-index: 1200;
    display: flex;
    width: min(460px, 100%);
    height: 100%;
    max-height: 100vh;
    flex-direction: column;
    padding: 30px;
    color: #0f0f0f;
    background: #ffffff;
    transform: translateX(100%);
    visibility: hidden;
    transition: transform 260ms ease, visibility 260ms ease;
}

.public-header-panel.is-open {
    transform: translateX(0);
    visibility: visible;
}

.public-header-panel__top {
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.public-header-panel__nav {
    min-height: 0;
    flex: 1 1 auto;
    overflow-y: auto;
    margin-top: 44px;
}

.public-header-panel__nav ul {
    margin: 0;
    padding: 0;
    list-style: none;
}

.public-header-panel__nav > ul > li > a,
.public-header-panel__parent {
    display: block;
    width: 100%;
    padding: 8px 0;
    border: 0;
    color: #0f0f0f;
    background: transparent;
    font-family: "DM Sans E360", "DM Sans", sans-serif;
    font-size: 42px;
    font-weight: 600;
    line-height: 1.1;
    letter-spacing: -0.04em;
    text-align: left;
}

.public-header-panel__parent {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
}

.public-header-panel__parent[aria-expanded="true"] svg {
    transform: rotate(180deg);
}

.public-header-panel__nav .public-header-panel__submenu {
    margin: 4px 0 12px;
    padding: 0 0 0 18px;
    border-left: 2px solid color-mix(in srgb, var(--e360-theme-color, #1a58e2), transparent 72%);
}

.public-header-panel__submenu[hidden] {
    display: none;
}

.public-header-panel__submenu a {
    display: block;
    padding: 7px 0;
    color: #626671;
    font-size: 17px;
    font-weight: 500;
    line-height: 22px;
}

.public-header-panel__nav a.is-active,
.public-header-panel__nav li.is-active > .public-header-panel__parent,
.public-header-panel__nav a:hover,
.public-header-panel__nav button:hover,
.public-header-panel__nav a:focus-visible,
.public-header-panel__nav button:focus-visible {
    color: var(--e360-theme-color, #1a58e2);
}

.public-header-panel__meta {
    display: flex;
    flex-wrap: wrap;
    gap: 10px 18px;
    margin-top: auto;
    padding-top: 24px;
    border-top: 1px solid #dfdfdf;
}

.public-header-panel__meta a,
.public-header-panel__meta button {
    padding: 0;
    border: 0;
    color: #353535;
    background: transparent;
    font-size: 14px;
}

.public-header-panel__languages {
    display: flex;
    width: 100%;
    gap: 12px;
}

.public-header-panel__languages .is-active {
    color: var(--e360-theme-color, #1a58e2);
}

body.public-header-ui-lock {
    overflow: hidden;
}

@media (hover: hover) and (pointer: fine) {
    #public-shell-header .public-header-main-menu nav > ul > li:hover > a {
        transition-duration: 450ms;
    }

    #public-shell-header[data-header-state="transparent"][data-header-tone="light"] .public-header-main-menu nav > ul > li:hover > a {
        color: #ffffff;
    }

    #public-shell-header[data-header-state="transparent"][data-header-tone="dark"] .public-header-main-menu nav > ul > li:hover > a,
    #public-shell-header[data-header-state="solid"] .public-header-main-menu nav > ul > li:hover > a,
    #public-shell-header.is-scrolled .public-header-main-menu nav > ul > li:hover > a {
        color: var(--public-header-primary);
    }

    #public-shell-header .public-header-main-menu nav > ul > li.has-dropdown:hover > a {
        background: var(--public-header-hover-surface);
    }

    #public-shell-header .public-header-main-menu nav > ul > li:hover > a .at-link-swap .text-1 {
        transform: translateY(calc(-100% - var(--public-header-link-descender)));
    }

    #public-shell-header .public-header-main-menu nav > ul > li:hover > a .at-link-swap .text-2 {
        transform: translateY(0);
    }

    #public-shell-header .public-header-main-menu .has-dropdown:hover > .at-submenu {
        opacity: 1;
        visibility: visible;
        pointer-events: auto;
        transform: translateY(0);
    }

    #public-shell-header .public-header-main-menu .has-dropdown:hover > a .public-header-dropdown-indicator {
        transform: rotate(180deg);
    }
}

@media (prefers-reduced-motion: reduce) {
    #public-shell-header .public-header-main-menu nav > ul > li > a .at-link-swap .text-1,
    #public-shell-header .public-header-main-menu nav > ul > li > a .at-link-swap .text-2 {
        transition: none;
    }

    #public-shell-header .public-header-main-menu nav > ul > li:hover > a .at-link-swap .text-1,
    #public-shell-header .public-header-main-menu nav > ul > li:focus-within > a .at-link-swap .text-1 {
        transform: none;
    }

    #public-shell-header .public-header-main-menu nav > ul > li > a .at-link-swap .text-2 {
        display: none;
    }
}

/* Composition de marques et fonctions reprise de la source statique. */
.institutional-home .sec-3-home-5 {
    color: var(--at-neutral-900);
    background: var(--at-neutral-0);
}

.institutional-home .sec-3-home-5 .container {
    max-width: 1320px;
}

.institutional-home .sec-3-home-5__axes {
    color: var(--at-neutral-500);
    font-size: 15px;
}

/* La disposition des marques appartient au composant, pas à la utility ml-100. */
.sec-3-home-5__summary {
    margin-left: 100px;
}

.institutional-home .sec-3-home-5__link {
    color: var(--at-neutral-950);
    font-size: 15px;
    font-weight: 600;
    text-decoration: underline;
    text-underline-offset: 4px;
}

.at-brand-scroll .at-brand-item {
    display: flex;
    width: 180px;
    height: 180px;
    flex: 0 0 180px;
    align-items: center;
    justify-content: center;
    padding: 0 29px 0 30px;
    overflow: hidden;
    border: 1px solid var(--at-neutral-100);
    border-radius: 16px;
    background: var(--at-neutral-0);
}

.at-brand-scroll .at-brand-item .brand {
    display: flex;
    width: 100%;
    height: 100%;
    min-height: 100%;
    align-items: center;
    justify-content: center;
    overflow: hidden;
}

.at-brand-scroll .brand-logo-viewport {
    position: relative;
    width: 100%;
    height: 70px;
    margin: auto;
    overflow: hidden;
    flex-shrink: 0;
}

.at-brand-scroll .brand-logo-track {
    position: absolute;
    top: 0;
    left: 0;
    display: flex;
    width: 100%;
    flex-direction: column;
    flex-shrink: 0;
    will-change: transform;
}

.at-brand-scroll .brand-logo-slide {
    display: flex;
    width: 100%;
    height: 70px;
    min-height: 70px;
    flex-shrink: 0;
    align-items: center;
    justify-content: center;
}

.at-brand-scroll .brand-logo-slide img {
    display: block;
    width: auto;
    height: auto;
    max-width: 100%;
    max-height: 100%;
    object-fit: contain;
}

/* Les règles de sections ci-dessous proviennent directement du point d’entrée institutionnel. */
/*  sec-6-home-10 (Home 10 — Meet the team)
/*----------------------------------------*/
.sec-6-home-10 {
  position: relative;
  padding-top: clamp(48px, 6vw, 100px);
  padding-bottom: clamp(56px, 8vw, 140px);
  background: var(--at-neutral-0, #fefefe);
  overflow: hidden;
}
.sec-6-home-10__container {
  max-width: 2200px;
  margin: 0 auto;
  padding-left: clamp(20px, 5.2vw, 100px);
  padding-right: clamp(20px, 5.2vw, 100px);
}
.sec-6-home-10__layout {
  display: flex;
  flex-direction: column;
  gap: clamp(28px, 4vw, 40px);
}
@media (min-width: 1200px) {
  .sec-6-home-10__layout {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(220px, min(28vw, 407px)) minmax(0, 1fr);
    grid-template-rows: auto auto auto;
    gap: clamp(20px, 2.5vw, 32px);
    align-items: start;
  }
}
.sec-6-home-10__title-block {
  text-align: center;
}
@media (min-width: 1200px) {
  .sec-6-home-10__title-block {
    grid-column: 2;
    grid-row: 1/span 2;
    align-self: center;
    justify-self: center;
    z-index: 2;
    max-width: min(765px, 100%);
    padding: clamp(16px, 3vw, 48px) 0;
    pointer-events: none;
  }
  .sec-6-home-10__title-block .sec-6-home-10__eyebrow,
  .sec-6-home-10__title-block .sec-6-home-10__title {
    pointer-events: auto;
  }
}
.sec-6-home-10__eyebrow-text {
  font-family: var(--at-ff-body);
  font-weight: 600;
  font-size: 16px;
  line-height: 1.2;
  letter-spacing: -0.05em;
  color: var(--at-neutral-900, #1d1d1d);
}
.sec-6-home-10__title {
  font-family: var(--at-ff-heading);
  font-weight: 600;
  font-size: clamp(40px, 6vw, 84px);
  line-height: 0.95;
  letter-spacing: -0.05em;
  color: var(--at-neutral-950, #0f0f0f);
  text-wrap: balance;
}
.sec-6-home-10__member {
  min-width: 0;
}
@media (min-width: 1200px) {
  .sec-6-home-10__member {
    max-width: 407px;
  }
  .sec-6-home-10__member--1 {
    grid-column: 1;
    grid-row: 1;
    justify-self: start;
  }
  .sec-6-home-10__member--2 {
    grid-column: 3;
    grid-row: 1;
    justify-self: end;
    margin-top: clamp(48px, 12vw, 200px);
  }
  .sec-6-home-10__member--3 {
    grid-column: 1;
    grid-row: 2;
    justify-self: start;
    margin-top: clamp(24px, 6vw, 80px);
  }
  .sec-6-home-10__member--4 {
    grid-column: 3;
    grid-row: 2;
    justify-self: end;
    margin-top: clamp(40px, 8vw, 120px);
  }
}
.sec-6-home-10__member-link {
  display: block;
  color: inherit;
  text-decoration: none;
  transition: opacity 0.3s ease;
}
.sec-6-home-10__member-link:hover {
  opacity: 0.92;
}
.sec-6-home-10__member-frame {
  position: relative;
  border-radius: 16px;
  overflow: hidden;
  background: var(--at-neutral-100, #dfdfdf);
  aspect-ratio: 407/550;
}
.sec-6-home-10__member-img {
  display: block;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center top;
     object-position: center top;
}
.sec-6-home-10__member-overlay {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  min-height: 34.5%;
  padding: clamp(28px, 3vw, 40px) clamp(24px, 3.5vw, 46px);
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 12px;
  background: linear-gradient(180deg, rgba(26, 26, 26, 0) 11.9%, rgba(26, 26, 26, 0.92) 100%);
  backdrop-filter: blur(3px);
  pointer-events: none;
}
.sec-6-home-10__member-name {
  font-family: var(--at-ff-heading);
  font-weight: 600;
  font-size: clamp(26px, 2.2vw, 32px);
  line-height: 1.1;
  letter-spacing: -0.05em;
  color: var(--at-neutral-0, #fefefe);
}
.sec-6-home-10__member-role {
  font-family: var(--at-ff-body);
  font-weight: 500;
  font-size: clamp(18px, 1.4vw, 22px);
  line-height: 1.2;
  letter-spacing: -0.02em;
  color: var(--at-neutral-0, #fefefe);
  opacity: 0.8;
}
.sec-6-home-10__member-fab {
  position: absolute;
  top: clamp(20px, 2vw, 26px);
  right: clamp(20px, 2vw, 26px);
  z-index: 2;
  width: 40px;
  height: 40px;
  border-radius: 50%;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  pointer-events: none;
}
.sec-6-home-10__member-fab--light {
  background: var(--at-neutral-0, #fefefe);
  color: var(--at-neutral-900, #1d1d1d);
}
.sec-6-home-10__member-fab--dark {
  background: var(--at-neutral-900, #1d1d1d);
  color: var(--at-neutral-0, #fefefe);
}
@media (min-width: 1200px) {
  .sec-6-home-10__foot {
    grid-column: 2/-1;
    grid-row: 3;
    justify-self: end;
    max-width: min(775px, 100%);
    text-align: left;
  }
}
.sec-6-home-10__foot-text {
  font-family: var(--at-ff-heading);
  font-weight: 600;
  font-size: clamp(22px, 2.2vw, 36px);
  line-height: 1.2;
  letter-spacing: -0.05em;
  text-transform: uppercase;
  color: var(--at-neutral-950, #0f0f0f);
}
.sec-6-home-10__cta {
  height: 50px;
  padding: 14px 27px;
  border-radius: 50px;
  background: var(--at-neutral-900, #1d1d1d);
  font-family: var(--at-ff-body);
  font-weight: 600;
  font-size: 16px;
  line-height: 1;
  letter-spacing: -0.05em;
  color: var(--at-neutral-0, #fefefe) !important;
  text-decoration: none !important;
  white-space: nowrap;
  transition: background 0.25s ease, color 0.25s ease;
}
.sec-6-home-10__cta:hover {
  background: var(--at-theme-primary);
  color: var(--at-neutral-0) !important;
}
.sec-6-home-10__cta-arrow {
  flex-shrink: 0;
  color: currentColor;
}

/*==================================================================
  Home 11 — Motion & Video Creative Studio
==================================================================*/
.sec-1-home-11__eyebrow-dot,
.sec-2-home-11__eyebrow-dot,
.sec-3-home-11__eyebrow-dot,
.sec-4-home-11__eyebrow-dot,
.sec-5-home-11__eyebrow-dot,
.sec-6-home-11__eyebrow-dot,
.sec-7-home-11__eyebrow-dot,
.sec-8-home-11__eyebrow-dot {
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background-color: var(--at-theme-primary);
  flex-shrink: 0;
}
.sec-1-home-11__eyebrow-text,
.sec-2-home-11__eyebrow-text,
.sec-3-home-11__eyebrow-text,
.sec-4-home-11__eyebrow-text,
.sec-5-home-11__eyebrow-text,
.sec-6-home-11__eyebrow-text,
.sec-7-home-11__eyebrow-text,
.sec-8-home-11__eyebrow-text {
  font-size: 13px;
  font-weight: 500;
  letter-spacing: 0.1em;
  color: var(--at-neutral-500);
}

/*------------------------------------------------------------------
  Section 1 — Cinematic Hero
------------------------------------------------------------------*/
.sec-1-home-11 {
  position: relative;
  display: flex;
  flex-direction: column;
  background-color: var(--at-neutral-950);
  color: var(--at-common-white);
  overflow: hidden;
}
.sec-1-home-11__bg {
  position: absolute;
  inset: 0;
  z-index: 0;
}
.sec-1-home-11__bg-video {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  display: block;
  pointer-events: none;
}
.sec-1-home-11__bg-overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(to bottom, rgba(15, 15, 15, 0.55) 0%, rgba(15, 15, 15, 0.3) 40%, rgba(15, 15, 15, 0.75) 100%);
}
.sec-1-home-11__topbar {
  position: relative;
  z-index: 2;
  display: flex;
  align-items: center;
  gap: 16px;
  padding: clamp(20px, 2vw, 32px) clamp(20px, 5.5vw, 96px);
  padding-top: clamp(100px, 12vw, 140px);
}
.sec-1-home-11__topbar-label {
  font-size: 12px;
  letter-spacing: 0.12em;
  font-weight: 500;
  color: rgba(255, 255, 255, 0.65);
}
.sec-1-home-11__topbar-divider {
  width: 28px;
  height: 1px;
  background: rgba(255, 255, 255, 0.3);
  flex-shrink: 0;
}
.sec-1-home-11__headline {
  position: relative;
  z-index: 2;
  flex: 1;
  display: flex;
  align-items: flex-start;
  padding: 0 clamp(20px, 5.5vw, 96px);
}
.sec-1-home-11__title {
  font-size: clamp(64px, 14vw, 200px);
  font-weight: 700;
  line-height: 0.9;
  letter-spacing: -0.04em;
  text-transform: uppercase;
  color: var(--at-common-white);
  margin-bottom: 0;
}
.sec-1-home-11__footer {
  position: relative;
  z-index: 2;
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 24px;
  padding: clamp(32px, 4vw, 56px) clamp(20px, 5.5vw, 96px);
}
.sec-1-home-11__desc {
  font-size: clamp(14px, 1.1vw, 16px);
  line-height: 1.7;
  color: rgba(255, 255, 255, 0.7);
  max-width: 340px;
  margin-bottom: 0;
}
.sec-1-home-11__reel {
  display: inline-flex;
  align-items: center;
  gap: 14px;
  text-decoration: none;
  color: var(--at-common-white);
  transition: gap 0.3s ease;
}
.sec-1-home-11__reel:hover {
  gap: 20px;
  color: var(--at-common-white);
}
.sec-1-home-11__reel:hover .sec-1-home-11__reel-ring {
  background-color: var(--at-theme-primary);
}
.sec-1-home-11__reel-ring {
  width: 56px;
  height: 56px;
  border-radius: 50%;
  border: 1px solid rgba(255, 255, 255, 0.4);
  display: flex;
  align-items: center;
  justify-content: center;
  transition: background-color 0.3s ease, border-color 0.3s ease;
  flex-shrink: 0;
}
.sec-1-home-11__reel-icon {
  color: var(--at-common-white);
  margin-left: 2px;
}
.sec-1-home-11__reel-label {
  font-size: 14px;
  font-weight: 500;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}
.sec-1-home-11__scroll {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 8px;
}
.sec-1-home-11__scroll-line {
  display: block;
  width: 1px;
  height: 48px;
  position: relative;
  background: rgba(255, 255, 255, 0.2);
  overflow: hidden;
}
.sec-1-home-11__scroll-line::after {
  content: "";
  position: absolute;
  top: -100%;
  left: 0;
  width: 100%;
  height: 40%;
  background: linear-gradient(to bottom, transparent, var(--at-theme-primary) 50%, transparent);
  animation: scroll-line-drop 1.6s ease-in-out infinite;
}
@keyframes scroll-line-drop {
  0% {
    top: -40%;
  }
  100% {
    top: 140%;
  }
}
.sec-1-home-11__scroll-text {
  font-size: 10px;
  letter-spacing: 0.14em;
  color: rgba(255, 255, 255, 0.5);
  writing-mode: vertical-rl;
  text-orientation: mixed;
}
.sec-1-home-11__badge {
  position: absolute;
  top: 50%;
  right: clamp(20px, 5.5vw, 96px);
  transform: translateY(-50%);
  z-index: 2;
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  padding: 16px;
  border: 1px solid rgba(255, 255, 255, 0.2);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
}
@media (max-width: 767px) {
  .sec-1-home-11__badge {
    display: none;
  }
}
.sec-1-home-11__badge-value {
  font-size: 10px;
  letter-spacing: 0.15em;
  font-weight: 700;
  color: var(--at-theme-primary);
  text-transform: uppercase;
}
.sec-1-home-11__badge-label {
  font-size: 11px;
  color: rgba(255, 255, 255, 0.7);
  display: block;
  margin-top: 4px;
}
.sec-1-home-11__badge-year {
  font-size: 24px;
  font-weight: 700;
  color: var(--at-common-white);
  line-height: 1;
  display: block;
  margin-top: 2px;
}

.sec-1-home-11__reel-modal .modal-dialog {
  max-width: min(1100px, 96vw);
}
.sec-1-home-11__reel-modal .sec-1-home-11__reel-modal-close {
  z-index: 2;
  opacity: 0.85;
}
.sec-1-home-11__reel-modal .sec-1-home-11__reel-modal-close:hover {
  opacity: 1;
}
.sec-1-home-11__reel-modal .sec-1-home-11__reel-modal-video {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

/*------------------------------------------------------------------
  Section 2 — Trusted Clients Marquee
------------------------------------------------------------------*/
.sec-2-home-11 {
  background-color: var(--at-neutral-50);
  overflow: hidden;
}
.sec-2-home-11__inner {
  padding: clamp(48px, 6vw, 80px) 0;
}
.sec-2-home-11__label {
  text-align: center;
  font-size: 12px;
  letter-spacing: 0.12em;
  color: var(--at-neutral-500);
  margin-bottom: 32px;
}
.sec-2-home-11__track-wrap {
  overflow: hidden;
  margin-bottom: 16px;
}
.sec-2-home-11__track-wrap--reverse {
  margin-bottom: 0;
}
.sec-2-home-11__track {
  display: flex;
  align-items: center;
  gap: clamp(32px, 5vw, 64px);
  width: -moz-max-content;
  width: max-content;
}
.sec-2-home-11__logo-item {
  flex-shrink: 0;
  opacity: 0.45;
  transition: opacity 0.3s ease;
}
.sec-2-home-11__logo-item:hover {
  opacity: 0.9;
}
.sec-2-home-11__logo-item img {
  max-height: 36px;
  width: auto;
  display: block;
  filter: grayscale(1);
  transition: filter 0.3s ease;
}
.sec-2-home-11__logo-item img:hover {
  filter: grayscale(0);
}

/*------------------------------------------------------------------
  Section 3 — About Studio
------------------------------------------------------------------*/
.sec-3-home-11__container {
  max-width: 1400px;
  margin: 0 auto;
  padding: clamp(80px, 10vw, 140px) clamp(20px, 5.5vw, 96px);
}
.sec-3-home-11__head {
  padding-bottom: clamp(48px, 6vw, 80px);
  border-bottom: 1px solid var(--at-neutral-100);
}
.sec-3-home-11__eyebrow-dot {
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background-color: var(--at-theme-primary);
  flex-shrink: 0;
}
.sec-3-home-11__eyebrow-text {
  font-size: 13px;
  font-weight: 500;
  letter-spacing: 0.1em;
  color: var(--at-neutral-500);
}
.sec-3-home-11__title {
  font-size: clamp(40px, 5.5vw, 80px);
  font-weight: 700;
  line-height: 1.05;
  letter-spacing: -0.04em;
  color: var(--at-neutral-950);
}
.sec-3-home-11__intro {
  font-size: clamp(15px, 1.1vw, 17px);
  line-height: 1.75;
  color: var(--at-neutral-500);
  max-width: 440px;
  margin-left: auto;
}
@media (max-width: 991px) {
  .sec-3-home-11__intro {
    max-width: 100%;
    margin-left: 0;
  }
}
.sec-3-home-11__media-a, .sec-3-home-11__side {
  position: relative;
}
.sec-3-home-11__img-frame {
  border-radius: 4px;
  overflow: hidden;
}
.sec-3-home-11__img-frame--sq {
  aspect-ratio: 4/5;
}
.sec-3-home-11__img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.sec-3-home-11__metric {
  position: absolute;
  bottom: -24px;
  right: -20px;
  background: var(--at-theme-primary);
  color: var(--at-common-white);
  padding: 20px 24px;
  text-align: center;
  z-index: 2;
}
@media (max-width: 575px) {
  .sec-3-home-11__metric {
    right: 0;
    bottom: 0;
  }
}
.sec-3-home-11__metric-value {
  font-size: clamp(32px, 4vw, 48px);
  font-weight: 700;
  line-height: 1;
  letter-spacing: -0.03em;
}
.sec-3-home-11__metric-label {
  font-size: 12px;
  letter-spacing: 0.06em;
  margin-top: 6px;
  line-height: 1.4;
  text-transform: uppercase;
}
.sec-3-home-11__year-badge {
  position: absolute;
  top: 24px;
  left: -16px;
  background: var(--at-neutral-950);
  color: var(--at-common-white);
  padding: 12px 18px;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 2px;
  z-index: 2;
}
@media (max-width: 991px) {
  .sec-3-home-11__year-badge {
    left: 16px;
  }
}
.sec-3-home-11__year-badge-est {
  font-size: 10px;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  opacity: 0.6;
}
.sec-3-home-11__year-badge-num {
  font-size: 20px;
  font-weight: 700;
  letter-spacing: -0.03em;
  line-height: 1;
}
.sec-3-home-11__content {
  padding-top: clamp(16px, 2.5vw, 28px);
}
.sec-3-home-11__body {
  font-size: clamp(15px, 1.1vw, 17px);
  line-height: 1.75;
  color: var(--at-neutral-500);
}
.sec-3-home-11__divider {
  height: 1px;
  background: var(--at-neutral-100);
  margin: clamp(24px, 3vw, 40px) 0;
}
.sec-3-home-11__steps {
  display: flex;
  flex-direction: column;
  gap: 22px;
}
.sec-3-home-11__step {
  display: flex;
  gap: 20px;
  align-items: flex-start;
}
.sec-3-home-11__step-num {
  flex-shrink: 0;
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 0.1em;
  color: var(--at-theme-primary);
  padding-top: 3px;
  min-width: 22px;
}
.sec-3-home-11__step-copy {
  font-size: 14px;
  line-height: 1.65;
  color: var(--at-neutral-500);
}
.sec-3-home-11__step-copy p {
  font-size: inherit;
  line-height: inherit;
}
.sec-3-home-11__step-title {
  display: block;
  font-size: 15px;
  font-weight: 600;
  color: var(--at-neutral-950);
  margin-bottom: 4px;
}
.sec-3-home-11__quote {
  margin: 24px 0 0;
  padding: 20px 24px;
  border-left: 2px solid var(--at-theme-primary);
  background: var(--at-neutral-50);
}
.sec-3-home-11__quote-text {
  font-size: 15px;
  font-style: italic;
  color: var(--at-neutral-700);
  line-height: 1.65;
}
.sec-3-home-11__quote-attr {
  display: block;
  font-size: 11px;
  letter-spacing: 0.08em;
  color: var(--at-neutral-400);
  text-transform: uppercase;
}
.sec-3-home-11__cta {
  font-size: 15px;
  font-weight: 500;
  color: var(--at-neutral-950);
  text-decoration: none;
  border-bottom: 1px solid currentColor;
  padding-bottom: 2px;
  transition: color 0.3s ease, gap 0.3s ease;
}
.sec-3-home-11__cta:hover {
  color: var(--at-theme-primary);
}
.sec-3-home-11__stats-bar {
  border-top: 1px solid var(--at-neutral-100);
  margin-top: clamp(48px, 7vw, 96px);
}
.sec-3-home-11__stat {
  padding: clamp(28px, 4vw, 48px) clamp(20px, 3vw, 40px);
  border-right: 1px solid var(--at-neutral-100);
}
.sec-3-home-11__stat:last-child {
  border-right: none;
}
@media (max-width: 767px) {
  .sec-3-home-11__stat {
    border-bottom: 1px solid var(--at-neutral-100);
  }
  .sec-3-home-11__stat:nth-child(2n) {
    border-right: none;
  }
}
.sec-3-home-11__stat-num {
  font-size: clamp(36px, 4vw, 56px);
  font-weight: 700;
  letter-spacing: .4rem;
  color: var(--at-neutral-950);
  line-height: 1;
}
.sec-3-home-11__stat-label {
  font-size: 13px;
  color: var(--at-neutral-500);
  letter-spacing: 0.04em;
  margin-top: 6px;
  text-transform: uppercase;
}

/* Indicateurs centraux : les valeurs longues et textuelles restent lisibles dans le composant partagé. */
[data-impact-indicators] .sec-3-home-11__stat-num,
[data-impact-indicators] [data-e360-impact-counter] {
  overflow-wrap: anywhere;
  letter-spacing: 0;
}
[data-impact-indicators] [data-impact-kind="text"] .sec-3-home-11__stat-num {
  font-size: 24px;
  line-height: 1.4;
}
/* Variante éditoriale : même compteur, avec une lecture complète de la mesure. */
[data-impact-layout="editorial"] { margin-top: 24px; }
[data-impact-layout="editorial"] .sec-3-home-11__stat { padding: 28px 24px; border-bottom: 1px solid var(--at-neutral-100); }
[data-impact-layout="editorial"] .sec-3-home-11__stat-label { font-size: 18px; line-height: 1.4; letter-spacing: 0; text-transform: none; color: var(--at-neutral-900); }
[data-impact-layout="editorial"] dd { overflow-wrap: anywhere; }
[data-impact-layout="editorial"] dd > p:not(.sec-3-home-11__stat-num) { font-size: 15px; line-height: 1.6; }

/*  sec-1-home-4 (Orisa AI Solutions Hero)
/*----------------------------------------*/
.sec-1-home-4-wrap {
  padding-top: 140px;
}
@media only screen and (min-width: 576px) and (max-width: 767px), (max-width: 574.98px) {
  .sec-1-home-4-wrap {
    padding-top: 100px;
  }
}
.sec-1-home-4-wrap .sec-1-home-4 {
  padding-top: 200px;
}
@media only screen and (min-width: 1200px) and (max-width: 1399px), only screen and (min-width: 992px) and (max-width: 1199px), only screen and (min-width: 768px) and (max-width: 991px), only screen and (min-width: 576px) and (max-width: 767px), (max-width: 574.98px) {
  .sec-1-home-4-wrap .sec-1-home-4 {
    padding-top: 100px;
  }
}
.sec-1-home-4-wrap .sec-1-home-4__tagline {
  font-weight: 600;
  font-size: 16px;
  line-height: 1;
  letter-spacing: 0.15em;
  color: #FEFEFE;
}
@media (max-width: 574.98px) {
  .sec-1-home-4-wrap .sec-1-home-4__tagline {
    font-size: 10px;
    letter-spacing: 0.1em;
  }
}
.sec-1-home-4-wrap .sec-1-home-4__btns .at-btn {
  padding: 14px 24px;
  font-size: 12px;
  font-weight: 500;
  letter-spacing: 0.05em;
  border-bottom: 1px solid rgba(255, 255, 255, 0);
  background: transparent;
}
.sec-1-home-4-wrap .sec-1-home-4__btns .at-btn:hover {
  background: rgba(229, 229, 229, 0.1);
  border-color: rgba(255, 255, 255, 0.5);
  backdrop-filter: blur(3px);
}
@media only screen and (min-width: 768px) and (max-width: 991px), only screen and (min-width: 576px) and (max-width: 767px), (max-width: 574.98px) {
  .sec-1-home-4-wrap .sec-1-home-4__btns .at-btn {
    background: rgba(229, 229, 229, 0.1);
    border-color: rgba(255, 255, 255, 0.5);
    backdrop-filter: blur(3px);
  }
}
.sec-1-home-4-wrap .sec-1-home-4__cards {
  justify-content: flex-end;
}
@media only screen and (min-width: 992px) and (max-width: 1199px), only screen and (min-width: 768px) and (max-width: 991px), only screen and (min-width: 576px) and (max-width: 767px), (max-width: 574.98px) {
  .sec-1-home-4-wrap .sec-1-home-4__cards {
    justify-content: flex-start;
  }
}
.sec-1-home-4-wrap .sec-1-home-4__card {
  flex: 1;
  max-width: 145px;
  aspect-ratio: 4/3;
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.2);
}
.sec-1-home-4-wrap .sec-1-home-4__card img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  transition: transform 0.4s ease;
}
.sec-1-home-4-wrap .sec-1-home-4__card img:hover {
  transform: scale(1.05);
}
.sec-1-home-4-wrap .sec-1-home-4__tags {
  justify-content: flex-end;
}
@media only screen and (min-width: 992px) and (max-width: 1199px), only screen and (min-width: 768px) and (max-width: 991px), only screen and (min-width: 576px) and (max-width: 767px), (max-width: 574.98px) {
  .sec-1-home-4-wrap .sec-1-home-4__tags {
    justify-content: flex-start;
  }
}
.sec-1-home-4-wrap .sec-1-home-4__tag {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  font-weight: 500;
  font-size: 16px;
  letter-spacing: -0.01em;
  color: #FEFEFE;
  padding: 6px 18px;
  border-radius: 50px;
  border: 1px solid rgba(255, 255, 255, 0.3);
  background: rgba(70, 70, 70, 0.2);
  backdrop-filter: blur(24px);
  text-decoration: none;
  transition: all 0.3s ease;
}
.sec-1-home-4-wrap .sec-1-home-4__tag:hover {
  background: rgba(255, 255, 255, 0.15);
  border-color: rgba(255, 255, 255, 0.4);
  color: var(--at-common-white);
}
.sec-1-home-4-wrap .sec-1-home-4__tag svg {
  flex-shrink: 0;
  opacity: 0.8;
}
.sec-1-home-4-wrap .sec-1-home-4__brand {
  font-weight: 700;
  font-size: 220px;
  line-height: 0.95;
  letter-spacing: -0.04em;
  margin-bottom: 0;
}
@media only screen and (min-width: 1200px) and (max-width: 1399px) {
  .sec-1-home-4-wrap .sec-1-home-4__brand {
    font-size: 150px;
  }
}
@media only screen and (min-width: 992px) and (max-width: 1199px) {
  .sec-1-home-4-wrap .sec-1-home-4__brand {
    font-size: 100px;
  }
}
@media only screen and (min-width: 768px) and (max-width: 991px) {
  .sec-1-home-4-wrap .sec-1-home-4__brand {
    font-size: 90px;
  }
}
@media only screen and (min-width: 576px) and (max-width: 767px), (max-width: 574.98px) {
  .sec-1-home-4-wrap .sec-1-home-4__brand {
    font-size: 32px;
  }
}
.sec-1-home-4-wrap .sec-1-home-4__brand-suffix {
  font-size: 0.5em;
  font-weight: 600;
  vertical-align: middle;
}
.sec-1-home-4-wrap .sec-1-home-4__brand-suffix sup {
  font-size: 50px;
  vertical-align: super;
  opacity: 0.8;
  font-weight: 400;
}
.sec-1-home-4-wrap .sec-1-home-4__nav li {
  position: relative;
}
.sec-1-home-4-wrap .sec-1-home-4__nav li:not(:first-child)::before {
  content: "";
  position: absolute;
  left: -12px;
  top: 50%;
  transform: translateY(-50%);
  width: 4px;
  height: 4px;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.4);
}
@media (max-width: 574.98px) {
  .sec-1-home-4-wrap .sec-1-home-4__nav li:not(:first-child)::before {
    left: -8px;
    width: 3px;
    height: 3px;
  }
}
.sec-1-home-4-wrap .sec-1-home-4__nav a {
  font-weight: 500;
  font-size: 14px;
  letter-spacing: -0.02em;
  color: rgba(255, 255, 255, 0.85);
  text-decoration: none;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  transition: color 0.3s ease;
}
.sec-1-home-4-wrap .sec-1-home-4__nav a:hover {
  color: var(--at-common-white);
}
.sec-1-home-4-wrap .sec-1-home-4__nav a svg {
  flex-shrink: 0;
  opacity: 0.7;
}

/* ORISA index-4 : progression en décalage, sans numérotation décorative ni fonds simulés. */
.card__process-card { display: flex; gap: 20px; align-items: center; }
.card__process-card.card-2 { margin-top: 80px; }
.card__process-card.card-3 { margin-top: 160px; }
.card__process-visual { position: relative; flex-shrink: 0; width: 100%; max-width: 100px; min-height: 270px; }
.card__process-pill { position: absolute; top: 0; left: 50%; transform: translateX(-50%); width: 100%; height: 100%; max-height: 320px; border-radius: 9999px; overflow: hidden; }
.card__process-pill img { width: 100%; height: 100%; object-fit: cover; }
.card__process-content { flex: 1; min-width: 0; }
.card__process-title { font-size: 24px; font-weight: 600; line-height: 1.25; letter-spacing: -0.02em; color: var(--at-neutral-900); margin-bottom: 12px; }
.card__process-desc { font-size: 16px; line-height: 1.5; color: var(--at-neutral-500); margin-bottom: 16px; }
.card__process-divider { width: 100%; height: 1px; background: var(--at-neutral-900); }
@media (max-width: 991px) {
  .card__process-card.card-2, .card__process-card.card-3 { margin-top: 0; }
  .card__process-visual { min-height: 230px; }
}
@media (max-width: 575px) {
  .card__process-visual { max-width: 80px; min-height: 220px; }
  .card__process-title { font-size: 22px; }
}

/* Variante complète Featured Case d’index-4 : préserver les fiches déjà utilisatrices du composant. */
.card_case__studies-card.card_case__studies-card--feature { padding: 10px; flex-direction: row; background: var(--at-neutral-950); border: 0; }
.card_case__studies-card--feature .card_case__studies-left { flex: 1 0 50%; display: flex; flex-direction: column; padding: 60px; }
.card_case__studies-card--feature .card_case__studies-title { font-weight: 600; line-height: 1.1; letter-spacing: -0.035em; color: #fefefe; margin-bottom: 30px; }
.card_case__studies-card--feature .card_case__studies-desc { font-size: 16px; line-height: 1.6; color: var(--at-neutral-300); margin-bottom: 28px; }
.card_case__studies-card--feature .card_case__studies-link { margin-top: auto; color: #fefefe; text-align: left; }
.card_case__studies-card--feature .card_case__studies-thumb { position: relative; width: 100%; min-width: 0; border-radius: 12px; overflow: hidden; }
.card_case__studies-card--feature .card_case__studies-thumb img { width: 100%; height: 100%; object-fit: cover; transition: transform 0.5s ease; }
.card_case__studies-card--feature:hover .card_case__studies-thumb img { transform: scale(1.04); }
@media (max-width: 1399px) {
  .card_case__studies-card.card_case__studies-card--feature { flex-direction: column; }
  .card_case__studies-card--feature .card_case__studies-left { flex: none; padding: 40px 32px; }
  .card_case__studies-card--feature .card_case__studies-thumb { height: 440px; }
}
@media (max-width: 575px) {
  .card_case__studies-card--feature .card_case__studies-left { padding: 28px 20px; }
  .card_case__studies-card--feature .card_case__studies-thumb { height: 320px; }
}

/* Impact : géométrie index-4, titres français et photographies documentaires du CMS. */
.e360-impact-hero.sec-1-home-4-wrap { padding-top: 106px; }
.e360-impact-hero .sec-1-home-4 { padding-top: 60px; padding-bottom: 40px; background: var(--at-neutral-950); }
.e360-impact-hero__media { position: absolute; inset: 0; }
.e360-impact-hero__media img { width: 100%; height: 100%; object-fit: cover; }
.e360-impact-hero .sec-1-home-4::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(8,12,18,.72), rgba(8,12,18,.2) 48%, rgba(8,12,18,.65)); pointer-events: none; }
.e360-impact-hero .sec-1-home-4__headline { color: #fff; max-width: 480px; font-size: 32px; font-weight: 600; line-height: 1.05; }
.e360-impact-hero .sec-1-home-4__card { max-width: 180px; box-shadow: none; }
.e360-impact-hero .sec-1-home-4__nav { display: flex; gap: 24px; justify-content: space-between; }
.e360-impact-hero .sec-1-home-4__nav a { padding-bottom: 10px; border-bottom: 1px solid rgba(255,255,255,.5); }
.e360-impact-hero .sec-1-home-4__footer { padding-top: 190px; }
.e360-impact-hero .sec-1-home-4__brand { max-width: 1250px; color: #fff; font-size: clamp(64px, 8vw, 116px); line-height: .98; letter-spacing: -.05em; text-wrap: balance; }
.e360-impact-hero__caption { margin-top: 32px; padding-top: 20px; border-top: 1px solid rgba(255,255,255,.35); color: #fff; font-size: 15px; }
.e360-impact-hero__link { display: inline-flex; gap: 18px; color: #fff; border-bottom: 1px solid rgba(255,255,255,.6); padding-bottom: 8px; }
.e360-impact-hero__link:hover { color: #fff; border-color: #fff; }
.e360-impact-heading { display: grid; grid-template-columns: minmax(0,1.25fr) minmax(0,1fr); gap: 80px; align-items: end; margin-bottom: 64px; }
.e360-impact-heading h2 { max-width: 700px; margin: 0; font-size: clamp(36px,3.8vw,56px); line-height: 1.07; letter-spacing: -.04em; }
.e360-impact-heading p { margin-bottom: 0; line-height: 1.65; }
.e360-impact-heading p + p { margin-top: 20px; }
.institutional-impact figcaption { font-size: 14px; line-height: 1.6; }
.institutional-impact :is(#capacites, #collectif, #chiffres-cles, #lire-les-chiffres) { scroll-margin-top: 110px; }
.e360-impact-context { max-width: 840px; }
.e360-impact-group + .e360-impact-group { margin-top: 48px; }
.e360-impact-experience-media { overflow: hidden; border-radius: 16px; aspect-ratio: 4 / 5; }
.e360-impact-experience-media img { display: block; width: 100%; height: 100%; object-fit: cover; }
.e360-impact-program { padding: 28px 0; border-top: 1px solid var(--at-neutral-200); }
.e360-impact-program:last-child { border-bottom: 1px solid var(--at-neutral-200); }
.e360-impact-program h3 { font-size: 28px; letter-spacing: -.03em; }
.e360-impact-program h3 a { display: flex; justify-content: space-between; gap: 20px; }
.e360-impact-program p { margin-bottom: 0; }
.e360-impact-method { padding-top: 48px; border-top: 1px solid var(--at-neutral-200); }
.e360-impact-breathing { background: var(--at-neutral-950); color: var(--at-neutral-200); }
.e360-impact-breathing figure { aspect-ratio: 16 / 7; overflow: hidden; }
.e360-impact-breathing figure img { width: 100%; height: 100%; object-fit: cover; }
.e360-impact-breathing h2 { color: #fff; font-size: clamp(42px,6vw,88px); letter-spacing: -.045em; }
.e360-impact-connections { border-top: 1px solid var(--at-neutral-200); }
.e360-impact-connections a { display: flex; justify-content: space-between; gap: 24px; padding: 28px 0; border-bottom: 1px solid var(--at-neutral-200); font-size: 28px; font-weight: 600; }
.institutional-impact a:focus-visible { outline: 2px solid var(--at-theme-primary); outline-offset: 5px; }
@media (max-width: 991px) {
  .e360-impact-hero .sec-1-home-4__footer { padding-top: 100px; }
  .e360-impact-hero .sec-1-home-4__nav { max-width: 560px; }
  .e360-impact-heading { grid-template-columns: 1fr; gap: 24px; margin-bottom: 40px; }
  .e360-impact-experience-media { aspect-ratio: 16 / 10; }
}
@media (max-width: 767px) {
  .e360-impact-hero.sec-1-home-4-wrap { padding-top: 90px; }
  .e360-impact-hero .sec-1-home-4 { padding-top: 36px; padding-bottom: 28px; }
  .e360-impact-hero .sec-1-home-4 > .container { padding-inline: 22px; }
  .e360-impact-hero .sec-1-home-4__headline { font-size: 26px; }
  .e360-impact-hero .sec-1-home-4__tagline { font-size: 13px; letter-spacing: .04em; }
  .e360-impact-hero .sec-1-home-4__footer { padding-top: 88px; }
  .e360-impact-hero .sec-1-home-4__brand { font-size: clamp(42px,10.5vw,64px); line-height: 1.02; }
  .e360-impact-hero .sec-1-home-4__nav { gap: 14px; }
  .e360-impact-hero .sec-1-home-4__nav a { font-size: 13px; }
  .e360-impact-breathing figure { aspect-ratio: 4 / 3; }
  .e360-impact-connections a { font-size: 22px; }
  [data-impact-layout="editorial"] .sec-3-home-11__stat { border-right: 0; padding: 24px 0; }
}
@media (prefers-reduced-motion: reduce) {
  .institutional-impact .anim-zoomin, .institutional-impact .at_fade_anim { opacity: 1; visibility: visible; transform: none; }
  .sec-1-home-4-wrap .sec-1-home-4__card img, .card_case__studies-card--feature .card_case__studies-thumb img { transition: none; }
  .sec-1-home-4-wrap .sec-1-home-4__card img:hover, .card_case__studies-card--feature:hover .card_case__studies-thumb img { transform: none; }
}

/*------------------------------------------------------------------
  Section 4 — Featured Works
------------------------------------------------------------------*/
.sec-4-home-11 {
  background-color: var(--at-neutral-50);
}
.sec-4-home-11__container {
  max-width: 1400px;
  margin: 0 auto;
  padding: clamp(80px, 10vw, 140px) clamp(20px, 5.5vw, 96px);
}
.sec-4-home-11__title {
  font-size: clamp(36px, 5vw, 72px);
  font-weight: 700;
  line-height: 1.05;
  letter-spacing: -0.04em;
  color: var(--at-neutral-950);
  margin-bottom: 0;
}
.sec-4-home-11__intro {
  font-size: clamp(14px, 1.1vw, 16px);
  line-height: 1.7;
  color: var(--at-neutral-500);
}
.sec-4-home-11__view-all {
  font-size: 14px;
  font-weight: 500;
  color: var(--at-neutral-950);
  text-decoration: none;
  border-bottom: 1px solid currentColor;
  padding-bottom: 2px;
  transition: color 0.3s ease;
}
.sec-4-home-11__view-all:hover {
  color: var(--at-theme-primary);
}
.sec-4-home-11__list .mg-portfolio-item {
  padding-top: clamp(24px, 3vw, 40px);
}
.sec-4-home-11__list .mg-portfolio-thumb {
  border-radius: 4px;
  overflow: hidden;
}
.sec-4-home-11__list .mg-portfolio-thumb a.cursor-hide {
  position: relative;
  display: block;
}
.sec-4-home-11__list .sec-4-home-11__thumb-title {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  box-sizing: border-box;
  width: -moz-max-content;
  width: max-content;
  max-width: calc(100% - clamp(24px, 6vw, 48px));
  padding: clamp(12px, 2vw, 20px) clamp(16px, 3vw, 28px);
  font-size: clamp(54px, 6.6vw, 84px);
  font-weight: 600;
  line-height: 1.15;
  letter-spacing: -0.02em;
  text-align: center;
  color: var(--at-common-white);
  pointer-events: none;
  z-index: 2;
}
.sec-4-home-11__list .cs-portfolio-title {
  font-size: clamp(20px, 2.5vw, 32px);
  font-weight: 600;
  letter-spacing: -0.02em;
}

/*------------------------------------------------------------------
  Section 5 — Services (modernized)
------------------------------------------------------------------*/
.sec-5-home-11 {
  position: relative;
  background-color: var(--at-neutral-0);
  overflow: hidden;
}
.sec-5-home-11__bg-deco {
  position: absolute;
  inset: 0;
  pointer-events: none;
  background-image: radial-gradient(circle at 20% 30%, rgba(var(--at-theme-primary-rgb, 240, 70, 14), 0.03) 0%, transparent 50%), radial-gradient(circle at 80% 70%, rgba(var(--at-theme-primary-rgb, 240, 70, 14), 0.02) 0%, transparent 50%);
}
.sec-5-home-11__container {
  max-width: 1400px;
  margin: 0 auto;
  padding: clamp(80px, 10vw, 140px) clamp(20px, 5.5vw, 96px);
  position: relative;
  z-index: 1;
}
.sec-5-home-11__title {
  font-size: clamp(36px, 5vw, 72px);
  font-weight: 700;
  line-height: 1.05;
  letter-spacing: -0.04em;
  color: var(--at-neutral-950);
  margin-bottom: 0;
}
.sec-5-home-11__card {
  position: relative;
  background-color: var(--at-common-white);
  border: 1px solid var(--at-neutral-100);
  border-radius: 6px;
  height: 100%;
  display: flex;
  flex-direction: column;
  overflow: hidden;
  transition: transform 0.4s cubic-bezier(0.25, 0.46, 0.45, 0.94), box-shadow 0.4s ease, border-color 0.4s ease;
}
.sec-5-home-11__card:hover {
  transform: translateY(-4px);
  box-shadow: 0 20px 48px rgba(0, 0, 0, 0.08);
  border-color: transparent;
}
.sec-5-home-11__card:hover .sec-5-home-11__card-accent {
  transform: scaleY(1);
}
.sec-5-home-11__card:hover .sec-5-home-11__card-num {
  color: var(--at-theme-primary);
  transform: translateX(2px);
}
.sec-5-home-11__card--lg .sec-5-home-11__card-body {
  padding: clamp(24px, 3vw, 36px);
}
.sec-5-home-11__card--sm .sec-5-home-11__card-body {
  padding: clamp(28px, 3.5vw, 44px);
}
.sec-5-home-11__card-accent {
  position: absolute;
  left: 0;
  top: 0;
  bottom: 0;
  width: 3px;
  background: var(--at-theme-primary);
  transform: scaleY(0.3);
  transform-origin: top;
  transition: transform 0.5s cubic-bezier(0.25, 0.46, 0.45, 0.94);
  z-index: 2;
}
.sec-5-home-11__card-media {
  position: relative;
  overflow: hidden;
  aspect-ratio: 16/9;
}
.sec-5-home-11__card-media img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  display: block;
  transition: transform 0.7s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}
.sec-5-home-11__card-tag {
  position: absolute;
  top: 16px;
  right: 16px;
  z-index: 2;
  padding: 4px 12px;
  font-size: 10px;
  font-weight: 600;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--at-common-white);
  background: var(--at-theme-primary);
  border-radius: 2px;
  pointer-events: none;
}
.sec-5-home-11__card-overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(to top, rgba(15, 15, 15, 0.45) 0%, rgba(15, 15, 15, 0.1) 50%, transparent 100%);
  pointer-events: none;
  transition: opacity 0.4s ease;
}
.sec-5-home-11__card-body {
  flex: 1;
  display: flex;
  flex-direction: column;
}
.sec-5-home-11__card-head {
  display: flex;
  align-items: flex-start;
  gap: 16px;
  margin-bottom: 12px;
}
.sec-5-home-11__card-num {
  font-size: clamp(32px, 4vw, 48px);
  font-weight: 700;
  line-height: 0.85;
  letter-spacing: -0.04em;
  color: var(--at-neutral-100);
  flex-shrink: 0;
  transition: color 0.4s ease, transform 0.4s ease;
  min-width: clamp(40px, 5vw, 56px);
}
.sec-5-home-11__card-name {
  font-size: clamp(18px, 1.8vw, 24px);
  font-weight: 600;
  letter-spacing: -0.02em;
  color: var(--at-neutral-950);
  margin-bottom: 0;
  padding-top: 4px;
}
.sec-5-home-11__card-desc {
  font-size: 14px;
  line-height: 1.7;
  color: var(--at-neutral-500);
}
.sec-5-home-11__card-link {
  font-size: 13px;
  font-weight: 500;
  color: var(--at-neutral-950);
  text-decoration: none;
  border-bottom: 1px solid currentColor;
  padding-bottom: 1px;
  margin-top: auto;
  transition: color 0.3s ease, gap 0.3s ease;
  align-self: flex-start;
}
.sec-5-home-11__card-link:hover {
  color: var(--at-theme-primary);
  gap: 10px;
}

/*------------------------------------------------------------------
  Section 6 — Studio Process
------------------------------------------------------------------*/
.sec-6-home-11 {
  background-color: var(--at-neutral-50);
}
.sec-6-home-11__container {
  max-width: 1400px;
  margin: 0 auto;
  padding: clamp(80px, 10vw, 140px) clamp(20px, 5.5vw, 96px);
}
.sec-6-home-11__title-block {
  padding-bottom: 40px;
}
.sec-6-home-11__title {
  font-size: clamp(36px, 5vw, 64px);
  font-weight: 700;
  line-height: 1.05;
  letter-spacing: -0.04em;
  color: var(--at-neutral-950);
  margin-bottom: 0;
}
.sec-6-home-11__intro {
  font-size: clamp(14px, 1.1vw, 16px);
  line-height: 1.7;
  color: var(--at-neutral-500);
  max-width: 380px;
}
.sec-6-home-11__cta {
  font-size: 14px;
  font-weight: 500;
  color: var(--at-neutral-950);
  text-decoration: none;
  border-bottom: 1px solid currentColor;
  padding-bottom: 2px;
  transition: color 0.3s ease;
  align-self: flex-start;
}
.sec-6-home-11__cta:hover {
  color: var(--at-theme-primary);
}
.sec-6-home-11__steps {
  padding: 0;
}
.sec-6-home-11__scroll-stack.scroll-section .wrapper {
  position: relative;
}
.sec-6-home-11__scroll-stack.scroll-section .sec-6-home-11__steps.list {
  position: relative;
  height: 100%;
}
.sec-6-home-11__scroll-stack.scroll-section .sec-6-home-11__step.item {
  border-top: none;
  border-bottom: none;
  background-color: var(--at-neutral-50);
}
.sec-6-home-11__scroll-stack.scroll-section .item {
  min-height: min(88vh, 860px);
}
.sec-6-home-11__scroll-stack.scroll-section .item:first-child {
  min-height: min(88vh, 860px);
  height: auto;
}
@media (min-width: 992px) {
  .sec-6-home-11__scroll-stack.scroll-section .item:not(:first-child) {
    position: absolute;
    inset: 0;
  }
}
.sec-6-home-11__step {
  padding: clamp(32px, 4vw, 56px) 0;
  border-top: 1px solid var(--at-neutral-100);
}
.sec-6-home-11__step:last-child {
  border-bottom: 1px solid var(--at-neutral-100);
}
@media (max-width: 991px) {
  .sec-6-home-11__scroll-stack.scroll-section .sec-6-home-11__steps.list {
    height: auto;
  }
  .sec-6-home-11__scroll-stack.scroll-section .sec-6-home-11__step.item {
    padding: clamp(24px, 5vw, 40px) 0;
    background: transparent;
    border: none;
    border-radius: 0;
    box-shadow: none;
    border-top: 1px solid var(--at-neutral-100);
  }
  .sec-6-home-11__scroll-stack.scroll-section .sec-6-home-11__step.item:last-child {
    border-bottom: 1px solid var(--at-neutral-100);
  }
  .sec-6-home-11__scroll-stack.scroll-section .item {
    position: relative !important;
    inset: auto !important;
    width: 100% !important;
    min-height: 0 !important;
    height: auto !important;
    transform: none !important;
  }
  .sec-6-home-11__scroll-stack.scroll-section .item:first-child {
    min-height: 0 !important;
    height: auto !important;
  }
}
@media (prefers-reduced-motion: reduce) and (min-width: 992px) {
  .sec-6-home-11__scroll-stack.scroll-section .sec-6-home-11__steps.list {
    height: auto;
  }
  .sec-6-home-11__scroll-stack.scroll-section .item,
  .sec-6-home-11__scroll-stack.scroll-section .item:first-child,
  .sec-6-home-11__scroll-stack.scroll-section .item:not(:first-child) {
    position: relative;
    inset: auto;
    min-height: 0;
    height: auto;
    transform: none;
  }
}
.sec-6-home-11__step-num {
  font-size: clamp(48px, 6vw, 72px);
  font-weight: 700;
  letter-spacing: -0.04em;
  color: var(--at-neutral-100);
  line-height: 1;
  flex-shrink: 0;
  min-width: clamp(64px, 8vw, 100px);
}
.sec-6-home-11__step-title {
  font-size: clamp(22px, 2.5vw, 36px);
  font-weight: 600;
  letter-spacing: -0.02em;
  color: var(--at-neutral-950);
}
.sec-6-home-11__step-body {
  font-size: clamp(14px, 1.1vw, 16px);
  line-height: 1.7;
  color: var(--at-neutral-500);
  max-width: 480px;
}
.sec-6-home-11__step-media {
  margin-top: 20px;
  border-radius: 4px;
  overflow: hidden;
  aspect-ratio: 16/10;
}
.sec-6-home-11__step-media img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  display: block;
}
.sec-6-home-11__tag {
  display: inline-flex;
  align-items: center;
  padding: 5px 12px;
  border: 1px solid var(--at-neutral-100);
  font-size: 11px;
  letter-spacing: 0.08em;
  color: var(--at-neutral-500);
  border-radius: 100px;
}

/*------------------------------------------------------------------
  Section 7 — Testimonials
------------------------------------------------------------------*/
.sec-7-home-11__container {
  max-width: 1400px;
  margin: 0 auto;
  padding: clamp(80px, 10vw, 140px) clamp(20px, 5.5vw, 96px);
}
.sec-7-home-11__title {
  font-size: clamp(36px, 5vw, 72px);
  font-weight: 700;
  line-height: 1.05;
  letter-spacing: -0.04em;
  color: var(--at-neutral-950);
  margin-bottom: 0;
}
.sec-7-home-11__nav {
  gap: 8px;
}
.sec-7-home-11__nav .swiper-btn-prev,
.sec-7-home-11__nav .swiper-btn-next {
  border: 1px solid var(--at-neutral-100);
  border-radius: 50%;
  background: transparent;
  color: var(--at-neutral-950);
  transition: background 0.3s ease, color 0.3s ease;
}
.sec-7-home-11__nav .swiper-btn-prev:hover,
.sec-7-home-11__nav .swiper-btn-next:hover {
  background: var(--at-theme-primary);
  border-color: var(--at-theme-primary);
  color: var(--at-common-white);
}
.sec-7-home-11__swiper .testimonial-cart-wrap {
  background: var(--at-neutral-50);
  border: 1px solid var(--at-neutral-100);
}

/*------------------------------------------------------------------
  Section 8 — Call to Action
------------------------------------------------------------------*/
.sec-8-home-11 {
  position: relative;
  overflow: hidden;
  background-color: var(--at-neutral-950);
  color: var(--at-common-white);
}
.sec-8-home-11__bg {
  position: absolute;
  inset: 0;
  z-index: 0;
}
.sec-8-home-11__bg-wrap {
  width: 100%;
  height: 100%;
  overflow: hidden;
}
.sec-8-home-11__bg-img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  display: block;
}
.sec-8-home-11__bg-overlay {
  position: absolute;
  inset: 0;
  background: rgba(15, 15, 15, 0.82);
}
.sec-8-home-11__inner {
  position: relative;
  z-index: 1;
  padding: clamp(80px, 10vw, 140px) 0;
  padding-bottom: 0;
}
.sec-8-home-11__type-wrap {
  overflow: hidden;
}
.sec-8-home-11__big-line {
  font-size: clamp(48px, 10vw, 140px);
  font-weight: 700;
  line-height: 1.05;
  letter-spacing: -0.04em;
  text-transform: uppercase;
  color: rgba(255, 255, 255, 0.08);
  white-space: nowrap;
}
.sec-8-home-11__img-pill {
  display: inline-block;
  vertical-align: middle;
  height: 0.85em;
  overflow: hidden;
  border-radius: 16px;
  margin: 0 0.15em;
  position: relative;
  top: -0.04em;
}
.sec-8-home-11__img-pill img {
  height: 100%;
  width: auto;
  display: block;
  -o-object-fit: cover;
     object-fit: cover;
}
.sec-8-home-11__type-wrap:nth-child(1) .sec-8-home-11__img-pill:nth-of-type(1) {
  transform: rotate(-5deg);
}
.sec-8-home-11__type-wrap:nth-child(1) .sec-8-home-11__img-pill:nth-of-type(2) {
  transform: rotate(6deg);
}
.sec-8-home-11__type-wrap:nth-child(2) .sec-8-home-11__img-pill:nth-of-type(1) {
  transform: rotate(7deg);
}
.sec-8-home-11__type-wrap:nth-child(2) .sec-8-home-11__img-pill:nth-of-type(2) {
  transform: rotate(-4deg);
}
.sec-8-home-11__type-wrap:nth-child(3) .sec-8-home-11__img-pill:nth-of-type(1) {
  transform: rotate(-6deg);
}
.sec-8-home-11__type-wrap:nth-child(3) .sec-8-home-11__img-pill:nth-of-type(2) {
  transform: rotate(5deg);
}
.sec-8-home-11__cta-block {
  padding: clamp(48px, 8vw, 120px) clamp(20px, 5.5vw, 96px);
}
.sec-8-home-11__cta-heading {
  font-size: clamp(40px, 7vw, 104px);
  font-weight: 700;
  line-height: 1;
  letter-spacing: -0.05em;
  color: var(--at-common-white);
  margin-bottom: 0;
}
.sec-8-home-11__cta-sub {
  font-size: clamp(15px, 1.2vw, 18px);
  color: rgba(255, 255, 255, 0.6);
  margin-top: 20px;
  margin-bottom: 0;
}
.sec-8-home-11__btn-primary {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  padding: 16px 32px;
  background: var(--at-theme-primary);
  color: var(--at-common-white);
  font-size: 15px;
  font-weight: 500;
  letter-spacing: 0.02em;
  text-decoration: none;
  border: 1px solid var(--at-theme-primary);
  transition: background 0.3s ease, color 0.3s ease;
}
.sec-8-home-11__btn-primary:hover {
  background: transparent;
  color: var(--at-theme-primary);
}
.sec-8-home-11__btn-secondary {
  display: inline-flex;
  align-items: center;
  padding: 16px 32px;
  background: transparent;
  color: var(--at-common-white);
  font-size: 15px;
  font-weight: 500;
  letter-spacing: 0.02em;
  text-decoration: none;
  border: 1px solid rgba(255, 255, 255, 0.25);
  transition: border-color 0.3s ease, color 0.3s ease;
}
.sec-8-home-11__btn-secondary:hover {
  border-color: var(--at-common-white);
  color: var(--at-common-white);
}
.sec-8-home-11__email {
  font-size: clamp(13px, 1vw, 15px);
  color: rgba(255, 255, 255, 0.4);
  text-decoration: none;
  letter-spacing: 0.05em;
  transition: color 0.3s ease;
}
.sec-8-home-11__email:hover {
  color: var(--at-common-white);
}


/* Ajustements contractuels : portfolio, actualités CMS et footer partagé. */

.sec-4-home-11 .mg-portfolio-thumb {
    position: relative;
    width: 100%;
    isolation: isolate;
}

.sec-4-home-11 .mg-portfolio-thumb::after {
    position: absolute;
    z-index: 1;
    inset: 0;
    background: linear-gradient(
        180deg,
        rgba(0, 0, 0, 0.13) 30%,
        rgba(0, 0, 0, 0.22) 58%,
        rgba(0, 0, 0, 0.46) 100%
    );
    content: "";
    pointer-events: none;
}

.sec-4-home-11 .sec-4-home-11__thumb-title {
    z-index: 2;
}

.sec-4-home-11__tags {
    display: flex;
    gap: 8px;
    margin: 0;
    padding: 0;
    list-style: none;
}

.sec-4-home-11 .cs-portfolio-tag .sec-4-home-11__tags a {
    padding: 6px 10px;
    border: 1px solid var(--at-neutral-100);
    border-radius: 100px;
    color: var(--at-neutral-500);
    font-size: 11px;
    letter-spacing: 0.05em;
    text-transform: uppercase;
}

.sec-4-home-11 .mg-portfolio-thumb img {
    position: relative;
    z-index: 0;
    display: block;
    width: 100%;
    object-fit: cover;
    object-position: center center;
}

.sec-4-home-11 .mg-portfolio-content {
    position: relative;
    z-index: 2;
    gap: 24px;
    padding-top: 22px;
    overflow: visible;
}

.sec-4-home-11 .mg-portfolio-content p {
    margin: 8px 0 0;
}

.sec-6-home-10__member-frame > .fix {
    width: 100%;
    height: 100%;
}

.sec-6-home-10__member-frame > .fix .sec-6-home-10__member-img {
    width: 100%;
    height: 100%;
}

.institutional-home .institutional-home-news {
    position: relative;
    padding: clamp(80px, 10vw, 140px) 0;
    color: var(--at-neutral-900);
    background: var(--at-neutral-0);
}

.institutional-home .institutional-home-news__container {
    width: min(calc(100% - 40px), 1208px);
    margin-inline: auto;
}

.institutional-home .institutional-home-news__eyebrow {
    color: var(--at-theme-primary);
    font-size: 12px;
    font-weight: 600;
    letter-spacing: 0.1em;
}

.institutional-home .institutional-home-news__title {
    max-width: 850px;
    color: var(--at-neutral-950);
    font-size: clamp(36px, 5vw, 72px);
    font-weight: 700;
    line-height: 1.05;
    letter-spacing: -0.04em;
}

.institutional-home .institutional-home-news__all-link {
    color: var(--at-neutral-950);
    font-size: 14px;
    font-weight: 500;
    text-decoration: none;
    border-bottom: 1px solid currentColor;
}

.institutional-home .institutional-home-news__all-link:hover {
    color: var(--at-theme-primary);
}

.institutional-home .institutional-home-news__card {
    height: 100%;
    min-height: 250px;
    padding: 28px;
    border: 1px solid var(--at-neutral-100);
    background: var(--at-common-white);
    transition: border-color 180ms ease, transform 180ms ease;
}

.institutional-home .institutional-home-news__card:hover {
    border-color: var(--at-theme-primary);
    transform: translateY(-4px);
}

.institutional-home .institutional-home-news__label {
    color: var(--at-theme-primary);
    font-size: 11px;
    font-weight: 600;
    letter-spacing: 0.1em;
}

.institutional-home .institutional-home-news__card-title {
    color: var(--at-neutral-950);
    font-size: 24px;
    line-height: 1.25;
}

.institutional-home .institutional-home-news__card-title a {
    color: inherit;
}

.institutional-home .institutional-home-news__card-title a:hover {
    color: var(--at-theme-primary);
}

.institutional-home .institutional-home-news__summary {
    color: var(--at-neutral-500);
    font-size: 14px;
    line-height: 1.65;
}

/* Le shell lissé et les états de mouvement reprennent la composition Home 11. */
body.public-page--home {
    display: block;
}

.public-page--home #smooth-content {
    position: relative;
    z-index: 3;
    pointer-events: none;
}

.public-page--home #smooth-content > * {
    pointer-events: auto;
}

.public-page--home #smooth-content main {
    position: relative;
    z-index: 2;
    min-height: 100vh;
    will-change: transform;
}

/* Le contenu lisse libère la zone interactive quand le footer fixe est révélé. */
.public-page--home.home-footer-interactive #smooth-content main {
    pointer-events: none;
}

.public-page--home #smooth-content .footer-placeholder,
.public-page--home .footer-placeholder {
    width: 100%;
    pointer-events: none;
}

/* Footer institutionnel partagé, alimenté par les réglages CodeIgniter. */
body.public-page {
    --footer-transition-to: var(--e360-block-color, #18181b);
    --footer-transition-accent: var(--e360-theme-color, #1a58e2);
    --footer-transition-height: 248px;
}

body.public-page.footer-after-light {
    --footer-transition-from: #ffffff;
}

body.public-page.footer-after-dark {
    --footer-transition-from: var(--at-neutral-950, #0f0f0f);
}

body.public-page.footer-after-primary {
    --footer-transition-from: var(--footer-transition-accent);
}

.public-site-footer.footer-fixed-bottom {
    position: relative;
    z-index: 1;
    color: #ffffff;
    background: var(--footer-transition-to);
    font-family: "DM Sans E360", "DM Sans", sans-serif;
}

.public-page--home.home-smooth-ready .public-site-footer.footer-fixed-bottom {
    position: fixed;
    right: 0;
    bottom: 0;
    left: 0;
    width: 100%;
    z-index: 1;
    transform-origin: center bottom;
    will-change: transform;
}

.public-page--home.home-smooth-ready .public-site-footer .at-footer-area {
    position: relative;
    z-index: 1;
}

/* Odometer 0.4.8, partagé par les compteurs institutionnels. */
.odometer.odometer-auto-theme,
.odometer.odometer-theme-default,
.odometer.odometer-auto-theme .odometer-digit,
.odometer.odometer-theme-default .odometer-digit {
    display: inline-block;
    position: relative;
    vertical-align: middle;
}

.odometer.odometer-auto-theme .odometer-digit .odometer-digit-spacer,
.odometer.odometer-theme-default .odometer-digit .odometer-digit-spacer {
    display: inline-block;
    visibility: hidden;
    vertical-align: middle;
}

.odometer.odometer-auto-theme .odometer-digit .odometer-digit-inner,
.odometer.odometer-theme-default .odometer-digit .odometer-digit-inner {
    position: absolute;
    inset: 0;
    display: block;
    overflow: hidden;
    text-align: left;
}

.odometer.odometer-auto-theme .odometer-digit .odometer-ribbon,
.odometer.odometer-theme-default .odometer-digit .odometer-ribbon,
.odometer.odometer-auto-theme .odometer-digit .odometer-ribbon-inner,
.odometer.odometer-theme-default .odometer-digit .odometer-ribbon-inner,
.odometer.odometer-auto-theme .odometer-digit .odometer-value,
.odometer.odometer-theme-default .odometer-digit .odometer-value {
    display: block;
}

.odometer.odometer-auto-theme .odometer-digit .odometer-ribbon-inner,
.odometer.odometer-theme-default .odometer-digit .odometer-ribbon-inner {
    backface-visibility: hidden;
}

.odometer.odometer-auto-theme .odometer-digit .odometer-value,
.odometer.odometer-theme-default .odometer-digit .odometer-value {
    transform: translateZ(0);
}

.odometer.odometer-auto-theme .odometer-digit .odometer-value.odometer-last-value,
.odometer.odometer-theme-default .odometer-digit .odometer-value.odometer-last-value {
    position: absolute;
}

.odometer.odometer-auto-theme.odometer-animating-up .odometer-ribbon-inner,
.odometer.odometer-theme-default.odometer-animating-up .odometer-ribbon-inner {
    transition: transform 600ms;
}

.odometer.odometer-auto-theme.odometer-animating-up.odometer-animating .odometer-ribbon-inner,
.odometer.odometer-theme-default.odometer-animating-up.odometer-animating .odometer-ribbon-inner,
.odometer.odometer-auto-theme.odometer-animating-down .odometer-ribbon-inner,
.odometer.odometer-theme-default.odometer-animating-down .odometer-ribbon-inner {
    transform: translateY(-100%);
}

.odometer.odometer-auto-theme.odometer-animating-down.odometer-animating .odometer-ribbon-inner,
.odometer.odometer-theme-default.odometer-animating-down.odometer-animating .odometer-ribbon-inner {
    transition: transform 600ms;
    transform: translateY(0);
}

.odometer.odometer-auto-theme .odometer-value,
.odometer.odometer-theme-default .odometer-value {
    text-align: center;
}

.odometer-formatting-mark {
    display: none;
}

.public-site-footer .at-footer-area {
    position: relative;
    overflow: hidden;
    padding: 0 0 28px;
}

.public-site-footer .container {
    position: relative;
    z-index: 2;
    max-width: 1320px;
    width: min(calc(100% - 48px), 1320px);
    margin-inline: auto;
    padding-inline: 0;
}

.public-site-footer__backdrop {
    position: absolute;
    inset: 0;
    z-index: 9;
    overflow: hidden;
    pointer-events: none;
}

.public-site-footer__backdrop::before {
    position: absolute;
    top: -180px;
    right: -120px;
    width: 520px;
    height: 520px;
    border-radius: 50%;
    background: radial-gradient(circle, rgba(26, 88, 226, 0.18) 0, rgba(26, 88, 226, 0.04) 42%, transparent 70%);
    content: "";
}

.public-site-footer__backdrop span {
    position: absolute;
    top: 0;
    bottom: 0;
    width: 1px;
    background: rgba(255, 255, 255, 0.04);
}

.public-site-footer__backdrop span:nth-child(1) { left: 25%; }
.public-site-footer__backdrop span:nth-child(2) { left: 50%; }
.public-site-footer__backdrop span:nth-child(3) { left: 75%; }

.public-site-footer__transition {
    position: relative;
    min-height: var(--footer-transition-height);
    padding: 72px 0 60px;
    background-color: var(--footer-transition-to);
    border-bottom: 1px solid rgba(255, 255, 255, 0.18);
}

.public-site-footer__transition::before {
    position: absolute;
    top: 0;
    left: 50%;
    width: 100vw;
    height: 2px;
    background: var(--footer-transition-accent);
    box-shadow: 0 -1px 0 var(--footer-transition-from, #ffffff);
    content: "";
    pointer-events: none;
    transform: translateX(-50%);
}

.public-site-footer__transition-copy {
    position: relative;
    max-width: 1160px;
}

.public-site-footer__eyebrow {
    margin: 0 0 14px;
    color: rgba(255, 255, 255, 0.58);
    font-size: 12px;
    font-weight: 600;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.public-site-footer__main {
    display: grid;
    grid-template-columns: minmax(250px, 0.95fr) minmax(500px, 1.65fr) minmax(260px, 0.9fr);
    gap: 56px;
    padding: 64px 0 58px;
}

.home-orisa-footer__brand img {
    display: block;
    width: auto;
    max-width: 160px;
    height: auto;
    max-height: 54px;
    object-fit: contain;
}

.public-site-footer__about {
    max-width: 360px;
    margin: 26px 0 0;
    color: rgba(255, 255, 255, 0.64);
    font-size: 15px;
    line-height: 1.65;
}

.home-orisa-footer__contact {
    display: grid;
    gap: 7px;
    margin: 0;
    font-style: normal;
}

.home-orisa-footer__contact a,
.home-orisa-footer__contact span {
    color: rgba(255, 255, 255, 0.62);
    font-size: 14px;
    line-height: 1.5;
}

.home-orisa-footer__nav {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 28px;
}

.public-site-footer__navigation > div {
    min-width: 0;
}

/* La rubrique légale garde des libellés lisibles sans réduire la typographie commune. */
.public-site-footer__navigation > [data-footer-group="legal"] {
    grid-column: span 2;
}

.home-orisa-footer__nav ul,
.home-orisa-footer__axes {
    margin: 0;
    padding: 0;
    list-style: none;
}

.home-orisa-footer__nav a {
    display: inline-flex;
    max-width: 100%;
    min-height: 34px;
    align-items: center;
    padding: 4px 0;
    color: #ffffff;
    font-size: 15px;
    line-height: 1.35;
    overflow-wrap: anywhere;
}

.home-orisa-footer__nav a:hover,
.home-orisa-footer__nav a:focus-visible {
    color: var(--e360-theme-color, #1a58e2);
}

.home-orisa-footer__label {
    margin-bottom: 14px;
    color: rgba(255, 255, 255, 0.62);
    font-size: 12px;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.home-orisa-footer__social ul {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin: 0;
    padding: 0;
    list-style: none;
}

.home-orisa-footer__social a {
    display: inline-grid;
    width: 42px;
    height: 42px;
    place-items: center;
    border: 1px solid rgba(255, 255, 255, 0.26);
    border-radius: 50%;
    color: #ffffff;
}

.home-orisa-footer__social {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
}

.home-orisa-footer__social a:hover,
.home-orisa-footer__social a:focus-visible {
    border-color: var(--e360-theme-color, #1a58e2);
    background: var(--e360-theme-color, #1a58e2);
    color: #ffffff;
}

.home-orisa-footer__bottom {
    padding-top: 22px;
}

.home-orisa-footer .at-footer-copyright {
    display: block;
    color: rgba(255, 255, 255, 0.48);
    font-size: 13px;
}

.home-orisa-footer .footer-2-connect-title {
    display: block;
    color: #ffffff;
    font-size: 92px;
    font-weight: 500;
    line-height: 0.94;
    letter-spacing: -0.06em;
}

.home-orisa-footer .footer-2-connect-title:focus-visible {
    box-shadow: 0 0 0 2px var(--e360-theme-color, #1a58e2);
}

.home-orisa-footer .at-title-anim {
    overflow: hidden;
}

.home-orisa-footer .text-scale-anim {
    white-space: pre-wrap;
    transform-origin: top left;
}

/* Animation typographique institutionnel du titre de contact. */
.home-orisa-footer .at-title-text > .char {
    display: inline-block;
    text-shadow: 0 1.05em var(--e360-theme-color, #1a58e2);
    transition: translate 0.3s cubic-bezier(0.625, 0.05, 0, 1), text-shadow 0.1s 0.15s ease;
}

@media (hover: hover) and (pointer: fine) {
    .home-orisa-footer .at-title-anim:hover .at-title-text > .char {
        text-shadow: 0 1.05em currentColor;
        translate: 0 -1.05em 0;
        transition: translate 0.5s calc((var(--char) - 1) * 0.024s) cubic-bezier(0.625, 0.05, 0, 1), text-shadow 0.175s calc((var(--char) - 1) * 0.024s + 0.225s) ease;
    }
}

.home-orisa-footer .at-title-text:focus-visible > .char {
    text-shadow: 0 1.05em currentColor;
    translate: 0 -1.05em 0;
    transition: translate 0.5s calc((var(--char) - 1) * 0.024s) cubic-bezier(0.625, 0.05, 0, 1), text-shadow 0.175s calc((var(--char) - 1) * 0.024s + 0.225s) ease;
}

.home-orisa-footer__axes {
    display: flex;
    flex-wrap: wrap;
    gap: 8px 20px;
    padding: 24px 0 0;
    color: rgba(255, 255, 255, 0.62);
    font-size: 13px;
    letter-spacing: 0.05em;
    text-transform: uppercase;
}

.home-orisa-footer__axes a {
    display: inline-flex;
    min-height: 32px;
    align-items: center;
    color: inherit;
}

.home-orisa-footer__axes a:hover,
.home-orisa-footer__axes a:focus-visible {
    color: #ffffff;
}

.public-site-footer__reach {
    display: grid;
    align-content: start;
    gap: 34px;
}

.public-site-footer__reach > div {
    min-width: 0;
}

.public-site-footer__newsletter .description,
.public-site-footer__newsletter .e360-newsletter-help {
    max-width: 330px;
    margin: 0 0 15px;
    color: rgba(255, 255, 255, 0.58);
    font-size: 14px;
    line-height: 1.55;
}

.public-site-footer__newsletter .newsletter-inputs {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
}

.public-site-footer__newsletter .form-input {
    min-width: 0;
    min-height: 48px;
    padding: 12px 14px;
    border: 1px solid rgba(255, 255, 255, 0.22);
    border-radius: 4px 0 0 4px;
    background: rgba(255, 255, 255, 0.06);
    color: #ffffff;
}

.public-site-footer__newsletter .form-input::placeholder {
    color: rgba(255, 255, 255, 0.5);
}

.public-site-footer__newsletter .newsletter-button {
    min-height: 48px;
    padding: 10px 18px;
    border-radius: 0 4px 4px 0;
    white-space: nowrap;
}

.public-site-footer__newsletter input[name='url'] {
    display: none;
}

.public-site-footer__legal {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 28px;
    padding: 24px 0 0;
}

.public-site-footer__legal-copy {
    display: flex;
    min-width: 0;
    align-items: center;
    flex-wrap: wrap;
    gap: 12px 28px;
}

.public-site-footer__legal-nav {
    margin-left: 0;
}

.public-site-footer__legal-nav ul {
    display: flex;
    flex-wrap: wrap;
    gap: 12px 22px;
    margin: 0;
    padding: 0;
    list-style: none;
}

.public-site-footer__legal-nav a {
    color: rgba(255, 255, 255, 0.58);
    font-size: 13px;
}

.public-site-footer__legal-nav a:hover,
.public-site-footer__legal-nav a:focus-visible {
    color: var(--e360-theme-color, #1a58e2);
}

@media (max-width: 1199.98px) {
    body.public-page {
        --footer-transition-height: 218px;
    }

    .public-page--home.home-smooth-ready .public-site-footer.footer-fixed-bottom {
        position: relative;
        right: auto;
        bottom: auto;
        left: auto;
        width: auto;
        transform: none;
        will-change: auto;
    }

    .public-page--home .footer-placeholder {
        display: none;
    }

    #public-shell-header:not([data-header-variant="overlay"]) {
        min-height: 70px;
    }

    #public-shell-header .public-header-main {
        padding: 14px 0;
    }

    .sec-3-home-5__summary {
        margin-left: 0;
    }

    .public-site-footer__transition {
        padding: 64px 0 52px;
    }

    .public-site-footer__main {
        grid-template-columns: minmax(240px, 0.8fr) minmax(0, 1.5fr);
        gap: 48px;
        padding: 58px 0 52px;
    }

    .public-site-footer__reach {
        grid-column: 1 / -1;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 48px;
    }

    .home-orisa-footer .footer-2-connect-title {
        font-size: 72px;
    }
}

@media (max-width: 991.98px) {
    .institutional-home .sec-6-home-11__layout {
        margin-right: 0;
        margin-left: 0;
    }

    .public-site-footer__main {
        grid-template-columns: minmax(0, 1fr);
        gap: 44px;
    }

    .public-site-footer__reach {
        grid-column: auto;
    }
}
@media (max-width: 767.98px) {
    .public-header-search {
        padding: 20px 0;
    }

    .public-header-search__form {
        grid-template-columns: 1fr;
        margin-top: 80px;
    }

    .public-header-search__form input {
        font-size: 42px;
    }

    .public-header-search__form button {
        justify-self: start;
    }

    .public-header-panel {
        padding: 22px 20px;
    }

    .public-header-panel__nav > ul > li > a,
    .public-header-panel__parent {
        font-size: 30px;
    }

    .at-brand-scroll .at-brand-item {
        width: 165px;
        height: 165px;
        flex-basis: 165px;
    }

    .at-brand-scroll .brand-logo-viewport {
        height: 60px;
    }

    .at-brand-scroll .brand-logo-slide {
        height: 60px;
        min-height: 60px;
    }

    .sec-4-home-11 .mg-portfolio-content {
        align-items: flex-start !important;
    }

    .sec-4-home-11__tags {
        justify-content: flex-start !important;
    }
.sec-6-home-10__layout {
        display: flex;
    }

    .public-site-footer .container {
        width: min(calc(100% - 36px), 1320px);
    }

    .public-site-footer__transition {
        padding: 62px 0 48px;
    }

    .public-site-footer__main {
        grid-template-columns: minmax(0, 1fr);
        gap: 42px;
        padding: 52px 0 48px;
    }

    .public-site-footer__reach {
        grid-column: auto;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 32px;
    }

    .public-site-footer__legal {
        align-items: flex-start;
        flex-direction: column;
        gap: 20px;
    }

    .public-site-footer__legal-copy {
        align-items: flex-start;
        flex-direction: column;
        gap: 14px;
    }

    .home-orisa-footer .footer-2-connect-title {
        font-size: 56px;
    }
}

@media (max-width: 575.98px) {
    body.public-page {
        --footer-transition-height: 214px;
    }

    .public-site-footer .container {
        width: min(calc(100% - 32px), 1320px);
    }

    .public-site-footer__transition {
        padding: 52px 0 42px;
    }

    .public-site-footer__main {
        gap: 38px;
        padding: 46px 0 42px;
    }

    .home-orisa-footer__nav {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 32px 24px;
    }

    .public-site-footer__navigation > [data-footer-group="legal"] {
        grid-column: auto;
    }

    .home-orisa-footer__nav a {
        width: 100%;
        min-height: 40px;
    }

    .home-orisa-footer__axes a {
        min-height: 36px;
    }

    .public-site-footer__reach {
        grid-template-columns: minmax(0, 1fr);
        gap: 30px;
    }

    .home-orisa-footer .footer-2-connect-title {
        font-size: 48px;
    }

    .home-orisa-footer__social a {
        width: 44px;
        height: 44px;
    }

    .public-site-footer__legal-nav a {
        display: inline-flex;
        min-height: 40px;
        align-items: center;
    }
}
@media (max-width: 389.98px) {
    #public-shell-header .public-header-logo__image {
        max-width: 126px;
    }

    #public-shell-header .at-header-right {
        gap: 5px;
    }

    #public-shell-header .at-header-search-btn,
    #public-shell-header .public-header-theme,
    #public-shell-header .at-menu-bar {
        width: 36px;
        height: 36px;
    }
.sec-1-home-11__reel-label {
        max-width: 190px;
    }

    .home-orisa-footer .footer-2-connect-title {
        font-size: 42px;
    }

    .public-site-footer__newsletter .newsletter-inputs {
        grid-template-columns: minmax(0, 1fr);
        gap: 10px;
    }

    .public-site-footer__newsletter .form-input,
    .public-site-footer__newsletter .newsletter-button {
        width: 100%;
        border-radius: 4px;
    }
}

@media (prefers-reduced-motion: reduce) {
    #public-shell-header *,
    .institutional-home *,
    .institutional-home *::before,
    .institutional-home *::after,
    .home-orisa-footer * {
        scroll-behavior: auto;
        transition-duration: 0.01ms;
        animation-duration: 0.01ms;
        animation-iteration-count: 1;
    }

    .institutional-home .anim-zoomin,
    .institutional-home .scroll-move-right,
    .institutional-home .scroll-move-left {
        transform: none;
    }

    .home-orisa-footer .at-title-text > .char,
    .home-orisa-footer .at-title-anim:hover .at-title-text > .char,
    .home-orisa-footer .at-title-text:focus-visible > .char {
        text-shadow: none;
        translate: none;
        transition: none;
    }
}


/*--------------------------------------------------------------
# Page institutionnelle À propos
--------------------------------------------------------------*/
/* Ancienne adaptation simplifiée conservée comme trace, mais neutralisée par le portage fidèle du lot 05.12.
.institutional-about {
    --about-ink: #15171c;
    --about-muted: #626671;
    --about-line: #dfe1e5;
    --about-surface: #f2f3f5;
    color: var(--about-ink);
    background: #ffffff;
}

.institutional-about #main-content {
    overflow: hidden;
}

.institutional-about #axes,
.institutional-about #methode,
.institutional-about #histoire,
.institutional-about #valeurs,
.institutional-about #mission,
.institutional-about #vision {
    scroll-margin-top: 110px;
}

.institutional-about .about-eyebrow {
    color: var(--e360-theme-color);
    font-size: 12px;
    font-weight: 800;
    letter-spacing: 1.4px;
    text-transform: uppercase;
}

.institutional-about .about-eyebrow--light {
    color: rgba(255, 255, 255, 0.72);
}

.institutional-about .sec-1-about {
    padding: 92px 0 0;
    background: #ffffff;
}

.institutional-about .sec-1-about .section-title {
    max-width: 900px;
    margin: 0;
    color: var(--about-ink);
    font-size: 92px;
    font-weight: 500;
    line-height: 0.96;
    letter-spacing: -5px;
}

.institutional-about .sec-1-about__lead {
    color: var(--about-muted);
    font-size: 18px;
    line-height: 1.7;
}

.institutional-about .sec-1-about__media {
    overflow: hidden;
    background: var(--about-surface);
}

.institutional-about .sec-1-about__media img {
    display: block;
    width: 100%;
    height: auto;
}

.institutional-about .sec-1-about__purpose {
    margin-top: 0;
    border-right: 1px solid var(--about-line);
    border-bottom: 1px solid var(--about-line);
    border-left: 1px solid var(--about-line);
}

.institutional-about .sec-1-about__purpose-item {
    min-height: 330px;
    padding: 42px 38px;
    border-right: 1px solid var(--about-line);
}

.institutional-about .sec-1-about__purpose-item:last-child {
    border-right: 0;
}

.institutional-about .sec-1-about__purpose-index {
    color: var(--e360-theme-color);
    font-size: 11px;
    font-weight: 800;
    letter-spacing: 1px;
    text-transform: uppercase;
}

.institutional-about .sec-1-about__purpose-title {
    margin-bottom: 20px;
    color: var(--about-ink);
    font-size: 26px;
    font-weight: 600;
    line-height: 1.18;
    letter-spacing: -0.8px;
}

.institutional-about .sec-1-about__purpose-item > p:last-child {
    color: var(--about-muted);
    font-size: 15px;
    line-height: 1.7;
}

.institutional-about .sec-1-about__anchor-nav {
    display: flex;
    flex-wrap: wrap;
    gap: 14px 32px;
    padding: 30px 0 68px;
}

.institutional-about .sec-1-about__anchor-nav a {
    position: relative;
    padding-right: 22px;
    color: var(--about-ink);
    font-size: 14px;
    font-weight: 700;
}

.institutional-about .sec-1-about__anchor-nav a:hover,
.institutional-about .sec-1-about__anchor-nav a:focus-visible {
    color: var(--e360-theme-color);
}

.institutional-about .sec-2-about {
    padding: 118px 0;
    background: var(--about-surface);
}

.institutional-about .sec-2-about__title,
.institutional-about .sec-3-about__history-title,
.institutional-about .sec-5-about__title,
.institutional-about .sec-5-about__values-title {
    color: var(--about-ink);
    font-size: 58px;
    font-weight: 500;
    line-height: 1.02;
    letter-spacing: -3px;
}

.institutional-about .sec-2-about__count {
    color: var(--e360-theme-color);
    font-size: 64px;
    font-weight: 600;
    line-height: 0.9;
    letter-spacing: -3px;
}

.institutional-about .sec-2-about__count-label {
    max-width: 210px;
    margin-top: 10px;
    margin-left: auto;
    color: var(--about-muted);
    font-size: 12px;
    line-height: 1.45;
    text-transform: uppercase;
}

.institutional-about .about-btn {
    min-height: 50px;
    padding: 13px 22px;
    border-radius: 0;
    font-size: 13px;
    font-weight: 800;
}

.institutional-about .about-btn--outline {
    border: 1px solid #bfc3cb;
    color: var(--about-ink);
    background: transparent;
}

.institutional-about .about-btn--outline:hover,
.institutional-about .about-btn--outline:focus-visible {
    border-color: var(--about-ink);
    color: #ffffff;
    background: var(--about-ink);
}

.institutional-about .sec-3-about {
    padding: 120px 0;
    background: #ffffff;
}

.institutional-about .sec-3-about__method {
    background: var(--e360-theme-color);
}

.institutional-about .sec-3-about__method-copy {
    display: flex;
    flex-direction: column;
    justify-content: center;
    min-height: 610px;
    padding: 64px;
    color: #ffffff;
}

.institutional-about .sec-3-about__method-title {
    max-width: 600px;
    margin: 0;
    color: #ffffff;
    font-size: 54px;
    font-weight: 500;
    line-height: 1.03;
    letter-spacing: -2.6px;
}

.institutional-about .sec-3-about__method-text {
    max-width: 590px;
    margin: 30px 0 0;
    color: rgba(255, 255, 255, 0.82);
    font-size: 17px;
    line-height: 1.7;
}

.institutional-about .sec-3-about__method-tags {
    margin-top: 30px;
}

.institutional-about .sec-3-about__method-tags span {
    padding: 8px 11px;
    border: 1px solid rgba(255, 255, 255, 0.34);
    border-radius: 999px;
    color: #ffffff;
    font-size: 11px;
    letter-spacing: 0.5px;
    text-transform: uppercase;
}

.institutional-about .sec-3-about__method-link {
    align-self: flex-start;
    margin-top: 34px;
    padding-bottom: 4px;
    border-bottom: 1px solid rgba(255, 255, 255, 0.72);
    color: #ffffff;
    font-size: 14px;
    font-weight: 800;
}

.institutional-about .sec-3-about__method-link:hover,
.institutional-about .sec-3-about__method-link:focus-visible {
    border-bottom-color: #ffffff;
    color: #ffffff;
}

.institutional-about .sec-3-about__method-media {
    min-height: 610px;
    overflow: hidden;
    background: #0f2861;
}

.institutional-about .sec-3-about__method-media img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.institutional-about .sec-3-about__history {
    padding-top: 120px;
}

.institutional-about .sec-3-about__history-intro {
    color: var(--about-muted);
    font-size: 16px;
    line-height: 1.7;
}

.institutional-about .card-award-2 {
    display: grid;
    grid-template-columns: 200px minmax(0, 1fr) 270px;
    align-items: center;
    gap: 34px;
    min-height: 180px;
    padding: 22px 0;
    border-top: 1px solid var(--about-line);
}

.institutional-about .card-award-2:last-child {
    border-bottom: 1px solid var(--about-line);
}

.institutional-about .card-award-2-year {
    color: var(--e360-theme-color);
    font-size: 12px;
    font-weight: 800;
    letter-spacing: 0.6px;
    text-transform: uppercase;
}

.institutional-about .card-award-2-title {
    margin: 0 0 9px;
    color: var(--about-ink);
    font-size: 25px;
    font-weight: 600;
    letter-spacing: -0.7px;
}

.institutional-about .card-award-2-desc {
    color: var(--about-muted);
    font-size: 14px;
    line-height: 1.6;
}

.institutional-about .card-award-2-image-wrap {
    overflow: hidden;
    background: var(--about-surface);
}

.institutional-about .card-award-2-image-wrap img {
    display: block;
    width: 100%;
    height: auto;
}

.institutional-about .sec-4-about:not(.sec-4-about--contact) {
    overflow: hidden;
    padding: 54px 0;
    background: #0d0f14;
}

.institutional-about .moving-gallery {
    width: 100%;
}

.institutional-about .wrapper-gallery {
    display: flex;
    align-items: center;
    gap: 16px;
    width: max-content;
    padding: 0 16px;
    animation: about-gallery-flow 34s ease-in-out infinite alternate;
}

.institutional-about .wrapper-gallery li {
    flex: 0 0 auto;
    height: 390px;
    overflow: hidden;
    background: #171a22;
}

.institutional-about .wrapper-gallery img {
    display: block;
    width: auto;
    height: 100%;
}

@keyframes about-gallery-flow {
    from {
        transform: translateX(0);
    }

    to {
        transform: translateX(-35%);
    }
}

.institutional-about .sec-5-about {
    padding: 120px 0;
    background: #ffffff;
}

.institutional-about .cart-stats {
    border-top: 1px solid var(--about-line);
}

.institutional-about .cart-stats__item {
    display: grid;
    grid-template-columns: minmax(230px, 0.8fr) minmax(0, 1fr);
    align-items: end;
    gap: 36px;
    padding: 30px 0;
    border-bottom: 1px solid var(--about-line);
}

.institutional-about .cart-stats__item-number {
    color: var(--e360-theme-color);
    font-size: 58px;
    font-weight: 600;
    line-height: 0.94;
    letter-spacing: -2.5px;
}

.institutional-about .cart-stats__item-label {
    margin: 12px 0 0;
    color: var(--about-ink);
    font-size: 16px;
    font-weight: 700;
}

.institutional-about .cart-stats__item-content {
    color: var(--about-muted);
    font-size: 14px;
    line-height: 1.65;
}

.institutional-about .sec-5-about__values {
    margin-top: 126px;
    padding-top: 110px;
    border-top: 1px solid var(--about-line);
}

.institutional-about .sec-5-about__values-header p:last-child {
    color: var(--about-muted);
    font-size: 16px;
    line-height: 1.7;
}

.institutional-about .about-values-list {
    border-top: 1px solid var(--about-line);
    border-left: 1px solid var(--about-line);
}

.institutional-about .about-value {
    min-height: 255px;
    padding: 34px 30px;
    border-right: 1px solid var(--about-line);
    border-bottom: 1px solid var(--about-line);
    background: #ffffff;
    transition: background-color 180ms ease;
}

.institutional-about .about-value:hover {
    background: var(--about-surface);
}

.institutional-about .about-value__index {
    display: block;
    margin-bottom: 30px;
    color: var(--e360-theme-color);
    font-size: 11px;
    font-weight: 800;
}

.institutional-about .about-value h3 {
    margin: 0 0 12px;
    color: var(--about-ink);
    font-size: 24px;
    font-weight: 600;
}

.institutional-about .about-value p {
    margin: 0;
    color: var(--about-muted);
    font-size: 14px;
    line-height: 1.65;
}

.institutional-about .sec-4-about--contact {
    padding: 104px 0;
    color: #ffffff;
    background: #0d0f14;
}

.institutional-about .sec-4-about__contact-title {
    margin: 0;
    color: #ffffff;
    font-size: 58px;
    font-weight: 500;
    line-height: 1.02;
    letter-spacing: -3px;
}

.institutional-about .sec-4-about__contact-text {
    color: rgba(255, 255, 255, 0.66);
    font-size: 16px;
    line-height: 1.65;
}

.institutional-about .about-btn--light-outline {
    border: 1px solid rgba(255, 255, 255, 0.45);
    color: #ffffff;
    background: transparent;
}

.institutional-about .about-btn--light-outline:hover,
.institutional-about .about-btn--light-outline:focus-visible {
    border-color: #ffffff;
    color: var(--about-ink);
    background: #ffffff;
}

.institutional-about.about-motion-ready .at_fade_anim,
.institutional-about.about-motion-ready .reveal-text,
.institutional-about.about-motion-ready .anim-zoomin-wrap {
    opacity: 0;
    transform: translateY(24px);
}

.institutional-about.about-motion-ready .at_fade_anim.is-visible,
.institutional-about.about-motion-ready .reveal-text.is-visible,
.institutional-about.about-motion-ready .anim-zoomin-wrap.is-visible {
    opacity: 1;
    transform: translateY(0);
    transition: opacity 620ms ease, transform 620ms ease;
}

@media (max-width: 1199.98px) {
    .institutional-about .sec-1-about .section-title {
        font-size: 78px;
        letter-spacing: -4px;
    }

    .institutional-about .sec-2-about__title,
    .institutional-about .sec-3-about__history-title,
    .institutional-about .sec-5-about__title,
    .institutional-about .sec-5-about__values-title,
    .institutional-about .sec-4-about__contact-title {
        font-size: 50px;
    }

    .institutional-about .sec-3-about__method-copy {
        padding: 50px;
    }

    .institutional-about .sec-3-about__method-title {
        font-size: 46px;
    }

    .institutional-about .card-award-2 {
        grid-template-columns: 170px minmax(0, 1fr) 230px;
        gap: 26px;
    }
}

@media (max-width: 991.98px) {
    .institutional-about .sec-1-about,
    .institutional-about .sec-2-about,
    .institutional-about .sec-3-about,
    .institutional-about .sec-5-about {
        padding-top: 86px;
    }

    .institutional-about .sec-2-about,
    .institutional-about .sec-3-about,
    .institutional-about .sec-5-about {
        padding-bottom: 86px;
    }

    .institutional-about .sec-1-about__lead {
        max-width: 650px;
    }

    .institutional-about .sec-1-about__purpose-item {
        min-height: 0;
        border-right: 0;
        border-bottom: 1px solid var(--about-line);
    }

    .institutional-about .sec-1-about__purpose-item:last-child {
        border-bottom: 0;
    }

    .institutional-about .sec-2-about__count-label {
        margin-left: 0;
    }

    .institutional-about .sec-3-about__method-copy,
    .institutional-about .sec-3-about__method-media {
        min-height: 540px;
    }

    .institutional-about .sec-3-about__history,
    .institutional-about .sec-5-about__values {
        padding-top: 86px;
    }

    .institutional-about .sec-5-about__values {
        margin-top: 90px;
    }

    .institutional-about .card-award-2 {
        grid-template-columns: 155px minmax(0, 1fr);
    }

    .institutional-about .card-award-2-image-wrap {
        display: none;
    }

    .institutional-about .sec-4-about--contact {
        padding: 86px 0;
    }
}

@media (max-width: 767.98px) {
    .institutional-about .sec-1-about,
    .institutional-about .sec-2-about,
    .institutional-about .sec-3-about,
    .institutional-about .sec-5-about {
        padding-top: 70px;
    }

    .institutional-about .sec-2-about,
    .institutional-about .sec-3-about,
    .institutional-about .sec-5-about {
        padding-bottom: 70px;
    }

    .institutional-about .sec-1-about .section-title {
        font-size: 52px;
        letter-spacing: -2.6px;
    }

    .institutional-about .sec-1-about__lead {
        font-size: 16px;
    }

    .institutional-about .sec-1-about__heading {
        row-gap: 22px;
    }

    .institutional-about .sec-1-about__media {
        margin-top: 34px;
    }

    .institutional-about .sec-1-about__purpose-item {
        padding: 30px 24px;
    }

    .institutional-about .sec-1-about__purpose-title {
        font-size: 23px;
    }

    .institutional-about .sec-1-about__anchor-nav {
        gap: 12px 22px;
        padding-bottom: 54px;
    }

    .institutional-about .sec-2-about__title,
    .institutional-about .sec-3-about__history-title,
    .institutional-about .sec-5-about__title,
    .institutional-about .sec-5-about__values-title,
    .institutional-about .sec-4-about__contact-title {
        font-size: 39px;
        letter-spacing: -1.8px;
    }

    .institutional-about .sec-2-about__count {
        font-size: 48px;
    }

    .institutional-about .sec-3-about__method-copy {
        min-height: 0;
        padding: 42px 24px;
    }

    .institutional-about .sec-3-about__method-title {
        font-size: 38px;
        letter-spacing: -1.8px;
    }

    .institutional-about .sec-3-about__method-text {
        font-size: 15px;
    }

    .institutional-about .sec-3-about__method-media {
        min-height: 0;
    }

    .institutional-about .sec-3-about__method-media img {
        height: auto;
    }

    .institutional-about .sec-3-about__history,
    .institutional-about .sec-5-about__values {
        padding-top: 70px;
    }

    .institutional-about .sec-5-about__values {
        margin-top: 72px;
    }

    .institutional-about .card-award-2 {
        display: block;
        min-height: 0;
        padding: 28px 0;
    }

    .institutional-about .card-award-2-content {
        margin-top: 14px;
    }

    .institutional-about .card-award-2-title {
        font-size: 22px;
    }

    .institutional-about .wrapper-gallery {
        overflow-x: auto;
        animation: none;
        scrollbar-width: thin;
    }

    .institutional-about .wrapper-gallery li {
        height: 280px;
    }

    .institutional-about .cart-stats__item {
        display: block;
        padding: 26px 0;
    }

    .institutional-about .cart-stats__item-content {
        margin-top: 16px;
    }

    .institutional-about .cart-stats__item-number {
        font-size: 48px;
    }

    .institutional-about .about-value {
        min-height: 0;
        padding: 28px 24px;
    }

    .institutional-about .about-value__index {
        margin-bottom: 20px;
    }

    .institutional-about .sec-4-about--contact {
        padding: 72px 0;
    }
}

@media (max-width: 389.98px) {
    .institutional-about .sec-1-about .section-title {
        font-size: 46px;
    }

    .institutional-about .sec-2-about__title,
    .institutional-about .sec-3-about__history-title,
    .institutional-about .sec-5-about__title,
    .institutional-about .sec-5-about__values-title,
    .institutional-about .sec-4-about__contact-title,
    .institutional-about .sec-3-about__method-title {
        font-size: 34px;
    }

    .institutional-about .about-btn {
        width: 100%;
    }
}

@media (prefers-reduced-motion: reduce) {
    .institutional-about *,
    .institutional-about *::before,
    .institutional-about *::after {
        scroll-behavior: auto;
        transition-duration: 0.01ms;
        animation-duration: 0.01ms;
        animation-iteration-count: 1;
    }

    .institutional-about .wrapper-gallery {
        transform: none;
        animation: none;
    }
}
*/

/*--------------------------------------------------------------
# Page À propos — portage direct de la composition institutionnel about-2
--------------------------------------------------------------*/
.institutional-about {
    --at-ff-body: "DM Sans E360", "DM Sans", sans-serif;
    --at-ff-heading: "DM Sans E360", "DM Sans", sans-serif;
    --about-ink: #101828;
    --about-muted: #667085;
    --about-line: #d0d5dd;
    --about-surface: #f9fafb;
    --contact-ink: var(--about-ink);
    --contact-muted: var(--about-muted);
    color: var(--about-ink);
    background: #ffffff;
    font-family: var(--at-ff-body);
}

.institutional-about #main-content {
    overflow: hidden;
    background: #ffffff;
}

.institutional-about h1,
.institutional-about h2,
.institutional-about h3,
.institutional-about h4,
.institutional-about p,
.institutional-about a,
.institutional-about input,
.institutional-about textarea,
.institutional-about button,
.institutional-about .public-site-footer {
    font-family: var(--at-ff-body);
}

.institutional-about #axes,
.institutional-about #histoire,
.institutional-about #methode,
.institutional-about #mission,
.institutional-about #valeurs,
.institutional-about #former,
.institutional-about #reveler,
.institutional-about #federer {
    scroll-margin-top: 110px;
}

.institutional-about .sec-1-about .section-title {
    max-width: 970px;
    color: var(--about-ink);
}

.institutional-about .sec-1-about .at-social-list {
    margin: 0;
}

.institutional-about .at-social__link {
    color: var(--about-ink);
    font-size: 16px;
    line-height: 1.3;
}

.institutional-about .at-social__link:hover,
.institutional-about .at-social__link:focus-visible {
    color: var(--e360-theme-color);
}

.institutional-about .sec-1-about .anim-zoomin-wrap,
.institutional-about .sec-1-about .anim-zoomin {
    width: 100%;
}

.institutional-about__hero-media > .col-12:first-child > .anim-zoomin-wrap {
    aspect-ratio: 2.06 / 1;
}

.institutional-about .sec-1-about .anim-zoomin img {
    display: block;
    width: 100%;
    height: auto;
}

.institutional-about__hero-media > .col-12:first-child .anim-zoomin,
.institutional-about__hero-media > .col-12:first-child .anim-zoomin img {
    height: 100%;
}

.institutional-about__hero-media > .col-12:first-child .anim-zoomin img {
    object-fit: cover;
    object-position: center 42%;
}
.at-brand-area {
    position: relative;
    overflow: hidden;
    padding: 50px 0;
}
.at-brand-area::before,
.at-brand-area::after {
    position: absolute;
    z-index: 2;
    top: 0;
    bottom: 0;
    width: 90px;
    pointer-events: none;
    content: "";
}
.at-brand-area::before {
    left: 0;
    background: linear-gradient(90deg, #ffffff 0%, rgba(255, 255, 255, 0) 100%);
}
.at-brand-area::after {
    right: 0;
    background: linear-gradient(270deg, #ffffff 0%, rgba(255, 255, 255, 0) 100%);
}

.institutional-about .at-brand-area .carouselTicker__list {
    display: flex;
    align-items: center;
    gap: 24px;
    width: max-content;
    margin: 0;
    padding: 0;
    list-style: none;
}

.institutional-about .at-brand-area .carouselTicker__item {
    flex: 0 0 auto;
}

.institutional-about .at-brand-area .brand-item {
    display: flex;
    min-width: 210px;
    min-height: 54px;
    align-items: center;
    gap: 16px;
    color: var(--about-ink);
}

.institutional-about .at-brand-area .brand-item span {
    color: var(--e360-theme-color);
    font-size: 13px;
}

.institutional-about .at-brand-area .brand-item strong {
    font-size: 20px;
    font-weight: 500;
}

.institutional-about .sec-2-about:where(:not(.process-section)) h2,
.institutional-about .sec-3-about h2 {
    margin: 0;
    color: var(--about-ink);
    font-size: 64px;
    font-weight: 500;
    line-height: 1.2;
    letter-spacing: -3.2px;
}

.institutional-about .sec-2-about .content {
    align-items: flex-start;
}

.institutional-about .sec-2-about .content p {
    max-width: 145px;
    padding-top: 8px;
    color: var(--about-muted);
}

.team-card-2 {
    --team-card-ink: var(--about-ink, var(--at-neutral-900, #101828));
    --team-card-muted: var(--about-muted, var(--at-neutral-500, #667085));
    --team-card-line: var(--about-line, var(--at-neutral-100, #d0d5dd));
}

.team-card-2__image {
    position: relative;
    overflow: hidden;
    border: 1px solid var(--team-card-line);
    border-radius: 16px;
}

.team-card-2__image .anim-zoomin {
    aspect-ratio: 0.805 / 1;
    overflow: hidden;
}

.team-card-2__image img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 500ms ease;
}

.team-card-2:hover .team-card-2__image img {
    transform: scale(1.04);
}

.team-card-2__content {
    display: flex;
    min-height: 96px;
    flex-wrap: wrap;
    align-items: flex-start;
    justify-content: space-between;
    gap: 12px;
    margin-top: 8px;
    padding: 26px 45px;
    border-radius: 16px;
    background: #ffffff;
    box-shadow: 0 10px 30px rgba(16, 24, 40, 0.08);
}

.team-card-2__name {
    flex: 0 0 auto;
    color: var(--team-card-ink);
}

.team-card-2__position {
    max-width: 215px;
    color: var(--team-card-muted);
    font-size: 15px;
    line-height: 1.45;
}
/* La section Histoire conserve la grille de la référence institutionnel about-3. */
.institutional-about .institutional-about__history {
    overflow: clip;
    padding-bottom: 64px;
}

.institutional-about .sec-2-about__grid {
    inset: 0;
    grid-template-columns: repeat(7, minmax(0, 1fr));
    pointer-events: none;
}

.institutional-about .sec-2-about__grid-column {
    border-right: 1px solid var(--about-line);
}

.institutional-about .sec-2-about__grid-column:first-child {
    border-left: 1px solid var(--about-line);
}

.institutional-about .sec-2-about__grid-line {
    border-bottom: 1px solid #ffffff;
}

.institutional-about .sec-2-about__intro {
    padding-bottom: 0;
}

/* Le process décrit l’accompagnement actuel sans répéter le récit historique. */
.institutional-about .institutional-about__process {
    padding-bottom: 120px;
}

.institutional-about .institutional-about__process-intro {
    padding-bottom: 50px;
}

.institutional-about .institutional-about__process-intro h2 {
    max-width: 760px;
    color: var(--about-ink);
    font-size: 48px;
    font-weight: 600;
    line-height: 1.08;
    letter-spacing: -2.4px;
}

.process-scroll {
    --process-card-ink: var(--about-ink, var(--at-neutral-900, #101828));
    --process-card-muted: var(--about-muted, var(--at-neutral-500, #667085));
    --process-card-line: var(--about-line, var(--at-neutral-100, #d0d5dd));
    --process-card-surface: var(--at-neutral-0, #ffffff);
}

.process-scroll .wrapper {
    position: relative;
    height: auto;
}

.process-scroll .item {
    position: relative;
    width: 100%;
}

.process-scroll .item + .item {
    margin-top: var(--process-item-gap, 30px);
}

.process-scroll[data-e360-process-stack="ready"] .item {
    top: 0;
    right: 0;
    left: 0;
    min-height: calc(100vh - 90px);
}

.process-scroll[data-e360-process-stack="ready"] .wrapper {
    height: calc(100vh - 90px);
}

.process-scroll[data-e360-process-stack="ready"] .item:first-child {
    min-height: 100%;
    height: 100%;
}

.process-scroll[data-e360-process-stack="ready"] .item:not(:first-child) {
    position: absolute;
}

.process-scroll .process-card {
    padding: 40px;
    background: var(--process-card-surface);
}

.process-scroll:where(:not(.process-scroll--reference)) .process-card__img-wrap {
    overflow: hidden;
    border-radius: 20px;
    aspect-ratio: 3 / 2;
}

.process-scroll .process-card__img-wrap img {
    display: var(--process-image-display, block);
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.process-scroll .process-card__content {
    padding-left: 0;
}

.process-scroll .process-card__header {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: var(--process-header-gap, 16px);
    margin-bottom: 26px;
    padding-bottom: 16px;
    border-bottom: 1px solid var(--process-card-line);
}

.process-scroll .process-card__title {
    margin-bottom: 0;
    color: var(--process-card-ink);
    font-weight: 600;
    line-height: var(--process-title-leading, 1.15);
    letter-spacing: -1.8px;
}

.process-scroll:where(:not(.process-scroll--reference)) .process-card__title {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    max-width: 620px;
    font-size: 32px;
}

.process-scroll .process-card__index {
    flex: 0 0 auto;
    color: var(--e360-theme-color);
}

.process-scroll .process-card__desc {
    max-width: 75%;
    margin-bottom: 20px;
    color: var(--process-card-muted);
    font-size: var(--process-description-size, 18px);
    line-height: 1.6;
    letter-spacing: -0.01em;
}

.process-scroll .process-card__meta {
    padding-top: 8px;
}

.process-scroll .process-card__meta-text {
    color: var(--process-card-ink);
    font-size: 16px;
    font-weight: 600;
}

.process-scroll:where(:not(.process-scroll--reference)) .process-card__icon {
    display: grid;
    width: 34px;
    height: 34px;
    flex: 0 0 34px;
    place-items: center;
    color: var(--e360-theme-color);
}


.process-section {
    --e360-container-xl: 1140px;
    --e360-container-xxl: 1750px;
    color: var(--at-neutral-900);
    font-size: 16px;
    line-height: 1.2;
}

.process-section__title {
    color: var(--at-neutral-900);
    /* Le titre français est plus long : il garde une ligne dans la colonne de référence. */
    font-size: 36px;
    font-weight: 700;
    line-height: 1.2;
    letter-spacing: -0.05em;
}

@media (min-width: 1200px) {
    .process-section__title { font-size: 42px; }
}

@media (min-width: 1401px) {
    .process-section__title { font-size: 54px; }
}

.process-section__lead {
    color: var(--at-neutral-900);
    line-height: 1.2;
    letter-spacing: -0.05em;
}

.process-scroll--reference {
    --process-card-ink: var(--at-neutral-900);
    --process-card-muted: var(--at-neutral-500);
    --process-card-line: var(--at-neutral-100);
    --process-item-gap: 0px;
    --process-header-gap: 0px;
    --process-title-leading: normal;
    --process-description-size: 16px;
    --process-image-display: inline;
}

.process-scroll--reference .process-card__desc {
    font-weight: 500;
}

.process-scroll--reference .process-card__meta-label {
    display: inline-block;
    margin-left: 4px;
}

/* Le cadre reprend le ratio natif des quatre médias de référence ; les fichiers E360 restent intacts. */
.process-scroll--reference .process-card__img-wrap img {
    height: auto;
    aspect-ratio: 499 / 310;
}

/* Sans moteur d’animation, les cartes restent lisibles dans le flux du document. */
.process-scroll--reference:not([data-e360-card-stack="ready"]) .wrapper > .item {
    position: relative;
    min-height: auto;
    height: auto;
}

/* La galerie conserve les trois colonnes et les vitesses de about-3 sans dupliquer les médias. */
.institutional-about .institutional-about__gallery {
    overflow: hidden;
    padding-top: 96px;
    padding-bottom: 65px;
    color: #ffffff;
    background: var(--about-ink);
}

/* Cette entête éditoriale restaure le raccord documenté avant la galerie. */
.institutional-about .institutional-about__approach {
    padding-bottom: 64px;
}

.institutional-about .institutional-about__gallery .institutional-about__approach .at-btn,
.institutional-about .institutional-about__gallery .institutional-about__approach h2 {
    color: #ffffff;
}

.institutional-about .institutional-about__gallery .institutional-about__approach h2 {
    max-width: 720px;
    font-size: 64px;
    line-height: 1.06;
    letter-spacing: -3.2px;
}

.institutional-about .institutional-about__approach-lead {
    max-width: 560px;
    color: rgba(255, 255, 255, 0.74);
    line-height: 1.55;
}

.institutional-about .institutional-about__gallery .mg-gallery-area {
    overflow: hidden;
}

.institutional-about .institutional-about__gallery .at-gallery-wrapper {
    height: 1110px;
    overflow: hidden;
    border-radius: 30px;
    background: var(--about-ink);
}

.institutional-about .institutional-about__coordinates {
    color: var(--about-ink);
    background: #ffffff;
}

.institutional-about .institutional-about__coordinates .row {
    border-top: 1px solid var(--about-line);
}

.institutional-about .institutional-about__coordinates a,
.institutional-about .institutional-about__address {
    color: var(--about-ink);
}

.institutional-about .institutional-about__coordinates a {
    text-underline-offset: 5px;
}

.institutional-about .institutional-about__coordinates a:hover,
.institutional-about .institutional-about__coordinates a:focus-visible {
    color: var(--e360-theme-color);
}

.institutional-about .institutional-about__coordinates h4 {
    margin-top: 8px;
    font-size: 26px;
    line-height: 1.2;
    letter-spacing: -1px;
    white-space: nowrap;
}

.institutional-about .institutional-about__address {
    display: block;
    max-width: 340px;
    line-height: 1.5;
}

.institutional-about .institutional-about__gallery .at-gallery-item {
    overflow: hidden;
    border-radius: 20px;
}

.institutional-about .institutional-about__gallery .at-gallery-item img {
    display: block;
    width: 100%;
    height: auto;
    border-radius: 20px;
    transition: transform 600ms ease;
}

@media (hover: hover) and (pointer: fine) {
    .institutional-about .institutional-about__gallery .at-gallery-item:hover img {
        transform: scale(1.1);
    }
}

/* Transposition du DOM about-5-chapters, adapté aux six valeurs officielles. */
.about-5-label {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    margin: 0 0 16px;
    color: var(--about-muted, var(--at-neutral-500, #667085));
    font-size: 12px;
    font-weight: 600;
    line-height: 1.4;
    letter-spacing: 1.2px;
    text-transform: uppercase;
}

.about-5-label__num {
    color: var(--e360-theme-color);
}

.about-5-chapters__head {
    max-width: 640px;
    margin-bottom: 48px;
}

.about-5-chapters__title {
    margin: 0;
    color: var(--about-ink, var(--at-neutral-900, #101828));
    font-size: 48px;
    font-weight: 600;
    line-height: 1.1;
    letter-spacing: -1.92px;
}

.about-5-chapters__track {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    border-top: 1px solid var(--about-line, var(--at-neutral-100, #d0d5dd));
}

.about-5-chapter {
    min-height: 210px;
    padding: 28px 24px 28px 0;
    border-right: 1px solid var(--about-line, var(--at-neutral-100, #d0d5dd));
}

.about-5-chapter:nth-child(3n) {
    padding-right: 0;
    border-right: 0;
}

.about-5-chapter:not(:nth-child(3n + 1)) {
    padding-left: 28px;
}

.about-5-chapter:nth-child(n + 4) {
    border-top: 1px solid var(--about-line, var(--at-neutral-100, #d0d5dd));
}

.about-5-chapter__year {
    margin: 0 0 20px;
    color: var(--about-muted, var(--at-neutral-500, #667085));
    font-size: 12px;
    font-weight: 700;
    line-height: 1.4;
    letter-spacing: 1.2px;
}

.about-5-chapter__name {
    margin: 0 0 12px;
    color: var(--about-ink, var(--at-neutral-900, #101828));
    font-size: 20px;
    font-weight: 600;
    line-height: 1.2;
    letter-spacing: -0.6px;
}

.about-5-chapter__text {
    max-width: 28ch;
    margin: 0;
    color: var(--about-muted, var(--at-neutral-500, #667085));
    font-size: 14px;
    font-weight: 500;
    line-height: 1.55;
}

.institutional-about .institutional-about__contact-form {
    border-top: 1px solid var(--about-line);
}

.institutional-about .institutional-about__contact-form .sec-4-about-form__field {
    margin-bottom: 26px;
}

@media (max-width: 1199.98px) {
    .institutional-about .sec-2-about:where(:not(.process-section)) h2,
    .institutional-about .sec-3-about h2 { font-size: 56px; }
    .team-card-2__content { padding: 24px 28px; }
    .process-scroll:where(:not(.process-scroll--reference)) .process-card__title { font-size: 24px; }
    .process-scroll .process-card__desc { font-size: var(--process-description-size, 16px); }
    .process-scroll .process-card__img-wrap { min-height: 240px; }
    .institutional-about .institutional-about__gallery .at-gallery-wrapper { height: 630px; }
    .institutional-about .institutional-about__gallery .institutional-about__approach h2 { font-size: 54px; letter-spacing: -2.7px; }
    .institutional-about .institutional-about__process { padding-bottom: 80px; }
    .about-5-chapters__track { grid-template-columns: repeat(2, minmax(0, 1fr)); border-top: 0; }
    .about-5-chapter { padding: 24px 20px 24px 0; border-top: 1px solid var(--about-line, var(--at-neutral-100, #d0d5dd)); border-right: 0; }
    .about-5-chapter:nth-child(odd) { padding-right: 20px; border-right: 1px solid var(--about-line, var(--at-neutral-100, #d0d5dd)); }
    .about-5-chapter:nth-child(even) { padding-right: 0; padding-left: 20px; }
}
@media (max-width: 991.98px) {
    .institutional-about .sec-1-about .at-social-list { padding-bottom: 0 !important; }
    .institutional-about .sec-2-about:where(:not(.process-section)) h2,
    .institutional-about .sec-3-about h2 { font-size: 48px; letter-spacing: -2.4px; }
    .process-scroll .process-card__img-wrap { min-height: 220px; aspect-ratio: 16 / 10; }
}
@media (max-width: 767.98px) {
    .institutional-about .sec-2-about:where(:not(.process-section)) h2,
    .institutional-about .sec-3-about h2,
    .institutional-about .sec-5-about h2 { font-size: 42px; line-height: 1.08; letter-spacing: -2.1px; }
.at-brand-area { padding: 34px 0; }
.at-brand-area::before,
.at-brand-area::after { width: 36px; }
    .institutional-about .at-brand-area .brand-item { min-width: 180px; }
    .team-card-2__content { display: block; min-height: 0; padding: 24px; }
    .team-card-2__position { display: block; max-width: none; margin-top: 12px; }
    .institutional-about .institutional-about__history { padding-bottom: 50px; }
    .institutional-about .sec-2-about__grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }
    .institutional-about .sec-2-about__grid-column:nth-child(n + 5) { display: none; }
    .institutional-about .sec-2-about__intro { padding-bottom: 0; }
    .institutional-about .institutional-about__process-intro { padding-bottom: 36px; }
    .institutional-about .institutional-about__process-intro h2,
    .about-5-chapters__title { font-size: 42px; letter-spacing: -2.1px; }
    .process-scroll .process-card { padding: var(--process-card-mobile-block, 24px) 24px; }
    .process-scroll:where(:not(.process-scroll--reference)) .process-card__title { font-size: 22px; }
    .process-scroll .process-card__desc { max-width: var(--process-description-width, none); font-size: var(--process-description-size, 15px); }
    .process-scroll .process-card__meta { flex-wrap: wrap; gap: 12px; }
    .process-scroll .process-card__img-wrap { min-height: 200px; }
    .process-scroll .process-card__content { padding-top: 0; }
    .institutional-about .institutional-about__gallery { padding-top: 45px; padding-bottom: 45px; }
    .institutional-about .institutional-about__approach { padding-bottom: 45px; }
    .institutional-about .institutional-about__gallery .institutional-about__approach h2 { font-size: 42px; line-height: 1.08; letter-spacing: -2.1px; }
    .institutional-about .institutional-about__approach-lead { font-size: 16px; }
    .institutional-about .institutional-about__gallery .at-gallery-wrapper { height: 430px; border-radius: 20px; }
    .institutional-about .institutional-about__gallery .at-gallery-item { border-radius: 12px; }
    .institutional-about .institutional-about__gallery .at-gallery-item img { border-radius: 12px; }
    .institutional-about .institutional-about__coordinates h4 { font-size: 25px; overflow-wrap: anywhere; }
    .institutional-about .institutional-about__coordinates h3 { padding-top: 14px; }
    .institutional-about .institutional-about__address { max-width: none; }
}
@media (max-width: 389.98px) {
    .institutional-about .sec-2-about:where(:not(.process-section)) h2,
    .institutional-about .sec-3-about h2,
    .institutional-about .sec-5-about h2 { font-size: 37px; }
    .process-scroll:where(:not(.process-scroll--reference)) .process-card__title { font-size: 20px; }
    .process-scroll .process-card__desc { font-size: var(--process-description-size, 14px); }
    .process-scroll .process-card__img-wrap { min-height: 180px; }
    .institutional-about .institutional-about__process-intro h2,
    .about-5-chapters__title { font-size: 37px; letter-spacing: -1.85px; }
    .institutional-about .institutional-about__gallery .institutional-about__approach h2 { font-size: 37px; }
    .institutional-about .institutional-about__coordinates h4 { font-size: 22px; }
}

@media (min-width: 992px) and (max-width: 1199px) {
    .process-scroll--reference .process-card__title { font-size: 24px; }
}

@media (min-width: 768px) and (max-width: 991px) {
    .process-scroll--reference .process-card__img-wrap img { height: 100%; }
}

@media (max-width: 767px) {
    .process-scroll--reference {
        --process-card-mobile-block: 40px;
        --process-description-width: 75%;
        --process-description-size: 15px;
    }
    .process-scroll--reference .process-card__img-wrap { aspect-ratio: auto; }
}

@media (max-width: 574.98px) {
    .process-scroll--reference { --process-description-size: 14px; }
    .process-scroll--reference .process-card__img-wrap { min-height: 180px; }
}

@media (max-width: 575.98px) {
    .institutional-about .institutional-about__process { padding-bottom: 48px; }
    .about-5-chapters__track { grid-template-columns: 1fr; }
    .about-5-chapter,
    .about-5-chapter:nth-child(odd),
    .about-5-chapter:nth-child(even) { min-height: 0; padding-right: 0; padding-left: 0; border-right: 0; }
}

@media (prefers-reduced-motion: reduce) {
    .institutional-about *,
    .institutional-about *::before,
    .institutional-about *::after {
        scroll-behavior: auto;
        transition-duration: 0.01ms;
        animation-duration: 0.01ms;
        animation-iteration-count: 1;
    }

    .institutional-about .anim-zoomin,
    .institutional-about .scroll-move-left,
    .institutional-about .scroll-move-up {
        transform: none;
    }

    .process-scroll .item,
    .process-scroll .item:first-child,
    .process-scroll .item:not(:first-child) {
        position: relative;
        min-height: auto;
        height: auto;
        transform: none;
    }

    .process-scroll .item + .item {
        margin-top: 30px;
    }
}

/* Le hero Contact reprend la typographie de la référence institutionnel sans modifier le reste du CMS. */
.institutional-contact .sec-1-contact .at-btn,
.institutional-contact .sec-1-contact .at-section-title,
.institutional-contact .sec-1-contact .contact-info-item,
.institutional-contact .sec-1-contact .contact-side-note {
    font-family: "DM Sans E360", "DM Sans", sans-serif;
}

.institutional-contact .sec-1-contact .at-section-title {
    font-weight: 600;
}


html {
    scroll-behavior: auto !important;
}

body {
    background-color: var(--e360-color-white);
    color: var(--e360-text-main);
    font-family: var(--e360-font-primary);
    font-size: var(--e360-fs-base);
    line-height: var(--e360-lh-base);
    overflow-x: hidden !important;
}

body.institutional-home {
    font-size: 16px;
    line-height: 1.2;
}

:where(.institutional-home) p {
    margin-bottom: 15px;
    color: var(--at-neutral-500);
    font-family: var(--at-ff-body);
    font-size: 16px;
    font-weight: 500;
    line-height: 1.2;
    letter-spacing: -0.02em;
}

body, div, p, span, a, h1, h2, h3, h4, h5, h6, article, aside, section, header, footer, main, nav, ul, ol, li, th, td, label, button, b, strong, small {
    overflow-wrap: break-word;
    word-break: break-word;
}

img {
    color: transparent;
}

a {
    color: var(--e360-text-main);
    -moz-transition: all .2s ease-in-out 0s;
    -webkit-transition: all .2s ease-in-out 0s;
    transition: all .2s ease-in-out 0s;
    text-decoration: none;
}

a:hover,
a:active,
a:focus {
    outline: none;
    text-decoration: none;
}

.p0 {
    padding: 0 !important;
}

.m0 {
    margin: 0 !important;
}

.m-r-0 {
    margin-right: 0 !important;
}

.m-l-5 {
    margin-left: 5px !important;
}

.m-l-15 {
    margin-left: 15px !important;
}

.m-r-5 {
    margin-right: 5px !important;
}

.m-r-15 {
    margin-right: 15px !important;
}

.m-b-15 {
    margin-bottom: 15px !important;
}

.m-b-20 {
    margin-bottom: 20px !important;
}

.m-b-30 {
    margin-bottom: 30px !important;
}

.width20 {
    width: 20% !important;
}

.width25 {
    width: 25% !important;
}

.width100 {
    width: 100% !important;
}

.display-block {
    display: block !important;
}

.display-inline-block {
    display: inline-block !important;
}

h1, h2, h3, h4, h5, h6 {
    font-family: var(--e360-font-secondary);
}

.section-mid-title .title {
    font-family: var(--e360-font-secondary);
}

.section .section-content .title {
    font-family: var(--e360-font-secondary);
}

.section .section-head .title {
    font-family: var(--e360-font-primary);
}

.post-content .post-summary h2 {
    font-family: var(--e360-font-secondary);
}

.form-input {
    display: block;
    width: 100%;
    border: 1px solid var(--e360-input-border-color);
    outline: none !important;
    color: var(--e360-gray-850);
    font-size: var(--e360-fs-base);
    line-height: var(--e360-lh-base);
    padding: 0.75rem 1rem;
    box-shadow: var(--e360-field-shadow, none) !important;
    border-radius: var(--border-radius);
}

.form-control::placeholder {
    color: var(--e360-placeholder-color);
    opacity: 1;
}

.form-control:-ms-input-placeholder {
    color: var(--e360-placeholder-color);
}

.form-control::-ms-input-placeholder {
    color: var(--e360-placeholder-color);
}

.form-textarea {
    display: block;
    width: 100%;
    border: 1px solid var(--e360-input-border-color);
    outline: none !important;
    color: var(--e360-gray-850);
    font-size: var(--e360-fs-base);
    line-height: var(--e360-lh-base);
    padding: 0.75rem 1rem;
    box-shadow: var(--e360-field-shadow, none) !important;
    border-radius: var(--border-radius);
    height: 120px;
    min-height: 120px;
}

.form-textarea:focus {
    border-color: var(--e360-theme-color);
}

.btn {
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 0.625rem 1.25rem;
    border-radius: var(--border-radius);
    outline: 0;
    box-shadow: none !important;
    transition: all 0.2s ease-in-out;
    font-size: var(--e360-fs-base);
    line-height: var(--e360-lh-base);
    font-weight: 400;
    color: var(--e360-color-white);
}

.btn:hover,
.btn:active,
.btn:focus {
    color: var(--e360-color-white) !important;
}

.btn-custom {
    background-color: var(--e360-theme-color) !important;
    border-color: var(--e360-theme-color) !important;
    color: var(--e360-color-white) !important;
}

.btn-custom:hover, .btn-custom:focus, .btn-custom:active {
    color: var(--e360-color-white) !important;
    background-color: color-mix(in srgb, var(--e360-theme-color), black 10%) !important;
    box-shadow: 0 8px 12px -3px rgba(0, 0, 0, 0.1) !important;
}

.btn-block {
    width: 100% !important;
    padding: 0.938rem 1.375rem;
    border-radius: var(--border-radius);
}

.btn-xs {
    padding: 0.35rem 0.65rem;
    font-size: var(--e360-fs-sm);
    line-height: var(--e360-lh-sm);
}

.btn-sm {
    padding: 0.5rem 0.875rem;
    font-size: var(--e360-fs-md);
    line-height: var(--e360-lh-md);
}

.btn-lg {
    padding: 0.75rem 1.375rem;
}

.btn-link {
    padding: 0;
    margin: 0;
    background-color: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
    outline: none !important;
    text-decoration: none;
}

.caret::after {
    display: inline-block;
    margin-left: .255em;
    vertical-align: .255em;
    content: "";
    border-top: .3em solid;
    border-right: .3em solid transparent;
    border-bottom: 0;
    border-left: .3em solid transparent;
}

.caret-right::after {
    display: inline-block;
    margin-left: .255em;
    vertical-align: .255em;
    content: "";
    border-top: .3em solid transparent;
    border-right: 0;
    border-bottom: .3em solid transparent;
    border-left: .3em solid;
}

.img-fluid {
    width: 100%;
    max-width: 100%;
    display: block;
    height: auto;
}

.img-container {
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    margin: auto;
    overflow: hidden;
}

.img-container .img-cover {
    position: relative;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.tbl-container {
    display: table;
    width: 100%;
    max-width: 100%;
}

.tbl-cell {
    display: table-cell;
    vertical-align: top;
    position: relative;
}

.ul-list {
    margin: 0;
    padding: 0;
}

.ul-list li {
    list-style: none;
}

.breadcrumb {
    font-size: var(--e360-fs-sm);
    line-height: var(--e360-lh-sm);
    --bs-breadcrumb-item-padding-x: 5px;
}

/* Le fil partagé reste lisible, y compris pour un titre long et sur mobile. */
.public-page [data-e360-breadcrumb] { overflow-wrap: anywhere; }
.public-page nav.breadcrumb { column-gap: 8px; row-gap: 4px; }

.breadcrumb a {
    color: var(--e360-text-muted);
}

.breadcrumb-item:hover, .breadcrumb-item.active {
    color: var(--e360-gray-800);
}

.font-weight-normal {
    font-weight: normal !important;
}

.font-weight-600 {
    font-weight: 600 !important;
}

.form-label {
    font-weight: 600;
    margin-bottom: 0.5rem;
}

.display-flex {
    display: flex !important;
}

.tooltip {
    font-size: var(--e360-fs-sm);
    line-height: var(--e360-lh-sm);
}

/*--------------------------------------------------------------
# Header
--------------------------------------------------------------*/
.mega-menu-wrapper .navbar-nav .nav-link:hover,
.mega-menu-wrapper .navbar-nav .nav-item.dropdown:hover .nav-link {
    color: var(--e360-theme-color);
    border-color: var(--e360-theme-color);
}

.mega-menu-wrapper .megamenu {
    border-radius: 0 0 var(--border-radius) var(--border-radius) !important;
}

.dropdown .dropdown-menu {
    border-radius: var(--e360-border-radius-lg);
}

#mega-menu-wrapper .dropdown .dropdown-menu {
    border-radius: 0 0 var(--border-radius) var(--border-radius) !important;
}

@media (min-width: 992px) {
    #mega-menu-wrapper .navbar {
        align-items: stretch;
    }

    #mega-menu-wrapper .navbar-collapse {
        align-items: stretch;
        height: 100%;
    }

    #mega-menu-wrapper .nav-item {
        display: flex;
        align-items: center;
    }
}

.dropdown .dropdown-menu .dropdown-item {
    display: flex;
    align-items: center;
    padding: .5rem 1rem;
    font-size: var(--e360-fs-base);
    line-height: var(--e360-lh-base);
    border-radius: var(--border-radius-sm);
}

.mega-menu-wrapper .post-meta a, .mega-menu-wrapper .post-meta span {
    font-size: var(--e360-fs-tiny) !important;
}

.nav-dropdown-menu > li:hover > .dropdown-menu {
    display: block;
}

.dropdown-item:focus, .dropdown-item:hover, .dropdown-item:active, .dropdown-item.active {
    color: var(--e360-gray-900) !important;
    background-color: var(--e360-gray-100) !important;
}

.nav-dropdown-menu > li {
    position: relative;
}

.nav-dropdown-menu .dropdown-sub {
    display: none;
    position: absolute;
    left: 100%;
    top: 0;
}

.nav-dropdown-menu .caret-right {
    position: absolute;
    right: 10px;
    top: 10px;
}

.dropdown-languages .dropdown-menu {
    left: -34px !important;
    max-height: 400px;
    overflow-y: auto;
}

.overlay-bg {
    position: fixed;
    width: 100%;
    height: 100%;
    display: none;
    overflow: hidden;
    background-color: rgba(0, 0, 0, .6);
    top: 0;
    left: 0;
    z-index: 1001;
    animation-name: fadeIn;
}

.title-index {
    text-align: center;
    height: 0;
    margin: 0;
    padding: 0;
    line-height: 0;
    color: transparent;
    clip: rect(0, 0, 0, 0);
    clip-path: inset(50%);
}


.badge-category {
    padding: 0 12px;
    font-size: var(--e360-fs-xs);
    line-height: 2em;
    font-weight: normal;
    border-radius: 4px;
    white-space: nowrap;
    word-wrap: normal;
    word-break: normal;
    z-index: 2;
    transition: 0.3s;
    color: #fff;
    text-shadow: 0 1px 1px rgba(0, 0, 0, 0.35);
}

.badge-category:hover {
    filter: brightness(0.92);
}

.col-sidebar {
    padding-left: 10px;
}

.post-meta {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 10px;
    width: 100%;
    margin: 0;
}

.post-meta .meta-item {
    display: flex;
    align-items: center;
    gap: 0.188rem;
}

.post-meta .meta-item a, .post-meta .meta-item span {
    font-size: var(--e360-fs-xs);
    color: var(--e360-text-muted);
    white-space: nowrap;
}

.post-meta .meta-item .e360-icon {
    color: var(--e360-gray-450);
    width: 12px;
    height: 12px;
}

.lazyload,
.lazyloading {
    opacity: 0;
}

.lazyloaded {
    opacity: 1;
    transition: opacity 300ms;
}

img.lazyload:not([src]) {
    visibility: hidden;
}

/*--------------------------------------------------------------
# Index
--------------------------------------------------------------*/
.section {
    display: block;
    margin-bottom: 45px;
}

.section .section-title {
    margin-bottom: 30px;
    position: relative;
    border-bottom: 2px solid var(--e360-gray-150);
}

.section .section-title:after {
    content: '';
    width: 60px;
    height: 2px;
    display: block;
    position: relative;
    bottom: -2px;
}

.section .section-title .title {
    font-size: var(--e360-fs-title-lg);
    line-height: var(--e360-lh-title-lg);
    font-weight: 600;
    margin-top: 0;
    margin-bottom: 10px;
}

.section .section-title .view-all {
    position: relative;
    font-weight: 600;
    font-size: var(--e360-fs-sm);
    line-height: var(--e360-lh-sm);
}

/*--------------------------------------------------------------
# Featured Section
--------------------------------------------------------------*/
.featured-section {
    --fs-bg: var(--e360-gray-25);
    --fs-gap: 4px;
    --fs-height-desktop: 520px;
    --fs-overlay-gradient: linear-gradient(
            to top,
            rgb(0 0 0 / 60%) 0%,
            rgb(0 0 0 / 42%) 18%,
            rgb(0 0 0 / 22%) 36%,
            rgb(0 0 0 / 8%) 55%,
            rgb(0 0 0 / 0%) 75%
    );

    --fs-transition: cubic-bezier(0.25, 0.46, 0.45, 0.94);
    padding: 0 !important;
    color: var(--e360-gray-50);
}

.featured-section .fs-grid-wrapper {
    display: grid;
    gap: var(--fs-gap);
    width: 100%;
    grid-template-columns: 1fr;
    grid-template-areas:"main""sub-top""sub-bottom";
}

@media (min-width: 992px) {
    .featured-section .fs-grid-wrapper {
        height: var(--fs-height-desktop);
        grid-template-columns: 1fr 1fr;
        grid-template-rows: 1fr 1fr;
        grid-template-areas:"main sub-top""main sub-bottom";
    }
}

.featured-section .area-main {
    grid-area: main;
    height: 100%;
    min-height: 0;
}

.featured-section .area-sub-top {
    grid-area: sub-top;
}

.featured-section .area-sub-bottom {
    grid-area: sub-bottom;
}

@media (max-width: 991.98px) {
    .featured-section > .container-xl {
        padding: 0;
    }

    .featured-section .area-main {
        width: 100%;
        aspect-ratio: 3/2;
        min-height: 320px;
    }

    .featured-section .area-sub-top {
        width: 100%;
        aspect-ratio: 2/1;
    }

    .featured-section .area-sub-bottom {
        width: 100%;
        height: auto;
    }
}

@media (max-width: 576px) {
    .featured-section {
        padding: 1rem 0;
    }

    .featured-section .area-main {
        min-height: 280px;
    }
}

.featured-section .fs-grid-item {
    width: 100%;
    height: 100%;
    position: relative;
    overflow: hidden;
}

.featured-section .sub-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: var(--fs-gap);
    width: 100%;
    height: 100%;
}

@media (max-width: 991.98px) {
    .featured-section .sub-grid {
        aspect-ratio: 2/1;
    }
}

.featured-section .fs-card {
    display: block;
    width: 100%;
    height: 100%;
    position: relative;
    overflow: hidden;
    background-color: var(--e360-gray-100);
    isolation: isolate;
}

.featured-section .main-slider .fs-card {
    display: block;
    width: 100%;
    height: 100%;
}

.featured-section .fs-main-link {
    position: absolute;
    inset: 0;
    z-index: 1;
    display: block;
}

.featured-section .fs-img {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.7s var(--fs-transition), filter 0.7s var(--fs-transition);
    display: block;
    filter: brightness(1);
    z-index: 0;
}

.featured-section .fs-card:hover .fs-img {
    transform: scale(1.03);
}

.featured-section .fs-content {
    position: absolute;
    inset: 0;
    background: var(--fs-overlay-gradient);
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    padding: 1.15rem 1.5rem;
    z-index: 5;
    pointer-events: none;
}

.featured-section .area-main .fs-content {
    padding: 1.65rem 2rem;
}

.featured-section .fs-title a,
.featured-section .fs-meta a,
.featured-section .fs-content a {
    pointer-events: auto;
    position: relative;
    z-index: 10;
    transition: color 0.3s ease, opacity 0.3s ease;
    transform: translateZ(0);
}

.featured-section .fs-meta a {
    padding: 0.35rem 0;
}

@media (max-width: 768px) {
    .featured-section .fs-content {
        padding: 1rem;
    }

    .featured-section .area-main .fs-content {
        padding: 1.25rem;
    }
}

.featured-section .fs-title {
    color: var(--e360-gray-50);
    font-weight: 600;
    font-size: var(--e360-fs-title-lg);
    line-height: var(--e360-lh-title-lg);
    margin-top: 0.65rem;
    margin-bottom: 0.2rem;
    text-shadow: 0 2px 12px rgba(0, 0, 0, 0.5);
    transition: color 0.3s ease;
    pointer-events: none;
}

.featured-section .fs-title a {
    color: inherit;
    text-decoration: none;
}

.featured-section .main-slider-wrapper .fs-title {
    font-size: var(--e360-fs-title-3xl);
    line-height: var(--e360-lh-title-3xl);
}

.featured-section .fs-card-small .fs-title {
    font-size: var(--e360-fs-title-md);
    line-height: var(--e360-lh-title-md);
}


.featured-section .fs-title a:hover, .featured-section .fs-title a:active, .featured-section .fs-title a:focus {
    color: #ffffff !important;
}

.featured-section .fs-meta {
    color: var(--e360-gray-200);
    font-size: var(--e360-fs-xs);
    line-height: var(--e360-lh-xs);
    font-weight: 500;
    display: flex;
    align-items: center;
    gap: 0.5rem;
    opacity: 0.95;
    text-shadow: 0 1px 4px rgba(0, 0, 0, 0.6);
    pointer-events: none;
}

.featured-section .fs-meta a,
.featured-section .fs-meta span,
.featured-section .fs-meta i {
    color: var(--e360-gray-250) !important;
    text-decoration: none;
}

.featured-section .fs-meta a:hover, .featured-section .fs-meta a:focus, .featured-section .fs-meta a:active {
    color: #ffffff !important;
}

.featured-section .swiper {
    width: 100%;
    height: 100%;
}

.featured-section .swiper-slide {
    height: 100%;
}

.featured-section .swiper-pagination-bullet {
    background: var(--e360-gray-300);
    opacity: 0.6;
    width: 24px;
    height: 3px;
    border-radius: 2px;
    transition: all 0.3s ease;
    margin: 0 4px !important;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.3);
}

.featured-section .swiper-pagination-bullet-active {
    opacity: 1;
    background: var(--e360-gray-50);
    width: 32px;
}

.featured-section .fs-nav-btn {
    width: 48px;
    height: 48px;
    background: transparent;
    display: flex;
    align-items: center;
    justify-content: center;
    color: white;
    transition: all 0.3s ease;
    cursor: pointer;
    z-index: 10;
    border: none;
    opacity: 0;
    padding: 0;
    outline: none;
}

.featured-section .swiper:hover .fs-nav-btn {
    opacity: 0.9;
}

.featured-section .fs-nav-btn:hover {
    transform: scale(1.15);
    opacity: 1 !important;
}

.featured-section .fs-nav-btn svg {
    width: 36px;
    height: 36px;
    fill: currentColor;
    filter: drop-shadow(0 2px 4px rgba(0, 0, 0, 0.6));
}

@media (max-width: 768px) {
    .featured-section .fs-nav-btn {
        display: none;
    }

    .featured-section .fs-grid-boxes .fs-meta {
        display: none;
    }

    .featured-section .fs-grid-boxes .fs-title {
        margin-bottom: 0;
    }
}

.featured-section .main-slider-wrapper {
    width: 100%;
    height: 100%;
}

[dir="rtl"] .featured-section {
    direction: rtl;
}

[dir="rtl"] .featured-section .fs-content {
    text-align: right;
    align-items: flex-start;
}

[dir="rtl"] .featured-section .fs-badge {
    align-self: flex-start;
}

[dir="rtl"] .featured-section .fs-nav-btn svg {
    transform: rotate(180deg);
}

/*--------------------------------------------------------------
# Post Details Page
--------------------------------------------------------------*/
.post-content .post-title {
    font-size: var(--e360-fs-post-title);
    line-height: var(--e360-lh-post-title);
    font-weight: 600;
    margin-top: 0;
    margin-bottom: 10px;
}

.post-content .post-summary {
    font-size: var(--e360-fs-post-summary);
    line-height: var(--e360-lh-post-summary);
    font-weight: 400;
    margin-bottom: 15px;
    font-family: var(--e360-font-content)
}

.post-details-meta .item-meta {
    display: flex;
    justify-content: center;
    align-items: center;
    color: var(--e360-gray-450);
    font-size: var(--e360-fs-sm);
    line-height: var(--e360-lh-sm);
}

.post-details-meta .item-meta-author a {
    font-weight: 600;
}

.post-details-meta .item-meta-author img {
    width: 32px;
    height: 32px;
    border-radius: 50%;
    border: 1px solid var(--e360-gray-200);
}

.post-details-meta .item-meta-counters {
    font-size: var(--e360-fs-sm);
    color: var(--e360-gray-450);
}

@media (max-width: 768px) {
    .post-details-meta .item-meta {
        font-size: var(--e360-fs-xs);
        line-height: var(--e360-lh-xs);
    }

    .post-details-meta .item-meta-counters {
        font-size: var(--e360-fs-xs);
    }

    .post-details-meta .column-gap-3 {
        column-gap: 0.75rem !important;
    }
}

.post-details-meta .item-meta-counters .e360-icon {
    width: 14px;
    height: 14px;
}

.post-content .img-description {
    display: block;
    font-size: var(--e360-fs-sm);
    line-height: var(--e360-lh-sm);
    font-style: italic;
    color: var(--e360-text-muted);
    margin-top: 5px;
}

.post-video iframe {
    display: block;
    width: 100%;
    max-width: 100%;
}

.video-player {
    display: block;
    position: relative;
    width: 100%;
    max-width: 100%;
    overflow: hidden;
}

.video-player video {
    width: 100%;
    max-width: 100%;
    height: auto;
}

.entry-content {
    clear: both;
    display: block;
    width: 100%;
    position: relative;
    max-width: 100%;
    overflow-wrap: break-word;
    font-family: var(--e360-font-content) !important;
    font-size: var(--e360-fs-content);
    line-height: var(--e360-lh-content);
    color: var(--e360-gray-800);
}

[data-bs-theme="dark"] .entry-content {
    color: var(--e360-gray-300);
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

.entry-content a {
    color: var(--e360-theme-color);
}

.entry-content a:hover {
    text-decoration: underline;
}

.entry-content iframe, .entry-content img, .entry-content object {
    display: block;
    max-width: 100% !important;
}

.entry-content table {
    border-collapse: collapse;
}

.entry-content table th td {
    border: 1px solid var(--e360-text-main);
}

.entry-content th, .entry-content td {
    padding: .5rem .5rem;
}

.post-content .container-bn img {
    display: block !important;
}

.post-content .post-tags .title {
    font-size: var(--e360-fs-base);
    line-height: var(--e360-lh-base);
    font-weight: 600;
    margin: 0;
    margin-bottom: 5px;
    flex-shrink: 0;
}

.post-content .post-tags ul {
    margin: 0;
    padding: 0;
    margin-left: 20px;
    flex-wrap: wrap !important;
}

.post-content .post-tags li {
    list-style: none;
    margin-right: 5px;
    margin-bottom: 5px;
}

.post-content .post-tags ul li a {
    background-color: var(--e360-gray-75);
    border: 1px solid var(--e360-gray-100);
    color: var(--e360-gray-550);
    display: inline-block;
    font-size: var(--e360-fs-sm);
    line-height: var(--e360-lh-sm);
    padding: 7px 12px;
    text-decoration: none;
    border-radius: var(--e360-border-radius);
}

.post-content .post-tags ul li a:hover {
    color: var(--e360-color-white) !important;
}

.post-next-prev {
    display: block;
    width: 100%;
    min-height: 150px;
    margin-bottom: 30px;
    border-top: 1px solid var(--e360-gray-100);
    padding: 30px 0 15px 0
}

.post-next-prev .title {
    font-size: var(--e360-fs-base);
    line-height: var(--e360-lh-base);
    font-weight: 600;
    margin: 0 0 5px;
}

.post-next-prev .title a {
    display: block
}

.post-next-prev .left {
    border-right: 1px solid var(--e360-input-border-color);
    min-height: 60px
}

.post-next-prev .right {
    min-height: 60px
}

.post-next-prev .head-title {
    font-size: var(--e360-fs-sm);
    line-height: var(--e360-lh-sm);
    margin-bottom: 15px;
    text-transform: uppercase;
}

.post-next-prev .left .head-title svg {
    margin-right: 8px
}

.post-next-prev .right .head-title svg {
    margin-left: 8px
}

.gallery-post-item {
    display: block;
    width: 100%;
    margin-bottom: 30px;
}

.title-post-item {
    width: 100%;
    display: block;
    position: relative;
    font-size: var(--e360-fs-title-xl);
    line-height: var(--e360-lh-title-xl);
    font-weight: 600;
    margin-top: 0.5rem;
    margin-bottom: 1rem;
}

.gallery-post-item .post-image {
    position: relative
}

.gallery-post-item .post-image .post-image-inner {
    position: relative;
}

.gallery-post-item .post-item-count {
    width: auto;
    display: inline-block;
    padding: 10px 20px;
    position: absolute;
    top: 0;
    right: 0;
    color: var(--e360-color-white);
    font-weight: 600;
    background-color: rgba(22, 22, 22, .5)
}

.ordered-list-item {
    display: block;
    width: 100%;
    margin-bottom: 3rem;
}

.ordered-list-item .post-image {
    margin-bottom: 1rem;
}

.table-of-contents {
    border: 1px solid var(--e360-gray-150);
    padding: 2rem 2.5rem;
    margin: 15px 0;
    border-radius: 3px;
}

.table-of-contents .title {
    display: flex;
    align-items: center;
    margin-bottom: 20px;
}

.table-of-contents .title h2 {
    font-size: var(--e360-fs-title-md);
    line-height: var(--e360-lh-title-md);
    font-weight: 600;
    margin: 0 !important;
}

.table-of-contents .ul-main {
    margin: 0;
    padding: 0;
    padding-left: 5px;
}

.table-of-contents ul li {
    list-style-position: outside !important;
}

.table-of-contents ul li a {
    display: inline-block;
    font-size: var(--e360-fs-base);
    line-height: var(--e360-lh-base);
    margin-bottom: 0.5rem;
}

.container-toc .ul-toc-content-main {
    padding: 0;
    margin: 0;
}

.container-toc .ul-toc-content .li-toc-content {
    display: block;
    list-style: none !important;
}

.container-toc .ul-toc-content .li-toc-content .entry-content {
    margin-bottom: 1.5rem;
}

.container-toc .ul-toc-content .li-toc-content-main {
    margin-bottom: 2.5rem;
}

.container-toc .ul-toc-content .ul-toc-content-sub {
    padding-left: 2.5rem;
}

[dir="rtl"] .container-toc .ul-toc-content .ul-toc-content-sub {
    padding-left: 0;
    padding-right: 2.5rem;
}

.container-toc [data-title] {
    scroll-margin-top: 90px;
}

.container-toc .ul-toc-content .li-toc-content .title-post-item {
    display: list-item;
}

.container-toc .ul-toc-content-sub .li-toc-content .title-post-item {
    font-size: var(--e360-fs-title-md);
    line-height: var(--e360-lh-title-md);
    margin-bottom: 0.5rem;
}

.container-toc .ul-toc-content-sub-sub .li-toc-content .title-post-item {
    font-size: var(--e360-fs-title-sm);
    line-height: var(--e360-lh-title-sm);
    margin-bottom: 0.5rem;
}

.ul-toc-content-main li-toc-content .title-post-item::marker {
    font-size: var(--e360-fs-title-xl);
    line-height: var(--e360-lh-title-xl);
    font-weight: 600;
}

.container-toc .title-post-item {
    margin-bottom: 0.625rem;
}

.noselect {
    -webkit-touch-callout: none;
    -webkit-user-select: none;
    -khtml-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none
}

.about-author {
    border-top: 1px solid var(--e360-gray-100);
    padding-top: 30px;
    padding-bottom: 30px;
}

.about-author .img-author {
    width: 100px;
    height: 100px;
    border-radius: var(--border-radius-xl);
    border: 1px solid var(--e360-gray-150);
}

.about-author .username {
    display: block;
    margin-bottom: 5px;
}

.about-author .description {
    color: var(--e360-gray-750);
}

.about-author .social {
    margin-top: 15px;
}

/*--------------------------------------------------------------
# Load more posts
--------------------------------------------------------------*/
.btn-load-more-posts:not(.at-btn) {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    padding: 0.75rem 2rem;
    border-radius: 0.375rem;
    outline: none !important;
}

.btn-load-more-posts.is-loading .btn-icon-svg {
    animation: btn-spin-animation 0.8s linear infinite;
}

@keyframes btn-spin-animation {
    0% {
        transform: rotate(0deg);
    }
    100% {
        transform: rotate(360deg);
    }
}

/*--------------------------------------------------------------
# Section Videos
--------------------------------------------------------------*/
.section-videos {
    --sv-bg-dark: var(--e360-gray-950);
    --sv-surface-dark: var(--e360-gray-900);
    --sv-accent-color: #f43f5e;
    --sv-accent-hover: #e11d48;
    --sv-text-primary: var(--e360-gray-25);
    --sv-text-secondary: var(--e360-gray-450);
    --sv-overlay-gradient: linear-gradient(to top, rgba(9, 9, 11, 0.9) 0%, rgba(9, 9, 11, 0.3) 50%, rgba(9, 9, 11, 0) 100%);
    background-color: var(--sv-bg-dark);
    color: var(--sv-text-primary);
    padding: 60px 0 70px 0;
    margin: 60px 0;
}

[data-bs-theme="dark"] .section-videos {
    --sv-bg-dark: var(--e360-gray-925);
}

.section-videos .section-header {
    display: flex;
    justify-content: space-between;
    align-items: flex-end;
    margin-bottom: 2rem;
    padding-bottom: 1rem;
}

.section-videos .videos-title {
    font-weight: bold;
    margin: 0;
    background: linear-gradient(to right, var(--e360-gray-25), var(--e360-gray-300));
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
}

.section-videos .video-card {
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    position: relative;
    border-radius: 12px;
    overflow: hidden;
    text-decoration: none;
    isolation: isolate;
    background-color: var(--sv-surface-dark);
    width: 100%;
    cursor: pointer;
}

.section-videos .main-post-link {
    position: absolute;
    inset: 0;
    z-index: 5;
    font-size: 0;
}

.section-videos .video-card img {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    z-index: 0;
    transition: transform 0.7s cubic-bezier(0.2, 0.8, 0.2, 1);
}

.section-videos .video-card:hover img {
    transform: scale(1.08);
}

.section-videos .video-card::after {
    content: '';
    position: absolute;
    inset: 0;
    background: var(--sv-overlay-gradient);
    z-index: 1;
    pointer-events: none;
}

.section-videos .card-content {
    position: relative;
    z-index: 10;
    width: 100%;
    padding: 1.5rem;
    pointer-events: none;
}

.section-videos .card-content a {
    pointer-events: auto;
    position: relative;
    z-index: 11;
}

.section-videos .card-content,
.section-videos .card-content h3,
.section-videos .card-content a,
.section-videos .card-content span,
.section-videos .card-content i {
    color: var(--e360-gray-25) !important;
    text-shadow: 0 1px 3px rgba(0, 0, 0, 0.5);
}

.section-videos .category-tag {
    display: inline-flex;
    align-items: center;
    font-size: var(--e360-fs-xs);
    line-height: var(--e360-lh-xs);
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    margin-bottom: 0.75rem;
    position: relative;
    padding-left: 12px;
    text-shadow: none;
    pointer-events: auto;
}

.section-videos .category-tag::before {
    content: '';
    position: absolute;
    left: 0;
    top: 50%;
    transform: translateY(-50%);
    width: 6px;
    height: 6px;
    background-color: currentColor;
    border-radius: 50%;
}

.section-videos .video-title {
    font-weight: 700;
    font-size: var(--e360-fs-title-2xl);
    line-height: var(--e360-lh-title-2xl);
    margin-bottom: 0.5rem;
}

.section-videos .post-meta .meta-item a,
.section-videos .post-meta .meta-item span,
.section-videos .post-meta .meta-item i {
    color: var(--e360-gray-400) !important;
}

.section-videos .post-meta .meta-item a {
    padding: 0.35rem 0;
}

.section-videos .post-meta .meta-item a:hover {
    color: var(--e360-gray-100) !important;
}

.section-videos .icon-svg {
    width: 1em;
    height: 1em;
    fill: none;
    stroke: currentColor;
    stroke-width: 2;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.section-videos .card-vertical {
    height: 540px;
}

.section-videos .card-horizontal {
    height: 258px;
}

.section-videos .card-horizontal .video-title {
    font-size: var(--e360-fs-title-lg);
    line-height: var(--e360-lh-title-lg);
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.section-videos .view-all {
    color: var(--sv-text-secondary);
    text-decoration: none;
    font-size: var(--e360-fs-base);
    line-height: var(--e360-lh-base);
    font-weight: 600;
    display: flex;
    align-items: center;
    gap: 0.5rem;
    transition: color 0.2s;
}

.section-videos .view-all:hover {
    color: var(--e360-gray-25);
}

@media (max-width: 991px) {
    .section-videos .card-vertical {
        height: 400px;
    }

    .section-videos .card-horizontal {
        height: 250px;
    }
}

[dir="rtl"] .section-videos .category-tag {
    padding-left: 0;
    padding-right: 12px;
}

[dir="rtl"] .section-videos .category-tag::before {
    left: auto;
    right: 0;
}

[dir="rtl"] .section-videos .view-all svg {
    transform: rotate(180deg);
}

/*--------------------------------------------------------------
# Widgets
--------------------------------------------------------------*/
.sidebar-widget {
    display: block;
    margin-bottom: 35px;
}

.sidebar-widget .widget-head {
    margin-bottom: 30px;
    position: relative;
    border-bottom: 2px solid var(--e360-gray-200);
}

.sidebar-widget .widget-head:after {
    content: '';
    width: 60px;
    height: 2px;
    display: block;
    position: relative;
    bottom: -2px;
}

.sidebar-widget .widget-head .title {
    font-size: var(--e360-fs-title-lg);
    line-height: var(--e360-lh-title-lg);
    font-weight: 600;
    margin-top: 0;
    margin-bottom: 10px;
}

.sidebar-widget .widget-body iframe,
.sidebar-widget .widget-body img,
.sidebar-widget .widget-body object {
    display: block;
    max-width: 100% !important;
}

.sidebar-widget .tag-list {
    display: flex;
    flex-wrap: wrap;
    width: 100%;
    gap: 8px;
    padding: 0;
    margin: 0;
    padding-bottom: 15px
}

.sidebar-widget .tag-list li {
    list-style: none;
    display: inline-flex;
    align-items: center;
}

.sidebar-widget .tag-list li a {
    background-color: var(--e360-gray-75);
    border: 1px solid var(--e360-gray-100);
    color: var(--e360-gray-550);
    display: inline-block;
    font-size: var(--e360-fs-sm);
    line-height: var(--e360-lh-sm);
    padding: 8px 14px;
    text-decoration: none;
    border-radius: 4px;
}

.sidebar-widget .tag-list li a:hover {
    color: var(--e360-color-white) !important;
}

.sidebar-widget .a-view-results {
    font-weight: 600;
    cursor: pointer
}

.sidebar-widget .total-vote {
    text-align: center;
    font-weight: bold;
    margin-top: 19px;
    margin-bottom: 5px
}

.widget-follow {
    display: flex;
}

.widget-follow .item a {
    display: flex;
    align-items: center;
    font-size:  var(--e360-fs-md);
    color: var(--e360-color-white);
    padding: 0.75rem 1rem;
    margin-bottom: 10px;
    border-radius: 4px;
    gap: 10px;
    text-shadow: 0 1px 1px rgba(0, 0, 0, 0.35);
}

.widget-follow .item a:hover {
    background-color: rgba(0, 0, 0, 0.1);
}

.widget-follow .item :is(.color-Snapchat, .color-snapchat, .color-instagram, .color-facebook, .color-youtube) {
    --e360-social-on-brand: #000000;
}

/*--------------------------------------------------------------
# Post Items
--------------------------------------------------------------*/
.post-item {
    display: block;
    width: 100%;
    position: relative;
    margin-bottom: 45px;
}

.post-item .badge-category {
    position: absolute;
    left: 1rem;
    top: 1rem;
}

.post-item .image {
    width: 100%;
    height: auto;
    display: block;
    position: relative;
    background-color: var(--e360-gray-50);
    --bs-aspect-ratio: 61.9%;
    overflow: hidden;
}

.post-item-no-image .badge-category {
    position: relative;
    left: 0;
    margin-bottom: 15px;
}

.post-item .image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.post-item .title {
    font-size: var(--e360-fs-title-lg);
    line-height: var(--e360-lh-title-lg);
    text-transform: none;
    font-weight: 600;
    margin-top: 10px;
}

.section-related-posts .post-item .title {
    font-size: var(--e360-fs-title-sm);
    line-height: var(--e360-lh-title-sm);
}

.post-item .title a {
    display: block;
}

.post-item .description {
    color: var(--e360-text-muted);
    font-size: var(--e360-fs-md);
    line-height: var(--e360-lh-md);
}

.post-item .post-meta {
    margin-bottom: 10px;
}

.post-item-mid .title {
    font-size: var(--e360-fs-title-sm);
    line-height: var(--e360-lh-title-sm);
}

.post-item-small .title {
    margin-top: 0;
    margin-bottom: 0.375rem;
    font-size: var(--e360-fs-title-xs);
    line-height: var(--e360-lh-title-xs);
    font-weight: 600;
}

.post-item-small .image {
    position: relative;
    width: 128px;
    height: 90px;
    flex-shrink: 0;
    overflow: hidden;
}

.post-item-small .image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.section-cat-block-2 .post-item {
    margin-bottom: 30px;
}

/*--------------------------------------------------------------
# Category Blocks
--------------------------------------------------------------*/
.nav-category-block {
    border: 0 !important;
    padding: 0 !important;
    margin: 0 !important;
}

.nav-category-block .nav-item .nav-link {
    font-weight: 600;
    font-size: var(--e360-fs-sm);
    line-height: var(--e360-lh-sm);
    color: var(--e360-text-main);
    background-color: transparent !important;
    border: 0 !important;
    padding: 2px 5px;
}

.nav-category-block .dropdown .dropdown-menu .dropdown-item {
    font-size: var(--e360-fs-sm);
}

.section .section-title .view-all {
    position: relative;
    font-weight: 600;
    font-size: var(--e360-fs-sm);
    line-height: var(--e360-lh-sm);
}

/*Vertical Block*/
.section-cat-block-1 .col-post-item-vr {
    margin-bottom: 30px;
}

.section-cat-block-1 .post-item-vr {
    position: relative;
    width: 100%;
    height: 100%;
    margin-bottom: 0 !important;
}

.section-cat-block-1 .post-item-vr .image {
    height: 340px;
}

.section-cat-block-1 .post-item-vr .image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.section-cat-block-1 .post-item-vr .caption {
    position: absolute;
    bottom: 0;
    padding: 15px;
    display: block;
    width: 100%;
}

.section-cat-block-1 .post-item-vr .caption .title {
    font-size: var(--e360-fs-title-md);
    line-height: var(--e360-lh-title-md);
    margin-bottom: 5px;
}

.section-cat-block-1 .post-item-vr .caption .title a {
    color: var(--e360-color-white) !important;
}

.section-cat-block-1 .post-item-vr .caption .post-meta a,
.section-cat-block-1 .post-item-vr .caption .post-meta span,
.section-cat-block-1 .post-item-vr .caption .post-meta i {
    color: var(--e360-gray-250) !important;
}

.section-cat-block-1 .post-item-vr .image::after {
    content: "";
    position: absolute;
    inset: 0;
    pointer-events: none;
    background: linear-gradient(
            to bottom,
            rgba(0, 0, 0, 0) 50%,
            rgba(0, 0, 0, 0.55) 70%,
            rgba(0, 0, 0, 0.85) 100%
    );
    opacity: 0.9;
    transition: opacity .3s ease-in;
    will-change: opacity;
}

.section-category .dropdown .dropdown-menu {
    left: -125px !important;
    max-height: 400px;
}

[dir="rtl"] .section-category .dropdown .dropdown-menu {
    left: 0 !important;
}

/*Slider Block*/
.section-cat-slider {
    margin-bottom: 1rem;
}

.section-cat-slider .section-content {
    width: 100%;
    height: 320px;
    overflow: hidden;
}

.category-slider-container .post-item-mid {
    margin-bottom: 0 !important;
}

/*--------------------------------------------------------------
# Section Page
--------------------------------------------------------------*/

.section-page {
    min-height: 600px;
    margin-bottom: 100px;
}

.section-page .page-title {
    font-size: var(--e360-fs-title-3xl);
    line-height: var(--e360-lh-title-3xl);
    font-weight: 600;
    margin-bottom: 1.75rem;
}

.section-page .form-contact {
    border-radius: 2px;
}

.section-page .title-send-message {
    font-size: var(--e360-fs-title-xl);
    line-height: var(--e360-lh-title-xl);
    font-weight: 600;
    margin-bottom: 15px;
}

.section-page .form-contact textarea {
    min-height: 180px;
    resize: vertical;
}

.section-page .contact-icon {
    width: 2.375rem;
    height: 2.375rem;
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--e360-color-white);
    border-radius: var(--e360-border-radius);
    margin-right: 15px;
    background-color: var(--e360-theme-color);
}

.contact-map-container {
    display: block;
    width: 100%;
    margin-top: 30px;
    padding: 0 !important;
}

.contact-map-container iframe {
    display: block;
    width: 100%;
    height: 460px
}

/*--------------------------------------------------------------
# Profile
--------------------------------------------------------------*/
.body-profile-page .mega-menu-wrapper {
    --mn-margin-bottom: 0 !important;
}

.body-profile-page .mobile-header-spacer {
    margin-bottom: 0;
}

.section-profile {
    padding-top: 0 !important;
}

.section-profile .widget-head {
    margin-bottom: 20px;
}

.section-profile .widget-head .title {
    font-size: var(--e360-fs-title-md);
    line-height: var(--e360-lh-title-md);
}

.container-profile {
    padding-top: 60px !important;
}

.profile-header {
    display: block;
    width: 100%;
    height: 160px;
    padding: 0;
    position: relative;
}

.profile-header .profile-cover-image {
    display: block;
    width: 100%;
    height: 100%;
    position: relative;
    background-size: cover;
    background-position: center center;
}

.profile-header .profile-info-container {
    display: block;
    width: 100%;
    position: absolute;
    bottom: 0;
}

.profile-header .profile-last-seen {
    display: flex;
    align-items: center;
    font-size: var(--e360-fs-xs);
    line-height: var(--e360-lh-xs);
}

.profile-header .profile-last-seen svg {
    margin-right: 8px;
    color: var(--e360-gray-400);
}

.profile-header .profile-last-seen.online svg {
    color: var(--e360-online-color);
}

.profile-details {
    margin-bottom: 60px;
}

.profile-details .description {
    color: var(--e360-gray-600);
}

.profile-details .contact-details {
    color: var(--e360-gray-500);
    font-size: var(--e360-fs-md);
    line-height: var(--e360-lh-md);
}

.profile-details .profile-email {
    padding-left: 15px;
    margin-left: 15px;
    border-left: 1px solid var(--e360-gray-250);
}

.profile-social-links {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 8px;
}

.profile-social-links .link-social {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    width: 46px;
    height: 46px;
    border-radius: 50%;
    background-color: var(--e360-gray-100);
    color: var(--e360-gray-600) !important;
}

.section-profile .list-followers {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
    max-height: 230px;
    overflow-x: hidden;
    overflow-y: auto;
}

.section-profile .img-follower {
    width: 2.375rem;
    height: 2.375rem;
    border: 1px solid var(--e360-gray-150);
    border-radius: 0.375rem;
    overflow: hidden;
}

.section-profile .profile-header.has-image {
    height: 360px;
}

.section-profile .profile-header.has-image .profile-info-container {
    background-color: transparent;
    background-image: linear-gradient(to bottom, transparent, rgba(0, 0, 0, 0.7) 100%);
}

.profile-info .profile-image {
    width: 146px;
    height: 146px;
    position: relative;
    padding: 2px;
    background-color: var(--e360-color-white);
    border-radius: 50%;
    overflow: hidden;
    bottom: -2.5rem;
    border: 1px solid var(--e360-gray-200);
    flex-shrink: 0;
}

.profile-info .profile-image img {
    width: 140px;
    height: 140px;
    border-radius: 50%;
}

.profile-info .profile-username {
    margin-top: 2.5rem;
}

.profile-info .profile-username .username {
    font-size: var(--e360-fs-title-5xl);
    line-height: var(--e360-lh-title-5xl);
    font-weight: 600;
    margin-bottom: 0.25rem;
}

.section-profile .profile-header.has-image .profile-username .username {
    color: var(--e360-color-white);
}

.section-profile .profile-header.has-image .profile-last-seen {
    color: var(--e360-gray-350);
}

.container-profile-follow {
    display: inline-block;
    position: absolute;
    bottom: 1rem;
    right: 1rem;
}

@media (max-width: 768px) {
    .profile-info .profile-image {
        width: 96px;
        height: 96px;
        bottom: -1.5rem;
    }

    .profile-info .profile-image img {
        width: 90px;
        height: 90px;
    }

    .profile-info .profile-username {
        margin-top: 1rem;
    }

    .container-profile-follow {
        right: auto;
        bottom: -2rem;
        left: 4rem;
    }

    .container-profile-follow .btn-follow {
        padding: 0 !important;
        width: 2.375rem;
        height: 2.375rem;
        border-radius: 50%;
    }

}

.modal-header .modal-title {
    font-size: var(--e360-fs-title-2xl);
    line-height: var(--e360-lh-title-2xl);
    position: relative;
    font-weight: 600;
    margin-bottom: 10px;
}

.modal-header .btn-close {
    outline: none !important;
    box-shadow: none !important;
    border: 0 !important;
    background-color: transparent !important;
    position: absolute;
    z-index: 10;
    right: 1.25rem;
    top: 1.25rem;
    font-size: 0.688rem;
}

.modal-body {
    padding: 1rem 2rem;
}

.section-account {
    width: 450px;
    height: auto;
    max-width: 100%;
    background-color: transparent;
    padding: 30px;
    margin-top: 30px;
    margin-bottom: 60px;
}

.section-account .title {
    text-align: center;
    font-size: var(--e360-fs-title-3xl);
    line-height: var(--e360-lh-title-3xl);
    font-weight: 600;
}

.input-account {
    padding: 10px 20px;
    line-height: 24px;
}

.btn-account {
    width: 100%;
    padding: 10px 20px;
    line-height: 24px;
}

/*--------------------------------------------------------------
# Footer
--------------------------------------------------------------*/
#footer {
    background-color: var(--footer-transition-to, var(--e360-footer-bg));
    color: var(--e360-gray-375);
    font-size: var(--e360-fs-base);
    line-height: var(--e360-lh-base);
    /* La respiration est portée par les sections et la transition interne du footer. */
    margin-top: 0;
}

#footer .footer-inner {
    padding: 90px 0;
}

#footer .footer-widget-about {
    padding-right: 30px;
}

.footer-widget .widget-title {
    font-size: var(--e360-fs-title-lg);
    line-height: var(--e360-lh-title-lg);
    font-weight: 700;
    position: relative;
    color: var(--e360-color-white);
    margin-bottom: 30px;
}

.footer-widget .footer-logo {
    display: block;
    width: 100%;
    text-align: left;
    margin-bottom: 10px;
}

.footer-social-links {
    margin-top: 30px;
    display: flex;
    gap: 10px;
    flex-wrap: wrap;
}

.footer-social-links a {
    width: 3rem;
    height: 3rem;
    display: flex;
    justify-content: center;
    align-items: center;
    border-radius: 50%;
    background-color: var(--e360-gray-750);
    color: var(--e360-color-white);
    flex-shrink: 0;
}

.footer-social-links a:hover {
    background-color: var(--e360-theme-color);
    color: var(--e360-color-white) !important;
}

.footer-social-links a svg {
    width: 1.125rem;
    height: 1.125rem;
}

.footer-widget .footer-posts .post-item-small .image {
    background-color: var(--e360-gray-800);
}

.footer-widget .footer-posts .post-item-small .title a {
    color: var(--e360-gray-75);
}

.footer-widget .newsletter .newsletter-inputs {
    position: relative;
    display: flex;
    flex-wrap: wrap;
    align-items: stretch;
    width: 100%;
}

.footer-widget .newsletter .newsletter-inputs input {
    position: relative;
    flex: 1 1 auto;
    width: 1%;
    min-width: 0;
}

.footer-widget .newsletter .newsletter-inputs button {
    border-radius: 0 0.25rem 0.25rem 0;
    color: #fff;
    text-shadow: 0 1px 1px rgba(0, 0, 0, 0.35);
}

[dir="rtl"] .footer-widget .newsletter .newsletter-inputs button {
    border-radius: 0.25rem 0 0 0.25rem;
}

.footer-widget .newsletter .form-input {
    padding: 0.688rem 1.25rem;
    box-shadow: none !important;
    background-color: var(--e360-gray-850);
    color: var(--e360-gray-100);
    border: 1px solid var(--e360-gray-825);
    border-radius: 0.25rem 0 0 0.25rem;
}

.footer-widget .newsletter input[name='url'] {
    display: none !important;
}

.form-contact input[name='message_content'] {
    display: none !important;
}

.footer-copyright {
    border-top: 1px solid var(--e360-gray-800);
    padding: 40px 0;
}

.footer-copyright .copyright {
    color: var(--e360-gray-400);
    font-size: var(--e360-fs-md);
    line-height: var(--e360-lh-md);
}

.footer-copyright .nav-footer ul {
    padding: 0;
    margin: 0;
}

.footer-copyright .nav-footer ul li {
    list-style: none;
    display: inline-block;
    margin-right: 15px;
}

.footer-copyright .nav-footer ul li a {
    color: var(--e360-gray-400);
    font-size: var(--e360-fs-md);
    line-height: var(--e360-lh-md);
}

.form-control.is-invalid, .was-validated .form-control:invalid {
    border-color: var(--e360-error-color) !important;
    background-image: none !important;
    padding-right: 0.75rem !important;
    box-shadow: var(--e360-invalid-shadow, 0 2px 6px rgba(220, 53, 69, 0.12)) !important;
    transition: border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
}

.form-control.is-invalid:focus, .was-validated .form-control:invalid:focus {
    border-color: var(--e360-error-color) !important;
    box-shadow: var(--e360-invalid-shadow, 0 0 0 0.25rem rgba(220, 53, 69, 0.15)) !important;
}

.form-control.is-valid, .was-validated .form-control:valid {
    border-color: var(--e360-input-border-color);
    background-image: none !important;
}

.alert-message, .alert-messages {
    border-radius: 2px;
    padding: 12px 15px;
}

.alert-messages ul {
    padding: 0 !important;
}

.alert-messages li {
    list-style: none;
}

.alert-message svg {
    flex-shrink: 0 !important;
}

.btn-file-upload {
    position: relative;
    font-size: var(--e360-fs-sm);
    line-height: var(--e360-lh-sm);
    padding: 6px 16px !important;
    overflow: hidden !important;
    margin-right: 15px;
    color: var(--e360-color-white) !important;
    cursor: pointer;
    display: block;
    width: 180px;
}

.btn-file-upload:hover {
    color: var(--e360-color-white) !important;
}

.btn-file-upload input {
    position: absolute;
    top: 0;
    right: 0;
    left: 0;
    bottom: 0;
    width: 100%;
    height: 100%;
    z-index: 2;
    filter: alpha(opacity=0);
    -ms-filter: "alpha(opacity=0)";
    opacity: 0;
    background-color: transparent;
    color: transparent;
    cursor: pointer;
}

.container-bn {
    max-width: 100% !important;
    overflow-x: hidden !important;
}

.container-bn-mb {
    display: none;
}

.bn-content {
    display: flex;
    justify-content: center;
    width: 100%;
    max-width: 100%;
    position: relative;
    padding: 0 !important;
}

.bn-content .bn-inner {
    display: block;
    overflow: hidden;
}

.bn-content .bn-inner a {
    display: block;
}

.bn-sidebar-content {
    justify-content: start !important;
}

/* Les liens de navigation éditoriale utilisent le rôle primaire ; les CTA gardent leur contraste. */
.nav-category-block .nav-item.show .nav-link,
.nav-category-block .nav-link.active {
    color: var(--e360-theme-color) !important;
}

.nav-sm-buttons .prev:hover, .nav-sm-buttons .next:hover, .post-next-prev .head-title a {
    color: var(--e360-theme-color) !important;
}

.progress-bar, .section .section-title:after, .post-content .post-tags ul li a:hover, .sidebar-widget .widget-head:after, .sidebar-widget .widget-head-tabs .nav-tabs .active, .sidebar-widget .tag-list li a:hover {
    background-color: var(--e360-theme-color);
}

.form-input:focus, .post-content .post-tags ul li a:hover, .sidebar-widget .tag-list li a:hover {
    border-color: var(--e360-theme-color);
}

.plyr__control--overlaid {
    background: var(--e360-theme-color) !important;
    opacity: .8 !important;
}

.plyr--video .plyr__control.plyr__tab-focus, .plyr--video .plyr__control:hover, .plyr--video .plyr__control[aria-expanded="true"] {
    background: var(--e360-theme-color) !important;
}

.plyr--full-ui input[type="range"] {
    color: var(--e360-theme-color) !important;
}

.nav-sm-buttons .prev:hover, .nav-sm-buttons .next:hover {
    border: 1px solid var(--e360-theme-color) !important;
}

/*--------------------------------------------------------------
# Mobile
--------------------------------------------------------------*/
@media (min-width: 1200px) {
    .container, .container-lg, .container-md, .container-sm, .container-xl {
        max-width: var(--e360-container-xl, 1240px);
    }
}

@media (min-width: 1400px) {
    .container, .container-lg, .container-md, .container-sm, .container-xl, .container-xxl {
        max-width: var(--e360-container-xxl, 1320px);
    }
}

@media (max-width: 1199.98px) {
    .section-cat-block-1 .post-item-vr .image {
        height: 285px;
    }

    .col-sidebar {
        padding: 0 !important;
    }
}

@media (max-width: 991.98px) {
    .section {
        margin-bottom: 30px;
    }

    .sidebar-widget {
        margin-bottom: 15px;
        margin-top: 15px;
    }

    .section .section-title {
        margin-bottom: 20px;
    }

    .profile-header.has-image {
        height: 320px;
    }

    .section-page {
        min-height: 800px;
    }

    .container-bn-ds {
        display: none;
    }

    .container-bn-mb {
        display: block;
    }
}

@media (max-width: 767.98px) {
    .bd-subnavbar {
        position: -webkit-sticky;
        position: sticky;
        top: 0;
    }

    .section-cat-block-1 .col-post-item-vr {
        margin-bottom: 15px;
    }

    .footer-widget {
        margin-top: 30px;
    }

    .footer-widget .widget-title {
        margin-bottom: 1rem;
    }

    .post-details-meta .item-meta svg {
        margin-right: 0;
        position: relative;
    }

    .post-next-prev .left {
        margin-bottom: 15px;
        border: 0 !important;
    }

    .post-next-prev .head-title {
        text-align: center !important;
        margin-bottom: 5px !important;
    }

    .post-next-prev .title {
        text-align: center !important;
    }

    .profile-header {
        height: 100px;
    }

    .profile-header.has-image {
        height: 280px !important;
    }

    .container-profile {
        padding-top: 35px !important;
    }

    .profile-details {
        margin-bottom: 0 !important;
    }

    .profile-details .contact-details {
        display: block !important;
    }

    .profile-details .contact-details .item {
        display: block !important;
        padding-left: 0 !important;
        margin-left: 0 !important;
        border: 0 !important;
        margin-bottom: 5px;
    }

    .profile-list-group {
        margin-bottom: 45px;
    }

    .section-cat-slider .nav-sm-buttons {
        top: -2px !important;
    }

    .table-of-contents {
        padding: 1.5rem 2rem;
    }

    .table-of-contents ul li a {
        line-height: 24px;
    }
}

@media (max-width: 575.98px) {
    .section .section-title .title {
        margin-bottom: 5px;
    }

    .sidebar-widget .widget-head {
        margin-bottom: 20px;
    }

    .sidebar-widget .widget-head .title {
        margin-bottom: 5px;
    }

    .post-item {
        margin-bottom: 30px;
    }

    .latest-posts {
        margin-bottom: 45px;
    }

    .latest-posts .mt-5 {
        margin-top: 30px !important;
    }

    #footer .footer-inner {
        padding: 30px 0;
    }

    .footer-copyright .copyright {
        text-align: center !important;
        margin-bottom: 15px;
    }

    .about-author .img-author {
        width: 60px;
        height: 60px;
    }

    .profile-social-links li {
        margin-right: 2px;
        margin-bottom: 5px;
    }

    .section-page .page-title {
        margin-bottom: 15px;
    }

    .form-contact {
        margin-bottom: 30px;
    }

    .section-page .title-send-message {
        margin-bottom: 10px;
    }

    .section-page .page-content {
        padding-top: 0;
    }

    .pagination li a {
        width: 34px;
        height: 34px;
    }

    .profile-header.has-image {
        height: 240px !important;
    }

    .profile-header .profile-last-seen svg {
        margin-right: 3px;
        width: 8px;
        height: 8px;
    }

    .section-cat-slider .section-content {
        height: 500px;
    }
}

@media (max-width: 485.98px) {
    .section-cat-slider .section-content {
        height: 440px;
    }

    .section-cat-slider {
        margin-bottom: 0 !important;
    }
}

@media (max-width: 427.98px) {
    .section-cat-slider .section-content {
        height: 410px;
    }
}

@media (min-width: 992px) {
    .col-sidebar.sticky-lg-top {
        top: 70px !important;
        z-index: 1020;
    }

    .profile-sidebar.sticky-lg-top {
        top: 70px !important;
    }
}

/*--------------------------------------------------------------
# Dark Mode
--------------------------------------------------------------*/
[data-bs-theme="dark"] body {
    --e360-body-bg: var(--e360-gray-925);
    --e360-body-secondary-bg: var(--e360-gray-900);
    --e360-body-active-bg: var(--e360-gray-850);
    --e360-input-bg: var(--e360-gray-900);
    --e360-border-color: var(--e360-gray-850);
    --e360-input-border-color: var(--e360-gray-850);
    --e360-videos-bg: var(--e360-gray-925);
    --e360-text-main: var(--e360-gray-200);
    --e360-text-main-secondary: var(--e360-gray-350);
    --e360-text-muted: var(--e360-gray-500);
    --e360-text-subtle: var(--e360-gray-550);
    --e360-text-faint: var(--e360-gray-650);

    background-color: var(--e360-body-bg) !important;
    color: var(--e360-text-main) !important;
}

[data-bs-theme="dark"] .dropdown-menu {
    --bs-dropdown-bg: var(--e360-body-secondary-bg);
    --bs-dropdown-color: var(--e360-text-main);
    --bs-dropdown-link-color: var(--bs-body-color);
    --bs-dropdown-link-hover-color: var(--bs-body-color);
    --bs-dropdown-border-color: var(--bs-border-color-translucent);
    --bs-dropdown-border-radius: var(--bs-border-radius);
    --bs-dropdown-border-width: var(--bs-border-width);
    --bs-dropdown-inner-border-radius: calc(var(--bs-border-radius) - var(--bs-border-width));
    --bs-dropdown-divider-bg: var(--bs-border-color-translucent);
    --bs-dropdown-divider-margin-y: 0.5rem;
    --bs-dropdown-box-shadow: var(--bs-box-shadow);
    --bs-dropdown-link-hover-bg: var(--bs-tertiary-bg);
    --bs-dropdown-link-active-color: #fff;
    --bs-dropdown-link-disabled-color: var(--bs-tertiary-color);
    --bs-dropdown-header-color: var(--e360-gray-500);
}

[data-bs-theme="dark"] .dropdown-item:focus,
[data-bs-theme="dark"] .dropdown-item:hover,
[data-bs-theme="dark"] .dropdown-item:active,
[data-bs-theme="dark"] .dropdown-item.active {
    color: var(--e360-text-main) !important;
    background-color: var(--e360-gray-800) !important;
}

[data-bs-theme="dark"] h1,
[data-bs-theme="dark"] h2,
[data-bs-theme="dark"] h3,
[data-bs-theme="dark"] h4,
[data-bs-theme="dark"] h5,
[data-bs-theme="dark"] h6,
[data-bs-theme="dark"] :is(.h1, .h2, .h3, .h4, .h5, .h6),
[data-bs-theme="dark"] h1 a,
[data-bs-theme="dark"] h2 a,
[data-bs-theme="dark"] h3 a,
[data-bs-theme="dark"] h4 a,
[data-bs-theme="dark"] h5 a,
[data-bs-theme="dark"] h6 a {
    color: var(--e360-text-main);
}

[data-bs-theme="dark"] h1 a:hover,
[data-bs-theme="dark"] h2 a:hover,
[data-bs-theme="dark"] h3 a:hover,
[data-bs-theme="dark"] h4 a:hover,
[data-bs-theme="dark"] h5 a:hover,
[data-bs-theme="dark"] h6 a:hover {
    color: var(--e360-color-white);
}

[data-bs-theme="dark"] .text-secondary {
    color: var(--e360-gray-400) !important;
}

[data-bs-theme="dark"] .text-muted {
    color: var(--e360-gray-500) !important;
}

[data-bs-theme="dark"] .topbar {
    --tb-bg: var(--e360-body-bg);
    --tb-text: var(--e360-gray-300);
}

[data-bs-theme="dark"] .mega-menu-wrapper {
    --mn-bg-nav: var(--e360-body-secondary-bg);
    --mn-bg-dropdown: var(--e360-body-secondary-bg);
    --mn-bg-sidebar: var(--e360-body-secondary-bg);
    --mn-bg-hover: var(--e360-body-secondary-bg);
    --mn-bg-card: var(--e360-body-secondary-bg);
    --mn-text-main: var(--e360-gray-50);
    --e360-text-sub: var(--e360-gray-250);
    --e360-text-muted: var(--e360-gray-500);
    --mn-border: var(--e360-border-color);
    --mn-text-sub: var(--e360-gray-300);
}

[data-bs-theme="dark"] .mega-menu-wrapper {
    background-color: var(--e360-body-bg) !important;
    border-bottom-color: var(--e360-border-color);
}

[data-bs-theme="dark"] .mega-menu-wrapper .search-form-control {
    background-color: var(--e360-input-bg);
    border-color: var(--e360-border-color);
}

[data-bs-theme="dark"] .breadcrumb-item:hover,
[data-bs-theme="dark"] .breadcrumb-item.active,
.breadcrumb-item + .breadcrumb-item::before {
    color: var(--e360-gray-600);
}

[data-bs-theme="dark"] .form-input,
[data-bs-theme="dark"] textarea,
[data-bs-theme="dark"] select {
    background-color: var(--e360-input-bg);
    border-color: var(--e360-border-color);
    color: var(--e360-text-main);
}

[data-bs-theme="dark"] .form-input:focus,
[data-bs-theme="dark"] textarea:focus {
    background-color: var(--e360-input-bg);
    border-color: var(--e360-theme-color);
}

[data-bs-theme="dark"] .form-control::placeholder {
    color: var(--e360-gray-500);
}

[data-bs-theme="dark"] .list-group-item {
    background-color: var(--e360-body-bg);
    color: var(--e360-gray-300);
}

[data-bs-theme="dark"] .section .section-title,
[data-bs-theme="dark"] .sidebar-widget .widget-head {
    border-bottom-color: var(--e360-border-color);
}

[data-bs-theme="dark"] .nav-category-block .nav-item .nav-link {
    color: var(--e360-gray-100);
}

[data-bs-theme="dark"] .topbar .dropdown-menu li a {
    color: var(--e360-gray-300) !important;
}

[data-bs-theme="dark"] .topbar .dropdown-menu li a .icon,
[data-bs-theme="dark"] .topbar .dropdown-menu li a .icon svg {
    color: var(--e360-gray-300) !important;
}

[data-bs-theme="dark"] .sidebar-widget .tag-list li a,
[data-bs-theme="dark"] .post-content .post-tags ul li a {
    background-color: var(--e360-body-secondary-bg);
    border-color: var(--e360-body-secondary-bg);
    color: var(--e360-gray-400);
}

[data-bs-theme="dark"] .sidebar-widget .tag-list li a:hover,
[data-bs-theme="dark"] .post-content .post-tags ul li a:hover {
    color: var(--e360-theme-color) !important;
}

[data-bs-theme="dark"] .post-details-meta .item-meta-author img {
    border: 1px solid var(--e360-gray-600);
}

[data-bs-theme="dark"] .post-next-prev,
[data-bs-theme="dark"] .about-author,
[data-bs-theme="dark"] .about-author .img-author {
    border-color: var(--e360-border-color);
}

[data-bs-theme="dark"] .about-author .description {
    color: var(--e360-text-main-secondary);
}

[data-bs-theme="dark"] .profile-social-links .link-social {
    background-color: var(--e360-body-secondary-bg);
    color: var(--e360-text-main-secondary) !important;
}

[data-bs-theme="dark"] .form-switch .form-check-label {
    color: var(--e360-text-main) !important;
}

[data-bs-theme="dark"] .table-of-contents {
    border: 1px solid var(--e360-border-color);
}

[data-bs-theme="dark"] .recipe-container .direction .step-description,
[data-bs-theme="dark"] .profile-details .description {
    color: var(--e360-gray-350);
}

[data-bs-theme="dark"] .profile-details .profile-email {
    border-color: var(--e360-gray-600);
}

#toolbarContainer {
    display: none;
}

/*--------------------------------------------------------------
# Entrée éditoriale du blog
--------------------------------------------------------------*/
.blog-page-heading {
    padding-top: 48px;
    padding-bottom: 28px;
}

.blog-page-heading .page-title {
    margin: 0;
    font-size: var(--e360-fs-title-3xl);
    font-weight: 600;
    line-height: var(--e360-lh-title-3xl);
}

@media (max-width: 575.98px) {
    .blog-page-heading {
        padding-top: 24px;
        padding-bottom: 12px;
    }
}

/*--------------------------------------------------------------
# Shell public institutionnel
--------------------------------------------------------------*/
:root {
    --e360-brand-primary: #1a58e2;
    --bs-primary: var(--e360-theme-color);
    --bs-primary-rgb: var(--e360-theme-color-rgb);
    --bs-link-color: var(--e360-theme-color);
    --bs-link-hover-color: color-mix(in srgb, var(--e360-theme-color), black 15%);
}

html {
    height: 100%;
}

body.public-page {
    min-height: 100%;
    display: flex;
    flex-direction: column;
}

body.public-page > main {
    width: 100%;
    min-width: 0;
    flex: 1 0 auto;
}

.public-shell-header {
    width: 100%;
}

.btn-primary,
.form-check-input:checked {
    background-color: var(--e360-theme-color);
    border-color: var(--e360-theme-color);
}

.btn-primary:hover,
.btn-primary:focus,
.btn-primary:active {
    background-color: color-mix(in srgb, var(--e360-theme-color), black 12%);
    border-color: color-mix(in srgb, var(--e360-theme-color), black 12%);
}


/*--------------------------------------------------------------
# Formulaires transversaux
--------------------------------------------------------------*/
/* Les champs publics partagent la ligne de Contact. Les formations et la newsletter
   du footer ou du popup gardent leur présentation ; les contrôles masqués restent intacts. */
body.public-page :is(
    input:not([type]), input[type="text"], input[type="email"], input[type="search"],
    input[type="tel"], input[type="url"], input[type="password"], input[type="number"],
    input[type="date"], input[type="datetime-local"], input[type="month"], input[type="week"], input[type="time"],
    select, textarea, .select2-container .select2-selection
):not([type="hidden"]):not(:where(
    [hidden], [aria-hidden="true"], .select2-hidden-accessible, .flatpickr-calendar *,
    .select2-search--inline .select2-search__field, .e360-learning-page--formations .select2-search__field,
    [data-e360-training-request] *, .form-newsletter *, #nspForm *
)) {
    --e360-invalid-shadow: 0 1px 0 var(--e360-error-color);
    --e360-field-shadow: none;
    --e360-select-padding: 0 42px 0 0;
    --e360-select-line-height: 24px;
    --e360-select-arrow-height: 57px;
    display: block;
    width: 100%;
    height: auto;
    padding: var(--e360-field-padding, 16px 0);
    border: 0;
    border-bottom: 1px solid currentColor;
    border-radius: 0;
    outline: 0;
    outline-offset: 0;
    box-shadow: none;
    color: var(--contact-form-ink, var(--news-ink, var(--e360-text-main)));
    background-color: transparent;
    font-size: 16px;
    font-weight: 400;
    line-height: 1.5;
    letter-spacing: -0.3px;
    transition: border-color 180ms ease, box-shadow 180ms ease;
}

body.public-page :is(
    input:not([type]), input[type="text"], input[type="email"], input[type="search"],
    input[type="tel"], input[type="url"], input[type="password"], input[type="number"],
    input[type="date"], input[type="datetime-local"], input[type="month"], input[type="week"], input[type="time"],
    select, textarea, .select2-container .select2-selection
):not([type="hidden"]):not(:where(
    [hidden], [aria-hidden="true"], .select2-hidden-accessible, .flatpickr-calendar *,
    .select2-search--inline .select2-search__field, .e360-learning-page--formations .select2-search__field,
    [data-e360-training-request] *, .form-newsletter *, #nspForm *
))::placeholder {
    color: var(--e360-field-placeholder, var(--contact-form-muted, var(--news-muted, var(--e360-placeholder-color))));
    opacity: 1;
}

body.public-page :is(
    input:not([type]), input[type="text"], input[type="email"], input[type="search"],
    input[type="tel"], input[type="url"], input[type="password"], input[type="number"],
    input[type="date"], input[type="datetime-local"], input[type="month"], input[type="week"], input[type="time"],
    select, textarea, .select2-container .select2-selection
):not([type="hidden"]):not(:where(
    [hidden], [aria-hidden="true"], .select2-hidden-accessible, .flatpickr-calendar *,
    .select2-search--inline .select2-search__field, .e360-learning-page--formations .select2-search__field,
    [data-e360-training-request] *, .form-newsletter *, #nspForm *
)):focus,
body.public-page .select2-container:is(.select2-container--focus, .select2-container--open) .select2-selection:not(:where(
    [data-e360-training-request] *, .form-newsletter *, #nspForm *
)) {
    border-bottom-color: var(--e360-field-accent, var(--e360-theme-color));
    --e360-field-shadow: 0 1px 0 var(--e360-field-accent, var(--e360-theme-color));
    outline: 0;
    outline-offset: 0;
    box-shadow: 0 1px 0 var(--e360-field-accent, var(--e360-theme-color));
}

body.public-page :is(
    input:not([type]), input[type="text"], input[type="email"], input[type="search"],
    input[type="tel"], input[type="url"], input[type="password"], input[type="number"],
    input[type="date"], input[type="datetime-local"], input[type="month"], input[type="week"], input[type="time"],
    select, textarea, .select2-container .select2-selection
):not([type="hidden"]):not(:where(
    [hidden], [aria-hidden="true"], .select2-hidden-accessible, .flatpickr-calendar *,
    .select2-search--inline .select2-search__field, .e360-learning-page--formations .select2-search__field,
    [data-e360-training-request] *, .form-newsletter *, #nspForm *
)):is(.is-invalid, [aria-invalid="true"]) {
    border-bottom-color: var(--e360-error-color);
    --e360-field-shadow: 0 1px 0 var(--e360-error-color);
    box-shadow: 0 1px 0 var(--e360-error-color);
}

/* Le focus du formulaire et des contrôles natifs ne dessine pas de cadre extérieur. */
body.public-page :is(form, input, select, textarea):not([hidden]):focus:not(:where(
    [data-e360-training-request], [data-e360-training-request] *, .form-newsletter, .form-newsletter *,
    #nspForm, #nspForm *, .e360-learning-page--formations .select2-search__field
)) {
    outline: 0;
    outline-offset: 0;
    box-shadow: none;
}

/* Les libellés flottants gardent leur espace de lecture au-dessus de la saisie. */
.public-page .form-floating { --e360-field-padding: 24px 0 8px; --e360-field-placeholder: transparent; }
.public-page .form-floating > label { padding-left: 0; padding-right: 0; }

.public-page .select2-container {
    max-width: 100%;
}

.public-page .select2-container .select2-selection {
    min-height: 48px;
    border: 1px solid var(--e360-input-border-color);
    border-radius: var(--e360-border-radius);
    background: var(--e360-color-white);
    color: var(--e360-text-main);
}

.public-page .select2-container .select2-selection--single {
    display: flex;
    align-items: center;
}

.public-page .select2-container .select2-selection--single .select2-selection__rendered {
    width: 100%;
    padding: var(--e360-select-padding, 0 42px 0 16px);
    color: inherit;
    line-height: var(--e360-select-line-height, 46px);
}

.public-page .select2-container .select2-selection--single .select2-selection__arrow {
    top: 0;
    right: 10px;
    height: var(--e360-select-arrow-height, 46px);
}

.public-page .select2-container .select2-selection--multiple {
    padding: 5px 10px;
}

.public-page .select2-container .select2-selection--multiple .select2-selection__choice {
    margin: 3px;
    border: 1px solid var(--e360-gray-200);
    border-radius: var(--e360-border-radius-sm);
    background: var(--e360-gray-75);
}

.public-page .select2-container--focus .select2-selection,
.public-page .select2-container--open .select2-selection {
    border-color: var(--e360-theme-color);
}

.public-page .select2-container .select2-selection[aria-invalid="true"] {
    border-color: var(--e360-error-color);
}

.public-page .select2-dropdown {
    border: 1px solid var(--e360-input-border-color);
    border-radius: var(--e360-border-radius);
    background: var(--e360-color-white);
    box-shadow: var(--e360-card-shadow);
}

.public-page .select2-search--dropdown {
    padding: 10px;
}

.public-page .select2-search--dropdown .select2-search__field {
    min-height: 42px;
    border: 1px solid var(--e360-input-border-color);
    border-radius: var(--e360-border-radius);
    padding: 8px 10px;
}

.public-page .select2-results__option {
    padding: 10px 12px;
}

.public-page .select2-container--default .select2-results__option--highlighted[aria-selected] {
    background: var(--e360-theme-color);
    color: var(--e360-color-white);
}

.public-page .select2-container--disabled .select2-selection {
    background: var(--e360-gray-75);
    color: var(--e360-text-muted);
    cursor: not-allowed;
}

[data-bs-theme="dark"] .public-page .select2-container .select2-selection,
[data-bs-theme="dark"] .public-page .select2-dropdown,
[data-bs-theme="dark"] .public-page .select2-search--dropdown .select2-search__field {
    border-color: var(--e360-input-border-color);
    background: var(--e360-input-bg);
    color: var(--e360-text-main);
}

[data-bs-theme="dark"] .public-page .select2-container .select2-selection__rendered,
[data-bs-theme="dark"] .public-page .select2-results__option {
    color: var(--e360-text-main);
}

[data-bs-theme="dark"] .public-page .select2-container .select2-selection__placeholder {
    color: var(--e360-text-muted);
}

[data-bs-theme="dark"] .public-page .select2-container .select2-selection--multiple .select2-selection__choice,
[data-bs-theme="dark"] .public-page .select2-container--disabled .select2-selection {
    border-color: var(--e360-border-color);
    background: var(--e360-body-secondary-bg);
}

.text-primary,
.link-primary {
    color: var(--e360-theme-color) !important;
}

/*--------------------------------------------------------------
# Page Équipe — composants institutionnel partagés
--------------------------------------------------------------*/
.team2-page {
    --team2-ink: var(--at-neutral-900, #1d1d1d);
    --team2-soft: var(--at-neutral-500, #696969);
    --team2-line: var(--at-neutral-100, #dfdfdf);
    --team2-accent: var(--at-theme-primary, var(--e360-theme-color, #1a58e2));
    color: var(--team2-ink);
}

body.institutional-team {
    overflow-x: clip;
    background: #ffffff;
}

.institutional-team #main-content {
    overflow: hidden;
    background: #ffffff;
}

.team2-page .team2-label {
    margin: 0;
    color: var(--team2-soft);
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 1px;
    text-transform: uppercase;
}

.team2-page .team2-crumb {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    color: var(--team2-soft);
    font-size: 13px;
    font-weight: 500;
}

.team2-page .team2-crumb a {
    color: var(--team2-ink);
    text-decoration: none;
}

.team2-page .team2-crumb a:hover,
.team2-page .team2-crumb a:focus-visible {
    color: var(--team2-accent);
}

.team2-page .team2-hero__top {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    gap: 12px 24px;
    margin-bottom: 48px;
    padding-bottom: 18px;
    border-bottom: 1px solid var(--team2-line);
}

.team2-page .team2-hero__count {
    color: var(--team2-soft);
    font-size: 13px;
    font-weight: 500;
}

.team2-page .team2-hero__count strong {
    margin-right: 4px;
    color: var(--team2-ink);
    font-size: 22px;
    font-variant-numeric: tabular-nums;
    font-weight: 700;
    letter-spacing: -1px;
}

.team2-page .team2-hero__main {
    display: grid;
    grid-template-columns: minmax(0, 1.25fr) minmax(220px, 0.75fr);
    align-items: end;
    gap: 32px 48px;
    margin-bottom: 48px;
}

.team2-page .team2-hero__title {
    max-width: 900px;
    margin: 0;
    color: var(--team2-ink);
    font-size: clamp(44px, 5.7vw, 82px);
    font-weight: 700;
    letter-spacing: -3px;
    line-height: 0.96;
    overflow-wrap: anywhere;
}

.team2-page .team2-hero__aside > p:first-child {
    max-width: 420px;
    color: var(--team2-soft);
    line-height: 1.55;
}

.team2-page .team2-hero__meta {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 16px;
    margin: 0;
    padding: 22px 0 0;
    border-top: 1px solid var(--team2-line);
    list-style: none;
}

.team2-page .team2-hero__visual {
    width: 100%;
    aspect-ratio: 16 / 8;
    max-height: 620px;
    margin-bottom: 24px;
    overflow: hidden;
    border-radius: 16px;
    background: #f1f3f5;
}

.team2-page .team2-hero__visual img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center 44%;
}

.team2-page .team2-hero__meta li {
    display: flex;
    flex-direction: column;
    gap: 6px;
}

.team2-page .team2-hero__meta span {
    color: var(--team2-soft);
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 1px;
    text-transform: uppercase;
}

.team2-page .team2-hero__meta strong {
    color: var(--team2-ink);
    font-size: 15px;
    font-weight: 600;
}

.team-card {
    position: relative;
    display: flex;
    width: 100%;
    flex-direction: column;
}

.team-card-image {
    position: relative;
    width: 100%;
    overflow: hidden;
    aspect-ratio: 4 / 5;
    border-radius: 12px;
    background: #f5f5f5;
}

.team-card-image .anim-zoomin,
.team-card-image img,
.team-card-placeholder {
    display: block;
    width: 100%;
    height: 100%;
}

.team-card-image img {
    object-fit: cover;
    transition: filter 500ms ease, transform 500ms ease;
}

.team-card-placeholder {
    display: flex;
    align-items: center;
    justify-content: center;
    background: linear-gradient(145deg, #f5f6f8, #dfe5ec);
    color: #344054;
}

.team-card-placeholder span {
    font-size: clamp(52px, 7vw, 84px);
    font-weight: 600;
    letter-spacing: -4px;
}

.team-card-icon {
    position: absolute;
    top: 22px;
    right: 20px;
    display: flex;
    width: 44px;
    height: 44px;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    background: #ffffff;
    color: #0f0f0f;
    transition: background-color 250ms ease, color 250ms ease;
}

.team-card-content {
    position: absolute;
    right: 0;
    bottom: 0;
    left: 0;
    overflow: hidden;
    padding: 58px 70px 26px 24px;
    border-radius: 12px;
    background: linear-gradient(180deg, rgba(26, 26, 26, 0) 12%, #1a1a1a 100%);
}

.team-card-name,
.team-card-name a {
    color: #ffffff;
    text-decoration: none;
}

.team-card-name {
    margin: 0;
    font-weight: 600;
    letter-spacing: -1px;
    line-height: 1.1;
    overflow-wrap: anywhere;
}

.team-card-position {
    margin-top: 4px;
    color: #ffffff;
    line-height: 1.4;
    overflow-wrap: anywhere;
}

.team-card-status {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    color: #ffffff;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0.6px;
    line-height: 1.3;
    text-transform: uppercase;
}

.team-card-status span {
    padding: 5px 8px;
    border: 1px solid rgba(255, 255, 255, 0.52);
    border-radius: 999px;
    background: rgba(15, 15, 15, 0.58);
}

.team-card:hover .team-card-image img {
    filter: blur(3px);
    transform: scale(1.03);
}

.team-card:hover .team-card-icon {
    background: #0f0f0f;
    color: #ffffff;
}

.team-card-icon:focus-visible,
.team-card-name a:focus-visible,
.team2-page .team2-crumb a:focus-visible,
.team2-page .team2-cta a:focus-visible {
    outline: 2px solid var(--team2-accent);
    outline-offset: 3px;
}

.team2-page .team-directory-section,
.team2-page .team-directory-groups {
    border-top: 1px solid var(--team2-line);
}

.team2-page .team-directory-section--coordination {
    background: #f8f9fb;
}

.team2-page .team-directory-heading {
    display: grid;
    grid-template-columns: minmax(0, 1.2fr) minmax(260px, 0.8fr);
    gap: 12px 48px;
    align-items: end;
    margin-bottom: 42px;
}

.team2-page .team-directory-heading .team2-label {
    grid-column: 1 / -1;
}

.team2-page .team-directory-title {
    color: var(--team2-ink);
    font-size: clamp(34px, 4.2vw, 58px);
    font-weight: 700;
    letter-spacing: -2px;
    line-height: 1;
    overflow-wrap: anywhere;
}

.team2-page .team-directory-intro,
.team2-page .team-group-heading p {
    margin: 0;
    color: var(--team2-soft);
    font-size: 16px;
    line-height: 1.6;
    overflow-wrap: anywhere;
}

.team2-page .team-directory-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 24px;
}

.team2-page .team-group-list {
    display: grid;
    gap: 80px;
}

.team2-page .team-group {
    scroll-margin-top: 110px;
}

.team2-page .team-group-heading {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(240px, 0.7fr);
    gap: 16px 40px;
    align-items: end;
    margin-bottom: 30px;
    padding-bottom: 20px;
    border-bottom: 1px solid var(--team2-line);
}

.team2-page .team-group-heading h3 {
    margin: 0;
    color: var(--team2-ink);
    font-size: 30px;
    font-weight: 700;
    letter-spacing: -1px;
    line-height: 1.08;
    overflow-wrap: anywhere;
}

.team2-page .team2-cta__panel {
    display: grid;
    grid-template-columns: minmax(0, 1.2fr) auto;
    gap: 28px 40px;
    align-items: end;
    padding: clamp(32px, 5vw, 56px);
    border: 1px solid rgba(255, 255, 255, 0.08);
    border-radius: 16px;
    background: #1d1d1d;
    color: #fefefe;
}

.team2-page .team2-label--light {
    color: rgba(254, 254, 254, 0.68);
}

.team2-page .team2-cta__title {
    max-width: 15ch;
    margin: 0;
    color: #fefefe;
    font-size: clamp(30px, 3.8vw, 48px);
    font-weight: 700;
    letter-spacing: -2px;
    line-height: 1;
}

.team2-page .team2-cta__text {
    max-width: 48ch;
    margin: 0;
    color: rgba(254, 254, 254, 0.72);
    font-size: 15px;
    font-weight: 500;
    line-height: 1.55;
}

.team2-page .team2-cta__actions {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 16px;
}

.team2-page .team2-cta__button {
    min-height: 48px;
    background: #ffffff;
    color: #1d1d1d;
}

.team2-page .team2-cta__button:hover,
.team2-page .team2-cta__button:focus-visible {
    background: var(--team2-accent);
    color: #ffffff;
}

.team2-page .team-preview-notice {
    padding: 14px 0;
    border-bottom: 1px solid #f2cc60;
    background: #fff8df;
    color: #604b10;
    font-size: 14px;
}

.team2-page .team-preview-notice .container {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 8px 18px;
}

.team2-page .team-preview-notice a {
    margin-left: auto;
    color: #604b10;
    font-weight: 600;
    text-underline-offset: 3px;
}

@media only screen and (max-width: 991px) {
    .team2-page .team2-hero__main,
    .team2-page .team-directory-heading,
    .team2-page .team-group-heading,
    .team2-page .team2-cta__panel {
        grid-template-columns: 1fr;
    }

    .team2-page .team2-hero__meta {
        grid-template-columns: 1fr;
    }

    .team2-page .team-directory-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media only screen and (max-width: 767px) {
    .team2-page .team2-hero__top {
        margin-bottom: 32px;
    }

    .team2-page .team2-hero__visual {
        aspect-ratio: 4 / 3;
        border-radius: 12px;
    }

    .team2-page .team-directory-title {
        letter-spacing: -1px;
    }

    .team2-page .team-group-list {
        gap: 64px;
    }
}

@media only screen and (max-width: 575px) {
    .team2-page .team2-hero__title {
        font-size: 42px;
        letter-spacing: -1.8px;
    }

    .team2-page .team-directory-grid {
        grid-template-columns: 1fr;
    }

    .team-card-content {
        padding: 56px 66px 22px 20px;
    }

    .team2-page .team2-cta__panel {
        padding: 28px 22px;
    }

    .team2-page .team-preview-notice a {
        width: 100%;
        margin-left: 0;
    }
}

@media (prefers-reduced-motion: reduce) {
    .team-card-image img,
    .team-card-icon {
        transition-duration: 0s;
    }

    .team-card:hover .team-card-image img {
        filter: none;
        transform: none;
    }
}

/*--------------------------------------------------------------
# Carte institutionnel réutilisable et fiche publique d’un membre
--------------------------------------------------------------*/
.card_case__studies-card {
    display: flex;
    padding: 10px;
    overflow: hidden;
    border: 1px solid var(--at-neutral-100, #dfdfdf);
    border-radius: 16px;
    background: var(--at-neutral-100, #f1f1f1);
    color: inherit;
}

.card_case__studies-card--overlay { flex-direction: column; }

.card_case__studies-avatar {
    position: relative;
    width: 100%;
    aspect-ratio: 4 / 5;
    min-height: 420px;
    overflow: hidden;
    border-radius: 12px;
    background: #eceff3;
}

.card_case__studies-avatar > img,
.card_case__studies-avatar > .anim-zoomin,
.card_case__studies-placeholder {
    display: block;
    width: 100%;
    height: 100%;
}

.card_case__studies-avatar > img { object-fit: cover; }

.card_case__studies-placeholder {
    display: flex;
    align-items: center;
    justify-content: center;
    background: linear-gradient(145deg, #f5f6f8, #e4e8ee);
    color: #344054;
}

.card_case__studies-placeholder span {
    font-size: clamp(56px, 8vw, 96px);
    font-weight: 600;
    letter-spacing: -4px;
}

.card_case__studies-footer {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px 24px;
    padding: 20px 24px;
    border-radius: 12px;
    background: #ffffff;
}

.card_case__studies-footer-title {
    min-width: 0;
    overflow-wrap: anywhere;
    color: #101828;
    font-weight: 600;
    letter-spacing: -1px;
    line-height: 1.1;
}

.card_case__studies-link {
    display: inline-flex;
    min-width: 0;
    align-items: center;
    gap: 8px;
    color: #101828;
    font-size: 12px;
    font-weight: 600;
    line-height: 1.3;
    text-align: right;
    text-transform: uppercase;
}

.card_case__studies-link span { overflow-wrap: anywhere; }
.card_case__studies-link svg { width: 12px; height: 12px; flex: 0 0 12px; }

/* Équipe : panneaux about-5, listes et composition about-4, annuaire Team existant. */
.e360-team-story .e360-team-story__hero { grid-template-columns: minmax(0, 1fr) minmax(0, 1.1fr); min-height: 680px; }
.e360-team-story .e360-team-story__hero--text { grid-template-columns: 1fr; }
.e360-team-story .about-5-hero__panel--ink { justify-content: space-between; gap: 56px; padding: 32px clamp(28px, 4.8vw, 80px) 64px; }
.e360-team-story .about-5-hero__title { max-width: 13ch; font-size: clamp(42px, 4.5vw, 68px); line-height: 1.04; letter-spacing: -2px; }
.e360-team-story .about-5-hero__lead { max-width: 44ch; margin: 30px 0; font-weight: 400; }
.e360-team-story .about-5-hero__kicker { color: #d4d8e0; }
.e360-team-story .e360-team-story__crumb { color: #d4d8e0; font-size: 12px; }
.e360-team-story .e360-team-story__crumb a { color: inherit; }
.e360-team-story .svc5-hero__cta { background: var(--at-theme-primary); color: #fff; display: inline-flex; align-items: center; gap: 24px; border-radius: 999px; padding: 18px 26px; }
.e360-team-story .svc5-hero__cta:hover { background: #fff; color: var(--at-neutral-900); }
.e360-team-story__split { display: grid; grid-template-columns: minmax(0, .9fr) minmax(0, 1fr); gap: 48px 80px; align-items: start; }
.e360-team-story .about-4-beliefs__intro { margin: 0; }
.e360-team-story .about-4-beliefs__title,
.e360-team-story .about-4-space__title,
.e360-team-story .about-5-chapters__title,
.e360-team-story #team-people-title { font-size: clamp(30px, 3.4vw, 48px); line-height: 1.12; letter-spacing: -1.5px; }
.e360-team-story .about-4-beliefs__lead { margin-top: 28px; color: var(--at-neutral-600); }
.e360-team-story .about-4-belief { grid-template-columns: 1fr; padding: 28px 0; }
.e360-team-story .about-4-belief__text,
.e360-team-story__lead { color: var(--at-neutral-600); line-height: 1.65; }
.e360-team-story__field { position: relative; overflow: hidden; aspect-ratio: 16 / 7; border-radius: 12px; margin-top: 64px; }
.e360-team-story__field img { width: 100%; height: 100%; object-fit: cover; }
.e360-team-story .about-5-chapters__head { max-width: 720px; }
.e360-team-story .about-5-chapters__track { grid-template-columns: repeat(5, minmax(0, 1fr)); margin: 0; padding: 0; list-style: none; }
.e360-team-story .about-5-chapter { min-height: 0; padding: 28px 24px; border-top: 0; border-right: 1px solid var(--at-neutral-100); }
.e360-team-story .about-5-chapter:first-child { padding-left: 0; }
.e360-team-story .about-5-chapter:last-child { padding-right: 0; border-right: 0; }
.e360-team-story .about-5-chapter__name { color: var(--at-theme-primary); font-size: 19px; }
.e360-team-story .about-5-chapter__text { max-width: none; color: var(--at-neutral-600); }
.e360-team-story__people { scroll-margin-top: 110px; }
.e360-team-story .team-directory-heading { max-width: 1296px; }
.e360-team-story .team-directory-heading .team-directory-title { max-width: 900px; }
.e360-team-story .team-directory-section,
.e360-team-story .team-directory-groups { padding-top: 40px; padding-bottom: 0; }
.e360-team-story__empty { padding: 28px 0; max-width: 800px; border-top: 1px solid var(--at-neutral-100); color: var(--at-neutral-600); }
.e360-team-story .about-4-space__head { margin-bottom: 48px; align-items: end; }
.e360-team-story .about-4-space__bento { grid-template-columns: 1.1fr 1fr; grid-template-rows: 300px auto; gap: 20px; }
.e360-team-story .about-4-bento { border-radius: 12px; }
.e360-team-story .about-4-bento--a { grid-column: 1; grid-row: 1 / 3; min-height: 520px; }
.e360-team-story .about-4-bento--b { grid-column: 2; grid-row: 1; }
.e360-team-story .about-4-bento--quote { grid-column: 2; grid-row: 2; background: var(--at-neutral-0); padding: 36px; }
.e360-team-story .about-4-bento--quote p { color: var(--at-neutral-900); font-size: clamp(20px, 2vw, 27px); line-height: 1.4; letter-spacing: -.5px; }
.e360-team-story .about-4-space__bento:not(:has(.about-4-bento--a)) { grid-template-columns: 1fr; }
.e360-team-story .about-4-space__bento:not(:has(.about-4-bento--a)) > * { grid-column: 1; }
.e360-team-story .team2-cta__panel { background: var(--at-theme-primary); border-radius: 12px; }
.e360-team-story .team2-label--light,
.e360-team-story .team2-cta__text { color: #fff; }
.e360-team-story .team2-cta__button { display: inline-flex; align-items: center; gap: 20px; }
@media (max-width: 1199px) {
    .e360-team-story__split { gap: 40px; }
    .e360-team-story .about-5-chapter { padding: 24px 16px; }
}
@media (max-width: 991px) {
    .e360-team-story .e360-team-story__hero { grid-template-columns: 1fr; min-height: 0;top: 40px;position: relative; }
    .e360-team-story .about-5-hero__panel--ink { min-height: 0; padding: 24px 36px 48px; gap: 40px; }
    .e360-team-story .about-5-hero__title { max-width: 18ch; font-size: 52px; }
    .e360-team-story .about-5-hero__lead { max-width: 62ch; }
    .e360-team-story .about-5-hero__panel--media { min-height: 0; aspect-ratio: 16 / 10; }
    .e360-team-story__split { grid-template-columns: 1fr; }
    .e360-team-story .about-4-beliefs__intro { max-width: 720px; }
    .e360-team-story .about-5-chapters__track { grid-template-columns: 1fr; }
    .e360-team-story .about-5-chapter { display: grid; grid-template-columns: 160px 1fr; gap: 28px; padding: 24px 0; border-right: 0; border-bottom: 1px solid var(--at-neutral-100); }
    .e360-team-story .about-5-chapter__name { margin: 0; }
    .e360-team-story .about-4-space__bento { grid-template-rows: 220px auto; }
    .e360-team-story .about-4-bento--a { min-height: 480px; }
    .e360-team-story .about-4-bento--quote { padding: 28px; }
}
@media (max-width: 767px) {
    .e360-team-story > .pt-100 { padding-top: 64px; }
    .e360-team-story > .pb-100 { padding-bottom: 64px; }
    .e360-team-story .about-5-hero__panel--ink { padding: 24px 24px 40px; }
    .e360-team-story .about-5-hero__title { font-size: 42px; letter-spacing: -1.5px; }
    .e360-team-story .about-5-hero__lead { margin: 24px 0; }
    .e360-team-story .svc5-hero__cta { justify-content: center; width: 100%; }
    .e360-team-story__field { aspect-ratio: 4 / 3; margin-top: 40px; }
    .e360-team-story .about-5-chapter { grid-template-columns: 1fr; gap: 12px; }
    .e360-team-story .about-4-space__bento { grid-template-columns: 1fr; grid-template-rows: auto; gap: 16px; }
    .e360-team-story .about-4-bento--a,
    .e360-team-story .about-4-bento--b,
    .e360-team-story .about-4-bento--quote { grid-column: 1; grid-row: auto; min-height: 0; }
    .e360-team-story .about-4-bento--a,
    .e360-team-story .about-4-bento--b { aspect-ratio: 3 / 2; }
    .e360-team-story .team2-cta__button { justify-content: center; white-space: normal; width: 100%; }
}
@media (prefers-reduced-motion: reduce) {
    .e360-team-story .scale-up { transform: none; }
    .e360-team-story .about-4-belief,
    .e360-team-story .about-4-belief__name { transition: none; }
}

body.institutional-team-member {
    --team-member-ink: #101828;
    --team-member-muted: #667085;
    --team-member-line: #d0d5dd;
    --team-member-surface: #f9fafb;
    --team-member-accent: var(--e360-theme-color, #1a58e2);
    overflow-x: clip;
    background: #ffffff;
    color: var(--team-member-ink);
    font-family: "DM Sans E360", "DM Sans", sans-serif;
}

.institutional-team-member #main-content { overflow: hidden; background: #ffffff; }

.institutional-team-member h1,
.institutional-team-member h2,
.institutional-team-member h3,
.institutional-team-member p,
.institutional-team-member a {
    font-family: "DM Sans E360", "DM Sans", sans-serif;
}

.institutional-team-member .sec-1-team-details {
    padding-top: 100px;
    padding-bottom: 150px;
    border-top: 1px solid var(--team-member-line);
}

.at-btn.team-member-eyebrow {
    max-width: 100%;
    font-size: 13px;
    font-weight: 600;
    letter-spacing: 0.6px;
}

.at-btn.team-member-eyebrow > span,
.at-btn.team-member-eyebrow .text-1,
.at-btn.team-member-eyebrow .text-2 {
    max-width: 100%;
    white-space: normal;
    overflow-wrap: anywhere;
}

.institutional-team-member .team-member-breadcrumb {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 8px;
    color: var(--team-member-muted);
    font-size: 13px;
    line-height: 1.4;
}

.institutional-team-member .team-member-breadcrumb a { color: var(--team-member-ink); text-decoration: none; }
.institutional-team-member .team-member-breadcrumb a:hover,
.institutional-team-member .team-member-breadcrumb a:focus-visible { color: var(--team-member-accent); }

.institutional-team-member #team-member-title {
    max-width: 760px;
    overflow-wrap: anywhere;
    color: var(--team-member-ink);
    font-size: clamp(44px, 5.5vw, 78px);
    font-weight: 600;
    letter-spacing: -3px;
    line-height: 0.98;
}

.institutional-team-member .team-member-intro,
.institutional-team-member .team-member-richtext { max-width: 760px; }
.institutional-team-member .team-member-richtext > :last-child { margin-bottom: 0; }

.institutional-team-member .team-member-richtext h2,
.institutional-team-member .team-member-richtext h3,
.institutional-team-member .team-member-richtext h4 {
    margin-top: 32px;
    margin-bottom: 14px;
    color: var(--team-member-ink);
    font-size: 22px;
    font-weight: 600;
    letter-spacing: -0.5px;
}

.institutional-team-member .team-member-richtext a {
    color: var(--team-member-accent);
    text-decoration: underline;
    text-underline-offset: 3px;
}

.institutional-team-member .block-content {
    padding-top: 34px;
    border-top: 1px solid var(--team-member-line);
}

.institutional-team-member .team-member-assignments,
.institutional-team-member .team-member-profile-list,
.institutional-team-member .at-social-list { margin: 0; padding: 0; }

.institutional-team-member .team-member-assignments li,
.institutional-team-member .team-member-profile-list li {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    margin-bottom: 14px;
}

.institutional-team-member .team-member-assignments li:last-child,
.institutional-team-member .team-member-profile-list li:last-child { margin-bottom: 0; }

.institutional-team-member .team-member-assignments svg,
.institutional-team-member .team-member-profile-list svg {
    width: 18px;
    height: 18px;
    flex: 0 0 18px;
    margin-top: 4px;
    color: var(--team-member-accent);
}

.institutional-team-member .team-member-assignments p,
.institutional-team-member .team-member-profile-list p {
    display: flex;
    min-width: 0;
    flex-direction: column;
    gap: 2px;
    overflow-wrap: anywhere;
}

.institutional-team-member .at-social__link {
    border: 1px solid var(--team-member-line);
    color: var(--team-member-ink);
    font-size: 14px;
    font-weight: 500;
    line-height: 1.4;
    text-decoration: none;
    transition: border-color 180ms ease, color 180ms ease, transform 180ms ease;
}

.institutional-team-member .at-social__link:hover,
.institutional-team-member .at-social__link:focus-visible {
    border-color: var(--team-member-accent);
    color: var(--team-member-accent);
    transform: translateY(-2px);
}

.institutional-team-member .team-member-contact {
    padding: 34px;
    border: 1px solid var(--team-member-line);
    border-radius: 12px;
    background: var(--team-member-surface);
}

.institutional-team-member .team-member-contact__eyebrow {
    margin-bottom: 12px;
    color: var(--team-member-muted);
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 1px;
    text-transform: uppercase;
}

.institutional-team-member .team-member-contact > p:not(.team-member-contact__eyebrow) {
    margin-bottom: 24px;
    color: var(--team-member-muted);
    font-size: 15px;
    line-height: 1.6;
}

.institutional-team-member .team-member-contact__link {
    display: inline-flex;
    min-height: 48px;
    align-items: center;
    gap: 8px;
    padding: 13px 20px;
    border-radius: 999px;
    background: var(--team-member-ink);
    color: #ffffff;
    font-size: 15px;
    font-weight: 600;
    line-height: 1.2;
    text-decoration: none;
}

.institutional-team-member .team-member-contact__link:hover,
.institutional-team-member .team-member-contact__link:focus-visible { background: var(--team-member-accent); color: #ffffff; }

.institutional-team-member .team-member-preview-notice {
    padding: 14px 0;
    border-bottom: 1px solid #f2cc60;
    background: #fff8df;
    color: #604b10;
    font-size: 14px;
}

.institutional-team-member .team-member-preview-notice .container {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 8px 18px;
}

.institutional-team-member .team-member-preview-notice a {
    margin-left: auto;
    color: #604b10;
    font-weight: 600;
    text-underline-offset: 3px;
}

.institutional-team-member a:focus-visible {
    outline: 2px solid var(--team-member-accent);
    outline-offset: 3px;
}

@media only screen and (min-width: 992px) {
    .team-member-content { padding-top: 70px; }
}

@media only screen and (max-width: 991px) {
    .institutional-team-member .sec-1-team-details { padding-top: 64px; padding-bottom: 96px; }
    .institutional-team-member .card_case__studies-list { max-width: 560px; margin: 0 auto; }
    .institutional-team-member .card_case__studies-avatar { min-height: 0; }
    .institutional-team-member #team-member-title { font-size: clamp(42px, 9vw, 64px); letter-spacing: -2px; }
}
@media only screen and (max-width: 575px) {
    .institutional-team-member .sec-1-team-details { padding-top: 48px; padding-bottom: 72px; }
    .institutional-team-member .team-member-breadcrumb { margin-bottom: 32px; }
.card_case__studies-footer { align-items: flex-start; padding: 18px; flex-direction: column; }
.card_case__studies-link { text-align: left; }
    .institutional-team-member #team-member-title { font-size: 40px; letter-spacing: -1.5px; }
    .institutional-team-member .team-member-contact { padding: 24px 20px; }
    .institutional-team-member .team-member-contact__link { width: 100%; justify-content: center; }
    .institutional-team-member .team-member-preview-notice a { width: 100%; margin-left: 0; }
}

@media (prefers-reduced-motion: reduce) {
    .institutional-team-member *,
    .institutional-team-member *::before,
    .institutional-team-member *::after {
        scroll-behavior: auto;
        transition-duration: 0.01ms;
        animation-duration: 0.01ms;
        animation-iteration-count: 1;
    }

    .institutional-team-member .at-social__link:hover,
    .institutional-team-member .at-social__link:focus-visible { transform: none; }

    .institutional-team-member .at-social__link {
        transition-duration: 0.01ms;
    }

    .institutional-team-member .card_case__studies-avatar {
        animation-duration: 0.01ms;
        animation-iteration-count: 1;
    }
}

/* Compositions institutionnelles : les utilities viennent de la fondation institutionnel. */
.institutional-document {
    background: var(--at-neutral-0);
    font-family: var(--at-ff-body);
}
:where(.institutional-document) p { line-height: 1.6; }
/* Typographie E360 partagée ; aucune classe de taille institutionnel n’est réinterprétée. */
:where(.public-page) :is(h1, h2, h3, h4, h5, h6) {
    font-family: var(--at-ff-heading);
    font-weight: 600;
    line-height: 1.15;
    letter-spacing: -0.035em;
}
.institutional-document [id] { scroll-margin-top: 110px; }
.odometer {
    letter-spacing: 12px!important;
}
.sec-1-services {
    padding-top: 86px;
}
.home-3-section-12 .box-newsletter {
    position: relative;
    border-radius: 42px;
}
.home-3-section-12 .box-newsletter::before {
    content: "";
    position: absolute;
    bottom: -20px;
    left: 50%;
    transform: translateX(-50%);
    z-index: -1;
    width: 90%;
    height: 20%;
    border-radius: 42px;
    border: 1px solid var(--at-neutral-100, #dfdfdf);
    background: var(--at-neutral-0, #fefefe);
}
.scroll-active-item .item .rectangular {
    content: "";
    position: absolute;
    bottom: -12px;
    left: 50%;
    transform: translateX(-50%);
    width: 90%;
    height: 50px;
    background: var(--at-neutral-800);
    border-radius: 16px;
    border: 1px solid var(--at-neutral-700);
    padding: 50px;
    z-index: -2;
    overflow: hidden;
    transition: 0.3s;
}
.scroll-active-item .item .rectangular::after {
    content: "";
    position: absolute;
    bottom: -12px;
    left: 50%;
    transform: translateX(-50%);
    width: 0px;
    height: 0px;
    background: var(--at-theme-primary);
    filter: blur(125px);
    opacity: 0;
    z-index: -1;
    transition: 0.5s;
}
.institutional-document button:hover {
    cursor: pointer;
}
.institutional-document input[type="email"]:focus {
    border-color: var(--at-neutral-900);
}
@media only screen and (min-width: 768px) and (max-width: 991px) {
.institutional-document br {
    display: none;
}
}
@media (max-width: 574.98px) {
.institutional-document br {
    display: none;
}
}
.at-about-svg-wrap {
    position: relative;
    transform: translateY(-100px);
}
.at-about-svg-wrap > svg:nth-child(1) {
    position: absolute;
    left: 0px;
    top: 34px;
}
.at-about-svg-wrap > svg:nth-child(3) {
    position: absolute;
    left: 56px;
    top: 34px;
}
.about-4-kicker {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    margin: 0px 0px 20px;
    font-size: 12px;
    font-weight: 600;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    color: var(--at-neutral-500);
}
.about-4-kicker__num {
    color: var(--at-theme-primary);
}
.about-4-link {
    font-size: 15px;
    font-weight: 600;
    letter-spacing: -0.02em;
    color: var(--at-neutral-900);
    text-decoration: underline;
    text-underline-offset: 4px;
}
.about-4-link:hover {
    color: var(--at-theme-primary);
}
.about-4-hero__grid {
    display: grid;
    grid-template-columns: minmax(160px, 0.32fr) minmax(0px, 1fr);
    gap: 40px 56px;
    align-items: start;
    margin-bottom: 72px;
}
.about-4-hero__aside {
    position: sticky;
    top: 120px;
}
.about-4-hero__meta {
    margin-top: 28px;
    font-size: 13px;
    font-weight: 500;
    color: var(--at-neutral-500);
}
.about-4-hero__eyebrow {
    margin: 0px 0px 16px;
    font-size: 14px;
    font-weight: 600;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    color: var(--at-neutral-500);
}
.about-4-hero__title {
    margin: 0px 0px 24px;
    max-width: 14ch;
    font-family: var(--at-ff-heading);
    font-size: clamp(36px, 5.2vw, 64px);
    font-weight: 600;
    line-height: 1.08;
    letter-spacing: -0.04em;
    color: var(--at-neutral-900);
}
.about-4-hero__lead {
    margin: 0px 0px 32px;
    max-width: 48ch;
    font-size: 17px;
    font-weight: 500;
    line-height: 1.6;
    color: var(--at-neutral-500);
}
.about-4-hero__actions {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 20px 28px;
}
.about-4-hero__mosaic {
    display: grid;
    grid-template-columns: 1.05fr 0.85fr 1.1fr;
    grid-template-rows: auto auto;
    gap: 16px;
    align-items: end;
}
.about-4-hero__shot {
    margin: 0px;
    border-radius: 14px;
    overflow: hidden;
    background: var(--at-neutral-50);
}
.about-4-hero__shot img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.about-4-hero__shot--tall {
    grid-row: 1 / 3;
    min-height: 420px;
    max-height: 560px;
}
.about-4-hero__shot--mid {
    min-height: 260px;
    height: 280px;
}
.about-4-hero__shot--wide {
    position: relative;
    min-height: 220px;
    height: 260px;
}
.about-4-hero__caption {
    position: absolute;
    left: 16px;
    bottom: 14px;
    right: 16px;
    margin: 0px;
    padding: 10px 12px;
    border-radius: 8px;
    background: rgba(13, 13, 13, 0.72);
    color: rgb(254, 254, 254);
    font-size: 12px;
    font-weight: 600;
    letter-spacing: 0.02em;
}
.about-4-index {
    display: flex;
    flex-direction: column;
    gap: 12px;
}
.about-4-index a {
    font-size: 14px;
    font-weight: 600;
    letter-spacing: -0.01em;
    color: var(--at-neutral-700);
    text-decoration: none;
    transition: color 0.2s;
}
.about-4-index a:hover {
    color: var(--at-theme-primary);
}
.about-4-beliefs {
    position: relative;
}
.about-4-beliefs__intro {
    max-width: 640px;
    margin-bottom: 48px;
}
.about-4-beliefs__title {
    margin: 0px 0px 14px;
    font-family: var(--at-ff-heading);
    font-size: clamp(32px, 4vw, 48px);
    font-weight: 600;
    letter-spacing: -0.04em;
    line-height: 1.1;
    color: var(--at-neutral-900);
}
.about-4-beliefs__lead {
    margin: 0px;
    font-size: 16px;
    font-weight: 500;
    line-height: 1.55;
    color: var(--at-neutral-500);
}
.about-4-beliefs__list {
    list-style: none;
    margin: 0px;
    padding: 0px;
    border-top: 1px solid var(--at-neutral-100);
}
.about-4-belief {
    display: grid;
    grid-template-columns: 72px minmax(0px, 1fr);
    gap: 20px 32px;
    padding: 28px 0px;
    border-bottom: 1px solid var(--at-neutral-100);
    cursor: default;
    opacity: 1;
    visibility: visible;
    transition: background 0.25s;
}
.about-4-belief:hover .about-4-belief__name {
    color: var(--at-theme-primary);
}
.about-4-belief__index {
    font-size: 14px;
    font-weight: 600;
    letter-spacing: 0.06em;
    color: var(--at-theme-primary);
    padding-top: 4px;
}
.about-4-belief__name {
    margin: 0px 0px 8px;
    font-size: clamp(20px, 2vw, 26px);
    font-weight: 600;
    letter-spacing: -0.03em;
    color: var(--at-neutral-900);
    transition: color 0.2s;
}
.about-4-belief__text {
    margin: 0px;
    max-width: 56ch;
    font-size: 15px;
    font-weight: 500;
    line-height: 1.6;
    color: var(--at-neutral-500);
}
@media only screen and (max-width: 991px) {
}
.about-4-craft__grid {
    display: grid;
    grid-template-columns: minmax(0px, 0.9fr) minmax(0px, 1.2fr);
    gap: 48px 64px;
    align-items: start;
}
.about-4-craft__title {
    margin: 0px 0px 16px;
    font-family: var(--at-ff-heading);
    font-size: clamp(32px, 4vw, 48px);
    font-weight: 600;
    letter-spacing: -0.04em;
    line-height: 1.1;
    color: var(--at-neutral-900);
    max-width: 12ch;
}
.about-4-craft__lead {
    margin: 0px 0px 24px;
    max-width: 36ch;
    font-size: 16px;
    font-weight: 500;
    line-height: 1.55;
    color: var(--at-neutral-500);
}
.about-4-craft__cols {
    display: grid;
    grid-template-columns: repeat(2, minmax(0px, 1fr));
    gap: 24px 40px;
    padding-top: 8px;
}
.about-4-skills {
    list-style: none;
    margin: 0px;
    padding: 0px;
    display: flex;
    flex-direction: column;
    gap: 16px;
}
.about-4-skills li {
    position: relative;
    padding-left: 22px;
    font-size: 16px;
    font-weight: 500;
    color: var(--at-neutral-900);
    border-bottom: 1px solid var(--at-neutral-100);
    padding-bottom: 16px;
}
.about-4-skills li::before {
    /* Puce décorative ORISA : glyphe Plus de la police existante, sans libellé d'action. */
    content: "\2b";
    font-family: "Font Awesome 6 Pro";
    position: absolute;
    left: 0px;
    top: 0px;
    font-weight: 400;
    color: var(--at-theme-primary);
}
.about-4-space__head {
    margin-bottom: 36px;
}
.about-4-space__title {
    margin: 0px;
    font-family: var(--at-ff-heading);
    font-size: clamp(32px, 4vw, 48px);
    font-weight: 600;
    letter-spacing: -0.04em;
    color: var(--at-neutral-900);
}
.about-4-space__bento {
    display: grid;
    grid-template-columns: 1.3fr 0.9fr 1fr;
    grid-template-rows: 280px 220px;
    gap: 14px;
}
.about-4-bento {
    margin: 0px;
    border-radius: 14px;
    overflow: hidden;
    background: var(--at-neutral-50);
}
.about-4-bento img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.about-4-bento--a {
    grid-row: 1 / 3;
}
.about-4-bento--b {
    grid-area: 1 / 2;
}
.about-4-bento--c {
    grid-area: 1 / 3;
}
.about-4-bento--quote {
    grid-area: 2 / 2;
    display: flex;
    align-items: center;
    padding: 28px 24px;
    background: var(--at-neutral-50);
}
.about-4-bento--quote blockquote {
    margin: 0px;
}
.about-4-bento--quote blockquote p {
    margin: 0px 0px 16px;
    font-size: 16px;
    font-weight: 600;
    line-height: 1.4;
    letter-spacing: -0.02em;
    color: var(--at-neutral-900);
}
.about-4-bento--quote blockquote footer {
    font-size: 13px;
    font-weight: 500;
    color: var(--at-neutral-500);
}
.about-4-bento--d {
    grid-area: 2 / 3;
}
.about-4-cta__panel {
    display: grid;
    grid-template-columns: minmax(0px, 1.4fr) minmax(200px, 0.7fr);
    gap: 32px 48px;
    align-items: center;
    padding: clamp(36px, 5vw, 56px);
    border-radius: 20px;
    background: rgb(29, 29, 29);
    color: rgb(254, 254, 254);
}
.about-4-cta__kicker {
    margin: 0px 0px 14px;
    font-size: 12px;
    font-weight: 600;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    color: rgba(254, 254, 254, 0.55);
}
.about-4-cta__title {
    margin: 0px 0px 16px;
    max-width: 16ch;
    font-family: var(--at-ff-heading);
    font-size: clamp(28px, 3.5vw, 42px);
    font-weight: 600;
    letter-spacing: -0.04em;
    line-height: 1.12;
    color: rgb(254, 254, 254);
}
.about-4-cta__text {
    margin: 0px;
    max-width: 46ch;
    font-size: 15px;
    font-weight: 500;
    line-height: 1.6;
    color: rgba(254, 254, 254, 0.7);
}
.about-4-cta__aside {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 16px;
}
.about-4-cta__btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 16px 26px;
    border-radius: 999px;
    background: var(--at-theme-primary);
    color: rgb(254, 254, 254);
    font-size: 15px;
    font-weight: 600;
    letter-spacing: -0.02em;
    text-decoration: none;
    transition: filter 0.2s, transform 0.2s;
}
/* Le contour du CTA reste lisible sur le panneau sombre partagé. */
.about-4-cta__panel .about-4-cta__btn:focus-visible {
    outline-color: var(--at-neutral-0);
}
.about-4-cta__btn:hover {
    color: rgb(254, 254, 254);
    filter: brightness(1.08);
    transform: translateY(-1px);
}
.about-4-cta__mail {
    font-size: 15px;
    font-weight: 600;
    color: rgb(254, 254, 254);
    text-decoration: underline;
    text-underline-offset: 4px;
}
.about-4-cta__mail:hover {
    color: rgba(254, 254, 254, 0.85);
}
@media only screen and (max-width: 1199px) {
.about-4-space__bento {
    grid-template-rows: 240px 200px;
}
}
@media only screen and (max-width: 991px) {
.about-4-hero__grid {
    grid-template-columns: 1fr;
    margin-bottom: 48px;
}
.about-4-hero__aside {
    position: static;
}
.about-4-hero__title {
    max-width: none;
}
.about-4-hero__mosaic {
    grid-template-columns: 1fr 1fr;
}
.about-4-hero__shot--tall {
    grid-area: auto / 1 / auto / -1;
    max-height: 360px;
    min-height: 280px;
}
.about-4-index {
    flex-flow: wrap;
    gap: 10px 18px;
}
.about-4-craft__grid {
    grid-template-columns: 1fr;
    gap: 36px;
}
.about-4-space__bento {
    grid-template-columns: 1fr 1fr;
    grid-template-rows: auto;
}
.about-4-bento--a {
    grid-area: auto / 1 / auto / -1;
    min-height: 280px;
}
.about-4-bento--b,
.about-4-bento--c,
.about-4-bento--d,
.about-4-bento--quote {
    grid-area: auto;
    min-height: 200px;
}
.about-4-cta__panel {
    grid-template-columns: 1fr;
}
}
@media only screen and (max-width: 575px) {
.about-4-hero__mosaic {
    grid-template-columns: 1fr;
}
.about-4-hero__shot--mid,
.about-4-hero__shot--wide {
    height: 240px;
}
.about-4-belief {
    grid-template-columns: 48px 1fr;
}
.about-4-craft__cols {
    grid-template-columns: 1fr;
}
.about-4-space__bento {
    grid-template-columns: 1fr;
}
}
.about-5-text-link {
    font-size: 15px;
    font-weight: 600;
    letter-spacing: -0.02em;
    color: var(--at-neutral-900);
    text-decoration: underline;
    text-underline-offset: 4px;
}
.about-5-text-link:hover {
    color: var(--at-theme-primary);
}
.about-5-text-link--on-media {
    color: rgb(254, 254, 254);
}
.about-5-text-link--on-media:hover {
    color: rgb(254, 254, 254);
    opacity: 0.85;
}
.about-5-hero {
    display: grid;
    grid-template-columns: minmax(280px, 0.95fr) minmax(0px, 1.25fr);
    min-height: min(880px, 100vh);
}
.about-5-hero__panel {
    position: relative;
    min-height: 520px;
}
.about-5-hero__panel--ink {
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    gap: 0px;
    padding: clamp(40px, 6vw, 72px) clamp(28px, 4vw, 56px);
    background: rgb(15, 15, 15);
    color: rgb(254, 254, 254);
}
.about-5-hero__panel--media {
    overflow: hidden;
    background: rgb(29, 29, 29);
}
.about-5-hero__panel--media img {
    position: absolute;
    inset: 0px;
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.about-5-hero__kicker {
    margin: 0px 0px 24px;
    font-size: 12px;
    font-weight: 600;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: rgba(254, 254, 254, 0.55);
}
.about-5-hero__kicker span {
    color: var(--at-theme-primary);
    margin-right: 6px;
}
.about-5-hero__year {
    margin: 0px 0px 20px;
    font-family: var(--at-ff-heading);
    font-size: clamp(72px, 12vw, 140px);
    font-weight: 700;
    letter-spacing: -0.06em;
    line-height: 0.9;
    color: rgb(254, 254, 254);
}
.about-5-hero__tag {
    margin: 0px 0px 40px;
    max-width: 22ch;
    font-size: 16px;
    font-weight: 500;
    line-height: 1.5;
    color: rgba(254, 254, 254, 0.72);
}
.about-5-hero__facts {
    list-style: none;
    margin: 0px;
    padding: 0px;
    border-top: 1px solid rgba(254, 254, 254, 0.12);
}
.about-5-hero__facts li {
    display: grid;
    grid-template-columns: 72px 1fr;
    gap: 12px;
    padding: 14px 0px;
    border-bottom: 1px solid rgba(254, 254, 254, 0.12);
    font-size: 14px;
    font-weight: 500;
    color: rgba(254, 254, 254, 0.88);
}
.about-5-hero__facts li span {
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: rgba(254, 254, 254, 0.45);
}
.about-5-hero__overlay {
    position: absolute;
    inset: 0px;
    z-index: 1;
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    padding: clamp(32px, 5vw, 64px);
    background: linear-gradient(rgba(10, 10, 10, 0.05) 20%, rgba(10, 10, 10, 0.82) 100%);
    color: rgb(254, 254, 254);
}
.about-5-hero__title {
    margin: 0px 0px 16px;
    max-width: 16ch;
    font-family: var(--at-ff-heading);
    font-size: clamp(28px, 3.6vw, 48px);
    font-weight: 600;
    letter-spacing: -0.04em;
    line-height: 1.1;
    color: rgb(254, 254, 254);
}
.about-5-hero__lead {
    margin: 0px 0px 28px;
    max-width: 42ch;
    font-size: 16px;
    font-weight: 500;
    line-height: 1.55;
    color: rgba(254, 254, 254, 0.78);
}
.about-5-hero__actions {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 18px 24px;
}
.about-5-chapter--now .about-5-chapter__year {
    color: var(--at-theme-primary);
}
.about-5-people__head {
    display: grid;
    grid-template-columns: minmax(0px, 1.2fr) minmax(200px, 0.7fr);
    gap: 24px 40px;
    align-items: end;
    margin-bottom: 40px;
}
.about-5-people__title {
    margin: 0px;
    font-family: var(--at-ff-heading);
    font-size: clamp(32px, 4vw, 48px);
    font-weight: 600;
    letter-spacing: -0.04em;
    line-height: 1.1;
    color: var(--at-neutral-900);
    max-width: 14ch;
}
.about-5-people__note {
    font-size: 15px;
    font-weight: 500;
    line-height: 1.55;
    color: var(--at-neutral-500);
    max-width: 32ch;
    margin-left: auto;
}
.about-5-people__list {
    border-top: 1px solid var(--at-neutral-100);
}
.about-5-people__foot {
    margin-top: 28px;
}
.about-5-person {
    display: grid;
    grid-template-columns: 72px minmax(140px, 0.7fr) minmax(0px, 1.4fr) 40px;
    gap: 20px 28px;
    align-items: center;
    padding: 22px 0px;
    border-bottom: 1px solid var(--at-neutral-100);
}
.about-5-person__media {
    width: 72px;
    height: 72px;
    border-radius: 12px;
    overflow: hidden;
    background: var(--at-neutral-0);
}
.about-5-person__media img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.about-5-person__name {
    margin: 0px 0px 4px;
    font-size: 18px;
    font-weight: 600;
    letter-spacing: -0.02em;
    color: var(--at-neutral-900);
}
.about-5-person__role {
    margin: 0px;
    font-size: 13px;
    font-weight: 500;
    color: var(--at-neutral-500);
}
.about-5-person__bio {
    margin: 0px;
    font-size: 14px;
    font-weight: 500;
    line-height: 1.55;
    color: var(--at-neutral-700);
    max-width: 52ch;
}
.about-5-person__link {
    width: 40px;
    height: 40px;
    border-radius: 10px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: var(--at-neutral-0);
    color: var(--at-neutral-900);
    transition: background 0.2s, color 0.2s;
}
.about-5-person__link:hover {
    background: var(--at-theme-primary);
    color: rgb(254, 254, 254);
}
.about-5-nodes__head {
    max-width: 640px;
    margin-bottom: 40px;
}
.about-5-nodes__title {
    margin: 0px;
    font-family: var(--at-ff-heading);
    font-size: clamp(32px, 4vw, 48px);
    font-weight: 600;
    letter-spacing: -0.04em;
    line-height: 1.1;
    color: var(--at-neutral-900);
}
.about-5-nodes__grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0px, 1fr));
    gap: 16px;
}
.about-5-node {
    padding: 28px 24px;
    border-radius: 16px;
    background: var(--at-neutral-50);
    border: 1px solid var(--at-neutral-100);
    min-height: 100%;
}
.about-5-node__city {
    margin: 0px 0px 6px;
    font-family: var(--at-ff-heading);
    font-size: 28px;
    font-weight: 600;
    letter-spacing: -0.03em;
    color: var(--at-neutral-900);
}
.about-5-node__zone {
    margin: 0px 0px 20px;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: var(--at-theme-primary);
}
.about-5-node__line {
    margin: 0px 0px 6px;
    font-size: 14px;
    font-weight: 500;
    line-height: 1.45;
    color: var(--at-neutral-500);
}
.about-5-node__line:last-child {
    margin-bottom: 0px;
}
.about-5-cta__panel {
    display: grid;
    grid-template-columns: minmax(0px, 1fr) minmax(0px, 1.1fr);
    gap: 32px 48px;
    align-items: center;
    padding: clamp(36px, 5vw, 56px);
    border-radius: 20px;
    background: var(--at-theme-primary);
    color: rgb(254, 254, 254);
}
.about-5-cta__kicker {
    margin: 0px 0px 12px;
    font-size: 12px;
    font-weight: 600;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    color: rgba(254, 254, 254, 0.8);
}
.about-5-cta__title {
    margin: 0px;
    max-width: 12ch;
    font-family: var(--at-ff-heading);
    font-size: clamp(30px, 3.8vw, 44px);
    font-weight: 600;
    letter-spacing: -0.04em;
    line-height: 1.1;
    color: rgb(254, 254, 254);
}
.about-5-cta__text {
    margin: 0px 0px 24px;
    max-width: 42ch;
    font-size: 15px;
    font-weight: 500;
    line-height: 1.55;
    color: rgba(254, 254, 254, 0.92);
}
.about-5-cta__row {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 16px 24px;
}
.about-5-cta__btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 15px 26px;
    border-radius: 999px;
    background: rgb(29, 29, 29);
    color: rgb(254, 254, 254);
    font-size: 15px;
    font-weight: 600;
    letter-spacing: -0.02em;
    text-decoration: none;
    transition: transform 0.2s, filter 0.2s;
}
.about-5-cta__btn:hover {
    color: rgb(254, 254, 254);
    transform: translateY(-1px);
    filter: brightness(1.08);
}
.about-5-cta__mail {
    font-size: 15px;
    font-weight: 600;
    color: rgb(254, 254, 254);
    text-decoration: underline;
    text-underline-offset: 4px;
}
.about-5-cta__mail:hover {
    color: rgb(254, 254, 254);
    opacity: 0.9;
}
@media only screen and (max-width: 991px) {
.about-5-hero {
    grid-template-columns: 1fr;
    min-height: 0px;
}
.about-5-hero__panel {
    min-height: 0px;
}
.about-5-hero__panel--ink {
    min-height: auto;
    padding-top: 140px;
}
.about-5-hero__panel--media {
    min-height: 560px;
}
.about-5-people__head {
    grid-template-columns: 1fr;
}
.about-5-people__note {
    margin-left: 0px;
}
.about-5-person {
    grid-template-columns: 64px 1fr 40px;
    grid-template-areas: "media meta link" "bio bio bio";
    gap: 14px 16px;
}
.about-5-person__media {
    grid-area: media;
    width: 64px;
    height: 64px;
}
.about-5-person__meta {
    grid-area: meta;
}
.about-5-person__bio {
    grid-area: bio;
}
.about-5-person__link {
    grid-area: link;
    justify-self: end;
}
.about-5-nodes__grid {
    grid-template-columns: 1fr;
}
.about-5-cta__panel {
    grid-template-columns: 1fr;
}
}
@media only screen and (max-width: 575px) {
.about-5-hero__year {
    font-size: 80px;
}
.about-5-hero__panel--media {
    min-height: 480px;
}
}
.at-hero-social {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    justify-content: flex-end;
}
@media only screen and (min-width: 1200px) and (max-width: 1399px), only screen and (min-width: 992px) and (max-width: 1199px), only screen and (min-width: 768px) and (max-width: 991px), only screen and (min-width: 576px) and (max-width: 767px), (max-width: 574.98px) {
.at-hero-social {
    margin-left: 0px;
}
}
@media only screen and (min-width: 576px) and (max-width: 767px), (max-width: 574.98px) {
.at-hero-social {
    justify-content: flex-start;
}
}
.at-hero-social a {
    font-weight: 500;
    font-size: 14px;
    line-height: 1;
    letter-spacing: -0.02em;
    color: var(--at-neutral-500);
    border: 1px solid rgba(38, 38, 38, 0.1);
    border-radius: 20px;
    padding: 6px 20px;
    display: inline-block;
}
.at-hero-social a:hover {
    background: var(--at-common-black);
    border-color: var(--at-common-black);
    color: var(--at-common-white);
}
.at-hero-social.style-2 a {
    color: var(--at-common-black);
    border: 1px solid var(--at-common-black);
    background: var(--at-common-white);
}
.at-hero-social.style-2 a:hover {
    background: var(--at-common-black);
    border-color: var(--at-common-black);
    color: var(--at-common-white);
}
.at-service-card {
    max-height: 480px;
    min-height: 480px;
}
@media only screen and (min-width: 1200px) and (max-width: 1399px), only screen and (min-width: 992px) and (max-width: 1199px), only screen and (min-width: 768px) and (max-width: 991px), only screen and (min-width: 576px) and (max-width: 767px), (max-width: 574.98px) {
.at-service-card {
    min-height: 400px;
}
}
.at-service-card.card-1 {
    position: relative;
}
.at-service-card.card-1::before {
    content: "";
    position: absolute;
    top: 0px;
    left: 0px;
    width: 100%;
    height: 100%;
    opacity: 0.65;
    background: linear-gradient(99deg, rgb(0, 0, 0) 5.05%, rgba(0, 0, 0, 0.44) 49.84%, rgb(0, 0, 0) 94.63%);
    z-index: 0;
}
.at-service-card.no-before::before {
    display: none;
}
.at-service-card.card-2 {
    background: var(--at-common-white);
    margin-top: 120px;
}
@media only screen and (min-width: 768px) and (max-width: 991px), only screen and (min-width: 576px) and (max-width: 767px), (max-width: 574.98px) {
.at-service-card.card-2 {
    margin-top: 0px;
}
}
.at-service-card.card-3 {
    background: rgb(15, 15, 15);
}
.at-service-item {
    background-color: var(--at-neutral-0);
    border-bottom: 1px solid var(--at-neutral-100);
    padding-top: 21px;
    padding-bottom: 29px;
    display: grid;
    align-items: center;
    gap: 15px 30px;
    grid-template-columns: 100px 1fr 280px;
    pointer-events: auto;
}
@media only screen and (min-width: 992px) and (max-width: 1199px), only screen and (min-width: 768px) and (max-width: 991px), only screen and (min-width: 576px) and (max-width: 767px), (max-width: 574.98px) {
.at-service-item {
    grid-template-columns: 70px 1fr 295px;
}
}
@media (max-width: 574.98px) {
.at-service-item {
    grid-template-columns: 1fr;
}
}
.at-service-item .number {
    color: var(--at-neutral-500);
    font-size: 36px;
    font-style: normal;
    font-weight: 600;
    line-height: normal;
    letter-spacing: -1.8px;
    opacity: 0.3;
    transition: 0.5s;
}
.at-service-item .content .title {
    color: var(--at-neutral-900);
    font-weight: 600;
    opacity: 0.3;
    transition: 0.5s;
    margin-bottom: 0px;
}
@media only screen and (min-width: 1200px) and (max-width: 1399px), only screen and (min-width: 992px) and (max-width: 1199px), only screen and (min-width: 768px) and (max-width: 991px), only screen and (min-width: 576px) and (max-width: 767px), (max-width: 574.98px) {
.at-service-item .content .title {
    font-size: 42px;
    line-height: 42px;
    letter-spacing: -2.4px;
}
}
@media screen and (max-width: 1725px) {
.at-service-item .content .title {
    font-size: 50px;
}
}
.at-service-item .content .text {
    opacity: 0;
    max-height: 0px;
    transition: 0.5s;
    max-width: 370px;
    margin-bottom: 0px;
}
.at-service-item .thumb {
    text-align: right;
}
.at-service-item .thumb img {
    max-width: 190px;
    transition: 0.5s;
    border-radius: 8px;
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.at-service-item:hover .number {
    color: var(--at-theme-primary);
    opacity: 1;
}
.at-service-item:hover .title {
    opacity: 1;
    transition: 0.5s;
}
.at-service-item:hover .text {
    opacity: 1;
    max-height: 100px;
    transition: 0.5s;
}
.at-service-item:hover .thumb img {
    max-width: 284px;
}
@media only screen and (min-width: 1200px) and (max-width: 1399px), only screen and (min-width: 992px) and (max-width: 1199px), only screen and (min-width: 768px) and (max-width: 991px), only screen and (min-width: 576px) and (max-width: 767px), (max-width: 574.98px) {
.at-service-content {
    margin-right: 0px;
}
}
.at-service-img-wrapper {
    height: 450px;
}
@media only screen and (min-width: 768px) and (max-width: 991px), only screen and (min-width: 576px) and (max-width: 767px) {
.at-service-img-wrapper {
    height: 440px;
}
}
@media (max-width: 574.98px) {
.at-service-img-wrapper {
    height: 300px;
}
}
.at-service-img-wrapper.image-container {
    position: relative;
    overflow: hidden;
}
.at-service-img-wrapper .hover-image {
    position: absolute;
    top: 0px;
    left: 0px;
    width: 100%;
    height: 100%;
    z-index: 0;
    border-top-left-radius: 16px;
    border-top-right-radius: 16px;
}
.at-service-img-wrapper .hover-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    border-top-left-radius: 16px;
    border-top-right-radius: 16px;
}
@media only screen and (min-width: 992px) and (max-width: 1199px), only screen and (min-width: 768px) and (max-width: 991px), only screen and (min-width: 576px) and (max-width: 767px), (max-width: 574.98px) {
.at-service-list-wrap {
    margin-left: 0px;
}
}
.sd2-page {
    --sd2-ink: #0c0d10;
    --sd2-ink-soft: #16181e;
    --sd2-mist: #e8eaef;
    --sd2-line: rgba(255, 255, 255, 0.1);
    --sd2-line-dark: var(--at-neutral-100);
    --sd2-muted: #8b909c;
    --sd2-accent: var(--at-theme-primary);
}
.sd2-kicker {
    display: flex;
    align-items: center;
    gap: 10px;
    margin: 0px;
    font-size: 12px;
    font-weight: 600;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: rgba(255, 255, 255, 0.55);
}
.sd2-kicker__num {
    color: var(--sd2-accent);
    font-variant-numeric: tabular-nums;
}
.sd2-kicker--dark {
    color: var(--at-neutral-500);
}
.sd2-kicker--dark .sd2-kicker__num {
    color: var(--sd2-accent);
}
.sd2-hero {
    position: relative;
    overflow: hidden;
    padding: 150px 0px 70px;
    background: var(--sd2-ink);
    color: rgb(244, 245, 247);
}
.sd2-hero__grid {
    position: absolute;
    inset: 0px;
    background-image: linear-gradient(var(--sd2-line) 1px, transparent 1px), linear-gradient(90deg, var(--sd2-line) 1px, transparent 1px);
    background-size: 72px 72px;
    mask-image: radial-gradient(80% 70% at 70% 40%, rgb(0, 0, 0) 20%, transparent 75%);
    opacity: 0.55;
    pointer-events: none;
}
.sd2-hero__glow {
    position: absolute;
    width: min(60vw, 720px);
    height: min(60vw, 720px);
    right: -8%;
    top: 10%;
    border-radius: 50%;
    background: radial-gradient(circle, rgba(var(--at-theme-primary-rgb, 240, 70, 14), 0.28) 0%, transparent 68%);
    filter: blur(8px);
    pointer-events: none;
}
.sd2-hero__top {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    margin-bottom: 48px;
    padding-bottom: 20px;
    border-bottom: 1px solid var(--sd2-line);
}
.sd2-hero__main {
    display: grid;
    grid-template-columns: minmax(0px, 1.2fr) minmax(260px, 0.85fr);
    gap: 40px 48px;
    align-items: center;
    margin-bottom: 48px;
}
.sd2-hero__title {
    margin: 0px 0px 24px;
    font-family: var(--at-ff-heading);
    font-size: clamp(42px, 7.2vw, 96px);
    font-weight: 700;
    line-height: 0.95;
    letter-spacing: -0.045em;
}
.sd2-hero__line {
    display: block;
    overflow: hidden;
}
.sd2-hero__line--accent {
    color: var(--sd2-accent);
}
.sd2-hero__lead {
    max-width: 42ch;
    margin: 0px 0px 32px;
    font-size: 17px;
    font-weight: 500;
    line-height: 1.55;
    color: rgba(244, 245, 247, 0.72);
}
.sd2-hero__actions {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 20px 28px;
}
.sd2-hero__ghost {
    font-size: 14px;
    font-weight: 600;
    color: rgb(244, 245, 247);
    text-decoration: none;
    border-bottom: 1px solid rgba(255, 255, 255, 0.35);
    padding-bottom: 2px;
}
.sd2-hero__ghost:hover {
    color: var(--sd2-accent);
    border-color: var(--sd2-accent);
}
.sd2-hero__rail {
    display: flex;
    flex-direction: column;
    gap: 16px;
}
.sd2-hero__visual {
    position: relative;
    border-radius: 4px;
    overflow: hidden;
    border: 1px solid var(--sd2-line);
    aspect-ratio: 4 / 5;
    background: var(--sd2-ink-soft);
}
.sd2-hero__visual img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    opacity: 0.92;
}
.sd2-hero__hud {
    position: absolute;
    left: 14px;
    bottom: 14px;
    display: flex;
    flex-direction: column;
    gap: 2px;
    padding: 10px 14px;
    background: rgba(12, 13, 16, 0.72);
    border: 1px solid var(--sd2-line);
    backdrop-filter: blur(10px);
}
.sd2-hero__hud span {
    font-size: 10px;
    font-weight: 600;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    color: rgba(255, 255, 255, 0.5);
}
.sd2-hero__hud strong {
    font-size: 18px;
    font-weight: 600;
    font-variant-numeric: tabular-nums;
    color: rgb(244, 245, 247);
}
.sd2-hero__meta {
    display: grid;
    grid-template-columns: repeat(3, minmax(0px, 1fr));
    gap: 12px;
    margin: 0px;
}
.sd2-hero__meta div {
    padding: 12px 10px;
    border: 1px solid var(--sd2-line);
    background: rgba(255, 255, 255, 0.03);
}
.sd2-hero__meta dt {
    margin: 0px 0px 6px;
    font-size: 10px;
    font-weight: 700;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    color: rgba(255, 255, 255, 0.4);
}
.sd2-hero__meta dd {
    margin: 0px;
    font-size: 13px;
    font-weight: 600;
    line-height: 1.35;
    color: rgb(244, 245, 247);
}
.sd2-hero__chips {
    list-style: none;
    margin: 0px;
    padding: 20px 0px 0px;
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    border-top: 1px solid var(--sd2-line);
}
.sd2-hero__chips li {
    padding: 8px 14px;
    border: 1px solid var(--sd2-line);
    font-size: 12px;
    font-weight: 600;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    color: rgba(244, 245, 247, 0.75);
    background: rgba(255, 255, 255, 0.03);
}
.sd2-crumb {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 8px;
    font-size: 13px;
    font-weight: 500;
    color: rgba(244, 245, 247, 0.5);
}
.sd2-crumb a {
    color: rgba(244, 245, 247, 0.75);
    text-decoration: none;
}
.sd2-crumb a:hover {
    color: var(--sd2-accent);
}
.sd2-crumb__sep {
    opacity: 0.4;
}
.sd2-status {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    padding: 8px 12px;
    border: 1px solid var(--sd2-line);
    background: rgba(255, 255, 255, 0.04);
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0.1em;
    text-transform: uppercase;
}
.sd2-status__dot {
    width: 7px;
    height: 7px;
    border-radius: 50%;
    background: rgb(61, 207, 142);
    box-shadow: rgba(61, 207, 142, 0.55) 0px 0px 0px 0px;
    animation: 1.8s ease-out 0s infinite normal none running sd2-pulse;
}
.sd2-status__label {
    color: rgb(244, 245, 247);
}
.sd2-status__code {
    color: rgba(244, 245, 247, 0.45);
    font-variant-numeric: tabular-nums;
}
.sd2-overview__grid {
    display: grid;
    grid-template-columns: minmax(0px, 0.9fr) minmax(0px, 1.1fr);
    gap: 40px 56px;
    align-items: start;
}
.sd2-overview__sticky {
    position: sticky;
    top: 120px;
}
.sd2-overview__title {
    margin: 0px;
    font-family: var(--at-ff-heading);
    font-size: clamp(28px, 3.6vw, 44px);
    font-weight: 700;
    letter-spacing: -0.03em;
    color: var(--at-neutral-900);
    max-width: 16ch;
}
.sd2-overview__text {
    margin: 0px;
    max-width: 38ch;
    font-size: 16px;
    font-weight: 500;
    line-height: 1.55;
    color: var(--at-neutral-500);
}
.sd2-brief {
    border-top: 1px solid var(--sd2-line-dark);
}
.sd2-brief__row {
    display: grid;
    grid-template-columns: 140px minmax(0px, 1fr);
    gap: 16px 24px;
    padding: 22px 0px;
    border-bottom: 1px solid var(--sd2-line-dark);
}
.sd2-brief__key {
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    color: var(--at-neutral-300);
    padding-top: 4px;
}
.sd2-brief__val {
    margin: 0px;
    font-size: 16px;
    font-weight: 500;
    line-height: 1.5;
    color: var(--at-neutral-800);
}
.sd2-modules__head {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-end;
    justify-content: space-between;
    gap: 20px 40px;
    margin-bottom: 24px;
    padding-bottom: 24px;
    border-bottom: 1px solid var(--sd2-line-dark);
}
.sd2-modules__title {
    font-family: var(--at-ff-heading);
    font-size: clamp(28px, 3.6vw, 44px);
    font-weight: 700;
    letter-spacing: -0.03em;
    color: var(--at-neutral-900);
}
.sd2-modules__hint {
    max-width: 32ch;
    margin: 0px;
    font-size: 15px;
    font-weight: 500;
    line-height: 1.5;
    color: var(--at-neutral-500);
}
.sd2-modules {

}
.sd2-modules__stack .wrapper {
    position: relative;
}
.sd2-modules__stack .item {
    width: 100%;
    top: 0px;
    left: 0px;
    right: 0px;
    min-height: 100vh;
    display: flex;
    align-items: center;
    padding: 40px 0px 60px;
    background: var(--at-neutral-0);
    will-change: transform;
}
.sd2-modules__stack .item:first-child {
    min-height: 100vh;
    height: auto;
}
.sd2-modules__stack .item:not(:first-child) {
    position: absolute;
}
.sd2-modules__stack .item .container {
    width: 100%;
}
.sd2-mod {
    display: grid;
    grid-template-columns: 72px minmax(0px, 1fr) minmax(200px, 0.55fr);
    gap: 24px 32px;
    align-items: center;
    padding: clamp(28px, 3vw, 40px);
    border: 1px solid var(--sd2-line-dark);
    border-radius: 4px;
    background: var(--at-neutral-0);
    box-shadow: rgba(0, 0, 0, 0.06) 0px 18px 48px;
}
.sd2-mod__index {
    font-size: 13px;
    font-weight: 700;
    letter-spacing: 0.08em;
    color: var(--at-neutral-300);
    font-variant-numeric: tabular-nums;
    align-self: start;
    padding-top: 6px;
}
.sd2-mod__name {
    margin: 0px 0px 10px;
    font-family: var(--at-ff-heading);
    font-size: clamp(22px, 2.2vw, 30px);
    font-weight: 600;
    letter-spacing: -0.03em;
    color: var(--at-neutral-900);
}
.sd2-mod__desc {
    margin: 0px 0px 14px;
    max-width: 48ch;
    font-size: 15px;
    font-weight: 500;
    line-height: 1.55;
    color: var(--at-neutral-500);
}
.sd2-mod__tags {
    list-style: none;
    margin: 0px;
    padding: 0px;
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}
.sd2-mod__tags li {
    padding: 5px 10px;
    border: 1px solid var(--sd2-line-dark);
    font-size: 11px;
    font-weight: 600;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    color: var(--at-neutral-700);
}
.sd2-mod__media {
    border-radius: 4px;
    overflow: hidden;
    aspect-ratio: 4 / 3;
    background: var(--at-neutral-50);
}
.sd2-mod__media img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    transition: transform 0.55s;
}
.sd2-mod:hover .sd2-mod__media img {
    transform: scale(1.05);
}
/* Le même retrait utile aligne le départ, la progression et la dernière carte des deux parcours. */
.sd2-pipeline, .sd4-flow { --e360-flow-inset: max(24px, (100vw - 1320px) / 2 + 12px); }
.sd2-pipeline {
    background: var(--sd2-ink);
    color: rgb(244, 245, 247);
    overflow: hidden;
    position: relative;
    margin-top: 120px;
    z-index: 2;
}
.sd2-pipeline__pin {
    padding: 100px 0px 80px;
}
.sd2-pipeline__head {
    max-width: 52ch;
    margin-bottom: 48px;
}
.sd2-pipeline__title {
    font-family: var(--at-ff-heading);
    font-size: clamp(28px, 4vw, 48px);
    font-weight: 700;
    letter-spacing: -0.03em;
    line-height: 1.05;
    color: rgb(244, 245, 247);
}
.sd2-pipeline__track-wrap {
    position: relative;
    overflow: hidden;
    padding: 0px 0px 20px;
}
.sd2-pipeline__progress {
    position: relative;
    height: 2px;
    margin: 0px var(--e360-flow-inset) 36px;
    background: rgba(255, 255, 255, 0.12);
}
.sd2-pipeline__progress-bar {
    position: absolute;
    inset: 0px auto 0px 0px;
    width: 0%;
    background: var(--sd2-accent);
}
.sd2-pipeline__track {
    position: relative;
    display: flex;
    gap: 20px;
    width: max-content;
    padding-left: var(--e360-flow-inset);
    padding-right: var(--e360-flow-inset);
    will-change: transform;
}
.sd2-pipe {
    flex: 0 0 min(360px, 78vw);
    padding: 28px 28px 32px;
    border: 1px solid var(--sd2-line);
    background: linear-gradient(160deg, rgba(255, 255, 255, 0.05) 0%, rgba(255, 255, 255, 0.02) 100%);
    min-height: 280px;
    display: flex;
    flex-direction: column;
}
.sd2-pipe__phase {
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: var(--sd2-accent);
    margin-bottom: 20px;
}
.sd2-pipe__name {
    margin: 0px 0px 14px;
    font-family: var(--at-ff-heading);
    font-size: 32px;
    font-weight: 700;
    letter-spacing: -0.03em;
    color: rgb(244, 245, 247);
}
.sd2-pipe__text {
    margin: 0px 0px auto;
    font-size: 15px;
    font-weight: 500;
    line-height: 1.55;
    color: rgba(244, 245, 247, 0.65);
}
.sd2-pipe__time {
    margin-top: 28px;
    padding-top: 16px;
    border-top: 1px solid var(--sd2-line);
    font-size: 12px;
    font-weight: 600;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: rgba(244, 245, 247, 0.45);
    font-variant-numeric: tabular-nums;
}
.sd2-stack {
    overflow: hidden;
}
.sd2-stack__marquee {
    border-block: 1px solid var(--sd2-line-dark);
    padding: 18px 0px;
    overflow: hidden;
    background: var(--at-neutral-50);
}
.sd2-stack__marquee-track {
    display: flex;
    width: max-content;
    gap: 40px;
    will-change: transform;
}
.sd2-stack__marquee-track span {
    font-size: 13px;
    font-weight: 700;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    color: var(--at-neutral-400);
    white-space: nowrap;
}
.sd2-stack__title {
    font-family: var(--at-ff-heading);
    font-size: clamp(28px, 3.6vw, 44px);
    font-weight: 700;
    letter-spacing: -0.03em;
    color: var(--at-neutral-900);
    max-width: 12ch;
}
.sd2-stack__lead {
    margin: 0px 0px 28px;
    max-width: 38ch;
    font-size: 16px;
    font-weight: 500;
    line-height: 1.55;
    color: var(--at-neutral-500);
}
.sd2-stack__media {
    position: relative;
    border-radius: 4px;
    overflow: hidden;
    aspect-ratio: 16 / 10;
    border: 1px solid var(--sd2-line-dark);
}
.sd2-stack__img {
    position: absolute;
    inset: 0px;
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    opacity: 0;
    transform: scale(1.04);
    transition: opacity 0.45s, transform 0.6s cubic-bezier(0.22, 1, 0.36, 1);
    pointer-events: none;
}
.sd2-stack__img.is-active {
    opacity: 1;
    transform: scale(1);
    z-index: 1;
}
.sd2-deliver {
    list-style: none;
    margin: 0px;
    padding: 0px;
    border-top: 1px solid var(--sd2-line-dark);
}
.sd2-deliver__item {
    display: grid;
    grid-template-columns: 48px minmax(0px, 1fr);
    gap: 16px 20px;
    padding: 22px 0px;
    border-bottom: 1px solid var(--sd2-line-dark);
    cursor: pointer;
    transition: opacity 0.25s;
}
.sd2-deliver__item.is-active .sd2-deliver__name,
.sd2-deliver__item:hover .sd2-deliver__name {
    color: var(--sd2-accent);
}
.sd2-deliver__num {
    font-size: 13px;
    font-weight: 700;
    letter-spacing: 0.06em;
    color: var(--sd2-accent);
    font-variant-numeric: tabular-nums;
    padding-top: 4px;
}
.sd2-deliver__name {
    margin: 0px 0px 6px;
    font-size: 18px;
    font-weight: 600;
    letter-spacing: -0.02em;
    color: var(--at-neutral-900);
    transition: color 0.25s;
}
.sd2-deliver__text {
    margin: 0px;
    font-size: 15px;
    font-weight: 500;
    line-height: 1.5;
    color: var(--at-neutral-500);
}
.sd2-cta__panel {
    position: relative;
    overflow: hidden;
    background: var(--sd2-ink);
    color: rgb(244, 245, 247);
    border: 1px solid var(--sd2-line);
    padding: clamp(40px, 6vw, 72px);
}
.sd2-cta__grid-bg {
    position: absolute;
    inset: 0px;
    background-image: linear-gradient(var(--sd2-line) 1px, transparent 1px), linear-gradient(90deg, var(--sd2-line) 1px, transparent 1px);
    background-size: 48px 48px;
    opacity: 0.45;
    pointer-events: none;
}
.sd2-cta__inner {
    position: relative;
    z-index: 1;
    max-width: 640px;
}
.sd2-cta__title {
    font-family: var(--at-ff-heading);
    font-size: clamp(28px, 4vw, 48px);
    font-weight: 700;
    letter-spacing: -0.03em;
    line-height: 1.05;
    color: rgb(244, 245, 247);
    margin: 0px;
}
.sd2-cta__text {
    margin: 0px 0px 28px;
    max-width: 44ch;
    font-size: 16px;
    font-weight: 500;
    line-height: 1.55;
    color: rgba(244, 245, 247, 0.68);
}
.sd2-cta__actions {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 20px 28px;
}
.sd2-cta__mail {
    font-size: 15px;
    font-weight: 600;
    color: rgb(244, 245, 247);
    text-decoration: underline;
    text-underline-offset: 4px;
}
.sd2-cta__mail:hover {
    color: var(--sd2-accent);
}
.sd2-next {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 16px 24px;
    margin-top: 40px;
    padding-top: 28px;
    border-top: 1px solid var(--sd2-line-dark);
}
.sd2-next__label {
    margin: 0px;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    color: var(--at-neutral-300);
}
.sd2-next__links {
    display: flex;
    flex-wrap: wrap;
    gap: 12px 24px;
}
.sd2-next__links a {
    font-size: 15px;
    font-weight: 600;
    color: var(--at-neutral-900);
    text-decoration: none;
    border-bottom: 1px solid transparent;
}
.sd2-next__links a:hover {
    color: var(--sd2-accent);
    border-bottom-color: var(--sd2-accent);
}
@media only screen and (max-width: 1199px) {
.sd2-hero__main {
    grid-template-columns: 1fr 0.9fr;
}
.sd2-hero__meta {
    grid-template-columns: 1fr;
}
.sd2-mod {
    grid-template-columns: 48px minmax(0px, 1fr) minmax(160px, 0.5fr);
}
.sd2-modules__stack .item {
    min-height: 85vh;
    padding: 28px 0px 40px;
    align-items: flex-start;
}
}
@media only screen and (max-width: 991px) {
.sd2-hero {
    padding-top: 130px;
}
.sd2-hero__main {
    grid-template-columns: 1fr;
}
.sd2-hero__visual {
    max-width: 420px;
    aspect-ratio: 16 / 11;
}
.sd2-hero__meta {
    grid-template-columns: repeat(3, minmax(0px, 1fr));
}
.sd2-overview__grid {
    grid-template-columns: 1fr;
}
.sd2-overview__sticky {
    position: static;
}
.sd2-mod {
    grid-template-columns: 40px minmax(0px, 1fr);
}
.sd2-mod__media {
    grid-column: 1 / -1;
    order: -1;
    max-width: 360px;
}
.sd2-modules__stack .item {
    min-height: 85vh;
    padding: 24px 0px 36px;
}
.sd2-pipeline__pin {
    padding: 72px 0px 64px;
}
}
@media only screen and (max-width: 767px) {
.sd2-hero__meta {
    grid-template-columns: 1fr;
}
.sd2-brief__row {
    grid-template-columns: 1fr;
    gap: 8px;
}
.sd2-mod {
    grid-template-columns: 1fr;
    padding: 22px 18px;
}
.sd2-mod__index {
    margin-bottom: -8px;
    padding-top: 0px;
}
.sd2-modules__stack .item {
    min-height: auto;
    padding: 16px 0px 28px;
}
.sd2-pipeline__track {
    flex-direction: column;
    width: 100%;
    max-width: 100%;
    padding-right: max(24px, -648px + 50vw);
    gap: 14px;
}
.sd2-pipeline__progress {
    display: none;
}
.sd2-pipe {
    flex: 1 1 auto;
    width: 100%;
    min-height: 0px;
}
.sd2-cta__panel {
    padding: 32px 22px;
}
}
.sd3-page {
    --sd3-ink: var(--at-neutral-900);
    --sd3-soft: var(--at-neutral-500);
    --sd3-line: var(--at-neutral-100);
    --sd3-accent: var(--at-theme-primary);
}
.sd3-label {
    margin: 0px;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    color: var(--sd3-soft);
}
.sd3-crumb {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    font-size: 13px;
    font-weight: 500;
    color: var(--sd3-soft);
}
.sd3-crumb a {
    color: var(--sd3-ink);
    text-decoration: none;
}
.sd3-crumb a:hover {
    color: var(--sd3-accent);
}
.sd3-link {
    font-size: 14px;
    font-weight: 600;
    color: var(--sd3-ink);
    text-decoration: underline;
    text-underline-offset: 3px;
}
.sd3-link:hover {
    color: var(--sd3-accent);
}
.sd3-hero {
    position: relative;
    color: rgb(244, 245, 247);
}
.sd3-hero__stage {
    position: relative;
    min-height: min(100vh, 920px);
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    padding: 130px 0px 48px;
    background: var(--sd3-ink);
    overflow: hidden;
}
.sd3-hero__media {
    position: absolute;
    inset: 0px;
    z-index: 0;
}
.sd3-hero__media img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center 30%;
    display: block;
    opacity: 0.55;
    transform: scale(1.06);
}
.sd3-hero__veil {
    position: absolute;
    inset: 0px;
    background: linear-gradient(rgba(12, 13, 16, 0.35) 0%, rgba(12, 13, 16, 0.55) 42%, rgba(12, 13, 16, 0.92) 100%), linear-gradient(90deg, rgba(12, 13, 16, 0.55) 0%, transparent 55%);
    pointer-events: none;
}
.sd3-hero__chrome {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 14px 24px;
    margin-bottom: clamp(48px, 10vh, 120px);
}
.sd3-hero__chrome .sd3-crumb {
    color: rgba(244, 245, 247, 0.55);
}
.sd3-hero__chrome .sd3-crumb a {
    color: rgba(244, 245, 247, 0.85);
}
.sd3-hero__chrome .sd3-crumb a:hover {
    color: var(--sd3-accent);
}
.sd3-hero__clock {
    display: inline-flex;
    align-items: baseline;
    gap: 6px;
    padding: 8px 12px;
    border: 1px solid rgba(255, 255, 255, 0.16);
    background: rgba(12, 13, 16, 0.4);
    backdrop-filter: blur(10px);
    font-variant-numeric: tabular-nums;
    font-weight: 700;
    letter-spacing: 0.04em;
}
.sd3-hero__clock strong {
    font-family: var(--at-ff-heading);
    font-size: 22px;
    letter-spacing: -0.03em;
    color: rgb(244, 245, 247);
    min-width: 1.4ch;
}
.sd3-hero__clock-label {
    font-size: 10px;
    text-transform: uppercase;
    letter-spacing: 0.12em;
    color: rgba(244, 245, 247, 0.5);
    margin-right: 4px;
}
.sd3-hero__clock-sep {
    color: rgba(244, 245, 247, 0.35);
    font-weight: 500;
}
.sd3-hero__core {
    max-width: 100%;
    margin-bottom: 36px;
}
.sd3-hero__kicker {
    margin: 0px 0px 14px;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    color: var(--sd3-accent);
}
.sd3-hero__title {
    margin: 0px 0px 28px;
    font-family: var(--at-ff-heading);
    font-size: clamp(56px, 12vw, 128px);
    font-weight: 700;
    line-height: 0.92;
    letter-spacing: -0.05em;
    color: rgb(254, 254, 254);
    width: max-content;
    max-width: 100%;
}
.sd3-hero__line {
    display: block;
    overflow: hidden;
    padding-bottom: 0.06em;
    margin-bottom: -0.06em;
}
.sd3-hero__line--accent {
    color: var(--sd3-accent);
}
.sd3-hero__bar {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 18px 28px;
    max-width: none;
    width: min(100%, 720px);
}
.sd3-hero__lead {
    margin: 0px;
    flex: 1 1 220px;
    max-width: 28ch;
    font-size: 16px;
    font-weight: 500;
    line-height: 1.45;
    color: rgba(244, 245, 247, 0.72);
}
.sd3-hero__actions {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 16px 22px;
}
.sd3-hero__scroll {
    font-size: 14px;
    font-weight: 600;
    color: rgb(244, 245, 247);
    text-decoration: none;
    border-bottom: 1px solid rgba(255, 255, 255, 0.4);
    padding-bottom: 2px;
}
.sd3-hero__scroll:hover {
    color: var(--sd3-accent);
    border-color: var(--sd3-accent);
}
.sd3-hero__tags {
    list-style: none;
    margin: 0px;
    padding: 22px 0px 0px;
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    border-top: 1px solid rgba(255, 255, 255, 0.12);
}
.sd3-hero__tags li {
    padding: 8px 14px;
    border: 1px solid rgba(255, 255, 255, 0.14);
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: rgba(244, 245, 247, 0.78);
    background: rgba(255, 255, 255, 0.04);
}
.sd3-hero__rail {
    position: absolute;
    right: clamp(12px, 3vw, 36px);
    top: 50%;
    transform: translateY(-50%) rotate(180deg);
    writing-mode: vertical-rl;
    display: none;
    align-items: center;
    gap: 14px;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0.16em;
    text-transform: uppercase;
    color: rgba(244, 245, 247, 0.4);
    z-index: 1;
    pointer-events: none;
}
@media (min-width: 1200px) {
.sd3-hero__rail {
    display: flex;
}
}
.sd3-hero__rail-line {
    width: 1px;
    height: 72px;
    background: linear-gradient(transparent, rgba(255, 255, 255, 0.45), transparent);
}
.sd3-out {
    padding: 0px;
    border-bottom: 1px solid var(--sd3-line);
    background: var(--at-neutral-0);
}
.sd3-out__strip {
    display: grid;
    grid-template-columns: minmax(140px, 0.55fr) minmax(0px, 1.45fr);
    gap: 20px 32px;
    align-items: end;
    padding: 48px 0px 36px;
}
.sd3-out__intro {
    min-width: 0px;
}
.sd3-out__eyebrow {
    display: block;
    margin-bottom: 8px;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: var(--sd3-soft);
}
.sd3-out__title {
    margin: 0px;
    font-family: var(--at-ff-heading);
    font-size: clamp(28px, 3.5vw, 40px);
    font-weight: 700;
    letter-spacing: -0.04em;
    line-height: 1;
    color: var(--sd3-ink);
}
.sd3-out__metrics {
    list-style: none;
    margin: 0px;
    padding: 0px;
    display: grid;
    grid-template-columns: repeat(4, minmax(0px, 1fr));
    gap: 0px;
}
.sd3-out__metric {
    position: relative;
    padding: 8px 16px 4px 20px;
    border-left: 1px solid var(--sd3-line);
    min-width: 0px;
}
.sd3-out__metric:first-child {
    border-left: 0px;
    padding-left: 0px;
}
.sd3-out__metric--accent .sd3-out__num {
    color: var(--sd3-accent);
}
.sd3-out__num {
    display: block;
    font-family: var(--at-ff-heading);
    font-size: clamp(40px, 5.5vw, 72px);
    font-weight: 700;
    letter-spacing: -0.05em;
    line-height: 0.95;
    color: var(--sd3-ink);
    font-variant-numeric: tabular-nums;
}
.sd3-out__unit {
    display: block;
    margin-top: 6px;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    color: var(--sd3-soft);
}
.sd3-out__track {
    position: relative;
    height: 2px;
    background: var(--sd3-line);
    margin-bottom: 0px;
    overflow: hidden;
}
.sd3-out__track i {
    display: block;
    width: 0%;
    height: 100%;
    background: var(--sd3-accent);
}
.sd3-runway__layout {
    display: grid;
    grid-template-columns: minmax(0px, 0.85fr) minmax(0px, 1.15fr);
    gap: 40px 56px;
    align-items: start;
}
.sd3-runway__sticky {
    position: sticky;
    top: 120px;
}
.sd3-runway__title {
    font-family: var(--at-ff-heading);
    font-size: clamp(28px, 3.5vw, 42px);
    font-weight: 700;
    letter-spacing: -0.03em;
    color: var(--sd3-ink);
    max-width: 14ch;
}
.sd3-runway__text {
    margin: 0px 0px 28px;
    max-width: 36ch;
    font-size: 15px;
    font-weight: 500;
    line-height: 1.55;
    color: var(--sd3-soft);
}
.sd3-runway__meter span {
    display: block;
    margin-bottom: 10px;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    color: var(--sd3-ink);
}
.sd3-runway__rail {
    height: 3px;
    background: var(--sd3-line);
    overflow: hidden;
}
.sd3-runway__rail i {
    display: block;
    width: 0%;
    height: 100%;
    background: var(--sd3-accent);
}
.sd3-step {
    padding: 28px 0px;
    border-top: 1px solid var(--sd3-line);
}
.sd3-step:last-child {
    border-bottom: 1px solid var(--sd3-line);
}
.sd3-step__week {
    display: block;
    margin-bottom: 10px;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    color: var(--sd3-accent);
}
.sd3-step__name {
    margin: 0px 0px 10px;
    font-family: var(--at-ff-heading);
    font-size: clamp(24px, 2.4vw, 32px);
    font-weight: 600;
    letter-spacing: -0.03em;
    color: var(--sd3-ink);
}
.sd3-step p {
    margin: 0px;
    max-width: 48ch;
    font-size: 15px;
    font-weight: 500;
    line-height: 1.55;
    color: var(--sd3-soft);
}
.sd3-tracks__head {
    margin-bottom: 20px;
}
.sd3-tracks__title {
    font-family: var(--at-ff-heading);
    font-size: clamp(28px, 3.6vw, 42px);
    font-weight: 700;
    letter-spacing: -0.03em;
    color: var(--sd3-ink);
}
.sd3-tracks__stack .wrapper {
    position: relative;
}
.sd3-tracks__stack .item {
    width: 100%;
    top: 0px;
    left: 0px;
    right: 0px;
    min-height: 100vh;
    display: flex;
    align-items: center;
    padding: 40px 0px 60px;
    background: var(--at-neutral-0);
    will-change: transform;
}
.sd3-tracks__stack .item:first-child {
    min-height: 100vh;
    height: auto;
}
.sd3-tracks__stack .item:not(:first-child) {
    position: absolute;
}
.sd3-tracks__stack .item .container {
    width: 100%;
}
.sd3-track {
    display: grid;
    grid-template-columns: 120px minmax(0px, 1fr) minmax(220px, 0.7fr);
    gap: 24px 28px;
    align-items: center;
    padding: clamp(24px, 3vw, 36px);
    border: 1px solid var(--sd3-line);
    background: var(--at-neutral-0);
    box-shadow: rgba(0, 0, 0, 0.05) 0px 16px 40px;
}
.sd3-track__meta {
    display: flex;
    flex-direction: column;
    gap: 8px;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}
.sd3-track__meta span {
    color: var(--sd3-accent);
}
.sd3-track__meta strong {
    color: var(--at-neutral-300);
    font-variant-numeric: tabular-nums;
}
.sd3-track__name {
    margin: 0px 0px 12px;
    font-family: var(--at-ff-heading);
    font-size: clamp(24px, 2.6vw, 34px);
    font-weight: 600;
    letter-spacing: -0.03em;
    color: var(--sd3-ink);
}
.sd3-track__body p {
    margin: 0px 0px 16px;
    max-width: 40ch;
    font-size: 15px;
    font-weight: 500;
    line-height: 1.55;
    color: var(--sd3-soft);
}
.sd3-track__body ul {
    list-style: none;
    margin: 0px;
    padding: 0px;
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}
.sd3-track__body ul li {
    padding: 6px 12px;
    background: var(--at-neutral-50);
    font-size: 12px;
    font-weight: 600;
    color: var(--at-neutral-700);
}
.sd3-track__media {
    aspect-ratio: 4 / 3;
    overflow: hidden;
    background: var(--at-neutral-50);
}
.sd3-track__media img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}
.sd3-cta__panel {
    display: grid;
    grid-template-columns: minmax(0px, 1.1fr) minmax(240px, 0.7fr);
    gap: 32px 40px;
    align-items: stretch;
    padding: clamp(28px, 4vw, 48px);
    border: 1px solid var(--sd3-line);
    background: var(--at-neutral-50);
}
.sd3-cta__title {
    font-family: var(--at-ff-heading);
    font-size: clamp(28px, 3.8vw, 44px);
    font-weight: 700;
    letter-spacing: -0.03em;
    color: var(--sd3-ink);
    max-width: 16ch;
}
.sd3-cta__text {
    margin: 0px 0px 24px;
    max-width: 42ch;
    font-size: 15px;
    font-weight: 500;
    line-height: 1.55;
    color: var(--sd3-soft);
}
.sd3-cta__actions {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 18px 24px;
}
.sd3-cta__aside {
    overflow: hidden;
    min-height: 280px;
}
.sd3-cta__aside img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}
.sd3-next {
    display: flex;
    flex-wrap: wrap;
    gap: 12px 24px;
    margin-top: 32px;
    padding-top: 24px;
    border-top: 1px solid var(--sd3-line);
    font-size: 14px;
    font-weight: 600;
}
.sd3-next span {
    color: var(--at-neutral-300);
}
.sd3-next a {
    color: var(--sd3-ink);
    text-decoration: none;
}
.sd3-next a:hover {
    color: var(--sd3-accent);
}
@media only screen and (max-width: 991px) {
.sd3-hero__stage {
    min-height: auto;
    padding: 120px 0px 40px;
}
.sd3-hero__core {
    max-width: 100%;
}
.sd3-hero__chrome {
    margin-bottom: 48px;
}
.sd3-out__strip {
    grid-template-columns: 1fr;
    gap: 24px;
    padding: 40px 0px 28px;
}
.sd3-out__metrics {
    grid-template-columns: repeat(2, minmax(0px, 1fr));
    gap: 20px 12px;
}
.sd3-out__metric {
    border-left: 0px;
    padding: 12px 0px 0px;
    border-top: 1px solid var(--sd3-line);
}
.sd3-out__metric:first-child {
    padding-left: 0px;
}
.sd3-runway__layout,
.sd3-cta__panel {
    grid-template-columns: 1fr;
}
.sd3-runway__sticky {
    position: static;
}
.sd3-track {
    grid-template-columns: 1fr;
}
.sd3-track__media {
    order: -1;
    max-width: 420px;
}
.sd3-tracks__stack .item {
    min-height: 85vh;
    padding: 28px 0px;
    align-items: flex-start;
}
}
@media only screen and (max-width: 767px) {
.sd3-hero__title {
    font-size: clamp(48px, 16vw, 72px);
}
.sd3-out__metrics {
    grid-template-columns: 1fr 1fr;
}
.sd3-tracks__stack .item {
    min-height: auto;
}
}
.alt-portfolio-content {
    background: var(--at-neutral-0);
    border-radius: 16px;
    padding: 16px 20px;
}
.alt-portfolio-thumb {
    border-radius: 16px;
}
.alt-portfolio-thumb::before {
    content: "";
    position: absolute;
    bottom: 0px;
    left: 0px;
    width: 100%;
    height: 50%;
    background: linear-gradient(rgba(26, 26, 26, 0) 11.93%, rgba(26, 26, 26, 0.76) 100%);
    z-index: 1;
}
.alt-portfolio-item {
    position: relative;
    z-index: 3;
}
@media only screen and (min-width: 992px) and (max-width: 1199px), only screen and (min-width: 768px) and (max-width: 991px), only screen and (min-width: 576px) and (max-width: 767px), (max-width: 574.98px) {
.alt-portfolio-item {
    margin-top: 0px;
    padding-top: 0px;
}
}
.alt-portfolio-item:hover .alt-portfolio-btn {
    transition: 0.4s;
    transform: translateY(0px);
}
.alt-portfolio-item:hover .alt-portfolio-btn .des {
    opacity: 1;
    visibility: visible;
    transition: 0.4s;
}
.alt-portfolio-btn {
    position: absolute;
    left: 54px;
    bottom: 45px;
    right: 80px;
    z-index: 2;
    transition: 0.4s;
    transform: translateY(40%);
}
@media only screen and (min-width: 1200px) and (max-width: 1399px), only screen and (min-width: 992px) and (max-width: 1199px), only screen and (min-width: 768px) and (max-width: 991px), only screen and (min-width: 576px) and (max-width: 767px), (max-width: 574.98px) {
.alt-portfolio-btn {
    left: 20px;
    bottom: 20px;
    right: 10px;
}
.alt-portfolio-btn .h2 {
    font-size: 28px;
}
}
.alt-portfolio-btn .des {
    opacity: 0;
    visibility: hidden;
    transition: 0.4s;
}
.card-award.style-1 {
    background-color: var(--at-common-white, #ffffff);
    border-radius: 16px;
    border: 1px solid var(--at-neutral-100);
    box-shadow: rgba(0, 0, 0, 0.05) 0px 1px 3px;
    padding: 20px 42px;
    transition: 0.3s;
    margin-bottom: 24px;
}
.card-award:hover {
    box-shadow: rgba(0, 0, 0, 0.1) 0px 4px 12px;
    border-color: var(--at-neutral-900);
    transition: 0.3s;
    background-color: var(--at-neutral-900);
}
.card-award:hover .card-award-date {
    color: var(--at-neutral-300);
    transition: 0.3s;
}
.card-award:hover .card-award-image img {
    transform: scale(1.2);
    transition: 0.3s;
}
.card-award:hover .card-award-title {
    transition: 0.3s;
    color: var(--at-common-white);
}
.card-award:hover .card-award-web-excellence {
    transition: 0.3s;
    color: var(--at-neutral-300);
}
.card-award:hover .card-award-url {
    transition: 0.3s;
    color: var(--at-neutral-300);
}
.card-award:hover .card-award-icon {
    color: var(--at-common-white);
    transition: 0.3s;
}
.card-award-link {
    text-decoration: none;
    color: inherit;
    gap: 0px;
    display: flex;
    align-items: center;
    flex-wrap: wrap;
}
@media only screen and (min-width: 576px) and (max-width: 767px), (max-width: 574.98px) {
.card-award-link {
    flex-wrap: wrap;
    gap: 5px;
}
}
@media (min-width: 1401px) {
.card-award-link {
    gap: 20px;
}
}
.card-award-date {
    flex: 0 0 200px;
    font-size: 14px;
    font-weight: 400;
    color: var(--at-neutral-500);
    white-space: nowrap;
    transition: 0.3s;
    font-family: var(--at-ff-body);
}
@media only screen and (min-width: 768px) and (max-width: 991px) {
.card-award-date {
    flex: 0 0 130px;
}
}
@media (max-width: 574.98px) {
.card-award-date {
    font-size: 12px;
}
}
.card-award-meta {
    flex: 1 1 0%;
}
.card-award-image {
    width: 90px;
    height: 62px;
    border-radius: 8px;
    overflow: hidden;
}
.card-award-image img {
    width: 100%;
    height: 100%;
    transition: 0.3s;
    object-fit: cover;
}
@media (max-width: 574.98px) {
.card-award-image {
    width: 60px;
    height: 42px;
}
}
.card-award-content {
    flex: 0 0 450px;
    display: flex;
    gap: 16px;
    align-items: center;
    min-width: 0px;
}
@media only screen and (min-width: 768px) and (max-width: 991px) {
.card-award-content {
    flex: 0 0 450px;
}
}
@media only screen and (min-width: 576px) and (max-width: 767px), (max-width: 574.98px) {
.card-award-content {
    flex: 1 1 100%;
}
}
.card-award-title {
    color: var(--at-common-black, #1d1d1d);
    line-height: 1.4;
    margin-bottom: 4px;
    font-family: var(--at-ff-body);
    transition: 0.3s;
    letter-spacing: -0.01em;
}
@media (max-width: 574.98px) {
.card-award-title {
    font-size: 14px;
}
}
.card-award-web-excellence {
    flex: 0 0 400px;
    color: var(--at-neutral-500);
    gap: 8px;
    transition: 0.3s;
    flex-wrap: wrap;
    font-family: var(--at-ff-body);
}
@media (max-width: 574.98px) {
.card-award-web-excellence {
    font-size: 12px;
}
}
.card-award-url {
    color: var(--at-common-black, #1d1d1d);
}
.card-award-icon {
    flex-shrink: 0;
    transition: 0.3s;
    width: 14px;
    height: 14px;
    color: var(--at-common-black, #1d1d1d);
    display: flex;
    align-items: center;
    justify-content: center;
}
.card-award-icon svg {
    width: 100%;
    height: 100%;
}
@media (max-width: 574.98px) {
.card-award-icon {
    width: 12px;
    height: 12px;
}
}
.card-award-link:hover .card-award-icon {
    transform: rotate(45deg);
}
.scroll-section .wrapper {
    position: relative;
    height: auto;
}
.scroll-section .list {
    height: 100%;
    position: relative;
}
.scroll-section .item {
    min-height: 100vh;
    width: 100%;
    top: 0px;
    left: 0px;
    right: 0px;
    height: auto;
}
.scroll-section .item:first-child {
    min-height: 100%;
    height: 100%;
}
.scroll-section .item:not(:first-child) {
    position: absolute;
}
.at-faq-item {
    border-radius: 0px;
    box-shadow: rgba(39, 39, 46, 0.04) 0px 0px 2px 0px;
    background: var(--at-neutral-50);
    padding: 10px 30px;
    margin-bottom: 16px;
}
.at-faq-body {
    font-size: 16px;
    line-height: 26px;
    padding-bottom: 14px;
    padding-right: 112px;
    padding-left: 45px;
}
@media only screen and (min-width: 576px) and (max-width: 767px), (max-width: 574.98px) {
.at-faq-body {
    padding-right: 0px;
}
}
.at-faq-body p {
    font-weight: 400;
    font-size: 15px;
    line-height: 167%;
    color: var(--at-neutral-700);
}
.at-faq-number {
    font-size: 16px;
    font-weight: 600;
    display: flex;
    width: 30px;
    height: 30px;
    justify-content: center;
    align-items: center;
    border-radius: 42px;
    background: var(--at-neutral-900);
    color: var(--at-common-white);
}
.at-faq-header {
    padding: 15px 0px;
}
.at-faq-button {
    background: transparent;
    font-weight: 600;
    font-size: 24px;
    color: var(--at-common-black);
    font-family: var(--at-ff-body);
    position: relative;
    width: 100%;
    text-align: left;
    padding-right: 50px;
}
@media (max-width: 574.98px) {
.at-faq-button {
    font-size: 18px;
}
}
.at-faq-button::before,
.at-faq-button::after {
    content: "";
    font-family: "Font Awesome 6 Pro";
    position: absolute;
    right: 0px;
    top: -3px;
    width: 36px;
    height: 36px;
    text-align: center;
    border-radius: 30px;
    line-height: 35px;
    font-size: 16px;
    font-weight: 400;
    color: var(--at-common-black);
    transition: 0.5s;
}
.at-faq-button.collapsed::after {
    content: "";
}
.at-banner-thumb {
    height: 800px;
}
@media only screen and (min-width: 1200px) and (max-width: 1399px), only screen and (min-width: 992px) and (max-width: 1199px) {
.at-banner-thumb {
    height: 600px;
}
}
@media only screen and (min-width: 768px) and (max-width: 991px), only screen and (min-width: 576px) and (max-width: 767px), (max-width: 574.98px) {
.at-banner-thumb {
    height: 400px;
}
}
.skill-cards {
    display: flex;
    flex-direction: column;
    gap: 24px;
}
.skill-card {
    display: flex;
    align-items: center;
    gap: 16px;
    padding: 16px 24px;
    background: var(--at-neutral-0);
    border-radius: 16px;
    border: 1px solid var(--at-neutral-100);
}
.skill-card__thumb {
    flex-shrink: 0;
    width: 90px;
    height: 62px;
    border-radius: 8px;
    overflow: hidden;
}
.skill-card__thumb img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.skill-card__content {
    flex: 1 1 0%;
    min-width: 0px;
}
.skill-card__title {
    flex: 0 0 500px;
    font-weight: 600;
    letter-spacing: -1.2px;
    color: var(--at-neutral-900);
    margin-bottom: 0px;
}
@media only screen and (min-width: 1200px) and (max-width: 1399px) {
.skill-card__title {
    flex: 0 0 200px;
}
}
@media only screen and (min-width: 768px) and (max-width: 991px) {
.skill-card__title {
    flex: 0 0 100px;
}
}
@media only screen and (min-width: 576px) and (max-width: 767px) {
.skill-card__title {
    flex: 0 0 100px;
}
}
@media (max-width: 574.98px) {
.skill-card__title {
    flex: 1 1 0%;
}
}
.skill-card__tags {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}
.skill-card__tag {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 10px 27px;
    font-size: 24px;
    font-weight: 600;
    letter-spacing: -1.2px;
    color: var(--at-neutral-900, #171717);
    background: var(--at-neutral-50, #fafafa);
    border: 1px solid var(--at-neutral-100, #e5e5e5);
    border-radius: 100px;
    transition: 0.3s;
}
.skill-card__tag:hover {
    background: var(--at-neutral-0);
    border: 1px solid var(--at-neutral-900);
}
.skill-card__score {
    flex-shrink: 0;
    font-size: 24px;
    font-weight: 600;
    color: var(--at-neutral-900);
}
.skill-card__score .skill-card__score-value {
    font-size: 36px;
}
.skill-card__score .skill-card__score-value .odometer {
    letter-spacing: 0px;
}
@media only screen and (min-width: 992px) and (max-width: 1199px) {
.skill-card {
    gap: 20px;
    padding: 14px 20px;
}
.skill-card__tag {
    font-size: 20px;
    padding: 5px 10px;
}
.skill-card__score {
    font-size: 15px;
}
}
@media only screen and (min-width: 768px) and (max-width: 991px) {
.skill-card {
    gap: 16px;
    padding: 14px 20px;
}
.skill-card__tag {
    font-size: 16px;
    padding: 5px 10px;
}
.skill-card__score {
    font-size: 14px;
}
}
@media only screen and (min-width: 576px) and (max-width: 767px), (max-width: 574.98px) {
.skill-card {
    flex-direction: column;
    align-items: flex-start;
    gap: 12px;
    padding: 16px;
}
.skill-card__tags {
    gap: 6px;
}
.skill-card__tag {
    font-size: 16px;
    padding: 5px 10px;
}
.skill-card__score {
    font-size: 14px;
    align-self: flex-end;
}
}
@media (max-width: 574.98px) {
.skill-card {
    padding: 14px;
}
.skill-card__tag {
    font-size: 16px;
    padding: 4px 8px;
}
}
.block-journey .journey-list-wrap {
    position: relative;
    padding-left: 80px;
}
@media only screen and (min-width: 576px) and (max-width: 767px), (max-width: 574.98px) {
.block-journey .journey-list-wrap {
    padding-left: 30px;
}
}
.block-journey .journey-list-line {
    position: absolute;
    left: 0px;
    top: 0px;
    width: 3px;
    height: 0px;
    background: var(--at-neutral-700, #3d3d3d);
    will-change: height;
}
.block-journey .journey-list {
    list-style: none;
    padding: 0px;
    margin: 0px;
}
.block-journey .journey-list__item {
    display: grid;
    grid-template-columns: minmax(140px, 180px) 1fr auto;
    gap: 24px 32px;
    align-items: flex-start;
    padding: 24px 0px;
    border-bottom: 1px solid var(--at-neutral-700, #3d3d3d);
}
.block-journey .journey-list__item:first-child {
    padding-top: 0px;
}
.block-journey .journey-list__item:last-child {
    padding-bottom: 0px;
    border-bottom-width: medium;
    border-bottom-style: none;
    border-bottom-color: currentcolor;
}
.block-journey .journey-list__item:last-child .journey-list__desc {
    margin-bottom: 0px;
}
@media only screen and (min-width: 768px) and (max-width: 991px), only screen and (min-width: 576px) and (max-width: 767px), (max-width: 574.98px) {
.block-journey .journey-list__item {
    grid-template-columns: 1fr auto;
    gap: 8px 16px;
    padding: 20px 0px;
}
.block-journey .journey-list__item .journey-list__date {
    grid-column: 1;
}
.block-journey .journey-list__item .journey-list__body {
    grid-area: 2 / 1;
}
.block-journey .journey-list__item .journey-list__link {
    grid-area: 1 / 2 / 3;
    align-self: center;
}
}
.block-journey .journey-list__date {
    font-size: 14px;
    font-weight: 500;
    line-height: 1.4;
    letter-spacing: 0.01em;
    color: var(--at-neutral-0);
    flex-shrink: 0;
    padding-top: 2px;
}
@media only screen and (min-width: 768px) and (max-width: 991px), only screen and (min-width: 576px) and (max-width: 767px), (max-width: 574.98px) {
.block-journey .journey-list__date {
    font-size: 13px;
}
}
.block-journey .journey-list__body {
    max-width: 75%;
}
@media only screen and (min-width: 576px) and (max-width: 767px), (max-width: 574.98px) {
.block-journey .journey-list__body {
    max-width: 100%;
}
}
.block-journey .journey-list__title {
    font-size: 24px;
    font-weight: 600;
    letter-spacing: -0.02em;
    line-height: 1.35;
    color: var(--at-neutral-0);
    margin: 0px 0px 6px;
}
@media only screen and (min-width: 768px) and (max-width: 991px), only screen and (min-width: 576px) and (max-width: 767px), (max-width: 574.98px) {
.block-journey .journey-list__title {
    font-size: 18px;
}
}
.block-journey .journey-list__company {
    font-weight: 500;
    opacity: 0.9;
}
.block-journey .journey-list__desc {
    font-size: 15px;
    font-weight: 400;
    line-height: 1.5;
    letter-spacing: 0.01em;
    color: rgba(255, 255, 255, 0.65);
    margin-bottom: 40px;
}
@media only screen and (min-width: 768px) and (max-width: 991px), only screen and (min-width: 576px) and (max-width: 767px), (max-width: 574.98px) {
.block-journey .journey-list__desc {
    font-size: 14px;
}
}
.block-journey .journey-list__link {
    display: inline-flex;
    align-items: flex-start;
    align-self: flex-start;
    justify-content: flex-start;
    color: var(--at-neutral-0);
    padding: 8px;
    margin: -8px;
    transition: opacity 0.2s;
}
.block-journey .journey-list__link:hover {
    opacity: 0.8;
}
.block-journey .journey-list__link svg {
    display: block;
}
.at-item-anime.marque {
    overflow: hidden;
    border-radius: 16px;
}
.at-item-anime.marque img {
    transition: transform 0.6s;
}
.at-item-anime.marque:hover img {
    transform: scale(1.05);
    filter: brightness(1.1);
    transition: transform 0.6s;
}
.sec-1-home-8 {
    background-color: var(--at-neutral-0);
}
.sec-1-home-8 .h8-grid-lines {
    position: absolute;
    inset: 0px;
    z-index: 0;
    pointer-events: none;
    background-image: repeating-linear-gradient(to right, var(--at-neutral-100) 0px, var(--at-neutral-100) 1px, transparent 1px, transparent 5px, var(--at-neutral-100) 5px, var(--at-neutral-100) 6px, transparent 6px, transparent 278px);
    background-size: 278px 100%;
    background-position: 265px 0px;
}
.sec-1-home-8 .h8-container {
    padding-left: clamp(20px, 5.2vw, 100px);
    padding-right: clamp(20px, 5.2vw, 100px);
    position: relative;
    z-index: 1;
}
.sec-1-home-8 .h8-row-1 {
    padding-top: clamp(130px, 9.5vw, 185px);
    padding-bottom: clamp(30px, 3vw, 55px);
}
.sec-1-home-8 .h8-col-left {
    display: flex;
    align-items: flex-start;
}
.sec-1-home-8 .h8-headline-group {
    gap: clamp(20px, 2.9vw, 55px);
    align-items: flex-start;
}
.sec-1-home-8 .h8-badge {
    position: relative;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: clamp(80px, 7.34vw, 141px);
    height: clamp(80px, 7.34vw, 141px);
    flex-shrink: 0;
    text-decoration: none;
    transition: transform 0.3s;
}
.sec-1-home-8 .h8-badge:hover {
    transform: scale(1.06);
}
.sec-1-home-8 .h8-badge__bg {
    position: absolute;
    inset: 0px;
    width: 100%;
    height: 100%;
}
.sec-1-home-8 .h8-badge__inner {
    position: relative;
    z-index: 1;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 7px;
    color: rgb(255, 255, 255);
}
.sec-1-home-8 .h8-badge__inner span {
    font-size: clamp(10px, 0.83vw, 16px);
    font-weight: 700;
    letter-spacing: -0.05em;
    text-transform: uppercase;
    white-space: nowrap;
}
.sec-1-home-8 .h8-badge__inner svg {
    width: clamp(10px, 0.73vw, 14px);
    height: auto;
}
.sec-1-home-8 .h8-headline {
    font-size: clamp(32px, 3.33vw, 64px);
    font-weight: 600;
    line-height: 1.125;
    letter-spacing: 0px;
    text-transform: uppercase;
    color: var(--at-neutral-0);
    -webkit-text-stroke: 1.5px var(--at-neutral-950);
    paint-order: stroke;
    max-width: clamp(280px, 35.7vw, 686px);
}
.sec-1-home-8 .h8-col-right {
    display: flex;
    align-items: flex-start;
    justify-content: flex-end;
}
.sec-1-home-8 .h8-photos {
    gap: clamp(16px, 4.3vw, 82px);
    align-items: flex-start;
}
.sec-1-home-8 .h8-photo-box {
    width: clamp(100px, 10.1vw, 194px);
    overflow: hidden;
    flex-shrink: 0;
    will-change: transform;
}
.sec-1-home-8 .h8-photo-box img {
    width: 100%;
    height: clamp(130px, 12.76vw, 245px);
    object-fit: cover;
    display: block;
}
.sec-1-home-8 .h8-photo-box.h8-photo-down img {
    height: clamp(112px, 11.2vw, 215px);
    margin-top: clamp(8px, 0.78vw, 15px);
}
.sec-1-home-8 .h8-row-2 {
    padding-bottom: clamp(50px, 5vw, 0px);
}
.sec-1-home-8 .h8-col-left-2 {
    display: flex;
    align-items: flex-start;
}
.sec-1-home-8 .h8-col-right-2 {
    display: flex;
    align-items: flex-start;
    justify-content: flex-end;
    padding-top: clamp(20px, 2vw, 30px);
}
.sec-1-home-8 .h8-stats {
    gap: clamp(24px, 3.8vw, 73px);
}
.sec-1-home-8 .h8-stat-num {
    font-size: clamp(56px, 6.46vw, 124px);
    font-weight: 500;
    line-height: 1;
    letter-spacing: -0.05em;
    color: var(--at-neutral-900);
    margin-bottom: clamp(8px, 0.5vw, 12px);
}
.sec-1-home-8 .h8-stat-num .odometer {
    letter-spacing: -0.05em;
}
.sec-1-home-8 .h8-stat-desc {
    font-size: clamp(14px, 1.25vw, 24px);
    font-weight: 500;
    letter-spacing: -0.05em;
    line-height: 1.4;
    color: var(--at-neutral-900);
    max-width: clamp(180px, 17vw, 326px);
    margin-bottom: 0px;
}
.sec-1-home-8 .h8-bottom-band {
    position: relative;
    z-index: 1;
    overflow: hidden;
    padding-top: 70px;
}
.sec-1-home-8 .h8-big-title {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: clamp(6px, 1.5vw, 24px);
    font-size: clamp(52px, 12.5vw, 105px);
    font-weight: 800;
    line-height: 1.05;
    letter-spacing: -0.07em;
    text-transform: uppercase;
    color: var(--at-theme-primary);
    white-space: nowrap;
    padding: clamp(8px, 1vw, 20px) 0px clamp(10px, 1.2vw, 24px);
    margin-bottom: 0px;
}
.sec-1-home-8 .h8-registered {
    font-size: 0.22em;
    vertical-align: super;
    line-height: 1;
    color: var(--at-theme-primary);
    font-style: normal;
}
.sec-1-home-8 .h8-portrait-frame {
    display: inline-block;
    width: clamp(60px, 10.6vw, 204px);
    height: clamp(55px, 9.74vw, 187px);
    overflow: hidden;
    flex-shrink: 0;
    clip-path: polygon(25.35% 0%, 100% 0%, 74.65% 100%, 0% 100%);
}
.sec-1-home-8 .h8-portrait-frame img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center top;
    display: block;
    pointer-events: none;
}
.sec-1-home-8 .h8-bottom-meta {
    padding: clamp(8px, 0.8vw, 16px) clamp(20px, 5.2vw, 100px) clamp(24px, 2vw, 40px);
}
.sec-1-home-8 .h8-bottom-meta svg {
    color: var(--at-neutral-900);
    flex-shrink: 0;
}
.sec-1-home-8 .h8-meta-text {
    font-size: clamp(12px, 1.46vw, 28px);
    font-weight: 600;
    letter-spacing: -0.05em;
    text-transform: uppercase;
    color: var(--at-neutral-900);
    white-space: nowrap;
}
@media (max-width: 1199px) {
.sec-1-home-8 .h8-col-right,
.sec-1-home-8 .h8-col-right-2 {
    justify-content: flex-start;
    margin-top: 30px;
}
.sec-1-home-8 .h8-photos {
    flex-wrap: wrap;
    overflow: visible;
}
.sec-1-home-8 .h8-big-title {
    flex-wrap: wrap;
    white-space: normal;
    text-align: center;
    justify-content: center;
}
}
@media (min-width: 768px) and (max-width: 1199px) {
.sec-1-home-8 .h8-photos {
    display: grid;
    grid-template-columns: repeat(3, minmax(0px, 1fr));
    gap: 18px;
    width: 100%;
}
.sec-1-home-8 .h8-photo-box {
    width: auto;
}
.sec-1-home-8 .h8-photo-box img {
    height: clamp(160px, 22vw, 210px);
}
.sec-1-home-8 .h8-photo-box.h8-photo-down img {
    height: clamp(150px, 20vw, 198px);
    margin-top: 0px;
}
}
@media (max-width: 767px) {
.sec-1-home-8 .h8-headline-group {
    flex-direction: column;
    gap: 20px;
}
.sec-1-home-8 .h8-stats {
    flex-direction: column;
    gap: 30px;
}
.sec-1-home-8 .h8-photos {
    gap: 12px;
}
.sec-1-home-8 .h8-big-title {
    font-size: clamp(40px, 10vw, 80px);
    letter-spacing: -0.05em;
}
.sec-1-home-8 .h8-portrait-frame {
    display: none;
}
.sec-1-home-8 .h8-bottom-meta {
    flex-direction: column;
    align-items: flex-start;
    gap: 8px;
}
}
.sec-2-home-8 {
    overflow: hidden;
}
.sec-2-home-8__row {
    position: relative;
    width: 100%;
    overflow: hidden;
}
.sec-2-home-8__ticker {
    background-color: var(--at-theme-primary);
}
.sec-2-home-8__list {
    white-space: nowrap;
    gap: 20px;
}
@media only screen and (min-width: 768px) and (max-width: 991px), only screen and (min-width: 576px) and (max-width: 767px), (max-width: 574.98px) {
.sec-2-home-8__list {
    gap: 16px;
}
}
.sec-2-home-8__item {
    font-family: var(--at-heading-font);
    font-size: 32px;
    font-weight: 600;
    line-height: 1.2;
    letter-spacing: -0.05em;
    color: var(--at-neutral-0);
    flex-shrink: 0;
}
@media only screen and (min-width: 768px) and (max-width: 991px) {
.sec-2-home-8__item {
    font-size: 26px;
}
}
@media only screen and (min-width: 576px) and (max-width: 767px), (max-width: 574.98px) {
.sec-2-home-8__item {
    font-size: 20px;
}
}
.sec-2-home-8__sep {
    width: 16px;
    height: 16px;
    flex: 0 0 16px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}
@media only screen and (min-width: 576px) and (max-width: 767px), (max-width: 574.98px) {
.sec-2-home-8__sep {
    width: 14px;
    height: 14px;
    flex-basis: 14px;
}
}
.sec-2-home-8__rules {
    height: 28px;
    width: 100%;
    background-color: var(--at-neutral-0);
    background-image: linear-gradient(to bottom, var(--at-theme-primary) 0, var(--at-theme-primary) 1px, transparent 1px, transparent 6px, var(--at-theme-primary) 6px, var(--at-theme-primary) 7px, transparent 7px, transparent 11px, var(--at-theme-primary) 11px, var(--at-theme-primary) 12px, transparent 12px, transparent 15px, var(--at-theme-primary) 15px, var(--at-theme-primary) 16px, transparent 16px, transparent 19px, var(--at-theme-primary) 19px, var(--at-theme-primary) 20px, transparent 20px);
}
.sec-3-home-8 {
    background-color: var(--at-neutral-0);
    padding-top: clamp(60px, 5.9vw, 113px);
    padding-bottom: clamp(60px, 7.5vw, 145px);
}
.sec-3-home-8__container {
    padding-left: clamp(24px, 4.5vw, 86px);
    padding-right: clamp(24px, 4.5vw, 86px);
}
.sec-3-home-8__title {
    font-size: clamp(40px, 4.375vw, 84px);
    font-weight: 600;
    line-height: 1;
    letter-spacing: -0.05em;
    color: var(--at-neutral-950);
    max-width: 644px;
    margin-bottom: clamp(24px, 2.1vw, 40px);
}
.sec-3-home-8__title-accent {
    color: var(--at-theme-primary);
}
.sec-3-home-8__lead {
    font-size: clamp(18px, 1.25vw, 24px);
    font-weight: 500;
    line-height: 1.3;
    letter-spacing: -0.05em;
    color: var(--at-neutral-950);
    max-width: 600px;
    margin-bottom: clamp(28px, 2.2vw, 40px);
}
.sec-3-home-8__tags {
    gap: 6px;
    max-width: 360px;
}
.sec-3-home-8__tag {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 10.5px 19px;
    border: 1px solid var(--at-neutral-100);
    border-radius: 32px;
    font-size: 12px;
    font-weight: 600;
    letter-spacing: -0.02em;
    text-transform: uppercase;
    color: var(--at-neutral-900);
    line-height: 1;
}
.sec-3-home-8__media {
    gap: clamp(16px, 1.56vw, 30px);
}
.sec-3-home-8__photo {
    overflow: hidden;
    flex-shrink: 0;
}
.sec-3-home-8__photo img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}
.sec-3-home-8__photo--narrow {
    width: min(100%, 334px);
    height: clamp(220px, 19.4vw, 373px);
    margin-top: clamp(32px, 4.8vw, 92px);
}
.sec-3-home-8__photo--wide {
    width: min(100%, 407px);
    height: clamp(280px, 24.2vw, 465px);
}
@media (max-width: 991px) {
.sec-3-home-8 .sec-3-home-8__media {
    flex-wrap: wrap;
}
.sec-3-home-8 .sec-3-home-8__photo--narrow {
    margin-top: 0px;
}
}
.sec-4-home-8 {
    background-color: var(--at-neutral-0);
    border-top: 1px solid var(--at-neutral-100);
    position: relative;
}
.sec-4-home-8__top {
    width: 100%;
}
.sec-4-home-8__kicker {
    font-size: 16px;
    letter-spacing: -0.05em;
    color: var(--at-neutral-900);
}
.sec-4-home-8__kicker-icon {
    display: inline-flex;
    color: var(--at-neutral-900);
    line-height: 0;
}
.sec-4-home-8__since {
    color: var(--at-neutral-900);
}
.sec-4-home-8__card {
    overflow: hidden;
    padding-bottom: clamp(20px, 2vw, 28px);
}
.sec-4-home-8__img-stack {
    height: 410px;
    margin-bottom: clamp(16px, 1.8vw, 24px);
}
@media only screen and (min-width: 576px) and (max-width: 767px), (max-width: 574.98px) {
.sec-4-home-8__img-stack {
    height: 300px;
}
}
.sec-4-home-8__img-stack .hover-image img {
    border-radius: 0px;
}
.sec-4-home-8__caption {
    color: var(--at-neutral-950);
    letter-spacing: -0.02em;
    line-height: 1.4;
    padding-left: clamp(16px, 2vw, 24px);
    padding-right: clamp(16px, 2vw, 24px);
}
.sec-4-home-8__deco {
    display: flex;
    justify-content: flex-end;
    padding-right: clamp(16px, 4vw, 48px);
    position: absolute;
    top: 60%;
    left: 30%;
}
.sec-4-home-8__deco .at-about-svg-wrap {
    transform: translateY(0px);
}
.sec-4-home-8__list-wrap .at-service-item {
    padding-top: 34px;
    padding-bottom: 34px;
    grid-template-columns: 80px 1fr 300px;
    gap: 15px 45px;
}
@media only screen and (min-width: 992px) and (max-width: 1199px), only screen and (min-width: 768px) and (max-width: 991px) {
.sec-4-home-8__list-wrap .at-service-item {
    grid-template-columns: 70px 1fr 240px;
    gap: 12px 24px;
}
}
@media only screen and (min-width: 576px) and (max-width: 767px), (max-width: 574.98px) {
.sec-4-home-8__list-wrap .at-service-item {
    grid-template-columns: 1fr;
    padding-top: 24px;
    padding-bottom: 24px;
}
}
.sec-4-home-8__list-wrap .at-service-item .number {
    font-size: 24px;
    letter-spacing: -0.05em;
}
.sec-4-home-8__list-wrap .at-service-item .content .title {
    font-size: clamp(40px, 4.6vw, 72px);
    line-height: 1.05;
    letter-spacing: -0.05em;
    opacity: 1;
}
.sec-4-home-8__list-wrap .at-service-item .content .text {
    opacity: 1;
    max-height: none;
    font-size: 20px;
    font-weight: 500;
    letter-spacing: -0.02em;
    max-width: 480px;
    color: var(--at-neutral-900);
}
.sec-4-home-8__list-wrap .at-service-item .thumb img {
    border-radius: 0px;
    max-width: 190px;
    width: 190px;
    height: 115px;
    object-fit: cover;
    transition: transform 0.35s, filter 0.35s;
}
.sec-4-home-8__list-wrap .at-service-item.active .number,
.sec-4-home-8__list-wrap .at-service-item:hover .number {
    color: var(--at-theme-primary);
    opacity: 1;
}
.sec-4-home-8__list-wrap .at-service-item:first-child .thumb img,
.sec-4-home-8__list-wrap .at-service-item:first-child:hover .thumb img {
    max-width: 284px;
    width: 284px;
    height: 174px;
}
.sec-6-home-8 {
    background-color: var(--at-neutral-50);
    padding-top: clamp(70px, 6vw, 110px);
    padding-bottom: clamp(70px, 6vw, 110px);
}
.sec-6-home-8__container {
    padding-left: clamp(20px, 5.2vw, 100px);
    padding-right: clamp(20px, 5.2vw, 100px);
}
.sec-6-home-8__top {
    margin-bottom: clamp(28px, 3.2vw, 60px);
}
.sec-6-home-8__kicker {
    font-size: 16px;
    font-weight: 600;
    letter-spacing: -0.05em;
    text-transform: uppercase;
    color: var(--at-neutral-900);
}
.sec-6-home-8__kicker-icon {
    display: inline-flex;
    color: var(--at-neutral-900);
    line-height: 0;
}
.sec-6-home-8__view-all {
    font-size: 16px;
    font-weight: 500;
    letter-spacing: -0.02em;
    color: var(--at-neutral-900);
    text-decoration: underline;
    text-underline-offset: 3px;
}
.sec-6-home-8__grid {
    display: grid;
    gap: 30px;
    grid-template-columns: 408px 1fr 408px;
    grid-auto-rows: min-content;
    align-items: start;
}
@media (max-width: 1399px) {
.sec-6-home-8__grid {
    grid-template-columns: 1fr;
}
}
.sec-6-home-8__card {
    display: flex;
    flex-direction: column;
    gap: 8px;
    text-decoration: none;
    color: inherit;
    will-change: transform;
}
.sec-6-home-8__card:hover .sec-6-home-8__img img {
    transform: scale(1.06);
    filter: brightness(1.05);
}
.sec-6-home-8__img {
    border-radius: 16px;
    overflow: hidden;
    background: var(--at-neutral-200);
}
.sec-6-home-8__img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    transition: transform 0.35s, filter 0.35s;
}
.sec-6-home-8__meta {
    height: 88px;
    border-radius: 16px;
    background: var(--at-neutral-0);
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 0px 45px;
    overflow: hidden;
}
.sec-6-home-8__title {
    font-size: 36px;
    font-weight: 600;
    letter-spacing: -0.05em;
    color: var(--at-neutral-900);
}
.sec-6-home-8__plus {
    display: inline-flex;
    color: var(--at-neutral-900);
    line-height: 0;
}
.sec-6-home-8__card--sm .sec-6-home-8__img {
    height: 320px;
}
.sec-6-home-8__card--md .sec-6-home-8__img {
    height: 350px;
}
.sec-6-home-8__card--lg .sec-6-home-8__img {
    height: 450px;
}
@media (min-width: 1441px) {
.sec-6-home-8__card--sm .sec-6-home-8__img {
    height: 358px;
}
.sec-6-home-8__card--md .sec-6-home-8__img {
    height: 632px;
}
.sec-6-home-8__card--lg .sec-6-home-8__img {
    height: 751px;
}
}
@media (min-width: 1400px) {
.sec-6-home-8__card--lt {
    grid-area: 1 / 1;
    margin-top: 67px;
}
.sec-6-home-8__card--lb {
    grid-area: 3 / 1;
    margin-top: 0px;
}
.sec-6-home-8__card--ct {
    grid-area: 1 / 2;
}
.sec-6-home-8__card--cm {
    grid-area: 2 / 2;
    margin-top: 52px;
}
.sec-6-home-8__card--cb {
    grid-area: 3 / 2;
}
.sec-6-home-8__card--rt {
    grid-area: 1 / 3;
    margin-top: 260px;
}
.sec-6-home-8__card--rb {
    grid-area: 3 / 3;
    margin-top: 0px;
}
}
@media (max-width: 767px) {
.sec-6-home-8__grid {
    gap: 18px;
}
.sec-6-home-8__meta {
    padding: 0px 18px;
    height: 70px;
}
.sec-6-home-8__title {
    font-size: 24px;
}
}
.sec-7-home-8 {
    background-color: var(--at-neutral-0);
    padding-top: clamp(70px, 6vw, 130px);
    padding-bottom: clamp(70px, 6vw, 130px);
}
.sec-7-home-8__container {
    padding-left: clamp(20px, 5.2vw, 100px);
    padding-right: clamp(20px, 5.2vw, 100px);
}
.sec-7-home-8__title {
    font-size: clamp(36px, 3.75vw, 72px);
    font-weight: 600;
    line-height: 1.05;
    letter-spacing: -0.05em;
    color: var(--at-neutral-900);
    max-width: 920px;
}
.sec-7-home-8__cta {
    background: var(--at-neutral-900);
}
.sec-7-home-8__rails {
    margin-top: clamp(28px, 3.2vw, 55px);
    overflow: hidden;
}
.sec-7-home-8__rail {
    padding: 0px;
}
.sec-7-home-8__rail .swiper {
    width: 100%;
}
.sec-7-home-8__rail .swiper-slide {
    width: auto;
}
.sec-7-home-8__rail .about-me-slider-thumb {
    overflow: hidden;
    border-radius: 16px;
    background: var(--at-neutral-300);
}
.sec-7-home-8__rail .about-me-slider-thumb img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}
.sec-7-home-8__rail--reverse {
    margin-top: 30px;
    transform: scaleX(-1);
}
.sec-7-home-8__rail--reverse .swiper,
.sec-7-home-8__rail--reverse .swiper-slide,
.sec-7-home-8__rail--reverse .about-me-slider-thumb,
.sec-7-home-8__rail--reverse img {
    transform: scaleX(-1);
}
.sec-7-home-8__about {
    margin-top: clamp(34px, 3.8vw, 72px);
    justify-content: flex-end;
    max-width: 820px;
    margin-left: auto;
}
.sec-7-home-8__mark {
    flex: 0 0 83px;
    width: 83px;
    height: 83px;
    color: var(--at-neutral-900);
}
.sec-7-home-8__desc {
    font-size: 36px;
    font-weight: 600;
    letter-spacing: -0.05em;
    line-height: 1.35;
    color: var(--at-neutral-900);
    max-width: 700px;
}
@media (max-width: 1399px) {
.sec-7-home-8__rail .about-me-slider-thumb {
    height: 420px;
}
.sec-7-home-8__rail--reverse .about-me-slider-thumb {
    height: 520px;
}
.sec-7-home-8__desc {
    font-size: 24px;
}
}
@media (max-width: 767px) {
.sec-7-home-8__rail .about-me-slider-thumb {
    height: 300px;
}
.sec-7-home-8__rail--reverse .about-me-slider-thumb {
    height: 360px;
}
.sec-7-home-8__mark {
    width: 58px;
    height: 58px;
    flex-basis: 58px;
}
}
.sec-8-home-8 {
    background: var(--at-neutral-50);
    padding-top: clamp(70px, 6vw, 130px);
    padding-bottom: clamp(70px, 6vw, 130px);
}
.sec-8-home-8__container {
    padding-left: clamp(20px, 5.2vw, 102px);
    padding-right: clamp(20px, 5.2vw, 102px);
}
.sec-8-home-8__kicker {
    font-size: 16px;
    font-weight: 600;
    letter-spacing: -0.05em;
    text-transform: uppercase;
    color: var(--at-neutral-900);
    white-space: nowrap;
}
.sec-8-home-8__kicker-icon {
    width: 14px;
    height: 13px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}
.sec-8-home-8__trusted {
    font-size: 16px;
    font-weight: 500;
    letter-spacing: -0.02em;
    color: var(--at-neutral-900);
    white-space: nowrap;
    text-underline-offset: 3px;
}
.sec-8-home-8__stage {
    position: relative;
    min-height: 1150px;
}
.sec-8-home-8__center {
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -58%);
    text-align: center;
    width: min(595px, 92vw);
}
.sec-8-home-8__asterisk {
    width: 122px;
    height: auto;
    display: block;
    margin: 0px auto 22px;
    transform-origin: 50% 50%;
}
.sec-8-home-8__title {
    font-size: clamp(44px, 4.375vw, 84px);
    font-weight: 600;
    line-height: 1;
    letter-spacing: -0.05em;
    color: var(--at-neutral-900);
}
.sec-8-home-8__group {
    position: absolute;
    width: 408px;
    display: flex;
    flex-direction: column;
    gap: 8px;
}
.sec-8-home-8__namebar {
    height: 88px;
    background: var(--at-neutral-0);
    border-radius: 16px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 0px 45px;
    overflow: hidden;
}
.sec-8-home-8__name {
    font-size: 24px;
    font-weight: 600;
    letter-spacing: -0.05em;
    color: var(--at-neutral-900);
    white-space: nowrap;
}
.sec-8-home-8__plus {
    font-size: 24px;
    font-weight: 600;
    letter-spacing: -0.05em;
    color: var(--at-neutral-500);
    flex-shrink: 0;
}
.sec-8-home-8__card {
    height: 450px;
    background: var(--at-neutral-0);
    border-radius: 16px;
    position: relative;
    overflow: hidden;
}
.sec-8-home-8__role {
    position: absolute;
    top: 52px;
    right: 37px;
    text-align: right;
    font-size: 16px;
    font-weight: 500;
    letter-spacing: -0.02em;
    color: var(--at-neutral-900);
    line-height: 1.2;
}
.sec-8-home-8__role span {
    display: block;
}
.sec-8-home-8__body {
    position: absolute;
    left: 48px;
    top: 117px;
    width: 323px;
    display: flex;
    flex-direction: column;
    gap: 32px;
}
.sec-8-home-8__avatar {
    width: 65px;
    height: 65px;
    border-radius: 8px;
    border: 4px solid var(--at-neutral-50);
    overflow: hidden;
}
.sec-8-home-8__quote {
    font-size: 20px;
    font-weight: 500;
    letter-spacing: -0.02em;
    color: var(--at-neutral-500);
    line-height: 1.4;
}
.sec-8-home-8__stars {
    position: absolute;
    left: 48px;
    bottom: 62px;
    display: flex;
    gap: 4px;
}
.sec-8-home-8__group--a {
    left: 0px;
    top: 30px;
}
.sec-8-home-8__group--b {
    right: 0px;
    top: 324px;
}
.sec-8-home-8__group--c {
    left: 145px;
    top: 827px;
}
.sec-8-home-8__group--d {
    left: 50%;
    top: 1028px;
}
@media (max-width: 1399px) {
.sec-8-home-8__stage {
    min-height: auto;
}
.sec-8-home-8__center {
    position: static;
    transform: none;
    margin: 0px auto 40px;
}
.sec-8-home-8__group {
    position: static;
    width: 100%;
    max-width: 560px;
    margin: 0px auto 24px;
}
.sec-8-home-8__card {
    height: auto;
    padding: 40px 24px 90px;
}
.sec-8-home-8__role {
    position: static;
    text-align: left;
    margin-bottom: 18px;
}
.sec-8-home-8__body {
    position: static;
    width: auto;
}
.sec-8-home-8__stars {
    left: 24px;
    bottom: 32px;
}
}
.sec-9-home-8 {
    position: relative;
    background: var(--at-neutral-900);
    overflow: hidden;
    padding-top: clamp(80px, 7vw, 140px);
    padding-bottom: clamp(80px, 7vw, 140px);
}
.sec-9-home-8__bg {
    position: absolute;
    inset: 0px;
    z-index: 0;
    pointer-events: none;
}
.sec-9-home-8__container {
    position: relative;
    z-index: 1;
    padding-left: clamp(20px, 5.2vw, 100px);
    padding-right: clamp(20px, 5.2vw, 100px);
}
.sec-9-home-8__title {
    font-size: clamp(36px, 3.75vw, 72px);
    font-weight: 600;
    line-height: 1.05;
    letter-spacing: -0.05em;
    color: var(--at-neutral-0);
    max-width: 660px;
    margin-bottom: 18px;
}
.sec-9-home-8__lead {
    font-size: clamp(16px, 1.15vw, 22px);
    font-weight: 500;
    letter-spacing: -0.05em;
    color: rgba(var(--at-neutral-0-rgb), 0.92);
    max-width: 430px;
    margin-bottom: 38px;
}
.sec-9-home-8__cta {
    display: inline-flex;
    align-items: center;
}
.sec-9-home-8__cta-btn {
    height: 50px;
    display: inline-flex;
    align-items: center;
    padding: 0px 27px;
    border-radius: 50px;
    background: var(--at-neutral-0);
    color: var(--at-neutral-900);
    font-size: 16px;
    font-weight: 600;
    letter-spacing: -0.05em;
    text-decoration: none;
    transition: transform 0.25s, background 0.25s;
}
.sec-9-home-8__cta-btn:hover {
    transform: translateY(-2px);
}
.sec-9-home-8__cta-icon {
    width: 50px;
    height: 50px;
    border-radius: 100px;
    background: var(--at-neutral-0);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    margin-left: 0px;
    text-decoration: none;
    transition: transform 0.25s;
}
.sec-9-home-8__cta-icon:hover {
    transform: translateY(-2px);
}
.sec-9-home-8__card {
    display: block;
    border-radius: 16px;
    overflow: hidden;
    background: var(--at-neutral-100);
    position: relative;
    height: 457px;
    text-decoration: none;
}
.sec-9-home-8__card-media {
    position: absolute;
    inset: 0px;
}
.sec-9-home-8__card-visors {
    position: absolute;
    left: 50%;
    bottom: 0px;
    transform: translateX(-50%);
    width: 100%;
    height: auto;
    object-fit: cover;
    display: block;
    pointer-events: none;
    mix-blend-mode: multiply;
    opacity: 1;
}
.sec-9-home-8__card-overlay {
    position: absolute;
    left: 43px;
    right: 43px;
    bottom: 38px;
    z-index: 2;
    color: rgb(255, 255, 255);
}
.sec-9-home-8__card-kicker {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    font-size: 16px;
    font-weight: 600;
    letter-spacing: -0.05em;
    text-transform: uppercase;
    margin-bottom: 12px;
}
.sec-9-home-8__card-text {
    font-size: 24px;
    font-weight: 600;
    letter-spacing: -0.05em;
    max-width: 360px;
    line-height: 1.25;
    color: rgb(255, 255, 255);
}
@media (max-width: 1199px) {
.sec-9-home-8__card {
    height: auto;
    min-height: 380px;
}
}
/* La variante Bootstrap fournit ses couleurs ; le bouton conserve sinon son état neutre. */
.at-btn {
    gap: 8px;
    line-height: 1;
    font-weight: 600;
    font-size: 16px;
    letter-spacing: -0.05em;
    padding: 17px 25px;
    text-transform: capitalize;
    color: var(--bs-btn-color, rgb(254, 254, 254));
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background-color: var(--bs-btn-bg, rgb(29, 29, 29));
    border-radius: 50px;
}
.at-btn:hover {
    color: var(--bs-btn-hover-color, rgb(254, 254, 254));
}
.at-btn-group {
    display: flex;
    align-items: center;
    width: fit-content;
}

@media (prefers-reduced-motion: reduce) {
    .at-btn-group .at-btn-circle { transition: none; }
}

/* Replis natifs et adaptations partagées aux contenus français et photographiques. */
.at-btn { text-transform: none; }
.at-btn.bg-transparent { color: var(--at-neutral-900); }
.bg-neutral-900 .at-btn.bg-transparent { color: var(--at-neutral-0); }
.at-btn > span > span { white-space: normal; }
.institutional-document :is(a, button, [tabindex]):focus-visible {
    outline: 2px solid var(--e360-theme-color);
    outline-offset: 5px;
}
.about-me-slider-active:not(.swiper-initialized) { overflow-x: auto; }
.accordion:has(.at-faq-button):not([data-e360-accordion="ready"]) .collapse { display: block; }
.accordion:has(.at-faq-button):not([data-e360-accordion="ready"]) .at-faq-button { pointer-events: none; }
.about-me-slider-active:not(.swiper-initialized) .swiper-slide { width: min(80vw, 440px); flex-shrink: 0; }
.about-me-slider-thumb { aspect-ratio: 4 / 3; overflow: hidden; }
.about-me-slider-thumb img { width: 100%; height: 100%; object-fit: cover; }
.gallery-controls { display: flex; justify-content: flex-end; gap: 12px; padding: 20px 24px; }
.gallery-controls .btn { min-height: 44px; padding: 8px 16px; }
/* Le scroll natif ne doit pas concurrencer la translation du pipeline épinglé. */
@media (min-width: 768px) {
.sd2-pipeline:not([data-e360-pipeline="ready"]) .sd2-pipeline__track-wrap { overflow-x: auto; scroll-snap-type: x mandatory; }
.sd2-pipeline:not([data-e360-pipeline="ready"]) .sd2-pipe { scroll-snap-align: start; }
.sd2-pipeline:not([data-e360-pipeline="ready"]) .sd2-pipeline__progress { display: none; }
}
.process-card__img-wrap--fluid { max-width: 100%; }
.sd2-mod__media img { width: 100%; height: 100%; object-fit: cover; }
.sd3-runway__sticky { top: 110px; }
.sd2-stack__img.is-active { opacity: 1; visibility: visible; }
.image-container .hover-image { position: absolute; inset: 0; opacity: 0; }
.image-container .hover-image:first-child,
.image-container .hover-image.is-active { opacity: 1; }
.image-container:has(.is-active) .hover-image:not(.is-active) { opacity: 0; }
.image-container { position: relative; }
.image-container img { width: 100%; height: 100%; object-fit: cover; }
.sec-4-home-8__list-wrap .at-service-item { grid-template-columns: 54px minmax(0, 1fr); gap: 24px; }
.sec-4-home-8__list-wrap .at-service-item .content .title { font-size: clamp(28px, 3vw, 44px); }
.sec-4-home-8__list-wrap .at-service-item .thumb { display: none; }
.sec-8-home-8__avatar,
.sec-8-home-8__stars { display: none; }
.sec-8-home-8__stage { min-height: 1620px; }
.sec-9-home-8__card-visors { height: 100%; mix-blend-mode: normal; }
.sec-9-home-8__card-media::after { content: ''; position: absolute; inset: 0; background: linear-gradient(transparent, rgba(0, 0, 0, 0.8)); }
.sec-7-home-8__mark svg { width: 100%; height: 100%; }
.sec-3-home-8__media { flex-wrap: wrap; }
.sec-9-home-8__container { padding-left: max(24px, 5.2vw); padding-right: max(24px, 5.2vw); }
.sec-1-home-8 .h8-headline { color: var(--at-neutral-900); -webkit-text-stroke: 0; }
.at-service-card-content a { color: inherit; }
.at-service-card-backdrop { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.at-service-card.card-1::before { z-index: 1; pointer-events: none; }
.at-service-card.card-1 .at-service-card-content { z-index: 2; }
.at-service-card.card-3 > a { width: 100%; height: 50%; }
.at-service-card.card-3::after { content: ''; position: absolute; inset: 0; pointer-events: none; background: rgba(0, 0, 0, 0.55); }
.at-service-card.card-3 .at-service-card-content { z-index: 1; }
.at-service-card.card-2 { display: flex; flex-direction: column; justify-content: space-between; }
.at-service-card.card-2 > a { position: relative; order: 2; height: 200px; }
.at-service-card.card-2 .at-service-card-content { position: relative; order: 1; margin: 0; padding: 24px; }
@media (max-width: 1399px) {
    .sec-8-home-8__stage { min-height: auto; }
}
@media (max-width: 767px) {
    .institutional-document .section-title { overflow-wrap: anywhere; }
    .card-award-link { flex-wrap: wrap; gap: 16px; }
    .card-award-link > * { max-width: 100%; min-width: 0; }
    .card-award-web-excellence { white-space: normal; }
    .sec-1-home-8 .h8-bottom-meta { flex-wrap: wrap; gap: 16px; }
    .sec-4-home-8__list-wrap .at-service-item { grid-template-columns: 1fr; }
    .sec-3-home-8 .sec-3-home-8__photo { width: 100%; }
    .sec-8-home-8__namebar { padding: 16px; height: auto; min-height: 64px; }
    .sec-8-home-8__name { white-space: normal; }
    .sec-7-home-8__about { flex-wrap: wrap; }
}
@media (prefers-reduced-motion: reduce) {
    .institutional-document *, .institutional-document *::before, .institutional-document *::after {
        animation-duration: 0.01ms;
        animation-iteration-count: 1;
        transition-duration: 0.01ms;
        scroll-behavior: auto;
    }
}

/* E360_REDUCED_STACK_START */
/* Les cartes restent toutes consultables lorsque le défilement animé est désactivé. */
@media (prefers-reduced-motion: reduce) {
    .scroll-section[data-e360-card-stack] .wrapper,
    .scroll-section[data-e360-card-stack] .list { height: auto; overflow: visible; }
    .scroll-section[data-e360-card-stack] .item,
    .scroll-section[data-e360-card-stack] .item:first-child,
    .scroll-section[data-e360-card-stack] .item:not(:first-child) {
        position: relative;
        min-height: 0;
        height: auto;
        transform: none;
    }
}
/* Les panneaux conservent le défilement de leur contenu et verrouillent la page. */
body.e360-overlay-open { overflow: hidden; }
/* Sans moteur de défilement, le footer reste à sa place dans le document. */
body:not(.public-page):not(.e360-smooth-ready) .footer-fixed-bottom { position: relative; inset: auto; }
@media (prefers-reduced-motion: reduce) {
    .section-fix .scroll-section .wrapper { height: auto; overflow: visible; }
    .section-fix .scroll-section .item { position: relative; height: auto; min-height: 0; transform: none; }
    .at-scroll-rotate, .sd2-stack__marquee-track, .sd5-marquee__track,
    .sec-1-portfolio-details-6__marquee-track { animation: none; }
}
body:not(.public-page):not(.e360-smooth-ready) #smooth-wrapper { overflow-x: clip; }
@media (prefers-reduced-motion: reduce) {
    .hsg-stage .hsg-track-wrap { overflow-x: auto; }
    .hsg-stage .hsg-track { padding: 24px; gap: 24px; }
    .hsg-stage .hsg-slide { --hsg-norm: 0; --hsg-centeredness: 1; --hsg-exit: 0; }
    [data-t-throwable-scene] .client-capsule-wrapper { display: flex; flex-wrap: wrap; gap: 12px; }
    [data-t-throwable-scene] [data-t-throwable-el] { position: relative; inset: auto; opacity: 1; transform: none; }
    [data-t-throwable-el] > span { transform: none; }
}
/* E360_REDUCED_STACK_END */

/* E360_CURSOR_START : composant source, partagé avec le thème. */
body.at-magic-cursor #magic-cursor {
  display: block;
}

#magic-cursor {
  position: absolute;
  display: none;
  width: 10px;
  height: 10px;
  pointer-events: none;
  z-index: 99999;
  opacity: 0;
  top: 0;
  left: 0;
}


@media (max-width: 991.98px), (hover: none), (pointer: coarse) {
  body.at-magic-cursor #magic-cursor,
  #magic-cursor,
  #ball {
    display: none !important;
  }
}
#ball {
  position: fixed;
  display: flex;
  align-items: center;
  pointer-events: none;
  border-radius: 50%;
  color: transparent;
  justify-content: center;
  mix-blend-mode: difference;
  background-color: var(--at-common-black);
}

.cursor-bg-red #ball {
  background-color: var(--e360-primary) !important;
}
.cursor-bg-red #ball .ball-view {
  color: var(--at-common-white);
}

.cursor-bg-red-2 #ball {
  background-color: var(--e360-primary-active) !important;
}
.cursor-bg-red-2 #ball .ball-view {
  color: var(--at-common-white);
}

.cursor-bg-yellow #ball {
  background-color: var(--e360-on-primary) !important;
}
.cursor-bg-yellow #ball .ball-view {
  color: var(--at-common-black);
}

.cursor-white-bg #ball .ball-view {
  color: var(--at-common-black);
}


#ball .ball-view {
  position: absolute;
  opacity: 0;
  visibility: hidden;
  padding: 0 5px;
  font-size: 15px;
  font-weight: 500;
  line-height: 1.3;
  text-align: center;
  transform: scale(0);
  color: var(--at-common-black);
}


#ball .ball-drag {
  position: absolute;
  display: block;
  width: 100%;
  padding: 0 5px;
  font-size: 15px;
  font-weight: 600;
  line-height: 1.2;
  text-align: center;
  transition: all 0.3s;
  color: var(--at-common-black);
}

#ball .ball-drag::before,
#ball .ball-drag::after {
  position: absolute;
  top: 50%;
  margin-top: -5px;
  font-size: 19px;
  height: 10px;
  line-height: 10px;
  font-weight: 900;
  display: inline-block;
  font-style: normal;
  font-variant: normal;
  text-rendering: auto;
  color: var(--at-common-white);
  font-family: "Font Awesome 6 Pro";
  -webkit-font-smoothing: antialiased;
}

#ball .ball-drag::before {
  content: "\f104";

  left: 0;
  transform: translate3d(-30px, 0, 0);
  transition: all 0.25s;
}

#ball .ball-drag::after {
  content: "\f105";

  right: 0;
  transform: translate3d(30px, 0, 0);
  transition: all 0.25s;
}

#ball.with-blur {
  backdrop-filter: blur(5px);
  transform: translate3d(0, 0, 0);
}


#ball.ball-close-enabled {
  opacity: 1 !important;
}

#ball .ball-close {
  position: absolute;
  padding: 0 5px;
  font-size: 14px;
  font-weight: 600;
  line-height: 1;
  text-align: center;
  color: var(--at-common-black);
}

.at-magnetic-wrap {
  display: flex;
  align-items: center;
  justify-content: center;
}
/* Le contraste suit les surfaces claires et sombres sans changer le suivi. */
#magic-cursor { position: fixed; mix-blend-mode: difference; }
#magic-cursor #ball { background-color: #fff; }
@media (prefers-reduced-motion: reduce) { body.at-magic-cursor #magic-cursor { display: none; } }
/* E360_CURSOR_END */

/* Prévisualisation au survol : dimensions et breakpoint du composant source. */
.card-award-preview {
  position: fixed;
  left: 0;
  top: 0;
  width: 280px;
  pointer-events: none;
  z-index: 9999;
  opacity: 0;
  visibility: hidden;
  border-radius: 12px;
  overflow: hidden;
  box-shadow: 0 12px 40px rgba(0, 0, 0, 0.15);
  will-change: transform;
  transform-origin: left bottom;
}
.card-award-preview img {
  width: 100%;
  height: auto;
  display: block;
  -o-object-fit: cover;
     object-fit: cover;
}
@media (max-width: 767px) {
  .card-award-preview {
    display: none !important;
  }
}


/* Structures des animations source restaurées dans les composants publics. */
.at-letter-span, .at-word-span { display: inline-block; }
.about-4-float {
  position: fixed;
  top: 0;
  left: 0;
  z-index: 9999;
  width: min(260px, 26vw);
  aspect-ratio: 4/5;
  border-radius: 12px;
  overflow: hidden;
  box-shadow: 0 18px 48px rgba(0, 0, 0, 0.22);
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  will-change: transform, opacity;
  margin: 0;
}
.about-4-float img {
  display: block;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

@media (max-width: 991px), (hover: none), (prefers-reduced-motion: reduce) { .about-4-float { display: none; } }

/* E360_INTERACTIVE_STATES_START */
/* Charte interactive partagée avec le compilateur statique. Les neutres et les états métier restent distincts. */
:root {
    --e360-primary: var(--e360-theme-color, #1a58e2);
    --e360-primary-rgb: var(--e360-theme-color-rgb, 26, 88, 226);
    --e360-primary-hover: color-mix(in srgb, var(--e360-primary), black 12%);
    --e360-primary-active: color-mix(in srgb, var(--e360-primary), black 20%);
    --e360-on-primary: #ffffff;
    --e360-primary-on-dark: color-mix(in srgb, var(--e360-primary), white 50%);
    --e360-primary-soft: color-mix(in srgb, var(--e360-primary), white 92%);
    --e360-focus-ring: color-mix(in srgb, var(--e360-primary), transparent 75%);
    --at-theme-primary: var(--e360-primary);
    --at-theme-primary-rgb: var(--e360-primary-rgb);
    --at-common-bubbles: var(--at-neutral-50);
    --at-neutral-600: var(--at-neutral-500);
    --at-border-3: var(--at-neutral-300);
    --at-common-dark-bubbles: var(--at-neutral-dark-50);
    --at-gradient-primary: linear-gradient(90deg, var(--e360-primary-active) 0%, var(--e360-primary) 100%);
    --bs-primary: var(--e360-primary);
    --bs-primary-rgb: var(--e360-primary-rgb);
    --bs-primary-text-emphasis: var(--e360-primary-active);
    --bs-primary-bg-subtle: var(--e360-primary-soft);
    --bs-primary-border-subtle: color-mix(in srgb, var(--e360-primary), white 70%);
    --bs-focus-ring-color: var(--e360-focus-ring);
    --bs-link-color: var(--e360-primary);
    --bs-link-color-rgb: var(--e360-primary-rgb);
    --bs-link-hover-color: var(--e360-primary-hover);
    --bs-link-hover-color-rgb: 23, 77, 199;
    --swiper-theme-color: var(--e360-primary);
    --plyr-color-main: var(--e360-primary);
}
:root[data-bs-theme="dark"] {
    --bs-primary-text-emphasis: var(--e360-primary-on-dark);
    --bs-primary-bg-subtle: color-mix(in srgb, var(--e360-primary), black 70%);
    --bs-primary-border-subtle: color-mix(in srgb, var(--e360-primary), black 30%);
    --bs-link-color: var(--e360-primary-on-dark);
    --bs-link-hover-color: var(--e360-on-primary);
    --bs-link-color-rgb: 141, 172, 241;
    --bs-link-hover-color-rgb: 255, 255, 255;
}

/* Les variantes Bootstrap possèdent leurs propres variables, indépendantes de :root. */
.btn-primary {
    --bs-btn-color: var(--e360-on-primary);
    --bs-btn-bg: var(--e360-primary);
    --bs-btn-border-color: var(--e360-primary);
    --bs-btn-hover-color: var(--e360-on-primary);
    --bs-btn-hover-bg: var(--e360-primary-hover);
    --bs-btn-hover-border-color: var(--e360-primary-hover);
    --bs-btn-active-color: var(--e360-on-primary);
    --bs-btn-active-bg: var(--e360-primary-active);
    --bs-btn-active-border-color: var(--e360-primary-active);
    --bs-btn-disabled-color: var(--e360-on-primary);
    --bs-btn-disabled-bg: var(--e360-primary);
    --bs-btn-disabled-border-color: var(--e360-primary);
    --bs-btn-focus-shadow-rgb: var(--e360-primary-rgb);
}
.btn-outline-primary {
    color: var(--e360-primary);
    --bs-btn-color: var(--e360-primary);
    --bs-btn-border-color: var(--e360-primary);
    --bs-btn-hover-color: var(--e360-on-primary);
    --bs-btn-hover-bg: var(--e360-primary-hover);
    --bs-btn-hover-border-color: var(--e360-primary-hover);
    --bs-btn-active-color: var(--e360-on-primary);
    --bs-btn-active-bg: var(--e360-primary-active);
    --bs-btn-active-border-color: var(--e360-primary-active);
    --bs-btn-disabled-color: var(--e360-primary);
    --bs-btn-disabled-border-color: var(--e360-primary);
    --bs-btn-focus-shadow-rgb: var(--e360-primary-rgb);
}
.btn-primary:active, .btn-primary.active, .btn-primary.show {
    background-color: var(--e360-primary-active);
    border-color: var(--e360-primary-active);
}
.pagination {
    --bs-pagination-color: var(--e360-primary);
    --bs-pagination-hover-color: var(--e360-primary-hover);
    --bs-pagination-focus-color: var(--e360-primary-hover);
    --bs-pagination-focus-box-shadow: 0 0 0 4px var(--e360-focus-ring);
    --bs-pagination-active-color: var(--e360-on-primary);
    --bs-pagination-active-bg: var(--e360-primary);
    --bs-pagination-active-border-color: var(--e360-primary);
}
.nav-pills {
    --bs-nav-pills-link-active-color: var(--e360-on-primary);
    --bs-nav-pills-link-active-bg: var(--e360-primary);
}
.dropdown-menu { --bs-dropdown-link-active-bg: var(--e360-primary); }

.form-check-input:checked, .form-check-input:indeterminate {
    background-color: var(--e360-primary);
    border-color: var(--e360-primary);
}
.link-primary:hover, .link-primary:focus {
    /* La priorité appartient au contrat des utilities Bootstrap déjà importées. */
    color: var(--e360-primary-hover) !important;
}
.accordion {
    --bs-accordion-active-color: var(--e360-primary-hover);
    --bs-accordion-active-bg: var(--e360-primary-soft);
    --bs-accordion-btn-focus-border-color: var(--e360-primary);
    --bs-accordion-btn-focus-box-shadow: 0 0 0 4px var(--e360-focus-ring);
}

/* La palette des contrôles suit les surfaces neutres ; surbrillance et sélection restent lisibles. */
.nice-select .list { background-color: var(--at-neutral-0); color: var(--at-neutral-900); }
.nice-select:focus, .nice-select.open, .nice-select:active { border-color: var(--e360-primary); }
.nice-select .option:is(:hover, .focus, .selected):not(.disabled) {
    background-color: var(--e360-primary);
    color: var(--e360-on-primary);
}
.public-page .select2-container--default .select2-results__option--highlighted[aria-selected],
.public-page .select2-container--default .select2-results__option--highlighted.select2-results__option--selectable {
    background: var(--e360-primary);
    color: var(--e360-on-primary);
}
.public-page .select2-container--default .select2-results__option--selected:not(.select2-results__option--highlighted) {
    background: var(--e360-primary-soft);
    color: var(--e360-primary-active);
}
.public-page .select2-selection__choice__remove:is(:hover, :focus) {
    background: var(--e360-primary-soft);
    color: var(--e360-primary-active);
}

/* Le focus reprend la couleur lisible du composant, y compris sur image et sur fond sombre. */
a[href]:focus-visible, button:focus-visible, [tabindex="0"]:focus-visible {
    outline: 2px solid currentColor;
    outline-offset: 4px;
}
.at-btn > span > .text-1, .at-btn > span > .text-2 { color: inherit; }
.at-btn-group-transparent .at-btn:hover,
.at-btn-group-transparent .at-btn:focus-visible { color: var(--at-neutral-900); }

/* Variantes importées : seules les cibles de couleur changent, jamais leur transition. */
.footer-7__input:focus, .footer-8__input:focus, .footer-10__input:focus, .footer-11__input:focus {
    border-color: rgba(var(--e360-primary-rgb), 0.65);
}
.footer-12__cta-submit:hover, .footer-12__cta-submit:focus-visible { background-color: var(--e360-primary-hover); }
.footer-13__studio-dot--active { box-shadow: 0 0 0 3px rgba(var(--e360-primary-rgb), 0.18); }
.sec-9-home-15__item-author { color: var(--e360-primary); }
.sec-9-home-15__item-author:hover, .sec-9-home-15__item-author:focus-visible { color: var(--e360-primary-hover); }
.at-btn-group.btn-brand-1 .at-btn, .at-btn-group.btn-brand-1 .at-btn-circle {
    background-color: var(--e360-primary);
    border-color: var(--e360-primary);
    color: var(--e360-on-primary);
}

/* Liens sur les surfaces sombres du shell : le fond des actions pleines reste le bleu officiel. */
.home-orisa-footer__nav a:hover, .home-orisa-footer__nav a:focus-visible,
.public-site-footer__legal-nav a:hover, .public-site-footer__legal-nav a:focus-visible {
    color: var(--e360-primary-on-dark);
}

/* Les halos et surfaces de sélection utilisent la même couleur, avec leur alpha et leur géométrie source. */
.footer-11__bg-lines::after {
    background: radial-gradient(rgba(var(--e360-primary-rgb), 0.07) 0%, transparent 70%);
}
.home-2-pricing-card--popular .home-2-pricing-card__body {
    background: rgba(var(--e360-primary-rgb), 0.1);
}
.pricing-2-hero__save {
    background: rgba(var(--e360-primary-rgb), 0.1);
}
.pricing-2-row--popular {
    background: rgba(var(--e360-primary-rgb), 0.06);
    border-color: rgba(var(--e360-primary-rgb), 0.25);
}
.pricing-2-table .is-highlight {
    background: rgba(var(--e360-primary-rgb), 0.06);
}
.pricing-2-table__yes {
    background: rgba(var(--e360-primary-rgb), 0.12);
}
.card-home-12-price.is-popular .card-home-12-price__top {
    background-color: rgba(var(--e360-primary-rgb), 0.1);
}
.sec-2-home-13__stat-tag {
    background-color: rgba(var(--e360-primary-rgb), 0.12);
}
.sec-4-home-13__glow {
    background: radial-gradient(closest-side, rgba(var(--e360-primary-rgb), 0.7) 0%, rgba(var(--e360-primary-rgb), 0.28) 45%, rgba(var(--e360-primary-rgb), 0) 75%);
}
.sec-4-home-13__bar-dot {
    box-shadow: rgba(var(--e360-primary-rgb), 0.6) 0px 0px 10px;
}
.at-btn-group-transparent-2 .at-btn {
    background: var(--at-neutral-50);
}
.at-btn-group-transparent-2 .at-btn-circle {
    background-color: var(--at-neutral-50);
}
.at-btn-group-transparent-2:hover > :nth-child(2) {
    background: var(--at-neutral-50);
}
.at-btn-group-transparent-2:hover > :nth-child(1) {
    background: var(--at-neutral-50);
}
.accordion {
    --bs-accordion-btn-active-icon: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none' stroke='%231a58e2' stroke-linecap='round' stroke-linejoin='round'%3e%3cpath d='m2 5 6 6 6-6'/%3e%3c/svg%3e");
}
[data-bs-theme="dark"] .accordion-button::after {
    --bs-accordion-btn-icon: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%238dacF1'%3e%3cpath fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708'/%3e%3c/svg%3e");
    --bs-accordion-btn-active-icon: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%238dacF1'%3e%3cpath fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708'/%3e%3c/svg%3e");
}
.form-switch .form-check-input:focus {
    --bs-form-switch-bg: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='%231a58e2'/%3e%3c/svg%3e");
}
/* Variantes de surfaces : les aplats de démonstration reprennent les neutres institutionnels. */
.category-tag .dot { background: var(--e360-primary); }
.sec-1-home-7__bg-left { background: var(--at-neutral-900); }
.sec-1-home-7__bg-right, .sec-7-home-7 { background: var(--at-neutral-950); }
.sec-2-home-15__media-1-badge, .sec-2-home-15__media-2-badge { background-color: rgba(var(--e360-primary-rgb), 0.32); }
[data-bs-theme="dark"] .changeless { --at-common-bubbles: var(--at-neutral-50); }
/* E360_INTERACTIVE_STATES_END */


.e360-display-title.e360-display-title {
    letter-spacing: -2px;
    text-wrap: balance;
    word-break: normal;
    overflow-wrap: normal;
    white-space: normal;
}
.e360-display-title.e360-display-title--short { font-size: 144px; line-height: 0.96; letter-spacing: -6px; }
.e360-display-title.e360-display-title--medium { font-size: 100px; letter-spacing: -4px; }
.e360-display-title.e360-display-title--long { font-size: 72px; letter-spacing: -3px; }
.e360-display-title.e360-display-title--statement { font-size: 56px; }
.e360-display-title.e360-display-title--prose { font-size: 40px; line-height: 1.15; letter-spacing: -1px; }
@media (max-width: 1399px) {
    .e360-display-title.e360-display-title--short { font-size: 128px; letter-spacing: -5px; }
    .e360-display-title.e360-display-title--medium { font-size: 88px; }
    .e360-display-title.e360-display-title--long { font-size: 64px; }
    .e360-display-title.e360-display-title--statement { font-size: 50px; }
    .e360-display-title.e360-display-title--prose { font-size: 38px; }
}
@media (max-width: 1199px) {
    .e360-display-title.e360-display-title--short { font-size: 104px; letter-spacing: -4px; }
    .e360-display-title.e360-display-title--medium { font-size: 76px; letter-spacing: -3px; }
    .e360-display-title.e360-display-title--long { font-size: 56px; letter-spacing: -2px; }
    .e360-display-title.e360-display-title--statement { font-size: 46px; }
    .e360-display-title.e360-display-title--prose { font-size: 36px; }
}
@media (max-width: 991px) {
    .e360-display-title.e360-display-title--short { font-size: 80px; letter-spacing: -3px; }
    .e360-display-title.e360-display-title--medium { font-size: 60px; letter-spacing: -2px; }
    .e360-display-title.e360-display-title--long { font-size: 48px; }
    .e360-display-title.e360-display-title--statement { font-size: 40px; letter-spacing: -1px; }
    .e360-display-title.e360-display-title--prose { font-size: 34px; }
}
@media (max-width: 575px) {
    .e360-display-title.e360-display-title--short { font-size: 56px; letter-spacing: -2px; }
    .e360-display-title.e360-display-title--medium { font-size: 42px; letter-spacing: -1px; }
    .e360-display-title.e360-display-title--long { font-size: 38px; letter-spacing: -1px; }
    .e360-display-title.e360-display-title--statement { font-size: 34px; }
    .e360-display-title.e360-display-title--prose { font-size: 30px; }
}
@media (max-width: 374px) {
    .e360-display-title.e360-display-title--short { font-size: 52px; }
    .e360-display-title.e360-display-title--medium { font-size: 38px; }
    .e360-display-title.e360-display-title--long { font-size: 34px; }
    .e360-display-title.e360-display-title--statement { font-size: 32px; }
    .e360-display-title.e360-display-title--prose { font-size: 28px; }
}

/* Les libellés éditoriaux longs utilisent une grille souple, sans perdre le survol illustré. */
.card-award--editorial .card-award-link {
    display: grid;
    grid-template-columns: 140px minmax(240px, 2fr) minmax(150px, 1fr) minmax(150px, 1fr) 14px;
    gap: 20px;
}
.card-award--editorial .card-award-content { gap: 16px; }
.card-award--editorial .card-award-image { flex-shrink: 0; }
@media (max-width: 1199px) {
    .card-award--editorial .card-award-link { grid-template-columns: minmax(0, 2fr) minmax(0, 1fr) 14px; gap: 16px 24px; }
    .card-award--editorial .card-award-date { grid-column: 1 / -1; }
    .card-award--editorial .card-award-content { grid-column: 1; }
    .card-award--editorial .card-award-meta { grid-column: 1 / 3; }
    .card-award--editorial .card-award-icon { grid-column: 3; grid-row: 2; }
}
@media (max-width: 767px) {
    .card-award--editorial.card-award { padding: 24px; }
    .card-award--editorial .card-award-link { grid-template-columns: minmax(0, 1fr) 14px; }
    .card-award--editorial .card-award-content,
    .card-award--editorial .card-award-web-excellence,
    .card-award--editorial .card-award-meta { grid-column: 1; }
    .card-award--editorial .card-award-icon { grid-column: 2; }
}

/* Variantes des compositions existantes pour des légendes et principes courts.
   Les images, liens, carrousels et points d'accroche d'animation sont conservés. */
.e360-media-grid--compact .sec-6-home-8__grid { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; }
.e360-media-grid--compact .sec-6-home-8__card { grid-area: auto; margin-top: 0; }
.e360-media-grid--compact .sec-6-home-8__img { height: 240px; }
.e360-media-grid--compact .sec-6-home-8__meta { height: 64px; padding: 0 24px; }
.e360-media-grid--compact .sec-6-home-8__title { font-size: 28px; letter-spacing: -1px; }
.e360-media-rails--compact .about-me-slider-thumb { height: 300px; }
.e360-media-rails--compact .sec-7-home-8__desc { font-size: 24px; line-height: 1.4; }
.e360-principles--compact .sec-8-home-8__stage { min-height: 800px; }
.e360-principles--compact .sec-8-home-8__center { width: 400px; }
.e360-principles--compact .sec-8-home-8__title { font-size: 44px; letter-spacing: -2px; }
.e360-principles--compact .sec-8-home-8__group { width: 340px; }
.e360-principles--compact .sec-8-home-8__namebar { height: 48px; padding: 0 24px; }
.e360-principles--compact .sec-8-home-8__name { font-size: 20px; }
.e360-principles--compact .sec-8-home-8__card { height: auto; min-height: 200px; padding: 24px; }
.e360-principles--compact .sec-8-home-8__role { position: static; text-align: left; margin-bottom: 16px; }
.e360-principles--compact .sec-8-home-8__body { position: static; width: auto; gap: 16px; }
.e360-principles--compact .sec-8-home-8__avatar { width: 40px; height: 40px; }
.e360-principles--compact .sec-8-home-8__quote { font-size: 18px; }
.e360-principles--compact .sec-8-home-8__stars { position: static; margin-top: 20px; }
.e360-principles--compact .sec-8-home-8__group--a { top: 0; left: 0; }
.e360-principles--compact .sec-8-home-8__group--b { top: 140px; right: 0; }
.e360-principles--compact .sec-8-home-8__group--c { top: 360px; left: 0; }
.e360-principles--compact .sec-8-home-8__group--d { top: 500px; left: auto; right: 0; }
@media (max-width: 1399px) {
    .e360-principles--compact .sec-8-home-8__stage { min-height: 0; }
    .e360-principles--compact .sec-8-home-8__center { width: 100%; max-width: 560px; }
    .e360-principles--compact .sec-8-home-8__group { width: 100%; }
}
@media (max-width: 767px) {
    .e360-media-grid--compact .sec-6-home-8__grid { grid-template-columns: minmax(0, 1fr); }
    .e360-media-grid--compact .sec-6-home-8__img { height: 220px; }
    .e360-media-rails--compact .about-me-slider-thumb { height: 220px; }
    .e360-principles--compact .sec-8-home-8__title { font-size: 34px; letter-spacing: -1px; }
}
/* Les intitulés de la liste pédagogique gardent une échelle de lecture en colonne. */
.e360-process-list--compact .at-service-item .content .title { font-size: 40px; line-height: 1.1; letter-spacing: -1px; text-wrap: balance; }
@media (max-width: 991px) {
    .e360-process-list--compact .at-service-item .content .title { font-size: 32px; }
}
@media (max-width: 575px) {
    .e360-process-list--compact .at-service-item .content .title { font-size: 28px; }
}

/* E360_EDITORIAL_SCALE_START */
/* E360_RECOMPOSITION_START */
/* LOT 06.32 — les familles ci-dessous recomposent uniquement des composants existants.
   Les médias de preuve gardent leur ratio et les séquences redondantes quittent le parcours visible. */
.e360-compose-narrative img[src*="/assets/media/web/"],
.e360-compose-axis img[src*="/assets/media/web/"],
.e360-compose-program img[src*="/assets/media/web/"],
.e360-compose-editorial img[src*="/assets/media/web/"],
.e360-compose-partner img[src*="/assets/media/web/"] {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

/* Portfolio details 3 : colonnes éditoriales et séparateur issus du contrat source. */
.sec-6-portfolio-details-3 { background-color: var(--at-neutral-0); }
.sec-6-portfolio-details-3__col--right,
.sec-6-portfolio-details-3__pair { position: relative; }
.sec-6-portfolio-details-3__pair::before { content: ""; position: absolute; top: 12px; bottom: 12px; left: 50%; width: 1px; background: var(--at-neutral-100); transform: translateX(-50%); }
@media (min-width: 992px) and (max-width: 1199px) {
  .sec-6-portfolio-details-3__pair::before { top: 0; bottom: 0; }
}
@media (max-width: 991px) {
  .sec-6-portfolio-details-3__pair::before { display: none; }
}

/* Mission et Vision : variantes éditoriales des compositions About et Portfolio. */
.institutional-purpose [id] { scroll-margin-top: 110px; }
.institutional-purpose { background: var(--at-neutral-0); color: var(--at-neutral-950); }
.institutional-purpose__hero-title { margin: 0; font-family: var(--at-ff-heading); font-size: clamp(58px, 5.4vw, 78px); font-weight: 600; line-height: 1.02; letter-spacing: -4px; }
.institutional-purpose__hero-title em,
.institutional-purpose__statement em { font-style: normal; color: var(--at-theme-primary); }
.institutional-purpose__section-title { margin: 0 0 28px; font-family: var(--at-ff-heading); font-size: clamp(36px, 3.5vw, 52px); font-weight: 600; line-height: 1.08; letter-spacing: -2px; }
.institutional-purpose__hero-aside { max-width: 440px; margin-left: auto; padding: 0 0 6px 32px; }
.institutional-purpose__hero-aside p,
.institutional-purpose__hero-lead { font-size: 20px; line-height: 1.6; font-weight: 500; }
.institutional-purpose__hero-aside p { margin: 0 0 30px; color: var(--at-neutral-600); }
.institutional-purpose__lead,
.institutional-purpose__prose p { font-size: 18px; line-height: 1.75; color: var(--at-neutral-600); }
.institutional-purpose__prose p { margin: 0 0 24px; }
.institutional-purpose__prose p:last-child { margin-bottom: 0; }
.institutional-purpose .about-4-kicker { margin-bottom: 22px; }
.institutional-purpose__mission-rail .about-me-slider-thumb { position: relative; height: 460px; aspect-ratio: auto; }
.institutional-purpose__mission-rail .about-me-slider-thumb img { border-radius: 0; }
.institutional-purpose__mission-rail figcaption,
.institutional-purpose__vision-hero figcaption,
.institutional-purpose__photo-breath figcaption { position: absolute; inset: auto 0 0; margin: 0; padding: 58px 32px 28px; color: #fff; background: linear-gradient(transparent, rgba(0, 0, 0, .7)); font-size: 14px; line-height: 1.5; font-weight: 600; }
.institutional-purpose__mission-rail .gallery-controls { margin: 0; padding: 24px 0 0; }
.institutional-purpose__reason { background: var(--at-neutral-0); }
.institutional-purpose__responsibility,
.institutional-purpose__dialogue { background: var(--at-neutral-950); color: var(--at-neutral-0); }
.institutional-purpose__responsibility .about-4-kicker,
.institutional-purpose__dialogue .about-4-kicker { color: var(--at-neutral-300); }
.institutional-purpose__statement { margin: 0; font-family: var(--at-ff-heading); font-size: clamp(46px, 5.4vw, 78px); font-weight: 500; line-height: 1.05; letter-spacing: -3px; }
.institutional-purpose__statement-head { padding-bottom: 52px; border-bottom: 1px solid var(--at-neutral-700); }
.institutional-purpose__statement-copy { padding-top: 48px; }
.institutional-purpose__statement-copy p,
.institutional-purpose__dialogue .institutional-purpose__prose p { margin-bottom: 0; max-width: 55ch; color: var(--at-neutral-200); font-size: 18px; line-height: 1.75; }
.institutional-purpose__dialogue .institutional-purpose__prose p + p { margin-top: 28px; }
.institutional-purpose__dialogue .row { align-items: end; }
.institutional-purpose__practice-photo { max-width: 420px; margin-top: 40px; }
.institutional-purpose__practice-photo img { width: 100%; height: 440px; object-fit: cover; }
.institutional-purpose__practice-photo figcaption { margin-top: 16px; color: var(--at-neutral-500); font-size: 13px; }
.institutional-purpose .journey-list-wrap { padding-left: 40px; }
.institutional-purpose .journey-list-line { width: 1px; height: 100%; background: var(--at-theme-primary); }
.institutional-purpose .journey-list__item { grid-template-columns: 112px minmax(0, 1fr) 18px; gap: 20px; padding: 36px 0; border-color: var(--at-neutral-200); }
.institutional-purpose .journey-list__item:first-child { padding-top: 0; }
.institutional-purpose .journey-list__date { color: var(--at-theme-primary); font-size: 13px; font-weight: 600; }
.institutional-purpose .journey-list__title { margin: 0 0 16px; color: var(--at-neutral-950); font-size: 26px; line-height: 1.2; letter-spacing: -.6px; }
.institutional-purpose .journey-list__desc { color: var(--at-neutral-600); font-size: 16px; line-height: 1.7; }
.institutional-purpose .journey-list__link { color: var(--at-theme-primary); }
.institutional-purpose__photo-breath .sec-7-portfolio-details-3__media { position: relative; height: 620px; }
.institutional-purpose__photo-breath img { width: 100%; height: 100%; object-fit: cover; }
.institutional-purpose__photo-breath figcaption { padding: 90px max(24px, calc((100vw - 1296px) / 2)) 32px; font-size: 20px; }
.institutional-purpose__closing { background: var(--at-neutral-50); }
.institutional-purpose__closing .svc5-cta { padding: 0; border: 0; background: transparent; }
.institutional-purpose__closing .svc5-cta__title { max-width: 780px; margin-bottom: 24px; color: var(--at-neutral-950); }
.institutional-purpose__closing .svc5-cta__text { max-width: 66ch; color: var(--at-neutral-600); font-size: 17px; line-height: 1.7; }
.institutional-purpose__closing .svc5-cta__actions { min-width: 250px; }
.institutional-purpose__vision-hero { background: var(--at-neutral-950); color: var(--at-neutral-0); }
.institutional-purpose__vision-hero .about-4-kicker { color: var(--at-neutral-300); }
.institutional-purpose__vision-hero .institutional-purpose__hero-title { max-width: 1120px; font-size: clamp(70px, 7.2vw, 104px); line-height: .99; letter-spacing: -5px; }
.institutional-purpose__vision-hero .institutional-purpose__hero-lead { max-width: 750px; margin: 18px 0 0; color: var(--at-neutral-200); }
.institutional-purpose__vision-hero .institutional-purpose__hero-title,
.institutional-purpose__responsibility .institutional-purpose__statement,
.institutional-purpose__dialogue .institutional-purpose__statement { color: var(--at-neutral-0); }
.institutional-purpose__hero-action { padding-bottom: 8px; }
.institutional-purpose__vision-hero .at-banner-thumb { position: relative; height: 570px; }
.institutional-purpose__vision-hero .at-banner-thumb img { width: 100%; height: 100%; object-fit: cover; }
.institutional-purpose__scales { background: var(--at-neutral-50); }
.institutional-purpose__gallery-head { display: grid; grid-template-columns: 1fr 1fr; column-gap: 100px; margin-bottom: 60px; align-items: end; }
.institutional-purpose__gallery-head .about-4-kicker { grid-column: 1 / -1; }
.institutional-purpose__gallery-head h2,
.institutional-purpose__gallery-head p:last-child { margin-bottom: 0; }
.institutional-purpose__vision-gallery .at-gallery-wrapper { overflow: hidden; padding: 32px 0; }
.institutional-purpose__vision-gallery .at-gallery-item-wrapper { display: grid; gap: 32px; }
.institutional-purpose__vision-gallery .at-gallery-item { overflow: hidden; border-radius: 0; }
.institutional-purpose__vision-gallery .at-gallery-item img { width: 100%; height: 330px; object-fit: cover; border-radius: 0; }
.institutional-purpose__vision-gallery .at-gallery-item:first-child img { height: 460px; }
.institutional-purpose__vision-gallery .col-md-4:nth-child(2) .at-gallery-item:first-child img { height: 330px; }
.institutional-purpose__vision-gallery .col-md-4:nth-child(2) .at-gallery-item:last-child img { height: 460px; }
.institutional-purpose__vision-gallery figcaption { margin-top: 14px; font-size: 13px; line-height: 1.5; color: var(--at-neutral-600); }
@media (max-width: 1199px) {
  .institutional-purpose__hero-title { font-size: 66px; letter-spacing: -3px; }
  .institutional-purpose__hero-aside { padding-left: 12px; }
  .institutional-purpose__mission-rail .about-me-slider-thumb { height: 400px; }
  .institutional-purpose__vision-hero .institutional-purpose__hero-title { font-size: 86px; }
  .institutional-purpose .journey-list__item { grid-template-columns: 90px minmax(0, 1fr) 16px; gap: 16px; }
  .institutional-purpose__gallery-head { column-gap: 50px; }
}
@media (max-width: 991px) {
  .institutional-purpose__hero-aside { padding: 0; margin: 12px 0 0; max-width: 650px; }
  .institutional-purpose__hero-title { max-width: 700px; }
  .institutional-purpose__vision-hero .institutional-purpose__hero-title { font-size: 76px; letter-spacing: -3px; }
  .institutional-purpose__vision-hero .at-banner-thumb { height: 470px; }
  .institutional-purpose__practice-photo { max-width: none; }
  .institutional-purpose__practice-photo img { height: 400px; object-position: center 40%; }
  .institutional-purpose .journey-list-wrap { padding-left: 28px; }
  .institutional-purpose .journey-list__item { grid-template-columns: 1fr auto; }
  .institutional-purpose__photo-breath .sec-7-portfolio-details-3__media { height: 450px; }
  .institutional-purpose__vision-gallery .at-gallery-item img,
  .institutional-purpose__vision-gallery .col-md-4:nth-child(2) .at-gallery-item:first-child img { height: 240px; }
  .institutional-purpose__vision-gallery .at-gallery-item:first-child img,
  .institutional-purpose__vision-gallery .col-md-4:nth-child(2) .at-gallery-item:last-child img { height: 330px; }
}
@media (max-width: 767px) {
  .institutional-purpose__hero-title { font-size: 48px; letter-spacing: -2px; }
  .institutional-purpose__section-title { font-size: 36px; letter-spacing: -1.3px; }
  .institutional-purpose__hero-aside p,
  .institutional-purpose .institutional-purpose__hero-lead { font-size: 18px; }
  .institutional-purpose__mission-rail .about-me-slider-thumb { height: 330px; }
  .institutional-purpose__mission-rail figcaption { padding: 54px 20px 20px; }
  .institutional-purpose__statement { font-size: 44px; letter-spacing: -1.8px; }
  .institutional-purpose__statement-head { padding-bottom: 32px; }
  .institutional-purpose__statement-copy { padding-top: 24px; }
  .institutional-purpose__statement-copy p,
  .institutional-purpose__prose p,
  .institutional-purpose__lead { font-size: 17px; }
  .institutional-purpose__practice-photo img { height: 400px; }
  .institutional-purpose .journey-list__title { font-size: 24px; }
  .institutional-purpose__vision-hero .institutional-purpose__hero-title { font-size: 50px; letter-spacing: -2px; }
  .institutional-purpose__vision-hero .at-banner-thumb { height: 340px; }
  .institutional-purpose__gallery-head { grid-template-columns: 1fr; gap: 24px; margin-bottom: 28px; }
  .institutional-purpose__gallery-head .about-4-kicker { margin-bottom: 0; }
  .institutional-purpose__vision-gallery .at-gallery-wrapper { padding: 0; }
  .institutional-purpose__vision-gallery .at-gallery-item-wrapper { gap: 24px; }
  .institutional-purpose__vision-gallery .at-gallery-item img,
  .institutional-purpose__vision-gallery .at-gallery-item:first-child img,
  .institutional-purpose__vision-gallery .col-md-4:nth-child(2) .at-gallery-item:first-child img,
  .institutional-purpose__vision-gallery .col-md-4:nth-child(2) .at-gallery-item:last-child img { height: 360px; }
  .institutional-purpose__photo-breath .sec-7-portfolio-details-3__media { height: 380px; }
  .institutional-purpose__photo-breath figcaption { font-size: 17px; }
}

/* Manifeste institutionnel : adaptations partagées des compositions About 4 et Portfolio 3. */
.institutional-principles { background: var(--at-neutral-0); color: var(--at-neutral-950); }
.institutional-principles [id] { scroll-margin-top: 110px; }
.institutional-principles .about-4-hero__grid { grid-template-columns: 240px minmax(0, 1fr); gap: 64px; margin-bottom: 64px; }
.institutional-principles .about-4-hero__aside { border-top: 1px solid var(--at-neutral-200); padding-top: 24px; }
.institutional-principles .about-4-index { gap: 16px; }
.institutional-principles .about-4-hero__title { max-width: 900px; font-size: clamp(64px, 6.8vw, 98px); line-height: 1; letter-spacing: -4px; }
.institutional-principles .about-4-hero__title em { color: var(--at-theme-primary); font-style: normal; }
.institutional-principles .about-4-hero__lead { max-width: 610px; margin-bottom: 24px; color: var(--at-neutral-600); font-size: 20px; line-height: 1.6; }
.institutional-principles .about-4-hero__mosaic { grid-template-columns: 1.05fr .8fr 1.15fr; grid-template-rows: auto; gap: 24px; }
.institutional-principles .about-4-hero__shot { position: relative; grid-area: auto; min-height: 0; max-height: none; border-radius: 0; }
.institutional-principles .about-4-hero__shot--tall { height: 510px; }
.institutional-principles .about-4-hero__shot--mid { height: 350px; margin-bottom: 64px; }
.institutional-principles .about-4-hero__shot--wide { height: 430px; }
.institutional-principles .about-4-hero__shot figcaption { position: absolute; inset: auto 0 0; margin: 0; padding: 56px 24px 22px; background: linear-gradient(transparent, rgba(0, 0, 0, .76)); color: #fff; font-size: 13px; line-height: 1.5; }
.institutional-principles__intro { background: var(--at-neutral-950); color: #fff; }
.institutional-principles .about-4-craft__grid { grid-template-columns: minmax(0, .85fr) minmax(0, 1.15fr); gap: 80px; }
.institutional-principles .about-4-craft__title { max-width: 600px; font-size: clamp(40px, 3.8vw, 56px); line-height: 1.08; letter-spacing: -2px; }
.institutional-principles__intro .about-4-craft__title { color: #fff; }
.institutional-principles__intro .about-4-kicker { color: #b6b6b6; }
.institutional-principles__intro-copy p { margin: 0 0 24px; color: #d1d1d1; font-size: 19px; line-height: 1.7; }
.institutional-principles__intro-copy p:last-child { margin-bottom: 0; }
.institutional-principles .about-4-beliefs__intro { max-width: 800px; margin-bottom: 60px; }
.institutional-principles .about-4-beliefs__title { margin-bottom: 0; font-size: 50px; letter-spacing: -2px; }
.institutional-principles .about-4-belief { grid-template-columns: minmax(0, 1fr); padding: 64px 0; border-color: var(--at-neutral-200); }
.institutional-principles .about-4-belief__body { display: grid; grid-template-columns: minmax(0, .85fr) minmax(0, 1.15fr); gap: 80px; align-items: start; }
.institutional-principles .about-4-belief__name { position: sticky; top: 130px; margin: 0; font-size: clamp(44px, 4.4vw, 64px); line-height: 1.08; letter-spacing: -2px; }
.institutional-principles__value-lead { margin: 0 0 24px; font-size: 24px; line-height: 1.3; font-weight: 600; color: var(--at-neutral-950); }
.institutional-principles .about-4-belief__text { max-width: none; margin-bottom: 22px; color: var(--at-neutral-600); font-size: 17px; line-height: 1.75; }
.institutional-principles__commitment { margin: 30px 0 0; padding-top: 24px; border-top: 1px solid var(--at-neutral-200); color: var(--at-neutral-900); font-size: 18px; line-height: 1.55; font-weight: 600; }
.about-4-float--editorial { width: min(300px, 28vw); aspect-ratio: 3 / 2; border-radius: 0; border: 1px solid var(--at-neutral-100); box-shadow: none; }
.institutional-principles .institutional-principles__statement { min-height: 800px; background: #111; }
.institutional-principles__statement .sec-5-portfolio-details-3__veil { background: linear-gradient(90deg, rgba(0, 0, 0, .8), rgba(0, 0, 0, .18)); }
.institutional-principles__statement .sec-5-portfolio-details-3__content { width: 100%; padding: 100px 0; }
.institutional-principles__statement .sec-5-portfolio-details-3__quote { max-width: 920px; }
.institutional-principles__statement .about-4-kicker { color: #e0e0e0; }
.institutional-principles__statement h2 { margin: 0 0 40px; color: #fff; font-size: clamp(52px, 5.4vw, 78px); line-height: 1.05; letter-spacing: -3px; }
.institutional-principles__statement-copy { max-width: 580px; margin: 0; color: #fff; font-size: 20px; line-height: 1.7; letter-spacing: 0; }
.institutional-principles__relations { background: var(--at-neutral-50); }
.institutional-principles__relations .about-4-craft__intro { position: sticky; top: 120px; align-self: start; }
.institutional-principles__relations .about-4-craft__cols { gap: 40px; }
.institutional-principles__relations .about-4-skills { gap: 42px; }
.institutional-principles__relations .about-4-skills li { padding: 24px 0 0; border-top: 1px solid var(--at-neutral-200); }
.institutional-principles__relations .about-4-skills li::before { content: none; }
.institutional-principles__relations .about-4-skills h3 { margin: 0 0 18px; font-size: 24px; line-height: 1.25; letter-spacing: -.6px; }
.institutional-principles__relations .about-4-skills p { margin: 0; font-size: 17px; line-height: 1.7; font-weight: 400; color: var(--at-neutral-600); }
.institutional-principles__relations-photo img { width: 100%; height: 340px; object-fit: cover; }
.institutional-principles__relations-photo figcaption { margin-top: 14px; font-size: 13px; color: var(--at-neutral-600); line-height: 1.6; }
.institutional-principles .about-4-cta { background: var(--at-neutral-50); }
.institutional-principles .about-4-cta__panel { border-radius: 0; padding: 64px; }
.institutional-principles .about-4-cta__title { max-width: 740px; font-size: 48px; line-height: 1.1; letter-spacing: -1.6px; }
.institutional-principles .about-4-cta__text { max-width: 600px; font-size: 18px; line-height: 1.6; }
.institutional-principles .about-4-cta__btn { border-radius: 0; }
/* Les surfaces et textes du manifeste suivent les tokens du thème partagé. */
[data-bs-theme="dark"] .institutional-principles { background: var(--e360-body-bg); }
[data-bs-theme="dark"] .institutional-principles :is(.institutional-principles__relations, .about-4-cta) { background: var(--e360-body-secondary-bg); }
[data-bs-theme="dark"] .institutional-principles :is(.about-4-hero__lead, .about-4-belief__text, .about-4-skills p, .institutional-principles__relations-photo figcaption, .about-4-kicker) { color: var(--e360-text-main-secondary); }
[data-bs-theme="dark"] .institutional-principles :is(.about-4-index a, .about-4-link, .institutional-principles__value-lead, .institutional-principles__commitment) { color: var(--e360-text-main); }
[data-bs-theme="dark"] .institutional-principles :is(.about-4-hero__aside, .about-4-belief, .institutional-principles__commitment, .about-4-skills li) { border-color: var(--e360-border-color); }
[data-bs-theme="dark"] .institutional-principles :is(.about-4-index a, .about-4-link):hover { color: var(--at-theme-primary); }
@media (max-width: 1199px) {
  .institutional-principles .about-4-hero__grid { grid-template-columns: 210px minmax(0, 1fr); gap: 40px; }
  .institutional-principles .about-4-hero__title { font-size: 74px; letter-spacing: -3px; }
  .institutional-principles .about-4-craft__grid,
  .institutional-principles .about-4-belief__body { gap: 48px; grid-template-columns: minmax(0, .75fr) minmax(0, 1.25fr); }
  .institutional-principles .about-4-belief__name { font-size: 48px; }
  .institutional-principles .about-4-hero__shot--tall { height: 450px; }
  .institutional-principles .about-4-hero__shot--mid { height: 300px; }
  .institutional-principles .about-4-hero__shot--wide { height: 370px; }
  .institutional-principles__relations .about-4-craft__cols { grid-template-columns: minmax(0, 1fr); gap: 42px; }
}
@media (max-width: 991px) {
  .institutional-principles .about-4-hero__grid { grid-template-columns: minmax(0, 1fr); gap: 36px; }
  .institutional-principles .about-4-hero__aside { border: 0; padding: 0; }
  .institutional-principles .about-4-index { flex-flow: wrap; gap: 12px 24px; }
  .institutional-principles .about-4-hero__mosaic { grid-template-columns: 1fr 1fr; }
  .institutional-principles .about-4-hero__shot--tall { grid-column: 1 / -1; height: 440px; }
  .institutional-principles .about-4-hero__shot--mid,
  .institutional-principles .about-4-hero__shot--wide { height: 300px; margin-bottom: 0; }
  .institutional-principles .about-4-craft__grid,
  .institutional-principles .about-4-belief__body { grid-template-columns: minmax(0, 1fr); gap: 30px; }
  .institutional-principles .about-4-belief__name,
  .institutional-principles__relations .about-4-craft__intro { position: static; }
  .institutional-principles__relations .about-4-craft__cols { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 32px; }
  .institutional-principles .about-4-cta__panel { padding: 48px; }
}
@media (max-width: 575px) {
  .institutional-principles .about-4-hero__title { font-size: 52px; letter-spacing: -2px; }
  .institutional-principles .about-4-hero__lead { font-size: 18px; }
  .institutional-principles .about-4-hero__mosaic { grid-template-columns: minmax(0, 1fr); gap: 20px; }
  .institutional-principles .about-4-hero__shot--tall { height: 390px; }
  .institutional-principles .about-4-hero__shot--mid,
  .institutional-principles .about-4-hero__shot--wide { height: 260px; }
  .institutional-principles .about-4-craft__title,
  .institutional-principles .about-4-beliefs__title { font-size: 38px; letter-spacing: -1.4px; }
  .institutional-principles__intro-copy p { font-size: 17px; }
  .institutional-principles .about-4-belief { padding: 40px 0; }
  .institutional-principles .about-4-belief__name { font-size: 42px; letter-spacing: -1.5px; }
  .institutional-principles__value-lead { margin-bottom: 20px; font-size: 22px; line-height: 1.35; }
  .institutional-principles .institutional-principles__statement { display: block; min-height: 0; }
  .institutional-principles__statement .sec-5-portfolio-details-3__media { position: relative; height: 300px; }
  .institutional-principles__statement .sec-5-portfolio-details-3__veil { display: none; }
  .institutional-principles__statement .sec-5-portfolio-details-3__content { padding: 48px 0; }
  .institutional-principles__statement h2 { margin-bottom: 28px; font-size: 40px; letter-spacing: -1.5px; }
  .institutional-principles__statement-copy { font-size: 18px; line-height: 1.65; }
  .institutional-principles__relations .about-4-craft__cols { grid-template-columns: minmax(0, 1fr); }
  .institutional-principles .about-4-cta__panel { padding: 40px 24px; }
  .institutional-principles .about-4-cta__title { font-size: 36px; letter-spacing: -1px; }
}

/* Portfolio Details 5 : hero photographique partagé, fondu et commandes. */
.sec-1-portfolio-details-5 {
  position: relative;
  height: 820px;
  background: var(--at-neutral-950);
  color: var(--at-neutral-0);
}
.sec-1-portfolio-details-5__slider {
  position: absolute;
  inset: 0;
  height: 100%;
  width: 100%;
  z-index: 0;
}
.sec-1-portfolio-details-5__slider .swiper-wrapper,
.sec-1-portfolio-details-5__slider .swiper-slide {
  height: 100%;
}
.sec-1-portfolio-details-5__slide {
  position: relative;
  overflow: hidden;
}
.sec-1-portfolio-details-5__slide img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.sec-1-portfolio-details-5__veil {
  position: absolute;
  left: 0;
  right: 0;
  pointer-events: none;
  z-index: 1;
}
.sec-1-portfolio-details-5__veil--top {
  top: 0;
  height: 100%;
  background: rgba(15, 15, 15, 0.48);
}
.sec-1-portfolio-details-5__veil--bottom {
  bottom: 0;
  height: 240px;
  background: linear-gradient(180deg, rgba(15, 15, 15, 0) 0%, rgba(15, 15, 15, 0.55) 100%);
}
.sec-1-portfolio-details-5__content {
  position: absolute;
  left: 0;
  right: 0;
  top: 50%;
  transform: translateY(-40%);
  z-index: 2;
}
.sec-1-portfolio-details-5__eyebrow {
  color: #fff;
  font-size: 14px;
  letter-spacing: 1px;
}
.sec-1-portfolio-details-5__title {
  color: var(--at-neutral-0);
  font-size: 88px;
  line-height: 1.02;
  font-weight: 500;
  letter-spacing: -4px;
  justify-content: center;
}
.sec-1-portfolio-details-5__title sup {
  margin-left: 4px;
  line-height: 1;
}
.sec-1-portfolio-details-5__tagline {
  color: var(--at-neutral-100);
  font-size: 21px;
  line-height: 1.6;
  letter-spacing: -.3px;
}
.sec-1-portfolio-details-5 {
  /* Commandes du carrousel photographique. */
}
.sec-1-portfolio-details-5__controls {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 40px;
  z-index: 3;
}
.sec-1-portfolio-details-5__counter {
  display: inline-flex;
  align-items: baseline;
  gap: 6px;
  color: var(--at-neutral-0);
}
.sec-1-portfolio-details-5__counter-num {
  font-size: 48px;
  line-height: 1;
  letter-spacing: -0.03em;
}
.sec-1-portfolio-details-5__counter-total {
  font-size: 18px;
  opacity: 0.65;
  letter-spacing: -0.02em;
}
.sec-1-portfolio-details-5__pagination {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 12px;
  /* Repères visuels du carrousel. */
}
.sec-1-portfolio-details-5__pagination .swiper-pagination-bullet {
  width: 60px;
  height: 3px;
  border-radius: 2px;
  background: var(--at-neutral-0);
  opacity: 0.3;
  transition: background 0.3s ease, opacity 0.3s ease;
}
.sec-1-portfolio-details-5__pagination .swiper-pagination-bullet-active {
  background: var(--at-theme-primary);
  opacity: 1;
}
.sec-1-portfolio-details-5__nav {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 56px;
  height: 56px;
  border-radius: 50%;
  border: 1px solid rgba(254, 254, 254, 0.4);
  background: transparent;
  color: var(--at-neutral-0);
  cursor: pointer;
  transition: transform 0.3s ease, background-color 0.3s ease, border-color 0.3s ease;
}
.sec-1-portfolio-details-5__nav:hover {
  transform: translateY(-2px);
}
.sec-1-portfolio-details-5__nav--next {
  background: var(--at-theme-primary);
  border-color: var(--at-theme-primary);
}
.sec-1-portfolio-details-5__nav--next:hover {
  background: var(--at-neutral-0);
  color: var(--at-theme-primary);
  border-color: var(--at-neutral-0);
}
.sec-1-portfolio-details-5__nav--prev:hover {
  background: var(--at-neutral-0);
  color: var(--at-neutral-950);
  border-color: var(--at-neutral-0);
}
@media only screen and (min-width: 992px) and (max-width: 1199px) {
  .sec-1-portfolio-details-5 {
    height: 720px;
  }
}
@media only screen and (min-width: 768px) and (max-width: 991px) {
  .sec-1-portfolio-details-5 {
    height: 620px;
  }
  .sec-1-portfolio-details-5__controls {
    bottom: 30px;
  }
  .sec-1-portfolio-details-5__counter-num {
    font-size: 40px;
  }
  .sec-1-portfolio-details-5__nav {
    width: 48px;
    height: 48px;
  }
}
@media only screen and (min-width: 576px) and (max-width: 767px), (max-width: 574.98px) {
  .sec-1-portfolio-details-5 {
    height: 560px;
  }
  .sec-1-portfolio-details-5__content {
    transform: translateY(-50%);
  }
  .sec-1-portfolio-details-5__controls {
    bottom: 24px;
  }
  .sec-1-portfolio-details-5__counter-num {
    font-size: 32px;
  }
  .sec-1-portfolio-details-5__counter-total {
    font-size: 14px;
  }
  .sec-1-portfolio-details-5__nav {
    width: 44px;
    height: 44px;
  }
}
@media (max-width: 574.98px) {
  .sec-1-portfolio-details-5 {
    height: 680px;
  }
  .sec-1-portfolio-details-5__title {
    font-size: 46px;
    letter-spacing: -2px;
  }
}

@media (min-width: 576px) and (max-width: 991px) { .sec-1-portfolio-details-5__title { font-size: 66px; } }
@media (max-width: 575px) { .sec-1-portfolio-details-5__tagline { font-size: 18px; } .sec-1-portfolio-details-5__controls .about-5-text-link { font-size: 13px; } }

/* Histoire : chapitres About 5, progression About 3 et mémoire photographique. */
.history-story { --history-paper: var(--e360-body-bg, var(--at-neutral-0)); --history-ink: var(--e360-text-main, var(--at-neutral-950)); --history-muted: var(--e360-text-main-secondary, var(--at-neutral-600)); --history-line: var(--e360-border-color, var(--at-neutral-200)); background: var(--history-paper); color: var(--history-ink); }
.history-story__intro-title { max-width: 16ch; margin: 0; color: var(--history-ink); font-size: clamp(36px, 4vw, 56px); line-height: 1.08; letter-spacing: -2px; text-wrap: balance; }
.history-story__intro-copy { max-width: 56ch; color: var(--history-muted); font-size: 18px; line-height: 1.7; }
.history-story .about-5-label { color: var(--history-muted); }
.history-timeline .about-5-chapters__track { display: block; border-top: 0; }
.history-timeline .about-5-chapter { padding: 70px 0; border: 0; min-height: 0; background: var(--history-paper); }
.history-timeline .about-5-chapter + .about-5-chapter { border-top: 1px solid var(--history-line); }
.history-timeline [data-history-milestone="structuring"] { --history-ink: #fff; --history-muted: #ccc; background: var(--at-neutral-950); }
.history-timeline__chapter-grid { display: grid; grid-template-columns: minmax(0, .6fr) minmax(0, 1fr); gap: 40px 80px; align-items: start; }
.history-timeline .about-5-chapter__year { margin: 0; color: var(--history-ink); font-size: clamp(38px, 6vw, 88px); font-weight: 500; line-height: 1.05; letter-spacing: -3px; overflow-wrap: anywhere; }
.history-timeline [data-history-milestone="structuring"] .about-5-chapter__year { max-width: 9ch; font-size: clamp(36px, 4vw, 54px); letter-spacing: -2px; }
.history-timeline .about-5-chapter__name { margin-bottom: 26px; color: var(--history-ink); font-size: 34px; line-height: 1.15; letter-spacing: -1px; }
.history-timeline__summary { color: var(--history-ink); margin: 0 0 20px; font-size: 21px; line-height: 1.5; font-weight: 500; }
.history-timeline .about-5-chapter__text { max-width: 65ch; color: var(--history-muted); font-size: 17px; line-height: 1.75; font-weight: 400; }
.history-timeline .about-5-text-link { display: inline-flex; gap: 6px; color: var(--history-ink); }
.history-timeline__image { grid-column: 1; grid-row: 2; }
.history-timeline__image img { display: block; width: 100%; height: auto; }
.history-timeline__chapter-grid:has(.history-timeline__image) .history-timeline__body { grid-column: 2; grid-row: 1 / span 2; align-self: center; padding-top: 10px; }
.history-story .history-story__memory .sec-7-portfolio-details-3__media { aspect-ratio: 16 / 8; }
.history-story__memory figcaption { display: flex; justify-content: space-between; flex-wrap: wrap; gap: 8px 20px; padding: 24px 40px; background: var(--at-neutral-950); color: #fff; font-size: 14px; }
.history-story__structure { background: var(--e360-body-secondary-bg, var(--at-neutral-50)); }
.history-story__workshop { max-width: 370px; }
.history-story__workshop img { display: block; width: 100%; height: auto; }
.history-story__workshop figcaption { color: var(--history-muted); font-size: 14px; padding-top: 16px; }
.history-story .block-journey .journey-list-wrap { padding-left: 40px; }
.history-story .block-journey .journey-list-line { width: 1px; background: var(--at-theme-primary); }
.history-story .block-journey .journey-list__item { grid-template-columns: minmax(0, 1fr) auto; gap: 18px; padding: 38px 0; border-color: var(--history-line); }
.history-story .block-journey .journey-list__item:first-child { padding-top: 0; }
.history-story .block-journey .journey-list__date { grid-column: 1; color: var(--history-muted); font-size: 14px; }
.history-story .block-journey .journey-list__body { grid-area: 2 / 1; max-width: none; }
.history-story .block-journey .journey-list__link { grid-area: 1 / 2 / 3; color: var(--history-ink); }
.history-story .block-journey .journey-list__title { margin-bottom: 18px; color: var(--history-ink); font-size: 28px; line-height: 1.2; }
.history-story .block-journey .journey-list__desc { margin: 0; color: var(--history-muted); font-size: 17px; line-height: 1.7; }
.history-story__present { --history-ink: #fff; background: var(--at-neutral-950); color: #fff; }
.history-story .about-5-cta__panel { display: block; padding: 0; border: 0; border-radius: 0; background: transparent; }
.history-story__present-grid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 80px; }
.history-story__present-grid + .history-story__present-grid { padding-top: 64px; margin-top: 64px; border-top: 1px solid #444; }
.history-story .about-5-cta__title { color: #fff; font-size: 56px; line-height: 1.05; letter-spacing: -2px; }
.history-story .about-5-cta__kicker { color: #ddd; }
.history-story .about-5-cta__text { color: #ccc; font-size: 17px; line-height: 1.75; }
.history-story .about-5-cta__btn { border-radius: 0; white-space: normal; gap: 12px; background: var(--at-theme-primary); }
.history-story__present-image img { max-height: 480px; width: 100%; object-fit: contain; }
@media (max-width: 991px) {
  .history-timeline__chapter-grid { gap: 32px 40px; }
  .history-story .block-journey .journey-list-wrap { padding-left: 30px; }
  .history-story__present-grid { gap: 40px; }
  .history-story .about-5-cta__title { font-size: 44px; }
}
@media (max-width: 767px) {
  .history-timeline .about-5-chapter { padding: 48px 0; }
  .history-timeline__chapter-grid, .history-story__present-grid { grid-template-columns: minmax(0, 1fr); }
  .history-timeline .about-5-chapter__year { font-size: 64px; }
  .history-timeline .about-5-chapter__name { font-size: 29px; }
  .history-timeline__chapter-grid:has(.history-timeline__image) .history-timeline__body { grid-column: auto; grid-row: auto; padding-top: 0; }
  .history-timeline__image { grid-column: auto; grid-row: auto; max-width: 420px; }
  .history-timeline__summary { font-size: 19px; }
  .history-story__intro-copy { font-size: 17px; }
  .history-story .history-story__memory .sec-7-portfolio-details-3__media { aspect-ratio: 4 / 3; }
  .history-story__memory figcaption { padding: 20px; font-size: 13px; }
  .history-story .about-5-cta__title { font-size: 40px; }
}

/* Axes et méthode : une seule progression par page, soutenue par des images de pratique. */
body.e360-page-axes .sec-2-about { display: none; }
body.e360-page-former .sec-2-services-details .about-me-slider-thumb { height: 380px; }
body.e360-page-former .sec-5-services-details,
body.e360-page-former .sec-5-services-details + .pb-120 { display: none; }
body:is(.e360-axis-detail, .e360-page-reveler) .sd2-stack { display: none; }
body:is(.e360-axis-detail, .e360-page-reveler) .sd2-hero__visual { min-height: 560px; }
/* Les pages d’axe conservent une photographie structurante sur tablette paysage. */
@media (min-width: 992px) and (max-width: 1199px) {
    body.e360-axis-detail .sd2-mod {
        grid-template-columns: 48px minmax(0, 1fr) minmax(280px, 0.6fr);
    }
}
body.e360-page-porter-sa-voix .at-brand-area,
body.e360-page-porter-sa-voix .sec-6-home-8,
body.e360-page-porter-sa-voix .sec-7-home-8,
body.e360-page-porter-sa-voix .home-5-section-8 { display: none; }
body.e360-page-porter-sa-voix .h8-col-left { display: block; }
body.e360-page-porter-sa-voix .h8-headline,
body.e360-page-porter-sa-voix .h8-col-left > .fz-font-lg {
    min-width: 0;
    overflow-wrap: normal;
    word-break: normal;
}
body.e360-page-porter-sa-voix .h8-col-left > .fz-font-lg { max-width: 686px; }

/* Programmes : les cartes, accordéons, galeries et processus existants restent les unités de composition. */
body.e360-compose-program .svc5-hero__media,
body.e360-compose-program .sd5-hero__media { min-height: 500px; }
body.e360-compose-program .svc5-cap__media,
body.e360-compose-program .sd5-map__media { min-height: 320px; }
body.e360-page-programmes .home-2-section-9,
body.e360-page-programmes .sec-7-about,
body.e360-page-talk-for-inspiring .sd5-offers,
body.e360-page-eloquence-au-feminin .sec-3-about,
body.e360-page-masterclasses .sec-4-portfolio-details-6,
body.e360-page-masterclasses .sec-5-portfolio-details-6 { display: none; }
body.e360-page-masterclasses .sec-3-portfolio-details-6 img { min-height: 520px; object-position: center; }

/* Clubs : expérience régulière, fonctionnement, gestes, puis invitation. */
body.e360-page-clubs-universitaires:not(.public-page) .sec-2-home-7,
body.e360-page-clubs-universitaires:not(.public-page) .home-2-section-8,
body.e360-page-clubs-universitaires:not(.public-page) .sec-8-home-7,
body.e360-page-clubs-universitaires:not(.public-page) .sec-9-home-7,
body.e360-page-clubs-universitaires:not(.public-page) .sec-10-home-7,
body.e360-page-clubs-universitaires:not(.public-page) .sec-11-home-7,
body.e360-page-clubs-universitaires:not(.public-page) .sec-5-home-7 > .container-fluid { display: none; }
body.e360-page-clubs-universitaires .sec-1-home-7__image-wrap,
body.e360-page-clubs-universitaires .sec-7-home-7__image { min-height: 620px; }

/* Concours : garder l'entrée, le parcours et les formats ; écarter chiffres, faux témoignage et journal. */
body.e360-page-concours-interuniversitaire main > div:nth-of-type(6),
body.e360-page-concours-interuniversitaire main > div:nth-of-type(7),
body.e360-page-concours-interuniversitaire main > div:nth-of-type(8) { display: none; }
body.e360-page-concours-interuniversitaire .sec-1-home-4-wrap { min-height: 760px; }

/* Alumni : la communauté, le passage à la transmission et les repères communs structurent la page. */
body.e360-page-communaute-alumni main > div:nth-of-type(2),
body.e360-page-communaute-alumni main > div:nth-of-type(3),
body.e360-page-communaute-alumni main > div:nth-of-type(5),
body.e360-page-communaute-alumni main > div:nth-of-type(8) { display: none; }
body.e360-page-communaute-alumni main > div:nth-of-type(4) img { min-height: 440px; }

/* Impact : aucun chiffre ne se présente comme une preuve tant que sa source n'est pas reliée. */
body.e360-page-impact .card_case__studies-metric,
body.e360-page-impact .card_case__studies-metric-overlay,
body.e360-page-impact .card_case__studies-tags-overlay { display: none; }
body.e360-page-impact .card_case__studies-thumb { min-height: 420px; }

/* Ressources : les grilles éditoriales prennent le pas sur les métaphores de boutique. */
body.e360-page-bibliotheque .sec-3-shop-archive-1,
body.e360-page-bibliotheque .sec-4-shop-archive-1,
body.e360-page-bibliotheque .home-5-section-8 { display: none; }
body.e360-page-bibliotheque .product-card__price,
body.e360-page-bibliotheque .product-card__cart { display: none; }
body.e360-page-ressource-details .content-product-right__option,
body.e360-page-ressource-details .content-product-right__actions { display: none; }
body.e360-page-ressource-details .product-card__thumb { min-height: 360px; }
body.e360-compose-editorial .blog-card__thumb,
body.e360-compose-editorial .blog-card-2__thumb { min-height: 280px; }

/* Partenaires : proposition, formes d'engagement et démarche, sans compteurs ni logos de démonstration. */
body.e360-page-partenaires .home-2-section-9,
body.e360-page-partenaires .home-2-section-8,
body.e360-page-partenaires .sec-7-about { display: none; }
body.e360-page-partenaires .svc4-hero__media { min-height: 560px; }

/* Pages utilitaires : conserver leur tâche principale avec un repère photographique utile. */
body.e360-page-faq .sec-2-faqs .at-service-card-img { height: 260px; }
body.e360-page-mentions-legales .sec-2-blog-details,
body.e360-page-politique-confidentialite .sec-2-blog-details,
body.e360-page-mentions-legales .sec-1-blog-details .size-56,
body.e360-page-politique-confidentialite .sec-1-blog-details .size-56,
body.e360-page-mentions-legales .sec-1-blog-details .content > .row.mb-30.g-3,
body.e360-page-politique-confidentialite .sec-1-blog-details .content > .row.mb-30.g-3,
body.e360-page-mentions-legales .sec-1-blog-details figure,
body.e360-page-politique-confidentialite .sec-1-blog-details figure { display: none; }
body.e360-page-mentions-legales .sec-1-blog-details .col-lg-8.mx-auto.py-4 img,
body.e360-page-politique-confidentialite .sec-1-blog-details .col-lg-8.mx-auto.py-4 img {
    width: 100%;
    height: 520px;
    object-fit: cover;
    object-position: center 38%;
}
/* 404 : grille et portrait ORISA, échelle éditoriale française et navigation statique. */
.e360-page-404 { --news-line: var(--at-neutral-100); --news-paper: var(--at-neutral-0); --news-ink: var(--at-neutral-950); --news-muted: var(--at-neutral-600); }
.e360-page-404 .sec-1-404__number { font-size: 96px; line-height: 1; letter-spacing: -5px; color: var(--at-theme-primary); }
.e360-page-404 .sec-1-404__lead { max-width: 480px; line-height: 1.5; }
.e360-page-404 .sec-1-404 .card_case__studies-avatar { height: 100%; min-height: 620px; aspect-ratio: auto; border-radius: 0; }
.e360-page-404 .sec-1-404 .card_case__studies-avatar > img { position: absolute; inset: 0; }
.e360-page-404 .sec-2-404 .subcategory-pill { min-height: 44px; }
@media (max-width: 1199px) {
    .e360-page-404 .sec-1-404__number { font-size: 80px; }
}
@media (max-width: 991px) {
    .e360-page-404 .sec-1-404 .card_case__studies-avatar { height: 420px; min-height: 0; }
}
@media (max-width: 575px) {
    .e360-page-404 .sec-1-404 { padding-top: 120px; padding-bottom: 40px; }
    .e360-page-404 .sec-1-404__number { font-size: 72px; letter-spacing: -3px; }
    .e360-page-404 .sec-1-404 .card_case__studies-avatar { height: 320px; }
    .e360-page-404 .sec-2-404 { padding-bottom: 40px; }
}
body.e360-page-plan-du-site .home-2-section-9,
body.e360-page-plan-du-site .home-2-section-8,
body.e360-page-plan-du-site .sec-7-about { display: none; }

@media (max-width: 991px) {
    .scroll-section[data-e360-mobile-stack="static"] .wrapper { height: auto; overflow: visible; }
    .scroll-section[data-e360-mobile-stack="static"] .item,
    .scroll-section[data-e360-mobile-stack="static"] .item:first-child,
    .scroll-section[data-e360-mobile-stack="static"] .item:not(:first-child) {
        position: relative;
        min-height: 0;
        height: auto;
        transform: none;
    }
}
@media (max-width: 575px) {
    body.e360-compose-program .svc5-hero__media,
    body.e360-compose-program .sd5-hero__media,
    body.e360-page-clubs-universitaires .sec-1-home-7__image-wrap,
    body.e360-page-clubs-universitaires .sec-7-home-7__image,
    body.e360-page-partenaires .svc4-hero__media { min-height: 320px; }
    body:is(.e360-axis-detail, .e360-page-reveler) .sd2-hero__title {
        max-width: 100%;
        overflow-wrap: anywhere;
    }
    body:is(.e360-axis-detail, .e360-page-reveler) .sd2-hero__copy {
        width: 100%;
        min-width: 0;
        max-width: 100%;
    }
    body:is(.e360-axis-detail, .e360-page-reveler) .sd2-hero__main { grid-template-columns: minmax(0, 1fr); }
    body:is(.e360-axis-detail, .e360-page-reveler) .sd2-hero__actions {
        flex-direction: column;
        align-items: flex-start;
        gap: 20px;
    }
    body.e360-page-mentions-legales .sec-1-blog-details .col-lg-8.mx-auto.py-4 img,
    body.e360-page-politique-confidentialite .sec-1-blog-details .col-lg-8.mx-auto.py-4 img { height: 320px; }
}
/* E360_RECOMPOSITION_END */
/* E360_EDITORIAL_SCALE_END */


/* Composant Services 05, partagé par le hub Programmes. */
.svc5-process {
  position: relative;
  z-index: 2;
}

.svc5-kicker {
  display: flex;
  align-items: center;
  gap: 8px;
  margin: 0;
  font-size: 12px!important;
  font-weight: 600;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}
.svc5-kicker__num {
  color: var(--at-theme-primary);
}
.svc5-kicker__text {
  color: var(--at-neutral-500);
}
.svc5-kicker--dark .svc5-kicker__text {
  color: var(--at-neutral-900);
}


.svc5-hero__grid {
  display: grid;
  grid-template-columns: minmax(0, 1.35fr) minmax(240px, 0.75fr);
  gap: 32px 48px;
  align-items: end;
  margin-bottom: 48px;
}
.svc5-hero__title {
  margin: 0;
  font-family: var(--at-ff-heading);
  font-size: clamp(40px, 6.5vw, 80px);
  font-weight: 700;
  line-height: 1.02;
  letter-spacing: -0.04em;
  color: var(--at-neutral-900);
  max-width: 12ch;
}
.svc5-hero__title-line {
  display: block;
  color: var(--at-neutral-500);
}
.svc5-hero__lead {
  font-size: 16px;
  font-weight: 500;
  line-height: 1.55;
  color: var(--at-neutral-500);
  max-width: 36ch;
  margin-bottom: 28px !important;
}
.svc5-hero__meta {
  display: flex;
  flex-wrap: wrap;
  gap: 20px 28px;
}
.svc5-hero__media {
  position: relative;
  border-radius: 16px;
  overflow: hidden;
  aspect-ratio: 16/5;
  background: var(--at-neutral-50);
}
.svc5-hero__media img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  display: block;
}
.svc5-hero__media-tag {
  position: absolute;
  left: 20px;
  bottom: 20px;
  padding: 8px 14px;
  border-radius: 999px;
  background: rgba(10, 10, 10, 0.72);
  color: var(--at-neutral-0);
  font-size: 12px;
  font-weight: 600;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  backdrop-filter: blur(6px);
}

.svc5-meta {
  display: flex;
  flex-direction: column;
  gap: 4px;
  min-width: 110px;
}
.svc5-meta__label {
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--at-neutral-300);
}
.svc5-meta__value {
  font-size: 15px;
  font-weight: 600;
  color: var(--at-neutral-900);
  text-decoration: none;
  transition: color 0.2s ease;
}
.svc5-meta__value:hover {
  color: var(--at-theme-primary);
}


.svc5-map__head {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-end;
  justify-content: space-between;
  gap: 20px 40px;
  margin-bottom: 24px;
}
.svc5-map__title {
  font-family: var(--at-ff-heading);
  font-size: clamp(28px, 3.5vw, 44px);
  font-weight: 700;
  letter-spacing: -0.03em;
  color: var(--at-neutral-900);
  max-width: 16ch;
}
.svc5-map__hint {
  max-width: 32ch;
  font-size: 15px;
  font-weight: 500;
  line-height: 1.5;
  color: var(--at-neutral-500);
}
.svc5-map {

}
.svc5-map__stack .wrapper {
  position: relative;
}
.svc5-map__stack .item {
  width: 100%;
  top: 0;
  left: 0;
  right: 0;
  min-height: 100vh;
  display: flex;
  align-items: center;
  padding: 40px 0 60px;
  will-change: transform;

}
.svc5-map__stack .item:first-child {
  min-height: 100vh;
  height: auto;
}
.svc5-map__stack .item:not(:first-child) {
  position: absolute;
}
.svc5-map__stack .item .container {
  width: 100%;
}


.svc5-item {
  background: rgba(254, 254, 254, 0.62);
  backdrop-filter: blur(14px) saturate(1.05);
  -webkit-backdrop-filter: blur(14px) saturate(1.05);

  isolation: isolate;
}
@supports not ((backdrop-filter: blur(1px)) or (-webkit-backdrop-filter: blur(1px))) {
  .svc5-item {
    background: rgba(254, 254, 254, 0.94);
  }
}

.svc5-cap {
  display: grid;
  grid-template-columns: 72px minmax(0, 1fr) minmax(140px, 0.35fr);
  gap: 24px 28px;
  align-items: stretch;
  padding: clamp(28px, 3vw, 40px);
  border: 1px solid var(--at-neutral-100);
  border-radius: 16px;
  background: var(--at-neutral-0);
  box-shadow: 0 18px 48px rgba(0, 0, 0, 0.06);
  transition: border-color 0.25s ease, box-shadow 0.25s ease;
}
.svc5-cap:hover {
  border-color: var(--at-neutral-200);
  box-shadow: 0 20px 56px rgba(0, 0, 0, 0.08);
}
.svc5-cap.is-inview {
  border-color: rgba(var(--at-theme-primary-rgb, 240, 70, 14), 0.35);
}
.svc5-cap__index {
  font-size: 13px;
  font-weight: 600;
  letter-spacing: 0.08em;
  color: var(--at-neutral-300);
  padding-top: 6px;
}
.svc5-cap__body {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(180px, 0.85fr);
  gap: 24px 32px;
  align-items: center;
  min-width: 0;
}
.svc5-cap__name {
  margin: 0 0 10px;
  font-family: var(--at-ff-heading);
  font-size: clamp(24px, 2.4vw, 32px);
  font-weight: 600;
  letter-spacing: -0.03em;
  color: var(--at-neutral-900);
}
.svc5-cap__desc {
  margin: 0 0 16px;
  max-width: 40ch;
  font-size: 15px;
  font-weight: 500;
  line-height: 1.55;
  color: var(--at-neutral-500);
}
.svc5-cap__tags {
  list-style: none;
  margin: 0 0 18px;
  padding: 0;
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}
.svc5-cap__tags li {
  padding: 6px 12px;
  border-radius: 999px;
  background: var(--at-neutral-50);
  font-size: 12px;
  font-weight: 600;
  letter-spacing: 0.02em;
  color: var(--at-neutral-700);
}
.svc5-cap__link {
  font-size: 14px;
  font-weight: 600;
  color: var(--at-neutral-900);
  text-decoration: underline;
  text-underline-offset: 3px;
}
.svc5-cap__link:hover {
  color: var(--at-theme-primary);
}
.svc5-cap__media {
  border-radius: 12px;
  overflow: hidden;
  aspect-ratio: 4/3;
  background: var(--at-neutral-50);
}
.svc5-cap__media img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  display: block;
  transition: transform 0.55s ease;
}
.svc5-cap:hover .svc5-cap__media img {
  transform: scale(1.04);
}
.svc5-cap__meta {
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 6px;
  padding-left: 8px;
}
.svc5-cap__meta span {
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--at-neutral-300);
}
.svc5-cap__meta strong {
  font-size: 16px;
  font-weight: 600;
  letter-spacing: -0.02em;
  color: var(--at-neutral-900);
}


.svc5-process__head {
  margin-bottom: 48px;
  max-width: 50%;
}
.svc5-process__title {
  font-family: var(--at-ff-heading);
  font-size: clamp(28px, 3.5vw, 44px);
  font-weight: 700;
  letter-spacing: -0.03em;
  color: var(--at-neutral-900);
}
.svc5-process__grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 28px 40px;
}

.svc5-step__num {
  display: block;
  margin-bottom: 18px;
  font-size: 13px;
  font-weight: 600;
  letter-spacing: 0.08em;
  color: var(--at-theme-primary);
}
.svc5-step__title {
  margin: 0 0 12px;
  font-family: var(--at-ff-heading);
  font-size: 22px;
  font-weight: 600;
  letter-spacing: -0.02em;
  color: var(--at-neutral-900);
}
.svc5-step__text {
  margin: 0;
  max-width: 32ch;
  font-size: 15px;
  font-weight: 500;
  line-height: 1.55;
  color: var(--at-neutral-500);
}


.svc5-engage__head {
  margin-bottom: 40px;
}
.svc5-engage__title {
  font-family: var(--at-ff-heading);
  font-size: clamp(28px, 3.5vw, 44px);
  font-weight: 700;
  letter-spacing: -0.03em;
  color: var(--at-neutral-900);
  max-width: 50%;
}
.svc5-engage__grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 20px;
  margin-bottom: 28px;
}
/* Variante éditoriale partagée pour les phrases longues dans un en-tête. */
.svc5-process__head--wide,
.svc5-engage__title--wide { max-width: 880px; }

.svc5-mode {
  position: relative;
  display: flex;
  flex-direction: column;
  padding: clamp(28px, 3vw, 40px);
  border-radius: 16px;
  background: var(--at-neutral-50);
  border: 1px solid var(--at-neutral-100);
  min-height: 100%;
}
.svc5-mode--accent {
  background: var(--at-neutral-900);
  border-color: transparent;
  color: var(--at-neutral-0);
}
.svc5-mode--accent .svc5-mode__name,
.svc5-mode--accent .svc5-mode__list li,
.svc5-mode--accent .svc5-mode__cta {
  color: var(--at-neutral-0);
}
.svc5-mode--accent .svc5-mode__desc {
  color: rgba(254, 254, 254, 0.72);
}
.svc5-mode--accent .svc5-mode__list li::before {
  background: var(--at-theme-primary);
}
.svc5-mode--accent .svc5-mode__cta:hover {
  color: var(--at-theme-primary);
}
.svc5-mode__badge {
  position: absolute;
  top: 20px;
  right: 20px;
  padding: 6px 10px;
  border-radius: 999px;
  background: var(--at-theme-primary);
  color: #fff;
  font-size: 10px;
  font-weight: 600;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}
.svc5-mode__name {
  margin: 0 0 12px;
  font-family: var(--at-ff-heading);
  font-size: clamp(24px, 2.4vw, 32px);
  font-weight: 600;
  letter-spacing: -0.03em;
  color: var(--at-neutral-900);
}
.svc5-mode__desc {
  margin: 0 0 24px;
  max-width: 38ch;
  font-size: 15px;
  font-weight: 500;
  line-height: 1.55;
  color: var(--at-neutral-500);
}
.svc5-mode__list {
  list-style: none;
  margin: 0 0 28px;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 10px;
  flex: 1 1 auto;
}
.svc5-mode__list li {
  position: relative;
  padding-left: 18px;
  font-size: 14px;
  font-weight: 500;
  color: var(--at-neutral-700);
}
.svc5-mode__list li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0.5em;
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: var(--at-theme-primary);
}
.svc5-mode__cta {
  font-size: 14px;
  font-weight: 600;
  color: var(--at-neutral-900);
  text-decoration: underline;
  text-underline-offset: 3px;
  align-self: flex-start;
}
.svc5-mode__cta:hover {
  color: var(--at-theme-primary);
}

.svc5-cta {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 28px 40px;
  padding: clamp(36px, 5vw, 56px);
  border-radius: 20px;
  background: var(--at-theme-primary);
  color: #fff;
}
.svc5-cta__title {
  margin: 0 0 10px;
  font-family: var(--at-ff-heading);
  font-size: clamp(24px, 3vw, 36px);
  font-weight: 700;
  letter-spacing: -0.03em;
  max-width: 16ch;
  color: #fff;
}
.svc5-cta__text {
  margin: 0;
  max-width: 42ch;
  font-size: 16px;
  font-weight: 500;
  line-height: 1.5;
  color: rgba(255, 255, 255, 0.88);
}
.svc5-cta__actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 16px 24px;
}
.svc5-cta__btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 14px 26px;
  border-radius: 999px;
  background: #fff;
  color: var(--at-neutral-900);
  font-size: 15px;
  font-weight: 600;
  text-decoration: none;
  transition: transform 0.2s ease;
}
.svc5-cta__btn:hover {
  color: var(--at-neutral-900);
  transform: translateY(-1px);
}
.svc5-cta__mail {
  font-size: 15px;
  font-weight: 600;
  color: #fff;
  text-decoration: underline;
  text-underline-offset: 3px;
}
.svc5-cta__mail:hover {
  color: #fff;
  opacity: 0.9;
}


@media only screen and (max-width: 1199px) {
  .svc5-cap {
    grid-template-columns: 56px minmax(0, 1fr);
  }
  .svc5-cap__meta {
    grid-column: 2;
    border-left: 0;
    border-top: 1px solid var(--at-neutral-100);
    padding: 16px 0 0;
    flex-direction: row;
    justify-content: flex-start;
    gap: 12px 20px;
    align-items: baseline;
  }
}
@media only screen and (max-width: 991px) {
  .svc5-hero__grid {
    grid-template-columns: 1fr;
    margin-bottom: 36px;
  }
  .svc5-hero__title {
    max-width: none;
  }
  .svc5-hero__aside {
    max-width: 48ch;
  }

  .svc5-map__stack .item {
    min-height: 85vh;
    padding: 28px 0 40px;
    align-items: flex-start;
  }
  .svc5-cap__body {
    grid-template-columns: 1fr;
  }
  .svc5-cap__media {
    order: -1;
    max-width: 420px;
  }
  .svc5-process__grid {
    grid-template-columns: 1fr;
    gap: 32px;
  }
  .svc5-engage__grid {
    grid-template-columns: 1fr;
  }
}
@media only screen and (max-width: 767px) {
  .svc5-hero {
    padding-top: 120px;
    padding-bottom: 48px;
  }
  .svc5-hero__media-tag {
    left: 12px;
    bottom: 12px;
  }
  .svc5-map__stack .item {
    min-height: auto;
    padding: 16px 0 28px;
  }
  .svc5-cap {
    grid-template-columns: 1fr;
    padding: 22px 20px;
  }
  .svc5-cap__index {
    padding-top: 0;
  }
  .svc5-cap__meta {
    grid-column: 1;
  }
  .svc5-cta__actions {
    width: 100%;
    flex-direction: column;
    align-items: stretch;
  }
  .svc5-cta__btn {
    width: 100%;
  }
}

/* Adaptation du composant source au hub institutionnel des programmes. */
.e360-programs-page,
.e360-program-detail__page { --at-theme-primary: #1a58e2; --at-theme-primary-rgb: 26, 88, 226; }
.e360-programs-page .svc5-hero__media { aspect-ratio: 16 / 6; min-height: 0; }
.e360-program-journey__head { display: grid; grid-template-columns: minmax(0, 0.9fr) minmax(280px, 1fr); gap: 16px 64px; align-items: end; }
.e360-program-journey__head .svc5-kicker { grid-column: 1 / -1; }
.e360-program-journey__head > p:last-child { margin: 0; max-width: 58ch; color: var(--at-neutral-500); font-size: 16px; line-height: 1.65; }
.e360-program-journey__steps { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); list-style: none; margin: 44px 0 0; padding: 0; border-top: 1px solid var(--at-neutral-200);border-bottom: 1px solid var(--at-neutral-200); }
.e360-program-journey__steps li { border-right: 1px solid var(--at-neutral-200); min-width: 0; }
.e360-program-journey__steps li:first-child { border-left: 1px solid var(--at-neutral-200); }
.e360-program-journey__steps a,
.e360-program-journey__steps li[aria-current] { display: flex; min-height: 118px; padding: 20px; flex-direction: column; justify-content: space-between; color: var(--at-neutral-900); text-decoration: none; }
.e360-program-journey__steps a:hover { color: var(--at-theme-primary); background: var(--at-neutral-0); }
.e360-program-journey__steps li[aria-current] { background: var(--at-theme-primary); color: #fff; }
.e360-program-journey__steps span { font-size: 11px; letter-spacing: .08em; }
.e360-program-card { grid-template-columns: 56px minmax(0, 1fr) minmax(130px, .25fr); gap: 20px 28px; }
.e360-program-card.is-featured { border-color: rgba(26, 88, 226, .32); }
.e360-program-card__facts { grid-column: 2 / -1; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 20px; margin: 0; padding-top: 22px; border-top: 1px solid var(--at-neutral-100); }
.e360-program-card__facts div { min-width: 0; }
.e360-program-card__facts dt,
.e360-program-detail__grid dt { margin-bottom: 8px; color: var(--at-theme-primary); font-size: 11px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
.e360-program-card__facts dd,
.e360-program-detail__grid dd { margin: 0; color: var(--at-neutral-600); font-size: 13px; line-height: 1.55; }
.e360-program-card[data-program-ratio="wide"] .svc5-cap__media { aspect-ratio: 16 / 9; }
.e360-program-card[data-program-ratio="portrait"] .svc5-cap__media { aspect-ratio: 3 / 4; max-height: 300px; }
.e360-program-card[data-program-ratio="square"] .svc5-cap__media { aspect-ratio: 1 / 1; max-height: 300px; }
.e360-program-orientation__list { list-style: none; margin: 0; padding: 0; border-top: 1px solid var(--at-neutral-200); }
.e360-program-orientation__list li { display: grid; grid-template-columns: minmax(0, 1fr) minmax(260px, .7fr); gap: 24px 56px; align-items: center; padding: 24px 0; border-bottom: 1px solid var(--at-neutral-200); }
.e360-program-orientation__list li > span { color: var(--at-neutral-600); font-size: 17px; }
.e360-program-orientation__list a { display: flex; justify-content: space-between; gap: 16px; color: var(--at-neutral-900); font-size: 16px; font-weight: 700; text-decoration: none; }
.e360-program-orientation__list a:hover { color: var(--at-theme-primary); }
.e360-program-detail__hero-media { aspect-ratio: 16 / 7; min-height: 0; }
.e360-program-detail__grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1px; margin: 0; background: var(--at-neutral-200); border: 1px solid var(--at-neutral-200); }
.e360-program-detail__grid > div { padding: 32px; background: var(--at-neutral-0); }
.e360-program-detail__grid dd { max-width: 58ch; font-size: 16px; }
@media only screen and (max-width: 1199px) {
  .e360-program-card { grid-template-columns: 48px minmax(0, 1fr); }
  .e360-program-card__facts { grid-column: 2; grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media only screen and (max-width: 991px) {
  .e360-program-journey__head { grid-template-columns: 1fr; }
  .e360-program-journey__steps { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .e360-program-card__facts { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media only screen and (max-width: 767px) {
  .e360-programs-page .svc5-hero__title,
  .e360-program-detail__page .svc5-hero__title { font-size: clamp(38px, 13vw, 56px); line-height: 1.02; }
  .e360-programs-page .svc5-hero__media,
  .e360-program-detail__hero-media { aspect-ratio: 4 / 3; }
  .e360-program-journey__steps { grid-template-columns: 1fr; }
  .e360-program-journey__steps li,
  .e360-program-journey__steps li:first-child { border-left: 1px solid var(--at-neutral-200); border-bottom: 1px solid var(--at-neutral-200); }
  .e360-program-journey__steps a,
  .e360-program-journey__steps li[aria-current] { min-height: 92px; }
  .e360-programs-page .svc5-map__stack .item { position: static; transform: none; }
  .e360-program-card { grid-template-columns: 1fr; }
  .e360-program-card__facts { grid-column: 1; grid-template-columns: 1fr; }
  .e360-program-orientation__list li { grid-template-columns: 1fr; gap: 10px; }
  .e360-program-detail__grid { grid-template-columns: 1fr; }
  .e360-program-detail__grid > div { padding: 24px 20px; }
}
@media (prefers-reduced-motion: reduce) {
  .e360-programs-page .svc5-map__stack .item { position: static; transform: none; min-height: auto; }
}
.e360-program-card .svc5-cap__body:not(:has(.svc5-cap__media)) { grid-template-columns: 1fr; }
.e360-program-detail__hero-media[data-media-orientation="portrait"] img { object-fit: contain; background: var(--at-neutral-50); }
.e360-programs-page .svc5-hero__media,
.e360-program-detail__page .svc5-hero__media,
.e360-programs-page .svc5-cap__media { margin-inline: 0; max-width: 100%; }
@media only screen and (max-width: 991px) {
  .e360-programs-page .svc5-map__stack .wrapper { height: auto; overflow: visible; }
  .e360-programs-page .svc5-map__stack .item,
  .e360-programs-page .svc5-map__stack .item:first-child,
  .e360-programs-page .svc5-map__stack .item:not(:first-child) { position: relative; inset: auto; min-height: auto; transform: none; }
}
@media only screen and (min-width: 992px) {
  .e360-program-card.is-reversed .svc5-cap__body > div:first-child { order: 2; }
  .e360-program-card.is-reversed .svc5-cap__media { order: 1; }
}

/* Clubs universitaires : variante publique des composants du thème. */
.e360-clubs-page,
.e360-club-profile {
  --at-theme-primary: #1a58e2;
  --at-theme-primary-rgb: 26, 88, 226;
  color: var(--at-neutral-900);
}
.e360-clubs-link {
  color: var(--at-neutral-900);
  font-size: 15px;
  font-weight: 700;
  text-decoration: underline;
  text-decoration-thickness: 1px;
  text-underline-offset: 5px;
}
.e360-clubs-link:hover { color: var(--at-theme-primary); }
.e360-clubs-intro { padding: 110px 0; background: var(--at-neutral-0); }
.e360-clubs-intro__grid,
.e360-clubs-directory__head,
.e360-clubs-journey > .container,
.e360-club-profile__content-grid {
  display: grid;
  grid-template-columns: minmax(0, 0.9fr) minmax(340px, 1fr);
  gap: 40px 90px;
  align-items: start;
}
.e360-clubs-section-title {
  max-width: 850px;
  margin: 0;
  color: var(--at-neutral-950);
  font-size: clamp(40px, 4.1vw, 66px);
  font-weight: 700;
  letter-spacing: -0.045em;
  line-height: 1.02;
}
.e360-clubs-intro__copy > p,
.e360-clubs-dimensions__intro > p,
.e360-clubs-directory__head > p,
.e360-clubs-journey__copy > p,
.e360-club-profile__description {
  color: var(--at-neutral-600);
  font-size: 17px;
  line-height: 1.75;
}
.e360-clubs-intro__facts {
  display: grid;
  margin: 34px 0 0;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1px;
  background: var(--at-neutral-200);
  border: 1px solid var(--at-neutral-200);
}
.e360-clubs-intro__facts > div { padding: 26px; background: var(--at-neutral-50); }
.e360-clubs-intro__facts dt {
  margin-bottom: 9px;
  color: var(--at-theme-primary);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}
.e360-clubs-intro__facts dd { margin: 0; color: var(--at-neutral-700); font-size: 14px; line-height: 1.6; }
.e360-clubs-experience {
  padding: 110px 0 120px;
  background: var(--at-neutral-50);
  border-top: 1px solid var(--at-neutral-200);
  scroll-margin-top: 100px;
}
.e360-clubs-experience__header {
  display: grid;
  margin-bottom: 66px;
  grid-template-columns: minmax(0, 1.25fr) minmax(320px, 0.65fr);
  gap: 48px 90px;
  align-items: end;
}
.e360-clubs-experience__header > p {
  max-width: 540px;
  margin: 0;
  color: var(--at-neutral-600);
  font-size: 17px;
  line-height: 1.75;
}
.e360-clubs-experience__chips {
  display: flex;
  margin-bottom: 72px;
  flex-direction: column;
  gap: 8px;
}
.e360-clubs-experience__chips .sec-6-home-7__chip {
  display: inline-flex;
  min-height: 54px;
  padding: 0 28px;
  align-items: center;
  background: var(--at-neutral-950);
  color: #fff;
}
.e360-clubs-experience__chips .sec-6-home-7__chip--1 { width: 24%; }
.e360-clubs-experience__chips .sec-6-home-7__chip--2 { width: 42%; margin-left: 16%; }
.e360-clubs-experience__chips .sec-6-home-7__chip--3 { width: 55%; margin-left: 33%; }
.e360-clubs-experience__chips .sec-6-home-7__chip--4 { width: 39%; margin-left: 61%; background: var(--at-theme-primary); }
.e360-clubs-experience__chips .sec-6-home-7__chip-text {
  font-size: 14px;
  font-weight: 700;
  letter-spacing: 0.02em;
  text-transform: uppercase;
  white-space: nowrap;
}
.e360-clubs-experience__cards {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 1px;
  background: var(--at-neutral-200);
  border: 1px solid var(--at-neutral-200);
}
.e360-clubs-experience__card {
  display: flex;
  min-height: 330px;
  padding: 38px 32px;
  background: var(--at-neutral-0);
  border: 0;
  flex-direction: column;
}
.e360-clubs-experience__card .sec-6-home-7__card-body { display: flex; height: 100%; flex-direction: column; }
.e360-clubs-experience__card .sec-6-home-7__card-num {
  margin-bottom: auto !important;
  color: var(--at-theme-primary);
  font-size: 18px;
  font-weight: 700;
}
.e360-clubs-experience__card .sec-6-home-7__card-title {
  margin: 44px 0 18px !important;
  color: var(--at-neutral-950);
  font-size: 26px;
  font-weight: 700;
  letter-spacing: -0.035em;
  line-height: 1.1;
}
.e360-clubs-experience__card .sec-6-home-7__card-desc {
  color: var(--at-neutral-600);
  font-size: 15px;
  line-height: 1.65;
}
.e360-clubs-gallery { padding: 88px 0 100px; background: var(--at-neutral-950); }
.e360-clubs-gallery__head {
  display: grid;
  margin-bottom: 42px;
  grid-template-columns: minmax(0, 1.2fr) minmax(300px, 0.65fr);
  gap: 40px 80px;
  align-items: end;
}
.e360-clubs-gallery__head > p { max-width: 520px; margin: 0; color: var(--at-neutral-300); font-size: 16px; line-height: 1.7; }
.e360-clubs-gallery .svc5-kicker__num,
.e360-clubs-gallery .svc5-kicker__text { color: var(--at-neutral-300); }
.e360-clubs-gallery .e360-clubs-section-title { max-width: 760px; color: #fff; }
.e360-clubs-gallery__slider { padding: 0 max(20px, calc((100vw - 1320px) / 2)); }
.e360-clubs-gallery__figure { position: relative; aspect-ratio: 4 / 3; background: var(--at-neutral-900); }
.e360-clubs-gallery__figure img { width: 100%; height: 100%; object-fit: cover; }
.e360-clubs-gallery__figure figcaption {
  position: absolute;
  right: 0;
  bottom: 0;
  left: 0;
  padding: 42px 20px 18px;
  background: linear-gradient(transparent, rgba(13, 18, 30, 0.88));
  color: #fff;
  font-size: 14px;
}
.e360-clubs-gallery .gallery-controls { max-width: 1320px; margin: 24px auto 0; padding: 0; }
.e360-clubs-dimensions { padding: 110px 0; background: var(--at-neutral-0); }
.e360-clubs-dimensions__grid {
  display: grid;
  grid-template-columns: minmax(0, 0.9fr) minmax(260px, 0.55fr) minmax(320px, 0.8fr);
  gap: 48px;
  align-items: start;
}
.e360-clubs-dimensions__intro .e360-clubs-link { display: inline-block; margin-top: 18px; }
.e360-clubs-dimensions__photo { height: 520px; overflow: hidden; }
.e360-clubs-dimensions__photo img { width: 100%; height: 100%; object-fit: cover; }
.e360-clubs-accordion .accordion-item { border-color: var(--at-neutral-200); }
.e360-clubs-accordion .accordion-button { padding: 21px 0; background: transparent; color: var(--at-neutral-900); box-shadow: none; }
.e360-clubs-accordion .at-faq-button::before,
.e360-clubs-accordion .accordion-button::after { display: none; }
.e360-clubs-accordion .sec-5-home-7__acc-title { padding-right: 18px; font-size: 17px; font-weight: 700; }
.e360-clubs-accordion .sec-5-home-7__acc-toggle { margin-left: auto; color: var(--at-theme-primary); }
.e360-clubs-accordion .accordion-button[aria-expanded="true"] .sec-5-home-7__acc-plus { transform: rotate(45deg); }
.e360-clubs-accordion .accordion-body { padding: 0 0 24px; }
.e360-clubs-accordion .sec-5-home-7__tag { padding: 7px 10px; background: var(--at-neutral-50); border: 1px solid var(--at-neutral-200); border-radius: 999px; font-size: 11px; }
.e360-clubs-directory { padding: 110px 0; background: var(--at-neutral-50); scroll-margin-top: 100px; }
.e360-clubs-directory__head { margin-bottom: 46px; }
.e360-clubs-directory__head > p { max-width: 540px; margin: 0; }
.e360-clubs-filters {
  display: grid;
  margin-bottom: 22px;
  padding: 24px;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 18px;
  background: var(--at-neutral-0);
  border: 1px solid var(--at-neutral-200);
}
.e360-clubs-filters label { display: block; margin-bottom: 8px; color: var(--at-neutral-700); font-size: 12px; font-weight: 700; }
.e360-clubs-filters select {
  width: 100%;
  min-height: 48px;
  padding: 0 42px 0 14px;
  border: 1px solid var(--at-neutral-300);
  border-radius: 0;
  background-color: #fff;
  color: var(--at-neutral-900);
}
.e360-clubs-filters button:focus-visible,
.e360-club-card a:focus-visible,
.e360-clubs-pagination a:focus-visible { outline: 3px solid rgba(26, 88, 226, 0.32); outline-offset: 3px; }
.e360-clubs-filters__actions { display: flex; grid-column: 1 / -1; flex-wrap: wrap; gap: 14px; align-items: center; }
.e360-clubs-filters button {
  min-height: 48px;
  padding: 0 24px;
  border: 1px solid var(--at-theme-primary);
  background: var(--at-theme-primary);
  color: #fff;
  font-weight: 700;
}
.e360-clubs-filters__actions a { color: var(--at-neutral-700); font-weight: 700; }
.e360-clubs-results { margin: 0 0 28px; color: var(--at-neutral-600); font-size: 14px; }
.e360-clubs-list { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 28px; align-items: start; }
.e360-club-card { min-width: 0; margin: 0; background: var(--at-neutral-0); border: 1px solid var(--at-neutral-200); }
.e360-club-card__media { aspect-ratio: 16 / 10; overflow: hidden; }
.e360-club-card__media img { width: 100%; height: 100%; object-fit: cover; }
.e360-club-card__body { padding: 26px; }
.e360-club-card__meta { display: flex; margin-bottom: 18px; flex-wrap: wrap; justify-content: space-between; gap: 10px; color: var(--at-neutral-500); font-size: 12px; }
.e360-club-status { display: inline-flex; width: fit-content; padding: 7px 10px; align-items: center; background: var(--at-neutral-100); color: var(--at-neutral-800); font-size: 11px; font-weight: 700; letter-spacing: 0.035em; text-transform: uppercase; }
.e360-club-status[data-availability="open"] { background: rgba(26, 88, 226, 0.1); color: var(--at-theme-primary); }
.e360-club-card h3 { margin: 0 0 8px; font-size: 25px; letter-spacing: -0.035em; line-height: 1.1; }
.e360-club-card h3 a { color: var(--at-neutral-950); text-decoration: none; }
.e360-club-card h3 a:hover { color: var(--at-theme-primary); }
.e360-club-card__university { display: flex; gap: 12px; align-items: center; margin-bottom: 18px; color: var(--at-theme-primary); font-size: 14px; font-weight: 700; }
.e360-club-card__university img { width: 48px; height: 48px; flex: 0 0 48px; object-fit: contain; }
.e360-club-card__body > p:last-of-type { color: var(--at-neutral-600); line-height: 1.65; }
.e360-club-card__actions { display: flex; padding-top: 18px; flex-wrap: wrap; gap: 16px 22px; border-top: 1px solid var(--at-neutral-200); }
.e360-club-card__actions a { color: var(--at-neutral-900); font-size: 14px; font-weight: 700; text-underline-offset: 4px; }
.e360-club-card__actions a:last-child { color: var(--at-theme-primary); }
.e360-clubs-empty { max-width: 820px; padding: 46px; background: var(--at-neutral-0); border: 1px solid var(--at-neutral-200); }
.e360-clubs-empty h3 { margin: 0 0 12px; color: var(--at-neutral-950); font-size: 30px; letter-spacing: -0.03em; }
.e360-clubs-empty p { max-width: 650px; margin-bottom: 26px; color: var(--at-neutral-600); font-size: 16px; line-height: 1.65; }
.e360-clubs-pagination { display: flex; margin-top: 34px; gap: 8px; }
.e360-clubs-pagination a { display: inline-flex; width: 44px; height: 44px; align-items: center; justify-content: center; border: 1px solid var(--at-neutral-300); color: var(--at-neutral-900); text-decoration: none; }
.e360-clubs-pagination a[aria-current="page"] { border-color: var(--at-theme-primary); background: var(--at-theme-primary); color: #fff; }
.e360-clubs-journey { padding: 100px 0; background: var(--at-neutral-0); }
.e360-clubs-journey__copy > p:last-child { max-width: 660px; margin: 26px 0 0; }
.e360-clubs-journey__links { border-top: 1px solid var(--at-neutral-200); }
.e360-clubs-journey__links a { display: flex; min-height: 82px; padding: 20px 0; align-items: center; justify-content: space-between; gap: 20px; border-bottom: 1px solid var(--at-neutral-200); color: var(--at-neutral-900); font-size: 17px; font-weight: 700; text-decoration: none; }
.e360-clubs-journey__links a:hover { color: var(--at-theme-primary); }
.e360-clubs-engage,
.e360-club-profile__engage { padding: 0 0 100px; background: var(--at-neutral-0); }

/* Fiche d’un club : le contenu reste équilibré avec ou sans photographie. */
.e360-club-profile__hero { padding: 72px 0 100px; background: var(--at-neutral-50); }
.e360-club-profile__back { display: inline-block; margin-bottom: 38px; }
.e360-club-profile__hero-grid { display: grid; grid-template-columns: minmax(0, 0.85fr) minmax(0, 1fr); gap: 70px; align-items: center; }
.e360-club-profile__hero-grid.has-no-image { grid-template-columns: minmax(0, 850px); }
.e360-club-profile__heading h1 { max-width: 800px; margin: 0 0 24px; color: var(--at-neutral-950); font-size: clamp(54px, 6vw, 92px); font-weight: 700; letter-spacing: -0.055em; line-height: 0.98; overflow-wrap: anywhere; }
.e360-club-profile__university { display: flex; gap: 16px; align-items: center; margin: 0 0 24px; color: var(--at-theme-primary); font-size: 20px; font-weight: 700; line-height: 1.4; }
.e360-club-profile__university img { width: 64px; height: 64px; flex: 0 0 64px; object-fit: contain; }
.e360-club-profile__university strong, .e360-club-profile__university a { display: block; }
.e360-club-profile__university a { margin-top: 4px; color: var(--at-neutral-700); font-size: 12px; text-decoration: underline; text-underline-offset: 3px; }
.e360-program-partners { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1px; padding: 1px; margin-top: 42px; background: var(--at-neutral-200); }
.e360-program-partners article { display: flex; gap: 22px; align-items: center; min-width: 0; padding: 28px; background: var(--at-neutral-0); }
.e360-program-partners img { width: 72px; height: 72px; flex: 0 0 72px; object-fit: contain; }
.e360-program-partners h3 { margin: 0 0 7px; color: var(--at-neutral-950); font-size: 22px; }
.e360-program-partners p { margin: 0; color: var(--at-neutral-500); font-size: 13px; }
.e360-program-partners a { display: inline-block; margin-top: 9px; color: var(--at-neutral-950); font-size: 12px; font-weight: 700; }
@media (max-width: 767px) { .e360-program-partners { grid-template-columns: 1fr; } .e360-program-partners article { padding: 22px; } }
.e360-club-profile__media { height: 590px; overflow: hidden; }
.e360-club-profile__media img { width: 100%; height: 100%; object-fit: cover; }
.e360-club-profile__content { padding: 110px 0; background: var(--at-neutral-0); }
.e360-club-profile__content h2 { margin: 0; color: var(--at-neutral-950); font-size: clamp(34px, 3.6vw, 58px); letter-spacing: -0.04em; line-height: 1.08; }
.e360-club-profile__description p { margin: 0 0 32px; }
.e360-club-profile__related { padding: 100px 0; background: var(--at-neutral-50); }
.e360-club-profile__related h2 { max-width: 760px; margin: 0 0 42px; color: var(--at-neutral-950); font-size: clamp(38px, 4vw, 62px); letter-spacing: -0.045em; }
.e360-club-related-list { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1px; background: var(--at-neutral-200); border: 1px solid var(--at-neutral-200); }
.e360-club-related-list article { padding: 30px; background: var(--at-neutral-0); }
.e360-club-related-list article > span { color: var(--at-theme-primary); font-size: 11px; font-weight: 700; letter-spacing: 0.06em; text-transform: uppercase; }
.e360-club-related-list article > time { display: block; margin-top: 8px; color: var(--at-neutral-500); font-size: 13px; font-weight: 600; }
.e360-club-related-list h3 { margin: 16px 0 12px; font-size: 24px; line-height: 1.2; }
.e360-club-related-list h3 a { color: var(--at-neutral-950); text-decoration: none; }
.e360-club-related-list h3 a:hover { color: var(--at-theme-primary); }
.e360-club-related-list p { margin: 0; color: var(--at-neutral-600); font-size: 14px; line-height: 1.6; }

@media only screen and (max-width: 1199px) {
  .e360-clubs-experience__cards { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .e360-clubs-dimensions__grid { grid-template-columns: minmax(0, 0.85fr) minmax(260px, 0.55fr); }
  .e360-clubs-accordion { grid-column: 1 / -1; }
  .e360-clubs-filters { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .e360-clubs-list { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media only screen and (max-width: 991px) {
  .e360-clubs-intro__grid,
  .e360-clubs-experience__header,
  .e360-clubs-gallery__head,
  .e360-clubs-directory__head,
  .e360-clubs-journey > .container,
  .e360-club-profile__hero-grid,
  .e360-club-profile__content-grid { grid-template-columns: 1fr; }
  .e360-clubs-intro__grid,
  .e360-clubs-experience__header,
  .e360-clubs-gallery__head,
  .e360-clubs-directory__head,
  .e360-clubs-journey > .container,
  .e360-club-profile__content-grid { gap: 32px; }
  .e360-clubs-dimensions__grid { grid-template-columns: 1fr 1fr; }
  .e360-clubs-dimensions__photo { height: 430px; }
  .e360-clubs-experience__chips { display: none; }
  .e360-club-profile__media { height: auto; aspect-ratio: 4 / 3; }
  .e360-club-related-list { grid-template-columns: 1fr; }
}
@media only screen and (max-width: 767px) {
  .e360-clubs-intro,
  .e360-clubs-experience,
  .e360-clubs-dimensions,
  .e360-clubs-directory,
  .e360-clubs-journey,
  .e360-club-profile__content,
  .e360-club-profile__related { padding: 76px 0; }
  .e360-clubs-gallery { padding: 72px 0 82px; }
  .e360-clubs-section-title { font-size: clamp(36px, 10vw, 48px); }
  .e360-clubs-intro__facts,
  .e360-clubs-experience__cards,
  .e360-clubs-dimensions__grid,
  .e360-clubs-filters,
  .e360-clubs-list { grid-template-columns: 1fr; }
  .e360-clubs-experience__header { margin-bottom: 38px; }
  .e360-clubs-experience__card { min-height: 250px; padding: 30px 24px; }
  .e360-clubs-experience__card .sec-6-home-7__card-title { margin-top: 36px !important; font-size: 24px; }
  .e360-clubs-dimensions__photo { height: auto; aspect-ratio: 4 / 3; }
  .e360-clubs-gallery__slider { padding: 0 20px; }
  .e360-clubs-gallery .gallery-controls { padding: 0 20px; }
  .e360-club-card__media { aspect-ratio: 16 / 9; }
  .e360-club-card__body { padding: 22px 20px; }
  .e360-club-card h3 { font-size: 24px; }
  .e360-clubs-empty { padding: 30px 22px; }
  .e360-clubs-empty h3 { font-size: 26px; }
  .e360-club-profile__hero { padding: 34px 0 76px; }
  .e360-club-profile__back { margin-bottom: 28px; }
  .e360-club-profile__heading h1 { font-size: clamp(44px, 13vw, 62px); line-height: 1; }
  .e360-club-profile__university { font-size: 18px; }
  .e360-club-profile__engage,
  .e360-clubs-engage { padding-bottom: 76px; }
}

/* E360_EDITORIAL_REFERENCE_COMPONENTS_START */
/* Composants réutilisables de services-4.html et portfolio-details-3.html.
   Géométrie, recadrages et points de rupture de référence ; les utilities sont déjà chargées
   en amont, leurs règles n’ont donc pas besoin de priorité forcée ici. */
.svc4-hero__portrait {
  position: relative;
  overflow: hidden;
  min-height: 420px;
  max-height: 640px;
}
.svc4-hero__portrait img {
  display: block;
  width: 100%;
  height: 100%;
  min-height: 420px;
  max-height: 640px;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center top;
     object-position: center top;
}
.svc4-hero__meta {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 16px 20px;
  padding-top: 28px;
  border-top: 1px solid var(--at-neutral-100);
  max-width: 520px;
}

.svc4-meta {
  display: flex;
  flex-direction: column;
  gap: 6px;
}
.svc4-meta__label {
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--at-neutral-500);
}
.svc4-meta__value {
  font-size: 14px;
  font-weight: 600;
  color: var(--at-neutral-900);
  text-decoration: none;
}
.svc4-meta__value:hover {
  color: var(--at-theme-primary);
}


.sec-1-portfolio-details-3__portrait .anim-zoomin-wrap,
.sec-3-portfolio-details-3__cell .anim-zoomin-wrap,
.sec-7-portfolio-details-3__media .anim-zoomin-wrap {
  position: absolute;
  inset: 0;
  overflow: hidden;
}

.sec-3-portfolio-details-3__plus {
  width: 14px;
  height: 14px;
  position: relative;
  display: inline-block;
}
.sec-3-portfolio-details-3__plus::before, .sec-3-portfolio-details-3__plus::after {
  content: "";
  position: absolute;
  background: currentColor;
}
.sec-3-portfolio-details-3__plus::before {
  top: 50%;
  left: 0;
  width: 100%;
  height: 1.5px;
  transform: translateY(-50%);
}
.sec-3-portfolio-details-3__plus::after {
  left: 50%;
  top: 0;
  width: 1.5px;
  height: 100%;
  transform: translateX(-50%);
}


.sec-1-portfolio-details-3 {
  background-color: var(--at-neutral-0);
}
.sec-1-portfolio-details-3__title {
  letter-spacing: -0.05em;
  color: var(--at-neutral-950);
}
.sec-1-portfolio-details-3__title sup {
  margin-left: 4px;
  line-height: 1;
}
.sec-1-portfolio-details-3__tagline {
  letter-spacing: -0.04em;
}
.sec-1-portfolio-details-3__demo {
  padding: 14px 26px;
  color: var(--at-neutral-0);
  transition: transform 0.35s ease, background-color 0.35s ease;
}
.sec-1-portfolio-details-3__demo svg {
  transition: transform 0.35s ease;
}
.sec-1-portfolio-details-3__demo:hover {
  background-color: var(--at-neutral-900);
  color: var(--at-neutral-0);
  transform: translateY(-2px);
}
.sec-1-portfolio-details-3__demo:hover svg {
  transform: translate(3px, -3px);
}
.sec-1-portfolio-details-3__portrait {
  position: relative;
  width: 100%;
  aspect-ratio: 4/5;
  overflow: hidden;
  border-radius: 8px;
  background-color: var(--at-neutral-100);
}
.sec-1-portfolio-details-3__portrait img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  transition: transform 0.8s ease;
}
.sec-1-portfolio-details-3__portrait:hover img {
  transform: scale(1.04);
}
.sec-1-portfolio-details-3__meta .col-md-3,
.sec-1-portfolio-details-3__meta .col-sm-6 {
  position: relative;
}
@media only screen and (min-width: 1200px) and (max-width: 1399px) {
  .sec-1-portfolio-details-3__portrait {
    aspect-ratio: 4/5;
  }
}
@media only screen and (min-width: 992px) and (max-width: 1199px) {
  .sec-1-portfolio-details-3__portrait {
    aspect-ratio: 4/5;
    max-width: 480px;
    margin-left: auto;
  }
}
@media only screen and (min-width: 768px) and (max-width: 991px) {
  .sec-1-portfolio-details-3 {
    padding-top: 100px;
    padding-bottom: 80px;
  }
  .sec-1-portfolio-details-3__portrait {
    aspect-ratio: 16/11;
    margin-top: 30px;
  }
  .sec-1-portfolio-details-3__tagline {
    margin-bottom: 30px;
  }
}
@media only screen and (min-width: 576px) and (max-width: 767px) {
  .sec-1-portfolio-details-3 {
    padding-top: 90px;
    padding-bottom: 70px;
  }
  .sec-1-portfolio-details-3__portrait {
    aspect-ratio: 16/11;
    margin-top: 20px;
  }
  .sec-1-portfolio-details-3__demo {
    padding: 12px 22px;
  }
}
@media (max-width: 574.98px) {
  .sec-1-portfolio-details-3 {
    padding-top: 80px;
    padding-bottom: 60px;
  }
  .sec-1-portfolio-details-3__title {
    font-size: 54px;
    margin-bottom: 16px;
  }
  .sec-1-portfolio-details-3__tagline {
    margin-bottom: 24px;
  }
  .sec-1-portfolio-details-3__portrait {
    aspect-ratio: 4/5;
    margin-top: 16px;
  }
  .sec-1-portfolio-details-3__demo {
    padding: 12px 20px;
  }
  .sec-1-portfolio-details-3__demo span {
    font-size: 14px;
  }
  .sec-1-portfolio-details-3__meta {
    margin-top: 40px;
    padding-top: 30px;
  }
}

.sec-3-portfolio-details-3 {
  background-color: var(--at-neutral-0);
}
.sec-3-portfolio-details-3__plus {
  color: var(--at-neutral-950);
}
.sec-3-portfolio-details-3__bento {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  grid-template-rows: repeat(2, minmax(0, 1fr));
  gap: 16px;
  aspect-ratio: 16/9;
}
.sec-3-portfolio-details-3__cell {
  position: relative;
  margin: 0;
  overflow: hidden;
  border-radius: 8px;
  background-color: var(--at-neutral-100);
}
.sec-3-portfolio-details-3__cell img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  transition: transform 0.8s ease;
}
.sec-3-portfolio-details-3__cell:hover img {
  transform: scale(1.05);
}
.sec-3-portfolio-details-3__cell--large {
  grid-column: 1/span 2;
  grid-row: 1/span 2;
}
.sec-3-portfolio-details-3__cell--small {
  grid-column: span 1;
  grid-row: span 1;
}
@media only screen and (min-width: 768px) and (max-width: 991px) {
  .sec-3-portfolio-details-3 {
    padding-top: 60px;
    padding-bottom: 60px;
  }
  .sec-3-portfolio-details-3__bento {
    aspect-ratio: 16/11;
    gap: 12px;
  }
}
@media only screen and (min-width: 576px) and (max-width: 767px) {
  .sec-3-portfolio-details-3 {
    padding-top: 50px;
    padding-bottom: 50px;
  }
  .sec-3-portfolio-details-3__bento {
    grid-template-columns: repeat(2, 1fr);
    grid-template-rows: repeat(3, minmax(0, 1fr));
    aspect-ratio: 4/5;
    gap: 12px;
  }
  .sec-3-portfolio-details-3__cell--large {
    grid-column: 1/span 2;
    grid-row: 1/span 1;
  }
  .sec-3-portfolio-details-3__cell--small {
    grid-column: span 1;
    grid-row: span 1;
  }
}
@media (max-width: 574.98px) {
  .sec-3-portfolio-details-3 {
    padding-top: 40px;
    padding-bottom: 40px;
  }
  .sec-3-portfolio-details-3__bento {
    grid-template-columns: repeat(2, 1fr);
    grid-template-rows: repeat(3, minmax(0, 1fr));
    aspect-ratio: 3/5;
    gap: 10px;
  }
  .sec-3-portfolio-details-3__cell--large {
    grid-column: 1/span 2;
    grid-row: 1/span 1;
  }
}


.sec-7-portfolio-details-3__media {
  position: relative;
  width: 100%;
  aspect-ratio: 16/7;
  overflow: hidden;
}
.sec-7-portfolio-details-3__media img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
@media only screen and (min-width: 768px) and (max-width: 991px) {
  .sec-7-portfolio-details-3__media {
    aspect-ratio: 16/10;
  }
}
@media only screen and (min-width: 576px) and (max-width: 767px) {
  .sec-7-portfolio-details-3__media {
    aspect-ratio: 4/3;
  }
}
@media (max-width: 574.98px) {
  .sec-7-portfolio-details-3__media {
    aspect-ratio: 4/3;
  }
}


@media (max-width: 991px) {
  .svc4-hero__portrait { border-radius: 16px; max-height: 480px; }
  .svc4-hero__meta { grid-template-columns: 1fr; max-width: none; }
}
/* Point focal de la photographie d’introduction, sans modifier le fichier publié. */
.institutional-axes .svc4-hero__portrait img { object-position: center; }
/* La préférence de mouvement réduit complète le propriétaire JS institutionnel. */
@media (prefers-reduced-motion: reduce) {
  .institutional-axes .sec-1-portfolio-details-3__portrait img,
  .institutional-axes .sec-3-portfolio-details-3__cell img,
  .institutional-axes .sec-1-portfolio-details-3__demo,
  .institutional-axes .sec-1-portfolio-details-3__demo svg { transition: none; }
  .institutional-axes .sec-1-portfolio-details-3__portrait:hover img,
  .institutional-axes .sec-3-portfolio-details-3__cell:hover img,
  .institutional-axes .sec-1-portfolio-details-3__demo:hover,
  .institutional-axes .sec-1-portfolio-details-3__demo:hover svg { transform: none; }
}
/* E360_EDITORIAL_REFERENCE_COMPONENTS_END */

/* E360_INSTITUTIONAL_LEARNING_START */
.e360-learning {
  --learning-ink: var(--at-neutral-950);
  --learning-muted: var(--at-neutral-500);
  --learning-line: var(--at-neutral-100);
  --learning-surface: #f5f4ef;
  color: var(--learning-ink);
  background: var(--at-neutral-0);
}
.e360-learning-hero { padding: 118px 0 96px; }
.e360-learning-hero__grid { display: grid; grid-template-columns: minmax(0, 0.9fr) minmax(420px, 1.1fr); gap: 72px; align-items: end; }
.e360-learning-hero__copy { padding-bottom: 18px; }
.e360-learning-hero__copy .svc5-kicker { margin: 0 0 28px; }
.e360-learning-hero h1 { max-width: 760px; margin: 0; font-size: clamp(64px, 7.4vw, 118px); line-height: 0.86; letter-spacing: -0.065em; font-weight: 500; }
.e360-learning-hero__lead { max-width: 650px; margin: 36px 0 0; color: var(--learning-muted); font-size: 21px; line-height: 1.5; }
.e360-learning-hero__actions { display: flex; flex-wrap: wrap; align-items: center; gap: 24px; margin-top: 38px; }
.e360-learning-btn { display: inline-flex; min-height: 52px; padding: 14px 24px; align-items: center; justify-content: center; border: 1px solid var(--learning-ink); background: var(--learning-ink); color: var(--at-neutral-0); font-size: 14px; font-weight: 600; line-height: 1.2; text-decoration: none; transition: color 180ms ease, background-color 180ms ease; }
.e360-learning-btn:hover,
.e360-learning-btn:focus-visible { background: transparent; color: var(--learning-ink); }
.e360-learning-link { display: inline-flex; padding: 10px 0; border-bottom: 1px solid currentColor; color: var(--learning-ink); font-size: 14px; font-weight: 600; text-decoration: none; }
.e360-learning-link:hover,
.e360-learning-link:focus-visible { color: var(--at-theme-primary); }
.e360-learning-hero__media { min-height: 570px; margin: 0; overflow: hidden; background: var(--learning-line); }
.e360-learning-hero__media img { width: 100%; height: 100%; min-height: 570px; object-fit: cover; object-position: center 38%; }
.e360-learning-hero--masterclass .e360-learning-hero__media { aspect-ratio: 5 / 4; min-height: 0; }
.e360-learning-hero--masterclass .e360-learning-hero__media img { min-height: 0; }
.e360-learning-eyebrow { margin: 0 0 18px; color: var(--learning-muted); font-size: 12px; line-height: 1.2; letter-spacing: 0.13em; font-weight: 700; }
.e360-academy { padding: 86px 0; border-top: 1px solid var(--learning-line); border-bottom: 1px solid var(--learning-line); background: var(--learning-surface); }
.e360-academy__grid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(340px, 0.72fr); gap: 80px; align-items: start; }
.e360-academy h2,
.e360-learning-section-head h2,
.e360-masterclass-intro h2,
.e360-learning-bridge h2,
.e360-training-request h2 { margin: 0; font-size: clamp(42px, 4.4vw, 70px); line-height: 0.98; letter-spacing: -0.045em; font-weight: 500; }
.e360-academy__status { padding-left: 28px; border-left: 1px solid var(--learning-ink); }
.e360-academy__status span { display: inline-flex; padding: 8px 12px; margin-bottom: 22px; border: 1px solid var(--learning-ink); font-size: 12px; font-weight: 700; letter-spacing: 0.08em; text-transform: uppercase; }
.e360-academy__status p { margin: 0; color: var(--learning-muted); font-size: 18px; line-height: 1.55; }
.e360-academy__actions { display: flex; flex-wrap: wrap; gap: 18px 28px; margin-top: 24px; }
.e360-masterclass-card__actions { display: flex; flex-wrap: wrap; gap: 16px 22px; align-items: center; }
.e360-learning-catalogue,
.e360-masterclass-list { padding: 104px 0; }
.e360-learning-section-head { display: grid; grid-template-columns: minmax(0, 1fr) minmax(280px, 0.48fr); gap: 60px; align-items: end; margin-bottom: 64px; }
.e360-learning-section-head > p { max-width: 420px; margin: 0 0 5px auto; color: var(--learning-muted); font-size: 17px; line-height: 1.5; }
.e360-learning-empty { padding: 58px; border: 1px solid var(--learning-line); background: var(--learning-surface); }
.e360-learning-empty h3 { max-width: 690px; margin: 0 0 18px; font-size: 34px; line-height: 1.08; font-weight: 500; }
.e360-learning-empty p { max-width: 680px; margin: 0 0 30px; color: var(--learning-muted); font-size: 17px; line-height: 1.55; }
.e360-learning-empty--compact { padding: 36px; }
.e360-learning-empty--compact p { margin-bottom: 0; }
.e360-training-grid { display: grid; gap: 34px; }
.e360-training-card { display: grid; grid-template-columns: minmax(300px, 0.72fr) minmax(0, 1.28fr); min-height: 580px; border: 1px solid var(--learning-line); background: var(--at-neutral-0); }
.e360-training-card:nth-child(even) { grid-template-columns: minmax(0, 1.28fr) minmax(300px, 0.72fr); }
.e360-training-card:nth-child(even) .e360-training-card__media { order: 2; }
.e360-training-card__media { min-height: 100%; margin: 0; overflow: hidden; background: var(--learning-line); }
.e360-training-card__media img { width: 100%; height: 100%; object-fit: cover; }
.e360-training-card__body { padding: 52px; }
.e360-training-card__meta { margin: 0 0 15px; color: var(--learning-muted); font-size: 12px; letter-spacing: 0.1em; font-weight: 700; text-transform: uppercase; }
.e360-training-card h3 { margin: 0 0 18px; font-size: clamp(36px, 3.5vw, 56px); line-height: 0.98; letter-spacing: -0.04em; font-weight: 500; }
.e360-training-card__body > p:not(.e360-training-card__meta):not(.e360-training-card__price) { max-width: 740px; color: var(--learning-muted); font-size: 17px; line-height: 1.55; }
.e360-training-facts { display: grid; grid-template-columns: 1fr 1fr; gap: 26px 34px; margin: 34px 0; padding: 32px 0; border-top: 1px solid var(--learning-line); border-bottom: 1px solid var(--learning-line); }
.e360-training-facts dt { margin-bottom: 8px; color: var(--learning-muted); font-size: 11px; letter-spacing: 0.1em; text-transform: uppercase; }
.e360-training-facts dd { margin: 0; font-size: 15px; line-height: 1.55; }
.e360-training-card__price { display: flex; justify-content: space-between; gap: 20px; margin: 0 0 28px; font-size: 16px; font-weight: 600; }
.e360-training-card__price span { color: var(--learning-muted); font-size: 12px; letter-spacing: 0.08em; text-transform: uppercase; }
.e360-training-sessions { margin: 34px 0 28px; }
.e360-training-sessions h4 { margin: 0 0 18px; font-size: 20px; font-weight: 600; }
.e360-training-sessions > p { margin: 0; color: var(--learning-muted); line-height: 1.55; }
.e360-training-sessions ul { padding: 0; margin: 0; list-style: none; border-top: 1px solid var(--learning-line); }
.e360-training-sessions li { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 22px; align-items: center; padding: 18px 0; border-bottom: 1px solid var(--learning-line); }
.e360-training-sessions li strong,
.e360-training-sessions li time,
.e360-training-sessions li span { display: block; }
.e360-training-sessions li time,
.e360-training-sessions li span { margin-top: 4px; color: var(--learning-muted); font-size: 13px; }
.e360-training-sessions li a { color: var(--learning-ink); font-size: 13px; font-weight: 600; }
.e360-learning-bridge { padding: 84px 0; background: var(--learning-ink); color: var(--at-neutral-0); }
.e360-learning-bridge__inner { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 70px; align-items: end; }
.e360-learning-bridge h2 { max-width: 900px; }
.e360-learning-bridge p:not(.e360-learning-eyebrow) { max-width: 720px; margin: 24px 0 0; color: var(--at-neutral-200); font-size: 17px; }
.e360-learning-bridge .e360-learning-eyebrow { color: var(--at-neutral-300); }
.e360-learning-bridge .e360-learning-btn { border-color: var(--at-neutral-0); background: var(--at-neutral-0); color: var(--learning-ink); }
.e360-learning-bridge .e360-learning-btn:hover,
.e360-learning-bridge .e360-learning-btn:focus-visible { background: transparent; color: var(--at-neutral-0); }
.e360-training-request { padding: 110px 0; background: var(--learning-surface); }
.e360-training-request__grid { display: grid; grid-template-columns: minmax(300px, 0.68fr) minmax(0, 1.32fr); gap: 90px; align-items: start; }
.e360-training-request__grid > div:first-child { position: sticky; top: 110px; }
.e360-training-request__grid > div:first-child > p { margin: 28px 0; color: var(--learning-muted); font-size: 17px; line-height: 1.55; }
.e360-training-request ol { padding-left: 20px; color: var(--learning-muted); line-height: 1.7; }
.e360-training-request__form { padding: 46px; border: 1px solid var(--learning-line); background: var(--at-neutral-0); }
.e360-form-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 26px 22px; }
.e360-form-grid__wide { grid-column: 1 / -1; }
.e360-form-grid label { display: block; margin-bottom: 9px; font-size: 13px; font-weight: 600; }
.e360-form-grid input,
.e360-form-grid select,
.e360-form-grid textarea,
.e360-form-grid .select2-container .select2-selection { width: 100%; min-height: 50px; padding: 12px 14px; border: 1px solid var(--learning-line); border-radius: 0; background: var(--at-neutral-0); color: var(--learning-ink); font-size: 15px; }
.e360-form-grid textarea { resize: vertical; }
.e360-form-grid .select2-container .select2-selection { padding: 10px 12px; }
.e360-form-grid__wide > span { display: block; margin-top: 7px; color: var(--learning-muted); font-size: 12px; }
.e360-training-consent { display: flex; gap: 12px; margin: 26px 0; color: var(--learning-muted); font-size: 13px; line-height: 1.45; }
.e360-training-consent input { width: 18px; height: 18px; flex: 0 0 auto; }
.e360-learning-organizations { padding: 110px 0; border-top: 1px solid var(--learning-line); }
.e360-learning-organizations__grid,
.e360-learning-related__grid { display: grid; grid-template-columns: minmax(360px, 0.9fr) minmax(0, 1.1fr); gap: 74px; align-items: center; }
.e360-learning-organizations__media,
.e360-learning-related__media { min-height: 560px; margin: 0; overflow: hidden; background: var(--learning-line); }
.e360-learning-organizations__media img,
.e360-learning-related__media img { width: 100%; height: 100%; min-height: 560px; object-fit: cover; }
.e360-learning-organizations h2,
.e360-learning-process h2,
.e360-learning-related h2 { margin: 0; font-size: clamp(42px, 4.4vw, 70px); line-height: 0.98; letter-spacing: -0.045em; font-weight: 500; }
.e360-learning-organizations p:not(.e360-learning-eyebrow),
.e360-learning-related p:not(.e360-learning-eyebrow) { margin: 28px 0; color: var(--learning-muted); font-size: 17px; line-height: 1.65; }
.e360-learning-organizations ul,
.e360-learning-related ul { padding: 0; margin: 0 0 30px; list-style: none; border-top: 1px solid var(--learning-line); }
.e360-learning-organizations li,
.e360-learning-related li { padding: 15px 0; border-bottom: 1px solid var(--learning-line); color: var(--learning-ink); font-size: 15px; line-height: 1.5; }
.e360-learning-related a { color: inherit; text-decoration: none; }
.e360-learning-related a:is(:hover, :focus-visible) { color: var(--at-theme-primary); }
.e360-learning-process { padding: 110px 0; background: var(--learning-surface); }
.e360-learning-process__steps { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); padding: 0; margin: 0; border-top: 1px solid var(--learning-ink); list-style: none; }
.e360-learning-process__steps li { min-height: 280px; padding: 26px 24px 30px 0; border-right: 1px solid var(--learning-line); }
.e360-learning-process__steps li + li { padding-left: 24px; }
.e360-learning-process__steps span { color: var(--learning-muted); font-size: 12px; letter-spacing: 0.1em; }
.e360-learning-process__steps h3 { margin: 72px 0 18px; font-size: 25px; font-weight: 500; }
.e360-learning-process__steps p { margin: 0; color: var(--learning-muted); font-size: 14px; line-height: 1.6; }
.e360-request-step { min-width: 0; padding: 0 0 38px; margin: 0 0 38px; border: 0; border-bottom: 1px solid var(--learning-line); }
.e360-request-step:last-of-type { margin-bottom: 0; }
.e360-request-step > legend { display: flex; align-items: center; gap: 14px; width: 100%; margin: 0 0 28px; color: var(--learning-ink); font-size: 24px; font-weight: 500; }
.e360-request-step > legend span { display: inline-flex; width: 38px; height: 38px; align-items: center; justify-content: center; border: 1px solid var(--learning-line); border-radius: 50%; color: var(--learning-muted); font-size: 11px; }
.e360-form-label { display: block; margin-bottom: 12px; color: var(--learning-ink); font-size: 13px; font-weight: 600; }
.e360-request-choice-group { margin-bottom: 28px; }
.e360-choice-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; }
.e360-choice-grid--multi { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.e360-choice { position: relative; display: block; margin: 0; cursor: pointer; }
.e360-form-grid .e360-choice input,
.e360-choice input { position: absolute; width: 1px; min-height: 0; height: 1px; padding: 0; opacity: 0; }
.e360-choice span { display: flex; min-height: 52px; padding: 12px 14px; align-items: center; border: 1px solid var(--learning-line); color: var(--learning-muted); font-size: 13px; line-height: 1.35; transition: border-color 180ms ease, background-color 180ms ease, color 180ms ease; }
.e360-choice input:checked + span { border-color: var(--learning-ink); background: var(--learning-ink); color: var(--at-neutral-0); }
.e360-request-preview { padding: 30px; margin-top: 38px; border: 1px solid var(--learning-line); background: var(--learning-surface); }
.e360-request-preview h3 { margin: 0; font-size: 25px; line-height: 1.15; font-weight: 500; }
.e360-request-preview dl { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px 28px; padding: 24px 0; margin: 24px 0 14px; border-top: 1px solid var(--learning-line); border-bottom: 1px solid var(--learning-line); }
.e360-request-preview dt { margin-bottom: 6px; color: var(--learning-muted); font-size: 11px; font-weight: 700; letter-spacing: 0.08em; text-transform: uppercase; }
.e360-request-preview dd { margin: 0; color: var(--learning-ink); font-size: 14px; line-height: 1.45; }
.e360-learning-related { padding: 110px 0; border-top: 1px solid var(--learning-line); }
.e360-learning-related__grid { grid-template-columns: minmax(0, 1.08fr) minmax(360px, 0.92fr); }
.e360-learning-related__media { order: 2; }
.e360-learning-partners { display: grid; grid-template-columns: 260px minmax(0, 1fr); gap: 42px; align-items: center; padding-top: 64px; margin-top: 72px; border-top: 1px solid var(--learning-line); }
.e360-learning-partners > p { margin: 0; color: var(--learning-muted); font-size: 12px; font-weight: 700; letter-spacing: 0.09em; text-transform: uppercase; }
.e360-learning-partners > div { display: flex; flex-wrap: wrap; gap: 28px 42px; align-items: center; }
.e360-learning-partners img { width: auto; max-width: 150px; height: 48px; object-fit: contain; filter: grayscale(1); }
.e360-masterclass-intro { padding: 84px 0; border-top: 1px solid var(--learning-line); background: var(--learning-surface); }
.e360-masterclass-intro__grid { display: grid; grid-template-columns: 0.48fr 1fr; gap: 70px; }
.e360-masterclass-intro p:not(.e360-learning-eyebrow) { max-width: 700px; margin: 24px 0 0; color: var(--learning-muted); font-size: 18px; line-height: 1.55; }
.e360-masterclass-list--replay { background: var(--learning-surface); }
.e360-masterclass-list--past { border-top: 1px solid var(--learning-line); }
.e360-masterclass-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 28px; }
.e360-masterclass-grid--single { grid-template-columns: minmax(0, 1fr); }
.e360-masterclass-card { border: 1px solid var(--learning-line); background: var(--at-neutral-0); }
.e360-masterclass-card__media { display: block; aspect-ratio: 4 / 3; overflow: hidden; background: var(--learning-line); }
.e360-masterclass-card__media img { width: 100%; height: 100%; object-fit: cover; transition: transform 360ms ease; }
.e360-masterclass-card__media:hover img { transform: scale(1.025); }
.e360-masterclass-card__body { padding: 30px; }
.e360-masterclass-card__status { display: flex; justify-content: space-between; gap: 14px; margin-bottom: 18px; color: var(--learning-muted); font-size: 11px; letter-spacing: 0.07em; font-weight: 700; text-transform: uppercase; }
.e360-masterclass-card h3 { margin: 0 0 15px; font-size: 29px; line-height: 1.05; letter-spacing: -0.025em; font-weight: 500; }
.e360-masterclass-card h3 a { color: inherit; text-decoration: none; }
.e360-masterclass-card__body > p { color: var(--learning-muted); font-size: 15px; line-height: 1.55; }
.e360-masterclass-card__facts { display: flex; flex-wrap: wrap; gap: 8px 16px; padding: 20px 0; margin: 22px 0; border-top: 1px solid var(--learning-line); border-bottom: 1px solid var(--learning-line); list-style: none; }
.e360-masterclass-card__facts li { color: var(--learning-muted); font-size: 12px; }
.e360-masterclass-grid--single .e360-masterclass-card { display: grid; grid-template-columns: minmax(360px, 0.9fr) minmax(0, 1.1fr); max-width: 980px; }
.e360-masterclass-grid--single .e360-masterclass-card__media { min-height: 440px; aspect-ratio: auto; }
.e360-masterclass-grid--single .e360-masterclass-card__body { padding: 48px; align-self: center; }
.svc5-cap__link--secondary { margin-left: 20px; color: var(--learning-muted, var(--at-neutral-500)); }
@media (max-width: 1199px) {
  .e360-learning-hero__grid { grid-template-columns: minmax(0, 1fr) minmax(380px, 0.92fr); gap: 46px; }
  .e360-learning-hero__media,
  .e360-learning-hero__media img { min-height: 500px; }
  .e360-training-card,
  .e360-training-card:nth-child(even) { grid-template-columns: minmax(280px, 0.68fr) minmax(0, 1.32fr); }
  .e360-training-card:nth-child(even) .e360-training-card__media { order: 0; }
  .e360-training-card__body { padding: 42px; }
  .e360-training-request__grid { gap: 54px; }
  .e360-learning-organizations__grid,
  .e360-learning-related__grid { gap: 48px; }
  .e360-learning-process__steps { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .e360-masterclass-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .e360-masterclass-grid--single { grid-template-columns: 1fr; }
}
@media (max-width: 991px) {
  .e360-learning-hero { padding: 96px 0 76px; }
  .e360-learning-hero__grid,
  .e360-academy__grid,
  .e360-learning-section-head,
  .e360-training-request__grid,
  .e360-learning-organizations__grid,
  .e360-learning-related__grid,
  .e360-masterclass-intro__grid { grid-template-columns: 1fr; gap: 40px; }
  .e360-learning-hero__media,
  .e360-learning-hero__media img { min-height: 0; aspect-ratio: 16 / 10; }
  .e360-learning-section-head > p { margin-left: 0; }
  .e360-training-card,
  .e360-training-card:nth-child(even) { grid-template-columns: 1fr; min-height: 0; }
  .e360-training-card__media { min-height: 0; aspect-ratio: 16 / 9; }
  .e360-masterclass-grid--single .e360-masterclass-card { grid-template-columns: 1fr; max-width: none; }
  .e360-masterclass-grid--single .e360-masterclass-card__media { min-height: 0; aspect-ratio: 16 / 9; }
  .e360-masterclass-grid--single .e360-masterclass-card__body { padding: 32px; }
  .e360-training-request__grid > div:first-child { position: static; }
  .e360-learning-related__media { order: 0; }
  .e360-learning-organizations__media,
  .e360-learning-organizations__media img,
  .e360-learning-related__media,
  .e360-learning-related__media img { min-height: 0; aspect-ratio: 16 / 10; }
  .e360-learning-process__steps { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .e360-learning-process__steps li { min-height: 230px; }
  .e360-learning-bridge__inner { grid-template-columns: 1fr; gap: 34px; }
}
@media (max-width: 767px) {
  .e360-learning-hero { padding: 78px 0 62px; }
  .e360-learning-hero h1 { font-size: clamp(54px, 15vw, 76px); }
  .e360-learning-hero__lead { margin-top: 26px; font-size: 18px; }
  .e360-academy,
  .e360-masterclass-intro,
  .e360-learning-bridge { padding: 64px 0; }
  .e360-learning-catalogue,
  .e360-masterclass-list,
  .e360-training-request { padding: 76px 0; }
  .e360-learning-organizations,
  .e360-learning-process,
  .e360-learning-related { padding: 76px 0; }
  .e360-academy h2,
  .e360-learning-section-head h2,
  .e360-masterclass-intro h2,
  .e360-learning-bridge h2,
  .e360-training-request h2 { font-size: clamp(38px, 11.5vw, 54px); }
  .e360-learning-organizations h2,
  .e360-learning-process h2,
  .e360-learning-related h2 { font-size: clamp(38px, 11.5vw, 54px); }
  .e360-learning-section-head { margin-bottom: 42px; }
  .e360-learning-empty { padding: 32px 24px; }
  .e360-training-card__body { padding: 30px 24px 34px; }
  .e360-training-facts,
  .e360-form-grid,
  .e360-masterclass-grid { grid-template-columns: 1fr; }
  .e360-training-sessions li { grid-template-columns: 1fr; gap: 10px; }
  .e360-training-request__form { padding: 28px 22px; }
  .e360-request-preview { padding: 24px 20px; }
  .e360-request-preview dl { grid-template-columns: 1fr; }
  .e360-choice-grid,
  .e360-choice-grid--multi,
  .e360-learning-process__steps { grid-template-columns: 1fr; }
  .e360-learning-process__steps li,
  .e360-learning-process__steps li + li { min-height: 0; padding: 22px 0; border-right: 0; border-bottom: 1px solid var(--learning-line); }
  .e360-learning-process__steps h3 { margin: 28px 0 12px; }
  .e360-learning-partners { grid-template-columns: 1fr; gap: 24px; padding-top: 44px; margin-top: 54px; }
  .e360-masterclass-card__body { padding: 26px 22px; }
  .svc5-cap__link--secondary { margin-left: 0; }
}
@media (max-width: 389px) {
  .e360-learning-hero h1 { font-size: 51px; }
  .e360-learning-hero__actions { align-items: stretch; flex-direction: column; }
  .e360-learning-btn { width: 100%; }
  .e360-academy__status { padding-left: 18px; }
  .e360-training-card h3 { font-size: 36px; }
}

/* LOT 08.1.E — médiathèque éditoriale des éditions. */
.contest-media-library { padding: 112px 0; overflow: hidden; background: var(--contest-surface); color: var(--contest-ink); }
.contest-media-library__intro { max-width: 480px; margin: 0; color: var(--contest-muted); font-size: 16px; line-height: 1.65; }
.contest-media-library__grid { position: relative; width: 100%; }
.contest-media-library__grid .masonry-grid-sizer,
.contest-media-library__grid .masonry-grid-item { width: calc((100% - 48px) / 3); }
.contest-media-library__grid .masonry-grid-item { display: block; margin-bottom: 24px; opacity: 1; color: inherit; text-decoration: none; }
.contest-media-library__grid .contest-media-card--featured { width: calc(((100% - 48px) / 3) * 2 + 24px); }
.contest-media-card { min-width: 0; overflow: hidden; border: 1px solid var(--contest-line); background: var(--contest-paper); }
.contest-media-card figure { margin: 0; }
.contest-media-card--image img { display: block; width: 100%; height: auto; min-height: 260px; max-height: 620px; object-fit: cover; transition: transform 450ms ease; }
.contest-media-card--image:hover img { transform: scale(1.025); }
.contest-media-card figcaption,
.contest-media-card__body { display: flex; flex-direction: column; align-items: flex-start; padding: 24px; }
.contest-media-card figcaption > span,
.contest-media-card__body > p { margin: 0 0 10px; color: var(--at-theme-primary); font-size: 11px; font-weight: 700; letter-spacing: 0.08em; text-transform: uppercase; }
.contest-media-card figcaption > strong,
.contest-media-card__body h3 { margin: 0; color: var(--contest-ink); font-size: 25px; font-weight: 500; line-height: 1.14; }
.contest-media-card figcaption > small,
.contest-media-card__body > span { margin-top: 13px; color: var(--contest-muted); font-size: 14px; line-height: 1.55; }
.contest-media-card figcaption > em { margin-top: 15px; color: var(--contest-muted); font-size: 11px; font-style: normal; }
.contest-media-card__player { width: 100%; background: var(--contest-ink); }
.contest-media-card__body > a { display: inline-flex; margin-top: 20px; color: var(--contest-ink); font-size: 13px; font-weight: 700; text-underline-offset: 5px; }
.contest-media-card__document-mark { display: flex; min-height: 230px; align-items: flex-end; padding: 30px 24px; background: var(--contest-ink); color: var(--contest-paper); font-size: clamp(54px, 6vw, 88px); font-weight: 500; letter-spacing: -0.06em; line-height: 0.8; overflow-wrap: anywhere; }
.contest-media-library__pagination { display: flex; gap: 24px; align-items: center; justify-content: space-between; padding-top: 38px; border-top: 1px solid var(--contest-line); }
.contest-media-library__pagination > span { color: var(--contest-muted); font-size: 13px; }
.contest-media-library__pagination > div { display: flex; flex-wrap: wrap; gap: 12px; }
.contest-media-preview .contest-record__breadcrumb { padding-top: 42px; }
.contest-media-preview .contest-media-library { padding-top: 56px; }

@media (max-width: 991px) {
  .contest-media-library__grid .masonry-grid-sizer,
  .contest-media-library__grid .masonry-grid-item,
  .contest-media-library__grid .contest-media-card--featured { width: calc((100% - 24px) / 2); }
}
@media (max-width: 767px) {
  .contest-media-library { padding: 76px 0; }
  .contest-media-library__grid .masonry-grid-sizer,
  .contest-media-library__grid .masonry-grid-item,
  .contest-media-library__grid .contest-media-card--featured { width: 100%; }
  .contest-media-card--image img { min-height: 220px; }
  .contest-media-card figcaption,
  .contest-media-card__body { padding: 21px; }
  .contest-media-library__pagination { align-items: flex-start; flex-direction: column; }
}
@media (prefers-reduced-motion: reduce) {
  .e360-masterclass-card__media img,
  .e360-learning-btn { transition: none; }
  .e360-masterclass-card__media:hover img { transform: none; }
}
/* E360_INSTITUTIONAL_LEARNING_END */

/* E360_INSTITUTIONAL_CONTEST_START */
.contest-page {
  --contest-ink: var(--at-neutral-950, #0f0f0f);
  --contest-muted: var(--at-neutral-500, #585959);
  --contest-line: var(--at-neutral-100, #dfdfdf);
  --contest-paper: var(--at-neutral-0, #fefefe);
  --contest-surface: #f3f1eb;
  color: var(--contest-ink);
  background: var(--contest-paper);
}
.contest-page section { position: relative; }
.contest-page img { display: block; width: 100%; height: 100%; object-fit: cover; }
.contest-eyebrow { margin: 0 0 18px; color: var(--at-theme-primary); font-size: 12px; font-weight: 700; letter-spacing: 0.12em; line-height: 1.4; text-transform: uppercase; }
.contest-heading-row { display: grid; grid-template-columns: minmax(0, 1.35fr) minmax(300px, 0.65fr); gap: 72px; align-items: end; margin-bottom: 68px; }
.contest-heading-row h2 { max-width: 900px; margin: 0; font-size: clamp(46px, 5.4vw, 78px); font-weight: 500; letter-spacing: -0.055em; line-height: 0.96; }
.contest-heading-row > p { max-width: 480px; margin: 0 0 4px; color: var(--contest-muted); font-size: 17px; line-height: 1.65; }
.contest-heading-row--light h2 { color: var(--contest-paper); }
.contest-heading-row--light > p { color: var(--at-neutral-300); }
.contest-button { display: inline-flex; min-height: 54px; padding: 15px 25px; align-items: center; justify-content: center; border: 1px solid var(--contest-ink); background: var(--contest-ink); color: var(--contest-paper); font-size: 14px; font-weight: 700; line-height: 1.25; text-decoration: none; transition: background-color 180ms ease, color 180ms ease; }
.contest-button:hover,
.contest-button:focus-visible { background: transparent; color: var(--contest-ink); }
.contest-button--light { border-color: var(--contest-paper); background: var(--contest-paper); color: var(--contest-ink); }
.contest-button--light:hover,
.contest-button--light:focus-visible { background: transparent; color: var(--contest-paper); }
.contest-text-link { display: inline-flex; padding: 10px 0; border-bottom: 1px solid currentColor; color: var(--contest-ink); font-size: 14px; font-weight: 700; text-decoration: none; }
.contest-text-link:hover,
.contest-text-link:focus-visible { color: var(--at-theme-primary); }
.contest-text-link--light { color: var(--contest-paper); }

/* Le contrat du hero reste partagé ; cette échelle évite de couper le mot long du titre du concours. */
:is(.contest-page .e360-contest-hero, .e360-program-hero) .sec-1-home-7__headline { font-size: clamp(48px, 4.5vw, 66px); overflow-wrap: normal; word-break: normal; hyphens: none; }

/* La grille de principes reprend about-5-chapters déjà intégré au système public. */
.contest-expectations { padding: 88px 0 72px; background: var(--contest-paper); scroll-margin-top: 104px; }
.contest-expectations .about-5-chapters__head { max-width: 760px; margin-bottom: 36px; }
.contest-expectations .about-5-chapters__track { grid-template-columns: repeat(3, minmax(0, 1fr)); border-top: 1px solid var(--contest-line); }
.contest-expectations .about-5-chapter { min-height: 0; padding: 24px; border: 0; border-right: 1px solid var(--contest-line); }
.contest-expectations .about-5-chapter:first-child { padding-left: 0; }
.contest-expectations .about-5-chapter:last-child { padding-right: 0; border-right: 0; }
.contest-expectations .about-5-chapter__year { color: var(--at-theme-primary); }
.contest-expectations .about-5-chapter__text { max-width: 36ch; }

.contest-change { padding: 96px 0; background: var(--contest-ink); color: var(--contest-paper); }
.contest-change__flow { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); padding: 0; margin: 0; border-top: 1px solid rgba(255, 255, 255, 0.35); list-style: none; }
.contest-change__flow li { min-height: 220px; padding: 30px 32px 34px 0; border-right: 1px solid rgba(255, 255, 255, 0.22); border-bottom: 1px solid rgba(255, 255, 255, 0.22); }
.contest-change__flow li:nth-child(3n + 2),
.contest-change__flow li:nth-child(3n + 3) { padding-left: 32px; }
.contest-change__flow li:nth-child(3n) { border-right: 0; }
.contest-change__flow li > span { display: block; margin-bottom: 32px; color: var(--at-theme-primary); font-size: 13px; font-weight: 700; }
.contest-change__flow h3 { margin: 0 0 14px; color: var(--contest-paper); font-size: 29px; font-weight: 500; letter-spacing: -0.03em; }
.contest-change__flow p { max-width: 360px; margin: 0; color: var(--at-neutral-300); font-size: 15px; line-height: 1.6; }

/* Contrat source services-details-4 — chronologie horizontale épinglée. */
.sd4-flow { background: #1d1d1d; color: #f4f5f7; overflow: hidden; }
.sd4-flow__pin { padding: 90px 0 70px; }
.sd4-flow__title { max-width: 18ch; color: #fefefe; font-family: var(--at-ff-heading); font-size: clamp(28px, 4vw, 48px); font-weight: 700; letter-spacing: -0.03em; }
.sd4-flow__wrap { position: relative; overflow: hidden; }
.sd4-flow__progress { height: 2px; margin: 0 var(--e360-flow-inset) 32px; background: rgba(255, 255, 255, 0.12); }
.sd4-flow__progress i { display: block; width: 0%; height: 100%; background: var(--at-theme-primary); }
.sd4-flow__track { position: relative; display: flex; width: -moz-max-content; width: max-content; padding-right: var(--e360-flow-inset); padding-left: var(--e360-flow-inset); gap: 18px; will-change: transform; }
.sd4-flow .sd4-label--light { color: rgba(254, 254, 254, 0.55); }
.sd4-flow .sd4-label--light .sd4-label__num,
.sd4-flow .sd4-label--light .sd4-kicker__num { color: var(--at-theme-primary); }
.sd4-node { display: flex; min-height: 260px; padding: 28px; flex: 0 0 min(300px, 78vw); flex-direction: column; border: 1px solid rgba(255, 255, 255, 0.12); background: rgba(255, 255, 255, 0.04); }
.sd4-node span { margin-bottom: 24px; color: var(--at-theme-primary); font-size: 12px; font-weight: 700; font-variant-numeric: tabular-nums; letter-spacing: 0.1em; }
.sd4-node h3 { margin: 0 0 12px; color: #fefefe; font-size: 28px; font-weight: 700; letter-spacing: -0.03em; }
.sd4-node p { margin: 0; color: rgba(254, 254, 254, 0.68); font-size: 14px; font-weight: 500; line-height: 1.55; }

.contest-stages__heading { display: grid; margin-bottom: 40px; grid-template-columns: minmax(0, 0.85fr) minmax(320px, 0.55fr); gap: 42px 90px; align-items: end; }
.contest-stages__heading > p { max-width: 560px; margin: 0; color: rgba(254, 254, 254, 0.68); font-size: 16px; line-height: 1.65; }
.contest-stages .sd4-node { min-height: 570px; padding: 22px; }
.contest-stage__media { width: calc(100% + 44px); aspect-ratio: 4 / 3; margin: 0 -22px 24px; overflow: hidden; background: #2b2b2b; }
.contest-stage__media img { transition: transform 600ms ease; }
.contest-stages .sd4-node:hover .contest-stage__media img { transform: scale(1.035); }
.contest-stages .sd4-node .contest-stage__role { min-height: 38px; margin: 0 0 9px; color: var(--at-theme-primary); font-size: 11px; font-weight: 700; letter-spacing: 0.08em; line-height: 1.45; text-transform: uppercase; }

/* Contrat source portfolio-details-3 section 5 — image immersive et contenu superposé. */
.sec-5-portfolio-details-3 { position: relative; display: flex; min-height: 700px; align-items: center; justify-content: center; color: var(--at-neutral-0); }
.sec-5-portfolio-details-3__media { position: absolute; inset: 0; z-index: 0; overflow: hidden; }
.sec-5-portfolio-details-3__media img { width: 100%; height: 100%; -o-object-fit: cover; object-fit: cover; }
.sec-5-portfolio-details-3__veil { position: absolute; inset: 0; background: rgba(15, 15, 15, 0.55); }
.sec-5-portfolio-details-3__content { position: relative; z-index: 1; width: 100%; padding: 120px 0; }
.sec-5-portfolio-details-3__mark { margin-bottom: -20px; color: var(--at-theme-primary); font-family: var(--at-ff-heading); font-size: 120px; line-height: 1; opacity: 0.85; }
.sec-5-portfolio-details-3__quote { padding: 0; border: 0; font-size: 36px; line-height: 1.4; letter-spacing: -0.03em; }
.sec-5-portfolio-details-3__author { letter-spacing: -0.02em; }
.sec-5-portfolio-details-3__role { color: var(--at-neutral-100); opacity: 0.8; }

/* Le récit photographique réemploie le split de home-7, avant le parcours compétitif. */
.contest-page .contest-reality { padding: 88px 0; background: var(--at-neutral-50); }
.contest-page .contest-reality .e360-women-purpose__grid { gap: 48px 72px; }
.contest-page .contest-reality .sec-4-home-7__frame { margin: 0; aspect-ratio: 4 / 3; }
.contest-page .contest-reality .e360-women-title { font-size: clamp(36px, 3.6vw, 54px); }
.contest-page .contest-reality__points { grid-template-columns: 1fr; margin-top: 26px; border: 0; background: transparent; }
.contest-page .contest-reality__points > div { padding: 18px 0; border-top: 1px solid var(--contest-line); background: transparent; }
.contest-page .contest-reality__points > div:last-child { padding-bottom: 0; }
.contest-page .contest-reality__points dt { margin-bottom: 8px; }

.contest-edition { padding: 88px 0; background: var(--contest-surface); }
.contest-edition--active { background: var(--at-theme-primary); }
.contest-edition__card { display: grid; grid-template-columns: minmax(380px, 0.84fr) minmax(500px, 1.16fr); min-height: 680px; background: var(--contest-paper); }
.contest-edition__card > figure { min-height: 680px; margin: 0; overflow: hidden; background: var(--contest-line); }
.contest-edition__body { padding: 64px; align-self: center; }
.contest-edition__status { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 14px; padding-bottom: 19px; margin-bottom: 42px; border-bottom: 1px solid var(--contest-line); font-size: 11px; font-weight: 700; letter-spacing: 0.09em; text-transform: uppercase; }
.contest-edition__status strong { color: var(--at-theme-primary); }
.contest-edition__body h2,
.contest-edition__pause h2 { max-width: 850px; margin: 0; font-size: clamp(46px, 5vw, 74px); font-weight: 500; letter-spacing: -0.055em; line-height: 0.97; }
.contest-edition__summary { max-width: 650px; margin: 26px 0 0; color: var(--contest-muted); font-size: 17px; line-height: 1.6; }
.contest-edition__body dl { display: grid; grid-template-columns: 1fr 1fr; gap: 25px; padding: 28px 0; margin: 34px 0; border-top: 1px solid var(--contest-line); border-bottom: 1px solid var(--contest-line); }
.contest-edition__body dt { color: var(--contest-muted); font-size: 11px; font-weight: 700; letter-spacing: 0.09em; text-transform: uppercase; }
.contest-edition__body dd { margin: 8px 0 0; font-size: 15px; font-weight: 600; }
.contest-edition__notice { max-width: 620px; padding-left: 18px; margin: 30px 0; border-left: 1px solid var(--at-theme-primary); color: var(--contest-muted); font-size: 15px; line-height: 1.6; }
.contest-edition__links { display: flex; flex-wrap: wrap; gap: 14px 24px; margin-top: 27px; }
.contest-edition__links a { color: var(--contest-ink); font-size: 13px; font-weight: 700; text-decoration: underline; text-underline-offset: 4px; }
.contest-edition__links a:hover,
.contest-edition__links a:focus-visible { color: var(--at-theme-primary); }
.contest-edition__pause { display: grid; grid-template-columns: minmax(0, 1fr) minmax(300px, 0.5fr); gap: 30px 72px; padding: 78px; border: 1px solid var(--contest-line); background: var(--contest-paper); }
.contest-edition__pause > .contest-eyebrow { grid-column: 1 / -1; }
.contest-edition__pause > p:not(.contest-eyebrow) { max-width: 540px; margin: 7px 0 0; color: var(--contest-muted); font-size: 17px; line-height: 1.65; }
.contest-edition__pause-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 18px 28px; grid-column: 1 / -1; margin-top: 18px; }
.contest-related { grid-column: 1 / -1; padding-top: 38px; margin-top: 20px; border-top: 1px solid var(--contest-line); }
.contest-related h3 { margin: 0 0 18px; font-size: 20px; font-weight: 600; }
.contest-related ul { padding: 0; margin: 0; list-style: none; }
.contest-related li { border-top: 1px solid var(--contest-line); }
.contest-related a { display: grid; grid-template-columns: 180px minmax(0, 1fr); gap: 20px; padding: 18px 0; color: var(--contest-ink); text-decoration: none; }
.contest-related a span { color: var(--contest-muted); }

.contest-proof,
.contest-archives { padding: 112px 0; }
.contest-proof__grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); margin: 0; border-top: 1px solid var(--contest-ink); }
.contest-proof__grid > div { min-height: 280px; padding: 34px 32px 34px 0; border-right: 1px solid var(--contest-line); border-bottom: 1px solid var(--contest-line); }
.contest-proof__grid > div:nth-child(3n + 2),
.contest-proof__grid > div:nth-child(3n + 3) { padding-left: 32px; }
.contest-proof__grid > div:nth-child(3n) { border-right: 0; }
.contest-proof__grid dt { margin-bottom: 28px; font-size: clamp(46px, 5vw, 72px); font-weight: 500; letter-spacing: -0.05em; line-height: 0.95; }
.contest-proof__grid dd { margin: 0 0 22px; color: var(--contest-muted); font-size: 16px; }
.contest-proof__grid a { color: var(--contest-ink); font-size: 12px; font-weight: 700; }
.contest-archives { background: var(--contest-surface); }
.contest-archives__grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 28px; }
.contest-archives__grid article { background: var(--contest-paper); }
.contest-archives__media { display: block; aspect-ratio: 4 / 3; overflow: hidden; }
.contest-archives__media img { transition: transform 300ms ease; }
.contest-archives__media:hover img { transform: scale(1.025); }
.contest-archives__grid article > div { padding: 28px; }
.contest-archives__grid p { margin: 0 0 10px; color: var(--at-theme-primary); font-size: 11px; font-weight: 700; letter-spacing: 0.09em; text-transform: uppercase; }
.contest-archives__grid h3 { margin: 0 0 18px; font-size: 28px; font-weight: 500; line-height: 1.08; }
.contest-archives__grid h3 a { color: inherit; text-decoration: none; }
.contest-archives__grid span { color: var(--contest-muted); font-size: 13px; }

.contest-laureates { padding: 112px 0; background: var(--contest-ink); color: var(--contest-paper); }
.contest-laureates__grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 28px; }
.contest-laureates__grid article { padding-bottom: 26px; border-bottom: 1px solid rgba(255, 255, 255, 0.3); }
.contest-laureates__grid img { aspect-ratio: 4 / 5; margin-bottom: 24px; }
.contest-laureates__grid p { margin: 0 0 10px; color: var(--at-theme-primary); font-size: 11px; font-weight: 700; letter-spacing: 0.08em; text-transform: uppercase; }
.contest-laureates__grid h3 { margin: 0 0 9px; color: var(--contest-paper); font-size: 27px; font-weight: 500; }
.contest-laureates__grid span { display: block; margin-bottom: 14px; color: var(--at-neutral-300); font-size: 14px; }
.contest-laureates__grid a { color: var(--contest-paper); font-size: 12px; font-weight: 700; }

/* Les rangées suivent les photos présentes : aucune quatrième rangée vide avant le CTA. */
.contest-gallery { padding: 88px 0 56px; }
.contest-gallery__grid { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); grid-auto-rows: 320px; gap: 24px; }
.contest-gallery__item { position: relative; margin: 0; overflow: hidden; background: var(--contest-line); }
.contest-gallery__item--1 { grid-column: 1 / 8; grid-row: 1 / 3; }
.contest-gallery__item--2 { grid-column: 8 / 13; grid-row: 1; }
.contest-gallery__item--3 { grid-column: 8 / 13; grid-row: 2; }
.contest-gallery__item--4 { grid-column: 1 / 5; grid-row: 3; }
.contest-gallery__item--5 { grid-column: 5 / 9; grid-row: 3; }
.contest-gallery__item--6 { grid-column: 9 / 13; grid-row: 3; }
.contest-gallery__item--7 { grid-column: 1 / 7; grid-row: 4; }
.contest-gallery__item--8 { grid-column: 7 / 13; grid-row: 4; }
.contest-gallery__item figcaption { position: absolute; right: 0; bottom: 0; left: 0; display: flex; justify-content: space-between; gap: 22px; padding: 19px 22px; background: linear-gradient(0deg, rgba(15, 15, 15, 0.82), transparent); color: var(--contest-paper); font-size: 13px; font-weight: 600; }
.contest-gallery__item figcaption span { color: var(--at-theme-primary); }

.program-video {
  --program-video-ink: var(--contest-ink, var(--at-neutral-950, #0f0f0f));
  --program-video-paper: var(--contest-paper, var(--at-neutral-0, #ffffff));
  --program-video-muted: var(--contest-muted, var(--at-neutral-600, #666666));
  padding: 80px 0;
  overflow: clip;
  background: var(--program-video-paper);
}
.program-video__heading { display: grid; grid-template-columns: minmax(150px, 0.25fr) minmax(0, 1fr); gap: 56px; align-items: start; }
.program-video__heading h2 { max-width: 980px; margin: 0; color: var(--program-video-ink); font-size: clamp(48px, 6vw, 86px); font-weight: 500; letter-spacing: -0.06em; line-height: 0.94; }
.program-video__heading > div > p { max-width: 720px; margin: 28px 0 0; color: var(--program-video-muted); font-size: 18px; line-height: 1.65; }
.program-video__caption { display: grid; grid-template-columns: minmax(220px, 0.5fr) minmax(0, 1fr) auto; gap: 40px; align-items: start; padding-top: 34px; }
.program-video__caption p { margin: 0; color: var(--program-video-muted); font-size: 14px; line-height: 1.6; }
.program-video__caption p:first-child { color: var(--program-video-ink); font-weight: 600; }
.program-video__caption p:first-child span { display: block; margin-bottom: 5px; color: var(--at-theme-primary); font-size: 11px; letter-spacing: 0.08em; text-transform: uppercase; }
.program-video__caption small { display: block; margin-top: 8px; color: inherit; font-size: 12px; }
.program-video__caption .contest-text-link { white-space: nowrap; }

/* Contrat source home-2-section-11 : structure, zoom, marquee et lecture. */
.program-video .postbox-item:not(:last-child) { border-bottom: 1px solid rgba(30, 30, 30, 0.08); padding-bottom: 50px; margin-bottom: 60px; }
.program-video .postbox-item:hover .postbox-thumb img { transform: scale(1.1); }
.program-video .postbox-thumb { border-radius: 42px; overflow: hidden; }
.program-video .postbox-thumb img { border-radius: 42px; transition: all 0.8s ease; }
.program-video .postbox-play-btn { position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); }
.program-video .postbox-play-btn a { display: inline-flex; width: 80px; height: 80px; align-items: center; justify-content: center; border-radius: 50%; background: rgba(255, 255, 255, 0.3); line-height: 77px; text-align: center; backdrop-filter: blur(5px); animation: animate-pulse 3s linear infinite; }
.program-video .postbox-play-btn a svg { display: inline-block; margin-left: 3px; }
.program-video .postbox-scroll-zoom .postbox-item-wrap { width: 100%; height: 200vh; }
.program-video .postbox-scroll-zoom .postbox-item { display: flex; width: 100%; height: 100vh; align-items: center; justify-content: center; }
.program-video .postbox-scroll-zoom .postbox-thumb { width: 100%; height: 100%; background-color: var(--at-neutral-50, #f5f5f5); }
.program-video .postbox-scroll-zoom .postbox-scroll-zoom-img { position: relative; z-index: 2; width: 100%; height: 100%; object-fit: cover; clip-path: inset(calc(50% - 50px) calc(50% - 100px) calc(50% - 50px) calc(50% - 100px) round 4px); will-change: clip-path; }
.program-video .postbox-scroll-zoom .postbox-scroll-zoom-play { z-index: 3; }
.program-video .postbox-scroll-zoom .postbox-scroll-zoom-marquee { position: absolute; inset: 0; z-index: 1; display: flex; flex-direction: column; align-items: stretch; justify-content: space-around; padding: 4% 0; overflow: hidden; pointer-events: none; will-change: opacity; }
.program-video .postbox-scroll-zoom .postbox-scroll-zoom-marquee-row { display: flex; width: 100%; overflow: hidden; white-space: nowrap; }
.program-video .postbox-scroll-zoom .postbox-scroll-zoom-marquee-row.dir-left .postbox-scroll-zoom-marquee-track { animation: postbox-marquee-left 30s linear infinite; }
.program-video .postbox-scroll-zoom .postbox-scroll-zoom-marquee-row.dir-right .postbox-scroll-zoom-marquee-track { animation: postbox-marquee-right 35s linear infinite; }
.program-video .postbox-scroll-zoom .postbox-scroll-zoom-marquee-track { display: inline-flex; flex-shrink: 0; align-items: center; gap: 40px; padding-right: 40px; color: var(--at-neutral-100, #dfdfdf); font-family: inherit; font-size: clamp(48px, 8vw, 120px); font-weight: 600; letter-spacing: -0.02em; line-height: 1; text-transform: uppercase; }
.program-video .postbox-scroll-zoom .postbox-scroll-zoom-marquee-track > span { display: inline-block; flex-shrink: 0; }
.program-video .postbox-scroll-zoom[data-e360-scroll-zoom="fallback"] .postbox-scroll-zoom-img { clip-path: none; }
.program-video .postbox-scroll-zoom[data-e360-scroll-zoom="fallback"] .postbox-scroll-zoom-marquee { opacity: 0; }
.program-video__poster-trigger { position: absolute; inset: 0; z-index: 2; display: block; }
.program-video .postbox-scroll-zoom-play .h1 { margin: 0; font-size: clamp(50px, 6vw, 94px); font-weight: 500; letter-spacing: -0.06em; line-height: 0.9; white-space: nowrap; }
.program-video-modal .modal-content { overflow: hidden; border: 0; border-radius: 0; background: var(--program-video-ink, #111111); color: var(--program-video-paper, #ffffff); }
.program-video-modal .modal-header { align-items: flex-start; gap: 16px; border-bottom-color: rgba(255, 255, 255, 0.18); }
.program-video-modal .modal-footer { gap: 12px 20px; border-top-color: rgba(255, 255, 255, 0.18); }
.program-video-modal__details { flex: 1 1 240px; min-width: 0; }
.program-video-modal__details p { margin: 0; font-size: 14px; line-height: 1.5; }
.program-video-modal__details small { display: block; margin-top: 4px; color: var(--at-neutral-300); font-size: 12px; }
.program-video-modal .modal-title { flex: 1; min-width: 0; color: var(--program-video-paper, #ffffff); font-size: 25px; }
.program-video-modal .btn-close { position: static; flex-shrink: 0; margin: 0; filter: invert(1); }
.program-video-modal .modal-body { padding: 0; }
.program-video-modal .e360-video-player { background: #000; }

@keyframes postbox-marquee-left { 0% { transform: translateX(0); } 100% { transform: translateX(-50%); } }
@keyframes postbox-marquee-right { 0% { transform: translateX(-50%); } 100% { transform: translateX(0); } }
@keyframes animate-pulse {
  0% { box-shadow: 0 0 0 0 rgba(255, 255, 255, 0.2), 0 0 0 0 rgba(255, 255, 255, 0.2); }
  40% { box-shadow: 0 0 0 50px rgba(255, 109, 74, 0), 0 0 0 0 rgba(255, 255, 255, 0.2); }
  80% { box-shadow: 0 0 0 50px rgba(255, 109, 74, 0), 0 0 0 30px rgba(255, 109, 74, 0); }
  100% { box-shadow: 0 0 0 0 rgba(255, 109, 74, 0), 0 0 0 30px rgba(255, 109, 74, 0); }
}

@media only screen and (min-width: 992px) and (max-width: 1199px) {
  .sec-5-portfolio-details-3 { min-height: 600px; }
  .sec-5-portfolio-details-3__quote { font-size: 30px; }
  .sec-5-portfolio-details-3__mark { font-size: 100px; }
}
@media only screen and (min-width: 768px) and (max-width: 991px) {
  .sec-5-portfolio-details-3 { min-height: 520px; }
  .sec-5-portfolio-details-3__content { padding: 90px 0; }
  .sec-5-portfolio-details-3__quote { font-size: 26px; }
  .sec-5-portfolio-details-3__mark { font-size: 88px; }
}
@media only screen and (min-width: 576px) and (max-width: 767px) {
  .sec-5-portfolio-details-3 { min-height: 460px; }
  .sec-5-portfolio-details-3__content { padding: 70px 0; }
  .sec-5-portfolio-details-3__quote { font-size: 22px; }
  .sec-5-portfolio-details-3__mark { font-size: 72px; }
}
@media (max-width: 574.98px) {
  .sec-5-portfolio-details-3 { min-height: 420px; }
  .sec-5-portfolio-details-3__content { padding: 60px 0; }
  .sec-5-portfolio-details-3__quote { font-size: 20px; line-height: 1.5; }
  .sec-5-portfolio-details-3__mark { margin-bottom: -10px; font-size: 60px; }
}

@media (max-width: 1199px) {
  .contest-edition__card { grid-template-columns: minmax(340px, 0.8fr) minmax(0, 1.2fr); }
  .contest-edition__body { padding: 48px; }
}
@media (max-width: 991px) {
  .contest-heading-row,
  .contest-edition__card,
  .contest-edition__pause { grid-template-columns: 1fr; }
  .contest-heading-row { gap: 28px; margin-bottom: 52px; }
  .contest-heading-row > p { max-width: 650px; }
  .contest-change__flow { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .contest-change__flow li:nth-child(n) { padding: 28px; border-right: 1px solid rgba(255, 255, 255, 0.22); }
  .contest-change__flow li:nth-child(2n) { border-right: 0; }
  .sd4-flow__pin { padding: 72px 0 56px; }
  .contest-stages__heading { grid-template-columns: 1fr; gap: 24px; }
  .contest-edition__card > figure { min-height: 0; aspect-ratio: 16 / 9; }
  .contest-edition__pause { gap: 28px; padding: 58px; }
  .contest-edition__pause > .contest-eyebrow,
  .contest-edition__pause-actions,
  .contest-related { grid-column: auto; }
  .contest-proof__grid,
  .contest-archives__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .contest-proof__grid > div:nth-child(n) { padding: 30px; border-right: 1px solid var(--contest-line); }
  .contest-proof__grid > div:nth-child(2n) { border-right: 0; }
  .contest-laureates__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .contest-gallery__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); grid-auto-rows: auto; }
  .contest-gallery__item:nth-child(n) { grid-column: auto; grid-row: auto; aspect-ratio: 4 / 3; }
  .contest-gallery__item:nth-child(3n + 1) { aspect-ratio: 4 / 5; }
  .program-video__heading,
  .program-video__caption { grid-template-columns: 1fr; gap: 24px; }
  .program-video__caption .contest-text-link { justify-self: start; }
}
@media (max-width: 767px) {
  .contest-expectations { padding: 60px 0 48px; }
  .contest-expectations .about-5-chapters__title { font-size: 36px; }
  .contest-expectations .about-5-chapters__track { grid-template-columns: 1fr; }
  .contest-expectations .about-5-chapter:nth-child(n) { padding: 22px 0; border: 0; border-bottom: 1px solid var(--contest-line); }
  .contest-expectations .about-5-chapter:last-child { padding-bottom: 0; border-bottom: 0; }
  .contest-expectations .about-5-chapter__year { margin-bottom: 12px; }
  .contest-page .contest-reality { padding: 60px 0; }
  .contest-page .contest-reality .e360-women-purpose__grid { gap: 32px; }
  .contest-page .contest-reality .sec-4-home-7__frame { aspect-ratio: 4 / 3; }
  .contest-page .contest-reality .e360-women-title { font-size: 36px; }
  :is(.contest-page .e360-contest-hero, .e360-program-hero) .sec-1-home-7__headline { font-size: clamp(40px, 11vw, 46px); }
  .contest-heading-row h2 { font-size: clamp(39px, 11.5vw, 54px); line-height: 0.99; }
  .contest-heading-row > p { font-size: 16px; }
  .contest-change,
  .contest-proof,
  .contest-archives,
  .contest-laureates,
  .program-video { padding: 78px 0; }
  .contest-gallery { padding: 64px 0 40px; }
  .contest-change__flow,
  .contest-edition__body dl,
  .contest-proof__grid,
  .contest-archives__grid,
  .contest-laureates__grid { grid-template-columns: 1fr; }
  .contest-change__flow li:nth-child(n) { min-height: 0; padding: 28px 0; border-right: 0; }
  .contest-change__flow li > span { margin-bottom: 34px; }
  .sd4-flow__track { width: 100%; padding-right: max(1.5rem, (100vw - 1320px) / 2 + 12px); flex-direction: column; }
  .sd4-flow__progress { display: none; }
  .sd4-node { width: 100%; min-height: 0; flex: 1 1 auto; }
  .contest-stages .sd4-node { min-height: 0; }
  .contest-stage__media { aspect-ratio: 16 / 10; }
  .contest-stages .sd4-node .contest-stage__role { min-height: 0; }
  .contest-edition { padding: 62px 0; }
  .contest-edition__body { padding: 34px 24px; }
  .contest-edition__body h2,
  .contest-edition__pause h2 { font-size: clamp(39px, 11vw, 52px); }
  .contest-edition__body dl { gap: 18px; }
  .contest-edition__pause { padding: 34px 24px; }
  .contest-edition__pause-actions { align-items: stretch; flex-direction: column; }
  .contest-edition__pause-actions .contest-button { width: 100%; }
  .contest-related a { grid-template-columns: 1fr; gap: 6px; }
  .contest-proof__grid > div:nth-child(n) { min-height: 0; padding: 30px 0; border-right: 0; }
  .contest-gallery__grid { display: grid; grid-template-columns: 1fr; grid-template-rows: none; gap: 18px; }
  .contest-gallery__item:nth-child(n) { grid-column: auto; grid-row: auto; aspect-ratio: 4 / 3; }
  .contest-gallery__item--1 { aspect-ratio: 4 / 5; }
  .program-video__heading h2 { font-size: clamp(39px, 11.5vw, 54px); }
  .program-video__heading > div > p { font-size: 16px; }
  .program-video .home-2-section-11 { margin-top: 34px; }
  .program-video .postbox-play-btn a { width: 68px; height: 68px; }
  .program-video__caption { padding-top: 24px; }
}
@media (max-width: 389px) {
  .contest-edition__status { align-items: flex-start; flex-direction: column; }
}
@media (prefers-reduced-motion: reduce) {
  .contest-button,
  .contest-archives__media img,
  .contest-stage__media img { transition: none; }
  .contest-archives__media:hover img { transform: none; }
  .contest-stages .sd4-node:hover .contest-stage__media img { transform: none; }
  .sd4-flow__track { will-change: auto; }
  .contest-stages .sd4-flow__wrap { overflow-x: auto; overscroll-behavior-inline: contain; }
  .program-video .postbox-scroll-zoom .postbox-scroll-zoom-marquee-row .postbox-scroll-zoom-marquee-track,
  .program-video .postbox-play-btn a { animation: none; }
  .program-video .postbox-scroll-zoom .postbox-item-wrap { height: auto; }
  .program-video .postbox-scroll-zoom .postbox-item { height: clamp(420px, 65vw, 820px); }
  .program-video .postbox-scroll-zoom .postbox-scroll-zoom-img { clip-path: none; will-change: auto; }
  .program-video .postbox-scroll-zoom .postbox-scroll-zoom-marquee { opacity: 0; }
  .program-video .postbox-item:hover .postbox-thumb img { transform: none; }
}
/* LOT 08.1.B — Archives et fiches publiques des éditions du concours */
.contest-library,
.contest-record {
  --contest-ink: var(--at-neutral-950, #0f0f0f);
  --contest-muted: var(--at-neutral-500, #585959);
  --contest-line: var(--at-neutral-100, #dfdfdf);
  --contest-paper: var(--at-neutral-0, #fefefe);
  --contest-surface: #f3f1eb;
  color: var(--contest-ink);
  background: var(--contest-paper);
}
.contest-library img,
.contest-record img { display: block; width: 100%; height: 100%; object-fit: cover; }
.contest-library__hero,
.contest-record__hero { padding: 128px 0 88px; border-bottom: 1px solid var(--contest-line); }
.contest-library__breadcrumb,
.contest-record__breadcrumb { display: flex; flex-wrap: wrap; gap: 10px; margin-bottom: 52px; color: var(--contest-muted); font-size: 13px; }
.contest-library__breadcrumb a,
.contest-record__breadcrumb a { color: inherit; }
.contest-library__hero-grid { display: grid; grid-template-columns: minmax(0, 1.35fr) minmax(300px, 0.65fr); gap: 72px; align-items: end; }
.contest-library__hero h1,
.contest-record__hero h1 { max-width: 1100px; margin: 0; font-size: clamp(58px, 7vw, 104px); font-weight: 500; letter-spacing: -0.065em; line-height: 0.9; overflow-wrap: anywhere; }
.contest-library__hero-grid > p,
.contest-record__lead { max-width: 580px; margin: 0; color: var(--contest-muted); font-size: 19px; line-height: 1.62; }
.contest-library__content { padding: 96px 0 118px; }
.contest-library__filters { display: grid; grid-template-columns: repeat(3, minmax(170px, 1fr)) auto auto; gap: 18px; align-items: end; padding: 28px; margin-bottom: 84px; border: 1px solid var(--contest-line); background: var(--contest-surface); }
.contest-library__filters label { display: block; margin-bottom: 8px; font-size: 12px; font-weight: 700; text-transform: uppercase; }
.contest-library__filters select { width: 100%; height: 54px; padding: 0 42px 0 15px; border: 1px solid var(--contest-line); border-radius: 0; background-color: var(--contest-paper); color: var(--contest-ink); }
.contest-library__heading,
.contest-record__section-heading { display: flex; justify-content: space-between; gap: 40px; align-items: end; margin-bottom: 48px; }
.contest-library__heading h2,
.contest-record__section-heading h2 { max-width: 880px; margin: 0; font-size: clamp(42px, 5vw, 70px); font-weight: 500; letter-spacing: -0.055em; line-height: 0.96; }
.contest-library__heading > a { color: var(--contest-ink); font-weight: 700; }
.contest-library__grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 30px; }
.contest-library-card { display: flex; min-width: 0; flex-direction: column; border: 1px solid var(--contest-line); background: var(--contest-paper); }
.contest-library-card__media { aspect-ratio: 4 / 3; overflow: hidden; }
.contest-library-card__media img { transition: transform 260ms ease; }
.contest-library-card__media:hover img { transform: scale(1.025); }
.contest-library-card__body { display: flex; flex: 1; flex-direction: column; align-items: flex-start; padding: 28px; }
.contest-library-card__meta { margin: 0 0 12px; color: var(--at-theme-primary); font-size: 11px; font-weight: 700; letter-spacing: 0.08em; text-transform: uppercase; }
.contest-library-card h3 { margin: 0 0 16px; font-size: 29px; font-weight: 500; line-height: 1.08; }
.contest-library-card h3 a { color: inherit; text-decoration: none; }
.contest-library-card__body > p:not(.contest-library-card__meta, .contest-library-card__laureates) { color: var(--contest-muted); line-height: 1.6; }
.contest-library-card dl { display: grid; width: 100%; grid-template-columns: repeat(3, 1fr); gap: 12px; padding-top: 20px; margin: auto 0 18px; border-top: 1px solid var(--contest-line); }
.contest-library-card dl div { min-width: 0; }
.contest-library-card dt { font-size: 20px; font-weight: 700; overflow-wrap: anywhere; }
.contest-library-card dd { margin: 4px 0 0; color: var(--contest-muted); font-size: 11px; line-height: 1.35; }
.contest-library-card__laureates { margin: 0 0 14px; font-size: 13px; font-weight: 700; }
.contest-library__empty { padding: 70px; border: 1px solid var(--contest-line); text-align: center; }
.contest-library__empty h3 { margin: 0 0 14px; font-size: 34px; }
.contest-library__empty p { margin-bottom: 28px; color: var(--contest-muted); }

.contest-record__hero-grid { display: grid; grid-template-columns: minmax(0, 0.86fr) minmax(460px, 1.14fr); gap: 70px; align-items: center; }
.contest-record__lead { margin: 34px 0; }
.contest-record__hero figure { position: relative; min-height: 650px; margin: 0; overflow: hidden; background: var(--contest-line); }
.contest-record__hero figcaption { position: absolute; right: 0; bottom: 0; padding: 14px 18px; background: var(--contest-paper); font-size: 11px; font-weight: 700; text-transform: uppercase; }
.contest-record__overview,
.contest-record__proofs,
.contest-record__journey,
.contest-record__laureates,
.contest-record__gallery,
.contest-record__documents { padding: 108px 0; }
.contest-record__overview { background: var(--contest-surface); }
.contest-record__overview-grid { display: grid; grid-template-columns: minmax(0, 1.35fr) minmax(300px, 0.65fr); gap: 80px; }
.contest-record__story { margin: 0 0 28px; font-size: 29px; line-height: 1.35; }
.contest-record__richtext { color: var(--contest-muted); font-size: 17px; line-height: 1.75; }
.contest-record__richtext > :last-child { margin-bottom: 0; }
.contest-record__facts { margin: 0; border-top: 1px solid var(--contest-ink); }
.contest-record__facts div { padding: 20px 0; border-bottom: 1px solid var(--contest-line); }
.contest-record__facts dt,
.contest-record__editorial dt { margin-bottom: 7px; color: var(--contest-muted); font-size: 11px; font-weight: 700; letter-spacing: 0.08em; text-transform: uppercase; }
.contest-record__facts dd,
.contest-record__editorial dd { margin: 0; }
.contest-record__editorial { display: grid; grid-template-columns: repeat(3, 1fr); margin: 64px 0 0; border-top: 1px solid var(--contest-line); }
.contest-record__editorial div { padding: 28px 30px 0 0; }
.contest-record__editorial dd { color: var(--contest-muted); line-height: 1.65; }
.contest-record__proof-grid { display: grid; grid-template-columns: repeat(3, 1fr); margin: 0; border-top: 1px solid var(--contest-ink); }
.contest-record__proof-grid div { min-height: 270px; padding: 32px; border-right: 1px solid var(--contest-line); border-bottom: 1px solid var(--contest-line); }
.contest-record__proof-grid dt { margin-bottom: 14px; font-size: clamp(44px, 5vw, 70px); font-weight: 500; line-height: 0.95; }
.contest-record__proof-grid dd { margin: 0 0 24px; color: var(--contest-muted); font-size: 16px; }
.contest-record__proof-grid small { display: block; color: var(--contest-muted); line-height: 1.5; }
.contest-record__journey { background: var(--contest-ink); color: var(--contest-paper); }
.contest-record__journey h2,
.contest-record__laureates h2,
.contest-record__footer { color: var(--contest-paper); }
.contest-record__journey ol { padding: 0; margin: 0; list-style: none; }
.contest-record__journey li { display: grid; grid-template-columns: 72px 1fr; gap: 28px; padding: 30px 0; border-top: 1px solid rgba(255,255,255,.25); }
.contest-record__journey li > span { color: var(--at-theme-primary); font-size: 14px; font-weight: 700; }
.contest-record__journey li p { margin: 0 0 6px; color: var(--at-neutral-300); font-size: 12px; text-transform: uppercase; }
.contest-record__journey li h3 { margin: 0 0 10px; color: var(--contest-paper); font-size: 30px; }
.contest-record__journey li div div { max-width: 720px; color: var(--at-neutral-300); line-height: 1.6; }
.contest-record__laureates { background: var(--contest-ink); color: var(--contest-paper); }
.contest-record__people-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 28px; }
.contest-record__people-grid article { border-bottom: 1px solid rgba(255,255,255,.3); padding-bottom: 24px; }
.contest-record__people-grid img { aspect-ratio: 4 / 5; margin-bottom: 22px; }
.contest-record__people-grid p { margin: 0 0 8px; color: var(--at-theme-primary); font-size: 11px; font-weight: 700; text-transform: uppercase; }
.contest-record__people-grid h3 { margin: 0 0 8px; color: var(--contest-paper); font-size: 27px; }
.contest-record__people-grid strong,
.contest-record__people-grid span { display: block; margin-top: 7px; color: var(--at-neutral-300); font-size: 14px; }
.contest-record__gallery-grid { display: grid; grid-template-columns: repeat(12, 1fr); grid-auto-rows: 320px; gap: 22px; }
.contest-record__gallery-grid figure { grid-column: span 6; margin: 0; overflow: hidden; }
.contest-record__gallery-grid figure:nth-child(3n + 1) { grid-column: span 7; }
.contest-record__gallery-grid figure:nth-child(3n + 2) { grid-column: span 5; }
.contest-record__documents { background: var(--contest-surface); }
.contest-record__document-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 28px; }
.contest-record__document-grid section { padding: 30px; border: 1px solid var(--contest-line); background: var(--contest-paper); }
.contest-record__document-grid h3 { margin: 0 0 22px; font-size: 27px; }
.contest-record__document-grid ul { padding: 0; margin: 0; list-style: none; }
.contest-record__document-grid li { padding: 14px 0; border-top: 1px solid var(--contest-line); }
.contest-record__document-grid a,
.contest-record__document-grid strong { color: var(--contest-ink); font-weight: 700; }
.contest-record__document-grid span { display: block; margin-top: 6px; color: var(--contest-muted); font-size: 13px; line-height: 1.5; }
.contest-record__footer { padding: 80px 0; background: var(--contest-ink); }
.contest-record__footer .container { display: flex; flex-wrap: wrap; gap: 24px; align-items: center; }

@media (max-width: 1199px) {
  .contest-library__grid { grid-template-columns: repeat(2, 1fr); }
  .contest-record__hero-grid { grid-template-columns: 1fr 1fr; gap: 42px; }
  .contest-record__hero figure { min-height: 540px; }
  .contest-record__people-grid { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 991px) {
  .contest-library__hero-grid,
  .contest-record__hero-grid,
  .contest-record__overview-grid { grid-template-columns: 1fr; }
  .contest-library__filters { grid-template-columns: repeat(2, 1fr); }
  .contest-record__hero figure { min-height: 0; aspect-ratio: 16 / 10; }
  .contest-record__proof-grid,
  .contest-record__editorial,
  .contest-record__document-grid { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 767px) {
  .contest-library__hero,
  .contest-record__hero { padding: 96px 0 64px; }
  .contest-library__hero h1,
  .contest-record__hero h1 { font-size: clamp(48px, 14vw, 66px); }
  .contest-library__hero-grid { gap: 30px; }
  .contest-library__content,
  .contest-record__overview,
  .contest-record__proofs,
  .contest-record__journey,
  .contest-record__laureates,
  .contest-record__gallery,
  .contest-record__documents { padding: 76px 0; }
  .contest-library__filters,
  .contest-library__grid,
  .contest-record__proof-grid,
  .contest-record__editorial,
  .contest-record__people-grid,
  .contest-record__document-grid { grid-template-columns: 1fr; }
  .contest-library__filters { padding: 22px; margin-bottom: 62px; }
  .contest-library__heading,
  .contest-record__section-heading { align-items: flex-start; flex-direction: column; margin-bottom: 38px; }
  .contest-library__heading h2,
  .contest-record__section-heading h2 { font-size: 43px; }
  .contest-library-card dl { grid-template-columns: repeat(3, 1fr); }
  .contest-record__story { font-size: 24px; }
  .contest-record__proof-grid div { min-height: 0; padding: 28px 0; border-right: 0; }
  .contest-record__journey li { grid-template-columns: 46px 1fr; gap: 16px; }
  .contest-record__gallery-grid { display: flex; flex-direction: column; }
  .contest-record__gallery-grid figure { aspect-ratio: 4 / 3; }
}

/* LOT 08.1.C — Podium et profils publics consentis */
.contest-podium { margin-bottom: 72px; }
.contest-podium > h3,
.contest-special-awards > h3 { margin: 0 0 28px; color: var(--contest-paper); font-size: 30px; font-weight: 500; }
.contest-podium ol { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1px; padding: 1px; margin: 0; background: rgba(255, 255, 255, 0.22); list-style: none; }
.contest-podium li { display: grid; min-width: 0; grid-template-columns: 54px 96px minmax(0, 1fr); gap: 20px; align-items: center; padding: 28px; background: var(--contest-ink); }
.contest-podium__rank { display: grid; width: 54px; height: 54px; place-items: center; border: 1px solid rgba(255, 255, 255, 0.35); border-radius: 50%; color: var(--at-theme-primary); font-size: 20px; font-weight: 700; }
.contest-podium img { width: 96px; height: 116px; object-position: center top; }
.contest-podium p { margin: 0 0 8px; color: var(--at-theme-primary); font-size: 11px; font-weight: 700; letter-spacing: 0.08em; text-transform: uppercase; }
.contest-podium h4 { margin: 0 0 8px; color: var(--contest-paper); font-size: 24px; font-weight: 500; line-height: 1.08; }
.contest-podium strong { color: var(--at-neutral-300); font-size: 13px; font-weight: 500; line-height: 1.45; }
.contest-special-awards { margin-bottom: 62px; }
.contest-special-awards > div { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); border-top: 1px solid rgba(255, 255, 255, 0.32); }
.contest-special-awards article { min-width: 0; padding: 25px 28px 25px 0; border-bottom: 1px solid rgba(255, 255, 255, 0.2); }
.contest-special-awards article + article { padding-left: 28px; border-left: 1px solid rgba(255, 255, 255, 0.2); }
.contest-special-awards p { margin: 0 0 9px; color: var(--at-theme-primary); font-size: 11px; font-weight: 700; letter-spacing: 0.08em; text-transform: uppercase; }
.contest-special-awards h4 { margin: 0 0 8px; color: var(--contest-paper); font-size: 25px; font-weight: 500; }
.contest-special-awards span { color: var(--at-neutral-300); font-size: 13px; }
.contest-record__people-grid .team-card-2 { min-width: 0; background: transparent; }
.contest-record__people-grid :where(.team-card-2__image) { height: auto; margin-bottom: 22px; }
.contest-record__people-grid .team-card-2__image img { margin: 0; object-position: center top; }
.contest-record__people-grid .team-card-2__content { display: block; min-height: 0; padding: 0; }
.contest-record__people-grid .contest-text-link { margin-top: 18px; color: var(--contest-paper); }

.contest-laureate-profile {
  --contest-ink: var(--at-neutral-950, #0f0f0f);
  --contest-muted: var(--at-neutral-500, #585959);
  --contest-line: var(--at-neutral-100, #dfdfdf);
  --contest-paper: var(--at-neutral-0, #fefefe);
  --contest-surface: #f3f1eb;
  color: var(--contest-ink);
  background: var(--contest-paper);
}
.contest-laureate-profile img { display: block; width: 100%; height: 100%; object-fit: cover; }
.contest-laureate-profile__hero { padding: 128px 0 96px; border-bottom: 1px solid var(--contest-line); }
.contest-laureate-profile__hero-grid { display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(360px, 0.85fr); gap: 82px; align-items: center; }
.contest-laureate-profile__hero h1 { max-width: 880px; margin: 0; font-size: clamp(58px, 7vw, 104px); font-weight: 500; letter-spacing: -0.065em; line-height: 0.9; overflow-wrap: anywhere; }
.contest-laureate-profile__university { margin: 30px 0 0; color: var(--contest-ink); font-size: 17px; font-weight: 700; line-height: 1.55; }
.contest-laureate-profile__lead { max-width: 690px; margin: 20px 0 0; color: var(--contest-muted); font-size: 19px; line-height: 1.65; }
.contest-laureate-profile__badges { display: flex; flex-wrap: wrap; gap: 9px; margin-top: 30px; }
.contest-laureate-profile__badges span { padding: 9px 14px; border: 1px solid var(--contest-ink); border-radius: 999px; font-size: 12px; font-weight: 700; }
.contest-laureate-profile__hero figure { aspect-ratio: 4 / 5; margin: 0; overflow: hidden; background: var(--contest-line); }
.contest-laureate-profile__hero figure img { object-position: center top; }
.contest-laureate-profile__story,
.contest-laureate-profile__editions,
.contest-laureate-profile__media { padding: 108px 0; }
.contest-laureate-profile__story { background: var(--contest-surface); }
.contest-laureate-profile__story-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 70px; }
.contest-laureate-profile__story-grid > div { min-width: 0; padding-top: 24px; border-top: 1px solid var(--contest-ink); }
.contest-laureate-profile__story-grid h3 { margin: 0 0 24px; font-size: 29px; font-weight: 500; }
.contest-laureate-profile__edition-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 28px; }
.contest-laureate-profile__edition-grid article { min-width: 0; padding: 34px; border: 1px solid var(--contest-line); background: var(--contest-paper); }
.contest-laureate-profile__edition-grid article > p { margin: 0 0 12px; color: var(--at-theme-primary); font-size: 11px; font-weight: 700; letter-spacing: 0.08em; text-transform: uppercase; }
.contest-laureate-profile__edition-grid h3 { margin: 0 0 17px; font-size: 31px; font-weight: 500; line-height: 1.08; }
.contest-laureate-profile__edition-grid h3 a { color: inherit; text-decoration: none; }
.contest-laureate-profile__edition-grid article > strong { display: block; margin-bottom: 22px; font-size: 14px; }
.contest-laureate-profile__edition-grid blockquote { padding: 20px 0 0 24px; margin: 26px 0 0; border-top: 1px solid var(--contest-line); border-left: 1px solid var(--at-theme-primary); color: var(--contest-muted); font-size: 18px; font-style: italic; line-height: 1.6; }
.contest-laureate-profile__media { background: var(--contest-surface); }
.contest-laureate-profile__media-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 26px; }
.contest-laureate-profile__media-grid figure { margin: 0; background: var(--contest-paper); }
.contest-laureate-profile__media-grid figure img { aspect-ratio: 4 / 3; }
.contest-laureate-profile__media-grid figcaption { padding: 17px 19px; font-size: 13px; font-weight: 700; }
.contest-laureate-profile__media-grid > a { display: flex; min-height: 210px; flex-direction: column; justify-content: flex-end; padding: 28px; border: 1px solid var(--contest-line); background: var(--contest-paper); color: var(--contest-ink); text-decoration: none; }
.contest-laureate-profile__media-grid > a span { margin-bottom: 9px; color: var(--at-theme-primary); font-size: 11px; font-weight: 700; letter-spacing: 0.08em; text-transform: uppercase; }
.contest-laureate-profile__media-grid > a strong { font-size: 23px; line-height: 1.2; }
.contest-laureate-profile__links { padding: 70px 0; border-top: 1px solid var(--contest-line); }
.contest-laureate-profile__links .container { display: flex; flex-wrap: wrap; gap: 30px 60px; align-items: center; justify-content: space-between; }
.contest-laureate-profile__links h2 { margin: 0; font-size: 31px; font-weight: 500; }
.contest-laureate-profile__links ul { display: flex; flex-wrap: wrap; gap: 14px 28px; padding: 0; margin: 0; list-style: none; }
.contest-laureate-profile__links a { color: var(--contest-ink); font-size: 14px; font-weight: 700; text-underline-offset: 5px; }

@media (max-width: 1199px) {
  .contest-podium li { grid-template-columns: 48px 74px minmax(0, 1fr); gap: 15px; padding: 23px; }
  .contest-podium__rank { width: 48px; height: 48px; }
  .contest-podium img { width: 74px; height: 94px; }
  .contest-laureate-profile__hero-grid { gap: 54px; }
}
@media (max-width: 991px) {
  .contest-podium ol,
  .contest-laureate-profile__hero-grid { grid-template-columns: 1fr; }
  .contest-podium li { grid-template-columns: 54px 96px minmax(0, 1fr); }
  .contest-podium__rank { width: 54px; height: 54px; }
  .contest-podium img { width: 96px; height: 116px; }
  .contest-special-awards > div,
  .contest-laureate-profile__story-grid,
  .contest-laureate-profile__edition-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .contest-special-awards article:nth-child(odd) { padding-left: 0; border-left: 0; }
  .contest-special-awards article:nth-child(even) { padding-left: 28px; border-left: 1px solid rgba(255, 255, 255, 0.2); }
  .contest-laureate-profile__hero figure { max-width: 620px; aspect-ratio: 16 / 10; }
  .contest-laureate-profile__hero figure img { object-position: center 30%; }
  .contest-laureate-profile__story-grid { gap: 40px; }
  .contest-laureate-profile__media-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 767px) {
  .contest-podium { margin-bottom: 58px; }
  .contest-podium li { grid-template-columns: 46px 72px minmax(0, 1fr); gap: 14px; padding: 21px 16px; }
  .contest-podium__rank { width: 46px; height: 46px; font-size: 17px; }
  .contest-podium img { width: 72px; height: 88px; }
  .contest-podium h4 { font-size: 21px; }
  .contest-special-awards > div,
  .contest-laureate-profile__story-grid,
  .contest-laureate-profile__edition-grid,
  .contest-laureate-profile__media-grid { grid-template-columns: 1fr; }
  .contest-special-awards article:nth-child(n) { padding: 23px 0; border-left: 0; }
  .contest-laureate-profile__hero { padding: 96px 0 68px; }
  .contest-laureate-profile__hero-grid { gap: 38px; }
  .contest-laureate-profile__hero h1 { max-width: 100%; font-size: clamp(48px, 14vw, 66px); line-height: 0.94; }
  .contest-laureate-profile__lead { font-size: 17px; }
  .contest-laureate-profile__hero figure { aspect-ratio: 4 / 5; }
  .contest-laureate-profile__story,
  .contest-laureate-profile__editions,
  .contest-laureate-profile__media { padding: 76px 0; }
  .contest-laureate-profile__edition-grid article { padding: 27px 22px; }
  .contest-laureate-profile__links { padding: 56px 0; }
  .contest-laureate-profile__links .container { align-items: flex-start; flex-direction: column; }
}
@media (max-width: 389px) {
  .contest-podium li { grid-template-columns: 42px minmax(0, 1fr); }
  .contest-podium img { display: none; }
  .contest-podium__rank { width: 42px; height: 42px; }
  .contest-laureate-profile__hero h1 { font-size: 45px; }
}

/* LOT 08.1.D — narration chronologique des éditions. */
.contest-stage-story { padding: 118px 0 36px; overflow: clip; background: var(--contest-paper); color: var(--contest-ink); }
.contest-stage-story__intro { max-width: 760px; margin: 24px 0 0; color: var(--contest-muted); font-size: 18px; line-height: 1.65; }
.contest-stage-story__rail { position: relative; padding: 0; margin: 48px 0 0; list-style: none; counter-reset: contest-stage; }
.contest-stage-story__rail::before { position: absolute; top: 0; bottom: 0; left: 50%; width: 1px; background: var(--contest-line); content: ""; }
.contest-stage-story__item { position: relative; border-top: 1px solid var(--contest-line); counter-increment: contest-stage; }
.contest-stage-story__item:last-child { border-bottom: 1px solid var(--contest-line); }
.contest-stage-chapter { display: grid; grid-template-columns: minmax(0, 1.02fr) minmax(0, 0.98fr); gap: 76px; align-items: start; padding: 92px 0 110px; }
.contest-stage-chapter--reverse .contest-stage-chapter__media { order: 2; }
.contest-stage-chapter--reverse .contest-stage-chapter__content { order: 1; }
.contest-stage-chapter__media { position: sticky; top: 112px; min-width: 0; }
.contest-stage-chapter__media figure { position: relative; aspect-ratio: 4 / 5; margin: 0; overflow: hidden; background: var(--contest-surface); }
.contest-stage-chapter--reverse .contest-stage-chapter__media figure { aspect-ratio: 16 / 11; }
.contest-stage-chapter__media img { display: block; width: 100%; height: 100%; object-fit: cover; }
.contest-stage-chapter__marker { position: absolute; z-index: 2; top: 24px; left: 24px; display: grid; width: 58px; height: 58px; place-items: center; border-radius: 50%; background: var(--at-theme-primary); color: var(--contest-ink); font-size: 13px; font-weight: 800; letter-spacing: 0.06em; }
.contest-stage-chapter__content { min-width: 0; padding-top: 22px; }
.contest-stage-chapter__period { margin: 0 0 18px; color: var(--at-theme-primary); font-size: 12px; font-weight: 800; letter-spacing: 0.09em; text-transform: uppercase; }
.contest-stage-chapter__content > h3 { max-width: 720px; margin: 0; font-size: clamp(44px, 4.5vw, 68px); font-weight: 500; letter-spacing: -0.05em; line-height: 0.98; overflow-wrap: anywhere; }
.contest-stage-chapter__summary { max-width: 700px; margin: 26px 0 22px; color: var(--contest-ink); font-size: 20px; font-weight: 600; line-height: 1.55; }
.contest-stage-chapter__figures { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1px; padding: 1px; margin: 38px 0 0; background: var(--contest-line); }
.contest-stage-chapter__figures > div { min-width: 0; padding: 24px; background: var(--contest-surface); }
.contest-stage-chapter__figures dt { margin-bottom: 7px; color: var(--contest-ink); font-size: 32px; font-weight: 500; line-height: 1; }
.contest-stage-chapter__figures dd { margin: 0; color: var(--contest-ink); font-size: 13px; font-weight: 700; }
.contest-stage-chapter__figures small { display: block; margin-top: 10px; color: var(--contest-muted); font-size: 10px; line-height: 1.45; }
.contest-stage-chapter__gallery { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; margin-top: 38px; }
.contest-stage-chapter__gallery figure { min-width: 0; margin: 0; background: var(--contest-surface); }
.contest-stage-chapter__gallery img { display: block; width: 100%; aspect-ratio: 4 / 3; object-fit: cover; }
.contest-stage-chapter__gallery figcaption { padding: 12px 14px; color: var(--contest-muted); font-size: 11px; font-weight: 700; }
.contest-stage-chapter__documents { display: grid; gap: 28px; padding-top: 34px; margin-top: 38px; border-top: 1px solid var(--contest-line); }
.contest-stage-chapter__documents h4 { margin: 0 0 12px; font-size: 18px; font-weight: 600; }
.contest-stage-chapter__documents ul { display: grid; gap: 1px; padding: 1px; margin: 0; background: var(--contest-line); list-style: none; }
.contest-stage-chapter__documents a { display: flex; min-width: 0; flex-direction: column; gap: 5px; padding: 16px 18px; background: var(--contest-paper); color: var(--contest-ink); text-decoration: none; }
.contest-stage-chapter__documents a:hover,
.contest-stage-chapter__documents a:focus-visible { background: var(--contest-surface); }
.contest-stage-chapter__documents strong { font-size: 14px; }
.contest-stage-chapter__documents span { color: var(--contest-muted); font-size: 12px; line-height: 1.5; }
.contest-stage-chapter__content > .contest-button { margin-top: 34px; }
.contest-stage-preview { padding-top: 92px; }
.contest-stage-preview .contest-stage-story { padding-top: 44px; }
.contest-stage-preview .contest-stage-story__item { border-bottom: 0; }

@media (max-width: 1199px) {
  .contest-stage-chapter { gap: 48px; padding: 76px 0 92px; }
  .contest-stage-chapter__media { top: 104px; }
  .contest-stage-chapter__figures > div { padding: 20px; }
}
@media (max-width: 991px) {
  .contest-stage-story { padding: 92px 0 24px; }
  .contest-stage-story__rail::before { left: 29px; }
  .contest-stage-chapter,
  .contest-stage-chapter--reverse { grid-template-columns: 1fr; gap: 34px; padding: 62px 0 78px 58px; }
  .contest-stage-chapter--reverse .contest-stage-chapter__media,
  .contest-stage-chapter--reverse .contest-stage-chapter__content { order: initial; }
  .contest-stage-chapter__media { position: relative; top: auto; }
  .contest-stage-chapter__media figure,
  .contest-stage-chapter--reverse .contest-stage-chapter__media figure { aspect-ratio: 16 / 10; }
  .contest-stage-chapter__marker { top: 18px; left: -58px; width: 58px; height: 58px; border: 8px solid var(--contest-paper); }
  .contest-stage-chapter__content { padding-top: 0; }
}
@media (max-width: 767px) {
  .contest-stage-story { padding-top: 76px; }
  .contest-stage-story__intro { font-size: 16px; }
  .contest-stage-story__rail { margin-top: 32px; }
  .contest-stage-story__rail::before { left: 18px; }
  .contest-stage-chapter,
  .contest-stage-chapter--reverse { gap: 28px; padding: 48px 0 62px 38px; }
  .contest-stage-chapter__marker { top: 14px; left: -38px; width: 38px; height: 38px; border-width: 5px; font-size: 10px; }
  .contest-stage-chapter__content > h3 { font-size: clamp(38px, 12vw, 52px); }
  .contest-stage-chapter__summary { margin-top: 21px; font-size: 17px; }
  .contest-stage-chapter__figures,
  .contest-stage-chapter__gallery { grid-template-columns: 1fr; }
  .contest-stage-chapter__media figure,
  .contest-stage-chapter--reverse .contest-stage-chapter__media figure { aspect-ratio: 4 / 3; }
  .contest-stage-preview { padding-top: 74px; }
}
@media (max-width: 389px) {
  .contest-stage-chapter,
  .contest-stage-chapter--reverse { padding-left: 31px; }
  .contest-stage-story__rail::before { left: 14px; }
  .contest-stage-chapter__marker { left: -31px; width: 31px; height: 31px; border-width: 4px; }
  .contest-stage-chapter__content > h3 { font-size: 36px; }
}
/* E360_INSTITUTIONAL_CONTEST_END */

/* LOT 08.1.F — Propagation de l’édition active dans les surfaces partagées */
.contest-edition__news { padding-top: 30px; margin-top: 30px; border-top: 1px solid var(--contest-line); }
.contest-edition__news h3 { margin: 0 0 14px; font-size: 18px; font-weight: 600; }
.contest-edition__news ul { padding: 0; margin: 0; list-style: none; }
.contest-edition__news li { border-top: 1px solid var(--contest-line); }
.contest-edition__news a { display: grid; grid-template-columns: 130px minmax(0, 1fr); gap: 16px; padding: 14px 0; color: var(--contest-ink); font-size: 13px; font-weight: 700; text-decoration: none; }
.contest-edition__news a:hover,
.contest-edition__news a:focus-visible { color: var(--at-theme-primary); }
.contest-edition__news a span { color: var(--contest-muted); font-weight: 500; }
.e360-programs-page .e360-program-card__edition { display: grid; gap: 7px; max-width: 470px; padding: 20px; margin-top: 26px; border-left: 2px solid var(--at-theme-primary); background: var(--at-neutral-50); }
.e360-programs-page .e360-program-card__edition span,
.institutional-home .sec-5-home-11__active-edition span { color: var(--at-theme-primary); font-size: 10px; font-weight: 700; letter-spacing: 0.09em; text-transform: uppercase; }
.e360-programs-page .e360-program-card__edition strong,
.institutional-home .sec-5-home-11__active-edition strong { color: var(--at-neutral-950); font-size: 17px; line-height: 1.25; }
.e360-programs-page .e360-program-card__edition small,
.institutional-home .sec-5-home-11__active-edition small { color: var(--at-neutral-500); font-size: 12px; }
.e360-programs-page .e360-program-card__edition a,
.institutional-home .sec-5-home-11__active-edition a { width: fit-content; color: var(--at-neutral-950); font-size: 12px; font-weight: 700; text-decoration: underline; text-underline-offset: 4px; }
.institutional-home .sec-5-home-11__active-edition { display: grid; gap: 6px; padding: 16px 0 0 18px; margin-top: 20px; border-left: 2px solid var(--at-theme-primary); }
@media (max-width: 767px) {
  .contest-edition__news a { grid-template-columns: 1fr; gap: 5px; }
  .e360-programs-page .e360-program-card__edition { padding: 18px; }
}

/* Éloquence au Féminin : adaptation institutionnelle des composants de référence index-7. */
.e360-women {
  --at-theme-primary: #1a58e2;
  --at-theme-primary-rgb: 26, 88, 226;
  color: var(--at-neutral-900);
}
:is(.e360-women-hero, .e360-programs-hero, .e360-program-hero) { min-height: 760px; background: var(--at-neutral-950); }
:is(.e360-women-hero, .e360-programs-hero, .e360-program-hero) .sec-1-home-7__bg { position: absolute; inset: 0; z-index: -2; }
:is(.e360-women-hero, .e360-programs-hero, .e360-program-hero) .sec-1-home-7__bg-left { width: 50%; background: #dce7ff; }
:is(.e360-women-hero, .e360-programs-hero, .e360-program-hero) .sec-1-home-7__bg-right { width: 50%; background: var(--at-neutral-950); }
:is(.e360-women-hero, .e360-programs-hero, .e360-program-hero) .sec-1-home-7__img-wrap {
  position: absolute;
  inset: 0 auto 0 0;
  z-index: -1;
  width: 50%;
  height: 760px;
  overflow: hidden;
}
:is(.e360-women-hero, .e360-programs-hero, .e360-program-hero) .sec-1-home-7__img-wrap::after { position: absolute; inset: 0; background: linear-gradient(180deg, transparent 65%, rgba(5, 8, 17, 0.48)); content: ""; pointer-events: none; }
:is(.e360-women-hero, .e360-programs-hero, .e360-program-hero) .sec-1-home-7__img { width: 100%; height: 100%; object-fit: cover; object-position: center 26%; }
:is(.e360-women-hero, .e360-programs-hero, .e360-program-hero) .sec-1-home-7__left,
:is(.e360-women-hero, .e360-programs-hero, .e360-program-hero) .sec-1-home-7__right { min-height: 760px; }
:is(.e360-women-hero, .e360-programs-hero, .e360-program-hero) .sec-1-home-7__left { position: relative; }
:is(.e360-women-hero, .e360-programs-hero, .e360-program-hero) .sec-1-home-7__tags { position: absolute; right: 32px; bottom: 34px; left: 32px; }
:is(.e360-women-hero, .e360-programs-hero, .e360-program-hero) .sec-1-home-7__tag { display: inline-flex; min-height: 38px; padding: 8px 14px; align-items: center; background: rgba(7, 12, 26, 0.8); border: 1px solid rgba(255, 255, 255, 0.42); color: #fff; font-size: 11px; font-weight: 700; letter-spacing: 0.08em; text-transform: uppercase; }
:is(.e360-women-hero, .e360-programs-hero, .e360-program-hero) .sec-1-home-7__content { display: flex; min-height: 760px; padding: 104px 7vw; flex-direction: column; justify-content: center; }
.e360-women-hero__eyebrow { margin: 0 0 24px; color: var(--at-neutral-300); font-size: 12px; font-weight: 700; letter-spacing: 0.12em; text-transform: uppercase; }
:is(.e360-women-hero, .e360-programs-hero, .e360-program-hero) .sec-1-home-7__headline { max-width: 820px; margin: 0; font-size: clamp(62px, 6.4vw, 104px); letter-spacing: -0.06em; line-height: 0.91; text-transform: none; overflow-wrap: anywhere; }
:is(.e360-women-hero, .e360-programs-hero, .e360-program-hero) .sec-1-home-7__desc { max-width: 660px; color: var(--at-neutral-200); font-size: 18px; line-height: 1.65; }
:is(.e360-women-hero, .e360-programs-hero, .e360-program-hero) .sec-1-home-7__cta { margin-bottom: 0; }
:is(.e360-women-hero, .e360-programs-hero, .e360-program-hero) .sec-1-home-7__cta-btn { display: inline-flex; min-height: 54px; padding: 0 26px; align-items: center; background: var(--at-theme-primary); border: 1px solid var(--at-theme-primary); color: #fff; font-size: 14px; font-weight: 700; text-decoration: none; }
:is(.e360-women-hero, .e360-programs-hero, .e360-program-hero) .sec-1-home-7__cta-arrow { display: inline-flex; width: 54px; height: 54px; align-items: center; justify-content: center; background: #fff; color: var(--at-neutral-950); }
/* Variante partagée : action secondaire lisible et légende photographique facultative. */
.e360-program-hero .sec-1-home-7__cta-link { display: inline-flex; min-height: 54px; padding: 0 20px; align-items: center; background: #fff; color: var(--at-neutral-950); font-size: 14px; font-weight: 700; text-decoration: none; }
.e360-program-hero__caption { position: absolute; right: 20px; bottom: 20px; z-index: 1; max-width: calc(100% - 40px); padding: 10px 14px; background: rgba(13, 18, 30, 0.86); color: #fff; font-size: 12px; letter-spacing: 0.04em; }
.e360-program-hero :is(a, button):focus-visible { outline: 3px solid rgba(26, 88, 226, 0.42); outline-offset: 3px; }
.e360-women-title { max-width: 850px; margin: 0; color: var(--at-neutral-950); font-size: clamp(42px, 4.2vw, 68px); font-weight: 700; letter-spacing: -0.05em; line-height: 1.02; }
.e360-women-purpose { padding: 112px 0; background: var(--at-neutral-0); }
.e360-women-emergence { background: var(--at-neutral-950); color: var(--at-neutral-0); }
.e360-women-emergence .sec-2-home-7__eyebrow { color: var(--at-theme-primary); }
.e360-women-emergence .sec-2-home-7__headline,
.e360-women-emergence .sec-2-home-7__desc { color: var(--at-neutral-0); }
.e360-women-emergence__dimensions { display: grid; padding: 0 0 92px; grid-template-columns: repeat(3, minmax(0, 1fr)); border-top: 1px solid rgba(255, 255, 255, 0.22); }
.e360-women-emergence__dimensions article { min-width: 0; padding: 34px 34px 0 0; }
.e360-women-emergence__dimensions article + article { padding-left: 34px; border-left: 1px solid rgba(255, 255, 255, 0.22); }
.e360-women-emergence__dimensions h3 { margin: 0 0 16px; color: var(--at-neutral-0); font-size: 27px; letter-spacing: -0.035em; line-height: 1.12; }
.e360-women-emergence__dimensions p { max-width: 390px; margin: 0; color: var(--at-neutral-300); font-size: 15px; line-height: 1.7; }
.e360-women-purpose__grid { display: grid; grid-template-columns: minmax(0, 0.9fr) minmax(360px, 1fr); gap: 50px 100px; align-items: start; }
.e360-women-purpose .sec-4-home-7__frame { width: 100%; aspect-ratio: 4 / 5; background: var(--at-neutral-100); }
.e360-women-purpose .sec-4-home-7__img { width: 100%; height: 100%; object-fit: cover; object-position: center; }
.e360-women-purpose .sec-4-home-7__title { max-width: 850px; }
.e360-women-purpose__story { color: var(--at-neutral-650); font-size: 17px; line-height: 1.76; }
.e360-women-purpose .sec-4-home-7__title + .e360-women-purpose__story { margin-top: 32px; }
.e360-women-purpose__story > p { margin: 0 0 24px; }
.e360-women-purpose__story dl { display: grid; margin: 38px 0 0; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1px; background: var(--at-neutral-200); border: 1px solid var(--at-neutral-200); }
.e360-women-purpose__story dl > div { padding: 26px; background: var(--at-neutral-50); }
.e360-women-purpose__story dt { margin-bottom: 10px; color: var(--at-theme-primary); font-size: 11px; font-weight: 700; letter-spacing: 0.08em; text-transform: uppercase; }
.e360-women-purpose__story dd { margin: 0; color: var(--at-neutral-700); font-size: 14px; line-height: 1.65; }
.e360-women-section-head { display: grid; margin-bottom: 62px; grid-template-columns: minmax(0, 1.2fr) minmax(300px, 0.65fr); gap: 44px 90px; align-items: end; }
.e360-women-section-head > p { max-width: 560px; margin: 0; color: var(--at-neutral-600); font-size: 17px; line-height: 1.72; }
.e360-women-experience { padding: 112px 0 120px; background: var(--at-neutral-50); border-block: 1px solid var(--at-neutral-200); scroll-margin-top: 96px; }
.e360-women-experience__chips { margin-bottom: 68px; flex-direction: column; gap: 8px; }
.e360-women-experience__chips .sec-6-home-7__chip { display: inline-flex; min-height: 52px; padding: 0 24px; align-items: center; background: var(--at-neutral-950); color: #fff; }
.e360-women-experience__chips .sec-6-home-7__chip--1 { width: 25%; }
.e360-women-experience__chips .sec-6-home-7__chip--2 { width: 42%; margin-left: 18%; }
.e360-women-experience__chips .sec-6-home-7__chip--3 { width: 50%; margin-left: 36%; }
.e360-women-experience__chips .sec-6-home-7__chip--4 { width: 34%; margin-left: 66%; background: var(--at-theme-primary); }
.e360-women-experience__chips .sec-6-home-7__chip-text { font-size: 13px; font-weight: 700; letter-spacing: 0.045em; text-transform: uppercase; white-space: nowrap; }
.e360-women-experience__cards { display: grid; padding-bottom: 0; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 1px; background: var(--at-neutral-200); border: 1px solid var(--at-neutral-200); }
.e360-women-experience__cards .sec-6-home-7__card-wrap { min-width: 0; }
.e360-women-experience__cards .sec-6-home-7__card { min-height: 326px; padding: 36px 30px; background: #fff; border: 0; }
.e360-women-experience__cards .sec-6-home-7__card-body { display: flex; height: 100%; flex-direction: column; }
.e360-women-experience__cards .sec-6-home-7__card-num { margin-bottom: auto; color: var(--at-theme-primary); font-size: 17px; font-weight: 700; }
.e360-women-experience__cards .sec-6-home-7__card-title { margin: 48px 0 18px; color: var(--at-neutral-950); font-size: 27px; letter-spacing: -0.035em; line-height: 1.08; }
.e360-women-experience__cards .sec-6-home-7__card-desc { color: var(--at-neutral-600); font-size: 15px; line-height: 1.66; }
.e360-women-practice { padding: 112px 0; background: #fff; }
.e360-women-practice__grid { display: grid; grid-template-columns: minmax(0, 0.86fr) minmax(260px, 0.55fr) minmax(320px, 0.82fr); gap: 48px; align-items: start; }
.e360-women-practice__intro > p:last-of-type { margin: 28px 0 0; color: var(--at-neutral-600); font-size: 16px; line-height: 1.72; }
:is(.e360-women-link, .e360-editorial-cta__link) { display: inline-block; color: var(--at-neutral-950); font-size: 14px; font-weight: 700; text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 5px; }
:is(.e360-women-link, .e360-editorial-cta__link):hover { color: var(--at-theme-primary); text-decoration-color: currentColor; }
.e360-women-practice__intro .e360-women-link { margin-top: 22px; }
.e360-women-practice__media { height: 520px; overflow: hidden; }
.e360-women-practice__media img { width: 100%; height: 100%; object-fit: cover; object-position: center; }
.e360-women-accordion .accordion-item { border-color: var(--at-neutral-200); }
.e360-women-accordion .accordion-button { padding: 21px 0; background: transparent; color: var(--at-neutral-900); box-shadow: none; }
.e360-women-accordion .accordion-button::after { display: none; }
.e360-women-accordion .sec-5-home-7__acc-title { padding-right: 18px; font-size: 17px; font-weight: 700; }
.e360-women-accordion .sec-5-home-7__acc-toggle { margin-left: auto; color: var(--at-theme-primary); }
.e360-women-accordion .accordion-button[aria-expanded="true"] .sec-5-home-7__acc-plus { transform: rotate(45deg); }
.e360-women-accordion .accordion-body { padding: 0 0 24px; }
.e360-women-accordion .sec-5-home-7__acc-text { color: var(--at-neutral-600); font-size: 14px; line-height: 1.65; }
.e360-women-accordion .sec-5-home-7__tag { padding: 7px 10px; background: var(--at-neutral-50); border: 1px solid var(--at-neutral-200); border-radius: 999px; font-size: 11px; }
.e360-women-gallery { padding: 92px 0 104px; background: var(--at-neutral-950); }
.e360-women-gallery .svc5-kicker__num,
.e360-women-gallery .svc5-kicker__text,
.e360-women-gallery .e360-women-section-head > p { color: var(--at-neutral-300); }
.e360-women-gallery .e360-women-title { color: #fff; }
.e360-women-gallery__slider { padding: 0 max(20px, calc((100vw - 1320px) / 2)); }
.e360-women-gallery__figure { position: relative; aspect-ratio: 4 / 3; overflow: hidden; background: var(--at-neutral-900); }
.e360-women-gallery__figure img { width: 100%; height: 100%; object-fit: cover; object-position: center; }
.e360-women-gallery__figure figcaption { position: absolute; right: 0; bottom: 0; left: 0; padding: 48px 22px 20px; background: linear-gradient(transparent, rgba(5, 8, 17, 0.9)); color: #fff; font-size: 14px; }
.e360-women-gallery .gallery-controls { max-width: 1320px; margin: 24px auto 0; padding: 0; }
.e360-women-editions { padding: 112px 0; background: var(--at-neutral-50); }
.e360-women-editions__grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 28px; }
.e360-women-edition { display: grid; min-width: 0; grid-template-columns: minmax(180px, 0.7fr) minmax(0, 1fr); background: #fff; border: 1px solid var(--at-neutral-200); }
.e360-women-edition--current { border-color: var(--at-theme-primary); }
.e360-women-edition > img { width: 100%; height: 100%; min-height: 280px; object-fit: cover; }
.e360-women-edition > div { padding: 30px; }
.e360-women-edition__meta { display: flex; margin-bottom: 18px; flex-wrap: wrap; justify-content: space-between; gap: 10px; color: var(--at-neutral-500); font-size: 12px; }
.e360-women-edition__meta span { color: var(--at-theme-primary); font-weight: 700; letter-spacing: 0.05em; text-transform: uppercase; }
.e360-women-edition h3 { margin: 0 0 14px; color: var(--at-neutral-950); font-size: 28px; letter-spacing: -0.035em; line-height: 1.12; }
.e360-women-edition h3 a { color: inherit; text-decoration: none; }
.e360-women-edition p { color: var(--at-neutral-600); font-size: 14px; line-height: 1.65; }
.e360-women-editions__empty { max-width: 780px; padding: 34px; background: #fff; border: 1px solid var(--at-neutral-200); }
.e360-women-editions__empty p { margin: 0 0 18px; color: var(--at-neutral-600); }
.e360-women-partners,
.e360-women-related { padding: 104px 0; background: #fff; }
.e360-women-partners .e360-women-title,
.e360-women-related .e360-women-title { margin-bottom: 46px; }
.e360-women-related { background: var(--at-neutral-50); }
.e360-women-related__grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1px; background: var(--at-neutral-200); border: 1px solid var(--at-neutral-200); }
.e360-women-related__grid article { min-width: 0; background: #fff; }
.e360-women-related__grid article > img { width: 100%; aspect-ratio: 16 / 10; object-fit: cover; }
.e360-women-related__grid article > div { padding: 28px; }
.e360-women-related__grid h3 { margin: 0 0 14px; font-size: 25px; letter-spacing: -0.035em; line-height: 1.15; }
.e360-women-related__grid h3 a { color: var(--at-neutral-950); text-decoration: none; }
.e360-women-related__grid p { color: var(--at-neutral-600); font-size: 14px; line-height: 1.65; }
.e360-women-axes { padding: 104px 0; background: #fff; border-top: 1px solid var(--at-neutral-200); }
.e360-women-axes > .container { display: grid; grid-template-columns: minmax(0, 1fr) minmax(320px, 0.75fr); gap: 48px 100px; align-items: start; }
.e360-women-axes nav { border-top: 1px solid var(--at-neutral-300); }
.e360-women-axes nav a { display: flex; min-height: 76px; padding: 18px 0; align-items: center; justify-content: space-between; gap: 20px; border-bottom: 1px solid var(--at-neutral-300); color: var(--at-neutral-950); font-size: 18px; font-weight: 700; text-decoration: none; }
.e360-women-axes nav a:hover { color: var(--at-theme-primary); }
/* CTA partagé : le texte détermine la hauteur en colonnes, le ratio ne sert qu'à l'empilement. */
.sec-7-home-7__media-column { display: flex; }
.sec-7-home-7__media { position: relative; width: 100%; margin: 0; aspect-ratio: 16 / 10; overflow: hidden; background: var(--at-neutral-900); }
/* L'orientation provient des dimensions du média, comme sur les fiches Programme. */
.sec-7-home-7__media[data-media-orientation="portrait"] { aspect-ratio: 4 / 5; }
.sec-7-home-7__media > .fix,
.sec-7-home-7__media picture { position: absolute; inset: 0; display: block; width: 100%; height: 100%; }
.sec-7-home-7__media img { position: absolute; inset: 0; display: block; width: 100%; height: 100%; object-fit: cover; object-position: center; }
/* Les quatre occurrences placent le libellé sur une surface neutral-950, même dans une section extérieure claire. */
.sec-7-home-7__eyebrow { color: var(--at-neutral-300); }
/* Cercle fléché ORISA : conserver sa géométrie et le contraste de son SVG blanc. */
.sec-7-home-7__cta-circle { width: 50px; min-width: 50px; height: 50px; background: var(--at-theme-primary, #f0460e); border-radius: 50%; display: inline-flex; align-items: center; justify-content: center; transition: transform 0.35s ease, background 0.35s ease; }
.sec-7-home-7__cta-circle:hover { transform: translateY(-2px); }
.sec-7-home-7__cta-circle img { display: block; }
@media (prefers-reduced-motion: reduce) {
  .sec-7-home-7__cta-circle { transition: none; }
  .sec-7-home-7__cta-circle:hover { transform: none; }
}
@media (min-width: 992px) {
  .sec-7-home-7:not(.sec-7-home-7--split-xl) .sec-7-home-7__media { aspect-ratio: auto; }
}
@media (min-width: 1200px) {
  .sec-7-home-7--split-xl .sec-7-home-7__media { aspect-ratio: auto; }
}
:is(.e360-editorial-cta, .e360-women-cta) { padding: 0 0 112px; background: #fff; }
:is(.e360-editorial-cta__wrap, .e360-women-cta__wrap) { display: grid; grid-template-columns: minmax(360px, 0.78fr) minmax(0, 1fr); background: var(--at-neutral-950); overflow: hidden; }
:is(.e360-editorial-cta__wrap, .e360-women-cta__wrap) > [class*="col-"] { width: 100%; }
.e360-editorial-cta__wrap--text { grid-template-columns: 1fr; }
:is(.e360-editorial-cta__copy, .e360-women-cta__copy) { display: flex; padding: 68px; flex-direction: column; justify-content: center; }
:is(.e360-editorial-cta, .e360-women-cta) .svc5-kicker__num,
:is(.e360-editorial-cta, .e360-women-cta) .svc5-kicker__text { color: var(--at-neutral-300); }
:is(.e360-editorial-cta, .e360-women-cta) .sec-7-home-7__headline { max-width: 720px; margin: 0 0 24px; color: #fff; font-size: clamp(40px, 4.2vw, 68px); letter-spacing: -0.05em; line-height: 1; }
:is(.e360-editorial-cta__copy, .e360-women-cta__copy) > p { max-width: 640px; color: var(--at-neutral-300); font-size: 16px; line-height: 1.7; }
:is(.e360-editorial-cta__actions, .e360-women-cta__actions) { display: flex; margin-top: 24px; flex-wrap: wrap; gap: 18px 26px; align-items: center; }
:is(.e360-editorial-cta, .e360-women-cta) .sec-7-home-7__cta-btn { display: inline-flex; min-height: 54px; padding: 0 28px; align-items: center; background: var(--at-theme-primary); color: #fff; font-size: 14px; font-weight: 700; text-decoration: none; }
:is(.e360-editorial-cta, .e360-women-cta) :is(.e360-editorial-cta__link, .e360-women-link) { color: #fff; }
.e360-women a:focus-visible,
.e360-women button:focus-visible { outline: 3px solid rgba(26, 88, 226, 0.42); outline-offset: 3px; }
@media only screen and (max-width: 1199px) {
  :is(.e360-women-hero, .e360-programs-hero, .e360-program-hero) .sec-1-home-7__content { padding-inline: 56px; }
  .e360-women-experience__cards { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .e360-women-practice__grid { grid-template-columns: minmax(0, 0.9fr) minmax(280px, 0.7fr); }
  .e360-women-accordion { grid-column: 1 / -1; }
  .e360-women-editions__grid { grid-template-columns: 1fr; }
}
@media only screen and (max-width: 991px) {
  :is(.e360-women-hero, .e360-programs-hero, .e360-program-hero) { min-height: 0; background: var(--at-neutral-950); }
  :is(.e360-women-hero, .e360-programs-hero, .e360-program-hero) > .row { --bs-gutter-x: 0; margin-inline: 0; }
  :is(.e360-women-hero, .e360-programs-hero, .e360-program-hero) > .row > [class*="col-"] { padding-inline: 0; }
  :is(.e360-women-hero, .e360-programs-hero, .e360-program-hero) .sec-1-home-7__bg { display: none; }
  :is(.e360-women-hero, .e360-programs-hero, .e360-program-hero) .sec-1-home-7__img-wrap { position: relative; z-index: 0; width: 100%; height: 620px; }
  :is(.e360-women-hero, .e360-programs-hero, .e360-program-hero) .sec-1-home-7__left { display: none; min-height: 0; }
  :is(.e360-women-hero, .e360-programs-hero, .e360-program-hero) .sec-1-home-7__right { position: relative; z-index: 1; min-height: 0; background: var(--at-neutral-950); }
  :is(.e360-women-hero, .e360-programs-hero, .e360-program-hero) .sec-1-home-7__content { min-height: 0; padding: 68px 48px 76px; background: var(--at-neutral-950); }
  .e360-women-purpose__grid,
  .e360-women-section-head,
  .e360-women-axes > .container { grid-template-columns: 1fr; gap: 34px; }
  .e360-women-emergence__dimensions { grid-template-columns: 1fr; padding-bottom: 72px; }
  .e360-women-emergence__dimensions article,
  .e360-women-emergence__dimensions article + article { padding: 28px 0; border-left: 0; border-bottom: 1px solid rgba(255, 255, 255, 0.22); }
  .e360-women-emergence__dimensions article:last-child { border-bottom: 0; }
  .e360-women-practice__grid { grid-template-columns: 1fr 1fr; }
  .e360-women-practice__media { height: 430px; }
  .e360-women-related__grid { grid-template-columns: 1fr 1fr; }
  :is(.e360-editorial-cta__wrap, .e360-women-cta__wrap) { grid-template-columns: 1fr; }
  :is(.e360-editorial-cta__copy, .e360-women-cta__copy) { padding: 58px 48px; }
}
@media only screen and (max-width: 767px) {
  .e360-women-purpose > .container > .row { margin-inline: 0; }
  .e360-women-purpose > .container > .row > [class*="col-"] { padding-inline: 0; }
  :is(.e360-women-hero, .e360-programs-hero, .e360-program-hero) .sec-1-home-7__img-wrap { height: auto; aspect-ratio: 4 / 5; }
  :is(.e360-women-hero, .e360-programs-hero, .e360-program-hero) .sec-1-home-7__content { padding: 50px 20px 62px; }
  :is(.e360-women-hero, .e360-programs-hero, .e360-program-hero) .sec-1-home-7__headline { font-size: clamp(46px, 14vw, 62px); line-height: 0.96; }
  :is(.e360-women-hero, .e360-programs-hero, .e360-program-hero) .sec-1-home-7__desc { font-size: 16px; }
  :is(.e360-women-hero, .e360-programs-hero, .e360-program-hero) .sec-1-home-7__cta-btn { width: calc(100% - 62px); justify-content: center; }
  .e360-program-hero--text-action :is(.sec-1-home-7__cta-btn, .sec-1-home-7__cta-link) { width: 100%; justify-content: center; }
  .e360-women-title { font-size: clamp(36px, 10.5vw, 48px); }
  .e360-women-purpose,
  .e360-women-experience,
  .e360-women-practice,
  .e360-women-editions,
  .e360-women-partners,
  .e360-women-related,
  .e360-women-axes { padding: 76px 0; }
  .e360-women-emergence .sec-2-home-7__intro { padding-top: 64px; padding-bottom: 56px; }
  .e360-women-emergence__dimensions { padding-bottom: 48px; }
  .e360-women-gallery { padding: 74px 0 82px; }
  .e360-women-section-head { margin-bottom: 40px; gap: 26px; }
  .e360-women-purpose__story dl,
  .e360-women-experience__cards,
  .e360-women-practice__grid,
  .e360-women-related__grid { grid-template-columns: 1fr; }
  .e360-women-experience__cards .sec-6-home-7__card { min-height: 250px; padding: 30px 24px; }
  .e360-women-practice__media { height: auto; aspect-ratio: 4 / 3; }
  .e360-women-gallery__slider { padding: 0 20px; }
  .e360-women-gallery .gallery-controls { padding: 0 20px; }
  .e360-women-edition { grid-template-columns: 1fr; }
  .e360-women-edition > img { min-height: 0; aspect-ratio: 16 / 10; }
  .e360-women-edition > div { padding: 24px 20px; }
  :is(.e360-editorial-cta, .e360-women-cta) { padding-bottom: 76px; }
  :is(.e360-editorial-cta__copy, .e360-women-cta__copy) { padding: 46px 24px; }
  :is(.e360-editorial-cta, .e360-women-cta) .sec-7-home-7__headline { font-size: clamp(36px, 10.5vw, 48px); }
  :is(.e360-editorial-cta, .e360-women-cta) .sec-7-home-7__cta-btn { width: 100%; justify-content: center; }
}
@media (prefers-reduced-motion: reduce) {
  .e360-women .at_fade_anim,
  .e360-women .anim-zoomin,
  .e360-women .at-item-anime { transform: none; opacity: 1; }
}

/* Formations : adaptation de la composition source index-7 au système partagé. */
.e360-formations { overflow: clip; }
.e360-training-hero,
.e360-training-hero .sec-1-home-7__left,
.e360-training-hero .sec-1-home-7__right,
.e360-training-hero .sec-1-home-7__content {
  min-height: max(760px, calc(100svh - 118px));
}
.e360-training-hero .sec-1-home-7__img-wrap {
  height: max(760px, calc(100svh - 118px));
}
.e360-training-hero .sec-1-home-7__img { object-position: center 34%; }
.e360-training-hero .sec-1-home-7__headline {
  max-width: 680px;
  font-size: clamp(62px, 5.7vw, 82px);
  line-height: 0.94;
  letter-spacing: -0.055em;
}
.e360-formations-purpose .sec-4-home-7__img { object-position: center 42%; }
.e360-formations-method .e360-women-practice__media img { object-position: center 38%; }
.e360-formations-request-process .e360-women-experience__cards .sec-6-home-7__card { min-height: 300px; }
.e360-formations-gallery .e360-women-gallery__figure img { object-position: center 36%; }
.e360-formations .e360-training-card:nth-child(3n) .e360-training-card__media img { object-position: center 34%; }
.e360-formations .e360-request-step { padding-bottom: 30px; margin-bottom: 30px; }
.e360-formations .e360-form-grid > div > span {
  display: block;
  margin-top: 7px;
  color: var(--learning-muted);
  font-size: 12px;
  line-height: 1.45;
}
.e360-formations .e360-form-grid .select2-container { width: 100% !important; }
.e360-formations .e360-form-grid .select2-container .select2-selection--multiple { min-height: 52px; }
.e360-formations .e360-form-grid .select2-selection__choice { margin-top: 3px; }
.e360-training-honeypot {
  position: absolute;
  left: -10000px;
  width: 1px;
  height: 1px;
  overflow: hidden;
  opacity: 0;
  pointer-events: none;
}
.e360-training-honeypot input {
  width: 1px;
  height: 1px;
  padding: 0;
  border: 0;
}
@media only screen and (max-width: 991px) {
  .e360-training-hero,
  .e360-training-hero .sec-1-home-7__left,
  .e360-training-hero .sec-1-home-7__right,
  .e360-training-hero .sec-1-home-7__content {
    min-height: 0;
  }
  .e360-training-hero .sec-1-home-7__img-wrap {
    min-height: 0;
    height: 560px;
  }
}
@media only screen and (max-width: 767px) {
  .e360-training-hero .sec-1-home-7__img-wrap {
    width: 100%;
    height: auto;
    aspect-ratio: 4 / 5;
  }
  .e360-training-hero .sec-1-home-7__headline {
    max-width: 100%;
    font-size: clamp(42px, 12.5vw, 54px);
    line-height: 0.98;
  }
  .e360-formations-request-process .e360-women-experience__cards .sec-6-home-7__card { min-height: 230px; }
}
@media only screen and (max-width: 389px) {
  .e360-training-hero .sec-1-home-7__headline { font-size: 42px; }
  .e360-formations .e360-training-request__form { padding-inline: 18px; }
}

/* Introduction éditoriale index-7 : typographie et rythme partagés, sans la grille de chiffres. */
.sec-2-home-7__eyebrow { color: var(--at-neutral-900); font-size: 16px; font-weight: 600; letter-spacing: -0.05em; }
.sec-2-home-7__headline { font-family: var(--at-ff-heading); color: var(--at-neutral-950); font-size: clamp(36px, 5vw, 72px); font-weight: 600; line-height: 1.05; letter-spacing: -0.05em; }
/* Le texte accentué suit le titre parent, sur fond clair comme sur fond sombre. */
.sec-2-home-7__headline-strong { color: inherit; }
.sec-2-home-7__desc { color: var(--at-neutral-900); font-size: 22px; font-weight: 500; line-height: 1.4; letter-spacing: -0.025em; }
@media (max-width: 1199px) {
  .sec-2-home-7__desc { font-size: 18px; }
}

/* ==========================================================================
   Masterclasses - adaptation institutionnelle du contrat home-7
   ========================================================================== */
.e360-masterclasses {
  --masterclass-ink: var(--at-neutral-950);
  --masterclass-muted: var(--at-neutral-600);
  --masterclass-line: var(--at-neutral-200);
  --masterclass-paper: var(--at-neutral-50);
  overflow: clip;
  color: var(--masterclass-ink);
}
.e360-masterclasses-hero .sec-1-home-7__star { position: absolute; top: 50px; left: calc(50% - 49px); z-index: 2; width: 98px; height: 98px; align-items: center; justify-content: center; pointer-events: none; }
.e360-masterclasses-hero .sec-1-home-7__star img { width: 100%; height: 100%; }
.e360-masterclasses-hero .sec-1-home-7__coords { position: absolute; top: 46px; left: 32px; z-index: 2; color: var(--at-neutral-950); font-size: 11px; letter-spacing: 0.11em; }
.e360-masterclasses-hero .sec-1-home-7__tag { gap: 10px; transition: background-color 180ms ease, border-color 180ms ease; }
.e360-masterclasses-hero .sec-1-home-7__tag:hover,
.e360-masterclasses-hero .sec-1-home-7__tag:focus-visible { background: var(--at-theme-primary); border-color: var(--at-theme-primary); }
.e360-masterclasses-hero .sec-1-home-7__tag svg { flex: 0 0 auto; transform: rotate(45deg); }
.e360-masterclasses-hero .sec-1-home-7__brackets { color: var(--at-neutral-300); font-size: 11px; font-weight: 700; letter-spacing: 0.1em; }
.e360-masterclasses-hero .sec-1-home-7__content { padding-inline: 54px; }
.e360-masterclasses-hero .sec-1-home-7__headline { max-width: 710px; font-size: clamp(62px, 5.7vw, 84px); overflow-wrap: normal; word-break: normal; hyphens: none; }
.e360-masterclasses-hero .sec-1-home-7__headline-wrap { display: flex; align-items: center; gap: 12px; }
.e360-masterclasses-hero .sec-1-home-7__headline-arrow-cover { position: static; flex: 0 0 auto; color: var(--at-theme-primary); }
.e360-masterclasses-hero .sec-1-home-7__desc { max-width: 600px; }
.e360-masterclasses-hero .sec-1-home-7__proof { min-height: 54px; }
.e360-masterclasses-hero .sec-1-home-7__avatars { display: flex; padding-left: 12px; }
.e360-masterclasses-hero .sec-1-home-7__avatar { width: 46px; height: 46px; margin-left: -12px; overflow: hidden; border: 2px solid var(--at-neutral-950); border-radius: 50%; background: var(--at-neutral-700); }
.e360-masterclasses-hero .sec-1-home-7__avatar img { width: 100%; height: 100%; object-fit: cover; }
.e360-masterclasses-hero .sec-1-home-7__proof-text { max-width: 330px; font-size: 12px; line-height: 1.5; }
.e360-masterclasses-purpose { scroll-margin-top: 96px; }
.e360-masterclasses-purpose .sec-4-home-7__img { object-position: center 28%; }
.e360-masterclasses-focus { scroll-margin-top: 96px; }
.e360-masterclasses-focus #e360-class,
.e360-masterclasses-focus #e360-kelasi { scroll-margin-top: 240px; }
.e360-masterclasses-focus__media { position: relative; background: var(--masterclass-paper); }
.e360-masterclasses-focus__media figure { position: absolute; inset: 0; margin: 0; opacity: 0; overflow: hidden; transform: scale(1.025); transition: opacity 280ms ease, transform 420ms ease; }
.e360-masterclasses-focus__media figure.is-active { opacity: 1; transform: scale(1); }
.e360-masterclasses-focus__media img { width: 100%; height: 100%; object-fit: cover; object-position: center; }
.e360-masterclasses-focus .sec-5-home-7__acc-title { display: grid; gap: 7px; }
.e360-masterclasses-focus .sec-5-home-7__acc-title small { color: var(--masterclass-muted); font-size: 12px; font-weight: 500; line-height: 1.45; }
.e360-masterclasses-focus .accordion-button[aria-expanded="true"] .sec-5-home-7__acc-title small { color: var(--at-neutral-700); }
.e360-masterclasses-focus .sec-5-home-7__acc-text + .sec-5-home-7__acc-text { margin-top: 10px; }
.e360-masterclasses-experience__cards .sec-6-home-7__card { display: flex; min-height: 520px; padding: 0; flex-direction: column; }
.e360-masterclasses-experience__cards .sec-6-home-7__card-body { min-height: 300px; padding: 34px 30px 30px; }
.e360-masterclasses-experience__cards .sec-6-home-7__card-media { height: 220px; overflow: hidden; background: var(--at-neutral-200); }
.e360-masterclasses-experience__cards .sec-6-home-7__card-media img { width: 100%; height: 100%; object-fit: cover; object-position: center; transition: transform 420ms ease; }
.e360-masterclasses-experience__cards .sec-6-home-7__card:hover .sec-6-home-7__card-media img { transform: scale(1.025); }
.e360-masterclasses .e360-masterclass-list { background: #fff; }
.e360-masterclasses .e360-masterclass-list--upcoming { border-top: 1px solid var(--masterclass-line); }
.e360-masterclasses .e360-masterclass-list--replay { background: var(--masterclass-paper); }
.e360-masterclasses .e360-masterclass-list--past { border-top: 1px solid var(--masterclass-line); }
.e360-masterclasses .e360-masterclass-card__series { margin: 0 0 12px; color: var(--at-theme-primary); font-size: 12px; font-weight: 700; letter-spacing: 0.08em; text-transform: uppercase; }
.e360-masterclasses .e360-masterclass-card__certification { margin: 20px 0 0; padding: 14px 16px; border-left: 2px solid var(--at-theme-primary); background: var(--masterclass-paper); color: var(--masterclass-ink); font-size: 13px; font-weight: 600; }
.e360-masterclasses .e360-learning-empty { max-width: 850px; }
.e360-masterclasses .e360-learning-empty--compact { padding-block: 12px; border: 0; }
.e360-masterclasses-gallery__figure strong,
.e360-masterclasses-gallery__figure span { display: block; }
.e360-masterclasses-gallery__figure strong { font-size: 14px; line-height: 1.35; }
.e360-masterclasses-gallery__figure span { margin-top: 5px; color: var(--at-neutral-300); font-size: 10px; font-weight: 700; letter-spacing: 0.08em; text-transform: uppercase; }
.e360-masterclasses-cta { position: relative; padding: 100px 0; background: var(--at-neutral-950); color: #fff; }
.e360-masterclasses-cta .sec-7-home-7__content { padding: 30px 0; }
.e360-masterclasses-cta .sec-7-home-7__eyebrow { font-size: 11px; font-weight: 700; letter-spacing: 0.1em; }
.e360-masterclasses-cta .sec-7-home-7__eyebrow-icon { width: 14px; height: 13px; }
.e360-masterclasses-cta .sec-7-home-7__headline { max-width: 730px; color: #fff; font-size: clamp(44px, 4.6vw, 68px); font-weight: 700; letter-spacing: -0.05em; line-height: 1; }
.e360-masterclasses-cta .sec-7-home-7__features { display: grid; max-width: 680px; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 28px; border-top: 1px solid var(--at-neutral-700); }
.e360-masterclasses-cta .sec-7-home-7__feature { display: flex; min-height: 56px; align-items: center; gap: 12px; border-bottom: 1px solid var(--at-neutral-700); color: var(--at-neutral-200); font-size: 13px; }
.e360-masterclasses-cta .sec-7-home-7__feature img { flex: 0 0 auto; }
.e360-masterclasses-cta .sec-7-home-7__cta-btn { display: inline-flex; min-height: 56px; padding: 0 28px; align-items: center; background: var(--at-theme-primary); color: #fff; font-size: 14px; font-weight: 700; text-decoration: none; }
.e360-masterclasses-cta .sec-7-home-7__cta-circle { width: 56px; min-width: 56px; height: 56px; }
.e360-masterclasses-cta .sec-7-home-7__cta-circle img { width: 24px; height: 24px; }
.e360-masterclasses-cta .sec-7-home-7__star { position: absolute; right: 34px; bottom: 26px; width: 88px; height: 88px; opacity: 0.6; }
.e360-masterclasses-cta .sec-7-home-7__star img { width: 100%; height: 100%; }
.e360-masterclasses a:focus-visible,
.e360-masterclasses button:focus-visible { outline: 3px solid rgba(26, 88, 226, 0.42); outline-offset: 3px; }
@media only screen and (min-width: 1200px) and (max-width: 1399px) {
  .e360-masterclasses-hero .sec-1-home-7__headline { font-size: 68px; }
}
@media only screen and (max-width: 1199px) {
  .e360-masterclasses-hero .sec-1-home-7__headline { font-size: clamp(56px, 5.4vw, 68px); }
  .e360-masterclasses-hero .sec-1-home-7__headline-arrow-cover { display: none; }
  .e360-masterclasses-focus__grid { grid-template-columns: minmax(0, 0.9fr) minmax(280px, 0.7fr); }
  .e360-masterclasses-focus__media { height: 470px; }
  .e360-masterclasses-focus .e360-women-accordion { grid-column: 1 / -1; }
}
@media only screen and (max-width: 991px) {
  .e360-masterclasses-hero .sec-1-home-7__content { padding-inline: 48px; }
  .e360-masterclasses-hero .sec-1-home-7__headline { max-width: 760px; font-size: clamp(56px, 9vw, 74px); }
  .e360-masterclasses-focus__grid { grid-template-columns: 1fr 1fr; }
  .e360-masterclasses-focus__media { height: 430px; }
  .e360-masterclasses-focus .e360-women-accordion { grid-column: 1 / -1; }
  .e360-masterclasses-cta { padding: 78px 0; }
  .e360-masterclasses-cta .sec-7-home-7__content { padding: 28px 0 0; }
  .e360-masterclasses-cta .sec-7-home-7__star { top: 34px; right: 26px; bottom: auto; }
}
@media only screen and (max-width: 767px) {
  .e360-masterclasses-hero .sec-1-home-7__content { padding-inline: 20px; }
  .e360-masterclasses-hero .sec-1-home-7__headline { font-size: clamp(44px, 13.2vw, 56px); line-height: 0.98; }
  .e360-masterclasses-hero .sec-1-home-7__headline-arrow-cover { display: none; }
  .e360-masterclasses-hero .sec-1-home-7__proof { align-items: flex-start; flex-direction: column; }
  .e360-masterclasses-hero .sec-1-home-7__proof-text { max-width: 280px; }
  .e360-masterclasses-focus__grid { grid-template-columns: 1fr; }
  .e360-masterclasses-focus #e360-class,
  .e360-masterclasses-focus #e360-kelasi { scroll-margin-top: 150px; }
  .e360-masterclasses-focus__media { height: auto; aspect-ratio: 4 / 3; }
  .e360-masterclasses-experience__cards .sec-6-home-7__card { min-height: 0; }
  .e360-masterclasses-experience__cards .sec-6-home-7__card-body { min-height: 245px; padding: 30px 24px 26px; }
  .e360-masterclasses-experience__cards .sec-6-home-7__card-media { height: auto; aspect-ratio: 16 / 10; }
  .e360-masterclasses-cta { padding: 70px 0; }
  .e360-masterclasses-cta .sec-7-home-7__headline { font-size: clamp(36px, 10.5vw, 48px); }
  .e360-masterclasses-cta .sec-7-home-7__features { grid-template-columns: 1fr; }
  .e360-masterclasses-cta .sec-7-home-7__cta { display: flex; width: 100%; }
  .e360-masterclasses-cta .sec-7-home-7__cta-btn { width: calc(100% - 56px); justify-content: center; }
  .e360-masterclasses-cta .sec-7-home-7__star { width: 64px; height: 64px; }
}
@media (prefers-reduced-motion: reduce) {
  .e360-masterclasses-focus__media figure,
  .e360-masterclasses-experience__cards .sec-6-home-7__card-media img { transition: none; }
  .e360-masterclasses-experience__cards .sec-6-home-7__card:hover .sec-6-home-7__card-media img { transform: none; }
}
.event-masterclass-overview dl { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; margin: 0 0 36px; }
.event-masterclass-overview dl > div { padding: 22px; border: 1px solid var(--at-neutral-200); background: var(--at-neutral-50); }
.event-masterclass-overview dt,
.event-masterclass-certification dt { margin-bottom: 8px; color: var(--at-neutral-500); font-size: 12px; font-weight: 700; letter-spacing: 0.06em; text-transform: uppercase; }
.event-masterclass-overview dd,
.event-masterclass-certification dd { margin: 0; color: var(--at-neutral-950); line-height: 1.65; }
.event-masterclass-certification { margin: 42px 0; padding: 34px; border: 1px solid var(--at-neutral-200); background: var(--at-neutral-50); }
.event-masterclass-certification__eyebrow { margin: 0 0 10px; color: var(--at-theme-primary); font-size: 12px; font-weight: 700; letter-spacing: 0.08em; text-transform: uppercase; }
.event-masterclass-certification dl { display: grid; margin: 26px 0; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px; }
.event-masterclass-certification__note { margin: 22px 0 0; color: var(--at-neutral-600); font-size: 13px; }
@media only screen and (max-width: 767px) {
  .event-masterclass-overview dl,
  .event-masterclass-certification dl { grid-template-columns: 1fr; }
  .event-masterclass-certification { padding: 26px 22px; }
}

/* Points focaux partagés : la photothèque reste intacte, seul le cadrage du composant change. */
img.e360-media-focus--center { object-position: center; }
img.e360-media-focus--center-center {
    object-position: center center;
}
img.e360-media-focus--center-top { object-position: center top; }
img.e360-media-focus--center-top { object-position: center top; }
img.e360-media-focus--center-bottom { object-position: center bottom; }
img.e360-media-focus--left { object-position: left center; }
img.e360-media-focus--right { object-position: right center; }
/* Point focal provenant de la médiathèque, commun à tous les cadres institutionnels. */
img[data-e360-focal-x][data-e360-focal-y] { object-position: var(--e360-media-focal-x, 50%) var(--e360-media-focal-y, 50%); }

/* Le plan d'écoute reste large : deux colonnes de récit, puis les questions en regard. */
.e360-talk .e360-women-practice__grid { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }
.e360-talk .e360-women-practice__media { grid-column: 1; grid-row: 2; height: auto; aspect-ratio: 3 / 2; }
.e360-talk .e360-women-accordion { grid-column: 2; grid-row: 1 / 3; }
.e360-talk .e360-women-gallery__figure { aspect-ratio: 3 / 2; }
@media (max-width: 767px) {
  .e360-talk .e360-women-practice__grid { grid-template-columns: minmax(0, 1fr); gap: 32px; }
  .e360-talk .e360-women-accordion { grid-column: 1; grid-row: 3; }
}
@media (prefers-reduced-motion: reduce) {
  .e360-masterclasses .at_fade_anim,
  .e360-masterclasses .anim-zoomin,
  .e360-masterclasses .text-scale-anim { transform: none; opacity: 1; }
  .e360-masterclasses-focus__media figure { transition: none; }
}

/* Talk For Inspiring : variantes éditoriales des composants Programmes et home-7. */
.e360-talk-journey__list li { grid-template-columns: 72px minmax(0, 1fr); align-items: start; }
.e360-talk-journey__list .e360-talk-journey__number { color: var(--at-theme-primary); font-size: 14px; font-weight: 700; }
.e360-talk-journey__copy { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.25fr); gap: 24px 56px; }
.e360-talk-journey__copy h3 { margin: 0; color: var(--at-neutral-950); font-size: 28px; letter-spacing: -0.03em; }
.e360-talk-journey__copy p { margin: 0; color: var(--at-neutral-650); font-size: 16px; line-height: 1.7; }
.e360-talk-after { background: var(--at-neutral-0); }
.e360-talk-after .sec-2-home-7__lead { color: var(--at-neutral-650); font-size: 20px; line-height: 1.75; }
@media (max-width: 991px) {
  .e360-talk-journey__copy { grid-template-columns: minmax(0, 1fr); gap: 12px; }
  .e360-talk-after .sec-2-home-7__lead { margin-top: 32px; }
}
@media (max-width: 767px) {
  .e360-talk-journey__list li { grid-template-columns: 32px minmax(0, 1fr); gap: 16px; }
  .e360-talk-journey__copy h3 { font-size: 24px; }
  .e360-talk-after .sec-2-home-7__lead { font-size: 18px; }
}

/* À propos : hero, récit en deux colonnes et compositions éditoriales partagées. */
.institutional-about .institutional-about__refactor {
  overflow: clip;
  color: var(--about-ink);
  background: var(--at-neutral-0);
}
.institutional-about .institutional-about__hero {
  padding: 112px 0 0;
  background: var(--at-neutral-0);
}
.institutional-about .institutional-about__hero-title {
  max-width: 12ch;
  color: var(--about-ink);
  font-size: clamp(64px, 6vw, 96px);
  font-weight: 600;
  line-height: 0.96;
  letter-spacing: -0.06em;
}
.institutional-about__hero-lead {
  max-width: 45ch;
  margin: 0 0 26px;
  color: var(--at-neutral-650);
  font-size: 16px;
  line-height: 1.72;
}
.institutional-about .institutional-about__hero-media {
  width: 100%;
  height: auto;
  aspect-ratio: 16 / 7;
  margin-bottom: 0;
  overflow: hidden;
  background: var(--at-neutral-100);
}
.institutional-about .institutional-about__hero-media img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center 44%;
}
.institutional-about__why { padding: 112px 0; }
.institutional-about__why .institutional-about__why-grid {
  grid-template-columns: minmax(0, 1.04fr) minmax(360px, 0.96fr);
  gap: 56px 96px;
  align-items: center;
}
.institutional-about__why .institutional-about__why-media {
  width: 100%;
  aspect-ratio: 4 / 3;
  margin: 0;
  overflow: hidden;
  background: var(--at-neutral-100);
}
.institutional-about__why .institutional-about__why-media img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center 40%;
}
.institutional-about__why .institutional-about__why-story { max-width: 620px; }
.institutional-about__why .sec-4-home-7__title {
  max-width: 10ch;
  margin: 0 0 28px;
  color: var(--at-neutral-950);
  font-size: clamp(44px, 4.7vw, 68px);
  font-weight: 600;
  line-height: 1;
  letter-spacing: -0.05em;
}
.institutional-about__why-lead {
  max-width: 55ch;
  margin: 0 0 30px;
  color: var(--at-neutral-650);
  font-size: 17px;
  line-height: 1.72;
}
.institutional-about__why-list {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  margin: 0 0 30px;
  padding: 0;
  border-top: 1px solid var(--at-neutral-200);
  list-style: none;
}
.institutional-about__why-list li {
  padding: 16px 16px 16px 0;
  border-bottom: 1px solid var(--at-neutral-200);
  color: var(--at-neutral-800);
  font-size: 14px;
  font-weight: 600;
  line-height: 1.45;
}
.institutional-about__why-list li:nth-child(odd) { border-right: 1px solid var(--at-neutral-200); }
.institutional-about__why-list li:nth-child(even) { padding-left: 20px; }
.institutional-about .about-4-craft__title { max-width: 13ch; }
.institutional-about__possibilities .about-4-beliefs__intro { max-width: 760px; }
.institutional-about__possibility-list .about-4-belief {
  grid-template-columns: 72px minmax(220px, 0.7fr) minmax(300px, 1fr);
  align-items: start;
  gap: 24px 40px;
}
.institutional-about__possibility-list .about-4-belief__body { display: contents; }
.institutional-about__possibility-list .about-4-belief__name,
.institutional-about__possibility-list .about-4-belief__text { margin: 0; }
.institutional-about__possibility-list .about-4-belief__text {
  max-width: 58ch;
  padding-top: 4px;
}
.institutional-about__axes-list {
  margin: 0;
  padding: 0;
  border-top: 1px solid var(--at-neutral-100);
  list-style: none;
}
.institutional-about__axes-list li {
  display: grid;
  grid-template-columns: 48px minmax(0, 1fr);
  gap: 24px;
  padding: 28px 0;
  border-bottom: 1px solid var(--at-neutral-100);
}
.institutional-about__axes-list li > span {
  padding-top: 4px;
  color: var(--at-theme-primary);
  font-size: 13px;
  font-weight: 700;
  letter-spacing: 0.08em;
}
.institutional-about__axes-list h3 {
  margin: 0 0 8px;
  color: var(--at-neutral-950);
  font-size: clamp(25px, 2.4vw, 34px);
  font-weight: 600;
  letter-spacing: -0.035em;
}
.institutional-about__axes-list p {
  max-width: 56ch;
  margin: 0;
  color: var(--at-neutral-500);
  font-size: 15px;
  line-height: 1.65;
}
.institutional-about__method-bridge { min-height: 720px; }
.institutional-about__method-bridge .sec-5-portfolio-details-3__veil {
  background: linear-gradient(90deg, rgba(9, 13, 22, 0.92) 0%, rgba(9, 13, 22, 0.72) 55%, rgba(9, 13, 22, 0.35) 100%);
}
.institutional-about__method-bridge .sec-5-portfolio-details-3__media img { object-position: center 32%; }
.institutional-about__method-copy .about-4-kicker { color: rgba(255, 255, 255, 0.72); }
.institutional-about__method-copy h2 {
  max-width: 740px;
  margin: 0 0 24px;
  font-size: clamp(42px, 5vw, 70px);
  font-weight: 600;
  line-height: 0.98;
  letter-spacing: -0.05em;
}
.institutional-about__method-copy > p:not(.about-4-kicker) {
  max-width: 640px;
  margin: 0 0 28px;
  color: rgba(255, 255, 255, 0.82);
  font-size: 17px;
  line-height: 1.7;
}
.institutional-about__field-head {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(320px, 0.58fr);
  gap: 36px 72px;
  align-items: end;
  margin-bottom: 44px;
}
.institutional-about__field-head .about-4-space__title { max-width: 760px; }
.institutional-about__field-head > p {
  max-width: 570px;
  margin: 0;
  color: var(--at-neutral-500);
  font-size: 16px;
  line-height: 1.7;
}
.institutional-about__field .about-4-bento--a img { object-position: center 38%; }
.institutional-about__field .about-4-bento--b img { object-position: center 22%; }
.institutional-about__field .about-4-bento--c img { object-position: center 24%; }
.institutional-about__field .about-4-bento--d img { object-position: center 36%; }

.institutional-about__next { background: var(--at-neutral-0); }
.institutional-about__next .about-4-cta__copy > .about-4-cta__mail {
  display: inline-block;
  margin-top: 22px;
}

@media (max-width: 991px) {
  .institutional-about .institutional-about__hero { padding-top: 96px; }
  .institutional-about .institutional-about__hero-title {
    max-width: 100%;
    font-size: 72px;
  }
  .institutional-about__hero-lead { max-width: 58ch; }
  .institutional-about .institutional-about__hero-media {
    aspect-ratio: 16 / 9;
    margin-top: 52px;
  }
  .institutional-about__why { padding: 96px 0; }
  .institutional-about__why .institutional-about__why-grid {
    grid-template-columns: minmax(0, 1fr);
    gap: 50px;
  }
  .institutional-about__why .institutional-about__why-story { max-width: 720px; }
  .institutional-about__why .sec-4-home-7__title { max-width: 12ch; }
  .institutional-about__possibility-list .about-4-belief {
    grid-template-columns: 56px minmax(0, 1fr);
    gap: 18px 24px;
  }
  .institutional-about__possibility-list .about-4-belief__body { display: block; }
  .institutional-about__possibility-list .about-4-belief__text { padding-top: 0; }
  .institutional-about__field-head { grid-template-columns: 1fr; gap: 24px; }
}

@media (max-width: 767px) {
  .institutional-about .institutional-about__hero,
  .institutional-about .institutional-about__possibilities,
  .institutional-about .institutional-about__actions,
  .institutional-about .institutional-about__field {
    padding-top: 76px;
    padding-bottom: 76px;
  }
  .institutional-about .institutional-about__hero {
    padding-top: 82px;
    padding-bottom: 0;
  }
  .institutional-about .institutional-about__hero-title { font-size: 56px; }
  .institutional-about .institutional-about__hero-media { margin-top: 42px; }
  .institutional-about__why { padding: 76px 0; }
  .institutional-about__why .sec-4-home-7__title { font-size: 48px; }
}

@media (max-width: 575px) {
  .institutional-about .institutional-about__hero-title { font-size: 44px; }
  .institutional-about .institutional-about__hero-media { aspect-ratio: 4 / 3; }
  .institutional-about__why .institutional-about__why-media { aspect-ratio: 1 / 1; }
  .institutional-about__why .sec-4-home-7__title { font-size: 40px; }
  .institutional-about__why-list { grid-template-columns: minmax(0, 1fr); }
  .institutional-about__why-list li:nth-child(odd) { border-right: 0; }
  .institutional-about__why-list li:nth-child(even) { padding-left: 0; }
}

/* E360_ARCHIVE_EDITORIAL_START — Cartes des archives et variantes éditoriales partagées. */
.blog-card {
  display: flex;
  flex-direction: column;
  gap: 25px;
}
.blog-card__thumb {
  position: relative;
  width: 100%;
}
.blog-card__img-link {
  display: block;
  width: 100%;
  height: 100%;
}
.blog-card__img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.blog-card__content {
  display: flex;
  flex-direction: column;
  gap: 24px;
  width: 100%;
}
.blog-card__title {
  font-weight: 600;
  color: var(--at-neutral-900);
  margin: 0;
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden;
  text-overflow: ellipsis;
  max-height: 4.5em;
}
.blog-card__title-link {
  text-decoration: none;
  transition: color 0.3s ease;
}
.blog-card__title-link:hover {
  color: var(--at-theme-primary);
}
.blog-card__meta {
  font-family: var(--at-ff-body);
  font-size: 16px;
  font-weight: 500;
  line-height: 100%;
  color: #585959;
  margin: 0;
}
.blog-card__meta-text {
  color: #585959;
}
.blog-card__author {
  color: var(--at-neutral-900);
  text-decoration: none;
  transition: color 0.3s ease;
}
.blog-card__author:hover {
  color: var(--at-theme-primary, var(--at-neutral-900));
}

/* Carte éditoriale horizontale en trois colonnes. */
.blog-card-2 {
  display: flex;
  align-items: center;
  gap: 40px;
  width: 100%;
  padding-bottom: 32px;
  border-bottom: 1px solid rgba(30, 30, 30, 0.08);
}
.blog-card-2-wrap:last-child .blog-card-2 {
  border-bottom: none;
  padding-bottom: 0;
}
@media only screen and (min-width: 768px) and (max-width: 991px), only screen and (min-width: 576px) and (max-width: 767px), (max-width: 574.98px) {
  .blog-card-2 {
    flex-direction: column;
    align-items: stretch;
    gap: 24px;
  }
}
.blog-card-2__left {
  flex: 0 1 40%;
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 26px;
}
@media only screen and (min-width: 768px) and (max-width: 991px), only screen and (min-width: 576px) and (max-width: 767px), (max-width: 574.98px) {
  .blog-card-2__left {
    flex: none;
    order: 1;
  }
}
.blog-card-2__category {
  display: inline-block;
  font-family: var(--at-ff-body);
  font-size: 12px;
  font-weight: 600;
  line-height: 1;
  letter-spacing: 0.02em;
  text-transform: uppercase;
  color: var(--at-neutral-900);
  padding: 8px 16px;
  background: var(--at-common-white);
  border: 1px solid var(--at-neutral-100);
  border-radius: 50px;
  width: -moz-fit-content;
  width: fit-content;
}
.blog-card-2__title {
  margin: 0;
}
@media (max-width: 574.98px) {
  .blog-card-2__title {
    font-size: 18px;
  }
}
.blog-card-2__title-link {
  color: inherit;
  text-decoration: none;
  transition: color 0.3s ease;
}
.blog-card-2__title-link:hover {
  color: var(--at-theme-primary);
}
.blog-card-2__thumb {
  flex: 0 0 340px;
  width: 340px;
  height: 210px;
  overflow: hidden;
  border-radius: 12px;
  flex-shrink: 0;
}
@media only screen and (min-width: 768px) and (max-width: 991px), only screen and (min-width: 576px) and (max-width: 767px), (max-width: 574.98px) {
  .blog-card-2__thumb {
    flex: none;
    width: 100%;
    height: 220px;
    order: 2;
  }
}
.blog-card-2__img-link {
  display: block;
  width: 100%;
  height: 100%;
}
.blog-card-2__img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  border-radius: 12px;
  transition: transform 0.5s ease;
}
.blog-card-2:hover .blog-card-2__img {
  transform: scale(1.05);
}
.blog-card-2__right {
  flex: 1;
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 56px;
  justify-content: center;
}
@media only screen and (min-width: 768px) and (max-width: 991px), only screen and (min-width: 576px) and (max-width: 767px), (max-width: 574.98px) {
  .blog-card-2__right {
    gap: 26px;
    flex: none;
    order: 3;
  }
}
.blog-card-2__excerpt {
  font-family: var(--at-ff-body);
  font-size: 16px;
  font-weight: 400;
  line-height: 1.5;
  color: #585959;
  margin: 0;
}
.blog-card-2__meta {
  font-family: var(--at-ff-body);
  font-size: 14px;
  font-weight: 500;
  line-height: 1;
  color: #585959;
  margin: 0;
}
.blog-card-2__meta-text {
  color: #585959;
}
.blog-card-2__author {
  color: var(--at-theme-primary, #c94b2a);
  text-decoration: none;
  transition: color 0.3s ease;
}
.blog-card-2__author:hover {
  color: var(--at-common-black);
}

.e360-news { --news-ink:var(--e360-text-main,var(--at-neutral-950)); --news-muted:var(--e360-text-muted,#585959); --news-paper:var(--e360-body-bg,var(--at-neutral-0)); --news-soft:var(--e360-surface-alt,#f3f3f0); --news-line:var(--e360-border-color,#dedede); color:var(--news-ink); background:var(--news-paper); }
[data-bs-theme="dark"] :is(.e360-news, .e360-article, .e360-resource-detail) { --news-ink:var(--e360-text-main,#f4f4f5); --news-muted:var(--e360-text-main-secondary,#a1a1aa); --news-soft:#252526; --news-link:#8cafff; }
.e360-news__hero h1 { font-size:clamp(60px,8vw,120px); line-height:1; letter-spacing:-4px; margin:0; }
.e360-news__intro { font-size:clamp(18px,1.5vw,20px); line-height:1.6; margin:0; color:var(--news-muted); }
.e360-news h2 { color:var(--news-ink); font-size:clamp(30px,3.4vw,48px); line-height:1.15; letter-spacing:-1px; }
.e360-news .about-5-label { color:var(--news-muted); }
.e360-news .about-5-text-link { color:var(--news-ink); }
.e360-news .about-5-text-link:is(:hover,:focus-visible) { color:var(--news-link,var(--at-theme-primary)); }
.e360-news__section-head { display:flex; align-items:end; justify-content:space-between; gap:24px; margin-bottom:36px; }
.e360-news__section-head h2 { margin:0; }
.e360-news__section-head > a { flex-shrink:0; }
.e360-news-card { color:var(--news-ink,var(--e360-text-main,var(--at-neutral-950))); gap:22px; height:100%; min-width:0; }
.e360-news-card :is(.blog-card__title,.blog-card-2__title) { display:block; max-height:none; overflow:visible; color:inherit; font-size:26px; line-height:1.25; letter-spacing:-.5px; overflow-wrap:anywhere; }
.e360-news-card :is(.blog-card__content,.blog-card-2__left,.blog-card-2__right) { gap:16px; }
.e360-news-card :is(.blog-card__title-link,.blog-card-2__title-link) { color:inherit; }
.e360-news-card :is(.blog-card__title-link,.blog-card-2__title-link):is(:hover,:focus-visible) { color:var(--news-link,var(--at-theme-primary)); }
.e360-news-card:is(:hover,:focus-within) img { transform:scale(1.05); }
.e360-news-card__category { color:var(--news-link,var(--at-theme-primary)); font-size:14px; font-weight:600; width:fit-content; }
.e360-news-card__labels { display:flex; flex-wrap:wrap; align-items:baseline; gap:8px 16px; }
.e360-news-card__format { font-size:14px; color:var(--news-muted); }
.e360-news-card__excerpt { color:var(--news-muted,var(--e360-text-muted,#585959)); font-size:16px; line-height:1.6; margin:0; }
.e360-news-card__meta { display:flex; flex-wrap:wrap; gap:8px 18px; font-size:14px; line-height:1.5; color:var(--news-muted,var(--e360-text-muted,#585959)); }
.e360-news-card__meta a { color:inherit; }
.e360-news-card :is(.blog-card__thumb,.blog-card-2__thumb) { position:relative; overflow:hidden; border-radius:0; }
.e360-news-card .blog-card__thumb { aspect-ratio:3 / 2; }
.e360-news-card img { transition:transform .5s ease; display:block; object-position:var(--e360-media-focal-x,50%) var(--e360-media-focal-y,50%); border-radius:0; }
.e360-news-card--feature { display:grid; grid-template-columns:minmax(0,1.2fr) minmax(0,1fr); column-gap:48px; row-gap:24px; padding:0 0 40px; border-color:var(--news-line); align-items:start; }
.e360-news-card--feature .blog-card-2__thumb { grid-row:1 / 3; width:100%; height:100%; min-height:440px; }
.e360-news-card--feature .blog-card-2__left { padding-top:24px; order:initial; }
.e360-news-card--feature .blog-card-2__right { justify-content:start; order:initial; }
.e360-news-card--feature .blog-card-2__title { font-size:clamp(30px,3vw,44px); line-height:1.15; }
.e360-news-card--feature .e360-news-card__excerpt { font-size:18px; }
.e360-news-card--feature.e360-news-card--text { grid-template-columns:1fr 1fr; }
.e360-news-card--feature.e360-news-card--text .blog-card-2__left { padding-top:0; }
.e360-news-card--compact { display:grid; grid-template-columns:120px minmax(0,1fr); gap:20px; padding-top:24px; border-top:1px solid var(--news-line,#dedede); }
.e360-news-card--compact .blog-card__thumb { aspect-ratio:1; height:120px; }
.e360-news-card--compact .blog-card__title { font-size:22px; }
.e360-news-card--compact .e360-news-card__excerpt { display:none; }
.e360-news-card--text:not(.e360-news-card--feature) { border-top:1px solid var(--news-line,#dedede); padding-top:24px; }
.e360-news-card--compact.e360-news-card--text { grid-template-columns:1fr; }
.e360-news-card--result { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,2fr); align-items:start; gap:28px; padding-top:28px; border-top:1px solid var(--news-line); }
.e360-news-card--result.e360-news-card--text { grid-template-columns:1fr; }
.e360-news__priority,.e360-news__category-section--block-6 { --news-link:#8cafff; --news-ink:#f7f7f7; --news-muted:#c7c7c7; --news-line:#444; background:var(--at-neutral-950); }
.e360-news [data-e360-editorial-slider] { min-width:0; }
.e360-news [data-e360-editorial-slider] .swiper-slide { height:auto; }
.e360-news .main-slider { height:auto; margin:0; }
.e360-news__slider-controls { position:static; display:flex; gap:10px; flex-shrink:0; margin-bottom:0; }
.e360-news__slider-controls button { position:static; display:grid; place-items:center; width:48px; height:48px; border:1px solid var(--news-line); border-radius:50%; color:var(--news-ink); background:transparent; font-size:24px; cursor:pointer; }
.e360-news__slider-controls button:disabled { opacity:.35; cursor:default; }
.e360-news__pagination.swiper-pagination { position:static; display:flex; justify-content:center; gap:8px; margin-top:30px; }
.e360-news__pagination .swiper-pagination-bullet { background:var(--news-ink); }
.e360-news__rubrics { border-bottom:1px solid var(--news-line); }
.e360-news__rubric-links { display:flex; flex-direction:column; align-items:stretch; gap:0; }
.e360-news__rubric-links > a { display:block; padding:24px 0; border-bottom:1px solid var(--news-line); color:var(--news-ink); }
.e360-news__rubric-links > a:first-child { padding-top:0; }
.e360-news__rubric-links > a:last-child { border-bottom:0; }
.e360-news__rubric-name { display:flex; justify-content:space-between; gap:20px; font-size:clamp(24px,2vw,28px); font-weight:600; line-height:1.25; }
.e360-news__rubric-description { display:block; color:var(--news-muted); font-size:16px; line-height:1.6; margin-top:12px; }
.e360-news__load-status { color:var(--news-muted); min-height:24px; margin-top:16px; font-size:16px; }
.e360-news__empty { padding:36px 0 0; border-top:1px solid var(--news-line); }
.e360-news__empty p { color:var(--news-muted); font-size:20px; max-width:620px; }
.e360-news__empty-advice { margin:0 0 28px; padding-left:22px; color:var(--news-muted); font-size:16px; line-height:1.7; }
.e360-news__category-section { border-top:1px solid var(--news-line); }
.e360-news__category-section .category-slider-wrapper .e360-news__slider-controls { justify-content:end; margin-bottom:24px; }
.e360-news__tabs .nav-link { min-height:44px; display:flex; align-items:center; font-size:16px; }
.e360-news__newsletter .box-newsletter { display:flex; align-items:center; justify-content:space-between; gap:40px; padding:64px; border:1px solid var(--news-line); border-radius:0; background:var(--news-paper); }
.e360-news__newsletter .box-newsletter::before { content:none; }
/* Inscription Newsletter partagée entre les contenus et le hub Ressources. */
.e360-newsletter-signup__intro, .e360-newsletter-signup__form { flex:1; min-width:0; width:100%; }
.e360-newsletter-signup__inputs { display:flex; gap:12px; align-items:stretch; }
.e360-newsletter-signup__inputs .form-control { min-width:0; }
.e360-newsletter-signup__inputs .btn { flex-shrink:0; }
.e360-newsletter-signup .e360-newsletter-consent, .e360-newsletter-help { font-size:14px; line-height:1.5; }
.e360-newsletter-signup .e360-newsletter-consent label { overflow-wrap:anywhere; }
.e360-news__newsletter h2 { max-width:640px; margin-bottom:20px; }
.e360-news__newsletter p { color:var(--news-muted); }
.e360-news__newsletter .at-btn { flex-shrink:0; }
.e360-news a:focus-visible,.e360-news button:focus-visible,.e360-news .swiper:focus-visible { outline:2px solid var(--at-theme-primary); outline-offset:5px; }
@media(max-width:1199px) { .e360-news__newsletter .box-newsletter { flex-direction:column; align-items:start; padding:40px; } .e360-news-card--feature { column-gap:32px; } }
@media(max-width:991px) { .e360-news-card--feature { display:flex; flex-direction:column; gap:24px; } .e360-news-card--feature .blog-card-2__thumb { min-height:0; height:auto; aspect-ratio:16 / 10; order:0; } .e360-news-card--feature .blog-card-2__left { padding-top:0; } .e360-news__section-head { align-items:start; } }
@media(max-width:575px) { .e360-news__hero { padding-top:64px; padding-bottom:48px; } .e360-news__hero h1 { letter-spacing:-2px; } .e360-news__section-head { flex-wrap:wrap; gap:20px; } .e360-news-card--compact { grid-template-columns:90px minmax(0,1fr); gap:16px; } .e360-news-card--compact .blog-card__thumb { height:90px; } .e360-news-card--compact .blog-card__title { font-size:20px; } .e360-news__newsletter .box-newsletter { padding:28px 20px; } .e360-news .at-btn { max-width:100%; } .e360-news .at-btn .text-1,.e360-news .at-btn .text-2 { font-size:14px; white-space:normal; } }
/* E360_ARCHIVE_EDITORIAL_END */

/* E360_ARCHIVE_CATEGORIES_START — Hiérarchies éditoriales commandées par les dispositions du CMS. */
.e360-news__hero .breadcrumb { margin:0 0 40px; font-size:14px; }
.e360-news__hero .breadcrumb :is(a,.breadcrumb-item),.e360-news__hero .breadcrumb-item::before { color:var(--news-muted); }
.e360-news-card:is(.e360-news-card--portrait,.e360-news-card--media):not(.e360-news-card--text) { display:grid; grid-template-columns:minmax(0,1fr); min-height:420px; gap:0; color:#fff; --news-muted:#eee; --news-link:#fff; }
.e360-news-card:is(.e360-news-card--portrait,.e360-news-card--media):not(.e360-news-card--text) > * { grid-area:1 / 1; min-width:0; }
.e360-news-card:is(.e360-news-card--portrait,.e360-news-card--media) .blog-card__thumb { height:100%; aspect-ratio:auto; }
.e360-news-card:is(.e360-news-card--portrait,.e360-news-card--media) .blog-card__img-link { height:100%; }
.e360-news-card:is(.e360-news-card--portrait,.e360-news-card--media) .blog-card__img { position:absolute; inset:0; height:100%; width:100%; object-fit:cover; }
.e360-news-card .alt-portfolio-btn { position:relative; inset:auto; align-self:end; padding:160px 24px 28px; transform:none; background:linear-gradient(transparent,#111 55%); pointer-events:none; }
.e360-news-card .alt-portfolio-btn a { pointer-events:auto; }
.e360-news-card .alt-portfolio-btn :is(.e360-news-card__category,.blog-card__title-link) { color:#fff; }
.e360-news-card .alt-portfolio-btn .blog-card__title-link:is(:hover,:focus-visible) { color:#b7cdff; }
.e360-news-card:is(.e360-news-card--portrait,.e360-news-card--media) .e360-news-card__excerpt { display:none; }
.e360-news-card--media:not(.e360-news-card--text) { min-height:520px; }
.e360-news__media-stack { display:flex; flex-direction:column; gap:24px; height:100%; }
.e360-news-card--media-compact { display:grid; grid-template-columns:120px minmax(0,1fr); gap:20px; align-items:start; height:auto; padding:24px 0; border-top:1px solid var(--news-line); }
.e360-news-card--media-compact .blog-card__thumb { aspect-ratio:1; }
.e360-news-card--media-compact .e360-news-card__excerpt { display:none; }
.e360-news-card--media-compact.e360-news-card--text { grid-template-columns:1fr; }
.e360-news-card--horizontal { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,.9fr) minmax(0,1fr); gap:32px; padding:32px 0; border-top:1px solid var(--news-line); }
.e360-news-card--horizontal .blog-card-2__left { grid-area:1 / 1; padding:0; }
.e360-news-card--horizontal .blog-card-2__thumb { grid-area:1 / 2; width:100%; height:auto; aspect-ratio:4 / 3; }
.e360-news-card--horizontal .blog-card-2__right { grid-area:1 / 3; justify-content:start; }
.e360-news-card--horizontal.e360-news-card--text { grid-template-columns:1fr 1fr; }
.e360-news-card--horizontal.e360-news-card--text .blog-card-2__right { grid-area:1 / 2; }
.e360-news-card--small .blog-card__title { font-size:22px; }
.e360-news-card--small .e360-news-card__excerpt { display:none; }
.e360-news [data-e360-editorial-slider] .swiper:not(.swiper-initialized) { overflow:visible; }
.e360-news [data-e360-editorial-slider]:not(.e360-slider-ready) .e360-news__slider-controls { display:none; }
.e360-news [data-e360-editorial-slider] .swiper:not(.swiper-initialized) .swiper-wrapper { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; }
.e360-news [data-e360-editorial-slider] .swiper:not(.swiper-initialized) .swiper-slide { min-width:0; }
@media(max-width:991px) { .e360-news-card--horizontal { display:flex; flex-direction:column; gap:24px; } .e360-news-card--horizontal .blog-card-2__thumb { order:0; width:100%; } .e360-news-card--horizontal .blog-card-2__left { order:1; } .e360-news-card--horizontal .blog-card-2__right { order:2; } .e360-news [data-e360-editorial-slider] .swiper:not(.swiper-initialized) .swiper-wrapper { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media(max-width:575px) { .e360-news-card--media-compact { grid-template-columns:90px minmax(0,1fr); gap:16px; } .e360-news-card--media-compact .blog-card__title { font-size:22px; } .e360-news [data-e360-editorial-slider] .swiper:not(.swiper-initialized) .swiper-wrapper { grid-template-columns:minmax(0,1fr); } }
/* E360_ARCHIVE_CATEGORIES_END */

/* E360_ARCHIVE_LISTING_START — Listes éditoriales et pagination partagée. */
.e360-listing__heading { margin:36px 0 48px; max-width:1050px; }
.e360-listing__heading h1 { font-size:clamp(36px,4.5vw,72px); line-height:1.1; letter-spacing:-1.8px; margin:0; overflow-wrap:anywhere; }
.e360-listing__heading .e360-news__intro { margin-top:24px; max-width:850px; }
.e360-listing__grid { row-gap:48px; }
.e360-listing .breadcrumb { font-size:14px; line-height:1.6; color:var(--news-muted); }
.e360-listing .breadcrumb .breadcrumb-item { overflow-wrap:anywhere; color:var(--news-ink); }
.e360-listing .breadcrumb a,.e360-listing .breadcrumb-item::before { color:var(--news-muted); }
.e360-listing .subcategories-wrapper { padding-bottom:32px; }
.e360-listing .subcategory-pill { white-space:normal; line-height:1.4; min-height:44px; max-width:100%; }
.e360-listing .subcategory-pill .back-icon { flex-shrink:0; }
.e360-listing:is(.e360-listing--category,.e360-listing--tag,.e360-listing--search) .breadcrumb { display:flex; flex-wrap:wrap; }
.e360-listing:is(.e360-listing--category,.e360-listing--tag,.e360-listing--search) .e360-listing__heading { margin:24px 0 36px; max-width:960px; }
.e360-listing:is(.e360-listing--category,.e360-listing--search) .e360-listing__heading h1 { font-size:clamp(32px,3.6vw,52px); letter-spacing:-1.2px; line-height:1.15; }
.e360-listing--tag .e360-listing__heading h1 { font-size:clamp(28px,2.8vw,40px); letter-spacing:-.8px; line-height:1.2; }
.e360-listing__related { margin-top:56px; padding-top:28px; border-top:1px solid var(--news-line); scroll-margin-top:140px; }
.e360-listing__related .subcategories-wrapper { margin-bottom:0; padding-bottom:0; }
.e360-pagination { display:flex; flex-wrap:wrap; align-items:center; justify-content:center; gap:8px; list-style:none; margin:56px 0 0; padding:0; }
.e360-pagination .pagination_item { display:flex; align-items:center; justify-content:center; width:44px; height:44px; border:1px solid var(--news-line,var(--e360-border-color,#dedede)); border-radius:50%; background:var(--news-paper,var(--e360-body-bg,var(--at-neutral-0))); color:var(--news-ink,var(--e360-text-main,var(--at-neutral-950))); font-size:16px; font-weight:600; text-decoration:none; transition:color .3s ease,background-color .3s ease,border-color .3s ease; }
.e360-pagination .pagination_item:is(:hover,:focus-visible,.current) { color:var(--e360-on-primary,#fff); background:var(--at-theme-primary); border-color:var(--at-theme-primary); }
@media(max-width:575px) { .e360-listing .sec-1-archive-2 { padding-top:40px; padding-bottom:64px; } .e360-listing__heading { margin:28px 0 36px; } }
@media(prefers-reduced-motion:reduce) { .e360-news-card img,.e360-pagination .pagination_item { transition:none; } .e360-news-card:is(:hover,:focus-within) :is(.blog-card__img,.blog-card-2__img) { transform:none; } }
/* E360_ARCHIVE_LISTING_END */

/* E360_ARCHIVE_SEARCH_START — Formulaire visible et navigation des publications. */
.e360-search-form { margin-top:36px; }
.e360-search-form label { display:block; margin-bottom:12px; font-size:16px; font-weight:600; color:var(--news-ink,var(--e360-text-main)); }
.e360-search-form .at-search-form-input { position:relative; display:grid; grid-template-columns:minmax(0,1fr) auto; align-items:center; gap:20px; padding:12px 12px 12px 24px; background:var(--news-paper,var(--e360-body-bg)); }
.e360-search-form input { display:block; width:100%; min-width:0; min-height:48px; border:0; border-radius:0; padding:0; background:transparent; color:var(--news-ink,var(--e360-text-main)); font-size:24px; line-height:1.4; }
.e360-search-form input::placeholder { color:var(--news-muted,var(--e360-text-muted)); opacity:1; }
.e360-search-form .at-search-form-btn { position:relative; border:0; border-radius:8px; min-height:48px; }
.e360-search-form .at-search-focus-border { position:absolute; bottom:0; right:0; width:0; height:1px; background:var(--news-ink,var(--e360-text-main)); transition:width .5s ease; }
.e360-search-form input:focus ~ .at-search-focus-border { width:100%; left:0; right:auto; }
.e360-search-form p { margin:16px 0 0; font-size:16px; line-height:1.6; color:var(--news-muted,var(--e360-text-muted)); }
.e360-search__results-heading { display:flex; flex-wrap:wrap; justify-content:space-between; align-items:baseline; gap:12px 24px; margin:16px 0 28px; }
.e360-search__results-heading h2,.e360-search__navigation h2 { font-size:24px; line-height:1.3; letter-spacing:-.4px; margin:0; }
.e360-search__results-heading p { margin:0; color:var(--news-muted); font-size:14px; }
.e360-search__navigation { margin:16px 0 40px; padding-left:28px; border-left:1px solid var(--news-line); }
.e360-search__navigation h2 { margin-bottom:32px; }
.e360-search__navigation .e360-news__rubric-name { font-size:22px; }
@media(max-width:991px) { .e360-search__navigation { padding:32px 0 0; border-left:0; border-top:1px solid var(--news-line); } }
@media(max-width:575px) { .e360-search-form .at-search-form-input { grid-template-columns:minmax(0,1fr); gap:16px; padding:16px; } .e360-search-form input { font-size:18px; } .e360-search-form .at-search-form-btn { justify-self:start; } .e360-news-card--result { grid-template-columns:minmax(0,1fr); gap:20px; } .e360-news-card--result .blog-card__title { font-size:24px; } }
@media(prefers-reduced-motion:reduce) { .e360-search-form .at-search-focus-border { transition:none; } }
/* E360_ARCHIVE_SEARCH_END */

/* E360_ARTICLE_DETAIL_START — Composition de lecture et prolongements éditoriaux partagés. */
/* La composition reprend les ouvertures Portfolio et la lecture de Blog Details. */
.e360-article { padding:40px 0 0; }
.e360-article .post-content { min-width:0; }
.e360-article .breadcrumb { display:flex; flex-wrap:wrap; font-size:13px; line-height:1.6; margin:0 0 40px; }
.e360-article .breadcrumb :is(a,.breadcrumb-item),.e360-article .breadcrumb-item::before { color:var(--news-muted); overflow-wrap:anywhere; }
.e360-article__hero { margin:0 0 clamp(40px,5vw,64px); }
.e360-article__intro { min-width:0; }
.e360-article__labels { display:flex; align-items:center; justify-content:space-between; gap:16px; }
.e360-article .post-content .post-title { color:var(--news-ink); font-size:clamp(40px,5vw,80px); line-height:1.06; letter-spacing:-2.4px; margin:24px 0 32px; max-width:1180px; overflow-wrap:anywhere; text-wrap:balance; }
.e360-article .post-content .post-title--long { font-size:clamp(34px,4vw,64px); line-height:1.13; }
.e360-article .post-content .post-summary { color:var(--news-muted); font-size:clamp(19px,1.8vw,24px); line-height:1.6; margin:0 0 32px; max-width:850px; }
.e360-article__byline { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:20px 32px; padding:24px 0; border-top:1px solid var(--news-line); }
.e360-article .post-details-meta { display:flex; flex-wrap:wrap; align-items:center; gap:8px 20px; max-width:650px; }
.e360-article .post-details-meta .item-meta { color:var(--news-muted); font-size:14px; }
.e360-article .post-details-meta .item-meta-author { color:var(--news-ink); }
.e360-article .post-share-buttons { margin:0; min-width:0; }
.e360-article .share-flex-wrapper { padding:0; gap:8px 16px; }
.e360-article .share-flex-wrapper .left { flex-wrap:wrap; }
.e360-article .post-share-buttons .btn-social-share { display:inline-flex; align-items:center; justify-content:center; border:0; background:transparent; color:var(--news-ink); min-width:40px; min-height:44px; border-radius:0; padding:10px; }
.e360-article .post-share-buttons .btn-social-share svg { color:inherit; fill:currentColor; }
.e360-article .post-share-buttons .btn-social-share svg[fill="none"] { fill:none; }
.e360-article .post-share-buttons .btn-social-share svg [fill]:not([fill="none"]) { fill:currentColor; }
.e360-article .post-share-buttons .btn-social-share:hover { background:var(--news-soft); color:var(--news-link); box-shadow:none; }
.e360-article .post-share-buttons .btn-reading-list.active { background:var(--at-theme-primary); color:var(--e360-on-primary,#fff); }
.e360-article__share-label { font-size:13px; color:var(--news-muted); }
.e360-article__lead { min-width:0; margin-top:20px; }
.e360-article__lead :is(.post-image-preview,.post-image,.e360-audio) { margin:0; }
.e360-article__hero--magazine { padding-bottom:32px; border-bottom:1px solid var(--news-line); }
.e360-article__hero--chapters { padding-bottom:32px; border-bottom:1px solid var(--news-line); }
.e360-article__hero--split.has-media { display:grid; grid-template-columns:minmax(0,7fr) minmax(0,5fr); gap:48px; align-items:center; }
.e360-article .post-content .e360-article__hero--split .post-title { font-size:clamp(34px,4vw,58px); }
.e360-article__hero--split .e360-article__lead { margin:0; }
.e360-article .post-image-preview { width:100%; min-width:0; }
.e360-article .post-image-preview :is(figure,.swiper-slide) { margin:0; height:auto; }
.e360-article .post-image-preview img { display:block; width:100%; height:auto; max-height:820px; object-fit:contain; background:var(--news-soft); }
.e360-article .sec-1-portfolio-details-5__slider { position:relative; inset:auto; height:auto; min-height:0; }
.e360-article .post-detail-slider .swiper-wrapper { align-items:start; }
.e360-article .post-detail-slider-nav { position:static; display:flex; justify-content:flex-end; gap:8px; padding:16px 0 0; transform:none; }
.e360-article .post-detail-slider-nav button { position:static; display:grid; place-items:center; width:48px; height:48px; border:1px solid var(--news-line); background:var(--news-paper); color:var(--news-ink); margin:0; border-radius:0; transform:none; }
.e360-article .post-detail-slider-nav button:disabled { opacity:.4; cursor:default; }
.e360-article .img-description { padding-top:12px; text-align:start; font-size:14px; line-height:1.6; color:var(--news-muted); }
.e360-editorial-credit { display:inline-block; margin-left:12px; }
.e360-article__reading { display:grid; grid-template-columns:1fr minmax(0,800px) 1fr; gap:0; }
.e360-article__body { grid-column:2; min-width:0; width:100%; }
.e360-article__body .entry-content { width:100%; }
.e360-article__body > .entry-content { margin-top:0; }
.e360-article__reading.has-context { grid-template-columns:minmax(0,280px) minmax(0,800px); gap:64px; justify-content:space-between; align-items:start; }
.e360-article__context { position:sticky; top:130px; padding-top:16px; border-top:1px solid var(--news-line); }
.e360-article__eyebrow { margin:0 0 12px; font-size:14px; font-weight:500; color:var(--news-muted); }
.e360-article .post-content .post-tags { flex-wrap:wrap; gap:16px; }
.e360-article .post-content .post-tags ul { flex-wrap:wrap; gap:8px; }
.e360-article .post-content .post-tags li { margin:0; }
.e360-article .post-content .post-tags ul li a { display:flex; align-items:center; min-height:44px; background:var(--news-paper); color:var(--news-ink); border:1px solid var(--news-line); }
.e360-article .post-content .post-tags ul li a:hover { color:var(--news-link,var(--at-theme-primary)); border-color:currentColor; }
.e360-article__author { display:grid; grid-template-columns:160px minmax(0,1fr); align-items:start; gap:40px; max-width:1000px; margin:64px auto; padding:40px 48px; background:var(--news-soft); color:var(--news-ink); }
.e360-article__author-portrait { width:160px; min-height:180px; display:grid; place-items:center; border:1px solid var(--news-line); }
.e360-article__author-portrait img { width:160px; height:180px; object-fit:cover; }
.e360-article__author-portrait span { font-size:44px; font-weight:500; letter-spacing:-2px; }
.e360-article__author h2 { color:inherit; font-size:32px; line-height:1.2; letter-spacing:-.8px; margin:0 0 8px; }
.e360-article__author p { color:inherit; font-size:16px; line-height:1.7; }
.e360-article__author .e360-article__eyebrow { color:var(--news-muted); font-size:13px; }
.e360-article__author-role { margin-bottom:20px; color:var(--news-muted); }
.e360-article__author .about-5-text-link { margin-top:12px; }
.e360-article .post-next-prev { border:0; padding:0; margin:64px 0; }
.e360-article__adjacent { padding:32px 0; border-top:1px solid var(--news-line); border-bottom:1px solid var(--news-line); }
.e360-article__adjacent h3 { margin:16px 0 0; font-size:clamp(22px,2vw,28px); line-height:1.3; color:var(--news-ink); overflow-wrap:anywhere; }
.e360-article__adjacent h3 a { color:inherit; }
.e360-article__adjacent h3 a:hover { color:var(--news-link,var(--at-theme-primary)); }
.e360-article__related { background:var(--news-soft); padding:80px 0; }
.e360-article__related .e360-news__section-head h2 { font-size:clamp(32px,4vw,48px); }
.e360-article__discussion { max-width:1000px; padding-block:64px; }
.e360-article .reaction-wrapper { width:100%; align-items:flex-start; padding:0; margin:0 0 48px; border:0; background:transparent; box-shadow:none; }
.e360-article .reaction-wrapper-title { text-transform:none; letter-spacing:0; font-size:24px; text-align:start; margin:0 0 20px; color:var(--news-ink); }
.e360-article .reaction-grid { display:flex; flex-wrap:wrap; justify-content:flex-start; gap:12px; }
.e360-article .reaction-btn { width:auto; min-width:92px; min-height:88px; margin:0; padding:12px; border:1px solid var(--news-line); border-radius:0; background:transparent; color:var(--news-ink); box-shadow:none; transform:none; }
.e360-article .reaction-btn.active { border-color:var(--news-link); background:var(--news-soft); }
.e360-article .reaction-btn.disabled { opacity:.55; }
.e360-article .reaction-img { width:30px; height:30px; }
.e360-article .reaction-label { font-size:12px; color:inherit; }
.e360-article .reaction-count { position:static; display:inline; min-width:0; padding:0; background:transparent; color:inherit; font-size:13px; }
.e360-article .comments-module { margin:0; padding:40px 0 0; border-top:1px solid var(--news-line); }
.e360-article .comments-module .section-title::after { display:none; }
.e360-article .comments-module .section-title { padding:0; margin:0 0 32px; border:0; }
.e360-article .comments-module .section-title .title { font-size:32px; color:var(--news-ink); margin:0; }
.e360-article .comments-module .modern-editor-wrapper { padding:32px 0 0; margin:32px 0 0; border:0; border-top:1px solid var(--news-line); background:transparent; box-shadow:none; }
.e360-article .comments-module .editor-container { border-radius:0; background:var(--news-paper); border-color:var(--news-line); }
.e360-article .comments-module :is(.editor-textarea,.input-minimal) { color:var(--news-ink); background:var(--news-paper); border-radius:0; font-size:16px; }
.e360-article .comments-module :is(.editor-textarea,.input-minimal)::placeholder { color:var(--news-muted); }
.e360-article .comments-module .comment-item { padding:24px 0; margin:0; border-bottom:1px solid var(--news-line); }
.e360-article .comments-module :is(.comment-content,.author-name) { color:var(--news-ink); }
.e360-article .comments-module :is(.comment-date,.footer-action) { color:var(--news-muted); }
.e360-article .comments-module .footer-action { min-height:36px; }
.e360-article .comments-module .load-more-btn { max-width:100%; margin:24px auto 0; border-radius:0; color:var(--news-ink); }
.e360-article .comments-module .comment-empty { padding:0; margin:0; color:var(--news-muted); font-size:17px; line-height:1.7; }
.e360-article .comments-module .e360-comment-form-title { font-size:22px; margin:0 0 20px; }
.e360-comment-editor { min-width:0; }
.e360-article__closing { border:0; padding:48px 0; }
.e360-article__closing h2 { color:var(--news-ink); }
@media (max-width:1199px) {
 .e360-article__reading.has-context { grid-template-columns:220px minmax(0,1fr); gap:40px; }
}
@media (max-width:991px) {
 .e360-article__hero--split.has-media { grid-template-columns:minmax(0,1fr); gap:24px; }
 .e360-article__author { padding:32px; gap:28px; }
}
@media (max-width:575px) {
 .e360-article { padding-top:24px; }
 .e360-article .breadcrumb { margin-bottom:28px; }
 .e360-article .post-content .post-title { font-size:38px; letter-spacing:-1px; margin:20px 0 24px; }
 .e360-article .post-content .post-title--long { font-size:32px; }
 .e360-article__byline { padding:20px 0; gap:16px; }
 .e360-article .post-details-meta { font-size:13px; }
 .e360-article .post-share-buttons .btn-social-share { min-width:36px; padding:8px; }
 .e360-article__author { grid-template-columns:1fr; margin:48px auto; padding:28px; gap:24px; }
 .e360-article__author-portrait { width:100px; min-height:112px; }
 .e360-article__author-portrait img { width:100px; height:112px; }
 .e360-article__author-portrait span { font-size:30px; letter-spacing:-1px; }
 .e360-article__author h2 { font-size:28px; }
 .e360-article .post-next-prev { margin:48px 0; }
 .e360-article__related { padding:48px 0; }
 .e360-article__discussion { padding-block:48px; }
 .e360-article .reaction-btn { min-width:84px; }
 .e360-article .comments-module .section-title .title { font-size:28px; }
 .e360-article .comments-module .modern-editor-wrapper { padding-top:24px; }
 .e360-article__closing { padding:36px 0; }
}
:is(.e360-article,.e360-resource-detail,.e360-event) .entry-content :is(h2,h3,h4) { font-family:inherit; font-weight:600; letter-spacing:-.6px; scroll-margin-top:120px; }
:is(.e360-article,.e360-resource-detail,.e360-event) .entry-content h2 { font-size:clamp(28px,2.6vw,36px); }
:is(.e360-article,.e360-resource-detail,.e360-event) .entry-content h3 { font-size:clamp(24px,2.2vw,30px); }
:is(.e360-article,.e360-resource-detail,.e360-event) .entry-content h4 { font-size:22px; margin:32px 0 20px; line-height:1.3; }
:is(.e360-article,.e360-resource-detail,.e360-event) .entry-content :is(ul,ol) { padding-inline-start:28px; }
:is(.e360-article,.e360-resource-detail,.e360-event) .entry-content ul { list-style:disc; }
:is(.e360-article,.e360-resource-detail,.e360-event) .entry-content ol { list-style:decimal; }
:is(.e360-article,.e360-resource-detail,.e360-event) .entry-content li { margin-bottom:10px; }
:is(.e360-article,.e360-resource-detail,.e360-event) .entry-content li > :is(ul,ol) { margin-top:12px; }
:is(.e360-article,.e360-resource-detail,.e360-event) .entry-content blockquote { font-size:clamp(22px,2vw,28px); line-height:1.5; }
:is(.e360-article,.e360-resource-detail,.e360-event) .entry-content :is(figure,img,video,iframe,object,embed) { max-width:100%; }
:is(.e360-article,.e360-resource-detail,.e360-event) .entry-content :is(img,video) { height:auto; }
:is(.e360-article,.e360-resource-detail,.e360-event) .entry-content figure { margin:36px 0; }
:is(.e360-article,.e360-resource-detail,.e360-event) .entry-content figcaption { font-size:14px; line-height:1.6; margin-top:12px; color:var(--news-muted); }
:is(.e360-article,.e360-resource-detail,.e360-event) .entry-content iframe { width:100%; border:0; }
:is(.e360-article,.e360-resource-detail,.e360-event) .entry-content iframe[src*="youtube"],:is(.e360-article,.e360-resource-detail,.e360-event) .entry-content iframe[src*="vimeo"] { aspect-ratio:16/9; height:auto; }
:is(.e360-article,.e360-resource-detail,.e360-event) .entry-content table { width:100%; border-collapse:collapse; margin:0; font-size:16px; }
:is(.e360-article,.e360-resource-detail,.e360-event) .entry-content caption { color:var(--news-muted); font-size:14px; line-height:1.6; }
:is(.e360-article,.e360-resource-detail,.e360-event) .entry-content :is(th,td) { padding:16px; border:1px solid var(--news-line); vertical-align:top; min-width:120px; }
:is(.e360-article,.e360-resource-detail,.e360-event) .entry-content th { background:var(--news-soft); font-weight:600; }
.e360-article__table { width:100%; max-width:100%; min-width:0; overflow:auto; margin:32px 0; overscroll-behavior-inline:contain; }
/* Les inventaires partagent le cadre défilable des contenus éditoriaux. */
.e360-article__table :is(th,td,p,span,a,strong,em,code) { word-break:normal; overflow-wrap:break-word; }
.e360-article__table code { display:inline-block; max-width:100%; overflow-x:auto; white-space:nowrap; vertical-align:top; }
.e360-article__table:focus-visible,
.e360-article__table code:focus-visible { outline:2px solid var(--e360-primary); outline-offset:3px; }
.e360-article__table [data-editorial-table-columns="5"] { min-width:940px; table-layout:fixed; }
.e360-article__table [data-editorial-table-columns="5"] tr > :nth-child(1) { width:28%; }
.e360-article__table [data-editorial-table-columns="5"] tr > :nth-child(2) { width:21%; }
.e360-article__table [data-editorial-table-columns="5"] tr > :nth-child(3) { width:23%; }
.e360-article__table [data-editorial-table-columns="5"] tr > :nth-child(4),
.e360-article__table [data-editorial-table-columns="5"] tr > :nth-child(5) { width:14%; }
:is(.e360-article,.e360-resource-detail,.e360-event) .entry-content pre { overflow:auto; max-width:100%; padding:20px; background:var(--news-soft); font-size:15px; }
.e360-article :is(a,button,[tabindex]):focus-visible { outline:2px solid var(--news-link,var(--at-theme-primary)); outline-offset:4px; }
.e360-article :is(.sec-2-portfolio-details-4__chapter,.title-post-item,[id^="step"]) { scroll-margin-top:120px; }
/* Blocs de lecture partagés par les articles, ressources et événements. */
:is(.e360-article,.e360-resource-detail,.e360-event) .entry-content > :first-child { margin-top:0; }
:is(.e360-article,.e360-resource-detail,.e360-event) .entry-content :is(aside,details) { margin:32px 0; padding:24px; border:1px solid var(--news-line); background:var(--news-paper); }
:is(.e360-article,.e360-resource-detail,.e360-event) .entry-content summary { cursor:pointer; font-weight:600; }
:is(.e360-article,.e360-resource-detail,.e360-event) .entry-content :is(cite,small) { font-size:14px; line-height:1.6; }
:is(.e360-article,.e360-resource-detail,.e360-event) .entry-content .e360-editorial-align-left { text-align:left; }
:is(.e360-article,.e360-resource-detail,.e360-event) .entry-content .e360-editorial-align-right { text-align:right; }
:is(.e360-article,.e360-resource-detail,.e360-event) .entry-content .e360-editorial-align-center { text-align:center; }
:is(.e360-article,.e360-resource-detail,.e360-event) .entry-content .e360-editorial-align-justify { text-align:justify; }
:is(.e360-article,.e360-resource-detail,.e360-event) .entry-content :is(.at-btn,.btn-custom) { display:inline-flex; min-height:44px; align-items:center; padding:12px 24px; border:1px solid currentColor; text-decoration:none; background:transparent; color:var(--news-link,var(--at-theme-primary)); }
.e360-editorial-caption { margin:12px 0 24px; }
.e360-editorial-links { margin-block:32px; }
.e360-editorial-links ul { list-style:none; padding:0; margin:0; }
.e360-editorial-links li + li { margin-top:24px; }
.e360-editorial-links a { display:inline-block; min-height:44px; white-space:normal; }
.e360-editorial-links__title { display:block; color:var(--news-ink); font-size:16px; line-height:1.6; margin-top:8px; }
:is(.e360-article,.e360-resource-detail,.e360-event) :is(.e360-editorial-reading,.e360-document-preview,.entry-content) :is(a,button,summary,[tabindex]):focus-visible { outline:2px solid var(--news-link,var(--at-theme-primary)); outline-offset:4px; }
/* Les chapitres gardent leurs images, leur ordre et leurs ancres administrées. */
.e360-article :is(.ordered-list-item,.gallery-post-item,.sec-2-portfolio-details-4__chapter) { padding-block:32px; border-top:1px solid var(--news-line); }
.e360-article .title-post-item { font-size:clamp(26px,2.5vw,34px); line-height:1.25; color:var(--news-ink); margin:0 0 28px; overflow-wrap:anywhere; }
.e360-article .ordered-list-item { display:grid; grid-template-columns:minmax(0,5fr) minmax(0,7fr); gap:24px 32px; }
.e360-article .ordered-list-item .title-post-item { grid-column:1; margin:0; }
.e360-article .ordered-list-item > .post-image { grid-column:1; margin:0; }
.e360-article .ordered-list-item > .entry-content { grid-column:2; grid-row:1 / span 3; }
.e360-article .post-image img { max-width:100%; height:auto; }
.e360-article .post-image .post-item-count { background:var(--news-paper); color:var(--news-ink); border:1px solid var(--news-line); font-size:14px; }
.e360-article .table-of-contents { border:1px solid var(--news-line); background:var(--news-paper); padding:28px; border-radius:0; }
.e360-article .table-of-contents .title { color:var(--news-ink); margin-bottom:16px; }
.e360-article .table-of-contents h2 { font-size:22px; margin:0; }
.e360-article .table-of-contents a { display:inline-block; padding-block:8px; line-height:1.5; color:var(--news-ink); text-decoration:underline; text-underline-offset:4px; }
.e360-article .table-of-contents :is(ul,li) { color:var(--news-muted); }
.e360-article .container-toc :is(.ul-toc-content,.li-toc-content) { padding-inline-start:0; }
.e360-article .post-content .container-toc .title-post-item { font-size:32px; line-height:1.25; margin:0 0 28px; }
.e360-article .post-content .container-toc .ul-toc-content-sub .title-post-item { font-size:28px; }
.e360-article .post-content .container-toc .ul-toc-content-sub-sub .title-post-item { font-size:24px; }
.e360-article .container-toc .ul-toc-content-sub { margin-inline-start:20px; }
.e360-article [data-list-style] { list-style-position:inside; }
/* Widgets métier dans la même famille de surfaces, lignes et typographies. */
.e360-article .quiz-container { --bg-card:var(--news-paper); --bg-header:var(--news-paper); --bg-option:var(--news-paper); --text-main:var(--news-ink); --text-muted:var(--news-muted); --border-color:var(--news-line); --primary-color:var(--at-theme-primary); }
.e360-article .quiz-container .quiz-card { border:0; border-top:1px solid var(--news-line); border-radius:0; box-shadow:none; padding-top:32px; margin-bottom:40px; }
.e360-article .quiz-container :is(.quiz-header,.quiz-body) { padding:0 0 24px; }
.e360-article .quiz-container .section-label { border:0; padding:0; text-transform:none; letter-spacing:0; font-size:14px; }
.e360-article .quiz-container .question-title { font-size:clamp(26px,2.5vw,34px); line-height:1.3; }
.e360-article .quiz-container .option-card { border-radius:0; box-shadow:none; min-height:48px; }
.e360-article .quiz-container .option-card:focus-visible { outline:2px solid var(--news-link,var(--at-theme-primary)); outline-offset:4px; }
.e360-article .quiz-container .image-area img { width:100%; height:100%; object-fit:cover; }
.e360-article .quiz-container .options-grid { gap:16px; }
.e360-article .recipe-container { --rc-bg:var(--news-paper); --rc-border:var(--news-line); }
.e360-article .recipe-container > .container { max-width:none; padding-inline:0; }
.e360-article :is(.recipe-meta-card,.ingredients-card,.nutrition-card,.event-info-bar,.event-registration-card,.event-organizer-card) { border:1px solid var(--news-line); border-radius:0; box-shadow:none; color:var(--news-ink); background:var(--news-paper); }
.e360-article .recipe-container :is(.recipe-section-title,.section-title),.e360-article .event-wrapper .section-title { font-size:clamp(26px,2.5vw,34px); line-height:1.3; color:var(--news-ink); }
.e360-article .event-wrapper .meta-value { overflow-wrap:anywhere; }
.e360-article .recipe-difficulty { min-height:24px; }
.e360-article .recipe-difficulty svg { color:var(--news-muted); }
.e360-article .recipe-difficulty svg.text-accent { color:var(--at-theme-primary); }
.e360-article .recipe-container label { cursor:pointer; }
.e360-article .media-unavailable { display:none; }
@media(max-width:575px) {
 .e360-article__hero--magazine { padding:24px 0; }
 .e360-article .post-content .post-title--long { font-size:32px; }
 .e360-article .ordered-list-item { display:block; }
 .e360-article .ordered-list-item > :is(.title-post-item,.post-image) { margin-bottom:24px; }
 .e360-article .table-of-contents { padding:20px; }
 .e360-article .container-toc .ul-toc-content-sub { margin-inline-start:12px; }
 .e360-article .quiz-container .options-grid.grid-cols-3 { grid-template-columns:repeat(2,minmax(0,1fr)); }
 .e360-article .quiz-container .options-grid { gap:12px; }
 .e360-article .quiz-container .type-image .image-label-area { padding:12px; }
 :is(.e360-article,.e360-resource-detail,.e360-event) .entry-content :is(th,td) { padding:12px; }
}
/* Le lecteur partagé reste utilisable dans une colonne de vis-à-vis. */
.e360-article__hero--split .e360-audio .e360-audio__layout { grid-template-columns:minmax(0,1fr); }
.e360-article__hero--split .e360-audio .album-art { height:220px; }
.e360-article__hero--split .e360-audio .e360-audio__list { max-height:180px; }
/* Résultats et étapes issus des mêmes compositions de chapitres. */
.e360-article .quiz-result-card { background:var(--news-paper); color:var(--news-ink); border:1px solid var(--news-line); border-radius:0; box-shadow:none; }
.e360-article .quiz-result-card .result-title { font-size:30px; line-height:1.3; }
.e360-article .quiz-result-card .result-content-pad { padding:28px; }
.e360-article .quiz-result-card .result-image-full { max-height:420px; object-fit:contain; }
.e360-article .ingredient-checkbox:focus-visible + .custom-check-circle { outline:2px solid var(--at-theme-primary); outline-offset:4px; }
.e360-article .recipe-directions .direction { padding:28px 0; border-top:1px solid var(--news-line); background:transparent; border-radius:0; }
.e360-article .recipe-directions .directions-list { padding:0; list-style:none; }
@media(min-width:768px) {
 .e360-article .quiz-result-card--illustrated .result-content-pad { display:grid; grid-template-columns:minmax(0,5fr) minmax(0,7fr); gap:24px; align-items:center; }
 .e360-article .quiz-result-card--illustrated .result-title { grid-column:1 / -1; margin:0; }
 .e360-article .quiz-result-card--illustrated :is(.result-image-wrapper,.result-description) { margin:0; }
}
/* E360_ARTICLE_DETAIL_END */

/* E360_RESOURCES_START — Consultation documentaire et variantes de la famille éditoriale. */
.e360-resources { --resource-soft:var(--news-soft); }
.e360-resources__intro { padding:38px 0 32px; border-bottom:1px solid var(--news-line); }
.e360-resources__breadcrumb { display:flex; flex-wrap:wrap; gap:10px; margin:0 0 30px; font-size:13px; color:var(--news-muted); }
.e360-resources__breadcrumb a { color:inherit; }
.e360-resources__heading { display:grid; grid-template-columns:1fr 1fr; gap:48px; align-items:center; margin-bottom:32px; }
.e360-resources__heading h1 { margin:0; font-size:72px; line-height:1.05; letter-spacing:-3px; color:var(--news-ink); }
.e360-resources__heading p { margin:0; max-width:620px; font-size:19px; line-height:1.6; color:var(--news-muted); }
.e360-resources__search label { display:block; font-size:14px; font-weight:600; margin-bottom:10px; }
.e360-resources__search-line { display:flex; align-items:center; gap:16px; padding:8px 8px 8px 22px; border:1px solid var(--news-line); background:var(--news-paper); }
.e360-resources__search-line > svg { flex-shrink:0; }
.e360-resources__search-line input { flex:1; width:100%; min-width:0; height:48px; padding:8px 0; border:0; border-radius:0; color:var(--news-ink); background:transparent; font-size:18px; }
.e360-resources__search-line input::placeholder { color:var(--news-muted); opacity:1; }
.e360-resources .at-btn { display:inline-flex; justify-content:center; align-items:center; gap:20px; min-height:44px; padding:12px 22px; border:1px solid var(--news-line); border-radius:0; color:var(--news-ink); background:var(--news-paper); font-size:14px; line-height:1.4; white-space:normal; }
.e360-resources .e360-resources__submit { color:#fff; background:var(--at-theme-primary,#245cff); border-color:transparent; }
.e360-resources .at-btn:is(:hover,:focus-visible) { color:#fff; background:var(--at-theme-primary,#245cff); border-color:transparent; }
.e360-resources :is(button,a,summary):focus-visible { outline:2px solid var(--news-link,var(--at-theme-primary,#245cff)); outline-offset:4px; }
.e360-resources__filters { margin-top:20px; border-bottom:1px solid var(--news-line); padding-bottom:18px; }
.e360-resources__filters summary { display:flex; align-items:center; justify-content:space-between; min-height:44px; font-weight:600; font-size:15px; cursor:pointer; list-style:none; }
.e360-resources__filters summary::-webkit-details-marker { display:none; }
.e360-resources__filters summary span { font-size:24px; font-weight:400; }
.e360-resources__filters[open] summary span { transform:rotate(45deg); }
.e360-resources__filter-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:20px; padding:18px 0; }
.e360-resources__field { min-width:0; }
.e360-resources__field label,.e360-resources__dates legend { display:block; padding:0; margin:0 0 8px; color:var(--news-muted); font-size:13px; line-height:1.4; font-weight:500; }
.e360-resources__field select,.e360-resources__dates input,.e360-resources__sort select { width:100%; min-width:0; min-height:44px; padding:8px 12px; border:1px solid var(--news-line); border-radius:0; background:var(--news-paper); color:var(--news-ink); font-size:14px; }
.e360-resources__dates { grid-column:span 2; display:grid; grid-template-columns:1fr 1fr; gap:12px; padding:0; margin:0; min-width:0; border:0; }
.e360-resources__dates legend { float:none; width:auto; }
.e360-resources__dates label { font-size:12px; display:block; margin-bottom:4px; color:var(--news-muted); }
.e360-resources__filter-actions { display:flex; flex-wrap:wrap; align-items:center; gap:24px; }
.e360-resources__filter-actions > a { font-size:13px; color:var(--news-muted); text-decoration:underline; text-underline-offset:4px; }
.e360-resources .select2-container { max-width:100%; }
.e360-resources .select2-container .select2-selection--single { min-height:44px; border-color:var(--news-line); border-radius:0; background:var(--news-paper); }
.e360-resources .select2-container .select2-selection--single .select2-selection__rendered { line-height:42px; color:var(--news-ink); padding-left:12px; padding-right:30px; font-size:14px; }
.e360-resources .select2-container .select2-selection--single .select2-selection__arrow { height:42px; }
.e360-resources__formats { display:flex; flex-wrap:wrap; gap:8px 28px; padding-top:22px; }
.e360-resources__formats a { display:inline-flex; align-items:center; gap:14px; min-height:36px; color:var(--news-ink); font-size:14px; }
.e360-resources__formats a:hover { color:var(--news-link,var(--at-theme-primary)); }
.e360-resources__eyebrow { margin:0 0 24px; font-size:13px; line-height:1.5; letter-spacing:1px; font-weight:600; }
.e360-resources__featured { --news-ink:#fff; --news-muted:#c9c9c8; --news-link:#a7bfff; background:#202021; color:var(--news-ink); padding:44px 0 52px; }
.e360-resources__featured .blog-card-2 { display:grid; grid-template-columns:minmax(0,1.1fr) minmax(0,1fr); grid-template-rows:auto 1fr; gap:16px 48px; }
.e360-resources__featured .blog-card-2 > :is(.blog-card-2__thumb,.e360-resource-card__fallback) { grid-area:1 / 1 / 3 / 2; width:100%; height:100%; min-height:340px; }
.e360-resources__featured .blog-card-2__left { grid-area:1 / 2; }
.e360-resources__featured .blog-card-2__right { grid-area:2 / 2; }
.e360-resources__featured .blog-card-2__title { font-size:38px; margin:12px 0 0; }
.e360-resources__featured .blog-card-2__img-link { height:100%; }
.e360-resources__featured .blog-card-2__img { height:100%; object-fit:cover; }
.e360-resources__featured .e360-resource-card { border:0; padding:0; }
.e360-resources__featured :is(.e360-news-card__format,.e360-resource-card__metadata,.about-5-text-link,.e360-resource-card__download) { color:var(--news-ink); }
.e360-resources__featured .e360-news-card__excerpt { color:var(--news-muted); }
.e360-resources__results { padding:52px 0 68px; }
.e360-resources__toolbar { display:flex; justify-content:space-between; align-items:flex-end; gap:24px; margin-bottom:32px; }
.e360-resources__toolbar h2 { max-width:820px; font-size:34px; overflow-wrap:anywhere; margin:0; }
.e360-resources__toolbar p { margin:10px 0 0; font-size:14px; color:var(--news-muted); }
.e360-resources__sort { display:flex; align-items:center; gap:10px; flex-shrink:0; font-size:13px; }
.e360-resources__sort label { white-space:nowrap; }
.e360-resources__sort select { width:160px; }
.e360-resources__sort-apply { min-height:44px; padding:8px; background:transparent; color:var(--news-ink); border:1px solid var(--news-line); }
.e360-resources__active { display:flex; flex-wrap:wrap; align-items:center; gap:10px; margin:0 0 30px; }
.e360-resources__active a { display:inline-flex; align-items:center; gap:14px; max-width:100%; overflow-wrap:anywhere; padding:8px 12px; border:1px solid var(--news-line); font-size:13px; color:var(--news-ink); }
.e360-resources__active a span { font-size:18px; flex-shrink:0; }
.e360-resource-card { display:flex; flex-direction:column; padding-bottom:28px; border-bottom:1px solid var(--news-line); }
.e360-resource-card .blog-card__thumb { aspect-ratio:16/10; }
.e360-resource-card .blog-card__img-link { height:100%; position:relative; }
.e360-resource-card .blog-card__img { height:100%; object-fit:cover; }
.e360-resource-card .blog-card__title { font-size:25px; margin:0; }
.e360-resource-card__fallback { display:flex; align-items:center; justify-content:center; gap:30px; aspect-ratio:16/10; padding:28px; color:var(--news-ink); background:var(--resource-soft); overflow:hidden; }
.e360-resource-card__fallback svg { flex-shrink:0; }
.e360-resource-card__fallback span { font-size:26px; font-weight:500; overflow-wrap:anywhere; }
.e360-resource-card__fallback--video { background:#e8ebf2; color:#26304b; }
.e360-resource-card__fallback--audio { background:#ede9e2; color:#493e31; }
.e360-resource-card__fallback--document { background:#e9ede8; color:#374735; }
.e360-resource-card__play { position:absolute; left:20px; bottom:20px; display:grid; place-items:center; width:44px; height:44px; border:1px solid #fff; border-radius:50%; background:#202021; color:#fff; font-size:16px; }
.e360-resource-card__metadata { display:flex; flex-wrap:wrap; align-items:center; gap:8px 12px; padding:0; margin:0; list-style:none; color:var(--news-muted); font-size:13px; line-height:1.5; }
.e360-resource-card__metadata li:not(:last-child)::after { content:'·'; padding-left:12px; }
.e360-editorial-card__actions { display:flex; flex-wrap:wrap; align-items:center; gap:14px 22px; }
.e360-resource-card .e360-editorial-card__actions { margin-top:4px; }
.e360-resource-card__download { color:var(--news-muted); text-decoration:underline; text-underline-offset:4px; font-size:13px; }
.e360-resources__empty { display:grid; grid-template-columns:auto 1fr; align-items:start; gap:36px; padding:48px 36px; background:var(--resource-soft); }
.e360-resources__empty > span { font-size:76px; line-height:1;width: 76px; }
.e360-resources__empty h3 { font-size:30px; line-height:1.3; color:var(--news-ink); }
.e360-resources__empty p { max-width:640px; margin:16px 0 24px; color:var(--news-muted); }
.e360-resources__error { padding:16px; border-left:2px solid currentColor; color:var(--news-ink); }
.e360-resources__orientation { padding:44px 0; background:var(--resource-soft); border-top:1px solid var(--news-line); }
.e360-resources__orientation .container { display:flex; align-items:center; justify-content:space-between; gap:32px; }
.e360-resources__orientation .e360-resources__eyebrow { margin-bottom:12px; }
.e360-resources__orientation h2 { font-size:34px; margin:0; }
.e360-resources__orientation .at-btn { flex-shrink:0; }
/* Lecteur audio commun aux publications et aux ressources. */
.e360-audio .e360-audio__layout { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); max-width:100%; background:#202021; color:#fff; }
.e360-audio .e360-audio__main,.e360-audio .e360-audio__list { width:auto; float:none; min-width:0; }
.e360-audio .album-art { width:100%; height:260px; object-fit:cover; }
.e360-audio__fallback { display:grid; place-items:center; min-height:200px; font-size:90px; background:#313133; color:#fff; }
.e360-audio .e360-audio__body { padding:24px; }
.e360-audio .e360-audio__time { display:flex; align-items:center; gap:12px; margin:20px 0; }
.e360-audio .e360-audio__time > span { white-space:nowrap; flex-shrink:0; font-size:13px; }
.e360-audio .e360-audio__time input { width:100%; min-width:0; }
.e360-audio .e360-audio__controls { display:flex; flex-wrap:wrap; align-items:center; justify-content:center; gap:12px; }
.e360-audio :is(.control-btn,.e360-audio__play) { border:1px solid #777; background:transparent; color:#fff; min-width:44px; min-height:44px; padding:10px; }
.e360-audio :is(.e360-audio-icon-pause,.e360-audio-icon-mute) { display:none; }
.e360-audio .amplitude-playing > [aria-hidden] > .e360-audio-icon-play,
.e360-audio .amplitude-muted > .e360-audio-icon-volume { display:none; }
.e360-audio .amplitude-playing > [aria-hidden] > .e360-audio-icon-pause,
.e360-audio .amplitude-muted > .e360-audio-icon-mute { display:inline-block; }
.e360-audio__volume { display:flex; align-items:center; gap:16px; margin-top:16px; }
.e360-audio__volume input { min-width:0; width:100%; }
.e360-audio .e360-audio__list { max-height:520px; overflow:auto; padding:24px; }
.e360-audio .song { display:flex; flex-wrap:wrap; gap:12px; padding:16px 0; border-bottom:1px solid #555; }
.e360-audio__track { display:flex; gap:12px; padding:8px 0; color:#fff; background:transparent; border:0; text-align:left; min-height:44px; }
.e360-audio .download-btn { display:inline-flex; align-items:center; min-height:44px; padding:8px 0; color:#ddd; background:transparent; border:0; font-size:13px; }
.e360-audio :is(button,a,input):focus-visible { outline:2px solid #a7bfff; outline-offset:3px; }
@media (max-width:1023px) {
    .e360-resources__heading { gap:30px; }
    .e360-resources__heading h1 { font-size:62px; }
    .e360-resources__filter-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
    .e360-resources__featured .blog-card-2 { gap:18px 28px; }
    .e360-resources__featured .blog-card-2__title { font-size:32px; }
    .e360-resources__toolbar { align-items:flex-start; flex-direction:column; }
}
@media (max-width:767px) {
    .e360-resources__intro { padding-top:24px; }
    .e360-resources__breadcrumb { margin-bottom:24px; font-size:12px; }
    .e360-resources__heading { grid-template-columns:1fr; gap:18px; margin-bottom:28px; }
    .e360-resources__heading h1 { font-size:46px; letter-spacing:-1.5px; }
    .e360-resources__heading p { font-size:17px; }
    .e360-resources__search-line { display:grid; grid-template-columns:auto minmax(0,1fr); padding:12px; gap:10px; }
    .e360-resources__search-line input { font-size:16px; }
    .e360-resources__submit { grid-column:1 / -1; width:100%; }
    .e360-resources__filter-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px 12px; }
    .e360-resources__formats { gap:2px 20px; }
    .e360-resources__featured { padding:32px 0; }
    .e360-resources__featured .blog-card-2 { grid-template-columns:1fr; gap:22px; }
    .e360-resources__featured .blog-card-2 > :is(.blog-card-2__thumb,.e360-resource-card__fallback),.e360-resources__featured .blog-card-2__left,.e360-resources__featured .blog-card-2__right { grid-area:auto; }
    .e360-resources__featured .blog-card-2 > :is(.blog-card-2__thumb,.e360-resource-card__fallback) { min-height:0; height:auto; aspect-ratio:16/10; }
    .e360-resources__featured .blog-card-2__title { font-size:30px; }
    .e360-resources__results { padding:36px 0 48px; }
    .e360-resources__toolbar h2 { font-size:28px; }
    .e360-resources__sort { flex-wrap:wrap; width:100%; }
    .e360-resources__sort select { flex:1; }
    .e360-resource-card .blog-card__title { font-size:24px; }
    .e360-resources__empty { grid-template-columns:1fr; gap:20px; padding:28px 22px; }
    .e360-resources__empty > span { font-size:48px; width: 48px;}
    .e360-resources__empty h3 { font-size:25px; }
    .e360-resources__orientation .container { align-items:flex-start; flex-direction:column; gap:24px; }
    .e360-resources__orientation h2 { font-size:28px; }
    .e360-audio .e360-audio__layout { grid-template-columns:1fr; }
}
/* E360_RESOURCES_END */

/* Aides de lecture et métadonnées : composants documentaires partagés. */
[data-e360-media-placeholder][hidden], .e360-media-notice[hidden] { display:none; }
.e360-transcript summary, .e360-document-preview summary { cursor:pointer; font-size:20px; padding:16px 0; font-weight:500; }
.e360-transcript > div { max-width:860px; font-size:18px; line-height:1.8; padding:20px 0; overflow-wrap:anywhere; }
.e360-document-preview { margin:40px 0; padding:32px; background:var(--resource-soft); color:var(--news-ink); scroll-margin-top:140px; }
.e360-document-preview object { display:block; width:100%; height:720px; border:1px solid var(--news-line); }
.e360-document-preview [role="status"] { font-size:16px; line-height:1.6; margin:16px 0; }
.e360-document-preview > a { margin-top:20px; }
.e360-media-notice { padding:20px; margin:20px 0; font-size:17px; line-height:1.6; background:var(--gray-700); color:var(--gray-100); }
.e360-media-notice a { color:inherit; text-decoration:underline; text-underline-offset:4px; }
@media (max-width:767px) {
    .e360-document-preview object { height:480px; }
}

/* Fiches documentaires : compositions communes, variantes déterminées par le format. */
.e360-resource-detail__hero { padding:24px 0 64px; border-bottom:1px solid var(--news-line); }
.e360-resource-detail__hero--split { display:grid; grid-template-columns:minmax(0,7fr) minmax(0,5fr); align-items:center; gap:64px; }
.e360-resource-detail__header { max-width:1000px; min-width:0; }
.e360-resource-detail__header h1 { font-size:clamp(36px,4.5vw,68px); line-height:1.08; letter-spacing:-2px; color:var(--news-ink); margin:0 0 28px; overflow-wrap:anywhere; }
.e360-resource-detail__hero--split h1 { font-size:clamp(36px,3.7vw,56px); }
.e360-resource-detail__summary { font-size:clamp(18px,1.6vw,22px); line-height:1.6; color:var(--news-muted); margin:0 0 24px; }
.e360-resource-detail__byline { font-size:15px; color:var(--news-muted); margin:16px 0 0; }
.e360-resource-detail__actions { display:flex; flex-wrap:wrap; align-items:center; gap:20px 28px; margin-top:32px; }
.e360-resource-detail .at-btn { white-space:normal; text-align:center; gap:16px; }
.e360-resource-detail__media { min-width:0; scroll-margin-top:120px; }
.e360-resource-detail__hero:not(.e360-resource-detail__hero--split) .e360-resource-detail__media { margin-top:44px; }
.e360-resource-detail__figure { margin:0; position:relative; }
.e360-resource-detail__cover { display:block; width:100%; height:auto; max-height:560px; object-fit:contain; background:var(--resource-soft); }
.e360-resource-detail__figure figcaption { margin-top:12px; }
.e360-resource-detail__hero--split .e360-resource-card__fallback { width:100%; min-height:400px; aspect-ratio:4/5; flex-direction:column; gap:28px; }
.e360-resource-detail__figure .e360-resource-card__fallback svg { width:112px; height:112px; }
.e360-resource-detail[data-resource-variant="document"] .e360-resource-detail__figure { padding:32px; background:var(--resource-soft); }
.e360-resource-detail[data-resource-variant="document"] .e360-resource-detail__cover { max-height:500px; }
.e360-resource-detail[data-resource-variant="guide"] .e360-resource-card__fallback { background:var(--resource-soft); border-left:2px solid var(--news-link,var(--at-theme-primary)); }
.e360-resource-detail[data-resource-variant="statement"] .e360-resource-detail__hero { padding-bottom:48px; }
.e360-resource-detail[data-resource-variant="statement"] h1 { max-width:1050px; font-size:clamp(34px,4vw,60px); }
.e360-resource-detail[data-resource-variant="statement"] .e360-resource-detail__cover { max-height:360px; object-position:left center; }
.e360-resource-detail[data-resource-variant="audio"] .e360-audio .e360-audio__layout { display:block; }
.e360-resource-detail[data-resource-variant="audio"] .e360-audio .e360-audio__list { display:none; }
.e360-resource-detail[data-resource-variant="audio"] .e360-audio :is(.amplitude-repeat,.amplitude-prev,.amplitude-next,.amplitude-shuffle) { display:none; }
.e360-resource-detail[data-resource-variant="audio"] .e360-audio .e360-audio__controls { justify-content:center; }
.e360-resource-detail[data-resource-variant="audio"] .e360-audio .album-art { max-height:300px; object-fit:cover; }
.e360-resource-detail[data-resource-variant="audio"] .e360-audio__fallback { min-height:230px; }
.e360-resource-detail__reading-grid { padding-block:64px; align-items:stretch; }
.e360-resource-detail__content-col { min-width:0; }
.e360-resource-detail__body { max-width:780px; margin:0; scroll-margin-top:120px; }
.e360-resource-detail__body > :first-child { margin-top:0; }
.e360-resource-detail__description { font-size:21px; line-height:1.7; }
.e360-resource-detail .sec-2-portfolio-details-4__sidebar { position:sticky; top:120px; padding:28px; background:var(--resource-soft); border:1px solid var(--news-line); }
.e360-resource-detail__information h2 { font-size:26px; line-height:1.25; margin:0 0 24px; color:var(--news-ink); }
.e360-resource-detail__information h3 { font-size:18px; margin:28px 0 16px; color:var(--news-ink); }
.e360-resource-detail__metadata { display:block; margin:0; }
.e360-resource-detail__metadata > div { display:flex; flex-wrap:wrap; align-items:baseline; justify-content:space-between; gap:6px 16px; padding:14px 0; border-top:1px solid var(--news-line); }
.e360-resource-detail__metadata dt { font-size:14px; font-weight:500; color:var(--news-muted); }
.e360-resource-detail__metadata dd { margin:0; max-width:100%; font-size:16px; line-height:1.5; color:var(--news-ink); overflow-wrap:anywhere; }
.e360-resource-detail__programs ul { padding:0; list-style:none; }
.e360-resource-detail__programs li + li { margin-top:12px; }
.e360-resource-detail__programs a { color:var(--news-link,var(--at-theme-primary)); text-decoration:underline; text-underline-offset:4px; }
.e360-editorial-reading { margin:40px 0 0; padding:28px; background:var(--resource-soft,var(--news-paper)); border:1px solid var(--news-line); color:var(--news-ink); }
.e360-editorial-reading h2 { font-size:28px; line-height:1.2; margin:0 0 20px; color:inherit; }
.e360-editorial-reading ul { list-style:none; padding:0; margin:24px 0 0; }
.e360-editorial-reading li + li { margin-top:12px; }
.e360-resource-detail .e360-document-preview { margin:32px 0 0; }
.e360-resource-detail__related { padding:64px 0; border-top:1px solid var(--news-line); background:var(--resource-soft); }
.e360-resource-detail__section-head { display:flex; flex-wrap:wrap; align-items:baseline; justify-content:space-between; gap:20px; margin-bottom:36px; }
.e360-resource-detail__section-head h2 { font-size:clamp(30px,3vw,42px); color:var(--news-ink); margin:0; }
.e360-resource-detail :is(a,button,summary,[tabindex]):focus-visible { outline:2px solid var(--news-link,var(--at-theme-primary)); outline-offset:4px; }
@media (max-width:1199px) { .e360-resource-detail__hero--split { gap:36px; } }
@media (max-width:991px) {
    .e360-resource-detail__hero--split { grid-template-columns:minmax(0,1fr); }
    .e360-resource-detail__hero--split .e360-resource-detail__media { width:100%; max-width:640px; }
    .e360-resource-detail__hero--split .e360-resource-card__fallback { min-height:280px; aspect-ratio:16/9; }
    .e360-resource-detail__reading-grid { padding-block:44px; }
    .e360-resource-detail .sec-2-portfolio-details-4__sidebar { position:static; }
}
@media (max-width:575px) {
    .e360-resource-detail { padding-top:24px; }
    .e360-resource-detail__hero { padding:16px 0 36px; }
    .e360-resource-detail__header h1 { letter-spacing:-1px; }
    .e360-resource-detail__description { font-size:19px; }
    .e360-resource-detail__actions { gap:20px; }
    .e360-resource-detail__hero--split .e360-resource-card__fallback { min-height:240px; }
    .e360-resource-detail[data-resource-variant="document"] .e360-resource-detail__figure { padding:20px; }
    .e360-editorial-reading, .e360-resource-detail .sec-2-portfolio-details-4__sidebar { padding:22px; }
    .e360-resource-detail__related { padding:40px 0; }
    .e360-resource-detail .e360-resources__orientation h2 { font-size:28px; }
}
/* Décompte ORISA : mêmes classes et surfaces, sans priorité forcée ni date dans le style. */
.box-count { text-align: left; margin: 0 0 20px; }
.box-count .deals-countdown { display: flex; padding: 4px 0; width: 100%; margin: auto; max-width: 100%; }
.box-count .countdown-section { display: inline-block; text-align: center; line-height: 12px; position: relative; }
.box-count .countdown-section span { display: block; }
.box-count.box-count-square { margin-bottom: 5px; }
.box-count.box-count-square .deals-countdown { gap: 16px; }
.box-count.box-count-square .countdown-section { flex: 1 1 0; min-width: 0; max-width: 176px; }
.box-count.box-count-square .countdown-period { color: var(--at-neutral-900); font-size: 24px; line-height: normal; font-weight: 600; }
.box-count.box-count-square .countdown-amount { background: var(--at-neutral-50); border-radius: 12px; color: var(--at-neutral-900); padding: 50px 4px; height: 180px; margin-bottom: 5px; font-size: 72px; font-weight: 600; line-height: 76px; font-variant-numeric: tabular-nums; overflow-wrap: anywhere; }
.box-count.box-count-square [data-e360-countdown-digits="wide"] { font-size: 36px; }
.box-count.box-count-square [data-e360-countdown-digits="many"] { font-size: 20px; }
.e360-page-coming-soon .e360-countdown-date { font-size: 16px; line-height: 24px; }
.public-site-footer.footer-variant--compact .at-footer-area { padding-top: 24px; padding-bottom: 24px; }
.public-site-footer.footer-variant--compact .public-site-footer__legal { margin-top: 0; border-top: 0; }
@media (min-width: 1400px) {
    .e360-page-coming-soon .sec-1-coming-soon .deals-countdown { justify-content: flex-end; }
}
@media (min-width: 768px) and (max-width: 991px) {
    .box-count.box-count-square .countdown-section { max-width: 130px; }
    .box-count.box-count-square .countdown-amount { height: 140px; font-size: 40px; line-height: 40px; }
    .box-count.box-count-square .countdown-period { font-size: 20px; line-height: 20px; }
}
@media (max-width: 767px) {
    .e360-page-coming-soon .sec-1-coming-soon { padding-top: 120px; }
    .e360-page-coming-soon .sec-1-coming-soon .fz-font-3xl { font-size: 24px; }
}
@media (max-width: 574.98px) {
    .box-count.box-count-square .deals-countdown { gap: 12px; }
    .box-count.box-count-square .countdown-section { max-width: 80px; }
    .box-count.box-count-square .countdown-amount { height: 70px; padding: 22px 2px; font-size: 24px; line-height: 24px; }
    .box-count.box-count-square .countdown-period { font-size: 16px; line-height: 20px; }
    .box-count.box-count-square [data-e360-countdown-digits="wide"] { font-size: 20px; }
    .box-count.box-count-square [data-e360-countdown-digits="many"] { font-size: 10px; }
}
@media (max-width: 375px) {
    .box-count.box-count-square .countdown-period { font-size: 14px; }
}
/* E360_EVENT_DETAIL_START — Hero et métadonnées portfolio ORISA, lecture éditoriale partagée. */
.e360-event { padding: 64px 0 100px; color: var(--news-ink); background: var(--news-paper); }
.e360-event__hero { display: grid; gap: 64px; align-items: center; padding: 32px 0 64px; }
.e360-event__hero.has-media { grid-template-columns: minmax(0, 1.2fr) minmax(0, 1fr); }
.e360-event__intro, .e360-event__body { min-width: 0; }
.e360-event h1 { font-size: clamp(38px, 4.4vw, 64px); line-height: 1.08; font-weight: 500; letter-spacing: -2px; margin: 0 0 24px; overflow-wrap: anywhere; text-wrap: balance; }
.e360-event .e360-event__title--long { font-size: clamp(34px, 3.6vw, 52px); letter-spacing: -1.5px; }
.e360-event .e360-event__title--extended { font-size: clamp(30px, 3vw, 44px); letter-spacing: -1px; }
.e360-event__summary { font-size: 21px; line-height: 1.55; max-width: 680px; margin: 0 0 24px; }
.e360-event__image img { display: block; width: 100%; height: 100%; object-fit: cover; }
.e360-event__state { width: fit-content; font-size: 14px; line-height: 1.5; font-weight: 600; padding: 4px 0; margin: 0 0 12px; color: var(--news-muted); }
.e360-event__when { font-size: clamp(16px, 1.8vw, 18px); line-height: 1.6; margin: 0 0 24px; }
.e360-event__when time { font-weight: 500; }
.e360-event__when span { display: block; color: var(--news-muted); font-size: 16px; margin-top: 4px; }
.e360-event__participation { margin-bottom: 18px; }
.e360-event .btn-register-event { box-shadow: none; }
.e360-event__countdown { padding: 24px 0 0; margin-top: 24px; border-top: 1px solid var(--news-line); }
.e360-event__countdown:has([data-e360-countdown-running][hidden]):has([data-e360-countdown-expired][hidden]) { display: none; }
.e360-event__countdown p { margin: 0 0 12px; font-size: 14px; }
.e360-event__countdown [data-e360-countdown-expired] { font-size: 20px; }
.e360-event__clock { display: flex; gap: 32px; }
.e360-event__clock > span { display: flex; flex-direction: column; gap: 4px; }
.e360-event__clock strong { font-size: 28px; line-height: 1.1; font-weight: 500; font-variant-numeric: tabular-nums; }
.e360-event__clock [data-e360-countdown-digits="wide"] { font-size: 24px; }
.e360-event__clock [data-e360-countdown-digits="many"] { font-size: 20px; }
.e360-event__clock span span { font-size: 14px; color: var(--news-muted); }
.e360-event__essentials { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 32px; margin: 0 0 56px; padding: 32px 0; border-block: 1px solid var(--news-line); }
.e360-event__essentials dt { font-size: 14px; font-weight: 500; margin-bottom: 12px; color: var(--news-muted); }
.e360-event__essentials dd { margin: 0; font-size: 20px; line-height: 1.5; overflow-wrap: anywhere; }
.e360-event__essentials :is(a, dd > span) { display: block; margin-top: 12px; font-size: 14px; line-height: 1.6; }
.e360-event__essentials a { color: var(--news-link, var(--at-theme-primary)); text-decoration: underline; text-underline-offset: 4px; }
.e360-event__context { margin-bottom: 48px; }
.e360-event__context .e360-editorial-links { margin: 0; }
.e360-event__context ul { display: flex; flex-wrap: wrap; gap: 24px 48px; }
.e360-event__context .e360-editorial-links li + li { margin-top: 0; }
.e360-event h2, .e360-event .event-section-title { font-size: clamp(28px, 3vw, 40px); line-height: 1.2; font-weight: 500; margin: 0 0 32px; }
.e360-event :is(h2, h3, [id^="journee-"]) { scroll-margin-top: 120px; }
.e360-event__programme { margin-bottom: 72px; }
.e360-event__day { display: grid; grid-template-columns: minmax(180px, .6fr) minmax(0, 1fr); gap: 64px; border-top: 1px solid var(--news-line); padding: 36px 0; }
.e360-event__day-date h3 { margin: 0; }
.e360-event__day-date .e360-article__eyebrow { display: block; margin-bottom: 16px; }
.e360-event__day-date .e360-event__timezone { display: block; margin-top: 12px; line-height: 1.5; }
.e360-event__day-date time { display: block; font-size: 26px; line-height: 1.35; font-weight: 500; }
.e360-event__day-date p { margin: 12px 0 0; font-size: 22px; font-variant-numeric: tabular-nums; }
.e360-event__day-content h4 { font-size: 24px; font-weight: 500; margin: 0 0 12px; }
.e360-event__day-content p { margin-bottom: 12px; overflow-wrap: anywhere; }
.e360-event__day-people { padding: 0; margin: 24px 0; list-style: none; }
.e360-event__day-people li + li { margin-top: 8px; }
.e360-event__booking { display: flex; flex-wrap: wrap; gap: 8px 16px; padding-top: 12px; }
.e360-event__timezone { color: var(--news-muted); }
.e360-event__places { color: var(--news-link, var(--at-theme-primary)); }
.e360-event .event-text { max-width: 800px; margin: 0 auto 80px; }
.e360-event .entry-content { font-size: 18px; line-height: 1.8; overflow-wrap: anywhere; }
.e360-event .entry-content :is(h2,h3,h4) { margin: 40px 0 20px; line-height: 1.3; }
.e360-event .entry-content :is(p,ul,ol) { margin-bottom: 24px; }
.e360-event .entry-content blockquote { padding: 24px 0 24px 28px; margin: 32px 0; border-left: 1px solid var(--news-line); }
.e360-event .entry-content a { text-underline-offset: 4px; }
.e360-event .speaker-list-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 40px; margin: 0 0 64px; }
.e360-event .speaker-list-item { display: block; padding: 0; background: transparent; border: 0; box-shadow: none; border-radius: 0; }
.e360-event .speaker-avatar-container { width: 100%; height: auto; margin: 0 0 20px; border-radius: 0; overflow: hidden; }
.e360-event .speaker-avatar-img { width: 100%; height: auto; aspect-ratio: 4 / 3; object-fit: cover; border-radius: 0; }
.e360-event .speaker-list-item .fw-bold { font-size: 24px; line-height: 1.3; margin-bottom: 10px; }
.e360-event .speaker-list-item .small { font-size: 16px; line-height: 1.6; }
.e360-event__gallery, .e360-event__related { border-top: 1px solid var(--news-line); margin-top: 72px; padding-top: 56px; }
.e360-event__gallery-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px; }
.e360-event__gallery-grid img { display: block; width: 100%; height: auto; aspect-ratio: 4 / 3; object-fit: cover; }
.e360-event__organizer { display: flex; flex-wrap: wrap; gap: 12px 24px; border-top: 1px solid var(--news-line); padding-top: 24px; margin-top: 40px; }
.e360-event__organizer dt, .e360-event__organizer dd { margin: 0; font-size: 16px; }
.e360-event__closing { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 64px; border-top: 1px solid var(--news-line); margin-top: 72px; padding-top: 48px; }
.e360-event__closing h2 { font-size: 32px; margin-bottom: 20px; }
.e360-event__closing section > p { max-width: 540px; font-size: 18px; line-height: 1.7; margin-bottom: 24px; }
.e360-event :is(a,button,summary):focus-visible { outline: 2px solid var(--news-link, var(--at-theme-primary)); outline-offset: 5px; }
@media (max-width: 1024px) {
  .e360-event__hero, .e360-event__day { gap: 36px; }
  .e360-event .e360-event__summary { font-size: 20px; }
  .e360-event__essentials { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 991px) {
  .e360-event { padding: 40px 0 80px; }
  .e360-event__hero.has-media { grid-template-columns: minmax(0, 1fr); }
  .e360-event__image { aspect-ratio: 16 / 10; }
  .e360-event .speaker-list-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 575px) {
  .e360-event { padding: 24px 0 64px; }
  .e360-event h1 { letter-spacing: -1px; }
  .e360-event__hero { padding: 24px 0 40px; gap: 32px; }
  .e360-event .e360-event__summary { font-size: 18px; }
  .e360-event__clock { gap: 28px; }
  .e360-event__essentials { grid-template-columns: minmax(0, 1fr); gap: 24px; padding: 28px 0; margin-bottom: 40px; }
  .e360-event__essentials dt { margin-bottom: 6px; }
  .e360-event__essentials dd { font-size: 18px; }
  .e360-event__day { grid-template-columns: minmax(0, 1fr); gap: 20px; padding: 28px 0; }
  .e360-event__day-date time { font-size: 24px; }
  .e360-event__programme { margin-bottom: 44px; }
  .e360-event .event-text { margin-bottom: 48px; }
  .e360-event .speaker-list-grid, .e360-event__gallery-grid, .e360-event__closing { grid-template-columns: minmax(0, 1fr); }
  .e360-event__gallery, .e360-event__related, .e360-event__closing { margin-top: 48px; padding-top: 36px; }
  .e360-event__closing { gap: 32px; }
}
@media (prefers-reduced-motion: reduce) {
  .e360-event .sec-1-portfolio-details-3__demo { transition: none; }
  .e360-event .sec-1-portfolio-details-3__demo:hover { transform: none; }
}
/* E360_EVENT_DETAIL_END */

/* E360_AGENDA_START — compositions Portfolio 3, Archive et Home 7 ; exploration FullCalendar partagée. */
.e360-agenda .e360-agenda__hero { padding: 40px 0 88px; background: var(--news-paper); }
.e360-agenda .e360-agenda__hero h1 { max-width: 780px; margin: 0 0 28px; font-weight: 500; font-size: clamp(48px, 5.3vw, 78px); line-height: 1.06; letter-spacing: -3px; }
.e360-agenda .e360-agenda__toolbar { display: flex; align-items: center; justify-content: space-between; gap: 20px; padding: 0 0 20px; }
.e360-agenda .e360-agenda__section-title { font-size: 22px; font-weight: 500; line-height: 1.3; }
.e360-agenda .e360-agenda__switch { display: inline-flex; flex-shrink: 0; gap: 4px; padding: 4px; border: 1px solid var(--news-line); border-radius: 32px; }
.e360-agenda .e360-agenda__switch a { display: inline-flex; align-items: center; justify-content: center; gap: 8px; min-height: 44px; padding: 8px 22px; border-radius: 24px; color: var(--news-ink); font-size: 16px; }
.e360-agenda .e360-agenda__switch a[aria-current] { color: var(--news-paper); background: var(--news-ink); }
.e360-agenda .e360-agenda__switch a:not([aria-current]):hover { background: var(--news-soft); }
.e360-agenda .e360-agenda__periods { display: flex; flex-wrap: wrap; gap: 8px 24px; padding: 0 0 16px; font-size: 15px; }
.e360-agenda .e360-agenda__periods a { padding: 6px 0; color: var(--news-muted); }
.e360-agenda .e360-agenda__periods a[aria-current] { color: var(--at-theme-primary); text-decoration: underline; text-underline-offset: 6px; }
.e360-agenda [data-calendar-fallback] { margin-bottom: 24px; font-size: 16px; }
.e360-agenda .e360-agenda__filter-panel { margin-bottom: 28px; border-bottom: 1px solid var(--news-line); }
.e360-agenda summary { cursor: pointer; font-size: 16px; line-height: 1.5; }
.e360-agenda summary::marker { color: var(--news-muted); }
.e360-agenda .e360-agenda__filter-panel > summary { padding: 14px 0; font-weight: 500; }
.e360-agenda .e360-agenda__filters { padding: 20px 0 28px; }
.e360-agenda .e360-agenda__filters :is(input, select) { border-color: var(--news-line); min-height: 46px; color: var(--news-ink); background-color: var(--news-paper); }
.e360-agenda .e360-agenda__entry { display: grid; grid-template-columns: 88px minmax(0, 1fr); gap: 32px; align-items: start; padding: 28px 0; border-bottom: 1px solid var(--news-line); }
.e360-agenda .e360-agenda__entry.has-media { grid-template-columns: 88px minmax(0, 1fr) 220px; }
.e360-agenda .e360-agenda__date { display: flex; flex-direction: column; text-align: center; line-height: 1; color: var(--news-ink); padding-top: 4px; }
.e360-agenda .e360-agenda__date-number { font-size: 64px; font-weight: 500; letter-spacing: -3px; }
.e360-agenda .e360-agenda__date-month { margin-top: 8px; text-transform: uppercase; font-size: 16px; font-weight: 500; }
.e360-agenda .e360-agenda__date-year { margin-top: 10px; font-size: 14px; color: var(--news-muted); }
.e360-agenda .e360-agenda__content { min-width: 0; }
.e360-agenda .e360-agenda__labels { display: flex; flex-wrap: wrap; align-items: center; gap: 10px 16px; margin-bottom: 14px; }
.e360-agenda .e360-agenda__state { padding: 4px 10px; border: 1px solid var(--news-line); border-radius: 20px; font-size: 12px; line-height: 1.4; color: var(--news-muted); }
.e360-agenda [data-agenda-state="open"].e360-agenda__state { color: var(--news-link, var(--at-theme-primary)); border-color: currentColor; }
.e360-agenda .e360-agenda__event-title { margin: 0 0 14px; font-size: clamp(24px, 2.4vw, 34px); line-height: 1.2; letter-spacing: -1px; }
.e360-agenda :is(.e360-agenda__day-label, .e360-agenda__program) { font-size: 15px; line-height: 1.5; margin-bottom: 10px; }
.e360-agenda .e360-agenda__program a { text-decoration: underline; text-underline-offset: 3px; }
.e360-agenda .e360-agenda__practical { margin-top: 18px; font-size: 16px; line-height: 1.5; }
.e360-agenda .e360-agenda__practical p { margin-bottom: 6px; }
.e360-agenda .e360-agenda__local-time { font-size: 13px; color: var(--news-muted); }
.e360-agenda .e360-agenda__actions { display: flex; flex-wrap: wrap; align-items: center; gap: 12px 20px; margin-top: 24px; }
.e360-agenda .e360-agenda__participate { display: inline-flex; align-items: center; justify-content: space-between; gap: 16px; min-height: 46px; padding: 10px 18px; border-radius: 28px; background: var(--at-theme-primary); color: #fff; font-size: 15px; line-height: 1.5; }
.e360-agenda .e360-agenda__participate:is(:hover, :focus-visible) { background: var(--news-ink); color: var(--news-paper); }
.e360-agenda .e360-agenda__actions > .about-5-text-link { padding: 10px 0; font-size: 15px; }
.e360-agenda .e360-calendar-actions { flex-basis: 100%; font-size: 14px; }
.e360-calendar-actions summary { width: fit-content; padding: 12px 0; font-size: 16px; }
.e360-calendar-actions__links { display: flex; flex-wrap: wrap; gap: 12px 24px; padding: 8px 0; }
.e360-calendar-actions__links > a { min-height: 44px; display: inline-flex; align-items: center; gap: 8px; font-size: 14px; }
.e360-calendar-actions__scope, .e360-calendar-actions__help { flex-basis: 100%; margin: 0; font-size: 14px; }
.e360-calendar-actions__help { color: var(--news-muted); }
.e360-calendar-actions { margin-top: 12px; }
.e360-calendar-actions summary:focus-visible { outline: 2px solid var(--at-theme-primary); outline-offset: 4px; }
.e360-agenda .e360-agenda__image { width: 100%; height: auto; aspect-ratio: 4 / 3; overflow: hidden; border-radius: 0; }
.e360-agenda .e360-agenda__image img { width: 100%; height: 100%; object-fit: cover; }
.e360-agenda .e360-agenda__calendar { padding: 24px 0 0; border-top: 1px solid var(--news-line); }
.e360-agenda .e360-agenda__timezone { font-size: 14px; line-height: 1.6; color: var(--news-muted); margin-bottom: 24px; }
.e360-agenda [data-calendar-feedback]:empty { display: none; }
.e360-agenda .fc { --fc-border-color: var(--news-line); --fc-page-bg-color: var(--news-paper); --fc-neutral-bg-color: var(--news-soft); --fc-list-event-hover-bg-color: var(--news-soft); --fc-today-bg-color: color-mix(in srgb, var(--at-theme-primary) 6%, var(--news-paper)); --fc-button-text-color: var(--news-ink); --fc-button-bg-color: var(--news-paper); --fc-button-border-color: var(--news-line); --fc-button-hover-bg-color: var(--news-soft); --fc-button-hover-border-color: var(--news-ink); --fc-button-active-bg-color: var(--news-ink); --fc-button-active-border-color: var(--news-ink); --fc-event-bg-color: var(--at-theme-primary); --fc-event-border-color: var(--at-theme-primary); --fc-event-text-color: #fff; color: var(--news-ink); font-family: inherit; }
.e360-agenda .fc .fc-toolbar { flex-wrap: wrap; gap: 16px; margin-bottom: 24px; }
.e360-agenda .fc .fc-toolbar-title { font-size: 26px; line-height: 1.2; letter-spacing: -1px; text-transform: capitalize; }
.e360-agenda .fc .fc-button { min-height: 44px; padding: 8px 12px; font-family: inherit; font-size: 14px; border-radius: 6px; box-shadow: none; }
.e360-agenda .fc .fc-button-primary:not(:disabled):is(:active, .fc-button-active) { color: var(--news-paper); }
.e360-agenda .fc .fc-button-primary:focus { box-shadow: none; }
.e360-agenda .fc .fc-button:disabled { opacity: .5; }
.e360-agenda .fc .fc-col-header-cell-cushion { padding: 12px 4px; font-size: 13px; font-weight: 500; text-transform: capitalize; }
.e360-agenda .fc .fc-daygrid-day-number { padding: 8px; font-size: 14px; }
.e360-agenda .fc .fc-day-today .fc-daygrid-day-number { color: var(--at-theme-primary); font-weight: 600; }
.e360-agenda .fc-event { white-space: normal; overflow-wrap: anywhere; }
.e360-agenda .fc .fc-event-time { flex-shrink: 0; white-space: nowrap; font-size: 12px; }
.e360-agenda .fc .fc-daygrid-dot-event { align-items: flex-start; padding: 4px; border-radius: 4px; font-size: 12px; font-weight: 400; }
.e360-agenda .fc .fc-daygrid-event .fc-event-title { display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 2; overflow: hidden; }
.e360-agenda .fc .fc-daygrid-event-dot { margin: 6px 5px 0 0; border-width: 3px; }
.e360-agenda .fc .fc-list-day-cushion { padding: 14px; font-size: 16px; text-transform: capitalize; }
.e360-agenda .fc .fc-list-event td { padding: 16px 12px; font-size: 15px; }
.e360-agenda .fc-list-event-title a { text-decoration: underline; text-underline-offset: 3px; }
.e360-agenda .fc [data-agenda-state="cancelled"] { text-decoration: line-through; }
.e360-agenda :is(a, button, summary, [tabindex]):not(:where(form, input, select, textarea, .select2-selection)):focus-visible { outline: 2px solid var(--at-theme-primary); outline-offset: 4px; }
@media (max-width: 1199px) {
    .e360-agenda .e360-agenda__entry.has-media { grid-template-columns: 80px minmax(0, 1fr) 180px; gap: 24px; }
}
@media (max-width: 991px) {
    .e360-agenda .e360-agenda__entry.has-media { grid-template-columns: 80px minmax(0, 1fr); }
    .e360-agenda .e360-agenda__image { grid-column: 2; max-width: 360px; aspect-ratio: 16 / 9; }
}
@media (max-width: 767px) {
    .e360-agenda .e360-agenda__hero { padding: 20px 0 48px; }
    .e360-agenda .e360-agenda__hero h1 { font-size: clamp(39px, 8vw, 58px); letter-spacing: -1.8px; }
    .e360-agenda .e360-agenda__toolbar { flex-wrap: wrap; gap: 16px; padding: 16px 0; }
    .e360-agenda .e360-agenda__section-title { font-size: 20px; line-height: 1.3; }
    .e360-agenda .e360-agenda__filter-panel { margin-bottom: 8px; border-top: 1px solid var(--news-line); }
    .e360-agenda .e360-agenda__entry, .e360-agenda .e360-agenda__entry.has-media { grid-template-columns: 56px minmax(0, 1fr); gap: 18px; padding: 28px 0; }
    .e360-agenda .e360-agenda__date-number { font-size: 46px; letter-spacing: -2px; }
    .e360-agenda .e360-agenda__date-month { font-size: 14px; margin-top: 6px; }
    .e360-agenda .e360-agenda__event-title { font-size: 24px; line-height: 1.25; }
    .e360-agenda .e360-agenda__actions { gap: 10px; margin-top: 20px; }
    .e360-agenda .e360-agenda__participate { gap: 10px; padding: 10px 14px; font-size: 14px; }
    .e360-agenda .e360-agenda__calendar { padding: 16px 12px; border-radius: 8px; }
    .e360-agenda .fc .fc-toolbar { align-items: flex-start; flex-direction: column; gap: 12px; }
    .e360-agenda .fc .fc-toolbar-chunk:nth-child(2) { order: -1; margin-bottom: 4px; }
    .e360-agenda .fc .fc-toolbar-title { font-size: 23px; line-height: 1.3; }
    .e360-agenda .fc .fc-list-event td { padding: 12px 6px; font-size: 14px; }
    .e360-agenda .fc .fc-list-event-time { white-space: normal; width: 65px; }
    .e360-agenda .fc .fc-daygrid-dot-event { flex-wrap: wrap; gap: 2px; }
    .e360-agenda .fc .fc-daygrid-day-number { padding: 5px; font-size: 13px; }
    .e360-agenda .fc .fc-daygrid-event .fc-event-title { -webkit-line-clamp: 2; font-size: 11px; }
    .e360-agenda [data-calendar-current-view="timeGridWeek"] .fc-view-harness { overflow-x: auto; }
    .e360-agenda .fc .fc-timeGridWeek-view { min-width: 640px; }
    .e360-agenda .fc .fc-timegrid-event .fc-event-title { font-size: 11px; line-height: 1.3; }
}
/* La page garde les mêmes couleurs, boutons, grilles et images que le shell ORISA. */
.e360-agenda .e360-agenda__hero .breadcrumb { margin-bottom: 40px; }
.e360-agenda .e360-agenda__eyebrow { margin: 0 0 20px; color: var(--at-theme-primary); font-size: 13px; line-height: 1.5; font-weight: 600; letter-spacing: 1.5px; text-transform: uppercase; }
.e360-agenda .e360-agenda__hero h1 em { color: var(--at-theme-primary); font-weight: inherit; font-style: normal; }
.e360-agenda .e360-agenda__intro { max-width: 510px; margin: 0 0 32px; color: var(--news-muted); font-size: 19px; line-height: 1.7; }
.e360-agenda .e360-agenda__primary { display: inline-flex; justify-content: space-between; align-items: center; gap: 32px; min-height: 52px; padding: 16px 24px; border-radius: 32px; background: var(--at-theme-primary); color: #fff; font-size: 15px; line-height: 1.4; }
.e360-agenda .e360-agenda__primary:hover { background: var(--news-ink); color: #fff; }
.e360-agenda .e360-agenda__hero-photo { position: relative; margin: 0; aspect-ratio: 4 / 4.6; overflow: hidden; border-radius: 0; }
.e360-agenda .e360-agenda__hero-photo img { width: 100%; height: 100%; object-fit: cover; }
.e360-agenda .e360-agenda__hero-photo figcaption { position: absolute; bottom: 0; inset-inline: 0; padding: 32px 24px 20px; background: linear-gradient(transparent,rgba(12,18,29,.82)); color: #fff; font-size: 14px; }
.e360-agenda .e360-agenda__featured { padding: 64px 0; background: var(--news-soft); }
.e360-agenda .e360-agenda__section-heading { display: flex; justify-content: space-between; align-items: end; gap: 32px; margin-bottom: 36px; }
.e360-agenda .e360-agenda__section-heading h2 { margin: 0; font-size: clamp(32px,3.2vw,46px); line-height: 1.12; letter-spacing: -1.5px; }
.e360-agenda .e360-agenda__section-heading > p { max-width: 370px; margin: 0; color: var(--news-muted); font-size: 16px; line-height: 1.6; }
.e360-agenda .e360-agenda__explore { padding: 88px 0; background: var(--news-paper); }
.e360-agenda #agenda-explorer { position: relative; scroll-margin-top: 108px; }
.e360-agenda .e360-agenda__explorer { padding: 28px 32px; border: 1px solid var(--news-line); border-radius: 12px; }
.e360-agenda .e360-agenda__entry--featured.has-media { position: relative; grid-template-columns: minmax(0,1.1fr) minmax(0,1fr); align-items: center; gap: 64px; padding: 0; border: 0; }
.e360-agenda .e360-agenda__entry--featured .e360-agenda__image { grid-column: 1; grid-row: 1; max-width: none; aspect-ratio: 4 / 3; }
.e360-agenda .e360-agenda__entry--featured .e360-agenda__content { grid-column: 2; grid-row: 1; }
.e360-agenda .e360-agenda__entry--featured.has-media .e360-agenda__date { z-index: 1; grid-column: 1; grid-row: 1; justify-self: start; align-self: end; margin: 20px; padding: 18px 24px; background: var(--news-paper); }
.e360-agenda .e360-agenda__entry--featured .e360-agenda__event-title { font-size: clamp(30px,3.2vw,44px); }
.e360-agenda .e360-agenda__breathing { padding: 0; background: var(--news-soft); }
.e360-agenda .e360-agenda__breathing > .container { padding: 0; max-width: 100%; }
.e360-agenda .e360-agenda__community-photo { height: 100%; min-height: 440px; }
.e360-agenda .e360-agenda__community-photo img { width: 100%; height: 100%; min-height: 440px; object-fit: cover; }
.e360-agenda .e360-agenda__breathing .sec-7-home-7__content { display: flex; flex-direction: column; justify-content: center; height: 100%; padding: 56px; background: var(--news-ink); color: #fff; }
.e360-agenda .e360-agenda__breathing .e360-agenda__eyebrow { color: var(--at-neutral-300); }
.e360-agenda .e360-agenda__breathing .sec-7-home-7__headline { margin: 0 0 24px; color: #fff; font-size: clamp(32px,3vw,44px); line-height: 1.12; letter-spacing: -1px; }
.e360-agenda .e360-agenda__breathing .sec-7-home-7__content > p:last-child { margin: 0; max-width: 420px; color: var(--at-neutral-300); font-size: 17px; line-height: 1.7; }
.e360-agenda .e360-agenda__upcoming { padding: 88px 0; }
.e360-agenda .e360-agenda__entry--tile.has-media, .e360-agenda .e360-agenda__entry--tile { display: flex; flex-direction: column; gap: 16px; height: 100%; padding: 0 0 24px; }
.e360-agenda .e360-agenda__entry--tile .e360-agenda__image { order: -2; max-width: none; aspect-ratio: 4 / 3; }
.e360-agenda .e360-agenda__entry--tile .e360-agenda__date { flex-direction: row; align-items: baseline; gap: 10px; padding: 0; color: var(--at-theme-primary); }
.e360-agenda .e360-agenda__entry--tile .e360-agenda__date-number { font-size: 42px; letter-spacing: -1px; }
.e360-agenda .e360-agenda__entry--tile .e360-agenda__date-month, .e360-agenda .e360-agenda__entry--tile .e360-agenda__date-year { margin: 0; }
.e360-agenda .e360-agenda__entry--tile .e360-agenda__event-title { font-size: 26px; letter-spacing: -.5px; }
.e360-agenda .e360-agenda__entry--tile .e360-agenda__local-time { display: block; }
.e360-agenda .e360-agenda__closing { padding: 72px 0; background: var(--news-soft); }
.e360-agenda .e360-agenda__closing h2 { margin: 0 0 20px; font-size: clamp(32px,3.6vw,50px); line-height: 1.15; letter-spacing: -1.5px; }
.e360-agenda .e360-agenda__closing p { margin: 0; color: var(--news-muted); font-size: 17px; }
.e360-agenda .e360-agenda__drawer { --bs-offcanvas-width: 580px; z-index: 1301; background: var(--news-paper); }
.public-page--agenda .offcanvas-backdrop { z-index: 1300; }
.e360-agenda .e360-agenda__drawer .offcanvas-header { padding: 24px; border-bottom: 1px solid var(--news-line); }
.e360-agenda .e360-agenda__drawer .offcanvas-title { font-size: 18px; line-height: 1.4; }
.e360-agenda .e360-agenda__drawer .offcanvas-body { padding: 24px; }
.e360-agenda .e360-agenda__entry--preview, .e360-agenda .e360-agenda__entry--preview.has-media { display: flex; flex-direction: column; gap: 24px; padding: 0; border: 0; }
.e360-agenda .e360-agenda__entry--preview .e360-agenda__image { order: -1; max-width: none; }
.e360-agenda .e360-agenda__entry--preview .e360-agenda__date { flex-direction: row; align-items: baseline; gap: 12px; }
.e360-agenda .e360-agenda__entry--preview .e360-agenda__date-number { font-size: 48px; }
.e360-agenda .e360-agenda__preview-loading { min-height: 280px; padding: 32px; background: var(--news-soft); }
.e360-agenda .e360-list-feedback { position: sticky; top: 96px; z-index: 2; display: flex; align-items: center; gap: 12px; background: var(--news-paper); border: 1px solid var(--news-line); }

/* LOT 17.3 — famille légale : composition ORISA partagée et contenus CMS. */
.e360-legal-page {
    --legal-ink: var(--at-neutral-950);
    --legal-muted: var(--at-neutral-500);
    --legal-line: var(--at-neutral-100);
    --legal-paper: var(--at-neutral-0);
    --legal-soft: var(--at-neutral-50);
    background: var(--legal-paper);
    color: var(--legal-ink);
    overflow-x: clip;
}
html:has(body.e360-legal-page) { overflow-x: clip; }
.e360-legal-hero {
    position: relative;
    padding: 190px 0 92px;
    border-bottom: 1px solid color-mix(in srgb, var(--legal-ink), transparent 86%);
    background:
        radial-gradient(circle at 82% 24%, color-mix(in srgb, var(--e360-primary), transparent 76%) 0, transparent 28%),
        linear-gradient(135deg, var(--legal-soft) 0%, var(--legal-paper) 68%);
}
.e360-legal-hero--terms { background: linear-gradient(145deg, #f2f2f2 0%, #fefefe 62%, color-mix(in srgb, var(--e360-primary), white 92%) 100%); }
.e360-legal-hero--privacy { background: linear-gradient(135deg, #eef4ff 0%, #fefefe 68%); }
.e360-legal-hero--cookies { background: linear-gradient(135deg, #f7f1e7 0%, #fefefe 68%); }
.e360-legal-hero--rights { background: linear-gradient(135deg, #edf7f2 0%, #fefefe 68%); }
.e360-legal-hero__eyebrow,
.e360-legal-kicker,
.e360-legal-sidebar__label {
    margin: 0 0 18px;
    color: var(--e360-primary);
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 1.5px;
    text-transform: uppercase;
}
.e360-legal-hero__title {
    max-width: 980px;
    margin: 0;
    font-size: clamp(52px, 7vw, 108px);
    line-height: .92;
    letter-spacing: -5px;
}
.e360-legal-hero__intro {
    margin: 0;
    color: var(--legal-muted);
    font-size: 18px;
    line-height: 1.65;
}
.e360-legal-hero__updated {
    display: flex;
    flex-wrap: wrap;
    gap: 8px 20px;
    margin: 24px 0 0;
    padding-top: 18px;
    border-top: 1px solid var(--legal-line);
    color: var(--legal-muted);
    font-size: 13px;
}
.e360-legal-main { padding: 96px 0 120px; }
.e360-legal-layout {
    justify-content: space-between;
    gap: 72px;
}
.e360-legal-sidebar {
    position: sticky;
    top: 118px;
    align-self: start;
    padding: 24px 0;
    border-top: 1px solid var(--legal-ink);
    border-bottom: 1px solid var(--legal-line);
    max-height: calc(100vh - 150px);
    overflow-y: auto;
}
.e360-legal-sidebar ol,
.e360-legal-mobile-nav ol { display: grid; gap: 12px; margin: 0; padding: 0; list-style: none; }
.e360-legal-sidebar a,
.e360-legal-mobile-nav a { color: var(--legal-muted); font-size: 14px; line-height: 1.45; text-decoration: none; }
.e360-legal-sidebar a,
.e360-legal-mobile-nav a { display: grid; grid-template-columns: 28px minmax(0, 1fr); gap: 8px; }
.e360-legal-sidebar a span,
.e360-legal-mobile-nav a span { color: var(--e360-primary); font-size: 11px; font-weight: 700; letter-spacing: .4px; }
.e360-legal-sidebar a:hover,
.e360-legal-sidebar a:focus-visible,
.e360-legal-mobile-nav a:hover,
.e360-legal-mobile-nav a:focus-visible { color: var(--e360-primary); }
.e360-legal-document { min-width: 0; }
.e360-legal-copy > h2,
.e360-legal-identity h2,
.e360-legal-request h2,
.e360-legal-cta h2 {
    margin: 0 0 22px;
    font-size: clamp(30px, 3.4vw, 48px);
    line-height: 1.08;
    letter-spacing: -1.6px;
    scroll-margin-top: 128px;
}
.e360-legal-copy > h2:not(:first-child) { margin-top: 72px; padding-top: 72px; border-top: 1px solid var(--legal-line); }
.e360-legal-section-number { display: block; margin-bottom: 13px; color: var(--e360-primary); font-size: 12px; font-weight: 700; letter-spacing: 1.2px; }
.e360-legal-copy p,
.e360-legal-reference p,
.e360-legal-request__intro p {
    max-width: 760px;
    margin: 0;
    color: var(--legal-muted);
    font-size: 17px;
    line-height: 1.8;
}
.e360-legal-copy :is(ul, ol) { display: grid; gap: 10px; margin: 22px 0 0; padding-left: 22px; color: var(--legal-muted); }
.e360-legal-copy code { padding: 2px 6px; border: 1px solid var(--legal-line); border-radius: 4px; background: var(--legal-soft); color: var(--legal-ink); font-size: .9em; }
.e360-legal-copy .table-responsive { margin-top: 28px; }
.e360-legal-copy table,
.e360-legal-retention table,
.e360-legal-providers table { width: 100%; border-collapse: collapse; border-top: 1px solid var(--legal-ink); }
.e360-legal-copy th,
.e360-legal-copy td,
.e360-legal-retention th,
.e360-legal-retention td,
.e360-legal-providers th,
.e360-legal-providers td { padding: 18px 16px; border-bottom: 1px solid var(--legal-line); color: var(--legal-muted); font-size: 15px; line-height: 1.55; text-align: left; vertical-align: top; }
.e360-legal-copy thead th,
.e360-legal-retention thead th,
.e360-legal-providers thead th { color: var(--legal-ink); font-size: 12px; letter-spacing: .5px; text-transform: uppercase; }
.e360-legal-retention tbody th,
.e360-legal-providers tbody th { width: 34%; color: var(--legal-ink); font-weight: 650; }
.e360-legal-copy a,
.e360-legal-reference a,
.e360-legal-identity a { color: var(--e360-primary); text-underline-offset: 4px; }
.e360-legal-identity {
    margin-bottom: 72px;
    padding: 38px;
    border: 1px solid var(--legal-line);
    border-radius: 18px;
    background: var(--legal-soft);
}
.e360-legal-identity dl { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); margin: 32px 0 0; border-top: 1px solid var(--legal-line); }
.e360-legal-identity dl div { padding: 20px 0; border-bottom: 1px solid var(--legal-line); }
.e360-legal-identity dl div:nth-child(odd) { padding-right: 24px; }
.e360-legal-identity dt { color: var(--legal-muted); font-size: 12px; font-weight: 600; text-transform: uppercase; }
.e360-legal-identity dd { margin: 8px 0 0; font-size: 16px; overflow-wrap: anywhere; }
.e360-legal-reference {
    margin-top: 76px;
    padding: 34px 36px;
    border-left: 3px solid var(--e360-primary);
    background: var(--legal-soft);
}
.e360-legal-reference a { display: inline-flex; margin-top: 18px; font-weight: 700; }
.e360-legal-retention,
.e360-legal-providers,
.e360-legal-related { margin-top: 76px; padding-top: 72px; border-top: 1px solid var(--legal-line); }
.e360-legal-retention h2,
.e360-legal-providers h2,
.e360-legal-related h2 { margin: 0 0 30px; font-size: clamp(30px, 3.4vw, 48px); line-height: 1.08; letter-spacing: -1.6px; }
.e360-legal-providers__transfer { margin: 26px 0 0; padding: 22px 24px; border-left: 3px solid var(--e360-primary); background: var(--legal-soft); color: var(--legal-muted); line-height: 1.7; }
.e360-legal-related ul { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1px; margin: 0; padding: 1px; background: var(--legal-line); list-style: none; }
.e360-legal-related a { display: flex; min-height: 92px; align-items: center; padding: 22px; background: var(--legal-paper); color: var(--legal-ink); font-weight: 700; line-height: 1.35; text-decoration: none; transition: color .2s ease, background-color .2s ease; }
.e360-legal-related a:hover,
.e360-legal-related a:focus-visible { background: var(--legal-soft); color: var(--e360-primary); }
.e360-legal-cta,
.e360-legal-request {
    margin-top: 76px;
    padding: 44px;
    border-radius: 18px;
    background: var(--legal-ink);
    color: var(--legal-paper);
}
.e360-legal-cta { display: flex; align-items: center; justify-content: space-between; gap: 32px; }
.e360-legal-cta .e360-legal-kicker,
.e360-legal-request .e360-legal-kicker { color: var(--e360-primary-on-dark); }
.e360-legal-cta h2 { color: inherit; }
.e360-legal-cta .at-btn { flex: 0 0 auto; border-color: var(--legal-paper); background: var(--legal-paper); color: var(--legal-ink); }
.e360-legal-request { scroll-margin-top: 110px; }
.e360-legal-request__intro { margin-bottom: 42px; }
.e360-legal-request__intro h2 { color: var(--legal-paper); }
.e360-legal-request__intro p { color: color-mix(in srgb, var(--legal-paper), transparent 28%); }
.e360-legal-request .sec-4-about-form { --at-neutral-950: #fefefe; --at-neutral-500: #b7b7b7; --contact-form-ink: #fefefe; --contact-form-muted: #b7b7b7; --e360-field-accent: var(--e360-primary-on-dark); }

[data-bs-theme="dark"] .e360-legal-page {
    --legal-ink: var(--at-neutral-dark-950);
    --legal-muted: var(--at-neutral-dark-500);
    --legal-line: var(--at-neutral-dark-200);
    --legal-paper: var(--at-neutral-dark-0);
    --legal-soft: var(--at-neutral-dark-50);
}
[data-bs-theme="dark"] .e360-legal-hero,
[data-bs-theme="dark"] :is(.e360-legal-hero--terms, .e360-legal-hero--privacy, .e360-legal-hero--cookies, .e360-legal-hero--rights) {
    background: radial-gradient(circle at 82% 24%, color-mix(in srgb, var(--e360-primary), transparent 72%) 0, transparent 28%), linear-gradient(135deg, var(--legal-soft), var(--legal-paper));
}
[data-bs-theme="dark"] .e360-legal-cta,
[data-bs-theme="dark"] .e360-legal-request { background: var(--at-neutral-900); }

@media (min-width: 992px) {
    .e360-legal-layout { display: grid; grid-template-columns: minmax(210px, 270px) minmax(0, 840px); }
}
@media (min-width: 1200px) {
    .e360-legal-layout:has([data-editorial-table-wide]) { grid-template-columns: minmax(210px, 270px) minmax(0, 1fr); }
}
@media (min-width: 992px) and (max-width: 1199px) {
    .e360-legal-hero { padding-top: 164px; }
    .e360-legal-layout { grid-template-columns: 220px minmax(0, 1fr); gap: 48px; }
}
@media (max-width: 991px) {
    .e360-legal-hero { padding: 144px 0 72px; }
    .e360-legal-hero__title { letter-spacing: -3px; }
    .e360-legal-main { padding: 64px 0 88px; }
    .e360-legal-mobile-nav { margin: 0 0 54px; border-top: 1px solid var(--legal-ink); border-bottom: 1px solid var(--legal-line); }
    .e360-legal-mobile-nav summary { padding: 20px 0; font-weight: 700; cursor: pointer; }
    .e360-legal-mobile-nav nav { padding: 0 0 24px; }
}
@media (max-width: 767px) {
    .e360-legal-hero { padding: 126px 0 56px; }
    .e360-legal-hero__title { font-size: clamp(42px, 13vw, 64px); letter-spacing: -2.5px; overflow-wrap: anywhere; }
    .e360-legal-hero__intro { font-size: clamp(16px, 4.1vw, 17px); }
    .e360-legal-copy > h2:not(:first-child) { margin-top: 52px; padding-top: 52px; }
    .e360-legal-copy p,
    .e360-legal-reference p,
    .e360-legal-request__intro p { font-size: 16px; line-height: 1.72; }
    .e360-legal-identity,
    .e360-legal-reference,
    .e360-legal-cta,
    .e360-legal-request { padding: 28px 22px; border-radius: 12px; }
    .e360-legal-identity dl { grid-template-columns: 1fr; }
    .e360-legal-identity dl div:nth-child(odd) { padding-right: 0; }
    .e360-legal-copy th,
    .e360-legal-copy td,
    .e360-legal-retention th,
    .e360-legal-retention td,
    .e360-legal-providers th,
    .e360-legal-providers td { min-width: 170px; padding: 15px 12px; font-size: 14px; }
    /* Le tableau large conserve les corps de texte et d'en-tête du bureau. */
    .e360-legal-copy .e360-article__table :is(th,td) { min-width: 0; font-size: 15px; }
    .e360-legal-copy .e360-article__table thead th { font-size: 12px; }
    .e360-legal-related ul { grid-template-columns: 1fr; }
    .e360-legal-cta { align-items: flex-start; flex-direction: column; }
    .e360-legal-cta .at-btn { width: 100%; justify-content: center; }
}
.e360-agenda [data-e360-list-loading] [data-agenda-list] { opacity: .45; }
@media (max-width: 991px) {
    .e360-agenda .e360-agenda__hero-photo { max-width: 680px; aspect-ratio: 16 / 10; }
    .e360-agenda .e360-agenda__entry--featured.has-media { gap: 32px; }
    .e360-agenda .e360-agenda__breathing .sec-7-home-7__content { padding: 48px 32px; }
    .e360-agenda .e360-agenda__community-photo, .e360-agenda .e360-agenda__community-photo img { min-height: 0; height: auto; aspect-ratio: 16 / 10; }
}
@media (max-width: 767px) {
    .e360-agenda .e360-agenda__hero .breadcrumb { margin-bottom: 24px; }
    .e360-agenda .e360-agenda__intro { font-size: 17px; line-height: 1.6; }
    .e360-agenda .e360-agenda__hero-photo { aspect-ratio: 16 / 10; }
    .e360-agenda .e360-agenda__hero-photo img { object-position: 50% 58%; }
    .e360-agenda .e360-agenda__featured, .e360-agenda .e360-agenda__explore, .e360-agenda .e360-agenda__upcoming, .e360-agenda .e360-agenda__closing { padding: 48px 0; }
    .e360-agenda .e360-agenda__section-heading { display: block; margin-bottom: 24px; }
    .e360-agenda .e360-agenda__section-heading h2 { margin-bottom: 16px; }
    .e360-agenda .e360-agenda__explorer { padding: 20px 16px; }
    .e360-agenda .e360-agenda__entry--featured.has-media { display: flex; flex-direction: column; gap: 20px; align-items: stretch; }
    .e360-agenda .e360-agenda__entry--featured .e360-agenda__image { order: -2; }
    .e360-agenda .e360-agenda__entry--featured.has-media .e360-agenda__date { order: -1; display: flex; flex-direction: row; align-items: baseline; gap: 12px; margin: 0; padding: 0; background: none; }
    .e360-agenda .e360-agenda__primary { width: 100%; }
    .e360-agenda .e360-agenda__closing .e360-agenda__primary { max-width: 380px; }
    .e360-agenda .e360-agenda__breathing .sec-7-home-7__content { padding: 40px 24px; }
    .e360-agenda .e360-agenda__drawer .offcanvas-body { padding: 20px; }
}
@media (prefers-reduced-motion: reduce) {
    .e360-agenda .e360-agenda__primary { transition: none; }
}
/* E360_AGENDA_END */

/* Programmes : orientation par intention, compositions ORISA partagées. */
.e360-programs-hero { min-height: 680px; }
.e360-programs-hero > .container-fluid { padding-inline: 0; }
.e360-programs-hero .sec-1-home-7__img-wrap { height: 100%; }
.e360-programs-hero .sec-1-home-7__left,
.e360-programs-hero .sec-1-home-7__right { min-height: 680px; }
.e360-programs-hero .sec-1-home-7__content { min-height: 680px; padding: 90px 60px; }
.e360-programs-hero .sec-1-home-7__headline { font-size: clamp(48px, 5.5vw, 84px); line-height: 1.02; overflow-wrap: normal; }
.e360-programs-hero .svc5-kicker { color: var(--at-neutral-300); }
.e360-programs-hero .sec-1-home-7__cta-btn { gap: 24px; }
.e360-programs-page #choisir-programme { scroll-margin-top: 104px; }
.e360-program-intentions__media { max-width: 460px; aspect-ratio: 4 / 3; overflow: hidden; }
.e360-program-intentions__media img,
.e360-program-dimensions__media img { display: block; width: 100%; height: 100%; object-fit: cover; }
.e360-program-intentions .at-faq-item { padding: 18px 0; margin-bottom: 0; border-radius: 0; box-shadow: none; }
.e360-program-intentions .at-faq-button { border: 0; display: flex; align-items: center; gap: 20px; min-height: 48px; padding-right: 0; }
.e360-program-intentions .at-faq-button::before,
.e360-program-intentions .at-faq-button::after { content: none; }
.e360-program-intentions__toggle { margin-left: auto; color: var(--at-theme-primary); transition: transform 180ms ease; }
.e360-program-intentions .at-faq-button[aria-expanded="true"] .e360-program-intentions__toggle { transform: rotate(45deg); }
.e360-program-intentions .at-faq-body { padding: 12px 0 18px; }
.e360-program-intentions .at-faq-body p { max-width: 48ch; color: var(--at-neutral-600); }
.e360-programs-page .e360-program-card__intention { max-width: 46ch; margin: 0 0 18px; font-size: 17px; line-height: 1.5; color: var(--at-theme-primary); }
.e360-program-breathing .sec-7-home-7__content { display: flex; flex-direction: column; justify-content: center; height: 100%; padding: 48px; }
.e360-program-breathing .sec-7-home-7__headline { color: #fff; margin: 0 0 28px; font-size: clamp(32px, 3.4vw, 52px); line-height: 1.1; }
.e360-program-breathing .sec-7-home-7__media { min-height: 460px; }
.e360-program-breathing .sec-7-home-7__content > p { color: var(--at-neutral-300); }
.e360-program-dimensions__media { aspect-ratio: 3 / 2; overflow: hidden; }
.e360-program-dimensions .svc5-process__grid { grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 28px; }
.e360-program-dimensions .svc5-step { border-top: 1px solid var(--at-neutral-300); padding-top: 28px; }
.e360-programs-page :is(a, button):focus-visible { outline: 2px solid var(--at-theme-primary); outline-offset: 5px; }
@media (max-width: 1199px) {
  .e360-programs-hero .sec-1-home-7__content { padding-inline: 36px; }
  .e360-program-dimensions .svc5-process__grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .e360-program-breathing .sec-7-home-7__content { padding: 32px; }
}
@media (max-width: 991px) {
  .e360-programs-hero { display: flex; flex-direction: column; min-height: 0; }
  .e360-programs-hero .sec-1-home-7__img-wrap { order: 2; width: 100%; height: auto; aspect-ratio: 16 / 9; }
  .e360-programs-hero .sec-1-home-7__left { display: none; }
  .e360-programs-hero .sec-1-home-7__right { min-height: 0; }
  .e360-programs-hero .sec-1-home-7__content { min-height: 0; padding: 60px 36px; }
  .e360-programs-hero .sec-1-home-7__headline { max-width: 720px; font-size: 64px; }
  .e360-program-intentions__media { max-width: none; aspect-ratio: 16 / 9; }
  .e360-program-breathing .sec-7-home-7__media { min-height: 0; aspect-ratio: 16 / 9; }
  .e360-program-dimensions .svc5-process__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 767px) {
  .e360-programs-hero .sec-1-home-7__content { padding: 44px 20px 48px; }
  .e360-programs-hero .sec-1-home-7__headline { font-size: clamp(40px, 11.4vw, 60px); }
  .e360-programs-hero .sec-1-home-7__desc { font-size: 16px; }
  .e360-programs-hero .sec-1-home-7__img-wrap { aspect-ratio: 4 / 3; }
  .e360-program-intentions .at-faq-button { font-size: 24px; }
  .e360-program-breathing .sec-7-home-7__content { padding: 32px 22px; }
  .e360-program-dimensions .svc5-process__grid { grid-template-columns: 1fr; gap: 24px; }
  .e360-program-dimensions .svc5-step__text { max-width: none; }
}

/* Cartes partenaires partagées par les fiches et contenus. */
.e360-partners__categories, .e360-category-links { display: flex; flex-wrap: wrap; gap: 12px 28px; margin-bottom: 36px; border-bottom: 1px solid var(--at-neutral-200); padding-bottom: 24px; }
.e360-partners__categories a, .e360-category-links a { font-size: 15px; padding: 8px 0; color: var(--at-neutral-700); }
.e360-partners__categories a[aria-current], .e360-partners__categories a:hover,
.e360-category-links a[aria-current], .e360-category-links a:hover { color: var(--at-theme-primary); text-decoration: underline; text-underline-offset: 8px; }
.e360-partner-card { align-items: flex-start; gap: 28px; border-radius: 0; background: var(--at-neutral-0); }
.e360-partner-card > img { width: 112px; height: 112px; object-fit: contain; flex: 0 0 112px; background: #fff; padding: 12px; }
.e360-partner-card__body { min-width: 0; }
.e360-partner-card__category { color: var(--at-neutral-600); font-size: 13px; margin-bottom: 12px; }
.e360-partner-card__body > p { font-size: 15px; line-height: 1.65; }
.e360-partner-card--featured { grid-column: 1 / -1; background: var(--at-neutral-50); }
.e360-partner-card--featured .e360-partner-card__body { max-width: 760px; }
.e360-partner-card__programs { margin-top: 20px; margin-bottom: 20px; }
.e360-partner-card__programs a { text-decoration: underline; text-underline-offset: 4px; }

/* Partenaires : convictions About 4, marques Home 5 et accordéon Services 5. */
.e360-partners__possibilities { background: var(--at-neutral-0); }
.e360-partners__possibilities .about-4-beliefs__intro { max-width: 100%; margin-bottom: 56px; }
.e360-partners__possibilities .about-4-craft__grid { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 80px; }
.e360-partners__learning { position: sticky; top: 120px; align-self: start; }
.e360-partners__learning img { display: block; width: 100%; height: auto; aspect-ratio: 1 / 1; object-fit: cover; object-position: center; }
.e360-partners__learning figcaption { max-width: 420px; margin-top: 22px; font-size: 24px; line-height: 1.3; font-weight: 500; letter-spacing: -.5px; color: var(--at-neutral-900); }
.e360-partners__possibilities .about-4-belief { grid-template-columns: minmax(0, 1fr); padding: 30px 0; }
.e360-partners__possibilities .about-4-belief__text { font-size: 16px; line-height: 1.7; color: var(--at-neutral-600); }
.e360-partners__alliances { background: var(--at-neutral-50); scroll-margin-top: 110px; }
.e360-partners__directory-heading { align-items: flex-end; justify-content: space-between; gap: 48px; margin-bottom: 50px; }
.e360-partners__directory-heading h2 { margin: 0; }
.e360-partners__directory-heading > p { max-width: 410px; font-size: 17px; line-height: 1.65; color: var(--at-neutral-600); margin: 0; }
.e360-partners__directory { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; }
.e360-partners__directory .e360-partner-card--brand { display: flex; flex-direction: column; align-items: stretch; width: auto; height: auto; min-width: 0; padding: 28px; gap: 28px; border-radius: 0; }
.e360-partners__directory .e360-partner-card--brand .brand { min-height: 150px; height: 150px; width: 100%; flex-shrink: 0; background: #fff; padding: 24px; }
.e360-partner-card--brand .brand img { width: 100%; height: 100%; object-fit: scale-down; filter: grayscale(1); transition: filter .25s; }
.e360-partner-card--brand:hover .brand img, .e360-partner-card--brand:focus-within .brand img { filter: grayscale(0); }
.e360-partner-card__wordmark { font-size: 26px; line-height: 1.15; letter-spacing: -.8px; font-weight: 600; overflow-wrap: anywhere; color: #1d1d1d; }
.e360-partners__directory .e360-partner-card--featured { grid-column: span 2; flex-direction: row; align-items: center; background: var(--at-neutral-0); }
.e360-partners__directory .e360-partner-card--featured .brand { width: 210px; height: 210px; flex: 0 0 210px; }
.e360-partner-card--brand .svc5-mode__name { font-size: 25px; }
.e360-partners__photograph .sec-7-portfolio-details-3__media { height: auto; aspect-ratio: auto; margin: 0; }
.e360-partners__photograph img { position: static; display: block; width: 100%; height: auto; max-height: 740px; object-fit: cover; object-position: center 42%; }
.e360-partners__photograph figcaption { padding: 20px 32px; background: var(--at-neutral-950); color: var(--at-neutral-200); font-size: 14px; }
.e360-partners__contribute { background: var(--at-neutral-950); color: var(--at-neutral-0); }
.e360-partners__contribute-intro { position: sticky; top: 120px; }
.e360-partners__contribute .about-4-beliefs__title { color: var(--at-neutral-0); margin-bottom: 30px; }
.e360-partners__contribute-intro > p { max-width: 430px; color: var(--at-neutral-300); font-size: 17px; line-height: 1.7; }
.e360-partners__contribute .at-faq-item { background: transparent; box-shadow: none; padding: 18px 0; margin: 0; border-bottom: 1px solid var(--at-neutral-700); }
.e360-partners__contribute .at-faq-item:first-child { border-top: 1px solid var(--at-neutral-700); }
.e360-partners__contribute .at-faq-button { border: 0; min-height: 44px; padding-left: 0; color: var(--at-neutral-0); line-height: 1.3; font-size: 25px; }
.e360-partners__contribute .at-faq-button::before, .e360-partners__contribute .at-faq-button::after { content: none; }
.e360-partners__toggle i { transition: transform .2s; }
.e360-partners__toggle { position: absolute; right: 0; top: 0; display: inline-flex; align-items: center; justify-content: center; width: 32px; height: 32px; transition: transform .2s; }
.e360-partners__contribute .at-faq-button[aria-expanded="true"] .e360-partners__toggle i { transform: rotate(45deg); }
.e360-partners__contribute .at-faq-body { padding: 8px 44px 14px 0; }
.e360-partners__contribute .at-faq-body p { color: var(--at-neutral-300); font-size: 16px; line-height: 1.7; margin: 0; }
.e360-partners-page :is(a, button):focus-visible { outline: 2px solid var(--e360-primary-on-dark); outline-offset: 5px; }
@media (max-width: 1199px) {
    .e360-partners__possibilities .about-4-craft__grid { gap: 48px; }
    .e360-partners__directory { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 991px) {
    .e360-partners__possibilities .about-4-craft__grid { grid-template-columns: minmax(0, 1fr); }
    .e360-partners__learning, .e360-partners__contribute-intro { position: static; top: auto; }
    .e360-partners__learning img { aspect-ratio: 3 / 2; }
    .e360-partners__learning figcaption { max-width: 100%; }
    .e360-partners__directory-heading > p { max-width: 100%; margin-top: 24px; }
}
@media (max-width: 767px) {
    .e360-partners__possibilities, .e360-partners__alliances, .e360-partners__contribute { padding: 64px 0; }
    .e360-partners__possibilities .about-4-beliefs__intro { margin-bottom: 36px; }
    .e360-partners__possibilities .about-4-craft__grid { gap: 30px; }
    .e360-partners__directory { grid-template-columns: minmax(0, 1fr); }
    .e360-partners__directory .e360-partner-card--featured { grid-column: auto; flex-direction: column; align-items: stretch; }
    .e360-partners__directory .e360-partner-card--featured .brand { width: 100%; height: 150px; flex-basis: 150px; }
    .e360-partners__photograph img { max-height: none; }
    .e360-partners__photograph figcaption { padding: 20px; }
    .e360-partners__contribute .at-faq-button { font-size: 22px; }
    .e360-partners__contribute .at-faq-body { padding-right: 0; }
}

/* Fiches partenaires : hero portfolio, marque intacte et photographies référencées. */
.e360-partner-detail .sec-1-portfolio-details-3__title { font-size: clamp(36px, 5.4vw, 78px); line-height: 1.07; letter-spacing: -1.5px; overflow-wrap: anywhere; }
.e360-partner-detail .sec-1-portfolio-details-3__tagline { font-size: clamp(18px, 1.6vw, 24px); line-height: 1.55; max-width: 720px; }
.e360-partner-detail__brand { aspect-ratio: 4 / 3; border-radius: 0; background: #fff; }
.e360-partner-detail__brand img { position: static; width: 100%; height: 100%; object-fit: scale-down; padding: 32px; transform: none; }
.e360-partner-detail__brand:hover img { transform: none; filter: none; }
.e360-partner-detail .svc5-process { background: var(--at-neutral-950); color: var(--at-neutral-0); }
.e360-partner-detail .svc5-process__title, .e360-partner-detail .svc5-step__title, .e360-partner-detail .svc5-process a { color: var(--at-neutral-0); overflow-wrap: anywhere; }
.e360-partner-detail__gallery { aspect-ratio: auto; grid-template-columns: repeat(2, minmax(0, 1fr)); grid-template-rows: none; grid-auto-rows: auto; gap: 28px; }
.e360-partner-detail__gallery .sec-3-portfolio-details-3__cell { aspect-ratio: auto; background: transparent; border-radius: 0; }
.e360-partner-detail__gallery .sec-3-portfolio-details-3__cell:only-child { grid-column: 1 / -1; max-width: 100%; }
.e360-partner-detail__gallery img { position: static; display: block; width: 100%; height: auto; max-height: 680px; object-fit: contain; }
.e360-partner-detail__gallery figcaption { padding: 16px 0; color: var(--at-neutral-600); font-size: 14px; line-height: 1.6; }
/* Placements réutilisables : marques Home 5, cartes Services 5 et galeries ORISA. */
.e360-partner-placements .e360-partner-card { height: 100%; min-width: 0; }
.e360-partner-placements .e360-partner-card--compact { padding: 24px; gap: 16px; }
.e360-partner-placements .e360-partner-card__placement-link { display: inline-block; margin-top: 12px; color: var(--at-theme-primary); }
.e360-partner-placements[data-presentation="grid"] .svc5-engage__grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.e360-partner-placements[data-presentation="featured"] .svc5-engage__grid { grid-template-columns: minmax(0, 1fr); }
.e360-partner-placements[data-presentation="featured"] .e360-partner-card { grid-column: 1 / -1; }
.e360-partner-placements .swiper-slide { height: auto; }
.e360-partner-placements .carouselTicker__list { display: flex; width: max-content; margin: 0; padding: 0; }
.e360-partner-placements .carouselTicker__item { flex: 0 0 300px; width: 300px; float: none; margin: 0 24px 0 0; white-space: normal; }
.e360-partner-placements .carouselTicker:not([data-e360-carousel-ticker="ready"]) { overflow-x: auto; }
@media (max-width: 1023px) {
    .e360-partner-placements[data-presentation="grid"] .svc5-engage__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 575px) {
    .e360-partner-placements .svc5-engage__grid,
    .e360-partner-placements[data-presentation="grid"] .svc5-engage__grid { grid-template-columns: minmax(0, 1fr); }
    .e360-partner-placements .carouselTicker__item { flex-basis: 280px; width: 280px; }
}
@media (prefers-reduced-motion: reduce) {
    .e360-partner-placements [data-e360-ticker-toggle] { display: none; }
}
@media (max-width: 767px) {
    .e360-partner-detail__gallery { grid-template-columns: minmax(0, 1fr); gap: 32px; }
    .e360-partner-detail__brand { max-width: 320px; margin-top: 12px; }
}
