/* =========================================================
   ACCUEIL - HERO + SLIDER ÉTENDU DERRIÈRE VÉRONIQUE
========================================================= */

.hero-section {
    position: relative;
    z-index: 1;
    width: 100%;
    min-height: 720px;
    display: flex;
    align-items: center;
    padding: 0;
    overflow: visible;
    background: #f4ece8;
}

.hero-slider {
    position: absolute;
    top: 0;
    left: 0;
    z-index: 0;
    width: 100%;
    height: calc(100% + 900px);
    overflow: hidden;
    border-radius: 0;
}

.hero-slider-track {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
}

.hero-slide {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    margin: 0;
    opacity: 0;
    visibility: hidden;
    transition:
        opacity 1s ease,
        visibility 1s ease;
}

.hero-slide.active {
    opacity: 1;
    visibility: visible;
}

.hero-slide img {
    width: 100%;
    height: 100%;
    display: block;
    object-fit: cover;
    object-position: center;
    border-radius: 0;
}

.hero-section::after {
    position: absolute;
    top: 0;
    left: 0;
    z-index: 1;
    width: 100%;
    height: calc(100% + 900px);
    content: "";
    pointer-events: none;
    background:
        linear-gradient(
            90deg,
            rgba(248, 241, 235, 0.94) 0%,
            rgba(248, 241, 235, 0.84) 30%,
            rgba(248, 241, 235, 0.48) 55%,
            rgba(248, 241, 235, 0.16) 78%,
            rgba(248, 241, 235, 0.05) 100%
        );
}

.hero-section .hero-grid {
    position: relative;
    z-index: 3;
    width: min(1200px, calc(100% - 48px));
    margin: 0 auto;
    display: block;
}

.hero-section .hero-content {
    position: relative;
    z-index: 4;
    width: 100%;
    max-width: 650px;
    padding: 105px 0;
}

.hero-eyebrow,
.section-eyebrow,
.card-label,
.service-card-category {
    color: var(--color-accent);
    font-size: 0.78rem;
    font-weight: 700;
    letter-spacing: 0.15em;
    text-transform: uppercase;
}

.hero-section .hero-content h1 {
    margin-top: 18px;
    color: var(--color-primary-dark);
    font-family: var(--font-title);
    font-size: clamp(4rem, 7vw, 6.8rem);
    font-weight: 600;
    line-height: 0.9;
    letter-spacing: -0.045em;
    text-shadow: 0 1px 2px rgba(255, 255, 255, 0.55);
}

.hero-section .hero-content h1 em,
.section-heading h2 em,
.about-preview-content h2 em,
.home-cta-content h2 em {
    color: var(--color-primary);
    font-weight: 500;
    font-style: italic;
}

.hero-section .hero-description {
    max-width: 570px;
    margin-top: 26px;
    color: #514650;
    font-size: 1rem;
    line-height: 1.8;
}

.hero-section .hero-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 14px;
    margin-top: 30px;
}

.hero-section .hero-reassurance {
    display: flex;
    gap: 42px;
    margin-top: 42px;
    padding-top: 23px;
    border-top: 1px solid rgba(79, 53, 77, 0.15);
}

.hero-section .hero-reassurance div {
    display: grid;
    gap: 4px;
}

.hero-section .hero-reassurance strong {
    color: var(--color-primary-dark);
    font-family: var(--font-title);
    font-size: 1.4rem;
}

.hero-section .hero-reassurance span {
    color: #665b64;
    font-size: 0.76rem;
    line-height: 1.5;
}

.hero-slider-dots {
    position: absolute;
    left: 50%;
    bottom: 26px;
    z-index: 6;
    display: flex;
    gap: 10px;
    transform: translateX(-50%);
}

.hero-slider-dot,
.hero-dot {
    width: 10px;
    height: 10px;
    padding: 0;
    border: 1px solid rgba(255, 255, 255, 0.95);
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.45);
    cursor: pointer;
    transition:
        transform 0.25s ease,
        background-color 0.25s ease;
}

.hero-slider-dot.active,
.hero-dot.active {
    background: #ffffff;
    transform: scale(1.25);
}

.hero-visual,
.hero-visual-main,
.hero-visual-secondary,
.hero-visual-badge {
    display: none !important;
}


/* =========================================================
   TITRES DE SECTIONS
========================================================= */

.section-heading {
    max-width: 780px;
    margin-inline: auto;
    text-align: center;
}

.section-heading h2 {
    margin-top: 16px;
    color: var(--color-primary-dark);
    font-family: var(--font-title);
    font-size: clamp(3rem, 5vw, 5.1rem);
    font-weight: 600;
    line-height: 0.95;
    letter-spacing: -0.035em;
}

.section-heading > p:last-child:not(.section-eyebrow) {
    max-width: 620px;
    margin: 24px auto 0;
    color: var(--color-text-light);
    line-height: 1.8;
}


/* =========================================================
   À PROPOS - APERÇU
========================================================= */

.about-preview-section {
    position: relative;
    z-index: 2;
    width: 100%;
    margin: 0;
    padding: 105px 0 125px;
    background: transparent;
}

.about-preview-grid {
    position: relative;
    z-index: 3;
    display: grid;
    grid-template-columns:
        minmax(0, 0.95fr)
        minmax(0, 1.05fr);
    align-items: center;
    gap: 100px;
}

.about-preview-visual {
    position: relative;
}

.about-preview-image {
    position: relative;
    min-height: 650px;
    overflow: hidden;
    border-radius: 32px 180px 32px 180px;
    background:
        linear-gradient(
            145deg,
            rgba(234, 223, 217, 0.65),
            rgba(216, 203, 198, 0.65)
        );
    box-shadow: 0 35px 80px rgba(79, 53, 77, 0.12);
}

.about-preview-image img {
    width: 100%;
    height: 650px;
    display: block;
    object-fit: cover;
    object-position: center 20%;
}

.about-experience-card {
    position: absolute;
    right: -45px;
    bottom: 60px;
    z-index: 5;
    width: 180px;
    height: 180px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    border: 9px solid rgba(248, 241, 235, 0.9);
    border-radius: 50%;
    color: #ffffff;
    text-align: center;
    background:
        linear-gradient(
            135deg,
            var(--color-primary-dark),
            var(--color-primary)
        );
}

.about-preview-visual .about-experience-card strong {
    font-family: var(--font-title);
    font-size: 3.1rem;
    font-weight: 600;
    line-height: 0.9;
}

.about-preview-visual .about-experience-card span {
    width: 100px;
    margin-top: 8px;
    font-size: 0.68rem;
    font-weight: 600;
    line-height: 1.4;
}

.about-preview-content {
    position: relative;
    z-index: 4;
    padding: 45px;
    border: 1px solid rgba(255, 255, 255, 0.3);
    border-radius: 30px;
    background: rgba(248, 241, 235, 0.72);
    backdrop-filter: blur(14px);
    -webkit-backdrop-filter: blur(14px);
    box-shadow: 0 25px 65px rgba(60, 40, 55, 0.09);
}

.about-preview-content h2 {
    margin: 18px 0 30px;
    color: var(--color-primary-dark);
    font-family: var(--font-title);
    font-size: clamp(3rem, 5vw, 5rem);
    font-weight: 600;
    line-height: 0.96;
    letter-spacing: -0.035em;
}

.about-preview-content > p:not(.section-eyebrow) {
    margin-bottom: 20px;
    color: #514650;
    line-height: 1.9;
}

.about-signature {
    display: flex;
    align-items: center;
    gap: 18px;
    margin: 35px 0;
}

.about-signature span {
    width: 50px;
    height: 1px;
    flex-shrink: 0;
    background-color: var(--color-accent);
}

.about-signature p {
    color: var(--color-primary-dark);
    font-family: var(--font-title);
    font-size: 1.4rem;
    font-style: italic;
    line-height: 1.3;
}


/* =========================================================
   PARTICULIERS / ENTREPRISES
========================================================= */

.audience-section {
    position: relative;
    z-index: 3;
    padding: 105px 0;
    background:
        linear-gradient(
            180deg,
            var(--color-background),
            #f7f0eb
        );
}

.audience-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 30px;
    margin-top: 70px;
}

.audience-card {
    position: relative;
    min-height: 520px;
    display: flex;
    align-items: flex-end;
    overflow: hidden;
    border-radius: 32px;
    background: #e9dfdf;
    box-shadow: 0 30px 65px rgba(55, 37, 51, 0.08);
    transition:
        transform 0.4s ease,
        box-shadow 0.4s ease;
}

.audience-card:hover {
    transform: translateY(-8px);
    box-shadow: 0 38px 80px rgba(55, 37, 51, 0.14);
}

.audience-card::before {
    position: absolute;
    z-index: 1;
    inset: 0;
    content: "";
    background:
        linear-gradient(
            180deg,
            rgba(34, 24, 31, 0.03) 12%,
            rgba(34, 24, 31, 0.84) 94%
        );
}

.audience-card-image {
    position: absolute;
    inset: 0;
}

.audience-card-image img {
    width: 100%;
    height: 100%;
    display: block;
    object-fit: cover;
    object-position: center;
}

.audience-card-content {
    position: relative;
    z-index: 2;
    width: 100%;
    padding: 44px;
    color: #ffffff;
}

.audience-card .card-label {
    color: rgba(255, 255, 255, 0.7);
}

.audience-card h3 {
    max-width: 500px;
    margin: 14px 0 18px;
    font-family: var(--font-title);
    font-size: clamp(2.4rem, 4vw, 3.8rem);
    font-weight: 600;
    line-height: 0.98;
}

.audience-card-content > p:not(.card-label) {
    max-width: 520px;
    margin-bottom: 28px;
    color: rgba(255, 255, 255, 0.82);
    line-height: 1.75;
}

.button-light {
    color: var(--color-primary-dark);
    background: #ffffff;
}


/* =========================================================
   PRESTATIONS
========================================================= */

.services-preview-section {
    position: relative;
    z-index: 3;
    padding: 110px 0;
    background-color: var(--color-surface);
}

.services-heading-row {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 50px;
}

.services-heading {
    max-width: 720px;
    margin: 0;
    text-align: left;
}

.services-all-link {
    flex-shrink: 0;
    padding-bottom: 12px;
    color: var(--color-primary);
    font-weight: 700;
}

.services-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 28px;
    margin-top: 70px;
}

.service-card {
    overflow: hidden;
    border: 1px solid rgba(79, 53, 77, 0.1);
    border-radius: 27px;
    background: #ffffff;
    box-shadow: 0 18px 48px rgba(58, 39, 54, 0.05);
    transition:
        transform 0.4s ease,
        box-shadow 0.4s ease;
}

.service-card:hover {
    transform: translateY(-9px);
    box-shadow: 0 32px 65px rgba(58, 39, 54, 0.12);
}

.service-card-media {
    position: relative;
    height: 310px;
    display: block;
    overflow: hidden;
    background:
        linear-gradient(
            145deg,
            #eee4df,
            #d7c9ca
        );
}

.service-card-media img {
    width: 100%;
    height: 100%;
    display: block;
    object-fit: cover;
    object-position: center;
    transition: transform 0.6s ease;
}

.service-card:hover .service-card-media img {
    transform: scale(1.055);
}

.service-card-media-soft img {
    object-fit: contain;
    padding: 18px;
}

.service-card-content {
    padding: 32px;
}

.service-card-category {
    margin-bottom: 12px;
}

.service-card h3 {
    margin-bottom: 15px;
    color: var(--color-primary-dark);
    font-family: var(--font-title);
    font-size: 2rem;
    font-weight: 600;
    line-height: 1;
}

.service-card-content > p:not(.service-card-category) {
    min-height: 78px;
    margin-bottom: 26px;
    color: var(--color-text-light);
    line-height: 1.75;
}

.service-card-link {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding-top: 18px;
    border-top: 1px solid var(--color-border);
    color: var(--color-primary);
    font-weight: 700;
}

.service-card-link span {
    font-size: 1.35rem;
    transition: transform 0.25s ease;
}

.service-card-link:hover span {
    transform: translateX(6px);
}


/* =========================================================

   CONFIANCE - ESPRIT AMMANAURA

========================================================= */



.values-section-simple {

    position: relative;

    z-index: 3;



    width: 100%;



    padding: 90px 0;



    background:

        radial-gradient(

            circle at 82% 20%,

            rgba(196, 154, 90, 0.08),

            transparent 32%

        ),

        linear-gradient(

            180deg,

            var(--color-background),

            #faf7f2

        );

}





/* CONTENEUR COMPLET */



.values-simple-content {

    width: min(100% - 40px, 900px);



    margin-left: auto !important;

    margin-right: auto !important;



    display: flex;

    flex-direction: column;

    align-items: center;

    justify-content: center;



    text-align: center !important;

}





/* PETIT TITRE */



.values-simple-content .section-eyebrow {

    width: 100%;



    margin: 0 auto 18px;



    text-align: center !important;

}





/* GRAND TITRE */



.values-simple-content h2 {

    width: 100%;

    max-width: 820px;



    margin: 0 auto;



    color: var(--color-primary-dark);



    font-family: var(--font-title);

    font-size: clamp(3.2rem, 5vw, 5.2rem);

    font-weight: 600;



    line-height: 0.98;

    letter-spacing: -0.035em;



    text-align: center !important;

}





.values-simple-content h2 em {

    color: var(--color-primary);



    font-weight: 500;

    font-style: italic;

}





/* TEXTE EXPLICATIF */



.values-simple-description {

    width: 100%;

    max-width: 720px;



    margin: 30px auto 0 !important;



    color: var(--color-text-light);



    font-size: 1.12rem !important;

    line-height: 1.9;



    text-align: center !important;

}





/* =========================================================

   TABLETTE

========================================================= */



@media (max-width: 900px) {



    .values-section-simple {

        padding: 75px 0;

    }



    .values-simple-content h2 {

        font-size: clamp(3rem, 7vw, 4.5rem);

    }



    .values-simple-description {

        max-width: 650px;

    }

}





/* =========================================================

   MOBILE

========================================================= */



@media (max-width: 700px) {



    .values-section-simple {

        padding: 65px 0;

    }



    .values-simple-content {

        width: min(100% - 32px, 900px);

    }



    .values-simple-content h2 {

        font-size: clamp(2.6rem, 11vw, 3.7rem);

    }



    .values-simple-description {

        max-width: 100%;



        font-size: 1.02rem !important;

        line-height: 1.75;

    }

}


/* =========================================================
   CTA FINAL
========================================================= */

.home-cta-section {
    position: relative;
    z-index: 3;
    overflow: hidden;
    padding: 95px 0;
    color: #ffffff;
    background:
        radial-gradient(
            circle at 80% 20%,
            rgba(255, 255, 255, 0.12),
            transparent 30%
        ),
        linear-gradient(
            135deg,
            var(--color-primary-dark),
            #79556f
        );
}

.home-cta-decoration {
    position: absolute;
    right: -180px;
    bottom: -330px;
    width: 650px;
    height: 650px;
    border: 1px solid rgba(255, 255, 255, 0.1);
    border-radius: 50%;
}

.home-cta-content {
    position: relative;
    z-index: 2;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 80px;
}

.home-cta-content > div:first-child {
    max-width: 750px;
}

.home-cta-section .section-eyebrow {
    color: rgba(255, 255, 255, 0.72);
}

.home-cta-content h2 {
    margin: 18px 0 24px;
    font-family: var(--font-title);
    font-size: clamp(3.4rem, 6vw, 5.8rem);
    font-weight: 600;
    line-height: 0.93;
    letter-spacing: -0.035em;
}

.home-cta-content h2 em {
    color: #e6cbd6;
}

.home-cta-content > div:first-child > p:last-child {
    max-width: 620px;
    color: rgba(255, 255, 255, 0.78);
    line-height: 1.8;
}

.home-cta-actions {
    display: flex;
    flex-direction: column;
    gap: 14px;
    flex-shrink: 0;
}

.home-cta-section .button-primary {
    color: var(--color-primary-dark);
    background: #ffffff;
}

.home-cta-section .button-secondary {
    color: #ffffff;
    border-color: rgba(255, 255, 255, 0.55);
    background: transparent;
}


/* =========================================================
   PAGE À PROPOS PREMIUM
========================================================= */

.about-hero {
    position: relative;
    overflow: hidden;
    padding: 105px 0 120px;
    background:
        radial-gradient(
            circle at 82% 18%,
            rgba(188, 145, 173, 0.24),
            transparent 28%
        ),
        radial-gradient(
            circle at 12% 80%,
            rgba(230, 205, 188, 0.45),
            transparent 32%
        ),
        linear-gradient(
            135deg,
            #f8f1eb,
            #f3e7e5 52%,
            #eee0e7
        );
}

.about-hero-grid {
    position: relative;
    z-index: 2;
    display: grid;
    grid-template-columns:
        minmax(0, 0.95fr)
        minmax(460px, 1.05fr);
    align-items: center;
    gap: 90px;
}

.about-hero-content {
    max-width: 720px;
}

.about-hero-content h1 {
    margin-top: 19px;
    color: var(--color-primary-dark);
    font-family: var(--font-title);
    font-size: clamp(4.3rem, 7vw, 7rem);
    font-weight: 600;
    line-height: 0.89;
    letter-spacing: -0.05em;
}

.about-hero-content h1 em,
.about-story-content h2 em,
.about-philosophy-content h2 em,
.about-experience-content h2 em {
    color: var(--color-primary);
    font-weight: 500;
    font-style: italic;
}

.about-hero-description {
    max-width: 630px;
    margin-top: 30px;
    color: var(--color-text-light);
    font-size: 1.06rem;
    line-height: 1.9;
}

.about-hero-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 15px;
    margin-top: 38px;
}

.about-hero-signature {
    display: flex;
    align-items: center;
    gap: 17px;
    margin-top: 48px;
    color: var(--color-text-light);
}

.about-hero-signature span {
    width: 55px;
    height: 1px;
    background: var(--color-accent);
}

.about-hero-signature p {
    font-family: var(--font-title);
    font-size: 1.25rem;
    font-style: italic;
}

.about-hero-visual {
    position: relative;
    min-height: 690px;
}

.about-hero-portrait {
    position: absolute;
    top: 0;
    right: 0;
    width: 78%;
    height: 610px;
    overflow: hidden;
    border-radius: 32px 190px 32px 190px;
    background:
        linear-gradient(
            145deg,
            #e8d9d5,
            #d5c6c5
        );
    box-shadow: 0 35px 80px rgba(77, 51, 71, 0.13);
}

.about-hero-portrait img {
    width: 100%;
    height: 100%;
    display: block;
    object-fit: cover;
    object-position: center;
}

.about-hero-croquis {
    position: absolute;
    bottom: 0;
    left: 0;
    width: 255px;
    height: 325px;
    overflow: hidden;
    border: 10px solid #f7efeb;
    border-radius: 130px 130px 30px 30px;
    background: #ffffff;
    box-shadow: 0 24px 55px rgba(77, 51, 71, 0.13);
}

.about-hero-croquis img {
    width: 100%;
    height: 100%;
    display: block;
    object-fit: cover;
    object-position: center top;
}

.about-hero-badge {
    position: absolute;
    right: -15px;
    bottom: 55px;
    width: 155px;
    height: 155px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    border: 1px solid rgba(79, 53, 77, 0.14);
    border-radius: 50%;
    color: var(--color-primary-dark);
    text-align: center;
    background: rgba(255, 255, 255, 0.82);
    backdrop-filter: blur(10px);
}

.about-hero-badge strong {
    font-family: var(--font-title);
    font-size: 2.4rem;
    line-height: 1;
}

.about-hero-badge span {
    width: 90px;
    margin-top: 6px;
    font-size: 0.65rem;
    font-weight: 700;
    line-height: 1.35;
    letter-spacing: 0.06em;
    text-transform: uppercase;
}

.about-hero-decoration {
    position: absolute;
    border: 1px solid rgba(114, 80, 111, 0.1);
    border-radius: 50%;
}

.about-hero-decoration-one {
    top: -300px;
    right: -180px;
    width: 680px;
    height: 680px;
}

.about-hero-decoration-two {
    bottom: -280px;
    left: -170px;
    width: 580px;
    height: 580px;
}


/* PARCOURS */

.about-story-section {
    padding: 135px 0;
    background: var(--color-surface);
}

.about-story-grid {
    display: grid;
    grid-template-columns:
        minmax(0, 0.9fr)
        minmax(0, 1.1fr);
    align-items: center;
    gap: 100px;
}

.about-story-visual {
    position: relative;
    min-height: 690px;
    overflow: hidden;
    border-radius: 32px 150px 32px 150px;
    background:
        linear-gradient(
            145deg,
            #eee4de,
            #ddccca
        );
    box-shadow: 0 30px 70px rgba(66, 44, 61, 0.09);
}

.about-story-visual > img {
    width: 100%;
    height: 690px;
    display: block;
    object-fit: cover;
    object-position: center;
}

.about-story-number {
    position: absolute;
    right: 30px;
    bottom: 30px;
    width: 150px;
    height: 150px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    color: #ffffff;
    font-family: var(--font-title);
    font-size: 2.7rem;
    background:
        linear-gradient(
            135deg,
            var(--color-primary-dark),
            var(--color-primary)
        );
}

.about-story-number span {
    width: 95px;
    margin-top: 5px;
    font-family: var(--font-body);
    font-size: 0.63rem;
    font-weight: 600;
    line-height: 1.35;
    text-align: center;
}

.about-story-content h2 {
    margin: 18px 0 30px;
    color: var(--color-primary-dark);
    font-family: var(--font-title);
    font-size: clamp(3rem, 5vw, 5rem);
    font-weight: 600;
    line-height: 0.96;
    letter-spacing: -0.035em;
}

.about-story-content > p:not(.section-eyebrow) {
    margin-bottom: 20px;
    color: var(--color-text-light);
    line-height: 1.9;
}

.about-story-quote {
    display: flex;
    align-items: flex-start;
    gap: 18px;
    margin-top: 38px;
    padding-top: 30px;
    border-top: 1px solid var(--color-border);
}

.about-story-quote span {
    color: var(--color-accent);
    font-family: var(--font-title);
    font-size: 4rem;
    line-height: 0.7;
}

.about-story-quote p {
    max-width: 440px;
    color: var(--color-primary-dark);
    font-family: var(--font-title);
    font-size: 1.7rem;
    font-style: italic;
    line-height: 1.3;
}


/* VALEURS À PROPOS */

.about-values-section {
    padding: 105px 0;
    background:
        linear-gradient(
            180deg,
            #f8f1eb,
            #f3e9e5
        );
}

.about-values-grid {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 18px;
    margin-top: 60px;
}

.about-value-card {
    min-height: 250px;
    padding: 26px;
    border: 1px solid rgba(79, 53, 77, 0.1);
    border-radius: 22px;
    background: rgba(255, 255, 255, 0.7);
    transition:
        transform 0.3s ease,
        box-shadow 0.3s ease;
}

