.header-top #GTranslateDesktop #GTranslate .left-topbar:first-child {
    position: relative;
    /* Nécessaire pour positionner le pseudo-élément */
}

.header-top #GTranslateDesktop #GTranslate .left-topbar:first-child::before {
    content: "";
    position: absolute;
    left: -6px;
    /* Ajuste la position à gauche de l'icône */
    top: 50%;
    width: 2px;
    /* Épaisseur de la bordure */
    height: 50%;
    /* Plus petit que l'icône */
    background-color: white !important;
    transform: translateY(-50%);
}

#header-boutique .logo-container-main-center img {
    max-width: 300px !important;
}

#header-boutique.fixed-header .logo-container-main img {
    max-width: 80px;
}

.megamenu li a {
    color: #fff
}

.fixed-header .megamenu li a {
    color: var(--main-color);
}

.main-slider-2-content {
    position: relative;
    z-index: 5;
    display: flex;
    align-items: center;
    min-height: 100vh;
    padding: 140px 0 100px;
}

.main-slider-2-content .row {
    width: 100%;
}

.main-slider-2-content .centre {
    display: flex;
    align-items: center;
    justify-content: flex-start;
    width: 100%;
}

.main-slider-2-content .centre>div {
    max-width: 760px;
    padding: 42px 42px 38px;
}

.main-slider-2-title {
    display: inline-block;
    margin-bottom: 20px;
    font-size: 52px;
    line-height: 1.1;
    color: #41bfff;
    font-weight: 400;
    text-shadow: 0 6px 18px rgba(0, 0, 0, 0.18);
}

.main-slider-2-title.font-dancing-script {
    font-family: 'Lato';
}

.main-slider-2-text {
    margin-bottom: 24px;
    font-size: 30px;
    line-height: 1.05;
    font-weight: 700;
    letter-spacing: -0.03em;
    text-transform: uppercase;
    color: #ffffff;
    text-shadow: 0 10px 30px rgba(0, 0, 0, 0.22);
}

.third-text {
    max-width: 650px;
    margin-bottom: 30px;
    font-size: 18px;
    line-height: 1.7;
    font-weight: 400;
    color: rgba(255, 255, 255, 0.9);
}

.main-slider-2-cta {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 18px;
    flex-wrap: wrap;
}

.main-slider-2-cta .btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 56px;
    padding: 0 28px;
    border-radius: 14px;
    font-size: 16px;
    font-weight: 600;
    text-decoration: none;
    transition: all 0.3s ease;
    box-shadow: none;
}

