    :root {
      --vf: #2D4A3E; --vm: #4A7C59; --bp: #E8E0D0;
      --bc: #F4EFE6; --te: #8B6F47; --ec: #3D2B1F;
      --bn: #FAFAF7; --or: #C4975A;
      --tp: #2A2A2A; --tl: #6B6B6B;
    }
    * { margin:0; padding:0; box-sizing:border-box; }
    html { scroll-behavior:smooth; }
    body { font-family:'DM Sans',sans-serif; background:var(--bn); color:var(--tp); overflow-x:hidden; }

    /* ── NAV ── */
    nav {
      position:fixed; top:0; left:0; right:0; z-index:200;
      padding:1.1rem 3rem; display:flex; align-items:center; justify-content:space-between;
      background:rgba(250,250,247,0.94); backdrop-filter:blur(14px);
      border-bottom:1px solid rgba(45,74,62,0.07); transition:box-shadow .3s;
    }
    .nav-logo { font-family:'Cormorant Garamond',serif; font-size:1.3rem; font-weight:600; color:var(--vf); background:none; border:none; cursor:pointer; }
    .nav-logo span { color:var(--or); }
    .nav-links { display:flex; gap:2rem; align-items:center; }
    .nav-links button, .nav-links a {
      background:none; border:none; cursor:pointer;
      font-size:0.78rem; letter-spacing:0.08em; text-transform:uppercase;
      color:var(--tl); font-weight:400; transition:color .2s; font-family:'DM Sans',sans-serif;
    }
    .nav-links button:hover, .nav-links a:hover { color:var(--vf); font-weight:500; }
    .nav-links button.active, .nav-links a.active { color:var(--vf); font-weight:600; border-bottom:2px solid var(--vf); padding-bottom:2px; }
    .nav-cta { background:var(--vf) !important; color:var(--bn) !important; padding:0.55rem 1.3rem; border-radius:2px; font-size:0.78rem !important; font-weight:500 !important; border-bottom:none !important; }
    .nav-cta:hover { background:var(--vm) !important; }
    .nav-cta.active { background:var(--vm) !important; color:var(--bn) !important; border-bottom:none !important; }
    .nav-toggle { display:none; flex-direction:column; gap:5px; cursor:pointer; background:none; border:none; padding:4px; }
    .nav-toggle span { display:block; width:22px; height:2px; background:var(--vf); }

    /* ── PAGES ── */
    .page { display:none; padding-top:80px; }
    .page.active { display:block; }

    /* ── HERO ── */
    .hero { min-height:calc(100vh - 80px); display:grid; grid-template-columns:1fr 1fr; }
    .hero-left {
      background:var(--vf); padding:5rem 4.5rem 5rem 5rem;
      display:flex; flex-direction:column; justify-content:center;
      position:relative; overflow:hidden;
    }
    .hero-left::before {
      content:''; position:absolute; top:-20%; left:-10%; width:60%; height:60%;
      background:radial-gradient(circle,rgba(196,151,90,.14) 0%,transparent 70%); pointer-events:none;
    }
    .hero-tag { font-size:.72rem; letter-spacing:.18em; text-transform:uppercase; color:var(--or); margin-bottom:1.8rem; opacity:0; animation:fadeUp .8s .2s forwards; }
    .hero-h1 { font-family:'Cormorant Garamond',serif; font-size:clamp(2.6rem,4vw,3.8rem); font-weight:300; color:var(--bn); line-height:1.15; margin-bottom:1.8rem; opacity:0; animation:fadeUp .8s .4s forwards; }
    .hero-h1 em { color:var(--or); font-style:italic; }
    .hero-sub { font-size:1rem; font-weight:300; color:rgba(250,250,247,.68); line-height:1.8; max-width:380px; margin-bottom:2.5rem; opacity:0; animation:fadeUp .8s .6s forwards; }
    .hero-btns { display:flex; gap:1rem; flex-wrap:wrap; opacity:0; animation:fadeUp .8s .8s forwards; }
    .btn-or { background:var(--or); color:var(--ec); padding:.85rem 2rem; border:none; border-radius:2px; font-size:.85rem; font-weight:500; cursor:pointer; letter-spacing:.05em; font-family:'DM Sans',sans-serif; transition:all .2s; }
    .btn-or:hover { background:#d4a76a; transform:translateY(-1px); }
    .btn-ghost { background:none; color:var(--bn); padding:.85rem 2rem; border:1px solid rgba(250,250,247,.3); border-radius:2px; font-size:.85rem; cursor:pointer; font-family:'DM Sans',sans-serif; transition:all .2s; }
    .btn-ghost:hover { border-color:var(--or); color:var(--or); }
    .hero-right { background:var(--bc); position:relative; display:flex; align-items:center; justify-content:center; overflow:hidden; }
    .hero-right::before {
      content:''; position:absolute; inset:0;
      background:radial-gradient(ellipse at 30% 40%,rgba(74,124,89,.13) 0%,transparent 60%),
                 radial-gradient(ellipse at 70% 70%,rgba(196,151,90,.1) 0%,transparent 50%);
    }
    .hero-circle { width:280px; height:280px; border:1px solid rgba(45,74,62,.15); border-radius:50%; display:flex; align-items:center; justify-content:center; position:relative; z-index:2; opacity:0; animation:fadeIn 1.2s 1s forwards; }
    .hero-circle::before { content:''; position:absolute; inset:22px; border:1px solid rgba(45,74,62,.1); border-radius:50%; }
    .hero-circle::after { content:''; position:absolute; inset:52px; border:1px solid rgba(196,151,90,.2); border-radius:50%; }
    .hero-circle span { font-size:3.5rem; position:relative; z-index:3; }
    .hero-badge {
      position:absolute; bottom:2.5rem; right:2.5rem; background:white;
      padding:1.1rem 1.4rem; border-radius:4px; box-shadow:0 8px 32px rgba(45,74,62,.1);
      max-width:190px; z-index:3; opacity:0; animation:fadeUp .8s 1.2s forwards;
    }
    .badge-label { font-size:.68rem; letter-spacing:.1em; text-transform:uppercase; color:var(--or); margin-bottom:.4rem; }
    .badge-text { font-family:'Cormorant Garamond',serif; font-size:1.05rem; color:var(--vf); line-height:1.4; }

    /* ── SECTIONS COMMUNES ── */
    .section-label { font-size:.72rem; letter-spacing:.18em; text-transform:uppercase; color:var(--or); margin-bottom:1.2rem; }
    .section-h2 { font-family:'Cormorant Garamond',serif; font-size:clamp(1.9rem,2.8vw,2.6rem); font-weight:300; color:var(--vf); line-height:1.2; }
    .section-h2 em { font-style:italic; color:var(--te); }

    /* ── INTRO HOME ── */
    .s-intro { padding:6rem 5rem; display:grid; grid-template-columns:1fr 2fr; gap:5rem; align-items:center; }
    .intro-p { font-size:1rem; font-weight:300; color:var(--tl); line-height:1.85; margin-bottom:1.4rem; }
    .intro-p strong { color:var(--vf); font-weight:500; }
    .values { display:flex; gap:1.5rem; flex-wrap:wrap; margin-top:.5rem; }
    .val { display:flex; align-items:center; gap:.5rem; font-size:.85rem; color:var(--vf); font-weight:500; }
    .val-dot { width:7px; height:7px; background:var(--or); border-radius:50%; flex-shrink:0; }

    /* ── PRESTATIONS HOME ── */
    .s-presta { background:var(--bp); padding:6rem 5rem; }
    .s-presta-header { display:flex; justify-content:space-between; align-items:flex-end; margin-bottom:3.5rem; }
    .link-see { background:none; border:none; border-bottom:1px solid var(--vf); color:var(--vf); font-size:.85rem; font-weight:500; cursor:pointer; padding-bottom:2px; font-family:'DM Sans',sans-serif; }
    .presta-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:1.2rem; }
    .pcard {
      background:var(--bn); padding:2.2rem 1.8rem; border-radius:4px; cursor:pointer;
      transition:transform .3s,box-shadow .3s,border-bottom .3s;
      border-bottom:3px solid transparent;
    }
    .pcard:hover { transform:translateY(-4px); box-shadow:0 16px 40px rgba(45,74,62,.12); border-bottom:3px solid var(--vm); }
    .pcard-icon { font-size:1.8rem; display:block; margin-bottom:1rem; }
    .pcard-num { font-size:.68rem; letter-spacing:.14em; color:var(--or); text-transform:uppercase; margin-bottom:.6rem; }
    .pcard-title { font-family:'Cormorant Garamond',serif; font-size:1.4rem; font-weight:400; color:var(--vf); margin-bottom:.8rem; line-height:1.2; }
    .pcard-desc { font-size:.88rem; font-weight:300; color:var(--tl); line-height:1.7; }

    /* ── BANDEAU ── */
    .s-bandeau { background:var(--vf); padding:5rem; display:grid; grid-template-columns:1fr 1fr; gap:5rem; align-items:center; }
    .bandeau-h2 { font-family:'Cormorant Garamond',serif; font-size:clamp(1.9rem,3vw,2.8rem); font-weight:300; color:var(--bn); line-height:1.25; }
    .bandeau-h2 em { color:var(--or); font-style:italic; }
    .bandeau-p { font-size:.98rem; font-weight:300; color:rgba(250,250,247,.68); line-height:1.85; margin-bottom:1.2rem; }
    .link-or { background:none; border:none; border-bottom:1px solid var(--or); color:var(--or); font-size:.9rem; font-weight:500; cursor:pointer; padding-bottom:2px; font-family:'DM Sans',sans-serif; }

    /* ── RETRAITE HOME ── */
    .s-retraite { padding:6rem 5rem; display:grid; grid-template-columns:1fr 1fr; gap:5rem; align-items:center; }
    .retraite-visual {
      background:var(--bp); border-radius:4px; aspect-ratio:4/3;
      display:flex; align-items:center; justify-content:center;
      position:relative; overflow:hidden;
    }
    .retraite-visual::before {
      content:''; position:absolute; inset:0;
      background:radial-gradient(ellipse at 25% 30%,rgba(74,124,89,.18) 0%,transparent 55%),
                 radial-gradient(ellipse at 75% 70%,rgba(196,151,90,.12) 0%,transparent 50%);
    }
    .retraite-visual span { font-size:5rem; position:relative; z-index:2; }
    .retraite-badge2 { position:absolute; top:.8rem; left:.8rem; background:var(--vf); color:var(--bn); padding:.3rem .7rem; font-size:.20rem; font-weight:200; letter-spacing:.08em; text-transform:uppercase; border-radius:2px; z-index:2; }
    .info-grid { display:grid; grid-template-columns:1fr 1fr; gap:.8rem; margin:1.5rem 0 2rem; }
    .info-item { background:var(--bc); padding:1rem 1.1rem; border-radius:2px; }
    .info-label { font-size:.68rem; text-transform:uppercase; letter-spacing:.1em; color:var(--tl); margin-bottom:.3rem; }
    .info-val { font-family:'Cormorant Garamond',serif; font-size:1.2rem; color:var(--vf); }

    /* ── CTA HOME ── */
    .s-cta { background:var(--bp); padding:6rem 5rem; text-align:center; }
    .cta-h2 { font-family:'Cormorant Garamond',serif; font-size:clamp(2rem,3.2vw,3rem); font-weight:300; color:var(--vf); line-height:1.2; margin:0 auto 1.2rem; max-width:560px; }
    .cta-h2 em { font-style:italic; color:var(--te); }
    .cta-p { font-size:1rem; font-weight:300; color:var(--tl); max-width:400px; margin:0 auto 2.5rem; line-height:1.7; }
    .btn-vf { background:var(--vf); color:var(--bn); padding:.9rem 2.2rem; border:none; border-radius:2px; font-size:.9rem; font-weight:500; cursor:pointer; letter-spacing:.05em; font-family:'DM Sans',sans-serif; transition:all .2s; }
    .btn-vf:hover { background:var(--vm); transform:translateY(-1px); }

    /* ── PAGE HERO INTERNE ── */
    .page-hero { display:grid; grid-template-columns:1fr 1fr; }
    .page-hero-left { background:var(--vf); padding:5rem 4.5rem 5rem 5rem; display:flex; flex-direction:column; justify-content:center; }
    .page-hero-h1 { font-family:'Cormorant Garamond',serif; font-size:clamp(2.2rem,3.5vw,3.5rem); font-weight:300; color:var(--bn); line-height:1.15; }
    .page-hero-h1 em { font-style:italic; color:var(--or); }
    .page-hero-sub { font-size:1rem; font-weight:300; color:rgba(250,250,247,.65); line-height:1.8; margin-top:1.5rem; max-width:420px; }
    .page-hero-right { background:rgba(45,74,62,.08); display:flex; align-items:center; justify-content:center; min-height:300px; }
    .photo-placeholder { width:200px; height:260px; background:rgba(250,250,247,.08); border-radius:4px; border:1px solid rgba(196,151,90,.2); display:flex; flex-direction:column; align-items:center; justify-content:center; gap:1rem; }
    .photo-placeholder span:first-child { font-size:4rem; }
    .photo-placeholder span:last-child { font-size:.7rem; letter-spacing:.12em; text-transform:uppercase; color:rgba(250,250,247,.3); }

    /* ── À PROPOS CONTENU ── */
    .s-content { padding:5rem; }
    .s-content.alt { background:var(--bc); }
    .body-text p { font-size:1rem; font-weight:300; color:var(--tl); line-height:1.85; margin-bottom:1.4rem; max-width:720px; }
    .body-text p strong { color:var(--vf); font-weight:500; }
    .timeline { margin-top:2.5rem; }
    .tl-item { display:grid; grid-template-columns:90px 1fr; gap:2rem; margin-bottom:2.5rem; }
    .tl-year { font-family:'Cormorant Garamond',serif; font-size:1.4rem; color:var(--or); font-weight:300; text-align:right; padding-top:.1rem; }
    .tl-body { padding-left:2rem; border-left:1px solid var(--bp); padding-bottom:1rem; }
    .tl-body h4 { font-size:1rem; font-weight:500; color:var(--vf); margin-bottom:.4rem; }
    .tl-body p { font-size:.9rem; font-weight:300; color:var(--tl); line-height:1.7; }
    .approches-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:1.2rem; margin-top:2.5rem; }
    .acard { background:var(--bn); padding:1.8rem; border-radius:4px; border-top:3px solid var(--vm); }
    .acard h4 { font-family:'Cormorant Garamond',serif; font-size:1.2rem; color:var(--vf); margin-bottom:.7rem; }
    .acard p { font-size:.88rem; font-weight:300; color:var(--tl); line-height:1.7; }

    /* ── PRESTATIONS PAGE ── */
    .presta-full { padding:5rem; }
    .presta-full-grid { display:grid; grid-template-columns:1fr 1fr; gap:2rem; margin-top:3rem; align-items:start; }
    .pf-card { background:var(--bc); padding:2.5rem; border-radius:4px; border-left:4px solid var(--vm); }
    .pf-card h3 { font-family:'Cormorant Garamond',serif; font-size:1.6rem; color:var(--vf); margin-bottom:1rem; }
    .pf-card p { font-size:.95rem; font-weight:300; color:var(--tl); line-height:1.8; margin-bottom:1rem; }
    .pf-tag { display:inline-block; font-size:.7rem; letter-spacing:.1em; text-transform:uppercase; background:var(--vf); color:var(--bn); padding:.3rem .8rem; border-radius:2px; margin-bottom:1rem; }

    /* ── RETRAITES PAGE ── */
    .s-retraite-full { padding:5rem; }
    .retraite-hero-big {
      background:var(--vf); border-radius:4px; padding:4rem; margin-bottom:3rem;
      display:grid; grid-template-columns:1fr 1fr; gap:4rem; align-items:center;
    }
    .retraite-hero-big h2 { font-family:'Cormorant Garamond',serif; font-size:clamp(2rem,3vw,2.8rem); font-weight:300; color:var(--bn); line-height:1.2; }
    .retraite-hero-big h2 em { color:var(--or); font-style:italic; }
    .retraite-hero-big p { font-size:.98rem; font-weight:300; color:rgba(250,250,247,.68); line-height:1.8; margin-top:1rem; }
    .prog-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:1rem; }
    .prog-item { background:var(--bc); padding:1.5rem; border-radius:4px; text-align:center; }
    .prog-icon { font-size:2rem; display:block; margin-bottom:.8rem; }
    .prog-day { font-size:.7rem; letter-spacing:.12em; text-transform:uppercase; color:var(--or); margin-bottom:.4rem; }
    .prog-title { font-family:'Cormorant Garamond',serif; font-size:1.1rem; color:var(--vf); }

    /* ── BLOG PAGE ── */
    .s-blog-full { padding:5rem; }
    .blog-grid-full { display:grid; grid-template-columns:repeat(2,1fr); gap:1.5rem; margin-top:3rem; }
    .bc-card { background:var(--bc); border-radius:4px; overflow:hidden; cursor:pointer; transition:transform .3s,box-shadow .3s; }
    .bc-card:hover { transform:translateY(-3px); box-shadow:0 12px 32px rgba(45,74,62,.1); }
    .bc-img { height:180px; display:flex; align-items:center; justify-content:center; font-size:3rem; }
    .bc-img.c1 { background:linear-gradient(135deg,#2D4A3E,#4A7C59); }
    .bc-img.c2 { background:linear-gradient(135deg,#8B6F47,#C4975A); }
    .bc-img.c3 { background:linear-gradient(135deg,#3D2B1F,#8B6F47); }
    .bc-img.c4 { background:linear-gradient(135deg,#2D4A3E,#3D2B1F); }
    .bc-body { padding:1.5rem; }
    .bc-tag { font-size:.7rem; letter-spacing:.12em; text-transform:uppercase; color:var(--or); margin-bottom:.6rem; }
    .bc-title { font-family:'Cormorant Garamond',serif; font-size:1.25rem; color:var(--vf); margin-bottom:.7rem; line-height:1.3; }
    .bc-excerpt { font-size:.85rem; font-weight:300; color:var(--tl); line-height:1.65; }

    /* ── CONTACT PAGE ── */
    .s-contact { display:grid; grid-template-columns:1fr 1fr; min-height:calc(100vh - 80px); }
    .contact-left { background:var(--vf); padding:5rem 4.5rem; display:flex; flex-direction:column; justify-content:center; position:relative; overflow:hidden; }
    .contact-left::before { content:''; position:absolute; top:-20%; left:-10%; width:60%; height:60%; background:radial-gradient(circle,rgba(196,151,90,.12) 0%,transparent 70%); pointer-events:none; }
    .contact-right { padding:5rem 4.5rem; display:flex; flex-direction:column; justify-content:center; }
    .ci-item { display:flex; gap:1rem; align-items:flex-start; margin-bottom:1.5rem; }
    .ci-icon { font-size:1.1rem; flex-shrink:0; }
    .ci-label { font-size:.68rem; letter-spacing:.12em; text-transform:uppercase; color:var(--or); margin-bottom:.3rem; }
    .ci-val { font-size:.92rem; font-weight:300; color:rgba(250,250,247,.78); }
    .social-row { display:flex; gap:.8rem; margin-top:3rem; }
    .social-btn { padding:.55rem 1rem; border:1px solid rgba(250,250,247,.2); background:none; color:rgba(250,250,247,.6); font-size:.78rem; border-radius:2px; cursor:pointer; font-family:'DM Sans',sans-serif; transition:all .2s; text-decoration:none; display:inline-block; }
    .social-btn:hover { border-color:var(--or); color:var(--or); }
    .form-h2 { font-family:'Cormorant Garamond',serif; font-size:1.8rem; font-weight:300; color:var(--vf); margin-bottom:.5rem; }
    .form-sub { font-size:.9rem; font-weight:300; color:var(--tl); margin-bottom:2.2rem; line-height:1.6; }
    .form-row { display:grid; grid-template-columns:1fr 1fr; gap:1rem; margin-bottom:1.2rem; }
    .form-group { margin-bottom:1.2rem; }
    label { display:block; font-size:.72rem; letter-spacing:.1em; text-transform:uppercase; color:var(--tl); margin-bottom:.4rem; font-family:'DM Sans',sans-serif; }
    input,select,textarea {
      width:100%; padding:.8rem 1rem; background:var(--bc);
      border:1px solid transparent; border-radius:2px;
      font-family:'DM Sans',sans-serif; font-size:.92rem; font-weight:300;
      color:var(--tp); outline:none; transition:border-color .2s,background .2s;
    }
    input:focus,select:focus,textarea:focus { border-color:var(--vm); background:white; }
    textarea { resize:vertical; min-height:120px; }
    .form-rgpd { display:flex; gap:.8rem; align-items:flex-start; margin-bottom:1.8rem; }
    .form-rgpd input { width:auto; flex-shrink:0; margin-top:3px; }
    .form-rgpd label { font-size:.78rem; text-transform:none; letter-spacing:0; line-height:1.6; }
    .btn-submit { width:100%; background:var(--vf); color:var(--bn); padding:1rem; border:none; border-radius:2px; font-family:'DM Sans',sans-serif; font-size:.9rem; font-weight:500; cursor:pointer; letter-spacing:.05em; transition:all .2s; }
    .btn-submit:hover { background:var(--vm); }
    .form-note { font-size:.78rem; font-weight:300; color:var(--tl); text-align:center; margin-top:.8rem; }
    .form-success { display:none; text-align:center; padding:3rem; background:var(--bc); border-radius:4px; border:1px solid rgba(74,124,89,.2); }
    .form-success.show { display:block; }
    .form-success h3 { font-family:'Cormorant Garamond',serif; font-size:1.8rem; color:var(--vf); margin-bottom:1rem; }
    .form-success p { font-size:.95rem; font-weight:300; color:var(--tl); line-height:1.7; }

    /* ── ACTUALITÉS ── */
    .s-news { padding:5rem; }
    .news-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:1.5rem; margin-top:3rem; }
    .news-card { background:var(--bn); border-radius:4px; overflow:hidden; box-shadow:0 2px 16px rgba(45,74,62,.07); transition:transform .3s,box-shadow .3s; }
    .news-card:hover { transform:translateY(-4px); box-shadow:0 12px 32px rgba(45,74,62,.12); }
    .news-card-top { background:var(--vf); padding:1.5rem 2rem; display:flex; justify-content:space-between; align-items:flex-start; }
    .news-date-block { text-align:center; background:var(--or); padding:.5rem .8rem; border-radius:2px; min-width:56px; }
    .news-date-day { font-family:'Cormorant Garamond',serif; font-size:1.8rem; font-weight:400; color:var(--ec); line-height:1; }
    .news-date-month { font-size:.65rem; letter-spacing:.1em; text-transform:uppercase; color:var(--ec); font-weight:500; }
    .news-type { font-size:.68rem; letter-spacing:.14em; text-transform:uppercase; color:rgba(250,250,247,.6); align-self:center; }
    .news-card-body { padding:1.8rem 2rem; }
    .news-title { font-family:'Cormorant Garamond',serif; font-size:1.4rem; color:var(--vf); margin-bottom:.8rem; line-height:1.2; }
    .news-meta { display:flex; gap:1.5rem; margin-bottom:1rem; flex-wrap:wrap; }
    .news-meta-item { display:flex; align-items:center; gap:.4rem; font-size:.8rem; font-weight:300; color:var(--tl); }
    .news-desc { font-size:.92rem; font-weight:300; color:var(--tl); line-height:1.75; margin-bottom:1.5rem; }
    .news-card-footer { padding:1.2rem 2rem; border-top:1px solid var(--bp); display:flex; justify-content:space-between; align-items:center; }
    .news-places { font-size:.78rem; color:var(--tl); font-weight:300; }
    .news-places span { color:var(--vm); font-weight:500; }
    .btn-inscription { background:var(--or); color:var(--ec); padding:.6rem 1.4rem; border:none; border-radius:2px; font-size:.8rem; font-weight:500; cursor:pointer; font-family:'DM Sans',sans-serif; transition:all .2s; text-decoration:none; display:inline-block; }
    .btn-inscription:hover { background:#d4a76a; transform:translateY(-1px); }
    .news-past { opacity:.6; }
    .news-past .news-card-top { background:var(--tl); }
    .news-empty { text-align:center; padding:4rem 2rem; background:var(--bc); border-radius:4px; }
    .news-empty h3 { font-family:'Cormorant Garamond',serif; font-size:1.5rem; color:var(--vf); margin-bottom:.8rem; }
    .news-empty p { font-size:.92rem; font-weight:300; color:var(--tl); line-height:1.7; }

    /* ── FIN ACTUALITÉS ── */
    footer { background:var(--ec); padding:3.5rem 5rem; display:grid; grid-template-columns:2fr 1fr 1fr; gap:3rem; }
    .f-brand { font-family:'Cormorant Garamond',serif; font-size:1.35rem; color:var(--bn); margin-bottom:.8rem; }
    .f-brand span { color:var(--or); }
    .f-tagline { font-size:.85rem; font-weight:300; color:rgba(250,250,247,.48); line-height:1.7; max-width:260px; }
    .f-col h4 { font-size:.7rem; letter-spacing:.15em; text-transform:uppercase; color:var(--or); margin-bottom:1.1rem; }
    .f-col ul { list-style:none; }
    .f-col ul li { margin-bottom:.55rem; }
    .f-col ul li button, .f-col ul li a { background:none; border:none; cursor:pointer; color:rgba(250,250,247,.5); font-size:.87rem; font-weight:300; font-family:'DM Sans',sans-serif; transition:color .2s; padding:0; }
    .f-col ul li button:hover, .f-col ul li a:hover { color:var(--bn); }
    .f-bottom { background:var(--ec); padding:1rem 5rem; border-top:1px solid rgba(250,250,247,.07); display:flex; justify-content:space-between; }
    .f-bottom p { font-size:.76rem; color:rgba(250,250,247,.28); }

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

    /* ── ANIMATIONS ── */
    @keyframes fadeUp { from { opacity:0; transform:translateY(20px); } to { opacity:1; transform:translateY(0); } }
    @keyframes fadeIn { from { opacity:0; } to { opacity:1; } }

    /* ── RESPONSIVE ── */
    @media (max-width:900px) {
      nav { padding:1rem 1.5rem; }
      .nav-links { display:none; }
      .nav-links.open { display:flex; flex-direction:column; position:absolute; top:65px; left:0; right:0; background:var(--bn); padding:1.5rem; border-bottom:1px solid var(--bp); gap:1rem; z-index:300; }
      .nav-toggle { display:flex; }
      .hero,.page-hero,.s-intro,.s-bandeau,.s-retraite,.s-contact { grid-template-columns:1fr; }
      .hero-left,.page-hero-left { padding:3rem 2rem; }
      .hero-right { min-height:50vw; }
      .s-intro,.presta-full,.s-retraite-full,.s-blog-full,.s-content { padding:3rem 2rem; }
      .s-presta,.s-bandeau,.s-cta,.s-retraite { padding:3rem 2rem; }
      .presta-grid,.presta-full-grid,.approches-grid,.blog-grid-full { grid-template-columns:1fr; }
      .prog-grid { grid-template-columns:repeat(2,1fr); }
      .retraite-hero-big { grid-template-columns:1fr; padding:2.5rem; }
      footer { grid-template-columns:1fr; padding:3rem 2rem; }
      .f-bottom { padding:1rem 2rem; flex-direction:column; gap:.5rem; }
      .contact-left,.contact-right { padding:3rem 2rem; }
      .form-row { grid-template-columns:1fr; }
      .page-hero-right { display:none; }
    }
  

    /* --- ajouts découpage multipage --- */
    a.btn-or, a.btn-vf, a.btn-ghost, a.link-see, a.link-or { display:inline-block; text-decoration:none; }
    a.link-see, a.link-or { padding-bottom:2px; }
    a.bc-card, a.pcard { display:block; text-decoration:none; color:inherit; }
    .nav-links a { background:none; border:none; cursor:pointer; text-decoration:none; }
    .f-col ul li a { text-decoration:none; }
    .retraite-hero-big h1 { font-family:'Cormorant Garamond',serif; font-size:clamp(2rem,3vw,2.8rem); font-weight:300; color:var(--bn); line-height:1.2; }
    .retraite-hero-big h1 em { color:var(--or); font-style:italic; }
    a.nav-logo { text-decoration:none; }