.about-value-card:hover {
    transform: translateY(-6px);
    box-shadow: 0 20px 45px rgba(59, 39, 54, 0.08);
}

.about-value-top {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 30px;
}

.about-value-number {
    color: var(--color-accent);
    font-family: var(--font-title);
    font-size: 1.55rem;
}

.about-value-symbol {
    width: 46px;
    height: 46px;
    display: grid;
    place-items: center;
    border: 1px solid rgba(114, 80, 111, 0.2);
    border-radius: 50%;
    background: rgba(114, 80, 111, 0.06);
}

.about-value-symbol svg {
    width: 21px;
    height: 21px;
    fill: none;
    stroke: var(--color-primary);
    stroke-width: 1.5;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.about-value-card h3 {
    margin-bottom: 12px;
    color: var(--color-primary-dark);
    font-family: var(--font-title);
    font-size: 1.65rem;
    font-weight: 600;
}

.about-value-card p {
    color: var(--color-text-light);
    font-size: 0.87rem;
    line-height: 1.7;
}

.about-value-card-highlight {
    color: #ffffff;
    background:
        linear-gradient(
            145deg,
            var(--color-primary-dark),
            var(--color-primary)
        );
}

.about-value-card-highlight .about-value-number,
.about-value-card-highlight h3 {
    color: #ffffff;
}

.about-value-card-highlight p {
    color: rgba(255, 255, 255, 0.82);
}

.about-value-card-highlight .about-value-symbol {
    border-color: rgba(255, 255, 255, 0.26);
    background: rgba(255, 255, 255, 0.1);
}

.about-value-card-highlight .about-value-symbol svg {
    stroke: #ffffff;
}


/* PHILOSOPHIE */

.about-philosophy-section {
    padding: 115px 0;
    background: var(--color-surface);
}

.about-philosophy-layout,
.about-philosophy-grid {
    display: grid;
    grid-template-columns: .85fr 1fr;
    gap: 70px;
    align-items: center;
}

.about-philosophy-content h2 {
    margin: 18px 0 25px;
    color: var(--color-primary-dark);
    font-family: var(--font-title);
    font-size: clamp(3rem, 5vw, 5rem);
    line-height: .96;
}

.about-philosophy-content h2 em {
    color: var(--color-primary);
    font-weight: 500;
}

.about-philosophy-content > p:not(.section-eyebrow) {
    color: var(--color-text-light);
    line-height: 1.8;
}

.about-philosophy-content blockquote {
    margin-top: 32px;
    padding-left: 25px;
    border-left: 2px solid var(--color-accent);
    color: var(--color-primary-dark);
    font-family: var(--font-title);
    font-size: clamp(1.7rem, 3vw, 2.3rem);
    font-style: italic;
    line-height: 1.25;
}

.about-philosophy-visual {
    height: 430px;
    overflow: hidden;
    border-radius: 30px 110px 30px 110px;
    box-shadow: 0 25px 60px rgba(59,39,54,.08);
}

.about-philosophy-visual img {
    width: 100%;
    height: 100%;
    display: block;
    object-fit: cover;
}

.about-philosophy-list {
    grid-column: 1 / -1;
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 18px;
    margin-top: 15px;
}

.about-philosophy-list article {
    min-height: 190px;
    padding: 25px;
    border: 1px solid rgba(79,53,77,.1);
    border-radius: 20px;
    background: var(--color-background);
    transition:
        transform 0.35s ease,
        box-shadow 0.35s ease;
}

.about-philosophy-list article:hover {
    transform: translateY(-6px);
    box-shadow: 0 23px 50px rgba(59, 39, 54, 0.07);
}

.about-philosophy-list span {
    display: block;
    margin-bottom: 24px;
    color: var(--color-accent);
    font-family: var(--font-title);
    font-size: 1.35rem;
}

.about-philosophy-list h3 {
    margin-bottom: 10px;
    color: var(--color-primary-dark);
    font-family: var(--font-title);
    font-size: 1.55rem;
}

.about-philosophy-list p {
    color: var(--color-text-light);
    font-size: .85rem;
    line-height: 1.65;
}
/* =========================================================

   À PROPOS - EXPÉRIENCE

========================================================= */



.about-experience-section {

    position: relative;



    width: 100%;



    padding: 80px 0;



    background: var(--color-background);

}





/* Grande carte expérience de la page À propos */

.about-experience-section .about-experience-card {

    position: relative;



    right: auto;

    bottom: auto;

    left: auto;

    top: auto;



    width: 100%;

    height: auto;

    min-height: 0;



    display: grid;



    grid-template-columns:

        165px minmax(0, 1fr) auto;



    align-items: center;



    gap: 50px;



    margin: 0;



    padding: 48px 52px;



    overflow: hidden;



    border: 0;

    border-radius: 30px;



    color: #ffffff;

    text-align: left;



    background:

        radial-gradient(

            circle at 90% 5%,

            rgba(255, 255, 255, 0.12),

            transparent 26%

        ),

        linear-gradient(

            135deg,

            var(--color-primary-dark),

            #79556f

        );



    box-shadow:

        0 30px 70px rgba(60, 40, 55, 0.12);

}





.about-experience-year {

    width: 145px;

    height: 145px;



    display: flex;

    flex-direction: column;

    align-items: center;

    justify-content: center;



    border:

        1px solid rgba(255, 255, 255, 0.3);



    border-radius: 50%;

}





.about-experience-year span {

    font-size: 0.7rem;

    font-weight: 700;



    letter-spacing: 0.12em;

    text-transform: uppercase;

}





.about-experience-year strong {

    margin-top: 4px;



    font-family: var(--font-title);



    font-size: 2.8rem;

    font-weight: 600;

}





.about-experience-section .section-eyebrow {

    color: rgba(255, 255, 255, 0.72);

}





.about-experience-content {

    min-width: 0;

}





.about-experience-content h2 {

    max-width: 720px;



    margin: 12px 0 15px;



    color: #ffffff;



    font-family: var(--font-title);



    font-size:

        clamp(2.5rem, 4vw, 4rem);



    font-weight: 600;



    line-height: 0.98;

}





.about-experience-content h2 em {

    color: #e6cbd6;



    font-weight: 500;

    font-style: italic;

}





.about-experience-content > p:last-child {

    max-width: 650px;



    color:

        rgba(255, 255, 255, 0.8);



    line-height: 1.75;

}





.about-experience-section

.about-experience-card > .button {

    flex-shrink: 0;



    color: var(--color-primary-dark);



    background: #ffffff;

}


/* =========================================================

   PAGE PARTICULIERS

========================================================= */





/* =========================================================

   HERO

========================================================= */



.page-hero-particuliers {

    position: relative;

    overflow: hidden;



    min-height: 560px;



    display: flex;

    align-items: center;



    color: #ffffff;



    background:

        radial-gradient(

            circle at 82% 18%,

            rgba(255, 255, 255, 0.16),

            transparent 28%

        ),

        linear-gradient(

            135deg,

            #4f354d,

            #7c5976

        );

}





.page-hero-particuliers .page-hero-overlay {

    position: absolute;

    inset: 0;



    background:

        linear-gradient(

            90deg,

            rgba(38, 27, 36, 0.20),

            rgba(38, 27, 36, 0.04)

        );

}





.page-hero-particuliers .page-hero-content {

    position: relative;

    z-index: 2;



    max-width: 820px;



    padding-top: 100px;

    padding-bottom: 100px;

}





.page-hero-particuliers .page-hero-eyebrow {

    color: rgba(255, 255, 255, 0.72);



    font-size: 0.78rem;

    font-weight: 700;



    letter-spacing: 0.14em;

    text-transform: uppercase;

}





.page-hero-particuliers h1 {

    max-width: 780px;



    margin: 18px 0 24px;



    font-family: var(--font-title);



    font-size: clamp(4rem, 7vw, 6.5rem);

    font-weight: 600;



    line-height: 0.92;

    letter-spacing: -0.04em;

}





.page-hero-particuliers .page-hero-content > p:last-of-type {

    max-width: 620px;



    color: rgba(255, 255, 255, 0.82);



    font-size: 1.05rem;

    line-height: 1.85;

}





.page-hero-particuliers .hero-actions {

    display: flex;

    flex-wrap: wrap;



    gap: 15px;



    margin-top: 34px;

}





.page-hero-particuliers .button-primary {

    color: var(--color-primary-dark);

    background: #ffffff;

}





.page-hero-particuliers .button-secondary {

    color: #ffffff;



    border-color: rgba(255, 255, 255, 0.55);



    background: transparent;

}





/* =========================================================

   INTRODUCTION

========================================================= */



.individual-intro-section {

    padding: 95px 0;



    background-color: var(--color-surface);

}





.individual-intro-grid {

    display: grid;



    grid-template-columns:

        minmax(0, 0.85fr)

        minmax(0, 1.15fr);



    align-items: start;



    gap: 90px;

}





.individual-intro-grid > div:first-child {

    max-width: 520px;

}





.individual-intro-grid h2 {

    margin-top: 18px;



    color: var(--color-primary-dark);



    font-family: var(--font-title);



    font-size: clamp(3rem, 5vw, 4.8rem);

    font-weight: 600;



    line-height: 0.96;

    letter-spacing: -0.035em;

}





.individual-intro-text {

    max-width: 650px;

}





.individual-intro-text p {

    margin-bottom: 20px;



    color: var(--color-text-light);



    font-size: 1rem;

    line-height: 1.85;

}





.individual-intro-text p:last-child {

    margin-bottom: 0;

}





/* =========================================================

   PRESTATIONS

========================================================= */



.individual-services-section {

    padding: 105px 0;



    background-color: var(--color-background);

}





.individual-services-section .section-heading {

    max-width: 820px;

}





.individual-services-grid {

    display: grid;



    grid-template-columns: repeat(2, minmax(0, 1fr));



    gap: 28px;



    margin-top: 65px;

}





.individual-service-card {

    display: grid;



    grid-template-columns:

        minmax(220px, 0.85fr)

        minmax(0, 1.15fr);



    min-height: 390px;



    overflow: hidden;



    border: 1px solid var(--color-border);

    border-radius: 28px;



    background-color: var(--color-surface);



    box-shadow:

        0 20px 50px rgba(60, 40, 55, 0.05);



    transition:

        transform 0.35s ease,

        box-shadow 0.35s ease;

}





.individual-service-card:hover {

    transform: translateY(-7px);



    box-shadow:

        0 30px 65px rgba(60, 40, 55, 0.11);

}





/* IMAGE */



.individual-service-visual {

    position: relative;



    min-height: 100%;



    overflow: hidden;



    background:

        linear-gradient(

            145deg,

            #eee4df,

            #d7c9ca

        );

}





.individual-service-visual img {

    width: 100%;

    height: 100%;



    min-height: 390px;



    display: block;



    object-fit: cover;

    object-position: center;



    transition:

        transform 0.55s ease;

}





.individual-service-card:hover .individual-service-visual img {

    transform: scale(1.045);

}





/* CONTENU */



.individual-service-content {

    display: flex;

    flex-direction: column;



    padding: 36px 34px;

}





.individual-service-content h3 {

    margin-bottom: 18px;



    color: var(--color-primary-dark);



    font-family: var(--font-title);



    font-size: clamp(2rem, 3vw, 2.5rem);

    font-weight: 600;



    line-height: 1;

}





.individual-service-content p {

    margin-bottom: 16px;



    color: var(--color-text-light);



    font-size: 0.94rem;

    line-height: 1.75;

}





.individual-service-content p:last-of-type {

    margin-bottom: 24px;

}





.service-text-link {

    display: inline-flex;

    align-items: center;



    width: fit-content;



    margin-top: auto;



    padding-top: 15px;



    border-top: 1px solid var(--color-border);



    color: var(--color-primary);



    font-weight: 700;



    transition:

        color 0.25s ease,

        transform 0.25s ease;

}





.service-text-link:hover {

    color: var(--color-primary-dark);



    transform: translateX(4px);

}





/* =========================================================

   PROGRAMMES PSIO

========================================================= */



.psio-programs-preview-section {

    padding: 100px 0;



    background-color: var(--color-surface);

}





.psio-programs-preview-grid {

    display: grid;



    grid-template-columns:

        minmax(0, 1.05fr)

        minmax(380px, 0.95fr);



    align-items: center;



    gap: 80px;

}





.psio-programs-preview-content {

    max-width: 670px;

}





.psio-programs-preview-content h2 {

    margin: 18px 0 25px;



    color: var(--color-primary-dark);



    font-family: var(--font-title);



    font-size: clamp(3rem, 5vw, 4.8rem);

    font-weight: 600;



    line-height: 0.96;

    letter-spacing: -0.035em;

}





.psio-programs-preview-content > p:not(.section-eyebrow) {

    color: var(--color-text-light);



    line-height: 1.8;

}





.psio-program-tags {

    display: flex;

    flex-wrap: wrap;



    gap: 10px;



    margin: 28px 0 34px;

}





.psio-program-tags span {

    padding: 9px 15px;



    border: 1px solid var(--color-border);

    border-radius: 999px;



    color: var(--color-primary-dark);



    font-size: 0.82rem;

    font-weight: 600;



    background-color: var(--color-background);

}





/* VISUEL PSIO */



.psio-programs-preview-visual {

    position: relative;



    min-height: 440px;



    display: flex;

    align-items: center;

    justify-content: center;



    overflow: hidden;



    border: 1px solid var(--color-border);

    border-radius: 30px 100px 30px 100px;



    background:

        radial-gradient(

            circle at 70% 20%,

            rgba(255, 255, 255, 0.88),

            transparent 30%

        ),

        linear-gradient(

            145deg,

            #e8dfdb,

            #d4c8c6

        );



    box-shadow:

        0 25px 60px rgba(60, 40, 55, 0.08);

}





.psio-programs-preview-visual img {

    width: 100%;

    height: 100%;



    min-height: 440px;



    display: block;



    object-fit: contain;



    padding: 28px;

}





/* =========================================================

   INFORMATIONS PRATIQUES

========================================================= */



.individual-practical-section {

    padding: 100px 0;



    background-color: var(--color-background);

}





.individual-practical-layout {

    display: grid;



    grid-template-columns:

        minmax(0, 0.8fr)

        minmax(0, 1.2fr);



    align-items: start;



    gap: 90px;

}





.individual-practical-content {

    max-width: 520px;

}





.individual-practical-content h2 {

    margin: 18px 0 24px;



    color: var(--color-primary-dark);



    font-family: var(--font-title);



    font-size: clamp(3rem, 5vw, 4.7rem);

    font-weight: 600;



    line-height: 0.96;

    letter-spacing: -0.035em;

}





.individual-practical-content > p:not(.section-eyebrow) {

    color: var(--color-text-light);



    line-height: 1.85;

}





.individual-practical-text {

    display: grid;



    gap: 0;

}





.individual-practical-text article {

    padding: 26px 0;



    border-bottom: 1px solid var(--color-border);

}





.individual-practical-text article:first-child {

    padding-top: 0;

}





.individual-practical-text article:last-child {

    padding-bottom: 0;



    border-bottom: 0;

}





.individual-practical-text h3 {

    margin-bottom: 9px;



    color: var(--color-primary-dark);



    font-family: var(--font-title);



    font-size: 1.75rem;

    font-weight: 600;

}





.individual-practical-text p {

    max-width: 620px;



    color: var(--color-text-light);



    line-height: 1.75;

}





.individual-practical-text .service-text-link {

    margin-top: 14px;

}





/* =========================================================

   CTA FINAL

========================================================= */



.individual-practical-section + .home-cta-section {

    margin-top: 0;

}





/* =========================================================

   RESPONSIVE PARTICULIERS

========================================================= */



@media (max-width: 1100px) {



    .individual-intro-grid,

    .individual-practical-layout {

        gap: 60px;

    }





    .individual-services-grid {

        grid-template-columns: 1fr;

    }





    .individual-service-card {

        grid-template-columns:

            minmax(260px, 0.8fr)

            minmax(0, 1.2fr);

    }





    .psio-programs-preview-grid {

        grid-template-columns:

            minmax(0, 1fr)

            minmax(320px, 0.8fr);



        gap: 55px;

    }



}





@media (max-width: 900px) {



    .individual-intro-grid,

    .psio-programs-preview-grid,

    .individual-practical-layout {

        grid-template-columns: 1fr;



        gap: 50px;

    }





    .individual-intro-grid > div:first-child,

    .individual-practical-content,

    .psio-programs-preview-content {

        max-width: 700px;

    }





    .psio-programs-preview-visual {

        width: min(620px, 100%);



        margin-inline: auto;

    }



}





@media (max-width: 700px) {



    .page-hero-particuliers {

        min-height: auto;

    }





    .page-hero-particuliers .page-hero-content {

        padding-top: 78px;

        padding-bottom: 78px;

    }





    .page-hero-particuliers h1 {

        font-size: clamp(3.1rem, 14vw, 4.8rem);

    }





    .page-hero-particuliers .hero-actions {

        flex-direction: column;

    }





    .page-hero-particuliers .hero-actions .button {

        width: 100%;

    }





    .individual-intro-section,

    .individual-services-section,

    .psio-programs-preview-section,

    .individual-practical-section {

        padding: 75px 0;

    }





    .individual-intro-grid h2,

    .psio-programs-preview-content h2,

    .individual-practical-content h2 {

        font-size: clamp(2.8rem, 12vw, 4rem);

    }





    .individual-service-card {

        grid-template-columns: 1fr;



        min-height: auto;

    }





    .individual-service-visual {

        min-height: 270px;

    }





    .individual-service-visual img {

        min-height: 270px;

        height: 270px;

    }





    .individual-service-content {

        padding: 30px 24px;

    }





    .individual-service-content h3 {

        font-size: 2rem;

    }





    .psio-programs-preview-visual {

        min-height: 330px;



        border-radius: 24px 70px 24px 70px;

    }





    .psio-programs-preview-visual img {

        min-height: 330px;



        padding: 18px;

    }





    .individual-practical-text article {

        padding: 22px 0;

    }



}





@media (max-width: 480px) {



    .page-hero-particuliers .page-hero-content {

        padding-top: 68px;

        padding-bottom: 68px;

    }





    .individual-service-visual,

    .individual-service-visual img {

        min-height: 235px;

        height: 235px;

    }





    .psio-programs-preview-visual,

    .psio-programs-preview-visual img {

        min-height: 285px;

    }



}


/* =========================================================

   PAGE ENTREPRISES - VERSION FINALE

========================================================= */





/* =========================================================

   HERO

========================================================= */



.business-hero {

    position: relative;

    overflow: hidden;

    padding: 105px 0 115px;



    background:

        radial-gradient(

            circle at 85% 15%,

            rgba(190, 150, 179, 0.18),

            transparent 27%

        ),

        linear-gradient(

            135deg,

            #f8f1eb,

            #f3e8e6

        );

}





.business-hero-decoration {

    position: absolute;



    right: -220px;

    bottom: -360px;



    width: 720px;

    height: 720px;



    border:

        1px solid rgba(114, 80, 111, 0.08);



    border-radius: 50%;

}





.business-hero-grid {

    position: relative;



    z-index: 2;



    display: grid;



    grid-template-columns:

        minmax(0, 0.95fr)

        minmax(430px, 1.05fr);



    align-items: center;



    gap: 85px;

}





.business-hero-content {

    max-width: 720px;

}





.business-hero-content h1 {

    margin-top: 18px;



    color: var(--color-primary-dark);



    font-family: var(--font-title);



    font-size:

        clamp(4rem, 6.5vw, 6.7rem);



    font-weight: 600;



    line-height: 0.92;



    letter-spacing: -0.045em;

}





.business-hero-content h1 em {

    display: block;



    color: var(--color-primary);



    font-weight: 500;



    font-style: italic;

}





.business-hero-description {

    max-width: 640px;



    margin-top: 28px;



    color: var(--color-text-light);



    font-size: 1.02rem;



    line-height: 1.9;

}





.business-hero-tags {

    display: flex;



    flex-wrap: wrap;



    gap: 10px;



    margin-top: 30px;

}





.business-hero-tags span {

    padding: 9px 15px;



    border:

        1px solid rgba(114, 80, 111, 0.15);



    border-radius: 999px;



    color: var(--color-primary-dark);



    font-size: 0.76rem;



    font-weight: 600;



    background:

        rgba(255, 255, 255, 0.48);

}





.business-hero-actions {

    display: flex;



    flex-wrap: wrap;



    gap: 15px;



    margin-top: 36px;

}





.business-hero-visual {

    height: 610px;



    overflow: hidden;



    border-radius:

        32px 170px 32px 170px;



    background:

        linear-gradient(

            145deg,

            #e6dad5,

            #d6c7c7

        );



    box-shadow:

        0 32px 75px

        rgba(64, 43, 59, 0.12);

}





.business-hero-visual img {

    width: 100%;

    height: 100%;



    display: block;



    object-fit: cover;



    object-position: center;

}





/* =========================================================

   INTRODUCTION

========================================================= */



.business-intro-section {

    padding: 100px 0;



    background:

        var(--color-surface);

}





.business-intro-grid {

    display: grid;



    grid-template-columns:

        minmax(0, 0.85fr)

        minmax(0, 1.15fr);



    align-items: start;



    gap: 100px;

}





.business-intro-heading h2 {

    margin-top: 18px;



    color: var(--color-primary-dark);



    font-family: var(--font-title);



    font-size:

        clamp(3.2rem, 5vw, 5rem);



    font-weight: 600;



    line-height: 0.96;



    letter-spacing: -0.035em;

}





.business-intro-heading h2 em {

    color: var(--color-primary);



    font-weight: 500;



    font-style: italic;

}





.business-intro-text {

    padding-top: 4px;

}





.business-intro-text p {

    margin-bottom: 24px;



    color: var(--color-text-light);



    line-height: 1.9;

}





.business-intro-text p:last-child {

    margin-bottom: 0;

}





/* =========================================================

   AVANTAGES

========================================================= */



.business-benefits-section {

    padding: 105px 0;



    background:

        linear-gradient(

            180deg,

            var(--color-background),

            #f6eeea

        );

}





.business-benefits-layout {

    display: grid;



    grid-template-columns:

        minmax(0, 0.85fr)

        minmax(0, 1.15fr);



    gap: 100px;



    align-items: start;

}





.business-benefits-heading h2 {

    margin: 18px 0 26px;



    color: var(--color-primary-dark);



    font-family: var(--font-title);



    font-size:

        clamp(3.2rem, 5vw, 5.2rem);



    font-weight: 600;



    line-height: 0.95;



    letter-spacing: -0.035em;

}





.business-benefits-heading h2 em {

    color: var(--color-primary);



    font-weight: 500;



    font-style: italic;

}





.business-benefits-heading > p:last-child {

    max-width: 560px;



    color: var(--color-text-light);



    line-height: 1.9;

}





.business-benefits-texts {

    display: grid;

}





.business-benefits-texts article {

    display: grid;



    grid-template-columns:

        60px minmax(0, 1fr);



    gap: 22px;



    padding: 30px 0;



    border-bottom:

        1px solid rgba(79, 53, 77, 0.12);

}





.business-benefits-texts article:first-child {

    padding-top: 0;

}





.business-benefits-texts article:last-child {

    padding-bottom: 0;



    border-bottom: 0;

}





.business-benefit-icon {

    width: 48px;

    height: 48px;



    display: grid;



    place-items: center;



    border:

        1px solid rgba(114, 80, 111, 0.18);



    border-radius: 50%;



    color: var(--color-primary);



    font-family: var(--font-title);



    font-size: 1.35rem;



    background:

        rgba(114, 80, 111, 0.05);

}





.business-benefits-texts h3 {

    margin-bottom: 11px;



    color: var(--color-primary-dark);



    font-family: var(--font-title);



    font-size: 1.85rem;



    font-weight: 600;

}





.business-benefits-texts p {

    color: var(--color-text-light);



    line-height: 1.8;

}





/* =========================================================

   PRESTATIONS PROFESSIONNELLES

========================================================= */



.business-services-section {

    padding: 110px 0;



    background:

        var(--color-surface);

}





.business-services-list {

    margin-top: 70px;



    border-top:

        1px solid rgba(79, 53, 77, 0.12);

}





.business-services-list article {

    display: grid;



    grid-template-columns:

        minmax(0, 0.85fr)

        minmax(0, 1.15fr);



    gap: 70px;



    padding: 42px 0;



    border-bottom:

        1px solid rgba(79, 53, 77, 0.12);



    transition:

        padding 0.3s ease;

}





.business-services-list article:hover {

    padding-left: 14px;



    padding-right: 14px;

}





.business-service-category {

    margin-bottom: 10px;



    color: var(--color-accent);



    font-size: 0.75rem;



    font-weight: 700;



    letter-spacing: 0.12em;



    text-transform: uppercase;

}





.business-service-heading h3 {

    max-width: 500px;



    color: var(--color-primary-dark);



    font-family: var(--font-title);



    font-size:

        clamp(2rem, 3vw, 2.8rem);



    font-weight: 600;



    line-height: 1;

}





.business-service-description p {

    max-width: 650px;



    margin-bottom: 20px;



    color: var(--color-text-light);



    line-height: 1.85;

}





.business-service-description a {

    color: var(--color-primary);



    font-weight: 700;

}





/* =========================================================

   COLLABORATEURS

========================================================= */



.employee-benefits-section {

    padding: 105px 0;



    background:

        var(--color-background);

}





.employee-benefits-layout {

    display: grid;



    grid-template-columns:

        minmax(0, 0.85fr)

        minmax(0, 1.15fr);



    gap: 100px;



    align-items: start;

}





.employee-benefits-heading h2 {

    margin: 18px 0 24px;



    color: var(--color-primary-dark);



    font-family: var(--font-title);



    font-size:

        clamp(3.2rem, 5vw, 5rem);



    line-height: 0.96;

}





.employee-benefits-heading h2 em {

    color: var(--color-primary);



    font-weight: 500;



    font-style: italic;

}





.employee-benefits-heading > p:last-child {

    color: var(--color-text-light);



    line-height: 1.85;

}





.employee-benefits-content {

    display: grid;



    grid-template-columns:

        repeat(2, minmax(0, 1fr));



    gap: 0 35px;

}





.employee-benefits-content div {

    padding: 28px 0;



    border-bottom:

        1px solid rgba(79,53,77,.12);

}





.employee-benefits-content h3 {

    margin-bottom: 10px;



    color: var(--color-primary-dark);



    font-family: var(--font-title);



    font-size: 1.7rem;

}





.employee-benefits-content p {

    color: var(--color-text-light);



    line-height: 1.75;

}





/* =========================================================

   AGEFIPH / HANDICAP

========================================================= */



.agefiph-section {

    padding: 95px 0;



    background:

        var(--color-surface);

}





.agefiph-card {

    display: grid;



    grid-template-columns:

        minmax(0, 1.2fr)

        minmax(280px, 0.8fr);



    align-items: center;



    gap: 70px;



    padding: 60px;



    border-radius: 32px;



    color: #ffffff;



    background:

        radial-gradient(

            circle at 88% 12%,

            rgba(255,255,255,.12),

            transparent 28%

        ),

        linear-gradient(

            135deg,

            var(--color-primary-dark),

            #79556f

        );



    box-shadow:

        0 30px 70px

        rgba(60, 40, 55, 0.12);

}





.agefiph-card .section-eyebrow {

    color:

        rgba(255,255,255,.7);

}





.agefiph-content h2 {

    margin: 18px 0 22px;



    font-family: var(--font-title);



    font-size:

        clamp(2.8rem, 4.5vw, 4.5rem);



    line-height: 0.98;

}





.agefiph-content > p {

    margin-bottom: 17px;



    color:

        rgba(255,255,255,.8);



    line-height: 1.8;

}





.agefiph-note {

    font-size: 0.84rem;



    opacity: 0.8;

}





.agefiph-highlight {

    padding: 40px;



    border:

        1px solid rgba(255,255,255,.2);



    border-radius: 25px;



    background:

        rgba(255,255,255,.08);



    backdrop-filter:

        blur(10px);

}





.agefiph-highlight p {

    margin-bottom: 12px;



    color:

        rgba(255,255,255,.7);



    font-size: 0.76rem;



    font-weight: 700;



    letter-spacing: 0.1em;



    text-transform: uppercase;

}





.agefiph-highlight strong {

    display: block;



    margin-bottom: 15px;



    font-family: var(--font-title);



    font-size: 2.7rem;



    font-weight: 600;



    line-height: 1;

}





.agefiph-highlight span {

    color:

        rgba(255,255,255,.8);



    line-height: 1.7;

}





/* =========================================================

   POURQUOI AMMANAURA

========================================================= */



.business-why-section {

    padding: 105px 0;



    background:

        linear-gradient(

            180deg,

            #f8f1eb,

            #f4e9e5

        );

}





.business-why-layout {

    display: grid;



    grid-template-columns:

        minmax(0, 0.85fr)

        minmax(0, 1.15fr);



    gap: 100px;

}





.business-why-heading h2 {

    margin-top: 18px;



    color: var(--color-primary-dark);



    font-family: var(--font-title);



    font-size:

        clamp(3.2rem, 5vw, 5rem);



    line-height: 0.96;

}





.business-why-heading h2 em {

    color: var(--color-primary);



    font-weight: 500;



    font-style: italic;

}





.business-why-content article {

    padding: 25px 0;



    border-bottom:

        1px solid rgba(79,53,77,.12);

}





.business-why-content article:first-child {

    padding-top: 0;

}





.business-why-content article:last-child {

    border-bottom: 0;

}





.business-why-content h3 {

    margin-bottom: 10px;



    color: var(--color-primary-dark);



    font-family: var(--font-title);



    font-size: 1.8rem;

}





.business-why-content p {

    color: var(--color-text-light);



    line-height: 1.8;

}





/* =========================================================

   PROCESSUS

========================================================= */



.business-process-section {

    padding: 105px 0;



    background:

        var(--color-surface);

}





.business-process-layout {

    display: grid;



    grid-template-columns:

        minmax(0, 0.85fr)

        minmax(0, 1.15fr);



    gap: 100px;



    align-items: start;

}





.business-process-heading h2 {

    margin: 18px 0 24px;



    color: var(--color-primary-dark);



    font-family: var(--font-title);



    font-size:

        clamp(3.2rem, 5vw, 5rem);



    line-height: 0.96;

}





.business-process-heading h2 em {

    color: var(--color-primary);



    font-weight: 500;



    font-style: italic;

}





.business-process-heading > p:last-child {

    color: var(--color-text-light);



    line-height: 1.85;

}





.business-process-content {

    border-top:

        1px solid rgba(79,53,77,.12);

}





.business-process-content article {

    padding: 27px 0;



    border-bottom:

        1px solid rgba(79,53,77,.12);

}





.business-process-content h3 {

    margin-bottom: 9px;



    color: var(--color-primary-dark);



    font-family: var(--font-title);



    font-size: 1.7rem;

}





.business-process-content p {

    color: var(--color-text-light);



    line-height: 1.75;

}





/* =========================================================

   FAQ ENTREPRISE

========================================================= */



.business-faq-section {

    padding: 100px 0;



    background:

        var(--color-background);

}





.business-faq-grid {

    display: grid;



    grid-template-columns:

        minmax(0, 0.8fr)

        minmax(0, 1.2fr);



    gap: 90px;



    align-items: start;

}





.business-faq-grid > div:first-child h2 {

    margin: 18px 0;



    color: var(--color-primary-dark);



    font-family: var(--font-title);



    font-size:

        clamp(2.8rem, 4.5vw, 4.5rem);



    line-height: 0.98;

}





.business-faq-grid > div:first-child > p:last-child {

    color: var(--color-text-light);



    line-height: 1.85;

}





.business-faq-list {

    display: grid;



    gap: 13px;

}





.business-faq-list details {

    overflow: hidden;



    border:

        1px solid var(--color-border);



    border-radius: 17px;



    background:

        var(--color-surface);

}





.business-faq-list summary {

    padding: 22px 24px;



    color: var(--color-primary-dark);



    font-family: var(--font-title);



    font-size: 1.35rem;



    font-weight: 600;



    cursor: pointer;

}





.business-faq-list details p {

    padding:

        0 24px 24px;



    color: var(--color-text-light);



    line-height: 1.75;

}





/* =========================================================

   RESPONSIVE ENTREPRISE

========================================================= */



@media (max-width: 1000px) {



    .business-hero-grid,

    .business-intro-grid,

    .business-benefits-layout,

    .employee-benefits-layout,

    .business-why-layout,

    .business-process-layout,

    .business-faq-grid,

    .agefiph-card {



        grid-template-columns: 1fr;



        gap: 55px;

    }





    .business-hero-visual {

        width: min(650px, 100%);



        height: 520px;

    }





    .business-services-list article {

        gap: 45px;

    }



}





@media (max-width: 700px) {



    .business-hero {

        padding: 75px 0;

    }





    .business-hero-content h1 {

        font-size:

            clamp(3.4rem, 15vw, 5rem);

    }





    .business-hero-actions {

        flex-direction: column;

    }





    .business-hero-actions .button {

        width: 100%;

    }





    .business-hero-visual {

        height: 390px;



        border-radius:

            25px 90px 25px 90px;

    }





    .business-intro-section,

    .business-benefits-section,

    .business-services-section,

    .employee-benefits-section,

    .business-why-section,

    .business-process-section,

    .business-faq-section {



        padding: 75px 0;

    }





    .business-benefits-texts article {

        grid-template-columns: 48px 1fr;



        gap: 15px;

    }





    .business-services-list article {

        grid-template-columns: 1fr;



        gap: 18px;



        padding: 32px 0;

    }





    .employee-benefits-content {

        grid-template-columns: 1fr;

    }





    .agefiph-section {

        padding: 75px 0;

    }





    .agefiph-card {

        padding: 34px 25px;

    }





    .agefiph-highlight {

        padding: 28px 24px;

    }





    .business-faq-list summary {

        font-size: 1.2rem;

    }



}



/* =========================================================

   INTRO

========================================================= */



.business-intro-section {

    padding: 105px 0;



    background: var(--color-surface);

}





.business-intro-grid {

    display: grid;



    grid-template-columns:

        minmax(0, 0.9fr)

        minmax(0, 1.1fr);



    align-items: start;



    gap: 90px;

}





.business-intro-grid h2 {

    margin-top: 18px;



    color: var(--color-primary-dark);



    font-family: var(--font-title);



    font-size: clamp(3rem, 5vw, 5rem);



    font-weight: 600;



    line-height: 0.96;



    letter-spacing: -0.035em;

}





.business-intro-grid h2 em {

    color: var(--color-primary);



    font-weight: 500;



    font-style: italic;

}





.business-intro-text {

    padding-top: 15px;

}





.business-intro-text p {

    margin-bottom: 20px;



    color: var(--color-text-light);



    line-height: 1.9;

}







/* =========================================================

   AVANTAGES

========================================================= */



.business-benefits-section {

    padding: 105px 0;



    background:

        linear-gradient(

            180deg,

            var(--color-background),

            #f5ebe7

        );

}





.business-benefits-grid {

    display: grid;



    grid-template-columns:

        repeat(4, minmax(0, 1fr));



    gap: 20px;



    margin-top: 65px;

}





.business-benefit-card {

    min-height: 310px;



    padding: 32px;



    border:

        1px solid

        rgba(79, 53, 77, 0.10);



    border-radius: 24px;



    background:

        rgba(255, 255, 255, 0.76);



    transition:

        transform 0.35s ease,

        box-shadow 0.35s ease;

}





.business-benefit-card:hover {

    transform: translateY(-7px);



    box-shadow:

        0 25px 55px

        rgba(59, 39, 54, 0.08);

}





.business-card-icon {

    width: 52px;



    height: 52px;



    display: grid;



    place-items: center;



    margin-bottom: 38px;



    border:

        1px solid

        rgba(114, 80, 111, 0.18);



    border-radius: 50%;



    color: var(--color-primary);



    font-family: var(--font-title);



    font-size: 1.5rem;



    background:

        rgba(114, 80, 111, 0.05);

}





.business-benefit-card h3 {

    margin-bottom: 14px;



    color: var(--color-primary-dark);



    font-family: var(--font-title);



    font-size: 1.8rem;



    line-height: 1.05;

}





.business-benefit-card p {

    color: var(--color-text-light);



    font-size: 0.9rem;



    line-height: 1.75;

}







/* =========================================================

   PRESTATIONS ENTREPRISE

========================================================= */



.business-services-section {

    padding: 110px 0;



    background: var(--color-surface);

}





.business-services-grid {

    display: grid;



    grid-template-columns:

        repeat(3, minmax(0, 1fr));



    gap: 24px;



    margin-top: 65px;

}





.business-service-card {

    min-height: 390px;



    display: flex;



    flex-direction: column;



    padding: 34px;



    border:

        1px solid

        rgba(79, 53, 77, 0.11);



    border-radius: 26px;



    background:

        linear-gradient(

            145deg,

            #ffffff,

            #fbf7f5

        );



    box-shadow:

        0 18px 45px

        rgba(59, 39, 54, 0.045);



    transition:

        transform 0.35s ease,

        box-shadow 0.35s ease;

}





.business-service-card:hover {

    transform: translateY(-8px);



    box-shadow:

        0 30px 65px

        rgba(59, 39, 54, 0.09);

}





.business-service-category {

    align-self: flex-start;



    margin-bottom: 38px;



    padding: 8px 13px;



    border-radius: 999px;



    color: var(--color-primary);



    font-size: 0.7rem;



    font-weight: 700;



    letter-spacing: 0.09em;



    text-transform: uppercase;



    background:

        rgba(114, 80, 111, 0.08);

}





.business-service-card h3 {

    margin-bottom: 18px;



    color: var(--color-primary-dark);



    font-family: var(--font-title);



    font-size: 2rem;



    font-weight: 600;



    line-height: 1.05;

}





.business-service-card > p:not(

.business-service-category

) {

    margin-bottom: 30px;



    color: var(--color-text-light);



    line-height: 1.75;

}





.business-service-card a {

    margin-top: auto;



    padding-top: 20px;



    border-top:

        1px solid

        var(--color-border);



    color: var(--color-primary);



    font-weight: 700;

}







/* =========================================================

   BÉNÉFICES COLLABORATEURS

========================================================= */



.employee-benefits-section {

    padding: 110px 0;



    background:

        linear-gradient(

            180deg,

            #f7efeb,

            #f3e8e5

        );

}





.employee-benefits-grid {

    display: grid;



    grid-template-columns:

        minmax(0, 0.8fr)

        minmax(0, 1.2fr);



    align-items: center;



    gap: 90px;

}





.employee-benefits-content h2 {

    margin: 18px 0 25px;



    color: var(--color-primary-dark);



    font-family: var(--font-title);



    font-size: clamp(3rem, 5vw, 5rem);



    line-height: 0.96;

}





.employee-benefits-content h2 em {

    color: var(--color-primary);



    font-weight: 500;



    font-style: italic;

}





.employee-benefits-content > p:last-child {

    color: var(--color-text-light);



    line-height: 1.85;

}





.employee-benefits-list {

    display: grid;



    grid-template-columns:

        repeat(2, minmax(0, 1fr));



    gap: 14px;

}





.employee-benefits-list article {

    min-height: 95px;



    display: flex;



    align-items: center;



    gap: 16px;



    padding: 20px;



    border:

        1px solid

        rgba(79, 53, 77, 0.09);



    border-radius: 18px;



    background:

        rgba(255, 255, 255, 0.72);

}





.employee-benefits-list span {

    width: 34px;



    height: 34px;



    display: grid;



    place-items: center;



    flex-shrink: 0;



    border-radius: 50%;



    color: #ffffff;



    background:

        var(--color-primary);

}





.employee-benefits-list p {

    color: var(--color-primary-dark);



    font-size: 0.88rem;



    font-weight: 600;



    line-height: 1.5;

}







/* =========================================================

   HANDICAP / INCLUSION

========================================================= */



.agefiph-section {

    padding: 105px 0;



    background: var(--color-surface);

}





.agefiph-card {

    display: grid;



    grid-template-columns:

        minmax(0, 1.25fr)

        minmax(280px, 0.75fr);



    align-items: center;



    gap: 65px;



    padding: 60px;



    border-radius: 32px;



    color: #ffffff;



    background:

        radial-gradient(

            circle at 90% 10%,

            rgba(255, 255, 255, 0.13),

            transparent 28%

        ),

        linear-gradient(

            135deg,

            var(--color-primary-dark),

            #79556f

        );



    box-shadow:

        0 30px 70px

        rgba(60, 40, 55, 0.11);

}





.agefiph-card .section-eyebrow {

    color:

        rgba(255, 255, 255, 0.7);

}





.agefiph-content h2 {

    margin: 18px 0 22px;



    font-family: var(--font-title);



    font-size: clamp(2.8rem, 4.5vw, 4.6rem);



    line-height: 0.98;

}





.agefiph-content h2 em {

    color: #e8ced8;



    font-weight: 500;



    font-style: italic;

}





.agefiph-content > p {

    max-width: 700px;



    color:

        rgba(255, 255, 255, 0.82);



    line-height: 1.75;

}





.agefiph-note {

    margin-top: 18px;



    font-size: 0.82rem;

}





.agefiph-highlight {

    min-height: 260px;



    display: flex;



    flex-direction: column;



    align-items: center;



    justify-content: center;



    padding: 30px;



    border:

        1px solid

        rgba(255, 255, 255, 0.22);



    border-radius: 28px;



    text-align: center;



    background:

        rgba(255, 255, 255, 0.08);

}





.agefiph-highlight p {

    margin-bottom: 10px;



    font-size: 0.75rem;



    font-weight: 700;



    letter-spacing: 0.12em;



    text-transform: uppercase;

}





.agefiph-highlight strong {

    font-family: var(--font-title);



    font-size: 3.5rem;



    font-weight: 500;

}





.agefiph-highlight span {

    margin-top: 4px;



    color:

        rgba(255, 255, 255, 0.74);

}







/* =========================================================

   POURQUOI AMMANAURA

========================================================= */



.business-why-section {

    padding: 105px 0;



    background: var(--color-background);

}





.business-why-grid {

    display: grid;



    grid-template-columns:

        repeat(4, minmax(0, 1fr));



    gap: 20px;



    margin-top: 65px;

}





.business-why-grid article {

    min-height: 275px;



    padding: 30px;



    border:

        1px solid

        rgba(79, 53, 77, 0.1);



    border-radius: 22px;



    background: #ffffff;

}





.business-why-icon {

    width: 48px;



    height: 48px;



    display: grid;



    place-items: center;



    margin-bottom: 35px;



    border-radius: 50%;



    color: var(--color-primary);



    background:

        rgba(114, 80, 111, 0.08);

}





.business-why-grid h3 {

    margin-bottom: 13px;



    color: var(--color-primary-dark);



    font-family: var(--font-title);



    font-size: 1.7rem;

}





.business-why-grid p {

    color: var(--color-text-light);



    font-size: 0.88rem;



    line-height: 1.7;

}







/* =========================================================

   ENTREPRISES - DÉROULEMENT D'UNE INTERVENTION

   ========================================================= */



.business-process-section {

    padding: 110px 0;

    background: #ffffff;

}



.business-process-layout {

    display: grid;

    grid-template-columns: 0.85fr 1.15fr;

    gap: 100px;

    align-items: start;

}





/* PARTIE GAUCHE */



.business-process-heading {

    position: sticky;

    top: 130px;

}



.business-process-heading .section-eyebrow {

    margin-bottom: 18px;

}



.business-process-heading h2 {

    margin: 0 0 28px;

    max-width: 520px;



    font-family: "Cormorant Garamond", serif;

    font-size: clamp(2.8rem, 4vw, 4.6rem);

    font-weight: 500;

    line-height: 0.95;



    color: #5f405f;

}



.business-process-heading h2 em {

    display: block;

    font-weight: 500;

}



.business-process-heading > p:last-child {

    max-width: 500px;



    font-family: "Montserrat", sans-serif;

    font-size: 0.95rem;

    line-height: 1.9;



    color: #777077;

}





/* TEXTE À DROITE */



.business-process-text {

    max-width: 680px;

}



.business-process-text p {

    margin: 0;

    padding: 30px 0;



    font-family: "Montserrat", sans-serif;

    font-size: 0.98rem;

    font-weight: 400;

    line-height: 1.9;



    color: #625d62;



    border-bottom: 1px solid rgba(95, 64, 95, 0.13);

}



.business-process-text p:first-child {

    padding-top: 0;

}



.business-process-text p:last-child {

    border-bottom: none;

    padding-bottom: 0;

}



.business-process-text strong {

    font-family: "Cormorant Garamond", serif;

    font-size: 1.35rem;

    font-weight: 600;



    color: #5f405f;

}





/* TABLETTE */



@media (max-width: 900px) {



    .business-process-section {

        padding: 85px 0;

    }



    .business-process-layout {

        grid-template-columns: 1fr;

        gap: 50px;

    }



    .business-process-heading {

        position: static;

    }



    .business-process-heading h2 {

        max-width: 650px;

    }



    .business-process-text {

        max-width: 100%;

    }

}





/* MOBILE */



@media (max-width: 600px) {



    .business-process-section {

        padding: 65px 0;

    }



    .business-process-layout {

        gap: 35px;

    }



    .business-process-heading h2 {

        font-size: 2.7rem;

        line-height: 1;

        margin-bottom: 22px;

    }



    .business-process-heading > p:last-child {

        font-size: 0.9rem;

        line-height: 1.75;

    }



    .business-process-text p {

        padding: 23px 0;



        font-size: 0.9rem;

        line-height: 1.75;

    }



    .business-process-text strong {

        font-size: 1.2rem;

    }

}



.business-process-section {

    padding: 105px 0;



    background: var(--color-surface);

}


.business-process-icon {

    width: 45px;



    height: 45px;



    display: grid;



    place-items: center;



    margin-bottom: 32px;



    border-radius: 50%;



    color: var(--color-primary);



    background:

        rgba(114, 80, 111, 0.08);

}





.business-process h3 {

    margin-bottom: 12px;



    color: var(--color-primary-dark);



    font-family: var(--font-title);



    font-size: 1.55rem;

}





.business-process p {

    color: var(--color-text-light);



    font-size: 0.84rem;



    line-height: 1.7;

}







/* =========================================================

   FAQ ENTREPRISE

========================================================= */



.business-faq-section {

    padding: 105px 0;



    background:

        linear-gradient(

            180deg,

            #f7efeb,

            #f4ebe8

        );

}





.business-faq-grid {

    display: grid;



    grid-template-columns:

        minmax(0, 0.75fr)

        minmax(0, 1.25fr);



    align-items: start;



    gap: 80px;

}





.business-faq-grid > div:first-child h2 {

    margin: 18px 0 22px;



    color: var(--color-primary-dark);



    font-family: var(--font-title);



    font-size: clamp(3rem, 5vw, 4.8rem);



    line-height: 0.96;

}





.business-faq-grid > div:first-child h2 em {

    color: var(--color-primary);



    font-weight: 500;



    font-style: italic;

}





.business-faq-grid >

div:first-child >

p:last-child {

    color: var(--color-text-light);



    line-height: 1.8;

}





.business-faq-list {

    display: grid;



    gap: 13px;

}





.business-faq-list details {

    overflow: hidden;



    border:

        1px solid

        rgba(79, 53, 77, 0.1);



    border-radius: 18px;



    background: #ffffff;

}





.business-faq-list summary {

    padding: 22px 55px 22px 24px;



    color: var(--color-primary-dark);



    font-family: var(--font-title);



    font-size: 1.35rem;



    font-weight: 600;



    cursor: pointer;

}





.business-faq-list details p {

    padding: 0 24px 24px;



    color: var(--color-text-light);



    line-height: 1.75;

}


/* =========================================================
   PAGE TARIFS
========================================================= */

.pricing-hero {
    position: relative;
    overflow: hidden;
    padding: 130px 0;
    color: #ffffff;
    background:
        radial-gradient(circle at 80% 20%, rgba(255,255,255,.18), transparent 28%),
        linear-gradient(135deg, #4f354d, #7a5873);
}

.pricing-hero-overlay {
    position: absolute;
    inset: 0;
    background:
        linear-gradient(
            rgba(0,0,0,.05),
            rgba(0,0,0,.35)
        );
}

.pricing-hero-content {
    position: relative;
    z-index: 2;
    max-width: 820px;
}

.pricing-hero h1 {
    margin: 22px 0;
    font-family: var(--font-title);
    font-size: clamp(4rem,8vw,7rem);
    font-weight: 600;
    line-height: .92;
    letter-spacing: -.04em;
}

.pricing-hero p:last-of-type {
    max-width: 650px;
    color: rgba(255,255,255,.82);
    line-height: 1.9;
}

.pricing-hero-buttons {
    display: flex;
    gap: 18px;
    margin-top: 45px;
}

.pricing-intro,
.pricing-services,
.pricing-steps,
.pricing-faq,
.pricing-cta {
    padding: 110px 0;
}

.pricing-intro,
.pricing-steps {
    background: var(--color-surface);
}

.pricing-services,
.pricing-faq {
    background: var(--color-background);
}

.pricing-grid {
    display: grid;
    grid-template-columns: repeat(3,minmax(0,1fr));
    gap: 30px;
    margin-top: 70px;
}

.pricing-card {
    display: flex;
    flex-direction: column;
    min-height: 470px;
    padding: 40px;
    border: 1px solid var(--color-border);
    border-radius: 26px;
    background: #ffffff;
    transition: .35s;
}

.pricing-card:hover {
    transform: translateY(-8px);
    box-shadow: 0 25px 60px rgba(0,0,0,.08);
}

.pricing-top {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 42px;
}

.pricing-top span {
    color: var(--color-accent);
    font-family: var(--font-title);
    font-size: 2rem;
}

.pricing-top p {
    padding: 8px 14px;
    border-radius: 999px;
    background: #efe8ec;
    font-size: .75rem;
    font-weight: 700;
}

.pricing-card h3 {
    margin-bottom: 20px;
    font-family: var(--font-title);
    font-size: 2rem;
    line-height: 1;
}

.pricing-card > p {
    margin-bottom: 28px;
    color: var(--color-text-light);
    line-height: 1.8;
}

.pricing-price {
    margin-top: auto;
    margin-bottom: 28px;
    color: var(--color-primary);
    font-family: var(--font-title);
    font-size: 2.2rem;
}

.pricing-card .button {
    width: 100%;
}

.pricing-steps-grid {
    display: grid;
    grid-template-columns: repeat(4,minmax(0,1fr));
    gap: 24px;
    margin-top: 70px;
}

.pricing-steps-grid article {
    padding: 36px;
    border-radius: 22px;
    background: #ffffff;
    border: 1px solid var(--color-border);
}

.pricing-steps-grid span {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 70px;
    height: 70px;
    margin-bottom: 26px;
    border-radius: 50%;
    background: var(--color-primary);
    color: #ffffff;
    font-family: var(--font-title);
    font-size: 1.6rem;
}

.pricing-steps-grid h3 {
    margin-bottom: 14px;
    font-family: var(--font-title);
    font-size: 1.8rem;
}

.pricing-steps-grid p {
    color: var(--color-text-light);
    line-height: 1.75;
}

.pricing-faq-list {
    display: grid;
    gap: 18px;
    margin-top: 60px;
}

.pricing-faq details {
    border-radius: 18px;
    overflow: hidden;
    border: 1px solid var(--color-border);
    background: #ffffff;
}

.pricing-faq summary {
    padding: 26px 28px;
    cursor: pointer;
    font-family: var(--font-title);
    font-size: 1.45rem;
    font-weight: 600;
}

.pricing-faq details p {
    padding: 0 28px 28px;
    color: var(--color-text-light);
    line-height: 1.75;
}

.pricing-cta {
    color: #ffffff;
    background:
        linear-gradient(
            135deg,
            var(--color-primary-dark),
            var(--color-primary)
        );
}

.pricing-cta-content {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 60px;
}

.pricing-cta h2 {
    margin: 18px 0;
    font-family: var(--font-title);
    font-size: clamp(3rem,5vw,5rem);
    line-height: 1;
}

.pricing-cta p {
    max-width: 620px;
    color: rgba(255,255,255,.82);
}

.pricing-cta-buttons {
    display: flex;
    gap: 18px;
}

.pricing-cta .button-secondary {
    background: #ffffff;
    color: var(--color-primary-dark);
}


/* =========================================================
   GALERIE
========================================================= */

.gallery-hero {
    position: relative;
    overflow: hidden;
    padding: 130px 0;
    color: #ffffff;
    background:
        radial-gradient(circle at 82% 18%, rgba(255,255,255,.18), transparent 28%),
        linear-gradient(135deg, #4f354d, #7c5976);
}

.gallery-overlay {
    position: absolute;
    inset: 0;
    background:
        linear-gradient(
            rgba(0,0,0,.08),
            rgba(0,0,0,.35)
        );
}

.gallery-hero-content {
    position: relative;
    z-index: 2;
    max-width: 760px;
}

.gallery-hero h1 {
    margin: 24px 0;
    font-family: var(--font-title);
    font-size: clamp(4rem,8vw,7rem);
    font-weight: 600;
    line-height: .9;
    letter-spacing: -.04em;
}

.gallery-hero p:last-of-type {
    max-width: 620px;
    color: rgba(255,255,255,.82);
    line-height: 1.85;
}

.gallery-buttons {
    display: flex;
    gap: 18px;
    margin-top: 42px;
}

.gallery-intro,
.gallery-grid-section,
.gallery-care,
.gallery-business,
.gallery-atmosphere,
.gallery-quote,
.gallery-cta {
    padding: 110px 0;
}

.gallery-intro,
.gallery-business,
.gallery-quote {
    background: var(--color-surface);
}

.gallery-grid-section,
.gallery-care,
.gallery-atmosphere {
    background: var(--color-background);
}

.gallery-grid {
    display: grid;
    grid-template-columns: repeat(3,minmax(0,1fr));
    gap: 24px;
    margin-top: 70px;
}

.gallery-item {
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 260px;
    overflow: hidden;
    border-radius: 24px;
    border: 1px solid var(--color-border);
    color: var(--color-primary-dark);
    font-family: var(--font-title);
    font-size: 1.7rem;
    background:
        radial-gradient(circle at 70% 20%,rgba(255,255,255,.85),transparent 30%),
        linear-gradient(145deg,#efe7e4,#d9cfcb);
    transition:
        transform .35s,
        box-shadow .35s;
}

.gallery-item:hover {
    transform: scale(1.03);
    box-shadow: 0 25px 60px rgba(0,0,0,.08);
}

.gallery-item.large {
    grid-column: span 2;
    min-height: 420px;
}

.gallery-item.tall {
    grid-row: span 2;
    min-height: 560px;
}

.gallery-item.wide {
    grid-column: span 2;
    min-height: 340px;
}

.gallery-services {
    display: grid;
    grid-template-columns: repeat(3,minmax(0,1fr));
    gap: 24px;
    margin-top: 60px;
}

.gallery-services article {
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 240px;
    border-radius: 24px;
    border: 1px solid var(--color-border);
    background: #ffffff;
    font-family: var(--font-title);
    font-size: 2rem;
    transition: .35s;
}

.gallery-services article:hover {
    transform: translateY(-8px);
    box-shadow: 0 25px 60px rgba(0,0,0,.08);
}

.gallery-business-grid {
    display: grid;
    grid-template-columns: repeat(3,minmax(0,1fr));
    gap: 24px;
    margin-top: 60px;
}

.atmosphere-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 80px;
    align-items: center;
}

.atmosphere-content h2 {
    margin: 22px 0;
    font-family: var(--font-title);
    font-size: clamp(3rem,5vw,5rem);
    line-height: 1;
}

.atmosphere-content p {
    margin-bottom: 20px;
    color: var(--color-text-light);
    line-height: 1.85;
}

.gallery-atmosphere-image {
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 620px;
    border-radius: 28px;
    border: 1px solid var(--color-border);
    font-family: var(--font-title);
    font-size: 2rem;
    background:
        radial-gradient(circle at 75% 20%,rgba(255,255,255,.85),transparent 30%),
        linear-gradient(145deg,#ece3df,#d6cbc6);
}

.gallery-quote {
    text-align: center;
}

.gallery-quote blockquote {
    max-width: 900px;
    margin: auto;
    font-family: var(--font-title);
    font-size: clamp(2.4rem,4vw,4rem);
    line-height: 1.2;
    color: var(--color-primary-dark);
}

.gallery-cta {
    color: #ffffff;
    background:
        linear-gradient(
            135deg,
            var(--color-primary-dark),
            var(--color-primary)
        );
}

.gallery-cta-content {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 60px;
}

.gallery-cta h2 {
    margin: 18px 0;
    font-family: var(--font-title);
    font-size: clamp(3rem,5vw,5rem);
    line-height: 1;
}

.gallery-cta p {
    max-width: 600px;
    color: rgba(255,255,255,.82);
}

.gallery-cta-buttons {
    display: flex;
    gap: 18px;
}

.gallery-cta .button-secondary {
    color: var(--color-primary-dark);
    background: #ffffff;
}


/* LIGHTBOX */

.gallery-lightbox {
    position: fixed;
    inset: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    background: rgba(0,0,0,.92);
    opacity: 0;
    visibility: hidden;
    transition: .35s;
    z-index: 9999;
}

.gallery-lightbox.active {
    opacity: 1;
    visibility: visible;
}

.gallery-lightbox-content {
    position: relative;
    max-width: 92vw;
    max-height: 90vh;
}

.gallery-lightbox img {
    display: block;
    max-width: 92vw;
    max-height: 90vh;
    border-radius: 22px;
    box-shadow: 0 40px 80px rgba(0,0,0,.45);
    animation: zoomImage .35s ease;
}

.gallery-close {
    position: absolute;
    top: -55px;
    right: 0;
    width: 42px;
    height: 42px;
    border: none;
    border-radius: 50%;
    background: #ffffff;
    cursor: pointer;
    font-size: 1.2rem;
    transition: .25s;
}

.gallery-close:hover {
    transform: rotate(90deg);
}

@keyframes zoomImage {
    from {
        opacity: 0;
        transform: scale(.9);
    }

    to {
        opacity: 1;
        transform: scale(1);
    }
}

/* =========================================================

   PAGE RÉFLEXOLOGIE PLANTAIRE

========================================================= */





/* =========================================================

   HERO

========================================================= */



.service-hero {

    position: relative;

    overflow: hidden;



    padding: 90px 0;



    color: #ffffff;



    background:

        radial-gradient(

            circle at 82% 18%,

            rgba(255, 255, 255, 0.16),

            transparent 28%

        ),

        linear-gradient(

            135deg,

            #4d3548,

            #795974

        );

}





.service-overlay {

    position: absolute;

    inset: 0;



    background:

        linear-gradient(

            90deg,

            rgba(34, 24, 31, 0.14),

            rgba(34, 24, 31, 0.03)

        );

}





.service-hero-grid {

    position: relative;

    z-index: 2;



    display: grid;



    grid-template-columns:

        minmax(0, 1fr)

        minmax(420px, 0.95fr);



    align-items: center;



    gap: 75px;

}





.service-hero-content {

    max-width: 720px;

}





.service-hero .page-hero-eyebrow {

    color: rgba(255, 255, 255, 0.72);



    font-size: 0.78rem;

    font-weight: 700;



    letter-spacing: 0.14em;

    text-transform: uppercase;

}





.service-hero h1 {

    margin: 18px 0 24px;



    font-family: var(--font-title);



    font-size: clamp(4rem, 7vw, 6.4rem);

    font-weight: 600;



    line-height: 0.92;

    letter-spacing: -0.045em;

}





.service-hero-content > p:last-of-type {

    max-width: 600px;



    color: rgba(255, 255, 255, 0.82);



    font-size: 1.04rem;

    line-height: 1.82;

}





.service-buttons {

    display: flex;

    flex-wrap: wrap;



    gap: 15px;



    margin-top: 34px;

}





.service-hero .button-primary {

    color: var(--color-primary-dark);

    background: #ffffff;

}





.service-hero .button-secondary {

    color: #ffffff;



    border-color: rgba(255, 255, 255, 0.55);



    background: transparent;

}





/* =========================================================

   IMAGE HERO

========================================================= */



.service-image-real {

    position: relative;



    min-height: 500px;



    padding: 0;



    overflow: hidden;



    border: 1px solid rgba(255, 255, 255, 0.16);

    border-radius: 30px 120px 30px 120px;



    background:

        rgba(255, 255, 255, 0.08);



    box-shadow:

        0 30px 70px rgba(34, 24, 31, 0.18);

}





.service-image-real img {

    width: 100%;

    height: 500px;



    display: block;



    object-fit: cover;

    object-position: center;



    transition:

        transform 0.5s ease;

}





.service-image-real:hover img {

    transform: scale(1.035);

}





/* =========================================================

   DÉFINITION

========================================================= */



.service-definition-section {

    padding: 90px 0;



    background: var(--color-surface);

}





.service-definition-grid {

    display: grid;



    grid-template-columns:

        minmax(0, 0.8fr)

        minmax(0, 1.2fr);



    align-items: start;



    gap: 85px;

}





.service-definition-grid > div:first-child {

    max-width: 520px;

}





.service-definition-grid h2 {

    margin-top: 18px;



    color: var(--color-primary-dark);



    font-family: var(--font-title);



    font-size: clamp(3rem, 5vw, 4.8rem);

    font-weight: 600;



    line-height: 0.96;

    letter-spacing: -0.035em;

}





.service-definition-content {

    max-width: 680px;

}





.service-definition-content p {

    margin-bottom: 18px;



    color: var(--color-text-light);



    font-size: 1rem;

    line-height: 1.85;

}





.service-definition-content p:last-child {

    margin-bottom: 0;

}





/* =========================================================

   CE QUE LA SÉANCE PEUT APPORTER

========================================================= */



.service-benefits-text-section {

    padding: 95px 0;



    background: var(--color-background);

}





.service-benefits-text-grid {

    display: grid;



    grid-template-columns:

        minmax(0, 0.85fr)

        minmax(0, 1.15fr);



    align-items: start;



    gap: 85px;

}





.service-benefits-text-grid > div:first-child {

    max-width: 560px;

}





.service-benefits-text-grid h2 {

    margin: 18px 0 22px;



    color: var(--color-primary-dark);



    font-family: var(--font-title);



    font-size: clamp(3rem, 5vw, 4.8rem);

    font-weight: 600;



    line-height: 0.96;

    letter-spacing: -0.035em;

}





.service-benefits-text-grid > div:first-child > p:last-child {

    color: var(--color-text-light);



    line-height: 1.85;

}





.service-benefits-list {

    display: grid;



    gap: 0;

}





.service-benefits-list article {

    padding: 24px 0;



    border-bottom: 1px solid var(--color-border);

}





.service-benefits-list article:first-child {

    padding-top: 0;

}





.service-benefits-list article:last-child {

    padding-bottom: 0;



    border-bottom: 0;

}





.service-benefits-list h3 {

    margin-bottom: 9px;



    color: var(--color-primary-dark);



    font-family: var(--font-title);



    font-size: 1.75rem;

    font-weight: 600;

}





.service-benefits-list p {

    max-width: 620px;



    color: var(--color-text-light);



    font-size: 0.95rem;

    line-height: 1.75;

}





/* =========================================================

   DÉROULEMENT DE LA SÉANCE

========================================================= */



.session-section {

    padding: 95px 0;



    background: var(--color-surface);

}





.session-grid {

    display: grid;



    grid-template-columns:

        minmax(0, 0.8fr)

        minmax(0, 1.2fr);



    align-items: start;



    gap: 85px;

}





.session-grid > div:first-child {

    max-width: 540px;

}





.session-grid h2 {

    margin: 18px 0 22px;



    color: var(--color-primary-dark);



    font-family: var(--font-title);



    font-size: clamp(3rem, 5vw, 4.7rem);

    font-weight: 600;



    line-height: 0.96;

    letter-spacing: -0.035em;

}





.session-grid > div:first-child > p:last-child {

    color: var(--color-text-light);



    line-height: 1.85;

}





.session-steps-text {

    display: grid;



    gap: 0;

}





.session-steps-text article {

    padding: 24px 0;



    border-bottom: 1px solid var(--color-border);



    background: transparent;

}





.session-steps-text article:first-child {

    padding-top: 0;

}





.session-steps-text article:last-child {

    padding-bottom: 0;



    border-bottom: 0;

}





.session-steps-text h3 {

    margin-bottom: 9px;



    color: var(--color-primary-dark);



    font-family: var(--font-title);



    font-size: 1.75rem;

    font-weight: 600;

}





.session-steps-text p {

    max-width: 620px;



    color: var(--color-text-light);



    line-height: 1.75;

}





/* =========================================================

   VISUELS RÉFLEXOLOGIE

========================================================= */



.service-media-section {

    padding: 90px 0;



    background: var(--color-background);

}





.service-media-grid-reflexology {

    display: grid;



    grid-template-columns: repeat(2, minmax(0, 1fr));



    gap: 24px;



    margin-top: 55px;

}





.service-media-grid-reflexology figure {

    margin: 0;



    overflow: hidden;



    border: 1px solid var(--color-border);

    border-radius: 26px;



    background: var(--color-surface);



    box-shadow:

        0 20px 50px rgba(60, 40, 55, 0.06);

}





.service-media-grid-reflexology img {

    width: 100%;



    aspect-ratio: 5 / 3;



    display: block;



    object-fit: cover;

    object-position: center;

}





.service-media-grid-reflexology figcaption {

    padding: 17px 20px;



    color: var(--color-text-light);



    font-size: 0.9rem;

    line-height: 1.6;

}





/* =========================================================

   PRÉCAUTIONS

========================================================= */



.precautions-section {

    padding: 90px 0;



    background: var(--color-surface);

}





.precautions-layout {

    display: grid;



    grid-template-columns:

        minmax(0, 0.8fr)

        minmax(0, 1.2fr);



    align-items: start;



    gap: 85px;

}





.precautions-layout > div:first-child {

    max-width: 520px;

}





.precautions-layout h2 {

    margin-top: 18px;



    color: var(--color-primary-dark);



    font-family: var(--font-title);



    font-size: clamp(3rem, 5vw, 4.6rem);

    font-weight: 600;



    line-height: 0.96;

    letter-spacing: -0.035em;

}





.precautions-content {

    max-width: 680px;



    padding-left: 30px;



    border-left: 2px solid var(--color-accent);

}





.precautions-content p {

    margin-bottom: 18px;



    color: var(--color-text-light);



    line-height: 1.85;

}





.precautions-content p:last-child {

    margin-bottom: 0;

}





/* =========================================================

   POURQUOI AMMANAURA

========================================================= */



.why-service-text {

    padding: 90px 0;



    background: var(--color-background);

}





.why-service-layout {

    display: grid;



    grid-template-columns:

        minmax(0, 0.8fr)

        minmax(0, 1.2fr);



    align-items: start;



    gap: 85px;

}





.why-service-layout > div:first-child {

    max-width: 540px;

}





.why-service-layout h2 {

    margin-top: 18px;



    color: var(--color-primary-dark);



    font-family: var(--font-title);



    font-size: clamp(3rem, 5vw, 4.8rem);

    font-weight: 600;



    line-height: 0.96;

    letter-spacing: -0.035em;

}





.why-service-content {

    max-width: 680px;

}





.why-service-content p {

    margin-bottom: 18px;



    color: var(--color-text-light);



    line-height: 1.85;

}





.why-service-content p:last-child {

    margin-bottom: 0;

}





/* =========================================================

   FAQ

========================================================= */



.service-faq {

    padding: 90px 0;



    background: var(--color-surface);

}





.service-faq .section-heading {

    max-width: 760px;

}





.faq-list {

    max-width: 900px;



    display: grid;



    gap: 12px;



    margin: 50px auto 0;

}





.faq-list details {

    overflow: hidden;



    border-bottom: 1px solid var(--color-border);



    background: transparent;

}





.faq-list summary {

    position: relative;



    padding: 22px 45px 22px 0;



    color: var(--color-primary-dark);



    font-family: var(--font-title);



    font-size: 1.45rem;

    font-weight: 600;



    cursor: pointer;



    list-style: none;

}





.faq-list summary::-webkit-details-marker {

    display: none;

}





.faq-list summary::after {

    position: absolute;



    top: 50%;

    right: 4px;



    content: "+";



    color: var(--color-primary);



    font-size: 1.5rem;



    transform: translateY(-50%);

}





.faq-list details[open] summary::after {

    content: "−";

}





.faq-list p {

    max-width: 760px;



    padding: 0 0 22px;



    color: var(--color-text-light);



    line-height: 1.75;

}





/* =========================================================

   CTA FINAL

========================================================= */



.service-cta {

    position: relative;



    overflow: hidden;



    padding: 90px 0;



    color: #ffffff;



    background:

        radial-gradient(

            circle at 82% 18%,

            rgba(255, 255, 255, 0.12),

            transparent 28%

        ),

        linear-gradient(

            135deg,

            var(--color-primary-dark),

            var(--color-primary)

        );

}





.service-cta-content {

    display: flex;



    align-items: center;

    justify-content: space-between;



    gap: 70px;

}





.service-cta-content > div:first-child {

    max-width: 720px;

}





.service-cta .section-eyebrow {

    color: rgba(255, 255, 255, 0.7);

}





.service-cta h2 {

    margin: 16px 0 20px;



    font-family: var(--font-title);



    font-size: clamp(3rem, 5vw, 5rem);

    font-weight: 600;



    line-height: 0.96;

}





.service-cta-content > div:first-child > p:last-child {

    max-width: 610px;



    color: rgba(255, 255, 255, 0.8);



    line-height: 1.8;

}





.service-cta-buttons {

    display: flex;

    flex-direction: column;



    gap: 13px;



    flex-shrink: 0;

}





.service-cta .button-primary {

    color: var(--color-primary-dark);



    background: #ffffff;

}





.service-cta .button-secondary {

    color: #ffffff;



    border-color: rgba(255, 255, 255, 0.55);



    background: transparent;

}





/* =========================================================

   RESPONSIVE RÉFLEXOLOGIE

========================================================= */



@media (max-width: 1050px) {



    .service-hero-grid {

        grid-template-columns:

            minmax(0, 1fr)

            minmax(340px, 0.85fr);



        gap: 50px;

    }





    .service-definition-grid,

    .service-benefits-text-grid,

    .session-grid,

    .precautions-layout,

    .why-service-layout {

        gap: 55px;

    }



}





@media (max-width: 900px) {



    .service-hero-grid,

    .service-definition-grid,

    .service-benefits-text-grid,

    .session-grid,

    .precautions-layout,

    .why-service-layout {

        grid-template-columns: 1fr;



        gap: 45px;

    }





    .service-hero-content,

    .service-definition-grid > div:first-child,

    .service-benefits-text-grid > div:first-child,

    .session-grid > div:first-child,

    .precautions-layout > div:first-child,

    .why-service-layout > div:first-child {

        max-width: 720px;

    }





    .service-image-real {

        width: min(650px, 100%);



        margin-inline: auto;

    }





    .service-media-grid-reflexology {

        grid-template-columns: 1fr;

    }





    .service-cta-content {

        align-items: flex-start;

        flex-direction: column;



        gap: 40px;

    }





    .service-cta-buttons {

        width: 100%;



        flex-direction: row;

        flex-wrap: wrap;

    }



}





@media (max-width: 700px) {



    .service-hero,

    .service-definition-section,

    .service-benefits-text-section,

    .session-section,

    .service-media-section,

    .precautions-section,

    .why-service-text,

    .service-faq,

    .service-cta {

        padding: 72px 0;

    }





    .service-hero h1 {

        font-size: clamp(3.2rem, 14vw, 4.8rem);

    }





    .service-buttons {

        flex-direction: column;

    }





    .service-buttons .button {

        width: 100%;

    }





    .service-image-real {

        min-height: 350px;



        border-radius: 24px 70px 24px 70px;

    }





    .service-image-real img {

        height: 350px;

    }





    .service-definition-grid h2,

    .service-benefits-text-grid h2,

    .session-grid h2,

    .precautions-layout h2,

    .why-service-layout h2 {

        font-size: clamp(2.8rem, 12vw, 4rem);

    }





    .service-benefits-list article,

    .session-steps-text article {

        padding: 20px 0;

    }





    .precautions-content {

        padding-left: 20px;

    }





    .service-cta-buttons {

        flex-direction: column;

    }





    .service-cta-buttons .button {

        width: 100%;

    }



}





@media (max-width: 480px) {



    .service-image-real,

    .service-image-real img {

        min-height: 300px;

        height: 300px;

    }





    .service-media-grid-reflexology img {

        aspect-ratio: 4 / 3;

    }





    .faq-list summary {

        font-size: 1.3rem;

    }



}


/* IMAGES RÉELLES & GALERIES PRESTATIONS */

.service-image-real {
    padding: 0;
    overflow: hidden;
    background: rgba(255,255,255,.06);
}

.service-image-real img {
    width: 100%;
    height: 100%;
    min-height: 620px;
    display: block;
    object-fit: cover;
    object-position: center;
    border-radius: inherit;
    transition: transform .45s ease;
}

.service-image-real:hover img {
    transform: scale(1.04);
}

.service-card-placeholder {
    min-height: 260px;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 24px;
    text-align: center;
    color: var(--color-text-light);
    background:
        linear-gradient(
            145deg,
            var(--color-surface),
            var(--color-background)
        );
    border-bottom: 1px solid var(--color-border);
    font-family: var(--font-title);
    font-size: 1.35rem;
}

.service-media-section {
    padding: 110px 0;
    background: var(--color-background);
}

.service-media-grid {
    display: grid;
    grid-template-columns: repeat(4,minmax(0,1fr));
    gap: 22px;
    margin-top: 55px;
}

.service-media-grid-six {
    grid-template-columns: repeat(3,minmax(0,1fr));
}

.service-media-grid figure {
    margin: 0;
    overflow: hidden;
    border: 1px solid var(--color-border);
    border-radius: var(--border-radius-large);
    background: var(--color-surface);
    box-shadow: var(--shadow-soft);
}

.service-media-grid img {
    width: 100%;
    aspect-ratio: 5 / 4;
    display: block;
    object-fit: cover;
}

.service-media-grid figcaption {
    padding: 16px 18px;
    color: var(--color-text-light);
    font-size: .9rem;
}


/* =========================================================
   PROGRAMMES PSIO
========================================================= */

.psio-programs-section {
    padding: 110px 0;
    background-color: var(--color-background);
}

.psio-programs-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 26px;
    margin-top: 64px;
}

.psio-program-card {
    min-height: 360px;
    display: flex;
    flex-direction: column;
    padding: 36px;
    border: 1px solid var(--color-border);
    border-radius: var(--border-radius-large);
    background-color: var(--color-surface);
    transition:
        transform var(--transition-normal),
        box-shadow var(--transition-normal);
}

.psio-program-card:hover {
    transform: translateY(-8px);
    box-shadow: var(--shadow-soft);
}

.psio-program-number {
    margin-bottom: 30px;
    color: var(--color-accent);
    font-family: var(--font-title);
    font-size: 2.2rem;
}

.psio-program-category {
    align-self: flex-start;
    margin-bottom: 18px;
    padding: 8px 13px;
    border-radius: 999px;
    color: var(--color-primary-dark);
    font-size: 0.74rem;
    font-weight: 700;
    text-transform: uppercase;
    background-color: #efe8ec;
}

.psio-program-card h3 {
    margin-bottom: 18px;
    font-family: var(--font-title);
    font-size: 2rem;
    font-weight: 600;
    line-height: 1.05;
}

.psio-program-card > p:last-child {
    color: var(--color-text-light);
    line-height: 1.75;
}


/* =========================================================
   FAQ
========================================================= */

.faq-hero {
    position: relative;
    overflow: hidden;
    padding: 130px 0;
    color: #ffffff;
    background:
        radial-gradient(
            circle at 82% 18%,
            rgba(255, 255, 255, 0.18),
            transparent 28%
        ),
        linear-gradient(
            135deg,
            #4f354d,
            #7a5873
        );
}

.faq-hero-overlay {
    position: absolute;
    inset: 0;
    background:
        linear-gradient(
            rgba(0, 0, 0, 0.04),
            rgba(0, 0, 0, 0.3)
        );
}

.faq-hero-content {
    position: relative;
    z-index: 1;
    max-width: 820px;
}

.faq-hero h1 {
    margin: 22px 0;
    font-family: var(--font-title);
    font-size: clamp(4rem, 8vw, 7rem);
    font-weight: 600;
    line-height: 0.92;
    letter-spacing: -0.04em;
}

.faq-hero p:last-of-type {
    max-width: 650px;
    color: rgba(255, 255, 255, 0.82);
    line-height: 1.85;
}

.faq-hero-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 18px;
    margin-top: 42px;
}

.faq-intro-section,
.faq-content-section,
.faq-contact-section {
    padding: 110px 0;
}

.faq-intro-section,
.faq-contact-section {
    background-color: var(--color-surface);
}

.faq-content-section {
    background-color: var(--color-background);
}

.faq-layout {
    display: grid;
    grid-template-columns: 280px minmax(0, 1fr);
    align-items: start;
    gap: 70px;
}

.faq-categories {
    position: sticky;
    top: calc(var(--header-height) + 30px);
    padding: 30px;
    border: 1px solid var(--color-border);
    border-radius: var(--border-radius-large);
    background-color: var(--color-surface);
    box-shadow: var(--shadow-soft);
}

.faq-categories nav {
    display: grid;
    gap: 8px;
    margin-top: 24px;
}

.faq-categories a {
    padding: 13px 15px;
    border-radius: var(--border-radius-small);
    color: var(--color-text-light);
    font-weight: 600;
    transition:
        color var(--transition-fast),
        background-color var(--transition-fast);
}

.faq-categories a:hover,
.faq-categories a.active {
    color: var(--color-primary-dark);
    background-color: var(--color-background);
}

.faq-groups {
    display: grid;
    gap: 80px;
}

.faq-group {
    scroll-margin-top: calc(var(--header-height) + 35px);
}

.faq-group-heading {
    display: flex;
    align-items: flex-start;
    gap: 24px;
    margin-bottom: 34px;
}

.faq-group-heading > span {
    width: 64px;
    height: 64px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    border-radius: 50%;
    color: #ffffff;
    font-family: var(--font-title);
    font-size: 1.45rem;
    background-color: var(--color-primary);
}

.faq-group-heading h2 {
    margin-top: 8px;
    font-family: var(--font-title);
    font-size: clamp(2.3rem, 4vw, 3.7rem);
    font-weight: 600;
    line-height: 1;
}

.faq-accordion {
    display: grid;
    gap: 14px;
}

.faq-accordion details {
    overflow: hidden;
    border: 1px solid var(--color-border);
    border-radius: var(--border-radius-medium);
    background-color: var(--color-surface);
    transition:
        border-color var(--transition-fast),
        box-shadow var(--transition-fast);
}

.faq-accordion details[open] {
    border-color: rgba(114, 80, 111, 0.34);
    box-shadow: var(--shadow-soft);
}

.faq-accordion summary {
    position: relative;
    padding: 25px 64px 25px 26px;
    color: var(--color-primary-dark);
    font-family: var(--font-title);
    font-size: 1.4rem;
    font-weight: 600;
    cursor: pointer;
    list-style: none;
}

.faq-accordion summary::-webkit-details-marker {
    display: none;
}

.faq-accordion summary::after {
    position: absolute;
    top: 50%;
    right: 26px;
    content: "+";
    color: var(--color-primary);
    font-family: var(--font-title);
    font-size: 1.8rem;
    transform: translateY(-50%);
}

.faq-accordion details[open] summary::after {
    content: "−";
}

.faq-accordion details p {
    padding: 0 26px 26px;
    color: var(--color-text-light);
    line-height: 1.8;
}

.faq-contact-card {
    display: grid;
    grid-template-columns: minmax(0, 1.1fr) minmax(280px, 0.9fr);
    align-items: center;
    gap: 70px;
    padding: 60px;
    border-radius: var(--border-radius-large);
    color: #ffffff;
    background:
        radial-gradient(
            circle at 85% 15%,
            rgba(255, 255, 255, 0.14),
            transparent 28%
        ),
        linear-gradient(
            135deg,
            var(--color-primary-dark),
            var(--color-primary)
        );
    box-shadow: var(--shadow-soft);
}

.faq-contact-card h2 {
    margin: 18px 0;
    font-family: var(--font-title);
    font-size: clamp(2.8rem, 5vw, 4.8rem);
    font-weight: 600;
    line-height: 0.98;
}

.faq-contact-card > div:first-child > p:last-child {
    color: rgba(255, 255, 255, 0.82);
    line-height: 1.8;
}

.faq-contact-actions {
    display: flex;
    flex-direction: column;
    gap: 15px;
}

.faq-contact-card .button-primary {
    color: var(--color-primary-dark);
    background-color: #ffffff;
}

.faq-contact-card .button-secondary {
    color: #ffffff;
    border-color: rgba(255, 255, 255, 0.65);
    background-color: transparent;
}


/* =========================================================
   CONTACT
========================================================= */

.contact-hero {
    position: relative;
    overflow: hidden;
    padding: 130px 0;
    color: #ffffff;
    background:
        radial-gradient(
            circle at 82% 18%,
            rgba(255, 255, 255, 0.18),
            transparent 28%
        ),
        linear-gradient(
            135deg,
            #4f354d,
            #7a5873
        );
}

.contact-hero-overlay {
    position: absolute;
    inset: 0;
    background:
        linear-gradient(
            rgba(0, 0, 0, 0.04),
            rgba(0, 0, 0, 0.3)
        );
}

.contact-hero-grid {
    position: relative;
    z-index: 1;
    display: grid;
    grid-template-columns: minmax(0, 1.1fr) minmax(0, 0.9fr);
    align-items: center;
    gap: 80px;
}

.contact-hero h1 {
    margin: 22px 0;
    font-family: var(--font-title);
    font-size: clamp(4rem, 8vw, 7rem);
    font-weight: 600;
    line-height: 0.92;
    letter-spacing: -0.04em;
}

.contact-hero p:last-of-type {
    max-width: 650px;
    color: rgba(255, 255, 255, 0.82);
    line-height: 1.85;
}

.contact-buttons {
    display: flex;
    flex-wrap: wrap;
    gap: 18px;
    margin-top: 42px;
}

.contact-image-placeholder {
    min-height: 560px;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 30px;
    border: 1px solid rgba(255, 255, 255, 0.18);
    border-radius: var(--border-radius-large);
    color: rgba(255, 255, 255, 0.72);
    text-align: center;
    background-color: rgba(255, 255, 255, 0.08);
    backdrop-filter: blur(10px);
}

.contact-information,
.contact-form-section,
.contact-practical-section,
.contact-social-section,
.contact-faq-section {
    padding: 110px 0;
}

.contact-information,
.contact-practical-section,
.contact-faq-section {
    background-color: var(--color-surface);
}

.contact-form-section,
.contact-social-section {
    background-color: var(--color-background);
}

.contact-cards {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 24px;
    margin-top: 60px;
}

.contact-cards article {
    min-height: 260px;
    padding: 34px;
    border: 1px solid var(--color-border);
    border-radius: var(--border-radius-medium);
    background-color: var(--color-background);
}

.contact-cards article > span {
    display: block;
    margin-bottom: 28px;
    font-size: 2rem;
}

.contact-cards h3 {
    margin-bottom: 14px;
    font-family: var(--font-title);
    font-size: 1.8rem;
}

.contact-cards p {
    color: var(--color-text-light);
    line-height: 1.75;
}

.contact-grid {
    display: grid;
    grid-template-columns: minmax(0, 0.8fr) minmax(0, 1.2fr);
    align-items: start;
    gap: 80px;
}

.contact-grid > div:first-child h2,
.contact-practical-content h2,
.contact-social-grid h2,
.contact-faq-grid h2 {
    margin: 18px 0;
    font-family: var(--font-title);
    font-size: clamp(2.8rem, 5vw, 4.8rem);
    font-weight: 600;
    line-height: 0.98;
}

.contact-grid > div:first-child p:last-child,
.contact-practical-content > p:last-of-type,
.contact-social-grid > div:first-child > p:last-child,
.contact-faq-grid > div:first-child > p:last-child {
    color: var(--color-text-light);
    line-height: 1.85;
}

.contact-form {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 22px;
    padding: 42px;
    border: 1px solid var(--color-border);
    border-radius: var(--border-radius-large);
    background-color: var(--color-surface);
    box-shadow: var(--shadow-soft);
}

.form-group {
    display: grid;
    gap: 9px;
}

.form-group.full-width {
    grid-column: 1 / -1;
}

.form-group label {
    color: var(--color-primary-dark);
    font-size: 0.9rem;
    font-weight: 700;
}

.form-group input,
.form-group textarea,
.form-group select {
    width: 100%;
    padding: 15px 17px;
    border: 1px solid var(--color-border);
    border-radius: var(--border-radius-small);
    color: var(--color-text);
    background-color: var(--color-background);
    outline: none;
}

.form-group textarea {
    resize: vertical;
}

.form-group input:focus,
.form-group textarea:focus,
.form-group select:focus {
    border-color: var(--color-primary);
    box-shadow: 0 0 0 4px rgba(114, 80, 111, 0.1);
}

.contact-form > .button {
    grid-column: 1 / -1;
    justify-self: start;
}

.form-honeypot {
    position: absolute !important;
    left: -10000px !important;
    width: 1px !important;
    height: 1px !important;
    overflow: hidden !important;
}

.form-status {
    grid-column: 1 / -1;
    min-height: 24px;
    padding: 14px 16px;
    border-radius: var(--border-radius-small);
    line-height: 1.6;
}

.form-status:empty {
    display: none;
}

.form-status-pending {
    color: var(--color-primary-dark);
    background-color: var(--color-background);
}

.form-status-success {
    color: #195c37;
    border: 1px solid rgba(25, 92, 55, 0.2);
    background-color: rgba(25, 92, 55, 0.08);
}

.form-status-error {
    color: #8b2929;
    border: 1px solid rgba(139, 41, 41, 0.2);
    background-color: rgba(139, 41, 41, 0.08);
}

.contact-form button:disabled {
    cursor: wait;
    opacity: 0.65;
}

.contact-hero-panel {
    padding: 46px;
    border: 1px solid rgba(255, 255, 255, 0.18);
    border-radius: var(--border-radius-large);
    background-color: rgba(255, 255, 255, 0.09);
    backdrop-filter: blur(12px);
}

.contact-panel-label {
    margin-bottom: 18px;
    font-size: 0.78rem;
    font-weight: 700;
    letter-spacing: 0.14em;
    text-transform: uppercase;
}

.contact-hero-panel h2 {
    font-family: var(--font-title);
    font-size: clamp(2.4rem, 4vw, 4rem);
    font-weight: 600;
    line-height: 1;
}

.contact-hero-panel > p:not(.contact-panel-label) {
    margin-top: 22px;
    color: rgba(255, 255, 255, 0.78);
    line-height: 1.8;
}

.contact-panel-list {
    display: grid;
    gap: 12px;
    margin-top: 30px;
}

.contact-panel-list li {
    position: relative;
    padding-left: 24px;
    color: rgba(255, 255, 255, 0.9);
}

.contact-panel-list li::before {
    position: absolute;
    top: 0.52em;
    left: 0;
    width: 7px;
    height: 7px;
    content: "";
    border-radius: 50%;
    background-color: var(--color-accent);
}

.contact-cards article a {
    display: inline-block;
    margin-top: 20px;
    color: var(--color-primary);
    font-weight: 700;
}

.contact-form-reassurance {
    display: grid;
    gap: 16px;
    margin-top: 36px;
}

.contact-form-reassurance article {
    display: flex;
    align-items: flex-start;
    gap: 18px;
    padding: 20px;
    border: 1px solid var(--color-border);
    border-radius: var(--border-radius-medium);
    background-color: var(--color-surface);
}

.contact-form-reassurance article > span {
    color: var(--color-accent);
    font-family: var(--font-title);
    font-size: 1.5rem;
}

.contact-form-reassurance h3 {
    margin-bottom: 6px;
    font-family: var(--font-title);
    font-size: 1.3rem;
}

.contact-form-reassurance p {
    color: var(--color-text-light);
    font-size: 0.88rem;
    line-height: 1.65;
}

.form-consent {
    grid-column: 1 / -1;
    display: flex;
    align-items: flex-start;
    gap: 12px;
}

.form-consent input {
    width: 18px;
    height: 18px;
    flex: 0 0 auto;
    margin-top: 3px;
}

.form-consent label {
    color: var(--color-text-light);
    font-size: 0.84rem;
    line-height: 1.65;
}

.form-consent a {
    color: var(--color-primary);
    font-weight: 700;
    text-decoration: underline;
}

.contact-modalities-section {
    padding: 110px 0;
    background-color: var(--color-surface);
}

.contact-modalities-grid {
    display: grid;
    grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.1fr);
    align-items: start;
    gap: 80px;
}

.contact-modalities-grid > div:first-child h2 {
    margin: 18px 0;
    font-family: var(--font-title);
    font-size: clamp(2.8rem, 5vw, 4.8rem);
    font-weight: 600;
    line-height: 0.98;
}

.contact-modalities-grid > div:first-child > p:last-child {
    color: var(--color-text-light);
    line-height: 1.85;
}

.contact-modalities-list {
    display: grid;
    gap: 18px;
}

.contact-modalities-list article {
    display: flex;
    align-items: flex-start;
    gap: 20px;
    padding: 28px;
    border: 1px solid var(--color-border);
    border-radius: var(--border-radius-medium);
    background-color: var(--color-background);
}

.contact-modalities-list article > span {
    color: var(--color-accent);
    font-family: var(--font-title);
    font-size: 1.8rem;
}

.contact-modalities-list h3 {
    margin-bottom: 8px;
    font-family: var(--font-title);
    font-size: 1.5rem;
}

.contact-modalities-list p {
    color: var(--color-text-light);
    line-height: 1.7;
}

.contact-professional-section {
    padding: 110px 0;
    background-color: var(--color-background);
}

.contact-professional-card {
    display: grid;
    grid-template-columns: minmax(0, 1.15fr) minmax(280px, 0.85fr);
    align-items: center;
    gap: 70px;
    padding: 60px;
    border-radius: var(--border-radius-large);
    color: #ffffff;
    background:
        radial-gradient(
            circle at 84% 18%,
            rgba(255, 255, 255, 0.14),
            transparent 28%
        ),
        linear-gradient(
            135deg,
            var(--color-primary-dark),
            var(--color-primary)
        );
}

.contact-professional-card h2 {
    margin: 18px 0;
    font-family: var(--font-title);
    font-size: clamp(2.8rem, 5vw, 4.8rem);
    font-weight: 600;
    line-height: 0.98;
}

.contact-professional-card > div:first-child > p:last-child {
    color: rgba(255, 255, 255, 0.82);
    line-height: 1.8;
}

.contact-professional-actions {
    display: flex;
    flex-direction: column;
    gap: 15px;
}

.contact-professional-card .button-primary {
    color: var(--color-primary-dark);
    background-color: #ffffff;
}

.contact-professional-card .button-secondary {
    color: #ffffff;
    border-color: rgba(255, 255, 255, 0.65);
    background-color: transparent;
}


/* =========================================================
   PAGES LÉGALES
========================================================= */

.legal-hero {
    padding: 110px 0 90px;
    color: #ffffff;
    background:
        radial-gradient(
            circle at 84% 18%,
            rgba(255, 255, 255, 0.14),
            transparent 28%
        ),
        linear-gradient(
            135deg,
            var(--color-primary-dark),
            var(--color-primary)
        );
}

.legal-hero-content {
    max-width: 820px;
}

.legal-hero h1 {
    margin: 20px 0;
    font-family: var(--font-title);
    font-size: clamp(4rem, 8vw, 7rem);
    font-weight: 600;
    line-height: 0.92;
    letter-spacing: -0.04em;
}

.legal-hero p:last-child {
    max-width: 660px;
    color: rgba(255, 255, 255, 0.82);
    line-height: 1.85;
}

.legal-content-section {
    padding: 110px 0;
    background-color: var(--color-background);
}

.legal-layout {
    display: grid;
    grid-template-columns: 280px minmax(0, 1fr);
    align-items: start;
    gap: 70px;
}

.legal-navigation {
    position: sticky;
    top: calc(var(--header-height) + 30px);
    padding: 30px;
    border: 1px solid var(--color-border);
    border-radius: var(--border-radius-large);
    background-color: var(--color-surface);
    box-shadow: var(--shadow-soft);
}

.legal-navigation nav {
    display: grid;
    gap: 8px;
    margin-top: 24px;
}

.legal-navigation a {
    padding: 12px 14px;
    border-radius: var(--border-radius-small);
    color: var(--color-text-light);
    font-size: 0.9rem;
    font-weight: 600;
    transition:
        color var(--transition-fast),
        background-color var(--transition-fast);
}

.legal-navigation a:hover {
    color: var(--color-primary-dark);
    background-color: var(--color-background);
}

.legal-articles {
    display: grid;
    gap: 26px;
}

.legal-card,
.legal-update-card {
    scroll-margin-top: calc(var(--header-height) + 30px);
    padding: 42px;
    border: 1px solid var(--color-border);
    border-radius: var(--border-radius-large);
    background-color: var(--color-surface);
}

.legal-number {
    display: block;
    margin-bottom: 25px;
    color: var(--color-accent);
    font-family: var(--font-title);
    font-size: 2rem;
}

.legal-card h2 {
    margin-bottom: 22px;
    color: var(--color-primary-dark);
    font-family: var(--font-title);
    font-size: clamp(2rem, 4vw, 3.3rem);
    font-weight: 600;
    line-height: 1;
}

.legal-card > p {
    margin-bottom: 18px;
    color: var(--color-text-light);
    line-height: 1.85;
}

.legal-card > p:last-child {
    margin-bottom: 0;
}

.legal-card a {
    color: var(--color-primary);
    font-weight: 700;
    text-decoration: underline;
    text-underline-offset: 3px;
}

.legal-information-list {
    display: grid;
    gap: 1px;
    margin-top: 28px;
    overflow: hidden;
    border: 1px solid var(--color-border);
    border-radius: var(--border-radius-medium);
    background-color: var(--color-border);
}

.legal-information-list > div {
    display: grid;
    grid-template-columns: minmax(170px, 0.7fr) minmax(0, 1.3fr);
    gap: 25px;
    padding: 18px 20px;
    background-color: var(--color-background);
}

.legal-information-list dt {
    color: var(--color-primary-dark);
    font-weight: 700;
}

.legal-information-list dd {
    color: var(--color-text-light);
    line-height: 1.65;
}

.legal-to-complete {
    color: #8b2929 !important;
    font-weight: 700;
}

.legal-update-card {
    color: #ffffff;
    background:
        linear-gradient(
            135deg,
            var(--color-primary-dark),
            var(--color-primary)
        );
}

.legal-update-card p {
    margin-top: 14px;
    color: rgba(255, 255, 255, 0.82);
    line-height: 1.75;
}

.legal-bullet-list {
    display: grid;
    gap: 12px;
    margin: 22px 0;
    padding-left: 22px;
}

.legal-bullet-list li {
    color: var(--color-text-light);
    line-height: 1.75;
    list-style: disc;
}

.legal-bullet-list li::marker {
    color: var(--color-accent);
}

.legal-card time {
    font-weight: 700;
}

.cookie-table-wrapper {
    margin-top: 28px;
    overflow-x: auto;
    border: 1px solid var(--color-border);
    border-radius: var(--border-radius-medium);
}

.cookie-table {
    width: 100%;
    min-width: 680px;
    border-collapse: collapse;
    background-color: var(--color-background);
}

.cookie-table th,
.cookie-table td {
    padding: 18px 20px;
    border-bottom: 1px solid var(--color-border);
    text-align: left;
    vertical-align: top;
}

.cookie-table th {
    color: var(--color-primary-dark);
    font-size: 0.84rem;
    letter-spacing: 0.05em;
    text-transform: uppercase;
    background-color: var(--color-surface);
}

.cookie-table td {
    color: var(--color-text-light);
    line-height: 1.65;
}

.cookie-table tbody tr:last-child td {
    border-bottom: 0;
}


/* =========================================================
   CONTACT FINAL
========================================================= */

.contact-hero-final {
    padding: 110px 0;
}

.contact-hero-final .contact-hero-grid {
    gap: 60px;
}

.contact-hero-final .contact-hero-content {
    max-width: 700px;
}

.contact-hero-final .contact-hero-panel {
    min-height: 460px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding: 48px;
}

.contact-information-final {
    padding: 90px 0;
}

.contact-cards-final {
    margin-top: 50px;
}

.contact-cards-final article {
    min-height: 300px;
    display: flex;
    flex-direction: column;
}

.contact-cards-final article > span {
    color: var(--color-accent);
    font-family: var(--font-title);
    font-size: 2rem;
}

.contact-cards-final article a {
    margin-top: auto;
}

.contact-form-section-final {
    padding: 100px 0;
}

.contact-grid-final {
    gap: 60px;
}

.contact-form-final {
    position: relative;
    gap: 22px;
    padding: 38px;
}

.contact-form-final input,
.contact-form-final textarea,
.contact-form-final select {
    min-height: 52px;
}

.contact-form-final textarea {
    min-height: 180px;
}

.contact-form-final .button {
    margin-top: 4px;
}

.contact-steps-section {
    padding: 100px 0;
    background-color: var(--color-surface);
}

.contact-steps-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 24px;
    margin-top: 55px;
}

