  *{margin:0;padding:0;box-sizing:border-box}
  html{scroll-behavior:smooth}
  body{
    --navy:#0D1B2A;
    --navy-soft:#152538;
    --navy-deep:#070F19;
    --or:#C9A84C;
    --or-light:#EFCB63;
    --or-soft:rgba(201,168,76,0.12);
    --or-glow:rgba(239,203,99,0.55);
    --or-glow-soft:rgba(239,203,99,0.25);
    --shadow-card:0 6px 20px rgba(13,27,42,0.06);
    --shadow-card-hover:0 18px 50px rgba(201,168,76,0.18);
    --gradient-or-rich:linear-gradient(145deg,#A88A35 0%,#C9A84C 30%,#EFCB63 70%,#F4D275 100%);
    --creme:#F8F5EF;
    --creme-warm:#F2EBDD;
    --blanc:#FFFFFF;
    --texte:#1F2937;
    --texte-muted:#6B7280;
    --texte-light:#9CA3AF;
    font-family:'DM Sans',sans-serif;
    color:var(--texte);
    background:var(--creme);
    -webkit-font-smoothing:antialiased;
    overflow-x:hidden;
  }
  a{text-decoration:none;color:inherit}
  img{max-width:100%;display:block}
  ::selection{background:var(--or);color:var(--navy)}

  /* ============ SCROLL PROGRESS BAR ============ */
  .vm-scroll-progress{
    position:fixed;top:0;left:0;
    height:2px;width:0;
    background:linear-gradient(90deg,var(--or),var(--or-light));
    z-index:1100;
    transition:width 0.1s linear;
    box-shadow:0 0 10px rgba(201,168,76,0.5);
  }

  /* ============ HEADER STICKY ============ */
  .vm-header{
    position:fixed;top:0;left:0;right:0;z-index:1000;
    padding:1.2rem 3rem;
    display:flex;align-items:center;justify-content:space-between;
    transition:all 0.4s ease;
    background:transparent;
  }
  .vm-header.scrolled{
    background:rgba(13,27,42,0.85);
    backdrop-filter:blur(20px);
    -webkit-backdrop-filter:blur(20px);
    padding:0.8rem 3rem;
    box-shadow:0 1px 0 rgba(201,168,76,0.15);
  }
  .vm-logo{
    font-family:'Cormorant Garamond',serif;
    font-size:1.5rem;font-weight:600;
    color:var(--blanc);
    letter-spacing:0.02em;
    display:flex;align-items:center;gap:0.5rem;
    transform-origin:left center;
    transition:transform 0.3s ease, filter 0.3s ease;
  }
  .vm-logo:link,.vm-logo:visited,.vm-logo:hover,.vm-logo:focus,.vm-logo:active{color:var(--blanc)}
  .vm-logo span{color:var(--or)}
  .vm-logo:hover span,.vm-logo:focus span{color:var(--or)}
  .vm-logo:hover,.vm-logo:focus{transform:scale(1.05);filter:drop-shadow(0 0 12px rgba(239,203,99,0.5))}
  .vm-logo::before{
    content:'';width:8px;height:8px;background:var(--or);border-radius:50%;
    box-shadow:0 0 12px rgba(201,168,76,0.6);
    transition:box-shadow 0.3s ease;
  }
  .vm-logo:hover::before{box-shadow:0 0 18px rgba(239,203,99,0.95)}
  .vm-nav{display:flex;align-items:center;gap:2.5rem}
  .vm-nav-link{
    color:rgba(255,255,255,0.95);
    font-size:0.95rem;font-weight:600;
    letter-spacing:0.01em;
    transition:color 0.25s;
    position:relative;
  }
  .vm-nav-link:hover{color:var(--blanc)}
  .vm-nav-link::after{
    content:'';position:absolute;bottom:-6px;left:0;
    width:0;height:1px;background:var(--or);
    transition:width 0.3s ease;
  }
  .vm-nav-link:hover::after{width:100%}

  .vm-nav-cta{
    background:linear-gradient(135deg,var(--or) 0%,var(--or-light) 100%);
    color:var(--navy);
    padding:0.7rem 1.4rem;
    border-radius:100px;
    font-size:0.85rem;font-weight:600;
    letter-spacing:0.01em;
    display:inline-flex;align-items:center;gap:0.5rem;
    transition:all 0.3s ease;
    box-shadow:0 4px 20px rgba(201,168,76,0.3);
    position:relative;
    overflow:hidden;
  }
  .vm-nav-cta::before{
    content:'';position:absolute;inset:0;
    background:linear-gradient(135deg,var(--or-light) 0%,var(--or) 100%);
    opacity:0;transition:opacity 0.3s;
  }
  .vm-nav-cta span{position:relative;z-index:1}
  .vm-nav-cta:hover{transform:translateY(-2px);box-shadow:0 8px 30px rgba(201,168,76,0.5)}
  .vm-nav-cta:hover::before{opacity:1}
  .vm-nav-cta-arrow{
    position:relative;z-index:1;
    transition:transform 0.3s;
  }
  .vm-nav-cta:hover .vm-nav-cta-arrow{transform:translateX(3px)}
  .vm-nav-cta-pulse{
    position:absolute;top:-2px;right:-2px;
    width:10px;height:10px;border-radius:50%;
    background:#fff;
    z-index:2;
  }
  .vm-nav-cta-pulse::after{
    content:'';position:absolute;inset:0;border-radius:50%;
    background:#fff;
    animation:pulse 2s infinite;
  }
  @keyframes pulse{
    0%{transform:scale(1);opacity:0.8}
    100%{transform:scale(2.5);opacity:0}
  }

  /* ============ BURGER + DRAWER MOBILE ============ */
  .vm-burger{
    display:none; /* visible <768px via le media query responsive */
    flex-direction:column;justify-content:center;gap:5px;
    width:44px;height:44px;padding:10px;
    background:transparent;border:none;cursor:pointer;
    border-radius:10px;transition:background 0.25s;
    -webkit-tap-highlight-color:transparent;
  }
  .vm-burger:hover{background:rgba(201,168,76,0.10)}
  .vm-burger span{
    display:block;height:2px;width:100%;border-radius:2px;
    background:var(--or-light);
    transition:transform 0.35s ease, opacity 0.25s ease;
    transform-origin:center;
  }
  body.vm-drawer-open .vm-burger span:nth-child(1){transform:translateY(7px) rotate(45deg)}
  body.vm-drawer-open .vm-burger span:nth-child(2){opacity:0}
  body.vm-drawer-open .vm-burger span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}

  .vm-drawer-overlay{
    position:fixed;inset:0;z-index:1090;
    background:rgba(7,15,25,0.55);
    backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);
    opacity:0;visibility:hidden;
    transition:opacity 0.4s ease, visibility 0.4s ease;
  }
  body.vm-drawer-open .vm-drawer-overlay{opacity:1;visibility:visible}
  .vm-drawer{
    position:fixed;top:0;right:0;z-index:1095;
    height:100%;height:100dvh;
    width:min(82%,340px);
    background:var(--navy);
    border-left:1px solid rgba(201,168,76,0.18);
    box-shadow:-20px 0 60px rgba(0,0,0,0.45);
    transform:translateX(100%);
    transition:transform 0.42s cubic-bezier(0.22,1,0.36,1);
    display:flex;flex-direction:column;
    padding:1.5rem 1.6rem 2rem;
  }
  body.vm-drawer-open .vm-drawer{transform:translateX(0)}
  .vm-drawer-head{
    display:flex;align-items:center;justify-content:space-between;
    padding-bottom:1.4rem;margin-bottom:0.6rem;
    border-bottom:1px solid rgba(255,255,255,0.08);
  }
  /* Force le "VEFA" en blanc (sinon Safari mobile applique sa couleur de lien bleue) */
  .vm-drawer-head .vm-logo,
  .vm-drawer-head .vm-logo:link,
  .vm-drawer-head .vm-logo:visited{color:#FFFFFF}
  .vm-drawer-head .vm-logo span{color:var(--or)}
  .vm-drawer-close{
    width:40px;height:40px;border:none;background:transparent;cursor:pointer;
    color:rgba(255,255,255,0.7);font-size:1.5rem;line-height:1;
    border-radius:10px;transition:all 0.25s;
    display:flex;align-items:center;justify-content:center;
    -webkit-tap-highlight-color:transparent;
  }
  .vm-drawer-close:hover{background:rgba(201,168,76,0.10);color:var(--or-light)}
  .vm-drawer-nav{display:flex;flex-direction:column;flex:1;padding-top:0.8rem}
  .vm-drawer-link{
    color:rgba(255,255,255,0.92);
    font-size:1.12rem;font-weight:600;letter-spacing:0.01em;
    padding:1.05rem 0.4rem;
    border-bottom:1px solid rgba(255,255,255,0.06);
    transition:color 0.22s, padding-left 0.22s;
    position:relative;
  }
  .vm-drawer-link::before{
    content:'';position:absolute;left:-1.6rem;top:50%;transform:translateY(-50%);
    width:3px;height:0;background:var(--or);border-radius:3px;
    transition:height 0.25s ease;
  }
  .vm-drawer-link:hover,.vm-drawer-link:focus-visible{color:var(--or-light);padding-left:0.9rem}
  .vm-drawer-link:hover::before,.vm-drawer-link:focus-visible::before{height:60%}
  /* Bouton Contact du drawer : pilule or "outline" */
  .vm-drawer-contact{
    margin-top:1.6rem;
    background:transparent;border:1.5px solid var(--or);
    color:var(--or-light);
    padding:0.95rem 1.4rem;border-radius:100px;
    font-size:0.95rem;font-weight:600;letter-spacing:0.01em;
    display:flex;align-items:center;justify-content:center;gap:0.55rem;
    transition:background 0.3s, color 0.3s, transform 0.3s;
  }
  .vm-drawer-contact svg{width:17px;height:17px}
  .vm-drawer-contact:hover{background:rgba(201,168,76,0.12);color:var(--or-light);transform:translateY(-2px)}
  /* CTA méthode du drawer : pilule or pleine */
  .vm-drawer-cta{
    margin-top:1rem;
    background:linear-gradient(135deg,#EFCB63 0%,#C9A84C 58%,#DCBE57 100%);
    color:var(--navy);
    padding:1.05rem 1.1rem;border-radius:100px;
    font-size:0.9rem;font-weight:600;letter-spacing:0;white-space:nowrap;
    display:flex;align-items:center;justify-content:center;gap:0.4rem;
    box-shadow:0 10px 30px rgba(201,168,76,0.35);
    transition:transform 0.3s, box-shadow 0.3s;
    position:relative;overflow:hidden;isolation:isolate;
  }
  .vm-drawer-cta::before{
    content:'';position:absolute;top:0;left:-120%;width:80%;height:100%;
    background:linear-gradient(100deg,transparent 0%,rgba(255,255,255,0.55) 50%,transparent 100%);
    transform:skewX(-20deg);transition:left 0.7s ease;z-index:-1;pointer-events:none;
  }
  .vm-drawer-cta:hover{transform:translateY(-3px);box-shadow:0 18px 45px rgba(239,203,99,0.5)}
  .vm-drawer-cta:hover::before{left:120%}
  /* Réseaux sociaux en bas du drawer */
  .vm-drawer-social{
    display:flex;align-items:center;justify-content:center;gap:0.9rem;
    margin-top:auto;padding-top:1.6rem;
  }
  .vm-drawer-social a{
    width:42px;height:42px;border-radius:50%;
    display:flex;align-items:center;justify-content:center;
    color:rgba(255,255,255,0.75);
    border:1px solid rgba(255,255,255,0.14);
    transition:color 0.25s, border-color 0.25s, background 0.25s, transform 0.25s;
    -webkit-tap-highlight-color:transparent;
  }
  .vm-drawer-social a:hover{
    color:var(--or-light);border-color:rgba(201,168,76,0.5);
    background:rgba(201,168,76,0.10);transform:translateY(-2px);
  }
  .vm-drawer-social svg{width:19px;height:19px}

  /* ============ HERO ============ */
  /* Plein écran : hero occupe 100svh (small viewport, exclut la barre URL mobile). */
  .vm-hero{
    background:linear-gradient(180deg,var(--navy-deep) 0%,var(--navy) 60%,var(--navy-soft) 100%);
    position:relative;
    overflow:hidden;
    padding:9rem 3rem 5rem;
    min-height:100vh;
    min-height:100svh;
    display:flex;
    align-items:center;
  }
  .vm-hero-blob{
    position:absolute;
    border-radius:50%;
    filter:blur(80px);
    opacity:0.4;
    pointer-events:none;
  }
  .vm-blob-1,.vm-blob-2,.vm-blob-3{display:none}
  @keyframes float{
    0%,100%{transform:translate(0,0) scale(1)}
    33%{transform:translate(50px,-30px) scale(1.1)}
    66%{transform:translate(-30px,40px) scale(0.95)}
  }
  .vm-hero-grid{
    position:absolute;inset:0;
    background-image:
      linear-gradient(rgba(201,168,76,0.04) 1px,transparent 1px),
      linear-gradient(90deg,rgba(201,168,76,0.04) 1px,transparent 1px);
    background-size:80px 80px;
    mask-image:radial-gradient(ellipse at center,black 30%,transparent 70%);
    -webkit-mask-image:radial-gradient(ellipse at center,black 30%,transparent 70%);
  }
  /* Grain subtil v3 */
  .vm-hero-noise{
    position:absolute;inset:0;
    opacity:0.04;pointer-events:none;
    background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
  }

  .vm-hero-inner{
    position:relative;z-index:3;
    max-width:980px;margin:0 auto;width:100%;
    text-align:center;
  }
  .vm-hero-inner .vm-hero-tag{margin-left:auto;margin-right:auto}
  .vm-hero-inner .vm-hero-sub{margin-left:auto;margin-right:auto}
  .vm-hero-inner .vm-hero-actions{justify-content:center}

  /* .vm-hero-building : SVG skyline retiré du template v1.9.5 — règle conservée pour mémoire mais inutilisée */

  .vm-hero-tag{
    display:inline-flex;align-items:center;gap:0.6rem;
    background:rgba(201,168,76,0.1);
    border:1px solid rgba(201,168,76,0.25);
    padding:0.5rem 1.1rem;border-radius:100px;
    margin-bottom:2rem;
    backdrop-filter:blur(10px);
  }
  .vm-hero-tag-dot{
    width:6px;height:6px;background:var(--or);border-radius:50%;
    box-shadow:0 0 10px var(--or);
    animation:blink 2s infinite;
  }
  @keyframes blink{0%,100%{opacity:1}50%{opacity:0.4}}
  .vm-hero-tag span{
    color:var(--or);font-size:0.75rem;font-weight:500;
    letter-spacing:0.12em;text-transform:uppercase;
  }
  .vm-hero h1{
    font-family:'Cormorant Garamond',serif;
    font-size:clamp(3rem,5.5vw,5rem);
    font-weight:700;
    color:var(--blanc);
    line-height:1.08;
    letter-spacing:-0.022em;
    margin-bottom:1.8rem;
    text-shadow:0 2px 30px rgba(239,203,99,0.12);
    text-wrap:balance;
  }
  .vm-hero h1 em{
    font-style:italic;
    background:var(--gradient-or-rich);
    -webkit-background-clip:text;
    background-clip:text;
    -webkit-text-fill-color:transparent;
    position:relative;
    display:inline-block;
    padding-right:0.15em;
  }
  .vm-hero-sub{
    color:rgba(255,255,255,0.88);
    font-size:1.25rem;line-height:1.6;font-weight:500;
    font-weight:300;
    max-width:580px;
    margin-bottom:2.5rem;
  }
  .vm-hero-actions{display:flex;gap:1.2rem;align-items:center;flex-wrap:wrap}
  .vm-btn{
    display:inline-flex;align-items:center;gap:0.6rem;
    padding:1rem 2rem;
    font-family:'DM Sans',sans-serif;
    font-size:0.9rem;font-weight:500;
    border-radius:100px;
    transition:all 0.35s ease;
    cursor:pointer;border:none;
    position:relative;
    overflow:hidden;
    isolation:isolate;
  }
  /* Shine sweep — balayage lumineux au hover (V5 pop) */
  .vm-btn::before{
    content:'';position:absolute;
    top:0;left:-120%;width:80%;height:100%;
    background:linear-gradient(100deg,transparent 0%,rgba(255,255,255,0.55) 50%,transparent 100%);
    transform:skewX(-20deg);
    transition:left 0.7s ease;
    z-index:-1;
    pointer-events:none;
  }
  .vm-btn:hover::before{left:120%}
  .vm-btn-primary{
    background:var(--blanc);
    color:var(--navy);
    box-shadow:0 8px 30px var(--or-glow-soft);
  }
  .vm-btn-primary:hover{
    background:var(--or-light);
    color:var(--navy);
    transform:translateY(-3px);
    box-shadow:0 18px 50px var(--or-glow);
  }
  .vm-btn-ghost-light{
    background:transparent;
    color:rgba(255,255,255,0.85);
    border:1px solid rgba(255,255,255,0.2);
  }
  .vm-btn-ghost-light:hover{
    border-color:var(--or-light);
    color:var(--or-light);
    transform:translateY(-3px);
    box-shadow:0 8px 30px var(--or-glow-soft);
  }
  .vm-btn-gold{
    background:linear-gradient(135deg,#EFCB63 0%,#C9A84C 58%,#DCBE57 100%);
    color:var(--navy);font-weight:600;
    box-shadow:0 8px 30px rgba(201,168,76,0.3);
  }
  .vm-btn-gold:hover{transform:translateY(-3px);box-shadow:0 18px 50px var(--or-glow)}
  .vm-btn-arrow{transition:transform 0.3s}
  .vm-btn:hover .vm-btn-arrow{transform:translateX(4px)}

  .vm-scroll-indicator{
    position:absolute;bottom:2rem;left:50%;transform:translateX(-50%);
    color:rgba(255,255,255,0.4);
    font-size:0.7rem;letter-spacing:0.2em;text-transform:uppercase;
    display:flex;flex-direction:column;align-items:center;gap:0.8rem;
    z-index:3;
  }
  .vm-scroll-line{
    width:1px;height:40px;
    background:linear-gradient(to bottom,var(--or),transparent);
    animation:scrollLine 2s ease-in-out infinite;
  }
  @keyframes scrollLine{
    0%{transform:scaleY(0);transform-origin:top}
    50%{transform:scaleY(1);transform-origin:top}
    100%{transform:scaleY(0);transform-origin:bottom}
  }

  /* ============ STATS STRIP (NOUVEAU v3) ============ */
  .vm-stats{
    background:var(--navy-deep);
    padding:4rem 3rem;
    border-top:1px solid rgba(201,168,76,0.12);
    border-bottom:1px solid rgba(201,168,76,0.12);
    position:relative;
    overflow:hidden;
  }
  .vm-stats::before{
    content:'';position:absolute;
    top:0;left:50%;transform:translateX(-50%);
    width:60%;height:1px;
    background:linear-gradient(90deg,transparent,var(--or),transparent);
  }
  .vm-stats-inner{
    max-width:1200px;margin:0 auto;
    display:grid;grid-template-columns:repeat(4,1fr);
    gap:1rem;
  }
  @media(max-width:768px){.vm-stats-inner{grid-template-columns:repeat(2,1fr);gap:2rem}}
  .vm-stat{
    text-align:center;
    padding:1rem;
    border-right:1px solid rgba(201,168,76,0.12);
  }
  .vm-stat:last-child{border-right:none}
  @media(max-width:768px){.vm-stat:nth-child(2n){border-right:none}}
  .vm-stat-num{
    font-family:'Cormorant Garamond',serif;
    font-size:clamp(2.5rem,4vw,3.8rem);
    font-weight:600;
    color:var(--blanc);
    line-height:1;
    margin-bottom:0.6rem;
    display:flex;align-items:baseline;justify-content:center;gap:0.05em;
  }
  .vm-stat-suffix{
    color:var(--or);
    font-size:0.55em;
    font-weight:500;
  }
  .vm-stat-label{
    font-size:0.78rem;
    color:rgba(255,255,255,0.55);
    text-transform:uppercase;
    letter-spacing:0.14em;
    font-weight:500;
  }

  /* ============ SECTION DEFAULTS ============ */
  .vm-section{padding:7rem 3rem;position:relative}
  .vm-section-inner{max-width:1300px;margin:0 auto}
  .vm-section-tag{
    display:inline-block;
    font-size:0.78rem;font-weight:700;
    letter-spacing:0.18em;text-transform:uppercase;
    color:var(--or-light);
    margin-bottom:1.2rem;
    padding-left:1.8rem;
    position:relative;
  }
  .vm-section-tag::before{
    content:'';position:absolute;left:0;top:50%;
    width:1.2rem;height:1px;background:var(--or);
  }
  .vm-section-title{
    font-family:'Cormorant Garamond',serif;
    font-size:clamp(2.7rem,5.3vw,4.8rem);
    font-weight:700;
    color:var(--navy);
    line-height:1.08;
    letter-spacing:-0.02em;
    margin-bottom:1.5rem;
  }
  .vm-section-title em{
    font-style:italic;
    background:var(--gradient-or-rich);
    -webkit-background-clip:text;
    background-clip:text;
    -webkit-text-fill-color:transparent;
    display:inline-block;
    padding-right:0.15em;
  }
  .vm-section-desc{
    font-size:1.18rem;
    color:var(--texte);
    line-height:1.6;font-weight:500;
    max-width:620px;
  }
  .vm-section-header{
    display:flex;justify-content:space-between;align-items:flex-end;
    margin-bottom:4rem;flex-wrap:wrap;gap:1.5rem;
  }
  .vm-link-arrow{
    display:inline-flex;align-items:center;gap:0.6rem;
    color:var(--navy);
    font-size:0.9rem;font-weight:500;
    padding-bottom:4px;
    border-bottom:2px solid var(--or);
    transition:gap 0.3s, color 0.3s, border-color 0.3s;
  }
  .vm-link-arrow:hover{gap:1rem;color:var(--or);border-color:var(--or-light)}

  /* ============ ARTICLES (BENTO v3) ============ */
  .vm-articles{background:var(--creme)}
  .vm-articles-grid{
    display:grid;
    grid-template-columns:1.5fr 1fr 1fr;
    gap:1.8rem;
  }
  @media(max-width:900px){.vm-articles-grid{grid-template-columns:1fr}}
  .vm-article{
    cursor:pointer;
    transition:transform 0.4s ease, filter 0.4s ease;
  }
  .vm-article:hover{transform:translateY(-6px);filter:drop-shadow(0 18px 40px rgba(201,168,76,0.18))}
  /* Toutes les cards utilisent vefa-hero (16:9) pour préserver les images entières */
  .vm-article-img{
    aspect-ratio:16/9;
    border-radius:20px;
    overflow:hidden;position:relative;
    margin-bottom:1.4rem;
    background:var(--navy);
  }
  .vm-article.featured .vm-article-img{aspect-ratio:16/9}
  .vm-article-img-bg{
    position:absolute;inset:0;
    background:linear-gradient(135deg,var(--navy) 0%,var(--navy-soft) 50%,#243859 100%);
    transition:transform 0.6s ease;
  }
  .vm-article:hover .vm-article-img-bg{transform:scale(1.05)}
  .vm-article-img-pattern{
    position:absolute;inset:0;
    background-image:
      radial-gradient(circle at 20% 30%,rgba(201,168,76,0.15) 0%,transparent 50%),
      radial-gradient(circle at 80% 70%,rgba(201,168,76,0.1) 0%,transparent 50%);
  }
  .vm-article-img-overlay{
    position:absolute;inset:0;
    background:linear-gradient(180deg,transparent 50%,rgba(13,27,42,0.7) 100%);
  }
  /* v3 : icône thématique au centre du visuel */
  .vm-article-img-icon{
    position:absolute;top:50%;left:50%;
    transform:translate(-50%,-50%);
    width:64px;height:64px;
    background:rgba(201,168,76,0.12);
    border:1px solid rgba(201,168,76,0.3);
    border-radius:18px;
    display:flex;align-items:center;justify-content:center;
    backdrop-filter:blur(10px);
    transition:all 0.4s ease;
  }
  .vm-article.featured .vm-article-img-icon{width:80px;height:80px;border-radius:22px}
  .vm-article:hover .vm-article-img-icon{
    background:rgba(201,168,76,0.25);
    transform:translate(-50%,-50%) scale(1.1) rotate(-5deg);
  }
  .vm-article-img-icon svg{width:28px;height:28px;stroke:var(--or)}
  .vm-article.featured .vm-article-img-icon svg{width:36px;height:36px}
  .vm-article-cat{
    position:absolute;top:1.2rem;right:1.2rem;
    background:rgba(248,245,239,0.95);
    backdrop-filter:blur(10px);
    color:var(--navy);
    font-size:0.7rem;font-weight:600;
    padding:0.4rem 0.9rem;border-radius:100px;
    text-transform:uppercase;letter-spacing:0.08em;
    z-index:2;
  }
  .vm-article-meta{
    position:absolute;bottom:1.2rem;left:1.2rem;right:1.2rem;
    color:rgba(255,255,255,0.7);
    font-size:0.78rem;
    display:flex;justify-content:space-between;
    z-index:2;
  }
  .vm-article h3{
    font-family:'Cormorant Garamond',serif;
    font-size:1.3rem;font-weight:500;
    color:var(--navy);
    line-height:1.3;
    transition:color 0.3s;
    margin-bottom:0.5rem;
  }
  .vm-article.featured h3{font-size:1.8rem}
  .vm-article:hover h3{color:var(--or)}
  /* v3 : excerpt visible */
  .vm-article-excerpt{
    font-size:0.88rem;
    color:var(--texte-muted);
    line-height:1.6;
  }
  .vm-articles-col{display:flex;flex-direction:column;gap:1.8rem}

  /* ============ CLUB ============ */
  .vm-club{
    background:var(--navy);
    position:relative;
    overflow:hidden;
  }
  .vm-club::before{display:none}
  .vm-club-inner{
    position:relative;z-index:1;
    display:grid;grid-template-columns:1fr 1fr;
    gap:5rem;align-items:center;
  }
  @media(max-width:900px){.vm-club-inner{grid-template-columns:1fr;gap:3rem}}
  .vm-club .vm-section-tag{color:var(--or)}
  .vm-club h2{
    font-family:'Cormorant Garamond',serif;
    font-size:clamp(3rem,5.8vw,5.3rem);
    font-weight:700;
    color:var(--blanc);
    line-height:1.08;
    margin-bottom:1.5rem;
    letter-spacing:-0.02em;
    text-shadow:0 2px 30px rgba(239,203,99,0.12);
  }
  .vm-club h2 em{
    font-style:italic;
    background:var(--gradient-or-rich);
    -webkit-background-clip:text;background-clip:text;
    -webkit-text-fill-color:transparent;
    display:inline-block;
    padding-right:0.15em;
  }
  .vm-club-desc{
    color:rgba(255,255,255,0.88);
    font-size:1.15rem;line-height:1.65;
    font-weight:500;
    margin-bottom:2rem;
  }
  /* v3 : avatars de la communauté */
  .vm-club-social{
    display:flex;align-items:center;gap:1rem;
    margin-bottom:2.5rem;
    padding:1rem 1.4rem;
    background:rgba(255,255,255,0.04);
    border:1px solid rgba(201,168,76,0.15);
    border-radius:100px;
    width:fit-content;
  }
  .vm-club-avatars{display:flex}
  .vm-club-avatar{
    width:36px;height:36px;border-radius:50%;
    background:linear-gradient(135deg,var(--or),var(--or-light));
    border:2px solid var(--navy);
    margin-left:-10px;
    display:flex;align-items:center;justify-content:center;
    font-family:'Cormorant Garamond',serif;
    font-size:0.9rem;font-weight:600;
    color:var(--navy);
  }
  .vm-club-avatar:first-child{margin-left:0}
  .vm-club-avatar.alt{background:linear-gradient(135deg,#243859,#152538);color:var(--or)}
  .vm-club-social-text{
    color:rgba(255,255,255,0.85);
    font-size:0.88rem;
  }
  .vm-club-social-text strong{color:var(--or);font-weight:600}

  .vm-club-features{display:flex;flex-direction:column;gap:1.2rem;margin-bottom:2.5rem}
  .vm-club-feat{
    display:flex;align-items:flex-start;gap:1rem;
    color:rgba(255,255,255,0.95);
    font-size:1rem;line-height:1.5;
    font-weight:500;
  }
  .vm-club-feat-icon{
    width:24px;height:24px;flex-shrink:0;
    background:rgba(201,168,76,0.15);
    border:1px solid rgba(201,168,76,0.4);
    border-radius:8px;
    display:flex;align-items:center;justify-content:center;
    margin-top:1px;
  }
  .vm-club-feat-icon::after{
    content:'';width:6px;height:6px;background:var(--or);border-radius:50%;
  }
  .vm-club-feat strong{color:var(--or);font-weight:600}
  .vm-club-cta{
    display:inline-flex;align-items:center;gap:0.6rem;
    background:linear-gradient(135deg,var(--or-light) 0%,var(--or) 58%,#DCBE57 100%);
    color:var(--navy);
    padding:1rem 2rem;border-radius:100px;
    font-size:0.9rem;font-weight:600;
    transition:all 0.35s ease;
    box-shadow:0 10px 30px var(--or-glow-soft);
    position:relative;overflow:hidden;isolation:isolate;
  }
  .vm-club-cta::before{
    content:'';position:absolute;
    top:0;left:-120%;width:80%;height:100%;
    background:linear-gradient(100deg,transparent 0%,rgba(255,255,255,0.55) 50%,transparent 100%);
    transform:skewX(-20deg);
    transition:left 0.7s ease;
    z-index:-1;pointer-events:none;
  }
  .vm-club-cta:hover::before{left:120%}
  .vm-club-cta:hover{
    transform:translateY(-3px);
    box-shadow:0 22px 55px var(--or-glow);
  }

  .vm-club-cards{display:grid;grid-template-columns:1fr 1fr;gap:1rem}
  .vm-club-card{
    background:rgba(255,255,255,0.04);
    backdrop-filter:blur(10px);
    border:1px solid rgba(201,168,76,0.15);
    border-radius:16px;
    padding:1.5rem;
    transition:all 0.3s;
  }
  .vm-club-card:hover{
    background:rgba(239,203,99,0.08);
    border-color:rgba(239,203,99,0.45);
    transform:translateY(-4px);
    box-shadow:0 18px 40px rgba(239,203,99,0.18);
  }
  .vm-club-card-icon{
    width:42px;height:42px;
    background:rgba(201,168,76,0.15);
    border-radius:12px;
    display:flex;align-items:center;justify-content:center;
    margin-bottom:1rem;
    font-size:1.3rem;
  }
  .vm-club-card strong{
    display:block;color:var(--blanc);
    font-size:0.95rem;font-weight:500;
    margin-bottom:0.3rem;
  }
  .vm-club-card span{
    color:rgba(255,255,255,0.5);
    font-size:0.8rem;line-height:1.5;
  }

  /* ============ TÉMOIGNAGES LECTEURS (NOUVEAU v3) ============ */
  .vm-temoignages{
    background:linear-gradient(180deg,var(--creme) 0%,var(--creme-warm) 100%);
    overflow:hidden;
  }
  .vm-temoignages-inner{padding-bottom:0}
  .vm-temoignages-track{
    display:flex;gap:1.5rem;
    margin-top:1rem;
    overflow-x:auto;
    padding:1rem 0 2rem;
    scroll-snap-type:x mandatory;
    scrollbar-width:none;
    margin-left:-3rem;margin-right:-3rem;
    padding-left:3rem;padding-right:3rem;
  }
  .vm-temoignages-track::-webkit-scrollbar{display:none}
  .vm-temoignage{
    flex:0 0 380px;
    background:var(--blanc);
    padding:2.2rem;
    border-radius:20px;
    scroll-snap-align:start;
    box-shadow:0 4px 20px rgba(13,27,42,0.04);
    transition:all 0.3s ease;
    position:relative;
  }
  .vm-temoignage:hover{
    transform:translateY(-6px);
    box-shadow:0 20px 50px rgba(13,27,42,0.1);
  }
  .vm-temoignage-quote{
    font-family:'Cormorant Garamond',serif;
    font-size:4rem;color:var(--or);
    line-height:0.5;
    margin-bottom:1rem;
    opacity:0.4;
  }
  .vm-temoignage-text{
    font-size:0.98rem;line-height:1.7;
    color:var(--texte);
    margin-bottom:1.8rem;
    font-weight:300;
  }
  .vm-temoignage-author{
    display:flex;align-items:center;gap:1rem;
    padding-top:1.5rem;
    border-top:1px solid rgba(13,27,42,0.08);
  }
  .vm-temoignage-avatar{
    width:48px;height:48px;border-radius:50%;
    background:linear-gradient(135deg,var(--or) 0%,var(--or-light) 100%);
    display:flex;align-items:center;justify-content:center;
    font-family:'Cormorant Garamond',serif;
    font-size:1.2rem;font-weight:600;
    color:var(--navy);
    flex-shrink:0;
  }
  .vm-temoignage-info strong{
    display:block;
    font-size:0.92rem;font-weight:600;
    color:var(--navy);
    margin-bottom:0.15rem;
  }
  .vm-temoignage-info span{
    font-size:0.78rem;color:var(--texte-muted);
  }

  /* ============ CONTACT ============ */
  .vm-contact{background:var(--blanc)}
  .vm-contact-inner{
    display:grid;grid-template-columns:1fr 1fr;
    gap:5rem;align-items:start;
  }
  @media(max-width:900px){.vm-contact-inner{grid-template-columns:1fr}}
  .vm-contact-info{
    display:flex;flex-direction:column;gap:1.4rem;
    margin-top:2.5rem;
  }
  .vm-contact-item{
    display:flex;align-items:center;gap:1.2rem;
    padding:1.2rem 1.4rem;
    background:var(--creme);
    border-radius:14px;
    transition:all 0.3s;
  }
  .vm-contact-item:hover{
    background:var(--blanc);
    box-shadow:0 8px 30px rgba(13,27,42,0.06);
    transform:translateX(6px);
  }
  .vm-contact-item-icon{
    width:42px;height:42px;flex-shrink:0;
    background:linear-gradient(135deg,var(--navy) 0%,var(--navy-soft) 100%);
    color:var(--or);
    border-radius:12px;
    display:flex;align-items:center;justify-content:center;
    font-size:1.1rem;
    transition:all 0.3s;
  }
  .vm-contact-item:hover .vm-contact-item-icon{
    background:linear-gradient(135deg,var(--or) 0%,var(--or-light) 100%);
    color:var(--navy);
  }
  .vm-contact-item strong{
    display:block;
    font-size:0.95rem;font-weight:600;
    color:var(--navy);
    margin-bottom:0.15rem;
  }
  .vm-contact-item span{
    font-size:0.85rem;color:var(--texte-muted);
  }

  .vm-form-card{
    background:linear-gradient(180deg,var(--creme) 0%,var(--creme-warm) 100%);
    padding:2.8rem;
    border-radius:24px;
    position:sticky;top:6rem;
  }
  .vm-form-card h3{
    font-family:'Cormorant Garamond',serif;
    font-size:2.2rem;font-weight:600;
    color:var(--navy);
    margin-bottom:0.5rem;
    letter-spacing:-0.01em;
  }
  .vm-form-card-desc{
    font-size:1rem;color:var(--texte);
    margin-bottom:2rem;line-height:1.6;
    font-weight:500;
  }
  .vm-form-group{margin-bottom:1.2rem}
  .vm-form-group label{
    display:block;font-size:0.72rem;font-weight:600;
    color:var(--navy);text-transform:uppercase;
    letter-spacing:0.1em;margin-bottom:0.5rem;
  }
  .vm-form-group input,
  .vm-form-group select,
  .vm-form-group textarea{
    width:100%;padding:0.85rem 1.1rem;
    border:1px solid rgba(13,27,42,0.1);
    background:var(--blanc);
    border-radius:12px;
    font-family:'DM Sans',sans-serif;
    font-size:0.92rem;color:var(--texte);
    outline:none;transition:all 0.2s;
  }
  .vm-form-group select{
    padding-right:2.6rem;
    appearance:none;-webkit-appearance:none;-moz-appearance:none;
    background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'><path fill='none' stroke='%230D1B2A' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round' d='M1 1.5l5 5 5-5'/></svg>");
    background-repeat:no-repeat;
    background-position:right 1.1rem center;
    cursor:pointer;
    line-height:1.5;
    height:auto;
    min-height:48px;
    vertical-align:middle;
  }
  .vm-form-group input:focus,
  .vm-form-group select:focus,
  .vm-form-group textarea:focus{
    border-color:var(--or);
    box-shadow:0 0 0 4px rgba(201,168,76,0.1);
  }
  .vm-form-group textarea{height:90px;resize:none}
  .vm-form-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem}
  .vm-form-btn{
    width:100%;
    background:var(--navy);color:var(--blanc);
    padding:1.1rem;
    border-radius:12px;
    font-size:0.9rem;font-weight:600;
    border:none;cursor:pointer;
    transition:all 0.35s;
    font-family:'DM Sans',sans-serif;
    margin-top:0.5rem;
    position:relative;overflow:hidden;isolation:isolate;
    box-shadow:0 8px 25px rgba(13,27,42,0.18);
  }
  .vm-form-btn::before{
    content:'';position:absolute;
    top:0;left:-120%;width:80%;height:100%;
    background:linear-gradient(100deg,transparent 0%,rgba(239,203,99,0.45) 50%,transparent 100%);
    transform:skewX(-20deg);
    transition:left 0.7s ease;
    z-index:-1;pointer-events:none;
  }
  .vm-form-btn:hover::before{left:120%}
  .vm-form-btn:hover{
    background:linear-gradient(135deg,var(--or-light) 0%,var(--or) 58%,#DCBE57 100%);
    color:var(--navy);
    transform:translateY(-3px);
    box-shadow:0 18px 50px var(--or-glow);
  }
  .vm-form-note{
    font-size:0.75rem;color:var(--texte-muted);
    text-align:center;margin-top:1rem;
    display:flex;align-items:center;justify-content:center;gap:0.4rem;
  }

  /* ============ VIDEOS (v3 amélioré : stats YouTube) ============ */
  .vm-videos{
    background:var(--creme);
    overflow:hidden;
  }
  .vm-videos-track{
    display:flex;gap:1.5rem;
    padding:0 0 1rem;
    overflow-x:auto;
    scroll-snap-type:x mandatory;
    scrollbar-width:none;
    margin:0 -3rem;padding-left:3rem;padding-right:3rem;
  }
  .vm-videos-track::-webkit-scrollbar{display:none}
  .vm-video{
    flex:0 0 340px;
    scroll-snap-align:start;
    cursor:pointer;
    transition:transform 0.3s;
  }
  .vm-video:hover{transform:translateY(-6px)}
  .vm-video-thumb{
    height:200px;border-radius:16px;
    background:linear-gradient(135deg,var(--navy),var(--navy-soft));
    position:relative;overflow:hidden;
    margin-bottom:1rem;
  }
  .vm-video-thumb-img{
    position:absolute;inset:0;
    width:100%;height:100%;
    object-fit:cover;
    transition:transform 0.5s ease;
  }
  .vm-video:hover .vm-video-thumb-img{transform:scale(1.06)}
  .vm-video-thumb-bg{
    position:absolute;inset:0;
    background-image:
      radial-gradient(circle at 30% 40%,rgba(201,168,76,0.2) 0%,transparent 50%),
      radial-gradient(circle at 70% 70%,rgba(201,168,76,0.1) 0%,transparent 50%);
  }
  .vm-video-play{
    position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);
    width:64px;height:64px;
    background:rgba(248,245,239,0.95);
    backdrop-filter:blur(10px);
    border-radius:50%;
    display:flex;align-items:center;justify-content:center;
    transition:all 0.3s;
    box-shadow:0 10px 30px rgba(0,0,0,0.3);
  }
  .vm-video:hover .vm-video-play{
    background:var(--or-light);
    transform:translate(-50%,-50%) scale(1.12);
    box-shadow:0 14px 40px var(--or-glow);
  }
  .vm-video-play::after{
    content:'';
    border-left:14px solid var(--navy);
    border-top:9px solid transparent;
    border-bottom:9px solid transparent;
    margin-left:4px;
  }
  .vm-video-duration{display:none}
  .vm-video h4{
    font-family:'Cormorant Garamond',serif;
    font-size:1.15rem;font-weight:500;
    color:var(--navy);
    line-height:1.3;margin-bottom:0.4rem;
  }
  .vm-video-stats{display:none}
  .vm-video-date{
    font-size:0.82rem;
    color:var(--texte-muted);
    font-weight:500;
  }
  .vm-videos-cta{text-align:center;margin-top:3rem}

  /* ============ NEWSLETTER ============ */
  .vm-newsletter{
    background:linear-gradient(135deg,var(--navy-deep) 0%,var(--navy) 50%,var(--navy-soft) 100%);
    padding:6rem 3rem;
    position:relative;
    overflow:hidden;
  }
  .vm-newsletter::before,.vm-newsletter::after{display:none}
  .vm-newsletter-inner{
    position:relative;z-index:1;
    max-width:760px;margin:0 auto;
    text-align:center;
  }
  .vm-newsletter .vm-section-tag{
    color:var(--or);
    margin-left:auto;margin-right:auto;
  }
  .vm-newsletter h2{
    font-family:'Cormorant Garamond',serif;
    font-size:clamp(2.7rem,4.8vw,4.3rem);
    font-weight:700;
    color:var(--blanc);
    line-height:1.08;
    letter-spacing:-0.02em;
    margin-bottom:1rem;
    text-shadow:0 2px 30px rgba(239,203,99,0.12);
  }
  .vm-newsletter h2 em{
    font-style:italic;
    background:var(--gradient-or-rich);
    -webkit-background-clip:text;background-clip:text;
    -webkit-text-fill-color:transparent;
    display:inline-block;
    padding-right:0.15em;
  }
  .vm-newsletter-desc{
    color:rgba(255,255,255,0.9);
    font-size:1.18rem;line-height:1.6;
    font-weight:500;
    margin-bottom:2.5rem;
    max-width:600px;
    margin-left:auto;margin-right:auto;
  }
  .vm-newsletter-form{
    display:flex;gap:0.6rem;
    max-width:520px;margin:0 auto;
    background:rgba(255,255,255,0.06);
    border:1px solid rgba(201,168,76,0.25);
    border-radius:100px;
    padding:0.4rem 0.4rem 0.4rem 1.5rem;
    backdrop-filter:blur(10px);
    transition:all 0.3s;
  }
  .vm-newsletter-form:focus-within{
    border-color:var(--or);
    box-shadow:0 0 0 4px rgba(201,168,76,0.12);
    background:rgba(255,255,255,0.09);
  }
  .vm-newsletter-form input{
    flex:1;
    background:transparent;
    border:none;
    color:var(--blanc);
    font-family:'DM Sans',sans-serif;
    font-size:0.95rem;
    outline:none;
    padding:0.5rem 0;
  }
  .vm-newsletter-form input::placeholder{color:rgba(255,255,255,0.4)}
  .vm-newsletter-form button{
    background:linear-gradient(135deg,var(--or-light) 0%,var(--or) 58%,#DCBE57 100%);
    color:var(--navy);
    border:none;
    border-radius:100px;
    padding:0.85rem 1.7rem;
    font-family:'DM Sans',sans-serif;
    font-size:0.88rem;font-weight:600;
    cursor:pointer;
    transition:all 0.35s;
    flex-shrink:0;
    display:inline-flex;align-items:center;gap:0.4rem;
    box-shadow:0 8px 25px var(--or-glow-soft);
    position:relative;overflow:hidden;isolation:isolate;
  }
  .vm-newsletter-form button::before{
    content:'';position:absolute;
    top:0;left:-120%;width:80%;height:100%;
    background:linear-gradient(100deg,transparent 0%,rgba(255,255,255,0.55) 50%,transparent 100%);
    transform:skewX(-20deg);
    transition:left 0.7s ease;
    z-index:-1;pointer-events:none;
  }
  .vm-newsletter-form button:hover::before{left:120%}
  .vm-newsletter-form button:hover{
    transform:translateY(-2px);
    box-shadow:0 18px 45px var(--or-glow);
  }
  .vm-newsletter-perks{
    display:flex;justify-content:center;gap:2rem;
    margin-top:2rem;
    flex-wrap:wrap;
  }
  .vm-newsletter-perk{
    display:inline-flex;align-items:center;gap:0.5rem;
    color:rgba(255,255,255,0.55);
    font-size:0.8rem;
  }
  .vm-newsletter-perk::before{
    content:'✓';
    color:var(--or);
    font-weight:600;
  }
  @media(max-width:600px){
    .vm-newsletter-form{flex-direction:column;border-radius:24px;padding:1rem}
    .vm-newsletter-form input{padding:0.6rem 1rem;text-align:center}
    .vm-newsletter-form button{width:100%;justify-content:center}
  }

  /* ============ FOOTER (v3 enrichi) ============ */
  .vm-footer{
    background:var(--navy-deep);
    color:rgba(255,255,255,0.6);
    padding:5rem 3rem 2rem;
  }
  .vm-footer-inner{
    max-width:1300px;margin:0 auto;
  }
  .vm-footer-grid{
    display:grid;grid-template-columns:1.5fr 1fr 1fr 1fr;
    gap:3rem;
    padding-bottom:3rem;
    border-bottom:1px solid rgba(255,255,255,0.08);
  }
  @media(max-width:900px){.vm-footer-grid{grid-template-columns:1fr 1fr}}
  .vm-footer-brand{
    font-family:'Cormorant Garamond',serif;
    font-size:1.6rem;font-weight:600;
    color:var(--blanc);
    margin-bottom:1rem;
    display:flex;align-items:center;gap:0.5rem;
  }
  .vm-footer-brand::before{
    content:'';width:8px;height:8px;background:var(--or);border-radius:50%;
    box-shadow:0 0 12px rgba(201,168,76,0.6);
  }
  .vm-footer-brand span{color:var(--or)}
  .vm-footer-tagline{
    font-size:0.9rem;line-height:1.7;
    margin-bottom:1.5rem;max-width:300px;
  }
  .vm-footer h5{
    font-size:0.78rem;text-transform:uppercase;
    letter-spacing:0.12em;color:var(--or);
    font-weight:600;margin-bottom:1.2rem;
  }
  .vm-footer ul{list-style:none;margin:0;padding:0}
  .vm-footer li{margin-bottom:0.6rem}
  .vm-footer li a{
    font-size:0.88rem;
    color:rgba(255,255,255,0.6);
    transition:color 0.2s;
  }
  .vm-footer li a:hover{color:var(--or-light)}
  .vm-footer-bottom{
    padding-top:2rem;
    display:flex;justify-content:space-between;align-items:center;
    flex-wrap:wrap;gap:1rem;
    font-size:0.8rem;
  }
  .vm-footer-social{display:flex;gap:0.8rem;margin-top:1rem}
  .vm-footer-social a{
    width:38px;height:38px;
    background:rgba(255,255,255,0.05);
    border:1px solid rgba(255,255,255,0.08);
    border-radius:10px;
    display:flex;align-items:center;justify-content:center;
    transition:all 0.3s;
    color:rgba(255,255,255,0.7);
  }
  .vm-footer-social a:hover{
    background:var(--or-light);
    border-color:var(--or-light);
    color:var(--navy);
    transform:translateY(-2px);
    box-shadow:0 8px 20px var(--or-glow-soft);
  }
  .vm-footer-social svg{width:16px;height:16px}

  /* ============ REVEAL ANIMATIONS ============ */
  .reveal{
    opacity:0;
    transform:translateY(30px);
    transition:opacity 0.8s ease,transform 0.8s ease;
  }
  .reveal.visible{
    opacity:1;
    transform:translateY(0);
  }
  .reveal-delay-1{transition-delay:0.1s}
  .reveal-delay-2{transition-delay:0.2s}
  .reveal-delay-3{transition-delay:0.3s}

  /* ============ RESPONSIVE ============ */
  @media(max-width:768px){
    .vm-header{padding:1rem 1.5rem}
    .vm-header.scrolled{padding:0.7rem 1.5rem}
    .vm-nav{display:none}
    .vm-burger{display:flex}
    .vm-hero{padding:5rem 1.5rem 3rem}
    /* SCROLL indicator caché en mobile : libère de l'espace + scroll naturel au doigt */
    .vm-scroll-indicator{display:none}
    /* "neuf" en mot-clé majuscule sur mobile (quand isolé sur sa ligne) */
    .vm-hero h1 .vm-hero-h1-end{
      text-transform:uppercase;
      letter-spacing:0.03em;
      font-style:italic;
    }
    /* Dégradé gold plus clair + glow sur mobile (sans le stop sombre #A88A35 qui aplatit) */
    .vm-hero h1 em{
      background:linear-gradient(110deg,#F4D275 0%,#EFCB63 35%,#E0BE58 70%,#F4D275 100%);
      -webkit-background-clip:text;background-clip:text;
      -webkit-text-fill-color:transparent;
      filter:drop-shadow(0 1px 10px rgba(239,203,99,0.45));
    }
    .vm-section{padding:5rem 1.5rem}
    .vm-stats{padding:3rem 1.5rem}
    .vm-footer{padding:4rem 1.5rem 2rem}
    .vm-form-card{position:static;padding:2rem}
    .vm-videos-track,.vm-temoignages-track{margin:0 -1.5rem;padding-left:1.5rem;padding-right:1.5rem}
  }
  /* Drawer mobile retiré du rendu desktop (burger déjà masqué hors mobile) */
  @media(min-width:769px){
    .vm-drawer,.vm-drawer-overlay{display:none}
  }

  /* CTA "Besoin d'aller plus loin que les chiffres ?" (bloc .vm-sim) :
     le h3 héritait de la couleur de titre sombre d'Astra et devenait invisible
     sur le fond navy. On force le blanc brillant. */
  .vm-sim .cta h3{
    color:#FFFFFF;
    text-shadow:0 2px 22px rgba(239,203,99,0.22);
  }

  /* ============ OUTILS & SIMULATEURS (section home) ============ */
  .vm-outils{background:var(--blanc)}
  .vm-outils-grid{
    display:grid;
    grid-template-columns:repeat(auto-fit,minmax(290px,1fr));
    gap:1.8rem;
  }
  .vm-outil-tile{
    display:flex;flex-direction:column;
    padding:2.2rem 2rem;
    border-radius:22px;
    background:linear-gradient(165deg,var(--navy) 0%,var(--navy-deep) 100%);
    position:relative;overflow:hidden;
    border:1px solid rgba(201,168,76,0.14);
    transition:transform 0.4s ease, box-shadow 0.4s ease;
  }
  .vm-outil-tile::before{
    content:'';position:absolute;inset:0;pointer-events:none;
    background:radial-gradient(circle at 85% 0%,rgba(201,168,76,0.16) 0%,transparent 50%);
    opacity:0.7;transition:opacity 0.4s;
  }
  .vm-outil-tile:hover{transform:translateY(-6px);box-shadow:0 22px 55px rgba(13,27,42,0.28)}
  .vm-outil-tile:hover::before{opacity:1}
  .vm-outil-tile>*{position:relative;z-index:1}
  /* Tuile mise en avant : simulateur de financement VEFA */
  .vm-outil-tile--feat{background:linear-gradient(160deg,#EFCB63 0%,#C9A84C 55%,#A88A35 100%);border-color:rgba(201,168,76,0.7);box-shadow:0 18px 50px rgba(201,168,76,0.28)}
  .vm-outil-tile--feat::before{background:radial-gradient(circle at 85% 0%,rgba(255,255,255,0.3) 0%,transparent 55%)}
  .vm-outil-tile--feat:hover{box-shadow:0 26px 60px rgba(201,168,76,0.4)}
  .vm-outil-tile--feat .vm-outil-tile-icon{background:rgba(13,27,42,0.12);border-color:rgba(13,27,42,0.25);color:var(--navy)}
  .vm-outil-tile--feat h3{color:var(--navy)}
  .vm-outil-tile--feat p{color:rgba(13,27,42,0.72)}
  .vm-outil-tile--feat .vm-outil-tile-arrow{color:var(--navy)}
  .vm-outil-feat-badge{display:inline-block;align-self:flex-start;background:var(--navy);color:var(--or-light);font-size:0.64rem;font-weight:700;letter-spacing:0.12em;text-transform:uppercase;padding:0.32rem 0.7rem;border-radius:100px;margin-bottom:1rem}
  .vm-outil-tile-icon{
    width:56px;height:56px;border-radius:15px;
    display:flex;align-items:center;justify-content:center;
    background:rgba(201,168,76,0.12);
    border:1px solid rgba(201,168,76,0.3);
    margin-bottom:1.4rem;color:var(--or-light);
  }
  .vm-outil-tile-icon svg{width:28px;height:28px}
  .vm-outil-tile h3{
    font-family:'Cormorant Garamond',serif;
    font-size:1.55rem;font-weight:600;color:var(--blanc);
    line-height:1.15;margin-bottom:0.6rem;letter-spacing:0.01em;
  }
  .vm-outil-tile p{
    font-size:0.95rem;line-height:1.55;
    color:rgba(255,255,255,0.7);
    margin-bottom:1.6rem;flex:1;
  }
  .vm-outil-tile-arrow{
    display:inline-flex;align-items:center;gap:0.45rem;
    font-size:0.9rem;font-weight:600;color:var(--or-light);
    transition:gap 0.3s;
  }
  .vm-outil-tile:hover .vm-outil-tile-arrow{gap:0.85rem}

  /* ============================================================
     STYLES BLOG / ARTICLES (au-delà de la maquette V3 home)
     ============================================================ */

  /* Image réelle dans une card article (au lieu de l'icône) */
  .vm-article-img-photo,
  .vm-article-img img{
    position:absolute;inset:0;width:100%;height:100%;
    object-fit:cover;
    transition:transform 0.6s ease;
  }
  .vm-article:hover .vm-article-img-photo,
  .vm-article:hover .vm-article-img img{transform:scale(1.05)}

  /* Liens autour des cards : on annule le style par défaut */
  .vm-article a{
    color:inherit;text-decoration:none;
    display:block;
  }

  /* ============ HERO D'ARTICLE ============ */
  .vm-article-hero{
    background:linear-gradient(180deg,var(--navy-deep) 0%,var(--navy) 60%,var(--navy-soft) 100%);
    padding:9rem 3rem 5rem;
    position:relative;
    overflow:hidden;
  }
  .vm-article-hero-inner{
    position:relative;z-index:2;
    max-width:880px;margin:0 auto;
    text-align:center;
  }
  .vm-article-hero-cat{
    display:inline-block;
    color:var(--or);
    font-size:0.78rem;font-weight:600;
    letter-spacing:0.16em;text-transform:uppercase;
    padding:0.5rem 1.1rem;
    border:1px solid rgba(201,168,76,0.35);
    border-radius:100px;
    margin-bottom:2rem;
    transition:all 0.3s;
  }
  .vm-article-hero-cat:hover{background:rgba(201,168,76,0.1)}
  .vm-article-hero h1{
    font-family:'Cormorant Garamond',serif;
    font-size:clamp(2.6rem,5.2vw,4.8rem);
    font-weight:700;
    color:var(--blanc);
    line-height:1.08;
    letter-spacing:-0.02em;
    margin-bottom:1.6rem;
    text-shadow:0 2px 30px rgba(239,203,99,0.12);
  }
  .vm-article-hero h1 em{
    font-style:italic;
    background:var(--gradient-or-rich);
    -webkit-background-clip:text;background-clip:text;
    -webkit-text-fill-color:transparent;
    display:inline-block;padding-right:0.15em;
  }
  .vm-article-hero-meta{
    display:flex;justify-content:center;align-items:center;gap:0.8rem;
    flex-wrap:wrap;
    color:rgba(255,255,255,0.55);
    font-size:0.88rem;
  }
  .vm-meta-sep{color:rgba(255,255,255,0.25)}

  /* Image de couverture après le hero */
  .vm-article-cover{
    max-width:1100px;margin:-3rem auto 0;
    position:relative;z-index:3;
    padding:0 3rem;
  }
  .vm-article-cover img{
    width:100%;height:auto;
    border-radius:24px;
    box-shadow:0 30px 80px rgba(13,27,42,0.25);
  }

  /* ============ CORPS D'ARTICLE (Gutenberg) ============ */
  .vm-article-single{
    background:var(--blanc);
    padding:5rem 3rem 6rem;
  }
  .vm-article-content{
    max-width:760px;margin:0 auto;
    font-family:'DM Sans',sans-serif;
    font-size:1.075rem;line-height:1.75;
    color:var(--texte);
    font-weight:400;
  }
  .vm-article-content > *{margin-bottom:1.5rem}
  .vm-article-content > *:last-child{margin-bottom:0}
  .vm-article-content p{margin-bottom:1.5rem}
  .vm-article-content h2{
    font-family:'Cormorant Garamond',serif;
    font-size:clamp(1.7rem,2.8vw,2.3rem);
    font-weight:600;
    color:var(--navy);
    line-height:1.2;
    margin-top:3rem;margin-bottom:1.2rem;
    letter-spacing:-0.01em;
  }
  .vm-article-content h3{
    font-family:'Cormorant Garamond',serif;
    font-size:clamp(1.35rem,2.2vw,1.75rem);
    font-weight:600;
    color:var(--navy);
    line-height:1.25;
    margin-top:2.2rem;margin-bottom:1rem;
  }
  .vm-article-content h4{
    font-family:'DM Sans',sans-serif;
    font-size:1.05rem;font-weight:600;
    color:var(--navy);
    margin-top:1.8rem;margin-bottom:0.8rem;
  }
  .vm-article-content a{
    color:var(--navy);
    background-image:linear-gradient(transparent 60%,rgba(201,168,76,0.35) 60%);
    background-size:100% 100%;
    text-decoration:none;
    transition:background-image 0.2s;
  }
  .vm-article-content a:hover{
    background-image:linear-gradient(transparent 0%,rgba(201,168,76,0.55) 0%);
  }
  .vm-article-content strong{color:var(--navy);font-weight:600}
  .vm-article-content ul,
  .vm-article-content ol{padding-left:1.4rem;margin-bottom:1.5rem}
  .vm-article-content li{margin-bottom:0.5rem}
  .vm-article-content li::marker{color:var(--or)}
  .vm-article-content blockquote{
    border-left:3px solid var(--or);
    padding:0.4rem 0 0.4rem 1.6rem;
    margin:2rem 0;
    font-family:'Cormorant Garamond',serif;
    font-style:italic;
    font-size:1.3rem;
    color:var(--navy);
    line-height:1.5;
  }
  .vm-article-content img,
  .vm-article-content .wp-block-image{
    max-width:100%;height:auto;
    border-radius:14px;
    margin:2rem auto;
    display:block;
  }
  .vm-article-content figcaption{
    font-size:0.82rem;color:var(--texte-muted);
    text-align:center;margin-top:0.6rem;
    font-style:italic;
  }
  .vm-article-content code{
    background:var(--creme-warm);
    padding:0.15rem 0.4rem;border-radius:5px;
    font-size:0.92em;
    color:var(--navy);
  }
  .vm-article-content pre{
    background:var(--navy-deep);
    color:rgba(255,255,255,0.9);
    padding:1.4rem;border-radius:14px;
    overflow-x:auto;
    font-size:0.88rem;line-height:1.6;
  }
  .vm-article-content pre code{
    background:transparent;color:inherit;padding:0;
  }
  .vm-article-content hr{
    border:none;height:1px;
    background:rgba(13,27,42,0.1);
    margin:3rem 0;
  }
  /* Wrapper responsive (scroll horizontal sur mobile si tableau large) */
  .vm-article-content .wp-block-table,
  .vm-article-content figure.wp-block-table{
    overflow-x:auto;
    -webkit-overflow-scrolling:touch;
    margin:1.5rem 0;
    border-radius:12px;
    border:1px solid rgba(13,27,42,0.1);
    box-shadow:0 4px 20px rgba(13,27,42,0.04);
  }
  .vm-article-content .wp-block-table table,
  .vm-article-content figure.wp-block-table table{
    margin:0;
    border:none;
    border-radius:0;
  }
  .vm-article-content table{
    width:100%;border-collapse:collapse;
    margin:1.5rem 0;
    font-size:0.95rem;
    border:1px solid rgba(13,27,42,0.1);
    border-radius:12px;
    overflow:hidden;
  }
  .vm-article-content th,
  .vm-article-content td{
    padding:0.85rem 1.1rem;
    border:1px solid rgba(13,27,42,0.08);
    text-align:left;
    vertical-align:top;
    line-height:1.5;
    font-variant-numeric:tabular-nums;
  }
  .vm-article-content th{
    color:var(--navy);
    font-weight:600;
    background:var(--creme);
    text-transform:none;
    letter-spacing:0;
    border-bottom:2px solid var(--or);
    white-space:nowrap;
  }
  /* Zebra striping pour lisibilité des lignes de chiffres */
  .vm-article-content tbody tr:nth-child(even){
    background:rgba(13,27,42,0.025);
  }
  .vm-article-content tbody tr:hover{
    background:rgba(201,168,76,0.06);
  }
  /* Cellules numériques : alignement à droite si data-numeric ou si contient % / € */
  .vm-article-content td.has-text-align-right,
  .vm-article-content th.has-text-align-right{
    text-align:right;
  }
  .vm-article-content td.has-text-align-center,
  .vm-article-content th.has-text-align-center{
    text-align:center;
  }
  .vm-article-content table caption{
    caption-side:bottom;
    padding:0.75rem;
    font-size:0.85rem;
    color:var(--texte-muted);
    font-style:italic;
    text-align:left;
  }

  /* Tags en bas d'article */
  .vm-article-tags{
    max-width:760px;margin:3rem auto 0;
    padding-top:2rem;
    border-top:1px solid rgba(13,27,42,0.08);
    font-size:0.88rem;
    color:var(--texte-muted);
  }
  .vm-article-tags-label{
    color:var(--navy);font-weight:600;margin-right:0.6rem;
  }
  .vm-article-tags a{
    color:var(--or);text-decoration:none;
    margin-right:0.4rem;
  }
  .vm-article-tags a:hover{text-decoration:underline}

  /* Section "À lire aussi" */
  .vm-related{background:var(--creme)}

  /* ============ HERO ARCHIVE / BLOG ============ */
  .vm-archive-hero,.vm-page-hero{
    background:linear-gradient(180deg,var(--navy-deep) 0%,var(--navy) 60%,var(--navy-soft) 100%);
    padding:9rem 3rem 5rem;
    position:relative;
    overflow:hidden;
  }
  .vm-archive-hero-inner{
    position:relative;z-index:2;
    max-width:880px;margin:0 auto;
    text-align:center;
  }
  .vm-archive-hero h1,.vm-page-hero h1{
    font-family:'Cormorant Garamond',serif;
    font-size:clamp(2.8rem,5.5vw,5rem);
    font-weight:700;
    color:var(--blanc);
    line-height:1.05;
    letter-spacing:-0.022em;
    margin-bottom:1.4rem;
    text-shadow:0 2px 30px rgba(239,203,99,0.12);
    text-align:center;
  }
  .vm-archive-hero h1 em,.vm-page-hero h1 em{
    font-style:italic;
    background:var(--gradient-or-rich);
    -webkit-background-clip:text;background-clip:text;
    -webkit-text-fill-color:transparent;
    display:inline-block;padding-right:0.15em;
  }
  .vm-archive-desc,.vm-page-desc{
    color:rgba(255,255,255,0.88);
    font-size:1.18rem;line-height:1.65;font-weight:500;
    font-weight:300;
    max-width:600px;margin:0 auto;
  }

  /* Filtres catégories sur la page Blog */
  .vm-blog-cats{
    display:flex;justify-content:center;gap:0.6rem;
    margin-top:2.5rem;flex-wrap:wrap;
  }
  .vm-blog-cat{
    display:inline-block;
    padding:0.55rem 1.1rem;
    background:rgba(255,255,255,0.05);
    border:1px solid rgba(201,168,76,0.2);
    border-radius:100px;
    color:rgba(255,255,255,0.75);
    font-size:0.82rem;font-weight:500;
    transition:all 0.25s;
  }
  .vm-blog-cat:hover,
  .vm-blog-cat.is-active{
    background:rgba(201,168,76,0.15);
    border-color:var(--or);
    color:var(--or);
  }

  /* ============ GRILLE 3 COLONNES (archive / blog / related) ============ */
  .vm-articles-row{
    display:grid;grid-template-columns:repeat(3,1fr);
    gap:2rem;
  }
  @media(max-width:900px){.vm-articles-row{grid-template-columns:1fr 1fr}}
  @media(max-width:600px){.vm-articles-row{grid-template-columns:1fr}}

  /* ============ PAGINATION ============ */
  .vm-pagination{
    margin-top:4rem;
    display:flex;justify-content:center;
  }
  .vm-pagination .nav-links,
  .vm-pagination > *{
    display:inline-flex;align-items:center;gap:0.4rem;flex-wrap:wrap;
  }
  .vm-pagination a,
  .vm-pagination span{
    padding:0.7rem 1.1rem;
    border-radius:100px;
    font-size:0.88rem;font-weight:500;
    color:var(--navy);
    background:var(--blanc);
    border:1px solid rgba(13,27,42,0.1);
    transition:all 0.25s;
    text-decoration:none;
  }
  .vm-pagination a:hover{
    background:var(--or);color:var(--navy);border-color:var(--or);
  }
  .vm-pagination .current,
  .vm-pagination span.current{
    background:var(--navy);color:var(--blanc);border-color:var(--navy);
  }

  /* ============ AJUSTEMENT HEADER SUR SOUS-PAGES ============ */
  /* Sur les sous-pages, le header arrive directement en mode "scrolled".
     Sur la home, le JS gère le toggle via la classe vm-header-transparent. */
  .vm-header.scrolled{
    background:rgba(13,27,42,0.92);
  }

  /* Pages WP standards (page.php) : padding pour ne pas être caché par le header fixed */
  body:not(.home) main,
  body.page main{
    padding-top:0;
  }

  /* Hero pages standards (page.php) - plus sobre que les articles */
  .vm-page-hero{
    background:linear-gradient(180deg,var(--navy-deep) 0%,var(--navy) 100%);
    padding:8rem 3rem 4rem;
    text-align:center;
  }
  .vm-page-hero h1{
    font-family:'Cormorant Garamond',serif;
    font-size:clamp(2rem,4vw,3.4rem);
    font-weight:500;
    color:var(--blanc);
    line-height:1.1;
    letter-spacing:-0.015em;
    margin:0;
    max-width:880px;margin:0 auto;
  }

  /* ============ FEEDBACK FORMULAIRES ============ */
  .vm-form-feedback{
    display:block;
    padding:1rem 1.4rem;
    border-radius:14px;
    font-size:0.92rem;
    margin-bottom:1.4rem;
    line-height:1.5;
  }
  .vm-form-feedback-success{
    background:rgba(46,125,50,0.1);
    border:1px solid rgba(46,125,50,0.35);
    color:#1b5e20;
  }
  .vm-form-feedback-error{
    background:rgba(198,40,40,0.08);
    border:1px solid rgba(198,40,40,0.3);
    color:#9c1414;
  }
  /* Variante sur fond foncé (newsletter section) */
  .vm-newsletter .vm-form-feedback{
    max-width:520px;margin-left:auto;margin-right:auto;
    margin-bottom:1.5rem;
  }
  .vm-newsletter .vm-form-feedback-success{
    background:rgba(201,168,76,0.12);
    border-color:rgba(201,168,76,0.4);
    color:var(--or-light);
  }
  .vm-newsletter .vm-form-feedback-error{
    background:rgba(255,255,255,0.05);
    border-color:rgba(255,150,150,0.3);
    color:#ffb3b3;
  }
