
        * { margin: 0; padding: 0; box-sizing: border-box; }

        body {
            font-family: 'Jost', -apple-system, BlinkMacSystemFont, sans-serif;
            font-weight: 300;
            color: #5B5148;
            background: #FCF9F5;
            line-height: 1.72;
            -webkit-font-smoothing: antialiased;
        }

        /* ── Navigation ─────────────────────────────── */
        nav {
            position: sticky;
            top: 0;
            z-index: 100;
            background: rgba(252,249,245,0.94);
            backdrop-filter: blur(14px);
            border-bottom: 1px solid #E7DED2;
            padding: 0.85rem 1rem;
        }

        nav ul {
            list-style: none;
            display: flex;
            justify-content: center;
            gap: clamp(.9rem, 2vw, 1.9rem);
            flex-wrap: wrap;
            max-width: 1080px;
            margin: 0 auto;
        }

        nav a {
            text-decoration: none;
            color: #5B5148;
            font-size: 0.72rem;
            font-weight: 400;
            letter-spacing: 0.2em;
            text-transform: uppercase;
            padding-bottom: 3px;
            border-bottom: 1px solid transparent;
            transition: color .22s, border-color .22s;
            white-space: nowrap;
        }

        nav a:hover { color: #9A85B8; border-bottom-color: #9A85B8; }

        /* ── Header ─────────────────────────────────── */
        .logo-wrap {
            position: relative; z-index: 2; display: inline-block; margin-bottom: 1.2rem;
        }
        .logo-wrap::before {
            content: ""; position: absolute; left: 50%; top: 50%;
            transform: translate(-50%, -50%);
            width: 118%; padding-bottom: 118%; height: 0;
            background: radial-gradient(circle, rgba(255,255,255,0.9) 0%, rgba(244,238,230,0.55) 48%, rgba(244,238,230,0) 72%);
            border-radius: 50%; z-index: -1;
        }
        header {
            background: linear-gradient(160deg, #F6EFE5 0%, #FBF8F3 48%, #F1EAE0 100%);
            padding: clamp(3.5rem, 9vw, 7rem) 1rem clamp(3rem, 7vw, 5.5rem);
            text-align: left;
            border-bottom: 1px solid #E7DED2;
            position: relative;
            overflow: hidden;
            min-height: 78vh;
            display: flex;
            flex-direction: column;
            align-items: center;
            justify-content: center;
        }

        header h1 {
            color: #9A85B8;
            font-family: 'Cormorant Garamond', serif;
            font-size: 2.4rem;
            margin-bottom: 0.5rem;
            text-shadow: 0 0 40px rgba(154,133,184,0.4);
            position: relative; z-index: 2;
        }

        header > p {
            color: #7E6A9C;
            font-size: 1rem;
            font-weight: 400;
            letter-spacing: 0.06em;
            max-width: 620px;
            line-height: 1.7;
            position: relative; z-index: 2;
        }

        .btn-main {
            display: inline-block;
            margin-top: 1.8rem;
            padding: 0.9rem 2.4rem;
            background: linear-gradient(135deg, #9A85B8 0%, #7E6A9C 100%);
            color: #ffffff;
            text-decoration: none;
            border-radius: 50px;
            font-weight: 700;
            font-size: 1rem;
            letter-spacing: 0.04em;
            transition: transform 0.2s, box-shadow 0.2s;
            box-shadow: 0 4px 20px rgba(154,133,184,0.07);
            position: relative; z-index: 2;
        }

        .btn-main:hover {
            transform: translateY(-2px);
            box-shadow: 0 8px 28px rgba(154,133,184,0.07);
        }

        /* ── Sections layout ────────────────────────── */
        section {
            max-width: 1060px;
            margin: 0 auto;
            padding: clamp(3.6rem, 8vw, 6.5rem) clamp(1rem, 4vw, 2rem);
        }

        .section-title {
            color: #7E6A9C;
            text-align: center;
            margin-bottom: 0.5rem;
            font-size: clamp(2rem, 4vw, 2.7rem);
            font-weight: 400;
            font-family: 'Cormorant Garamond', serif;
            letter-spacing: 0.005em;
            line-height: 1.18;
        }

        .section-title::after {
            content: '✦';
            display: block;
            color: #9A85B8;
            font-size: 0.88rem;
            margin-top: 0.3rem;
            letter-spacing: 12px;
        }

        .section-subtitle {
            text-align: center;
            color: #847768;
            font-size: 1rem;
            max-width: 60ch;
            margin: 0 auto 3.4rem;
        }

        /* ── Hero ───────────────────────────────────── */
        .hero { background: #F4EEE6; text-align: center; }
        .hero p { font-size: 1rem; color: #9C8467; margin-bottom: 1rem; }

        /* ── Haut de page (style maquette) ──────────── */
        header::after {
            content: "";
            position: absolute;
            top: 0; left: 0;
            width: min(880px, 68%); height: 100%;
            background-image: url('photos/frederic.jpg');
            background-size: cover;
            background-position: 47% 18%;
            opacity: .16;
            -webkit-mask-image: linear-gradient(to right, rgba(0,0,0,1) 6%, rgba(0,0,0,.55) 52%, rgba(0,0,0,0) 88%);
            mask-image: linear-gradient(to right, rgba(0,0,0,1) 6%, rgba(0,0,0,.55) 52%, rgba(0,0,0,0) 88%);
            pointer-events: none;
            z-index: 1;
        }
        @media (max-width: 760px) {
            header::after { width: 100%; opacity: .16; -webkit-mask-image: none; mask-image: none; }
        }

        .head-in {
            position: relative; z-index: 2;
            width: 100%; max-width: 1080px; margin: 0 auto;
            padding: 0 clamp(.2rem, 3vw, 2rem);
        }
        .head-logo { width: min(165px, 42vw); height: auto; display: block; margin-bottom: 1.9rem;
            filter: drop-shadow(0 8px 22px rgba(126,106,156,0.18)); }
        .eyebrow {
            font-size: 0.72rem; letter-spacing: .26em; text-transform: uppercase;
            font-weight: 400; color: #9A85B8; margin-bottom: 1.1rem;
        }
        .head-title {
            font-family: 'Cormorant Garamond', Georgia, serif;
            font-weight: 300; line-height: 1.14; letter-spacing: -.012em;
            font-size: clamp(2rem, 5.6vw, 4.6rem);
            color: #4A4038; margin-bottom: 1.6rem;
            max-width: none; white-space: nowrap;
        }
        @media (max-width: 560px) {
            /* le titre reste sur une seule ligne : sa taille suit la largeur de l’écran */
            .head-title { white-space: nowrap; font-size: clamp(1.35rem, 7.8vw, 2.6rem); }
        }
        @media (max-width: 300px) {
            .head-title { white-space: normal; font-size: 1.5rem; }
        }
        .head-title em { font-style: italic; color: #9A85B8; }
        .head-lead {
            font-size: clamp(1rem, 1.55vw, 1.18rem); line-height: 1.75;
            color: #5B5148; max-width: 48ch; margin-bottom: .9rem;
        }
        .head-lead.sub { color: #847768; font-style: italic; margin-bottom: 2.6rem; }
        .head-actions { display: flex; gap: .8rem; flex-wrap: wrap; }
        .btn-ghost {
            display: inline-block; padding: .95rem 2.2rem; border-radius: 50px;
            border: 1px solid #C2AE95; color: #5B5148; text-decoration: none;
            font-weight: 400; font-size: 0.88rem; letter-spacing: .04em;
            transition: background .25s, transform .2s;
        }
        .btn-ghost:hover { background: rgba(179,156,134,.14); transform: translateY(-2px); }
        @media (max-width: 700px) {
            .head-title { font-size: clamp(2.2rem, 10vw, 3rem); }
            .head-logo { margin-bottom: 1.6rem; }
        }

        .zone-photo {
            max-width: 480px; margin: 0 auto 2rem; text-align: center;
        }
        .zone-photo img {
            width: 100%; height: auto; display: block;
            border-radius: 4px; border: 1px solid #E7DED2;
        }
        .zone-photo figcaption {
            font-family: 'Cormorant Garamond', Georgia, serif;
            font-style: italic; font-size: 1rem; color: #847768;
            margin-top: .7rem;
        }

        /* ── Photos reparties dans la page ──────────── */
        .photo-band {
            position: relative; width: 100%; overflow: hidden;
            background: #F1EAE0;
        }
        .photo-band img {
            width: 100%; height: clamp(260px, 42vw, 480px);
            object-fit: cover; display: block;
            transition: transform 1.2s ease;
        }
        .photo-band:hover img { transform: scale(1.03); }
        .photo-band figcaption {
            position: absolute; left: 0; right: 0; bottom: 0;
            padding: 2.4rem clamp(1.2rem, 5vw, 3.5rem) 1.6rem;
            background: linear-gradient(to top, rgba(46,40,34,.62), rgba(46,40,34,0));
            color: #FFFCF8; font-family: 'Cormorant Garamond', Georgia, serif;
            font-size: clamp(1.15rem, 2.4vw, 1.75rem); font-style: italic;
            letter-spacing: .01em;
        }
        .photo-duo {
            display: grid; grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
            gap: 1rem; margin: 2.8rem 0 0;
        }
        .photo-duo img {
            width: 100%; height: clamp(220px, 26vw, 340px);
            object-fit: cover; display: block; border-radius: 4px;
        }
        .photo-inline {
            width: 100%; height: clamp(240px, 30vw, 400px); object-fit: cover;
            display: block; border-radius: 4px; margin: 2.6rem 0;
        }


        /* ── Bandeau disponibilités ─────────────────── */
        .dispo-bandeau {
            max-width: 640px; margin: 0 auto 2rem; text-align: center;
            background: rgba(154,133,184,.1); border: 1px solid #D7CBE6;
            border-radius: 4px; padding: 1.1rem 1.4rem;
        }
        .dispo-bandeau strong {
            display: block; color: #7E6A9C; font-size: .72rem;
            letter-spacing: .2em; text-transform: uppercase; margin-bottom: .5rem;
        }
        .dispo-bandeau span { display: block; color: #5B5148; font-size: .95rem; line-height: 1.5; }
        .dispo-bandeau .dispo-note { color: #847768; font-size: .82rem; margin-top: .35rem; }

        /* ── Cures ──────────────────────────────────── */
        .cures-section { background: #F4EEE6; }
        .cure-groupe {
            font-family: 'Cormorant Garamond', Georgia, serif;
            font-size: 1.4rem; font-weight: 400; color: #7E6A9C;
            text-align: center; margin: 2.6rem 0 .5rem;
        }
        .cure-sous-groupe {
            font-size: .74rem; letter-spacing: .18em; text-transform: uppercase;
            color: #847768; text-align: center; font-weight: 400;
            margin: 2rem 0 1rem;
        }
        .cure-groupe-note {
            max-width: 62ch; margin: 0 auto 1.6rem; text-align: center;
            font-size: .84rem; line-height: 1.6; color: #847768;
        }
        .cure-groupe-note strong { color: #5B5148; }
        .cures-grid {
            display: grid; grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
            gap: 1.2rem; align-items: start;
        }
        .cure-card {
            background: #FCF9F5; border: 1px solid #E7DED2; border-radius: 4px;
            padding: 1.7rem 1.5rem; display: flex; flex-direction: column;
            transition: border-color .25s, transform .25s;
        }
        .cure-card:hover { border-color: #C6B4E0; transform: translateY(-4px); }
        .cure-titre {
            font-size: .72rem; letter-spacing: .2em; text-transform: uppercase;
            color: #847768; margin-bottom: .6rem;
        }
        .cure-prix {
            font-family: 'Cormorant Garamond', Georgia, serif;
            font-size: 2.4rem; line-height: 1; color: #7E6A9C;
        }
        .cure-unitaire { font-size: .8rem; color: #847768; margin-top: .25rem; }
        .cure-desc { font-size: .88rem; line-height: 1.6; color: #5B5148; margin: 1.1rem 0 .9rem; flex: 1; }
        .cure-infos { list-style: none; padding: 0; margin: 0 0 1.3rem; }
        .cure-infos li {
            font-size: .8rem; line-height: 1.5; color: #5B5148;
            padding-left: 1rem; position: relative; margin-bottom: .4rem;
        }
        .cure-infos li::before { content: "\2726"; position: absolute; left: 0; color: #C6B4E0; }
        .cure-infos li.cure-livraison {
            list-style: none;
            margin-top: .5rem;
            padding: .55rem .7rem;
            background: rgba(179,156,134,.16);
            border: 1px solid #C2AE95;
            border-radius: 4px;
            color: #8A6D3B;
            font-weight: 600;
            font-size: .78rem;
            line-height: 1.45;
        }
        .cure-infos li.cure-livraison::before { content: "🚗 "; color: inherit; }
        .cure-infos li.cure-livraison--offert {
            background: rgba(95,158,95,.14);
            border-color: #9BBE8E;
            color: #4A7A3F;
        }
        .cure-infos li.cure-livraison--offert::before { content: "✓ "; }
        .cure-conditions {
            max-width: 780px; margin: 3.2rem auto 0;
            background: #FCF9F5; border: 1px solid #E7DED2;
            border-left: 3px solid #C6B4E0; border-radius: 4px; padding: 1.8rem 1.9rem;
        }
        .cure-conditions h3 {
            font-family: 'Cormorant Garamond', Georgia, serif; font-weight: 400;
            font-size: 1.4rem; color: #7E6A9C; margin: 0 0 1rem;
        }
        .cure-conditions ul { list-style: none; padding: 0; margin: 0; }
        .cure-conditions li {
            font-size: .88rem; line-height: 1.62; color: #5B5148;
            padding-left: 1.2rem; position: relative; margin-bottom: .7rem;
        }
        .cure-conditions li::before { content: "\2013"; position: absolute; left: 0; color: #B39C86; }
        .cure-conditions strong { color: #4A4038; }

        /* ── Section cabine ─────────────────────────── */
        .cabine-section { background: #FCF9F5; }
        .cabine-adresse {
            text-align: center; margin-top: 2.6rem;
            font-size: .88rem; line-height: 1.7; color: #5B5148;
        }
        .cabine-adresse strong { color: #7E6A9C; }
        .cabine-adresse span {
            display: inline-block; margin-top: .3rem;
            font-size: .72rem; letter-spacing: .18em;
            text-transform: uppercase; color: #847768;
        }

        /* ── Séances en cabine ─────────────────── */
        .badge-lieu {
            display: inline-block; margin-top: .55rem;
            font-size: .66rem; letter-spacing: .14em; text-transform: uppercase;
            color: #7E6A9C; background: rgba(154,133,184,.13);
            border: 1px solid rgba(154,133,184,.3);
            border-radius: 50px; padding: .28rem .8rem;
        }
        .service-lieu-note {
            margin-top: 1rem; padding: .8rem 1rem;
            background: #F4EEE6; border-left: 2px solid #C6B4E0;
            border-radius: 4px; font-size: .8rem; line-height: 1.55; color: #5B5148;
        }
        .service-lieu-note strong { color: #4A4038; }

        /* ── Sélecteur de langue ────────────────────── */
        iframe.skiptranslate,
        .goog-te-banner-frame.skiptranslate,
        .goog-te-gadget-icon,
        #goog-gt-tt, .goog-te-balloon-frame { display: none !important; }
        body { top: 0 !important; position: static !important; }
        .goog-text-highlight { background: none !important; box-shadow: none !important; }
        #google_translate_element { display: none; }

        .lang-fab { position: fixed; bottom: 1.5rem; left: 1.5rem; z-index: 999; }
        .lang-fab-btn {
            display: flex; align-items: center; gap: .4rem;
            background: rgba(252,249,245,.94); backdrop-filter: blur(8px);
            border: 1px solid #C6B4E0; color: #6E4E96;
            border-radius: 50px; padding: .5rem .85rem;
            font-family: 'Jost', sans-serif; font-size: .78rem; letter-spacing: .06em;
            cursor: pointer; box-shadow: 0 4px 16px rgba(74,64,56,.14);
            transition: background .2s, border-color .2s;
        }
        .lang-fab-btn:hover { background: #F1EAE0; border-color: #9A85B8; }
        .lang-fab-menu {
            position: absolute; bottom: calc(100% + .5rem); left: 0;
            background: #FCF9F5; border: 1px solid #E7DED2; border-radius: 6px;
            box-shadow: 0 8px 26px rgba(74,64,56,.18);
            padding: .35rem; min-width: 168px;
            opacity: 0; visibility: hidden; transform: translateY(8px);
            transition: opacity .22s, transform .22s, visibility .22s;
        }
        .lang-fab.ouvert .lang-fab-menu { opacity: 1; visibility: visible; transform: translateY(0); }
        .lang-fab-menu button {
            display: flex; align-items: center; gap: .6rem; width: 100%;
            background: none; border: none; text-align: left; cursor: pointer;
            font-family: 'Jost', sans-serif; font-size: .86rem; color: #5B5148;
            padding: .55rem .7rem; border-radius: 4px; transition: background .18s;
        }
        .lang-fab-menu button:hover { background: #F1EAE0; }
        .lang-fab-menu button.actif { color: #7E6A9C; font-weight: 600; }
        .lang-fab-menu .drapeau { font-size: 1.05rem; line-height: 1; }
        @media (max-width: 600px) {
            .lang-fab { bottom: 1.1rem; left: 1.1rem; }
            .lang-fab-btn { padding: .45rem .7rem; font-size: .74rem; }
        }

        /* ── Bouton retour en haut ──────────────────── */
        .btn-haut {
            position: fixed;
            bottom: 4.4rem;
            left: 1.5rem;
            z-index: 998;
            width: 44px;
            height: 44px;
            border-radius: 50px;
            border: 1px solid #C6B4E0;
            background: rgba(252,249,245,.92);
            backdrop-filter: blur(8px);
            color: #6E4E96;
            cursor: pointer;
            display: flex;
            align-items: center;
            justify-content: center;
            box-shadow: 0 4px 16px rgba(74,64,56,.14);
            opacity: 0;
            visibility: hidden;
            transform: translateY(10px);
            transition: opacity .3s, transform .3s, visibility .3s, background .2s;
        }
        .btn-haut.visible { opacity: 1; visibility: visible; transform: translateY(0); }
        .btn-haut:hover { background: #F1EAE0; border-color: #9A85B8; }
        .btn-haut svg {
            width: 18px; height: 18px;
            min-width: 18px; min-height: 18px;
            flex: 0 0 auto;
        }
        @media (max-width: 600px) {
            .btn-haut { width: 40px; height: 40px; bottom: 3.8rem; left: 1.1rem; }
        }

        /* ── Séances : mise en avant et déroulé ─────── */
        .service-card.masque { display: none; }
        .seances-actions { text-align: center; margin-top: 2.4rem; }
        .service-card.vedette {
            border-color: #C6B4E0;
            box-shadow: 0 6px 26px rgba(154,133,184,.10);
        }
        .service-card.vedette:hover {
            border-color: #9A85B8;
            box-shadow: 0 14px 38px rgba(154,133,184,.16);
        }

        /* ── Avis : affichage progressif ────────────── */
        .review-card.masque { display: none; }
        .avis-actions { text-align: center; margin-top: 2.2rem; }
        .btn-avis-plus {
            background: none;
            border: 1px solid #C2AE95;
            color: #5B5148;
            font-family: 'Jost', sans-serif;
            font-size: .76rem;
            letter-spacing: .18em;
            text-transform: uppercase;
            padding: .85rem 2rem;
            border-radius: 50px;
            cursor: pointer;
            transition: background .22s, border-color .22s, transform .2s;
        }
        .btn-avis-plus:hover {
            background: rgba(179,156,134,.14);
            border-color: #9A85B8;
            transform: translateY(-2px);
        }

        /* ── Plan du site en pied de page ───────────── */
        .footer-plan {
            display: flex; flex-wrap: wrap; justify-content: center;
            gap: .5rem 1.4rem; max-width: 820px; margin: 0 auto 1.8rem;
            padding: 0 0 1.6rem; border-bottom: 1px solid rgba(255,255,255,.22);
            background: transparent; position: static; backdrop-filter: none; z-index: auto;
        }
        .footer-plan a {
            color: #fff; opacity: .92; text-decoration: none;
            font-size: .74rem; letter-spacing: .1em;
            border-bottom: 1px solid transparent; transition: opacity .2s, border-color .2s;
        }
        .footer-plan a:hover { opacity: 1; border-bottom-color: rgba(255,255,255,.6); }
        .footer-legal { text-align: center; }
        .footer-legal a { color: #fff; opacity: .82; text-decoration: none; border-bottom: 1px solid rgba(255,255,255,.35); }
        .footer-legal a:hover { opacity: 1; border-bottom-color: rgba(255,255,255,.7); }

        /* ── Me suivre (pied de page) ───────────────── */
        .footer-suivre {
            display: flex; align-items: center; justify-content: center;
            gap: 1.4rem; flex-wrap: wrap; margin-bottom: 1.4rem;
        }
        .footer-suivre-titre {
            font-size: .72rem; letter-spacing: .22em; text-transform: uppercase;
            opacity: .75;
        }
        .footer-suivre a {
            display: inline-flex; align-items: center; gap: .5rem;
            color: #fff; text-decoration: none; font-size: .8rem;
            letter-spacing: .06em; opacity: .88;
            padding: .4rem .95rem; border: 1px solid rgba(255,255,255,.38);
            border-radius: 50px; transition: background .22s, opacity .22s;
        }
        .footer-suivre a:hover { background: rgba(255,255,255,.14); opacity: 1; }
        .footer-suivre svg { width: 16px; height: 16px; flex-shrink: 0; }

        /* ── Cube de Métatron en filigrane ──────────── */
        .counters-wrap, .services, .reviews-section, .zone-section,
        .booking, .gift-section, .faq-section, footer {
            position: relative;
            overflow: hidden;
        }
        .counters-wrap > *, .services > *, .reviews-section > *, .zone-section > *,
        .booking > *, .gift-section > *, .faq-section > *, footer > * {
            position: relative;
            z-index: 1;
        }
        .counters-wrap::after, .services::after, .reviews-section::after,
        .zone-section::after, .booking::after, .gift-section::after,
        .faq-section::after, footer::after {
            content: "";
            position: absolute;
            background-repeat: no-repeat;
            background-size: contain;
            pointer-events: none;
            z-index: 0;
        }

        /* Bandeaux colorés : trait clair */
        .counters-wrap::after {
            background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%20400%20400%22%20fill%3D%22none%22%20stroke%3D%22%23FFFFFF%22%20stroke-width%3D%222.2%22%3E%3Cpath%20d%3D%22M200%20200L200%20108M200%20200L280%20154M200%20200L280%20246M200%20200L200%20292M200%20200L120%20246M200%20200L120%20154M200%20200L200%2016M200%20200L359%20108M200%20200L359%20292M200%20200L200%20384M200%20200L41%20292M200%20200L41%20108M200%20108L280%20154M200%20108L280%20246M200%20108L200%20292M200%20108L120%20246M200%20108L120%20154M200%20108L200%2016M200%20108L359%20108M200%20108L359%20292M200%20108L200%20384M200%20108L41%20292M200%20108L41%20108M280%20154L280%20246M280%20154L200%20292M280%20154L120%20246M280%20154L120%20154M280%20154L200%2016M280%20154L359%20108M280%20154L359%20292M280%20154L200%20384M280%20154L41%20292M280%20154L41%20108M280%20246L200%20292M280%20246L120%20246M280%20246L120%20154M280%20246L200%2016M280%20246L359%20108M280%20246L359%20292M280%20246L200%20384M280%20246L41%20292M280%20246L41%20108M200%20292L120%20246M200%20292L120%20154M200%20292L200%2016M200%20292L359%20108M200%20292L359%20292M200%20292L200%20384M200%20292L41%20292M200%20292L41%20108M120%20246L120%20154M120%20246L200%2016M120%20246L359%20108M120%20246L359%20292M120%20246L200%20384M120%20246L41%20292M120%20246L41%20108M120%20154L200%2016M120%20154L359%20108M120%20154L359%20292M120%20154L200%20384M120%20154L41%20292M120%20154L41%20108M200%2016L359%20108M200%2016L359%20292M200%2016L200%20384M200%2016L41%20292M200%2016L41%20108M359%20108L359%20292M359%20108L200%20384M359%20108L41%20292M359%20108L41%20108M359%20292L200%20384M359%20292L41%20292M359%20292L41%20108M200%20384L41%20292M200%20384L41%20108M41%20292L41%20108%22%2F%3E%3Ccircle%20cx%3D%22200%22%20cy%3D%22200%22%20r%3D%2246%22%2F%3E%3Ccircle%20cx%3D%22200%22%20cy%3D%22108%22%20r%3D%2246%22%2F%3E%3Ccircle%20cx%3D%22280%22%20cy%3D%22154%22%20r%3D%2246%22%2F%3E%3Ccircle%20cx%3D%22280%22%20cy%3D%22246%22%20r%3D%2246%22%2F%3E%3Ccircle%20cx%3D%22200%22%20cy%3D%22292%22%20r%3D%2246%22%2F%3E%3Ccircle%20cx%3D%22120%22%20cy%3D%22246%22%20r%3D%2246%22%2F%3E%3Ccircle%20cx%3D%22120%22%20cy%3D%22154%22%20r%3D%2246%22%2F%3E%3Ccircle%20cx%3D%22200%22%20cy%3D%2216%22%20r%3D%2246%22%2F%3E%3Ccircle%20cx%3D%22359%22%20cy%3D%22108%22%20r%3D%2246%22%2F%3E%3Ccircle%20cx%3D%22359%22%20cy%3D%22292%22%20r%3D%2246%22%2F%3E%3Ccircle%20cx%3D%22200%22%20cy%3D%22384%22%20r%3D%2246%22%2F%3E%3Ccircle%20cx%3D%2241%22%20cy%3D%22292%22%20r%3D%2246%22%2F%3E%3Ccircle%20cx%3D%2241%22%20cy%3D%22108%22%20r%3D%2246%22%2F%3E%3C%2Fsvg%3E");
            width: 330px; height: 330px; top: 50%; left: -80px;
            transform: translateY(-50%); opacity: .16;
        }
        footer::after {
            background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%20400%20400%22%20fill%3D%22none%22%20stroke%3D%22%23FFFFFF%22%20stroke-width%3D%222.2%22%3E%3Cpath%20d%3D%22M200%20200L200%20108M200%20200L280%20154M200%20200L280%20246M200%20200L200%20292M200%20200L120%20246M200%20200L120%20154M200%20200L200%2016M200%20200L359%20108M200%20200L359%20292M200%20200L200%20384M200%20200L41%20292M200%20200L41%20108M200%20108L280%20154M200%20108L280%20246M200%20108L200%20292M200%20108L120%20246M200%20108L120%20154M200%20108L200%2016M200%20108L359%20108M200%20108L359%20292M200%20108L200%20384M200%20108L41%20292M200%20108L41%20108M280%20154L280%20246M280%20154L200%20292M280%20154L120%20246M280%20154L120%20154M280%20154L200%2016M280%20154L359%20108M280%20154L359%20292M280%20154L200%20384M280%20154L41%20292M280%20154L41%20108M280%20246L200%20292M280%20246L120%20246M280%20246L120%20154M280%20246L200%2016M280%20246L359%20108M280%20246L359%20292M280%20246L200%20384M280%20246L41%20292M280%20246L41%20108M200%20292L120%20246M200%20292L120%20154M200%20292L200%2016M200%20292L359%20108M200%20292L359%20292M200%20292L200%20384M200%20292L41%20292M200%20292L41%20108M120%20246L120%20154M120%20246L200%2016M120%20246L359%20108M120%20246L359%20292M120%20246L200%20384M120%20246L41%20292M120%20246L41%20108M120%20154L200%2016M120%20154L359%20108M120%20154L359%20292M120%20154L200%20384M120%20154L41%20292M120%20154L41%20108M200%2016L359%20108M200%2016L359%20292M200%2016L200%20384M200%2016L41%20292M200%2016L41%20108M359%20108L359%20292M359%20108L200%20384M359%20108L41%20292M359%20108L41%20108M359%20292L200%20384M359%20292L41%20292M359%20292L41%20108M200%20384L41%20292M200%20384L41%20108M41%20292L41%20108%22%2F%3E%3Ccircle%20cx%3D%22200%22%20cy%3D%22200%22%20r%3D%2246%22%2F%3E%3Ccircle%20cx%3D%22200%22%20cy%3D%22108%22%20r%3D%2246%22%2F%3E%3Ccircle%20cx%3D%22280%22%20cy%3D%22154%22%20r%3D%2246%22%2F%3E%3Ccircle%20cx%3D%22280%22%20cy%3D%22246%22%20r%3D%2246%22%2F%3E%3Ccircle%20cx%3D%22200%22%20cy%3D%22292%22%20r%3D%2246%22%2F%3E%3Ccircle%20cx%3D%22120%22%20cy%3D%22246%22%20r%3D%2246%22%2F%3E%3Ccircle%20cx%3D%22120%22%20cy%3D%22154%22%20r%3D%2246%22%2F%3E%3Ccircle%20cx%3D%22200%22%20cy%3D%2216%22%20r%3D%2246%22%2F%3E%3Ccircle%20cx%3D%22359%22%20cy%3D%22108%22%20r%3D%2246%22%2F%3E%3Ccircle%20cx%3D%22359%22%20cy%3D%22292%22%20r%3D%2246%22%2F%3E%3Ccircle%20cx%3D%22200%22%20cy%3D%22384%22%20r%3D%2246%22%2F%3E%3Ccircle%20cx%3D%2241%22%20cy%3D%22292%22%20r%3D%2246%22%2F%3E%3Ccircle%20cx%3D%2241%22%20cy%3D%22108%22%20r%3D%2246%22%2F%3E%3C%2Fsvg%3E");
            width: 360px; height: 360px; bottom: -140px; right: -100px; opacity: .15;
        }

        /* Sections claires : trait violet dilué */
        .services::after {
            background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%20400%20400%22%20fill%3D%22none%22%20stroke%3D%22%236E4E96%22%20stroke-width%3D%222.0%22%3E%3Cpath%20d%3D%22M200%20200L200%20108M200%20200L280%20154M200%20200L280%20246M200%20200L200%20292M200%20200L120%20246M200%20200L120%20154M200%20200L200%2016M200%20200L359%20108M200%20200L359%20292M200%20200L200%20384M200%20200L41%20292M200%20200L41%20108M200%20108L280%20154M200%20108L280%20246M200%20108L200%20292M200%20108L120%20246M200%20108L120%20154M200%20108L200%2016M200%20108L359%20108M200%20108L359%20292M200%20108L200%20384M200%20108L41%20292M200%20108L41%20108M280%20154L280%20246M280%20154L200%20292M280%20154L120%20246M280%20154L120%20154M280%20154L200%2016M280%20154L359%20108M280%20154L359%20292M280%20154L200%20384M280%20154L41%20292M280%20154L41%20108M280%20246L200%20292M280%20246L120%20246M280%20246L120%20154M280%20246L200%2016M280%20246L359%20108M280%20246L359%20292M280%20246L200%20384M280%20246L41%20292M280%20246L41%20108M200%20292L120%20246M200%20292L120%20154M200%20292L200%2016M200%20292L359%20108M200%20292L359%20292M200%20292L200%20384M200%20292L41%20292M200%20292L41%20108M120%20246L120%20154M120%20246L200%2016M120%20246L359%20108M120%20246L359%20292M120%20246L200%20384M120%20246L41%20292M120%20246L41%20108M120%20154L200%2016M120%20154L359%20108M120%20154L359%20292M120%20154L200%20384M120%20154L41%20292M120%20154L41%20108M200%2016L359%20108M200%2016L359%20292M200%2016L200%20384M200%2016L41%20292M200%2016L41%20108M359%20108L359%20292M359%20108L200%20384M359%20108L41%20292M359%20108L41%20108M359%20292L200%20384M359%20292L41%20292M359%20292L41%20108M200%20384L41%20292M200%20384L41%20108M41%20292L41%20108%22%2F%3E%3Ccircle%20cx%3D%22200%22%20cy%3D%22200%22%20r%3D%2246%22%2F%3E%3Ccircle%20cx%3D%22200%22%20cy%3D%22108%22%20r%3D%2246%22%2F%3E%3Ccircle%20cx%3D%22280%22%20cy%3D%22154%22%20r%3D%2246%22%2F%3E%3Ccircle%20cx%3D%22280%22%20cy%3D%22246%22%20r%3D%2246%22%2F%3E%3Ccircle%20cx%3D%22200%22%20cy%3D%22292%22%20r%3D%2246%22%2F%3E%3Ccircle%20cx%3D%22120%22%20cy%3D%22246%22%20r%3D%2246%22%2F%3E%3Ccircle%20cx%3D%22120%22%20cy%3D%22154%22%20r%3D%2246%22%2F%3E%3Ccircle%20cx%3D%22200%22%20cy%3D%2216%22%20r%3D%2246%22%2F%3E%3Ccircle%20cx%3D%22359%22%20cy%3D%22108%22%20r%3D%2246%22%2F%3E%3Ccircle%20cx%3D%22359%22%20cy%3D%22292%22%20r%3D%2246%22%2F%3E%3Ccircle%20cx%3D%22200%22%20cy%3D%22384%22%20r%3D%2246%22%2F%3E%3Ccircle%20cx%3D%2241%22%20cy%3D%22292%22%20r%3D%2246%22%2F%3E%3Ccircle%20cx%3D%2241%22%20cy%3D%22108%22%20r%3D%2246%22%2F%3E%3C%2Fsvg%3E");
            width: 480px; height: 480px; top: -150px; right: -160px; opacity: .09;
        }
        .reviews-section::after {
            background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%20400%20400%22%20fill%3D%22none%22%20stroke%3D%22%236E4E96%22%20stroke-width%3D%222.0%22%3E%3Cpath%20d%3D%22M200%20200L200%20108M200%20200L280%20154M200%20200L280%20246M200%20200L200%20292M200%20200L120%20246M200%20200L120%20154M200%20200L200%2016M200%20200L359%20108M200%20200L359%20292M200%20200L200%20384M200%20200L41%20292M200%20200L41%20108M200%20108L280%20154M200%20108L280%20246M200%20108L200%20292M200%20108L120%20246M200%20108L120%20154M200%20108L200%2016M200%20108L359%20108M200%20108L359%20292M200%20108L200%20384M200%20108L41%20292M200%20108L41%20108M280%20154L280%20246M280%20154L200%20292M280%20154L120%20246M280%20154L120%20154M280%20154L200%2016M280%20154L359%20108M280%20154L359%20292M280%20154L200%20384M280%20154L41%20292M280%20154L41%20108M280%20246L200%20292M280%20246L120%20246M280%20246L120%20154M280%20246L200%2016M280%20246L359%20108M280%20246L359%20292M280%20246L200%20384M280%20246L41%20292M280%20246L41%20108M200%20292L120%20246M200%20292L120%20154M200%20292L200%2016M200%20292L359%20108M200%20292L359%20292M200%20292L200%20384M200%20292L41%20292M200%20292L41%20108M120%20246L120%20154M120%20246L200%2016M120%20246L359%20108M120%20246L359%20292M120%20246L200%20384M120%20246L41%20292M120%20246L41%20108M120%20154L200%2016M120%20154L359%20108M120%20154L359%20292M120%20154L200%20384M120%20154L41%20292M120%20154L41%20108M200%2016L359%20108M200%2016L359%20292M200%2016L200%20384M200%2016L41%20292M200%2016L41%20108M359%20108L359%20292M359%20108L200%20384M359%20108L41%20292M359%20108L41%20108M359%20292L200%20384M359%20292L41%20292M359%20292L41%20108M200%20384L41%20292M200%20384L41%20108M41%20292L41%20108%22%2F%3E%3Ccircle%20cx%3D%22200%22%20cy%3D%22200%22%20r%3D%2246%22%2F%3E%3Ccircle%20cx%3D%22200%22%20cy%3D%22108%22%20r%3D%2246%22%2F%3E%3Ccircle%20cx%3D%22280%22%20cy%3D%22154%22%20r%3D%2246%22%2F%3E%3Ccircle%20cx%3D%22280%22%20cy%3D%22246%22%20r%3D%2246%22%2F%3E%3Ccircle%20cx%3D%22200%22%20cy%3D%22292%22%20r%3D%2246%22%2F%3E%3Ccircle%20cx%3D%22120%22%20cy%3D%22246%22%20r%3D%2246%22%2F%3E%3Ccircle%20cx%3D%22120%22%20cy%3D%22154%22%20r%3D%2246%22%2F%3E%3Ccircle%20cx%3D%22200%22%20cy%3D%2216%22%20r%3D%2246%22%2F%3E%3Ccircle%20cx%3D%22359%22%20cy%3D%22108%22%20r%3D%2246%22%2F%3E%3Ccircle%20cx%3D%22359%22%20cy%3D%22292%22%20r%3D%2246%22%2F%3E%3Ccircle%20cx%3D%22200%22%20cy%3D%22384%22%20r%3D%2246%22%2F%3E%3Ccircle%20cx%3D%2241%22%20cy%3D%22292%22%20r%3D%2246%22%2F%3E%3Ccircle%20cx%3D%2241%22%20cy%3D%22108%22%20r%3D%2246%22%2F%3E%3C%2Fsvg%3E");
            width: 400px; height: 400px; bottom: -130px; left: -130px; opacity: .09;
        }
        .zone-section::after {
            background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%20400%20400%22%20fill%3D%22none%22%20stroke%3D%22%236E4E96%22%20stroke-width%3D%222.0%22%3E%3Cpath%20d%3D%22M200%20200L200%20108M200%20200L280%20154M200%20200L280%20246M200%20200L200%20292M200%20200L120%20246M200%20200L120%20154M200%20200L200%2016M200%20200L359%20108M200%20200L359%20292M200%20200L200%20384M200%20200L41%20292M200%20200L41%20108M200%20108L280%20154M200%20108L280%20246M200%20108L200%20292M200%20108L120%20246M200%20108L120%20154M200%20108L200%2016M200%20108L359%20108M200%20108L359%20292M200%20108L200%20384M200%20108L41%20292M200%20108L41%20108M280%20154L280%20246M280%20154L200%20292M280%20154L120%20246M280%20154L120%20154M280%20154L200%2016M280%20154L359%20108M280%20154L359%20292M280%20154L200%20384M280%20154L41%20292M280%20154L41%20108M280%20246L200%20292M280%20246L120%20246M280%20246L120%20154M280%20246L200%2016M280%20246L359%20108M280%20246L359%20292M280%20246L200%20384M280%20246L41%20292M280%20246L41%20108M200%20292L120%20246M200%20292L120%20154M200%20292L200%2016M200%20292L359%20108M200%20292L359%20292M200%20292L200%20384M200%20292L41%20292M200%20292L41%20108M120%20246L120%20154M120%20246L200%2016M120%20246L359%20108M120%20246L359%20292M120%20246L200%20384M120%20246L41%20292M120%20246L41%20108M120%20154L200%2016M120%20154L359%20108M120%20154L359%20292M120%20154L200%20384M120%20154L41%20292M120%20154L41%20108M200%2016L359%20108M200%2016L359%20292M200%2016L200%20384M200%2016L41%20292M200%2016L41%20108M359%20108L359%20292M359%20108L200%20384M359%20108L41%20292M359%20108L41%20108M359%20292L200%20384M359%20292L41%20292M359%20292L41%20108M200%20384L41%20292M200%20384L41%20108M41%20292L41%20108%22%2F%3E%3Ccircle%20cx%3D%22200%22%20cy%3D%22200%22%20r%3D%2246%22%2F%3E%3Ccircle%20cx%3D%22200%22%20cy%3D%22108%22%20r%3D%2246%22%2F%3E%3Ccircle%20cx%3D%22280%22%20cy%3D%22154%22%20r%3D%2246%22%2F%3E%3Ccircle%20cx%3D%22280%22%20cy%3D%22246%22%20r%3D%2246%22%2F%3E%3Ccircle%20cx%3D%22200%22%20cy%3D%22292%22%20r%3D%2246%22%2F%3E%3Ccircle%20cx%3D%22120%22%20cy%3D%22246%22%20r%3D%2246%22%2F%3E%3Ccircle%20cx%3D%22120%22%20cy%3D%22154%22%20r%3D%2246%22%2F%3E%3Ccircle%20cx%3D%22200%22%20cy%3D%2216%22%20r%3D%2246%22%2F%3E%3Ccircle%20cx%3D%22359%22%20cy%3D%22108%22%20r%3D%2246%22%2F%3E%3Ccircle%20cx%3D%22359%22%20cy%3D%22292%22%20r%3D%2246%22%2F%3E%3Ccircle%20cx%3D%22200%22%20cy%3D%22384%22%20r%3D%2246%22%2F%3E%3Ccircle%20cx%3D%2241%22%20cy%3D%22292%22%20r%3D%2246%22%2F%3E%3Ccircle%20cx%3D%2241%22%20cy%3D%22108%22%20r%3D%2246%22%2F%3E%3C%2Fsvg%3E");
            width: 440px; height: 440px; top: -140px; left: -150px; opacity: .09;
        }
        .booking::after {
            background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%20400%20400%22%20fill%3D%22none%22%20stroke%3D%22%236E4E96%22%20stroke-width%3D%222.0%22%3E%3Cpath%20d%3D%22M200%20200L200%20108M200%20200L280%20154M200%20200L280%20246M200%20200L200%20292M200%20200L120%20246M200%20200L120%20154M200%20200L200%2016M200%20200L359%20108M200%20200L359%20292M200%20200L200%20384M200%20200L41%20292M200%20200L41%20108M200%20108L280%20154M200%20108L280%20246M200%20108L200%20292M200%20108L120%20246M200%20108L120%20154M200%20108L200%2016M200%20108L359%20108M200%20108L359%20292M200%20108L200%20384M200%20108L41%20292M200%20108L41%20108M280%20154L280%20246M280%20154L200%20292M280%20154L120%20246M280%20154L120%20154M280%20154L200%2016M280%20154L359%20108M280%20154L359%20292M280%20154L200%20384M280%20154L41%20292M280%20154L41%20108M280%20246L200%20292M280%20246L120%20246M280%20246L120%20154M280%20246L200%2016M280%20246L359%20108M280%20246L359%20292M280%20246L200%20384M280%20246L41%20292M280%20246L41%20108M200%20292L120%20246M200%20292L120%20154M200%20292L200%2016M200%20292L359%20108M200%20292L359%20292M200%20292L200%20384M200%20292L41%20292M200%20292L41%20108M120%20246L120%20154M120%20246L200%2016M120%20246L359%20108M120%20246L359%20292M120%20246L200%20384M120%20246L41%20292M120%20246L41%20108M120%20154L200%2016M120%20154L359%20108M120%20154L359%20292M120%20154L200%20384M120%20154L41%20292M120%20154L41%20108M200%2016L359%20108M200%2016L359%20292M200%2016L200%20384M200%2016L41%20292M200%2016L41%20108M359%20108L359%20292M359%20108L200%20384M359%20108L41%20292M359%20108L41%20108M359%20292L200%20384M359%20292L41%20292M359%20292L41%20108M200%20384L41%20292M200%20384L41%20108M41%20292L41%20108%22%2F%3E%3Ccircle%20cx%3D%22200%22%20cy%3D%22200%22%20r%3D%2246%22%2F%3E%3Ccircle%20cx%3D%22200%22%20cy%3D%22108%22%20r%3D%2246%22%2F%3E%3Ccircle%20cx%3D%22280%22%20cy%3D%22154%22%20r%3D%2246%22%2F%3E%3Ccircle%20cx%3D%22280%22%20cy%3D%22246%22%20r%3D%2246%22%2F%3E%3Ccircle%20cx%3D%22200%22%20cy%3D%22292%22%20r%3D%2246%22%2F%3E%3Ccircle%20cx%3D%22120%22%20cy%3D%22246%22%20r%3D%2246%22%2F%3E%3Ccircle%20cx%3D%22120%22%20cy%3D%22154%22%20r%3D%2246%22%2F%3E%3Ccircle%20cx%3D%22200%22%20cy%3D%2216%22%20r%3D%2246%22%2F%3E%3Ccircle%20cx%3D%22359%22%20cy%3D%22108%22%20r%3D%2246%22%2F%3E%3Ccircle%20cx%3D%22359%22%20cy%3D%22292%22%20r%3D%2246%22%2F%3E%3Ccircle%20cx%3D%22200%22%20cy%3D%22384%22%20r%3D%2246%22%2F%3E%3Ccircle%20cx%3D%2241%22%20cy%3D%22292%22%20r%3D%2246%22%2F%3E%3Ccircle%20cx%3D%2241%22%20cy%3D%22108%22%20r%3D%2246%22%2F%3E%3C%2Fsvg%3E");
            width: 520px; height: 520px; bottom: -190px; right: -180px; opacity: .08;
        }
        .gift-section::after {
            background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%20400%20400%22%20fill%3D%22none%22%20stroke%3D%22%236E4E96%22%20stroke-width%3D%222.0%22%3E%3Cpath%20d%3D%22M200%20200L200%20108M200%20200L280%20154M200%20200L280%20246M200%20200L200%20292M200%20200L120%20246M200%20200L120%20154M200%20200L200%2016M200%20200L359%20108M200%20200L359%20292M200%20200L200%20384M200%20200L41%20292M200%20200L41%20108M200%20108L280%20154M200%20108L280%20246M200%20108L200%20292M200%20108L120%20246M200%20108L120%20154M200%20108L200%2016M200%20108L359%20108M200%20108L359%20292M200%20108L200%20384M200%20108L41%20292M200%20108L41%20108M280%20154L280%20246M280%20154L200%20292M280%20154L120%20246M280%20154L120%20154M280%20154L200%2016M280%20154L359%20108M280%20154L359%20292M280%20154L200%20384M280%20154L41%20292M280%20154L41%20108M280%20246L200%20292M280%20246L120%20246M280%20246L120%20154M280%20246L200%2016M280%20246L359%20108M280%20246L359%20292M280%20246L200%20384M280%20246L41%20292M280%20246L41%20108M200%20292L120%20246M200%20292L120%20154M200%20292L200%2016M200%20292L359%20108M200%20292L359%20292M200%20292L200%20384M200%20292L41%20292M200%20292L41%20108M120%20246L120%20154M120%20246L200%2016M120%20246L359%20108M120%20246L359%20292M120%20246L200%20384M120%20246L41%20292M120%20246L41%20108M120%20154L200%2016M120%20154L359%20108M120%20154L359%20292M120%20154L200%20384M120%20154L41%20292M120%20154L41%20108M200%2016L359%20108M200%2016L359%20292M200%2016L200%20384M200%2016L41%20292M200%2016L41%20108M359%20108L359%20292M359%20108L200%20384M359%20108L41%20292M359%20108L41%20108M359%20292L200%20384M359%20292L41%20292M359%20292L41%20108M200%20384L41%20292M200%20384L41%20108M41%20292L41%20108%22%2F%3E%3Ccircle%20cx%3D%22200%22%20cy%3D%22200%22%20r%3D%2246%22%2F%3E%3Ccircle%20cx%3D%22200%22%20cy%3D%22108%22%20r%3D%2246%22%2F%3E%3Ccircle%20cx%3D%22280%22%20cy%3D%22154%22%20r%3D%2246%22%2F%3E%3Ccircle%20cx%3D%22280%22%20cy%3D%22246%22%20r%3D%2246%22%2F%3E%3Ccircle%20cx%3D%22200%22%20cy%3D%22292%22%20r%3D%2246%22%2F%3E%3Ccircle%20cx%3D%22120%22%20cy%3D%22246%22%20r%3D%2246%22%2F%3E%3Ccircle%20cx%3D%22120%22%20cy%3D%22154%22%20r%3D%2246%22%2F%3E%3Ccircle%20cx%3D%22200%22%20cy%3D%2216%22%20r%3D%2246%22%2F%3E%3Ccircle%20cx%3D%22359%22%20cy%3D%22108%22%20r%3D%2246%22%2F%3E%3Ccircle%20cx%3D%22359%22%20cy%3D%22292%22%20r%3D%2246%22%2F%3E%3Ccircle%20cx%3D%22200%22%20cy%3D%22384%22%20r%3D%2246%22%2F%3E%3Ccircle%20cx%3D%2241%22%20cy%3D%22292%22%20r%3D%2246%22%2F%3E%3Ccircle%20cx%3D%2241%22%20cy%3D%22108%22%20r%3D%2246%22%2F%3E%3C%2Fsvg%3E");
            width: 420px; height: 420px; top: -130px; right: -140px; opacity: .09;
        }
        .faq-section::after {
            background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%20400%20400%22%20fill%3D%22none%22%20stroke%3D%22%236E4E96%22%20stroke-width%3D%222.0%22%3E%3Cpath%20d%3D%22M200%20200L200%20108M200%20200L280%20154M200%20200L280%20246M200%20200L200%20292M200%20200L120%20246M200%20200L120%20154M200%20200L200%2016M200%20200L359%20108M200%20200L359%20292M200%20200L200%20384M200%20200L41%20292M200%20200L41%20108M200%20108L280%20154M200%20108L280%20246M200%20108L200%20292M200%20108L120%20246M200%20108L120%20154M200%20108L200%2016M200%20108L359%20108M200%20108L359%20292M200%20108L200%20384M200%20108L41%20292M200%20108L41%20108M280%20154L280%20246M280%20154L200%20292M280%20154L120%20246M280%20154L120%20154M280%20154L200%2016M280%20154L359%20108M280%20154L359%20292M280%20154L200%20384M280%20154L41%20292M280%20154L41%20108M280%20246L200%20292M280%20246L120%20246M280%20246L120%20154M280%20246L200%2016M280%20246L359%20108M280%20246L359%20292M280%20246L200%20384M280%20246L41%20292M280%20246L41%20108M200%20292L120%20246M200%20292L120%20154M200%20292L200%2016M200%20292L359%20108M200%20292L359%20292M200%20292L200%20384M200%20292L41%20292M200%20292L41%20108M120%20246L120%20154M120%20246L200%2016M120%20246L359%20108M120%20246L359%20292M120%20246L200%20384M120%20246L41%20292M120%20246L41%20108M120%20154L200%2016M120%20154L359%20108M120%20154L359%20292M120%20154L200%20384M120%20154L41%20292M120%20154L41%20108M200%2016L359%20108M200%2016L359%20292M200%2016L200%20384M200%2016L41%20292M200%2016L41%20108M359%20108L359%20292M359%20108L200%20384M359%20108L41%20292M359%20108L41%20108M359%20292L200%20384M359%20292L41%20292M359%20292L41%20108M200%20384L41%20292M200%20384L41%20108M41%20292L41%20108%22%2F%3E%3Ccircle%20cx%3D%22200%22%20cy%3D%22200%22%20r%3D%2246%22%2F%3E%3Ccircle%20cx%3D%22200%22%20cy%3D%22108%22%20r%3D%2246%22%2F%3E%3Ccircle%20cx%3D%22280%22%20cy%3D%22154%22%20r%3D%2246%22%2F%3E%3Ccircle%20cx%3D%22280%22%20cy%3D%22246%22%20r%3D%2246%22%2F%3E%3Ccircle%20cx%3D%22200%22%20cy%3D%22292%22%20r%3D%2246%22%2F%3E%3Ccircle%20cx%3D%22120%22%20cy%3D%22246%22%20r%3D%2246%22%2F%3E%3Ccircle%20cx%3D%22120%22%20cy%3D%22154%22%20r%3D%2246%22%2F%3E%3Ccircle%20cx%3D%22200%22%20cy%3D%2216%22%20r%3D%2246%22%2F%3E%3Ccircle%20cx%3D%22359%22%20cy%3D%22108%22%20r%3D%2246%22%2F%3E%3Ccircle%20cx%3D%22359%22%20cy%3D%22292%22%20r%3D%2246%22%2F%3E%3Ccircle%20cx%3D%22200%22%20cy%3D%22384%22%20r%3D%2246%22%2F%3E%3Ccircle%20cx%3D%2241%22%20cy%3D%22292%22%20r%3D%2246%22%2F%3E%3Ccircle%20cx%3D%2241%22%20cy%3D%22108%22%20r%3D%2246%22%2F%3E%3C%2Fsvg%3E");
            width: 380px; height: 380px; bottom: -120px; right: -120px; opacity: .09;
        }
        @media (max-width: 760px) {
            .services::after, .reviews-section::after, .zone-section::after,
            .booking::after, .gift-section::after, .faq-section::after { opacity: .06; }
            .counters-wrap::after, footer::after { opacity: .12; }
        }


        /* ── Système typographique unifié ───────────── */
        input, select, textarea, button, .btn-main, .btn-ghost,
        .faq-question, .blog-card, .gift-choice, .zone-card {
            font-family: 'Jost', -apple-system, BlinkMacSystemFont, sans-serif;
        }
        code, pre, kbd { font-family: 'Jost', monospace; }

        /* ── Counters ───────────────────────────────── */
        .counters-wrap {
            background: #B39C86;
            padding: 3.6rem 1rem;
            text-align: center;
        }

        .counters-grid {
            display: grid;
            grid-template-columns: repeat(auto-fit, minmax(130px, 1fr));
            gap: 2rem;
            max-width: 720px;
            margin: 0 auto;
        }

        .counter-number {
            font-family: 'Cormorant Garamond', Georgia, serif;
            font-size: 3.2rem;
            font-weight: 400;
            color: #FFFFFF;
            line-height: 1;
        }

        .counter-label { color: rgba(255,255,255,0.88); font-size: 0.72rem; letter-spacing: .2em;
            text-transform: uppercase; margin-top: .6rem; }

        /* ── About ──────────────────────────────────── */
        .about {
            background: #FCF9F5;
            position: relative;
            overflow: hidden;
        }
        .about::before {
            content: "";
            position: absolute;
            top: 0; right: -6%;
            width: min(760px, 76%); height: 100%;
            background-image: url('photos/frederic.jpg');
            background-size: cover;
            background-position: center 22%;
            opacity: .13;
            -webkit-mask-image: linear-gradient(to left, rgba(0,0,0,1) 8%, rgba(0,0,0,0) 82%);
            mask-image: linear-gradient(to left, rgba(0,0,0,1) 8%, rgba(0,0,0,0) 82%);
            pointer-events: none;
            z-index: 0;
        }
        .about > * { position: relative; z-index: 1; }
        .about p { text-align: left; font-size: 1rem; }
        @media (max-width: 760px) {
            .about::before { width: 100%; right: 0; opacity: .08; -webkit-mask-image: none; mask-image: none; }
        }

        /* ── Services ───────────────────────────────── */
        .services { background: #F4EEE6; }

        .services-grid {
            display: grid;
            grid-template-columns: repeat(auto-fit, minmax(270px, 1fr));
            gap: 1.8rem;
        }

        .service-card {
            background: #FCF9F5;
            border-radius: 4px;
            border: 1px solid #E7DED2;
            overflow: hidden;
            transition: transform 0.25s, box-shadow 0.25s, border-color 0.25s;
            display: flex;
            flex-direction: column;
        }

        .service-card:hover {
            border-color: #D7CBE6;
            transform: translateY(-6px);
            box-shadow: 0 12px 32px rgba(154,133,184,0.07);
        }

        .service-card-header {
            padding: 1.6rem 1.6rem 1rem;
            text-align: center;
            border-bottom: 1px solid rgba(154,133,184,0.2);
            background: #FCF9F5;
        }

        .service-icon { font-size: 2.4rem; margin-bottom: 0.5rem; }

        .service-sanskrit {
            font-family: 'Cormorant Garamond', serif;
            color: #9A85B8;
            font-size: 1.15rem;
            font-weight: 600;
            margin-bottom: 0.2rem;
        }

        .service-subtitle {
            font-size: 0.8rem;
            color: #bbb;
            font-style: italic;
            margin-bottom: 0.9rem;
        }

        .service-badges {
            display: flex;
            justify-content: center;
            gap: 0.5rem;
            flex-wrap: wrap;
        }

        .badge-duration {
            background: #F6F0E8;
            color: #9A85B8;
            border: 1px solid rgba(154,133,184,0.45);
            padding: 0.22rem 0.8rem;
            border-radius: 50px;
            font-size: 0.8rem;
            font-weight: 600;
        }

        .badge-price {
            background: linear-gradient(135deg, #9A85B8, #7E6A9C);
            color: #fff;
            padding: 0.22rem 0.9rem;
            border-radius: 50px;
            font-size: 0.8rem;
            font-weight: 700;
        }

        .service-card-body {
            padding: 1.2rem 1.5rem;
            flex: 1;
        }

        .service-desc {
            font-size: 0.88rem;
            color: #666;
            line-height: 1.65;
            margin-bottom: 1rem;
        }

        .service-benefits {
            list-style: none;
            display: flex;
            flex-direction: column;
            gap: 0.32rem;
        }

        .service-benefits li {
            font-size: 0.8rem;
            color: #555;
            display: flex;
            align-items: flex-start;
            gap: 0.45rem;
            line-height: 1.4;
        }

        .service-benefits li::before {
            content: '✦';
            color: #9A85B8;
            font-size: 0.72rem;
            flex-shrink: 0;
            margin-top: 0.22rem;
        }

        .service-card-footer {
            padding: 0.8rem 1.5rem 1.3rem;
            text-align: center;
        }

        .btn-book {
            display: inline-block;
            width: 100%;
            padding: 0.72rem;
            background: linear-gradient(135deg, #9A85B8, #7E6A9C);
            color: #fff;
            text-decoration: none;
            border-radius: 50px;
            font-weight: 700;
            font-size: 0.88rem;
            letter-spacing: 0.04em;
            transition: transform 0.2s, box-shadow 0.2s;
            border: none;
            cursor: pointer;
        }

        .btn-book:hover {
            transform: translateY(-2px);
            box-shadow: 0 6px 18px rgba(139,94,60,0.07);
        }

        .tarif { color: #7E6A9C; font-size: 1.4rem; font-weight: 700; margin: 0.5rem 0 0; }

        /* ── Reviews ────────────────────────────────── */
        .reviews-section { background: #F4EEE6; }

        .reviews-average {
            display: inline-flex;
            align-items: center;
            gap: 0.8rem;
            background: #fff;
            border: 2px solid #B39C86;
            border-radius: 50px;
            padding: 0.6rem 1.6rem;
            margin: 0.75rem auto 2rem;
        }

        .avg-score { font-size: 1.85rem; font-weight: 700; color: #9C8467; }
        .stars { color: #9A85B8; font-size: 1.15rem; letter-spacing: 2px; }
        .avg-count { font-size: 0.8rem; color: #999; }

        .reviews-grid {
            display: grid;
            grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
            align-items: start;
            gap: 1.25rem;
        }

        .review-card {
            background: #FCF9F5;
            border-radius: 4px;
            padding: 1.5rem 1.4rem;
            box-shadow: none;
            border: 1px solid #E7DED2;
            transition: transform 0.2s, box-shadow 0.2s, border-color 0.2s;
        }

        .review-card:hover {
            border-color: #D7CBE6;
            transform: translateY(-4px);
            box-shadow: 0 8px 24px rgba(179,156,134,0.07);
        }

        .review-header { display: flex; align-items: center; gap: 0.9rem; margin-bottom: 0.6rem; }

        .reviewer-avatar {
            width: 42px; height: 42px;
            border-radius: 50%;
            display: flex; align-items: center; justify-content: center;
            font-size: 1.15rem; font-weight: 700; color: #fff;
            flex-shrink: 0;
        }

        .reviewer-info h4 { font-size: 0.88rem; color: #333; }
        .review-date { font-size: 0.8rem; color: #bbb; }
        .review-stars { color: #9A85B8; font-size: 0.88rem; margin-bottom: 0.4rem; }
        .review-text {
            font-size: 0.88rem;
            color: #5B5148;
            font-style: italic;
            line-height: 1.6;
            margin: 0;
        }
        .review-text.replie {
            display: -webkit-box;
            -webkit-line-clamp: 7;
            -webkit-box-orient: vertical;
            overflow: hidden;
        }
        .voir-plus {
            display: inline-block;
            margin-top: .55rem;
            background: none;
            border: none;
            padding: 0;
            cursor: pointer;
            font-family: 'Jost', sans-serif;
            font-size: .72rem;
            letter-spacing: .12em;
            text-transform: uppercase;
            color: #9A85B8;
            border-bottom: 1px solid #D7CBE6;
            transition: color .2s, border-color .2s;
        }
        .voir-plus:hover { color: #7E6A9C; border-bottom-color: #9A85B8; }
        .insecable { white-space: nowrap; }
        .google-badge { display: flex; align-items: center; gap: 0.4rem; font-size: 0.72rem; color: #bbb; margin-top: 0.75rem; }

        /* ── Gallery ────────────────────────────────── */
        .gallery-section { background: #fff; }

        .gallery-grid {
            display: grid;
            grid-template-columns: repeat(auto-fill, minmax(190px, 1fr));
            gap: 0.75rem;
        }

        .gallery-item {
            position: relative;
            aspect-ratio: 1;
            border-radius: 4px;
            overflow: hidden;
            cursor: pointer;
        }

        .gallery-placeholder {
            width: 100%; height: 100%;
            display: flex; align-items: center; justify-content: center;
            font-size: 2.4rem;
            transition: transform 0.4s ease;
        }

        .gallery-item img {
            width: 100%; height: 100%;
            object-fit: cover;
            display: block;
            transition: transform 0.4s ease;
        }

        .gallery-item:hover .gallery-placeholder,
        .gallery-item:hover img { transform: scale(1.07); }

        .gallery-overlay {
            position: absolute; inset: 0;
            background: rgba(156,132,103,0);
            display: flex; align-items: center; justify-content: center;
            transition: background 0.3s;
        }

        .gallery-item:hover .gallery-overlay { background: rgba(156,132,103,0.4); }

        .gallery-zoom {
            color: #fff; font-size: 1.85rem; opacity: 0;
            transition: opacity 0.3s;
        }

        .gallery-item:hover .gallery-zoom { opacity: 1; }

        .gallery-note {
            text-align: center;
            margin-top: 1.2rem;
            font-size: 0.8rem;
            color: #bbb;
        }

        .gallery-note code {
            background: #f0f0f0;
            padding: 0.1rem 0.4rem;
            border-radius: 4px;
            font-size: 0.8rem;
        }

        /* ── Lightbox ───────────────────────────────── */
        .lightbox {
            display: none;
            position: fixed; inset: 0;
            background: rgba(0,0,0,0.92);
            z-index: 1000;
            align-items: center;
            justify-content: center;
        }

        .lightbox.active { display: flex; }

        .lightbox-content { position: relative; text-align: center; }

        .lightbox-placeholder {
            width: min(80vw, 400px);
            height: min(80vw, 400px);
            border-radius: 4px;
            display: flex; align-items: center; justify-content: center;
            font-size: 6rem;
        }

        .lightbox-content img {
            max-width: 90vw; max-height: 80vh;
            border-radius: 4px;
            object-fit: contain;
        }

        .lightbox-caption { color: #5B5148; margin-top: 1rem; font-size: 0.88rem; }

        .lightbox-close {
            position: fixed; top: 1.25rem; right: 1.25rem;
            background: #fff; border: none; border-radius: 50%;
            width: 42px; height: 42px;
            font-size: 1.4rem; cursor: pointer;
            display: flex; align-items: center; justify-content: center;
            color: #333; z-index: 1001;
        }

        .lightbox-nav {
            position: fixed; top: 50%; transform: translateY(-50%);
            background: rgba(255,255,255,0.18); border: none; color: #fff;
            font-size: 2.4rem; padding: 0.6rem 1rem; cursor: pointer;
            border-radius: 4px; transition: background 0.2s;
        }

        .lightbox-nav:hover { background: rgba(255,255,255,0.35); }
        .lightbox-prev { left: 0.75rem; }
        .lightbox-next { right: 0.75rem; }

        /* ── FAQ ────────────────────────────────────── */
        .faq-section { background: #F1EAE0; }

        .faq-list { display: flex; flex-direction: column; gap: 0.6rem; }

        .faq-item {
            background: #fff;
            border-radius: 4px;
            border: 1px solid #EFE6D9;
            overflow: hidden;
        }

        .faq-question {
            display: flex; justify-content: space-between; align-items: center;
            padding: 1rem 1.4rem;
            cursor: pointer; font-weight: 500; color: #9C8467;
            gap: 1rem; user-select: none;
            transition: background 0.2s;
        }

        .faq-question:hover { background: #F4EEE6; }

        .faq-icon { flex-shrink: 0; font-size: 1.4rem; transition: transform 0.3s; color: #B39C86; }
        .faq-item.open .faq-icon { transform: rotate(45deg); }

        .faq-answer {
            display: none;
            padding: 0 1.4rem 1rem;
            color: #555; font-size: 0.88rem; line-height: 1.7;
        }

        .faq-item.open .faq-answer { display: block; }

        /* ── Booking ────────────────────────────────── */
        .booking { background: #F1EAE0; }

        .form-container {
            background: #fff;
            padding: 2rem;
            border-radius: 4px;
            border: 1px solid #EFE6D9;
        }

        .form-grid {
            display: grid;
            grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
            gap: 1rem; margin-bottom: 1rem;
        }

        .form-group { display: flex; flex-direction: column; }

        .form-group label {
            margin-bottom: 0.4rem; font-weight: 500;
            color: #9C8467; font-size: 0.88rem;
        }

        .form-group input,
        .form-group textarea {
            padding: 0.75rem;
            border: 1px solid #EFE6D9;
            border-radius: 4px;
            font-size: 1rem;
            font-family: inherit;
            transition: border-color 0.2s, box-shadow 0.2s;
        }

        .form-group input:focus,
        .form-group textarea:focus {
            outline: none;
            border-color: #B39C86;
            box-shadow: 0 0 0 3px rgba(179,156,134,0.1);
        }

        .form-group textarea { resize: vertical; min-height: 120px; }

        .buttons {
            display: grid;
            grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
            gap: 1rem; margin-top: 1.5rem;
        }

        button {
            padding: 0.8rem 1.5rem;
            border: none; border-radius: 4px;
            font-size: 1rem; font-weight: 600;
            cursor: pointer;
            transition: background 0.3s, transform 0.2s;
        }

        button:hover { transform: translateY(-1px); }

        .btn-whatsapp { background: #B39C86; color: #fff; }
        .btn-whatsapp:hover { background: #9C8467; }
        .btn-email { background: #B39C86; color: #fff; }
        .btn-email:hover { background: #2FA3D4; }

        /* ── Contact ────────────────────────────────── */
        .contact { background: #fff; text-align: center; }

        .contact-grid {
            display: grid;
            grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
            gap: 1.5rem;
        }

        .contact-card {
            padding: 1.5rem; border-radius: 4px;
            text-decoration: none; border: 2px solid;
            transition: background 0.3s, transform 0.2s;
            font-weight: 500; color: inherit; display: block;
        }

        .contact-card:hover { transform: translateY(-2px); }
        .whatsapp-card { background: #F1EAE0; border-color: #4CAF50; color: #9C8467; }
        .whatsapp-card:hover { background: #C8E6C9; }
        .email-card { background: #F4EEE6; border-color: #2196F3; color: #9A85B8; }
        .email-card:hover { background: #E7DED2; }
        .location-card { background: #F5EFE7; border-color: #9A85B8; color: #9A85B8; }
        .contact-card small { display: block; font-size: 0.8rem; font-weight: normal; margin-top: 0.4rem; }

        /* ── Footer ─────────────────────────────────── */
        footer {
            background: #9C8467; color: #fff;
            padding: 2rem 1rem; text-align: center;
        }

        footer p { margin: 0; font-size: 0.88rem; }
        footer p:last-child { margin-top: 0.5rem; font-size: 0.8rem; opacity: 0.85; font-style: italic; }

        /* ── Indian theme overrides ─────────────────── */
        .hero { background: #F6F0E8; }
        .hero p { color: #7E6A9C; }
        .about { background: #FFFCF8; }
        .services { background: #F4EEE6; }
        .service-card { border-color: #9A85B8; }
        .service-card:hover { box-shadow: 0 8px 22px rgba(154,133,184,0.07); }
        .service-card h3 { color: #9A85B8; }
        .tarif { color: #7E6A9C; }
        .booking { background: #F4EEE6; }
        .form-group label { color: #9A85B8; }
        .form-group input:focus, .form-group textarea:focus { border-color: #9A85B8; box-shadow: 0 0 0 3px rgba(154,133,184,0.07); }
        .btn-whatsapp { background: #25D366; }
        .btn-whatsapp:hover { background: #1da851; }
        .faq-section { background: #F4EEE6; }
        .faq-question { color: #9A85B8; }
        .faq-icon { color: #9A85B8; }
        .reviews-section { background: #FFFCF8; }
        .review-card { border-left-color: #9A85B8; }
        .gallery-section { background: #FDF8F1; }
        .counters-wrap { background: #4A4038; }
        .blog-section { background: #FFFCF8; }
        .blog-tag { background: linear-gradient(135deg, #9A85B8, #7E6A9C); }
        .blog-card { background: #F6F0E8; border-color: rgba(154,133,184,0.3); }
        .blog-card h3 { color: #7E6A9C; }
        .btn-read { color: #9A85B8; }
        .btn-read:hover { color: #7E6A9C; }
        .dosha-badge.badge-vata { background: #F5EFE7; color: #9A85B8; }
        .btn-dosha { background: linear-gradient(135deg, #9A85B8, #7E6A9C); }
        .agenda-section { background: #FFFCF8; }
        .contact { background: #FFFCF8; }
        footer { background: #4A4038; border-top: 3px solid #9A85B8; }

        /* ── Mandala ─────────────────────────────────── */
        .mandala-wrap {
            position: absolute;
            top: 44%; left: 88%;
            transform: translate(-50%, -50%);
            width: min(620px, 88vw); height: min(620px, 88vw);
            pointer-events: none;
            z-index: 1;
        }

        .mandala-outer {
            position: absolute; inset: 0;
            animation: mandalaRotate 80s linear infinite;
            opacity: 0.09;
        }

        .mandala-inner {
            position: absolute; inset: 20%;
            animation: mandalaRotateReverse 50s linear infinite;
            opacity: 0.15;
        }

        @keyframes mandalaRotate {
            from { transform: rotate(0deg); }
            to { transform: rotate(360deg); }
        }

        @keyframes mandalaRotateReverse {
            from { transform: rotate(0deg); }
            to { transform: rotate(-360deg); }
        }

        /* ── Petals ──────────────────────────────────── */
        .petal {
            position: absolute;
            border-radius: 60% 0 60% 0;
            pointer-events: none;
            z-index: 1;
            animation: petalFall linear forwards;
            top: -30px;
        }

        @keyframes petalFall {
            0%   { transform: translateY(0)    rotate(0deg)   translateX(0);    opacity: 0; }
            8%   { opacity: 0.9; }
            80%  { opacity: 0.6; }
            100% { transform: translateY(420px) rotate(540deg) translateX(70px); opacity: 0; }
        }

        /* ── Music player ────────────────────────────── */
        .music-btn {
            position: fixed;
            bottom: 5.5rem;
            right: 1.5rem;
            z-index: 998;
            background: rgba(46,40,34,0.92);
            border: 1.5px solid #9A85B8;
            border-radius: 50px;
            padding: 0.55rem 1rem;
            display: flex;
            align-items: center;
            gap: 0.5rem;
            color: #9A85B8;
            cursor: pointer;
            font-size: 0.8rem;
            font-weight: 600;
            letter-spacing: 0.04em;
            transition: all 0.3s;
            backdrop-filter: blur(10px);
            box-shadow: 0 4px 16px rgba(154,133,184,0.07);
        }

        .music-btn:hover { transform: translateY(-2px); box-shadow: 0 6px 22px rgba(154,133,184,0.07); }

        .music-bars {
            display: flex;
            align-items: flex-end;
            gap: 2px;
            height: 14px;
        }

        .music-bar {
            width: 3px;
            background: #9A85B8;
            border-radius: 4px;
            height: 4px;
        }

        .music-btn.playing .music-bar:nth-child(1) { animation: barBounce 0.7s ease-in-out infinite alternate; }
        .music-btn.playing .music-bar:nth-child(2) { animation: barBounce 0.9s ease-in-out infinite alternate 0.15s; }
        .music-btn.playing .music-bar:nth-child(3) { animation: barBounce 0.6s ease-in-out infinite alternate 0.3s; }

        @keyframes barBounce {
            from { height: 3px; }
            to   { height: 14px; }
        }

        @media (max-width: 480px) {
            .music-btn .music-label { display: none; }
            .music-btn { padding: 0.6rem; border-radius: 50%; }
        }

        /* ── Dosha Quiz ─────────────────────────────── */
        .dosha-section { background: #F1EAE0; }

        .dosha-card {
            background: #fff;
            border-radius: 4px;
            padding: 2rem;
            box-shadow: 0 4px 20px rgba(179,156,134,0.07);
            border: 2px solid #B39C86;
            text-align: center;
        }

        .dosha-badges {
            display: flex;
            justify-content: center;
            gap: 1rem;
            margin: 1.5rem 0;
            flex-wrap: wrap;
        }

        .dosha-badge {
            padding: 0.6rem 1.2rem;
            border-radius: 50px;
            font-size: 0.88rem;
            font-weight: 600;
        }

        .badge-vata { background: #F4EEE6; color: #9A85B8; border: 2px solid #90CAF9; }
        .badge-pitta { background: #F5EFE7; color: #9A85B8; border: 2px solid #FFCC80; }
        .badge-kapha { background: #F1EAE0; color: #9C8467; border: 2px solid #A5D6A7; }

        .dosha-iframe-wrap {
            margin-top: 1.5rem;
            border-radius: 4px;
            overflow: hidden;
            border: 1px solid #EFE6D9;
            background: #fff;
        }

        .dosha-iframe-wrap iframe {
            width: 100%;
            height: 650px;
            border: none;
            display: block;
        }

        .btn-dosha {
            display: inline-block;
            margin-top: 1.2rem;
            padding: 0.9rem 2.2rem;
            background: #B39C86;
            color: #fff;
            text-decoration: none;
            border-radius: 50px;
            font-weight: 600;
            font-size: 1rem;
            transition: transform 0.2s, box-shadow 0.2s;
            box-shadow: 0 4px 14px rgba(179,156,134,0.07);
        }

        .btn-dosha:hover { transform: translateY(-2px); box-shadow: 0 6px 20px rgba(179,156,134,0.07); }

        /* ── WhatsApp flottant ──────────────────────── */
        .whatsapp-float {
            position: fixed;
            bottom: 1.5rem;
            right: 1.5rem;
            z-index: 999;
            display: flex;
            align-items: center;
            gap: 0.6rem;
            background: #25D366;
            color: #fff;
            text-decoration: none;
            border-radius: 50px;
            padding: 0.75rem 1.2rem;
            font-weight: 600;
            font-size: 1rem;
            box-shadow: 0 4px 18px rgba(37,211,102,0.07);
            transition: transform 0.2s, box-shadow 0.2s;
            animation: waPulse 2.5s ease-in-out infinite;
        }

        .whatsapp-float:hover {
            transform: translateY(-3px) scale(1.04);
            box-shadow: 0 8px 28px rgba(37,211,102,0.07);
            animation: none;
        }

        .whatsapp-float svg { width: 22px; height: 22px; flex-shrink: 0; }
        .whatsapp-float .wa-label { white-space: nowrap; }

        @keyframes waPulse {
            0%, 100% { box-shadow: 0 4px 18px rgba(37,211,102,0.07); }
            50% { box-shadow: 0 4px 28px rgba(37,211,102,0.07), 0 0 0 8px rgba(37,211,102,0.1); }
        }

        @media (max-width: 480px) {
            .whatsapp-float .wa-label { display: none; }
            .whatsapp-float { padding: 0.9rem; border-radius: 50%; }
            .whatsapp-float svg { width: 26px; height: 26px; }
            .dosha-iframe-wrap iframe { height: 500px; }
        }

        /* ── Scroll animations ──────────────────────── */
        .fade-in { opacity: 0; transform: translateY(22px); transition: opacity 0.65s ease, transform 0.65s ease; }
        .fade-in.visible { opacity: 1; transform: translateY(0); }

        /* ── Responsive ─────────────────────────────── */
        @media (max-width: 768px) {
            header h1 { font-size: 1.85rem; }
            section { padding: 2rem 1rem; }
            .section-title { font-size: 1.4rem; }
            nav ul { gap: 1rem; }
            .lightbox-nav { font-size: 1.4rem; padding: 0.5rem 0.7rem; }
        }

        @media (max-width: 480px) {
            .gallery-grid { grid-template-columns: repeat(2, 1fr); }
            nav ul { gap: 0.7rem; }
            nav a { font-size: 0.8rem; }
        }

        /* ── Carte Cadeau ───────────────────────────── */
        .gift-section { background: #F4EEE6; padding: 3rem 1rem; }
        .gift-section .section-title { color: #9A85B8; }
        .gift-section .section-title::after { color: #847768; }
        .gift-section .section-subtitle { color: rgba(154,133,184,0.55); }

        .gift-inner { max-width: 900px; margin: 0 auto; }

        /* Étapes */
        .gift-steps {
            display: flex; justify-content: center; gap: 0; margin-bottom: 2.5rem;
            flex-wrap: wrap;
        }
        .gift-step {
            display: flex; align-items: center; gap: 0.5rem;
            font-size: 0.8rem; color: #847768;
            font-weight: 600; letter-spacing: 0.05em; text-transform: uppercase;
        }
        .gift-step.active { color: #9A85B8; }
        .gift-step-num {
            width: 26px; height: 26px; border-radius: 50%;
            background: rgba(154,133,184,0.15); border: 1px solid rgba(154,133,184,0.3);
            display: flex; align-items: center; justify-content: center;
            font-size: 0.72rem; font-weight: 700; color: #847768;
        }
        .gift-step.active .gift-step-num { background: #9A85B8; color: #4A4038; border-color: #9A85B8; }
        .gift-step-sep { width: 30px; height: 1px; background: rgba(154,133,184,0.2); margin: 0 0.3rem; }

        /* Choix séance */
        .gift-choices { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px,1fr)); gap: 1rem; margin-bottom: 2rem; }

        .gift-choice {
            border: 2px solid rgba(154,133,184,0.25);
            border-radius: 4px; padding: 1.3rem; cursor: pointer;
            transition: all 0.25s; text-align: center;
            background: #FCF9F5;
            position: relative;
        }
        .gift-choice:hover { border-color: rgba(154,133,184,0.6); background: rgba(154,133,184,0.06); }
        .gift-choice.selected { border-color: #9A85B8; background: rgba(154,133,184,0.1); }
        .gift-choice.selected::after {
            content: '✓'; position: absolute; top: 0.6rem; right: 0.8rem;
            color: #9A85B8; font-size: 1rem; font-weight: 700;
        }
        .gift-choice-icon { font-size: 1.85rem; margin-bottom: 0.4rem; }
        .gift-choice-name { font-family: 'Cormorant Garamond', serif; color: #4A4038; font-size: 1rem; margin-bottom: 0.15rem; }
        .gift-choice-sub { color: #847768; font-size: 0.72rem; margin-bottom: 0.5rem; }
        .gift-choice-price { color: #7E6A9C; font-size: 1.4rem; font-weight: 700; }
        .gift-choice-duration { color: #847768; font-size: 0.72rem; }

        /* Formulaire cadeau */
        .gift-form-wrap {
            background: #FCF9F5;
            border: 1px solid #E0D6EC;
            border-radius: 4px; padding: 1.8rem; margin-bottom: 2rem;
        }

        .gift-form-title { color: #9A85B8; font-family: 'Cormorant Garamond',serif; font-size: 1rem; margin-bottom: 1.2rem; }

        .gift-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(200px,1fr)); gap: 1rem; margin-bottom: 1rem; }

        .gift-group { display: flex; flex-direction: column; gap: 0.4rem; }
        .gift-group label { font-size: 0.8rem; color: #7E6A9C; font-weight: 600; letter-spacing: 0.04em; text-transform: uppercase; }
        .gift-group input,
        .gift-group select,
        .gift-group textarea {
            background: #FCF9F5; border: 1px solid rgba(154,133,184,0.25);
            border-radius: 4px; padding: 0.7rem 0.9rem; color: #5B5148;
            font-size: 0.88rem; font-family: inherit; transition: border-color 0.2s;
        }
        .gift-group input::placeholder, .gift-group textarea::placeholder { color: rgba(255,255,255,0.3); }
        .gift-group input:focus, .gift-group select:focus, .gift-group textarea:focus {
            outline: none; border-color: #9A85B8; background: rgba(154,133,184,0.06);
        }
        .gift-group select option { background: #FCF9F5; color: #5B5148; }
        .gift-group textarea { resize: vertical; min-height: 80px; }

        /* Aperçu carte */
        .gift-preview-wrap { margin-bottom: 2rem; }
        .gift-preview-label { color: rgba(154,133,184,0.55); font-size: 0.72rem; text-transform: uppercase; letter-spacing: 0.08em; text-align: center; margin-bottom: 0.8rem; }

        .gift-card-preview {
            max-width: 500px; margin: 0 auto;
            background: #4A4038;
            border: 2px solid #9A85B8; border-radius: 4px;
            padding: 2rem 2.5rem; position: relative; overflow: hidden;
            box-shadow: 0 8px 40px rgba(0,0,0,0.07), 0 0 0 1px rgba(154,133,184,0.1);
        }

        .gift-card-preview::before {
            content: '';
            position: absolute; top: -60px; right: -60px;
            width: 200px; height: 200px; border-radius: 50%;
            background: radial-gradient(circle, rgba(154,133,184,0.12), transparent 70%);
        }

        .gift-card-logo { font-size: 0.72rem; color: rgba(255,255,255,0.6); letter-spacing: 0.15em; text-transform: uppercase; margin-bottom: 0.3rem; }
        .gift-card-brand { font-family: 'Cormorant Garamond', serif; color: #9A85B8; font-size: 1.15rem; margin-bottom: 1.5rem; }
        .gift-card-offer { color: rgba(255,255,255,0.5); font-size: 0.72rem; text-transform: uppercase; letter-spacing: 0.08em; margin-bottom: 0.2rem; }
        .gift-card-session { font-family: 'Cormorant Garamond', serif; color: #fff; font-size: 1rem; margin-bottom: 0.2rem; }
        .gift-card-duration { color: rgba(154,133,184,0.6); font-size: 0.8rem; margin-bottom: 1.2rem; }
        .gift-card-amount { font-size: 2.4rem; font-weight: 700; color: #9A85B8; line-height: 1; margin-bottom: 0.2rem; }
        .gift-card-divider { height: 1px; background: rgba(154,133,184,0.2); margin: 1.2rem 0; }
        .gift-card-to { color: rgba(255,255,255,0.4); font-size: 0.72rem; text-transform: uppercase; letter-spacing: 0.08em; }
        .gift-card-recipient { color: #fff; font-size: 1rem; font-weight: 600; margin: 0.1rem 0 0.5rem; min-height: 1.4em; }
        .gift-card-message { color: rgba(255,255,255,0.6); font-size: 0.8rem; font-style: italic; line-height: 1.5; min-height: 2em; }
        .gift-card-footer { display: flex; justify-content: space-between; align-items: flex-end; margin-top: 1.2rem; }
        .gift-card-from { color: rgba(255,255,255,0.35); font-size: 0.72rem; }
        .gift-card-from span { color: rgba(154,133,184,0.6); font-weight: 600; }
        .gift-card-seal { color: #9A85B8; font-size: 1.4rem; opacity: 0.6; }

        /* Bouton commander */
        .btn-gift-order {
            display: flex; align-items: center; justify-content: center; gap: 0.7rem;
            width: 100%; max-width: 400px; margin: 0 auto;
            padding: 1rem 2rem; border-radius: 50px;
            background: linear-gradient(135deg, #25D366, #1da851);
            color: #fff; font-weight: 700; font-size: 1rem;
            border: none; cursor: pointer;
            transition: transform 0.2s, box-shadow 0.2s;
            box-shadow: 0 4px 20px rgba(37,211,102,0.07);
        }
        .btn-gift-order:hover { transform: translateY(-2px); box-shadow: 0 8px 28px rgba(37,211,102,0.07); }
        .btn-gift-order svg { width: 22px; height: 22px; }

        .gift-actions { display: flex; gap: 1rem; flex-wrap: wrap; justify-content: center; margin-bottom: 0; }

        .btn-gift-stripe {
            display: flex; align-items: center; justify-content: center; gap: 0.7rem;
            width: 100%; max-width: 400px;
            padding: 1rem 2rem; border-radius: 50px;
            background: linear-gradient(135deg, #635BFF, #4B44CC);
            color: #fff; font-weight: 700; font-size: 1rem;
            border: none; cursor: pointer;
            transition: transform 0.2s, box-shadow 0.2s;
            box-shadow: 0 4px 20px rgba(99,91,255,0.07);
        }
        .btn-gift-stripe:hover { transform: translateY(-2px); box-shadow: 0 8px 28px rgba(99,91,255,0.07); }
        .btn-gift-stripe:disabled { opacity: 0.4; cursor: not-allowed; transform: none; }
        .btn-gift-order:disabled { opacity: 0.4; cursor: not-allowed; transform: none; }

        .gift-notice {
            text-align: center; margin-top: 1rem;
            font-size: 0.8rem; color: #847768;
            line-height: 1.6;
        }

        /* ── Zone Itinérante ────────────────────────── */
        .zone-banner {
            background: #F1EAE0;
            border-bottom: 2px solid #9A85B8;
            padding: 0.6rem 1rem;
            text-align: center;
            display: none;
        }
        .zone-banner.active { display: block; }
        .zone-banner-inner { max-width: 700px; margin: 0 auto; }
        .zone-badge { display: inline-flex; align-items: center; gap: 0.6rem; color: #9A85B8; font-weight: 600; font-size: 0.88rem; }
        .zone-badge-dot { width: 9px; height: 9px; border-radius: 50%; background: #25D366; animation: pulse 2s infinite; flex-shrink:0; }
        .zone-banner-dates { color: #847768; font-size: 0.72rem; margin-top: 0.25rem; }
        .zone-banner-link { margin-top: 0.3rem; }
        .zone-banner-link a { font-size: 0.72rem; color: #7E6A9C; text-decoration: underline; cursor: pointer; }

        .zone-section { background: #F4EEE6; padding: 3rem 1rem; display: none; }
        .zone-section.active { display: block; }
        .zone-section .section-title { color: #9A85B8; }
        .zone-section .section-subtitle { color: #847768; }
        .zone-inner { max-width: 860px; margin: 0 auto; }
        .zone-map-wrap { border-radius: 4px; overflow: hidden; height: 320px; border: 2px solid rgba(154,133,184,0.3); margin-bottom: 1.5rem; }
        #leafletMap { height: 100%; width: 100%; }
        .zone-cards { display: grid; grid-template-columns: repeat(auto-fit, minmax(180px,1fr)); gap: 1rem; margin-bottom: 1.5rem; }
        .zone-card { background: #FCF9F5; border: 1px solid #E0D6EC; border-radius: 4px; padding: 1.2rem; text-align: center; }
        .zone-card-icon { font-size: 1.85rem; margin-bottom: 0.3rem; }
        .zone-card-label { color: #847768; font-size: 0.72rem; text-transform: uppercase; letter-spacing: 0.08em; }
        .zone-card-val { color: #4A4038; font-size: 1rem; font-weight: 700; margin-top: 0.2rem; }
        .zone-card-sub { color: #847768; font-size: 0.72rem; }
        .zone-note-box { background: rgba(154,133,184,0.07); border: 1px solid #E0D6EC; border-radius: 4px; padding: 0.9rem 1.3rem; color: #847768; font-style: italic; font-size: 0.88rem; margin-bottom: 1.5rem; display:none; }
        .zone-check-wrap { text-align: center; }
        .btn-check-zone { background: #B39C86; color: #fff; border: none; padding: 0.8rem 2rem; border-radius: 50px; font-weight: 700; cursor: pointer; font-size: 0.88rem; transition: transform 0.2s; }
        .btn-check-zone:hover { transform: translateY(-2px); }
        #zoneCheckResult { margin-top: 1rem; padding: 0.8rem 1.3rem; border-radius: 4px; font-weight: 600; display: none; font-size: 0.88rem; line-height: 1.5; }
        #zoneCheckResult.in-zone { background: rgba(37,211,102,0.12); border: 1px solid rgba(37,211,102,0.35); color: #25D366; }
        #zoneCheckResult.out-zone { background: rgba(154,133,184,0.08); border: 1px solid rgba(154,133,184,0.25); color: #9A85B8; }

        /* Admin overlay */
        .admin-overlay { position: fixed; inset: 0; z-index: 1000; background: rgba(46,40,34,0.97); backdrop-filter: blur(10px); overflow-y: auto; display: none; padding: 1.5rem 1rem 3rem; }
        .admin-overlay.open { display: block; }
        .admin-panel { max-width: 680px; margin: 0 auto; }
        .admin-header { display: flex; justify-content: space-between; align-items: center; margin-bottom: 2rem; padding-bottom: 1rem; border-bottom: 1px solid rgba(154,133,184,0.25); }
        .admin-title { font-family: 'Cormorant Garamond', serif; color: #9A85B8; font-size: 1.15rem; }
        .admin-close { background: none; border: 1px solid rgba(154,133,184,0.3); color: #7E6A9C; font-size: 1.15rem; cursor: pointer; border-radius: 50%; width: 34px; height: 34px; display:flex;align-items:center;justify-content:center; }
        .admin-section { margin-bottom: 1.8rem; }
        .admin-section-title { color: rgba(154,133,184,0.6); font-size: 0.72rem; text-transform: uppercase; letter-spacing: 0.1em; font-weight: 700; margin-bottom: 0.8rem; border-bottom: 1px solid rgba(154,133,184,0.1); padding-bottom: 0.4rem; }
        .admin-grid2 { display: grid; grid-template-columns: repeat(auto-fit, minmax(200px,1fr)); gap: 1rem; }
        .admin-group { display: flex; flex-direction: column; gap: 0.35rem; }
        .admin-group label { font-size: 0.72rem; color: rgba(154,133,184,0.55); font-weight: 600; text-transform: uppercase; letter-spacing: 0.04em; }
        .admin-group input, .admin-group select, .admin-group textarea { background: #FCF9F5; border: 1px solid rgba(154,133,184,0.22); border-radius: 4px; padding: 0.65rem 0.85rem; color: #fff; font-size: 0.88rem; font-family: inherit; transition: border-color 0.2s; width:100%; }
        .admin-group input:focus, .admin-group textarea:focus { outline: none; border-color: #9A85B8; }
        .admin-group input::placeholder, .admin-group textarea::placeholder { color: rgba(255,255,255,0.25); }
        .admin-group textarea { resize: vertical; min-height: 70px; }
        .admin-radius-row { display: flex; gap: 0.5rem; }
        .admin-radius-btn { flex: 1; padding: 0.6rem; border: 1px solid rgba(154,133,184,0.22); border-radius: 4px; background: #FCF9F5; color: rgba(154,133,184,0.55); font-weight: 700; cursor: pointer; transition: all 0.2s; font-size: 0.88rem; }
        .admin-radius-btn.active { border-color: #9A85B8; background: rgba(154,133,184,0.1); color: #9A85B8; }
        .admin-favs { display: flex; flex-wrap: wrap; gap: 0.4rem; margin-top: 0.6rem; }
        .admin-fav { padding: 0.35rem 0.8rem; border: 1px solid #E0D6EC; border-radius: 4px; background: rgba(255,255,255,0.03); color: rgba(154,133,184,0.55); font-size: 0.72rem; cursor: pointer; transition: all 0.2s; }
        .admin-fav:hover { border-color: #9A85B8; color: #9A85B8; background: rgba(154,133,184,0.07); }
        .btn-admin-save { width: 100%; padding: 0.95rem; border-radius: 4px; background: linear-gradient(135deg, #9A85B8, #7E6A9C); color: #4A4038; font-weight: 700; font-size: 1rem; border: none; cursor: pointer; transition: transform 0.2s; margin-top: 0.3rem; }
        .btn-admin-save:hover { transform: translateY(-2px); }
        .btn-admin-clear { width: 100%; padding: 0.7rem; border-radius: 4px; background: rgba(255,80,80,0.08); border: 1px solid rgba(255,80,80,0.25); color: rgba(255,150,150,0.75); font-weight: 600; font-size: 0.8rem; cursor: pointer; margin-top: 0.6rem; transition: all 0.2s; }
        .btn-admin-clear:hover { background: rgba(255,80,80,0.18); }
        .admin-status { text-align: center; margin-top: 0.6rem; font-size: 0.88rem; min-height: 1.4em; }
        .admin-status.ok { color: #25D366; }
        .admin-status.err { color: #ff7b7b; }
        .notif-preview { background: #FCF9F5; border: 1px solid rgba(154,133,184,0.15); border-radius: 4px; padding: 1rem; color: #5B5148; font-size: 0.8rem; line-height: 1.75; white-space: pre-wrap; min-height: 110px; margin-top: 0.5rem; }
        .admin-notif-btns { display: flex; gap: 0.6rem; flex-wrap: wrap; margin-top: 0.6rem; }
        .btn-notif { padding: 0.5rem 1.1rem; border-radius: 4px; background: rgba(154,133,184,0.08); border: 1px solid rgba(154,133,184,0.25); color: #9A85B8; font-size: 0.8rem; font-weight: 600; cursor: pointer; transition: all 0.2s; }
        .btn-notif:hover { background: rgba(154,133,184,0.18); }
        .admin-login-wrap { text-align: center; padding: 2rem 0; }
        .admin-login-wrap p { color: rgba(154,133,184,0.55); margin-bottom: 1.2rem; font-size: 0.88rem; }
        .admin-login-wrap input { display: block; width: 100%; max-width: 280px; margin: 0 auto 1rem; background: #FCF9F5; border: 1px solid rgba(154,133,184,0.25); border-radius: 4px; padding: 0.75rem 1rem; color: #5B5148; font-size: 1rem; font-family: inherit; text-align: center; letter-spacing: 0.1em; }
        .admin-login-wrap input:focus { outline: none; border-color: #9A85B8; }
        .btn-admin-login { padding: 0.75rem 2rem; border-radius: 50px; background: linear-gradient(135deg, #9A85B8, #7E6A9C); color: #4A4038; font-weight: 700; border: none; cursor: pointer; }
        .wa-contact-btn { display:flex; align-items:center; justify-content:space-between; padding:0.5rem 0.8rem; background:rgba(37,211,102,0.07); border:1px solid rgba(37,211,102,0.2); border-radius: 4px; cursor:pointer; transition:all 0.2s; text-decoration:none; }
        .wa-contact-btn:hover { background:rgba(37,211,102,0.15); border-color:rgba(37,211,102,0.4); }
        .wa-contact-name { color: #5B5148; font-size: 0.8rem; font-weight:600; }
        .wa-contact-phone { color:rgba(37,211,102,0.7); font-size: 0.72rem; }
        .wa-send-icon { color:#25D366; font-size: 1rem; }

        /* ── Agenda Google ──────────────────────────── */
        .agenda-section { background: #F4EEE6; }

        .agenda-setup-banner {
            background: #FFF8E1;
            border: 2px solid #FFB300;
            border-radius: 4px;
            padding: 1rem 1.5rem;
            margin-bottom: 1.5rem;
            font-size: 0.88rem;
            color: #5D4037;
            display: none; /* caché par défaut, affiché si besoin */
        }

        .agenda-wrap {
            background: #fff;
            border-radius: 4px;
            overflow: hidden;
            border: 2px solid #EFE6D9;
            box-shadow: 0 4px 20px rgba(179,156,134,0.1);
        }

        .agenda-wrap iframe {
            width: 100%;
            height: 580px;
            border: none;
            display: block;
        }

        .agenda-actions {
            display: flex;
            gap: 1rem;
            justify-content: center;
            flex-wrap: wrap;
            margin-top: 1.5rem;
        }

        .btn-agenda {
            display: inline-flex;
            align-items: center;
            gap: 0.5rem;
            padding: 0.8rem 1.6rem;
            border-radius: 50px;
            font-weight: 600;
            font-size: 0.88rem;
            text-decoration: none;
            transition: transform 0.2s, box-shadow 0.2s;
            cursor: pointer;
            border: none;
        }

        .btn-agenda-primary {
            background: #B39C86;
            color: #fff;
            box-shadow: 0 4px 14px rgba(179,156,134,0.07);
        }

        .btn-agenda-primary:hover { transform: translateY(-2px); box-shadow: 0 6px 20px rgba(179,156,134,0.07); }

        .btn-agenda-secondary {
            background: #F1EAE0;
            color: #9C8467;
            border: 2px solid #B39C86;
        }

        .btn-agenda-secondary:hover { background: #EFE6D9; transform: translateY(-2px); }

        @media (max-width: 600px) {
            .agenda-wrap iframe { height: 420px; }
        }

        /* ── Blog ───────────────────────────────────── */
        .blog-section { background: #fff; }

        .blog-grid {
            display: grid;
            grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
            gap: 1.5rem;
        }

        .blog-card {
            background: #F4EEE6;
            border-radius: 4px;
            overflow: hidden;
            border: 1px solid #EFE6D9;
            transition: transform 0.2s, box-shadow 0.2s;
            cursor: pointer;
        }

        .blog-card:hover {
            transform: translateY(-5px);
            box-shadow: 0 10px 28px rgba(179,156,134,0.07);
        }

        .blog-card-img {
            height: 140px;
            display: flex;
            align-items: center;
            justify-content: center;
            font-size: 3.2rem;
        }

        .blog-card-body { padding: 1.2rem; }

        .blog-tag {
            display: inline-block;
            background: #B39C86;
            color: #fff;
            font-size: 0.72rem;
            font-weight: 600;
            padding: 0.2rem 0.7rem;
            border-radius: 50px;
            margin-bottom: 0.6rem;
            text-transform: uppercase;
            letter-spacing: 0.05em;
        }

        .blog-card h3 { font-size: 1rem; color: #9C8467; margin-bottom: 0.4rem; line-height: 1.4; }
        .blog-card p { font-size: 0.88rem; color: #777; line-height: 1.6; margin-bottom: 0.8rem; }

        .blog-meta { font-size: 0.8rem; color: #aaa; display: flex; gap: 0.8rem; }

        .btn-read {
            display: inline-flex;
            align-items: center;
            gap: 0.4rem;
            margin-top: 0.8rem;
            color: #B39C86;
            font-weight: 600;
            font-size: 0.88rem;
            background: none;
            border: none;
            cursor: pointer;
            padding: 0;
            transition: color 0.2s;
        }

        .btn-read:hover { color: #9C8467; }

        /* Blog Modal */
        .blog-modal {
            display: none;
            position: fixed;
            inset: 0;
            background: rgba(0,0,0,0.7);
            z-index: 2000;
            align-items: flex-start;
            justify-content: center;
            padding: 2rem 1rem;
            overflow-y: auto;
        }

        .blog-modal.active { display: flex; }

        .blog-modal-content {
            background: #fff;
            border-radius: 4px;
            max-width: 720px;
            width: 100%;
            padding: 2.5rem;
            position: relative;
            margin: auto;
        }

        .blog-modal-close {
            position: absolute;
            top: 1rem; right: 1rem;
            background: #f0f0f0; border: none;
            border-radius: 50%; width: 38px; height: 38px;
            font-size: 1.15rem; cursor: pointer;
            display: flex; align-items: center; justify-content: center;
            color: #333; transition: background 0.2s;
        }

        .blog-modal-close:hover { background: #e0e0e0; }

        .blog-modal-emoji { font-size: 3.2rem; margin-bottom: 0.5rem; }
        .blog-modal-tag { display: inline-block; background: #B39C86; color: #fff; font-size: 0.72rem; font-weight: 600; padding: 0.2rem 0.7rem; border-radius: 50px; margin-bottom: 0.8rem; text-transform: uppercase; }
        .blog-modal-content h2 { color: #9C8467; font-size: 1.4rem; margin-bottom: 0.5rem; line-height: 1.3; }
        .blog-modal-meta { font-size: 0.8rem; color: #aaa; margin-bottom: 1.5rem; }
        .blog-modal-body { color: #444; font-size: 1rem; line-height: 1.8; }
        .blog-modal-body h3 { color: #9C8467; font-size: 1.15rem; margin: 1.5rem 0 0.5rem; }
        .blog-modal-body p { margin-bottom: 1rem; }
        .blog-modal-body ul { margin: 0.5rem 0 1rem 1.5rem; }
        .blog-modal-body ul li { margin-bottom: 0.4rem; }
        .blog-modal-cta {
            margin-top: 2rem;
            padding: 1.2rem;
            background: #F1EAE0;
            border-radius: 4px;
            text-align: center;
        }
        .blog-modal-cta p { margin: 0 0 0.8rem; font-size: 0.88rem; color: #9C8467; font-weight: 500; }
    
        /* ── Filet de sécurité typographique ────────── */
        body, body input, body select, body textarea, body button, body option {
            font-family: 'Jost', -apple-system, BlinkMacSystemFont, sans-serif;
        }
        h1, h2, h3, .section-title, .head-title, .counter-number,
        .soin .nom, .avis .txt, blockquote {
            font-family: 'Cormorant Garamond', Georgia, serif;
        }
    

nav ul{align-items:center;}
.nav-actif{color:#7E6A9C!important;border-bottom-color:#9A85B8!important;}
.nav-brand{display:inline-flex;align-items:center;margin-right:auto;}
.nav-brand img{height:34px;width:auto;}
@media(max-width:760px){.nav-brand img{height:28px;}}