.contact-steps-grid article {
    min-height: 290px;
    padding: 34px;
    border: 1px solid var(--color-border);
    border-radius: var(--border-radius-large);
    background-color: var(--color-background);
}

.contact-steps-grid article > span {
    display: block;
    margin-bottom: 28px;
    color: var(--color-accent);
    font-family: var(--font-title);
    font-size: 2rem;
}

.contact-steps-grid h3 {
    margin-bottom: 14px;
    font-family: var(--font-title);
    font-size: 1.8rem;
    line-height: 1.05;
}

.contact-steps-grid p {
    color: var(--color-text-light);
    line-height: 1.75;
}

.contact-professional-final {
    padding: 100px 0;
}

.contact-faq-final {
    padding: 100px 0;
}

.contact-cta-final {
    margin-top: 0;
}

.contact-form-final .form-status,
.contact-form-final .form-consent {
    grid-column: 1 / -1;
}

.contact-form-final .form-honeypot {
    position: absolute !important;
    left: -10000px !important;
    width: 1px !important;
    height: 1px !important;
    overflow: hidden !important;
}


/* =========================================================
   PAGE 404
========================================================= */

.error-main {
    min-height: calc(100vh - var(--header-height));
}

.error-section {
    position: relative;
    min-height: calc(100vh - var(--header-height));
    display: flex;
    align-items: center;
    overflow: hidden;
    padding: 110px 0;
    color: #ffffff;
    text-align: center;
    background:
        radial-gradient(
            circle at 18% 20%,
            rgba(255, 255, 255, 0.12),
            transparent 26%
        ),
        linear-gradient(
            135deg,
            var(--color-primary-dark),
            var(--color-primary)
        );
}

