
    :root {
      --rose:       #e8b4b8;
      --rose-deep:  #c9636b;
      --sauge:      #8aab8a;
      --bleu-eau:   #a8c4d4;
      --lavande:    #b8a8d4;
      --or:         #d4a853;
      --terre:      #b07a5e;
      --encre:      #2c2824;
      --creme:      #faf6f0;
    }
    *, *::before, *::after { margin:0; padding:0; box-sizing:border-box; }
    html { scroll-behavior:smooth; }

    body { font-family:"Cormorant Garamond",serif; background:var(--creme); color:var(--encre); overflow-x:hidden; }

    /* ── CURSOR ── */
    .cursor { position:fixed; width:12px; height:12px; background:var(--rose-deep); border-radius:50%; pointer-events:none; z-index:9999; transform:translate(-50%,-50%); transition:transform .1s; mix-blend-mode:multiply; }

    /* ── NAV ── */
    nav { position:relative; top:200; left:0; right:0; z-index:100; display:flex; align-items:center; justify-content:space-between; padding:1.4rem 3rem; background:rgba(250,246,240,.95); backdrop-filter:blur(12px); border-bottom:1px solid rgba(176,122,94,.12); transition:box-shadow .3s; }
    nav.scrolled { box-shadow:0 4px 30px rgba(44,40,36,.1); }
    .nav-logo { font-family:"Playfair Display",serif; font-size:1.8rem; color:var(--encre); text-decoration:none; letter-spacing:.05em; }
    .nav-logo span { color:var(--rose-deep); }
    .nav-links { display:flex; gap:2rem; list-style:none; }
    .nav-links a { font-size:.82rem; letter-spacing:.18em; text-transform:uppercase; color:var(--encre); text-decoration:none; transition:color .2s; }
    .nav-links a:hover, .nav-links a.active { color:var(--rose-deep); }
    .nav-cta { display:flex; gap:.8rem; }
    .btn-nav { padding:.55rem 1.4rem; font-family:"Cormorant Garamond",serif; font-size:.82rem; letter-spacing:.15em; text-transform:uppercase; text-decoration:none; transition:all .25s; }
    .btn-nav-don { background:var(--rose-deep); color:#fff; }
    .btn-nav-don:hover { background:#b5535b; }
    .btn-nav-adh { border:1.5px solid var(--encre); color:var(--encre); }
    .btn-nav-adh:hover { background:var(--encre); color:var(--creme); }
    .burger { display:none; flex-direction:column; gap:5px; cursor:pointer; background:none; border:none; padding:4px; }
    .burger span { display:block; width:24px; height:1.5px; background:var(--encre); transition:all .3s; }
    .mob-nav { display:none; position:fixed; top:0; left:0; right:0; bottom:0; background:var(--creme); z-index:99; padding:6rem 2rem 2rem; flex-direction:column; gap:2rem; }
    .mob-nav.open { display:flex; }
    .mob-nav a { font-family:"Playfair Display",serif; font-size:2rem; color:var(--encre); text-decoration:none; border-bottom:1px solid rgba(176,122,94,.15); padding-bottom:1rem; }

    /* ── PAGE HERO ── */
    .page-hero { padding:9rem 2rem 5rem; position:relative; overflow:hidden; }
    .page-hero.dark { background:var(--encre); }
    .page-hero.light { background:var(--creme); }
    .page-hero.rose  { background:linear-gradient(135deg,#fdf0f1 0%,#f5eaf5 100%); }
    .page-hero.sage  { background:linear-gradient(135deg,#edf4ed 0%,#e8f0f8 100%); }
    .page-hero.warm  { background:linear-gradient(135deg,var(--rose-deep) 0%,var(--lavande) 100%); }
    .wc-blob { position:absolute; border-radius:50%; filter:blur(70px); opacity:.15; pointer-events:none; }
    .wc-1 { width:500px; height:450px; background:var(--rose); top:-80px; left:-100px; animation:drift1 18s ease-in-out infinite alternate; }
    .wc-2 { width:400px; height:380px; background:var(--sauge); top:50px; right:-80px; animation:drift2 22s ease-in-out infinite alternate; }
    .wc-3 { width:300px; height:280px; background:var(--bleu-eau); bottom:-60px; left:40%; animation:drift3 16s ease-in-out infinite alternate; }
    @keyframes drift1 { 0%{transform:translate(0,0) scale(1);} 100%{transform:translate(40px,30px) scale(1.08);} }
    @keyframes drift2 { 0%{transform:translate(0,0) scale(1);} 100%{transform:translate(-30px,40px) scale(1.05);} }
    @keyframes drift3 { 0%{transform:translate(0,0) scale(1);} 100%{transform:translate(20px,-20px) scale(1.1);} }
    .hero-inner { position:relative; z-index:1; max-width:1180px; margin:0 auto; }
    .hero-badge { display:inline-block; font-size:.75rem; letter-spacing:.3em; text-transform:uppercase; padding:.4rem 1.2rem; border:1px solid; margin-bottom:1.5rem; }
    .dark .hero-badge { border-color:var(--or); color:var(--or); }
    .light .hero-badge, .rose .hero-badge, .sage .hero-badge { border-color:var(--terre); color:var(--terre); }
    .warm .hero-badge { border-color:rgba(255,255,255,.6); color:rgba(255,255,255,.9); }
    .page-hero h1 { font-family:"Playfair Display",serif; font-size:clamp(3rem,7vw,6rem); line-height:1.08; margin-bottom:1.2rem; }
    .dark h1 { color:var(--creme); }
    .light h1, .rose h1, .sage h1 { color:var(--encre); }
    .warm h1 { color:#fff; }
    h1 em { font-style:italic; }
    .dark h1 em { color:var(--or); }
    .light h1 em, .rose h1 em, .sage h1 em { color:var(--rose-deep); }
    .warm h1 em { color:rgba(255,255,255,.85); }
    .hero-desc { font-size:clamp(1rem,2vw,1.3rem); font-weight:300; line-height:1.8; max-width:640px; margin-bottom:2.5rem; }
    .dark .hero-desc { color:rgba(250,246,240,.7); }
    .light .hero-desc, .rose .hero-desc, .sage .hero-desc { color:var(--terre); }
    .warm .hero-desc { color:rgba(255,255,255,.85); }
    .hero-ctas { display:flex; gap:1rem; flex-wrap:wrap; }
    .breadcrumb-bar { background:#; border-bottom:1px solid rgba(176,122,94,.12); padding:.8rem 2rem; font-size:.8rem; letter-spacing:.05em; }
    .breadcrumb-bar a { color:var(--rose-deep); text-decoration:none; }
    .breadcrumb-bar span { margin:0 .5rem; color:var(--terre); }

    /* ── SECTIONS ── */
    .section-inner { max-width:1180px; margin:0 auto; padding:5rem 2rem; }
    .section-label { font-size:.75rem; letter-spacing:.3em; text-transform:uppercase; color:var(--terre); margin-bottom:.8rem; display:block; }
    .section-title { font-family:"Playfair Display",serif; font-size:clamp(1.8rem,4vw,3rem); line-height:1.2; color:var(--encre); margin-bottom:1.2rem; }
    .section-title em { font-style:italic; color:var(--rose-deep); }
    .section-body { font-size:1.05rem; line-height:1.85; font-weight:300; color:#4a443e; }
    .divider { width:60px; height:2px; background:linear-gradient(to right,var(--rose-deep),var(--or)); margin:1.2rem 0 2rem; }

    /* ── BOUTONS ── */
    .btn-primary { padding:.85rem 2.2rem; background:var(--rose-deep); color:#fff; font-family:"Cormorant Garamond",serif; font-size:1rem; letter-spacing:.1em; text-transform:uppercase; text-decoration:none; border:none; cursor:pointer; transition:transform .2s, box-shadow .2s; display:inline-block; }
    .btn-primary:hover { transform:translateY(-2px); box-shadow:0 8px 24px rgba(201,99,107,.35); }
    .btn-secondary { padding:.85rem 2.2rem; background:transparent; color:var(--sauge); font-family:"Cormorant Garamond",serif; font-size:1rem; letter-spacing:.1em; text-transform:uppercase; text-decoration:none; border:1.5px solid var(--sauge); cursor:pointer; transition:background .25s, color .25s; display:inline-block; }
    .btn-secondary:hover { background:var(--sauge); color:#fff; }
    .btn-dark { padding:.85rem 2.2rem; background:var(--encre); color:var(--creme); font-family:"Cormorant Garamond",serif; font-size:1rem; letter-spacing:.1em; text-transform:uppercase; text-decoration:none; border:none; cursor:pointer; transition:background .2s; display:inline-block; }
    .btn-dark:hover { background:var(--rose-deep); }
    .btn-gold { padding:.85rem 2.2rem; background:var(--or); color:var(--encre); font-family:"Cormorant Garamond",serif; font-size:1rem; letter-spacing:.1em; text-transform:uppercase; text-decoration:none; cursor:pointer; transition:opacity .2s; display:inline-block; font-weight:600; }
    .btn-gold:hover { opacity:.88; }

    /* ── GRILLES CARDS ── */
    .grid-2 { display:grid; grid-template-columns:repeat(2,1fr); gap:2rem; }
    .grid-3 { display:grid; grid-template-columns:repeat(3,1fr); gap:2rem; }
    .grid-4 { display:grid; grid-template-columns:repeat(4,1fr); gap:2rem; }
    @media(max-width:900px) { .grid-3,.grid-4 { grid-template-columns:repeat(2,1fr); } }
    @media(max-width:600px) { .grid-2,.grid-3,.grid-4 { grid-template-columns:1fr; } }

    .card { background:#fff; padding:2.5rem 2rem; box-shadow:0 4px 30px rgba(44,40,36,.06); transition:transform .3s, box-shadow .3s; }
    .card:hover { transform:translateY(-5px); box-shadow:0 12px 50px rgba(44,40,36,.14); }
    .card-dark { background:var(--encre); border:1px solid rgba(255,255,255,.1); }
    .card-dark:hover { border-color:var(--or); }
    .card .card-icon { font-size:2.4rem; margin-bottom:1.2rem; display:block; }
    .card h3 { font-family:"Playfair Display",serif; font-size:1.3rem; color:var(--encre); margin-bottom:.6rem; }
    .card-dark h3 { color:var(--creme); }
    .card p { font-size:.95rem; line-height:1.8; color:#5a5248; font-weight:300; }
    .card-dark p { color:rgba(250,246,240,.65); }
    .card-border { border-top:3px solid var(--rose-deep); }
    .card-border-sage { border-top:3px solid var(--sauge); }
    .card-border-or { border-top:3px solid var(--or); }
    .card-border-bleu { border-top:3px solid var(--bleu-eau); }
    .card::before { content:""; position:absolute; bottom:0; left:0; right:0; height:2px; background:linear-gradient(to right,var(--rose-deep),var(--or)); transform:scaleX(0); transition:transform .3s; }
    .card:hover::before { transform:scaleX(1); }
    .card { position:relative; overflow:hidden; }

    /* ── TAGS / BADGES ── */
    .tag { display:inline-block; padding:.25rem .9rem; font-size:.72rem; letter-spacing:.12em; text-transform:uppercase; margin-top:.8rem; }
    .tag-rose { background:rgba(201,99,107,.1); color:var(--rose-deep); border:1px solid rgba(201,99,107,.25); }
    .tag-sage { background:rgba(138,171,138,.12); color:#4a7a4a; border:1px solid rgba(138,171,138,.3); }
    .tag-or   { background:rgba(212,168,83,.12); color:#8a6a20; border:1px solid rgba(212,168,83,.3); }
    .tag-terre { background:rgba(176,122,94,.1); color:var(--terre); border:1px solid rgba(176,122,94,.25); }
    .tag-encre { background:var(--encre); color:var(--creme); }

    /* ── FORMULAIRES ── */
    .form-group { display:flex; flex-direction:column; gap:.4rem; margin-bottom:1.2rem; }
    .form-group label { font-size:.75rem; letter-spacing:.15em; text-transform:uppercase; color:var(--terre); }
    .form-group input, .form-group select, .form-group textarea { background:#fff; border:1px solid rgba(176,122,94,.35); padding:.85rem 1rem; font-family:"Cormorant Garamond",serif; font-size:1rem; color:var(--encre); outline:none; transition:border-color .25s; resize:none; }
    .form-group input:focus, .form-group select:focus, .form-group textarea:focus { border-color:var(--rose-deep); }
    .form-row { display:grid; grid-template-columns:1fr 1fr; gap:1rem; }
    @media(max-width:600px){ .form-row{ grid-template-columns:1fr; } }
    .form-submit { width:100%; padding:1rem; background:var(--encre); color:var(--creme); font-family:"Cormorant Garamond",serif; font-size:1rem; letter-spacing:.15em; text-transform:uppercase; border:none; cursor:pointer; transition:background .25s; }
    .form-submit:hover { background:var(--rose-deep); }

    /* ── CTA BAND ── */
    .cta-band { background:linear-gradient(135deg,var(--rose-deep) 0%,var(--lavande) 100%); padding:5rem 2rem; text-align:center; color:#fff; }
    .cta-band h2 { font-family:"Playfair Display",serif; font-size:clamp(2rem,4vw,3rem); margin-bottom:1rem; }
    .cta-band p { font-size:1.1rem; opacity:.85; max-width:560px; margin:0 auto 2rem; font-weight:300; line-height:1.8; }
    .cta-band .btn-gold { font-size:1rem; }

    /* ── STATS BAND ── */
    .stats-band { background:var(--encre); padding:3rem 2rem; }
    .stats-inner { max-width:1180px; margin:0 auto; display:grid; grid-template-columns:repeat(4,1fr); gap:2rem; text-align:center; }
    @media(max-width:700px){ .stats-inner{ grid-template-columns:repeat(2,1fr); } }
    .stat-num { font-family:"Playfair Display",serif; font-size:3rem; color:var(--rose); line-height:1; }
    .stat-lbl { font-size:.8rem; letter-spacing:.2em; text-transform:uppercase; color:rgba(250,246,240,.5); margin-top:.4rem; }

    /* ── QUOTE ── */
    .quote-section { padding:5rem 2rem; text-align:center; background:var(--creme); position:relative; overflow:hidden; }
    .quote-section::before { content:"\201C"; font-family:"Playfair Display",serif; font-size:20rem; color:var(--rose); opacity:.15; position:absolute; top:-4rem; left:50%; transform:translateX(-50%); line-height:1; pointer-events:none; }
    blockquote { position:relative; z-index:1; font-family:"Playfair Display",serif; font-size:clamp(1.4rem,3vw,2.2rem); font-style:italic; color:var(--encre); max-width:760px; margin:0 auto 1.5rem; line-height:1.5; }
    .quote-attr { font-size:.8rem; letter-spacing:.25em; text-transform:uppercase; color:var(--terre); }

    /* ── FAQ ── */
    .faq-item { border-bottom:1px solid rgba(176,122,94,.15); }
    .faq-toggle { width:100%; text-align:left; padding:1.4rem 0; background:none; border:none; font-family:"Playfair Display",serif; font-size:1.15rem; color:var(--encre); cursor:pointer; display:flex; justify-content:space-between; align-items:center; gap:1rem; }
    .faq-toggle .faq-icon { font-size:1.4rem; color:var(--rose-deep); transition:transform .3s; flex-shrink:0; }
    .faq-toggle.open .faq-icon { transform:rotate(45deg); }
    .faq-body { display:none; padding:0 0 1.4rem; font-size:1rem; line-height:1.85; font-weight:300; color:#5a5248; }

    /* ── TIMELINE ── */
    .timeline { position:relative; padding-left:2.5rem; }
    .timeline::before { content:""; position:absolute; left:0; top:0; bottom:0; width:1px; background:linear-gradient(to bottom,var(--rose-deep),var(--or)); }
    .tl-item { position:relative; padding-bottom:2.5rem; }
    .tl-item::before { content:""; position:absolute; left:-2.65rem; top:.3rem; width:14px; height:14px; border-radius:50%; background:var(--rose-deep); border:2px solid var(--creme); }
    .tl-year { font-family:"Playfair Display",serif; font-size:1.8rem; color:var(--rose-deep); margin-bottom:.3rem; }
    .tl-title { font-family:"Playfair Display",serif; font-size:1.1rem; color:var(--encre); margin-bottom:.5rem; }
    .tl-body { font-size:.95rem; line-height:1.8; font-weight:300; color:#5a5248; }

    /* ── TEAM CARD ── */
    .team-card { text-align:center; padding:2.5rem 1.5rem; }
    .team-avatar { width:90px; height:90px; border-radius:50%; background:linear-gradient(135deg,var(--rose-deep),var(--or)); display:flex; align-items:center; justify-content:center; font-family:"Playfair Display",serif; font-size:2rem; color:#fff; margin:0 auto 1.2rem; }
    .team-name { font-family:"Playfair Display",serif; font-size:1.2rem; color:var(--encre); margin-bottom:.3rem; }
    .team-role { font-size:.75rem; letter-spacing:.2em; text-transform:uppercase; color:var(--rose-deep); margin-bottom:.8rem; }
    .team-bio { font-size:.9rem; line-height:1.75; color:#5a5248; font-weight:300; }

    /* ── TEMOIGNAGES ── */
    .temo-card { padding:2.5rem; background:#fff; box-shadow:0 4px 30px rgba(44,40,36,.06); }
    .temo-quote { font-family:"Playfair Display",serif; font-size:1rem; font-style:italic; line-height:1.8; color:var(--encre); margin-bottom:1.5rem; }
    .temo-author { display:flex; align-items:center; gap:1rem; }
    .temo-avatar { width:44px; height:44px; border-radius:50%; background:linear-gradient(135deg,var(--rose-deep),var(--or)); display:flex; align-items:center; justify-content:center; color:#fff; font-family:"Playfair Display",serif; font-size:1.1rem; font-weight:700; flex-shrink:0; }
    .temo-name { font-weight:600; font-size:.9rem; color:var(--encre); }
    .temo-role { font-size:.8rem; color:var(--terre); font-weight:300; }

    /* ── BLOG CARD ── */
    .blog-card { overflow:hidden; }
    .blog-thumb { height:200px; display:flex; align-items:center; justify-content:center; font-size:4rem; }
    .blog-body { padding:1.5rem 2rem 2rem; }
    .blog-cat { font-size:.7rem; letter-spacing:.2em; text-transform:uppercase; color:var(--rose-deep); margin-bottom:.6rem; display:block; }
    .blog-title { font-family:"Playfair Display",serif; font-size:1.2rem; color:var(--encre); margin-bottom:.6rem; }
    .blog-excerpt { font-size:.9rem; line-height:1.75; color:#5a5248; font-weight:300; margin-bottom:1rem; }
    .blog-read { font-size:.75rem; letter-spacing:.15em; text-transform:uppercase; color:var(--rose-deep); text-decoration:none; }

    /* ── PRODUIT ── */
    .produit-card { text-align:center; padding:2.5rem 1.5rem; border:1px solid rgba(176,122,94,.2); transition:all .3s; position:relative; }
    .produit-card:hover { border-color:var(--rose-deep); box-shadow:0 8px 40px rgba(201,99,107,.12); }
    .produit-price { font-family:"Playfair Display",serif; font-size:2rem; color:var(--rose-deep); margin:1rem 0 .4rem; }
    .produit-tag { display:inline-block; padding:.3rem 1rem; background:var(--rose-deep); color:#fff; font-size:.72rem; letter-spacing:.12em; text-transform:uppercase; margin-top:1rem; }

    /* ── ADHERION ── */
    .adhesion-card { padding:3rem 2rem; text-align:center; position:relative; border:1px solid rgba(176,122,94,.25); transition:all .3s; }
    .adhesion-card:hover { transform:translateY(-6px); box-shadow:0 20px 60px rgba(44,40,36,.14); }
    .adhesion-card.featured { background:var(--encre); border-color:var(--encre); color:var(--creme); }
    .adhesion-badge { position:absolute; top:1rem; right:1rem; background:var(--or); color:var(--encre); font-size:.68rem; letter-spacing:.12em; text-transform:uppercase; padding:.2rem .7rem; }
    .adhesion-price { font-family:"Playfair Display",serif; font-size:2.8rem; color:var(--rose-deep); margin:1rem 0 .3rem; }
    .featured .adhesion-price { color:var(--or); }
    .adhesion-period { font-size:.85rem; opacity:.6; margin-bottom:1.5rem; }
    .adhesion-card h4 { font-family:"Playfair Display",serif; font-size:1.4rem; }
    .featured h4 { color:var(--creme); }
    .adhesion-card ul { list-style:none; margin:1.2rem 0 2rem; font-size:.9rem; line-height:2.1; font-weight:300; text-align:left; }
    .adhesion-card ul li::before { content:"✦ "; color:var(--or); font-size:.7rem; }
    .btn-adhere { display:block; padding:.75rem 1.5rem; background:var(--rose-deep); color:#fff; text-decoration:none; font-family:"Cormorant Garamond",serif; font-size:.9rem; letter-spacing:.12em; text-transform:uppercase; transition:opacity .2s; text-align:center; }
    .btn-adhere:hover { opacity:.85; }
    .featured .btn-adhere { background:var(--or); color:var(--encre); }

    /* ── REVEAL ── */
    .reveal { opacity:0; transform:translateY(28px); transition:opacity .7s ease, transform .7s ease; }
    .reveal.vis { opacity:1; transform:translateY(0); }

    /* ── FOOTER ── */
    footer { background:var(--encre); color:rgba(250,246,240,.6); padding:4rem 2rem 2rem; }
    .footer-inner { max-width:1180px; margin:0 auto; }
    .footer-top { display:grid; grid-template-columns:2fr 1fr 1fr 1fr; gap:3rem; padding-bottom:3rem; border-bottom:1px solid rgba(255,255,255,.1); }
    @media(max-width:900px){ .footer-top{ grid-template-columns:1fr 1fr; } }
    @media(max-width:600px){ .footer-top{ grid-template-columns:1fr; } }
    .footer-logo { font-family:"Playfair Display",serif; font-size:2rem; color:var(--creme); display:inline-block; margin-bottom:.8rem; text-decoration:none; }
    .footer-logo span { color:var(--rose-deep); }
    .footer-col h5 { font-family:"Playfair Display",serif; color:var(--creme); margin-bottom:1.2rem; font-size:1rem; }
    .footer-col ul { list-style:none; display:flex; flex-direction:column; gap:.6rem; }
    .footer-col ul a { color:rgba(250,246,240,.55); text-decoration:none; font-size:.9rem; transition:color .2s; }
    .footer-col ul a:hover { color:var(--rose); }
    .footer-bottom { display:flex; justify-content:space-between; align-items:center; padding-top:2rem; font-size:.8rem; flex-wrap:wrap; gap:1rem; }
    .social-links { display:flex; gap:1rem; }
    .social-links a { color:rgba(250,246,240,.5); text-decoration:none; font-size:.8rem; letter-spacing:.1em; text-transform:uppercase; transition:color .2s; }
    .social-links a:hover { color:var(--rose); }

    /* ── RESPONSIVE NAV ── */
    @media(max-width:860px){ .nav-links,.nav-cta{ display:none; } .burger{ display:flex; } }

