/* Global Styles */
* {
    padding: 0;
    margin: 0;
    box-sizing: border-box;
    outline: none;
}

a {
    text-decoration: none;
    color: inherit;
}

button {
    cursor: pointer;
    background-color: transparent;
    border: none;
}

ul {
    list-style: none;
}

html {
    scroll-behavior: smooth;
}

body {
    width: 100%;
    font-family: 'Satoshi';
}

section {
    display: flex;
    flex-direction: column;
}

.primary-btn {
    width: fit-content;
    min-width: 226px;
    border-radius: 7px;
    font-weight: 500;
    font-size: 14px;
    line-height: 17px;
    letter-spacing: 0.01em;
    text-transform: uppercase;
    color: #04044A;
    padding: 20px 22px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    background-color: #fff;
}

.wpcf7 form .wpcf7-response-output {
    grid-column: 1 / -1;
}

.wpcf7 form .wpcf7-response-output {
    margin: 0 !important;
    padding: 0 !important;
    border: none !important;
    font-weight: 500;
    font-size: 14px;
    line-height: 14px;
    letter-spacing: -0.150391px;
    color: #FFFFFF;
}

.wpcf7-not-valid-tip {
    font-size: 12px !important;
}

.empty-message {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    font-style: normal;
    font-weight: 600;
    font-size: 18px;
    line-height: 23px;
    letter-spacing: 0.01em;
    color: #04044A;
}

/* Start Footer */
footer {
    background: #FFFFFF;
    color: #fff;
    padding: 50px 30px 0 30px;
}

footer.without-form {
    padding-top: 150px;
}

footer.without-form .footer-form {
    display: none;
}

footer .footer-container {
    display: flex;
    flex-direction: column;
    gap: 14px;
    width: 1440px;
    max-width: 100%;
    padding: 0 30px 30px 30px;
    margin: 0 auto;
}

footer .footer-form {
    background: linear-gradient(169.29deg, #0A205C 8.09%, #354FAE 108.28%), linear-gradient(0deg, rgba(0, 0, 0, 0.05), rgba(0, 0, 0, 0.05));
    padding: 90px 59px 186px 59px;
    border-radius: 30px;
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 40px;
}

footer .footer-form .contact-intro {
    max-width: 497px;
}


footer .footer-form .contact-intro .label {
    display: flex;
    font-weight: 400;
    font-size: 18px;
    line-height: 23px;
    letter-spacing: 0.01em;
    text-transform: uppercase;
    color: #FFFFFF;
    margin-bottom: 10px;
}
 
footer .footer-form .contact-intro h2 {
    margin: 0;
    font-weight: 400;
    font-size: 42px;
    line-height: 50px;
    letter-spacing: 0.01em;
    color: #FFFFFF;
}
 
footer .footer-form form {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 20px 16px;
    max-width: 626px;
}
 
footer .footer-form  .field {
    display: flex;
    flex-direction: column;
    gap: 8px;
}
 
footer .footer-form  .field.full {
    grid-column: 1 / -1;
}
 
footer .footer-form  label {
    font-weight: 500;
    font-size: 14px;
    line-height: 14px;
    letter-spacing: -0.150391px;
    color: #FFFFFF;
    display: flex;
    align-items: center;
    gap: 8px;
}

footer .footer-form  label span {
    display: flex;
    align-items: center;
    justify-content: center;
}
 
footer .footer-form  input, footer .footer-form textarea {
    background: rgba(255, 255, 255, 0.1);
    border: 1px solid rgba(255, 255, 255, 0.09);
    border-radius: 7px;
    padding: 15px 14px;
    color: #fff;
    font-size: 14px;
    font-family: inherit;
    outline: none;
}
 
footer .footer-form  input::placeholder, footer .footer-form textarea::placeholder {
    color: rgba(255, 255, 255, 0.7);
}
 
footer .footer-form  input:focus, footer .footer-form textarea:focus {
    border-color: #fff;
}
 
footer .footer-form textarea {
    resize: none;
    min-height: 146px;
    width: 100%;
}
 
footer .footer-form  .checkbox-row {
    grid-column: 1 / -1;
    display: flex;
    align-items: flex-start;
    gap: 10px;
    font-weight: 500;
    font-size: 14px;
    line-height: 14px;
    letter-spacing: -0.150391px;
    color: #FFFFFF;
    cursor: pointer;
    align-items: center;
}

footer .footer-form .checkbox-row span {
    display: initial;
    cursor: pointer;
}

footer .footer-form .checkbox-row input[type="checkbox"] {
    appearance: none;
    -webkit-appearance: none;
    width: 14px;
    height: 14px;
    flex-shrink: 0;
    padding: 0;
    border-radius: 2px;
    border: 1px solid rgba(255, 255, 255);
    background: rgba(255, 255, 255);
    position: relative;
    cursor: pointer;
    transition: background 0.15s ease, border-color 0.15s ease;
}
 
footer .footer-form .checkbox-row input[type="checkbox"]:hover {
    border-color: rgba(255, 255, 255, 0.6);
}
 
footer .footer-form .checkbox-row input[type="checkbox"]:checked {
    background: #fff;
    border-color: #fff;
}
 
footer .footer-form .checkbox-row input[type="checkbox"]:checked::after {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    margin: 0 auto;
    top: 0;
    width: 4px;
    height: 8px;
    border: solid #131c42;
    border-width: 0 2px 2px 0;
    transform: rotate(45deg);
}
 
footer .footer-form .checkbox-row input[type="checkbox"]:focus-visible {
    outline: 2px solid #6f80c9;
    outline-offset: 2px;
}

footer .footer-form  button {
    background: #fff;
    display: flex;
    padding: 19px 20px;
    font-weight: 500;
    font-size: 14px;
    line-height: 17px;
    letter-spacing: 0.01em;
    text-transform: uppercase;
    color: #04044A;
    border-radius: 7px;
    align-items: center;
    justify-content: center;
    gap: 8px;
    width: fit-content;
}

footer .footer-form button .icon {
    display: flex;
    align-items: center;
    transition: transform 0.3s ease;
}

footer .footer-form button:hover .icon {
    transform: translateX(6px);
}


footer .footer-content {
    background: #0A205C;
    border-radius: 30px 30px 35px 35px;
}


footer .footer-info {
    display: flex;
    gap: 85px;
    padding: 67px 36px 46px 36px;
    position: relative;
    isolation: isolate;
}

footer .footer-info .shape {
    position: absolute;
    top: -99px;
    right: 36px;
    z-index: -1;
}

footer .footer-info .details {
    display: flex;
    flex-direction: column;
    gap: 53px;
    margin-top: 11px;
}

footer .footer-content  .contact-us {
    display: flex;
    gap: 10px;
}

footer .footer-content  .contact-us span.icon {
    display: flex;
}


.btn-contact {
    width: 54px;
    height: 54px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    background-color: #FFFFFF;
    transition: .5s ease-in-out;
    font-weight: 400;
    font-size: 14px;
    line-height: 17px;
    letter-spacing: 0.01em;
}

.btn-contact.with-hover {
    position: relative;
    isolation: isolate;
}

.btn-contact.with-hover .icon-info {
    position: absolute;
    top: 0;
    left: 0;
    padding-top: 55px;
    width: max-content;
    display: flex;
    flex-direction: column;
    gap: 5px;
    opacity: 0;
    pointer-events: none;
    transition: 0.5s ease-in-out;
}

.btn-contact.with-hover .icon-info span {
    display: flex;
    font-size: 14px;
}

.btn-contact.with-hover .icon-info span.copytext {
    gap: 10px;
}

.btn-contact.with-hover:hover .icon-info {
    opacity: 1;
    pointer-events: initial;
}

.footer-copyrights {
    justify-content: space-between;
    padding: 50px 36px;
    border-radius: 30px;
    font-weight: 400;
    font-size: 16px;
    line-height: 21px;
    display: flex;
    align-items: flex-end;
    letter-spacing: 0.01em;
    color: #04044A;
    background: #EEF1F6;
}

.footer-copyrights .privacy {
    display: flex;
    gap: 86px;
}


/* Start Header */

header {
    width: 100%;
    position: absolute;
    z-index: 100;
}

header .header-container {
    padding: 36px 25px 36px 80px;
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
}

header .main-nav {
    margin-top: 10px;
}

header .nav-list {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 24px 40px;
    list-style: none;
}

header .nav-item {
    position: relative;
}

header .nav-link {
    font-weight: 500;
    font-size: 16px;
    line-height: 19px;
    letter-spacing: 0.01em;
    color: #FFFFFF; 
}

header .nav-link:hover {
    opacity: 1;
}

header .dropdown-menu {
    position: absolute;
    top: 100%;
    left: 0;
    padding-top: 20px;
    background-color: transparent;
    opacity: 0;
    visibility: hidden;
    transition: opacity 0.5s ease-in-out, visibility 0.5s ease-in-out;
    z-index: 10;
}

header .dropdown-list {
    background-color: #D1E5FF;
    border-radius: 10px;
    padding: 20px;
    min-width: 300px;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.2);
    list-style: none;
    display: flex;
    flex-direction: column;
    position: relative;
    isolation: isolate;
}

header .dropdown-list::before {
    content: "";
    position: absolute;
    top: 10px;
    left: 10px;
    width: 1px;
    height: calc(100% - 20px);
    background-color: #263F49;
    opacity: 0.1;
}

header .nav-item:hover .dropdown-menu,
header .nav-item:focus-within .dropdown-menu {
    opacity: 1;
    visibility: visible;
}

header .dropdown-list li {
    padding: 10px;
}

header .dropdown-list a {
    text-decoration: none;
    display: flex;
    align-items: center;
    font-weight: 400;
    font-size: 14px;
    line-height: 18px;
    letter-spacing: 0.01em;
    color: #263F49;
    gap: 20px;
}

header .dropdown-list a span {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 10px;
}

header .header-actions {
    display: flex;
    align-items: center;
    gap: 12px;
}

header .btnContact {
    background-color: rgba(60, 75, 120, 0.28);
    font-style: normal;
    font-weight: 500;
    font-size: 14px;
    line-height: 17px;
    letter-spacing: 0.01em;
    color: #FFFFFF;
    border-radius: 8px;
    padding: 0 15px;
    text-transform: uppercase;
    height: 40px;
    display: flex;
    align-items: center;
}

header .lang-selector {
    background-color: rgba(60, 75, 120, 0.28);
    font-style: normal;
    font-weight: 500;
    font-size: 14px;
    line-height: 17px;
    letter-spacing: 0.01em;
    color: #FFFFFF;
    border-radius: 8px;
    padding: 0 15px;
    text-transform: uppercase;
    position: relative;
    isolation: isolate;
    height: 40px;
    display: flex;
    align-items: center;
    cursor: pointer;
}