.error-content {
    position: relative;
    z-index: 2;
    max-width: 920px;
}

.error-code {
    margin-bottom: 20px;
    color: rgba(255, 255, 255, 0.13);
    font-family: var(--font-title);
    font-size: clamp(10rem, 28vw, 22rem);
    font-weight: 700;
    line-height: 0.62;
    letter-spacing: -0.08em;
}

.error-content h1 {
    max-width: 850px;
    margin: 22px auto;
    font-family: var(--font-title);
    font-size: clamp(3.5rem, 7vw, 6.5rem);
    font-weight: 600;
    line-height: 0.95;
    letter-spacing: -0.04em;
}

.error-introduction {
    max-width: 620px;
    margin: 0 auto;
    color: rgba(255, 255, 255, 0.8);
    line-height: 1.85;
}

.error-actions {
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    gap: 18px;
    margin-top: 42px;
}

.error-help {
    max-width: 720px;
    margin: 60px auto 0;
    padding: 28px;
    border: 1px solid rgba(255, 255, 255, 0.16);
    border-radius: var(--border-radius-large);
    background-color: rgba(255, 255, 255, 0.08);
    backdrop-filter: blur(10px);
}

.error-help > p {
    margin-bottom: 18px;
    font-family: var(--font-title);
    font-size: 1.5rem;
}