.main-slider-2-cta .btn-primary {
    background: linear-gradient(135deg, #1f7cff 0%, #2ebeff 100%);
    border: 1px solid transparent;
    color: #ffffff;
    box-shadow: 0 16px 35px rgba(31, 124, 255, 0.35);
}

.main-slider-2-cta .btn-primary:hover {
    transform: translateY(-3px);
    box-shadow: 0 22px 40px rgba(31, 124, 255, 0.42);
}

.main-slider-2-cta .btn-ghost-light {
    background: rgba(255, 255, 255, 0.06);
    border: 1px solid rgba(255, 255, 255, 0.35);
    color: #ffffff;
}

.main-slider-2-cta .btn-ghost-light:hover {
    transform: translateY(-3px);
    background: rgba(255, 255, 255, 0.12);
    border-color: rgba(255, 255, 255, 0.55);
}

.main-slider-2-cta .btn-small {
    min-height: 54px;
    padding: 0 26px;
}

/* petit trait décoratif */
.main-slider-2-text::after {
    content: "";
    display: block;
    width: 90px;
    height: 3px;
    margin-top: 22px;
    border-radius: 999px;
    background: linear-gradient(90deg, #2ebeff, rgba(46, 190, 255, 0.15));
}

/* Responsive */
@media (max-width: 1199px) {
    .main-slider-2-text {
        font-size: 30px;
    }

    .main-slider-2-title {
        font-size: 46px;
    }
}

@media (max-width: 991px) {
    .main-slider-2-content {
        min-height: auto;
        padding: 120px 0 80px;
    }

    .main-slider-2-content .centre {
        justify-content: center;
    }

    .main-slider-2-content .centre>div {
        max-width: 100%;
        padding: 34px 30px;
        border-radius: 24px;
    }

    .main-slider-2-text {
        font-size: 30px;
    }

    .main-slider-2-title {
        font-size: 40px;
    }

    .third-text {
        font-size: 17px;
    }
}

@media (max-width: 767px) {
    .main-slider-2-content {
        padding: 100px 0 70px;
    }

    .main-slider-2-content .centre>div {
        padding: 28px 22px;
        border-radius: 20px;
    }

    .main-slider-2-title {
        font-size: 34px;
        margin-bottom: 14px;
    }

    .main-slider-2-text {
        font-size: 30px;
        line-height: 1.1;
        margin-bottom: 18px;
    }

    .third-text {
        font-size: 16px;
        line-height: 1.65;
        margin-bottom: 24px;
    }

    .main-slider-2-cta {
        gap: 12px;
    }

    .main-slider-2-cta .btn,
    .main-slider-2-cta .btn-small {
        width: 100%;
        min-height: 50px;
        padding: 0 20px;
    }
}

.hr-aqua-presentation {
    position: relative;
    overflow: hidden;
    padding: 115px 20px;
    font-family: Arial, Helvetica, sans-serif;
    background:
        radial-gradient(circle at 18% 18%, rgba(87, 221, 255, 0.32), transparent 28%),
        radial-gradient(circle at 78% 12%, rgba(44, 180, 255, 0.22), transparent 30%),
        linear-gradient(135deg, #002f57 0%, #006fa8 48%, #e9fbff 100%);
}

.hr-aqua-presentation::before {
    content: "";
    position: absolute;
    inset: 0;
    background:
        repeating-radial-gradient(circle at 20% 25%, rgba(255, 255, 255, 0.13) 0 1px, transparent 1px 42px),
        linear-gradient(120deg, rgba(255, 255, 255, 0.16), transparent 35%, rgba(255, 255, 255, 0.08));
    opacity: .65;
    pointer-events: none;
}

.hr-aqua-presentation::after {
    content: "";
    position: absolute;
    left: -8%;
    right: -70%;
    bottom: -95px;
    height: 180px;
    background: rgb(255, 255, 255);
    border-radius: 50% 50% 0 0;
    filter: blur(.2px);
}

.hr-aqua-bubble {
    position: absolute;
    border-radius: 50%;
    background:
        radial-gradient(circle at 32% 26%, #fff 0 9%, transparent 10%),
        radial-gradient(circle, rgba(139, 232, 255, .95), rgba(0, 87, 150, .2) 70%);
    box-shadow: inset 0 -12px 24px rgba(0, 71, 130, .18), 0 15px 40px rgba(0, 48, 90, .18);
    pointer-events: none;
}

.hr-aqua-bubble.b1 {
    width: 82px;
    height: 82px;
    left: 7%;
    top: 18%;
}

.hr-aqua-bubble.b2 {
    width: 42px;
    height: 42px;
    left: 12%;
    bottom: 24%;
}

.hr-aqua-bubble.b3 {
    width: 68px;
    height: 68px;
    right: 9%;
    top: 26%;
}

.hr-aqua-bubble.b4 {
    width: 26px;
    height: 26px;
    right: 18%;
    bottom: 22%;
}

.hr-aqua-container {
    position: relative;
    z-index: 2;
    max-width: 1240px;
    margin: 0 auto;
    display: grid;
    grid-template-columns: .95fr 1.05fr;
    gap: 70px;
    align-items: center;
}

.hr-aqua-visual {
    position: relative;
}

.hr-aqua-photo {
    position: relative;
    overflow: hidden;
    min-height: 585px;
    border-radius: 44px 44px 120px 44px;
    background: #dff8ff;
    box-shadow: 0 38px 95px rgba(0, 31, 66, .32);
}

.hr-aqua-photo::before {
    content: "";
    position: absolute;
    inset: 18px;
    z-index: 2;
    border-radius: 34px 34px 100px 34px;
    border: 1px solid rgba(255, 255, 255, .58);
    pointer-events: none;
}

.hr-aqua-photo::after {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 1;
    background:
        linear-gradient(180deg, rgba(0, 53, 95, .02), rgba(0, 53, 95, .38)),
        radial-gradient(circle at 22% 16%, rgba(255, 255, 255, .5), transparent 30%);
}

.hr-aqua-photo img {
    width: 100%;
    height: 100%;
    min-height: 585px;
    object-fit: cover;
    display: block;
    transform: scale(1.02);
    transition: transform .9s ease;
}

.hr-aqua-visual:hover .hr-aqua-photo img {
    transform: scale(1.07);
}

.hr-aqua-ripple {
    position: absolute;
    right: -45px;
    top: -35px;
    width: 190px;
    height: 190px;
    border-radius: 50%;
    background: repeating-radial-gradient(circle, rgba(255, 255, 255, .6) 0 2px, transparent 2px 20px);
    opacity: .8;
    z-index: 3;
}

.hr-aqua-logo {
    position: absolute;
    left: -25px;
    bottom: 42px;
    z-index: 4;
    width: 155px;
    height: 155px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    background: rgba(255, 255, 255, .88);
    border: 1px solid rgba(255, 255, 255, .95);
    box-shadow: 0 22px 60px rgba(0, 42, 80, .25);
    backdrop-filter: blur(14px);
}

.hr-aqua-logo img {
    max-width: 118px;
    max-height: 118px;
    object-fit: contain;
}

.hr-aqua-mini-card {
    position: absolute;
    right: -24px;
    bottom: 70px;
    z-index: 5;
    max-width: 245px;
    padding: 20px 22px;
    border-radius: 24px;
    color: #fff;
    background: linear-gradient(135deg, rgba(0, 78, 130, .92), rgba(31, 190, 231, .9));
    box-shadow: 0 22px 55px rgba(0, 45, 85, .28);
}

.hr-aqua-mini-card strong {
    display: block;
    font-size: 28px;
    line-height: 1;
    margin-bottom: 7px;
}

.hr-aqua-mini-card span {
    display: block;
    font-size: 14px;
    line-height: 1.45;
    opacity: .92;
}

.hr-aqua-content {
    position: relative;
    padding: 54px;
    border-radius: 38px;
    background: rgba(255, 255, 255, .88);
    border: 1px solid rgba(255, 255, 255, .9);
    box-shadow: 0 34px 90px rgba(0, 42, 80, .22);
    backdrop-filter: blur(16px);
}

.hr-aqua-content::before {
    content: "";
    position: absolute;
    right: 30px;
    top: 28px;
    width: 120px;
    height: 120px;
    border-radius: 50%;
    background:
        radial-gradient(circle at center, transparent 0 34%, rgba(34, 190, 235, .16) 35% 48%, transparent 49%),
        radial-gradient(circle, rgba(34, 190, 235, .14), transparent 70%);
}

.hr-aqua-label {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    margin-bottom: 22px;
    padding: 10px 17px;
    border-radius: 999px;
    color: #006fa8;
    background: rgba(32, 190, 235, .13);
    border: 1px solid rgba(32, 190, 235, .24);
    font-size: 13px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: .08em;
}

.hr-aqua-label::before {
    content: "";
    width: 9px;
    height: 9px;
    border-radius: 50%;
    background: #20bee9;
    box-shadow: 0 0 0 6px rgba(32, 190, 233, .15);
}

.hr-aqua-content h2 {
    position: relative;
    margin: 0 0 24px;
    max-width: 660px;
    color: #003d69;
    font-size: clamp(34px, 4vw, 55px);
    line-height: 1.04;
    font-weight: 850;
    letter-spacing: -.045em;
}

.hr-aqua-lead {
    margin: 0 0 20px;
    color: #075b87;
    font-size: 19px;
    line-height: 1.65;
    font-weight: 700;
}

.hr-aqua-content p {
    margin: 0 0 17px;
    color: #315266;
    font-size: 16.5px;
    line-height: 1.72;
}

.hr-aqua-points {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 12px;
    margin: 28px 0 30px;
}

.hr-aqua-point {
    padding: 16px 14px;
    border-radius: 18px;
    text-align: center;
    background: linear-gradient(180deg, #f3fcff, #ffffff);
    border: 1px solid rgba(35, 185, 230, .18);
    box-shadow: 0 14px 34px rgba(0, 86, 135, .08);
}

.hr-aqua-point span {
    display: block;
    margin-bottom: 6px;
    font-size: 24px;
}

.hr-aqua-point strong {
    display: block;
    color: #004d7b;
    font-size: 13.5px;
    line-height: 1.35;
}

.hr-aqua-offer {
    position: relative;
    overflow: hidden;
    margin-top: 26px;
    padding: 25px 28px;
    border-radius: 26px;
    color: #ffffff;
    background:
        radial-gradient(circle at 88% 20%, rgba(255, 255, 255, .26), transparent 24%),
        linear-gradient(135deg, #00385f 0%, #0077b6 55%, #23c8ee 100%);
    box-shadow: 0 22px 55px rgba(0, 92, 150, .28);
}

.hr-aqua-offer::after {
    content: "";
    position: absolute;
    right: -35px;
    bottom: -55px;
    width: 160px;
    height: 160px;
    border-radius: 50%;
    background: rgba(255, 255, 255, .16);
}

.hr-aqua-offer strong {
    display: block;
    margin-bottom: 8px;
    font-size: 22px;
    line-height: 1.2;
}

.hr-aqua-offer span {
    display: block;
    max-width: 620px;
    color: rgba(255, 255, 255, .91);
    font-size: 15.5px;
    line-height: 1.6;
}

@media (max-width: 1080px) {
    .hr-aqua-container {
        grid-template-columns: 1fr;
        gap: 45px;
    }

    .hr-aqua-logo {
        left: 24px;
    }

    .hr-aqua-mini-card {
        right: 24px;
    }
}

@media (max-width: 680px) {
    .hr-aqua-presentation {
        padding: 72px 16px;
    }

    .hr-aqua-photo,
    .hr-aqua-photo img {
        min-height: 360px;
    }

    .hr-aqua-photo {
        border-radius: 30px 30px 70px 30px;
    }

    .hr-aqua-logo {
        width: 112px;
        height: 112px;
        left: 16px;
        bottom: 18px;
    }

    .hr-aqua-logo img {
        max-width: 84px;
        max-height: 84px;
    }

    .hr-aqua-mini-card {
        display: none;
    }

    .hr-aqua-content {
        padding: 34px 24px;
        border-radius: 28px;
    }

    .hr-aqua-points {
        grid-template-columns: 1fr;
    }

    .hr-aqua-content p {
        font-size: 15.5px;
    }

    .hr-aqua-lead {
        font-size: 17px;
    }
}

.mainindex-190-blocPartenaireV02 {
    position: relative;
    overflow: hidden;
    padding: 85px 0 95px;
    background:
        radial-gradient(circle at 12% 20%, rgba(88, 222, 255, 0.22), transparent 28%),
        radial-gradient(circle at 88% 18%, rgba(0, 129, 196, 0.18), transparent 30%),
        linear-gradient(180deg, #ffffff 0%, #eefbff 42%, #dff6ff 100%);
}

.mainindex-190-blocPartenaireV02::before {
    content: "";
    position: absolute;
    left: -10%;
    right: -10%;
    top: -120px;
    height: 300px;
    background: rgba(255, 255, 255, 0.92);
    border-radius: 0 0 50% 50%;
    pointer-events: none;
}

.mainindex-190-blocPartenaireV02::after {
    content: "";
    position: absolute;
    width: 520px;
    height: 520px;
    right: -230px;
    bottom: -260px;
    border-radius: 50%;
    background: radial-gradient(circle, rgba(20, 190, 235, 0.25), transparent 68%);
    pointer-events: none;
}

.mainindex-190-blocPartenaireV02 .container {
    position: relative;
    z-index: 2;
    max-width: 1240px;
}

.mainindex-190-blocPartenaireV02 .bloc-title-container {
    position: relative;
    flex-direction: column;
    align-items: center !important;
    justify-content: center;
    margin: 0 0 42px !important;
    text-align: center;
}

.mainindex-190-blocPartenaireV02 .bloc-title-container .line {
    display: none;
}

.mainindex-190-blocPartenaireV02 .bloc-title {
    position: relative;
    margin: 0;
    color: #003d69;
    font-size: clamp(32px, 4vw, 29px);
    line-height: 2;
    font-weight: 850;
    letter-spacing: -0.04em;
    text-transform: none;
}

.mainindex-190-blocPartenaireV02 .bloc-title sup {
    display: none;
}

.mainindex-190-blocPartenaireV02 .swiper-clients {
    position: relative;
    margin-bottom: 0 !important;
    padding: 8px 0 50px;
}

.mainindex-190-blocPartenaireV02 .swiper {
    overflow: visible;
}

.mainindex-190-blocPartenaireV02 .swiper-wrapper {
    align-items: stretch;
}

.mainindex-190-blocPartenaireV02 .swiper-slide {
    height: auto;
}

.mainindex-190-blocPartenaireV02 .swiper-slide a,
.mainindex-190-blocPartenaireV02 .swiper-slide>div {
    height: 100%;
    text-decoration: none;
}

.mainindex-190-blocPartenaireV02 .swiper-slide a>div,
.mainindex-190-blocPartenaireV02 .swiper-slide>div {
    position: relative;
    min-height: 155px;
    padding: 28px 26px;
    border-radius: 28px;
    display: flex;
    align-items: center;
    justify-content: center;
    background:
        linear-gradient(180deg, rgba(255, 255, 255, 0.92), rgba(255, 255, 255, 0.72));
    border: 1px solid rgba(255, 255, 255, 0.9);
    box-shadow: 0 22px 55px rgb(0 77 120 / 42%);
    backdrop-filter: blur(14px);
    transition: transform 0.35s ease, box-shadow 0.35s ease, border-color 0.35s ease;
    overflow: hidden;
}

.mainindex-190-blocPartenaireV02 .swiper-slide a>div::before,
.mainindex-190-blocPartenaireV02 .swiper-slide>div::before {
    content: "";
    position: absolute;
    width: 90px;
    height: 90px;
    right: -38px;
    top: -38px;
    border-radius: 50%;
    background:
        radial-gradient(circle at 32% 26%, #ffffff 0 8%, transparent 9%),
        radial-gradient(circle, rgba(98, 219, 255, 0.38), rgba(0, 103, 170, 0.06));
    opacity: 0.9;
    transition: transform 0.35s ease;
}

.mainindex-190-blocPartenaireV02 .swiper-slide a>div::after,
.mainindex-190-blocPartenaireV02 .swiper-slide>div::after {
    content: "";
    position: absolute;
    left: 18px;
    right: 18px;
    bottom: 14px;
    height: 3px;
    border-radius: 999px;
    background: linear-gradient(90deg, #003d69, #20bee9, #7ee8ff);
    transform: scaleX(0);
    transform-origin: center;
    transition: transform 0.35s ease;
}

.mainindex-190-blocPartenaireV02 .swiper-slide a:hover>div,
.mainindex-190-blocPartenaireV02 .swiper-slide>div:hover {
    transform: translateY(-8px);
    border-color: rgba(32, 190, 235, 0.35);
    box-shadow: 0 30px 70px rgba(0, 77, 120, 0.2);
}

.mainindex-190-blocPartenaireV02 .swiper-slide a:hover>div::before,
.mainindex-190-blocPartenaireV02 .swiper-slide>div:hover::before {
    transform: scale(1.18);
}

.mainindex-190-blocPartenaireV02 .swiper-slide a:hover>div::after,
.mainindex-190-blocPartenaireV02 .swiper-slide>div:hover::after {
    transform: scaleX(1);
}

.mainindex-190-blocPartenaireV02 .imgPARTENAIRE {
    position: relative;
    z-index: 2;
    width: 100% !important;
    max-width: 185px;
    max-height: 82px;
    height: auto !important;
    margin: 0 !important;
    object-fit: contain;
    filter: grayscale(100%) opacity(0.72);
    transition: filter 0.35s ease, transform 0.35s ease;
}

.mainindex-190-blocPartenaireV02 .swiper-slide:hover .imgPARTENAIRE {
    filter: grayscale(0%) opacity(1);
    transform: scale(1.05);
}

.mainindex-190-blocPartenaireV02 .swiper-pagination {
    bottom: 0 !important;
}

.mainindex-190-blocPartenaireV02 .swiper-pagination-bullet {
    width: 9px;
    height: 9px;
    margin: 0 6px !important;
    background: rgba(0, 92, 150, 0.22);
    opacity: 1;
    transition: width 0.3s ease, background 0.3s ease;
}

.mainindex-190-blocPartenaireV02 .swiper-pagination-bullet-active {
    width: 28px;
    border-radius: 999px;
    background: linear-gradient(90deg, #003d69, #20bee9);
}

.swiper-clients .swiper-slide {
    overflow: visible !important;
}

.blocCaroussel.blocPartenaire {
    margin-top: -10px;
}

div#swiper-wrapper-ee748243c49c2a6f {
    margin-top: -25px;
}

@media (max-width: 991px) {
    .mainindex-190-blocPartenaireV02 {
        padding: 70px 0 80px;
    }

    .mainindex-190-blocPartenaireV02 .swiper-slide a>div,
    .mainindex-190-blocPartenaireV02 .swiper-slide>div {
        min-height: 135px;
        padding: 24px 20px;
        border-radius: 24px;
    }
}

@media (max-width: 575px) {
    .mainindex-190-blocPartenaireV02 {
        padding: 60px 0 70px;
    }

    .mainindex-190-blocPartenaireV02 .bloc-title::after {
        font-size: 15.5px;
    }

    .mainindex-190-blocPartenaireV02 .swiper-slide a>div,
    .mainindex-190-blocPartenaireV02 .swiper-slide>div {
        min-height: 120px;
        padding: 22px 18px;
    }

    .mainindex-190-blocPartenaireV02 .imgPARTENAIRE {
        max-width: 145px;
        max-height: 65px;
    }
}

.chr-diagnostic-section {
    position: relative;
    overflow: hidden;
    padding: 120px 20px 130px;
    font-family: Arial, Helvetica, sans-serif;
    background:
        radial-gradient(circle at 12% 18%, rgba(40, 198, 238, 0.22), transparent 28%),
        radial-gradient(circle at 90% 12%, rgba(0, 87, 145, 0.18), transparent 30%),
        linear-gradient(135deg, #eefaff 0%, #ffffff 42%, #e4f7ff 100%);
}

.chr-diagnostic-section::before {
    content: "";
    position: absolute;
    inset: 0;
    background:
        linear-gradient(120deg, rgba(0, 61, 105, 0.05) 0%, transparent 42%),
        repeating-linear-gradient(-8deg,
            rgba(0, 126, 190, 0.035) 0px,
            rgba(0, 126, 190, 0.035) 1px,
            transparent 1px,
            transparent 34px);
    pointer-events: none;
}

.chr-diagnostic-section::after {
    content: "ENTRETIEN";
    position: absolute;
    right: -35px;
    top: 70px;
    color: rgba(0, 95, 145, 0.045);
    font-size: clamp(90px, 13vw, 210px);
    font-weight: 900;
    letter-spacing: -0.08em;
    line-height: 1;
    pointer-events: none;
}

.chr-diagnostic-wave-top {
    position: absolute;
    top: -1px;
    left: 0;
    width: 100%;
    height: 95px;
    background: #ffffff;
    clip-path: polygon(0 0, 100% 0, 100% 45%, 82% 68%, 62% 44%, 42% 66%, 20% 48%, 0 72%);
    z-index: 1;
}

.chr-diagnostic-wave-bottom {
    position: absolute;
    left: 0;
    bottom: -1px;
    width: 100%;
    height: 120px;
    background: #ffffff;
    clip-path: polygon(0 48%, 18% 34%, 40% 54%, 63% 28%, 82% 50%, 100% 32%, 100% 100%, 0 100%);
    z-index: 1;
}

.chr-diagnostic-container {
    position: relative;
    z-index: 2;
    max-width: 1240px;
    margin: 0 auto;
}

.chr-diagnostic-heading {
    max-width: 880px;
    margin: 0 auto 70px;
    text-align: center;
}

.chr-diagnostic-kicker {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    margin-bottom: 18px;
    padding: 10px 17px;
    border-radius: 999px;
    color: #006fa8;
    background: rgba(32, 190, 235, 0.12);
    border: 1px solid rgba(32, 190, 235, 0.24);
    font-size: 13px;
    font-weight: 800;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.chr-diagnostic-kicker i {
    color: #18bde9;
}

.chr-diagnostic-heading h2 {
    margin: 0 0 22px;
    color: #003d69;
    font-size: clamp(36px, 5vw, 66px);
    line-height: 1;
    font-weight: 900;
    letter-spacing: -0.055em;
}

.chr-diagnostic-heading p {
    margin: 0 auto;
    max-width: 780px;
    color: #315568;
    font-size: 18px;
    line-height: 1.75;
}

.chr-diagnostic-stage {
    position: relative;
    display: grid;
    grid-template-columns: 1fr minmax(320px, 460px) 1fr;
    gap: 28px;
    align-items: center;
}

.chr-diagnostic-column {
    display: grid;
    gap: 24px;
}

.chr-diagnostic-card {
    position: relative;
    overflow: hidden;
    min-height: 190px;
    padding: 28px;
    border-radius: 30px;
    background: rgba(255, 255, 255, 0.88);
    border: 1px solid rgba(0, 112, 170, 0.12);
    box-shadow: 0 20px 55px rgba(0, 79, 123, 0.10);
    transition: transform 0.35s ease, box-shadow 0.35s ease, border-color 0.35s ease;
}

.chr-diagnostic-card::before {
    content: "";
    position: absolute;
    right: -55px;
    top: -55px;
    width: 130px;
    height: 130px;
    border-radius: 50%;
    background: radial-gradient(circle, rgba(38, 198, 238, 0.22), transparent 68%);
}

.chr-diagnostic-card:hover {
    transform: translateY(-8px);
    border-color: rgba(32, 190, 235, 0.35);
    box-shadow: 0 28px 70px rgba(0, 79, 123, 0.16);
}

.chr-diagnostic-icon {
    width: 58px;
    height: 58px;
    margin-bottom: 20px;
    border-radius: 18px;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #ffffff;
    font-size: 22px;
    background: linear-gradient(135deg, #003d69, #24c5ee);
    box-shadow: 0 16px 34px rgba(0, 118, 180, 0.25);
}

.chr-diagnostic-card h3 {
    margin: 0 0 10px;
    color: #003d69;
    font-size: 20px;
    line-height: 1.3;
    font-weight: 850;
}

.chr-diagnostic-card p {
    margin: 0;
    color: #557283;
    font-size: 15.5px;
    line-height: 1.65;
}

.chr-diagnostic-visual {
    position: relative;
    min-height: 560px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.chr-diagnostic-visual::before {
    content: "";
    position: absolute;
    width: 460px;
    height: 460px;
    border-radius: 50%;
    background:
        repeating-radial-gradient(circle, rgba(0, 126, 190, 0.12) 0 2px, transparent 2px 28px);
    animation: chrDiagnosticRotate 18s linear infinite;
}

.chr-diagnostic-photo {
    position: relative;
    z-index: 2;
    width: 100%;
    max-width: 430px;
    min-height: 520px;
    overflow: hidden;
    border-radius: 44% 56% 48% 52% / 42% 44% 56% 58%;
    background: #dff7ff;
    box-shadow: 0 36px 90px rgba(0, 61, 105, 0.24);
}

.chr-diagnostic-photo::before {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 2;
    background:
        linear-gradient(180deg, rgba(0, 47, 86, 0.04), rgba(0, 47, 86, 0.30)),
        radial-gradient(circle at 25% 16%, rgba(255, 255, 255, 0.48), transparent 30%);
    pointer-events: none;
}

.chr-diagnostic-photo img {
    width: 100%;
    height: 100%;
    min-height: 520px;
    display: block;
    object-fit: cover;
    transition: transform 0.9s ease;
}

.chr-diagnostic-visual:hover .chr-diagnostic-photo img {
    transform: scale(1.07);
}

.chr-diagnostic-mini {
    position: absolute;
    z-index: 3;
    right: 8px;
    bottom: 50px;
    max-width: 210px;
    padding: 18px 20px;
    border-radius: 24px;
    color: #ffffff;
    background: linear-gradient(135deg, rgba(0, 61, 105, 0.94), rgba(36, 197, 238, 0.92));
    box-shadow: 0 22px 55px rgba(0, 83, 130, 0.28);
}

.chr-diagnostic-mini strong {
    display: block;
    margin-bottom: 6px;
    font-size: 19px;
    line-height: 1.25;
}

.chr-diagnostic-mini span {
    display: block;
    color: rgba(255, 255, 255, 0.9);
    font-size: 14px;
    line-height: 1.5;
}

.chr-diagnostic-bottom {
    margin-top: 70px;
    display: grid;
    grid-template-columns: 1.15fr 0.85fr;
    gap: 28px;
    align-items: stretch;
}

.chr-diagnostic-text-panel {
    padding: 38px 42px;
    border-radius: 32px;
    color: #ffffff;
    background:
        radial-gradient(circle at 92% 15%, rgba(255, 255, 255, 0.18), transparent 24%),
        linear-gradient(135deg, #003d69 0%, #006da5 56%, #22c6ee 100%);
    box-shadow: 0 26px 65px rgba(0, 91, 145, 0.22);
}

.chr-diagnostic-text-panel p {
    margin: 0;
    color: rgba(255, 255, 255, 0.92);
    font-size: 16.5px;
    line-height: 1.78;
}

.chr-diagnostic-cta {
    padding: 34px;
    border-radius: 32px;
    background: #ffffff;
    border: 1px solid rgba(0, 112, 170, 0.12);
    box-shadow: 0 20px 55px rgba(0, 79, 123, 0.10);
}

.chr-diagnostic-cta strong {
    display: block;
    margin-bottom: 10px;
    color: #003d69;
    font-size: 24px;
    line-height: 1.25;
}

.chr-diagnostic-cta span {
    display: block;
    margin-bottom: 22px;
    color: #557283;
    font-size: 15.8px;
    line-height: 1.65;
}

.chr-diagnostic-cta a {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    min-height: 52px;
    padding: 0 24px;
    border-radius: 999px;
    color: #ffffff;
    text-decoration: none;
    font-weight: 800;
    background: linear-gradient(135deg, #006da5, #24c5ee);
    box-shadow: 0 16px 36px rgba(0, 118, 180, 0.25);
    transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.chr-diagnostic-cta a:hover {
    transform: translateY(-4px);
    box-shadow: 0 22px 46px rgba(0, 118, 180, 0.35);
}

@keyframes chrDiagnosticRotate {
    from {
        transform: rotate(0deg);
    }

    to {
        transform: rotate(360deg);
    }
}

@media (max-width: 1100px) {
    .chr-diagnostic-stage {
        grid-template-columns: 1fr;
    }

    .chr-diagnostic-column {
        grid-template-columns: repeat(2, 1fr);
    }

    .chr-diagnostic-visual {
        order: -1;
        min-height: 480px;
    }

    .chr-diagnostic-bottom {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 700px) {
    .chr-diagnostic-section {
        padding: 85px 16px 100px;
    }

    .chr-diagnostic-heading {
        margin-bottom: 46px;
        text-align: left;
    }

    .chr-diagnostic-heading h2 {
        font-size: 36px;
    }

    .chr-diagnostic-heading p {
        font-size: 16px;
    }

    .chr-diagnostic-column {
        grid-template-columns: 1fr;
    }

    .chr-diagnostic-visual {
        min-height: 390px;
    }

    .chr-diagnostic-visual::before {
        width: 330px;
        height: 330px;
    }

    .chr-diagnostic-photo {
        max-width: 330px;
        min-height: 390px;
    }

    .chr-diagnostic-photo img {
        min-height: 390px;
    }

    .chr-diagnostic-mini {
        right: 0;
        bottom: 20px;
    }

    .chr-diagnostic-text-panel,
    .chr-diagnostic-cta {
        padding: 28px 24px;
        border-radius: 26px;
    }
}


.chr-offer-section {
    position: relative;
    overflow: hidden;
    padding: 100px 20px 0;
    font-family: Arial, Helvetica, sans-serif;
    background:
        radial-gradient(circle at 10% 15%, rgba(39, 190, 235, 0.10), transparent 28%),
        linear-gradient(180deg, #ffffff 0%, #f5fbff 72%, #eaf7ff 100%);
}

.chr-offer-container {
    max-width: 1320px;
    margin: 0 auto;
    position: relative;
    z-index: 2;
}

.chr-offer-top {
    display: grid;
    grid-template-columns: 0.9fr 1.1fr;
    gap: 70px;
    align-items: center;
    margin-bottom: 42px;
}

.chr-offer-content {
    position: relative;
    z-index: 3;
}

.chr-offer-kicker {
    display: inline-block;
    margin-bottom: 20px;
    color: #219fd1;
    font-size: 15px;
    font-weight: 800;
    letter-spacing: 0.12em;
    text-transform: uppercase;
}

.chr-offer-kicker::after {
    content: "";
    display: block;
    width: 74px;
    height: 2px;
    margin-top: 14px;
    background: #29bde9;
    border-radius: 999px;
}

.chr-offer-content h2 {
    margin: 0 0 28px;
    color: #071a35;
    font-size: clamp(40px, 5vw, 72px);
    line-height: 0.98;
    font-weight: 900;
    letter-spacing: -0.06em;
}

.chr-offer-content h2 span {
    color: #2eb4c4;
}

.chr-offer-lines {
    display: grid;
    gap: 22px;
    max-width: 600px;
}

.chr-offer-line {
    display: grid;
    grid-template-columns: 56px 1fr;
    gap: 18px;
    align-items: flex-start;
}

.chr-offer-line-icon {
    width: 48px;
    height: 48px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #ffffff;
    background: linear-gradient(135deg, #1978bd, #37c5eb);
    box-shadow: 0 14px 30px rgba(25, 120, 189, 0.22);
    font-size: 20px;
    font-weight: 800;
}

.chr-offer-line p {
    margin: 0;
    color: #28384b;
    font-size: 16.5px;
    line-height: 1.62;
}

.chr-offer-line strong {
    color: #006ba6;
    font-weight: 800;
}

.chr-offer-visual {
    position: relative;
    min-height: 560px;
}

.chr-offer-visual::before {
    content: "";
    position: absolute;
    left: -58px;
    top: -20px;
    width: 240px;
    height: 100%;
    background: #ffffff;
    border-radius: 50%;
    z-index: 2;
}

.chr-offer-main-photo {
    position: relative;
    z-index: 1;
    overflow: hidden;
    height: 560px;
    border-radius: 48% 0 0 48% / 50% 0 0 50%;
    box-shadow: 0 32px 80px rgba(0, 70, 120, 0.16);
    background: #dff6ff;
}

.chr-offer-main-photo img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    transform: scale(1.02);
    transition: transform 0.9s ease;
}

.chr-offer-main-photo:hover img {
    transform: scale(1.06);
}

.chr-offer-dots {
    position: absolute;
    z-index: 4;
    left: 0;
    top: 50%;
    width: 78px;
    height: 120px;
    transform: translateY(-50%);
    background-image: radial-gradient(rgba(39, 190, 235, 0.22) 3px, transparent 3px);
    background-size: 22px 22px;
}

.chr-offer-cards {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 22px;
    margin-top: -4px;
    position: relative;
    z-index: 4;
}

.chr-offer-card {
    position: relative;
    overflow: hidden;
    border-radius: 8px;
    background: #ffffff;
    box-shadow: 0 18px 45px rgba(0, 70, 120, 0.10);
    transition: transform 0.35s ease, box-shadow 0.35s ease;
}

.chr-offer-card:hover {
    transform: translateY(-8px);
    box-shadow: 0 28px 65px rgba(0, 70, 120, 0.16);
}

.chr-offer-card-img {
    position: relative;
    height: 190px;
    overflow: hidden;
}

.chr-offer-card-img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    transition: transform 0.7s ease;
}

.chr-offer-card:hover .chr-offer-card-img img {
    transform: scale(1.07);
}

.chr-offer-number {
    position: absolute;
    left: 24px;
    top: 16px;
    z-index: 2;
    width: 58px;
    height: 58px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #ffffff;
    background: linear-gradient(135deg, #003d69, #157ec0);
    border: 4px solid rgba(255, 255, 255, 0.92);
    box-shadow: 0 12px 28px rgba(0, 55, 95, 0.28);
    font-size: 20px;
    font-weight: 900;
}

.chr-offer-card-body {
    padding: 24px 28px 28px;
}

.chr-offer-card-body h3 {
    margin: 0 0 10px;
    color: #071a35;
    font-size: 22px;
    line-height: 1.25;
    font-weight: 900;
    letter-spacing: -0.03em;
}

.chr-offer-card-body p {
    margin: 0;
    color: #26384b;
    font-size: 15.5px;
    line-height: 1.55;
}

.chr-offer-card-body::after {
    content: "";
    display: block;
    width: 58px;
    height: 2px;
    margin-top: 22px;
    background: #2ec4e9;
    border-radius: 999px;
}

.chr-offer-cta {
    margin-top: 42px;
    padding: 28px 34px;
    display: grid;
    grid-template-columns: 70px 1fr auto;
    gap: 28px;
    align-items: center;
    background: rgba(226, 246, 255, 0.86);
    border-top: 1px solid rgba(46, 196, 233, 0.18);
    border-radius: 34px 34px 0 0;
}

.chr-offer-cta-icon {
    width: 64px;
    height: 64px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #1a83c1;
    background: rgba(255, 255, 255, 0.68);
    box-shadow: 0 14px 35px rgba(0, 90, 140, 0.10);
    font-size: 28px;
}

.chr-offer-cta-text strong {
    display: block;
    margin-bottom: 5px;
    color: #003d69;
    font-size: 24px;
    line-height: 1.2;
    font-weight: 900;
}

.chr-offer-cta-text span {
    display: block;
    color: #23445d;
    font-size: 16px;
    line-height: 1.55;
}

.chr-offer-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 52px;
    padding: 0 34px;
    border-radius: 999px;
    color: #ffffff;
    background: linear-gradient(135deg, #1f88ca, #37bceb);
    text-decoration: none;
    font-size: 15.5px;
    font-weight: 850;
    box-shadow: 0 16px 38px rgba(31, 136, 202, 0.28);
    transition: transform 0.3s ease, box-shadow 0.3s ease;
    white-space: nowrap;
}

.chr-offer-btn:hover {
    transform: translateY(-4px);
    box-shadow: 0 24px 52px rgba(31, 136, 202, 0.36);
}

@media (max-width: 1100px) {
    .chr-offer-top {
        grid-template-columns: 1fr;
        gap: 44px;
    }

    .chr-offer-visual {
        min-height: auto;
    }

    .chr-offer-main-photo {
        height: 440px;
        border-radius: 42px;
    }

    .chr-offer-visual::before,
    .chr-offer-dots {
        display: none;
    }

    .chr-offer-cards {
        grid-template-columns: 1fr;
    }

    .chr-offer-card {
        display: grid;
        grid-template-columns: 0.85fr 1.15fr;
    }

    .chr-offer-card-img {
        height: 100%;
        min-height: 220px;
    }

    .chr-offer-cta {
        grid-template-columns: 64px 1fr;
    }

    .chr-offer-btn {
        grid-column: 2;
        justify-self: start;
    }
}

@media (max-width: 700px) {
    .chr-offer-section {
        padding: 80px 16px 0;
    }

    .chr-offer-content h2 {
        font-size: 40px;
    }

    .chr-offer-line {
        grid-template-columns: 1fr;
        gap: 12px;
    }

    .chr-offer-main-photo {
        height: 320px;
        border-radius: 26px;
    }

    .chr-offer-card {
        display: block;
        border-radius: 18px;
    }

    .chr-offer-card-img {
        height: 190px;
        min-height: auto;
    }

    .chr-offer-card-body {
        padding: 22px;
    }

    .chr-offer-cta {
        grid-template-columns: 1fr;
        padding: 26px 22px;
        border-radius: 26px 26px 0 0;
    }

    .chr-offer-btn {
        grid-column: auto;
        width: 100%;
    }
}

.chr-renovation-section {
    position: relative;
    overflow: hidden;
    padding: 120px 20px;
    font-family: Arial, Helvetica, sans-serif;
    background:
        radial-gradient(circle at 12% 18%, rgba(52, 197, 238, 0.22), transparent 28%),
        radial-gradient(circle at 88% 82%, rgba(0, 102, 170, 0.20), transparent 34%),
        linear-gradient(135deg, #021b31 0%, #04385d 46%, #06263f 100%);
}

.chr-renovation-section::before {
    content: "";
    position: absolute;
    inset: 0;
    background:
        linear-gradient(135deg, rgba(255, 255, 255, 0.04), transparent 36%),
        repeating-linear-gradient(-12deg,
            rgba(255, 255, 255, 0.035) 0px,
            rgba(255, 255, 255, 0.035) 1px,
            transparent 1px,
            transparent 42px);
    pointer-events: none;
}

.chr-renovation-section::after {
    content: "RENOVATION";
    position: absolute;
    right: -28px;
    top: 54px;
    color: rgba(255, 255, 255, 0.045);
    font-size: clamp(72px, 11vw, 180px);
    line-height: 1;
    font-weight: 900;
    letter-spacing: -0.08em;
    pointer-events: none;
}

.chr-renovation-container {
    position: relative;
    z-index: 2;
    max-width: 1280px;
    margin: 0 auto;
}

.chr-renovation-heading {
    max-width: 850px;
    margin-bottom: 58px;
}

.chr-renovation-kicker {
    display: inline-block;
    margin-bottom: 18px;
    padding: 10px 18px;
    border-radius: 999px;
    color: #8feaff;
    background: rgba(255, 255, 255, 0.08);
    border: 1px solid rgba(255, 255, 255, 0.16);
    font-size: 13px;
    font-weight: 800;
    letter-spacing: 0.1em;
    text-transform: uppercase;
}

.chr-renovation-heading h2 {
    margin: 0 0 22px;
    color: #ffffff;
    font-size: clamp(38px, 5vw, 68px);
    line-height: 1;
    font-weight: 900;
    letter-spacing: -0.055em;
}

.chr-renovation-heading p {
    margin: 0;
    max-width: 760px;
    color: rgba(255, 255, 255, 0.82);
    font-size: 18px;
    line-height: 1.75;
}

.chr-renovation-layout {
    display: grid;
    grid-template-columns: 1.22fr 0.78fr;
    gap: 34px;
    align-items: stretch;
}

.chr-renovation-gallery {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 18px;
    min-height: 620px;
}

.chr-renovation-photo {
    position: relative;
    overflow: hidden;
    border-radius: 34px;
    background: #dff6ff;
    box-shadow: 0 28px 70px rgba(0, 0, 0, 0.28);
}

.chr-renovation-photo:nth-child(1) {
    margin-top: 58px;
}

.chr-renovation-photo:nth-child(2) {
    margin-bottom: 58px;
}

.chr-renovation-photo:nth-child(3) {
    margin-top: 28px;
    margin-bottom: 28px;
}

.chr-renovation-photo::before {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 2;
    background:
        linear-gradient(180deg, rgba(0, 0, 0, 0.02), rgba(0, 35, 60, 0.48)),
        radial-gradient(circle at 24% 16%, rgba(255, 255, 255, 0.38), transparent 26%);
    pointer-events: none;
}

.chr-renovation-photo img {
    width: 100%;
    height: 100%;
    min-height: 100%;
    object-fit: cover;
    display: block;
    transform: scale(1.02);
    transition: transform 0.8s ease;
}

.chr-renovation-photo:hover img {
    transform: scale(1.08);
}

.chr-renovation-label {
    position: absolute;
    left: 20px;
    right: 20px;
    bottom: 20px;
    z-index: 3;
    padding: 18px 18px;
    border-radius: 20px;
    color: #ffffff;
    background: rgba(3, 31, 54, 0.72);
    border: 1px solid rgba(255, 255, 255, 0.18);
    backdrop-filter: blur(10px);
}

.chr-renovation-label span {
    display: block;
    margin-bottom: 4px;
    color: #79e5ff;
    font-size: 12px;
    font-weight: 900;
    letter-spacing: 0.14em;
    text-transform: uppercase;
}

.chr-renovation-label strong {
    display: block;
    font-size: 22px;
    line-height: 1.2;
    font-weight: 900;
}

.chr-renovation-content {
    display: grid;
    gap: 18px;
}

.chr-renovation-card {
    padding: 38px;
    border-radius: 34px;
    background: rgba(255, 255, 255, 0.94);
    border: 1px solid rgba(255, 255, 255, 0.72);
    box-shadow: 0 28px 70px rgba(0, 0, 0, 0.22);
}

.chr-renovation-card p {
    margin: 0 0 18px;
    color: #345568;
    font-size: 16.5px;
    line-height: 1.75;
}

.chr-renovation-card p:last-child {
    margin-bottom: 0;
}

.chr-renovation-card strong {
    color: #004d7b;
}

.chr-renovation-info {
    display: grid;
    grid-template-columns: 1fr;
    gap: 14px;
}

.chr-renovation-info-item {
    padding: 24px 26px;
    border-radius: 28px;
    background: rgba(255, 255, 255, 0.09);
    border: 1px solid rgba(255, 255, 255, 0.14);
    color: #ffffff;
}

.chr-renovation-info-item span {
    display: block;
    margin-bottom: 8px;
    color: #79e5ff;
    font-size: 13px;
    font-weight: 900;
    letter-spacing: 0.1em;
    text-transform: uppercase;
}

.chr-renovation-info-item strong {
    display: block;
    margin-bottom: 6px;
    font-size: 21px;
    line-height: 1.25;
}

.chr-renovation-info-item p {
    margin: 0;
    color: rgba(255, 255, 255, 0.82);
    font-size: 15px;
    line-height: 1.6;
}

.chr-renovation-cta {
    margin-top: 34px;
    padding: 30px 34px;
    border-radius: 32px;
    display: grid;
    grid-template-columns: 1fr auto;
    gap: 26px;
    align-items: center;
    background:
        radial-gradient(circle at 92% 12%, rgba(255, 255, 255, 0.18), transparent 26%),
        linear-gradient(135deg, #0078b6 0%, #28c8ee 100%);
    box-shadow: 0 26px 70px rgba(0, 0, 0, 0.24);
}

.chr-renovation-cta strong {
    display: block;
    margin-bottom: 6px;
    color: #ffffff;
    font-size: 25px;
    line-height: 1.2;
    font-weight: 900;
}

.chr-renovation-cta span {
    display: block;
    color: rgba(255, 255, 255, 0.9);
    font-size: 15.8px;
    line-height: 1.6;
}

.chr-renovation-cta a {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 54px;
    padding: 0 30px;
    border-radius: 999px;
    color: #003d69;
    background: #ffffff;
    text-decoration: none;
    font-size: 15.5px;
    font-weight: 900;
    white-space: nowrap;
    transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.chr-renovation-cta a:hover {
    transform: translateY(-4px);
    box-shadow: 0 18px 44px rgba(0, 0, 0, 0.20);
}

@media (max-width: 1100px) {
    .chr-renovation-layout {
        grid-template-columns: 1fr;
    }

    .chr-renovation-gallery {
        min-height: 520px;
    }
}

@media (max-width: 800px) {
    .chr-renovation-section {
        padding: 85px 16px;
    }

    .chr-renovation-heading {
        margin-bottom: 38px;
    }

    .chr-renovation-heading h2 {
        font-size: 38px;
    }

    .chr-renovation-heading p {
        font-size: 16px;
    }

    .chr-renovation-gallery {
        grid-template-columns: 1fr;
        min-height: auto;
    }

    .chr-renovation-photo,
    .chr-renovation-photo:nth-child(1),
    .chr-renovation-photo:nth-child(2),
    .chr-renovation-photo:nth-child(3) {
        margin: 0;
        min-height: 320px;
    }

    .chr-renovation-card {
        padding: 28px 24px;
        border-radius: 26px;
    }

    .chr-renovation-cta {
        grid-template-columns: 1fr;
        padding: 28px 24px;
        border-radius: 26px;
    }

    .chr-renovation-cta a {
        width: 100%;
    }
}

/* ================================
   FAQ CHR PISCINES & SPAS
   Bloc : mainindex-186-silver-accordionV02
================================ */

.mainindex-186-silver-accordionV02 {
  position: relative;
  overflow: hidden;
  background:
    radial-gradient(circle at 12% 18%, rgba(45, 196, 238, 0.16), transparent 28%),
    radial-gradient(circle at 88% 22%, rgba(0, 101, 170, 0.10), transparent 30%),
    linear-gradient(180deg, #ffffff 0%, #f3fbff 48%, #e8f7ff 100%);
}

/* Effet vague haut */
.mainindex-186-silver-accordionV02::before {
  content: "";
  position: absolute;
  top: -80px;
  left: -10%;
  width: 120%;
  height: 170px;
  background: rgba(255, 255, 255, 0.92);
  border-radius: 0 0 50% 50%;
  pointer-events: none;
}

/* Bulles décoratives */
.mainindex-186-silver-accordionV02::after {
  content: "";
  position: absolute;
  right: -160px;
  bottom: -180px;
  width: 440px;
  height: 440px;
  border-radius: 50%;
  background:
    radial-gradient(circle at 32% 26%, rgba(255,255,255,0.8) 0 5%, transparent 6%),
    radial-gradient(circle, rgba(43, 198, 238, 0.18), transparent 70%);
  pointer-events: none;
}

.mainindex-186-silver-accordionV02 .bloc_silver_accordion {
  position: relative;
  z-index: 2;
  max-width: 1180px;
  margin: 0 auto !important;
  padding-bottom: 0 !important;
}

/* Titre */
.mainindex-186-silver-accordionV02 .headline {
  margin-bottom: 54px;
}

.mainindex-186-silver-accordionV02 .hTitle {
  position: relative;
  display: inline-block;
  max-width: 920px;
  margin: 0 auto;
  color: #003d69;
  font-size: clamp(32px, 4vw, 29px);
  line-height: 1.08;
  font-weight: 900;
  letter-spacing: -0.045em;
  text-align: center;
}

.mainindex-186-silver-accordionV02 .hTitle::after {
  content: "";
  display: block;
  width: 82px;
  height: 3px;
  margin: 24px auto 0;
  border-radius: 999px;
  background: linear-gradient(90deg, #003d69, #25c8ee);
}

/* Accordéon global */
#accordion-main_index-186-silver-accordionV02 {
  max-width: 1040px;
  margin: 0 auto;
}

/* Item */
#accordion-main_index-186-silver-accordionV02 .accordion-item {
  position: relative;
  overflow: hidden;
  margin-bottom: 18px !important;
  padding-top: 0 !important;
  margin-top: 0 !important;
  border: 1px solid rgba(0, 112, 170, 0.10);
  border-radius: 24px;
  background: rgba(255, 255, 255, 0.88);
  box-shadow: 0 16px 42px rgba(0, 76, 120, 0.08);
  backdrop-filter: blur(10px);
  transition: transform 0.3s ease, box-shadow 0.3s ease, border-color 0.3s ease;
}

#accordion-main_index-186-silver-accordionV02 .accordion-item:hover {
  transform: translateY(-4px);
  border-color: rgba(37, 198, 238, 0.28);
  box-shadow: 0 24px 58px rgba(0, 76, 120, 0.14);
}

/* Petite bulle en arrière-plan de chaque ligne */
#accordion-main_index-186-silver-accordionV02 .accordion-item::after {
  content: "";
  position: absolute;
  right: -42px;
  top: -42px;
  width: 105px;
  height: 105px;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(37, 198, 238, 0.16), transparent 70%);
  pointer-events: none;
}

/* Header */
#accordion-main_index-186-silver-accordionV02 .accordion-header {
  margin: 0;
}

/* Bouton fermé */
#accordion-main_index-186-silver-accordionV02 .accordion-button {
  position: relative;
  min-height: 86px;
  padding: 26px 34px 26px 76px;
  border: 0;
  border-radius: 18px;
  background: transparent;
  color: #004f7e;
  font-size: 18px;
  line-height: 1.35;
  font-weight: 800;
  text-align: left;
  box-shadow: none;
  transition: color 0.3s ease, background 0.3s ease;
}

/* Icône flèche custom */
#accordion-main_index-186-silver-accordionV02 .accordion-button::before {
  content: "";
  position: absolute;
  left: 30px;
  top: 50%;
  width: 34px;
  height: 34px;
  margin-top: 0 !important;
  border-radius: 50%;
  background:
    linear-gradient(135deg, #0078b6, #26c8ee) !important;
  transform: translateY(-50%) rotate(0deg);
  transition: transform 0.3s ease, background 0.3s ease;
}

/* Chevron blanc dans le rond */
#accordion-main_index-186-silver-accordionV02 .accordion-button::after {
  content: "";
  position: absolute;
  left: 42px;
  top: 50%;
  width: 9px;
  height: 9px;
  border-right: 2px solid #ffffff;
  border-bottom: 2px solid #ffffff;
  transform: translateY(-65%) rotate(45deg);
  background-image: none !important;
  transition: transform 0.3s ease;
}

/* Cache les icônes HTML cassées / anciennes */
#accordion-main_index-186-silver-accordionV02 .u-accordion__control-icon,
#accordion-main_index-186-silver-accordionV02 .accordion-button span {
  display: none !important;
}

/* Bouton ouvert */
#accordion-main_index-186-silver-accordionV02 .accordion-button:not(.collapsed) {
  background:
    radial-gradient(circle at 92% 18%, rgba(255,255,255,0.18), transparent 24%),
    linear-gradient(135deg, #003d69 0%, #0078b6 62%, #27c8ee 100%) !important;
  color: #ffffff !important;
  box-shadow: none;
}

#accordion-main_index-186-silver-accordionV02 .accordion-button:not(.collapsed)::before {
  background: rgba(255, 255, 255, 0.20) !important;
  border: 1px solid rgba(255,255,255,0.32);
}

#accordion-main_index-186-silver-accordionV02 .accordion-button:not(.collapsed)::after {
  transform: translateY(-35%) rotate(-135deg);
}

/* Body */
#accordion-main_index-186-silver-accordionV02 .accordion-collapse {
  background: #ffffff;
}

#accordion-main_index-186-silver-accordionV02 .accordion-body {
  padding: 0 34px 32px 76px !important;
  background: #ffffff;
  border-radius: 0 0 24px 24px;
}

/* Texte réponse */
#accordion-main_index-186-silver-accordionV02 .accordion-body .texte {
  position: relative;
  padding: 24px 0 0;
}

#accordion-main_index-186-silver-accordionV02 .accordion-body .texte::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 74px;
  height: 3px;
  border-radius: 999px;
  background: linear-gradient(90deg, #0078b6, #26c8ee);
}

#accordion-main_index-186-silver-accordionV02 .accordion-body p {
  margin: 0;
  color: #36596b;
  font-size: 16.5px;
  line-height: 1.75;
}

#accordion-main_index-186-silver-accordionV02 .accordion-body strong {
  color: #005f94;
  font-weight: 850;
}

/* Supprime les bordures Bootstrap éventuelles */
#accordion-main_index-186-silver-accordionV02 .accordion-button:focus {
  border-color: transparent;
  box-shadow: none;
}

/* Responsive */
@media (max-width: 991px) {
  .mainindex-186-silver-accordionV02 {
    padding: 80px 18px 90px !important;
  }

  #accordion-main_index-186-silver-accordionV02 .accordion-button {
    min-height: 78px;
    padding: 22px 26px 22px 68px;
    font-size: 19px;
  }

  #accordion-main_index-186-silver-accordionV02 .accordion-button::before {
    left: 24px;
  }

  #accordion-main_index-186-silver-accordionV02 .accordion-button::after {
    left: 36px;
  }

  #accordion-main_index-186-silver-accordionV02 .accordion-body {
    padding: 0 26px 28px 68px !important;
  }
}

@media (max-width: 575px) {
  .mainindex-186-silver-accordionV02 {
    padding: 65px 14px 75px !important;
  }

  .mainindex-186-silver-accordionV02 .headline {
    margin-bottom: 36px;
  }

  .mainindex-186-silver-accordionV02 .hTitle {
    font-size: 30px;
  }

  #accordion-main_index-186-silver-accordionV02 .accordion-item {
    border-radius: 20px;
  }

  #accordion-main_index-186-silver-accordionV02 .accordion-button {
    min-height: auto;
    padding: 20px 20px 20px 62px;
    border-radius: 20px;
    font-size: 17px;
  }

  #accordion-main_index-186-silver-accordionV02 .accordion-button::before {
    left: 20px;
    width: 30px;
    height: 30px;
  }

  #accordion-main_index-186-silver-accordionV02 .accordion-button::after {
    left: 31px;
    width: 8px;
    height: 8px;
  }

  #accordion-main_index-186-silver-accordionV02 .accordion-body {
    padding: 0 20px 24px 20px !important;
  }

  #accordion-main_index-186-silver-accordionV02 .accordion-body p {
    font-size: 15.5px;
  }
}

.btn-pointer::after {
    right: 0.2rem;
}

/* MAIN */
#renovation-piscine-spa > div > div.chr-renovation-heading > h2{
    color: #fff;
    font-size: 29px;
}

#formulaireV02>div>div {
    background: #00000080;
    border-radius: 10px;
}

#bloc-formulairev02-contact label,
#bloc-formulairev02-contact a,
#bloc-formulairev02-contact b,
#blocFormV2 i {
    color: #fff !important;
}

/* COOKIE */

.cookie-banner img {
    object-fit: contain;
}


/* FOOTER */
.footer-101-footer {
    background-color: var(--main-color) !important;
}