header .lang-btn {
    display: flex;
    align-items: center;
    gap: 10px;
}

header .lang-dropdown {
    position: absolute;
    top: 100%;
    right: 0;
    background-color: #D1E5FF;
    border-radius: 8px;
    padding: 10px;
    width: 100%;
    list-style: none;
    opacity: 0;
    visibility: hidden;
    transition: opacity 0.5s ease-in-out, visibility 0.5s ease-in-out;
    font-weight: 400;
    font-size: 14px;
    line-height: 18px;
    letter-spacing: 0.01em;
    color: #263F49;
    display: flex;
    flex-direction: column;
    gap: 10px;
}

header .lang-dropdown a {
    padding: 10px;
}

header .lang-selector:hover .lang-dropdown,
header .lang-selector:focus-within .lang-dropdown {
    opacity: 1;
    visibility: visible;
}

/* Hamburger Button */
header .menu-toggle {
    background-color: #ffffff;
    border: none;
    width: 44px;
    height: 40px;
    border-radius: 8px;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
}

header .hamburger-icon {
    display: flex;
    flex-direction: column;
}

header .mega-menu-overlay {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100vh;
    background: #172957;
    display: flex;
    opacity: 0;
    visibility: hidden;
    transition: opacity 0.3s ease, visibility 0.3s ease;
    z-index: 1000;
}

.mega-menu-content {
    display: flex;
    width: 100%;
}

.mega-menu-logo {
    width: 480px;
    max-width: 100%;
    padding: 44px 25px 40px 40px;
    display: flex;
    justify-content: space-between;
    flex-direction: column;
}

.mega-menu-logo a {
    padding-left: 40px;
    display: flex;
}

header .mega-menu-overlay.active {
    opacity: 1;
    visibility: visible;
}

header .mega-menu-close {
    position: absolute;
    top: 35px;
    right: 16px;
    background: #ffffff;
    border: none;
    width: 44px;
    height: 40px;
    border-radius: 8px;
    font-size: 20px;
    cursor: pointer;
    color: #04044A;
    display: flex;
    align-items: center;
    justify-content: center;
}

header .mega-menu-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    padding: 85px 30px 20px 30px;
    width: calc(100% - 480px);
    gap: 32px 40px;
    background-color: #04044A;
}

header .mega-col {
    padding: 4px 14px;
    border-left: 1px solid rgba(4, 4, 73, 0.1);
}

header .mega-col.mega-secteurs {
    grid-column: 1 / -1;
    padding-top: 30px;
    border-top: 1px solid #FFFFFF1F;
    margin-top: 40px;
}

header .mega-col.mega-secteurs ul {
    grid-template-columns: repeat(3, 1fr);
    display: grid;
    gap: 0 32px;
    width: 100%;
}

header .mega-col h3 {
    font-style: normal;
    font-weight: 400;
    font-size: 28.8px;
    line-height: 29px;
    letter-spacing: -1.152px;
    color: #ffffffe0;
    padding: 10px 0;
    margin-bottom: 8px;
}

header .mega-col ul {
    display: flex;
    flex-direction: column;
    width: max-content;
}

header .mega-col li {
    padding: 5px 0;
}

header .mega-col a {
    font-style: normal;
    font-weight: 400;
    font-size: 15px;
    line-height: 21px;
    color: #ffffffc7;
    display: flex;
    align-items: center;
    gap: 8px;
}

header .mega-col a span {
    display: flex;
    align-items: center;
    gap: 10px;
}

header.header-dark .logo svg path {
    fill: #04044A;
}

header.header-dark .nav-link {
    color: #04044A;
}

header.header-dark .btnContact {
    background-color: hsla(227, 53%, 45%, 0.12);
    color: #04044A;
}


header.header-dark .lang-selector {
    background-color: hsla(227, 53%, 45%, 0.12);
    color: #04044A;
}

header.header-dark .lang-selector span.icon svg path {
    fill: #04044A;
}

header.header-dark .menu-toggle {
    background-color: #354FAE;
}

header.header-dark .menu-toggle .hamburger-icon svg path {
    stroke: #fff;
}


header.header-dark .mega-menu-close {
    background: #354FAE;
    color: #fff;
}

header.header-dark .mega-menu-close svg path {
    stroke: #fff;
}


/* Start Focus Section */
.focus-section {
    background-color: #fff;
    padding: 50px 0 32px 0;
}

.focus-section .container {
    width: 1440px;
    max-width: 100%;
    padding: 0 30px;
    margin: 0 auto;
}

.focus-section .focus-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 67px;
    padding-left: 44px;
    padding-right: 23px;
}

.focus-section h2 {
    font-weight: 400;
    font-size: 42px;
    line-height: 55px;
    letter-spacing: 0.01em;
    color: #04044A;
}

.focus-section .focus-header-btn {
    min-width: 267px;
    background: linear-gradient(232.66deg, #EEF1F6 0%, #EEF1F6 88.16%);
}

.focus-section .focus-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 35px 70px;
    padding-left: 44px;
    padding-right: 23px;
}

.focus-section .focus-card h3 {
    font-weight: 400;
    font-size: 18px;
    line-height: 23px;
    letter-spacing: 0.01em;
    color: #04044A;
    font-style: normal;
    font-weight: 500;
    font-size: 24px;
    line-height: 34px;
}

.focus-section .focus-content {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    gap: 10px;
    min-height: 307px;
    padding-left: 20px;
    padding-bottom: 32px;
    border-left: 1px solid #354FAE;
}

.focus-section.focus-card-image-wrap {
    width: 100%;
    height: 269px;
    overflow: hidden;
}

.focus-section .focus-card-image-wrap img {
    max-width: 100%;
    object-fit: cover;
    object-position: center;
    border-bottom-right-radius: 80px;
}

.focus-section .read-more {
    display: flex;
    align-items: center;
    gap: 10px;
    font-weight: 500;
    font-size: 14px;
    line-height: 17px;
    letter-spacing: 0.01em;
    text-transform: uppercase;
    color: #04044A;
    padding: 20px 0;
}

/* Start Experts Section */
.experts-section {
    position: relative;
    isolation: isolate;
    padding: 79px 59px 83px 59px;
}

.experts-section .shape {
    position: absolute;
    top: 67px;
    right: 46px;
}

.experts-section::after {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    margin: 0 auto;
    width: calc(100% - 20px);
    height: 100%;
    background-color: #EEF1F6;
    border-radius: 30px;
    z-index: -1;
}

.experts-section .container {
    width: 1440px;
    max-width: 100%;
    margin: 0 auto;
    padding: 0 36px;
}

.experts-section .experts-header {
    width: 1302px;
    max-width: 100%;
    margin: 0 auto;
    padding-left: 104px;
    padding-bottom: 45px;
    display: flex;
    flex-wrap: wrap;
    gap: 20px 155px;
}

.experts-section .title {
    width: 451px;
    max-width: 100%;
}

.experts-section h2 {
    font-style: normal;
    font-weight: 400;
    font-size: 38px;
    line-height: 46px;
    letter-spacing: 0.01em;
    color: #04044A;
}

.experts-section .experts-content {
    width: 520px;
    max-width: 100%;
    display: flex;
    flex-direction: column;
    gap: 21px;
    font-style: normal;
    font-weight: 400;
    font-size: 20px;
    line-height: 26px;
    letter-spacing: 0.01em;
    color: #04044A;
}