.error-help nav {
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    gap: 12px 24px;
}

.error-help a {
    color: rgba(255, 255, 255, 0.82);
    font-weight: 600;
}

.error-help a:hover {
    color: #ffffff;
}

.error-decoration {
    position: absolute;
    border-radius: 50%;
    border: 1px solid rgba(255, 255, 255, 0.08);
}

.error-decoration-one {
    top: -180px;
    right: -150px;
    width: 520px;
    height: 520px;
}

.error-decoration-two {
    bottom: -220px;
    left: -180px;
    width: 600px;
    height: 600px;
}



/* =========================================================

   LUMINOTHÉRAPIE PSIO

   VERSION PROPRE ET COMPACTE

========================================================= */





/* =========================================================

   HERO PSIO

========================================================= */



.psio-hero {

    position: relative;

    overflow: hidden;

    padding: 90px 0;

    color: #ffffff;



    background:

        radial-gradient(

            circle at 82% 18%,

            rgba(255, 255, 255, 0.16),

            transparent 30%

        ),

        linear-gradient(

            135deg,

            #684968,

            #9b75a0

        );

}





.psio-hero .service-hero-grid {

    position: relative;

    z-index: 2;



    display: grid;

    grid-template-columns:

        minmax(0, 0.9fr)

        minmax(420px, 1.1fr);



    align-items: center;



    gap: 70px;

}





.psio-hero .service-hero-content {

    max-width: 680px;

}





.psio-hero .page-hero-eyebrow {

    color: rgba(255, 255, 255, 0.72);



    font-size: 0.76rem;

    font-weight: 700;



    letter-spacing: 0.15em;

    text-transform: uppercase;

}





.psio-hero h1 {

    margin: 18px 0 26px;



    font-family: var(--font-title);



    font-size: clamp(3.8rem, 6vw, 6.5rem);

    font-weight: 600;



    line-height: 0.92;

    letter-spacing: -0.045em;

}





.psio-hero h1 em {

    color: #ead9ea;



    font-weight: 500;

    font-style: italic;

}





.psio-hero .service-hero-content > p:last-of-type {

    max-width: 590px;



    color: rgba(255, 255, 255, 0.82);



    font-size: 1rem;

    line-height: 1.8;

}





.psio-hero .service-buttons {

    display: flex;

    flex-wrap: wrap;



    gap: 14px;



    margin-top: 34px;

}





/* IMAGE HERO */



.psio-hero .service-image-real {

    min-height: 520px;



    padding: 0;



    overflow: hidden;



    border: 1px solid rgba(255, 255, 255, 0.18);

    border-radius: 32px 120px 32px 120px;



    background: rgba(255, 255, 255, 0.08);



    box-shadow:

        0 30px 70px rgba(45, 28, 44, 0.16);

}





.psio-hero .service-image-real img {

    width: 100%;

    height: 520px;

    min-height: 0;



    display: block;



    object-fit: cover;

    object-position: center;

}





/* =========================================================

   PRÉSENTATION / EXPLICATION

========================================================= */



.service-explanation-grid {

    display: grid;



    grid-template-columns:

        minmax(0, 0.8fr)

        minmax(0, 1.2fr);



    align-items: start;



    gap: 80px;

}





.service-introduction {

    padding: 90px 0;



    background: var(--color-surface);

}





.service-explanation-grid h2 {

    margin-top: 16px;



    color: var(--color-primary-dark);



    font-family: var(--font-title);



    font-size: clamp(3rem, 5vw, 4.8rem);

    font-weight: 600;



    line-height: 0.96;

    letter-spacing: -0.035em;

}





.service-explanation-grid h2 em {

    color: var(--color-primary);



    font-weight: 500;

    font-style: italic;

}





.service-explanation-text {

    display: grid;



    gap: 18px;

}





.service-explanation-text p {

    color: var(--color-text-light);



    font-size: 0.98rem;

    line-height: 1.85;

}





/* =========================================================

   BIENFAITS

========================================================= */



.psio-benefits-section {

    padding: 90px 0;



    background: var(--color-background);

}





.benefits-grid-clean {

    display: grid;



    grid-template-columns:

        repeat(2, minmax(0, 1fr));



    gap: 0 55px;



    margin-top: 55px;

}





.benefits-grid-clean article {

    padding: 30px 0;



    border: 0;

    border-bottom: 1px solid var(--color-border);



    border-radius: 0;



    background: transparent;



    box-shadow: none;



    transition: none;

}





.benefits-grid-clean article:hover {

    transform: none;



    box-shadow: none;

}





.benefits-grid-clean h3 {

    margin-bottom: 12px;



    color: var(--color-primary-dark);



    font-family: var(--font-title);



    font-size: 1.8rem;

    font-weight: 600;

}





.benefits-grid-clean p {

    max-width: 480px;



    color: var(--color-text-light);



    line-height: 1.75;

}





/* =========================================================

   DÉROULEMENT

========================================================= */



.session-section {

    padding: 90px 0;



    background: var(--color-surface);

}





.session-grid-clean {

    display: grid;



    grid-template-columns:

        minmax(0, 0.85fr)

        minmax(0, 1.15fr);



    align-items: start;



    gap: 85px;

}





.session-grid-clean > div:first-child {

    position: sticky;



    top: calc(var(--header-height) + 40px);

}





.session-grid-clean h2 {

    margin: 18px 0 24px;



    color: var(--color-primary-dark);



    font-family: var(--font-title);



    font-size: clamp(3rem, 5vw, 4.8rem);



    font-weight: 600;



    line-height: 0.96;

    letter-spacing: -0.035em;

}





.session-grid-clean h2 em {

    color: var(--color-primary);



    font-weight: 500;

    font-style: italic;

}





.session-grid-clean > div:first-child > p:not(.section-eyebrow) {

    margin-bottom: 18px;



    color: var(--color-text-light);



    line-height: 1.8;

}





/* ÉTAPES SANS NUMÉROS */



.session-steps-clean {

    display: grid;



    gap: 0;

}





.session-steps-clean article {

    padding: 26px 0;



    border: 0;

    border-bottom: 1px solid var(--color-border);



    border-radius: 0;



    background: transparent;

}





.session-steps-clean article:first-child {

    padding-top: 0;

}





.session-steps-clean h3 {

    margin-bottom: 10px;



    color: var(--color-primary-dark);



    font-family: var(--font-title);



    font-size: 1.65rem;

    font-weight: 600;

}





.session-steps-clean p {

    color: var(--color-text-light);



    line-height: 1.75;

}





/* =========================================================

   PROGRAMMES PSIO

========================================================= */



.psio-program-preview-section {

    padding: 90px 0;



    background:

        linear-gradient(

            180deg,

            var(--color-background),

            #f4ecef

        );

}





.psio-program-preview-grid {

    display: grid;



    grid-template-columns:

        minmax(0, 1fr)

        minmax(0, 0.9fr);



    align-items: center;



    gap: 85px;

}





.psio-program-preview-grid h2 {

    margin: 18px 0 24px;



    color: var(--color-primary-dark);



    font-family: var(--font-title);



    font-size: clamp(3rem, 5vw, 4.8rem);

    font-weight: 600;



    line-height: 0.96;

    letter-spacing: -0.035em;

}





.psio-program-preview-grid h2 em {

    color: var(--color-primary);



    font-weight: 500;

    font-style: italic;

}





.psio-program-preview-grid > div:first-child > p:not(.section-eyebrow) {

    margin-bottom: 18px;



    color: var(--color-text-light);



    line-height: 1.8;

}





.psio-program-preview-grid .button {

    margin-top: 15px;

}





.psio-program-list {

    display: grid;



    gap: 0;



    border-top: 1px solid var(--color-border);

}





.psio-program-list p {

    position: relative;



    margin: 0;



    padding: 20px 0 20px 28px;



    border-bottom: 1px solid var(--color-border);



    color: var(--color-primary-dark);



    font-family: var(--font-title);



    font-size: 1.45rem;

}





.psio-program-list p::before {

    position: absolute;



    top: 50%;

    left: 0;



    width: 7px;

    height: 7px;



    content: "";



    border-radius: 50%;



    background: var(--color-accent);



    transform: translateY(-50%);

}





/* =========================================================

   PRÉCAUTIONS

========================================================= */



.precautions-section {

    padding: 85px 0;



    background: var(--color-background);

}





.precautions-layout {

    display: grid;



    grid-template-columns:

        minmax(0, 0.7fr)

        minmax(0, 1.3fr);



    align-items: start;



    gap: 80px;

}





.precautions-layout h2 {

    margin-top: 16px;



    color: var(--color-primary-dark);



    font-family: var(--font-title);



    font-size: clamp(2.8rem, 5vw, 4.6rem);



    font-weight: 600;



    line-height: 0.96;

}





.precautions-layout h2 em {

    color: var(--color-primary);



    font-weight: 500;

    font-style: italic;

}





.precautions-card {

    max-width: none;



    margin: 0;

    padding: 0;



    border: 0;

    border-radius: 0;



    background: transparent;



    box-shadow: none;

}





.precautions-card p {

    margin: 0;



    padding: 18px 0;



    border-bottom: 1px solid var(--color-border);



    color: var(--color-text-light);



    line-height: 1.8;

}





.precautions-card p:first-child {

    padding-top: 0;

}





/* =========================================================

   FAQ

========================================================= */



.service-faq {

    padding: 90px 0;



    background: var(--color-surface);

}





.service-faq .section-heading {

    margin-bottom: 50px;

}





.service-faq .section-heading h2 em {

    color: var(--color-primary);



    font-weight: 500;

    font-style: italic;

}





.faq-list {

    max-width: 900px;



    margin: 0 auto;



    display: grid;



    gap: 12px;

}





.faq-list details {

    overflow: hidden;



    border: 0;

    border-bottom: 1px solid var(--color-border);



    border-radius: 0;



    background: transparent;

}





.faq-list summary {

    position: relative;



    padding: 22px 42px 22px 0;



    color: var(--color-primary-dark);



    font-family: var(--font-title);



    font-size: 1.45rem;

    font-weight: 600;



    cursor: pointer;



    list-style: none;

}





.faq-list summary::-webkit-details-marker {

    display: none;

}





.faq-list summary::after {

    position: absolute;



    top: 50%;

    right: 3px;



    content: "+";



    color: var(--color-primary);



    font-family: var(--font-title);



    font-size: 1.8rem;



    transform: translateY(-50%);

}





.faq-list details[open] summary::after {

    content: "−";

}





.faq-list details p {

    max-width: 760px;



    padding: 0 0 22px;



    color: var(--color-text-light);



    line-height: 1.8;

}





/* =========================================================

   CTA FINAL

========================================================= */



.service-cta {

    position: relative;



    overflow: hidden;



    padding: 80px 0;



    color: #ffffff;



    background:

        radial-gradient(

            circle at 82% 20%,

            rgba(255, 255, 255, 0.12),

            transparent 30%

        ),

        linear-gradient(

            135deg,

            var(--color-primary-dark),

            #76536f

        );

}





.service-cta-content {

    display: flex;



    align-items: center;

    justify-content: space-between;



    gap: 70px;

}





.service-cta-content > div:first-child {

    max-width: 760px;

}





.service-cta .section-eyebrow {

    color: rgba(255, 255, 255, 0.7);

}





.service-cta h2 {

    margin: 16px 0 20px;



    font-family: var(--font-title);



    font-size: clamp(3rem, 5vw, 5rem);



    font-weight: 600;



    line-height: 0.96;

}





.service-cta h2 em {

    color: #ead5e3;



    font-weight: 500;

    font-style: italic;

}





.service-cta-content > div:first-child > p:last-child {

     max-width: 580px;



    color: rgba(255, 255, 255, 0.8);



    line-height: 1.8;

}





.service-cta-buttons {

    display: flex;

    flex-direction: column;



    gap: 12px;



    flex-shrink: 0;

}





.service-cta .button-primary {

    color: var(--color-primary-dark);



    background: #ffffff;

}





.service-cta .button-secondary {

    color: #ffffff;



    border-color: rgba(255, 255, 255, 0.55);



    background: transparent;

}





/* =========================================================

   RESPONSIVE PSIO

========================================================= */



@media (max-width: 1050px) {



    .psio-hero .service-hero-grid {

        grid-template-columns: 1fr 1fr;



        gap: 45px;

    }





    .service-explanation-grid,

    .session-grid-clean,

    .psio-program-preview-grid,

    .precautions-layout {

        gap: 55px;

    }



}





@media (max-width: 900px) {



    .psio-hero {

        padding: 75px 0;

    }





    .psio-hero .service-hero-grid,

    .service-explanation-grid,

    .session-grid-clean,

    .psio-program-preview-grid,

    .precautions-layout {

        grid-template-columns: 1fr;

    }





    .psio-hero .service-image-real {

        min-height: 420px;

    }





    .psio-hero .service-image-real img {

        height: 420px;

    }





    .session-grid-clean > div:first-child {

        position: static;

    }





    .benefits-grid-clean {

        grid-template-columns: 1fr;



        gap: 0;

    }





    .service-cta-content {

        flex-direction: column;



        align-items: flex-start;

    }





    .service-cta-buttons {

        width: 100%;



        flex-direction: row;

        flex-wrap: wrap;

    }



}