.experts-section .experts-content .primary-btn {
    background: linear-gradient(208.29deg, #EEF1F6 -159.93%, #D1E5FF 81.55%);
}

.experts-section .experts-grid .splide__list {
    gap: 35px;
}

.experts-section .experts-grid {
    width: 1302px;
    max-width: 100%;
    margin: 0 auto;
}

.experts-section .experts-grid .arrows {
    display: flex;
    gap: 10px;
    padding-right: 50px;
    padding-left: 104px;
    position: absolute;
    left: 0;
    top: -85px;
}

.experts-section .experts-grid .splide__track {
    padding-top: 15px;
}

.experts-section .experts-grid .arrows button {
    display: flex;
    width: 30px;
    height: 30px;
    align-items: center;
    justify-content: center;
}


/* Start Team Card */

.team-card {
    width: 232px;
    max-width: 100%;
}

.team-card .image {
    position: relative;
    isolation: isolate;
    width: 210px;
    height: 338px;
    padding-top: 7px;
    margin-bottom: 45px;
    
}

.team-card .image img {
    border-radius: 14px;
}

.team-card .image .shape {
    position: absolute;
    right: -22px;
    top: 0;
    z-index: -1;
}

.team-card .info {
    width: 232px;
    max-width: 100%;
}

.team-card .info h3 {
    font-style: normal;
    font-weight: 700;
    font-size: 22px;
    line-height: 29px;
    letter-spacing: 0.01em;
    color: #04044A;
}

.team-card .info p {
    font-style: normal;
    font-weight: 400;
    font-size: 22px;
    line-height: 29px;
    letter-spacing: 0.01em;
    color: #04044A;    
}

/* Start Home */

.home-template .template-intro {
    width: 100%;
    min-height: 100vh;
    position: relative;
    isolation: isolate;
    border-radius: 0px 0px 40px 40px;
    background: linear-gradient(178.71deg, #04044A 7.69%, #0A205C 97.9%);
    overflow: hidden;
}

.home-template .template-intro::after {
    content: "";
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    background: linear-gradient(179.63deg, rgba(2, 2, 29, 0) -2.66%, rgba(2, 2, 29, 0) 14.02%, rgba(2, 2, 29, 0) 24.26%, #040439 68.39%, rgba(10, 32, 92, 0) 99.39%);
    z-index: 1;
    pointer-events: none;
}


.home-template .template-intro .shape {
    position: absolute;
    width: calc(100% - 72px);
    height: calc(100% - 275px);
    left: 36px;
    top: 126px;
}

.home-template .template-intro .shape svg {
    width: 100%;
    height: 100%;
}

.home-template .hero-section {
    min-height: calc(100vh + 100px);
    position: relative;
    isolation: isolate;
}

.home-template .hero-section::after {
    content: "";
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: calc(100% - 17px);
    background-color: #091F5B;
    opacity: .3;
    z-index: 3;
    pointer-events: none;
}

.home-template .hero-section .hero-video {
    position: absolute;
    width: 100%;
    height: 100%;
}

.home-template .hero-section video {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.home-template .scroll-down {
    position: fixed;
    z-index: 5;
    bottom: 90px;
    left: 36px;
    transition: opacity .35s ease-in-out;
}

.home-template .scroll-down.hide {
    opacity: 0;
    pointer-events: none;
}

.home-template .hero-content {
    position: relative;
    z-index: 4;
    min-height: 100vh;
    padding-top: 260px;
    padding-bottom: 45px;
    padding-left: 80px;
    padding-right: 80px;
    width: 1440px;
    max-width: 100%;
    margin: 0 auto;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    align-items: end;
}

.home-template .hero-content h1 {
    font-style: normal;
    font-weight: 400;
    font-size: 34px;
    line-height: 44px;
    text-align: right;
    letter-spacing: 0.01em;
    color: #FFFFFF;
    width: 512px;
    max-width: 100%;
}

.home-template .hero-content .ba-shape {
    padding-bottom: 45px;
}

.home-template .about-section {
    border-radius: 0px 0px 40px 40px;
    position: relative;
    z-index: 4;
    padding-top: 45px;
}

.home-template .about-section .container {
    width: 1440px;
    max-width: 100%;
    margin: 0 auto;
    padding: 0 36px;
}


.home-template .about-section .about-content {
    width: 1248px;
    max-width: 100%;
    margin: 0 auto;
    color: #fff;
    display: flex;
    flex-wrap: wrap;
    gap: 20px 123px;
    padding: 30px 0 75px 42px;
    position: relative;
    isolation: isolate;
    margin-top: -145px;
}

.home-template .about-section .about-content .shape {
    position: absolute;
    left: 0;
    top: 0;
    width: 759px;
    height: 759px;
    z-index: -1;
}

.home-template .about-section .about-content .container {
    width: 1440px;
    max-width: 100%;
    margin: 0 auto;
    padding: 0 30px;
}

.home-template .about-section .about-content .label {
    font-style: normal;
    font-weight: 400;
    font-size: 18px;
    line-height: 23px;
    letter-spacing: 0.01em;
    text-transform: uppercase;
    color: #FFFAF0;
    opacity: 0.4;
    width: 100%;
}

.home-template .about-section .about-content h2 {
    font-style: normal;
    font-weight: 400;
    font-size: 56px;
    line-height: 56px;
    letter-spacing: 0.01em;
    color: #FFFFFF;
    width: 350px;
    max-width: 100%;
}

.home-template .about-section .about-content .description {
    display: flex;
    flex-direction: column;
    gap: 27px;
    font-style: normal;
    font-weight: 400;
    font-size: 20px;
    line-height: 26px;
    letter-spacing: 0.01em;
    width: 599px;
    max-width: 100%;
    padding-top: 87px;
}

.home-template .about-section .about-content .description .primary-btn {
    margin-top: 25px;
}


.savoir-faire-section {
    padding-top: 86px;
    padding-bottom: 50px;
}

.savoir-faire-section .container {
    width: 1440px;
    max-width: 100%;
    margin: 0 auto;
    padding: 0 36px;
}

.savoir-faire-section .savoir-faire-header {
    position: relative;
    isolation: isolate;
    width: 1268px;
    max-width: 100%;
    margin: 0 auto 55px auto;
    min-height: 388px;
    padding: 82px 52px 42px 52px;
    display: flex;
    flex-direction: column;
    gap: 30px;
}

.savoir-faire-section .savoir-faire-header span {
    font-style: normal;
    font-weight: 400;
    font-size: 18px;
    line-height: 23px;
    letter-spacing: 0.01em;
    text-transform: uppercase;
    color: #04044A;
}

.savoir-faire-section .savoir-faire-header p {
    font-style: normal;
    font-weight: 400;
    font-size: 42px;
    line-height: 50px;
    letter-spacing: 0.01em;
    color: #04044A;
    max-width: 1127px;
}

.savoir-faire-section .savoir-faire-header .shape {
    position: absolute;
    left: 0;
    top: 0;
    z-index: -1;
    width: 100%;
}


.savoir-faire-section .savoir-faire-header .shape svg.small-shape {
    position: absolute;
    right: 0;
    bottom: 0;
}

.savoir-faire-section .savoir-faire-items {
    display: flex;
    flex-direction: column;
    gap: 30px;
}

.savoir-faire-section .savoir-faire-items .item {
    background-color: #04044A;
    padding: 10px;
    border-radius: 20px;
    display: flex;
    justify-content: space-between;
    gap: 0 90px;
    color: #fff;
}

.savoir-faire-section .savoir-faire-items .item .left {
    width: 676px;
    background-color: #0A205C;
    border-radius: 10px;
    display: flex;
    flex-direction: column;
    gap: 94px;
    justify-content: space-between;
    padding: 50px 50px 68px 50px;
}

.savoir-faire-section .savoir-faire-items .item .left h2 {
    font-style: normal;
    font-weight: 400;
    font-size: 52px;
    line-height: 68px;
    color: #FFFFFF;
}

.savoir-faire-section .savoir-faire-items .item .right {
    width: 542px;
    padding: 62px 0;
    display: flex;
    flex-direction: column;
    gap: 20px;
    justify-content: space-between;
}


.savoir-faire-section .savoir-faire-items .item .number {
    font-style: normal;
    font-weight: 400;
    font-size: 16px;
    line-height: 47px;
    letter-spacing: 0.01em;
    color: #FFFAF0;
}

.savoir-faire-section .savoir-faire-items .item .number span {
    font-size: 36px;
}

.savoir-faire-section .savoir-faire-items .item .info {
    font-style: normal;
    font-weight: 400;
    font-size: 24px;
    line-height: 31px;
    letter-spacing: 0.01em;
    color: #FFFAF0;
    padding-right: 40px;
}

.savoir-faire-section .savoir-faire-items .item .info ul {
    display: flex;
    flex-direction: column;
    gap: 15px;
}

.savoir-faire-section .savoir-faire-items .item .image-wrapper {
    display: flex;
    justify-content: flex-end;
}

.savoir-faire-section .savoir-faire-items .item .info ul li {
    position: relative;
    isolation: isolate;
    padding-left: 17px;
    font-style: normal;
    font-weight: 400;
    font-size: 18px;
    line-height: 25px;
    letter-spacing: 0.01em;
    color: rgba(255, 255, 255, 0.9);
}

.savoir-faire-section .savoir-faire-items .item .info ul li:after {
    content: "";
    position: absolute;
    left: 0;
    top: 10px;
    width: 5px;
    height: 5px;
    background-color: #ffffff;
    border-radius: 50%;
}

.savoir-faire-section .savoir-faire-items-variant .item .number {
    text-align: right;
}

.savoir-faire-section .savoir-faire-items-variant .item .right {
    padding-right: 50px;
}

.savoir-faire-section .savoir-faire-items-variant .item {
    padding-right: 0;
}

.savoir-faire-section .savoir-faire-items-variant .item .info {
    padding-right: 0;
}

.savoir-faire-section .savoir-faire-items-variant .item .left {
    gap: 82px;
}

.savoir-faire-section .savoir-faire-items-variant .item .left p {
    font-style: normal;
    font-weight: 400;
    font-size: 24px;
    line-height: 31px;
    letter-spacing: 0.01em;
    color: #FFFAF0;
}

.savoir-faire-section .savoir-faire-items-variant .item .right {
    gap: 82px 20px;
    justify-content: initial;
}

.secteurs-section {
    padding-bottom: 37px;
}

.secteurs-section .container {
    width: 1440px;
    max-width: 100%;
    margin: 0 auto;
    padding: 0 30px;
}

 .secteurs-section .secteurs-content {
    border-radius: 30px;
    background-color: #0A205C;
    color: #fff;
    padding: 36px 69px 36px 36px;
    display: flex;
    gap: 20px;
    justify-content: space-between;
    align-items: center;
}

.secteurs-section .secteurs-content .left {
    padding: 62px 42px;
    min-height: 747px;
    width: 665px;
    display: flex;
    flex-direction: column;
    gap: 10px;
    position: relative;
    isolation: isolate;
}

.secteurs-section .secteurs-content .left .label {
    font-style: normal;
    font-weight: 400;
    font-size: 18px;
    line-height: 23px;
    letter-spacing: 0.01em;
    text-transform: uppercase;
    color: #FFFFFF;
}

.secteurs-section .secteurs-content .left h2 {
    font-style: normal;
    font-weight: 400;
    font-size: 42px;
    line-height: 50px;
    letter-spacing: 0.01em;
    color: #FFFFFF;
}

.secteurs-section .secteurs-content .left .shape {
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    z-index: -1;
}

.secteurs-section .secteurs-content .right {
    display: flex;
    flex-wrap: wrap;
    gap: 20px;
    width: 558px;
}

 .secteurs-section .secteurs-content .right a {
    padding: 20px;
    background: rgba(255, 255, 255, 0.05);
    border: 1px solid rgba(255, 255, 255, 0.2);
    border-radius: 10px;
    font-style: normal;
    font-weight: 500;
    font-size: 18px;
    line-height: 23px;
    letter-spacing: 0.01em;
    color: #FFFFFF;
}

/* Start Single Avocat */
.single-avocat-template .hero-section {
    padding-top: 173px;
    padding-bottom: 50px;
    background: linear-gradient(116.83deg, #04044A 1.57%, rgba(10, 32, 92, 0.95) 90.45%);
    border-radius: 0px 0px 40px 40px;
    color: #fff;
    position: relative;
}

.single-avocat-template .hero-section .container {
    width: 1440px;
    max-width: 100%;
    margin: 0 auto;
    padding: 0 36px;
}

.single-avocat-template .hero-section .details {
    width: 1340px;
    max-width: 100%;
    margin: 0 auto;
    padding-right: 20px;
    display: flex;
    justify-content: space-between;
    position: relative;
    isolation: isolate;
}

.single-avocat-template .hero-section .details .shape {
    position: absolute;
    left: 0;
    bottom: 0;
    display: flex;
}

.single-avocat-template .hero-section .info {
    padding-top: 37px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding-left: 127px;
}

.single-avocat-template .hero-section .info h1 {
    font-style: normal;
    font-weight: 500;
    font-size: 46px;
    line-height: 60px;
    letter-spacing: 0.01em;
    color: #FFFFFF;
}

.single-avocat-template .hero-section .info p {
    font-style: normal;
    font-weight: 400;
    font-size: 36px;
    line-height: 47px;
    letter-spacing: 0.01em;
    color: #FFFFFF;
}

.arrows {
    display: flex;
    gap: 10px;
}

.arrows a {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 60px;
    height: 60px;
    border-radius: 50%;
    border: 1px solid #ffffff33;
}

.single-avocat-template .hero-section .contact-us {
    display: flex;
    gap: 10px;
    margin-bottom: 94px;
}

.single-avocat-template .hero-section .contact-us span.icon {
    display: flex;
}


.single-avocat-template .hero-section .name {
    margin-bottom: 60px;
}

.single-avocat-template .hero-section .image {
    position: relative;
    isolation: isolate;
    display: flex;
}

.single-avocat-template .hero-section .image::after {
    content: "";
    position: absolute;
    left: -370px;
    top: 160px;
    width: 322px;
    height: 367px;
    background-image: url("data:image/svg+xml,%3Csvg width='322' height='367' viewBox='0 0 322 367' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath opacity='0.4' d='M156.314 361.814L5.18629 210.686C2.18571 207.686 0.5 203.616 0.5 199.373V61.5C0.5 52.6635 7.66344 45.5 16.5 45.5H154.373C158.616 45.5 162.686 47.1857 165.686 50.1863L316.814 201.314C319.814 204.314 321.5 208.384 321.5 212.627V350.5C321.5 359.337 314.337 366.5 305.5 366.5H167.627C163.384 366.5 159.314 364.814 156.314 361.814Z' stroke='%23D1E5FF'/%3E%3Cpath opacity='0.4' d='M274.343 2.84314L319.157 47.6569C320.657 49.1571 321.5 51.192 321.5 53.3137V91.5C321.5 95.9183 317.918 99.5 313.5 99.5H275.314C273.192 99.5 271.157 98.6572 269.657 97.1569L224.843 52.3431C223.343 50.8429 222.5 48.808 222.5 46.6863V8.5C222.5 4.08172 226.082 0.5 230.5 0.5H268.686C270.808 0.5 272.843 1.34285 274.343 2.84314Z' stroke='%23D1E5FF'/%3E%3C/svg%3E%0A");
    background-repeat: no-repeat;
    background-size: cover;
}

.single-avocat-template .hero-section .image .shape {
    position: absolute;
    left: 0;
    top: 0;
    z-index: -1;
}

.single-avocat-template .hero-section .image img {
    border-radius: 14px;
}

.single-avocat-template .bio-section {
    background: hsla(218, 31%, 95%, 0.6);
    padding: 212px 0 81px 0;
    border-radius: 40px;
    margin-top: -100px;
}

.single-avocat-template .bio-section .container {
    width: 1440px;
    max-width: 100%;
    margin: 0 auto;
    padding: 0 36px;
}

.single-avocat-template .bio-section .content {
    width: 1204px;
    max-width: 100%;
    margin: 0 auto;
    display: flex;
    flex-wrap: wrap;
    gap: 20px;
    justify-content: space-between;
}


.single-avocat-template .bio-section .description {
    width: 680px;
    max-width: 100%;
    display: flex;
    flex-direction: column;
    gap: 25px;
    font-style: normal;
    font-weight: 400;
    font-size: 18px;
    line-height: 25px;
    letter-spacing: 0.01em;
    color: #04044A;
}


.single-avocat-template .bio-section .description ul {
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.single-avocat-template .bio-section .description ul li {
    position: relative;
    padding-left: 24px;
}

.single-avocat-template .bio-section .description ul li::after {
    content: "";
    position: absolute;
    left: 8px;
    top: 9px;
    width: 5px;
    height: 5px;
    border-radius: 50%;
    background-color: #04044A;
}

.single-avocat-template .bio-section .description h2 {
    font-style: normal;
    font-weight: 500;
    font-size: 32px;
    line-height: 42px;
    letter-spacing: 0.01em;
    color: #04044A;
}

.accordion {
    width: 392px;
    max-width: 100%;
}

.accordion .accordion-item {
  border-top: 1px solid rgba(103, 126, 111, 0.21);
}

.accordion .accordion-item:last-child {
    border-bottom: 1px solid rgba(103, 126, 111, 0.21);
}

.accordion .accordion-item .accordion-header {
    width: 100%;
    padding: 20px 0 10px 0;
    text-transform: uppercase;
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 11px;
    cursor: pointer;
    font-style: normal;
    font-weight: 400;
    font-size: 18px;
    line-height: 23px;
    letter-spacing: 0.01em;
    text-transform: uppercase;
    color: #354FAE;
}

.accordion .accordion-item .accordion-header span {
    display: flex;
}

.accordion .accordion-item .accordion-header .icon {
    width: 18px;
    height: 18px;
    align-items: center;
    justify-content: center;
    transition: transform 0.5s ease-in-out;
}

.accordion .accordion-item .accordion-header .text {
    width: calc(100% - 30px);
}

.accordion .accordion-item .accordion-content {
    height: 0;
    overflow: hidden;
    padding-top: 10px;
    transition: 0.5s ease-in-out;
    display: flex;
    flex-direction: column;
    gap: 2px;
    font-style: normal;
    font-weight: 400;
    font-size: 16px;
    line-height: 23px;
    letter-spacing: 0.01em;
    color: #04044A;
}

.accordion .accordion-item .accordion-content ul {
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.accordion .accordion-item .accordion-content ul li {
    position: relative;
    padding-left: 24px;
}

.accordion .accordion-item .accordion-content ul li::after {
    content: "";
    position: absolute;
    left: 8px;
    top: 9px;
    width: 5px;
    height: 5px;
    border-radius: 50%;
    background-color: #04044A;
}

.accordion .accordion-item .accordion-content strong {
    font-weight: 500;
}

.accordion .accordion-item.active .accordion-header .icon {
    transform: rotate(180deg);
}

.accordion .accordion-item.active .accordion-content {
    padding-bottom: 24px;
}

/* Start Avocats */

.avocats-template {
    padding-top: 170px;
}

.avocats-template .container {
    width: 1440px;
    max-width: 100%;
    margin: 0 auto;
    padding: 0 36px;
}

.avocats-template .avocats-header {
    width: 1302px;
    max-width: 100%;
    margin: 0 auto;
    padding-left: 108px;
    padding-right: 43px;
    padding-top: 74px;
    position: relative;
    isolation: isolate;
    display: flex;
    flex-wrap: wrap;
    gap: 20px;
    justify-content: space-between;
}

.avocats-template .avocats-header .shape-left {
    position: absolute;
    left: 0;
    top: 0;
    z-index: -1;
    display: flex;
}

.avocats-template .avocats-header .shape-right {
    position: absolute;
    right: 57px;
    top: 141px;
    z-index: -1;
    display: flex;
}

.avocats-template .avocats-header .title {
    width: 592px;
    max-width: 100%;
    display: flex;
    flex-direction: column;
    gap: 40px;
}

.avocats-template .avocats-header .label {
    font-style: normal;
    font-weight: 400;
    font-size: 18px;
    line-height: 23px;
    letter-spacing: 0.01em;
    text-transform: uppercase;
    color: #04044A;
}

.avocats-template .avocats-header h1 {
    font-style: normal;
    font-weight: 500;
    font-size: 46px;
    line-height: 60px;
    letter-spacing: 0.01em;
    color: #04044A;
}

.avocats-template .avocats-header .description {
    width: 329px;
    max-width: 100%;
    font-style: normal;
    font-weight: 400;
    font-size: 18px;
    line-height: 23px;
    letter-spacing: 0.01em;
    color: #04044A;
    padding-top: 78px;
}

.avocats-template .avocats-grid {
    position: relative;
    padding-top: 45px;
    display: flex;
    flex-direction: column;
    gap: 50px;
    width: 1302px;
    max-width: 100%;
    margin: 0 auto;
    min-height: 584px;
}

.avocats-template .team-results {
    display: flex;
    flex-wrap: wrap;
    gap: 57px 35px;
}


.avocats-template .team-filters {
    display: flex;
    gap: 12px;
    padding-left: 108px;
}

.avocats-template .custom-select {
    position: relative;
    font-family: inherit;
}

.avocats-template .custom-select__trigger {
    display: flex;
    align-items: center;
    gap: 20px;
    padding: 15px 18px;
    background: #fff;
    border: 1px solid #3650b033;
    border-radius: 10px;
    cursor: pointer;
    white-space: nowrap;

    font-style: normal;
    font-weight: 500;
    font-size: 16px;
    line-height: 28px;
    letter-spacing: 0.02em;
    color: #061638;

    
}

.avocats-template .custom-select__trigger .icon {
    display: flex;
    align-items: center;
    transition: transform 0.2s ease;
}

.avocats-template .custom-select.open .custom-select__trigger .icon {
    transform: rotate(180deg);
}

.avocats-template .custom-select__dropdown {
    position: absolute;
    top: calc(100% + 8px);
    left: 0;
    min-width: 285px;
    background: #fff;
    border: 1px solid #3650b033;
    border-radius: 12px;
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.08);
    padding: 8px;
    display: none;
    flex-direction: column;
    z-index: 20;
}

.avocats-template .custom-select__dropdown button.active {
    background: #EEF1F6;
    color: #354FAE;
    font-weight: 600;
}

.avocats-template .custom-select.open .custom-select__dropdown {
    display: flex;
}

.avocats-template .custom-select__dropdown button {
    text-align: left;
    padding: 8px 12px;
    border: none;
    background: none;
    border-radius: 8px;
    cursor: pointer;
    font-style: normal;
    font-weight: 500;
    font-size: 16px;
    line-height: 28px;
    letter-spacing: 0.02em;
    color: #061638;

}

.avocats-template .custom-select__dropdown button:hover {
    background: #EEF1F6;
}


/* Start Savoir-faire */

.savoir-faire-template .hero-wrapper {
    padding-top: 244px;
    padding-bottom: 0;
    /* padding-bottom: 44px; */
    /* background: linear-gradient(116.83deg, #04044A 1.57%, rgba(10, 32, 92, 0.95) 90.45%); */
    border-radius: 0px 0px 40px 40px;
    color: #fff;
}

.savoir-faire-template .hero-section .container {
    width: 1440px;
    max-width: 100%;
    margin: 0 auto;
    padding: 0 36px;
}

.savoir-faire-template .hero-section .content {
    display: flex;
    flex-direction: column;
    gap: 92px;
    width: 1300px;
    max-width: 100%;
    margin: 0 auto;
    position: relative;
    isolation: isolate;
}

.savoir-faire-template .hero-section .content .shape {
    display: flex;
    position: absolute;
    right: 0;
    top: 23px;
    z-index: -1;
}

.savoir-faire-template .hero-section .info {
    display: flex;
    flex-direction: column;
    gap: 44px;
    width: 1086px;
    max-width: 100%;
    margin: 0 auto;
}

.savoir-faire-template .hero-section .label {
    font-style: normal;
    font-weight: 400;
    font-size: 18px;
    line-height: 23px;
    letter-spacing: 0.01em;
    text-transform: uppercase;
    color: #04044A;
}

.savoir-faire-template .hero-section h1 {
    font-style: normal;
    font-weight: 500;
    font-size: 46px;
    line-height: 60px;
    letter-spacing: 0.01em;
    color: #04044A;
    max-width: 829px;
}

.savoir-faire-template .hero-section .items {
    display: flex;
    gap: 30px;
}

.savoir-faire-template .hero-section  .item {
    display: flex;
    flex-direction: column;
    justify-content: center;
    gap: 40px;
    padding: 58px;
    color: #04044A;
    background: linear-gradient(225deg, rgba(209, 229, 255, 0.5) 0%, rgba(209, 229, 255, 0.8) 29.08%, #EEF1F6 100%);
    border-radius: 20px;
    width: calc(50% - 15px);
}

.savoir-faire-template .hero-section  .item h2 {
    font-style: normal;
    font-weight: 500;
    font-size: 30px;
    line-height: 39px;
    letter-spacing: 0.01em;
    color: #04044A;
}

.savoir-faire-template .hero-section  .item p {
    font-style: normal;
    font-weight: 400;
    font-size: 18px;
    line-height: 31px;
    letter-spacing: 0.01em;
    color: #04044A;
}


.savoir-faire-template .hero-section  .item  .description {
    display: flex;
    flex-direction: column;
    gap: 30px;
}


.savoir-faire-template .anticipation-contentieux {
    padding-top: 140px;
}

.savoir-faire-template .anticipation-contentieux .container {
    width: 1440px;
    max-width: 100%;
    margin: 0 auto;
    padding: 44px;
    background: linear-gradient(116.83deg, #04044A 1.57%, rgba(10, 32, 92, 0.95) 90.45%);
    border-radius: 40px;
}

.savoir-faire-template .anticipation-contentieux .content {
    border-radius: 30px;
    border: 1px solid #354FAE;
    padding: 42px 74px 42px 42px;
}

.savoir-faire-template .anticipation-contentieux .title {
    position: relative;
    isolation: isolate;
    padding: 50px 0 0 60px;
    margin-bottom: 75px;
}

.savoir-faire-template .anticipation-contentieux .title .shape {
    position: absolute;
    top: 0;
    left: 0;
    pointer-events: none;
}

.savoir-faire-template .anticipation-contentieux .title h2 {
    font-style: normal;
    font-weight: 400;
    font-size: 42px;
    line-height: 50px;
    letter-spacing: 0.01em;
    color: #FFFFFF;
    max-width: 669px;

    text-shadow:
        -1px -1px 0 #354FAE,
         1px -1px 0 #354FAE,
        -1px  1px 0 #354FAE,
         1px  1px 0 #354FAE;
}

.savoir-faire-template .anticipation-contentieux .description {
    position: relative;
    isolation: isolate; 
    display: flex;
    flex-direction: column;
    gap: 20px;
    width: 790px;
    max-width: 100%;
    margin-left: auto;
    min-height: 373px;
    font-style: normal;
    font-weight: 400;
    font-size: 22px;
    line-height: 33px;
    letter-spacing: 0.01em;
    color: #FFFFFF;
    padding-right: 20px;
}

.savoir-faire-template .anticipation-contentieux .description p {
    text-shadow:
            -1px -1px 0 #354FAE,
            1px -1px 0 #354FAE,
            -1px  1px 0 #354FAE,
            1px  1px 0 #354FAE;
}

.savoir-faire-template .anticipation-contentieux .description .primary-btn {
    margin-top: 17px;
    background: linear-gradient(208.29deg, #EEF1F6 -159.93%, #D1E5FF 81.55%);
    border: 0.853903px solid #354FAE;
}

.savoir-faire-template .anticipation-contentieux .description .shape {
    position: absolute;
    top: -84px;
    right: 0;
    pointer-events: none;
}

.savoir-faire-template .formation-section {
    padding-top: 40px;
}

.savoir-faire-template .formation-section .container {
    width: 1440px;
    max-width: 100%;
    margin: 0 auto;
    padding: 0 30px;
}

.savoir-faire-template .formation-section .content {
    border-radius: 40px;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    gap: 60px;
    padding: 50px;
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
    min-height: 480px;
}

.savoir-faire-template .formation-section h2 {
    font-style: normal;
    font-weight: 400;
    font-size: 42px;
    line-height: 50px;
    letter-spacing: 0.01em;
    color: #FFFFFF;
}

.savoir-faire-template .formation-section .description {
    width: 966px;
    max-width: 100%;
    margin: 0 auto;
    font-style: normal;
    font-weight: 400;
    font-size: 28px;
    line-height: 39px;
    text-align: center;
    letter-spacing: 0.01em;
    color: #FFFFFF;
    display: flex;
    flex-direction: column;
    gap: 20px;
}

.savoir-faire-template .expertise-lifecycle {
    padding-top: 110px;
    padding-bottom: 100px;
}

.savoir-faire-template .expertise-lifecycle  .container {
    width: 1440px;
    max-width: 100%;
    margin: 0 auto;
    padding: 0 36px;
}

.savoir-faire-template .expertise-lifecycle  .content {
    width: 1268px;
    max-width: 100%;
    margin: 0 auto;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    gap: 20px;
}

.expertise-lifecycle__header {
    position: relative;
    isolation: isolate;
    width: 597px;
    max-width: 100%;
    padding: 50px 0 50px 50px;
    max-height: 388px;
    position: sticky;
    top: 80px;
}

.expertise-lifecycle__header  .shape {
    position: absolute;
    left: 0;
    top: 0;
    z-index: -1;
    display: flex;
}

.expertise-lifecycle__header h2 {
    font-style: normal;
    font-weight: 400;
    font-size: 42px;
    line-height: 50px;
    letter-spacing: 0.01em;
    color: #04044A;
}

.expertise-lifecycle__content {
    width: 521px;
    max-width: 100%;
    display: flex;
    flex-direction: column;
    gap: 195px;
    padding-top: 60px;
}

.expertise-lifecycle__item {
    position: relative;
    isolation: isolate;
    max-width: 508px;
}

.expertise-lifecycle__item .shape {
    display: flex;
    position: absolute;
    right: 0;
    top: -13px;
    z-index: -1;
}

.expertise-lifecycle__item .expertise-lifecycle__body {
    display: flex;
    flex-direction: column;
    gap: 19px;
    
}

.expertise-lifecycle__item .expertise-lifecycle__body span {
    font-style: normal;
    font-weight: 700;
    font-size: 16px;
    line-height: 21px;
    letter-spacing: 0.01em;
    text-transform: uppercase;
    color: #354FAE;
}
.expertise-lifecycle__item .expertise-lifecycle__body p{
    font-style: normal;
    font-weight: 400;
    font-size: 28px;
    line-height: 48px;
    letter-spacing: 0.01em;
    color: #354FAE;
}

.expertise-lifecycle__number {
    position: absolute;
    top: -60px;
    right: 0;
    font-size: 70px;
    font-weight: 400;
    line-height: 84px;
    font-style: normal;
    letter-spacing: 0.01em;
    color: transparent;
    -webkit-text-stroke: 1.5px #354FAE;
    paint-order: stroke fill;
}


/* Start Single Expertise */

.single-expertise-template .hero-section {
    padding: 10px;
    background: linear-gradient(116.83deg, #04044A 1.57%, rgba(10, 32, 92, 0.95) 90.45%);
    border-bottom-right-radius: 40px;
    border-bottom-left-radius: 40px;
    color: #fff;
}

.single-expertise-template .hero-section .container {
    width: 1440px;
    max-width: 100%;
    margin: 0 auto;
    padding-top: 220px;
}

.single-expertise-template .hero-section .content {
    display: flex;
    justify-content: space-between;
    width: 1253px;
    max-width: 100%;
    margin-left: auto;
}

.single-expertise-template .hero-section .detail {
    width: 717px;
    max-width: 100%;
    position: relative;
    isolation: isolate;
    display: flex;
    flex-direction: column;
    gap: 40px;
}

.single-expertise-template .hero-section .detail .shape {
    position: absolute;
    right: 0;
    top: 0;
    display: flex;
    z-index: -1;
}

.single-expertise-template .hero-section .detail h1 {
    font-style: normal;
    font-weight: 500;
    font-size: 46px;
    line-height: 60px;
    letter-spacing: 0.01em;
    color: #FFFFFF;
}

.single-expertise-template .hero-section .detail a {

    font-style: normal;
    font-weight: 500;
    font-size: 16px;
    line-height: 19px;
    text-decoration-line: underline;
    color: rgba(255, 255, 255, 0.8);

}

.single-expertise-template .hero-section .detail .intro {
    font-style: normal;
    font-weight: 400;
    font-size: 24px;
    line-height: 31px;
    letter-spacing: 0.01em;
    color: #FFFFFF;
    max-width: 644px;
}

.single-expertise-template .hero-section .detail .arrows {
    margin-top: 58px;
}

.single-expertise-template .hero-section .image {
    border-radius: 30px;
    overflow: hidden;
    margin-top: -220px;
}

.single-expertise-template .hero-section .image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.single-expertise-template .se-content-section {
    padding: 70px 0 ;
}

.single-expertise-template .se-content-section .container {
    width: 1440px;
    max-width: 100%;
    margin: 0 auto;
    padding: 0 36px;
}

.single-expertise-template .se-content-section .content {
    width: 1204px;
    max-width: 100%;
    margin: 0 auto;
    display: flex;
    flex-wrap: wrap;
    gap: 20px;
    justify-content: space-between;
}


.single-expertise-template .se-content-section .description {
    width: 680px;
    max-width: 100%;
    display: flex;
    flex-direction: column;
    gap: 25px;
    font-style: normal;
    font-weight: 400;
    font-size: 18px;
    line-height: 25px;
    letter-spacing: 0.01em;
    color: #04044A;
}

.single-expertise-template .se-content-section .description h2 {
    font-style: normal;
    font-weight: 500;
    font-size: 32px;
    line-height: 42px;
    letter-spacing: 0.01em;
    color: #04044A;
}

/* Start Expertises */

.expertises-template .hero-section {
    padding-top: 244px;
}

.expertises-template .hero-section .container {
    width: 1440px;
    max-width: 100%;
    margin: 0 auto;
    padding: 0 35px;
}

.expertises-template .hero-section .content {
    width: 1176px;
    max-width: 100%;
    margin: 0 auto;
    padding-top: 40px;
    padding-left: 33px;
    position: relative;
    isolation: isolate;
}

.expertises-template .hero-section .shape {
    position: absolute;
    left: 0;
    top: 0;
    z-index: -1;
}

.expertises-template .hero-section .title {
    max-width: 650px;
}

.expertises-template .hero-section h1 {
    font-style: normal;
    font-weight: 500;
    font-size: 46px;
    line-height: 60px;
    letter-spacing: 0.01em;
    color: #04044A;
    margin-top: 44px;
    margin-bottom: 90px;
}

.expertises-template .hero-section .label {
    font-style: normal;
    font-weight: 400;
    font-size: 18px;
    line-height: 23px;
    letter-spacing: 0.01em;
    text-transform: uppercase;
    color: #04044A;  
}

.expertises-template .hero-section .items {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-wrap: wrap;
    gap: 10px;
}

.expertises-template .hero-section .items .item {
    width: 350px;
    display: flex;
    flex-direction: column;
    max-width: 100%;
}

.expertises-template .hero-section .items .item h2 {
    padding: 60px 35px 54px 35px;
    background: linear-gradient(116.83deg, #04044A 1.57%, rgba(10, 32, 92, 0.95) 90.45%);
    border-radius: 40px;
    font-style: normal;
    font-weight: 400;
    font-size: 26px;
    line-height: 34px;
    color: #FFFFFF;
    margin-top: -38px;
}

.expertises-template .hero-section .items .item .image {
    display: flex;
    width: 152px;
    margin-left: auto;
    position: relative;
    margin-right: 45px;
}

.expertises-template .savoir-faire-section  {
    padding-bottom: 0;
}

.expertises-template .highlight-section {
    padding: 30px 0;
}

.expertises-template .highlight-section .container {
    width: 1440px;
    max-width: 100%;
    margin: 0 auto;
    padding: 0 44px;
}

.expertises-template .highlight-section .content {
    border-radius: 30px;
    border: 1px solid #3650b066;
    padding: 42px;
    position: relative;
    isolation: isolate;
    min-height: 682px;
}

.expertises-template .highlight-section .content .shape {
    position: absolute;
    z-index: -1;
    display: flex;
}

.expertises-template .highlight-section .content .shape-left {
    top: 42px;
    left: 42px;
}

.expertises-template .highlight-section .content .shape-right {
    bottom: 42px;
    right: 74px;
}

.expertises-template .highlight-section .title {
    padding: 50px 60px 75px;
}

.expertises-template .highlight-section .title h2 {
    font-style: normal;
    font-weight: 400;
    font-size: 42px;
    line-height: 50px;
    letter-spacing: 0.01em;
    color: #04044A;
    max-width: 670px;
}

.expertises-template .highlight-section .description {
    width: 822px;
    max-width: 100%;
    margin-left: auto;
    padding-right: 52px;
    font-style: normal;
    font-weight: 400;
    font-size: 22px;
    line-height: 33px;
    letter-spacing: 0.01em;
    color: #354FAE;
    display: flex;
    flex-direction: column;
    gap: 30px;
}

.expertises-template .highlight-section .description .primary-btn {
    margin-top: 7px;
    background: linear-gradient(208.29deg, #EEF1F6 -159.93%, #D1E5FF 81.55%);

}


/* Start Distinctions */

.distinctions-template .engagement-section {
    padding-top: 244px;
    padding-bottom: 70px;
    background: linear-gradient(116.83deg, #04044A 1.57%, rgba(10, 32, 92, 0.95) 90.45%);
    border-radius: 0px 0px 40px 40px;
    color: #fff;
}

.distinctions-template .engagement-section .container {
    width: 1440px;
    max-width: 100%;
    margin: 0 auto;
    padding: 0 36px;
}

.distinctions-template .engagement-section .content {
    width: 1200px;
    max-width: 100%;
    margin: 0 auto;
    position: relative;
    isolation: isolate;
}

.distinctions-template .engagement-section .content::after {
    content: "";
    position: absolute;
    left: 57px;
    top: -57px;
    width: 100%;
    height: 100%;
    background-image: url("data:image/svg+xml,%3Csvg width='1167' height='1167' viewBox='0 0 1167 1167' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3CforeignObject x='-5' y='-5' width='1177' height='1177'%3E%3Cdiv xmlns='http://www.w3.org/1999/xhtml' style='backdrop-filter:blur(2.5px);clip-path:url(%23bgblur_0_1664_4872_clip_path);height:100%25;width:100%25'%3E%3C/div%3E%3C/foreignObject%3E%3Cpath opacity='0.5' data-figma-bg-blur-radius='5' d='M595.216 1155.28L1155.28 595.216C1162.79 587.714 1167 577.54 1167 566.931V40C1167 17.9086 1149.09 0 1127 0H600.069C589.46 0 579.286 4.21423 571.784 11.7157L11.7157 571.784C4.21423 579.286 0 589.46 0 600.069V1127C0 1149.09 17.9086 1167 40 1167H566.931C577.54 1167 587.714 1162.79 595.216 1155.28Z' fill='url(%23paint0_linear_1664_4872)'/%3E%3Cdefs%3E%3CclipPath id='bgblur_0_1664_4872_clip_path' transform='translate(5 5)'%3E%3Cpath d='M595.216 1155.28L1155.28 595.216C1162.79 587.714 1167 577.54 1167 566.931V40C1167 17.9086 1149.09 0 1127 0H600.069C589.46 0 579.286 4.21423 571.784 11.7157L11.7157 571.784C4.21423 579.286 0 589.46 0 600.069V1127C0 1149.09 17.9086 1167 40 1167H566.931C577.54 1167 587.714 1162.79 595.216 1155.28Z'/%3E%3C/clipPath%3E%3ClinearGradient id='paint0_linear_1664_4872' x1='-131.373' y1='1542.78' x2='1119.23' y2='-37.9616' gradientUnits='userSpaceOnUse'%3E%3Cstop stop-color='%2304044A' stop-opacity='0'/%3E%3Cstop offset='0.798483' stop-color='%23A9B9DC' stop-opacity='0.192954'/%3E%3Cstop offset='1' stop-color='%23D1E5FF' stop-opacity='0.24'/%3E%3C/linearGradient%3E%3C/defs%3E%3C/svg%3E%0A");
    background-repeat: no-repeat;
    background-size: cover;
    z-index: -1;
}

.distinctions-template .engagement-section .intro {
    display: flex;
    flex-direction: column;
    gap: 40px;
    margin-bottom: 70px;
}

.distinctions-template .engagement-section .intro .label {
    font-style: normal;
    font-weight: 400;
    font-size: 18px;
    line-height: 23px;
    letter-spacing: 0.01em;
    text-transform: uppercase;
    color: #FFFFFF;
}

.distinctions-template .engagement-section h1 {
    font-style: normal;
    font-weight: 500;
    font-size: 46px;
    line-height: 60px;
    letter-spacing: 0.01em;
    color: #FFFFFF;
}

.distinctions-template .engagement-section .distinctions-items {
    display: flex;
    flex-wrap: wrap;
    gap: 20px;
    width: 875px;
    max-width: 100%;
    margin-left: auto;
}

.distinctions-template .engagement-section .distinctions-items .item {
    width: 314px;
    min-height: 308px;
    max-width: 100%;
    background-color: #FFFFFF;
    border-radius: 10px;
    padding: 10px;
    color: #04044A;
    display: flex;
    align-items: center;
    flex-direction: column;
    position: relative;
    isolation: isolate;
    overflow: hidden;
}

.distinctions-template .engagement-section .distinctions-items .item::after {
    content: "";
    position: absolute;
    left: 10px;
    top: 10px;
    width: calc(100% - 10px);
    height: calc(100% - 10px);
    bqckground-repeat: no-repeat;
    background-size: cover;
    background-image: url("data:image/svg+xml,%3Csvg width='304' height='298' viewBox='0 0 304 298' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M180.157 362.657L2.34315 184.843C0.842855 183.343 0 181.308 0 179.186V8C0 3.58173 3.58173 0 8 0H179.186C181.308 0 183.343 0.842865 184.843 2.34314L362.657 180.157C364.157 181.657 365 183.692 365 185.814V357C365 361.418 361.418 365 357 365H185.814C183.692 365 181.657 364.157 180.157 362.657Z' fill='%23D1E5FF'/%3E%3Cpath d='M2.34314 265.657L17.6569 250.343C19.1571 248.843 21.192 248 23.3137 248H32C36.4183 248 40 251.582 40 256V264.686C40 266.808 39.1571 268.843 37.6569 270.343L22.3431 285.657C20.8429 287.157 18.808 288 16.6863 288H8C3.58172 288 0 284.418 0 280L0 271.314C0 269.192 0.842852 267.157 2.34314 265.657Z' fill='%23354FAE'/%3E%3C/svg%3E%0A");
    z-index: -1;
}

.distinctions-template .engagement-section .distinctions-items .item .logo {
    margin-top: 23px;
    min-height: 53px;
    margin-bottom: 37px;
}

.distinctions-template .engagement-section .distinctions-items .item .rang {
    font-family: "Inter", sans-serif;
    font-style: normal;
    font-weight: 700;
    font-size: 18px;
    line-height: 25px;
    text-align: center;
    color: #FFFFFF;
    width: 36px;
    height: 36px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    background-color: #354FAE;
    position: relative;
    isolation: isolate;
    margin-bottom: 15px;
}

.distinctions-template .engagement-section .distinctions-items .item .rang.first:after {
    content: "";
    position: absolute;
    left: 4px;
    top: 6px;
    width: 29px;
    height: 25px;
    background-repeat: no-repeat;
    background-size: cover;
    background-image: url("data:image/svg+xml,%3Csvg width='29' height='25' viewBox='0 0 29 25' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M22.9684 4.95C23.4184 4.65 25.2184 2.25 22.9684 0C20.4184 2.4 22.6684 4.8 22.9684 4.95ZM24.6184 8.85C25.3684 8.7 28.0684 7.05 26.5684 3.75C23.1184 5.1 24.3184 8.55 24.6184 8.85ZM24.6184 13.05C25.3684 13.2 28.8184 12.75 28.5184 8.7C24.4684 8.55 24.4684 12.9 24.6184 13.05ZM23.2684 17.1C23.8684 17.55 27.3184 18.6 28.5184 14.55C24.7684 12.9 23.2684 16.8 23.2684 17.1ZM20.5684 20.4C21.0184 21.15 23.8684 23.4 26.2684 20.25C23.4184 16.95 20.7184 19.95 20.5684 20.4ZM16.9684 22.2C17.1184 22.95 18.9184 26.25 22.3684 24.3C20.8684 20.25 17.1184 21.9 16.9684 22.2ZM5.56844 4.95C5.11844 4.65 3.31844 2.25 5.56844 0C8.11844 2.4 5.86844 4.8 5.56844 4.95ZM3.91844 8.85C3.31844 8.7 0.468436 7.05 2.11844 3.75C5.56844 5.1 4.21844 8.55 3.91844 8.85ZM3.91844 13.2C3.16844 13.35 -0.281564 12.9 0.0184357 8.85C4.06844 8.55 4.06844 12.9 3.91844 13.2ZM5.26844 17.1C4.66844 17.55 1.21844 18.6 0.0184357 14.55C3.76844 12.9 5.26844 16.8 5.26844 17.1ZM7.96844 20.4C7.51844 21.15 4.66844 23.4 2.26844 20.25C5.11844 16.95 7.81844 19.95 7.96844 20.4ZM11.5684 22.2C11.4184 22.95 9.61844 26.25 6.16844 24.3C7.66844 20.25 11.4184 21.9 11.5684 22.2ZM14.2684 24.45C14.7184 24.45 15.1684 24 15.1684 23.4C15.1684 22.8 14.7184 22.35 14.2684 22.35C13.8184 22.35 13.3684 22.8 13.3684 23.4C13.3684 24 13.8184 24.45 14.2684 24.45Z' fill='white'/%3E%3C/svg%3E%0A");
}

.distinctions-template .engagement-section .distinctions-items .item .expertise {
    font-style: normal;
    font-weight: 700;
    font-size: 20px;
    line-height: 26px;
    text-align: center;
    letter-spacing: 0.01em;
    margin-bottom: 5px;
}

.distinctions-template .engagement-section .distinctions-items .item .mention {
    font-style: normal;
    font-weight: 400;
    font-size: 18px;
    line-height: 23px;
    text-align: center;
    letter-spacing: 0.01em;
}

.distinctions-template .engagement-section .distinctions-items .item .year {
    font-style: normal;
    font-weight: 400;
    font-size: 16px;
    line-height: 21px;
    letter-spacing: 0.01em;
    position: absolute;
    bottom: 20px;
}

.distinctions-template .engagement-section .distinctions-items .item .year {
    font-style: normal;
    font-weight: 400;
    font-size: 16px;
    line-height: 21px;
    letter-spacing: 0.01em;
    position: absolute;
    bottom: 20px;
}

.distinctions-template .engagement-section .classement-items {
    display: flex;
    flex-wrap: wrap;
    gap: 20px;
    width: 875px;
    max-width: 100%;
    margin-left: auto;
    margin-top: 83px;
    position: relative;
    isolation: isolate;
    z-index: 1;
}

.distinctions-template .engagement-section .classement-items::after {
    content: "";
    position: absolute;
    left: -405px;
    top: 0;
    width: 331px;
    height: 267px;
    background-repeat: no-repeat;
    background-size: contain;
    background-image: url("data:image/svg+xml,%3Csvg width='331' height='267' viewBox='0 0 331 267' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M138.713 258.884L258.885 138.712C262.841 134.755 265.064 129.388 265.064 123.792V21.0996C265.064 9.44661 255.618 0 243.965 0H141.272C135.676 0 130.31 2.22299 126.353 6.17993L6.1806 126.352C2.22366 130.309 0.000671387 135.676 0.000671387 141.272V243.964C0.000671387 255.617 9.44728 265.064 21.1003 265.064H123.793C129.389 265.064 134.756 262.841 138.713 258.884Z' fill='url(%23paint0_radial_3001_112)' fill-opacity='0.3'/%3E%3Cpath opacity='0.6' d='M294.943 263.293L268.154 236.505C266.176 234.526 265.064 231.843 265.064 229.045V210.997C265.064 205.17 269.788 200.447 275.614 200.447H293.663C296.461 200.447 299.144 201.558 301.123 203.537L327.911 230.325C329.889 232.303 331.001 234.987 331.001 237.785V255.833C331.001 261.66 326.277 266.383 320.451 266.383H302.402C299.604 266.383 296.921 265.272 294.943 263.293Z' fill='%23354FAE'/%3E%3Cdefs%3E%3CradialGradient id='paint0_radial_3001_112' cx='0' cy='0' r='1' gradientTransform='matrix(-42.9441 -675.207 102.073 -649.188 175.345 264.269)' gradientUnits='userSpaceOnUse'%3E%3Cstop stop-color='white' stop-opacity='0.4'/%3E%3Cstop offset='1' stop-color='white' stop-opacity='0.8'/%3E%3C/radialGradient%3E%3C/defs%3E%3C/svg%3E%0A");
}


.distinctions-template .engagement-section .classement-items .item {
    width: 278px;
    height: fit-content;
    max-width: 100%;
    background: #354FAE;
    border: 1px solid rgba(209, 229, 255, 0.2);
    border-radius: 10px;
    color: #FFFFFF;
    position: relative;
    isolation: isolate;
    padding: 30px 20px;
}

.distinctions-template .engagement-section .classement-items .item .year {
    position: absolute;
    top: 0;
    right: 0;
    width: 80px;
    height: 80px;      
    font-style: normal;
    font-weight: 400;
    font-size: 16px;
    line-height: 21px;
    letter-spacing: 0.01em;
    display: flex;
    align-items: end;
    justify-content: center;
    color: #354FAE;
    border-radius: 0px 10px 0px 8px;
    padding: 11px;
    background-image: url("data:image/svg+xml,%3Csvg width='76' height='81' viewBox='0 0 76 81' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M67.8431 78.6569L128.657 17.8431C130.157 16.3429 131 14.308 131 12.1863V-42C131 -46.4183 127.418 -50 123 -50H68.8137C66.692 -50 64.6572 -49.1572 63.1569 -47.6569L2.34314 13.1569C0.84285 14.6571 0 16.692 0 18.8137V73C0 77.4183 3.58173 81 8 81L62.1863 81C64.308 81 66.3428 80.1571 67.8431 78.6569Z' fill='white'/%3E%3C/svg%3E%0A");
    background-repeat: no-repeat;
    background-size: cover;
}

.distinctions-template .engagement-section .classement-items .item .logo {
    margin-bottom: 10px;
}

.distinctions-template .engagement-section .classement-items .item .expertise {
    padding-top: 31px;
    padding-bottom: 11px;
    font-style: normal;
    font-weight: 700;
    font-size: 16px;
    line-height: 21px;
    letter-spacing: 0.01em;
    color: #D1E5FF;
    border-bottom: 1px solid rgba(4, 4, 73, 0.3);
    margin-bottom: 28px;
}

.distinctions-template .engagement-section .classement-items .item .mention {
    min-height: 34px;
    padding-left: 18px;
    font-family: "Inter", sans-serif;
    font-style: normal;
    font-weight: 700;
    font-size: 12px;
    line-height: 17px;
    text-transform: uppercase;
    position: relative;
    isolation: isolate;
    display: flex;
    align-items: center;
}

.distinctions-template .engagement-section .classement-items .item .mention::before {
    content: "";
    position: absolute;
    left: 0;
    top: 0;
    background-repeat: no-repeat;
    background-size: cover;
    width: 34px;
    height: 34px;
    z-index: -1;
    background-image: url("data:image/svg+xml,%3Csvg width='34' height='34' viewBox='0 0 34 34' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath opacity='0.5' d='M17.6081 33.3919L33.3919 17.6081C33.7812 17.2188 34 16.6906 34 16.14V2.07634C34 0.929607 33.0704 0 31.9237 0H17.86C17.3094 0 16.7812 0.218758 16.3919 0.608143L0.608143 16.3919C0.218758 16.7812 0 17.3094 0 17.86V31.9237C0 33.0704 0.929607 34 2.07634 34H16.14C16.6906 34 17.2188 33.7812 17.6081 33.3919Z' fill='%23D1E5FF'/%3E%3C/svg%3E%0A");
}

/* Start A propos Page */

.about-template .hero-section {
    padding-top: 244px;
    padding-bottom: 100px;
    background: linear-gradient(116.83deg, #04044A 1.57%, rgba(10, 32, 92, 0.95) 90.45%);
    border-radius: 0px 0px 40px 40px;
    color: #fff;
}

.about-template .hero-section .container {
    width: 1440px;
    max-width: 100%;
    margin: 0 auto;
    padding: 0 36px;
}

.about-template .hero-section .content {
    width: 1086px;
    max-width: 100%;
    margin: 0 auto;
    position: relative;
    isolation: isolate;
}

.about-template .hero-section .label {
    font-style: normal;
    font-weight: 400;
    font-size: 18px;
    line-height: 23px;
    letter-spacing: 0.01em;
    text-transform: uppercase;
    margin-bottom: 30px;
}

.about-template .hero-section h1 {
    font-style: normal;
    font-weight: 500;
    font-size: 46px;
    line-height: 60px;
    letter-spacing: 0.01em;
    max-width: 871px;
    color: #FFFFFF;
    margin-bottom: 80px;
}

.about-template .hero-section .wrapper {
    max-width: 1037px;
    position: relative;
    isolation: isolate;
}

.about-template .hero-section .wrapper .shape {
    position: absolute;
    left: 0;
    top: 0;
    display: flex;
    z-index: -1;
}

.about-template .hero-section .wrapper .description,
.about-template .hero-section .wrapper .citation {
    width: 588px;
    max-width: 100%;
    font-style: normal;
    margin-left: auto;
    font-weight: 400;
}


.about-template .hero-section .wrapper .description {
    font-style: normal;
    font-weight: 400;
    font-size: 18px;
    line-height: 27px;
    letter-spacing: 0.01em;
    color: #FFFFFF;
    display: flex;
    flex-direction: column;
    gap: 30px;
    margin-bottom: 60px;
}

.about-template .hero-section .wrapper .citation {
    position: relative;
    padding: 16px 0 0 16px;
}

.about-template .hero-section .wrapper .citation .shape {
    position: absolute;
    left: 0;
    top: 0;
    display: flex;
    z-index: -1;
}

.about-template .hero-section .wrapper .citation p {
    font-style: italic;
    font-weight: 500;
    font-size: 16px;
    line-height: 24px;
    letter-spacing: 0.01em;
    display: flex;
    gap: 8px;
}

.about-template .hero-section .wrapper .citation span {
    font-style: normal;
    font-weight: 500;
    font-size: 14px;
    line-height: 21px;
    letter-spacing: 0.01em;
    text-transform: uppercase;
    margin-top: 36px;
    display: flex;
    padding-left: 18px;
}


.about-template .our-expertise-section .container {
    width: 1440px;
    max-width: 100%;
    margin: 0 auto;
    padding: 0 36px;
}

.about-template .our-expertise-section .content {
    width: 1268px;
    max-width: 100%;
    margin: 0 auto;
    display: flex;
    flex-wrap: wrap;
    gap: 20px;
    justify-content: space-between;
    padding-top: 70px;
    padding-bottom: 85px;
}

.about-template .our-expertise-section .title {
    width: 618px;
    max-width: 100%;
    position: relative;
    isolation: isolate;
    padding-left: 91px;
    padding-top: 44px;
}

.about-template .our-expertise-section .title .shape {
    position: absolute;
    left: 0;
    top: 0;
    display: flex;
    z-index: -1;
}

.about-template .our-expertise-section .title h2 {
    font-style: normal;
    font-weight: 400;
    font-size: 42px;
    line-height: 50px;
    letter-spacing: 0.01em;
    margin-bottom: 64px;
    color: #04044A;
}

.about-template .our-expertise-section .title .primary-btn {
    background: linear-gradient(232.66deg, #EEF1F6 0%, #FFFAF0 88.16%);
}

.about-template .our-expertise-section .description {
    width: 556px;
    max-width: 100%;
    position: relative;
    isolation: isolate;
    padding-bottom: 40px;
    font-style: normal;
    font-weight: 400;
    font-size: 18px;
    line-height: 25px;
    letter-spacing: 0.01em;
    color: #04044A;
    display: flex;
    flex-direction: column;
    gap: 30px;
}

.about-template .our-expertise-section .description .shape {
    position: absolute;
    right: 0;
    bottom: 0;
    display: flex;
    z-index: -1;
}

.about-template  .evolution-droit-section .container {
    width: 1440px;
    max-width: 100%;
    margin: 0 auto;
    padding: 0 0 0 20px;
}

.about-template  .evolution-droit-section .content {
    border-radius: 40px;
    position: relative;
    isolation: isolate;
    overflow: hidden;
    padding: 55px 40px 36px 20px;
    color: #fff;
    margin-bottom: 30px;
}

.about-template  .evolution-droit-section .content::after {
    content: "";
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    background: linear-gradient(116.83deg, #04044A 1.57%, rgba(10, 32, 92, 0.95) 90.45%);
    transform: matrix(-1, 0, 0, 1, 0, 0);
    z-index: -1;
}

.about-template  .evolution-droit-section .shape {
    position: absolute;
    left: 0;
    top: 0;
    display: flex;
}

.about-template  .evolution-droit-section .shape.big-shape {
    left: 0;
    right: 0;
    top: 55px;
    margin: 0 auto;
    width: fit-content;
}

.about-template  .evolution-droit-section .shape.small-shape {
    left: 55px;
    top: 55px;
}

.about-template  .evolution-droit-section .head {
    max-width: 663px;
    margin: 35px auto 90px auto;
    text-align: center;
    display: flex;
    flex-direction: column;
    gap: 50px;
}


.about-template  .evolution-droit-section .head h2 {
    max-width: 373px;
    font-style: normal;
    font-weight: 400;
    font-size: 42px;
    line-height: 55px;
    text-align: center;
    letter-spacing: 0.01em;
    margin: 0 auto;
}

.about-template  .evolution-droit-section .head p {
    font-style: normal;
    font-weight: 400;
    font-size: 20px;
    line-height: 26px;
    text-align: center;
    letter-spacing: 0.01em;
}

.about-template  .evolution-droit-section .items {
    display: flex;
    flex-wrap: wrap;
    gap: 20px;
    justify-content: space-between;
}

.about-template  .evolution-droit-section .items .item {
    width: 316px;
    max-width: 100%;
    padding: 30px 10px 0 10px;
    border-top: 1px solid #ffffffb3;
    display: flex;
    flex-direction: column;
    gap: 22px;
}

.about-template  .evolution-droit-section .items .item .label {
    font-style: normal;
    font-weight: 500;
    font-size: 20px;
    line-height: 28px;
    color: rgba(255, 255, 255, 0.7);
}

.about-template  .evolution-droit-section .items .item h3 {
    font-style: normal;
    font-weight: 700;
    font-size: 24px;
    line-height: 34px;
}

/* Start Secteurs */

.secteurs-template .hero-section {
    padding-top: 244px;
    padding-bottom: 20px;
    position: relative;
    isolation: isolate;
}

.secteurs-template .hero-section::after {
    content: "";
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    background: linear-gradient(0deg, #FFFFFF, #FFFFFF), linear-gradient(225deg, rgba(209, 229, 255, 0.5) 0%, rgba(209, 229, 255, 0.8) 29.08%, #EEF1F6 100%), linear-gradient(116.83deg, #04044A 1.57%, rgba(10, 32, 92, 0.95) 90.45%);
    opacity: 0.4;
    z-index: -1;
}

.secteurs-template .hero-section .container {
    width: 1440px;
    max-width: 100%;
    margin: 0 auto;
    padding: 0 20px;
}

.secteurs-template .hero-section .content {
    position: relative;
    isolation: isolate;
}

.secteurs-template .hero-section .content .head {
    width: 1206px;
    max-width: 100%;
    margin: 0 auto;
    padding-left: 60px;
    position: relative;
    isolation: isolate;
}

.secteurs-template .hero-section .shape {
    position: absolute;
    right: 0;
    top: 25px;
    z-index: -1;
}

.secteurs-template .hero-section .title {
    max-width: 650px;
}

.secteurs-template .hero-section h1 {
    font-style: normal;
    font-weight: 500;
    font-size: 46px;
    line-height: 60px;
    letter-spacing: 0.01em;
    color: #04044A;
    margin-top: 44px;
    margin-bottom: 90px;
}

.secteurs-template .hero-section .label {
    font-style: normal;
    font-weight: 400;
    font-size: 18px;
    line-height: 23px;
    letter-spacing: 0.01em;
    text-transform: uppercase;
    color: #04044A;  
}

.secteurs-template .hero-section .items {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
}

.secteurs-template .hero-section .items .item {
    width: 272px;
    display: flex;
    max-width: 100%;
    position: relative;
    isolation: isolate;
    padding: 10px;
    aspect-ratio:1/.95;
    border:0;
    cursor:pointer;
    overflow:hidden;
    border: 1px solid #ffffff4d;
    border-radius: 16px;
    /* même nombre de points dans les 2 états => transition fluide */
    clip-path:polygon(0 0, calc(100% - 100px) 0, 100% 100px, 100% 100%, 0 100%);
    transition:clip-path .7s cubic-bezier(.22,.61,.36,1);
    will-change:clip-path;
}

.secteurs-template .hero-section .items .item::before {
    content:"";
    position:absolute;
    inset:0;
    background: linear-gradient(0deg, rgba(4, 24, 74, 0.18) 0%, rgba(4, 24, 74, 0.9) 100%);
    transform: matrix(1, 0, 0, -1, 0, 0);
}

.secteurs-template .hero-section .items .item::after{ /* voile bleu au hover (opacity = animable) */
    content:"";
    position:absolute;
    inset:0;
    z-index:-1;
    background: linear-gradient(0deg, rgba(4, 24, 74, 0.6) 0%, #04184A 100%);
    opacity:0;
    transition:opacity .7s cubic-bezier(.22,.61,.36,1);
    transform: matrix(1, 0, 0, -1, 0, 0);

}

.secteurs-template .hero-section .items .item:hover::after,
.secteurs-template .hero-section .items .item:focus-visible::after {
    opacity:1
}


.secteurs-template .hero-section .items .item .image {
    position: absolute;
    left: 0;
    top: 0;
    z-index: -1;
    width: 100%; 
    height: 100%; 
}

.secteurs-template .hero-section .items .item .image img {
    width: 100%;
    object-fit: cover;
}

.secteurs-template .hero-section .items .item h2 {
    font-style: normal;
    font-weight: 500;
    font-size: 24px;
    line-height: 31px;
    display: flex;
    align-items: flex-end;
    letter-spacing: 0.01em;
    color: #FFFFFF;
    position: relative;
    z-index: 1;
}

.secteurs-template .hero-section .items .item:hover,
.secteurs-template .hero-section .items .item:focus-visible {
  clip-path:polygon(0 0, 100% 0, 100% 0, 100% 100%, 0 100%);
}


/* POPUP */ 

html.popup-lock {
    overflow: hidden;
}

.popup {
    position: fixed;
    inset: 0;
    z-index: 100;
    background: rgba(11, 26, 92, 0.82);
    color: #fff;
    opacity: 0;
    visibility: hidden;
    transition:
        opacity 0.5s cubic-bezier(.22, .61, .36, 1),
        visibility 0s linear 0.5s;
}
.popup.is-open {
    opacity: 1;
    visibility: visible;
    transition:
        opacity 0.5s cubic-bezier(.22, .61, .36, 1),
        visibility 0s;
}

.panel {
    position: absolute;
    top: 0;
    right: 0;
    width: 440px;
    max-width: 100%;
    height: calc(100% - 100px);
    background: #04184A;
    border-left: 3px solid #354FAE;
    padding: 35px 27px 35px 40px;
    overflow-y: auto;
    overscroll-behavior: contain;
    transform: translateX(100%);
    transition: transform 0.55s cubic-bezier(.22, .61, .36, 1);
    box-shadow: -40px 0px 90px -40px rgba(4, 24, 74, 0.6);
    scrollbar-width: thin;
    scrollbar-color: rgba(209, 229, 255, 0.35) transparent;
}


.panel::-webkit-scrollbar {
    width: 6px;
}
.panel::-webkit-scrollbar-track {
    background: transparent;
}
.panel::-webkit-scrollbar-thumb {
    background: rgba(209, 229, 255, 0.35);
    border-radius: 3px;
}
.panel::-webkit-scrollbar-thumb:hover {
    background: rgba(209, 229, 255, 0.55);
}

.popup.is-open .panel {
    transform: translateX(0);
}

.panel-back {
    position: relative;
    z-index: 1;
    background: none;
    border: 0;
    color: #ffffffcc;
    font-style: normal;
    font-weight: 500;
    font-size: 16px;
    line-height: 19px;
    text-decoration: underline;
    cursor: pointer;
    margin-bottom: 60px;
    display: flex;
}

.panel-content {
    position: relative;
    z-index: 1;
    padding-bottom: 40px;
}
.panel-content[hidden] {
    display: none;
}
.panel-content h2 {
    margin-bottom: 40px;
    font-style: normal;
    font-weight: 500;
    font-size: 24px;
    line-height: 31px;
    letter-spacing: 0.01em;
    color: #FFFFFF;
}
.panel-items {
    display: flex;
    flex-direction: column;
    gap: 24px;
    font-style: normal;
    font-weight: 400;
    font-size: 15px;
    line-height: 21px;
    padding-left: 29px;
}
.panel-items .item h3 {
    font-style: normal;
    font-weight: 400;
    margin-bottom: 24px;
}

.panel-items .item ul {
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.panel-items .item ul li {
    padding-left: 23px;
    position: relative;
    isolation: isolate;
}

.panel-items .item ul li::after {
    content: "";
    position: absolute;
    left: 10px;
    top: 10px;
    width: 5px;
    height: 5px;
    background-color: #fff;
    border-radius: 50%;
}

.panel-shape {
    position: sticky;
    /* right: 27px; */
    bottom: 44px;
    pointer-events: none;
    z-index: 0;
    float: right;
    width: 175px;
    height: 175px;
    margin-top: -175px;

}
.panel-shape svg {
    display: flex;
}