@media (max-width: 700px) {



    .psio-hero,

    .service-introduction,

    .psio-benefits-section,

    .session-section,

    .psio-program-preview-section,

    .precautions-section,

    .service-faq,

    .service-cta {

        padding: 68px 0;

    }





    .psio-hero h1 {

        font-size: clamp(3rem, 14vw, 4.6rem);

    }





    .psio-hero .service-image-real {

        min-height: 340px;



        border-radius: 24px 75px 24px 75px;

    }





    .psio-hero .service-image-real img {

        height: 340px;

    }





    .service-explanation-grid h2,

    .session-grid-clean h2,

    .psio-program-preview-grid h2,

    .precautions-layout h2 {

        font-size: clamp(2.7rem, 11vw, 4rem);

    }





    .benefits-grid-clean h3 {

        font-size: 1.6rem;

    }





    .service-cta-buttons {

        flex-direction: column;

    }





    .service-cta-buttons .button {

        width: 100%;

    }



}


/* =========================================================

   MASSAGE BIEN-ÊTRE

========================================================= */





/* =========================================================

   HERO

========================================================= */



.massage-hero {

    position: relative;

    overflow: hidden;



    padding: 90px 0;



    color: #ffffff;



    background:

        radial-gradient(

            circle at 82% 18%,

            rgba(255, 255, 255, 0.14),

            transparent 30%

        ),

        linear-gradient(

            135deg,

            #6a4b63,

            #a67d92

        );

}





.massage-hero .service-hero-grid {

    position: relative;

    z-index: 2;



    display: grid;



    grid-template-columns:

        minmax(0, 0.9fr)

        minmax(420px, 1.1fr);



    align-items: center;



    gap: 70px;

}





.massage-hero .service-hero-content {

    max-width: 680px;

}





.massage-hero .page-hero-eyebrow {

    color: rgba(255, 255, 255, 0.72);



    font-size: 0.76rem;

    font-weight: 700;



    letter-spacing: 0.15em;



    text-transform: uppercase;

}





.massage-hero h1 {

    margin: 18px 0 26px;



    font-family: var(--font-title);



    font-size: clamp(3.8rem, 6vw, 6.4rem);



    font-weight: 600;



    line-height: 0.92;



    letter-spacing: -0.045em;

}





.massage-hero h1 em {

    color: #edd9df;



    font-weight: 500;

    font-style: italic;

}





.massage-hero .service-hero-content > p:last-of-type {

    max-width: 590px;



    color: rgba(255, 255, 255, 0.82);



    line-height: 1.8;

}





.massage-hero .service-buttons {

    display: flex;

    flex-wrap: wrap;



    gap: 14px;



    margin-top: 34px;

}





.massage-hero .service-image-real {

    min-height: 520px;



    overflow: hidden;



    border: 1px solid rgba(255, 255, 255, 0.18);



    border-radius: 32px 120px 32px 120px;



    background: rgba(255, 255, 255, 0.08);



    box-shadow:

        0 30px 70px rgba(45, 28, 44, 0.16);

}





.massage-hero .service-image-real img {

    width: 100%;



    height: 520px;



    min-height: 0;



    display: block;



    object-fit: cover;



    object-position: center;

}





/* =========================================================

   PRÉSENTATION

========================================================= */



.massage-hero + .service-introduction {

    padding: 90px 0;

}





.massage-hero + .service-introduction

.service-explanation-grid {

    display: grid;



    grid-template-columns:

        minmax(0, 0.8fr)

        minmax(0, 1.2fr);



    gap: 80px;



    align-items: start;

}





/* =========================================================

   BIENFAITS

========================================================= */



.massage-benefits-section {

    padding: 88px 0;



    background: var(--color-background);

}





.massage-benefits-grid {

    display: grid;



    grid-template-columns:

        repeat(2, minmax(0, 1fr));



    gap: 0 60px;



    margin-top: 50px;

}





.massage-benefits-grid article {

    padding: 28px 0;



    border-bottom:

        1px solid var(--color-border);

}





.massage-benefits-grid h3 {

    margin-bottom: 12px;



    color: var(--color-primary-dark);



    font-family: var(--font-title);



    font-size: 1.8rem;



    font-weight: 600;



    line-height: 1.05;

}





.massage-benefits-grid p {

    max-width: 490px;



    color: var(--color-text-light);



    line-height: 1.75;

}





/* =========================================================

   DÉROULEMENT

========================================================= */



.massage-session-section {

    padding: 90px 0;



    background: var(--color-surface);

}





.massage-session-grid {

    display: grid;



    grid-template-columns:

        minmax(0, 0.85fr)

        minmax(0, 1.15fr);



    align-items: start;



    gap: 85px;

}





.massage-session-grid > div:first-child h2 {

    margin: 18px 0 24px;



    color: var(--color-primary-dark);



    font-family: var(--font-title);



    font-size: clamp(3rem, 5vw, 4.8rem);



    font-weight: 600;



    line-height: 0.96;



    letter-spacing: -0.035em;

}





.massage-session-grid h2 em {

    color: var(--color-primary);



    font-weight: 500;



    font-style: italic;

}





.massage-session-grid

> div:first-child

> p:not(.section-eyebrow) {

    margin-bottom: 18px;



    color: var(--color-text-light);



    line-height: 1.8;

}





.massage-session-text {

    display: grid;

}





.massage-session-text article {

    padding: 24px 0;



    border-bottom:

        1px solid var(--color-border);

}





.massage-session-text article:first-child {

    padding-top: 0;

}





.massage-session-text h3 {

    margin-bottom: 10px;



    color: var(--color-primary-dark);



    font-family: var(--font-title);



    font-size: 1.65rem;



    font-weight: 600;

}





.massage-session-text p {

    color: var(--color-text-light);



    line-height: 1.75;

}





/* =========================================================

   POUR QUI

========================================================= */



.massage-audience-section {

    padding: 85px 0;



    background:

        linear-gradient(

            180deg,

            var(--color-background),

            #f7efec

        );

}





.massage-audience-grid {

    display: grid;



    grid-template-columns:

        minmax(0, 0.8fr)

        minmax(0, 1.2fr);



    gap: 80px;



    align-items: start;

}





.massage-audience-grid h2 {

    margin-top: 18px;



    color: var(--color-primary-dark);



    font-family: var(--font-title);



    font-size: clamp(3rem, 5vw, 4.7rem);



    font-weight: 600;



    line-height: 0.96;

}





.massage-audience-grid h2 em {

    color: var(--color-primary);



    font-weight: 500;



    font-style: italic;

}





.massage-audience-text {

    display: grid;



    gap: 18px;

}





.massage-audience-text p {

    color: var(--color-text-light);



    line-height: 1.85;

}





/* =========================================================

   PRÉCAUTIONS

========================================================= */



.massage-hero ~ .precautions-section {

    padding: 82px 0;

}





.massage-hero ~ .precautions-section

.precautions-layout {

    display: grid;



    grid-template-columns:

        minmax(0, 0.7fr)

        minmax(0, 1.3fr);



    align-items: start;



    gap: 80px;

}





/* =========================================================

   FAQ

========================================================= */



.massage-hero ~ .service-faq {

    padding: 85px 0;



    background: var(--color-surface);

}





.massage-hero ~ .service-faq

.section-heading {

    margin-bottom: 45px;

}





/* =========================================================

   CTA

========================================================= */



.massage-hero ~ .service-cta {

    padding: 80px 0;

}





/* =========================================================

   RESPONSIVE

========================================================= */



@media (max-width: 1050px) {



    .massage-hero .service-hero-grid {

        grid-template-columns: 1fr 1fr;



        gap: 45px;

    }





    .massage-session-grid,

    .massage-audience-grid {

        gap: 55px;

    }



}





@media (max-width: 900px) {



    .massage-hero {

        padding: 75px 0;

    }





    .massage-hero .service-hero-grid,

    .massage-hero + .service-introduction

    .service-explanation-grid,

    .massage-session-grid,

    .massage-audience-grid,

    .massage-hero ~ .precautions-section

    .precautions-layout {

        grid-template-columns: 1fr;

    }





    .massage-hero .service-image-real {

        min-height: 420px;

    }





    .massage-hero .service-image-real img {

        height: 420px;

    }





    .massage-benefits-grid {

        grid-template-columns: 1fr;

    }



}





@media (max-width: 700px) {



    .massage-hero,

    .massage-hero + .service-introduction,

    .massage-benefits-section,

    .massage-session-section,

    .massage-audience-section,

    .massage-hero ~ .precautions-section,

    .massage-hero ~ .service-faq,

    .massage-hero ~ .service-cta {

        padding: 66px 0;

    }





    .massage-hero h1 {

        font-size:

            clamp(3rem, 14vw, 4.6rem);

    }





    .massage-hero .service-image-real {

        min-height: 340px;



        border-radius:

            24px 75px 24px 75px;

    }





    .massage-hero .service-image-real img {

        height: 340px;

    }





    .massage-benefits-grid h3,

    .massage-session-text h3 {

        font-size: 1.55rem;

    }



}



/* =========================================================

   DRAINAGE LYMPHATIQUE

========================================================= */





/* =========================================================

   HERO

========================================================= */



.drainage-hero {

    position: relative;

    overflow: hidden;



    padding: 90px 0;



    color: #ffffff;



    background:

        radial-gradient(

            circle at 82% 18%,

            rgba(255, 255, 255, 0.14),

            transparent 30%

        ),

        linear-gradient(

            135deg,

            #5f5365,

            #93829a

        );

}





.drainage-hero .service-hero-grid {

    position: relative;

    z-index: 2;



    display: grid;



    grid-template-columns:

        minmax(0, 0.9fr)

        minmax(420px, 1.1fr);



    align-items: center;



    gap: 70px;

}





.drainage-hero .service-hero-content {

    max-width: 680px;

}





.drainage-hero .page-hero-eyebrow {

    color: rgba(255, 255, 255, 0.72);



    font-size: 0.76rem;

    font-weight: 700;



    letter-spacing: 0.15em;



    text-transform: uppercase;

}





.drainage-hero h1 {

    margin: 18px 0 26px;



    font-family: var(--font-title);



    font-size: clamp(3.8rem, 6vw, 6.4rem);



    font-weight: 600;



    line-height: 0.92;



    letter-spacing: -0.045em;

}





.drainage-hero h1 em {

    color: #e3d9e6;



    font-weight: 500;

    font-style: italic;

}





.drainage-hero .service-hero-content > p:last-of-type {

    max-width: 590px;



    color: rgba(255, 255, 255, 0.82);



    line-height: 1.8;

}





.drainage-hero .service-buttons {

    display: flex;

    flex-wrap: wrap;



    gap: 14px;



    margin-top: 34px;

}





.drainage-hero .service-image-real {

    min-height: 520px;



    overflow: hidden;



    border: 1px solid rgba(255, 255, 255, 0.18);



    border-radius: 32px 120px 32px 120px;



    background: rgba(255, 255, 255, 0.08);



    box-shadow:

        0 30px 70px rgba(45, 28, 44, 0.16);

}





.drainage-hero .service-image-real img {

    width: 100%;



    height: 520px;



    min-height: 0;



    display: block;



    object-fit: cover;



    object-position: center;

}





/* =========================================================

   PRÉSENTATION

========================================================= */



.drainage-hero + .service-introduction {

    padding: 90px 0;



    background: var(--color-surface);

}





.drainage-hero + .service-introduction

.service-explanation-grid {

    display: grid;



    grid-template-columns:

        minmax(0, 0.8fr)

        minmax(0, 1.2fr);



    gap: 80px;



    align-items: start;

}





/* =========================================================

   BIENFAITS

========================================================= */



.drainage-benefits-section {

    padding: 88px 0;



    background: var(--color-background);

}





.drainage-benefits-grid {

    display: grid;



    grid-template-columns:

        repeat(2, minmax(0, 1fr));



    gap: 0 60px;



    margin-top: 50px;

}





.drainage-benefits-grid article {

    padding: 28px 0;



    border-bottom:

        1px solid var(--color-border);

}





.drainage-benefits-grid h3 {

    margin-bottom: 12px;



    color: var(--color-primary-dark);



    font-family: var(--font-title);



    font-size: 1.8rem;



    font-weight: 600;



    line-height: 1.05;

}





.drainage-benefits-grid p {

    max-width: 490px;



    color: var(--color-text-light);



    line-height: 1.75;

}





/* =========================================================

   DÉROULEMENT

========================================================= */



.drainage-session-section {

    padding: 90px 0;



    background: var(--color-surface);

}





.drainage-session-grid {

    display: grid;



    grid-template-columns:

        minmax(0, 0.85fr)

        minmax(0, 1.15fr);



    align-items: start;



    gap: 85px;

}





.drainage-session-grid > div:first-child h2 {

    margin: 18px 0 24px;



    color: var(--color-primary-dark);



    font-family: var(--font-title);



    font-size: clamp(3rem, 5vw, 4.8rem);



    font-weight: 600;



    line-height: 0.96;



    letter-spacing: -0.035em;

}





.drainage-session-grid h2 em {

    color: var(--color-primary);



    font-weight: 500;



    font-style: italic;

}





.drainage-session-grid

> div:first-child

> p:not(.section-eyebrow) {

    margin-bottom: 18px;



    color: var(--color-text-light);



    line-height: 1.8;

}





.drainage-session-text {

    display: grid;

}





.drainage-session-text article {

    padding: 24px 0;



    border-bottom:

        1px solid var(--color-border);

}





.drainage-session-text article:first-child {

    padding-top: 0;

}





.drainage-session-text h3 {

    margin-bottom: 10px;



    color: var(--color-primary-dark);



    font-family: var(--font-title);



    font-size: 1.65rem;



    font-weight: 600;

}





.drainage-session-text p {

    color: var(--color-text-light);



    line-height: 1.75;

}





/* =========================================================

   POUR QUI ?

========================================================= */



.drainage-audience-section {

    padding: 85px 0;



    background:

        linear-gradient(

            180deg,

            var(--color-background),

            #f3eeef

        );

}





.drainage-audience-grid {

    display: grid;



    grid-template-columns:

        minmax(0, 0.8fr)

        minmax(0, 1.2fr);



    gap: 80px;



    align-items: start;

}





.drainage-audience-grid h2 {

    margin-top: 18px;



    color: var(--color-primary-dark);



    font-family: var(--font-title);



    font-size: clamp(3rem, 5vw, 4.7rem);



    font-weight: 600;



    line-height: 0.96;

}





.drainage-audience-grid h2 em {

    color: var(--color-primary);



    font-weight: 500;



    font-style: italic;

}





.drainage-audience-text {

    display: grid;



    gap: 18px;

}





.drainage-audience-text p {

    color: var(--color-text-light);



    line-height: 1.85;

}





/* =========================================================

   PRÉCAUTIONS

========================================================= */



.drainage-hero ~ .precautions-section {

    padding: 82px 0;

}





.drainage-hero ~ .precautions-section

.precautions-layout {

    display: grid;



    grid-template-columns:

        minmax(0, 0.7fr)

        minmax(0, 1.3fr);



    align-items: start;



    gap: 80px;

}





/* =========================================================

   FAQ

========================================================= */



.drainage-hero ~ .service-faq {

    padding: 85px 0;



    background: var(--color-surface);

}





.drainage-hero ~ .service-faq

.section-heading {

    margin-bottom: 45px;

}





/* =========================================================

   CTA FINAL

========================================================= */



.drainage-hero ~ .service-cta {

    padding: 80px 0;

}





/* =========================================================

   RESPONSIVE

========================================================= */



@media (max-width: 1050px) {



    .drainage-hero .service-hero-grid {

        grid-template-columns: 1fr 1fr;



        gap: 45px;

    }





    .drainage-session-grid,

    .drainage-audience-grid {

        gap: 55px;

    }



}





@media (max-width: 900px) {



    .drainage-hero {

        padding: 75px 0;

    }





    .drainage-hero .service-hero-grid,

    .drainage-hero + .service-introduction

    .service-explanation-grid,

    .drainage-session-grid,

    .drainage-audience-grid,

    .drainage-hero ~ .precautions-section

    .precautions-layout {

        grid-template-columns: 1fr;

    }





    .drainage-hero .service-image-real {

        min-height: 420px;

    }





    .drainage-hero .service-image-real img {

        height: 420px;

    }





    .drainage-benefits-grid {

        grid-template-columns: 1fr;

    }



}





@media (max-width: 700px) {



    .drainage-hero,

    .drainage-hero + .service-introduction,

    .drainage-benefits-section,

    .drainage-session-section,

    .drainage-audience-section,

    .drainage-hero ~ .precautions-section,

    .drainage-hero ~ .service-faq,

    .drainage-hero ~ .service-cta {

        padding: 66px 0;

    }





    .drainage-hero h1 {

        font-size:

            clamp(3rem, 14vw, 4.6rem);

    }





    .drainage-hero .service-image-real {

        min-height: 340px;



        border-radius:

            24px 75px 24px 75px;

    }





    .drainage-hero .service-image-real img {

        height: 340px;

    }





    .drainage-benefits-grid h3,

    .drainage-session-text h3 {

        font-size: 1.55rem;

    }



}


/* =========================================================

   BEAUTÉ DES PIEDS

========================================================= */





/* =========================================================

   HERO

========================================================= */



.feet-care-hero {

    position: relative;

    overflow: hidden;



    padding: 90px 0;



    color: #ffffff;



    background:

        radial-gradient(

            circle at 82% 18%,

            rgba(255, 255, 255, 0.15),

            transparent 30%

        ),

        linear-gradient(

            135deg,

            #735463,

            #b08794

        );

}





.feet-care-hero .service-hero-grid {

    position: relative;

    z-index: 2;



    display: grid;



    grid-template-columns:

        minmax(0, 0.9fr)

        minmax(420px, 1.1fr);



    align-items: center;



    gap: 70px;

}





.feet-care-hero .service-hero-content {

    max-width: 680px;

}





.feet-care-hero .page-hero-eyebrow {

    color: rgba(255, 255, 255, 0.72);



    font-size: 0.76rem;

    font-weight: 700;



    letter-spacing: 0.15em;

    text-transform: uppercase;

}





.feet-care-hero h1 {

    margin: 18px 0 26px;



    font-family: var(--font-title);



    font-size: clamp(3.8rem, 6vw, 6.4rem);



    font-weight: 600;



    line-height: 0.92;

    letter-spacing: -0.045em;

}





.feet-care-hero h1 em {

    color: #f1dde3;



    font-weight: 500;

    font-style: italic;

}





.feet-care-hero .service-hero-content > p:last-of-type {

    max-width: 590px;



    color: rgba(255, 255, 255, 0.82);



    line-height: 1.8;

}





.feet-care-hero .service-buttons {

    display: flex;

    flex-wrap: wrap;



    gap: 14px;



    margin-top: 34px;

}





.feet-care-hero .service-image-real {

    min-height: 520px;



    overflow: hidden;



    border: 1px solid rgba(255, 255, 255, 0.18);



    border-radius: 32px 120px 32px 120px;



    background: rgba(255, 255, 255, 0.08);



    box-shadow:

        0 30px 70px rgba(45, 28, 44, 0.16);

}





.feet-care-hero .service-image-real img {

    width: 100%;



    height: 520px;

    min-height: 0;



    display: block;



    object-fit: cover;

    object-position: center;

}





/* =========================================================

   PRÉSENTATION

========================================================= */



.feet-care-hero + .service-introduction {

    padding: 90px 0;



    background: var(--color-surface);

}





.feet-care-hero + .service-introduction

.service-explanation-grid {

    display: grid;



    grid-template-columns:

        minmax(0, 0.8fr)

        minmax(0, 1.2fr);



    align-items: start;



    gap: 80px;

}





/* =========================================================

   CONTENU DU SOIN

========================================================= */



.feet-care-details-section {

    padding: 88px 0;



    background: var(--color-background);

}





.feet-care-details-grid {

    display: grid;



    grid-template-columns:

        repeat(2, minmax(0, 1fr));



    gap: 0 60px;



    margin-top: 50px;

}





.feet-care-details-grid article {

    padding: 28px 0;



    border-bottom: 1px solid var(--color-border);

}





.feet-care-details-grid h3 {

    margin-bottom: 12px;



    color: var(--color-primary-dark);



    font-family: var(--font-title);



    font-size: 1.8rem;

    font-weight: 600;



    line-height: 1.05;

}





.feet-care-details-grid p {

    max-width: 490px;



    color: var(--color-text-light);



    line-height: 1.75;

}





/* =========================================================

   DÉROULEMENT

========================================================= */



.feet-care-session-section {

    padding: 90px 0;



    background: var(--color-surface);

}





.feet-care-session-grid {

    display: grid;



    grid-template-columns:

        minmax(0, 0.85fr)

        minmax(0, 1.15fr);



    align-items: start;



    gap: 85px;

}





.feet-care-session-grid > div:first-child h2 {

    margin: 18px 0 24px;



    color: var(--color-primary-dark);



    font-family: var(--font-title);



    font-size: clamp(3rem, 5vw, 4.8rem);

    font-weight: 600;



    line-height: 0.96;

    letter-spacing: -0.035em;

}





.feet-care-session-grid h2 em {

    color: var(--color-primary);



    font-weight: 500;

    font-style: italic;

}





.feet-care-session-grid

> div:first-child

> p:not(.section-eyebrow) {

    margin-bottom: 18px;



    color: var(--color-text-light);



    line-height: 1.8;

}





.feet-care-session-text {

    display: grid;

}





.feet-care-session-text article {

    padding: 24px 0;



    border-bottom: 1px solid var(--color-border);

}





.feet-care-session-text article:first-child {

    padding-top: 0;

}





.feet-care-session-text h3 {

    margin-bottom: 10px;



    color: var(--color-primary-dark);



    font-family: var(--font-title);



    font-size: 1.65rem;

    font-weight: 600;

}





.feet-care-session-text p {

    color: var(--color-text-light);



    line-height: 1.75;

}





/* =========================================================

   CONFORT & ESTHÉTIQUE

========================================================= */



.feet-care-comfort-section {

    padding: 85px 0;



    background:

        linear-gradient(

            180deg,

            var(--color-background),

            #f7efef

        );

}





.feet-care-comfort-grid {

    display: grid;



    grid-template-columns:

        minmax(0, 0.8fr)

        minmax(0, 1.2fr);



    align-items: start;



    gap: 80px;

}





.feet-care-comfort-grid h2 {

    margin-top: 18px;



    color: var(--color-primary-dark);



    font-family: var(--font-title);



    font-size: clamp(3rem, 5vw, 4.7rem);

    font-weight: 600;



    line-height: 0.96;

}





.feet-care-comfort-grid h2 em {

    color: var(--color-primary);



    font-weight: 500;

    font-style: italic;

}





.feet-care-comfort-text {

    display: grid;



    gap: 18px;

}





.feet-care-comfort-text p {

    color: var(--color-text-light);



    line-height: 1.85;

}





/* =========================================================

   PRÉCAUTIONS

========================================================= */



.feet-care-hero ~ .precautions-section {

    padding: 82px 0;

}





.feet-care-hero ~ .precautions-section

.precautions-layout {

    display: grid;



    grid-template-columns:

        minmax(0, 0.7fr)

        minmax(0, 1.3fr);



    align-items: start;



    gap: 80px;

}





/* =========================================================

   FAQ

========================================================= */



.feet-care-hero ~ .service-faq {

    padding: 85px 0;



    background: var(--color-surface);

}





.feet-care-hero ~ .service-faq

.section-heading {

    margin-bottom: 45px;

}





/* =========================================================

   CTA FINAL

========================================================= */



.feet-care-hero ~ .service-cta {

    padding: 80px 0;

}





/* =========================================================

   RESPONSIVE

========================================================= */



@media (max-width: 1050px) {



    .feet-care-hero .service-hero-grid {

        grid-template-columns: 1fr 1fr;



        gap: 45px;

    }





    .feet-care-session-grid,

    .feet-care-comfort-grid {

        gap: 55px;

    }



}





@media (max-width: 900px) {



    .feet-care-hero {

        padding: 75px 0;

    }





    .feet-care-hero .service-hero-grid,

    .feet-care-hero + .service-introduction

    .service-explanation-grid,

    .feet-care-session-grid,

    .feet-care-comfort-grid,

    .feet-care-hero ~ .precautions-section

    .precautions-layout {

        grid-template-columns: 1fr;

    }





    .feet-care-hero .service-image-real {

        min-height: 420px;

    }





    .feet-care-hero .service-image-real img {

        height: 420px;

    }





    .feet-care-details-grid {

        grid-template-columns: 1fr;

    }



}





@media (max-width: 700px) {



    .feet-care-hero,

    .feet-care-hero + .service-introduction,

    .feet-care-details-section,

    .feet-care-session-section,

    .feet-care-comfort-section,

    .feet-care-hero ~ .precautions-section,

    .feet-care-hero ~ .service-faq,

    .feet-care-hero ~ .service-cta {

        padding: 66px 0;

    }





    .feet-care-hero h1 {

        font-size:

            clamp(3rem, 14vw, 4.6rem);

    }





    .feet-care-hero .service-image-real {

        min-height: 340px;



        border-radius:

            24px 75px 24px 75px;

    }





    .feet-care-hero .service-image-real img {

        height: 340px;

    }





    .feet-care-details-grid h3,

    .feet-care-session-text h3 {

        font-size: 1.55rem;

    }



}



/* =========================================================

   PROGRAMMES PSIO

========================================================= */





/* =========================================================

   HERO

========================================================= */



.psio-programs-hero {

    position: relative;

    overflow: hidden;



    padding: 90px 0;



    color: #ffffff;



    background:

        radial-gradient(

            circle at 82% 18%,

            rgba(255, 255, 255, 0.15),

            transparent 30%

        ),

        linear-gradient(

            135deg,

            #66506d,

            #977da2

        );

}





.psio-programs-hero .service-hero-grid {

    position: relative;

    z-index: 2;



    display: grid;



    grid-template-columns:

        minmax(0, 0.9fr)

        minmax(420px, 1.1fr);



    align-items: center;



    gap: 70px;

}





.psio-programs-hero .service-hero-content {

    max-width: 680px;

}





.psio-programs-hero .page-hero-eyebrow {

    color: rgba(255, 255, 255, 0.72);



    font-size: 0.76rem;

    font-weight: 700;



    letter-spacing: 0.15em;

    text-transform: uppercase;

}





.psio-programs-hero h1 {

    margin: 18px 0 26px;



    font-family: var(--font-title);



    font-size: clamp(3.8rem, 6vw, 6.4rem);

    font-weight: 600;



    line-height: 0.92;

    letter-spacing: -0.045em;

}





.psio-programs-hero h1 em {

    color: #eadced;



    font-weight: 500;

    font-style: italic;

}





.psio-programs-hero

.service-hero-content > p:last-of-type {

    max-width: 590px;



    color: rgba(255, 255, 255, 0.82);



    line-height: 1.8;

}





.psio-programs-hero .service-buttons {

    display: flex;

    flex-wrap: wrap;



    gap: 14px;



    margin-top: 34px;

}





.psio-programs-hero .service-image-real {

    min-height: 520px;



    overflow: hidden;



    border: 1px solid rgba(255, 255, 255, 0.18);



    border-radius: 32px 120px 32px 120px;



    background: rgba(255, 255, 255, 0.08);



    box-shadow:

        0 30px 70px rgba(45, 28, 44, 0.16);

}





.psio-programs-hero .service-image-real img {

    width: 100%;



    height: 520px;

    min-height: 0;



    display: block;



    object-fit: cover;

    object-position: center;

}





/* =========================================================

   INTRODUCTION

========================================================= */



.psio-programs-intro-section {

    padding: 88px 0;



    background: var(--color-surface);

}





.psio-programs-intro-grid {

    display: grid;



    grid-template-columns:

        minmax(0, 0.8fr)

        minmax(0, 1.2fr);



    align-items: start;



    gap: 80px;

}





.psio-programs-intro-grid h2 {

    margin-top: 18px;



    color: var(--color-primary-dark);



    font-family: var(--font-title);



    font-size: clamp(3rem, 5vw, 4.8rem);

    font-weight: 600;



    line-height: 0.96;

    letter-spacing: -0.035em;

}





.psio-programs-intro-grid h2 em {

    color: var(--color-primary);



    font-weight: 500;

    font-style: italic;

}





.psio-programs-intro-text {

    display: grid;



    gap: 18px;

}





.psio-programs-intro-text p {

    color: var(--color-text-light);



    line-height: 1.85;

}





/* =========================================================

   LISTE DES PROGRAMMES

========================================================= */



.psio-programs-main-section {

    padding: 90px 0;



    background: var(--color-background);

}





.psio-programs-main-grid {

    display: grid;



    grid-template-columns:

        repeat(2, minmax(0, 1fr));



    gap: 28px;



    margin-top: 55px;

}





.psio-programs-main-grid article {

    overflow: hidden;



    border: 1px solid var(--color-border);

    border-radius: 24px;



    background: var(--color-surface);



    box-shadow:

        0 18px 45px rgba(59, 39, 54, 0.05);

}





.psio-program-image {

    height: 250px;



    overflow: hidden;

}





.psio-program-image img {

    width: 100%;

    height: 100%;



    display: block;



    object-fit: cover;

    object-position: center;



    transition:

        transform 0.45s ease;

}





.psio-programs-main-grid article:hover

.psio-program-image img {

    transform: scale(1.035);

}





.psio-program-content {

    padding: 28px;

}





.psio-program-content h3 {

    margin-bottom: 12px;



    color: var(--color-primary-dark);



    font-family: var(--font-title);



    font-size: 1.8rem;

    font-weight: 600;



    line-height: 1.05;

}





.psio-program-content p {

    color: var(--color-text-light);



    line-height: 1.75;

}





.psio-program-text-only {

    display: flex;



    align-items: center;



    min-height: 190px;

}





.psio-program-text-only

.psio-program-content {

    width: 100%;

}





/* =========================================================

   COMMENT CHOISIR

========================================================= */



.psio-choice-section {

    padding: 85px 0;



    background:

        linear-gradient(

            180deg,

            var(--color-surface),

            #f5eef6

        );

}





.psio-choice-grid {

    display: grid;



    grid-template-columns:

        minmax(0, 0.8fr)

        minmax(0, 1.2fr);



    align-items: start;



    gap: 80px;

}





.psio-choice-grid h2 {

    margin: 18px 0 22px;



    color: var(--color-primary-dark);



    font-family: var(--font-title);



    font-size: clamp(3rem, 5vw, 4.7rem);

    font-weight: 600;



    line-height: 0.96;

}





.psio-choice-grid h2 em {

    color: var(--color-primary);



    font-weight: 500;

    font-style: italic;

}





.psio-choice-grid

> div:first-child

> p:last-child {

    color: var(--color-text-light);



    line-height: 1.8;

}





.psio-choice-text {

    display: grid;



    gap: 18px;

}





.psio-choice-text p {

    color: var(--color-text-light);



    line-height: 1.85;

}





/* =========================================================

   PRÉCAUTIONS

========================================================= */



.psio-programs-hero ~ .precautions-section {

    padding: 82px 0;

}





.psio-programs-hero ~ .precautions-section

.precautions-layout {

    display: grid;



    grid-template-columns:

        minmax(0, 0.7fr)

        minmax(0, 1.3fr);



    align-items: start;



    gap: 80px;

}





/* =========================================================

   FAQ

========================================================= */



.psio-programs-hero ~ .service-faq {

    padding: 85px 0;



    background: var(--color-surface);

}





.psio-programs-hero ~ .service-faq

.section-heading {

    margin-bottom: 45px;

}





/* =========================================================

   CTA

========================================================= */



.psio-programs-hero ~ .service-cta {

    padding: 80px 0;

}





/* =========================================================

   RESPONSIVE

========================================================= */



@media (max-width: 1050px) {



    .psio-programs-hero

    .service-hero-grid {

        grid-template-columns: 1fr 1fr;



        gap: 45px;

    }





    .psio-programs-intro-grid,

    .psio-choice-grid {

        gap: 55px;

    }



}





@media (max-width: 900px) {



    .psio-programs-hero {

        padding: 75px 0;

    }





    .psio-programs-hero

    .service-hero-grid,

    .psio-programs-intro-grid,

    .psio-choice-grid,

    .psio-programs-hero

    ~ .precautions-section

    .precautions-layout {

        grid-template-columns: 1fr;

    }





    .psio-programs-hero

    .service-image-real {

        min-height: 420px;

    }





    .psio-programs-hero

    .service-image-real img {

        height: 420px;

    }





    .psio-programs-main-grid {

        grid-template-columns: 1fr;

    }



}





@media (max-width: 700px) {



    .psio-programs-hero,

    .psio-programs-intro-section,

    .psio-programs-main-section,

    .psio-choice-section,

    .psio-programs-hero

    ~ .precautions-section,

    .psio-programs-hero

    ~ .service-faq,

    .psio-programs-hero

    ~ .service-cta {

        padding: 66px 0;

    }





    .psio-programs-hero h1 {

        font-size:

            clamp(3rem, 14vw, 4.6rem);

    }





    .psio-programs-hero

    .service-image-real {

        min-height: 340px;



        border-radius:

            24px 75px 24px 75px;

    }





    .psio-programs-hero

    .service-image-real img {

        height: 340px;

    }





    .psio-program-image {

        height: 210px;

    }





    .psio-program-content {

        padding: 24px;

    }



}


/* =========================================================

   BONS CADEAUX

========================================================= */





/* =========================================================

   HERO

========================================================= */



.gift-hero {

    position: relative;

    overflow: hidden;



    padding: 90px 0;



    color: #ffffff;



    background:

        radial-gradient(

            circle at 82% 18%,

            rgba(255, 255, 255, 0.17),

            transparent 30%

        ),

        linear-gradient(

            135deg,

            #72505f,

            #b28192

        );

}





.gift-hero .service-hero-grid {

    position: relative;

    z-index: 2;



    display: grid;



    grid-template-columns:

        minmax(0, 0.9fr)

        minmax(420px, 1.1fr);



    align-items: center;



    gap: 70px;

}





.gift-hero .service-hero-content {

    max-width: 680px;

}





.gift-hero .page-hero-eyebrow {

    color: rgba(255, 255, 255, 0.74);



    font-size: 0.76rem;

    font-weight: 700;



    letter-spacing: 0.15em;



    text-transform: uppercase;

}





.gift-hero h1 {

    margin: 18px 0 26px;



    font-family: var(--font-title);



    font-size: clamp(3.8rem, 6vw, 6.4rem);



    font-weight: 600;



    line-height: 0.92;



    letter-spacing: -0.045em;

}





.gift-hero h1 em {

    color: #f5dce4;



    font-weight: 500;



    font-style: italic;

}





.gift-hero .service-hero-content > p:last-of-type {

    max-width: 590px;



    color: rgba(255, 255, 255, 0.82);



    line-height: 1.8;

}





.gift-hero .service-buttons {

    display: flex;



    flex-wrap: wrap;



    gap: 14px;



    margin-top: 34px;

}





.gift-hero-image {

    min-height: 520px;



    overflow: hidden;



    border: 1px solid rgba(255, 255, 255, 0.18);



    border-radius: 32px 120px 32px 120px;



    background: rgba(255, 255, 255, 0.08);



    box-shadow:

        0 30px 70px rgba(45, 28, 44, 0.16);

}





.gift-hero-image img {

    width: 100%;



    height: 520px;



    min-height: 0;



    display: block;



    object-fit: cover;



    object-position: center;

}





/* =========================================================

   INTRODUCTION

========================================================= */



.gift-intro-section {

    padding: 88px 0;



    background: var(--color-surface);

}





.gift-intro-grid {

    display: grid;



    grid-template-columns:

        minmax(0, 0.8fr)

        minmax(0, 1.2fr);



    align-items: start;



    gap: 80px;

}





.gift-intro-grid h2 {

    margin-top: 18px;



    color: var(--color-primary-dark);



    font-family: var(--font-title);



    font-size: clamp(3rem, 5vw, 4.8rem);



    font-weight: 600;



    line-height: 0.96;



    letter-spacing: -0.035em;

}





.gift-intro-grid h2 em {

    color: var(--color-primary);



    font-weight: 500;



    font-style: italic;

}





.gift-intro-text {

    display: grid;



    gap: 18px;

}





.gift-intro-text p {

    color: var(--color-text-light);



    line-height: 1.85;

}





/* =========================================================

   PRESTATIONS À OFFRIR

========================================================= */



.gift-services-section {

    padding: 88px 0;



    background: var(--color-background);

}





.gift-services-grid {

    display: grid;



    grid-template-columns:

        repeat(2, minmax(0, 1fr));



    gap: 0 60px;



    margin-top: 50px;

}





.gift-services-grid article {

    padding: 28px 0;



    border-bottom:

        1px solid var(--color-border);

}





.gift-services-grid h3 {

    margin-bottom: 12px;



    color: var(--color-primary-dark);



    font-family: var(--font-title);



    font-size: 1.8rem;



    font-weight: 600;



    line-height: 1.05;

}





.gift-services-grid p {

    max-width: 500px;



    margin-bottom: 17px;



    color: var(--color-text-light);



    line-height: 1.75;

}





.gift-services-grid a {

    color: var(--color-primary);



    font-weight: 700;

}





.gift-services-grid a:hover {

    color: var(--color-primary-dark);

}





/* =========================================================

   COMMANDER

========================================================= */



.gift-order-section {

    padding: 88px 0;



    background: var(--color-surface);

}





.gift-order-grid {

    display: grid;



    grid-template-columns:

        minmax(0, 0.85fr)

        minmax(0, 1.15fr);



    align-items: start;



    gap: 85px;

}





.gift-order-grid h2 {

    margin: 18px 0 22px;



    color: var(--color-primary-dark);



    font-family: var(--font-title);



    font-size: clamp(3rem, 5vw, 4.8rem);



    font-weight: 600;



    line-height: 0.96;

}





.gift-order-grid h2 em {

    color: var(--color-primary);



    font-weight: 500;



    font-style: italic;

}





.gift-order-grid

> div:first-child

> p:last-child {

    color: var(--color-text-light);



    line-height: 1.8;

}





.gift-order-text {

    display: grid;

}





.gift-order-text article {

    padding: 24px 0;



    border-bottom:

        1px solid var(--color-border);

}





.gift-order-text article:first-child {

    padding-top: 0;

}





.gift-order-text h3 {

    margin-bottom: 9px;



    color: var(--color-primary-dark);



    font-family: var(--font-title);



    font-size: 1.65rem;



    font-weight: 600;

}





.gift-order-text p {

    color: var(--color-text-light);



    line-height: 1.75;

}





/* =========================================================

   OCCASIONS

========================================================= */



.gift-occasions-section {

    padding: 84px 0;



    background:

        linear-gradient(

            180deg,

            var(--color-background),

            #f8eff2

        );

}





.gift-occasions-grid {

    display: grid;



    grid-template-columns:

        minmax(0, 0.8fr)

        minmax(0, 1.2fr);



    align-items: start;



    gap: 80px;

}





.gift-occasions-grid h2 {

    margin-top: 18px;



    color: var(--color-primary-dark);



    font-family: var(--font-title);



    font-size: clamp(3rem, 5vw, 4.7rem);



    font-weight: 600;



    line-height: 0.96;

}





.gift-occasions-grid h2 em {

    color: var(--color-primary);



    font-weight: 500;



    font-style: italic;

}





.gift-occasions-text {

    display: grid;



    gap: 18px;

}





.gift-occasions-text p {

    color: var(--color-text-light);



    line-height: 1.85;

}





/* =========================================================

   VISUEL SECONDAIRE

========================================================= */



.gift-visual-section {

    padding: 88px 0;



    background: var(--color-surface);

}





.gift-visual-grid {

    display: grid;



    grid-template-columns:

        minmax(0, 1fr)

        minmax(0, 0.9fr);



    align-items: center;



    gap: 80px;

}





.gift-secondary-image {

    height: 470px;



    overflow: hidden;



    border-radius:

        28px 110px 28px 110px;



    background: var(--color-background);



    box-shadow:

        0 24px 60px rgba(59, 39, 54, 0.08);

}





.gift-secondary-image img {

    width: 100%;



    height: 100%;



    display: block;



    object-fit: cover;



    object-position: center;

}





.gift-visual-content h2 {

    margin: 18px 0 24px;



    color: var(--color-primary-dark);



    font-family: var(--font-title);



    font-size: clamp(3rem, 5vw, 4.7rem);



    font-weight: 600;



    line-height: 0.96;

}





.gift-visual-content h2 em {

    color: var(--color-primary);



    font-weight: 500;



    font-style: italic;

}





.gift-visual-content > p:not(.section-eyebrow) {

    margin-bottom: 18px;



    color: var(--color-text-light);



    line-height: 1.85;

}





/* =========================================================

   INFORMATIONS

========================================================= */



.gift-information-section {

    padding: 80px 0;



    background: var(--color-background);

}





.gift-information-grid {

    display: grid;



    grid-template-columns:

        minmax(0, 0.7fr)

        minmax(0, 1.3fr);



    align-items: start;



    gap: 80px;

}





.gift-information-grid h2 {

    margin-top: 18px;



    color: var(--color-primary-dark);



    font-family: var(--font-title);



    font-size: clamp(2.8rem, 5vw, 4.5rem);



    font-weight: 600;



    line-height: 0.96;

}





.gift-information-grid h2 em {

    color: var(--color-primary);



    font-weight: 500;



    font-style: italic;

}





.gift-information-text {

    padding-left: 28px;



    border-left:

        2px solid var(--color-accent);

}





.gift-information-text p {

    margin-bottom: 18px;



    color: var(--color-text-light);



    line-height: 1.8;

}





.gift-information-text p:last-child {

    margin-bottom: 0;

}





/* =========================================================

   FAQ

========================================================= */



.gift-hero ~ .service-faq {

    padding: 84px 0;



    background: var(--color-surface);

}





.gift-hero ~ .service-faq

.section-heading {

    margin-bottom: 45px;

}





/* =========================================================

   CTA FINAL

========================================================= */



.gift-final-cta {

    padding: 80px 0;

}





/* =========================================================

   RESPONSIVE

========================================================= */



@media (max-width: 1050px) {



    .gift-hero .service-hero-grid {

        grid-template-columns: 1fr 1fr;



        gap: 45px;

    }





    .gift-intro-grid,

    .gift-order-grid,

    .gift-occasions-grid,

    .gift-visual-grid,

    .gift-information-grid {

        gap: 55px;

    }



}





@media (max-width: 900px) {



    .gift-hero {

        padding: 75px 0;

    }





    .gift-hero .service-hero-grid,

    .gift-intro-grid,

    .gift-order-grid,

    .gift-occasions-grid,

    .gift-visual-grid,

    .gift-information-grid {

        grid-template-columns: 1fr;

    }





    .gift-hero-image {

        min-height: 420px;

    }





    .gift-hero-image img {

        height: 420px;

    }





    .gift-services-grid {

        grid-template-columns: 1fr;

    }





    .gift-secondary-image {

        height: 400px;

    }



}





@media (max-width: 700px) {



    .gift-hero,

    .gift-intro-section,

    .gift-services-section,

    .gift-order-section,

    .gift-occasions-section,

    .gift-visual-section,

    .gift-information-section,

    .gift-hero ~ .service-faq,

    .gift-final-cta {

        padding: 66px 0;

    }





    .gift-hero h1 {

        font-size:

            clamp(3rem, 14vw, 4.6rem);

    }





    .gift-hero-image {

        min-height: 340px;



        border-radius:

            24px 75px 24px 75px;

    }





    .gift-hero-image img {

        height: 340px;

    }





    .gift-secondary-image {

        height: 330px;



        border-radius:

            24px 70px 24px 70px;

    }





    .gift-information-text {

        padding-left: 20px;

    }



}

/* =========================================================
   INDEX - SECTION ESPRIT AMMANAURA
   Centrage final
========================================================= */

.home-philosophy-section .section-heading {
    display: flex;
    flex-direction: column;
    align-items: center;

    width: 100%;
    max-width: 900px;

    margin-left: auto;
    margin-right: auto;

    text-align: center;
}


.home-philosophy-section .section-eyebrow {
    text-align: center;
}


.home-philosophy-section h2 {
    max-width: 850px;

    margin-left: auto;
    margin-right: auto;

    text-align: center;
}


.home-philosophy-section .section-heading > p:not(.section-eyebrow) {
    width: 100%;
    max-width: 720px;

    margin: 22px auto 0;

    text-align: center;

    font-size: 1.1rem;
    line-height: 1.8;
}



/* =========================================================

   CONTACT - INSTAGRAM

========================================================= */



.contact-instagram-card {

    position: relative;

}



.contact-social-icon {

    width: 32px;

    height: 32px;



    margin-bottom: 18px;



    object-fit: contain;

}



.contact-instagram-card .instagram-link {

    display: inline-flex;

    align-items: center;



    margin-top: 8px;



    color: var(--color-primary-dark);



    font-weight: 700;



    text-decoration: none;



    transition:

        opacity 0.2s ease,

        transform 0.2s ease;

}



.contact-instagram-card .instagram-link:hover {

    transform: translateX(3px);

    opacity: 0.75;

}
